@mui/x-data-grid-pro 7.0.0-beta.6 → 7.0.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 +311 -12
- package/DataGridPro/DataGridPro.js +18 -18
- package/DataGridPro/useDataGridProComponent.js +2 -3
- package/README.md +1 -1
- package/components/GridColumnHeaders.d.ts +1 -2
- package/components/GridColumnHeaders.js +7 -164
- package/components/headerFiltering/GridHeaderFilterCell.d.ts +8 -1
- package/components/headerFiltering/GridHeaderFilterCell.js +26 -9
- package/esm/DataGridPro/DataGridPro.js +18 -18
- package/esm/DataGridPro/useDataGridProComponent.js +1 -2
- package/esm/components/GridColumnHeaders.js +9 -166
- package/esm/components/GridDetailPanelToggleCell.js +1 -2
- package/esm/components/GridTreeDataGroupingCell.js +2 -3
- package/esm/components/headerFiltering/GridHeaderFilterCell.js +39 -26
- package/esm/components/headerFiltering/GridHeaderFilterClearButton.js +1 -2
- package/esm/components/headerFiltering/GridHeaderFilterMenu.js +1 -2
- package/esm/components/headerFiltering/GridHeaderFilterMenuContainer.js +1 -2
- package/esm/hooks/features/columnHeaders/useGridColumnHeaders.js +49 -16
- package/esm/hooks/features/columnPinning/useGridColumnPinning.js +7 -10
- package/esm/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +2 -0
- package/esm/hooks/features/columnReorder/useGridColumnReorder.js +2 -4
- package/esm/hooks/features/detailPanel/useGridDetailPanel.js +5 -10
- package/esm/hooks/features/detailPanel/useGridDetailPanelCache.js +1 -2
- package/esm/hooks/features/index.js +0 -1
- package/esm/hooks/features/infiniteLoader/useGridInfiniteLoader.js +6 -10
- package/esm/hooks/features/lazyLoader/useGridLazyLoader.js +3 -23
- package/esm/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +2 -6
- package/esm/hooks/features/rowPinning/useGridRowPinning.js +3 -5
- package/esm/hooks/features/rowPinning/useGridRowPinningPreProcessors.js +5 -7
- package/esm/hooks/features/treeData/gridTreeDataGroupColDef.js +1 -1
- package/esm/hooks/features/treeData/gridTreeDataUtils.js +1 -2
- package/esm/hooks/features/treeData/useGridTreeDataPreProcessors.js +1 -2
- package/esm/internals/index.js +0 -1
- package/esm/utils/releaseInfo.js +1 -1
- package/esm/utils/tree/insertDataRowInTree.js +8 -9
- package/esm/utils/tree/removeDataRowFromTree.js +3 -3
- package/esm/utils/tree/sortRowTree.js +1 -1
- package/esm/utils/tree/updateRowTree.js +1 -1
- package/esm/utils/tree/utils.js +6 -9
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +3 -5
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +44 -11
- package/hooks/features/columnPinning/useGridColumnPinning.js +3 -3
- package/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +2 -0
- package/hooks/features/detailPanel/useGridDetailPanel.js +1 -1
- package/hooks/features/index.d.ts +0 -1
- package/hooks/features/index.js +0 -11
- package/hooks/features/infiniteLoader/useGridInfiniteLoader.js +2 -2
- package/hooks/features/lazyLoader/useGridLazyLoader.d.ts +1 -1
- package/hooks/features/lazyLoader/useGridLazyLoader.js +1 -19
- package/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +2 -5
- package/index.js +1 -1
- package/internals/index.d.ts +0 -1
- package/internals/index.js +0 -15
- package/models/dataGridProProps.d.ts +3 -36
- package/models/dataSource.d.ts +1 -1
- package/models/gridApiPro.d.ts +4 -4
- package/models/gridStatePro.d.ts +1 -2
- package/modern/DataGridPro/DataGridPro.js +18 -18
- package/modern/DataGridPro/useDataGridProComponent.js +1 -2
- package/modern/components/GridColumnHeaders.js +9 -166
- package/modern/components/headerFiltering/GridHeaderFilterCell.js +27 -10
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +46 -12
- package/modern/hooks/features/columnPinning/useGridColumnPinning.js +3 -3
- package/modern/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +2 -0
- package/modern/hooks/features/detailPanel/useGridDetailPanel.js +1 -1
- package/modern/hooks/features/index.js +0 -1
- package/modern/hooks/features/infiniteLoader/useGridInfiniteLoader.js +2 -2
- package/modern/hooks/features/lazyLoader/useGridLazyLoader.js +1 -19
- package/modern/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +2 -5
- package/modern/index.js +1 -1
- package/modern/internals/index.js +0 -1
- package/modern/utils/releaseInfo.js +1 -1
- package/package.json +6 -6
- package/typeOverloads/modules.d.ts +3 -3
- package/utils/releaseInfo.js +1 -1
- package/components/GridScrollArea.d.ts +0 -10
- package/components/GridScrollArea.js +0 -145
- package/esm/components/GridScrollArea.js +0 -137
- package/esm/hooks/features/columnResize/columnResizeSelector.js +0 -3
- package/esm/hooks/features/columnResize/columnResizeState.js +0 -1
- package/esm/hooks/features/columnResize/gridColumnResizeApi.js +0 -10
- package/esm/hooks/features/columnResize/index.js +0 -3
- package/esm/hooks/features/columnResize/useGridColumnResize.js +0 -547
- package/esm/utils/domUtils.js +0 -109
- package/hooks/features/columnResize/columnResizeSelector.d.ts +0 -3
- package/hooks/features/columnResize/columnResizeSelector.js +0 -10
- package/hooks/features/columnResize/columnResizeState.d.ts +0 -3
- package/hooks/features/columnResize/columnResizeState.js +0 -5
- package/hooks/features/columnResize/gridColumnResizeApi.d.ts +0 -44
- package/hooks/features/columnResize/gridColumnResizeApi.js +0 -16
- package/hooks/features/columnResize/index.d.ts +0 -3
- package/hooks/features/columnResize/index.js +0 -38
- package/hooks/features/columnResize/useGridColumnResize.d.ts +0 -10
- package/hooks/features/columnResize/useGridColumnResize.js +0 -548
- package/modern/components/GridScrollArea.js +0 -137
- package/modern/hooks/features/columnResize/columnResizeSelector.js +0 -3
- package/modern/hooks/features/columnResize/columnResizeState.js +0 -1
- package/modern/hooks/features/columnResize/gridColumnResizeApi.js +0 -10
- package/modern/hooks/features/columnResize/index.js +0 -3
- package/modern/hooks/features/columnResize/useGridColumnResize.js +0 -537
- package/modern/utils/domUtils.js +0 -107
- package/utils/domUtils.d.ts +0 -11
- package/utils/domUtils.js +0 -121
|
@@ -5,85 +5,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.GridColumnHeaders = void 0;
|
|
8
|
-
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
9
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
-
var _utils = require("@mui/utils");
|
|
13
12
|
var _styles = require("@mui/material/styles");
|
|
14
|
-
var _xDataGrid = require("@mui/x-data-grid");
|
|
15
13
|
var _internals = require("@mui/x-data-grid/internals");
|
|
16
|
-
var _useGridRootProps = require("../hooks/utils/useGridRootProps");
|
|
17
|
-
var _useGridApiContext = require("../hooks/utils/useGridApiContext");
|
|
18
14
|
var _useGridColumnHeaders = require("../hooks/features/columnHeaders/useGridColumnHeaders");
|
|
19
|
-
var _GridScrollArea = require("./GridScrollArea");
|
|
20
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
21
|
-
const _excluded = ["style", "className", "
|
|
16
|
+
const _excluded = ["style", "className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "columnHeaderTabIndexState", "columnGroupHeaderTabIndexState", "columnHeaderFocus", "columnGroupHeaderFocus", "headerGroupingMaxDepth", "columnMenuState", "columnVisibility", "columnGroupsHeaderStructure", "hasOtherElementInTabSequence"];
|
|
22
17
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
23
18
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
24
|
-
const useUtilityClasses = ownerState => {
|
|
25
|
-
const {
|
|
26
|
-
leftPinnedColumns,
|
|
27
|
-
rightPinnedColumns,
|
|
28
|
-
classes
|
|
29
|
-
} = ownerState;
|
|
30
|
-
const slots = {
|
|
31
|
-
leftPinnedColumns: ['pinnedColumnHeaders', leftPinnedColumns && leftPinnedColumns.length > 0 && `pinnedColumnHeaders--left`],
|
|
32
|
-
rightPinnedColumns: ['pinnedColumnHeaders', rightPinnedColumns && rightPinnedColumns.length > 0 && `pinnedColumnHeaders--right`, 'withBorderColor']
|
|
33
|
-
};
|
|
34
|
-
return (0, _utils.unstable_composeClasses)(slots, _xDataGrid.getDataGridUtilityClass, classes);
|
|
35
|
-
};
|
|
36
|
-
const GridColumnHeadersPinnedColumnHeaders = (0, _styles.styled)('div', {
|
|
37
|
-
name: 'MuiDataGrid',
|
|
38
|
-
slot: 'PinnedColumnHeaders',
|
|
39
|
-
overridesResolver: (_, styles) => [{
|
|
40
|
-
[`&.${_xDataGrid.gridClasses['pinnedColumnHeaders--left']}`]: styles['pinnedColumnHeaders--left']
|
|
41
|
-
}, {
|
|
42
|
-
[`&.${_xDataGrid.gridClasses['pinnedColumnHeaders--right']}`]: styles['pinnedColumnHeaders--right']
|
|
43
|
-
}, styles.pinnedColumnHeaders]
|
|
44
|
-
})(({
|
|
45
|
-
ownerState
|
|
46
|
-
}) => (0, _extends2.default)({
|
|
47
|
-
position: 'sticky',
|
|
48
|
-
zIndex: 5,
|
|
49
|
-
top: 0,
|
|
50
|
-
display: 'flex',
|
|
51
|
-
flexDirection: 'column',
|
|
52
|
-
boxSizing: 'border-box',
|
|
53
|
-
backgroundColor: 'var(--DataGrid-pinnedBackground)'
|
|
54
|
-
}, ownerState.side === _xDataGrid.GridPinnedColumnPosition.LEFT && {
|
|
55
|
-
left: 0
|
|
56
|
-
}, ownerState.side === _xDataGrid.GridPinnedColumnPosition.RIGHT && {
|
|
57
|
-
right: 0
|
|
58
|
-
}, {
|
|
59
|
-
[`&.${_xDataGrid.gridClasses['pinnedColumnHeaders--left']}`]: {
|
|
60
|
-
left: 0,
|
|
61
|
-
'& > [role="row"] > [role="columnheader"]:last-of-type': {
|
|
62
|
-
borderRight: '1px solid var(--DataGrid-rowBorderColor)'
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
[`&.${_xDataGrid.gridClasses['pinnedColumnHeaders--right']}`]: {
|
|
66
|
-
right: 0,
|
|
67
|
-
'& > [role="row"] > [role="columnheader"]:first-of-type': {
|
|
68
|
-
borderLeft: '1px solid var(--DataGrid-rowBorderColor)'
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}));
|
|
72
19
|
const Filler = (0, _styles.styled)('div')({
|
|
73
20
|
flex: 1,
|
|
74
21
|
backgroundColor: 'var(--DataGrid-containerBackground)'
|
|
75
22
|
});
|
|
76
|
-
GridColumnHeadersPinnedColumnHeaders.propTypes = {
|
|
77
|
-
// ----------------------------- Warning --------------------------------
|
|
78
|
-
// | These PropTypes are generated from the TypeScript type definitions |
|
|
79
|
-
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
80
|
-
// ----------------------------------------------------------------------
|
|
81
|
-
ownerState: _propTypes.default.object.isRequired
|
|
82
|
-
};
|
|
83
23
|
const GridColumnHeaders = exports.GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnHeaders(props, ref) {
|
|
84
24
|
const {
|
|
85
25
|
className,
|
|
86
|
-
innerRef,
|
|
87
26
|
visibleColumns,
|
|
88
27
|
sortColumnLookup,
|
|
89
28
|
filterColumnLookup,
|
|
@@ -98,18 +37,12 @@ const GridColumnHeaders = exports.GridColumnHeaders = /*#__PURE__*/React.forward
|
|
|
98
37
|
hasOtherElementInTabSequence
|
|
99
38
|
} = props,
|
|
100
39
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
101
|
-
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
102
|
-
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
103
|
-
const visiblePinnedColumns = (0, _xDataGrid.useGridSelector)(apiRef, _xDataGrid.gridVisiblePinnedColumnDefinitionsSelector);
|
|
104
40
|
const {
|
|
105
|
-
isDragging,
|
|
106
|
-
renderContext,
|
|
107
41
|
getInnerProps,
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
42
|
+
getColumnHeadersRow,
|
|
43
|
+
getColumnFiltersRow,
|
|
44
|
+
getColumnGroupHeadersRows
|
|
111
45
|
} = (0, _useGridColumnHeaders.useGridColumnHeaders)({
|
|
112
|
-
innerRef,
|
|
113
46
|
visibleColumns,
|
|
114
47
|
sortColumnLookup,
|
|
115
48
|
filterColumnLookup,
|
|
@@ -123,100 +56,11 @@ const GridColumnHeaders = exports.GridColumnHeaders = /*#__PURE__*/React.forward
|
|
|
123
56
|
columnVisibility,
|
|
124
57
|
columnGroupsHeaderStructure
|
|
125
58
|
});
|
|
126
|
-
const ownerState = (0, _extends2.default)({}, rootProps, {
|
|
127
|
-
leftPinnedColumns: visiblePinnedColumns.left.map(c => c.field),
|
|
128
|
-
rightPinnedColumns: visiblePinnedColumns.right.map(c => c.field),
|
|
129
|
-
classes: rootProps.classes
|
|
130
|
-
});
|
|
131
|
-
const classes = useUtilityClasses(ownerState);
|
|
132
|
-
const leftRenderContext = renderContext && visiblePinnedColumns.left.length ? (0, _extends2.default)({}, renderContext, {
|
|
133
|
-
firstColumnIndex: 0,
|
|
134
|
-
lastColumnIndex: visiblePinnedColumns.left.length
|
|
135
|
-
}) : null;
|
|
136
|
-
const rightRenderContext = renderContext && visiblePinnedColumns.right.length ? (0, _extends2.default)({}, renderContext, {
|
|
137
|
-
firstColumnIndex: visibleColumns.length - visiblePinnedColumns.right.length,
|
|
138
|
-
lastColumnIndex: visibleColumns.length
|
|
139
|
-
}) : null;
|
|
140
|
-
const innerProps = getInnerProps();
|
|
141
|
-
const pinnedColumnHeadersProps = {
|
|
142
|
-
role: innerProps.role
|
|
143
|
-
};
|
|
144
59
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_internals.GridBaseColumnHeaders, (0, _extends2.default)({
|
|
145
60
|
ref: ref,
|
|
146
61
|
className: className
|
|
147
|
-
}, other, {
|
|
148
|
-
children: [
|
|
149
|
-
className: classes.leftPinnedColumns,
|
|
150
|
-
ownerState: (0, _extends2.default)({}, ownerState, {
|
|
151
|
-
side: _xDataGrid.GridPinnedColumnPosition.LEFT,
|
|
152
|
-
showCellVerticalBorder: rootProps.showCellVerticalBorder
|
|
153
|
-
})
|
|
154
|
-
}, pinnedColumnHeadersProps, {
|
|
155
|
-
children: [getColumnGroupHeaders({
|
|
156
|
-
position: _xDataGrid.GridPinnedColumnPosition.LEFT,
|
|
157
|
-
renderContext: leftRenderContext,
|
|
158
|
-
minFirstColumn: leftRenderContext.firstColumnIndex,
|
|
159
|
-
maxLastColumn: leftRenderContext.lastColumnIndex
|
|
160
|
-
}), getColumnHeaders({
|
|
161
|
-
position: _xDataGrid.GridPinnedColumnPosition.LEFT,
|
|
162
|
-
renderContext: leftRenderContext,
|
|
163
|
-
minFirstColumn: leftRenderContext.firstColumnIndex,
|
|
164
|
-
maxLastColumn: leftRenderContext.lastColumnIndex
|
|
165
|
-
}, {
|
|
166
|
-
disableReorder: true
|
|
167
|
-
}), getColumnFilters({
|
|
168
|
-
position: _xDataGrid.GridPinnedColumnPosition.LEFT,
|
|
169
|
-
renderContext: leftRenderContext,
|
|
170
|
-
minFirstColumn: leftRenderContext.firstColumnIndex,
|
|
171
|
-
maxLastColumn: leftRenderContext.lastColumnIndex
|
|
172
|
-
})]
|
|
173
|
-
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollArea.GridScrollArea, {
|
|
174
|
-
scrollDirection: "left"
|
|
175
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_internals.GridColumnHeadersInner, (0, _extends2.default)({
|
|
176
|
-
isDragging: isDragging
|
|
177
|
-
}, innerProps, {
|
|
178
|
-
children: [getColumnGroupHeaders({
|
|
179
|
-
renderContext,
|
|
180
|
-
minFirstColumn: visiblePinnedColumns.left.length,
|
|
181
|
-
maxLastColumn: visibleColumns.length - visiblePinnedColumns.right.length
|
|
182
|
-
}), getColumnHeaders({
|
|
183
|
-
renderContext,
|
|
184
|
-
minFirstColumn: visiblePinnedColumns.left.length,
|
|
185
|
-
maxLastColumn: visibleColumns.length - visiblePinnedColumns.right.length
|
|
186
|
-
}), getColumnFilters({
|
|
187
|
-
renderContext,
|
|
188
|
-
minFirstColumn: visiblePinnedColumns.left.length,
|
|
189
|
-
maxLastColumn: visibleColumns.length - visiblePinnedColumns.right.length
|
|
190
|
-
})]
|
|
191
|
-
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollArea.GridScrollArea, {
|
|
192
|
-
scrollDirection: "right"
|
|
193
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(Filler, {}), rightRenderContext && /*#__PURE__*/(0, _jsxRuntime.jsxs)(GridColumnHeadersPinnedColumnHeaders, (0, _extends2.default)({
|
|
194
|
-
ownerState: (0, _extends2.default)({}, ownerState, {
|
|
195
|
-
side: _xDataGrid.GridPinnedColumnPosition.RIGHT,
|
|
196
|
-
showCellVerticalBorder: rootProps.showCellVerticalBorder
|
|
197
|
-
}),
|
|
198
|
-
className: classes.rightPinnedColumns
|
|
199
|
-
}, pinnedColumnHeadersProps, {
|
|
200
|
-
children: [getColumnGroupHeaders({
|
|
201
|
-
position: _xDataGrid.GridPinnedColumnPosition.RIGHT,
|
|
202
|
-
renderContext: rightRenderContext,
|
|
203
|
-
minFirstColumn: rightRenderContext.firstColumnIndex,
|
|
204
|
-
maxLastColumn: rightRenderContext.lastColumnIndex
|
|
205
|
-
}), getColumnHeaders({
|
|
206
|
-
position: _xDataGrid.GridPinnedColumnPosition.RIGHT,
|
|
207
|
-
renderContext: rightRenderContext,
|
|
208
|
-
minFirstColumn: rightRenderContext.firstColumnIndex,
|
|
209
|
-
maxLastColumn: rightRenderContext.lastColumnIndex
|
|
210
|
-
}, {
|
|
211
|
-
disableReorder: true,
|
|
212
|
-
separatorSide: _xDataGrid.GridColumnHeaderSeparatorSides.Left
|
|
213
|
-
}), getColumnFilters({
|
|
214
|
-
position: _xDataGrid.GridPinnedColumnPosition.RIGHT,
|
|
215
|
-
renderContext: rightRenderContext,
|
|
216
|
-
minFirstColumn: rightRenderContext.firstColumnIndex,
|
|
217
|
-
maxLastColumn: rightRenderContext.lastColumnIndex
|
|
218
|
-
})]
|
|
219
|
-
}))]
|
|
62
|
+
}, other, getInnerProps(), {
|
|
63
|
+
children: [getColumnGroupHeadersRows(), getColumnHeadersRow(), getColumnFiltersRow(), /*#__PURE__*/(0, _jsxRuntime.jsx)(Filler, {})]
|
|
220
64
|
}));
|
|
221
65
|
});
|
|
222
66
|
process.env.NODE_ENV !== "production" ? GridColumnHeaders.propTypes = {
|
|
@@ -250,7 +94,6 @@ process.env.NODE_ENV !== "production" ? GridColumnHeaders.propTypes = {
|
|
|
250
94
|
filterColumnLookup: _propTypes.default.object.isRequired,
|
|
251
95
|
hasOtherElementInTabSequence: _propTypes.default.bool.isRequired,
|
|
252
96
|
headerGroupingMaxDepth: _propTypes.default.number.isRequired,
|
|
253
|
-
innerRef: _utils.refType,
|
|
254
97
|
sortColumnLookup: _propTypes.default.object.isRequired,
|
|
255
98
|
visibleColumns: _propTypes.default.arrayOf(_propTypes.default.object).isRequired
|
|
256
99
|
} : void 0;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { GridFilterItem, GridFilterOperator, GridColDef } from '@mui/x-data-grid';
|
|
2
|
+
import { GridFilterItem, GridFilterOperator, GridColDef, GridPinnedColumnPosition } from '@mui/x-data-grid';
|
|
3
3
|
import { GridStateColDef } from '@mui/x-data-grid/internals';
|
|
4
|
+
export interface GridRenderHeaderFilterProps extends GridHeaderFilterCellProps {
|
|
5
|
+
inputRef: React.RefObject<unknown>;
|
|
6
|
+
}
|
|
4
7
|
export interface GridHeaderFilterCellProps extends Pick<GridStateColDef, 'headerClassName'> {
|
|
5
8
|
colIndex: number;
|
|
6
9
|
height: number;
|
|
@@ -13,6 +16,10 @@ export interface GridHeaderFilterCellProps extends Pick<GridStateColDef, 'header
|
|
|
13
16
|
item: GridFilterItem;
|
|
14
17
|
showClearIcon?: boolean;
|
|
15
18
|
InputComponentProps: GridFilterOperator['InputComponentProps'];
|
|
19
|
+
pinnedPosition?: GridPinnedColumnPosition;
|
|
20
|
+
style?: React.CSSProperties;
|
|
21
|
+
indexInSection: number;
|
|
22
|
+
sectionLength: number;
|
|
16
23
|
}
|
|
17
24
|
declare const Memoized: React.ForwardRefExoticComponent<GridHeaderFilterCellProps & React.RefAttributes<HTMLDivElement>>;
|
|
18
25
|
export { Memoized as GridHeaderFilterCell };
|
|
@@ -17,17 +17,19 @@ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
|
17
17
|
var _GridHeaderFilterMenuContainer = require("./GridHeaderFilterMenuContainer");
|
|
18
18
|
var _GridHeaderFilterClearButton = require("./GridHeaderFilterClearButton");
|
|
19
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
-
const _excluded = ["colIndex", "height", "hasFocus", "width", "headerClassName", "colDef", "item", "headerFilterMenuRef", "InputComponentProps", "showClearIcon"];
|
|
20
|
+
const _excluded = ["colIndex", "height", "hasFocus", "width", "headerClassName", "colDef", "item", "headerFilterMenuRef", "InputComponentProps", "showClearIcon", "pinnedPosition", "style", "indexInSection", "sectionLength"];
|
|
21
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
22
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
23
|
const useUtilityClasses = ownerState => {
|
|
24
24
|
const {
|
|
25
25
|
colDef,
|
|
26
26
|
classes,
|
|
27
|
-
|
|
27
|
+
showRightBorder,
|
|
28
|
+
showLeftBorder,
|
|
29
|
+
pinnedPosition
|
|
28
30
|
} = ownerState;
|
|
29
31
|
const slots = {
|
|
30
|
-
root: ['columnHeader', colDef.headerAlign === 'left' && 'columnHeader--alignLeft', colDef.headerAlign === 'center' && 'columnHeader--alignCenter', colDef.headerAlign === 'right' && 'columnHeader--alignRight', 'withBorderColor',
|
|
32
|
+
root: ['columnHeader', colDef.headerAlign === 'left' && 'columnHeader--alignLeft', colDef.headerAlign === 'center' && 'columnHeader--alignCenter', colDef.headerAlign === 'right' && 'columnHeader--alignRight', 'withBorderColor', showRightBorder && 'columnHeader--withRightBorder', showLeftBorder && 'columnHeader--withLeftBorder', pinnedPosition === 'left' && 'columnHeader--pinnedLeft', pinnedPosition === 'right' && 'columnHeader--pinnedRight']
|
|
31
33
|
};
|
|
32
34
|
return (0, _utils.unstable_composeClasses)(slots, _xDataGrid.getDataGridUtilityClass, classes);
|
|
33
35
|
};
|
|
@@ -47,7 +49,11 @@ const GridHeaderFilterCell = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
47
49
|
item,
|
|
48
50
|
headerFilterMenuRef,
|
|
49
51
|
InputComponentProps,
|
|
50
|
-
showClearIcon = true
|
|
52
|
+
showClearIcon = true,
|
|
53
|
+
pinnedPosition,
|
|
54
|
+
style: styleProp,
|
|
55
|
+
indexInSection,
|
|
56
|
+
sectionLength
|
|
51
57
|
} = props,
|
|
52
58
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
53
59
|
const apiRef = (0, _internals.useGridPrivateApiContext)();
|
|
@@ -87,7 +93,9 @@ const GridHeaderFilterCell = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
87
93
|
}, [apiRef, item]);
|
|
88
94
|
let headerFilterComponent;
|
|
89
95
|
if (colDef.renderHeaderFilter) {
|
|
90
|
-
headerFilterComponent = colDef.renderHeaderFilter(props
|
|
96
|
+
headerFilterComponent = colDef.renderHeaderFilter((0, _extends2.default)({}, props, {
|
|
97
|
+
inputRef
|
|
98
|
+
}));
|
|
91
99
|
}
|
|
92
100
|
React.useLayoutEffect(() => {
|
|
93
101
|
if (hasFocus && !isMenuOpen) {
|
|
@@ -97,7 +105,7 @@ const GridHeaderFilterCell = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
97
105
|
}
|
|
98
106
|
const elementToFocus = focusableElement || cellRef.current;
|
|
99
107
|
elementToFocus?.focus();
|
|
100
|
-
apiRef.current.
|
|
108
|
+
apiRef.current.columnHeadersContainerRef.current.scrollLeft = 0;
|
|
101
109
|
}
|
|
102
110
|
}, [InputComponent, apiRef, hasFocus, isEditing, isMenuOpen]);
|
|
103
111
|
const onKeyDown = React.useCallback(event => {
|
|
@@ -163,8 +171,13 @@ const GridHeaderFilterCell = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
163
171
|
onMouseDown: publish('headerFilterMouseDown', onMouseDown),
|
|
164
172
|
onBlur: publish('headerFilterBlur')
|
|
165
173
|
}), [onMouseDown, onKeyDown, publish]);
|
|
174
|
+
const showLeftBorder = (0, _internals.shouldCellShowLeftBorder)(pinnedPosition, indexInSection);
|
|
175
|
+
const showRightBorder = (0, _internals.shouldCellShowRightBorder)(pinnedPosition, indexInSection, sectionLength, rootProps.showCellVerticalBorder);
|
|
166
176
|
const ownerState = (0, _extends2.default)({}, rootProps, {
|
|
167
|
-
|
|
177
|
+
pinnedPosition,
|
|
178
|
+
colDef,
|
|
179
|
+
showLeftBorder,
|
|
180
|
+
showRightBorder
|
|
168
181
|
});
|
|
169
182
|
const classes = useUtilityClasses(ownerState);
|
|
170
183
|
const isNoInputOperator = filterOperators?.find(({
|
|
@@ -176,12 +189,12 @@ const GridHeaderFilterCell = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
176
189
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", (0, _extends2.default)({
|
|
177
190
|
className: (0, _clsx.default)(classes.root, headerClassName),
|
|
178
191
|
ref: handleRef,
|
|
179
|
-
style: {
|
|
192
|
+
style: (0, _extends2.default)({
|
|
180
193
|
height,
|
|
181
194
|
width,
|
|
182
195
|
minWidth: width,
|
|
183
196
|
maxWidth: width
|
|
184
|
-
},
|
|
197
|
+
}, styleProp),
|
|
185
198
|
role: "columnheader",
|
|
186
199
|
"aria-colindex": colIndex + 1,
|
|
187
200
|
"aria-label": headerFilterComponent == null ? colDef.headerName ?? colDef.field : undefined
|
|
@@ -248,6 +261,7 @@ process.env.NODE_ENV !== "production" ? GridHeaderFilterCell.propTypes = {
|
|
|
248
261
|
current: _propTypes.default.object
|
|
249
262
|
}).isRequired,
|
|
250
263
|
height: _propTypes.default.number.isRequired,
|
|
264
|
+
indexInSection: _propTypes.default.number.isRequired,
|
|
251
265
|
InputComponentProps: _propTypes.default.object,
|
|
252
266
|
item: _propTypes.default.shape({
|
|
253
267
|
field: _propTypes.default.string.isRequired,
|
|
@@ -255,8 +269,11 @@ process.env.NODE_ENV !== "production" ? GridHeaderFilterCell.propTypes = {
|
|
|
255
269
|
operator: _propTypes.default.string.isRequired,
|
|
256
270
|
value: _propTypes.default.any
|
|
257
271
|
}).isRequired,
|
|
272
|
+
pinnedPosition: _propTypes.default.oneOf(['left', 'right']),
|
|
273
|
+
sectionLength: _propTypes.default.number.isRequired,
|
|
258
274
|
showClearIcon: _propTypes.default.bool,
|
|
259
275
|
sortIndex: _propTypes.default.number,
|
|
276
|
+
style: _propTypes.default.object,
|
|
260
277
|
tabIndex: _propTypes.default.oneOf([-1, 0]).isRequired,
|
|
261
278
|
width: _propTypes.default.number.isRequired
|
|
262
279
|
} : void 0;
|
|
@@ -113,10 +113,10 @@ DataGridProRaw.propTypes = {
|
|
|
113
113
|
*/
|
|
114
114
|
clipboardCopyCellDelimiter: PropTypes.string,
|
|
115
115
|
/**
|
|
116
|
-
*
|
|
117
|
-
* @default
|
|
116
|
+
* Column region in pixels to render before/after the viewport
|
|
117
|
+
* @default 150
|
|
118
118
|
*/
|
|
119
|
-
|
|
119
|
+
columnBufferPx: PropTypes.number,
|
|
120
120
|
columnGroupingModel: PropTypes.arrayOf(PropTypes.object),
|
|
121
121
|
/**
|
|
122
122
|
* Sets the height in pixel of the column headers in the Data Grid.
|
|
@@ -127,11 +127,6 @@ DataGridProRaw.propTypes = {
|
|
|
127
127
|
* Set of columns of type [[GridColDef]][].
|
|
128
128
|
*/
|
|
129
129
|
columns: PropTypes.arrayOf(PropTypes.object).isRequired,
|
|
130
|
-
/**
|
|
131
|
-
* Number of rows from the `columnBuffer` that can be visible before a new slice is rendered.
|
|
132
|
-
* @default 3
|
|
133
|
-
*/
|
|
134
|
-
columnThreshold: PropTypes.number,
|
|
135
130
|
/**
|
|
136
131
|
* Set the column visibility model of the Data Grid.
|
|
137
132
|
* If defined, the Data Grid will ignore the `hide` property in [[GridColDef]].
|
|
@@ -248,7 +243,6 @@ DataGridProRaw.propTypes = {
|
|
|
248
243
|
* For each feature, if the flag is not explicitly set to `true`, the feature will be fully disabled and any property / method call will not have any effect.
|
|
249
244
|
*/
|
|
250
245
|
experimentalFeatures: PropTypes.shape({
|
|
251
|
-
lazyLoading: PropTypes.bool,
|
|
252
246
|
warnIfFocusStateIsNotSynced: PropTypes.bool
|
|
253
247
|
}),
|
|
254
248
|
/**
|
|
@@ -564,6 +558,11 @@ DataGridProRaw.propTypes = {
|
|
|
564
558
|
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
565
559
|
*/
|
|
566
560
|
onColumnWidthChange: PropTypes.func,
|
|
561
|
+
/**
|
|
562
|
+
* Callback fired when the density changes.
|
|
563
|
+
* @param {GridDensity} density New density value.
|
|
564
|
+
*/
|
|
565
|
+
onDensityChange: PropTypes.func,
|
|
567
566
|
/**
|
|
568
567
|
* Callback fired when the detail panel of a row is opened or closed.
|
|
569
568
|
* @param {GridRowId[]} ids The ids of the rows which have the detail panel open.
|
|
@@ -643,6 +642,11 @@ DataGridProRaw.propTypes = {
|
|
|
643
642
|
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
644
643
|
*/
|
|
645
644
|
onRowClick: PropTypes.func,
|
|
645
|
+
/**
|
|
646
|
+
* Callback fired when the row count has changed.
|
|
647
|
+
* @param {number} count Updated row count.
|
|
648
|
+
*/
|
|
649
|
+
onRowCountChange: PropTypes.func,
|
|
646
650
|
/**
|
|
647
651
|
* Callback fired when a double click event comes from a row container element.
|
|
648
652
|
* @param {GridRowParams} params With all properties from [[RowParams]].
|
|
@@ -749,10 +753,10 @@ DataGridProRaw.propTypes = {
|
|
|
749
753
|
*/
|
|
750
754
|
processRowUpdate: PropTypes.func,
|
|
751
755
|
/**
|
|
752
|
-
*
|
|
753
|
-
* @default
|
|
756
|
+
* Row region in pixels to render before/after the viewport
|
|
757
|
+
* @default 150
|
|
754
758
|
*/
|
|
755
|
-
|
|
759
|
+
rowBufferPx: PropTypes.number,
|
|
756
760
|
/**
|
|
757
761
|
* Set the total number of rows, if it is different from the length of the value `rows` prop.
|
|
758
762
|
* If some rows have children (for instance in the tree data), this number represents the amount of top level rows.
|
|
@@ -781,8 +785,9 @@ DataGridProRaw.propTypes = {
|
|
|
781
785
|
rowReordering: PropTypes.bool,
|
|
782
786
|
/**
|
|
783
787
|
* Set of rows of type [[GridRowsProp]].
|
|
788
|
+
* @default []
|
|
784
789
|
*/
|
|
785
|
-
rows: PropTypes.arrayOf(PropTypes.object)
|
|
790
|
+
rows: PropTypes.arrayOf(PropTypes.object),
|
|
786
791
|
/**
|
|
787
792
|
* If `false`, the row selection mode is disabled.
|
|
788
793
|
* @default true
|
|
@@ -804,11 +809,6 @@ DataGridProRaw.propTypes = {
|
|
|
804
809
|
* @default "margin"
|
|
805
810
|
*/
|
|
806
811
|
rowSpacingType: PropTypes.oneOf(['border', 'margin']),
|
|
807
|
-
/**
|
|
808
|
-
* Number of rows from the `rowBuffer` that can be visible before a new slice is rendered.
|
|
809
|
-
* @default 3
|
|
810
|
-
*/
|
|
811
|
-
rowThreshold: PropTypes.number,
|
|
812
812
|
/**
|
|
813
813
|
* Override the height/width of the Data Grid inner scrollbar.
|
|
814
814
|
*/
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { useGridInitialization, useGridInitializeState, useGridClipboard, useGridColumnMenu, useGridColumns, columnsStateInitializer, useGridDensity, useGridCsvExport, useGridPrintExport, useGridFilter, filterStateInitializer, useGridFocus, useGridKeyboardNavigation, useGridPagination, paginationStateInitializer, useGridPreferencesPanel, useGridEditing, editingStateInitializer, useGridRows, useGridRowsPreProcessors, rowsStateInitializer, useGridRowsMeta, useGridParamsApi, useGridRowSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, dimensionsStateInitializer, useGridDimensions, useGridStatePersistence, useGridRowSelectionPreProcessors, useGridColumnSpanning, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, rowSelectionStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization } from '@mui/x-data-grid/internals';
|
|
1
|
+
import { useGridInitialization, useGridInitializeState, useGridClipboard, useGridColumnMenu, useGridColumns, columnsStateInitializer, useGridDensity, useGridCsvExport, useGridPrintExport, useGridFilter, filterStateInitializer, useGridFocus, useGridKeyboardNavigation, useGridPagination, paginationStateInitializer, useGridPreferencesPanel, useGridEditing, editingStateInitializer, useGridRows, useGridRowsPreProcessors, rowsStateInitializer, useGridRowsMeta, useGridParamsApi, useGridRowSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, dimensionsStateInitializer, useGridDimensions, useGridStatePersistence, useGridRowSelectionPreProcessors, useGridColumnSpanning, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, rowSelectionStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization, useGridColumnResize, columnResizeStateInitializer } from '@mui/x-data-grid/internals';
|
|
2
2
|
// Pro-only features
|
|
3
3
|
import { useGridInfiniteLoader } from '../hooks/features/infiniteLoader/useGridInfiniteLoader';
|
|
4
4
|
import { useGridColumnReorder, columnReorderStateInitializer } from '../hooks/features/columnReorder/useGridColumnReorder';
|
|
5
|
-
import { useGridColumnResize, columnResizeStateInitializer } from '../hooks/features/columnResize/useGridColumnResize';
|
|
6
5
|
import { useGridTreeData } from '../hooks/features/treeData/useGridTreeData';
|
|
7
6
|
import { useGridTreeDataPreProcessors } from '../hooks/features/treeData/useGridTreeDataPreProcessors';
|
|
8
7
|
import { useGridColumnPinning, columnPinningStateInitializer } from '../hooks/features/columnPinning/useGridColumnPinning';
|