1
- import React , { useEffect , useState } from 'react' ;
1
+ import FilterListIcon from '@mui/icons-material/FilterList' ;
2
+ import { Box , styled } from '@mui/material' ;
3
+ import React , { FC , useEffect , useState } from 'react' ;
2
4
3
5
import { selectors } from '@grafana/e2e-selectors' ;
4
6
import { useSelector } from 'app/types' ;
@@ -17,20 +19,19 @@ export const SubMenuItems = ({ variables, readOnly }: Props) => {
17
19
const hiddenVariables = useSelector ( ( state ) => state . fnGlobalState . hiddenVariables ) ;
18
20
19
21
useEffect ( ( ) => {
20
- setVisibleVariables ( variables . filter ( ( state ) => state . hide !== VariableHide . hideVariable ) ) ;
21
- } , [ variables ] ) ;
22
+ setVisibleVariables (
23
+ variables . filter ( ( state ) => state . hide !== VariableHide . hideVariable && ! hiddenVariables ?. includes ( state . id ) )
24
+ ) ;
25
+ } , [ variables , hiddenVariables ] ) ;
22
26
23
27
if ( visibleVariables . length === 0 ) {
24
28
return null ;
25
29
}
26
30
27
31
return (
28
32
< >
33
+ < FilterWithIcon />
29
34
{ visibleVariables . map ( ( variable ) => {
30
- if ( hiddenVariables ?. includes ( variable . id ) ) {
31
- return null ;
32
- }
33
-
34
35
return (
35
36
< div
36
37
key = { variable . id }
@@ -44,3 +45,20 @@ export const SubMenuItems = ({ variables, readOnly }: Props) => {
44
45
</ >
45
46
) ;
46
47
} ;
48
+
49
+ const FilterWithIcon : FC = ( ) => (
50
+ < FilterWithIconStyled >
51
+ < FilterListIcon sx = { { color : '#3A785E' } } />
52
+ FILTERS
53
+ </ FilterWithIconStyled >
54
+ ) ;
55
+
56
+ const FilterWithIconStyled = styled ( Box ) ( {
57
+ display : 'flex' ,
58
+ gap : 1 ,
59
+ alignItems : 'center' ,
60
+ color : '#3A785E' ,
61
+ fontWeight : 600 ,
62
+ lineHeight : '160%' ,
63
+ fontSize : 12 ,
64
+ } ) ;
0 commit comments