@mui/x-data-grid 8.0.0-alpha.10 → 8.0.0-alpha.11
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 +107 -2
- package/DataGrid/useDataGridComponent.js +2 -2
- package/components/GridRow.js +6 -2
- package/components/GridScrollArea.d.ts +5 -2
- package/components/GridScrollArea.js +31 -24
- package/components/GridSkeletonLoadingOverlay.js +2 -1
- package/components/containers/GridRoot.js +11 -9
- package/components/containers/GridRootStyles.js +3 -3
- package/components/menu/columnMenu/GridColumnMenuContainer.js +5 -2
- package/components/virtualization/GridMainContainer.d.ts +2 -2
- package/components/virtualization/GridMainContainer.js +1 -1
- package/components/virtualization/GridVirtualScroller.js +21 -14
- package/constants/index.d.ts +1 -0
- package/constants/index.js +2 -1
- package/constants/signature.d.ts +9 -0
- package/constants/signature.js +10 -0
- package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +1 -1
- package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +6 -4
- package/hooks/core/useGridApiInitialization.js +1 -1
- package/hooks/core/useGridStateInitialization.js +3 -2
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -14
- package/hooks/features/columns/gridColumnsSelector.d.ts +0 -5
- package/hooks/features/columns/gridColumnsSelector.js +0 -12
- package/hooks/features/columns/useGridColumns.js +2 -1
- package/hooks/features/dimensions/gridDimensionsSelectors.d.ts +16 -0
- package/hooks/features/dimensions/gridDimensionsSelectors.js +26 -1
- package/hooks/features/dimensions/index.d.ts +1 -1
- package/hooks/features/dimensions/index.js +1 -2
- package/hooks/features/dimensions/useGridDimensions.js +97 -70
- package/hooks/features/editing/gridEditingSelectors.d.ts +5 -1
- package/hooks/features/editing/gridEditingSelectors.js +6 -1
- package/hooks/features/editing/useGridRowEditing.js +4 -4
- package/hooks/features/filter/gridFilterSelector.d.ts +2 -2
- package/hooks/features/filter/gridFilterSelector.js +4 -3
- package/hooks/features/filter/gridFilterState.d.ts +8 -3
- package/hooks/features/filter/gridFilterState.js +5 -0
- package/hooks/features/filter/useGridFilter.js +9 -14
- package/hooks/features/overlays/useGridOverlays.js +1 -1
- package/hooks/features/pagination/gridPaginationUtils.js +1 -1
- package/hooks/features/pagination/useGridPagination.js +1 -1
- package/hooks/features/rowSelection/useGridRowSelection.js +3 -2
- package/hooks/features/rowSelection/utils.js +2 -2
- package/hooks/features/rows/gridRowsMetaState.d.ts +8 -0
- package/hooks/features/rows/gridRowsUtils.d.ts +0 -4
- package/hooks/features/rows/gridRowsUtils.js +0 -16
- package/hooks/features/rows/useGridRows.js +4 -2
- package/hooks/features/rows/useGridRowsMeta.js +33 -17
- package/hooks/features/sorting/gridSortingSelector.js +10 -9
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +6 -0
- package/hooks/features/virtualization/useGridVirtualScroller.js +43 -27
- package/hooks/utils/index.d.ts +1 -1
- package/hooks/utils/index.js +1 -1
- package/hooks/utils/useGridApiEventHandler.d.ts +7 -17
- package/hooks/utils/useGridApiEventHandler.js +68 -75
- package/hooks/utils/useGridSelector.js +23 -5
- package/hooks/utils/useIsSSR.d.ts +1 -0
- package/hooks/utils/useIsSSR.js +5 -0
- package/index.js +1 -1
- package/internals/index.d.ts +3 -1
- package/internals/index.js +3 -1
- package/internals/utils/propValidation.js +1 -1
- package/models/api/gridStateApi.d.ts +1 -0
- package/models/events/gridEventLookup.d.ts +6 -0
- package/modern/DataGrid/useDataGridComponent.js +2 -2
- package/modern/components/GridRow.js +6 -2
- package/modern/components/GridScrollArea.js +31 -24
- package/modern/components/GridSkeletonLoadingOverlay.js +2 -1
- package/modern/components/containers/GridRoot.js +11 -9
- package/modern/components/containers/GridRootStyles.js +3 -3
- package/modern/components/menu/columnMenu/GridColumnMenuContainer.js +5 -2
- package/modern/components/virtualization/GridMainContainer.js +1 -1
- package/modern/components/virtualization/GridVirtualScroller.js +21 -14
- package/modern/constants/index.js +2 -1
- package/modern/constants/signature.js +10 -0
- package/modern/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +6 -4
- package/modern/hooks/core/useGridApiInitialization.js +1 -1
- package/modern/hooks/core/useGridStateInitialization.js +3 -2
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -14
- package/modern/hooks/features/columns/gridColumnsSelector.js +0 -12
- package/modern/hooks/features/columns/useGridColumns.js +2 -1
- package/modern/hooks/features/dimensions/gridDimensionsSelectors.js +26 -1
- package/modern/hooks/features/dimensions/index.js +1 -2
- package/modern/hooks/features/dimensions/useGridDimensions.js +97 -70
- package/modern/hooks/features/editing/gridEditingSelectors.js +6 -1
- package/modern/hooks/features/editing/useGridRowEditing.js +4 -4
- package/modern/hooks/features/filter/gridFilterSelector.js +4 -3
- package/modern/hooks/features/filter/gridFilterState.js +5 -0
- package/modern/hooks/features/filter/useGridFilter.js +9 -14
- package/modern/hooks/features/overlays/useGridOverlays.js +1 -1
- package/modern/hooks/features/pagination/gridPaginationUtils.js +1 -1
- package/modern/hooks/features/pagination/useGridPagination.js +1 -1
- package/modern/hooks/features/rowSelection/useGridRowSelection.js +3 -2
- package/modern/hooks/features/rowSelection/utils.js +2 -2
- package/modern/hooks/features/rows/gridRowsUtils.js +0 -16
- package/modern/hooks/features/rows/useGridRows.js +4 -2
- package/modern/hooks/features/rows/useGridRowsMeta.js +33 -17
- package/modern/hooks/features/sorting/gridSortingSelector.js +10 -9
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +43 -27
- package/modern/hooks/utils/index.js +1 -1
- package/modern/hooks/utils/useGridApiEventHandler.js +68 -75
- package/modern/hooks/utils/useGridSelector.js +23 -5
- package/modern/hooks/utils/useIsSSR.js +5 -0
- package/modern/index.js +1 -1
- package/modern/internals/index.js +3 -1
- package/modern/internals/utils/propValidation.js +1 -1
- package/node/DataGrid/useDataGridComponent.js +2 -2
- package/node/components/GridRow.js +6 -2
- package/node/components/GridScrollArea.js +31 -24
- package/node/components/GridSkeletonLoadingOverlay.js +2 -1
- package/node/components/containers/GridRoot.js +10 -8
- package/node/components/containers/GridRootStyles.js +3 -3
- package/node/components/menu/columnMenu/GridColumnMenuContainer.js +5 -2
- package/node/components/virtualization/GridMainContainer.js +1 -1
- package/node/components/virtualization/GridVirtualScroller.js +21 -14
- package/node/constants/index.js +11 -0
- package/node/constants/signature.js +16 -0
- package/node/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +6 -4
- package/node/hooks/core/useGridApiInitialization.js +2 -2
- package/node/hooks/core/useGridStateInitialization.js +3 -2
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +10 -14
- package/node/hooks/features/columns/gridColumnsSelector.js +1 -13
- package/node/hooks/features/columns/useGridColumns.js +2 -1
- package/node/hooks/features/dimensions/gridDimensionsSelectors.js +38 -2
- package/node/hooks/features/dimensions/index.js +13 -11
- package/node/hooks/features/dimensions/useGridDimensions.js +94 -67
- package/node/hooks/features/editing/gridEditingSelectors.js +5 -1
- package/node/hooks/features/editing/useGridRowEditing.js +4 -4
- package/node/hooks/features/filter/gridFilterSelector.js +4 -3
- package/node/hooks/features/filter/gridFilterState.js +6 -1
- package/node/hooks/features/filter/useGridFilter.js +8 -13
- package/node/hooks/features/overlays/useGridOverlays.js +1 -1
- package/node/hooks/features/pagination/gridPaginationUtils.js +2 -2
- package/node/hooks/features/pagination/useGridPagination.js +1 -1
- package/node/hooks/features/rowSelection/useGridRowSelection.js +5 -4
- package/node/hooks/features/rowSelection/utils.js +3 -3
- package/node/hooks/features/rows/gridRowsUtils.js +0 -17
- package/node/hooks/features/rows/useGridRows.js +6 -4
- package/node/hooks/features/rows/useGridRowsMeta.js +31 -15
- package/node/hooks/features/sorting/gridSortingSelector.js +10 -9
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +42 -26
- package/node/hooks/utils/index.js +21 -11
- package/node/hooks/utils/useGridApiEventHandler.js +71 -78
- package/node/hooks/utils/useGridSelector.js +23 -5
- package/node/hooks/utils/useIsSSR.js +12 -0
- package/node/index.js +1 -1
- package/node/internals/index.js +32 -7
- package/node/internals/utils/propValidation.js +2 -2
- package/package.json +3 -2
|
@@ -10,12 +10,12 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _system = require("@mui/system");
|
|
12
12
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
13
|
+
var _gridDimensionsSelectors = require("../../hooks/features/dimensions/gridDimensionsSelectors");
|
|
13
14
|
var _GridScrollArea = require("../GridScrollArea");
|
|
14
15
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
15
16
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
16
17
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
17
18
|
var _gridClasses = require("../../constants/gridClasses");
|
|
18
|
-
var _dimensions = require("../../hooks/features/dimensions");
|
|
19
19
|
var _useGridVirtualScroller = require("../../hooks/features/virtualization/useGridVirtualScroller");
|
|
20
20
|
var _useGridOverlays = require("../../hooks/features/overlays/useGridOverlays");
|
|
21
21
|
var _GridHeaders = require("../GridHeaders");
|
|
@@ -30,12 +30,13 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
30
30
|
const useUtilityClasses = ownerState => {
|
|
31
31
|
const {
|
|
32
32
|
classes,
|
|
33
|
-
|
|
33
|
+
hasScrollX,
|
|
34
|
+
hasPinnedRight,
|
|
34
35
|
loadingOverlayVariant
|
|
35
36
|
} = ownerState;
|
|
36
37
|
const slots = {
|
|
37
|
-
root: ['main',
|
|
38
|
-
scroller: ['virtualScroller',
|
|
38
|
+
root: ['main', hasPinnedRight && 'main--hasPinnedRight', loadingOverlayVariant === 'skeleton' && 'main--hasSkeletonLoadingOverlay'],
|
|
39
|
+
scroller: ['virtualScroller', hasScrollX && 'virtualScroller--hasScrollX']
|
|
39
40
|
};
|
|
40
41
|
return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
|
|
41
42
|
};
|
|
@@ -46,7 +47,7 @@ const Scroller = (0, _system.styled)('div', {
|
|
|
46
47
|
const {
|
|
47
48
|
ownerState
|
|
48
49
|
} = props;
|
|
49
|
-
return [styles.virtualScroller, ownerState.
|
|
50
|
+
return [styles.virtualScroller, ownerState.hasScrollX && styles['virtualScroller--hasScrollX']];
|
|
50
51
|
}
|
|
51
52
|
})({
|
|
52
53
|
position: 'relative',
|
|
@@ -65,17 +66,22 @@ const Scroller = (0, _system.styled)('div', {
|
|
|
65
66
|
// See https://github.com/mui/mui-x/issues/10547
|
|
66
67
|
zIndex: 0
|
|
67
68
|
});
|
|
69
|
+
const hasPinnedRightSelector = state => state.dimensions.rightPinnedWidth > 0;
|
|
68
70
|
function GridVirtualScroller(props) {
|
|
69
71
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
70
72
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
71
|
-
const
|
|
73
|
+
const hasScrollY = (0, _useGridSelector.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHasScrollYSelector);
|
|
74
|
+
const hasScrollX = (0, _useGridSelector.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHasScrollXSelector);
|
|
75
|
+
const hasPinnedRight = (0, _useGridSelector.useGridSelector)(apiRef, hasPinnedRightSelector);
|
|
76
|
+
const hasBottomFiller = (0, _useGridSelector.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHasBottomFillerSelector);
|
|
72
77
|
const {
|
|
73
78
|
getOverlay,
|
|
74
79
|
overlaysProps
|
|
75
80
|
} = (0, _useGridOverlays.useGridOverlays)();
|
|
76
81
|
const ownerState = {
|
|
77
82
|
classes: rootProps.classes,
|
|
78
|
-
|
|
83
|
+
hasScrollX,
|
|
84
|
+
hasPinnedRight,
|
|
79
85
|
loadingOverlayVariant: overlaysProps.loadingOverlayVariant
|
|
80
86
|
};
|
|
81
87
|
const classes = useUtilityClasses(ownerState);
|
|
@@ -87,18 +93,19 @@ function GridVirtualScroller(props) {
|
|
|
87
93
|
getRenderZoneProps,
|
|
88
94
|
getScrollbarVerticalProps,
|
|
89
95
|
getScrollbarHorizontalProps,
|
|
90
|
-
getRows
|
|
96
|
+
getRows,
|
|
97
|
+
getScrollAreaProps
|
|
91
98
|
} = virtualScroller;
|
|
92
99
|
const rows = getRows();
|
|
93
100
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_GridMainContainer.GridMainContainer, (0, _extends2.default)({
|
|
94
101
|
className: classes.root
|
|
95
102
|
}, getContainerProps(), {
|
|
96
103
|
ownerState: ownerState,
|
|
97
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollArea.GridScrollArea, {
|
|
104
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollArea.GridScrollArea, (0, _extends2.default)({
|
|
98
105
|
scrollDirection: "left"
|
|
99
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollArea.GridScrollArea, {
|
|
106
|
+
}, getScrollAreaProps())), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollArea.GridScrollArea, (0, _extends2.default)({
|
|
100
107
|
scrollDirection: "right"
|
|
101
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Scroller, (0, _extends2.default)({
|
|
108
|
+
}, getScrollAreaProps())), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Scroller, (0, _extends2.default)({
|
|
102
109
|
className: classes.scroller
|
|
103
110
|
}, getScrollerProps(), {
|
|
104
111
|
ownerState: ownerState,
|
|
@@ -113,7 +120,7 @@ function GridVirtualScroller(props) {
|
|
|
113
120
|
virtualScroller: virtualScroller
|
|
114
121
|
})]
|
|
115
122
|
}))
|
|
116
|
-
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollerFiller.GridVirtualScrollerFiller, {
|
|
123
|
+
})), hasBottomFiller && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollerFiller.GridVirtualScrollerFiller, {
|
|
117
124
|
rowsLength: rows.length
|
|
118
125
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridBottomContainer.GridBottomContainer, {
|
|
119
126
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pinnedRows, {
|
|
@@ -121,9 +128,9 @@ function GridVirtualScroller(props) {
|
|
|
121
128
|
virtualScroller: virtualScroller
|
|
122
129
|
})
|
|
123
130
|
})]
|
|
124
|
-
})),
|
|
131
|
+
})), hasScrollX && !rootProps.unstable_listView && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
|
|
125
132
|
position: "horizontal"
|
|
126
|
-
}, getScrollbarHorizontalProps())),
|
|
133
|
+
}, getScrollbarHorizontalProps())), hasScrollY && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollbar.GridVirtualScrollbar, (0, _extends2.default)({
|
|
127
134
|
position: "vertical"
|
|
128
135
|
}, getScrollbarVerticalProps())), props.children]
|
|
129
136
|
}));
|
package/node/constants/index.js
CHANGED
|
@@ -35,4 +35,15 @@ Object.keys(_gridClasses).forEach(function (key) {
|
|
|
35
35
|
return _gridClasses[key];
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
|
+
});
|
|
39
|
+
var _signature = require("./signature");
|
|
40
|
+
Object.keys(_signature).forEach(function (key) {
|
|
41
|
+
if (key === "default" || key === "__esModule") return;
|
|
42
|
+
if (key in exports && exports[key] === _signature[key]) return;
|
|
43
|
+
Object.defineProperty(exports, key, {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () {
|
|
46
|
+
return _signature[key];
|
|
47
|
+
}
|
|
48
|
+
});
|
|
38
49
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.GridSignature = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Signal to the underlying logic what version of the public component API
|
|
9
|
+
* of the Data Grid is exposed.
|
|
10
|
+
*/
|
|
11
|
+
let GridSignature = exports.GridSignature = /*#__PURE__*/function (GridSignature) {
|
|
12
|
+
GridSignature["DataGrid"] = "DataGrid";
|
|
13
|
+
GridSignature["DataGridPro"] = "DataGridPro";
|
|
14
|
+
GridSignature["DataGridPremium"] = "DataGridPremium";
|
|
15
|
+
return GridSignature;
|
|
16
|
+
}({});
|
|
@@ -7,20 +7,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.useGridRegisterPipeProcessor = void 0;
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _useFirstRender = require("../../utils/useFirstRender");
|
|
10
|
-
const useGridRegisterPipeProcessor = (apiRef, group, callback) => {
|
|
10
|
+
const useGridRegisterPipeProcessor = (apiRef, group, callback, enabled = true) => {
|
|
11
11
|
const cleanup = React.useRef(null);
|
|
12
12
|
const id = React.useRef(`mui-${Math.round(Math.random() * 1e9)}`);
|
|
13
13
|
const registerPreProcessor = React.useCallback(() => {
|
|
14
14
|
cleanup.current = apiRef.current.registerPipeProcessor(group, id.current, callback);
|
|
15
15
|
}, [apiRef, callback, group]);
|
|
16
16
|
(0, _useFirstRender.useFirstRender)(() => {
|
|
17
|
-
|
|
17
|
+
if (enabled) {
|
|
18
|
+
registerPreProcessor();
|
|
19
|
+
}
|
|
18
20
|
});
|
|
19
21
|
const isFirstRender = React.useRef(true);
|
|
20
22
|
React.useEffect(() => {
|
|
21
23
|
if (isFirstRender.current) {
|
|
22
24
|
isFirstRender.current = false;
|
|
23
|
-
} else {
|
|
25
|
+
} else if (enabled) {
|
|
24
26
|
registerPreProcessor();
|
|
25
27
|
}
|
|
26
28
|
return () => {
|
|
@@ -29,6 +31,6 @@ const useGridRegisterPipeProcessor = (apiRef, group, callback) => {
|
|
|
29
31
|
cleanup.current = null;
|
|
30
32
|
}
|
|
31
33
|
};
|
|
32
|
-
}, [registerPreProcessor]);
|
|
34
|
+
}, [registerPreProcessor, enabled]);
|
|
33
35
|
};
|
|
34
36
|
exports.useGridRegisterPipeProcessor = useGridRegisterPipeProcessor;
|
|
@@ -10,7 +10,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _EventManager = require("@mui/x-internals/EventManager");
|
|
11
11
|
var _Store = require("../../utils/Store");
|
|
12
12
|
var _useGridApiMethod = require("../utils/useGridApiMethod");
|
|
13
|
-
var
|
|
13
|
+
var _signature = require("../../constants/signature");
|
|
14
14
|
const SYMBOL_API_PRIVATE = Symbol('mui.api_private');
|
|
15
15
|
const isSyntheticEvent = event => {
|
|
16
16
|
return event.isPropagationStopped !== undefined;
|
|
@@ -90,7 +90,7 @@ function useGridApiInitialization(inputApiRef, props) {
|
|
|
90
90
|
if (isSyntheticEvent(event) && event.isPropagationStopped()) {
|
|
91
91
|
return;
|
|
92
92
|
}
|
|
93
|
-
const details = props.signature ===
|
|
93
|
+
const details = props.signature === _signature.GridSignature.DataGridPro || props.signature === _signature.GridSignature.DataGridPremium ? {
|
|
94
94
|
api: privateApiRef.current.getPublicApi()
|
|
95
95
|
} : {};
|
|
96
96
|
privateApiRef.current.eventManager.emit(name, params, event, details);
|
|
@@ -12,7 +12,6 @@ var _utils = require("../utils");
|
|
|
12
12
|
var _utils2 = require("../../utils/utils");
|
|
13
13
|
const useGridStateInitialization = apiRef => {
|
|
14
14
|
const controlStateMapRef = React.useRef({});
|
|
15
|
-
const [, rawForceUpdate] = React.useState();
|
|
16
15
|
const registerControlState = React.useCallback(controlStateItem => {
|
|
17
16
|
controlStateMapRef.current[controlStateItem.stateId] = controlStateItem;
|
|
18
17
|
}, []);
|
|
@@ -87,7 +86,9 @@ const useGridStateInitialization = apiRef => {
|
|
|
87
86
|
});
|
|
88
87
|
}, reason);
|
|
89
88
|
}, [apiRef]);
|
|
90
|
-
const forceUpdate = React.useCallback(() =>
|
|
89
|
+
const forceUpdate = React.useCallback(() => {
|
|
90
|
+
// @deprecated - do nothing
|
|
91
|
+
}, []);
|
|
91
92
|
const publicStateApi = {
|
|
92
93
|
setState,
|
|
93
94
|
forceUpdate
|
|
@@ -15,7 +15,7 @@ var _useGridRootProps = require("../../utils/useGridRootProps");
|
|
|
15
15
|
var _useGridPrivateApiContext = require("../../utils/useGridPrivateApiContext");
|
|
16
16
|
var _useGridApiEventHandler = require("../../utils/useGridApiEventHandler");
|
|
17
17
|
var _GridColumnHeaderItem = require("../../../components/columnHeaders/GridColumnHeaderItem");
|
|
18
|
-
var
|
|
18
|
+
var _gridDimensionsSelectors = require("../dimensions/gridDimensionsSelectors");
|
|
19
19
|
var _virtualization = require("../virtualization");
|
|
20
20
|
var _useGridVirtualScroller = require("../virtualization/useGridVirtualScroller");
|
|
21
21
|
var _GridColumnGroupHeader = require("../../../components/columnHeaders/GridColumnGroupHeader");
|
|
@@ -54,19 +54,17 @@ const useGridColumnHeaders = props => {
|
|
|
54
54
|
const [resizeCol, setResizeCol] = React.useState('');
|
|
55
55
|
const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
|
|
56
56
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
57
|
-
const dimensions = (0, _utils.useGridSelector)(apiRef, _dimensions.gridDimensionsSelector);
|
|
58
57
|
const columnGroupsModel = (0, _utils.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsUnwrappedModelSelector);
|
|
59
58
|
const columnPositions = (0, _utils.useGridSelector)(apiRef, _columns.gridColumnPositionsSelector);
|
|
60
59
|
const renderContext = (0, _utils.useGridSelector)(apiRef, _virtualization.gridRenderContextColumnsSelector);
|
|
61
60
|
const pinnedColumns = (0, _utils.useGridSelector)(apiRef, _columns.gridVisiblePinnedColumnDefinitionsSelector);
|
|
62
61
|
const columnsLookup = (0, _utils.useGridSelector)(apiRef, _columns.gridColumnLookupSelector);
|
|
63
62
|
const offsetLeft = (0, _useGridVirtualScroller.computeOffsetLeft)(columnPositions, renderContext, pinnedColumns.left.length);
|
|
64
|
-
const
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}, [apiRef]);
|
|
63
|
+
const columnsTotalWidth = (0, _utils.useGridSelector)(apiRef, _gridDimensionsSelectors.gridColumnsTotalWidthSelector);
|
|
64
|
+
const gridHasFiller = (0, _utils.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHasFillerSelector);
|
|
65
|
+
const headerHeight = (0, _utils.useGridSelector)(apiRef, _gridDimensionsSelectors.gridHeaderHeightSelector);
|
|
66
|
+
const groupHeaderHeight = (0, _utils.useGridSelector)(apiRef, _gridDimensionsSelectors.gridGroupHeaderHeightSelector);
|
|
67
|
+
const scrollbarWidth = (0, _utils.useGridSelector)(apiRef, _gridDimensionsSelectors.gridVerticalScrollbarWidthSelector);
|
|
70
68
|
const handleColumnResizeStart = React.useCallback(params => setResizeCol(params.field), []);
|
|
71
69
|
const handleColumnResizeStop = React.useCallback(() => setResizeCol(''), []);
|
|
72
70
|
const handleColumnReorderStart = React.useCallback(params => setDragCol(params.field), []);
|
|
@@ -138,8 +136,7 @@ const useGridColumnHeaders = props => {
|
|
|
138
136
|
const hasFocus = columnHeaderFocus !== null && columnHeaderFocus.field === colDef.field;
|
|
139
137
|
const open = columnMenuState.open && columnMenuState.field === colDef.field;
|
|
140
138
|
const pinnedPosition = params?.position;
|
|
141
|
-
const
|
|
142
|
-
const pinnedOffset = (0, _getPinnedCellOffset.getPinnedCellOffset)(pinnedPosition, colDef.computedWidth, columnIndex, columnPositions, dimensions.columnsTotalWidth, scrollbarWidth);
|
|
139
|
+
const pinnedOffset = (0, _getPinnedCellOffset.getPinnedCellOffset)(pinnedPosition, colDef.computedWidth, columnIndex, columnPositions, columnsTotalWidth, scrollbarWidth);
|
|
143
140
|
const siblingWithBorderingSeparator = pinnedPosition === _constants.PinnedColumnPosition.RIGHT ? renderedColumns[i - 1] : renderedColumns[i + 1];
|
|
144
141
|
const isSiblingFocused = siblingWithBorderingSeparator ? columnHeaderFocus !== null && columnHeaderFocus.field === siblingWithBorderingSeparator.field : false;
|
|
145
142
|
const isLastUnpinned = columnIndex + 1 === columnPositions.length - pinnedColumns.right.length;
|
|
@@ -150,7 +147,7 @@ const useGridColumnHeaders = props => {
|
|
|
150
147
|
columns.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_GridColumnHeaderItem.GridColumnHeaderItem, (0, _extends2.default)({}, sortColumnLookup[colDef.field], {
|
|
151
148
|
columnMenuOpen: open,
|
|
152
149
|
filterItemsCounter: filterColumnLookup[colDef.field] && filterColumnLookup[colDef.field].length,
|
|
153
|
-
headerHeight:
|
|
150
|
+
headerHeight: headerHeight,
|
|
154
151
|
isDragging: colDef.field === dragCol,
|
|
155
152
|
colDef: colDef,
|
|
156
153
|
colIndex: columnIndex,
|
|
@@ -242,8 +239,7 @@ const useGridColumnHeaders = props => {
|
|
|
242
239
|
tabIndex
|
|
243
240
|
};
|
|
244
241
|
const pinnedPosition = params.position;
|
|
245
|
-
const
|
|
246
|
-
const pinnedOffset = (0, _getPinnedCellOffset.getPinnedCellOffset)(pinnedPosition, headerInfo.width, columnIndex, columnPositions, dimensions.columnsTotalWidth, scrollbarWidth);
|
|
242
|
+
const pinnedOffset = (0, _getPinnedCellOffset.getPinnedCellOffset)(pinnedPosition, headerInfo.width, columnIndex, columnPositions, columnsTotalWidth, scrollbarWidth);
|
|
247
243
|
columnIndex += columnFields.length;
|
|
248
244
|
let indexInSection = index;
|
|
249
245
|
if (pinnedPosition === _constants.PinnedColumnPosition.LEFT) {
|
|
@@ -258,7 +254,7 @@ const useGridColumnHeaders = props => {
|
|
|
258
254
|
depth: depth,
|
|
259
255
|
isLastColumn: index === visibleColumnGroupHeader.length - 1,
|
|
260
256
|
maxDepth: headerGroupingMaxDepth,
|
|
261
|
-
height:
|
|
257
|
+
height: groupHeaderHeight,
|
|
262
258
|
hasFocus: hasFocus,
|
|
263
259
|
tabIndex: tabIndex,
|
|
264
260
|
pinnedPosition: pinnedPosition,
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.gridVisiblePinnedColumnDefinitionsSelector = exports.gridVisibleColumnFieldsSelector = exports.gridVisibleColumnDefinitionsSelector = exports.gridPinnedColumnsSelector = exports.gridHasColSpanSelector = exports.gridFilterableColumnLookupSelector = exports.gridFilterableColumnDefinitionsSelector = exports.
|
|
6
|
+
exports.gridVisiblePinnedColumnDefinitionsSelector = exports.gridVisibleColumnFieldsSelector = exports.gridVisibleColumnDefinitionsSelector = exports.gridPinnedColumnsSelector = exports.gridHasColSpanSelector = exports.gridFilterableColumnLookupSelector = exports.gridFilterableColumnDefinitionsSelector = exports.gridColumnsStateSelector = exports.gridColumnVisibilityModelSelector = exports.gridColumnPositionsSelector = exports.gridColumnLookupSelector = exports.gridColumnFieldsSelector = exports.gridColumnDefinitionsSelector = void 0;
|
|
7
7
|
var _createSelector = require("../../../utils/createSelector");
|
|
8
8
|
var _gridColumnsInterfaces = require("./gridColumnsInterfaces");
|
|
9
9
|
var _gridCoreSelector = require("../../core/gridCoreSelector");
|
|
@@ -114,18 +114,6 @@ const gridColumnPositionsSelector = exports.gridColumnPositionsSelector = (0, _c
|
|
|
114
114
|
return positions;
|
|
115
115
|
});
|
|
116
116
|
|
|
117
|
-
/**
|
|
118
|
-
* Get the summed width of all the visible columns.
|
|
119
|
-
* @category Visible Columns
|
|
120
|
-
*/
|
|
121
|
-
const gridColumnsTotalWidthSelector = exports.gridColumnsTotalWidthSelector = (0, _createSelector.createSelector)(gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector, (visibleColumns, positions) => {
|
|
122
|
-
const colCount = visibleColumns.length;
|
|
123
|
-
if (colCount === 0) {
|
|
124
|
-
return 0;
|
|
125
|
-
}
|
|
126
|
-
return positions[colCount - 1] + visibleColumns[colCount - 1].computedWidth;
|
|
127
|
-
});
|
|
128
|
-
|
|
129
117
|
/**
|
|
130
118
|
* Get the filterable columns as an array.
|
|
131
119
|
* @category Columns
|
|
@@ -12,6 +12,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
12
12
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
13
13
|
var _useGridLogger = require("../../utils/useGridLogger");
|
|
14
14
|
var _gridColumnsSelector = require("./gridColumnsSelector");
|
|
15
|
+
var _signature = require("../../../constants/signature");
|
|
15
16
|
var _useGridApiEventHandler = require("../../utils/useGridApiEventHandler");
|
|
16
17
|
var _pipeProcessing = require("../../core/pipeProcessing");
|
|
17
18
|
var _gridColumnsInterfaces = require("./gridColumnsInterfaces");
|
|
@@ -166,7 +167,7 @@ function useGridColumns(apiRef, props) {
|
|
|
166
167
|
setColumnIndex
|
|
167
168
|
};
|
|
168
169
|
(0, _useGridApiMethod.useGridApiMethod)(apiRef, columnApi, 'public');
|
|
169
|
-
(0, _useGridApiMethod.useGridApiMethod)(apiRef, columnReorderApi, props.signature ===
|
|
170
|
+
(0, _useGridApiMethod.useGridApiMethod)(apiRef, columnReorderApi, props.signature === _signature.GridSignature.DataGrid ? 'private' : 'public');
|
|
170
171
|
|
|
171
172
|
/**
|
|
172
173
|
* PRE-PROCESSING
|
|
@@ -3,6 +3,42 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.gridDimensionsSelector = void 0;
|
|
6
|
+
exports.gridVerticalScrollbarWidthSelector = exports.gridRowHeightSelector = exports.gridHorizontalScrollbarHeightSelector = exports.gridHeaderHeightSelector = exports.gridHeaderFilterHeightSelector = exports.gridHasScrollYSelector = exports.gridHasScrollXSelector = exports.gridHasFillerSelector = exports.gridHasBottomFillerSelector = exports.gridGroupHeaderHeightSelector = exports.gridDimensionsSelector = exports.gridContentHeightSelector = exports.gridColumnsTotalWidthSelector = void 0;
|
|
7
|
+
var _createSelector = require("../../../utils/createSelector");
|
|
7
8
|
const gridDimensionsSelector = state => state.dimensions;
|
|
8
|
-
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Get the summed width of all the visible columns.
|
|
12
|
+
* @category Visible Columns
|
|
13
|
+
*/
|
|
14
|
+
exports.gridDimensionsSelector = gridDimensionsSelector;
|
|
15
|
+
const gridColumnsTotalWidthSelector = exports.gridColumnsTotalWidthSelector = (0, _createSelector.createSelector)(gridDimensionsSelector, dimensions => dimensions.columnsTotalWidth);
|
|
16
|
+
const gridRowHeightSelector = state => state.dimensions.rowHeight;
|
|
17
|
+
exports.gridRowHeightSelector = gridRowHeightSelector;
|
|
18
|
+
const gridContentHeightSelector = state => state.dimensions.contentSize.height;
|
|
19
|
+
exports.gridContentHeightSelector = gridContentHeightSelector;
|
|
20
|
+
const gridHasScrollXSelector = state => state.dimensions.hasScrollX;
|
|
21
|
+
exports.gridHasScrollXSelector = gridHasScrollXSelector;
|
|
22
|
+
const gridHasScrollYSelector = state => state.dimensions.hasScrollY;
|
|
23
|
+
exports.gridHasScrollYSelector = gridHasScrollYSelector;
|
|
24
|
+
const gridHasFillerSelector = state => state.dimensions.columnsTotalWidth < state.dimensions.viewportOuterSize.width;
|
|
25
|
+
exports.gridHasFillerSelector = gridHasFillerSelector;
|
|
26
|
+
const gridHeaderHeightSelector = state => state.dimensions.headerHeight;
|
|
27
|
+
exports.gridHeaderHeightSelector = gridHeaderHeightSelector;
|
|
28
|
+
const gridGroupHeaderHeightSelector = state => state.dimensions.groupHeaderHeight;
|
|
29
|
+
exports.gridGroupHeaderHeightSelector = gridGroupHeaderHeightSelector;
|
|
30
|
+
const gridHeaderFilterHeightSelector = state => state.dimensions.headerFilterHeight;
|
|
31
|
+
exports.gridHeaderFilterHeightSelector = gridHeaderFilterHeightSelector;
|
|
32
|
+
const gridVerticalScrollbarWidthSelector = state => state.dimensions.hasScrollY ? state.dimensions.scrollbarSize : 0;
|
|
33
|
+
exports.gridVerticalScrollbarWidthSelector = gridVerticalScrollbarWidthSelector;
|
|
34
|
+
const gridHorizontalScrollbarHeightSelector = state => state.dimensions.hasScrollX ? state.dimensions.scrollbarSize : 0;
|
|
35
|
+
exports.gridHorizontalScrollbarHeightSelector = gridHorizontalScrollbarHeightSelector;
|
|
36
|
+
const gridHasBottomFillerSelector = state => {
|
|
37
|
+
const height = state.dimensions.hasScrollX ? state.dimensions.scrollbarSize : 0;
|
|
38
|
+
const needsLastRowBorder = state.dimensions.viewportOuterSize.height - state.dimensions.minimumSize.height > 0;
|
|
39
|
+
if (height === 0 && !needsLastRowBorder) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
return true;
|
|
43
|
+
};
|
|
44
|
+
exports.gridHasBottomFillerSelector = gridHasBottomFillerSelector;
|
|
@@ -3,14 +3,16 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
6
|
+
Object.defineProperty(exports, "gridColumnsTotalWidthSelector", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _gridDimensionsSelectors.gridColumnsTotalWidthSelector;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "gridDimensionsSelector", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _gridDimensionsSelectors.gridDimensionsSelector;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
var _gridDimensionsSelectors = require("./gridDimensionsSelectors");
|