From caffcc4b9b4256aaabbecb0facb079f139d85275 Mon Sep 17 00:00:00 2001 From: Katherine Date: Fri, 17 May 2024 14:28:09 +0800 Subject: [PATCH] refactor: tree collection support presetFieldsDisabledIncludes (#4371) * refactor: tree collection presetFieldsDisabled * refactor: tree collection support presetFieldsDisabledIncludes --- .../collection-manager/Configuration/AddCollectionAction.tsx | 1 + .../collection-manager/templates/components/PresetFields.tsx | 2 +- .../client/src/collection-manager/templates/properties/index.ts | 1 + packages/core/client/src/collection-manager/templates/tree.tsx | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/core/client/src/collection-manager/Configuration/AddCollectionAction.tsx b/packages/core/client/src/collection-manager/Configuration/AddCollectionAction.tsx index 9f0fb3008c..20194cdd24 100644 --- a/packages/core/client/src/collection-manager/Configuration/AddCollectionAction.tsx +++ b/packages/core/client/src/collection-manager/Configuration/AddCollectionAction.tsx @@ -211,6 +211,7 @@ export const AddCollectionAction = (props) => { record, showReverseFieldConfig: true, presetFieldsDisabled: currentTemplate?.presetFieldsDisabled, + presetFieldsDisabledIncludes: currentTemplate?.presetFieldsDisabledIncludes, ...scope, }} /> diff --git a/packages/core/client/src/collection-manager/templates/components/PresetFields.tsx b/packages/core/client/src/collection-manager/templates/components/PresetFields.tsx index b962f5d2f7..b54e45556f 100644 --- a/packages/core/client/src/collection-manager/templates/components/PresetFields.tsx +++ b/packages/core/client/src/collection-manager/templates/components/PresetFields.tsx @@ -204,7 +204,7 @@ export const PresetFields = observer( selectedRowKeys, getCheckboxProps: (record) => ({ name: record.name, - disabled: props?.disabled, + disabled: props?.disabled || props?.presetFieldsDisabledIncludes?.includes?.(record.name), }), onChange: (_, selectedRows) => { const fields = getDefaultCollectionFields(selectedRows, form.values); diff --git a/packages/core/client/src/collection-manager/templates/properties/index.ts b/packages/core/client/src/collection-manager/templates/properties/index.ts index b323f15a55..4902326c05 100644 --- a/packages/core/client/src/collection-manager/templates/properties/index.ts +++ b/packages/core/client/src/collection-manager/templates/properties/index.ts @@ -75,6 +75,7 @@ export const defaultConfigurableProperties = { 'x-component': PresetFields, 'x-component-props': { disabled: '{{ presetFieldsDisabled }}', + presetFieldsDisabledIncludes: '{{presetFieldsDisabledIncludes}}', }, }, }; diff --git a/packages/core/client/src/collection-manager/templates/tree.tsx b/packages/core/client/src/collection-manager/templates/tree.tsx index 4332814906..2d8cbad5b1 100644 --- a/packages/core/client/src/collection-manager/templates/tree.tsx +++ b/packages/core/client/src/collection-manager/templates/tree.tsx @@ -72,6 +72,7 @@ export class TreeCollectionTemplate extends CollectionTemplate { }, ], }; + presetFieldsDisabledIncludes = ['id']; events = { beforeSubmit(values) { if (Array.isArray(values?.fields)) {