material-react-table-narender 2.13.27 → 2.13.30
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.d.ts +6 -0
- package/dist/index.esm.js +38 -37
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +39 -37
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/head/MRT_TableHeadCell.tsx +3 -0
- package/src/components/head/MRT_TableHeadCellToolBar.tsx +68 -0
- package/src/components/inputs/MRT_FilterTextField.tsx +2 -11
- package/src/components/menus/MRT_ColumnActionMenu.tsx +15 -1
- package/src/hooks/useMRT_TableInstance.ts +8 -0
- package/src/icons.ts +3 -1
- package/src/types.ts +3 -0
package/dist/index.js
CHANGED
@@ -53,6 +53,7 @@ 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
55
|
var SettingsBackupRestoreIcon = require('@mui/icons-material/SettingsBackupRestore');
|
56
|
+
var SettingsOutlinedIcon = require('@mui/icons-material/SettingsOutlined');
|
56
57
|
var reactVirtual = require('@tanstack/react-virtual');
|
57
58
|
var Paper = require('@mui/material/Paper');
|
58
59
|
var material = require('@mui/material');
|
@@ -146,6 +147,7 @@ var SyncAltIcon__default = /*#__PURE__*/_interopDefaultLegacy(SyncAltIcon);
|
|
146
147
|
var ViewColumnIcon__default = /*#__PURE__*/_interopDefaultLegacy(ViewColumnIcon);
|
147
148
|
var VisibilityOffIcon__default = /*#__PURE__*/_interopDefaultLegacy(VisibilityOffIcon);
|
148
149
|
var SettingsBackupRestoreIcon__default = /*#__PURE__*/_interopDefaultLegacy(SettingsBackupRestoreIcon);
|
150
|
+
var SettingsOutlinedIcon__default = /*#__PURE__*/_interopDefaultLegacy(SettingsOutlinedIcon);
|
149
151
|
var Paper__default = /*#__PURE__*/_interopDefaultLegacy(Paper);
|
150
152
|
var TableContainer__default = /*#__PURE__*/_interopDefaultLegacy(TableContainer);
|
151
153
|
var Table__default = /*#__PURE__*/_interopDefaultLegacy(Table);
|
@@ -1462,7 +1464,8 @@ const MRT_Default_Icons = {
|
|
1462
1464
|
SyncAltIcon: SyncAltIcon__default["default"],
|
1463
1465
|
ViewColumnIcon: ViewColumnIcon__default["default"],
|
1464
1466
|
VisibilityOffIcon: VisibilityOffIcon__default["default"],
|
1465
|
-
SettingsBackupRestoreIcon: SettingsBackupRestoreIcon__default["default"]
|
1467
|
+
SettingsBackupRestoreIcon: SettingsBackupRestoreIcon__default["default"],
|
1468
|
+
SettingsOutlinedIcon: SettingsOutlinedIcon__default["default"]
|
1466
1469
|
};
|
1467
1470
|
|
1468
1471
|
const MRT_Localization_EN = {
|
@@ -1784,7 +1787,7 @@ const useMRT_Effects = (table) => {
|
|
1784
1787
|
* @returns the MRT table instance
|
1785
1788
|
*/
|
1786
1789
|
const useMRT_TableInstance = (definedTableOptions) => {
|
1787
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12;
|
1790
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14;
|
1788
1791
|
const lastSelectedRowId = react.useRef(null);
|
1789
1792
|
const actionCellRef = react.useRef(null);
|
1790
1793
|
const bottomToolbarRef = react.useRef(null);
|
@@ -1836,8 +1839,9 @@ const useMRT_TableInstance = (definedTableOptions) => {
|
|
1836
1839
|
const [pagination, onPaginationChange] = react.useState((_r = initialState === null || initialState === void 0 ? void 0 : initialState.pagination) !== null && _r !== void 0 ? _r : { pageIndex: 0, pageSize: 10 });
|
1837
1840
|
const [showAlertBanner, setShowAlertBanner] = react.useState((_s = initialState === null || initialState === void 0 ? void 0 : initialState.showAlertBanner) !== null && _s !== void 0 ? _s : false);
|
1838
1841
|
const [showColumnFilters, setShowColumnFilters] = react.useState((_t = initialState === null || initialState === void 0 ? void 0 : initialState.showColumnFilters) !== null && _t !== void 0 ? _t : false);
|
1839
|
-
const [
|
1840
|
-
const [
|
1842
|
+
const [showToolBar, setShowToolBar] = react.useState((_u = initialState === null || initialState === void 0 ? void 0 : initialState.showToolBar) !== null && _u !== void 0 ? _u : false);
|
1843
|
+
const [showGlobalFilter, setShowGlobalFilter] = react.useState((_v = initialState === null || initialState === void 0 ? void 0 : initialState.showGlobalFilter) !== null && _v !== void 0 ? _v : false);
|
1844
|
+
const [showToolbarDropZone, setShowToolbarDropZone] = react.useState((_w = initialState === null || initialState === void 0 ? void 0 : initialState.showToolbarDropZone) !== null && _w !== void 0 ? _w : false);
|
1841
1845
|
definedTableOptions.state = Object.assign({ actionCell,
|
1842
1846
|
columnFilterFns,
|
1843
1847
|
columnOrder,
|
@@ -1857,6 +1861,7 @@ const useMRT_TableInstance = (definedTableOptions) => {
|
|
1857
1861
|
pagination,
|
1858
1862
|
showAlertBanner,
|
1859
1863
|
showColumnFilters,
|
1864
|
+
showToolBar,
|
1860
1865
|
showGlobalFilter,
|
1861
1866
|
showToolbarDropZone }, definedTableOptions.state);
|
1862
1867
|
//The table options now include all state needed to help determine column visibility and order logic
|
@@ -1911,7 +1916,7 @@ const useMRT_TableInstance = (definedTableOptions) => {
|
|
1911
1916
|
const table = reactTable.useReactTable(Object.assign(Object.assign({ onColumnOrderChange,
|
1912
1917
|
onColumnSizingInfoChange,
|
1913
1918
|
onGroupingChange,
|
1914
|
-
onPaginationChange }, statefulTableOptions), { globalFilterFn: (
|
1919
|
+
onPaginationChange }, statefulTableOptions), { globalFilterFn: (_x = statefulTableOptions.filterFns) === null || _x === void 0 ? void 0 : _x[globalFilterFn !== null && globalFilterFn !== void 0 ? globalFilterFn : 'fuzzy'] }));
|
1915
1920
|
table.refs = {
|
1916
1921
|
actionCellRef,
|
1917
1922
|
bottomToolbarRef,
|
@@ -1927,7 +1932,7 @@ const useMRT_TableInstance = (definedTableOptions) => {
|
|
1927
1932
|
topToolbarRef,
|
1928
1933
|
};
|
1929
1934
|
table.setActionCell =
|
1930
|
-
(
|
1935
|
+
(_y = statefulTableOptions.onActionCellChange) !== null && _y !== void 0 ? _y : setActionCell;
|
1931
1936
|
table.setCreatingRow = (row) => {
|
1932
1937
|
var _a, _b;
|
1933
1938
|
let _row = row;
|
@@ -1937,34 +1942,36 @@ const useMRT_TableInstance = (definedTableOptions) => {
|
|
1937
1942
|
(_b = (_a = statefulTableOptions === null || statefulTableOptions === void 0 ? void 0 : statefulTableOptions.onCreatingRowChange) === null || _a === void 0 ? void 0 : _a.call(statefulTableOptions, _row)) !== null && _b !== void 0 ? _b : _setCreatingRow(_row);
|
1938
1943
|
};
|
1939
1944
|
table.setColumnFilterFns =
|
1940
|
-
(
|
1941
|
-
table.setDensity = (
|
1945
|
+
(_z = statefulTableOptions.onColumnFilterFnsChange) !== null && _z !== void 0 ? _z : setColumnFilterFns;
|
1946
|
+
table.setDensity = (_0 = statefulTableOptions.onDensityChange) !== null && _0 !== void 0 ? _0 : setDensity;
|
1942
1947
|
table.setDraggingColumn =
|
1943
|
-
(
|
1948
|
+
(_1 = statefulTableOptions.onDraggingColumnChange) !== null && _1 !== void 0 ? _1 : setDraggingColumn;
|
1944
1949
|
table.setDraggingRow =
|
1945
|
-
(
|
1950
|
+
(_2 = statefulTableOptions.onDraggingRowChange) !== null && _2 !== void 0 ? _2 : setDraggingRow;
|
1946
1951
|
table.setEditingCell =
|
1947
|
-
(
|
1952
|
+
(_3 = statefulTableOptions.onEditingCellChange) !== null && _3 !== void 0 ? _3 : setEditingCell;
|
1948
1953
|
table.setEditingRow =
|
1949
|
-
(
|
1954
|
+
(_4 = statefulTableOptions.onEditingRowChange) !== null && _4 !== void 0 ? _4 : setEditingRow;
|
1950
1955
|
table.setGlobalFilterFn =
|
1951
|
-
(
|
1956
|
+
(_5 = statefulTableOptions.onGlobalFilterFnChange) !== null && _5 !== void 0 ? _5 : setGlobalFilterFn;
|
1952
1957
|
table.setHoveredColumn =
|
1953
|
-
(
|
1958
|
+
(_6 = statefulTableOptions.onHoveredColumnChange) !== null && _6 !== void 0 ? _6 : setHoveredColumn;
|
1954
1959
|
table.setHoveredRow =
|
1955
|
-
(
|
1960
|
+
(_7 = statefulTableOptions.onHoveredRowChange) !== null && _7 !== void 0 ? _7 : setHoveredRow;
|
1956
1961
|
table.setIsFullScreen =
|
1957
|
-
(
|
1962
|
+
(_8 = statefulTableOptions.onIsFullScreenChange) !== null && _8 !== void 0 ? _8 : setIsFullScreen;
|
1958
1963
|
table.setEnableKeyboardShortcuts =
|
1959
|
-
(
|
1964
|
+
(_9 = statefulTableOptions.onEnableKeyboardShortcutsChange) !== null && _9 !== void 0 ? _9 : setEnableKeyboardShortcuts;
|
1960
1965
|
table.setShowAlertBanner =
|
1961
|
-
(
|
1966
|
+
(_10 = statefulTableOptions.onShowAlertBannerChange) !== null && _10 !== void 0 ? _10 : setShowAlertBanner;
|
1962
1967
|
table.setShowColumnFilters =
|
1963
|
-
(
|
1968
|
+
(_11 = statefulTableOptions.onShowColumnFiltersChange) !== null && _11 !== void 0 ? _11 : setShowColumnFilters;
|
1969
|
+
table.setShowToolBar =
|
1970
|
+
(_12 = statefulTableOptions.onShowToolBarChange) !== null && _12 !== void 0 ? _12 : setShowToolBar;
|
1964
1971
|
table.setShowGlobalFilter =
|
1965
|
-
(
|
1972
|
+
(_13 = statefulTableOptions.onShowGlobalFilterChange) !== null && _13 !== void 0 ? _13 : setShowGlobalFilter;
|
1966
1973
|
table.setShowToolbarDropZone =
|
1967
|
-
(
|
1974
|
+
(_14 = statefulTableOptions.onShowToolbarDropZoneChange) !== null && _14 !== void 0 ? _14 : setShowToolbarDropZone;
|
1968
1975
|
useMRT_Effects(table);
|
1969
1976
|
return table;
|
1970
1977
|
};
|
@@ -2985,10 +2992,10 @@ const MRT_FilterOptionMenu = (_a) => {
|
|
2985
2992
|
const MRT_ColumnActionMenu = (_a) => {
|
2986
2993
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
2987
2994
|
var { anchorEl, header, setAnchorEl, table } = _a, rest = __rest(_a, ["anchorEl", "header", "setAnchorEl", "table"]);
|
2988
|
-
const { getAllLeafColumns, getState, options: { columnFilterDisplayMode, columnFilterModeOptions, enableColumnFilterModes, enableColumnFilters, enableColumnPinning, enableColumnResizing, enableGrouping, enableHiding, enableSorting, enableSortingRemoval, icons: { ClearAllIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, RestartAltIcon, SortIcon, ViewColumnIcon, VisibilityOffIcon, }, localization, mrtTheme: { menuBackgroundColor }, renderColumnActionsMenuItems, }, refs: { filterInputRefs }, setColumnFilterFns, setColumnOrder, setColumnSizingInfo, setShowColumnFilters, } = table;
|
2995
|
+
const { getAllLeafColumns, getState, options: { columnFilterDisplayMode, columnFilterModeOptions, enableColumnFilterModes, enableColumnFilters, enableColumnPinning, enableColumnResizing, enableGrouping, enableHiding, enableSorting, enableSortingRemoval, icons: { ClearAllIcon, DynamicFeedIcon, FilterListIcon, FilterListOffIcon, PushPinIcon, RestartAltIcon, SortIcon, ViewColumnIcon, VisibilityOffIcon, SettingsOutlinedIcon }, localization, mrtTheme: { menuBackgroundColor }, renderColumnActionsMenuItems, }, refs: { filterInputRefs }, setColumnFilterFns, setColumnOrder, setColumnSizingInfo, setShowColumnFilters, } = table;
|
2989
2996
|
const { column } = header;
|
2990
2997
|
const { columnDef } = column;
|
2991
|
-
const { columnSizing, columnVisibility, density, showColumnFilters } = getState();
|
2998
|
+
const { columnSizing, columnVisibility, density, showColumnFilters, showToolBar } = getState();
|
2992
2999
|
const columnFilterValue = column.getFilterValue();
|
2993
3000
|
const [filterMenuAnchorEl, setFilterMenuAnchorEl] = react.useState(null);
|
2994
3001
|
const handleClearSort = () => {
|
@@ -3096,6 +3103,11 @@ const MRT_ColumnActionMenu = (_a) => {
|
|
3096
3103
|
.length, icon: jsxRuntime.jsx(ViewColumnIcon, {}), label: (_h = localization.showAllColumns) === null || _h === void 0 ? void 0 : _h.replace('{column}', String(columnDef.header)), onClick: handleShowAllColumns, table: table }, 12),
|
3097
3104
|
]
|
3098
3105
|
: []),
|
3106
|
+
// **Newly Added Menu Item for Toolbar Visibility**
|
3107
|
+
jsxRuntime.jsx(MRT_ActionMenuItem, { icon: jsxRuntime.jsx(SettingsOutlinedIcon, {}), label: showToolBar ? "Hide ToolBar" : "Show ToolBar", onClick: (e) => {
|
3108
|
+
e.stopPropagation();
|
3109
|
+
table.setShowToolBar(!showToolBar);
|
3110
|
+
}, table: table }, 13),
|
3099
3111
|
].filter(Boolean);
|
3100
3112
|
return (jsxRuntime.jsx(Menu__default["default"], Object.assign({ MenuListProps: {
|
3101
3113
|
dense: density === 'compact',
|
@@ -3219,19 +3231,7 @@ const MRT_FilterTextField = (_a) => {
|
|
3219
3231
|
});
|
3220
3232
|
}
|
3221
3233
|
else {
|
3222
|
-
|
3223
|
-
// column.setFilterValue(newValue === '' ? undefined : newValue);
|
3224
|
-
debugger;
|
3225
|
-
if (newValue === 0) {
|
3226
|
-
column.setFilterValue("0");
|
3227
|
-
}
|
3228
|
-
else {
|
3229
|
-
column.setFilterValue(newValue);
|
3230
|
-
}
|
3231
|
-
}
|
3232
|
-
else {
|
3233
|
-
column.setFilterValue(newValue !== null && newValue !== void 0 ? newValue : undefined);
|
3234
|
-
}
|
3234
|
+
column.setFilterValue(newValue !== null && newValue !== void 0 ? newValue : undefined);
|
3235
3235
|
}
|
3236
3236
|
}, isTextboxFilter ? (manualFiltering ? 400 : 200) : 1), []);
|
3237
3237
|
const handleChange = (newValue) => {
|
@@ -3269,6 +3269,8 @@ const MRT_FilterTextField = (_a) => {
|
|
3269
3269
|
setFilterValue('');
|
3270
3270
|
column.setFilterValue(undefined);
|
3271
3271
|
}
|
3272
|
+
// focus on the input after clearing the filter
|
3273
|
+
// filterInputRefs.current[`${column.id}-${rangeFilterIndex ?? 0}`]?.focus();
|
3272
3274
|
};
|
3273
3275
|
const handleClearEmptyFilterChip = () => {
|
3274
3276
|
setFilterValue('');
|
@@ -3647,7 +3649,7 @@ const MRT_TableHeadCell = (_a) => {
|
|
3647
3649
|
const { getState, options: { columnFilterDisplayMode, columnResizeDirection, columnResizeMode, enableColumnActions, enableColumnDragging, enableColumnOrdering, enableColumnPinning,
|
3648
3650
|
// enableKeyboardShortcuts,
|
3649
3651
|
enableGrouping, enableMultiSort, layoutMode, mrtTheme: { draggingBorderColor }, muiTableHeadCellProps, }, refs: { tableHeadCellRefs }, setHoveredColumn, } = table;
|
3650
|
-
const { enableKeyboardShortcuts, columnSizingInfo, density, draggingColumn, grouping, hoveredColumn, showColumnFilters, } = getState();
|
3652
|
+
const { enableKeyboardShortcuts, columnSizingInfo, density, draggingColumn, grouping, hoveredColumn, showColumnFilters, showToolBar, } = getState();
|
3651
3653
|
const { column } = header;
|
3652
3654
|
const { columnDef } = column;
|
3653
3655
|
const { columnDefType } = columnDef;
|