rez-table-listing-mui 1.0.48 → 1.0.50
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.
- package/dist/index.d.ts +7 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/src/App.tsx +81 -24
- package/src/assets/svg.tsx +5 -5
- package/src/components/filter/components/attributes-filter.tsx +78 -52
- package/src/components/filter/components/forms/components/Date.tsx +178 -109
- package/src/components/filter/components/forms/components/Dropdown.tsx +36 -3
- package/src/components/filter/components/forms/components/Filter-criteria.tsx +3 -3
- package/src/components/filter/components/forms/components/Multi-Select.tsx +62 -34
- package/src/components/filter/components/forms/index.tsx +29 -7
- package/src/components/filter/components/main-filter.tsx +3 -0
- package/src/components/filter/components/saved-edit-filter.tsx +6 -0
- package/src/components/filter/components/saved-filter.tsx +66 -9
- package/src/components/filter/components/search/index.tsx +18 -1
- package/src/components/filter/index.tsx +21 -6
- package/src/components/filter/style.ts +1 -1
- package/src/components/index.scss +1 -1
- package/src/components/table-settings/common/info-alert.tsx +37 -0
- package/src/components/table-settings/common/listing-values.tsx +102 -54
- package/src/components/table-settings/components/column.tsx +206 -173
- package/src/components/table-settings/components/quick-tab.tsx +281 -153
- package/src/components/table-settings/components/sorting.tsx +135 -120
- package/src/components/table-settings/components/toggle-button-switch.tsx +2 -2
- package/src/components/table-settings/index.tsx +3 -5
- package/src/components/table-settings/style.ts +1 -0
- package/src/components/topbar/index.tsx +3 -1
- package/src/libs/hooks/useCraftTable.tsx +5 -0
- package/src/libs/hooks/useElementWidth.tsx +2 -2
- package/src/libs/hooks/useEntityTableAPI.tsx +1 -16
- package/src/libs/utils/apiColumn.ts +1 -11
- package/src/libs/utils/common.ts +4 -3
- package/src/types/filter-settings.ts +11 -0
- package/src/types/filter.ts +1 -2
- package/src/types/table-options.ts +2 -0
|
@@ -16,8 +16,9 @@ import { craftTableFilterSettingsOptionsProps } from "../../../types/table-optio
|
|
|
16
16
|
import CustomToggleSwitchButton from "./toggle-button-switch";
|
|
17
17
|
import { FilterColumnsDataProps } from "../../../types/filter";
|
|
18
18
|
import { TOGGLE_BUTTON_TABS } from "../constants";
|
|
19
|
-
import { ColumnTabConfigProps } from "../../../types/filter-settings";
|
|
20
19
|
import CustomTabs from "../tabs/horizontal";
|
|
20
|
+
import { ColumnTabConfigProps } from "../../../types/filter-settings";
|
|
21
|
+
import InfoAlert from "../common/info-alert";
|
|
21
22
|
|
|
22
23
|
export interface ColumnItem {
|
|
23
24
|
label: string;
|
|
@@ -41,113 +42,123 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
41
42
|
|
|
42
43
|
const {
|
|
43
44
|
quickTabStates,
|
|
44
|
-
columnTabState,
|
|
45
|
-
setColumnTabState,
|
|
46
45
|
settingsData,
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
setSettingsData,
|
|
47
|
+
saveButtonError,
|
|
48
|
+
setSaveButtonError,
|
|
49
49
|
} = filterSettingStates;
|
|
50
|
-
|
|
50
|
+
const settingsColumnState = (settingsData?.column ||
|
|
51
|
+
{}) as ColumnTabConfigProps;
|
|
52
|
+
const isColumnDefault = settingsColumnState?.isDefault || false;
|
|
53
|
+
const ERROR_CODE = "column_error";
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* ? What is this for?
|
|
57
|
+
*
|
|
58
|
+
* Three main conditions are checked here:
|
|
59
|
+
* - If the state is empty, then set the state to default and add all columns in show_list
|
|
60
|
+
* - if Default is selected and Default is empty, then add all columns in show_list
|
|
61
|
+
* - If Default is not selected and tabs is empty, then add all columns in show_list
|
|
62
|
+
* of their respective tabs
|
|
63
|
+
*/
|
|
51
64
|
useEffect(() => {
|
|
65
|
+
const stateToArray = Object.entries(settingsColumnState) || [];
|
|
66
|
+
const isStateEmpty = stateToArray.length ? false : true;
|
|
67
|
+
const isDefaultEmpty =
|
|
68
|
+
settingsColumnState?.show_list?.length ||
|
|
69
|
+
settingsColumnState?.hide_list?.length
|
|
70
|
+
? false
|
|
71
|
+
: true;
|
|
72
|
+
const isTabWiseEmpty = settingsColumnState?.tabs?.length ? false : true;
|
|
73
|
+
|
|
52
74
|
const mappedColumns: ColumnItem[] =
|
|
53
75
|
columnsData?.column_list?.map((column) => ({
|
|
54
76
|
label: column?.name,
|
|
55
77
|
value: column?.attribute_key,
|
|
56
78
|
})) || [];
|
|
57
79
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
setColumnTabState({
|
|
61
|
-
isDefault: settingsData.column.isDefault ?? true,
|
|
62
|
-
show_list: mappedColumns,
|
|
63
|
-
hide_list: [],
|
|
64
|
-
tabs: settingsData.column.tabs, // Use the real tab data!
|
|
65
|
-
});
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Otherwise, use the default mapping
|
|
70
|
-
const mappedTabs: TabData[] =
|
|
71
|
-
quickTabStates?.show_list?.map((tab) => ({
|
|
72
|
-
tab_name: tab,
|
|
73
|
-
show_list: mappedColumns,
|
|
74
|
-
hide_list: [],
|
|
75
|
-
})) || [];
|
|
76
|
-
|
|
77
|
-
if (!Object.entries(columnTabState)?.length) {
|
|
78
|
-
setColumnTabState({
|
|
79
|
-
isDefault: true,
|
|
80
|
-
show_list: mappedColumns,
|
|
81
|
-
hide_list: [],
|
|
82
|
-
tabs: mappedTabs,
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// console.log(
|
|
87
|
-
// "+++++++++",
|
|
88
|
-
// columnTabState?.tabs,
|
|
89
|
-
// !settingsData?.column?.tabs?.length
|
|
90
|
-
// );
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* * If isDefault is true and tabs is undefined
|
|
94
|
-
* * - we need to set tabs
|
|
95
|
-
*
|
|
96
|
-
* * If isDefault is false and show_list and hide_list are undefined
|
|
97
|
-
* * - we need to set show_list and hide_list
|
|
98
|
-
*/
|
|
99
|
-
if (
|
|
100
|
-
columnTabState?.tabs?.length === undefined &&
|
|
101
|
-
!settingsData?.column?.tabs?.length
|
|
102
|
-
) {
|
|
103
|
-
setColumnTabState((prev) => ({
|
|
80
|
+
if (isStateEmpty) {
|
|
81
|
+
setSettingsData((prev) => ({
|
|
104
82
|
...prev,
|
|
105
|
-
|
|
83
|
+
column: {
|
|
84
|
+
isDefault: true,
|
|
85
|
+
show_list: mappedColumns,
|
|
86
|
+
hide_list: [],
|
|
87
|
+
},
|
|
106
88
|
}));
|
|
107
|
-
} else if (
|
|
108
|
-
|
|
89
|
+
} else if (isColumnDefault && isDefaultEmpty) {
|
|
90
|
+
setSettingsData((prev) => ({
|
|
109
91
|
...prev,
|
|
110
|
-
|
|
111
|
-
|
|
92
|
+
column: {
|
|
93
|
+
...prev.column,
|
|
94
|
+
show_list: mappedColumns,
|
|
95
|
+
hide_list: [],
|
|
96
|
+
},
|
|
97
|
+
}));
|
|
98
|
+
} else if (!isColumnDefault && isTabWiseEmpty) {
|
|
99
|
+
const mappedTabs: TabData[] =
|
|
100
|
+
quickTabStates?.show_list?.map((tab) => ({
|
|
101
|
+
tab_name: tab,
|
|
102
|
+
show_list: mappedColumns,
|
|
103
|
+
hide_list: [],
|
|
104
|
+
})) || [];
|
|
105
|
+
|
|
106
|
+
setSettingsData((prev) => ({
|
|
107
|
+
...prev,
|
|
108
|
+
column: {
|
|
109
|
+
...prev.column,
|
|
110
|
+
tabs: mappedTabs,
|
|
111
|
+
},
|
|
112
112
|
}));
|
|
113
113
|
}
|
|
114
|
-
}, [
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
114
|
+
}, [isColumnDefault]);
|
|
115
|
+
|
|
116
|
+
useEffect(() => {
|
|
117
|
+
const showList = settingsColumnState?.show_list || [];
|
|
118
|
+
const hideList = settingsColumnState?.hide_list || [];
|
|
119
|
+
|
|
120
|
+
if (showList || hideList) {
|
|
121
|
+
const isValidShowList = showList?.length > 0;
|
|
122
|
+
console.log("inside show list and hide list if", isValidShowList);
|
|
123
|
+
|
|
124
|
+
if (!isValidShowList) {
|
|
125
|
+
console.log("not a valid show list");
|
|
126
|
+
|
|
127
|
+
const hasColumnError = saveButtonError.messages.some(
|
|
128
|
+
(message) => message.type === ERROR_CODE
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
if (!hasColumnError) {
|
|
132
|
+
console.log("inside if");
|
|
133
|
+
setSaveButtonError((prev) => ({
|
|
134
|
+
...prev,
|
|
135
|
+
hasError: true,
|
|
136
|
+
messages: [
|
|
137
|
+
...prev.messages,
|
|
138
|
+
{
|
|
139
|
+
type: ERROR_CODE,
|
|
140
|
+
message: "Column: Please select at least one column",
|
|
141
|
+
},
|
|
142
|
+
],
|
|
143
|
+
}));
|
|
144
|
+
}
|
|
145
|
+
} else {
|
|
146
|
+
console.log("inside else");
|
|
147
|
+
const hasOtherMessages = saveButtonError?.messages?.some(
|
|
148
|
+
(message) => message.type !== ERROR_CODE
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
// Reset error state if the list is valid
|
|
152
|
+
setSaveButtonError((prev) => ({
|
|
153
|
+
...prev,
|
|
154
|
+
hasError: hasOtherMessages,
|
|
155
|
+
messages:
|
|
156
|
+
prev?.messages?.filter((message) => message.type !== ERROR_CODE) ||
|
|
157
|
+
[],
|
|
158
|
+
}));
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}, [settingsColumnState?.show_list, settingsColumnState?.hide_list]);
|
|
151
162
|
|
|
152
163
|
const sensors = useSensors(
|
|
153
164
|
useSensor(MouseSensor),
|
|
@@ -155,25 +166,29 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
155
166
|
useSensor(KeyboardSensor)
|
|
156
167
|
);
|
|
157
168
|
|
|
158
|
-
// Handle toggle between Default and Tab Wise
|
|
159
169
|
const handleToggleChange = (
|
|
160
170
|
_: React.MouseEvent<HTMLElement>,
|
|
161
171
|
newValue: boolean
|
|
162
172
|
) => {
|
|
163
173
|
if (newValue !== null) {
|
|
164
|
-
|
|
174
|
+
setSettingsData((prev) => ({
|
|
175
|
+
...prev,
|
|
176
|
+
column: {
|
|
177
|
+
...prev.column,
|
|
178
|
+
isDefault: newValue,
|
|
179
|
+
},
|
|
180
|
+
}));
|
|
165
181
|
}
|
|
166
182
|
};
|
|
167
183
|
|
|
168
|
-
// Get current show/hide lists based on mode
|
|
169
184
|
const getCurrentLists = () => {
|
|
170
|
-
if (
|
|
185
|
+
if (settingsColumnState?.isDefault) {
|
|
171
186
|
return {
|
|
172
|
-
showList:
|
|
173
|
-
hideList:
|
|
187
|
+
showList: settingsColumnState.show_list || [],
|
|
188
|
+
hideList: settingsColumnState.hide_list || [],
|
|
174
189
|
};
|
|
175
190
|
} else {
|
|
176
|
-
const currentTab =
|
|
191
|
+
const currentTab = settingsColumnState?.tabs?.[selectedTabIndex];
|
|
177
192
|
return {
|
|
178
193
|
showList: currentTab?.show_list || [],
|
|
179
194
|
hideList: currentTab?.hide_list || [],
|
|
@@ -183,7 +198,6 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
183
198
|
|
|
184
199
|
const { showList, hideList } = getCurrentLists();
|
|
185
200
|
|
|
186
|
-
// Convert to FilterValue format for ListingValues component
|
|
187
201
|
const showListValues = showList.map((item) => ({
|
|
188
202
|
id: item.value,
|
|
189
203
|
label: item.label,
|
|
@@ -205,55 +219,48 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
205
219
|
let newHideList = [...hideList];
|
|
206
220
|
|
|
207
221
|
if (fromContainerId === "tabs") {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
newHideList.push(itemToMove);
|
|
222
|
+
const idx = newShowList.findIndex((item) => item.value === itemId);
|
|
223
|
+
if (idx > -1) {
|
|
224
|
+
const [moved] = newShowList.splice(idx, 1);
|
|
225
|
+
newHideList.push(moved);
|
|
213
226
|
}
|
|
214
227
|
} else if (fromContainerId === "list") {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
newShowList.push(itemToMove);
|
|
228
|
+
const idx = newHideList.findIndex((item) => item.value === itemId);
|
|
229
|
+
if (idx > -1) {
|
|
230
|
+
const [moved] = newHideList.splice(idx, 1);
|
|
231
|
+
newShowList.push(moved);
|
|
220
232
|
}
|
|
221
233
|
}
|
|
222
234
|
|
|
223
|
-
updateLists(newShowList, newHideList);
|
|
224
|
-
};
|
|
225
|
-
|
|
226
|
-
// Update lists based on current mode
|
|
227
|
-
const updateLists = (
|
|
228
|
-
newShowList: ColumnItem[],
|
|
229
|
-
newHideList: ColumnItem[]
|
|
230
|
-
) => {
|
|
231
235
|
if (isColumnDefault) {
|
|
232
|
-
|
|
233
|
-
...
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
236
|
+
setSettingsData((prev) => ({
|
|
237
|
+
...prev,
|
|
238
|
+
column: {
|
|
239
|
+
...prev.column,
|
|
240
|
+
show_list: newShowList,
|
|
241
|
+
hide_list: newHideList,
|
|
242
|
+
},
|
|
243
|
+
}));
|
|
237
244
|
} else {
|
|
238
|
-
const updatedTabs =
|
|
245
|
+
const updatedTabs = [...(settingsColumnState?.tabs || [])];
|
|
239
246
|
updatedTabs[selectedTabIndex] = {
|
|
240
247
|
...updatedTabs[selectedTabIndex],
|
|
241
248
|
show_list: newShowList,
|
|
242
249
|
hide_list: newHideList,
|
|
243
250
|
};
|
|
244
|
-
|
|
245
|
-
...
|
|
246
|
-
|
|
247
|
-
|
|
251
|
+
setSettingsData((prev) => ({
|
|
252
|
+
...prev,
|
|
253
|
+
column: {
|
|
254
|
+
...prev.column,
|
|
255
|
+
tabs: updatedTabs,
|
|
256
|
+
},
|
|
257
|
+
}));
|
|
248
258
|
}
|
|
249
259
|
};
|
|
250
260
|
|
|
251
|
-
// Drag and drop logic
|
|
252
261
|
const handleDragEnd = (event: DragEndEvent) => {
|
|
253
262
|
const { active, over } = event;
|
|
254
|
-
if (!over)
|
|
255
|
-
return;
|
|
256
|
-
}
|
|
263
|
+
if (!over) return;
|
|
257
264
|
|
|
258
265
|
const currentContainer = active.data.current?.containerId;
|
|
259
266
|
const overContainer = over.data.current?.containerId;
|
|
@@ -268,34 +275,17 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
268
275
|
let newHideList = [...hideList];
|
|
269
276
|
|
|
270
277
|
if (currentContainer === overContainer) {
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
);
|
|
279
|
-
if (oldIndex !== -1 && newIndex !== -1) {
|
|
280
|
-
const [removed] = newHideList.splice(oldIndex, 1);
|
|
281
|
-
newHideList.splice(newIndex, 0, removed);
|
|
282
|
-
}
|
|
283
|
-
} else {
|
|
284
|
-
const oldIndex = newShowList.findIndex(
|
|
285
|
-
(item) => item.value === String(active.id)
|
|
286
|
-
);
|
|
287
|
-
const newIndex = newShowList.findIndex(
|
|
288
|
-
(item) => item.value === String(over.id)
|
|
289
|
-
);
|
|
290
|
-
if (oldIndex !== -1 && newIndex !== -1) {
|
|
291
|
-
const [removed] = newShowList.splice(oldIndex, 1);
|
|
292
|
-
newShowList.splice(newIndex, 0, removed);
|
|
293
|
-
}
|
|
278
|
+
const list = currentContainer === "list" ? newHideList : newShowList;
|
|
279
|
+
const oldIndex = list.findIndex(
|
|
280
|
+
(item) => item.value === String(active.id)
|
|
281
|
+
);
|
|
282
|
+
const newIndex = list.findIndex((item) => item.value === String(over.id));
|
|
283
|
+
if (oldIndex !== -1 && newIndex !== -1) {
|
|
284
|
+
const [removed] = list.splice(oldIndex, 1);
|
|
285
|
+
list.splice(newIndex, 0, removed);
|
|
294
286
|
}
|
|
295
287
|
} else {
|
|
296
|
-
// Move between lists
|
|
297
288
|
if (currentContainer === "list" && overContainer === "tabs") {
|
|
298
|
-
// Move from hide to show
|
|
299
289
|
const idx = newHideList.findIndex(
|
|
300
290
|
(item) => item.value === String(active.id)
|
|
301
291
|
);
|
|
@@ -304,7 +294,6 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
304
294
|
newShowList.push(activeItem);
|
|
305
295
|
}
|
|
306
296
|
} else if (currentContainer === "tabs" && overContainer === "list") {
|
|
307
|
-
// Move from show to hide
|
|
308
297
|
const idx = newShowList.findIndex(
|
|
309
298
|
(item) => item.value === String(active.id)
|
|
310
299
|
);
|
|
@@ -315,29 +304,60 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
315
304
|
}
|
|
316
305
|
}
|
|
317
306
|
|
|
318
|
-
|
|
307
|
+
if (isColumnDefault) {
|
|
308
|
+
setSettingsData((prev) => ({
|
|
309
|
+
...prev,
|
|
310
|
+
column: {
|
|
311
|
+
...prev.column,
|
|
312
|
+
show_list: newShowList,
|
|
313
|
+
hide_list: newHideList,
|
|
314
|
+
},
|
|
315
|
+
}));
|
|
316
|
+
} else {
|
|
317
|
+
const updatedTabs = [...(settingsColumnState?.tabs || [])];
|
|
318
|
+
updatedTabs[selectedTabIndex] = {
|
|
319
|
+
...updatedTabs[selectedTabIndex],
|
|
320
|
+
show_list: newShowList,
|
|
321
|
+
hide_list: newHideList,
|
|
322
|
+
};
|
|
323
|
+
setSettingsData((prev) => ({
|
|
324
|
+
...prev,
|
|
325
|
+
column: {
|
|
326
|
+
...prev.column,
|
|
327
|
+
tabs: updatedTabs,
|
|
328
|
+
},
|
|
329
|
+
}));
|
|
330
|
+
}
|
|
319
331
|
};
|
|
320
332
|
|
|
321
|
-
// Show All/Hide All logic
|
|
322
333
|
const handleShowAll = () => {
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
334
|
+
setSettingsData((prev) => ({
|
|
335
|
+
...prev,
|
|
336
|
+
column: {
|
|
337
|
+
...prev.column,
|
|
338
|
+
show_list: [...showList, ...hideList],
|
|
339
|
+
hide_list: [],
|
|
340
|
+
},
|
|
341
|
+
}));
|
|
326
342
|
};
|
|
327
343
|
|
|
328
344
|
const handleHideAll = () => {
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
345
|
+
setSettingsData((prev) => ({
|
|
346
|
+
...prev,
|
|
347
|
+
column: {
|
|
348
|
+
...prev.column,
|
|
349
|
+
show_list: [],
|
|
350
|
+
hide_list: [...hideList, ...showList],
|
|
351
|
+
},
|
|
352
|
+
}));
|
|
332
353
|
};
|
|
333
354
|
|
|
334
|
-
// Tab change handler
|
|
335
355
|
const handleTabChange = (_: React.SyntheticEvent, newValue: number) => {
|
|
336
356
|
setSelectedTabIndex(newValue);
|
|
337
357
|
};
|
|
338
358
|
|
|
339
359
|
const hasShowListQuickTabs =
|
|
340
|
-
quickTabStates?.show_list?.length !== 0 || isColumnDefault
|
|
360
|
+
quickTabStates?.show_list?.length !== 0 || isColumnDefault;
|
|
341
361
|
|
|
342
362
|
return (
|
|
343
363
|
<Box
|
|
@@ -346,17 +366,18 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
346
366
|
flexDirection: "column",
|
|
347
367
|
gap: "0.75rem",
|
|
348
368
|
height: "100%",
|
|
369
|
+
position: "relative",
|
|
349
370
|
}}
|
|
350
371
|
>
|
|
351
372
|
<Box>
|
|
352
373
|
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
353
374
|
Customize column by
|
|
354
375
|
</Typography>
|
|
355
|
-
<CustomToggleSwitchButton
|
|
376
|
+
{/* <CustomToggleSwitchButton
|
|
356
377
|
buttons={TOGGLE_BUTTON_TABS}
|
|
357
378
|
value={isColumnDefault}
|
|
358
379
|
onChange={handleToggleChange}
|
|
359
|
-
/>
|
|
380
|
+
/> */}
|
|
360
381
|
</Box>
|
|
361
382
|
|
|
362
383
|
<Box sx={{ flex: 1 }}>
|
|
@@ -374,7 +395,7 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
374
395
|
collisionDetection={closestCenter}
|
|
375
396
|
onDragEnd={handleDragEnd}
|
|
376
397
|
>
|
|
377
|
-
<Grid container spacing={2}
|
|
398
|
+
<Grid container spacing={2}>
|
|
378
399
|
<ListingValues
|
|
379
400
|
containerId="list"
|
|
380
401
|
headerText="Hidden In List"
|
|
@@ -392,6 +413,18 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
392
413
|
buttonText="Hide All"
|
|
393
414
|
onClick={handleHideAll}
|
|
394
415
|
onItemToggle={handleItemToggle}
|
|
416
|
+
AlertComponenet={
|
|
417
|
+
<InfoAlert
|
|
418
|
+
message={
|
|
419
|
+
"Please select at least 1 value to display as tabs."
|
|
420
|
+
}
|
|
421
|
+
width={"49%"}
|
|
422
|
+
position="absolute"
|
|
423
|
+
color="#088AB2"
|
|
424
|
+
top={2}
|
|
425
|
+
zIndex={1}
|
|
426
|
+
/>
|
|
427
|
+
}
|
|
395
428
|
/>
|
|
396
429
|
</Grid>
|
|
397
430
|
</DndContext>
|