diff --git a/frontend/app/components/shared/Filters/FilterAutoComplete/FilterAutoComplete.tsx b/frontend/app/components/shared/Filters/FilterAutoComplete/FilterAutoComplete.tsx index 8e00bcfea..7bfa5ebb0 100644 --- a/frontend/app/components/shared/Filters/FilterAutoComplete/FilterAutoComplete.tsx +++ b/frontend/app/components/shared/Filters/FilterAutoComplete/FilterAutoComplete.tsx @@ -62,17 +62,18 @@ const FilterAutoComplete = observer( const [loading, setLoading] = useState(false); const { filterStore, projectsStore } = useStore(); const _params = processKey(params); - const filterKey = `${_params.type}${_params.key || ''}`; + const filterKey = `${projectsStore.siteId}_${_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); + if (projectsStore.siteId) { + await filterStore.fetchTopValues(_params.type, projectsStore.siteId, _params.key); + } setLoading(false) }; diff --git a/frontend/app/mstore/filterStore.ts b/frontend/app/mstore/filterStore.ts index eca477c79..6800f1a43 100644 --- a/frontend/app/mstore/filterStore.ts +++ b/frontend/app/mstore/filterStore.ts @@ -27,12 +27,13 @@ export default class FilterStore { this.topValues = {}; } - fetchTopValues = async (key: string, source?: string) => { - if (this.topValues.hasOwnProperty(key)) { - return Promise.resolve(this.topValues[key]); + fetchTopValues = async (key: string, siteId: string, source?: string) => { + const valKey = `${siteId}_${key}${source || ''}` + if (this.topValues[valKey] && this.topValues[valKey].length) { + return Promise.resolve(this.topValues[valKey]); } return filterService.fetchTopValues(key, source).then((response: []) => { - this.setTopValues(`${key}${source || ''}`, response); + this.setTopValues(valKey, response); }); }; }