@mui/x-data-grid-premium 6.7.0 → 6.8.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 +77 -15
- package/hooks/features/clipboard/useGridClipboardImport.js +2 -6
- package/hooks/features/rowGrouping/gridRowGroupingUtils.js +2 -1
- package/index.js +1 -1
- package/legacy/hooks/features/clipboard/useGridClipboardImport.js +2 -6
- package/legacy/hooks/features/rowGrouping/gridRowGroupingUtils.js +2 -1
- package/legacy/index.js +1 -1
- package/legacy/utils/releaseInfo.js +1 -1
- package/modern/hooks/features/clipboard/useGridClipboardImport.js +2 -6
- package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.js +2 -1
- package/modern/index.js +1 -1
- package/modern/utils/releaseInfo.js +1 -1
- package/node/hooks/features/clipboard/useGridClipboardImport.js +2 -6
- package/node/hooks/features/rowGrouping/gridRowGroupingUtils.js +2 -1
- package/node/index.js +1 -1
- package/node/utils/releaseInfo.js +1 -1
- package/package.json +3 -3
- package/utils/releaseInfo.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,68 @@
|
|
|
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
|
+
## 6.8.0
|
|
7
|
+
|
|
8
|
+
_Jun 16, 2023_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 13 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- 🌍 Add Greek (el-GR) locale on Pickers and improve on Data Grid
|
|
13
|
+
- 🚅 Performance improvements
|
|
14
|
+
- 🐞 Bugfixes
|
|
15
|
+
- 📚 Documentation improvements
|
|
16
|
+
|
|
17
|
+
### `@mui/x-data-grid@6.8.0` / `@mui/x-data-grid-pro@6.8.0` / `@mui/x-data-grid-premium@6.8.0`
|
|
18
|
+
|
|
19
|
+
#### Changes
|
|
20
|
+
|
|
21
|
+
- [DataGrid] Add missing styles to `overridesResolver` (#9248) @mrmuhammadali
|
|
22
|
+
- [DataGrid] Keep column header menu icon always visible on touch devices (#9076) @cherniavskii
|
|
23
|
+
- [DataGrid] Correct the type for single digit edited number value (#9282) @MBilalShafi
|
|
24
|
+
- [DataGrid] Correct the type for single digit edited number for row edit (#9348) @MBilalShafi
|
|
25
|
+
- [DataGrid] Filtering performance: cache values (#9284) @romgrk
|
|
26
|
+
- [DataGrid] Fix tabbing between `actions` cells in edit mode (#9321) @md250721
|
|
27
|
+
- [DataGrid] Make autocompletion work for `GridColDef['type']` (#9320) @cherniavskii
|
|
28
|
+
- [DataGrid] Polish shortcut logic (#9220) @oliviertassinari
|
|
29
|
+
- [DataGrid] Row reordering fix for different row heights (#7006) @yaredtsy
|
|
30
|
+
- [DataGrid] Scroll performance improvements (#9037) @romgrk
|
|
31
|
+
- [l10n] Improve Greek (el-GR) locale (#9292) @clytras
|
|
32
|
+
|
|
33
|
+
### `@mui/x-date-pickers@6.8.0` / `@mui/x-date-pickers-pro@6.8.0`
|
|
34
|
+
|
|
35
|
+
#### Changes
|
|
36
|
+
|
|
37
|
+
- [l10n] Add Greek (el-GR) locale (#9293) @clytras
|
|
38
|
+
- [pickers] Add a `referenceDate` prop on `DateCalendar`, `MonthCalendar` and `YearCalendar` (#9260) @flaviendelangle
|
|
39
|
+
- [pickers] Close the calendar when a shortcut is selected (#9080) @flaviendelangle
|
|
40
|
+
- [pickers] Fix disabling for digital clock (#9300) @alexfauquette
|
|
41
|
+
|
|
42
|
+
### Docs
|
|
43
|
+
|
|
44
|
+
- [docs] Add header filters to the popular features demo (#9069) @MBilalShafi
|
|
45
|
+
- [docs] Fix `Date Calendar` dynamic data demo (#9290) @benzler
|
|
46
|
+
- [docs] Fix Data Grid header filter link (#9225) @oliviertassinari
|
|
47
|
+
- [docs] Fix missing docs version warning (#9221) @oliviertassinari
|
|
48
|
+
- [docs] Improve Chart overview (#9333) @oliviertassinari
|
|
49
|
+
- [docs] Improve Next.js license installation guide (#8975) @oliviertassinari
|
|
50
|
+
- [docs] Link pagination documentation to the migration guide (#9296) @MBilalShafi
|
|
51
|
+
- [docs] One step toward components -> slots (#9251) @oliviertassinari
|
|
52
|
+
- [docs] Improve and reorganize sections on editing page (#8431) @joserodolfofreitas
|
|
53
|
+
- [docs] Add clipboard paste to popular features demo (#9029) @cherniavskii
|
|
54
|
+
|
|
55
|
+
### Core
|
|
56
|
+
|
|
57
|
+
- [core] Polish event name (#9336) @oliviertassinari
|
|
58
|
+
- [core] Re-enable `Argos` CI step (#9301) @LukasTy
|
|
59
|
+
- [core] Upgrade Node.js to v18 on CircleCI, CodeSandbox and Netlify (#9319) @ZeeshanTamboli
|
|
60
|
+
- [core] Upgrade Node.js v18 for l10n GitHub CI (#9355) @ZeeshanTamboli
|
|
61
|
+
- [charts] Add demonstration pages based on Recharts demo (#9175) @alexfauquette
|
|
62
|
+
- [charts] Add legend (#9024) @alexfauquette
|
|
63
|
+
- [charts] Complete the docs to introduce charts (#9153) @alexfauquette
|
|
64
|
+
- [charts] Manage elements highlights (#9242) @alexfauquette
|
|
65
|
+
- [charts] Prefix subcomponents with `Charts` (#9314) @alexfauquette
|
|
66
|
+
- [license] Improve annual license expiration message (#9135) @oliviertassinari
|
|
67
|
+
|
|
6
68
|
## 6.7.0
|
|
7
69
|
|
|
8
70
|
_Jun 9, 2023_
|
|
@@ -17,11 +79,11 @@ We'd like to offer a big thanks to the 12 contributors who made this release pos
|
|
|
17
79
|
<TimePicker views={['hours', 'minutes', 'seconds']} ampm />
|
|
18
80
|
// Format before v6.7.0: `hh:mm aa`
|
|
19
81
|
// Format after v6.7.0: `hh:mm:ss aa`
|
|
20
|
-
|
|
82
|
+
|
|
21
83
|
<DatePicker views={['year']} />
|
|
22
84
|
// Format before v6.7.0: `MM/DD/YYYY`
|
|
23
85
|
// Format after v6.7.0: `YYYY`
|
|
24
|
-
|
|
86
|
+
|
|
25
87
|
<DateTimePicker views={['day', 'hours', 'minutes']} ampm />
|
|
26
88
|
// Format before v6.7.0: `MM/DD/YYYY hh:mm aa`
|
|
27
89
|
// Format after v6.7.0: `DD hh:mm aa`
|
|
@@ -83,7 +145,7 @@ We'd like to offer a big thanks to the 15 contributors who made this release pos
|
|
|
83
145
|
|
|
84
146
|
- 🚀 New date time picking UI on [`DesktopDateTimePicker`](https://mui.com/x/react-date-pickers/date-time-picker/)
|
|
85
147
|
|
|
86
|
-
<img src="https://
|
|
148
|
+
<img src="https://github.com/mui/mui-x/assets/3165635/4e1fe9f9-03eb-4f23-99dd-80212b21fb23" width="840" height="506" />
|
|
87
149
|
|
|
88
150
|
- 🚀 Performance improvements
|
|
89
151
|
- 🐞 Bugfixes
|
|
@@ -151,7 +213,7 @@ We'd like to offer a big thanks to the 15 contributors who made this release pos
|
|
|
151
213
|
- [charts] Manage series stacking (#8888) @alexfauquette
|
|
152
214
|
- [license] List side effects in the license package (#9092) @cherniavskii
|
|
153
215
|
|
|
154
|
-
##
|
|
216
|
+
## 6.5.0
|
|
155
217
|
|
|
156
218
|
_May 19, 2023_
|
|
157
219
|
|
|
@@ -159,9 +221,9 @@ We'd like to offer a big thanks to the 10 contributors who made this release pos
|
|
|
159
221
|
|
|
160
222
|
- 💫 Introduce filtering on column headers for `DataGridPro` and `DataGridPremium`:
|
|
161
223
|
|
|
162
|
-
https://github.com/mui/mui-x/
|
|
224
|
+
<img src="https://github.com/mui/mui-x/releases/download/v6.5.0/recording.gif" width="840" height="506" />
|
|
163
225
|
|
|
164
|
-
See [the documentation](https://mui.com/x/react-data-grid/filtering
|
|
226
|
+
See [the documentation](https://mui.com/x/react-data-grid/filtering/header-filters/) for more information
|
|
165
227
|
|
|
166
228
|
- 🌍 Improve Hebrew (he-IL) and Czech (cs-CZ) locales
|
|
167
229
|
- 📝 Support for editing on pinned rows
|
|
@@ -207,7 +269,7 @@ We'd like to offer a big thanks to the 10 contributors who made this release pos
|
|
|
207
269
|
- [DataGrid] Memoize root props for better performance (#8942) @romgrk
|
|
208
270
|
- [test] Skip flaky unit tests in JSDOM (#8994) @cherniavskii
|
|
209
271
|
|
|
210
|
-
##
|
|
272
|
+
## 6.4.0
|
|
211
273
|
|
|
212
274
|
_May 12, 2023_
|
|
213
275
|
|
|
@@ -4240,7 +4302,7 @@ We'd like to offer a big thanks to the 10 contributors who made this release pos
|
|
|
4240
4302
|
- [docs] Revise and split up "Overview" page into "Introduction" (#4692) @samuelsycamore
|
|
4241
4303
|
- [docs] Use `useKeepGroupedColumnsHiddren` from the grid package on remaining demo (#5382) @flaviendelangle
|
|
4242
4304
|
|
|
4243
|
-
##
|
|
4305
|
+
## 5.12.3
|
|
4244
4306
|
|
|
4245
4307
|
_Jun 23, 2022_
|
|
4246
4308
|
|
|
@@ -4291,7 +4353,7 @@ We'd like to offer a big thanks to the 8 contributors who made this release poss
|
|
|
4291
4353
|
- [test] Throw if date adapter is not found (#5289) @cherniavskii
|
|
4292
4354
|
- [test] Use mock for `ResizeObserver` (#5215) @m4theushw
|
|
4293
4355
|
|
|
4294
|
-
##
|
|
4356
|
+
## 5.12.2
|
|
4295
4357
|
|
|
4296
4358
|
_Jun 16, 2022_
|
|
4297
4359
|
|
|
@@ -4334,7 +4396,7 @@ We'd like to offer a big thanks to the 7 contributors who made this release poss
|
|
|
4334
4396
|
- [core] Fix `GridColTypeDef` usage in demo (#5197) @cherniavskii
|
|
4335
4397
|
- [test] Add `waitFor` before asserting height (#5203) @m4theushw
|
|
4336
4398
|
|
|
4337
|
-
##
|
|
4399
|
+
## 5.12.1
|
|
4338
4400
|
|
|
4339
4401
|
_Jun 9, 2022_
|
|
4340
4402
|
|
|
@@ -4391,7 +4453,7 @@ We'd like to offer a big thanks to the 10 contributors who made this release pos
|
|
|
4391
4453
|
- [test] Fix dynamic row height test failing on Chrome (#5147) @m4theushw
|
|
4392
4454
|
- [test] Remove delay on server demo for regression tests (#5131) @alexfauquette
|
|
4393
4455
|
|
|
4394
|
-
##
|
|
4456
|
+
## 5.12.0
|
|
4395
4457
|
|
|
4396
4458
|
_May 31, 2022_
|
|
4397
4459
|
|
|
@@ -4472,7 +4534,7 @@ We'd like to offer a big thanks to the 15 contributors who made this release pos
|
|
|
4472
4534
|
- [test] Skip Safari and Firefox on broken tests (#4994) @alexfauquette
|
|
4473
4535
|
- [test] Make argos screenshots stable (#5061) @m4theushw
|
|
4474
4536
|
|
|
4475
|
-
##
|
|
4537
|
+
## 5.11.1
|
|
4476
4538
|
|
|
4477
4539
|
_May 20, 2022_
|
|
4478
4540
|
|
|
@@ -4564,7 +4626,7 @@ We'd like to offer a big thanks to the 6 contributors who made this release poss
|
|
|
4564
4626
|
- [core] Simplify rows cache management (#4933) @flaviendelangle
|
|
4565
4627
|
- [core] Use internal icons for quick filter (#4912) @alexfauquette
|
|
4566
4628
|
|
|
4567
|
-
##
|
|
4629
|
+
## 5.11.0
|
|
4568
4630
|
|
|
4569
4631
|
_May 13, 2022_
|
|
4570
4632
|
|
|
@@ -4708,7 +4770,7 @@ We'd like to offer a big thanks to the 15 contributors who made this release pos
|
|
|
4708
4770
|
- [test] Reset cleanup tracking on Karma tests (#4679) @m4theushw
|
|
4709
4771
|
- [test] Restore `sinon` sandbox after each `karma` test (#4689) @m4theushw
|
|
4710
4772
|
|
|
4711
|
-
##
|
|
4773
|
+
## 5.10.0
|
|
4712
4774
|
|
|
4713
4775
|
_Apr 25, 2022_
|
|
4714
4776
|
|
|
@@ -4744,7 +4806,7 @@ We'd like to offer a big thanks to the 6 contributors who made this release poss
|
|
|
4744
4806
|
- [core] Fix the README of the X packages (#4590) @flaviendelangle
|
|
4745
4807
|
- [test] Fix test to not depend on screen resolution (#4587) @m4theushw
|
|
4746
4808
|
|
|
4747
|
-
##
|
|
4809
|
+
## 5.9.0
|
|
4748
4810
|
|
|
4749
4811
|
_Apr 14, 2022_
|
|
4750
4812
|
|
|
@@ -4,7 +4,7 @@ import { GRID_CHECKBOX_SELECTION_FIELD, gridFocusCellSelector, gridVisibleColumn
|
|
|
4
4
|
import { buildWarning, getRowIdFromRowModel, getActiveElement, useGridRegisterPipeProcessor } from '@mui/x-data-grid/internals';
|
|
5
5
|
import { GRID_DETAIL_PANEL_TOGGLE_FIELD, GRID_REORDER_COL_DEF } from '@mui/x-data-grid-pro';
|
|
6
6
|
import { unstable_debounce as debounce } from '@mui/utils';
|
|
7
|
-
const missingOnProcessRowUpdateErrorWarning = buildWarning(['MUI: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, e.g. `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see http://mui.com/components/data-grid/editing/#persistence.'], 'error');
|
|
7
|
+
const missingOnProcessRowUpdateErrorWarning = buildWarning(['MUI: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, e.g. `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see http://mui.com/components/data-grid/editing/#server-side-persistence.'], 'error');
|
|
8
8
|
const columnFieldsToExcludeFromPaste = [GRID_CHECKBOX_SELECTION_FIELD, GRID_REORDER_COL_DEF.field, GRID_DETAIL_PANEL_TOGGLE_FIELD];
|
|
9
9
|
|
|
10
10
|
// Batches rows that are updated during clipboard paste to reduce `updateRows` calls
|
|
@@ -239,11 +239,7 @@ function defaultPasteResolver({
|
|
|
239
239
|
});
|
|
240
240
|
}
|
|
241
241
|
function isPasteShortcut(event) {
|
|
242
|
-
|
|
243
|
-
if (event.code === 'KeyV' && isModifierKeyPressed) {
|
|
244
|
-
return true;
|
|
245
|
-
}
|
|
246
|
-
return false;
|
|
242
|
+
return (event.ctrlKey || event.metaKey) && event.key === 'v';
|
|
247
243
|
}
|
|
248
244
|
export const useGridClipboardImport = (apiRef, props) => {
|
|
249
245
|
var _ref, _props$experimentalFe, _apiRef$current$rootE;
|
|
@@ -42,6 +42,7 @@ export const filterRowTreeFromGroupingColumns = params => {
|
|
|
42
42
|
} = params;
|
|
43
43
|
const filteredRowsLookup = {};
|
|
44
44
|
const filteredDescendantCountLookup = {};
|
|
45
|
+
const filterCache = {};
|
|
45
46
|
const filterTreeNode = (node, areAncestorsExpanded, ancestorsResults) => {
|
|
46
47
|
let isPassingFiltering = false;
|
|
47
48
|
let filterResults = {
|
|
@@ -68,7 +69,7 @@ export const filterRowTreeFromGroupingColumns = params => {
|
|
|
68
69
|
isPassingFiltering = filteredDescendantCount > 0;
|
|
69
70
|
} else {
|
|
70
71
|
const allResults = [...ancestorsResults, filterResults];
|
|
71
|
-
isPassingFiltering = passFilterLogic(allResults.map(result => result.passingFilterItems), allResults.map(result => result.passingQuickFilterValues), filterModel, params.apiRef);
|
|
72
|
+
isPassingFiltering = passFilterLogic(allResults.map(result => result.passingFilterItems), allResults.map(result => result.passingQuickFilterValues), filterModel, params.apiRef, filterCache);
|
|
72
73
|
}
|
|
73
74
|
}
|
|
74
75
|
filteredRowsLookup[node.id] = isPassingFiltering;
|
package/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import { GRID_CHECKBOX_SELECTION_FIELD, gridFocusCellSelector, gridVisibleColumn
|
|
|
8
8
|
import { buildWarning, getRowIdFromRowModel, getActiveElement, useGridRegisterPipeProcessor } from '@mui/x-data-grid/internals';
|
|
9
9
|
import { GRID_DETAIL_PANEL_TOGGLE_FIELD, GRID_REORDER_COL_DEF } from '@mui/x-data-grid-pro';
|
|
10
10
|
import { unstable_debounce as debounce } from '@mui/utils';
|
|
11
|
-
var missingOnProcessRowUpdateErrorWarning = buildWarning(['MUI: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, e.g. `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see http://mui.com/components/data-grid/editing/#persistence.'], 'error');
|
|
11
|
+
var missingOnProcessRowUpdateErrorWarning = buildWarning(['MUI: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, e.g. `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see http://mui.com/components/data-grid/editing/#server-side-persistence.'], 'error');
|
|
12
12
|
var columnFieldsToExcludeFromPaste = [GRID_CHECKBOX_SELECTION_FIELD, GRID_REORDER_COL_DEF.field, GRID_DETAIL_PANEL_TOGGLE_FIELD];
|
|
13
13
|
|
|
14
14
|
// Batches rows that are updated during clipboard paste to reduce `updateRows` calls
|
|
@@ -284,11 +284,7 @@ function defaultPasteResolver(_ref3) {
|
|
|
284
284
|
});
|
|
285
285
|
}
|
|
286
286
|
function isPasteShortcut(event) {
|
|
287
|
-
|
|
288
|
-
if (event.code === 'KeyV' && isModifierKeyPressed) {
|
|
289
|
-
return true;
|
|
290
|
-
}
|
|
291
|
-
return false;
|
|
287
|
+
return (event.ctrlKey || event.metaKey) && event.key === 'v';
|
|
292
288
|
}
|
|
293
289
|
export var useGridClipboardImport = function useGridClipboardImport(apiRef, props) {
|
|
294
290
|
var _ref4, _props$experimentalFe, _apiRef$current$rootE;
|
|
@@ -43,6 +43,7 @@ export var filterRowTreeFromGroupingColumns = function filterRowTreeFromGrouping
|
|
|
43
43
|
filterModel = params.filterModel;
|
|
44
44
|
var filteredRowsLookup = {};
|
|
45
45
|
var filteredDescendantCountLookup = {};
|
|
46
|
+
var filterCache = {};
|
|
46
47
|
var filterTreeNode = function filterTreeNode(node, areAncestorsExpanded, ancestorsResults) {
|
|
47
48
|
var isPassingFiltering = false;
|
|
48
49
|
var filterResults = {
|
|
@@ -75,7 +76,7 @@ export var filterRowTreeFromGroupingColumns = function filterRowTreeFromGrouping
|
|
|
75
76
|
return result.passingFilterItems;
|
|
76
77
|
}), allResults.map(function (result) {
|
|
77
78
|
return result.passingQuickFilterValues;
|
|
78
|
-
}), filterModel, params.apiRef);
|
|
79
|
+
}), filterModel, params.apiRef, filterCache);
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
filteredRowsLookup[node.id] = isPassingFiltering;
|
package/legacy/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ponyfillGlobal } from '@mui/utils';
|
|
2
2
|
export var getReleaseInfo = function getReleaseInfo() {
|
|
3
|
-
var releaseInfo = "
|
|
3
|
+
var releaseInfo = "MTY4Njg2MjgwMDAwMA==";
|
|
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
|
|
@@ -4,7 +4,7 @@ import { GRID_CHECKBOX_SELECTION_FIELD, gridFocusCellSelector, gridVisibleColumn
|
|
|
4
4
|
import { buildWarning, getRowIdFromRowModel, getActiveElement, useGridRegisterPipeProcessor } from '@mui/x-data-grid/internals';
|
|
5
5
|
import { GRID_DETAIL_PANEL_TOGGLE_FIELD, GRID_REORDER_COL_DEF } from '@mui/x-data-grid-pro';
|
|
6
6
|
import { unstable_debounce as debounce } from '@mui/utils';
|
|
7
|
-
const missingOnProcessRowUpdateErrorWarning = buildWarning(['MUI: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, e.g. `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see http://mui.com/components/data-grid/editing/#persistence.'], 'error');
|
|
7
|
+
const missingOnProcessRowUpdateErrorWarning = buildWarning(['MUI: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, e.g. `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see http://mui.com/components/data-grid/editing/#server-side-persistence.'], 'error');
|
|
8
8
|
const columnFieldsToExcludeFromPaste = [GRID_CHECKBOX_SELECTION_FIELD, GRID_REORDER_COL_DEF.field, GRID_DETAIL_PANEL_TOGGLE_FIELD];
|
|
9
9
|
|
|
10
10
|
// Batches rows that are updated during clipboard paste to reduce `updateRows` calls
|
|
@@ -238,11 +238,7 @@ function defaultPasteResolver({
|
|
|
238
238
|
});
|
|
239
239
|
}
|
|
240
240
|
function isPasteShortcut(event) {
|
|
241
|
-
|
|
242
|
-
if (event.code === 'KeyV' && isModifierKeyPressed) {
|
|
243
|
-
return true;
|
|
244
|
-
}
|
|
245
|
-
return false;
|
|
241
|
+
return (event.ctrlKey || event.metaKey) && event.key === 'v';
|
|
246
242
|
}
|
|
247
243
|
export const useGridClipboardImport = (apiRef, props) => {
|
|
248
244
|
const processRowUpdate = props.processRowUpdate;
|
|
@@ -42,6 +42,7 @@ export const filterRowTreeFromGroupingColumns = params => {
|
|
|
42
42
|
} = params;
|
|
43
43
|
const filteredRowsLookup = {};
|
|
44
44
|
const filteredDescendantCountLookup = {};
|
|
45
|
+
const filterCache = {};
|
|
45
46
|
const filterTreeNode = (node, areAncestorsExpanded, ancestorsResults) => {
|
|
46
47
|
let isPassingFiltering = false;
|
|
47
48
|
let filterResults = {
|
|
@@ -68,7 +69,7 @@ export const filterRowTreeFromGroupingColumns = params => {
|
|
|
68
69
|
isPassingFiltering = filteredDescendantCount > 0;
|
|
69
70
|
} else {
|
|
70
71
|
const allResults = [...ancestorsResults, filterResults];
|
|
71
|
-
isPassingFiltering = passFilterLogic(allResults.map(result => result.passingFilterItems), allResults.map(result => result.passingQuickFilterValues), filterModel, params.apiRef);
|
|
72
|
+
isPassingFiltering = passFilterLogic(allResults.map(result => result.passingFilterItems), allResults.map(result => result.passingQuickFilterValues), filterModel, params.apiRef, filterCache);
|
|
72
73
|
}
|
|
73
74
|
}
|
|
74
75
|
filteredRowsLookup[node.id] = isPassingFiltering;
|
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 = "MTY4Njg2MjgwMDAwMA==";
|
|
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
|
|
@@ -13,7 +13,7 @@ var _xDataGridPro = require("@mui/x-data-grid-pro");
|
|
|
13
13
|
var _utils = require("@mui/utils");
|
|
14
14
|
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); }
|
|
15
15
|
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; }
|
|
16
|
-
const missingOnProcessRowUpdateErrorWarning = (0, _internals.buildWarning)(['MUI: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, e.g. `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see http://mui.com/components/data-grid/editing/#persistence.'], 'error');
|
|
16
|
+
const missingOnProcessRowUpdateErrorWarning = (0, _internals.buildWarning)(['MUI: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, e.g. `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see http://mui.com/components/data-grid/editing/#server-side-persistence.'], 'error');
|
|
17
17
|
const columnFieldsToExcludeFromPaste = [_xDataGrid.GRID_CHECKBOX_SELECTION_FIELD, _xDataGridPro.GRID_REORDER_COL_DEF.field, _xDataGridPro.GRID_DETAIL_PANEL_TOGGLE_FIELD];
|
|
18
18
|
|
|
19
19
|
// Batches rows that are updated during clipboard paste to reduce `updateRows` calls
|
|
@@ -247,11 +247,7 @@ function defaultPasteResolver({
|
|
|
247
247
|
});
|
|
248
248
|
}
|
|
249
249
|
function isPasteShortcut(event) {
|
|
250
|
-
|
|
251
|
-
if (event.code === 'KeyV' && isModifierKeyPressed) {
|
|
252
|
-
return true;
|
|
253
|
-
}
|
|
254
|
-
return false;
|
|
250
|
+
return (event.ctrlKey || event.metaKey) && event.key === 'v';
|
|
255
251
|
}
|
|
256
252
|
const useGridClipboardImport = (apiRef, props) => {
|
|
257
253
|
const processRowUpdate = props.processRowUpdate;
|
|
@@ -54,6 +54,7 @@ const filterRowTreeFromGroupingColumns = params => {
|
|
|
54
54
|
} = params;
|
|
55
55
|
const filteredRowsLookup = {};
|
|
56
56
|
const filteredDescendantCountLookup = {};
|
|
57
|
+
const filterCache = {};
|
|
57
58
|
const filterTreeNode = (node, areAncestorsExpanded, ancestorsResults) => {
|
|
58
59
|
let isPassingFiltering = false;
|
|
59
60
|
let filterResults = {
|
|
@@ -80,7 +81,7 @@ const filterRowTreeFromGroupingColumns = params => {
|
|
|
80
81
|
isPassingFiltering = filteredDescendantCount > 0;
|
|
81
82
|
} else {
|
|
82
83
|
const allResults = [...ancestorsResults, filterResults];
|
|
83
|
-
isPassingFiltering = (0, _internals.passFilterLogic)(allResults.map(result => result.passingFilterItems), allResults.map(result => result.passingQuickFilterValues), filterModel, params.apiRef);
|
|
84
|
+
isPassingFiltering = (0, _internals.passFilterLogic)(allResults.map(result => result.passingFilterItems), allResults.map(result => result.passingQuickFilterValues), filterModel, params.apiRef, filterCache);
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
87
|
filteredRowsLookup[node.id] = isPassingFiltering;
|
package/node/index.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 = "MTY4Njg2MjgwMDAwMA==";
|
|
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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-data-grid-premium",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.8.0",
|
|
4
4
|
"description": "The Premium plan edition of the data grid component (MUI X).",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./node/index.js",
|
|
@@ -33,8 +33,8 @@
|
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@babel/runtime": "^7.21.0",
|
|
35
35
|
"@mui/utils": "^5.13.1",
|
|
36
|
-
"@mui/x-data-grid": "6.
|
|
37
|
-
"@mui/x-data-grid-pro": "6.
|
|
36
|
+
"@mui/x-data-grid": "6.8.0",
|
|
37
|
+
"@mui/x-data-grid-pro": "6.8.0",
|
|
38
38
|
"@mui/x-license-pro": "6.6.0",
|
|
39
39
|
"@types/format-util": "^1.0.2",
|
|
40
40
|
"clsx": "^1.2.1",
|
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 = "MTY4Njg2MjgwMDAwMA==";
|
|
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
|