From e5d492d09f5cf97a2c54de2c93b1a03c5d5ae989 Mon Sep 17 00:00:00 2001 From: Marie <51697796+ijreilly@users.noreply.github.com> Date: Thu, 31 Oct 2024 09:41:44 +0100 Subject: [PATCH] Fix empty option selected in single entity select (#8208) SingleEntitySelect was wrongfully showing the empty option (eg "No company") as selected if the selected option was not showing in the list, because of a search filter for instance (eg selected option is "Linkedin" but search filter is "a"). Fixing this and removing misleading prop selectedEntity from components where it is never passed. --- .../relation-picker/components/SingleEntitySelect.tsx | 2 -- .../components/SingleEntitySelectMenuItems.tsx | 4 +++- .../components/SingleEntitySelectMenuItemsWithSearch.tsx | 7 +++---- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelect.tsx b/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelect.tsx index 368636fb4..b98c3f36b 100644 --- a/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelect.tsx +++ b/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelect.tsx @@ -23,7 +23,6 @@ export const SingleEntitySelect = ({ onEntitySelected, relationObjectNameSingular, relationPickerScopeId, - selectedEntity, selectedRelationRecordIds, width = 200, }: SingleEntitySelectProps) => { @@ -61,7 +60,6 @@ export const SingleEntitySelect = ({ onEntitySelected, relationObjectNameSingular, relationPickerScopeId, - selectedEntity, selectedRelationRecordIds, }} /> diff --git a/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItems.tsx b/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItems.tsx index e1748c5b4..50db8588c 100644 --- a/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItems.tsx +++ b/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItems.tsx @@ -37,6 +37,7 @@ export type SingleEntitySelectMenuItemsProps = { onAllEntitySelected?: () => void; hotkeyScope?: string; isFiltered: boolean; + shouldSelectEmptyOption?: boolean; }; export const SingleEntitySelectMenuItems = ({ @@ -56,6 +57,7 @@ export const SingleEntitySelectMenuItems = ({ onAllEntitySelected, hotkeyScope = RelationPickerHotkeyScope.RelationPicker, isFiltered, + shouldSelectEmptyOption, }: SingleEntitySelectMenuItemsProps) => { const containerRef = useRef(null); @@ -181,7 +183,7 @@ export const SingleEntitySelectMenuItems = ({ onClick={() => onEntitySelected()} LeftIcon={EmptyIcon} text={emptyLabel} - selected={!selectedEntity} + selected={shouldSelectEmptyOption === true} hovered={isSelectedSelectNoneButton} /> ) diff --git a/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItemsWithSearch.tsx b/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItemsWithSearch.tsx index 83c628668..9b8e56262 100644 --- a/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItemsWithSearch.tsx +++ b/packages/twenty-front/src/modules/object-record/relation-picker/components/SingleEntitySelectMenuItemsWithSearch.tsx @@ -35,7 +35,6 @@ export const SingleEntitySelectMenuItemsWithSearch = ({ onEntitySelected, relationObjectNameSingular, relationPickerScopeId = 'relation-picker', - selectedEntity, selectedRelationRecordIds, dropdownPlacement, }: SingleEntitySelectMenuItemsWithSearchProps) => { @@ -71,11 +70,11 @@ export const SingleEntitySelectMenuItemsWithSearch = ({ entitiesToSelect={entities.entitiesToSelect} loading={entities.loading} selectedEntity={ - selectedEntity ?? - (entities.selectedEntities.length === 1 + entities.selectedEntities.length === 1 ? entities.selectedEntities[0] - : undefined) + : undefined } + shouldSelectEmptyOption={selectedRelationRecordIds?.length === 0} hotkeyScope={relationPickerScopeId} onCreate={onCreateWithInput} isFiltered={!!relationPickerSearchFilter}