@mui/x-data-grid-pro 7.22.2 → 7.23.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 +169 -0
- package/DataGridPro/DataGridPro.js +9 -1
- package/README.md +3 -3
- package/components/headerFiltering/GridHeaderFilterCell.js +3 -3
- package/esm/DataGridPro/DataGridPro.js +9 -1
- package/esm/components/headerFiltering/GridHeaderFilterCell.js +3 -3
- package/esm/hooks/features/dataSource/useGridDataSource.js +2 -2
- package/esm/utils/releaseInfo.js +1 -1
- package/hooks/features/dataSource/useGridDataSource.js +2 -2
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/modern/DataGridPro/DataGridPro.js +9 -1
- package/modern/components/headerFiltering/GridHeaderFilterCell.js +3 -3
- package/modern/hooks/features/dataSource/useGridDataSource.js +2 -2
- package/modern/index.js +1 -1
- package/modern/utils/releaseInfo.js +1 -1
- package/package.json +6 -6
- package/utils/releaseInfo.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,175 @@
|
|
|
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.23.0
|
|
7
|
+
|
|
8
|
+
_Nov 29, 2024_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- ✨ Support for a new display mode on the Data Grid with the [List View feature](https://mui.com/x/react-data-grid/list-view/), offering an extremely flexible way to render datasets and enabling developers to adapt how data is displayed across different screen sizes.
|
|
13
|
+
|
|
14
|
+
https://github.com/user-attachments/assets/61286adc-03fc-4323-9739-8ca726fcc16c
|
|
15
|
+
|
|
16
|
+
- ⚛️ React 19 support
|
|
17
|
+
- 📚 Documentation improvements
|
|
18
|
+
- 🌍 Improve Spanish, Portuguese, Chinese locales on the Data Grid component.
|
|
19
|
+
- 🌍 Improve Dutch locale on the Date and Time Picker components.
|
|
20
|
+
- 🐞 Bugfixes
|
|
21
|
+
|
|
22
|
+
Special thanks go out to the community contributors who have helped make this release possible:
|
|
23
|
+
@dloeda, @headironc, @mathzdev, @nphmuller, @lhilgert9, @lauri865.
|
|
24
|
+
Following are all team members who have contributed to this release:
|
|
25
|
+
@oliviertassinari, @arminmeh, @KenanYusuf, @flaviendelangle, @MBilalShafi.
|
|
26
|
+
|
|
27
|
+
<!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
|
|
28
|
+
|
|
29
|
+
### Data Grid
|
|
30
|
+
|
|
31
|
+
#### `@mui/x-data-grid@v7.23.0`
|
|
32
|
+
|
|
33
|
+
- [DataGrid] React 19 support (#15557) @arminmeh
|
|
34
|
+
- [DataGrid] Change test dom check from `/jsdom/` to `/jsdom|HappyDOM/`. (#15642) @jedesroches
|
|
35
|
+
- [DataGrid] Fix last separator not being hidden when grid is scrollable (#15551) @KenanYusuf
|
|
36
|
+
- [DataGrid] Fix order of spread props on toolbar items (#15556) @KenanYusuf
|
|
37
|
+
- [DataGrid] Fix row-spanning in combination with column-pinning (#15460) @lhilgert9
|
|
38
|
+
- [DataGrid] Improve resize performance (#15592) @lauri865
|
|
39
|
+
- [DataGrid] Support column virtualization with dynamic row height (#15567) @cherniavskii
|
|
40
|
+
- [DataGrid] Improve `GridCell` performance (#15621) @lauri865
|
|
41
|
+
- [l10n] Improve Chinese (zh-CN) locale (#15570) @headironc
|
|
42
|
+
- [l10n] Improve Portuguese (pt-PT) locale (#15561) @mathzdev
|
|
43
|
+
|
|
44
|
+
#### `@mui/x-data-grid-pro@v7.23.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
45
|
+
|
|
46
|
+
Same changes as in `@mui/x-data-grid@v7.23.0`, plus:
|
|
47
|
+
|
|
48
|
+
- [DataGridPro] Fix header filtering with `boolean` column type (#15640) @k-rajat19
|
|
49
|
+
- [DataGridPro] Fix pagination state not updating if the data source response has no rows (#15643) @zinoroman
|
|
50
|
+
- [DataGridPro] Fix selection propagation issue on initialization (#15593) @MBilalShafi
|
|
51
|
+
|
|
52
|
+
#### `@mui/x-data-grid-premium@v7.23.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
53
|
+
|
|
54
|
+
Same changes as in `@mui/x-data-grid-pro@v7.23.0`.
|
|
55
|
+
|
|
56
|
+
### Date and Time Pickers
|
|
57
|
+
|
|
58
|
+
#### `@mui/x-date-pickers@v7.23.0`
|
|
59
|
+
|
|
60
|
+
- [pickers] React 19 support (#15557) @arminmeh
|
|
61
|
+
- [pickers] Fix DST issue with `America/Asuncion` timezone and `AdapterMoment` (#15653) @flaviendelangle
|
|
62
|
+
- [pickers] Use `props.referenceDate` timezone when `props.value` and `props.defaultValue` are not defined (#15544) @flaviendelangle
|
|
63
|
+
- [l10n] Improve Dutch (nl-NL) locale (#15564) @nphmuller
|
|
64
|
+
|
|
65
|
+
#### `@mui/x-date-pickers-pro@v7.23.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
66
|
+
|
|
67
|
+
Same changes as in `@mui/x-date-pickers@v7.23.0`.
|
|
68
|
+
|
|
69
|
+
### Charts
|
|
70
|
+
|
|
71
|
+
#### `@mui/x-charts@v7.23.0`
|
|
72
|
+
|
|
73
|
+
- [charts] React 19 support (#15557) @arminmeh
|
|
74
|
+
- [charts] Prevent invalid `releasePointerCapture` (#15609) @alexfauquette
|
|
75
|
+
|
|
76
|
+
#### `@mui/x-charts-pro@v7.23.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
77
|
+
|
|
78
|
+
Same changes as in `@mui/x-charts@v7.23.0`.
|
|
79
|
+
|
|
80
|
+
### Tree View
|
|
81
|
+
|
|
82
|
+
#### `@mui/x-tree-view@v7.23.0`
|
|
83
|
+
|
|
84
|
+
- [TreeView] React 19 support (#15557) @arminmeh
|
|
85
|
+
|
|
86
|
+
#### `@mui/x-tree-view-pro@7.23.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
87
|
+
|
|
88
|
+
Same changes as in `@mui/x-tree-view@7.23.0`.
|
|
89
|
+
|
|
90
|
+
### Docs
|
|
91
|
+
|
|
92
|
+
- [docs] Add data caching to lazy loaded detail panel demo (#15555) @cherniavskii
|
|
93
|
+
- [docs] Remove selectors section from list view docs (#15639) @KenanYusuf
|
|
94
|
+
- [docs] Add documentation for the list view feature (#15344) @KenanYusuf
|
|
95
|
+
|
|
96
|
+
### Core
|
|
97
|
+
|
|
98
|
+
- [core] Update @mui/monorepo (#15574) @oliviertassinari
|
|
99
|
+
|
|
100
|
+
## 7.22.3
|
|
101
|
+
|
|
102
|
+
_Nov 21, 2024_
|
|
103
|
+
|
|
104
|
+
We'd like to offer a big thanks to the 10 contributors who made this release possible. Here are some highlights ✨:
|
|
105
|
+
|
|
106
|
+
- 📊 Charts Pro get stable. The [zoom](https://mui.com/x/react-charts/zoom-and-pan/) and [Heatmap](https://mui.com/x/react-charts/heatmap/) are now stable.
|
|
107
|
+
- 🌍 Improve Chinese, Spanish, Swedish, and Turkish locales on the Data Grid
|
|
108
|
+
- 🐞 Bugfixes
|
|
109
|
+
|
|
110
|
+
Special thanks go out to the community contributors who have helped make this release possible:
|
|
111
|
+
@CarlosLopezLg, @headironc, @viktormelin, @qerkules, @DungTiger, @hendrikpeilke, @k-rajat19.
|
|
112
|
+
Following are all team members who have contributed to this release:
|
|
113
|
+
@alexfauquette, @LukasTy, @MBilalShafi, @flaviendelangle.
|
|
114
|
+
|
|
115
|
+
<!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
|
|
116
|
+
|
|
117
|
+
### Data Grid
|
|
118
|
+
|
|
119
|
+
#### `@mui/x-data-grid@7.22.3`
|
|
120
|
+
|
|
121
|
+
- [DataGrid] Add prop to override search input props in `GridColumnsManagement` (#15476) @k-rajat19
|
|
122
|
+
- [DataGrid] Add test coverage for issues fixed in #15184 @MBilalShafi
|
|
123
|
+
- [DataGrid] Fix memoized selectors with arguments (#15336) @MBilalShafi
|
|
124
|
+
- [DataGrid] Fix right column group header border with virtualization (#15503) @hendrikpeilke
|
|
125
|
+
- [DataGrid] Pass reason to `onPaginationModelChange` (#15402) @DungTiger
|
|
126
|
+
- [DataGrid] Set default overlay height in flex parent layout (#15535) @cherniavskii
|
|
127
|
+
- [l10n] Improve Chinese (zh-CN) locale (#15365) @headironc
|
|
128
|
+
- [l10n] Improve Spanish (es-ES) locale (#15369) @CarlosLopezLg
|
|
129
|
+
- [l10n] Improve Swedish (sv-SE) locale (#15371) @viktormelin
|
|
130
|
+
- [l10n] Improve Turkish (tr-TR) locale (#15414) @qerkules
|
|
131
|
+
|
|
132
|
+
#### `@mui/x-data-grid-pro@7.22.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
133
|
+
|
|
134
|
+
Same changes as in `@mui/x-data-grid@7.22.3`.
|
|
135
|
+
|
|
136
|
+
#### `@mui/x-data-grid-premium@7.22.3` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
137
|
+
|
|
138
|
+
Same changes as in `@mui/x-data-grid-pro@7.22.3`.
|
|
139
|
+
|
|
140
|
+
### Date and Time Pickers
|
|
141
|
+
|
|
142
|
+
#### `@mui/x-date-pickers@7.22.3`
|
|
143
|
+
|
|
144
|
+
- [pickers] Always use `props.value` when it changes (#15500) @flaviendelangle
|
|
145
|
+
- [pickers] Ensure internal value timezone is updated (#15491) @LukasTy
|
|
146
|
+
- [pickers] Fix `DateTimeRangePicker` error when using format without time (#15341) @fxnoob
|
|
147
|
+
- [pickers] Fix unused code in `PickersToolbar` component (#15525) @LukasTy
|
|
148
|
+
|
|
149
|
+
#### `@mui/x-date-pickers-pro@7.22.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
150
|
+
|
|
151
|
+
Same changes as in `@mui/x-date-pickers@7.22.3`, plus:
|
|
152
|
+
|
|
153
|
+
- [DateTimeRangePicker] Use time in `referenceDate` when selecting date (#15431) @LukasTy
|
|
154
|
+
|
|
155
|
+
### Charts
|
|
156
|
+
|
|
157
|
+
#### `@mui/x-charts@7.22.3`
|
|
158
|
+
|
|
159
|
+
No changes since `@mui/x-charts@7.22.2`.
|
|
160
|
+
|
|
161
|
+
#### `@mui/x-charts-pro@7.22.3` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
162
|
+
|
|
163
|
+
- [charts-pro] Fix missing typeOverload (#15400) @alexfauquette
|
|
164
|
+
|
|
165
|
+
### Docs
|
|
166
|
+
|
|
167
|
+
- [docs] Add `PickersPopper` component to customization playground (#15397) @LukasTy
|
|
168
|
+
- [docs] Add `next` version links (#15423) @LukasTy
|
|
169
|
+
- [docs] Use the `loading` state in the demos (#15538) @cherniavskii
|
|
170
|
+
|
|
171
|
+
- [code-infra] Tentative fix for Argos flaky screenshot tests (#15399) @JCQuintas
|
|
172
|
+
- [docs-infra] Transpile `.ts` demo files (#15421) @KenanYusuf
|
|
173
|
+
- [core] Clarify release version bump strategy (#15536) @cherniavskii
|
|
174
|
+
|
|
6
175
|
## 7.22.2
|
|
7
176
|
|
|
8
177
|
_Nov 8, 2024_
|
|
@@ -989,5 +989,13 @@ DataGridProRaw.propTypes = {
|
|
|
989
989
|
* If `true`, the Data Grid will auto span the cells over the rows having the same value.
|
|
990
990
|
* @default false
|
|
991
991
|
*/
|
|
992
|
-
unstable_rowSpanning: _propTypes.default.bool
|
|
992
|
+
unstable_rowSpanning: _propTypes.default.bool,
|
|
993
|
+
/**
|
|
994
|
+
* If `true`, the Data Grid enables column virtualization when `getRowHeight` is set to `() => 'auto'`.
|
|
995
|
+
* By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly.
|
|
996
|
+
* For datasets with a large number of columns, this can cause performance issues.
|
|
997
|
+
* The downside of enabling this prop is that the row height will be estimated based the cells that are currently rendered, which can cause row height change when scrolling horizontally.
|
|
998
|
+
* @default false
|
|
999
|
+
*/
|
|
1000
|
+
virtualizeColumnsWithAutoRowHeight: _propTypes.default.bool
|
|
993
1001
|
};
|
package/README.md
CHANGED
|
@@ -15,9 +15,9 @@ This component has the following peer dependencies that you will need to install
|
|
|
15
15
|
|
|
16
16
|
```json
|
|
17
17
|
"peerDependencies": {
|
|
18
|
-
"@mui/material": "^5.15.14",
|
|
19
|
-
"react": "^17.0.0 || ^18.0.0",
|
|
20
|
-
"react-dom": "^17.0.0 || ^18.0.0"
|
|
18
|
+
"@mui/material": "^5.15.14 || ^6.0.0",
|
|
19
|
+
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
20
|
+
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
|
21
21
|
},
|
|
22
22
|
```
|
|
23
23
|
|
|
@@ -98,7 +98,7 @@ const GridHeaderFilterCell = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
98
98
|
const currentOperator = React.useMemo(() => filterOperators.find(operator => operator.value === item.operator) ?? filterOperators[0], [item.operator, filterOperators]);
|
|
99
99
|
const InputComponent = colDef.filterable || isFilterReadOnly ? currentOperator.InputComponent ?? defaultInputComponents[colDef.type] : null;
|
|
100
100
|
const applyFilterChanges = React.useCallback(updatedItem => {
|
|
101
|
-
if (item.value &&
|
|
101
|
+
if (item.value && updatedItem.value === undefined) {
|
|
102
102
|
apiRef.current.deleteFilterItem(updatedItem);
|
|
103
103
|
return;
|
|
104
104
|
}
|
|
@@ -199,7 +199,7 @@ const GridHeaderFilterCell = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
199
199
|
});
|
|
200
200
|
const classes = useUtilityClasses(ownerState);
|
|
201
201
|
const isNoInputOperator = currentOperator.requiresFilterValue === false;
|
|
202
|
-
const isApplied =
|
|
202
|
+
const isApplied = item?.value !== undefined || isNoInputOperator;
|
|
203
203
|
const label = currentOperator.headerLabel ?? apiRef.current.getLocaleText(`headerFilterOperator${(0, _utils.unstable_capitalize)(item.operator)}`);
|
|
204
204
|
const isFilterActive = isApplied || hasFocus;
|
|
205
205
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({
|
|
@@ -269,7 +269,7 @@ process.env.NODE_ENV !== "production" ? GridHeaderFilterCell.propTypes = {
|
|
|
269
269
|
gridHasFiller: _propTypes.default.bool.isRequired,
|
|
270
270
|
hasFocus: _propTypes.default.bool,
|
|
271
271
|
/**
|
|
272
|
-
* Class name
|
|
272
|
+
* Class name added to the column header cell.
|
|
273
273
|
*/
|
|
274
274
|
headerClassName: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string]),
|
|
275
275
|
headerFilterMenuRef: _propTypes.default.shape({
|
|
@@ -982,5 +982,13 @@ DataGridProRaw.propTypes = {
|
|
|
982
982
|
* If `true`, the Data Grid will auto span the cells over the rows having the same value.
|
|
983
983
|
* @default false
|
|
984
984
|
*/
|
|
985
|
-
unstable_rowSpanning: PropTypes.bool
|
|
985
|
+
unstable_rowSpanning: PropTypes.bool,
|
|
986
|
+
/**
|
|
987
|
+
* If `true`, the Data Grid enables column virtualization when `getRowHeight` is set to `() => 'auto'`.
|
|
988
|
+
* By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly.
|
|
989
|
+
* For datasets with a large number of columns, this can cause performance issues.
|
|
990
|
+
* The downside of enabling this prop is that the row height will be estimated based the cells that are currently rendered, which can cause row height change when scrolling horizontally.
|
|
991
|
+
* @default false
|
|
992
|
+
*/
|
|
993
|
+
virtualizeColumnsWithAutoRowHeight: PropTypes.bool
|
|
986
994
|
};
|
|
@@ -90,7 +90,7 @@ const GridHeaderFilterCell = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
90
90
|
const currentOperator = React.useMemo(() => filterOperators.find(operator => operator.value === item.operator) ?? filterOperators[0], [item.operator, filterOperators]);
|
|
91
91
|
const InputComponent = colDef.filterable || isFilterReadOnly ? currentOperator.InputComponent ?? defaultInputComponents[colDef.type] : null;
|
|
92
92
|
const applyFilterChanges = React.useCallback(updatedItem => {
|
|
93
|
-
if (item.value &&
|
|
93
|
+
if (item.value && updatedItem.value === undefined) {
|
|
94
94
|
apiRef.current.deleteFilterItem(updatedItem);
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
@@ -191,7 +191,7 @@ const GridHeaderFilterCell = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
191
191
|
});
|
|
192
192
|
const classes = useUtilityClasses(ownerState);
|
|
193
193
|
const isNoInputOperator = currentOperator.requiresFilterValue === false;
|
|
194
|
-
const isApplied =
|
|
194
|
+
const isApplied = item?.value !== undefined || isNoInputOperator;
|
|
195
195
|
const label = currentOperator.headerLabel ?? apiRef.current.getLocaleText(`headerFilterOperator${capitalize(item.operator)}`);
|
|
196
196
|
const isFilterActive = isApplied || hasFocus;
|
|
197
197
|
return /*#__PURE__*/_jsxs("div", _extends({
|
|
@@ -261,7 +261,7 @@ process.env.NODE_ENV !== "production" ? GridHeaderFilterCell.propTypes = {
|
|
|
261
261
|
gridHasFiller: PropTypes.bool.isRequired,
|
|
262
262
|
hasFocus: PropTypes.bool,
|
|
263
263
|
/**
|
|
264
|
-
* Class name
|
|
264
|
+
* Class name added to the column header cell.
|
|
265
265
|
*/
|
|
266
266
|
headerClassName: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
|
|
267
267
|
headerFilterMenuRef: PropTypes.shape({
|
|
@@ -52,7 +52,7 @@ export const useGridDataSource = (apiRef, props) => {
|
|
|
52
52
|
if (cachedData !== undefined) {
|
|
53
53
|
const rows = cachedData.rows;
|
|
54
54
|
apiRef.current.setRows(rows);
|
|
55
|
-
if (cachedData.rowCount) {
|
|
55
|
+
if (cachedData.rowCount !== undefined) {
|
|
56
56
|
apiRef.current.setRowCount(cachedData.rowCount);
|
|
57
57
|
}
|
|
58
58
|
return;
|
|
@@ -64,7 +64,7 @@ export const useGridDataSource = (apiRef, props) => {
|
|
|
64
64
|
try {
|
|
65
65
|
const getRowsResponse = await getRows(fetchParams);
|
|
66
66
|
apiRef.current.unstable_dataSource.cache.set(fetchParams, getRowsResponse);
|
|
67
|
-
if (getRowsResponse.rowCount) {
|
|
67
|
+
if (getRowsResponse.rowCount !== undefined) {
|
|
68
68
|
apiRef.current.setRowCount(getRowsResponse.rowCount);
|
|
69
69
|
}
|
|
70
70
|
apiRef.current.setRows(getRowsResponse.rows);
|
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 = "MTczMjgzNDgwMDAwMA==";
|
|
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
|
|
@@ -61,7 +61,7 @@ const useGridDataSource = (apiRef, props) => {
|
|
|
61
61
|
if (cachedData !== undefined) {
|
|
62
62
|
const rows = cachedData.rows;
|
|
63
63
|
apiRef.current.setRows(rows);
|
|
64
|
-
if (cachedData.rowCount) {
|
|
64
|
+
if (cachedData.rowCount !== undefined) {
|
|
65
65
|
apiRef.current.setRowCount(cachedData.rowCount);
|
|
66
66
|
}
|
|
67
67
|
return;
|
|
@@ -73,7 +73,7 @@ const useGridDataSource = (apiRef, props) => {
|
|
|
73
73
|
try {
|
|
74
74
|
const getRowsResponse = await getRows(fetchParams);
|
|
75
75
|
apiRef.current.unstable_dataSource.cache.set(fetchParams, getRowsResponse);
|
|
76
|
-
if (getRowsResponse.rowCount) {
|
|
76
|
+
if (getRowsResponse.rowCount !== undefined) {
|
|
77
77
|
apiRef.current.setRowCount(getRowsResponse.rowCount);
|
|
78
78
|
}
|
|
79
79
|
apiRef.current.setRows(getRowsResponse.rows);
|
package/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export * from '@mui/x-data-grid/models';
|
|
|
13
13
|
export * from '@mui/x-data-grid/context';
|
|
14
14
|
export * from '@mui/x-data-grid/utils';
|
|
15
15
|
export * from '@mui/x-data-grid/colDef';
|
|
16
|
-
export type { GridExportFormat, GridExportExtension
|
|
16
|
+
export type { GridExportFormat, GridExportExtension } from '@mui/x-data-grid';
|
|
17
17
|
export * from './DataGridPro';
|
|
18
18
|
export * from './hooks';
|
|
19
19
|
export * from './models';
|
package/index.js
CHANGED
|
@@ -982,5 +982,13 @@ DataGridProRaw.propTypes = {
|
|
|
982
982
|
* If `true`, the Data Grid will auto span the cells over the rows having the same value.
|
|
983
983
|
* @default false
|
|
984
984
|
*/
|
|
985
|
-
unstable_rowSpanning: PropTypes.bool
|
|
985
|
+
unstable_rowSpanning: PropTypes.bool,
|
|
986
|
+
/**
|
|
987
|
+
* If `true`, the Data Grid enables column virtualization when `getRowHeight` is set to `() => 'auto'`.
|
|
988
|
+
* By default, column virtualization is disabled when dynamic row height is enabled to measure the row height correctly.
|
|
989
|
+
* For datasets with a large number of columns, this can cause performance issues.
|
|
990
|
+
* The downside of enabling this prop is that the row height will be estimated based the cells that are currently rendered, which can cause row height change when scrolling horizontally.
|
|
991
|
+
* @default false
|
|
992
|
+
*/
|
|
993
|
+
virtualizeColumnsWithAutoRowHeight: PropTypes.bool
|
|
986
994
|
};
|
|
@@ -90,7 +90,7 @@ const GridHeaderFilterCell = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
90
90
|
const currentOperator = React.useMemo(() => filterOperators.find(operator => operator.value === item.operator) ?? filterOperators[0], [item.operator, filterOperators]);
|
|
91
91
|
const InputComponent = colDef.filterable || isFilterReadOnly ? currentOperator.InputComponent ?? defaultInputComponents[colDef.type] : null;
|
|
92
92
|
const applyFilterChanges = React.useCallback(updatedItem => {
|
|
93
|
-
if (item.value &&
|
|
93
|
+
if (item.value && updatedItem.value === undefined) {
|
|
94
94
|
apiRef.current.deleteFilterItem(updatedItem);
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
@@ -191,7 +191,7 @@ const GridHeaderFilterCell = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
191
191
|
});
|
|
192
192
|
const classes = useUtilityClasses(ownerState);
|
|
193
193
|
const isNoInputOperator = currentOperator.requiresFilterValue === false;
|
|
194
|
-
const isApplied =
|
|
194
|
+
const isApplied = item?.value !== undefined || isNoInputOperator;
|
|
195
195
|
const label = currentOperator.headerLabel ?? apiRef.current.getLocaleText(`headerFilterOperator${capitalize(item.operator)}`);
|
|
196
196
|
const isFilterActive = isApplied || hasFocus;
|
|
197
197
|
return /*#__PURE__*/_jsxs("div", _extends({
|
|
@@ -261,7 +261,7 @@ process.env.NODE_ENV !== "production" ? GridHeaderFilterCell.propTypes = {
|
|
|
261
261
|
gridHasFiller: PropTypes.bool.isRequired,
|
|
262
262
|
hasFocus: PropTypes.bool,
|
|
263
263
|
/**
|
|
264
|
-
* Class name
|
|
264
|
+
* Class name added to the column header cell.
|
|
265
265
|
*/
|
|
266
266
|
headerClassName: PropTypes.oneOfType([PropTypes.func, PropTypes.string]),
|
|
267
267
|
headerFilterMenuRef: PropTypes.shape({
|
|
@@ -52,7 +52,7 @@ export const useGridDataSource = (apiRef, props) => {
|
|
|
52
52
|
if (cachedData !== undefined) {
|
|
53
53
|
const rows = cachedData.rows;
|
|
54
54
|
apiRef.current.setRows(rows);
|
|
55
|
-
if (cachedData.rowCount) {
|
|
55
|
+
if (cachedData.rowCount !== undefined) {
|
|
56
56
|
apiRef.current.setRowCount(cachedData.rowCount);
|
|
57
57
|
}
|
|
58
58
|
return;
|
|
@@ -64,7 +64,7 @@ export const useGridDataSource = (apiRef, props) => {
|
|
|
64
64
|
try {
|
|
65
65
|
const getRowsResponse = await getRows(fetchParams);
|
|
66
66
|
apiRef.current.unstable_dataSource.cache.set(fetchParams, getRowsResponse);
|
|
67
|
-
if (getRowsResponse.rowCount) {
|
|
67
|
+
if (getRowsResponse.rowCount !== undefined) {
|
|
68
68
|
apiRef.current.setRowCount(getRowsResponse.rowCount);
|
|
69
69
|
}
|
|
70
70
|
apiRef.current.setRows(getRowsResponse.rows);
|
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 = "MTczMjgzNDgwMDAwMA==";
|
|
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.23.0",
|
|
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,17 +39,17 @@
|
|
|
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.
|
|
43
|
-
"@mui/x-internals": "7.
|
|
44
|
-
"@mui/x-license": "7.
|
|
42
|
+
"@mui/x-data-grid": "7.23.0",
|
|
43
|
+
"@mui/x-internals": "7.23.0",
|
|
44
|
+
"@mui/x-license": "7.23.0"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"@emotion/react": "^11.9.0",
|
|
48
48
|
"@emotion/styled": "^11.8.1",
|
|
49
49
|
"@mui/material": "^5.15.14 || ^6.0.0",
|
|
50
50
|
"@mui/system": "^5.15.14 || ^6.0.0",
|
|
51
|
-
"react": "^17.0.0 || ^18.0.0",
|
|
52
|
-
"react-dom": "^17.0.0 || ^18.0.0"
|
|
51
|
+
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
52
|
+
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
|
|
53
53
|
},
|
|
54
54
|
"peerDependenciesMeta": {
|
|
55
55
|
"@emotion/react": {
|
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 = "MTczMjgzNDgwMDAwMA==";
|
|
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
|