@mui/x-data-grid-pro 7.29.0 → 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 +77 -0
- package/DataGridPro/DataGrid.js +2 -9
- package/DataGridPro/DataGridPro.js +231 -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/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 +238 -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 +6 -6
- 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,17 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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");
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import composeClasses from '@mui/utils/composeClasses';
|
|
4
|
+
import { getDataGridUtilityClass } from '@mui/x-data-grid';
|
|
5
|
+
import { useGridRegisterPipeProcessor } from '@mui/x-data-grid/internals';
|
|
6
|
+
import { GRID_REORDER_COL_DEF } from "./gridRowReorderColDef.js";
|
|
15
7
|
const useUtilityClasses = ownerState => {
|
|
16
8
|
const {
|
|
17
9
|
classes
|
|
@@ -21,16 +13,16 @@ const useUtilityClasses = ownerState => {
|
|
|
21
13
|
rowReorderCellContainer: ['rowReorderCellContainer'],
|
|
22
14
|
columnHeaderReorder: ['columnHeaderReorder']
|
|
23
15
|
};
|
|
24
|
-
return (
|
|
16
|
+
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
25
17
|
}, [classes]);
|
|
26
18
|
};
|
|
27
|
-
const useGridRowReorderPreProcessors = (privateApiRef, props) => {
|
|
19
|
+
export const useGridRowReorderPreProcessors = (privateApiRef, props) => {
|
|
28
20
|
const ownerState = {
|
|
29
21
|
classes: props.classes
|
|
30
22
|
};
|
|
31
23
|
const classes = useUtilityClasses(ownerState);
|
|
32
24
|
const updateReorderColumn = React.useCallback(columnsState => {
|
|
33
|
-
const reorderColumn = (
|
|
25
|
+
const reorderColumn = _extends({}, GRID_REORDER_COL_DEF, {
|
|
34
26
|
cellClassName: classes.rowReorderCellContainer,
|
|
35
27
|
headerClassName: classes.columnHeaderReorder,
|
|
36
28
|
headerName: privateApiRef.current.getLocaleText('rowReorderingHeaderName')
|
|
@@ -38,7 +30,7 @@ const useGridRowReorderPreProcessors = (privateApiRef, props) => {
|
|
|
38
30
|
const shouldHaveReorderColumn = props.rowReordering;
|
|
39
31
|
const haveReorderColumn = columnsState.lookup[reorderColumn.field] != null;
|
|
40
32
|
if (shouldHaveReorderColumn && haveReorderColumn) {
|
|
41
|
-
columnsState.lookup[reorderColumn.field] = (
|
|
33
|
+
columnsState.lookup[reorderColumn.field] = _extends({}, reorderColumn, columnsState.lookup[reorderColumn.field]);
|
|
42
34
|
return columnsState;
|
|
43
35
|
}
|
|
44
36
|
if (shouldHaveReorderColumn && !haveReorderColumn) {
|
|
@@ -50,6 +42,5 @@ const useGridRowReorderPreProcessors = (privateApiRef, props) => {
|
|
|
50
42
|
}
|
|
51
43
|
return columnsState;
|
|
52
44
|
}, [privateApiRef, classes, props.rowReordering]);
|
|
53
|
-
|
|
54
|
-
};
|
|
55
|
-
exports.useGridRowReorderPreProcessors = useGridRowReorderPreProcessors;
|
|
45
|
+
useGridRegisterPipeProcessor(privateApiRef, 'hydrateColumns', updateReorderColumn);
|
|
46
|
+
};
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
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
|
-
});
|
|
1
|
+
export * from "./useGridRowAriaAttributes.js";
|
|
@@ -1,22 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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);
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useGridSelector, gridFilteredTopLevelRowCountSelector, GRID_ROOT_GROUP_ID } from '@mui/x-data-grid';
|
|
3
|
+
import { useGridRowAriaAttributes as useGridRowAriaAttributesCommunity, gridFilteredChildrenCountLookupSelector, gridExpandedSortedRowTreeLevelPositionLookupSelector } from '@mui/x-data-grid/internals';
|
|
4
|
+
import { useGridPrivateApiContext } from "../../utils/useGridPrivateApiContext.js";
|
|
5
|
+
import { useGridRootProps } from "../../utils/useGridRootProps.js";
|
|
6
|
+
export const useGridRowAriaAttributes = addTreeDataAttributes => {
|
|
7
|
+
const apiRef = useGridPrivateApiContext();
|
|
8
|
+
const props = useGridRootProps();
|
|
9
|
+
const getRowAriaAttributesCommunity = useGridRowAriaAttributesCommunity();
|
|
10
|
+
const filteredTopLevelRowCount = useGridSelector(apiRef, gridFilteredTopLevelRowCountSelector);
|
|
11
|
+
const filteredChildrenCountLookup = useGridSelector(apiRef, gridFilteredChildrenCountLookupSelector);
|
|
12
|
+
const sortedVisibleRowPositionsLookup = useGridSelector(apiRef, gridExpandedSortedRowTreeLevelPositionLookupSelector);
|
|
20
13
|
return React.useCallback((rowNode, index) => {
|
|
21
14
|
const ariaAttributes = getRowAriaAttributesCommunity(rowNode, index);
|
|
22
15
|
if (rowNode === null || !(props.treeData || addTreeDataAttributes)) {
|
|
@@ -36,10 +29,9 @@ const useGridRowAriaAttributes = addTreeDataAttributes => {
|
|
|
36
29
|
|
|
37
30
|
// if the parent is null, set size and position cannot be determined
|
|
38
31
|
if (rowNode.parent !== null) {
|
|
39
|
-
ariaAttributes['aria-setsize'] = rowNode.parent ===
|
|
32
|
+
ariaAttributes['aria-setsize'] = rowNode.parent === GRID_ROOT_GROUP_ID ? filteredTopLevelRowCount : filteredChildrenCountLookup[rowNode.parent];
|
|
40
33
|
ariaAttributes['aria-posinset'] = sortedVisibleRowPositionsLookup[rowNode.id];
|
|
41
34
|
}
|
|
42
35
|
return ariaAttributes;
|
|
43
36
|
}, [props.treeData, addTreeDataAttributes, filteredTopLevelRowCount, filteredChildrenCountLookup, sortedVisibleRowPositionsLookup, getRowAriaAttributesCommunity]);
|
|
44
|
-
};
|
|
45
|
-
exports.useGridRowAriaAttributes = useGridRowAriaAttributes;
|
|
37
|
+
};
|
|
@@ -1,35 +1,27 @@
|
|
|
1
|
-
|
|
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");
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
22
3
|
const _excluded = ["hideDescendantCount"];
|
|
23
|
-
|
|
4
|
+
import * as React from 'react';
|
|
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) => {
|
|
24
16
|
const setStrategyAvailability = React.useCallback(() => {
|
|
25
|
-
privateApiRef.current.setStrategyAvailability('rowTree',
|
|
17
|
+
privateApiRef.current.setStrategyAvailability('rowTree', TreeDataStrategy.DataSource, props.treeData && props.unstable_dataSource ? () => true : () => false);
|
|
26
18
|
}, [privateApiRef, props.treeData, props.unstable_dataSource]);
|
|
27
19
|
const getGroupingColDef = React.useCallback(() => {
|
|
28
20
|
const groupingColDefProp = props.groupingColDef;
|
|
29
21
|
let colDefOverride;
|
|
30
22
|
if (typeof groupingColDefProp === 'function') {
|
|
31
23
|
const params = {
|
|
32
|
-
groupingName:
|
|
24
|
+
groupingName: TreeDataStrategy.DataSource,
|
|
33
25
|
fields: []
|
|
34
26
|
};
|
|
35
27
|
colDefOverride = groupingColDefProp(params);
|
|
@@ -40,20 +32,20 @@ const useGridDataSourceTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
40
32
|
{
|
|
41
33
|
hideDescendantCount
|
|
42
34
|
} = _ref,
|
|
43
|
-
colDefOverrideProperties = (
|
|
44
|
-
const commonProperties = (
|
|
45
|
-
renderCell: params => /*#__PURE__*/(
|
|
35
|
+
colDefOverrideProperties = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
36
|
+
const commonProperties = _extends({}, GRID_TREE_DATA_GROUPING_COL_DEF, {
|
|
37
|
+
renderCell: params => /*#__PURE__*/_jsx(GridDataSourceTreeDataGroupingCell, _extends({}, params, {
|
|
46
38
|
hideDescendantCount: hideDescendantCount
|
|
47
39
|
})),
|
|
48
40
|
headerName: privateApiRef.current.getLocaleText('treeDataGroupingHeaderName')
|
|
49
41
|
});
|
|
50
|
-
return (
|
|
42
|
+
return _extends({}, commonProperties, colDefOverrideProperties, GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES);
|
|
51
43
|
}, [privateApiRef, props.groupingColDef]);
|
|
52
44
|
const updateGroupingColumn = React.useCallback(columnsState => {
|
|
53
45
|
if (!props.unstable_dataSource) {
|
|
54
46
|
return columnsState;
|
|
55
47
|
}
|
|
56
|
-
const groupingColDefField =
|
|
48
|
+
const groupingColDefField = GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES.field;
|
|
57
49
|
const shouldHaveGroupingColumn = props.treeData;
|
|
58
50
|
const prevGroupingColumn = columnsState.lookup[groupingColDefField];
|
|
59
51
|
if (shouldHaveGroupingColumn) {
|
|
@@ -64,7 +56,7 @@ const useGridDataSourceTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
64
56
|
}
|
|
65
57
|
columnsState.lookup[groupingColDefField] = newGroupingColumn;
|
|
66
58
|
if (prevGroupingColumn == null) {
|
|
67
|
-
const index = columnsState.orderedFields[0] ===
|
|
59
|
+
const index = columnsState.orderedFields[0] === GRID_CHECKBOX_SELECTION_FIELD ? 1 : 0;
|
|
68
60
|
columnsState.orderedFields = [...columnsState.orderedFields.slice(0, index), groupingColDefField, ...columnsState.orderedFields.slice(index)];
|
|
69
61
|
}
|
|
70
62
|
} else if (!shouldHaveGroupingColumn && prevGroupingColumn) {
|
|
@@ -98,16 +90,16 @@ const useGridDataSourceTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
98
90
|
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'));
|
|
99
91
|
};
|
|
100
92
|
if (params.updates.type === 'full') {
|
|
101
|
-
return
|
|
93
|
+
return createRowTree({
|
|
102
94
|
previousTree: params.previousTree,
|
|
103
95
|
nodes: params.updates.rows.map(getRowTreeBuilderNode),
|
|
104
96
|
defaultGroupingExpansionDepth: props.defaultGroupingExpansionDepth,
|
|
105
97
|
isGroupExpandedByDefault: props.isGroupExpandedByDefault,
|
|
106
|
-
groupingName:
|
|
98
|
+
groupingName: TreeDataStrategy.DataSource,
|
|
107
99
|
onDuplicatePath
|
|
108
100
|
});
|
|
109
101
|
}
|
|
110
|
-
return
|
|
102
|
+
return updateRowTree({
|
|
111
103
|
nodes: {
|
|
112
104
|
inserted: params.updates.actions.insert.map(getRowTreeBuilderNode),
|
|
113
105
|
modified: params.updates.actions.modify.map(getRowTreeBuilderNode),
|
|
@@ -118,27 +110,27 @@ const useGridDataSourceTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
118
110
|
previousTreeDepth: params.previousTreeDepths,
|
|
119
111
|
defaultGroupingExpansionDepth: props.defaultGroupingExpansionDepth,
|
|
120
112
|
isGroupExpandedByDefault: props.isGroupExpandedByDefault,
|
|
121
|
-
groupingName:
|
|
113
|
+
groupingName: TreeDataStrategy.DataSource
|
|
122
114
|
});
|
|
123
115
|
}, [props.unstable_dataSource, props.defaultGroupingExpansionDepth, props.isGroupExpandedByDefault]);
|
|
124
116
|
const filterRows = React.useCallback(() => {
|
|
125
|
-
const rowTree =
|
|
126
|
-
return
|
|
117
|
+
const rowTree = gridRowTreeSelector(privateApiRef);
|
|
118
|
+
return skipFiltering(rowTree);
|
|
127
119
|
}, [privateApiRef]);
|
|
128
120
|
const sortRows = React.useCallback(() => {
|
|
129
|
-
const rowTree =
|
|
130
|
-
return
|
|
121
|
+
const rowTree = gridRowTreeSelector(privateApiRef);
|
|
122
|
+
return skipSorting(rowTree);
|
|
131
123
|
}, [privateApiRef]);
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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);
|
|
137
129
|
|
|
138
130
|
/**
|
|
139
131
|
* 1ST RENDER
|
|
140
132
|
*/
|
|
141
|
-
|
|
133
|
+
useFirstRender(() => {
|
|
142
134
|
setStrategyAvailability();
|
|
143
135
|
});
|
|
144
136
|
|
|
@@ -153,5 +145,4 @@ const useGridDataSourceTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
153
145
|
isFirstRender.current = false;
|
|
154
146
|
}
|
|
155
147
|
}, [setStrategyAvailability]);
|
|
156
|
-
};
|
|
157
|
-
exports.useGridDataSourceTreeDataPreProcessors = useGridDataSourceTreeDataPreProcessors;
|
|
148
|
+
};
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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) {
|
|
1
|
+
import { GRID_ROOT_GROUP_ID } from '@mui/x-data-grid';
|
|
2
|
+
import { defaultGridFilterLookup, getTreeNodeDescendants } from '@mui/x-data-grid/internals';
|
|
3
|
+
export function skipFiltering(rowTree) {
|
|
11
4
|
const filteredRowsLookup = {};
|
|
12
5
|
const filteredChildrenCountLookup = {};
|
|
13
6
|
const nodes = Object.values(rowTree);
|
|
@@ -19,9 +12,9 @@ function skipFiltering(rowTree) {
|
|
|
19
12
|
return {
|
|
20
13
|
filteredRowsLookup,
|
|
21
14
|
filteredChildrenCountLookup,
|
|
22
|
-
filteredDescendantCountLookup:
|
|
15
|
+
filteredDescendantCountLookup: defaultGridFilterLookup.filteredDescendantCountLookup
|
|
23
16
|
};
|
|
24
17
|
}
|
|
25
|
-
function skipSorting(rowTree) {
|
|
26
|
-
return
|
|
18
|
+
export function skipSorting(rowTree) {
|
|
19
|
+
return getTreeNodeDescendants(rowTree, GRID_ROOT_GROUP_ID, false);
|
|
27
20
|
}
|
|
@@ -1,23 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { GRID_STRING_COL_DEF, gridRowIdSelector, gridRowTreeSelector } from '@mui/x-data-grid';
|
|
3
|
+
import { GRID_TREE_DATA_GROUPING_FIELD } from '@mui/x-data-grid/internals';
|
|
2
4
|
|
|
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
5
|
/**
|
|
18
6
|
* TODO: Add sorting and filtering on the value and the filteredDescendantCount
|
|
19
7
|
*/
|
|
20
|
-
const GRID_TREE_DATA_GROUPING_COL_DEF =
|
|
8
|
+
export const GRID_TREE_DATA_GROUPING_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
|
|
21
9
|
type: 'custom',
|
|
22
10
|
sortable: false,
|
|
23
11
|
filterable: false,
|
|
@@ -26,13 +14,14 @@ const GRID_TREE_DATA_GROUPING_COL_DEF = exports.GRID_TREE_DATA_GROUPING_COL_DEF
|
|
|
26
14
|
align: 'left',
|
|
27
15
|
width: 200,
|
|
28
16
|
valueGetter: (value, row, column, apiRef) => {
|
|
29
|
-
const rowId =
|
|
30
|
-
const rowNode =
|
|
17
|
+
const rowId = gridRowIdSelector(apiRef.current.state, row);
|
|
18
|
+
const rowNode = gridRowTreeSelector(apiRef)[rowId];
|
|
31
19
|
return rowNode?.type === 'group' || rowNode?.type === 'leaf' ? rowNode.groupingKey : undefined;
|
|
32
20
|
}
|
|
33
21
|
});
|
|
34
|
-
|
|
35
|
-
|
|
22
|
+
export { GRID_TREE_DATA_GROUPING_FIELD };
|
|
23
|
+
export const GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES = {
|
|
24
|
+
field: GRID_TREE_DATA_GROUPING_FIELD,
|
|
36
25
|
editable: false,
|
|
37
26
|
groupable: false
|
|
38
27
|
};
|
|
@@ -1,21 +1,16 @@
|
|
|
1
|
-
|
|
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) {
|
|
1
|
+
import { passFilterLogic } from '@mui/x-data-grid/internals';
|
|
2
|
+
export let TreeDataStrategy = /*#__PURE__*/function (TreeDataStrategy) {
|
|
9
3
|
TreeDataStrategy["Default"] = "tree-data";
|
|
10
4
|
TreeDataStrategy["DataSource"] = "tree-data-source";
|
|
11
5
|
return TreeDataStrategy;
|
|
12
6
|
}({});
|
|
7
|
+
|
|
13
8
|
/**
|
|
14
9
|
* A node is visible if one of the following criteria is met:
|
|
15
10
|
* - One of its children is passing the filter
|
|
16
11
|
* - It is passing the filter
|
|
17
12
|
*/
|
|
18
|
-
const filterRowTreeFromTreeData = params => {
|
|
13
|
+
export const filterRowTreeFromTreeData = params => {
|
|
19
14
|
const {
|
|
20
15
|
apiRef,
|
|
21
16
|
rowTree,
|
|
@@ -40,7 +35,7 @@ const filterRowTreeFromTreeData = params => {
|
|
|
40
35
|
} else {
|
|
41
36
|
const row = apiRef.current.getRow(node.id);
|
|
42
37
|
isRowMatchingFilters(row, undefined, filterResults);
|
|
43
|
-
isMatchingFilters =
|
|
38
|
+
isMatchingFilters = passFilterLogic([filterResults.passingFilterItems], [filterResults.passingQuickFilterValues], params.filterModel, params.apiRef, filterCache);
|
|
44
39
|
}
|
|
45
40
|
let filteredChildrenCount = 0;
|
|
46
41
|
let filteredDescendantCount = 0;
|
|
@@ -95,5 +90,4 @@ const filterRowTreeFromTreeData = params => {
|
|
|
95
90
|
filteredChildrenCountLookup,
|
|
96
91
|
filteredDescendantCountLookup
|
|
97
92
|
};
|
|
98
|
-
};
|
|
99
|
-
exports.filterRowTreeFromTreeData = filterRowTreeFromTreeData;
|
|
93
|
+
};
|
|
@@ -1,12 +1 @@
|
|
|
1
|
-
|
|
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");
|
|
1
|
+
export { GRID_TREE_DATA_GROUPING_FIELD } from "./gridTreeDataGroupColDef.js";
|
|
@@ -1,20 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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) => {
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useGridApiEventHandler } from '@mui/x-data-grid';
|
|
3
|
+
import { GRID_TREE_DATA_GROUPING_FIELD } from "./gridTreeDataGroupColDef.js";
|
|
4
|
+
export const useGridTreeData = (apiRef, props) => {
|
|
12
5
|
/**
|
|
13
6
|
* EVENTS
|
|
14
7
|
*/
|
|
15
8
|
const handleCellKeyDown = React.useCallback((params, event) => {
|
|
16
9
|
const cellParams = apiRef.current.getCellParams(params.id, params.field);
|
|
17
|
-
if (cellParams.colDef.field ===
|
|
10
|
+
if (cellParams.colDef.field === GRID_TREE_DATA_GROUPING_FIELD && (event.key === ' ' || event.key === 'Enter') && !event.shiftKey) {
|
|
18
11
|
if (params.rowNode.type !== 'group') {
|
|
19
12
|
return;
|
|
20
13
|
}
|
|
@@ -25,6 +18,5 @@ const useGridTreeData = (apiRef, props) => {
|
|
|
25
18
|
apiRef.current.setRowChildrenExpansion(params.id, !params.rowNode.childrenExpanded);
|
|
26
19
|
}
|
|
27
20
|
}, [apiRef, props.unstable_dataSource]);
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
exports.useGridTreeData = useGridTreeData;
|
|
21
|
+
useGridApiEventHandler(apiRef, 'cellKeyDown', handleCellKeyDown);
|
|
22
|
+
};
|
|
@@ -1,35 +1,27 @@
|
|
|
1
|
-
|
|
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");
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
22
3
|
const _excluded = ["hideDescendantCount"];
|
|
23
|
-
|
|
4
|
+
import * as React from 'react';
|
|
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) => {
|
|
24
16
|
const setStrategyAvailability = React.useCallback(() => {
|
|
25
|
-
privateApiRef.current.setStrategyAvailability('rowTree',
|
|
17
|
+
privateApiRef.current.setStrategyAvailability('rowTree', TreeDataStrategy.Default, props.treeData && !props.unstable_dataSource ? () => true : () => false);
|
|
26
18
|
}, [privateApiRef, props.treeData, props.unstable_dataSource]);
|
|
27
19
|
const getGroupingColDef = React.useCallback(() => {
|
|
28
20
|
const groupingColDefProp = props.groupingColDef;
|
|
29
21
|
let colDefOverride;
|
|
30
22
|
if (typeof groupingColDefProp === 'function') {
|
|
31
23
|
const params = {
|
|
32
|
-
groupingName:
|
|
24
|
+
groupingName: TreeDataStrategy.Default,
|
|
33
25
|
fields: []
|
|
34
26
|
};
|
|
35
27
|
colDefOverride = groupingColDefProp(params);
|
|
@@ -40,20 +32,20 @@ const useGridTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
40
32
|
{
|
|
41
33
|
hideDescendantCount
|
|
42
34
|
} = _ref,
|
|
43
|
-
colDefOverrideProperties = (
|
|
44
|
-
const commonProperties = (
|
|
45
|
-
renderCell: params => /*#__PURE__*/(
|
|
35
|
+
colDefOverrideProperties = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
36
|
+
const commonProperties = _extends({}, GRID_TREE_DATA_GROUPING_COL_DEF, {
|
|
37
|
+
renderCell: params => /*#__PURE__*/_jsx(GridTreeDataGroupingCell, _extends({}, params, {
|
|
46
38
|
hideDescendantCount: hideDescendantCount
|
|
47
39
|
})),
|
|
48
40
|
headerName: privateApiRef.current.getLocaleText('treeDataGroupingHeaderName')
|
|
49
41
|
});
|
|
50
|
-
return (
|
|
42
|
+
return _extends({}, commonProperties, colDefOverrideProperties, GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES);
|
|
51
43
|
}, [privateApiRef, props.groupingColDef]);
|
|
52
44
|
const updateGroupingColumn = React.useCallback(columnsState => {
|
|
53
45
|
if (props.unstable_dataSource) {
|
|
54
46
|
return columnsState;
|
|
55
47
|
}
|
|
56
|
-
const groupingColDefField =
|
|
48
|
+
const groupingColDefField = GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES.field;
|
|
57
49
|
const shouldHaveGroupingColumn = props.treeData;
|
|
58
50
|
const prevGroupingColumn = columnsState.lookup[groupingColDefField];
|
|
59
51
|
if (shouldHaveGroupingColumn) {
|
|
@@ -64,7 +56,7 @@ const useGridTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
64
56
|
}
|
|
65
57
|
columnsState.lookup[groupingColDefField] = newGroupingColumn;
|
|
66
58
|
if (prevGroupingColumn == null) {
|
|
67
|
-
const index = columnsState.orderedFields[0] ===
|
|
59
|
+
const index = columnsState.orderedFields[0] === GRID_CHECKBOX_SELECTION_FIELD ? 1 : 0;
|
|
68
60
|
columnsState.orderedFields = [...columnsState.orderedFields.slice(0, index), groupingColDefField, ...columnsState.orderedFields.slice(index)];
|
|
69
61
|
}
|
|
70
62
|
} else if (!shouldHaveGroupingColumn && prevGroupingColumn) {
|
|
@@ -88,16 +80,16 @@ const useGridTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
88
80
|
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'));
|
|
89
81
|
};
|
|
90
82
|
if (params.updates.type === 'full') {
|
|
91
|
-
return
|
|
83
|
+
return createRowTree({
|
|
92
84
|
previousTree: params.previousTree,
|
|
93
85
|
nodes: params.updates.rows.map(getRowTreeBuilderNode),
|
|
94
86
|
defaultGroupingExpansionDepth: props.defaultGroupingExpansionDepth,
|
|
95
87
|
isGroupExpandedByDefault: props.isGroupExpandedByDefault,
|
|
96
|
-
groupingName:
|
|
88
|
+
groupingName: TreeDataStrategy.Default,
|
|
97
89
|
onDuplicatePath
|
|
98
90
|
});
|
|
99
91
|
}
|
|
100
|
-
return
|
|
92
|
+
return updateRowTree({
|
|
101
93
|
nodes: {
|
|
102
94
|
inserted: params.updates.actions.insert.map(getRowTreeBuilderNode),
|
|
103
95
|
modified: params.updates.actions.modify.map(getRowTreeBuilderNode),
|
|
@@ -107,12 +99,12 @@ const useGridTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
107
99
|
previousTreeDepth: params.previousTreeDepths,
|
|
108
100
|
defaultGroupingExpansionDepth: props.defaultGroupingExpansionDepth,
|
|
109
101
|
isGroupExpandedByDefault: props.isGroupExpandedByDefault,
|
|
110
|
-
groupingName:
|
|
102
|
+
groupingName: TreeDataStrategy.Default
|
|
111
103
|
});
|
|
112
104
|
}, [props.getTreeDataPath, props.defaultGroupingExpansionDepth, props.isGroupExpandedByDefault]);
|
|
113
105
|
const filterRows = React.useCallback(params => {
|
|
114
|
-
const rowTree =
|
|
115
|
-
return
|
|
106
|
+
const rowTree = gridRowTreeSelector(privateApiRef);
|
|
107
|
+
return filterRowTreeFromTreeData({
|
|
116
108
|
rowTree,
|
|
117
109
|
isRowMatchingFilters: params.isRowMatchingFilters,
|
|
118
110
|
disableChildrenFiltering: props.disableChildrenFiltering,
|
|
@@ -121,24 +113,24 @@ const useGridTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
121
113
|
});
|
|
122
114
|
}, [privateApiRef, props.disableChildrenFiltering]);
|
|
123
115
|
const sortRows = React.useCallback(params => {
|
|
124
|
-
const rowTree =
|
|
125
|
-
return
|
|
116
|
+
const rowTree = gridRowTreeSelector(privateApiRef);
|
|
117
|
+
return sortRowTree({
|
|
126
118
|
rowTree,
|
|
127
119
|
sortRowList: params.sortRowList,
|
|
128
120
|
disableChildrenSorting: props.disableChildrenSorting,
|
|
129
121
|
shouldRenderGroupBelowLeaves: false
|
|
130
122
|
});
|
|
131
123
|
}, [privateApiRef, props.disableChildrenSorting]);
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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);
|
|
137
129
|
|
|
138
130
|
/**
|
|
139
131
|
* 1ST RENDER
|
|
140
132
|
*/
|
|
141
|
-
|
|
133
|
+
useFirstRender(() => {
|
|
142
134
|
setStrategyAvailability();
|
|
143
135
|
});
|
|
144
136
|
|
|
@@ -153,5 +145,4 @@ const useGridTreeDataPreProcessors = (privateApiRef, props) => {
|
|
|
153
145
|
isFirstRender.current = false;
|
|
154
146
|
}
|
|
155
147
|
}, [setStrategyAvailability]);
|
|
156
|
-
};
|
|
157
|
-
exports.useGridTreeDataPreProcessors = useGridTreeDataPreProcessors;
|
|
148
|
+
};
|
package/hooks/index.js
CHANGED
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
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
|
-
});
|
|
1
|
+
export * from "./features/index.js";
|