@mui/x-data-grid-pro 7.29.0 → 7.29.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +131 -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 +20 -28
- package/components/GridColumnHeaderCollapseIcon.js +0 -1
- package/components/GridColumnHeaders.js +39 -46
- package/components/GridColumnMenuPinningItem.js +39 -46
- package/components/GridDataSourceTreeDataGroupingCell.js +30 -38
- package/components/GridDetailPanel.js +14 -18
- package/components/GridDetailPanelToggleCell.js +35 -42
- package/components/GridDetailPanels.js +19 -25
- package/components/GridPinnedRows.js +12 -20
- package/components/GridProColumnMenu.js +11 -19
- package/components/GridRowReorderCell.js +36 -45
- package/components/GridTreeDataGroupingCell.js +37 -44
- package/components/headerFiltering/GridHeaderFilterCell.js +71 -78
- package/components/headerFiltering/GridHeaderFilterClearButton.js +9 -16
- package/components/headerFiltering/GridHeaderFilterMenu.js +36 -43
- package/components/headerFiltering/GridHeaderFilterMenuContainer.js +41 -48
- package/components/headerFiltering/index.js +3 -38
- package/components/index.js +7 -71
- package/components/package.json +2 -2
- package/components/reexports.js +1 -24
- package/constants/dataGridProDefaultSlotsComponents.js +16 -23
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +30 -39
- package/hooks/features/columnPinning/gridColumnPinningInterface.js +1 -5
- package/hooks/features/columnPinning/index.js +1 -16
- package/hooks/features/columnPinning/useGridColumnPinning.js +32 -42
- package/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +10 -19
- package/hooks/features/columnReorder/columnReorderInterfaces.js +1 -5
- package/hooks/features/columnReorder/columnReorderSelector.js +3 -10
- package/hooks/features/columnReorder/index.js +2 -16
- package/hooks/features/columnReorder/useGridColumnReorder.js +25 -35
- package/hooks/features/dataSource/cache.js +3 -11
- package/hooks/features/dataSource/gridDataSourceSelector.js +10 -18
- package/hooks/features/dataSource/interfaces.js +1 -5
- package/hooks/features/dataSource/useGridDataSource.js +34 -44
- package/hooks/features/dataSource/utils.js +9 -17
- package/hooks/features/detailPanel/gridDetailPanelInterface.js +1 -5
- package/hooks/features/detailPanel/gridDetailPanelSelector.js +5 -14
- package/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +14 -27
- package/hooks/features/detailPanel/index.js +3 -53
- package/hooks/features/detailPanel/useGridDetailPanel.js +39 -48
- package/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +18 -27
- package/hooks/features/index.js +9 -99
- package/hooks/features/infiniteLoader/useGridInfiniteLoader.js +18 -27
- package/hooks/features/lazyLoader/useGridLazyLoader.js +14 -22
- package/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +13 -22
- package/hooks/features/rowPinning/gridRowPinningInterface.js +1 -5
- package/hooks/features/rowPinning/gridRowPinningSelector.js +1 -18
- package/hooks/features/rowPinning/index.js +1 -16
- package/hooks/features/rowPinning/useGridRowPinning.js +13 -23
- package/hooks/features/rowPinning/useGridRowPinningPreProcessors.d.ts +1 -1
- package/hooks/features/rowPinning/useGridRowPinningPreProcessors.js +24 -34
- package/hooks/features/rowReorder/gridRowReorderColDef.js +5 -12
- package/hooks/features/rowReorder/index.js +1 -16
- package/hooks/features/rowReorder/useGridRowReorder.js +20 -29
- package/hooks/features/rowReorder/useGridRowReorderPreProcessors.js +12 -21
- package/hooks/features/rows/index.js +1 -16
- package/hooks/features/rows/useGridRowAriaAttributes.js +14 -22
- package/hooks/features/serverSideTreeData/useGridDataSourceTreeDataPreProcessors.js +37 -46
- package/hooks/features/serverSideTreeData/utils.js +6 -13
- package/hooks/features/treeData/gridTreeDataGroupColDef.js +9 -20
- package/hooks/features/treeData/gridTreeDataUtils.js +6 -12
- package/hooks/features/treeData/index.js +1 -12
- package/hooks/features/treeData/useGridTreeData.js +7 -15
- package/hooks/features/treeData/useGridTreeDataPreProcessors.js +37 -46
- package/hooks/index.js +1 -16
- package/hooks/package.json +2 -2
- package/hooks/utils/useGridApiContext.js +2 -8
- package/hooks/utils/useGridApiRef.js +2 -8
- package/hooks/utils/useGridAriaAttributes.js +8 -16
- package/hooks/utils/useGridPrivateApiContext.js +2 -8
- package/hooks/utils/useGridRootProps.js +2 -8
- package/index.js +19 -210
- package/internals/index.js +34 -301
- package/internals/package.json +2 -2
- package/internals/propValidation.js +2 -8
- package/locales/package.json +6 -0
- package/material/icons.js +7 -14
- package/material/index.js +6 -13
- package/material/package.json +2 -2
- package/models/dataGridProProps.js +1 -5
- package/models/gridApiPro.js +1 -5
- package/models/gridFetchRowsParams.js +1 -5
- package/models/gridGroupingColDefOverride.js +1 -5
- package/models/gridProIconSlotsComponent.js +1 -5
- package/models/gridProSlotProps.js +1 -5
- package/models/gridProSlotsComponent.js +1 -5
- package/models/gridRowOrderChangeParams.js +1 -5
- package/models/gridRowScrollEndParams.js +1 -5
- package/models/gridStatePro.js +1 -5
- package/models/index.js +8 -82
- package/models/package.json +2 -2
- package/modern/DataGridPro/useDataGridProProps.js +6 -5
- 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 +62 -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,20 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var _insertDataRowInTree = require("./insertDataRowInTree");
|
|
12
|
-
var _removeDataRowFromTree = require("./removeDataRowFromTree");
|
|
13
|
-
var _utils = require("./utils");
|
|
14
|
-
const updateRowTree = params => {
|
|
15
|
-
const tree = (0, _extends2.default)({}, params.previousTree);
|
|
16
|
-
const treeDepths = (0, _extends2.default)({}, params.previousTreeDepth);
|
|
17
|
-
const updatedGroupsManager = (0, _utils.createUpdatedGroupsManager)();
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { GRID_ROOT_GROUP_ID } from '@mui/x-data-grid';
|
|
3
|
+
import { isDeepEqual, getTreeNodeDescendants } from '@mui/x-data-grid/internals';
|
|
4
|
+
import { insertDataRowInTree } from "./insertDataRowInTree.js";
|
|
5
|
+
import { removeDataRowFromTree } from "./removeDataRowFromTree.js";
|
|
6
|
+
import { createUpdatedGroupsManager, getNodePathInTree } from "./utils.js";
|
|
7
|
+
export const updateRowTree = params => {
|
|
8
|
+
const tree = _extends({}, params.previousTree);
|
|
9
|
+
const treeDepths = _extends({}, params.previousTreeDepth);
|
|
10
|
+
const updatedGroupsManager = createUpdatedGroupsManager();
|
|
18
11
|
const groupsToFetch = params.previousGroupsToFetch ? new Set([...params.previousGroupsToFetch]) : new Set([]);
|
|
19
12
|
for (let i = 0; i < params.nodes.inserted.length; i += 1) {
|
|
20
13
|
const {
|
|
@@ -22,7 +15,7 @@ const updateRowTree = params => {
|
|
|
22
15
|
path,
|
|
23
16
|
serverChildrenCount
|
|
24
17
|
} = params.nodes.inserted[i];
|
|
25
|
-
|
|
18
|
+
insertDataRowInTree({
|
|
26
19
|
previousTree: params.previousTree,
|
|
27
20
|
tree,
|
|
28
21
|
treeDepths,
|
|
@@ -38,7 +31,7 @@ const updateRowTree = params => {
|
|
|
38
31
|
}
|
|
39
32
|
for (let i = 0; i < params.nodes.removed.length; i += 1) {
|
|
40
33
|
const nodeId = params.nodes.removed[i];
|
|
41
|
-
|
|
34
|
+
removeDataRowFromTree({
|
|
42
35
|
tree,
|
|
43
36
|
treeDepths,
|
|
44
37
|
updatedGroupsManager,
|
|
@@ -51,19 +44,19 @@ const updateRowTree = params => {
|
|
|
51
44
|
path,
|
|
52
45
|
serverChildrenCount
|
|
53
46
|
} = params.nodes.modified[i];
|
|
54
|
-
const pathInPreviousTree =
|
|
47
|
+
const pathInPreviousTree = getNodePathInTree({
|
|
55
48
|
tree,
|
|
56
49
|
id
|
|
57
50
|
});
|
|
58
|
-
const isInSameGroup =
|
|
51
|
+
const isInSameGroup = isDeepEqual(pathInPreviousTree, path);
|
|
59
52
|
if (!isInSameGroup) {
|
|
60
|
-
|
|
53
|
+
removeDataRowFromTree({
|
|
61
54
|
tree,
|
|
62
55
|
treeDepths,
|
|
63
56
|
updatedGroupsManager,
|
|
64
57
|
id
|
|
65
58
|
});
|
|
66
|
-
|
|
59
|
+
insertDataRowInTree({
|
|
67
60
|
previousTree: params.previousTree,
|
|
68
61
|
tree,
|
|
69
62
|
treeDepths,
|
|
@@ -82,7 +75,7 @@ const updateRowTree = params => {
|
|
|
82
75
|
}
|
|
83
76
|
|
|
84
77
|
// TODO rows v6: Avoid walking the whole tree, we should be able to generate the new list only using slices.
|
|
85
|
-
const dataRowIds =
|
|
78
|
+
const dataRowIds = getTreeNodeDescendants(tree, GRID_ROOT_GROUP_ID, true);
|
|
86
79
|
return {
|
|
87
80
|
tree,
|
|
88
81
|
treeDepths,
|
|
@@ -91,5 +84,4 @@ const updateRowTree = params => {
|
|
|
91
84
|
updatedGroupsManager,
|
|
92
85
|
groupsToFetch: Array.from(groupsToFetch)
|
|
93
86
|
};
|
|
94
|
-
};
|
|
95
|
-
exports.updateRowTree = updateRowTree;
|
|
87
|
+
};
|
package/utils/tree/utils.js
CHANGED
|
@@ -1,24 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.updateGroupNodeIdAndAutoGenerated = exports.updateGroupDefaultExpansion = exports.removeNodeFromTree = exports.insertNodeInTree = exports.getVisibleRowsLookup = exports.getNodePathInTree = exports.getGroupRowIdFromPath = exports.createUpdatedGroupsManager = exports.checkGroupChildrenExpansion = void 0;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _xDataGrid = require("@mui/x-data-grid");
|
|
10
|
-
const getGroupRowIdFromPath = path => {
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { GRID_ROOT_GROUP_ID } from '@mui/x-data-grid';
|
|
3
|
+
export const getGroupRowIdFromPath = path => {
|
|
11
4
|
const pathStr = path.map(groupingCriteria => `${groupingCriteria.field}/${groupingCriteria.key}`).join('-');
|
|
12
5
|
return `auto-generated-row-${pathStr}`;
|
|
13
6
|
};
|
|
14
|
-
|
|
15
|
-
const getNodePathInTree = ({
|
|
7
|
+
export const getNodePathInTree = ({
|
|
16
8
|
id,
|
|
17
9
|
tree
|
|
18
10
|
}) => {
|
|
19
11
|
const path = [];
|
|
20
12
|
let node = tree[id];
|
|
21
|
-
while (node.id !==
|
|
13
|
+
while (node.id !== GRID_ROOT_GROUP_ID) {
|
|
22
14
|
path.push({
|
|
23
15
|
field: node.type === 'leaf' ? null : node.groupingField,
|
|
24
16
|
key: node.groupingKey
|
|
@@ -28,10 +20,9 @@ const getNodePathInTree = ({
|
|
|
28
20
|
path.reverse();
|
|
29
21
|
return path;
|
|
30
22
|
};
|
|
31
|
-
|
|
32
|
-
const checkGroupChildrenExpansion = (node, defaultGroupingExpansionDepth, isGroupExpandedByDefault) => {
|
|
23
|
+
export const checkGroupChildrenExpansion = (node, defaultGroupingExpansionDepth, isGroupExpandedByDefault) => {
|
|
33
24
|
let childrenExpanded;
|
|
34
|
-
if (node.id ===
|
|
25
|
+
if (node.id === GRID_ROOT_GROUP_ID) {
|
|
35
26
|
childrenExpanded = true;
|
|
36
27
|
} else if (isGroupExpandedByDefault) {
|
|
37
28
|
childrenExpanded = isGroupExpandedByDefault(node);
|
|
@@ -40,8 +31,7 @@ const checkGroupChildrenExpansion = (node, defaultGroupingExpansionDepth, isGrou
|
|
|
40
31
|
}
|
|
41
32
|
return childrenExpanded;
|
|
42
33
|
};
|
|
43
|
-
|
|
44
|
-
const updateGroupDefaultExpansion = (node, defaultGroupingExpansionDepth, isGroupExpandedByDefault) => {
|
|
34
|
+
export const updateGroupDefaultExpansion = (node, defaultGroupingExpansionDepth, isGroupExpandedByDefault) => {
|
|
45
35
|
const childrenExpanded = checkGroupChildrenExpansion(node, defaultGroupingExpansionDepth, isGroupExpandedByDefault);
|
|
46
36
|
node.childrenExpanded = childrenExpanded;
|
|
47
37
|
return node;
|
|
@@ -50,8 +40,7 @@ const updateGroupDefaultExpansion = (node, defaultGroupingExpansionDepth, isGrou
|
|
|
50
40
|
/**
|
|
51
41
|
* Insert a node in the tree
|
|
52
42
|
*/
|
|
53
|
-
|
|
54
|
-
const insertNodeInTree = (node, tree, treeDepths, previousTree) => {
|
|
43
|
+
export const insertNodeInTree = (node, tree, treeDepths, previousTree) => {
|
|
55
44
|
// 1. Insert node in the tree.
|
|
56
45
|
tree[node.id] = node;
|
|
57
46
|
|
|
@@ -88,8 +77,7 @@ const insertNodeInTree = (node, tree, treeDepths, previousTree) => {
|
|
|
88
77
|
/**
|
|
89
78
|
* Removes a node from the tree
|
|
90
79
|
*/
|
|
91
|
-
|
|
92
|
-
const removeNodeFromTree = ({
|
|
80
|
+
export const removeNodeFromTree = ({
|
|
93
81
|
node,
|
|
94
82
|
tree,
|
|
95
83
|
treeDepths
|
|
@@ -111,7 +99,7 @@ const removeNodeFromTree = ({
|
|
|
111
99
|
// For footers,
|
|
112
100
|
// Unregister the node from its parent `footerId` property.
|
|
113
101
|
if (node.type === 'footer') {
|
|
114
|
-
tree[parentNode.id] = (
|
|
102
|
+
tree[parentNode.id] = _extends({}, parentNode, {
|
|
115
103
|
footerId: null
|
|
116
104
|
});
|
|
117
105
|
}
|
|
@@ -125,7 +113,7 @@ const removeNodeFromTree = ({
|
|
|
125
113
|
const children = parentNode.children.filter(childId => childId !== node.id);
|
|
126
114
|
const childrenFromPath = parentNode.childrenFromPath;
|
|
127
115
|
delete childrenFromPath[groupingField][groupingKey.toString()];
|
|
128
|
-
tree[parentNode.id] = (
|
|
116
|
+
tree[parentNode.id] = _extends({}, parentNode, {
|
|
129
117
|
children,
|
|
130
118
|
childrenFromPath
|
|
131
119
|
});
|
|
@@ -135,8 +123,7 @@ const removeNodeFromTree = ({
|
|
|
135
123
|
/**
|
|
136
124
|
* Updates the `id` and `isAutoGenerated` properties of a group node.
|
|
137
125
|
*/
|
|
138
|
-
|
|
139
|
-
const updateGroupNodeIdAndAutoGenerated = ({
|
|
126
|
+
export const updateGroupNodeIdAndAutoGenerated = ({
|
|
140
127
|
node,
|
|
141
128
|
updatedNode,
|
|
142
129
|
previousTree,
|
|
@@ -145,7 +132,7 @@ const updateGroupNodeIdAndAutoGenerated = ({
|
|
|
145
132
|
}) => {
|
|
146
133
|
// 1. Set the new parent for all children from the old group
|
|
147
134
|
node.children.forEach(childId => {
|
|
148
|
-
tree[childId] = (
|
|
135
|
+
tree[childId] = _extends({}, tree[childId], {
|
|
149
136
|
parent: updatedNode.id
|
|
150
137
|
});
|
|
151
138
|
});
|
|
@@ -158,11 +145,10 @@ const updateGroupNodeIdAndAutoGenerated = ({
|
|
|
158
145
|
});
|
|
159
146
|
|
|
160
147
|
// 3. Add the new group in the tree
|
|
161
|
-
const groupNode = (
|
|
148
|
+
const groupNode = _extends({}, node, updatedNode);
|
|
162
149
|
insertNodeInTree(groupNode, tree, treeDepths, previousTree);
|
|
163
150
|
};
|
|
164
|
-
|
|
165
|
-
const createUpdatedGroupsManager = () => ({
|
|
151
|
+
export const createUpdatedGroupsManager = () => ({
|
|
166
152
|
value: {},
|
|
167
153
|
addAction(groupId, action) {
|
|
168
154
|
if (!this.value[groupId]) {
|
|
@@ -171,8 +157,7 @@ const createUpdatedGroupsManager = () => ({
|
|
|
171
157
|
this.value[groupId][action] = true;
|
|
172
158
|
}
|
|
173
159
|
});
|
|
174
|
-
|
|
175
|
-
const getVisibleRowsLookup = ({
|
|
160
|
+
export const getVisibleRowsLookup = ({
|
|
176
161
|
tree,
|
|
177
162
|
filteredRowsLookup
|
|
178
163
|
}) => {
|
|
@@ -203,5 +188,4 @@ const getVisibleRowsLookup = ({
|
|
|
203
188
|
}
|
|
204
189
|
}
|
|
205
190
|
return visibleRowsLookup;
|
|
206
|
-
};
|
|
207
|
-
exports.getVisibleRowsLookup = getVisibleRowsLookup;
|
|
191
|
+
};
|
package/esm/DataGridPro/index.js
DELETED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { useGridInitialization, useGridInitializeState, useGridClipboard, useGridColumnMenu, useGridColumns, columnsStateInitializer, useGridDensity, useGridCsvExport, useGridPrintExport, useGridFilter, filterStateInitializer, useGridFocus, useGridKeyboardNavigation, useGridPagination, paginationStateInitializer, useGridPreferencesPanel, useGridEditing, editingStateInitializer, useGridRows, useGridRowsPreProcessors, rowsStateInitializer, useGridRowsMeta, useGridParamsApi, useGridRowSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, dimensionsStateInitializer, useGridDimensions, useGridStatePersistence, useGridRowSelectionPreProcessors, useGridColumnSpanning, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, rowSelectionStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization, useGridColumnResize, columnResizeStateInitializer, useGridRowSpanning, rowSpanningStateInitializer, useGridListView, listViewStateInitializer, propsStateInitializer } from '@mui/x-data-grid/internals';
|
|
2
|
-
// Pro-only features
|
|
3
|
-
import { useGridInfiniteLoader } from "../hooks/features/infiniteLoader/useGridInfiniteLoader.js";
|
|
4
|
-
import { useGridColumnReorder, columnReorderStateInitializer } from "../hooks/features/columnReorder/useGridColumnReorder.js";
|
|
5
|
-
import { useGridTreeData } from "../hooks/features/treeData/useGridTreeData.js";
|
|
6
|
-
import { useGridTreeDataPreProcessors } from "../hooks/features/treeData/useGridTreeDataPreProcessors.js";
|
|
7
|
-
import { useGridDataSourceTreeDataPreProcessors } from "../hooks/features/serverSideTreeData/useGridDataSourceTreeDataPreProcessors.js";
|
|
8
|
-
import { useGridColumnPinning, columnPinningStateInitializer } from "../hooks/features/columnPinning/useGridColumnPinning.js";
|
|
9
|
-
import { useGridColumnPinningPreProcessors } from "../hooks/features/columnPinning/useGridColumnPinningPreProcessors.js";
|
|
10
|
-
import { useGridDetailPanel, detailPanelStateInitializer } from "../hooks/features/detailPanel/useGridDetailPanel.js";
|
|
11
|
-
import { useGridDetailPanelPreProcessors } from "../hooks/features/detailPanel/useGridDetailPanelPreProcessors.js";
|
|
12
|
-
import { useGridRowReorder } from "../hooks/features/rowReorder/useGridRowReorder.js";
|
|
13
|
-
import { useGridRowReorderPreProcessors } from "../hooks/features/rowReorder/useGridRowReorderPreProcessors.js";
|
|
14
|
-
import { useGridLazyLoader } from "../hooks/features/lazyLoader/useGridLazyLoader.js";
|
|
15
|
-
import { useGridLazyLoaderPreProcessors } from "../hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js";
|
|
16
|
-
import { useGridRowPinning, rowPinningStateInitializer } from "../hooks/features/rowPinning/useGridRowPinning.js";
|
|
17
|
-
import { useGridRowPinningPreProcessors } from "../hooks/features/rowPinning/useGridRowPinningPreProcessors.js";
|
|
18
|
-
import { useGridDataSource, dataSourceStateInitializer } from "../hooks/features/dataSource/useGridDataSource.js";
|
|
19
|
-
export const useDataGridProComponent = (inputApiRef, props) => {
|
|
20
|
-
const apiRef = useGridInitialization(inputApiRef, props);
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Register all pre-processors called during state initialization here.
|
|
24
|
-
*/
|
|
25
|
-
useGridRowSelectionPreProcessors(apiRef, props);
|
|
26
|
-
useGridRowReorderPreProcessors(apiRef, props);
|
|
27
|
-
useGridTreeDataPreProcessors(apiRef, props);
|
|
28
|
-
useGridDataSourceTreeDataPreProcessors(apiRef, props);
|
|
29
|
-
useGridLazyLoaderPreProcessors(apiRef, props);
|
|
30
|
-
useGridRowPinningPreProcessors(apiRef);
|
|
31
|
-
useGridDetailPanelPreProcessors(apiRef, props);
|
|
32
|
-
// The column pinning `hydrateColumns` pre-processor must be after every other `hydrateColumns` pre-processors
|
|
33
|
-
// Because it changes the order of the columns.
|
|
34
|
-
useGridColumnPinningPreProcessors(apiRef, props);
|
|
35
|
-
useGridRowsPreProcessors(apiRef);
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* Register all state initializers here.
|
|
39
|
-
*/
|
|
40
|
-
useGridInitializeState(propsStateInitializer, apiRef, props);
|
|
41
|
-
useGridInitializeState(headerFilteringStateInitializer, apiRef, props);
|
|
42
|
-
useGridInitializeState(rowSelectionStateInitializer, apiRef, props);
|
|
43
|
-
useGridInitializeState(detailPanelStateInitializer, apiRef, props);
|
|
44
|
-
useGridInitializeState(columnPinningStateInitializer, apiRef, props);
|
|
45
|
-
useGridInitializeState(columnsStateInitializer, apiRef, props);
|
|
46
|
-
useGridInitializeState(rowPinningStateInitializer, apiRef, props);
|
|
47
|
-
useGridInitializeState(rowsStateInitializer, apiRef, props);
|
|
48
|
-
useGridInitializeState(paginationStateInitializer, apiRef, props);
|
|
49
|
-
useGridInitializeState(editingStateInitializer, apiRef, props);
|
|
50
|
-
useGridInitializeState(focusStateInitializer, apiRef, props);
|
|
51
|
-
useGridInitializeState(sortingStateInitializer, apiRef, props);
|
|
52
|
-
useGridInitializeState(preferencePanelStateInitializer, apiRef, props);
|
|
53
|
-
useGridInitializeState(filterStateInitializer, apiRef, props);
|
|
54
|
-
useGridInitializeState(rowSpanningStateInitializer, apiRef, props);
|
|
55
|
-
useGridInitializeState(densityStateInitializer, apiRef, props);
|
|
56
|
-
useGridInitializeState(columnReorderStateInitializer, apiRef, props);
|
|
57
|
-
useGridInitializeState(columnResizeStateInitializer, apiRef, props);
|
|
58
|
-
useGridInitializeState(columnMenuStateInitializer, apiRef, props);
|
|
59
|
-
useGridInitializeState(columnGroupsStateInitializer, apiRef, props);
|
|
60
|
-
useGridInitializeState(virtualizationStateInitializer, apiRef, props);
|
|
61
|
-
useGridInitializeState(dataSourceStateInitializer, apiRef, props);
|
|
62
|
-
useGridInitializeState(dimensionsStateInitializer, apiRef, props);
|
|
63
|
-
useGridInitializeState(rowsMetaStateInitializer, apiRef, props);
|
|
64
|
-
useGridInitializeState(listViewStateInitializer, apiRef, props);
|
|
65
|
-
useGridHeaderFiltering(apiRef, props);
|
|
66
|
-
useGridTreeData(apiRef, props);
|
|
67
|
-
useGridKeyboardNavigation(apiRef, props);
|
|
68
|
-
useGridRowSelection(apiRef, props);
|
|
69
|
-
useGridColumnPinning(apiRef, props);
|
|
70
|
-
useGridRowPinning(apiRef, props);
|
|
71
|
-
useGridColumns(apiRef, props);
|
|
72
|
-
useGridRows(apiRef, props);
|
|
73
|
-
useGridRowSpanning(apiRef, props);
|
|
74
|
-
useGridParamsApi(apiRef, props);
|
|
75
|
-
useGridDetailPanel(apiRef, props);
|
|
76
|
-
useGridColumnSpanning(apiRef);
|
|
77
|
-
useGridColumnGrouping(apiRef, props);
|
|
78
|
-
useGridEditing(apiRef, props);
|
|
79
|
-
useGridFocus(apiRef, props);
|
|
80
|
-
useGridPreferencesPanel(apiRef, props);
|
|
81
|
-
useGridFilter(apiRef, props);
|
|
82
|
-
useGridSorting(apiRef, props);
|
|
83
|
-
useGridDensity(apiRef, props);
|
|
84
|
-
useGridColumnReorder(apiRef, props);
|
|
85
|
-
useGridColumnResize(apiRef, props);
|
|
86
|
-
useGridPagination(apiRef, props);
|
|
87
|
-
useGridRowsMeta(apiRef, props);
|
|
88
|
-
useGridRowReorder(apiRef, props);
|
|
89
|
-
useGridScroll(apiRef, props);
|
|
90
|
-
useGridInfiniteLoader(apiRef, props);
|
|
91
|
-
useGridLazyLoader(apiRef, props);
|
|
92
|
-
useGridColumnMenu(apiRef);
|
|
93
|
-
useGridCsvExport(apiRef, props);
|
|
94
|
-
useGridPrintExport(apiRef, props);
|
|
95
|
-
useGridClipboard(apiRef, props);
|
|
96
|
-
useGridDimensions(apiRef, props);
|
|
97
|
-
useGridEvents(apiRef, props);
|
|
98
|
-
useGridStatePersistence(apiRef);
|
|
99
|
-
useGridVirtualization(apiRef, props);
|
|
100
|
-
useGridDataSource(apiRef, props);
|
|
101
|
-
useGridListView(apiRef, props);
|
|
102
|
-
return apiRef;
|
|
103
|
-
};
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import * as React from 'react';
|
|
3
|
-
import { useThemeProps } from '@mui/material/styles';
|
|
4
|
-
import { GRID_DEFAULT_LOCALE_TEXT, DATA_GRID_PROPS_DEFAULT_VALUES } from '@mui/x-data-grid';
|
|
5
|
-
import { computeSlots, useProps, ROW_SELECTION_PROPAGATION_DEFAULT } from '@mui/x-data-grid/internals';
|
|
6
|
-
import { DATA_GRID_PRO_DEFAULT_SLOTS_COMPONENTS } from "../constants/dataGridProDefaultSlotsComponents.js";
|
|
7
|
-
const getDataGridProForcedProps = themedProps => _extends({
|
|
8
|
-
signature: 'DataGridPro'
|
|
9
|
-
}, themedProps.unstable_dataSource ? {
|
|
10
|
-
filterMode: 'server',
|
|
11
|
-
sortingMode: 'server',
|
|
12
|
-
paginationMode: 'server'
|
|
13
|
-
} : {});
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* The default values of `DataGridProPropsWithDefaultValue` to inject in the props of DataGridPro.
|
|
17
|
-
*/
|
|
18
|
-
export const DATA_GRID_PRO_PROPS_DEFAULT_VALUES = _extends({}, DATA_GRID_PROPS_DEFAULT_VALUES, {
|
|
19
|
-
autosizeOnMount: false,
|
|
20
|
-
defaultGroupingExpansionDepth: 0,
|
|
21
|
-
disableAutosize: false,
|
|
22
|
-
disableChildrenFiltering: false,
|
|
23
|
-
disableChildrenSorting: false,
|
|
24
|
-
disableColumnPinning: false,
|
|
25
|
-
getDetailPanelHeight: () => 500,
|
|
26
|
-
headerFilters: false,
|
|
27
|
-
keepColumnPositionIfDraggedOutside: false,
|
|
28
|
-
rowSelectionPropagation: ROW_SELECTION_PROPAGATION_DEFAULT,
|
|
29
|
-
rowReordering: false,
|
|
30
|
-
rowsLoadingMode: 'client',
|
|
31
|
-
scrollEndThreshold: 80,
|
|
32
|
-
treeData: false,
|
|
33
|
-
unstable_listView: false
|
|
34
|
-
});
|
|
35
|
-
const defaultSlots = DATA_GRID_PRO_DEFAULT_SLOTS_COMPONENTS;
|
|
36
|
-
export const useDataGridProProps = inProps => {
|
|
37
|
-
const themedProps = useProps(
|
|
38
|
-
// eslint-disable-next-line material-ui/mui-name-matches-component-name
|
|
39
|
-
useThemeProps({
|
|
40
|
-
props: inProps,
|
|
41
|
-
name: 'MuiDataGrid'
|
|
42
|
-
}));
|
|
43
|
-
const localeText = React.useMemo(() => _extends({}, GRID_DEFAULT_LOCALE_TEXT, themedProps.localeText), [themedProps.localeText]);
|
|
44
|
-
const slots = React.useMemo(() => computeSlots({
|
|
45
|
-
defaultSlots,
|
|
46
|
-
slots: themedProps.slots
|
|
47
|
-
}), [themedProps.slots]);
|
|
48
|
-
return React.useMemo(() => _extends({}, DATA_GRID_PRO_PROPS_DEFAULT_VALUES, themedProps, {
|
|
49
|
-
localeText,
|
|
50
|
-
slots
|
|
51
|
-
}, getDataGridProForcedProps(themedProps)), [themedProps, localeText, slots]);
|
|
52
|
-
};
|
|
File without changes
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["style", "className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "columnHeaderTabIndexState", "columnGroupHeaderTabIndexState", "columnHeaderFocus", "columnGroupHeaderFocus", "headerGroupingMaxDepth", "columnMenuState", "columnVisibility", "columnGroupsHeaderStructure", "hasOtherElementInTabSequence"];
|
|
4
|
-
import * as React from 'react';
|
|
5
|
-
import PropTypes from 'prop-types';
|
|
6
|
-
import { styled } from '@mui/material/styles';
|
|
7
|
-
import { GridBaseColumnHeaders } from '@mui/x-data-grid/internals';
|
|
8
|
-
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
9
|
-
import { useGridColumnHeaders } from "../hooks/features/columnHeaders/useGridColumnHeaders.js";
|
|
10
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
const Filler = styled('div')({
|
|
12
|
-
flex: 1,
|
|
13
|
-
backgroundColor: 'var(--DataGrid-containerBackground)'
|
|
14
|
-
});
|
|
15
|
-
const GridColumnHeaders = forwardRef(function GridColumnHeaders(props, ref) {
|
|
16
|
-
const {
|
|
17
|
-
className,
|
|
18
|
-
visibleColumns,
|
|
19
|
-
sortColumnLookup,
|
|
20
|
-
filterColumnLookup,
|
|
21
|
-
columnHeaderTabIndexState,
|
|
22
|
-
columnGroupHeaderTabIndexState,
|
|
23
|
-
columnHeaderFocus,
|
|
24
|
-
columnGroupHeaderFocus,
|
|
25
|
-
headerGroupingMaxDepth,
|
|
26
|
-
columnMenuState,
|
|
27
|
-
columnVisibility,
|
|
28
|
-
columnGroupsHeaderStructure,
|
|
29
|
-
hasOtherElementInTabSequence
|
|
30
|
-
} = props,
|
|
31
|
-
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
32
|
-
const {
|
|
33
|
-
getInnerProps,
|
|
34
|
-
getColumnHeadersRow,
|
|
35
|
-
getColumnFiltersRow,
|
|
36
|
-
getColumnGroupHeadersRows
|
|
37
|
-
} = useGridColumnHeaders({
|
|
38
|
-
visibleColumns,
|
|
39
|
-
sortColumnLookup,
|
|
40
|
-
filterColumnLookup,
|
|
41
|
-
columnHeaderTabIndexState,
|
|
42
|
-
hasOtherElementInTabSequence,
|
|
43
|
-
columnGroupHeaderTabIndexState,
|
|
44
|
-
columnHeaderFocus,
|
|
45
|
-
columnGroupHeaderFocus,
|
|
46
|
-
headerGroupingMaxDepth,
|
|
47
|
-
columnMenuState,
|
|
48
|
-
columnVisibility,
|
|
49
|
-
columnGroupsHeaderStructure
|
|
50
|
-
});
|
|
51
|
-
return /*#__PURE__*/_jsxs(GridBaseColumnHeaders, _extends({
|
|
52
|
-
className: className
|
|
53
|
-
}, other, getInnerProps(), {
|
|
54
|
-
ref: ref,
|
|
55
|
-
children: [getColumnGroupHeadersRows(), getColumnHeadersRow(), getColumnFiltersRow(), /*#__PURE__*/_jsx(Filler, {})]
|
|
56
|
-
}));
|
|
57
|
-
});
|
|
58
|
-
process.env.NODE_ENV !== "production" ? GridColumnHeaders.propTypes = {
|
|
59
|
-
// ----------------------------- Warning --------------------------------
|
|
60
|
-
// | These PropTypes are generated from the TypeScript type definitions |
|
|
61
|
-
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
62
|
-
// ----------------------------------------------------------------------
|
|
63
|
-
columnGroupHeaderFocus: PropTypes.shape({
|
|
64
|
-
depth: PropTypes.number.isRequired,
|
|
65
|
-
field: PropTypes.string.isRequired
|
|
66
|
-
}),
|
|
67
|
-
columnGroupHeaderTabIndexState: PropTypes.shape({
|
|
68
|
-
depth: PropTypes.number.isRequired,
|
|
69
|
-
field: PropTypes.string.isRequired
|
|
70
|
-
}),
|
|
71
|
-
columnGroupsHeaderStructure: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.shape({
|
|
72
|
-
columnFields: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
73
|
-
groupId: PropTypes.string
|
|
74
|
-
}))).isRequired,
|
|
75
|
-
columnHeaderFocus: PropTypes.shape({
|
|
76
|
-
field: PropTypes.string.isRequired
|
|
77
|
-
}),
|
|
78
|
-
columnHeaderTabIndexState: PropTypes.shape({
|
|
79
|
-
field: PropTypes.string.isRequired
|
|
80
|
-
}),
|
|
81
|
-
columnMenuState: PropTypes.shape({
|
|
82
|
-
field: PropTypes.string,
|
|
83
|
-
open: PropTypes.bool.isRequired
|
|
84
|
-
}).isRequired,
|
|
85
|
-
columnVisibility: PropTypes.object.isRequired,
|
|
86
|
-
filterColumnLookup: PropTypes.object.isRequired,
|
|
87
|
-
hasOtherElementInTabSequence: PropTypes.bool.isRequired,
|
|
88
|
-
headerGroupingMaxDepth: PropTypes.number.isRequired,
|
|
89
|
-
sortColumnLookup: PropTypes.object.isRequired,
|
|
90
|
-
visibleColumns: PropTypes.arrayOf(PropTypes.object).isRequired
|
|
91
|
-
} : void 0;
|
|
92
|
-
export { GridColumnHeaders };
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
import { useRtl } from '@mui/system/RtlProvider';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
|
-
import MenuItem from '@mui/material/MenuItem';
|
|
5
|
-
import ListItemIcon from '@mui/material/ListItemIcon';
|
|
6
|
-
import ListItemText from '@mui/material/ListItemText';
|
|
7
|
-
import { GridPinnedColumnPosition } from '@mui/x-data-grid';
|
|
8
|
-
import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
|
|
9
|
-
import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
|
|
10
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
function GridColumnMenuPinningItem(props) {
|
|
12
|
-
const {
|
|
13
|
-
colDef,
|
|
14
|
-
onClick
|
|
15
|
-
} = props;
|
|
16
|
-
const apiRef = useGridApiContext();
|
|
17
|
-
const rootProps = useGridRootProps();
|
|
18
|
-
const isRtl = useRtl();
|
|
19
|
-
const pinColumn = React.useCallback(side => event => {
|
|
20
|
-
apiRef.current.pinColumn(colDef.field, side);
|
|
21
|
-
onClick(event);
|
|
22
|
-
}, [apiRef, colDef.field, onClick]);
|
|
23
|
-
const unpinColumn = event => {
|
|
24
|
-
apiRef.current.unpinColumn(colDef.field);
|
|
25
|
-
onClick(event);
|
|
26
|
-
};
|
|
27
|
-
const pinToLeftMenuItem = /*#__PURE__*/_jsxs(MenuItem, {
|
|
28
|
-
onClick: pinColumn(GridPinnedColumnPosition.LEFT),
|
|
29
|
-
children: [/*#__PURE__*/_jsx(ListItemIcon, {
|
|
30
|
-
children: /*#__PURE__*/_jsx(rootProps.slots.columnMenuPinLeftIcon, {
|
|
31
|
-
fontSize: "small"
|
|
32
|
-
})
|
|
33
|
-
}), /*#__PURE__*/_jsx(ListItemText, {
|
|
34
|
-
children: apiRef.current.getLocaleText('pinToLeft')
|
|
35
|
-
})]
|
|
36
|
-
});
|
|
37
|
-
const pinToRightMenuItem = /*#__PURE__*/_jsxs(MenuItem, {
|
|
38
|
-
onClick: pinColumn(GridPinnedColumnPosition.RIGHT),
|
|
39
|
-
children: [/*#__PURE__*/_jsx(ListItemIcon, {
|
|
40
|
-
children: /*#__PURE__*/_jsx(rootProps.slots.columnMenuPinRightIcon, {
|
|
41
|
-
fontSize: "small"
|
|
42
|
-
})
|
|
43
|
-
}), /*#__PURE__*/_jsx(ListItemText, {
|
|
44
|
-
children: apiRef.current.getLocaleText('pinToRight')
|
|
45
|
-
})]
|
|
46
|
-
});
|
|
47
|
-
if (!colDef) {
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
const side = apiRef.current.isColumnPinned(colDef.field);
|
|
51
|
-
if (side) {
|
|
52
|
-
const otherSide = side === GridPinnedColumnPosition.RIGHT ? GridPinnedColumnPosition.LEFT : GridPinnedColumnPosition.RIGHT;
|
|
53
|
-
const label = otherSide === GridPinnedColumnPosition.RIGHT ? 'pinToRight' : 'pinToLeft';
|
|
54
|
-
const Icon = side === GridPinnedColumnPosition.RIGHT ? rootProps.slots.columnMenuPinLeftIcon : rootProps.slots.columnMenuPinRightIcon;
|
|
55
|
-
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
56
|
-
children: [/*#__PURE__*/_jsxs(MenuItem, {
|
|
57
|
-
onClick: pinColumn(otherSide),
|
|
58
|
-
children: [/*#__PURE__*/_jsx(ListItemIcon, {
|
|
59
|
-
children: /*#__PURE__*/_jsx(Icon, {
|
|
60
|
-
fontSize: "small"
|
|
61
|
-
})
|
|
62
|
-
}), /*#__PURE__*/_jsx(ListItemText, {
|
|
63
|
-
children: apiRef.current.getLocaleText(label)
|
|
64
|
-
})]
|
|
65
|
-
}), /*#__PURE__*/_jsxs(MenuItem, {
|
|
66
|
-
onClick: unpinColumn,
|
|
67
|
-
children: [/*#__PURE__*/_jsx(ListItemIcon, {}), /*#__PURE__*/_jsx(ListItemText, {
|
|
68
|
-
children: apiRef.current.getLocaleText('unpin')
|
|
69
|
-
})]
|
|
70
|
-
})]
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
if (isRtl) {
|
|
74
|
-
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
75
|
-
children: [pinToRightMenuItem, pinToLeftMenuItem]
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
79
|
-
children: [pinToLeftMenuItem, pinToRightMenuItem]
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
process.env.NODE_ENV !== "production" ? GridColumnMenuPinningItem.propTypes = {
|
|
83
|
-
// ----------------------------- Warning --------------------------------
|
|
84
|
-
// | These PropTypes are generated from the TypeScript type definitions |
|
|
85
|
-
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
86
|
-
// ----------------------------------------------------------------------
|
|
87
|
-
colDef: PropTypes.object.isRequired,
|
|
88
|
-
onClick: PropTypes.func.isRequired
|
|
89
|
-
} : void 0;
|
|
90
|
-
export { GridColumnMenuPinningItem };
|