material-react-table-narender 2.13.4 → 2.13.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
}
|