@@ -9,7 +9,7 @@ import { useQueryBuilder } from 'hooks/queryBuilder/useQueryBuilder';
9
9
import { useQueryOperations } from 'hooks/queryBuilder/useQueryBuilderOperations' ;
10
10
import { Container , Workflow } from 'lucide-react' ;
11
11
import ErrorBoundaryFallback from 'pages/ErrorBoundaryFallback/ErrorBoundaryFallback' ;
12
- import { useCallback , useState } from 'react' ;
12
+ import { useState } from 'react' ;
13
13
import { Query } from 'types/api/queryBuilder/queryBuilderData' ;
14
14
15
15
import {
@@ -24,6 +24,7 @@ export default function InfraMonitoringK8s(): JSX.Element {
24
24
const [ showFilters , setShowFilters ] = useState ( true ) ;
25
25
26
26
const [ selectedCategory , setSelectedCategory ] = useState ( K8sCategories . PODS ) ;
27
+ const [ quickFiltersLastUpdated , setQuickFiltersLastUpdated ] = useState ( - 1 ) ;
27
28
28
29
const { currentQuery } = useQueryBuilder ( ) ;
29
30
@@ -37,14 +38,12 @@ export default function InfraMonitoringK8s(): JSX.Element {
37
38
entityVersion : '' ,
38
39
} ) ;
39
40
40
- const handleFilterChange = useCallback (
41
- ( query : Query ) : void => {
42
- // update the current query with the new filters
43
- // in infra monitoring k8s, we are using only one query, hence updating the 0th index of queryData
44
- handleChangeQueryData ( 'filters' , query . builder . queryData [ 0 ] . filters ) ;
45
- } ,
46
- [ handleChangeQueryData ] ,
47
- ) ;
41
+ const handleFilterChange = ( query : Query ) : void => {
42
+ // update the current query with the new filters
43
+ // in infra monitoring k8s, we are using only one query, hence updating the 0th index of queryData
44
+ handleChangeQueryData ( 'filters' , query . builder . queryData [ 0 ] . filters ) ;
45
+ setQuickFiltersLastUpdated ( Date . now ( ) ) ;
46
+ } ;
48
47
49
48
const items : CollapseProps [ 'items' ] = [
50
49
{
@@ -262,6 +261,8 @@ export default function InfraMonitoringK8s(): JSX.Element {
262
261
const handleCategoryChange = ( key : string | string [ ] ) : void => {
263
262
if ( Array . isArray ( key ) && key . length > 0 ) {
264
263
setSelectedCategory ( key [ 0 ] as string ) ;
264
+ // Reset filters
265
+ handleChangeQueryData ( 'filters' , { items : [ ] , op : 'and' } ) ;
265
266
}
266
267
} ;
267
268
@@ -302,13 +303,15 @@ export default function InfraMonitoringK8s(): JSX.Element {
302
303
< K8sPodLists
303
304
isFiltersVisible = { showFilters }
304
305
handleFilterVisibilityChange = { handleFilterVisibilityChange }
306
+ quickFiltersLastUpdated = { quickFiltersLastUpdated }
305
307
/>
306
308
) }
307
309
308
310
{ selectedCategory === K8sCategories . NODES && (
309
311
< K8sNodesList
310
312
isFiltersVisible = { showFilters }
311
313
handleFilterVisibilityChange = { handleFilterVisibilityChange }
314
+ quickFiltersLastUpdated = { quickFiltersLastUpdated }
312
315
/>
313
316
) }
314
317
</ div >
0 commit comments