rez-table-listing-mui 1.3.30 → 1.3.32

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.
@@ -5,7 +5,11 @@ import {
5
5
  FilterOperationListProps,
6
6
  } from "../../../types/filter";
7
7
  import {
8
+ Accordion,
9
+ AccordionDetails,
10
+ AccordionSummary,
8
11
  Box,
12
+ Divider,
9
13
  IconButton,
10
14
  List,
11
15
  ListItem,
@@ -15,8 +19,9 @@ import {
15
19
  import CustomSearch from "./search";
16
20
  import { DeleteIcon, EditIcon } from "../../../../assets/svg";
17
21
  import SavedFilterEditComponent from "./saved-edit-filter";
18
- import { filterStyles } from "../style";
22
+ // import { filterStyles } from "../style";
19
23
  import { CheckBox } from "../../../../assets/svg";
24
+ import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
20
25
 
21
26
  const SavedFilter = ({
22
27
  columnsData,
@@ -25,31 +30,60 @@ const SavedFilter = ({
25
30
  editMode,
26
31
  setEditMode,
27
32
  setDeleteFilterModalOpen,
28
- setSavedFilterModalOpen,
33
+ onSaveFilterButtonClick,
29
34
  tabValue,
30
35
  onChangeFunction,
31
36
  filterComponentOptions,
32
37
  }: FilterFormComponentProps) => {
33
38
  const { filters, filterMaster, setFilterMaster, setFilterToDelete } =
34
39
  tableStates;
40
+
35
41
  const [searchTerm, setSearchTerm] = useState<string>("");
36
42
 
37
- // reset savedFilterEditValue when component unmounts
43
+ const normalizeFilter = (f: any): FilterOperationListProps => {
44
+ const prefs =
45
+ f.sharedPreferences || f.preferences || f.meta || f.shared_meta || {};
46
+
47
+ return {
48
+ label: f.name || f.label || "Unnamed Filter",
49
+ value: f.id || f.value,
50
+ code: f.code ?? "",
51
+ is_shared: f.is_shared ?? prefs.is_shared ?? false,
52
+
53
+ // 🔥 STRING ko BOOLEAN banaya
54
+ is_editable:
55
+ f.is_editable === true ||
56
+ f.is_editable === "true" ||
57
+ prefs.is_editable === true ||
58
+ prefs.is_editable === "true",
59
+ };
60
+ };
61
+
62
+ const mappedSavedFilter: FilterOperationListProps[] =
63
+ columnsData?.saved_filter?.map(normalizeFilter) ?? [];
64
+
65
+ const mappedSharedFilter: FilterOperationListProps[] =
66
+ columnsData?.shared_filter?.map(normalizeFilter) ?? [];
67
+
68
+ // Reset on unmount
38
69
  useEffect(() => {
39
70
  return () => {
40
- const editModeFromTabOptions =
71
+ const editModeFromTab =
41
72
  filterComponentOptions?.tabOptions?.savedFilter?.editMode;
42
- if (!editModeFromTabOptions) {
73
+
74
+ if (!editModeFromTab) {
43
75
  setEditMode && setEditMode(false);
44
76
  setFilterMaster(
45
77
  (prev) =>
46
78
  ({
47
79
  ...prev,
48
80
  saved_filters: {
49
- ...prev?.attributes,
81
+ ...(prev?.saved_filters ?? {}),
50
82
  selectedId: "",
51
83
  selectedName: "",
52
84
  selectedCode: "",
85
+ shareWithTeam: undefined,
86
+ allowTeamEdit: undefined,
53
87
  },
54
88
  } as FilterMasterStateProps)
55
89
  );
@@ -57,14 +91,16 @@ const SavedFilter = ({
57
91
  };
58
92
  }, []);
59
93
 
60
- const handleListItemClick = (filter: FilterOperationListProps) => {
61
- const newFilterMasterState = {
94
+ const applyFilterStates = (filter: FilterOperationListProps) => {
95
+ const newFilterMaster = {
62
96
  ...filterMaster,
63
97
  saved_filters: {
64
- ...filterMaster?.attributes,
65
- selectedId: filter?.value,
66
- selectedName: filter?.label,
67
- selectedCode: filter?.code,
98
+ ...(filterMaster?.saved_filters ?? {}),
99
+ selectedId: filter.value,
100
+ selectedName: filter.label,
101
+ selectedCode: filter.code,
102
+ shareWithTeam: filter.is_shared,
103
+ allowTeamEdit: filter.is_editable,
68
104
  },
69
105
  attributes: {
70
106
  ...filterMaster?.attributes,
@@ -73,125 +109,109 @@ const SavedFilter = ({
73
109
  activeFilterTabIndex: tabValue,
74
110
  } as FilterMasterStateProps;
75
111
 
76
- setFilterMaster(newFilterMasterState);
77
-
78
- const newState = {
79
- filterMaster: newFilterMasterState,
80
- filters: filters,
81
- };
112
+ setFilterMaster(newFilterMaster);
82
113
 
83
- onChangeFunction && onChangeFunction(newState);
114
+ onChangeFunction &&
115
+ onChangeFunction({
116
+ filterMaster: newFilterMaster,
117
+ filters,
118
+ });
119
+ };
84
120
 
85
- // setEditfilter state on edit icon click
121
+ const handleListItemClick = (filter: FilterOperationListProps) => {
122
+ applyFilterStates(filter);
86
123
  setEditMode && setEditMode(true);
87
124
  setFilterToDelete(filter);
88
125
  };
89
126
 
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);
127
+ const handleApplyFilter = (filter: FilterOperationListProps) => {
128
+ applyFilterStates(filter);
129
+ };
107
130
 
108
- const newState = {
109
- filterMaster: newFilterMasterState,
110
- filters: filters,
111
- };
131
+ /**
132
+ * renderList
133
+ * @param source - list to render
134
+ * @param isSharedList - true when rendering Shared Filters (default false)
135
+ *
136
+ * Behavior:
137
+ * - If isSharedList === true -> show Edit icon ONLY when filter.is_editable === true
138
+ * - If isSharedList === false -> show Edit icon always (or as per filter.is_editable if you prefer)
139
+ */
140
+ const renderList = (
141
+ source: FilterOperationListProps[],
142
+ isSharedList: boolean = false,
143
+ { emptyMessage = "No saved filters yet." } = {}
144
+ ) =>
145
+ source.length === 0 ? (
146
+ <Typography>{emptyMessage}</Typography>
147
+ ) : (
148
+ <List
149
+ sx={{
150
+ display: "flex",
151
+ flexDirection: "column",
152
+ gap: 1,
153
+ }}
154
+ >
155
+ {source
156
+ .filter((f) =>
157
+ f.label?.toLowerCase().includes(searchTerm.toLowerCase())
158
+ )
159
+ .map((filter) => (
160
+ <ListItem
161
+ key={filter.value}
162
+ sx={{
163
+ cursor: "pointer",
164
+ // border:
165
+ // filter.value ===
166
+ // tableStates?.filterMaster?.saved_filters?.selectedId
167
+ // ? `3px solid #7a5af8`
168
+ // : "1px solid #C5C5C5",
169
+ borderRadius: "8px",
170
+ bgcolor: "#f2f6f8ff",
171
+ display: "flex",
172
+ justifyContent: "space-between",
173
+ gap: 1,
174
+ alignItems: "center",
175
+ "&:hover .action-icons": {
176
+ opacity: 1,
177
+ visibility: "visible",
178
+ },
179
+ }}
180
+ onClick={() => handleApplyFilter(filter)}
181
+ >
182
+ {filter.value ===
183
+ tableStates?.filterMaster?.saved_filters?.selectedId && (
184
+ <Box sx={{ display: "flex", alignItems: "center" }}>
185
+ <CheckBox />
186
+ </Box>
187
+ )}
112
188
 
113
- onChangeFunction && onChangeFunction(newState);
114
- };
189
+ <ListItemText primary={filter.label} />
115
190
 
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}
191
+ <Box
192
+ onClick={(e) => e.stopPropagation()}
193
+ className="action-icons"
142
194
  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
195
  display: "flex",
151
- justifyContent: "space-between",
152
196
  gap: 1,
153
- alignItems: "center",
154
- "&:hover .action-icons": {
155
- opacity: 1,
156
- visibility: "visible",
157
- },
197
+ opacity: 0,
198
+ visibility: "hidden",
199
+ transition: "all 0.2s ease",
158
200
  }}
159
- onClick={() => handleAppyFilter(filter)}
160
201
  >
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
- >
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) && (
188
207
  <IconButton
189
208
  size="large"
190
209
  onClick={() => handleListItemClick(filter)}
191
210
  >
192
211
  <EditIcon />
193
212
  </IconButton>
194
-
213
+ )}
214
+ {(!isSharedList || filter.is_editable === true) && (
195
215
  <IconButton
196
216
  size="small"
197
217
  onClick={() => {
@@ -201,24 +221,96 @@ const SavedFilter = ({
201
221
  >
202
222
  <DeleteIcon />
203
223
  </IconButton>
204
- </Box>
205
- </ListItem>
206
- ))}
207
- </List>
208
- )}
209
- </>
210
- );
211
-
212
- const mainBoxStyles = {
213
- ...filterStyles.filterMainComponentWrapper,
214
- ...filterStyles.scrollbarCustom,
215
- };
224
+ )}
225
+ </Box>
226
+ </ListItem>
227
+ ))}
228
+ </List>
229
+ );
216
230
 
217
231
  return (
218
- <Box sx={mainBoxStyles} className="saved-filter-component-wrapper">
219
- {/* Render search input and list */}
220
- {!editMode && renderList()}
232
+ <Box
233
+ // sx={{
234
+ // ...filterStyles.filterMainComponentWrapper,
235
+ // ...filterStyles.scrollbarCustom,
236
+ // }}
237
+ className="saved-filter-component-wrapper"
238
+ >
239
+ {!editMode && (
240
+ <>
241
+ {/* Search Box */}
242
+ <Box sx={{ mb: 2 }}>
243
+ <CustomSearch
244
+ value={searchTerm}
245
+ onChange={setSearchTerm}
246
+ className="search-input"
247
+ />
248
+ </Box>
249
+
250
+ {/* ---- My Filters Section ---- */}
251
+ <Box
252
+ sx={{
253
+ background: "#fff",
254
+ borderRadius: "12px",
255
+ border: "1px solid #eee",
256
+ mb: 2,
257
+ overflow: "hidden",
258
+ }}
259
+ >
260
+ <Accordion defaultExpanded disableGutters elevation={0}>
261
+ <AccordionSummary
262
+ expandIcon={<ExpandMoreIcon fontSize="small" />}
263
+ >
264
+ <Typography fontWeight={600}>My Filters</Typography>
265
+ </AccordionSummary>
266
+ <Divider sx={{ width: "100%" }} />
267
+ <AccordionDetails
268
+ sx={{
269
+ p: "9px",
270
+ maxHeight: "320px",
271
+ overflowY: "auto",
272
+ scrollbarWidth: "thin",
273
+ }}
274
+ >
275
+ {renderList(mappedSavedFilter, false)}
276
+ </AccordionDetails>
277
+ </Accordion>
278
+ </Box>
279
+
280
+ {/* ---- Shared Filters Section ---- */}
281
+ <Box
282
+ sx={{
283
+ background: "#fff",
284
+ borderRadius: "12px",
285
+ border: "1px solid #eee",
286
+ mb: 2,
287
+ overflow: "hidden",
288
+ }}
289
+ >
290
+ <Accordion disableGutters elevation={0}>
291
+ <AccordionSummary
292
+ expandIcon={<ExpandMoreIcon fontSize="small" />}
293
+ >
294
+ <Typography fontWeight={600}>Shared Filters</Typography>
295
+ </AccordionSummary>
296
+ <Divider sx={{ width: "100%" }} />
221
297
 
298
+ <AccordionDetails
299
+ sx={{
300
+ p: "9px",
301
+ maxHeight: "320px",
302
+ overflowY: "auto",
303
+ scrollbarWidth: "thin",
304
+ }}
305
+ >
306
+ {renderList(mappedSharedFilter, true)}
307
+ </AccordionDetails>
308
+ </Accordion>
309
+ </Box>
310
+ </>
311
+ )}
312
+
313
+ {/* Edit Component */}
222
314
  {editMode && (
223
315
  <SavedFilterEditComponent
224
316
  columnsData={columnsData}
@@ -228,7 +320,7 @@ const SavedFilter = ({
228
320
  setEditMode={setEditMode}
229
321
  searchTerm={searchTerm}
230
322
  setSearchTerm={setSearchTerm}
231
- setSavedFilterModalOpen={setSavedFilterModalOpen}
323
+ onSaveFilterButtonClick={onSaveFilterButtonClick}
232
324
  setDeleteFilterModalOpen={setDeleteFilterModalOpen}
233
325
  onChangeFunction={onChangeFunction}
234
326
  filterComponentOptions={filterComponentOptions}
@@ -239,3 +331,303 @@ const SavedFilter = ({
239
331
  };
240
332
 
241
333
  export default SavedFilter;
334
+
335
+ // import { useEffect, useState } from "react";
336
+ // import {
337
+ // FilterFormComponentProps,
338
+ // FilterMasterStateProps,
339
+ // } from "../../../types/filter";
340
+ // import {
341
+ // Accordion,
342
+ // AccordionDetails,
343
+ // AccordionSummary,
344
+ // Box,
345
+ // Divider,
346
+ // IconButton,
347
+ // List,
348
+ // ListItem,
349
+ // ListItemText,
350
+ // Typography,
351
+ // } from "@mui/material";
352
+ // import CustomSearch from "./search";
353
+ // import { DeleteIcon, EditIcon } from "../../../../assets/svg";
354
+ // import SavedFilterEditComponent from "./saved-edit-filter";
355
+ // import { CheckBox } from "../../../../assets/svg";
356
+ // import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
357
+
358
+ // const SavedFilter = ({
359
+ // columnsData,
360
+ // dropdownData,
361
+ // tableStates,
362
+ // editMode,
363
+ // setEditMode,
364
+ // setDeleteFilterModalOpen,
365
+ // onSaveFilterButtonClick,
366
+ // tabValue,
367
+ // onChangeFunction,
368
+ // filterComponentOptions,
369
+ // }: FilterFormComponentProps) => {
370
+ // const { filters, filterMaster, setFilterMaster, setFilterToDelete } =
371
+ // tableStates;
372
+
373
+ // const [searchTerm, setSearchTerm] = useState<string>("");
374
+
375
+ // // ------------------------------
376
+ // // APPLY FILTER STATE (same logic)
377
+ // // ------------------------------
378
+ // const applyFilterStates = (filter: any) => {
379
+ // const newFilterMaster = {
380
+ // ...filterMaster,
381
+ // saved_filters: {
382
+ // ...(filterMaster?.saved_filters ?? {}),
383
+ // selectedId: filter?.value || filter?.id,
384
+ // selectedName: filter?.label || filter?.name,
385
+ // selectedCode: filter?.code,
386
+ // shareWithTeam: filter?.is_shared,
387
+ // allowTeamEdit: filter?.is_editable,
388
+ // },
389
+ // attributes: {
390
+ // ...filterMaster?.attributes,
391
+ // radio: [],
392
+ // },
393
+ // activeFilterTabIndex: tabValue,
394
+ // } as FilterMasterStateProps;
395
+
396
+ // setFilterMaster(newFilterMaster);
397
+
398
+ // onChangeFunction &&
399
+ // onChangeFunction({
400
+ // filterMaster: newFilterMaster,
401
+ // filters,
402
+ // });
403
+ // };
404
+
405
+ // const handleListItemClick = (filter: any) => {
406
+ // applyFilterStates(filter);
407
+ // setEditMode && setEditMode(true);
408
+ // setFilterToDelete(filter);
409
+ // };
410
+
411
+ // const handleApplyFilter = (filter: any) => {
412
+ // applyFilterStates(filter);
413
+ // };
414
+
415
+ // // ============================
416
+ // // ⭐ RENDER SAVED FILTER LIST
417
+ // // ============================
418
+ // const renderSavedFilterList = () => {
419
+ // const list = columnsData?.saved_filter ?? [];
420
+
421
+ // return list.length === 0 ? (
422
+ // <Typography>No saved filters yet.</Typography>
423
+ // ) : (
424
+ // <List sx={{ display: "flex", flexDirection: "column", gap: 1 }}>
425
+ // {list
426
+ // .filter((f: any) =>
427
+ // f.label?.toLowerCase().includes(searchTerm.toLowerCase())
428
+ // )
429
+ // .map((filter: any) => (
430
+ // <ListItem
431
+ // key={filter.value}
432
+ // sx={{
433
+ // cursor: "pointer",
434
+ // borderRadius: "8px",
435
+ // bgcolor: "#f2f6f8ff",
436
+ // display: "flex",
437
+ // justifyContent: "space-between",
438
+ // gap: 1,
439
+ // alignItems: "center",
440
+ // "&:hover .action-icons": {
441
+ // opacity: 1,
442
+ // visibility: "visible",
443
+ // },
444
+ // }}
445
+ // onClick={() => handleApplyFilter(filter)}
446
+ // >
447
+ // {filter.value === filterMaster?.saved_filters?.selectedId && (
448
+ // <Box sx={{ display: "flex", alignItems: "center" }}>
449
+ // <CheckBox />
450
+ // </Box>
451
+ // )}
452
+
453
+ // <ListItemText primary={filter.label} />
454
+
455
+ // <Box
456
+ // onClick={(e) => e.stopPropagation()}
457
+ // className="action-icons"
458
+ // sx={{
459
+ // display: "flex",
460
+ // gap: 1,
461
+ // opacity: 0,
462
+ // visibility: "hidden",
463
+ // transition: "all 0.2s ease",
464
+ // }}
465
+ // >
466
+ // <IconButton
467
+ // size="large"
468
+ // onClick={() => handleListItemClick(filter)}
469
+ // >
470
+ // <EditIcon />
471
+ // </IconButton>
472
+
473
+ // <IconButton
474
+ // size="small"
475
+ // onClick={() => {
476
+ // setFilterToDelete(filter);
477
+ // setDeleteFilterModalOpen?.(true);
478
+ // }}
479
+ // >
480
+ // <DeleteIcon />
481
+ // </IconButton>
482
+ // </Box>
483
+ // </ListItem>
484
+ // ))}
485
+ // </List>
486
+ // );
487
+ // };
488
+
489
+ // // ============================
490
+ // // ⭐ RENDER SHARED FILTER LIST
491
+ // // ============================
492
+ // const renderSharedFilterList = () => {
493
+ // const list = columnsData?.shared_filter ?? [];
494
+
495
+ // return list.length === 0 ? (
496
+ // <Typography>No shared filters yet.</Typography>
497
+ // ) : (
498
+ // <List sx={{ display: "flex", flexDirection: "column", gap: 1 }}>
499
+ // {list
500
+ // .filter((f: any) =>
501
+ // f.name?.toLowerCase().includes(searchTerm.toLowerCase())
502
+ // )
503
+ // .map((filter: any) => (
504
+ // <ListItem
505
+ // key={filter.id}
506
+ // sx={{
507
+ // cursor: "pointer",
508
+ // borderRadius: "8px",
509
+ // bgcolor: "#f2f6f8ff",
510
+ // display: "flex",
511
+ // justifyContent: "space-between",
512
+ // gap: 1,
513
+ // alignItems: "center",
514
+ // }}
515
+ // onClick={() =>
516
+ // handleApplyFilter({
517
+ // id: filter.id,
518
+ // value: filter.id,
519
+ // name: filter.name,
520
+ // label: filter.name,
521
+ // code: filter.code,
522
+ // })
523
+ // }
524
+ // >
525
+ // {filter.id === filterMaster?.saved_filters?.selectedId && (
526
+ // <Box sx={{ display: "flex", alignItems: "center" }}>
527
+ // <CheckBox />
528
+ // </Box>
529
+ // )}
530
+
531
+ // <ListItemText primary={filter.name} />
532
+ // </ListItem>
533
+ // ))}
534
+ // </List>
535
+ // );
536
+ // };
537
+
538
+ // return (
539
+ // <Box className="saved-filter-component-wrapper">
540
+ // {!editMode && (
541
+ // <>
542
+ // <Box sx={{ mb: 2 }}>
543
+ // <CustomSearch
544
+ // value={searchTerm}
545
+ // onChange={setSearchTerm}
546
+ // className="search-input"
547
+ // />
548
+ // </Box>
549
+
550
+ // {/* ---- My Filters ---- */}
551
+ // <Box
552
+ // sx={{
553
+ // background: "#fff",
554
+ // borderRadius: "12px",
555
+ // border: "1px solid #eee",
556
+ // mb: 2,
557
+ // overflow: "hidden",
558
+ // }}
559
+ // >
560
+ // <Accordion defaultExpanded disableGutters elevation={0}>
561
+ // <AccordionSummary
562
+ // expandIcon={<ExpandMoreIcon fontSize="small" />}
563
+ // >
564
+ // <Typography fontWeight={600}>My Filters</Typography>
565
+ // </AccordionSummary>
566
+
567
+ // <Divider />
568
+ // <AccordionDetails
569
+ // sx={{
570
+ // p: "9px",
571
+ // maxHeight: "320px",
572
+ // overflowY: "auto",
573
+ // scrollbarWidth: "thin",
574
+ // }}
575
+ // >
576
+ // {renderSavedFilterList()}
577
+ // </AccordionDetails>
578
+ // </Accordion>
579
+ // </Box>
580
+
581
+ // {/* ---- Shared Filters ---- */}
582
+ // <Box
583
+ // sx={{
584
+ // background: "#fff",
585
+ // borderRadius: "12px",
586
+ // border: "1px solid #eee",
587
+ // mb: 2,
588
+ // overflow: "hidden",
589
+ // }}
590
+ // >
591
+ // <Accordion disableGutters elevation={0}>
592
+ // <AccordionSummary
593
+ // expandIcon={<ExpandMoreIcon fontSize="small" />}
594
+ // >
595
+ // <Typography fontWeight={600}>Shared Filters</Typography>
596
+ // </AccordionSummary>
597
+
598
+ // <Divider />
599
+ // <AccordionDetails
600
+ // sx={{
601
+ // p: "9px",
602
+ // maxHeight: "320px",
603
+ // overflowY: "auto",
604
+ // scrollbarWidth: "thin",
605
+ // }}
606
+ // >
607
+ // {renderSharedFilterList()}
608
+ // </AccordionDetails>
609
+ // </Accordion>
610
+ // </Box>
611
+ // </>
612
+ // )}
613
+
614
+ // {editMode && (
615
+ // <SavedFilterEditComponent
616
+ // columnsData={columnsData}
617
+ // dropdownData={dropdownData}
618
+ // tableStates={tableStates}
619
+ // editMode={editMode}
620
+ // setEditMode={setEditMode}
621
+ // searchTerm={searchTerm}
622
+ // setSearchTerm={setSearchTerm}
623
+ // onSaveFilterButtonClick={onSaveFilterButtonClick}
624
+ // setDeleteFilterModalOpen={setDeleteFilterModalOpen}
625
+ // onChangeFunction={onChangeFunction}
626
+ // filterComponentOptions={filterComponentOptions}
627
+ // />
628
+ // )}
629
+ // </Box>
630
+ // );
631
+ // };
632
+
633
+ // export default SavedFilter;