material-react-table 0.16.1 → 0.16.2
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 +9 -1
- package/dist/material-react-table.cjs.development.js +32 -23
- 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 +32 -23
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/utils.d.ts +2 -2
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +16 -0
- package/src/body/MRT_TableBodyCell.tsx +4 -2
- package/src/head/MRT_DraggableTableHeadCell.tsx +5 -7
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +5 -9
- package/src/table/MRT_TableRoot.tsx +24 -0
- package/src/utils.ts +3 -9
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChangeEvent, Dispatch, FC, FocusEvent, MouseEvent, ReactNode, SetStateAction } from 'react';
|
|
2
2
|
import { AlertProps, ButtonProps, CheckboxProps, IconButtonProps, LinearProgressProps, PaperProps, SkeletonProps, TableBodyProps, TableCellProps, TableContainerProps, TableFooterProps, TableHeadProps, TablePaginationProps, TableProps, TableRowProps, TextFieldProps, ToolbarProps } from '@mui/material';
|
|
3
|
-
import { Cell, Column, ColumnDef, FilterFn, FilterFnOption, Header, HeaderGroup, OnChangeFn, Overwrite, ReactTableGenerics, Row, SortingFn, SortingFnOption, TableGenerics, TableInstance, TableState, UseTableInstanceOptions, VisibilityState } from '@tanstack/react-table';
|
|
3
|
+
import { Cell, Column, ColumnDef, ColumnOrderState, ColumnPinningState, FilterFn, FilterFnOption, Header, HeaderGroup, OnChangeFn, Overwrite, ReactTableGenerics, Row, SortingFn, SortingFnOption, TableGenerics, TableInstance, TableState, UseTableInstanceOptions, VisibilityState } from '@tanstack/react-table';
|
|
4
4
|
import { Options as VirtualizerOptions } from 'react-virtual';
|
|
5
5
|
import { MRT_Localization } from './localization';
|
|
6
6
|
import { MRT_Icons } from './icons';
|
|
@@ -338,6 +338,14 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
|
|
|
338
338
|
filterValue: any;
|
|
339
339
|
instance: MRT_TableInstance<D>;
|
|
340
340
|
}) => void;
|
|
341
|
+
onColumnOrderChanged?: ({ columnOrder, instance, }: {
|
|
342
|
+
columnOrder: ColumnOrderState;
|
|
343
|
+
instance: MRT_TableInstance<D>;
|
|
344
|
+
}) => void;
|
|
345
|
+
onColumnPinningChanged?: ({ columnPinning, instance, }: {
|
|
346
|
+
columnPinning: ColumnPinningState;
|
|
347
|
+
instance: MRT_TableInstance<D>;
|
|
348
|
+
}) => void;
|
|
341
349
|
onColumnVisibilityChanged?: ({ column, columnVisibility, instance, }: {
|
|
342
350
|
column: MRT_Column<D>;
|
|
343
351
|
columnVisibility: VisibilityState;
|
|
@@ -29,10 +29,6 @@ function _extends() {
|
|
|
29
29
|
return _extends.apply(this, arguments);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
function _objectDestructuringEmpty(obj) {
|
|
33
|
-
if (obj == null) throw new TypeError("Cannot destructure undefined");
|
|
34
|
-
}
|
|
35
|
-
|
|
36
32
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
37
33
|
if (source == null) return {};
|
|
38
34
|
var target = {};
|
|
@@ -3404,13 +3400,13 @@ var createDataColumn = function createDataColumn(table, column, currentFilterFns
|
|
|
3404
3400
|
var createDisplayColumn = function createDisplayColumn(table, column) {
|
|
3405
3401
|
return table.createDisplayColumn(column);
|
|
3406
3402
|
};
|
|
3407
|
-
var reorderColumn = function reorderColumn(movingColumn, receivingColumn, columnOrder
|
|
3403
|
+
var reorderColumn = function reorderColumn(movingColumn, receivingColumn, columnOrder) {
|
|
3408
3404
|
if (movingColumn.getCanPin()) {
|
|
3409
3405
|
movingColumn.pin(receivingColumn.getIsPinned());
|
|
3410
3406
|
}
|
|
3411
3407
|
|
|
3412
3408
|
columnOrder.splice(columnOrder.indexOf(receivingColumn.id), 0, columnOrder.splice(columnOrder.indexOf(movingColumn.id), 1)[0]);
|
|
3413
|
-
|
|
3409
|
+
return [].concat(columnOrder);
|
|
3414
3410
|
};
|
|
3415
3411
|
var getLeadingDisplayColumnIds = function getLeadingDisplayColumnIds(props) {
|
|
3416
3412
|
return [(props.positionActionsColumn === 'first' && props.enableRowActions || props.enableEditing && props.editingMode === 'row') && 'mrt-row-actions', (props.enableExpanding || props.enableGrouping) && 'mrt-expand', props.enableRowSelection && 'mrt-select', props.enableRowNumbers && 'mrt-row-numbers'].filter(Boolean);
|
|
@@ -3437,12 +3433,10 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
3437
3433
|
enableHiding = _instance$options.enableHiding,
|
|
3438
3434
|
enablePinning = _instance$options.enablePinning,
|
|
3439
3435
|
localization = _instance$options.localization,
|
|
3440
|
-
onColumnVisibilityChanged = _instance$options.onColumnVisibilityChanged,
|
|
3441
3436
|
setColumnOrder = instance.setColumnOrder;
|
|
3442
3437
|
|
|
3443
3438
|
var _getState = getState(),
|
|
3444
|
-
columnOrder = _getState.columnOrder
|
|
3445
|
-
columnVisibility = _getState.columnVisibility;
|
|
3439
|
+
columnOrder = _getState.columnOrder;
|
|
3446
3440
|
|
|
3447
3441
|
var columnDef = column.columnDef,
|
|
3448
3442
|
columnDefType = column.columnDefType;
|
|
@@ -3450,7 +3444,8 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
3450
3444
|
var _useDrop = useDrop({
|
|
3451
3445
|
accept: 'column',
|
|
3452
3446
|
drop: function drop(movingColumn) {
|
|
3453
|
-
|
|
3447
|
+
var newColumnOrder = reorderColumn(movingColumn, column, columnOrder);
|
|
3448
|
+
setColumnOrder(newColumnOrder);
|
|
3454
3449
|
}
|
|
3455
3450
|
}),
|
|
3456
3451
|
dropRef = _useDrop[1];
|
|
@@ -3483,12 +3478,6 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
3483
3478
|
} else {
|
|
3484
3479
|
column.toggleVisibility();
|
|
3485
3480
|
}
|
|
3486
|
-
|
|
3487
|
-
onColumnVisibilityChanged == null ? void 0 : onColumnVisibilityChanged({
|
|
3488
|
-
column: column,
|
|
3489
|
-
columnVisibility: columnVisibility,
|
|
3490
|
-
instance: instance
|
|
3491
|
-
});
|
|
3492
3481
|
};
|
|
3493
3482
|
|
|
3494
3483
|
return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.MenuItem, {
|
|
@@ -6332,11 +6321,8 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
6332
6321
|
var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
|
|
6333
6322
|
var header = _ref.header,
|
|
6334
6323
|
instance = _ref.instance;
|
|
6335
|
-
var getState = instance.getState
|
|
6336
|
-
|
|
6337
|
-
_objectDestructuringEmpty(instance.options);
|
|
6338
|
-
|
|
6339
|
-
var setColumnOrder = instance.setColumnOrder;
|
|
6324
|
+
var getState = instance.getState,
|
|
6325
|
+
setColumnOrder = instance.setColumnOrder;
|
|
6340
6326
|
|
|
6341
6327
|
var _getState = getState(),
|
|
6342
6328
|
columnOrder = _getState.columnOrder;
|
|
@@ -6346,7 +6332,8 @@ var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
|
|
|
6346
6332
|
var _useDrop = useDrop({
|
|
6347
6333
|
accept: 'column',
|
|
6348
6334
|
drop: function drop(movingColumn) {
|
|
6349
|
-
|
|
6335
|
+
var newColumnOrder = reorderColumn(movingColumn, column, columnOrder);
|
|
6336
|
+
setColumnOrder(newColumnOrder);
|
|
6350
6337
|
}
|
|
6351
6338
|
}),
|
|
6352
6339
|
dropRef = _useDrop[1];
|
|
@@ -7105,7 +7092,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
7105
7092
|
var _useDrop = useDrop({
|
|
7106
7093
|
accept: 'column',
|
|
7107
7094
|
drop: function drop(movingColumn) {
|
|
7108
|
-
|
|
7095
|
+
var newColumnOrder = reorderColumn(movingColumn, column, columnOrder);
|
|
7096
|
+
setColumnOrder(newColumnOrder);
|
|
7109
7097
|
}
|
|
7110
7098
|
}),
|
|
7111
7099
|
dropRef = _useDrop[1];
|
|
@@ -7855,6 +7843,27 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7855
7843
|
(_sessionStorage = sessionStorage).setItem.apply(_sessionStorage, itemArgs);
|
|
7856
7844
|
}
|
|
7857
7845
|
}, [props.enablePersistentState, props.tableId, props.persistentStateMode, instance]);
|
|
7846
|
+
React.useEffect(function () {
|
|
7847
|
+
props == null ? void 0 : props.onColumnOrderChanged == null ? void 0 : props.onColumnOrderChanged({
|
|
7848
|
+
columnOrder: instance.getState().columnOrder,
|
|
7849
|
+
//@ts-ignore
|
|
7850
|
+
instance: instance
|
|
7851
|
+
});
|
|
7852
|
+
}, [instance.getState().columnOrder]);
|
|
7853
|
+
React.useEffect(function () {
|
|
7854
|
+
props == null ? void 0 : props.onColumnPinningChanged == null ? void 0 : props.onColumnPinningChanged({
|
|
7855
|
+
columnPinning: instance.getState().columnPinning,
|
|
7856
|
+
//@ts-ignore
|
|
7857
|
+
instance: instance
|
|
7858
|
+
});
|
|
7859
|
+
}, [instance.getState().columnPinning]);
|
|
7860
|
+
React.useEffect(function () {
|
|
7861
|
+
props == null ? void 0 : props.onColumnVisibilityChanged == null ? void 0 : props.onColumnVisibilityChanged({
|
|
7862
|
+
columnPinning: instance.getState().columnVisibility,
|
|
7863
|
+
//@ts-ignore
|
|
7864
|
+
instance: instance
|
|
7865
|
+
});
|
|
7866
|
+
}, [instance.getState().columnVisibility]);
|
|
7858
7867
|
return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Dialog, {
|
|
7859
7868
|
PaperComponent: material.Box,
|
|
7860
7869
|
TransitionComponent: material.Grow,
|