@mui/x-data-grid 5.13.0 → 5.13.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/CHANGELOG.md +50 -0
- package/colDef/gridDateOperators.js +4 -2
- package/colDef/gridNumericOperators.js +4 -2
- package/colDef/gridStringOperators.js +4 -2
- package/hooks/features/editRows/useGridCellEditing.new.js +1 -1
- package/hooks/features/editRows/useGridRowEditing.new.js +1 -1
- package/hooks/features/filter/useGridFilter.js +19 -1
- package/hooks/features/virtualization/useGridVirtualScroller.js +14 -3
- package/index.js +1 -1
- package/legacy/colDef/gridDateOperators.js +4 -2
- package/legacy/colDef/gridNumericOperators.js +4 -2
- package/legacy/colDef/gridStringOperators.js +4 -2
- package/legacy/hooks/features/editRows/useGridCellEditing.new.js +1 -1
- package/legacy/hooks/features/editRows/useGridRowEditing.new.js +1 -1
- package/legacy/hooks/features/filter/useGridFilter.js +19 -1
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +19 -8
- package/legacy/index.js +1 -1
- package/legacy/locales/deDE.js +4 -4
- package/legacy/locales/frFR.js +11 -11
- package/legacy/locales/nlNL.js +15 -15
- package/legacy/locales/ptBR.js +11 -11
- package/legacy/locales/roRO.js +4 -4
- package/locales/deDE.js +4 -4
- package/locales/frFR.js +11 -11
- package/locales/nlNL.js +15 -15
- package/locales/ptBR.js +11 -11
- package/locales/roRO.js +4 -4
- package/models/gridFilterOperator.d.ts +6 -0
- package/modern/colDef/gridDateOperators.js +4 -2
- package/modern/colDef/gridNumericOperators.js +4 -2
- package/modern/colDef/gridStringOperators.js +4 -2
- package/modern/hooks/features/editRows/useGridCellEditing.new.js +1 -1
- package/modern/hooks/features/editRows/useGridRowEditing.new.js +1 -1
- package/modern/hooks/features/filter/useGridFilter.js +17 -1
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +10 -3
- package/modern/index.js +1 -1
- package/modern/locales/deDE.js +4 -4
- package/modern/locales/frFR.js +11 -11
- package/modern/locales/nlNL.js +15 -15
- package/modern/locales/ptBR.js +11 -11
- package/modern/locales/roRO.js +4 -4
- package/node/colDef/gridDateOperators.js +4 -2
- package/node/colDef/gridNumericOperators.js +4 -2
- package/node/colDef/gridStringOperators.js +4 -2
- package/node/hooks/features/editRows/useGridCellEditing.new.js +1 -1
- package/node/hooks/features/editRows/useGridRowEditing.new.js +1 -1
- package/node/hooks/features/filter/useGridFilter.js +19 -1
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +14 -3
- package/node/index.js +1 -1
- package/node/locales/deDE.js +4 -4
- package/node/locales/frFR.js +11 -11
- package/node/locales/nlNL.js +15 -15
- package/node/locales/ptBR.js +11 -11
- package/node/locales/roRO.js +4 -4
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,56 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## 5.13.1
|
|
7
|
+
|
|
8
|
+
_Jul 15, 2022_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 13 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- ✏️ Enter edit mode when pasting in a cell with Ctrl+V (Cmd+V on macOS) (#5405) @alexfauquette
|
|
13
|
+
- 🌍 Many improvements to the locales
|
|
14
|
+
- 📚 Documentation improvements
|
|
15
|
+
- 🐞 Bugfixes
|
|
16
|
+
|
|
17
|
+
### `@mui/x-data-grid@v5.13.1` / `@mui/x-data-grid-pro@v5.13.1` / `@mui/x-data-grid-premium@v5.13.1`
|
|
18
|
+
|
|
19
|
+
#### Changes
|
|
20
|
+
|
|
21
|
+
- [DataGrid] Fix blank space when using dynamic row height with pagination (#5315) @m4theushw
|
|
22
|
+
- [DataGrid] Start editing with uppercase letter and Ctrl+V (#5405) @alexfauquette
|
|
23
|
+
- [DataGrid] Fix some filters being removed from filter model on filter panel open (#5403) @cherniavskii
|
|
24
|
+
- [DataGridPro] Improve pinned column headers accessibility (#5370) @cherniavskii
|
|
25
|
+
- [l10n] Improve Dutch (nl-NL) locale (#5464) @developenguin
|
|
26
|
+
- [l10n] Improve French (fr-FR) locale (#3211) (#5420) @Zenoo
|
|
27
|
+
- [l10n] Improve German (de-DE) locale (#5448) @sebastianfrey
|
|
28
|
+
- [l10n] Improve Brazilian Portuguese (pt-BR) locale (#5394) @andrepxa
|
|
29
|
+
- [l10n] Improve Romanian (ro-RO) locale (#5449) @rolule
|
|
30
|
+
|
|
31
|
+
### `@mui/x-date-pickers@v5.0.0-beta.1` / `@mui/x-date-picker-pro@5.0.0-beta.1`
|
|
32
|
+
|
|
33
|
+
#### Changes
|
|
34
|
+
|
|
35
|
+
- [pickers] Add Italian (it-IT) locale (#5467) @felixh10r
|
|
36
|
+
- [pickers] Add Spanish (es-ES) locale (#5468) @felixh10r
|
|
37
|
+
- [pickers] Improve French (fr-FR) locale (#5446) @Zenoo
|
|
38
|
+
- [pickers] Improve German (de-DE) locale (#5447) @sebastianfrey
|
|
39
|
+
|
|
40
|
+
### Docs
|
|
41
|
+
|
|
42
|
+
- [docs] Fix typo in the sorting page (#5431) @JosephMarinier
|
|
43
|
+
- [docs] Fix description for "Striped rows" example (#5432) @lindapaiste
|
|
44
|
+
- [docs] Make a clear difference between the license and license key (#5316) @oliviertassinari
|
|
45
|
+
- [docs] Update pickers README files (#5456) @cherniavskii
|
|
46
|
+
- [docs] Clarify the scope of support for MUI X (#5423) @joserodolfofreitas
|
|
47
|
+
|
|
48
|
+
### Core
|
|
49
|
+
|
|
50
|
+
- [core] Add technical support link to \_redirects (#5428) @joserodolfofreitas
|
|
51
|
+
- [core] Improve GitHub bug reproduction template (#5067) @joserodolfofreitas
|
|
52
|
+
- [core] Include playground pages in tsconfig (#5367) @cherniavskii
|
|
53
|
+
- [core] Sort keys like in material-ui @oliviertassinari
|
|
54
|
+
- [test] Wait for flags to load on regression tests (#5473) @m4theushw
|
|
55
|
+
|
|
6
56
|
## 5.13.0
|
|
7
57
|
|
|
8
58
|
_Jul 7, 2022_
|
|
@@ -91,7 +91,8 @@ export const getGridDateOperators = showTime => [{
|
|
|
91
91
|
}) => {
|
|
92
92
|
return value == null;
|
|
93
93
|
};
|
|
94
|
-
}
|
|
94
|
+
},
|
|
95
|
+
requiresFilterValue: false
|
|
95
96
|
}, {
|
|
96
97
|
value: 'isNotEmpty',
|
|
97
98
|
getApplyFilterFn: () => {
|
|
@@ -100,5 +101,6 @@ export const getGridDateOperators = showTime => [{
|
|
|
100
101
|
}) => {
|
|
101
102
|
return value != null;
|
|
102
103
|
};
|
|
103
|
-
}
|
|
104
|
+
},
|
|
105
|
+
requiresFilterValue: false
|
|
104
106
|
}];
|
|
@@ -153,7 +153,8 @@ export const getGridNumericOperators = () => [{
|
|
|
153
153
|
}) => {
|
|
154
154
|
return value == null;
|
|
155
155
|
};
|
|
156
|
-
}
|
|
156
|
+
},
|
|
157
|
+
requiresFilterValue: false
|
|
157
158
|
}, {
|
|
158
159
|
value: 'isNotEmpty',
|
|
159
160
|
getApplyFilterFn: () => {
|
|
@@ -162,7 +163,8 @@ export const getGridNumericOperators = () => [{
|
|
|
162
163
|
}) => {
|
|
163
164
|
return value != null;
|
|
164
165
|
};
|
|
165
|
-
}
|
|
166
|
+
},
|
|
167
|
+
requiresFilterValue: false
|
|
166
168
|
}, {
|
|
167
169
|
value: 'isAnyOf',
|
|
168
170
|
getApplyFilterFn: filterItem => {
|
|
@@ -88,7 +88,8 @@ export const getGridStringOperators = (disableTrim = false) => [{
|
|
|
88
88
|
}) => {
|
|
89
89
|
return value === '' || value == null;
|
|
90
90
|
};
|
|
91
|
-
}
|
|
91
|
+
},
|
|
92
|
+
requiresFilterValue: false
|
|
92
93
|
}, {
|
|
93
94
|
value: 'isNotEmpty',
|
|
94
95
|
getApplyFilterFn: () => {
|
|
@@ -97,7 +98,8 @@ export const getGridStringOperators = (disableTrim = false) => [{
|
|
|
97
98
|
}) => {
|
|
98
99
|
return value !== '' && value != null;
|
|
99
100
|
};
|
|
100
|
-
}
|
|
101
|
+
},
|
|
102
|
+
requiresFilterValue: false
|
|
101
103
|
}, {
|
|
102
104
|
value: 'isAnyOf',
|
|
103
105
|
getApplyFilterFn: filterItem => {
|
|
@@ -98,7 +98,7 @@ export const useGridCellEditing = (apiRef, props) => {
|
|
|
98
98
|
let reason;
|
|
99
99
|
|
|
100
100
|
if (isPrintableKey(event.key)) {
|
|
101
|
-
if (event.
|
|
101
|
+
if (event.ctrlKey && event.key !== 'v' || event.metaKey && event.key !== 'v' || event.altKey) {
|
|
102
102
|
return;
|
|
103
103
|
}
|
|
104
104
|
|
|
@@ -154,7 +154,7 @@ export const useGridRowEditing = (apiRef, props) => {
|
|
|
154
154
|
let reason;
|
|
155
155
|
|
|
156
156
|
if (isPrintableKey(event.key)) {
|
|
157
|
-
if (event.
|
|
157
|
+
if (event.ctrlKey && event.key !== 'v' || event.metaKey && event.key !== 'v' || event.altKey) {
|
|
158
158
|
return;
|
|
159
159
|
}
|
|
160
160
|
|
|
@@ -113,7 +113,25 @@ export const useGridFilter = (apiRef, props) => {
|
|
|
113
113
|
|
|
114
114
|
if (targetColumnField) {
|
|
115
115
|
const filterModel = gridFilterModelSelector(apiRef);
|
|
116
|
-
const filterItemsWithValue = filterModel.items.filter(item =>
|
|
116
|
+
const filterItemsWithValue = filterModel.items.filter(item => {
|
|
117
|
+
var _column$filterOperato;
|
|
118
|
+
|
|
119
|
+
if (item.value !== undefined) {
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
const column = apiRef.current.getColumn(item.columnField);
|
|
124
|
+
const filterOperator = (_column$filterOperato = column.filterOperators) == null ? void 0 : _column$filterOperato.find(operator => operator.value === item.operatorValue);
|
|
125
|
+
const requiresFilterValue = typeof (filterOperator == null ? void 0 : filterOperator.requiresFilterValue) === 'undefined' ? true : filterOperator == null ? void 0 : filterOperator.requiresFilterValue; // Operators like `isEmpty` don't have and don't require `item.value`.
|
|
126
|
+
// So we don't want to remove them from the filter model if `item.value === undefined`.
|
|
127
|
+
// See https://github.com/mui/mui-x/issues/5402
|
|
128
|
+
|
|
129
|
+
if (requiresFilterValue) {
|
|
130
|
+
return false;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return true;
|
|
134
|
+
});
|
|
117
135
|
let newFilterItems;
|
|
118
136
|
const filterItemOnTarget = filterItemsWithValue.find(item => item.columnField === targetColumnField);
|
|
119
137
|
|
|
@@ -54,6 +54,8 @@ export const getRenderableIndexes = ({
|
|
|
54
54
|
return [clamp(firstIndex - buffer, minFirstIndex, maxLastIndex), clamp(lastIndex + buffer, minFirstIndex, maxLastIndex)];
|
|
55
55
|
};
|
|
56
56
|
export const useGridVirtualScroller = props => {
|
|
57
|
+
var _currentPage$range3, _currentPage$range4;
|
|
58
|
+
|
|
57
59
|
const apiRef = useGridApiContext();
|
|
58
60
|
const rootProps = useGridRootProps();
|
|
59
61
|
const visibleColumns = useGridSelector(apiRef, gridVisibleColumnDefinitionsSelector);
|
|
@@ -86,8 +88,17 @@ export const useGridVirtualScroller = props => {
|
|
|
86
88
|
const [containerWidth, setContainerWidth] = React.useState(null);
|
|
87
89
|
const prevTotalWidth = React.useRef(columnsTotalWidth);
|
|
88
90
|
const getNearestIndexToRender = React.useCallback(offset => {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
+
var _currentPage$range, _currentPage$range2;
|
|
92
|
+
|
|
93
|
+
const lastMeasuredIndexRelativeToAllRows = apiRef.current.unstable_getLastMeasuredRowIndex();
|
|
94
|
+
const lastMeasuredIndexRelativeToCurrentPage = lastMeasuredIndexRelativeToAllRows - (((_currentPage$range = currentPage.range) == null ? void 0 : _currentPage$range.firstRowIndex) || 0);
|
|
95
|
+
const lastMeasuredIndex = Math.max(0, lastMeasuredIndexRelativeToCurrentPage);
|
|
96
|
+
let allRowsMeasured = lastMeasuredIndex === Infinity;
|
|
97
|
+
|
|
98
|
+
if ((_currentPage$range2 = currentPage.range) != null && _currentPage$range2.lastRowIndex && !allRowsMeasured) {
|
|
99
|
+
// Check if all rows in this page are already measured
|
|
100
|
+
allRowsMeasured = lastMeasuredIndex >= currentPage.range.lastRowIndex;
|
|
101
|
+
}
|
|
91
102
|
|
|
92
103
|
if (allRowsMeasured || rowsMeta.positions[lastMeasuredIndex] >= offset) {
|
|
93
104
|
// If all rows were measured (when no row has "auto" as height) or all rows before the offset
|
|
@@ -100,7 +111,7 @@ export const useGridVirtualScroller = props => {
|
|
|
100
111
|
|
|
101
112
|
|
|
102
113
|
return exponentialSearch(offset, rowsMeta.positions, lastMeasuredIndex);
|
|
103
|
-
}, [apiRef, rowsMeta.positions]);
|
|
114
|
+
}, [apiRef, (_currentPage$range3 = currentPage.range) == null ? void 0 : _currentPage$range3.firstRowIndex, (_currentPage$range4 = currentPage.range) == null ? void 0 : _currentPage$range4.lastRowIndex, rowsMeta.positions]);
|
|
104
115
|
const computeRenderContext = React.useCallback(() => {
|
|
105
116
|
if (disableVirtualization) {
|
|
106
117
|
return {
|
package/index.js
CHANGED
|
@@ -111,7 +111,8 @@ export var getGridDateOperators = function getGridDateOperators(showTime) {
|
|
|
111
111
|
var value = _ref2.value;
|
|
112
112
|
return value == null;
|
|
113
113
|
};
|
|
114
|
-
}
|
|
114
|
+
},
|
|
115
|
+
requiresFilterValue: false
|
|
115
116
|
}, {
|
|
116
117
|
value: 'isNotEmpty',
|
|
117
118
|
getApplyFilterFn: function getApplyFilterFn() {
|
|
@@ -119,6 +120,7 @@ export var getGridDateOperators = function getGridDateOperators(showTime) {
|
|
|
119
120
|
var value = _ref3.value;
|
|
120
121
|
return value != null;
|
|
121
122
|
};
|
|
122
|
-
}
|
|
123
|
+
},
|
|
124
|
+
requiresFilterValue: false
|
|
123
125
|
}];
|
|
124
126
|
};
|
|
@@ -150,7 +150,8 @@ export var getGridNumericOperators = function getGridNumericOperators() {
|
|
|
150
150
|
var value = _ref8.value;
|
|
151
151
|
return value == null;
|
|
152
152
|
};
|
|
153
|
-
}
|
|
153
|
+
},
|
|
154
|
+
requiresFilterValue: false
|
|
154
155
|
}, {
|
|
155
156
|
value: 'isNotEmpty',
|
|
156
157
|
getApplyFilterFn: function getApplyFilterFn() {
|
|
@@ -158,7 +159,8 @@ export var getGridNumericOperators = function getGridNumericOperators() {
|
|
|
158
159
|
var value = _ref9.value;
|
|
159
160
|
return value != null;
|
|
160
161
|
};
|
|
161
|
-
}
|
|
162
|
+
},
|
|
163
|
+
requiresFilterValue: false
|
|
162
164
|
}, {
|
|
163
165
|
value: 'isAnyOf',
|
|
164
166
|
getApplyFilterFn: function getApplyFilterFn(filterItem) {
|
|
@@ -84,7 +84,8 @@ export var getGridStringOperators = function getGridStringOperators() {
|
|
|
84
84
|
var value = _ref6.value;
|
|
85
85
|
return value === '' || value == null;
|
|
86
86
|
};
|
|
87
|
-
}
|
|
87
|
+
},
|
|
88
|
+
requiresFilterValue: false
|
|
88
89
|
}, {
|
|
89
90
|
value: 'isNotEmpty',
|
|
90
91
|
getApplyFilterFn: function getApplyFilterFn() {
|
|
@@ -92,7 +93,8 @@ export var getGridStringOperators = function getGridStringOperators() {
|
|
|
92
93
|
var value = _ref7.value;
|
|
93
94
|
return value !== '' && value != null;
|
|
94
95
|
};
|
|
95
|
-
}
|
|
96
|
+
},
|
|
97
|
+
requiresFilterValue: false
|
|
96
98
|
}, {
|
|
97
99
|
value: 'isAnyOf',
|
|
98
100
|
getApplyFilterFn: function getApplyFilterFn(filterItem) {
|
|
@@ -106,7 +106,7 @@ export var useGridCellEditing = function useGridCellEditing(apiRef, props) {
|
|
|
106
106
|
var _reason;
|
|
107
107
|
|
|
108
108
|
if (isPrintableKey(event.key)) {
|
|
109
|
-
if (event.
|
|
109
|
+
if (event.ctrlKey && event.key !== 'v' || event.metaKey && event.key !== 'v' || event.altKey) {
|
|
110
110
|
return;
|
|
111
111
|
}
|
|
112
112
|
|
|
@@ -162,7 +162,7 @@ export var useGridRowEditing = function useGridRowEditing(apiRef, props) {
|
|
|
162
162
|
var _reason;
|
|
163
163
|
|
|
164
164
|
if (isPrintableKey(event.key)) {
|
|
165
|
-
if (event.
|
|
165
|
+
if (event.ctrlKey && event.key !== 'v' || event.metaKey && event.key !== 'v' || event.altKey) {
|
|
166
166
|
return;
|
|
167
167
|
}
|
|
168
168
|
|
|
@@ -125,7 +125,25 @@ export var useGridFilter = function useGridFilter(apiRef, props) {
|
|
|
125
125
|
if (targetColumnField) {
|
|
126
126
|
var filterModel = gridFilterModelSelector(apiRef);
|
|
127
127
|
var filterItemsWithValue = filterModel.items.filter(function (item) {
|
|
128
|
-
|
|
128
|
+
var _column$filterOperato;
|
|
129
|
+
|
|
130
|
+
if (item.value !== undefined) {
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
var column = apiRef.current.getColumn(item.columnField);
|
|
135
|
+
var filterOperator = (_column$filterOperato = column.filterOperators) == null ? void 0 : _column$filterOperato.find(function (operator) {
|
|
136
|
+
return operator.value === item.operatorValue;
|
|
137
|
+
});
|
|
138
|
+
var requiresFilterValue = typeof (filterOperator == null ? void 0 : filterOperator.requiresFilterValue) === 'undefined' ? true : filterOperator == null ? void 0 : filterOperator.requiresFilterValue; // Operators like `isEmpty` don't have and don't require `item.value`.
|
|
139
|
+
// So we don't want to remove them from the filter model if `item.value === undefined`.
|
|
140
|
+
// See https://github.com/mui/mui-x/issues/5402
|
|
141
|
+
|
|
142
|
+
if (requiresFilterValue) {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
return true;
|
|
129
147
|
});
|
|
130
148
|
var newFilterItems;
|
|
131
149
|
var filterItemOnTarget = filterItemsWithValue.find(function (item) {
|
|
@@ -57,6 +57,8 @@ export var getRenderableIndexes = function getRenderableIndexes(_ref) {
|
|
|
57
57
|
return [clamp(firstIndex - buffer, minFirstIndex, maxLastIndex), clamp(lastIndex + buffer, minFirstIndex, maxLastIndex)];
|
|
58
58
|
};
|
|
59
59
|
export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
60
|
+
var _currentPage$range3, _currentPage$range4;
|
|
61
|
+
|
|
60
62
|
var apiRef = useGridApiContext();
|
|
61
63
|
var rootProps = useGridRootProps();
|
|
62
64
|
var visibleColumns = useGridSelector(apiRef, gridVisibleColumnDefinitionsSelector);
|
|
@@ -99,9 +101,18 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
99
101
|
|
|
100
102
|
var prevTotalWidth = React.useRef(columnsTotalWidth);
|
|
101
103
|
var getNearestIndexToRender = React.useCallback(function (offset) {
|
|
102
|
-
var
|
|
104
|
+
var _currentPage$range, _currentPage$range2;
|
|
105
|
+
|
|
106
|
+
var lastMeasuredIndexRelativeToAllRows = apiRef.current.unstable_getLastMeasuredRowIndex();
|
|
107
|
+
var lastMeasuredIndexRelativeToCurrentPage = lastMeasuredIndexRelativeToAllRows - (((_currentPage$range = currentPage.range) == null ? void 0 : _currentPage$range.firstRowIndex) || 0);
|
|
108
|
+
var lastMeasuredIndex = Math.max(0, lastMeasuredIndexRelativeToCurrentPage);
|
|
103
109
|
var allRowsMeasured = lastMeasuredIndex === Infinity;
|
|
104
110
|
|
|
111
|
+
if ((_currentPage$range2 = currentPage.range) != null && _currentPage$range2.lastRowIndex && !allRowsMeasured) {
|
|
112
|
+
// Check if all rows in this page are already measured
|
|
113
|
+
allRowsMeasured = lastMeasuredIndex >= currentPage.range.lastRowIndex;
|
|
114
|
+
}
|
|
115
|
+
|
|
105
116
|
if (allRowsMeasured || rowsMeta.positions[lastMeasuredIndex] >= offset) {
|
|
106
117
|
// If all rows were measured (when no row has "auto" as height) or all rows before the offset
|
|
107
118
|
// were measured, then use a binary search because it's faster.
|
|
@@ -113,7 +124,7 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
113
124
|
|
|
114
125
|
|
|
115
126
|
return exponentialSearch(offset, rowsMeta.positions, lastMeasuredIndex);
|
|
116
|
-
}, [apiRef, rowsMeta.positions]);
|
|
127
|
+
}, [apiRef, (_currentPage$range3 = currentPage.range) == null ? void 0 : _currentPage$range3.firstRowIndex, (_currentPage$range4 = currentPage.range) == null ? void 0 : _currentPage$range4.lastRowIndex, rowsMeta.positions]);
|
|
117
128
|
var computeRenderContext = React.useCallback(function () {
|
|
118
129
|
if (disableVirtualization) {
|
|
119
130
|
return {
|
|
@@ -355,13 +366,13 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
355
366
|
var renderedColumns = visibleColumns.slice(firstColumnToRender, lastColumnToRender);
|
|
356
367
|
var rows = [];
|
|
357
368
|
|
|
358
|
-
for (var
|
|
369
|
+
for (var i = 0; i < renderedRows.length; i += 1) {
|
|
359
370
|
var _rootProps$components;
|
|
360
371
|
|
|
361
|
-
var _renderedRows$
|
|
362
|
-
_id = _renderedRows$
|
|
363
|
-
_model = _renderedRows$
|
|
364
|
-
var lastVisibleRowIndex = firstRowToRender +
|
|
372
|
+
var _renderedRows$i = renderedRows[i],
|
|
373
|
+
_id = _renderedRows$i.id,
|
|
374
|
+
_model = _renderedRows$i.model;
|
|
375
|
+
var lastVisibleRowIndex = firstRowToRender + i === currentPage.rows.length - 1;
|
|
365
376
|
var baseRowHeight = !apiRef.current.unstable_rowHasAutoHeight(_id) || ignoreAutoHeight ? apiRef.current.unstable_getRowHeight(_id) : 'auto';
|
|
366
377
|
var isSelected = void 0;
|
|
367
378
|
|
|
@@ -388,7 +399,7 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
388
399
|
firstColumnToRender: firstColumnToRender,
|
|
389
400
|
lastColumnToRender: lastColumnToRender,
|
|
390
401
|
selected: isSelected,
|
|
391
|
-
index: currentPage.range.firstRowIndex + firstRowToRender +
|
|
402
|
+
index: currentPage.range.firstRowIndex + firstRowToRender + i,
|
|
392
403
|
containerWidth: availableSpace,
|
|
393
404
|
isLastVisible: lastVisibleRowIndex
|
|
394
405
|
}, typeof getRowProps === 'function' ? getRowProps(_id, _model) : {}, (_rootProps$components = rootProps.componentsProps) == null ? void 0 : _rootProps$components.row), _id));
|
package/legacy/index.js
CHANGED
package/legacy/locales/deDE.js
CHANGED
|
@@ -23,9 +23,9 @@ var deDEGrid = {
|
|
|
23
23
|
return count !== 1 ? "".concat(count, " aktive Filter") : "".concat(count, " aktiver Filter");
|
|
24
24
|
},
|
|
25
25
|
// Quick filter toolbar field
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
toolbarQuickFilterPlaceholder: 'Suchen...',
|
|
27
|
+
toolbarQuickFilterLabel: 'Suchen',
|
|
28
|
+
toolbarQuickFilterDeleteIconLabel: 'Löschen',
|
|
29
29
|
// Export selector toolbar button text
|
|
30
30
|
toolbarExport: 'Exportieren',
|
|
31
31
|
toolbarExportLabel: 'Exportieren',
|
|
@@ -119,7 +119,7 @@ var deDEGrid = {
|
|
|
119
119
|
return "Gruppierung nach ".concat(name, " aufheben");
|
|
120
120
|
},
|
|
121
121
|
// Master/detail
|
|
122
|
-
|
|
122
|
+
detailPanelToggle: 'Detailansicht Kippschalter',
|
|
123
123
|
expandDetailPanel: 'Aufklappen',
|
|
124
124
|
collapseDetailPanel: 'Zuklappen',
|
|
125
125
|
// Row reordering text
|
package/legacy/locales/frFR.js
CHANGED
|
@@ -31,7 +31,7 @@ var frFRGrid = {
|
|
|
31
31
|
toolbarExportLabel: 'Exporter',
|
|
32
32
|
toolbarExportCSV: 'Télécharger en CSV',
|
|
33
33
|
toolbarExportPrint: 'Imprimer',
|
|
34
|
-
|
|
34
|
+
toolbarExportExcel: 'Télécharger pour Excel',
|
|
35
35
|
// Columns panel text
|
|
36
36
|
columnsPanelTextFieldLabel: 'Chercher colonne',
|
|
37
37
|
columnsPanelTextFieldPlaceholder: 'Titre de la colonne',
|
|
@@ -93,10 +93,10 @@ var frFRGrid = {
|
|
|
93
93
|
},
|
|
94
94
|
// Checkbox selection text
|
|
95
95
|
checkboxSelectionHeaderName: 'Sélection',
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
96
|
+
checkboxSelectionSelectAllRows: 'Sélectionner toutes les lignes',
|
|
97
|
+
checkboxSelectionUnselectAllRows: 'Désélectionner toutes les lignes',
|
|
98
|
+
checkboxSelectionSelectRow: 'Sélectionner la ligne',
|
|
99
|
+
checkboxSelectionUnselectRow: 'Désélectionner la ligne',
|
|
100
100
|
// Boolean cell text
|
|
101
101
|
booleanCellTrueLabel: 'vrai',
|
|
102
102
|
booleanCellFalseLabel: 'faux',
|
|
@@ -117,12 +117,12 @@ var frFRGrid = {
|
|
|
117
117
|
},
|
|
118
118
|
unGroupColumn: function unGroupColumn(name) {
|
|
119
119
|
return "Arr\xEAter de grouper par ".concat(name);
|
|
120
|
-
}
|
|
121
|
-
//
|
|
122
|
-
|
|
123
|
-
|
|
120
|
+
},
|
|
121
|
+
// Master/detail
|
|
122
|
+
detailPanelToggle: 'Afficher/masquer les détails',
|
|
123
|
+
expandDetailPanel: 'Afficher',
|
|
124
|
+
collapseDetailPanel: 'Masquer',
|
|
124
125
|
// Row reordering text
|
|
125
|
-
|
|
126
|
-
|
|
126
|
+
rowReorderingHeaderName: 'Positionnement des lignes'
|
|
127
127
|
};
|
|
128
128
|
export var frFR = getGridLocalization(frFRGrid, frFRCore);
|
package/legacy/locales/nlNL.js
CHANGED
|
@@ -23,15 +23,15 @@ var nlNLGrid = {
|
|
|
23
23
|
return count > 1 ? "".concat(count, " actieve filters") : "".concat(count, " filter actief");
|
|
24
24
|
},
|
|
25
25
|
// Quick filter toolbar field
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
toolbarQuickFilterPlaceholder: 'Zoeken...',
|
|
27
|
+
toolbarQuickFilterLabel: 'Zoeken',
|
|
28
|
+
toolbarQuickFilterDeleteIconLabel: 'Wissen',
|
|
29
29
|
// Export selector toolbar button text
|
|
30
30
|
toolbarExport: 'Exporteren',
|
|
31
31
|
toolbarExportLabel: 'Exporteren',
|
|
32
32
|
toolbarExportCSV: 'Exporteer naar CSV',
|
|
33
33
|
toolbarExportPrint: 'Print',
|
|
34
|
-
|
|
34
|
+
toolbarExportExcel: 'Downloaden als Excel-bestand',
|
|
35
35
|
// Columns panel text
|
|
36
36
|
columnsPanelTextFieldLabel: 'Zoek kolom',
|
|
37
37
|
columnsPanelTextFieldPlaceholder: 'Kolomtitel',
|
|
@@ -41,7 +41,7 @@ var nlNLGrid = {
|
|
|
41
41
|
// Filter panel text
|
|
42
42
|
filterPanelAddFilter: 'Filter toevoegen',
|
|
43
43
|
filterPanelDeleteIconLabel: 'Verwijderen',
|
|
44
|
-
|
|
44
|
+
filterPanelLinkOperator: 'Logische operator',
|
|
45
45
|
filterPanelOperators: 'Operatoren',
|
|
46
46
|
// TODO v6: rename to filterPanelOperator
|
|
47
47
|
filterPanelOperatorAnd: 'En',
|
|
@@ -62,7 +62,7 @@ var nlNLGrid = {
|
|
|
62
62
|
filterOperatorOnOrBefore: 'is gelijk of er voor',
|
|
63
63
|
filterOperatorIsEmpty: 'is leeg',
|
|
64
64
|
filterOperatorIsNotEmpty: 'is niet leeg',
|
|
65
|
-
|
|
65
|
+
filterOperatorIsAnyOf: 'is een van',
|
|
66
66
|
// Filter values text
|
|
67
67
|
filterValueAny: 'alles',
|
|
68
68
|
filterValueTrue: 'waar',
|
|
@@ -93,10 +93,10 @@ var nlNLGrid = {
|
|
|
93
93
|
},
|
|
94
94
|
// Checkbox selection text
|
|
95
95
|
checkboxSelectionHeaderName: 'Checkbox selectie',
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
96
|
+
checkboxSelectionSelectAllRows: 'Alle rijen selecteren',
|
|
97
|
+
checkboxSelectionUnselectAllRows: 'Alle rijen de-selecteren',
|
|
98
|
+
checkboxSelectionSelectRow: 'Rij selecteren',
|
|
99
|
+
checkboxSelectionUnselectRow: 'Rij de-selecteren',
|
|
100
100
|
// Boolean cell text
|
|
101
101
|
booleanCellTrueLabel: 'waar',
|
|
102
102
|
booleanCellFalseLabel: 'onwaar',
|
|
@@ -117,12 +117,12 @@ var nlNLGrid = {
|
|
|
117
117
|
},
|
|
118
118
|
unGroupColumn: function unGroupColumn(name) {
|
|
119
119
|
return "Stop groeperen op ".concat(name);
|
|
120
|
-
}
|
|
120
|
+
},
|
|
121
|
+
// Master/detail
|
|
121
122
|
// detailPanelToggle: 'Detail panel toggle',
|
|
122
|
-
|
|
123
|
-
|
|
123
|
+
expandDetailPanel: 'Uitklappen',
|
|
124
|
+
collapseDetailPanel: 'Inklappen',
|
|
124
125
|
// Row reordering text
|
|
125
|
-
|
|
126
|
-
|
|
126
|
+
rowReorderingHeaderName: 'Rijen hersorteren'
|
|
127
127
|
};
|
|
128
128
|
export var nlNL = getGridLocalization(nlNLGrid, nlNLCore);
|
package/legacy/locales/ptBR.js
CHANGED
|
@@ -23,14 +23,14 @@ var ptBRGrid = {
|
|
|
23
23
|
return "".concat(count, " ").concat(count !== 1 ? 'filtros' : 'filtro', " ").concat(count !== 1 ? 'ativos' : 'ativo');
|
|
24
24
|
},
|
|
25
25
|
// Quick filter toolbar field
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
toolbarQuickFilterPlaceholder: 'Procurar...',
|
|
27
|
+
toolbarQuickFilterLabel: 'Procurar',
|
|
28
|
+
toolbarQuickFilterDeleteIconLabel: 'Limpar',
|
|
29
29
|
// Export selector toolbar button text
|
|
30
30
|
toolbarExport: 'Exportar',
|
|
31
31
|
toolbarExportLabel: 'Exportar',
|
|
32
32
|
toolbarExportCSV: 'Baixar como CSV',
|
|
33
|
-
toolbarExportPrint: '
|
|
33
|
+
toolbarExportPrint: 'Imprimir',
|
|
34
34
|
toolbarExportExcel: 'Baixar como Excel',
|
|
35
35
|
// Columns panel text
|
|
36
36
|
columnsPanelTextFieldLabel: 'Localizar coluna',
|
|
@@ -62,7 +62,7 @@ var ptBRGrid = {
|
|
|
62
62
|
filterOperatorOnOrBefore: 'em ou antes de',
|
|
63
63
|
filterOperatorIsEmpty: 'está vazio',
|
|
64
64
|
filterOperatorIsNotEmpty: 'não está vazio',
|
|
65
|
-
|
|
65
|
+
filterOperatorIsAnyOf: 'é qualquer um dos',
|
|
66
66
|
// Filter values text
|
|
67
67
|
filterValueAny: 'qualquer',
|
|
68
68
|
filterValueTrue: 'verdadeiro',
|
|
@@ -107,9 +107,9 @@ var ptBRGrid = {
|
|
|
107
107
|
pinToRight: 'Fixar à direita',
|
|
108
108
|
unpin: 'Desafixar',
|
|
109
109
|
// Tree Data
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
110
|
+
treeDataGroupingHeaderName: 'Grupo',
|
|
111
|
+
treeDataExpand: 'mostrar filhos',
|
|
112
|
+
treeDataCollapse: 'esconder filhos',
|
|
113
113
|
// Grouping columns
|
|
114
114
|
groupingColumnHeaderName: 'Grupo',
|
|
115
115
|
groupColumn: function groupColumn(name) {
|
|
@@ -121,8 +121,8 @@ var ptBRGrid = {
|
|
|
121
121
|
// Master/detail
|
|
122
122
|
detailPanelToggle: 'Painel de detalhes',
|
|
123
123
|
expandDetailPanel: 'Expandir',
|
|
124
|
-
collapseDetailPanel: 'Esconder'
|
|
125
|
-
//
|
|
126
|
-
|
|
124
|
+
collapseDetailPanel: 'Esconder',
|
|
125
|
+
// Row reordering text
|
|
126
|
+
rowReorderingHeaderName: 'Reorganizar linhas'
|
|
127
127
|
};
|
|
128
128
|
export var ptBR = getGridLocalization(ptBRGrid, ptBRCore);
|
package/legacy/locales/roRO.js
CHANGED
|
@@ -23,9 +23,9 @@ var roROGrid = {
|
|
|
23
23
|
return count !== 1 ? "".concat(count, " filtru activ") : "".concat(count, " filtru activ");
|
|
24
24
|
},
|
|
25
25
|
// Quick filter toolbar field
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
toolbarQuickFilterPlaceholder: 'Căutare...',
|
|
27
|
+
toolbarQuickFilterLabel: 'Căutare',
|
|
28
|
+
toolbarQuickFilterDeleteIconLabel: 'Ștergere',
|
|
29
29
|
// Export selector toolbar button text
|
|
30
30
|
toolbarExport: 'Export',
|
|
31
31
|
toolbarExportLabel: 'Export',
|
|
@@ -119,7 +119,7 @@ var roROGrid = {
|
|
|
119
119
|
return "Anulare Grupare dup\u0103 ".concat(name);
|
|
120
120
|
},
|
|
121
121
|
// Master/detail
|
|
122
|
-
|
|
122
|
+
detailPanelToggle: 'Comutare panou detalii',
|
|
123
123
|
expandDetailPanel: 'Extindere',
|
|
124
124
|
collapseDetailPanel: 'Restrângere',
|
|
125
125
|
// Row reordering text
|
package/locales/deDE.js
CHANGED
|
@@ -21,9 +21,9 @@ const deDEGrid = {
|
|
|
21
21
|
toolbarFiltersTooltipShow: 'Zeige Filter',
|
|
22
22
|
toolbarFiltersTooltipActive: count => count !== 1 ? `${count} aktive Filter` : `${count} aktiver Filter`,
|
|
23
23
|
// Quick filter toolbar field
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
toolbarQuickFilterPlaceholder: 'Suchen...',
|
|
25
|
+
toolbarQuickFilterLabel: 'Suchen',
|
|
26
|
+
toolbarQuickFilterDeleteIconLabel: 'Löschen',
|
|
27
27
|
// Export selector toolbar button text
|
|
28
28
|
toolbarExport: 'Exportieren',
|
|
29
29
|
toolbarExportLabel: 'Exportieren',
|
|
@@ -107,7 +107,7 @@ const deDEGrid = {
|
|
|
107
107
|
groupColumn: name => `Gruppieren nach ${name}`,
|
|
108
108
|
unGroupColumn: name => `Gruppierung nach ${name} aufheben`,
|
|
109
109
|
// Master/detail
|
|
110
|
-
|
|
110
|
+
detailPanelToggle: 'Detailansicht Kippschalter',
|
|
111
111
|
expandDetailPanel: 'Aufklappen',
|
|
112
112
|
collapseDetailPanel: 'Zuklappen',
|
|
113
113
|
// Row reordering text
|