@mui/x-data-grid 7.23.2 → 7.23.4
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 +86 -0
- package/DataGrid/DataGrid.js +7 -4
- package/README.md +1 -1
- package/components/GridColumnHeaders.d.ts +1 -1
- package/components/GridColumnHeaders.js +4 -4
- package/components/GridFooter.d.ts +2 -1
- package/components/GridFooter.js +4 -4
- package/components/GridLoadingOverlay.d.ts +1 -1
- package/components/GridLoadingOverlay.js +3 -2
- package/components/GridNoResultsOverlay.d.ts +2 -1
- package/components/GridNoResultsOverlay.js +4 -4
- package/components/GridNoRowsOverlay.d.ts +2 -1
- package/components/GridNoRowsOverlay.js +4 -4
- package/components/GridPagination.d.ts +1 -1
- package/components/GridPagination.js +5 -3
- package/components/GridRow.d.ts +1 -1
- package/components/GridRow.js +15 -3
- package/components/GridRowCount.d.ts +1 -1
- package/components/GridRowCount.js +3 -2
- package/components/GridSelectedRowCount.d.ts +4 -1
- package/components/GridSelectedRowCount.js +3 -2
- package/components/GridSkeletonLoadingOverlay.d.ts +1 -1
- package/components/GridSkeletonLoadingOverlay.js +4 -3
- package/components/cell/GridActionsCell.js +8 -1
- package/components/cell/GridActionsCellItem.d.ts +1 -1
- package/components/cell/GridActionsCellItem.js +3 -2
- package/components/cell/GridCell.d.ts +1 -1
- package/components/cell/GridCell.js +3 -2
- package/components/cell/GridEditInputCell.d.ts +1 -1
- package/components/cell/GridEditInputCell.js +72 -3
- package/components/columnHeaders/GridBaseColumnHeaders.d.ts +1 -1
- package/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
- package/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
- package/components/columnHeaders/GridGenericColumnHeaderItem.d.ts +1 -1
- package/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
- package/components/columnHeaders/GridIconButtonContainer.d.ts +1 -1
- package/components/columnHeaders/GridIconButtonContainer.js +5 -3
- package/components/columnSelection/GridCellCheckboxRenderer.d.ts +2 -2
- package/components/columnSelection/GridCellCheckboxRenderer.js +6 -4
- package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
- package/components/columnSelection/GridHeaderCheckbox.js +6 -4
- package/components/containers/GridFooterContainer.d.ts +1 -1
- package/components/containers/GridFooterContainer.js +5 -3
- package/components/containers/GridOverlay.d.ts +1 -1
- package/components/containers/GridOverlay.js +5 -3
- package/components/containers/GridRoot.d.ts +1 -1
- package/components/containers/GridRoot.js +5 -3
- package/components/containers/GridToolbarContainer.d.ts +1 -1
- package/components/containers/GridToolbarContainer.js +3 -2
- package/components/menu/columnMenu/GridColumnMenu.d.ts +2 -2
- package/components/menu/columnMenu/GridColumnMenu.js +5 -5
- package/components/menu/columnMenu/GridColumnMenuContainer.d.ts +1 -1
- package/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
- package/components/panel/GridPanel.d.ts +1 -1
- package/components/panel/GridPanel.js +3 -2
- package/components/panel/GridPanelWrapper.d.ts +1 -1
- package/components/panel/GridPanelWrapper.js +5 -3
- package/components/panel/filterPanel/GridFilterForm.d.ts +1 -1
- package/components/panel/filterPanel/GridFilterForm.js +3 -2
- package/components/panel/filterPanel/GridFilterInputValue.js +17 -10
- package/components/panel/filterPanel/GridFilterPanel.d.ts +1 -1
- package/components/panel/filterPanel/GridFilterPanel.js +4 -4
- package/components/toolbar/GridToolbar.d.ts +1 -1
- package/components/toolbar/GridToolbar.js +4 -4
- package/components/toolbar/GridToolbarColumnsButton.d.ts +1 -1
- package/components/toolbar/GridToolbarColumnsButton.js +3 -2
- package/components/toolbar/GridToolbarDensitySelector.d.ts +1 -1
- package/components/toolbar/GridToolbarDensitySelector.js +3 -2
- package/components/toolbar/GridToolbarExport.d.ts +1 -1
- package/components/toolbar/GridToolbarExport.js +2 -1
- package/components/toolbar/GridToolbarExportContainer.d.ts +1 -1
- package/components/toolbar/GridToolbarExportContainer.js +3 -2
- package/components/toolbar/GridToolbarFilterButton.d.ts +1 -1
- package/components/toolbar/GridToolbarFilterButton.js +3 -2
- package/components/virtualization/GridMainContainer.d.ts +3 -1
- package/components/virtualization/GridMainContainer.js +4 -3
- package/components/virtualization/GridVirtualScrollbar.d.ts +1 -1
- package/components/virtualization/GridVirtualScrollbar.js +2 -1
- package/components/virtualization/GridVirtualScrollerContent.d.ts +2 -0
- package/components/virtualization/GridVirtualScrollerContent.js +5 -5
- package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +2 -0
- package/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
- package/hooks/features/columnResize/gridColumnResizeApi.d.ts +6 -0
- package/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
- package/hooks/features/columnResize/useGridColumnResize.d.ts +1 -1
- package/hooks/features/columnResize/useGridColumnResize.js +9 -4
- package/hooks/features/columns/gridColumnsUtils.d.ts +1 -1
- package/hooks/features/columns/gridColumnsUtils.js +2 -1
- package/hooks/features/rows/useGridRowSpanning.js +13 -5
- package/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
- package/index.js +1 -1
- package/internals/utils/useProps.js +3 -0
- package/locales/koKR.js +36 -39
- package/locales/nlNL.js +5 -6
- package/models/gridSlotsComponentsProps.d.ts +10 -0
- package/models/props/DataGridProps.d.ts +1 -0
- package/modern/DataGrid/DataGrid.js +7 -4
- package/modern/components/GridColumnHeaders.js +4 -4
- package/modern/components/GridFooter.js +4 -4
- package/modern/components/GridLoadingOverlay.js +3 -2
- package/modern/components/GridNoResultsOverlay.js +4 -4
- package/modern/components/GridNoRowsOverlay.js +4 -4
- package/modern/components/GridPagination.js +5 -3
- package/modern/components/GridRow.js +15 -3
- package/modern/components/GridRowCount.js +3 -2
- package/modern/components/GridSelectedRowCount.js +3 -2
- package/modern/components/GridSkeletonLoadingOverlay.js +4 -3
- package/modern/components/cell/GridActionsCell.js +8 -1
- package/modern/components/cell/GridActionsCellItem.js +3 -2
- package/modern/components/cell/GridCell.js +3 -2
- package/modern/components/cell/GridEditInputCell.js +72 -3
- package/modern/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
- package/modern/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
- package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
- package/modern/components/columnHeaders/GridIconButtonContainer.js +5 -3
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +6 -4
- package/modern/components/columnSelection/GridHeaderCheckbox.js +6 -4
- package/modern/components/containers/GridFooterContainer.js +5 -3
- package/modern/components/containers/GridOverlay.js +5 -3
- package/modern/components/containers/GridRoot.js +5 -3
- package/modern/components/containers/GridToolbarContainer.js +3 -2
- package/modern/components/menu/columnMenu/GridColumnMenu.js +5 -5
- package/modern/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
- package/modern/components/panel/GridPanel.js +3 -2
- package/modern/components/panel/GridPanelWrapper.js +5 -3
- package/modern/components/panel/filterPanel/GridFilterForm.js +3 -2
- package/modern/components/panel/filterPanel/GridFilterInputValue.js +17 -10
- package/modern/components/panel/filterPanel/GridFilterPanel.js +4 -4
- package/modern/components/toolbar/GridToolbar.js +4 -4
- package/modern/components/toolbar/GridToolbarColumnsButton.js +3 -2
- package/modern/components/toolbar/GridToolbarDensitySelector.js +3 -2
- package/modern/components/toolbar/GridToolbarExport.js +2 -1
- package/modern/components/toolbar/GridToolbarExportContainer.js +3 -2
- package/modern/components/toolbar/GridToolbarFilterButton.js +3 -2
- package/modern/components/virtualization/GridMainContainer.js +4 -3
- package/modern/components/virtualization/GridVirtualScrollbar.js +2 -1
- package/modern/components/virtualization/GridVirtualScrollerContent.js +5 -5
- package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
- package/modern/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
- package/modern/hooks/features/columnResize/useGridColumnResize.js +9 -4
- package/modern/hooks/features/columns/gridColumnsUtils.js +2 -1
- package/modern/hooks/features/rows/useGridRowSpanning.js +13 -5
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
- package/modern/index.js +1 -1
- package/modern/internals/utils/useProps.js +3 -0
- package/modern/locales/koKR.js +36 -39
- package/modern/locales/nlNL.js +5 -6
- package/node/DataGrid/DataGrid.js +7 -4
- package/node/components/GridColumnHeaders.js +4 -4
- package/node/components/GridFooter.js +4 -4
- package/node/components/GridLoadingOverlay.js +3 -2
- package/node/components/GridNoResultsOverlay.js +4 -4
- package/node/components/GridNoRowsOverlay.js +4 -4
- package/node/components/GridPagination.js +5 -3
- package/node/components/GridRow.js +15 -3
- package/node/components/GridRowCount.js +3 -2
- package/node/components/GridSelectedRowCount.js +3 -2
- package/node/components/GridSkeletonLoadingOverlay.js +4 -3
- package/node/components/cell/GridActionsCell.js +8 -1
- package/node/components/cell/GridActionsCellItem.js +3 -2
- package/node/components/cell/GridCell.js +3 -2
- package/node/components/cell/GridEditInputCell.js +72 -3
- package/node/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
- package/node/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
- package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
- package/node/components/columnHeaders/GridIconButtonContainer.js +5 -3
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +6 -4
- package/node/components/columnSelection/GridHeaderCheckbox.js +6 -4
- package/node/components/containers/GridFooterContainer.js +5 -3
- package/node/components/containers/GridOverlay.js +5 -3
- package/node/components/containers/GridRoot.js +5 -3
- package/node/components/containers/GridToolbarContainer.js +3 -2
- package/node/components/menu/columnMenu/GridColumnMenu.js +5 -5
- package/node/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
- package/node/components/panel/GridPanel.js +3 -2
- package/node/components/panel/GridPanelWrapper.js +5 -3
- package/node/components/panel/filterPanel/GridFilterForm.js +3 -2
- package/node/components/panel/filterPanel/GridFilterInputValue.js +17 -10
- package/node/components/panel/filterPanel/GridFilterPanel.js +4 -4
- package/node/components/toolbar/GridToolbar.js +4 -4
- package/node/components/toolbar/GridToolbarColumnsButton.js +3 -2
- package/node/components/toolbar/GridToolbarDensitySelector.js +3 -2
- package/node/components/toolbar/GridToolbarExport.js +2 -1
- package/node/components/toolbar/GridToolbarExportContainer.js +3 -2
- package/node/components/toolbar/GridToolbarFilterButton.js +3 -2
- package/node/components/virtualization/GridMainContainer.js +4 -3
- package/node/components/virtualization/GridVirtualScrollbar.js +2 -1
- package/node/components/virtualization/GridVirtualScrollerContent.js +5 -5
- package/node/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -3
- package/node/hooks/features/columnResize/gridColumnResizeApi.js +2 -1
- package/node/hooks/features/columnResize/useGridColumnResize.js +9 -4
- package/node/hooks/features/columns/gridColumnsUtils.js +2 -1
- package/node/hooks/features/rows/useGridRowSpanning.js +13 -5
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +11 -8
- package/node/index.js +1 -1
- package/node/internals/utils/useProps.js +3 -0
- package/node/locales/koKR.js +36 -39
- package/node/locales/nlNL.js +5 -6
- package/package.json +1 -1
|
@@ -14,6 +14,7 @@ var _clsx = _interopRequireDefault(require("clsx"));
|
|
|
14
14
|
var _Unstable_TrapFocus = _interopRequireDefault(require("@mui/material/Unstable_TrapFocus"));
|
|
15
15
|
var _styles = require("@mui/material/styles");
|
|
16
16
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
17
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
17
18
|
var _gridClasses = require("../../constants/gridClasses");
|
|
18
19
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
19
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -40,7 +41,7 @@ const GridPanelWrapperRoot = (0, _styles.styled)('div', {
|
|
|
40
41
|
}
|
|
41
42
|
});
|
|
42
43
|
const isEnabled = () => true;
|
|
43
|
-
const GridPanelWrapper = exports.GridPanelWrapper =
|
|
44
|
+
const GridPanelWrapper = exports.GridPanelWrapper = (0, _forwardRef.forwardRef)(function GridPanelWrapper(props, ref) {
|
|
44
45
|
const {
|
|
45
46
|
className,
|
|
46
47
|
slotProps = {}
|
|
@@ -54,11 +55,12 @@ const GridPanelWrapper = exports.GridPanelWrapper = /*#__PURE__*/React.forwardRe
|
|
|
54
55
|
isEnabled: isEnabled
|
|
55
56
|
}, slotProps.TrapFocus, {
|
|
56
57
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(GridPanelWrapperRoot, (0, _extends2.default)({
|
|
57
|
-
ref: ref,
|
|
58
58
|
tabIndex: -1,
|
|
59
59
|
className: (0, _clsx.default)(classes.root, className),
|
|
60
60
|
ownerState: rootProps
|
|
61
|
-
}, other
|
|
61
|
+
}, other, {
|
|
62
|
+
ref: ref
|
|
63
|
+
}))
|
|
62
64
|
}));
|
|
63
65
|
});
|
|
64
66
|
process.env.NODE_ENV !== "production" ? GridPanelWrapper.propTypes = {
|
|
@@ -14,6 +14,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
14
14
|
var _utils = require("@mui/utils");
|
|
15
15
|
var _styles = require("@mui/material/styles");
|
|
16
16
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
17
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
17
18
|
var _gridColumnsSelector = require("../../../hooks/features/columns/gridColumnsSelector");
|
|
18
19
|
var _gridFilterSelector = require("../../../hooks/features/filter/gridFilterSelector");
|
|
19
20
|
var _useGridSelector = require("../../../hooks/utils/useGridSelector");
|
|
@@ -103,7 +104,7 @@ const getLogicOperatorLocaleKey = logicOperator => {
|
|
|
103
104
|
};
|
|
104
105
|
const getColumnLabel = col => col.headerName || col.field;
|
|
105
106
|
const collator = new Intl.Collator();
|
|
106
|
-
const GridFilterForm = exports.GridFilterForm =
|
|
107
|
+
const GridFilterForm = exports.GridFilterForm = (0, _forwardRef.forwardRef)(function GridFilterForm(props, ref) {
|
|
107
108
|
const {
|
|
108
109
|
item,
|
|
109
110
|
hasMultipleFilters,
|
|
@@ -263,11 +264,11 @@ const GridFilterForm = exports.GridFilterForm = /*#__PURE__*/React.forwardRef(fu
|
|
|
263
264
|
}
|
|
264
265
|
}), [currentOperator]);
|
|
265
266
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(GridFilterFormRoot, (0, _extends2.default)({
|
|
266
|
-
ref: ref,
|
|
267
267
|
className: classes.root,
|
|
268
268
|
"data-id": item.id,
|
|
269
269
|
ownerState: rootProps
|
|
270
270
|
}, other, {
|
|
271
|
+
ref: ref,
|
|
271
272
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(FilterFormDeleteIcon, (0, _extends2.default)({
|
|
272
273
|
variant: "standard",
|
|
273
274
|
as: rootProps.slots.baseFormControl
|
|
@@ -30,19 +30,17 @@ function GridFilterInputValue(props) {
|
|
|
30
30
|
} = props,
|
|
31
31
|
others = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
32
32
|
const filterTimeout = (0, _useTimeout.useTimeout)();
|
|
33
|
-
const [filterValueState, setFilterValueState] = React.useState(item.value
|
|
33
|
+
const [filterValueState, setFilterValueState] = React.useState(sanitizeFilterItemValue(item.value, type));
|
|
34
34
|
const [applying, setIsApplying] = React.useState(false);
|
|
35
35
|
const id = (0, _utils.unstable_useId)();
|
|
36
36
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
37
37
|
const onFilterChange = React.useCallback(event => {
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
} = event.target;
|
|
41
|
-
setFilterValueState(String(value));
|
|
38
|
+
const value = sanitizeFilterItemValue(event.target.value, type);
|
|
39
|
+
setFilterValueState(value);
|
|
42
40
|
setIsApplying(true);
|
|
43
41
|
filterTimeout.start(rootProps.filterDebounceMs, () => {
|
|
44
42
|
const newItem = (0, _extends2.default)({}, item, {
|
|
45
|
-
value
|
|
43
|
+
value,
|
|
46
44
|
fromInput: id
|
|
47
45
|
});
|
|
48
46
|
applyValue(newItem);
|
|
@@ -51,15 +49,15 @@ function GridFilterInputValue(props) {
|
|
|
51
49
|
}, [filterTimeout, rootProps.filterDebounceMs, item, type, id, applyValue]);
|
|
52
50
|
React.useEffect(() => {
|
|
53
51
|
const itemPlusTag = item;
|
|
54
|
-
if (itemPlusTag.fromInput !== id || item.value
|
|
55
|
-
setFilterValueState(
|
|
52
|
+
if (itemPlusTag.fromInput !== id || item.value == null) {
|
|
53
|
+
setFilterValueState(sanitizeFilterItemValue(item.value, type));
|
|
56
54
|
}
|
|
57
|
-
}, [id, item]);
|
|
55
|
+
}, [id, item, type]);
|
|
58
56
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTextField, (0, _extends2.default)({
|
|
59
57
|
id: id,
|
|
60
58
|
label: apiRef.current.getLocaleText('filterPanelInputLabel'),
|
|
61
59
|
placeholder: apiRef.current.getLocaleText('filterPanelInputPlaceholder'),
|
|
62
|
-
value: filterValueState,
|
|
60
|
+
value: filterValueState === undefined ? '' : String(filterValueState),
|
|
63
61
|
onChange: onFilterChange,
|
|
64
62
|
variant: variant,
|
|
65
63
|
type: type || 'text',
|
|
@@ -81,6 +79,15 @@ function GridFilterInputValue(props) {
|
|
|
81
79
|
inputRef: focusElementRef
|
|
82
80
|
}, others, rootProps.slotProps?.baseTextField));
|
|
83
81
|
}
|
|
82
|
+
function sanitizeFilterItemValue(value, type) {
|
|
83
|
+
if (value == null || value === '') {
|
|
84
|
+
return undefined;
|
|
85
|
+
}
|
|
86
|
+
if (type === 'number') {
|
|
87
|
+
return Number(value);
|
|
88
|
+
}
|
|
89
|
+
return String(value);
|
|
90
|
+
}
|
|
84
91
|
process.env.NODE_ENV !== "production" ? GridFilterInputValue.propTypes = {
|
|
85
92
|
// ----------------------------- Warning --------------------------------
|
|
86
93
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -10,6 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
10
10
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
13
14
|
var _gridFilterItem = require("../../../models/gridFilterItem");
|
|
14
15
|
var _useGridApiContext = require("../../../hooks/utils/useGridApiContext");
|
|
15
16
|
var _GridPanelContent = require("../GridPanelContent");
|
|
@@ -28,7 +29,7 @@ const getGridFilter = col => ({
|
|
|
28
29
|
id: Math.round(Math.random() * 1e5)
|
|
29
30
|
});
|
|
30
31
|
exports.getGridFilter = getGridFilter;
|
|
31
|
-
const GridFilterPanel = exports.GridFilterPanel =
|
|
32
|
+
const GridFilterPanel = exports.GridFilterPanel = (0, _forwardRef.forwardRef)(function GridFilterPanel(props, ref) {
|
|
32
33
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
33
34
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
34
35
|
const filterModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridFilterSelector.gridFilterModelSelector);
|
|
@@ -150,9 +151,8 @@ const GridFilterPanel = exports.GridFilterPanel = /*#__PURE__*/React.forwardRef(
|
|
|
150
151
|
lastFilterRef.current.focus();
|
|
151
152
|
}
|
|
152
153
|
}, [validFilters.length]);
|
|
153
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridPanelWrapper.GridPanelWrapper, (0, _extends2.default)({
|
|
154
|
-
ref: ref
|
|
155
|
-
}, other, {
|
|
154
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridPanelWrapper.GridPanelWrapper, (0, _extends2.default)({}, other, {
|
|
155
|
+
ref: ref,
|
|
156
156
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridPanelContent.GridPanelContent, {
|
|
157
157
|
children: [readOnlyFilters.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridFilterForm.GridFilterForm, (0, _extends2.default)({
|
|
158
158
|
item: item,
|
|
@@ -10,6 +10,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
10
10
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
13
14
|
var _GridToolbarContainer = require("../containers/GridToolbarContainer");
|
|
14
15
|
var _GridToolbarColumnsButton = require("./GridToolbarColumnsButton");
|
|
15
16
|
var _GridToolbarDensitySelector = require("./GridToolbarDensitySelector");
|
|
@@ -19,7 +20,7 @@ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
|
19
20
|
var _GridToolbarQuickFilter = require("./GridToolbarQuickFilter");
|
|
20
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
22
|
const _excluded = ["className", "csvOptions", "printOptions", "excelOptions", "showQuickFilter", "quickFilterProps"];
|
|
22
|
-
const GridToolbar = exports.GridToolbar =
|
|
23
|
+
const GridToolbar = exports.GridToolbar = (0, _forwardRef.forwardRef)(function GridToolbar(props, ref) {
|
|
23
24
|
// TODO v7: think about where export option should be passed.
|
|
24
25
|
// from slotProps={{ toolbarExport: { ...exportOption } }} seems to be more appropriate
|
|
25
26
|
const _ref = props,
|
|
@@ -35,9 +36,8 @@ const GridToolbar = exports.GridToolbar = /*#__PURE__*/React.forwardRef(function
|
|
|
35
36
|
if (rootProps.disableColumnFilter && rootProps.disableColumnSelector && rootProps.disableDensitySelector && !showQuickFilter) {
|
|
36
37
|
return null;
|
|
37
38
|
}
|
|
38
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridToolbarContainer.GridToolbarContainer, (0, _extends2.default)({
|
|
39
|
-
ref: ref
|
|
40
|
-
}, other, {
|
|
39
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridToolbarContainer.GridToolbarContainer, (0, _extends2.default)({}, other, {
|
|
40
|
+
ref: ref,
|
|
41
41
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridToolbarColumnsButton.GridToolbarColumnsButton, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridToolbarFilterButton.GridToolbarFilterButton, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridToolbarDensitySelector.GridToolbarDensitySelector, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridToolbarExport.GridToolbarExport, {
|
|
42
42
|
csvOptions: csvOptions,
|
|
43
43
|
printOptions: printOptions
|
|
@@ -10,13 +10,14 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _utils = require("@mui/material/utils");
|
|
13
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
13
14
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
14
15
|
var _gridPreferencePanelSelector = require("../../hooks/features/preferencesPanel/gridPreferencePanelSelector");
|
|
15
16
|
var _gridPreferencePanelsValue = require("../../hooks/features/preferencesPanel/gridPreferencePanelsValue");
|
|
16
17
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
17
18
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
18
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
|
-
const GridToolbarColumnsButton = exports.GridToolbarColumnsButton =
|
|
20
|
+
const GridToolbarColumnsButton = exports.GridToolbarColumnsButton = (0, _forwardRef.forwardRef)(function GridToolbarColumnsButton(props, ref) {
|
|
20
21
|
const {
|
|
21
22
|
slotProps = {}
|
|
22
23
|
} = props;
|
|
@@ -46,7 +47,6 @@ const GridToolbarColumnsButton = exports.GridToolbarColumnsButton = /*#__PURE__*
|
|
|
46
47
|
enterDelay: 1000
|
|
47
48
|
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
48
49
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
|
|
49
|
-
ref: ref,
|
|
50
50
|
id: columnButtonId,
|
|
51
51
|
size: "small",
|
|
52
52
|
"aria-label": apiRef.current.getLocaleText('toolbarColumnsLabel'),
|
|
@@ -56,6 +56,7 @@ const GridToolbarColumnsButton = exports.GridToolbarColumnsButton = /*#__PURE__*
|
|
|
56
56
|
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnSelectorIcon, {}),
|
|
57
57
|
onClick: showColumns
|
|
58
58
|
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
59
|
+
ref: ref,
|
|
59
60
|
children: apiRef.current.getLocaleText('toolbarColumns')
|
|
60
61
|
}))
|
|
61
62
|
}));
|
|
@@ -13,6 +13,7 @@ var _utils = require("@mui/utils");
|
|
|
13
13
|
var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
|
|
14
14
|
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
15
15
|
var _ListItemIcon = _interopRequireDefault(require("@mui/material/ListItemIcon"));
|
|
16
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
16
17
|
var _densitySelector = require("../../hooks/features/density/densitySelector");
|
|
17
18
|
var _keyboardUtils = require("../../utils/keyboardUtils");
|
|
18
19
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
@@ -21,7 +22,7 @@ var _GridMenu = require("../menu/GridMenu");
|
|
|
21
22
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
22
23
|
var _gridClasses = require("../../constants/gridClasses");
|
|
23
24
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
|
-
const GridToolbarDensitySelector = exports.GridToolbarDensitySelector =
|
|
25
|
+
const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = (0, _forwardRef.forwardRef)(function GridToolbarDensitySelector(props, ref) {
|
|
25
26
|
const {
|
|
26
27
|
slotProps = {}
|
|
27
28
|
} = props;
|
|
@@ -95,7 +96,6 @@ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PUR
|
|
|
95
96
|
enterDelay: 1000
|
|
96
97
|
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
97
98
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
|
|
98
|
-
ref: handleRef,
|
|
99
99
|
size: "small",
|
|
100
100
|
startIcon: startIcon,
|
|
101
101
|
"aria-label": apiRef.current.getLocaleText('toolbarDensityLabel'),
|
|
@@ -105,6 +105,7 @@ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PUR
|
|
|
105
105
|
id: densityButtonId,
|
|
106
106
|
onClick: handleDensitySelectorOpen
|
|
107
107
|
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
108
|
+
ref: handleRef,
|
|
108
109
|
children: apiRef.current.getLocaleText('toolbarDensity')
|
|
109
110
|
}))
|
|
110
111
|
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridMenu.GridMenu, {
|
|
@@ -13,6 +13,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
|
|
|
13
13
|
var React = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
15
|
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
16
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
16
17
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
17
18
|
var _GridToolbarExportContainer = require("./GridToolbarExportContainer");
|
|
18
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -91,7 +92,7 @@ process.env.NODE_ENV !== "production" ? GridPrintExportMenuItem.propTypes = {
|
|
|
91
92
|
pageStyle: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string])
|
|
92
93
|
})
|
|
93
94
|
} : void 0;
|
|
94
|
-
const GridToolbarExport = exports.GridToolbarExport =
|
|
95
|
+
const GridToolbarExport = exports.GridToolbarExport = (0, _forwardRef.forwardRef)(function GridToolbarExport(props, ref) {
|
|
95
96
|
const _ref = props,
|
|
96
97
|
{
|
|
97
98
|
csvOptions = {},
|
|
@@ -11,13 +11,14 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _utils = require("@mui/utils");
|
|
13
13
|
var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
|
|
14
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
14
15
|
var _keyboardUtils = require("../../utils/keyboardUtils");
|
|
15
16
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
16
17
|
var _GridMenu = require("../menu/GridMenu");
|
|
17
18
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
18
19
|
var _gridClasses = require("../../constants/gridClasses");
|
|
19
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
-
const GridToolbarExportContainer = exports.GridToolbarExportContainer =
|
|
21
|
+
const GridToolbarExportContainer = exports.GridToolbarExportContainer = (0, _forwardRef.forwardRef)(function GridToolbarExportContainer(props, ref) {
|
|
21
22
|
const {
|
|
22
23
|
children,
|
|
23
24
|
slotProps = {}
|
|
@@ -53,7 +54,6 @@ const GridToolbarExportContainer = exports.GridToolbarExportContainer = /*#__PUR
|
|
|
53
54
|
enterDelay: 1000
|
|
54
55
|
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
55
56
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
|
|
56
|
-
ref: handleRef,
|
|
57
57
|
size: "small",
|
|
58
58
|
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.exportIcon, {}),
|
|
59
59
|
"aria-expanded": open,
|
|
@@ -63,6 +63,7 @@ const GridToolbarExportContainer = exports.GridToolbarExportContainer = /*#__PUR
|
|
|
63
63
|
id: exportButtonId,
|
|
64
64
|
onClick: handleMenuOpen
|
|
65
65
|
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
66
|
+
ref: handleRef,
|
|
66
67
|
children: apiRef.current.getLocaleText('toolbarExport')
|
|
67
68
|
}))
|
|
68
69
|
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridMenu.GridMenu, {
|
|
@@ -11,6 +11,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _styles = require("@mui/material/styles");
|
|
13
13
|
var _utils = require("@mui/utils");
|
|
14
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
14
15
|
var _gridColumnsSelector = require("../../hooks/features/columns/gridColumnsSelector");
|
|
15
16
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
16
17
|
var _gridFilterSelector = require("../../hooks/features/filter/gridFilterSelector");
|
|
@@ -39,7 +40,7 @@ const GridToolbarFilterListRoot = (0, _styles.styled)('ul', {
|
|
|
39
40
|
margin: theme.spacing(1, 1, 0.5),
|
|
40
41
|
padding: theme.spacing(0, 1)
|
|
41
42
|
}));
|
|
42
|
-
const GridToolbarFilterButton = exports.GridToolbarFilterButton =
|
|
43
|
+
const GridToolbarFilterButton = exports.GridToolbarFilterButton = (0, _forwardRef.forwardRef)(function GridToolbarFilterButton(props, ref) {
|
|
43
44
|
const {
|
|
44
45
|
slotProps = {}
|
|
45
46
|
} = props;
|
|
@@ -105,7 +106,6 @@ const GridToolbarFilterButton = exports.GridToolbarFilterButton = /*#__PURE__*/R
|
|
|
105
106
|
enterDelay: 1000
|
|
106
107
|
}, rootProps.slotProps?.baseTooltip, tooltipProps, {
|
|
107
108
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
|
|
108
|
-
ref: ref,
|
|
109
109
|
id: filterButtonId,
|
|
110
110
|
size: "small",
|
|
111
111
|
"aria-label": apiRef.current.getLocaleText('toolbarFiltersLabel'),
|
|
@@ -120,6 +120,7 @@ const GridToolbarFilterButton = exports.GridToolbarFilterButton = /*#__PURE__*/R
|
|
|
120
120
|
})),
|
|
121
121
|
onClick: toggleFilter
|
|
122
122
|
}, rootProps.slotProps?.baseButton, buttonProps, {
|
|
123
|
+
ref: ref,
|
|
123
124
|
children: apiRef.current.getLocaleText('toolbarFilters')
|
|
124
125
|
}))
|
|
125
126
|
}));
|
|
@@ -9,6 +9,7 @@ exports.GridMainContainer = void 0;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _system = require("@mui/system");
|
|
12
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
12
13
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
13
14
|
var _useGridConfiguration = require("../../hooks/utils/useGridConfiguration");
|
|
14
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -29,16 +30,16 @@ const Element = (0, _system.styled)('div', {
|
|
|
29
30
|
display: 'flex',
|
|
30
31
|
flexDirection: 'column'
|
|
31
32
|
});
|
|
32
|
-
const GridMainContainer = exports.GridMainContainer =
|
|
33
|
+
const GridMainContainer = exports.GridMainContainer = (0, _forwardRef.forwardRef)((props, ref) => {
|
|
33
34
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
34
35
|
const configuration = (0, _useGridConfiguration.useGridConfiguration)();
|
|
35
36
|
const ariaAttributes = configuration.hooks.useGridAriaAttributes();
|
|
36
37
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Element, (0, _extends2.default)({
|
|
37
|
-
ref: ref,
|
|
38
38
|
ownerState: rootProps,
|
|
39
39
|
className: props.className,
|
|
40
40
|
tabIndex: -1
|
|
41
|
-
}, ariaAttributes, {
|
|
41
|
+
}, ariaAttributes, rootProps.slotProps?.main, {
|
|
42
|
+
ref: ref,
|
|
42
43
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(GridPanelAnchor, {
|
|
43
44
|
role: "presentation",
|
|
44
45
|
"data-id": "gridPanelAnchor"
|
|
@@ -8,6 +8,7 @@ exports.GridVirtualScrollbar = void 0;
|
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _system = require("@mui/system");
|
|
10
10
|
var _utils = require("@mui/utils");
|
|
11
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
11
12
|
var _useOnMount = require("../../hooks/utils/useOnMount");
|
|
12
13
|
var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
|
|
13
14
|
var _hooks = require("../../hooks");
|
|
@@ -59,7 +60,7 @@ const ScrollbarHorizontal = (0, _system.styled)(Scrollbar)({
|
|
|
59
60
|
},
|
|
60
61
|
bottom: '0px'
|
|
61
62
|
});
|
|
62
|
-
const GridVirtualScrollbar = exports.GridVirtualScrollbar =
|
|
63
|
+
const GridVirtualScrollbar = exports.GridVirtualScrollbar = (0, _forwardRef.forwardRef)(function GridVirtualScrollbar(props, ref) {
|
|
63
64
|
const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
|
|
64
65
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
65
66
|
const isLocked = React.useRef(false);
|
|
@@ -11,6 +11,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
12
12
|
var _system = require("@mui/system");
|
|
13
13
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
14
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
14
15
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
15
16
|
var _gridClasses = require("../../constants/gridClasses");
|
|
16
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -28,14 +29,13 @@ const VirtualScrollerContentRoot = (0, _system.styled)('div', {
|
|
|
28
29
|
slot: 'VirtualScrollerContent',
|
|
29
30
|
overridesResolver: (props, styles) => styles.virtualScrollerContent
|
|
30
31
|
})({});
|
|
31
|
-
const GridVirtualScrollerContent = exports.GridVirtualScrollerContent =
|
|
32
|
+
const GridVirtualScrollerContent = exports.GridVirtualScrollerContent = (0, _forwardRef.forwardRef)(function GridVirtualScrollerContent(props, ref) {
|
|
32
33
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
33
34
|
const overflowedContent = !rootProps.autoHeight && props.style?.minHeight === 'auto';
|
|
34
35
|
const classes = useUtilityClasses(rootProps, overflowedContent);
|
|
35
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(VirtualScrollerContentRoot, (0, _extends2.default)({
|
|
36
|
-
ref: ref
|
|
37
|
-
}, props, {
|
|
36
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(VirtualScrollerContentRoot, (0, _extends2.default)({}, props, {
|
|
38
37
|
ownerState: rootProps,
|
|
39
|
-
className: (0, _clsx.default)(classes.root, props.className)
|
|
38
|
+
className: (0, _clsx.default)(classes.root, props.className),
|
|
39
|
+
ref: ref
|
|
40
40
|
}));
|
|
41
41
|
});
|
|
@@ -12,6 +12,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
12
12
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
13
|
var _system = require("@mui/system");
|
|
14
14
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
15
|
+
var _forwardRef = require("@mui/x-internals/forwardRef");
|
|
15
16
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
16
17
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
17
18
|
var _rows = require("../../hooks/features/rows");
|
|
@@ -39,7 +40,7 @@ const VirtualScrollerRenderZoneRoot = (0, _system.styled)('div', {
|
|
|
39
40
|
// Prevents margin collapsing when using `getRowSpacing`
|
|
40
41
|
flexDirection: 'column'
|
|
41
42
|
});
|
|
42
|
-
const GridVirtualScrollerRenderZone = exports.GridVirtualScrollerRenderZone =
|
|
43
|
+
const GridVirtualScrollerRenderZone = exports.GridVirtualScrollerRenderZone = (0, _forwardRef.forwardRef)(function GridVirtualScrollerRenderZone(props, ref) {
|
|
43
44
|
const {
|
|
44
45
|
className
|
|
45
46
|
} = props,
|
|
@@ -53,11 +54,12 @@ const GridVirtualScrollerRenderZone = exports.GridVirtualScrollerRenderZone = /*
|
|
|
53
54
|
return rowsMeta.positions[renderContext.firstRowIndex] ?? 0;
|
|
54
55
|
});
|
|
55
56
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(VirtualScrollerRenderZoneRoot, (0, _extends2.default)({
|
|
56
|
-
ref: ref,
|
|
57
57
|
className: (0, _clsx.default)(classes.root, className),
|
|
58
58
|
ownerState: rootProps,
|
|
59
59
|
style: {
|
|
60
60
|
transform: `translate3d(0, ${offsetTop}px, 0)`
|
|
61
61
|
}
|
|
62
|
-
}, other
|
|
62
|
+
}, other, {
|
|
63
|
+
ref: ref
|
|
64
|
+
}));
|
|
63
65
|
});
|
|
@@ -55,7 +55,7 @@ const useGridColumnHeaders = props => {
|
|
|
55
55
|
const isRtl = (0, _RtlProvider.useRtl)();
|
|
56
56
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
57
57
|
const dimensions = (0, _utils.useGridSelector)(apiRef, _dimensions.gridDimensionsSelector);
|
|
58
|
-
const
|
|
58
|
+
const hasColumnVirtualization = (0, _utils.useGridSelector)(apiRef, _virtualization.gridVirtualizationColumnEnabledSelector);
|
|
59
59
|
const columnGroupsModel = (0, _utils.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsUnwrappedModelSelector);
|
|
60
60
|
const columnPositions = (0, _utils.useGridSelector)(apiRef, _columns.gridColumnPositionsSelector);
|
|
61
61
|
const renderContext = (0, _utils.useGridSelector)(apiRef, _virtualization.gridRenderContextColumnsSelector);
|
|
@@ -95,8 +95,15 @@ const useGridColumnHeaders = props => {
|
|
|
95
95
|
renderContext: currentContext = renderContext,
|
|
96
96
|
maxLastColumn = visibleColumns.length
|
|
97
97
|
} = params || {};
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
let firstColumnToRender;
|
|
99
|
+
let lastColumnToRender;
|
|
100
|
+
if (!rootProps.disableVirtualization && !hasColumnVirtualization) {
|
|
101
|
+
firstColumnToRender = 0;
|
|
102
|
+
lastColumnToRender = maxLastColumn;
|
|
103
|
+
} else {
|
|
104
|
+
firstColumnToRender = currentContext.firstColumnIndex;
|
|
105
|
+
lastColumnToRender = currentContext.lastColumnIndex;
|
|
106
|
+
}
|
|
100
107
|
const renderedColumns = visibleColumns.slice(firstColumnToRender, lastColumnToRender);
|
|
101
108
|
return {
|
|
102
109
|
renderedColumns,
|
|
@@ -467,6 +467,7 @@ const useGridColumnResize = (apiRef, props) => {
|
|
|
467
467
|
return;
|
|
468
468
|
}
|
|
469
469
|
apiRef.current.autosizeColumns((0, _extends2.default)({}, props.autosizeOptions, {
|
|
470
|
+
disableColumnVirtualization: false,
|
|
470
471
|
columns: [column.field]
|
|
471
472
|
}));
|
|
472
473
|
});
|
|
@@ -493,8 +494,10 @@ const useGridColumnResize = (apiRef, props) => {
|
|
|
493
494
|
options.columns = options.columns.filter(c => state.columnVisibilityModel[c] !== false);
|
|
494
495
|
const columns = options.columns.map(c => apiRef.current.state.columns.lookup[c]);
|
|
495
496
|
try {
|
|
496
|
-
|
|
497
|
-
|
|
497
|
+
if (!props.disableVirtualization && options.disableColumnVirtualization) {
|
|
498
|
+
apiRef.current.unstable_setColumnVirtualization(false);
|
|
499
|
+
await columnVirtualizationDisabled();
|
|
500
|
+
}
|
|
498
501
|
const widthByField = extractColumnWidths(apiRef, options, columns);
|
|
499
502
|
const newColumns = columns.map(column => (0, _extends2.default)({}, column, {
|
|
500
503
|
width: widthByField[column.field],
|
|
@@ -526,10 +529,12 @@ const useGridColumnResize = (apiRef, props) => {
|
|
|
526
529
|
}
|
|
527
530
|
});
|
|
528
531
|
} finally {
|
|
529
|
-
|
|
532
|
+
if (!props.disableVirtualization) {
|
|
533
|
+
apiRef.current.unstable_setColumnVirtualization(true);
|
|
534
|
+
}
|
|
530
535
|
isAutosizingRef.current = false;
|
|
531
536
|
}
|
|
532
|
-
}, [apiRef, columnVirtualizationDisabled]);
|
|
537
|
+
}, [apiRef, columnVirtualizationDisabled, props.disableVirtualization]);
|
|
533
538
|
|
|
534
539
|
/**
|
|
535
540
|
* EFFECTS
|
|
@@ -334,6 +334,7 @@ function getTotalHeaderHeight(apiRef, props) {
|
|
|
334
334
|
const maxDepth = (0, _gridColumnGroupsSelector.gridColumnGroupsHeaderMaxDepthSelector)(apiRef);
|
|
335
335
|
const isHeaderFilteringEnabled = (0, _gridHeaderFilteringSelectors.gridHeaderFilteringEnabledSelector)(apiRef);
|
|
336
336
|
const columnHeadersHeight = Math.floor(props.columnHeaderHeight * densityFactor);
|
|
337
|
+
const columnGroupHeadersHeight = Math.floor((props.columnGroupHeaderHeight ?? props.columnHeaderHeight) * densityFactor);
|
|
337
338
|
const filterHeadersHeight = isHeaderFilteringEnabled ? Math.floor((props.headerFilterHeight ?? props.columnHeaderHeight) * densityFactor) : 0;
|
|
338
|
-
return columnHeadersHeight
|
|
339
|
+
return columnHeadersHeight + columnGroupHeadersHeight * maxDepth + filterHeadersHeight;
|
|
339
340
|
}
|
|
@@ -14,6 +14,7 @@ var _gridColumnsSelector = require("../columns/gridColumnsSelector");
|
|
|
14
14
|
var _useGridVisibleRows = require("../../utils/useGridVisibleRows");
|
|
15
15
|
var _gridVirtualizationSelectors = require("../virtualization/gridVirtualizationSelectors");
|
|
16
16
|
var _useGridSelector = require("../../utils/useGridSelector");
|
|
17
|
+
var _gridRowsSelector = require("./gridRowsSelector");
|
|
17
18
|
var _gridRowSpanningUtils = require("./gridRowSpanningUtils");
|
|
18
19
|
var _gridCheckboxSelectionColDef = require("../../../colDef/gridCheckboxSelectionColDef");
|
|
19
20
|
const EMPTY_STATE = {
|
|
@@ -43,7 +44,7 @@ const computeRowSpanningState = (apiRef, colDefs, visibleRows, range, rangeToPro
|
|
|
43
44
|
if (skippedFields.has(colDef.field)) {
|
|
44
45
|
return;
|
|
45
46
|
}
|
|
46
|
-
for (let index = rangeToProcess.firstRowIndex; index
|
|
47
|
+
for (let index = rangeToProcess.firstRowIndex; index < rangeToProcess.lastRowIndex; index += 1) {
|
|
47
48
|
const row = visibleRows[index];
|
|
48
49
|
if (hiddenCells[row.id]?.[colDef.field]) {
|
|
49
50
|
continue;
|
|
@@ -150,7 +151,7 @@ const rowSpanningStateInitializer = (state, props, apiRef) => {
|
|
|
150
151
|
}
|
|
151
152
|
const rangeToProcess = {
|
|
152
153
|
firstRowIndex: 0,
|
|
153
|
-
lastRowIndex: Math.min(DEFAULT_ROWS_TO_PROCESS
|
|
154
|
+
lastRowIndex: Math.min(DEFAULT_ROWS_TO_PROCESS, Math.max(rowIds.length, 0))
|
|
154
155
|
};
|
|
155
156
|
const rows = rowIds.map(id => ({
|
|
156
157
|
id,
|
|
@@ -182,10 +183,11 @@ const useGridRowSpanning = (apiRef, props) => {
|
|
|
182
183
|
} = (0, _useGridVisibleRows.useGridVisibleRows)(apiRef, props);
|
|
183
184
|
const renderContext = (0, _useGridSelector.useGridSelector)(apiRef, _gridVirtualizationSelectors.gridRenderContextSelector);
|
|
184
185
|
const colDefs = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridVisibleColumnDefinitionsSelector);
|
|
186
|
+
const tree = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridRowTreeSelector);
|
|
185
187
|
const processedRange = (0, _useLazyRef.default)(() => {
|
|
186
188
|
return Object.keys(apiRef.current.state.rowSpanning.spannedCells).length > 0 ? {
|
|
187
189
|
firstRowIndex: 0,
|
|
188
|
-
lastRowIndex: Math.min(DEFAULT_ROWS_TO_PROCESS
|
|
190
|
+
lastRowIndex: Math.min(DEFAULT_ROWS_TO_PROCESS, Math.max(apiRef.current.state.rows.dataRowIds.length, 0))
|
|
189
191
|
} : EMPTY_RANGE;
|
|
190
192
|
});
|
|
191
193
|
const lastRange = React.useRef(EMPTY_RANGE);
|
|
@@ -213,7 +215,7 @@ const useGridRowSpanning = (apiRef, props) => {
|
|
|
213
215
|
}
|
|
214
216
|
const rangeToProcess = (0, _gridRowSpanningUtils.getUnprocessedRange)({
|
|
215
217
|
firstRowIndex: renderContext.firstRowIndex,
|
|
216
|
-
lastRowIndex: Math.min(renderContext.lastRowIndex
|
|
218
|
+
lastRowIndex: Math.min(renderContext.lastRowIndex, range.lastRowIndex + 1)
|
|
217
219
|
}, processedRange.current);
|
|
218
220
|
if (rangeToProcess === null) {
|
|
219
221
|
return;
|
|
@@ -246,11 +248,17 @@ const useGridRowSpanning = (apiRef, props) => {
|
|
|
246
248
|
const prevRenderContext = React.useRef(renderContext);
|
|
247
249
|
const isFirstRender = React.useRef(true);
|
|
248
250
|
const shouldResetState = React.useRef(false);
|
|
251
|
+
const previousTree = React.useRef(tree);
|
|
249
252
|
React.useEffect(() => {
|
|
250
253
|
const firstRender = isFirstRender.current;
|
|
251
254
|
if (isFirstRender.current) {
|
|
252
255
|
isFirstRender.current = false;
|
|
253
256
|
}
|
|
257
|
+
if (tree !== previousTree.current) {
|
|
258
|
+
previousTree.current = tree;
|
|
259
|
+
updateRowSpanningState(true);
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
254
262
|
if (range && lastRange.current && (0, _gridRowSpanningUtils.isRowRangeUpdated)(range, lastRange.current)) {
|
|
255
263
|
lastRange.current = range;
|
|
256
264
|
shouldResetState.current = true;
|
|
@@ -264,6 +272,6 @@ const useGridRowSpanning = (apiRef, props) => {
|
|
|
264
272
|
return;
|
|
265
273
|
}
|
|
266
274
|
updateRowSpanningState();
|
|
267
|
-
}, [updateRowSpanningState, renderContext, range, lastRange]);
|
|
275
|
+
}, [updateRowSpanningState, renderContext, range, lastRange, tree]);
|
|
268
276
|
};
|
|
269
277
|
exports.useGridRowSpanning = useGridRowSpanning;
|
|
@@ -103,10 +103,7 @@ const useGridVirtualScroller = () => {
|
|
|
103
103
|
return undefined;
|
|
104
104
|
}
|
|
105
105
|
const initialRect = node.getBoundingClientRect();
|
|
106
|
-
let lastSize =
|
|
107
|
-
width: initialRect.width,
|
|
108
|
-
height: initialRect.height
|
|
109
|
-
};
|
|
106
|
+
let lastSize = roundDimensions(initialRect);
|
|
110
107
|
apiRef.current.publishEvent('resize', lastSize);
|
|
111
108
|
if (typeof ResizeObserver === 'undefined') {
|
|
112
109
|
return undefined;
|
|
@@ -116,10 +113,7 @@ const useGridVirtualScroller = () => {
|
|
|
116
113
|
if (!entry) {
|
|
117
114
|
return;
|
|
118
115
|
}
|
|
119
|
-
const newSize =
|
|
120
|
-
width: entry.contentRect.width,
|
|
121
|
-
height: entry.contentRect.height
|
|
122
|
-
};
|
|
116
|
+
const newSize = roundDimensions(entry.contentRect);
|
|
123
117
|
if (newSize.width === lastSize.width && newSize.height === lastSize.height) {
|
|
124
118
|
return;
|
|
125
119
|
}
|
|
@@ -796,4 +790,13 @@ function bufferForDirection(isRtl, direction, rowBufferPx, columnBufferPx, verti
|
|
|
796
790
|
// eslint unable to figure out enum exhaustiveness
|
|
797
791
|
throw new Error('unreachable');
|
|
798
792
|
}
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
// Round to avoid issues with subpixel rendering
|
|
796
|
+
// https://github.com/mui/mui-x/issues/15721
|
|
797
|
+
function roundDimensions(dimensions) {
|
|
798
|
+
return {
|
|
799
|
+
width: Math.round(dimensions.width * 10) / 10,
|
|
800
|
+
height: Math.round(dimensions.height * 10) / 10
|
|
801
|
+
};
|
|
799
802
|
}
|
package/node/index.js
CHANGED