@mui/x-data-grid-pro 7.26.0 → 7.27.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +115 -0
- package/DataGridPro/DataGridPro.js +8 -0
- package/DataGridPro/useDataGridProComponent.js +2 -1
- package/esm/DataGridPro/DataGridPro.js +8 -0
- package/esm/DataGridPro/useDataGridProComponent.js +3 -2
- package/esm/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +2 -2
- package/esm/hooks/features/infiniteLoader/useGridInfiniteLoader.js +2 -2
- package/esm/hooks/features/treeData/gridTreeDataGroupColDef.js +3 -3
- package/esm/utils/releaseInfo.js +1 -1
- package/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +1 -1
- package/hooks/features/infiniteLoader/useGridInfiniteLoader.js +2 -2
- package/hooks/features/treeData/gridTreeDataGroupColDef.js +2 -2
- package/index.js +1 -1
- package/modern/DataGridPro/DataGridPro.js +8 -0
- package/modern/DataGridPro/useDataGridProComponent.js +3 -2
- package/modern/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +2 -2
- package/modern/hooks/features/infiniteLoader/useGridInfiniteLoader.js +2 -2
- package/modern/hooks/features/treeData/gridTreeDataGroupColDef.js +3 -3
- package/modern/index.js +1 -1
- package/modern/utils/releaseInfo.js +1 -1
- package/package.json +2 -2
- package/utils/releaseInfo.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,121 @@
|
|
|
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
|
+
## 7.27.1
|
|
7
|
+
|
|
8
|
+
_Feb 25, 2025_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 5 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- 🐞 Bugfixes
|
|
13
|
+
- 🌍 Add Bangla (bn-BD) locale on the Data Grid and Date Pickers
|
|
14
|
+
|
|
15
|
+
Special thanks go out to the community contributors who have helped make this release possible:
|
|
16
|
+
@nusr, @officialkidmax.
|
|
17
|
+
Following are all team members who have contributed to this release:
|
|
18
|
+
@bernardobelchior, @MBilalShafi, @KenanYusuf.
|
|
19
|
+
|
|
20
|
+
<!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
|
|
21
|
+
|
|
22
|
+
### Data Grid
|
|
23
|
+
|
|
24
|
+
#### `@mui/x-data-grid@7.27.1`
|
|
25
|
+
|
|
26
|
+
- [DataGrid] Fix the pagination unexpected behavior when using -1 for "All" rows per page (#16485) @nusr
|
|
27
|
+
- [DataGrid] Extract `getRowId()` API method as a selector (#16574) @MBilalShafi
|
|
28
|
+
- [DataGrid] Fix scrollbars overlapping cells on mount (#16653) @KenanYusuf
|
|
29
|
+
- [l10n] Add Bangla (bn-BD) locale (#16649) @officialkidmax
|
|
30
|
+
|
|
31
|
+
#### `@mui/x-data-grid-pro@7.27.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
32
|
+
|
|
33
|
+
Same changes as in `@mui/x-data-grid@7.27.1`.
|
|
34
|
+
|
|
35
|
+
#### `@mui/x-data-grid-premium@7.27.1` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
36
|
+
|
|
37
|
+
Same changes as in `@mui/x-data-grid-pro@7.27.1`.
|
|
38
|
+
|
|
39
|
+
### Date and Time Pickers
|
|
40
|
+
|
|
41
|
+
#### `@mui/x-date-pickers@7.27.1`
|
|
42
|
+
|
|
43
|
+
- [l10n] Add Bangla (bn-BD) locale (#16649) @officialkidmax
|
|
44
|
+
|
|
45
|
+
#### `@mui/x-date-pickers-pro@7.27.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
46
|
+
|
|
47
|
+
Same changes as in `@mui/x-date-pickers@7.27.1`.
|
|
48
|
+
|
|
49
|
+
### Charts
|
|
50
|
+
|
|
51
|
+
#### `@mui/x-charts@7.27.1`
|
|
52
|
+
|
|
53
|
+
- [charts] Fix empty series array in pie chart (#16657) @bernardobelchior
|
|
54
|
+
|
|
55
|
+
#### `@mui/x-charts-pro@7.27.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
56
|
+
|
|
57
|
+
Same changes as in `@mui/x-charts@7.27.1`.
|
|
58
|
+
|
|
59
|
+
## 7.27.0
|
|
60
|
+
|
|
61
|
+
_Feb 17, 2025_
|
|
62
|
+
|
|
63
|
+
We'd like to offer a big thanks to the 7 contributors who made this release possible. Here are some highlights ✨:
|
|
64
|
+
|
|
65
|
+
- ⚡ Improve Data Grid Excel export serialization performance
|
|
66
|
+
- 🐞 Bugfixes
|
|
67
|
+
- 🌍 Improve Polish (pl-PL) and Ukrainian (uk-UA) locale on the Data Grid
|
|
68
|
+
|
|
69
|
+
Special thanks go out to the community contributors who have helped make this release possible:
|
|
70
|
+
@pawelkula, @Neonin.
|
|
71
|
+
Following are all team members who have contributed to this release:
|
|
72
|
+
@cherniavskii, @JCQuintas, @oliviertassinari, @arminmeh and @LukasTy
|
|
73
|
+
|
|
74
|
+
### Data Grid
|
|
75
|
+
|
|
76
|
+
#### `@mui/x-data-grid@7.27.0`
|
|
77
|
+
|
|
78
|
+
- [DataGrid] Add `resetPageOnSortFilter` prop that resets the page after sorting and filtering (#16580) @arminmeh
|
|
79
|
+
- [DataGrid] Avoid `undefined` value for pagination `rowCount` (#16558) @cherniavskii
|
|
80
|
+
- [l10n] Improve Polish (pl-PL) locale (#16594) @pawelkula
|
|
81
|
+
- [l10n] Improve Ukrainian (uk-UA) locale (#16593) @Neonin
|
|
82
|
+
|
|
83
|
+
#### `@mui/x-data-grid-pro@7.27.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
84
|
+
|
|
85
|
+
Same changes as in `@mui/x-data-grid@7.27.0`.
|
|
86
|
+
|
|
87
|
+
#### `@mui/x-data-grid-premium@7.27.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
88
|
+
|
|
89
|
+
Same changes as in `@mui/x-data-grid-pro@7.27.0`, plus:
|
|
90
|
+
|
|
91
|
+
- [DataGridPremium] Fix Excel export Web Worker demo not working in dev mode (#16532) @cherniavskii
|
|
92
|
+
- [DataGridPremium] Improve Excel export serialization performance (#16545) @cherniavskii
|
|
93
|
+
- [DataGridPremium] Namespace Excel export worker (#16539) @oliviertassinari
|
|
94
|
+
|
|
95
|
+
### Date and Time Pickers
|
|
96
|
+
|
|
97
|
+
#### `@mui/x-date-pickers@7.27.0`
|
|
98
|
+
|
|
99
|
+
Internal changes.
|
|
100
|
+
|
|
101
|
+
#### `@mui/x-date-pickers-pro@7.27.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
102
|
+
|
|
103
|
+
Same changes as in `@mui/x-date-pickers@7.27.0`, plus:
|
|
104
|
+
|
|
105
|
+
- [DateRangePicker] Avoid unnecessary field section focusing (#16569) @LukasTy
|
|
106
|
+
|
|
107
|
+
### Charts
|
|
108
|
+
|
|
109
|
+
#### `@mui/x-charts@7.27.0`
|
|
110
|
+
|
|
111
|
+
Internal changes.
|
|
112
|
+
|
|
113
|
+
#### `@mui/x-charts-pro@7.27.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
114
|
+
|
|
115
|
+
- [charts-pro] Fix automatic type overloads (#16579) @JCQuintas
|
|
116
|
+
|
|
117
|
+
### Core
|
|
118
|
+
|
|
119
|
+
- [test] Fix Data Grid data source error test on React 18 (#16565) @arminmeh
|
|
120
|
+
|
|
6
121
|
## 7.26.0
|
|
7
122
|
|
|
8
123
|
_Feb 7, 2025_
|
|
@@ -351,6 +351,8 @@ DataGridProRaw.propTypes = {
|
|
|
351
351
|
getRowHeight: _propTypes.default.func,
|
|
352
352
|
/**
|
|
353
353
|
* Return the id of a given [[GridRowModel]].
|
|
354
|
+
* Ensure the reference of this prop is stable to avoid performance implications.
|
|
355
|
+
* It could be done by either defining the prop outside of the component or by memoizing it.
|
|
354
356
|
*/
|
|
355
357
|
getRowId: _propTypes.default.func,
|
|
356
358
|
/**
|
|
@@ -819,6 +821,12 @@ DataGridProRaw.propTypes = {
|
|
|
819
821
|
* @returns {Promise<R> | R} The final values to update the row.
|
|
820
822
|
*/
|
|
821
823
|
processRowUpdate: _propTypes.default.func,
|
|
824
|
+
/**
|
|
825
|
+
* If `true`, the page is set to 0 after each sorting or filtering.
|
|
826
|
+
* This prop will be removed in the next major version and resetting the page will become the default behavior.
|
|
827
|
+
* @default false
|
|
828
|
+
*/
|
|
829
|
+
resetPageOnSortFilter: _propTypes.default.bool,
|
|
822
830
|
/**
|
|
823
831
|
* The milliseconds throttle delay for resizing the grid.
|
|
824
832
|
* @default 60
|
|
@@ -44,14 +44,15 @@ const useDataGridProComponent = (inputApiRef, props) => {
|
|
|
44
44
|
/**
|
|
45
45
|
* Register all state initializers here.
|
|
46
46
|
*/
|
|
47
|
+
(0, _internals.useGridInitializeState)(_internals.propsStateInitializer, apiRef, props);
|
|
47
48
|
(0, _internals.useGridInitializeState)(_internals.headerFilteringStateInitializer, apiRef, props);
|
|
48
49
|
(0, _internals.useGridInitializeState)(_internals.rowSelectionStateInitializer, apiRef, props);
|
|
49
50
|
(0, _internals.useGridInitializeState)(_useGridDetailPanel.detailPanelStateInitializer, apiRef, props);
|
|
50
51
|
(0, _internals.useGridInitializeState)(_useGridColumnPinning.columnPinningStateInitializer, apiRef, props);
|
|
51
52
|
(0, _internals.useGridInitializeState)(_internals.columnsStateInitializer, apiRef, props);
|
|
52
53
|
(0, _internals.useGridInitializeState)(_useGridRowPinning.rowPinningStateInitializer, apiRef, props);
|
|
53
|
-
(0, _internals.useGridInitializeState)(_internals.paginationStateInitializer, apiRef, props);
|
|
54
54
|
(0, _internals.useGridInitializeState)(_internals.rowsStateInitializer, apiRef, props);
|
|
55
|
+
(0, _internals.useGridInitializeState)(_internals.paginationStateInitializer, apiRef, props);
|
|
55
56
|
(0, _internals.useGridInitializeState)(_internals.editingStateInitializer, apiRef, props);
|
|
56
57
|
(0, _internals.useGridInitializeState)(_internals.focusStateInitializer, apiRef, props);
|
|
57
58
|
(0, _internals.useGridInitializeState)(_internals.sortingStateInitializer, apiRef, props);
|
|
@@ -344,6 +344,8 @@ DataGridProRaw.propTypes = {
|
|
|
344
344
|
getRowHeight: PropTypes.func,
|
|
345
345
|
/**
|
|
346
346
|
* Return the id of a given [[GridRowModel]].
|
|
347
|
+
* Ensure the reference of this prop is stable to avoid performance implications.
|
|
348
|
+
* It could be done by either defining the prop outside of the component or by memoizing it.
|
|
347
349
|
*/
|
|
348
350
|
getRowId: PropTypes.func,
|
|
349
351
|
/**
|
|
@@ -812,6 +814,12 @@ DataGridProRaw.propTypes = {
|
|
|
812
814
|
* @returns {Promise<R> | R} The final values to update the row.
|
|
813
815
|
*/
|
|
814
816
|
processRowUpdate: PropTypes.func,
|
|
817
|
+
/**
|
|
818
|
+
* If `true`, the page is set to 0 after each sorting or filtering.
|
|
819
|
+
* This prop will be removed in the next major version and resetting the page will become the default behavior.
|
|
820
|
+
* @default false
|
|
821
|
+
*/
|
|
822
|
+
resetPageOnSortFilter: PropTypes.bool,
|
|
815
823
|
/**
|
|
816
824
|
* The milliseconds throttle delay for resizing the grid.
|
|
817
825
|
* @default 60
|
|
@@ -1,4 +1,4 @@
|
|
|
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 } from '@mui/x-data-grid/internals';
|
|
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
2
|
// Pro-only features
|
|
3
3
|
import { useGridInfiniteLoader } from "../hooks/features/infiniteLoader/useGridInfiniteLoader.js";
|
|
4
4
|
import { useGridColumnReorder, columnReorderStateInitializer } from "../hooks/features/columnReorder/useGridColumnReorder.js";
|
|
@@ -37,14 +37,15 @@ export const useDataGridProComponent = (inputApiRef, props) => {
|
|
|
37
37
|
/**
|
|
38
38
|
* Register all state initializers here.
|
|
39
39
|
*/
|
|
40
|
+
useGridInitializeState(propsStateInitializer, apiRef, props);
|
|
40
41
|
useGridInitializeState(headerFilteringStateInitializer, apiRef, props);
|
|
41
42
|
useGridInitializeState(rowSelectionStateInitializer, apiRef, props);
|
|
42
43
|
useGridInitializeState(detailPanelStateInitializer, apiRef, props);
|
|
43
44
|
useGridInitializeState(columnPinningStateInitializer, apiRef, props);
|
|
44
45
|
useGridInitializeState(columnsStateInitializer, apiRef, props);
|
|
45
46
|
useGridInitializeState(rowPinningStateInitializer, apiRef, props);
|
|
46
|
-
useGridInitializeState(paginationStateInitializer, apiRef, props);
|
|
47
47
|
useGridInitializeState(rowsStateInitializer, apiRef, props);
|
|
48
|
+
useGridInitializeState(paginationStateInitializer, apiRef, props);
|
|
48
49
|
useGridInitializeState(editingStateInitializer, apiRef, props);
|
|
49
50
|
useGridInitializeState(focusStateInitializer, apiRef, props);
|
|
50
51
|
useGridInitializeState(sortingStateInitializer, apiRef, props);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { GRID_STRING_COL_DEF } from '@mui/x-data-grid';
|
|
3
|
+
import { GRID_STRING_COL_DEF, gridRowIdSelector } from '@mui/x-data-grid';
|
|
4
4
|
import { GRID_DETAIL_PANEL_TOGGLE_FIELD } from '@mui/x-data-grid/internals';
|
|
5
5
|
import { GridDetailPanelToggleCell } from "../../../components/GridDetailPanelToggleCell.js";
|
|
6
6
|
import { gridDetailPanelExpandedRowIdsSelector } from "./gridDetailPanelSelector.js";
|
|
@@ -21,7 +21,7 @@ export const GRID_DETAIL_PANEL_TOGGLE_COL_DEF = _extends({}, GRID_STRING_COL_DEF
|
|
|
21
21
|
align: 'left',
|
|
22
22
|
width: 40,
|
|
23
23
|
valueGetter: (value, row, column, apiRef) => {
|
|
24
|
-
const rowId = apiRef.current.
|
|
24
|
+
const rowId = gridRowIdSelector(apiRef.current.state, row);
|
|
25
25
|
const expandedRowIds = gridDetailPanelExpandedRowIdsSelector(apiRef.current.state);
|
|
26
26
|
return expandedRowIds.includes(rowId);
|
|
27
27
|
},
|
|
@@ -39,8 +39,8 @@ export const useGridInfiniteLoader = (apiRef, props) => {
|
|
|
39
39
|
triggerElement.current = null;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
-
const virtualScroller = apiRef.current.virtualScrollerRef.current;
|
|
43
42
|
React.useEffect(() => {
|
|
43
|
+
const virtualScroller = apiRef.current.virtualScrollerRef.current;
|
|
44
44
|
if (!isEnabled) {
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
@@ -58,7 +58,7 @@ export const useGridInfiniteLoader = (apiRef, props) => {
|
|
|
58
58
|
if (triggerElement.current) {
|
|
59
59
|
observer.current.observe(triggerElement.current);
|
|
60
60
|
}
|
|
61
|
-
}, [apiRef,
|
|
61
|
+
}, [apiRef, handleLoadMoreRows, isEnabled, props.scrollEndThreshold]);
|
|
62
62
|
const updateTarget = node => {
|
|
63
63
|
if (triggerElement.current !== node) {
|
|
64
64
|
observer.current?.disconnect();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import { GRID_STRING_COL_DEF } from '@mui/x-data-grid';
|
|
2
|
+
import { GRID_STRING_COL_DEF, gridRowIdSelector, gridRowTreeSelector } from '@mui/x-data-grid';
|
|
3
3
|
import { GRID_TREE_DATA_GROUPING_FIELD } from '@mui/x-data-grid/internals';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -14,8 +14,8 @@ export const GRID_TREE_DATA_GROUPING_COL_DEF = _extends({}, GRID_STRING_COL_DEF,
|
|
|
14
14
|
align: 'left',
|
|
15
15
|
width: 200,
|
|
16
16
|
valueGetter: (value, row, column, apiRef) => {
|
|
17
|
-
const rowId = apiRef.current.
|
|
18
|
-
const rowNode = apiRef
|
|
17
|
+
const rowId = gridRowIdSelector(apiRef.current.state, row);
|
|
18
|
+
const rowNode = gridRowTreeSelector(apiRef)[rowId];
|
|
19
19
|
return rowNode?.type === 'group' || rowNode?.type === 'leaf' ? rowNode.groupingKey : undefined;
|
|
20
20
|
}
|
|
21
21
|
});
|
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 = "MTc0MDQzODAwMDAwMA==";
|
|
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
|
|
@@ -34,7 +34,7 @@ const GRID_DETAIL_PANEL_TOGGLE_COL_DEF = exports.GRID_DETAIL_PANEL_TOGGLE_COL_DE
|
|
|
34
34
|
align: 'left',
|
|
35
35
|
width: 40,
|
|
36
36
|
valueGetter: (value, row, column, apiRef) => {
|
|
37
|
-
const rowId = apiRef.current.
|
|
37
|
+
const rowId = (0, _xDataGrid.gridRowIdSelector)(apiRef.current.state, row);
|
|
38
38
|
const expandedRowIds = (0, _gridDetailPanelSelector.gridDetailPanelExpandedRowIdsSelector)(apiRef.current.state);
|
|
39
39
|
return expandedRowIds.includes(rowId);
|
|
40
40
|
},
|
|
@@ -47,8 +47,8 @@ const useGridInfiniteLoader = (apiRef, props) => {
|
|
|
47
47
|
triggerElement.current = null;
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
|
-
const virtualScroller = apiRef.current.virtualScrollerRef.current;
|
|
51
50
|
React.useEffect(() => {
|
|
51
|
+
const virtualScroller = apiRef.current.virtualScrollerRef.current;
|
|
52
52
|
if (!isEnabled) {
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
@@ -66,7 +66,7 @@ const useGridInfiniteLoader = (apiRef, props) => {
|
|
|
66
66
|
if (triggerElement.current) {
|
|
67
67
|
observer.current.observe(triggerElement.current);
|
|
68
68
|
}
|
|
69
|
-
}, [apiRef,
|
|
69
|
+
}, [apiRef, handleLoadMoreRows, isEnabled, props.scrollEndThreshold]);
|
|
70
70
|
const updateTarget = node => {
|
|
71
71
|
if (triggerElement.current !== node) {
|
|
72
72
|
observer.current?.disconnect();
|
|
@@ -26,8 +26,8 @@ const GRID_TREE_DATA_GROUPING_COL_DEF = exports.GRID_TREE_DATA_GROUPING_COL_DEF
|
|
|
26
26
|
align: 'left',
|
|
27
27
|
width: 200,
|
|
28
28
|
valueGetter: (value, row, column, apiRef) => {
|
|
29
|
-
const rowId = apiRef.current.
|
|
30
|
-
const rowNode =
|
|
29
|
+
const rowId = (0, _xDataGrid.gridRowIdSelector)(apiRef.current.state, row);
|
|
30
|
+
const rowNode = (0, _xDataGrid.gridRowTreeSelector)(apiRef)[rowId];
|
|
31
31
|
return rowNode?.type === 'group' || rowNode?.type === 'leaf' ? rowNode.groupingKey : undefined;
|
|
32
32
|
}
|
|
33
33
|
});
|
package/index.js
CHANGED
|
@@ -344,6 +344,8 @@ DataGridProRaw.propTypes = {
|
|
|
344
344
|
getRowHeight: PropTypes.func,
|
|
345
345
|
/**
|
|
346
346
|
* Return the id of a given [[GridRowModel]].
|
|
347
|
+
* Ensure the reference of this prop is stable to avoid performance implications.
|
|
348
|
+
* It could be done by either defining the prop outside of the component or by memoizing it.
|
|
347
349
|
*/
|
|
348
350
|
getRowId: PropTypes.func,
|
|
349
351
|
/**
|
|
@@ -812,6 +814,12 @@ DataGridProRaw.propTypes = {
|
|
|
812
814
|
* @returns {Promise<R> | R} The final values to update the row.
|
|
813
815
|
*/
|
|
814
816
|
processRowUpdate: PropTypes.func,
|
|
817
|
+
/**
|
|
818
|
+
* If `true`, the page is set to 0 after each sorting or filtering.
|
|
819
|
+
* This prop will be removed in the next major version and resetting the page will become the default behavior.
|
|
820
|
+
* @default false
|
|
821
|
+
*/
|
|
822
|
+
resetPageOnSortFilter: PropTypes.bool,
|
|
815
823
|
/**
|
|
816
824
|
* The milliseconds throttle delay for resizing the grid.
|
|
817
825
|
* @default 60
|
|
@@ -1,4 +1,4 @@
|
|
|
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 } from '@mui/x-data-grid/internals';
|
|
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
2
|
// Pro-only features
|
|
3
3
|
import { useGridInfiniteLoader } from "../hooks/features/infiniteLoader/useGridInfiniteLoader.js";
|
|
4
4
|
import { useGridColumnReorder, columnReorderStateInitializer } from "../hooks/features/columnReorder/useGridColumnReorder.js";
|
|
@@ -37,14 +37,15 @@ export const useDataGridProComponent = (inputApiRef, props) => {
|
|
|
37
37
|
/**
|
|
38
38
|
* Register all state initializers here.
|
|
39
39
|
*/
|
|
40
|
+
useGridInitializeState(propsStateInitializer, apiRef, props);
|
|
40
41
|
useGridInitializeState(headerFilteringStateInitializer, apiRef, props);
|
|
41
42
|
useGridInitializeState(rowSelectionStateInitializer, apiRef, props);
|
|
42
43
|
useGridInitializeState(detailPanelStateInitializer, apiRef, props);
|
|
43
44
|
useGridInitializeState(columnPinningStateInitializer, apiRef, props);
|
|
44
45
|
useGridInitializeState(columnsStateInitializer, apiRef, props);
|
|
45
46
|
useGridInitializeState(rowPinningStateInitializer, apiRef, props);
|
|
46
|
-
useGridInitializeState(paginationStateInitializer, apiRef, props);
|
|
47
47
|
useGridInitializeState(rowsStateInitializer, apiRef, props);
|
|
48
|
+
useGridInitializeState(paginationStateInitializer, apiRef, props);
|
|
48
49
|
useGridInitializeState(editingStateInitializer, apiRef, props);
|
|
49
50
|
useGridInitializeState(focusStateInitializer, apiRef, props);
|
|
50
51
|
useGridInitializeState(sortingStateInitializer, apiRef, props);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { GRID_STRING_COL_DEF } from '@mui/x-data-grid';
|
|
3
|
+
import { GRID_STRING_COL_DEF, gridRowIdSelector } from '@mui/x-data-grid';
|
|
4
4
|
import { GRID_DETAIL_PANEL_TOGGLE_FIELD } from '@mui/x-data-grid/internals';
|
|
5
5
|
import { GridDetailPanelToggleCell } from "../../../components/GridDetailPanelToggleCell.js";
|
|
6
6
|
import { gridDetailPanelExpandedRowIdsSelector } from "./gridDetailPanelSelector.js";
|
|
@@ -21,7 +21,7 @@ export const GRID_DETAIL_PANEL_TOGGLE_COL_DEF = _extends({}, GRID_STRING_COL_DEF
|
|
|
21
21
|
align: 'left',
|
|
22
22
|
width: 40,
|
|
23
23
|
valueGetter: (value, row, column, apiRef) => {
|
|
24
|
-
const rowId = apiRef.current.
|
|
24
|
+
const rowId = gridRowIdSelector(apiRef.current.state, row);
|
|
25
25
|
const expandedRowIds = gridDetailPanelExpandedRowIdsSelector(apiRef.current.state);
|
|
26
26
|
return expandedRowIds.includes(rowId);
|
|
27
27
|
},
|
|
@@ -39,8 +39,8 @@ export const useGridInfiniteLoader = (apiRef, props) => {
|
|
|
39
39
|
triggerElement.current = null;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
-
const virtualScroller = apiRef.current.virtualScrollerRef.current;
|
|
43
42
|
React.useEffect(() => {
|
|
43
|
+
const virtualScroller = apiRef.current.virtualScrollerRef.current;
|
|
44
44
|
if (!isEnabled) {
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
@@ -58,7 +58,7 @@ export const useGridInfiniteLoader = (apiRef, props) => {
|
|
|
58
58
|
if (triggerElement.current) {
|
|
59
59
|
observer.current.observe(triggerElement.current);
|
|
60
60
|
}
|
|
61
|
-
}, [apiRef,
|
|
61
|
+
}, [apiRef, handleLoadMoreRows, isEnabled, props.scrollEndThreshold]);
|
|
62
62
|
const updateTarget = node => {
|
|
63
63
|
if (triggerElement.current !== node) {
|
|
64
64
|
observer.current?.disconnect();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import { GRID_STRING_COL_DEF } from '@mui/x-data-grid';
|
|
2
|
+
import { GRID_STRING_COL_DEF, gridRowIdSelector, gridRowTreeSelector } from '@mui/x-data-grid';
|
|
3
3
|
import { GRID_TREE_DATA_GROUPING_FIELD } from '@mui/x-data-grid/internals';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -14,8 +14,8 @@ export const GRID_TREE_DATA_GROUPING_COL_DEF = _extends({}, GRID_STRING_COL_DEF,
|
|
|
14
14
|
align: 'left',
|
|
15
15
|
width: 200,
|
|
16
16
|
valueGetter: (value, row, column, apiRef) => {
|
|
17
|
-
const rowId = apiRef.current.
|
|
18
|
-
const rowNode = apiRef
|
|
17
|
+
const rowId = gridRowIdSelector(apiRef.current.state, row);
|
|
18
|
+
const rowNode = gridRowTreeSelector(apiRef)[rowId];
|
|
19
19
|
return rowNode?.type === 'group' || rowNode?.type === 'leaf' ? rowNode.groupingKey : undefined;
|
|
20
20
|
}
|
|
21
21
|
});
|
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 = "MTc0MDQzODAwMDAwMA==";
|
|
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-pro",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.27.1",
|
|
4
4
|
"description": "The Pro plan edition of the Data Grid components (MUI X).",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"clsx": "^2.1.1",
|
|
40
40
|
"prop-types": "^15.8.1",
|
|
41
41
|
"reselect": "^5.1.1",
|
|
42
|
-
"@mui/x-data-grid": "7.
|
|
42
|
+
"@mui/x-data-grid": "7.27.1",
|
|
43
43
|
"@mui/x-internals": "7.26.0",
|
|
44
44
|
"@mui/x-license": "7.26.0"
|
|
45
45
|
},
|
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 = "MTc0MDQzODAwMDAwMA==";
|
|
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
|