material-react-table 0.6.8 → 0.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/MaterialReactTable.d.ts +4 -3
- package/dist/material-react-table.cjs.development.js +35 -18
- package/dist/material-react-table.cjs.development.js.map +1 -1
- package/dist/material-react-table.cjs.production.min.js +1 -1
- package/dist/material-react-table.cjs.production.min.js.map +1 -1
- package/dist/material-react-table.esm.js +35 -18
- package/dist/material-react-table.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +12 -4
- package/src/body/MRT_TableBodyRow.tsx +15 -1
- package/src/head/MRT_TableHeadRow.tsx +12 -1
- package/src/inputs/MRT_SelectCheckbox.tsx +58 -35
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChangeEvent, FC, MouseEvent, ReactNode } from 'react';
|
|
2
|
-
import { AlertProps, IconButtonProps, LinearProgressProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
|
|
2
|
+
import { AlertProps, CheckboxProps, IconButtonProps, LinearProgressProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
|
|
3
3
|
import { Cell, Column, ColumnInstance, FilterType, ColumnInterface, HeaderGroup, Row, TableInstance, TableOptions, TableState, UseColumnOrderInstanceProps, UseColumnOrderState, UseExpandedInstanceProps, UseExpandedOptions, UseExpandedRowProps, UseExpandedState, UseFiltersColumnOptions, UseFiltersColumnProps, UseFiltersInstanceProps, UseFiltersOptions, UseFiltersState, UseGlobalFiltersColumnOptions, UseGlobalFiltersInstanceProps, UseGlobalFiltersOptions, UseGlobalFiltersState, UseGroupByCellProps, UseGroupByColumnOptions, UseGroupByColumnProps, UseGroupByInstanceProps, UseGroupByOptions, UseGroupByRowProps, UseGroupByState, UsePaginationInstanceProps, UsePaginationOptions, UsePaginationState, UseResizeColumnsColumnOptions, UseResizeColumnsColumnProps, UseResizeColumnsOptions, UseResizeColumnsState, UseRowSelectInstanceProps, UseRowSelectOptions, UseRowSelectRowProps, UseRowSelectState, UseRowStateCellProps, UseRowStateInstanceProps, UseRowStateOptions, UseRowStateRowProps, UseRowStateState, UseSortByColumnOptions, UseSortByColumnProps, UseSortByInstanceProps, UseSortByOptions, UseSortByState, UseTableHeaderGroupProps, UseTableInstanceProps, UseTableOptions } from 'react-table';
|
|
4
4
|
import { MRT_Localization } from './localization';
|
|
5
5
|
import { MRT_Icons } from './icons';
|
|
@@ -104,6 +104,7 @@ export declare type MaterialReactTableProps<D extends {} = {}> = UseTableOptions
|
|
|
104
104
|
localization?: Partial<MRT_Localization>;
|
|
105
105
|
muiLinearProgressProps?: LinearProgressProps | ((tableInstance: MRT_TableInstance) => LinearProgressProps);
|
|
106
106
|
muiSearchTextFieldProps?: TextFieldProps;
|
|
107
|
+
muiSelectCheckboxProps?: CheckboxProps | ((isSelectAll?: boolean, row?: MRT_Row<D>, tableInstance?: MRT_TableInstance<D>) => CheckboxProps);
|
|
107
108
|
muiTableBodyCellEditTextFieldProps?: TextFieldProps | ((cell?: MRT_Cell<D>) => TextFieldProps);
|
|
108
109
|
muiTableBodyCellProps?: TableCellProps | ((cell?: MRT_Cell<D>) => TableCellProps);
|
|
109
110
|
muiTableBodyCellSkeletonProps?: SkeletonProps | ((cell?: MRT_Cell<D>) => SkeletonProps);
|
|
@@ -112,9 +113,9 @@ export declare type MaterialReactTableProps<D extends {} = {}> = UseTableOptions
|
|
|
112
113
|
muiTableContainerProps?: TableContainerProps | ((tableInstance: MRT_TableInstance<D>) => TableContainerProps);
|
|
113
114
|
muiTableDetailPanelProps?: TableCellProps | ((row: Row<D>) => TableCellProps);
|
|
114
115
|
muiTableFooterCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
|
|
115
|
-
muiTableHeadCellColumnActionsButtonProps?: IconButtonProps | ((column: Column<D>) => IconButtonProps);
|
|
116
116
|
muiTableFooterProps?: TableFooterProps | ((tableInstance: MRT_TableInstance<D>) => TableFooterProps);
|
|
117
117
|
muiTableFooterRowProps?: TableRowProps | ((footerGroup: MRT_HeaderGroup<D>) => TableRowProps);
|
|
118
|
+
muiTableHeadCellColumnActionsButtonProps?: IconButtonProps | ((column: Column<D>) => IconButtonProps);
|
|
118
119
|
muiTableHeadCellFilterTextFieldProps?: TextFieldProps | ((column: Column<D>) => TextFieldProps);
|
|
119
120
|
muiTableHeadCellProps?: TableCellProps | ((column: Column<D>) => TableCellProps);
|
|
120
121
|
muiTableHeadProps?: TableHeadProps | ((tableInstance: MRT_TableInstance<D>) => TableHeadProps);
|
|
@@ -131,7 +132,7 @@ export declare type MaterialReactTableProps<D extends {} = {}> = UseTableOptions
|
|
|
131
132
|
onRowClick?: (event: MouseEvent<HTMLTableRowElement>, row: Row<D>) => void;
|
|
132
133
|
onRowEditSubmit?: (row: Row<D>) => Promise<void> | void;
|
|
133
134
|
onRowExpandChange?: (event: MouseEvent<HTMLButtonElement>, row: Row<D>) => void;
|
|
134
|
-
|
|
135
|
+
onSelectChange?: (event: ChangeEvent, row: Row<D>, selectedRows: Row<D>[]) => void;
|
|
135
136
|
onSelectAllChange?: (event: ChangeEvent, selectedRows: Row<D>[]) => void;
|
|
136
137
|
positionActionsColumn?: 'first' | 'last';
|
|
137
138
|
positionPagination?: 'bottom' | 'top' | 'both';
|
|
@@ -1310,31 +1310,36 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
|
|
|
1310
1310
|
|
|
1311
1311
|
var _useMRT = useMRT(),
|
|
1312
1312
|
localization = _useMRT.localization,
|
|
1313
|
-
|
|
1313
|
+
muiSelectCheckboxProps = _useMRT.muiSelectCheckboxProps,
|
|
1314
|
+
onSelectChange = _useMRT.onSelectChange,
|
|
1314
1315
|
onSelectAllChange = _useMRT.onSelectAllChange,
|
|
1315
|
-
tableInstance = _useMRT.tableInstance
|
|
1316
|
+
tableInstance = _useMRT.tableInstance,
|
|
1317
|
+
densePadding = _useMRT.tableInstance.state.densePadding;
|
|
1316
1318
|
|
|
1317
|
-
var
|
|
1319
|
+
var handleSelectChange = function handleSelectChange(event) {
|
|
1318
1320
|
if (selectAll) {
|
|
1319
1321
|
var _tableInstance$getTog;
|
|
1320
1322
|
|
|
1321
1323
|
tableInstance == null ? void 0 : tableInstance.getToggleAllRowsSelectedProps == null ? void 0 : (_tableInstance$getTog = tableInstance.getToggleAllRowsSelectedProps()) == null ? void 0 : _tableInstance$getTog.onChange == null ? void 0 : _tableInstance$getTog.onChange(event);
|
|
1322
|
-
onSelectAllChange == null ? void 0 : onSelectAllChange(event, tableInstance.
|
|
1324
|
+
onSelectAllChange == null ? void 0 : onSelectAllChange(event, event.target.checked ? tableInstance.rows : []);
|
|
1323
1325
|
} else if (row) {
|
|
1324
1326
|
var _row$getToggleRowSele;
|
|
1325
1327
|
|
|
1326
1328
|
row == null ? void 0 : (_row$getToggleRowSele = row.getToggleRowSelectedProps()) == null ? void 0 : _row$getToggleRowSele.onChange == null ? void 0 : _row$getToggleRowSele.onChange(event);
|
|
1327
|
-
|
|
1329
|
+
onSelectChange == null ? void 0 : onSelectChange(event, row, event.target.checked ? [].concat(tableInstance.selectedFlatRows, [row]) : tableInstance.selectedFlatRows.filter(function (selectedRow) {
|
|
1330
|
+
return selectedRow.id !== row.id;
|
|
1331
|
+
}));
|
|
1328
1332
|
}
|
|
1329
1333
|
};
|
|
1330
1334
|
|
|
1331
|
-
var
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1335
|
+
var mTableBodyRowSelectCheckboxProps = muiSelectCheckboxProps instanceof Function ? muiSelectCheckboxProps(selectAll, row, tableInstance) : muiSelectCheckboxProps;
|
|
1336
|
+
var rtSelectCheckboxProps = selectAll ? tableInstance.getToggleAllRowsSelectedProps() : row == null ? void 0 : row.getToggleRowSelectedProps();
|
|
1337
|
+
|
|
1338
|
+
var checkboxProps = _extends({}, mTableBodyRowSelectCheckboxProps, rtSelectCheckboxProps, {
|
|
1339
|
+
style: _extends({}, rtSelectCheckboxProps == null ? void 0 : rtSelectCheckboxProps.style, mTableBodyRowSelectCheckboxProps == null ? void 0 : mTableBodyRowSelectCheckboxProps.style)
|
|
1340
|
+
});
|
|
1341
|
+
|
|
1342
|
+
return React__default.createElement(material.Tooltip, {
|
|
1338
1343
|
arrow: true,
|
|
1339
1344
|
enterDelay: 1000,
|
|
1340
1345
|
enterNextDelay: 1000,
|
|
@@ -1343,10 +1348,11 @@ var MRT_SelectCheckbox = function MRT_SelectCheckbox(_ref) {
|
|
|
1343
1348
|
inputProps: {
|
|
1344
1349
|
'aria-label': selectAll ? localization.toggleSelectAll : localization.toggleSelectRow
|
|
1345
1350
|
},
|
|
1346
|
-
|
|
1351
|
+
size: densePadding ? 'small' : 'medium'
|
|
1347
1352
|
}, checkboxProps, {
|
|
1353
|
+
onChange: handleSelectChange,
|
|
1348
1354
|
title: undefined
|
|
1349
|
-
})))
|
|
1355
|
+
})));
|
|
1350
1356
|
};
|
|
1351
1357
|
|
|
1352
1358
|
var MRT_ExpandAllButton = function MRT_ExpandAllButton() {
|
|
@@ -1435,9 +1441,14 @@ var MRT_TableHeadRow = function MRT_TableHeadRow(_ref) {
|
|
|
1435
1441
|
sx: _extends({}, commonTableHeadCellStyles(tableInstance.state.densePadding))
|
|
1436
1442
|
}, "#")), (enableRowActions || enableRowEditing) && positionActionsColumn === 'first' && (isParentHeader ? React__default.createElement(MRT_TableSpacerCell, null) : React__default.createElement(MRT_TableHeadCellActions, null)), anyRowsCanExpand || renderDetailPanel ? !disableExpandAll && !isParentHeader ? React__default.createElement(MRT_ExpandAllButton, null) : React__default.createElement(MRT_TableSpacerCell, {
|
|
1437
1443
|
width: (renderDetailPanel ? 2 : tableInstance.expandedDepth + 0.5) + "rem"
|
|
1438
|
-
}) : null, enableSelection ? !isParentHeader && !disableSelectAll ? React__default.createElement(
|
|
1444
|
+
}) : null, enableSelection ? !isParentHeader && !disableSelectAll ? React__default.createElement(material.TableCell, {
|
|
1445
|
+
sx: _extends({}, commonTableBodyButtonCellStyles(tableInstance.state.densePadding), {
|
|
1446
|
+
maxWidth: '3rem',
|
|
1447
|
+
width: '3rem'
|
|
1448
|
+
})
|
|
1449
|
+
}, React__default.createElement(MRT_SelectCheckbox, {
|
|
1439
1450
|
selectAll: true
|
|
1440
|
-
}) : React__default.createElement(MRT_TableSpacerCell, {
|
|
1451
|
+
})) : React__default.createElement(MRT_TableSpacerCell, {
|
|
1441
1452
|
width: "1rem"
|
|
1442
1453
|
}) : null, headerGroup.headers.map(function (column) {
|
|
1443
1454
|
return React__default.createElement(MRT_TableHeadCell, {
|
|
@@ -2468,6 +2479,7 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
|
2468
2479
|
onRowClick = _useMRT.onRowClick,
|
|
2469
2480
|
positionActionsColumn = _useMRT.positionActionsColumn,
|
|
2470
2481
|
renderDetailPanel = _useMRT.renderDetailPanel,
|
|
2482
|
+
tableInstance = _useMRT.tableInstance,
|
|
2471
2483
|
densePadding = _useMRT.tableInstance.state.densePadding;
|
|
2472
2484
|
|
|
2473
2485
|
var mTableBodyRowProps = muiTableBodyRowProps instanceof Function ? muiTableBodyRowProps(row) : muiTableBodyRowProps;
|
|
@@ -2488,9 +2500,14 @@ var MRT_TableBodyRow = function MRT_TableBodyRow(_ref) {
|
|
|
2488
2500
|
row: row
|
|
2489
2501
|
}), (anyRowsCanExpand || renderDetailPanel) && React__default.createElement(MRT_ExpandButton, {
|
|
2490
2502
|
row: row
|
|
2491
|
-
}), enableSelection && React__default.createElement(
|
|
2503
|
+
}), enableSelection && React__default.createElement(material.TableCell, {
|
|
2504
|
+
sx: _extends({}, commonTableBodyButtonCellStyles(tableInstance.state.densePadding), {
|
|
2505
|
+
maxWidth: '3rem',
|
|
2506
|
+
width: '3rem'
|
|
2507
|
+
})
|
|
2508
|
+
}, React__default.createElement(MRT_SelectCheckbox, {
|
|
2492
2509
|
row: row
|
|
2493
|
-
}), row.cells.map(function (cell) {
|
|
2510
|
+
})), row.cells.map(function (cell) {
|
|
2494
2511
|
return React__default.createElement(MRT_TableBodyCell, {
|
|
2495
2512
|
key: cell.getCellProps().key,
|
|
2496
2513
|
cell: cell
|