rez-table-listing-mui 1.3.31 → 1.3.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,248 @@
1
+ // import { useEffect, useState } from "react";
2
+ // import {
3
+ // FilterFormComponentProps,
4
+ // FilterMasterStateProps,
5
+ // FilterOperationListProps,
6
+ // } from "../../../types/filter";
7
+ // import {
8
+ // Box,
9
+ // IconButton,
10
+ // List,
11
+ // ListItem,
12
+ // ListItemText,
13
+ // Typography,
14
+ // } from "@mui/material";
15
+ // import CustomSearch from "./search";
16
+ // import { DeleteIcon, EditIcon } from "../../../../assets/svg";
17
+ // import SavedFilterEditComponent from "./saved-edit-filter";
18
+ // import { filterStyles } from "../style";
19
+ // import { CheckBox } from "../../../../assets/svg";
20
+
21
+ // const SavedFilter = ({
22
+ // columnsData,
23
+ // dropdownData,
24
+ // tableStates,
25
+ // editMode,
26
+ // setEditMode,
27
+ // setDeleteFilterModalOpen,
28
+ // setSavedFilterModalOpen,
29
+ // tabValue,
30
+ // onChangeFunction,
31
+ // filterComponentOptions,
32
+ // }: FilterFormComponentProps) => {
33
+ // const { filters, filterMaster, setFilterMaster, setFilterToDelete } =
34
+ // tableStates;
35
+ // const [searchTerm, setSearchTerm] = useState<string>("");
36
+
37
+ // // reset savedFilterEditValue when component unmounts
38
+ // useEffect(() => {
39
+ // return () => {
40
+ // const editModeFromTabOptions =
41
+ // filterComponentOptions?.tabOptions?.savedFilter?.editMode;
42
+ // if (!editModeFromTabOptions) {
43
+ // setEditMode && setEditMode(false);
44
+ // setFilterMaster(
45
+ // (prev) =>
46
+ // ({
47
+ // ...prev,
48
+ // saved_filters: {
49
+ // ...prev?.attributes,
50
+ // selectedId: "",
51
+ // selectedName: "",
52
+ // selectedCode: "",
53
+ // },
54
+ // } as FilterMasterStateProps)
55
+ // );
56
+ // }
57
+ // };
58
+ // }, []);
59
+
60
+ // const handleListItemClick = (filter: FilterOperationListProps) => {
61
+ // const newFilterMasterState = {
62
+ // ...filterMaster,
63
+ // saved_filters: {
64
+ // ...filterMaster?.attributes,
65
+ // selectedId: filter?.value,
66
+ // selectedName: filter?.label,
67
+ // selectedCode: filter?.code,
68
+ // },
69
+ // attributes: {
70
+ // ...filterMaster?.attributes,
71
+ // radio: [],
72
+ // },
73
+ // activeFilterTabIndex: tabValue,
74
+ // } as FilterMasterStateProps;
75
+
76
+ // setFilterMaster(newFilterMasterState);
77
+
78
+ // const newState = {
79
+ // filterMaster: newFilterMasterState,
80
+ // filters: filters,
81
+ // };
82
+
83
+ // onChangeFunction && onChangeFunction(newState);
84
+
85
+ // // setEditfilter state on edit icon click
86
+ // setEditMode && setEditMode(true);
87
+ // setFilterToDelete(filter);
88
+ // };
89
+
90
+ // const handleAppyFilter = (filter: FilterOperationListProps) => {
91
+ // const newFilterMasterState = {
92
+ // ...filterMaster,
93
+ // saved_filters: {
94
+ // ...filterMaster?.attributes,
95
+ // selectedId: filter?.value,
96
+ // selectedName: filter?.label,
97
+ // selectedCode: filter?.code,
98
+ // },
99
+ // attributes: {
100
+ // ...filterMaster?.attributes,
101
+ // radio: [],
102
+ // },
103
+ // activeFilterTabIndex: tabValue,
104
+ // } as FilterMasterStateProps;
105
+
106
+ // setFilterMaster(newFilterMasterState);
107
+
108
+ // const newState = {
109
+ // filterMaster: newFilterMasterState,
110
+ // filters: filters,
111
+ // };
112
+
113
+ // onChangeFunction && onChangeFunction(newState);
114
+ // };
115
+
116
+ // const renderList = () => (
117
+ // <>
118
+ // <CustomSearch
119
+ // value={searchTerm}
120
+ // onChange={setSearchTerm}
121
+ // className="search-input"
122
+ // />
123
+
124
+ // {columnsData?.saved_filter?.length === 0 ? (
125
+ // <Typography sx={{ mt: 2 }}>No saved filters yet.</Typography>
126
+ // ) : (
127
+ // <List
128
+ // sx={{
129
+ // display: "flex",
130
+ // flexDirection: "column",
131
+ // gap: 1,
132
+ // mt: 2,
133
+ // }}
134
+ // >
135
+ // {columnsData?.saved_filter
136
+ // ?.filter((filter) =>
137
+ // filter.label?.toLowerCase().includes(searchTerm.toLowerCase())
138
+ // )
139
+ // ?.map((filter) => (
140
+ // <ListItem
141
+ // key={filter?.value}
142
+ // sx={{
143
+ // cursor: "pointer",
144
+ // border:
145
+ // filter?.value ===
146
+ // tableStates?.filterMaster?.saved_filters?.selectedId
147
+ // ? `3px solid #7a5af8`
148
+ // : "1px solid #C5C5C5",
149
+ // borderRadius: "8px",
150
+ // display: "flex",
151
+ // justifyContent: "space-between",
152
+ // gap: 1,
153
+ // alignItems: "center",
154
+ // "&:hover .action-icons": {
155
+ // opacity: 1,
156
+ // visibility: "visible",
157
+ // },
158
+ // }}
159
+ // onClick={() => handleAppyFilter(filter)}
160
+ // >
161
+ // {filter?.value ===
162
+ // tableStates?.filterMaster?.saved_filters?.selectedId && (
163
+ // <Box
164
+ // sx={{
165
+ // display: "flex",
166
+ // alignItems: "center",
167
+ // cursor: "pointer",
168
+ // color: "green",
169
+ // rounded: "full",
170
+ // }}
171
+ // >
172
+ // <CheckBox />
173
+ // </Box>
174
+ // )}
175
+ // <ListItemText primary={filter?.label} />
176
+
177
+ // <Box
178
+ // onClick={(e) => e.stopPropagation()}
179
+ // className="action-icons"
180
+ // sx={{
181
+ // display: "flex",
182
+ // gap: 1,
183
+ // opacity: 0,
184
+ // visibility: "hidden",
185
+ // transition: "opacity 0.2s ease, visibility 0.2s ease",
186
+ // }}
187
+ // >
188
+ // <IconButton
189
+ // size="large"
190
+ // onClick={() => handleListItemClick(filter)}
191
+ // >
192
+ // <EditIcon />
193
+ // </IconButton>
194
+
195
+ // <IconButton
196
+ // size="small"
197
+ // onClick={() => {
198
+ // setFilterToDelete(filter);
199
+ // setDeleteFilterModalOpen?.(true);
200
+ // }}
201
+ // >
202
+ // <DeleteIcon />
203
+ // </IconButton>
204
+ // </Box>
205
+ // </ListItem>
206
+ // ))}
207
+ // </List>
208
+ // )}
209
+ // </>
210
+ // );
211
+
212
+ // const mainBoxStyles = {
213
+ // ...filterStyles.filterMainComponentWrapper,
214
+ // ...filterStyles.scrollbarCustom,
215
+ // };
216
+
217
+ // return (
218
+ // <Box sx={mainBoxStyles} className="saved-filter-component-wrapper">
219
+ // {/* Render search input and list */}
220
+ // {!editMode && renderList()}
221
+
222
+ // {editMode && (
223
+ // <SavedFilterEditComponent
224
+ // columnsData={columnsData}
225
+ // dropdownData={dropdownData}
226
+ // tableStates={tableStates}
227
+ // editMode={editMode}
228
+ // setEditMode={setEditMode}
229
+ // searchTerm={searchTerm}
230
+ // setSearchTerm={setSearchTerm}
231
+ // setSavedFilterModalOpen={setSavedFilterModalOpen}
232
+ // setDeleteFilterModalOpen={setDeleteFilterModalOpen}
233
+ // onChangeFunction={onChangeFunction}
234
+ // filterComponentOptions={filterComponentOptions}
235
+ // />
236
+ // )}
237
+ // </Box>
238
+ // );
239
+ // };
240
+
241
+ // export default SavedFilter;
242
+
243
+ // do not delete this logic rework this
244
+ // ----------------------------------------------------------------------------------------------------------------------------
245
+
1
246
  import { useEffect, useState } from "react";
