material-react-table 0.16.2 → 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 +2 -3
- package/dist/material-react-table.cjs.development.js +19 -60
- 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 +19 -60
- package/dist/material-react-table.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +1 -4
- package/src/inputs/MRT_FilterTextField.tsx +31 -35
- package/src/menus/MRT_ColumnActionMenu.tsx +28 -11
- package/src/table/MRT_TableRoot.tsx +0 -50
- package/src/toolbar/MRT_TablePagination.tsx +9 -4
|
@@ -870,7 +870,7 @@ var commonListItemStyles = {
|
|
|
870
870
|
alignItems: 'center'
|
|
871
871
|
};
|
|
872
872
|
var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
873
|
-
var _localization$sortByC, _localization$sortByC2, _localization$filterB, _localization, _localization$hideCol, _localization$showAll;
|
|
873
|
+
var _columnDef$enabledCol, _localization$sortByC, _localization$sortByC2, _localization$filterB, _localization, _localization$hideCol, _localization$showAll;
|
|
874
874
|
|
|
875
875
|
var anchorEl = _ref.anchorEl,
|
|
876
876
|
header = _ref.header,
|
|
@@ -880,12 +880,14 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
880
880
|
toggleAllColumnsVisible = instance.toggleAllColumnsVisible,
|
|
881
881
|
setColumnOrder = instance.setColumnOrder,
|
|
882
882
|
_instance$options = instance.options,
|
|
883
|
+
enableColumnFilterChangeMode = _instance$options.enableColumnFilterChangeMode,
|
|
883
884
|
enableColumnFilters = _instance$options.enableColumnFilters,
|
|
884
885
|
enableColumnResizing = _instance$options.enableColumnResizing,
|
|
885
886
|
enableGrouping = _instance$options.enableGrouping,
|
|
886
887
|
enableHiding = _instance$options.enableHiding,
|
|
887
888
|
enablePinning = _instance$options.enablePinning,
|
|
888
889
|
enableSorting = _instance$options.enableSorting,
|
|
890
|
+
enabledColumnFilterOptions = _instance$options.enabledColumnFilterOptions,
|
|
889
891
|
_instance$options$ico = _instance$options.icons,
|
|
890
892
|
ArrowRightIcon = _instance$options$ico.ArrowRightIcon,
|
|
891
893
|
ClearAllIcon = _instance$options$ico.ClearAllIcon,
|
|
@@ -985,6 +987,9 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
985
987
|
setShowHideColumnsMenuAnchorEl(event.currentTarget);
|
|
986
988
|
};
|
|
987
989
|
|
|
990
|
+
var isSelectFilter = !!columnDef.filterSelectOptions;
|
|
991
|
+
var allowedColumnFilterOptions = (_columnDef$enabledCol = columnDef == null ? void 0 : columnDef.enabledColumnFilterOptions) != null ? _columnDef$enabledCol : enabledColumnFilterOptions;
|
|
992
|
+
var showFilterModeSubMenu = enableColumnFilterChangeMode && columnDef.enableColumnFilterChangeMode !== false && !isSelectFilter && (allowedColumnFilterOptions === undefined || !!(allowedColumnFilterOptions != null && allowedColumnFilterOptions.length));
|
|
988
993
|
return React.createElement(Menu, {
|
|
989
994
|
anchorEl: anchorEl,
|
|
990
995
|
open: !!anchorEl,
|
|
@@ -1034,21 +1039,21 @@ var MRT_ColumnActionMenu = function MRT_ColumnActionMenu(_ref) {
|
|
|
1034
1039
|
sx: commonMenuItemStyles$1
|
|
1035
1040
|
}, React.createElement(Box, {
|
|
1036
1041
|
sx: commonListItemStyles
|
|
1037
|
-
}, React.createElement(ListItemIcon, null, React.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(columnDef.header))),
|
|
1042
|
+
}, React.createElement(ListItemIcon, null, React.createElement(FilterListIcon, null)), (_localization$filterB = localization.filterByColumn) == null ? void 0 : _localization$filterB.replace('{column}', String(columnDef.header))), showFilterModeSubMenu && React.createElement(IconButton, {
|
|
1038
1043
|
onClick: handleOpenFilterModeMenu,
|
|
1039
1044
|
onMouseEnter: handleOpenFilterModeMenu,
|
|
1040
1045
|
size: "small",
|
|
1041
1046
|
sx: {
|
|
1042
1047
|
p: 0
|
|
1043
1048
|
}
|
|
1044
|
-
}, React.createElement(ArrowRightIcon, null))), React.createElement(MRT_FilterOptionMenu, {
|
|
1049
|
+
}, React.createElement(ArrowRightIcon, null))), showFilterModeSubMenu && React.createElement(MRT_FilterOptionMenu, {
|
|
1045
1050
|
anchorEl: filterMenuAnchorEl,
|
|
1046
1051
|
header: header,
|
|
1047
1052
|
key: 2,
|
|
1048
1053
|
onSelect: handleFilterByColumn,
|
|
1049
1054
|
setAnchorEl: setFilterMenuAnchorEl,
|
|
1050
1055
|
instance: instance
|
|
1051
|
-
})], enableGrouping && column.getCanGroup() && [React.createElement(MenuItem, {
|
|
1056
|
+
})].filter(Boolean), enableGrouping && column.getCanGroup() && [React.createElement(MenuItem, {
|
|
1052
1057
|
divider: enablePinning,
|
|
1053
1058
|
key: 0,
|
|
1054
1059
|
onClick: handleGroupByColumn,
|
|
@@ -1703,7 +1708,8 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
|
|
|
1703
1708
|
setPageSize = instance.setPageSize,
|
|
1704
1709
|
_instance$options = instance.options,
|
|
1705
1710
|
muiTablePaginationProps = _instance$options.muiTablePaginationProps,
|
|
1706
|
-
enableToolbarInternalActions = _instance$options.enableToolbarInternalActions
|
|
1711
|
+
enableToolbarInternalActions = _instance$options.enableToolbarInternalActions,
|
|
1712
|
+
rowCount = _instance$options.rowCount;
|
|
1707
1713
|
|
|
1708
1714
|
var _getState = getState(),
|
|
1709
1715
|
_getState$pagination = _getState.pagination,
|
|
@@ -1721,7 +1727,8 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
|
|
|
1721
1727
|
setPageSize(+event.target.value);
|
|
1722
1728
|
};
|
|
1723
1729
|
|
|
1724
|
-
var
|
|
1730
|
+
var totalRowCount = rowCount != null ? rowCount : getPrePaginationRowModel().rows.length;
|
|
1731
|
+
var showFirstLastPageButtons = totalRowCount / pageSize > 2;
|
|
1725
1732
|
return React.createElement(TablePagination, Object.assign({
|
|
1726
1733
|
SelectProps: {
|
|
1727
1734
|
sx: {
|
|
@@ -1734,7 +1741,7 @@ var MRT_TablePagination = function MRT_TablePagination(_ref) {
|
|
|
1734
1741
|
}
|
|
1735
1742
|
},
|
|
1736
1743
|
component: "div",
|
|
1737
|
-
count:
|
|
1744
|
+
count: totalRowCount,
|
|
1738
1745
|
onPageChange: function onPageChange(_, newPage) {
|
|
1739
1746
|
return setPageIndex(newPage);
|
|
1740
1747
|
},
|
|
@@ -1988,7 +1995,7 @@ var MRT_ToolbarBottom = function MRT_ToolbarBottom(_ref) {
|
|
|
1988
1995
|
};
|
|
1989
1996
|
|
|
1990
1997
|
var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
1991
|
-
var _localization$filterB, _columnDef$enabledCol,
|
|
1998
|
+
var _localization$filterB, _columnDef$enabledCol, _localization$filterM, _localization, _localization$clearFi, _columnDef$filterSele;
|
|
1992
1999
|
|
|
1993
2000
|
var header = _ref.header,
|
|
1994
2001
|
inputIndex = _ref.inputIndex,
|
|
@@ -2121,7 +2128,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
2121
2128
|
localization["filter" + (filterFn.charAt(0).toUpperCase() + filterFn.slice(1))] : '';
|
|
2122
2129
|
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 : '';
|
|
2123
2130
|
var allowedColumnFilterOptions = (_columnDef$enabledCol = columnDef == null ? void 0 : columnDef.enabledColumnFilterOptions) != null ? _columnDef$enabledCol : enabledColumnFilterOptions;
|
|
2124
|
-
var
|
|
2131
|
+
var showChangeModeButton = enableColumnFilterChangeMode && columnDef.enableColumnFilterChangeMode !== false && !isSelectFilter && !inputIndex && (allowedColumnFilterOptions === undefined || !!(allowedColumnFilterOptions != null && allowedColumnFilterOptions.length));
|
|
2125
2132
|
return React.createElement(React.Fragment, null, React.createElement(TextField, Object.assign({
|
|
2126
2133
|
fullWidth: true,
|
|
2127
2134
|
id: filterId,
|
|
@@ -2133,7 +2140,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
2133
2140
|
},
|
|
2134
2141
|
title: filterPlaceholder
|
|
2135
2142
|
},
|
|
2136
|
-
helperText:
|
|
2143
|
+
helperText: showChangeModeButton ? React.createElement("label", {
|
|
2137
2144
|
htmlFor: filterId
|
|
2138
2145
|
}, filterFn instanceof Function ? (_localization$filterM = localization.filterMode.replace('{filterType}', // @ts-ignore
|
|
2139
2146
|
(_localization = localization["filter" + (filterFn.name.charAt(0).toUpperCase() + filterFn.name.slice(1))]) != null ? _localization : '')) != null ? _localization$filterM : '' : localization.filterMode.replace('{filterType}', // @ts-ignore
|
|
@@ -2155,7 +2162,7 @@ var MRT_FilterTextField = function MRT_FilterTextField(_ref) {
|
|
|
2155
2162
|
value: filterValue != null ? filterValue : '',
|
|
2156
2163
|
variant: "standard",
|
|
2157
2164
|
InputProps: {
|
|
2158
|
-
startAdornment:
|
|
2165
|
+
startAdornment: showChangeModeButton ? React.createElement(InputAdornment, {
|
|
2159
2166
|
position: "start"
|
|
2160
2167
|
}, React.createElement(Tooltip, {
|
|
2161
2168
|
arrow: true,
|
|
@@ -3372,29 +3379,6 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3372
3379
|
|
|
3373
3380
|
var initState = (_props$initialState = props.initialState) != null ? _props$initialState : {};
|
|
3374
3381
|
initState.columnOrder = (_initState$columnOrde = initState.columnOrder) != null ? _initState$columnOrde : getDefaultColumnOrderIds(props);
|
|
3375
|
-
|
|
3376
|
-
if (!props.enablePersistentState || !props.tableId) {
|
|
3377
|
-
return initState;
|
|
3378
|
-
}
|
|
3379
|
-
|
|
3380
|
-
if (typeof window === 'undefined') {
|
|
3381
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
3382
|
-
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');
|
|
3383
|
-
}
|
|
3384
|
-
|
|
3385
|
-
return initState;
|
|
3386
|
-
}
|
|
3387
|
-
|
|
3388
|
-
var storedState = props.persistentStateMode === 'localStorage' ? localStorage.getItem("mrt-" + tableId + "-table-state") : props.persistentStateMode === 'sessionStorage' ? sessionStorage.getItem("mrt-" + tableId + "-table-state") : '{}';
|
|
3389
|
-
|
|
3390
|
-
if (storedState) {
|
|
3391
|
-
var parsedState = JSON.parse(storedState);
|
|
3392
|
-
|
|
3393
|
-
if (parsedState) {
|
|
3394
|
-
return _extends({}, initState, parsedState);
|
|
3395
|
-
}
|
|
3396
|
-
}
|
|
3397
|
-
|
|
3398
3382
|
return initState;
|
|
3399
3383
|
}, []);
|
|
3400
3384
|
|
|
@@ -3577,28 +3561,6 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3577
3561
|
setShowGlobalFilter: (_props$onShowGlobalFi = props.onShowGlobalFilterChange) != null ? _props$onShowGlobalFi : setShowGlobalFilter
|
|
3578
3562
|
});
|
|
3579
3563
|
|
|
3580
|
-
useEffect(function () {
|
|
3581
|
-
if (typeof window === 'undefined' || !props.enablePersistentState) {
|
|
3582
|
-
return;
|
|
3583
|
-
}
|
|
3584
|
-
|
|
3585
|
-
if (!props.tableId && process.env.NODE_ENV !== 'production') {
|
|
3586
|
-
console.warn('a unique tableId prop is required for persistent table state to work');
|
|
3587
|
-
return;
|
|
3588
|
-
}
|
|
3589
|
-
|
|
3590
|
-
var itemArgs = ["mrt-" + tableId + "-table-state", JSON.stringify(instance.getState())];
|
|
3591
|
-
|
|
3592
|
-
if (props.persistentStateMode === 'localStorage') {
|
|
3593
|
-
var _localStorage;
|
|
3594
|
-
|
|
3595
|
-
(_localStorage = localStorage).setItem.apply(_localStorage, itemArgs);
|
|
3596
|
-
} else if (props.persistentStateMode === 'sessionStorage') {
|
|
3597
|
-
var _sessionStorage;
|
|
3598
|
-
|
|
3599
|
-
(_sessionStorage = sessionStorage).setItem.apply(_sessionStorage, itemArgs);
|
|
3600
|
-
}
|
|
3601
|
-
}, [props.enablePersistentState, props.tableId, props.persistentStateMode, instance]);
|
|
3602
3564
|
useEffect(function () {
|
|
3603
3565
|
props == null ? void 0 : props.onColumnOrderChanged == null ? void 0 : props.onColumnOrderChanged({
|
|
3604
3566
|
columnOrder: instance.getState().columnOrder,
|
|
@@ -3638,7 +3600,7 @@ var MRT_TableRoot = function MRT_TableRoot(props) {
|
|
|
3638
3600
|
}));
|
|
3639
3601
|
};
|
|
3640
3602
|
|
|
3641
|
-
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", "
|
|
3603
|
+
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"];
|
|
3642
3604
|
var MaterialReactTable = (function (_ref) {
|
|
3643
3605
|
var _ref$autoResetExpande = _ref.autoResetExpanded,
|
|
3644
3606
|
autoResetExpanded = _ref$autoResetExpande === void 0 ? false : _ref$autoResetExpande,
|
|
@@ -3708,8 +3670,6 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3708
3670
|
enableToolbarTop = _ref$enableToolbarTop === void 0 ? true : _ref$enableToolbarTop,
|
|
3709
3671
|
icons = _ref.icons,
|
|
3710
3672
|
localization = _ref.localization,
|
|
3711
|
-
_ref$persistentStateM = _ref.persistentStateMode,
|
|
3712
|
-
persistentStateMode = _ref$persistentStateM === void 0 ? 'sessionStorage' : _ref$persistentStateM,
|
|
3713
3673
|
_ref$positionActionsC = _ref.positionActionsColumn,
|
|
3714
3674
|
positionActionsColumn = _ref$positionActionsC === void 0 ? 'first' : _ref$positionActionsC,
|
|
3715
3675
|
_ref$positionGlobalFi = _ref.positionGlobalFilter,
|
|
@@ -3758,7 +3718,6 @@ var MaterialReactTable = (function (_ref) {
|
|
|
3758
3718
|
enableToolbarTop: enableToolbarTop,
|
|
3759
3719
|
icons: _extends({}, MRT_Default_Icons, icons),
|
|
3760
3720
|
localization: _extends({}, MRT_DefaultLocalization_EN, localization),
|
|
3761
|
-
persistentStateMode: persistentStateMode,
|
|
3762
3721
|
positionActionsColumn: positionActionsColumn,
|
|
3763
3722
|
positionGlobalFilter: positionGlobalFilter,
|
|
3764
3723
|
positionPagination: positionPagination,
|