@mui/x-data-grid 7.16.0 → 7.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +184 -4
- package/DataGrid/DataGrid.js +11 -1
- package/DataGrid/useDataGridComponent.js +3 -0
- package/DataGrid/useDataGridProps.js +2 -1
- package/colDef/gridStringOperators.js +49 -33
- package/components/GridRow.js +1 -0
- package/components/cell/GridCell.js +30 -5
- package/components/columnHeaders/GridColumnHeaderItem.d.ts +2 -0
- package/components/columnHeaders/GridColumnHeaderItem.js +9 -2
- package/components/columnHeaders/GridColumnHeaderTitle.js +3 -1
- package/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -2
- package/components/containers/GridRootStyles.js +3 -7
- package/components/panel/filterPanel/GridFilterForm.js +1 -1
- package/constants/gridClasses.d.ts +10 -0
- package/constants/gridClasses.js +1 -1
- package/constants/localeTextConstants.js +4 -0
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +0 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +17 -12
- package/hooks/features/columnResize/useGridColumnResize.js +6 -6
- package/hooks/features/dimensions/gridDimensionsApi.d.ts +4 -0
- package/hooks/features/dimensions/useGridDimensions.d.ts +1 -1
- package/hooks/features/dimensions/useGridDimensions.js +4 -1
- package/hooks/features/editing/useGridCellEditing.js +3 -19
- package/hooks/features/editing/useGridRowEditing.js +7 -2
- package/hooks/features/editing/utils.d.ts +2 -0
- package/hooks/features/editing/utils.js +15 -0
- package/hooks/features/export/serializers/csvSerializer.js +1 -1
- package/hooks/features/export/useGridPrintExport.js +2 -1
- package/hooks/features/filter/gridFilterUtils.js +1 -1
- package/hooks/features/focus/useGridFocus.js +2 -1
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +10 -46
- package/hooks/features/keyboardNavigation/utils.d.ts +17 -0
- package/hooks/features/keyboardNavigation/utils.js +58 -0
- package/hooks/features/rows/gridRowSpanningSelectors.d.ts +4 -0
- package/hooks/features/rows/gridRowSpanningSelectors.js +5 -0
- package/hooks/features/rows/gridRowSpanningUtils.d.ts +10 -0
- package/hooks/features/rows/gridRowSpanningUtils.js +42 -0
- package/hooks/features/rows/useGridRowSpanning.d.ts +27 -0
- package/hooks/features/rows/useGridRowSpanning.js +257 -0
- package/hooks/features/sorting/gridSortingUtils.js +1 -1
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +1 -1
- package/hooks/features/virtualization/useGridVirtualScroller.js +17 -7
- package/hooks/utils/useGridApiEventHandler.js +0 -1
- package/hooks/utils/useGridSelector.js +1 -1
- package/index.js +1 -1
- package/internals/index.d.ts +1 -0
- package/internals/index.js +1 -0
- package/internals/utils/index.d.ts +0 -1
- package/internals/utils/index.js +1 -2
- package/internals/utils/propValidation.js +1 -1
- package/locales/arSD.js +4 -0
- package/locales/beBY.js +4 -0
- package/locales/bgBG.js +4 -0
- package/locales/csCZ.js +4 -0
- package/locales/daDK.js +4 -0
- package/locales/deDE.js +4 -0
- package/locales/elGR.js +4 -0
- package/locales/esES.js +4 -0
- package/locales/faIR.js +4 -0
- package/locales/fiFI.js +4 -0
- package/locales/frFR.js +4 -0
- package/locales/heIL.js +4 -0
- package/locales/hrHR.js +4 -0
- package/locales/huHU.js +11 -8
- package/locales/isIS.js +4 -0
- package/locales/itIT.js +4 -0
- package/locales/jaJP.js +4 -0
- package/locales/koKR.js +4 -0
- package/locales/nbNO.js +4 -0
- package/locales/nlNL.js +4 -0
- package/locales/nnNO.js +4 -0
- package/locales/plPL.js +4 -0
- package/locales/ptBR.js +4 -0
- package/locales/ptPT.js +4 -0
- package/locales/roRO.js +4 -0
- package/locales/ruRU.js +4 -0
- package/locales/skSK.js +4 -0
- package/locales/svSE.js +4 -0
- package/locales/trTR.js +4 -0
- package/locales/ukUA.js +4 -0
- package/locales/urPK.js +4 -0
- package/locales/viVN.js +4 -0
- package/locales/zhCN.js +4 -0
- package/locales/zhHK.js +4 -0
- package/locales/zhTW.js +4 -0
- package/models/api/gridLocaleTextApi.d.ts +4 -0
- package/models/colDef/gridColDef.d.ts +4 -0
- package/models/gridStateCommunity.d.ts +2 -0
- package/models/props/DataGridProps.d.ts +10 -0
- package/modern/DataGrid/DataGrid.js +11 -1
- package/modern/DataGrid/useDataGridComponent.js +3 -0
- package/modern/DataGrid/useDataGridProps.js +2 -1
- package/modern/colDef/gridStringOperators.js +49 -33
- package/modern/components/GridRow.js +1 -0
- package/modern/components/cell/GridCell.js +30 -5
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +9 -2
- package/modern/components/columnHeaders/GridColumnHeaderTitle.js +3 -1
- package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -2
- package/modern/components/containers/GridRootStyles.js +3 -7
- package/modern/components/panel/filterPanel/GridFilterForm.js +1 -1
- package/modern/constants/gridClasses.js +1 -1
- package/modern/constants/localeTextConstants.js +4 -0
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +17 -12
- package/modern/hooks/features/columnResize/useGridColumnResize.js +6 -6
- package/modern/hooks/features/dimensions/useGridDimensions.js +4 -1
- package/modern/hooks/features/editing/useGridCellEditing.js +3 -19
- package/modern/hooks/features/editing/useGridRowEditing.js +7 -2
- package/modern/hooks/features/editing/utils.js +15 -0
- package/modern/hooks/features/export/serializers/csvSerializer.js +1 -1
- package/modern/hooks/features/export/useGridPrintExport.js +2 -1
- package/modern/hooks/features/filter/gridFilterUtils.js +1 -1
- package/modern/hooks/features/focus/useGridFocus.js +2 -1
- package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +10 -46
- package/modern/hooks/features/keyboardNavigation/utils.js +58 -0
- package/modern/hooks/features/rows/gridRowSpanningSelectors.js +5 -0
- package/modern/hooks/features/rows/gridRowSpanningUtils.js +42 -0
- package/modern/hooks/features/rows/useGridRowSpanning.js +257 -0
- package/modern/hooks/features/sorting/gridSortingUtils.js +1 -1
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +17 -7
- package/modern/hooks/utils/useGridApiEventHandler.js +0 -1
- package/modern/hooks/utils/useGridSelector.js +1 -1
- package/modern/index.js +1 -1
- package/modern/internals/index.js +1 -0
- package/modern/internals/utils/index.js +1 -2
- package/modern/internals/utils/propValidation.js +1 -1
- package/modern/locales/arSD.js +4 -0
- package/modern/locales/beBY.js +4 -0
- package/modern/locales/bgBG.js +4 -0
- package/modern/locales/csCZ.js +4 -0
- package/modern/locales/daDK.js +4 -0
- package/modern/locales/deDE.js +4 -0
- package/modern/locales/elGR.js +4 -0
- package/modern/locales/esES.js +4 -0
- package/modern/locales/faIR.js +4 -0
- package/modern/locales/fiFI.js +4 -0
- package/modern/locales/frFR.js +4 -0
- package/modern/locales/heIL.js +4 -0
- package/modern/locales/hrHR.js +4 -0
- package/modern/locales/huHU.js +11 -8
- package/modern/locales/isIS.js +4 -0
- package/modern/locales/itIT.js +4 -0
- package/modern/locales/jaJP.js +4 -0
- package/modern/locales/koKR.js +4 -0
- package/modern/locales/nbNO.js +4 -0
- package/modern/locales/nlNL.js +4 -0
- package/modern/locales/nnNO.js +4 -0
- package/modern/locales/plPL.js +4 -0
- package/modern/locales/ptBR.js +4 -0
- package/modern/locales/ptPT.js +4 -0
- package/modern/locales/roRO.js +4 -0
- package/modern/locales/ruRU.js +4 -0
- package/modern/locales/skSK.js +4 -0
- package/modern/locales/svSE.js +4 -0
- package/modern/locales/trTR.js +4 -0
- package/modern/locales/ukUA.js +4 -0
- package/modern/locales/urPK.js +4 -0
- package/modern/locales/viVN.js +4 -0
- package/modern/locales/zhCN.js +4 -0
- package/modern/locales/zhHK.js +4 -0
- package/modern/locales/zhTW.js +4 -0
- package/modern/utils/createSelector.js +1 -1
- package/modern/utils/domUtils.js +12 -12
- package/node/DataGrid/DataGrid.js +11 -1
- package/node/DataGrid/useDataGridComponent.js +3 -0
- package/node/DataGrid/useDataGridProps.js +2 -1
- package/node/colDef/gridStringOperators.js +49 -33
- package/node/components/GridRow.js +1 -0
- package/node/components/cell/GridCell.js +30 -5
- package/node/components/columnHeaders/GridColumnHeaderItem.js +9 -2
- package/node/components/columnHeaders/GridColumnHeaderTitle.js +3 -1
- package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -2
- package/node/components/containers/GridRootStyles.js +3 -7
- package/node/components/panel/filterPanel/GridFilterForm.js +1 -1
- package/node/constants/gridClasses.js +1 -1
- package/node/constants/localeTextConstants.js +4 -0
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +17 -12
- package/node/hooks/features/columnResize/useGridColumnResize.js +6 -6
- package/node/hooks/features/dimensions/useGridDimensions.js +4 -1
- package/node/hooks/features/editing/useGridCellEditing.js +3 -19
- package/node/hooks/features/editing/useGridRowEditing.js +7 -2
- package/node/hooks/features/editing/utils.js +22 -0
- package/node/hooks/features/export/serializers/csvSerializer.js +1 -1
- package/node/hooks/features/export/useGridPrintExport.js +2 -1
- package/node/hooks/features/filter/gridFilterUtils.js +1 -1
- package/node/hooks/features/focus/useGridFocus.js +2 -1
- package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +16 -53
- package/node/hooks/features/keyboardNavigation/utils.js +68 -0
- package/node/hooks/features/rows/gridRowSpanningSelectors.js +11 -0
- package/node/hooks/features/rows/gridRowSpanningUtils.js +52 -0
- package/node/hooks/features/rows/useGridRowSpanning.js +267 -0
- package/node/hooks/features/sorting/gridSortingUtils.js +1 -1
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +17 -7
- package/node/hooks/utils/useGridApiEventHandler.js +0 -1
- package/node/hooks/utils/useGridSelector.js +1 -1
- package/node/index.js +1 -1
- package/node/internals/index.js +15 -0
- package/node/internals/utils/index.js +0 -11
- package/node/internals/utils/propValidation.js +1 -1
- package/node/locales/arSD.js +4 -0
- package/node/locales/beBY.js +4 -0
- package/node/locales/bgBG.js +4 -0
- package/node/locales/csCZ.js +4 -0
- package/node/locales/daDK.js +4 -0
- package/node/locales/deDE.js +4 -0
- package/node/locales/elGR.js +4 -0
- package/node/locales/esES.js +4 -0
- package/node/locales/faIR.js +4 -0
- package/node/locales/fiFI.js +4 -0
- package/node/locales/frFR.js +4 -0
- package/node/locales/heIL.js +4 -0
- package/node/locales/hrHR.js +4 -0
- package/node/locales/huHU.js +11 -8
- package/node/locales/isIS.js +4 -0
- package/node/locales/itIT.js +4 -0
- package/node/locales/jaJP.js +4 -0
- package/node/locales/koKR.js +4 -0
- package/node/locales/nbNO.js +4 -0
- package/node/locales/nlNL.js +4 -0
- package/node/locales/nnNO.js +4 -0
- package/node/locales/plPL.js +4 -0
- package/node/locales/ptBR.js +4 -0
- package/node/locales/ptPT.js +4 -0
- package/node/locales/roRO.js +4 -0
- package/node/locales/ruRU.js +4 -0
- package/node/locales/skSK.js +4 -0
- package/node/locales/svSE.js +4 -0
- package/node/locales/trTR.js +4 -0
- package/node/locales/ukUA.js +4 -0
- package/node/locales/urPK.js +4 -0
- package/node/locales/viVN.js +4 -0
- package/node/locales/zhCN.js +4 -0
- package/node/locales/zhHK.js +4 -0
- package/node/locales/zhTW.js +4 -0
- package/node/utils/createSelector.js +1 -1
- package/node/utils/domUtils.js +12 -12
- package/package.json +3 -3
- package/utils/createSelector.js +1 -1
- package/utils/domUtils.d.ts +4 -4
- package/utils/domUtils.js +12 -12
- package/internals/utils/warning.d.ts +0 -2
- package/internals/utils/warning.js +0 -21
- package/modern/internals/utils/warning.js +0 -21
- package/node/internals/utils/warning.js +0 -28
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.useGridRowSpanning = exports.rowSpanningStateInitializer = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
|
|
12
|
+
var _gridColumnsSelector = require("../columns/gridColumnsSelector");
|
|
13
|
+
var _useGridVisibleRows = require("../../utils/useGridVisibleRows");
|
|
14
|
+
var _gridVirtualizationSelectors = require("../virtualization/gridVirtualizationSelectors");
|
|
15
|
+
var _useGridSelector = require("../../utils/useGridSelector");
|
|
16
|
+
var _gridRowSpanningUtils = require("./gridRowSpanningUtils");
|
|
17
|
+
const EMPTY_STATE = {
|
|
18
|
+
spannedCells: {},
|
|
19
|
+
hiddenCells: {},
|
|
20
|
+
hiddenCellOriginMap: {}
|
|
21
|
+
};
|
|
22
|
+
const EMPTY_RANGE = {
|
|
23
|
+
firstRowIndex: 0,
|
|
24
|
+
lastRowIndex: 0
|
|
25
|
+
};
|
|
26
|
+
const skippedFields = new Set(['__check__', '__reorder__', '__detail_panel_toggle__']);
|
|
27
|
+
/**
|
|
28
|
+
* Default number of rows to process during state initialization to avoid flickering.
|
|
29
|
+
* Number `20` is arbitrarily chosen to be large enough to cover most of the cases without
|
|
30
|
+
* compromising performance.
|
|
31
|
+
*/
|
|
32
|
+
const DEFAULT_ROWS_TO_PROCESS = 20;
|
|
33
|
+
const computeRowSpanningState = (apiRef, colDefs, visibleRows, range, rangeToProcess, resetState, processedRange) => {
|
|
34
|
+
const spannedCells = resetState ? {} : (0, _extends2.default)({}, apiRef.current.state.rowSpanning.spannedCells);
|
|
35
|
+
const hiddenCells = resetState ? {} : (0, _extends2.default)({}, apiRef.current.state.rowSpanning.hiddenCells);
|
|
36
|
+
const hiddenCellOriginMap = resetState ? {} : (0, _extends2.default)({}, apiRef.current.state.rowSpanning.hiddenCellOriginMap);
|
|
37
|
+
if (resetState) {
|
|
38
|
+
processedRange = EMPTY_RANGE;
|
|
39
|
+
}
|
|
40
|
+
colDefs.forEach(colDef => {
|
|
41
|
+
if (skippedFields.has(colDef.field)) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
for (let index = rangeToProcess.firstRowIndex; index <= rangeToProcess.lastRowIndex; index += 1) {
|
|
45
|
+
const row = visibleRows[index];
|
|
46
|
+
if (hiddenCells[row.id]?.[colDef.field]) {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
const cellValue = (0, _gridRowSpanningUtils.getCellValue)(row.model, colDef, apiRef);
|
|
50
|
+
if (cellValue == null) {
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
let spannedRowId = row.id;
|
|
54
|
+
let spannedRowIndex = index;
|
|
55
|
+
let rowSpan = 0;
|
|
56
|
+
|
|
57
|
+
// For first index, also scan in the previous rows to handle the reset state case e.g by sorting
|
|
58
|
+
const backwardsHiddenCells = [];
|
|
59
|
+
if (index === rangeToProcess.firstRowIndex) {
|
|
60
|
+
let prevIndex = index - 1;
|
|
61
|
+
const prevRowEntry = visibleRows[prevIndex];
|
|
62
|
+
while (prevIndex >= range.firstRowIndex && (0, _gridRowSpanningUtils.getCellValue)(prevRowEntry.model, colDef, apiRef) === cellValue) {
|
|
63
|
+
const currentRow = visibleRows[prevIndex + 1];
|
|
64
|
+
if (hiddenCells[currentRow.id]) {
|
|
65
|
+
hiddenCells[currentRow.id][colDef.field] = true;
|
|
66
|
+
} else {
|
|
67
|
+
hiddenCells[currentRow.id] = {
|
|
68
|
+
[colDef.field]: true
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
backwardsHiddenCells.push(index);
|
|
72
|
+
rowSpan += 1;
|
|
73
|
+
spannedRowId = prevRowEntry.id;
|
|
74
|
+
spannedRowIndex = prevIndex;
|
|
75
|
+
prevIndex -= 1;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
backwardsHiddenCells.forEach(hiddenCellIndex => {
|
|
79
|
+
if (hiddenCellOriginMap[hiddenCellIndex]) {
|
|
80
|
+
hiddenCellOriginMap[hiddenCellIndex][colDef.field] = spannedRowIndex;
|
|
81
|
+
} else {
|
|
82
|
+
hiddenCellOriginMap[hiddenCellIndex] = {
|
|
83
|
+
[colDef.field]: spannedRowIndex
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
// Scan the next rows
|
|
89
|
+
let relativeIndex = index + 1;
|
|
90
|
+
while (relativeIndex <= range.lastRowIndex && visibleRows[relativeIndex] && (0, _gridRowSpanningUtils.getCellValue)(visibleRows[relativeIndex].model, colDef, apiRef) === cellValue) {
|
|
91
|
+
const currentRow = visibleRows[relativeIndex];
|
|
92
|
+
if (hiddenCells[currentRow.id]) {
|
|
93
|
+
hiddenCells[currentRow.id][colDef.field] = true;
|
|
94
|
+
} else {
|
|
95
|
+
hiddenCells[currentRow.id] = {
|
|
96
|
+
[colDef.field]: true
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
if (hiddenCellOriginMap[relativeIndex]) {
|
|
100
|
+
hiddenCellOriginMap[relativeIndex][colDef.field] = spannedRowIndex;
|
|
101
|
+
} else {
|
|
102
|
+
hiddenCellOriginMap[relativeIndex] = {
|
|
103
|
+
[colDef.field]: spannedRowIndex
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
relativeIndex += 1;
|
|
107
|
+
rowSpan += 1;
|
|
108
|
+
}
|
|
109
|
+
if (rowSpan > 0) {
|
|
110
|
+
if (spannedCells[spannedRowId]) {
|
|
111
|
+
spannedCells[spannedRowId][colDef.field] = rowSpan + 1;
|
|
112
|
+
} else {
|
|
113
|
+
spannedCells[spannedRowId] = {
|
|
114
|
+
[colDef.field]: rowSpan + 1
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
processedRange = {
|
|
120
|
+
firstRowIndex: Math.min(processedRange.firstRowIndex, rangeToProcess.firstRowIndex),
|
|
121
|
+
lastRowIndex: Math.max(processedRange.lastRowIndex, rangeToProcess.lastRowIndex)
|
|
122
|
+
};
|
|
123
|
+
});
|
|
124
|
+
return {
|
|
125
|
+
spannedCells,
|
|
126
|
+
hiddenCells,
|
|
127
|
+
hiddenCellOriginMap,
|
|
128
|
+
processedRange
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* @requires columnsStateInitializer (method) - should be initialized before
|
|
134
|
+
* @requires rowsStateInitializer (method) - should be initialized before
|
|
135
|
+
* @requires filterStateInitializer (method) - should be initialized before
|
|
136
|
+
*/
|
|
137
|
+
const rowSpanningStateInitializer = (state, props, apiRef) => {
|
|
138
|
+
if (props.unstable_rowSpanning) {
|
|
139
|
+
const rowIds = state.rows.dataRowIds || [];
|
|
140
|
+
const orderedFields = state.columns.orderedFields || [];
|
|
141
|
+
const dataRowIdToModelLookup = state.rows.dataRowIdToModelLookup;
|
|
142
|
+
const columnsLookup = state.columns.lookup;
|
|
143
|
+
const isFilteringPending = Boolean(state.filter.filterModel.items.length) || Boolean(state.filter.filterModel.quickFilterValues?.length);
|
|
144
|
+
if (!rowIds.length || !orderedFields.length || !dataRowIdToModelLookup || !columnsLookup || isFilteringPending) {
|
|
145
|
+
return (0, _extends2.default)({}, state, {
|
|
146
|
+
rowSpanning: EMPTY_STATE
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
const rangeToProcess = {
|
|
150
|
+
firstRowIndex: 0,
|
|
151
|
+
lastRowIndex: Math.min(DEFAULT_ROWS_TO_PROCESS - 1, Math.max(rowIds.length - 1, 0))
|
|
152
|
+
};
|
|
153
|
+
const rows = rowIds.map(id => ({
|
|
154
|
+
id,
|
|
155
|
+
model: dataRowIdToModelLookup[id]
|
|
156
|
+
}));
|
|
157
|
+
const colDefs = orderedFields.map(field => columnsLookup[field]);
|
|
158
|
+
const {
|
|
159
|
+
spannedCells,
|
|
160
|
+
hiddenCells,
|
|
161
|
+
hiddenCellOriginMap
|
|
162
|
+
} = computeRowSpanningState(apiRef, colDefs, rows, rangeToProcess, rangeToProcess, true, EMPTY_RANGE);
|
|
163
|
+
return (0, _extends2.default)({}, state, {
|
|
164
|
+
rowSpanning: {
|
|
165
|
+
spannedCells,
|
|
166
|
+
hiddenCells,
|
|
167
|
+
hiddenCellOriginMap
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
return (0, _extends2.default)({}, state, {
|
|
172
|
+
rowSpanning: EMPTY_STATE
|
|
173
|
+
});
|
|
174
|
+
};
|
|
175
|
+
exports.rowSpanningStateInitializer = rowSpanningStateInitializer;
|
|
176
|
+
const useGridRowSpanning = (apiRef, props) => {
|
|
177
|
+
const {
|
|
178
|
+
range,
|
|
179
|
+
rows: visibleRows
|
|
180
|
+
} = (0, _useGridVisibleRows.useGridVisibleRows)(apiRef, props);
|
|
181
|
+
const renderContext = (0, _useGridSelector.useGridSelector)(apiRef, _gridVirtualizationSelectors.gridRenderContextSelector);
|
|
182
|
+
const colDefs = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridVisibleColumnDefinitionsSelector);
|
|
183
|
+
const processedRange = (0, _useLazyRef.default)(() => {
|
|
184
|
+
return Object.keys(apiRef.current.state.rowSpanning.spannedCells).length > 0 ? {
|
|
185
|
+
firstRowIndex: 0,
|
|
186
|
+
lastRowIndex: Math.min(DEFAULT_ROWS_TO_PROCESS - 1, Math.max(apiRef.current.state.rows.dataRowIds.length - 1, 0))
|
|
187
|
+
} : EMPTY_RANGE;
|
|
188
|
+
});
|
|
189
|
+
const lastRange = React.useRef(EMPTY_RANGE);
|
|
190
|
+
const updateRowSpanningState = React.useCallback(
|
|
191
|
+
// A reset needs to occur when:
|
|
192
|
+
// - The `unstable_rowSpanning` prop is updated (feature flag)
|
|
193
|
+
// - The filtering is applied
|
|
194
|
+
// - The sorting is applied
|
|
195
|
+
// - The `paginationModel` is updated
|
|
196
|
+
// - The rows are updated
|
|
197
|
+
(resetState = true) => {
|
|
198
|
+
if (!props.unstable_rowSpanning) {
|
|
199
|
+
if (apiRef.current.state.rowSpanning !== EMPTY_STATE) {
|
|
200
|
+
apiRef.current.setState(state => (0, _extends2.default)({}, state, {
|
|
201
|
+
rowSpanning: EMPTY_STATE
|
|
202
|
+
}));
|
|
203
|
+
}
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
if (range === null || !(0, _gridRowSpanningUtils.isRowContextInitialized)(renderContext)) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
if (resetState) {
|
|
210
|
+
processedRange.current = EMPTY_RANGE;
|
|
211
|
+
}
|
|
212
|
+
const rangeToProcess = (0, _gridRowSpanningUtils.getUnprocessedRange)({
|
|
213
|
+
firstRowIndex: renderContext.firstRowIndex,
|
|
214
|
+
lastRowIndex: renderContext.lastRowIndex - 1
|
|
215
|
+
}, processedRange.current);
|
|
216
|
+
if (rangeToProcess === null) {
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
const {
|
|
220
|
+
spannedCells,
|
|
221
|
+
hiddenCells,
|
|
222
|
+
hiddenCellOriginMap,
|
|
223
|
+
processedRange: newProcessedRange
|
|
224
|
+
} = computeRowSpanningState(apiRef, colDefs, visibleRows, range, rangeToProcess, resetState, processedRange.current);
|
|
225
|
+
processedRange.current = newProcessedRange;
|
|
226
|
+
const newSpannedCellsCount = Object.keys(spannedCells).length;
|
|
227
|
+
const newHiddenCellsCount = Object.keys(hiddenCells).length;
|
|
228
|
+
const currentSpannedCellsCount = Object.keys(apiRef.current.state.rowSpanning.spannedCells).length;
|
|
229
|
+
const currentHiddenCellsCount = Object.keys(apiRef.current.state.rowSpanning.hiddenCells).length;
|
|
230
|
+
const shouldUpdateState = resetState || newSpannedCellsCount !== currentSpannedCellsCount || newHiddenCellsCount !== currentHiddenCellsCount;
|
|
231
|
+
if (!shouldUpdateState) {
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
apiRef.current.setState(state => {
|
|
235
|
+
return (0, _extends2.default)({}, state, {
|
|
236
|
+
rowSpanning: {
|
|
237
|
+
spannedCells,
|
|
238
|
+
hiddenCells,
|
|
239
|
+
hiddenCellOriginMap
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
});
|
|
243
|
+
}, [apiRef, props.unstable_rowSpanning, range, renderContext, visibleRows, colDefs, processedRange]);
|
|
244
|
+
const prevRenderContext = React.useRef(renderContext);
|
|
245
|
+
const isFirstRender = React.useRef(true);
|
|
246
|
+
const shouldResetState = React.useRef(false);
|
|
247
|
+
React.useEffect(() => {
|
|
248
|
+
const firstRender = isFirstRender.current;
|
|
249
|
+
if (isFirstRender.current) {
|
|
250
|
+
isFirstRender.current = false;
|
|
251
|
+
}
|
|
252
|
+
if (range && lastRange.current && (0, _gridRowSpanningUtils.isRowRangeUpdated)(range, lastRange.current)) {
|
|
253
|
+
lastRange.current = range;
|
|
254
|
+
shouldResetState.current = true;
|
|
255
|
+
}
|
|
256
|
+
if (!firstRender && prevRenderContext.current !== renderContext) {
|
|
257
|
+
if ((0, _gridRowSpanningUtils.isRowRangeUpdated)(prevRenderContext.current, renderContext)) {
|
|
258
|
+
updateRowSpanningState(shouldResetState.current);
|
|
259
|
+
shouldResetState.current = false;
|
|
260
|
+
}
|
|
261
|
+
prevRenderContext.current = renderContext;
|
|
262
|
+
return;
|
|
263
|
+
}
|
|
264
|
+
updateRowSpanningState();
|
|
265
|
+
}, [updateRowSpanningState, renderContext, range, lastRange]);
|
|
266
|
+
};
|
|
267
|
+
exports.useGridRowSpanning = useGridRowSpanning;
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.sanitizeSortModel = exports.mergeStateWithSortModel = exports.gridStringOrNumberComparator = exports.gridNumberComparator = exports.gridDateComparator = exports.getNextGridSortDirection = exports.buildAggregatedSortingApplier = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _warning = require("
|
|
9
|
+
var _warning = require("@mui/x-internals/warning");
|
|
10
10
|
const sanitizeSortModel = (model, disableMultipleColumnsSorting) => {
|
|
11
11
|
if (disableMultipleColumnsSorting && model.length > 1) {
|
|
12
12
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -35,6 +35,7 @@ var _gridColumnsUtils = require("../columns/gridColumnsUtils");
|
|
|
35
35
|
var _gridRowsUtils = require("../rows/gridRowsUtils");
|
|
36
36
|
var _gridVirtualizationSelectors = require("./gridVirtualizationSelectors");
|
|
37
37
|
var _useGridVirtualization = require("./useGridVirtualization");
|
|
38
|
+
var _gridRowSpanningSelectors = require("../rows/gridRowSpanningSelectors");
|
|
38
39
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
39
40
|
const MINIMUM_COLUMN_WIDTH = 50;
|
|
40
41
|
var ScrollDirection = /*#__PURE__*/function (ScrollDirection) {
|
|
@@ -336,7 +337,7 @@ const useGridVirtualScroller = () => {
|
|
|
336
337
|
if (!isPinnedSection && frozenContext.current && rowIndexInPage >= frozenContext.current.firstRowIndex && rowIndexInPage < frozenContext.current.lastRowIndex) {
|
|
337
338
|
currentRenderContext = frozenContext.current;
|
|
338
339
|
}
|
|
339
|
-
const offsetLeft = computeOffsetLeft(columnPositions, currentRenderContext,
|
|
340
|
+
const offsetLeft = computeOffsetLeft(columnPositions, currentRenderContext, pinnedColumns.left.length);
|
|
340
341
|
const showBottomBorder = isLastVisibleInSection && params.position === 'top';
|
|
341
342
|
rows.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.row, (0, _extends2.default)({
|
|
342
343
|
row: model,
|
|
@@ -364,7 +365,7 @@ const useGridVirtualScroller = () => {
|
|
|
364
365
|
if (panel) {
|
|
365
366
|
rows.push(panel);
|
|
366
367
|
}
|
|
367
|
-
if (
|
|
368
|
+
if (params.position === undefined && isLastVisibleInSection) {
|
|
368
369
|
rows.push(apiRef.current.getInfiniteLoadingTriggerElement?.({
|
|
369
370
|
lastRowId: id
|
|
370
371
|
}));
|
|
@@ -459,6 +460,7 @@ function inputsSelector(apiRef, rootProps, enabledForRows, enabledForColumns) {
|
|
|
459
460
|
const dimensions = (0, _gridDimensionsSelectors.gridDimensionsSelector)(apiRef.current.state);
|
|
460
461
|
const currentPage = (0, _useGridVisibleRows.getVisibleRows)(apiRef, rootProps);
|
|
461
462
|
const visibleColumns = (0, _gridColumnsSelector.gridVisibleColumnDefinitionsSelector)(apiRef);
|
|
463
|
+
const hiddenCellsOriginMap = (0, _gridRowSpanningSelectors.gridRowSpanningHiddenCellsOriginMapSelector)(apiRef);
|
|
462
464
|
const lastRowId = apiRef.current.state.rows.dataRowIds.at(-1);
|
|
463
465
|
const lastColumn = visibleColumns.at(-1);
|
|
464
466
|
return {
|
|
@@ -479,7 +481,8 @@ function inputsSelector(apiRef, rootProps, enabledForRows, enabledForColumns) {
|
|
|
479
481
|
rows: currentPage.rows,
|
|
480
482
|
range: currentPage.range,
|
|
481
483
|
pinnedColumns: (0, _gridColumnsSelector.gridVisiblePinnedColumnDefinitionsSelector)(apiRef),
|
|
482
|
-
visibleColumns
|
|
484
|
+
visibleColumns,
|
|
485
|
+
hiddenCellsOriginMap
|
|
483
486
|
};
|
|
484
487
|
}
|
|
485
488
|
function computeRenderContext(inputs, scrollPosition, scrollCache) {
|
|
@@ -497,10 +500,18 @@ function computeRenderContext(inputs, scrollPosition, scrollCache) {
|
|
|
497
500
|
if (inputs.enabledForRows) {
|
|
498
501
|
// Clamp the value because the search may return an index out of bounds.
|
|
499
502
|
// In the last index, this is not needed because Array.slice doesn't include it.
|
|
500
|
-
|
|
503
|
+
let firstRowIndex = Math.min(getNearestIndexToRender(inputs, top, {
|
|
501
504
|
atStart: true,
|
|
502
505
|
lastPosition: inputs.rowsMeta.positions[inputs.rowsMeta.positions.length - 1] + inputs.lastRowHeight
|
|
503
506
|
}), inputs.rowsMeta.positions.length - 1);
|
|
507
|
+
|
|
508
|
+
// If any of the cells in the `firstRowIndex` is hidden due to an extended row span,
|
|
509
|
+
// Make sure the row from where the rowSpan is originated is visible.
|
|
510
|
+
const rowSpanHiddenCellOrigin = inputs.hiddenCellsOriginMap[firstRowIndex];
|
|
511
|
+
if (rowSpanHiddenCellOrigin) {
|
|
512
|
+
const minSpannedRowIndex = Math.min(...Object.values(rowSpanHiddenCellOrigin));
|
|
513
|
+
firstRowIndex = Math.min(firstRowIndex, minSpannedRowIndex);
|
|
514
|
+
}
|
|
504
515
|
const lastRowIndex = inputs.autoHeight ? firstRowIndex + inputs.rows.length : getNearestIndexToRender(inputs, top + inputs.viewportInnerHeight);
|
|
505
516
|
renderContext.firstRowIndex = firstRowIndex;
|
|
506
517
|
renderContext.lastRowIndex = lastRowIndex;
|
|
@@ -654,9 +665,8 @@ function areRenderContextsEqual(context1, context2) {
|
|
|
654
665
|
}
|
|
655
666
|
return context1.firstRowIndex === context2.firstRowIndex && context1.lastRowIndex === context2.lastRowIndex && context1.firstColumnIndex === context2.firstColumnIndex && context1.lastColumnIndex === context2.lastColumnIndex;
|
|
656
667
|
}
|
|
657
|
-
function computeOffsetLeft(columnPositions, renderContext,
|
|
658
|
-
const
|
|
659
|
-
const left = factor * (columnPositions[renderContext.firstColumnIndex] ?? 0) - (columnPositions[pinnedLeftLength] ?? 0);
|
|
668
|
+
function computeOffsetLeft(columnPositions, renderContext, pinnedLeftLength) {
|
|
669
|
+
const left = (columnPositions[renderContext.firstColumnIndex] ?? 0) - (columnPositions[pinnedLeftLength] ?? 0);
|
|
660
670
|
return Math.abs(left);
|
|
661
671
|
}
|
|
662
672
|
function directionForDelta(dx, dy) {
|
|
@@ -101,6 +101,5 @@ const optionsSubscriberOptions = {
|
|
|
101
101
|
isFirst: true
|
|
102
102
|
};
|
|
103
103
|
function useGridApiOptionHandler(apiRef, eventName, handler) {
|
|
104
|
-
// Validate that only one per event name?
|
|
105
104
|
useGridApiEventHandler(apiRef, eventName, handler, optionsSubscriberOptions);
|
|
106
105
|
}
|
|
@@ -7,9 +7,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.useGridSelectorV8 = exports.useGridSelector = exports.objectShallowCompare = void 0;
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _fastObjectShallowCompare = require("@mui/x-internals/fastObjectShallowCompare");
|
|
10
|
+
var _warning = require("@mui/x-internals/warning");
|
|
10
11
|
var _useLazyRef = require("./useLazyRef");
|
|
11
12
|
var _useOnMount = require("./useOnMount");
|
|
12
|
-
var _warning = require("../../internals/utils/warning");
|
|
13
13
|
function isOutputSelector(selector) {
|
|
14
14
|
return selector.acceptsApiRef;
|
|
15
15
|
}
|
package/node/index.js
CHANGED
package/node/internals/index.js
CHANGED
|
@@ -48,6 +48,8 @@ var _exportNames = {
|
|
|
48
48
|
gridEditRowsStateSelector: true,
|
|
49
49
|
useGridRows: true,
|
|
50
50
|
rowsStateInitializer: true,
|
|
51
|
+
useGridRowSpanning: true,
|
|
52
|
+
rowSpanningStateInitializer: true,
|
|
51
53
|
useGridAriaAttributes: true,
|
|
52
54
|
useGridRowAriaAttributes: true,
|
|
53
55
|
useGridRowsPreProcessors: true,
|
|
@@ -398,6 +400,12 @@ Object.defineProperty(exports, "rowSelectionStateInitializer", {
|
|
|
398
400
|
return _useGridRowSelection.rowSelectionStateInitializer;
|
|
399
401
|
}
|
|
400
402
|
});
|
|
403
|
+
Object.defineProperty(exports, "rowSpanningStateInitializer", {
|
|
404
|
+
enumerable: true,
|
|
405
|
+
get: function () {
|
|
406
|
+
return _useGridRowSpanning.rowSpanningStateInitializer;
|
|
407
|
+
}
|
|
408
|
+
});
|
|
401
409
|
Object.defineProperty(exports, "rowsMetaStateInitializer", {
|
|
402
410
|
enumerable: true,
|
|
403
411
|
get: function () {
|
|
@@ -596,6 +604,12 @@ Object.defineProperty(exports, "useGridRowSelectionPreProcessors", {
|
|
|
596
604
|
return _useGridRowSelectionPreProcessors.useGridRowSelectionPreProcessors;
|
|
597
605
|
}
|
|
598
606
|
});
|
|
607
|
+
Object.defineProperty(exports, "useGridRowSpanning", {
|
|
608
|
+
enumerable: true,
|
|
609
|
+
get: function () {
|
|
610
|
+
return _useGridRowSpanning.useGridRowSpanning;
|
|
611
|
+
}
|
|
612
|
+
});
|
|
599
613
|
Object.defineProperty(exports, "useGridRows", {
|
|
600
614
|
enumerable: true,
|
|
601
615
|
get: function () {
|
|
@@ -723,6 +737,7 @@ var _useGridPreferencesPanel = require("../hooks/features/preferencesPanel/useGr
|
|
|
723
737
|
var _useGridEditing = require("../hooks/features/editing/useGridEditing");
|
|
724
738
|
var _gridEditingSelectors = require("../hooks/features/editing/gridEditingSelectors");
|
|
725
739
|
var _useGridRows = require("../hooks/features/rows/useGridRows");
|
|
740
|
+
var _useGridRowSpanning = require("../hooks/features/rows/useGridRowSpanning");
|
|
726
741
|
var _useGridAriaAttributes = require("../hooks/utils/useGridAriaAttributes");
|
|
727
742
|
var _useGridRowAriaAttributes = require("../hooks/features/rows/useGridRowAriaAttributes");
|
|
728
743
|
var _useGridRowsPreProcessors = require("../hooks/features/rows/useGridRowsPreProcessors");
|
|
@@ -35,15 +35,4 @@ Object.keys(_propValidation).forEach(function (key) {
|
|
|
35
35
|
return _propValidation[key];
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
|
-
});
|
|
39
|
-
var _warning = require("./warning");
|
|
40
|
-
Object.keys(_warning).forEach(function (key) {
|
|
41
|
-
if (key === "default" || key === "__esModule") return;
|
|
42
|
-
if (key in exports && exports[key] === _warning[key]) return;
|
|
43
|
-
Object.defineProperty(exports, key, {
|
|
44
|
-
enumerable: true,
|
|
45
|
-
get: function () {
|
|
46
|
-
return _warning[key];
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
38
|
});
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.propValidatorsDataGrid = void 0;
|
|
7
7
|
exports.validateProps = validateProps;
|
|
8
|
-
var _warning = require("
|
|
8
|
+
var _warning = require("@mui/x-internals/warning");
|
|
9
9
|
var _utils = require("../../utils/utils");
|
|
10
10
|
var _useGridApiEventHandler = require("../../hooks/utils/useGridApiEventHandler");
|
|
11
11
|
const propValidatorsDataGrid = exports.propValidatorsDataGrid = [props => props.autoPageSize && props.autoHeight && ['MUI X: `<DataGrid autoPageSize={true} autoHeight={true} />` are not valid props.', 'You cannot use both the `autoPageSize` and `autoHeight` props at the same time because `autoHeight` scales the height of the Data Grid according to the `pageSize`.', '', 'Please remove one of these two props.'].join('\n') || undefined, props => props.paginationMode === 'client' && props.paginationMeta != null && ['MUI X: Usage of the `paginationMeta` prop with client-side pagination (`paginationMode="client"`) has no effect.', '`paginationMeta` is only meant to be used with `paginationMode="server"`.'].join('\n') || undefined, props => props.signature === _useGridApiEventHandler.GridSignature.DataGrid && props.paginationMode === 'client' && (0, _utils.isNumber)(props.rowCount) && ['MUI X: Usage of the `rowCount` prop with client side pagination (`paginationMode="client"`) has no effect.', '`rowCount` is only meant to be used with `paginationMode="server"`.'].join('\n') || undefined, props => props.paginationMode === 'server' && props.rowCount == null && !props.unstable_dataSource && ["MUI X: The `rowCount` prop must be passed using `paginationMode='server'`", 'For more detail, see http://mui.com/components/data-grid/pagination/#index-based-pagination'].join('\n') || undefined];
|
package/node/locales/arSD.js
CHANGED
|
@@ -54,7 +54,9 @@ const arSDGrid = {
|
|
|
54
54
|
filterPanelInputPlaceholder: 'ترشِيح قيمة',
|
|
55
55
|
// Filter operators text
|
|
56
56
|
filterOperatorContains: 'يحتوي',
|
|
57
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
57
58
|
filterOperatorEquals: 'يساوي',
|
|
59
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
58
60
|
filterOperatorStartsWith: 'يبدأ بـ',
|
|
59
61
|
filterOperatorEndsWith: 'ينتهي بـ',
|
|
60
62
|
filterOperatorIs: 'يكون',
|
|
@@ -74,7 +76,9 @@ const arSDGrid = {
|
|
|
74
76
|
'filterOperator<=': '<=',
|
|
75
77
|
// Header filter operators text
|
|
76
78
|
headerFilterOperatorContains: 'يحتوي على',
|
|
79
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
77
80
|
headerFilterOperatorEquals: 'يساوي',
|
|
81
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
78
82
|
headerFilterOperatorStartsWith: 'يبدأ ب',
|
|
79
83
|
headerFilterOperatorEndsWith: 'ينتهي ب',
|
|
80
84
|
headerFilterOperatorIs: 'هو',
|
package/node/locales/beBY.js
CHANGED
|
@@ -68,7 +68,9 @@ const beBYGrid = {
|
|
|
68
68
|
filterPanelInputPlaceholder: 'Значэнне фільтра',
|
|
69
69
|
// Filter operators text
|
|
70
70
|
filterOperatorContains: 'змяшчае',
|
|
71
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
71
72
|
filterOperatorEquals: 'роўны',
|
|
73
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
72
74
|
filterOperatorStartsWith: 'пачынаецца з',
|
|
73
75
|
filterOperatorEndsWith: 'скончваецца на',
|
|
74
76
|
filterOperatorIs: 'роўны',
|
|
@@ -89,7 +91,9 @@ const beBYGrid = {
|
|
|
89
91
|
|
|
90
92
|
// Header filter operators text
|
|
91
93
|
// headerFilterOperatorContains: 'Contains',
|
|
94
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
92
95
|
// headerFilterOperatorEquals: 'Equals',
|
|
96
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
93
97
|
// headerFilterOperatorStartsWith: 'Starts with',
|
|
94
98
|
// headerFilterOperatorEndsWith: 'Ends with',
|
|
95
99
|
// headerFilterOperatorIs: 'Is',
|
package/node/locales/bgBG.js
CHANGED
|
@@ -54,7 +54,9 @@ const bgBGGrid = {
|
|
|
54
54
|
filterPanelInputPlaceholder: 'Стойност на филтъра',
|
|
55
55
|
// Filter operators text
|
|
56
56
|
filterOperatorContains: 'съдържа',
|
|
57
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
57
58
|
filterOperatorEquals: 'равно',
|
|
59
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
58
60
|
filterOperatorStartsWith: 'започва с',
|
|
59
61
|
filterOperatorEndsWith: 'завършва с',
|
|
60
62
|
filterOperatorIs: 'е',
|
|
@@ -74,7 +76,9 @@ const bgBGGrid = {
|
|
|
74
76
|
'filterOperator<=': '<=',
|
|
75
77
|
// Header filter operators text
|
|
76
78
|
headerFilterOperatorContains: 'Съдържа',
|
|
79
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
77
80
|
headerFilterOperatorEquals: 'Равнo',
|
|
81
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
78
82
|
headerFilterOperatorStartsWith: 'Започва с',
|
|
79
83
|
headerFilterOperatorEndsWith: 'Завършва с',
|
|
80
84
|
headerFilterOperatorIs: 'Равно е на',
|
package/node/locales/csCZ.js
CHANGED
|
@@ -61,7 +61,9 @@ const csCZGrid = {
|
|
|
61
61
|
filterPanelInputPlaceholder: 'Hodnota filtru',
|
|
62
62
|
// Filter operators text
|
|
63
63
|
filterOperatorContains: 'obsahuje',
|
|
64
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
64
65
|
filterOperatorEquals: 'rovná se',
|
|
66
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
65
67
|
filterOperatorStartsWith: 'začíná na',
|
|
66
68
|
filterOperatorEndsWith: 'končí na',
|
|
67
69
|
filterOperatorIs: 'je',
|
|
@@ -81,7 +83,9 @@ const csCZGrid = {
|
|
|
81
83
|
'filterOperator<=': '<=',
|
|
82
84
|
// Header filter operators text
|
|
83
85
|
headerFilterOperatorContains: 'Obsahuje',
|
|
86
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
84
87
|
headerFilterOperatorEquals: 'Rovná se',
|
|
88
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
85
89
|
headerFilterOperatorStartsWith: 'Začíná na',
|
|
86
90
|
headerFilterOperatorEndsWith: 'Končí na',
|
|
87
91
|
headerFilterOperatorIs: 'Je',
|
package/node/locales/daDK.js
CHANGED
|
@@ -54,7 +54,9 @@ const daDKGrid = {
|
|
|
54
54
|
filterPanelInputPlaceholder: 'Filterværdi',
|
|
55
55
|
// Filter operators text
|
|
56
56
|
filterOperatorContains: 'indeholder',
|
|
57
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
57
58
|
filterOperatorEquals: 'lig med',
|
|
59
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
58
60
|
filterOperatorStartsWith: 'begynder med',
|
|
59
61
|
filterOperatorEndsWith: 'ender med',
|
|
60
62
|
filterOperatorIs: 'er lig med',
|
|
@@ -74,7 +76,9 @@ const daDKGrid = {
|
|
|
74
76
|
'filterOperator<=': '<=',
|
|
75
77
|
// Header filter operators text
|
|
76
78
|
headerFilterOperatorContains: 'Indeholder',
|
|
79
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
77
80
|
headerFilterOperatorEquals: 'Lig med',
|
|
81
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
78
82
|
headerFilterOperatorStartsWith: 'Begynder med',
|
|
79
83
|
headerFilterOperatorEndsWith: 'Ender med',
|
|
80
84
|
headerFilterOperatorIs: 'Er lig med',
|
package/node/locales/deDE.js
CHANGED
|
@@ -53,7 +53,9 @@ const deDEGrid = {
|
|
|
53
53
|
filterPanelInputPlaceholder: 'Wert filtern',
|
|
54
54
|
// Filter operators text
|
|
55
55
|
filterOperatorContains: 'enthält',
|
|
56
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
56
57
|
filterOperatorEquals: 'ist gleich',
|
|
58
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
57
59
|
filterOperatorStartsWith: 'beginnt mit',
|
|
58
60
|
filterOperatorEndsWith: 'endet mit',
|
|
59
61
|
filterOperatorIs: 'ist',
|
|
@@ -73,7 +75,9 @@ const deDEGrid = {
|
|
|
73
75
|
'filterOperator<=': '<=',
|
|
74
76
|
// Header filter operators text
|
|
75
77
|
headerFilterOperatorContains: 'Enthält',
|
|
78
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
76
79
|
headerFilterOperatorEquals: 'Gleich',
|
|
80
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
77
81
|
headerFilterOperatorStartsWith: 'Beginnt mit',
|
|
78
82
|
headerFilterOperatorEndsWith: 'Endet mit',
|
|
79
83
|
headerFilterOperatorIs: 'Ist',
|
package/node/locales/elGR.js
CHANGED
|
@@ -54,7 +54,9 @@ const elGRGrid = {
|
|
|
54
54
|
filterPanelInputPlaceholder: 'Τιμή φίλτρου',
|
|
55
55
|
// Filter operators text
|
|
56
56
|
filterOperatorContains: 'περιέχει',
|
|
57
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
57
58
|
filterOperatorEquals: 'ισούται',
|
|
59
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
58
60
|
filterOperatorStartsWith: 'ξεκινάει με',
|
|
59
61
|
filterOperatorEndsWith: 'τελειώνει με',
|
|
60
62
|
filterOperatorIs: 'είναι',
|
|
@@ -74,7 +76,9 @@ const elGRGrid = {
|
|
|
74
76
|
'filterOperator<=': '<=',
|
|
75
77
|
// Header filter operators text
|
|
76
78
|
headerFilterOperatorContains: 'Περιέχει',
|
|
79
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
77
80
|
headerFilterOperatorEquals: 'Ισούται',
|
|
81
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
78
82
|
headerFilterOperatorStartsWith: 'Ξεκινάει με',
|
|
79
83
|
headerFilterOperatorEndsWith: 'Τελειώνει με',
|
|
80
84
|
headerFilterOperatorIs: 'Είναι',
|
package/node/locales/esES.js
CHANGED
|
@@ -53,7 +53,9 @@ const esESGrid = {
|
|
|
53
53
|
filterPanelInputPlaceholder: 'Valor de filtro',
|
|
54
54
|
// Filter operators text
|
|
55
55
|
filterOperatorContains: 'contiene',
|
|
56
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
56
57
|
filterOperatorEquals: 'es igual',
|
|
58
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
57
59
|
filterOperatorStartsWith: 'comienza con',
|
|
58
60
|
filterOperatorEndsWith: 'termina con',
|
|
59
61
|
filterOperatorIs: 'es',
|
|
@@ -73,7 +75,9 @@ const esESGrid = {
|
|
|
73
75
|
'filterOperator<=': '<=',
|
|
74
76
|
// Header filter operators text
|
|
75
77
|
headerFilterOperatorContains: 'Contiene',
|
|
78
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
76
79
|
headerFilterOperatorEquals: 'Es igual a',
|
|
80
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
77
81
|
headerFilterOperatorStartsWith: 'Comienza con',
|
|
78
82
|
headerFilterOperatorEndsWith: 'Termina con',
|
|
79
83
|
headerFilterOperatorIs: 'Es',
|
package/node/locales/faIR.js
CHANGED
|
@@ -53,7 +53,9 @@ const faIRGrid = {
|
|
|
53
53
|
filterPanelInputPlaceholder: 'فیلتر مقدار',
|
|
54
54
|
// Filter operators text
|
|
55
55
|
filterOperatorContains: 'شامل',
|
|
56
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
56
57
|
filterOperatorEquals: 'مساوی',
|
|
58
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
57
59
|
filterOperatorStartsWith: 'شروع با',
|
|
58
60
|
filterOperatorEndsWith: 'پایان با',
|
|
59
61
|
filterOperatorIs: 'هست',
|
|
@@ -73,7 +75,9 @@ const faIRGrid = {
|
|
|
73
75
|
'filterOperator<=': '<=',
|
|
74
76
|
// Header filter operators text
|
|
75
77
|
headerFilterOperatorContains: 'شامل',
|
|
78
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
76
79
|
headerFilterOperatorEquals: 'مساوی',
|
|
80
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
77
81
|
headerFilterOperatorStartsWith: 'شروع با',
|
|
78
82
|
headerFilterOperatorEndsWith: 'پایان با',
|
|
79
83
|
headerFilterOperatorIs: 'هست',
|
package/node/locales/fiFI.js
CHANGED
|
@@ -53,7 +53,9 @@ const fiFIGrid = {
|
|
|
53
53
|
filterPanelInputPlaceholder: 'Suodattimen arvo',
|
|
54
54
|
// Filter operators text
|
|
55
55
|
filterOperatorContains: 'sisältää',
|
|
56
|
+
// filterOperatorDoesNotContain: 'does not contain',
|
|
56
57
|
filterOperatorEquals: 'on yhtä suuri kuin',
|
|
58
|
+
// filterOperatorDoesNotEqual: 'does not equal',
|
|
57
59
|
filterOperatorStartsWith: 'alkaa',
|
|
58
60
|
filterOperatorEndsWith: 'päättyy',
|
|
59
61
|
filterOperatorIs: 'on',
|
|
@@ -73,7 +75,9 @@ const fiFIGrid = {
|
|
|
73
75
|
'filterOperator<=': '<=',
|
|
74
76
|
// Header filter operators text
|
|
75
77
|
headerFilterOperatorContains: 'Sisältää',
|
|
78
|
+
// headerFilterOperatorDoesNotContain: 'Does not contain',
|
|
76
79
|
headerFilterOperatorEquals: 'On yhtä suuri kuin',
|
|
80
|
+
// headerFilterOperatorDoesNotEqual: 'Does not equal',
|
|
77
81
|
headerFilterOperatorStartsWith: 'Alkaa',
|
|
78
82
|
headerFilterOperatorEndsWith: 'Päättyy',
|
|
79
83
|
headerFilterOperatorIs: 'On',
|