@mui/x-data-grid-pro 5.9.0 → 5.11.1
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 +284 -10
- package/DataGridPro/DataGridPro.d.ts +1 -1
- package/DataGridPro/DataGridPro.js +50 -2
- package/DataGridPro/useDataGridProComponent.js +6 -2
- package/DataGridPro/useDataGridProProps.js +20 -5
- package/LICENSE +4 -4
- package/README.md +5 -4
- package/components/DataGridProColumnHeaders.js +2 -2
- package/components/DataGridProVirtualScroller.js +7 -4
- package/components/GridGroupingCriteriaCell.js +2 -2
- package/components/GridRowReorderCell.d.ts +5 -0
- package/components/GridRowReorderCell.js +72 -0
- package/components/GridTreeDataGroupingCell.js +2 -2
- package/hooks/features/columnPinning/useGridColumnPinning.js +4 -4
- package/hooks/features/columnReorder/useGridColumnReorder.d.ts +0 -1
- package/hooks/features/columnReorder/useGridColumnReorder.js +8 -9
- package/hooks/features/columnResize/useGridColumnResize.d.ts +0 -1
- package/hooks/features/columnResize/useGridColumnResize.js +13 -14
- package/hooks/features/detailPanel/useGridDetailPanel.js +4 -4
- package/hooks/features/detailPanel/useGridDetailPanelCache.js +2 -2
- package/hooks/features/index.d.ts +1 -1
- package/hooks/features/index.js +1 -1
- package/hooks/features/infiniteLoader/useGridInfiniteLoader.d.ts +0 -1
- package/hooks/features/infiniteLoader/useGridInfiniteLoader.js +4 -5
- package/hooks/features/rowGrouping/createGroupingColDef.d.ts +1 -1
- package/hooks/features/rowGrouping/gridRowGroupingInterfaces.d.ts +1 -1
- package/hooks/features/rowGrouping/gridRowGroupingUtils.js +4 -4
- package/hooks/features/rowGrouping/useGridRowGrouping.d.ts +0 -2
- package/hooks/features/rowGrouping/useGridRowGrouping.js +6 -8
- package/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +2 -2
- package/hooks/features/rowReorder/gridRowReorderColDef.d.ts +2 -0
- package/hooks/features/rowReorder/gridRowReorderColDef.js +18 -0
- package/hooks/features/rowReorder/index.d.ts +1 -0
- package/hooks/features/rowReorder/index.js +1 -0
- package/hooks/features/rowReorder/useGridRowReorder.d.ts +8 -0
- package/hooks/features/rowReorder/useGridRowReorder.js +111 -0
- package/hooks/features/rowReorder/useGridRowReorderPreProcessors.d.ts +4 -0
- package/hooks/features/rowReorder/useGridRowReorderPreProcessors.js +51 -0
- package/hooks/features/treeData/useGridTreeData.d.ts +0 -3
- package/hooks/features/treeData/useGridTreeData.js +2 -6
- package/index.d.ts +6 -1
- package/index.js +7 -3
- package/internals/index.d.ts +19 -0
- package/internals/index.js +17 -0
- package/internals/package.json +6 -0
- package/legacy/DataGridPro/DataGridPro.js +50 -2
- package/legacy/DataGridPro/useDataGridProComponent.js +6 -2
- package/legacy/DataGridPro/useDataGridProProps.js +20 -5
- package/legacy/components/DataGridProColumnHeaders.js +2 -2
- package/legacy/components/DataGridProVirtualScroller.js +7 -4
- package/legacy/components/GridGroupingCriteriaCell.js +2 -2
- package/legacy/components/GridRowReorderCell.js +74 -0
- package/legacy/components/GridTreeDataGroupingCell.js +2 -2
- package/legacy/hooks/features/columnPinning/useGridColumnPinning.js +4 -4
- package/legacy/hooks/features/columnReorder/useGridColumnReorder.js +8 -9
- package/legacy/hooks/features/columnResize/useGridColumnResize.js +13 -14
- package/legacy/hooks/features/detailPanel/useGridDetailPanel.js +4 -4
- package/legacy/hooks/features/detailPanel/useGridDetailPanelCache.js +2 -2
- package/legacy/hooks/features/index.js +1 -1
- package/legacy/hooks/features/infiniteLoader/useGridInfiniteLoader.js +4 -5
- package/legacy/hooks/features/rowGrouping/gridRowGroupingUtils.js +5 -5
- package/legacy/hooks/features/rowGrouping/useGridRowGrouping.js +6 -8
- package/legacy/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +2 -2
- package/legacy/hooks/features/rowReorder/gridRowReorderColDef.js +20 -0
- package/legacy/hooks/features/rowReorder/index.js +1 -0
- package/legacy/hooks/features/rowReorder/useGridRowReorder.js +115 -0
- package/legacy/hooks/features/rowReorder/useGridRowReorderPreProcessors.js +52 -0
- package/legacy/hooks/features/treeData/useGridTreeData.js +2 -6
- package/legacy/index.js +7 -3
- package/legacy/internals/index.js +17 -0
- package/legacy/models/gridRowOrderChangeParams.js +1 -0
- package/legacy/models/index.js +1 -2
- package/legacy/typeOverloads/index.js +1 -0
- package/legacy/utils/index.js +1 -0
- package/legacy/utils/releaseInfo.js +1 -1
- package/legacy/utils/tree/buildRowTree.js +11 -4
- package/legacy/utils/tree/index.js +1 -0
- package/models/dataGridProProps.d.ts +36 -24
- package/models/gridApiPro.d.ts +3 -2
- package/models/gridRowOrderChangeParams.d.ts +18 -0
- package/models/gridRowOrderChangeParams.js +1 -0
- package/models/gridStatePro.d.ts +4 -3
- package/models/index.d.ts +1 -2
- package/models/index.js +1 -2
- package/modern/DataGridPro/DataGridPro.js +50 -2
- package/modern/DataGridPro/useDataGridProComponent.js +6 -2
- package/modern/DataGridPro/useDataGridProProps.js +16 -3
- package/modern/components/DataGridProColumnHeaders.js +2 -2
- package/modern/components/DataGridProVirtualScroller.js +7 -4
- package/modern/components/GridGroupingCriteriaCell.js +2 -2
- package/modern/components/GridRowReorderCell.js +72 -0
- package/modern/components/GridTreeDataGroupingCell.js +2 -2
- package/modern/hooks/features/columnPinning/useGridColumnPinning.js +4 -4
- package/modern/hooks/features/columnReorder/useGridColumnReorder.js +8 -9
- package/modern/hooks/features/columnResize/useGridColumnResize.js +13 -14
- package/modern/hooks/features/detailPanel/useGridDetailPanel.js +4 -4
- package/modern/hooks/features/detailPanel/useGridDetailPanelCache.js +2 -2
- package/modern/hooks/features/index.js +1 -1
- package/modern/hooks/features/infiniteLoader/useGridInfiniteLoader.js +4 -5
- package/modern/hooks/features/rowGrouping/gridRowGroupingUtils.js +4 -4
- package/modern/hooks/features/rowGrouping/useGridRowGrouping.js +6 -8
- package/modern/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +2 -2
- package/modern/hooks/features/rowReorder/gridRowReorderColDef.js +18 -0
- package/modern/hooks/features/rowReorder/index.js +1 -0
- package/modern/hooks/features/rowReorder/useGridRowReorder.js +111 -0
- package/modern/hooks/features/rowReorder/useGridRowReorderPreProcessors.js +51 -0
- package/modern/hooks/features/treeData/useGridTreeData.js +2 -6
- package/modern/index.js +7 -3
- package/modern/internals/index.js +17 -0
- package/modern/models/gridRowOrderChangeParams.js +1 -0
- package/modern/models/index.js +1 -2
- package/modern/typeOverloads/index.js +1 -0
- package/modern/utils/index.js +1 -0
- package/modern/utils/releaseInfo.js +1 -1
- package/modern/utils/tree/buildRowTree.js +9 -2
- package/modern/utils/tree/index.js +1 -0
- package/node/DataGridPro/DataGridPro.js +50 -2
- package/node/DataGridPro/useDataGridProComponent.js +10 -4
- package/node/DataGridPro/useDataGridProProps.js +21 -5
- package/node/components/DataGridProColumnHeaders.js +1 -1
- package/node/components/DataGridProVirtualScroller.js +6 -3
- package/node/components/GridGroupingCriteriaCell.js +1 -1
- package/node/components/GridRowReorderCell.js +92 -0
- package/node/components/GridTreeDataGroupingCell.js +1 -1
- package/node/hooks/features/columnPinning/useGridColumnPinning.js +3 -3
- package/node/hooks/features/columnReorder/useGridColumnReorder.js +7 -8
- package/node/hooks/features/columnResize/useGridColumnResize.js +12 -13
- package/node/hooks/features/detailPanel/useGridDetailPanel.js +3 -3
- package/node/hooks/features/detailPanel/useGridDetailPanelCache.js +1 -1
- package/node/hooks/features/index.js +4 -4
- package/node/hooks/features/infiniteLoader/useGridInfiniteLoader.js +3 -4
- package/node/hooks/features/rowGrouping/gridRowGroupingUtils.js +4 -4
- package/node/hooks/features/rowGrouping/useGridRowGrouping.js +5 -7
- package/node/hooks/features/rowGrouping/useGridRowGroupingPreProcessors.js +4 -4
- package/node/hooks/features/rowReorder/gridRowReorderColDef.js +31 -0
- package/node/hooks/features/rowReorder/index.js +18 -0
- package/node/hooks/features/rowReorder/useGridRowReorder.js +126 -0
- package/node/hooks/features/rowReorder/useGridRowReorderPreProcessors.js +70 -0
- package/node/hooks/features/treeData/useGridTreeData.js +1 -4
- package/node/index.js +45 -3
- package/node/internals/index.js +193 -0
- package/node/models/gridRowOrderChangeParams.js +5 -0
- package/node/models/index.js +4 -4
- package/node/typeOverloads/index.js +18 -0
- package/node/utils/index.js +18 -0
- package/node/utils/releaseInfo.js +1 -1
- package/node/utils/tree/buildRowTree.js +12 -2
- package/node/utils/tree/index.js +13 -0
- package/package.json +6 -5
- package/typeOverloads/index.d.ts +1 -0
- package/typeOverloads/index.js +1 -0
- package/typeOverloads/modules.d.ts +41 -15
- package/typeOverloads/package.json +6 -0
- package/utils/index.d.ts +1 -0
- package/utils/index.js +1 -0
- package/utils/package.json +6 -0
- package/utils/releaseInfo.js +1 -1
- package/utils/tree/buildRowTree.d.ts +1 -0
- package/utils/tree/buildRowTree.js +9 -2
- package/utils/tree/index.d.ts +1 -0
- package/utils/tree/index.js +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,280 @@
|
|
|
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
|
+
## v5.11.1
|
|
7
|
+
|
|
8
|
+
_May 20, 2022_
|
|
9
|
+
|
|
10
|
+
We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
|
|
11
|
+
|
|
12
|
+
- 🌍 Support localization on the date and time picker components (#4517) @alexfauquette
|
|
13
|
+
|
|
14
|
+
Texts can be translated in the pickers components, similar to what can be done in the data grid component. Check the [documentation](https://mui.com/x/react-date-pickers/localization/) for more information.
|
|
15
|
+
|
|
16
|
+
- 📃 Add support for column spanning when exporting to Excel (#4830) @cherniavskii
|
|
17
|
+
|
|
18
|
+
<img src="https://user-images.githubusercontent.com/13808724/167691417-bf6baeb9-d409-4134-acb6-aadaf6434de9.png" width="800">
|
|
19
|
+
|
|
20
|
+
- 🐞 Bugs fixes
|
|
21
|
+
|
|
22
|
+
### `@mui/x-data-grid@v5.11.1` / `@mui/x-data-grid-pro@v5.11.1` / `@mui/x-data-grid-premium@v5.11.1`
|
|
23
|
+
|
|
24
|
+
#### Changes
|
|
25
|
+
|
|
26
|
+
- [DataGrid] Add a CSS class corresponding to current density (#4858) @m4theushw
|
|
27
|
+
- [DataGrid] Execute the pipe-processors in their initialization order (#4913) @flaviendelangle
|
|
28
|
+
- [DataGrid] Fix rendering of the no rows overlay when the `loading` prop is changed (#4910) @m4theushw
|
|
29
|
+
- [DataGridPremium] Add `exceljs` to the dependencies (#4939) @alexfauquette
|
|
30
|
+
- [DataGridPremium] Support column spanning in the Excel export (#4830) @cherniavskii
|
|
31
|
+
- [l10n] Improve Russian (ru-RU) locale (#4864) @arvkonstantin
|
|
32
|
+
|
|
33
|
+
### `@mui/x-date-pickers@5.0.0-alpha.4` / `@mui/x-date-pickers-pro@5.0.0-alpha.4`
|
|
34
|
+
|
|
35
|
+
#### Breaking changes
|
|
36
|
+
|
|
37
|
+
- The props related to the action bar buttons have been removed (`clearable`, `showTodayButton`, `cancelText`, `okText`)
|
|
38
|
+
|
|
39
|
+
To decide which button must be displayed and in which order, you can now use the `actions` prop of the `actionBar` component slot props.
|
|
40
|
+
|
|
41
|
+
```jsx
|
|
42
|
+
<DatePicker
|
|
43
|
+
componentsProps={{
|
|
44
|
+
actionBar: {
|
|
45
|
+
// The actions will be the same between desktop and mobile
|
|
46
|
+
actions: ['clear'],
|
|
47
|
+
|
|
48
|
+
// The actions will be different between desktop and mobile
|
|
49
|
+
actions: (variant) => variant === 'desktop' ? [] : ['clear'],
|
|
50
|
+
}
|
|
51
|
+
}}
|
|
52
|
+
/>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
The build-in `ActionBar` component supports 4 different actions: `'clear'`, `'cancel'`, `'accept'`, and `'today'`.
|
|
56
|
+
By default, the pickers will render the cancel and accept button on mobile and no action on desktop.
|
|
57
|
+
|
|
58
|
+
If you need other actions, you can provide your own component to the `ActionBar` component slot
|
|
59
|
+
|
|
60
|
+
```jsx
|
|
61
|
+
<DatePicker
|
|
62
|
+
components={{ ActionBar: CustomActionBar }}
|
|
63
|
+
/>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
#### Changes
|
|
67
|
+
|
|
68
|
+
- [DatePicker] Fix keyboard accessibility for first and last year (#4807) @alexfauquette
|
|
69
|
+
- [pickers] Add component slot for action bar (#4778) @alexfauquette
|
|
70
|
+
- [pickers] Add l10n support (#4517) @alexfauquette
|
|
71
|
+
- [pickers] Close Popper when pressing <kbd>Esc</kbd> inside a modal (#4499) @alexfauquette
|
|
72
|
+
- [pickers] Support class slots on toolbar components (#4855) @flaviendelangle
|
|
73
|
+
- [TimePicker] Fix time validation when current date is `null` (#4867) @flaviendelangle
|
|
74
|
+
|
|
75
|
+
### Docs
|
|
76
|
+
|
|
77
|
+
- [docs] Add 301 redirect for columns page (#4940) @alexfauquette
|
|
78
|
+
- [docs] Avoid confusion with license key installation (#4891) @oliviertassinari
|
|
79
|
+
- [docs] Complete the instructions for pickers installation in readme (#4852) @alexfauquette
|
|
80
|
+
- [docs] Disable ads on paid-only pages (#4842) @flaviendelangle
|
|
81
|
+
- [docs] Don't redirect to localized doc on deploy preview (#4818) @m4theushw
|
|
82
|
+
- [docs] Limit `LICENSE` file to 80 char per line (#4873) @oliviertassinari
|
|
83
|
+
- [docs] Typo on OrderId @oliviertassinari
|
|
84
|
+
- [docs] Update feature comparison table (#4918) @cherniavskii
|
|
85
|
+
|
|
86
|
+
### Core
|
|
87
|
+
|
|
88
|
+
- [core] Add new script to generate tree data rows from file tree (#4902) @flaviendelangle
|
|
89
|
+
- [core] Fix code style (#4874) @oliviertassinari
|
|
90
|
+
- [core] Fix React 18 peer dependency (#4908) @oliviertassinari
|
|
91
|
+
- [core] Fix link to the LICENSE file (#4875) @oliviertassinari
|
|
92
|
+
- [core] Fix transitive babel dependency (#4793) @oliviertassinari
|
|
93
|
+
- [core] New pipe processing `rowHydration` (#4896) @flaviendelangle
|
|
94
|
+
- [core] Remove dead code for the docs (#4791) @oliviertassinari
|
|
95
|
+
- [core] Run `yarn prettier` @oliviertassinari
|
|
96
|
+
- [core] Polishes on `CHANGELOG.md` (#4876) @oliviertassinari
|
|
97
|
+
- [core] Simplify rows cache management (#4933) @flaviendelangle
|
|
98
|
+
- [core] Use internal icons for quick filter (#4912) @alexfauquette
|
|
99
|
+
|
|
100
|
+
## v5.11.0
|
|
101
|
+
|
|
102
|
+
_May 13, 2022_
|
|
103
|
+
|
|
104
|
+
We'd like to offer a big thanks to the 15 contributors who made this release possible. Here are some highlights ✨:
|
|
105
|
+
|
|
106
|
+
- 🚀 **Premium plan release**. We're happy to announce that the Premium plan is [finally out](https://mui.com/blog/premium-plan-release/)! With it, MUI X officially steps up to the next level, supporting the most advanced use cases for UI components.
|
|
107
|
+
|
|
108
|
+
This plan is available through the new `@mui/x-data-grid-premium` package, which contains the row grouping and the Excel export features.
|
|
109
|
+
|
|
110
|
+
If you were already using the row grouping feature, you can upgrade by [installing](https://mui.com/x/react-data-grid/getting-started/#installation) `@mui/x-data-grid-premium` and replace `DataGridPro` with `DataGridPremium`, as follows. Note that the experimental flag is not required anymore to use the row grouping.
|
|
111
|
+
|
|
112
|
+
```diff
|
|
113
|
+
-import { DataGridPro } from '@mui/x-data-grid-pro';
|
|
114
|
+
+import { DataGridPremium } from '@mui/x-data-grid-premium';
|
|
115
|
+
|
|
116
|
+
-<DataGridPro experimentalFeatures={{ rowGrouping: true }} />
|
|
117
|
+
+<DataGridPremium />
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
For more information about the revised pricing model please have a look at the [blog post](https://mui.com/blog/premium-plan-release/#the-new-licensing-model).
|
|
121
|
+
|
|
122
|
+
- 👔 **Excel export**. You can find this new Premium feature at: https://mui.com/x/react-data-grid/export/#excel-export.
|
|
123
|
+
|
|
124
|
+
- 🔎 **Quick filtering**. You can now add a quick filtering search bar to your grid. To do so, either pass `showQuickFilter` prop to the `<GridToolbar />` or use the `<GridToolbarQuickFilter />` component in your custom toolbar. More information about how to customize the filtering logic is in the [documentation]( https://mui.com/x/react-data-grid/filtering/#quick-filter).
|
|
125
|
+
|
|
126
|
+
<img src="https://user-images.githubusercontent.com/13808724/167700105-5a5acc7c-5463-4871-8514-3d09e2f365ae.png" width="724">
|
|
127
|
+
|
|
128
|
+
- 🐞 Bugs fixes
|
|
129
|
+
|
|
130
|
+
### `@mui/x-data-grid@v5.11.0` / `@mui/x-data-grid-pro@v5.11.0` / `@mui/x-data-grid-premium@v5.11.0`
|
|
131
|
+
|
|
132
|
+
#### Breaking changes
|
|
133
|
+
|
|
134
|
+
- Move row grouping to the premium package (#4223) @flaviendelangle
|
|
135
|
+
|
|
136
|
+
The use of `rowGrouping` in the `@mui/x-data-grid-pro` package is deprecated. The experimental flag will be removed in an upcoming release.
|
|
137
|
+
|
|
138
|
+
#### Changes
|
|
139
|
+
|
|
140
|
+
- [DataGrid] Add TypeScript support to the `sx` prop in inner components (#4743) @lindapaiste
|
|
141
|
+
- [DataGrid] Add props to control cell mode (#4210) @m4theushw
|
|
142
|
+
- [DataGrid] Add quick filtering engine (#4317) @alexfauquette
|
|
143
|
+
- [DataGrid] Check focus validity whenever the rows in state changes (#4683) @flaviendelangle
|
|
144
|
+
- [DataGrid] Fix infinite scroll when dragging column header cell over row cell (#4735) @DjoSmer
|
|
145
|
+
- [DataGrid] Fix scroll jump when using keyboard navigation (#4515) @cherniavskii
|
|
146
|
+
- [DataGrid] Improve sorting accessibility (#4379) @cherniavskii
|
|
147
|
+
- [DataGrid] New `getRowGroupChildren` API method (#4304) @flaviendelangle
|
|
148
|
+
- [DataGrid] Publish `preferencePanelClose` event only once when clicking on another panel button (#4810) @flaviendelangle
|
|
149
|
+
- [DataGrid] Update focused action if the currently focused one is removed (#4694) @m4theushw
|
|
150
|
+
- [DataGrid] Add `onChange` callback to edit components (#4621) @m4theushw
|
|
151
|
+
- [DataGrid] Add `keepNonExistentRowsSelected` prop (#4786) @willsoto
|
|
152
|
+
- [DataGrid] Prevent crash if row is removed with click (#4831) @m4theushw
|
|
153
|
+
- [DataGridPro] Fix detail panel not taking full width (#4610) @cherniavskii
|
|
154
|
+
- [DataGridPremium] Add Excel export (#3981) @alexfauquette
|
|
155
|
+
- [DataGridPremium] Bootstrap `@mui/x-data-grid-premium` (#4223) @flaviendelangle
|
|
156
|
+
- [DataGridPremium] Fix Excel date serialization when row grouping is enabled (#4774) @cherniavskii
|
|
157
|
+
- [l10n] Improve German (de-DE) locale (#4748) @sebastianfrey
|
|
158
|
+
- [l10n] Improve German (de-DE) locale (#4668) @izu-co
|
|
159
|
+
|
|
160
|
+
### `@mui/x-date-pickers@5.0.0-alpha.3` / `@mui/x-date-pickers-pro@5.0.0-alpha.3`
|
|
161
|
+
|
|
162
|
+
#### Breaking changes
|
|
163
|
+
|
|
164
|
+
- Rework the auto-closing behavior of the pickers (#4408) @flaviendelangle
|
|
165
|
+
|
|
166
|
+
The `disableCloseOnSelect` prop has been replaced by a new `closeOnSelect` prop which has the opposite behavior.
|
|
167
|
+
The default behavior remains the same (close after the last step on desktop but not on mobile).
|
|
168
|
+
|
|
169
|
+
```diff
|
|
170
|
+
// If you don't want to close after the last step
|
|
171
|
+
-<DatePicker disableCloseOnSelect={false} />
|
|
172
|
+
+<DatePicker closeOnSelect />
|
|
173
|
+
|
|
174
|
+
// If you want to close after the last step
|
|
175
|
+
-<DatePicker disableCloseOnSelect />
|
|
176
|
+
+<DatePicker closeOnSelect={false} />
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
#### Changes
|
|
180
|
+
|
|
181
|
+
- [DatePicker] Ignore <kbd>Escape</kbd> when the picker is already closed (#4770) @mikewolfd
|
|
182
|
+
- [DatePicker] Make month year order changeable in header (#4695) @gky360
|
|
183
|
+
- [DateRangePicker] Open view on click, <kbd>Enter</kbd> or <kbd>Space</kbd> instead of focus (#4747) @alexfauquette
|
|
184
|
+
- [DateRangePicker] Refactor tests (#4745) @flaviendelangle
|
|
185
|
+
- [DateRangePicker] Remove `orientation` prop (#4665) @m4theushw
|
|
186
|
+
- [DateTimePicker] `Toolbar` should be visible by default on mobile (#4833) @flaviendelangle
|
|
187
|
+
- [MonthPicker] New prop `shouldDisableMonth` (#4708) @someone635
|
|
188
|
+
- [TimePicker] Disable and invalidate date with minutes not matching `minutesStep` (#4726) @flaviendelangle
|
|
189
|
+
- [TimePicker] Don't merge with previous value when new value is not valid (#4847) @flaviendelangle
|
|
190
|
+
- [TimePicker] Refactor `isTimeDisabled` method (#4688) @flaviendelangle
|
|
191
|
+
- [pickers] Add details in invalid mask error (#4501) @alexfauquette
|
|
192
|
+
- [pickers] Add explicit interfaces for components slots and components slots props (#4589) @flaviendelangle
|
|
193
|
+
- [pickers] Add missing `peerDependencies` for `yarn pnp` users (#4763) @nate-summercook
|
|
194
|
+
- [pickers] Add overrides to `PickersArrowSwitcher` (#4672) @m4theushw
|
|
195
|
+
- [pickers] Clean component interfaces and remove non-implemented props (#4758) @flaviendelangle
|
|
196
|
+
- [pickers] Do not apply the current time when no date provided in `DayPicker` (#4649) @flaviendelangle
|
|
197
|
+
- [pickers] Document and refacto the value manager (#4701) @flaviendelangle
|
|
198
|
+
- [pickers] Drop `allowSameDateSelection` prop (#4808) @flaviendelangle
|
|
199
|
+
- [pickers] Enable mask by default when using `ampm=true` (#4731) @alexfauquette
|
|
200
|
+
- [pickers] Fix `disabled` and `readOnly` behavior on calendar and clock (#4645) @alexfauquette
|
|
201
|
+
- [pickers] Invalid character does not delete last digit (#4839) @alexfauquette
|
|
202
|
+
- [pickers] Rename prop `date` into `parsedValue` when it can contain a range (#4736) @flaviendelangle
|
|
203
|
+
- [pickers] Rework `TDate`, `TInputDate`, `TValue` and `TInputValue` generics (#4617) @flaviendelangle
|
|
204
|
+
- [pickers] Rework the date lifecycle in `usePickerState` (#4408) @flaviendelangle
|
|
205
|
+
|
|
206
|
+
### Docs
|
|
207
|
+
|
|
208
|
+
- [docs] Add `scopePathNames` property to column page (#4811) @flaviendelangle
|
|
209
|
+
- [docs] Add label to each demo (#4667) @m4theushw
|
|
210
|
+
- [docs] Correctly capitalize <kbd>Ctrl</kbd> (#4707) @oliviertassinari
|
|
211
|
+
- [docs] Fix documentation on `ampm` prop (#4846) @alexfauquette
|
|
212
|
+
- [docs] Generate the event documentation from `GridEventLookup` (#4725) @flaviendelangle
|
|
213
|
+
- [docs] Keep columns section expanded when switching between pages (#4816) @cherniavskii
|
|
214
|
+
- [docs] Move `useKeepGroupingColumnsHidden` on `@mui/x-data-grid-premium` (#4319) @flaviendelangle
|
|
215
|
+
- [docs] Remove legacy pages for old URLs (#4575) @m4theushw
|
|
216
|
+
- [docs] Remove remaining pages in `docs/pages/api-docs` folder (#4709) @m4theushw
|
|
217
|
+
- [docs] SEO fixes (#4711) @oliviertassinari
|
|
218
|
+
- [docs] Set type number to movie column year (#4753) @flaviendelangle
|
|
219
|
+
- [docs] Simplify server examples (#4186) @alexfauquette
|
|
220
|
+
- [docs] Small typo (#4670) @flaviendelangle
|
|
221
|
+
- [docs] Split the 'Columns' page (#4600) @flaviendelangle
|
|
222
|
+
- [docs] Stop using `GridEvents` enum in documentation (#4699) @flaviendelangle
|
|
223
|
+
- [docs] Update mono repo to get copy code block (#4691) @siriwatknp
|
|
224
|
+
- [docs] Update the feature table in the Getting Started page of the data grid (#4619) @flaviendelangle
|
|
225
|
+
- [docs] Add demo for Premium (#4750) @m4theushw
|
|
226
|
+
|
|
227
|
+
### Core
|
|
228
|
+
|
|
229
|
+
- [core] Check if `process` is available (#4193) @m4theushw
|
|
230
|
+
- [core] Fix naming collision (#4853) @alexfauquette
|
|
231
|
+
- [core] Prevent out-of-memory when type-checking in CI (#4697) @flaviendelangle
|
|
232
|
+
- [core] Remove `rowsCache` from state (#4480) @m4theushw
|
|
233
|
+
- [core] Rework `DayPicker` api (#4783) @flaviendelangle
|
|
234
|
+
- [core] Update `x-license-pro` license to handle premium package (#4315) @DanailH
|
|
235
|
+
- [core] Update monorepo & version (#4789) @oliviertassinari
|
|
236
|
+
- [core] Update monorepo (#4772) @flaviendelangle
|
|
237
|
+
- [core] Stop using `GridEvents` enum (#4698, #4696, #4685) @flaviendelangle
|
|
238
|
+
- [core] Update monorepo (#4854) @cherniavskii
|
|
239
|
+
- [license] Allow to limit some packages to a specific license plan (#4651) @flaviendelangle
|
|
240
|
+
- [test] Fix path to detect `DataGrid` tests (#4752) @m4theushw
|
|
241
|
+
- [test] Reset cleanup tracking on Karma tests (#4679) @m4theushw
|
|
242
|
+
- [test] Restore `sinon` sandbox after each `karma` test (#4689) @m4theushw
|
|
243
|
+
|
|
244
|
+
## v5.10.0
|
|
245
|
+
|
|
246
|
+
_Apr 25, 2022_
|
|
247
|
+
|
|
248
|
+
We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
|
|
249
|
+
|
|
250
|
+
- 🎁 Introduce [Row reorder](https://mui.com/x/react-data-grid/rows/#row-reorder) (#4034) @DanailH
|
|
251
|
+
|
|
252
|
+
<img src="https://user-images.githubusercontent.com/5858539/165091263-23472fbb-a989-44b8-849a-d2185adfe13b.gif" width="800">
|
|
253
|
+
|
|
254
|
+
- 🐞 Bug fixes
|
|
255
|
+
|
|
256
|
+
### `@mui/x-data-grid@v5.10.0` / `@mui/x-data-grid-pro@v5.10.0`
|
|
257
|
+
|
|
258
|
+
- [DataGrid] Don't close column menu when updating rows (#4498) @m4theushw
|
|
259
|
+
- [DataGridPro] Introduce row reorder (#4034) @DanailH
|
|
260
|
+
|
|
261
|
+
### `@mui/x-date-pickers@5.0.0-alpha.2` / `@mui/x-date-pickers-pro@5.0.0-alpha.2`
|
|
262
|
+
|
|
263
|
+
- [pickers] Pass `PaperProps` to `DesktopWrapper` component (#4584) @alexfauquette
|
|
264
|
+
- [TimePicker] Fix bug when time picker clear value (#4582) @alexfauquette
|
|
265
|
+
- [DateRangePicker] Fix missing `clearable` and `clearText` props (#4511) @zigang93
|
|
266
|
+
|
|
267
|
+
### Docs
|
|
268
|
+
|
|
269
|
+
- [docs] Add plan in the nav bar for pro-only and premium-only pages (#4591) @flaviendelangle
|
|
270
|
+
- [docs] Clarify where to install the license (#4452) @oliviertassinari
|
|
271
|
+
- [docs] Fix CodeSandbox links for demo with pickers (#4570) @alexfauquette
|
|
272
|
+
- [docs] Include date-fns dependency when opening demos in CodeSandbox (#4508) @m4theushw
|
|
273
|
+
- [docs] Split the 'Group & Pivot' page (#4441) @flaviendelangle
|
|
274
|
+
|
|
275
|
+
### Core
|
|
276
|
+
|
|
277
|
+
- [core] Fix the README of the X packages (#4590) @flaviendelangle
|
|
278
|
+
- [test] Fix test to not depend on screen resolution (#4587) @m4theushw
|
|
279
|
+
|
|
6
280
|
## v5.9.0
|
|
7
281
|
|
|
8
282
|
_Apr 14, 2022_
|
|
@@ -13,7 +287,7 @@ We'd like to offer a big thanks to the 9 contributors who made this release poss
|
|
|
13
287
|
|
|
14
288
|
Now the data grid and pickers components support the concurrent mode.
|
|
15
289
|
|
|
16
|
-
- 🎁 Add support for [Column spanning](https://mui.com/x/react-data-grid/
|
|
290
|
+
- 🎁 Add support for [Column spanning](https://mui.com/x/react-data-grid/column-spanning/) (#4020) @cherniavskii
|
|
17
291
|
|
|
18
292
|
<img src="https://user-images.githubusercontent.com/13808724/162926746-93bcb180-3c9d-4eb9-afc7-c3908a5c6406.png" width="788">
|
|
19
293
|
|
|
@@ -636,7 +910,7 @@ A big thanks to the 9 contributors who made this release possible. Here are some
|
|
|
636
910
|
/>
|
|
637
911
|
```
|
|
638
912
|
|
|
639
|
-
See the [documentation](https://mui.com/x/react-data-grid/
|
|
913
|
+
See the [documentation](https://mui.com/x/react-data-grid/column-visibility/) for more details.
|
|
640
914
|
|
|
641
915
|
The `hide` property from `GridColDef` still works but has been deprecated.
|
|
642
916
|
|
|
@@ -792,7 +1066,7 @@ A big thanks to the 5 contributors who made this release possible. Here are some
|
|
|
792
1066
|
|
|
793
1067
|
### `@mui/x-data-grid@v5.2.0` / `@mui/x-data-grid-pro@v5.2.0`
|
|
794
1068
|
|
|
795
|
-
- 🚀 Introduce the [column pinning](https://mui.com/x/react-data-grid/
|
|
1069
|
+
- 🚀 Introduce the [column pinning](https://mui.com/x/react-data-grid/column-pinning/) feature (#2946) @m4theushw
|
|
796
1070
|
|
|
797
1071
|
<img src="https://user-images.githubusercontent.com/42154031/145425635-b6314fbe-2f1e-4b73-908f-33ee1fda20c7.gif" width="964" height="657">
|
|
798
1072
|
|
|
@@ -1746,7 +2020,7 @@ A big thanks to the 9 contributors who made this release possible. Here are some
|
|
|
1746
2020
|
- 📚 Migrate to the new documentation infrastructure and design (#2441) (@DanailH, @m4theushw)
|
|
1747
2021
|
- 🎁 Add `actions` column type (#2385) @m4theushw
|
|
1748
2022
|
|
|
1749
|
-
See the documentation for [more details](https://mui.com/x/react-data-grid/
|
|
2023
|
+
See the documentation for [more details](https://mui.com/x/react-data-grid/column-definition/#column-types).
|
|
1750
2024
|
|
|
1751
2025
|
- 👁 Allow to disable virtualization with the `disableVirtualization` prop (#2326) @m4theushw
|
|
1752
2026
|
- 🚀 Introduce the new `isRowSelected` api method (#2523) @flaviendelangle
|
|
@@ -2368,11 +2642,11 @@ _July 1, 2021_
|
|
|
2368
2642
|
Big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
|
|
2369
2643
|
|
|
2370
2644
|
- 🐞 As a focus of Q2, we have kept fixing bugs
|
|
2371
|
-
- 💅 End users are now allowed to copy the selected rows to the clipboard with <kbd>
|
|
2645
|
+
- 💅 End users are now allowed to copy the selected rows to the clipboard with <kbd>Ctrl</kbd> + <kbd>c</kbd> (#1929) @m4theushw
|
|
2372
2646
|
- 🐛 We have fixed the `Select all` checkbox. When triggered, it should only select the filtered rows (#1879) @ZeeshanTamboli
|
|
2373
2647
|
- ⚡️ We have added a new `singleSelect` column type (#1956) @DanailH
|
|
2374
2648
|
|
|
2375
|
-
Using the column `type: 'singleSelect'` defaults to `Select` component when the cell is in `edit` mode. You can find the documentation [following this link](https://mui.com/x/react-data-grid/
|
|
2649
|
+
Using the column `type: 'singleSelect'` defaults to `Select` component when the cell is in `edit` mode. You can find the documentation [following this link](https://mui.com/x/react-data-grid/column-definition/#column-types).
|
|
2376
2650
|
|
|
2377
2651
|
```jsx
|
|
2378
2652
|
<DataGrid
|
|
@@ -2568,7 +2842,7 @@ _June 9, 2021_
|
|
|
2568
2842
|
Big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
|
|
2569
2843
|
|
|
2570
2844
|
- 💅 Allow to customize GridToolbarExport's CSV export (#1695) @michallukowski
|
|
2571
|
-
- 🐛 Allow to deselect rows with <kbd>
|
|
2845
|
+
- 🐛 Allow to deselect rows with <kbd>Ctrl</kbd> + click (#1813) @ZeeshanTamboli
|
|
2572
2846
|
- ⚡️ Refactor scroll size detector (#1703) @dtassone
|
|
2573
2847
|
- 📖 Add [documentation](https://mui.com/x/api/data-grid/) for interfaces and events (#1529) @m4theushw
|
|
2574
2848
|
- 🐞 Bugfixes
|
|
@@ -2595,7 +2869,7 @@ Big thanks to the 6 contributors who made this release possible. Here are some h
|
|
|
2595
2869
|
|
|
2596
2870
|
- [DataGrid] Add `valueParser` to parse values entered by the user (#1785) @m4theushw
|
|
2597
2871
|
- [DataGrid] Allow to customize GridToolbarExport's CSV export (#1695) @michallukowski
|
|
2598
|
-
- [DataGrid] Allow to deselect rows with <kbd>
|
|
2872
|
+
- [DataGrid] Allow to deselect rows with <kbd>Ctrl</kbd> + click (#1813) @ZeeshanTamboli
|
|
2599
2873
|
- [DataGrid] Improve general architecture to better isolate hooks (#1720) @dtassone
|
|
2600
2874
|
- [DataGrid] Fix cell height after changing grid density (#1819) @DanailH
|
|
2601
2875
|
- [DataGrid] Fix fluid columns width when available `viewportWidth` < 0 (#1816) @DanailH
|
|
@@ -3117,7 +3391,7 @@ Big thanks to the 8 contributors who made this release possible. Here are some h
|
|
|
3117
3391
|
- [DataGrid] Rename `useGridBaseComponentProps` hook to `useGridSlotComponentProps` (#1252) @DanailH
|
|
3118
3392
|
- [DataGrid] Rename modules (#1292) @DanailH
|
|
3119
3393
|
- [DataGrid] Rename all events related to column reordering, e.g. `GRID_COL_REORDER_START` -> `GRID_COLUMN_REORDER_START` (#1299) @m4theushw
|
|
3120
|
-
- [DataGrid] Methods `onColItemDragStart`, `onColHeaderDragOver`, `onColItemDragOver`, `onColItemDragEnter` removed from the grid API. Prefer listening to [column reordering events](https://mui.com/x/react-data-grid/
|
|
3394
|
+
- [DataGrid] Methods `onColItemDragStart`, `onColHeaderDragOver`, `onColItemDragOver`, `onColItemDragEnter` removed from the grid API. Prefer listening to [column reordering events](https://mui.com/x/react-data-grid/column-ordering/) (#1299) @m4theushw
|
|
3121
3395
|
- [DataGrid] Calling `apiRef.current.getColumnHeaderParams` returns a `GridColumnHeaderParams` instead of `GridColParams` (#1299) @m4theushw
|
|
3122
3396
|
- [DataGrid] Events that follow the pattern `GRID_COLUMN_HEADER_xxx` will be called with a `GridColumnHeaderParams` instead of `GridColParams` (#1299) @m4theushw
|
|
3123
3397
|
- [DataGrid] The `renderHeader` will be called with a `GridColumnHeaderParams` instead of `GridColParams` (#1299) @m4theushw
|
|
@@ -3485,7 +3759,7 @@ _Jan 14, 2021_
|
|
|
3485
3759
|
Big thanks to the 4 contributors who made this release possible. Here are some highlights ✨:
|
|
3486
3760
|
|
|
3487
3761
|
- 🎛 Add support for Column selector (#837) @DanailH @dtassone.
|
|
3488
|
-
The feature can be triggered from the toolbar or the column menu. Check [the documentation](https://mui.com/x/react-data-grid/
|
|
3762
|
+
The feature can be triggered from the toolbar or the column menu. Check [the documentation](https://mui.com/x/react-data-grid/column-definition/#column-selector).
|
|
3489
3763
|
|
|
3490
3764
|

|
|
3491
3765
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { GridValidRowModel } from '@mui/x-data-grid';
|
|
3
|
-
import { DataGridProProps } from '../models';
|
|
3
|
+
import { DataGridProProps } from '../models/dataGridProProps';
|
|
4
4
|
interface DataGridProComponent {
|
|
5
5
|
<R extends GridValidRowModel = any>(props: DataGridProProps<R> & React.RefAttributes<HTMLDivElement>): JSX.Element;
|
|
6
6
|
propTypes?: any;
|
|
@@ -72,6 +72,11 @@ DataGridProRaw.propTypes = {
|
|
|
72
72
|
*/
|
|
73
73
|
autoPageSize: PropTypes.bool,
|
|
74
74
|
|
|
75
|
+
/**
|
|
76
|
+
* Controls the modes of the cells.
|
|
77
|
+
*/
|
|
78
|
+
cellModesModel: PropTypes.object,
|
|
79
|
+
|
|
75
80
|
/**
|
|
76
81
|
* If `true`, the grid get a first column with a checkbox that allows to select rows.
|
|
77
82
|
* @default false
|
|
@@ -225,7 +230,7 @@ DataGridProRaw.propTypes = {
|
|
|
225
230
|
disableMultipleColumnsSorting: PropTypes.bool,
|
|
226
231
|
|
|
227
232
|
/**
|
|
228
|
-
* If `true`, multiple selection using the
|
|
233
|
+
* If `true`, multiple selection using the Ctrl or CMD key is disabled.
|
|
229
234
|
* @default false
|
|
230
235
|
*/
|
|
231
236
|
disableMultipleSelection: PropTypes.bool,
|
|
@@ -298,7 +303,9 @@ DataGridProRaw.propTypes = {
|
|
|
298
303
|
operatorValue: PropTypes.string,
|
|
299
304
|
value: PropTypes.any
|
|
300
305
|
})).isRequired,
|
|
301
|
-
linkOperator: PropTypes.oneOf(['and', 'or'])
|
|
306
|
+
linkOperator: PropTypes.oneOf(['and', 'or']),
|
|
307
|
+
quickFilterLogicOperator: PropTypes.oneOf(['and', 'or']),
|
|
308
|
+
quickFilterValues: PropTypes.array
|
|
302
309
|
}),
|
|
303
310
|
|
|
304
311
|
/**
|
|
@@ -430,6 +437,14 @@ DataGridProRaw.propTypes = {
|
|
|
430
437
|
*/
|
|
431
438
|
isRowSelectable: PropTypes.func,
|
|
432
439
|
|
|
440
|
+
/**
|
|
441
|
+
* If `true`, the selection model will retain selected rows that do not exist.
|
|
442
|
+
* Useful when using server side pagination and row selections need to be retained
|
|
443
|
+
* when changing pages.
|
|
444
|
+
* @default false
|
|
445
|
+
*/
|
|
446
|
+
keepNonExistentRowsSelected: PropTypes.bool,
|
|
447
|
+
|
|
433
448
|
/**
|
|
434
449
|
* If `true`, a loading overlay is displayed.
|
|
435
450
|
*/
|
|
@@ -517,6 +532,13 @@ DataGridProRaw.propTypes = {
|
|
|
517
532
|
*/
|
|
518
533
|
onCellKeyDown: PropTypes.func,
|
|
519
534
|
|
|
535
|
+
/**
|
|
536
|
+
* Callback fired when the `cellModesModel` prop changes.
|
|
537
|
+
* @param {GridCellModesModel} cellModesModel Object containig which cells are in "edit" mode.
|
|
538
|
+
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
539
|
+
*/
|
|
540
|
+
onCellModesModelChange: PropTypes.func,
|
|
541
|
+
|
|
520
542
|
/**
|
|
521
543
|
* Callback fired when a click event comes from a column header element.
|
|
522
544
|
* @param {GridColumnHeaderParams} params With all properties from [[GridColumnHeaderParams]].
|
|
@@ -740,6 +762,21 @@ DataGridProRaw.propTypes = {
|
|
|
740
762
|
*/
|
|
741
763
|
onRowGroupingModelChange: PropTypes.func,
|
|
742
764
|
|
|
765
|
+
/**
|
|
766
|
+
* Callback fired when the `rowModesModel` prop changes.
|
|
767
|
+
* @param {GridRowModesModel} rowModesModel Object containig which rows are in "edit" mode.
|
|
768
|
+
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
769
|
+
*/
|
|
770
|
+
onRowModesModelChange: PropTypes.func,
|
|
771
|
+
|
|
772
|
+
/**
|
|
773
|
+
* Callback fired when a row is being reordered.
|
|
774
|
+
* @param {GridRowOrderChangeParams} params With all properties from [[GridRowOrderChangeParams]].
|
|
775
|
+
* @param {MuiEvent<{}>} event The event object.
|
|
776
|
+
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
777
|
+
*/
|
|
778
|
+
onRowOrderChange: PropTypes.func,
|
|
779
|
+
|
|
743
780
|
/**
|
|
744
781
|
* Callback fired when scrolling to the bottom of the grid viewport.
|
|
745
782
|
* @param {GridRowScrollEndParams} params With all properties from [[GridRowScrollEndParams]].
|
|
@@ -846,6 +883,17 @@ DataGridProRaw.propTypes = {
|
|
|
846
883
|
*/
|
|
847
884
|
rowHeight: PropTypes.number,
|
|
848
885
|
|
|
886
|
+
/**
|
|
887
|
+
* Controls the modes of the rows.
|
|
888
|
+
*/
|
|
889
|
+
rowModesModel: PropTypes.object,
|
|
890
|
+
|
|
891
|
+
/**
|
|
892
|
+
* If `true`, the reordering of rows is enabled.
|
|
893
|
+
* @default false
|
|
894
|
+
*/
|
|
895
|
+
rowReordering: PropTypes.bool,
|
|
896
|
+
|
|
849
897
|
/**
|
|
850
898
|
* Set of rows of type [[GridRowsProp]].
|
|
851
899
|
*/
|
|
@@ -5,13 +5,15 @@ import { useGridColumnReorder, columnReorderStateInitializer } from '../hooks/fe
|
|
|
5
5
|
import { useGridColumnResize, columnResizeStateInitializer } from '../hooks/features/columnResize/useGridColumnResize';
|
|
6
6
|
import { useGridTreeData } from '../hooks/features/treeData/useGridTreeData';
|
|
7
7
|
import { useGridTreeDataPreProcessors } from '../hooks/features/treeData/useGridTreeDataPreProcessors';
|
|
8
|
-
import { useGridRowGrouping, rowGroupingStateInitializer } from '../hooks/features/rowGrouping/useGridRowGrouping';
|
|
9
|
-
import { useGridRowGroupingPreProcessors } from '../hooks/features/rowGrouping/useGridRowGroupingPreProcessors';
|
|
10
8
|
import { useGridColumnPinning, columnPinningStateInitializer } from '../hooks/features/columnPinning/useGridColumnPinning';
|
|
11
9
|
import { useGridColumnPinningPreProcessors } from '../hooks/features/columnPinning/useGridColumnPinningPreProcessors';
|
|
12
10
|
import { useGridDetailPanel, detailPanelStateInitializer } from '../hooks/features/detailPanel/useGridDetailPanel';
|
|
13
11
|
import { useGridDetailPanelCache } from '../hooks/features/detailPanel/useGridDetailPanelCache';
|
|
14
12
|
import { useGridDetailPanelPreProcessors } from '../hooks/features/detailPanel/useGridDetailPanelPreProcessors';
|
|
13
|
+
import { useGridRowReorder } from '../hooks/features/rowReorder/useGridRowReorder';
|
|
14
|
+
import { useGridRowReorderPreProcessors } from '../hooks/features/rowReorder/useGridRowReorderPreProcessors';
|
|
15
|
+
import { useGridRowGrouping, rowGroupingStateInitializer } from '../hooks/features/rowGrouping/useGridRowGrouping';
|
|
16
|
+
import { useGridRowGroupingPreProcessors } from '../hooks/features/rowGrouping/useGridRowGroupingPreProcessors';
|
|
15
17
|
export const useDataGridProComponent = (inputApiRef, props) => {
|
|
16
18
|
var _props$experimentalFe, _props$experimentalFe2;
|
|
17
19
|
|
|
@@ -21,6 +23,7 @@ export const useDataGridProComponent = (inputApiRef, props) => {
|
|
|
21
23
|
*/
|
|
22
24
|
|
|
23
25
|
useGridSelectionPreProcessors(apiRef, props);
|
|
26
|
+
useGridRowReorderPreProcessors(apiRef, props);
|
|
24
27
|
useGridRowGroupingPreProcessors(apiRef, props);
|
|
25
28
|
useGridTreeDataPreProcessors(apiRef, props);
|
|
26
29
|
useGridDetailPanelPreProcessors(apiRef, props); // The column pinning `hydrateColumns` pre-processor must be after every other `hydrateColumns` pre-processors
|
|
@@ -71,6 +74,7 @@ export const useDataGridProComponent = (inputApiRef, props) => {
|
|
|
71
74
|
useGridColumnResize(apiRef, props);
|
|
72
75
|
useGridPagination(apiRef, props);
|
|
73
76
|
useGridRowsMeta(apiRef, props);
|
|
77
|
+
useGridRowReorder(apiRef, props);
|
|
74
78
|
useGridScroll(apiRef, props);
|
|
75
79
|
useGridInfiniteLoader(apiRef, props);
|
|
76
80
|
useGridColumnMenu(apiRef);
|
|
@@ -2,6 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useThemeProps } from '@mui/material/styles';
|
|
4
4
|
import { DATA_GRID_DEFAULT_SLOTS_COMPONENTS, GRID_DEFAULT_LOCALE_TEXT, DATA_GRID_PROPS_DEFAULT_VALUES } from '@mui/x-data-grid';
|
|
5
|
+
import { buildWarning } from '@mui/x-data-grid/internals';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* The default values of `DataGridProPropsWithDefaultValue` to inject in the props of DataGridPro.
|
|
@@ -11,12 +12,14 @@ export const DATA_GRID_PRO_PROPS_DEFAULT_VALUES = _extends({}, DATA_GRID_PROPS_D
|
|
|
11
12
|
treeData: false,
|
|
12
13
|
defaultGroupingExpansionDepth: 0,
|
|
13
14
|
disableColumnPinning: false,
|
|
14
|
-
disableRowGrouping: false,
|
|
15
15
|
disableChildrenFiltering: false,
|
|
16
16
|
disableChildrenSorting: false,
|
|
17
|
-
|
|
18
|
-
getDetailPanelHeight: () => 500
|
|
17
|
+
rowReordering: false,
|
|
18
|
+
getDetailPanelHeight: () => 500,
|
|
19
|
+
disableRowGrouping: false,
|
|
20
|
+
rowGroupingColumnMode: 'single'
|
|
19
21
|
});
|
|
22
|
+
const rowGroupingWarning = buildWarning(['MUI: The row grouping has been moved to the new `@mui/x-data-grid-premium` package.', 'The feature is deprecated in `@mui/x-data-grid-pro`, and it will soon be removed from this package.'], 'error');
|
|
20
23
|
export const useDataGridProProps = inProps => {
|
|
21
24
|
const themedProps = useThemeProps({
|
|
22
25
|
props: inProps,
|
|
@@ -36,11 +39,23 @@ export const useDataGridProProps = inProps => {
|
|
|
36
39
|
});
|
|
37
40
|
return mergedComponents;
|
|
38
41
|
}, [themedProps.components]);
|
|
42
|
+
|
|
43
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
44
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
var _themedProps$experime;
|
|
47
|
+
|
|
48
|
+
if ((_themedProps$experime = themedProps.experimentalFeatures) != null && _themedProps$experime.rowGrouping) {
|
|
49
|
+
rowGroupingWarning();
|
|
50
|
+
}
|
|
51
|
+
}, [themedProps.experimentalFeatures]);
|
|
52
|
+
}
|
|
53
|
+
|
|
39
54
|
return React.useMemo(() => {
|
|
40
|
-
var _themedProps$
|
|
55
|
+
var _themedProps$experime2;
|
|
41
56
|
|
|
42
57
|
return _extends({}, DATA_GRID_PRO_PROPS_DEFAULT_VALUES, themedProps, {
|
|
43
|
-
disableRowGrouping: themedProps.disableRowGrouping || !((_themedProps$
|
|
58
|
+
disableRowGrouping: themedProps.disableRowGrouping || !((_themedProps$experime2 = themedProps.experimentalFeatures) != null && _themedProps$experime2.rowGrouping),
|
|
44
59
|
localeText,
|
|
45
60
|
components,
|
|
46
61
|
signature: 'DataGridPro'
|
package/LICENSE
CHANGED
|
@@ -2,11 +2,11 @@ Commercial License
|
|
|
2
2
|
|
|
3
3
|
Copyright (c) 2020 Material-UI SAS
|
|
4
4
|
|
|
5
|
-
MUI X Pro (https://mui.com/pricing/) is commercial software.
|
|
6
|
-
a license and agree to the End User License Agreement
|
|
7
|
-
to be able to use the software.
|
|
5
|
+
MUI X Pro (https://mui.com/pricing/) is commercial software.
|
|
6
|
+
You must purchase a license and agree to the End User License Agreement
|
|
7
|
+
(EULA: https://mui.com/r/x-license-eula) to be able to use the software.
|
|
8
8
|
|
|
9
|
-
Commercial licenses can be obtained at https://mui.com/
|
|
9
|
+
Commercial licenses can be obtained at https://mui.com/r/x-get-license?scope=pro.
|
|
10
10
|
You are free to install and try the software without a license key as long as it
|
|
11
11
|
is not used for the development of a feature intended for production use. You can
|
|
12
12
|
find more details under the "Evaluation (trial) licenses" section of the EULA.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @mui/x-data-grid-pro
|
|
2
2
|
|
|
3
|
-
This package is the
|
|
3
|
+
This package is the Pro Plan edition of the data grid component.
|
|
4
4
|
It's part of MUI X, an open core extension of MUI, with advanced components.
|
|
5
5
|
|
|
6
6
|
## Installation
|
|
@@ -15,12 +15,13 @@ npm install @mui/x-data-grid-pro
|
|
|
15
15
|
yarn add @mui/x-data-grid-pro
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
This component has
|
|
18
|
+
This component has the following peer dependencies that you will need to install as well.
|
|
19
19
|
|
|
20
20
|
```json
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"@mui/material": "^5.
|
|
23
|
-
"
|
|
22
|
+
"@mui/material": "^5.2.8",
|
|
23
|
+
"@mui/system": "^5.2.8",
|
|
24
|
+
"react": "^17.0.2 || ^18.0.0"
|
|
24
25
|
},
|
|
25
26
|
```
|
|
26
27
|
|
|
@@ -4,7 +4,7 @@ const _excluded = ["style", "className", "innerRef"];
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { unstable_composeClasses as composeClasses } from '@mui/material';
|
|
6
6
|
import { styled, alpha } from '@mui/material/styles';
|
|
7
|
-
import { getDataGridUtilityClass, gridClasses, useGridSelector, useGridApiEventHandler, gridVisibleColumnFieldsSelector,
|
|
7
|
+
import { getDataGridUtilityClass, gridClasses, useGridSelector, useGridApiEventHandler, gridVisibleColumnFieldsSelector, GridColumnHeaderSeparatorSides } from '@mui/x-data-grid';
|
|
8
8
|
import { GridColumnHeaders, GridColumnHeadersInner, useGridColumnHeaders } from '@mui/x-data-grid/internals';
|
|
9
9
|
import { useGridRootProps } from '../hooks/utils/useGridRootProps';
|
|
10
10
|
import { useGridApiContext } from '../hooks/utils/useGridApiContext';
|
|
@@ -87,7 +87,7 @@ export const DataGridProColumnHeaders = /*#__PURE__*/React.forwardRef(function D
|
|
|
87
87
|
const newScrollbarSize = apiRef.current.windowRef.current.offsetWidth - apiRef.current.windowRef.current.clientWidth;
|
|
88
88
|
setScrollbarSize(newScrollbarSize);
|
|
89
89
|
}, [apiRef]);
|
|
90
|
-
useGridApiEventHandler(apiRef,
|
|
90
|
+
useGridApiEventHandler(apiRef, 'virtualScrollerContentSizeChange', handleContentSizeChange);
|
|
91
91
|
const pinnedColumns = useGridSelector(apiRef, gridPinnedColumnsSelector);
|
|
92
92
|
const [leftPinnedColumns, rightPinnedColumns] = filterColumns(pinnedColumns, visibleColumnFields);
|
|
93
93
|
const {
|
|
@@ -5,7 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import { styled, alpha } from '@mui/material/styles';
|
|
6
6
|
import Box from '@mui/material/Box';
|
|
7
7
|
import { unstable_composeClasses as composeClasses } from '@mui/material';
|
|
8
|
-
import { useGridSelector, getDataGridUtilityClass, gridClasses, gridVisibleColumnFieldsSelector, gridRowsMetaSelector, useGridApiEventHandler
|
|
8
|
+
import { useGridSelector, getDataGridUtilityClass, gridClasses, gridVisibleColumnFieldsSelector, gridRowsMetaSelector, useGridApiEventHandler } from '@mui/x-data-grid';
|
|
9
9
|
import { GridVirtualScroller, GridVirtualScrollerContent, GridVirtualScrollerRenderZone, useGridVirtualScroller } from '@mui/x-data-grid/internals';
|
|
10
10
|
import { useGridApiContext } from '../hooks/utils/useGridApiContext';
|
|
11
11
|
import { useGridRootProps } from '../hooks/utils/useGridRootProps';
|
|
@@ -71,7 +71,9 @@ const VirtualScrollerDetailPanels = styled('div', {
|
|
|
71
71
|
name: 'MuiDataGrid',
|
|
72
72
|
slot: 'DetailPanels',
|
|
73
73
|
overridesResolver: (props, styles) => styles.detailPanels
|
|
74
|
-
})({
|
|
74
|
+
})({
|
|
75
|
+
position: 'relative'
|
|
76
|
+
});
|
|
75
77
|
const VirtualScrollerDetailPanel = styled(Box, {
|
|
76
78
|
name: 'MuiDataGrid',
|
|
77
79
|
slot: 'DetailPanel',
|
|
@@ -173,8 +175,9 @@ const DataGridProVirtualScroller = /*#__PURE__*/React.forwardRef(function DataGr
|
|
|
173
175
|
updateRenderZonePosition(renderContext);
|
|
174
176
|
}
|
|
175
177
|
}, [renderContext, updateRenderZonePosition]);
|
|
176
|
-
useGridApiEventHandler(apiRef,
|
|
177
|
-
useGridApiEventHandler(apiRef,
|
|
178
|
+
useGridApiEventHandler(apiRef, 'columnWidthChange', refreshRenderZonePosition);
|
|
179
|
+
useGridApiEventHandler(apiRef, 'columnOrderChange', refreshRenderZonePosition);
|
|
180
|
+
useGridApiEventHandler(apiRef, 'rowOrderChange', refreshRenderZonePosition);
|
|
178
181
|
const leftRenderContext = renderContext && leftPinnedColumns.length > 0 ? _extends({}, renderContext, {
|
|
179
182
|
firstColumnIndex: 0,
|
|
180
183
|
lastColumnIndex: leftPinnedColumns.length
|