@mui/x-data-grid 6.0.0-alpha.2 → 6.0.0-alpha.4
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 +493 -141
- package/DataGrid/DataGrid.js +14 -34
- package/DataGrid/useDataGridComponent.js +8 -14
- package/DataGrid/useDataGridProps.js +3 -3
- package/colDef/gridCheckboxSelectionColDef.js +1 -1
- package/colDef/gridNumericOperators.d.ts +1 -1
- package/colDef/gridSingleSelectOperators.d.ts +1 -1
- package/colDef/gridStringOperators.d.ts +1 -1
- package/components/GridFooter.js +1 -1
- package/components/GridRow.js +2 -2
- package/components/base/GridBody.js +2 -2
- package/components/cell/GridEditInputCell.js +3 -8
- package/components/cell/GridEditSingleSelectCell.js +6 -38
- package/components/columnHeaders/GridColumnGroupHeader.d.ts +2 -0
- package/components/columnHeaders/GridColumnGroupHeader.js +32 -5
- package/components/columnSelection/GridHeaderCheckbox.js +3 -3
- package/components/containers/GridRoot.js +4 -3
- package/components/panel/GridColumnsPanel.d.ts +2 -0
- package/components/panel/GridColumnsPanel.js +10 -4
- package/components/panel/filterPanel/GridFilterForm.d.ts +12 -0
- package/components/panel/filterPanel/GridFilterForm.js +29 -7
- package/components/panel/filterPanel/GridFilterPanel.d.ts +12 -0
- package/components/panel/filterPanel/GridFilterPanel.js +64 -19
- package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.d.ts +1 -1
- package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +1 -1
- package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.d.ts +1 -1
- package/hooks/core/useGridInitialization.d.ts +1 -1
- package/hooks/core/useGridStateInitialization.d.ts +1 -1
- package/hooks/features/columnGrouping/gridColumnGroupsInterfaces.d.ts +10 -1
- package/hooks/features/columnGrouping/gridColumnGroupsSelector.d.ts +6 -0
- package/hooks/features/columnGrouping/gridColumnGroupsSelector.js +34 -1
- package/hooks/features/columnGrouping/gridColumnGroupsUtils.d.ts +15 -0
- package/hooks/features/columnGrouping/gridColumnGroupsUtils.js +89 -0
- package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +1 -15
- package/hooks/features/columnGrouping/useGridColumnGrouping.js +66 -66
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +60 -116
- package/hooks/features/density/densitySelector.d.ts +0 -2
- package/hooks/features/density/densitySelector.js +1 -3
- package/hooks/features/density/densityState.d.ts +0 -1
- package/hooks/features/density/useGridDensity.d.ts +1 -1
- package/hooks/features/density/useGridDensity.js +9 -45
- package/hooks/features/dimensions/useGridDimensions.js +3 -2
- package/hooks/features/{editRows/gridEditRowsSelector.d.ts → editing/gridEditingSelectors.d.ts} +0 -0
- package/hooks/features/{editRows/gridEditRowsSelector.js → editing/gridEditingSelectors.js} +0 -0
- package/hooks/features/editing/index.d.ts +1 -0
- package/hooks/features/editing/index.js +1 -0
- package/hooks/features/{editRows/useGridCellEditing.new.d.ts → editing/useGridCellEditing.d.ts} +0 -0
- package/hooks/features/{editRows/useGridCellEditing.new.js → editing/useGridCellEditing.js} +21 -6
- package/hooks/features/{editRows/useGridEditing.new.d.ts → editing/useGridEditing.d.ts} +0 -0
- package/hooks/features/{editRows/useGridEditing.new.js → editing/useGridEditing.js} +3 -3
- package/hooks/features/{editRows/useGridRowEditing.new.d.ts → editing/useGridRowEditing.d.ts} +0 -0
- package/hooks/features/{editRows/useGridRowEditing.new.js → editing/useGridRowEditing.js} +20 -6
- package/hooks/features/export/useGridPrintExport.js +2 -2
- package/hooks/features/focus/gridFocusState.d.ts +6 -0
- package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -0
- package/hooks/features/focus/gridFocusStateSelector.js +6 -2
- package/hooks/features/focus/useGridFocus.js +69 -11
- package/hooks/features/index.d.ts +2 -2
- package/hooks/features/index.js +2 -2
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +135 -1
- package/hooks/features/{selection/gridSelectionSelector.d.ts → rowSelection/gridRowSelectionSelector.d.ts} +1 -1
- package/hooks/features/rowSelection/gridRowSelectionSelector.js +9 -0
- package/hooks/features/rowSelection/index.d.ts +1 -0
- package/hooks/features/rowSelection/index.js +1 -0
- package/hooks/features/rowSelection/useGridRowSelection.d.ts +12 -0
- package/hooks/features/{selection/useGridSelection.js → rowSelection/useGridRowSelection.js} +37 -37
- package/hooks/features/{selection/useGridSelectionPreProcessors.d.ts → rowSelection/useGridRowSelectionPreProcessors.d.ts} +1 -1
- package/hooks/features/{selection/useGridSelectionPreProcessors.js → rowSelection/useGridRowSelectionPreProcessors.js} +1 -1
- package/hooks/features/rows/gridRowsInterfaces.d.ts +4 -0
- package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
- package/hooks/features/rows/gridRowsUtils.js +5 -2
- package/hooks/features/rows/useGridRows.js +23 -7
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +1 -1
- package/hooks/features/virtualization/useGridVirtualScroller.js +2 -2
- package/hooks/utils/useGridApi.d.ts +1 -1
- package/hooks/utils/useGridApiEventHandler.d.ts +2 -2
- package/hooks/utils/useGridApiRef.d.ts +1 -1
- package/hooks/utils/useGridInitializeState.d.ts +1 -1
- package/hooks/utils/useGridNativeEventListener.d.ts +1 -1
- package/hooks/utils/useGridSelector.d.ts +1 -1
- package/hooks/utils/useGridState.d.ts +1 -1
- package/hooks/utils/useGridVisibleRows.d.ts +2 -2
- package/index.js +1 -1
- package/internals/index.d.ts +3 -5
- package/internals/index.js +3 -5
- package/legacy/DataGrid/DataGrid.js +14 -34
- package/legacy/DataGrid/useDataGridComponent.js +8 -14
- package/legacy/DataGrid/useDataGridProps.js +3 -3
- package/legacy/colDef/gridCheckboxSelectionColDef.js +1 -1
- package/legacy/components/GridFooter.js +1 -1
- package/legacy/components/GridRow.js +2 -2
- package/legacy/components/base/GridBody.js +2 -2
- package/legacy/components/cell/GridEditInputCell.js +3 -8
- package/legacy/components/cell/GridEditSingleSelectCell.js +6 -52
- package/legacy/components/columnHeaders/GridColumnGroupHeader.js +46 -13
- package/legacy/components/columnSelection/GridHeaderCheckbox.js +3 -3
- package/legacy/components/containers/GridRoot.js +4 -3
- package/legacy/components/panel/GridColumnsPanel.js +10 -3
- package/legacy/components/panel/filterPanel/GridFilterForm.js +31 -7
- package/legacy/components/panel/filterPanel/GridFilterPanel.js +67 -18
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +33 -1
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +96 -0
- package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +64 -64
- package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +70 -122
- package/legacy/hooks/features/density/densitySelector.js +0 -6
- package/legacy/hooks/features/density/useGridDensity.js +6 -44
- package/legacy/hooks/features/dimensions/useGridDimensions.js +3 -2
- package/legacy/hooks/features/{editRows/gridEditRowsSelector.js → editing/gridEditingSelectors.js} +0 -0
- package/legacy/hooks/features/editing/index.js +1 -0
- package/legacy/hooks/features/{editRows/useGridCellEditing.new.js → editing/useGridCellEditing.js} +21 -6
- package/legacy/hooks/features/{editRows/useGridEditing.new.js → editing/useGridEditing.js} +3 -3
- package/legacy/hooks/features/{editRows/useGridRowEditing.new.js → editing/useGridRowEditing.js} +20 -6
- package/legacy/hooks/features/export/useGridPrintExport.js +2 -2
- package/legacy/hooks/features/focus/gridFocusStateSelector.js +8 -0
- package/legacy/hooks/features/focus/useGridFocus.js +72 -11
- package/legacy/hooks/features/index.js +2 -2
- package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +129 -1
- package/legacy/hooks/features/rowSelection/gridRowSelectionSelector.js +19 -0
- package/legacy/hooks/features/rowSelection/index.js +1 -0
- package/legacy/hooks/features/{selection/useGridSelection.js → rowSelection/useGridRowSelection.js} +37 -37
- package/legacy/hooks/features/{selection/useGridSelectionPreProcessors.js → rowSelection/useGridRowSelectionPreProcessors.js} +1 -1
- package/legacy/hooks/features/rows/gridRowsUtils.js +5 -2
- package/legacy/hooks/features/rows/useGridRows.js +25 -7
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +2 -2
- package/legacy/index.js +1 -1
- package/legacy/internals/index.js +3 -5
- package/legacy/locales/trTR.js +17 -17
- package/legacy/models/api/{gridSelectionApi.js → gridRowSelectionApi.js} +0 -0
- package/legacy/models/api/index.js +1 -1
- package/legacy/models/{gridSelectionModel.js → gridRowSelectionModel.js} +0 -0
- package/legacy/models/index.js +1 -1
- package/{models/api/gridSelectionApi.js → legacy/models/params/gridColumnGroupHeaderParams.js} +0 -0
- package/legacy/models/params/gridEditCellParams.js +0 -4
- package/legacy/models/params/index.js +1 -0
- package/locales/trTR.js +17 -17
- package/models/api/gridApiCommon.d.ts +3 -6
- package/models/api/gridApiCommunity.d.ts +1 -7
- package/models/api/gridEditingApi.d.ts +36 -121
- package/models/api/gridFocusApi.d.ts +13 -0
- package/models/api/{gridSelectionApi.d.ts → gridRowSelectionApi.d.ts} +2 -2
- package/models/{gridSelectionModel.js → api/gridRowSelectionApi.js} +0 -0
- package/models/api/index.d.ts +2 -2
- package/models/api/index.js +1 -1
- package/models/colDef/gridColDef.d.ts +0 -8
- package/models/events/gridEventLookup.d.ts +30 -19
- package/models/gridColumnGrouping.d.ts +1 -26
- package/models/gridRowSelectionModel.d.ts +3 -0
- package/{modern/models/api/gridSelectionApi.js → models/gridRowSelectionModel.js} +0 -0
- package/models/gridStateCommunity.d.ts +2 -2
- package/models/index.d.ts +1 -1
- package/models/index.js +1 -1
- package/models/params/gridColumnGroupHeaderParams.d.ts +30 -0
- package/{modern/models/gridSelectionModel.js → models/params/gridColumnGroupHeaderParams.js} +0 -0
- package/models/params/gridEditCellParams.d.ts +4 -17
- package/models/params/gridEditCellParams.js +0 -4
- package/models/params/gridRowParams.d.ts +4 -4
- package/models/params/index.d.ts +1 -0
- package/models/params/index.js +1 -0
- package/models/props/DataGridProps.d.ts +8 -32
- package/modern/DataGrid/DataGrid.js +14 -34
- package/modern/DataGrid/useDataGridComponent.js +8 -12
- package/modern/DataGrid/useDataGridProps.js +3 -3
- package/modern/colDef/gridCheckboxSelectionColDef.js +1 -1
- package/modern/components/GridFooter.js +1 -1
- package/modern/components/GridRow.js +2 -2
- package/modern/components/base/GridBody.js +2 -2
- package/modern/components/cell/GridEditInputCell.js +3 -4
- package/modern/components/cell/GridEditSingleSelectCell.js +6 -34
- package/modern/components/columnHeaders/GridColumnGroupHeader.js +32 -5
- package/modern/components/columnSelection/GridHeaderCheckbox.js +3 -3
- package/modern/components/containers/GridRoot.js +4 -3
- package/modern/components/panel/GridColumnsPanel.js +10 -4
- package/modern/components/panel/filterPanel/GridFilterForm.js +29 -7
- package/modern/components/panel/filterPanel/GridFilterPanel.js +62 -17
- package/modern/hooks/features/columnGrouping/gridColumnGroupsSelector.js +14 -1
- package/modern/hooks/features/columnGrouping/gridColumnGroupsUtils.js +83 -0
- package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +50 -62
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +58 -98
- package/modern/hooks/features/density/densitySelector.js +1 -3
- package/modern/hooks/features/density/useGridDensity.js +9 -37
- package/modern/hooks/features/dimensions/useGridDimensions.js +3 -2
- package/modern/hooks/features/{editRows/gridEditRowsSelector.js → editing/gridEditingSelectors.js} +0 -0
- package/modern/hooks/features/editing/index.js +1 -0
- package/modern/hooks/features/{editRows/useGridCellEditing.new.js → editing/useGridCellEditing.js} +21 -6
- package/modern/hooks/features/{editRows/useGridEditing.new.js → editing/useGridEditing.js} +3 -3
- package/modern/hooks/features/{editRows/useGridRowEditing.new.js → editing/useGridRowEditing.js} +20 -6
- package/modern/hooks/features/export/useGridPrintExport.js +2 -2
- package/modern/hooks/features/focus/gridFocusStateSelector.js +6 -2
- package/modern/hooks/features/focus/useGridFocus.js +69 -11
- package/modern/hooks/features/index.js +2 -2
- package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +135 -1
- package/modern/hooks/features/rowSelection/gridRowSelectionSelector.js +9 -0
- package/modern/hooks/features/rowSelection/index.js +1 -0
- package/modern/hooks/features/{selection/useGridSelection.js → rowSelection/useGridRowSelection.js} +37 -37
- package/modern/hooks/features/{selection/useGridSelectionPreProcessors.js → rowSelection/useGridRowSelectionPreProcessors.js} +1 -1
- package/modern/hooks/features/rows/gridRowsUtils.js +5 -2
- package/modern/hooks/features/rows/useGridRows.js +23 -7
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +2 -2
- package/modern/index.js +1 -1
- package/modern/internals/index.js +3 -5
- package/modern/locales/trTR.js +17 -17
- package/modern/models/api/gridRowSelectionApi.js +1 -0
- package/modern/models/api/index.js +1 -1
- package/modern/models/gridRowSelectionModel.js +1 -0
- package/modern/models/index.js +1 -1
- package/modern/models/params/gridColumnGroupHeaderParams.js +1 -0
- package/modern/models/params/gridEditCellParams.js +0 -4
- package/modern/models/params/index.js +1 -0
- package/node/DataGrid/DataGrid.js +14 -34
- package/node/DataGrid/useDataGridComponent.js +9 -17
- package/node/DataGrid/useDataGridProps.js +3 -3
- package/node/colDef/gridCheckboxSelectionColDef.js +2 -2
- package/node/components/GridFooter.js +2 -2
- package/node/components/GridRow.js +2 -2
- package/node/components/base/GridBody.js +2 -2
- package/node/components/cell/GridEditInputCell.js +3 -9
- package/node/components/cell/GridEditSingleSelectCell.js +6 -38
- package/node/components/columnHeaders/GridColumnGroupHeader.js +32 -5
- package/node/components/columnSelection/GridHeaderCheckbox.js +3 -3
- package/node/components/containers/GridRoot.js +4 -2
- package/node/components/panel/GridColumnsPanel.js +10 -4
- package/node/components/panel/filterPanel/GridFilterForm.js +30 -7
- package/node/components/panel/filterPanel/GridFilterPanel.js +63 -19
- package/node/hooks/features/columnGrouping/gridColumnGroupsSelector.js +40 -3
- package/node/hooks/features/columnGrouping/gridColumnGroupsUtils.js +102 -0
- package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +68 -71
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +57 -113
- package/node/hooks/features/density/densitySelector.js +2 -6
- package/node/hooks/features/density/useGridDensity.js +9 -48
- package/node/hooks/features/dimensions/useGridDimensions.js +3 -1
- package/node/hooks/features/{editRows/gridEditRowsSelector.js → editing/gridEditingSelectors.js} +0 -0
- package/node/hooks/features/{editRows → editing}/index.js +4 -4
- package/node/hooks/features/{editRows/useGridCellEditing.new.js → editing/useGridCellEditing.js} +28 -13
- package/node/hooks/features/{editRows/useGridEditing.new.js → editing/useGridEditing.js} +4 -4
- package/node/hooks/features/{editRows/useGridRowEditing.new.js → editing/useGridRowEditing.js} +28 -14
- package/node/hooks/features/export/useGridPrintExport.js +2 -2
- package/node/hooks/features/focus/gridFocusStateSelector.js +10 -4
- package/node/hooks/features/focus/useGridFocus.js +68 -10
- package/node/hooks/features/index.js +8 -8
- package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +138 -1
- package/node/hooks/features/{selection/gridSelectionSelector.js → rowSelection/gridRowSelectionSelector.js} +6 -6
- package/node/hooks/features/rowSelection/index.js +18 -0
- package/node/hooks/features/{selection/useGridSelection.js → rowSelection/useGridRowSelection.js} +43 -43
- package/node/hooks/features/{selection/useGridSelectionPreProcessors.js → rowSelection/useGridRowSelectionPreProcessors.js} +3 -3
- package/node/hooks/features/rows/gridRowsUtils.js +5 -2
- package/node/hooks/features/rows/useGridRows.js +23 -7
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +4 -4
- package/node/index.js +1 -1
- package/node/internals/index.js +23 -45
- package/node/locales/trTR.js +17 -17
- package/node/models/api/{gridSelectionApi.js → gridRowSelectionApi.js} +0 -0
- package/node/models/api/index.js +4 -4
- package/node/models/{gridSelectionModel.js → gridRowSelectionModel.js} +0 -0
- package/node/models/index.js +4 -4
- package/node/models/params/gridColumnGroupHeaderParams.js +5 -0
- package/node/models/params/gridEditCellParams.js +0 -3
- package/node/models/params/index.js +13 -0
- package/package.json +2 -2
- package/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.d.ts +0 -4
- package/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.js +0 -35
- package/hooks/features/editRows/index.d.ts +0 -1
- package/hooks/features/editRows/index.js +0 -1
- package/hooks/features/editRows/useGridCellEditing.old.d.ts +0 -4
- package/hooks/features/editRows/useGridCellEditing.old.js +0 -359
- package/hooks/features/editRows/useGridEditing.old.d.ts +0 -11
- package/hooks/features/editRows/useGridEditing.old.js +0 -167
- package/hooks/features/editRows/useGridRowEditing.old.d.ts +0 -4
- package/hooks/features/editRows/useGridRowEditing.old.js +0 -334
- package/hooks/features/selection/gridSelectionSelector.js +0 -9
- package/hooks/features/selection/index.d.ts +0 -1
- package/hooks/features/selection/index.js +0 -1
- package/hooks/features/selection/useGridSelection.d.ts +0 -12
- package/legacy/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.js +0 -35
- package/legacy/hooks/features/editRows/index.js +0 -1
- package/legacy/hooks/features/editRows/useGridCellEditing.old.js +0 -411
- package/legacy/hooks/features/editRows/useGridEditing.old.js +0 -184
- package/legacy/hooks/features/editRows/useGridRowEditing.old.js +0 -505
- package/legacy/hooks/features/selection/gridSelectionSelector.js +0 -19
- package/legacy/hooks/features/selection/index.js +0 -1
- package/models/gridSelectionModel.d.ts +0 -3
- package/modern/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.js +0 -29
- package/modern/hooks/features/editRows/index.js +0 -1
- package/modern/hooks/features/editRows/useGridCellEditing.old.js +0 -355
- package/modern/hooks/features/editRows/useGridEditing.old.js +0 -163
- package/modern/hooks/features/editRows/useGridRowEditing.old.js +0 -326
- package/modern/hooks/features/selection/gridSelectionSelector.js +0 -9
- package/modern/hooks/features/selection/index.js +0 -1
- package/node/hooks/features/columnGrouping/useGridColumnGroupingPreProcessors.js +0 -55
- package/node/hooks/features/editRows/useGridCellEditing.old.js +0 -380
- package/node/hooks/features/editRows/useGridEditing.old.js +0 -193
- package/node/hooks/features/editRows/useGridRowEditing.old.js +0 -358
- package/node/hooks/features/selection/index.js +0 -18
|
@@ -5,9 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.columnGroupsStateInitializer = void 0;
|
|
9
|
-
exports.hasGroupPath = hasGroupPath;
|
|
10
|
-
exports.useGridColumnGrouping = exports.unwrapGroupingColumnModel = void 0;
|
|
8
|
+
exports.useGridColumnGrouping = exports.columnGroupsStateInitializer = void 0;
|
|
11
9
|
|
|
12
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
11
|
|
|
@@ -19,60 +17,21 @@ var _gridColumnGrouping = require("../../../models/gridColumnGrouping");
|
|
|
19
17
|
|
|
20
18
|
var _gridColumnGroupsSelector = require("./gridColumnGroupsSelector");
|
|
21
19
|
|
|
22
|
-
var _gridColumnsSelector = require("../columns/gridColumnsSelector");
|
|
23
|
-
|
|
24
20
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
25
21
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
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); }
|
|
29
|
-
|
|
30
|
-
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; }
|
|
31
|
-
|
|
32
|
-
function hasGroupPath(lookupElement) {
|
|
33
|
-
return lookupElement.groupPath !== undefined;
|
|
34
|
-
}
|
|
22
|
+
var _gridColumnGroupsUtils = require("./gridColumnGroupsUtils");
|
|
35
23
|
|
|
36
|
-
|
|
37
|
-
const recurrentUnwrapGroupingColumnModel = (columnGroupNode, parents, unwrappedGroupingModelToComplet) => {
|
|
38
|
-
if ((0, _gridColumnGrouping.isLeaf)(columnGroupNode)) {
|
|
39
|
-
if (unwrappedGroupingModelToComplet[columnGroupNode.field] !== undefined) {
|
|
40
|
-
throw new Error([`MUI: columnGroupingModel contains duplicated field`, `column field ${columnGroupNode.field} occurrs two times in the grouping model:`, `- ${unwrappedGroupingModelToComplet[columnGroupNode.field].join(' > ')}`, `- ${parents.join(' > ')}`].join('\n'));
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
unwrappedGroupingModelToComplet[columnGroupNode.field] = parents;
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
24
|
+
var _useGridApiEventHandler = require("../../utils/useGridApiEventHandler");
|
|
46
25
|
|
|
47
|
-
|
|
48
|
-
groupId,
|
|
49
|
-
children
|
|
50
|
-
} = columnGroupNode;
|
|
51
|
-
children.forEach(child => {
|
|
52
|
-
recurrentUnwrapGroupingColumnModel(child, [...parents, groupId], unwrappedGroupingModelToComplet);
|
|
53
|
-
});
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* This is a function that provide for each column the array of its parents.
|
|
57
|
-
* Parents are ordered from the root to the leaf.
|
|
58
|
-
* @param columnGroupingModel The model such as provided in DataGrid props
|
|
59
|
-
* @returns An object `{[field]: groupIds}` where `groupIds` is the parents of the column `field`
|
|
60
|
-
*/
|
|
26
|
+
var _columns = require("../columns");
|
|
61
27
|
|
|
28
|
+
var _useGridSelector = require("../../utils/useGridSelector");
|
|
62
29
|
|
|
63
|
-
const
|
|
64
|
-
if (!columnGroupingModel) {
|
|
65
|
-
return {};
|
|
66
|
-
}
|
|
30
|
+
const _excluded = ["groupId", "children"];
|
|
67
31
|
|
|
68
|
-
|
|
69
|
-
columnGroupingModel.forEach(columnGroupNode => {
|
|
70
|
-
recurrentUnwrapGroupingColumnModel(columnGroupNode, [], unwrappedSubTree);
|
|
71
|
-
});
|
|
72
|
-
return unwrappedSubTree;
|
|
73
|
-
};
|
|
32
|
+
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); }
|
|
74
33
|
|
|
75
|
-
|
|
34
|
+
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; }
|
|
76
35
|
|
|
77
36
|
const createGroupLookup = columnGroupingModel => {
|
|
78
37
|
let groupLookup = {};
|
|
@@ -111,14 +70,29 @@ const createGroupLookup = columnGroupingModel => {
|
|
|
111
70
|
return (0, _extends2.default)({}, groupLookup);
|
|
112
71
|
};
|
|
113
72
|
|
|
114
|
-
const columnGroupsStateInitializer = (state, props) => {
|
|
115
|
-
var _props$columnGrouping;
|
|
73
|
+
const columnGroupsStateInitializer = (state, props, apiRef) => {
|
|
74
|
+
var _props$experimentalFe, _props$columnGrouping, _props$columnGrouping2;
|
|
116
75
|
|
|
76
|
+
if (!((_props$experimentalFe = props.experimentalFeatures) != null && _props$experimentalFe.columnGrouping)) {
|
|
77
|
+
return state;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const columnFields = (0, _columns.gridColumnFieldsSelector)(apiRef);
|
|
81
|
+
const visibleColumnFields = (0, _columns.gridVisibleColumnFieldsSelector)(apiRef);
|
|
117
82
|
const groupLookup = createGroupLookup((_props$columnGrouping = props.columnGroupingModel) != null ? _props$columnGrouping : []);
|
|
83
|
+
const unwrappedGroupingModel = (0, _gridColumnGroupsUtils.unwrapGroupingColumnModel)((_props$columnGrouping2 = props.columnGroupingModel) != null ? _props$columnGrouping2 : []);
|
|
84
|
+
const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(columnFields, unwrappedGroupingModel);
|
|
85
|
+
const maxDepth = visibleColumnFields.length === 0 ? 0 : Math.max(...visibleColumnFields.map(field => {
|
|
86
|
+
var _unwrappedGroupingMod, _unwrappedGroupingMod2;
|
|
87
|
+
|
|
88
|
+
return (_unwrappedGroupingMod = (_unwrappedGroupingMod2 = unwrappedGroupingModel[field]) == null ? void 0 : _unwrappedGroupingMod2.length) != null ? _unwrappedGroupingMod : 0;
|
|
89
|
+
}));
|
|
118
90
|
return (0, _extends2.default)({}, state, {
|
|
119
91
|
columnGrouping: {
|
|
120
92
|
lookup: groupLookup,
|
|
121
|
-
|
|
93
|
+
unwrappedGroupingModel,
|
|
94
|
+
headerStructure: columnGroupsHeaderStructure,
|
|
95
|
+
maxDepth
|
|
122
96
|
}
|
|
123
97
|
});
|
|
124
98
|
};
|
|
@@ -131,16 +105,16 @@ const columnGroupsStateInitializer = (state, props) => {
|
|
|
131
105
|
exports.columnGroupsStateInitializer = columnGroupsStateInitializer;
|
|
132
106
|
|
|
133
107
|
const useGridColumnGrouping = (apiRef, props) => {
|
|
134
|
-
var _props$
|
|
108
|
+
var _props$experimentalFe3;
|
|
135
109
|
|
|
136
110
|
/**
|
|
137
111
|
* API METHODS
|
|
138
112
|
*/
|
|
139
113
|
const getColumnGroupPath = React.useCallback(field => {
|
|
140
|
-
var
|
|
114
|
+
var _unwrappedGroupingMod3;
|
|
141
115
|
|
|
142
|
-
const
|
|
143
|
-
return (
|
|
116
|
+
const unwrappedGroupingModel = (0, _gridColumnGroupsSelector.gridColumnGroupsUnwrappedModelSelector)(apiRef);
|
|
117
|
+
return (_unwrappedGroupingMod3 = unwrappedGroupingModel[field]) != null ? _unwrappedGroupingMod3 : [];
|
|
144
118
|
}, [apiRef]);
|
|
145
119
|
const getAllGroupDetails = React.useCallback(() => {
|
|
146
120
|
const columnGroupLookup = (0, _gridColumnGroupsSelector.gridColumnGroupsLookupSelector)(apiRef);
|
|
@@ -151,32 +125,55 @@ const useGridColumnGrouping = (apiRef, props) => {
|
|
|
151
125
|
unstable_getAllGroupDetails: getAllGroupDetails
|
|
152
126
|
};
|
|
153
127
|
(0, _useGridApiMethod.useGridApiMethod)(apiRef, columnGroupingApi, 'GridColumnGroupingApi');
|
|
128
|
+
const handleColumnReorderChange = React.useCallback(() => {
|
|
129
|
+
var _props$columnGrouping3;
|
|
130
|
+
|
|
131
|
+
const unwrappedGroupingModel = (0, _gridColumnGroupsUtils.unwrapGroupingColumnModel)((_props$columnGrouping3 = props.columnGroupingModel) != null ? _props$columnGrouping3 : []);
|
|
132
|
+
apiRef.current.setState(state => {
|
|
133
|
+
var _state$columns$all, _state$columns;
|
|
134
|
+
|
|
135
|
+
const orderedFields = (_state$columns$all = (_state$columns = state.columns) == null ? void 0 : _state$columns.all) != null ? _state$columns$all : [];
|
|
136
|
+
const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(orderedFields, unwrappedGroupingModel);
|
|
137
|
+
return (0, _extends2.default)({}, state, {
|
|
138
|
+
columnGrouping: (0, _extends2.default)({}, state.columnGrouping, {
|
|
139
|
+
headerStructure: columnGroupsHeaderStructure
|
|
140
|
+
})
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
}, [apiRef, props.columnGroupingModel]);
|
|
144
|
+
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'columnOrderChange', handleColumnReorderChange);
|
|
145
|
+
const columnFields = (0, _useGridSelector.useGridSelector)(apiRef, _columns.gridColumnFieldsSelector);
|
|
146
|
+
const visibleColumnFields = (0, _useGridSelector.useGridSelector)(apiRef, _columns.gridVisibleColumnFieldsSelector);
|
|
154
147
|
/**
|
|
155
148
|
* EFFECTS
|
|
156
149
|
*/
|
|
157
|
-
// The effect does not track any value defined synchronously during the 1st render by hooks called after `useGridColumns`
|
|
158
|
-
// As a consequence, the state generated by the 1st run of this useEffect will always be equal to the initialization one
|
|
159
150
|
|
|
160
|
-
const isFirstRender = React.useRef(true);
|
|
161
151
|
React.useEffect(() => {
|
|
162
|
-
var _props$
|
|
152
|
+
var _props$experimentalFe2, _props$columnGrouping4, _props$columnGrouping5;
|
|
163
153
|
|
|
164
|
-
if (
|
|
165
|
-
isFirstRender.current = false;
|
|
154
|
+
if (!((_props$experimentalFe2 = props.experimentalFeatures) != null && _props$experimentalFe2.columnGrouping)) {
|
|
166
155
|
return;
|
|
167
156
|
}
|
|
168
157
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
158
|
+
const groupLookup = createGroupLookup((_props$columnGrouping4 = props.columnGroupingModel) != null ? _props$columnGrouping4 : []);
|
|
159
|
+
const unwrappedGroupingModel = (0, _gridColumnGroupsUtils.unwrapGroupingColumnModel)((_props$columnGrouping5 = props.columnGroupingModel) != null ? _props$columnGrouping5 : []);
|
|
160
|
+
const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(columnFields, unwrappedGroupingModel);
|
|
161
|
+
const maxDepth = visibleColumnFields.length === 0 ? 0 : Math.max(...visibleColumnFields.map(field => {
|
|
162
|
+
var _unwrappedGroupingMod4, _unwrappedGroupingMod5;
|
|
172
163
|
|
|
173
|
-
|
|
174
|
-
apiRef.current.setState(state => (0, _extends2.default)({}, state, {
|
|
175
|
-
columnGrouping: (0, _extends2.default)({}, state.columnGrouping, {
|
|
176
|
-
lookup: groupLookup
|
|
177
|
-
})
|
|
164
|
+
return (_unwrappedGroupingMod4 = (_unwrappedGroupingMod5 = unwrappedGroupingModel[field]) == null ? void 0 : _unwrappedGroupingMod5.length) != null ? _unwrappedGroupingMod4 : 0;
|
|
178
165
|
}));
|
|
179
|
-
|
|
166
|
+
apiRef.current.setState(state => {
|
|
167
|
+
return (0, _extends2.default)({}, state, {
|
|
168
|
+
columnGrouping: {
|
|
169
|
+
lookup: groupLookup,
|
|
170
|
+
unwrappedGroupingModel,
|
|
171
|
+
headerStructure: columnGroupsHeaderStructure,
|
|
172
|
+
maxDepth
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
}, [apiRef, columnFields, visibleColumnFields, props.columnGroupingModel, (_props$experimentalFe3 = props.experimentalFeatures) == null ? void 0 : _props$experimentalFe3.columnGrouping]);
|
|
180
177
|
};
|
|
181
178
|
|
|
182
179
|
exports.useGridColumnGrouping = useGridColumnGrouping;
|
|
@@ -49,7 +49,7 @@ var _useGridVirtualScroller = require("../virtualization/useGridVirtualScroller"
|
|
|
49
49
|
|
|
50
50
|
var _GridColumnGroupHeader = require("../../../components/columnHeaders/GridColumnGroupHeader");
|
|
51
51
|
|
|
52
|
-
var
|
|
52
|
+
var _gridColumnGroupsSelector = require("../columnGrouping/gridColumnGroupsSelector");
|
|
53
53
|
|
|
54
54
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
55
55
|
|
|
@@ -57,8 +57,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
57
57
|
|
|
58
58
|
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; }
|
|
59
59
|
|
|
60
|
-
// TODO: add the possibility to switch this value if needed for customization
|
|
61
|
-
const MERGE_EMPTY_CELLS = true;
|
|
62
60
|
const GridColumnHeaderRow = (0, _styles.styled)('div', {
|
|
63
61
|
name: 'MuiDataGrid',
|
|
64
62
|
slot: 'ColumnHeaderRow',
|
|
@@ -81,15 +79,19 @@ const useGridColumnHeaders = props => {
|
|
|
81
79
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
82
80
|
const visibleColumns = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridVisibleColumnDefinitionsSelector);
|
|
83
81
|
const columnPositions = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnPositionsSelector);
|
|
84
|
-
const
|
|
82
|
+
const columnHeaderTabIndexState = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.gridTabIndexColumnHeaderSelector);
|
|
85
83
|
const cellTabIndexState = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.gridTabIndexCellSelector);
|
|
84
|
+
const columnGroupHeaderTabIndexState = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.unstable_gridTabIndexColumnGroupHeaderSelector);
|
|
86
85
|
const columnHeaderFocus = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.gridFocusColumnHeaderSelector);
|
|
86
|
+
const columnGroupHeaderFocus = (0, _useGridSelector.useGridSelector)(apiRef, _gridFocusStateSelector.unstable_gridFocusColumnGroupHeaderSelector);
|
|
87
87
|
const headerHeight = (0, _useGridSelector.useGridSelector)(apiRef, _densitySelector.gridDensityHeaderHeightSelector);
|
|
88
|
-
const headerGroupingMaxDepth = (0, _useGridSelector.useGridSelector)(apiRef,
|
|
89
|
-
const totalHeaderHeight = (0, _useGridSelector.useGridSelector)(apiRef,
|
|
88
|
+
const headerGroupingMaxDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsHeaderMaxDepthSelector);
|
|
89
|
+
const totalHeaderHeight = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridTotalHeaderHeightSelector);
|
|
90
90
|
const filterColumnLookup = (0, _useGridSelector.useGridSelector)(apiRef, _gridFilterSelector.gridFilterActiveItemsLookupSelector);
|
|
91
91
|
const sortColumnLookup = (0, _useGridSelector.useGridSelector)(apiRef, _gridSortingSelector.gridSortColumnLookupSelector);
|
|
92
92
|
const columnMenuState = (0, _useGridSelector.useGridSelector)(apiRef, _columnMenuSelector.gridColumnMenuSelector);
|
|
93
|
+
const columnVisibility = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnVisibilityModelSelector);
|
|
94
|
+
const columnGroupsHeaderStructure = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsHeaderStructureSelector);
|
|
93
95
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
94
96
|
const innerRef = React.useRef(null);
|
|
95
97
|
const handleInnerRef = (0, _utils.useForkRef)(innerRefProp, innerRef);
|
|
@@ -239,8 +241,8 @@ const useGridColumnHeaders = props => {
|
|
|
239
241
|
const column = renderedColumns[i];
|
|
240
242
|
const columnIndex = firstColumnToRender + i;
|
|
241
243
|
const isFirstColumn = columnIndex === 0;
|
|
242
|
-
const hasTabbableElement = !(
|
|
243
|
-
const tabIndex =
|
|
244
|
+
const hasTabbableElement = !(columnGroupHeaderTabIndexState === null && columnHeaderTabIndexState === null && cellTabIndexState === null);
|
|
245
|
+
const tabIndex = columnHeaderTabIndexState !== null && columnHeaderTabIndexState.field === column.field || isFirstColumn && !hasTabbableElement ? 0 : -1;
|
|
244
246
|
const hasFocus = columnHeaderFocus !== null && columnHeaderFocus.field === column.field;
|
|
245
247
|
const open = columnMenuState.open && columnMenuState.field === column.field;
|
|
246
248
|
columns.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnHeaderItem.GridColumnHeaderItem, (0, _extends2.default)({}, sortColumnLookup[column.field], {
|
|
@@ -265,8 +267,6 @@ const useGridColumnHeaders = props => {
|
|
|
265
267
|
});
|
|
266
268
|
};
|
|
267
269
|
|
|
268
|
-
const getParents = (path = [], depth) => path.slice(0, depth + 1);
|
|
269
|
-
|
|
270
270
|
const getColumnGroupHeaders = params => {
|
|
271
271
|
if (headerGroupingMaxDepth === 0) {
|
|
272
272
|
return null;
|
|
@@ -279,115 +279,55 @@ const useGridColumnHeaders = props => {
|
|
|
279
279
|
}
|
|
280
280
|
|
|
281
281
|
const {
|
|
282
|
-
renderedColumns,
|
|
283
282
|
firstColumnToRender,
|
|
284
|
-
lastColumnToRender
|
|
285
|
-
maxLastColumn
|
|
283
|
+
lastColumnToRender
|
|
286
284
|
} = columnsToRender;
|
|
287
285
|
const columns = [];
|
|
288
286
|
const headerToRender = [];
|
|
289
287
|
|
|
290
288
|
for (let depth = 0; depth < headerGroupingMaxDepth; depth += 1) {
|
|
291
|
-
var
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
const
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
const
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
var _column$computedWidth7;
|
|
331
|
-
|
|
332
|
-
const lastItem = aggregated[aggregated.length - 1];
|
|
333
|
-
|
|
334
|
-
if (column.groupPath && column.groupPath.length > depth) {
|
|
335
|
-
var _column$computedWidth5;
|
|
336
|
-
|
|
337
|
-
if (lastItem && lastItem.groupId === column.groupPath[depth]) {
|
|
338
|
-
var _column$computedWidth4;
|
|
339
|
-
|
|
340
|
-
// Merge with the previous columns
|
|
341
|
-
return [...aggregated.slice(0, aggregated.length - 1), (0, _extends2.default)({}, lastItem, {
|
|
342
|
-
width: lastItem.width + ((_column$computedWidth4 = column.computedWidth) != null ? _column$computedWidth4 : 0),
|
|
343
|
-
fields: [...lastItem.fields, column.field]
|
|
344
|
-
})];
|
|
345
|
-
} // Create a new grouping
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
return [...aggregated, {
|
|
349
|
-
groupId: column.groupPath[depth],
|
|
350
|
-
groupParents: getParents(column.groupPath, depth),
|
|
351
|
-
width: (_column$computedWidth5 = column.computedWidth) != null ? _column$computedWidth5 : 0,
|
|
352
|
-
fields: [column.field],
|
|
353
|
-
colIndex: firstColumnToRender + i
|
|
354
|
-
}];
|
|
355
|
-
}
|
|
356
|
-
|
|
357
|
-
if (MERGE_EMPTY_CELLS && lastItem && lastItem.groupId === null && (0, _utils2.isDeepEqual)(getParents(column.groupPath, depth), lastItem.groupParents)) {
|
|
358
|
-
var _column$computedWidth6;
|
|
359
|
-
|
|
360
|
-
// We merge with previous column
|
|
361
|
-
return [...aggregated.slice(0, aggregated.length - 1), (0, _extends2.default)({}, lastItem, {
|
|
362
|
-
width: lastItem.width + ((_column$computedWidth6 = column.computedWidth) != null ? _column$computedWidth6 : 0),
|
|
363
|
-
fields: [...lastItem.fields, column.field]
|
|
364
|
-
})];
|
|
365
|
-
} // We create new empty cell
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
return [...aggregated, {
|
|
369
|
-
groupId: null,
|
|
370
|
-
groupParents: getParents(column.groupPath, depth),
|
|
371
|
-
width: (_column$computedWidth7 = column.computedWidth) != null ? _column$computedWidth7 : 0,
|
|
372
|
-
fields: [column.field],
|
|
373
|
-
colIndex: firstColumnToRender + i
|
|
374
|
-
}];
|
|
375
|
-
}, initialHeader);
|
|
376
|
-
columnIndex = lastColumnToRender;
|
|
377
|
-
const lastColumnToRenderGroup = depthInfo[depthInfo.length - 1].groupId;
|
|
378
|
-
|
|
379
|
-
while (lastColumnToRenderGroup !== null && columnIndex < maxLastColumn && (_visibleColumns$colum3 = visibleColumns[columnIndex]) != null && _visibleColumns$colum3.groupPath && ((_visibleColumns$colum4 = visibleColumns[columnIndex]) == null ? void 0 : (_visibleColumns$colum5 = _visibleColumns$colum4.groupPath) == null ? void 0 : _visibleColumns$colum5[depth]) === lastColumnToRenderGroup) {
|
|
380
|
-
var _visibleColumns$colum3, _visibleColumns$colum4, _visibleColumns$colum5, _column$computedWidth8;
|
|
381
|
-
|
|
382
|
-
const column = visibleColumns[columnIndex];
|
|
383
|
-
depthInfo[depthInfo.length - 1].width += (_column$computedWidth8 = column.computedWidth) != null ? _column$computedWidth8 : 0;
|
|
384
|
-
depthInfo[depthInfo.length - 1].fields.push(column.field);
|
|
385
|
-
columnIndex += 1;
|
|
386
|
-
}
|
|
387
|
-
|
|
289
|
+
var _apiRef$current$unsta, _apiRef$current$unsta2;
|
|
290
|
+
|
|
291
|
+
const rowStructure = columnGroupsHeaderStructure[depth];
|
|
292
|
+
const firstColumnFieldToRender = visibleColumns[firstColumnToRender].field;
|
|
293
|
+
const firstGroupToRender = (_apiRef$current$unsta = apiRef.current.unstable_getColumnGroupPath(firstColumnFieldToRender)[depth]) != null ? _apiRef$current$unsta : null;
|
|
294
|
+
const firstGroupIndex = rowStructure.findIndex(({
|
|
295
|
+
groupId,
|
|
296
|
+
columnFields
|
|
297
|
+
}) => groupId === firstGroupToRender && columnFields.includes(firstColumnFieldToRender));
|
|
298
|
+
const lastColumnFieldToRender = visibleColumns[lastColumnToRender - 1].field;
|
|
299
|
+
const lastGroupToRender = (_apiRef$current$unsta2 = apiRef.current.unstable_getColumnGroupPath(lastColumnFieldToRender)[depth]) != null ? _apiRef$current$unsta2 : null;
|
|
300
|
+
const lastGroupIndex = rowStructure.findIndex(({
|
|
301
|
+
groupId,
|
|
302
|
+
columnFields
|
|
303
|
+
}) => groupId === lastGroupToRender && columnFields.includes(lastColumnFieldToRender));
|
|
304
|
+
const visibleColumnGroupHeader = rowStructure.slice(firstGroupIndex, lastGroupIndex + 1).map(groupStructure => {
|
|
305
|
+
return (0, _extends2.default)({}, groupStructure, {
|
|
306
|
+
columnFields: groupStructure.columnFields.filter(field => columnVisibility[field] !== false)
|
|
307
|
+
});
|
|
308
|
+
}).filter(groupStructure => groupStructure.columnFields.length > 0);
|
|
309
|
+
const leftOverflow = visibleColumnGroupHeader[0].columnFields.indexOf(firstColumnFieldToRender);
|
|
310
|
+
let columnIndex = firstColumnToRender;
|
|
311
|
+
const elements = visibleColumnGroupHeader.map(({
|
|
312
|
+
groupId,
|
|
313
|
+
columnFields
|
|
314
|
+
}) => {
|
|
315
|
+
const hasFocus = columnGroupHeaderFocus !== null && columnGroupHeaderFocus.depth === depth && columnFields.includes(columnGroupHeaderFocus.field);
|
|
316
|
+
const tabIndex = columnGroupHeaderTabIndexState !== null && columnGroupHeaderTabIndexState.depth === depth && columnFields.includes(columnGroupHeaderTabIndexState.field) ? 0 : -1;
|
|
317
|
+
const headerInfo = {
|
|
318
|
+
groupId,
|
|
319
|
+
width: columnFields.map(field => apiRef.current.getColumn(field).computedWidth).reduce((acc, val) => acc + val, 0),
|
|
320
|
+
fields: columnFields,
|
|
321
|
+
colIndex: columnIndex,
|
|
322
|
+
hasFocus,
|
|
323
|
+
tabIndex
|
|
324
|
+
};
|
|
325
|
+
columnIndex += columnFields.length;
|
|
326
|
+
return headerInfo;
|
|
327
|
+
});
|
|
388
328
|
headerToRender.push({
|
|
389
329
|
leftOverflow,
|
|
390
|
-
elements
|
|
330
|
+
elements
|
|
391
331
|
});
|
|
392
332
|
}
|
|
393
333
|
|
|
@@ -403,7 +343,9 @@ const useGridColumnHeaders = props => {
|
|
|
403
343
|
groupId,
|
|
404
344
|
width,
|
|
405
345
|
fields,
|
|
406
|
-
colIndex
|
|
346
|
+
colIndex,
|
|
347
|
+
hasFocus,
|
|
348
|
+
tabIndex
|
|
407
349
|
}, groupIndex) => {
|
|
408
350
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnGroupHeader.GridColumnGroupHeader, {
|
|
409
351
|
groupId: groupId,
|
|
@@ -414,7 +356,9 @@ const useGridColumnHeaders = props => {
|
|
|
414
356
|
isLastColumn: colIndex === visibleColumns.length - fields.length,
|
|
415
357
|
extendRowFullWidth: !rootProps.disableExtendRowFullWidth,
|
|
416
358
|
maxDepth: headerToRender.length,
|
|
417
|
-
height: headerHeight
|
|
359
|
+
height: headerHeight,
|
|
360
|
+
hasFocus: hasFocus,
|
|
361
|
+
tabIndex: tabIndex
|
|
418
362
|
}, groupIndex);
|
|
419
363
|
})
|
|
420
364
|
}, depthIndex));
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.gridDensityValueSelector = exports.
|
|
6
|
+
exports.gridDensityValueSelector = exports.gridDensitySelector = exports.gridDensityRowHeightSelector = exports.gridDensityHeaderHeightSelector = exports.gridDensityFactorSelector = void 0;
|
|
7
7
|
|
|
8
8
|
var _createSelector = require("../../../utils/createSelector");
|
|
9
9
|
|
|
@@ -16,9 +16,5 @@ const gridDensityRowHeightSelector = (0, _createSelector.createSelector)(gridDen
|
|
|
16
16
|
exports.gridDensityRowHeightSelector = gridDensityRowHeightSelector;
|
|
17
17
|
const gridDensityHeaderHeightSelector = (0, _createSelector.createSelector)(gridDensitySelector, density => density.headerHeight);
|
|
18
18
|
exports.gridDensityHeaderHeightSelector = gridDensityHeaderHeightSelector;
|
|
19
|
-
const gridDensityHeaderGroupingMaxDepthSelector = (0, _createSelector.createSelector)(gridDensitySelector, density => density.headerGroupingMaxDepth);
|
|
20
|
-
exports.gridDensityHeaderGroupingMaxDepthSelector = gridDensityHeaderGroupingMaxDepthSelector;
|
|
21
19
|
const gridDensityFactorSelector = (0, _createSelector.createSelector)(gridDensitySelector, density => density.factor);
|
|
22
|
-
exports.gridDensityFactorSelector = gridDensityFactorSelector;
|
|
23
|
-
const gridDensityTotalHeaderHeightSelector = (0, _createSelector.createSelector)(gridDensitySelector, density => density.headerHeight * (1 + density.headerGroupingMaxDepth));
|
|
24
|
-
exports.gridDensityTotalHeaderHeightSelector = gridDensityTotalHeaderHeightSelector;
|
|
20
|
+
exports.gridDensityFactorSelector = gridDensityFactorSelector;
|
|
@@ -21,12 +21,6 @@ var _densitySelector = require("./densitySelector");
|
|
|
21
21
|
|
|
22
22
|
var _utils = require("../../../utils/utils");
|
|
23
23
|
|
|
24
|
-
var _useGridSelector = require("../../utils/useGridSelector");
|
|
25
|
-
|
|
26
|
-
var _columns = require("../columns");
|
|
27
|
-
|
|
28
|
-
var _useGridColumnGrouping = require("../columnGrouping/useGridColumnGrouping");
|
|
29
|
-
|
|
30
24
|
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); }
|
|
31
25
|
|
|
32
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; }
|
|
@@ -37,14 +31,13 @@ const COMFORTABLE_DENSITY_FACTOR = 1.3; // TODO v6: revise keeping headerHeight
|
|
|
37
31
|
|
|
38
32
|
exports.COMFORTABLE_DENSITY_FACTOR = COMFORTABLE_DENSITY_FACTOR;
|
|
39
33
|
|
|
40
|
-
const getUpdatedDensityState = (newDensity, newHeaderHeight, newRowHeight
|
|
34
|
+
const getUpdatedDensityState = (newDensity, newHeaderHeight, newRowHeight) => {
|
|
41
35
|
switch (newDensity) {
|
|
42
36
|
case _gridDensity.GridDensityTypes.Compact:
|
|
43
37
|
return {
|
|
44
38
|
value: newDensity,
|
|
45
39
|
headerHeight: Math.floor(newHeaderHeight * COMPACT_DENSITY_FACTOR),
|
|
46
40
|
rowHeight: Math.floor(newRowHeight * COMPACT_DENSITY_FACTOR),
|
|
47
|
-
headerGroupingMaxDepth: newMaxDepth,
|
|
48
41
|
factor: COMPACT_DENSITY_FACTOR
|
|
49
42
|
};
|
|
50
43
|
|
|
@@ -53,7 +46,6 @@ const getUpdatedDensityState = (newDensity, newHeaderHeight, newRowHeight, newMa
|
|
|
53
46
|
value: newDensity,
|
|
54
47
|
headerHeight: Math.floor(newHeaderHeight * COMFORTABLE_DENSITY_FACTOR),
|
|
55
48
|
rowHeight: Math.floor(newRowHeight * COMFORTABLE_DENSITY_FACTOR),
|
|
56
|
-
headerGroupingMaxDepth: newMaxDepth,
|
|
57
49
|
factor: COMFORTABLE_DENSITY_FACTOR
|
|
58
50
|
};
|
|
59
51
|
|
|
@@ -62,55 +54,24 @@ const getUpdatedDensityState = (newDensity, newHeaderHeight, newRowHeight, newMa
|
|
|
62
54
|
value: newDensity,
|
|
63
55
|
headerHeight: newHeaderHeight,
|
|
64
56
|
rowHeight: newRowHeight,
|
|
65
|
-
headerGroupingMaxDepth: newMaxDepth,
|
|
66
57
|
factor: 1
|
|
67
58
|
};
|
|
68
59
|
}
|
|
69
60
|
};
|
|
70
61
|
|
|
71
|
-
const densityStateInitializer = (state, props) => {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
let maxDepth;
|
|
75
|
-
|
|
76
|
-
if (props.columnGroupingModel == null || Object.keys(props.columnGroupingModel).length === 0) {
|
|
77
|
-
maxDepth = 0;
|
|
78
|
-
} else {
|
|
79
|
-
const unwrappedGroupingColumnModel = (0, _useGridColumnGrouping.unwrapGroupingColumnModel)(props.columnGroupingModel);
|
|
80
|
-
const columnsState = state.columns;
|
|
81
|
-
const visibleColumns = columnsState.all.filter(field => columnsState.columnVisibilityModel[field] !== false);
|
|
82
|
-
|
|
83
|
-
if (visibleColumns.length === 0) {
|
|
84
|
-
maxDepth = 0;
|
|
85
|
-
} else {
|
|
86
|
-
maxDepth = Math.max(...visibleColumns.map(field => {
|
|
87
|
-
var _unwrappedGroupingCol, _unwrappedGroupingCol2;
|
|
88
|
-
|
|
89
|
-
return (_unwrappedGroupingCol = (_unwrappedGroupingCol2 = unwrappedGroupingColumnModel[field]) == null ? void 0 : _unwrappedGroupingCol2.length) != null ? _unwrappedGroupingCol : 0;
|
|
90
|
-
}));
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
return (0, _extends2.default)({}, state, {
|
|
95
|
-
density: getUpdatedDensityState(props.density, props.headerHeight, props.rowHeight, maxDepth)
|
|
96
|
-
});
|
|
97
|
-
};
|
|
62
|
+
const densityStateInitializer = (state, props) => (0, _extends2.default)({}, state, {
|
|
63
|
+
density: getUpdatedDensityState(props.density, props.headerHeight, props.rowHeight)
|
|
64
|
+
});
|
|
98
65
|
|
|
99
66
|
exports.densityStateInitializer = densityStateInitializer;
|
|
100
67
|
|
|
101
68
|
const useGridDensity = (apiRef, props) => {
|
|
102
|
-
const visibleColumns = (0, _useGridSelector.useGridSelector)(apiRef, _columns.gridVisibleColumnDefinitionsSelector);
|
|
103
|
-
const maxDepth = visibleColumns.length > 0 ? Math.max(...visibleColumns.map(column => {
|
|
104
|
-
var _column$groupPath$len, _column$groupPath;
|
|
105
|
-
|
|
106
|
-
return (_column$groupPath$len = (_column$groupPath = column.groupPath) == null ? void 0 : _column$groupPath.length) != null ? _column$groupPath$len : 0;
|
|
107
|
-
})) : 0;
|
|
108
69
|
const logger = (0, _useGridLogger.useGridLogger)(apiRef, 'useDensity');
|
|
109
|
-
const setDensity = React.useCallback((newDensity, newHeaderHeight = props.headerHeight, newRowHeight = props.rowHeight
|
|
70
|
+
const setDensity = React.useCallback((newDensity, newHeaderHeight = props.headerHeight, newRowHeight = props.rowHeight) => {
|
|
110
71
|
logger.debug(`Set grid density to ${newDensity}`);
|
|
111
72
|
apiRef.current.setState(state => {
|
|
112
73
|
const currentDensityState = (0, _densitySelector.gridDensitySelector)(state);
|
|
113
|
-
const newDensityState = getUpdatedDensityState(newDensity, newHeaderHeight, newRowHeight
|
|
74
|
+
const newDensityState = getUpdatedDensityState(newDensity, newHeaderHeight, newRowHeight);
|
|
114
75
|
|
|
115
76
|
if ((0, _utils.isDeepEqual)(currentDensityState, newDensityState)) {
|
|
116
77
|
return state;
|
|
@@ -121,10 +82,10 @@ const useGridDensity = (apiRef, props) => {
|
|
|
121
82
|
});
|
|
122
83
|
});
|
|
123
84
|
apiRef.current.forceUpdate();
|
|
124
|
-
}, [logger, apiRef, props.headerHeight, props.rowHeight
|
|
85
|
+
}, [logger, apiRef, props.headerHeight, props.rowHeight]);
|
|
125
86
|
React.useEffect(() => {
|
|
126
|
-
apiRef.current.setDensity(props.density, props.headerHeight, props.rowHeight
|
|
127
|
-
}, [apiRef, props.density, props.rowHeight, props.headerHeight
|
|
87
|
+
apiRef.current.setDensity(props.density, props.headerHeight, props.rowHeight);
|
|
88
|
+
}, [apiRef, props.density, props.rowHeight, props.headerHeight]);
|
|
128
89
|
const densityApi = {
|
|
129
90
|
setDensity
|
|
130
91
|
};
|
|
@@ -27,6 +27,8 @@ var _gridRowsMetaSelector = require("../rows/gridRowsMetaSelector");
|
|
|
27
27
|
|
|
28
28
|
var _gridRowsUtils = require("../rows/gridRowsUtils");
|
|
29
29
|
|
|
30
|
+
var _gridColumnGroupsSelector = require("../columnGrouping/gridColumnGroupsSelector");
|
|
31
|
+
|
|
30
32
|
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); }
|
|
31
33
|
|
|
32
34
|
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; }
|
|
@@ -64,7 +66,7 @@ function useGridDimensions(apiRef, props) {
|
|
|
64
66
|
const rootDimensionsRef = React.useRef(null);
|
|
65
67
|
const fullDimensionsRef = React.useRef(null);
|
|
66
68
|
const rowsMeta = (0, _utils2.useGridSelector)(apiRef, _gridRowsMetaSelector.gridRowsMetaSelector);
|
|
67
|
-
const totalHeaderHeight = (0, _utils2.useGridSelector)(apiRef,
|
|
69
|
+
const totalHeaderHeight = (0, _utils2.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridTotalHeaderHeightSelector);
|
|
68
70
|
const updateGridDimensionsRef = React.useCallback(() => {
|
|
69
71
|
var _apiRef$current$rootE;
|
|
70
72
|
|
package/node/hooks/features/{editRows/gridEditRowsSelector.js → editing/gridEditingSelectors.js}
RENAMED
|
File without changes
|
|
@@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _gridEditingSelectors = require("./gridEditingSelectors");
|
|
8
8
|
|
|
9
|
-
Object.keys(
|
|
9
|
+
Object.keys(_gridEditingSelectors).forEach(function (key) {
|
|
10
10
|
if (key === "default" || key === "__esModule") return;
|
|
11
|
-
if (key in exports && exports[key] ===
|
|
11
|
+
if (key in exports && exports[key] === _gridEditingSelectors[key]) return;
|
|
12
12
|
Object.defineProperty(exports, key, {
|
|
13
13
|
enumerable: true,
|
|
14
14
|
get: function () {
|
|
15
|
-
return
|
|
15
|
+
return _gridEditingSelectors[key];
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
});
|