@mui/x-data-grid 7.20.0 → 7.22.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 +200 -31
- package/DataGrid/DataGrid.js +1 -0
- package/DataGrid/index.d.ts +0 -1
- package/DataGrid/index.js +1 -2
- package/DataGrid/useDataGridComponent.js +4 -1
- package/DataGrid/useDataGridProps.d.ts +1 -5
- package/DataGrid/useDataGridProps.js +3 -62
- package/components/GridPagination.js +1 -0
- package/components/GridRow.js +25 -36
- package/components/base/GridOverlays.js +8 -0
- package/components/cell/GridBooleanCell.d.ts +3 -3
- package/components/cell/GridBooleanCell.js +11 -1
- package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
- package/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
- package/components/containers/GridRootStyles.js +5 -2
- package/components/menu/columnMenu/GridColumnMenu.js +32 -0
- package/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
- package/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
- package/components/panel/filterPanel/GridFilterInputValue.js +2 -2
- package/components/toolbar/GridToolbar.js +2 -3
- package/components/toolbar/GridToolbarExport.d.ts +9 -3
- package/components/toolbar/GridToolbarExport.js +43 -3
- package/components/toolbar/GridToolbarFilterButton.js +1 -2
- package/components/virtualization/GridBottomContainer.js +0 -17
- package/components/virtualization/GridMainContainer.js +2 -1
- package/components/virtualization/GridVirtualScrollbar.js +4 -0
- package/components/virtualization/GridVirtualScroller.js +4 -2
- package/constants/dataGridPropsDefaultValues.d.ts +5 -0
- package/constants/dataGridPropsDefaultValues.js +60 -0
- package/constants/gridClasses.d.ts +5 -0
- package/constants/gridClasses.js +1 -1
- package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +6 -1
- package/hooks/features/clipboard/useGridClipboard.js +2 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -1
- package/hooks/features/columnMenu/useGridColumnMenuSlots.js +4 -3
- package/hooks/features/columns/gridColumnsUtils.d.ts +1 -1
- package/hooks/features/columns/gridColumnsUtils.js +3 -0
- package/hooks/features/dimensions/useGridDimensions.js +4 -2
- package/hooks/features/focus/useGridFocus.js +18 -3
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +9 -5
- package/hooks/features/listView/gridListViewSelectors.d.ts +5 -0
- package/hooks/features/listView/gridListViewSelectors.js +4 -0
- package/hooks/features/listView/useGridListView.d.ts +10 -0
- package/hooks/features/listView/useGridListView.js +54 -0
- package/hooks/features/pagination/gridPaginationSelector.js +2 -1
- package/hooks/features/rowSelection/useGridRowSelection.js +11 -2
- package/hooks/features/rowSelection/utils.js +1 -1
- package/hooks/features/rows/gridRowsMetaInterfaces.d.ts +16 -0
- package/hooks/features/rows/gridRowsMetaInterfaces.js +1 -0
- package/hooks/features/rows/gridRowsUtils.d.ts +3 -0
- package/hooks/features/rows/gridRowsUtils.js +14 -1
- package/hooks/features/rows/useGridParamsApi.d.ts +2 -1
- package/hooks/features/rows/useGridParamsApi.js +4 -3
- package/hooks/features/rows/useGridRowsMeta.js +135 -154
- package/hooks/features/scroll/useGridScroll.d.ts +1 -1
- package/hooks/features/scroll/useGridScroll.js +3 -2
- package/hooks/features/virtualization/useGridVirtualScroller.js +25 -10
- package/hooks/utils/useGridApiMethod.js +2 -1
- package/index.d.ts +1 -0
- package/index.js +2 -1
- package/internals/index.d.ts +2 -1
- package/internals/index.js +2 -1
- package/joy/joySlots.js +45 -27
- package/locales/daDK.js +5 -6
- package/locales/itIT.js +27 -28
- package/locales/ptBR.js +4 -4
- package/material/index.js +4 -0
- package/models/api/gridRowsMetaApi.d.ts +15 -14
- package/models/colDef/gridColDef.d.ts +6 -0
- package/models/colDef/index.d.ts +1 -1
- package/models/gridApiCaches.d.ts +2 -0
- package/models/gridExport.d.ts +1 -1
- package/models/gridSlotsComponent.d.ts +10 -0
- package/models/gridSlotsComponentsProps.d.ts +9 -0
- package/models/gridStateCommunity.d.ts +2 -0
- package/models/props/DataGridProps.d.ts +14 -3
- package/modern/DataGrid/DataGrid.js +1 -0
- package/modern/DataGrid/index.js +1 -2
- package/modern/DataGrid/useDataGridComponent.js +4 -1
- package/modern/DataGrid/useDataGridProps.js +3 -62
- package/modern/components/GridPagination.js +1 -0
- package/modern/components/GridRow.js +25 -36
- package/modern/components/base/GridOverlays.js +8 -0
- package/modern/components/cell/GridBooleanCell.js +11 -1
- package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
- package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
- package/modern/components/containers/GridRootStyles.js +5 -2
- package/modern/components/menu/columnMenu/GridColumnMenu.js +32 -0
- package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
- package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
- package/modern/components/panel/filterPanel/GridFilterInputValue.js +2 -2
- package/modern/components/toolbar/GridToolbar.js +2 -3
- package/modern/components/toolbar/GridToolbarExport.js +43 -3
- package/modern/components/toolbar/GridToolbarFilterButton.js +1 -2
- package/modern/components/virtualization/GridBottomContainer.js +0 -17
- package/modern/components/virtualization/GridMainContainer.js +2 -1
- package/modern/components/virtualization/GridVirtualScrollbar.js +4 -0
- package/modern/components/virtualization/GridVirtualScroller.js +4 -2
- package/modern/constants/dataGridPropsDefaultValues.js +60 -0
- package/modern/constants/gridClasses.js +1 -1
- package/modern/hooks/features/clipboard/useGridClipboard.js +2 -1
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -1
- package/modern/hooks/features/columnMenu/useGridColumnMenuSlots.js +4 -3
- package/modern/hooks/features/columns/gridColumnsUtils.js +3 -0
- package/modern/hooks/features/dimensions/useGridDimensions.js +4 -2
- package/modern/hooks/features/focus/useGridFocus.js +18 -3
- package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +9 -5
- package/modern/hooks/features/listView/gridListViewSelectors.js +4 -0
- package/modern/hooks/features/listView/useGridListView.js +54 -0
- package/modern/hooks/features/pagination/gridPaginationSelector.js +2 -1
- package/modern/hooks/features/rowSelection/useGridRowSelection.js +11 -2
- package/modern/hooks/features/rowSelection/utils.js +1 -1
- package/modern/hooks/features/rows/gridRowsMetaInterfaces.js +1 -0
- package/modern/hooks/features/rows/gridRowsUtils.js +14 -1
- package/modern/hooks/features/rows/useGridParamsApi.js +4 -3
- package/modern/hooks/features/rows/useGridRowsMeta.js +135 -154
- package/modern/hooks/features/scroll/useGridScroll.js +3 -2
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +25 -10
- package/modern/hooks/utils/useGridApiMethod.js +2 -1
- package/modern/index.js +2 -1
- package/modern/internals/index.js +2 -1
- package/modern/joy/joySlots.js +45 -27
- package/modern/locales/daDK.js +5 -6
- package/modern/locales/itIT.js +27 -28
- package/modern/locales/ptBR.js +4 -4
- package/modern/material/index.js +4 -0
- package/modern/utils/ResizeObserver.js +10 -0
- package/modern/utils/keyboardUtils.js +12 -4
- package/node/DataGrid/DataGrid.js +1 -0
- package/node/DataGrid/index.js +1 -12
- package/node/DataGrid/useDataGridComponent.js +4 -1
- package/node/DataGrid/useDataGridProps.js +6 -65
- package/node/components/GridPagination.js +1 -0
- package/node/components/GridRow.js +25 -36
- package/node/components/base/GridOverlays.js +8 -0
- package/node/components/cell/GridBooleanCell.js +11 -1
- package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
- package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
- package/node/components/containers/GridRootStyles.js +5 -2
- package/node/components/menu/columnMenu/GridColumnMenu.js +32 -0
- package/node/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
- package/node/components/panel/filterPanel/GridFilterInputValue.js +2 -2
- package/node/components/toolbar/GridToolbar.js +2 -3
- package/node/components/toolbar/GridToolbarExport.js +40 -0
- package/node/components/toolbar/GridToolbarFilterButton.js +1 -2
- package/node/components/virtualization/GridBottomContainer.js +0 -17
- package/node/components/virtualization/GridMainContainer.js +2 -1
- package/node/components/virtualization/GridVirtualScrollbar.js +4 -0
- package/node/components/virtualization/GridVirtualScroller.js +4 -2
- package/node/constants/dataGridPropsDefaultValues.js +66 -0
- package/node/constants/gridClasses.js +1 -1
- package/node/hooks/features/clipboard/useGridClipboard.js +2 -1
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -1
- package/node/hooks/features/columnMenu/useGridColumnMenuSlots.js +4 -3
- package/node/hooks/features/columns/gridColumnsUtils.js +3 -0
- package/node/hooks/features/dimensions/useGridDimensions.js +3 -1
- package/node/hooks/features/focus/useGridFocus.js +18 -3
- package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +9 -5
- package/node/hooks/features/listView/gridListViewSelectors.js +11 -0
- package/node/hooks/features/listView/useGridListView.js +64 -0
- package/node/hooks/features/pagination/gridPaginationSelector.js +3 -1
- package/node/hooks/features/rowSelection/useGridRowSelection.js +11 -2
- package/node/hooks/features/rowSelection/utils.js +1 -1
- package/node/hooks/features/rows/gridRowsMetaInterfaces.js +5 -0
- package/node/hooks/features/rows/gridRowsUtils.js +16 -2
- package/node/hooks/features/rows/useGridParamsApi.js +4 -3
- package/node/hooks/features/rows/useGridRowsMeta.js +136 -154
- package/node/hooks/features/scroll/useGridScroll.js +3 -2
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +25 -10
- package/node/hooks/utils/useGridApiMethod.js +3 -1
- package/node/index.js +13 -1
- package/node/internals/index.js +22 -0
- package/node/joy/joySlots.js +45 -27
- package/node/locales/daDK.js +5 -6
- package/node/locales/itIT.js +27 -28
- package/node/locales/ptBR.js +4 -4
- package/node/material/index.js +4 -0
- package/node/utils/ResizeObserver.js +16 -0
- package/node/utils/keyboardUtils.js +15 -5
- package/package.json +2 -2
- package/utils/ResizeObserver.d.ts +4 -0
- package/utils/ResizeObserver.js +10 -0
- package/utils/keyboardUtils.d.ts +1 -0
- package/utils/keyboardUtils.js +12 -4
|
@@ -14,7 +14,6 @@ var _clsx = _interopRequireDefault(require("clsx"));
|
|
|
14
14
|
var _utils = require("@mui/utils");
|
|
15
15
|
var _fastMemo = require("@mui/x-internals/fastMemo");
|
|
16
16
|
var _gridEditRowModel = require("../models/gridEditRowModel");
|
|
17
|
-
var _useGridApiContext = require("../hooks/utils/useGridApiContext");
|
|
18
17
|
var _gridClasses = require("../constants/gridClasses");
|
|
19
18
|
var _composeGridClasses = require("../utils/composeGridClasses");
|
|
20
19
|
var _useGridRootProps = require("../hooks/utils/useGridRootProps");
|
|
@@ -32,6 +31,7 @@ var _GridCell = require("./cell/GridCell");
|
|
|
32
31
|
var _GridScrollbarFillerCell = require("./GridScrollbarFillerCell");
|
|
33
32
|
var _getPinnedCellOffset = require("../internals/utils/getPinnedCellOffset");
|
|
34
33
|
var _useGridConfiguration = require("../hooks/utils/useGridConfiguration");
|
|
34
|
+
var _useGridPrivateApiContext = require("../hooks/utils/useGridPrivateApiContext");
|
|
35
35
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
36
36
|
const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "pinnedColumns", "offsetTop", "offsetLeft", "dimensions", "renderContext", "focusedColumnIndex", "isFirstVisible", "isLastVisible", "isNotVisible", "showBottomBorder", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
|
|
37
37
|
function EmptyCell({
|
|
@@ -48,6 +48,13 @@ function EmptyCell({
|
|
|
48
48
|
}
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
|
+
process.env.NODE_ENV !== "production" ? EmptyCell.propTypes = {
|
|
52
|
+
// ----------------------------- Warning --------------------------------
|
|
53
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
54
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
55
|
+
// ----------------------------------------------------------------------
|
|
56
|
+
width: _propTypes.default.number.isRequired
|
|
57
|
+
} : void 0;
|
|
51
58
|
const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
52
59
|
const {
|
|
53
60
|
selected,
|
|
@@ -75,7 +82,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
75
82
|
onMouseOver
|
|
76
83
|
} = props,
|
|
77
84
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
78
|
-
const apiRef = (0,
|
|
85
|
+
const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
|
|
79
86
|
const configuration = (0, _useGridConfiguration.useGridConfiguration)();
|
|
80
87
|
const ref = React.useRef(null);
|
|
81
88
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
@@ -99,30 +106,17 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
99
106
|
const getRowAriaAttributes = configuration.hooks.useGridRowAriaAttributes();
|
|
100
107
|
React.useLayoutEffect(() => {
|
|
101
108
|
if (currentPage.range) {
|
|
102
|
-
// The index prop is relative to the rows from all pages. As example, the index prop of the
|
|
103
|
-
// first row is 5 if `paginationModel.pageSize=5` and `paginationModel.page=1`. However, the index used by the virtualization
|
|
104
|
-
// doesn't care about pagination and considers the rows from the current page only, so the
|
|
105
|
-
// first row always has index=0. We need to subtract the index of the first row to make it
|
|
106
|
-
// compatible with the index used by the virtualization.
|
|
107
109
|
const rowIndex = apiRef.current.getRowIndexRelativeToVisibleRows(rowId);
|
|
108
|
-
//
|
|
109
|
-
if (rowIndex
|
|
110
|
+
// Pinned rows are not part of the visible rows
|
|
111
|
+
if (rowIndex !== undefined) {
|
|
110
112
|
apiRef.current.unstable_setLastMeasuredRowIndex(rowIndex);
|
|
111
113
|
}
|
|
112
114
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
if (!rootElement || hasFixedHeight || typeof ResizeObserver === 'undefined') {
|
|
116
|
-
return undefined;
|
|
115
|
+
if (ref.current && rowHeight === 'auto') {
|
|
116
|
+
return apiRef.current.observeRowHeight(ref.current, rowId);
|
|
117
117
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
const height = entry.borderBoxSize && entry.borderBoxSize.length > 0 ? entry.borderBoxSize[0].blockSize : entry.contentRect.height;
|
|
121
|
-
apiRef.current.unstable_storeRowHeightMeasurement(rowId, height);
|
|
122
|
-
});
|
|
123
|
-
resizeObserver.observe(rootElement);
|
|
124
|
-
return () => resizeObserver.disconnect();
|
|
125
|
-
}, [apiRef, currentPage.range, index, rowHeight, rowId]);
|
|
118
|
+
return undefined;
|
|
119
|
+
}, [apiRef, currentPage.range, rowHeight, rowId]);
|
|
126
120
|
const publish = React.useCallback((eventName, propHandler) => event => {
|
|
127
121
|
// Ignore portal
|
|
128
122
|
if ((0, _domUtils.isEventTargetInPortal)(event)) {
|
|
@@ -179,15 +173,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
179
173
|
disableColumnReorder
|
|
180
174
|
} = rootProps;
|
|
181
175
|
const rowReordering = rootProps.rowReordering;
|
|
182
|
-
const
|
|
183
|
-
let minHeight = rowHeight;
|
|
184
|
-
if (minHeight === 'auto' && sizes) {
|
|
185
|
-
const numberOfBaseSizes = 1;
|
|
186
|
-
const maximumSize = sizes.baseCenter ?? 0;
|
|
187
|
-
if (maximumSize > 0 && numberOfBaseSizes > 1) {
|
|
188
|
-
minHeight = maximumSize;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
176
|
+
const heightEntry = (0, _useGridSelector.useGridSelector)(apiRef, () => (0, _extends2.default)({}, apiRef.current.getRowHeightEntry(rowId)), _useGridSelector.objectShallowCompare);
|
|
191
177
|
const style = React.useMemo(() => {
|
|
192
178
|
if (isNotVisible) {
|
|
193
179
|
return {
|
|
@@ -199,25 +185,25 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
199
185
|
const rowStyle = (0, _extends2.default)({}, styleProp, {
|
|
200
186
|
maxHeight: rowHeight === 'auto' ? 'none' : rowHeight,
|
|
201
187
|
// max-height doesn't support "auto"
|
|
202
|
-
minHeight,
|
|
188
|
+
minHeight: rowHeight,
|
|
203
189
|
'--height': typeof rowHeight === 'number' ? `${rowHeight}px` : rowHeight
|
|
204
190
|
});
|
|
205
|
-
if (
|
|
191
|
+
if (heightEntry.spacingTop) {
|
|
206
192
|
const property = rootProps.rowSpacingType === 'border' ? 'borderTopWidth' : 'marginTop';
|
|
207
|
-
rowStyle[property] =
|
|
193
|
+
rowStyle[property] = heightEntry.spacingTop;
|
|
208
194
|
}
|
|
209
|
-
if (
|
|
195
|
+
if (heightEntry.spacingBottom) {
|
|
210
196
|
const property = rootProps.rowSpacingType === 'border' ? 'borderBottomWidth' : 'marginBottom';
|
|
211
197
|
let propertyValue = rowStyle[property];
|
|
212
198
|
// avoid overriding existing value
|
|
213
199
|
if (typeof propertyValue !== 'number') {
|
|
214
200
|
propertyValue = parseInt(propertyValue || '0', 10);
|
|
215
201
|
}
|
|
216
|
-
propertyValue +=
|
|
202
|
+
propertyValue += heightEntry.spacingBottom;
|
|
217
203
|
rowStyle[property] = propertyValue;
|
|
218
204
|
}
|
|
219
205
|
return rowStyle;
|
|
220
|
-
}, [isNotVisible, rowHeight, styleProp,
|
|
206
|
+
}, [isNotVisible, rowHeight, styleProp, heightEntry, rootProps.rowSpacingType]);
|
|
221
207
|
const rowClassNames = apiRef.current.unstable_applyPipeProcessors('rowClassName', [], rowId);
|
|
222
208
|
const ariaAttributes = rowNode ? getRowAriaAttributes(rowNode, index) : undefined;
|
|
223
209
|
if (typeof rootProps.getRowClassName === 'function') {
|
|
@@ -295,6 +281,9 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
295
281
|
for (let i = renderContext.firstColumnIndex; i < renderContext.lastColumnIndex; i += 1) {
|
|
296
282
|
const column = visibleColumns[i];
|
|
297
283
|
const indexInSection = i - pinnedColumns.left.length;
|
|
284
|
+
if (!column) {
|
|
285
|
+
continue;
|
|
286
|
+
}
|
|
298
287
|
cells.push(getCell(column, indexInSection, i, middleColumnsLength));
|
|
299
288
|
}
|
|
300
289
|
if (hasVirtualFocusCellRight) {
|
|
@@ -82,6 +82,14 @@ function GridOverlayWrapper(props) {
|
|
|
82
82
|
}, props))
|
|
83
83
|
}));
|
|
84
84
|
}
|
|
85
|
+
process.env.NODE_ENV !== "production" ? GridOverlayWrapper.propTypes = {
|
|
86
|
+
// ----------------------------- Warning --------------------------------
|
|
87
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
88
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
89
|
+
// ----------------------------------------------------------------------
|
|
90
|
+
loadingOverlayVariant: _propTypes.default.oneOf(['circular-progress', 'linear-progress', 'skeleton']),
|
|
91
|
+
overlayType: _propTypes.default.oneOf(['loadingOverlay', 'noResultsOverlay', 'noRowsOverlay'])
|
|
92
|
+
} : void 0;
|
|
85
93
|
process.env.NODE_ENV !== "production" ? GridOverlays.propTypes = {
|
|
86
94
|
// ----------------------------- Warning --------------------------------
|
|
87
95
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -11,6 +11,8 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
|
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
14
|
+
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
15
|
+
var _gridRowsSelector = require("../../hooks/features/rows/gridRowsSelector");
|
|
14
16
|
var _gridClasses = require("../../constants/gridClasses");
|
|
15
17
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
16
18
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
@@ -28,7 +30,8 @@ const useUtilityClasses = ownerState => {
|
|
|
28
30
|
};
|
|
29
31
|
function GridBooleanCellRaw(props) {
|
|
30
32
|
const {
|
|
31
|
-
value
|
|
33
|
+
value,
|
|
34
|
+
rowNode
|
|
32
35
|
} = props,
|
|
33
36
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
34
37
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
@@ -37,7 +40,14 @@ function GridBooleanCellRaw(props) {
|
|
|
37
40
|
classes: rootProps.classes
|
|
38
41
|
};
|
|
39
42
|
const classes = useUtilityClasses(ownerState);
|
|
43
|
+
const maxDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridRowMaximumTreeDepthSelector);
|
|
44
|
+
const isServerSideRowGroupingRow =
|
|
45
|
+
// @ts-expect-error - Access tree data prop
|
|
46
|
+
maxDepth > 0 && rowNode.type === 'group' && rootProps.treeData === false;
|
|
40
47
|
const Icon = React.useMemo(() => value ? rootProps.slots.booleanCellTrueIcon : rootProps.slots.booleanCellFalseIcon, [rootProps.slots.booleanCellFalseIcon, rootProps.slots.booleanCellTrueIcon, value]);
|
|
48
|
+
if (isServerSideRowGroupingRow && value === undefined) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
41
51
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, (0, _extends2.default)({
|
|
42
52
|
fontSize: "small",
|
|
43
53
|
className: classes.root,
|
|
@@ -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 _Badge = _interopRequireDefault(require("@mui/material/Badge"));
|
|
14
13
|
var _hooks = require("../../hooks");
|
|
15
14
|
var _gridPreferencePanelSelector = require("../../hooks/features/preferencesPanel/gridPreferencePanelSelector");
|
|
16
15
|
var _gridPreferencePanelsValue = require("../../hooks/features/preferencesPanel/gridPreferencePanelsValue");
|
|
@@ -84,7 +83,7 @@ function GridColumnHeaderFilterIconButton(props) {
|
|
|
84
83
|
enterDelay: 1000
|
|
85
84
|
}, rootProps.slotProps?.baseTooltip, {
|
|
86
85
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridIconButtonContainer.GridIconButtonContainer, {
|
|
87
|
-
children: [counter > 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
86
|
+
children: [counter > 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseBadge, {
|
|
88
87
|
badgeContent: counter,
|
|
89
88
|
color: "default",
|
|
90
89
|
children: iconButton
|
|
@@ -11,7 +11,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
14
|
-
var _Badge = _interopRequireDefault(require("@mui/material/Badge"));
|
|
15
14
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
16
15
|
var _gridClasses = require("../../constants/gridClasses");
|
|
17
16
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
@@ -71,7 +70,7 @@ function GridColumnHeaderSortIconRaw(props) {
|
|
|
71
70
|
children: iconElement
|
|
72
71
|
}));
|
|
73
72
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridIconButtonContainer.GridIconButtonContainer, {
|
|
74
|
-
children: [index != null && /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
73
|
+
children: [index != null && /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseBadge, {
|
|
75
74
|
badgeContent: index,
|
|
76
75
|
color: "default",
|
|
77
76
|
overlap: "circular",
|
|
@@ -159,6 +159,8 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
159
159
|
[`& .${_gridClasses.gridClasses.treeDataGroupingCellToggle}`]: styles.treeDataGroupingCellToggle
|
|
160
160
|
}, {
|
|
161
161
|
[`& .${_gridClasses.gridClasses.treeDataGroupingCellLoadingContainer}`]: styles.treeDataGroupingCellLoadingContainer
|
|
162
|
+
}, {
|
|
163
|
+
[`& .${_gridClasses.gridClasses.groupingCriteriaCellLoadingContainer}`]: styles.groupingCriteriaCellLoadingContainer
|
|
162
164
|
}, {
|
|
163
165
|
[`& .${_gridClasses.gridClasses.detailPanelToggleCell}`]: styles.detailPanelToggleCell
|
|
164
166
|
}, {
|
|
@@ -520,6 +522,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
520
522
|
},
|
|
521
523
|
/* Cell styles */
|
|
522
524
|
[`& .${_gridClasses.gridClasses.cell}`]: {
|
|
525
|
+
flex: '0 0 auto',
|
|
523
526
|
height: 'var(--height)',
|
|
524
527
|
width: 'var(--width)',
|
|
525
528
|
lineHeight: 'calc(var(--height) - 1px)',
|
|
@@ -691,7 +694,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
691
694
|
alignSelf: 'stretch',
|
|
692
695
|
marginRight: t.spacing(2)
|
|
693
696
|
},
|
|
694
|
-
[`& .${_gridClasses.gridClasses.treeDataGroupingCellLoadingContainer}`]: {
|
|
697
|
+
[`& .${_gridClasses.gridClasses.treeDataGroupingCellLoadingContainer}, .${_gridClasses.gridClasses.groupingCriteriaCellLoadingContainer}`]: {
|
|
695
698
|
display: 'flex',
|
|
696
699
|
alignItems: 'center',
|
|
697
700
|
justifyContent: 'center',
|
|
@@ -724,7 +727,7 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
724
727
|
}
|
|
725
728
|
},
|
|
726
729
|
[`& .${_gridClasses.gridClasses.filler}`]: {
|
|
727
|
-
flex: 1
|
|
730
|
+
flex: '1 0 auto'
|
|
728
731
|
},
|
|
729
732
|
[`& .${_gridClasses.gridClasses['filler--borderBottom']}`]: {
|
|
730
733
|
borderBottom: '1px solid var(--DataGrid-rowBorderColor)'
|
|
@@ -53,6 +53,38 @@ const GridGenericColumnMenu = exports.GridGenericColumnMenu = /*#__PURE__*/React
|
|
|
53
53
|
children: orderedSlots.map(([Component, otherProps], index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, (0, _extends2.default)({}, otherProps), index))
|
|
54
54
|
}));
|
|
55
55
|
});
|
|
56
|
+
process.env.NODE_ENV !== "production" ? GridGenericColumnMenu.propTypes = {
|
|
57
|
+
// ----------------------------- Warning --------------------------------
|
|
58
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
59
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
60
|
+
// ----------------------------------------------------------------------
|
|
61
|
+
colDef: _propTypes.default.object.isRequired,
|
|
62
|
+
/**
|
|
63
|
+
* Initial `slotProps` - it is internal, to be overrriden by Pro or Premium packages
|
|
64
|
+
* @ignore - do not document.
|
|
65
|
+
*/
|
|
66
|
+
defaultSlotProps: _propTypes.default.object.isRequired,
|
|
67
|
+
/**
|
|
68
|
+
* Initial `slots` - it is internal, to be overrriden by Pro or Premium packages
|
|
69
|
+
* @ignore - do not document.
|
|
70
|
+
*/
|
|
71
|
+
defaultSlots: _propTypes.default.object.isRequired,
|
|
72
|
+
hideMenu: _propTypes.default.func.isRequired,
|
|
73
|
+
id: _propTypes.default.string,
|
|
74
|
+
labelledby: _propTypes.default.string,
|
|
75
|
+
open: _propTypes.default.bool.isRequired,
|
|
76
|
+
/**
|
|
77
|
+
* Could be used to pass new props or override props specific to a column menu component
|
|
78
|
+
* e.g. `displayOrder`
|
|
79
|
+
*/
|
|
80
|
+
slotProps: _propTypes.default.object,
|
|
81
|
+
/**
|
|
82
|
+
* `slots` could be used to add new and (or) override default column menu items
|
|
83
|
+
* If you register a nee component you must pass it's `displayOrder` in `slotProps`
|
|
84
|
+
* or it will be placed in the end of the list
|
|
85
|
+
*/
|
|
86
|
+
slots: _propTypes.default.object
|
|
87
|
+
} : void 0;
|
|
56
88
|
const GridColumnMenu = exports.GridColumnMenu = /*#__PURE__*/React.forwardRef(function GridColumnMenu(props, ref) {
|
|
57
89
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(GridGenericColumnMenu, (0, _extends2.default)({}, props, {
|
|
58
90
|
ref: ref,
|
|
@@ -47,9 +47,9 @@ function GridFilterInputMultipleValue(props) {
|
|
|
47
47
|
const handleChange = React.useCallback((event, value) => {
|
|
48
48
|
setFilterValueState(value.map(String));
|
|
49
49
|
applyValue((0, _extends2.default)({}, item, {
|
|
50
|
-
value: [...value]
|
|
50
|
+
value: [...value.map(filterItemValue => type === 'number' ? Number(filterItemValue) : filterItemValue)]
|
|
51
51
|
}));
|
|
52
|
-
}, [applyValue, item]);
|
|
52
|
+
}, [applyValue, item, type]);
|
|
53
53
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Autocomplete.default, (0, _extends2.default)({
|
|
54
54
|
multiple: true,
|
|
55
55
|
freeSolo: true,
|
|
@@ -42,13 +42,13 @@ function GridFilterInputValue(props) {
|
|
|
42
42
|
setIsApplying(true);
|
|
43
43
|
filterTimeout.start(rootProps.filterDebounceMs, () => {
|
|
44
44
|
const newItem = (0, _extends2.default)({}, item, {
|
|
45
|
-
value,
|
|
45
|
+
value: type === 'number' ? Number(value) : value,
|
|
46
46
|
fromInput: id
|
|
47
47
|
});
|
|
48
48
|
applyValue(newItem);
|
|
49
49
|
setIsApplying(false);
|
|
50
50
|
});
|
|
51
|
-
}, [
|
|
51
|
+
}, [filterTimeout, rootProps.filterDebounceMs, item, type, id, applyValue]);
|
|
52
52
|
React.useEffect(() => {
|
|
53
53
|
const itemPlusTag = item;
|
|
54
54
|
if (itemPlusTag.fromInput !== id || item.value === undefined) {
|
|
@@ -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 _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
14
13
|
var _GridToolbarContainer = require("../containers/GridToolbarContainer");
|
|
15
14
|
var _GridToolbarColumnsButton = require("./GridToolbarColumnsButton");
|
|
16
15
|
var _GridToolbarDensitySelector = require("./GridToolbarDensitySelector");
|
|
@@ -44,8 +43,8 @@ const GridToolbar = exports.GridToolbar = /*#__PURE__*/React.forwardRef(function
|
|
|
44
43
|
// TODO: remove the reference to excelOptions in community package
|
|
45
44
|
,
|
|
46
45
|
excelOptions: excelOptions
|
|
47
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
48
|
-
|
|
46
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
47
|
+
style: {
|
|
49
48
|
flex: 1
|
|
50
49
|
}
|
|
51
50
|
}), showQuickFilter && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridToolbarQuickFilter.GridToolbarQuickFilter, (0, _extends2.default)({}, quickFilterProps))]
|
|
@@ -35,6 +35,26 @@ function GridCsvExportMenuItem(props) {
|
|
|
35
35
|
children: apiRef.current.getLocaleText('toolbarExportCSV')
|
|
36
36
|
}));
|
|
37
37
|
}
|
|
38
|
+
process.env.NODE_ENV !== "production" ? GridCsvExportMenuItem.propTypes = {
|
|
39
|
+
// ----------------------------- Warning --------------------------------
|
|
40
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
41
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
42
|
+
// ----------------------------------------------------------------------
|
|
43
|
+
hideMenu: _propTypes.default.func,
|
|
44
|
+
options: _propTypes.default.shape({
|
|
45
|
+
allColumns: _propTypes.default.bool,
|
|
46
|
+
delimiter: _propTypes.default.string,
|
|
47
|
+
disableToolbarButton: _propTypes.default.bool,
|
|
48
|
+
escapeFormulas: _propTypes.default.bool,
|
|
49
|
+
fields: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
50
|
+
fileName: _propTypes.default.string,
|
|
51
|
+
getRowsToExport: _propTypes.default.func,
|
|
52
|
+
includeColumnGroupsHeaders: _propTypes.default.bool,
|
|
53
|
+
includeHeaders: _propTypes.default.bool,
|
|
54
|
+
shouldAppendQuotes: _propTypes.default.bool,
|
|
55
|
+
utf8WithBom: _propTypes.default.bool
|
|
56
|
+
})
|
|
57
|
+
} : void 0;
|
|
38
58
|
function GridPrintExportMenuItem(props) {
|
|
39
59
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
40
60
|
const {
|
|
@@ -51,6 +71,26 @@ function GridPrintExportMenuItem(props) {
|
|
|
51
71
|
children: apiRef.current.getLocaleText('toolbarExportPrint')
|
|
52
72
|
}));
|
|
53
73
|
}
|
|
74
|
+
process.env.NODE_ENV !== "production" ? GridPrintExportMenuItem.propTypes = {
|
|
75
|
+
// ----------------------------- Warning --------------------------------
|
|
76
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
77
|
+
// | To update them edit the TypeScript types and run "pnpm proptypes" |
|
|
78
|
+
// ----------------------------------------------------------------------
|
|
79
|
+
hideMenu: _propTypes.default.func,
|
|
80
|
+
options: _propTypes.default.shape({
|
|
81
|
+
allColumns: _propTypes.default.bool,
|
|
82
|
+
bodyClassName: _propTypes.default.string,
|
|
83
|
+
copyStyles: _propTypes.default.bool,
|
|
84
|
+
disableToolbarButton: _propTypes.default.bool,
|
|
85
|
+
fields: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
86
|
+
fileName: _propTypes.default.string,
|
|
87
|
+
getRowsToExport: _propTypes.default.func,
|
|
88
|
+
hideFooter: _propTypes.default.bool,
|
|
89
|
+
hideToolbar: _propTypes.default.bool,
|
|
90
|
+
includeCheckboxes: _propTypes.default.bool,
|
|
91
|
+
pageStyle: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string])
|
|
92
|
+
})
|
|
93
|
+
} : void 0;
|
|
54
94
|
const GridToolbarExport = exports.GridToolbarExport = /*#__PURE__*/React.forwardRef(function GridToolbarExport(props, ref) {
|
|
55
95
|
const {
|
|
56
96
|
csvOptions = {},
|
|
@@ -11,7 +11,6 @@ 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 _Badge = _interopRequireDefault(require("@mui/material/Badge"));
|
|
15
14
|
var _gridColumnsSelector = require("../../hooks/features/columns/gridColumnsSelector");
|
|
16
15
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
17
16
|
var _gridFilterSelector = require("../../hooks/features/filter/gridFilterSelector");
|
|
@@ -112,7 +111,7 @@ const GridToolbarFilterButton = exports.GridToolbarFilterButton = /*#__PURE__*/R
|
|
|
112
111
|
"aria-controls": isOpen ? filterPanelId : undefined,
|
|
113
112
|
"aria-expanded": isOpen,
|
|
114
113
|
"aria-haspopup": true,
|
|
115
|
-
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
114
|
+
startIcon: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseBadge, {
|
|
116
115
|
badgeContent: activeFilters.length,
|
|
117
116
|
color: "primary",
|
|
118
117
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.openFilterButtonIcon, {})
|
|
@@ -12,9 +12,6 @@ var _clsx = _interopRequireDefault(require("clsx"));
|
|
|
12
12
|
var _system = require("@mui/system");
|
|
13
13
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
14
14
|
var _gridClasses = require("../../constants/gridClasses");
|
|
15
|
-
var _gridDimensionsSelectors = require("../../hooks/features/dimensions/gridDimensionsSelectors");
|
|
16
|
-
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
17
|
-
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
18
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
19
16
|
const useUtilityClasses = () => {
|
|
20
17
|
const slots = {
|
|
@@ -29,22 +26,8 @@ const Element = (0, _system.styled)('div')({
|
|
|
29
26
|
});
|
|
30
27
|
function GridBottomContainer(props) {
|
|
31
28
|
const classes = useUtilityClasses();
|
|
32
|
-
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
33
|
-
const {
|
|
34
|
-
viewportOuterSize,
|
|
35
|
-
minimumSize,
|
|
36
|
-
hasScrollX,
|
|
37
|
-
scrollbarSize
|
|
38
|
-
} = (0, _useGridSelector.useGridSelector)(apiRef, _gridDimensionsSelectors.gridDimensionsSelector);
|
|
39
|
-
const scrollHeight = hasScrollX ? scrollbarSize : 0;
|
|
40
|
-
const offset = Math.max(viewportOuterSize.height - minimumSize.height -
|
|
41
|
-
// Subtract scroll height twice to account for GridVirtualScrollerFiller and horizontal scrollbar
|
|
42
|
-
2 * scrollHeight, 0);
|
|
43
29
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Element, (0, _extends2.default)({}, props, {
|
|
44
30
|
className: (0, _clsx.default)(classes.root, _gridClasses.gridClasses['container--bottom']),
|
|
45
|
-
style: {
|
|
46
|
-
transform: `translateY(${offset}px)`
|
|
47
|
-
},
|
|
48
31
|
role: "presentation"
|
|
49
32
|
}));
|
|
50
33
|
}
|
|
@@ -15,7 +15,8 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
15
15
|
const GridPanelAnchor = (0, _system.styled)('div')({
|
|
16
16
|
position: 'absolute',
|
|
17
17
|
top: `var(--DataGrid-headersTotalHeight)`,
|
|
18
|
-
left: 0
|
|
18
|
+
left: 0,
|
|
19
|
+
width: 'calc(100% - (var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize)))'
|
|
19
20
|
});
|
|
20
21
|
const Element = (0, _system.styled)('div', {
|
|
21
22
|
name: 'MuiDataGrid',
|
|
@@ -126,6 +126,10 @@ const GridVirtualScrollbar = exports.GridVirtualScrollbar = /*#__PURE__*/React.f
|
|
|
126
126
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Container, {
|
|
127
127
|
ref: (0, _utils.unstable_useForkRef)(ref, scrollbarRef),
|
|
128
128
|
className: classes.root,
|
|
129
|
+
style: props.position === 'vertical' && rootProps.unstable_listView ? {
|
|
130
|
+
height: '100%',
|
|
131
|
+
top: 0
|
|
132
|
+
} : undefined,
|
|
129
133
|
tabIndex: -1,
|
|
130
134
|
"aria-hidden": "true",
|
|
131
135
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
@@ -48,6 +48,8 @@ const Scroller = (0, _system.styled)('div', {
|
|
|
48
48
|
flexGrow: 1,
|
|
49
49
|
overflow: 'scroll',
|
|
50
50
|
scrollbarWidth: 'none' /* Firefox */,
|
|
51
|
+
display: 'flex',
|
|
52
|
+
flexDirection: 'column',
|
|
51
53
|
'&::-webkit-scrollbar': {
|
|
52
54
|
display: 'none' /* Safari and Chrome */
|
|
53
55
|
},
|
|
@@ -86,7 +88,7 @@ function GridVirtualScroller(props) {
|
|
|
86
88
|
}, getScrollerProps(), {
|
|
87
89
|
ownerState: rootProps,
|
|
88
90
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridTopContainer.GridTopContainer, {
|
|
89
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridHeaders.GridHeaders, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pinnedRows, {
|
|
91
|
+
children: [!rootProps.unstable_listView && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridHeaders.GridHeaders, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pinnedRows, {
|
|
90
92
|
position: "top",
|
|
91
93
|
virtualScroller: virtualScroller
|
|
92
94
|
})]
|
|
@@ -106,7 +108,7 @@ function GridVirtualScroller(props) {
|
|
|
106
108
|
})]
|
|
107
109
|
})), dimensions.hasScrollY && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
|
|
108
110
|
position: "vertical"
|
|
109
|
-
}, getScrollbarVerticalProps())), dimensions.hasScrollX && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
|
|
111
|
+
}, getScrollbarVerticalProps())), dimensions.hasScrollX && !rootProps.unstable_listView && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
|
|
110
112
|
position: "horizontal"
|
|
111
113
|
}, getScrollbarHorizontalProps())), props.children]
|
|
112
114
|
}));
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DATA_GRID_PROPS_DEFAULT_VALUES = void 0;
|
|
7
|
+
var _gridEditRowModel = require("../models/gridEditRowModel");
|
|
8
|
+
/**
|
|
9
|
+
* The default values of `DataGridPropsWithDefaultValues` to inject in the props of DataGrid.
|
|
10
|
+
*/
|
|
11
|
+
const DATA_GRID_PROPS_DEFAULT_VALUES = exports.DATA_GRID_PROPS_DEFAULT_VALUES = {
|
|
12
|
+
autoHeight: false,
|
|
13
|
+
autoPageSize: false,
|
|
14
|
+
autosizeOnMount: false,
|
|
15
|
+
checkboxSelection: false,
|
|
16
|
+
checkboxSelectionVisibleOnly: false,
|
|
17
|
+
clipboardCopyCellDelimiter: '\t',
|
|
18
|
+
columnBufferPx: 150,
|
|
19
|
+
columnHeaderHeight: 56,
|
|
20
|
+
disableAutosize: false,
|
|
21
|
+
disableColumnFilter: false,
|
|
22
|
+
disableColumnMenu: false,
|
|
23
|
+
disableColumnReorder: false,
|
|
24
|
+
disableColumnResize: false,
|
|
25
|
+
disableColumnSelector: false,
|
|
26
|
+
disableColumnSorting: false,
|
|
27
|
+
disableDensitySelector: false,
|
|
28
|
+
disableEval: false,
|
|
29
|
+
disableMultipleColumnsFiltering: false,
|
|
30
|
+
disableMultipleColumnsSorting: false,
|
|
31
|
+
disableMultipleRowSelection: false,
|
|
32
|
+
disableRowSelectionOnClick: false,
|
|
33
|
+
disableVirtualization: false,
|
|
34
|
+
editMode: _gridEditRowModel.GridEditModes.Cell,
|
|
35
|
+
filterDebounceMs: 150,
|
|
36
|
+
filterMode: 'client',
|
|
37
|
+
hideFooter: false,
|
|
38
|
+
hideFooterPagination: false,
|
|
39
|
+
hideFooterRowCount: false,
|
|
40
|
+
hideFooterSelectedRowCount: false,
|
|
41
|
+
ignoreDiacritics: false,
|
|
42
|
+
ignoreValueFormatterDuringExport: false,
|
|
43
|
+
// TODO v8: Update to 'select'
|
|
44
|
+
indeterminateCheckboxAction: 'deselect',
|
|
45
|
+
keepColumnPositionIfDraggedOutside: false,
|
|
46
|
+
keepNonExistentRowsSelected: false,
|
|
47
|
+
loading: false,
|
|
48
|
+
logger: console,
|
|
49
|
+
logLevel: process.env.NODE_ENV === 'production' ? 'error' : 'warn',
|
|
50
|
+
pageSizeOptions: [25, 50, 100],
|
|
51
|
+
pagination: false,
|
|
52
|
+
paginationMode: 'client',
|
|
53
|
+
resizeThrottleMs: 60,
|
|
54
|
+
rowBufferPx: 150,
|
|
55
|
+
rowHeight: 52,
|
|
56
|
+
rowPositionsDebounceMs: 166,
|
|
57
|
+
rows: [],
|
|
58
|
+
rowSelection: true,
|
|
59
|
+
rowSpacingType: 'margin',
|
|
60
|
+
showCellVerticalBorder: false,
|
|
61
|
+
showColumnVerticalBorder: false,
|
|
62
|
+
sortingMode: 'client',
|
|
63
|
+
sortingOrder: ['asc', 'desc', null],
|
|
64
|
+
throttleRowsMs: 0,
|
|
65
|
+
unstable_rowSpanning: false
|
|
66
|
+
};
|
|
@@ -9,4 +9,4 @@ var _utils = require("@mui/utils");
|
|
|
9
9
|
function getDataGridUtilityClass(slot) {
|
|
10
10
|
return (0, _utils.unstable_generateUtilityClass)('MuiDataGrid', slot);
|
|
11
11
|
}
|
|
12
|
-
const gridClasses = exports.gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hasSkeletonLoadingOverlay', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
12
|
+
const gridClasses = exports.gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hasSkeletonLoadingOverlay', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
@@ -9,6 +9,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
var _utils = require("../../utils");
|
|
10
10
|
var _gridFocusStateSelector = require("../focus/gridFocusStateSelector");
|
|
11
11
|
var _csvSerializer = require("../export/serializers/csvSerializer");
|
|
12
|
+
var _keyboardUtils = require("../../../utils/keyboardUtils");
|
|
12
13
|
function writeToClipboardPolyfill(data) {
|
|
13
14
|
const span = document.createElement('span');
|
|
14
15
|
span.style.whiteSpace = 'pre';
|
|
@@ -60,7 +61,7 @@ const useGridClipboard = (apiRef, props) => {
|
|
|
60
61
|
const ignoreValueFormatter = (typeof ignoreValueFormatterProp === 'object' ? ignoreValueFormatterProp?.clipboardExport : ignoreValueFormatterProp) || false;
|
|
61
62
|
const clipboardCopyCellDelimiter = props.clipboardCopyCellDelimiter;
|
|
62
63
|
const handleCopy = React.useCallback(event => {
|
|
63
|
-
if (!(
|
|
64
|
+
if (!(0, _keyboardUtils.isCopyShortcut)(event)) {
|
|
64
65
|
return;
|
|
65
66
|
}
|
|
66
67
|
|
|
@@ -64,7 +64,9 @@ const useGridColumnHeaders = props => {
|
|
|
64
64
|
const offsetLeft = (0, _useGridVirtualScroller.computeOffsetLeft)(columnPositions, renderContext, pinnedColumns.left.length);
|
|
65
65
|
const gridHasFiller = dimensions.columnsTotalWidth < dimensions.viewportOuterSize.width;
|
|
66
66
|
React.useEffect(() => {
|
|
67
|
-
apiRef.current.columnHeadersContainerRef.current
|
|
67
|
+
if (apiRef.current.columnHeadersContainerRef.current) {
|
|
68
|
+
apiRef.current.columnHeadersContainerRef.current.scrollLeft = 0;
|
|
69
|
+
}
|
|
68
70
|
}, [apiRef]);
|
|
69
71
|
const handleColumnResizeStart = React.useCallback(params => setResizeCol(params.field), []);
|
|
70
72
|
const handleColumnResizeStop = React.useCallback(() => setResizeCol(''), []);
|