material-react-table 0.5.2 → 0.5.5
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 +10 -5
- 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 +448 -85
- 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 +449 -86
- 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 +6 -2
- package/src/MaterialReactTable.tsx +25 -5
- package/src/body/MRT_TableBody.tsx +7 -2
- package/src/buttons/MRT_EditActionButtons.tsx +3 -1
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +34 -31
- 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_TableFooter.tsx +6 -1
- 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 +145 -78
- package/src/menus/MRT_FilterTypeMenu.tsx +107 -0
- package/src/menus/MRT_RowActionMenu.tsx +20 -9
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +1 -1
- package/src/table/MRT_Table.tsx +7 -2
- package/src/table/MRT_TableContainer.tsx +15 -2
- 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,103 @@ 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
|
+
}, React__default.createElement(material.MenuList, {
|
|
382
|
+
dense: tableInstance.state.densePadding,
|
|
383
|
+
disablePadding: true
|
|
384
|
+
}, filterTypes.map(function (_ref2) {
|
|
385
|
+
var type = _ref2.type,
|
|
386
|
+
label = _ref2.label,
|
|
387
|
+
divider = _ref2.divider;
|
|
388
|
+
return React__default.createElement(material.MenuItem, {
|
|
389
|
+
divider: divider,
|
|
390
|
+
key: type,
|
|
391
|
+
onClick: function onClick() {
|
|
392
|
+
return handleSelectFilterType(type);
|
|
393
|
+
},
|
|
394
|
+
selected: type === filterType,
|
|
395
|
+
value: type
|
|
396
|
+
}, label);
|
|
397
|
+
})));
|
|
174
398
|
};
|
|
175
399
|
|
|
176
400
|
var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
177
|
-
var _localization$filterT, _localization$filterT2
|
|
401
|
+
var _localization$filterT, _localization$filterT2;
|
|
178
402
|
|
|
179
403
|
var column = _ref.column;
|
|
180
404
|
|
|
@@ -182,37 +406,72 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
182
406
|
_useMRT$icons = _useMRT.icons,
|
|
183
407
|
FilterListIcon = _useMRT$icons.FilterListIcon,
|
|
184
408
|
CloseIcon = _useMRT$icons.CloseIcon,
|
|
185
|
-
|
|
409
|
+
idPrefix = _useMRT.idPrefix,
|
|
410
|
+
localization = _useMRT.localization,
|
|
411
|
+
muiTableHeadCellFilterTextFieldProps = _useMRT.muiTableHeadCellFilterTextFieldProps,
|
|
412
|
+
setCurrentFilterTypes = _useMRT.setCurrentFilterTypes,
|
|
413
|
+
tableInstance = _useMRT.tableInstance;
|
|
186
414
|
|
|
187
|
-
var _useState = React.useState(
|
|
188
|
-
|
|
189
|
-
|
|
415
|
+
var _useState = React.useState(null),
|
|
416
|
+
anchorEl = _useState[0],
|
|
417
|
+
setAnchorEl = _useState[1];
|
|
418
|
+
|
|
419
|
+
var mTableHeadCellFilterTextFieldProps = muiTableHeadCellFilterTextFieldProps instanceof Function ? muiTableHeadCellFilterTextFieldProps(column) : muiTableHeadCellFilterTextFieldProps;
|
|
420
|
+
var mcTableHeadCellFilterTextFieldProps = column.muiTableHeadCellFilterTextFieldProps instanceof Function ? column.muiTableHeadCellFilterTextFieldProps(column) : column.muiTableHeadCellFilterTextFieldProps;
|
|
421
|
+
|
|
422
|
+
var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps, {
|
|
423
|
+
style: _extends({}, mTableHeadCellFilterTextFieldProps == null ? void 0 : mTableHeadCellFilterTextFieldProps.style, mcTableHeadCellFilterTextFieldProps == null ? void 0 : mcTableHeadCellFilterTextFieldProps.style)
|
|
424
|
+
});
|
|
425
|
+
|
|
426
|
+
var _useState2 = React.useState(''),
|
|
427
|
+
filterValue = _useState2[0],
|
|
428
|
+
setFilterValue = _useState2[1];
|
|
190
429
|
|
|
191
430
|
var handleChange = reactTable.useAsyncDebounce(function (value) {
|
|
192
431
|
column.setFilter(value != null ? value : undefined);
|
|
193
432
|
}, 150);
|
|
194
433
|
|
|
434
|
+
var handleFilterMenuOpen = function handleFilterMenuOpen(event) {
|
|
435
|
+
setAnchorEl(event.currentTarget);
|
|
436
|
+
};
|
|
437
|
+
|
|
195
438
|
var handleClear = function handleClear() {
|
|
196
439
|
setFilterValue('');
|
|
197
440
|
column.setFilter(undefined);
|
|
198
441
|
};
|
|
199
442
|
|
|
443
|
+
var handleClearFilterChip = function handleClearFilterChip() {
|
|
444
|
+
setFilterValue('');
|
|
445
|
+
column.setFilter(undefined);
|
|
446
|
+
setCurrentFilterTypes(function (prev) {
|
|
447
|
+
var _extends2;
|
|
448
|
+
|
|
449
|
+
return _extends({}, prev, (_extends2 = {}, _extends2[column.id] = 'fuzzy', _extends2));
|
|
450
|
+
});
|
|
451
|
+
};
|
|
452
|
+
|
|
200
453
|
if (column.Filter) {
|
|
201
454
|
return React__default.createElement(React__default.Fragment, null, column.Filter == null ? void 0 : column.Filter({
|
|
202
455
|
column: column
|
|
203
456
|
}));
|
|
204
457
|
}
|
|
205
458
|
|
|
206
|
-
|
|
459
|
+
var filterType = tableInstance.state.currentFilterTypes[column.id];
|
|
460
|
+
var filterChipLabel = ['empty', 'notEmpty'].includes(filterType);
|
|
461
|
+
var filterPlaceholder = (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header));
|
|
462
|
+
return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
|
|
207
463
|
fullWidth: true,
|
|
208
|
-
id: "
|
|
464
|
+
id: "mrt-" + idPrefix + "-" + column.id + "-filter-text-field",
|
|
209
465
|
inputProps: {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
466
|
+
disabled: !!filterChipLabel,
|
|
467
|
+
sx: {
|
|
468
|
+
textOverflow: 'ellipsis',
|
|
469
|
+
width: filterChipLabel ? 0 : 'auto'
|
|
470
|
+
},
|
|
471
|
+
title: filterPlaceholder
|
|
213
472
|
},
|
|
214
|
-
margin: "
|
|
215
|
-
placeholder:
|
|
473
|
+
margin: "none",
|
|
474
|
+
placeholder: filterChipLabel ? '' : filterPlaceholder,
|
|
216
475
|
onChange: function onChange(e) {
|
|
217
476
|
setFilterValue(e.target.value);
|
|
218
477
|
handleChange(e.target.value);
|
|
@@ -223,32 +482,57 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
223
482
|
value: filterValue != null ? filterValue : '',
|
|
224
483
|
variant: "standard",
|
|
225
484
|
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, {
|
|
485
|
+
startAdornment: React__default.createElement(material.InputAdornment, {
|
|
230
486
|
position: "start"
|
|
231
|
-
}, React__default.createElement(
|
|
232
|
-
|
|
487
|
+
}, React__default.createElement(material.Tooltip, {
|
|
488
|
+
arrow: true,
|
|
489
|
+
title: "Change Filter Mode"
|
|
490
|
+
}, React__default.createElement(material.IconButton, {
|
|
491
|
+
onClick: handleFilterMenuOpen,
|
|
492
|
+
size: "small",
|
|
493
|
+
sx: {
|
|
494
|
+
height: '1.75rem',
|
|
495
|
+
width: '1.75rem'
|
|
496
|
+
}
|
|
497
|
+
}, React__default.createElement(FilterListIcon, null))), filterChipLabel && React__default.createElement(material.Chip, {
|
|
498
|
+
onDelete: handleClearFilterChip,
|
|
499
|
+
label: filterType
|
|
500
|
+
})),
|
|
501
|
+
endAdornment: !filterChipLabel && React__default.createElement(material.InputAdornment, {
|
|
233
502
|
position: "end"
|
|
234
503
|
}, React__default.createElement(material.Tooltip, {
|
|
235
504
|
arrow: true,
|
|
236
|
-
|
|
505
|
+
placement: "right",
|
|
506
|
+
title: (_localization$filterT2 = localization.filterTextFieldClearButtonTitle) != null ? _localization$filterT2 : ''
|
|
237
507
|
}, React__default.createElement("span", null, React__default.createElement(material.IconButton, {
|
|
238
508
|
"aria-label": localization.filterTextFieldClearButtonTitle,
|
|
239
509
|
disabled: (filterValue == null ? void 0 : filterValue.length) === 0,
|
|
240
510
|
onClick: handleClear,
|
|
241
|
-
size: "small"
|
|
511
|
+
size: "small",
|
|
512
|
+
sx: {
|
|
513
|
+
height: '1.75rem',
|
|
514
|
+
width: '1.75rem'
|
|
515
|
+
}
|
|
242
516
|
}, React__default.createElement(CloseIcon, {
|
|
243
517
|
fontSize: "small"
|
|
244
518
|
})))))
|
|
245
519
|
}
|
|
246
|
-
}
|
|
520
|
+
}, textFieldProps, {
|
|
521
|
+
sx: _extends({
|
|
522
|
+
m: '0 -0.25rem',
|
|
523
|
+
minWidth: !filterChipLabel ? '5rem' : 'auto',
|
|
524
|
+
width: 'calc(100% + 0.5rem)'
|
|
525
|
+
}, textFieldProps == null ? void 0 : textFieldProps.sx)
|
|
526
|
+
})), React__default.createElement(MRT_FilterTypeMenu, {
|
|
527
|
+
anchorEl: anchorEl,
|
|
528
|
+
column: column,
|
|
529
|
+
setAnchorEl: setAnchorEl
|
|
530
|
+
}));
|
|
247
531
|
};
|
|
248
532
|
|
|
249
533
|
var commonMenuItemStyles = {
|
|
250
534
|
display: 'flex',
|
|
251
|
-
|
|
535
|
+
alignItems: 'center'
|
|
252
536
|
};
|
|
253
537
|
var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
254
538
|
var _localization$columnA, _localization$columnA2, _localization$filterT, _localization, _localization$columnA3;
|
|
@@ -262,14 +546,21 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
262
546
|
disableFilters = _useMRT.disableFilters,
|
|
263
547
|
disableSortBy = _useMRT.disableSortBy,
|
|
264
548
|
enableColumnGrouping = _useMRT.enableColumnGrouping,
|
|
265
|
-
localization = _useMRT.localization,
|
|
266
|
-
setShowFilters = _useMRT.setShowFilters,
|
|
267
549
|
_useMRT$icons = _useMRT.icons,
|
|
268
|
-
|
|
269
|
-
SortIcon = _useMRT$icons.SortIcon,
|
|
550
|
+
ArrowRightIcon = _useMRT$icons.ArrowRightIcon,
|
|
270
551
|
ClearAllIcon = _useMRT$icons.ClearAllIcon,
|
|
271
552
|
DynamicFeedIcon = _useMRT$icons.DynamicFeedIcon,
|
|
272
|
-
|
|
553
|
+
FilterListIcon = _useMRT$icons.FilterListIcon,
|
|
554
|
+
SortIcon = _useMRT$icons.SortIcon,
|
|
555
|
+
VisibilityOffIcon = _useMRT$icons.VisibilityOffIcon,
|
|
556
|
+
idPrefix = _useMRT.idPrefix,
|
|
557
|
+
localization = _useMRT.localization,
|
|
558
|
+
setShowFilters = _useMRT.setShowFilters,
|
|
559
|
+
tableInstance = _useMRT.tableInstance;
|
|
560
|
+
|
|
561
|
+
var _useState = React.useState(null),
|
|
562
|
+
filterMenuAnchorEl = _useState[0],
|
|
563
|
+
setFilterMenuAnchorEl = _useState[1];
|
|
273
564
|
|
|
274
565
|
var handleClearSort = function handleClearSort() {
|
|
275
566
|
column.clearSortBy();
|
|
@@ -302,55 +593,73 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
302
593
|
var _document$getElementB, _column$muiTableHeadC, _column$muiTableHeadC2;
|
|
303
594
|
|
|
304
595
|
return (_document$getElementB = document.getElementById( // @ts-ignore
|
|
305
|
-
(_column$muiTableHeadC = (_column$muiTableHeadC2 = column.muiTableHeadCellFilterTextFieldProps) == null ? void 0 : _column$muiTableHeadC2.id) != null ? _column$muiTableHeadC : "
|
|
596
|
+
(_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
597
|
}, 200);
|
|
307
598
|
setAnchorEl(null);
|
|
308
599
|
};
|
|
309
600
|
|
|
601
|
+
var handleOpenFilterModeMenu = function handleOpenFilterModeMenu(event) {
|
|
602
|
+
event.stopPropagation();
|
|
603
|
+
setFilterMenuAnchorEl(event.currentTarget);
|
|
604
|
+
};
|
|
605
|
+
|
|
310
606
|
return React__default.createElement(material.Menu, {
|
|
311
607
|
anchorEl: anchorEl,
|
|
312
608
|
open: !!anchorEl,
|
|
313
609
|
onClose: function onClose() {
|
|
314
610
|
return setAnchorEl(null);
|
|
315
611
|
}
|
|
612
|
+
}, React__default.createElement(material.MenuList, {
|
|
613
|
+
dense: tableInstance.state.densePadding,
|
|
614
|
+
disablePadding: true
|
|
316
615
|
}, !disableSortBy && column.canSort && [React__default.createElement(material.MenuItem, {
|
|
317
616
|
key: 1,
|
|
318
617
|
disabled: !column.isSorted,
|
|
319
618
|
onClick: handleClearSort,
|
|
320
619
|
sx: commonMenuItemStyles
|
|
321
|
-
}, React__default.createElement(ClearAllIcon, null),
|
|
322
|
-
key: 2,
|
|
620
|
+
}, 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
621
|
disabled: column.isSorted && !column.isSortedDesc,
|
|
622
|
+
key: 2,
|
|
324
623
|
onClick: handleSortAsc,
|
|
325
624
|
sx: commonMenuItemStyles
|
|
326
|
-
}, React__default.createElement(SortIcon, null),
|
|
625
|
+
}, 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, {
|
|
626
|
+
divider: !disableFilters || enableColumnGrouping || !disableColumnHiding,
|
|
327
627
|
key: 3,
|
|
328
628
|
disabled: column.isSorted && column.isSortedDesc,
|
|
329
629
|
onClick: handleSortDesc,
|
|
330
630
|
sx: commonMenuItemStyles
|
|
331
|
-
}, React__default.createElement(SortIcon, {
|
|
631
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(SortIcon, {
|
|
332
632
|
style: {
|
|
333
633
|
transform: 'rotate(180deg) scaleX(-1)'
|
|
334
634
|
}
|
|
335
|
-
}),
|
|
336
|
-
|
|
337
|
-
}), React__default.createElement(material.MenuItem, {
|
|
635
|
+
})), 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, {
|
|
636
|
+
divider: enableColumnGrouping || !disableColumnHiding,
|
|
338
637
|
key: 1,
|
|
339
638
|
onClick: handleFilterByColumn,
|
|
340
639
|
sx: commonMenuItemStyles
|
|
341
|
-
}, React__default.createElement(FilterListIcon, null),
|
|
342
|
-
|
|
343
|
-
|
|
640
|
+
}, 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, {
|
|
641
|
+
onClick: handleOpenFilterModeMenu,
|
|
642
|
+
onMouseEnter: handleOpenFilterModeMenu,
|
|
643
|
+
size: "small",
|
|
644
|
+
sx: {
|
|
645
|
+
p: 0
|
|
646
|
+
}
|
|
647
|
+
}, React__default.createElement(ArrowRightIcon, null))), React__default.createElement(MRT_FilterTypeMenu, {
|
|
648
|
+
anchorEl: filterMenuAnchorEl,
|
|
649
|
+
column: column,
|
|
650
|
+
key: 2,
|
|
651
|
+
setAnchorEl: setFilterMenuAnchorEl,
|
|
652
|
+
onSelect: handleFilterByColumn
|
|
653
|
+
})], enableColumnGrouping && column.canGroupBy && [React__default.createElement(material.MenuItem, {
|
|
654
|
+
divider: !disableColumnHiding,
|
|
344
655
|
key: 2,
|
|
345
656
|
onClick: handleGroupByColumn,
|
|
346
657
|
sx: commonMenuItemStyles
|
|
347
|
-
}, React__default.createElement(DynamicFeedIcon, null),
|
|
348
|
-
key: 0
|
|
349
|
-
}), React__default.createElement(material.MenuItem, {
|
|
658
|
+
}, 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
659
|
key: 1,
|
|
351
660
|
onClick: handleHideColumn,
|
|
352
661
|
sx: commonMenuItemStyles
|
|
353
|
-
}, React__default.createElement(VisibilityOffIcon, null),
|
|
662
|
+
}, 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
663
|
};
|
|
355
664
|
|
|
356
665
|
var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
|
|
@@ -380,11 +689,12 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
|
|
|
380
689
|
onClick: handleClick,
|
|
381
690
|
size: "small",
|
|
382
691
|
sx: {
|
|
692
|
+
height: '2rem',
|
|
693
|
+
mr: '2px',
|
|
694
|
+
mt: '-0.2rem',
|
|
383
695
|
opacity: 0.5,
|
|
384
696
|
transition: 'opacity 0.2s',
|
|
385
|
-
|
|
386
|
-
height: '1.6rem',
|
|
387
|
-
width: '1.6rem',
|
|
697
|
+
width: '2rem',
|
|
388
698
|
'&:hover': {
|
|
389
699
|
opacity: 1
|
|
390
700
|
}
|
|
@@ -407,7 +717,7 @@ var commonTableHeadCellStyles = function commonTableHeadCellStyles(densePadding,
|
|
|
407
717
|
};
|
|
408
718
|
};
|
|
409
719
|
var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
410
|
-
var _column$columns
|
|
720
|
+
var _column$columns, _localization$columnA, _localization$columnA2;
|
|
411
721
|
|
|
412
722
|
var column = _ref.column;
|
|
413
723
|
|
|
@@ -415,11 +725,15 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
415
725
|
disableColumnActions = _useMRT.disableColumnActions,
|
|
416
726
|
disableFilters = _useMRT.disableFilters,
|
|
417
727
|
enableColumnResizing = _useMRT.enableColumnResizing,
|
|
728
|
+
_useMRT$icons = _useMRT.icons,
|
|
729
|
+
FilterAltIcon = _useMRT$icons.FilterAltIcon,
|
|
730
|
+
FilterAltOff = _useMRT$icons.FilterAltOff,
|
|
418
731
|
localization = _useMRT.localization,
|
|
419
732
|
muiTableHeadCellProps = _useMRT.muiTableHeadCellProps,
|
|
733
|
+
setShowFilters = _useMRT.setShowFilters,
|
|
420
734
|
tableInstance = _useMRT.tableInstance;
|
|
421
735
|
|
|
422
|
-
var isParentHeader = (
|
|
736
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
423
737
|
var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps(column) : muiTableHeadCellProps;
|
|
424
738
|
var mcTableHeadCellProps = column.muiTableHeadCellProps instanceof Function ? column.muiTableHeadCellProps(column) : column.muiTableHeadCellProps;
|
|
425
739
|
|
|
@@ -428,17 +742,14 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
428
742
|
});
|
|
429
743
|
|
|
430
744
|
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);
|
|
745
|
+
var filterTooltip = !!column.filterValue ? localization.filterApplied.replace('{column}', String(column.Header)).replace('{filterType}', // @ts-ignore
|
|
746
|
+
localization["filterMenuItem" + (tableInstance.state.currentFilterTypes[column.id].charAt(0).toUpperCase() + tableInstance.state.currentFilterTypes[column.id].slice(1))]) : localization.toggleFilterButtonTitle;
|
|
747
|
+
var columnHeader = column.render('Header');
|
|
431
748
|
return React__default.createElement(material.TableCell, Object.assign({
|
|
432
749
|
align: isParentHeader ? 'center' : 'left'
|
|
433
750
|
}, tableCellProps, {
|
|
434
751
|
sx: _extends({}, commonTableHeadCellStyles(tableInstance.state.densePadding, enableColumnResizing), tableCellProps == null ? void 0 : tableCellProps.sx)
|
|
435
752
|
}), 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
753
|
sx: {
|
|
443
754
|
alignItems: 'flex-start',
|
|
444
755
|
display: 'flex',
|
|
@@ -449,7 +760,8 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
449
760
|
sx: {
|
|
450
761
|
alignItems: 'center',
|
|
451
762
|
display: 'flex',
|
|
452
|
-
flexWrap: 'nowrap'
|
|
763
|
+
flexWrap: 'nowrap',
|
|
764
|
+
whiteSpace: columnHeader.length < 15 ? 'nowrap' : 'normal'
|
|
453
765
|
},
|
|
454
766
|
title: undefined
|
|
455
767
|
}), column.render('Header'), !isParentHeader && column.canSort && React__default.createElement(material.Tooltip, {
|
|
@@ -459,7 +771,29 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
459
771
|
"aria-label": sortTooltip,
|
|
460
772
|
active: column.isSorted,
|
|
461
773
|
direction: column.isSortedDesc ? 'desc' : 'asc'
|
|
462
|
-
}))
|
|
774
|
+
})), !isParentHeader && !!column.canFilter && React__default.createElement(material.Tooltip, {
|
|
775
|
+
arrow: true,
|
|
776
|
+
title: filterTooltip
|
|
777
|
+
}, React__default.createElement(material.IconButton, {
|
|
778
|
+
onClick: function onClick(event) {
|
|
779
|
+
event.stopPropagation();
|
|
780
|
+
setShowFilters(!tableInstance.state.showFilters);
|
|
781
|
+
},
|
|
782
|
+
size: "small",
|
|
783
|
+
sx: {
|
|
784
|
+
opacity: !!column.filterValue ? 0.8 : 0,
|
|
785
|
+
p: '2px',
|
|
786
|
+
m: 0,
|
|
787
|
+
transition: 'all 0.2s ease-in-out',
|
|
788
|
+
'&:hover': {
|
|
789
|
+
opacity: 0.8
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
}, tableInstance.state.showFilters && !column.filterValue ? React__default.createElement(FilterAltOff, {
|
|
793
|
+
fontSize: "small"
|
|
794
|
+
}) : React__default.createElement(FilterAltIcon, {
|
|
795
|
+
fontSize: "small"
|
|
796
|
+
})))), React__default.createElement(material.Box, {
|
|
463
797
|
sx: {
|
|
464
798
|
alignItems: 'center',
|
|
465
799
|
display: 'flex',
|
|
@@ -483,7 +817,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
483
817
|
"in": tableInstance.state.showFilters
|
|
484
818
|
}, React__default.createElement(MRT_FilterTextField, {
|
|
485
819
|
column: column
|
|
486
|
-
})))
|
|
820
|
+
})));
|
|
487
821
|
};
|
|
488
822
|
|
|
489
823
|
var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
|
|
@@ -805,15 +1139,14 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
|
|
|
805
1139
|
onClose: function onClose() {
|
|
806
1140
|
return setAnchorEl(null);
|
|
807
1141
|
}
|
|
1142
|
+
}, React__default.createElement(material.MenuList, {
|
|
1143
|
+
dense: tableInstance.state.densePadding,
|
|
1144
|
+
disablePadding: true
|
|
808
1145
|
}, enableRowEditing && React__default.createElement(material.MenuItem, {
|
|
809
|
-
sx: {
|
|
810
|
-
display: 'flex',
|
|
811
|
-
gap: '0.75rem'
|
|
812
|
-
},
|
|
813
1146
|
onClick: handleEdit
|
|
814
|
-
}, React__default.createElement(EditIcon, null),
|
|
1147
|
+
}, 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
1148
|
return setAnchorEl(null);
|
|
816
|
-
})) != null ? _renderRowActionMenuI : null);
|
|
1149
|
+
})) != null ? _renderRowActionMenuI : null));
|
|
817
1150
|
};
|
|
818
1151
|
|
|
819
1152
|
function createCommonjsModule(fn, module) {
|
|
@@ -1768,9 +2101,10 @@ var MRT_TableBody = function MRT_TableBody() {
|
|
|
1768
2101
|
manualPagination = _useMRT.manualPagination;
|
|
1769
2102
|
|
|
1770
2103
|
var rows = manualPagination ? tableInstance.rows : tableInstance.page;
|
|
2104
|
+
var mTableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps(tableInstance) : muiTableBodyProps;
|
|
1771
2105
|
|
|
1772
|
-
var tableBodyProps = _extends({},
|
|
1773
|
-
style: _extends({}, tableInstance.getTableBodyProps().style,
|
|
2106
|
+
var tableBodyProps = _extends({}, mTableBodyProps, tableInstance.getTableBodyProps(), {
|
|
2107
|
+
style: _extends({}, tableInstance.getTableBodyProps().style, mTableBodyProps == null ? void 0 : mTableBodyProps.style)
|
|
1774
2108
|
});
|
|
1775
2109
|
|
|
1776
2110
|
return React__default.createElement(material.TableBody, Object.assign({}, tableBodyProps, {
|
|
@@ -1787,7 +2121,7 @@ var MRT_TableBody = function MRT_TableBody() {
|
|
|
1787
2121
|
};
|
|
1788
2122
|
|
|
1789
2123
|
var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
1790
|
-
var _column$columns
|
|
2124
|
+
var _column$columns;
|
|
1791
2125
|
|
|
1792
2126
|
var column = _ref.column;
|
|
1793
2127
|
|
|
@@ -1796,7 +2130,7 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
|
1796
2130
|
enableColumnResizing = _useMRT.enableColumnResizing,
|
|
1797
2131
|
densePadding = _useMRT.tableInstance.state.densePadding;
|
|
1798
2132
|
|
|
1799
|
-
var isParentHeader = (
|
|
2133
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
1800
2134
|
var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps(column) : muiTableFooterCellProps;
|
|
1801
2135
|
var mcTableFooterCellProps = column.muiTableFooterCellProps instanceof Function ? column.muiTableFooterCellProps(column) : column.muiTableFooterCellProps;
|
|
1802
2136
|
|
|
@@ -1859,7 +2193,8 @@ var MRT_TableFooter = function MRT_TableFooter() {
|
|
|
1859
2193
|
muiTableFooterProps = _useMRT.muiTableFooterProps,
|
|
1860
2194
|
tableInstance = _useMRT.tableInstance;
|
|
1861
2195
|
|
|
1862
|
-
|
|
2196
|
+
var tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps(tableInstance) : muiTableFooterProps;
|
|
2197
|
+
return React__default.createElement(material.TableFooter, Object.assign({}, tableFooterProps), tableInstance.footerGroups.map(function (footerGroup) {
|
|
1863
2198
|
return React__default.createElement(MRT_TableFooterRow, {
|
|
1864
2199
|
key: footerGroup.getFooterGroupProps().key,
|
|
1865
2200
|
footerGroup: footerGroup
|
|
@@ -1874,8 +2209,10 @@ var MRT_Table = function MRT_Table() {
|
|
|
1874
2209
|
hideTableHead = _useMRT.hideTableHead,
|
|
1875
2210
|
hideTableFooter = _useMRT.hideTableFooter;
|
|
1876
2211
|
|
|
1877
|
-
var
|
|
1878
|
-
|
|
2212
|
+
var mTableProps = muiTableProps instanceof Function ? muiTableProps(tableInstance) : muiTableProps;
|
|
2213
|
+
|
|
2214
|
+
var tableProps = _extends({}, mTableProps, tableInstance.getTableProps(), {
|
|
2215
|
+
style: _extends({}, tableInstance.getTableProps().style, mTableProps == null ? void 0 : mTableProps.style)
|
|
1879
2216
|
});
|
|
1880
2217
|
|
|
1881
2218
|
return React__default.createElement(material.Table, Object.assign({}, tableProps), !hideTableHead && React__default.createElement(MRT_TableHead, null), React__default.createElement(MRT_TableBody, null), !hideTableFooter && React__default.createElement(MRT_TableFooter, null));
|
|
@@ -1886,6 +2223,7 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
|
|
|
1886
2223
|
_useMRT$icons = _useMRT.icons,
|
|
1887
2224
|
SearchIcon = _useMRT$icons.SearchIcon,
|
|
1888
2225
|
CloseIcon = _useMRT$icons.CloseIcon,
|
|
2226
|
+
idPrefix = _useMRT.idPrefix,
|
|
1889
2227
|
localization = _useMRT.localization,
|
|
1890
2228
|
muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
|
|
1891
2229
|
onGlobalFilterChange = _useMRT.onGlobalFilterChange,
|
|
@@ -1911,7 +2249,7 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
|
|
|
1911
2249
|
"in": tableInstance.state.showSearch,
|
|
1912
2250
|
orientation: "horizontal"
|
|
1913
2251
|
}, React__default.createElement(material.TextField, Object.assign({
|
|
1914
|
-
id: "
|
|
2252
|
+
id: "mrt-" + idPrefix + "-search-text-field",
|
|
1915
2253
|
placeholder: localization.searchTextFieldPlaceholder,
|
|
1916
2254
|
onChange: function onChange(event) {
|
|
1917
2255
|
setSearchValue(event.target.value);
|
|
@@ -1968,10 +2306,10 @@ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
|
|
|
1968
2306
|
};
|
|
1969
2307
|
|
|
1970
2308
|
var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
|
|
1971
|
-
var _column$columns
|
|
2309
|
+
var _column$columns, _column$columns2, _column$isVisible, _column$columns4;
|
|
1972
2310
|
|
|
1973
2311
|
var column = _ref.column;
|
|
1974
|
-
var isParentHeader = (
|
|
2312
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
1975
2313
|
var allChildColumnsVisible = isParentHeader && !!((_column$columns2 = column.columns) != null && _column$columns2.every(function (childColumn) {
|
|
1976
2314
|
return childColumn.isVisible;
|
|
1977
2315
|
}));
|
|
@@ -2012,9 +2350,9 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2012
2350
|
var rest = _extends({}, _ref);
|
|
2013
2351
|
|
|
2014
2352
|
var _useMRT = useMRT(),
|
|
2015
|
-
|
|
2353
|
+
ViewColumnIcon = _useMRT.icons.ViewColumnIcon,
|
|
2016
2354
|
localization = _useMRT.localization,
|
|
2017
|
-
|
|
2355
|
+
tableInstance = _useMRT.tableInstance;
|
|
2018
2356
|
|
|
2019
2357
|
var _useState = React.useState(null),
|
|
2020
2358
|
anchorEl = _useState[0],
|
|
@@ -2037,6 +2375,9 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2037
2375
|
onClose: function onClose() {
|
|
2038
2376
|
return setAnchorEl(null);
|
|
2039
2377
|
}
|
|
2378
|
+
}, React__default.createElement(material.MenuList, {
|
|
2379
|
+
dense: tableInstance.state.densePadding,
|
|
2380
|
+
disablePadding: true
|
|
2040
2381
|
}, React__default.createElement(material.Box, {
|
|
2041
2382
|
sx: {
|
|
2042
2383
|
display: 'flex',
|
|
@@ -2058,7 +2399,7 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2058
2399
|
key: index + "-" + column.id,
|
|
2059
2400
|
column: column
|
|
2060
2401
|
});
|
|
2061
|
-
})));
|
|
2402
|
+
}))));
|
|
2062
2403
|
};
|
|
2063
2404
|
|
|
2064
2405
|
var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
|
|
@@ -2114,6 +2455,7 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
|
|
|
2114
2455
|
_useMRT$icons = _useMRT.icons,
|
|
2115
2456
|
SearchIcon = _useMRT$icons.SearchIcon,
|
|
2116
2457
|
SearchOffIcon = _useMRT$icons.SearchOffIcon,
|
|
2458
|
+
idPrefix = _useMRT.idPrefix,
|
|
2117
2459
|
localization = _useMRT.localization,
|
|
2118
2460
|
muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
|
|
2119
2461
|
setShowSearch = _useMRT.setShowSearch,
|
|
@@ -2124,7 +2466,7 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
|
|
|
2124
2466
|
setTimeout(function () {
|
|
2125
2467
|
var _document$getElementB, _muiSearchTextFieldPr;
|
|
2126
2468
|
|
|
2127
|
-
return (_document$getElementB = document.getElementById((_muiSearchTextFieldPr = muiSearchTextFieldProps == null ? void 0 : muiSearchTextFieldProps.id) != null ? _muiSearchTextFieldPr : "
|
|
2469
|
+
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();
|
|
2128
2470
|
}, 200);
|
|
2129
2471
|
};
|
|
2130
2472
|
|
|
@@ -2384,7 +2726,12 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2384
2726
|
}), !hideToolbarTop && React__default.createElement(MRT_ToolbarTop, null), React__default.createElement(material.Collapse, {
|
|
2385
2727
|
"in": isFetching || isLoading,
|
|
2386
2728
|
unmountOnExit: true
|
|
2387
|
-
}, React__default.createElement(material.LinearProgress, null)), React__default.createElement(
|
|
2729
|
+
}, React__default.createElement(material.LinearProgress, null)), React__default.createElement(material.Box, {
|
|
2730
|
+
sx: {
|
|
2731
|
+
maxWidth: '100%',
|
|
2732
|
+
overflowX: 'auto'
|
|
2733
|
+
}
|
|
2734
|
+
}, React__default.createElement(MRT_Table, null)), !hideToolbarBottom && React__default.createElement(MRT_ToolbarBottom, null));
|
|
2388
2735
|
};
|
|
2389
2736
|
|
|
2390
2737
|
var MRT_DefaultLocalization_EN = {
|
|
@@ -2400,6 +2747,19 @@ var MRT_DefaultLocalization_EN = {
|
|
|
2400
2747
|
columnShowHideMenuShowAll: 'Show all',
|
|
2401
2748
|
expandAllButtonTitle: 'Expand all',
|
|
2402
2749
|
expandButtonTitle: 'Expand',
|
|
2750
|
+
filterApplied: 'Filtering by {column} - ({filterType})',
|
|
2751
|
+
filterMenuItemContains: 'Contains Exact',
|
|
2752
|
+
filterMenuItemEmpty: 'Empty',
|
|
2753
|
+
filterMenuItemEndsWith: 'Ends With',
|
|
2754
|
+
filterMenuItemEquals: 'Equals',
|
|
2755
|
+
filterMenuItemFuzzy: 'Fuzzy Match (Default)',
|
|
2756
|
+
filterMenuItemNotEmpty: 'Not Empty',
|
|
2757
|
+
filterMenuItemNotEquals: 'Not Equals',
|
|
2758
|
+
filterMenuItemStartsWith: 'Starts With',
|
|
2759
|
+
filterMenuTitle: 'Filter Mode',
|
|
2760
|
+
filterTextFieldChangeFilterButtonTitle: 'Change Filter Mode',
|
|
2761
|
+
filterTextFieldChipLabelEmpty: 'Empty',
|
|
2762
|
+
filterTextFieldChipLabelNotEmpty: 'Not Empty',
|
|
2403
2763
|
filterTextFieldClearButtonTitle: 'Clear filter',
|
|
2404
2764
|
filterTextFieldPlaceholder: 'Filter by {column}',
|
|
2405
2765
|
rowActionButtonCancel: 'Cancel',
|
|
@@ -2413,15 +2773,16 @@ var MRT_DefaultLocalization_EN = {
|
|
|
2413
2773
|
selectCheckboxTitle: 'Toggle select row',
|
|
2414
2774
|
showHideColumnsButtonTitle: 'Show/Hide columns',
|
|
2415
2775
|
toggleDensePaddingSwitchTitle: 'Toggle dense padding',
|
|
2416
|
-
toggleFilterButtonTitle: '
|
|
2776
|
+
toggleFilterButtonTitle: 'Show/Hide filters',
|
|
2417
2777
|
toggleFullScreenButtonTitle: 'Toggle full screen',
|
|
2418
|
-
toggleSearchButtonTitle: '
|
|
2419
|
-
toolbarAlertSelectionMessage: '{selectedCount} of {rowCount} row(s) selected',
|
|
2778
|
+
toggleSearchButtonTitle: 'Show/Hide search',
|
|
2420
2779
|
toolbarAlertGroupedByMessage: 'Grouped by ',
|
|
2421
|
-
toolbarAlertGroupedThenByMessage: ', then by '
|
|
2780
|
+
toolbarAlertGroupedThenByMessage: ', then by ',
|
|
2781
|
+
toolbarAlertSelectionMessage: '{selectedCount} of {rowCount} row(s) selected'
|
|
2422
2782
|
};
|
|
2423
2783
|
|
|
2424
2784
|
var MRT_Default_Icons = {
|
|
2785
|
+
ArrowRightIcon: ArrowRightIcon,
|
|
2425
2786
|
CancelIcon: CancelIcon,
|
|
2426
2787
|
ClearAllIcon: ClearAllIcon,
|
|
2427
2788
|
CloseIcon: CloseIcon,
|
|
@@ -2432,6 +2793,8 @@ var MRT_Default_Icons = {
|
|
|
2432
2793
|
EditIcon: EditIcon,
|
|
2433
2794
|
ExpandLessIcon: ExpandLessIcon,
|
|
2434
2795
|
ExpandMoreIcon: ExpandMoreIcon,
|
|
2796
|
+
FilterAltIcon: FilterAltIcon,
|
|
2797
|
+
FilterAltOff: FilterAltOff,
|
|
2435
2798
|
FilterListIcon: FilterListIcon,
|
|
2436
2799
|
FilterListOffIcon: FilterListOffIcon,
|
|
2437
2800
|
FullscreenExitIcon: FullscreenExitIcon,
|