From b3c17236389c2fc529aad75adc09be8e661e3400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tha=C3=AFs?= Date: Tue, 21 Nov 2023 00:14:58 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20hide=20Select=20field=20type=20+=20displ?= =?UTF-8?q?ay=20Relation=20field=20type=20only=20for=20ed=E2=80=A6=20(#260?= =?UTF-8?q?3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix: hide Select field type + display Relation field type only for edition Fixes #2585 --- .../SettingsObjectFieldTypeSelectSection.tsx | 20 ++++++++++--------- .../SettingsObjectNewFieldStep2.tsx | 4 ++++ 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/front/src/modules/settings/data-model/components/SettingsObjectFieldTypeSelectSection.tsx b/front/src/modules/settings/data-model/components/SettingsObjectFieldTypeSelectSection.tsx index 3a53e368d..061f83116 100644 --- a/front/src/modules/settings/data-model/components/SettingsObjectFieldTypeSelectSection.tsx +++ b/front/src/modules/settings/data-model/components/SettingsObjectFieldTypeSelectSection.tsx @@ -24,9 +24,10 @@ export type SettingsObjectFieldTypeSelectSectionFormValues = Partial<{ }>; type SettingsObjectFieldTypeSelectSectionProps = { + excludedFieldTypes?: FieldMetadataType[]; fieldMetadata: Pick & { id?: string }; - relationFieldMetadataId?: string; onChange: (values: SettingsObjectFieldTypeSelectSectionFormValues) => void; + relationFieldMetadataId?: string; values?: SettingsObjectFieldTypeSelectSectionFormValues; } & Pick; @@ -45,17 +46,21 @@ const StyledRelationImage = styled.img<{ flip?: boolean }>` `; export const SettingsObjectFieldTypeSelectSection = ({ + excludedFieldTypes, fieldMetadata, - relationFieldMetadataId, objectMetadataId, onChange, + relationFieldMetadataId, values, }: SettingsObjectFieldTypeSelectSectionProps) => { const relationFormConfig = values?.relation; - const allowedFieldTypes = Object.entries(dataTypes).filter( - ([key]) => key !== FieldMetadataType.Relation, - ); + const fieldTypeOptions = Object.entries(dataTypes) + .filter(([key]) => !excludedFieldTypes?.includes(key as FieldMetadataType)) + .map(([key, dataType]) => ({ + value: key as FieldMetadataType, + ...dataType, + })); return (
@@ -68,10 +73,7 @@ export const SettingsObjectFieldTypeSelectSection = ({ dropdownScopeId="object-field-type-select" value={values?.type} onChange={(value) => onChange({ type: value })} - options={allowedFieldTypes.map(([key, dataType]) => ({ - value: key as FieldMetadataType, - ...dataType, - }))} + options={fieldTypeOptions} /> {!!values?.type && [ diff --git a/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx b/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx index 7d566bff6..75eb1bdf8 100644 --- a/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx +++ b/front/src/pages/settings/data-model/SettingsObjectNewField/SettingsObjectNewFieldStep2.tsx @@ -203,6 +203,10 @@ export const SettingsObjectNewFieldStep2 = () => { onChange={handleFormChange} />