material-react-table-narender 2.13.4 → 2.13.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3 -0
- package/dist/index.esm.js +56 -8
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +56 -7
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/components/menus/MRT_ShowHideColumnsMenu.tsx +12 -0
- package/src/components/menus/MRT_ShowHideColumnsMenuItems.tsx +29 -0
- package/src/icons.ts +2 -0
- package/src/utils/cell.utils.ts +16 -0
package/dist/index.js
CHANGED
@@ -52,6 +52,7 @@ var SortIcon = require('@mui/icons-material/Sort');
|
|
52
52
|
var SyncAltIcon = require('@mui/icons-material/SyncAlt');
|
53
53
|
var ViewColumnIcon = require('@mui/icons-material/ViewColumn');
|
54
54
|
var VisibilityOffIcon = require('@mui/icons-material/VisibilityOff');
|
55
|
+
var SettingsBackupRestoreIcon = require('@mui/icons-material/SettingsBackupRestore');
|
55
56
|
var reactVirtual = require('@tanstack/react-virtual');
|
56
57
|
var Paper = require('@mui/material/Paper');
|
57
58
|
var material = require('@mui/material');
|
@@ -144,6 +145,7 @@ var SortIcon__default = /*#__PURE__*/_interopDefaultLegacy(SortIcon);
|
|
144
145
|
var SyncAltIcon__default = /*#__PURE__*/_interopDefaultLegacy(SyncAltIcon);
|
145
146
|
var ViewColumnIcon__default = /*#__PURE__*/_interopDefaultLegacy(ViewColumnIcon);
|
146
147
|
var VisibilityOffIcon__default = /*#__PURE__*/_interopDefaultLegacy(VisibilityOffIcon);
|
148
|
+
var SettingsBackupRestoreIcon__default = /*#__PURE__*/_interopDefaultLegacy(SettingsBackupRestoreIcon);
|
147
149
|
var Paper__default = /*#__PURE__*/_interopDefaultLegacy(Paper);
|
148
150
|
var TableContainer__default = /*#__PURE__*/_interopDefaultLegacy(TableContainer);
|
149
151
|
var Table__default = /*#__PURE__*/_interopDefaultLegacy(Table);
|
@@ -525,6 +527,7 @@ const openEditingCell = ({ cell, table, }) => {
|
|
525
527
|
};
|
526
528
|
const cellKeyboardShortcuts = ({ cell, cellElements, cellValue, containerElement, event, header, parentElement, table, }) => {
|
527
529
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
530
|
+
debugger;
|
528
531
|
if (!table.options.enableKeyboardShortcuts)
|
529
532
|
return;
|
530
533
|
if (event.isPropagationStopped())
|
@@ -591,6 +594,16 @@ const cellKeyboardShortcuts = ({ cell, cellElements, cellValue, containerElement
|
|
591
594
|
'PageDown',
|
592
595
|
].includes(event.key)) {
|
593
596
|
event.preventDefault();
|
597
|
+
if (['ArrowDown'].includes(event.key)) {
|
598
|
+
debugger; // This will pause execution for debugging purposes
|
599
|
+
// Select the input element within the MUI Autocomplete component
|
600
|
+
const autocomplete = currentCell.querySelector('.MuiAutocomplete-root input[type="text"]');
|
601
|
+
// Check if the current cell is an MUI Autocomplete
|
602
|
+
if (autocomplete) {
|
603
|
+
return; // Exit the function if it's an Autocomplete
|
604
|
+
}
|
605
|
+
// Additional logic for when it's not an Autocomplete can go here
|
606
|
+
}
|
594
607
|
const currentRow = parentElement || currentCell.closest('tr');
|
595
608
|
const tableElement = containerElement || currentCell.closest('table');
|
596
609
|
const allCells = cellElements ||
|
@@ -1359,6 +1372,7 @@ const MRT_Default_Icons = {
|
|
1359
1372
|
SyncAltIcon: SyncAltIcon__default["default"],
|
1360
1373
|
ViewColumnIcon: ViewColumnIcon__default["default"],
|
1361
1374
|
VisibilityOffIcon: VisibilityOffIcon__default["default"],
|
1375
|
+
SettingsBackupRestoreIcon: SettingsBackupRestoreIcon__default["default"]
|
1362
1376
|
};
|
1363
1377
|
|
1364
1378
|
const MRT_Localization_EN = {
|
@@ -2307,7 +2321,17 @@ const MRT_TableBodyCell = (_a) => {
|
|
2307
2321
|
table.refs.actionCellRef.current = e.currentTarget;
|
2308
2322
|
}
|
2309
2323
|
};
|
2310
|
-
|
2324
|
+
const handleKeyDown = (event) => {
|
2325
|
+
var _a;
|
2326
|
+
(_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, event);
|
2327
|
+
cellKeyboardShortcuts({
|
2328
|
+
cell,
|
2329
|
+
cellValue: cell.getValue(),
|
2330
|
+
event,
|
2331
|
+
table,
|
2332
|
+
});
|
2333
|
+
};
|
2334
|
+
return (jsxRuntime.jsx(TableCell__default["default"], Object.assign({ align: theme.direction === 'rtl' ? 'right' : 'left', "data-index": staticColumnIndex, "data-pinned": !!isColumnPinned || undefined, tabIndex: enableKeyboardShortcuts ? 0 : undefined }, tableCellProps, { onKeyDown: handleKeyDown, onContextMenu: handleContextMenu, onDoubleClick: handleDoubleClick, onDragEnter: handleDragEnter, onDragOver: handleDragOver, sx: (theme) => (Object.assign(Object.assign({ '&:hover': {
|
2311
2335
|
outline: (actionCell === null || actionCell === void 0 ? void 0 : actionCell.id) === cell.id ||
|
2312
2336
|
(editDisplayMode === 'cell' && isEditable) ||
|
2313
2337
|
(editDisplayMode === 'table' && (isCreating || isEditing))
|
@@ -2577,11 +2601,20 @@ const MRT_TableFooterCell = (_a) => {
|
|
2577
2601
|
column.getIsPinned();
|
2578
2602
|
const args = { column, table };
|
2579
2603
|
const tableCellProps = Object.assign(Object.assign(Object.assign({}, parseFromValuesOrFunc(muiTableFooterCellProps, args)), parseFromValuesOrFunc(columnDef.muiTableFooterCellProps, args)), rest);
|
2604
|
+
const handleKeyDown = (event) => {
|
2605
|
+
var _a;
|
2606
|
+
(_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, event);
|
2607
|
+
cellKeyboardShortcuts({
|
2608
|
+
event,
|
2609
|
+
cellValue: footer.column.columnDef.footer,
|
2610
|
+
table,
|
2611
|
+
});
|
2612
|
+
};
|
2580
2613
|
return (jsxRuntime.jsx(TableCell__default["default"], Object.assign({ align: columnDefType === 'group'
|
2581
2614
|
? 'center'
|
2582
2615
|
: theme.direction === 'rtl'
|
2583
2616
|
? 'right'
|
2584
|
-
: 'left', colSpan: footer.colSpan, "data-index": staticColumnIndex, "data-pinned": !!isColumnPinned || undefined, tabIndex: enableKeyboardShortcuts ? 0 : undefined, variant: "footer" }, tableCellProps, { sx: (theme) => (Object.assign(Object.assign({ fontWeight: 'bold', p: density === 'compact'
|
2617
|
+
: 'left', colSpan: footer.colSpan, "data-index": staticColumnIndex, "data-pinned": !!isColumnPinned || undefined, tabIndex: enableKeyboardShortcuts ? 0 : undefined, variant: "footer" }, tableCellProps, { onKeyDown: handleKeyDown, sx: (theme) => (Object.assign(Object.assign({ fontWeight: 'bold', p: density === 'compact'
|
2585
2618
|
? '0.5rem'
|
2586
2619
|
: density === 'comfortable'
|
2587
2620
|
? '1rem'
|
@@ -3566,6 +3599,16 @@ const MRT_TableHeadCell = (_a) => {
|
|
3566
3599
|
e.preventDefault();
|
3567
3600
|
}
|
3568
3601
|
};
|
3602
|
+
const handleKeyDown = (event) => {
|
3603
|
+
var _a;
|
3604
|
+
(_a = tableCellProps === null || tableCellProps === void 0 ? void 0 : tableCellProps.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(tableCellProps, event);
|
3605
|
+
cellKeyboardShortcuts({
|
3606
|
+
event,
|
3607
|
+
cellValue: header.column.columnDef.header,
|
3608
|
+
table,
|
3609
|
+
header,
|
3610
|
+
});
|
3611
|
+
};
|
3569
3612
|
const HeaderElement = (_b = parseFromValuesOrFunc(columnDef.Header, {
|
3570
3613
|
column,
|
3571
3614
|
header,
|
@@ -3587,7 +3630,7 @@ const MRT_TableHeadCell = (_a) => {
|
|
3587
3630
|
(_a = columnVirtualizer === null || columnVirtualizer === void 0 ? void 0 : columnVirtualizer.measureElement) === null || _a === void 0 ? void 0 : _a.call(columnVirtualizer, node);
|
3588
3631
|
}
|
3589
3632
|
}
|
3590
|
-
} }, tableCellProps, { sx: (theme) => (Object.assign(Object.assign({ '& :hover': {
|
3633
|
+
} }, tableCellProps, { onKeyDown: handleKeyDown, sx: (theme) => (Object.assign(Object.assign({ '& :hover': {
|
3591
3634
|
'.MuiButtonBase-root': {
|
3592
3635
|
opacity: 1,
|
3593
3636
|
},
|
@@ -4052,7 +4095,7 @@ const MRT_ColumnPinningButtons = (_a) => {
|
|
4052
4095
|
const MRT_ShowHideColumnsMenuItems = (_a) => {
|
4053
4096
|
var _b;
|
4054
4097
|
var { allColumns, column, hoveredColumn, isNestedColumns, setHoveredColumn, table } = _a, rest = __rest(_a, ["allColumns", "column", "hoveredColumn", "isNestedColumns", "setHoveredColumn", "table"]);
|
4055
|
-
const { getState, options: { enableColumnOrdering, enableColumnPinning, enableHiding, localization, mrtTheme: { draggingBorderColor }, }, setColumnOrder, } = table;
|
4098
|
+
const { getState, options: { enableColumnOrdering, enableColumnPinning, enableHiding, localization, enableColumnResizing, mrtTheme: { draggingBorderColor }, icons: { SettingsBackupRestoreIcon }, }, setColumnOrder, } = table;
|
4056
4099
|
const { columnOrder } = getState();
|
4057
4100
|
const { columnDef } = column;
|
4058
4101
|
const { columnDefType } = columnDef;
|
@@ -4113,12 +4156,15 @@ const MRT_ShowHideColumnsMenuItems = (_a) => {
|
|
4113
4156
|
opacity: columnDefType !== 'display' ? 1 : 0.5,
|
4114
4157
|
},
|
4115
4158
|
},
|
4116
|
-
}, control: jsxRuntime.jsx(Tooltip__default["default"], Object.assign({}, getCommonTooltipProps(), { title: localization.toggleVisibility, children: jsxRuntime.jsx(Switch__default["default"], {}) })), disabled: !column.getCanHide(), label: columnDef.header, onChange: () => handleToggleColumnHidden(column) })) : (jsxRuntime.jsx(Typography__default["default"], { sx: { alignSelf: 'center' }, children: columnDef.header }))
|
4159
|
+
}, control: jsxRuntime.jsx(Tooltip__default["default"], Object.assign({}, getCommonTooltipProps(), { title: localization.toggleVisibility, children: jsxRuntime.jsx(Switch__default["default"], {}) })), disabled: !column.getCanHide(), label: columnDef.header, onChange: () => handleToggleColumnHidden(column) })) : (jsxRuntime.jsx(Typography__default["default"], { sx: { alignSelf: 'center' }, children: columnDef.header })), enableColumnResizing && columnDefType !== 'group' &&
|
4160
|
+
(columnDef.enableResizing !== false ? (jsxRuntime.jsx(Tooltip__default["default"], Object.assign({}, getCommonTooltipProps(), { title: localization.resetColumnSize, children: jsxRuntime.jsx(material.Button, { onClick: () => {
|
4161
|
+
column.resetSize();
|
4162
|
+
}, children: jsxRuntime.jsx(SettingsBackupRestoreIcon, {}) }) }))) : (jsxRuntime.jsx(Box__default["default"], { sx: { width: '28px' } })))] }) })), (_b = column.columns) === null || _b === void 0 ? void 0 : _b.map((c, i) => (jsxRuntime.jsx(MRT_ShowHideColumnsMenuItems, { allColumns: allColumns, column: c, hoveredColumn: hoveredColumn, isNestedColumns: isNestedColumns, setHoveredColumn: setHoveredColumn, table: table }, `${i}-${c.id}`)))] }));
|
4117
4163
|
};
|
4118
4164
|
|
4119
4165
|
const MRT_ShowHideColumnsMenu = (_a) => {
|
4120
4166
|
var { anchorEl, setAnchorEl, table } = _a, rest = __rest(_a, ["anchorEl", "setAnchorEl", "table"]);
|
4121
|
-
const { getAllColumns, getAllLeafColumns, getCenterLeafColumns, getIsAllColumnsVisible, getIsSomeColumnsPinned, getIsSomeColumnsVisible, getLeftLeafColumns, getRightLeafColumns, getState, options: { enableColumnOrdering, enableColumnPinning, enableHiding, localization, mrtTheme: { menuBackgroundColor }, }, } = table;
|
4167
|
+
const { getAllColumns, getAllLeafColumns, getCenterLeafColumns, getIsAllColumnsVisible, getIsSomeColumnsPinned, getIsSomeColumnsVisible, getLeftLeafColumns, getRightLeafColumns, getState, options: { enableColumnOrdering, enableColumnPinning, enableHiding, localization, enableColumnResizing, mrtTheme: { menuBackgroundColor }, }, } = table;
|
4122
4168
|
const { columnOrder, columnPinning, density } = getState();
|
4123
4169
|
const handleToggleAllColumns = (value) => {
|
4124
4170
|
getAllLeafColumns()
|
@@ -4156,7 +4202,9 @@ const MRT_ShowHideColumnsMenu = (_a) => {
|
|
4156
4202
|
justifyContent: 'space-between',
|
4157
4203
|
p: '0.5rem',
|
4158
4204
|
pt: 0,
|
4159
|
-
}, children: [enableHiding && (jsxRuntime.jsx(Button__default["default"], { disabled: !getIsSomeColumnsVisible(), onClick: () => handleToggleAllColumns(false), children: localization.hideAll })), enableColumnOrdering && (jsxRuntime.jsx(Button__default["default"], { onClick: () => table.setColumnOrder(getDefaultColumnOrderIds(table.options, true)), children: localization.resetOrder })), enableColumnPinning && (jsxRuntime.jsx(Button__default["default"], { disabled: !getIsSomeColumnsPinned(), onClick: () => table.resetColumnPinning(true), children: localization.unpinAll })), enableHiding && (jsxRuntime.jsx(Button__default["default"], { disabled: getIsAllColumnsVisible(), onClick: () => handleToggleAllColumns(true), children: localization.showAll }))
|
4205
|
+
}, children: [enableHiding && (jsxRuntime.jsx(Button__default["default"], { disabled: !getIsSomeColumnsVisible(), onClick: () => handleToggleAllColumns(false), children: localization.hideAll })), enableColumnOrdering && (jsxRuntime.jsx(Button__default["default"], { onClick: () => table.setColumnOrder(getDefaultColumnOrderIds(table.options, true)), children: localization.resetOrder })), enableColumnPinning && (jsxRuntime.jsx(Button__default["default"], { disabled: !getIsSomeColumnsPinned(), onClick: () => table.resetColumnPinning(true), children: localization.unpinAll })), enableHiding && (jsxRuntime.jsx(Button__default["default"], { disabled: getIsAllColumnsVisible(), onClick: () => handleToggleAllColumns(true), children: localization.showAll })), enableColumnResizing && (jsxRuntime.jsx(Button__default["default"], { onClick: () => {
|
4206
|
+
table.resetColumnSizing(true);
|
4207
|
+
}, children: localization.resetColumnSize }))] }), jsxRuntime.jsx(Divider__default["default"], {}), allColumns.map((column, index) => (jsxRuntime.jsx(MRT_ShowHideColumnsMenuItems, { allColumns: allColumns, column: column, hoveredColumn: hoveredColumn, isNestedColumns: isNestedColumns, setHoveredColumn: setHoveredColumn, table: table }, `${index}-${column.id}`)))] })));
|
4160
4208
|
};
|
4161
4209
|
|
4162
4210
|
const MRT_ShowHideColumnsButton = (_a) => {
|
@@ -4365,6 +4413,7 @@ const MRT_TablePaper = (_a) => {
|
|
4365
4413
|
const isTableInstanceProp = (props) => props.table !== undefined;
|
4366
4414
|
const MaterialReactTable = (props) => {
|
4367
4415
|
let table;
|
4416
|
+
debugger;
|
4368
4417
|
if (isTableInstanceProp(props)) {
|
4369
4418
|
table = props.table;
|
4370
4419
|
}
|