@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 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` [![pro](https://mui.com/r/x-pro-svg)](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` [![premium](https://mui.com/r/x-premium-svg)](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` [![pro](https://mui.com/r/x-pro-svg)](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` [![pro](https://mui.com/r/x-pro-svg)](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` [![pro](https://mui.com/r/x-pro-svg)](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` [![premium](https://mui.com/r/x-premium-svg)](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` [![pro](https://mui.com/r/x-pro-svg)](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` [![pro](https://mui.com/r/x-pro-svg)](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.getRowId(row);
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, virtualScroller, handleLoadMoreRows, isEnabled, props.scrollEndThreshold]);
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.getRowId(row);
18
- const rowNode = apiRef.current.getRowNode(rowId);
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
  });
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTczODg4MjgwMDAwMA==";
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.getRowId(row);
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, virtualScroller, handleLoadMoreRows, isEnabled, props.scrollEndThreshold]);
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.getRowId(row);
30
- const rowNode = apiRef.current.getRowNode(rowId);
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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-pro v7.26.0
2
+ * @mui/x-data-grid-pro v7.27.1
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -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.getRowId(row);
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, virtualScroller, handleLoadMoreRows, isEnabled, props.scrollEndThreshold]);
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.getRowId(row);
18
- const rowNode = apiRef.current.getRowNode(rowId);
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,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid-pro v7.26.0
2
+ * @mui/x-data-grid-pro v7.27.1
3
3
  *
4
4
  * @license MUI X Commercial
5
5
  * This source code is licensed under the commercial license found in the
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTczODg4MjgwMDAwMA==";
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.26.0",
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.26.0",
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
  },
@@ -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 = "MTczODg4MjgwMDAwMA==";
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