rez-table-listing-mui 1.0.49 → 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 +5 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/src/App.tsx +78 -33
- 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 +175 -66
- package/src/components/filter/components/forms/components/Dropdown.tsx +36 -3
- package/src/components/filter/components/forms/components/Filter-criteria.tsx +1 -1
- package/src/components/filter/components/forms/components/Multi-Select.tsx +62 -34
- package/src/components/filter/components/forms/index.tsx +20 -2
- package/src/components/filter/components/saved-filter.tsx +63 -9
- package/src/components/filter/index.tsx +3 -3
- 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 +63 -48
- package/src/components/table-settings/components/column.tsx +210 -170
- package/src/components/table-settings/components/quick-tab.tsx +277 -153
- package/src/components/table-settings/components/sorting.tsx +135 -109
- 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/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
|
@@ -17,6 +17,8 @@ import CustomToggleSwitchButton from "./toggle-button-switch";
|
|
|
17
17
|
import { FilterColumnsDataProps } from "../../../types/filter";
|
|
18
18
|
import { TOGGLE_BUTTON_TABS } from "../constants";
|
|
19
19
|
import CustomTabs from "../tabs/horizontal";
|
|
20
|
+
import { ColumnTabConfigProps } from "../../../types/filter-settings";
|
|
21
|
+
import InfoAlert from "../common/info-alert";
|
|
20
22
|
|
|
21
23
|
export interface ColumnItem {
|
|
22
24
|
label: string;
|
|
@@ -38,109 +40,125 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
38
40
|
const [searchTerm, setSearchTerm] = useState<string>("");
|
|
39
41
|
const [selectedTabIndex, setSelectedTabIndex] = useState<number>(0);
|
|
40
42
|
|
|
41
|
-
const {
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
const {
|
|
44
|
+
quickTabStates,
|
|
45
|
+
settingsData,
|
|
46
|
+
setSettingsData,
|
|
47
|
+
saveButtonError,
|
|
48
|
+
setSaveButtonError,
|
|
49
|
+
} = filterSettingStates;
|
|
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
|
+
*/
|
|
44
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
|
+
|
|
45
74
|
const mappedColumns: ColumnItem[] =
|
|
46
75
|
columnsData?.column_list?.map((column) => ({
|
|
47
76
|
label: column?.name,
|
|
48
77
|
value: column?.attribute_key,
|
|
49
78
|
})) || [];
|
|
50
79
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
setColumnTabState({
|
|
54
|
-
isDefault: settingsData.column.isDefault ?? true,
|
|
55
|
-
show_list: mappedColumns,
|
|
56
|
-
hide_list: [],
|
|
57
|
-
tabs: settingsData.column.tabs, // Use the real tab data!
|
|
58
|
-
});
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// Otherwise, use the default mapping
|
|
63
|
-
const mappedTabs: TabData[] =
|
|
64
|
-
quickTabStates?.show_list?.map((tab) => ({
|
|
65
|
-
tab_name: tab,
|
|
66
|
-
show_list: mappedColumns,
|
|
67
|
-
hide_list: [],
|
|
68
|
-
})) || [];
|
|
69
|
-
|
|
70
|
-
if (!Object.entries(columnTabState)?.length) {
|
|
71
|
-
setColumnTabState({
|
|
72
|
-
isDefault: true,
|
|
73
|
-
show_list: mappedColumns,
|
|
74
|
-
hide_list: [],
|
|
75
|
-
tabs: mappedTabs,
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// console.log(
|
|
80
|
-
// "+++++++++",
|
|
81
|
-
// columnTabState?.tabs,
|
|
82
|
-
// !settingsData?.column?.tabs?.length
|
|
83
|
-
// );
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* * If isDefault is true and tabs is undefined
|
|
87
|
-
* * - we need to set tabs
|
|
88
|
-
*
|
|
89
|
-
* * If isDefault is false and show_list and hide_list are undefined
|
|
90
|
-
* * - we need to set show_list and hide_list
|
|
91
|
-
*/
|
|
92
|
-
if (
|
|
93
|
-
columnTabState?.tabs?.length === undefined &&
|
|
94
|
-
!settingsData?.column?.tabs?.length
|
|
95
|
-
) {
|
|
96
|
-
setColumnTabState((prev) => ({
|
|
80
|
+
if (isStateEmpty) {
|
|
81
|
+
setSettingsData((prev) => ({
|
|
97
82
|
...prev,
|
|
98
|
-
|
|
83
|
+
column: {
|
|
84
|
+
isDefault: true,
|
|
85
|
+
show_list: mappedColumns,
|
|
86
|
+
hide_list: [],
|
|
87
|
+
},
|
|
99
88
|
}));
|
|
100
|
-
} else if (
|
|
101
|
-
|
|
89
|
+
} else if (isColumnDefault && isDefaultEmpty) {
|
|
90
|
+
setSettingsData((prev) => ({
|
|
102
91
|
...prev,
|
|
103
|
-
|
|
104
|
-
|
|
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
|
+
},
|
|
105
112
|
}));
|
|
106
113
|
}
|
|
107
|
-
}, [
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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
|
-
|
|
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]);
|
|
144
162
|
|
|
145
163
|
const sensors = useSensors(
|
|
146
164
|
useSensor(MouseSensor),
|
|
@@ -148,25 +166,29 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
148
166
|
useSensor(KeyboardSensor)
|
|
149
167
|
);
|
|
150
168
|
|
|
151
|
-
// Handle toggle between Default and Tab Wise
|
|
152
169
|
const handleToggleChange = (
|
|
153
170
|
_: React.MouseEvent<HTMLElement>,
|
|
154
171
|
newValue: boolean
|
|
155
172
|
) => {
|
|
156
173
|
if (newValue !== null) {
|
|
157
|
-
|
|
174
|
+
setSettingsData((prev) => ({
|
|
175
|
+
...prev,
|
|
176
|
+
column: {
|
|
177
|
+
...prev.column,
|
|
178
|
+
isDefault: newValue,
|
|
179
|
+
},
|
|
180
|
+
}));
|
|
158
181
|
}
|
|
159
182
|
};
|
|
160
183
|
|
|
161
|
-
// Get current show/hide lists based on mode
|
|
162
184
|
const getCurrentLists = () => {
|
|
163
|
-
if (
|
|
185
|
+
if (settingsColumnState?.isDefault) {
|
|
164
186
|
return {
|
|
165
|
-
showList:
|
|
166
|
-
hideList:
|
|
187
|
+
showList: settingsColumnState.show_list || [],
|
|
188
|
+
hideList: settingsColumnState.hide_list || [],
|
|
167
189
|
};
|
|
168
190
|
} else {
|
|
169
|
-
const currentTab =
|
|
191
|
+
const currentTab = settingsColumnState?.tabs?.[selectedTabIndex];
|
|
170
192
|
return {
|
|
171
193
|
showList: currentTab?.show_list || [],
|
|
172
194
|
hideList: currentTab?.hide_list || [],
|
|
@@ -176,7 +198,6 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
176
198
|
|
|
177
199
|
const { showList, hideList } = getCurrentLists();
|
|
178
200
|
|
|
179
|
-
// Convert to FilterValue format for ListingValues component
|
|
180
201
|
const showListValues = showList.map((item) => ({
|
|
181
202
|
id: item.value,
|
|
182
203
|
label: item.label,
|
|
@@ -198,55 +219,48 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
198
219
|
let newHideList = [...hideList];
|
|
199
220
|
|
|
200
221
|
if (fromContainerId === "tabs") {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
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);
|
|
206
226
|
}
|
|
207
227
|
} else if (fromContainerId === "list") {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
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);
|
|
213
232
|
}
|
|
214
233
|
}
|
|
215
234
|
|
|
216
|
-
updateLists(newShowList, newHideList);
|
|
217
|
-
};
|
|
218
|
-
|
|
219
|
-
// Update lists based on current mode
|
|
220
|
-
const updateLists = (
|
|
221
|
-
newShowList: ColumnItem[],
|
|
222
|
-
newHideList: ColumnItem[]
|
|
223
|
-
) => {
|
|
224
235
|
if (isColumnDefault) {
|
|
225
|
-
|
|
226
|
-
...
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
236
|
+
setSettingsData((prev) => ({
|
|
237
|
+
...prev,
|
|
238
|
+
column: {
|
|
239
|
+
...prev.column,
|
|
240
|
+
show_list: newShowList,
|
|
241
|
+
hide_list: newHideList,
|
|
242
|
+
},
|
|
243
|
+
}));
|
|
230
244
|
} else {
|
|
231
|
-
const updatedTabs =
|
|
245
|
+
const updatedTabs = [...(settingsColumnState?.tabs || [])];
|
|
232
246
|
updatedTabs[selectedTabIndex] = {
|
|
233
247
|
...updatedTabs[selectedTabIndex],
|
|
234
248
|
show_list: newShowList,
|
|
235
249
|
hide_list: newHideList,
|
|
236
250
|
};
|
|
237
|
-
|
|
238
|
-
...
|
|
239
|
-
|
|
240
|
-
|
|
251
|
+
setSettingsData((prev) => ({
|
|
252
|
+
...prev,
|
|
253
|
+
column: {
|
|
254
|
+
...prev.column,
|
|
255
|
+
tabs: updatedTabs,
|
|
256
|
+
},
|
|
257
|
+
}));
|
|
241
258
|
}
|
|
242
259
|
};
|
|
243
260
|
|
|
244
|
-
// Drag and drop logic
|
|
245
261
|
const handleDragEnd = (event: DragEndEvent) => {
|
|
246
262
|
const { active, over } = event;
|
|
247
|
-
if (!over)
|
|
248
|
-
return;
|
|
249
|
-
}
|
|
263
|
+
if (!over) return;
|
|
250
264
|
|
|
251
265
|
const currentContainer = active.data.current?.containerId;
|
|
252
266
|
const overContainer = over.data.current?.containerId;
|
|
@@ -261,34 +275,17 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
261
275
|
let newHideList = [...hideList];
|
|
262
276
|
|
|
263
277
|
if (currentContainer === overContainer) {
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
);
|
|
272
|
-
if (oldIndex !== -1 && newIndex !== -1) {
|
|
273
|
-
const [removed] = newHideList.splice(oldIndex, 1);
|
|
274
|
-
newHideList.splice(newIndex, 0, removed);
|
|
275
|
-
}
|
|
276
|
-
} else {
|
|
277
|
-
const oldIndex = newShowList.findIndex(
|
|
278
|
-
(item) => item.value === String(active.id)
|
|
279
|
-
);
|
|
280
|
-
const newIndex = newShowList.findIndex(
|
|
281
|
-
(item) => item.value === String(over.id)
|
|
282
|
-
);
|
|
283
|
-
if (oldIndex !== -1 && newIndex !== -1) {
|
|
284
|
-
const [removed] = newShowList.splice(oldIndex, 1);
|
|
285
|
-
newShowList.splice(newIndex, 0, removed);
|
|
286
|
-
}
|
|
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);
|
|
287
286
|
}
|
|
288
287
|
} else {
|
|
289
|
-
// Move between lists
|
|
290
288
|
if (currentContainer === "list" && overContainer === "tabs") {
|
|
291
|
-
// Move from hide to show
|
|
292
289
|
const idx = newHideList.findIndex(
|
|
293
290
|
(item) => item.value === String(active.id)
|
|
294
291
|
);
|
|
@@ -297,7 +294,6 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
297
294
|
newShowList.push(activeItem);
|
|
298
295
|
}
|
|
299
296
|
} else if (currentContainer === "tabs" && overContainer === "list") {
|
|
300
|
-
// Move from show to hide
|
|
301
297
|
const idx = newShowList.findIndex(
|
|
302
298
|
(item) => item.value === String(active.id)
|
|
303
299
|
);
|
|
@@ -308,29 +304,60 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
308
304
|
}
|
|
309
305
|
}
|
|
310
306
|
|
|
311
|
-
|
|
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
|
+
}
|
|
312
331
|
};
|
|
313
332
|
|
|
314
|
-
// Show All/Hide All logic
|
|
315
333
|
const handleShowAll = () => {
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
334
|
+
setSettingsData((prev) => ({
|
|
335
|
+
...prev,
|
|
336
|
+
column: {
|
|
337
|
+
...prev.column,
|
|
338
|
+
show_list: [...showList, ...hideList],
|
|
339
|
+
hide_list: [],
|
|
340
|
+
},
|
|
341
|
+
}));
|
|
319
342
|
};
|
|
320
343
|
|
|
321
344
|
const handleHideAll = () => {
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
345
|
+
setSettingsData((prev) => ({
|
|
346
|
+
...prev,
|
|
347
|
+
column: {
|
|
348
|
+
...prev.column,
|
|
349
|
+
show_list: [],
|
|
350
|
+
hide_list: [...hideList, ...showList],
|
|
351
|
+
},
|
|
352
|
+
}));
|
|
325
353
|
};
|
|
326
354
|
|
|
327
|
-
// Tab change handler
|
|
328
355
|
const handleTabChange = (_: React.SyntheticEvent, newValue: number) => {
|
|
329
356
|
setSelectedTabIndex(newValue);
|
|
330
357
|
};
|
|
331
358
|
|
|
332
359
|
const hasShowListQuickTabs =
|
|
333
|
-
quickTabStates?.show_list?.length !== 0 || isColumnDefault
|
|
360
|
+
quickTabStates?.show_list?.length !== 0 || isColumnDefault;
|
|
334
361
|
|
|
335
362
|
return (
|
|
336
363
|
<Box
|
|
@@ -339,17 +366,18 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
339
366
|
flexDirection: "column",
|
|
340
367
|
gap: "0.75rem",
|
|
341
368
|
height: "100%",
|
|
369
|
+
position: "relative",
|
|
342
370
|
}}
|
|
343
371
|
>
|
|
344
372
|
<Box>
|
|
345
373
|
<Typography variant="subtitle2" sx={{ mb: 1 }}>
|
|
346
374
|
Customize column by
|
|
347
375
|
</Typography>
|
|
348
|
-
<CustomToggleSwitchButton
|
|
376
|
+
{/* <CustomToggleSwitchButton
|
|
349
377
|
buttons={TOGGLE_BUTTON_TABS}
|
|
350
378
|
value={isColumnDefault}
|
|
351
379
|
onChange={handleToggleChange}
|
|
352
|
-
/>
|
|
380
|
+
/> */}
|
|
353
381
|
</Box>
|
|
354
382
|
|
|
355
383
|
<Box sx={{ flex: 1 }}>
|
|
@@ -367,7 +395,7 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
367
395
|
collisionDetection={closestCenter}
|
|
368
396
|
onDragEnd={handleDragEnd}
|
|
369
397
|
>
|
|
370
|
-
<Grid container spacing={2}
|
|
398
|
+
<Grid container spacing={2}>
|
|
371
399
|
<ListingValues
|
|
372
400
|
containerId="list"
|
|
373
401
|
headerText="Hidden In List"
|
|
@@ -385,6 +413,18 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
385
413
|
buttonText="Hide All"
|
|
386
414
|
onClick={handleHideAll}
|
|
387
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
|
+
}
|
|
388
428
|
/>
|
|
389
429
|
</Grid>
|
|
390
430
|
</DndContext>
|