material-react-table 0.16.0 → 0.17.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/README.md +1 -1
- package/dist/MaterialReactTable.d.ts +11 -4
- package/dist/localization.d.ts +1 -1
- package/dist/material-react-table.cjs.development.js +88 -104
- 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 +89 -105
- 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 +17 -4
- package/src/body/MRT_TableBodyCell.tsx +4 -2
- package/src/head/MRT_DraggableTableHeadCell.tsx +5 -7
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +0 -1
- package/src/inputs/MRT_FilterRangeFields.tsx +1 -14
- package/src/inputs/MRT_FilterTextField.tsx +31 -35
- package/src/localization.ts +2 -2
- package/src/menus/MRT_ColumnActionMenu.tsx +28 -11
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +64 -34
- package/src/table/MRT_TablePaper.tsx +3 -0
- package/src/table/MRT_TableRoot.tsx +25 -51
- package/src/toolbar/MRT_TablePagination.tsx +9 -4
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +5 -1
- package/src/utils.ts +3 -9
package/README.md
CHANGED
|
@@ -59,7 +59,7 @@ _All features can easily be enabled/disabled_
|
|
|
59
59
|
- [x] Localization (i18n) support
|
|
60
60
|
- [x] Manage your own state
|
|
61
61
|
- [x] Pagination (supports client-side and server-side)
|
|
62
|
-
- [x]
|
|
62
|
+
- [x] Remote/Server-side sorting and filtering supported
|
|
63
63
|
- [x] Row Actions
|
|
64
64
|
- [x] Row Numbers
|
|
65
65
|
- [x] Row Selection (checkboxes)
|
|
@@ -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';
|
|
@@ -198,7 +198,6 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
|
|
|
198
198
|
enableGlobalFilterChangeMode?: boolean;
|
|
199
199
|
enableGlobalFilterRankedResults?: boolean;
|
|
200
200
|
enablePagination?: boolean;
|
|
201
|
-
enablePersistentState?: boolean;
|
|
202
201
|
enableRowActions?: boolean;
|
|
203
202
|
enableRowNumbers?: boolean;
|
|
204
203
|
enableRowVirtualization?: boolean;
|
|
@@ -338,6 +337,14 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
|
|
|
338
337
|
filterValue: any;
|
|
339
338
|
instance: MRT_TableInstance<D>;
|
|
340
339
|
}) => void;
|
|
340
|
+
onColumnOrderChanged?: ({ columnOrder, instance, }: {
|
|
341
|
+
columnOrder: ColumnOrderState;
|
|
342
|
+
instance: MRT_TableInstance<D>;
|
|
343
|
+
}) => void;
|
|
344
|
+
onColumnPinningChanged?: ({ columnPinning, instance, }: {
|
|
345
|
+
columnPinning: ColumnPinningState;
|
|
346
|
+
instance: MRT_TableInstance<D>;
|
|
347
|
+
}) => void;
|
|
341
348
|
onColumnVisibilityChanged?: ({ column, columnVisibility, instance, }: {
|
|
342
349
|
column: MRT_Column<D>;
|
|
343
350
|
columnVisibility: VisibilityState;
|
|
@@ -411,7 +418,6 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
|
|
|
411
418
|
instance: MRT_TableInstance<D>;
|
|
412
419
|
showGlobalFilter: boolean;
|
|
413
420
|
}) => void;
|
|
414
|
-
persistentStateMode?: 'localStorage' | 'sessionStorage';
|
|
415
421
|
positionActionsColumn?: 'first' | 'last';
|
|
416
422
|
positionGlobalFilter?: 'left' | 'right';
|
|
417
423
|
positionPagination?: 'bottom' | 'top' | 'both';
|
|
@@ -453,10 +459,11 @@ export declare type MaterialReactTableProps<D extends Record<string, any> = {}>
|
|
|
453
459
|
instance: MRT_TableInstance<D>;
|
|
454
460
|
}>;
|
|
455
461
|
}) => ReactNode;
|
|
462
|
+
rowCount?: number;
|
|
456
463
|
rowNumberMode?: 'original' | 'static';
|
|
457
464
|
selectAllMode?: 'all' | 'page';
|
|
458
465
|
tableId?: string;
|
|
459
466
|
virtualizerProps?: Partial<VirtualizerOptions<HTMLDivElement>>;
|
|
460
467
|
};
|
|
461
|
-
declare const _default: <D extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableColumnActions, enableColumnFilterChangeMode, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterChangeMode, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization,
|
|
468
|
+
declare const _default: <D extends Record<string, any> = {}>({ autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableColumnActions, enableColumnFilterChangeMode, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterChangeMode, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarBottom, enableToolbarInternalActions, enableToolbarTop, icons, localization, positionActionsColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, rowNumberMode, selectAllMode, ...rest }: MaterialReactTableProps<D>) => JSX.Element;
|
|
462
469
|
export default _default;
|
package/dist/localization.d.ts
CHANGED
|
@@ -55,11 +55,11 @@ export interface MRT_Localization {
|
|
|
55
55
|
sortedByColumnAsc: string;
|
|
56
56
|
sortedByColumnDesc: string;
|
|
57
57
|
thenBy: string;
|
|
58
|
-
to: string;
|
|
59
58
|
toggleDensity: string;
|
|
60
59
|
toggleFullScreen: string;
|
|
61
60
|
toggleSelectAll: string;
|
|
62
61
|
toggleSelectRow: string;
|
|
62
|
+
toggleVisibility: string;
|
|
63
63
|
ungroupByColumn: string;
|
|
64
64
|
unpin: string;
|
|
65
65
|
unpinAll: string;
|
|
@@ -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 = {};
|
|
@@ -105,11 +101,11 @@ var MRT_DefaultLocalization_EN = {
|
|
|
105
101
|
sortedByColumnAsc: 'Sorted by {column} ascending',
|
|
106
102
|
sortedByColumnDesc: 'Sorted by {column} descending',
|
|
107
103
|
thenBy: ', then by ',
|
|
108
|
-
to: 'to',
|
|
109
104
|
toggleDensity: 'Toggle density',
|
|
110
105
|
toggleFullScreen: 'Toggle full screen',
|
|
111
106
|
toggleSelectAll: 'Toggle select all',
|
|
112
107
|
toggleSelectRow: 'Toggle select row',
|
|
108
|
+
toggleVisibility: 'Toggle visibility',
|
|
113
109
|
ungroupByColumn: 'Ungroup by {column}',
|
|
114
110
|
unpin: 'Unpin',
|
|
115
111
|
unpinAll: 'Unpin all',
|
|
@@ -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);
|
|
@@ -3434,12 +3430,13 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
3434
3430
|
var getState = instance.getState,
|
|
3435
3431
|
_instance$options = instance.options,
|
|
3436
3432
|
enableColumnOrdering = _instance$options.enableColumnOrdering,
|
|
3437
|
-
|
|
3433
|
+
enableHiding = _instance$options.enableHiding,
|
|
3434
|
+
enablePinning = _instance$options.enablePinning,
|
|
3435
|
+
localization = _instance$options.localization,
|
|
3438
3436
|
setColumnOrder = instance.setColumnOrder;
|
|
3439
3437
|
|
|
3440
3438
|
var _getState = getState(),
|
|
3441
|
-
columnOrder = _getState.columnOrder
|
|
3442
|
-
columnVisibility = _getState.columnVisibility;
|
|
3439
|
+
columnOrder = _getState.columnOrder;
|
|
3443
3440
|
|
|
3444
3441
|
var columnDef = column.columnDef,
|
|
3445
3442
|
columnDefType = column.columnDefType;
|
|
@@ -3447,7 +3444,8 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
3447
3444
|
var _useDrop = useDrop({
|
|
3448
3445
|
accept: 'column',
|
|
3449
3446
|
drop: function drop(movingColumn) {
|
|
3450
|
-
|
|
3447
|
+
var newColumnOrder = reorderColumn(movingColumn, column, columnOrder);
|
|
3448
|
+
setColumnOrder(newColumnOrder);
|
|
3451
3449
|
}
|
|
3452
3450
|
}),
|
|
3453
3451
|
dropRef = _useDrop[1];
|
|
@@ -3480,12 +3478,6 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
3480
3478
|
} else {
|
|
3481
3479
|
column.toggleVisibility();
|
|
3482
3480
|
}
|
|
3483
|
-
|
|
3484
|
-
onColumnVisibilityChanged == null ? void 0 : onColumnVisibilityChanged({
|
|
3485
|
-
column: column,
|
|
3486
|
-
columnVisibility: columnVisibility,
|
|
3487
|
-
instance: instance
|
|
3488
|
-
});
|
|
3489
3481
|
};
|
|
3490
3482
|
|
|
3491
3483
|
return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.MenuItem, {
|
|
@@ -3504,15 +3496,23 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
3504
3496
|
flexWrap: 'nowrap',
|
|
3505
3497
|
gap: '8px'
|
|
3506
3498
|
}
|
|
3507
|
-
}, columnDefType !== 'group' && enableColumnOrdering &&
|
|
3499
|
+
}, columnDefType !== 'group' && enableColumnOrdering && !allColumns.some(function (col) {
|
|
3508
3500
|
return col.columnDefType === 'group';
|
|
3509
|
-
}) && React__default.createElement(MRT_GrabHandleButton, {
|
|
3501
|
+
}) && (columnDef.enableColumnOrdering !== false ? React__default.createElement(MRT_GrabHandleButton, {
|
|
3510
3502
|
ref: dragRef,
|
|
3511
3503
|
instance: instance
|
|
3512
|
-
})
|
|
3504
|
+
}) : React__default.createElement(material.Box, {
|
|
3505
|
+
sx: {
|
|
3506
|
+
width: '28px'
|
|
3507
|
+
}
|
|
3508
|
+
})), enablePinning && !isSubMenu && (column.getCanPin() ? React__default.createElement(MRT_ColumnPinningButtons, {
|
|
3513
3509
|
column: column,
|
|
3514
3510
|
instance: instance
|
|
3515
|
-
})
|
|
3511
|
+
}) : React__default.createElement(material.Box, {
|
|
3512
|
+
sx: {
|
|
3513
|
+
width: '70px'
|
|
3514
|
+
}
|
|
3515
|
+
})), enableHiding ? React__default.createElement(material.FormControlLabel, {
|
|
3516
3516
|
componentsProps: {
|
|
3517
3517
|
typography: {
|
|
3518
3518
|
sx: {
|
|
@@ -3522,13 +3522,22 @@ var MRT_ShowHideColumnsMenuItems = function MRT_ShowHideColumnsMenuItems(_ref) {
|
|
|
3522
3522
|
}
|
|
3523
3523
|
},
|
|
3524
3524
|
checked: switchChecked,
|
|
3525
|
-
control: React__default.createElement(material.
|
|
3525
|
+
control: React__default.createElement(material.Tooltip, {
|
|
3526
|
+
arrow: true,
|
|
3527
|
+
enterDelay: 1000,
|
|
3528
|
+
enterNextDelay: 1000,
|
|
3529
|
+
title: localization.toggleVisibility
|
|
3530
|
+
}, React__default.createElement(material.Switch, null)),
|
|
3526
3531
|
disabled: isSubMenu && switchChecked || !column.getCanHide() || column.getIsGrouped(),
|
|
3527
3532
|
label: columnDef.header,
|
|
3528
3533
|
onChange: function onChange() {
|
|
3529
3534
|
return handleToggleColumnHidden(column);
|
|
3530
3535
|
}
|
|
3531
|
-
})
|
|
3536
|
+
}) : React__default.createElement(material.Typography, {
|
|
3537
|
+
sx: {
|
|
3538
|
+
alignSelf: 'center'
|
|
3539
|
+
}
|
|
3540
|
+
}, columnDef.header))), (_column$columns2 = column.columns) == null ? void 0 : _column$columns2.map(function (c, i) {
|
|
3532
3541
|
return React__default.createElement(MRT_ShowHideColumnsMenuItems, {
|
|
3533
3542
|
allColumns: allColumns,
|
|
3534
3543
|
key: i + "-" + c.id,
|
|
@@ -3642,7 +3651,7 @@ var commonListItemStyles = {
|
|
|
3642
3651
|
alignItems: 'center'
|
|
3643
3652
|
};
|
|
3644
3653
|
var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
3645
|
-
var _localization$sortByC, _localization$sortByC2, _localization$filterB, _localization, _localization$hideCol, _localization$showAll;
|
|
3654
|
+
var _columnDef$enabledCol, _localization$sortByC, _localization$sortByC2, _localization$filterB, _localization, _localization$hideCol, _localization$showAll;
|
|
3646
3655
|
|
|
3647
3656
|
var anchorEl = _ref.anchorEl,
|
|
3648
3657
|
header = _ref.header,
|
|
@@ -3652,12 +3661,14 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
3652
3661
|
toggleAllColumnsVisible = instance.toggleAllColumnsVisible,
|
|
3653
3662
|
setColumnOrder = instance.setColumnOrder,
|
|
3654
3663
|
_instance$options = instance.options,
|
|
3664
|
+
enableColumnFilterChangeMode = _instance$options.enableColumnFilterChangeMode,
|
|
3655
3665
|
enableColumnFilters = _instance$options.enableColumnFilters,
|
|
3656
3666
|
enableColumnResizing = _instance$options.enableColumnResizing,
|
|
3657
3667
|
enableGrouping = _instance$options.enableGrouping,
|
|
3658
3668
|
enableHiding = _instance$options.enableHiding,
|
|
3659
3669
|
enablePinning = _instance$options.enablePinning,
|
|
3660
3670
|
enableSorting = _instance$options.enableSorting,
|
|
3671
|
+
enabledColumnFilterOptions = _instance$options.enabledColumnFilterOptions,
|
|
3661
3672
|
_instance$options$ico = _instance$options.icons,
|
|
3662
3673
|
ArrowRightIcon = _instance$options$ico.ArrowRightIcon,
|
|
3663
3674
|
ClearAllIcon = _instance$options$ico.ClearAllIcon,
|
|
@@ -3757,6 +3768,9 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
3757
3768
|
setShowHideColumnsMenuAnchorEl(event.currentTarget);
|
|
3758
3769
|
};
|
|
3759
3770
|
|
|
3771
|
+
var isSelectFilter = !!columnDef.filterSelectOptions;
|
|
3772
|
+
var allowedColumnFilterOptions = (_columnDef$enabledCol = columnDef == null ? void 0 : columnDef.enabledColumnFilterOptions) != null ? _columnDef$enabledCol : enabledColumnFilterOptions;
|
|
3773
|
+
var showFilterModeSubMenu = enableColumnFilterChangeMode && columnDef.enableColumnFilterChangeMode !== false && !isSelectFilter && (allowedColumnFilterOptions === undefined || !!(allowedColumnFilterOptions != null && allowedColumnFilterOptions.length));
|
|
3760
3774
|
return React__default.createElement(material.Menu, {
|
|
3761
3775
|
anchorEl: anchorEl,
|
|
3762
3776
|
open: !!anchorEl,
|
|
@@ -3806,21 +3820,21 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
3806
3820
|
sx: commonMenuItemStyles$1
|
|
3807
3821
|
}, React__default.createElement(material.Box, {
|
|
3808
3822
|
sx: commonListItemStyles
|
|
3809
|
-
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(columnDef.header))),
|
|
3823
|
+
}, React__default.createElement(material.ListItemIcon, null, React__default.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(columnDef.header))), showFilterModeSubMenu && React__default.createElement(material.IconButton, {
|
|
3810
3824
|
onClick: handleOpenFilterModeMenu,
|
|
3811
3825
|
onMouseEnter: handleOpenFilterModeMenu,
|
|
3812
3826
|
size: "small",
|
|
3813
3827
|
sx: {
|
|
3814
3828
|
p: 0
|
|
3815
3829
|
}
|
|
3816
|
-
}, React__default.createElement(ArrowRightIcon, null))), React__default.createElement(MRT_FilterOptionMenu, {
|
|
3830
|
+
}, React__default.createElement(ArrowRightIcon, null))), showFilterModeSubMenu && React__default.createElement(MRT_FilterOptionMenu, {
|
|
3817
3831
|
anchorEl: filterMenuAnchorEl,
|
|
3818
3832
|
header: header,
|
|
3819
3833
|
key: 2,
|
|
3820
3834
|
onSelect: handleFilterByColumn,
|
|
3821
3835
|
setAnchorEl: setFilterMenuAnchorEl,
|
|
3822
3836
|
instance: instance
|
|
3823
|
-
})], enableGrouping && column.getCanGroup() && [React__default.createElement(material.MenuItem, {
|
|
3837
|
+
})].filter(Boolean), enableGrouping && column.getCanGroup() && [React__default.createElement(material.MenuItem, {
|
|
3824
3838
|
divider: enablePinning,
|
|
3825
3839
|
key: 0,
|
|
3826
3840
|
onClick: handleGroupByColumn,
|
|
@@ -5400,11 +5414,13 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
|
|
|
5400
5414
|
var instance = _ref.instance;
|
|
5401
5415
|
var _instance$options = instance.options,
|
|
5402
5416
|
enableColumnFilters = _instance$options.enableColumnFilters,
|
|
5417
|
+
enableColumnOrdering = _instance$options.enableColumnOrdering,
|
|
5403
5418
|
enableDensityToggle = _instance$options.enableDensityToggle,
|
|
5404
5419
|
enableFilters = _instance$options.enableFilters,
|
|
5405
5420
|
enableFullScreenToggle = _instance$options.enableFullScreenToggle,
|
|
5406
5421
|
enableGlobalFilter = _instance$options.enableGlobalFilter,
|
|
5407
5422
|
enableHiding = _instance$options.enableHiding,
|
|
5423
|
+
enablePinning = _instance$options.enablePinning,
|
|
5408
5424
|
positionGlobalFilter = _instance$options.positionGlobalFilter,
|
|
5409
5425
|
renderToolbarInternalActions = _instance$options.renderToolbarInternalActions;
|
|
5410
5426
|
return React__default.createElement(material.Box, {
|
|
@@ -5426,7 +5442,7 @@ var MRT_ToolbarInternalButtons = function MRT_ToolbarInternalButtons(_ref) {
|
|
|
5426
5442
|
instance: instance
|
|
5427
5443
|
}), enableFilters && enableColumnFilters && React__default.createElement(MRT_ToggleFiltersButton, {
|
|
5428
5444
|
instance: instance
|
|
5429
|
-
}), enableHiding && React__default.createElement(MRT_ShowHideColumnsButton, {
|
|
5445
|
+
}), (enableHiding || enableColumnOrdering || enablePinning) && React__default.createElement(MRT_ShowHideColumnsButton, {
|
|
5430
5446
|
instance: instance
|
|
5431
5447
|
}), enableDensityToggle && React__default.createElement(MRT_ToggleDensePaddingButton, {
|
|
5432
5448
|
instance: instance
|
|
@@ -5444,7 +5460,8 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
|
|
|
5444
5460
|
setPageSize = instance.setPageSize,
|
|
5445
5461
|
_instance$options = instance.options,
|
|
5446
5462
|
muiTablePaginationProps = _instance$options.muiTablePaginationProps,
|
|
5447
|
-
enableToolbarInternalActions = _instance$options.enableToolbarInternalActions
|
|
5463
|
+
enableToolbarInternalActions = _instance$options.enableToolbarInternalActions,
|
|
5464
|
+
rowCount = _instance$options.rowCount;
|
|
5448
5465
|
|
|
5449
5466
|
var _getState = getState(),
|
|
5450
5467
|
_getState$pagination = _getState.pagination,
|
|
@@ -5462,7 +5479,8 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
|
|
|
5462
5479
|
setPageSize(+event.target.value);
|
|
5463
5480
|
};
|
|
5464
5481
|
|
|
5465
|
-
var
|
|
5482
|
+
var totalRowCount = rowCount != null ? rowCount : getPrePaginationRowModel().rows.length;
|
|
5483
|
+
var showFirstLastPageButtons = totalRowCount / pageSize > 2;
|
|
5466
5484
|
return React__default.createElement(material.TablePagination, Object.assign({
|
|
5467
5485
|
SelectProps: {
|
|
5468
5486
|
sx: {
|
|
@@ -5475,7 +5493,7 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
|
|
|
5475
5493
|
}
|
|
5476
5494
|
},
|
|
5477
5495
|
component: "div",
|
|
5478
|
-
count:
|
|
5496
|
+
count: totalRowCount,
|
|
5479
5497
|
onPageChange: function onPageChange(_, newPage) {
|
|
5480
5498
|
return setPageIndex(newPage);
|
|
5481
5499
|
},
|
|
@@ -5729,7 +5747,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
|
|
|
5729
5747
|
};
|
|
5730
5748
|
|
|
5731
5749
|
var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
5732
|
-
var _localization$filterB, _columnDef$enabledCol,
|
|
5750
|
+
var _localization$filterB, _columnDef$enabledCol, _localization$filterM, _localization, _localization$clearFi, _columnDef$filterSele;
|
|
5733
5751
|
|
|
5734
5752
|
var header = _ref.header,
|
|
5735
5753
|
inputIndex = _ref.inputIndex,
|
|
@@ -5862,7 +5880,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
5862
5880
|
localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))] : '';
|
|
5863
5881
|
var filterPlaceholder = inputIndex === undefined ? (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(columnDef.header)) : inputIndex === 0 ? localization.min : inputIndex === 1 ? localization.max : '';
|
|
5864
5882
|
var allowedColumnFilterOptions = (_columnDef$enabledCol = columnDef == null ? void 0 : columnDef.enabledColumnFilterOptions) != null ? _columnDef$enabledCol : enabledColumnFilterOptions;
|
|
5865
|
-
var
|
|
5883
|
+
var showChangeModeButton = enableColumnFilterChangeMode && columnDef.enableColumnFilterChangeMode !== false && !isSelectFilter && !inputIndex && (allowedColumnFilterOptions === undefined || !!(allowedColumnFilterOptions != null && allowedColumnFilterOptions.length));
|
|
5866
5884
|
return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.TextField, Object.assign({
|
|
5867
5885
|
fullWidth: true,
|
|
5868
5886
|
id: filterId,
|
|
@@ -5874,7 +5892,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
5874
5892
|
},
|
|
5875
5893
|
title: filterPlaceholder
|
|
5876
5894
|
},
|
|
5877
|
-
helperText:
|
|
5895
|
+
helperText: showChangeModeButton ? React__default.createElement("label", {
|
|
5878
5896
|
htmlFor: filterId
|
|
5879
5897
|
}, filterFn instanceof Function ? (_localization$filterM = localization.filterMode.replace('{filterType}', // @ts-ignore
|
|
5880
5898
|
(_localization = localization["filter" + (filterFn.name.charAt(0).toUpperCase() + filterFn.name.slice(1))]) != null ? _localization : '')) != null ? _localization$filterM : '' : localization.filterMode.replace('{filterType}', // @ts-ignore
|
|
@@ -5896,7 +5914,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
5896
5914
|
value: filterValue != null ? filterValue : '',
|
|
5897
5915
|
variant: "standard",
|
|
5898
5916
|
InputProps: {
|
|
5899
|
-
startAdornment:
|
|
5917
|
+
startAdornment: showChangeModeButton ? React__default.createElement(material.InputAdornment, {
|
|
5900
5918
|
position: "start"
|
|
5901
5919
|
}, React__default.createElement(material.Tooltip, {
|
|
5902
5920
|
arrow: true,
|
|
@@ -5972,23 +5990,17 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
5972
5990
|
var MRT_FilterRangeFields = function MRT_FilterRangeFields(_ref) {
|
|
5973
5991
|
var header = _ref.header,
|
|
5974
5992
|
instance = _ref.instance;
|
|
5975
|
-
var localization = instance.options.localization;
|
|
5976
5993
|
return React__default.createElement(material.Box, {
|
|
5977
5994
|
sx: {
|
|
5978
5995
|
display: 'grid',
|
|
5979
|
-
gridTemplateColumns: '6fr
|
|
5996
|
+
gridTemplateColumns: '6fr 6fr',
|
|
5997
|
+
gap: '1rem'
|
|
5980
5998
|
}
|
|
5981
5999
|
}, React__default.createElement(MRT_FilterTextField, {
|
|
5982
6000
|
header: header,
|
|
5983
6001
|
inputIndex: 0,
|
|
5984
6002
|
instance: instance
|
|
5985
|
-
}), React__default.createElement(
|
|
5986
|
-
sx: {
|
|
5987
|
-
width: '100%',
|
|
5988
|
-
minWidth: '5ch',
|
|
5989
|
-
textAlign: 'center'
|
|
5990
|
-
}
|
|
5991
|
-
}, localization.to), React__default.createElement(MRT_FilterTextField, {
|
|
6003
|
+
}), React__default.createElement(MRT_FilterTextField, {
|
|
5992
6004
|
header: header,
|
|
5993
6005
|
inputIndex: 1,
|
|
5994
6006
|
instance: instance
|
|
@@ -6089,7 +6101,6 @@ var MRT_TableHeadCellResizeHandle = function MRT_TableHeadCellResizeHandle(_ref)
|
|
|
6089
6101
|
touchAction: 'none',
|
|
6090
6102
|
transition: column.getIsResizing() ? undefined : 'all 0.2s ease-in-out',
|
|
6091
6103
|
userSelect: 'none',
|
|
6092
|
-
zIndex: 2000,
|
|
6093
6104
|
'&:active': {
|
|
6094
6105
|
backgroundColor: theme.palette.info.main,
|
|
6095
6106
|
opacity: 1
|
|
@@ -6317,11 +6328,8 @@ var MRT_TableHeadCell = function MRT_TableHeadCell(_ref) {
|
|
|
6317
6328
|
var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
|
|
6318
6329
|
var header = _ref.header,
|
|
6319
6330
|
instance = _ref.instance;
|
|
6320
|
-
var getState = instance.getState
|
|
6321
|
-
|
|
6322
|
-
_objectDestructuringEmpty(instance.options);
|
|
6323
|
-
|
|
6324
|
-
var setColumnOrder = instance.setColumnOrder;
|
|
6331
|
+
var getState = instance.getState,
|
|
6332
|
+
setColumnOrder = instance.setColumnOrder;
|
|
6325
6333
|
|
|
6326
6334
|
var _getState = getState(),
|
|
6327
6335
|
columnOrder = _getState.columnOrder;
|
|
@@ -6331,7 +6339,8 @@ var MRT_DraggableTableHeadCell = function MRT_DraggableTableHeadCell(_ref) {
|
|
|
6331
6339
|
var _useDrop = useDrop({
|
|
6332
6340
|
accept: 'column',
|
|
6333
6341
|
drop: function drop(movingColumn) {
|
|
6334
|
-
|
|
6342
|
+
var newColumnOrder = reorderColumn(movingColumn, column, columnOrder);
|
|
6343
|
+
setColumnOrder(newColumnOrder);
|
|
6335
6344
|
}
|
|
6336
6345
|
}),
|
|
6337
6346
|
dropRef = _useDrop[1];
|
|
@@ -7090,7 +7099,8 @@ var MRT_TableBodyCell = function MRT_TableBodyCell(_ref) {
|
|
|
7090
7099
|
var _useDrop = useDrop({
|
|
7091
7100
|
accept: 'column',
|
|
7092
7101
|
drop: function drop(movingColumn) {
|
|
7093
|
-
|
|
7102
|
+
var newColumnOrder = reorderColumn(movingColumn, column, columnOrder);
|
|
7103
|
+
setColumnOrder(newColumnOrder);
|
|
7094
7104
|
}
|
|
7095
7105
|
}),
|
|
7096
7106
|
dropRef = _useDrop[1];
|
|
@@ -7578,7 +7588,8 @@ var MRT_TablePaper = function MRT_TablePaper(_ref) {
|
|
|
7578
7588
|
}, tablePaperProps, {
|
|
7579
7589
|
sx: _extends({
|
|
7580
7590
|
transition: 'all 0.2s ease-in-out'
|
|
7581
|
-
}, tablePaperProps == null ? void 0 : tablePaperProps.sx,
|
|
7591
|
+
}, tablePaperProps == null ? void 0 : tablePaperProps.sx),
|
|
7592
|
+
style: _extends({}, tablePaperProps == null ? void 0 : tablePaperProps.style, {
|
|
7582
7593
|
height: isFullScreen ? '100vh' : undefined,
|
|
7583
7594
|
margin: isFullScreen ? '0' : undefined,
|
|
7584
7595
|
maxHeight: isFullScreen ? '100vh' : undefined,
|
|
@@ -7612,29 +7623,6 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7612
7623
|
|
|
7613
7624
|
var initState = (_props$initialState = props.initialState) != null ? _props$initialState : {};
|
|
7614
7625
|
initState.columnOrder = (_initState$columnOrde = initState.columnOrder) != null ? _initState$columnOrde : getDefaultColumnOrderIds(props);
|
|
7615
|
-
|
|
7616
|
-
if (!props.enablePersistentState || !props.tableId) {
|
|
7617
|
-
return initState;
|
|
7618
|
-
}
|
|
7619
|
-
|
|
7620
|
-
if (typeof window === 'undefined') {
|
|
7621
|
-
{
|
|
7622
|
-
console.error('The MRT Persistent Table State feature is not supported if using SSR, but you can wrap your <MaterialReactTable /> in a MUI <NoSsr> tags to let it work');
|
|
7623
|
-
}
|
|
7624
|
-
|
|
7625
|
-
return initState;
|
|
7626
|
-
}
|
|
7627
|
-
|
|
7628
|
-
var storedState = props.persistentStateMode === 'localStorage' ? localStorage.getItem("mrt-" + tableId + "-table-state") : props.persistentStateMode === 'sessionStorage' ? sessionStorage.getItem("mrt-" + tableId + "-table-state") : '{}';
|
|
7629
|
-
|
|
7630
|
-
if (storedState) {
|
|
7631
|
-
var parsedState = JSON.parse(storedState);
|
|
7632
|
-
|
|
7633
|
-
if (parsedState) {
|
|
7634
|
-
return _extends({}, initState, parsedState);
|
|
7635
|
-
}
|
|
7636
|
-
}
|
|
7637
|
-
|
|
7638
7626
|
return initState;
|
|
7639
7627
|
}, []);
|
|
7640
7628
|
|
|
@@ -7728,7 +7716,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7728
7716
|
id: 'mrt-expand',
|
|
7729
7717
|
muiTableBodyCellProps: props.muiTableBodyCellProps,
|
|
7730
7718
|
muiTableHeadCellProps: props.muiTableHeadCellProps,
|
|
7731
|
-
size:
|
|
7719
|
+
size: 60
|
|
7732
7720
|
}), columnOrder.includes('mrt-select') && createDisplayColumn(table, {
|
|
7733
7721
|
Cell: function Cell(_ref5) {
|
|
7734
7722
|
var cell = _ref5.cell;
|
|
@@ -7747,7 +7735,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7747
7735
|
id: 'mrt-select',
|
|
7748
7736
|
muiTableBodyCellProps: props.muiTableBodyCellProps,
|
|
7749
7737
|
muiTableHeadCellProps: props.muiTableHeadCellProps,
|
|
7750
|
-
size:
|
|
7738
|
+
size: 60
|
|
7751
7739
|
}), columnOrder.includes('mrt-row-numbers') && createDisplayColumn(table, {
|
|
7752
7740
|
Cell: function Cell(_ref6) {
|
|
7753
7741
|
var cell = _ref6.cell;
|
|
@@ -7762,7 +7750,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7762
7750
|
id: 'mrt-row-numbers',
|
|
7763
7751
|
muiTableBodyCellProps: props.muiTableBodyCellProps,
|
|
7764
7752
|
muiTableHeadCellProps: props.muiTableHeadCellProps,
|
|
7765
|
-
size:
|
|
7753
|
+
size: 60
|
|
7766
7754
|
})].filter(Boolean);
|
|
7767
7755
|
}, [columnOrder, props.editingMode, props.enableEditing, props.enableExpandAll, props.enableExpanding, props.enableGrouping, props.enableRowActions, props.enableRowNumbers, props.enableRowSelection, props.enableSelectAll, props.localization, props.muiTableBodyCellProps, props.muiTableHeadCellProps, props.positionActionsColumn, table]);
|
|
7768
7756
|
var columns = React.useMemo(function () {
|
|
@@ -7818,27 +7806,26 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7818
7806
|
});
|
|
7819
7807
|
|
|
7820
7808
|
React.useEffect(function () {
|
|
7821
|
-
|
|
7822
|
-
|
|
7823
|
-
|
|
7824
|
-
|
|
7825
|
-
|
|
7826
|
-
|
|
7827
|
-
|
|
7828
|
-
|
|
7829
|
-
|
|
7830
|
-
|
|
7831
|
-
|
|
7832
|
-
|
|
7833
|
-
|
|
7834
|
-
|
|
7835
|
-
|
|
7836
|
-
|
|
7837
|
-
|
|
7838
|
-
|
|
7839
|
-
|
|
7840
|
-
|
|
7841
|
-
}, [props.enablePersistentState, props.tableId, props.persistentStateMode, instance]);
|
|
7809
|
+
props == null ? void 0 : props.onColumnOrderChanged == null ? void 0 : props.onColumnOrderChanged({
|
|
7810
|
+
columnOrder: instance.getState().columnOrder,
|
|
7811
|
+
//@ts-ignore
|
|
7812
|
+
instance: instance
|
|
7813
|
+
});
|
|
7814
|
+
}, [instance.getState().columnOrder]);
|
|
7815
|
+
React.useEffect(function () {
|
|
7816
|
+
props == null ? void 0 : props.onColumnPinningChanged == null ? void 0 : props.onColumnPinningChanged({
|
|
7817
|
+
columnPinning: instance.getState().columnPinning,
|
|
7818
|
+
//@ts-ignore
|
|
7819
|
+
instance: instance
|
|
7820
|
+
});
|
|
7821
|
+
}, [instance.getState().columnPinning]);
|
|
7822
|
+
React.useEffect(function () {
|
|
7823
|
+
props == null ? void 0 : props.onColumnVisibilityChanged == null ? void 0 : props.onColumnVisibilityChanged({
|
|
7824
|
+
columnPinning: instance.getState().columnVisibility,
|
|
7825
|
+
//@ts-ignore
|
|
7826
|
+
instance: instance
|
|
7827
|
+
});
|
|
7828
|
+
}, [instance.getState().columnVisibility]);
|
|
7842
7829
|
return React__default.createElement(React__default.Fragment, null, React__default.createElement(material.Dialog, {
|
|
7843
7830
|
PaperComponent: material.Box,
|
|
7844
7831
|
TransitionComponent: material.Grow,
|
|
@@ -7857,7 +7844,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
7857
7844
|
}));
|
|
7858
7845
|
};
|
|
7859
7846
|
|
|
7860
|
-
var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilterChangeMode", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterChangeMode", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "
|
|
7847
|
+
var _excluded$5 = ["autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableColumnActions", "enableColumnFilterChangeMode", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterChangeMode", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarBottom", "enableToolbarInternalActions", "enableToolbarTop", "icons", "localization", "positionActionsColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "rowNumberMode", "selectAllMode"];
|
|
7861
7848
|
var MaterialReactTable = (function (_ref) {
|
|
7862
7849
|
var _ref$autoResetExpande = _ref.autoResetExpanded,
|
|
7863
7850
|
autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
|
|
@@ -7927,8 +7914,6 @@ var MaterialReactTable = (function (_ref) {
|
|
|
7927
7914
|
enableToolbarTop = _ref$enableToolbarTop === void 0 ? true : _ref$enableToolbarTop,
|
|
7928
7915
|
icons = _ref.icons,
|
|
7929
7916
|
localization = _ref.localization,
|
|
7930
|
-
_ref$persistentStateM = _ref.persistentStateMode,
|
|
7931
|
-
persistentStateMode = _ref$persistentStateM === void 0 ? 'sessionStorage' : _ref$persistentStateM,
|
|
7932
7917
|
_ref$positionActionsC = _ref.positionActionsColumn,
|
|
7933
7918
|
positionActionsColumn = _ref$positionActionsC === void 0 ? 'first' : _ref$positionActionsC,
|
|
7934
7919
|
_ref$positionGlobalFi = _ref.positionGlobalFilter,
|
|
@@ -7977,7 +7962,6 @@ var MaterialReactTable = (function (_ref) {
|
|
|
7977
7962
|
enableToolbarTop: enableToolbarTop,
|
|
7978
7963
|
icons: _extends({}, MRT_Default_Icons, icons),
|
|
7979
7964
|
localization: _extends({}, MRT_DefaultLocalization_EN, localization),
|
|
7980
|
-
persistentStateMode: persistentStateMode,
|
|
7981
7965
|
positionActionsColumn: positionActionsColumn,
|
|
7982
7966
|
positionGlobalFilter: positionGlobalFilter,
|
|
7983
7967
|
positionPagination: positionPagination,
|