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)) {