@mui/x-data-grid 7.22.2 → 8.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +142 -155
- package/README.md +2 -2
- package/components/GridDetailPanels.js +0 -1
- package/components/GridPinnedRows.js +0 -1
- package/components/GridRow.d.ts +2 -2
- package/components/GridRow.js +3 -28
- package/components/base/GridOverlays.js +10 -8
- package/components/cell/GridActionsCell.js +1 -2
- package/components/cell/GridActionsCellItem.js +1 -2
- package/components/cell/GridCell.d.ts +41 -3
- package/components/cell/GridCell.js +1 -9
- package/components/cell/GridEditInputCell.js +0 -67
- package/components/containers/GridRootStyles.js +1 -0
- package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +3 -4
- package/components/panel/GridPanel.d.ts +1 -1
- package/components/toolbar/GridToolbar.d.ts +2 -2
- package/components/toolbar/GridToolbar.js +12 -4
- package/components/toolbar/GridToolbarColumnsButton.js +1 -1
- package/components/toolbar/GridToolbarDensitySelector.js +2 -4
- package/components/toolbar/GridToolbarExport.d.ts +2 -2
- package/components/toolbar/GridToolbarExport.js +9 -6
- package/components/toolbar/GridToolbarExportContainer.js +1 -2
- package/components/toolbar/index.d.ts +1 -1
- package/hooks/features/columnResize/useGridColumnResize.js +4 -2
- package/hooks/features/export/useGridCsvExport.js +1 -1
- package/hooks/features/export/useGridPrintExport.js +1 -1
- package/hooks/features/pagination/useGridPaginationModel.js +2 -2
- package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
- package/hooks/features/rows/gridRowsUtils.js +1 -5
- package/hooks/features/virtualization/useGridVirtualScroller.js +4 -4
- package/hooks/utils/useGridSelector.d.ts +3 -2
- package/hooks/utils/useGridSelector.js +27 -2
- package/index.d.ts +0 -1
- package/index.js +1 -1
- package/locales/plPL.js +25 -28
- package/locales/trTR.js +2 -2
- package/material/index.js +4 -0
- package/models/gridSlotsComponent.d.ts +10 -0
- package/models/gridSlotsComponentsProps.d.ts +8 -0
- package/models/props/DataGridProps.d.ts +1 -1
- package/modern/components/GridDetailPanels.js +0 -1
- package/modern/components/GridPinnedRows.js +0 -1
- package/modern/components/GridRow.js +3 -28
- package/modern/components/base/GridOverlays.js +10 -8
- package/modern/components/cell/GridActionsCell.js +1 -2
- package/modern/components/cell/GridActionsCellItem.js +1 -2
- package/modern/components/cell/GridCell.js +1 -9
- package/modern/components/cell/GridEditInputCell.js +0 -67
- package/modern/components/containers/GridRootStyles.js +1 -0
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -2
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -2
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -2
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +3 -4
- package/modern/components/toolbar/GridToolbar.js +12 -4
- package/modern/components/toolbar/GridToolbarColumnsButton.js +1 -1
- package/modern/components/toolbar/GridToolbarDensitySelector.js +2 -4
- package/modern/components/toolbar/GridToolbarExport.js +9 -6
- package/modern/components/toolbar/GridToolbarExportContainer.js +1 -2
- package/modern/hooks/features/columnResize/useGridColumnResize.js +4 -2
- package/modern/hooks/features/export/useGridCsvExport.js +1 -1
- package/modern/hooks/features/export/useGridPrintExport.js +1 -1
- package/modern/hooks/features/pagination/useGridPaginationModel.js +2 -2
- package/modern/hooks/features/rows/gridRowsUtils.js +1 -5
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +4 -4
- package/modern/hooks/utils/useGridSelector.js +27 -2
- package/modern/index.js +1 -1
- package/modern/locales/plPL.js +25 -28
- package/modern/locales/trTR.js +2 -2
- package/modern/material/index.js +4 -0
- package/modern/utils/createSelector.js +11 -1
- package/modern/utils/utils.js +1 -3
- package/node/components/GridDetailPanels.js +0 -1
- package/node/components/GridPinnedRows.js +0 -1
- package/node/components/GridRow.js +3 -28
- package/node/components/base/GridOverlays.js +10 -8
- package/node/components/cell/GridActionsCell.js +1 -2
- package/node/components/cell/GridActionsCellItem.js +1 -2
- package/node/components/cell/GridCell.js +1 -9
- package/node/components/cell/GridEditInputCell.js +0 -67
- package/node/components/containers/GridRootStyles.js +1 -0
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -2
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -2
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -2
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +3 -4
- package/node/components/toolbar/GridToolbar.js +12 -4
- package/node/components/toolbar/GridToolbarColumnsButton.js +3 -3
- package/node/components/toolbar/GridToolbarDensitySelector.js +2 -4
- package/node/components/toolbar/GridToolbarExport.js +9 -6
- package/node/components/toolbar/GridToolbarExportContainer.js +1 -2
- package/node/hooks/features/columnResize/useGridColumnResize.js +4 -2
- package/node/hooks/features/export/useGridCsvExport.js +2 -2
- package/node/hooks/features/export/useGridPrintExport.js +2 -2
- package/node/hooks/features/pagination/useGridPaginationModel.js +2 -2
- package/node/hooks/features/rows/gridRowsUtils.js +2 -8
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +4 -4
- package/node/hooks/utils/useGridSelector.js +29 -3
- package/node/index.js +1 -1
- package/node/locales/plPL.js +25 -28
- package/node/locales/trTR.js +2 -2
- package/node/material/index.js +4 -0
- package/node/utils/createSelector.js +11 -1
- package/node/utils/utils.js +1 -3
- package/package.json +3 -3
- package/utils/createSelector.d.ts +1 -1
- package/utils/createSelector.js +11 -1
- package/utils/utils.js +1 -3
|
@@ -10,7 +10,6 @@ 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 _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
14
13
|
var _ListItemIcon = _interopRequireDefault(require("@mui/material/ListItemIcon"));
|
|
15
14
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
16
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -55,7 +54,7 @@ const GridActionsCellItem = exports.GridActionsCellItem = /*#__PURE__*/React.for
|
|
|
55
54
|
closeMenu?.();
|
|
56
55
|
}
|
|
57
56
|
};
|
|
58
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
57
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseMenuItem, (0, _extends2.default)({
|
|
59
58
|
ref: ref
|
|
60
59
|
}, other, {
|
|
61
60
|
onClick: handleClick,
|
|
@@ -26,7 +26,7 @@ var _cellBorderUtils = require("../../utils/cellBorderUtils");
|
|
|
26
26
|
var _gridColumnsInterfaces = require("../../hooks/features/columns/gridColumnsInterfaces");
|
|
27
27
|
var _gridRowSpanningSelectors = require("../../hooks/features/rows/gridRowSpanningSelectors");
|
|
28
28
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
|
-
const _excluded = ["column", "rowId", "editCellState", "align", "children", "colIndex", "width", "className", "style", "
|
|
29
|
+
const _excluded = ["column", "rowId", "editCellState", "align", "children", "colIndex", "width", "className", "style", "colSpan", "disableDragEvents", "isNotVisible", "pinnedOffset", "pinnedPosition", "sectionIndex", "sectionLength", "gridHasFiller", "onClick", "onDoubleClick", "onMouseDown", "onMouseUp", "onMouseOver", "onKeyDown", "onKeyUp", "onDragEnter", "onDragOver"],
|
|
30
30
|
_excluded2 = ["changeReason", "unstable_updateValueOnRender"];
|
|
31
31
|
let PinnedPosition = exports.PinnedPosition = /*#__PURE__*/function (PinnedPosition) {
|
|
32
32
|
PinnedPosition[PinnedPosition["NONE"] = 0] = "NONE";
|
|
@@ -350,7 +350,6 @@ process.env.NODE_ENV !== "production" ? GridCell.propTypes = {
|
|
|
350
350
|
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
351
351
|
// ----------------------------------------------------------------------
|
|
352
352
|
align: _propTypes.default.oneOf(['center', 'left', 'right']).isRequired,
|
|
353
|
-
className: _propTypes.default.string,
|
|
354
353
|
colIndex: _propTypes.default.number.isRequired,
|
|
355
354
|
colSpan: _propTypes.default.number,
|
|
356
355
|
column: _propTypes.default.object.isRequired,
|
|
@@ -363,13 +362,6 @@ process.env.NODE_ENV !== "production" ? GridCell.propTypes = {
|
|
|
363
362
|
}),
|
|
364
363
|
gridHasFiller: _propTypes.default.bool.isRequired,
|
|
365
364
|
isNotVisible: _propTypes.default.bool.isRequired,
|
|
366
|
-
onClick: _propTypes.default.func,
|
|
367
|
-
onDoubleClick: _propTypes.default.func,
|
|
368
|
-
onDragEnter: _propTypes.default.func,
|
|
369
|
-
onDragOver: _propTypes.default.func,
|
|
370
|
-
onKeyDown: _propTypes.default.func,
|
|
371
|
-
onMouseDown: _propTypes.default.func,
|
|
372
|
-
onMouseUp: _propTypes.default.func,
|
|
373
365
|
pinnedOffset: _propTypes.default.number.isRequired,
|
|
374
366
|
pinnedPosition: _propTypes.default.oneOf([0, 1, 2, 3]).isRequired,
|
|
375
367
|
rowId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
@@ -9,7 +9,6 @@ exports.renderEditInputCell = exports.GridEditInputCell = void 0;
|
|
|
9
9
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
12
|
var _utils = require("@mui/utils");
|
|
14
13
|
var _styles = require("@mui/material/styles");
|
|
15
14
|
var _InputBase = _interopRequireDefault(require("@mui/material/InputBase"));
|
|
@@ -102,71 +101,5 @@ const GridEditInputCell = exports.GridEditInputCell = /*#__PURE__*/React.forward
|
|
|
102
101
|
}) : undefined
|
|
103
102
|
}, other));
|
|
104
103
|
});
|
|
105
|
-
process.env.NODE_ENV !== "production" ? GridEditInputCell.propTypes = {
|
|
106
|
-
// ----------------------------- Warning --------------------------------
|
|
107
|
-
// | These PropTypes are generated from the TypeScript type definitions |
|
|
108
|
-
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
109
|
-
// ----------------------------------------------------------------------
|
|
110
|
-
/**
|
|
111
|
-
* GridApi that let you manipulate the grid.
|
|
112
|
-
*/
|
|
113
|
-
api: _propTypes.default.object.isRequired,
|
|
114
|
-
/**
|
|
115
|
-
* The mode of the cell.
|
|
116
|
-
*/
|
|
117
|
-
cellMode: _propTypes.default.oneOf(['edit', 'view']).isRequired,
|
|
118
|
-
changeReason: _propTypes.default.oneOf(['debouncedSetEditCellValue', 'setEditCellValue']),
|
|
119
|
-
/**
|
|
120
|
-
* The column of the row that the current cell belongs to.
|
|
121
|
-
*/
|
|
122
|
-
colDef: _propTypes.default.object.isRequired,
|
|
123
|
-
debounceMs: _propTypes.default.number,
|
|
124
|
-
/**
|
|
125
|
-
* The column field of the cell that triggered the event.
|
|
126
|
-
*/
|
|
127
|
-
field: _propTypes.default.string.isRequired,
|
|
128
|
-
/**
|
|
129
|
-
* The cell value formatted with the column valueFormatter.
|
|
130
|
-
*/
|
|
131
|
-
formattedValue: _propTypes.default.any,
|
|
132
|
-
/**
|
|
133
|
-
* If true, the cell is the active element.
|
|
134
|
-
*/
|
|
135
|
-
hasFocus: _propTypes.default.bool.isRequired,
|
|
136
|
-
/**
|
|
137
|
-
* The grid row id.
|
|
138
|
-
*/
|
|
139
|
-
id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired,
|
|
140
|
-
/**
|
|
141
|
-
* If true, the cell is editable.
|
|
142
|
-
*/
|
|
143
|
-
isEditable: _propTypes.default.bool,
|
|
144
|
-
isProcessingProps: _propTypes.default.bool,
|
|
145
|
-
isValidating: _propTypes.default.bool,
|
|
146
|
-
/**
|
|
147
|
-
* Callback called when the value is changed by the user.
|
|
148
|
-
* @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
|
|
149
|
-
* @param {Date | null} newValue The value that is going to be passed to `apiRef.current.setEditCellValue`.
|
|
150
|
-
* @returns {Promise<void> | void} A promise to be awaited before calling `apiRef.current.setEditCellValue`
|
|
151
|
-
*/
|
|
152
|
-
onValueChange: _propTypes.default.func,
|
|
153
|
-
/**
|
|
154
|
-
* The row model of the row that the current cell belongs to.
|
|
155
|
-
*/
|
|
156
|
-
row: _propTypes.default.any.isRequired,
|
|
157
|
-
/**
|
|
158
|
-
* The node of the row that the current cell belongs to.
|
|
159
|
-
*/
|
|
160
|
-
rowNode: _propTypes.default.object.isRequired,
|
|
161
|
-
/**
|
|
162
|
-
* the tabIndex value.
|
|
163
|
-
*/
|
|
164
|
-
tabIndex: _propTypes.default.oneOf([-1, 0]).isRequired,
|
|
165
|
-
/**
|
|
166
|
-
* The cell value.
|
|
167
|
-
* If the column has `valueGetter`, use `params.row` to directly access the fields.
|
|
168
|
-
*/
|
|
169
|
-
value: _propTypes.default.any
|
|
170
|
-
} : void 0;
|
|
171
104
|
const renderEditInputCell = params => /*#__PURE__*/(0, _jsxRuntime.jsx)(GridEditInputCell, (0, _extends2.default)({}, params));
|
|
172
105
|
exports.renderEditInputCell = renderEditInputCell;
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.GridColumnMenuFilterItem = GridColumnMenuFilterItem;
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
12
11
|
var _ListItemIcon = _interopRequireDefault(require("@mui/material/ListItemIcon"));
|
|
13
12
|
var _ListItemText = _interopRequireDefault(require("@mui/material/ListItemText"));
|
|
14
13
|
var _useGridApiContext = require("../../../../hooks/utils/useGridApiContext");
|
|
@@ -28,7 +27,7 @@ function GridColumnMenuFilterItem(props) {
|
|
|
28
27
|
if (rootProps.disableColumnFilter || !colDef.filterable) {
|
|
29
28
|
return null;
|
|
30
29
|
}
|
|
31
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
30
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseMenuItem, {
|
|
32
31
|
onClick: showFilter,
|
|
33
32
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {
|
|
34
33
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnMenuFilterIcon, {
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.GridColumnMenuHideItem = GridColumnMenuHideItem;
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
12
11
|
var _ListItemIcon = _interopRequireDefault(require("@mui/material/ListItemIcon"));
|
|
13
12
|
var _ListItemText = _interopRequireDefault(require("@mui/material/ListItemText"));
|
|
14
13
|
var _useGridApiContext = require("../../../../hooks/utils/useGridApiContext");
|
|
@@ -44,7 +43,7 @@ function GridColumnMenuHideItem(props) {
|
|
|
44
43
|
if (colDef.hideable === false) {
|
|
45
44
|
return null;
|
|
46
45
|
}
|
|
47
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
46
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseMenuItem, {
|
|
48
47
|
onClick: toggleColumn,
|
|
49
48
|
disabled: disabled,
|
|
50
49
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.GridColumnMenuManageItem = GridColumnMenuManageItem;
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
12
11
|
var _ListItemIcon = _interopRequireDefault(require("@mui/material/ListItemIcon"));
|
|
13
12
|
var _ListItemText = _interopRequireDefault(require("@mui/material/ListItemText"));
|
|
14
13
|
var _gridPreferencePanelsValue = require("../../../../hooks/features/preferencesPanel/gridPreferencePanelsValue");
|
|
@@ -28,7 +27,7 @@ function GridColumnMenuManageItem(props) {
|
|
|
28
27
|
if (rootProps.disableColumnSelector) {
|
|
29
28
|
return null;
|
|
30
29
|
}
|
|
31
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
30
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseMenuItem, {
|
|
32
31
|
onClick: showColumns,
|
|
33
32
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {
|
|
34
33
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnMenuManageColumnsIcon, {
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.GridColumnMenuSortItem = GridColumnMenuSortItem;
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
12
11
|
var _ListItemIcon = _interopRequireDefault(require("@mui/material/ListItemIcon"));
|
|
13
12
|
var _ListItemText = _interopRequireDefault(require("@mui/material/ListItemText"));
|
|
14
13
|
var _useGridSelector = require("../../../../hooks/utils/useGridSelector");
|
|
@@ -45,7 +44,7 @@ function GridColumnMenuSortItem(props) {
|
|
|
45
44
|
return typeof label === 'function' ? label(colDef) : label;
|
|
46
45
|
};
|
|
47
46
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
48
|
-
children: [sortingOrder.includes('asc') && sortDirection !== 'asc' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
47
|
+
children: [sortingOrder.includes('asc') && sortDirection !== 'asc' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseMenuItem, {
|
|
49
48
|
onClick: onSortMenuItemClick,
|
|
50
49
|
"data-value": "asc",
|
|
51
50
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {
|
|
@@ -55,7 +54,7 @@ function GridColumnMenuSortItem(props) {
|
|
|
55
54
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemText.default, {
|
|
56
55
|
children: getLabel('columnMenuSortAsc')
|
|
57
56
|
})]
|
|
58
|
-
}) : null, sortingOrder.includes('desc') && sortDirection !== 'desc' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
57
|
+
}) : null, sortingOrder.includes('desc') && sortDirection !== 'desc' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseMenuItem, {
|
|
59
58
|
onClick: onSortMenuItemClick,
|
|
60
59
|
"data-value": "desc",
|
|
61
60
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {
|
|
@@ -65,7 +64,7 @@ function GridColumnMenuSortItem(props) {
|
|
|
65
64
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemText.default, {
|
|
66
65
|
children: getLabel('columnMenuSortDesc')
|
|
67
66
|
})]
|
|
68
|
-
}) : null, sortingOrder.includes(null) && sortDirection != null ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
67
|
+
}) : null, sortingOrder.includes(null) && sortDirection != null ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseMenuItem, {
|
|
69
68
|
onClick: onSortMenuItemClick,
|
|
70
69
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemText.default, {
|
|
71
70
|
children: apiRef.current.getLocaleText('columnMenuUnsort')
|
|
@@ -22,14 +22,15 @@ const _excluded = ["className", "csvOptions", "printOptions", "excelOptions", "s
|
|
|
22
22
|
const GridToolbar = exports.GridToolbar = /*#__PURE__*/React.forwardRef(function GridToolbar(props, ref) {
|
|
23
23
|
// TODO v7: think about where export option should be passed.
|
|
24
24
|
// from slotProps={{ toolbarExport: { ...exportOption } }} seems to be more appropriate
|
|
25
|
-
const
|
|
25
|
+
const _ref = props,
|
|
26
|
+
{
|
|
26
27
|
csvOptions,
|
|
27
28
|
printOptions,
|
|
28
29
|
excelOptions,
|
|
29
30
|
showQuickFilter = false,
|
|
30
31
|
quickFilterProps = {}
|
|
31
|
-
} =
|
|
32
|
-
other = (0, _objectWithoutPropertiesLoose2.default)(
|
|
32
|
+
} = _ref,
|
|
33
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
33
34
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
34
35
|
if (rootProps.disableColumnFilter && rootProps.disableColumnSelector && rootProps.disableDensitySelector && !showQuickFilter) {
|
|
35
36
|
return null;
|
|
@@ -40,7 +41,7 @@ const GridToolbar = exports.GridToolbar = /*#__PURE__*/React.forwardRef(function
|
|
|
40
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, {
|
|
41
42
|
csvOptions: csvOptions,
|
|
42
43
|
printOptions: printOptions
|
|
43
|
-
//
|
|
44
|
+
// @ts-ignore
|
|
44
45
|
,
|
|
45
46
|
excelOptions: excelOptions
|
|
46
47
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
@@ -55,6 +56,8 @@ process.env.NODE_ENV !== "production" ? GridToolbar.propTypes = {
|
|
|
55
56
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
56
57
|
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
57
58
|
// ----------------------------------------------------------------------
|
|
59
|
+
csvOptions: _propTypes.default.object,
|
|
60
|
+
printOptions: _propTypes.default.object,
|
|
58
61
|
/**
|
|
59
62
|
* Props passed to the quick filter component.
|
|
60
63
|
*/
|
|
@@ -64,5 +67,10 @@ process.env.NODE_ENV !== "production" ? GridToolbar.propTypes = {
|
|
|
64
67
|
* @default false
|
|
65
68
|
*/
|
|
66
69
|
showQuickFilter: _propTypes.default.bool,
|
|
70
|
+
/**
|
|
71
|
+
* The props used for each slot inside.
|
|
72
|
+
* @default {}
|
|
73
|
+
*/
|
|
74
|
+
slotProps: _propTypes.default.object,
|
|
67
75
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
|
|
68
76
|
} : void 0;
|
|
@@ -9,7 +9,7 @@ exports.GridToolbarColumnsButton = void 0;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
-
var
|
|
12
|
+
var _useId = _interopRequireDefault(require("@mui/utils/useId"));
|
|
13
13
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
14
14
|
var _gridPreferencePanelSelector = require("../../hooks/features/preferencesPanel/gridPreferencePanelSelector");
|
|
15
15
|
var _gridPreferencePanelsValue = require("../../hooks/features/preferencesPanel/gridPreferencePanelsValue");
|
|
@@ -22,8 +22,8 @@ const GridToolbarColumnsButton = exports.GridToolbarColumnsButton = /*#__PURE__*
|
|
|
22
22
|
} = props;
|
|
23
23
|
const buttonProps = slotProps.button || {};
|
|
24
24
|
const tooltipProps = slotProps.tooltip || {};
|
|
25
|
-
const columnButtonId = (0,
|
|
26
|
-
const columnPanelId = (0,
|
|
25
|
+
const columnButtonId = (0, _useId.default)();
|
|
26
|
+
const columnPanelId = (0, _useId.default)();
|
|
27
27
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
28
28
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
29
29
|
const preferencePanel = (0, _useGridSelector.useGridSelector)(apiRef, _gridPreferencePanelSelector.gridPreferencePanelStateSelector);
|
|
@@ -10,8 +10,6 @@ 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/utils");
|
|
13
|
-
var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
|
|
14
|
-
var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
|
|
15
13
|
var _ListItemIcon = _interopRequireDefault(require("@mui/material/ListItemIcon"));
|
|
16
14
|
var _densitySelector = require("../../hooks/features/density/densitySelector");
|
|
17
15
|
var _keyboardUtils = require("../../utils/keyboardUtils");
|
|
@@ -82,7 +80,7 @@ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PUR
|
|
|
82
80
|
if (rootProps.disableDensitySelector) {
|
|
83
81
|
return null;
|
|
84
82
|
}
|
|
85
|
-
const densityElements = densityOptions.map((option, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(
|
|
83
|
+
const densityElements = densityOptions.map((option, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseMenuItem, {
|
|
86
84
|
onClick: () => handleDensityUpdate(option.value),
|
|
87
85
|
selected: option.value === density,
|
|
88
86
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ListItemIcon.default, {
|
|
@@ -113,7 +111,7 @@ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PUR
|
|
|
113
111
|
target: buttonRef.current,
|
|
114
112
|
onClose: handleDensitySelectorClose,
|
|
115
113
|
position: "bottom-start",
|
|
116
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
114
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuList, {
|
|
117
115
|
id: densityMenuId,
|
|
118
116
|
className: _gridClasses.gridClasses.menuList,
|
|
119
117
|
"aria-labelledby": densityButtonId,
|
|
@@ -12,7 +12,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
12
12
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
13
13
|
var React = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
-
var
|
|
15
|
+
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
16
16
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
17
17
|
var _GridToolbarExportContainer = require("./GridToolbarExportContainer");
|
|
18
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -21,12 +21,13 @@ const _excluded = ["hideMenu", "options"],
|
|
|
21
21
|
_excluded3 = ["csvOptions", "printOptions", "excelOptions"];
|
|
22
22
|
function GridCsvExportMenuItem(props) {
|
|
23
23
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
24
|
+
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
24
25
|
const {
|
|
25
26
|
hideMenu,
|
|
26
27
|
options
|
|
27
28
|
} = props,
|
|
28
29
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
29
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
30
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuItem, (0, _extends2.default)({
|
|
30
31
|
onClick: () => {
|
|
31
32
|
apiRef.current.exportDataAsCsv(options);
|
|
32
33
|
hideMenu?.();
|
|
@@ -57,12 +58,13 @@ process.env.NODE_ENV !== "production" ? GridCsvExportMenuItem.propTypes = {
|
|
|
57
58
|
} : void 0;
|
|
58
59
|
function GridPrintExportMenuItem(props) {
|
|
59
60
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
61
|
+
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
60
62
|
const {
|
|
61
63
|
hideMenu,
|
|
62
64
|
options
|
|
63
65
|
} = props,
|
|
64
66
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded2);
|
|
65
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
67
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuItem, (0, _extends2.default)({
|
|
66
68
|
onClick: () => {
|
|
67
69
|
apiRef.current.exportDataAsPrint(options);
|
|
68
70
|
hideMenu?.();
|
|
@@ -92,12 +94,13 @@ process.env.NODE_ENV !== "production" ? GridPrintExportMenuItem.propTypes = {
|
|
|
92
94
|
})
|
|
93
95
|
} : void 0;
|
|
94
96
|
const GridToolbarExport = exports.GridToolbarExport = /*#__PURE__*/React.forwardRef(function GridToolbarExport(props, ref) {
|
|
95
|
-
const
|
|
97
|
+
const _ref = props,
|
|
98
|
+
{
|
|
96
99
|
csvOptions = {},
|
|
97
100
|
printOptions = {},
|
|
98
101
|
excelOptions
|
|
99
|
-
} =
|
|
100
|
-
other = (0, _objectWithoutPropertiesLoose2.default)(
|
|
102
|
+
} = _ref,
|
|
103
|
+
other = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded3);
|
|
101
104
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
102
105
|
const preProcessedButtons = apiRef.current.unstable_applyPipeProcessors('exportMenu', [], {
|
|
103
106
|
excelOptions,
|
|
@@ -10,7 +10,6 @@ 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/utils");
|
|
13
|
-
var _MenuList = _interopRequireDefault(require("@mui/material/MenuList"));
|
|
14
13
|
var _keyboardUtils = require("../../utils/keyboardUtils");
|
|
15
14
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
16
15
|
var _GridMenu = require("../menu/GridMenu");
|
|
@@ -71,7 +70,7 @@ const GridToolbarExportContainer = exports.GridToolbarExportContainer = /*#__PUR
|
|
|
71
70
|
target: buttonRef.current,
|
|
72
71
|
onClose: handleMenuClose,
|
|
73
72
|
position: "bottom-start",
|
|
74
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
73
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuList, {
|
|
75
74
|
id: exportMenuId,
|
|
76
75
|
className: _gridClasses.gridClasses.menuList,
|
|
77
76
|
"aria-labelledby": exportButtonId,
|
|
@@ -202,8 +202,10 @@ const useGridColumnResize = (apiRef, props) => {
|
|
|
202
202
|
const prevWidth = refs.columnHeaderElement.offsetWidth;
|
|
203
203
|
const widthDiff = newWidth - prevWidth;
|
|
204
204
|
const columnWidthDiff = newWidth - refs.initialColWidth;
|
|
205
|
-
|
|
206
|
-
|
|
205
|
+
if (columnWidthDiff > 0) {
|
|
206
|
+
const newTotalWidth = refs.initialTotalWidth + columnWidthDiff;
|
|
207
|
+
apiRef.current.rootElementRef?.current?.style.setProperty('--DataGrid-rowWidth', `${newTotalWidth}px`);
|
|
208
|
+
}
|
|
207
209
|
refs.colDef.computedWidth = newWidth;
|
|
208
210
|
refs.colDef.width = newWidth;
|
|
209
211
|
refs.colDef.flex = 0;
|
|
@@ -12,7 +12,7 @@ var _exportAs = require("../../../utils/exportAs");
|
|
|
12
12
|
var _csvSerializer = require("./serializers/csvSerializer");
|
|
13
13
|
var _utils = require("./utils");
|
|
14
14
|
var _pipeProcessing = require("../../core/pipeProcessing");
|
|
15
|
-
var
|
|
15
|
+
var _toolbar = require("../../../components/toolbar");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
17
|
/**
|
|
18
18
|
* @requires useGridColumns (state)
|
|
@@ -71,7 +71,7 @@ const useGridCsvExport = (apiRef, props) => {
|
|
|
71
71
|
return initialValue;
|
|
72
72
|
}
|
|
73
73
|
return [...initialValue, {
|
|
74
|
-
component: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
74
|
+
component: /*#__PURE__*/(0, _jsxRuntime.jsx)(_toolbar.GridCsvExportMenuItem, {
|
|
75
75
|
options: options.csvOptions
|
|
76
76
|
}),
|
|
77
77
|
componentName: 'csvExport'
|
|
@@ -19,7 +19,7 @@ var _gridRowsUtils = require("../rows/gridRowsUtils");
|
|
|
19
19
|
var _utils2 = require("./utils");
|
|
20
20
|
var _useGridPaginationModel = require("../pagination/useGridPaginationModel");
|
|
21
21
|
var _pipeProcessing = require("../../core/pipeProcessing");
|
|
22
|
-
var
|
|
22
|
+
var _toolbar = require("../../../components/toolbar");
|
|
23
23
|
var _gridColumnsUtils = require("../columns/gridColumnsUtils");
|
|
24
24
|
var _gridCheckboxSelectionColDef = require("../../../colDef/gridCheckboxSelectionColDef");
|
|
25
25
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
@@ -288,7 +288,7 @@ const useGridPrintExport = (apiRef, props) => {
|
|
|
288
288
|
return initialValue;
|
|
289
289
|
}
|
|
290
290
|
return [...initialValue, {
|
|
291
|
-
component: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
291
|
+
component: /*#__PURE__*/(0, _jsxRuntime.jsx)(_toolbar.GridPrintExportMenuItem, {
|
|
292
292
|
options: options.printOptions
|
|
293
293
|
}),
|
|
294
294
|
componentName: 'printExport'
|
|
@@ -84,7 +84,7 @@ const useGridPaginationModel = (apiRef, props) => {
|
|
|
84
84
|
pagination: (0, _extends2.default)({}, state.pagination, {
|
|
85
85
|
paginationModel: getDerivedPaginationModel(state.pagination, props.signature, paginationModel)
|
|
86
86
|
})
|
|
87
|
-
}));
|
|
87
|
+
}), 'setPaginationModel');
|
|
88
88
|
}, [apiRef, logger, props.signature]);
|
|
89
89
|
const paginationModelApi = {
|
|
90
90
|
setPage,
|
|
@@ -122,7 +122,7 @@ const useGridPaginationModel = (apiRef, props) => {
|
|
|
122
122
|
pagination: (0, _extends2.default)({}, state.pagination, {
|
|
123
123
|
paginationModel: getDerivedPaginationModel(state.pagination, props.signature, paginationModel)
|
|
124
124
|
})
|
|
125
|
-
}));
|
|
125
|
+
}), 'stateRestorePreProcessing');
|
|
126
126
|
return params;
|
|
127
127
|
}, [apiRef, props.autoPageSize, props.signature]);
|
|
128
128
|
(0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'exportState', stateExportPreProcessing);
|
|
@@ -8,12 +8,9 @@ exports.buildRootGroup = exports.GRID_ROOT_GROUP_ID = exports.GRID_ID_AUTOGENERA
|
|
|
8
8
|
exports.calculatePinnedRowsHeight = calculatePinnedRowsHeight;
|
|
9
9
|
exports.checkGridRowIdIsValid = checkGridRowIdIsValid;
|
|
10
10
|
exports.computeRowsUpdates = computeRowsUpdates;
|
|
11
|
-
exports.createRowsInternalCache = void 0;
|
|
12
|
-
exports.getMinimalContentHeight = getMinimalContentHeight;
|
|
13
|
-
exports.updateCacheWithNewRows = exports.rowHeightWarning = exports.isAutogeneratedRowNode = exports.isAutogeneratedRow = exports.getValidRowHeight = exports.getTreeNodeDescendants = exports.getTopLevelRowCount = exports.getRowsStateFromCache = exports.getRowIdFromRowModel = exports.getRowHeightWarning = void 0;
|
|
11
|
+
exports.updateCacheWithNewRows = exports.rowHeightWarning = exports.minimalContentHeight = exports.isAutogeneratedRowNode = exports.isAutogeneratedRow = exports.getValidRowHeight = exports.getTreeNodeDescendants = exports.getTopLevelRowCount = exports.getRowsStateFromCache = exports.getRowIdFromRowModel = exports.getRowHeightWarning = exports.createRowsInternalCache = void 0;
|
|
14
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
15
13
|
var _gridRowsSelector = require("./gridRowsSelector");
|
|
16
|
-
var _gridDimensionsSelectors = require("../dimensions/gridDimensionsSelectors");
|
|
17
14
|
const GRID_ROOT_GROUP_ID = exports.GRID_ROOT_GROUP_ID = `auto-generated-group-node-root`;
|
|
18
15
|
const GRID_ID_AUTOGENERATED = exports.GRID_ID_AUTOGENERATED = Symbol('mui.id_autogenerated');
|
|
19
16
|
const buildRootGroup = () => ({
|
|
@@ -307,10 +304,7 @@ function calculatePinnedRowsHeight(apiRef) {
|
|
|
307
304
|
bottom: bottomPinnedRowsHeight
|
|
308
305
|
};
|
|
309
306
|
}
|
|
310
|
-
|
|
311
|
-
const dimensions = (0, _gridDimensionsSelectors.gridDimensionsSelector)(apiRef.current.state);
|
|
312
|
-
return `var(--DataGrid-overlayHeight, ${2 * dimensions.rowHeight}px)`;
|
|
313
|
-
}
|
|
307
|
+
const minimalContentHeight = exports.minimalContentHeight = 'var(--DataGrid-overlayHeight, calc(var(--height) * 2))';
|
|
314
308
|
function computeRowsUpdates(apiRef, updates, getRowId) {
|
|
315
309
|
const nonPinnedRowsUpdates = [];
|
|
316
310
|
updates.forEach(update => {
|
|
@@ -32,11 +32,11 @@ var _utils3 = require("../../../utils/utils");
|
|
|
32
32
|
var _gridRowSelectionSelector = require("../rowSelection/gridRowSelectionSelector");
|
|
33
33
|
var _gridRowsMetaSelector = require("../rows/gridRowsMetaSelector");
|
|
34
34
|
var _gridColumnsUtils = require("../columns/gridColumnsUtils");
|
|
35
|
-
var _gridRowsUtils = require("../rows/gridRowsUtils");
|
|
36
35
|
var _gridVirtualizationSelectors = require("./gridVirtualizationSelectors");
|
|
37
36
|
var _useGridVirtualization = require("./useGridVirtualization");
|
|
38
37
|
var _gridRowSpanningSelectors = require("../rows/gridRowSpanningSelectors");
|
|
39
38
|
var _gridListViewSelectors = require("../listView/gridListViewSelectors");
|
|
39
|
+
var _gridRowsUtils = require("../rows/gridRowsUtils");
|
|
40
40
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
41
41
|
const MINIMUM_COLUMN_WIDTH = 50;
|
|
42
42
|
var ScrollDirection = /*#__PURE__*/function (ScrollDirection) {
|
|
@@ -392,11 +392,11 @@ const useGridVirtualScroller = () => {
|
|
|
392
392
|
flexBasis: contentHeight,
|
|
393
393
|
flexShrink: 0
|
|
394
394
|
};
|
|
395
|
-
if (
|
|
396
|
-
size.flexBasis =
|
|
395
|
+
if (size.flexBasis === 0) {
|
|
396
|
+
size.flexBasis = _gridRowsUtils.minimalContentHeight; // Give room to show the overlay when there no rows.
|
|
397
397
|
}
|
|
398
398
|
return size;
|
|
399
|
-
}, [
|
|
399
|
+
}, [columnsTotalWidth, contentHeight, needsHorizontalScrollbar]);
|
|
400
400
|
React.useEffect(() => {
|
|
401
401
|
apiRef.current.publishEvent('virtualScrollerContentSizeChange');
|
|
402
402
|
}, [apiRef, contentSize]);
|
|
@@ -4,7 +4,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.useGridSelectorV8 = exports.useGridSelector = exports.objectShallowCompare = void 0;
|
|
7
|
+
exports.useGridSelectorV8 = exports.useGridSelector = exports.objectShallowCompare = exports.argsEqual = void 0;
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _fastObjectShallowCompare = require("@mui/x-internals/fastObjectShallowCompare");
|
|
10
10
|
var _warning = require("@mui/x-internals/warning");
|
|
@@ -30,10 +30,27 @@ function applySelectorV8(apiRef, selector, args, instanceId) {
|
|
|
30
30
|
}
|
|
31
31
|
const defaultCompare = Object.is;
|
|
32
32
|
const objectShallowCompare = exports.objectShallowCompare = _fastObjectShallowCompare.fastObjectShallowCompare;
|
|
33
|
+
const arrayShallowCompare = (a, b) => {
|
|
34
|
+
if (a === b) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
return a.length === b.length && a.every((v, i) => v === b[i]);
|
|
38
|
+
};
|
|
39
|
+
const argsEqual = (prev, curr) => {
|
|
40
|
+
let fn = Object.is;
|
|
41
|
+
if (curr instanceof Array) {
|
|
42
|
+
fn = arrayShallowCompare;
|
|
43
|
+
} else if (curr instanceof Object) {
|
|
44
|
+
fn = objectShallowCompare;
|
|
45
|
+
}
|
|
46
|
+
return fn(prev, curr);
|
|
47
|
+
};
|
|
48
|
+
exports.argsEqual = argsEqual;
|
|
33
49
|
const createRefs = () => ({
|
|
34
50
|
state: null,
|
|
35
51
|
equals: null,
|
|
36
|
-
selector: null
|
|
52
|
+
selector: null,
|
|
53
|
+
args: null
|
|
37
54
|
});
|
|
38
55
|
|
|
39
56
|
// TODO v8: Remove this function
|
|
@@ -79,9 +96,18 @@ const useGridSelectorV8 = (apiRef, selector, args = undefined, equals = defaultC
|
|
|
79
96
|
refs.current.state = state;
|
|
80
97
|
refs.current.equals = equals;
|
|
81
98
|
refs.current.selector = selector;
|
|
99
|
+
const prevArgs = refs.current.args;
|
|
100
|
+
refs.current.args = args;
|
|
101
|
+
if (didInit && !argsEqual(prevArgs, args)) {
|
|
102
|
+
const newState = applySelectorV8(apiRef, refs.current.selector, refs.current.args, apiRef.current.instanceId);
|
|
103
|
+
if (!refs.current.equals(refs.current.state, newState)) {
|
|
104
|
+
refs.current.state = newState;
|
|
105
|
+
setState(newState);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
82
108
|
(0, _useOnMount.useOnMount)(() => {
|
|
83
109
|
return apiRef.current.store.subscribe(() => {
|
|
84
|
-
const newState = applySelectorV8(apiRef, refs.current.selector, args, apiRef.current.instanceId);
|
|
110
|
+
const newState = applySelectorV8(apiRef, refs.current.selector, refs.current.args, apiRef.current.instanceId);
|
|
85
111
|
if (!refs.current.equals(refs.current.state, newState)) {
|
|
86
112
|
refs.current.state = newState;
|
|
87
113
|
setState(newState);
|
package/node/index.js
CHANGED