material-react-table 0.5.3 → 0.5.6
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/MaterialReactTable.d.ts +8 -1
- package/dist/filtersFNs.d.ts +67 -0
- package/dist/icons.d.ts +3 -0
- package/dist/localization.d.ts +14 -1
- package/dist/material-react-table.cjs.development.js +447 -81
- package/dist/material-react-table.cjs.development.js.map +1 -1
- package/dist/material-react-table.cjs.production.min.js +1 -1
- package/dist/material-react-table.cjs.production.min.js.map +1 -1
- package/dist/material-react-table.esm.js +448 -82
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/menus/MRT_FilterTypeMenu.d.ts +10 -0
- package/dist/useMRT.d.ts +13 -9
- package/package.json +9 -5
- package/src/MaterialReactTable.tsx +23 -1
- package/src/body/MRT_TableBodyCell.tsx +12 -3
- package/src/buttons/MRT_EditActionButtons.tsx +3 -1
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +7 -3
- package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +4 -3
- package/src/buttons/MRT_ToggleFiltersButton.tsx +3 -1
- package/src/buttons/MRT_ToggleSearchButton.tsx +5 -2
- package/src/filtersFNs.ts +112 -0
- package/src/footer/MRT_TableFooterCell.tsx +1 -1
- package/src/head/MRT_TableHeadCell.tsx +91 -44
- package/src/{icons.tsx → icons.ts} +9 -0
- package/src/index.tsx +0 -2
- package/src/inputs/MRT_FilterTextField.tsx +121 -52
- package/src/inputs/MRT_SearchTextField.tsx +2 -1
- package/src/inputs/MRT_SelectCheckbox.tsx +5 -7
- package/src/localization.ts +30 -4
- package/src/menus/MRT_ColumnActionMenu.tsx +103 -39
- package/src/menus/MRT_FilterTypeMenu.tsx +109 -0
- package/src/menus/MRT_RowActionMenu.tsx +10 -3
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +1 -1
- package/src/table/MRT_TableContainer.tsx +7 -1
- package/src/useMRT.tsx +67 -13
|
@@ -7,7 +7,9 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
|
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var React__default = _interopDefault(React);
|
|
9
9
|
var reactTable = require('react-table');
|
|
10
|
+
var matchSorter = require('match-sorter');
|
|
10
11
|
var material = require('@mui/material');
|
|
12
|
+
var ArrowRightIcon = _interopDefault(require('@mui/icons-material/ArrowRight'));
|
|
11
13
|
var CancelIcon = _interopDefault(require('@mui/icons-material/Cancel'));
|
|
12
14
|
var ClearAllIcon = _interopDefault(require('@mui/icons-material/ClearAll'));
|
|
13
15
|
var CloseIcon = _interopDefault(require('@mui/icons-material/Close'));
|
|
@@ -18,6 +20,8 @@ var DynamicFeedIcon = _interopDefault(require('@mui/icons-material/DynamicFeed')
|
|
|
18
20
|
var EditIcon = _interopDefault(require('@mui/icons-material/Edit'));
|
|
19
21
|
var ExpandLessIcon = _interopDefault(require('@mui/icons-material/ExpandLess'));
|
|
20
22
|
var ExpandMoreIcon = _interopDefault(require('@mui/icons-material/ExpandMore'));
|
|
23
|
+
var FilterAltIcon = _interopDefault(require('@mui/icons-material/FilterAlt'));
|
|
24
|
+
var FilterAltOff = _interopDefault(require('@mui/icons-material/FilterAltOff'));
|
|
21
25
|
var FilterListIcon = _interopDefault(require('@mui/icons-material/FilterList'));
|
|
22
26
|
var FilterListOffIcon = _interopDefault(require('@mui/icons-material/FilterListOff'));
|
|
23
27
|
var FullscreenExitIcon = _interopDefault(require('@mui/icons-material/FullscreenExit'));
|
|
@@ -100,6 +104,100 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
100
104
|
return target;
|
|
101
105
|
}
|
|
102
106
|
|
|
107
|
+
var fuzzyFilterFN = function fuzzyFilterFN(rows, id, filterValue) {
|
|
108
|
+
return matchSorter.matchSorter(rows, filterValue.toString().trim(), {
|
|
109
|
+
keys: ["values." + id],
|
|
110
|
+
sorter: function sorter(rankedItems) {
|
|
111
|
+
return rankedItems;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
fuzzyFilterFN.autoRemove = function (val) {
|
|
117
|
+
return !val;
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
var containsFilterFN = function containsFilterFN(rows, id, filterValue) {
|
|
121
|
+
return rows.filter(function (row) {
|
|
122
|
+
return row.values[id].toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
|
|
123
|
+
});
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
containsFilterFN.autoRemove = function (val) {
|
|
127
|
+
return !val;
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
var startsWithFilterFN = function startsWithFilterFN(rows, id, filterValue) {
|
|
131
|
+
return rows.filter(function (row) {
|
|
132
|
+
return row.values[id].toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
startsWithFilterFN.autoRemove = function (val) {
|
|
137
|
+
return !val;
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
var endsWithFilterFN = function endsWithFilterFN(rows, id, filterValue) {
|
|
141
|
+
return rows.filter(function (row) {
|
|
142
|
+
return row.values[id].toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
|
|
143
|
+
});
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
endsWithFilterFN.autoRemove = function (val) {
|
|
147
|
+
return !val;
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
var equalsFilterFN = function equalsFilterFN(rows, id, filterValue) {
|
|
151
|
+
return rows.filter(function (row) {
|
|
152
|
+
return row.values[id].toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
equalsFilterFN.autoRemove = function (val) {
|
|
157
|
+
return !val;
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
var notEqualsFilterFN = function notEqualsFilterFN(rows, id, filterValue) {
|
|
161
|
+
return rows.filter(function (row) {
|
|
162
|
+
return row.values[id].toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
|
|
163
|
+
});
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
notEqualsFilterFN.autoRemove = function (val) {
|
|
167
|
+
return !val;
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
var emptyFilterFN = function emptyFilterFN(rows, id, _filterValue) {
|
|
171
|
+
return rows.filter(function (row) {
|
|
172
|
+
return !row.values[id].toString().toLowerCase().trim();
|
|
173
|
+
});
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
emptyFilterFN.autoRemove = function (val) {
|
|
177
|
+
return !val;
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
var notEmptyFilterFN = function notEmptyFilterFN(rows, id, _filterValue) {
|
|
181
|
+
return rows.filter(function (row) {
|
|
182
|
+
return !!row.values[id].toString().toLowerCase().trim();
|
|
183
|
+
});
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
notEmptyFilterFN.autoRemove = function (val) {
|
|
187
|
+
return !val;
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
var defaultFilterFNs = {
|
|
191
|
+
contains: containsFilterFN,
|
|
192
|
+
empty: emptyFilterFN,
|
|
193
|
+
endsWith: endsWithFilterFN,
|
|
194
|
+
equals: equalsFilterFN,
|
|
195
|
+
fuzzy: fuzzyFilterFN,
|
|
196
|
+
notEmpty: notEmptyFilterFN,
|
|
197
|
+
notEquals: notEqualsFilterFN,
|
|
198
|
+
startsWith: startsWithFilterFN
|
|
199
|
+
};
|
|
200
|
+
|
|
103
201
|
var MaterialReactTableContext = /*#__PURE__*/function () {
|
|
104
202
|
return React.createContext({});
|
|
105
203
|
}();
|
|
@@ -130,19 +228,52 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
130
228
|
showSearch = _useState5[0],
|
|
131
229
|
setShowSearch = _useState5[1];
|
|
132
230
|
|
|
231
|
+
var filterTypes = React.useMemo(function () {
|
|
232
|
+
return _extends({}, defaultFilterFNs, props.filterTypes);
|
|
233
|
+
}, [props.filterTypes]);
|
|
234
|
+
|
|
235
|
+
var _useState6 = React.useState(function () {
|
|
236
|
+
return Object.assign.apply(Object, [{}].concat(props.columns.map(function (c) {
|
|
237
|
+
var _c$accessor;
|
|
238
|
+
|
|
239
|
+
return (_c$accessor = c.accessor) == null ? void 0 : _c$accessor.toString();
|
|
240
|
+
}).map(function (accessor) {
|
|
241
|
+
var _props$initialState$f2, _props$initialState5, _props$initialState5$, _ref;
|
|
242
|
+
|
|
243
|
+
return _ref = {}, _ref[accessor] = (_props$initialState$f2 = props == null ? void 0 : (_props$initialState5 = props.initialState) == null ? void 0 : (_props$initialState5$ = _props$initialState5.filters) == null ? void 0 : _props$initialState5$[accessor]) != null ? _props$initialState$f2 : 'fuzzy', _ref;
|
|
244
|
+
})));
|
|
245
|
+
}),
|
|
246
|
+
currentFilterTypes = _useState6[0],
|
|
247
|
+
setCurrentFilterTypes = _useState6[1];
|
|
248
|
+
|
|
249
|
+
var columns = React.useMemo(function () {
|
|
250
|
+
return props.columns.map(function (column) {
|
|
251
|
+
column.filter = filterTypes[currentFilterTypes[column.accessor]];
|
|
252
|
+
return column;
|
|
253
|
+
});
|
|
254
|
+
}, [props.columns, filterTypes, currentFilterTypes]);
|
|
133
255
|
var tableInstance = reactTable.useTable.apply(void 0, [_extends({}, props, {
|
|
256
|
+
columns: columns,
|
|
257
|
+
// @ts-ignore
|
|
258
|
+
filterTypes: filterTypes,
|
|
134
259
|
useControlledState: function useControlledState(state) {
|
|
135
260
|
return React.useMemo(function () {
|
|
136
261
|
return _extends({}, state, {
|
|
137
262
|
currentEditingRow: currentEditingRow,
|
|
263
|
+
currentFilterTypes: currentFilterTypes,
|
|
138
264
|
densePadding: densePadding,
|
|
139
265
|
fullScreen: fullScreen,
|
|
140
266
|
showFilters: showFilters,
|
|
141
267
|
showSearch: showSearch
|
|
142
268
|
}, props == null ? void 0 : props.useControlledState == null ? void 0 : props.useControlledState(state));
|
|
143
|
-
}, [currentEditingRow, densePadding, fullScreen, showFilters, showSearch, state]);
|
|
269
|
+
}, [currentEditingRow, currentFilterTypes, densePadding, fullScreen, showFilters, showSearch, state]);
|
|
144
270
|
}
|
|
145
271
|
})].concat(hooks));
|
|
272
|
+
var idPrefix = React.useMemo(function () {
|
|
273
|
+
var _props$idPrefix;
|
|
274
|
+
|
|
275
|
+
return (_props$idPrefix = props.idPrefix) != null ? _props$idPrefix : Math.random().toString(36).substring(2, 9);
|
|
276
|
+
}, [props.idPrefix]);
|
|
146
277
|
var anyRowsCanExpand = React.useMemo(function () {
|
|
147
278
|
return tableInstance.rows.some(function (row) {
|
|
148
279
|
return row.canExpand;
|
|
@@ -157,7 +288,10 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
157
288
|
value: _extends({}, props, {
|
|
158
289
|
anyRowsCanExpand: anyRowsCanExpand,
|
|
159
290
|
anyRowsExpanded: anyRowsExpanded,
|
|
291
|
+
idPrefix: idPrefix,
|
|
292
|
+
//@ts-ignore
|
|
160
293
|
setCurrentEditingRow: setCurrentEditingRow,
|
|
294
|
+
setCurrentFilterTypes: setCurrentFilterTypes,
|
|
161
295
|
setDensePadding: setDensePadding,
|
|
162
296
|
setFullScreen: setFullScreen,
|
|
163
297
|
setShowFilters: setShowFilters,
|
|
@@ -168,13 +302,104 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
168
302
|
}, props.children);
|
|
169
303
|
};
|
|
170
304
|
var useMRT = function useMRT() {
|
|
171
|
-
return (
|
|
172
|
-
|
|
173
|
-
|
|
305
|
+
return React.useContext(MaterialReactTableContext);
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
|
|
309
|
+
var anchorEl = _ref.anchorEl,
|
|
310
|
+
column = _ref.column,
|
|
311
|
+
onSelect = _ref.onSelect,
|
|
312
|
+
setAnchorEl = _ref.setAnchorEl;
|
|
313
|
+
|
|
314
|
+
var _useMRT = useMRT(),
|
|
315
|
+
localization = _useMRT.localization,
|
|
316
|
+
setCurrentFilterTypes = _useMRT.setCurrentFilterTypes,
|
|
317
|
+
tableInstance = _useMRT.tableInstance;
|
|
318
|
+
|
|
319
|
+
var filterTypes = React.useMemo(function () {
|
|
320
|
+
return [{
|
|
321
|
+
type: 'fuzzy',
|
|
322
|
+
label: localization.filterMenuItemFuzzy,
|
|
323
|
+
divider: false
|
|
324
|
+
}, {
|
|
325
|
+
type: 'contains',
|
|
326
|
+
label: localization.filterMenuItemContains,
|
|
327
|
+
divider: true
|
|
328
|
+
}, {
|
|
329
|
+
type: 'startsWith',
|
|
330
|
+
label: localization.filterMenuItemStartsWith,
|
|
331
|
+
divider: false
|
|
332
|
+
}, {
|
|
333
|
+
type: 'endsWith',
|
|
334
|
+
label: localization.filterMenuItemEndsWith,
|
|
335
|
+
divider: true
|
|
336
|
+
}, {
|
|
337
|
+
type: 'equals',
|
|
338
|
+
label: localization.filterMenuItemEquals,
|
|
339
|
+
divider: false
|
|
340
|
+
}, {
|
|
341
|
+
type: 'notEquals',
|
|
342
|
+
label: localization.filterMenuItemNotEquals,
|
|
343
|
+
divider: true
|
|
344
|
+
}, {
|
|
345
|
+
type: 'empty',
|
|
346
|
+
label: localization.filterMenuItemEmpty,
|
|
347
|
+
divider: false
|
|
348
|
+
}, {
|
|
349
|
+
type: 'notEmpty',
|
|
350
|
+
label: localization.filterMenuItemNotEmpty,
|
|
351
|
+
divider: false
|
|
352
|
+
}];
|
|
353
|
+
}, []);
|
|
354
|
+
|
|
355
|
+
var handleSelectFilterType = function handleSelectFilterType(value) {
|
|
356
|
+
setAnchorEl(null);
|
|
357
|
+
setCurrentFilterTypes(function (prev) {
|
|
358
|
+
var _extends2;
|
|
359
|
+
|
|
360
|
+
return _extends({}, prev, (_extends2 = {}, _extends2[column.id] = value, _extends2));
|
|
361
|
+
});
|
|
362
|
+
|
|
363
|
+
if (['empty', 'notEmpty'].includes(value)) {
|
|
364
|
+
column.setFilter(' ');
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
onSelect == null ? void 0 : onSelect();
|
|
368
|
+
};
|
|
369
|
+
|
|
370
|
+
var filterType = tableInstance.state.currentFilterTypes[column.id];
|
|
371
|
+
return React__default.createElement(material.Menu, {
|
|
372
|
+
anchorEl: anchorEl,
|
|
373
|
+
anchorOrigin: {
|
|
374
|
+
vertical: 'center',
|
|
375
|
+
horizontal: 'right'
|
|
376
|
+
},
|
|
377
|
+
onClose: function onClose() {
|
|
378
|
+
return setAnchorEl(null);
|
|
379
|
+
},
|
|
380
|
+
open: !!anchorEl,
|
|
381
|
+
MenuListProps: {
|
|
382
|
+
dense: tableInstance.state.densePadding,
|
|
383
|
+
disablePadding: true
|
|
384
|
+
}
|
|
385
|
+
}, filterTypes.map(function (_ref2) {
|
|
386
|
+
var type = _ref2.type,
|
|
387
|
+
label = _ref2.label,
|
|
388
|
+
divider = _ref2.divider;
|
|
389
|
+
return React__default.createElement(material.MenuItem, {
|
|
390
|
+
divider: divider,
|
|
391
|
+
key: type,
|
|
392
|
+
onClick: function onClick() {
|
|
393
|
+
return handleSelectFilterType(type);
|
|
394
|
+
},
|
|
395
|
+
selected: type === filterType,
|
|
396
|
+
value: type
|
|
397
|
+
}, label);
|
|
398
|
+
}));
|
|
174
399
|
};
|
|
175
400
|
|
|
176
401
|
var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
177
|
-
var _localization$filterT, _localization$filterT2
|
|
402
|
+
var _localization$filterT, _localization$filterT2;
|
|
178
403
|
|
|
179
404
|
var column = _ref.column;
|
|
180
405
|
|
|
@@ -182,37 +407,72 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
182
407
|
_useMRT$icons = _useMRT.icons,
|
|
183
408
|
FilterListIcon = _useMRT$icons.FilterListIcon,
|
|
184
409
|
CloseIcon = _useMRT$icons.CloseIcon,
|
|
185
|
-
|
|
410
|
+
idPrefix = _useMRT.idPrefix,
|
|
411
|
+
localization = _useMRT.localization,
|
|
412
|
+
muiTableHeadCellFilterTextFieldProps = _useMRT.muiTableHeadCellFilterTextFieldProps,
|
|
413
|
+
setCurrentFilterTypes = _useMRT.setCurrentFilterTypes,
|
|
414
|
+
tableInstance = _useMRT.tableInstance;
|
|
186
415
|
|
|
187
|
-
var _useState = React.useState(
|
|
188
|
-
|
|
189
|
-
|
|
416
|
+
var _useState = React.useState(null),
|
|
417
|
+
anchorEl = _useState[0],
|
|
418
|
+
setAnchorEl = _useState[1];
|
|
419
|
+
|
|
420
|
+
var mTableHeadCellFilterTextFieldProps = muiTableHeadCellFilterTextFieldProps instanceof Function ? muiTableHeadCellFilterTextFieldProps(column) : muiTableHeadCellFilterTextFieldProps;
|
|
421
|
+
var mcTableHeadCellFilterTextFieldProps = column.muiTableHeadCellFilterTextFieldProps instanceof Function ? column.muiTableHeadCellFilterTextFieldProps(column) : column.muiTableHeadCellFilterTextFieldProps;
|
|
422
|
+
|
|
423
|
+
var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps, {
|
|
424
|
+
style: _extends({}, mTableHeadCellFilterTextFieldProps == null ? void 0 : mTableHeadCellFilterTextFieldProps.style, mcTableHeadCellFilterTextFieldProps == null ? void 0 : mcTableHeadCellFilterTextFieldProps.style)
|
|
425
|
+
});
|
|
426
|
+
|
|
427
|
+
var _useState2 = React.useState(''),
|
|
428
|
+
filterValue = _useState2[0],
|
|
429
|
+
setFilterValue = _useState2[1];
|
|
190
430
|
|
|
191
431
|
var handleChange = reactTable.useAsyncDebounce(function (value) {
|
|
192
432
|
column.setFilter(value != null ? value : undefined);
|
|
193
433
|
}, 150);
|
|
194
434
|
|
|
435
|
+
var handleFilterMenuOpen = function handleFilterMenuOpen(event) {
|
|
436
|
+
setAnchorEl(event.currentTarget);
|
|
437
|
+
};
|
|
438
|
+
|
|
195
439
|
var handleClear = function handleClear() {
|
|
196
440
|
setFilterValue('');
|
|
197
441
|
column.setFilter(undefined);
|
|
198
442
|
};
|
|
199
443
|
|
|
444
|
+
var handleClearFilterChip = function handleClearFilterChip() {
|
|
445
|
+
setFilterValue('');
|
|
446
|
+
column.setFilter(undefined);
|
|
447
|
+
setCurrentFilterTypes(function (prev) {
|
|
448
|
+
var _extends2;
|
|
449
|
+
|
|
450
|
+
return _extends({}, prev, (_extends2 = {}, _extends2[column.id] = 'fuzzy', _extends2));
|
|
451
|
+
});
|
|
452
|
+
};
|
|
453
|
+
|
|
200
454
|
if (column.Filter) {
|
|
201
455
|
return React__default.createElement(React__default.Fragment, null, column.Filter == null ? void 0 : column.Filter({
|
|
202
456
|
column: column
|
|
203
457
|
}));
|
|
204
458
|
}
|
|
205
459
|
|
|
206
|
-
|
|
460
|
+
var filterType = tableInstance.state.currentFilterTypes[column.id];
|
|
461
|
+
var filterChipLabel = ['empty', 'notEmpty'].includes(filterType);
|
|
462
|
+
var filterPlaceholder = (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header));
|
|
463
|
+
return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
|
|
207
464
|
fullWidth: true,
|
|
208
|
-
id: "
|
|
465
|
+
id: "mrt-" + idPrefix + "-" + column.id + "-filter-text-field",
|
|
209
466
|
inputProps: {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
467
|
+
disabled: !!filterChipLabel,
|
|
468
|
+
sx: {
|
|
469
|
+
textOverflow: 'ellipsis',
|
|
470
|
+
width: filterChipLabel ? 0 : undefined
|
|
471
|
+
},
|
|
472
|
+
title: filterPlaceholder
|
|
213
473
|
},
|
|
214
|
-
margin: "
|
|
215
|
-
placeholder:
|
|
474
|
+
margin: "none",
|
|
475
|
+
placeholder: filterChipLabel ? '' : filterPlaceholder,
|
|
216
476
|
onChange: function onChange(e) {
|
|
217
477
|
setFilterValue(e.target.value);
|
|
218
478
|
handleChange(e.target.value);
|
|
@@ -223,32 +483,57 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
223
483
|
value: filterValue != null ? filterValue : '',
|
|
224
484
|
variant: "standard",
|
|
225
485
|
InputProps: {
|
|
226
|
-
startAdornment: React__default.createElement(material.
|
|
227
|
-
arrow: true,
|
|
228
|
-
title: (_localization$filterT2 = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT2.replace('{column}', String(column.Header))
|
|
229
|
-
}, React__default.createElement(material.InputAdornment, {
|
|
486
|
+
startAdornment: React__default.createElement(material.InputAdornment, {
|
|
230
487
|
position: "start"
|
|
231
|
-
}, React__default.createElement(
|
|
232
|
-
|
|
488
|
+
}, React__default.createElement(material.Tooltip, {
|
|
489
|
+
arrow: true,
|
|
490
|
+
title: "Change Filter Mode"
|
|
491
|
+
}, React__default.createElement(material.IconButton, {
|
|
492
|
+
onClick: handleFilterMenuOpen,
|
|
493
|
+
size: "small",
|
|
494
|
+
sx: {
|
|
495
|
+
height: '1.75rem',
|
|
496
|
+
width: '1.75rem'
|
|
497
|
+
}
|
|
498
|
+
}, React__default.createElement(FilterListIcon, null))), filterChipLabel && React__default.createElement(material.Chip, {
|
|
499
|
+
onDelete: handleClearFilterChip,
|
|
500
|
+
label: filterType
|
|
501
|
+
})),
|
|
502
|
+
endAdornment: !filterChipLabel && React__default.createElement(material.InputAdornment, {
|
|
233
503
|
position: "end"
|
|
234
504
|
}, React__default.createElement(material.Tooltip, {
|
|
235
505
|
arrow: true,
|
|
236
|
-
|
|
506
|
+
placement: "right",
|
|
507
|
+
title: (_localization$filterT2 = localization.filterTextFieldClearButtonTitle) != null ? _localization$filterT2 : ''
|
|
237
508
|
}, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
|
|
238
509
|
"aria-label": localization.filterTextFieldClearButtonTitle,
|
|
239
510
|
disabled: (filterValue == null ? void 0 : filterValue.length) === 0,
|
|
240
511
|
onClick: handleClear,
|
|
241
|
-
size: "small"
|
|
512
|
+
size: "small",
|
|
513
|
+
sx: {
|
|
514
|
+
height: '1.75rem',
|
|
515
|
+
width: '1.75rem'
|
|
516
|
+
}
|
|
242
517
|
}, React__default.createElement(CloseIcon, {
|
|
243
518
|
fontSize: "small"
|
|
244
519
|
})))))
|
|
245
520
|
}
|
|
246
|
-
}
|
|
521
|
+
}, textFieldProps, {
|
|
522
|
+
sx: _extends({
|
|
523
|
+
m: '0 -0.25rem',
|
|
524
|
+
minWidth: !filterChipLabel ? '5rem' : 'auto',
|
|
525
|
+
width: 'calc(100% + 0.5rem)'
|
|
526
|
+
}, textFieldProps == null ? void 0 : textFieldProps.sx)
|
|
527
|
+
})), React__default.createElement(MRT_FilterTypeMenu, {
|
|
528
|
+
anchorEl: anchorEl,
|
|
529
|
+
column: column,
|
|
530
|
+
setAnchorEl: setAnchorEl
|
|
531
|
+
}));
|
|
247
532
|
};
|
|
248
533
|
|
|
249
534
|
var commonMenuItemStyles = {
|
|
250
535
|
display: 'flex',
|
|
251
|
-
|
|
536
|
+
alignItems: 'center'
|
|
252
537
|
};
|
|
253
538
|
var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
254
539
|
var _localization$columnA, _localization$columnA2, _localization$filterT, _localization, _localization$columnA3;
|
|
@@ -262,14 +547,21 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
262
547
|
disableFilters = _useMRT.disableFilters,
|
|
263
548
|
disableSortBy = _useMRT.disableSortBy,
|
|
264
549
|
enableColumnGrouping = _useMRT.enableColumnGrouping,
|
|
265
|
-
localization = _useMRT.localization,
|
|
266
|
-
setShowFilters = _useMRT.setShowFilters,
|
|
267
550
|
_useMRT$icons = _useMRT.icons,
|
|
268
|
-
|
|
269
|
-
SortIcon = _useMRT$icons.SortIcon,
|
|
551
|
+
ArrowRightIcon = _useMRT$icons.ArrowRightIcon,
|
|
270
552
|
ClearAllIcon = _useMRT$icons.ClearAllIcon,
|
|
271
553
|
DynamicFeedIcon = _useMRT$icons.DynamicFeedIcon,
|
|
272
|
-
|
|
554
|
+
FilterListIcon = _useMRT$icons.FilterListIcon,
|
|
555
|
+
SortIcon = _useMRT$icons.SortIcon,
|
|
556
|
+
VisibilityOffIcon = _useMRT$icons.VisibilityOffIcon,
|
|
557
|
+
idPrefix = _useMRT.idPrefix,
|
|
558
|
+
localization = _useMRT.localization,
|
|
559
|
+
setShowFilters = _useMRT.setShowFilters,
|
|
560
|
+
tableInstance = _useMRT.tableInstance;
|
|
561
|
+
|
|
562
|
+
var _useState = React.useState(null),
|
|
563
|
+
filterMenuAnchorEl = _useState[0],
|
|
564
|
+
setFilterMenuAnchorEl = _useState[1];
|
|
273
565
|
|
|
274
566
|
var handleClearSort = function handleClearSort() {
|
|
275
567
|
column.clearSortBy();
|
|
@@ -302,55 +594,74 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
302
594
|
var _document$getElementB, _column$muiTableHeadC, _column$muiTableHeadC2;
|
|
303
595
|
|
|
304
596
|
return (_document$getElementB = document.getElementById( // @ts-ignore
|
|
305
|
-
(_column$muiTableHeadC = (_column$muiTableHeadC2 = column.muiTableHeadCellFilterTextFieldProps) == null ? void 0 : _column$muiTableHeadC2.id) != null ? _column$muiTableHeadC : "
|
|
597
|
+
(_column$muiTableHeadC = (_column$muiTableHeadC2 = column.muiTableHeadCellFilterTextFieldProps) == null ? void 0 : _column$muiTableHeadC2.id) != null ? _column$muiTableHeadC : "mrt-" + idPrefix + "-" + column.id + "-filter-text-field")) == null ? void 0 : _document$getElementB.focus();
|
|
306
598
|
}, 200);
|
|
307
599
|
setAnchorEl(null);
|
|
308
600
|
};
|
|
309
601
|
|
|
602
|
+
var handleOpenFilterModeMenu = function handleOpenFilterModeMenu(event) {
|
|
603
|
+
event.stopPropagation();
|
|
604
|
+
setFilterMenuAnchorEl(event.currentTarget);
|
|
605
|
+
};
|
|
606
|
+
|
|
310
607
|
return React__default.createElement(material.Menu, {
|
|
311
608
|
anchorEl: anchorEl,
|
|
312
609
|
open: !!anchorEl,
|
|
313
610
|
onClose: function onClose() {
|
|
314
611
|
return setAnchorEl(null);
|
|
612
|
+
},
|
|
613
|
+
MenuListProps: {
|
|
614
|
+
dense: tableInstance.state.densePadding,
|
|
615
|
+
disablePadding: true
|
|
315
616
|
}
|
|
316
617
|
}, !disableSortBy && column.canSort && [React__default.createElement(material.MenuItem, {
|
|
317
618
|
key: 1,
|
|
318
619
|
disabled: !column.isSorted,
|
|
319
620
|
onClick: handleClearSort,
|
|
320
621
|
sx: commonMenuItemStyles
|
|
321
|
-
}, React__default.createElement(ClearAllIcon, null),
|
|
322
|
-
key: 2,
|
|
622
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(ClearAllIcon, null)), React__default.createElement(material.ListItemText, null, localization.columnActionMenuItemClearSort)), React__default.createElement(material.MenuItem, {
|
|
323
623
|
disabled: column.isSorted && !column.isSortedDesc,
|
|
624
|
+
key: 2,
|
|
324
625
|
onClick: handleSortAsc,
|
|
325
626
|
sx: commonMenuItemStyles
|
|
326
|
-
}, React__default.createElement(SortIcon, null),
|
|
627
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, null)), React__default.createElement(material.ListItemText, null, (_localization$columnA = localization.columnActionMenuItemSortAsc) == null ? void 0 : _localization$columnA.replace('{column}', String(column.Header)))), React__default.createElement(material.MenuItem, {
|
|
628
|
+
divider: !disableFilters || enableColumnGrouping || !disableColumnHiding,
|
|
327
629
|
key: 3,
|
|
328
630
|
disabled: column.isSorted && column.isSortedDesc,
|
|
329
631
|
onClick: handleSortDesc,
|
|
330
632
|
sx: commonMenuItemStyles
|
|
331
|
-
}, React__default.createElement(SortIcon, {
|
|
633
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, {
|
|
332
634
|
style: {
|
|
333
635
|
transform: 'rotate(180deg) scaleX(-1)'
|
|
334
636
|
}
|
|
335
|
-
}),
|
|
336
|
-
|
|
337
|
-
}), React__default.createElement(material.MenuItem, {
|
|
637
|
+
})), React__default.createElement(material.ListItemText, null, (_localization$columnA2 = localization.columnActionMenuItemSortDesc) == null ? void 0 : _localization$columnA2.replace('{column}', String(column.Header))))], !disableFilters && column.canFilter && [React__default.createElement(material.MenuItem, {
|
|
638
|
+
divider: enableColumnGrouping || !disableColumnHiding,
|
|
338
639
|
key: 1,
|
|
339
640
|
onClick: handleFilterByColumn,
|
|
340
641
|
sx: commonMenuItemStyles
|
|
341
|
-
}, React__default.createElement(FilterListIcon, null),
|
|
342
|
-
|
|
343
|
-
|
|
642
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), React__default.createElement(material.ListItemText, null, (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header))), React__default.createElement(material.IconButton, {
|
|
643
|
+
onClick: handleOpenFilterModeMenu,
|
|
644
|
+
onMouseEnter: handleOpenFilterModeMenu,
|
|
645
|
+
size: "small",
|
|
646
|
+
sx: {
|
|
647
|
+
p: 0
|
|
648
|
+
}
|
|
649
|
+
}, React__default.createElement(ArrowRightIcon, null))), React__default.createElement(MRT_FilterTypeMenu, {
|
|
650
|
+
anchorEl: filterMenuAnchorEl,
|
|
651
|
+
column: column,
|
|
652
|
+
key: 2,
|
|
653
|
+
setAnchorEl: setFilterMenuAnchorEl,
|
|
654
|
+
onSelect: handleFilterByColumn
|
|
655
|
+
})], enableColumnGrouping && column.canGroupBy && [React__default.createElement(material.MenuItem, {
|
|
656
|
+
divider: !disableColumnHiding,
|
|
344
657
|
key: 2,
|
|
345
658
|
onClick: handleGroupByColumn,
|
|
346
659
|
sx: commonMenuItemStyles
|
|
347
|
-
}, React__default.createElement(DynamicFeedIcon, null),
|
|
348
|
-
key: 0
|
|
349
|
-
}), React__default.createElement(material.MenuItem, {
|
|
660
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(DynamicFeedIcon, null)), React__default.createElement(material.ListItemText, null, (_localization = localization[column.isGrouped ? 'columnActionMenuItemUnGroupBy' : 'columnActionMenuItemGroupBy']) == null ? void 0 : _localization.replace('{column}', String(column.Header))))], !disableColumnHiding && [React__default.createElement(material.MenuItem, {
|
|
350
661
|
key: 1,
|
|
351
662
|
onClick: handleHideColumn,
|
|
352
663
|
sx: commonMenuItemStyles
|
|
353
|
-
}, React__default.createElement(VisibilityOffIcon, null),
|
|
664
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(VisibilityOffIcon, null)), React__default.createElement(material.ListItemText, null, (_localization$columnA3 = localization.columnActionMenuItemHideColumn) == null ? void 0 : _localization$columnA3.replace('{column}', String(column.Header))))]);
|
|
354
665
|
};
|
|
355
666
|
|
|
356
667
|
var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
|
|
@@ -380,11 +691,12 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
|
|
|
380
691
|
onClick: handleClick,
|
|
381
692
|
size: "small",
|
|
382
693
|
sx: {
|
|
694
|
+
height: '2rem',
|
|
695
|
+
mr: '2px',
|
|
696
|
+
mt: '-0.2rem',
|
|
383
697
|
opacity: 0.5,
|
|
384
698
|
transition: 'opacity 0.2s',
|
|
385
|
-
|
|
386
|
-
height: '1.6rem',
|
|
387
|
-
width: '1.6rem',
|
|
699
|
+
width: '2rem',
|
|
388
700
|
'&:hover': {
|
|
389
701
|
opacity: 1
|
|
390
702
|
}
|
|
@@ -407,7 +719,7 @@ var commonTableHeadCellStyles = function commonTableHeadCellStyles(densePadding,
|
|
|
407
719
|
};
|
|
408
720
|
};
|
|
409
721
|
var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
410
|
-
var _column$columns
|
|
722
|
+
var _column$columns, _localization$columnA, _localization$columnA2;
|
|
411
723
|
|
|
412
724
|
var column = _ref.column;
|
|
413
725
|
|
|
@@ -415,11 +727,15 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
415
727
|
disableColumnActions = _useMRT.disableColumnActions,
|
|
416
728
|
disableFilters = _useMRT.disableFilters,
|
|
417
729
|
enableColumnResizing = _useMRT.enableColumnResizing,
|
|
730
|
+
_useMRT$icons = _useMRT.icons,
|
|
731
|
+
FilterAltIcon = _useMRT$icons.FilterAltIcon,
|
|
732
|
+
FilterAltOff = _useMRT$icons.FilterAltOff,
|
|
418
733
|
localization = _useMRT.localization,
|
|
419
734
|
muiTableHeadCellProps = _useMRT.muiTableHeadCellProps,
|
|
735
|
+
setShowFilters = _useMRT.setShowFilters,
|
|
420
736
|
tableInstance = _useMRT.tableInstance;
|
|
421
737
|
|
|
422
|
-
var isParentHeader = (
|
|
738
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
423
739
|
var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps(column) : muiTableHeadCellProps;
|
|
424
740
|
var mcTableHeadCellProps = column.muiTableHeadCellProps instanceof Function ? column.muiTableHeadCellProps(column) : column.muiTableHeadCellProps;
|
|
425
741
|
|
|
@@ -428,17 +744,14 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
428
744
|
});
|
|
429
745
|
|
|
430
746
|
var sortTooltip = column.isSorted ? column.isSortedDesc ? localization.columnActionMenuItemClearSort : (_localization$columnA = localization.columnActionMenuItemSortDesc) == null ? void 0 : _localization$columnA.replace('{column}', column.Header) : (_localization$columnA2 = localization.columnActionMenuItemSortAsc) == null ? void 0 : _localization$columnA2.replace('{column}', column.Header);
|
|
747
|
+
var filterTooltip = !!column.filterValue ? localization.filterApplied.replace('{column}', String(column.Header)).replace('{filterType}', // @ts-ignore
|
|
748
|
+
localization["filterMenuItem" + (tableInstance.state.currentFilterTypes[column.id].charAt(0).toUpperCase() + tableInstance.state.currentFilterTypes[column.id].slice(1))]) : localization.toggleFilterButtonTitle;
|
|
749
|
+
var columnHeader = column.render('Header');
|
|
431
750
|
return React__default.createElement(material.TableCell, Object.assign({
|
|
432
751
|
align: isParentHeader ? 'center' : 'left'
|
|
433
752
|
}, tableCellProps, {
|
|
434
753
|
sx: _extends({}, commonTableHeadCellStyles(tableInstance.state.densePadding, enableColumnResizing), tableCellProps == null ? void 0 : tableCellProps.sx)
|
|
435
754
|
}), React__default.createElement(material.Box, {
|
|
436
|
-
sx: {
|
|
437
|
-
alignContent: 'space-between',
|
|
438
|
-
display: 'grid',
|
|
439
|
-
height: '100%'
|
|
440
|
-
}
|
|
441
|
-
}, React__default.createElement(material.Box, {
|
|
442
755
|
sx: {
|
|
443
756
|
alignItems: 'flex-start',
|
|
444
757
|
display: 'flex',
|
|
@@ -449,7 +762,8 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
449
762
|
sx: {
|
|
450
763
|
alignItems: 'center',
|
|
451
764
|
display: 'flex',
|
|
452
|
-
flexWrap: 'nowrap'
|
|
765
|
+
flexWrap: 'nowrap',
|
|
766
|
+
whiteSpace: columnHeader.length < 15 ? 'nowrap' : 'normal'
|
|
453
767
|
},
|
|
454
768
|
title: undefined
|
|
455
769
|
}), column.render('Header'), !isParentHeader && column.canSort && React__default.createElement(material.Tooltip, {
|
|
@@ -459,7 +773,29 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
459
773
|
"aria-label": sortTooltip,
|
|
460
774
|
active: column.isSorted,
|
|
461
775
|
direction: column.isSortedDesc ? 'desc' : 'asc'
|
|
462
|
-
}))
|
|
776
|
+
})), !isParentHeader && !!column.canFilter && React__default.createElement(material.Tooltip, {
|
|
777
|
+
arrow: true,
|
|
778
|
+
title: filterTooltip
|
|
779
|
+
}, React__default.createElement(material.IconButton, {
|
|
780
|
+
onClick: function onClick(event) {
|
|
781
|
+
event.stopPropagation();
|
|
782
|
+
setShowFilters(!tableInstance.state.showFilters);
|
|
783
|
+
},
|
|
784
|
+
size: "small",
|
|
785
|
+
sx: {
|
|
786
|
+
opacity: !!column.filterValue ? 0.8 : 0,
|
|
787
|
+
p: '2px',
|
|
788
|
+
m: 0,
|
|
789
|
+
transition: 'all 0.2s ease-in-out',
|
|
790
|
+
'&:hover': {
|
|
791
|
+
opacity: 0.8
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
}, tableInstance.state.showFilters && !column.filterValue ? React__default.createElement(FilterAltOff, {
|
|
795
|
+
fontSize: "small"
|
|
796
|
+
}) : React__default.createElement(FilterAltIcon, {
|
|
797
|
+
fontSize: "small"
|
|
798
|
+
})))), React__default.createElement(material.Box, {
|
|
463
799
|
sx: {
|
|
464
800
|
alignItems: 'center',
|
|
465
801
|
display: 'flex',
|
|
@@ -483,7 +819,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
483
819
|
"in": tableInstance.state.showFilters
|
|
484
820
|
}, React__default.createElement(MRT_FilterTextField, {
|
|
485
821
|
column: column
|
|
486
|
-
})))
|
|
822
|
+
})));
|
|
487
823
|
};
|
|
488
824
|
|
|
489
825
|
var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
|
|
@@ -548,8 +884,10 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
548
884
|
var cell = _ref.cell;
|
|
549
885
|
|
|
550
886
|
var _useMRT = useMRT(),
|
|
551
|
-
|
|
887
|
+
isLoading = _useMRT.isLoading,
|
|
552
888
|
muiTableBodyCellProps = _useMRT.muiTableBodyCellProps,
|
|
889
|
+
muiTableBodyCellSkeletonProps = _useMRT.muiTableBodyCellSkeletonProps,
|
|
890
|
+
onCellClick = _useMRT.onCellClick,
|
|
553
891
|
_useMRT$tableInstance = _useMRT.tableInstance.state,
|
|
554
892
|
currentEditingRow = _useMRT$tableInstance.currentEditingRow,
|
|
555
893
|
densePadding = _useMRT$tableInstance.densePadding;
|
|
@@ -567,7 +905,11 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
567
905
|
}
|
|
568
906
|
}, tableCellProps, {
|
|
569
907
|
sx: _extends({}, commonTableBodyCellStyles(densePadding), tableCellProps == null ? void 0 : tableCellProps.sx)
|
|
570
|
-
}),
|
|
908
|
+
}), isLoading ? React__default.createElement(material.Skeleton, Object.assign({
|
|
909
|
+
animation: "wave",
|
|
910
|
+
height: 20,
|
|
911
|
+
width: Math.random() * (120 - 60) + 60
|
|
912
|
+
}, muiTableBodyCellSkeletonProps)) : (currentEditingRow == null ? void 0 : currentEditingRow.id) === cell.row.id ? React__default.createElement(MRT_EditCellTextField, {
|
|
571
913
|
cell: cell
|
|
572
914
|
}) : cell.isPlaceholder ? null : cell.isAggregated ? cell.render('Aggregated') : cell.isGrouped ? React__default.createElement("span", null, cell.render('Cell'), " (", cell.row.subRows.length, ")") : cell.render('Cell'));
|
|
573
915
|
};
|
|
@@ -804,14 +1146,14 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
|
|
|
804
1146
|
open: !!anchorEl,
|
|
805
1147
|
onClose: function onClose() {
|
|
806
1148
|
return setAnchorEl(null);
|
|
1149
|
+
},
|
|
1150
|
+
MenuListProps: {
|
|
1151
|
+
dense: tableInstance.state.densePadding,
|
|
1152
|
+
disablePadding: true
|
|
807
1153
|
}
|
|
808
1154
|
}, enableRowEditing && React__default.createElement(material.MenuItem, {
|
|
809
|
-
sx: {
|
|
810
|
-
display: 'flex',
|
|
811
|
-
gap: '0.75rem'
|
|
812
|
-
},
|
|
813
1155
|
onClick: handleEdit
|
|
814
|
-
}, React__default.createElement(EditIcon, null),
|
|
1156
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(EditIcon, null)), React__default.createElement(material.ListItemText, null, localization.rowActionMenuItemEdit)), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
|
|
815
1157
|
return setAnchorEl(null);
|
|
816
1158
|
})) != null ? _renderRowActionMenuI : null);
|
|
817
1159
|
};
|
|
@@ -1788,7 +2130,7 @@ var MRT_TableBody = function MRT_TableBody() {
|
|
|
1788
2130
|
};
|
|
1789
2131
|
|
|
1790
2132
|
var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
1791
|
-
var _column$columns
|
|
2133
|
+
var _column$columns;
|
|
1792
2134
|
|
|
1793
2135
|
var column = _ref.column;
|
|
1794
2136
|
|
|
@@ -1797,7 +2139,7 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
|
1797
2139
|
enableColumnResizing = _useMRT.enableColumnResizing,
|
|
1798
2140
|
densePadding = _useMRT.tableInstance.state.densePadding;
|
|
1799
2141
|
|
|
1800
|
-
var isParentHeader = (
|
|
2142
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
1801
2143
|
var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps(column) : muiTableFooterCellProps;
|
|
1802
2144
|
var mcTableFooterCellProps = column.muiTableFooterCellProps instanceof Function ? column.muiTableFooterCellProps(column) : column.muiTableFooterCellProps;
|
|
1803
2145
|
|
|
@@ -1890,6 +2232,7 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
|
|
|
1890
2232
|
_useMRT$icons = _useMRT.icons,
|
|
1891
2233
|
SearchIcon = _useMRT$icons.SearchIcon,
|
|
1892
2234
|
CloseIcon = _useMRT$icons.CloseIcon,
|
|
2235
|
+
idPrefix = _useMRT.idPrefix,
|
|
1893
2236
|
localization = _useMRT.localization,
|
|
1894
2237
|
muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
|
|
1895
2238
|
onGlobalFilterChange = _useMRT.onGlobalFilterChange,
|
|
@@ -1915,7 +2258,7 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
|
|
|
1915
2258
|
"in": tableInstance.state.showSearch,
|
|
1916
2259
|
orientation: "horizontal"
|
|
1917
2260
|
}, React__default.createElement(material.TextField, Object.assign({
|
|
1918
|
-
id: "
|
|
2261
|
+
id: "mrt-" + idPrefix + "-search-text-field",
|
|
1919
2262
|
placeholder: localization.searchTextFieldPlaceholder,
|
|
1920
2263
|
onChange: function onChange(event) {
|
|
1921
2264
|
setSearchValue(event.target.value);
|
|
@@ -1972,10 +2315,10 @@ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
|
|
|
1972
2315
|
};
|
|
1973
2316
|
|
|
1974
2317
|
var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
|
|
1975
|
-
var _column$columns
|
|
2318
|
+
var _column$columns, _column$columns2, _column$isVisible, _column$columns4;
|
|
1976
2319
|
|
|
1977
2320
|
var column = _ref.column;
|
|
1978
|
-
var isParentHeader = (
|
|
2321
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
1979
2322
|
var allChildColumnsVisible = isParentHeader && !!((_column$columns2 = column.columns) != null && _column$columns2.every(function (childColumn) {
|
|
1980
2323
|
return childColumn.isVisible;
|
|
1981
2324
|
}));
|
|
@@ -2016,9 +2359,9 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2016
2359
|
var rest = _extends({}, _ref);
|
|
2017
2360
|
|
|
2018
2361
|
var _useMRT = useMRT(),
|
|
2019
|
-
|
|
2362
|
+
ViewColumnIcon = _useMRT.icons.ViewColumnIcon,
|
|
2020
2363
|
localization = _useMRT.localization,
|
|
2021
|
-
|
|
2364
|
+
tableInstance = _useMRT.tableInstance;
|
|
2022
2365
|
|
|
2023
2366
|
var _useState = React.useState(null),
|
|
2024
2367
|
anchorEl = _useState[0],
|
|
@@ -2040,12 +2383,16 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2040
2383
|
open: !!anchorEl,
|
|
2041
2384
|
onClose: function onClose() {
|
|
2042
2385
|
return setAnchorEl(null);
|
|
2386
|
+
},
|
|
2387
|
+
MenuListProps: {
|
|
2388
|
+
dense: tableInstance.state.densePadding,
|
|
2389
|
+
disablePadding: true
|
|
2043
2390
|
}
|
|
2044
2391
|
}, React__default.createElement(material.Box, {
|
|
2045
2392
|
sx: {
|
|
2046
2393
|
display: 'flex',
|
|
2047
2394
|
justifyContent: 'space-between',
|
|
2048
|
-
p: '0
|
|
2395
|
+
p: '0.5rem'
|
|
2049
2396
|
}
|
|
2050
2397
|
}, React__default.createElement(material.Button, {
|
|
2051
2398
|
disabled: !tableInstance.getToggleHideAllColumnsProps().checked && !tableInstance.getToggleHideAllColumnsProps().indeterminate,
|
|
@@ -2118,6 +2465,7 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
|
|
|
2118
2465
|
_useMRT$icons = _useMRT.icons,
|
|
2119
2466
|
SearchIcon = _useMRT$icons.SearchIcon,
|
|
2120
2467
|
SearchOffIcon = _useMRT$icons.SearchOffIcon,
|
|
2468
|
+
idPrefix = _useMRT.idPrefix,
|
|
2121
2469
|
localization = _useMRT.localization,
|
|
2122
2470
|
muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
|
|
2123
2471
|
setShowSearch = _useMRT.setShowSearch,
|
|
@@ -2128,7 +2476,7 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
|
|
|
2128
2476
|
setTimeout(function () {
|
|
2129
2477
|
var _document$getElementB, _muiSearchTextFieldPr;
|
|
2130
2478
|
|
|
2131
|
-
return (_document$getElementB = document.getElementById((_muiSearchTextFieldPr = muiSearchTextFieldProps == null ? void 0 : muiSearchTextFieldProps.id) != null ? _muiSearchTextFieldPr : "
|
|
2479
|
+
return (_document$getElementB = document.getElementById((_muiSearchTextFieldPr = muiSearchTextFieldProps == null ? void 0 : muiSearchTextFieldProps.id) != null ? _muiSearchTextFieldPr : "mrt-" + idPrefix + "-search-text-field")) == null ? void 0 : _document$getElementB.focus();
|
|
2132
2480
|
}, 200);
|
|
2133
2481
|
};
|
|
2134
2482
|
|
|
@@ -2346,6 +2694,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2346
2694
|
hideToolbarTop = _useMRT.hideToolbarTop,
|
|
2347
2695
|
isFetching = _useMRT.isFetching,
|
|
2348
2696
|
isLoading = _useMRT.isLoading,
|
|
2697
|
+
muiLinearProgressProps = _useMRT.muiLinearProgressProps,
|
|
2349
2698
|
muiTableContainerProps = _useMRT.muiTableContainerProps,
|
|
2350
2699
|
tableInstance = _useMRT.tableInstance;
|
|
2351
2700
|
|
|
@@ -2370,6 +2719,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2370
2719
|
}
|
|
2371
2720
|
}, [fullScreen]);
|
|
2372
2721
|
var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
|
|
2722
|
+
var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps(tableInstance) : muiLinearProgressProps;
|
|
2373
2723
|
return React__default.createElement(material.TableContainer, Object.assign({
|
|
2374
2724
|
component: material.Paper
|
|
2375
2725
|
}, tableContainerProps, {
|
|
@@ -2388,7 +2738,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2388
2738
|
}), !hideToolbarTop && React__default.createElement(MRT_ToolbarTop, null), React__default.createElement(material.Collapse, {
|
|
2389
2739
|
"in": isFetching || isLoading,
|
|
2390
2740
|
unmountOnExit: true
|
|
2391
|
-
}, React__default.createElement(material.LinearProgress,
|
|
2741
|
+
}, React__default.createElement(material.LinearProgress, Object.assign({}, linearProgressProps))), React__default.createElement(material.Box, {
|
|
2392
2742
|
sx: {
|
|
2393
2743
|
maxWidth: '100%',
|
|
2394
2744
|
overflowX: 'auto'
|
|
@@ -2409,6 +2759,19 @@ var MRT_DefaultLocalization_EN = {
|
|
|
2409
2759
|
columnShowHideMenuShowAll: 'Show all',
|
|
2410
2760
|
expandAllButtonTitle: 'Expand all',
|
|
2411
2761
|
expandButtonTitle: 'Expand',
|
|
2762
|
+
filterApplied: 'Filtering by {column} - ({filterType})',
|
|
2763
|
+
filterMenuItemContains: 'Contains Exact',
|
|
2764
|
+
filterMenuItemEmpty: 'Empty',
|
|
2765
|
+
filterMenuItemEndsWith: 'Ends With',
|
|
2766
|
+
filterMenuItemEquals: 'Equals',
|
|
2767
|
+
filterMenuItemFuzzy: 'Fuzzy Match (Default)',
|
|
2768
|
+
filterMenuItemNotEmpty: 'Not Empty',
|
|
2769
|
+
filterMenuItemNotEquals: 'Not Equals',
|
|
2770
|
+
filterMenuItemStartsWith: 'Starts With',
|
|
2771
|
+
filterMenuTitle: 'Filter Mode',
|
|
2772
|
+
filterTextFieldChangeFilterButtonTitle: 'Change Filter Mode',
|
|
2773
|
+
filterTextFieldChipLabelEmpty: 'Empty',
|
|
2774
|
+
filterTextFieldChipLabelNotEmpty: 'Not Empty',
|
|
2412
2775
|
filterTextFieldClearButtonTitle: 'Clear filter',
|
|
2413
2776
|
filterTextFieldPlaceholder: 'Filter by {column}',
|
|
2414
2777
|
rowActionButtonCancel: 'Cancel',
|
|
@@ -2422,15 +2785,16 @@ var MRT_DefaultLocalization_EN = {
|
|
|
2422
2785
|
selectCheckboxTitle: 'Toggle select row',
|
|
2423
2786
|
showHideColumnsButtonTitle: 'Show/Hide columns',
|
|
2424
2787
|
toggleDensePaddingSwitchTitle: 'Toggle dense padding',
|
|
2425
|
-
toggleFilterButtonTitle: '
|
|
2788
|
+
toggleFilterButtonTitle: 'Show/Hide filters',
|
|
2426
2789
|
toggleFullScreenButtonTitle: 'Toggle full screen',
|
|
2427
|
-
toggleSearchButtonTitle: '
|
|
2428
|
-
toolbarAlertSelectionMessage: '{selectedCount} of {rowCount} row(s) selected',
|
|
2790
|
+
toggleSearchButtonTitle: 'Show/Hide search',
|
|
2429
2791
|
toolbarAlertGroupedByMessage: 'Grouped by ',
|
|
2430
|
-
toolbarAlertGroupedThenByMessage: ', then by '
|
|
2792
|
+
toolbarAlertGroupedThenByMessage: ', then by ',
|
|
2793
|
+
toolbarAlertSelectionMessage: '{selectedCount} of {rowCount} row(s) selected'
|
|
2431
2794
|
};
|
|
2432
2795
|
|
|
2433
2796
|
var MRT_Default_Icons = {
|
|
2797
|
+
ArrowRightIcon: ArrowRightIcon,
|
|
2434
2798
|
CancelIcon: CancelIcon,
|
|
2435
2799
|
ClearAllIcon: ClearAllIcon,
|
|
2436
2800
|
CloseIcon: CloseIcon,
|
|
@@ -2441,6 +2805,8 @@ var MRT_Default_Icons = {
|
|
|
2441
2805
|
EditIcon: EditIcon,
|
|
2442
2806
|
ExpandLessIcon: ExpandLessIcon,
|
|
2443
2807
|
ExpandMoreIcon: ExpandMoreIcon,
|
|
2808
|
+
FilterAltIcon: FilterAltIcon,
|
|
2809
|
+
FilterAltOff: FilterAltOff,
|
|
2444
2810
|
FilterListIcon: FilterListIcon,
|
|
2445
2811
|
FilterListOffIcon: FilterListOffIcon,
|
|
2446
2812
|
FullscreenExitIcon: FullscreenExitIcon,
|