material-react-table 0.11.0 → 0.12.2
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/MaterialReactTable.d.ts +65 -51
- package/dist/filtersFNs.d.ts +2 -2
- package/dist/material-react-table.cjs.development.js +116 -61
- 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 +116 -61
- package/dist/material-react-table.esm.js.map +1 -1
- package/dist/table/MRT_TableRoot.d.ts +0 -1
- package/package.json +17 -17
- package/src/MaterialReactTable.tsx +91 -66
- package/src/body/MRT_TableBodyCell.tsx +2 -2
- package/src/body/MRT_TableBodyRow.tsx +2 -2
- package/src/body/MRT_TableDetailPanel.tsx +2 -2
- package/src/buttons/MRT_EditActionButtons.tsx +2 -2
- package/src/buttons/MRT_ExpandButton.tsx +2 -2
- package/src/buttons/MRT_FullScreenToggleButton.tsx +2 -2
- package/src/buttons/MRT_ToggleDensePaddingButton.tsx +2 -2
- package/src/buttons/MRT_ToggleFiltersButton.tsx +2 -2
- package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +2 -2
- package/src/filtersFNs.ts +2 -2
- package/src/inputs/MRT_EditCellTextField.tsx +6 -6
- package/src/inputs/MRT_FilterTextField.tsx +72 -39
- package/src/inputs/MRT_SearchTextField.tsx +12 -8
- package/src/inputs/MRT_SelectCheckbox.tsx +4 -4
- package/src/menus/MRT_FilterOptionMenu.tsx +10 -3
- package/src/menus/MRT_ShowHideColumnsMenuItems.tsx +2 -2
- package/src/table/MRT_TableRoot.tsx +90 -73
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.12.2",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"name": "material-react-table",
|
|
5
5
|
"description": "A fully featured Material UI implementation of TanStack React Table, inspired by material-table and the MUI X DataGrid, written from the ground up in TypeScript.",
|
|
@@ -56,30 +56,30 @@
|
|
|
56
56
|
}
|
|
57
57
|
],
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@babel/core": "^7.18.
|
|
60
|
-
"@emotion/react": "^11.9.
|
|
61
|
-
"@emotion/styled": "^11.
|
|
59
|
+
"@babel/core": "^7.18.5",
|
|
60
|
+
"@emotion/react": "^11.9.3",
|
|
61
|
+
"@emotion/styled": "^11.9.3",
|
|
62
62
|
"@faker-js/faker": "^6.3.1",
|
|
63
|
-
"@mui/icons-material": "^5.8.
|
|
64
|
-
"@mui/material": "^5.8.
|
|
63
|
+
"@mui/icons-material": "^5.8.4",
|
|
64
|
+
"@mui/material": "^5.8.4",
|
|
65
65
|
"@size-limit/preset-small-lib": "^7.0.8",
|
|
66
|
-
"@storybook/addon-a11y": "^6.5.
|
|
67
|
-
"@storybook/addon-actions": "^6.5.
|
|
68
|
-
"@storybook/addon-essentials": "^6.5.
|
|
66
|
+
"@storybook/addon-a11y": "^6.5.9",
|
|
67
|
+
"@storybook/addon-actions": "^6.5.9",
|
|
68
|
+
"@storybook/addon-essentials": "^6.5.9",
|
|
69
69
|
"@storybook/addon-info": "^5.3.21",
|
|
70
|
-
"@storybook/addon-links": "^6.5.
|
|
71
|
-
"@storybook/addons": "^6.5.
|
|
72
|
-
"@storybook/react": "^6.5.
|
|
73
|
-
"@types/react": "^18.0.
|
|
70
|
+
"@storybook/addon-links": "^6.5.9",
|
|
71
|
+
"@storybook/addons": "^6.5.9",
|
|
72
|
+
"@storybook/react": "^6.5.9",
|
|
73
|
+
"@types/react": "^18.0.14",
|
|
74
74
|
"@types/react-dom": "^18.0.5",
|
|
75
75
|
"babel-loader": "^8.2.5",
|
|
76
76
|
"eslint": "^8.17.0",
|
|
77
|
-
"eslint-plugin-react-hooks": "^4.
|
|
77
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
78
78
|
"husky": "^8.0.1",
|
|
79
|
-
"prettier": "^2.
|
|
79
|
+
"prettier": "^2.7.1",
|
|
80
80
|
"react": "^17.0.2",
|
|
81
81
|
"react-dom": "^17.0.2",
|
|
82
|
-
"react-is": "^18.
|
|
82
|
+
"react-is": "^18.2.0",
|
|
83
83
|
"rollup-plugin-commonjs": "^10.1.0",
|
|
84
84
|
"rollup-plugin-node-resolve": "^5.2.0",
|
|
85
85
|
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
},
|
|
99
99
|
"dependencies": {
|
|
100
100
|
"@tanstack/match-sorter-utils": "^8.0.0-alpha.83",
|
|
101
|
-
"@tanstack/react-table": "^8.0.0-beta.
|
|
101
|
+
"@tanstack/react-table": "^8.0.0-beta.9",
|
|
102
102
|
"react-dnd": "^16.0.1",
|
|
103
103
|
"react-dnd-html5-backend": "^16.0.1",
|
|
104
104
|
"react-virtual": "^2.10.4"
|
|
@@ -203,7 +203,7 @@ export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
|
|
|
203
203
|
enableColumnActions?: boolean;
|
|
204
204
|
enableColumnOrdering?: boolean;
|
|
205
205
|
enableEditing?: boolean;
|
|
206
|
-
enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[];
|
|
206
|
+
enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[] | null;
|
|
207
207
|
filterFn?: MRT_FilterFn;
|
|
208
208
|
filterSelectOptions?: (string | { text: string; value: string })[];
|
|
209
209
|
footer?: string;
|
|
@@ -272,7 +272,7 @@ export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
|
|
|
272
272
|
instance: MRT_TableInstance;
|
|
273
273
|
column: MRT_Column<D>;
|
|
274
274
|
}) => TableCellProps);
|
|
275
|
-
|
|
275
|
+
onCellEditBlur?: ({
|
|
276
276
|
cell,
|
|
277
277
|
event,
|
|
278
278
|
instance,
|
|
@@ -281,7 +281,7 @@ export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
|
|
|
281
281
|
cell: MRT_Cell<D>;
|
|
282
282
|
instance: MRT_TableInstance<D>;
|
|
283
283
|
}) => void;
|
|
284
|
-
|
|
284
|
+
onCellEditChanged?: ({
|
|
285
285
|
cell,
|
|
286
286
|
event,
|
|
287
287
|
instance,
|
|
@@ -290,7 +290,16 @@ export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
|
|
|
290
290
|
cell: MRT_Cell<D>;
|
|
291
291
|
instance: MRT_TableInstance<D>;
|
|
292
292
|
}) => void;
|
|
293
|
-
|
|
293
|
+
onColumnFilterValueChanged?: ({
|
|
294
|
+
column,
|
|
295
|
+
event,
|
|
296
|
+
filterValue,
|
|
297
|
+
}: {
|
|
298
|
+
column: MRT_Column<D>;
|
|
299
|
+
event: ChangeEvent<HTMLInputElement>;
|
|
300
|
+
filterValue: any;
|
|
301
|
+
}) => void;
|
|
302
|
+
onColumnFilterValueChangedDebounced?: ({
|
|
294
303
|
column,
|
|
295
304
|
event,
|
|
296
305
|
filterValue,
|
|
@@ -303,7 +312,7 @@ export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
|
|
|
303
312
|
|
|
304
313
|
export type MRT_Column<D extends Record<string, any> = {}> = Omit<
|
|
305
314
|
Column<D>,
|
|
306
|
-
'header' | 'footer' | 'columns'
|
|
315
|
+
'header' | 'footer' | 'columns' | 'columnDef'
|
|
307
316
|
> & {
|
|
308
317
|
columns?: MRT_Column<D>[];
|
|
309
318
|
columnDef: MRT_ColumnDef<D>;
|
|
@@ -389,8 +398,8 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
|
|
|
389
398
|
enableToolbarBottom?: boolean;
|
|
390
399
|
enableToolbarInternalActions?: boolean;
|
|
391
400
|
enableToolbarTop?: boolean;
|
|
392
|
-
enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[];
|
|
393
|
-
enabledGlobalFilterOptions?: (MRT_FILTER_OPTION | string)[];
|
|
401
|
+
enabledColumnFilterOptions?: (MRT_FILTER_OPTION | string)[] | null;
|
|
402
|
+
enabledGlobalFilterOptions?: (MRT_FILTER_OPTION | string)[] | null;
|
|
394
403
|
icons?: Partial<MRT_Icons>;
|
|
395
404
|
localization?: Partial<MRT_Localization>;
|
|
396
405
|
muiLinearProgressProps?:
|
|
@@ -560,13 +569,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
|
|
|
560
569
|
muiTableToolbarTopProps?:
|
|
561
570
|
| ToolbarProps
|
|
562
571
|
| (({ instance }: { instance: MRT_TableInstance }) => ToolbarProps);
|
|
563
|
-
|
|
564
|
-
onCurrentEditingRowChange?: OnChangeFn<MRT_Row>;
|
|
565
|
-
onCurrentFilterFnsChange?: OnChangeFn<{ [key: string]: MRT_FilterFn }>;
|
|
566
|
-
onCurrentGlobalFilterFnChange?: OnChangeFn<MRT_FilterFn>;
|
|
567
|
-
onIsDensePaddingChange?: OnChangeFn<boolean>;
|
|
568
|
-
onIsFullScreenChange?: OnChangeFn<boolean>;
|
|
569
|
-
onHandleCellClick?: ({
|
|
572
|
+
onCellClick?: ({
|
|
570
573
|
cell,
|
|
571
574
|
event,
|
|
572
575
|
instance,
|
|
@@ -575,7 +578,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
|
|
|
575
578
|
instance: MRT_TableInstance<D>;
|
|
576
579
|
event: MouseEvent<HTMLTableCellElement>;
|
|
577
580
|
}) => void;
|
|
578
|
-
|
|
581
|
+
onCellEditBlur?: ({
|
|
579
582
|
cell,
|
|
580
583
|
event,
|
|
581
584
|
instance,
|
|
@@ -584,7 +587,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
|
|
|
584
587
|
cell: MRT_Cell<D>;
|
|
585
588
|
instance: MRT_TableInstance<D>;
|
|
586
589
|
}) => void;
|
|
587
|
-
|
|
590
|
+
onCellEditChanged?: ({
|
|
588
591
|
cell,
|
|
589
592
|
event,
|
|
590
593
|
instance,
|
|
@@ -593,23 +596,16 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
|
|
|
593
596
|
cell: MRT_Cell<D>;
|
|
594
597
|
instance: MRT_TableInstance<D>;
|
|
595
598
|
}) => void;
|
|
596
|
-
|
|
599
|
+
onColumnFilterValueChanged?: ({
|
|
600
|
+
column,
|
|
597
601
|
event,
|
|
598
|
-
|
|
599
|
-
instance,
|
|
602
|
+
filterValue,
|
|
600
603
|
}: {
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
+
column: MRT_Column<D>;
|
|
605
|
+
event: ChangeEvent<HTMLInputElement>;
|
|
606
|
+
filterValue: any;
|
|
604
607
|
}) => void;
|
|
605
|
-
|
|
606
|
-
row,
|
|
607
|
-
instance,
|
|
608
|
-
}: {
|
|
609
|
-
row: MRT_Row<D>;
|
|
610
|
-
instance: MRT_TableInstance<D>;
|
|
611
|
-
}) => Promise<void> | void;
|
|
612
|
-
onHandleFilterValueChange?: ({
|
|
608
|
+
onColumnFilterValueChangedDebounced?: ({
|
|
613
609
|
column,
|
|
614
610
|
event,
|
|
615
611
|
filterValue,
|
|
@@ -618,60 +614,59 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
|
|
|
618
614
|
event: ChangeEvent<HTMLInputElement>;
|
|
619
615
|
filterValue: any;
|
|
620
616
|
}) => void;
|
|
621
|
-
|
|
622
|
-
|
|
617
|
+
onColumnVisibilityChanged?: ({
|
|
618
|
+
column,
|
|
619
|
+
columnVisibility,
|
|
623
620
|
instance,
|
|
624
621
|
}: {
|
|
625
|
-
|
|
622
|
+
column: MRT_Column<D>;
|
|
623
|
+
columnVisibility: VisibilityState;
|
|
626
624
|
instance: MRT_TableInstance<D>;
|
|
627
625
|
}) => void;
|
|
628
|
-
|
|
626
|
+
onCurrentEditingCellChange?: OnChangeFn<MRT_Cell>;
|
|
627
|
+
onCurrentEditingRowChange?: OnChangeFn<MRT_Row>;
|
|
628
|
+
onCurrentFilterFnsChange?: OnChangeFn<{ [key: string]: MRT_FilterFn }>;
|
|
629
|
+
onCurrentGlobalFilterFnChange?: OnChangeFn<MRT_FilterFn>;
|
|
630
|
+
onDetailPanelClick?: ({
|
|
629
631
|
event,
|
|
630
632
|
row,
|
|
631
633
|
instance,
|
|
632
634
|
}: {
|
|
633
|
-
event: MouseEvent<
|
|
635
|
+
event: MouseEvent<HTMLTableCellElement>;
|
|
634
636
|
row: MRT_Row<D>;
|
|
635
637
|
instance: MRT_TableInstance<D>;
|
|
636
638
|
}) => void;
|
|
637
|
-
|
|
638
|
-
event,
|
|
639
|
+
onEditRowSubmit?: ({
|
|
639
640
|
row,
|
|
641
|
+
instance,
|
|
640
642
|
}: {
|
|
641
|
-
event: MouseEvent<HTMLButtonElement>;
|
|
642
643
|
row: MRT_Row<D>;
|
|
643
644
|
instance: MRT_TableInstance<D>;
|
|
644
|
-
}) => void;
|
|
645
|
-
|
|
645
|
+
}) => Promise<void> | void;
|
|
646
|
+
onExpandChanged?: ({
|
|
646
647
|
event,
|
|
647
|
-
|
|
648
|
-
instance,
|
|
648
|
+
row,
|
|
649
649
|
}: {
|
|
650
|
-
event:
|
|
651
|
-
|
|
650
|
+
event: MouseEvent<HTMLButtonElement>;
|
|
651
|
+
row: MRT_Row<D>;
|
|
652
652
|
instance: MRT_TableInstance<D>;
|
|
653
653
|
}) => void;
|
|
654
|
-
|
|
654
|
+
onGlobalFilterValueChanged?: ({
|
|
655
655
|
event,
|
|
656
|
-
row,
|
|
657
|
-
selectedRows,
|
|
658
656
|
instance,
|
|
659
657
|
}: {
|
|
660
|
-
event: ChangeEvent
|
|
661
|
-
row: MRT_Row<D>;
|
|
662
|
-
selectedRows: MRT_Row<D>[];
|
|
658
|
+
event: ChangeEvent<HTMLInputElement>;
|
|
663
659
|
instance: MRT_TableInstance<D>;
|
|
664
660
|
}) => void;
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
columnVisibility,
|
|
661
|
+
onGlobalFilterValueChangedDebounced?: ({
|
|
662
|
+
event,
|
|
668
663
|
instance,
|
|
669
664
|
}: {
|
|
670
|
-
|
|
671
|
-
columnVisibility: VisibilityState;
|
|
665
|
+
event: ChangeEvent<HTMLInputElement>;
|
|
672
666
|
instance: MRT_TableInstance<D>;
|
|
673
667
|
}) => void;
|
|
674
|
-
|
|
668
|
+
onIsDensePaddingChange?: OnChangeFn<boolean>;
|
|
669
|
+
onIsDensePaddingChanged?: ({
|
|
675
670
|
event,
|
|
676
671
|
isDensePadding,
|
|
677
672
|
instance,
|
|
@@ -680,7 +675,8 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
|
|
|
680
675
|
isDensePadding: boolean;
|
|
681
676
|
instance: MRT_TableInstance<D>;
|
|
682
677
|
}) => void;
|
|
683
|
-
|
|
678
|
+
onIsFullScreenChange?: OnChangeFn<boolean>;
|
|
679
|
+
onIsFullScreenChanged?: ({
|
|
684
680
|
event,
|
|
685
681
|
isFullScreen,
|
|
686
682
|
instance,
|
|
@@ -689,30 +685,59 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
|
|
|
689
685
|
isFullScreen: boolean;
|
|
690
686
|
instance: MRT_TableInstance<D>;
|
|
691
687
|
}) => void;
|
|
692
|
-
|
|
688
|
+
onRowClick?: ({
|
|
693
689
|
event,
|
|
694
|
-
|
|
690
|
+
row,
|
|
695
691
|
instance,
|
|
696
692
|
}: {
|
|
697
|
-
event: MouseEvent<
|
|
698
|
-
|
|
693
|
+
event: MouseEvent<HTMLTableRowElement>;
|
|
694
|
+
row: MRT_Row<D>;
|
|
699
695
|
instance: MRT_TableInstance<D>;
|
|
700
696
|
}) => void;
|
|
701
|
-
|
|
697
|
+
onRowSelectAllChanged?: ({
|
|
702
698
|
event,
|
|
703
|
-
|
|
699
|
+
selectedRows,
|
|
704
700
|
instance,
|
|
705
701
|
}: {
|
|
706
|
-
event:
|
|
707
|
-
|
|
702
|
+
event: ChangeEvent;
|
|
703
|
+
selectedRows: MRT_Row<D>[];
|
|
704
|
+
instance: MRT_TableInstance<D>;
|
|
705
|
+
}) => void;
|
|
706
|
+
onRowSelectionChanged?: ({
|
|
707
|
+
event,
|
|
708
|
+
row,
|
|
709
|
+
selectedRows,
|
|
710
|
+
instance,
|
|
711
|
+
}: {
|
|
712
|
+
event: ChangeEvent;
|
|
713
|
+
row: MRT_Row<D>;
|
|
714
|
+
selectedRows: MRT_Row<D>[];
|
|
708
715
|
instance: MRT_TableInstance<D>;
|
|
709
716
|
}) => void;
|
|
710
717
|
onShowFiltersChange?: OnChangeFn<boolean>;
|
|
718
|
+
onShowFiltersChanged?: ({
|
|
719
|
+
event,
|
|
720
|
+
instance,
|
|
721
|
+
showFilters,
|
|
722
|
+
}: {
|
|
723
|
+
event: MouseEvent<HTMLButtonElement>;
|
|
724
|
+
instance: MRT_TableInstance<D>;
|
|
725
|
+
showFilters: boolean;
|
|
726
|
+
}) => void;
|
|
711
727
|
onShowGlobalFilterChange?: OnChangeFn<boolean>;
|
|
728
|
+
onShowGlobalFilterChanged?: ({
|
|
729
|
+
event,
|
|
730
|
+
instance,
|
|
731
|
+
showGlobalFilter,
|
|
732
|
+
}: {
|
|
733
|
+
event: MouseEvent<HTMLButtonElement>;
|
|
734
|
+
instance: MRT_TableInstance<D>;
|
|
735
|
+
showGlobalFilter: boolean;
|
|
736
|
+
}) => void;
|
|
712
737
|
persistentStateMode?: 'localStorage' | 'sessionStorage';
|
|
713
738
|
positionActionsColumn?: 'first' | 'last';
|
|
714
|
-
positionPagination?: 'bottom' | 'top' | 'both';
|
|
715
739
|
positionGlobalFilter?: 'left' | 'right';
|
|
740
|
+
positionPagination?: 'bottom' | 'top' | 'both';
|
|
716
741
|
positionToolbarActions?: 'bottom' | 'top';
|
|
717
742
|
positionToolbarAlertBanner?: 'bottom' | 'top';
|
|
718
743
|
renderDetailPanel?: ({
|
|
@@ -29,7 +29,7 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
29
29
|
enableRowNumbers,
|
|
30
30
|
muiTableBodyCellProps,
|
|
31
31
|
muiTableBodyCellSkeletonProps,
|
|
32
|
-
|
|
32
|
+
onCellClick,
|
|
33
33
|
rowNumberMode,
|
|
34
34
|
tableId,
|
|
35
35
|
},
|
|
@@ -130,7 +130,7 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
130
130
|
return (
|
|
131
131
|
<TableCell
|
|
132
132
|
onClick={(event: MouseEvent<HTMLTableCellElement>) =>
|
|
133
|
-
|
|
133
|
+
onCellClick?.({ event, cell, instance })
|
|
134
134
|
}
|
|
135
135
|
onDoubleClick={handleDoubleClick}
|
|
136
136
|
{...tableCellProps}
|
|
@@ -13,7 +13,7 @@ interface Props {
|
|
|
13
13
|
export const MRT_TableBodyRow: FC<Props> = ({ row, rowIndex, instance }) => {
|
|
14
14
|
const {
|
|
15
15
|
getIsSomeColumnsPinned,
|
|
16
|
-
options: { muiTableBodyRowProps,
|
|
16
|
+
options: { muiTableBodyRowProps, onRowClick, renderDetailPanel },
|
|
17
17
|
} = instance;
|
|
18
18
|
|
|
19
19
|
const tableRowProps =
|
|
@@ -26,7 +26,7 @@ export const MRT_TableBodyRow: FC<Props> = ({ row, rowIndex, instance }) => {
|
|
|
26
26
|
<TableRow
|
|
27
27
|
hover
|
|
28
28
|
onClick={(event: MouseEvent<HTMLTableRowElement>) =>
|
|
29
|
-
|
|
29
|
+
onRowClick?.({ event, row, instance })
|
|
30
30
|
}
|
|
31
31
|
selected={row.getIsSelected()}
|
|
32
32
|
{...tableRowProps}
|
|
@@ -13,7 +13,7 @@ export const MRT_TableDetailPanel: FC<Props> = ({ row, instance }) => {
|
|
|
13
13
|
options: {
|
|
14
14
|
muiTableBodyRowProps,
|
|
15
15
|
muiTableDetailPanelProps,
|
|
16
|
-
|
|
16
|
+
onDetailPanelClick,
|
|
17
17
|
renderDetailPanel,
|
|
18
18
|
},
|
|
19
19
|
} = instance;
|
|
@@ -33,7 +33,7 @@ export const MRT_TableDetailPanel: FC<Props> = ({ row, instance }) => {
|
|
|
33
33
|
<TableCell
|
|
34
34
|
colSpan={getVisibleLeafColumns().length}
|
|
35
35
|
onClick={(event: MouseEvent<HTMLTableCellElement>) =>
|
|
36
|
-
|
|
36
|
+
onDetailPanelClick?.({ event, row, instance })
|
|
37
37
|
}
|
|
38
38
|
{...tableCellProps}
|
|
39
39
|
sx={{
|
|
@@ -13,7 +13,7 @@ export const MRT_EditActionButtons: FC<Props> = ({ row, instance }) => {
|
|
|
13
13
|
options: {
|
|
14
14
|
icons: { CancelIcon, SaveIcon },
|
|
15
15
|
localization,
|
|
16
|
-
|
|
16
|
+
onEditRowSubmit,
|
|
17
17
|
},
|
|
18
18
|
setCurrentEditingRow,
|
|
19
19
|
} = instance;
|
|
@@ -26,7 +26,7 @@ export const MRT_EditActionButtons: FC<Props> = ({ row, instance }) => {
|
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
const handleSave = () => {
|
|
29
|
-
|
|
29
|
+
onEditRowSubmit?.({ row: currentEditingRow ?? row, instance });
|
|
30
30
|
setCurrentEditingRow(null);
|
|
31
31
|
};
|
|
32
32
|
|
|
@@ -13,7 +13,7 @@ export const MRT_ExpandButton: FC<Props> = ({ row, instance }) => {
|
|
|
13
13
|
options: {
|
|
14
14
|
icons: { ExpandMoreIcon },
|
|
15
15
|
localization,
|
|
16
|
-
|
|
16
|
+
onExpandChanged,
|
|
17
17
|
renderDetailPanel,
|
|
18
18
|
},
|
|
19
19
|
} = instance;
|
|
@@ -22,7 +22,7 @@ export const MRT_ExpandButton: FC<Props> = ({ row, instance }) => {
|
|
|
22
22
|
|
|
23
23
|
const handleToggleExpand = (event: MouseEvent<HTMLButtonElement>) => {
|
|
24
24
|
row.toggleExpanded();
|
|
25
|
-
|
|
25
|
+
onExpandChanged?.({ event, row, instance });
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
return (
|
|
@@ -15,7 +15,7 @@ export const MRT_FullScreenToggleButton: FC<Props> = ({
|
|
|
15
15
|
options: {
|
|
16
16
|
icons: { FullscreenExitIcon, FullscreenIcon },
|
|
17
17
|
localization,
|
|
18
|
-
|
|
18
|
+
onIsFullScreenChanged,
|
|
19
19
|
},
|
|
20
20
|
setIsFullScreen,
|
|
21
21
|
} = instance;
|
|
@@ -23,7 +23,7 @@ export const MRT_FullScreenToggleButton: FC<Props> = ({
|
|
|
23
23
|
const { isFullScreen } = getState();
|
|
24
24
|
|
|
25
25
|
const handleToggleFullScreen = (event: MouseEvent<HTMLButtonElement>) => {
|
|
26
|
-
|
|
26
|
+
onIsFullScreenChanged?.({
|
|
27
27
|
event,
|
|
28
28
|
isFullScreen: !isFullScreen,
|
|
29
29
|
instance,
|
|
@@ -15,7 +15,7 @@ export const MRT_ToggleDensePaddingButton: FC<Props> = ({
|
|
|
15
15
|
options: {
|
|
16
16
|
icons: { DensityMediumIcon, DensitySmallIcon },
|
|
17
17
|
localization,
|
|
18
|
-
|
|
18
|
+
onIsDensePaddingChanged,
|
|
19
19
|
},
|
|
20
20
|
setIsDensePadding,
|
|
21
21
|
} = instance;
|
|
@@ -23,7 +23,7 @@ export const MRT_ToggleDensePaddingButton: FC<Props> = ({
|
|
|
23
23
|
const { isDensePadding } = getState();
|
|
24
24
|
|
|
25
25
|
const handleToggleDensePadding = (event: MouseEvent<HTMLButtonElement>) => {
|
|
26
|
-
|
|
26
|
+
onIsDensePaddingChanged?.({
|
|
27
27
|
event,
|
|
28
28
|
isDensePadding: !isDensePadding,
|
|
29
29
|
instance,
|
|
@@ -12,7 +12,7 @@ export const MRT_ToggleFiltersButton: FC<Props> = ({ instance, ...rest }) => {
|
|
|
12
12
|
options: {
|
|
13
13
|
icons: { FilterListIcon, FilterListOffIcon },
|
|
14
14
|
localization,
|
|
15
|
-
|
|
15
|
+
onShowFiltersChanged,
|
|
16
16
|
},
|
|
17
17
|
setShowFilters,
|
|
18
18
|
} = instance;
|
|
@@ -20,7 +20,7 @@ export const MRT_ToggleFiltersButton: FC<Props> = ({ instance, ...rest }) => {
|
|
|
20
20
|
const { showFilters } = getState();
|
|
21
21
|
|
|
22
22
|
const handleToggleShowFilters = (event: MouseEvent<HTMLButtonElement>) => {
|
|
23
|
-
|
|
23
|
+
onShowFiltersChanged?.({
|
|
24
24
|
event,
|
|
25
25
|
showFilters: !showFilters,
|
|
26
26
|
instance,
|
|
@@ -17,7 +17,7 @@ export const MRT_ToggleGlobalFilterButton: FC<Props> = ({
|
|
|
17
17
|
tableId,
|
|
18
18
|
localization,
|
|
19
19
|
muiSearchTextFieldProps,
|
|
20
|
-
|
|
20
|
+
onShowGlobalFilterChanged,
|
|
21
21
|
},
|
|
22
22
|
setShowGlobalFilter,
|
|
23
23
|
} = instance;
|
|
@@ -30,7 +30,7 @@ export const MRT_ToggleGlobalFilterButton: FC<Props> = ({
|
|
|
30
30
|
: muiSearchTextFieldProps;
|
|
31
31
|
|
|
32
32
|
const handleToggleSearch = (event: MouseEvent<HTMLButtonElement>) => {
|
|
33
|
-
|
|
33
|
+
onShowGlobalFilterChanged?.({
|
|
34
34
|
event,
|
|
35
35
|
showGlobalFilter: !showGlobalFilter,
|
|
36
36
|
instance,
|
package/src/filtersFNs.ts
CHANGED
|
@@ -4,10 +4,10 @@ import { MRT_Row } from '.';
|
|
|
4
4
|
export const fuzzy = (
|
|
5
5
|
row: MRT_Row,
|
|
6
6
|
columnId: string,
|
|
7
|
-
|
|
7
|
+
filterValue: string,
|
|
8
8
|
addMeta: (item: RankingInfo) => void,
|
|
9
9
|
) => {
|
|
10
|
-
const itemRank = rankItem(row.getValue(columnId),
|
|
10
|
+
const itemRank = rankItem(row.getValue(columnId), filterValue, {
|
|
11
11
|
threshold: rankings.MATCHES,
|
|
12
12
|
});
|
|
13
13
|
addMeta(itemRank);
|
|
@@ -20,8 +20,8 @@ export const MRT_EditCellTextField: FC<Props> = ({ cell, instance }) => {
|
|
|
20
20
|
tableId,
|
|
21
21
|
enableEditing,
|
|
22
22
|
muiTableBodyCellEditTextFieldProps,
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
onCellEditBlur,
|
|
24
|
+
onCellEditChanged,
|
|
25
25
|
},
|
|
26
26
|
setCurrentEditingCell,
|
|
27
27
|
setCurrentEditingRow,
|
|
@@ -35,8 +35,8 @@ export const MRT_EditCellTextField: FC<Props> = ({ cell, instance }) => {
|
|
|
35
35
|
|
|
36
36
|
const handleChange = (event: ChangeEvent<HTMLInputElement>) => {
|
|
37
37
|
setValue(event.target.value);
|
|
38
|
-
columnDef.
|
|
39
|
-
|
|
38
|
+
columnDef.onCellEditChanged?.({ event, cell, instance });
|
|
39
|
+
onCellEditChanged?.({ event, cell, instance });
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
const handleBlur = (event: FocusEvent<HTMLInputElement>) => {
|
|
@@ -46,8 +46,8 @@ export const MRT_EditCellTextField: FC<Props> = ({ cell, instance }) => {
|
|
|
46
46
|
setCurrentEditingRow({ ...getState().currentEditingRow } as MRT_Row);
|
|
47
47
|
}
|
|
48
48
|
setCurrentEditingCell(null);
|
|
49
|
-
columnDef.
|
|
50
|
-
|
|
49
|
+
columnDef.onCellEditBlur?.({ event, cell, instance });
|
|
50
|
+
onCellEditBlur?.({ event, cell, instance });
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
const mTableBodyCellEditTextFieldProps =
|