feat: add defaultFilter property to table view

This commit is contained in:
chenos 2021-02-03 16:53:31 +08:00
parent 365513909a
commit 511ba90d99
3 changed files with 8 additions and 2 deletions

View File

@ -28,7 +28,7 @@ function transform({value, multiple, labelField, valueField = 'id'}) {
}
function DrawerSelectComponent(props) {
const { disabled, target, multiple, associatedName, labelField, valueField = 'id', value, onChange } = props;
const { disabled, target, multiple, filter, associatedName, labelField, valueField = 'id', value, onChange } = props;
const [selectedKeys, selectedValue] = transform({value, multiple, labelField, valueField });
const [visible, setVisible] = useState(false);
const [selectedRowKeys, setSelectedRowKeys] = useState(multiple ? selectedKeys : [selectedKeys]);
@ -96,6 +96,7 @@ function DrawerSelectComponent(props) {
]}
>
<ViewFactory
defaultFilter={filter}
multiple={multiple}
resourceName={target}
isFieldComponent={true}

View File

@ -30,6 +30,7 @@ export function Table(props: TableProps) {
onSelected,
multiple = true,
selectedRowKeys: srk,
defaultFilter = {},
} = props;
const {
name: viewName,
@ -47,7 +48,7 @@ export function Table(props: TableProps) {
// const { data, mutate } = useRequest(() => api.resource(name).list({
// associatedKey,
// }));
const { filter: defaultFilter = {} } = actionDefaultParams;
const { filter: defaultActionFilter = {} } = actionDefaultParams;
const [filterCount, setFilterCount] = useState(0);
const name = associatedName ? `${associatedName}.${resourceName}` : resourceName;
@ -65,6 +66,7 @@ export function Table(props: TableProps) {
filter: {
and: [
defaultFilter,
defaultActionFilter,
filter,
].filter(obj => obj && Object.keys(obj).length)
}

View File

@ -25,6 +25,9 @@ const transforms = {
const mode = get(ctx.action.params, ['values', 'mode'], ctx.action.params.mode);
const schema = {};
for (const field of fields) {
if (field.get('component.type') === 'hidden') {
continue;
}
if (!field.get('component.showInForm')) {
continue;
}