From 478328129dbc5b9e3b7fec41314ee71f2d23653c Mon Sep 17 00:00:00 2001 From: Guillim Date: Thu, 16 Oct 2025 11:42:47 +0200 Subject: [PATCH] Morph-settings-relation-form-merge-follow-up (#15122) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🎯 Merge Settings Relation and Morph Relation Forms followup https://github.com/twentyhq/twenty/pull/15062 Here we fixed some little comments that could have be done earlier in the main PR --- .../SettingsDataModelFieldRelationForm.tsx | 2 +- ...seFieldMetadataItemDisableFieldEdition.ts} | 0 .../SettingsObjectFieldItemTableRow.tsx | 21 ++++++++++++------- 3 files changed, 15 insertions(+), 8 deletions(-) rename packages/twenty-front/src/modules/settings/data-model/fields/forms/morph-relation/{utils/fieldMetadataItemDisableFieldEdition.ts => hooks/useFieldMetadataItemDisableFieldEdition.ts} (100%) diff --git a/packages/twenty-front/src/modules/settings/data-model/fields/forms/morph-relation/components/SettingsDataModelFieldRelationForm.tsx b/packages/twenty-front/src/modules/settings/data-model/fields/forms/morph-relation/components/SettingsDataModelFieldRelationForm.tsx index aaec2c6e65..021f1c4517 100644 --- a/packages/twenty-front/src/modules/settings/data-model/fields/forms/morph-relation/components/SettingsDataModelFieldRelationForm.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/fields/forms/morph-relation/components/SettingsDataModelFieldRelationForm.tsx @@ -5,9 +5,9 @@ import { StyledContainer } from '@/keyboard-shortcut-menu/components/KeyboardSho import { SettingsMorphRelationMultiSelect } from '@/settings/components/SettingsMorphRelationMultiSelect'; import { FIELD_NAME_MAXIMUM_LENGTH } from '@/settings/data-model/constants/FieldNameMaximumLength'; import { RELATION_TYPES } from '@/settings/data-model/constants/RelationTypes'; +import { useFieldMetadataItemDisableFieldEdition } from '@/settings/data-model/fields/forms/morph-relation/hooks/useFieldMetadataItemDisableFieldEdition'; import { useRelationSettingsFormDefaultValuesTargetFieldMetadata } from '@/settings/data-model/fields/forms/morph-relation/hooks/useRelationSettingsFormDefaultValuesTargetFieldMetadata'; import { useRelationSettingsFormInitialTargetObjectMetadatas } from '@/settings/data-model/fields/forms/morph-relation/hooks/useRelationSettingsFormInitialTargetObjectMetadatas'; -import { useFieldMetadataItemDisableFieldEdition } from '@/settings/data-model/fields/forms/morph-relation/utils/fieldMetadataItemDisableFieldEdition'; import { useFieldMetadataItemById } from '@/object-metadata/hooks/useFieldMetadataItemById'; diff --git a/packages/twenty-front/src/modules/settings/data-model/fields/forms/morph-relation/utils/fieldMetadataItemDisableFieldEdition.ts b/packages/twenty-front/src/modules/settings/data-model/fields/forms/morph-relation/hooks/useFieldMetadataItemDisableFieldEdition.ts similarity index 100% rename from packages/twenty-front/src/modules/settings/data-model/fields/forms/morph-relation/utils/fieldMetadataItemDisableFieldEdition.ts rename to packages/twenty-front/src/modules/settings/data-model/fields/forms/morph-relation/hooks/useFieldMetadataItemDisableFieldEdition.ts diff --git a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx index dc45bde82b..a5c971bcc7 100644 --- a/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx +++ b/packages/twenty-front/src/modules/settings/data-model/object-details/components/SettingsObjectFieldItemTableRow.tsx @@ -15,7 +15,7 @@ import { useTheme } from '@emotion/react'; import styled from '@emotion/styled'; import { useMemo } from 'react'; import { useRecoilState } from 'recoil'; -import { SettingsPath } from 'twenty-shared/types'; +import { FieldMetadataType, SettingsPath } from 'twenty-shared/types'; import { getSettingsPath, isDefined, @@ -28,9 +28,9 @@ import { RelationType } from '~/generated-metadata/graphql'; import { useNavigateSettings } from '~/hooks/useNavigateSettings'; import { type SettingsObjectDetailTableItem } from '~/pages/settings/data-model/types/SettingsObjectDetailTableItem'; +import { isObjectMetadataReadOnly } from '@/object-record/read-only/utils/isObjectMetadataReadOnly'; import { RELATION_TYPES } from '../../constants/RelationTypes'; import { SettingsObjectFieldDataType } from './SettingsObjectFieldDataType'; -import { isObjectMetadataReadOnly } from '@/object-record/read-only/utils/isObjectMetadataReadOnly'; type SettingsObjectFieldItemTableRowProps = { settingsObjectDetailTableItem: SettingsObjectDetailTableItem; @@ -208,6 +208,17 @@ export const SettingsObjectFieldItemTableRow = ({ isDefined(relationObjectMetadataItem?.namePlural) && !relationObjectMetadataItem.isSystem; + const morphRelationLabel = + fieldMetadataItem.type === FieldMetadataType.MORPH_RELATION + ? `${fieldMetadataItem.morphRelations?.length} Objects` + : undefined; + + const label = morphRelationLabel + ? morphRelationLabel + : relationType === RelationType.MANY_TO_ONE + ? relationObjectMetadataItem?.labelSingular + : relationObjectMetadataItem?.labelPlural; + return (