Skip to content

Commit 9f7d1c9

Browse files
committed
fix: close menu list on apply filter
1 parent 89a2479 commit 9f7d1c9

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/Shared/Components/FilterButton/FilterButton.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ const DropdownIndicator = (props) => (
6565
</components.DropdownIndicator>
6666
)
6767

68+
// To be replaced with MultiSelectPicker
6869
const FilterButton: React.FC<FilterButtonPropsType> = ({
6970
placeholder,
7071
appliedFilters,
@@ -74,16 +75,26 @@ const FilterButton: React.FC<FilterButtonPropsType> = ({
7475
getFormattedFilterLabelValue,
7576
menuAlignFromRight,
7677
}) => {
78+
const [menuIsOpen, setMenuIsOpen] = useState<boolean>(false)
7779
const [selectedOptions, setSelectedOptions] = useState<OptionType[]>(
7880
appliedFilters.map((filter) => ({ value: filter, label: getFormattedFilterLabelValue?.(filter) || filter })),
7981
)
8082

83+
const handleMenuOpen = () => {
84+
setMenuIsOpen(true)
85+
}
86+
87+
const handleMenuClose = () => {
88+
setMenuIsOpen(false)
89+
}
90+
8191
const handleSelectOnChange: React.ComponentProps<typeof ReactSelect>['onChange'] = (selected: OptionType[]) => {
8292
setSelectedOptions([...selected])
8393
}
8494

8595
const handleApply = () => {
8696
handleApplyChange(Object.values(selectedOptions).map((option) => option.value))
97+
handleMenuClose()
8798
}
8899

89100
return (
@@ -109,6 +120,9 @@ const FilterButton: React.FC<FilterButtonPropsType> = ({
109120
styles={getFilterStyle(menuAlignFromRight)}
110121
// @ts-ignore NOTE: passing this to use in FilterSelectMenuList
111122
handleApplyFilter={handleApply}
123+
menuIsOpen={menuIsOpen}
124+
onMenuOpen={handleMenuOpen}
125+
onMenuClose={handleMenuClose}
112126
/>
113127
)
114128
}

0 commit comments

Comments
 (0)