@mui/x-data-grid-pro 5.15.2 → 5.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/CHANGELOG.md +177 -2
  2. package/DataGridPro/DataGridPro.js +20 -1
  3. package/DataGridPro/useDataGridProComponent.js +8 -1
  4. package/DataGridPro/useDataGridProProps.js +2 -1
  5. package/README.md +2 -1
  6. package/components/DataGridProColumnHeaders.js +25 -13
  7. package/components/DataGridProVirtualScroller.js +18 -15
  8. package/components/GridDetailPanelToggleCell.js +2 -1
  9. package/components/GridTreeDataGroupingCell.js +2 -1
  10. package/hooks/features/columnReorder/useGridColumnReorder.js +95 -3
  11. package/hooks/features/columnResize/useGridColumnResize.js +10 -7
  12. package/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +15 -0
  13. package/hooks/features/infiniteLoader/useGridInfiniteLoader.d.ts +1 -1
  14. package/hooks/features/infiniteLoader/useGridInfiniteLoader.js +4 -4
  15. package/hooks/features/lazyLoader/useGridLazyLoader.d.ts +10 -0
  16. package/hooks/features/lazyLoader/useGridLazyLoader.js +179 -0
  17. package/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.d.ts +5 -0
  18. package/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +32 -0
  19. package/hooks/features/rowPinning/useGridRowPinningPreProcessors.d.ts +4 -4
  20. package/hooks/features/treeData/gridTreeDataUtils.d.ts +3 -1
  21. package/hooks/features/treeData/gridTreeDataUtils.js +1 -1
  22. package/hooks/features/treeData/useGridTreeDataPreProcessors.js +2 -1
  23. package/index.js +1 -1
  24. package/legacy/DataGridPro/DataGridPro.js +20 -1
  25. package/legacy/DataGridPro/useDataGridProComponent.js +8 -1
  26. package/legacy/DataGridPro/useDataGridProProps.js +2 -1
  27. package/legacy/components/DataGridProColumnHeaders.js +25 -13
  28. package/legacy/components/DataGridProVirtualScroller.js +18 -15
  29. package/legacy/components/GridDetailPanelToggleCell.js +2 -1
  30. package/legacy/components/GridTreeDataGroupingCell.js +2 -1
  31. package/legacy/hooks/features/columnReorder/useGridColumnReorder.js +99 -3
  32. package/legacy/hooks/features/columnResize/useGridColumnResize.js +11 -7
  33. package/legacy/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +15 -0
  34. package/legacy/hooks/features/infiniteLoader/useGridInfiniteLoader.js +4 -4
  35. package/legacy/hooks/features/lazyLoader/useGridLazyLoader.js +186 -0
  36. package/legacy/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +35 -0
  37. package/legacy/hooks/features/treeData/gridTreeDataUtils.js +1 -1
  38. package/legacy/hooks/features/treeData/useGridTreeDataPreProcessors.js +2 -1
  39. package/legacy/index.js +1 -1
  40. package/legacy/models/gridFetchRowsParams.js +1 -0
  41. package/legacy/models/index.js +2 -1
  42. package/legacy/utils/domUtils.js +5 -0
  43. package/legacy/utils/releaseInfo.js +1 -1
  44. package/models/dataGridProProps.d.ts +22 -1
  45. package/models/gridFetchRowsParams.d.ts +22 -0
  46. package/models/gridFetchRowsParams.js +1 -0
  47. package/models/index.d.ts +1 -0
  48. package/models/index.js +2 -1
  49. package/modern/DataGridPro/DataGridPro.js +20 -1
  50. package/modern/DataGridPro/useDataGridProComponent.js +8 -1
  51. package/modern/DataGridPro/useDataGridProProps.js +2 -1
  52. package/modern/components/DataGridProColumnHeaders.js +25 -13
  53. package/modern/components/DataGridProVirtualScroller.js +18 -15
  54. package/modern/components/GridDetailPanelToggleCell.js +2 -1
  55. package/modern/components/GridTreeDataGroupingCell.js +2 -1
  56. package/modern/hooks/features/columnReorder/useGridColumnReorder.js +83 -3
  57. package/modern/hooks/features/columnResize/useGridColumnResize.js +5 -2
  58. package/modern/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +15 -0
  59. package/modern/hooks/features/infiniteLoader/useGridInfiniteLoader.js +4 -4
  60. package/modern/hooks/features/lazyLoader/useGridLazyLoader.js +177 -0
  61. package/modern/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +30 -0
  62. package/modern/hooks/features/treeData/gridTreeDataUtils.js +1 -1
  63. package/modern/hooks/features/treeData/useGridTreeDataPreProcessors.js +2 -1
  64. package/modern/index.js +1 -1
  65. package/modern/models/gridFetchRowsParams.js +1 -0
  66. package/modern/models/index.js +2 -1
  67. package/modern/utils/domUtils.js +3 -0
  68. package/modern/utils/releaseInfo.js +1 -1
  69. package/node/DataGridPro/DataGridPro.js +20 -1
  70. package/node/DataGridPro/useDataGridProComponent.js +9 -0
  71. package/node/DataGridPro/useDataGridProProps.js +1 -0
  72. package/node/components/DataGridProColumnHeaders.js +25 -12
  73. package/node/components/DataGridProVirtualScroller.js +18 -15
  74. package/node/components/GridDetailPanelToggleCell.js +2 -1
  75. package/node/components/GridTreeDataGroupingCell.js +2 -1
  76. package/node/hooks/features/columnReorder/useGridColumnReorder.js +95 -3
  77. package/node/hooks/features/columnResize/useGridColumnResize.js +9 -6
  78. package/node/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +16 -0
  79. package/node/hooks/features/infiniteLoader/useGridInfiniteLoader.js +3 -3
  80. package/node/hooks/features/lazyLoader/useGridLazyLoader.js +195 -0
  81. package/node/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +52 -0
  82. package/node/hooks/features/treeData/gridTreeDataUtils.js +1 -1
  83. package/node/hooks/features/treeData/useGridTreeDataPreProcessors.js +2 -1
  84. package/node/index.js +1 -1
  85. package/node/models/gridFetchRowsParams.js +5 -0
  86. package/node/models/index.js +13 -0
  87. package/node/utils/domUtils.js +7 -0
  88. package/node/utils/releaseInfo.js +1 -1
  89. package/package.json +5 -5
  90. package/typeOverloads/modules.d.ts +7 -1
  91. package/utils/domUtils.d.ts +1 -0
  92. package/utils/domUtils.js +5 -0
  93. package/utils/releaseInfo.js +1 -1
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useGridLazyLoader = void 0;
7
+
8
+ var React = _interopRequireWildcard(require("react"));
9
+
10
+ var _xDataGrid = require("@mui/x-data-grid");
11
+
12
+ var _internals = require("@mui/x-data-grid/internals");
13
+
14
+ var _useGridVirtualScroller = require("@mui/x-data-grid/hooks/features/virtualization/useGridVirtualScroller");
15
+
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
20
+ function findSkeletonRowsSection(visibleRows, range) {
21
+ let {
22
+ firstRowIndex,
23
+ lastRowIndex
24
+ } = range;
25
+ const visibleRowsSection = visibleRows.slice(range.firstRowIndex, range.lastRowIndex);
26
+ let startIndex = 0;
27
+ let endIndex = visibleRowsSection.length - 1;
28
+ let isSkeletonSectionFound = false;
29
+
30
+ while (!isSkeletonSectionFound && firstRowIndex < lastRowIndex) {
31
+ if (!visibleRowsSection[startIndex].model && !visibleRowsSection[endIndex].model) {
32
+ isSkeletonSectionFound = true;
33
+ }
34
+
35
+ if (visibleRowsSection[startIndex].model) {
36
+ startIndex += 1;
37
+ firstRowIndex += 1;
38
+ }
39
+
40
+ if (visibleRowsSection[endIndex].model) {
41
+ endIndex -= 1;
42
+ lastRowIndex -= 1;
43
+ }
44
+ }
45
+
46
+ return isSkeletonSectionFound ? {
47
+ firstRowIndex,
48
+ lastRowIndex
49
+ } : undefined;
50
+ }
51
+
52
+ function isLazyLoadingDisabled({
53
+ lazyLoadingFeatureFlag,
54
+ rowsLoadingMode,
55
+ gridDimensions
56
+ }) {
57
+ if (!lazyLoadingFeatureFlag || !gridDimensions) {
58
+ return true;
59
+ }
60
+
61
+ if (rowsLoadingMode !== _xDataGrid.GridFeatureModeConstant.server) {
62
+ return true;
63
+ }
64
+
65
+ return false;
66
+ }
67
+ /**
68
+ * @requires useGridRows (state)
69
+ * @requires useGridPagination (state)
70
+ * @requires useGridDimensions (method) - can be after
71
+ * @requires useGridScroll (method
72
+ */
73
+
74
+
75
+ const useGridLazyLoader = (apiRef, props) => {
76
+ var _props$experimentalFe;
77
+
78
+ const visibleRows = (0, _internals.useGridVisibleRows)(apiRef, props);
79
+ const sortModel = (0, _xDataGrid.useGridSelector)(apiRef, _xDataGrid.gridSortModelSelector);
80
+ const filterModel = (0, _xDataGrid.useGridSelector)(apiRef, _xDataGrid.gridFilterModelSelector);
81
+ const renderedRowsIntervalCache = React.useRef({
82
+ firstRowToRender: 0,
83
+ lastRowToRender: 0
84
+ });
85
+ const {
86
+ lazyLoading
87
+ } = (_props$experimentalFe = props.experimentalFeatures) != null ? _props$experimentalFe : {};
88
+ const getCurrentIntervalToRender = React.useCallback(() => {
89
+ const currentRenderContext = apiRef.current.unstable_getRenderContext();
90
+ const [firstRowToRender, lastRowToRender] = (0, _useGridVirtualScroller.getRenderableIndexes)({
91
+ firstIndex: currentRenderContext.firstRowIndex,
92
+ lastIndex: currentRenderContext.lastRowIndex,
93
+ minFirstIndex: 0,
94
+ maxLastIndex: visibleRows.rows.length,
95
+ buffer: props.rowBuffer
96
+ });
97
+ return {
98
+ firstRowToRender,
99
+ lastRowToRender
100
+ };
101
+ }, [apiRef, props.rowBuffer, visibleRows.rows.length]);
102
+ const handleRenderedRowsIntervalChange = React.useCallback(params => {
103
+ const dimensions = apiRef.current.getRootDimensions();
104
+
105
+ if (isLazyLoadingDisabled({
106
+ lazyLoadingFeatureFlag: lazyLoading,
107
+ rowsLoadingMode: props.rowsLoadingMode,
108
+ gridDimensions: dimensions
109
+ })) {
110
+ return;
111
+ }
112
+
113
+ const fetchRowsParams = {
114
+ firstRowToRender: params.firstRowToRender,
115
+ lastRowToRender: params.lastRowToRender,
116
+ sortModel,
117
+ filterModel
118
+ };
119
+
120
+ if (renderedRowsIntervalCache.current.firstRowToRender === params.firstRowToRender && renderedRowsIntervalCache.current.lastRowToRender === params.lastRowToRender) {
121
+ return;
122
+ }
123
+
124
+ if (sortModel.length === 0 && filterModel.items.length === 0) {
125
+ const skeletonRowsSection = findSkeletonRowsSection(visibleRows.rows, {
126
+ firstRowIndex: params.firstRowToRender,
127
+ lastRowIndex: params.lastRowToRender
128
+ });
129
+
130
+ if (!skeletonRowsSection) {
131
+ return;
132
+ }
133
+
134
+ fetchRowsParams.firstRowToRender = skeletonRowsSection.firstRowIndex;
135
+ fetchRowsParams.lastRowToRender = skeletonRowsSection.lastRowIndex;
136
+ }
137
+
138
+ renderedRowsIntervalCache.current = params;
139
+ apiRef.current.publishEvent('fetchRows', fetchRowsParams);
140
+ }, [apiRef, props.rowsLoadingMode, sortModel, filterModel, visibleRows.rows, lazyLoading]);
141
+ const handleGridSortModelChange = React.useCallback(newSortModel => {
142
+ const dimensions = apiRef.current.getRootDimensions();
143
+
144
+ if (isLazyLoadingDisabled({
145
+ lazyLoadingFeatureFlag: lazyLoading,
146
+ rowsLoadingMode: props.rowsLoadingMode,
147
+ gridDimensions: dimensions
148
+ })) {
149
+ return;
150
+ }
151
+
152
+ apiRef.current.unstable_requestPipeProcessorsApplication('hydrateRows');
153
+ const {
154
+ firstRowToRender,
155
+ lastRowToRender
156
+ } = getCurrentIntervalToRender();
157
+ const fetchRowsParams = {
158
+ firstRowToRender,
159
+ lastRowToRender,
160
+ sortModel: newSortModel,
161
+ filterModel
162
+ };
163
+ apiRef.current.publishEvent('fetchRows', fetchRowsParams);
164
+ }, [apiRef, props.rowsLoadingMode, filterModel, lazyLoading, getCurrentIntervalToRender]);
165
+ const handleGridFilterModelChange = React.useCallback(newFilterModel => {
166
+ const dimensions = apiRef.current.getRootDimensions();
167
+
168
+ if (isLazyLoadingDisabled({
169
+ lazyLoadingFeatureFlag: lazyLoading,
170
+ rowsLoadingMode: props.rowsLoadingMode,
171
+ gridDimensions: dimensions
172
+ })) {
173
+ return;
174
+ }
175
+
176
+ apiRef.current.unstable_requestPipeProcessorsApplication('hydrateRows');
177
+ const {
178
+ firstRowToRender,
179
+ lastRowToRender
180
+ } = getCurrentIntervalToRender();
181
+ const fetchRowsParams = {
182
+ firstRowToRender,
183
+ lastRowToRender,
184
+ sortModel,
185
+ filterModel: newFilterModel
186
+ };
187
+ apiRef.current.publishEvent('fetchRows', fetchRowsParams);
188
+ }, [apiRef, props.rowsLoadingMode, sortModel, lazyLoading, getCurrentIntervalToRender]);
189
+ (0, _xDataGrid.useGridApiEventHandler)(apiRef, 'renderedRowsIntervalChange', handleRenderedRowsIntervalChange);
190
+ (0, _xDataGrid.useGridApiEventHandler)(apiRef, 'sortModelChange', handleGridSortModelChange);
191
+ (0, _xDataGrid.useGridApiEventHandler)(apiRef, 'filterModelChange', handleGridFilterModelChange);
192
+ (0, _xDataGrid.useGridApiOptionHandler)(apiRef, 'fetchRows', props.onFetchRows);
193
+ };
194
+
195
+ exports.useGridLazyLoader = useGridLazyLoader;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useGridLazyLoaderPreProcessors = exports.GRID_SKELETON_ROW_ROOT_ID = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var React = _interopRequireWildcard(require("react"));
13
+
14
+ var _internals = require("@mui/x-data-grid/internals");
15
+
16
+ var _xDataGrid = require("@mui/x-data-grid");
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ const GRID_SKELETON_ROW_ROOT_ID = 'auto-generated-skeleton-row-root';
23
+ exports.GRID_SKELETON_ROW_ROOT_ID = GRID_SKELETON_ROW_ROOT_ID;
24
+
25
+ const getSkeletonRowId = index => `${GRID_SKELETON_ROW_ROOT_ID}-${index}`;
26
+
27
+ const useGridLazyLoaderPreProcessors = (apiRef, props) => {
28
+ var _props$experimentalFe;
29
+
30
+ const {
31
+ lazyLoading
32
+ } = (_props$experimentalFe = props.experimentalFeatures) != null ? _props$experimentalFe : {};
33
+ const addSkeletonRows = React.useCallback(groupingParams => {
34
+ if (!lazyLoading || props.rowsLoadingMode !== _xDataGrid.GridFeatureModeConstant.server || !props.rowCount || groupingParams.ids.length >= props.rowCount) {
35
+ return groupingParams;
36
+ }
37
+
38
+ const newRowsIds = [...groupingParams.ids];
39
+
40
+ for (let i = 0; i < props.rowCount - groupingParams.ids.length; i += 1) {
41
+ const skeletonId = getSkeletonRowId(i);
42
+ newRowsIds.push(skeletonId);
43
+ }
44
+
45
+ return (0, _extends2.default)({}, groupingParams, {
46
+ ids: newRowsIds
47
+ });
48
+ }, [props.rowCount, props.rowsLoadingMode, lazyLoading]);
49
+ (0, _internals.useGridRegisterPipeProcessor)(apiRef, 'hydrateRows', addSkeletonRows);
50
+ };
51
+
52
+ exports.useGridLazyLoaderPreProcessors = useGridLazyLoaderPreProcessors;
@@ -41,7 +41,7 @@ const filterRowTreeFromTreeData = params => {
41
41
  passingFilterItems,
42
42
  passingQuickFilterValues
43
43
  } = isRowMatchingFilters(node.id);
