@mui/x-data-grid 5.11.1 → 5.12.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/CHANGELOG.md +95 -18
- package/DataGrid/DataGrid.js +26 -1
- package/README.md +2 -2
- package/components/GridRow.d.ts +1 -1
- package/components/GridRow.js +51 -12
- package/components/cell/GridActionsCellItem.d.ts +1 -1
- package/components/cell/GridCell.d.ts +2 -1
- package/components/cell/GridCell.js +12 -7
- package/components/columnHeaders/GridColumnHeaderItem.js +4 -3
- package/components/containers/GridRootStyles.js +4 -2
- package/components/menu/GridMenu.js +9 -2
- package/components/panel/GridColumnsPanel.js +10 -2
- package/components/panel/GridPanelWrapper.d.ts +1 -1
- package/components/panel/GridPanelWrapper.js +3 -3
- package/components/panel/filterPanel/GridFilterForm.d.ts +61 -4
- package/components/panel/filterPanel/GridFilterForm.js +88 -8
- package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -1
- package/components/panel/filterPanel/GridFilterPanel.d.ts +8 -5
- package/components/panel/filterPanel/GridFilterPanel.js +24 -6
- package/components/toolbar/GridToolbarFilterButton.d.ts +1 -1
- package/constants/gridClasses.d.ts +4 -0
- package/constants/gridClasses.js +1 -1
- package/hooks/features/columns/gridColumnsInterfaces.d.ts +3 -0
- package/hooks/features/columns/useGridColumns.js +12 -14
- package/hooks/features/editRows/useGridCellEditing.new.js +11 -4
- package/hooks/features/editRows/useGridRowEditing.new.js +10 -4
- package/hooks/features/events/useGridEvents.d.ts +1 -1
- package/hooks/features/events/useGridEvents.js +2 -0
- package/hooks/features/filter/gridFilterUtils.d.ts +9 -1
- package/hooks/features/filter/gridFilterUtils.js +1 -2
- package/hooks/features/filter/useGridFilter.js +5 -5
- package/hooks/features/rows/useGridRowsMeta.d.ts +1 -1
- package/hooks/features/rows/useGridRowsMeta.js +107 -43
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +1 -0
- package/hooks/features/virtualization/useGridVirtualScroller.js +27 -7
- package/index.js +1 -1
- package/internals/index.d.ts +1 -0
- package/legacy/DataGrid/DataGrid.js +26 -1
- package/legacy/components/GridRow.js +56 -12
- package/legacy/components/cell/GridCell.js +12 -7
- package/legacy/components/columnHeaders/GridColumnHeaderItem.js +6 -3
- package/legacy/components/containers/GridRootStyles.js +3 -2
- package/legacy/components/menu/GridMenu.js +9 -2
- package/legacy/components/panel/GridColumnsPanel.js +12 -2
- package/legacy/components/panel/GridPanelWrapper.js +3 -3
- package/legacy/components/panel/filterPanel/GridFilterForm.js +89 -8
- package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -1
- package/legacy/components/panel/filterPanel/GridFilterPanel.js +25 -6
- package/legacy/constants/gridClasses.js +1 -1
- package/legacy/hooks/features/columns/useGridColumns.js +12 -14
- package/legacy/hooks/features/editRows/useGridCellEditing.new.js +14 -7
- package/legacy/hooks/features/editRows/useGridRowEditing.new.js +10 -4
- package/legacy/hooks/features/events/useGridEvents.js +2 -0
- package/legacy/hooks/features/filter/gridFilterUtils.js +1 -2
- package/legacy/hooks/features/filter/useGridFilter.js +5 -5
- package/legacy/hooks/features/rows/useGridRowsMeta.js +104 -41
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +46 -22
- package/legacy/index.js +1 -1
- package/legacy/locales/heIL.js +9 -9
- package/legacy/locales/nbNO.js +127 -0
- package/legacy/locales/trTR.js +7 -7
- package/legacy/models/events/gridEvents.js +2 -0
- package/legacy/models/gridApiCaches.js +1 -0
- package/legacy/models/params/gridMenuParams.js +1 -0
- package/legacy/models/params/index.js +2 -1
- package/locales/heIL.js +9 -9
- package/locales/nbNO.d.ts +2 -0
- package/locales/nbNO.js +115 -0
- package/locales/trTR.js +7 -7
- package/models/api/gridCoreApi.d.ts +2 -6
- package/models/api/gridRowsMetaApi.d.ts +24 -0
- package/models/colDef/gridColDef.d.ts +3 -3
- package/models/events/gridEventLookup.d.ts +13 -1
- package/models/events/gridEvents.d.ts +3 -1
- package/models/events/gridEvents.js +2 -0
- package/models/gridApiCaches.d.ts +6 -0
- package/models/gridApiCaches.js +1 -0
- package/models/params/gridMenuParams.d.ts +7 -0
- package/models/params/gridMenuParams.js +1 -0
- package/models/params/gridRowParams.d.ts +1 -1
- package/models/params/index.d.ts +1 -0
- package/models/params/index.js +2 -1
- package/models/props/DataGridProps.d.ts +23 -1
- package/modern/DataGrid/DataGrid.js +26 -1
- package/modern/components/GridRow.js +51 -12
- package/modern/components/cell/GridCell.js +12 -7
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +4 -3
- package/modern/components/containers/GridRootStyles.js +4 -2
- package/modern/components/menu/GridMenu.js +9 -2
- package/modern/components/panel/GridColumnsPanel.js +10 -2
- package/modern/components/panel/GridPanelWrapper.js +3 -3
- package/modern/components/panel/filterPanel/GridFilterForm.js +88 -8
- package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -1
- package/modern/components/panel/filterPanel/GridFilterPanel.js +24 -6
- package/modern/constants/gridClasses.js +1 -1
- package/modern/hooks/features/columns/useGridColumns.js +11 -13
- package/modern/hooks/features/editRows/useGridCellEditing.new.js +10 -3
- package/modern/hooks/features/editRows/useGridRowEditing.new.js +9 -3
- package/modern/hooks/features/events/useGridEvents.js +2 -0
- package/modern/hooks/features/filter/gridFilterUtils.js +1 -2
- package/modern/hooks/features/filter/useGridFilter.js +5 -5
- package/modern/hooks/features/rows/useGridRowsMeta.js +105 -37
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +27 -7
- package/modern/index.js +1 -1
- package/modern/locales/heIL.js +9 -9
- package/modern/locales/nbNO.js +115 -0
- package/modern/locales/trTR.js +7 -7
- package/modern/models/events/gridEvents.js +2 -0
- package/modern/models/gridApiCaches.js +1 -0
- package/modern/models/params/gridMenuParams.js +1 -0
- package/modern/models/params/index.js +2 -1
- package/node/DataGrid/DataGrid.js +26 -1
- package/node/components/GridRow.js +53 -12
- package/node/components/cell/GridCell.js +12 -7
- package/node/components/columnHeaders/GridColumnHeaderItem.js +4 -3
- package/node/components/containers/GridRootStyles.js +4 -2
- package/node/components/menu/GridMenu.js +10 -2
- package/node/components/panel/GridColumnsPanel.js +10 -2
- package/node/components/panel/GridPanelWrapper.js +5 -3
- package/node/components/panel/filterPanel/GridFilterForm.js +91 -9
- package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -1
- package/node/components/panel/filterPanel/GridFilterPanel.js +26 -6
- package/node/constants/gridClasses.js +1 -1
- package/node/hooks/features/columns/useGridColumns.js +12 -14
- package/node/hooks/features/editRows/useGridCellEditing.new.js +11 -4
- package/node/hooks/features/editRows/useGridRowEditing.new.js +10 -4
- package/node/hooks/features/events/useGridEvents.js +2 -0
- package/node/hooks/features/filter/gridFilterUtils.js +2 -1
- package/node/hooks/features/filter/useGridFilter.js +4 -4
- package/node/hooks/features/rows/useGridRowsMeta.js +107 -43
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +27 -7
- package/node/index.js +1 -1
- package/node/locales/heIL.js +9 -9
- package/node/locales/nbNO.js +125 -0
- package/node/locales/trTR.js +7 -7
- package/node/models/events/gridEvents.js +2 -0
- package/node/models/gridApiCaches.js +5 -0
- package/node/models/params/gridMenuParams.js +5 -0
- package/node/models/params/index.js +13 -0
- package/package.json +4 -4
|
@@ -22,38 +22,74 @@ export var rowsMetaStateInitializer = function rowsMetaStateInitializer(state) {
|
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
24
|
export var useGridRowsMeta = function useGridRowsMeta(apiRef, props) {
|
|
25
|
-
var
|
|
26
|
-
getRowSpacing = props.getRowSpacing
|
|
27
|
-
|
|
28
|
-
var
|
|
25
|
+
var getRowHeightProp = props.getRowHeight,
|
|
26
|
+
getRowSpacing = props.getRowSpacing,
|
|
27
|
+
getEstimatedRowHeight = props.getEstimatedRowHeight;
|
|
28
|
+
var rowsHeightLookup = React.useRef({}); // Inspired by https://github.com/bvaughn/react-virtualized/blob/master/source/Grid/utils/CellSizeAndPositionManager.js
|
|
29
|
+
|
|
30
|
+
var lastMeasuredRowIndex = React.useRef(-1);
|
|
31
|
+
var hasRowWithAutoHeight = React.useRef(false);
|
|
32
|
+
var rowHeightFromDensity = useGridSelector(apiRef, gridDensityRowHeightSelector);
|
|
29
33
|
var filterState = useGridSelector(apiRef, gridFilterStateSelector);
|
|
30
34
|
var paginationState = useGridSelector(apiRef, gridPaginationSelector);
|
|
31
35
|
var sortingState = useGridSelector(apiRef, gridSortingStateSelector);
|
|
32
36
|
var currentPage = useGridVisibleRows(apiRef, props);
|
|
33
37
|
var hydrateRowsMeta = React.useCallback(function () {
|
|
38
|
+
hasRowWithAutoHeight.current = false;
|
|
34
39
|
apiRef.current.setState(function (state) {
|
|
35
|
-
var positions = [];
|
|
36
40
|
var densityFactor = gridDensityFactorSelector(state, apiRef.current.instanceId);
|
|
37
|
-
var
|
|
41
|
+
var positions = [];
|
|
38
42
|
var currentPageTotalHeight = currentPage.rows.reduce(function (acc, row) {
|
|
39
43
|
positions.push(acc);
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
|
|
45
|
+
if (!rowsHeightLookup.current[row.id]) {
|
|
46
|
+
rowsHeightLookup.current[row.id] = {
|
|
47
|
+
sizes: {
|
|
48
|
+
base: rowHeightFromDensity
|
|
49
|
+
},
|
|
50
|
+
isResized: false,
|
|
51
|
+
autoHeight: false,
|
|
52
|
+
needsFirstMeasurement: true // Assume all rows will need to be measured by default
|
|
53
|
+
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
var _rowsHeightLookup$cur = rowsHeightLookup.current[row.id],
|
|
58
|
+
isResized = _rowsHeightLookup$cur.isResized,
|
|
59
|
+
needsFirstMeasurement = _rowsHeightLookup$cur.needsFirstMeasurement,
|
|
60
|
+
sizes = _rowsHeightLookup$cur.sizes;
|
|
61
|
+
var baseRowHeight = rowHeightFromDensity;
|
|
62
|
+
var existingBaseRowHeight = sizes.base;
|
|
42
63
|
|
|
43
64
|
if (isResized) {
|
|
44
|
-
//
|
|
45
|
-
baseRowHeight =
|
|
46
|
-
} else {
|
|
47
|
-
|
|
65
|
+
// Do not recalculate resized row height and use the value from the lookup
|
|
66
|
+
baseRowHeight = existingBaseRowHeight;
|
|
67
|
+
} else if (getRowHeightProp) {
|
|
68
|
+
var rowHeightFromUser = getRowHeightProp(_extends({}, row, {
|
|
69
|
+
densityFactor: densityFactor
|
|
70
|
+
}));
|
|
48
71
|
|
|
49
|
-
if (
|
|
50
|
-
|
|
72
|
+
if (rowHeightFromUser === 'auto') {
|
|
73
|
+
if (needsFirstMeasurement) {
|
|
74
|
+
var estimatedRowHeight = getEstimatedRowHeight ? getEstimatedRowHeight(_extends({}, row, {
|
|
75
|
+
densityFactor: densityFactor
|
|
76
|
+
})) : rowHeightFromDensity; // If the row was not measured yet use the estimated row height
|
|
51
77
|
|
|
78
|
+
baseRowHeight = estimatedRowHeight != null ? estimatedRowHeight : rowHeightFromDensity;
|
|
79
|
+
} else {
|
|
80
|
+
baseRowHeight = existingBaseRowHeight;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
hasRowWithAutoHeight.current = true;
|
|
84
|
+
rowsHeightLookup.current[row.id].autoHeight = true;
|
|
85
|
+
} else {
|
|
52
86
|
// Default back to base rowHeight if getRowHeight returns null or undefined.
|
|
53
|
-
baseRowHeight =
|
|
54
|
-
|
|
55
|
-
|
|
87
|
+
baseRowHeight = rowHeightFromUser != null ? rowHeightFromUser : rowHeightFromDensity;
|
|
88
|
+
rowsHeightLookup.current[row.id].needsFirstMeasurement = false;
|
|
89
|
+
rowsHeightLookup.current[row.id].autoHeight = false;
|
|
56
90
|
}
|
|
91
|
+
} else {
|
|
92
|
+
rowsHeightLookup.current[row.id].needsFirstMeasurement = false;
|
|
57
93
|
} // We use an object to make simple to check if a height is already added or not
|
|
58
94
|
|
|
59
95
|
|
|
@@ -74,15 +110,11 @@ export var useGridRowsMeta = function useGridRowsMeta(apiRef, props) {
|
|
|
74
110
|
initialHeights.spacingBottom = (_spacing$bottom = spacing.bottom) != null ? _spacing$bottom : 0;
|
|
75
111
|
}
|
|
76
112
|
|
|
77
|
-
var
|
|
78
|
-
|
|
113
|
+
var processedSizes = apiRef.current.unstable_applyPipeProcessors('rowHeight', initialHeights, row);
|
|
114
|
+
rowsHeightLookup.current[row.id].sizes = processedSizes;
|
|
115
|
+
var finalRowHeight = Object.values(processedSizes).reduce(function (acc2, value) {
|
|
79
116
|
return acc2 + value;
|
|
80
117
|
}, 0);
|
|
81
|
-
rowsHeightLookup.current[row.id] = {
|
|
82
|
-
value: baseRowHeight,
|
|
83
|
-
sizes: sizes,
|
|
84
|
-
isResized: isResized
|
|
85
|
-
};
|
|
86
118
|
return acc + finalRowHeight;
|
|
87
119
|
}, 0);
|
|
88
120
|
return _extends({}, state, {
|
|
@@ -92,14 +124,18 @@ export var useGridRowsMeta = function useGridRowsMeta(apiRef, props) {
|
|
|
92
124
|
}
|
|
93
125
|
});
|
|
94
126
|
});
|
|
95
|
-
apiRef.current.forceUpdate();
|
|
96
|
-
}, [apiRef, currentPage.rows, getRowSpacing, getRowHeight]);
|
|
97
127
|
|
|
98
|
-
|
|
99
|
-
|
|
128
|
+
if (!hasRowWithAutoHeight.current) {
|
|
129
|
+
// No row has height=auto, so all rows are already measured
|
|
130
|
+
lastMeasuredRowIndex.current = Infinity;
|
|
131
|
+
}
|
|
100
132
|
|
|
101
|
-
|
|
102
|
-
};
|
|
133
|
+
apiRef.current.forceUpdate();
|
|
134
|
+
}, [apiRef, currentPage.rows, rowHeightFromDensity, getRowHeightProp, getRowSpacing, getEstimatedRowHeight]);
|
|
135
|
+
var getRowHeight = React.useCallback(function (rowId) {
|
|
136
|
+
var height = rowsHeightLookup.current[rowId];
|
|
137
|
+
return height ? height.sizes.base : rowHeightFromDensity;
|
|
138
|
+
}, [rowHeightFromDensity]);
|
|
103
139
|
|
|
104
140
|
var getRowInternalSizes = function getRowInternalSizes(rowId) {
|
|
105
141
|
var _rowsHeightLookup$cur2;
|
|
@@ -108,25 +144,52 @@ export var useGridRowsMeta = function useGridRowsMeta(apiRef, props) {
|
|
|
108
144
|
};
|
|
109
145
|
|
|
110
146
|
var setRowHeight = React.useCallback(function (id, height) {
|
|
111
|
-
rowsHeightLookup.current[id] =
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
sizes: _extends({}, rowsHeightLookup.current[id].sizes, {
|
|
115
|
-
base: height
|
|
116
|
-
})
|
|
117
|
-
};
|
|
147
|
+
rowsHeightLookup.current[id].sizes.base = height;
|
|
148
|
+
rowsHeightLookup.current[id].isResized = true;
|
|
149
|
+
rowsHeightLookup.current[id].needsFirstMeasurement = false;
|
|
118
150
|
hydrateRowsMeta();
|
|
119
|
-
}, [hydrateRowsMeta]);
|
|
151
|
+
}, [hydrateRowsMeta]);
|
|
152
|
+
var storeMeasuredRowHeight = React.useCallback(function (id, height) {
|
|
153
|
+
if (!rowsHeightLookup.current[id] || !rowsHeightLookup.current[id].autoHeight) {
|
|
154
|
+
return;
|
|
155
|
+
} // Only trigger hydration if the value is different, otherwise we trigger a loop
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
var needsHydration = rowsHeightLookup.current[id].sizes.base !== height;
|
|
159
|
+
rowsHeightLookup.current[id].needsFirstMeasurement = false;
|
|
160
|
+
rowsHeightLookup.current[id].sizes.base = height;
|
|
161
|
+
|
|
162
|
+
if (needsHydration) {
|
|
163
|
+
hydrateRowsMeta();
|
|
164
|
+
}
|
|
165
|
+
}, [hydrateRowsMeta]);
|
|
166
|
+
var rowHasAutoHeight = React.useCallback(function (id) {
|
|
167
|
+
var _rowsHeightLookup$cur3;
|
|
168
|
+
|
|
169
|
+
return ((_rowsHeightLookup$cur3 = rowsHeightLookup.current[id]) == null ? void 0 : _rowsHeightLookup$cur3.autoHeight) || false;
|
|
170
|
+
}, []);
|
|
171
|
+
var getLastMeasuredRowIndex = React.useCallback(function () {
|
|
172
|
+
return lastMeasuredRowIndex.current;
|
|
173
|
+
}, []);
|
|
174
|
+
var setLastMeasuredRowIndex = React.useCallback(function (index) {
|
|
175
|
+
if (hasRowWithAutoHeight.current) {
|
|
176
|
+
lastMeasuredRowIndex.current = index;
|
|
177
|
+
}
|
|
178
|
+
}, []); // The effect is used to build the rows meta data - currentPageTotalHeight and positions.
|
|
120
179
|
// Because of variable row height this is needed for the virtualization
|
|
121
180
|
|
|
122
181
|
React.useEffect(function () {
|
|
123
182
|
hydrateRowsMeta();
|
|
124
|
-
}, [
|
|
183
|
+
}, [rowHeightFromDensity, filterState, paginationState, sortingState, hydrateRowsMeta]);
|
|
125
184
|
useGridRegisterPipeApplier(apiRef, 'rowHeight', hydrateRowsMeta);
|
|
126
185
|
var rowsMetaApi = {
|
|
127
|
-
|
|
186
|
+
unstable_getLastMeasuredRowIndex: getLastMeasuredRowIndex,
|
|
187
|
+
unstable_setLastMeasuredRowIndex: setLastMeasuredRowIndex,
|
|
188
|
+
unstable_rowHasAutoHeight: rowHasAutoHeight,
|
|
189
|
+
unstable_getRowHeight: getRowHeight,
|
|
128
190
|
unstable_getRowInternalSizes: getRowInternalSizes,
|
|
129
|
-
unstable_setRowHeight: setRowHeight
|
|
191
|
+
unstable_setRowHeight: setRowHeight,
|
|
192
|
+
unstable_storeRowHeightMeasurement: storeMeasuredRowHeight
|
|
130
193
|
};
|
|
131
194
|
useGridApiMethod(apiRef, rowsMetaApi, 'GridRowsMetaApi');
|
|
132
195
|
};
|
|
@@ -99,17 +99,40 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
99
99
|
var _ref2 = scrollPosition.current,
|
|
100
100
|
top = _ref2.top,
|
|
101
101
|
left = _ref2.left;
|
|
102
|
-
var firstRowIndex = getIndexFromScroll(top, rowsMeta.positions);
|
|
102
|
+
var firstRowIndex = Math.min(Math.max(0, apiRef.current.unstable_getLastMeasuredRowIndex()), getIndexFromScroll(top, rowsMeta.positions));
|
|
103
103
|
var lastRowIndex = rootProps.autoHeight ? firstRowIndex + currentPage.rows.length : getIndexFromScroll(top + rootRef.current.clientHeight, rowsMeta.positions);
|
|
104
|
-
var
|
|
105
|
-
var
|
|
104
|
+
var hasRowWithAutoHeight = false;
|
|
105
|
+
var firstColumnIndex = 0;
|
|
106
|
+
var lastColumnIndex = columnPositions.length;
|
|
107
|
+
|
|
108
|
+
var _getRenderableIndexes = getRenderableIndexes({
|
|
109
|
+
firstIndex: firstRowIndex,
|
|
110
|
+
lastIndex: lastRowIndex,
|
|
111
|
+
minFirstIndex: 0,
|
|
112
|
+
maxLastIndex: currentPage.rows.length,
|
|
113
|
+
buffer: rootProps.rowBuffer
|
|
114
|
+
}),
|
|
115
|
+
_getRenderableIndexes2 = _slicedToArray(_getRenderableIndexes, 2),
|
|
116
|
+
firstRowToRender = _getRenderableIndexes2[0],
|
|
117
|
+
lastRowToRender = _getRenderableIndexes2[1];
|
|
118
|
+
|
|
119
|
+
for (var i = firstRowToRender; i < lastRowToRender && !hasRowWithAutoHeight; i += 1) {
|
|
120
|
+
var row = currentPage.rows[i];
|
|
121
|
+
hasRowWithAutoHeight = apiRef.current.unstable_rowHasAutoHeight(row.id);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (!hasRowWithAutoHeight) {
|
|
125
|
+
firstColumnIndex = getIndexFromScroll(left, columnPositions);
|
|
126
|
+
lastColumnIndex = getIndexFromScroll(left + containerWidth, columnPositions);
|
|
127
|
+
}
|
|
128
|
+
|
|
106
129
|
return {
|
|
107
130
|
firstRowIndex: firstRowIndex,
|
|
108
131
|
lastRowIndex: lastRowIndex,
|
|
109
132
|
firstColumnIndex: firstColumnIndex,
|
|
110
133
|
lastColumnIndex: lastColumnIndex
|
|
111
134
|
};
|
|
112
|
-
}, [disableVirtualization, rowsMeta.positions, rootProps.autoHeight, currentPage.rows
|
|
135
|
+
}, [disableVirtualization, rowsMeta.positions, rootProps.autoHeight, rootProps.rowBuffer, currentPage.rows, columnPositions, visibleColumns.length, apiRef, containerWidth]);
|
|
113
136
|
React.useEffect(function () {
|
|
114
137
|
if (disableVirtualization) {
|
|
115
138
|
renderZoneRef.current.style.transform = "translate3d(0px, 0px, 0px)";
|
|
@@ -129,26 +152,26 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
129
152
|
}, []);
|
|
130
153
|
useGridApiEventHandler(apiRef, 'resize', handleResize);
|
|
131
154
|
var updateRenderZonePosition = React.useCallback(function (nextRenderContext) {
|
|
132
|
-
var
|
|
155
|
+
var _getRenderableIndexes3 = getRenderableIndexes({
|
|
133
156
|
firstIndex: nextRenderContext.firstRowIndex,
|
|
134
157
|
lastIndex: nextRenderContext.lastRowIndex,
|
|
135
158
|
minFirstIndex: 0,
|
|
136
159
|
maxLastIndex: currentPage.rows.length,
|
|
137
160
|
buffer: rootProps.rowBuffer
|
|
138
161
|
}),
|
|
139
|
-
|
|
140
|
-
firstRowToRender =
|
|
141
|
-
lastRowToRender =
|
|
162
|
+
_getRenderableIndexes4 = _slicedToArray(_getRenderableIndexes3, 2),
|
|
163
|
+
firstRowToRender = _getRenderableIndexes4[0],
|
|
164
|
+
lastRowToRender = _getRenderableIndexes4[1];
|
|
142
165
|
|
|
143
|
-
var
|
|
166
|
+
var _getRenderableIndexes5 = getRenderableIndexes({
|
|
144
167
|
firstIndex: nextRenderContext.firstColumnIndex,
|
|
145
168
|
lastIndex: nextRenderContext.lastColumnIndex,
|
|
146
169
|
minFirstIndex: renderZoneMinColumnIndex,
|
|
147
170
|
maxLastIndex: renderZoneMaxColumnIndex,
|
|
148
171
|
buffer: rootProps.columnBuffer
|
|
149
172
|
}),
|
|
150
|
-
|
|
151
|
-
initialFirstColumnToRender =
|
|
173
|
+
_getRenderableIndexes6 = _slicedToArray(_getRenderableIndexes5, 1),
|
|
174
|
+
initialFirstColumnToRender = _getRenderableIndexes6[0];
|
|
152
175
|
|
|
153
176
|
var firstColumnToRender = getFirstNonSpannedColumnToRender({
|
|
154
177
|
firstColumnToRender: initialFirstColumnToRender,
|
|
@@ -248,7 +271,8 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
248
271
|
_params$maxLastColumn = params.maxLastColumn,
|
|
249
272
|
maxLastColumn = _params$maxLastColumn === void 0 ? renderZoneMaxColumnIndex : _params$maxLastColumn,
|
|
250
273
|
_params$availableSpac = params.availableSpace,
|
|
251
|
-
availableSpace = _params$availableSpac === void 0 ? containerWidth : _params$availableSpac
|
|
274
|
+
availableSpace = _params$availableSpac === void 0 ? containerWidth : _params$availableSpac,
|
|
275
|
+
ignoreAutoHeight = params.ignoreAutoHeight;
|
|
252
276
|
|
|
253
277
|
if (!currentPage.range || !nextRenderContext || availableSpace == null) {
|
|
254
278
|
return null;
|
|
@@ -257,16 +281,16 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
257
281
|
var rowBuffer = !disableVirtualization ? rootProps.rowBuffer : 0;
|
|
258
282
|
var columnBuffer = !disableVirtualization ? rootProps.columnBuffer : 0;
|
|
259
283
|
|
|
260
|
-
var
|
|
284
|
+
var _getRenderableIndexes7 = getRenderableIndexes({
|
|
261
285
|
firstIndex: nextRenderContext.firstRowIndex,
|
|
262
286
|
lastIndex: nextRenderContext.lastRowIndex,
|
|
263
287
|
minFirstIndex: 0,
|
|
264
288
|
maxLastIndex: currentPage.rows.length,
|
|
265
289
|
buffer: rowBuffer
|
|
266
290
|
}),
|
|
267
|
-
|
|
268
|
-
firstRowToRender =
|
|
269
|
-
lastRowToRender =
|
|
291
|
+
_getRenderableIndexes8 = _slicedToArray(_getRenderableIndexes7, 2),
|
|
292
|
+
firstRowToRender = _getRenderableIndexes8[0],
|
|
293
|
+
lastRowToRender = _getRenderableIndexes8[1];
|
|
270
294
|
|
|
271
295
|
var renderedRows = [];
|
|
272
296
|
|
|
@@ -280,16 +304,16 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
280
304
|
});
|
|
281
305
|
}
|
|
282
306
|
|
|
283
|
-
var
|
|
307
|
+
var _getRenderableIndexes9 = getRenderableIndexes({
|
|
284
308
|
firstIndex: nextRenderContext.firstColumnIndex,
|
|
285
309
|
lastIndex: nextRenderContext.lastColumnIndex,
|
|
286
310
|
minFirstIndex: minFirstColumn,
|
|
287
311
|
maxLastIndex: maxLastColumn,
|
|
288
312
|
buffer: columnBuffer
|
|
289
313
|
}),
|
|
290
|
-
|
|
291
|
-
initialFirstColumnToRender =
|
|
292
|
-
lastColumnToRender =
|
|
314
|
+
_getRenderableIndexes10 = _slicedToArray(_getRenderableIndexes9, 2),
|
|
315
|
+
initialFirstColumnToRender = _getRenderableIndexes10[0],
|
|
316
|
+
lastColumnToRender = _getRenderableIndexes10[1];
|
|
293
317
|
|
|
294
318
|
var firstColumnToRender = getFirstNonSpannedColumnToRender({
|
|
295
319
|
firstColumnToRender: initialFirstColumnToRender,
|
|
@@ -308,7 +332,7 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
308
332
|
_id = _renderedRows$_i.id,
|
|
309
333
|
_model = _renderedRows$_i.model;
|
|
310
334
|
var lastVisibleRowIndex = firstRowToRender + _i === currentPage.rows.length - 1;
|
|
311
|
-
var
|
|
335
|
+
var baseRowHeight = !apiRef.current.unstable_rowHasAutoHeight(_id) || ignoreAutoHeight ? apiRef.current.unstable_getRowHeight(_id) : 'auto';
|
|
312
336
|
var isSelected = void 0;
|
|
313
337
|
|
|
314
338
|
if (selectedRowsLookup[_id] == null) {
|
|
@@ -322,7 +346,7 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
322
346
|
rows.push( /*#__PURE__*/_jsx(rootProps.components.Row, _extends({
|
|
323
347
|
row: _model,
|
|
324
348
|
rowId: _id,
|
|
325
|
-
rowHeight:
|
|
349
|
+
rowHeight: baseRowHeight,
|
|
326
350
|
cellFocus: cellFocus // TODO move to inside the row
|
|
327
351
|
,
|
|
328
352
|
cellTabIndex: cellTabIndex // TODO move to inside the row
|
package/legacy/index.js
CHANGED
package/legacy/locales/heIL.js
CHANGED
|
@@ -23,15 +23,15 @@ var heILGrid = {
|
|
|
23
23
|
return count !== 1 ? "".concat(count, " \u05DE\u05E1\u05E0\u05E0\u05D9\u05DD \u05E4\u05E2\u05D9\u05DC\u05D9\u05DD") : "\u05DE\u05E1\u05E0\u05DF \u05D0\u05D7\u05D3 \u05E4\u05E2\u05D9\u05DC";
|
|
24
24
|
},
|
|
25
25
|
// Quick filter toolbar field
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
toolbarQuickFilterPlaceholder: 'חיפוש...',
|
|
27
|
+
toolbarQuickFilterLabel: 'חיפוש',
|
|
28
|
+
toolbarQuickFilterDeleteIconLabel: 'ניקוי',
|
|
29
29
|
// Export selector toolbar button text
|
|
30
30
|
toolbarExport: 'ייצוא',
|
|
31
31
|
toolbarExportLabel: 'ייצוא',
|
|
32
|
-
toolbarExportCSV: '
|
|
32
|
+
toolbarExportCSV: 'ייצוא ל- CSV',
|
|
33
33
|
toolbarExportPrint: 'הדפסה',
|
|
34
|
-
|
|
34
|
+
toolbarExportExcel: 'ייצוא ל- Excel',
|
|
35
35
|
// Columns panel text
|
|
36
36
|
columnsPanelTextFieldLabel: 'חפש עמודה',
|
|
37
37
|
columnsPanelTextFieldPlaceholder: 'כותרת עמודה',
|
|
@@ -41,7 +41,7 @@ var heILGrid = {
|
|
|
41
41
|
// Filter panel text
|
|
42
42
|
filterPanelAddFilter: 'הוסף מסנן',
|
|
43
43
|
filterPanelDeleteIconLabel: 'מחק',
|
|
44
|
-
|
|
44
|
+
filterPanelLinkOperator: 'אופרטור לוגי',
|
|
45
45
|
filterPanelOperators: 'אופרטור',
|
|
46
46
|
// TODO v6: rename to filterPanelOperator
|
|
47
47
|
filterPanelOperatorAnd: 'וגם',
|
|
@@ -120,8 +120,8 @@ var heILGrid = {
|
|
|
120
120
|
},
|
|
121
121
|
// Master/detail
|
|
122
122
|
expandDetailPanel: 'הרחב',
|
|
123
|
-
collapseDetailPanel: 'כווץ'
|
|
124
|
-
//
|
|
125
|
-
|
|
123
|
+
collapseDetailPanel: 'כווץ',
|
|
124
|
+
// Row reordering text
|
|
125
|
+
rowReorderingHeaderName: 'סידור שורות'
|
|
126
126
|
};
|
|
127
127
|
export var heIL = getGridLocalization(heILGrid, heILCore);
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { nbNO as nbNOCore } from '@mui/material/locale';
|
|
2
|
+
import { getGridLocalization } from '../utils/getGridLocalization';
|
|
3
|
+
var nbNOGrid = {
|
|
4
|
+
// Root
|
|
5
|
+
noRowsLabel: 'Ingen rader',
|
|
6
|
+
noResultsOverlayLabel: 'Fant ingen resultat.',
|
|
7
|
+
errorOverlayDefaultLabel: 'Det skjedde en feil.',
|
|
8
|
+
// Density selector toolbar button text
|
|
9
|
+
toolbarDensity: 'Tetthet',
|
|
10
|
+
toolbarDensityLabel: 'Tetthet',
|
|
11
|
+
toolbarDensityCompact: 'Kompakt',
|
|
12
|
+
toolbarDensityStandard: 'Standard',
|
|
13
|
+
toolbarDensityComfortable: 'Komfortabelt',
|
|
14
|
+
// Columns selector toolbar button text
|
|
15
|
+
toolbarColumns: 'Kolonner',
|
|
16
|
+
toolbarColumnsLabel: 'Velg kolonner',
|
|
17
|
+
// Filters toolbar button text
|
|
18
|
+
toolbarFilters: 'Filter',
|
|
19
|
+
toolbarFiltersLabel: 'Vis filter',
|
|
20
|
+
toolbarFiltersTooltipHide: 'Skjul fitler',
|
|
21
|
+
toolbarFiltersTooltipShow: 'Vis filter',
|
|
22
|
+
toolbarFiltersTooltipActive: function toolbarFiltersTooltipActive(count) {
|
|
23
|
+
return count !== 1 ? "".concat(count, " aktive filter") : "".concat(count, " aktivt filter");
|
|
24
|
+
},
|
|
25
|
+
// Quick filter toolbar field
|
|
26
|
+
toolbarQuickFilterPlaceholder: 'Søk...',
|
|
27
|
+
toolbarQuickFilterLabel: 'Søk',
|
|
28
|
+
toolbarQuickFilterDeleteIconLabel: 'Slett',
|
|
29
|
+
// Export selector toolbar button text
|
|
30
|
+
toolbarExport: 'Eksporter',
|
|
31
|
+
toolbarExportLabel: 'Eksporter',
|
|
32
|
+
toolbarExportCSV: 'Last ned som CSV',
|
|
33
|
+
toolbarExportPrint: 'Skriv ut',
|
|
34
|
+
toolbarExportExcel: 'Last ned som Excel',
|
|
35
|
+
// Columns panel text
|
|
36
|
+
columnsPanelTextFieldLabel: 'Finn kolonne',
|
|
37
|
+
columnsPanelTextFieldPlaceholder: 'Kolonne tittel',
|
|
38
|
+
columnsPanelDragIconLabel: 'Reorganiser kolonne',
|
|
39
|
+
columnsPanelShowAllButton: 'Vis alle',
|
|
40
|
+
columnsPanelHideAllButton: 'Skjul alle',
|
|
41
|
+
// Filter panel text
|
|
42
|
+
filterPanelAddFilter: 'Legg til filter',
|
|
43
|
+
filterPanelDeleteIconLabel: 'Slett',
|
|
44
|
+
filterPanelLinkOperator: 'Logisk operator',
|
|
45
|
+
filterPanelOperators: 'Operatører',
|
|
46
|
+
// TODO v6: rename to filterPanelOperator
|
|
47
|
+
filterPanelOperatorAnd: 'Og',
|
|
48
|
+
filterPanelOperatorOr: 'Eller',
|
|
49
|
+
filterPanelColumns: 'Kolonner',
|
|
50
|
+
filterPanelInputLabel: 'Verdi',
|
|
51
|
+
filterPanelInputPlaceholder: 'Filter verdi',
|
|
52
|
+
// Filter operators text
|
|
53
|
+
filterOperatorContains: 'inneholder',
|
|
54
|
+
filterOperatorEquals: 'er lik',
|
|
55
|
+
filterOperatorStartsWith: 'starter med',
|
|
56
|
+
filterOperatorEndsWith: 'slutter med',
|
|
57
|
+
filterOperatorIs: 'er',
|
|
58
|
+
filterOperatorNot: 'er ikke',
|
|
59
|
+
filterOperatorAfter: 'er etter',
|
|
60
|
+
filterOperatorOnOrAfter: 'er på eller etter',
|
|
61
|
+
filterOperatorBefore: 'er før',
|
|
62
|
+
filterOperatorOnOrBefore: 'er på eller før',
|
|
63
|
+
filterOperatorIsEmpty: 'er tom',
|
|
64
|
+
filterOperatorIsNotEmpty: 'er ikke tom',
|
|
65
|
+
filterOperatorIsAnyOf: 'er en av',
|
|
66
|
+
// Filter values text
|
|
67
|
+
filterValueAny: 'noen',
|
|
68
|
+
filterValueTrue: 'sant',
|
|
69
|
+
filterValueFalse: 'usant',
|
|
70
|
+
// Column menu text
|
|
71
|
+
columnMenuLabel: 'Meny',
|
|
72
|
+
columnMenuShowColumns: 'Vis kolonner',
|
|
73
|
+
columnMenuFilter: 'Filter',
|
|
74
|
+
columnMenuHideColumn: 'Skjul',
|
|
75
|
+
columnMenuUnsort: 'Usorter',
|
|
76
|
+
columnMenuSortAsc: 'Sorter ØKENDE',
|
|
77
|
+
columnMenuSortDesc: 'Sorter SYNKENDE',
|
|
78
|
+
// Column header text
|
|
79
|
+
columnHeaderFiltersTooltipActive: function columnHeaderFiltersTooltipActive(count) {
|
|
80
|
+
return count !== 1 ? "".concat(count, " aktive filter") : "".concat(count, " aktivt filter");
|
|
81
|
+
},
|
|
82
|
+
columnHeaderFiltersLabel: 'Vis filter',
|
|
83
|
+
columnHeaderSortIconLabel: 'Sorter',
|
|
84
|
+
// Rows selected footer text
|
|
85
|
+
footerRowSelected: function footerRowSelected(count) {
|
|
86
|
+
return count !== 1 ? "".concat(count.toLocaleString(), " rader valgt") : "".concat(count.toLocaleString(), " rad valgt");
|
|
87
|
+
},
|
|
88
|
+
// Total row amount footer text
|
|
89
|
+
footerTotalRows: 'Totalt antall rader:',
|
|
90
|
+
// Total visible row amount footer text
|
|
91
|
+
footerTotalVisibleRows: function footerTotalVisibleRows(visibleCount, totalCount) {
|
|
92
|
+
return "".concat(visibleCount.toLocaleString(), " av ").concat(totalCount.toLocaleString());
|
|
93
|
+
},
|
|
94
|
+
// Checkbox selection text
|
|
95
|
+
checkboxSelectionHeaderName: 'Avmerkingsboks valgt',
|
|
96
|
+
checkboxSelectionSelectAllRows: 'Velg alle rader',
|
|
97
|
+
checkboxSelectionUnselectAllRows: 'Velg bort alle rader',
|
|
98
|
+
checkboxSelectionSelectRow: 'Velg rad',
|
|
99
|
+
checkboxSelectionUnselectRow: 'Velg bort rad',
|
|
100
|
+
// Boolean cell text
|
|
101
|
+
booleanCellTrueLabel: 'sant',
|
|
102
|
+
booleanCellFalseLabel: 'usant',
|
|
103
|
+
// Actions cell more text
|
|
104
|
+
actionsCellMore: 'mer',
|
|
105
|
+
// Column pinning text
|
|
106
|
+
pinToLeft: 'Fest til venstre',
|
|
107
|
+
pinToRight: 'Fest til høyre',
|
|
108
|
+
unpin: 'Løsne',
|
|
109
|
+
// Tree Data
|
|
110
|
+
treeDataGroupingHeaderName: 'Grupper',
|
|
111
|
+
treeDataExpand: 'se barn',
|
|
112
|
+
treeDataCollapse: 'skjul barn',
|
|
113
|
+
// Grouping columns
|
|
114
|
+
groupingColumnHeaderName: 'Grupper',
|
|
115
|
+
groupColumn: function groupColumn(name) {
|
|
116
|
+
return "Grupper p\xE5 ".concat(name);
|
|
117
|
+
},
|
|
118
|
+
unGroupColumn: function unGroupColumn(name) {
|
|
119
|
+
return "Stopp \xE5 grupper p\xE5 ".concat(name);
|
|
120
|
+
},
|
|
121
|
+
// Master/detail
|
|
122
|
+
expandDetailPanel: 'Utvid',
|
|
123
|
+
collapseDetailPanel: 'Kollaps',
|
|
124
|
+
// Row reordering text
|
|
125
|
+
rowReorderingHeaderName: 'Rad reorganisering'
|
|
126
|
+
};
|
|
127
|
+
export var nbNO = getGridLocalization(nbNOGrid, nbNOCore);
|
package/legacy/locales/trTR.js
CHANGED
|
@@ -23,15 +23,15 @@ var trTRGrid = {
|
|
|
23
23
|
return "".concat(count, " aktif filtre");
|
|
24
24
|
},
|
|
25
25
|
// Quick filter toolbar field
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
toolbarQuickFilterPlaceholder: 'Ara...',
|
|
27
|
+
toolbarQuickFilterLabel: 'Ara',
|
|
28
|
+
toolbarQuickFilterDeleteIconLabel: 'Temizle',
|
|
29
29
|
// Export selector toolbar button text
|
|
30
30
|
toolbarExport: 'Dışa aktar',
|
|
31
31
|
toolbarExportLabel: 'Dışa aktar',
|
|
32
32
|
toolbarExportCSV: 'CSV olarak aktar',
|
|
33
33
|
toolbarExportPrint: 'Yazdır',
|
|
34
|
-
|
|
34
|
+
toolbarExportExcel: 'Excel olarak aktar',
|
|
35
35
|
// Columns panel text
|
|
36
36
|
columnsPanelTextFieldLabel: 'Sütun ara',
|
|
37
37
|
columnsPanelTextFieldPlaceholder: 'Sütun adı',
|
|
@@ -64,9 +64,9 @@ var trTRGrid = {
|
|
|
64
64
|
filterOperatorIsNotEmpty: 'dolu',
|
|
65
65
|
filterOperatorIsAnyOf: 'herhangi biri',
|
|
66
66
|
// Filter values text
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
filterValueAny: 'herhangi',
|
|
68
|
+
filterValueTrue: 'doğru',
|
|
69
|
+
filterValueFalse: 'yanlış',
|
|
70
70
|
// Column menu text
|
|
71
71
|
columnMenuLabel: 'Menü',
|
|
72
72
|
columnMenuShowColumns: 'Sütunları göster',
|
|
@@ -82,6 +82,8 @@ var GridEvents;
|
|
|
82
82
|
GridEvents["virtualScrollerTouchMove"] = "virtualScrollerTouchMove";
|
|
83
83
|
GridEvents["preferencePanelClose"] = "preferencePanelClose";
|
|
84
84
|
GridEvents["preferencePanelOpen"] = "preferencePanelOpen";
|
|
85
|
+
GridEvents["menuOpen"] = "menuOpen";
|
|
86
|
+
GridEvents["menuClose"] = "menuClose";
|
|
85
87
|
})(GridEvents || (GridEvents = {}));
|
|
86
88
|
|
|
87
89
|
export { GridEvents };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -10,4 +10,5 @@ export * from './gridHeaderSelectionCheckboxParams';
|
|
|
10
10
|
export * from './gridValueOptionsParams';
|
|
11
11
|
export * from './gridCellParams';
|
|
12
12
|
export * from './gridSortModelParams';
|
|
13
|
-
export * from './gridPreferencePanelParams';
|
|
13
|
+
export * from './gridPreferencePanelParams';
|
|
14
|
+
export * from './gridMenuParams';
|
package/locales/heIL.js
CHANGED
|
@@ -21,15 +21,15 @@ const heILGrid = {
|
|
|
21
21
|
toolbarFiltersTooltipShow: 'הצג מסננים',
|
|
22
22
|
toolbarFiltersTooltipActive: count => count !== 1 ? `${count} מסננים פעילים` : `מסנן אחד פעיל`,
|
|
23
23
|
// Quick filter toolbar field
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
toolbarQuickFilterPlaceholder: 'חיפוש...',
|
|
25
|
+
toolbarQuickFilterLabel: 'חיפוש',
|
|
26
|
+
toolbarQuickFilterDeleteIconLabel: 'ניקוי',
|
|
27
27
|
// Export selector toolbar button text
|
|
28
28
|
toolbarExport: 'ייצוא',
|
|
29
29
|
toolbarExportLabel: 'ייצוא',
|
|
30
|
-
toolbarExportCSV: '
|
|
30
|
+
toolbarExportCSV: 'ייצוא ל- CSV',
|
|
31
31
|
toolbarExportPrint: 'הדפסה',
|
|
32
|
-
|
|
32
|
+
toolbarExportExcel: 'ייצוא ל- Excel',
|
|
33
33
|
// Columns panel text
|
|
34
34
|
columnsPanelTextFieldLabel: 'חפש עמודה',
|
|
35
35
|
columnsPanelTextFieldPlaceholder: 'כותרת עמודה',
|
|
@@ -39,7 +39,7 @@ const heILGrid = {
|
|
|
39
39
|
// Filter panel text
|
|
40
40
|
filterPanelAddFilter: 'הוסף מסנן',
|
|
41
41
|
filterPanelDeleteIconLabel: 'מחק',
|
|
42
|
-
|
|
42
|
+
filterPanelLinkOperator: 'אופרטור לוגי',
|
|
43
43
|
filterPanelOperators: 'אופרטור',
|
|
44
44
|
// TODO v6: rename to filterPanelOperator
|
|
45
45
|
filterPanelOperatorAnd: 'וגם',
|
|
@@ -108,8 +108,8 @@ const heILGrid = {
|
|
|
108
108
|
unGroupColumn: name => `הפסק לקבץ לפי ${name}`,
|
|
109
109
|
// Master/detail
|
|
110
110
|
expandDetailPanel: 'הרחב',
|
|
111
|
-
collapseDetailPanel: 'כווץ'
|
|
112
|
-
//
|
|
113
|
-
|
|
111
|
+
collapseDetailPanel: 'כווץ',
|
|
112
|
+
// Row reordering text
|
|
113
|
+
rowReorderingHeaderName: 'סידור שורות'
|
|
114
114
|
};
|
|
115
115
|
export const heIL = getGridLocalization(heILGrid, heILCore);
|