material-react-table 1.0.0-beta.1 → 1.0.0-beta.12
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 +20 -20
- package/dist/cjs/MaterialReactTable.d.ts +100 -21
- package/dist/cjs/_locales/en.d.ts +2 -0
- package/dist/cjs/_locales/es.d.ts +2 -0
- package/dist/cjs/body/MRT_EditRowModal.d.ts +0 -1
- package/dist/cjs/body/MRT_TableBody.d.ts +1 -2
- package/dist/cjs/body/MRT_TableBodyCellValue.d.ts +2 -2
- package/dist/cjs/buttons/MRT_ColumnPinningButtons.d.ts +0 -1
- package/dist/cjs/buttons/MRT_EditActionButtons.d.ts +0 -1
- package/dist/cjs/buttons/MRT_FullScreenToggleButton.d.ts +0 -1
- package/dist/cjs/buttons/MRT_ShowHideColumnsButton.d.ts +0 -1
- package/dist/cjs/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -1
- package/dist/cjs/buttons/MRT_ToggleFiltersButton.d.ts +0 -1
- package/dist/cjs/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -1
- package/dist/cjs/column.utils.d.ts +12 -1
- package/dist/cjs/index.d.ts +4 -3
- package/dist/cjs/index.js +248 -195
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/inputs/MRT_EditCellTextField.d.ts +0 -1
- package/dist/cjs/inputs/MRT_GlobalFilterTextField.d.ts +0 -1
- package/dist/cjs/menus/MRT_FilterOptionMenu.d.ts +3 -4
- package/dist/cjs/menus/MRT_ShowHideColumnsMenu.d.ts +0 -1
- package/dist/cjs/table/MRT_Table.d.ts +1 -2
- package/dist/cjs/table/MRT_TableRoot.d.ts +250 -3
- package/dist/cjs/toolbar/MRT_TablePagination.d.ts +3 -4
- package/dist/cjs/toolbar/MRT_ToolbarAlertBanner.d.ts +1 -1
- package/dist/cjs/toolbar/MRT_ToolbarInternalButtons.d.ts +3 -4
- package/dist/cjs/toolbar/MRT_TopToolbar.d.ts +1 -0
- package/dist/en.cjs +90 -0
- package/dist/en.cjs.d.ts +2 -0
- package/dist/en.cjs.map +1 -0
- package/dist/en.esm.d.ts +2 -0
- package/dist/en.esm.js +86 -0
- package/dist/en.esm.js.map +1 -0
- package/dist/esm/MaterialReactTable.d.ts +100 -21
- package/dist/esm/_locales/en.d.ts +2 -0
- package/dist/esm/_locales/es.d.ts +2 -0
- package/dist/esm/body/MRT_EditRowModal.d.ts +0 -1
- package/dist/esm/body/MRT_TableBody.d.ts +1 -2
- package/dist/esm/body/MRT_TableBodyCellValue.d.ts +2 -2
- package/dist/esm/buttons/MRT_ColumnPinningButtons.d.ts +0 -1
- package/dist/esm/buttons/MRT_EditActionButtons.d.ts +0 -1
- package/dist/esm/buttons/MRT_FullScreenToggleButton.d.ts +0 -1
- package/dist/esm/buttons/MRT_ShowHideColumnsButton.d.ts +0 -1
- package/dist/esm/buttons/MRT_ToggleDensePaddingButton.d.ts +0 -1
- package/dist/esm/buttons/MRT_ToggleFiltersButton.d.ts +0 -1
- package/dist/esm/buttons/MRT_ToggleGlobalFilterButton.d.ts +0 -1
- package/dist/esm/column.utils.d.ts +12 -1
- package/dist/esm/index.d.ts +4 -3
- package/dist/esm/inputs/MRT_EditCellTextField.d.ts +0 -1
- package/dist/esm/inputs/MRT_GlobalFilterTextField.d.ts +0 -1
- package/dist/esm/material-react-table.esm.js +249 -198
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/menus/MRT_FilterOptionMenu.d.ts +3 -4
- package/dist/esm/menus/MRT_ShowHideColumnsMenu.d.ts +0 -1
- package/dist/esm/table/MRT_Table.d.ts +1 -2
- package/dist/esm/table/MRT_TableRoot.d.ts +250 -3
- package/dist/esm/toolbar/MRT_TablePagination.d.ts +3 -4
- package/dist/esm/toolbar/MRT_ToolbarAlertBanner.d.ts +1 -1
- package/dist/esm/toolbar/MRT_ToolbarInternalButtons.d.ts +3 -4
- package/dist/esm/toolbar/MRT_TopToolbar.d.ts +1 -0
- package/dist/index.d.ts +51 -43
- package/package.json +7 -6
- package/src/MaterialReactTable.tsx +105 -24
- package/src/_locales/de.ts +0 -0
- package/src/{localization.ts → _locales/en.ts} +4 -82
- package/src/_locales/es.ts +86 -0
- package/src/_locales/fr.ts +0 -0
- package/src/_locales/hi.ts +0 -0
- package/src/_locales/id.ts +0 -0
- package/src/_locales/ja.ts +0 -0
- package/src/_locales/nl.ts +0 -0
- package/src/_locales/pt.ts +0 -0
- package/src/_locales/ru.ts +0 -0
- package/src/_locales/uk.ts +0 -0
- package/src/_locales/vi.ts +0 -0
- package/src/_locales/zh.ts +0 -0
- package/src/body/MRT_TableBody.tsx +54 -30
- package/src/body/MRT_TableBodyCell.tsx +12 -59
- package/src/body/MRT_TableBodyCellValue.tsx +7 -2
- package/src/body/MRT_TableBodyRowGrabHandle.tsx +5 -8
- package/src/buttons/MRT_GrabHandleButton.tsx +2 -2
- package/src/buttons/MRT_ToggleGlobalFilterButton.tsx +7 -2
- package/src/column.utils.ts +72 -0
- package/src/footer/MRT_TableFooter.tsx +3 -2
- package/src/footer/MRT_TableFooterCell.tsx +5 -15
- package/src/head/MRT_TableHead.tsx +10 -2
- package/src/head/MRT_TableHeadCell.tsx +9 -50
- package/src/head/MRT_TableHeadCellFilterLabel.tsx +7 -7
- package/src/head/MRT_TableHeadCellGrabHandle.tsx +5 -12
- package/src/index.tsx +6 -3
- package/src/inputs/MRT_FilterTextField.tsx +12 -4
- package/src/inputs/MRT_GlobalFilterTextField.tsx +18 -5
- package/src/menus/MRT_FilterOptionMenu.tsx +19 -2
- package/src/table/MRT_Table.tsx +3 -4
- package/src/table/MRT_TableContainer.tsx +2 -11
- package/src/table/MRT_TablePaper.tsx +34 -20
- package/src/table/MRT_TableRoot.tsx +34 -11
- package/src/toolbar/MRT_BottomToolbar.tsx +9 -3
- package/src/toolbar/MRT_TablePagination.tsx +8 -5
- package/src/toolbar/MRT_ToolbarAlertBanner.tsx +7 -1
- package/src/toolbar/MRT_ToolbarInternalButtons.tsx +8 -4
- package/src/toolbar/MRT_TopToolbar.tsx +8 -1
- package/dist/cjs/localization.d.ts +0 -82
- package/dist/esm/localization.d.ts +0 -82
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React, {
|
|
2
2
|
Dispatch,
|
|
3
|
-
DragEvent,
|
|
4
3
|
MutableRefObject,
|
|
5
4
|
ReactNode,
|
|
6
5
|
SetStateAction,
|
|
@@ -45,12 +44,96 @@ import type { Options as VirtualizerOptions, VirtualItem } from 'react-virtual';
|
|
|
45
44
|
import { MRT_AggregationFns } from './aggregationFns';
|
|
46
45
|
import { MRT_Default_Icons, MRT_Icons } from './icons';
|
|
47
46
|
import { MRT_FilterFns } from './filterFns';
|
|
48
|
-
import {
|
|
47
|
+
import { MRT_Localization_EN } from './_locales/en';
|
|
49
48
|
import { MRT_SortingFns } from './sortingFns';
|
|
50
49
|
import { MRT_TableRoot } from './table/MRT_TableRoot';
|
|
51
50
|
|
|
52
51
|
type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
|
|
53
52
|
|
|
53
|
+
export interface MRT_Localization {
|
|
54
|
+
actions: string;
|
|
55
|
+
and: string;
|
|
56
|
+
cancel: string;
|
|
57
|
+
changeFilterMode: string;
|
|
58
|
+
changeSearchMode: string;
|
|
59
|
+
clearFilter: string;
|
|
60
|
+
clearSearch: string;
|
|
61
|
+
clearSort: string;
|
|
62
|
+
clickToCopy: string;
|
|
63
|
+
columnActions: string;
|
|
64
|
+
copiedToClipboard: string;
|
|
65
|
+
dropToGroupBy: string;
|
|
66
|
+
edit: string;
|
|
67
|
+
expand: string;
|
|
68
|
+
expandAll: string;
|
|
69
|
+
filterArrIncludes: string;
|
|
70
|
+
filterArrIncludesAll: string;
|
|
71
|
+
filterArrIncludesSome: string;
|
|
72
|
+
filterBetween: string;
|
|
73
|
+
filterBetweenInclusive: string;
|
|
74
|
+
filterByColumn: string;
|
|
75
|
+
filterContains: string;
|
|
76
|
+
filterEmpty: string;
|
|
77
|
+
filterEndsWith: string;
|
|
78
|
+
filterEquals: string;
|
|
79
|
+
filterEqualsString: string;
|
|
80
|
+
filterFuzzy: string;
|
|
81
|
+
filterGreaterThan: string;
|
|
82
|
+
filterGreaterThanOrEqualTo: string;
|
|
83
|
+
filterInNumberRange: string;
|
|
84
|
+
filterIncludesString: string;
|
|
85
|
+
filterIncludesStringSensitive: string;
|
|
86
|
+
filterLessThan: string;
|
|
87
|
+
filterLessThanOrEqualTo: string;
|
|
88
|
+
filterMode: string;
|
|
89
|
+
filterNotEmpty: string;
|
|
90
|
+
filterNotEquals: string;
|
|
91
|
+
filterStartsWith: string;
|
|
92
|
+
filterWeakEquals: string;
|
|
93
|
+
filteringByColumn: string;
|
|
94
|
+
grab: string;
|
|
95
|
+
groupByColumn: string;
|
|
96
|
+
groupedBy: string;
|
|
97
|
+
hideAll: string;
|
|
98
|
+
hideColumn: string;
|
|
99
|
+
max: string;
|
|
100
|
+
min: string;
|
|
101
|
+
move: string;
|
|
102
|
+
noRecordsToDisplay: string;
|
|
103
|
+
noResultsFound: string;
|
|
104
|
+
or: string;
|
|
105
|
+
pinToLeft: string;
|
|
106
|
+
pinToRight: string;
|
|
107
|
+
resetColumnSize: string;
|
|
108
|
+
resetOrder: string;
|
|
109
|
+
rowActions: string;
|
|
110
|
+
rowNumber: string;
|
|
111
|
+
rowNumbers: string;
|
|
112
|
+
save: string;
|
|
113
|
+
search: string;
|
|
114
|
+
select: string;
|
|
115
|
+
selectedCountOfRowCountRowsSelected: string;
|
|
116
|
+
showAll: string;
|
|
117
|
+
showAllColumns: string;
|
|
118
|
+
showHideColumns: string;
|
|
119
|
+
showHideFilters: string;
|
|
120
|
+
showHideSearch: string;
|
|
121
|
+
sortByColumnAsc: string;
|
|
122
|
+
sortByColumnDesc: string;
|
|
123
|
+
sortedByColumnAsc: string;
|
|
124
|
+
sortedByColumnDesc: string;
|
|
125
|
+
thenBy: string;
|
|
126
|
+
toggleDensity: string;
|
|
127
|
+
toggleFullScreen: string;
|
|
128
|
+
toggleSelectAll: string;
|
|
129
|
+
toggleSelectRow: string;
|
|
130
|
+
toggleVisibility: string;
|
|
131
|
+
ungroupByColumn: string;
|
|
132
|
+
unpin: string;
|
|
133
|
+
unpinAll: string;
|
|
134
|
+
unsorted: string;
|
|
135
|
+
}
|
|
136
|
+
|
|
54
137
|
export interface MRT_RowModel<TData extends Record<string, any> = {}> {
|
|
55
138
|
flatRows: MRT_Row<TData>[];
|
|
56
139
|
rows: MRT_Row<TData>[];
|
|
@@ -101,6 +184,7 @@ export type MRT_TableInstance<TData extends Record<string, any> = {}> = Omit<
|
|
|
101
184
|
filterInputRefs: MutableRefObject<Record<string, HTMLInputElement>>;
|
|
102
185
|
searchInputRef: MutableRefObject<HTMLInputElement>;
|
|
103
186
|
tableContainerRef: MutableRefObject<HTMLDivElement>;
|
|
187
|
+
tablePaperRef: MutableRefObject<HTMLDivElement>;
|
|
104
188
|
topToolbarRef: MutableRefObject<HTMLDivElement>;
|
|
105
189
|
};
|
|
106
190
|
setColumnFilterFns: Dispatch<
|
|
@@ -314,10 +398,14 @@ export type MRT_ColumnDef<TData extends Record<string, any> = {}> = Omit<
|
|
|
314
398
|
| TableCellProps
|
|
315
399
|
| (({
|
|
316
400
|
cell,
|
|
401
|
+
column,
|
|
402
|
+
row,
|
|
317
403
|
table,
|
|
318
404
|
}: {
|
|
319
|
-
table: MRT_TableInstance<TData>;
|
|
320
405
|
cell: MRT_Cell<TData>;
|
|
406
|
+
column: MRT_Column<TData>;
|
|
407
|
+
row: MRT_Row<TData>;
|
|
408
|
+
table: MRT_TableInstance<TData>;
|
|
321
409
|
}) => TableCellProps);
|
|
322
410
|
muiTableFooterCellProps?:
|
|
323
411
|
| TableCellProps
|
|
@@ -541,6 +629,7 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> =
|
|
|
541
629
|
muiExpandButtonProps?:
|
|
542
630
|
| IconButtonProps
|
|
543
631
|
| (({
|
|
632
|
+
row,
|
|
544
633
|
table,
|
|
545
634
|
}: {
|
|
546
635
|
table: MRT_TableInstance<TData>;
|
|
@@ -612,11 +701,15 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> =
|
|
|
612
701
|
muiTableBodyCellSkeletonProps?:
|
|
613
702
|
| SkeletonProps
|
|
614
703
|
| (({
|
|
615
|
-
table,
|
|
616
704
|
cell,
|
|
705
|
+
column,
|
|
706
|
+
row,
|
|
707
|
+
table,
|
|
617
708
|
}: {
|
|
618
|
-
table: MRT_TableInstance<TData>;
|
|
619
709
|
cell: MRT_Cell<TData>;
|
|
710
|
+
column: MRT_Column<TData>;
|
|
711
|
+
row: MRT_Row<TData>;
|
|
712
|
+
table: MRT_TableInstance<TData>;
|
|
620
713
|
}) => SkeletonProps);
|
|
621
714
|
muiTableBodyProps?:
|
|
622
715
|
| TableBodyProps
|
|
@@ -748,15 +841,6 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> =
|
|
|
748
841
|
muiTopToolbarProps?:
|
|
749
842
|
| ToolbarProps
|
|
750
843
|
| (({ table }: { table: MRT_TableInstance<TData> }) => ToolbarProps);
|
|
751
|
-
onColumnDrop?: ({
|
|
752
|
-
event,
|
|
753
|
-
draggedColumn,
|
|
754
|
-
targetColumn,
|
|
755
|
-
}: {
|
|
756
|
-
event: DragEvent<HTMLButtonElement>;
|
|
757
|
-
draggedColumn: MRT_Column<TData>;
|
|
758
|
-
targetColumn: MRT_Column<TData> | { id: string } | null;
|
|
759
|
-
}) => void;
|
|
760
844
|
onDensityChange?: OnChangeFn<boolean>;
|
|
761
845
|
onDraggingColumnChange?: OnChangeFn<MRT_Column<TData> | null>;
|
|
762
846
|
onDraggingRowChange?: OnChangeFn<MRT_Row<TData> | null>;
|
|
@@ -778,15 +862,6 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> =
|
|
|
778
862
|
onHoveredColumnChange?: OnChangeFn<MRT_Column<TData> | null>;
|
|
779
863
|
onHoveredRowChange?: OnChangeFn<MRT_Row<TData> | null>;
|
|
780
864
|
onIsFullScreenChange?: OnChangeFn<boolean>;
|
|
781
|
-
onRowDrop?: ({
|
|
782
|
-
event,
|
|
783
|
-
draggedRow,
|
|
784
|
-
targetRow,
|
|
785
|
-
}: {
|
|
786
|
-
event: DragEvent<HTMLButtonElement>;
|
|
787
|
-
draggedRow: MRT_Row<TData>;
|
|
788
|
-
targetRow: MRT_Row<TData> | { id: string } | null;
|
|
789
|
-
}) => void;
|
|
790
865
|
onShowAlertBannerChange?: OnChangeFn<boolean>;
|
|
791
866
|
onShowFiltersChange?: OnChangeFn<boolean>;
|
|
792
867
|
onShowGlobalFilterChange?: OnChangeFn<boolean>;
|
|
@@ -796,6 +871,9 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> =
|
|
|
796
871
|
positionPagination?: 'bottom' | 'top' | 'both';
|
|
797
872
|
positionToolbarAlertBanner?: 'bottom' | 'top' | 'none';
|
|
798
873
|
positionToolbarDropZone?: 'bottom' | 'top' | 'none' | 'both';
|
|
874
|
+
renderBottomToolbar?:
|
|
875
|
+
| ReactNode
|
|
876
|
+
| (({ table }: { table: MRT_TableInstance<TData> }) => ReactNode);
|
|
799
877
|
renderBottomToolbarCustomActions?: ({
|
|
800
878
|
table,
|
|
801
879
|
}: {
|
|
@@ -860,6 +938,9 @@ export type MaterialReactTableProps<TData extends Record<string, any> = {}> =
|
|
|
860
938
|
}: {
|
|
861
939
|
table: MRT_TableInstance<TData>;
|
|
862
940
|
}) => ReactNode;
|
|
941
|
+
renderTopToolbar?:
|
|
942
|
+
| ReactNode
|
|
943
|
+
| (({ table }: { table: MRT_TableInstance<TData> }) => ReactNode);
|
|
863
944
|
renderTopToolbarCustomActions?: ({
|
|
864
945
|
table,
|
|
865
946
|
}: {
|
|
@@ -989,7 +1070,7 @@ export default <TData extends Record<string, any> = {}>({
|
|
|
989
1070
|
enableTopToolbar={enableTopToolbar}
|
|
990
1071
|
filterFns={{ ...MRT_FilterFns, ...filterFns }}
|
|
991
1072
|
icons={{ ...MRT_Default_Icons, ...icons }}
|
|
992
|
-
localization={{ ...
|
|
1073
|
+
localization={{ ...MRT_Localization_EN, ...localization }}
|
|
993
1074
|
positionActionsColumn={positionActionsColumn}
|
|
994
1075
|
positionExpandColumn={positionExpandColumn}
|
|
995
1076
|
positionGlobalFilter={positionGlobalFilter}
|
|
File without changes
|
|
@@ -1,86 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
actions: string;
|
|
3
|
-
and: string;
|
|
4
|
-
cancel: string;
|
|
5
|
-
changeFilterMode: string;
|
|
6
|
-
changeSearchMode: string;
|
|
7
|
-
clearFilter: string;
|
|
8
|
-
clearSearch: string;
|
|
9
|
-
clearSort: string;
|
|
10
|
-
clickToCopy: string;
|
|
11
|
-
columnActions: string;
|
|
12
|
-
copiedToClipboard: string;
|
|
13
|
-
dropToGroupBy: string;
|
|
14
|
-
edit: string;
|
|
15
|
-
expand: string;
|
|
16
|
-
expandAll: string;
|
|
17
|
-
filterArrIncludes: string;
|
|
18
|
-
filterArrIncludesAll: string;
|
|
19
|
-
filterArrIncludesSome: string;
|
|
20
|
-
filterBetween: string;
|
|
21
|
-
filterBetweenInclusive: string;
|
|
22
|
-
filterByColumn: string;
|
|
23
|
-
filterContains: string;
|
|
24
|
-
filterEmpty: string;
|
|
25
|
-
filterEndsWith: string;
|
|
26
|
-
filterEquals: string;
|
|
27
|
-
filterEqualsString: string;
|
|
28
|
-
filterFuzzy: string;
|
|
29
|
-
filterGreaterThan: string;
|
|
30
|
-
filterGreaterThanOrEqualTo: string;
|
|
31
|
-
filterInNumberRange: string;
|
|
32
|
-
filterIncludesString: string;
|
|
33
|
-
filterIncludesStringSensitive: string;
|
|
34
|
-
filterLessThan: string;
|
|
35
|
-
filterLessThanOrEqualTo: string;
|
|
36
|
-
filterMode: string;
|
|
37
|
-
filterNotEmpty: string;
|
|
38
|
-
filterNotEquals: string;
|
|
39
|
-
filterStartsWith: string;
|
|
40
|
-
filterWeakEquals: string;
|
|
41
|
-
filteringByColumn: string;
|
|
42
|
-
grab: string;
|
|
43
|
-
groupByColumn: string;
|
|
44
|
-
groupedBy: string;
|
|
45
|
-
hideAll: string;
|
|
46
|
-
hideColumn: string;
|
|
47
|
-
max: string;
|
|
48
|
-
min: string;
|
|
49
|
-
move: string;
|
|
50
|
-
or: string;
|
|
51
|
-
pinToLeft: string;
|
|
52
|
-
pinToRight: string;
|
|
53
|
-
resetColumnSize: string;
|
|
54
|
-
resetOrder: string;
|
|
55
|
-
rowActions: string;
|
|
56
|
-
rowNumber: string;
|
|
57
|
-
rowNumbers: string;
|
|
58
|
-
save: string;
|
|
59
|
-
search: string;
|
|
60
|
-
select: string;
|
|
61
|
-
selectedCountOfRowCountRowsSelected: string;
|
|
62
|
-
showAll: string;
|
|
63
|
-
showAllColumns: string;
|
|
64
|
-
showHideColumns: string;
|
|
65
|
-
showHideFilters: string;
|
|
66
|
-
showHideSearch: string;
|
|
67
|
-
sortByColumnAsc: string;
|
|
68
|
-
sortByColumnDesc: string;
|
|
69
|
-
sortedByColumnAsc: string;
|
|
70
|
-
sortedByColumnDesc: string;
|
|
71
|
-
thenBy: string;
|
|
72
|
-
toggleDensity: string;
|
|
73
|
-
toggleFullScreen: string;
|
|
74
|
-
toggleSelectAll: string;
|
|
75
|
-
toggleSelectRow: string;
|
|
76
|
-
toggleVisibility: string;
|
|
77
|
-
ungroupByColumn: string;
|
|
78
|
-
unpin: string;
|
|
79
|
-
unpinAll: string;
|
|
80
|
-
unsorted: string;
|
|
81
|
-
}
|
|
1
|
+
import { MRT_Localization } from '../MaterialReactTable';
|
|
82
2
|
|
|
83
|
-
export const
|
|
3
|
+
export const MRT_Localization_EN: MRT_Localization = {
|
|
84
4
|
actions: 'Actions',
|
|
85
5
|
and: 'and',
|
|
86
6
|
cancel: 'Cancel',
|
|
@@ -129,6 +49,8 @@ export const MRT_DefaultLocalization_EN: MRT_Localization = {
|
|
|
129
49
|
max: 'Max',
|
|
130
50
|
min: 'Min',
|
|
131
51
|
move: 'Move',
|
|
52
|
+
noRecordsToDisplay: 'No records to display',
|
|
53
|
+
noResultsFound: 'No results found',
|
|
132
54
|
or: 'or',
|
|
133
55
|
pinToLeft: 'Pin to left',
|
|
134
56
|
pinToRight: 'Pin to right',
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { MRT_Localization } from '../MaterialReactTable';
|
|
2
|
+
|
|
3
|
+
export const MRT_Localization_ES: MRT_Localization = {
|
|
4
|
+
actions: 'Actions',
|
|
5
|
+
and: 'and',
|
|
6
|
+
cancel: 'Cancel',
|
|
7
|
+
changeFilterMode: 'Change filter mode',
|
|
8
|
+
changeSearchMode: 'Change search mode',
|
|
9
|
+
clearFilter: 'Clear filter',
|
|
10
|
+
clearSearch: 'Clear search',
|
|
11
|
+
clearSort: 'Clear sort',
|
|
12
|
+
clickToCopy: 'Click to copy',
|
|
13
|
+
columnActions: 'Column Actions',
|
|
14
|
+
copiedToClipboard: 'Copied to clipboard',
|
|
15
|
+
dropToGroupBy: 'Drop to group by {column}',
|
|
16
|
+
edit: 'Edit',
|
|
17
|
+
expand: 'Expand',
|
|
18
|
+
expandAll: 'Expand all',
|
|
19
|
+
filterArrIncludes: 'Includes',
|
|
20
|
+
filterArrIncludesAll: 'Includes all',
|
|
21
|
+
filterArrIncludesSome: 'Includes',
|
|
22
|
+
filterBetween: 'Between',
|
|
23
|
+
filterBetweenInclusive: 'Between Inclusive',
|
|
24
|
+
filterByColumn: 'Filter by {column}',
|
|
25
|
+
filterContains: 'Contains',
|
|
26
|
+
filterEmpty: 'Empty',
|
|
27
|
+
filterEndsWith: 'Ends With',
|
|
28
|
+
filterEquals: 'Equals',
|
|
29
|
+
filterEqualsString: 'Equals',
|
|
30
|
+
filterFuzzy: 'Fuzzy',
|
|
31
|
+
filterGreaterThan: 'Greater Than',
|
|
32
|
+
filterGreaterThanOrEqualTo: 'Greater Than Or Equal To',
|
|
33
|
+
filterInNumberRange: 'Between',
|
|
34
|
+
filterIncludesString: 'Contains',
|
|
35
|
+
filterIncludesStringSensitive: 'Contains',
|
|
36
|
+
filterLessThan: 'Less Than',
|
|
37
|
+
filterLessThanOrEqualTo: 'Less Than Or Equal To',
|
|
38
|
+
filterMode: 'Filter Mode: {filterType}',
|
|
39
|
+
filterNotEmpty: 'Not Empty',
|
|
40
|
+
filterNotEquals: 'Not Equals',
|
|
41
|
+
filterStartsWith: 'Starts With',
|
|
42
|
+
filterWeakEquals: 'Equals',
|
|
43
|
+
filteringByColumn: 'Filtering by {column} - {filterType} {filterValue}',
|
|
44
|
+
grab: 'Grab',
|
|
45
|
+
groupByColumn: 'Group by {column}',
|
|
46
|
+
groupedBy: 'Grouped by ',
|
|
47
|
+
hideAll: 'Hide all',
|
|
48
|
+
hideColumn: 'Hide {column} column',
|
|
49
|
+
max: 'Max',
|
|
50
|
+
min: 'Min',
|
|
51
|
+
move: 'Move',
|
|
52
|
+
noRecordsToDisplay: 'No records to display',
|
|
53
|
+
noResultsFound: 'No results found',
|
|
54
|
+
or: 'or',
|
|
55
|
+
pinToLeft: 'Pin to left',
|
|
56
|
+
pinToRight: 'Pin to right',
|
|
57
|
+
resetColumnSize: 'Reset column size',
|
|
58
|
+
resetOrder: 'Reset order',
|
|
59
|
+
rowActions: 'Row Actions',
|
|
60
|
+
rowNumber: '#',
|
|
61
|
+
rowNumbers: 'Row Numbers',
|
|
62
|
+
save: 'Save',
|
|
63
|
+
search: 'Search',
|
|
64
|
+
selectedCountOfRowCountRowsSelected:
|
|
65
|
+
'{selectedCount} of {rowCount} row(s) selected',
|
|
66
|
+
select: 'Select',
|
|
67
|
+
showAll: 'Show all',
|
|
68
|
+
showAllColumns: 'Show all columns',
|
|
69
|
+
showHideColumns: 'Show/Hide columns',
|
|
70
|
+
showHideFilters: 'Show/Hide filters',
|
|
71
|
+
showHideSearch: 'Show/Hide search',
|
|
72
|
+
sortByColumnAsc: 'Sort by {column} ascending',
|
|
73
|
+
sortByColumnDesc: 'Sort by {column} descending',
|
|
74
|
+
sortedByColumnAsc: 'Sorted by {column} ascending',
|
|
75
|
+
sortedByColumnDesc: 'Sorted by {column} descending',
|
|
76
|
+
thenBy: ', then by ',
|
|
77
|
+
toggleDensity: 'Toggle density',
|
|
78
|
+
toggleFullScreen: 'Toggle full screen',
|
|
79
|
+
toggleSelectAll: 'Toggle select all',
|
|
80
|
+
toggleSelectRow: 'Toggle select row',
|
|
81
|
+
toggleVisibility: 'Toggle visibility',
|
|
82
|
+
ungroupByColumn: 'Ungroup by {column}',
|
|
83
|
+
unpin: 'Unpin',
|
|
84
|
+
unpinAll: 'Unpin all',
|
|
85
|
+
unsorted: 'Unsorted',
|
|
86
|
+
};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import React, { FC,
|
|
1
|
+
import React, { FC, useMemo } from 'react';
|
|
2
2
|
import { useVirtual } from 'react-virtual'; //stuck on v2 for now
|
|
3
3
|
// import { useVirtualizer, Virtualizer } from '@tanstack/react-virtual';
|
|
4
|
-
import { TableBody } from '@mui/material';
|
|
4
|
+
import { TableBody, Typography } from '@mui/material';
|
|
5
5
|
import { MRT_TableBodyRow } from './MRT_TableBodyRow';
|
|
6
6
|
import { rankGlobalFuzzy } from '../sortingFns';
|
|
7
7
|
import type { MRT_Row, MRT_TableInstance } from '..';
|
|
8
8
|
|
|
9
9
|
interface Props {
|
|
10
10
|
table: MRT_TableInstance;
|
|
11
|
-
tableContainerRef: RefObject<HTMLDivElement>;
|
|
12
11
|
}
|
|
13
12
|
|
|
14
|
-
export const MRT_TableBody: FC<Props> = ({ table
|
|
13
|
+
export const MRT_TableBody: FC<Props> = ({ table }) => {
|
|
15
14
|
const {
|
|
16
15
|
getRowModel,
|
|
17
16
|
getPrePaginationRowModel,
|
|
@@ -20,14 +19,16 @@ export const MRT_TableBody: FC<Props> = ({ table, tableContainerRef }) => {
|
|
|
20
19
|
enableGlobalFilterRankedResults,
|
|
21
20
|
enablePagination,
|
|
22
21
|
enableRowVirtualization,
|
|
22
|
+
localization,
|
|
23
23
|
manualFiltering,
|
|
24
24
|
manualSorting,
|
|
25
25
|
muiTableBodyProps,
|
|
26
26
|
virtualizerInstanceRef,
|
|
27
27
|
virtualizerProps,
|
|
28
28
|
},
|
|
29
|
+
refs: { tableContainerRef, tablePaperRef },
|
|
29
30
|
} = table;
|
|
30
|
-
const { globalFilter, pagination, sorting } = getState();
|
|
31
|
+
const { columnFilters, globalFilter, pagination, sorting } = getState();
|
|
31
32
|
|
|
32
33
|
const tableBodyProps =
|
|
33
34
|
muiTableBodyProps instanceof Function
|
|
@@ -116,33 +117,56 @@ export const MRT_TableBody: FC<Props> = ({ table, tableContainerRef }) => {
|
|
|
116
117
|
|
|
117
118
|
return (
|
|
118
119
|
<TableBody {...tableBodyProps}>
|
|
119
|
-
{
|
|
120
|
+
{!rows.length ? (
|
|
120
121
|
<tr>
|
|
121
|
-
<td
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
virtualRow={enableRowVirtualization ? rowOrVirtualRow : null}
|
|
138
|
-
/>
|
|
139
|
-
);
|
|
140
|
-
},
|
|
141
|
-
)}
|
|
142
|
-
{enableRowVirtualization && paddingBottom > 0 && (
|
|
143
|
-
<tr>
|
|
144
|
-
<td style={{ height: `${paddingBottom}px` }} />
|
|
122
|
+
<td colSpan={table.getVisibleLeafColumns().length}>
|
|
123
|
+
<Typography
|
|
124
|
+
sx={{
|
|
125
|
+
color: 'text.secondary',
|
|
126
|
+
fontStyle: 'italic',
|
|
127
|
+
maxWidth: `min(100vw, ${tablePaperRef.current?.clientWidth}px)`,
|
|
128
|
+
py: '2rem',
|
|
129
|
+
textAlign: 'center',
|
|
130
|
+
width: '100%',
|
|
131
|
+
}}
|
|
132
|
+
>
|
|
133
|
+
{globalFilter || columnFilters.length
|
|
134
|
+
? localization.noResultsFound
|
|
135
|
+
: localization.noRecordsToDisplay}
|
|
136
|
+
</Typography>
|
|
137
|
+
</td>
|
|
145
138
|
</tr>
|
|
139
|
+
) : (
|
|
140
|
+
<>
|
|
141
|
+
{enableRowVirtualization && paddingTop > 0 && (
|
|
142
|
+
<tr>
|
|
143
|
+
<td style={{ height: `${paddingTop}px` }} />
|
|
144
|
+
</tr>
|
|
145
|
+
)}
|
|
146
|
+
{(enableRowVirtualization ? virtualRows : rows).map(
|
|
147
|
+
(rowOrVirtualRow: any, rowIndex: number) => {
|
|
148
|
+
const row = enableRowVirtualization
|
|
149
|
+
? (rows[rowOrVirtualRow.index] as MRT_Row)
|
|
150
|
+
: (rowOrVirtualRow as MRT_Row);
|
|
151
|
+
return (
|
|
152
|
+
<MRT_TableBodyRow
|
|
153
|
+
key={row.id}
|
|
154
|
+
row={row}
|
|
155
|
+
rowIndex={
|
|
156
|
+
enableRowVirtualization ? rowOrVirtualRow.index : rowIndex
|
|
157
|
+
}
|
|
158
|
+
table={table}
|
|
159
|
+
virtualRow={enableRowVirtualization ? rowOrVirtualRow : null}
|
|
160
|
+
/>
|
|
161
|
+
);
|
|
162
|
+
},
|
|
163
|
+
)}
|
|
164
|
+
{enableRowVirtualization && paddingBottom > 0 && (
|
|
165
|
+
<tr>
|
|
166
|
+
<td style={{ height: `${paddingBottom}px` }} />
|
|
167
|
+
</tr>
|
|
168
|
+
)}
|
|
169
|
+
</>
|
|
146
170
|
)}
|
|
147
171
|
</TableBody>
|
|
148
172
|
);
|
|
@@ -6,19 +6,13 @@ import React, {
|
|
|
6
6
|
useEffect,
|
|
7
7
|
useState,
|
|
8
8
|
} from 'react';
|
|
9
|
-
import {
|
|
10
|
-
alpha,
|
|
11
|
-
darken,
|
|
12
|
-
lighten,
|
|
13
|
-
Skeleton,
|
|
14
|
-
TableCell,
|
|
15
|
-
useTheme,
|
|
16
|
-
} from '@mui/material';
|
|
9
|
+
import { darken, lighten, Skeleton, TableCell, useTheme } from '@mui/material';
|
|
17
10
|
import { MRT_EditCellTextField } from '../inputs/MRT_EditCellTextField';
|
|
18
11
|
import { MRT_CopyButton } from '../buttons/MRT_CopyButton';
|
|
19
|
-
import type { MRT_Cell, MRT_TableInstance } from '..';
|
|
20
12
|
import { MRT_TableBodyRowGrabHandle } from './MRT_TableBodyRowGrabHandle';
|
|
21
13
|
import { MRT_TableBodyCellValue } from './MRT_TableBodyCellValue';
|
|
14
|
+
import { getCommonCellStyles } from '../column.utils';
|
|
15
|
+
import type { MRT_Cell, MRT_TableInstance } from '..';
|
|
22
16
|
|
|
23
17
|
interface Props {
|
|
24
18
|
cell: MRT_Cell;
|
|
@@ -74,7 +68,7 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
74
68
|
|
|
75
69
|
const mcTableCellBodyProps =
|
|
76
70
|
columnDef.muiTableBodyCellProps instanceof Function
|
|
77
|
-
? columnDef.muiTableBodyCellProps({ cell, table })
|
|
71
|
+
? columnDef.muiTableBodyCellProps({ cell, column, row, table })
|
|
78
72
|
: columnDef.muiTableBodyCellProps;
|
|
79
73
|
|
|
80
74
|
const tableCellProps = {
|
|
@@ -82,6 +76,11 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
82
76
|
...mcTableCellBodyProps,
|
|
83
77
|
};
|
|
84
78
|
|
|
79
|
+
const skeletonProps =
|
|
80
|
+
muiTableBodyCellSkeletonProps instanceof Function
|
|
81
|
+
? muiTableBodyCellSkeletonProps({ cell, column, row, table })
|
|
82
|
+
: muiTableBodyCellSkeletonProps;
|
|
83
|
+
|
|
85
84
|
const isEditable =
|
|
86
85
|
(enableEditing || columnDef.enableEditing) &&
|
|
87
86
|
columnDef.enableEditing !== false;
|
|
@@ -127,23 +126,6 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
127
126
|
}
|
|
128
127
|
};
|
|
129
128
|
|
|
130
|
-
const getIsLastLeftPinnedColumn = () => {
|
|
131
|
-
return (
|
|
132
|
-
column.getIsPinned() === 'left' &&
|
|
133
|
-
table.getLeftLeafHeaders().length - 1 === column.getPinnedIndex()
|
|
134
|
-
);
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
const getIsFirstRightPinnedColumn = () => {
|
|
138
|
-
return column.getIsPinned() === 'right' && column.getPinnedIndex() === 0;
|
|
139
|
-
};
|
|
140
|
-
|
|
141
|
-
const getTotalRight = () => {
|
|
142
|
-
return (
|
|
143
|
-
(table.getRightLeafHeaders().length - 1 - column.getPinnedIndex()) * 150
|
|
144
|
-
);
|
|
145
|
-
};
|
|
146
|
-
|
|
147
129
|
const handleDragEnter = (e: DragEvent<HTMLTableCellElement>) => {
|
|
148
130
|
tableCellProps?.onDragEnter?.(e);
|
|
149
131
|
if (enableGrouping && hoveredColumn?.id === 'drop-zone') {
|
|
@@ -185,23 +167,7 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
185
167
|
onDragEnter={handleDragEnter}
|
|
186
168
|
onDoubleClick={handleDoubleClick}
|
|
187
169
|
sx={(theme) => ({
|
|
188
|
-
backgroundColor: column.getIsPinned()
|
|
189
|
-
? alpha(lighten(theme.palette.background.default, 0.04), 0.95)
|
|
190
|
-
: undefined,
|
|
191
|
-
boxShadow: getIsLastLeftPinnedColumn()
|
|
192
|
-
? `4px 0 4px -2px ${alpha(theme.palette.common.black, 0.1)}`
|
|
193
|
-
: getIsFirstRightPinnedColumn()
|
|
194
|
-
? `-4px 0 4px -2px ${alpha(theme.palette.common.black, 0.1)}`
|
|
195
|
-
: undefined,
|
|
196
170
|
cursor: isEditable && editingMode === 'cell' ? 'pointer' : 'text',
|
|
197
|
-
left:
|
|
198
|
-
column.getIsPinned() === 'left'
|
|
199
|
-
? `${column.getStart('left')}px`
|
|
200
|
-
: undefined,
|
|
201
|
-
opacity:
|
|
202
|
-
draggingColumn?.id === column.id || hoveredColumn?.id === column.id
|
|
203
|
-
? 0.5
|
|
204
|
-
: 1,
|
|
205
171
|
overflow: 'hidden',
|
|
206
172
|
p:
|
|
207
173
|
density === 'compact'
|
|
@@ -226,18 +192,10 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
226
192
|
: 1.25)
|
|
227
193
|
}rem`
|
|
228
194
|
: undefined,
|
|
229
|
-
position: column.getIsPinned() ? 'sticky' : 'relative',
|
|
230
|
-
right:
|
|
231
|
-
column.getIsPinned() === 'right' ? `${getTotalRight()}px` : undefined,
|
|
232
195
|
textOverflow: columnDefType !== 'display' ? 'ellipsis' : undefined,
|
|
233
|
-
transition: 'all 0.2s ease-in-out',
|
|
234
196
|
whiteSpace: density === 'compact' ? 'nowrap' : 'normal',
|
|
235
197
|
zIndex:
|
|
236
|
-
draggingColumn?.id === column.id
|
|
237
|
-
? 2
|
|
238
|
-
: column.getIsPinned()
|
|
239
|
-
? 1
|
|
240
|
-
: undefined,
|
|
198
|
+
draggingColumn?.id === column.id ? 2 : column.getIsPinned() ? 1 : 0,
|
|
241
199
|
'&:hover': {
|
|
242
200
|
backgroundColor:
|
|
243
201
|
enableHover &&
|
|
@@ -249,13 +207,8 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
249
207
|
: `${darken(theme.palette.background.default, 0.1)} !important`
|
|
250
208
|
: undefined,
|
|
251
209
|
},
|
|
252
|
-
...(tableCellProps
|
|
253
|
-
? tableCellProps.sx(theme)
|
|
254
|
-
: (tableCellProps?.sx as any)),
|
|
210
|
+
...getCommonCellStyles({ column, table, theme, tableCellProps }),
|
|
255
211
|
...draggingBorders,
|
|
256
|
-
maxWidth: `min(${column.getSize()}px, fit-content)`,
|
|
257
|
-
minWidth: `max(${column.getSize()}px, ${columnDef.minSize ?? 30}px)`,
|
|
258
|
-
width: column.getSize(),
|
|
259
212
|
})}
|
|
260
213
|
>
|
|
261
214
|
<>
|
|
@@ -264,7 +217,7 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
264
217
|
animation="wave"
|
|
265
218
|
height={20}
|
|
266
219
|
width={skeletonWidth}
|
|
267
|
-
{...
|
|
220
|
+
{...skeletonProps}
|
|
268
221
|
/>
|
|
269
222
|
) : enableRowNumbers &&
|
|
270
223
|
rowNumberMode === 'static' &&
|