material-react-table 1.0.0-beta.8 → 1.0.0-beta.9
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/cjs/MaterialReactTable.d.ts +6 -0
- package/dist/cjs/index.js +18 -14
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/menus/MRT_FilterOptionMenu.d.ts +2 -1
- package/dist/esm/MaterialReactTable.d.ts +6 -0
- package/dist/esm/material-react-table.esm.js +19 -15
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/menus/MRT_FilterOptionMenu.d.ts +2 -1
- package/dist/index.d.ts +6 -0
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +10 -0
- package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +7 -2
- package/src/inputs/MRT_FilterTextField.tsx +1 -5
- package/src/inputs/MRT_GlobalFilterTextField.tsx +1 -0
- package/src/menus/MRT_FilterOptionMenu.tsx +18 -1
- package/src/table/MRT_TablePaper.tsx +13 -3
|
@@ -467,6 +467,9 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
|
|
|
467
467
|
positionPagination?: 'bottom' | 'top' | 'both';
|
|
468
468
|
positionToolbarAlertBanner?: 'bottom' | 'top' | 'none';
|
|
469
469
|
positionToolbarDropZone?: 'bottom' | 'top' | 'none' | 'both';
|
|
470
|
+
renderBottomToolbar?: ({ table, }: {
|
|
471
|
+
table: MRT_TableInstance<TData>;
|
|
472
|
+
}) => ReactNode | ReactNode[];
|
|
470
473
|
renderBottomToolbarCustomActions?: ({ table, }: {
|
|
471
474
|
table: MRT_TableInstance<TData>;
|
|
472
475
|
}) => ReactNode;
|
|
@@ -503,6 +506,9 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
|
|
|
503
506
|
renderToolbarInternalActions?: ({ table, }: {
|
|
504
507
|
table: MRT_TableInstance<TData>;
|
|
505
508
|
}) => ReactNode;
|
|
509
|
+
renderTopToolbar?: ({ table, }: {
|
|
510
|
+
table: MRT_TableInstance<TData>;
|
|
511
|
+
}) => ReactNode | ReactNode[];
|
|
506
512
|
renderTopToolbarCustomActions?: ({ table, }: {
|
|
507
513
|
table: MRT_TableInstance<TData>;
|
|
508
514
|
}) => ReactNode;
|
package/dist/cjs/index.js
CHANGED
|
@@ -393,7 +393,7 @@ const mrtFilterOptions = (localization) => [
|
|
|
393
393
|
divider: false,
|
|
394
394
|
},
|
|
395
395
|
];
|
|
396
|
-
const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, table, }) => {
|
|
396
|
+
const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, setFilterValue, table, }) => {
|
|
397
397
|
var _a, _b, _c, _d;
|
|
398
398
|
const { getState, options: { columnFilterModeOptions, globalFilterModeOptions, localization, renderColumnFilterModeMenuItems, renderGlobalFilterModeMenuItems, }, setColumnFilterFns, setGlobalFilterFn, } = table;
|
|
399
399
|
const { globalFilterFn, density } = getState();
|
|
@@ -412,11 +412,19 @@ const MRT_FilterOptionMenu = ({ anchorEl, header, onSelect, setAnchorEl, table,
|
|
|
412
412
|
if (['empty', 'notEmpty'].includes(option)) {
|
|
413
413
|
column.setFilterValue(' ');
|
|
414
414
|
}
|
|
415
|
-
else if (
|
|
415
|
+
else if ((columnDef === null || columnDef === void 0 ? void 0 : columnDef.filterVariant) === 'multi-select' ||
|
|
416
|
+
['arrIncludesSome', 'arrIncludesAll', 'arrIncludes'].includes(option)) {
|
|
417
|
+
column.setFilterValue([]);
|
|
418
|
+
setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue([]);
|
|
419
|
+
}
|
|
420
|
+
else if ((columnDef === null || columnDef === void 0 ? void 0 : columnDef.filterVariant) === 'range' ||
|
|
421
|
+
['between', 'betweenInclusive', 'inNumberRange'].includes(option)) {
|
|
416
422
|
column.setFilterValue(['', '']);
|
|
423
|
+
setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue('');
|
|
417
424
|
}
|
|
418
425
|
else {
|
|
419
426
|
column.setFilterValue('');
|
|
427
|
+
setFilterValue === null || setFilterValue === void 0 ? void 0 : setFilterValue('');
|
|
420
428
|
}
|
|
421
429
|
}
|
|
422
430
|
else {
|
|
@@ -1080,7 +1088,7 @@ const MRT_GlobalFilterTextField = ({ table, }) => {
|
|
|
1080
1088
|
textFieldProps.inputRef = inputRef;
|
|
1081
1089
|
}
|
|
1082
1090
|
} })),
|
|
1083
|
-
React__default["default"].createElement(MRT_FilterOptionMenu, { anchorEl: anchorEl, setAnchorEl: setAnchorEl, table: table })));
|
|
1091
|
+
React__default["default"].createElement(MRT_FilterOptionMenu, { anchorEl: anchorEl, setAnchorEl: setAnchorEl, table: table, onSelect: handleClear })));
|
|
1084
1092
|
};
|
|
1085
1093
|
|
|
1086
1094
|
const MRT_LinearProgressBar = ({ isTopToolbar, table }) => {
|
|
@@ -1217,13 +1225,13 @@ const MRT_ToggleGlobalFilterButton = (_a) => {
|
|
|
1217
1225
|
var _b;
|
|
1218
1226
|
var { table } = _a, rest = __rest(_a, ["table"]);
|
|
1219
1227
|
const { getState, options: { icons: { SearchIcon, SearchOffIcon }, localization, }, refs: { searchInputRef }, setShowGlobalFilter, } = table;
|
|
1220
|
-
const { showGlobalFilter } = getState();
|
|
1228
|
+
const { globalFilter, showGlobalFilter } = getState();
|
|
1221
1229
|
const handleToggleSearch = () => {
|
|
1222
1230
|
setShowGlobalFilter(!showGlobalFilter);
|
|
1223
1231
|
queueMicrotask(() => { var _a; return (_a = searchInputRef.current) === null || _a === void 0 ? void 0 : _a.focus(); });
|
|
1224
1232
|
};
|
|
1225
1233
|
return (React__default["default"].createElement(material.Tooltip, { arrow: true, title: (_b = rest === null || rest === void 0 ? void 0 : rest.title) !== null && _b !== void 0 ? _b : localization.showHideSearch },
|
|
1226
|
-
React__default["default"].createElement(material.IconButton, Object.assign({ onClick: handleToggleSearch }, rest, { title: undefined }), showGlobalFilter ? React__default["default"].createElement(SearchOffIcon, null) : React__default["default"].createElement(SearchIcon, null))));
|
|
1234
|
+
React__default["default"].createElement(material.IconButton, Object.assign({ disabled: !!globalFilter, onClick: handleToggleSearch }, rest, { title: undefined }), showGlobalFilter ? React__default["default"].createElement(SearchOffIcon, null) : React__default["default"].createElement(SearchIcon, null))));
|
|
1227
1235
|
};
|
|
1228
1236
|
|
|
1229
1237
|
const MRT_ToolbarInternalButtons = ({ table }) => {
|
|
@@ -1494,9 +1502,6 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
|
|
|
1494
1502
|
const handleFilterMenuOpen = (event) => {
|
|
1495
1503
|
setAnchorEl(event.currentTarget);
|
|
1496
1504
|
};
|
|
1497
|
-
React.useEffect(() => {
|
|
1498
|
-
handleClear();
|
|
1499
|
-
}, [columnDef._filterFn]);
|
|
1500
1505
|
if (columnDef.Filter) {
|
|
1501
1506
|
return React__default["default"].createElement(React__default["default"].Fragment, null, (_e = columnDef.Filter) === null || _e === void 0 ? void 0 : _e.call(columnDef, { column, header, table }));
|
|
1502
1507
|
}
|
|
@@ -1586,7 +1591,7 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
|
|
|
1586
1591
|
isMultiSelectFilter && (React__default["default"].createElement(material.Checkbox, { checked: ((_a = column.getFilterValue()) !== null && _a !== void 0 ? _a : []).includes(value), sx: { mr: '0.5rem' } })),
|
|
1587
1592
|
text));
|
|
1588
1593
|
})),
|
|
1589
|
-
React__default["default"].createElement(MRT_FilterOptionMenu, { anchorEl: anchorEl, header: header, setAnchorEl: setAnchorEl, table: table })));
|
|
1594
|
+
React__default["default"].createElement(MRT_FilterOptionMenu, { anchorEl: anchorEl, header: header, setAnchorEl: setAnchorEl, table: table, setFilterValue: setFilterValue })));
|
|
1590
1595
|
};
|
|
1591
1596
|
|
|
1592
1597
|
const MRT_FilterRangeFields = ({ header, table }) => {
|
|
@@ -2364,7 +2369,8 @@ const MRT_TableContainer = ({ table }) => {
|
|
|
2364
2369
|
};
|
|
2365
2370
|
|
|
2366
2371
|
const MRT_TablePaper = ({ table }) => {
|
|
2367
|
-
|
|
2372
|
+
var _a, _b;
|
|
2373
|
+
const { getState, options: { enableBottomToolbar, enableTopToolbar, muiTablePaperProps, renderBottomToolbar, renderTopToolbar, }, refs: { tablePaperRef }, } = table;
|
|
2368
2374
|
const { isFullScreen } = getState();
|
|
2369
2375
|
const tablePaperProps = muiTablePaperProps instanceof Function
|
|
2370
2376
|
? muiTablePaperProps({ table })
|
|
@@ -2386,10 +2392,8 @@ const MRT_TablePaper = ({ table }) => {
|
|
|
2386
2392
|
padding: 0,
|
|
2387
2393
|
width: '100vw',
|
|
2388
2394
|
}
|
|
2389
|
-
: {})) }),
|
|
2390
|
-
|
|
2391
|
-
React__default["default"].createElement(MRT_TableContainer, { table: table }),
|
|
2392
|
-
enableBottomToolbar && React__default["default"].createElement(MRT_BottomToolbar, { table: table })));
|
|
2395
|
+
: {})) }), (_a = (enableTopToolbar && (renderTopToolbar === null || renderTopToolbar === void 0 ? void 0 : renderTopToolbar({ table })))) !== null && _a !== void 0 ? _a : (React__default["default"].createElement(MRT_TopToolbar, { table: table })),
|
|
2396
|
+
React__default["default"].createElement(MRT_TableContainer, { table: table }), (_b = (enableBottomToolbar && (renderBottomToolbar === null || renderBottomToolbar === void 0 ? void 0 : renderBottomToolbar({ table })))) !== null && _b !== void 0 ? _b : (React__default["default"].createElement(MRT_BottomToolbar, { table: table }))));
|
|
2393
2397
|
};
|
|
2394
2398
|
|
|
2395
2399
|
const MRT_EditRowModal = ({ open, row, table, }) => {
|