From d0eb520647608994848c55ccc3aa1e369cc81f77 Mon Sep 17 00:00:00 2001 From: Ankur Sinha Date: Wed, 22 Jul 2026 17:24:24 +0530 Subject: [PATCH] fix: clear all filters should clear datasource instead of resetting to default Signed-off-by: Ankur Sinha --- .../hooks/__tests__/useDatasourcePreference.spec.ts | 6 +++--- src/components/hooks/useDataViewFilter.ts | 6 +++--- src/components/hooks/useDatasourcePreference.ts | 9 +++++---- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/components/hooks/__tests__/useDatasourcePreference.spec.ts b/src/components/hooks/__tests__/useDatasourcePreference.spec.ts index 4b369c63..8fb8abde 100644 --- a/src/components/hooks/__tests__/useDatasourcePreference.spec.ts +++ b/src/components/hooks/__tests__/useDatasourcePreference.spec.ts @@ -47,12 +47,12 @@ describe('useDatasourcePreference', () => { expect(setPreferenceMock).toHaveBeenCalledWith(['archived-data']); }); - it('should reset preference to default', () => { + it('should clear preference to empty array', () => { const { result } = testHook(() => useDatasourcePreference('pipelineRun', true), ); - result.current.resetPreference(); - expect(setPreferenceMock).toHaveBeenCalledWith(DEFAULT_DATASOURCE_VALUES); + result.current.clearPreference(); + expect(setPreferenceMock).toHaveBeenCalledWith([]); }); it('should use the correct preference key for pipelineRun', () => { diff --git a/src/components/hooks/useDataViewFilter.ts b/src/components/hooks/useDataViewFilter.ts index 876b5d41..b368326c 100644 --- a/src/components/hooks/useDataViewFilter.ts +++ b/src/components/hooks/useDataViewFilter.ts @@ -172,7 +172,7 @@ export const useDataViewFilter = ({ const { preference: datasourcePreference, setPreference: setDatasourcePreference, - resetPreference: resetDatasourcePreference, + clearPreference: clearDatasourcePreference, } = useDatasourcePreference(resourceType, shouldPersistDataSource); const allStatusIds = useMemo(() => Object.values(ListFilterId), []); @@ -330,10 +330,10 @@ export const useDataViewFilter = ({ setTimespanDateFilter(NO_DATE_RANGE_FILTER); } if (config?.hasDataSourceFilter) { - resetDatasourcePreference(); + clearDatasourcePreference(); } resetPage(); - }, [resetPage, setTimespanDateFilter, resetDatasourcePreference, config]); + }, [resetPage, setTimespanDateFilter, clearDatasourcePreference, config]); const labelSuggestions = useMemo(() => { if (!data) return []; diff --git a/src/components/hooks/useDatasourcePreference.ts b/src/components/hooks/useDatasourcePreference.ts index cfe7b0ed..407805bc 100644 --- a/src/components/hooks/useDatasourcePreference.ts +++ b/src/components/hooks/useDatasourcePreference.ts @@ -3,6 +3,7 @@ import { useCallback } from 'react'; import { USER_PREFERENCE_PREFIX } from '../../consts'; export const DEFAULT_DATASOURCE_VALUES = ['cluster-data']; +const NO_DATASOURCE_FILTER = []; // When persist is false, no ConfigMap entry is auto-created; sync is enabled when resourceType is defined. export const useDatasourcePreference = ( @@ -15,14 +16,14 @@ export const useDatasourcePreference = ( !!resourceType, ); - const resetPreference = useCallback(() => { - setPreference(DEFAULT_DATASOURCE_VALUES); + const clearPreference = useCallback(() => { + setPreference(NO_DATASOURCE_FILTER); }, [setPreference]); return { - preference: preference ?? DEFAULT_DATASOURCE_VALUES, + preference: preference ?? (loaded ? DEFAULT_DATASOURCE_VALUES : NO_DATASOURCE_FILTER), setPreference, - resetPreference, + clearPreference, loaded, }; };