material-react-table 0.9.5 → 0.10.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 +2 -0
- package/dist/MaterialReactTable.d.ts +144 -128
- package/dist/body/MRT_TableBody.d.ts +1 -1
- package/dist/body/MRT_TableBodyCell.d.ts +1 -1
- package/dist/body/MRT_TableBodyRow.d.ts +1 -1
- package/dist/body/MRT_TableDetailPanel.d.ts +1 -1
- package/dist/buttons/MRT_ColumnPinningButtons.d.ts +1 -1
- package/dist/buttons/MRT_CopyButton.d.ts +1 -1
- package/dist/buttons/MRT_EditActionButtons.d.ts +1 -1
- package/dist/buttons/MRT_ExpandAllButton.d.ts +1 -1
- package/dist/buttons/MRT_ExpandButton.d.ts +1 -1
- package/dist/buttons/MRT_FullScreenToggleButton.d.ts +1 -1
- package/dist/buttons/MRT_GrabHandleButton.d.ts +1 -1
- package/dist/buttons/MRT_ShowHideColumnsButton.d.ts +1 -1
- package/dist/buttons/MRT_ToggleColumnActionMenuButton.d.ts +1 -1
- package/dist/buttons/MRT_ToggleDensePaddingButton.d.ts +1 -1
- package/dist/buttons/MRT_ToggleFiltersButton.d.ts +1 -1
- package/dist/buttons/MRT_ToggleGlobalFilterButton.d.ts +1 -1
- package/dist/buttons/MRT_ToggleRowActionMenuButton.d.ts +1 -1
- package/dist/footer/MRT_TableFooter.d.ts +1 -1
- package/dist/footer/MRT_TableFooterCell.d.ts +1 -1
- package/dist/footer/MRT_TableFooterRow.d.ts +1 -1
- package/dist/head/MRT_DraggableTableHeadCell.d.ts +1 -1
- package/dist/head/MRT_TableHead.d.ts +1 -1
- package/dist/head/MRT_TableHeadCell.d.ts +1 -1
- package/dist/head/MRT_TableHeadCellFilterContainer.d.ts +1 -1
- package/dist/head/MRT_TableHeadCellFilterLabel.d.ts +1 -1
- package/dist/head/MRT_TableHeadCellResizeHandle.d.ts +1 -1
- package/dist/head/MRT_TableHeadCellSortLabel.d.ts +1 -1
- package/dist/head/MRT_TableHeadRow.d.ts +1 -1
- package/dist/inputs/MRT_EditCellTextField.d.ts +1 -1
- package/dist/inputs/MRT_FilterRangeFields.d.ts +1 -1
- package/dist/inputs/MRT_FilterTextField.d.ts +1 -1
- package/dist/inputs/MRT_SearchTextField.d.ts +1 -1
- package/dist/inputs/MRT_SelectCheckbox.d.ts +1 -1
- package/dist/material-react-table.cjs.development.js +569 -573
- 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 +569 -573
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/menus/MRT_ColumnActionMenu.d.ts +1 -1
- package/dist/menus/MRT_FilterOptionMenu.d.ts +1 -1
- package/dist/menus/MRT_RowActionMenu.d.ts +1 -1
- package/dist/menus/MRT_ShowHideColumnsMenu.d.ts +1 -1
- package/dist/menus/MRT_ShowHideColumnsMenuItems.d.ts +1 -1
- package/dist/table/MRT_Table.d.ts +1 -1
- package/dist/table/MRT_TableContainer.d.ts +1 -1
- package/dist/table/MRT_TablePaper.d.ts +2 -2
- package/dist/toolbar/MRT_LinearProgressBar.d.ts +1 -1
- package/dist/toolbar/MRT_TablePagination.d.ts +1 -1
- package/dist/toolbar/MRT_ToolbarAlertBanner.d.ts +1 -1
- package/dist/toolbar/MRT_ToolbarBottom.d.ts +1 -1
- package/dist/toolbar/MRT_ToolbarInternalButtons.d.ts +1 -1
- package/dist/toolbar/MRT_ToolbarTop.d.ts +1 -1
- package/dist/utils.d.ts +2 -2
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +159 -157
- package/src/body/MRT_TableBody.tsx +12 -9
- package/src/body/MRT_TableBodyCell.tsx +15 -21
- package/src/body/MRT_TableBodyRow.tsx +7 -7
- package/src/body/MRT_TableDetailPanel.tsx +14 -11
- package/src/buttons/MRT_ColumnPinningButtons.tsx +3 -6
- package/src/buttons/MRT_CopyButton.tsx +5 -9
- package/src/buttons/MRT_EditActionButtons.tsx +4 -4
- package/src/buttons/MRT_ExpandAllButton.tsx +3 -3
- package/src/buttons/MRT_ExpandButton.tsx +4 -4
- package/src/buttons/MRT_FullScreenToggleButton.tsx +4 -4
- package/src/buttons/MRT_GrabHandleButton.tsx +3 -3
- package/src/buttons/MRT_ShowHideColumnsButton.tsx +4 -7
- package/src/buttons/MRT_ToggleColumnActionMenuButton.tsx +6 -6
- package/src/buttons/MRT_ToggleDensePaddingButton.tsx +4 -4
- package/src/buttons/MRT_ToggleFiltersButton.tsx +4 -7
- package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +5 -5
- package/src/buttons/MRT_ToggleRowActionMenuButton.tsx +6 -9
- package/src/footer/MRT_TableFooter.tsx +5 -5
- package/src/footer/MRT_TableFooterCell.tsx +6 -6
- package/src/footer/MRT_TableFooterRow.tsx +5 -8
- package/src/head/MRT_DraggableTableHeadCell.tsx +4 -7
- package/src/head/MRT_TableHead.tsx +5 -5
- package/src/head/MRT_TableHeadCell.tsx +15 -25
- package/src/head/MRT_TableHeadCellFilterContainer.tsx +6 -7
- package/src/head/MRT_TableHeadCellFilterLabel.tsx +3 -3
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +3 -3
- package/src/head/MRT_TableHeadCellSortLabel.tsx +3 -6
- package/src/head/MRT_TableHeadRow.tsx +6 -6
- package/src/inputs/MRT_EditCellTextField.tsx +10 -10
- package/src/inputs/MRT_FilterRangeFields.tsx +5 -13
- package/src/inputs/MRT_FilterTextField.tsx +10 -14
- package/src/inputs/MRT_SearchTextField.tsx +6 -6
- package/src/inputs/MRT_SelectCheckbox.tsx +10 -16
- package/src/menus/MRT_ColumnActionMenu.tsx +5 -5
- package/src/menus/MRT_FilterOptionMenu.tsx +33 -33
- package/src/menus/MRT_RowActionMenu.tsx +4 -4
- package/src/menus/MRT_ShowHideColumnsMenu.tsx +6 -6
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +7 -10
- package/src/table/MRT_Table.tsx +14 -9
- package/src/table/MRT_TableContainer.tsx +16 -12
- package/src/table/MRT_TablePaper.tsx +8 -14
- package/src/table/MRT_TableRoot.tsx +25 -30
- package/src/toolbar/MRT_LinearProgressBar.tsx +4 -7
- package/src/toolbar/MRT_TablePagination.tsx +4 -4
- package/src/toolbar/MRT_ToolbarAlertBanner.tsx +6 -8
- package/src/toolbar/MRT_ToolbarBottom.tsx +8 -8
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +10 -12
- package/src/toolbar/MRT_ToolbarTop.tsx +11 -10
- package/src/utils.ts +2 -2
- package/dist/enums.d.ts +0 -13
- package/src/enums.ts +0 -13
|
@@ -5,27 +5,25 @@ import { HTML5Backend } from 'react-dnd-html5-backend';
|
|
|
5
5
|
import { MRT_ToolbarTop } from '../toolbar/MRT_ToolbarTop';
|
|
6
6
|
import { MRT_ToolbarBottom } from '../toolbar/MRT_ToolbarBottom';
|
|
7
7
|
import { MRT_TableContainer } from './MRT_TableContainer';
|
|
8
|
-
import { MRT_TableInstance } from '..';
|
|
8
|
+
import type { MRT_TableInstance } from '..';
|
|
9
9
|
|
|
10
10
|
interface Props {
|
|
11
|
-
|
|
11
|
+
instance: MRT_TableInstance;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export const MRT_TablePaper: FC<Props> = ({
|
|
14
|
+
export const MRT_TablePaper: FC<Props> = ({ instance }) => {
|
|
15
15
|
const {
|
|
16
16
|
getState,
|
|
17
17
|
options: { enableToolbarBottom, enableToolbarTop, muiTablePaperProps },
|
|
18
|
-
} =
|
|
18
|
+
} = instance;
|
|
19
19
|
|
|
20
20
|
const { isFullScreen } = getState();
|
|
21
21
|
|
|
22
22
|
useEffect(() => {
|
|
23
23
|
if (typeof window !== 'undefined') {
|
|
24
24
|
if (isFullScreen) {
|
|
25
|
-
document.body.style.overflow = 'hidden';
|
|
26
25
|
document.body.style.height = '100vh';
|
|
27
26
|
} else {
|
|
28
|
-
document.body.style.overflow = 'auto';
|
|
29
27
|
document.body.style.height = 'auto';
|
|
30
28
|
}
|
|
31
29
|
}
|
|
@@ -33,7 +31,7 @@ export const MRT_TablePaper: FC<Props> = ({ tableInstance }) => {
|
|
|
33
31
|
|
|
34
32
|
const tablePaperProps =
|
|
35
33
|
muiTablePaperProps instanceof Function
|
|
36
|
-
? muiTablePaperProps({
|
|
34
|
+
? muiTablePaperProps({ instance })
|
|
37
35
|
: muiTablePaperProps;
|
|
38
36
|
|
|
39
37
|
return (
|
|
@@ -44,8 +42,6 @@ export const MRT_TablePaper: FC<Props> = ({ tableInstance }) => {
|
|
|
44
42
|
sx={{
|
|
45
43
|
transition: 'all 0.2s ease-in-out',
|
|
46
44
|
...tablePaperProps?.sx,
|
|
47
|
-
}}
|
|
48
|
-
style={{
|
|
49
45
|
height: isFullScreen ? '100vh' : undefined,
|
|
50
46
|
margin: isFullScreen ? '0' : undefined,
|
|
51
47
|
maxHeight: isFullScreen ? '100vh' : undefined,
|
|
@@ -54,11 +50,9 @@ export const MRT_TablePaper: FC<Props> = ({ tableInstance }) => {
|
|
|
54
50
|
width: isFullScreen ? '100vw' : undefined,
|
|
55
51
|
}}
|
|
56
52
|
>
|
|
57
|
-
{enableToolbarTop && <MRT_ToolbarTop
|
|
58
|
-
<MRT_TableContainer
|
|
59
|
-
{enableToolbarBottom &&
|
|
60
|
-
<MRT_ToolbarBottom tableInstance={tableInstance} />
|
|
61
|
-
)}
|
|
53
|
+
{enableToolbarTop && <MRT_ToolbarTop instance={instance} />}
|
|
54
|
+
<MRT_TableContainer instance={instance} />
|
|
55
|
+
{enableToolbarBottom && <MRT_ToolbarBottom instance={instance} />}
|
|
62
56
|
</Paper>
|
|
63
57
|
</DndProvider>
|
|
64
58
|
);
|
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
MRT_Cell,
|
|
19
19
|
MRT_ColumnDef,
|
|
20
20
|
MRT_FilterFn,
|
|
21
|
+
MRT_FILTER_OPTION,
|
|
21
22
|
MRT_Row,
|
|
22
23
|
MRT_TableInstance,
|
|
23
24
|
MRT_TableState,
|
|
@@ -35,7 +36,6 @@ import {
|
|
|
35
36
|
getAllLeafColumnDefs,
|
|
36
37
|
} from '../utils';
|
|
37
38
|
import { defaultFilterFNs } from '../filtersFNs';
|
|
38
|
-
import { MRT_FILTER_OPTION } from '../enums';
|
|
39
39
|
import { Box, Dialog, Grow } from '@mui/material';
|
|
40
40
|
|
|
41
41
|
export const MRT_TableRoot = <D extends Record<string, any> = {}>(
|
|
@@ -124,16 +124,14 @@ export const MRT_TableRoot = <D extends Record<string, any> = {}>(
|
|
|
124
124
|
[c.id as string]:
|
|
125
125
|
c.filterFn ??
|
|
126
126
|
initialState?.currentFilterFns?.[c.id] ??
|
|
127
|
-
(!!c.filterSelectOptions?.length
|
|
128
|
-
? MRT_FILTER_OPTION.EQUALS
|
|
129
|
-
: MRT_FILTER_OPTION.FUZZY),
|
|
127
|
+
(!!c.filterSelectOptions?.length ? 'equals' : 'fuzzy'),
|
|
130
128
|
})),
|
|
131
129
|
),
|
|
132
130
|
);
|
|
133
131
|
|
|
134
132
|
const [currentGlobalFilterFn, setCurrentGlobalFilterFn] = useState<
|
|
135
133
|
MRT_FILTER_OPTION | FilterFn<ReactTableGenerics> | string | number | symbol
|
|
136
|
-
>(props.globalFilterFn ??
|
|
134
|
+
>(props.globalFilterFn ?? 'fuzzy');
|
|
137
135
|
|
|
138
136
|
const table = useMemo(
|
|
139
137
|
() =>
|
|
@@ -163,26 +161,23 @@ export const MRT_TableRoot = <D extends Record<string, any> = {}>(
|
|
|
163
161
|
Cell: ({ cell }) => (
|
|
164
162
|
<MRT_ToggleRowActionMenuButton
|
|
165
163
|
row={cell.row as any}
|
|
166
|
-
|
|
164
|
+
instance={instance}
|
|
167
165
|
/>
|
|
168
166
|
),
|
|
169
167
|
header: props.localization?.actions,
|
|
170
168
|
id: 'mrt-row-actions',
|
|
171
169
|
muiTableBodyCellProps: props.muiTableBodyCellProps,
|
|
172
170
|
muiTableHeadCellProps: props.muiTableHeadCellProps,
|
|
173
|
-
size:
|
|
171
|
+
size: 70,
|
|
174
172
|
}),
|
|
175
173
|
showExpandColumn &&
|
|
176
174
|
createDisplayColumn(table, {
|
|
177
175
|
Cell: ({ cell }) => (
|
|
178
|
-
<MRT_ExpandButton
|
|
179
|
-
row={cell.row as any}
|
|
180
|
-
tableInstance={tableInstance}
|
|
181
|
-
/>
|
|
176
|
+
<MRT_ExpandButton row={cell.row as any} instance={instance} />
|
|
182
177
|
),
|
|
183
178
|
Header: () =>
|
|
184
179
|
props.enableExpandAll ? (
|
|
185
|
-
<MRT_ExpandAllButton
|
|
180
|
+
<MRT_ExpandAllButton instance={instance} />
|
|
186
181
|
) : null,
|
|
187
182
|
header: props.localization?.expand,
|
|
188
183
|
id: 'mrt-expand',
|
|
@@ -193,14 +188,11 @@ export const MRT_TableRoot = <D extends Record<string, any> = {}>(
|
|
|
193
188
|
props.enableRowSelection &&
|
|
194
189
|
createDisplayColumn(table, {
|
|
195
190
|
Cell: ({ cell }) => (
|
|
196
|
-
<MRT_SelectCheckbox
|
|
197
|
-
row={cell.row as any}
|
|
198
|
-
tableInstance={tableInstance}
|
|
199
|
-
/>
|
|
191
|
+
<MRT_SelectCheckbox row={cell.row as any} instance={instance} />
|
|
200
192
|
),
|
|
201
193
|
Header: () =>
|
|
202
194
|
props.enableSelectAll ? (
|
|
203
|
-
<MRT_SelectCheckbox selectAll
|
|
195
|
+
<MRT_SelectCheckbox selectAll instance={instance} />
|
|
204
196
|
) : null,
|
|
205
197
|
header: props.localization?.select,
|
|
206
198
|
id: 'mrt-select',
|
|
@@ -265,7 +257,7 @@ export const MRT_TableRoot = <D extends Record<string, any> = {}>(
|
|
|
265
257
|
);
|
|
266
258
|
|
|
267
259
|
//@ts-ignore
|
|
268
|
-
const
|
|
260
|
+
const instance = {
|
|
269
261
|
//@ts-ignore
|
|
270
262
|
...useTableInstance(table, {
|
|
271
263
|
...props,
|
|
@@ -286,14 +278,17 @@ export const MRT_TableRoot = <D extends Record<string, any> = {}>(
|
|
|
286
278
|
...props.state,
|
|
287
279
|
} as TableState,
|
|
288
280
|
}),
|
|
289
|
-
setCurrentEditingCell
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
281
|
+
setCurrentEditingCell:
|
|
282
|
+
props.onCurrentEditingCellChange ?? setCurrentEditingCell,
|
|
283
|
+
setCurrentEditingRow:
|
|
284
|
+
props.onCurrentEditingRowChange ?? setCurrentEditingRow,
|
|
285
|
+
setCurrentFilterFns: props.onCurrentFilterFnsChange ?? setCurrentFilterFns,
|
|
286
|
+
setCurrentGlobalFilterFn:
|
|
287
|
+
props.onCurrentGlobalFilterFnChange ?? setCurrentGlobalFilterFn,
|
|
288
|
+
setIsDensePadding: props.onIsDensePaddingChange ?? setIsDensePadding,
|
|
289
|
+
setIsFullScreen: props.onIsFullScreenChange ?? setIsFullScreen,
|
|
290
|
+
setShowFilters: props.onShowFiltersChange ?? setShowFilters,
|
|
291
|
+
setShowGlobalFilter: props.onShowGlobalFilterChange ?? setShowGlobalFilter,
|
|
297
292
|
} as MRT_TableInstance;
|
|
298
293
|
|
|
299
294
|
useEffect(() => {
|
|
@@ -308,7 +303,7 @@ export const MRT_TableRoot = <D extends Record<string, any> = {}>(
|
|
|
308
303
|
}
|
|
309
304
|
const itemArgs: [string, string] = [
|
|
310
305
|
`mrt-${tableId}-table-state`,
|
|
311
|
-
JSON.stringify(
|
|
306
|
+
JSON.stringify(instance.getState()),
|
|
312
307
|
];
|
|
313
308
|
if (props.persistentStateMode === 'localStorage') {
|
|
314
309
|
localStorage.setItem(...itemArgs);
|
|
@@ -319,7 +314,7 @@ export const MRT_TableRoot = <D extends Record<string, any> = {}>(
|
|
|
319
314
|
props.enablePersistentState,
|
|
320
315
|
props.tableId,
|
|
321
316
|
props.persistentStateMode,
|
|
322
|
-
|
|
317
|
+
instance,
|
|
323
318
|
]);
|
|
324
319
|
|
|
325
320
|
return (
|
|
@@ -334,9 +329,9 @@ export const MRT_TableRoot = <D extends Record<string, any> = {}>(
|
|
|
334
329
|
open={isFullScreen}
|
|
335
330
|
transitionDuration={400}
|
|
336
331
|
>
|
|
337
|
-
<MRT_TablePaper
|
|
332
|
+
<MRT_TablePaper instance={instance} />
|
|
338
333
|
</Dialog>
|
|
339
|
-
{!isFullScreen && <MRT_TablePaper
|
|
334
|
+
{!isFullScreen && <MRT_TablePaper instance={instance} />}
|
|
340
335
|
</>
|
|
341
336
|
);
|
|
342
337
|
};
|
|
@@ -4,23 +4,20 @@ import { MRT_TableInstance } from '..';
|
|
|
4
4
|
|
|
5
5
|
interface Props {
|
|
6
6
|
alignTo: 'bottom' | 'top';
|
|
7
|
-
|
|
7
|
+
instance: MRT_TableInstance;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
export const MRT_LinearProgressBar: FC<Props> = ({
|
|
11
|
-
alignTo,
|
|
12
|
-
tableInstance,
|
|
13
|
-
}) => {
|
|
10
|
+
export const MRT_LinearProgressBar: FC<Props> = ({ alignTo, instance }) => {
|
|
14
11
|
const {
|
|
15
12
|
options: { muiLinearProgressProps },
|
|
16
13
|
getState,
|
|
17
|
-
} =
|
|
14
|
+
} = instance;
|
|
18
15
|
|
|
19
16
|
const { isLoading, showProgressBars } = getState();
|
|
20
17
|
|
|
21
18
|
const linearProgressProps =
|
|
22
19
|
muiLinearProgressProps instanceof Function
|
|
23
|
-
? muiLinearProgressProps({
|
|
20
|
+
? muiLinearProgressProps({ instance })
|
|
24
21
|
: muiLinearProgressProps;
|
|
25
22
|
|
|
26
23
|
return (
|
|
@@ -3,17 +3,17 @@ import { TablePagination } from '@mui/material';
|
|
|
3
3
|
import { MRT_TableInstance } from '..';
|
|
4
4
|
|
|
5
5
|
interface Props {
|
|
6
|
-
|
|
6
|
+
instance: MRT_TableInstance;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
export const MRT_TablePagination: FC<Props> = ({
|
|
9
|
+
export const MRT_TablePagination: FC<Props> = ({ instance }) => {
|
|
10
10
|
const {
|
|
11
11
|
getPrePaginationRowModel,
|
|
12
12
|
getState,
|
|
13
13
|
setPageIndex,
|
|
14
14
|
setPageSize,
|
|
15
15
|
options: { muiTablePaginationProps },
|
|
16
|
-
} =
|
|
16
|
+
} = instance;
|
|
17
17
|
|
|
18
18
|
const {
|
|
19
19
|
pagination: { pageSize = 10, pageIndex = 0 },
|
|
@@ -21,7 +21,7 @@ export const MRT_TablePagination: FC<Props> = ({ tableInstance }) => {
|
|
|
21
21
|
|
|
22
22
|
const tablePaginationProps =
|
|
23
23
|
muiTablePaginationProps instanceof Function
|
|
24
|
-
? muiTablePaginationProps({
|
|
24
|
+
? muiTablePaginationProps({ instance })
|
|
25
25
|
: muiTablePaginationProps;
|
|
26
26
|
|
|
27
27
|
const handleChangeRowsPerPage = (event: ChangeEvent<HTMLInputElement>) => {
|
|
@@ -4,25 +4,25 @@ import { MRT_TableInstance } from '..';
|
|
|
4
4
|
|
|
5
5
|
interface Props {
|
|
6
6
|
stackAlertBanner?: boolean;
|
|
7
|
-
|
|
7
|
+
instance: MRT_TableInstance;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export const MRT_ToolbarAlertBanner: FC<Props> = ({
|
|
11
11
|
stackAlertBanner,
|
|
12
|
-
|
|
12
|
+
instance,
|
|
13
13
|
}) => {
|
|
14
14
|
const {
|
|
15
15
|
getPrePaginationRowModel,
|
|
16
16
|
getSelectedRowModel,
|
|
17
17
|
getState,
|
|
18
18
|
options: { localization, muiTableToolbarAlertBannerProps },
|
|
19
|
-
} =
|
|
19
|
+
} = instance;
|
|
20
20
|
|
|
21
21
|
const { grouping } = getState();
|
|
22
22
|
|
|
23
23
|
const alertProps =
|
|
24
24
|
muiTableToolbarAlertBannerProps instanceof Function
|
|
25
|
-
? muiTableToolbarAlertBannerProps({
|
|
25
|
+
? muiTableToolbarAlertBannerProps({ instance })
|
|
26
26
|
: muiTableToolbarAlertBannerProps;
|
|
27
27
|
|
|
28
28
|
const selectMessage =
|
|
@@ -47,10 +47,8 @@ export const MRT_ToolbarAlertBanner: FC<Props> = ({
|
|
|
47
47
|
{index > 0 ? localization.thenBy : ''}
|
|
48
48
|
<Chip
|
|
49
49
|
color="secondary"
|
|
50
|
-
label={
|
|
51
|
-
onDelete={() =>
|
|
52
|
-
tableInstance.getColumn(columnId).toggleGrouping()
|
|
53
|
-
}
|
|
50
|
+
label={instance.getColumn(columnId).columnDef.header}
|
|
51
|
+
onDelete={() => instance.getColumn(columnId).toggleGrouping()}
|
|
54
52
|
/>
|
|
55
53
|
</Fragment>
|
|
56
54
|
))}
|
|
@@ -8,10 +8,10 @@ import { commonToolbarStyles } from './MRT_ToolbarTop';
|
|
|
8
8
|
import { MRT_TableInstance } from '..';
|
|
9
9
|
|
|
10
10
|
interface Props {
|
|
11
|
-
|
|
11
|
+
instance: MRT_TableInstance;
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export const MRT_ToolbarBottom: FC<Props> = ({
|
|
14
|
+
export const MRT_ToolbarBottom: FC<Props> = ({ instance }) => {
|
|
15
15
|
const {
|
|
16
16
|
getState,
|
|
17
17
|
options: {
|
|
@@ -24,7 +24,7 @@ export const MRT_ToolbarBottom: FC<Props> = ({ tableInstance }) => {
|
|
|
24
24
|
positionToolbarAlertBanner,
|
|
25
25
|
renderToolbarCustomActions,
|
|
26
26
|
},
|
|
27
|
-
} =
|
|
27
|
+
} = instance;
|
|
28
28
|
|
|
29
29
|
const { isFullScreen } = getState();
|
|
30
30
|
|
|
@@ -32,7 +32,7 @@ export const MRT_ToolbarBottom: FC<Props> = ({ tableInstance }) => {
|
|
|
32
32
|
|
|
33
33
|
const toolbarProps =
|
|
34
34
|
muiTableToolbarBottomProps instanceof Function
|
|
35
|
-
? muiTableToolbarBottomProps({
|
|
35
|
+
? muiTableToolbarBottomProps({ instance })
|
|
36
36
|
: muiTableToolbarBottomProps;
|
|
37
37
|
|
|
38
38
|
const stackAlertBanner =
|
|
@@ -58,9 +58,9 @@ export const MRT_ToolbarBottom: FC<Props> = ({ tableInstance }) => {
|
|
|
58
58
|
} as any)
|
|
59
59
|
}
|
|
60
60
|
>
|
|
61
|
-
<MRT_LinearProgressBar alignTo="top"
|
|
61
|
+
<MRT_LinearProgressBar alignTo="top" instance={instance} />
|
|
62
62
|
{positionToolbarAlertBanner === 'bottom' && (
|
|
63
|
-
<MRT_ToolbarAlertBanner
|
|
63
|
+
<MRT_ToolbarAlertBanner instance={instance} />
|
|
64
64
|
)}
|
|
65
65
|
<Box
|
|
66
66
|
sx={{
|
|
@@ -73,13 +73,13 @@ export const MRT_ToolbarBottom: FC<Props> = ({ tableInstance }) => {
|
|
|
73
73
|
}}
|
|
74
74
|
>
|
|
75
75
|
{enableToolbarInternalActions && positionToolbarActions === 'bottom' ? (
|
|
76
|
-
<MRT_ToolbarInternalButtons
|
|
76
|
+
<MRT_ToolbarInternalButtons instance={instance} />
|
|
77
77
|
) : (
|
|
78
78
|
<span />
|
|
79
79
|
)}
|
|
80
80
|
{enablePagination &&
|
|
81
81
|
['bottom', 'both'].includes(positionPagination ?? '') && (
|
|
82
|
-
<MRT_TablePagination
|
|
82
|
+
<MRT_TablePagination instance={instance} />
|
|
83
83
|
)}
|
|
84
84
|
</Box>
|
|
85
85
|
</Toolbar>
|
|
@@ -9,10 +9,10 @@ import { MRT_TableInstance } from '..';
|
|
|
9
9
|
import { MRT_SearchTextField } from '../inputs/MRT_SearchTextField';
|
|
10
10
|
|
|
11
11
|
interface Props {
|
|
12
|
-
|
|
12
|
+
instance: MRT_TableInstance;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
export const MRT_ToolbarInternalButtons: FC<Props> = ({
|
|
15
|
+
export const MRT_ToolbarInternalButtons: FC<Props> = ({ instance }) => {
|
|
16
16
|
const {
|
|
17
17
|
options: {
|
|
18
18
|
enableColumnFilters,
|
|
@@ -24,7 +24,7 @@ export const MRT_ToolbarInternalButtons: FC<Props> = ({ tableInstance }) => {
|
|
|
24
24
|
positionGlobalFilter,
|
|
25
25
|
renderToolbarInternalActions,
|
|
26
26
|
},
|
|
27
|
-
} =
|
|
27
|
+
} = instance;
|
|
28
28
|
|
|
29
29
|
return (
|
|
30
30
|
<Box
|
|
@@ -40,26 +40,24 @@ export const MRT_ToolbarInternalButtons: FC<Props> = ({ tableInstance }) => {
|
|
|
40
40
|
MRT_ToggleDensePaddingButton,
|
|
41
41
|
MRT_ToggleFiltersButton,
|
|
42
42
|
MRT_ToggleGlobalFilterButton,
|
|
43
|
-
|
|
43
|
+
instance,
|
|
44
44
|
}) ?? (
|
|
45
45
|
<>
|
|
46
46
|
{enableGlobalFilter && positionGlobalFilter === 'right' && (
|
|
47
|
-
<MRT_SearchTextField
|
|
47
|
+
<MRT_SearchTextField instance={instance} />
|
|
48
48
|
)}
|
|
49
49
|
{enableFilters && enableGlobalFilter && (
|
|
50
|
-
<MRT_ToggleGlobalFilterButton
|
|
50
|
+
<MRT_ToggleGlobalFilterButton instance={instance} />
|
|
51
51
|
)}
|
|
52
52
|
{enableFilters && enableColumnFilters && (
|
|
53
|
-
<MRT_ToggleFiltersButton
|
|
54
|
-
)}
|
|
55
|
-
{enableHiding && (
|
|
56
|
-
<MRT_ShowHideColumnsButton tableInstance={tableInstance} />
|
|
53
|
+
<MRT_ToggleFiltersButton instance={instance} />
|
|
57
54
|
)}
|
|
55
|
+
{enableHiding && <MRT_ShowHideColumnsButton instance={instance} />}
|
|
58
56
|
{enableDensePaddingToggle && (
|
|
59
|
-
<MRT_ToggleDensePaddingButton
|
|
57
|
+
<MRT_ToggleDensePaddingButton instance={instance} />
|
|
60
58
|
)}
|
|
61
59
|
{enableFullScreenToggle && (
|
|
62
|
-
<MRT_FullScreenToggleButton
|
|
60
|
+
<MRT_FullScreenToggleButton instance={instance} />
|
|
63
61
|
)}
|
|
64
62
|
</>
|
|
65
63
|
)}
|
|
@@ -20,10 +20,10 @@ export const commonToolbarStyles = ({ theme }: { theme: Theme }) => ({
|
|
|
20
20
|
});
|
|
21
21
|
|
|
22
22
|
interface Props {
|
|
23
|
-
|
|
23
|
+
instance: MRT_TableInstance;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
export const MRT_ToolbarTop: FC<Props> = ({
|
|
26
|
+
export const MRT_ToolbarTop: FC<Props> = ({ instance }) => {
|
|
27
27
|
const {
|
|
28
28
|
getState,
|
|
29
29
|
options: {
|
|
@@ -38,7 +38,7 @@ export const MRT_ToolbarTop: FC<Props> = ({ tableInstance }) => {
|
|
|
38
38
|
positionToolbarAlertBanner,
|
|
39
39
|
renderToolbarCustomActions,
|
|
40
40
|
},
|
|
41
|
-
} =
|
|
41
|
+
} = instance;
|
|
42
42
|
|
|
43
43
|
const { isFullScreen, showGlobalFilter } = getState();
|
|
44
44
|
|
|
@@ -46,7 +46,7 @@ export const MRT_ToolbarTop: FC<Props> = ({ tableInstance }) => {
|
|
|
46
46
|
|
|
47
47
|
const toolbarProps =
|
|
48
48
|
muiTableToolbarTopProps instanceof Function
|
|
49
|
-
? muiTableToolbarTopProps({
|
|
49
|
+
? muiTableToolbarTopProps({ instance })
|
|
50
50
|
: muiTableToolbarTopProps;
|
|
51
51
|
|
|
52
52
|
const stackAlertBanner =
|
|
@@ -71,11 +71,12 @@ export const MRT_ToolbarTop: FC<Props> = ({ tableInstance }) => {
|
|
|
71
71
|
{positionToolbarAlertBanner === 'top' && (
|
|
72
72
|
<MRT_ToolbarAlertBanner
|
|
73
73
|
stackAlertBanner={stackAlertBanner}
|
|
74
|
-
|
|
74
|
+
instance={instance}
|
|
75
75
|
/>
|
|
76
76
|
)}
|
|
77
77
|
<Box
|
|
78
78
|
sx={{
|
|
79
|
+
alignItems: 'flex-start',
|
|
79
80
|
display: 'flex',
|
|
80
81
|
justifyContent: 'space-between',
|
|
81
82
|
p: '0.5rem',
|
|
@@ -86,20 +87,20 @@ export const MRT_ToolbarTop: FC<Props> = ({ tableInstance }) => {
|
|
|
86
87
|
}}
|
|
87
88
|
>
|
|
88
89
|
{enableGlobalFilter && positionGlobalFilter === 'left' && (
|
|
89
|
-
<MRT_SearchTextField
|
|
90
|
+
<MRT_SearchTextField instance={instance} />
|
|
90
91
|
)}
|
|
91
|
-
{renderToolbarCustomActions?.({
|
|
92
|
+
{renderToolbarCustomActions?.({ instance }) ?? <span />}
|
|
92
93
|
{enableToolbarInternalActions && positionToolbarActions === 'top' && (
|
|
93
|
-
<MRT_ToolbarInternalButtons
|
|
94
|
+
<MRT_ToolbarInternalButtons instance={instance} />
|
|
94
95
|
)}
|
|
95
96
|
</Box>
|
|
96
97
|
<div>
|
|
97
98
|
{enablePagination &&
|
|
98
99
|
['top', 'both'].includes(positionPagination ?? '') && (
|
|
99
|
-
<MRT_TablePagination
|
|
100
|
+
<MRT_TablePagination instance={instance} />
|
|
100
101
|
)}
|
|
101
102
|
</div>
|
|
102
|
-
<MRT_LinearProgressBar alignTo="bottom"
|
|
103
|
+
<MRT_LinearProgressBar alignTo="bottom" instance={instance} />
|
|
103
104
|
</Toolbar>
|
|
104
105
|
);
|
|
105
106
|
};
|
package/src/utils.ts
CHANGED
|
@@ -5,7 +5,6 @@ import {
|
|
|
5
5
|
Updater,
|
|
6
6
|
} from '@tanstack/react-table';
|
|
7
7
|
import { MRT_Column, MRT_ColumnDef, MRT_FilterFn } from '.';
|
|
8
|
-
import { MRT_FILTER_OPTION } from './enums';
|
|
9
8
|
import { defaultFilterFNs } from './filtersFNs';
|
|
10
9
|
|
|
11
10
|
export const getAllLeafColumnDefs = (
|
|
@@ -49,7 +48,8 @@ export const createDataColumn = <D extends Record<string, any> = {}>(
|
|
|
49
48
|
filterFn:
|
|
50
49
|
currentFilterFns[column.id] instanceof Function
|
|
51
50
|
? currentFilterFns[column.id]
|
|
52
|
-
:
|
|
51
|
+
: // @ts-ignore
|
|
52
|
+
defaultFilterFNs[currentFilterFns[column.id]],
|
|
53
53
|
...column,
|
|
54
54
|
}) as any;
|
|
55
55
|
|
package/dist/enums.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export declare enum MRT_FILTER_OPTION {
|
|
2
|
-
BETWEEN = "between",
|
|
3
|
-
CONTAINS = "contains",
|
|
4
|
-
EMPTY = "empty",
|
|
5
|
-
ENDS_WITH = "endsWith",
|
|
6
|
-
EQUALS = "equals",
|
|
7
|
-
FUZZY = "fuzzy",
|
|
8
|
-
GREATER_THAN = "greaterThan",
|
|
9
|
-
LESS_THAN = "lessThan",
|
|
10
|
-
NOT_EMPTY = "notEmpty",
|
|
11
|
-
NOT_EQUALS = "notEquals",
|
|
12
|
-
STARTS_WITH = "startsWith"
|
|
13
|
-
}
|
package/src/enums.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export enum MRT_FILTER_OPTION {
|
|
2
|
-
BETWEEN = 'between',
|
|
3
|
-
CONTAINS = 'contains',
|
|
4
|
-
EMPTY = 'empty',
|
|
5
|
-
ENDS_WITH = 'endsWith',
|
|
6
|
-
EQUALS = 'equals',
|
|
7
|
-
FUZZY = 'fuzzy',
|
|
8
|
-
GREATER_THAN = 'greaterThan',
|
|
9
|
-
LESS_THAN = 'lessThan',
|
|
10
|
-
NOT_EMPTY = 'notEmpty',
|
|
11
|
-
NOT_EQUALS = 'notEquals',
|
|
12
|
-
STARTS_WITH = 'startsWith',
|
|
13
|
-
}
|