rez-table-listing-mui 1.2.15 → 1.2.17
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 +8 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/assets/svg.tsx +2 -1
- package/src/kanban/index.tsx +11 -2
- package/src/listing/components/common/index.scss +1 -1
- package/src/listing/components/filter/components/attributes-filter.tsx +156 -50
- package/src/listing/components/filter/components/forms/components/Filter-criteria.tsx +21 -2
- package/src/listing/components/filter/components/forms/index.tsx +29 -9
- package/src/listing/components/filter/components/main-filter.tsx +16 -1
- package/src/listing/components/filter/components/saved-edit-filter.tsx +27 -0
- package/src/listing/components/filter/components/saved-filter.tsx +66 -25
- package/src/listing/components/filter/index.tsx +56 -44
- package/src/listing/components/index.scss +1 -3
- package/src/listing/components/login/index.tsx +1 -1
- package/src/listing/components/table-head.tsx +2 -6
- package/src/listing/components/table-settings/components/column.tsx +0 -5
- package/src/listing/components/table-settings/components/group-by.tsx +3 -5
- package/src/listing/components/table-settings/components/lane.tsx +2 -4
- package/src/listing/components/table-settings/components/sorting.tsx +0 -2
- package/src/listing/components/tabs/index.scss +1 -1
- package/src/listing/components/topbar/index.scss +0 -1
- package/src/listing/components/topbar/index.tsx +66 -20
- package/src/listing/libs/hooks/useEntityTableAPI.tsx +66 -5
- package/src/listing/libs/hooks/useGetNavigationLayoutAPI.tsx +12 -0
- package/src/listing/libs/services/getLayoutAPI.tsx +17 -0
- package/src/listing/libs/services/saveLayoutAPI.tsx +20 -0
- package/src/listing/libs/utils/apiColumn.ts +2 -2
- package/src/listing/libs/utils/common.ts +1 -0
- package/src/listing/types/common.ts +8 -0
- package/src/listing/types/filter.ts +13 -0
- package/src/view/FIlterWrapper.tsx +46 -0
- package/src/view/ListingView.tsx +18 -7
|
@@ -29,8 +29,10 @@ const SavedFilter = ({
|
|
|
29
29
|
setDeleteFilterModalOpen,
|
|
30
30
|
setSavedFilterModalOpen,
|
|
31
31
|
tabValue,
|
|
32
|
+
onChangeFunction,
|
|
32
33
|
}: FilterFormComponentProps) => {
|
|
33
|
-
const { setFilterMaster, setFilterToDelete } =
|
|
34
|
+
const { filters, filterMaster, setFilterMaster, setFilterToDelete } =
|
|
35
|
+
tableStates;
|
|
34
36
|
const [searchTerm, setSearchTerm] = useState<string>("");
|
|
35
37
|
const [criteriaSearchTerm, setCriteriaSearchTerm] = useState<string>("");
|
|
36
38
|
|
|
@@ -55,36 +57,74 @@ const SavedFilter = ({
|
|
|
55
57
|
}, []);
|
|
56
58
|
|
|
57
59
|
const handleListItemClick = (filter: FilterOperationListProps) => {
|
|
58
|
-
setFilterMaster(
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
60
|
+
// setFilterMaster(
|
|
61
|
+
// (prev) =>
|
|
62
|
+
// ({
|
|
63
|
+
// ...prev,
|
|
64
|
+
// saved_filters: {
|
|
65
|
+
// ...prev?.attributes,
|
|
66
|
+
// selectedId: filter?.value,
|
|
67
|
+
// selectedName: filter?.label,
|
|
68
|
+
// },
|
|
69
|
+
// attributes: {
|
|
70
|
+
// ...filterMaster?.attributes,
|
|
71
|
+
// radio: [],
|
|
72
|
+
// },
|
|
73
|
+
// activeFilterTabIndex: tabValue,
|
|
74
|
+
// } as FilterMasterStateProps)
|
|
75
|
+
// );
|
|
76
|
+
|
|
77
|
+
const newFilterMasterState = {
|
|
78
|
+
...filterMaster,
|
|
79
|
+
saved_filters: {
|
|
80
|
+
...filterMaster?.attributes,
|
|
81
|
+
selectedId: filter?.value,
|
|
82
|
+
selectedName: filter?.label,
|
|
83
|
+
},
|
|
84
|
+
attributes: {
|
|
85
|
+
...filterMaster?.attributes,
|
|
86
|
+
radio: [],
|
|
87
|
+
},
|
|
88
|
+
activeFilterTabIndex: tabValue,
|
|
89
|
+
} as FilterMasterStateProps;
|
|
90
|
+
|
|
91
|
+
setFilterMaster(newFilterMasterState);
|
|
92
|
+
|
|
93
|
+
const newState = {
|
|
94
|
+
filterMaster: newFilterMasterState,
|
|
95
|
+
filters: filters,
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
onChangeFunction && onChangeFunction(newState);
|
|
99
|
+
|
|
70
100
|
// setEditfilter state on edit icon click
|
|
71
101
|
setEditMode && setEditMode(true);
|
|
72
102
|
setFilterToDelete(filter);
|
|
73
103
|
};
|
|
74
104
|
|
|
75
105
|
const handleAppyFilter = (filter: FilterOperationListProps) => {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
106
|
+
const newFilterMasterState = {
|
|
107
|
+
...filterMaster,
|
|
108
|
+
saved_filters: {
|
|
109
|
+
...filterMaster?.attributes,
|
|
110
|
+
selectedId: filter?.value,
|
|
111
|
+
selectedName: filter?.label,
|
|
112
|
+
},
|
|
113
|
+
attributes: {
|
|
114
|
+
...filterMaster?.attributes,
|
|
115
|
+
radio: [],
|
|
116
|
+
},
|
|
117
|
+
activeFilterTabIndex: tabValue,
|
|
118
|
+
} as FilterMasterStateProps;
|
|
119
|
+
|
|
120
|
+
setFilterMaster(newFilterMasterState);
|
|
121
|
+
|
|
122
|
+
const newState = {
|
|
123
|
+
filterMaster: newFilterMasterState,
|
|
124
|
+
filters: filters,
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
onChangeFunction && onChangeFunction(newState);
|
|
88
128
|
};
|
|
89
129
|
|
|
90
130
|
const renderList = () => (
|
|
@@ -208,6 +248,7 @@ const SavedFilter = ({
|
|
|
208
248
|
setCriteriaSearchTerm={setCriteriaSearchTerm}
|
|
209
249
|
setSavedFilterModalOpen={setSavedFilterModalOpen}
|
|
210
250
|
setDeleteFilterModalOpen={setDeleteFilterModalOpen}
|
|
251
|
+
onChangeFunction={onChangeFunction}
|
|
211
252
|
/>
|
|
212
253
|
) : null}
|
|
213
254
|
</Box>
|
|
@@ -23,6 +23,7 @@ export function TableFilter({
|
|
|
23
23
|
onSaveFilter,
|
|
24
24
|
onUpdateFilter,
|
|
25
25
|
dropdownData,
|
|
26
|
+
onChangeFunction,
|
|
26
27
|
}: FilterDrawerProps) {
|
|
27
28
|
const [tabValue, setTabValue] = useState(0);
|
|
28
29
|
const [editMode, setEditMode] = useState(false);
|
|
@@ -30,6 +31,11 @@ export function TableFilter({
|
|
|
30
31
|
UpdatedFilterStateProps[]
|
|
31
32
|
>([]);
|
|
32
33
|
|
|
34
|
+
// tabs
|
|
35
|
+
const FILTER_TAB = 0;
|
|
36
|
+
const SAVED_TAB = 1;
|
|
37
|
+
const ATTR_TAB = 2;
|
|
38
|
+
|
|
33
39
|
// remove this
|
|
34
40
|
const [saveFilterModalOpen, setSaveFilterModalOpen] = useState(false);
|
|
35
41
|
const [deleteFilterModalOpen, setDeleteFilterModalOpen] = useState(false);
|
|
@@ -45,6 +51,26 @@ export function TableFilter({
|
|
|
45
51
|
setShowFilterOption,
|
|
46
52
|
} = tableStates;
|
|
47
53
|
|
|
54
|
+
const clearAttributeRadio = () => {
|
|
55
|
+
const newFilterMaster = {
|
|
56
|
+
...filterMaster,
|
|
57
|
+
attributes: {
|
|
58
|
+
...filterMaster?.attributes,
|
|
59
|
+
radio: [],
|
|
60
|
+
},
|
|
61
|
+
activeFilterTabIndex: FILTER_TAB,
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
setFilterMaster(newFilterMaster as FilterMasterStateProps);
|
|
65
|
+
|
|
66
|
+
// const newState = {
|
|
67
|
+
// filterMaster: newFilterMaster,
|
|
68
|
+
// filters: filters,
|
|
69
|
+
// };
|
|
70
|
+
|
|
71
|
+
// onChangeFunction && onChangeFunction(newState);
|
|
72
|
+
};
|
|
73
|
+
|
|
48
74
|
const filterNameInput: InputField = {
|
|
49
75
|
label: "Filter Name",
|
|
50
76
|
placeholder: 'e.g., "Website Leads - This Week"',
|
|
@@ -78,6 +104,10 @@ export function TableFilter({
|
|
|
78
104
|
}, [filters, columnsData, tabValue]);
|
|
79
105
|
|
|
80
106
|
const handleTabChange = (_: React.SyntheticEvent, newValue: number) => {
|
|
107
|
+
if (tabValue === ATTR_TAB && newValue === FILTER_TAB) {
|
|
108
|
+
clearAttributeRadio();
|
|
109
|
+
}
|
|
110
|
+
|
|
81
111
|
setTabValue(newValue);
|
|
82
112
|
if (newValue === 0) {
|
|
83
113
|
setEditMode(false);
|
|
@@ -93,44 +123,33 @@ export function TableFilter({
|
|
|
93
123
|
];
|
|
94
124
|
|
|
95
125
|
const handleTabCrossClick = (index: number) => {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
126
|
+
// always-clear bits
|
|
127
|
+
setFilters([]);
|
|
128
|
+
setSelectedFilters([]);
|
|
129
|
+
|
|
130
|
+
// only tab 1 needs this
|
|
131
|
+
if (index === 1) setEditMode(false);
|
|
132
|
+
|
|
133
|
+
const patches: Record<number, Partial<FilterMasterStateProps>> = {
|
|
134
|
+
0: {}, // no extra fields
|
|
135
|
+
1: { saved_filters: { selectedId: "", selectedName: "" } },
|
|
136
|
+
2: { attributes: { radio: [], selected: "" } },
|
|
103
137
|
};
|
|
104
138
|
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
);
|
|
117
|
-
},
|
|
118
|
-
2: () => {
|
|
119
|
-
commonStateReset();
|
|
120
|
-
setFilterMaster(
|
|
121
|
-
(prev) =>
|
|
122
|
-
({
|
|
123
|
-
...prev,
|
|
124
|
-
attributes: {
|
|
125
|
-
radio: [],
|
|
126
|
-
selected: "",
|
|
127
|
-
},
|
|
128
|
-
} as FilterMasterStateProps)
|
|
129
|
-
);
|
|
130
|
-
},
|
|
139
|
+
const newFilterMasterState = {
|
|
140
|
+
...filterMaster,
|
|
141
|
+
activeFilterTabIndex: -1,
|
|
142
|
+
...(patches[index] ?? {}),
|
|
143
|
+
} as FilterMasterStateProps;
|
|
144
|
+
|
|
145
|
+
setFilterMaster(newFilterMasterState);
|
|
146
|
+
|
|
147
|
+
const newState = {
|
|
148
|
+
filterMaster: newFilterMasterState,
|
|
149
|
+
filters: filters,
|
|
131
150
|
};
|
|
132
151
|
|
|
133
|
-
|
|
152
|
+
onChangeFunction && onChangeFunction(newState);
|
|
134
153
|
};
|
|
135
154
|
|
|
136
155
|
return (
|
|
@@ -167,6 +186,7 @@ export function TableFilter({
|
|
|
167
186
|
setSelectedFilters={setSelectedFilters}
|
|
168
187
|
setSavedFilterModalOpen={setSaveFilterModalOpen}
|
|
169
188
|
dropdownData={dropdownData}
|
|
189
|
+
onChangeFunction={onChangeFunction}
|
|
170
190
|
/>
|
|
171
191
|
</CustomTabPanel>
|
|
172
192
|
|
|
@@ -182,6 +202,7 @@ export function TableFilter({
|
|
|
182
202
|
setSavedFilterModalOpen={setSaveFilterModalOpen}
|
|
183
203
|
dropdownData={dropdownData}
|
|
184
204
|
tabValue={tabValue}
|
|
205
|
+
onChangeFunction={onChangeFunction}
|
|
185
206
|
/>
|
|
186
207
|
</CustomTabPanel>
|
|
187
208
|
|
|
@@ -193,6 +214,7 @@ export function TableFilter({
|
|
|
193
214
|
searchTerm={searchTerm}
|
|
194
215
|
setSearchTerm={setSearchTerm}
|
|
195
216
|
tabValue={tabValue}
|
|
217
|
+
onChangeFunction={onChangeFunction}
|
|
196
218
|
/>
|
|
197
219
|
</CustomTabPanel>
|
|
198
220
|
|
|
@@ -230,7 +252,6 @@ export function TableFilter({
|
|
|
230
252
|
|
|
231
253
|
onSaveFilter && onSaveFilter(inputValue || "");
|
|
232
254
|
setSaveFilterModalOpen(false);
|
|
233
|
-
|
|
234
255
|
setTabValue(1);
|
|
235
256
|
},
|
|
236
257
|
variant: "contained",
|
|
@@ -267,15 +288,6 @@ export function TableFilter({
|
|
|
267
288
|
onDeleteFilter && onDeleteFilter();
|
|
268
289
|
setDeleteFilterModalOpen(false);
|
|
269
290
|
setEditMode && setEditMode(false);
|
|
270
|
-
setSelectedFilters([]);
|
|
271
|
-
setFilters([]);
|
|
272
|
-
setFilterMaster(
|
|
273
|
-
(prev) =>
|
|
274
|
-
({
|
|
275
|
-
...prev,
|
|
276
|
-
activeFilterTabIndex: -1,
|
|
277
|
-
} as FilterMasterStateProps)
|
|
278
|
-
);
|
|
279
291
|
},
|
|
280
292
|
variant: "contained",
|
|
281
293
|
sx: {
|
|
@@ -10,8 +10,6 @@
|
|
|
10
10
|
--grey-900: #414042;
|
|
11
11
|
--filter-width: 24rem;
|
|
12
12
|
|
|
13
|
-
font-family: "Satoshi", sans-serif;
|
|
14
|
-
|
|
15
13
|
// set default styles for all elements
|
|
16
14
|
& * {
|
|
17
15
|
box-sizing: border-box;
|
|
@@ -127,7 +125,7 @@
|
|
|
127
125
|
cursor: pointer;
|
|
128
126
|
|
|
129
127
|
.ts__dnd__button {
|
|
130
|
-
color: var(--grey-
|
|
128
|
+
color: var(--grey-600);
|
|
131
129
|
// width: max-content;
|
|
132
130
|
// height: max-content;
|
|
133
131
|
// cursor: grabbing;
|
|
@@ -5,11 +5,7 @@ import {
|
|
|
5
5
|
} from "../types/table-options";
|
|
6
6
|
import { DownArrow, UpArrow } from "../../assets/svg";
|
|
7
7
|
import { CSSProperties, useState } from "react";
|
|
8
|
-
import {
|
|
9
|
-
getColumnAlignment,
|
|
10
|
-
getColumnPinningStyles,
|
|
11
|
-
} from "../libs/utils/common";
|
|
12
|
-
import { align } from "../types/common";
|
|
8
|
+
import { getColumnPinningStyles } from "../libs/utils/common";
|
|
13
9
|
import {
|
|
14
10
|
horizontalListSortingStrategy,
|
|
15
11
|
SortableContext,
|
|
@@ -39,7 +35,7 @@ function TableHead<T>({
|
|
|
39
35
|
} = featureOptions;
|
|
40
36
|
|
|
41
37
|
// Popover
|
|
42
|
-
const [
|
|
38
|
+
const [, setAnchorEl] = useState<HTMLElement | null>(null);
|
|
43
39
|
|
|
44
40
|
const handleHover = (event: React.MouseEvent<HTMLElement>) => {
|
|
45
41
|
setAnchorEl((prev) => (prev ? null : event.currentTarget));
|
|
@@ -119,17 +119,13 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
119
119
|
|
|
120
120
|
if (showList || hideList) {
|
|
121
121
|
const isValidShowList = showList?.length > 0;
|
|
122
|
-
console.log("inside show list and hide list if", isValidShowList);
|
|
123
122
|
|
|
124
123
|
if (!isValidShowList) {
|
|
125
|
-
console.log("not a valid show list");
|
|
126
|
-
|
|
127
124
|
const hasColumnError = saveButtonError.messages.some(
|
|
128
125
|
(message) => message.type === ERROR_CODE
|
|
129
126
|
);
|
|
130
127
|
|
|
131
128
|
if (!hasColumnError) {
|
|
132
|
-
console.log("inside if");
|
|
133
129
|
setSaveButtonError((prev) => ({
|
|
134
130
|
...prev,
|
|
135
131
|
hasError: true,
|
|
@@ -143,7 +139,6 @@ const ColumnTab = ({ filterSettingStates, columnsData }: ColumnTabProps) => {
|
|
|
143
139
|
}));
|
|
144
140
|
}
|
|
145
141
|
} else {
|
|
146
|
-
console.log("inside else");
|
|
147
142
|
const hasOtherMessages = saveButtonError?.messages?.some(
|
|
148
143
|
(message) => message.type !== ERROR_CODE
|
|
149
144
|
);
|
|
@@ -58,8 +58,6 @@ const GroupBy = ({
|
|
|
58
58
|
const stateToArray =
|
|
59
59
|
(quickTabStates && Object.entries(quickTabStates)) || [];
|
|
60
60
|
const isEmptyState = stateToArray.length ? false : true;
|
|
61
|
-
console.log("columnsData", columnsData);
|
|
62
|
-
console.log("first", columnsData.lanes.map((item: any) => item.name)[0]);
|
|
63
61
|
|
|
64
62
|
if (isEmptyState) {
|
|
65
63
|
setSettingsData((prev) => ({
|
|
@@ -160,7 +158,7 @@ const GroupBy = ({
|
|
|
160
158
|
id,
|
|
161
159
|
label: id?.charAt(0)?.toUpperCase() + id?.slice(1),
|
|
162
160
|
}));
|
|
163
|
-
const hideListValues = (quickTabStates?.hide_list || [])
|
|
161
|
+
const hideListValues = (quickTabStates?.hide_list || [])?.map((id: any) => ({
|
|
164
162
|
id,
|
|
165
163
|
label: id?.charAt(0)?.toUpperCase() + id?.slice(1),
|
|
166
164
|
}));
|
|
@@ -375,7 +373,7 @@ const GroupBy = ({
|
|
|
375
373
|
return selected;
|
|
376
374
|
}}
|
|
377
375
|
>
|
|
378
|
-
{LANE_SELECTS
|
|
376
|
+
{LANE_SELECTS?.map((lane: any) => (
|
|
379
377
|
<MenuItem key={lane?.key} value={lane?.value}>
|
|
380
378
|
{lane?.value}
|
|
381
379
|
</MenuItem>
|
|
@@ -408,7 +406,7 @@ const GroupBy = ({
|
|
|
408
406
|
return option?.label || selected;
|
|
409
407
|
}}
|
|
410
408
|
>
|
|
411
|
-
{sortingOptions
|
|
409
|
+
{sortingOptions?.map((option) => (
|
|
412
410
|
<MenuItem key={option?.value} value={option?.value}>
|
|
413
411
|
{option?.label}
|
|
414
412
|
</MenuItem>
|
|
@@ -57,8 +57,6 @@ const Lane = ({
|
|
|
57
57
|
const stateToArray =
|
|
58
58
|
(quickTabStates && Object.entries(quickTabStates)) || [];
|
|
59
59
|
const isEmptyState = stateToArray.length ? false : true;
|
|
60
|
-
console.log("columnsData", columnsData);
|
|
61
|
-
console.log("first", columnsData.lanes.map((item: any) => item.name)[0]);
|
|
62
60
|
|
|
63
61
|
if (isEmptyState) {
|
|
64
62
|
setSettingsData((prev) => ({
|
|
@@ -159,7 +157,7 @@ const Lane = ({
|
|
|
159
157
|
id,
|
|
160
158
|
label: id?.charAt(0)?.toUpperCase() + id?.slice(1),
|
|
161
159
|
}));
|
|
162
|
-
const hideListValues = (quickTabStates?.hide_list || [])
|
|
160
|
+
const hideListValues = (quickTabStates?.hide_list || [])?.map((id: any) => ({
|
|
163
161
|
id,
|
|
164
162
|
label: id?.charAt(0)?.toUpperCase() + id?.slice(1),
|
|
165
163
|
}));
|
|
@@ -374,7 +372,7 @@ const Lane = ({
|
|
|
374
372
|
return selected;
|
|
375
373
|
}}
|
|
376
374
|
>
|
|
377
|
-
{LANE_SELECTS
|
|
375
|
+
{LANE_SELECTS?.map((lane: any) => (
|
|
378
376
|
<MenuItem key={lane?.key} value={lane?.value}>
|
|
379
377
|
{lane?.value}
|
|
380
378
|
</MenuItem>
|
|
@@ -60,8 +60,7 @@ function Topbar<T>({
|
|
|
60
60
|
table.getAllLeafColumns().map((col) => col.id)
|
|
61
61
|
);
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
// const [showFilterInput, setShowFilterInput] = useState(false);
|
|
63
|
+
const { setShowTableFilter } = tableStates;
|
|
65
64
|
|
|
66
65
|
// search
|
|
67
66
|
const [showSearchInput, setShowSearchInput] = useState(false);
|
|
@@ -77,7 +76,6 @@ function Topbar<T>({
|
|
|
77
76
|
rightSideComponent,
|
|
78
77
|
showColumnToggle,
|
|
79
78
|
showChangeLayoutToggle,
|
|
80
|
-
viewMoreToggle,
|
|
81
79
|
showSortingToggle,
|
|
82
80
|
showFilterToggle,
|
|
83
81
|
showSearch,
|
|
@@ -93,10 +91,6 @@ function Topbar<T>({
|
|
|
93
91
|
handler: () => setShowColumnHiding(false),
|
|
94
92
|
});
|
|
95
93
|
|
|
96
|
-
const handleLayoutIconClick = (event: React.MouseEvent<HTMLElement>) => {
|
|
97
|
-
setLayoutAnchorEl(event.currentTarget);
|
|
98
|
-
};
|
|
99
|
-
|
|
100
94
|
const handleLayoutSelect = (layout: string) => {
|
|
101
95
|
setSelectedLayout(layout);
|
|
102
96
|
setLayoutAnchorEl(null);
|
|
@@ -175,14 +169,6 @@ function Topbar<T>({
|
|
|
175
169
|
{rightSideComponent}
|
|
176
170
|
{paginationComponent}
|
|
177
171
|
|
|
178
|
-
{/* {showSearch && (
|
|
179
|
-
<div title="Search">
|
|
180
|
-
<TableSearch
|
|
181
|
-
value={searchValue ?? ""}
|
|
182
|
-
onChange={onSearchChange ?? (() => {})}
|
|
183
|
-
/>
|
|
184
|
-
</div>
|
|
185
|
-
)} */}
|
|
186
172
|
{showSearch && (
|
|
187
173
|
<div
|
|
188
174
|
title="Search"
|
|
@@ -203,9 +189,6 @@ function Topbar<T>({
|
|
|
203
189
|
{showChangeLayoutToggle && (
|
|
204
190
|
<>
|
|
205
191
|
<div className="change-layout ts--button" title="Layout">
|
|
206
|
-
{/* <div onClick={handleLayoutIconClick}>
|
|
207
|
-
<ChangeLayoutIcon />
|
|
208
|
-
</div> */}
|
|
209
192
|
<div
|
|
210
193
|
onClick={(e) => {
|
|
211
194
|
const customEvent = new CustomEvent("triggerLayoutPopover", {
|
|
@@ -275,13 +258,76 @@ function Topbar<T>({
|
|
|
275
258
|
</>
|
|
276
259
|
)}
|
|
277
260
|
|
|
261
|
+
{/* {showFilterToggle && (
|
|
262
|
+
<div
|
|
263
|
+
className="filter ts--button"
|
|
264
|
+
title="Filter"
|
|
265
|
+
onClick={onFilterButtonClick}
|
|
266
|
+
style={{
|
|
267
|
+
display: "flex",
|
|
268
|
+
justifyContent: "center",
|
|
269
|
+
alignItems: "center",
|
|
270
|
+
backgroundColor:
|
|
271
|
+
tableStates.showTableFilter || tableStates.filters.length > 0
|
|
272
|
+
? "#e8e2fb"
|
|
273
|
+
: "transparent",
|
|
274
|
+
height: "25px",
|
|
275
|
+
width: "25px",
|
|
276
|
+
borderRadius: "6px",
|
|
277
|
+
cursor: "pointer",
|
|
278
|
+
}}
|
|
279
|
+
>
|
|
280
|
+
<FilterationIcon
|
|
281
|
+
color={
|
|
282
|
+
tableStates.showTableFilter || tableStates.filters.length > 0
|
|
283
|
+
? "#7A5AF8"
|
|
284
|
+
: "#1C1B1F"
|
|
285
|
+
}
|
|
286
|
+
/>
|
|
287
|
+
</div>
|
|
288
|
+
)} */}
|
|
289
|
+
|
|
278
290
|
{showFilterToggle && (
|
|
279
291
|
<div
|
|
280
292
|
className="filter ts--button"
|
|
281
293
|
title="Filter"
|
|
282
|
-
onClick={onFilterButtonClick
|
|
294
|
+
onClick={onFilterButtonClick}
|
|
295
|
+
style={{
|
|
296
|
+
position: "relative",
|
|
297
|
+
display: "flex",
|
|
298
|
+
justifyContent: "center",
|
|
299
|
+
alignItems: "center",
|
|
300
|
+
backgroundColor:
|
|
301
|
+
tableStates.showTableFilter || tableStates.filters.length > 0
|
|
302
|
+
? "#eae4fe"
|
|
303
|
+
: "transparent",
|
|
304
|
+
height: "25px",
|
|
305
|
+
width: "25px",
|
|
306
|
+
borderRadius: "6px",
|
|
307
|
+
cursor: "pointer",
|
|
308
|
+
}}
|
|
283
309
|
>
|
|
284
|
-
<FilterationIcon
|
|
310
|
+
<FilterationIcon
|
|
311
|
+
color={
|
|
312
|
+
tableStates.showTableFilter || tableStates.filters.length > 0
|
|
313
|
+
? "#7A5AF8"
|
|
314
|
+
: "#1C1B1F"
|
|
315
|
+
}
|
|
316
|
+
/>
|
|
317
|
+
|
|
318
|
+
{tableStates.filters.length > 0 && !tableStates.showTableFilter && (
|
|
319
|
+
<span
|
|
320
|
+
style={{
|
|
321
|
+
position: "absolute",
|
|
322
|
+
top: "1px",
|
|
323
|
+
right: "1px",
|
|
324
|
+
width: "6px",
|
|
325
|
+
height: "6px",
|
|
326
|
+
borderRadius: "50%",
|
|
327
|
+
backgroundColor: "#F63D68",
|
|
328
|
+
}}
|
|
329
|
+
/>
|
|
330
|
+
)}
|
|
285
331
|
</div>
|
|
286
332
|
)}
|
|
287
333
|
|