rez-table-listing-mui 1.3.34 → 1.3.35

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,607 +1,3 @@
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
-
246
- // import { useEffect, useState } from "react";
247
- // import {
248
- // FilterFormComponentProps,
249
- // FilterMasterStateProps,
250
- // FilterOperationListProps,
251
- // } from "../../../types/filter";
252
- // import {
253
- // Accordion,
254
- // AccordionDetails,
255
- // AccordionSummary,
256
- // Box,
257
- // Divider,
258
- // IconButton,
259
- // List,
260
- // ListItem,
261
- // ListItemText,
262
- // Typography,
263
- // } from "@mui/material";
264
- // import CustomSearch from "./search";
265
- // import { DeleteIcon, EditIcon } from "../../../../assets/svg";
266
- // import SavedFilterEditComponent from "./saved-edit-filter";
267
- // // import { filterStyles } from "../style";
268
- // import { CheckBox } from "../../../../assets/svg";
269
- // import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
270
-
271
- // const SavedFilter = ({
272
- // columnsData,
273
- // dropdownData,
274
- // tableStates,
275
- // editMode,
276
- // setEditMode,
277
- // setDeleteFilterModalOpen,
278
- // onSaveFilterButtonClick,
279
- // tabValue,
280
- // onChangeFunction,
281
- // filterComponentOptions,
282
- // }: FilterFormComponentProps) => {
283
- // const { filters, filterMaster, setFilterMaster, setFilterToDelete } =
284
- // tableStates;
285
-
286
- // const [searchTerm, setSearchTerm] = useState<string>("");
287
-
288
- // const normalizeFilter = (f: any): FilterOperationListProps => {
289
- // const prefs =
290
- // f.sharedPreferences || f.preferences || f.meta || f.shared_meta || {};
291
-
292
- // return {
293
- // label: f.name || f.label || "Unnamed Filter",
294
- // value: f.id || f.value,
295
- // code: f.code ?? "",
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",
300
-
301
- // is_editable:
302
- // f.is_editable === true ||
303
- // f.is_editable === "true" ||
304
- // prefs.is_editable === true ||
305
- // prefs.is_editable === "true",
306
- // };
307
- // };
308
-
309
- // const mappedSavedFilter: FilterOperationListProps[] =
310
- // columnsData?.saved_filter?.map(normalizeFilter) ?? [];
311
- // // console.log("mappedSavedFilter", mappedSavedFilter);
312
-
313
- // const mappedSharedFilter: FilterOperationListProps[] =
314
- // columnsData?.shared_filter?.map(normalizeFilter) ?? [];
315
- // // console.log("mappedSharedFilter", mappedSharedFilter);
316
-
317
- // // Reset on unmount
318
- // useEffect(() => {
319
- // return () => {
320
- // const editModeFromTab =
321
- // filterComponentOptions?.tabOptions?.savedFilter?.editMode;
322
-
323
- // if (!editModeFromTab) {
324
- // setEditMode && setEditMode(false);
325
- // setFilterMaster(
326
- // (prev) =>
327
- // ({
328
- // ...prev,
329
- // saved_filters: {
330
- // ...(prev?.saved_filters ?? {}),
331
- // selectedId: "",
332
- // selectedName: "",
333
- // description: "",
334
- // selectedCode: "",
335
- // shareWithTeam: undefined,
336
- // allowTeamEdit: undefined,
337
- // },
338
- // } as FilterMasterStateProps)
339
- // );
340
- // }
341
- // };
342
- // }, []);
343
-
344
- // const applyFilterStates = (filter: FilterOperationListProps) => {
345
- // const newFilterMaster = {
346
- // ...filterMaster,
347
- // saved_filters: {
348
- // ...(filterMaster?.saved_filters ?? {}),
349
- // selectedId: filter.value,
350
- // selectedName: filter.label,
351
- // description: filter.description,
352
- // selectedCode: filter.code,
353
- // shareWithTeam: filter.is_shared,
354
- // allowTeamEdit: filter.is_editable,
355
- // },
356
- // attributes: {
357
- // ...filterMaster?.attributes,
358
- // radio: [],
359
- // },
360
- // activeFilterTabIndex: tabValue,
361
- // } as FilterMasterStateProps;
362
-
363
- // setFilterMaster(newFilterMaster);
364
-
365
- // onChangeFunction &&
366
- // onChangeFunction({
367
- // filterMaster: newFilterMaster,
368
- // filters,
369
- // });
370
- // };
371
-
372
- // const handleListItemClick = (filter: FilterOperationListProps) => {
373
- // applyFilterStates(filter);
374
- // setEditMode && setEditMode(true);
375
- // setFilterToDelete(filter);
376
- // };
377
-
378
- // const handleApplyFilter = (filter: FilterOperationListProps) => {
379
- // applyFilterStates(filter);
380
- // };
381
- // const [openAccordion, setOpenAccordion] = useState<"my" | "shared">("my");
382
-
383
- // /**
384
- // * renderList
385
- // * @param source - list to render
386
- // * @param isSharedList - true when rendering Shared Filters (default false)
387
- // *
388
- // * Behavior:
389
- // * - If isSharedList === true -> show Edit icon ONLY when filter.is_editable === true
390
- // * - If isSharedList === false -> show Edit icon always (or as per filter.is_editable if you prefer)
391
- // */
392
- // const renderList = (
393
- // source: FilterOperationListProps[],
394
- // isSharedList: boolean = false,
395
- // { emptyMessage = "No filters yet." } = {}
396
- // ) =>
397
- // source.length === 0 ? (
398
- // <Typography>{emptyMessage}</Typography>
399
- // ) : (
400
- // <List
401
- // sx={{
402
- // display: "flex",
403
- // flexDirection: "column",
404
- // gap: 1,
405
- // }}
406
- // >
407
- // {source
408
- // .filter((f) =>
409
- // f.label?.toLowerCase().includes(searchTerm.toLowerCase())
410
- // )
411
- // .map((filter) => (
412
- // <ListItem
413
- // key={filter.value}
414
- // sx={{
415
- // cursor: "pointer",
416
- // // border:
417
- // // filter.value ===
418
- // // tableStates?.filterMaster?.saved_filters?.selectedId
419
- // // ? `3px solid #7a5af8`
420
- // // : "1px solid #C5C5C5",
421
- // borderRadius: "8px",
422
- // bgcolor: "#f2f6f8ff",
423
- // display: "flex",
424
- // justifyContent: "space-between",
425
- // gap: 1,
426
- // alignItems: "center",
427
- // "&:hover .action-icons": {
428
- // opacity: 1,
429
- // visibility: "visible",
430
- // },
431
- // }}
432
- // onClick={() => handleApplyFilter(filter)}
433
- // >
434
- // {filter.value ===
435
- // tableStates?.filterMaster?.saved_filters?.selectedId && (
436
- // <Box sx={{ display: "flex", alignItems: "center" }}>
437
- // <CheckBox />
438
- // </Box>
439
- // )}
440
-
441
- // <ListItemText primary={filter.label} />
442
-
443
- // <Box
444
- // onClick={(e) => e.stopPropagation()}
445
- // className="action-icons"
446
- // sx={{
447
- // display: "flex",
448
- // gap: 1,
449
- // opacity: 0,
450
- // visibility: "hidden",
451
- // transition: "opacity 0.2s ease, visibility 0.2s ease",
452
- // }}
453
- // >
454
- // {((!isSharedList && filter.is_editable === true) ||
455
- // filter.is_owner === true) && (
456
- // // ||
457
- // // String(filter.created_by) !== String(filter.user_id))
458
- // <IconButton
459
- // size="large"
460
- // onClick={() => handleListItemClick(filter)}
461
- // >
462
- // <EditIcon />
463
- // </IconButton>
464
- // )}
465
- // {filter?.is_owner === true && (
466
- // <IconButton
467
- // size="small"
468
- // onClick={() => {
469
- // setFilterToDelete(filter);
470
- // setDeleteFilterModalOpen?.(true);
471
- // }}
472
- // >
473
- // <DeleteIcon />
474
- // </IconButton>
475
- // )}
476
- // </Box>
477
- // </ListItem>
478
- // ))}
479
- // </List>
480
- // );
481
-
482
- // return (
483
- // <Box
484
- // // sx={{
485
- // // ...filterStyles.filterMainComponentWrapper,
486
- // // ...filterStyles.scrollbarCustom,
487
- // // }}
488
- // className="saved-filter-component-wrapper"
489
- // >
490
- // {!editMode && (
491
- // <>
492
- // {/* Search Box */}
493
- // <Box sx={{ mb: 2 }}>
494
- // <CustomSearch
495
- // value={searchTerm}
496
- // onChange={setSearchTerm}
497
- // className="search-input"
498
- // />
499
- // </Box>
500
-
501
- // {/* ---- My Filters Section ---- */}
502
- // <Box
503
- // sx={{
504
- // background: "#fff",
505
- // borderRadius: "12px",
506
- // border: "1px solid #eee",
507
- // mb: 2,
508
- // overflow: "hidden",
509
- // }}
510
- // >
511
- // <Accordion
512
- // // defaultExpanded
513
- // disableGutters
514
- // elevation={0}
515
- // expanded={openAccordion === "my"}
516
- // onChange={() =>
517
- // setOpenAccordion(openAccordion === "my" ? "shared" : "my")
518
- // }
519
- // >
520
- // <AccordionSummary
521
- // expandIcon={<ExpandMoreIcon fontSize="small" />}
522
- // >
523
- // <Typography fontWeight={600}>My Filters</Typography>
524
- // </AccordionSummary>
525
- // <Divider sx={{ width: "100%" }} />
526
- // <AccordionDetails
527
- // sx={{
528
- // p: "9px",
529
- // maxHeight: "320px",
530
- // overflowY: "auto",
531
- // scrollbarWidth: "thin",
532
- // }}
533
- // >
534
- // {renderList(mappedSavedFilter) || (
535
- // <Typography>No My Filters</Typography>
536
- // )}
537
- // </AccordionDetails>
538
- // </Accordion>
539
- // </Box>
540
-
541
- // {/* ---- Shared Filters Section ---- */}
542
- // <Box
543
- // sx={{
544
- // background: "#fff",
545
- // borderRadius: "12px",
546
- // border: "1px solid #eee",
547
- // mb: 2,
548
- // overflow: "hidden",
549
- // }}
550
- // >
551
- // <Accordion
552
- // disableGutters
553
- // elevation={0}
554
- // expanded={openAccordion === "shared"}
555
- // onChange={() =>
556
- // setOpenAccordion(openAccordion === "shared" ? "my" : "shared")
557
- // }
558
- // >
559
- // <AccordionSummary
560
- // expandIcon={<ExpandMoreIcon fontSize="small" />}
561
- // >
562
- // <Typography fontWeight={600}>Shared Filters</Typography>
563
- // </AccordionSummary>
564
- // <Divider sx={{ width: "100%" }} />
565
-
566
- // <AccordionDetails
567
- // sx={{
568
- // p: "9px",
569
- // maxHeight: "320px",
570
- // overflowY: "auto",
571
- // scrollbarWidth: "thin",
572
- // }}
573
- // >
574
- // {renderList(mappedSharedFilter) || (
575
- // <Typography>No Shared Filters</Typography>
576
- // )}
577
- // </AccordionDetails>
578
- // </Accordion>
579
- // </Box>
580
- // </>
581
- // )}
582
-
583
- // {/* Edit Component */}
584
- // {editMode && (
585
- // <SavedFilterEditComponent
586
- // columnsData={columnsData}
587
- // dropdownData={dropdownData}
588
- // tableStates={tableStates}
589
- // editMode={editMode}
590
- // setEditMode={setEditMode}
591
- // searchTerm={searchTerm}
592
- // setSearchTerm={setSearchTerm}
593
- // onSaveFilterButtonClick={onSaveFilterButtonClick}
594
- // setDeleteFilterModalOpen={setDeleteFilterModalOpen}
595
- // onChangeFunction={onChangeFunction}
596
- // filterComponentOptions={filterComponentOptions}
597
- // />
598
- // )}
599
- // </Box>
600
- // );
601
- // };
602
-
603
- // export default SavedFilter;
604
-
605
1
  import { useEffect, useState } from "react";
