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