From adb359b3bf62bc68d03c9aeaa1416c90f3e4f905 Mon Sep 17 00:00:00 2001 From: nick-delirium Date: Mon, 17 Feb 2025 14:47:56 +0100 Subject: [PATCH] ui: reset autocomplete values with project change --- .../Filters/FilterAutoComplete/FilterAutoComplete.tsx | 7 ++++++- frontend/app/mstore/filterStore.ts | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/frontend/app/components/shared/Filters/FilterAutoComplete/FilterAutoComplete.tsx b/frontend/app/components/shared/Filters/FilterAutoComplete/FilterAutoComplete.tsx index f1ac440d3..8e00bcfea 100644 --- a/frontend/app/components/shared/Filters/FilterAutoComplete/FilterAutoComplete.tsx +++ b/frontend/app/components/shared/Filters/FilterAutoComplete/FilterAutoComplete.tsx @@ -60,11 +60,16 @@ const FilterAutoComplete = observer( ); const [initialFocus, setInitialFocus] = useState(false); const [loading, setLoading] = useState(false); - const { filterStore } = useStore(); + const { filterStore, projectsStore } = useStore(); const _params = processKey(params); const filterKey = `${_params.type}${_params.key || ''}`; const topValues = filterStore.topValues[filterKey] || []; + React.useEffect(() => { + filterStore.resetValues() + setOptions([]) + }, [projectsStore.siteId]) + const loadTopValues = async () => { setLoading(true) await filterStore.fetchTopValues(_params.type, _params.key); diff --git a/frontend/app/mstore/filterStore.ts b/frontend/app/mstore/filterStore.ts index 0af2be151..eca477c79 100644 --- a/frontend/app/mstore/filterStore.ts +++ b/frontend/app/mstore/filterStore.ts @@ -23,6 +23,10 @@ export default class FilterStore { this.topValues[key] = vals?.filter((value) => value !== null && value.value !== ''); }; + resetValues = () => { + this.topValues = {}; + } + fetchTopValues = async (key: string, source?: string) => { if (this.topValues.hasOwnProperty(key)) { return Promise.resolve(this.topValues[key]);