From 54cf857a1ab504593a2f1cd6b977003bd2b1ebb7 Mon Sep 17 00:00:00 2001 From: Marie <51697796+ijreilly@users.noreply.github.com> Date: Mon, 2 Feb 2026 11:51:11 +0100 Subject: [PATCH] =?UTF-8?q?Revert=20"fix:=20prevent=20default=20object=20r?= =?UTF-8?q?e-selection=20in=20relation=20field=20fo=E2=80=A6=20(#17619)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I suggest to revert [this PR](https://github.com/twentyhq/twenty/pull/17313) as it had already been fixed [in this PR](https://github.com/twentyhq/twenty/pull/17209/changes) (which fixes more than it says in its title). Issue was tracked by [this ticket](https://github.com/twentyhq/core-team-issues/issues/2049) not very explicit - sorry, my fault. Code added in the PR does not add value --- .../SettingsMorphRelationMultiSelect.tsx | 4 +--- .../SettingsDataModelFieldRelationForm.tsx | 13 ++++------- .../input/components/MultiSelectControl.tsx | 23 ++++++------------- 3 files changed, 12 insertions(+), 28 deletions(-) diff --git a/packages/twenty-front/src/modules/settings/components/SettingsMorphRelationMultiSelect.tsx b/packages/twenty-front/src/modules/settings/components/SettingsMorphRelationMultiSelect.tsx index 9c274fa069..ceb89c27a8 100644 --- a/packages/twenty-front/src/modules/settings/components/SettingsMorphRelationMultiSelect.tsx +++ b/packages/twenty-front/src/modules/settings/components/SettingsMorphRelationMultiSelect.tsx @@ -1,5 +1,5 @@ import styled from '@emotion/styled'; -import { plural, t } from '@lingui/core/macro'; +import { plural } from '@lingui/core/macro'; import { useMemo, useRef, useState, type MouseEvent } from 'react'; import { Dropdown } from '@/ui/layout/dropdown/components/Dropdown'; @@ -191,7 +191,6 @@ export const SettingsMorphRelationMultiSelect = ({ isDisabled={isDisabled} selectSizeVariant={selectSizeVariant} hasRightElement={hasRightElement} - placeholderText={t`Select objects...`} /> ) : ( } dropdownComponents={ 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 2110f45ff7..2637b36181 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 @@ -17,7 +17,6 @@ import { SettingsTextInput } from '@/ui/input/components/SettingsTextInput'; import { useIsMobile } from '@/ui/utilities/responsive/hooks/useIsMobile'; import styled from '@emotion/styled'; import { useLingui } from '@lingui/react/macro'; -import { useMemo } from 'react'; import { isDefined } from 'twenty-shared/utils'; import { RelationType } from '~/generated-metadata/graphql'; @@ -115,14 +114,10 @@ export const SettingsDataModelFieldRelationForm = ({ relationType: initialRelationType, }); - const initialMorphRelationsObjectMetadataIds = useMemo( - () => - initialRelationObjectMetadataItems.map( - (relationObjectMetadataItem) => relationObjectMetadataItem.id, - ), - [initialRelationObjectMetadataItems], - ); - + const initialMorphRelationsObjectMetadataIds = + initialRelationObjectMetadataItems.map( + (relationObjectMetadataItem) => relationObjectMetadataItem.id, + ); const isMobile = useIsMobile(); return ( diff --git a/packages/twenty-front/src/modules/ui/input/components/MultiSelectControl.tsx b/packages/twenty-front/src/modules/ui/input/components/MultiSelectControl.tsx index af59e7df7c..4c75faa35e 100644 --- a/packages/twenty-front/src/modules/ui/input/components/MultiSelectControl.tsx +++ b/packages/twenty-front/src/modules/ui/input/components/MultiSelectControl.tsx @@ -20,7 +20,6 @@ type MultiSelectControlProps = Omit & { fixedIcon?: IconComponent; fixedText?: string; selectedOptions: MultiSelectOptionType[]; - placeholderText?: string; }; export const MultiSelectControl = ({ @@ -31,22 +30,16 @@ export const MultiSelectControl = ({ selectSizeVariant, textAccent = 'default', hasRightElement, - placeholderText, }: MultiSelectControlProps) => { const theme = useTheme(); - const firstSelectedOption = selectedOptions[0]; - const hasSelection = selectedOptions.length > 0; - + const firstSelectedOption = selectedOptions?.[0]; return ( {isDefined(fixedIcon) ? ( @@ -55,7 +48,7 @@ export const MultiSelectControl = ({ size: theme.icon.size.md, stroke: theme.icon.stroke.sm, }) - ) : hasSelection && isDefined(firstSelectedOption.Icon) ? ( + ) : isDefined(firstSelectedOption?.Icon) ? ( - ) : hasSelection ? ( - - ) : isDefined(placeholderText) ? ( - - ) : null} + ) : ( + + )}