@mui/x-data-grid 5.12.1 → 5.12.2
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 +45 -2
- package/colDef/gridCheckboxSelectionColDef.d.ts +1 -0
- package/colDef/gridCheckboxSelectionColDef.js +2 -1
- package/colDef/gridDateOperators.d.ts +1 -1
- package/colDef/gridNumericColDef.js +1 -1
- package/components/columnHeaders/GridColumnHeaderItem.js +5 -3
- package/components/columnSelection/GridCellCheckboxRenderer.js +0 -1
- package/components/columnSelection/GridHeaderCheckbox.js +0 -1
- package/components/containers/GridRootStyles.js +1 -1
- package/components/panel/GridColumnsPanel.js +2 -5
- package/components/panel/filterPanel/GridFilterPanel.js +1 -2
- package/components/toolbar/GridToolbarColumnsButton.js +0 -1
- package/components/toolbar/GridToolbarDensitySelector.js +0 -1
- package/components/toolbar/GridToolbarExportContainer.js +0 -1
- package/components/toolbar/GridToolbarFilterButton.js +0 -1
- package/constants/localeTextConstants.js +1 -0
- package/hooks/features/columns/useGridColumnSpanning.d.ts +1 -1
- package/hooks/features/columns/useGridColumnSpanning.js +1 -1
- package/hooks/features/columns/useGridColumns.d.ts +1 -1
- package/hooks/features/dimensions/gridDimensionsApi.d.ts +5 -0
- package/hooks/features/dimensions/useGridDimensions.js +9 -8
- package/hooks/features/filter/gridFilterState.d.ts +1 -1
- package/hooks/features/filter/useGridFilter.d.ts +1 -1
- package/hooks/features/rows/useGridRowsMeta.js +79 -77
- package/hooks/features/selection/useGridSelectionPreProcessors.js +8 -6
- package/hooks/features/sorting/useGridSorting.d.ts +1 -1
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +1 -1
- package/hooks/features/virtualization/useGridVirtualScroller.js +42 -8
- package/index.js +1 -1
- package/legacy/colDef/gridCheckboxSelectionColDef.js +2 -1
- package/legacy/colDef/gridNumericColDef.js +1 -1
- package/legacy/components/columnHeaders/GridColumnHeaderItem.js +5 -3
- package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +0 -1
- package/legacy/components/columnSelection/GridHeaderCheckbox.js +0 -1
- package/legacy/components/containers/GridRootStyles.js +1 -1
- package/legacy/components/panel/GridColumnsPanel.js +2 -5
- package/legacy/components/panel/filterPanel/GridFilterPanel.js +1 -2
- package/legacy/components/toolbar/GridToolbarColumnsButton.js +0 -1
- package/legacy/components/toolbar/GridToolbarDensitySelector.js +0 -1
- package/legacy/components/toolbar/GridToolbarExportContainer.js +0 -1
- package/legacy/components/toolbar/GridToolbarFilterButton.js +0 -1
- package/legacy/constants/localeTextConstants.js +1 -0
- package/legacy/hooks/features/columns/useGridColumnSpanning.js +1 -1
- package/legacy/hooks/features/dimensions/useGridDimensions.js +9 -8
- package/legacy/hooks/features/rows/useGridRowsMeta.js +81 -77
- package/legacy/hooks/features/selection/useGridSelectionPreProcessors.js +8 -6
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +42 -8
- package/legacy/index.js +1 -1
- package/legacy/locales/arSD.js +1 -0
- package/legacy/locales/bgBG.js +1 -0
- package/legacy/locales/csCZ.js +1 -0
- package/legacy/locales/daDK.js +1 -0
- package/legacy/locales/deDE.js +1 -0
- package/legacy/locales/elGR.js +1 -0
- package/legacy/locales/esES.js +1 -0
- package/legacy/locales/faIR.js +1 -0
- package/legacy/locales/fiFI.js +1 -0
- package/legacy/locales/frFR.js +1 -0
- package/legacy/locales/heIL.js +1 -0
- package/legacy/locales/huHU.js +1 -0
- package/legacy/locales/itIT.js +1 -0
- package/legacy/locales/jaJP.js +1 -0
- package/legacy/locales/koKR.js +1 -0
- package/legacy/locales/nbNO.js +1 -0
- package/legacy/locales/nlNL.js +1 -0
- package/legacy/locales/plPL.js +1 -0
- package/legacy/locales/ptBR.js +1 -0
- package/legacy/locales/ruRU.js +1 -0
- package/legacy/locales/skSK.js +1 -0
- package/legacy/locales/trTR.js +1 -0
- package/legacy/locales/ukUA.js +1 -0
- package/legacy/locales/viVN.js +1 -0
- package/legacy/locales/zhCN.js +1 -0
- package/locales/arSD.js +1 -0
- package/locales/bgBG.js +1 -0
- package/locales/csCZ.js +1 -0
- package/locales/daDK.js +1 -0
- package/locales/deDE.js +1 -0
- package/locales/elGR.js +1 -0
- package/locales/esES.js +1 -0
- package/locales/faIR.js +1 -0
- package/locales/fiFI.js +1 -0
- package/locales/frFR.js +1 -0
- package/locales/heIL.js +1 -0
- package/locales/huHU.js +1 -0
- package/locales/itIT.js +1 -0
- package/locales/jaJP.js +1 -0
- package/locales/koKR.js +1 -0
- package/locales/nbNO.js +1 -0
- package/locales/nlNL.js +1 -0
- package/locales/plPL.js +1 -0
- package/locales/ptBR.js +1 -0
- package/locales/ruRU.js +1 -0
- package/locales/skSK.js +1 -0
- package/locales/trTR.js +1 -0
- package/locales/ukUA.js +1 -0
- package/locales/viVN.js +1 -0
- package/locales/zhCN.js +1 -0
- package/models/api/gridLocaleTextApi.d.ts +1 -0
- package/models/colDef/gridColDef.d.ts +1 -1
- package/modern/colDef/gridCheckboxSelectionColDef.js +2 -1
- package/modern/colDef/gridNumericColDef.js +1 -1
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +5 -3
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +0 -1
- package/modern/components/columnSelection/GridHeaderCheckbox.js +0 -1
- package/modern/components/containers/GridRootStyles.js +1 -1
- package/modern/components/panel/GridColumnsPanel.js +2 -5
- package/modern/components/panel/filterPanel/GridFilterPanel.js +1 -2
- package/modern/components/toolbar/GridToolbarColumnsButton.js +0 -1
- package/modern/components/toolbar/GridToolbarDensitySelector.js +0 -1
- package/modern/components/toolbar/GridToolbarExportContainer.js +0 -1
- package/modern/components/toolbar/GridToolbarFilterButton.js +0 -1
- package/modern/constants/localeTextConstants.js +1 -0
- package/modern/hooks/features/columns/useGridColumnSpanning.js +1 -1
- package/modern/hooks/features/dimensions/useGridDimensions.js +9 -8
- package/modern/hooks/features/rows/useGridRowsMeta.js +77 -75
- package/modern/hooks/features/selection/useGridSelectionPreProcessors.js +8 -6
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +42 -8
- package/modern/index.js +1 -1
- package/modern/locales/arSD.js +1 -0
- package/modern/locales/bgBG.js +1 -0
- package/modern/locales/csCZ.js +1 -0
- package/modern/locales/daDK.js +1 -0
- package/modern/locales/deDE.js +1 -0
- package/modern/locales/elGR.js +1 -0
- package/modern/locales/esES.js +1 -0
- package/modern/locales/faIR.js +1 -0
- package/modern/locales/fiFI.js +1 -0
- package/modern/locales/frFR.js +1 -0
- package/modern/locales/heIL.js +1 -0
- package/modern/locales/huHU.js +1 -0
- package/modern/locales/itIT.js +1 -0
- package/modern/locales/jaJP.js +1 -0
- package/modern/locales/koKR.js +1 -0
- package/modern/locales/nbNO.js +1 -0
- package/modern/locales/nlNL.js +1 -0
- package/modern/locales/plPL.js +1 -0
- package/modern/locales/ptBR.js +1 -0
- package/modern/locales/ruRU.js +1 -0
- package/modern/locales/skSK.js +1 -0
- package/modern/locales/trTR.js +1 -0
- package/modern/locales/ukUA.js +1 -0
- package/modern/locales/viVN.js +1 -0
- package/modern/locales/zhCN.js +1 -0
- package/node/colDef/gridCheckboxSelectionColDef.js +4 -2
- package/node/colDef/gridNumericColDef.js +1 -1
- package/node/components/columnHeaders/GridColumnHeaderItem.js +5 -3
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +0 -1
- package/node/components/columnSelection/GridHeaderCheckbox.js +0 -1
- package/node/components/containers/GridRootStyles.js +1 -1
- package/node/components/panel/GridColumnsPanel.js +2 -5
- package/node/components/panel/filterPanel/GridFilterPanel.js +1 -2
- package/node/components/toolbar/GridToolbarColumnsButton.js +0 -1
- package/node/components/toolbar/GridToolbarDensitySelector.js +0 -1
- package/node/components/toolbar/GridToolbarExportContainer.js +0 -1
- package/node/components/toolbar/GridToolbarFilterButton.js +0 -1
- package/node/constants/localeTextConstants.js +1 -0
- package/node/hooks/features/columns/useGridColumnSpanning.js +11 -16
- package/node/hooks/features/dimensions/useGridDimensions.js +9 -8
- package/node/hooks/features/rows/useGridRowsMeta.js +80 -77
- package/node/hooks/features/selection/useGridSelectionPreProcessors.js +7 -5
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +42 -9
- package/node/index.js +1 -1
- package/node/locales/arSD.js +1 -0
- package/node/locales/bgBG.js +1 -0
- package/node/locales/csCZ.js +1 -0
- package/node/locales/daDK.js +1 -0
- package/node/locales/deDE.js +1 -0
- package/node/locales/elGR.js +1 -0
- package/node/locales/esES.js +1 -0
- package/node/locales/faIR.js +1 -0
- package/node/locales/fiFI.js +1 -0
- package/node/locales/frFR.js +1 -0
- package/node/locales/heIL.js +1 -0
- package/node/locales/huHU.js +1 -0
- package/node/locales/itIT.js +1 -0
- package/node/locales/jaJP.js +1 -0
- package/node/locales/koKR.js +1 -0
- package/node/locales/nbNO.js +1 -0
- package/node/locales/nlNL.js +1 -0
- package/node/locales/plPL.js +1 -0
- package/node/locales/ptBR.js +1 -0
- package/node/locales/ruRU.js +1 -0
- package/node/locales/skSK.js +1 -0
- package/node/locales/trTR.js +1 -0
- package/node/locales/ukUA.js +1 -0
- package/node/locales/viVN.js +1 -0
- package/node/locales/zhCN.js +1 -0
- package/package.json +1 -1
package/modern/locales/jaJP.js
CHANGED
|
@@ -107,6 +107,7 @@ const jaJPGrid = {
|
|
|
107
107
|
groupColumn: name => `${name}でグループ化`,
|
|
108
108
|
unGroupColumn: name => `${name}のグループを解除`,
|
|
109
109
|
// Master/detail
|
|
110
|
+
// detailPanelToggle: 'Detail panel toggle',
|
|
110
111
|
expandDetailPanel: '展開',
|
|
111
112
|
collapseDetailPanel: '折りたたみ',
|
|
112
113
|
// Row reordering text
|
package/modern/locales/koKR.js
CHANGED
|
@@ -106,6 +106,7 @@ const koKRGrid = {
|
|
|
106
106
|
// groupColumn: name => `Group by ${name}`,
|
|
107
107
|
// unGroupColumn: name => `Stop grouping by ${name}`,
|
|
108
108
|
// Master/detail
|
|
109
|
+
// detailPanelToggle: 'Detail panel toggle',
|
|
109
110
|
// expandDetailPanel: 'Expand',
|
|
110
111
|
// collapseDetailPanel: 'Collapse',
|
|
111
112
|
// Row reordering text
|
package/modern/locales/nbNO.js
CHANGED
|
@@ -107,6 +107,7 @@ const nbNOGrid = {
|
|
|
107
107
|
groupColumn: name => `Grupper på ${name}`,
|
|
108
108
|
unGroupColumn: name => `Stopp å grupper på ${name}`,
|
|
109
109
|
// Master/detail
|
|
110
|
+
// detailPanelToggle: 'Detail panel toggle',
|
|
110
111
|
expandDetailPanel: 'Utvid',
|
|
111
112
|
collapseDetailPanel: 'Kollaps',
|
|
112
113
|
// Row reordering text
|
package/modern/locales/nlNL.js
CHANGED
|
@@ -106,6 +106,7 @@ const nlNLGrid = {
|
|
|
106
106
|
groupingColumnHeaderName: 'Groep',
|
|
107
107
|
groupColumn: name => `Groepeer op ${name}`,
|
|
108
108
|
unGroupColumn: name => `Stop groeperen op ${name}` // Master/detail
|
|
109
|
+
// detailPanelToggle: 'Detail panel toggle',
|
|
109
110
|
// expandDetailPanel: 'Expand',
|
|
110
111
|
// collapseDetailPanel: 'Collapse',
|
|
111
112
|
// Row reordering text
|
package/modern/locales/plPL.js
CHANGED
|
@@ -107,6 +107,7 @@ const plPLGrid = {
|
|
|
107
107
|
groupColumn: name => `Grupuj według ${name}`,
|
|
108
108
|
unGroupColumn: name => `Rozgrupuj ${name}`,
|
|
109
109
|
// Master/detail
|
|
110
|
+
// detailPanelToggle: 'Detail panel toggle',
|
|
110
111
|
expandDetailPanel: 'Rozwiń',
|
|
111
112
|
collapseDetailPanel: 'Zwiń' // Row reordering text
|
|
112
113
|
// rowReorderingHeaderName: 'Row reordering',
|
package/modern/locales/ptBR.js
CHANGED
|
@@ -107,6 +107,7 @@ const ptBRGrid = {
|
|
|
107
107
|
groupColumn: name => `Agrupar por ${name}`,
|
|
108
108
|
unGroupColumn: name => `Parar agrupamento por ${name}`,
|
|
109
109
|
// Master/detail
|
|
110
|
+
detailPanelToggle: 'Painel de detalhes',
|
|
110
111
|
expandDetailPanel: 'Expandir',
|
|
111
112
|
collapseDetailPanel: 'Esconder' // Row reordering text
|
|
112
113
|
// rowReorderingHeaderName: 'Row reordering',
|
package/modern/locales/ruRU.js
CHANGED
|
@@ -140,6 +140,7 @@ const ruRUGrid = {
|
|
|
140
140
|
groupColumn: name => `Сгруппировать по ${name}`,
|
|
141
141
|
unGroupColumn: name => `Разгруппировать по ${name}`,
|
|
142
142
|
// Master/detail
|
|
143
|
+
// detailPanelToggle: 'Detail panel toggle',
|
|
143
144
|
expandDetailPanel: 'Развернуть',
|
|
144
145
|
collapseDetailPanel: 'Свернуть' // Row reordering text
|
|
145
146
|
// rowReorderingHeaderName: 'Row reordering',
|
package/modern/locales/skSK.js
CHANGED
|
@@ -141,6 +141,7 @@ const skSKGrid = {
|
|
|
141
141
|
groupingColumnHeaderName: 'Skupina',
|
|
142
142
|
groupColumn: name => `Zoskupiť podľa ${name}`,
|
|
143
143
|
unGroupColumn: name => `Prestať zoskupovať podľa ${name}` // Master/detail
|
|
144
|
+
// detailPanelToggle: 'Detail panel toggle',
|
|
144
145
|
// expandDetailPanel: 'Expand',
|
|
145
146
|
// collapseDetailPanel: 'Collapse',
|
|
146
147
|
// Row reordering text
|
package/modern/locales/trTR.js
CHANGED
|
@@ -107,6 +107,7 @@ const trTRGrid = {
|
|
|
107
107
|
groupColumn: name => `${name} için grupla`,
|
|
108
108
|
unGroupColumn: name => `${name} için gruplamayı kaldır`,
|
|
109
109
|
// Master/detail
|
|
110
|
+
// detailPanelToggle: 'Detail panel toggle',
|
|
110
111
|
expandDetailPanel: 'Genişlet',
|
|
111
112
|
collapseDetailPanel: 'Gizle' // Row reordering text
|
|
112
113
|
// rowReorderingHeaderName: 'Row reordering',
|
package/modern/locales/ukUA.js
CHANGED
|
@@ -132,6 +132,7 @@ const ukUAGrid = {
|
|
|
132
132
|
// groupColumn: name => `Group by ${name}`,
|
|
133
133
|
// unGroupColumn: name => `Stop grouping by ${name}`,
|
|
134
134
|
// Master/detail
|
|
135
|
+
// detailPanelToggle: 'Detail panel toggle',
|
|
135
136
|
// expandDetailPanel: 'Expand',
|
|
136
137
|
// collapseDetailPanel: 'Collapse',
|
|
137
138
|
// Row reordering text
|
package/modern/locales/viVN.js
CHANGED
|
@@ -106,6 +106,7 @@ const viVNGrid = {
|
|
|
106
106
|
// groupColumn: name => `Group by ${name}`,
|
|
107
107
|
// unGroupColumn: name => `Stop grouping by ${name}`,
|
|
108
108
|
// Master/detail
|
|
109
|
+
// detailPanelToggle: 'Detail panel toggle',
|
|
109
110
|
// expandDetailPanel: 'Expand',
|
|
110
111
|
// collapseDetailPanel: 'Collapse',
|
|
111
112
|
// Row reordering text
|
package/modern/locales/zhCN.js
CHANGED
|
@@ -106,6 +106,7 @@ const zhCNGrid = {
|
|
|
106
106
|
// groupColumn: name => `Group by ${name}`,
|
|
107
107
|
// unGroupColumn: name => `Stop grouping by ${name}`,
|
|
108
108
|
// Master/detail
|
|
109
|
+
// detailPanelToggle: 'Detail panel toggle',
|
|
109
110
|
// expandDetailPanel: 'Expand',
|
|
110
111
|
// collapseDetailPanel: 'Collapse',
|
|
111
112
|
// Row reordering text
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.GRID_CHECKBOX_SELECTION_COL_DEF = void 0;
|
|
8
|
+
exports.GRID_CHECKBOX_SELECTION_FIELD = exports.GRID_CHECKBOX_SELECTION_COL_DEF = void 0;
|
|
9
9
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
|
|
@@ -25,8 +25,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
25
25
|
|
|
26
26
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
27
|
|
|
28
|
+
const GRID_CHECKBOX_SELECTION_FIELD = '__check__';
|
|
29
|
+
exports.GRID_CHECKBOX_SELECTION_FIELD = GRID_CHECKBOX_SELECTION_FIELD;
|
|
28
30
|
const GRID_CHECKBOX_SELECTION_COL_DEF = (0, _extends2.default)({}, _gridBooleanColDef.GRID_BOOLEAN_COL_DEF, {
|
|
29
|
-
field:
|
|
31
|
+
field: GRID_CHECKBOX_SELECTION_FIELD,
|
|
30
32
|
type: 'checkboxSelection',
|
|
31
33
|
width: 50,
|
|
32
34
|
resizable: false,
|
|
@@ -25,7 +25,7 @@ const GRID_NUMERIC_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_S
|
|
|
25
25
|
valueParser: value => value === '' ? null : Number(value),
|
|
26
26
|
valueFormatter: ({
|
|
27
27
|
value
|
|
28
|
-
}) =>
|
|
28
|
+
}) => (0, _utils.isNumber)(value) ? value.toLocaleString() : value || '',
|
|
29
29
|
filterOperators: (0, _gridNumericOperators.getGridNumericOperators)(),
|
|
30
30
|
getApplyQuickFilterFn: _gridNumericOperators.getGridNumericQuickFilterFn
|
|
31
31
|
});
|
|
@@ -187,6 +187,7 @@ function GridColumnHeaderItem(props) {
|
|
|
187
187
|
field: column.field,
|
|
188
188
|
colDef: column
|
|
189
189
|
}) : column.headerClassName;
|
|
190
|
+
const label = (_column$headerName = column.headerName) != null ? _column$headerName : column.field;
|
|
190
191
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({
|
|
191
192
|
ref: headerCellRef,
|
|
192
193
|
className: (0, _clsx.default)(classes.root, headerClassName),
|
|
@@ -199,7 +200,8 @@ function GridColumnHeaderItem(props) {
|
|
|
199
200
|
role: "columnheader",
|
|
200
201
|
tabIndex: tabIndex,
|
|
201
202
|
"aria-colindex": colIndex + 1,
|
|
202
|
-
"aria-sort": ariaSort
|
|
203
|
+
"aria-sort": ariaSort,
|
|
204
|
+
"aria-label": column.renderHeader && headerComponent == null ? label : undefined
|
|
203
205
|
}, mouseEventsHandlers, {
|
|
204
206
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({
|
|
205
207
|
className: classes.draggableContainer,
|
|
@@ -209,8 +211,8 @@ function GridColumnHeaderItem(props) {
|
|
|
209
211
|
className: classes.titleContainer,
|
|
210
212
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
211
213
|
className: classes.titleContainerContent,
|
|
212
|
-
children: headerComponent
|
|
213
|
-
label:
|
|
214
|
+
children: column.renderHeader ? headerComponent : /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnHeaderTitle.GridColumnHeaderTitle, {
|
|
215
|
+
label: label,
|
|
214
216
|
description: column.description,
|
|
215
217
|
columnWidth: width
|
|
216
218
|
})
|
|
@@ -176,7 +176,7 @@ const GridRootStyles = (0, _styles.styled)('div', {
|
|
|
176
176
|
minWidth: 0,
|
|
177
177
|
flex: 1,
|
|
178
178
|
whiteSpace: 'nowrap',
|
|
179
|
-
|
|
179
|
+
overflowX: 'hidden'
|
|
180
180
|
},
|
|
181
181
|
[`& .${_gridClasses.gridClasses.columnHeaderTitleContainerContent}`]: {
|
|
182
182
|
overflow: 'hidden',
|
|
@@ -166,7 +166,6 @@ function GridColumnsPanel(props) {
|
|
|
166
166
|
checked: columnVisibilityModel[column.field] !== false,
|
|
167
167
|
onClick: toggleColumn,
|
|
168
168
|
name: column.field,
|
|
169
|
-
color: "primary",
|
|
170
169
|
size: "small"
|
|
171
170
|
}, (_rootProps$components2 = rootProps.componentsProps) == null ? void 0 : _rootProps$components2.baseSwitch)),
|
|
172
171
|
label: column.headerName || column.field
|
|
@@ -183,13 +182,11 @@ function GridColumnsPanel(props) {
|
|
|
183
182
|
})
|
|
184
183
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridPanelFooter.GridPanelFooter, {
|
|
185
184
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.BaseButton, (0, _extends2.default)({
|
|
186
|
-
onClick: () => toggleAllColumns(false)
|
|
187
|
-
color: "primary"
|
|
185
|
+
onClick: () => toggleAllColumns(false)
|
|
188
186
|
}, (_rootProps$components3 = rootProps.componentsProps) == null ? void 0 : _rootProps$components3.baseButton, {
|
|
189
187
|
children: apiRef.current.getLocaleText('columnsPanelHideAllButton')
|
|
190
188
|
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.BaseButton, (0, _extends2.default)({
|
|
191
|
-
onClick: () => toggleAllColumns(true)
|
|
192
|
-
color: "primary"
|
|
189
|
+
onClick: () => toggleAllColumns(true)
|
|
193
190
|
}, (_rootProps$components4 = rootProps.componentsProps) == null ? void 0 : _rootProps$components4.baseButton, {
|
|
194
191
|
children: apiRef.current.getLocaleText('columnsPanelShowAllButton')
|
|
195
192
|
}))]
|
|
@@ -140,8 +140,7 @@ const GridFilterPanel = /*#__PURE__*/React.forwardRef(function GridFilterPanel(p
|
|
|
140
140
|
}), !rootProps.disableMultipleColumnsFiltering && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridPanelFooter.GridPanelFooter, {
|
|
141
141
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.BaseButton, (0, _extends2.default)({
|
|
142
142
|
onClick: addNewFilter,
|
|
143
|
-
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.GridAddIcon, {})
|
|
144
|
-
color: "primary"
|
|
143
|
+
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.GridAddIcon, {})
|
|
145
144
|
}, (_rootProps$components = rootProps.componentsProps) == null ? void 0 : _rootProps$components.baseButton, {
|
|
146
145
|
children: apiRef.current.getLocaleText('filterPanelAddFilter')
|
|
147
146
|
}))
|
|
@@ -63,7 +63,6 @@ const GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function GridTool
|
|
|
63
63
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.BaseButton, (0, _extends2.default)({
|
|
64
64
|
ref: ref,
|
|
65
65
|
size: "small",
|
|
66
|
-
color: "primary",
|
|
67
66
|
"aria-label": apiRef.current.getLocaleText('toolbarColumnsLabel'),
|
|
68
67
|
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.ColumnSelectorIcon, {})
|
|
69
68
|
}, other, {
|
|
@@ -123,7 +123,6 @@ const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
123
123
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
124
124
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.BaseButton, (0, _extends2.default)({
|
|
125
125
|
ref: handleRef,
|
|
126
|
-
color: "primary",
|
|
127
126
|
size: "small",
|
|
128
127
|
startIcon: startIcon,
|
|
129
128
|
"aria-label": apiRef.current.getLocaleText('toolbarDensityLabel'),
|
|
@@ -75,7 +75,6 @@ const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridTo
|
|
|
75
75
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
76
76
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.BaseButton, (0, _extends2.default)({
|
|
77
77
|
ref: handleRef,
|
|
78
|
-
color: "primary",
|
|
79
78
|
size: "small",
|
|
80
79
|
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.ExportIcon, {}),
|
|
81
80
|
"aria-expanded": open ? 'true' : undefined,
|
|
@@ -136,7 +136,6 @@ const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolb
|
|
|
136
136
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.components.BaseButton, (0, _extends2.default)({
|
|
137
137
|
ref: ref,
|
|
138
138
|
size: "small",
|
|
139
|
-
color: "primary",
|
|
140
139
|
"aria-label": apiRef.current.getLocaleText('toolbarFiltersLabel'),
|
|
141
140
|
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Badge.default, {
|
|
142
141
|
badgeContent: activeFilters.length,
|
|
@@ -111,6 +111,7 @@ const GRID_DEFAULT_LOCALE_TEXT = {
|
|
|
111
111
|
groupColumn: name => `Group by ${name}`,
|
|
112
112
|
unGroupColumn: name => `Stop grouping by ${name}`,
|
|
113
113
|
// Master/detail
|
|
114
|
+
detailPanelToggle: 'Detail panel toggle',
|
|
114
115
|
expandDetailPanel: 'Expand',
|
|
115
116
|
collapseDetailPanel: 'Collapse',
|
|
116
117
|
// Used core components translation keys
|
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.useGridColumnSpanning = void 0;
|
|
9
7
|
|
|
10
|
-
var
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
9
|
|
|
12
10
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
13
11
|
|
|
14
12
|
var _useGridApiEventHandler = require("../../utils/useGridApiEventHandler");
|
|
15
13
|
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
|
|
16
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
+
|
|
16
18
|
/**
|
|
17
19
|
* @requires useGridColumns (method, event)
|
|
18
20
|
* @requires useGridParamsApi (method)
|
|
19
21
|
*/
|
|
20
22
|
const useGridColumnSpanning = apiRef => {
|
|
21
|
-
const lookup =
|
|
22
|
-
|
|
23
|
-
const setCellColSpanInfo = _react.default.useCallback((rowId, columnIndex, cellColSpanInfo) => {
|
|
23
|
+
const lookup = React.useRef({});
|
|
24
|
+
const setCellColSpanInfo = React.useCallback((rowId, columnIndex, cellColSpanInfo) => {
|
|
24
25
|
const sizes = lookup.current;
|
|
25
26
|
|
|
26
27
|
if (!sizes[rowId]) {
|
|
@@ -29,15 +30,13 @@ const useGridColumnSpanning = apiRef => {
|
|
|
29
30
|
|
|
30
31
|
sizes[rowId][columnIndex] = cellColSpanInfo;
|
|
31
32
|
}, []);
|
|
32
|
-
|
|
33
|
-
const getCellColSpanInfo = _react.default.useCallback((rowId, columnIndex) => {
|
|
33
|
+
const getCellColSpanInfo = React.useCallback((rowId, columnIndex) => {
|
|
34
34
|
var _lookup$current$rowId;
|
|
35
35
|
|
|
36
36
|
return (_lookup$current$rowId = lookup.current[rowId]) == null ? void 0 : _lookup$current$rowId[columnIndex];
|
|
37
37
|
}, []); // Calculate `colSpan` for the cell.
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
const calculateCellColSpan = _react.default.useCallback(params => {
|
|
39
|
+
const calculateCellColSpan = React.useCallback(params => {
|
|
41
40
|
const {
|
|
42
41
|
columnIndex,
|
|
43
42
|
rowId,
|
|
@@ -91,8 +90,7 @@ const useGridColumnSpanning = apiRef => {
|
|
|
91
90
|
};
|
|
92
91
|
}, [apiRef, setCellColSpanInfo]); // Calculate `colSpan` for each cell in the row
|
|
93
92
|
|
|
94
|
-
|
|
95
|
-
const calculateColSpan = _react.default.useCallback(({
|
|
93
|
+
const calculateColSpan = React.useCallback(({
|
|
96
94
|
rowId,
|
|
97
95
|
minFirstColumn,
|
|
98
96
|
maxLastColumn
|
|
@@ -110,18 +108,15 @@ const useGridColumnSpanning = apiRef => {
|
|
|
110
108
|
}
|
|
111
109
|
}
|
|
112
110
|
}, [calculateCellColSpan]);
|
|
113
|
-
|
|
114
111
|
const columnSpanningApi = {
|
|
115
112
|
unstable_getCellColSpanInfo: getCellColSpanInfo,
|
|
116
113
|
unstable_calculateColSpan: calculateColSpan
|
|
117
114
|
};
|
|
118
115
|
(0, _useGridApiMethod.useGridApiMethod)(apiRef, columnSpanningApi, 'GridColumnSpanningAPI');
|
|
119
|
-
|
|
120
|
-
const handleColumnReorderChange = _react.default.useCallback(() => {
|
|
116
|
+
const handleColumnReorderChange = React.useCallback(() => {
|
|
121
117
|
// `colSpan` needs to be recalculated after column reordering
|
|
122
118
|
lookup.current = {};
|
|
123
119
|
}, []);
|
|
124
|
-
|
|
125
120
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'columnOrderChange', handleColumnReorderChange);
|
|
126
121
|
};
|
|
127
122
|
|
|
@@ -58,7 +58,7 @@ const hasScroll = ({
|
|
|
58
58
|
|
|
59
59
|
function useGridDimensions(apiRef, props) {
|
|
60
60
|
const logger = (0, _useGridLogger.useGridLogger)(apiRef, 'useResizeContainer');
|
|
61
|
-
const
|
|
61
|
+
const errorShown = React.useRef(false);
|
|
62
62
|
const rootDimensionsRef = React.useRef(null);
|
|
63
63
|
const fullDimensionsRef = React.useRef(null);
|
|
64
64
|
const rowsMeta = (0, _utils2.useGridSelector)(apiRef, _gridRowsMetaSelector.gridRowsMetaSelector);
|
|
@@ -115,7 +115,8 @@ function useGridDimensions(apiRef, props) {
|
|
|
115
115
|
viewportOuterSize,
|
|
116
116
|
viewportInnerSize,
|
|
117
117
|
hasScrollX,
|
|
118
|
-
hasScrollY
|
|
118
|
+
hasScrollY,
|
|
119
|
+
scrollBarSize
|
|
119
120
|
};
|
|
120
121
|
const prevDimensions = fullDimensionsRef.current;
|
|
121
122
|
fullDimensionsRef.current = newFullDimensions;
|
|
@@ -165,14 +166,14 @@ function useGridDimensions(apiRef, props) {
|
|
|
165
166
|
|
|
166
167
|
const isJSDOM = /jsdom/.test(window.navigator.userAgent);
|
|
167
168
|
|
|
168
|
-
if (size.height === 0 && !
|
|
169
|
-
logger.
|
|
170
|
-
|
|
169
|
+
if (size.height === 0 && !errorShown.current && !props.autoHeight && !isJSDOM) {
|
|
170
|
+
logger.error(['The parent DOM element of the data grid has an empty height.', 'Please make sure that this element has an intrinsic height.', 'The grid displays with a height of 0px.', '', 'More details: https://mui.com/r/x-data-grid-no-dimensions.'].join('\n'));
|
|
171
|
+
errorShown.current = true;
|
|
171
172
|
}
|
|
172
173
|
|
|
173
|
-
if (size.width === 0 && !
|
|
174
|
-
logger.
|
|
175
|
-
|
|
174
|
+
if (size.width === 0 && !errorShown.current && !isJSDOM) {
|
|
175
|
+
logger.error(['The parent DOM element of the data grid has an empty width.', 'Please make sure that this element has an intrinsic width.', 'The grid displays with a width of 0px.', '', 'More details: https://mui.com/r/x-data-grid-no-dimensions.'].join('\n'));
|
|
176
|
+
errorShown.current = true;
|
|
176
177
|
}
|
|
177
178
|
|
|
178
179
|
if (isTestEnvironment) {
|
|
@@ -11,6 +11,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
11
11
|
|
|
12
12
|
var React = _interopRequireWildcard(require("react"));
|
|
13
13
|
|
|
14
|
+
var _utils = require("@mui/material/utils");
|
|
15
|
+
|
|
14
16
|
var _useGridVisibleRows = require("../../utils/useGridVisibleRows");
|
|
15
17
|
|
|
16
18
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
@@ -62,86 +64,86 @@ const useGridRowsMeta = (apiRef, props) => {
|
|
|
62
64
|
const currentPage = (0, _useGridVisibleRows.useGridVisibleRows)(apiRef, props);
|
|
63
65
|
const hydrateRowsMeta = React.useCallback(() => {
|
|
64
66
|
hasRowWithAutoHeight.current = false;
|
|
65
|
-
apiRef.current.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
needsFirstMeasurement: true // Assume all rows will need to be measured by default
|
|
79
|
-
|
|
80
|
-
};
|
|
81
|
-
}
|
|
67
|
+
const densityFactor = (0, _densitySelector.gridDensityFactorSelector)(apiRef.current.state, apiRef.current.instanceId);
|
|
68
|
+
const positions = [];
|
|
69
|
+
const currentPageTotalHeight = currentPage.rows.reduce((acc, row) => {
|
|
70
|
+
positions.push(acc);
|
|
71
|
+
|
|
72
|
+
if (!rowsHeightLookup.current[row.id]) {
|
|
73
|
+
rowsHeightLookup.current[row.id] = {
|
|
74
|
+
sizes: {
|
|
75
|
+
base: rowHeightFromDensity
|
|
76
|
+
},
|
|
77
|
+
isResized: false,
|
|
78
|
+
autoHeight: false,
|
|
79
|
+
needsFirstMeasurement: true // Assume all rows will need to be measured by default
|
|
82
80
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
hasRowWithAutoHeight.current = true;
|
|
111
|
-
rowsHeightLookup.current[row.id].autoHeight = true;
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
const {
|
|
85
|
+
isResized,
|
|
86
|
+
needsFirstMeasurement,
|
|
87
|
+
sizes
|
|
88
|
+
} = rowsHeightLookup.current[row.id];
|
|
89
|
+
let baseRowHeight = rowHeightFromDensity;
|
|
90
|
+
const existingBaseRowHeight = sizes.base;
|
|
91
|
+
|
|
92
|
+
if (isResized) {
|
|
93
|
+
// Do not recalculate resized row height and use the value from the lookup
|
|
94
|
+
baseRowHeight = existingBaseRowHeight;
|
|
95
|
+
} else if (getRowHeightProp) {
|
|
96
|
+
const rowHeightFromUser = getRowHeightProp((0, _extends2.default)({}, row, {
|
|
97
|
+
densityFactor
|
|
98
|
+
}));
|
|
99
|
+
|
|
100
|
+
if (rowHeightFromUser === 'auto') {
|
|
101
|
+
if (needsFirstMeasurement) {
|
|
102
|
+
const estimatedRowHeight = getEstimatedRowHeight ? getEstimatedRowHeight((0, _extends2.default)({}, row, {
|
|
103
|
+
densityFactor
|
|
104
|
+
})) : rowHeightFromDensity; // If the row was not measured yet use the estimated row height
|
|
105
|
+
|
|
106
|
+
baseRowHeight = estimatedRowHeight != null ? estimatedRowHeight : rowHeightFromDensity;
|
|
112
107
|
} else {
|
|
113
|
-
|
|
114
|
-
baseRowHeight = rowHeightFromUser != null ? rowHeightFromUser : rowHeightFromDensity;
|
|
115
|
-
rowsHeightLookup.current[row.id].needsFirstMeasurement = false;
|
|
116
|
-
rowsHeightLookup.current[row.id].autoHeight = false;
|
|
108
|
+
baseRowHeight = existingBaseRowHeight;
|
|
117
109
|
}
|
|
110
|
+
|
|
111
|
+
hasRowWithAutoHeight.current = true;
|
|
112
|
+
rowsHeightLookup.current[row.id].autoHeight = true;
|
|
118
113
|
} else {
|
|
114
|
+
// Default back to base rowHeight if getRowHeight returns null or undefined.
|
|
115
|
+
baseRowHeight = rowHeightFromUser != null ? rowHeightFromUser : rowHeightFromDensity;
|
|
119
116
|
rowsHeightLookup.current[row.id].needsFirstMeasurement = false;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
const initialHeights = {
|
|
124
|
-
base: baseRowHeight
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
if (getRowSpacing) {
|
|
128
|
-
var _spacing$top, _spacing$bottom;
|
|
129
|
-
|
|
130
|
-
const indexRelativeToCurrentPage = apiRef.current.getRowIndexRelativeToVisibleRows(row.id);
|
|
131
|
-
const spacing = getRowSpacing((0, _extends2.default)({}, row, {
|
|
132
|
-
isFirstVisible: indexRelativeToCurrentPage === 0,
|
|
133
|
-
isLastVisible: indexRelativeToCurrentPage === currentPage.rows.length - 1,
|
|
134
|
-
indexRelativeToCurrentPage
|
|
135
|
-
}));
|
|
136
|
-
initialHeights.spacingTop = (_spacing$top = spacing.top) != null ? _spacing$top : 0;
|
|
137
|
-
initialHeights.spacingBottom = (_spacing$bottom = spacing.bottom) != null ? _spacing$bottom : 0;
|
|
117
|
+
rowsHeightLookup.current[row.id].autoHeight = false;
|
|
138
118
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
119
|
+
} else {
|
|
120
|
+
rowsHeightLookup.current[row.id].needsFirstMeasurement = false;
|
|
121
|
+
} // We use an object to make simple to check if a height is already added or not
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
const initialHeights = {
|
|
125
|
+
base: baseRowHeight
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
if (getRowSpacing) {
|
|
129
|
+
var _spacing$top, _spacing$bottom;
|
|
130
|
+
|
|
131
|
+
const indexRelativeToCurrentPage = apiRef.current.getRowIndexRelativeToVisibleRows(row.id);
|
|
132
|
+
const spacing = getRowSpacing((0, _extends2.default)({}, row, {
|
|
133
|
+
isFirstVisible: indexRelativeToCurrentPage === 0,
|
|
134
|
+
isLastVisible: indexRelativeToCurrentPage === currentPage.rows.length - 1,
|
|
135
|
+
indexRelativeToCurrentPage
|
|
136
|
+
}));
|
|
137
|
+
initialHeights.spacingTop = (_spacing$top = spacing.top) != null ? _spacing$top : 0;
|
|
138
|
+
initialHeights.spacingBottom = (_spacing$bottom = spacing.bottom) != null ? _spacing$bottom : 0;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
const processedSizes = apiRef.current.unstable_applyPipeProcessors('rowHeight', initialHeights, row);
|
|
142
|
+
rowsHeightLookup.current[row.id].sizes = processedSizes;
|
|
143
|
+
const finalRowHeight = Object.values(processedSizes).reduce((acc2, value) => acc2 + value, 0);
|
|
144
|
+
return acc + finalRowHeight;
|
|
145
|
+
}, 0);
|
|
146
|
+
apiRef.current.setState(state => {
|
|
145
147
|
return (0, _extends2.default)({}, state, {
|
|
146
148
|
rowsMeta: {
|
|
147
149
|
currentPageTotalHeight,
|
|
@@ -174,6 +176,7 @@ const useGridRowsMeta = (apiRef, props) => {
|
|
|
174
176
|
rowsHeightLookup.current[id].needsFirstMeasurement = false;
|
|
175
177
|
hydrateRowsMeta();
|
|
176
178
|
}, [hydrateRowsMeta]);
|
|
179
|
+
const debouncedHydrateRowsMeta = React.useMemo(() => (0, _utils.debounce)(hydrateRowsMeta), [hydrateRowsMeta]);
|
|
177
180
|
const storeMeasuredRowHeight = React.useCallback((id, height) => {
|
|
178
181
|
if (!rowsHeightLookup.current[id] || !rowsHeightLookup.current[id].autoHeight) {
|
|
179
182
|
return;
|
|
@@ -185,9 +188,9 @@ const useGridRowsMeta = (apiRef, props) => {
|
|
|
185
188
|
rowsHeightLookup.current[id].sizes.base = height;
|
|
186
189
|
|
|
187
190
|
if (needsHydration) {
|
|
188
|
-
|
|
191
|
+
debouncedHydrateRowsMeta();
|
|
189
192
|
}
|
|
190
|
-
}, [
|
|
193
|
+
}, [debouncedHydrateRowsMeta]);
|
|
191
194
|
const rowHasAutoHeight = React.useCallback(id => {
|
|
192
195
|
var _rowsHeightLookup$cur2;
|
|
193
196
|
|
|
@@ -197,7 +200,7 @@ const useGridRowsMeta = (apiRef, props) => {
|
|
|
197
200
|
return lastMeasuredRowIndex.current;
|
|
198
201
|
}, []);
|
|
199
202
|
const setLastMeasuredRowIndex = React.useCallback(index => {
|
|
200
|
-
if (hasRowWithAutoHeight.current) {
|
|
203
|
+
if (hasRowWithAutoHeight.current && index > lastMeasuredRowIndex.current) {
|
|
201
204
|
lastMeasuredRowIndex.current = index;
|
|
202
205
|
}
|
|
203
206
|
}, []); // The effect is used to build the rows meta data - currentPageTotalHeight and positions.
|
|
@@ -48,14 +48,16 @@ const useGridSelectionPreProcessors = (apiRef, props) => {
|
|
|
48
48
|
headerName: apiRef.current.getLocaleText('checkboxSelectionHeaderName')
|
|
49
49
|
});
|
|
50
50
|
const shouldHaveSelectionColumn = props.checkboxSelection;
|
|
51
|
-
const haveSelectionColumn = columnsState.lookup[
|
|
51
|
+
const haveSelectionColumn = columnsState.lookup[_colDef.GRID_CHECKBOX_SELECTION_FIELD] != null;
|
|
52
52
|
|
|
53
53
|
if (shouldHaveSelectionColumn && !haveSelectionColumn) {
|
|
54
|
-
columnsState.lookup[
|
|
55
|
-
columnsState.all = [
|
|
54
|
+
columnsState.lookup[_colDef.GRID_CHECKBOX_SELECTION_FIELD] = selectionColumn;
|
|
55
|
+
columnsState.all = [_colDef.GRID_CHECKBOX_SELECTION_FIELD, ...columnsState.all];
|
|
56
56
|
} else if (!shouldHaveSelectionColumn && haveSelectionColumn) {
|
|
57
|
-
delete columnsState.lookup[
|
|
58
|
-
columnsState.all = columnsState.all.filter(field => field !==
|
|
57
|
+
delete columnsState.lookup[_colDef.GRID_CHECKBOX_SELECTION_FIELD];
|
|
58
|
+
columnsState.all = columnsState.all.filter(field => field !== _colDef.GRID_CHECKBOX_SELECTION_FIELD);
|
|
59
|
+
} else if (shouldHaveSelectionColumn && haveSelectionColumn) {
|
|
60
|
+
columnsState.lookup[_colDef.GRID_CHECKBOX_SELECTION_FIELD] = (0, _extends2.default)({}, selectionColumn, columnsState.lookup[_colDef.GRID_CHECKBOX_SELECTION_FIELD]);
|
|
59
61
|
}
|
|
60
62
|
|
|
61
63
|
return columnsState;
|