44
- isMatchingFilters = (0, _internals.passFilterLogic)([passingFilterItems], [passingQuickFilterValues], params.filterModel);
44
+ isMatchingFilters = (0, _internals.passFilterLogic)([passingFilterItems], [passingQuickFilterValues], params.filterModel, params.apiRef);
45
45
  }
46
46
 
47
47
  let filteredDescendantCount = 0;
@@ -124,7 +124,8 @@ const useGridTreeDataPreProcessors = (apiRef, props) => {
124
124
  rowTree,
125
125
  isRowMatchingFilters: params.isRowMatchingFilters,
126
126
  disableChildrenFiltering: props.disableChildrenFiltering,
127
- filterModel: params.filterModel
127
+ filterModel: params.filterModel,
128
+ apiRef
128
129
  });
129
130
  }, [apiRef, props.disableChildrenFiltering]);
130
131
  const sortRows = React.useCallback(params => {
package/node/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.15.2
1
+ /** @license MUI v5.17.0
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -41,4 +41,17 @@ Object.keys(_gridRowOrderChangeParams).forEach(function (key) {
41
41
  return _gridRowOrderChangeParams[key];
42
42
  }
43
43
  });
44
+ });
45
+
46
+ var _gridFetchRowsParams = require("./gridFetchRowsParams");
47
+
48
+ Object.keys(_gridFetchRowsParams).forEach(function (key) {
49
+ if (key === "default" || key === "__esModule") return;
50
+ if (key in exports && exports[key] === _gridFetchRowsParams[key]) return;
51
+ Object.defineProperty(exports, key, {
52
+ enumerable: true,
53
+ get: function () {
54
+ return _gridFetchRowsParams[key];
55
+ }
56
+ });
44
57
  });
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.findGridCellElementsFromCol = findGridCellElementsFromCol;
7
+ exports.findGroupHeaderElementsFromField = findGroupHeaderElementsFromField;
7
8
  exports.findHeaderElementFromField = findHeaderElementFromField;
8
9
  exports.getFieldFromHeaderElem = getFieldFromHeaderElem;
9
10
 
@@ -19,6 +20,12 @@ function findHeaderElementFromField(elem, field) {
19
20
  return elem.querySelector(`[data-field="${field}"]`);
20
21
  }
21
22
 
23
+ function findGroupHeaderElementsFromField(elem, field) {
24
+ var _elem$querySelectorAl;
25
+
26
+ return Array.from((_elem$querySelectorAl = elem.querySelectorAll(`[data-fields*="|-${field}-|"]`)) != null ? _elem$querySelectorAl : []);
27
+ }
28
+
22
29
  function findGridCellElementsFromCol(col, api) {
23
30
  const root = (0, _internals.findParentElementFromClassName)(col, 'MuiDataGrid-root');
24
31
 
@@ -8,7 +8,7 @@ exports.getReleaseInfo = void 0;
8
8
  var _utils = require("@mui/utils");
9
9
 
10
10
  const getReleaseInfo = () => {
11
- const releaseInfo = "MTY2MDE2NTIwMDAwMA==";
11
+ const releaseInfo = "MTY2MjA2NjAwMDAwMA==";
12
12
 
13
13
  if (process.env.NODE_ENV !== 'production') {
14
14
  // A simple hack to set the value in the test environment (has no build step).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/x-data-grid-pro",
3
- "version": "5.15.2",
3
+ "version": "5.17.0",
4
4
  "description": "The Pro plan edition of the data grid component (MUI X).",
5
5
  "author": "MUI Team",
6
6
  "main": "./node/index.js",
@@ -31,10 +31,10 @@
31
31
  "directory": "packages/grid/x-data-grid-pro"
32
32
  },
33
33
  "dependencies": {
34
- "@babel/runtime": "^7.18.6",
35
- "@mui/utils": "^5.4.1",
36
- "@mui/x-data-grid": "5.15.2",
37
- "@mui/x-license-pro": "5.15.0",
34
+ "@babel/runtime": "^7.18.9",
35
+ "@mui/utils": "^5.9.3",
36
+ "@mui/x-data-grid": "5.17.0",
37
+ "@mui/x-license-pro": "5.17.0",
38
38
  "@types/format-util": "^1.0.2",
39
39
  "clsx": "^1.2.1",
40
40
  "prop-types": "^15.8.1",
@@ -1,5 +1,5 @@
1
1
  import { GridRowId } from '@mui/x-data-grid';
2
- import type { GridRowScrollEndParams, GridRowOrderChangeParams } from '../models';
2
+ import type { GridRowScrollEndParams, GridRowOrderChangeParams, GridFetchRowsParams } from '../models';
3
3
  import type { GridColumnPinningInternalCache, GridPinnedColumns } from '../hooks/features/columnPinning/gridColumnPinningInterface';
4
4
  import type { GridCanBeReorderedPreProcessingContext } from '../hooks/features/columnReorder/columnReorderInterfaces';
5
5
  import { GridRowPinningInternalCache } from '../hooks/features/rowPinning/gridRowPinningInterface';
@@ -32,6 +32,12 @@ export interface GridEventLookupPro {
32
32
  rowOrderChange: {
33
33
  params: GridRowOrderChangeParams;
34
34
  };
35
+ /**
36
+ * Fired when a new batch of rows is requested to be loaded. Called with a [[GridFetchRowsParams]] object.
37
+ */
38
+ fetchRows: {
39
+ params: GridFetchRowsParams;
40
+ };
35
41
  }
36
42
  export interface GridPipeProcessingLookupPro {
37
43
  canBeReordered: {
@@ -1,4 +1,5 @@
1
1
  import { GridApiPro } from '../models/gridApiPro';
2
2
  export declare function getFieldFromHeaderElem(colCellEl: Element): string;
3
3
  export declare function findHeaderElementFromField(elem: Element, field: string): Element | null;
4
+ export declare function findGroupHeaderElementsFromField(elem: Element, field: string): Element[];
4
5
  export declare function findGridCellElementsFromCol(col: HTMLElement, api: GridApiPro): Element[];
package/utils/domUtils.js CHANGED
@@ -6,6 +6,11 @@ export function getFieldFromHeaderElem(colCellEl) {
6
6
  export function findHeaderElementFromField(elem, field) {
7
7
  return elem.querySelector(`[data-field="${field}"]`);
8
8
  }
9
+ export function findGroupHeaderElementsFromField(elem, field) {
10
+ var _elem$querySelectorAl;
11
+
12
+ return Array.from((_elem$querySelectorAl = elem.querySelectorAll(`[data-fields*="|-${field}-|"]`)) != null ? _elem$querySelectorAl : []);
13
+ }
9
14
  export function findGridCellElementsFromCol(col, api) {
10
15
  const root = findParentElementFromClassName(col, 'MuiDataGrid-root');
11
16
 
@@ -1,6 +1,6 @@
1
1
  import { ponyfillGlobal } from '@mui/utils';
2
2
  export const getReleaseInfo = () => {
3
- const releaseInfo = "MTY2MDE2NTIwMDAwMA==";
3
+ const releaseInfo = "MTY2MjA2NjAwMDAwMA==";
4
4
 
5
5
  if (process.env.NODE_ENV !== 'production') {
6
6
  // A simple hack to set the value in the test environment (has no build step).