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.d.ts
CHANGED
@@ -236,6 +236,9 @@ declare const MRT_Default_Icons: {
|
|
236
236
|
readonly SettingsBackupRestoreIcon: _mui_material_OverridableComponent.OverridableComponent<_mui_material.SvgIconTypeMap<{}, "svg">> & {
|
237
237
|
muiName: string;
|
238
238
|
};
|
239
|
+
readonly SettingsOutlinedIcon: _mui_material_OverridableComponent.OverridableComponent<_mui_material.SvgIconTypeMap<{}, "svg">> & {
|
240
|
+
muiName: string;
|
241
|
+
};
|
239
242
|
};
|
240
243
|
type MRT_Icons = Record<keyof typeof MRT_Default_Icons, any>;
|
241
244
|
|
@@ -448,6 +451,7 @@ type MRT_TableInstance<TData extends MRT_RowData> = Omit<Table<TData>, 'getAllCo
|
|
448
451
|
setIsFullScreen: Dispatch<SetStateAction<boolean>>;
|
449
452
|
setShowAlertBanner: Dispatch<SetStateAction<boolean>>;
|
450
453
|
setShowColumnFilters: Dispatch<SetStateAction<boolean>>;
|
454
|
+
setShowToolBar: Dispatch<SetStateAction<boolean>>;
|
451
455
|
setShowGlobalFilter: Dispatch<SetStateAction<boolean>>;
|
452
456
|
setShowToolbarDropZone: Dispatch<SetStateAction<boolean>>;
|
453
457
|
setEnableKeyboardShortcuts: Dispatch<SetStateAction<boolean>>;
|
@@ -478,6 +482,7 @@ interface MRT_TableState<TData extends MRT_RowData> extends TableState {
|
|
478
482
|
isSaving: boolean;
|
479
483
|
showAlertBanner: boolean;
|
480
484
|
showColumnFilters: boolean;
|
485
|
+
showToolBar: boolean;
|
481
486
|
showGlobalFilter: boolean;
|
482
487
|
showLoadingOverlay: boolean;
|
483
488
|
showProgressBars: boolean;
|
@@ -1067,6 +1072,7 @@ interface MRT_TableOptions<TData extends MRT_RowData> extends Omit<Partial<Table
|
|
1067
1072
|
onEnableKeyboardShortcutsChange?: OnChangeFn<boolean>;
|
1068
1073
|
onShowAlertBannerChange?: OnChangeFn<boolean>;
|
1069
1074
|
onShowColumnFiltersChange?: OnChangeFn<boolean>;
|
1075
|
+
onShowToolBarChange?: OnChangeFn<boolean>;
|
1070
1076
|
onShowGlobalFilterChange?: OnChangeFn<boolean>;
|
1071
1077
|
onShowToolbarDropZoneChange?: OnChangeFn<boolean>;
|
1072
1078
|
paginationDisplayMode?: 'custom' | 'default' | 'pages';
|
package/dist/index.esm.js
CHANGED
@@ -49,6 +49,7 @@ import SyncAltIcon from '@mui/icons-material/SyncAlt';
|
|
49
49
|
import ViewColumnIcon from '@mui/icons-material/ViewColumn';
|
50
50
|
import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
|
51
51
|
import SettingsBackupRestoreIcon from '@mui/icons-material/SettingsBackupRestore';
|
52
|
+
import SettingsOutlinedIcon from '@mui/icons-material/SettingsOutlined';
|
52
53
|
import { defaultRangeExtractor, useVirtualizer } from '@tanstack/react-virtual';
|
53
54
|
import Paper from '@mui/material/Paper';
|
54
55
|
import { Button as Button$1, useTheme as useTheme$1 } from '@mui/material';
|
@@ -1371,7 +1372,8 @@ const MRT_Default_Icons = {
|
|
1371
1372
|
SyncAltIcon,
|
1372
1373
|
ViewColumnIcon,
|
1373
1374
|
VisibilityOffIcon,
|
1374
|
-
SettingsBackupRestoreIcon
|
1375
|
+
SettingsBackupRestoreIcon,
|
1376
|
+
SettingsOutlinedIcon
|
1375
1377
|
};
|
1376
1378
|
|
1377
1379
|
const MRT_Localization_EN = {
|
@@ -1693,7 +1695,7 @@ const useMRT_Effects = (table) => {
|
|
1693
1695
|
* @returns the MRT table instance
|
1694
1696
|
*/
|
1695
1697
|
const useMRT_TableInstance = (definedTableOptions) => {
|
1696
|
-
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;
|
1698
|
+
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;
|
1697
1699
|
const lastSelectedRowId = useRef(null);
|
1698
1700
|
const actionCellRef = useRef(null);
|
1699
1701
|
const bottomToolbarRef = useRef(null);
|
@@ -1745,8 +1747,9 @@ const useMRT_TableInstance = (definedTableOptions) => {
|
|
1745
1747
|
const [pagination, onPaginationChange] = useState((_r = initialState === null || initialState === void 0 ? void 0 : initialState.pagination) !== null && _r !== void 0 ? _r : { pageIndex: 0, pageSize: 10 });
|
1746
1748
|
const [showAlertBanner, setShowAlertBanner] = useState((_s = initialState === null || initialState === void 0 ? void 0 : initialState.showAlertBanner) !== null && _s !== void 0 ? _s : false);
|
1747
1749
|
const [showColumnFilters, setShowColumnFilters] = useState((_t = initialState === null || initialState === void 0 ? void 0 : initialState.showColumnFilters) !== null && _t !== void 0 ? _t : false);
|
1748
|
-
const [
|
1749
|
-
const [
|
1750
|
+
const [showToolBar, setShowToolBar] = useState((_u = initialState === null || initialState === void 0 ? void 0 : initialState.showToolBar) !== null && _u !== void 0 ? _u : false);
|
1751
|
+
const [showGlobalFilter, setShowGlobalFilter] = useState((_v = initialState === null || initialState === void 0 ? void 0 : initialState.showGlobalFilter) !== null && _v !== void 0 ? _v : false);
|
1752
|
+
const [showToolbarDropZone, setShowToolbarDropZone] = useState((_w = initialState === null || initialState === void 0 ? void 0 : initialState.showToolbarDropZone) !== null && _w !== void 0 ? _w : false);
|
1750
1753
|
definedTableOptions.state = Object.assign({ actionCell,
|
1751
1754
|
columnFilterFns,
|
1752
1755
|
columnOrder,
|
@@ -1766,6 +1769,7 @@ const useMRT_TableInstance = (definedTableOptions) => {
|
|
1766
1769
|
pagination,
|
1767
1770
|
showAlertBanner,
|
1768
1771
|
showColumnFilters,
|
1772
|
+
showToolBar,
|
1769
1773
|
showGlobalFilter,
|
1770
1774
|
showToolbarDropZone }, definedTableOptions.state);
|
1771
1775
|
//The table options now include all state needed to help determine column visibility and order logic
|
@@ -1820,7 +1824,7 @@ const useMRT_TableInstance = (definedTableOptions) => {
|
|
1820
1824
|
const table = useReactTable(Object.assign(Object.assign({ onColumnOrderChange,
|
1821
1825
|
onColumnSizingInfoChange,
|
1822
1826
|
onGroupingChange,
|
1823
|
-
onPaginationChange }, statefulTableOptions), { globalFilterFn: (
|
1827
|
+
onPaginationChange }, statefulTableOptions), { globalFilterFn: (_x = statefulTableOptions.filterFns) === null || _x === void 0 ? void 0 : _x[globalFilterFn !== null && globalFilterFn !== void 0 ? globalFilterFn : 'fuzzy'] }));
|
1824
1828
|
table.refs = {
|
1825
1829
|
actionCellRef,
|
1826
1830
|
bottomToolbarRef,
|
@@ -1836,7 +1840,7 @@ const useMRT_TableInstance = (definedTableOptions) => {
|
|
1836
1840
|
topToolbarRef,
|
1837
1841
|
};
|
1838
1842
|
table.setActionCell =
|
1839
|
-
(
|
1843
|
+
(_y = statefulTableOptions.onActionCellChange) !== null && _y !== void 0 ? _y : setActionCell;
|
1840
1844
|
table.setCreatingRow = (row) => {
|
1841
1845
|
var _a, _b;
|
1842
1846
|
let _row = row;
|
@@ -1846,34 +1850,36 @@ const useMRT_TableInstance = (definedTableOptions) => {
|
|
1846
1850
|
(_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);
|
1847
1851
|
};
|
1848
1852
|
table.setColumnFilterFns =
|
1849
|
-
(
|
1850
|
-
table.setDensity = (
|
1853
|
+
(_z = statefulTableOptions.onColumnFilterFnsChange) !== null && _z !== void 0 ? _z : setColumnFilterFns;
|
1854
|
+
table.setDensity = (_0 = statefulTableOptions.onDensityChange) !== null && _0 !== void 0 ? _0 : setDensity;
|
1851
1855
|
table.setDraggingColumn =
|
1852
|
-
(
|
1856
|
+
(_1 = statefulTableOptions.onDraggingColumnChange) !== null && _1 !== void 0 ? _1 : setDraggingColumn;
|
1853
1857
|
table.setDraggingRow =
|
1854
|
-
(
|
1858
|
+
(_2 = statefulTableOptions.onDraggingRowChange) !== null && _2 !== void 0 ? _2 : setDraggingRow;
|
1855
1859
|
table.setEditingCell =
|
1856
|
-
(
|
1860
|
+
(_3 = statefulTableOptions.onEditingCellChange) !== null && _3 !== void 0 ? _3 : setEditingCell;
|
1857
1861
|
table.setEditingRow =
|
1858
|
-
(
|
1862
|
+
(_4 = statefulTableOptions.onEditingRowChange) !== null && _4 !== void 0 ? _4 : setEditingRow;
|
1859
1863
|
table.setGlobalFilterFn =
|
1860
|
-
(
|
1864
|
+
(_5 = statefulTableOptions.onGlobalFilterFnChange) !== null && _5 !== void 0 ? _5 : setGlobalFilterFn;
|
1861
1865
|
table.setHoveredColumn =
|
1862
|
-
(
|
1866
|
+
(_6 = statefulTableOptions.onHoveredColumnChange) !== null && _6 !== void 0 ? _6 : setHoveredColumn;
|
1863
1867
|
table.setHoveredRow =
|
1864
|
-
(
|
1868
|
+
(_7 = statefulTableOptions.onHoveredRowChange) !== null && _7 !== void 0 ? _7 : setHoveredRow;
|
1865
1869
|
table.setIsFullScreen =
|
1866
|
-
(
|
1870
|
+
(_8 = statefulTableOptions.onIsFullScreenChange) !== null && _8 !== void 0 ? _8 : setIsFullScreen;
|
1867
1871
|
table.setEnableKeyboardShortcuts =
|
1868
|
-
(
|
1872
|
+
(_9 = statefulTableOptions.onEnableKeyboardShortcutsChange) !== null && _9 !== void 0 ? _9 : setEnableKeyboardShortcuts;
|
1869
1873
|
table.setShowAlertBanner =
|
1870
|
-
(
|
1874
|
+
(_10 = statefulTableOptions.onShowAlertBannerChange) !== null && _10 !== void 0 ? _10 : setShowAlertBanner;
|
1871
1875
|
table.setShowColumnFilters =
|
1872
|
-
(
|
1876
|
+
(_11 = statefulTableOptions.onShowColumnFiltersChange) !== null && _11 !== void 0 ? _11 : setShowColumnFilters;
|
1877
|
+
table.setShowToolBar =
|
1878
|
+
(_12 = statefulTableOptions.onShowToolBarChange) !== null && _12 !== void 0 ? _12 : setShowToolBar;
|
1873
1879
|
table.setShowGlobalFilter =
|
1874
|
-
(
|
1880
|
+
(_13 = statefulTableOptions.onShowGlobalFilterChange) !== null && _13 !== void 0 ? _13 : setShowGlobalFilter;
|
1875
1881
|
table.setShowToolbarDropZone =
|
1876
|
-
(
|
1882
|
+
(_14 = statefulTableOptions.onShowToolbarDropZoneChange) !== null && _14 !== void 0 ? _14 : setShowToolbarDropZone;
|
1877
1883
|
useMRT_Effects(table);
|
1878
1884
|
return table;
|
1879
1885
|
};
|
@@ -2894,10 +2900,10 @@ const MRT_FilterOptionMenu = (_a) => {
|
|
2894
2900
|
const MRT_ColumnActionMenu = (_a) => {
|
2895
2901
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
2896
2902
|
var { anchorEl, header, setAnchorEl, table } = _a, rest = __rest(_a, ["anchorEl", "header", "setAnchorEl", "table"]);
|
2897
|
-
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;
|
2903
|
+
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;
|
2898
2904
|
const { column } = header;
|
2899
2905
|
const { columnDef } = column;
|
2900
|
-
const { columnSizing, columnVisibility, density, showColumnFilters } = getState();
|
2906
|
+
const { columnSizing, columnVisibility, density, showColumnFilters, showToolBar } = getState();
|
2901
2907
|
const columnFilterValue = column.getFilterValue();
|
2902
2908
|
const [filterMenuAnchorEl, setFilterMenuAnchorEl] = useState(null);
|
2903
2909
|
const handleClearSort = () => {
|
@@ -3005,6 +3011,11 @@ const MRT_ColumnActionMenu = (_a) => {
|
|
3005
3011
|
.length, icon: jsx(ViewColumnIcon, {}), label: (_h = localization.showAllColumns) === null || _h === void 0 ? void 0 : _h.replace('{column}', String(columnDef.header)), onClick: handleShowAllColumns, table: table }, 12),
|
3006
3012
|
]
|
3007
3013
|
: []),
|
3014
|
+
// **Newly Added Menu Item for Toolbar Visibility**
|
3015
|
+
jsx(MRT_ActionMenuItem, { icon: jsx(SettingsOutlinedIcon, {}), label: showToolBar ? "Hide ToolBar" : "Show ToolBar", onClick: (e) => {
|
3016
|
+
e.stopPropagation();
|
3017
|
+
table.setShowToolBar(!showToolBar);
|
3018
|
+
}, table: table }, 13),
|
3008
3019
|
].filter(Boolean);
|
3009
3020
|
return (jsx(Menu, Object.assign({ MenuListProps: {
|
3010
3021
|
dense: density === 'compact',
|
@@ -3128,19 +3139,7 @@ const MRT_FilterTextField = (_a) => {
|
|
3128
3139
|
});
|
3129
3140
|
}
|
3130
3141
|
else {
|
3131
|
-
|
3132
|
-
// column.setFilterValue(newValue === '' ? undefined : newValue);
|
3133
|
-
debugger;
|
3134
|
-
if (newValue === 0) {
|
3135
|
-
column.setFilterValue("0");
|
3136
|
-
}
|
3137
|
-
else {
|
3138
|
-
column.setFilterValue(newValue);
|
3139
|
-
}
|
3140
|
-
}
|
3141
|
-
else {
|
3142
|
-
column.setFilterValue(newValue !== null && newValue !== void 0 ? newValue : undefined);
|
3143
|
-
}
|
3142
|
+
column.setFilterValue(newValue !== null && newValue !== void 0 ? newValue : undefined);
|
3144
3143
|
}
|
3145
3144
|
}, isTextboxFilter ? (manualFiltering ? 400 : 200) : 1), []);
|
3146
3145
|
const handleChange = (newValue) => {
|
@@ -3178,6 +3177,8 @@ const MRT_FilterTextField = (_a) => {
|
|
3178
3177
|
setFilterValue('');
|
3179
3178
|
column.setFilterValue(undefined);
|
3180
3179
|
}
|
3180
|
+
// focus on the input after clearing the filter
|
3181
|
+
// filterInputRefs.current[`${column.id}-${rangeFilterIndex ?? 0}`]?.focus();
|
3181
3182
|
};
|
3182
3183
|
const handleClearEmptyFilterChip = () => {
|
3183
3184
|
setFilterValue('');
|
@@ -3556,7 +3557,7 @@ const MRT_TableHeadCell = (_a) => {
|
|
3556
3557
|
const { getState, options: { columnFilterDisplayMode, columnResizeDirection, columnResizeMode, enableColumnActions, enableColumnDragging, enableColumnOrdering, enableColumnPinning,
|
3557
3558
|
// enableKeyboardShortcuts,
|
3558
3559
|
enableGrouping, enableMultiSort, layoutMode, mrtTheme: { draggingBorderColor }, muiTableHeadCellProps, }, refs: { tableHeadCellRefs }, setHoveredColumn, } = table;
|
3559
|
-
const { enableKeyboardShortcuts, columnSizingInfo, density, draggingColumn, grouping, hoveredColumn, showColumnFilters, } = getState();
|
3560
|
+
const { enableKeyboardShortcuts, columnSizingInfo, density, draggingColumn, grouping, hoveredColumn, showColumnFilters, showToolBar, } = getState();
|
3560
3561
|
const { column } = header;
|
3561
3562
|
const { columnDef } = column;
|
3562
3563
|
const { columnDefType } = columnDef;
|