material-react-table 1.7.3 → 1.8.0
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/README.md +5 -13
- package/dist/cjs/index.js +110 -72
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/MaterialReactTable.d.ts +22 -8
- package/dist/cjs/types/body/MRT_TableBody.d.ts +3 -4
- package/dist/cjs/types/body/MRT_TableBodyCell.d.ts +2 -3
- package/dist/cjs/types/body/MRT_TableBodyRow.d.ts +4 -5
- package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +2 -3
- package/dist/cjs/types/column.utils.d.ts +3 -2
- package/dist/cjs/types/footer/MRT_TableFooter.d.ts +2 -3
- package/dist/cjs/types/footer/MRT_TableFooterRow.d.ts +2 -3
- package/dist/cjs/types/head/MRT_TableHead.d.ts +2 -3
- package/dist/cjs/types/head/MRT_TableHeadRow.d.ts +2 -3
- package/dist/cjs/types/icons.d.ts +0 -1
- package/dist/cjs/types/table/MRT_TableRoot.d.ts +1 -272
- package/dist/esm/material-react-table.esm.js +108 -72
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/types/MaterialReactTable.d.ts +22 -8
- package/dist/esm/types/body/MRT_TableBody.d.ts +3 -4
- package/dist/esm/types/body/MRT_TableBodyCell.d.ts +2 -3
- package/dist/esm/types/body/MRT_TableBodyRow.d.ts +4 -5
- package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +2 -3
- package/dist/esm/types/column.utils.d.ts +3 -2
- package/dist/esm/types/footer/MRT_TableFooter.d.ts +2 -3
- package/dist/esm/types/footer/MRT_TableFooterRow.d.ts +2 -3
- package/dist/esm/types/head/MRT_TableHead.d.ts +2 -3
- package/dist/esm/types/head/MRT_TableHeadRow.d.ts +2 -3
- package/dist/esm/types/icons.d.ts +0 -1
- package/dist/esm/types/table/MRT_TableRoot.d.ts +1 -272
- package/dist/index.d.ts +22 -8
- package/package.json +13 -14
- package/src/MaterialReactTable.tsx +50 -7
- package/src/body/MRT_TableBody.tsx +11 -10
- package/src/body/MRT_TableBodyCell.tsx +11 -13
- package/src/body/MRT_TableBodyCellValue.tsx +1 -0
- package/src/body/MRT_TableBodyRow.tsx +14 -7
- package/src/body/MRT_TableDetailPanel.tsx +2 -3
- package/src/buttons/MRT_ExpandAllButton.tsx +10 -8
- package/src/buttons/MRT_ExpandButton.tsx +10 -8
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +4 -1
- package/src/column.utils.ts +16 -6
- package/src/footer/MRT_TableFooter.tsx +2 -3
- package/src/footer/MRT_TableFooterRow.tsx +7 -3
- package/src/head/MRT_TableHead.tsx +2 -3
- package/src/head/MRT_TableHeadCell.tsx +1 -0
- package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +1 -1
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +2 -5
- package/src/head/MRT_TableHeadRow.tsx +7 -3
- package/src/icons.ts +0 -3
- package/src/inputs/MRT_EditCellTextField.tsx +38 -2
- package/src/menus/MRT_FilterOptionMenu.tsx +14 -5
- package/src/menus/MRT_RowActionMenu.tsx +12 -10
- package/src/table/MRT_Table.tsx +6 -5
- package/src/table/MRT_TableRoot.tsx +33 -19
package/README.md
CHANGED
@@ -27,17 +27,9 @@ View [Documentation](https://www.material-react-table.com/)
|
|
27
27
|
|
28
28
|
### __Built with [Material UI <sup>V5</sup>](https://mui.com) and [TanStack Table <sup>V8</sup>](https://tanstack.com/table/v8)__
|
29
29
|
|
30
|
-
<
|
31
|
-
|
32
|
-
|
33
|
-
=
|
34
|
-
<img src="https://mui.com/static/logo.png" height="24">
|
35
|
-
🤝
|
36
|
-
<img src="https://react-table-v7.tanstack.com/_next/static/images/logo-light-66d4dd9109004332c863391e6d1cb309.svg" height="24">
|
37
|
-
</div>
|
38
|
-
<br />
|
39
|
-
|
40
|
-
MRT is built with Material-UI components on top of [TanStack Table's](https://tanstack.com/table/v8) comprehensive and powerful react hooks api.
|
30
|
+
<img src="https://material-react-table.com/banner.png" alt="MRT" height="50"/>
|
31
|
+
|
32
|
+
> Want to use Mantine instead of Material UI? Check out [Mantine React Table](https://www.mantine-react-table.com)
|
41
33
|
|
42
34
|
## Learn More
|
43
35
|
|
@@ -148,7 +140,7 @@ export default function App() {
|
|
148
140
|
accessorKey: 'name', //simple recommended way to define a column
|
149
141
|
header: 'Name',
|
150
142
|
muiTableHeadCellProps: { sx: { color: 'green' } }, //optional custom props
|
151
|
-
Cell: ({ cell}) => <span>{cell.getValue()}</span>, //optional custom cell render
|
143
|
+
Cell: ({ cell }) => <span>{cell.getValue()}</span>, //optional custom cell render
|
152
144
|
},
|
153
145
|
{
|
154
146
|
accessorFn: (row) => row.age, //alternate way
|
@@ -202,4 +194,4 @@ PRs are Welcome, but please discuss in [GitHub Discussions](https://github.com/K
|
|
202
194
|
|
203
195
|
Read the [Contributing Guide](https://github.com/KevinVandy/material-react-table/blob/main/CONTRIBUTING.md) to learn how to run this project locally.
|
204
196
|
|
205
|
-
<!-- Use the FORCE, Luke! -->
|
197
|
+
<!-- Use the FORCE, Luke! -->
|
package/dist/cjs/index.js
CHANGED
@@ -17,7 +17,6 @@ var DensitySmallIcon = require('@mui/icons-material/DensitySmall');
|
|
17
17
|
var DragHandleIcon = require('@mui/icons-material/DragHandle');
|
18
18
|
var DynamicFeedIcon = require('@mui/icons-material/DynamicFeed');
|
19
19
|
var EditIcon = require('@mui/icons-material/Edit');
|
20
|
-
var ExpandLessIcon = require('@mui/icons-material/ExpandLess');
|
21
20
|
var ExpandMoreIcon = require('@mui/icons-material/ExpandMore');
|
22
21
|
var FilterAltIcon = require('@mui/icons-material/FilterAlt');
|
23
22
|
var FilterListIcon = require('@mui/icons-material/FilterList');
|
@@ -93,7 +92,6 @@ var DensitySmallIcon__default = /*#__PURE__*/_interopDefaultLegacy(DensitySmallI
|
|
93
92
|
var DragHandleIcon__default = /*#__PURE__*/_interopDefaultLegacy(DragHandleIcon);
|
94
93
|
var DynamicFeedIcon__default = /*#__PURE__*/_interopDefaultLegacy(DynamicFeedIcon);
|
95
94
|
var EditIcon__default = /*#__PURE__*/_interopDefaultLegacy(EditIcon);
|
96
|
-
var ExpandLessIcon__default = /*#__PURE__*/_interopDefaultLegacy(ExpandLessIcon);
|
97
95
|
var ExpandMoreIcon__default = /*#__PURE__*/_interopDefaultLegacy(ExpandMoreIcon);
|
98
96
|
var FilterAltIcon__default = /*#__PURE__*/_interopDefaultLegacy(FilterAltIcon);
|
99
97
|
var FilterListIcon__default = /*#__PURE__*/_interopDefaultLegacy(FilterListIcon);
|
@@ -312,8 +310,8 @@ const getIsFirstRightPinnedColumn = (column) => {
|
|
312
310
|
const getTotalRight = (table, column) => {
|
313
311
|
return ((table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 200);
|
314
312
|
};
|
315
|
-
const getCommonCellStyles = ({ column, table, tableCellProps, theme, }) => {
|
316
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
313
|
+
const getCommonCellStyles = ({ column, header, table, tableCellProps, theme, }) => {
|
314
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
317
315
|
return (Object.assign(Object.assign({ backgroundColor: column.getIsPinned() && column.columnDef.columnDefType !== 'group'
|
318
316
|
? styles.alpha(styles.lighten(theme.palette.background.default, 0.04), 0.97)
|
319
317
|
: 'inherit', backgroundImage: 'inherit', boxShadow: getIsLastLeftPinnedColumn(table, column)
|
@@ -321,21 +319,21 @@ const getCommonCellStyles = ({ column, table, tableCellProps, theme, }) => {
|
|
321
319
|
: getIsFirstRightPinnedColumn(column)
|
322
320
|
? `4px 0 8px -6px ${styles.alpha(theme.palette.common.black, 0.2)} inset`
|
323
321
|
: undefined, display: table.options.layoutMode === 'grid' ? 'flex' : 'table-cell', flex: table.options.layoutMode === 'grid'
|
324
|
-
? `var(--col-${parseCSSVarId(column.id)}-size) 0 auto`
|
322
|
+
? `var(--col-${parseCSSVarId((_a = header === null || header === void 0 ? void 0 : header.id) !== null && _a !== void 0 ? _a : column.id)}-size) 0 auto`
|
325
323
|
: undefined, left: column.getIsPinned() === 'left'
|
326
324
|
? `${column.getStart('left')}px`
|
327
325
|
: undefined, ml: table.options.enableColumnVirtualization &&
|
328
326
|
column.getIsPinned() === 'left' &&
|
329
327
|
column.getPinnedIndex() === 0
|
330
|
-
? `-${column.getSize() * ((
|
328
|
+
? `-${column.getSize() * ((_c = (_b = table.getState().columnPinning.left) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 1)}px`
|
331
329
|
: undefined, mr: table.options.enableColumnVirtualization &&
|
332
330
|
column.getIsPinned() === 'right' &&
|
333
331
|
column.getPinnedIndex() === table.getVisibleLeafColumns().length - 1
|
334
332
|
? `-${column.getSize() *
|
335
|
-
((
|
333
|
+
((_e = (_d = table.getState().columnPinning.right) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 1) *
|
336
334
|
1.2}px`
|
337
|
-
: undefined, opacity: ((
|
338
|
-
((
|
335
|
+
: undefined, opacity: ((_f = table.getState().draggingColumn) === null || _f === void 0 ? void 0 : _f.id) === column.id ||
|
336
|
+
((_g = table.getState().hoveredColumn) === null || _g === void 0 ? void 0 : _g.id) === column.id
|
339
337
|
? 0.5
|
340
338
|
: 1, position: column.getIsPinned() && column.columnDef.columnDefType !== 'group'
|
341
339
|
? 'sticky'
|
@@ -345,7 +343,7 @@ const getCommonCellStyles = ({ column, table, tableCellProps, theme, }) => {
|
|
345
343
|
? 'none'
|
346
344
|
: `padding 150ms ease-in-out` }, ((tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx) instanceof Function
|
347
345
|
? tableCellProps.sx(theme)
|
348
|
-
: tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx)), { minWidth: `max(calc(var(--col-${parseCSSVarId(column.id)}-size) * 1px), ${(
|
346
|
+
: tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx)), { minWidth: `max(calc(var(--col-${parseCSSVarId((_h = header === null || header === void 0 ? void 0 : header.id) !== null && _h !== void 0 ? _h : column.id)}-size) * 1px), ${(_j = column.columnDef.minSize) !== null && _j !== void 0 ? _j : 30}px)`, width: `calc(var(--col-${parseCSSVarId((_k = header === null || header === void 0 ? void 0 : header.id) !== null && _k !== void 0 ? _k : column.id)}-size) * 1px)` }));
|
349
347
|
};
|
350
348
|
const MRT_DefaultColumn = {
|
351
349
|
filterVariant: 'text',
|
@@ -367,7 +365,12 @@ const MRT_DefaultDisplayColumn = {
|
|
367
365
|
enableResizing: false,
|
368
366
|
enableSorting: false,
|
369
367
|
};
|
370
|
-
const parseCSSVarId = (id) => id
|
368
|
+
const parseCSSVarId = (id) => id
|
369
|
+
.replaceAll('.', '_')
|
370
|
+
.replaceAll(' ', '_')
|
371
|
+
.replaceAll('+', '_')
|
372
|
+
.replaceAll('(', '_')
|
373
|
+
.replaceAll(')', '_');
|
371
374
|
|
372
375
|
const fuzzy$1 = (row, columnId, filterValue, addMeta) => {
|
373
376
|
const itemRank = matchSorterUtils.rankItem(row.getValue(columnId), filterValue, {
|
@@ -465,7 +468,6 @@ const MRT_Default_Icons = {
|
|
465
468
|
DragHandleIcon: DragHandleIcon__default["default"],
|
466
469
|
DynamicFeedIcon: DynamicFeedIcon__default["default"],
|
467
470
|
EditIcon: EditIcon__default["default"],
|
468
|
-
ExpandLessIcon: ExpandLessIcon__default["default"],
|
469
471
|
ExpandMoreIcon: ExpandMoreIcon__default["default"],
|
470
472
|
FilterAltIcon: FilterAltIcon__default["default"],
|
471
473
|
FilterListIcon: FilterListIcon__default["default"],
|
@@ -500,7 +502,7 @@ const rankGlobalFuzzy = (rowA, rowB) => Math.max(...Object.values(rowB.columnFil
|
|
500
502
|
Math.max(...Object.values(rowA.columnFiltersMeta).map((v) => v.rank));
|
501
503
|
|
502
504
|
const MRT_ExpandAllButton = ({ table }) => {
|
503
|
-
var _a;
|
505
|
+
var _a, _b;
|
504
506
|
const { getIsAllRowsExpanded, getIsSomeRowsExpanded, getCanSomeRowsExpand, getState, options: { icons: { KeyboardDoubleArrowDownIcon }, localization, muiExpandAllButtonProps, renderDetailPanel, }, toggleAllRowsExpanded, } = table;
|
505
507
|
const { density, isLoading } = getState();
|
506
508
|
const iconButtonProps = muiExpandAllButtonProps instanceof Function
|
@@ -513,15 +515,14 @@ const MRT_ExpandAllButton = ({ table }) => {
|
|
513
515
|
React__default["default"].createElement("span", null,
|
514
516
|
React__default["default"].createElement(IconButton__default["default"], Object.assign({ "aria-label": localization.expandAll, disabled: isLoading || (!renderDetailPanel && !getCanSomeRowsExpand()), onClick: () => toggleAllRowsExpanded(!isAllRowsExpanded) }, iconButtonProps, { sx: (theme) => (Object.assign({ height: density === 'compact' ? '1.75rem' : '2.25rem', width: density === 'compact' ? '1.75rem' : '2.25rem', mt: density !== 'compact' ? '-0.25rem' : undefined }, ((iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx) instanceof Function
|
515
517
|
? iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx(theme)
|
516
|
-
: iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx))), title: undefined }),
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
} })))));
|
518
|
+
: iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx))), title: undefined }), (_b = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.children) !== null && _b !== void 0 ? _b : (React__default["default"].createElement(KeyboardDoubleArrowDownIcon, { style: {
|
519
|
+
transform: `rotate(${isAllRowsExpanded ? -180 : getIsSomeRowsExpanded() ? -90 : 0}deg)`,
|
520
|
+
transition: 'transform 150ms',
|
521
|
+
} }))))));
|
521
522
|
};
|
522
523
|
|
523
524
|
const MRT_ExpandButton = ({ row, table }) => {
|
524
|
-
var _a;
|
525
|
+
var _a, _b;
|
525
526
|
const { getState, options: { icons: { ExpandMoreIcon }, localization, muiExpandButtonProps, renderDetailPanel, }, } = table;
|
526
527
|
const { density } = getState();
|
527
528
|
const iconButtonProps = muiExpandButtonProps instanceof Function
|
@@ -541,11 +542,10 @@ const MRT_ExpandButton = ({ row, table }) => {
|
|
541
542
|
React__default["default"].createElement("span", null,
|
542
543
|
React__default["default"].createElement(IconButton__default["default"], Object.assign({ "aria-label": localization.expand, disabled: !canExpand && !renderDetailPanel }, iconButtonProps, { onClick: handleToggleExpand, sx: (theme) => (Object.assign({ height: density === 'compact' ? '1.75rem' : '2.25rem', width: density === 'compact' ? '1.75rem' : '2.25rem' }, ((iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx) instanceof Function
|
543
544
|
? iconButtonProps.sx(theme)
|
544
|
-
: iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx))), title: undefined }),
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
} })))));
|
545
|
+
: iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx))), title: undefined }), (_b = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.children) !== null && _b !== void 0 ? _b : (React__default["default"].createElement(ExpandMoreIcon, { style: {
|
546
|
+
transform: `rotate(${!canExpand && !renderDetailPanel ? -90 : isExpanded ? -180 : 0}deg)`,
|
547
|
+
transition: 'transform 150ms',
|
548
|
+
} }))))));
|
549
549
|
};
|
550
550
|
|
551
551
|
const mrtFilterOptions = (localization) => [
|
@@ -640,6 +640,7 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, setFilt
|
|
640
640
|
const { globalFilterFn, density } = getState();
|
641
641
|
const { column } = header !== null && header !== void 0 ? header : {};
|
642
642
|
const { columnDef } = column !== null && column !== void 0 ? column : {};
|
643
|
+
const currentFilterValue = column === null || column === void 0 ? void 0 : column.getFilterValue();
|
643
644
|
const allowedColumnFilterOptions = (_a = columnDef === null || columnDef === void 0 ? void 0 : columnDef.columnFilterModeOptions) !== null && _a !== void 0 ? _a : columnFilterModeOptions;
|
644
645
|
const internalFilterOptions = React.useMemo(() => mrtFilterOptions(localization).filter((filterOption) => columnDef
|
645
646
|
? allowedColumnFilterOptions === undefined ||
|
@@ -651,12 +652,16 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, setFilt
|
|
651
652
|
if (header && column) {
|
652
653
|
setColumnFilterFns((prev) => (Object.assign(Object.assign({}, prev), { [header.id]: option })));
|
653
654
|
if (['empty', 'notEmpty'].includes(option)) {
|
654
|
-
|
655
|
+
if (currentFilterValue !== ' ') {
|
656
|
+
column.setFilterValue(' ');
|
657
|
+
}
|
655
658
|
}
|
656
659
|
else if ((columnDef === null || columnDef === void 0 ? void 0 : columnDef.filterVariant) === 'multi-select' ||
|
657
660
|
['arrIncludesSome', 'arrIncludesAll', 'arrIncludes'].includes(option)) {
|
658
|
-
|
659
|
-
|
661
|
+
if (currentFilterValue === null || currentFilterValue === void 0 ? void 0 : currentFilterValue.length) {
|
662
|
+
column.setFilterValue([]);
|
663
|
+
setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue([]);
|
664
|
+
}
|
660
665
|
}
|
661
666
|
else if ((columnDef === null || columnDef === void 0 ? void 0 : columnDef.filterVariant) === 'range' ||
|
662
667
|
['between', 'betweenInclusive', 'inNumberRange'].includes(option)) {
|
@@ -664,8 +669,10 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, setFilt
|
|
664
669
|
setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue('');
|
665
670
|
}
|
666
671
|
else {
|
667
|
-
|
668
|
-
|
672
|
+
if (!['', undefined].includes(currentFilterValue)) {
|
673
|
+
column.setFilterValue('');
|
674
|
+
setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue('');
|
675
|
+
}
|
669
676
|
}
|
670
677
|
}
|
671
678
|
else {
|
@@ -1044,11 +1051,13 @@ const MRT_RowActionMenu = ({ anchorEl, handleEdit, row, setAnchorEl, table, }) =
|
|
1044
1051
|
return (React__default["default"].createElement(Menu__default["default"], { anchorEl: anchorEl, open: !!anchorEl, onClose: () => setAnchorEl(null), MenuListProps: {
|
1045
1052
|
dense: density === 'compact',
|
1046
1053
|
} },
|
1047
|
-
enableEditing
|
1048
|
-
|
1049
|
-
|
1050
|
-
|
1051
|
-
|
1054
|
+
enableEditing instanceof Function
|
1055
|
+
? enableEditing(row)
|
1056
|
+
: enableEditing && (React__default["default"].createElement(MenuItem__default["default"], { onClick: handleEdit, sx: commonMenuItemStyles },
|
1057
|
+
React__default["default"].createElement(Box__default["default"], { sx: commonListItemStyles },
|
1058
|
+
React__default["default"].createElement(ListItemIcon__default["default"], null,
|
1059
|
+
React__default["default"].createElement(EditIcon, null)),
|
1060
|
+
localization.edit))), renderRowActionMenuItems === null || renderRowActionMenuItems === void 0 ? void 0 :
|
1052
1061
|
renderRowActionMenuItems({
|
1053
1062
|
row,
|
1054
1063
|
table,
|
@@ -1115,7 +1124,10 @@ const MRT_ToggleRowActionMenuButton = ({ cell, row, table, }) => {
|
|
1115
1124
|
setEditingRow(Object.assign({}, row));
|
1116
1125
|
setAnchorEl(null);
|
1117
1126
|
};
|
1118
|
-
return (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions ? (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions({ cell, row, table }))) : row.id === (editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) && editingMode === 'row' ? (React__default["default"].createElement(MRT_EditActionButtons, { row: row, table: table })) : !renderRowActionMenuItems &&
|
1127
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions ? (React__default["default"].createElement(React__default["default"].Fragment, null, renderRowActions({ cell, row, table }))) : row.id === (editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) && editingMode === 'row' ? (React__default["default"].createElement(MRT_EditActionButtons, { row: row, table: table })) : !renderRowActionMenuItems &&
|
1128
|
+
(enableEditing instanceof Function
|
1129
|
+
? enableEditing(row)
|
1130
|
+
: enableEditing) ? (React__default["default"].createElement(Tooltip__default["default"], { placement: "right", arrow: true, title: localization.edit },
|
1119
1131
|
React__default["default"].createElement(IconButton__default["default"], { "aria-label": localization.edit, sx: commonIconButtonStyles, onClick: handleStartEditMode },
|
1120
1132
|
React__default["default"].createElement(EditIcon, null)))) : renderRowActionMenuItems ? (React__default["default"].createElement(React__default["default"].Fragment, null,
|
1121
1133
|
React__default["default"].createElement(Tooltip__default["default"], { arrow: true, enterDelay: 1000, enterNextDelay: 1000, title: localization.rowActions },
|
@@ -1542,7 +1554,7 @@ const MRT_TableHeadCellColumnActionsButton = ({ header, table, }) => {
|
|
1542
1554
|
const iconButtonProps = Object.assign(Object.assign({}, mTableHeadCellColumnActionsButtonProps), mcTableHeadCellColumnActionsButtonProps);
|
1543
1555
|
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
1544
1556
|
React__default["default"].createElement(Tooltip__default["default"], { arrow: true, enterDelay: 1000, enterNextDelay: 1000, placement: "top", title: (_a = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.title) !== null && _a !== void 0 ? _a : localization.columnActions },
|
1545
|
-
React__default["default"].createElement(IconButton__default["default"], Object.assign({ "aria-label": localization.columnActions, onClick: handleClick, size: "small" }, iconButtonProps, { sx: (theme) => (Object.assign({ height: '2rem', m: '-8px -4px', opacity: 0.5, transform: 'scale(0.85)', transition: 'opacity 150ms', width: '2rem', '&:hover': {
|
1557
|
+
React__default["default"].createElement(IconButton__default["default"], Object.assign({ "aria-label": localization.columnActions, onClick: handleClick, size: "small" }, iconButtonProps, { sx: (theme) => (Object.assign({ height: '2rem', m: '-8px -4px', opacity: 0.5, transform: 'scale(0.85) translateX(-4px)', transition: 'opacity 150ms', width: '2rem', '&:hover': {
|
1546
1558
|
opacity: 1,
|
1547
1559
|
} }, ((iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx) instanceof Function
|
1548
1560
|
? iconButtonProps.sx(theme)
|
@@ -1893,10 +1905,8 @@ const MRT_TableHeadCellGrabHandle = ({ column, table, tableHeadCellRef, }) => {
|
|
1893
1905
|
const MRT_TableHeadCellResizeHandle = ({ header, table }) => {
|
1894
1906
|
var _a;
|
1895
1907
|
const { getState, options: { columnResizeMode }, setColumnSizingInfo, } = table;
|
1896
|
-
const { density
|
1908
|
+
const { density } = getState();
|
1897
1909
|
const { column } = header;
|
1898
|
-
const { columnDef } = column;
|
1899
|
-
const { columnDefType } = columnDef;
|
1900
1910
|
return (React__default["default"].createElement(Box__default["default"], { onDoubleClick: () => {
|
1901
1911
|
setColumnSizingInfo((old) => (Object.assign(Object.assign({}, old), { isResizingColumn: false })));
|
1902
1912
|
column.resetSize();
|
@@ -1918,7 +1928,7 @@ const MRT_TableHeadCellResizeHandle = ({ header, table }) => {
|
|
1918
1928
|
React__default["default"].createElement(Divider__default["default"], { flexItem: true, orientation: "vertical", sx: {
|
1919
1929
|
borderRadius: '2px',
|
1920
1930
|
borderWidth: '2px',
|
1921
|
-
height:
|
1931
|
+
height: '24px',
|
1922
1932
|
touchAction: 'none',
|
1923
1933
|
transition: column.getIsResizing()
|
1924
1934
|
? undefined
|
@@ -2036,6 +2046,7 @@ const MRT_TableHeadCell = ({ header, table }) => {
|
|
2036
2046
|
? 2
|
2037
2047
|
: 1 }, getCommonCellStyles({
|
2038
2048
|
column,
|
2049
|
+
header,
|
2039
2050
|
table,
|
2040
2051
|
tableCellProps,
|
2041
2052
|
theme,
|
@@ -2111,7 +2122,7 @@ const MRT_TableHead = ({ table, virtualColumns, virtualPaddingLeft, virtualPaddi
|
|
2111
2122
|
};
|
2112
2123
|
|
2113
2124
|
const MRT_EditCellTextField = ({ cell, showLabel, table, }) => {
|
2114
|
-
var _a;
|
2125
|
+
var _a, _b;
|
2115
2126
|
const { getState, options: { muiTableBodyCellEditTextFieldProps }, refs: { editInputRefs }, setEditingCell, setEditingRow, } = table;
|
2116
2127
|
const { column, row } = cell;
|
2117
2128
|
const { columnDef } = column;
|
@@ -2129,6 +2140,7 @@ const MRT_EditCellTextField = ({ cell, showLabel, table, }) => {
|
|
2129
2140
|
})
|
2130
2141
|
: columnDef.muiTableBodyCellEditTextFieldProps;
|
2131
2142
|
const textFieldProps = Object.assign(Object.assign({}, mTableBodyCellEditTextFieldProps), mcTableBodyCellEditTextFieldProps);
|
2143
|
+
const isSelectEdit = columnDef.editVariant === 'select';
|
2132
2144
|
const saveRow = (newValue) => {
|
2133
2145
|
if (editingRow) {
|
2134
2146
|
setEditingRow(Object.assign(Object.assign({}, editingRow), { _valuesCache: Object.assign(Object.assign({}, editingRow._valuesCache), { [column.id]: newValue }) }));
|
@@ -2158,18 +2170,37 @@ const MRT_EditCellTextField = ({ cell, showLabel, table, }) => {
|
|
2158
2170
|
if (columnDef.Edit) {
|
2159
2171
|
return React__default["default"].createElement(React__default["default"].Fragment, null, (_a = columnDef.Edit) === null || _a === void 0 ? void 0 : _a.call(columnDef, { cell, column, row, table }));
|
2160
2172
|
}
|
2161
|
-
return (React__default["default"].createElement(TextField__default["default"], Object.assign({ disabled: columnDef.enableEditing
|
2173
|
+
return (React__default["default"].createElement(TextField__default["default"], Object.assign({ disabled: (columnDef.enableEditing instanceof Function
|
2174
|
+
? columnDef.enableEditing(row)
|
2175
|
+
: columnDef.enableEditing) === false, fullWidth: true, inputRef: (inputRef) => {
|
2162
2176
|
if (inputRef) {
|
2163
2177
|
editInputRefs.current[column.id] = inputRef;
|
2164
2178
|
if (textFieldProps.inputRef) {
|
2165
2179
|
textFieldProps.inputRef = inputRef;
|
2166
2180
|
}
|
2167
2181
|
}
|
2168
|
-
}, label: showLabel ? column.columnDef.header : undefined, margin: "none", name: column.id, placeholder: columnDef.header, value: value, variant: "standard" }, textFieldProps, { onClick: (e) => {
|
2182
|
+
}, label: showLabel ? column.columnDef.header : undefined, margin: "none", name: column.id, placeholder: columnDef.header, select: isSelectEdit, value: value, variant: "standard" }, textFieldProps, { onClick: (e) => {
|
2169
2183
|
var _a;
|
2170
2184
|
e.stopPropagation();
|
2171
2185
|
(_a = textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.onClick) === null || _a === void 0 ? void 0 : _a.call(textFieldProps, e);
|
2172
|
-
}, onBlur: handleBlur, onChange: handleChange, onKeyDown: handleEnterKeyDown })))
|
2186
|
+
}, onBlur: handleBlur, onChange: handleChange, onKeyDown: handleEnterKeyDown }), (_b = columnDef === null || columnDef === void 0 ? void 0 : columnDef.editSelectOptions) === null || _b === void 0 ? void 0 : _b.map((option) => {
|
2187
|
+
let value;
|
2188
|
+
let text;
|
2189
|
+
if (typeof option !== 'object') {
|
2190
|
+
value = option;
|
2191
|
+
text = option;
|
2192
|
+
}
|
2193
|
+
else {
|
2194
|
+
value = option.value;
|
2195
|
+
text = option.text;
|
2196
|
+
}
|
2197
|
+
return (React__default["default"].createElement(MenuItem__default["default"], { key: value, sx: {
|
2198
|
+
display: 'flex',
|
2199
|
+
m: 0,
|
2200
|
+
alignItems: 'center',
|
2201
|
+
gap: '0.5rem',
|
2202
|
+
}, value: value }, text));
|
2203
|
+
})));
|
2173
2204
|
};
|
2174
2205
|
|
2175
2206
|
const MRT_CopyButton = ({ cell, children, table, }) => {
|
@@ -2253,6 +2284,7 @@ const MRT_TableBodyCellValue = ({ cell, table }) => {
|
|
2253
2284
|
renderedCellValue = cell.renderValue();
|
2254
2285
|
}
|
2255
2286
|
if (enableFilterMatchHighlighting &&
|
2287
|
+
columnDef.enableFilterMatchHighlighting !== false &&
|
2256
2288
|
renderedCellValue &&
|
2257
2289
|
allowedTypes.includes(typeof renderedCellValue) &&
|
2258
2290
|
((filterValue &&
|
@@ -2289,7 +2321,7 @@ const MRT_TableBodyCellValue = ({ cell, table }) => {
|
|
2289
2321
|
};
|
2290
2322
|
|
2291
2323
|
const MRT_TableBodyCell = ({ cell, enableHover, measureElement, numRows, rowIndex, rowRef, table, virtualCell, }) => {
|
2292
|
-
var _a, _b;
|
2324
|
+
var _a, _b, _c, _d;
|
2293
2325
|
const theme = styles.useTheme();
|
2294
2326
|
const { getState, options: { editingMode, enableClickToCopy, enableColumnOrdering, enableEditing, enableGrouping, enableRowNumbers, layoutMode, muiTableBodyCellProps, muiTableBodyCellSkeletonProps, rowNumberMode, }, refs: { editInputRefs }, setEditingCell, setHoveredColumn, } = table;
|
2295
2327
|
const { draggingColumn, draggingRow, editingCell, editingRow, hoveredColumn, hoveredRow, density, isLoading, showSkeletons, } = getState();
|
@@ -2345,8 +2377,10 @@ const MRT_TableBodyCell = ({ cell, enableHover, measureElement, numRows, rowInde
|
|
2345
2377
|
}
|
2346
2378
|
: undefined;
|
2347
2379
|
}, [draggingColumn, draggingRow, hoveredColumn, hoveredRow, rowIndex]);
|
2348
|
-
const isEditable = (enableEditing
|
2349
|
-
columnDef.enableEditing
|
2380
|
+
const isEditable = (enableEditing instanceof Function ? enableEditing(row) : enableEditing) &&
|
2381
|
+
(columnDef.enableEditing instanceof Function
|
2382
|
+
? columnDef.enableEditing(row)
|
2383
|
+
: columnDef.enableEditing) !== false;
|
2350
2384
|
const isEditing = isEditable &&
|
2351
2385
|
editingMode !== 'modal' &&
|
2352
2386
|
(editingMode === 'table' ||
|
@@ -2356,9 +2390,7 @@ const MRT_TableBodyCell = ({ cell, enableHover, measureElement, numRows, rowInde
|
|
2356
2390
|
const handleDoubleClick = (event) => {
|
2357
2391
|
var _a;
|
2358
2392
|
(_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onDoubleClick) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, event);
|
2359
|
-
if (
|
2360
|
-
columnDef.enableEditing !== false &&
|
2361
|
-
editingMode === 'cell') {
|
2393
|
+
if (isEditable && editingMode === 'cell') {
|
2362
2394
|
setEditingCell(cell);
|
2363
2395
|
queueMicrotask(() => {
|
2364
2396
|
var _a;
|
@@ -2403,8 +2435,7 @@ const MRT_TableBodyCell = ({ cell, enableHover, measureElement, numRows, rowInde
|
|
2403
2435
|
: 1.25)}rem`
|
2404
2436
|
: undefined, textOverflow: columnDefType !== 'display' ? 'ellipsis' : undefined, whiteSpace: density === 'compact' ? 'nowrap' : 'normal', zIndex: (draggingColumn === null || draggingColumn === void 0 ? void 0 : draggingColumn.id) === column.id ? 2 : column.getIsPinned() ? 1 : 0, '&:hover': {
|
2405
2437
|
backgroundColor: enableHover &&
|
2406
|
-
|
2407
|
-
columnDef.enableEditing !== false &&
|
2438
|
+
isEditable &&
|
2408
2439
|
['table', 'cell'].includes(editingMode !== null && editingMode !== void 0 ? editingMode : '')
|
2409
2440
|
? theme.palette.mode === 'dark'
|
2410
2441
|
? `${styles.lighten(theme.palette.background.default, 0.2)} !important`
|
@@ -2416,12 +2447,12 @@ const MRT_TableBodyCell = ({ cell, enableHover, measureElement, numRows, rowInde
|
|
2416
2447
|
theme,
|
2417
2448
|
tableCellProps,
|
2418
2449
|
})), draggingBorders)) }),
|
2419
|
-
React__default["default"].createElement(React__default["default"].Fragment, null, cell.getIsPlaceholder() ? null : isLoading || showSkeletons ? (React__default["default"].createElement(Skeleton__default["default"], Object.assign({ animation: "wave", height: 20, width: skeletonWidth }, skeletonProps))) : enableRowNumbers &&
|
2450
|
+
React__default["default"].createElement(React__default["default"].Fragment, null, cell.getIsPlaceholder() ? ((_b = (_a = columnDef.PlaceholderCell) === null || _a === void 0 ? void 0 : _a.call(columnDef, { cell, column, row, table })) !== null && _b !== void 0 ? _b : null) : isLoading || showSkeletons ? (React__default["default"].createElement(Skeleton__default["default"], Object.assign({ animation: "wave", height: 20, width: skeletonWidth }, skeletonProps))) : enableRowNumbers &&
|
2420
2451
|
rowNumberMode === 'static' &&
|
2421
2452
|
column.id === 'mrt-row-numbers' ? (rowIndex + 1) : column.id === 'mrt-row-drag' ? (React__default["default"].createElement(MRT_TableBodyRowGrabHandle, { cell: cell, rowRef: rowRef, table: table })) : columnDefType === 'display' &&
|
2422
2453
|
(column.id === 'mrt-row-select' ||
|
2423
2454
|
column.id === 'mrt-row-expand' ||
|
2424
|
-
!row.getIsGrouped()) ? ((
|
2455
|
+
!row.getIsGrouped()) ? ((_c = columnDef.Cell) === null || _c === void 0 ? void 0 : _c.call(columnDef, {
|
2425
2456
|
cell,
|
2426
2457
|
renderedCellValue: cell.renderValue(),
|
2427
2458
|
column,
|
@@ -2431,8 +2462,8 @@ const MRT_TableBodyCell = ({ cell, enableHover, measureElement, numRows, rowInde
|
|
2431
2462
|
columnDef.enableClickToCopy !== false ? (React__default["default"].createElement(MRT_CopyButton, { cell: cell, table: table },
|
2432
2463
|
React__default["default"].createElement(MRT_TableBodyCellValue, { cell: cell, table: table }))) : (React__default["default"].createElement(MRT_TableBodyCellValue, { cell: cell, table: table }))),
|
2433
2464
|
cell.getIsGrouped() && !columnDef.GroupedCell && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
2434
|
-
" (", (
|
2435
|
-
|
2465
|
+
" (", (_d = row.subRows) === null || _d === void 0 ? void 0 :
|
2466
|
+
_d.length,
|
2436
2467
|
")"))));
|
2437
2468
|
};
|
2438
2469
|
const Memo_MRT_TableBodyCell = React.memo(MRT_TableBodyCell, (prev, next) => next.cell === prev.cell);
|
@@ -2710,8 +2741,10 @@ const MRT_Table = ({ table }) => {
|
|
2710
2741
|
const headers = getFlatHeaders();
|
2711
2742
|
const colSizes = {};
|
2712
2743
|
for (let i = 0; i < headers.length; i++) {
|
2713
|
-
const
|
2714
|
-
|
2744
|
+
const header = headers[i];
|
2745
|
+
const colSize = header.getSize();
|
2746
|
+
colSizes[`--header-${parseCSSVarId(header.id)}-size`] = colSize;
|
2747
|
+
colSizes[`--col-${parseCSSVarId(header.column.id)}-size`] = colSize;
|
2715
2748
|
}
|
2716
2749
|
return colSizes;
|
2717
2750
|
}, [columns, columnSizing, columnSizingInfo]);
|
@@ -2861,7 +2894,7 @@ const MRT_EditRowModal = ({ open, row, table, }) => {
|
|
2861
2894
|
};
|
2862
2895
|
|
2863
2896
|
const MRT_TableRoot = (props) => {
|
2864
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11;
|
2897
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13;
|
2865
2898
|
const bottomToolbarRef = React.useRef(null);
|
2866
2899
|
const editInputRefs = React.useRef({});
|
2867
2900
|
const filterInputRefs = React.useRef({});
|
@@ -2902,18 +2935,18 @@ const MRT_TableRoot = (props) => {
|
|
2902
2935
|
const [showGlobalFilter, setShowGlobalFilter] = React.useState((_q = initialState === null || initialState === void 0 ? void 0 : initialState.showGlobalFilter) !== null && _q !== void 0 ? _q : false);
|
2903
2936
|
const [showToolbarDropZone, setShowToolbarDropZone] = React.useState((_r = initialState === null || initialState === void 0 ? void 0 : initialState.showToolbarDropZone) !== null && _r !== void 0 ? _r : false);
|
2904
2937
|
const displayColumns = React.useMemo(() => {
|
2905
|
-
var _a, _b, _c, _d, _e;
|
2938
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
|
2906
2939
|
return [
|
2907
|
-
columnOrder.includes('mrt-row-drag') && Object.assign(Object.assign(Object.assign({ header: props.localization.move, size: 60 }, props.defaultDisplayColumn), (
|
2908
|
-
columnOrder.includes('mrt-row-actions') && Object.assign(Object.assign(Object.assign({ Cell: ({ cell, row }) => (React__default["default"].createElement(MRT_ToggleRowActionMenuButton, { cell: cell, row: row, table: table })), header: props.localization.actions, size: 70 }, props.defaultDisplayColumn), (
|
2909
|
-
columnOrder.includes('mrt-row-expand') &&
|
2910
|
-
showExpandColumn(props, grouping) && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React__default["default"].createElement(MRT_ExpandButton, { row: row, table: table })), Header: props.enableExpandAll
|
2940
|
+
((_b = (_a = props.state) === null || _a === void 0 ? void 0 : _a.columnOrder) !== null && _b !== void 0 ? _b : columnOrder).includes('mrt-row-drag') && Object.assign(Object.assign(Object.assign({ header: props.localization.move, size: 60 }, props.defaultDisplayColumn), (_c = props.displayColumnDefOptions) === null || _c === void 0 ? void 0 : _c['mrt-row-drag']), { id: 'mrt-row-drag' }),
|
2941
|
+
((_e = (_d = props.state) === null || _d === void 0 ? void 0 : _d.columnOrder) !== null && _e !== void 0 ? _e : columnOrder).includes('mrt-row-actions') && Object.assign(Object.assign(Object.assign({ Cell: ({ cell, row }) => (React__default["default"].createElement(MRT_ToggleRowActionMenuButton, { cell: cell, row: row, table: table })), header: props.localization.actions, size: 70 }, props.defaultDisplayColumn), (_f = props.displayColumnDefOptions) === null || _f === void 0 ? void 0 : _f['mrt-row-actions']), { id: 'mrt-row-actions' }),
|
2942
|
+
((_h = (_g = props.state) === null || _g === void 0 ? void 0 : _g.columnOrder) !== null && _h !== void 0 ? _h : columnOrder).includes('mrt-row-expand') &&
|
2943
|
+
showExpandColumn(props, (_k = (_j = props.state) === null || _j === void 0 ? void 0 : _j.grouping) !== null && _k !== void 0 ? _k : grouping) && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React__default["default"].createElement(MRT_ExpandButton, { row: row, table: table })), Header: props.enableExpandAll
|
2911
2944
|
? () => React__default["default"].createElement(MRT_ExpandAllButton, { table: table })
|
2912
|
-
: null, header: props.localization.expand, size: 60 }, props.defaultDisplayColumn), (
|
2913
|
-
columnOrder.includes('mrt-row-select') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React__default["default"].createElement(MRT_SelectCheckbox, { row: row, table: table })), Header: props.enableSelectAll && props.enableMultiRowSelection
|
2945
|
+
: null, header: props.localization.expand, size: 60 }, props.defaultDisplayColumn), (_l = props.displayColumnDefOptions) === null || _l === void 0 ? void 0 : _l['mrt-row-expand']), { id: 'mrt-row-expand' }),
|
2946
|
+
((_o = (_m = props.state) === null || _m === void 0 ? void 0 : _m.columnOrder) !== null && _o !== void 0 ? _o : columnOrder).includes('mrt-row-select') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React__default["default"].createElement(MRT_SelectCheckbox, { row: row, table: table })), Header: props.enableSelectAll && props.enableMultiRowSelection
|
2914
2947
|
? () => React__default["default"].createElement(MRT_SelectCheckbox, { selectAll: true, table: table })
|
2915
|
-
: null, header: props.localization.select, size: 60 }, props.defaultDisplayColumn), (
|
2916
|
-
columnOrder.includes('mrt-row-numbers') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => row.index + 1, Header: () => props.localization.rowNumber, header: props.localization.rowNumbers, size: 60 }, props.defaultDisplayColumn), (
|
2948
|
+
: null, header: props.localization.select, size: 60 }, props.defaultDisplayColumn), (_p = props.displayColumnDefOptions) === null || _p === void 0 ? void 0 : _p['mrt-row-select']), { id: 'mrt-row-select' }),
|
2949
|
+
((_r = (_q = props.state) === null || _q === void 0 ? void 0 : _q.columnOrder) !== null && _r !== void 0 ? _r : columnOrder).includes('mrt-row-numbers') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => row.index + 1, Header: () => props.localization.rowNumber, header: props.localization.rowNumbers, size: 60 }, props.defaultDisplayColumn), (_s = props.displayColumnDefOptions) === null || _s === void 0 ? void 0 : _s['mrt-row-numbers']), { id: 'mrt-row-numbers' }),
|
2917
2950
|
].filter(Boolean);
|
2918
2951
|
}, [
|
2919
2952
|
columnOrder,
|
@@ -2936,6 +2969,8 @@ const MRT_TableRoot = (props) => {
|
|
2936
2969
|
props.localization,
|
2937
2970
|
props.positionActionsColumn,
|
2938
2971
|
props.renderDetailPanel,
|
2972
|
+
(_s = props.state) === null || _s === void 0 ? void 0 : _s.columnOrder,
|
2973
|
+
(_t = props.state) === null || _t === void 0 ? void 0 : _t.grouping,
|
2939
2974
|
]);
|
2940
2975
|
const columnDefs = React.useMemo(() => {
|
2941
2976
|
var _a, _b, _c;
|
@@ -2951,7 +2986,7 @@ const MRT_TableRoot = (props) => {
|
|
2951
2986
|
columnFilterFns,
|
2952
2987
|
displayColumns,
|
2953
2988
|
props.columns,
|
2954
|
-
(
|
2989
|
+
(_u = props.state) === null || _u === void 0 ? void 0 : _u.columnFilterFns,
|
2955
2990
|
]);
|
2956
2991
|
const data = React.useMemo(() => {
|
2957
2992
|
var _a, _b, _c, _d, _e;
|
@@ -2965,11 +3000,11 @@ const MRT_TableRoot = (props) => {
|
|
2965
3000
|
[getColumnId(col)]: null,
|
2966
3001
|
}))))
|
2967
3002
|
: props.data;
|
2968
|
-
}, [props.data, (
|
3003
|
+
}, [props.data, (_v = props.state) === null || _v === void 0 ? void 0 : _v.isLoading, (_w = props.state) === null || _w === void 0 ? void 0 : _w.showSkeletons]);
|
2969
3004
|
//@ts-ignore
|
2970
3005
|
const table = Object.assign(Object.assign({}, reactTable.useReactTable(Object.assign(Object.assign({ getCoreRowModel: reactTable.getCoreRowModel(), getExpandedRowModel: reactTable.getExpandedRowModel(), getFacetedRowModel: reactTable.getFacetedRowModel(), getFilteredRowModel: reactTable.getFilteredRowModel(), getGroupedRowModel: reactTable.getGroupedRowModel(), getPaginationRowModel: reactTable.getPaginationRowModel(), getSortedRowModel: reactTable.getSortedRowModel(), onColumnOrderChange: setColumnOrder, onGroupingChange: setGrouping, getSubRows: (row) => row === null || row === void 0 ? void 0 : row.subRows }, props), {
|
2971
3006
|
//@ts-ignore
|
2972
|
-
columns: columnDefs, data, globalFilterFn: (
|
3007
|
+
columns: columnDefs, data, globalFilterFn: (_y = (_x = props.filterFns) === null || _x === void 0 ? void 0 : _x[globalFilterFn]) !== null && _y !== void 0 ? _y : (_z = props.filterFns) === null || _z === void 0 ? void 0 : _z.fuzzy, initialState, state: Object.assign({ columnFilterFns,
|
2973
3008
|
columnOrder,
|
2974
3009
|
density,
|
2975
3010
|
draggingColumn,
|
@@ -2993,7 +3028,7 @@ const MRT_TableRoot = (props) => {
|
|
2993
3028
|
tableHeadCellRefs,
|
2994
3029
|
tablePaperRef,
|
2995
3030
|
topToolbarRef,
|
2996
|
-
}, setColumnFilterFns: (
|
3031
|
+
}, setColumnFilterFns: (_0 = props.onColumnFilterFnsChange) !== null && _0 !== void 0 ? _0 : setColumnFilterFns, setDensity: (_1 = props.onDensityChange) !== null && _1 !== void 0 ? _1 : setDensity, setDraggingColumn: (_2 = props.onDraggingColumnChange) !== null && _2 !== void 0 ? _2 : setDraggingColumn, setDraggingRow: (_3 = props.onDraggingRowChange) !== null && _3 !== void 0 ? _3 : setDraggingRow, setEditingCell: (_4 = props.onEditingCellChange) !== null && _4 !== void 0 ? _4 : setEditingCell, setEditingRow: (_5 = props.onEditingRowChange) !== null && _5 !== void 0 ? _5 : setEditingRow, setGlobalFilterFn: (_6 = props.onGlobalFilterFnChange) !== null && _6 !== void 0 ? _6 : setGlobalFilterFn, setHoveredColumn: (_7 = props.onHoveredColumnChange) !== null && _7 !== void 0 ? _7 : setHoveredColumn, setHoveredRow: (_8 = props.onHoveredRowChange) !== null && _8 !== void 0 ? _8 : setHoveredRow, setIsFullScreen: (_9 = props.onIsFullScreenChange) !== null && _9 !== void 0 ? _9 : setIsFullScreen, setShowAlertBanner: (_10 = props.onShowAlertBannerChange) !== null && _10 !== void 0 ? _10 : setShowAlertBanner, setShowFilters: (_11 = props.onShowFiltersChange) !== null && _11 !== void 0 ? _11 : setShowFilters, setShowGlobalFilter: (_12 = props.onShowGlobalFilterChange) !== null && _12 !== void 0 ? _12 : setShowGlobalFilter, setShowToolbarDropZone: (_13 = props.onShowToolbarDropZoneChange) !== null && _13 !== void 0 ? _13 : setShowToolbarDropZone });
|
2997
3032
|
if (props.tableInstanceRef) {
|
2998
3033
|
props.tableInstanceRef.current = table;
|
2999
3034
|
}
|
@@ -3140,13 +3175,16 @@ const MaterialReactTable = (_a) => {
|
|
3140
3175
|
return (React__default["default"].createElement(MRT_TableRoot, Object.assign({ aggregationFns: _aggregationFns, autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: _defaultColumn, defaultDisplayColumn: _defaultDisplayColumn, editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilterMatchHighlighting: enableFilterMatchHighlighting, enableFilters: enableFilters, enableFullScreenToggle: enableFullScreenToggle, enableGlobalFilter: enableGlobalFilter, enableGlobalFilterRankedResults: enableGlobalFilterRankedResults, enableGrouping: enableGrouping, enableHiding: enableHiding, enableMultiRowSelection: enableMultiRowSelection, enableMultiSort: enableMultiSort, enablePagination: enablePagination, enablePinning: enablePinning, enableRowSelection: enableRowSelection, enableSelectAll: enableSelectAll, enableSorting: enableSorting, enableStickyHeader: enableStickyHeader, enableTableFooter: enableTableFooter, enableTableHead: enableTableHead, enableToolbarInternalActions: enableToolbarInternalActions, enableTopToolbar: enableTopToolbar, filterFns: _filterFns, icons: _icons, layoutMode: layoutMode, localization: _localization, manualFiltering: manualFiltering, manualGrouping: manualGrouping, manualPagination: manualPagination, manualSorting: manualSorting, positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: _sortingFns }, rest)));
|
3141
3176
|
};
|
3142
3177
|
|
3178
|
+
exports.MRT_AggregationFns = MRT_AggregationFns;
|
3143
3179
|
exports.MRT_BottomToolbar = MRT_BottomToolbar;
|
3144
3180
|
exports.MRT_CopyButton = MRT_CopyButton;
|
3145
3181
|
exports.MRT_EditActionButtons = MRT_EditActionButtons;
|
3182
|
+
exports.MRT_FilterFns = MRT_FilterFns;
|
3146
3183
|
exports.MRT_FilterOptionMenu = MRT_FilterOptionMenu;
|
3147
3184
|
exports.MRT_FullScreenToggleButton = MRT_FullScreenToggleButton;
|
3148
3185
|
exports.MRT_GlobalFilterTextField = MRT_GlobalFilterTextField;
|
3149
3186
|
exports.MRT_ShowHideColumnsButton = MRT_ShowHideColumnsButton;
|
3187
|
+
exports.MRT_SortingFns = MRT_SortingFns;
|
3150
3188
|
exports.MRT_TablePagination = MRT_TablePagination;
|
3151
3189
|
exports.MRT_ToggleDensePaddingButton = MRT_ToggleDensePaddingButton;
|
3152
3190
|
exports.MRT_ToggleFiltersButton = MRT_ToggleFiltersButton;
|