From f44e2935df55c907c3fb77997b2a4ca929805809 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Bosi?= <71827178+bosiraphael@users.noreply.github.com> Date: Fri, 22 Nov 2024 15:08:29 +0100 Subject: [PATCH] Fix filter multi select (#8682) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Created a dropdown inside a dropdown for the `ObjectFilterDropdownOperandDropdown` so the operand can be opened over the selection with an offset - Refactored dropdown component and introduced `DropdownUnmountEffect` to close the dropdown when the component unmounts - Removed old logic Before: Capture d’écran 2024-11-22 à 14 03 58 After: Capture d’écran 2024-11-22 à 14 03 40 --- .../RightDrawerActionMenuDropdown.tsx | 2 +- .../AdvancedFilterViewFilterValueInput.tsx | 2 - .../MultipleFiltersDropdownButton.tsx | 6 +- .../ObjectFilterDropdownDateInput.tsx | 5 -- .../ObjectFilterDropdownFilterInput.tsx | 11 +-- ...bjectFilterDropdownFilterOperandSelect.tsx | 38 --------- .../ObjectFilterDropdownOperandButton.tsx | 39 --------- .../ObjectFilterDropdownOperandDropdown.tsx | 51 ++++++++++++ .../ObjectFilterDropdownOperandSelect.tsx | 28 +++---- .../ObjectFilterOperandSelectAndInput.tsx | 4 +- .../__tests__/useFilterDropdown.test.tsx | 58 -------------- .../hooks/useFilterDropdown.ts | 15 +--- .../hooks/useFilterDropdownStates.ts | 15 ---- .../types/FiltersHotkeyScope.ts | 1 + .../layout/dropdown/components/Dropdown.tsx | 80 ++++++++++--------- .../components/DropdownMenuHeader.tsx | 10 ++- .../components/DropdownMenuItemsContainer.tsx | 7 +- .../components/DropdownUnmountEffect.tsx | 18 +++++ .../EditableFilterDropdownButton.tsx | 6 -- 19 files changed, 148 insertions(+), 248 deletions(-) delete mode 100644 packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownFilterOperandSelect.tsx delete mode 100644 packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownOperandButton.tsx create mode 100644 packages/twenty-front/src/modules/object-record/object-filter-dropdown/components/ObjectFilterDropdownOperandDropdown.tsx create mode 100644 packages/twenty-front/src/modules/ui/layout/dropdown/components/DropdownUnmountEffect.tsx diff --git a/packages/twenty-front/src/modules/action-menu/components/RightDrawerActionMenuDropdown.tsx b/packages/twenty-front/src/modules/action-menu/components/RightDrawerActionMenuDropdown.tsx index 86b028a73..4c60207d9 100644 --- a/packages/twenty-front/src/modules/action-menu/components/RightDrawerActionMenuDropdown.tsx +++ b/packages/twenty-front/src/modules/action-menu/components/RightDrawerActionMenuDropdown.tsx @@ -62,7 +62,7 @@ export const RightDrawerActionMenuDropdown = () => { clickableComponent={