material-react-table 1.2.9 → 1.3.0-beta.1
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/cjs/MaterialReactTable.d.ts +7 -3
- package/dist/cjs/_locales/it.d.ts +2 -0
- package/dist/cjs/column.utils.d.ts +29 -17
- package/dist/cjs/index.js +359 -422
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/table/MRT_TableRoot.d.ts +1 -1
- package/dist/esm/MaterialReactTable.d.ts +7 -3
- package/dist/esm/_locales/it.d.ts +2 -0
- package/dist/esm/column.utils.d.ts +29 -17
- package/dist/esm/material-react-table.esm.js +17 -4
- package/dist/esm/material-react-table.esm.js.map +1 -1
- package/dist/esm/table/MRT_TableRoot.d.ts +1 -1
- package/dist/index.d.ts +19 -4
- package/locales/cs.js +0 -2
- package/locales/cs.js.map +1 -1
- package/locales/de.js +0 -2
- package/locales/de.js.map +1 -1
- package/locales/en.js +0 -2
- package/locales/en.js.map +1 -1
- package/locales/es.js +0 -2
- package/locales/es.js.map +1 -1
- package/locales/it.d.ts +2 -0
- package/locales/it.esm.d.ts +2 -0
- package/locales/it.esm.js +92 -0
- package/locales/it.esm.js.map +1 -0
- package/locales/it.js +94 -0
- package/locales/it.js.map +1 -0
- package/locales/ja.js +0 -2
- package/locales/ja.js.map +1 -1
- package/locales/pl.js +0 -2
- package/locales/pl.js.map +1 -1
- package/locales/pt-BR.js +0 -2
- package/locales/pt-BR.js.map +1 -1
- package/locales/ru.js +0 -2
- package/locales/ru.js.map +1 -1
- package/package.json +16 -15
- package/src/MaterialReactTable.tsx +11 -1
- package/src/_locales/it.ts +92 -0
- package/src/body/MRT_TableBodyCell.tsx +2 -1
- package/src/column.utils.ts +30 -1
- package/src/head/MRT_TableHeadCellColumnActionsButton.tsx +1 -1
- package/src/table/MRT_TableRoot.tsx +2 -1
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { MRT_Localization } from '../MaterialReactTable';
|
|
2
|
+
|
|
3
|
+
export const MRT_Localization_IT: MRT_Localization = {
|
|
4
|
+
actions: 'Azioni',
|
|
5
|
+
and: 'e',
|
|
6
|
+
cancel: 'Cancella',
|
|
7
|
+
changeFilterMode: 'Cambia modalità filtro',
|
|
8
|
+
changeSearchMode: 'Cambia modalita ricerca',
|
|
9
|
+
clearFilter: 'Cancella filtro',
|
|
10
|
+
clearSearch: 'Cancella ricerca',
|
|
11
|
+
clearSort: 'Cancella ordinamento',
|
|
12
|
+
clickToCopy: 'Click per copiare',
|
|
13
|
+
columnActions: 'Azioni colonna',
|
|
14
|
+
copiedToClipboard: 'Copia negli appunti',
|
|
15
|
+
dropToGroupBy: 'Crea gruppo da {column}',
|
|
16
|
+
edit: 'Modifica',
|
|
17
|
+
expand: 'Espandi',
|
|
18
|
+
expandAll: 'Esapndi tutto',
|
|
19
|
+
filterArrIncludes: 'Includi',
|
|
20
|
+
filterArrIncludesAll: 'Includi tutto',
|
|
21
|
+
filterArrIncludesSome: 'Inclusioni',
|
|
22
|
+
filterBetween: 'Tra',
|
|
23
|
+
filterBetweenInclusive: 'Tra inclusioni',
|
|
24
|
+
filterByColumn: 'Filtra da {column}',
|
|
25
|
+
filterContains: 'Contiene',
|
|
26
|
+
filterEmpty: 'Vuoto',
|
|
27
|
+
filterEndsWith: 'Finisce con',
|
|
28
|
+
filterEquals: 'Uguale',
|
|
29
|
+
filterEqualsString: 'Uguale',
|
|
30
|
+
filterFuzzy: 'Sfocato',
|
|
31
|
+
filterGreaterThan: 'Maggiore di',
|
|
32
|
+
filterGreaterThanOrEqualTo: 'Magiorre o uguale a',
|
|
33
|
+
filterInNumberRange: 'Tra',
|
|
34
|
+
filterIncludesString: 'Contiene',
|
|
35
|
+
filterIncludesStringSensitive: 'Contiene',
|
|
36
|
+
filterLessThan: 'Minore di',
|
|
37
|
+
filterLessThanOrEqualTo: 'Minore o uguale a',
|
|
38
|
+
filterMode: 'Modalità filtro: {filterType}',
|
|
39
|
+
filterNotEmpty: 'Non vuoto',
|
|
40
|
+
filterNotEquals: 'Non uguale',
|
|
41
|
+
filterStartsWith: 'Inizia con',
|
|
42
|
+
filterWeakEquals: 'Uguale',
|
|
43
|
+
filteringByColumn: 'Filtrando da {column} - {filterType} {filterValue}',
|
|
44
|
+
goToFirstPage: 'Vai alla prima pagina',
|
|
45
|
+
goToLastPage: 'Vai all\'ultima pagina',
|
|
46
|
+
goToNextPage: 'Vai alla pagina successiva',
|
|
47
|
+
goToPreviousPage: 'Vai alla pagina precedente',
|
|
48
|
+
grab: 'Prendi',
|
|
49
|
+
groupByColumn: 'Raggruppa da {column}',
|
|
50
|
+
groupedBy: 'Raggruppa da ',
|
|
51
|
+
hideAll: 'Nascondi tutto',
|
|
52
|
+
hideColumn: 'Nasconi la colonna {column}',
|
|
53
|
+
max: 'Massimo',
|
|
54
|
+
min: 'Minimo',
|
|
55
|
+
move: 'Sposta',
|
|
56
|
+
noRecordsToDisplay: 'Nessun record da mostrare',
|
|
57
|
+
noResultsFound: 'Nessun risultato trovato',
|
|
58
|
+
of: 'di',
|
|
59
|
+
or: 'o',
|
|
60
|
+
pinToLeft: 'Blocca a sinistra',
|
|
61
|
+
pinToRight: 'Blocca a destra',
|
|
62
|
+
resetColumnSize: 'Resetta dimensione colonna',
|
|
63
|
+
resetOrder: 'Resetta ordine',
|
|
64
|
+
rowActions: 'Azioni riga',
|
|
65
|
+
rowNumber: '#',
|
|
66
|
+
rowNumbers: 'Righe',
|
|
67
|
+
rowsPerPage: 'Righe per pagina',
|
|
68
|
+
save: 'Salva',
|
|
69
|
+
search: 'Cerca',
|
|
70
|
+
selectedCountOfRowCountRowsSelected:
|
|
71
|
+
'{selectedCount} di {rowCount} row(s) selezionate',
|
|
72
|
+
select: 'Seleziona',
|
|
73
|
+
showAll: 'Mostra tutto',
|
|
74
|
+
showAllColumns: 'Mostra tutte le colonne',
|
|
75
|
+
showHideColumns: 'Mostra/Nascondi colonne',
|
|
76
|
+
showHideFilters: 'Mostra/Nascondi filtri',
|
|
77
|
+
showHideSearch: 'Mostra/Nascondi ricerca',
|
|
78
|
+
sortByColumnAsc: 'Ordina da {column} crescente',
|
|
79
|
+
sortByColumnDesc: 'Ordina da {column} decrecente',
|
|
80
|
+
sortedByColumnAsc: 'Ordinato da {column} crescente',
|
|
81
|
+
sortedByColumnDesc: 'Ordinato da {column} decrescente',
|
|
82
|
+
thenBy: ', poi da',
|
|
83
|
+
toggleDensity: 'Cambia densità',
|
|
84
|
+
toggleFullScreen: 'Cambia schermo intero',
|
|
85
|
+
toggleSelectAll: 'Cambia selezione totale',
|
|
86
|
+
toggleSelectRow: 'Cambia selezione riga',
|
|
87
|
+
toggleVisibility: 'Cambia visibilità',
|
|
88
|
+
ungroupByColumn: 'Rimuovi gruppo {column}',
|
|
89
|
+
unpin: 'Sblocca',
|
|
90
|
+
unpinAll: 'Sblocca tutto',
|
|
91
|
+
unsorted: 'Non ordinato',
|
|
92
|
+
};
|
|
@@ -133,7 +133,8 @@ export const MRT_TableBodyCell: FC<Props> = ({
|
|
|
133
133
|
editingMode !== 'modal' &&
|
|
134
134
|
(editingMode === 'table' ||
|
|
135
135
|
editingRow?.id === row.id ||
|
|
136
|
-
editingCell?.id === cell.id)
|
|
136
|
+
editingCell?.id === cell.id) &&
|
|
137
|
+
!row.getIsGrouped();
|
|
137
138
|
|
|
138
139
|
const handleDoubleClick = (event: MouseEvent<HTMLTableCellElement>) => {
|
|
139
140
|
tableCellProps?.onDoubleClick?.(event);
|
package/src/column.utils.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
ColumnOrderState,
|
|
3
|
+
GroupingState,
|
|
4
|
+
Row,
|
|
5
|
+
} from '@tanstack/react-table';
|
|
6
|
+
import { MRT_AggregationFns } from './aggregationFns';
|
|
2
7
|
import { MRT_FilterFns } from './filterFns';
|
|
3
8
|
import { MRT_SortingFns } from './sortingFns';
|
|
4
9
|
import { alpha, lighten } from '@mui/material/styles';
|
|
@@ -38,12 +43,15 @@ export const getAllLeafColumnDefs = <TData extends Record<string, any> = {}>(
|
|
|
38
43
|
};
|
|
39
44
|
|
|
40
45
|
export const prepareColumns = <TData extends Record<string, any> = {}>({
|
|
46
|
+
aggregationFns,
|
|
41
47
|
columnDefs,
|
|
42
48
|
columnFilterFns,
|
|
43
49
|
defaultDisplayColumn,
|
|
44
50
|
filterFns,
|
|
45
51
|
sortingFns,
|
|
46
52
|
}: {
|
|
53
|
+
aggregationFns: typeof MRT_AggregationFns &
|
|
54
|
+
MaterialReactTableProps<TData>['aggregationFns'];
|
|
47
55
|
columnDefs: MRT_ColumnDef<TData>[];
|
|
48
56
|
columnFilterFns: { [key: string]: MRT_FilterOption };
|
|
49
57
|
defaultDisplayColumn: Partial<MRT_ColumnDef<TData>>;
|
|
@@ -52,16 +60,21 @@ export const prepareColumns = <TData extends Record<string, any> = {}>({
|
|
|
52
60
|
MaterialReactTableProps<TData>['sortingFns'];
|
|
53
61
|
}): MRT_DefinedColumnDef<TData>[] =>
|
|
54
62
|
columnDefs.map((columnDef) => {
|
|
63
|
+
//assign columnId
|
|
55
64
|
if (!columnDef.id) columnDef.id = getColumnId(columnDef);
|
|
56
65
|
if (process.env.NODE_ENV !== 'production' && !columnDef.id) {
|
|
57
66
|
console.error(
|
|
58
67
|
'Column definitions must have a valid `accessorKey` or `id` property',
|
|
59
68
|
);
|
|
60
69
|
}
|
|
70
|
+
|
|
71
|
+
//assign columnDefType
|
|
61
72
|
if (!columnDef.columnDefType) columnDef.columnDefType = 'data';
|
|
62
73
|
if (columnDef.columns?.length) {
|
|
63
74
|
columnDef.columnDefType = 'group';
|
|
75
|
+
//recursively prepare columns if this is a group column
|
|
64
76
|
columnDef.columns = prepareColumns({
|
|
77
|
+
aggregationFns,
|
|
65
78
|
columnDefs: columnDef.columns,
|
|
66
79
|
columnFilterFns,
|
|
67
80
|
defaultDisplayColumn,
|
|
@@ -69,12 +82,28 @@ export const prepareColumns = <TData extends Record<string, any> = {}>({
|
|
|
69
82
|
sortingFns,
|
|
70
83
|
});
|
|
71
84
|
} else if (columnDef.columnDefType === 'data') {
|
|
85
|
+
//assign aggregationFns if multiple aggregationFns are provided
|
|
86
|
+
if (Array.isArray(columnDef.aggregationFn)) {
|
|
87
|
+
const aggFns = columnDef.aggregationFn as string[];
|
|
88
|
+
columnDef.aggregationFn = (
|
|
89
|
+
columnId: string,
|
|
90
|
+
leafRows: Row<TData>[],
|
|
91
|
+
childRows: Row<TData>[],
|
|
92
|
+
) =>
|
|
93
|
+
aggFns.map((fn) =>
|
|
94
|
+
aggregationFns[fn]?.(columnId, leafRows, childRows),
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
//assign filterFns
|
|
72
99
|
if (Object.keys(filterFns).includes(columnFilterFns[columnDef.id])) {
|
|
73
100
|
columnDef.filterFn =
|
|
74
101
|
filterFns[columnFilterFns[columnDef.id]] ?? filterFns.fuzzy;
|
|
75
102
|
(columnDef as MRT_DefinedColumnDef)._filterFn =
|
|
76
103
|
columnFilterFns[columnDef.id];
|
|
77
104
|
}
|
|
105
|
+
|
|
106
|
+
//assign sortingFns
|
|
78
107
|
if (Object.keys(sortingFns).includes(columnDef.sortingFn as string)) {
|
|
79
108
|
// @ts-ignore
|
|
80
109
|
columnDef.sortingFn = sortingFns[columnDef.sortingFn];
|
|
@@ -209,6 +209,7 @@ export const MRT_TableRoot = <TData extends Record<string, any> = {}>(
|
|
|
209
209
|
const columnDefs = useMemo(
|
|
210
210
|
() =>
|
|
211
211
|
prepareColumns({
|
|
212
|
+
aggregationFns: props.aggregationFns as any,
|
|
212
213
|
columnDefs: [...displayColumns, ...props.columns],
|
|
213
214
|
columnFilterFns: props.state?.columnFilterFns ?? columnFilterFns,
|
|
214
215
|
defaultDisplayColumn: props.defaultDisplayColumn ?? {},
|
|
@@ -296,7 +297,7 @@ export const MRT_TableRoot = <TData extends Record<string, any> = {}>(
|
|
|
296
297
|
tablePaperRef,
|
|
297
298
|
topToolbarRef,
|
|
298
299
|
},
|
|
299
|
-
setColumnFilterFns: props.
|
|
300
|
+
setColumnFilterFns: props.onColumnFilterFnsChange ?? setColumnFilterFns,
|
|
300
301
|
setDensity: props.onDensityChange ?? setDensity,
|
|
301
302
|
setDraggingColumn: props.onDraggingColumnChange ?? setDraggingColumn,
|
|
302
303
|
setDraggingRow: props.onDraggingRowChange ?? setDraggingRow,
|