From 67f0b980023fdecab2be365a8425e47024432a95 Mon Sep 17 00:00:00 2001 From: Dmitry Moiseenko <36731450+cxdima@users.noreply.github.com> Date: Tue, 8 Jul 2025 05:17:42 -0400 Subject: [PATCH] Pass dropdownId to all closeDropdown calls in MatchColumnToFieldSelect (#13087) Pass the dropdownId into every closeDropdown() call so the instance ID is always defined and the error no longer occurs. --------- Co-authored-by: prastoin Co-authored-by: Lucas Bordeau --- .../components/MatchColumnToFieldSelect.tsx | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/packages/twenty-front/src/modules/spreadsheet-import/components/MatchColumnToFieldSelect.tsx b/packages/twenty-front/src/modules/spreadsheet-import/components/MatchColumnToFieldSelect.tsx index fa344cce7..32a8bdcae 100644 --- a/packages/twenty-front/src/modules/spreadsheet-import/components/MatchColumnToFieldSelect.tsx +++ b/packages/twenty-front/src/modules/spreadsheet-import/components/MatchColumnToFieldSelect.tsx @@ -38,12 +38,14 @@ export const MatchColumnToFieldSelect = ({ columnIndex, }: MatchColumnToFieldSelectProps) => { const dropdownId = `match-column-select-v2-dropdown-${columnIndex}`; - const { closeDropdown } = useCloseDropdown(); - const [selectedFieldMetadataItem, setSelectedFieldMetadataItem] = useState(null); + const doNotImportOption = options.find( + (option) => option.value === DO_NOT_IMPORT_OPTION_KEY, + ); + const handleFieldMetadataItemSelect = ( selectedFieldMetadataItem: FieldMetadataItem, ) => { @@ -56,9 +58,8 @@ export const MatchColumnToFieldSelect = ({ if (isDefined(correspondingOption)) { setSelectedFieldMetadataItem(null); - onChange(correspondingOption); - closeDropdown(); + closeDropdown(dropdownId); } } }; @@ -79,7 +80,6 @@ export const MatchColumnToFieldSelect = ({ if (isDefined(correspondingOption)) { setSelectedFieldMetadataItem(null); - onChange(correspondingOption); closeDropdown(dropdownId); } @@ -112,13 +112,9 @@ export const MatchColumnToFieldSelect = ({ closeDropdown(dropdownId); }; - const doNotImportOption = options.find( - (option) => option.value === DO_NOT_IMPORT_OPTION_KEY, - ); - - const shouldDisplaySubFieldMetadataItemSelect = - isDefined(selectedFieldMetadataItem?.type) && - isCompositeFieldType(selectedFieldMetadataItem?.type); + const shouldShowSubField = + isDefined(selectedFieldMetadataItem) && + isCompositeFieldType(selectedFieldMetadataItem.type); return ( } dropdownComponents={ - shouldDisplaySubFieldMetadataItemSelect && selectedFieldMetadataItem ? ( + shouldShowSubField ? (