material-react-table 0.40.11 → 1.0.0-beta.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 +17 -13
- package/dist/cjs/MaterialReactTable.d.ts +4 -2
- package/dist/cjs/column.utils.d.ts +81 -76
- package/dist/cjs/index.js +41 -34
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/MaterialReactTable.d.ts +4 -2
- package/dist/esm/column.utils.d.ts +81 -76
- package/dist/esm/material-react-table.esm.js +41 -34
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +19 -1
- package/src/column.utils.ts +18 -25
- package/src/inputs/MRT_FilterTextField.tsx +6 -3
- package/src/inputs/MRT_GlobalFilterTextField.tsx +6 -1
- package/src/table/MRT_TableRoot.tsx +12 -12
- package/src/toolbar/MRT_BottomToolbar.tsx +3 -0
- package/src/toolbar/MRT_TablePagination.tsx +1 -2
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +6 -8
- package/src/toolbar/MRT_TopToolbar.tsx +6 -2
|
@@ -231,7 +231,8 @@ export declare type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit
|
|
|
231
231
|
}) => ReactNode[];
|
|
232
232
|
sortingFn?: MRT_SortingFn;
|
|
233
233
|
};
|
|
234
|
-
export declare type MRT_DefinedColumnDef<TData extends Record<string, any> = {}> = Omit<MRT_ColumnDef<TData>, 'id'> & {
|
|
234
|
+
export declare type MRT_DefinedColumnDef<TData extends Record<string, any> = {}> = Omit<MRT_ColumnDef<TData>, 'id' | 'defaultDisplayColumn'> & {
|
|
235
|
+
defaultDisplayColumn: Partial<MRT_ColumnDef<TData>>;
|
|
235
236
|
id: string;
|
|
236
237
|
_filterFn: MRT_FilterOption;
|
|
237
238
|
};
|
|
@@ -283,6 +284,7 @@ export declare type MaterialReactTableProps<TData extends Record<string, any> =
|
|
|
283
284
|
columns: MRT_ColumnDef<TData>[];
|
|
284
285
|
data: TData[];
|
|
285
286
|
defaultColumn?: Partial<MRT_ColumnDef<TData>>;
|
|
287
|
+
defaultDisplayColumn?: Partial<MRT_ColumnDef<TData>>;
|
|
286
288
|
displayColumnDefOptions?: Partial<{
|
|
287
289
|
[key in MRT_DisplayColumnIds]: Partial<MRT_ColumnDef>;
|
|
288
290
|
}>;
|
|
@@ -532,5 +534,5 @@ export declare type Virtualizer = {
|
|
|
532
534
|
scrollToIndex: (index: number, options?: any | undefined) => void;
|
|
533
535
|
measure: () => void;
|
|
534
536
|
};
|
|
535
|
-
declare const _default: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarInternalActions, enableTopToolbar, filterFns, icons, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
|
|
537
|
+
declare const _default: <TData extends Record<string, any> = {}>({ aggregationFns, autoResetExpanded, columnResizeMode, defaultColumn, defaultDisplayColumn, editingMode, enableBottomToolbar, enableColumnActions, enableColumnFilters, enableColumnOrdering, enableColumnResizing, enableDensityToggle, enableExpandAll, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableGlobalFilterRankedResults, enableGrouping, enableHiding, enableMultiRowSelection, enableMultiSort, enablePagination, enablePinning, enableRowSelection, enableSelectAll, enableSorting, enableStickyHeader, enableTableFooter, enableTableHead, enableToolbarInternalActions, enableTopToolbar, filterFns, icons, localization, positionActionsColumn, positionExpandColumn, positionGlobalFilter, positionPagination, positionToolbarAlertBanner, positionToolbarDropZone, rowNumberMode, selectAllMode, sortingFns, ...rest }: MaterialReactTableProps<TData>) => JSX.Element;
|
|
536
538
|
export default _default;
|
|
@@ -2,85 +2,90 @@ import { ColumnOrderState, GroupingState } from '@tanstack/react-table';
|
|
|
2
2
|
import { MaterialReactTableProps, MRT_Column, MRT_ColumnDef, MRT_DefinedColumnDef, MRT_DisplayColumnIds, MRT_FilterOption } from '.';
|
|
3
3
|
import { MRT_FilterFns } from './filterFns';
|
|
4
4
|
import { MRT_SortingFns } from './sortingFns';
|
|
5
|
-
export declare const defaultDisplayColumnDefOptions: Partial<MRT_ColumnDef<{}>>;
|
|
6
5
|
export declare const getColumnId: <TData extends Record<string, any> = {}>(columnDef: MRT_ColumnDef<TData>) => string;
|
|
7
6
|
export declare const getAllLeafColumnDefs: <TData extends Record<string, any> = {}>(columns: MRT_ColumnDef<TData>[]) => MRT_ColumnDef<TData>[];
|
|
8
|
-
export declare const prepareColumns: <TData extends Record<string, any> = {}>(columnDefs
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
<TData_1 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_1>, id: string, filterValues: [string | number, string | number]): boolean;
|
|
13
|
-
autoRemove(val: any): boolean;
|
|
7
|
+
export declare const prepareColumns: <TData extends Record<string, any> = {}>({ columnDefs, columnFilterFns, defaultDisplayColumn, filterFns, sortingFns, }: {
|
|
8
|
+
columnDefs: MRT_ColumnDef<TData>[];
|
|
9
|
+
columnFilterFns: {
|
|
10
|
+
[key: string]: MRT_FilterOption;
|
|
14
11
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
12
|
+
defaultDisplayColumn: Partial<MRT_ColumnDef<TData>>;
|
|
13
|
+
filterFns: {
|
|
14
|
+
between: {
|
|
15
|
+
<TData_1 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_1>, id: string, filterValues: [string | number, string | number]): boolean;
|
|
16
|
+
autoRemove(val: any): boolean;
|
|
17
|
+
};
|
|
18
|
+
betweenInclusive: {
|
|
19
|
+
<TData_2 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_2>, id: string, filterValues: [string | number, string | number]): boolean;
|
|
20
|
+
autoRemove(val: any): boolean;
|
|
21
|
+
};
|
|
22
|
+
contains: {
|
|
23
|
+
<TData_3 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_3>, id: string, filterValue: string | number): boolean;
|
|
24
|
+
autoRemove(val: any): boolean;
|
|
25
|
+
};
|
|
26
|
+
empty: {
|
|
27
|
+
<TData_4 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_4>, id: string, _filterValue: string | number): boolean;
|
|
28
|
+
autoRemove(val: any): boolean;
|
|
29
|
+
};
|
|
30
|
+
endsWith: {
|
|
31
|
+
<TData_5 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_5>, id: string, filterValue: string | number): boolean;
|
|
32
|
+
autoRemove(val: any): boolean;
|
|
33
|
+
};
|
|
34
|
+
equals: {
|
|
35
|
+
<TData_6 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_6>, id: string, filterValue: string | number): boolean;
|
|
36
|
+
autoRemove(val: any): boolean;
|
|
37
|
+
};
|
|
38
|
+
fuzzy: {
|
|
39
|
+
<TData_7 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_7>, columnId: string, filterValue: string | number, addMeta: (item: import("@tanstack/match-sorter-utils").RankingInfo) => void): boolean;
|
|
40
|
+
autoRemove(val: any): boolean;
|
|
41
|
+
};
|
|
42
|
+
greaterThan: {
|
|
43
|
+
<TData_8 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_8>, id: string, filterValue: string | number): boolean;
|
|
44
|
+
autoRemove(val: any): boolean;
|
|
45
|
+
};
|
|
46
|
+
greaterThanOrEqualTo: {
|
|
47
|
+
<TData_9 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_9>, id: string, filterValue: string | number): boolean;
|
|
48
|
+
autoRemove(val: any): boolean;
|
|
49
|
+
};
|
|
50
|
+
lessThan: {
|
|
51
|
+
<TData_10 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_10>, id: string, filterValue: string | number): boolean;
|
|
52
|
+
autoRemove(val: any): boolean;
|
|
53
|
+
};
|
|
54
|
+
lessThanOrEqualTo: {
|
|
55
|
+
<TData_11 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_11>, id: string, filterValue: string | number): boolean;
|
|
56
|
+
autoRemove(val: any): boolean;
|
|
57
|
+
};
|
|
58
|
+
notEmpty: {
|
|
59
|
+
<TData_12 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_12>, id: string, _filterValue: string | number): boolean;
|
|
60
|
+
autoRemove(val: any): boolean;
|
|
61
|
+
};
|
|
62
|
+
notEquals: {
|
|
63
|
+
<TData_13 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_13>, id: string, filterValue: string | number): boolean;
|
|
64
|
+
autoRemove(val: any): boolean;
|
|
65
|
+
};
|
|
66
|
+
startsWith: {
|
|
67
|
+
<TData_14 extends Record<string, any> = {}>(row: import("@tanstack/table-core").Row<TData_14>, id: string, filterValue: string | number): boolean;
|
|
68
|
+
autoRemove(val: any): boolean;
|
|
69
|
+
};
|
|
70
|
+
includesString: import("@tanstack/table-core").FilterFn<any>;
|
|
71
|
+
includesStringSensitive: import("@tanstack/table-core").FilterFn<any>;
|
|
72
|
+
equalsString: import("@tanstack/table-core").FilterFn<any>;
|
|
73
|
+
arrIncludes: import("@tanstack/table-core").FilterFn<any>;
|
|
74
|
+
arrIncludesAll: import("@tanstack/table-core").FilterFn<any>;
|
|
75
|
+
arrIncludesSome: import("@tanstack/table-core").FilterFn<any>;
|
|
76
|
+
weakEquals: import("@tanstack/table-core").FilterFn<any>;
|
|
77
|
+
inNumberRange: import("@tanstack/table-core").FilterFn<any>;
|
|
78
|
+
} & Record<string, import("@tanstack/table-core").FilterFn<any>>;
|
|
79
|
+
sortingFns: {
|
|
80
|
+
fuzzy: <TData_15 extends Record<string, any> = {}>(rowA: import("@tanstack/table-core").Row<TData_15>, rowB: import("@tanstack/table-core").Row<TData_15>, columnId: string) => number;
|
|
81
|
+
alphanumeric: import("@tanstack/table-core").SortingFn<any>;
|
|
82
|
+
alphanumericCaseSensitive: import("@tanstack/table-core").SortingFn<any>;
|
|
83
|
+
text: import("@tanstack/table-core").SortingFn<any>;
|
|
84
|
+
textCaseSensitive: import("@tanstack/table-core").SortingFn<any>;
|
|
85
|
+
datetime: import("@tanstack/table-core").SortingFn<any>;
|
|
86
|
+
basic: import("@tanstack/table-core").SortingFn<any>;
|
|
87
|
+
} & Record<string, import("@tanstack/table-core").SortingFn<any>>;
|
|
88
|
+
}) => MRT_DefinedColumnDef<TData>[];
|
|
84
89
|
export declare const reorderColumn: <TData extends Record<string, any> = {}>(draggedColumn: MRT_Column<TData>, targetColumn: MRT_Column<TData>, columnOrder: ColumnOrderState) => ColumnOrderState;
|
|
85
90
|
export declare const showExpandColumn: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>, grouping?: GroupingState) => boolean;
|
|
86
91
|
export declare const getLeadingDisplayColumnIds: <TData extends Record<string, any> = {}>(props: MaterialReactTableProps<TData>) => MRT_DisplayColumnIds[];
|
|
@@ -484,20 +484,6 @@ const MRT_GrabHandleButton = ({ iconButtonProps, onDragEnd, onDragStart, table,
|
|
|
484
484
|
React.createElement(DragHandleIcon, null))));
|
|
485
485
|
};
|
|
486
486
|
|
|
487
|
-
const defaultDisplayColumnDefOptions = {
|
|
488
|
-
columnDefType: 'display',
|
|
489
|
-
enableClickToCopy: false,
|
|
490
|
-
enableColumnActions: false,
|
|
491
|
-
enableColumnDragging: false,
|
|
492
|
-
enableColumnFilter: false,
|
|
493
|
-
enableColumnOrdering: false,
|
|
494
|
-
enableEditing: false,
|
|
495
|
-
enableGlobalFilter: false,
|
|
496
|
-
enableGrouping: false,
|
|
497
|
-
enableHiding: false,
|
|
498
|
-
enableResizing: false,
|
|
499
|
-
enableSorting: false,
|
|
500
|
-
};
|
|
501
487
|
const getColumnId = (columnDef) => { var _a, _b, _c, _d; return (_d = (_a = columnDef.id) !== null && _a !== void 0 ? _a : (_c = (_b = columnDef.accessorKey) === null || _b === void 0 ? void 0 : _b.toString) === null || _c === void 0 ? void 0 : _c.call(_b)) !== null && _d !== void 0 ? _d : columnDef.header; };
|
|
502
488
|
const getAllLeafColumnDefs = (columns) => {
|
|
503
489
|
let lowestLevelColumns = columns;
|
|
@@ -514,7 +500,7 @@ const getAllLeafColumnDefs = (columns) => {
|
|
|
514
500
|
}
|
|
515
501
|
return lowestLevelColumns.filter((col) => !col.columns);
|
|
516
502
|
};
|
|
517
|
-
const prepareColumns = (columnDefs, columnFilterFns, filterFns, sortingFns) => columnDefs.map((columnDef) => {
|
|
503
|
+
const prepareColumns = ({ columnDefs, columnFilterFns, defaultDisplayColumn, filterFns, sortingFns, }) => columnDefs.map((columnDef) => {
|
|
518
504
|
var _a, _b;
|
|
519
505
|
if (!columnDef.id)
|
|
520
506
|
columnDef.id = getColumnId(columnDef);
|
|
@@ -525,7 +511,13 @@ const prepareColumns = (columnDefs, columnFilterFns, filterFns, sortingFns) => c
|
|
|
525
511
|
columnDef.columnDefType = 'data';
|
|
526
512
|
if (!!((_a = columnDef.columns) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
527
513
|
columnDef.columnDefType = 'group';
|
|
528
|
-
columnDef.columns = prepareColumns(
|
|
514
|
+
columnDef.columns = prepareColumns({
|
|
515
|
+
columnDefs: columnDef.columns,
|
|
516
|
+
columnFilterFns,
|
|
517
|
+
defaultDisplayColumn,
|
|
518
|
+
filterFns,
|
|
519
|
+
sortingFns,
|
|
520
|
+
});
|
|
529
521
|
}
|
|
530
522
|
else if (columnDef.columnDefType === 'data') {
|
|
531
523
|
if (Object.keys(filterFns).includes(columnFilterFns[columnDef.id])) {
|
|
@@ -540,7 +532,7 @@ const prepareColumns = (columnDefs, columnFilterFns, filterFns, sortingFns) => c
|
|
|
540
532
|
}
|
|
541
533
|
}
|
|
542
534
|
else if (columnDef.columnDefType === 'display') {
|
|
543
|
-
columnDef = Object.assign(Object.assign({},
|
|
535
|
+
columnDef = Object.assign(Object.assign({}, defaultDisplayColumn), columnDef);
|
|
544
536
|
}
|
|
545
537
|
return columnDef;
|
|
546
538
|
});
|
|
@@ -1030,7 +1022,7 @@ const MRT_GlobalFilterTextField = ({ table, }) => {
|
|
|
1030
1022
|
const textFieldProps = muiSearchTextFieldProps instanceof Function
|
|
1031
1023
|
? muiSearchTextFieldProps({ table })
|
|
1032
1024
|
: muiSearchTextFieldProps;
|
|
1033
|
-
return (React.createElement(Collapse, { in: showGlobalFilter, orientation: "horizontal" },
|
|
1025
|
+
return (React.createElement(Collapse, { in: showGlobalFilter, orientation: "horizontal", unmountOnExit: true, mountOnEnter: true },
|
|
1034
1026
|
React.createElement(TextField, Object.assign({ placeholder: localization.search, onChange: handleChange, value: searchValue !== null && searchValue !== void 0 ? searchValue : '', variant: "standard", InputProps: {
|
|
1035
1027
|
startAdornment: enableGlobalFilterModes ? (React.createElement(InputAdornment, { position: "start" },
|
|
1036
1028
|
React.createElement(Tooltip, { arrow: true, title: localization.changeSearchMode },
|
|
@@ -1079,11 +1071,11 @@ const MRT_TablePagination = ({ table, position }) => {
|
|
|
1079
1071
|
return (React.createElement(TablePagination, Object.assign({ SelectProps: {
|
|
1080
1072
|
sx: { m: '0 1rem 0 1ch' },
|
|
1081
1073
|
MenuProps: { MenuListProps: { disablePadding: true } },
|
|
1082
|
-
}, component: "div", count: totalRowCount, onPageChange: (_, newPage) => setPageIndex(newPage), onRowsPerPageChange: handleChangeRowsPerPage, page: pageIndex, rowsPerPage: pageSize, rowsPerPageOptions: [5, 10, 15, 20, 25, 30, 50, 100], showFirstButton: showFirstLastPageButtons, showLastButton: showFirstLastPageButtons }, tablePaginationProps, { sx: (theme) => (Object.assign({
|
|
1074
|
+
}, component: "div", count: totalRowCount, onPageChange: (_, newPage) => setPageIndex(newPage), onRowsPerPageChange: handleChangeRowsPerPage, page: pageIndex, rowsPerPage: pageSize, rowsPerPageOptions: [5, 10, 15, 20, 25, 30, 50, 100], showFirstButton: showFirstLastPageButtons, showLastButton: showFirstLastPageButtons }, tablePaginationProps, { sx: (theme) => (Object.assign({ mt: position === 'top' &&
|
|
1083
1075
|
enableToolbarInternalActions &&
|
|
1084
1076
|
!showGlobalFilter
|
|
1085
1077
|
? '3.5rem'
|
|
1086
|
-
:
|
|
1078
|
+
: '-0.25rem', position: 'relative', zIndex: 2 }, ((tablePaginationProps === null || tablePaginationProps === void 0 ? void 0 : tablePaginationProps.sx) instanceof Function
|
|
1087
1079
|
? tablePaginationProps.sx(theme)
|
|
1088
1080
|
: tablePaginationProps === null || tablePaginationProps === void 0 ? void 0 : tablePaginationProps.sx))) })));
|
|
1089
1081
|
};
|
|
@@ -1191,7 +1183,7 @@ const MRT_ToggleGlobalFilterButton = (_a) => {
|
|
|
1191
1183
|
|
|
1192
1184
|
const MRT_ToolbarInternalButtons = ({ table }) => {
|
|
1193
1185
|
var _a;
|
|
1194
|
-
const { options: { enableColumnFilters, enableColumnOrdering, enableDensityToggle, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableHiding, enablePinning,
|
|
1186
|
+
const { options: { enableColumnFilters, enableColumnOrdering, enableDensityToggle, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableHiding, enablePinning, initialState, renderToolbarInternalActions, }, } = table;
|
|
1195
1187
|
return (React.createElement(Box, { sx: {
|
|
1196
1188
|
alignItems: 'center',
|
|
1197
1189
|
display: 'flex',
|
|
@@ -1199,8 +1191,9 @@ const MRT_ToolbarInternalButtons = ({ table }) => {
|
|
|
1199
1191
|
} }, (_a = renderToolbarInternalActions === null || renderToolbarInternalActions === void 0 ? void 0 : renderToolbarInternalActions({
|
|
1200
1192
|
table,
|
|
1201
1193
|
})) !== null && _a !== void 0 ? _a : (React.createElement(React.Fragment, null,
|
|
1202
|
-
|
|
1203
|
-
|
|
1194
|
+
enableFilters &&
|
|
1195
|
+
enableGlobalFilter &&
|
|
1196
|
+
!(initialState === null || initialState === void 0 ? void 0 : initialState.showGlobalFilter) && (React.createElement(MRT_ToggleGlobalFilterButton, { table: table })),
|
|
1204
1197
|
enableFilters && enableColumnFilters && (React.createElement(MRT_ToggleFiltersButton, { table: table })),
|
|
1205
1198
|
(enableHiding || enableColumnOrdering || enablePinning) && (React.createElement(MRT_ShowHideColumnsButton, { table: table })),
|
|
1206
1199
|
enableDensityToggle && (React.createElement(MRT_ToggleDensePaddingButton, { table: table })),
|
|
@@ -1274,7 +1267,9 @@ const MRT_TopToolbar = ({ table }) => {
|
|
|
1274
1267
|
width: '100%',
|
|
1275
1268
|
} },
|
|
1276
1269
|
enableGlobalFilter && positionGlobalFilter === 'left' && (React.createElement(MRT_GlobalFilterTextField, { table: table })), (_a = renderTopToolbarCustomActions === null || renderTopToolbarCustomActions === void 0 ? void 0 : renderTopToolbarCustomActions({ table })) !== null && _a !== void 0 ? _a : React.createElement("span", null),
|
|
1277
|
-
enableToolbarInternalActions ? (React.createElement(
|
|
1270
|
+
enableToolbarInternalActions ? (React.createElement(Box, { sx: { display: 'flex', flexWrap: 'wrap' } },
|
|
1271
|
+
enableGlobalFilter && positionGlobalFilter === 'right' && (React.createElement(MRT_GlobalFilterTextField, { table: table })),
|
|
1272
|
+
React.createElement(MRT_ToolbarInternalButtons, { table: table }))) : (enableGlobalFilter &&
|
|
1278
1273
|
positionGlobalFilter === 'right' && (React.createElement(MRT_GlobalFilterTextField, { table: table })))),
|
|
1279
1274
|
enablePagination &&
|
|
1280
1275
|
['top', 'both'].includes(positionPagination !== null && positionPagination !== void 0 ? positionPagination : '') && (React.createElement(MRT_TablePagination, { table: table, position: "top" })),
|
|
@@ -1302,8 +1297,11 @@ const MRT_BottomToolbar = ({ table }) => {
|
|
|
1302
1297
|
positionToolbarAlertBanner === 'bottom' && (React.createElement(MRT_ToolbarAlertBanner, { table: table })),
|
|
1303
1298
|
['both', 'bottom'].includes(positionToolbarDropZone !== null && positionToolbarDropZone !== void 0 ? positionToolbarDropZone : '') && (React.createElement(MRT_ToolbarDropZone, { table: table })),
|
|
1304
1299
|
React.createElement(Box, { sx: {
|
|
1300
|
+
alignItems: 'flex-start',
|
|
1301
|
+
boxSizing: 'border-box',
|
|
1305
1302
|
display: 'flex',
|
|
1306
1303
|
justifyContent: 'space-between',
|
|
1304
|
+
p: '0.5rem',
|
|
1307
1305
|
width: '100%',
|
|
1308
1306
|
} },
|
|
1309
1307
|
renderBottomToolbarCustomActions ? (renderBottomToolbarCustomActions({ table })) : (React.createElement("span", null)),
|
|
@@ -1447,6 +1445,9 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
|
|
|
1447
1445
|
const handleFilterMenuOpen = (event) => {
|
|
1448
1446
|
setAnchorEl(event.currentTarget);
|
|
1449
1447
|
};
|
|
1448
|
+
useEffect(() => {
|
|
1449
|
+
setFilterValue('');
|
|
1450
|
+
}, [columnDef._filterFn]);
|
|
1450
1451
|
if (columnDef.Filter) {
|
|
1451
1452
|
return React.createElement(React.Fragment, null, (_e = columnDef.Filter) === null || _e === void 0 ? void 0 : _e.call(columnDef, { column, header, table }));
|
|
1452
1453
|
}
|
|
@@ -1475,7 +1476,7 @@ const MRT_FilterTextField = ({ header, rangeFilterIndex, table, }) => {
|
|
|
1475
1476
|
React.createElement("span", null,
|
|
1476
1477
|
React.createElement(IconButton, { "aria-label": localization.changeFilterMode, onClick: handleFilterMenuOpen, size: "small", sx: { height: '1.75rem', width: '1.75rem' } },
|
|
1477
1478
|
React.createElement(FilterListIcon, null)))),
|
|
1478
|
-
filterChipLabel && (React.createElement(Chip, { onDelete: handleClearEmptyFilterChip, label: filterChipLabel })))) :
|
|
1479
|
+
filterChipLabel && (React.createElement(Chip, { onDelete: handleClearEmptyFilterChip, label: filterChipLabel })))) : null,
|
|
1479
1480
|
endAdornment: !filterChipLabel && (React.createElement(InputAdornment, { position: "end" },
|
|
1480
1481
|
React.createElement(Tooltip, { arrow: true, placement: "right", title: (_g = localization.clearFilter) !== null && _g !== void 0 ? _g : '' },
|
|
1481
1482
|
React.createElement("span", null,
|
|
@@ -2436,12 +2437,12 @@ const MRT_TableRoot = (props) => {
|
|
|
2436
2437
|
const displayColumns = useMemo(() => {
|
|
2437
2438
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
2438
2439
|
return [
|
|
2439
|
-
columnOrder.includes('mrt-row-drag') && Object.assign(Object.assign(Object.assign({ header: (_a = props.localization) === null || _a === void 0 ? void 0 : _a.move, size: 60 },
|
|
2440
|
-
columnOrder.includes('mrt-row-actions') && Object.assign(Object.assign(Object.assign({ Cell: ({ cell, row }) => (React.createElement(MRT_ToggleRowActionMenuButton, { cell: cell, row: row, table: table })), header: (_c = props.localization) === null || _c === void 0 ? void 0 : _c.actions, size: 70 },
|
|
2440
|
+
columnOrder.includes('mrt-row-drag') && Object.assign(Object.assign(Object.assign({ header: (_a = props.localization) === null || _a === void 0 ? void 0 : _a.move, size: 60 }, props.defaultDisplayColumn), (_b = props.displayColumnDefOptions) === null || _b === void 0 ? void 0 : _b['mrt-row-drag']), { id: 'mrt-row-drag' }),
|
|
2441
|
+
columnOrder.includes('mrt-row-actions') && Object.assign(Object.assign(Object.assign({ Cell: ({ cell, row }) => (React.createElement(MRT_ToggleRowActionMenuButton, { cell: cell, row: row, table: table })), header: (_c = props.localization) === null || _c === void 0 ? void 0 : _c.actions, size: 70 }, props.defaultDisplayColumn), (_d = props.displayColumnDefOptions) === null || _d === void 0 ? void 0 : _d['mrt-row-actions']), { id: 'mrt-row-actions' }),
|
|
2441
2442
|
columnOrder.includes('mrt-row-expand') &&
|
|
2442
|
-
showExpandColumn(props, grouping) && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React.createElement(MRT_ExpandButton, { row: row, table: table })), Header: () => props.enableExpandAll ? (React.createElement(MRT_ExpandAllButton, { table: table })) : null, header: (_e = props.localization) === null || _e === void 0 ? void 0 : _e.expand, size: 60 },
|
|
2443
|
-
columnOrder.includes('mrt-row-select') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React.createElement(MRT_SelectCheckbox, { row: row, table: table })), Header: () => props.enableSelectAll ? (React.createElement(MRT_SelectCheckbox, { selectAll: true, table: table })) : null, header: (_g = props.localization) === null || _g === void 0 ? void 0 : _g.select, size: 60 },
|
|
2444
|
-
columnOrder.includes('mrt-row-numbers') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => row.index + 1, Header: () => { var _a; return (_a = props.localization) === null || _a === void 0 ? void 0 : _a.rowNumber; }, header: (_j = props.localization) === null || _j === void 0 ? void 0 : _j.rowNumbers, size: 60 },
|
|
2443
|
+
showExpandColumn(props, grouping) && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React.createElement(MRT_ExpandButton, { row: row, table: table })), Header: () => props.enableExpandAll ? (React.createElement(MRT_ExpandAllButton, { table: table })) : null, header: (_e = props.localization) === null || _e === void 0 ? void 0 : _e.expand, size: 60 }, props.defaultDisplayColumn), (_f = props.displayColumnDefOptions) === null || _f === void 0 ? void 0 : _f['mrt-row-expand']), { id: 'mrt-row-expand' }),
|
|
2444
|
+
columnOrder.includes('mrt-row-select') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => (React.createElement(MRT_SelectCheckbox, { row: row, table: table })), Header: () => props.enableSelectAll ? (React.createElement(MRT_SelectCheckbox, { selectAll: true, table: table })) : null, header: (_g = props.localization) === null || _g === void 0 ? void 0 : _g.select, size: 60 }, props.defaultDisplayColumn), (_h = props.displayColumnDefOptions) === null || _h === void 0 ? void 0 : _h['mrt-row-select']), { id: 'mrt-row-select' }),
|
|
2445
|
+
columnOrder.includes('mrt-row-numbers') && Object.assign(Object.assign(Object.assign({ Cell: ({ row }) => row.index + 1, Header: () => { var _a; return (_a = props.localization) === null || _a === void 0 ? void 0 : _a.rowNumber; }, header: (_j = props.localization) === null || _j === void 0 ? void 0 : _j.rowNumbers, size: 60 }, props.defaultDisplayColumn), (_k = props.displayColumnDefOptions) === null || _k === void 0 ? void 0 : _k['mrt-row-numbers']), { id: 'mrt-row-numbers' }),
|
|
2445
2446
|
].filter(Boolean);
|
|
2446
2447
|
}, [
|
|
2447
2448
|
columnOrder,
|
|
@@ -2466,8 +2467,14 @@ const MRT_TableRoot = (props) => {
|
|
|
2466
2467
|
props.renderDetailPanel,
|
|
2467
2468
|
]);
|
|
2468
2469
|
const columnDefs = useMemo(() => {
|
|
2469
|
-
var _a, _b;
|
|
2470
|
-
return prepareColumns(
|
|
2470
|
+
var _a, _b, _c;
|
|
2471
|
+
return prepareColumns({
|
|
2472
|
+
columnDefs: [...displayColumns, ...props.columns],
|
|
2473
|
+
columnFilterFns: (_b = (_a = props.state) === null || _a === void 0 ? void 0 : _a.columnFilterFns) !== null && _b !== void 0 ? _b : columnFilterFns,
|
|
2474
|
+
defaultDisplayColumn: (_c = props.defaultDisplayColumn) !== null && _c !== void 0 ? _c : {},
|
|
2475
|
+
filterFns: props.filterFns,
|
|
2476
|
+
sortingFns: props.sortingFns,
|
|
2477
|
+
});
|
|
2471
2478
|
}, [
|
|
2472
2479
|
columnFilterFns,
|
|
2473
2480
|
displayColumns,
|
|
@@ -2526,8 +2533,8 @@ const MRT_TableRoot = (props) => {
|
|
|
2526
2533
|
};
|
|
2527
2534
|
|
|
2528
2535
|
var MaterialReactTable = (_a) => {
|
|
2529
|
-
var { aggregationFns, autoResetExpanded = false, columnResizeMode = 'onEnd', defaultColumn = { minSize: 40, maxSize: 1000, size: 180 }, editingMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enablePinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, localization, positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberMode = 'original', selectAllMode = 'all', sortingFns } = _a, rest = __rest(_a, ["aggregationFns", "autoResetExpanded", "columnResizeMode", "defaultColumn", "editingMode", "enableBottomToolbar", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarInternalActions", "enableTopToolbar", "filterFns", "icons", "localization", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberMode", "selectAllMode", "sortingFns"]);
|
|
2530
|
-
return (React.createElement(MRT_TableRoot, Object.assign({ aggregationFns: Object.assign(Object.assign({}, MRT_AggregationFns), aggregationFns), autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: defaultColumn, editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilters: enableFilters, enableFullScreenToggle: enableFullScreenToggle, enableGlobalFilter: enableGlobalFilter, enableGlobalFilterRankedResults: enableGlobalFilterRankedResults, enableGrouping: enableGrouping, enableHiding: enableHiding, enableMultiRowSelection: enableMultiRowSelection, enableMultiSort: enableMultiSort, enablePagination: enablePagination, enablePinning: enablePinning, enableRowSelection: enableRowSelection, enableSelectAll: enableSelectAll, enableSorting: enableSorting, enableStickyHeader: enableStickyHeader, enableTableFooter: enableTableFooter, enableTableHead: enableTableHead, enableToolbarInternalActions: enableToolbarInternalActions, enableTopToolbar: enableTopToolbar, filterFns: Object.assign(Object.assign({}, MRT_FilterFns), filterFns), icons: Object.assign(Object.assign({}, MRT_Default_Icons), icons), localization: Object.assign(Object.assign({}, MRT_DefaultLocalization_EN), localization), positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: Object.assign(Object.assign({}, MRT_SortingFns), sortingFns) }, rest)));
|
|
2536
|
+
var { aggregationFns, autoResetExpanded = false, columnResizeMode = 'onEnd', defaultColumn = { minSize: 40, maxSize: 1000, size: 180 }, defaultDisplayColumn, editingMode = 'modal', enableBottomToolbar = true, enableColumnActions = true, enableColumnFilters = true, enableColumnOrdering = false, enableColumnResizing = false, enableDensityToggle = true, enableExpandAll = true, enableFilters = true, enableFullScreenToggle = true, enableGlobalFilter = true, enableGlobalFilterRankedResults = true, enableGrouping = false, enableHiding = true, enableMultiRowSelection = true, enableMultiSort = true, enablePagination = true, enablePinning = false, enableRowSelection = false, enableSelectAll = true, enableSorting = true, enableStickyHeader = false, enableTableFooter = true, enableTableHead = true, enableToolbarInternalActions = true, enableTopToolbar = true, filterFns, icons, localization, positionActionsColumn = 'first', positionExpandColumn = 'first', positionGlobalFilter = 'right', positionPagination = 'bottom', positionToolbarAlertBanner = 'top', positionToolbarDropZone = 'top', rowNumberMode = 'original', selectAllMode = 'all', sortingFns } = _a, rest = __rest(_a, ["aggregationFns", "autoResetExpanded", "columnResizeMode", "defaultColumn", "defaultDisplayColumn", "editingMode", "enableBottomToolbar", "enableColumnActions", "enableColumnFilters", "enableColumnOrdering", "enableColumnResizing", "enableDensityToggle", "enableExpandAll", "enableFilters", "enableFullScreenToggle", "enableGlobalFilter", "enableGlobalFilterRankedResults", "enableGrouping", "enableHiding", "enableMultiRowSelection", "enableMultiSort", "enablePagination", "enablePinning", "enableRowSelection", "enableSelectAll", "enableSorting", "enableStickyHeader", "enableTableFooter", "enableTableHead", "enableToolbarInternalActions", "enableTopToolbar", "filterFns", "icons", "localization", "positionActionsColumn", "positionExpandColumn", "positionGlobalFilter", "positionPagination", "positionToolbarAlertBanner", "positionToolbarDropZone", "rowNumberMode", "selectAllMode", "sortingFns"]);
|
|
2537
|
+
return (React.createElement(MRT_TableRoot, Object.assign({ aggregationFns: Object.assign(Object.assign({}, MRT_AggregationFns), aggregationFns), autoResetExpanded: autoResetExpanded, columnResizeMode: columnResizeMode, defaultColumn: defaultColumn, defaultDisplayColumn: Object.assign({ columnDefType: 'display', enableClickToCopy: false, enableColumnActions: false, enableColumnDragging: false, enableColumnFilter: false, enableColumnOrdering: false, enableEditing: false, enableGlobalFilter: false, enableGrouping: false, enableHiding: false, enableResizing: false, enableSorting: false }, defaultDisplayColumn), editingMode: editingMode, enableBottomToolbar: enableBottomToolbar, enableColumnActions: enableColumnActions, enableColumnFilters: enableColumnFilters, enableColumnOrdering: enableColumnOrdering, enableColumnResizing: enableColumnResizing, enableDensityToggle: enableDensityToggle, enableExpandAll: enableExpandAll, enableFilters: enableFilters, enableFullScreenToggle: enableFullScreenToggle, enableGlobalFilter: enableGlobalFilter, enableGlobalFilterRankedResults: enableGlobalFilterRankedResults, enableGrouping: enableGrouping, enableHiding: enableHiding, enableMultiRowSelection: enableMultiRowSelection, enableMultiSort: enableMultiSort, enablePagination: enablePagination, enablePinning: enablePinning, enableRowSelection: enableRowSelection, enableSelectAll: enableSelectAll, enableSorting: enableSorting, enableStickyHeader: enableStickyHeader, enableTableFooter: enableTableFooter, enableTableHead: enableTableHead, enableToolbarInternalActions: enableToolbarInternalActions, enableTopToolbar: enableTopToolbar, filterFns: Object.assign(Object.assign({}, MRT_FilterFns), filterFns), icons: Object.assign(Object.assign({}, MRT_Default_Icons), icons), localization: Object.assign(Object.assign({}, MRT_DefaultLocalization_EN), localization), positionActionsColumn: positionActionsColumn, positionExpandColumn: positionExpandColumn, positionGlobalFilter: positionGlobalFilter, positionPagination: positionPagination, positionToolbarAlertBanner: positionToolbarAlertBanner, positionToolbarDropZone: positionToolbarDropZone, rowNumberMode: rowNumberMode, selectAllMode: selectAllMode, sortingFns: Object.assign(Object.assign({}, MRT_SortingFns), sortingFns) }, rest)));
|
|
2531
2538
|
};
|
|
2532
2539
|
|
|
2533
2540
|
export { MRT_CopyButton, MRT_FullScreenToggleButton, MRT_GlobalFilterTextField, MRT_ShowHideColumnsButton, MRT_ToggleDensePaddingButton, MRT_ToggleFiltersButton, MRT_ToggleGlobalFilterButton, MaterialReactTable as default };
|