@@ -114,11 +114,10 @@ const ProjectsTable: React.FC = () => {
114114 }
115115 ] ;
116116
117- const defaultFilterValues = {
118- field : 'carNumber' ,
119- operator : '=' ,
120- value : undefined
121- } ;
117+ const filterValues = JSON . parse (
118+ // sets filter to a default value if no filter is stored in local storage
119+ localStorage . getItem ( 'projectsTableFilters' ) ?? '{"columnField": "carNumber", "operatorValue": "=", "value": ""}'
120+ ) ;
122121
123122 const theme = useTheme ( ) ;
124123 return (
@@ -169,20 +168,16 @@ const ProjectsTable: React.FC = () => {
169168 }
170169 } }
171170 onFilterModelChange = { ( filterModel : GridFilterModel ) => {
172- const filterProps = filterModel . items [ 0 ] ;
173-
174- localStorage . setItem ( 'projectsTableFilterColumnName' , filterProps . columnField ) ;
175- localStorage . setItem ( 'projectsTableFilterOperator' , filterProps . operatorValue ?? defaultFilterValues . operator ) ;
176- localStorage . setItem ( 'projectsTableFilterValue' , filterProps . value ) ;
171+ localStorage . setItem ( 'projectsTableFilters' , JSON . stringify ( filterModel . items [ 0 ] ) ) ;
177172 } }
178173 initialState = { {
179174 filter : {
180175 filterModel : {
181176 items : [
182177 {
183- columnField : localStorage . getItem ( 'projectsTableFilterColumnName' ) ?? defaultFilterValues . field ,
184- operatorValue : localStorage . getItem ( 'projectsTableFilterOperator' ) ?? defaultFilterValues . operator ,
185- value : localStorage . getItem ( 'projectsTableFilterValue' ) ?? defaultFilterValues . value
178+ columnField : filterValues . columnField ,
179+ operatorValue : filterValues . operatorValue ,
180+ value : filterValues . value
186181 }
187182 ]
188183 }
0 commit comments