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
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React, { useState, useMemo, useContext, createContext, Fragment, useRef, useEffect } from 'react';
|
|
2
2
|
import { useTable, useFilters, useGlobalFilter, useGroupBy, useSortBy, useExpanded, usePagination, useRowSelect, useResizeColumns, useFlexLayout, useAsyncDebounce } from 'react-table';
|
|
3
|
-
import {
|
|
3
|
+
import { matchSorter } from 'match-sorter';
|
|
4
|
+
import { Menu, MenuItem, TextField, InputAdornment, Tooltip, IconButton, Chip, ListItemIcon, ListItemText, TableCell, Box, TableSortLabel, Divider, Collapse, Skeleton, Checkbox, TableRow, TableHead, alpha, TableBody, TableFooter, Table, FormControlLabel, Switch, Button, TablePagination, useMediaQuery, Alert, Toolbar, TableContainer, Paper, LinearProgress } from '@mui/material';
|
|
5
|
+
import ArrowRightIcon from '@mui/icons-material/ArrowRight';
|
|
4
6
|
import CancelIcon from '@mui/icons-material/Cancel';
|
|
5
7
|
import ClearAllIcon from '@mui/icons-material/ClearAll';
|
|
6
8
|
import CloseIcon from '@mui/icons-material/Close';
|
|
@@ -11,6 +13,8 @@ import DynamicFeedIcon from '@mui/icons-material/DynamicFeed';
|
|
|
11
13
|
import EditIcon from '@mui/icons-material/Edit';
|
|
12
14
|
import ExpandLessIcon from '@mui/icons-material/ExpandLess';
|
|
13
15
|
import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
|
|
16
|
+
import FilterAltIcon from '@mui/icons-material/FilterAlt';
|
|
17
|
+
import FilterAltOff from '@mui/icons-material/FilterAltOff';
|
|
14
18
|
import FilterListIcon from '@mui/icons-material/FilterList';
|
|
15
19
|
import FilterListOffIcon from '@mui/icons-material/FilterListOff';
|
|
16
20
|
import FullscreenExitIcon from '@mui/icons-material/FullscreenExit';
|
|
@@ -93,6 +97,100 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
93
97
|
return target;
|
|
94
98
|
}
|
|
95
99
|
|
|
100
|
+
var fuzzyFilterFN = function fuzzyFilterFN(rows, id, filterValue) {
|
|
101
|
+
return matchSorter(rows, filterValue.toString().trim(), {
|
|
102
|
+
keys: ["values." + id],
|
|
103
|
+
sorter: function sorter(rankedItems) {
|
|
104
|
+
return rankedItems;
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
fuzzyFilterFN.autoRemove = function (val) {
|
|
110
|
+
return !val;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
var containsFilterFN = function containsFilterFN(rows, id, filterValue) {
|
|
114
|
+
return rows.filter(function (row) {
|
|
115
|
+
return row.values[id].toString().toLowerCase().trim().includes(filterValue.toString().toLowerCase().trim());
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
|
|
119
|
+
containsFilterFN.autoRemove = function (val) {
|
|
120
|
+
return !val;
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
var startsWithFilterFN = function startsWithFilterFN(rows, id, filterValue) {
|
|
124
|
+
return rows.filter(function (row) {
|
|
125
|
+
return row.values[id].toString().toLowerCase().trim().startsWith(filterValue.toString().toLowerCase().trim());
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
startsWithFilterFN.autoRemove = function (val) {
|
|
130
|
+
return !val;
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
var endsWithFilterFN = function endsWithFilterFN(rows, id, filterValue) {
|
|
134
|
+
return rows.filter(function (row) {
|
|
135
|
+
return row.values[id].toString().toLowerCase().trim().endsWith(filterValue.toString().toLowerCase().trim());
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
endsWithFilterFN.autoRemove = function (val) {
|
|
140
|
+
return !val;
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
var equalsFilterFN = function equalsFilterFN(rows, id, filterValue) {
|
|
144
|
+
return rows.filter(function (row) {
|
|
145
|
+
return row.values[id].toString().toLowerCase().trim() === filterValue.toString().toLowerCase().trim();
|
|
146
|
+
});
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
equalsFilterFN.autoRemove = function (val) {
|
|
150
|
+
return !val;
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
var notEqualsFilterFN = function notEqualsFilterFN(rows, id, filterValue) {
|
|
154
|
+
return rows.filter(function (row) {
|
|
155
|
+
return row.values[id].toString().toLowerCase().trim() !== filterValue.toString().toLowerCase().trim();
|
|
156
|
+
});
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
notEqualsFilterFN.autoRemove = function (val) {
|
|
160
|
+
return !val;
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
var emptyFilterFN = function emptyFilterFN(rows, id, _filterValue) {
|
|
164
|
+
return rows.filter(function (row) {
|
|
165
|
+
return !row.values[id].toString().toLowerCase().trim();
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
emptyFilterFN.autoRemove = function (val) {
|
|
170
|
+
return !val;
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
var notEmptyFilterFN = function notEmptyFilterFN(rows, id, _filterValue) {
|
|
174
|
+
return rows.filter(function (row) {
|
|
175
|
+
return !!row.values[id].toString().toLowerCase().trim();
|
|
176
|
+
});
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
notEmptyFilterFN.autoRemove = function (val) {
|
|
180
|
+
return !val;
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
var defaultFilterFNs = {
|
|
184
|
+
contains: containsFilterFN,
|
|
185
|
+
empty: emptyFilterFN,
|
|
186
|
+
endsWith: endsWithFilterFN,
|
|
187
|
+
equals: equalsFilterFN,
|
|
188
|
+
fuzzy: fuzzyFilterFN,
|
|
189
|
+
notEmpty: notEmptyFilterFN,
|
|
190
|
+
notEquals: notEqualsFilterFN,
|
|
191
|
+
startsWith: startsWithFilterFN
|
|
192
|
+
};
|
|
193
|
+
|
|
96
194
|
var MaterialReactTableContext = /*#__PURE__*/function () {
|
|
97
195
|
return createContext({});
|
|
98
196
|
}();
|
|
@@ -123,19 +221,52 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
123
221
|
showSearch = _useState5[0],
|
|
124
222
|
setShowSearch = _useState5[1];
|
|
125
223
|
|
|
224
|
+
var filterTypes = useMemo(function () {
|
|
225
|
+
return _extends({}, defaultFilterFNs, props.filterTypes);
|
|
226
|
+
}, [props.filterTypes]);
|
|
227
|
+
|
|
228
|
+
var _useState6 = useState(function () {
|
|
229
|
+
return Object.assign.apply(Object, [{}].concat(props.columns.map(function (c) {
|
|
230
|
+
var _c$accessor;
|
|
231
|
+
|
|
232
|
+
return (_c$accessor = c.accessor) == null ? void 0 : _c$accessor.toString();
|
|
233
|
+
}).map(function (accessor) {
|
|
234
|
+
var _props$initialState$f2, _props$initialState5, _props$initialState5$, _ref;
|
|
235
|
+
|
|
236
|
+
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;
|
|
237
|
+
})));
|
|
238
|
+
}),
|
|
239
|
+
currentFilterTypes = _useState6[0],
|
|
240
|
+
setCurrentFilterTypes = _useState6[1];
|
|
241
|
+
|
|
242
|
+
var columns = useMemo(function () {
|
|
243
|
+
return props.columns.map(function (column) {
|
|
244
|
+
column.filter = filterTypes[currentFilterTypes[column.accessor]];
|
|
245
|
+
return column;
|
|
246
|
+
});
|
|
247
|
+
}, [props.columns, filterTypes, currentFilterTypes]);
|
|
126
248
|
var tableInstance = useTable.apply(void 0, [_extends({}, props, {
|
|
249
|
+
columns: columns,
|
|
250
|
+
// @ts-ignore
|
|
251
|
+
filterTypes: filterTypes,
|
|
127
252
|
useControlledState: function useControlledState(state) {
|
|
128
253
|
return useMemo(function () {
|
|
129
254
|
return _extends({}, state, {
|
|
130
255
|
currentEditingRow: currentEditingRow,
|
|
256
|
+
currentFilterTypes: currentFilterTypes,
|
|
131
257
|
densePadding: densePadding,
|
|
132
258
|
fullScreen: fullScreen,
|
|
133
259
|
showFilters: showFilters,
|
|
134
260
|
showSearch: showSearch
|
|
135
261
|
}, props == null ? void 0 : props.useControlledState == null ? void 0 : props.useControlledState(state));
|
|
136
|
-
}, [currentEditingRow, densePadding, fullScreen, showFilters, showSearch, state]);
|
|
262
|
+
}, [currentEditingRow, currentFilterTypes, densePadding, fullScreen, showFilters, showSearch, state]);
|
|
137
263
|
}
|
|
138
264
|
})].concat(hooks));
|
|
265
|
+
var idPrefix = useMemo(function () {
|
|
266
|
+
var _props$idPrefix;
|
|
267
|
+
|
|
268
|
+
return (_props$idPrefix = props.idPrefix) != null ? _props$idPrefix : Math.random().toString(36).substring(2, 9);
|
|
269
|
+
}, [props.idPrefix]);
|
|
139
270
|
var anyRowsCanExpand = useMemo(function () {
|
|
140
271
|
return tableInstance.rows.some(function (row) {
|
|
141
272
|
return row.canExpand;
|
|
@@ -150,7 +281,10 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
150
281
|
value: _extends({}, props, {
|
|
151
282
|
anyRowsCanExpand: anyRowsCanExpand,
|
|
152
283
|
anyRowsExpanded: anyRowsExpanded,
|
|
284
|
+
idPrefix: idPrefix,
|
|
285
|
+
//@ts-ignore
|
|
153
286
|
setCurrentEditingRow: setCurrentEditingRow,
|
|
287
|
+
setCurrentFilterTypes: setCurrentFilterTypes,
|
|
154
288
|
setDensePadding: setDensePadding,
|
|
155
289
|
setFullScreen: setFullScreen,
|
|
156
290
|
setShowFilters: setShowFilters,
|
|
@@ -161,13 +295,104 @@ var MaterialReactTableProvider = function MaterialReactTableProvider(props) {
|
|
|
161
295
|
}, props.children);
|
|
162
296
|
};
|
|
163
297
|
var useMRT = function useMRT() {
|
|
164
|
-
return (
|
|
165
|
-
|
|
166
|
-
|
|
298
|
+
return useContext(MaterialReactTableContext);
|
|
299
|
+
};
|
|
300
|
+
|
|
301
|
+
var MRT_FilterTypeMenu = function MRT_FilterTypeMenu(_ref) {
|
|
302
|
+
var anchorEl = _ref.anchorEl,
|
|
303
|
+
column = _ref.column,
|
|
304
|
+
onSelect = _ref.onSelect,
|
|
305
|
+
setAnchorEl = _ref.setAnchorEl;
|
|
306
|
+
|
|
307
|
+
var _useMRT = useMRT(),
|
|
308
|
+
localization = _useMRT.localization,
|
|
309
|
+
setCurrentFilterTypes = _useMRT.setCurrentFilterTypes,
|
|
310
|
+
tableInstance = _useMRT.tableInstance;
|
|
311
|
+
|
|
312
|
+
var filterTypes = useMemo(function () {
|
|
313
|
+
return [{
|
|
314
|
+
type: 'fuzzy',
|
|
315
|
+
label: localization.filterMenuItemFuzzy,
|
|
316
|
+
divider: false
|
|
317
|
+
}, {
|
|
318
|
+
type: 'contains',
|
|
319
|
+
label: localization.filterMenuItemContains,
|
|
320
|
+
divider: true
|
|
321
|
+
}, {
|
|
322
|
+
type: 'startsWith',
|
|
323
|
+
label: localization.filterMenuItemStartsWith,
|
|
324
|
+
divider: false
|
|
325
|
+
}, {
|
|
326
|
+
type: 'endsWith',
|
|
327
|
+
label: localization.filterMenuItemEndsWith,
|
|
328
|
+
divider: true
|
|
329
|
+
}, {
|
|
330
|
+
type: 'equals',
|
|
331
|
+
label: localization.filterMenuItemEquals,
|
|
332
|
+
divider: false
|
|
333
|
+
}, {
|
|
334
|
+
type: 'notEquals',
|
|
335
|
+
label: localization.filterMenuItemNotEquals,
|
|
336
|
+
divider: true
|
|
337
|
+
}, {
|
|
338
|
+
type: 'empty',
|
|
339
|
+
label: localization.filterMenuItemEmpty,
|
|
340
|
+
divider: false
|
|
341
|
+
}, {
|
|
342
|
+
type: 'notEmpty',
|
|
343
|
+
label: localization.filterMenuItemNotEmpty,
|
|
344
|
+
divider: false
|
|
345
|
+
}];
|
|
346
|
+
}, []);
|
|
347
|
+
|
|
348
|
+
var handleSelectFilterType = function handleSelectFilterType(value) {
|
|
349
|
+
setAnchorEl(null);
|
|
350
|
+
setCurrentFilterTypes(function (prev) {
|
|
351
|
+
var _extends2;
|
|
352
|
+
|
|
353
|
+
return _extends({}, prev, (_extends2 = {}, _extends2[column.id] = value, _extends2));
|
|
354
|
+
});
|
|
355
|
+
|
|
356
|
+
if (['empty', 'notEmpty'].includes(value)) {
|
|
357
|
+
column.setFilter(' ');
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
onSelect == null ? void 0 : onSelect();
|
|
361
|
+
};
|
|
362
|
+
|
|
363
|
+
var filterType = tableInstance.state.currentFilterTypes[column.id];
|
|
364
|
+
return React.createElement(Menu, {
|
|
365
|
+
anchorEl: anchorEl,
|
|
366
|
+
anchorOrigin: {
|
|
367
|
+
vertical: 'center',
|
|
368
|
+
horizontal: 'right'
|
|
369
|
+
},
|
|
370
|
+
onClose: function onClose() {
|
|
371
|
+
return setAnchorEl(null);
|
|
372
|
+
},
|
|
373
|
+
open: !!anchorEl,
|
|
374
|
+
MenuListProps: {
|
|
375
|
+
dense: tableInstance.state.densePadding,
|
|
376
|
+
disablePadding: true
|
|
377
|
+
}
|
|
378
|
+
}, filterTypes.map(function (_ref2) {
|
|
379
|
+
var type = _ref2.type,
|
|
380
|
+
label = _ref2.label,
|
|
381
|
+
divider = _ref2.divider;
|
|
382
|
+
return React.createElement(MenuItem, {
|
|
383
|
+
divider: divider,
|
|
384
|
+
key: type,
|
|
385
|
+
onClick: function onClick() {
|
|
386
|
+
return handleSelectFilterType(type);
|
|
387
|
+
},
|
|
388
|
+
selected: type === filterType,
|
|
389
|
+
value: type
|
|
390
|
+
}, label);
|
|
391
|
+
}));
|
|
167
392
|
};
|
|
168
393
|
|
|
169
394
|
var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
170
|
-
var _localization$filterT, _localization$filterT2
|
|
395
|
+
var _localization$filterT, _localization$filterT2;
|
|
171
396
|
|
|
172
397
|
var column = _ref.column;
|
|
173
398
|
|
|
@@ -175,37 +400,72 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
175
400
|
_useMRT$icons = _useMRT.icons,
|
|
176
401
|
FilterListIcon = _useMRT$icons.FilterListIcon,
|
|
177
402
|
CloseIcon = _useMRT$icons.CloseIcon,
|
|
178
|
-
|
|
403
|
+
idPrefix = _useMRT.idPrefix,
|
|
404
|
+
localization = _useMRT.localization,
|
|
405
|
+
muiTableHeadCellFilterTextFieldProps = _useMRT.muiTableHeadCellFilterTextFieldProps,
|
|
406
|
+
setCurrentFilterTypes = _useMRT.setCurrentFilterTypes,
|
|
407
|
+
tableInstance = _useMRT.tableInstance;
|
|
179
408
|
|
|
180
|
-
var _useState = useState(
|
|
181
|
-
|
|
182
|
-
|
|
409
|
+
var _useState = useState(null),
|
|
410
|
+
anchorEl = _useState[0],
|
|
411
|
+
setAnchorEl = _useState[1];
|
|
412
|
+
|
|
413
|
+
var mTableHeadCellFilterTextFieldProps = muiTableHeadCellFilterTextFieldProps instanceof Function ? muiTableHeadCellFilterTextFieldProps(column) : muiTableHeadCellFilterTextFieldProps;
|
|
414
|
+
var mcTableHeadCellFilterTextFieldProps = column.muiTableHeadCellFilterTextFieldProps instanceof Function ? column.muiTableHeadCellFilterTextFieldProps(column) : column.muiTableHeadCellFilterTextFieldProps;
|
|
415
|
+
|
|
416
|
+
var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps, {
|
|
417
|
+
style: _extends({}, mTableHeadCellFilterTextFieldProps == null ? void 0 : mTableHeadCellFilterTextFieldProps.style, mcTableHeadCellFilterTextFieldProps == null ? void 0 : mcTableHeadCellFilterTextFieldProps.style)
|
|
418
|
+
});
|
|
419
|
+
|
|
420
|
+
var _useState2 = useState(''),
|
|
421
|
+
filterValue = _useState2[0],
|
|
422
|
+
setFilterValue = _useState2[1];
|
|
183
423
|
|
|
184
424
|
var handleChange = useAsyncDebounce(function (value) {
|
|
185
425
|
column.setFilter(value != null ? value : undefined);
|
|
186
426
|
}, 150);
|
|
187
427
|
|
|
428
|
+
var handleFilterMenuOpen = function handleFilterMenuOpen(event) {
|
|
429
|
+
setAnchorEl(event.currentTarget);
|
|
430
|
+
};
|
|
431
|
+
|
|
188
432
|
var handleClear = function handleClear() {
|
|
189
433
|
setFilterValue('');
|
|
190
434
|
column.setFilter(undefined);
|
|
191
435
|
};
|
|
192
436
|
|
|
437
|
+
var handleClearFilterChip = function handleClearFilterChip() {
|
|
438
|
+
setFilterValue('');
|
|
439
|
+
column.setFilter(undefined);
|
|
440
|
+
setCurrentFilterTypes(function (prev) {
|
|
441
|
+
var _extends2;
|
|
442
|
+
|
|
443
|
+
return _extends({}, prev, (_extends2 = {}, _extends2[column.id] = 'fuzzy', _extends2));
|
|
444
|
+
});
|
|
445
|
+
};
|
|
446
|
+
|
|
193
447
|
if (column.Filter) {
|
|
194
448
|
return React.createElement(React.Fragment, null, column.Filter == null ? void 0 : column.Filter({
|
|
195
449
|
column: column
|
|
196
450
|
}));
|
|
197
451
|
}
|
|
198
452
|
|
|
199
|
-
|
|
453
|
+
var filterType = tableInstance.state.currentFilterTypes[column.id];
|
|
454
|
+
var filterChipLabel = ['empty', 'notEmpty'].includes(filterType);
|
|
455
|
+
var filterPlaceholder = (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header));
|
|
456
|
+
return React.createElement(React.Fragment, null, React.createElement(TextField, Object.assign({
|
|
200
457
|
fullWidth: true,
|
|
201
|
-
id: "
|
|
458
|
+
id: "mrt-" + idPrefix + "-" + column.id + "-filter-text-field",
|
|
202
459
|
inputProps: {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
460
|
+
disabled: !!filterChipLabel,
|
|
461
|
+
sx: {
|
|
462
|
+
textOverflow: 'ellipsis',
|
|
463
|
+
width: filterChipLabel ? 0 : undefined
|
|
464
|
+
},
|
|
465
|
+
title: filterPlaceholder
|
|
206
466
|
},
|
|
207
|
-
margin: "
|
|
208
|
-
placeholder:
|
|
467
|
+
margin: "none",
|
|
468
|
+
placeholder: filterChipLabel ? '' : filterPlaceholder,
|
|
209
469
|
onChange: function onChange(e) {
|
|
210
470
|
setFilterValue(e.target.value);
|
|
211
471
|
handleChange(e.target.value);
|
|
@@ -216,32 +476,57 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
216
476
|
value: filterValue != null ? filterValue : '',
|
|
217
477
|
variant: "standard",
|
|
218
478
|
InputProps: {
|
|
219
|
-
startAdornment: React.createElement(
|
|
220
|
-
arrow: true,
|
|
221
|
-
title: (_localization$filterT2 = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT2.replace('{column}', String(column.Header))
|
|
222
|
-
}, React.createElement(InputAdornment, {
|
|
479
|
+
startAdornment: React.createElement(InputAdornment, {
|
|
223
480
|
position: "start"
|
|
224
|
-
}, React.createElement(
|
|
225
|
-
|
|
481
|
+
}, React.createElement(Tooltip, {
|
|
482
|
+
arrow: true,
|
|
483
|
+
title: "Change Filter Mode"
|
|
484
|
+
}, React.createElement(IconButton, {
|
|
485
|
+
onClick: handleFilterMenuOpen,
|
|
486
|
+
size: "small",
|
|
487
|
+
sx: {
|
|
488
|
+
height: '1.75rem',
|
|
489
|
+
width: '1.75rem'
|
|
490
|
+
}
|
|
491
|
+
}, React.createElement(FilterListIcon, null))), filterChipLabel && React.createElement(Chip, {
|
|
492
|
+
onDelete: handleClearFilterChip,
|
|
493
|
+
label: filterType
|
|
494
|
+
})),
|
|
495
|
+
endAdornment: !filterChipLabel && React.createElement(InputAdornment, {
|
|
226
496
|
position: "end"
|
|
227
497
|
}, React.createElement(Tooltip, {
|
|
228
498
|
arrow: true,
|
|
229
|
-
|
|
499
|
+
placement: "right",
|
|
500
|
+
title: (_localization$filterT2 = localization.filterTextFieldClearButtonTitle) != null ? _localization$filterT2 : ''
|
|
230
501
|
}, React.createElement("span", null, React.createElement(IconButton, {
|
|
231
502
|
"aria-label": localization.filterTextFieldClearButtonTitle,
|
|
232
503
|
disabled: (filterValue == null ? void 0 : filterValue.length) === 0,
|
|
233
504
|
onClick: handleClear,
|
|
234
|
-
size: "small"
|
|
505
|
+
size: "small",
|
|
506
|
+
sx: {
|
|
507
|
+
height: '1.75rem',
|
|
508
|
+
width: '1.75rem'
|
|
509
|
+
}
|
|
235
510
|
}, React.createElement(CloseIcon, {
|
|
236
511
|
fontSize: "small"
|
|
237
512
|
})))))
|
|
238
513
|
}
|
|
239
|
-
}
|
|
514
|
+
}, textFieldProps, {
|
|
515
|
+
sx: _extends({
|
|
516
|
+
m: '0 -0.25rem',
|
|
517
|
+
minWidth: !filterChipLabel ? '5rem' : 'auto',
|
|
518
|
+
width: 'calc(100% + 0.5rem)'
|
|
519
|
+
}, textFieldProps == null ? void 0 : textFieldProps.sx)
|
|
520
|
+
})), React.createElement(MRT_FilterTypeMenu, {
|
|
521
|
+
anchorEl: anchorEl,
|
|
522
|
+
column: column,
|
|
523
|
+
setAnchorEl: setAnchorEl
|
|
524
|
+
}));
|
|
240
525
|
};
|
|
241
526
|
|
|
242
527
|
var commonMenuItemStyles = {
|
|
243
528
|
display: 'flex',
|
|
244
|
-
|
|
529
|
+
alignItems: 'center'
|
|
245
530
|
};
|
|
246
531
|
var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
247
532
|
var _localization$columnA, _localization$columnA2, _localization$filterT, _localization, _localization$columnA3;
|
|
@@ -255,14 +540,21 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
255
540
|
disableFilters = _useMRT.disableFilters,
|
|
256
541
|
disableSortBy = _useMRT.disableSortBy,
|
|
257
542
|
enableColumnGrouping = _useMRT.enableColumnGrouping,
|
|
258
|
-
localization = _useMRT.localization,
|
|
259
|
-
setShowFilters = _useMRT.setShowFilters,
|
|
260
543
|
_useMRT$icons = _useMRT.icons,
|
|
261
|
-
|
|
262
|
-
SortIcon = _useMRT$icons.SortIcon,
|
|
544
|
+
ArrowRightIcon = _useMRT$icons.ArrowRightIcon,
|
|
263
545
|
ClearAllIcon = _useMRT$icons.ClearAllIcon,
|
|
264
546
|
DynamicFeedIcon = _useMRT$icons.DynamicFeedIcon,
|
|
265
|
-
|
|
547
|
+
FilterListIcon = _useMRT$icons.FilterListIcon,
|
|
548
|
+
SortIcon = _useMRT$icons.SortIcon,
|
|
549
|
+
VisibilityOffIcon = _useMRT$icons.VisibilityOffIcon,
|
|
550
|
+
idPrefix = _useMRT.idPrefix,
|
|
551
|
+
localization = _useMRT.localization,
|
|
552
|
+
setShowFilters = _useMRT.setShowFilters,
|
|
553
|
+
tableInstance = _useMRT.tableInstance;
|
|
554
|
+
|
|
555
|
+
var _useState = useState(null),
|
|
556
|
+
filterMenuAnchorEl = _useState[0],
|
|
557
|
+
setFilterMenuAnchorEl = _useState[1];
|
|
266
558
|
|
|
267
559
|
var handleClearSort = function handleClearSort() {
|
|
268
560
|
column.clearSortBy();
|
|
@@ -295,55 +587,74 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
295
587
|
var _document$getElementB, _column$muiTableHeadC, _column$muiTableHeadC2;
|
|
296
588
|
|
|
297
589
|
return (_document$getElementB = document.getElementById( // @ts-ignore
|
|
298
|
-
(_column$muiTableHeadC = (_column$muiTableHeadC2 = column.muiTableHeadCellFilterTextFieldProps) == null ? void 0 : _column$muiTableHeadC2.id) != null ? _column$muiTableHeadC : "
|
|
590
|
+
(_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();
|
|
299
591
|
}, 200);
|
|
300
592
|
setAnchorEl(null);
|
|
301
593
|
};
|
|
302
594
|
|
|
595
|
+
var handleOpenFilterModeMenu = function handleOpenFilterModeMenu(event) {
|
|
596
|
+
event.stopPropagation();
|
|
597
|
+
setFilterMenuAnchorEl(event.currentTarget);
|
|
598
|
+
};
|
|
599
|
+
|
|
303
600
|
return React.createElement(Menu, {
|
|
304
601
|
anchorEl: anchorEl,
|
|
305
602
|
open: !!anchorEl,
|
|
306
603
|
onClose: function onClose() {
|
|
307
604
|
return setAnchorEl(null);
|
|
605
|
+
},
|
|
606
|
+
MenuListProps: {
|
|
607
|
+
dense: tableInstance.state.densePadding,
|
|
608
|
+
disablePadding: true
|
|
308
609
|
}
|
|
309
610
|
}, !disableSortBy && column.canSort && [React.createElement(MenuItem, {
|
|
310
611
|
key: 1,
|
|
311
612
|
disabled: !column.isSorted,
|
|
312
613
|
onClick: handleClearSort,
|
|
313
614
|
sx: commonMenuItemStyles
|
|
314
|
-
}, React.createElement(ClearAllIcon, null),
|
|
315
|
-
key: 2,
|
|
615
|
+
}, React.createElement(ListItemIcon, null, React.createElement(ClearAllIcon, null)), React.createElement(ListItemText, null, localization.columnActionMenuItemClearSort)), React.createElement(MenuItem, {
|
|
316
616
|
disabled: column.isSorted && !column.isSortedDesc,
|
|
617
|
+
key: 2,
|
|
317
618
|
onClick: handleSortAsc,
|
|
318
619
|
sx: commonMenuItemStyles
|
|
319
|
-
}, React.createElement(SortIcon, null),
|
|
620
|
+
}, React.createElement(ListItemIcon, null, React.createElement(SortIcon, null)), React.createElement(ListItemText, null, (_localization$columnA = localization.columnActionMenuItemSortAsc) == null ? void 0 : _localization$columnA.replace('{column}', String(column.Header)))), React.createElement(MenuItem, {
|
|
621
|
+
divider: !disableFilters || enableColumnGrouping || !disableColumnHiding,
|
|
320
622
|
key: 3,
|
|
321
623
|
disabled: column.isSorted && column.isSortedDesc,
|
|
322
624
|
onClick: handleSortDesc,
|
|
323
625
|
sx: commonMenuItemStyles
|
|
324
|
-
}, React.createElement(SortIcon, {
|
|
626
|
+
}, React.createElement(ListItemIcon, null, React.createElement(SortIcon, {
|
|
325
627
|
style: {
|
|
326
628
|
transform: 'rotate(180deg) scaleX(-1)'
|
|
327
629
|
}
|
|
328
|
-
}),
|
|
329
|
-
|
|
330
|
-
}), React.createElement(MenuItem, {
|
|
630
|
+
})), React.createElement(ListItemText, null, (_localization$columnA2 = localization.columnActionMenuItemSortDesc) == null ? void 0 : _localization$columnA2.replace('{column}', String(column.Header))))], !disableFilters && column.canFilter && [React.createElement(MenuItem, {
|
|
631
|
+
divider: enableColumnGrouping || !disableColumnHiding,
|
|
331
632
|
key: 1,
|
|
332
633
|
onClick: handleFilterByColumn,
|
|
333
634
|
sx: commonMenuItemStyles
|
|
334
|
-
}, React.createElement(FilterListIcon, null),
|
|
335
|
-
|
|
336
|
-
|
|
635
|
+
}, React.createElement(ListItemIcon, null, React.createElement(FilterListIcon, null)), React.createElement(ListItemText, null, (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header))), React.createElement(IconButton, {
|
|
636
|
+
onClick: handleOpenFilterModeMenu,
|
|
637
|
+
onMouseEnter: handleOpenFilterModeMenu,
|
|
638
|
+
size: "small",
|
|
639
|
+
sx: {
|
|
640
|
+
p: 0
|
|
641
|
+
}
|
|
642
|
+
}, React.createElement(ArrowRightIcon, null))), React.createElement(MRT_FilterTypeMenu, {
|
|
643
|
+
anchorEl: filterMenuAnchorEl,
|
|
644
|
+
column: column,
|
|
645
|
+
key: 2,
|
|
646
|
+
setAnchorEl: setFilterMenuAnchorEl,
|
|
647
|
+
onSelect: handleFilterByColumn
|
|
648
|
+
})], enableColumnGrouping && column.canGroupBy && [React.createElement(MenuItem, {
|
|
649
|
+
divider: !disableColumnHiding,
|
|
337
650
|
key: 2,
|
|
338
651
|
onClick: handleGroupByColumn,
|
|
339
652
|
sx: commonMenuItemStyles
|
|
340
|
-
}, React.createElement(DynamicFeedIcon, null),
|
|
341
|
-
key: 0
|
|
342
|
-
}), React.createElement(MenuItem, {
|
|
653
|
+
}, React.createElement(ListItemIcon, null, React.createElement(DynamicFeedIcon, null)), React.createElement(ListItemText, null, (_localization = localization[column.isGrouped ? 'columnActionMenuItemUnGroupBy' : 'columnActionMenuItemGroupBy']) == null ? void 0 : _localization.replace('{column}', String(column.Header))))], !disableColumnHiding && [React.createElement(MenuItem, {
|
|
343
654
|
key: 1,
|
|
344
655
|
onClick: handleHideColumn,
|
|
345
656
|
sx: commonMenuItemStyles
|
|
346
|
-
}, React.createElement(VisibilityOffIcon, null),
|
|
657
|
+
}, React.createElement(ListItemIcon, null, React.createElement(VisibilityOffIcon, null)), React.createElement(ListItemText, null, (_localization$columnA3 = localization.columnActionMenuItemHideColumn) == null ? void 0 : _localization$columnA3.replace('{column}', String(column.Header))))]);
|
|
347
658
|
};
|
|
348
659
|
|
|
349
660
|
var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
|
|
@@ -373,11 +684,12 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
|
|
|
373
684
|
onClick: handleClick,
|
|
374
685
|
size: "small",
|
|
375
686
|
sx: {
|
|
687
|
+
height: '2rem',
|
|
688
|
+
mr: '2px',
|
|
689
|
+
mt: '-0.2rem',
|
|
376
690
|
opacity: 0.5,
|
|
377
691
|
transition: 'opacity 0.2s',
|
|
378
|
-
|
|
379
|
-
height: '1.6rem',
|
|
380
|
-
width: '1.6rem',
|
|
692
|
+
width: '2rem',
|
|
381
693
|
'&:hover': {
|
|
382
694
|
opacity: 1
|
|
383
695
|
}
|
|
@@ -400,7 +712,7 @@ var commonTableHeadCellStyles = function commonTableHeadCellStyles(densePadding,
|
|
|
400
712
|
};
|
|
401
713
|
};
|
|
402
714
|
var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
403
|
-
var _column$columns
|
|
715
|
+
var _column$columns, _localization$columnA, _localization$columnA2;
|
|
404
716
|
|
|
405
717
|
var column = _ref.column;
|
|
406
718
|
|
|
@@ -408,11 +720,15 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
408
720
|
disableColumnActions = _useMRT.disableColumnActions,
|
|
409
721
|
disableFilters = _useMRT.disableFilters,
|
|
410
722
|
enableColumnResizing = _useMRT.enableColumnResizing,
|
|
723
|
+
_useMRT$icons = _useMRT.icons,
|
|
724
|
+
FilterAltIcon = _useMRT$icons.FilterAltIcon,
|
|
725
|
+
FilterAltOff = _useMRT$icons.FilterAltOff,
|
|
411
726
|
localization = _useMRT.localization,
|
|
412
727
|
muiTableHeadCellProps = _useMRT.muiTableHeadCellProps,
|
|
728
|
+
setShowFilters = _useMRT.setShowFilters,
|
|
413
729
|
tableInstance = _useMRT.tableInstance;
|
|
414
730
|
|
|
415
|
-
var isParentHeader = (
|
|
731
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
416
732
|
var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps(column) : muiTableHeadCellProps;
|
|
417
733
|
var mcTableHeadCellProps = column.muiTableHeadCellProps instanceof Function ? column.muiTableHeadCellProps(column) : column.muiTableHeadCellProps;
|
|
418
734
|
|
|
@@ -421,17 +737,14 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
421
737
|
});
|
|
422
738
|
|
|
423
739
|
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);
|
|
740
|
+
var filterTooltip = !!column.filterValue ? localization.filterApplied.replace('{column}', String(column.Header)).replace('{filterType}', // @ts-ignore
|
|
741
|
+
localization["filterMenuItem" + (tableInstance.state.currentFilterTypes[column.id].charAt(0).toUpperCase() + tableInstance.state.currentFilterTypes[column.id].slice(1))]) : localization.toggleFilterButtonTitle;
|
|
742
|
+
var columnHeader = column.render('Header');
|
|
424
743
|
return React.createElement(TableCell, Object.assign({
|
|
425
744
|
align: isParentHeader ? 'center' : 'left'
|
|
426
745
|
}, tableCellProps, {
|
|
427
746
|
sx: _extends({}, commonTableHeadCellStyles(tableInstance.state.densePadding, enableColumnResizing), tableCellProps == null ? void 0 : tableCellProps.sx)
|
|
428
747
|
}), React.createElement(Box, {
|
|
429
|
-
sx: {
|
|
430
|
-
alignContent: 'space-between',
|
|
431
|
-
display: 'grid',
|
|
432
|
-
height: '100%'
|
|
433
|
-
}
|
|
434
|
-
}, React.createElement(Box, {
|
|
435
748
|
sx: {
|
|
436
749
|
alignItems: 'flex-start',
|
|
437
750
|
display: 'flex',
|
|
@@ -442,7 +755,8 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
442
755
|
sx: {
|
|
443
756
|
alignItems: 'center',
|
|
444
757
|
display: 'flex',
|
|
445
|
-
flexWrap: 'nowrap'
|
|
758
|
+
flexWrap: 'nowrap',
|
|
759
|
+
whiteSpace: columnHeader.length < 15 ? 'nowrap' : 'normal'
|
|
446
760
|
},
|
|
447
761
|
title: undefined
|
|
448
762
|
}), column.render('Header'), !isParentHeader && column.canSort && React.createElement(Tooltip, {
|
|
@@ -452,7 +766,29 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
452
766
|
"aria-label": sortTooltip,
|
|
453
767
|
active: column.isSorted,
|
|
454
768
|
direction: column.isSortedDesc ? 'desc' : 'asc'
|
|
455
|
-
}))
|
|
769
|
+
})), !isParentHeader && !!column.canFilter && React.createElement(Tooltip, {
|
|
770
|
+
arrow: true,
|
|
771
|
+
title: filterTooltip
|
|
772
|
+
}, React.createElement(IconButton, {
|
|
773
|
+
onClick: function onClick(event) {
|
|
774
|
+
event.stopPropagation();
|
|
775
|
+
setShowFilters(!tableInstance.state.showFilters);
|
|
776
|
+
},
|
|
777
|
+
size: "small",
|
|
778
|
+
sx: {
|
|
779
|
+
opacity: !!column.filterValue ? 0.8 : 0,
|
|
780
|
+
p: '2px',
|
|
781
|
+
m: 0,
|
|
782
|
+
transition: 'all 0.2s ease-in-out',
|
|
783
|
+
'&:hover': {
|
|
784
|
+
opacity: 0.8
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
}, tableInstance.state.showFilters && !column.filterValue ? React.createElement(FilterAltOff, {
|
|
788
|
+
fontSize: "small"
|
|
789
|
+
}) : React.createElement(FilterAltIcon, {
|
|
790
|
+
fontSize: "small"
|
|
791
|
+
})))), React.createElement(Box, {
|
|
456
792
|
sx: {
|
|
457
793
|
alignItems: 'center',
|
|
458
794
|
display: 'flex',
|
|
@@ -476,7 +812,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
476
812
|
"in": tableInstance.state.showFilters
|
|
477
813
|
}, React.createElement(MRT_FilterTextField, {
|
|
478
814
|
column: column
|
|
479
|
-
})))
|
|
815
|
+
})));
|
|
480
816
|
};
|
|
481
817
|
|
|
482
818
|
var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
|
|
@@ -541,8 +877,10 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
541
877
|
var cell = _ref.cell;
|
|
542
878
|
|
|
543
879
|
var _useMRT = useMRT(),
|
|
544
|
-
|
|
880
|
+
isLoading = _useMRT.isLoading,
|
|
545
881
|
muiTableBodyCellProps = _useMRT.muiTableBodyCellProps,
|
|
882
|
+
muiTableBodyCellSkeletonProps = _useMRT.muiTableBodyCellSkeletonProps,
|
|
883
|
+
onCellClick = _useMRT.onCellClick,
|
|
546
884
|
_useMRT$tableInstance = _useMRT.tableInstance.state,
|
|
547
885
|
currentEditingRow = _useMRT$tableInstance.currentEditingRow,
|
|
548
886
|
densePadding = _useMRT$tableInstance.densePadding;
|
|
@@ -560,7 +898,11 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
560
898
|
}
|
|
561
899
|
}, tableCellProps, {
|
|
562
900
|
sx: _extends({}, commonTableBodyCellStyles(densePadding), tableCellProps == null ? void 0 : tableCellProps.sx)
|
|
563
|
-
}),
|
|
901
|
+
}), isLoading ? React.createElement(Skeleton, Object.assign({
|
|
902
|
+
animation: "wave",
|
|
903
|
+
height: 20,
|
|
904
|
+
width: Math.random() * (120 - 60) + 60
|
|
905
|
+
}, muiTableBodyCellSkeletonProps)) : (currentEditingRow == null ? void 0 : currentEditingRow.id) === cell.row.id ? React.createElement(MRT_EditCellTextField, {
|
|
564
906
|
cell: cell
|
|
565
907
|
}) : cell.isPlaceholder ? null : cell.isAggregated ? cell.render('Aggregated') : cell.isGrouped ? React.createElement("span", null, cell.render('Cell'), " (", cell.row.subRows.length, ")") : cell.render('Cell'));
|
|
566
908
|
};
|
|
@@ -797,14 +1139,14 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
|
|
|
797
1139
|
open: !!anchorEl,
|
|
798
1140
|
onClose: function onClose() {
|
|
799
1141
|
return setAnchorEl(null);
|
|
1142
|
+
},
|
|
1143
|
+
MenuListProps: {
|
|
1144
|
+
dense: tableInstance.state.densePadding,
|
|
1145
|
+
disablePadding: true
|
|
800
1146
|
}
|
|
801
1147
|
}, enableRowEditing && React.createElement(MenuItem, {
|
|
802
|
-
sx: {
|
|
803
|
-
display: 'flex',
|
|
804
|
-
gap: '0.75rem'
|
|
805
|
-
},
|
|
806
1148
|
onClick: handleEdit
|
|
807
|
-
}, React.createElement(EditIcon, null),
|
|
1149
|
+
}, React.createElement(ListItemIcon, null, React.createElement(EditIcon, null)), React.createElement(ListItemText, null, localization.rowActionMenuItemEdit)), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
|
|
808
1150
|
return setAnchorEl(null);
|
|
809
1151
|
})) != null ? _renderRowActionMenuI : null);
|
|
810
1152
|
};
|
|
@@ -1781,7 +2123,7 @@ var MRT_TableBody = function MRT_TableBody() {
|
|
|
1781
2123
|
};
|
|
1782
2124
|
|
|
1783
2125
|
var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
1784
|
-
var _column$columns
|
|
2126
|
+
var _column$columns;
|
|
1785
2127
|
|
|
1786
2128
|
var column = _ref.column;
|
|
1787
2129
|
|
|
@@ -1790,7 +2132,7 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
|
1790
2132
|
enableColumnResizing = _useMRT.enableColumnResizing,
|
|
1791
2133
|
densePadding = _useMRT.tableInstance.state.densePadding;
|
|
1792
2134
|
|
|
1793
|
-
var isParentHeader = (
|
|
2135
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
1794
2136
|
var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps(column) : muiTableFooterCellProps;
|
|
1795
2137
|
var mcTableFooterCellProps = column.muiTableFooterCellProps instanceof Function ? column.muiTableFooterCellProps(column) : column.muiTableFooterCellProps;
|
|
1796
2138
|
|
|
@@ -1883,6 +2225,7 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
|
|
|
1883
2225
|
_useMRT$icons = _useMRT.icons,
|
|
1884
2226
|
SearchIcon = _useMRT$icons.SearchIcon,
|
|
1885
2227
|
CloseIcon = _useMRT$icons.CloseIcon,
|
|
2228
|
+
idPrefix = _useMRT.idPrefix,
|
|
1886
2229
|
localization = _useMRT.localization,
|
|
1887
2230
|
muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
|
|
1888
2231
|
onGlobalFilterChange = _useMRT.onGlobalFilterChange,
|
|
@@ -1908,7 +2251,7 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
|
|
|
1908
2251
|
"in": tableInstance.state.showSearch,
|
|
1909
2252
|
orientation: "horizontal"
|
|
1910
2253
|
}, React.createElement(TextField, Object.assign({
|
|
1911
|
-
id: "
|
|
2254
|
+
id: "mrt-" + idPrefix + "-search-text-field",
|
|
1912
2255
|
placeholder: localization.searchTextFieldPlaceholder,
|
|
1913
2256
|
onChange: function onChange(event) {
|
|
1914
2257
|
setSearchValue(event.target.value);
|
|
@@ -1965,10 +2308,10 @@ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
|
|
|
1965
2308
|
};
|
|
1966
2309
|
|
|
1967
2310
|
var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
|
|
1968
|
-
var _column$columns
|
|
2311
|
+
var _column$columns, _column$columns2, _column$isVisible, _column$columns4;
|
|
1969
2312
|
|
|
1970
2313
|
var column = _ref.column;
|
|
1971
|
-
var isParentHeader = (
|
|
2314
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
1972
2315
|
var allChildColumnsVisible = isParentHeader && !!((_column$columns2 = column.columns) != null && _column$columns2.every(function (childColumn) {
|
|
1973
2316
|
return childColumn.isVisible;
|
|
1974
2317
|
}));
|
|
@@ -2009,9 +2352,9 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2009
2352
|
var rest = _extends({}, _ref);
|
|
2010
2353
|
|
|
2011
2354
|
var _useMRT = useMRT(),
|
|
2012
|
-
|
|
2355
|
+
ViewColumnIcon = _useMRT.icons.ViewColumnIcon,
|
|
2013
2356
|
localization = _useMRT.localization,
|
|
2014
|
-
|
|
2357
|
+
tableInstance = _useMRT.tableInstance;
|
|
2015
2358
|
|
|
2016
2359
|
var _useState = useState(null),
|
|
2017
2360
|
anchorEl = _useState[0],
|
|
@@ -2033,12 +2376,16 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2033
2376
|
open: !!anchorEl,
|
|
2034
2377
|
onClose: function onClose() {
|
|
2035
2378
|
return setAnchorEl(null);
|
|
2379
|
+
},
|
|
2380
|
+
MenuListProps: {
|
|
2381
|
+
dense: tableInstance.state.densePadding,
|
|
2382
|
+
disablePadding: true
|
|
2036
2383
|
}
|
|
2037
2384
|
}, React.createElement(Box, {
|
|
2038
2385
|
sx: {
|
|
2039
2386
|
display: 'flex',
|
|
2040
2387
|
justifyContent: 'space-between',
|
|
2041
|
-
p: '0
|
|
2388
|
+
p: '0.5rem'
|
|
2042
2389
|
}
|
|
2043
2390
|
}, React.createElement(Button, {
|
|
2044
2391
|
disabled: !tableInstance.getToggleHideAllColumnsProps().checked && !tableInstance.getToggleHideAllColumnsProps().indeterminate,
|
|
@@ -2111,6 +2458,7 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
|
|
|
2111
2458
|
_useMRT$icons = _useMRT.icons,
|
|
2112
2459
|
SearchIcon = _useMRT$icons.SearchIcon,
|
|
2113
2460
|
SearchOffIcon = _useMRT$icons.SearchOffIcon,
|
|
2461
|
+
idPrefix = _useMRT.idPrefix,
|
|
2114
2462
|
localization = _useMRT.localization,
|
|
2115
2463
|
muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
|
|
2116
2464
|
setShowSearch = _useMRT.setShowSearch,
|
|
@@ -2121,7 +2469,7 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
|
|
|
2121
2469
|
setTimeout(function () {
|
|
2122
2470
|
var _document$getElementB, _muiSearchTextFieldPr;
|
|
2123
2471
|
|
|
2124
|
-
return (_document$getElementB = document.getElementById((_muiSearchTextFieldPr = muiSearchTextFieldProps == null ? void 0 : muiSearchTextFieldProps.id) != null ? _muiSearchTextFieldPr : "
|
|
2472
|
+
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();
|
|
2125
2473
|
}, 200);
|
|
2126
2474
|
};
|
|
2127
2475
|
|
|
@@ -2339,6 +2687,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2339
2687
|
hideToolbarTop = _useMRT.hideToolbarTop,
|
|
2340
2688
|
isFetching = _useMRT.isFetching,
|
|
2341
2689
|
isLoading = _useMRT.isLoading,
|
|
2690
|
+
muiLinearProgressProps = _useMRT.muiLinearProgressProps,
|
|
2342
2691
|
muiTableContainerProps = _useMRT.muiTableContainerProps,
|
|
2343
2692
|
tableInstance = _useMRT.tableInstance;
|
|
2344
2693
|
|
|
@@ -2363,6 +2712,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2363
2712
|
}
|
|
2364
2713
|
}, [fullScreen]);
|
|
2365
2714
|
var tableContainerProps = muiTableContainerProps instanceof Function ? muiTableContainerProps(tableInstance) : muiTableContainerProps;
|
|
2715
|
+
var linearProgressProps = muiLinearProgressProps instanceof Function ? muiLinearProgressProps(tableInstance) : muiLinearProgressProps;
|
|
2366
2716
|
return React.createElement(TableContainer, Object.assign({
|
|
2367
2717
|
component: Paper
|
|
2368
2718
|
}, tableContainerProps, {
|
|
@@ -2381,7 +2731,7 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2381
2731
|
}), !hideToolbarTop && React.createElement(MRT_ToolbarTop, null), React.createElement(Collapse, {
|
|
2382
2732
|
"in": isFetching || isLoading,
|
|
2383
2733
|
unmountOnExit: true
|
|
2384
|
-
}, React.createElement(LinearProgress,
|
|
2734
|
+
}, React.createElement(LinearProgress, Object.assign({}, linearProgressProps))), React.createElement(Box, {
|
|
2385
2735
|
sx: {
|
|
2386
2736
|
maxWidth: '100%',
|
|
2387
2737
|
overflowX: 'auto'
|
|
@@ -2402,6 +2752,19 @@ var MRT_DefaultLocalization_EN = {
|
|
|
2402
2752
|
columnShowHideMenuShowAll: 'Show all',
|
|
2403
2753
|
expandAllButtonTitle: 'Expand all',
|
|
2404
2754
|
expandButtonTitle: 'Expand',
|
|
2755
|
+
filterApplied: 'Filtering by {column} - ({filterType})',
|
|
2756
|
+
filterMenuItemContains: 'Contains Exact',
|
|
2757
|
+
filterMenuItemEmpty: 'Empty',
|
|
2758
|
+
filterMenuItemEndsWith: 'Ends With',
|
|
2759
|
+
filterMenuItemEquals: 'Equals',
|
|
2760
|
+
filterMenuItemFuzzy: 'Fuzzy Match (Default)',
|
|
2761
|
+
filterMenuItemNotEmpty: 'Not Empty',
|
|
2762
|
+
filterMenuItemNotEquals: 'Not Equals',
|
|
2763
|
+
filterMenuItemStartsWith: 'Starts With',
|
|
2764
|
+
filterMenuTitle: 'Filter Mode',
|
|
2765
|
+
filterTextFieldChangeFilterButtonTitle: 'Change Filter Mode',
|
|
2766
|
+
filterTextFieldChipLabelEmpty: 'Empty',
|
|
2767
|
+
filterTextFieldChipLabelNotEmpty: 'Not Empty',
|
|
2405
2768
|
filterTextFieldClearButtonTitle: 'Clear filter',
|
|
2406
2769
|
filterTextFieldPlaceholder: 'Filter by {column}',
|
|
2407
2770
|
rowActionButtonCancel: 'Cancel',
|
|
@@ -2415,15 +2778,16 @@ var MRT_DefaultLocalization_EN = {
|
|
|
2415
2778
|
selectCheckboxTitle: 'Toggle select row',
|
|
2416
2779
|
showHideColumnsButtonTitle: 'Show/Hide columns',
|
|
2417
2780
|
toggleDensePaddingSwitchTitle: 'Toggle dense padding',
|
|
2418
|
-
toggleFilterButtonTitle: '
|
|
2781
|
+
toggleFilterButtonTitle: 'Show/Hide filters',
|
|
2419
2782
|
toggleFullScreenButtonTitle: 'Toggle full screen',
|
|
2420
|
-
toggleSearchButtonTitle: '
|
|
2421
|
-
toolbarAlertSelectionMessage: '{selectedCount} of {rowCount} row(s) selected',
|
|
2783
|
+
toggleSearchButtonTitle: 'Show/Hide search',
|
|
2422
2784
|
toolbarAlertGroupedByMessage: 'Grouped by ',
|
|
2423
|
-
toolbarAlertGroupedThenByMessage: ', then by '
|
|
2785
|
+
toolbarAlertGroupedThenByMessage: ', then by ',
|
|
2786
|
+
toolbarAlertSelectionMessage: '{selectedCount} of {rowCount} row(s) selected'
|
|
2424
2787
|
};
|
|
2425
2788
|
|
|
2426
2789
|
var MRT_Default_Icons = {
|
|
2790
|
+
ArrowRightIcon: ArrowRightIcon,
|
|
2427
2791
|
CancelIcon: CancelIcon,
|
|
2428
2792
|
ClearAllIcon: ClearAllIcon,
|
|
2429
2793
|
CloseIcon: CloseIcon,
|
|
@@ -2434,6 +2798,8 @@ var MRT_Default_Icons = {
|
|
|
2434
2798
|
EditIcon: EditIcon,
|
|
2435
2799
|
ExpandLessIcon: ExpandLessIcon,
|
|
2436
2800
|
ExpandMoreIcon: ExpandMoreIcon,
|
|
2801
|
+
FilterAltIcon: FilterAltIcon,
|
|
2802
|
+
FilterAltOff: FilterAltOff,
|
|
2437
2803
|
FilterListIcon: FilterListIcon,
|
|
2438
2804
|
FilterListOffIcon: FilterListOffIcon,
|
|
2439
2805
|
FullscreenExitIcon: FullscreenExitIcon,
|