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
|
@@ -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, MenuList, MenuItem, TextField, InputAdornment, Tooltip, IconButton, Chip, ListItemIcon, ListItemText, TableCell, Box, TableSortLabel, Divider, Collapse, 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,103 @@ 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
|
+
}, React.createElement(MenuList, {
|
|
375
|
+
dense: tableInstance.state.densePadding,
|
|
376
|
+
disablePadding: true
|
|
377
|
+
}, filterTypes.map(function (_ref2) {
|
|
378
|
+
var type = _ref2.type,
|
|
379
|
+
label = _ref2.label,
|
|
380
|
+
divider = _ref2.divider;
|
|
381
|
+
return React.createElement(MenuItem, {
|
|
382
|
+
divider: divider,
|
|
383
|
+
key: type,
|
|
384
|
+
onClick: function onClick() {
|
|
385
|
+
return handleSelectFilterType(type);
|
|
386
|
+
},
|
|
387
|
+
selected: type === filterType,
|
|
388
|
+
value: type
|
|
389
|
+
}, label);
|
|
390
|
+
})));
|
|
167
391
|
};
|
|
168
392
|
|
|
169
393
|
var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
170
|
-
var _localization$filterT, _localization$filterT2
|
|
394
|
+
var _localization$filterT, _localization$filterT2;
|
|
171
395
|
|
|
172
396
|
var column = _ref.column;
|
|
173
397
|
|
|
@@ -175,37 +399,72 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
175
399
|
_useMRT$icons = _useMRT.icons,
|
|
176
400
|
FilterListIcon = _useMRT$icons.FilterListIcon,
|
|
177
401
|
CloseIcon = _useMRT$icons.CloseIcon,
|
|
178
|
-
|
|
402
|
+
idPrefix = _useMRT.idPrefix,
|
|
403
|
+
localization = _useMRT.localization,
|
|
404
|
+
muiTableHeadCellFilterTextFieldProps = _useMRT.muiTableHeadCellFilterTextFieldProps,
|
|
405
|
+
setCurrentFilterTypes = _useMRT.setCurrentFilterTypes,
|
|
406
|
+
tableInstance = _useMRT.tableInstance;
|
|
179
407
|
|
|
180
|
-
var _useState = useState(
|
|
181
|
-
|
|
182
|
-
|
|
408
|
+
var _useState = useState(null),
|
|
409
|
+
anchorEl = _useState[0],
|
|
410
|
+
setAnchorEl = _useState[1];
|
|
411
|
+
|
|
412
|
+
var mTableHeadCellFilterTextFieldProps = muiTableHeadCellFilterTextFieldProps instanceof Function ? muiTableHeadCellFilterTextFieldProps(column) : muiTableHeadCellFilterTextFieldProps;
|
|
413
|
+
var mcTableHeadCellFilterTextFieldProps = column.muiTableHeadCellFilterTextFieldProps instanceof Function ? column.muiTableHeadCellFilterTextFieldProps(column) : column.muiTableHeadCellFilterTextFieldProps;
|
|
414
|
+
|
|
415
|
+
var textFieldProps = _extends({}, mTableHeadCellFilterTextFieldProps, mcTableHeadCellFilterTextFieldProps, {
|
|
416
|
+
style: _extends({}, mTableHeadCellFilterTextFieldProps == null ? void 0 : mTableHeadCellFilterTextFieldProps.style, mcTableHeadCellFilterTextFieldProps == null ? void 0 : mcTableHeadCellFilterTextFieldProps.style)
|
|
417
|
+
});
|
|
418
|
+
|
|
419
|
+
var _useState2 = useState(''),
|
|
420
|
+
filterValue = _useState2[0],
|
|
421
|
+
setFilterValue = _useState2[1];
|
|
183
422
|
|
|
184
423
|
var handleChange = useAsyncDebounce(function (value) {
|
|
185
424
|
column.setFilter(value != null ? value : undefined);
|
|
186
425
|
}, 150);
|
|
187
426
|
|
|
427
|
+
var handleFilterMenuOpen = function handleFilterMenuOpen(event) {
|
|
428
|
+
setAnchorEl(event.currentTarget);
|
|
429
|
+
};
|
|
430
|
+
|
|
188
431
|
var handleClear = function handleClear() {
|
|
189
432
|
setFilterValue('');
|
|
190
433
|
column.setFilter(undefined);
|
|
191
434
|
};
|
|
192
435
|
|
|
436
|
+
var handleClearFilterChip = function handleClearFilterChip() {
|
|
437
|
+
setFilterValue('');
|
|
438
|
+
column.setFilter(undefined);
|
|
439
|
+
setCurrentFilterTypes(function (prev) {
|
|
440
|
+
var _extends2;
|
|
441
|
+
|
|
442
|
+
return _extends({}, prev, (_extends2 = {}, _extends2[column.id] = 'fuzzy', _extends2));
|
|
443
|
+
});
|
|
444
|
+
};
|
|
445
|
+
|
|
193
446
|
if (column.Filter) {
|
|
194
447
|
return React.createElement(React.Fragment, null, column.Filter == null ? void 0 : column.Filter({
|
|
195
448
|
column: column
|
|
196
449
|
}));
|
|
197
450
|
}
|
|
198
451
|
|
|
199
|
-
|
|
452
|
+
var filterType = tableInstance.state.currentFilterTypes[column.id];
|
|
453
|
+
var filterChipLabel = ['empty', 'notEmpty'].includes(filterType);
|
|
454
|
+
var filterPlaceholder = (_localization$filterT = localization.filterTextFieldPlaceholder) == null ? void 0 : _localization$filterT.replace('{column}', String(column.Header));
|
|
455
|
+
return React.createElement(React.Fragment, null, React.createElement(TextField, Object.assign({
|
|
200
456
|
fullWidth: true,
|
|
201
|
-
id: "
|
|
457
|
+
id: "mrt-" + idPrefix + "-" + column.id + "-filter-text-field",
|
|
202
458
|
inputProps: {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
459
|
+
disabled: !!filterChipLabel,
|
|
460
|
+
sx: {
|
|
461
|
+
textOverflow: 'ellipsis',
|
|
462
|
+
width: filterChipLabel ? 0 : 'auto'
|
|
463
|
+
},
|
|
464
|
+
title: filterPlaceholder
|
|
206
465
|
},
|
|
207
|
-
margin: "
|
|
208
|
-
placeholder:
|
|
466
|
+
margin: "none",
|
|
467
|
+
placeholder: filterChipLabel ? '' : filterPlaceholder,
|
|
209
468
|
onChange: function onChange(e) {
|
|
210
469
|
setFilterValue(e.target.value);
|
|
211
470
|
handleChange(e.target.value);
|
|
@@ -216,32 +475,57 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
216
475
|
value: filterValue != null ? filterValue : '',
|
|
217
476
|
variant: "standard",
|
|
218
477
|
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, {
|
|
478
|
+
startAdornment: React.createElement(InputAdornment, {
|
|
223
479
|
position: "start"
|
|
224
|
-
}, React.createElement(
|
|
225
|
-
|
|
480
|
+
}, React.createElement(Tooltip, {
|
|
481
|
+
arrow: true,
|
|
482
|
+
title: "Change Filter Mode"
|
|
483
|
+
}, React.createElement(IconButton, {
|
|
484
|
+
onClick: handleFilterMenuOpen,
|
|
485
|
+
size: "small",
|
|
486
|
+
sx: {
|
|
487
|
+
height: '1.75rem',
|
|
488
|
+
width: '1.75rem'
|
|
489
|
+
}
|
|
490
|
+
}, React.createElement(FilterListIcon, null))), filterChipLabel && React.createElement(Chip, {
|
|
491
|
+
onDelete: handleClearFilterChip,
|
|
492
|
+
label: filterType
|
|
493
|
+
})),
|
|
494
|
+
endAdornment: !filterChipLabel && React.createElement(InputAdornment, {
|
|
226
495
|
position: "end"
|
|
227
496
|
}, React.createElement(Tooltip, {
|
|
228
497
|
arrow: true,
|
|
229
|
-
|
|
498
|
+
placement: "right",
|
|
499
|
+
title: (_localization$filterT2 = localization.filterTextFieldClearButtonTitle) != null ? _localization$filterT2 : ''
|
|
230
500
|
}, React.createElement("span", null, React.createElement(IconButton, {
|
|
231
501
|
"aria-label": localization.filterTextFieldClearButtonTitle,
|
|
232
502
|
disabled: (filterValue == null ? void 0 : filterValue.length) === 0,
|
|
233
503
|
onClick: handleClear,
|
|
234
|
-
size: "small"
|
|
504
|
+
size: "small",
|
|
505
|
+
sx: {
|
|
506
|
+
height: '1.75rem',
|
|
507
|
+
width: '1.75rem'
|
|
508
|
+
}
|
|
235
509
|
}, React.createElement(CloseIcon, {
|
|
236
510
|
fontSize: "small"
|
|
237
511
|
})))))
|
|
238
512
|
}
|
|
239
|
-
}
|
|
513
|
+
}, textFieldProps, {
|
|
514
|
+
sx: _extends({
|
|
515
|
+
m: '0 -0.25rem',
|
|
516
|
+
minWidth: !filterChipLabel ? '5rem' : 'auto',
|
|
517
|
+
width: 'calc(100% + 0.5rem)'
|
|
518
|
+
}, textFieldProps == null ? void 0 : textFieldProps.sx)
|
|
519
|
+
})), React.createElement(MRT_FilterTypeMenu, {
|
|
520
|
+
anchorEl: anchorEl,
|
|
521
|
+
column: column,
|
|
522
|
+
setAnchorEl: setAnchorEl
|
|
523
|
+
}));
|
|
240
524
|
};
|
|
241
525
|
|
|
242
526
|
var commonMenuItemStyles = {
|
|
243
527
|
display: 'flex',
|
|
244
|
-
|
|
528
|
+
alignItems: 'center'
|
|
245
529
|
};
|
|
246
530
|
var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
247
531
|
var _localization$columnA, _localization$columnA2, _localization$filterT, _localization, _localization$columnA3;
|
|
@@ -255,14 +539,21 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
255
539
|
disableFilters = _useMRT.disableFilters,
|
|
256
540
|
disableSortBy = _useMRT.disableSortBy,
|
|
257
541
|
enableColumnGrouping = _useMRT.enableColumnGrouping,
|
|
258
|
-
localization = _useMRT.localization,
|
|
259
|
-
setShowFilters = _useMRT.setShowFilters,
|
|
260
542
|
_useMRT$icons = _useMRT.icons,
|
|
261
|
-
|
|
262
|
-
SortIcon = _useMRT$icons.SortIcon,
|
|
543
|
+
ArrowRightIcon = _useMRT$icons.ArrowRightIcon,
|
|
263
544
|
ClearAllIcon = _useMRT$icons.ClearAllIcon,
|
|
264
545
|
DynamicFeedIcon = _useMRT$icons.DynamicFeedIcon,
|
|
265
|
-
|
|
546
|
+
FilterListIcon = _useMRT$icons.FilterListIcon,
|
|
547
|
+
SortIcon = _useMRT$icons.SortIcon,
|
|
548
|
+
VisibilityOffIcon = _useMRT$icons.VisibilityOffIcon,
|
|
549
|
+
idPrefix = _useMRT.idPrefix,
|
|
550
|
+
localization = _useMRT.localization,
|
|
551
|
+
setShowFilters = _useMRT.setShowFilters,
|
|
552
|
+
tableInstance = _useMRT.tableInstance;
|
|
553
|
+
|
|
554
|
+
var _useState = useState(null),
|
|
555
|
+
filterMenuAnchorEl = _useState[0],
|
|
556
|
+
setFilterMenuAnchorEl = _useState[1];
|
|
266
557
|
|
|
267
558
|
var handleClearSort = function handleClearSort() {
|
|
268
559
|
column.clearSortBy();
|
|
@@ -295,55 +586,73 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
295
586
|
var _document$getElementB, _column$muiTableHeadC, _column$muiTableHeadC2;
|
|
296
587
|
|
|
297
588
|
return (_document$getElementB = document.getElementById( // @ts-ignore
|
|
298
|
-
(_column$muiTableHeadC = (_column$muiTableHeadC2 = column.muiTableHeadCellFilterTextFieldProps) == null ? void 0 : _column$muiTableHeadC2.id) != null ? _column$muiTableHeadC : "
|
|
589
|
+
(_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
590
|
}, 200);
|
|
300
591
|
setAnchorEl(null);
|
|
301
592
|
};
|
|
302
593
|
|
|
594
|
+
var handleOpenFilterModeMenu = function handleOpenFilterModeMenu(event) {
|
|
595
|
+
event.stopPropagation();
|
|
596
|
+
setFilterMenuAnchorEl(event.currentTarget);
|
|
597
|
+
};
|
|
598
|
+
|
|
303
599
|
return React.createElement(Menu, {
|
|
304
600
|
anchorEl: anchorEl,
|
|
305
601
|
open: !!anchorEl,
|
|
306
602
|
onClose: function onClose() {
|
|
307
603
|
return setAnchorEl(null);
|
|
308
604
|
}
|
|
605
|
+
}, React.createElement(MenuList, {
|
|
606
|
+
dense: tableInstance.state.densePadding,
|
|
607
|
+
disablePadding: true
|
|
309
608
|
}, !disableSortBy && column.canSort && [React.createElement(MenuItem, {
|
|
310
609
|
key: 1,
|
|
311
610
|
disabled: !column.isSorted,
|
|
312
611
|
onClick: handleClearSort,
|
|
313
612
|
sx: commonMenuItemStyles
|
|
314
|
-
}, React.createElement(ClearAllIcon, null),
|
|
315
|
-
key: 2,
|
|
613
|
+
}, React.createElement(ListItemIcon, null, React.createElement(ClearAllIcon, null)), React.createElement(ListItemText, null, localization.columnActionMenuItemClearSort)), React.createElement(MenuItem, {
|
|
316
614
|
disabled: column.isSorted && !column.isSortedDesc,
|
|
615
|
+
key: 2,
|
|
317
616
|
onClick: handleSortAsc,
|
|
318
617
|
sx: commonMenuItemStyles
|
|
319
|
-
}, React.createElement(SortIcon, null),
|
|
618
|
+
}, 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, {
|
|
619
|
+
divider: !disableFilters || enableColumnGrouping || !disableColumnHiding,
|
|
320
620
|
key: 3,
|
|
321
621
|
disabled: column.isSorted && column.isSortedDesc,
|
|
322
622
|
onClick: handleSortDesc,
|
|
323
623
|
sx: commonMenuItemStyles
|
|
324
|
-
}, React.createElement(SortIcon, {
|
|
624
|
+
}, React.createElement(ListItemIcon, null, React.createElement(SortIcon, {
|
|
325
625
|
style: {
|
|
326
626
|
transform: 'rotate(180deg) scaleX(-1)'
|
|
327
627
|
}
|
|
328
|
-
}),
|
|
329
|
-
|
|
330
|
-
}), React.createElement(MenuItem, {
|
|
628
|
+
})), React.createElement(ListItemText, null, (_localization$columnA2 = localization.columnActionMenuItemSortDesc) == null ? void 0 : _localization$columnA2.replace('{column}', String(column.Header))))], !disableFilters && column.canFilter && [React.createElement(MenuItem, {
|
|
629
|
+
divider: enableColumnGrouping || !disableColumnHiding,
|
|
331
630
|
key: 1,
|
|
332
631
|
onClick: handleFilterByColumn,
|
|
333
632
|
sx: commonMenuItemStyles
|
|
334
|
-
}, React.createElement(FilterListIcon, null),
|
|
335
|
-
|
|
336
|
-
|
|
633
|
+
}, 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, {
|
|
634
|
+
onClick: handleOpenFilterModeMenu,
|
|
635
|
+
onMouseEnter: handleOpenFilterModeMenu,
|
|
636
|
+
size: "small",
|
|
637
|
+
sx: {
|
|
638
|
+
p: 0
|
|
639
|
+
}
|
|
640
|
+
}, React.createElement(ArrowRightIcon, null))), React.createElement(MRT_FilterTypeMenu, {
|
|
641
|
+
anchorEl: filterMenuAnchorEl,
|
|
642
|
+
column: column,
|
|
643
|
+
key: 2,
|
|
644
|
+
setAnchorEl: setFilterMenuAnchorEl,
|
|
645
|
+
onSelect: handleFilterByColumn
|
|
646
|
+
})], enableColumnGrouping && column.canGroupBy && [React.createElement(MenuItem, {
|
|
647
|
+
divider: !disableColumnHiding,
|
|
337
648
|
key: 2,
|
|
338
649
|
onClick: handleGroupByColumn,
|
|
339
650
|
sx: commonMenuItemStyles
|
|
340
|
-
}, React.createElement(DynamicFeedIcon, null),
|
|
341
|
-
key: 0
|
|
342
|
-
}), React.createElement(MenuItem, {
|
|
651
|
+
}, 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
652
|
key: 1,
|
|
344
653
|
onClick: handleHideColumn,
|
|
345
654
|
sx: commonMenuItemStyles
|
|
346
|
-
}, React.createElement(VisibilityOffIcon, null),
|
|
655
|
+
}, 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
656
|
};
|
|
348
657
|
|
|
349
658
|
var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton(_ref) {
|
|
@@ -373,11 +682,12 @@ var MRT_ToggleColumnActionMenuButton = function MRT_ToggleColumnActionMenuButton
|
|
|
373
682
|
onClick: handleClick,
|
|
374
683
|
size: "small",
|
|
375
684
|
sx: {
|
|
685
|
+
height: '2rem',
|
|
686
|
+
mr: '2px',
|
|
687
|
+
mt: '-0.2rem',
|
|
376
688
|
opacity: 0.5,
|
|
377
689
|
transition: 'opacity 0.2s',
|
|
378
|
-
|
|
379
|
-
height: '1.6rem',
|
|
380
|
-
width: '1.6rem',
|
|
690
|
+
width: '2rem',
|
|
381
691
|
'&:hover': {
|
|
382
692
|
opacity: 1
|
|
383
693
|
}
|
|
@@ -400,7 +710,7 @@ var commonTableHeadCellStyles = function commonTableHeadCellStyles(densePadding,
|
|
|
400
710
|
};
|
|
401
711
|
};
|
|
402
712
|
var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
403
|
-
var _column$columns
|
|
713
|
+
var _column$columns, _localization$columnA, _localization$columnA2;
|
|
404
714
|
|
|
405
715
|
var column = _ref.column;
|
|
406
716
|
|
|
@@ -408,11 +718,15 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
408
718
|
disableColumnActions = _useMRT.disableColumnActions,
|
|
409
719
|
disableFilters = _useMRT.disableFilters,
|
|
410
720
|
enableColumnResizing = _useMRT.enableColumnResizing,
|
|
721
|
+
_useMRT$icons = _useMRT.icons,
|
|
722
|
+
FilterAltIcon = _useMRT$icons.FilterAltIcon,
|
|
723
|
+
FilterAltOff = _useMRT$icons.FilterAltOff,
|
|
411
724
|
localization = _useMRT.localization,
|
|
412
725
|
muiTableHeadCellProps = _useMRT.muiTableHeadCellProps,
|
|
726
|
+
setShowFilters = _useMRT.setShowFilters,
|
|
413
727
|
tableInstance = _useMRT.tableInstance;
|
|
414
728
|
|
|
415
|
-
var isParentHeader = (
|
|
729
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
416
730
|
var mTableHeadCellProps = muiTableHeadCellProps instanceof Function ? muiTableHeadCellProps(column) : muiTableHeadCellProps;
|
|
417
731
|
var mcTableHeadCellProps = column.muiTableHeadCellProps instanceof Function ? column.muiTableHeadCellProps(column) : column.muiTableHeadCellProps;
|
|
418
732
|
|
|
@@ -421,17 +735,14 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
421
735
|
});
|
|
422
736
|
|
|
423
737
|
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);
|
|
738
|
+
var filterTooltip = !!column.filterValue ? localization.filterApplied.replace('{column}', String(column.Header)).replace('{filterType}', // @ts-ignore
|
|
739
|
+
localization["filterMenuItem" + (tableInstance.state.currentFilterTypes[column.id].charAt(0).toUpperCase() + tableInstance.state.currentFilterTypes[column.id].slice(1))]) : localization.toggleFilterButtonTitle;
|
|
740
|
+
var columnHeader = column.render('Header');
|
|
424
741
|
return React.createElement(TableCell, Object.assign({
|
|
425
742
|
align: isParentHeader ? 'center' : 'left'
|
|
426
743
|
}, tableCellProps, {
|
|
427
744
|
sx: _extends({}, commonTableHeadCellStyles(tableInstance.state.densePadding, enableColumnResizing), tableCellProps == null ? void 0 : tableCellProps.sx)
|
|
428
745
|
}), React.createElement(Box, {
|
|
429
|
-
sx: {
|
|
430
|
-
alignContent: 'space-between',
|
|
431
|
-
display: 'grid',
|
|
432
|
-
height: '100%'
|
|
433
|
-
}
|
|
434
|
-
}, React.createElement(Box, {
|
|
435
746
|
sx: {
|
|
436
747
|
alignItems: 'flex-start',
|
|
437
748
|
display: 'flex',
|
|
@@ -442,7 +753,8 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
442
753
|
sx: {
|
|
443
754
|
alignItems: 'center',
|
|
444
755
|
display: 'flex',
|
|
445
|
-
flexWrap: 'nowrap'
|
|
756
|
+
flexWrap: 'nowrap',
|
|
757
|
+
whiteSpace: columnHeader.length < 15 ? 'nowrap' : 'normal'
|
|
446
758
|
},
|
|
447
759
|
title: undefined
|
|
448
760
|
}), column.render('Header'), !isParentHeader && column.canSort && React.createElement(Tooltip, {
|
|
@@ -452,7 +764,29 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
452
764
|
"aria-label": sortTooltip,
|
|
453
765
|
active: column.isSorted,
|
|
454
766
|
direction: column.isSortedDesc ? 'desc' : 'asc'
|
|
455
|
-
}))
|
|
767
|
+
})), !isParentHeader && !!column.canFilter && React.createElement(Tooltip, {
|
|
768
|
+
arrow: true,
|
|
769
|
+
title: filterTooltip
|
|
770
|
+
}, React.createElement(IconButton, {
|
|
771
|
+
onClick: function onClick(event) {
|
|
772
|
+
event.stopPropagation();
|
|
773
|
+
setShowFilters(!tableInstance.state.showFilters);
|
|
774
|
+
},
|
|
775
|
+
size: "small",
|
|
776
|
+
sx: {
|
|
777
|
+
opacity: !!column.filterValue ? 0.8 : 0,
|
|
778
|
+
p: '2px',
|
|
779
|
+
m: 0,
|
|
780
|
+
transition: 'all 0.2s ease-in-out',
|
|
781
|
+
'&:hover': {
|
|
782
|
+
opacity: 0.8
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
}, tableInstance.state.showFilters && !column.filterValue ? React.createElement(FilterAltOff, {
|
|
786
|
+
fontSize: "small"
|
|
787
|
+
}) : React.createElement(FilterAltIcon, {
|
|
788
|
+
fontSize: "small"
|
|
789
|
+
})))), React.createElement(Box, {
|
|
456
790
|
sx: {
|
|
457
791
|
alignItems: 'center',
|
|
458
792
|
display: 'flex',
|
|
@@ -476,7 +810,7 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
476
810
|
"in": tableInstance.state.showFilters
|
|
477
811
|
}, React.createElement(MRT_FilterTextField, {
|
|
478
812
|
column: column
|
|
479
|
-
})))
|
|
813
|
+
})));
|
|
480
814
|
};
|
|
481
815
|
|
|
482
816
|
var MRT_EditCellTextField = function MRT_EditCellTextField(_ref) {
|
|
@@ -798,15 +1132,14 @@ var MRT_RowActionMenu = function MRT_RowActionMenu(_ref) {
|
|
|
798
1132
|
onClose: function onClose() {
|
|
799
1133
|
return setAnchorEl(null);
|
|
800
1134
|
}
|
|
1135
|
+
}, React.createElement(MenuList, {
|
|
1136
|
+
dense: tableInstance.state.densePadding,
|
|
1137
|
+
disablePadding: true
|
|
801
1138
|
}, enableRowEditing && React.createElement(MenuItem, {
|
|
802
|
-
sx: {
|
|
803
|
-
display: 'flex',
|
|
804
|
-
gap: '0.75rem'
|
|
805
|
-
},
|
|
806
1139
|
onClick: handleEdit
|
|
807
|
-
}, React.createElement(EditIcon, null),
|
|
1140
|
+
}, React.createElement(ListItemIcon, null, React.createElement(EditIcon, null)), React.createElement(ListItemText, null, localization.rowActionMenuItemEdit)), (_renderRowActionMenuI = renderRowActionMenuItems == null ? void 0 : renderRowActionMenuItems(row, tableInstance, function () {
|
|
808
1141
|
return setAnchorEl(null);
|
|
809
|
-
})) != null ? _renderRowActionMenuI : null);
|
|
1142
|
+
})) != null ? _renderRowActionMenuI : null));
|
|
810
1143
|
};
|
|
811
1144
|
|
|
812
1145
|
function createCommonjsModule(fn, module) {
|
|
@@ -1761,9 +2094,10 @@ var MRT_TableBody = function MRT_TableBody() {
|
|
|
1761
2094
|
manualPagination = _useMRT.manualPagination;
|
|
1762
2095
|
|
|
1763
2096
|
var rows = manualPagination ? tableInstance.rows : tableInstance.page;
|
|
2097
|
+
var mTableBodyProps = muiTableBodyProps instanceof Function ? muiTableBodyProps(tableInstance) : muiTableBodyProps;
|
|
1764
2098
|
|
|
1765
|
-
var tableBodyProps = _extends({},
|
|
1766
|
-
style: _extends({}, tableInstance.getTableBodyProps().style,
|
|
2099
|
+
var tableBodyProps = _extends({}, mTableBodyProps, tableInstance.getTableBodyProps(), {
|
|
2100
|
+
style: _extends({}, tableInstance.getTableBodyProps().style, mTableBodyProps == null ? void 0 : mTableBodyProps.style)
|
|
1767
2101
|
});
|
|
1768
2102
|
|
|
1769
2103
|
return React.createElement(TableBody, Object.assign({}, tableBodyProps, {
|
|
@@ -1780,7 +2114,7 @@ var MRT_TableBody = function MRT_TableBody() {
|
|
|
1780
2114
|
};
|
|
1781
2115
|
|
|
1782
2116
|
var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
1783
|
-
var _column$columns
|
|
2117
|
+
var _column$columns;
|
|
1784
2118
|
|
|
1785
2119
|
var column = _ref.column;
|
|
1786
2120
|
|
|
@@ -1789,7 +2123,7 @@ var MRT_TableFooterCell = function MRT_TableFooterCell(_ref) {
|
|
|
1789
2123
|
enableColumnResizing = _useMRT.enableColumnResizing,
|
|
1790
2124
|
densePadding = _useMRT.tableInstance.state.densePadding;
|
|
1791
2125
|
|
|
1792
|
-
var isParentHeader = (
|
|
2126
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
1793
2127
|
var mTableFooterCellProps = muiTableFooterCellProps instanceof Function ? muiTableFooterCellProps(column) : muiTableFooterCellProps;
|
|
1794
2128
|
var mcTableFooterCellProps = column.muiTableFooterCellProps instanceof Function ? column.muiTableFooterCellProps(column) : column.muiTableFooterCellProps;
|
|
1795
2129
|
|
|
@@ -1852,7 +2186,8 @@ var MRT_TableFooter = function MRT_TableFooter() {
|
|
|
1852
2186
|
muiTableFooterProps = _useMRT.muiTableFooterProps,
|
|
1853
2187
|
tableInstance = _useMRT.tableInstance;
|
|
1854
2188
|
|
|
1855
|
-
|
|
2189
|
+
var tableFooterProps = muiTableFooterProps instanceof Function ? muiTableFooterProps(tableInstance) : muiTableFooterProps;
|
|
2190
|
+
return React.createElement(TableFooter, Object.assign({}, tableFooterProps), tableInstance.footerGroups.map(function (footerGroup) {
|
|
1856
2191
|
return React.createElement(MRT_TableFooterRow, {
|
|
1857
2192
|
key: footerGroup.getFooterGroupProps().key,
|
|
1858
2193
|
footerGroup: footerGroup
|
|
@@ -1867,8 +2202,10 @@ var MRT_Table = function MRT_Table() {
|
|
|
1867
2202
|
hideTableHead = _useMRT.hideTableHead,
|
|
1868
2203
|
hideTableFooter = _useMRT.hideTableFooter;
|
|
1869
2204
|
|
|
1870
|
-
var
|
|
1871
|
-
|
|
2205
|
+
var mTableProps = muiTableProps instanceof Function ? muiTableProps(tableInstance) : muiTableProps;
|
|
2206
|
+
|
|
2207
|
+
var tableProps = _extends({}, mTableProps, tableInstance.getTableProps(), {
|
|
2208
|
+
style: _extends({}, tableInstance.getTableProps().style, mTableProps == null ? void 0 : mTableProps.style)
|
|
1872
2209
|
});
|
|
1873
2210
|
|
|
1874
2211
|
return React.createElement(Table, Object.assign({}, tableProps), !hideTableHead && React.createElement(MRT_TableHead, null), React.createElement(MRT_TableBody, null), !hideTableFooter && React.createElement(MRT_TableFooter, null));
|
|
@@ -1879,6 +2216,7 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
|
|
|
1879
2216
|
_useMRT$icons = _useMRT.icons,
|
|
1880
2217
|
SearchIcon = _useMRT$icons.SearchIcon,
|
|
1881
2218
|
CloseIcon = _useMRT$icons.CloseIcon,
|
|
2219
|
+
idPrefix = _useMRT.idPrefix,
|
|
1882
2220
|
localization = _useMRT.localization,
|
|
1883
2221
|
muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
|
|
1884
2222
|
onGlobalFilterChange = _useMRT.onGlobalFilterChange,
|
|
@@ -1904,7 +2242,7 @@ var MRT_SearchTextField = function MRT_SearchTextField() {
|
|
|
1904
2242
|
"in": tableInstance.state.showSearch,
|
|
1905
2243
|
orientation: "horizontal"
|
|
1906
2244
|
}, React.createElement(TextField, Object.assign({
|
|
1907
|
-
id: "
|
|
2245
|
+
id: "mrt-" + idPrefix + "-search-text-field",
|
|
1908
2246
|
placeholder: localization.searchTextFieldPlaceholder,
|
|
1909
2247
|
onChange: function onChange(event) {
|
|
1910
2248
|
setSearchValue(event.target.value);
|
|
@@ -1961,10 +2299,10 @@ var MRT_FullScreenToggleButton = function MRT_FullScreenToggleButton(_ref) {
|
|
|
1961
2299
|
};
|
|
1962
2300
|
|
|
1963
2301
|
var MRT_ShowHideColumnsMenu = function MRT_ShowHideColumnsMenu(_ref) {
|
|
1964
|
-
var _column$columns
|
|
2302
|
+
var _column$columns, _column$columns2, _column$isVisible, _column$columns4;
|
|
1965
2303
|
|
|
1966
2304
|
var column = _ref.column;
|
|
1967
|
-
var isParentHeader = (
|
|
2305
|
+
var isParentHeader = !!(column != null && (_column$columns = column.columns) != null && _column$columns.length);
|
|
1968
2306
|
var allChildColumnsVisible = isParentHeader && !!((_column$columns2 = column.columns) != null && _column$columns2.every(function (childColumn) {
|
|
1969
2307
|
return childColumn.isVisible;
|
|
1970
2308
|
}));
|
|
@@ -2005,9 +2343,9 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2005
2343
|
var rest = _extends({}, _ref);
|
|
2006
2344
|
|
|
2007
2345
|
var _useMRT = useMRT(),
|
|
2008
|
-
|
|
2346
|
+
ViewColumnIcon = _useMRT.icons.ViewColumnIcon,
|
|
2009
2347
|
localization = _useMRT.localization,
|
|
2010
|
-
|
|
2348
|
+
tableInstance = _useMRT.tableInstance;
|
|
2011
2349
|
|
|
2012
2350
|
var _useState = useState(null),
|
|
2013
2351
|
anchorEl = _useState[0],
|
|
@@ -2030,6 +2368,9 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2030
2368
|
onClose: function onClose() {
|
|
2031
2369
|
return setAnchorEl(null);
|
|
2032
2370
|
}
|
|
2371
|
+
}, React.createElement(MenuList, {
|
|
2372
|
+
dense: tableInstance.state.densePadding,
|
|
2373
|
+
disablePadding: true
|
|
2033
2374
|
}, React.createElement(Box, {
|
|
2034
2375
|
sx: {
|
|
2035
2376
|
display: 'flex',
|
|
@@ -2051,7 +2392,7 @@ var MRT_ShowHideColumnsButton = function MRT_ShowHideColumnsButton(_ref) {
|
|
|
2051
2392
|
key: index + "-" + column.id,
|
|
2052
2393
|
column: column
|
|
2053
2394
|
});
|
|
2054
|
-
})));
|
|
2395
|
+
}))));
|
|
2055
2396
|
};
|
|
2056
2397
|
|
|
2057
2398
|
var MRT_ToggleDensePaddingButton = function MRT_ToggleDensePaddingButton(_ref) {
|
|
@@ -2107,6 +2448,7 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
|
|
|
2107
2448
|
_useMRT$icons = _useMRT.icons,
|
|
2108
2449
|
SearchIcon = _useMRT$icons.SearchIcon,
|
|
2109
2450
|
SearchOffIcon = _useMRT$icons.SearchOffIcon,
|
|
2451
|
+
idPrefix = _useMRT.idPrefix,
|
|
2110
2452
|
localization = _useMRT.localization,
|
|
2111
2453
|
muiSearchTextFieldProps = _useMRT.muiSearchTextFieldProps,
|
|
2112
2454
|
setShowSearch = _useMRT.setShowSearch,
|
|
@@ -2117,7 +2459,7 @@ var MRT_ToggleSearchButton = function MRT_ToggleSearchButton(_ref) {
|
|
|
2117
2459
|
setTimeout(function () {
|
|
2118
2460
|
var _document$getElementB, _muiSearchTextFieldPr;
|
|
2119
2461
|
|
|
2120
|
-
return (_document$getElementB = document.getElementById((_muiSearchTextFieldPr = muiSearchTextFieldProps == null ? void 0 : muiSearchTextFieldProps.id) != null ? _muiSearchTextFieldPr : "
|
|
2462
|
+
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();
|
|
2121
2463
|
}, 200);
|
|
2122
2464
|
};
|
|
2123
2465
|
|
|
@@ -2377,7 +2719,12 @@ var MRT_TableContainer = function MRT_TableContainer() {
|
|
|
2377
2719
|
}), !hideToolbarTop && React.createElement(MRT_ToolbarTop, null), React.createElement(Collapse, {
|
|
2378
2720
|
"in": isFetching || isLoading,
|
|
2379
2721
|
unmountOnExit: true
|
|
2380
|
-
}, React.createElement(LinearProgress, null)), React.createElement(
|
|
2722
|
+
}, React.createElement(LinearProgress, null)), React.createElement(Box, {
|
|
2723
|
+
sx: {
|
|
2724
|
+
maxWidth: '100%',
|
|
2725
|
+
overflowX: 'auto'
|
|
2726
|
+
}
|
|
2727
|
+
}, React.createElement(MRT_Table, null)), !hideToolbarBottom && React.createElement(MRT_ToolbarBottom, null));
|
|
2381
2728
|
};
|
|
2382
2729
|
|
|
2383
2730
|
var MRT_DefaultLocalization_EN = {
|
|
@@ -2393,6 +2740,19 @@ var MRT_DefaultLocalization_EN = {
|
|
|
2393
2740
|
columnShowHideMenuShowAll: 'Show all',
|
|
2394
2741
|
expandAllButtonTitle: 'Expand all',
|
|
2395
2742
|
expandButtonTitle: 'Expand',
|
|
2743
|
+
filterApplied: 'Filtering by {column} - ({filterType})',
|
|
2744
|
+
filterMenuItemContains: 'Contains Exact',
|
|
2745
|
+
filterMenuItemEmpty: 'Empty',
|
|
2746
|
+
filterMenuItemEndsWith: 'Ends With',
|
|
2747
|
+
filterMenuItemEquals: 'Equals',
|
|
2748
|
+
filterMenuItemFuzzy: 'Fuzzy Match (Default)',
|
|
2749
|
+
filterMenuItemNotEmpty: 'Not Empty',
|
|
2750
|
+
filterMenuItemNotEquals: 'Not Equals',
|
|
2751
|
+
filterMenuItemStartsWith: 'Starts With',
|
|
2752
|
+
filterMenuTitle: 'Filter Mode',
|
|
2753
|
+
filterTextFieldChangeFilterButtonTitle: 'Change Filter Mode',
|
|
2754
|
+
filterTextFieldChipLabelEmpty: 'Empty',
|
|
2755
|
+
filterTextFieldChipLabelNotEmpty: 'Not Empty',
|
|
2396
2756
|
filterTextFieldClearButtonTitle: 'Clear filter',
|
|
2397
2757
|
filterTextFieldPlaceholder: 'Filter by {column}',
|
|
2398
2758
|
rowActionButtonCancel: 'Cancel',
|
|
@@ -2406,15 +2766,16 @@ var MRT_DefaultLocalization_EN = {
|
|
|
2406
2766
|
selectCheckboxTitle: 'Toggle select row',
|
|
2407
2767
|
showHideColumnsButtonTitle: 'Show/Hide columns',
|
|
2408
2768
|
toggleDensePaddingSwitchTitle: 'Toggle dense padding',
|
|
2409
|
-
toggleFilterButtonTitle: '
|
|
2769
|
+
toggleFilterButtonTitle: 'Show/Hide filters',
|
|
2410
2770
|
toggleFullScreenButtonTitle: 'Toggle full screen',
|
|
2411
|
-
toggleSearchButtonTitle: '
|
|
2412
|
-
toolbarAlertSelectionMessage: '{selectedCount} of {rowCount} row(s) selected',
|
|
2771
|
+
toggleSearchButtonTitle: 'Show/Hide search',
|
|
2413
2772
|
toolbarAlertGroupedByMessage: 'Grouped by ',
|
|
2414
|
-
toolbarAlertGroupedThenByMessage: ', then by '
|
|
2773
|
+
toolbarAlertGroupedThenByMessage: ', then by ',
|
|
2774
|
+
toolbarAlertSelectionMessage: '{selectedCount} of {rowCount} row(s) selected'
|
|
2415
2775
|
};
|
|
2416
2776
|
|
|
2417
2777
|
var MRT_Default_Icons = {
|
|
2778
|
+
ArrowRightIcon: ArrowRightIcon,
|
|
2418
2779
|
CancelIcon: CancelIcon,
|
|
2419
2780
|
ClearAllIcon: ClearAllIcon,
|
|
2420
2781
|
CloseIcon: CloseIcon,
|
|
@@ -2425,6 +2786,8 @@ var MRT_Default_Icons = {
|
|
|
2425
2786
|
EditIcon: EditIcon,
|
|
2426
2787
|
ExpandLessIcon: ExpandLessIcon,
|
|
2427
2788
|
ExpandMoreIcon: ExpandMoreIcon,
|
|
2789
|
+
FilterAltIcon: FilterAltIcon,
|
|
2790
|
+
FilterAltOff: FilterAltOff,
|
|
2428
2791
|
FilterListIcon: FilterListIcon,
|
|
2429
2792
|
FilterListOffIcon: FilterListOffIcon,
|
|
2430
2793
|
FullscreenExitIcon: FullscreenExitIcon,
|