@mui/x-data-grid 8.0.0-beta.0 → 8.0.0-beta.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 +77 -0
- package/components/columnSelection/GridHeaderCheckbox.js +2 -2
- package/esm/components/columnSelection/GridHeaderCheckbox.js +2 -2
- package/esm/hooks/features/editing/useGridRowEditing.js +1 -1
- package/esm/index.js +1 -1
- package/esm/material/index.js +1 -2
- package/hooks/features/editing/useGridRowEditing.js +1 -1
- package/index.js +1 -1
- package/material/index.js +1 -2
- package/modern/components/columnSelection/GridHeaderCheckbox.js +2 -2
- package/modern/hooks/features/editing/useGridRowEditing.js +1 -1
- package/modern/index.js +1 -1
- package/modern/material/index.js +1 -2
- package/package.json +1 -1
- package/tsconfig.build.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,83 @@
|
|
|
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.0.0-beta.1
|
|
9
|
+
|
|
10
|
+
_Mar 21, 2025_
|
|
11
|
+
|
|
12
|
+
We'd like to offer a big thanks to the 6 contributors who made this release possible. Here are some highlights ✨:
|
|
13
|
+
|
|
14
|
+
- 🐞 Bugfixes
|
|
15
|
+
|
|
16
|
+
Special thanks go out to the community members for their valuable contributions:
|
|
17
|
+
@jyash97.
|
|
18
|
+
Following are all team members who have contributed to this release:
|
|
19
|
+
@alexfauquette, @arminmeh, @flaviendelangle, @JCQuintas, @KenanYusuf.
|
|
20
|
+
|
|
21
|
+
<!--/ HIGHLIGHT_ABOVE_SEPARATOR /-->
|
|
22
|
+
|
|
23
|
+
### Data Grid
|
|
24
|
+
|
|
25
|
+
#### `@mui/x-data-grid@8.0.0-beta.1`
|
|
26
|
+
|
|
27
|
+
- [DataGrid] Fix error caused by `forwardRef` to `ClickAwayListener` (#17049) @arminmeh
|
|
28
|
+
- [DataGrid] Fix error while editing rows with custom id (#17048) @arminmeh
|
|
29
|
+
|
|
30
|
+
#### `@mui/x-data-grid-pro@8.0.0-beta.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
31
|
+
|
|
32
|
+
Same changes as in `@mui/x-data-grid@8.0.0-beta.1`, plus:
|
|
33
|
+
|
|
34
|
+
- [DataGridPro] Fix header select checkbox state with `checkboxSelectionVisibleOnly` and `paginationMode="server"` (#17026) @arminmeh
|
|
35
|
+
|
|
36
|
+
#### `@mui/x-data-grid-premium@8.0.0-beta.1` [](https://mui.com/r/x-premium-svg-link 'Premium plan')
|
|
37
|
+
|
|
38
|
+
Same changes as in `@mui/x-data-grid-pro@8.0.0-beta.1`, plus:
|
|
39
|
+
|
|
40
|
+
- [DataGridPremium] Update column state correctly when grouping mode is updated with one grouping column (#17069) @arminmeh
|
|
41
|
+
|
|
42
|
+
### Date and Time Pickers
|
|
43
|
+
|
|
44
|
+
#### `@mui/x-date-pickers@8.0.0-beta.1`
|
|
45
|
+
|
|
46
|
+
- [fields] Clean the `useField` hook (part 1) (#16944) @flaviendelangle
|
|
47
|
+
- [fields] Improve the check for year in `doesSectionFormatHaveLeadingZeros` (#17051) @flaviendelangle
|
|
48
|
+
- [pickers] Deprecate the `disableOpenPicker` prop (#17040) @flaviendelangle
|
|
49
|
+
- [pickers] Simplify the `cleanLeadingZeros` method (#17063) @flaviendelangle
|
|
50
|
+
- [pickers] Use the new `ownerState` in `PickersDay` and `DateRangePickerDay` (#17035) @flaviendelangle
|
|
51
|
+
|
|
52
|
+
#### `@mui/x-date-pickers-pro@8.0.0-beta.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
53
|
+
|
|
54
|
+
Same changes as in `@mui/x-date-pickers@8.0.0-beta.1`, plus:
|
|
55
|
+
|
|
56
|
+
- [DateRangePicker] Use desktop media query constant on range pickers (#17052) @flaviendelangle
|
|
57
|
+
|
|
58
|
+
### Charts
|
|
59
|
+
|
|
60
|
+
#### `@mui/x-charts@8.0.0-beta.1`
|
|
61
|
+
|
|
62
|
+
- [charts] Fix horizontal bar with multiple axes (#17059) @alexfauquette
|
|
63
|
+
|
|
64
|
+
#### `@mui/x-charts-pro@8.0.0-beta.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
65
|
+
|
|
66
|
+
Same changes as in `@mui/x-charts@8.0.0-beta.1`, plus:
|
|
67
|
+
|
|
68
|
+
- [charts-pro] Allow disabling Heatmap tooltip (#17060) @JCQuintas
|
|
69
|
+
|
|
70
|
+
### Tree View
|
|
71
|
+
|
|
72
|
+
#### `@mui/x-tree-view@8.0.0-beta.1`
|
|
73
|
+
|
|
74
|
+
Internal changes.
|
|
75
|
+
|
|
76
|
+
#### `@mui/x-tree-view-pro@8.0.0-beta.1` [](https://mui.com/r/x-pro-svg-link 'Pro plan')
|
|
77
|
+
|
|
78
|
+
Same changes as in `@mui/x-tree-view@8.0.0-beta.1`.
|
|
79
|
+
|
|
80
|
+
### Docs
|
|
81
|
+
|
|
82
|
+
- [docs] Fix 404 (#17033) @alexfauquette
|
|
83
|
+
- [docs] Fix Data Grid advanced list view demo (#17064) @KenanYusuf
|
|
84
|
+
|
|
8
85
|
## 8.0.0-beta.0
|
|
9
86
|
|
|
10
87
|
<img width="100%" alt="MUI X v8 Beta is live" src="https://github.com/user-attachments/assets/61ec4dd8-c946-456b-8b45-d51de8772f5d">
|
|
@@ -77,7 +77,7 @@ const GridHeaderCheckbox = exports.GridHeaderCheckbox = (0, _forwardRef.forwardR
|
|
|
77
77
|
|
|
78
78
|
// All the rows that could be selected / unselected by toggling this checkbox
|
|
79
79
|
const selectionCandidates = React.useMemo(() => {
|
|
80
|
-
const rowIds = !rootProps.pagination || !rootProps.checkboxSelectionVisibleOnly ? visibleRowIds : paginatedVisibleRowIds;
|
|
80
|
+
const rowIds = !rootProps.pagination || !rootProps.checkboxSelectionVisibleOnly || rootProps.paginationMode === 'server' ? visibleRowIds : paginatedVisibleRowIds;
|
|
81
81
|
|
|
82
82
|
// Convert to a Set to make O(1) checking if a row exists or not
|
|
83
83
|
const candidates = new Set();
|
|
@@ -88,7 +88,7 @@ const GridHeaderCheckbox = exports.GridHeaderCheckbox = (0, _forwardRef.forwardR
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
return candidates;
|
|
91
|
-
}, [apiRef, rootProps.pagination, rootProps.checkboxSelectionVisibleOnly, paginatedVisibleRowIds, visibleRowIds]);
|
|
91
|
+
}, [apiRef, rootProps.pagination, rootProps.paginationMode, rootProps.checkboxSelectionVisibleOnly, paginatedVisibleRowIds, visibleRowIds]);
|
|
92
92
|
|
|
93
93
|
// Amount of rows selected and that are visible in the current page
|
|
94
94
|
const currentSelectionSize = React.useMemo(() => {
|
|
@@ -69,7 +69,7 @@ const GridHeaderCheckbox = forwardRef(function GridHeaderCheckbox(props, ref) {
|
|
|
69
69
|
|
|
70
70
|
// All the rows that could be selected / unselected by toggling this checkbox
|
|
71
71
|
const selectionCandidates = React.useMemo(() => {
|
|
72
|
-
const rowIds = !rootProps.pagination || !rootProps.checkboxSelectionVisibleOnly ? visibleRowIds : paginatedVisibleRowIds;
|
|
72
|
+
const rowIds = !rootProps.pagination || !rootProps.checkboxSelectionVisibleOnly || rootProps.paginationMode === 'server' ? visibleRowIds : paginatedVisibleRowIds;
|
|
73
73
|
|
|
74
74
|
// Convert to a Set to make O(1) checking if a row exists or not
|
|
75
75
|
const candidates = new Set();
|
|
@@ -80,7 +80,7 @@ const GridHeaderCheckbox = forwardRef(function GridHeaderCheckbox(props, ref) {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
return candidates;
|
|
83
|
-
}, [apiRef, rootProps.pagination, rootProps.checkboxSelectionVisibleOnly, paginatedVisibleRowIds, visibleRowIds]);
|
|
83
|
+
}, [apiRef, rootProps.pagination, rootProps.paginationMode, rootProps.checkboxSelectionVisibleOnly, paginatedVisibleRowIds, visibleRowIds]);
|
|
84
84
|
|
|
85
85
|
// Amount of rows selected and that are visible in the current page
|
|
86
86
|
const currentSelectionSize = React.useMemo(() => {
|
|
@@ -405,7 +405,7 @@ export const useGridRowEditing = (apiRef, props) => {
|
|
|
405
405
|
});
|
|
406
406
|
return;
|
|
407
407
|
}
|
|
408
|
-
const rowUpdate = apiRef.current.getRowWithUpdatedValuesFromRowEditing(
|
|
408
|
+
const rowUpdate = apiRef.current.getRowWithUpdatedValuesFromRowEditing(id);
|
|
409
409
|
if (processRowUpdate) {
|
|
410
410
|
const handleError = errorThrown => {
|
|
411
411
|
// The row might have been deleted
|
package/esm/index.js
CHANGED
package/esm/material/index.js
CHANGED
|
@@ -38,7 +38,7 @@ import MUIInputAdornment, { inputAdornmentClasses } from '@mui/material/InputAdo
|
|
|
38
38
|
import MUITooltip from '@mui/material/Tooltip';
|
|
39
39
|
import MUIPagination, { tablePaginationClasses } from '@mui/material/TablePagination';
|
|
40
40
|
import MUIPopper from '@mui/material/Popper';
|
|
41
|
-
import
|
|
41
|
+
import ClickAwayListener from '@mui/material/ClickAwayListener';
|
|
42
42
|
import MUIGrow from '@mui/material/Grow';
|
|
43
43
|
import MUIPaper from '@mui/material/Paper';
|
|
44
44
|
import MUIInputLabel from '@mui/material/InputLabel';
|
|
@@ -50,7 +50,6 @@ import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
|
|
|
50
50
|
import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
|
|
51
51
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
52
52
|
export { useMaterialCSSVariables } from "./variables.js";
|
|
53
|
-
const ClickAwayListener = forwardRef(MUIClickAwayListener);
|
|
54
53
|
const InputAdornment = styled(MUIInputAdornment)({
|
|
55
54
|
[`&.${inputAdornmentClasses.positionEnd} .${iconButtonClasses.sizeSmall}`]: {
|
|
56
55
|
marginRight: '-7px'
|
|
@@ -413,7 +413,7 @@ const useGridRowEditing = (apiRef, props) => {
|
|
|
413
413
|
});
|
|
414
414
|
return;
|
|
415
415
|
}
|
|
416
|
-
const rowUpdate = apiRef.current.getRowWithUpdatedValuesFromRowEditing(
|
|
416
|
+
const rowUpdate = apiRef.current.getRowWithUpdatedValuesFromRowEditing(id);
|
|
417
417
|
if (processRowUpdate) {
|
|
418
418
|
const handleError = errorThrown => {
|
|
419
419
|
// The row might have been deleted
|
package/index.js
CHANGED
package/material/index.js
CHANGED
|
@@ -64,7 +64,6 @@ const _excluded = ["id", "label", "labelId", "disabled", "slotProps", "onChange"
|
|
|
64
64
|
_excluded8 = ["inputProps", "InputProps", "InputLabelProps"],
|
|
65
65
|
_excluded9 = ["slotProps"],
|
|
66
66
|
_excluded10 = ["native"];
|
|
67
|
-
const ClickAwayListener = (0, _forwardRef.forwardRef)(_ClickAwayListener.default);
|
|
68
67
|
const InputAdornment = (0, _styles.styled)(_InputAdornment.default)({
|
|
69
68
|
[`&.${_InputAdornment.inputAdornmentClasses.positionEnd} .${_IconButton.iconButtonClasses.sizeSmall}`]: {
|
|
70
69
|
marginRight: '-7px'
|
|
@@ -526,7 +525,7 @@ function clickAwayWrapper(props, content) {
|
|
|
526
525
|
if (props.onClickAway === undefined) {
|
|
527
526
|
return content;
|
|
528
527
|
}
|
|
529
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
528
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClickAwayListener.default, {
|
|
530
529
|
onClickAway: props.onClickAway,
|
|
531
530
|
touchEvent: props.clickAwayTouchEvent,
|
|
532
531
|
mouseEvent: props.clickAwayMouseEvent,
|
|
@@ -69,7 +69,7 @@ const GridHeaderCheckbox = forwardRef(function GridHeaderCheckbox(props, ref) {
|
|
|
69
69
|
|
|
70
70
|
// All the rows that could be selected / unselected by toggling this checkbox
|
|
71
71
|
const selectionCandidates = React.useMemo(() => {
|
|
72
|
-
const rowIds = !rootProps.pagination || !rootProps.checkboxSelectionVisibleOnly ? visibleRowIds : paginatedVisibleRowIds;
|
|
72
|
+
const rowIds = !rootProps.pagination || !rootProps.checkboxSelectionVisibleOnly || rootProps.paginationMode === 'server' ? visibleRowIds : paginatedVisibleRowIds;
|
|
73
73
|
|
|
74
74
|
// Convert to a Set to make O(1) checking if a row exists or not
|
|
75
75
|
const candidates = new Set();
|
|
@@ -80,7 +80,7 @@ const GridHeaderCheckbox = forwardRef(function GridHeaderCheckbox(props, ref) {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
return candidates;
|
|
83
|
-
}, [apiRef, rootProps.pagination, rootProps.checkboxSelectionVisibleOnly, paginatedVisibleRowIds, visibleRowIds]);
|
|
83
|
+
}, [apiRef, rootProps.pagination, rootProps.paginationMode, rootProps.checkboxSelectionVisibleOnly, paginatedVisibleRowIds, visibleRowIds]);
|
|
84
84
|
|
|
85
85
|
// Amount of rows selected and that are visible in the current page
|
|
86
86
|
const currentSelectionSize = React.useMemo(() => {
|
|
@@ -405,7 +405,7 @@ export const useGridRowEditing = (apiRef, props) => {
|
|
|
405
405
|
});
|
|
406
406
|
return;
|
|
407
407
|
}
|
|
408
|
-
const rowUpdate = apiRef.current.getRowWithUpdatedValuesFromRowEditing(
|
|
408
|
+
const rowUpdate = apiRef.current.getRowWithUpdatedValuesFromRowEditing(id);
|
|
409
409
|
if (processRowUpdate) {
|
|
410
410
|
const handleError = errorThrown => {
|
|
411
411
|
// The row might have been deleted
|
package/modern/index.js
CHANGED
package/modern/material/index.js
CHANGED
|
@@ -38,7 +38,7 @@ import MUIInputAdornment, { inputAdornmentClasses } from '@mui/material/InputAdo
|
|
|
38
38
|
import MUITooltip from '@mui/material/Tooltip';
|
|
39
39
|
import MUIPagination, { tablePaginationClasses } from '@mui/material/TablePagination';
|
|
40
40
|
import MUIPopper from '@mui/material/Popper';
|
|
41
|
-
import
|
|
41
|
+
import ClickAwayListener from '@mui/material/ClickAwayListener';
|
|
42
42
|
import MUIGrow from '@mui/material/Grow';
|
|
43
43
|
import MUIPaper from '@mui/material/Paper';
|
|
44
44
|
import MUIInputLabel from '@mui/material/InputLabel';
|
|
@@ -50,7 +50,6 @@ import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
|
|
|
50
50
|
import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
|
|
51
51
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
52
52
|
export { useMaterialCSSVariables } from "./variables.js";
|
|
53
|
-
const ClickAwayListener = forwardRef(MUIClickAwayListener);
|
|
54
53
|
const InputAdornment = styled(MUIInputAdornment)({
|
|
55
54
|
[`&.${inputAdornmentClasses.positionEnd} .${iconButtonClasses.sizeSmall}`]: {
|
|
56
55
|
marginRight: '-7px'
|