diff --git a/src/components/Search/FilterDropdowns/SingleSelectPopup.tsx b/src/components/Search/FilterDropdowns/SingleSelectPopup.tsx index 4ad687e40ef0..b16d6311fbe2 100644 --- a/src/components/Search/FilterDropdowns/SingleSelectPopup.tsx +++ b/src/components/Search/FilterDropdowns/SingleSelectPopup.tsx @@ -37,9 +37,12 @@ type SingleSelectPopupProps = { /** Search input place holder */ searchPlaceholder?: string; + + /** The default value to set when reset is clicked */ + defaultValue?: string; }; -function SingleSelectPopup({label, value, items, closeOverlay, onChange, isSearchable, searchPlaceholder}: SingleSelectPopupProps) { +function SingleSelectPopup({label, value, items, closeOverlay, onChange, isSearchable, searchPlaceholder, defaultValue}: SingleSelectPopupProps) { const {translate} = useLocalize(); const styles = useThemeStyles(); // eslint-disable-next-line rulesdir/prefer-shouldUseNarrowLayout-instead-of-isSmallScreenWidth @@ -93,9 +96,9 @@ function SingleSelectPopup({label, value, items, closeOverlay, }, [closeOverlay, onChange, selectedItem]); const resetChanges = useCallback(() => { - onChange(null); + onChange(defaultValue ? (items.find((item) => item.value === defaultValue) ?? null) : null); closeOverlay(); - }, [closeOverlay, onChange]); + }, [closeOverlay, onChange, defaultValue, items]); const textInputOptions = useMemo( () => ({ diff --git a/src/components/Table/TableFilterButtons/buildFilterItems.tsx b/src/components/Table/TableFilterButtons/buildFilterItems.tsx index deeb6e2145d5..832b93f68d16 100644 --- a/src/components/Table/TableFilterButtons/buildFilterItems.tsx +++ b/src/components/Table/TableFilterButtons/buildFilterItems.tsx @@ -191,6 +191,7 @@ function createSingleSelectPopover({filterKey return ( ({ text: option.label,