@mui/x-data-grid-pro 7.28.3 → 7.29.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +155 -0
- package/DataGridPro/DataGrid.js +2 -9
- package/DataGridPro/DataGridPro.js +232 -238
- package/DataGridPro/index.js +3 -39
- package/DataGridPro/package.json +2 -2
- package/DataGridPro/useDataGridProComponent.js +91 -99
- package/DataGridPro/useDataGridProProps.js +17 -26
- package/components/GridColumnHeaderCollapseIcon.js +0 -1
- package/components/GridColumnHeaders.js +39 -46
- package/components/GridColumnMenuPinningItem.js +39 -46
- package/components/GridDataSourceTreeDataGroupingCell.js +30 -38
- package/components/GridDetailPanel.js +14 -18
- package/components/GridDetailPanelToggleCell.js +35 -42
- package/components/GridDetailPanels.js +19 -25
- package/components/GridPinnedRows.js +12 -20
- package/components/GridProColumnMenu.js +11 -19
- package/components/GridRowReorderCell.js +36 -45
- package/components/GridTreeDataGroupingCell.js +37 -44
- package/components/headerFiltering/GridHeaderFilterCell.js +71 -78
- package/components/headerFiltering/GridHeaderFilterClearButton.js +9 -16
- package/components/headerFiltering/GridHeaderFilterMenu.js +36 -43
- package/components/headerFiltering/GridHeaderFilterMenuContainer.js +41 -48
- package/components/headerFiltering/index.js +3 -38
- package/components/index.js +7 -71
- package/components/package.json +2 -2
- package/components/reexports.js +1 -24
- package/constants/dataGridProDefaultSlotsComponents.js +16 -23
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +30 -39
- package/hooks/features/columnPinning/gridColumnPinningInterface.js +1 -5
- package/hooks/features/columnPinning/index.js +1 -16
- package/hooks/features/columnPinning/useGridColumnPinning.js +32 -42
- package/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +10 -19
- package/hooks/features/columnReorder/columnReorderInterfaces.js +1 -5
- package/hooks/features/columnReorder/columnReorderSelector.js +3 -10
- package/hooks/features/columnReorder/index.js +2 -16
- package/hooks/features/columnReorder/useGridColumnReorder.js +25 -35
- package/hooks/features/dataSource/cache.js +3 -11
- package/hooks/features/dataSource/gridDataSourceSelector.js +10 -18
- package/hooks/features/dataSource/interfaces.js +1 -5
- package/hooks/features/dataSource/useGridDataSource.js +34 -44
- package/hooks/features/dataSource/utils.js +9 -17
- package/hooks/features/detailPanel/gridDetailPanelInterface.js +1 -5
- package/hooks/features/detailPanel/gridDetailPanelSelector.js +5 -14
- package/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +14 -27
- package/hooks/features/detailPanel/index.js +3 -53
- package/hooks/features/detailPanel/useGridDetailPanel.js +39 -48
- package/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +18 -27
- package/hooks/features/index.js +9 -99
- package/hooks/features/infiniteLoader/useGridInfiniteLoader.js +18 -27
- package/hooks/features/lazyLoader/useGridLazyLoader.js +14 -22
- package/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +13 -22
- package/hooks/features/rowPinning/gridRowPinningInterface.js +1 -5
- package/hooks/features/rowPinning/gridRowPinningSelector.js +1 -18
- package/hooks/features/rowPinning/index.js +1 -16
- package/hooks/features/rowPinning/useGridRowPinning.js +13 -23
- package/hooks/features/rowPinning/useGridRowPinningPreProcessors.d.ts +1 -1
- package/hooks/features/rowPinning/useGridRowPinningPreProcessors.js +24 -34
- package/hooks/features/rowReorder/gridRowReorderColDef.js +5 -12
- package/hooks/features/rowReorder/index.js +1 -16
- package/hooks/features/rowReorder/useGridRowReorder.js +20 -29
- package/hooks/features/rowReorder/useGridRowReorderPreProcessors.js +12 -21
- package/hooks/features/rows/index.js +1 -16
- package/hooks/features/rows/useGridRowAriaAttributes.js +14 -22
- package/hooks/features/serverSideTreeData/useGridDataSourceTreeDataPreProcessors.js +37 -46
- package/hooks/features/serverSideTreeData/utils.js +6 -13
- package/hooks/features/treeData/gridTreeDataGroupColDef.js +9 -20
- package/hooks/features/treeData/gridTreeDataUtils.js +6 -12
- package/hooks/features/treeData/index.js +1 -12
- package/hooks/features/treeData/useGridTreeData.js +7 -15
- package/hooks/features/treeData/useGridTreeDataPreProcessors.js +37 -46
- package/hooks/index.js +1 -16
- package/hooks/package.json +2 -2
- package/hooks/utils/useGridApiContext.js +2 -8
- package/hooks/utils/useGridApiRef.js +2 -8
- package/hooks/utils/useGridAriaAttributes.js +8 -16
- package/hooks/utils/useGridPrivateApiContext.js +2 -8
- package/hooks/utils/useGridRootProps.js +2 -8
- package/index.js +19 -210
- package/internals/index.js +34 -301
- package/internals/package.json +2 -2
- package/internals/propValidation.js +2 -8
- package/locales/package.json +6 -0
- package/material/icons.js +7 -14
- package/material/index.js +6 -13
- package/material/package.json +2 -2
- package/models/dataGridProProps.js +1 -5
- package/models/gridApiPro.js +1 -5
- package/models/gridFetchRowsParams.js +1 -5
- package/models/gridGroupingColDefOverride.js +1 -5
- package/models/gridProIconSlotsComponent.js +1 -5
- package/models/gridProSlotProps.js +1 -5
- package/models/gridProSlotsComponent.js +1 -5
- package/models/gridRowOrderChangeParams.js +1 -5
- package/models/gridRowScrollEndParams.js +1 -5
- package/models/gridStatePro.js +1 -5
- package/models/index.js +8 -82
- package/models/package.json +2 -2
- package/modern/DataGridPro/DataGridPro.js +2 -1
- package/modern/components/GridDetailPanel.js +2 -0
- package/modern/components/GridDetailPanels.js +2 -0
- package/modern/components/headerFiltering/GridHeaderFilterMenu.js +2 -2
- package/modern/hooks/features/detailPanel/useGridDetailPanel.js +3 -2
- package/modern/index.js +1 -1
- package/modern/utils/releaseInfo.js +1 -1
- package/{esm → node}/DataGridPro/DataGrid.js +9 -2
- package/{esm → node}/DataGridPro/DataGridPro.js +239 -231
- package/node/DataGridPro/index.js +39 -0
- package/node/DataGridPro/useDataGridProComponent.js +111 -0
- package/node/DataGridPro/useDataGridProProps.js +61 -0
- package/node/components/GridColumnHeaderCollapseIcon.js +1 -0
- package/node/components/GridColumnHeaders.js +99 -0
- package/node/components/GridColumnMenuPinningItem.js +97 -0
- package/node/components/GridDataSourceTreeDataGroupingCell.js +118 -0
- package/{esm → node}/components/GridDetailPanel.js +20 -13
- package/node/components/GridDetailPanelToggleCell.js +128 -0
- package/node/components/GridDetailPanels.js +69 -0
- package/node/components/GridPinnedRows.js +48 -0
- package/node/components/GridProColumnMenu.js +29 -0
- package/{esm → node}/components/GridRowReorderCell.js +45 -36
- package/{esm → node}/components/GridTreeDataGroupingCell.js +44 -37
- package/{esm → node}/components/headerFiltering/GridHeaderFilterCell.js +78 -71
- package/node/components/headerFiltering/GridHeaderFilterClearButton.js +28 -0
- package/node/components/headerFiltering/GridHeaderFilterMenu.js +95 -0
- package/node/components/headerFiltering/GridHeaderFilterMenuContainer.js +106 -0
- package/node/components/headerFiltering/index.js +38 -0
- package/node/components/index.js +71 -0
- package/node/components/reexports.js +24 -0
- package/node/constants/dataGridProDefaultSlotsComponents.js +24 -0
- package/{esm → node}/hooks/features/columnHeaders/useGridColumnHeaders.js +39 -30
- package/node/hooks/features/columnPinning/gridColumnPinningInterface.js +5 -0
- package/node/hooks/features/columnPinning/index.js +16 -0
- package/{esm → node}/hooks/features/columnPinning/useGridColumnPinning.js +42 -32
- package/{esm → node}/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +19 -10
- package/node/hooks/features/columnReorder/columnReorderInterfaces.js +5 -0
- package/node/hooks/features/columnReorder/columnReorderSelector.js +10 -0
- package/node/hooks/features/columnReorder/index.js +16 -0
- package/{esm → node}/hooks/features/columnReorder/useGridColumnReorder.js +35 -25
- package/{esm → node}/hooks/features/dataSource/cache.js +11 -3
- package/node/hooks/features/dataSource/gridDataSourceSelector.js +32 -0
- package/node/hooks/features/dataSource/interfaces.js +5 -0
- package/{esm → node}/hooks/features/dataSource/useGridDataSource.js +44 -34
- package/{esm → node}/hooks/features/dataSource/utils.js +17 -9
- package/node/hooks/features/detailPanel/gridDetailPanelInterface.js +5 -0
- package/node/hooks/features/detailPanel/gridDetailPanelSelector.js +21 -0
- package/node/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +47 -0
- package/node/hooks/features/detailPanel/index.js +53 -0
- package/{esm → node}/hooks/features/detailPanel/useGridDetailPanel.js +49 -38
- package/node/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +52 -0
- package/node/hooks/features/index.js +99 -0
- package/{esm → node}/hooks/features/infiniteLoader/useGridInfiniteLoader.js +27 -18
- package/{esm → node}/hooks/features/lazyLoader/useGridLazyLoader.js +22 -14
- package/node/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +43 -0
- package/node/hooks/features/rowPinning/gridRowPinningInterface.js +5 -0
- package/node/hooks/features/rowPinning/gridRowPinningSelector.js +18 -0
- package/node/hooks/features/rowPinning/index.js +16 -0
- package/node/hooks/features/rowPinning/useGridRowPinning.js +62 -0
- package/{esm → node}/hooks/features/rowPinning/useGridRowPinningPreProcessors.js +34 -24
- package/node/hooks/features/rowReorder/gridRowReorderColDef.js +27 -0
- package/node/hooks/features/rowReorder/index.js +16 -0
- package/{esm → node}/hooks/features/rowReorder/useGridRowReorder.js +29 -20
- package/{esm → node}/hooks/features/rowReorder/useGridRowReorderPreProcessors.js +21 -12
- package/node/hooks/features/rows/index.js +16 -0
- package/node/hooks/features/rows/useGridRowAriaAttributes.js +45 -0
- package/{esm → node}/hooks/features/serverSideTreeData/useGridDataSourceTreeDataPreProcessors.js +46 -37
- package/node/hooks/features/serverSideTreeData/utils.js +27 -0
- package/node/hooks/features/treeData/gridTreeDataGroupColDef.js +38 -0
- package/{esm → node}/hooks/features/treeData/gridTreeDataUtils.js +12 -6
- package/node/hooks/features/treeData/index.js +12 -0
- package/node/hooks/features/treeData/useGridTreeData.js +30 -0
- package/{esm → node}/hooks/features/treeData/useGridTreeDataPreProcessors.js +46 -37
- package/node/hooks/index.js +16 -0
- package/node/hooks/utils/useGridApiContext.js +8 -0
- package/node/hooks/utils/useGridApiRef.js +8 -0
- package/node/hooks/utils/useGridAriaAttributes.js +19 -0
- package/node/hooks/utils/useGridPrivateApiContext.js +8 -0
- package/node/hooks/utils/useGridRootProps.js +8 -0
- package/node/index.js +220 -0
- package/node/internals/index.js +302 -0
- package/node/internals/propValidation.js +8 -0
- package/node/material/icons.js +24 -0
- package/node/material/index.js +15 -0
- package/node/models/dataGridProProps.js +5 -0
- package/node/models/gridApiPro.js +5 -0
- package/node/models/gridFetchRowsParams.js +5 -0
- package/node/models/gridGroupingColDefOverride.js +5 -0
- package/node/models/gridProIconSlotsComponent.js +5 -0
- package/node/models/gridProSlotProps.js +5 -0
- package/node/models/gridProSlotsComponent.js +5 -0
- package/node/models/gridRowOrderChangeParams.js +5 -0
- package/node/models/gridRowScrollEndParams.js +5 -0
- package/node/models/gridStatePro.js +5 -0
- package/node/models/index.js +82 -0
- package/node/themeAugmentation/index.js +27 -0
- package/node/themeAugmentation/overrides.js +5 -0
- package/node/themeAugmentation/props.js +5 -0
- package/node/typeOverloads/index.js +16 -0
- package/node/typeOverloads/modules.js +5 -0
- package/node/typeOverloads/reexports.js +26 -0
- package/node/utils/index.js +16 -0
- package/node/utils/releaseInfo.js +20 -0
- package/{esm → node}/utils/tree/createRowTree.js +14 -7
- package/node/utils/tree/index.js +12 -0
- package/{esm → node}/utils/tree/insertDataRowInTree.js +18 -11
- package/node/utils/tree/models.js +5 -0
- package/{esm → node}/utils/tree/removeDataRowFromTree.js +16 -9
- package/{esm → node}/utils/tree/sortRowTree.js +12 -5
- package/{esm → node}/utils/tree/updateRowTree.js +26 -18
- package/{esm → node}/utils/tree/utils.js +34 -18
- package/package.json +9 -9
- package/themeAugmentation/index.js +4 -27
- package/themeAugmentation/overrides.js +1 -5
- package/themeAugmentation/package.json +2 -2
- package/themeAugmentation/props.js +1 -5
- package/typeOverloads/index.js +1 -16
- package/typeOverloads/modules.js +1 -5
- package/typeOverloads/package.json +2 -2
- package/typeOverloads/reexports.js +14 -25
- package/utils/index.js +1 -16
- package/utils/package.json +2 -2
- package/utils/releaseInfo.js +5 -12
- package/utils/tree/createRowTree.js +7 -14
- package/utils/tree/index.js +1 -12
- package/utils/tree/insertDataRowInTree.js +11 -18
- package/utils/tree/models.js +1 -5
- package/utils/tree/removeDataRowFromTree.js +9 -16
- package/utils/tree/sortRowTree.js +5 -12
- package/utils/tree/updateRowTree.js +18 -26
- package/utils/tree/utils.js +18 -34
- package/esm/DataGridPro/index.js +0 -3
- package/esm/DataGridPro/useDataGridProComponent.js +0 -103
- package/esm/DataGridPro/useDataGridProProps.js +0 -52
- package/esm/components/GridColumnHeaderCollapseIcon.js +0 -0
- package/esm/components/GridColumnHeaders.js +0 -92
- package/esm/components/GridColumnMenuPinningItem.js +0 -90
- package/esm/components/GridDataSourceTreeDataGroupingCell.js +0 -110
- package/esm/components/GridDetailPanelToggleCell.js +0 -121
- package/esm/components/GridDetailPanels.js +0 -60
- package/esm/components/GridPinnedRows.js +0 -40
- package/esm/components/GridProColumnMenu.js +0 -21
- package/esm/components/headerFiltering/GridHeaderFilterClearButton.js +0 -21
- package/esm/components/headerFiltering/GridHeaderFilterMenu.js +0 -88
- package/esm/components/headerFiltering/GridHeaderFilterMenuContainer.js +0 -99
- package/esm/components/headerFiltering/index.js +0 -3
- package/esm/components/index.js +0 -7
- package/esm/components/reexports.js +0 -1
- package/esm/constants/dataGridProDefaultSlotsComponents.js +0 -17
- package/esm/hooks/features/columnPinning/gridColumnPinningInterface.js +0 -1
- package/esm/hooks/features/columnPinning/index.js +0 -1
- package/esm/hooks/features/columnReorder/columnReorderInterfaces.js +0 -1
- package/esm/hooks/features/columnReorder/columnReorderSelector.js +0 -3
- package/esm/hooks/features/columnReorder/index.js +0 -2
- package/esm/hooks/features/dataSource/gridDataSourceSelector.js +0 -24
- package/esm/hooks/features/dataSource/interfaces.js +0 -1
- package/esm/hooks/features/detailPanel/gridDetailPanelInterface.js +0 -1
- package/esm/hooks/features/detailPanel/gridDetailPanelSelector.js +0 -12
- package/esm/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +0 -34
- package/esm/hooks/features/detailPanel/index.js +0 -3
- package/esm/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +0 -43
- package/esm/hooks/features/index.js +0 -9
- package/esm/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +0 -34
- package/esm/hooks/features/rowPinning/gridRowPinningInterface.js +0 -1
- package/esm/hooks/features/rowPinning/gridRowPinningSelector.js +0 -1
- package/esm/hooks/features/rowPinning/index.js +0 -1
- package/esm/hooks/features/rowPinning/useGridRowPinning.js +0 -52
- package/esm/hooks/features/rowReorder/gridRowReorderColDef.js +0 -20
- package/esm/hooks/features/rowReorder/index.js +0 -1
- package/esm/hooks/features/rows/index.js +0 -1
- package/esm/hooks/features/rows/useGridRowAriaAttributes.js +0 -37
- package/esm/hooks/features/serverSideTreeData/utils.js +0 -20
- package/esm/hooks/features/treeData/gridTreeDataGroupColDef.js +0 -27
- package/esm/hooks/features/treeData/index.js +0 -1
- package/esm/hooks/features/treeData/useGridTreeData.js +0 -22
- package/esm/hooks/index.js +0 -1
- package/esm/hooks/utils/useGridApiContext.js +0 -2
- package/esm/hooks/utils/useGridApiRef.js +0 -2
- package/esm/hooks/utils/useGridAriaAttributes.js +0 -11
- package/esm/hooks/utils/useGridPrivateApiContext.js +0 -2
- package/esm/hooks/utils/useGridRootProps.js +0 -2
- package/esm/index.js +0 -22
- package/esm/internals/index.js +0 -35
- package/esm/internals/propValidation.js +0 -2
- package/esm/material/icons.js +0 -17
- package/esm/material/index.js +0 -8
- package/esm/models/dataGridProProps.js +0 -1
- package/esm/models/gridApiPro.js +0 -1
- package/esm/models/gridFetchRowsParams.js +0 -1
- package/esm/models/gridGroupingColDefOverride.js +0 -1
- package/esm/models/gridProIconSlotsComponent.js +0 -1
- package/esm/models/gridProSlotProps.js +0 -1
- package/esm/models/gridProSlotsComponent.js +0 -1
- package/esm/models/gridRowOrderChangeParams.js +0 -1
- package/esm/models/gridRowScrollEndParams.js +0 -1
- package/esm/models/gridStatePro.js +0 -1
- package/esm/models/index.js +0 -8
- package/esm/themeAugmentation/index.js +0 -4
- package/esm/themeAugmentation/overrides.js +0 -1
- package/esm/themeAugmentation/props.js +0 -1
- package/esm/typeOverloads/index.js +0 -1
- package/esm/typeOverloads/modules.js +0 -1
- package/esm/typeOverloads/reexports.js +0 -15
- package/esm/utils/index.js +0 -1
- package/esm/utils/releaseInfo.js +0 -13
- package/esm/utils/tree/index.js +0 -1
- package/esm/utils/tree/models.js +0 -1
- /package/{locales.d.ts → locales/index.d.ts} +0 -0
- /package/{esm/locales.js → locales/index.js} +0 -0
- /package/modern/{locales.js → locales/index.js} +0 -0
- /package/{locales.js → node/locales/index.js} +0 -0
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.useGridRowReorderPreProcessors = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
12
|
+
var _xDataGrid = require("@mui/x-data-grid");
|
|
13
|
+
var _internals = require("@mui/x-data-grid/internals");
|
|
14
|
+
var _gridRowReorderColDef = require("./gridRowReorderColDef");
|
|
7
15
|
const useUtilityClasses = ownerState => {
|
|
8
16
|
const {
|
|
9
17
|
classes
|
|
@@ -13,16 +21,16 @@ const useUtilityClasses = ownerState => {
|
|
|
13
21
|
rowReorderCellContainer: ['rowReorderCellContainer'],
|
|
14
22
|
columnHeaderReorder: ['columnHeaderReorder']
|
|
15
23
|
};
|
|
16
|
-
return
|
|
24
|
+
return (0, _composeClasses.default)(slots, _xDataGrid.getDataGridUtilityClass, classes);
|
|
17
25
|
}, [classes]);
|
|
18
26
|
};
|
|
19
|
-
|
|
27
|
+
const useGridRowReorderPreProcessors = (privateApiRef, props) => {
|
|
20
28
|
const ownerState = {
|
|
21
29
|
classes: props.classes
|
|
22
30
|
};
|
|
23
31
|
const classes = useUtilityClasses(ownerState);
|
|
24
32
|
const updateReorderColumn = React.useCallback(columnsState => {
|
|
25
|
-
const reorderColumn =
|
|
33
|
+
const reorderColumn = (0, _extends2.default)({}, _gridRowReorderColDef.GRID_REORDER_COL_DEF, {
|
|
26
34
|
cellClassName: classes.rowReorderCellContainer,
|
|
27
35
|
headerClassName: classes.columnHeaderReorder,
|
|
28
36
|
headerName: privateApiRef.current.getLocaleText('rowReorderingHeaderName')
|
|
@@ -30,7 +38,7 @@ export const useGridRowReorderPreProcessors = (privateApiRef, props) => {
|
|
|
30
38
|
const shouldHaveReorderColumn = props.rowReordering;
|
|
31
39
|
const haveReorderColumn = columnsState.lookup[reorderColumn.field] != null;
|
|
32
40
|
if (shouldHaveReorderColumn && haveReorderColumn) {
|
|
33
|
-
columnsState.lookup[reorderColumn.field] =
|
|
41
|
+
columnsState.lookup[reorderColumn.field] = (0, _extends2.default)({}, reorderColumn, columnsState.lookup[reorderColumn.field]);
|
|
34
42
|
return columnsState;
|
|
35
43
|
}
|
|
36
44
|
if (shouldHaveReorderColumn && !haveReorderColumn) {
|
|
@@ -42,5 +50,6 @@ export const useGridRowReorderPreProcessors = (privateApiRef, props) => {
|
|
|
42
50
|
}
|
|
43
51
|
return columnsState;
|
|
44
52
|
}, [privateApiRef, classes, props.rowReordering]);
|
|
45
|
-
useGridRegisterPipeProcessor(privateApiRef, 'hydrateColumns', updateReorderColumn);
|
|
46
|
-
};
|
|
53
|
+
(0, _internals.useGridRegisterPipeProcessor)(privateApiRef, 'hydrateColumns', updateReorderColumn);
|
|
54
|
+
};
|
|
55
|
+
exports.useGridRowReorderPreProcessors = useGridRowReorderPreProcessors;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _useGridRowAriaAttributes = require("./useGridRowAriaAttributes");
|
|
7
|
+
Object.keys(_useGridRowAriaAttributes).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _useGridRowAriaAttributes[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _useGridRowAriaAttributes[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useGridRowAriaAttributes = void 0;
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _xDataGrid = require("@mui/x-data-grid");
|
|
10
|
+
var _internals = require("@mui/x-data-grid/internals");
|
|
11
|
+
var _useGridPrivateApiContext = require("../../utils/useGridPrivateApiContext");
|
|
12
|
+
var _useGridRootProps = require("../../utils/useGridRootProps");
|
|
13
|
+
const useGridRowAriaAttributes = addTreeDataAttributes => {
|
|
14
|
+
const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
|
|
15
|
+
const props = (0, _useGridRootProps.useGridRootProps)();
|
|
16
|
+
const getRowAriaAttributesCommunity = (0, _internals.useGridRowAriaAttributes)();
|
|
17
|
+
const filteredTopLevelRowCount = (0, _xDataGrid.useGridSelector)(apiRef, _xDataGrid.gridFilteredTopLevelRowCountSelector);
|
|
18
|
+
const filteredChildrenCountLookup = (0, _xDataGrid.useGridSelector)(apiRef, _internals.gridFilteredChildrenCountLookupSelector);
|
|
19
|
+
const sortedVisibleRowPositionsLookup = (0, _xDataGrid.useGridSelector)(apiRef, _internals.gridExpandedSortedRowTreeLevelPositionLookupSelector);
|
|
20
|
+
return React.useCallback((rowNode, index) => {
|
|
21
|
+
const ariaAttributes = getRowAriaAttributesCommunity(rowNode, index);
|
|
22
|
+
if (rowNode === null || !(props.treeData || addTreeDataAttributes)) {
|
|
23
|
+
return ariaAttributes;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// pinned and footer rows are not part of the rowgroup and should not get the set specific aria attributes
|
|
27
|
+
if (rowNode.type === 'footer' || rowNode.type === 'pinnedRow') {
|
|
28
|
+
return ariaAttributes;
|
|
29
|
+
}
|
|
30
|
+
ariaAttributes['aria-level'] = rowNode.depth + 1;
|
|
31
|
+
const filteredChildrenCount = filteredChildrenCountLookup[rowNode.id] ?? 0;
|
|
32
|
+
// aria-expanded should only be added to the rows that contain children
|
|
33
|
+
if (rowNode.type === 'group' && filteredChildrenCount > 0) {
|
|
34
|
+
ariaAttributes['aria-expanded'] = Boolean(rowNode.childrenExpanded);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// if the parent is null, set size and position cannot be determined
|
|
38
|
+
if (rowNode.parent !== null) {
|
|
39
|
+
ariaAttributes['aria-setsize'] = rowNode.parent === _xDataGrid.GRID_ROOT_GROUP_ID ? filteredTopLevelRowCount : filteredChildrenCountLookup[rowNode.parent];
|
|
40
|
+
ariaAttributes['aria-posinset'] = sortedVisibleRowPositionsLookup[rowNode.id];
|
|
41
|
+
}
|
|
42
|
+
return ariaAttributes;
|
|
43
|
+
}, [props.treeData, addTreeDataAttributes, filteredTopLevelRowCount, filteredChildrenCountLookup, sortedVisibleRowPositionsLookup, getRowAriaAttributesCommunity]);
|
|
44
|
+
};
|
|
45
|
+
exports.useGridRowAriaAttributes = useGridRowAriaAttributes;
|
package/{esm → node}/hooks/features/serverSideTreeData/useGridDataSourceTreeDataPreProcessors.js
RENAMED
|
@@ -1,27 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.useGridDataSourceTreeDataPreProcessors = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _xDataGrid = require("@mui/x-data-grid");
|
|
13
|
+
var _internals = require("@mui/x-data-grid/internals");
|
|
14
|
+
var _gridTreeDataGroupColDef = require("../treeData/gridTreeDataGroupColDef");
|
|
15
|
+
var _utils = require("./utils");
|
|
16
|
+
var _GridDataSourceTreeDataGroupingCell = require("../../../components/GridDataSourceTreeDataGroupingCell");
|
|
17
|
+
var _createRowTree = require("../../../utils/tree/createRowTree");
|
|
18
|
+
var _updateRowTree = require("../../../utils/tree/updateRowTree");
|
|
19
|
+
var _utils2 = require("../../../utils/tree/utils");
|
|
20
|
+
var _gridTreeDataUtils = require("../treeData/gridTreeDataUtils");
|
|
21
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
3
22
|
const _excluded = ["hideDescendantCount"];
|
|
4
|
-
|
|
5
|
-
import { gridRowTreeSelector, useFirstRender, GRID_CHECKBOX_SELECTION_FIELD } from '@mui/x-data-grid';
|
|
6
|
-
import { useGridRegisterPipeProcessor, useGridRegisterStrategyProcessor } from '@mui/x-data-grid/internals';
|
|
7
|
-
import { GRID_TREE_DATA_GROUPING_COL_DEF, GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES } from "../treeData/gridTreeDataGroupColDef.js";
|
|
8
|
-
import { skipFiltering, skipSorting } from "./utils.js";
|
|
9
|
-
import { GridDataSourceTreeDataGroupingCell } from "../../../components/GridDataSourceTreeDataGroupingCell.js";
|
|
10
|
-
import { createRowTree } from "../../../utils/tree/createRowTree.js";
|
|
11
|
-
import { updateRowTree } from "../../../utils/tree/updateRowTree.js";
|
|
12
|
-
import { getVisibleRowsLookup } from "../../../utils/tree/utils.js";
|
|
13
|
-
import { TreeDataStrategy } from "../treeData/gridTreeDataUtils.js";
|
|
14
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
-
export const useGridDataSourceTreeDataPreProcessors = (privateApiRef, props) => {
|
|
23
|
+
const useGridDataSourceTreeDataPreProcessors = (privateApiRef, props) => {
|
|
16
24
|
const setStrategyAvailability = React.useCallback(() => {
|
|
17
|
-
privateApiRef.current.setStrategyAvailability('rowTree', TreeDataStrategy.DataSource, props.treeData && props.unstable_dataSource ? () => true : () => false);
|
|
25
|
+
privateApiRef.current.setStrategyAvailability('rowTree', _gridTreeDataUtils.TreeDataStrategy.DataSource, props.treeData && props.unstable_dataSource ? () => true : () => false);
|
|
18
26
|
}, [privateApiRef, props.treeData, props.unstable_dataSource]);
|
|
19
27
|
const getGroupingColDef = React.useCallback(() => {
|
|
20
28
|
const groupingColDefProp = props.groupingColDef;
|
|
21
29
|
let colDefOverride;
|
|
22
30
|
if (typeof groupingColDefProp === 'function') {
|
|
23
31
|
const params = {
|
|
24
|
-
groupingName: TreeDataStrategy.DataSource,
|
|
32
|
+
groupingName: _gridTreeDataUtils.TreeDataStrategy.DataSource,
|
|
25
33
|
fields: []
|
|
26
34
|
};
|
|
27
35
|
colDefOverride = groupingColDefProp(params);
|
|
@@ -32,20 +40,20 @@ export const useGridDataSourceTreeDataPreProcessors = (privateApiRef, props) =>
|
|
|
32
40
|
{
|
|
33
41
|
hideDescendantCount
|
|
34
42
|
} = _ref,
|
|
35
|
-
colDefOverrideProperties =
|
|
36
|
-
const commonProperties =
|
|
37
|
-
renderCell: params => /*#__PURE__*/
|
|
43
|
+
colDefOverrideProperties = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
44
|
+
const commonProperties = (0, _extends2.default)({}, _gridTreeDataGroupColDef.GRID_TREE_DATA_GROUPING_COL_DEF, {
|
|
45
|
+
renderCell: params => /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridDataSourceTreeDataGroupingCell.GridDataSourceTreeDataGroupingCell, (0, _extends2.default)({}, params, {
|
|
38
46
|
hideDescendantCount: hideDescendantCount
|
|
39
47
|
})),
|
|
40
48
|
headerName: privateApiRef.current.getLocaleText('treeDataGroupingHeaderName')
|
|
41
49
|
});
|
|
42
|
-
return
|
|
50
|
+
return (0, _extends2.default)({}, commonProperties, colDefOverrideProperties, _gridTreeDataGroupColDef.GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES);
|
|
43
51
|
}, [privateApiRef, props.groupingColDef]);
|
|
44
52
|
const updateGroupingColumn = React.useCallback(columnsState => {
|
|
45
53
|
if (!props.unstable_dataSource) {
|
|
46
54
|
return columnsState;
|
|
47
55
|
}
|
|
48
|
-
const groupingColDefField = GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES.field;
|
|
56
|
+
const groupingColDefField = _gridTreeDataGroupColDef.GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES.field;
|
|
49
57
|
const shouldHaveGroupingColumn = props.treeData;
|
|
50
58
|
const prevGroupingColumn = columnsState.lookup[groupingColDefField];
|
|
51
59
|
if (shouldHaveGroupingColumn) {
|
|
@@ -56,7 +64,7 @@ export const useGridDataSourceTreeDataPreProcessors = (privateApiRef, props) =>
|
|
|
56
64
|
}
|
|
57
65
|
columnsState.lookup[groupingColDefField] = newGroupingColumn;
|
|
58
66
|
if (prevGroupingColumn == null) {
|
|
59
|
-
const index = columnsState.orderedFields[0] === GRID_CHECKBOX_SELECTION_FIELD ? 1 : 0;
|
|
67
|
+
const index = columnsState.orderedFields[0] === _xDataGrid.GRID_CHECKBOX_SELECTION_FIELD ? 1 : 0;
|
|
60
68
|
columnsState.orderedFields = [...columnsState.orderedFields.slice(0, index), groupingColDefField, ...columnsState.orderedFields.slice(index)];
|
|
61
69
|
}
|
|
62
70
|
} else if (!shouldHaveGroupingColumn && prevGroupingColumn) {
|
|
@@ -90,16 +98,16 @@ export const useGridDataSourceTreeDataPreProcessors = (privateApiRef, props) =>
|
|
|
90
98
|
throw new Error(['MUI X: The values returned by `getGroupKey` for all the sibling rows should be unique.', `The rows with id #${firstId} and #${secondId} have the same.`, `Path: ${JSON.stringify(path.map(step => step.key))}.`].join('\n'));
|
|
91
99
|
};
|
|
92
100
|
if (params.updates.type === 'full') {
|
|
93
|
-
return createRowTree({
|
|
101
|
+
return (0, _createRowTree.createRowTree)({
|
|
94
102
|
previousTree: params.previousTree,
|
|
95
103
|
nodes: params.updates.rows.map(getRowTreeBuilderNode),
|
|
96
104
|
defaultGroupingExpansionDepth: props.defaultGroupingExpansionDepth,
|
|
97
105
|
isGroupExpandedByDefault: props.isGroupExpandedByDefault,
|
|
98
|
-
groupingName: TreeDataStrategy.DataSource,
|
|
106
|
+
groupingName: _gridTreeDataUtils.TreeDataStrategy.DataSource,
|
|
99
107
|
onDuplicatePath
|
|
100
108
|
});
|
|
101
109
|
}
|
|
102
|
-
return updateRowTree({
|
|
110
|
+
return (0, _updateRowTree.updateRowTree)({
|
|
103
111
|
nodes: {
|
|
104
112
|
inserted: params.updates.actions.insert.map(getRowTreeBuilderNode),
|
|
105
113
|
modified: params.updates.actions.modify.map(getRowTreeBuilderNode),
|
|
@@ -110,27 +118,27 @@ export const useGridDataSourceTreeDataPreProcessors = (privateApiRef, props) =>
|
|
|
110
118
|
previousTreeDepth: params.previousTreeDepths,
|
|
111
119
|
defaultGroupingExpansionDepth: props.defaultGroupingExpansionDepth,
|
|
112
120
|
isGroupExpandedByDefault: props.isGroupExpandedByDefault,
|
|
113
|
-
groupingName: TreeDataStrategy.DataSource
|
|
121
|
+
groupingName: _gridTreeDataUtils.TreeDataStrategy.DataSource
|
|
114
122
|
});
|
|
115
123
|
}, [props.unstable_dataSource, props.defaultGroupingExpansionDepth, props.isGroupExpandedByDefault]);
|
|
116
124
|
const filterRows = React.useCallback(() => {
|
|
117
|
-
const rowTree = gridRowTreeSelector(privateApiRef);
|
|
118
|
-
return skipFiltering(rowTree);
|
|
125
|
+
const rowTree = (0, _xDataGrid.gridRowTreeSelector)(privateApiRef);
|
|
126
|
+
return (0, _utils.skipFiltering)(rowTree);
|
|
119
127
|
}, [privateApiRef]);
|
|
120
128
|
const sortRows = React.useCallback(() => {
|
|
121
|
-
const rowTree = gridRowTreeSelector(privateApiRef);
|
|
122
|
-
return skipSorting(rowTree);
|
|
129
|
+
const rowTree = (0, _xDataGrid.gridRowTreeSelector)(privateApiRef);
|
|
130
|
+
return (0, _utils.skipSorting)(rowTree);
|
|
123
131
|
}, [privateApiRef]);
|
|
124
|
-
useGridRegisterPipeProcessor(privateApiRef, 'hydrateColumns', updateGroupingColumn);
|
|
125
|
-
useGridRegisterStrategyProcessor(privateApiRef, TreeDataStrategy.DataSource, 'rowTreeCreation', createRowTreeForTreeData);
|
|
126
|
-
useGridRegisterStrategyProcessor(privateApiRef, TreeDataStrategy.DataSource, 'filtering', filterRows);
|
|
127
|
-
useGridRegisterStrategyProcessor(privateApiRef, TreeDataStrategy.DataSource, 'sorting', sortRows);
|
|
128
|
-
useGridRegisterStrategyProcessor(privateApiRef, TreeDataStrategy.DataSource, 'visibleRowsLookupCreation', getVisibleRowsLookup);
|
|
132
|
+
(0, _internals.useGridRegisterPipeProcessor)(privateApiRef, 'hydrateColumns', updateGroupingColumn);
|
|
133
|
+
(0, _internals.useGridRegisterStrategyProcessor)(privateApiRef, _gridTreeDataUtils.TreeDataStrategy.DataSource, 'rowTreeCreation', createRowTreeForTreeData);
|
|
134
|
+
(0, _internals.useGridRegisterStrategyProcessor)(privateApiRef, _gridTreeDataUtils.TreeDataStrategy.DataSource, 'filtering', filterRows);
|
|
135
|
+
(0, _internals.useGridRegisterStrategyProcessor)(privateApiRef, _gridTreeDataUtils.TreeDataStrategy.DataSource, 'sorting', sortRows);
|
|
136
|
+
(0, _internals.useGridRegisterStrategyProcessor)(privateApiRef, _gridTreeDataUtils.TreeDataStrategy.DataSource, 'visibleRowsLookupCreation', _utils2.getVisibleRowsLookup);
|
|
129
137
|
|
|
130
138
|
/**
|
|
131
139
|
* 1ST RENDER
|
|
132
140
|
*/
|
|
133
|
-
useFirstRender(() => {
|
|
141
|
+
(0, _xDataGrid.useFirstRender)(() => {
|
|
134
142
|
setStrategyAvailability();
|
|
135
143
|
});
|
|
136
144
|
|
|
@@ -145,4 +153,5 @@ export const useGridDataSourceTreeDataPreProcessors = (privateApiRef, props) =>
|
|
|
145
153
|
isFirstRender.current = false;
|
|
146
154
|
}
|
|
147
155
|
}, [setStrategyAvailability]);
|
|
148
|
-
};
|
|
156
|
+
};
|
|
157
|
+
exports.useGridDataSourceTreeDataPreProcessors = useGridDataSourceTreeDataPreProcessors;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.skipFiltering = skipFiltering;
|
|
7
|
+
exports.skipSorting = skipSorting;
|
|
8
|
+
var _xDataGrid = require("@mui/x-data-grid");
|
|
9
|
+
var _internals = require("@mui/x-data-grid/internals");
|
|
10
|
+
function skipFiltering(rowTree) {
|
|
11
|
+
const filteredRowsLookup = {};
|
|
12
|
+
const filteredChildrenCountLookup = {};
|
|
13
|
+
const nodes = Object.values(rowTree);
|
|
14
|
+
for (let i = 0; i < nodes.length; i += 1) {
|
|
15
|
+
const node = nodes[i];
|
|
16
|
+
filteredRowsLookup[node.id] = true;
|
|
17
|
+
filteredChildrenCountLookup[node.id] = node.serverChildrenCount ?? 0;
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
filteredRowsLookup,
|
|
21
|
+
filteredChildrenCountLookup,
|
|
22
|
+
filteredDescendantCountLookup: _internals.defaultGridFilterLookup.filteredDescendantCountLookup
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function skipSorting(rowTree) {
|
|
26
|
+
return (0, _internals.getTreeNodeDescendants)(rowTree, _xDataGrid.GRID_ROOT_GROUP_ID, false);
|
|
27
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES = exports.GRID_TREE_DATA_GROUPING_COL_DEF = void 0;
|
|
8
|
+
Object.defineProperty(exports, "GRID_TREE_DATA_GROUPING_FIELD", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () {
|
|
11
|
+
return _internals.GRID_TREE_DATA_GROUPING_FIELD;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
|
+
var _xDataGrid = require("@mui/x-data-grid");
|
|
16
|
+
var _internals = require("@mui/x-data-grid/internals");
|
|
17
|
+
/**
|
|
18
|
+
* TODO: Add sorting and filtering on the value and the filteredDescendantCount
|
|
19
|
+
*/
|
|
20
|
+
const GRID_TREE_DATA_GROUPING_COL_DEF = exports.GRID_TREE_DATA_GROUPING_COL_DEF = (0, _extends2.default)({}, _xDataGrid.GRID_STRING_COL_DEF, {
|
|
21
|
+
type: 'custom',
|
|
22
|
+
sortable: false,
|
|
23
|
+
filterable: false,
|
|
24
|
+
disableColumnMenu: true,
|
|
25
|
+
disableReorder: true,
|
|
26
|
+
align: 'left',
|
|
27
|
+
width: 200,
|
|
28
|
+
valueGetter: (value, row, column, apiRef) => {
|
|
29
|
+
const rowId = (0, _xDataGrid.gridRowIdSelector)(apiRef.current.state, row);
|
|
30
|
+
const rowNode = (0, _xDataGrid.gridRowTreeSelector)(apiRef)[rowId];
|
|
31
|
+
return rowNode?.type === 'group' || rowNode?.type === 'leaf' ? rowNode.groupingKey : undefined;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
const GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES = exports.GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES = {
|
|
35
|
+
field: _internals.GRID_TREE_DATA_GROUPING_FIELD,
|
|
36
|
+
editable: false,
|
|
37
|
+
groupable: false
|
|
38
|
+
};
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.filterRowTreeFromTreeData = exports.TreeDataStrategy = void 0;
|
|
7
|
+
var _internals = require("@mui/x-data-grid/internals");
|
|
8
|
+
let TreeDataStrategy = exports.TreeDataStrategy = /*#__PURE__*/function (TreeDataStrategy) {
|
|
3
9
|
TreeDataStrategy["Default"] = "tree-data";
|
|
4
10
|
TreeDataStrategy["DataSource"] = "tree-data-source";
|
|
5
11
|
return TreeDataStrategy;
|
|
6
12
|
}({});
|
|
7
|
-
|
|
8
13
|
/**
|
|
9
14
|
* A node is visible if one of the following criteria is met:
|
|
10
15
|
* - One of its children is passing the filter
|
|
11
16
|
* - It is passing the filter
|
|
12
17
|
*/
|
|
13
|
-
|
|
18
|
+
const filterRowTreeFromTreeData = params => {
|
|
14
19
|
const {
|
|
15
20
|
apiRef,
|
|
16
21
|
rowTree,
|
|
@@ -35,7 +40,7 @@ export const filterRowTreeFromTreeData = params => {
|
|
|
35
40
|
} else {
|
|
36
41
|
const row = apiRef.current.getRow(node.id);
|
|
37
42
|
isRowMatchingFilters(row, undefined, filterResults);
|
|
38
|
-
isMatchingFilters = passFilterLogic([filterResults.passingFilterItems], [filterResults.passingQuickFilterValues], params.filterModel, params.apiRef, filterCache);
|
|
43
|
+
isMatchingFilters = (0, _internals.passFilterLogic)([filterResults.passingFilterItems], [filterResults.passingQuickFilterValues], params.filterModel, params.apiRef, filterCache);
|
|
39
44
|
}
|
|
40
45
|
let filteredChildrenCount = 0;
|
|
41
46
|
let filteredDescendantCount = 0;
|
|
@@ -90,4 +95,5 @@ export const filterRowTreeFromTreeData = params => {
|
|
|
90
95
|
filteredChildrenCountLookup,
|
|
91
96
|
filteredDescendantCountLookup
|
|
92
97
|
};
|
|
93
|
-
};
|
|
98
|
+
};
|
|
99
|
+
exports.filterRowTreeFromTreeData = filterRowTreeFromTreeData;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "GRID_TREE_DATA_GROUPING_FIELD", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _gridTreeDataGroupColDef.GRID_TREE_DATA_GROUPING_FIELD;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _gridTreeDataGroupColDef = require("./gridTreeDataGroupColDef");
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useGridTreeData = void 0;
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _xDataGrid = require("@mui/x-data-grid");
|
|
10
|
+
var _gridTreeDataGroupColDef = require("./gridTreeDataGroupColDef");
|
|
11
|
+
const useGridTreeData = (apiRef, props) => {
|
|
12
|
+
/**
|
|
13
|
+
* EVENTS
|
|
14
|
+
*/
|
|
15
|
+
const handleCellKeyDown = React.useCallback((params, event) => {
|
|
16
|
+
const cellParams = apiRef.current.getCellParams(params.id, params.field);
|
|
17
|
+
if (cellParams.colDef.field === _gridTreeDataGroupColDef.GRID_TREE_DATA_GROUPING_FIELD && (event.key === ' ' || event.key === 'Enter') && !event.shiftKey) {
|
|
18
|
+
if (params.rowNode.type !== 'group') {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
if (props.unstable_dataSource && !params.rowNode.childrenExpanded) {
|
|
22
|
+
apiRef.current.unstable_dataSource.fetchRows(params.id);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
apiRef.current.setRowChildrenExpansion(params.id, !params.rowNode.childrenExpanded);
|
|
26
|
+
}
|
|
27
|
+
}, [apiRef, props.unstable_dataSource]);
|
|
28
|
+
(0, _xDataGrid.useGridApiEventHandler)(apiRef, 'cellKeyDown', handleCellKeyDown);
|
|
29
|
+
};
|
|
30
|
+
exports.useGridTreeData = useGridTreeData;
|
|
@@ -1,27 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.useGridTreeDataPreProcessors = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
|
+
var React = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _xDataGrid = require("@mui/x-data-grid");
|
|
13
|
+
var _internals = require("@mui/x-data-grid/internals");
|
|
14
|
+
var _gridTreeDataGroupColDef = require("./gridTreeDataGroupColDef");
|
|
15
|
+
var _gridTreeDataUtils = require("./gridTreeDataUtils");
|
|
16
|
+
var _components = require("../../../components");
|
|
17
|
+
var _createRowTree = require("../../../utils/tree/createRowTree");
|
|
18
|
+
var _sortRowTree = require("../../../utils/tree/sortRowTree");
|
|
19
|
+
var _updateRowTree = require("../../../utils/tree/updateRowTree");
|
|
20
|
+
var _utils = require("../../../utils/tree/utils");
|
|
21
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
3
22
|
const _excluded = ["hideDescendantCount"];
|
|
4
|
-
|
|
5
|
-
import { gridRowTreeSelector, useFirstRender, GRID_CHECKBOX_SELECTION_FIELD } from '@mui/x-data-grid';
|
|
6
|
-
import { useGridRegisterPipeProcessor, useGridRegisterStrategyProcessor } from '@mui/x-data-grid/internals';
|
|
7
|
-
import { GRID_TREE_DATA_GROUPING_COL_DEF, GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES } from "./gridTreeDataGroupColDef.js";
|
|
8
|
-
import { filterRowTreeFromTreeData, TreeDataStrategy } from "./gridTreeDataUtils.js";
|
|
9
|
-
import { GridTreeDataGroupingCell } from "../../../components/index.js";
|
|
10
|
-
import { createRowTree } from "../../../utils/tree/createRowTree.js";
|
|
11
|
-
import { sortRowTree } from "../../../utils/tree/sortRowTree.js";
|
|
12
|
-
import { updateRowTree } from "../../../utils/tree/updateRowTree.js";
|
|
13
|
-
import { getVisibleRowsLookup } from "../../../utils/tree/utils.js";
|
|
14
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
-
export const useGridTreeDataPreProcessors = (privateApiRef, props) => {
|
|
23
|
+
const useGridTreeDataPreProcessors = (privateApiRef, props) => {
|
|
16
24
|
const setStrategyAvailability = React.useCallback(() => {
|
|
17
|
-
privateApiRef.current.setStrategyAvailability('rowTree', TreeDataStrategy.Default, props.treeData && !props.unstable_dataSource ? () => true : () => false);
|
|
25
|
+
privateApiRef.current.setStrategyAvailability('rowTree', _gridTreeDataUtils.TreeDataStrategy.Default, props.treeData && !props.unstable_dataSource ? () => true : () => false);
|
|
18
26
|
}, [privateApiRef, props.treeData, props.unstable_dataSource]);
|
|
19
27
|
const getGroupingColDef = React.useCallback(() => {
|
|
20
28
|
const groupingColDefProp = props.groupingColDef;
|
|
21
29
|
let colDefOverride;
|
|
22
30
|
if (typeof groupingColDefProp === 'function') {
|
|
23
31
|
const params = {
|
|
24
|
-
groupingName: TreeDataStrategy.Default,
|
|
32
|
+
groupingName: _gridTreeDataUtils.TreeDataStrategy.Default,
|
|
25
33
|
fields: []
|
|
26
34
|
};
|
|
27
35
|
colDefOverride = groupingColDefProp(params);
|
|
@@ -32,20 +40,20 @@ export const useGridTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
32
40
|
{
|
|
33
41
|
hideDescendantCount
|
|
34
42
|
} = _ref,
|
|
35
|
-
colDefOverrideProperties =
|
|
36
|
-
const commonProperties =
|
|
37
|
-
renderCell: params => /*#__PURE__*/
|
|
43
|
+
colDefOverrideProperties = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
44
|
+
const commonProperties = (0, _extends2.default)({}, _gridTreeDataGroupColDef.GRID_TREE_DATA_GROUPING_COL_DEF, {
|
|
45
|
+
renderCell: params => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GridTreeDataGroupingCell, (0, _extends2.default)({}, params, {
|
|
38
46
|
hideDescendantCount: hideDescendantCount
|
|
39
47
|
})),
|
|
40
48
|
headerName: privateApiRef.current.getLocaleText('treeDataGroupingHeaderName')
|
|
41
49
|
});
|
|
42
|
-
return
|
|
50
|
+
return (0, _extends2.default)({}, commonProperties, colDefOverrideProperties, _gridTreeDataGroupColDef.GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES);
|
|
43
51
|
}, [privateApiRef, props.groupingColDef]);
|
|
44
52
|
const updateGroupingColumn = React.useCallback(columnsState => {
|
|
45
53
|
if (props.unstable_dataSource) {
|
|
46
54
|
return columnsState;
|
|
47
55
|
}
|
|
48
|
-
const groupingColDefField = GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES.field;
|
|
56
|
+
const groupingColDefField = _gridTreeDataGroupColDef.GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES.field;
|
|
49
57
|
const shouldHaveGroupingColumn = props.treeData;
|
|
50
58
|
const prevGroupingColumn = columnsState.lookup[groupingColDefField];
|
|
51
59
|
if (shouldHaveGroupingColumn) {
|
|
@@ -56,7 +64,7 @@ export const useGridTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
56
64
|
}
|
|
57
65
|
columnsState.lookup[groupingColDefField] = newGroupingColumn;
|
|
58
66
|
if (prevGroupingColumn == null) {
|
|
59
|
-
const index = columnsState.orderedFields[0] === GRID_CHECKBOX_SELECTION_FIELD ? 1 : 0;
|
|
67
|
+
const index = columnsState.orderedFields[0] === _xDataGrid.GRID_CHECKBOX_SELECTION_FIELD ? 1 : 0;
|
|
60
68
|
columnsState.orderedFields = [...columnsState.orderedFields.slice(0, index), groupingColDefField, ...columnsState.orderedFields.slice(index)];
|
|
61
69
|
}
|
|
62
70
|
} else if (!shouldHaveGroupingColumn && prevGroupingColumn) {
|
|
@@ -80,16 +88,16 @@ export const useGridTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
80
88
|
throw new Error(['MUI X: The path returned by `getTreeDataPath` should be unique.', `The rows with id #${firstId} and #${secondId} have the same.`, `Path: ${JSON.stringify(path.map(step => step.key))}.`].join('\n'));
|
|
81
89
|
};
|
|
82
90
|
if (params.updates.type === 'full') {
|
|
83
|
-
return createRowTree({
|
|
91
|
+
return (0, _createRowTree.createRowTree)({
|
|
84
92
|
previousTree: params.previousTree,
|
|
85
93
|
nodes: params.updates.rows.map(getRowTreeBuilderNode),
|
|
86
94
|
defaultGroupingExpansionDepth: props.defaultGroupingExpansionDepth,
|
|
87
95
|
isGroupExpandedByDefault: props.isGroupExpandedByDefault,
|
|
88
|
-
groupingName: TreeDataStrategy.Default,
|
|
96
|
+
groupingName: _gridTreeDataUtils.TreeDataStrategy.Default,
|
|
89
97
|
onDuplicatePath
|
|
90
98
|
});
|
|
91
99
|
}
|
|
92
|
-
return updateRowTree({
|
|
100
|
+
return (0, _updateRowTree.updateRowTree)({
|
|
93
101
|
nodes: {
|
|
94
102
|
inserted: params.updates.actions.insert.map(getRowTreeBuilderNode),
|
|
95
103
|
modified: params.updates.actions.modify.map(getRowTreeBuilderNode),
|
|
@@ -99,12 +107,12 @@ export const useGridTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
99
107
|
previousTreeDepth: params.previousTreeDepths,
|
|
100
108
|
defaultGroupingExpansionDepth: props.defaultGroupingExpansionDepth,
|
|
101
109
|
isGroupExpandedByDefault: props.isGroupExpandedByDefault,
|
|
102
|
-
groupingName: TreeDataStrategy.Default
|
|
110
|
+
groupingName: _gridTreeDataUtils.TreeDataStrategy.Default
|
|
103
111
|
});
|
|
104
112
|
}, [props.getTreeDataPath, props.defaultGroupingExpansionDepth, props.isGroupExpandedByDefault]);
|
|
105
113
|
const filterRows = React.useCallback(params => {
|
|
106
|
-
const rowTree = gridRowTreeSelector(privateApiRef);
|
|
107
|
-
return filterRowTreeFromTreeData({
|
|
114
|
+
const rowTree = (0, _xDataGrid.gridRowTreeSelector)(privateApiRef);
|
|
115
|
+
return (0, _gridTreeDataUtils.filterRowTreeFromTreeData)({
|
|
108
116
|
rowTree,
|
|
109
117
|
isRowMatchingFilters: params.isRowMatchingFilters,
|
|
110
118
|
disableChildrenFiltering: props.disableChildrenFiltering,
|
|
@@ -113,24 +121,24 @@ export const useGridTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
113
121
|
});
|
|
114
122
|
}, [privateApiRef, props.disableChildrenFiltering]);
|
|
115
123
|
const sortRows = React.useCallback(params => {
|
|
116
|
-
const rowTree = gridRowTreeSelector(privateApiRef);
|
|
117
|
-
return sortRowTree({
|
|
124
|
+
const rowTree = (0, _xDataGrid.gridRowTreeSelector)(privateApiRef);
|
|
125
|
+
return (0, _sortRowTree.sortRowTree)({
|
|
118
126
|
rowTree,
|
|
119
127
|
sortRowList: params.sortRowList,
|
|
120
128
|
disableChildrenSorting: props.disableChildrenSorting,
|
|
121
129
|
shouldRenderGroupBelowLeaves: false
|
|
122
130
|
});
|
|
123
131
|
}, [privateApiRef, props.disableChildrenSorting]);
|
|
124
|
-
useGridRegisterPipeProcessor(privateApiRef, 'hydrateColumns', updateGroupingColumn);
|
|
125
|
-
useGridRegisterStrategyProcessor(privateApiRef, TreeDataStrategy.Default, 'rowTreeCreation', createRowTreeForTreeData);
|
|
126
|
-
useGridRegisterStrategyProcessor(privateApiRef, TreeDataStrategy.Default, 'filtering', filterRows);
|
|
127
|
-
useGridRegisterStrategyProcessor(privateApiRef, TreeDataStrategy.Default, 'sorting', sortRows);
|
|
128
|
-
useGridRegisterStrategyProcessor(privateApiRef, TreeDataStrategy.Default, 'visibleRowsLookupCreation', getVisibleRowsLookup);
|
|
132
|
+
(0, _internals.useGridRegisterPipeProcessor)(privateApiRef, 'hydrateColumns', updateGroupingColumn);
|
|
133
|
+
(0, _internals.useGridRegisterStrategyProcessor)(privateApiRef, _gridTreeDataUtils.TreeDataStrategy.Default, 'rowTreeCreation', createRowTreeForTreeData);
|
|
134
|
+
(0, _internals.useGridRegisterStrategyProcessor)(privateApiRef, _gridTreeDataUtils.TreeDataStrategy.Default, 'filtering', filterRows);
|
|
135
|
+
(0, _internals.useGridRegisterStrategyProcessor)(privateApiRef, _gridTreeDataUtils.TreeDataStrategy.Default, 'sorting', sortRows);
|
|
136
|
+
(0, _internals.useGridRegisterStrategyProcessor)(privateApiRef, _gridTreeDataUtils.TreeDataStrategy.Default, 'visibleRowsLookupCreation', _utils.getVisibleRowsLookup);
|
|
129
137
|
|
|
130
138
|
/**
|
|
131
139
|
* 1ST RENDER
|
|
132
140
|
*/
|
|
133
|
-
useFirstRender(() => {
|
|
141
|
+
(0, _xDataGrid.useFirstRender)(() => {
|
|
134
142
|
setStrategyAvailability();
|
|
135
143
|
});
|
|
136
144
|
|
|
@@ -145,4 +153,5 @@ export const useGridTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
145
153
|
isFirstRender.current = false;
|
|
146
154
|
}
|
|
147
155
|
}, [setStrategyAvailability]);
|
|
148
|
-
};
|
|
156
|
+
};
|
|
157
|
+
exports.useGridTreeDataPreProcessors = useGridTreeDataPreProcessors;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _features = require("./features");
|
|
7
|
+
Object.keys(_features).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _features[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _features[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|