@mui/x-data-grid-pro 8.0.0-beta.3 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +388 -96
- package/DataGridPro/DataGridPro.js +8 -7
- package/DataGridPro/useDataGridProComponent.d.ts +2 -2
- package/DataGridPro/useDataGridProComponent.js +2 -3
- package/components/GridDetailPanel.js +1 -2
- package/components/headerFiltering/GridHeaderFilterMenu.js +2 -2
- package/esm/DataGridPro/DataGridPro.js +9 -8
- package/esm/DataGridPro/useDataGridProComponent.d.ts +2 -2
- package/esm/DataGridPro/useDataGridProComponent.js +2 -3
- package/esm/components/GridDetailPanel.js +1 -2
- package/esm/components/headerFiltering/GridHeaderFilterMenu.js +2 -2
- package/esm/hooks/features/dataSource/useGridDataSourceBasePro.d.ts +3 -6
- package/esm/hooks/features/dataSource/useGridDataSourceBasePro.js +36 -8
- package/esm/hooks/features/dataSource/utils.d.ts +3 -2
- package/esm/hooks/features/dataSource/utils.js +13 -1
- package/esm/hooks/features/detailPanel/useGridDetailPanel.js +4 -3
- package/esm/hooks/features/lazyLoader/useGridLazyLoader.d.ts +1 -1
- package/esm/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.d.ts +1 -1
- package/esm/hooks/features/rowPinning/useGridRowPinning.d.ts +1 -1
- package/esm/hooks/features/serverSideLazyLoader/useGridDataSourceLazyLoader.js +38 -1
- package/esm/index.js +1 -1
- package/esm/internals/index.d.ts +1 -0
- package/esm/internals/index.js +1 -0
- package/esm/material/icons.d.ts +3 -6
- package/esm/material/icons.js +1 -1
- package/esm/material/index.d.ts +2 -2
- package/esm/models/dataGridProProps.d.ts +3 -3
- package/esm/models/gridProIconSlotsComponent.d.ts +6 -3
- package/esm/package.json +1 -1
- package/hooks/features/dataSource/useGridDataSourceBasePro.d.ts +3 -6
- package/hooks/features/dataSource/useGridDataSourceBasePro.js +34 -6
- package/hooks/features/dataSource/utils.d.ts +3 -2
- package/hooks/features/dataSource/utils.js +15 -2
- package/hooks/features/detailPanel/useGridDetailPanel.js +4 -3
- package/hooks/features/lazyLoader/useGridLazyLoader.d.ts +1 -1
- package/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.d.ts +1 -1
- package/hooks/features/rowPinning/useGridRowPinning.d.ts +1 -1
- package/hooks/features/serverSideLazyLoader/useGridDataSourceLazyLoader.js +37 -0
- package/index.js +1 -1
- package/internals/index.d.ts +1 -0
- package/internals/index.js +15 -7
- package/material/icons.d.ts +3 -6
- package/material/icons.js +3 -3
- package/material/index.d.ts +2 -2
- package/models/dataGridProProps.d.ts +3 -3
- package/models/gridProIconSlotsComponent.d.ts +6 -3
- package/package.json +8 -14
- package/esm/utils/releaseInfo.d.ts +0 -1
- package/esm/utils/releaseInfo.js +0 -13
- package/modern/DataGridPro/DataGrid.d.ts +0 -8
- package/modern/DataGridPro/DataGrid.js +0 -19
- package/modern/DataGridPro/DataGridPro.d.ts +0 -16
- package/modern/DataGridPro/DataGridPro.js +0 -1020
- package/modern/DataGridPro/index.d.ts +0 -3
- package/modern/DataGridPro/index.js +0 -3
- package/modern/DataGridPro/useDataGridProComponent.d.ts +0 -4
- package/modern/DataGridPro/useDataGridProComponent.js +0 -105
- package/modern/DataGridPro/useDataGridProProps.d.ts +0 -7
- package/modern/DataGridPro/useDataGridProProps.js +0 -54
- package/modern/components/GridColumnHeaders.d.ts +0 -5
- package/modern/components/GridColumnHeaders.js +0 -92
- package/modern/components/GridColumnMenuPinningItem.d.ts +0 -7
- package/modern/components/GridColumnMenuPinningItem.js +0 -77
- package/modern/components/GridDataSourceTreeDataGroupingCell.d.ts +0 -12
- package/modern/components/GridDataSourceTreeDataGroupingCell.js +0 -107
- package/modern/components/GridDetailPanel.d.ts +0 -14
- package/modern/components/GridDetailPanel.js +0 -53
- package/modern/components/GridDetailPanelToggleCell.d.ts +0 -7
- package/modern/components/GridDetailPanelToggleCell.js +0 -121
- package/modern/components/GridDetailPanels.d.ts +0 -3
- package/modern/components/GridDetailPanels.js +0 -67
- package/modern/components/GridPinnedRows.d.ts +0 -6
- package/modern/components/GridPinnedRows.js +0 -40
- package/modern/components/GridProColumnMenu.d.ts +0 -24
- package/modern/components/GridProColumnMenu.js +0 -21
- package/modern/components/GridRowReorderCell.d.ts +0 -8
- package/modern/components/GridRowReorderCell.js +0 -140
- package/modern/components/GridTreeDataGroupingCell.d.ts +0 -15
- package/modern/components/GridTreeDataGroupingCell.js +0 -133
- package/modern/components/headerFiltering/GridHeaderFilterCell.d.ts +0 -26
- package/modern/components/headerFiltering/GridHeaderFilterCell.js +0 -362
- package/modern/components/headerFiltering/GridHeaderFilterClearButton.d.ts +0 -6
- package/modern/components/headerFiltering/GridHeaderFilterClearButton.js +0 -17
- package/modern/components/headerFiltering/GridHeaderFilterMenu.d.ts +0 -30
- package/modern/components/headerFiltering/GridHeaderFilterMenu.js +0 -137
- package/modern/components/headerFiltering/GridHeaderFilterMenuContainer.d.ts +0 -17
- package/modern/components/headerFiltering/GridHeaderFilterMenuContainer.js +0 -138
- package/modern/components/headerFiltering/index.d.ts +0 -3
- package/modern/components/headerFiltering/index.js +0 -3
- package/modern/components/index.d.ts +0 -6
- package/modern/components/index.js +0 -7
- package/modern/components/reexports.d.ts +0 -1
- package/modern/components/reexports.js +0 -1
- package/modern/constants/dataGridProDefaultSlotsComponents.d.ts +0 -2
- package/modern/constants/dataGridProDefaultSlotsComponents.js +0 -17
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +0 -12
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +0 -143
- package/modern/hooks/features/columnPinning/gridColumnPinningInterface.d.ts +0 -40
- package/modern/hooks/features/columnPinning/gridColumnPinningInterface.js +0 -1
- package/modern/hooks/features/columnPinning/index.d.ts +0 -1
- package/modern/hooks/features/columnPinning/index.js +0 -1
- package/modern/hooks/features/columnPinning/useGridColumnPinning.d.ts +0 -6
- package/modern/hooks/features/columnPinning/useGridColumnPinning.js +0 -228
- package/modern/hooks/features/columnPinning/useGridColumnPinningPreProcessors.d.ts +0 -4
- package/modern/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +0 -105
- package/modern/hooks/features/columnReorder/columnReorderInterfaces.d.ts +0 -6
- package/modern/hooks/features/columnReorder/columnReorderInterfaces.js +0 -1
- package/modern/hooks/features/columnReorder/columnReorderSelector.d.ts +0 -3
- package/modern/hooks/features/columnReorder/columnReorderSelector.js +0 -3
- package/modern/hooks/features/columnReorder/index.d.ts +0 -2
- package/modern/hooks/features/columnReorder/index.js +0 -2
- package/modern/hooks/features/columnReorder/useGridColumnReorder.d.ts +0 -9
- package/modern/hooks/features/columnReorder/useGridColumnReorder.js +0 -242
- package/modern/hooks/features/dataSource/gridDataSourceSelector.d.ts +0 -7
- package/modern/hooks/features/dataSource/gridDataSourceSelector.js +0 -6
- package/modern/hooks/features/dataSource/models.d.ts +0 -75
- package/modern/hooks/features/dataSource/models.js +0 -1
- package/modern/hooks/features/dataSource/useGridDataSourceBasePro.d.ts +0 -33
- package/modern/hooks/features/dataSource/useGridDataSourceBasePro.js +0 -179
- package/modern/hooks/features/dataSource/useGridDataSourcePro.d.ts +0 -6
- package/modern/hooks/features/dataSource/useGridDataSourcePro.js +0 -35
- package/modern/hooks/features/dataSource/utils.d.ts +0 -29
- package/modern/hooks/features/dataSource/utils.js +0 -82
- package/modern/hooks/features/detailPanel/gridDetailPanelInterface.d.ts +0 -41
- package/modern/hooks/features/detailPanel/gridDetailPanelInterface.js +0 -1
- package/modern/hooks/features/detailPanel/gridDetailPanelSelector.d.ts +0 -14
- package/modern/hooks/features/detailPanel/gridDetailPanelSelector.js +0 -5
- package/modern/hooks/features/detailPanel/gridDetailPanelToggleColDef.d.ts +0 -4
- package/modern/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +0 -34
- package/modern/hooks/features/detailPanel/index.d.ts +0 -3
- package/modern/hooks/features/detailPanel/index.js +0 -3
- package/modern/hooks/features/detailPanel/useGridDetailPanel.d.ts +0 -6
- package/modern/hooks/features/detailPanel/useGridDetailPanel.js +0 -191
- package/modern/hooks/features/detailPanel/useGridDetailPanelPreProcessors.d.ts +0 -4
- package/modern/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +0 -43
- package/modern/hooks/features/index.d.ts +0 -7
- package/modern/hooks/features/index.js +0 -8
- package/modern/hooks/features/infiniteLoader/useGridInfiniteLoader.d.ts +0 -9
- package/modern/hooks/features/infiniteLoader/useGridInfiniteLoader.js +0 -104
- package/modern/hooks/features/lazyLoader/useGridLazyLoader.d.ts +0 -10
- package/modern/hooks/features/lazyLoader/useGridLazyLoader.js +0 -90
- package/modern/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.d.ts +0 -5
- package/modern/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +0 -34
- package/modern/hooks/features/lazyLoader/utils.d.ts +0 -18
- package/modern/hooks/features/lazyLoader/utils.js +0 -34
- package/modern/hooks/features/rowPinning/gridRowPinningInterface.d.ts +0 -17
- package/modern/hooks/features/rowPinning/gridRowPinningInterface.js +0 -1
- package/modern/hooks/features/rowPinning/gridRowPinningSelector.d.ts +0 -1
- package/modern/hooks/features/rowPinning/gridRowPinningSelector.js +0 -1
- package/modern/hooks/features/rowPinning/index.d.ts +0 -1
- package/modern/hooks/features/rowPinning/index.js +0 -1
- package/modern/hooks/features/rowPinning/useGridRowPinning.d.ts +0 -6
- package/modern/hooks/features/rowPinning/useGridRowPinning.js +0 -52
- package/modern/hooks/features/rowPinning/useGridRowPinningPreProcessors.d.ts +0 -38
- package/modern/hooks/features/rowPinning/useGridRowPinningPreProcessors.js +0 -119
- package/modern/hooks/features/rowReorder/gridRowReorderColDef.d.ts +0 -2
- package/modern/hooks/features/rowReorder/gridRowReorderColDef.js +0 -20
- package/modern/hooks/features/rowReorder/index.d.ts +0 -1
- package/modern/hooks/features/rowReorder/index.js +0 -1
- package/modern/hooks/features/rowReorder/useGridRowReorder.d.ts +0 -8
- package/modern/hooks/features/rowReorder/useGridRowReorder.js +0 -141
- package/modern/hooks/features/rowReorder/useGridRowReorderPreProcessors.d.ts +0 -4
- package/modern/hooks/features/rowReorder/useGridRowReorderPreProcessors.js +0 -46
- package/modern/hooks/features/rows/index.d.ts +0 -1
- package/modern/hooks/features/rows/index.js +0 -1
- package/modern/hooks/features/rows/useGridRowAriaAttributes.d.ts +0 -3
- package/modern/hooks/features/rows/useGridRowAriaAttributes.js +0 -37
- package/modern/hooks/features/serverSideLazyLoader/useGridDataSourceLazyLoader.d.ts +0 -10
- package/modern/hooks/features/serverSideLazyLoader/useGridDataSourceLazyLoader.js +0 -325
- package/modern/hooks/features/serverSideTreeData/useGridDataSourceTreeDataPreProcessors.d.ts +0 -4
- package/modern/hooks/features/serverSideTreeData/useGridDataSourceTreeDataPreProcessors.js +0 -148
- package/modern/hooks/features/serverSideTreeData/utils.d.ts +0 -7
- package/modern/hooks/features/serverSideTreeData/utils.js +0 -18
- package/modern/hooks/features/treeData/gridTreeDataGroupColDef.d.ts +0 -8
- package/modern/hooks/features/treeData/gridTreeDataGroupColDef.js +0 -27
- package/modern/hooks/features/treeData/gridTreeDataUtils.d.ts +0 -22
- package/modern/hooks/features/treeData/gridTreeDataUtils.js +0 -95
- package/modern/hooks/features/treeData/index.d.ts +0 -1
- package/modern/hooks/features/treeData/index.js +0 -1
- package/modern/hooks/features/treeData/useGridTreeData.d.ts +0 -4
- package/modern/hooks/features/treeData/useGridTreeData.js +0 -22
- package/modern/hooks/features/treeData/useGridTreeDataPreProcessors.d.ts +0 -4
- package/modern/hooks/features/treeData/useGridTreeDataPreProcessors.js +0 -148
- package/modern/hooks/index.d.ts +0 -1
- package/modern/hooks/index.js +0 -1
- package/modern/hooks/utils/useGridApiContext.d.ts +0 -4
- package/modern/hooks/utils/useGridApiContext.js +0 -2
- package/modern/hooks/utils/useGridApiRef.d.ts +0 -4
- package/modern/hooks/utils/useGridApiRef.js +0 -2
- package/modern/hooks/utils/useGridAriaAttributes.d.ts +0 -2
- package/modern/hooks/utils/useGridAriaAttributes.js +0 -11
- package/modern/hooks/utils/useGridPrivateApiContext.d.ts +0 -2
- package/modern/hooks/utils/useGridPrivateApiContext.js +0 -2
- package/modern/hooks/utils/useGridRootProps.d.ts +0 -2
- package/modern/hooks/utils/useGridRootProps.js +0 -2
- package/modern/index.d.ts +0 -22
- package/modern/index.js +0 -25
- package/modern/internals/index.d.ts +0 -33
- package/modern/internals/index.js +0 -38
- package/modern/internals/propValidation.d.ts +0 -3
- package/modern/internals/propValidation.js +0 -2
- package/modern/locales.d.ts +0 -1
- package/modern/locales.js +0 -1
- package/modern/material/icons.d.ts +0 -6
- package/modern/material/icons.js +0 -17
- package/modern/material/index.d.ts +0 -5
- package/modern/material/index.js +0 -8
- package/modern/models/dataGridProProps.d.ts +0 -222
- package/modern/models/dataGridProProps.js +0 -1
- package/modern/models/gridApiPro.d.ts +0 -11
- package/modern/models/gridApiPro.js +0 -1
- package/modern/models/gridFetchRowsParams.d.ts +0 -22
- package/modern/models/gridFetchRowsParams.js +0 -1
- package/modern/models/gridGroupingColDefOverride.d.ts +0 -30
- package/modern/models/gridGroupingColDefOverride.js +0 -1
- package/modern/models/gridProIconSlotsComponent.d.ts +0 -13
- package/modern/models/gridProIconSlotsComponent.js +0 -1
- package/modern/models/gridProSlotProps.d.ts +0 -8
- package/modern/models/gridProSlotProps.js +0 -1
- package/modern/models/gridProSlotsComponent.d.ts +0 -18
- package/modern/models/gridProSlotsComponent.js +0 -1
- package/modern/models/gridRowOrderChangeParams.d.ts +0 -18
- package/modern/models/gridRowOrderChangeParams.js +0 -1
- package/modern/models/gridRowScrollEndParams.d.ts +0 -18
- package/modern/models/gridRowScrollEndParams.js +0 -1
- package/modern/models/gridStatePro.d.ts +0 -19
- package/modern/models/gridStatePro.js +0 -1
- package/modern/models/index.d.ts +0 -7
- package/modern/models/index.js +0 -7
- package/modern/package.json +0 -1
- package/modern/themeAugmentation/index.d.ts +0 -2
- package/modern/themeAugmentation/index.js +0 -4
- package/modern/themeAugmentation/overrides.d.ts +0 -7
- package/modern/themeAugmentation/overrides.js +0 -1
- package/modern/themeAugmentation/props.d.ts +0 -15
- package/modern/themeAugmentation/props.js +0 -1
- package/modern/typeOverloads/index.d.ts +0 -1
- package/modern/typeOverloads/index.js +0 -1
- package/modern/typeOverloads/modules.d.ts +0 -70
- package/modern/typeOverloads/modules.js +0 -1
- package/modern/typeOverloads/reexports.d.ts +0 -17
- package/modern/typeOverloads/reexports.js +0 -15
- package/modern/utils/index.d.ts +0 -1
- package/modern/utils/index.js +0 -1
- package/modern/utils/releaseInfo.d.ts +0 -1
- package/modern/utils/releaseInfo.js +0 -13
- package/modern/utils/tree/createRowTree.d.ts +0 -17
- package/modern/utils/tree/createRowTree.js +0 -37
- package/modern/utils/tree/index.d.ts +0 -1
- package/modern/utils/tree/index.js +0 -1
- package/modern/utils/tree/insertDataRowInTree.d.ts +0 -69
- package/modern/utils/tree/insertDataRowInTree.js +0 -141
- package/modern/utils/tree/models.d.ts +0 -14
- package/modern/utils/tree/models.js +0 -1
- package/modern/utils/tree/removeDataRowFromTree.d.ts +0 -45
- package/modern/utils/tree/removeDataRowFromTree.js +0 -94
- package/modern/utils/tree/sortRowTree.d.ts +0 -15
- package/modern/utils/tree/sortRowTree.js +0 -114
- package/modern/utils/tree/updateRowTree.d.ts +0 -20
- package/modern/utils/tree/updateRowTree.js +0 -88
- package/modern/utils/tree/utils.d.ts +0 -54
- package/modern/utils/tree/utils.js +0 -197
- package/tsconfig.build.tsbuildinfo +0 -1
- package/utils/releaseInfo.d.ts +0 -1
- package/utils/releaseInfo.js +0 -20
- /package/esm/{locales.d.ts → locales/index.d.ts} +0 -0
- /package/esm/{locales.js → locales/index.js} +0 -0
- /package/{locales.d.ts → locales/index.d.ts} +0 -0
- /package/{locales.js → locales/index.js} +0 -0
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["hideDescendantCount"];
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
import { gridRowTreeSelector, useFirstRender, GRID_CHECKBOX_SELECTION_FIELD } from '@mui/x-data-grid';
|
|
6
|
-
import { GridStrategyGroup, 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) => {
|
|
16
|
-
const setStrategyAvailability = React.useCallback(() => {
|
|
17
|
-
privateApiRef.current.setStrategyAvailability(GridStrategyGroup.RowTree, TreeDataStrategy.DataSource, props.treeData && props.dataSource ? () => true : () => false);
|
|
18
|
-
}, [privateApiRef, props.treeData, props.dataSource]);
|
|
19
|
-
const getGroupingColDef = React.useCallback(() => {
|
|
20
|
-
const groupingColDefProp = props.groupingColDef;
|
|
21
|
-
let colDefOverride;
|
|
22
|
-
if (typeof groupingColDefProp === 'function') {
|
|
23
|
-
const params = {
|
|
24
|
-
groupingName: TreeDataStrategy.DataSource,
|
|
25
|
-
fields: []
|
|
26
|
-
};
|
|
27
|
-
colDefOverride = groupingColDefProp(params);
|
|
28
|
-
} else {
|
|
29
|
-
colDefOverride = groupingColDefProp;
|
|
30
|
-
}
|
|
31
|
-
const _ref = colDefOverride ?? {},
|
|
32
|
-
{
|
|
33
|
-
hideDescendantCount
|
|
34
|
-
} = _ref,
|
|
35
|
-
colDefOverrideProperties = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
36
|
-
const commonProperties = _extends({}, GRID_TREE_DATA_GROUPING_COL_DEF, {
|
|
37
|
-
renderCell: params => /*#__PURE__*/_jsx(GridDataSourceTreeDataGroupingCell, _extends({}, params, {
|
|
38
|
-
hideDescendantCount: hideDescendantCount
|
|
39
|
-
})),
|
|
40
|
-
headerName: privateApiRef.current.getLocaleText('treeDataGroupingHeaderName')
|
|
41
|
-
});
|
|
42
|
-
return _extends({}, commonProperties, colDefOverrideProperties, GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES);
|
|
43
|
-
}, [privateApiRef, props.groupingColDef]);
|
|
44
|
-
const updateGroupingColumn = React.useCallback(columnsState => {
|
|
45
|
-
if (!props.dataSource) {
|
|
46
|
-
return columnsState;
|
|
47
|
-
}
|
|
48
|
-
const groupingColDefField = GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES.field;
|
|
49
|
-
const shouldHaveGroupingColumn = props.treeData;
|
|
50
|
-
const prevGroupingColumn = columnsState.lookup[groupingColDefField];
|
|
51
|
-
if (shouldHaveGroupingColumn) {
|
|
52
|
-
const newGroupingColumn = getGroupingColDef();
|
|
53
|
-
if (prevGroupingColumn) {
|
|
54
|
-
newGroupingColumn.width = prevGroupingColumn.width;
|
|
55
|
-
newGroupingColumn.flex = prevGroupingColumn.flex;
|
|
56
|
-
}
|
|
57
|
-
columnsState.lookup[groupingColDefField] = newGroupingColumn;
|
|
58
|
-
if (prevGroupingColumn == null) {
|
|
59
|
-
const index = columnsState.orderedFields[0] === GRID_CHECKBOX_SELECTION_FIELD ? 1 : 0;
|
|
60
|
-
columnsState.orderedFields = [...columnsState.orderedFields.slice(0, index), groupingColDefField, ...columnsState.orderedFields.slice(index)];
|
|
61
|
-
}
|
|
62
|
-
} else if (!shouldHaveGroupingColumn && prevGroupingColumn) {
|
|
63
|
-
delete columnsState.lookup[groupingColDefField];
|
|
64
|
-
columnsState.orderedFields = columnsState.orderedFields.filter(field => field !== groupingColDefField);
|
|
65
|
-
}
|
|
66
|
-
return columnsState;
|
|
67
|
-
}, [props.treeData, props.dataSource, getGroupingColDef]);
|
|
68
|
-
const createRowTreeForTreeData = React.useCallback(params => {
|
|
69
|
-
const getGroupKey = props.dataSource?.getGroupKey;
|
|
70
|
-
if (!getGroupKey) {
|
|
71
|
-
throw new Error('MUI X: No `getGroupKey` method provided with the dataSource.');
|
|
72
|
-
}
|
|
73
|
-
const getChildrenCount = props.dataSource?.getChildrenCount;
|
|
74
|
-
if (!getChildrenCount) {
|
|
75
|
-
throw new Error('MUI X: No `getChildrenCount` method provided with the dataSource.');
|
|
76
|
-
}
|
|
77
|
-
const parentPath = params.updates.groupKeys ?? [];
|
|
78
|
-
const getRowTreeBuilderNode = rowId => {
|
|
79
|
-
const count = getChildrenCount(params.dataRowIdToModelLookup[rowId]);
|
|
80
|
-
return {
|
|
81
|
-
id: rowId,
|
|
82
|
-
path: [...parentPath, getGroupKey(params.dataRowIdToModelLookup[rowId])].map(key => ({
|
|
83
|
-
key,
|
|
84
|
-
field: null
|
|
85
|
-
})),
|
|
86
|
-
serverChildrenCount: count
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
const onDuplicatePath = (firstId, secondId, path) => {
|
|
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'));
|
|
91
|
-
};
|
|
92
|
-
if (params.updates.type === 'full') {
|
|
93
|
-
return createRowTree({
|
|
94
|
-
previousTree: params.previousTree,
|
|
95
|
-
nodes: params.updates.rows.map(getRowTreeBuilderNode),
|
|
96
|
-
defaultGroupingExpansionDepth: props.defaultGroupingExpansionDepth,
|
|
97
|
-
isGroupExpandedByDefault: props.isGroupExpandedByDefault,
|
|
98
|
-
groupingName: TreeDataStrategy.DataSource,
|
|
99
|
-
onDuplicatePath
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
return updateRowTree({
|
|
103
|
-
nodes: {
|
|
104
|
-
inserted: params.updates.actions.insert.map(getRowTreeBuilderNode),
|
|
105
|
-
modified: params.updates.actions.modify.map(getRowTreeBuilderNode),
|
|
106
|
-
removed: params.updates.actions.remove
|
|
107
|
-
},
|
|
108
|
-
previousTree: params.previousTree,
|
|
109
|
-
previousGroupsToFetch: params.previousGroupsToFetch,
|
|
110
|
-
previousTreeDepth: params.previousTreeDepths,
|
|
111
|
-
defaultGroupingExpansionDepth: props.defaultGroupingExpansionDepth,
|
|
112
|
-
isGroupExpandedByDefault: props.isGroupExpandedByDefault,
|
|
113
|
-
groupingName: TreeDataStrategy.DataSource
|
|
114
|
-
});
|
|
115
|
-
}, [props.dataSource, props.defaultGroupingExpansionDepth, props.isGroupExpandedByDefault]);
|
|
116
|
-
const filterRows = React.useCallback(() => {
|
|
117
|
-
const rowTree = gridRowTreeSelector(privateApiRef);
|
|
118
|
-
return skipFiltering(rowTree);
|
|
119
|
-
}, [privateApiRef]);
|
|
120
|
-
const sortRows = React.useCallback(() => {
|
|
121
|
-
const rowTree = gridRowTreeSelector(privateApiRef);
|
|
122
|
-
return skipSorting(rowTree);
|
|
123
|
-
}, [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);
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* 1ST RENDER
|
|
132
|
-
*/
|
|
133
|
-
useFirstRender(() => {
|
|
134
|
-
setStrategyAvailability();
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* EFFECTS
|
|
139
|
-
*/
|
|
140
|
-
const isFirstRender = React.useRef(true);
|
|
141
|
-
React.useEffect(() => {
|
|
142
|
-
if (!isFirstRender.current) {
|
|
143
|
-
setStrategyAvailability();
|
|
144
|
-
} else {
|
|
145
|
-
isFirstRender.current = false;
|
|
146
|
-
}
|
|
147
|
-
}, [setStrategyAvailability]);
|
|
148
|
-
};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { GridRowId, GridRowTreeConfig } from '@mui/x-data-grid';
|
|
2
|
-
export declare function skipFiltering(rowTree: GridRowTreeConfig): {
|
|
3
|
-
filteredRowsLookup: {};
|
|
4
|
-
filteredChildrenCountLookup: Record<GridRowId, number>;
|
|
5
|
-
filteredDescendantCountLookup: {};
|
|
6
|
-
};
|
|
7
|
-
export declare function skipSorting(rowTree: GridRowTreeConfig): GridRowId[];
|
|
@@ -1,18 +0,0 @@
|
|
|
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) {
|
|
4
|
-
const filteredChildrenCountLookup = {};
|
|
5
|
-
const nodes = Object.values(rowTree);
|
|
6
|
-
for (let i = 0; i < nodes.length; i += 1) {
|
|
7
|
-
const node = nodes[i];
|
|
8
|
-
filteredChildrenCountLookup[node.id] = node.serverChildrenCount ?? 0;
|
|
9
|
-
}
|
|
10
|
-
return {
|
|
11
|
-
filteredRowsLookup: defaultGridFilterLookup.filteredRowsLookup,
|
|
12
|
-
filteredChildrenCountLookup,
|
|
13
|
-
filteredDescendantCountLookup: defaultGridFilterLookup.filteredDescendantCountLookup
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export function skipSorting(rowTree) {
|
|
17
|
-
return getTreeNodeDescendants(rowTree, GRID_ROOT_GROUP_ID, false);
|
|
18
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { GridColDef } from '@mui/x-data-grid';
|
|
2
|
-
import { GRID_TREE_DATA_GROUPING_FIELD } from '@mui/x-data-grid/internals';
|
|
3
|
-
/**
|
|
4
|
-
* TODO: Add sorting and filtering on the value and the filteredDescendantCount
|
|
5
|
-
*/
|
|
6
|
-
export declare const GRID_TREE_DATA_GROUPING_COL_DEF: Omit<GridColDef, 'field' | 'editable'>;
|
|
7
|
-
export { GRID_TREE_DATA_GROUPING_FIELD };
|
|
8
|
-
export declare const GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES: Pick<GridColDef, 'field' | 'editable' | 'groupable'>;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import { GRID_STRING_COL_DEF, gridRowIdSelector, gridRowNodeSelector } from '@mui/x-data-grid';
|
|
3
|
-
import { GRID_TREE_DATA_GROUPING_FIELD } from '@mui/x-data-grid/internals';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* TODO: Add sorting and filtering on the value and the filteredDescendantCount
|
|
7
|
-
*/
|
|
8
|
-
export const GRID_TREE_DATA_GROUPING_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
|
|
9
|
-
type: 'custom',
|
|
10
|
-
sortable: false,
|
|
11
|
-
filterable: false,
|
|
12
|
-
disableColumnMenu: true,
|
|
13
|
-
disableReorder: true,
|
|
14
|
-
align: 'left',
|
|
15
|
-
width: 200,
|
|
16
|
-
valueGetter: (value, row, column, apiRef) => {
|
|
17
|
-
const rowId = gridRowIdSelector(apiRef, row);
|
|
18
|
-
const rowNode = gridRowNodeSelector(apiRef, rowId);
|
|
19
|
-
return rowNode?.type === 'group' || rowNode?.type === 'leaf' ? rowNode.groupingKey : undefined;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
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,
|
|
25
|
-
editable: false,
|
|
26
|
-
groupable: false
|
|
27
|
-
};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { RefObject } from '@mui/x-internals/types';
|
|
2
|
-
import { GridRowTreeConfig, GridFilterState, GridFilterModel } from '@mui/x-data-grid';
|
|
3
|
-
import { GridAggregatedFilterItemApplier } from '@mui/x-data-grid/internals';
|
|
4
|
-
import type { GridPrivateApiPro } from '../../../models/gridApiPro';
|
|
5
|
-
interface FilterRowTreeFromTreeDataParams {
|
|
6
|
-
rowTree: GridRowTreeConfig;
|
|
7
|
-
disableChildrenFiltering: boolean;
|
|
8
|
-
isRowMatchingFilters: GridAggregatedFilterItemApplier | null;
|
|
9
|
-
filterModel: GridFilterModel;
|
|
10
|
-
apiRef: RefObject<GridPrivateApiPro>;
|
|
11
|
-
}
|
|
12
|
-
export declare enum TreeDataStrategy {
|
|
13
|
-
Default = "tree-data",
|
|
14
|
-
DataSource = "tree-data-source",
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* A node is visible if one of the following criteria is met:
|
|
18
|
-
* - One of its children is passing the filter
|
|
19
|
-
* - It is passing the filter
|
|
20
|
-
*/
|
|
21
|
-
export declare const filterRowTreeFromTreeData: (params: FilterRowTreeFromTreeDataParams) => Omit<GridFilterState, "filterModel">;
|
|
22
|
-
export {};
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { passFilterLogic } from '@mui/x-data-grid/internals';
|
|
2
|
-
export let TreeDataStrategy = /*#__PURE__*/function (TreeDataStrategy) {
|
|
3
|
-
TreeDataStrategy["Default"] = "tree-data";
|
|
4
|
-
TreeDataStrategy["DataSource"] = "tree-data-source";
|
|
5
|
-
return TreeDataStrategy;
|
|
6
|
-
}({});
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* A node is visible if one of the following criteria is met:
|
|
10
|
-
* - One of its children is passing the filter
|
|
11
|
-
* - It is passing the filter
|
|
12
|
-
*/
|
|
13
|
-
export const filterRowTreeFromTreeData = params => {
|
|
14
|
-
const {
|
|
15
|
-
apiRef,
|
|
16
|
-
rowTree,
|
|
17
|
-
disableChildrenFiltering,
|
|
18
|
-
isRowMatchingFilters
|
|
19
|
-
} = params;
|
|
20
|
-
const filteredRowsLookup = {};
|
|
21
|
-
const filteredChildrenCountLookup = {};
|
|
22
|
-
const filteredDescendantCountLookup = {};
|
|
23
|
-
const filterCache = {};
|
|
24
|
-
const filterResults = {
|
|
25
|
-
passingFilterItems: null,
|
|
26
|
-
passingQuickFilterValues: null
|
|
27
|
-
};
|
|
28
|
-
const filterTreeNode = (node, isParentMatchingFilters, areAncestorsExpanded) => {
|
|
29
|
-
const shouldSkipFilters = disableChildrenFiltering && node.depth > 0;
|
|
30
|
-
let isMatchingFilters;
|
|
31
|
-
if (shouldSkipFilters) {
|
|
32
|
-
isMatchingFilters = null;
|
|
33
|
-
} else if (!isRowMatchingFilters || node.type === 'footer') {
|
|
34
|
-
isMatchingFilters = true;
|
|
35
|
-
} else {
|
|
36
|
-
const row = apiRef.current.getRow(node.id);
|
|
37
|
-
isRowMatchingFilters(row, undefined, filterResults);
|
|
38
|
-
isMatchingFilters = passFilterLogic([filterResults.passingFilterItems], [filterResults.passingQuickFilterValues], params.filterModel, params.apiRef, filterCache);
|
|
39
|
-
}
|
|
40
|
-
let filteredChildrenCount = 0;
|
|
41
|
-
let filteredDescendantCount = 0;
|
|
42
|
-
if (node.type === 'group') {
|
|
43
|
-
node.children.forEach(childId => {
|
|
44
|
-
const childNode = rowTree[childId];
|
|
45
|
-
const childSubTreeSize = filterTreeNode(childNode, isMatchingFilters ?? isParentMatchingFilters, areAncestorsExpanded && !!node.childrenExpanded);
|
|
46
|
-
filteredDescendantCount += childSubTreeSize;
|
|
47
|
-
if (childSubTreeSize > 0) {
|
|
48
|
-
filteredChildrenCount += 1;
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
let shouldPassFilters;
|
|
53
|
-
switch (isMatchingFilters) {
|
|
54
|
-
case true:
|
|
55
|
-
{
|
|
56
|
-
shouldPassFilters = true;
|
|
57
|
-
break;
|
|
58
|
-
}
|
|
59
|
-
case false:
|
|
60
|
-
{
|
|
61
|
-
shouldPassFilters = filteredDescendantCount > 0;
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
default:
|
|
65
|
-
{
|
|
66
|
-
shouldPassFilters = isParentMatchingFilters;
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (!shouldPassFilters) {
|
|
71
|
-
filteredRowsLookup[node.id] = false;
|
|
72
|
-
}
|
|
73
|
-
if (!shouldPassFilters) {
|
|
74
|
-
return 0;
|
|
75
|
-
}
|
|
76
|
-
filteredChildrenCountLookup[node.id] = filteredChildrenCount;
|
|
77
|
-
filteredDescendantCountLookup[node.id] = filteredDescendantCount;
|
|
78
|
-
if (node.type === 'footer') {
|
|
79
|
-
return filteredDescendantCount;
|
|
80
|
-
}
|
|
81
|
-
return filteredDescendantCount + 1;
|
|
82
|
-
};
|
|
83
|
-
const nodes = Object.values(rowTree);
|
|
84
|
-
for (let i = 0; i < nodes.length; i += 1) {
|
|
85
|
-
const node = nodes[i];
|
|
86
|
-
if (node.depth === 0) {
|
|
87
|
-
filterTreeNode(node, true, true);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
return {
|
|
91
|
-
filteredRowsLookup,
|
|
92
|
-
filteredChildrenCountLookup,
|
|
93
|
-
filteredDescendantCountLookup
|
|
94
|
-
};
|
|
95
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { GRID_TREE_DATA_GROUPING_FIELD } from "./gridTreeDataGroupColDef.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { GRID_TREE_DATA_GROUPING_FIELD } from "./gridTreeDataGroupColDef.js";
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { RefObject } from '@mui/x-internals/types';
|
|
2
|
-
import { GridApiPro } from "../../../models/gridApiPro.js";
|
|
3
|
-
import { DataGridProProcessedProps } from "../../../models/dataGridProProps.js";
|
|
4
|
-
export declare const useGridTreeData: (apiRef: RefObject<GridApiPro>, props: Pick<DataGridProProcessedProps, "dataSource">) => void;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { useGridEvent } from '@mui/x-data-grid';
|
|
3
|
-
import { GRID_TREE_DATA_GROUPING_FIELD } from "./gridTreeDataGroupColDef.js";
|
|
4
|
-
export const useGridTreeData = (apiRef, props) => {
|
|
5
|
-
/**
|
|
6
|
-
* EVENTS
|
|
7
|
-
*/
|
|
8
|
-
const handleCellKeyDown = React.useCallback((params, event) => {
|
|
9
|
-
const cellParams = apiRef.current.getCellParams(params.id, params.field);
|
|
10
|
-
if (cellParams.colDef.field === GRID_TREE_DATA_GROUPING_FIELD && (event.key === ' ' || event.key === 'Enter') && !event.shiftKey) {
|
|
11
|
-
if (params.rowNode.type !== 'group') {
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
if (props.dataSource && !params.rowNode.childrenExpanded) {
|
|
15
|
-
apiRef.current.dataSource.fetchRows(params.id);
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
apiRef.current.setRowChildrenExpansion(params.id, !params.rowNode.childrenExpanded);
|
|
19
|
-
}
|
|
20
|
-
}, [apiRef, props.dataSource]);
|
|
21
|
-
useGridEvent(apiRef, 'cellKeyDown', handleCellKeyDown);
|
|
22
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { RefObject } from '@mui/x-internals/types';
|
|
2
|
-
import { DataGridProProcessedProps } from "../../../models/dataGridProProps.js";
|
|
3
|
-
import { GridPrivateApiPro } from "../../../models/gridApiPro.js";
|
|
4
|
-
export declare const useGridTreeDataPreProcessors: (privateApiRef: RefObject<GridPrivateApiPro>, props: Pick<DataGridProProcessedProps, "treeData" | "groupingColDef" | "getTreeDataPath" | "disableChildrenSorting" | "disableChildrenFiltering" | "defaultGroupingExpansionDepth" | "isGroupExpandedByDefault" | "dataSource">) => void;
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["hideDescendantCount"];
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
import { gridRowTreeSelector, useFirstRender, GRID_CHECKBOX_SELECTION_FIELD } from '@mui/x-data-grid';
|
|
6
|
-
import { GridStrategyGroup, 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) => {
|
|
16
|
-
const setStrategyAvailability = React.useCallback(() => {
|
|
17
|
-
privateApiRef.current.setStrategyAvailability(GridStrategyGroup.RowTree, TreeDataStrategy.Default, props.treeData && !props.dataSource ? () => true : () => false);
|
|
18
|
-
}, [privateApiRef, props.treeData, props.dataSource]);
|
|
19
|
-
const getGroupingColDef = React.useCallback(() => {
|
|
20
|
-
const groupingColDefProp = props.groupingColDef;
|
|
21
|
-
let colDefOverride;
|
|
22
|
-
if (typeof groupingColDefProp === 'function') {
|
|
23
|
-
const params = {
|
|
24
|
-
groupingName: TreeDataStrategy.Default,
|
|
25
|
-
fields: []
|
|
26
|
-
};
|
|
27
|
-
colDefOverride = groupingColDefProp(params);
|
|
28
|
-
} else {
|
|
29
|
-
colDefOverride = groupingColDefProp;
|
|
30
|
-
}
|
|
31
|
-
const _ref = colDefOverride ?? {},
|
|
32
|
-
{
|
|
33
|
-
hideDescendantCount
|
|
34
|
-
} = _ref,
|
|
35
|
-
colDefOverrideProperties = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
36
|
-
const commonProperties = _extends({}, GRID_TREE_DATA_GROUPING_COL_DEF, {
|
|
37
|
-
renderCell: params => /*#__PURE__*/_jsx(GridTreeDataGroupingCell, _extends({}, params, {
|
|
38
|
-
hideDescendantCount: hideDescendantCount
|
|
39
|
-
})),
|
|
40
|
-
headerName: privateApiRef.current.getLocaleText('treeDataGroupingHeaderName')
|
|
41
|
-
});
|
|
42
|
-
return _extends({}, commonProperties, colDefOverrideProperties, GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES);
|
|
43
|
-
}, [privateApiRef, props.groupingColDef]);
|
|
44
|
-
const updateGroupingColumn = React.useCallback(columnsState => {
|
|
45
|
-
if (props.dataSource) {
|
|
46
|
-
return columnsState;
|
|
47
|
-
}
|
|
48
|
-
const groupingColDefField = GRID_TREE_DATA_GROUPING_COL_DEF_FORCED_PROPERTIES.field;
|
|
49
|
-
const shouldHaveGroupingColumn = props.treeData;
|
|
50
|
-
const prevGroupingColumn = columnsState.lookup[groupingColDefField];
|
|
51
|
-
if (shouldHaveGroupingColumn) {
|
|
52
|
-
const newGroupingColumn = getGroupingColDef();
|
|
53
|
-
if (prevGroupingColumn) {
|
|
54
|
-
newGroupingColumn.width = prevGroupingColumn.width;
|
|
55
|
-
newGroupingColumn.flex = prevGroupingColumn.flex;
|
|
56
|
-
}
|
|
57
|
-
columnsState.lookup[groupingColDefField] = newGroupingColumn;
|
|
58
|
-
if (prevGroupingColumn == null) {
|
|
59
|
-
const index = columnsState.orderedFields[0] === GRID_CHECKBOX_SELECTION_FIELD ? 1 : 0;
|
|
60
|
-
columnsState.orderedFields = [...columnsState.orderedFields.slice(0, index), groupingColDefField, ...columnsState.orderedFields.slice(index)];
|
|
61
|
-
}
|
|
62
|
-
} else if (!shouldHaveGroupingColumn && prevGroupingColumn) {
|
|
63
|
-
delete columnsState.lookup[groupingColDefField];
|
|
64
|
-
columnsState.orderedFields = columnsState.orderedFields.filter(field => field !== groupingColDefField);
|
|
65
|
-
}
|
|
66
|
-
return columnsState;
|
|
67
|
-
}, [props.treeData, props.dataSource, getGroupingColDef]);
|
|
68
|
-
const createRowTreeForTreeData = React.useCallback(params => {
|
|
69
|
-
if (!props.getTreeDataPath) {
|
|
70
|
-
throw new Error('MUI X: No getTreeDataPath given.');
|
|
71
|
-
}
|
|
72
|
-
const getRowTreeBuilderNode = rowId => ({
|
|
73
|
-
id: rowId,
|
|
74
|
-
path: props.getTreeDataPath(params.dataRowIdToModelLookup[rowId]).map(key => ({
|
|
75
|
-
key,
|
|
76
|
-
field: null
|
|
77
|
-
}))
|
|
78
|
-
});
|
|
79
|
-
const onDuplicatePath = (firstId, secondId, path) => {
|
|
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'));
|
|
81
|
-
};
|
|
82
|
-
if (params.updates.type === 'full') {
|
|
83
|
-
return createRowTree({
|
|
84
|
-
previousTree: params.previousTree,
|
|
85
|
-
nodes: params.updates.rows.map(getRowTreeBuilderNode),
|
|
86
|
-
defaultGroupingExpansionDepth: props.defaultGroupingExpansionDepth,
|
|
87
|
-
isGroupExpandedByDefault: props.isGroupExpandedByDefault,
|
|
88
|
-
groupingName: TreeDataStrategy.Default,
|
|
89
|
-
onDuplicatePath
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
return updateRowTree({
|
|
93
|
-
nodes: {
|
|
94
|
-
inserted: params.updates.actions.insert.map(getRowTreeBuilderNode),
|
|
95
|
-
modified: params.updates.actions.modify.map(getRowTreeBuilderNode),
|
|
96
|
-
removed: params.updates.actions.remove
|
|
97
|
-
},
|
|
98
|
-
previousTree: params.previousTree,
|
|
99
|
-
previousTreeDepth: params.previousTreeDepths,
|
|
100
|
-
defaultGroupingExpansionDepth: props.defaultGroupingExpansionDepth,
|
|
101
|
-
isGroupExpandedByDefault: props.isGroupExpandedByDefault,
|
|
102
|
-
groupingName: TreeDataStrategy.Default
|
|
103
|
-
});
|
|
104
|
-
}, [props.getTreeDataPath, props.defaultGroupingExpansionDepth, props.isGroupExpandedByDefault]);
|
|
105
|
-
const filterRows = React.useCallback(params => {
|
|
106
|
-
const rowTree = gridRowTreeSelector(privateApiRef);
|
|
107
|
-
return filterRowTreeFromTreeData({
|
|
108
|
-
rowTree,
|
|
109
|
-
isRowMatchingFilters: params.isRowMatchingFilters,
|
|
110
|
-
disableChildrenFiltering: props.disableChildrenFiltering,
|
|
111
|
-
filterModel: params.filterModel,
|
|
112
|
-
apiRef: privateApiRef
|
|
113
|
-
});
|
|
114
|
-
}, [privateApiRef, props.disableChildrenFiltering]);
|
|
115
|
-
const sortRows = React.useCallback(params => {
|
|
116
|
-
const rowTree = gridRowTreeSelector(privateApiRef);
|
|
117
|
-
return sortRowTree({
|
|
118
|
-
rowTree,
|
|
119
|
-
sortRowList: params.sortRowList,
|
|
120
|
-
disableChildrenSorting: props.disableChildrenSorting,
|
|
121
|
-
shouldRenderGroupBelowLeaves: false
|
|
122
|
-
});
|
|
123
|
-
}, [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);
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* 1ST RENDER
|
|
132
|
-
*/
|
|
133
|
-
useFirstRender(() => {
|
|
134
|
-
setStrategyAvailability();
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
* EFFECTS
|
|
139
|
-
*/
|
|
140
|
-
const isFirstRender = React.useRef(true);
|
|
141
|
-
React.useEffect(() => {
|
|
142
|
-
if (!isFirstRender.current) {
|
|
143
|
-
setStrategyAvailability();
|
|
144
|
-
} else {
|
|
145
|
-
isFirstRender.current = false;
|
|
146
|
-
}
|
|
147
|
-
}, [setStrategyAvailability]);
|
|
148
|
-
};
|
package/modern/hooks/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./features/index.js";
|
package/modern/hooks/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./features/index.js";
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import { useGridAriaAttributes as useGridAriaAttributesCommunity } from '@mui/x-data-grid/internals';
|
|
3
|
-
import { useGridRootProps } from "./useGridRootProps.js";
|
|
4
|
-
export const useGridAriaAttributes = () => {
|
|
5
|
-
const ariaAttributesCommunity = useGridAriaAttributesCommunity();
|
|
6
|
-
const rootProps = useGridRootProps();
|
|
7
|
-
const ariaAttributesPro = rootProps.treeData ? {
|
|
8
|
-
role: 'treegrid'
|
|
9
|
-
} : {};
|
|
10
|
-
return _extends({}, ariaAttributesCommunity, ariaAttributesPro);
|
|
11
|
-
};
|
package/modern/index.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import "./typeOverloads/index.js";
|
|
2
|
-
export * from '@mui/x-data-grid/components';
|
|
3
|
-
export * from '@mui/x-data-grid/constants';
|
|
4
|
-
export * from '@mui/x-data-grid/hooks';
|
|
5
|
-
export * from '@mui/x-data-grid/models';
|
|
6
|
-
export * from '@mui/x-data-grid/context';
|
|
7
|
-
export * from '@mui/x-data-grid/utils';
|
|
8
|
-
export * from '@mui/x-data-grid/colDef';
|
|
9
|
-
export type { GridExportFormat, GridExportExtension } from '@mui/x-data-grid';
|
|
10
|
-
export * from "./DataGridPro/index.js";
|
|
11
|
-
export * from "./hooks/index.js";
|
|
12
|
-
export * from "./models/index.js";
|
|
13
|
-
export * from "./components/index.js";
|
|
14
|
-
export * from "./utils/index.js";
|
|
15
|
-
export type { DataGridProProps, GridExperimentalProFeatures } from './models/dataGridProProps';
|
|
16
|
-
export { useGridApiContext, useGridApiRef, useGridRootProps } from "./typeOverloads/reexports.js";
|
|
17
|
-
export type { GridApi, GridInitialState, GridState } from './typeOverloads/reexports';
|
|
18
|
-
export { GridColumnMenu, GRID_COLUMN_MENU_SLOTS, GRID_COLUMN_MENU_SLOT_PROPS } from "./components/reexports.js";
|
|
19
|
-
export { GridColumnHeaders } from "./components/GridColumnHeaders.js";
|
|
20
|
-
export type { GridColumnHeadersProps } from './components/GridColumnHeaders';
|
|
21
|
-
export type { GridGetRowsParamsPro as GridGetRowsParams, GridGetRowsResponsePro as GridGetRowsResponse, GridDataSourcePro as GridDataSource } from './hooks/features/dataSource/models';
|
|
22
|
-
export type { GridDataSourceApiBasePro as GridDataSourceApiBase, GridDataSourceApiPro as GridDataSourceApi, GridDataSourcePrivateApiPro as GridDataSourcePrivateApi } from './hooks/features/dataSource/models';
|
package/modern/index.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @mui/x-data-grid-pro v8.0.0-beta.3
|
|
3
|
-
*
|
|
4
|
-
* @license MUI X Commercial
|
|
5
|
-
* This source code is licensed under the commercial license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
import "./typeOverloads/index.js";
|
|
9
|
-
export * from '@mui/x-data-grid/components';
|
|
10
|
-
export * from '@mui/x-data-grid/constants';
|
|
11
|
-
export * from '@mui/x-data-grid/hooks';
|
|
12
|
-
export * from '@mui/x-data-grid/models';
|
|
13
|
-
export * from '@mui/x-data-grid/context';
|
|
14
|
-
export * from '@mui/x-data-grid/utils';
|
|
15
|
-
export * from '@mui/x-data-grid/colDef';
|
|
16
|
-
export * from "./DataGridPro/index.js";
|
|
17
|
-
export * from "./hooks/index.js";
|
|
18
|
-
export * from "./models/index.js";
|
|
19
|
-
export * from "./components/index.js";
|
|
20
|
-
export * from "./utils/index.js";
|
|
21
|
-
export { useGridApiContext, useGridApiRef, useGridRootProps } from "./typeOverloads/reexports.js";
|
|
22
|
-
export { GridColumnMenu, GRID_COLUMN_MENU_SLOTS, GRID_COLUMN_MENU_SLOT_PROPS } from "./components/reexports.js";
|
|
23
|
-
export { GridColumnHeaders } from "./components/GridColumnHeaders.js";
|
|
24
|
-
|
|
25
|
-
// Reexportable exports
|