@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.
- package/CHANGELOG.md +177 -2
- package/DataGridPro/DataGridPro.js +20 -1
- package/DataGridPro/useDataGridProComponent.js +8 -1
- package/DataGridPro/useDataGridProProps.js +2 -1
- package/README.md +2 -1
- package/components/DataGridProColumnHeaders.js +25 -13
- package/components/DataGridProVirtualScroller.js +18 -15
- package/components/GridDetailPanelToggleCell.js +2 -1
- package/components/GridTreeDataGroupingCell.js +2 -1
- package/hooks/features/columnReorder/useGridColumnReorder.js +95 -3
- package/hooks/features/columnResize/useGridColumnResize.js +10 -7
- package/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +15 -0
- package/hooks/features/infiniteLoader/useGridInfiniteLoader.d.ts +1 -1
- package/hooks/features/infiniteLoader/useGridInfiniteLoader.js +4 -4
- package/hooks/features/lazyLoader/useGridLazyLoader.d.ts +10 -0
- package/hooks/features/lazyLoader/useGridLazyLoader.js +179 -0
- package/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.d.ts +5 -0
- package/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +32 -0
- package/hooks/features/rowPinning/useGridRowPinningPreProcessors.d.ts +4 -4
- package/hooks/features/treeData/gridTreeDataUtils.d.ts +3 -1
- package/hooks/features/treeData/gridTreeDataUtils.js +1 -1
- package/hooks/features/treeData/useGridTreeDataPreProcessors.js +2 -1
- package/index.js +1 -1
- package/legacy/DataGridPro/DataGridPro.js +20 -1
- package/legacy/DataGridPro/useDataGridProComponent.js +8 -1
- package/legacy/DataGridPro/useDataGridProProps.js +2 -1
- package/legacy/components/DataGridProColumnHeaders.js +25 -13
- package/legacy/components/DataGridProVirtualScroller.js +18 -15
- package/legacy/components/GridDetailPanelToggleCell.js +2 -1
- package/legacy/components/GridTreeDataGroupingCell.js +2 -1
- package/legacy/hooks/features/columnReorder/useGridColumnReorder.js +99 -3
- package/legacy/hooks/features/columnResize/useGridColumnResize.js +11 -7
- package/legacy/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +15 -0
- package/legacy/hooks/features/infiniteLoader/useGridInfiniteLoader.js +4 -4
- package/legacy/hooks/features/lazyLoader/useGridLazyLoader.js +186 -0
- package/legacy/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +35 -0
- package/legacy/hooks/features/treeData/gridTreeDataUtils.js +1 -1
- package/legacy/hooks/features/treeData/useGridTreeDataPreProcessors.js +2 -1
- package/legacy/index.js +1 -1
- package/legacy/models/gridFetchRowsParams.js +1 -0
- package/legacy/models/index.js +2 -1
- package/legacy/utils/domUtils.js +5 -0
- package/legacy/utils/releaseInfo.js +1 -1
- package/models/dataGridProProps.d.ts +22 -1
- package/models/gridFetchRowsParams.d.ts +22 -0
- package/models/gridFetchRowsParams.js +1 -0
- package/models/index.d.ts +1 -0
- package/models/index.js +2 -1
- package/modern/DataGridPro/DataGridPro.js +20 -1
- package/modern/DataGridPro/useDataGridProComponent.js +8 -1
- package/modern/DataGridPro/useDataGridProProps.js +2 -1
- package/modern/components/DataGridProColumnHeaders.js +25 -13
- package/modern/components/DataGridProVirtualScroller.js +18 -15
- package/modern/components/GridDetailPanelToggleCell.js +2 -1
- package/modern/components/GridTreeDataGroupingCell.js +2 -1
- package/modern/hooks/features/columnReorder/useGridColumnReorder.js +83 -3
- package/modern/hooks/features/columnResize/useGridColumnResize.js +5 -2
- package/modern/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +15 -0
- package/modern/hooks/features/infiniteLoader/useGridInfiniteLoader.js +4 -4
- package/modern/hooks/features/lazyLoader/useGridLazyLoader.js +177 -0
- package/modern/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +30 -0
- package/modern/hooks/features/treeData/gridTreeDataUtils.js +1 -1
- package/modern/hooks/features/treeData/useGridTreeDataPreProcessors.js +2 -1
- package/modern/index.js +1 -1
- package/modern/models/gridFetchRowsParams.js +1 -0
- package/modern/models/index.js +2 -1
- package/modern/utils/domUtils.js +3 -0
- package/modern/utils/releaseInfo.js +1 -1
- package/node/DataGridPro/DataGridPro.js +20 -1
- package/node/DataGridPro/useDataGridProComponent.js +9 -0
- package/node/DataGridPro/useDataGridProProps.js +1 -0
- package/node/components/DataGridProColumnHeaders.js +25 -12
- package/node/components/DataGridProVirtualScroller.js +18 -15
- package/node/components/GridDetailPanelToggleCell.js +2 -1
- package/node/components/GridTreeDataGroupingCell.js +2 -1
- package/node/hooks/features/columnReorder/useGridColumnReorder.js +95 -3
- package/node/hooks/features/columnResize/useGridColumnResize.js +9 -6
- package/node/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +16 -0
- package/node/hooks/features/infiniteLoader/useGridInfiniteLoader.js +3 -3
- package/node/hooks/features/lazyLoader/useGridLazyLoader.js +195 -0
- package/node/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +52 -0
- package/node/hooks/features/treeData/gridTreeDataUtils.js +1 -1
- package/node/hooks/features/treeData/useGridTreeDataPreProcessors.js +2 -1
- package/node/index.js +1 -1
- package/node/models/gridFetchRowsParams.js +5 -0
- package/node/models/index.js +13 -0
- package/node/utils/domUtils.js +7 -0
- package/node/utils/releaseInfo.js +1 -1
- package/package.json +5 -5
- package/typeOverloads/modules.d.ts +7 -1
- package/utils/domUtils.d.ts +1 -0
- package/utils/domUtils.js +5 -0
- 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
package/node/models/index.js
CHANGED
|
@@ -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
|
});
|
package/node/utils/domUtils.js
CHANGED
|
@@ -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 = "
|
|
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.
|
|
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.
|
|
35
|
-
"@mui/utils": "^5.
|
|
36
|
-
"@mui/x-data-grid": "5.
|
|
37
|
-
"@mui/x-license-pro": "5.
|
|
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: {
|
package/utils/domUtils.d.ts
CHANGED
|
@@ -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
|
|
package/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 = "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).
|