606
2
  import {
607
3
  FilterFormComponentProps,
@@ -940,7 +336,7 @@ const SavedFilter = ({
940
336
  <AccordionDetails
941
337
  sx={{
942
338
  p: "9px",
943
- maxHeight: "320px",
339
+ maxHeight: "230px",
944
340
  overflowY: "auto",
945
341
  scrollbarWidth: "thin",
946
342
  }}
@@ -955,9 +351,9 @@ const SavedFilter = ({
955
351
  sx={{
956
352
  background: "#fff",
957
353
  borderRadius: "12px",
958
- // border: "1px solid "#eee",
959
- // mb: 2,
960
- // overflow: "hidden",
354
+ border: "1px solid #eee",
355
+ mb: 2,
356
+ overflow: "hidden",
961
357
  }}
962
358
  >
963
359
  <Accordion
@@ -977,7 +373,7 @@ const SavedFilter = ({
977
373
  <AccordionDetails
978
374
  sx={{
979
375
  p: "9px",
980
- maxHeight: "320px",
376
+ maxHeight: "230px",
981
377
  overflowY: "auto",
982
378
  scrollbarWidth: "thin",
983
379
  }}
@@ -1010,303 +406,3 @@ const SavedFilter = ({
1010
406
  };
1011
407
 
1012
408
  export default SavedFilter;
1013
-
1014
- // import { useEffect, useState } from "react";
1015
- // import {
1016
- // FilterFormComponentProps,
1017
- // FilterMasterStateProps,
1018
- // } from "../../../types/filter";
1019
- // import {
1020
- // Accordion,
1021
- // AccordionDetails,
1022
- // AccordionSummary,
1023
- // Box,
1024
- // Divider,
1025
- // IconButton,
1026
- // List,
1027
- // ListItem,
1028
- // ListItemText,
1029
- // Typography,
1030
- // } from "@mui/material";
1031
- // import CustomSearch from "./search";
1032
- // import { DeleteIcon, EditIcon } from "../../../../assets/svg";
1033
- // import SavedFilterEditComponent from "./saved-edit-filter";
1034
- // import { CheckBox } from "../../../../assets/svg";
1035
- // import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
1036
-
1037
- // const SavedFilter = ({
1038
- // columnsData,
1039
- // dropdownData,
1040
- // tableStates,
1041
- // editMode,
1042
- // setEditMode,
1043
- // setDeleteFilterModalOpen,
1044
- // onSaveFilterButtonClick,
1045
- // tabValue,
1046
- // onChangeFunction,
1047
- // filterComponentOptions,
1048
- // }: FilterFormComponentProps) => {
1049
- // const { filters, filterMaster, setFilterMaster, setFilterToDelete } =
1050
- // tableStates;
1051
-
1052
- // const [searchTerm, setSearchTerm] = useState<string>("");
1053
-
1054
- // // ------------------------------
1055
- // // APPLY FILTER STATE (same logic)
1056
- // // ------------------------------
1057
- // const applyFilterStates = (filter: any) => {
1058
- // const newFilterMaster = {
1059
- // ...filterMaster,
1060
- // saved_filters: {
1061
- // ...(filterMaster?.saved_filters ?? {}),
1062
- // selectedId: filter?.value || filter?.id,
1063
- // selectedName: filter?.label || filter?.name,
1064
- // selectedCode: filter?.code,
1065
- // shareWithTeam: filter?.is_shared,
1066
- // allowTeamEdit: filter?.is_editable,
1067
- // },
1068
- // attributes: {
1069
- // ...filterMaster?.attributes,
1070
- // radio: [],
1071
- // },
1072
- // activeFilterTabIndex: tabValue,
1073
- // } as FilterMasterStateProps;
1074
-
1075
- // setFilterMaster(newFilterMaster);
1076
-
1077
- // onChangeFunction &&
1078
- // onChangeFunction({
1079
- // filterMaster: newFilterMaster,
1080
- // filters,
1081
- // });
1082
- // };
1083
-
1084
- // const handleListItemClick = (filter: any) => {
1085
- // applyFilterStates(filter);
1086
- // setEditMode && setEditMode(true);
1087
- // setFilterToDelete(filter);
1088
- // };
1089
-
1090
- // const handleApplyFilter = (filter: any) => {
1091
- // applyFilterStates(filter);
1092
- // };
1093
-
1094
- // // ============================
1095
- // // ⭐ RENDER SAVED FILTER LIST
1096
- // // ============================
1097
- // const renderSavedFilterList = () => {
1098
- // const list = columnsData?.saved_filter ?? [];
1099
-
1100
- // return list.length === 0 ? (
1101
- // <Typography>No saved filters yet.</Typography>
1102
- // ) : (
1103
- // <List sx={{ display: "flex", flexDirection: "column", gap: 1 }}>
1104
- // {list
1105
- // .filter((f: any) =>
1106
- // f.label?.toLowerCase().includes(searchTerm.toLowerCase())
1107
- // )
1108
- // .map((filter: any) => (
1109
- // <ListItem
1110
- // key={filter.value}
1111
- // sx={{
1112
- // cursor: "pointer",
1113
- // borderRadius: "8px",
1114
- // bgcolor: "#f2f6f8ff",
1115
- // display: "flex",
1116
- // justifyContent: "space-between",
1117
- // gap: 1,
1118
- // alignItems: "center",
1119
- // "&:hover .action-icons": {
1120
- // opacity: 1,
1121
- // visibility: "visible",
1122
- // },
1123
- // }}
1124
- // onClick={() => handleApplyFilter(filter)}
1125
- // >
1126
- // {filter.value === filterMaster?.saved_filters?.selectedId && (
1127
- // <Box sx={{ display: "flex", alignItems: "center" }}>
1128
- // <CheckBox />
1129
- // </Box>
1130
- // )}
1131
-
1132
- // <ListItemText primary={filter.label} />
1133
-
1134
- // <Box
1135
- // onClick={(e) => e.stopPropagation()}
1136
- // className="action-icons"
1137
- // sx={{
1138
- // display: "flex",
1139
- // gap: 1,
1140
- // opacity: 0,
1141
- // visibility: "hidden",
1142
- // transition: "all 0.2s ease",
1143
- // }}
1144
- // >
1145
- // <IconButton
1146
- // size="large"
1147
- // onClick={() => handleListItemClick(filter)}
1148
- // >
1149
- // <EditIcon />
1150
- // </IconButton>
1151
-
1152
- // <IconButton
1153
- // size="small"
1154
- // onClick={() => {
1155
- // setFilterToDelete(filter);
1156
- // setDeleteFilterModalOpen?.(true);
1157
- // }}
1158
- // >
1159
- // <DeleteIcon />
1160
- // </IconButton>
1161
- // </Box>
1162
- // </ListItem>
1163
- // ))}
1164
- // </List>
1165
- // );
1166
- // };
1167
-
1168
- // // ============================
1169
- // // ⭐ RENDER SHARED FILTER LIST
1170
- // // ============================
1171
- // const renderSharedFilterList = () => {
1172
- // const list = columnsData?.shared_filter ?? [];
1173
-
1174
- // return list.length === 0 ? (
1175
- // <Typography>No shared filters yet.</Typography>
1176
- // ) : (
1177
- // <List sx={{ display: "flex", flexDirection: "column", gap: 1 }}>
1178
- // {list
1179
- // .filter((f: any) =>
1180
- // f.name?.toLowerCase().includes(searchTerm.toLowerCase())
1181
- // )
1182
- // .map((filter: any) => (
1183
- // <ListItem
1184
- // key={filter.id}
1185
- // sx={{
1186
- // cursor: "pointer",
1187
- // borderRadius: "8px",
1188
- // bgcolor: "#f2f6f8ff",
1189
- // display: "flex",
1190
- // justifyContent: "space-between",
1191
- // gap: 1,
1192
- // alignItems: "center",
1193
- // }}
1194
- // onClick={() =>
1195
- // handleApplyFilter({
1196
- // id: filter.id,
1197
- // value: filter.id,
1198
- // name: filter.name,
1199
- // label: filter.name,
1200
- // code: filter.code,
1201
- // })
1202
- // }
1203
- // >
1204
- // {filter.id === filterMaster?.saved_filters?.selectedId && (
1205
- // <Box sx={{ display: "flex", alignItems: "center" }}>
1206
- // <CheckBox />
1207
- // </Box>
1208
- // )}
1209
-
1210
- // <ListItemText primary={filter.name} />
1211
- // </ListItem>
1212
- // ))}
1213
- // </List>
1214
- // );
1215
- // };
1216
-
1217
- // return (
1218
- // <Box className="saved-filter-component-wrapper">
1219
- // {!editMode && (
1220
- // <>
1221
- // <Box sx={{ mb: 2 }}>
1222
- // <CustomSearch
1223
- // value={searchTerm}
1224
- // onChange={setSearchTerm}
1225
- // className="search-input"
1226
- // />
1227
- // </Box>
1228
-
1229
- // {/* ---- My Filters ---- */}
1230
- // <Box
1231
- // sx={{
1232
- // background: "#fff",
1233
- // borderRadius: "12px",
1234
- // border: "1px solid #eee",
1235
- // mb: 2,
1236
- // overflow: "hidden",
1237
- // }}
1238
- // >
1239
- // <Accordion defaultExpanded disableGutters elevation={0}>
1240
- // <AccordionSummary
1241
- // expandIcon={<ExpandMoreIcon fontSize="small" />}
1242
- // >
1243
- // <Typography fontWeight={600}>My Filters</Typography>
1244
- // </AccordionSummary>
1245
-
1246
- // <Divider />
1247
- // <AccordionDetails
1248
- // sx={{
1249
- // p: "9px",
1250
- // maxHeight: "320px",
1251
- // overflowY: "auto",
1252
- // scrollbarWidth: "thin",
1253
- // }}
1254
- // >
1255
- // {renderSavedFilterList()}
1256
- // </AccordionDetails>
1257
- // </Accordion>
1258
- // </Box>
1259
-
1260
- // {/* ---- Shared Filters ---- */}
1261
- // <Box
1262
- // sx={{
1263
- // background: "#fff",
1264
- // borderRadius: "12px",
1265
- // border: "1px solid #eee",
1266
- // mb: 2,
1267
- // overflow: "hidden",
1268
- // }}
1269
- // >
1270
- // <Accordion disableGutters elevation={0}>
1271
- // <AccordionSummary
1272
- // expandIcon={<ExpandMoreIcon fontSize="small" />}
1273
- // >
1274
- // <Typography fontWeight={600}>Shared Filters</Typography>
1275
- // </AccordionSummary>
1276
-
1277
- // <Divider />
1278
- // <AccordionDetails
1279
- // sx={{
1280
- // p: "9px",
1281
- // maxHeight: "320px",
1282
- // overflowY: "auto",
1283
- // scrollbarWidth: "thin",
1284
- // }}
1285
- // >
1286
- // {renderSharedFilterList()}
1287
- // </AccordionDetails>
1288
- // </Accordion>
1289
- // </Box>
1290
- // </>
1291
- // )}
1292
-
1293
- // {editMode && (
1294
- // <SavedFilterEditComponent
1295
- // columnsData={columnsData}
1296
- // dropdownData={dropdownData}
1297
- // tableStates={tableStates}
1298
- // editMode={editMode}
1299
- // setEditMode={setEditMode}
1300
- // searchTerm={searchTerm}
1301
- // setSearchTerm={setSearchTerm}
1302
- // onSaveFilterButtonClick={onSaveFilterButtonClick}
1303
- // setDeleteFilterModalOpen={setDeleteFilterModalOpen}
1304
- // onChangeFunction={onChangeFunction}
1305
- // filterComponentOptions={filterComponentOptions}
1306
- // />
1307
- // )}
1308
- // </Box>
1309
- // );
1310
- // };
1311
-
1312
- // export default SavedFilter;