@mui/x-data-grid-premium 7.29.5 → 7.29.7
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 +66 -0
- package/DataGridPremium/useDataGridPremiumComponent.js +9 -5
- package/esm/DataGridPremium/useDataGridPremiumComponent.js +9 -5
- package/esm/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +2 -4
- package/esm/utils/releaseInfo.js +1 -1
- package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +1 -3
- package/index.js +1 -1
- package/modern/DataGridPremium/useDataGridPremiumComponent.js +9 -5
- package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +2 -4
- package/modern/index.js +1 -1
- package/modern/utils/releaseInfo.js +1 -1
- package/package.json +4 -4
- package/utils/releaseInfo.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,72 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## v7.29.7
|
|
7
|
+
|
|
8
|
+
<!-- generated comparing v7.29.6..v7.x -->
|
|
9
|
+
|
|
10
|
+
_Jun 26, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to extend a big thank you to the 4 contributors who made this release possible.
|
|
13
|
+
|
|
14
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
15
|
+
@alisasanib
|
|
16
|
+
|
|
17
|
+
Following are all team members who have contributed to this release:
|
|
18
|
+
@mapache-salvaje, @arminmeh, @michelengelen
|
|
19
|
+
|
|
20
|
+
### Data Grid
|
|
21
|
+
|
|
22
|
+
#### `@mui/x-data-grid@7.29.7`
|
|
23
|
+
|
|
24
|
+
Internal changes.
|
|
25
|
+
|
|
26
|
+
#### `@mui/x-data-grid-pro@7.29.7` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
27
|
+
|
|
28
|
+
Same changes as in `@mui/x-data-grid@7.29.7`, plus:
|
|
29
|
+
|
|
30
|
+
- [DataGridPro] Fix pinned columns order in column management (#18053) @alisasanib
|
|
31
|
+
|
|
32
|
+
#### `@mui/x-data-grid-premium@7.29.7` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
33
|
+
|
|
34
|
+
Same changes as in `@mui/x-data-grid-pro@7.29.7`.
|
|
35
|
+
|
|
36
|
+
### Docs
|
|
37
|
+
|
|
38
|
+
- [docs] Revise the Row Grouping doc (#17494) @mapache-salvaje
|
|
39
|
+
- [docs] Document `GridRenderContext` (#18501) @arminmeh
|
|
40
|
+
- [docs] Prevent stale rows from appearing on sort and filter change in the lazy loading demo (#18463) @arminmeh
|
|
41
|
+
|
|
42
|
+
### Miscellaneous
|
|
43
|
+
|
|
44
|
+
- [infra] Add automated release PR creation script (#18450) @michelengelen
|
|
45
|
+
|
|
46
|
+
## 7.29.6
|
|
47
|
+
|
|
48
|
+
_Jun 6, 2025_
|
|
49
|
+
|
|
50
|
+
We'd like to extend a big thank you to @arminmeh, who made this release possible.
|
|
51
|
+
|
|
52
|
+
<!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
|
|
53
|
+
|
|
54
|
+
### Data Grid
|
|
55
|
+
|
|
56
|
+
#### `@mui/x-data-grid@7.29.6`
|
|
57
|
+
|
|
58
|
+
- [DataGrid] Keep pipe pre-processors execution order when callback reference changes (#18217) @arminmeh
|
|
59
|
+
|
|
60
|
+
#### `@mui/x-data-grid-pro@7.29.6` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
61
|
+
|
|
62
|
+
Same changes as in `@mui/x-data-grid@7.29.6`.
|
|
63
|
+
|
|
64
|
+
#### `@mui/x-data-grid-premium@7.29.6` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
65
|
+
|
|
66
|
+
Same changes as in `@mui/x-data-grid-pro@7.29.6`.
|
|
67
|
+
|
|
68
|
+
### Docs
|
|
69
|
+
|
|
70
|
+
- [docs] Keep `groupingColDef` reference stable in the grid demos (#17549) @arminmeh
|
|
71
|
+
|
|
6
72
|
## 7.29.5
|
|
7
73
|
|
|
8
74
|
_May 29, 2025_
|
|
@@ -20,19 +20,23 @@ const useDataGridPremiumComponent = (inputApiRef, props) => {
|
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Register all pre-processors called during state initialization here.
|
|
23
|
+
* Some pre-processors are changing the same part of the state (like the order of the columns).
|
|
24
|
+
* Order them in descending order of priority.
|
|
25
|
+
* For example, left pinned columns should always render first from the left, so the `hydrateColumns` pre-processor from `useGridColumnPinningPreProcessors` should be called last (after all other `hydrateColumns` pre-processors).
|
|
26
|
+
* Similarly, the `hydrateColumns` pre-processor from `useGridRowSelectionPreProcessors` should be called after `useGridRowGroupingPreProcessors` because the selection checkboxes should appear before the grouping columns.
|
|
27
|
+
* Desired autogenerated columns order is:
|
|
28
|
+
* left pinned columns -> row reordering column -> checkbox column -> tree data / row grouping column -> master detail column -> rest of the columns
|
|
23
29
|
*/
|
|
24
|
-
(0, _internals.
|
|
25
|
-
(0, _internals.useGridRowReorderPreProcessors)(apiRef, props);
|
|
30
|
+
(0, _internals.useGridDetailPanelPreProcessors)(apiRef, props);
|
|
26
31
|
(0, _useGridRowGroupingPreProcessors.useGridRowGroupingPreProcessors)(apiRef, props);
|
|
27
32
|
(0, _useGridDataSourceRowGroupingPreProcessors.useGridDataSourceRowGroupingPreProcessors)(apiRef, props);
|
|
28
33
|
(0, _internals.useGridTreeDataPreProcessors)(apiRef, props);
|
|
29
34
|
(0, _internals.useGridDataSourceTreeDataPreProcessors)(apiRef, props);
|
|
35
|
+
(0, _internals.useGridRowSelectionPreProcessors)(apiRef, props);
|
|
30
36
|
(0, _internals.useGridLazyLoaderPreProcessors)(apiRef, props);
|
|
31
37
|
(0, _internals.useGridRowPinningPreProcessors)(apiRef);
|
|
32
38
|
(0, _useGridAggregationPreProcessors.useGridAggregationPreProcessors)(apiRef, props);
|
|
33
|
-
(0, _internals.
|
|
34
|
-
// The column pinning `hydrateColumns` pre-processor must be after every other `hydrateColumns` pre-processors
|
|
35
|
-
// Because it changes the order of the columns.
|
|
39
|
+
(0, _internals.useGridRowReorderPreProcessors)(apiRef, props);
|
|
36
40
|
(0, _internals.useGridColumnPinningPreProcessors)(apiRef, props);
|
|
37
41
|
(0, _internals.useGridRowsPreProcessors)(apiRef);
|
|
38
42
|
|
|
@@ -13,19 +13,23 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
|
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Register all pre-processors called during state initialization here.
|
|
16
|
+
* Some pre-processors are changing the same part of the state (like the order of the columns).
|
|
17
|
+
* Order them in descending order of priority.
|
|
18
|
+
* For example, left pinned columns should always render first from the left, so the `hydrateColumns` pre-processor from `useGridColumnPinningPreProcessors` should be called last (after all other `hydrateColumns` pre-processors).
|
|
19
|
+
* Similarly, the `hydrateColumns` pre-processor from `useGridRowSelectionPreProcessors` should be called after `useGridRowGroupingPreProcessors` because the selection checkboxes should appear before the grouping columns.
|
|
20
|
+
* Desired autogenerated columns order is:
|
|
21
|
+
* left pinned columns -> row reordering column -> checkbox column -> tree data / row grouping column -> master detail column -> rest of the columns
|
|
16
22
|
*/
|
|
17
|
-
|
|
18
|
-
useGridRowReorderPreProcessors(apiRef, props);
|
|
23
|
+
useGridDetailPanelPreProcessors(apiRef, props);
|
|
19
24
|
useGridRowGroupingPreProcessors(apiRef, props);
|
|
20
25
|
useGridDataSourceRowGroupingPreProcessors(apiRef, props);
|
|
21
26
|
useGridTreeDataPreProcessors(apiRef, props);
|
|
22
27
|
useGridDataSourceTreeDataPreProcessors(apiRef, props);
|
|
28
|
+
useGridRowSelectionPreProcessors(apiRef, props);
|
|
23
29
|
useGridLazyLoaderPreProcessors(apiRef, props);
|
|
24
30
|
useGridRowPinningPreProcessors(apiRef);
|
|
25
31
|
useGridAggregationPreProcessors(apiRef, props);
|
|
26
|
-
|
|
27
|
-
// The column pinning `hydrateColumns` pre-processor must be after every other `hydrateColumns` pre-processors
|
|
28
|
-
// Because it changes the order of the columns.
|
|
32
|
+
useGridRowReorderPreProcessors(apiRef, props);
|
|
29
33
|
useGridColumnPinningPreProcessors(apiRef, props);
|
|
30
34
|
useGridRowsPreProcessors(apiRef);
|
|
31
35
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { gridColumnLookupSelector, gridRowTreeSelector, useFirstRender
|
|
2
|
+
import { gridColumnLookupSelector, gridRowTreeSelector, useFirstRender } from '@mui/x-data-grid-pro';
|
|
3
3
|
import { useGridRegisterPipeProcessor, useGridRegisterStrategyProcessor, sortRowTree, createRowTree, updateRowTree, getVisibleRowsLookup } from '@mui/x-data-grid-pro/internals';
|
|
4
4
|
import { gridRowGroupingModelSelector, gridRowGroupingSanitizedModelSelector } from "./gridRowGroupingSelector.js";
|
|
5
5
|
import { createGroupingColDefForAllGroupingCriteria, createGroupingColDefForOneGroupingCriteria } from "./createGroupingColDef.js";
|
|
@@ -66,9 +66,7 @@ export const useGridRowGroupingPreProcessors = (apiRef, props) => {
|
|
|
66
66
|
}
|
|
67
67
|
newColumnsLookup[groupingColDef.field] = groupingColDef;
|
|
68
68
|
});
|
|
69
|
-
|
|
70
|
-
const checkBoxColumn = checkBoxFieldIndex !== -1 ? newColumnFields.splice(checkBoxFieldIndex, 1) : [];
|
|
71
|
-
newColumnFields = [...checkBoxColumn, ...groupingColDefs.map(colDef => colDef.field), ...newColumnFields];
|
|
69
|
+
newColumnFields = [...groupingColDefs.map(colDef => colDef.field), ...newColumnFields];
|
|
72
70
|
columnsState.orderedFields = newColumnFields;
|
|
73
71
|
columnsState.lookup = newColumnsLookup;
|
|
74
72
|
return columnsState;
|
package/esm/utils/releaseInfo.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ponyfillGlobal } from '@mui/utils';
|
|
2
2
|
export const getReleaseInfo = () => {
|
|
3
|
-
const releaseInfo = "
|
|
3
|
+
const releaseInfo = "MTc1MDg4ODgwMDAwMA==";
|
|
4
4
|
if (process.env.NODE_ENV !== 'production') {
|
|
5
5
|
// A simple hack to set the value in the test environment (has no build step).
|
|
6
6
|
// eslint-disable-next-line no-useless-concat
|
|
@@ -73,9 +73,7 @@ const useGridRowGroupingPreProcessors = (apiRef, props) => {
|
|
|
73
73
|
}
|
|
74
74
|
newColumnsLookup[groupingColDef.field] = groupingColDef;
|
|
75
75
|
});
|
|
76
|
-
|
|
77
|
-
const checkBoxColumn = checkBoxFieldIndex !== -1 ? newColumnFields.splice(checkBoxFieldIndex, 1) : [];
|
|
78
|
-
newColumnFields = [...checkBoxColumn, ...groupingColDefs.map(colDef => colDef.field), ...newColumnFields];
|
|
76
|
+
newColumnFields = [...groupingColDefs.map(colDef => colDef.field), ...newColumnFields];
|
|
79
77
|
columnsState.orderedFields = newColumnFields;
|
|
80
78
|
columnsState.lookup = newColumnsLookup;
|
|
81
79
|
return columnsState;
|
package/index.js
CHANGED
|
@@ -13,19 +13,23 @@ export const useDataGridPremiumComponent = (inputApiRef, props) => {
|
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Register all pre-processors called during state initialization here.
|
|
16
|
+
* Some pre-processors are changing the same part of the state (like the order of the columns).
|
|
17
|
+
* Order them in descending order of priority.
|
|
18
|
+
* For example, left pinned columns should always render first from the left, so the `hydrateColumns` pre-processor from `useGridColumnPinningPreProcessors` should be called last (after all other `hydrateColumns` pre-processors).
|
|
19
|
+
* Similarly, the `hydrateColumns` pre-processor from `useGridRowSelectionPreProcessors` should be called after `useGridRowGroupingPreProcessors` because the selection checkboxes should appear before the grouping columns.
|
|
20
|
+
* Desired autogenerated columns order is:
|
|
21
|
+
* left pinned columns -> row reordering column -> checkbox column -> tree data / row grouping column -> master detail column -> rest of the columns
|
|
16
22
|
*/
|
|
17
|
-
|
|
18
|
-
useGridRowReorderPreProcessors(apiRef, props);
|
|
23
|
+
useGridDetailPanelPreProcessors(apiRef, props);
|
|
19
24
|
useGridRowGroupingPreProcessors(apiRef, props);
|
|
20
25
|
useGridDataSourceRowGroupingPreProcessors(apiRef, props);
|
|
21
26
|
useGridTreeDataPreProcessors(apiRef, props);
|
|
22
27
|
useGridDataSourceTreeDataPreProcessors(apiRef, props);
|
|
28
|
+
useGridRowSelectionPreProcessors(apiRef, props);
|
|
23
29
|
useGridLazyLoaderPreProcessors(apiRef, props);
|
|
24
30
|
useGridRowPinningPreProcessors(apiRef);
|
|
25
31
|
useGridAggregationPreProcessors(apiRef, props);
|
|
26
|
-
|
|
27
|
-
// The column pinning `hydrateColumns` pre-processor must be after every other `hydrateColumns` pre-processors
|
|
28
|
-
// Because it changes the order of the columns.
|
|
32
|
+
useGridRowReorderPreProcessors(apiRef, props);
|
|
29
33
|
useGridColumnPinningPreProcessors(apiRef, props);
|
|
30
34
|
useGridRowsPreProcessors(apiRef);
|
|
31
35
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { gridColumnLookupSelector, gridRowTreeSelector, useFirstRender
|
|
2
|
+
import { gridColumnLookupSelector, gridRowTreeSelector, useFirstRender } from '@mui/x-data-grid-pro';
|
|
3
3
|
import { useGridRegisterPipeProcessor, useGridRegisterStrategyProcessor, sortRowTree, createRowTree, updateRowTree, getVisibleRowsLookup } from '@mui/x-data-grid-pro/internals';
|
|
4
4
|
import { gridRowGroupingModelSelector, gridRowGroupingSanitizedModelSelector } from "./gridRowGroupingSelector.js";
|
|
5
5
|
import { createGroupingColDefForAllGroupingCriteria, createGroupingColDefForOneGroupingCriteria } from "./createGroupingColDef.js";
|
|
@@ -66,9 +66,7 @@ export const useGridRowGroupingPreProcessors = (apiRef, props) => {
|
|
|
66
66
|
}
|
|
67
67
|
newColumnsLookup[groupingColDef.field] = groupingColDef;
|
|
68
68
|
});
|
|
69
|
-
|
|
70
|
-
const checkBoxColumn = checkBoxFieldIndex !== -1 ? newColumnFields.splice(checkBoxFieldIndex, 1) : [];
|
|
71
|
-
newColumnFields = [...checkBoxColumn, ...groupingColDefs.map(colDef => colDef.field), ...newColumnFields];
|
|
69
|
+
newColumnFields = [...groupingColDefs.map(colDef => colDef.field), ...newColumnFields];
|
|
72
70
|
columnsState.orderedFields = newColumnFields;
|
|
73
71
|
columnsState.lookup = newColumnsLookup;
|
|
74
72
|
return columnsState;
|
package/modern/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ponyfillGlobal } from '@mui/utils';
|
|
2
2
|
export const getReleaseInfo = () => {
|
|
3
|
-
const releaseInfo = "
|
|
3
|
+
const releaseInfo = "MTc1MDg4ODgwMDAwMA==";
|
|
4
4
|
if (process.env.NODE_ENV !== 'production') {
|
|
5
5
|
// A simple hack to set the value in the test environment (has no build step).
|
|
6
6
|
// eslint-disable-next-line no-useless-concat
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-data-grid-premium",
|
|
3
|
-
"version": "7.29.
|
|
3
|
+
"version": "7.29.7",
|
|
4
4
|
"description": "The Premium plan edition of the Data Grid Components (MUI X).",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -40,10 +40,10 @@
|
|
|
40
40
|
"exceljs": "^4.4.0",
|
|
41
41
|
"prop-types": "^15.8.1",
|
|
42
42
|
"reselect": "^5.1.1",
|
|
43
|
-
"@mui/x-data-grid": "7.29.
|
|
43
|
+
"@mui/x-data-grid": "7.29.7",
|
|
44
|
+
"@mui/x-data-grid-pro": "7.29.7",
|
|
44
45
|
"@mui/x-internals": "7.29.0",
|
|
45
|
-
"@mui/x-license": "7.29.1"
|
|
46
|
-
"@mui/x-data-grid-pro": "7.29.5"
|
|
46
|
+
"@mui/x-license": "7.29.1"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
49
|
"@emotion/react": "^11.9.0",
|
package/utils/releaseInfo.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getReleaseInfo = void 0;
|
|
7
7
|
var _utils = require("@mui/utils");
|
|
8
8
|
const getReleaseInfo = () => {
|
|
9
|
-
const releaseInfo = "
|
|
9
|
+
const releaseInfo = "MTc1MDg4ODgwMDAwMA==";
|
|
10
10
|
if (process.env.NODE_ENV !== 'production') {
|
|
11
11
|
// A simple hack to set the value in the test environment (has no build step).
|
|
12
12
|
// eslint-disable-next-line no-useless-concat
|