@mui/x-data-grid-pro 8.9.1 → 8.10.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 +217 -8
- package/DataGridPro/DataGridPro.js +8 -3
- package/DataGridPro/useDataGridProComponent.js +2 -0
- package/components/GridColumnHeaders.js +1 -1
- package/components/GridDataSourceTreeDataGroupingCell.js +3 -1
- package/components/GridDetailPanels.js +4 -9
- package/components/GridPinnedRows.js +5 -2
- package/esm/DataGridPro/DataGridPro.js +10 -5
- package/esm/DataGridPro/useDataGridProComponent.js +4 -2
- package/esm/components/GridColumnHeaders.js +2 -2
- package/esm/components/GridDataSourceTreeDataGroupingCell.js +3 -1
- package/esm/components/GridDetailPanels.js +4 -9
- package/esm/components/GridPinnedRows.js +6 -3
- package/esm/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
- package/esm/hooks/features/columnHeaders/useGridColumnHeaders.js +5 -3
- package/esm/hooks/features/dataSource/models.d.ts +6 -0
- package/esm/hooks/features/dataSource/useGridDataSourceBasePro.d.ts +2 -1
- package/esm/hooks/features/dataSource/useGridDataSourceBasePro.js +26 -1
- package/esm/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +1 -0
- package/esm/hooks/features/rowReorder/gridRowReorderColDef.js +3 -2
- package/esm/hooks/features/rowReorder/useGridRowReorder.d.ts +2 -0
- package/esm/hooks/features/rowReorder/useGridRowReorder.js +19 -1
- package/esm/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -1
- package/esm/hooks/features/rows/useGridRowAriaAttributes.js +2 -2
- package/esm/hooks/utils/useGridAriaAttributes.d.ts +1 -1
- package/esm/hooks/utils/useGridAriaAttributes.js +1 -1
- package/esm/index.js +1 -1
- package/esm/internals/index.d.ts +9 -7
- package/esm/internals/index.js +10 -9
- package/esm/models/gridApiPro.d.ts +2 -1
- package/esm/models/gridRowReorderApi.d.ts +10 -0
- package/esm/models/gridRowReorderApi.js +1 -0
- package/esm/utils/tree/removeDataRowFromTree.d.ts +3 -1
- package/esm/utils/tree/removeDataRowFromTree.js +25 -5
- package/esm/utils/tree/updateRowTree.js +4 -2
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +7 -5
- package/hooks/features/dataSource/models.d.ts +6 -0
- package/hooks/features/dataSource/useGridDataSourceBasePro.d.ts +2 -1
- package/hooks/features/dataSource/useGridDataSourceBasePro.js +26 -1
- package/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +1 -0
- package/hooks/features/rowReorder/gridRowReorderColDef.js +2 -1
- package/hooks/features/rowReorder/useGridRowReorder.d.ts +2 -0
- package/hooks/features/rowReorder/useGridRowReorder.js +21 -2
- package/hooks/features/rows/useGridRowAriaAttributes.d.ts +1 -1
- package/hooks/features/rows/useGridRowAriaAttributes.js +4 -4
- package/hooks/utils/useGridAriaAttributes.d.ts +1 -1
- package/hooks/utils/useGridAriaAttributes.js +3 -3
- package/index.js +1 -1
- package/internals/index.d.ts +9 -7
- package/internals/index.js +27 -10
- package/models/gridApiPro.d.ts +2 -1
- package/models/gridRowReorderApi.d.ts +10 -0
- package/models/gridRowReorderApi.js +5 -0
- package/package.json +6 -8
- package/utils/tree/removeDataRowFromTree.d.ts +3 -1
- package/utils/tree/removeDataRowFromTree.js +25 -5
- package/utils/tree/updateRowTree.js +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,215 @@
|
|
|
5
5
|
All notable changes to this project will be documented in this file.
|
|
6
6
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
7
7
|
|
|
8
|
+
## 8.10.0
|
|
9
|
+
|
|
10
|
+
_Aug 8, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to extend a big thank you to the 17 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- 📊 [`FunnelChart`](https://mui.com/x/react-charts/funnel/) marked as stable
|
|
15
|
+
- 📈 [Zoom slider](https://mui.com/x/react-charts/zoom-and-pan/#zoom-slider) and [Preview](https://mui.com/x/react-charts/zoom-and-pan/#preview) marked as stable
|
|
16
|
+
- 📈 Supporting [label groups](https://mui.com/x/react-charts/axis/#grouped-axes) in band and point axis
|
|
17
|
+
- 🌎 Improve Norwegian Nynorsk (nn-NO) locale on the Data Grid
|
|
18
|
+
- 🐞 Bugfixes
|
|
19
|
+
- 📚 Documentation improvements
|
|
20
|
+
|
|
21
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
22
|
+
@AnderzL7, @aqeelat, @dwrth, @noobyogi0010, @nusr, @sai6855
|
|
23
|
+
|
|
24
|
+
The following are all team members who have contributed to this release:
|
|
25
|
+
@arminmeh, @bernardobelchior, @cherniavskii, @flaviendelangle, @Janpot, @JCQuintas, @mapache-salvaje, @MBilalShafi, @oliviertassinari, @rita-codes, @romgrk
|
|
26
|
+
|
|
27
|
+
### Data Grid
|
|
28
|
+
|
|
29
|
+
#### `@mui/x-data-grid@8.10.0`
|
|
30
|
+
|
|
31
|
+
- [DataGrid] Move spread operator in `BaseSelect` to allow `variant` change (#19026) @dwrth
|
|
32
|
+
- [DataGrid] Use `use-sync-external-store` shim (#19063) @romgrk
|
|
33
|
+
- [DataGrid] Allow skipping cache in `dataSource.fetchRows()` API method (#18904) @MBilalShafi
|
|
34
|
+
- [DataGrid] Do not call `preProcessEditCellProps()` if cell is not editable based on `isCellEditable()` (#18405) @nusr
|
|
35
|
+
- [DataGrid] Fix `renderCountry` throwing an error when used in tree data (#19068) @cherniavskii
|
|
36
|
+
- [DataGrid] Fix performance issue for root level "select all" (#19015) @MBilalShafi
|
|
37
|
+
- [DataGrid] Fix pagination `slotProps` being ignored by the grid (#19095) @romgrk
|
|
38
|
+
- [l10n] Improve Norwegian Nynorsk (nn-NO) locale (#19076) @AnderzL7
|
|
39
|
+
|
|
40
|
+
#### `@mui/x-data-grid-pro@8.10.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
41
|
+
|
|
42
|
+
Same changes as in `@mui/x-data-grid@8.10.0`, plus:
|
|
43
|
+
|
|
44
|
+
- [DataGridPro] Fix row reorder not working with column reorder disabled (#19016) @MBilalShafi
|
|
45
|
+
- [DataGridPro] Fix header filters cache sharing issue (#19090) @MBilalShafi
|
|
46
|
+
|
|
47
|
+
#### `@mui/x-data-grid-premium@8.10.0` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
48
|
+
|
|
49
|
+
Same changes as in `@mui/x-data-grid-pro@8.10.0`, plus:
|
|
50
|
+
|
|
51
|
+
- [DataGridPremium] Allow additional derived columns customization via `valueFormatter` (#18982) @arminmeh
|
|
52
|
+
- [DataGridPremium] Fix complex `singleSelect` columns not working in pivot model (#18971) @cherniavskii
|
|
53
|
+
|
|
54
|
+
### Date and Time Pickers
|
|
55
|
+
|
|
56
|
+
#### `@mui/x-date-pickers@8.10.0`
|
|
57
|
+
|
|
58
|
+
- [pickers] `MuiPickersLayout-toolbar` is overlapping the Calendar in RTL `MobileDatePicker` variant (#18981) @rita-codes
|
|
59
|
+
|
|
60
|
+
#### `@mui/x-date-pickers-pro@8.10.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
61
|
+
|
|
62
|
+
Same changes as in `@mui/x-date-pickers@8.10.0`.
|
|
63
|
+
|
|
64
|
+
### Charts
|
|
65
|
+
|
|
66
|
+
#### `@mui/x-charts@8.10.0`
|
|
67
|
+
|
|
68
|
+
- [charts] Add `groups` to `band` and `point` axis config (#18766) @JCQuintas
|
|
69
|
+
- [charts] Animation example using `motion` library (#18993) @JCQuintas
|
|
70
|
+
- [charts] Deprecate `Unstable_` radar exports (#19079) @JCQuintas
|
|
71
|
+
- [charts] Improve grouped axis logic (#19069) @JCQuintas
|
|
72
|
+
- [charts] Fix type assertion in axis highlight components (#19060) @sai6855
|
|
73
|
+
- [charts] Remove unnecessary type assertion in tooltip `valueFormatter` in heatmap (#19047) @sai6855
|
|
74
|
+
|
|
75
|
+
#### `@mui/x-charts-pro@8.10.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
76
|
+
|
|
77
|
+
Same changes as in `@mui/x-charts@8.10.0`, plus:
|
|
78
|
+
|
|
79
|
+
- [charts-pro] Fix `slotProps.tooltip.trigger` not respected in `ScatterChartPro` and `FunnelChart` (#18902) @bernardobelchior
|
|
80
|
+
- [charts-pro] Fix zoom filtering adjusting axis too soon (#18992) @bernardobelchior
|
|
81
|
+
- [charts-pro] Mark `FunnelChart` as stable (#19048) @JCQuintas
|
|
82
|
+
- [charts-pro] Mark zoom slider and preview as stable (#19049) @JCQuintas
|
|
83
|
+
- [charts-pro] Refactor `createAxisFilterMapper` (#18998) @bernardobelchior
|
|
84
|
+
|
|
85
|
+
### Tree View
|
|
86
|
+
|
|
87
|
+
#### `@mui/x-tree-view@8.10.0`
|
|
88
|
+
|
|
89
|
+
Internal changes.
|
|
90
|
+
|
|
91
|
+
#### `@mui/x-tree-view-pro@8.10.0` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
92
|
+
|
|
93
|
+
Same changes as in `@mui/x-tree-view@8.10.0`.
|
|
94
|
+
|
|
95
|
+
### Codemod
|
|
96
|
+
|
|
97
|
+
#### `@mui/x-codemod@8.10.0`
|
|
98
|
+
|
|
99
|
+
Internal changes.
|
|
100
|
+
|
|
101
|
+
### Docs
|
|
102
|
+
|
|
103
|
+
- [docs] Add CSS bundler breaking change to migration guide (#17436) @romgrk
|
|
104
|
+
- [docs] `RichTreeViewPro` demo for dragging via custom drag-handle is not working properly (#19008) @rita-codes
|
|
105
|
+
- [docs] Fix broken link to D3 in Charts (#19020) @oliviertassinari
|
|
106
|
+
- [docs] Revise the Charts Animation doc (#18990) @mapache-salvaje
|
|
107
|
+
- [docs] Fix incorrect code in line chart preview (#19023) @noobyogi0010
|
|
108
|
+
- [docs] Improve bundling instructions for the Data Grid (#19065) @romgrk
|
|
109
|
+
- [docs] Reduce image size in the inventory grid demo (#19004) @arminmeh
|
|
110
|
+
|
|
111
|
+
### Core
|
|
112
|
+
|
|
113
|
+
- [core] Fix ESLint reference name @oliviertassinari
|
|
114
|
+
|
|
115
|
+
### Miscellaneous
|
|
116
|
+
|
|
117
|
+
- [infra] Remove bundle size tracking for subpaths (#19072) @Janpot
|
|
118
|
+
- [infra] Accept `PORT` env on `docs:dev` script (#19014) @JCQuintas
|
|
119
|
+
- [infra] Skip codesandbox iframe demos in regressions tests (#18970) @cherniavskii
|
|
120
|
+
- [infra] Remove package.json `module` field (#18961) @Janpot
|
|
121
|
+
- [internal] Remove peer dependency on `@mui/system` (#19062) @aqeelat
|
|
122
|
+
|
|
123
|
+
## 8.9.2
|
|
124
|
+
|
|
125
|
+
_Jul 31, 2025_
|
|
126
|
+
|
|
127
|
+
We'd like to extend a big thank you to the 23 contributors who made this release possible. Here are some highlights ✨:
|
|
128
|
+
|
|
129
|
+
- 🌎 Improve French (fr-FR), Hebrew (he-IL) and Polish (pl-PL) locales on the Data Grid
|
|
130
|
+
- 🌎 Improve Korean (ko-KR) locale on the Date and Time Pickers
|
|
131
|
+
- 📈 Add symlog scale to charts
|
|
132
|
+
- 📊 Fix bar border radius on Firefox
|
|
133
|
+
- 🐞 Bugfixes
|
|
134
|
+
- 📚 Documentation improvements
|
|
135
|
+
|
|
136
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
137
|
+
@AmrElnaggar99, @atlanteh, @ddolcimascolo, @Jiseoup, @leonaha5, @noherczeg, @sai6855
|
|
138
|
+
|
|
139
|
+
The following are all team members who have contributed to this release:
|
|
140
|
+
@alexfauquette, @arminmeh, @bernardobelchior, @bharatkashyap, @brijeshb42, @cherniavskii, @flaviendelangle, @Janpot, @JCQuintas, @KenanYusuf, @LukasTy, @mapache-salvaje, @MBilalShafi, @rita-codes, @romgrk, @siriwatknp
|
|
141
|
+
|
|
142
|
+
### Data Grid
|
|
143
|
+
|
|
144
|
+
#### `@mui/x-data-grid@8.9.2`
|
|
145
|
+
|
|
146
|
+
- [DataGrid] Add debounce for columns panel search (#18719) @noherczeg
|
|
147
|
+
- [DataGrid] Extract virtualization engine (#18275) @romgrk
|
|
148
|
+
- [DataGrid] Improve types in `<GridEditSingleSelect />` (#18184) @sai6855
|
|
149
|
+
- [l10n] Improve French (fr-FR) locale (#18905) @ddolcimascolo
|
|
150
|
+
- [l10n] Improve Hebrew (he-IL) locale (#18665) @atlanteh
|
|
151
|
+
- [l10n] Improve Polish (pl-PL) locale (#18068) @leonaha5
|
|
152
|
+
|
|
153
|
+
#### `@mui/x-data-grid-pro@8.9.2` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
154
|
+
|
|
155
|
+
Same changes as in `@mui/x-data-grid@8.9.2`, plus:
|
|
156
|
+
|
|
157
|
+
- [DataGridPro] Fix duplicate nested rows for dynamically updated row IDs (#18526) @MBilalShafi
|
|
158
|
+
|
|
159
|
+
#### `@mui/x-data-grid-premium@8.9.2` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
160
|
+
|
|
161
|
+
Same changes as in `@mui/x-data-grid-pro@8.9.2`, plus:
|
|
162
|
+
|
|
163
|
+
- [DataGridPremium] Add `privateMode` to AI assistant prompt resolver (#18759) @bharatkashyap
|
|
164
|
+
- [DataGridPremium] Fix empty nested group values caused by main criterial `valueFormatter()` (#18916) @cherniavskii
|
|
165
|
+
- [DataGridPremium] Sidebar content and state is managed the same way as for preference panel (#18741) @arminmeh
|
|
166
|
+
- [DataGridPremium] Make `api` param for the aggregation function optional (#18984) @arminmeh
|
|
167
|
+
|
|
168
|
+
### Date and Time Pickers
|
|
169
|
+
|
|
170
|
+
#### `@mui/x-date-pickers@8.9.2`
|
|
171
|
+
|
|
172
|
+
- [l10n] Improve Korean (ko-KR) locale (#18664) @Jiseoup
|
|
173
|
+
- [pickers] Fix popper click-away behavior (#18804) @LukasTy
|
|
174
|
+
- [pickers] Fix usage not in main document (#18944) @LukasTy
|
|
175
|
+
|
|
176
|
+
#### `@mui/x-date-pickers-pro@8.9.2` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
177
|
+
|
|
178
|
+
Same changes as in `@mui/x-date-pickers@8.9.2`.
|
|
179
|
+
|
|
180
|
+
### Charts
|
|
181
|
+
|
|
182
|
+
#### `@mui/x-charts@8.9.2`
|
|
183
|
+
|
|
184
|
+
- [charts] Add symlog scale to charts (#18729) @bernardobelchior
|
|
185
|
+
- [charts] Fix bar border radius on Firefox (#18824) @bernardobelchior
|
|
186
|
+
- [charts] Fix crash when rendering large scatter dataset (#18845) @bernardobelchior
|
|
187
|
+
- [charts] Remove unnecessary type assertion in tooltip `valueFormatter()` (#18877) @sai6855
|
|
188
|
+
- [charts] Export `ChartsWrapper` from `'./ChartsWrapper'` rather than `'./internals'` (#18966) @JCQuintas
|
|
189
|
+
|
|
190
|
+
#### `@mui/x-charts-pro@8.9.2` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
191
|
+
|
|
192
|
+
Same changes as in `@mui/x-charts@8.9.2`, plus:
|
|
193
|
+
|
|
194
|
+
- [charts-pro] Fix voronoi interaction with zoom (#18950) @alexfauquette
|
|
195
|
+
- [charts-pro] Hide toolbar by default when exporting (#18764) @bernardobelchior
|
|
196
|
+
|
|
197
|
+
### Codemod
|
|
198
|
+
|
|
199
|
+
#### `@mui/x-codemod@8.9.2`
|
|
200
|
+
|
|
201
|
+
Internal changes.
|
|
202
|
+
|
|
203
|
+
### Docs
|
|
204
|
+
|
|
205
|
+
- [docs] Add Data Grid demo pages (#18180) @KenanYusuf
|
|
206
|
+
- [docs] Copyedit the Charts Overview page (#18840) @mapache-salvaje
|
|
207
|
+
- [docs] Fix incorrect parameter name in pickers "Custom components" page from `variant` to `pickerVariant` (#18919) @AmrElnaggar99
|
|
208
|
+
|
|
209
|
+
### Miscellaneous
|
|
210
|
+
|
|
211
|
+
- [code-infra] Auto-generate deep exports to prevent asymmetric exports (#18917) @JCQuintas
|
|
212
|
+
- [docs-infra] Turn on "Edit in Chat" for X docs (#18869) @siriwatknp
|
|
213
|
+
- [infra] Add specific bundle size tracking (#18884) @Janpot
|
|
214
|
+
- [infra] Fix markdown formatting in llms generation (#18914) @Janpot
|
|
215
|
+
- [infra] Use CI action from mui-public (#18709) @brijeshb42
|
|
216
|
+
|
|
8
217
|
## 8.9.1
|
|
9
218
|
|
|
10
219
|
_Jul 21, 2025_
|
|
@@ -23,11 +232,11 @@ The following are all team members who have contributed to this release:
|
|
|
23
232
|
- [DataGrid] Move conditional list view column logic into `gridVisibleColumnDefinitionsSelector` (#18724) @KenanYusuf
|
|
24
233
|
- [DataGrid] Fix row selection "exclude" model inconsistency (#18844) @MBilalShafi
|
|
25
234
|
|
|
26
|
-
#### `@mui/x-data-grid-pro@8.9.1` [](https://mui.com/r/x-pro-svg-link
|
|
235
|
+
#### `@mui/x-data-grid-pro@8.9.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
27
236
|
|
|
28
237
|
Same changes as in `@mui/x-data-grid@8.9.1`.
|
|
29
238
|
|
|
30
|
-
#### `@mui/x-data-grid-premium@8.9.1` [](https://mui.com/r/x-premium-svg-link
|
|
239
|
+
#### `@mui/x-data-grid-premium@8.9.1` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
31
240
|
|
|
32
241
|
Same changes as in `@mui/x-data-grid-pro@8.9.1`.
|
|
33
242
|
|
|
@@ -324,8 +533,8 @@ Same changes as in `@mui/x-tree-view@8.7.0`, plus:
|
|
|
324
533
|
|
|
325
534
|
- [code-infra] Bump code-infra version and fix breaking changes (#18653) @brijeshb42
|
|
326
535
|
- [code-infra] Ensure `material-ui/disallow-react-api-in-server-components` ESLint rule is applied (#18570) @LukasTy
|
|
327
|
-
- [code-infra] Migrate to flat
|
|
328
|
-
- [code-infra] Refactor
|
|
536
|
+
- [code-infra] Migrate to flat ESLint config (#18562) @brijeshb42
|
|
537
|
+
- [code-infra] Refactor ESLint config (#18643) @LukasTy
|
|
329
538
|
- [infra] Add renovatebot rule for latest infra packages (#18609) @Janpot
|
|
330
539
|
- [infra] Move pushArgos script to code-infra (#18667) @Janpot
|
|
331
540
|
- [infra] Updates release script to fetch latest major version from upstream (#18552) @michelengelen
|
|
@@ -1239,7 +1448,7 @@ Same changes as in `@mui/x-tree-view@8.2.0`.
|
|
|
1239
1448
|
- [core] Fix all Vale errors @oliviertassinari
|
|
1240
1449
|
- [core] Move `loadStyleSheets` to internals and use it in data grid and charts (#17548) @bernardobelchior
|
|
1241
1450
|
- [core] Remove empty version (#17582) @oliviertassinari
|
|
1242
|
-
- [core] Remove
|
|
1451
|
+
- [core] Remove ESLint from codemod spec files (#17443) @alexfauquette
|
|
1243
1452
|
- [core] Remove unnecessary versions (#17597) @oliviertassinari
|
|
1244
1453
|
- [code-infra] Allow postinstall scripts for packages requesting it (#17635) @LukasTy
|
|
1245
1454
|
- [code-infra] Data Grid `vitest` changes (#17619) @JCQuintas
|
|
@@ -6733,7 +6942,7 @@ Same changes as in `@mui/x-date-pickers@7.8.0`.
|
|
|
6733
6942
|
|
|
6734
6943
|
### Core
|
|
6735
6944
|
|
|
6736
|
-
- [core] Add
|
|
6945
|
+
- [core] Add ESLint rule to restrict import from `../internals` root (#13633) @JCQuintas
|
|
6737
6946
|
- [docs-infra] Sync `\_app` folder with monorepo (#13582) @Janpot
|
|
6738
6947
|
- [license] Allow usage of Charts and Tree View Pro package for old premium licenses (#13619) @flaviendelangle
|
|
6739
6948
|
|
|
@@ -6871,7 +7080,7 @@ Same changes as in `@mui/x-date-pickers@7.7.0`.
|
|
|
6871
7080
|
|
|
6872
7081
|
- [charts] Add watermark on the pro `ResponsiveChartContainer` (#13398) @alexfauquette
|
|
6873
7082
|
- [charts] Allow to specify y-axis configuration (#13438) @alexfauquette
|
|
6874
|
-
- [charts] Fix
|
|
7083
|
+
- [charts] Fix ESLint for react compiler (#13444) @alexfauquette
|
|
6875
7084
|
- [charts] Improve themeAugmentation typing (#13433) @noraleonte
|
|
6876
7085
|
- [charts] Move the `ZAxisContextProvider` by default in the `ChartContainer` (#13465) @alexfauquette
|
|
6877
7086
|
- [charts] Use plugins to define series extremum and colors (#13397) @alexfauquette
|
|
@@ -7418,7 +7627,7 @@ Same changes as in `@mui/x-date-pickers@7.3.1`.
|
|
|
7418
7627
|
- [core] Use `describeTreeView` for focus tests (#12698) @flaviendelangle
|
|
7419
7628
|
- [core] Use `describeTreeView` for type-ahead tests (#12811) @flaviendelangle
|
|
7420
7629
|
- [code-infra] Change package manager to `pnpm` (#11875) @LukasTy
|
|
7421
|
-
- [code-infra] Closer sync with
|
|
7630
|
+
- [code-infra] Closer sync with ESLint config of codebase (#12864) @oliviertassinari
|
|
7422
7631
|
- [support-infra] Add release announcement to GitHub workflows (#11867) (#12843) @michelengelen
|
|
7423
7632
|
|
|
7424
7633
|
## 7.3.0
|
|
@@ -24,12 +24,12 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
24
24
|
const configuration = {
|
|
25
25
|
hooks: {
|
|
26
26
|
useCSSVariables: _material.useMaterialCSSVariables,
|
|
27
|
-
useGridAriaAttributes: _useGridAriaAttributes.
|
|
28
|
-
useGridRowAriaAttributes: _useGridRowAriaAttributes.
|
|
27
|
+
useGridAriaAttributes: _useGridAriaAttributes.useGridAriaAttributesPro,
|
|
28
|
+
useGridRowAriaAttributes: _useGridRowAriaAttributes.useGridRowAriaAttributesPro,
|
|
29
29
|
useCellAggregationResult: () => null
|
|
30
30
|
}
|
|
31
31
|
};
|
|
32
|
-
const releaseInfo = "
|
|
32
|
+
const releaseInfo = "MTc1NDYwNDAwMDAwMA==";
|
|
33
33
|
const watermark = /*#__PURE__*/(0, _jsxRuntime.jsx)(_xLicense.Watermark, {
|
|
34
34
|
packageName: "x-data-grid-pro",
|
|
35
35
|
releaseInfo: releaseInfo
|
|
@@ -146,6 +146,11 @@ DataGridProRaw.propTypes = {
|
|
|
146
146
|
* @default 150
|
|
147
147
|
*/
|
|
148
148
|
columnBufferPx: _propTypes.default.number,
|
|
149
|
+
/**
|
|
150
|
+
* The milliseconds delay to wait after a keystroke before triggering filtering in the columns menu.
|
|
151
|
+
* @default 150
|
|
152
|
+
*/
|
|
153
|
+
columnFilterDebounceMs: _propTypes.default.number,
|
|
149
154
|
/**
|
|
150
155
|
* Sets the height in pixels of the column group headers in the Data Grid.
|
|
151
156
|
* Inherits the `columnHeaderHeight` value if not set.
|
|
@@ -56,6 +56,7 @@ const useDataGridProComponent = (apiRef, props) => {
|
|
|
56
56
|
(0, _internals.useGridInitializeState)(_internals.propsStateInitializer, apiRef, props);
|
|
57
57
|
(0, _internals.useGridInitializeState)(_internals.headerFilteringStateInitializer, apiRef, props);
|
|
58
58
|
(0, _internals.useGridInitializeState)(_internals.rowSelectionStateInitializer, apiRef, props);
|
|
59
|
+
(0, _internals.useGridInitializeState)(_useGridRowReorder.rowReorderStateInitializer, apiRef, props);
|
|
59
60
|
(0, _internals.useGridInitializeState)(_useGridDetailPanel.detailPanelStateInitializer, apiRef, props);
|
|
60
61
|
(0, _internals.useGridInitializeState)(_useGridColumnPinning.columnPinningStateInitializer, apiRef, props);
|
|
61
62
|
(0, _internals.useGridInitializeState)(_internals.columnsStateInitializer, apiRef, props);
|
|
@@ -78,6 +79,7 @@ const useDataGridProComponent = (apiRef, props) => {
|
|
|
78
79
|
(0, _internals.useGridInitializeState)(_internals.dimensionsStateInitializer, apiRef, props);
|
|
79
80
|
(0, _internals.useGridInitializeState)(_internals.rowsMetaStateInitializer, apiRef, props);
|
|
80
81
|
(0, _internals.useGridInitializeState)(_internals.listViewStateInitializer, apiRef, props);
|
|
82
|
+
(0, _internals.useGridVirtualizer)(apiRef, props);
|
|
81
83
|
(0, _internals.useGridHeaderFiltering)(apiRef, props);
|
|
82
84
|
(0, _useGridTreeData.useGridTreeData)(apiRef, props);
|
|
83
85
|
(0, _internals.useGridKeyboardNavigation)(apiRef, props);
|
|
@@ -42,7 +42,7 @@ const GridColumnHeaders = exports.GridColumnHeaders = (0, _forwardRef.forwardRef
|
|
|
42
42
|
getColumnHeadersRow,
|
|
43
43
|
getColumnFiltersRow,
|
|
44
44
|
getColumnGroupHeadersRows
|
|
45
|
-
} = (0, _useGridColumnHeaders.
|
|
45
|
+
} = (0, _useGridColumnHeaders.useGridColumnHeadersPro)({
|
|
46
46
|
visibleColumns,
|
|
47
47
|
sortColumnLookup,
|
|
48
48
|
filterColumnLookup,
|
|
@@ -43,7 +43,9 @@ function GridTreeDataGroupingCellIcon(props) {
|
|
|
43
43
|
// always fetch/get from cache the children when the node is expanded
|
|
44
44
|
apiRef.current.dataSource.fetchRows(id);
|
|
45
45
|
} else {
|
|
46
|
-
|
|
46
|
+
// Collapse the node and remove child rows from the grid
|
|
47
|
+
apiRef.current.setRowChildrenExpansion(id, false);
|
|
48
|
+
apiRef.current.removeChildrenRows(id);
|
|
47
49
|
}
|
|
48
50
|
apiRef.current.setCellFocus(id, field);
|
|
49
51
|
event.stopPropagation(); // TODO remove event.stopPropagation
|
|
@@ -10,7 +10,6 @@ exports.GridDetailPanels = GridDetailPanels;
|
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
12
12
|
var _xDataGrid = require("@mui/x-data-grid");
|
|
13
|
-
var _internals = require("@mui/x-data-grid/internals");
|
|
14
13
|
var _useGridPrivateApiContext = require("../hooks/utils/useGridPrivateApiContext");
|
|
15
14
|
var _useGridRootProps = require("../hooks/utils/useGridRootProps");
|
|
16
15
|
var _detailPanel = require("../hooks/features/detailPanel");
|
|
@@ -60,15 +59,11 @@ function GridDetailPanelsImpl({
|
|
|
60
59
|
}, `panel-${rowId}`);
|
|
61
60
|
}, [apiRef, classes.detailPanel, detailPanelsHeights, detailPanelsContent]);
|
|
62
61
|
React.useEffect(() => {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const map = new Map();
|
|
67
|
-
for (const rowId of expandedRowIds) {
|
|
68
|
-
map.set(rowId, getDetailPanel(rowId));
|
|
69
|
-
}
|
|
70
|
-
setPanels(map);
|
|
62
|
+
const map = new Map();
|
|
63
|
+
for (const rowId of expandedRowIds) {
|
|
64
|
+
map.set(rowId, getDetailPanel(rowId));
|
|
71
65
|
}
|
|
66
|
+
setPanels(map);
|
|
72
67
|
}, [expandedRowIds, setPanels, getDetailPanel]);
|
|
73
68
|
return null;
|
|
74
69
|
}
|
|
@@ -26,6 +26,9 @@ function GridPinnedRows({
|
|
|
26
26
|
const apiRef = (0, _internals.useGridPrivateApiContext)();
|
|
27
27
|
const pinnedRowsData = (0, _xDataGrid.useGridSelector)(apiRef, _internals.gridPinnedRowsSelector);
|
|
28
28
|
const rows = pinnedRowsData[position];
|
|
29
|
+
const {
|
|
30
|
+
getRows
|
|
31
|
+
} = virtualScroller;
|
|
29
32
|
const pinnedRenderContext = React.useMemo(() => ({
|
|
30
33
|
firstRowIndex: 0,
|
|
31
34
|
lastRowIndex: rows.length,
|
|
@@ -35,11 +38,11 @@ function GridPinnedRows({
|
|
|
35
38
|
if (rows.length === 0) {
|
|
36
39
|
return null;
|
|
37
40
|
}
|
|
38
|
-
const pinnedRows =
|
|
41
|
+
const pinnedRows = getRows({
|
|
39
42
|
position,
|
|
40
43
|
rows,
|
|
41
44
|
renderContext: pinnedRenderContext
|
|
42
|
-
});
|
|
45
|
+
}, (0, _xDataGrid.gridRowTreeSelector)(apiRef));
|
|
43
46
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
44
47
|
className: (0, _clsx.default)(classes.root, _xDataGrid.gridClasses[`pinnedRows--${position}`]),
|
|
45
48
|
role: "presentation",
|
|
@@ -11,18 +11,18 @@ import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
|
11
11
|
import { useDataGridProComponent } from "./useDataGridProComponent.js";
|
|
12
12
|
import { useDataGridProProps } from "./useDataGridProProps.js";
|
|
13
13
|
import { propValidatorsDataGridPro } from "../internals/propValidation.js";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
14
|
+
import { useGridAriaAttributesPro } from "../hooks/utils/useGridAriaAttributes.js";
|
|
15
|
+
import { useGridRowAriaAttributesPro } from "../hooks/features/rows/useGridRowAriaAttributes.js";
|
|
16
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
17
|
const configuration = {
|
|
18
18
|
hooks: {
|
|
19
19
|
useCSSVariables: useMaterialCSSVariables,
|
|
20
|
-
useGridAriaAttributes,
|
|
21
|
-
useGridRowAriaAttributes,
|
|
20
|
+
useGridAriaAttributes: useGridAriaAttributesPro,
|
|
21
|
+
useGridRowAriaAttributes: useGridRowAriaAttributesPro,
|
|
22
22
|
useCellAggregationResult: () => null
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
|
-
const releaseInfo = "
|
|
25
|
+
const releaseInfo = "MTc1NDYwNDAwMDAwMA==";
|
|
26
26
|
const watermark = /*#__PURE__*/_jsx(Watermark, {
|
|
27
27
|
packageName: "x-data-grid-pro",
|
|
28
28
|
releaseInfo: releaseInfo
|
|
@@ -139,6 +139,11 @@ DataGridProRaw.propTypes = {
|
|
|
139
139
|
* @default 150
|
|
140
140
|
*/
|
|
141
141
|
columnBufferPx: PropTypes.number,
|
|
142
|
+
/**
|
|
143
|
+
* The milliseconds delay to wait after a keystroke before triggering filtering in the columns menu.
|
|
144
|
+
* @default 150
|
|
145
|
+
*/
|
|
146
|
+
columnFilterDebounceMs: PropTypes.number,
|
|
142
147
|
/**
|
|
143
148
|
* Sets the height in pixels of the column group headers in the Data Grid.
|
|
144
149
|
* Inherits the `columnHeaderHeight` value if not set.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
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';
|
|
4
|
+
import { useGridInitialization, useGridInitializeState, useGridVirtualizer, 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';
|
|
5
5
|
// Pro-only features
|
|
6
6
|
import { useGridInfiniteLoader } from "../hooks/features/infiniteLoader/useGridInfiniteLoader.js";
|
|
7
7
|
import { useGridColumnReorder, columnReorderStateInitializer } from "../hooks/features/columnReorder/useGridColumnReorder.js";
|
|
@@ -12,7 +12,7 @@ import { useGridColumnPinning, columnPinningStateInitializer } from "../hooks/fe
|
|
|
12
12
|
import { useGridColumnPinningPreProcessors } from "../hooks/features/columnPinning/useGridColumnPinningPreProcessors.js";
|
|
13
13
|
import { useGridDetailPanel, detailPanelStateInitializer } from "../hooks/features/detailPanel/useGridDetailPanel.js";
|
|
14
14
|
import { useGridDetailPanelPreProcessors } from "../hooks/features/detailPanel/useGridDetailPanelPreProcessors.js";
|
|
15
|
-
import { useGridRowReorder } from "../hooks/features/rowReorder/useGridRowReorder.js";
|
|
15
|
+
import { useGridRowReorder, rowReorderStateInitializer } from "../hooks/features/rowReorder/useGridRowReorder.js";
|
|
16
16
|
import { useGridRowReorderPreProcessors } from "../hooks/features/rowReorder/useGridRowReorderPreProcessors.js";
|
|
17
17
|
import { useGridLazyLoader } from "../hooks/features/lazyLoader/useGridLazyLoader.js";
|
|
18
18
|
import { useGridLazyLoaderPreProcessors } from "../hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js";
|
|
@@ -49,6 +49,7 @@ export const useDataGridProComponent = (apiRef, props) => {
|
|
|
49
49
|
useGridInitializeState(propsStateInitializer, apiRef, props);
|
|
50
50
|
useGridInitializeState(headerFilteringStateInitializer, apiRef, props);
|
|
51
51
|
useGridInitializeState(rowSelectionStateInitializer, apiRef, props);
|
|
52
|
+
useGridInitializeState(rowReorderStateInitializer, apiRef, props);
|
|
52
53
|
useGridInitializeState(detailPanelStateInitializer, apiRef, props);
|
|
53
54
|
useGridInitializeState(columnPinningStateInitializer, apiRef, props);
|
|
54
55
|
useGridInitializeState(columnsStateInitializer, apiRef, props);
|
|
@@ -71,6 +72,7 @@ export const useDataGridProComponent = (apiRef, props) => {
|
|
|
71
72
|
useGridInitializeState(dimensionsStateInitializer, apiRef, props);
|
|
72
73
|
useGridInitializeState(rowsMetaStateInitializer, apiRef, props);
|
|
73
74
|
useGridInitializeState(listViewStateInitializer, apiRef, props);
|
|
75
|
+
useGridVirtualizer(apiRef, props);
|
|
74
76
|
useGridHeaderFiltering(apiRef, props);
|
|
75
77
|
useGridTreeData(apiRef, props);
|
|
76
78
|
useGridKeyboardNavigation(apiRef, props);
|
|
@@ -6,7 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import { styled } from '@mui/material/styles';
|
|
7
7
|
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
8
8
|
import { vars, GridBaseColumnHeaders } from '@mui/x-data-grid/internals';
|
|
9
|
-
import {
|
|
9
|
+
import { useGridColumnHeadersPro } from "../hooks/features/columnHeaders/useGridColumnHeaders.js";
|
|
10
10
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
11
|
const Filler = styled('div')({
|
|
12
12
|
flex: 1,
|
|
@@ -34,7 +34,7 @@ const GridColumnHeaders = forwardRef(function GridColumnHeaders(props, ref) {
|
|
|
34
34
|
getColumnHeadersRow,
|
|
35
35
|
getColumnFiltersRow,
|
|
36
36
|
getColumnGroupHeadersRows
|
|
37
|
-
} =
|
|
37
|
+
} = useGridColumnHeadersPro({
|
|
38
38
|
visibleColumns,
|
|
39
39
|
sortColumnLookup,
|
|
40
40
|
filterColumnLookup,
|
|
@@ -35,7 +35,9 @@ function GridTreeDataGroupingCellIcon(props) {
|
|
|
35
35
|
// always fetch/get from cache the children when the node is expanded
|
|
36
36
|
apiRef.current.dataSource.fetchRows(id);
|
|
37
37
|
} else {
|
|
38
|
-
|
|
38
|
+
// Collapse the node and remove child rows from the grid
|
|
39
|
+
apiRef.current.setRowChildrenExpansion(id, false);
|
|
40
|
+
apiRef.current.removeChildrenRows(id);
|
|
39
41
|
}
|
|
40
42
|
apiRef.current.setCellFocus(id, field);
|
|
41
43
|
event.stopPropagation(); // TODO remove event.stopPropagation
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import composeClasses from '@mui/utils/composeClasses';
|
|
5
5
|
import { getDataGridUtilityClass, useGridSelector } from '@mui/x-data-grid';
|
|
6
|
-
import { EMPTY_DETAIL_PANELS } from '@mui/x-data-grid/internals';
|
|
7
6
|
import { useGridPrivateApiContext } from "../hooks/utils/useGridPrivateApiContext.js";
|
|
8
7
|
import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
|
|
9
8
|
import { gridDetailPanelExpandedRowsContentCacheSelector, gridDetailPanelExpandedRowIdsSelector } from "../hooks/features/detailPanel/index.js";
|
|
@@ -53,15 +52,11 @@ function GridDetailPanelsImpl({
|
|
|
53
52
|
}, `panel-${rowId}`);
|
|
54
53
|
}, [apiRef, classes.detailPanel, detailPanelsHeights, detailPanelsContent]);
|
|
55
54
|
React.useEffect(() => {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const map = new Map();
|
|
60
|
-
for (const rowId of expandedRowIds) {
|
|
61
|
-
map.set(rowId, getDetailPanel(rowId));
|
|
62
|
-
}
|
|
63
|
-
setPanels(map);
|
|
55
|
+
const map = new Map();
|
|
56
|
+
for (const rowId of expandedRowIds) {
|
|
57
|
+
map.set(rowId, getDetailPanel(rowId));
|
|
64
58
|
}
|
|
59
|
+
setPanels(map);
|
|
65
60
|
}, [expandedRowIds, setPanels, getDetailPanel]);
|
|
66
61
|
return null;
|
|
67
62
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import clsx from 'clsx';
|
|
3
3
|
import composeClasses from '@mui/utils/composeClasses';
|
|
4
|
-
import { getDataGridUtilityClass, gridClasses, useGridSelector } from '@mui/x-data-grid';
|
|
4
|
+
import { getDataGridUtilityClass, gridClasses, gridRowTreeSelector, useGridSelector } from '@mui/x-data-grid';
|
|
5
5
|
import { gridPinnedRowsSelector, useGridPrivateApiContext } from '@mui/x-data-grid/internals';
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
7
|
const useUtilityClasses = () => {
|
|
@@ -18,6 +18,9 @@ export function GridPinnedRows({
|
|
|
18
18
|
const apiRef = useGridPrivateApiContext();
|
|
19
19
|
const pinnedRowsData = useGridSelector(apiRef, gridPinnedRowsSelector);
|
|
20
20
|
const rows = pinnedRowsData[position];
|
|
21
|
+
const {
|
|
22
|
+
getRows
|
|
23
|
+
} = virtualScroller;
|
|
21
24
|
const pinnedRenderContext = React.useMemo(() => ({
|
|
22
25
|
firstRowIndex: 0,
|
|
23
26
|
lastRowIndex: rows.length,
|
|
@@ -27,11 +30,11 @@ export function GridPinnedRows({
|
|
|
27
30
|
if (rows.length === 0) {
|
|
28
31
|
return null;
|
|
29
32
|
}
|
|
30
|
-
const pinnedRows =
|
|
33
|
+
const pinnedRows = getRows({
|
|
31
34
|
position,
|
|
32
35
|
rows,
|
|
33
36
|
renderContext: pinnedRenderContext
|
|
34
|
-
});
|
|
37
|
+
}, gridRowTreeSelector(apiRef));
|
|
35
38
|
return /*#__PURE__*/_jsx("div", {
|
|
36
39
|
className: clsx(classes.root, gridClasses[`pinnedRows--${position}`]),
|
|
37
40
|
role: "presentation",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { UseGridColumnHeadersProps, GetHeadersParams } from '@mui/x-data-grid/internals';
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const useGridColumnHeadersPro: (props: UseGridColumnHeadersProps) => {
|
|
4
4
|
getColumnFiltersRow: () => React.JSX.Element | null;
|
|
5
5
|
getFillers: (params: GetHeadersParams | undefined, children: React.ReactNode, leftOverflow: number, borderBottom?: boolean) => React.JSX.Element;
|
|
6
6
|
getColumnHeadersRow: () => React.JSX.Element;
|
|
@@ -18,8 +18,7 @@ const useUtilityClasses = ownerState => {
|
|
|
18
18
|
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
19
19
|
}, [classes]);
|
|
20
20
|
};
|
|
21
|
-
const
|
|
22
|
-
export const useGridColumnHeaders = props => {
|
|
21
|
+
export const useGridColumnHeadersPro = props => {
|
|
23
22
|
const apiRef = useGridPrivateApiContext();
|
|
24
23
|
const {
|
|
25
24
|
headerGroupingMaxDepth,
|
|
@@ -54,6 +53,7 @@ export const useGridColumnHeaders = props => {
|
|
|
54
53
|
const headerFilterHeight = useGridSelector(apiRef, gridHeaderFilterHeightSelector);
|
|
55
54
|
const scrollbarWidth = useGridSelector(apiRef, gridVerticalScrollbarWidthSelector);
|
|
56
55
|
const columnHeaderFilterFocus = useGridSelector(apiRef, gridFocusColumnHeaderFilterSelector);
|
|
56
|
+
const filterItemsCache = React.useRef(Object.create(null)).current;
|
|
57
57
|
const getFilterItem = React.useCallback(colDef => {
|
|
58
58
|
const filterModelItem = filterModel?.items.find(it => it.field === colDef.field && it.operator !== 'isAnyOf');
|
|
59
59
|
if (filterModelItem != null) {
|
|
@@ -69,7 +69,9 @@ export const useGridColumnHeaders = props => {
|
|
|
69
69
|
const defaultItem = getGridFilter(colDef);
|
|
70
70
|
filterItemsCache[colDef.field] = defaultItem;
|
|
71
71
|
return defaultItem;
|
|
72
|
-
},
|
|
72
|
+
},
|
|
73
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
74
|
+
[filterModel]);
|
|
73
75
|
const getColumnFilters = params => {
|
|
74
76
|
const {
|
|
75
77
|
renderedColumns,
|
|
@@ -72,4 +72,10 @@ export interface GridDataSourcePrivateApiPro {
|
|
|
72
72
|
* Resets the data source state.
|
|
73
73
|
*/
|
|
74
74
|
resetDataSourceState: () => void;
|
|
75
|
+
/**
|
|
76
|
+
* Removes the children rows of a parent from the grid.
|
|
77
|
+
* This is used when collapsing a parent row to ensure dynamic data updates work properly.
|
|
78
|
+
* @param {GridRowId} parentId The id of the parent node.
|
|
79
|
+
*/
|
|
80
|
+
removeChildrenRows: (parentId: GridRowId) => void;
|
|
75
81
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { RefObject } from '@mui/x-internals/types';
|
|
2
|
+
import { GridRowId } from '@mui/x-data-grid';
|
|
2
3
|
import { CacheChunkManager, DataSourceRowsUpdateStrategy, GridDataSourceBaseOptions } from '@mui/x-data-grid/internals';
|
|
3
4
|
import { GridPrivateApiPro } from "../../../models/gridApiPro.js";
|
|
4
5
|
import { DataGridProProcessedProps } from "../../../models/dataGridProProps.js";
|
|
@@ -12,7 +13,7 @@ export declare const useGridDataSourceBasePro: <Api extends GridPrivateApiPro>(a
|
|
|
12
13
|
public: GridDataSourceApiPro;
|
|
13
14
|
private: GridDataSourcePrivateApiPro;
|
|
14
15
|
};
|
|
15
|
-
debouncedFetchRows: ((parentId?: import("@mui/x-data-grid").GridRowId, params?:
|
|
16
|
+
debouncedFetchRows: ((parentId?: import("@mui/x-data-grid").GridRowId, params?: import("@mui/x-data-grid/hooks/features/dataSource/models").GridDataSourceFetchRowsParams) => void) & import("@mui/utils/debounce").Cancelable;
|
|
16
17
|
strategyProcessor: {
|
|
17
18
|
strategyName: DataSourceRowsUpdateStrategy;
|
|
18
19
|
group: "dataSourceRowsUpdate";
|