66 Badge , 
77 NavLink , 
88}  from  'reactstrap' ; 
9+ import  Toggle  from  'react-toggle' ; 
910import  ReactTooltip  from  'react-tooltip' ; 
1011import  {  useTable ,  useFilters ,  useSortBy  }  from  'react-table' ; 
1112import  {  FaQuestionCircle ,  FaLock  }  from  'react-icons/fa' ; 
@@ -18,6 +19,7 @@ import { Event } from '../Shared/Tracking';
1819
1920import  questions  from  '../../data' ; 
2021
22+ import  'react-toggle/style.css' ; 
2123import  './styles.scss' ; 
2224
2325const  images  =  require . context ( '../../icons' ,  true ) ; 
@@ -28,10 +30,19 @@ const Table = () => {
2830 new  Array ( questions . length ) . fill ( false ) , 
2931 ) ; 
3032
33+  const  [ hidePatterns ,  setHidePatterns ]  =  useState ( 
34+  JSON . parse ( localStorage . getItem ( 'hidePatterns' ) )  || 
35+  new  Array ( 1 ) . fill ( false ) , 
36+  ) ; 
37+ 
3138 useEffect ( ( )  =>  { 
3239 window . localStorage . setItem ( 'checked' ,  JSON . stringify ( checked ) ) ; 
3340 } ,  [ checked ] ) ; 
3441
42+  useEffect ( ( )  =>  { 
43+  window . localStorage . setItem ( 'hidePatterns' ,  JSON . stringify ( hidePatterns ) ) ; 
44+  } ,  [ hidePatterns ] ) ; 
45+ 
3546 const  data  =  React . useMemo ( ( )  =>  questions ,  [ ] ) ; 
3647
3748 const  defaultColumn  =  React . useMemo ( 
@@ -106,15 +117,33 @@ const Table = () => {
106117 disableFilters : true , 
107118 } , 
108119 { 
109-  Header : 'Pattern' , 
120+  Header : ( )  =>  { 
121+  return  ( 
122+  < label  htmlFor = "pattern-toggle" > 
123+  < span > Show/Hide Patterns </ span > 
124+  < Toggle 
125+  id = "pattern-toggle" 
126+  defaultChecked = { hidePatterns [ 0 ] } 
127+  icons = { { 
128+  checked : null , 
129+  unchecked : null , 
130+  } } 
131+  onChange = { ( )  =>  { 
132+  hidePatterns [ 0 ]  =  ! hidePatterns [ 0 ] ; 
133+  setHidePatterns ( [ ...hidePatterns ] ) ; 
134+  } } 
135+  /> 
136+  </ label > 
137+  ) ; 
138+  } , 
110139 accessor : 'pattern' , 
111140 Cell : cellInfo  =>  { 
112141 const  patterns  =  `${ cellInfo . row . original . pattern }  ` 
113142 . split ( ',' ) 
114143 . map ( pattern  =>  { 
115144 return  ( 
116145 < Badge  key = { pattern }  className = { pattern }  pill > 
117-  { checked [ cellInfo . row . original . id ]  ? pattern  : '***' } 
146+  { hidePatterns [ 0 ]  ? pattern  : '***' } 
118147 </ Badge > 
119148 ) ; 
120149 } ) ; 
0 commit comments