material-react-table 1.9.4 → 1.11.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/dist/cjs/index.js +216 -215
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/MaterialReactTable.d.ts +4 -0
- package/dist/cjs/types/_locales/fi.d.ts +2 -0
- package/dist/cjs/types/_locales/id.d.ts +2 -0
- package/dist/cjs/types/body/MRT_TableDetailPanel.d.ts +2 -1
- package/dist/cjs/types/column.utils.d.ts +1 -1
- package/dist/cjs/types/menus/MRT_ShowHideColumnsMenu.d.ts +1 -1
- package/dist/cjs/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +1 -2
- package/dist/esm/material-react-table.esm.js +213 -212
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/types/MaterialReactTable.d.ts +4 -0
- package/dist/esm/types/_locales/fi.d.ts +2 -0
- package/dist/esm/types/_locales/id.d.ts +2 -0
- package/dist/esm/types/body/MRT_TableDetailPanel.d.ts +2 -1
- package/dist/esm/types/column.utils.d.ts +1 -1
- package/dist/esm/types/menus/MRT_ShowHideColumnsMenu.d.ts +1 -1
- package/dist/esm/types/menus/MRT_ShowHideColumnsMenuItems.d.ts +1 -2
- package/dist/index.d.ts +4 -0
- package/locales/fi.d.ts +2 -0
- package/locales/fi.esm.d.ts +2 -0
- package/locales/fi.esm.js +94 -0
- package/locales/fi.esm.js.map +1 -0
- package/locales/fi.js +98 -0
- package/locales/fi.js.map +1 -0
- package/locales/id.d.ts +2 -0
- package/locales/id.esm.d.ts +2 -0
- package/locales/id.esm.js +94 -0
- package/locales/id.esm.js.map +1 -0
- package/locales/id.js +98 -0
- package/locales/id.js.map +1 -0
- package/package.json +10 -8
- package/src/MaterialReactTable.tsx +4 -0
- package/src/_locales/fi.ts +94 -0
- package/src/_locales/id.ts +95 -0
- package/src/body/MRT_TableBody.tsx +22 -17
- package/src/body/MRT_TableBodyRow.tsx +2 -1
- package/src/body/MRT_TableDetailPanel.tsx +3 -1
- package/src/column.utils.ts +95 -83
- package/src/head/MRT_TableHeadCell.tsx +2 -2
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +1 -1
- package/src/menus/MRT_ColumnActionMenu.tsx +3 -26
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +4 -6
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +3 -8
- package/src/toolbar/MRT_ToolbarDropZone.tsx +1 -0
package/dist/cjs/index.js
CHANGED
@@ -43,10 +43,6 @@ var ListItemIcon = require('@mui/material/ListItemIcon');
|
|
43
43
|
var Menu = require('@mui/material/Menu');
|
44
44
|
var MenuItem = require('@mui/material/MenuItem');
|
45
45
|
var Button = require('@mui/material/Button');
|
46
|
-
var Divider = require('@mui/material/Divider');
|
47
|
-
var FormControlLabel = require('@mui/material/FormControlLabel');
|
48
|
-
var Switch = require('@mui/material/Switch');
|
49
|
-
var Typography = require('@mui/material/Typography');
|
50
46
|
var Checkbox = require('@mui/material/Checkbox');
|
51
47
|
var Radio = require('@mui/material/Radio');
|
52
48
|
var Paper = require('@mui/material/Paper');
|
@@ -61,6 +57,10 @@ var TablePagination = require('@mui/material/TablePagination');
|
|
61
57
|
var Alert = require('@mui/material/Alert');
|
62
58
|
var AlertTitle = require('@mui/material/AlertTitle');
|
63
59
|
var Chip = require('@mui/material/Chip');
|
60
|
+
var Divider = require('@mui/material/Divider');
|
61
|
+
var FormControlLabel = require('@mui/material/FormControlLabel');
|
62
|
+
var Switch = require('@mui/material/Switch');
|
63
|
+
var Typography = require('@mui/material/Typography');
|
64
64
|
var Fade = require('@mui/material/Fade');
|
65
65
|
var TableContainer = require('@mui/material/TableContainer');
|
66
66
|
var reactVirtual = require('@tanstack/react-virtual');
|
@@ -119,10 +119,6 @@ var ListItemIcon__default = /*#__PURE__*/_interopDefaultLegacy(ListItemIcon);
|
|
119
119
|
var Menu__default = /*#__PURE__*/_interopDefaultLegacy(Menu);
|
120
120
|
var MenuItem__default = /*#__PURE__*/_interopDefaultLegacy(MenuItem);
|
121
121
|
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
122
|
-
var Divider__default = /*#__PURE__*/_interopDefaultLegacy(Divider);
|
123
|
-
var FormControlLabel__default = /*#__PURE__*/_interopDefaultLegacy(FormControlLabel);
|
124
|
-
var Switch__default = /*#__PURE__*/_interopDefaultLegacy(Switch);
|
125
|
-
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
126
122
|
var Checkbox__default = /*#__PURE__*/_interopDefaultLegacy(Checkbox);
|
127
123
|
var Radio__default = /*#__PURE__*/_interopDefaultLegacy(Radio);
|
128
124
|
var Paper__default = /*#__PURE__*/_interopDefaultLegacy(Paper);
|
@@ -136,6 +132,10 @@ var TablePagination__default = /*#__PURE__*/_interopDefaultLegacy(TablePaginatio
|
|
136
132
|
var Alert__default = /*#__PURE__*/_interopDefaultLegacy(Alert);
|
137
133
|
var AlertTitle__default = /*#__PURE__*/_interopDefaultLegacy(AlertTitle);
|
138
134
|
var Chip__default = /*#__PURE__*/_interopDefaultLegacy(Chip);
|
135
|
+
var Divider__default = /*#__PURE__*/_interopDefaultLegacy(Divider);
|
136
|
+
var FormControlLabel__default = /*#__PURE__*/_interopDefaultLegacy(FormControlLabel);
|
137
|
+
var Switch__default = /*#__PURE__*/_interopDefaultLegacy(Switch);
|
138
|
+
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
139
139
|
var Fade__default = /*#__PURE__*/_interopDefaultLegacy(Fade);
|
140
140
|
var TableContainer__default = /*#__PURE__*/_interopDefaultLegacy(TableContainer);
|
141
141
|
var Table__default = /*#__PURE__*/_interopDefaultLegacy(Table);
|
@@ -278,13 +278,17 @@ const getTrailingDisplayColumnIds = (props) => {
|
|
278
278
|
props.positionExpandColumn === 'last' &&
|
279
279
|
showExpandColumn(props) &&
|
280
280
|
'mrt-row-expand',
|
281
|
-
];
|
281
|
+
].filter(Boolean);
|
282
|
+
};
|
283
|
+
const getDefaultColumnOrderIds = (props) => {
|
284
|
+
const leadingDisplayCols = getLeadingDisplayColumnIds(props);
|
285
|
+
const trailingDisplayCols = getTrailingDisplayColumnIds(props);
|
286
|
+
const allLeafColumnDefs = getAllLeafColumnDefs(props.columns)
|
287
|
+
.map((columnDef) => getColumnId(columnDef))
|
288
|
+
.filter((columnId) => !leadingDisplayCols.includes(columnId) &&
|
289
|
+
!trailingDisplayCols.includes(columnId));
|
290
|
+
return [...leadingDisplayCols, ...allLeafColumnDefs, ...trailingDisplayCols];
|
282
291
|
};
|
283
|
-
const getDefaultColumnOrderIds = (props) => [
|
284
|
-
...getLeadingDisplayColumnIds(props),
|
285
|
-
...getAllLeafColumnDefs(props.columns).map((columnDef) => getColumnId(columnDef)),
|
286
|
-
...getTrailingDisplayColumnIds(props),
|
287
|
-
].filter(Boolean);
|
288
292
|
const getDefaultColumnFilterFn = (columnDef) => {
|
289
293
|
if (columnDef.filterVariant === 'multi-select')
|
290
294
|
return 'arrIncludesSome';
|
@@ -314,28 +318,33 @@ const getTotalRight = (table, column) => {
|
|
314
318
|
};
|
315
319
|
const getCommonCellStyles = ({ column, header, table, tableCellProps, theme, }) => {
|
316
320
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
317
|
-
|
321
|
+
const widthStyles = {
|
322
|
+
minWidth: `max(calc(var(--${header ? 'header' : 'col'}-${parseCSSVarId((_a = header === null || header === void 0 ? void 0 : header.id) !== null && _a !== void 0 ? _a : column.id)}-size) * 1px), ${(_b = column.columnDef.minSize) !== null && _b !== void 0 ? _b : 30}px)`,
|
323
|
+
width: `calc(var(--${header ? 'header' : 'col'}-${parseCSSVarId((_c = header === null || header === void 0 ? void 0 : header.id) !== null && _c !== void 0 ? _c : column.id)}-size) * 1px)`,
|
324
|
+
};
|
325
|
+
return Object.assign(Object.assign(Object.assign({ backgroundColor: column.getIsPinned() && column.columnDef.columnDefType !== 'group'
|
318
326
|
? styles.alpha(styles.lighten(theme.palette.background.default, 0.04), 0.97)
|
319
327
|
: 'inherit', backgroundImage: 'inherit', boxShadow: getIsLastLeftPinnedColumn(table, column)
|
320
328
|
? `-4px 0 8px -6px ${styles.alpha(theme.palette.common.black, 0.2)} inset`
|
321
329
|
: getIsFirstRightPinnedColumn(column)
|
322
330
|
? `4px 0 8px -6px ${styles.alpha(theme.palette.common.black, 0.2)} inset`
|
323
331
|
: undefined, display: table.options.layoutMode === 'grid' ? 'flex' : 'table-cell', flex: table.options.layoutMode === 'grid'
|
324
|
-
? `var(--${header ? 'header' : 'col'}-${parseCSSVarId((
|
332
|
+
? `var(--${header ? 'header' : 'col'}-${parseCSSVarId((_d = header === null || header === void 0 ? void 0 : header.id) !== null && _d !== void 0 ? _d : column.id)}-size) 0 auto`
|
325
333
|
: undefined, left: column.getIsPinned() === 'left'
|
326
334
|
? `${column.getStart('left')}px`
|
327
335
|
: undefined, ml: table.options.enableColumnVirtualization &&
|
328
336
|
column.getIsPinned() === 'left' &&
|
329
337
|
column.getPinnedIndex() === 0
|
330
|
-
? `-${column.getSize() *
|
338
|
+
? `-${column.getSize() *
|
339
|
+
((_f = (_e = table.getState().columnPinning.left) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 1)}px`
|
331
340
|
: undefined, mr: table.options.enableColumnVirtualization &&
|
332
341
|
column.getIsPinned() === 'right' &&
|
333
342
|
column.getPinnedIndex() === table.getVisibleLeafColumns().length - 1
|
334
343
|
? `-${column.getSize() *
|
335
|
-
((
|
344
|
+
((_h = (_g = table.getState().columnPinning.right) === null || _g === void 0 ? void 0 : _g.length) !== null && _h !== void 0 ? _h : 1) *
|
336
345
|
1.2}px`
|
337
|
-
: undefined, opacity: ((
|
338
|
-
((
|
346
|
+
: undefined, opacity: ((_j = table.getState().draggingColumn) === null || _j === void 0 ? void 0 : _j.id) === column.id ||
|
347
|
+
((_k = table.getState().hoveredColumn) === null || _k === void 0 ? void 0 : _k.id) === column.id
|
339
348
|
? 0.5
|
340
349
|
: 1, position: column.getIsPinned() && column.columnDef.columnDefType !== 'group'
|
341
350
|
? 'sticky'
|
@@ -343,9 +352,9 @@ const getCommonCellStyles = ({ column, header, table, tableCellProps, theme, })
|
|
343
352
|
? `${getTotalRight(table, column)}px`
|
344
353
|
: undefined, transition: table.options.enableColumnVirtualization
|
345
354
|
? 'none'
|
346
|
-
: `padding 150ms ease-in-out` }, ((tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx) instanceof Function
|
355
|
+
: `padding 150ms ease-in-out` }, (!table.options.enableColumnResizing && widthStyles)), ((tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx) instanceof Function
|
347
356
|
? tableCellProps.sx(theme)
|
348
|
-
: tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx)),
|
357
|
+
: tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.sx)), (table.options.enableColumnResizing && widthStyles));
|
349
358
|
};
|
350
359
|
const MRT_DefaultColumn = {
|
351
360
|
filterVariant: 'text',
|
@@ -738,168 +747,6 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, setFilt
|
|
738
747
|
label)))));
|
739
748
|
};
|
740
749
|
|
741
|
-
const MRT_ColumnPinningButtons = ({ column, table, }) => {
|
742
|
-
const { options: { icons: { PushPinIcon }, localization, }, } = table;
|
743
|
-
const handlePinColumn = (pinDirection) => {
|
744
|
-
column.pin(pinDirection);
|
745
|
-
};
|
746
|
-
return (React__default["default"].createElement(Box__default["default"], { sx: { minWidth: '70px', textAlign: 'center' } }, column.getIsPinned() ? (React__default["default"].createElement(Tooltip__default["default"], { arrow: true, title: localization.unpin },
|
747
|
-
React__default["default"].createElement(IconButton__default["default"], { onClick: () => handlePinColumn(false), size: "small" },
|
748
|
-
React__default["default"].createElement(PushPinIcon, null)))) : (React__default["default"].createElement(React__default["default"].Fragment, null,
|
749
|
-
React__default["default"].createElement(Tooltip__default["default"], { arrow: true, title: localization.pinToLeft },
|
750
|
-
React__default["default"].createElement(IconButton__default["default"], { onClick: () => handlePinColumn('left'), size: "small" },
|
751
|
-
React__default["default"].createElement(PushPinIcon, { style: {
|
752
|
-
transform: 'rotate(90deg)',
|
753
|
-
} }))),
|
754
|
-
React__default["default"].createElement(Tooltip__default["default"], { arrow: true, title: localization.pinToRight },
|
755
|
-
React__default["default"].createElement(IconButton__default["default"], { onClick: () => handlePinColumn('right'), size: "small" },
|
756
|
-
React__default["default"].createElement(PushPinIcon, { style: {
|
757
|
-
transform: 'rotate(-90deg)',
|
758
|
-
} })))))));
|
759
|
-
};
|
760
|
-
|
761
|
-
const MRT_GrabHandleButton = ({ iconButtonProps, onDragEnd, onDragStart, table, }) => {
|
762
|
-
var _a;
|
763
|
-
const { options: { icons: { DragHandleIcon }, localization, }, } = table;
|
764
|
-
return (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.move },
|
765
|
-
React__default["default"].createElement(IconButton__default["default"], Object.assign({ disableRipple: true, draggable: "true", size: "small" }, iconButtonProps, { onClick: (e) => {
|
766
|
-
var _a;
|
767
|
-
e.stopPropagation();
|
768
|
-
(_a = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.onClick) === null || _a === void 0 ? void 0 : _a.call(iconButtonProps, e);
|
769
|
-
}, onDragStart: onDragStart, onDragEnd: onDragEnd, sx: (theme) => (Object.assign({ cursor: 'grab', m: '0 -0.1rem', opacity: 0.5, p: '2px', transition: 'all 150ms ease-in-out', '&:hover': {
|
770
|
-
backgroundColor: 'transparent',
|
771
|
-
opacity: 1,
|
772
|
-
}, '&:active': {
|
773
|
-
cursor: 'grabbing',
|
774
|
-
} }, ((iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx) instanceof Function
|
775
|
-
? iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx(theme)
|
776
|
-
: iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx))), title: undefined }),
|
777
|
-
React__default["default"].createElement(DragHandleIcon, null))));
|
778
|
-
};
|
779
|
-
|
780
|
-
const MRT_ShowHideColumnsMenuItems = ({ allColumns, hoveredColumn, setHoveredColumn, column, isSubMenu, table, }) => {
|
781
|
-
var _a;
|
782
|
-
const { getState, options: { enableColumnOrdering, enableHiding, enablePinning, localization, }, setColumnOrder, } = table;
|
783
|
-
const { columnOrder } = getState();
|
784
|
-
const { columnDef } = column;
|
785
|
-
const { columnDefType } = columnDef;
|
786
|
-
const switchChecked = (columnDefType !== 'group' && column.getIsVisible()) ||
|
787
|
-
(columnDefType === 'group' &&
|
788
|
-
column.getLeafColumns().some((col) => col.getIsVisible()));
|
789
|
-
const handleToggleColumnHidden = (column) => {
|
790
|
-
var _a, _b;
|
791
|
-
if (columnDefType === 'group') {
|
792
|
-
(_b = (_a = column === null || column === void 0 ? void 0 : column.columns) === null || _a === void 0 ? void 0 : _a.forEach) === null || _b === void 0 ? void 0 : _b.call(_a, (childColumn) => {
|
793
|
-
childColumn.toggleVisibility(!switchChecked);
|
794
|
-
});
|
795
|
-
}
|
796
|
-
else {
|
797
|
-
column.toggleVisibility();
|
798
|
-
}
|
799
|
-
};
|
800
|
-
const menuItemRef = React.useRef(null);
|
801
|
-
const [isDragging, setIsDragging] = React.useState(false);
|
802
|
-
const handleDragStart = (e) => {
|
803
|
-
setIsDragging(true);
|
804
|
-
e.dataTransfer.setDragImage(menuItemRef.current, 0, 0);
|
805
|
-
};
|
806
|
-
const handleDragEnd = (_e) => {
|
807
|
-
setIsDragging(false);
|
808
|
-
setHoveredColumn(null);
|
809
|
-
if (hoveredColumn) {
|
810
|
-
setColumnOrder(reorderColumn(column, hoveredColumn, columnOrder));
|
811
|
-
}
|
812
|
-
};
|
813
|
-
const handleDragEnter = (_e) => {
|
814
|
-
if (!isDragging && columnDef.enableColumnOrdering !== false) {
|
815
|
-
setHoveredColumn(column);
|
816
|
-
}
|
817
|
-
};
|
818
|
-
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
819
|
-
React__default["default"].createElement(MenuItem__default["default"], { disableRipple: true, ref: menuItemRef, onDragEnter: handleDragEnter, sx: (theme) => ({
|
820
|
-
alignItems: 'center',
|
821
|
-
justifyContent: 'flex-start',
|
822
|
-
my: 0,
|
823
|
-
opacity: isDragging ? 0.5 : 1,
|
824
|
-
outlineOffset: '-2px',
|
825
|
-
outline: isDragging
|
826
|
-
? `2px dashed ${theme.palette.divider}`
|
827
|
-
: (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === column.id
|
828
|
-
? `2px dashed ${theme.palette.primary.main}`
|
829
|
-
: 'none',
|
830
|
-
pl: `${(column.depth + 0.5) * 2}rem`,
|
831
|
-
py: '6px',
|
832
|
-
}) },
|
833
|
-
React__default["default"].createElement(Box__default["default"], { sx: {
|
834
|
-
display: 'flex',
|
835
|
-
flexWrap: 'nowrap',
|
836
|
-
gap: '8px',
|
837
|
-
} },
|
838
|
-
!isSubMenu &&
|
839
|
-
columnDefType !== 'group' &&
|
840
|
-
enableColumnOrdering &&
|
841
|
-
!allColumns.some((col) => col.columnDef.columnDefType === 'group') &&
|
842
|
-
(columnDef.enableColumnOrdering !== false ? (React__default["default"].createElement(MRT_GrabHandleButton, { onDragEnd: handleDragEnd, onDragStart: handleDragStart, table: table })) : (React__default["default"].createElement(Box__default["default"], { sx: { width: '28px' } }))),
|
843
|
-
!isSubMenu &&
|
844
|
-
enablePinning &&
|
845
|
-
(column.getCanPin() ? (React__default["default"].createElement(MRT_ColumnPinningButtons, { column: column, table: table })) : (React__default["default"].createElement(Box__default["default"], { sx: { width: '70px' } }))),
|
846
|
-
enableHiding ? (React__default["default"].createElement(FormControlLabel__default["default"], { componentsProps: {
|
847
|
-
typography: {
|
848
|
-
sx: {
|
849
|
-
mb: 0,
|
850
|
-
opacity: columnDefType !== 'display' ? 1 : 0.5,
|
851
|
-
},
|
852
|
-
},
|
853
|
-
}, checked: switchChecked, control: React__default["default"].createElement(Tooltip__default["default"], { arrow: true, enterDelay: 1000, enterNextDelay: 1000, title: localization.toggleVisibility },
|
854
|
-
React__default["default"].createElement(Switch__default["default"], null)), disabled: (isSubMenu && switchChecked) || !column.getCanHide(), label: columnDef.header, onChange: () => handleToggleColumnHidden(column) })) : (React__default["default"].createElement(Typography__default["default"], { sx: { alignSelf: 'center' } }, columnDef.header)))), (_a = column.columns) === null || _a === void 0 ? void 0 :
|
855
|
-
_a.map((c, i) => (React__default["default"].createElement(MRT_ShowHideColumnsMenuItems, { allColumns: allColumns, column: c, hoveredColumn: hoveredColumn, isSubMenu: isSubMenu, key: `${i}-${c.id}`, setHoveredColumn: setHoveredColumn, table: table })))));
|
856
|
-
};
|
857
|
-
|
858
|
-
const MRT_ShowHideColumnsMenu = ({ anchorEl, isSubMenu, setAnchorEl, table, }) => {
|
859
|
-
const { getAllColumns, getAllLeafColumns, getCenterLeafColumns, getIsAllColumnsVisible, getIsSomeColumnsPinned, getIsSomeColumnsVisible, getLeftLeafColumns, getRightLeafColumns, getState, toggleAllColumnsVisible, options: { enableColumnOrdering, enableHiding, enablePinning, localization, }, } = table;
|
860
|
-
const { density, columnOrder, columnPinning } = getState();
|
861
|
-
const hideAllColumns = () => {
|
862
|
-
getAllLeafColumns()
|
863
|
-
.filter((col) => col.columnDef.enableHiding !== false)
|
864
|
-
.forEach((col) => col.toggleVisibility(false));
|
865
|
-
};
|
866
|
-
const allColumns = React.useMemo(() => {
|
867
|
-
const columns = getAllColumns();
|
868
|
-
if (columnOrder.length > 0 &&
|
869
|
-
!columns.some((col) => col.columnDef.columnDefType === 'group')) {
|
870
|
-
return [
|
871
|
-
...getLeftLeafColumns(),
|
872
|
-
...Array.from(new Set(columnOrder)).map((colId) => getCenterLeafColumns().find((col) => (col === null || col === void 0 ? void 0 : col.id) === colId)),
|
873
|
-
...getRightLeafColumns(),
|
874
|
-
].filter(Boolean);
|
875
|
-
}
|
876
|
-
return columns;
|
877
|
-
}, [
|
878
|
-
columnOrder,
|
879
|
-
columnPinning,
|
880
|
-
getAllColumns(),
|
881
|
-
getCenterLeafColumns(),
|
882
|
-
getLeftLeafColumns(),
|
883
|
-
getRightLeafColumns(),
|
884
|
-
]);
|
885
|
-
const [hoveredColumn, setHoveredColumn] = React.useState(null);
|
886
|
-
return (React__default["default"].createElement(Menu__default["default"], { anchorEl: anchorEl, open: !!anchorEl, onClose: () => setAnchorEl(null), MenuListProps: {
|
887
|
-
dense: density === 'compact',
|
888
|
-
} },
|
889
|
-
React__default["default"].createElement(Box__default["default"], { sx: {
|
890
|
-
display: 'flex',
|
891
|
-
justifyContent: isSubMenu ? 'center' : 'space-between',
|
892
|
-
p: '0.5rem',
|
893
|
-
pt: 0,
|
894
|
-
} },
|
895
|
-
!isSubMenu && enableHiding && (React__default["default"].createElement(Button__default["default"], { disabled: !getIsSomeColumnsVisible(), onClick: hideAllColumns }, localization.hideAll)),
|
896
|
-
!isSubMenu && enableColumnOrdering && (React__default["default"].createElement(Button__default["default"], { onClick: () => table.setColumnOrder(getDefaultColumnOrderIds(table.options)) }, localization.resetOrder)),
|
897
|
-
!isSubMenu && enablePinning && (React__default["default"].createElement(Button__default["default"], { disabled: !getIsSomeColumnsPinned(), onClick: () => table.resetColumnPinning(true) }, localization.unpinAll)),
|
898
|
-
enableHiding && (React__default["default"].createElement(Button__default["default"], { disabled: getIsAllColumnsVisible(), onClick: () => toggleAllColumnsVisible(true) }, localization.showAll))),
|
899
|
-
React__default["default"].createElement(Divider__default["default"], null),
|
900
|
-
allColumns.map((column, index) => (React__default["default"].createElement(MRT_ShowHideColumnsMenuItems, { allColumns: allColumns, column: column, hoveredColumn: hoveredColumn, isSubMenu: isSubMenu, key: `${index}-${column.id}`, setHoveredColumn: setHoveredColumn, table: table })))));
|
901
|
-
};
|
902
|
-
|
903
750
|
const commonMenuItemStyles = {
|
904
751
|
py: '6px',
|
905
752
|
my: 0,
|
@@ -915,9 +762,8 @@ const MRT_ColumnActionMenu = ({ anchorEl, header, setAnchorEl, table, }) => {
|
|
915
762
|
const { getState, toggleAllColumnsVisible, setColumnOrder, options: { columnFilterModeOptions, enableColumnFilterModes, enableColumnFilters, enableColumnResizing, enableGrouping, enableHiding, enablePinning, enableSorting, icons: { ArrowRightIcon, ClearAllIcon, ViewColumnIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, SortIcon, RestartAltIcon, VisibilityOffIcon, }, localization, renderColumnActionsMenuItems, }, refs: { filterInputRefs }, setColumnSizingInfo, setShowColumnFilters, } = table;
|
916
763
|
const { column } = header;
|
917
764
|
const { columnDef } = column;
|
918
|
-
const { columnSizing, columnVisibility, density } = getState();
|
765
|
+
const { columnSizing, columnVisibility, density, showColumnFilters } = getState();
|
919
766
|
const [filterMenuAnchorEl, setFilterMenuAnchorEl] = React.useState(null);
|
920
|
-
const [showHideColumnsMenuAnchorEl, setShowHideColumnsMenuAnchorEl] = React.useState(null);
|
921
767
|
const handleClearSort = () => {
|
922
768
|
column.clearSorting();
|
923
769
|
setAnchorEl(null);
|
@@ -965,10 +811,6 @@ const MRT_ColumnActionMenu = ({ anchorEl, header, setAnchorEl, table, }) => {
|
|
965
811
|
event.stopPropagation();
|
966
812
|
setFilterMenuAnchorEl(event.currentTarget);
|
967
813
|
};
|
968
|
-
const handleOpenShowHideColumnsMenu = (event) => {
|
969
|
-
event.stopPropagation();
|
970
|
-
setShowHideColumnsMenuAnchorEl(event.currentTarget);
|
971
|
-
};
|
972
814
|
const isSelectFilter = !!columnDef.filterSelectOptions;
|
973
815
|
const allowedColumnFilterOptions = (_a = columnDef === null || columnDef === void 0 ? void 0 : columnDef.columnFilterModeOptions) !== null && _a !== void 0 ? _a : columnFilterModeOptions;
|
974
816
|
const showFilterModeSubMenu = enableColumnFilterModes &&
|
@@ -1012,7 +854,7 @@ const MRT_ColumnActionMenu = ({ anchorEl, header, setAnchorEl, table, }) => {
|
|
1012
854
|
React__default["default"].createElement(ListItemIcon__default["default"], null,
|
1013
855
|
React__default["default"].createElement(FilterListOffIcon, null)),
|
1014
856
|
localization.clearFilter)),
|
1015
|
-
React__default["default"].createElement(MenuItem__default["default"], { divider: enableGrouping || enableHiding, key: 1, onClick: handleFilterByColumn, sx: commonMenuItemStyles },
|
857
|
+
React__default["default"].createElement(MenuItem__default["default"], { disabled: showColumnFilters && !enableColumnFilterModes, divider: enableGrouping || enableHiding, key: 1, onClick: handleFilterByColumn, sx: commonMenuItemStyles },
|
1016
858
|
React__default["default"].createElement(Box__default["default"], { sx: commonListItemStyles },
|
1017
859
|
React__default["default"].createElement(ListItemIcon__default["default"], null,
|
1018
860
|
React__default["default"].createElement(FilterListIcon, null)), (_g = localization.filterByColumn) === null || _g === void 0 ? void 0 :
|
@@ -1066,10 +908,7 @@ const MRT_ColumnActionMenu = ({ anchorEl, header, setAnchorEl, table, }) => {
|
|
1066
908
|
React__default["default"].createElement(Box__default["default"], { sx: commonListItemStyles },
|
1067
909
|
React__default["default"].createElement(ListItemIcon__default["default"], null,
|
1068
910
|
React__default["default"].createElement(ViewColumnIcon, null)), (_k = localization.showAllColumns) === null || _k === void 0 ? void 0 :
|
1069
|
-
_k.replace('{column}', String(columnDef.header))),
|
1070
|
-
React__default["default"].createElement(IconButton__default["default"], { onClick: handleOpenShowHideColumnsMenu, onMouseEnter: handleOpenShowHideColumnsMenu, size: "small", sx: { p: 0 } },
|
1071
|
-
React__default["default"].createElement(ArrowRightIcon, null))),
|
1072
|
-
React__default["default"].createElement(MRT_ShowHideColumnsMenu, { anchorEl: showHideColumnsMenuAnchorEl, isSubMenu: true, key: 2, setAnchorEl: setShowHideColumnsMenuAnchorEl, table: table }),
|
911
|
+
_k.replace('{column}', String(columnDef.header)))),
|
1073
912
|
]));
|
1074
913
|
};
|
1075
914
|
|
@@ -1360,6 +1199,166 @@ const MRT_FullScreenToggleButton = (_a) => {
|
|
1360
1199
|
React__default["default"].createElement(IconButton__default["default"], Object.assign({ "aria-label": localization.showHideFilters, onClick: handleToggleFullScreen }, rest, { title: undefined }), isFullScreen ? React__default["default"].createElement(FullscreenExitIcon, null) : React__default["default"].createElement(FullscreenIcon, null))));
|
1361
1200
|
};
|
1362
1201
|
|
1202
|
+
const MRT_ColumnPinningButtons = ({ column, table, }) => {
|
1203
|
+
const { options: { icons: { PushPinIcon }, localization, }, } = table;
|
1204
|
+
const handlePinColumn = (pinDirection) => {
|
1205
|
+
column.pin(pinDirection);
|
1206
|
+
};
|
1207
|
+
return (React__default["default"].createElement(Box__default["default"], { sx: { minWidth: '70px', textAlign: 'center' } }, column.getIsPinned() ? (React__default["default"].createElement(Tooltip__default["default"], { arrow: true, title: localization.unpin },
|
1208
|
+
React__default["default"].createElement(IconButton__default["default"], { onClick: () => handlePinColumn(false), size: "small" },
|
1209
|
+
React__default["default"].createElement(PushPinIcon, null)))) : (React__default["default"].createElement(React__default["default"].Fragment, null,
|
1210
|
+
React__default["default"].createElement(Tooltip__default["default"], { arrow: true, title: localization.pinToLeft },
|
1211
|
+
React__default["default"].createElement(IconButton__default["default"], { onClick: () => handlePinColumn('left'), size: "small" },
|
1212
|
+
React__default["default"].createElement(PushPinIcon, { style: {
|
1213
|
+
transform: 'rotate(90deg)',
|
1214
|
+
} }))),
|
1215
|
+
React__default["default"].createElement(Tooltip__default["default"], { arrow: true, title: localization.pinToRight },
|
1216
|
+
React__default["default"].createElement(IconButton__default["default"], { onClick: () => handlePinColumn('right'), size: "small" },
|
1217
|
+
React__default["default"].createElement(PushPinIcon, { style: {
|
1218
|
+
transform: 'rotate(-90deg)',
|
1219
|
+
} })))))));
|
1220
|
+
};
|
1221
|
+
|
1222
|
+
const MRT_GrabHandleButton = ({ iconButtonProps, onDragEnd, onDragStart, table, }) => {
|
1223
|
+
var _a;
|
1224
|
+
const { options: { icons: { DragHandleIcon }, localization, }, } = table;
|
1225
|
+
return (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.move },
|
1226
|
+
React__default["default"].createElement(IconButton__default["default"], Object.assign({ disableRipple: true, draggable: "true", size: "small" }, iconButtonProps, { onClick: (e) => {
|
1227
|
+
var _a;
|
1228
|
+
e.stopPropagation();
|
1229
|
+
(_a = iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.onClick) === null || _a === void 0 ? void 0 : _a.call(iconButtonProps, e);
|
1230
|
+
}, onDragStart: onDragStart, onDragEnd: onDragEnd, sx: (theme) => (Object.assign({ cursor: 'grab', m: '0 -0.1rem', opacity: 0.5, p: '2px', transition: 'all 150ms ease-in-out', '&:hover': {
|
1231
|
+
backgroundColor: 'transparent',
|
1232
|
+
opacity: 1,
|
1233
|
+
}, '&:active': {
|
1234
|
+
cursor: 'grabbing',
|
1235
|
+
} }, ((iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx) instanceof Function
|
1236
|
+
? iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx(theme)
|
1237
|
+
: iconButtonProps === null || iconButtonProps === void 0 ? void 0 : iconButtonProps.sx))), title: undefined }),
|
1238
|
+
React__default["default"].createElement(DragHandleIcon, null))));
|
1239
|
+
};
|
1240
|
+
|
1241
|
+
const MRT_ShowHideColumnsMenuItems = ({ allColumns, hoveredColumn, setHoveredColumn, column, table, }) => {
|
1242
|
+
var _a;
|
1243
|
+
const { getState, options: { enableColumnOrdering, enableHiding, enablePinning, localization, }, setColumnOrder, } = table;
|
1244
|
+
const { columnOrder } = getState();
|
1245
|
+
const { columnDef } = column;
|
1246
|
+
const { columnDefType } = columnDef;
|
1247
|
+
const switchChecked = (columnDefType !== 'group' && column.getIsVisible()) ||
|
1248
|
+
(columnDefType === 'group' &&
|
1249
|
+
column.getLeafColumns().some((col) => col.getIsVisible()));
|
1250
|
+
const handleToggleColumnHidden = (column) => {
|
1251
|
+
var _a, _b;
|
1252
|
+
if (columnDefType === 'group') {
|
1253
|
+
(_b = (_a = column === null || column === void 0 ? void 0 : column.columns) === null || _a === void 0 ? void 0 : _a.forEach) === null || _b === void 0 ? void 0 : _b.call(_a, (childColumn) => {
|
1254
|
+
childColumn.toggleVisibility(!switchChecked);
|
1255
|
+
});
|
1256
|
+
}
|
1257
|
+
else {
|
1258
|
+
column.toggleVisibility();
|
1259
|
+
}
|
1260
|
+
};
|
1261
|
+
const menuItemRef = React.useRef(null);
|
1262
|
+
const [isDragging, setIsDragging] = React.useState(false);
|
1263
|
+
const handleDragStart = (e) => {
|
1264
|
+
setIsDragging(true);
|
1265
|
+
e.dataTransfer.setDragImage(menuItemRef.current, 0, 0);
|
1266
|
+
};
|
1267
|
+
const handleDragEnd = (_e) => {
|
1268
|
+
setIsDragging(false);
|
1269
|
+
setHoveredColumn(null);
|
1270
|
+
if (hoveredColumn) {
|
1271
|
+
setColumnOrder(reorderColumn(column, hoveredColumn, columnOrder));
|
1272
|
+
}
|
1273
|
+
};
|
1274
|
+
const handleDragEnter = (_e) => {
|
1275
|
+
if (!isDragging && columnDef.enableColumnOrdering !== false) {
|
1276
|
+
setHoveredColumn(column);
|
1277
|
+
}
|
1278
|
+
};
|
1279
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
1280
|
+
React__default["default"].createElement(MenuItem__default["default"], { disableRipple: true, ref: menuItemRef, onDragEnter: handleDragEnter, sx: (theme) => ({
|
1281
|
+
alignItems: 'center',
|
1282
|
+
justifyContent: 'flex-start',
|
1283
|
+
my: 0,
|
1284
|
+
opacity: isDragging ? 0.5 : 1,
|
1285
|
+
outlineOffset: '-2px',
|
1286
|
+
outline: isDragging
|
1287
|
+
? `2px dashed ${theme.palette.divider}`
|
1288
|
+
: (hoveredColumn === null || hoveredColumn === void 0 ? void 0 : hoveredColumn.id) === column.id
|
1289
|
+
? `2px dashed ${theme.palette.primary.main}`
|
1290
|
+
: 'none',
|
1291
|
+
pl: `${(column.depth + 0.5) * 2}rem`,
|
1292
|
+
py: '6px',
|
1293
|
+
}) },
|
1294
|
+
React__default["default"].createElement(Box__default["default"], { sx: {
|
1295
|
+
display: 'flex',
|
1296
|
+
flexWrap: 'nowrap',
|
1297
|
+
gap: '8px',
|
1298
|
+
} },
|
1299
|
+
columnDefType !== 'group' &&
|
1300
|
+
enableColumnOrdering &&
|
1301
|
+
!allColumns.some((col) => col.columnDef.columnDefType === 'group') &&
|
1302
|
+
(columnDef.enableColumnOrdering !== false ? (React__default["default"].createElement(MRT_GrabHandleButton, { onDragEnd: handleDragEnd, onDragStart: handleDragStart, table: table })) : (React__default["default"].createElement(Box__default["default"], { sx: { width: '28px' } }))),
|
1303
|
+
enablePinning &&
|
1304
|
+
(column.getCanPin() ? (React__default["default"].createElement(MRT_ColumnPinningButtons, { column: column, table: table })) : (React__default["default"].createElement(Box__default["default"], { sx: { width: '70px' } }))),
|
1305
|
+
enableHiding ? (React__default["default"].createElement(FormControlLabel__default["default"], { componentsProps: {
|
1306
|
+
typography: {
|
1307
|
+
sx: {
|
1308
|
+
mb: 0,
|
1309
|
+
opacity: columnDefType !== 'display' ? 1 : 0.5,
|
1310
|
+
},
|
1311
|
+
},
|
1312
|
+
}, checked: switchChecked, control: React__default["default"].createElement(Tooltip__default["default"], { arrow: true, enterDelay: 1000, enterNextDelay: 1000, title: localization.toggleVisibility },
|
1313
|
+
React__default["default"].createElement(Switch__default["default"], null)), disabled: !column.getCanHide(), label: columnDef.header, onChange: () => handleToggleColumnHidden(column) })) : (React__default["default"].createElement(Typography__default["default"], { sx: { alignSelf: 'center' } }, columnDef.header)))), (_a = column.columns) === null || _a === void 0 ? void 0 :
|
1314
|
+
_a.map((c, i) => (React__default["default"].createElement(MRT_ShowHideColumnsMenuItems, { allColumns: allColumns, column: c, hoveredColumn: hoveredColumn, key: `${i}-${c.id}`, setHoveredColumn: setHoveredColumn, table: table })))));
|
1315
|
+
};
|
1316
|
+
|
1317
|
+
const MRT_ShowHideColumnsMenu = ({ anchorEl, setAnchorEl, table, }) => {
|
1318
|
+
const { getAllColumns, getAllLeafColumns, getCenterLeafColumns, getIsAllColumnsVisible, getIsSomeColumnsPinned, getIsSomeColumnsVisible, getLeftLeafColumns, getRightLeafColumns, getState, toggleAllColumnsVisible, options: { enableColumnOrdering, enableHiding, enablePinning, localization, }, } = table;
|
1319
|
+
const { density, columnOrder, columnPinning } = getState();
|
1320
|
+
const hideAllColumns = () => {
|
1321
|
+
getAllLeafColumns()
|
1322
|
+
.filter((col) => col.columnDef.enableHiding !== false)
|
1323
|
+
.forEach((col) => col.toggleVisibility(false));
|
1324
|
+
};
|
1325
|
+
const allColumns = React.useMemo(() => {
|
1326
|
+
const columns = getAllColumns();
|
1327
|
+
if (columnOrder.length > 0 &&
|
1328
|
+
!columns.some((col) => col.columnDef.columnDefType === 'group')) {
|
1329
|
+
return [
|
1330
|
+
...getLeftLeafColumns(),
|
1331
|
+
...Array.from(new Set(columnOrder)).map((colId) => getCenterLeafColumns().find((col) => (col === null || col === void 0 ? void 0 : col.id) === colId)),
|
1332
|
+
...getRightLeafColumns(),
|
1333
|
+
].filter(Boolean);
|
1334
|
+
}
|
1335
|
+
return columns;
|
1336
|
+
}, [
|
1337
|
+
columnOrder,
|
1338
|
+
columnPinning,
|
1339
|
+
getAllColumns(),
|
1340
|
+
getCenterLeafColumns(),
|
1341
|
+
getLeftLeafColumns(),
|
1342
|
+
getRightLeafColumns(),
|
1343
|
+
]);
|
1344
|
+
const [hoveredColumn, setHoveredColumn] = React.useState(null);
|
1345
|
+
return (React__default["default"].createElement(Menu__default["default"], { anchorEl: anchorEl, open: !!anchorEl, onClose: () => setAnchorEl(null), MenuListProps: {
|
1346
|
+
dense: density === 'compact',
|
1347
|
+
} },
|
1348
|
+
React__default["default"].createElement(Box__default["default"], { sx: {
|
1349
|
+
display: 'flex',
|
1350
|
+
justifyContent: 'space-between',
|
1351
|
+
p: '0.5rem',
|
1352
|
+
pt: 0,
|
1353
|
+
} },
|
1354
|
+
enableHiding && (React__default["default"].createElement(Button__default["default"], { disabled: !getIsSomeColumnsVisible(), onClick: hideAllColumns }, localization.hideAll)),
|
1355
|
+
enableColumnOrdering && (React__default["default"].createElement(Button__default["default"], { onClick: () => table.setColumnOrder(getDefaultColumnOrderIds(table.options)) }, localization.resetOrder)),
|
1356
|
+
enablePinning && (React__default["default"].createElement(Button__default["default"], { disabled: !getIsSomeColumnsPinned(), onClick: () => table.resetColumnPinning(true) }, localization.unpinAll)),
|
1357
|
+
enableHiding && (React__default["default"].createElement(Button__default["default"], { disabled: getIsAllColumnsVisible(), onClick: () => toggleAllColumnsVisible(true) }, localization.showAll))),
|
1358
|
+
React__default["default"].createElement(Divider__default["default"], null),
|
1359
|
+
allColumns.map((column, index) => (React__default["default"].createElement(MRT_ShowHideColumnsMenuItems, { allColumns: allColumns, column: column, hoveredColumn: hoveredColumn, key: `${index}-${column.id}`, setHoveredColumn: setHoveredColumn, table: table })))));
|
1360
|
+
};
|
1361
|
+
|
1363
1362
|
const MRT_ShowHideColumnsButton = (_a) => {
|
1364
1363
|
var _b;
|
1365
1364
|
var { table } = _a, rest = __rest(_a, ["table"]);
|
@@ -1448,6 +1447,7 @@ const MRT_ToolbarDropZone = ({ table, }) => {
|
|
1448
1447
|
if (((_a = table.options.state) === null || _a === void 0 ? void 0 : _a.showToolbarDropZone) !== undefined) {
|
1449
1448
|
setShowToolbarDropZone(!!enableGrouping &&
|
1450
1449
|
!!draggingColumn &&
|
1450
|
+
draggingColumn.columnDef.enableGrouping !== false &&
|
1451
1451
|
!grouping.includes(draggingColumn.id));
|
1452
1452
|
}
|
1453
1453
|
}, [enableGrouping, draggingColumn, grouping]);
|
@@ -1948,7 +1948,7 @@ const MRT_TableHeadCellResizeHandle = ({ header, table }) => {
|
|
1948
1948
|
cursor: 'col-resize',
|
1949
1949
|
mr: density === 'compact' ? '-0.75rem' : '-1rem',
|
1950
1950
|
position: 'absolute',
|
1951
|
-
right: '
|
1951
|
+
right: '4px',
|
1952
1952
|
px: '4px',
|
1953
1953
|
'&:active > hr': {
|
1954
1954
|
backgroundColor: theme.palette.info.main,
|
@@ -2092,7 +2092,7 @@ const MRT_TableHeadCell = ({ header, table }) => {
|
|
2092
2092
|
theme,
|
2093
2093
|
})), draggingBorders)) }),
|
2094
2094
|
header.isPlaceholder ? null : (React__default["default"].createElement(Box__default["default"], { className: "Mui-TableHeadCell-Content", sx: {
|
2095
|
-
alignItems: '
|
2095
|
+
alignItems: 'center',
|
2096
2096
|
display: 'flex',
|
2097
2097
|
flexDirection: (tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.align) === 'right' ? 'row-reverse' : 'row',
|
2098
2098
|
justifyContent: columnDefType === 'group' || (tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.align) === 'center'
|
@@ -2116,7 +2116,7 @@ const MRT_TableHeadCell = ({ header, table }) => {
|
|
2116
2116
|
: undefined,
|
2117
2117
|
} },
|
2118
2118
|
React__default["default"].createElement(Box__default["default"], { className: "Mui-TableHeadCell-Content-Wrapper", sx: {
|
2119
|
-
minWidth:
|
2119
|
+
minWidth: `${Math.min(columnDef.header.length, 5)}ch`,
|
2120
2120
|
overflow: columnDefType === 'data' ? 'hidden' : undefined,
|
2121
2121
|
textOverflow: 'ellipsis',
|
2122
2122
|
whiteSpace: ((_d = (_c = columnDef.header) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) < 20 ? 'nowrap' : 'normal',
|
@@ -2514,11 +2514,11 @@ const MRT_TableBodyCell = ({ cell, measureElement, numRows, rowIndex, rowRef, ta
|
|
2514
2514
|
};
|
2515
2515
|
const Memo_MRT_TableBodyCell = React.memo(MRT_TableBodyCell, (prev, next) => next.cell === prev.cell);
|
2516
2516
|
|
2517
|
-
const MRT_TableDetailPanel = ({ parentRowRef, row, table, virtualRow, }) => {
|
2517
|
+
const MRT_TableDetailPanel = ({ parentRowRef, row, rowIndex, table, virtualRow, }) => {
|
2518
2518
|
const { getVisibleLeafColumns, getState, options: { layoutMode, muiTableBodyRowProps, muiTableDetailPanelProps, renderDetailPanel, }, } = table;
|
2519
2519
|
const { isLoading } = getState();
|
2520
2520
|
const tableRowProps = muiTableBodyRowProps instanceof Function
|
2521
|
-
? muiTableBodyRowProps({ isDetailPanel: true, row, table })
|
2521
|
+
? muiTableBodyRowProps({ isDetailPanel: true, row, staticRowIndex: rowIndex, table })
|
2522
2522
|
: muiTableBodyRowProps;
|
2523
2523
|
const tableCellProps = muiTableDetailPanelProps instanceof Function
|
2524
2524
|
? muiTableDetailPanelProps({ row, table })
|
@@ -2544,7 +2544,7 @@ const MRT_TableBodyRow = ({ columnVirtualizer, measureElement, numRows, row, row
|
|
2544
2544
|
const { getState, options: { enableRowOrdering, layoutMode, memoMode, muiTableBodyRowProps, renderDetailPanel, }, setHoveredRow, } = table;
|
2545
2545
|
const { draggingColumn, draggingRow, editingCell, editingRow, hoveredRow } = getState();
|
2546
2546
|
const tableRowProps = muiTableBodyRowProps instanceof Function
|
2547
|
-
? muiTableBodyRowProps({ row, table })
|
2547
|
+
? muiTableBodyRowProps({ row, staticRowIndex: rowIndex, table })
|
2548
2548
|
: muiTableBodyRowProps;
|
2549
2549
|
const handleDragEnter = (_e) => {
|
2550
2550
|
if (enableRowOrdering && draggingRow) {
|
@@ -2596,13 +2596,13 @@ const MRT_TableBodyRow = ({ columnVirtualizer, measureElement, numRows, row, row
|
|
2596
2596
|
(editingRow === null || editingRow === void 0 ? void 0 : editingRow.id) !== row.id ? (React__default["default"].createElement(Memo_MRT_TableBodyCell, Object.assign({}, props))) : (React__default["default"].createElement(MRT_TableBodyCell, Object.assign({}, props)));
|
2597
2597
|
}),
|
2598
2598
|
virtualPaddingRight ? (React__default["default"].createElement("td", { style: { display: 'flex', width: virtualPaddingRight } })) : null),
|
2599
|
-
renderDetailPanel && !row.getIsGrouped() && (React__default["default"].createElement(MRT_TableDetailPanel, { parentRowRef: rowRef, row: row, table: table, virtualRow: virtualRow }))));
|
2599
|
+
renderDetailPanel && !row.getIsGrouped() && (React__default["default"].createElement(MRT_TableDetailPanel, { parentRowRef: rowRef, row: row, rowIndex: rowIndex, table: table, virtualRow: virtualRow }))));
|
2600
2600
|
};
|
2601
2601
|
const Memo_MRT_TableBodyRow = React.memo(MRT_TableBodyRow, (prev, next) => prev.row === next.row && prev.rowIndex === next.rowIndex);
|
2602
2602
|
|
2603
2603
|
const MRT_TableBody = ({ columnVirtualizer, table, virtualColumns, virtualPaddingLeft, virtualPaddingRight, }) => {
|
2604
|
-
var _a, _b, _c;
|
2605
|
-
const { getRowModel, getPrePaginationRowModel, getState, options: { enableGlobalFilterRankedResults, enablePagination, enableRowVirtualization, layoutMode, localization, manualExpanding, manualFiltering, manualGrouping, manualPagination, manualSorting, memoMode, muiTableBodyProps, rowVirtualizerInstanceRef, rowVirtualizerProps, virtualizerInstanceRef, virtualizerProps, }, refs: { tableContainerRef, tablePaperRef }, } = table;
|
2604
|
+
var _a, _b, _c, _d;
|
2605
|
+
const { getRowModel, getPrePaginationRowModel, getState, options: { enableGlobalFilterRankedResults, enablePagination, enableRowVirtualization, layoutMode, localization, manualExpanding, manualFiltering, manualGrouping, manualPagination, manualSorting, memoMode, muiTableBodyProps, renderEmptyRowsFallback, rowVirtualizerInstanceRef, rowVirtualizerProps, virtualizerInstanceRef, virtualizerProps, }, refs: { tableContainerRef, tablePaperRef }, } = table;
|
2606
2606
|
const { columnFilters, density, expanded, globalFilter, globalFilterFn, pagination, sorting, } = getState();
|
2607
2607
|
const tableBodyProps = muiTableBodyProps instanceof Function
|
2608
2608
|
? muiTableBodyProps({ table })
|
@@ -2665,17 +2665,18 @@ const MRT_TableBody = ({ columnVirtualizer, table, virtualColumns, virtualPaddin
|
|
2665
2665
|
: 'inherit', minHeight: !rows.length ? '100px' : undefined, position: 'relative' }, ((tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx) instanceof Function
|
2666
2666
|
? tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx(theme)
|
2667
2667
|
: tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.sx))) }), (_a = tableBodyProps === null || tableBodyProps === void 0 ? void 0 : tableBodyProps.children) !== null && _a !== void 0 ? _a : (!rows.length ? (React__default["default"].createElement("tr", { style: { display: layoutMode === 'grid' ? 'grid' : 'table-row' } },
|
2668
|
-
React__default["default"].createElement("td", { colSpan: table.getVisibleLeafColumns().length, style: {
|
2669
|
-
|
2670
|
-
|
2671
|
-
|
2672
|
-
|
2673
|
-
|
2674
|
-
|
2675
|
-
|
2676
|
-
|
2677
|
-
|
2678
|
-
|
2668
|
+
React__default["default"].createElement("td", { colSpan: table.getVisibleLeafColumns().length, style: {
|
2669
|
+
display: layoutMode === 'grid' ? 'grid' : 'table-cell',
|
2670
|
+
} }, (_b = renderEmptyRowsFallback === null || renderEmptyRowsFallback === void 0 ? void 0 : renderEmptyRowsFallback({ table })) !== null && _b !== void 0 ? _b : (React__default["default"].createElement(Typography__default["default"], { sx: {
|
2671
|
+
color: 'text.secondary',
|
2672
|
+
fontStyle: 'italic',
|
2673
|
+
maxWidth: `min(100vw, ${(_d = (_c = tablePaperRef.current) === null || _c === void 0 ? void 0 : _c.clientWidth) !== null && _d !== void 0 ? _d : 360}px)`,
|
2674
|
+
py: '2rem',
|
2675
|
+
textAlign: 'center',
|
2676
|
+
width: '100%',
|
2677
|
+
} }, globalFilter || columnFilters.length
|
2678
|
+
? localization.noResultsFound
|
2679
|
+
: localization.noRecordsToDisplay))))) : (React__default["default"].createElement(React__default["default"].Fragment, null, (virtualRows !== null && virtualRows !== void 0 ? virtualRows : rows).map((rowOrVirtualRow, rowIndex) => {
|
2679
2680
|
const row = rowVirtualizer
|
2680
2681
|
? rows[rowOrVirtualRow.index]
|
2681
2682
|
: rowOrVirtualRow;
|