material-react-table 0.16.2 → 0.18.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 +1 -1
- package/dist/MaterialReactTable.d.ts +9 -103
- package/dist/material-react-table.cjs.development.js +55 -219
- 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 +55 -219
- package/dist/material-react-table.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/MaterialReactTable.tsx +6 -182
- package/src/body/MRT_TableBodyCell.tsx +1 -9
- package/src/body/MRT_TableBodyRow.tsx +2 -5
- package/src/body/MRT_TableDetailPanel.tsx +1 -5
- package/src/buttons/MRT_ExpandButton.tsx +2 -4
- package/src/buttons/MRT_FullScreenToggleButton.tsx +2 -8
- package/src/buttons/MRT_ToggleDensePaddingButton.tsx +2 -8
- package/src/buttons/MRT_ToggleFiltersButton.tsx +2 -8
- package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +2 -8
- package/src/head/MRT_TableHeadCellResizeHandle.tsx +3 -2
- package/src/inputs/MRT_EditCellTextField.tsx +3 -3
- package/src/inputs/MRT_FilterTextField.tsx +31 -61
- package/src/inputs/MRT_GlobalFilterTextField.tsx +0 -4
- package/src/inputs/MRT_SelectCheckbox.tsx +0 -24
- package/src/menus/MRT_ColumnActionMenu.tsx +28 -11
- package/src/table/MRT_TableRoot.tsx +5 -74
- package/src/toolbar/MRT_TablePagination.tsx +9 -4
- package/src/toolbar/MRT_ToolbarAlertBanner.tsx +2 -2
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.
|
|
2
|
+
"version": "0.18.0",
|
|
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.",
|
|
@@ -3,7 +3,6 @@ import React, {
|
|
|
3
3
|
Dispatch,
|
|
4
4
|
FC,
|
|
5
5
|
FocusEvent,
|
|
6
|
-
MouseEvent,
|
|
7
6
|
ReactNode,
|
|
8
7
|
SetStateAction,
|
|
9
8
|
} from 'react';
|
|
@@ -30,8 +29,6 @@ import {
|
|
|
30
29
|
Cell,
|
|
31
30
|
Column,
|
|
32
31
|
ColumnDef,
|
|
33
|
-
ColumnOrderState,
|
|
34
|
-
ColumnPinningState,
|
|
35
32
|
FilterFn,
|
|
36
33
|
FilterFnOption,
|
|
37
34
|
Header,
|
|
@@ -46,7 +43,6 @@ import {
|
|
|
46
43
|
TableInstance,
|
|
47
44
|
TableState,
|
|
48
45
|
UseTableInstanceOptions,
|
|
49
|
-
VisibilityState,
|
|
50
46
|
} from '@tanstack/react-table';
|
|
51
47
|
import { Options as VirtualizerOptions } from 'react-virtual';
|
|
52
48
|
import { MRT_Localization, MRT_DefaultLocalization_EN } from './localization';
|
|
@@ -128,6 +124,7 @@ export type MRT_TableInstance<D extends Record<string, any> = {}> = Omit<
|
|
|
128
124
|
setCurrentGlobalFilterFn: Dispatch<SetStateAction<MRT_FilterFn>>;
|
|
129
125
|
setDensity: Dispatch<SetStateAction<'comfortable' | 'compact' | 'spacious'>>;
|
|
130
126
|
setIsFullScreen: Dispatch<SetStateAction<boolean>>;
|
|
127
|
+
setShowAlertBanner: Dispatch<SetStateAction<boolean>>;
|
|
131
128
|
setShowFilters: Dispatch<SetStateAction<boolean>>;
|
|
132
129
|
setShowGlobalFilter: Dispatch<SetStateAction<boolean>>;
|
|
133
130
|
};
|
|
@@ -140,6 +137,7 @@ export type MRT_TableState<D extends Record<string, any> = {}> = TableState & {
|
|
|
140
137
|
density: 'comfortable' | 'compact' | 'spacious';
|
|
141
138
|
isLoading: boolean;
|
|
142
139
|
isFullScreen: boolean;
|
|
140
|
+
showAlertBanner: boolean;
|
|
143
141
|
showFilters: boolean;
|
|
144
142
|
showGlobalFilter: boolean;
|
|
145
143
|
showProgressBars: boolean;
|
|
@@ -288,7 +286,7 @@ export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
|
|
|
288
286
|
cell: MRT_Cell<D>;
|
|
289
287
|
instance: MRT_TableInstance<D>;
|
|
290
288
|
}) => void;
|
|
291
|
-
|
|
289
|
+
onCellEditChange?: ({
|
|
292
290
|
cell,
|
|
293
291
|
event,
|
|
294
292
|
instance,
|
|
@@ -297,28 +295,6 @@ export type MRT_ColumnDef<D extends Record<string, any> = {}> = Omit<
|
|
|
297
295
|
cell: MRT_Cell<D>;
|
|
298
296
|
instance: MRT_TableInstance<D>;
|
|
299
297
|
}) => void;
|
|
300
|
-
onColumnFilterValueChanged?: ({
|
|
301
|
-
column,
|
|
302
|
-
event,
|
|
303
|
-
filterValue,
|
|
304
|
-
instance,
|
|
305
|
-
}: {
|
|
306
|
-
column: MRT_Column<D>;
|
|
307
|
-
event: ChangeEvent<HTMLInputElement>;
|
|
308
|
-
filterValue: any;
|
|
309
|
-
instance: MRT_TableInstance<D>;
|
|
310
|
-
}) => void;
|
|
311
|
-
onColumnFilterValueChangedDebounced?: ({
|
|
312
|
-
column,
|
|
313
|
-
event,
|
|
314
|
-
filterValue,
|
|
315
|
-
instance,
|
|
316
|
-
}: {
|
|
317
|
-
column: MRT_Column<D>;
|
|
318
|
-
event: ChangeEvent<HTMLInputElement>;
|
|
319
|
-
filterValue: any;
|
|
320
|
-
instance: MRT_TableInstance<D>;
|
|
321
|
-
}) => void;
|
|
322
298
|
sortingFn?: MRT_SortingFn;
|
|
323
299
|
};
|
|
324
300
|
|
|
@@ -401,7 +377,6 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
|
|
|
401
377
|
enableGlobalFilterChangeMode?: boolean;
|
|
402
378
|
enableGlobalFilterRankedResults?: boolean;
|
|
403
379
|
enablePagination?: boolean;
|
|
404
|
-
enablePersistentState?: boolean;
|
|
405
380
|
enableRowActions?: boolean;
|
|
406
381
|
enableRowNumbers?: boolean;
|
|
407
382
|
enableRowVirtualization?: boolean;
|
|
@@ -599,15 +574,6 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
|
|
|
599
574
|
muiTableToolbarTopProps?:
|
|
600
575
|
| ToolbarProps
|
|
601
576
|
| (({ instance }: { instance: MRT_TableInstance<D> }) => ToolbarProps);
|
|
602
|
-
onCellClick?: ({
|
|
603
|
-
cell,
|
|
604
|
-
event,
|
|
605
|
-
instance,
|
|
606
|
-
}: {
|
|
607
|
-
cell: MRT_Cell<D>;
|
|
608
|
-
instance: MRT_TableInstance<D>;
|
|
609
|
-
event: MouseEvent<HTMLTableCellElement>;
|
|
610
|
-
}) => void;
|
|
611
577
|
onCellEditBlur?: ({
|
|
612
578
|
cell,
|
|
613
579
|
event,
|
|
@@ -617,7 +583,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
|
|
|
617
583
|
cell: MRT_Cell<D>;
|
|
618
584
|
instance: MRT_TableInstance<D>;
|
|
619
585
|
}) => void;
|
|
620
|
-
|
|
586
|
+
onCellEditChange?: ({
|
|
621
587
|
cell,
|
|
622
588
|
event,
|
|
623
589
|
instance,
|
|
@@ -626,64 +592,10 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
|
|
|
626
592
|
cell: MRT_Cell<D>;
|
|
627
593
|
instance: MRT_TableInstance<D>;
|
|
628
594
|
}) => void;
|
|
629
|
-
onColumnFilterValueChanged?: ({
|
|
630
|
-
column,
|
|
631
|
-
event,
|
|
632
|
-
filterValue,
|
|
633
|
-
instance,
|
|
634
|
-
}: {
|
|
635
|
-
column: MRT_Column<D>;
|
|
636
|
-
event: ChangeEvent<HTMLInputElement>;
|
|
637
|
-
filterValue: any;
|
|
638
|
-
instance: MRT_TableInstance<D>;
|
|
639
|
-
}) => void;
|
|
640
|
-
onColumnFilterValueChangedDebounced?: ({
|
|
641
|
-
column,
|
|
642
|
-
event,
|
|
643
|
-
filterValue,
|
|
644
|
-
instance,
|
|
645
|
-
}: {
|
|
646
|
-
column: MRT_Column<D>;
|
|
647
|
-
event: ChangeEvent<HTMLInputElement>;
|
|
648
|
-
filterValue: any;
|
|
649
|
-
instance: MRT_TableInstance<D>;
|
|
650
|
-
}) => void;
|
|
651
|
-
onColumnOrderChanged?: ({
|
|
652
|
-
columnOrder,
|
|
653
|
-
instance,
|
|
654
|
-
}: {
|
|
655
|
-
columnOrder: ColumnOrderState;
|
|
656
|
-
instance: MRT_TableInstance<D>;
|
|
657
|
-
}) => void;
|
|
658
|
-
onColumnPinningChanged?: ({
|
|
659
|
-
columnPinning,
|
|
660
|
-
instance,
|
|
661
|
-
}: {
|
|
662
|
-
columnPinning: ColumnPinningState;
|
|
663
|
-
instance: MRT_TableInstance<D>;
|
|
664
|
-
}) => void;
|
|
665
|
-
onColumnVisibilityChanged?: ({
|
|
666
|
-
column,
|
|
667
|
-
columnVisibility,
|
|
668
|
-
instance,
|
|
669
|
-
}: {
|
|
670
|
-
column: MRT_Column<D>;
|
|
671
|
-
columnVisibility: VisibilityState;
|
|
672
|
-
instance: MRT_TableInstance<D>;
|
|
673
|
-
}) => void;
|
|
674
595
|
onCurrentEditingCellChange?: OnChangeFn<MRT_Cell>;
|
|
675
596
|
onCurrentEditingRowChange?: OnChangeFn<MRT_Row>;
|
|
676
597
|
onCurrentFilterFnsChange?: OnChangeFn<{ [key: string]: MRT_FilterFn }>;
|
|
677
598
|
onCurrentGlobalFilterFnChange?: OnChangeFn<MRT_FilterFn>;
|
|
678
|
-
onDetailPanelClick?: ({
|
|
679
|
-
event,
|
|
680
|
-
row,
|
|
681
|
-
instance,
|
|
682
|
-
}: {
|
|
683
|
-
event: MouseEvent<HTMLTableCellElement>;
|
|
684
|
-
row: MRT_Row<D>;
|
|
685
|
-
instance: MRT_TableInstance<D>;
|
|
686
|
-
}) => void;
|
|
687
599
|
onEditRowSubmit?: ({
|
|
688
600
|
row,
|
|
689
601
|
instance,
|
|
@@ -691,98 +603,11 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
|
|
|
691
603
|
row: MRT_Row<D>;
|
|
692
604
|
instance: MRT_TableInstance<D>;
|
|
693
605
|
}) => Promise<void> | void;
|
|
694
|
-
onExpandChanged?: ({
|
|
695
|
-
event,
|
|
696
|
-
row,
|
|
697
|
-
}: {
|
|
698
|
-
event: MouseEvent<HTMLButtonElement>;
|
|
699
|
-
row: MRT_Row<D>;
|
|
700
|
-
instance: MRT_TableInstance<D>;
|
|
701
|
-
}) => void;
|
|
702
|
-
onGlobalFilterValueChanged?: ({
|
|
703
|
-
event,
|
|
704
|
-
instance,
|
|
705
|
-
}: {
|
|
706
|
-
event: ChangeEvent<HTMLInputElement>;
|
|
707
|
-
instance: MRT_TableInstance<D>;
|
|
708
|
-
}) => void;
|
|
709
|
-
onGlobalFilterValueChangedDebounced?: ({
|
|
710
|
-
event,
|
|
711
|
-
instance,
|
|
712
|
-
}: {
|
|
713
|
-
event: ChangeEvent<HTMLInputElement>;
|
|
714
|
-
instance: MRT_TableInstance<D>;
|
|
715
|
-
}) => void;
|
|
716
606
|
onDensityChange?: OnChangeFn<boolean>;
|
|
717
|
-
onDensityChanged?: ({
|
|
718
|
-
event,
|
|
719
|
-
density,
|
|
720
|
-
instance,
|
|
721
|
-
}: {
|
|
722
|
-
event: MouseEvent<HTMLButtonElement>;
|
|
723
|
-
density: 'comfortable' | 'compact' | 'spacious';
|
|
724
|
-
instance: MRT_TableInstance<D>;
|
|
725
|
-
}) => void;
|
|
726
607
|
onIsFullScreenChange?: OnChangeFn<boolean>;
|
|
727
|
-
|
|
728
|
-
event,
|
|
729
|
-
isFullScreen,
|
|
730
|
-
instance,
|
|
731
|
-
}: {
|
|
732
|
-
event: MouseEvent<HTMLButtonElement>;
|
|
733
|
-
isFullScreen: boolean;
|
|
734
|
-
instance: MRT_TableInstance<D>;
|
|
735
|
-
}) => void;
|
|
736
|
-
onRowClick?: ({
|
|
737
|
-
event,
|
|
738
|
-
row,
|
|
739
|
-
instance,
|
|
740
|
-
}: {
|
|
741
|
-
event: MouseEvent<HTMLTableRowElement>;
|
|
742
|
-
row: MRT_Row<D>;
|
|
743
|
-
instance: MRT_TableInstance<D>;
|
|
744
|
-
}) => void;
|
|
745
|
-
onRowSelectAllChanged?: ({
|
|
746
|
-
event,
|
|
747
|
-
selectedRows,
|
|
748
|
-
instance,
|
|
749
|
-
}: {
|
|
750
|
-
event: ChangeEvent;
|
|
751
|
-
selectedRows: MRT_Row<D>[];
|
|
752
|
-
instance: MRT_TableInstance<D>;
|
|
753
|
-
}) => void;
|
|
754
|
-
onRowSelectionChanged?: ({
|
|
755
|
-
event,
|
|
756
|
-
row,
|
|
757
|
-
selectedRows,
|
|
758
|
-
instance,
|
|
759
|
-
}: {
|
|
760
|
-
event: ChangeEvent;
|
|
761
|
-
row: MRT_Row<D>;
|
|
762
|
-
selectedRows: MRT_Row<D>[];
|
|
763
|
-
instance: MRT_TableInstance<D>;
|
|
764
|
-
}) => void;
|
|
608
|
+
onShowAlertBannerChange?: OnChangeFn<boolean>;
|
|
765
609
|
onShowFiltersChange?: OnChangeFn<boolean>;
|
|
766
|
-
onShowFiltersChanged?: ({
|
|
767
|
-
event,
|
|
768
|
-
instance,
|
|
769
|
-
showFilters,
|
|
770
|
-
}: {
|
|
771
|
-
event: MouseEvent<HTMLButtonElement>;
|
|
772
|
-
instance: MRT_TableInstance<D>;
|
|
773
|
-
showFilters: boolean;
|
|
774
|
-
}) => void;
|
|
775
610
|
onShowGlobalFilterChange?: OnChangeFn<boolean>;
|
|
776
|
-
onShowGlobalFilterChanged?: ({
|
|
777
|
-
event,
|
|
778
|
-
instance,
|
|
779
|
-
showGlobalFilter,
|
|
780
|
-
}: {
|
|
781
|
-
event: MouseEvent<HTMLButtonElement>;
|
|
782
|
-
instance: MRT_TableInstance<D>;
|
|
783
|
-
showGlobalFilter: boolean;
|
|
784
|
-
}) => void;
|
|
785
|
-
persistentStateMode?: 'localStorage' | 'sessionStorage';
|
|
786
611
|
positionActionsColumn?: 'first' | 'last';
|
|
787
612
|
positionGlobalFilter?: 'left' | 'right';
|
|
788
613
|
positionPagination?: 'bottom' | 'top' | 'both';
|
|
@@ -845,6 +670,7 @@ export type MaterialReactTableProps<D extends Record<string, any> = {}> =
|
|
|
845
670
|
IconButtonProps & { instance: MRT_TableInstance<D> }
|
|
846
671
|
>;
|
|
847
672
|
}) => ReactNode;
|
|
673
|
+
rowCount?: number;
|
|
848
674
|
rowNumberMode?: 'original' | 'static';
|
|
849
675
|
selectAllMode?: 'all' | 'page';
|
|
850
676
|
tableId?: string;
|
|
@@ -885,7 +711,6 @@ export default <D extends Record<string, any> = {}>({
|
|
|
885
711
|
enableToolbarTop = true,
|
|
886
712
|
icons,
|
|
887
713
|
localization,
|
|
888
|
-
persistentStateMode = 'sessionStorage',
|
|
889
714
|
positionActionsColumn = 'first',
|
|
890
715
|
positionGlobalFilter = 'right',
|
|
891
716
|
positionPagination = 'bottom',
|
|
@@ -928,7 +753,6 @@ export default <D extends Record<string, any> = {}>({
|
|
|
928
753
|
enableToolbarTop={enableToolbarTop}
|
|
929
754
|
icons={{ ...MRT_Default_Icons, ...icons }}
|
|
930
755
|
localization={{ ...MRT_DefaultLocalization_EN, ...localization }}
|
|
931
|
-
persistentStateMode={persistentStateMode}
|
|
932
756
|
positionActionsColumn={positionActionsColumn}
|
|
933
757
|
positionGlobalFilter={positionGlobalFilter}
|
|
934
758
|
positionPagination={positionPagination}
|
|
@@ -29,8 +29,6 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
29
29
|
enableRowNumbers,
|
|
30
30
|
muiTableBodyCellProps,
|
|
31
31
|
muiTableBodyCellSkeletonProps,
|
|
32
|
-
onCellClick,
|
|
33
|
-
onRowClick,
|
|
34
32
|
rowNumberMode,
|
|
35
33
|
tableId,
|
|
36
34
|
},
|
|
@@ -132,9 +130,6 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
132
130
|
|
|
133
131
|
return (
|
|
134
132
|
<TableCell
|
|
135
|
-
onClick={(event: MouseEvent<HTMLTableCellElement>) =>
|
|
136
|
-
onCellClick?.({ event, cell, instance })
|
|
137
|
-
}
|
|
138
133
|
onDoubleClick={handleDoubleClick}
|
|
139
134
|
{...tableCellProps}
|
|
140
135
|
ref={
|
|
@@ -149,10 +144,7 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
149
144
|
: getIsFirstRightPinnedColumn()
|
|
150
145
|
? `-4px 0 4px -2px ${alpha(theme.palette.common.black, 0.1)}`
|
|
151
146
|
: undefined,
|
|
152
|
-
cursor:
|
|
153
|
-
(isEditable && editingMode === 'cell') || onRowClick || onCellClick
|
|
154
|
-
? 'pointer'
|
|
155
|
-
: 'text',
|
|
147
|
+
cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
|
|
156
148
|
left:
|
|
157
149
|
column.getIsPinned() === 'left'
|
|
158
150
|
? `${column.getStart('left')}px`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { FC
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
2
|
import { darken, lighten, TableRow } from '@mui/material';
|
|
3
3
|
import { MRT_TableBodyCell } from './MRT_TableBodyCell';
|
|
4
4
|
import { MRT_TableDetailPanel } from './MRT_TableDetailPanel';
|
|
@@ -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, renderDetailPanel },
|
|
17
17
|
} = instance;
|
|
18
18
|
|
|
19
19
|
const tableRowProps =
|
|
@@ -25,9 +25,6 @@ export const MRT_TableBodyRow: FC<Props> = ({ row, rowIndex, instance }) => {
|
|
|
25
25
|
<>
|
|
26
26
|
<TableRow
|
|
27
27
|
hover
|
|
28
|
-
onClick={(event: MouseEvent<HTMLTableRowElement>) =>
|
|
29
|
-
onRowClick?.({ event, row, instance })
|
|
30
|
-
}
|
|
31
28
|
selected={row.getIsSelected()}
|
|
32
29
|
{...tableRowProps}
|
|
33
30
|
sx={(theme) => ({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { FC
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
2
|
import { Collapse, TableCell, TableRow } from '@mui/material';
|
|
3
3
|
import type { MRT_Row, MRT_TableInstance } from '..';
|
|
4
4
|
|
|
@@ -13,7 +13,6 @@ export const MRT_TableDetailPanel: FC<Props> = ({ row, instance }) => {
|
|
|
13
13
|
options: {
|
|
14
14
|
muiTableBodyRowProps,
|
|
15
15
|
muiTableDetailPanelProps,
|
|
16
|
-
onDetailPanelClick,
|
|
17
16
|
renderDetailPanel,
|
|
18
17
|
},
|
|
19
18
|
} = instance;
|
|
@@ -32,9 +31,6 @@ export const MRT_TableDetailPanel: FC<Props> = ({ row, instance }) => {
|
|
|
32
31
|
<TableRow {...tableRowProps}>
|
|
33
32
|
<TableCell
|
|
34
33
|
colSpan={getVisibleLeafColumns().length}
|
|
35
|
-
onClick={(event: MouseEvent<HTMLTableCellElement>) =>
|
|
36
|
-
onDetailPanelClick?.({ event, row, instance })
|
|
37
|
-
}
|
|
38
34
|
{...tableCellProps}
|
|
39
35
|
sx={{
|
|
40
36
|
borderBottom: !row.getIsExpanded() ? 'none' : undefined,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { FC
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
2
|
import { IconButton, Tooltip } from '@mui/material';
|
|
3
3
|
import type { MRT_Row, MRT_TableInstance } from '..';
|
|
4
4
|
|
|
@@ -14,7 +14,6 @@ export const MRT_ExpandButton: FC<Props> = ({ row, instance }) => {
|
|
|
14
14
|
icons: { ExpandMoreIcon },
|
|
15
15
|
localization,
|
|
16
16
|
muiExpandButtonProps,
|
|
17
|
-
onExpandChanged,
|
|
18
17
|
renderDetailPanel,
|
|
19
18
|
},
|
|
20
19
|
} = instance;
|
|
@@ -26,9 +25,8 @@ export const MRT_ExpandButton: FC<Props> = ({ row, instance }) => {
|
|
|
26
25
|
? muiExpandButtonProps({ instance, row })
|
|
27
26
|
: muiExpandButtonProps;
|
|
28
27
|
|
|
29
|
-
const handleToggleExpand = (
|
|
28
|
+
const handleToggleExpand = () => {
|
|
30
29
|
row.toggleExpanded();
|
|
31
|
-
onExpandChanged?.({ event, row, instance });
|
|
32
30
|
};
|
|
33
31
|
|
|
34
32
|
return (
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { FC
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
2
|
import { IconButton, IconButtonProps, Tooltip } from '@mui/material';
|
|
3
3
|
import { MRT_TableInstance } from '..';
|
|
4
4
|
|
|
@@ -15,19 +15,13 @@ export const MRT_FullScreenToggleButton: FC<Props> = ({
|
|
|
15
15
|
options: {
|
|
16
16
|
icons: { FullscreenExitIcon, FullscreenIcon },
|
|
17
17
|
localization,
|
|
18
|
-
onIsFullScreenChanged,
|
|
19
18
|
},
|
|
20
19
|
setIsFullScreen,
|
|
21
20
|
} = instance;
|
|
22
21
|
|
|
23
22
|
const { isFullScreen } = getState();
|
|
24
23
|
|
|
25
|
-
const handleToggleFullScreen = (
|
|
26
|
-
onIsFullScreenChanged?.({
|
|
27
|
-
event,
|
|
28
|
-
isFullScreen: !isFullScreen,
|
|
29
|
-
instance,
|
|
30
|
-
});
|
|
24
|
+
const handleToggleFullScreen = () => {
|
|
31
25
|
setIsFullScreen(!isFullScreen);
|
|
32
26
|
};
|
|
33
27
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { FC
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
2
|
import { IconButton, IconButtonProps, Tooltip } from '@mui/material';
|
|
3
3
|
import { MRT_TableInstance } from '..';
|
|
4
4
|
|
|
@@ -15,25 +15,19 @@ export const MRT_ToggleDensePaddingButton: FC<Props> = ({
|
|
|
15
15
|
options: {
|
|
16
16
|
icons: { DensityLargeIcon, DensityMediumIcon, DensitySmallIcon },
|
|
17
17
|
localization,
|
|
18
|
-
onDensityChanged,
|
|
19
18
|
},
|
|
20
19
|
setDensity,
|
|
21
20
|
} = instance;
|
|
22
21
|
|
|
23
22
|
const { density } = getState();
|
|
24
23
|
|
|
25
|
-
const handleToggleDensePadding = (
|
|
24
|
+
const handleToggleDensePadding = () => {
|
|
26
25
|
const nextDensity =
|
|
27
26
|
density === 'comfortable'
|
|
28
27
|
? 'compact'
|
|
29
28
|
: density === 'compact'
|
|
30
29
|
? 'spacious'
|
|
31
30
|
: 'comfortable';
|
|
32
|
-
onDensityChanged?.({
|
|
33
|
-
event,
|
|
34
|
-
density: nextDensity,
|
|
35
|
-
instance,
|
|
36
|
-
});
|
|
37
31
|
setDensity(nextDensity);
|
|
38
32
|
};
|
|
39
33
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { FC
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
2
|
import { IconButton, IconButtonProps, Tooltip } from '@mui/material';
|
|
3
3
|
import { MRT_TableInstance } from '..';
|
|
4
4
|
|
|
@@ -12,19 +12,13 @@ export const MRT_ToggleFiltersButton: FC<Props> = ({ instance, ...rest }) => {
|
|
|
12
12
|
options: {
|
|
13
13
|
icons: { FilterListIcon, FilterListOffIcon },
|
|
14
14
|
localization,
|
|
15
|
-
onShowFiltersChanged,
|
|
16
15
|
},
|
|
17
16
|
setShowFilters,
|
|
18
17
|
} = instance;
|
|
19
18
|
|
|
20
19
|
const { showFilters } = getState();
|
|
21
20
|
|
|
22
|
-
const handleToggleShowFilters = (
|
|
23
|
-
onShowFiltersChanged?.({
|
|
24
|
-
event,
|
|
25
|
-
showFilters: !showFilters,
|
|
26
|
-
instance,
|
|
27
|
-
});
|
|
21
|
+
const handleToggleShowFilters = () => {
|
|
28
22
|
setShowFilters(!showFilters);
|
|
29
23
|
};
|
|
30
24
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { FC
|
|
1
|
+
import React, { FC } from 'react';
|
|
2
2
|
import { IconButton, IconButtonProps, Tooltip } from '@mui/material';
|
|
3
3
|
import { MRT_TableInstance } from '..';
|
|
4
4
|
|
|
@@ -17,7 +17,6 @@ export const MRT_ToggleGlobalFilterButton: FC<Props> = ({
|
|
|
17
17
|
tableId,
|
|
18
18
|
localization,
|
|
19
19
|
muiSearchTextFieldProps,
|
|
20
|
-
onShowGlobalFilterChanged,
|
|
21
20
|
},
|
|
22
21
|
setShowGlobalFilter,
|
|
23
22
|
} = instance;
|
|
@@ -29,12 +28,7 @@ export const MRT_ToggleGlobalFilterButton: FC<Props> = ({
|
|
|
29
28
|
? muiSearchTextFieldProps({ instance })
|
|
30
29
|
: muiSearchTextFieldProps;
|
|
31
30
|
|
|
32
|
-
const handleToggleSearch = (
|
|
33
|
-
onShowGlobalFilterChanged?.({
|
|
34
|
-
event,
|
|
35
|
-
showGlobalFilter: !showGlobalFilter,
|
|
36
|
-
instance,
|
|
37
|
-
});
|
|
31
|
+
const handleToggleSearch = () => {
|
|
38
32
|
setShowGlobalFilter(!showGlobalFilter);
|
|
39
33
|
setTimeout(
|
|
40
34
|
() =>
|
|
@@ -13,7 +13,7 @@ export const MRT_TableHeadCellResizeHandle: FC<Props> = ({
|
|
|
13
13
|
}) => {
|
|
14
14
|
const { getState } = instance;
|
|
15
15
|
|
|
16
|
-
const { showFilters } = getState();
|
|
16
|
+
const { density, showFilters } = getState();
|
|
17
17
|
|
|
18
18
|
const { column } = header;
|
|
19
19
|
|
|
@@ -29,13 +29,14 @@ export const MRT_TableHeadCellResizeHandle: FC<Props> = ({
|
|
|
29
29
|
borderRightWidth: '2px',
|
|
30
30
|
cursor: 'col-resize',
|
|
31
31
|
height: showFilters && columnDefType === 'data' ? '4rem' : '2rem',
|
|
32
|
+
mr: density === 'compact' ? '-0.5rem' : '-1rem',
|
|
32
33
|
opacity: 0.8,
|
|
33
34
|
position: 'absolute',
|
|
34
|
-
mr: '-1rem',
|
|
35
35
|
right: '1px',
|
|
36
36
|
touchAction: 'none',
|
|
37
37
|
transition: column.getIsResizing() ? undefined : 'all 0.2s ease-in-out',
|
|
38
38
|
userSelect: 'none',
|
|
39
|
+
zIndex: 4,
|
|
39
40
|
'&:active': {
|
|
40
41
|
backgroundColor: theme.palette.info.main,
|
|
41
42
|
opacity: 1,
|
|
@@ -21,7 +21,7 @@ export const MRT_EditCellTextField: FC<Props> = ({ cell, instance }) => {
|
|
|
21
21
|
enableEditing,
|
|
22
22
|
muiTableBodyCellEditTextFieldProps,
|
|
23
23
|
onCellEditBlur,
|
|
24
|
-
|
|
24
|
+
onCellEditChange,
|
|
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.onCellEditChange?.({ event, cell, instance });
|
|
39
|
+
onCellEditChange?.({ event, cell, instance });
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
const handleBlur = (event: FocusEvent<HTMLInputElement>) => {
|