2
247
  import {
3
248
  FilterFormComponentProps,
@@ -49,8 +294,10 @@ const SavedFilter = ({
49
294
  value: f.id || f.value,
50
295
  code: f.code ?? "",
51
296
  is_shared: f.is_shared ?? prefs.is_shared ?? false,
297
+ created_by: f.created_by || "shared_filter",
298
+ description: f.description || "",
299
+ is_owner: f.is_owner === true || prefs.is_owner === "true",
52
300
 
53
- // 🔥 STRING ko BOOLEAN banaya
54
301
  is_editable:
55
302
  f.is_editable === true ||
56
303
  f.is_editable === "true" ||
@@ -61,9 +308,11 @@ const SavedFilter = ({
61
308
 
62
309
  const mappedSavedFilter: FilterOperationListProps[] =
63
310
  columnsData?.saved_filter?.map(normalizeFilter) ?? [];
311
+ console.log("mappedSavedFilter", mappedSavedFilter);
64
312
 
65
313
  const mappedSharedFilter: FilterOperationListProps[] =
66
314
  columnsData?.shared_filter?.map(normalizeFilter) ?? [];
315
+ console.log("mappedSharedFilter", mappedSharedFilter);
67
316
 
68
317
  // Reset on unmount
69
318
  useEffect(() => {
@@ -81,6 +330,7 @@ const SavedFilter = ({
81
330
  ...(prev?.saved_filters ?? {}),
82
331
  selectedId: "",
83
332
  selectedName: "",
333
+ description: "",
84
334
  selectedCode: "",
85
335
  shareWithTeam: undefined,
86
336
  allowTeamEdit: undefined,
@@ -98,6 +348,7 @@ const SavedFilter = ({
98
348
  ...(filterMaster?.saved_filters ?? {}),
99
349
  selectedId: filter.value,
100
350
  selectedName: filter.label,
351
+ description: filter.description,
101
352
  selectedCode: filter.code,
102
353
  shareWithTeam: filter.is_shared,
103
354
  allowTeamEdit: filter.is_editable,
@@ -127,6 +378,7 @@ const SavedFilter = ({
127
378
  const handleApplyFilter = (filter: FilterOperationListProps) => {
128
379
  applyFilterStates(filter);
129
380
  };
381
+ const [openAccordion, setOpenAccordion] = useState<"my" | "shared">("my");
130
382
 
131
383
  /**
132
384
  * renderList
@@ -196,14 +448,14 @@ const SavedFilter = ({
196
448
  gap: 1,
197
449
  opacity: 0,
198
450
  visibility: "hidden",
199
- transition: "all 0.2s ease",
451
+ transition: "opacity 0.2s ease, visibility 0.2s ease",
200
452
  }}
201
453
  >
202
- {/** Show edit icon:
203
- * - For shared lists: only if filter.is_editable === true
204
- * - For non-shared lists: show (keeps previous behavior)
205
- */}
206
- {(!isSharedList || filter.is_editable === true) && (
454
+ {(!isSharedList ||
455
+ filter.is_editable === true ||
456
+ filter.is_owner === true) && (
457
+ // ||
458
+ // String(filter.created_by) !== String(filter.user_id))
207
459
  <IconButton
208
460
  size="large"
209
461
  onClick={() => handleListItemClick(filter)}
@@ -211,7 +463,7 @@ const SavedFilter = ({
211
463
  <EditIcon />
212
464
  </IconButton>
213
465
  )}
214
- {(!isSharedList || filter.is_editable === true) && (
466
+ {filter?.is_owner === true && (
215
467
  <IconButton
216
468
  size="small"
217
469
  onClick={() => {
@@ -257,14 +509,29 @@ const SavedFilter = ({
257
509
  overflow: "hidden",
258
510
  }}
259
511
  >
260
- <Accordion defaultExpanded disableGutters elevation={0}>
512
+ <Accordion
513
+ // defaultExpanded
514
+ disableGutters
515
+ elevation={0}
516
+ expanded={openAccordion === "my"}
517
+ onChange={() =>
518
+ setOpenAccordion(openAccordion === "my" ? "shared" : "my")
519
+ }
520
+ >
261
521
  <AccordionSummary
262
522
  expandIcon={<ExpandMoreIcon fontSize="small" />}
263
523
  >
264
524
  <Typography fontWeight={600}>My Filters</Typography>
265
525
  </AccordionSummary>
266
526
  <Divider sx={{ width: "100%" }} />
267
- <AccordionDetails sx={{ p: "9px" }}>
527
+ <AccordionDetails
528
+ sx={{
529
+ p: "9px",
530
+ maxHeight: "320px",
531
+ overflowY: "auto",
532
+ scrollbarWidth: "thin",
533
+ }}
534
+ >
268
535
  {renderList(mappedSavedFilter, false)}
269
536
  </AccordionDetails>
270
537
  </Accordion>
@@ -280,7 +547,14 @@ const SavedFilter = ({
280
547
  overflow: "hidden",
281
548
  }}
282
549
  >
283
- <Accordion disableGutters elevation={0}>
550
+ <Accordion
551
+ disableGutters
552
+ elevation={0}
553
+ expanded={openAccordion === "shared"}
554
+ onChange={() =>
555
+ setOpenAccordion(openAccordion === "shared" ? "my" : "shared")
556
+ }
557
+ >
284
558
  <AccordionSummary
285
559
  expandIcon={<ExpandMoreIcon fontSize="small" />}
286
560
  >
@@ -288,7 +562,14 @@ const SavedFilter = ({
288
562
  </AccordionSummary>
289
563
  <Divider sx={{ width: "100%" }} />
290
564
 
291
- <AccordionDetails sx={{ p: "9px" }}>
565
+ <AccordionDetails
566
+ sx={{
567
+ p: "9px",
568
+ maxHeight: "320px",
569
+ overflowY: "auto",
570
+ scrollbarWidth: "thin",
571
+ }}
572
+ >
292
573
  {renderList(mappedSharedFilter, true)}
293
574
  </AccordionDetails>
294
575
  </Accordion>
@@ -317,3 +598,303 @@ const SavedFilter = ({
317
598
  };
318
599
 
319
600
  export default SavedFilter;
601
+
602
+ // import { useEffect, useState } from "react";
603
+ // import {
604
+ // FilterFormComponentProps,
605
+ // FilterMasterStateProps,
606
+ // } from "../../../types/filter";
607
+ // import {
608
+ // Accordion,
609
+ // AccordionDetails,
610
+ // AccordionSummary,
611
+ // Box,
612
+ // Divider,
613
+ // IconButton,
614
+ // List,
615
+ // ListItem,
616
+ // ListItemText,
617
+ // Typography,
618
+ // } from "@mui/material";
619
+ // import CustomSearch from "./search";
620
+ // import { DeleteIcon, EditIcon } from "../../../../assets/svg";
621
+ // import SavedFilterEditComponent from "./saved-edit-filter";
622
+ // import { CheckBox } from "../../../../assets/svg";
623
+ // import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
624
+
625
+ // const SavedFilter = ({
626
+ // columnsData,
627
+ // dropdownData,
628
+ // tableStates,
629
+ // editMode,
630
+ // setEditMode,
631
+ // setDeleteFilterModalOpen,
632
+ // onSaveFilterButtonClick,
633
+ // tabValue,
634
+ // onChangeFunction,
635
+ // filterComponentOptions,
636
+ // }: FilterFormComponentProps) => {
637
+ // const { filters, filterMaster, setFilterMaster, setFilterToDelete } =
638
+ // tableStates;
639
+
640
+ // const [searchTerm, setSearchTerm] = useState<string>("");
641
+
642
+ // // ------------------------------
643
+ // // APPLY FILTER STATE (same logic)
644
+ // // ------------------------------
645
+ // const applyFilterStates = (filter: any) => {
646
+ // const newFilterMaster = {
647
+ // ...filterMaster,
648
+ // saved_filters: {
649
+ // ...(filterMaster?.saved_filters ?? {}),
650
+ // selectedId: filter?.value || filter?.id,
651
+ // selectedName: filter?.label || filter?.name,
652
+ // selectedCode: filter?.code,
653
+ // shareWithTeam: filter?.is_shared,
654
+ // allowTeamEdit: filter?.is_editable,
655
+ // },
656
+ // attributes: {
657
+ // ...filterMaster?.attributes,
658
+ // radio: [],
659
+ // },
660
+ // activeFilterTabIndex: tabValue,
661
+ // } as FilterMasterStateProps;
662
+
663
+ // setFilterMaster(newFilterMaster);
664
+
665
+ // onChangeFunction &&
666
+ // onChangeFunction({
667
+ // filterMaster: newFilterMaster,
668
+ // filters,
669
+ // });
670
+ // };
671
+
672
+ // const handleListItemClick = (filter: any) => {
673
+ // applyFilterStates(filter);
674
+ // setEditMode && setEditMode(true);
675
+ // setFilterToDelete(filter);
676
+ // };
677
+
678
+ // const handleApplyFilter = (filter: any) => {
679
+ // applyFilterStates(filter);
680
+ // };
681
+
682
+ // // ============================
683
+ // // ⭐ RENDER SAVED FILTER LIST
684
+ // // ============================
685
+ // const renderSavedFilterList = () => {
686
+ // const list = columnsData?.saved_filter ?? [];
687
+
688
+ // return list.length === 0 ? (
689
+ // <Typography>No saved filters yet.</Typography>
690
+ // ) : (
691
+ // <List sx={{ display: "flex", flexDirection: "column", gap: 1 }}>
692
+ // {list
693
+ // .filter((f: any) =>
694
+ // f.label?.toLowerCase().includes(searchTerm.toLowerCase())
695
+ // )
696
+ // .map((filter: any) => (
697
+ // <ListItem
698
+ // key={filter.value}
699
+ // sx={{
700
+ // cursor: "pointer",
701
+ // borderRadius: "8px",
702
+ // bgcolor: "#f2f6f8ff",
703
+ // display: "flex",
704
+ // justifyContent: "space-between",
705
+ // gap: 1,
706
+ // alignItems: "center",
707
+ // "&:hover .action-icons": {
708
+ // opacity: 1,
709
+ // visibility: "visible",
710
+ // },
711
+ // }}
712
+ // onClick={() => handleApplyFilter(filter)}
713
+ // >
714
+ // {filter.value === filterMaster?.saved_filters?.selectedId && (
715
+ // <Box sx={{ display: "flex", alignItems: "center" }}>
716
+ // <CheckBox />
717
+ // </Box>
718
+ // )}
719
+
720
+ // <ListItemText primary={filter.label} />
721
+
722
+ // <Box
723
+ // onClick={(e) => e.stopPropagation()}
724
+ // className="action-icons"
725
+ // sx={{
726
+ // display: "flex",
727
+ // gap: 1,
728
+ // opacity: 0,
729
+ // visibility: "hidden",
730
+ // transition: "all 0.2s ease",
731
+ // }}
732
+ // >
733
+ // <IconButton
734
+ // size="large"
735
+ // onClick={() => handleListItemClick(filter)}
736
+ // >
737
+ // <EditIcon />
738
+ // </IconButton>
739
+
740
+ // <IconButton
741
+ // size="small"
742
+ // onClick={() => {
743
+ // setFilterToDelete(filter);
744
+ // setDeleteFilterModalOpen?.(true);
745
+ // }}
746
+ // >
747
+ // <DeleteIcon />
748
+ // </IconButton>
749
+ // </Box>
750
+ // </ListItem>
751
+ // ))}
752
+ // </List>
753
+ // );
754
+ // };
755
+
756
+ // // ============================
757
+ // // ⭐ RENDER SHARED FILTER LIST
758
+ // // ============================
759
+ // const renderSharedFilterList = () => {
760
+ // const list = columnsData?.shared_filter ?? [];
761
+
762
+ // return list.length === 0 ? (
763
+ // <Typography>No shared filters yet.</Typography>
764
+ // ) : (
765
+ // <List sx={{ display: "flex", flexDirection: "column", gap: 1 }}>
766
+ // {list
767
+ // .filter((f: any) =>
768
+ // f.name?.toLowerCase().includes(searchTerm.toLowerCase())
769
+ // )
770
+ // .map((filter: any) => (
771
+ // <ListItem
772
+ // key={filter.id}
773
+ // sx={{
774
+ // cursor: "pointer",
775
+ // borderRadius: "8px",
776
+ // bgcolor: "#f2f6f8ff",
777
+ // display: "flex",
778
+ // justifyContent: "space-between",
779
+ // gap: 1,
780
+ // alignItems: "center",
781
+ // }}
782
+ // onClick={() =>
783
+ // handleApplyFilter({
784
+ // id: filter.id,
785
+ // value: filter.id,
786
+ // name: filter.name,
787
+ // label: filter.name,
788
+ // code: filter.code,
789
+ // })
790
+ // }
791
+ // >
792
+ // {filter.id === filterMaster?.saved_filters?.selectedId && (
793
+ // <Box sx={{ display: "flex", alignItems: "center" }}>
794
+ // <CheckBox />
795
+ // </Box>
796
+ // )}
797
+
798
+ // <ListItemText primary={filter.name} />
799
+ // </ListItem>
800
+ // ))}
801
+ // </List>
802
+ // );
803
+ // };
804
+
805
+ // return (
806
+ // <Box className="saved-filter-component-wrapper">
807
+ // {!editMode && (
808
+ // <>
809
+ // <Box sx={{ mb: 2 }}>
810
+ // <CustomSearch
811
+ // value={searchTerm}
812
+ // onChange={setSearchTerm}
813
+ // className="search-input"
814
+ // />
815
+ // </Box>
816
+
817
+ // {/* ---- My Filters ---- */}
818
+ // <Box
819
+ // sx={{
820
+ // background: "#fff",
821
+ // borderRadius: "12px",
822
+ // border: "1px solid #eee",
823
+ // mb: 2,
824
+ // overflow: "hidden",
825
+ // }}
826
+ // >
827
+ // <Accordion defaultExpanded disableGutters elevation={0}>
828
+ // <AccordionSummary
829
+ // expandIcon={<ExpandMoreIcon fontSize="small" />}
830
+ // >
831
+ // <Typography fontWeight={600}>My Filters</Typography>
832
+ // </AccordionSummary>
833
+
834
+ // <Divider />
835
+ // <AccordionDetails
836
+ // sx={{
837
+ // p: "9px",
838
+ // maxHeight: "320px",
839
+ // overflowY: "auto",
840
+ // scrollbarWidth: "thin",
841
+ // }}
842
+ // >
843
+ // {renderSavedFilterList()}
844
+ // </AccordionDetails>
845
+ // </Accordion>
846
+ // </Box>
847
+
848
+ // {/* ---- Shared Filters ---- */}
849
+ // <Box
850
+ // sx={{
851
+ // background: "#fff",
852
+ // borderRadius: "12px",
853
+ // border: "1px solid #eee",
854
+ // mb: 2,
855
+ // overflow: "hidden",
856
+ // }}
857
+ // >
858
+ // <Accordion disableGutters elevation={0}>
859
+ // <AccordionSummary
860
+ // expandIcon={<ExpandMoreIcon fontSize="small" />}
861
+ // >
862
+ // <Typography fontWeight={600}>Shared Filters</Typography>
863
+ // </AccordionSummary>
864
+
865
+ // <Divider />
866
+ // <AccordionDetails
867
+ // sx={{
868
+ // p: "9px",
869
+ // maxHeight: "320px",
870
+ // overflowY: "auto",
871
+ // scrollbarWidth: "thin",
872
+ // }}
873
+ // >
874
+ // {renderSharedFilterList()}
875
+ // </AccordionDetails>
876
+ // </Accordion>
877
+ // </Box>
878
+ // </>
879
+ // )}
880
+
881
+ // {editMode && (
882
+ // <SavedFilterEditComponent
883
+ // columnsData={columnsData}
884
+ // dropdownData={dropdownData}
885
+ // tableStates={tableStates}
886
+ // editMode={editMode}
887
+ // setEditMode={setEditMode}
888
+ // searchTerm={searchTerm}
889
+ // setSearchTerm={setSearchTerm}
890
+ // onSaveFilterButtonClick={onSaveFilterButtonClick}
891
+ // setDeleteFilterModalOpen={setDeleteFilterModalOpen}
892
+ // onChangeFunction={onChangeFunction}
893
+ // filterComponentOptions={filterComponentOptions}
894
+ // />
895
+ // )}
896
+ // </Box>
897
+ // );
898
+ // };
899
+
900
+ // export default SavedFilter;