@mui/x-data-grid 7.9.0 → 7.11.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 +159 -0
- package/DataGrid/DataGrid.js +1 -0
- package/DataGrid/useDataGridProps.js +21 -20
- package/components/base/GridOverlays.js +1 -1
- package/components/containers/GridRoot.js +4 -16
- package/components/panel/GridPanel.d.ts +1 -1
- package/components/panel/GridPanel.js +4 -1
- package/components/panel/filterPanel/GridFilterForm.js +1 -12
- package/components/panel/filterPanel/GridFilterInputMultipleValue.d.ts +1 -1
- package/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
- package/components/virtualization/GridMainContainer.js +11 -3
- package/components/virtualization/GridVirtualScroller.js +3 -1
- package/components/virtualization/GridVirtualScrollerFiller.d.ts +5 -1
- package/components/virtualization/GridVirtualScrollerFiller.js +9 -6
- package/hooks/core/useGridApiInitialization.js +1 -1
- package/hooks/features/columnResize/useGridColumnResize.js +1 -0
- package/hooks/features/editing/gridEditingSelectors.d.ts +3 -0
- package/hooks/features/editing/gridEditingSelectors.js +3 -1
- package/hooks/features/editing/index.d.ts +1 -0
- package/hooks/features/editing/index.js +1 -0
- package/hooks/features/filter/gridFilterSelector.d.ts +11 -0
- package/hooks/features/filter/gridFilterSelector.js +13 -0
- package/hooks/features/index.d.ts +1 -0
- package/hooks/features/index.js +1 -0
- package/hooks/features/virtualization/useGridVirtualScroller.js +3 -11
- package/hooks/utils/useGridApiEventHandler.d.ts +1 -1
- package/index.js +1 -1
- package/locales/esES.js +1 -2
- package/locales/ruRU.js +4 -5
- package/models/api/gridCoreApi.d.ts +1 -1
- package/models/api/gridRowSelectionApi.d.ts +2 -2
- package/models/colDef/gridColDef.d.ts +4 -4
- package/models/gridRowSelectionModel.d.ts +2 -2
- package/models/props/DataGridProps.d.ts +5 -4
- package/modern/DataGrid/DataGrid.js +1 -0
- package/modern/DataGrid/useDataGridProps.js +21 -20
- package/modern/components/base/GridOverlays.js +1 -1
- package/modern/components/containers/GridRoot.js +4 -16
- package/modern/components/panel/GridPanel.js +4 -1
- package/modern/components/panel/filterPanel/GridFilterForm.js +1 -12
- package/modern/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
- package/modern/components/virtualization/GridMainContainer.js +11 -3
- package/modern/components/virtualization/GridVirtualScroller.js +3 -1
- package/modern/components/virtualization/GridVirtualScrollerFiller.js +9 -6
- package/modern/hooks/core/useGridApiInitialization.js +1 -1
- package/modern/hooks/features/columnResize/useGridColumnResize.js +1 -0
- package/modern/hooks/features/editing/gridEditingSelectors.js +3 -1
- package/modern/hooks/features/editing/index.js +1 -0
- package/modern/hooks/features/filter/gridFilterSelector.js +13 -0
- package/modern/hooks/features/index.js +1 -0
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +3 -11
- package/modern/index.js +1 -1
- package/modern/locales/esES.js +1 -2
- package/modern/locales/ruRU.js +4 -5
- package/modern/utils/createSelector.js +2 -2
- package/node/DataGrid/DataGrid.js +1 -0
- package/node/DataGrid/useDataGridProps.js +21 -20
- package/node/components/base/GridOverlays.js +1 -1
- package/node/components/containers/GridRoot.js +3 -15
- package/node/components/panel/GridPanel.js +4 -1
- package/node/components/panel/filterPanel/GridFilterForm.js +1 -12
- package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
- package/node/components/virtualization/GridMainContainer.js +10 -2
- package/node/components/virtualization/GridVirtualScroller.js +3 -1
- package/node/components/virtualization/GridVirtualScrollerFiller.js +9 -6
- package/node/hooks/core/useGridApiInitialization.js +1 -1
- package/node/hooks/features/columnResize/useGridColumnResize.js +1 -0
- package/node/hooks/features/editing/gridEditingSelectors.js +3 -1
- package/node/hooks/features/editing/index.js +16 -0
- package/node/hooks/features/filter/gridFilterSelector.js +14 -1
- package/node/hooks/features/index.js +11 -0
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +3 -11
- package/node/index.js +1 -1
- package/node/locales/esES.js +1 -2
- package/node/locales/ruRU.js +4 -5
- package/node/utils/createSelector.js +2 -2
- package/package.json +5 -5
- package/utils/createSelector.d.ts +1 -1
- package/utils/createSelector.js +2 -2
- package/modern/utils/EventManager.js +0 -69
- package/node/utils/EventManager.js +0 -76
- package/utils/EventManager.d.ts +0 -29
- package/utils/EventManager.js +0 -69
|
@@ -11,7 +11,6 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
12
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
13
|
var _utils = require("@mui/utils");
|
|
14
|
-
var _system = require("@mui/system");
|
|
15
14
|
var _GridRootStyles = require("./GridRootStyles");
|
|
16
15
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
17
16
|
var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
|
|
@@ -19,7 +18,7 @@ var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
|
19
18
|
var _gridClasses = require("../../constants/gridClasses");
|
|
20
19
|
var _densitySelector = require("../../hooks/features/density/densitySelector");
|
|
21
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
const _excluded = ["
|
|
21
|
+
const _excluded = ["className"];
|
|
23
22
|
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); }
|
|
24
23
|
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 && {}.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; }
|
|
25
24
|
const useUtilityClasses = ownerState => {
|
|
@@ -34,15 +33,9 @@ const useUtilityClasses = ownerState => {
|
|
|
34
33
|
};
|
|
35
34
|
return (0, _utils.unstable_composeClasses)(slots, _gridClasses.getDataGridUtilityClass, classes);
|
|
36
35
|
};
|
|
37
|
-
const GridPanelAnchor = (0, _system.styled)('div')({
|
|
38
|
-
position: 'absolute',
|
|
39
|
-
top: `var(--DataGrid-headersTotalHeight)`,
|
|
40
|
-
left: 0
|
|
41
|
-
});
|
|
42
36
|
const GridRoot = exports.GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
|
|
43
37
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
44
38
|
const {
|
|
45
|
-
children,
|
|
46
39
|
className
|
|
47
40
|
} = props,
|
|
48
41
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
@@ -63,16 +56,11 @@ const GridRoot = exports.GridRoot = /*#__PURE__*/React.forwardRef(function GridR
|
|
|
63
56
|
if (!mountedState) {
|
|
64
57
|
return null;
|
|
65
58
|
}
|
|
66
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
59
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridRootStyles.GridRootStyles, (0, _extends2.default)({
|
|
67
60
|
ref: handleRef,
|
|
68
61
|
className: (0, _clsx.default)(className, classes.root),
|
|
69
62
|
ownerState: ownerState
|
|
70
|
-
}, other
|
|
71
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(GridPanelAnchor, {
|
|
72
|
-
role: "presentation",
|
|
73
|
-
"data-id": "gridPanelAnchor"
|
|
74
|
-
}), children]
|
|
75
|
-
}));
|
|
63
|
+
}, other));
|
|
76
64
|
});
|
|
77
65
|
process.env.NODE_ENV !== "production" ? GridRoot.propTypes = {
|
|
78
66
|
// ----------------------------- Warning --------------------------------
|
|
@@ -66,7 +66,10 @@ const GridPanel = exports.GridPanel = /*#__PURE__*/React.forwardRef((props, ref)
|
|
|
66
66
|
}, [apiRef]);
|
|
67
67
|
const modifiers = React.useMemo(() => [{
|
|
68
68
|
name: 'flip',
|
|
69
|
-
enabled:
|
|
69
|
+
enabled: true,
|
|
70
|
+
options: {
|
|
71
|
+
rootBoundary: 'document'
|
|
72
|
+
}
|
|
70
73
|
}, {
|
|
71
74
|
name: 'isPlaced',
|
|
72
75
|
enabled: true,
|
|
@@ -252,18 +252,7 @@ const GridFilterForm = exports.GridFilterForm = /*#__PURE__*/React.forwardRef(fu
|
|
|
252
252
|
applyMultiFilterOperatorChanges(logicOperator);
|
|
253
253
|
}, [applyMultiFilterOperatorChanges]);
|
|
254
254
|
const handleDeleteFilter = () => {
|
|
255
|
-
|
|
256
|
-
if (item.value === undefined) {
|
|
257
|
-
deleteFilter(item);
|
|
258
|
-
} else {
|
|
259
|
-
// TODO v6: simplify the behavior by always remove the filter form
|
|
260
|
-
applyFilterChanges((0, _extends2.default)({}, item, {
|
|
261
|
-
value: undefined
|
|
262
|
-
}));
|
|
263
|
-
}
|
|
264
|
-
} else {
|
|
265
|
-
deleteFilter(item);
|
|
266
|
-
}
|
|
255
|
+
deleteFilter(item);
|
|
267
256
|
};
|
|
268
257
|
React.useImperativeHandle(focusElementRef, () => ({
|
|
269
258
|
focus: () => {
|
|
@@ -27,7 +27,7 @@ function GridFilterInputMultipleValue(props) {
|
|
|
27
27
|
error,
|
|
28
28
|
helperText,
|
|
29
29
|
size,
|
|
30
|
-
variant
|
|
30
|
+
variant = 'standard'
|
|
31
31
|
} = props,
|
|
32
32
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
33
33
|
const TextFieldProps = {
|
|
@@ -97,5 +97,5 @@ process.env.NODE_ENV !== "production" ? GridFilterInputMultipleValue.propTypes =
|
|
|
97
97
|
operator: _propTypes.default.string.isRequired,
|
|
98
98
|
value: _propTypes.default.any
|
|
99
99
|
}).isRequired,
|
|
100
|
-
type: _propTypes.default.oneOf(['number', 'text'])
|
|
100
|
+
type: _propTypes.default.oneOf(['date', 'datetime-local', 'number', 'text'])
|
|
101
101
|
} : void 0;
|
|
@@ -13,6 +13,11 @@ var _useGridAriaAttributes = require("../../hooks/utils/useGridAriaAttributes");
|
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
14
|
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); }
|
|
15
15
|
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 && {}.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; }
|
|
16
|
+
const GridPanelAnchor = (0, _system.styled)('div')({
|
|
17
|
+
position: 'absolute',
|
|
18
|
+
top: `var(--DataGrid-headersTotalHeight)`,
|
|
19
|
+
left: 0
|
|
20
|
+
});
|
|
16
21
|
const Element = (0, _system.styled)('div', {
|
|
17
22
|
name: 'MuiDataGrid',
|
|
18
23
|
slot: 'Main',
|
|
@@ -25,12 +30,15 @@ const Element = (0, _system.styled)('div', {
|
|
|
25
30
|
const GridMainContainer = exports.GridMainContainer = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
26
31
|
const ariaAttributes = (0, _useGridAriaAttributes.useGridAriaAttributes)();
|
|
27
32
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
28
|
-
return /*#__PURE__*/(0, _jsxRuntime.
|
|
33
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Element, (0, _extends2.default)({
|
|
29
34
|
ref: ref,
|
|
30
35
|
ownerState: rootProps,
|
|
31
36
|
className: props.className,
|
|
32
37
|
tabIndex: -1
|
|
33
38
|
}, ariaAttributes, {
|
|
34
|
-
children:
|
|
39
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(GridPanelAnchor, {
|
|
40
|
+
role: "presentation",
|
|
41
|
+
"data-id": "gridPanelAnchor"
|
|
42
|
+
}), props.children]
|
|
35
43
|
}));
|
|
36
44
|
});
|
|
@@ -96,7 +96,9 @@ function GridVirtualScroller(props) {
|
|
|
96
96
|
virtualScroller: virtualScroller
|
|
97
97
|
})]
|
|
98
98
|
}))
|
|
99
|
-
})),
|
|
99
|
+
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridVirtualScrollerFiller.GridVirtualScrollerFiller, {
|
|
100
|
+
rowsLength: rows.length
|
|
101
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridBottomContainer.GridBottomContainer, {
|
|
100
102
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.pinnedRows, {
|
|
101
103
|
position: "bottom",
|
|
102
104
|
virtualScroller: virtualScroller
|
|
@@ -24,22 +24,24 @@ const Pinned = (0, _system.styled)('div')({
|
|
|
24
24
|
position: 'sticky',
|
|
25
25
|
height: '100%',
|
|
26
26
|
boxSizing: 'border-box',
|
|
27
|
-
borderTop: '1px solid var(--
|
|
27
|
+
borderTop: '1px solid var(--rowBorderColor)',
|
|
28
28
|
backgroundColor: 'var(--DataGrid-pinnedBackground)'
|
|
29
29
|
});
|
|
30
30
|
const PinnedLeft = (0, _system.styled)(Pinned)({
|
|
31
31
|
left: 0,
|
|
32
|
-
borderRight: '1px solid var(--
|
|
32
|
+
borderRight: '1px solid var(--rowBorderColor)'
|
|
33
33
|
});
|
|
34
34
|
const PinnedRight = (0, _system.styled)(Pinned)({
|
|
35
35
|
right: 0,
|
|
36
|
-
borderLeft: '1px solid var(--
|
|
36
|
+
borderLeft: '1px solid var(--rowBorderColor)'
|
|
37
37
|
});
|
|
38
38
|
const Main = (0, _system.styled)('div')({
|
|
39
39
|
flexGrow: 1,
|
|
40
|
-
borderTop: '1px solid var(--
|
|
40
|
+
borderTop: '1px solid var(--rowBorderColor)'
|
|
41
41
|
});
|
|
42
|
-
function GridVirtualScrollerFiller(
|
|
42
|
+
function GridVirtualScrollerFiller({
|
|
43
|
+
rowsLength
|
|
44
|
+
}) {
|
|
43
45
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
44
46
|
const {
|
|
45
47
|
viewportOuterSize,
|
|
@@ -60,7 +62,8 @@ function GridVirtualScrollerFiller() {
|
|
|
60
62
|
className: _constants.gridClasses.filler,
|
|
61
63
|
role: "presentation",
|
|
62
64
|
style: {
|
|
63
|
-
height
|
|
65
|
+
height,
|
|
66
|
+
'--rowBorderColor': rowsLength === 0 ? 'transparent' : 'var(--DataGrid-rowBorderColor)'
|
|
64
67
|
},
|
|
65
68
|
children: [leftPinnedWidth > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(PinnedLeft, {
|
|
66
69
|
className: _constants.gridClasses['filler--pinnedLeft'],
|
|
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.unwrapPrivateAPI = unwrapPrivateAPI;
|
|
7
7
|
exports.useGridApiInitialization = useGridApiInitialization;
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _EventManager = require("@mui/x-internals/EventManager");
|
|
9
10
|
var _Store = require("../../utils/Store");
|
|
10
11
|
var _useGridApiMethod = require("../utils/useGridApiMethod");
|
|
11
12
|
var _useGridApiEventHandler = require("../utils/useGridApiEventHandler");
|
|
12
|
-
var _EventManager = require("../../utils/EventManager");
|
|
13
13
|
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); }
|
|
14
14
|
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 && {}.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; }
|
|
15
15
|
const SYMBOL_API_PRIVATE = Symbol('mui.api_private');
|
|
@@ -277,6 +277,7 @@ const useGridColumnResize = (apiRef, props) => {
|
|
|
277
277
|
// Check if the current event is part of a double-click
|
|
278
278
|
if (nativeEvent.timeStamp - prevTimeStamp < 300 && nativeEvent.clientX === prevClientX && nativeEvent.clientY === prevClientY) {
|
|
279
279
|
refs.previousMouseClickEvent = undefined;
|
|
280
|
+
apiRef.current.publishEvent('columnResizeStop', null, nativeEvent);
|
|
280
281
|
return;
|
|
281
282
|
}
|
|
282
283
|
}
|
|
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.gridEditRowsStateSelector = void 0;
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Select the row editing state.
|
|
9
|
+
*/
|
|
8
10
|
const gridEditRowsStateSelector = state => state.editRows;
|
|
9
11
|
exports.gridEditRowsStateSelector = gridEditRowsStateSelector;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _gridEditingSelectors = require("./gridEditingSelectors");
|
|
7
|
+
Object.keys(_gridEditingSelectors).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _gridEditingSelectors[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _gridEditingSelectors[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.gridVisibleRowsLookupSelector = exports.gridQuickFilterValuesSelector = exports.gridFilteredTopLevelRowCountSelector = exports.gridFilteredSortedTopLevelRowEntriesSelector = exports.gridFilteredSortedRowIdsSelector = exports.gridFilteredSortedRowEntriesSelector = exports.gridFilteredRowsLookupSelector = exports.gridFilteredDescendantCountLookupSelector = exports.gridFilterModelSelector = exports.gridFilterActiveItemsSelector = exports.gridFilterActiveItemsLookupSelector = exports.gridExpandedSortedRowIdsSelector = exports.gridExpandedSortedRowEntriesSelector = exports.gridExpandedRowCountSelector = void 0;
|
|
6
|
+
exports.gridVisibleRowsLookupSelector = exports.gridQuickFilterValuesSelector = exports.gridFilteredTopLevelRowCountSelector = exports.gridFilteredSortedTopLevelRowEntriesSelector = exports.gridFilteredSortedRowIdsSelector = exports.gridFilteredSortedRowEntriesSelector = exports.gridFilteredRowsLookupSelector = exports.gridFilteredRowCountSelector = exports.gridFilteredDescendantRowCountSelector = exports.gridFilteredDescendantCountLookupSelector = exports.gridFilterModelSelector = exports.gridFilterActiveItemsSelector = exports.gridFilterActiveItemsLookupSelector = exports.gridExpandedSortedRowIdsSelector = exports.gridExpandedSortedRowEntriesSelector = exports.gridExpandedRowCountSelector = void 0;
|
|
7
7
|
var _createSelector = require("../../../utils/createSelector");
|
|
8
8
|
var _gridSortingSelector = require("../sorting/gridSortingSelector");
|
|
9
9
|
var _gridColumnsSelector = require("../columns/gridColumnsSelector");
|
|
@@ -95,6 +95,19 @@ const gridExpandedRowCountSelector = exports.gridExpandedRowCountSelector = (0,
|
|
|
95
95
|
*/
|
|
96
96
|
const gridFilteredTopLevelRowCountSelector = exports.gridFilteredTopLevelRowCountSelector = (0, _createSelector.createSelector)(gridFilteredSortedTopLevelRowEntriesSelector, visibleSortedTopLevelRows => visibleSortedTopLevelRows.length);
|
|
97
97
|
|
|
98
|
+
/**
|
|
99
|
+
* Get the amount of rows accessible after the filtering process.
|
|
100
|
+
* Includes top level and descendant rows.
|
|
101
|
+
* @category Filtering
|
|
102
|
+
*/
|
|
103
|
+
const gridFilteredRowCountSelector = exports.gridFilteredRowCountSelector = (0, _createSelector.createSelector)(gridFilteredSortedRowEntriesSelector, filteredSortedRowEntries => filteredSortedRowEntries.length);
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Get the amount of descendant rows accessible after the filtering process.
|
|
107
|
+
* @category Filtering
|
|
108
|
+
*/
|
|
109
|
+
const gridFilteredDescendantRowCountSelector = exports.gridFilteredDescendantRowCountSelector = (0, _createSelector.createSelector)(gridFilteredRowCountSelector, gridFilteredTopLevelRowCountSelector, (totalRowCount, topLevelRowCount) => totalRowCount - topLevelRowCount);
|
|
110
|
+
|
|
98
111
|
/**
|
|
99
112
|
* @category Filtering
|
|
100
113
|
* @ignore - do not document.
|
|
@@ -58,6 +58,17 @@ Object.keys(_density).forEach(function (key) {
|
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
60
|
});
|
|
61
|
+
var _editing = require("./editing");
|
|
62
|
+
Object.keys(_editing).forEach(function (key) {
|
|
63
|
+
if (key === "default" || key === "__esModule") return;
|
|
64
|
+
if (key in exports && exports[key] === _editing[key]) return;
|
|
65
|
+
Object.defineProperty(exports, key, {
|
|
66
|
+
enumerable: true,
|
|
67
|
+
get: function () {
|
|
68
|
+
return _editing[key];
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
61
72
|
var _filter = require("./filter");
|
|
62
73
|
Object.keys(_filter).forEach(function (key) {
|
|
63
74
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -373,20 +373,12 @@ const useGridVirtualScroller = () => {
|
|
|
373
373
|
overflowY: rootProps.autoHeight ? 'hidden' : undefined
|
|
374
374
|
}), [needsHorizontalScrollbar, rootProps.autoHeight]);
|
|
375
375
|
const contentSize = React.useMemo(() => {
|
|
376
|
-
// In cases where the columns exceed the available width,
|
|
377
|
-
// the horizontal scrollbar should be shown even when there're no rows.
|
|
378
|
-
// Keeping 1px as minimum height ensures that the scrollbar will visible if necessary.
|
|
379
|
-
const height = Math.max(contentHeight, 1);
|
|
380
376
|
const size = {
|
|
381
377
|
width: needsHorizontalScrollbar ? columnsTotalWidth : 'auto',
|
|
382
|
-
height
|
|
378
|
+
height: contentHeight
|
|
383
379
|
};
|
|
384
|
-
if (rootProps.autoHeight) {
|
|
385
|
-
|
|
386
|
-
size.height = (0, _gridRowsUtils.getMinimalContentHeight)(apiRef); // Give room to show the overlay when there no rows.
|
|
387
|
-
} else {
|
|
388
|
-
size.height = contentHeight;
|
|
389
|
-
}
|
|
380
|
+
if (rootProps.autoHeight && currentPage.rows.length === 0) {
|
|
381
|
+
size.height = (0, _gridRowsUtils.getMinimalContentHeight)(apiRef); // Give room to show the overlay when there no rows.
|
|
390
382
|
}
|
|
391
383
|
return size;
|
|
392
384
|
}, [apiRef, columnsTotalWidth, contentHeight, needsHorizontalScrollbar, rootProps.autoHeight, currentPage.rows.length]);
|
package/node/index.js
CHANGED
package/node/locales/esES.js
CHANGED
|
@@ -39,8 +39,7 @@ const esESGrid = {
|
|
|
39
39
|
columnsManagementSearchTitle: 'Buscar',
|
|
40
40
|
columnsManagementNoColumns: 'Sin columnas',
|
|
41
41
|
columnsManagementShowHideAllText: 'Mostrar/Ocultar todas',
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
columnsManagementReset: 'Restablecer',
|
|
44
43
|
// Filter panel text
|
|
45
44
|
filterPanelAddFilter: 'Agregar filtro',
|
|
46
45
|
filterPanelRemoveAll: 'Remover todos',
|
package/node/locales/ruRU.js
CHANGED
|
@@ -51,11 +51,10 @@ const ruRUGrid = {
|
|
|
51
51
|
toolbarExportPrint: 'Печать',
|
|
52
52
|
toolbarExportExcel: 'Скачать в формате Excel',
|
|
53
53
|
// Columns management text
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
columnsManagementSearchTitle: 'Поиск',
|
|
55
|
+
columnsManagementNoColumns: 'Нет столбцов',
|
|
56
|
+
columnsManagementShowHideAllText: 'Показать/Скрыть Всё',
|
|
57
|
+
columnsManagementReset: 'Сбросить',
|
|
59
58
|
// Filter panel text
|
|
60
59
|
filterPanelAddFilter: 'Добавить фильтр',
|
|
61
60
|
filterPanelRemoveAll: 'Очистить фильтр',
|
|
@@ -14,8 +14,8 @@ function checkIsAPIRef(value) {
|
|
|
14
14
|
const DEFAULT_INSTANCE_ID = {
|
|
15
15
|
id: 'default'
|
|
16
16
|
};
|
|
17
|
-
const createSelector = (a, b, c, d, e, f, ...
|
|
18
|
-
if (
|
|
17
|
+
const createSelector = (a, b, c, d, e, f, ...other) => {
|
|
18
|
+
if (other.length > 0) {
|
|
19
19
|
throw new Error('Unsupported number of selectors');
|
|
20
20
|
}
|
|
21
21
|
let selector;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-data-grid",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.11.0",
|
|
4
4
|
"description": "The Community plan edition of the Data Grid components (MUI X).",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./node/index.js",
|
|
@@ -37,13 +37,13 @@
|
|
|
37
37
|
"directory": "packages/x-data-grid"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@babel/runtime": "^7.24.
|
|
41
|
-
"@mui/system": "^5.16.
|
|
42
|
-
"@mui/utils": "^5.16.
|
|
40
|
+
"@babel/runtime": "^7.24.8",
|
|
41
|
+
"@mui/system": "^5.16.2",
|
|
42
|
+
"@mui/utils": "^5.16.2",
|
|
43
43
|
"clsx": "^2.1.1",
|
|
44
44
|
"prop-types": "^15.8.1",
|
|
45
45
|
"reselect": "^4.1.8",
|
|
46
|
-
"@mui/x-internals": "7.
|
|
46
|
+
"@mui/x-internals": "7.11.0"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
49
|
"@mui/material": "^5.15.14",
|
|
@@ -14,7 +14,7 @@ type StateFromSelector<T> = T extends (first: infer F, ...args: any[]) => any ?
|
|
|
14
14
|
} ? F2 : F : never;
|
|
15
15
|
type StateFromSelectorList<Selectors extends readonly any[]> = Selectors extends [
|
|
16
16
|
f: infer F,
|
|
17
|
-
...
|
|
17
|
+
...other: infer R
|
|
18
18
|
] ? StateFromSelector<F> extends StateFromSelectorList<R> ? StateFromSelector<F> : StateFromSelectorList<R> : {};
|
|
19
19
|
type SelectorArgs<Selectors extends ReadonlyArray<Selector<any>>, Result> = [selectors: [...Selectors], combiner: (...args: SelectorResultArray<Selectors>) => Result] | [...Selectors, (...args: SelectorResultArray<Selectors>) => Result];
|
|
20
20
|
type CreateSelectorFunction = <Selectors extends ReadonlyArray<Selector<any>>, Result>(...items: SelectorArgs<Selectors, Result>) => OutputSelector<StateFromSelectorList<Selectors>, Result>;
|
package/utils/createSelector.js
CHANGED
|
@@ -8,8 +8,8 @@ function checkIsAPIRef(value) {
|
|
|
8
8
|
const DEFAULT_INSTANCE_ID = {
|
|
9
9
|
id: 'default'
|
|
10
10
|
};
|
|
11
|
-
export const createSelector = (a, b, c, d, e, f, ...
|
|
12
|
-
if (
|
|
11
|
+
export const createSelector = (a, b, c, d, e, f, ...other) => {
|
|
12
|
+
if (other.length > 0) {
|
|
13
13
|
throw new Error('Unsupported number of selectors');
|
|
14
14
|
}
|
|
15
15
|
let selector;
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
// Used https://gist.github.com/mudge/5830382 as a starting point.
|
|
2
|
-
// See https://github.com/browserify/events/blob/master/events.js for
|
|
3
|
-
// the Node.js (https://nodejs.org/api/events.html) polyfill used by webpack.
|
|
4
|
-
export class EventManager {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.maxListeners = 20;
|
|
7
|
-
this.warnOnce = false;
|
|
8
|
-
this.events = {};
|
|
9
|
-
}
|
|
10
|
-
on(eventName, listener, options = {}) {
|
|
11
|
-
let collection = this.events[eventName];
|
|
12
|
-
if (!collection) {
|
|
13
|
-
collection = {
|
|
14
|
-
highPriority: new Map(),
|
|
15
|
-
regular: new Map()
|
|
16
|
-
};
|
|
17
|
-
this.events[eventName] = collection;
|
|
18
|
-
}
|
|
19
|
-
if (options.isFirst) {
|
|
20
|
-
collection.highPriority.set(listener, true);
|
|
21
|
-
} else {
|
|
22
|
-
collection.regular.set(listener, true);
|
|
23
|
-
}
|
|
24
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
25
|
-
const collectionSize = collection.highPriority.size + collection.regular.size;
|
|
26
|
-
if (collectionSize > this.maxListeners && !this.warnOnce) {
|
|
27
|
-
this.warnOnce = true;
|
|
28
|
-
console.warn([`Possible EventEmitter memory leak detected. ${collectionSize} ${eventName} listeners added.`].join('\n'));
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
removeListener(eventName, listener) {
|
|
33
|
-
if (this.events[eventName]) {
|
|
34
|
-
this.events[eventName].regular.delete(listener);
|
|
35
|
-
this.events[eventName].highPriority.delete(listener);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
removeAllListeners() {
|
|
39
|
-
this.events = {};
|
|
40
|
-
}
|
|
41
|
-
emit(eventName, ...args) {
|
|
42
|
-
const collection = this.events[eventName];
|
|
43
|
-
if (!collection) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
const highPriorityListeners = Array.from(collection.highPriority.keys());
|
|
47
|
-
const regularListeners = Array.from(collection.regular.keys());
|
|
48
|
-
for (let i = highPriorityListeners.length - 1; i >= 0; i -= 1) {
|
|
49
|
-
const listener = highPriorityListeners[i];
|
|
50
|
-
if (collection.highPriority.has(listener)) {
|
|
51
|
-
listener.apply(this, args);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
for (let i = 0; i < regularListeners.length; i += 1) {
|
|
55
|
-
const listener = regularListeners[i];
|
|
56
|
-
if (collection.regular.has(listener)) {
|
|
57
|
-
listener.apply(this, args);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
once(eventName, listener) {
|
|
62
|
-
// eslint-disable-next-line consistent-this
|
|
63
|
-
const that = this;
|
|
64
|
-
this.on(eventName, function oneTimeListener(...args) {
|
|
65
|
-
that.removeListener(eventName, oneTimeListener);
|
|
66
|
-
listener.apply(that, args);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.EventManager = void 0;
|
|
7
|
-
// Used https://gist.github.com/mudge/5830382 as a starting point.
|
|
8
|
-
// See https://github.com/browserify/events/blob/master/events.js for
|
|
9
|
-
// the Node.js (https://nodejs.org/api/events.html) polyfill used by webpack.
|
|
10
|
-
class EventManager {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.maxListeners = 20;
|
|
13
|
-
this.warnOnce = false;
|
|
14
|
-
this.events = {};
|
|
15
|
-
}
|
|
16
|
-
on(eventName, listener, options = {}) {
|
|
17
|
-
let collection = this.events[eventName];
|
|
18
|
-
if (!collection) {
|
|
19
|
-
collection = {
|
|
20
|
-
highPriority: new Map(),
|
|
21
|
-
regular: new Map()
|
|
22
|
-
};
|
|
23
|
-
this.events[eventName] = collection;
|
|
24
|
-
}
|
|
25
|
-
if (options.isFirst) {
|
|
26
|
-
collection.highPriority.set(listener, true);
|
|
27
|
-
} else {
|
|
28
|
-
collection.regular.set(listener, true);
|
|
29
|
-
}
|
|
30
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
31
|
-
const collectionSize = collection.highPriority.size + collection.regular.size;
|
|
32
|
-
if (collectionSize > this.maxListeners && !this.warnOnce) {
|
|
33
|
-
this.warnOnce = true;
|
|
34
|
-
console.warn([`Possible EventEmitter memory leak detected. ${collectionSize} ${eventName} listeners added.`].join('\n'));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
removeListener(eventName, listener) {
|
|
39
|
-
if (this.events[eventName]) {
|
|
40
|
-
this.events[eventName].regular.delete(listener);
|
|
41
|
-
this.events[eventName].highPriority.delete(listener);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
removeAllListeners() {
|
|
45
|
-
this.events = {};
|
|
46
|
-
}
|
|
47
|
-
emit(eventName, ...args) {
|
|
48
|
-
const collection = this.events[eventName];
|
|
49
|
-
if (!collection) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
const highPriorityListeners = Array.from(collection.highPriority.keys());
|
|
53
|
-
const regularListeners = Array.from(collection.regular.keys());
|
|
54
|
-
for (let i = highPriorityListeners.length - 1; i >= 0; i -= 1) {
|
|
55
|
-
const listener = highPriorityListeners[i];
|
|
56
|
-
if (collection.highPriority.has(listener)) {
|
|
57
|
-
listener.apply(this, args);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
for (let i = 0; i < regularListeners.length; i += 1) {
|
|
61
|
-
const listener = regularListeners[i];
|
|
62
|
-
if (collection.regular.has(listener)) {
|
|
63
|
-
listener.apply(this, args);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
once(eventName, listener) {
|
|
68
|
-
// eslint-disable-next-line consistent-this
|
|
69
|
-
const that = this;
|
|
70
|
-
this.on(eventName, function oneTimeListener(...args) {
|
|
71
|
-
that.removeListener(eventName, oneTimeListener);
|
|
72
|
-
listener.apply(that, args);
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
exports.EventManager = EventManager;
|
package/utils/EventManager.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export type EventListener = (...args: any[]) => void;
|
|
2
|
-
export interface EventListenerOptions {
|
|
3
|
-
isFirst?: boolean;
|
|
4
|
-
}
|
|
5
|
-
interface EventListenerCollection {
|
|
6
|
-
/**
|
|
7
|
-
* List of listeners to run before the others
|
|
8
|
-
* They are run in the opposite order of the registration order
|
|
9
|
-
*/
|
|
10
|
-
highPriority: Map<EventListener, true>;
|
|
11
|
-
/**
|
|
12
|
-
* List of events to run after the high priority listeners
|
|
13
|
-
* They are run in the registration order
|
|
14
|
-
*/
|
|
15
|
-
regular: Map<EventListener, true>;
|
|
16
|
-
}
|
|
17
|
-
export declare class EventManager {
|
|
18
|
-
maxListeners: number;
|
|
19
|
-
warnOnce: boolean;
|
|
20
|
-
events: {
|
|
21
|
-
[eventName: string]: EventListenerCollection;
|
|
22
|
-
};
|
|
23
|
-
on(eventName: string, listener: EventListener, options?: EventListenerOptions): void;
|
|
24
|
-
removeListener(eventName: string, listener: EventListener): void;
|
|
25
|
-
removeAllListeners(): void;
|
|
26
|
-
emit(eventName: string, ...args: any[]): void;
|
|
27
|
-
once(eventName: string, listener: EventListener): void;
|
|
28
|
-
}
|
|
29
|
-
export {};
|
package/utils/EventManager.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
// Used https://gist.github.com/mudge/5830382 as a starting point.
|
|
2
|
-
// See https://github.com/browserify/events/blob/master/events.js for
|
|
3
|
-
// the Node.js (https://nodejs.org/api/events.html) polyfill used by webpack.
|
|
4
|
-
export class EventManager {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.maxListeners = 20;
|
|
7
|
-
this.warnOnce = false;
|
|
8
|
-
this.events = {};
|
|
9
|
-
}
|
|
10
|
-
on(eventName, listener, options = {}) {
|
|
11
|
-
let collection = this.events[eventName];
|
|
12
|
-
if (!collection) {
|
|
13
|
-
collection = {
|
|
14
|
-
highPriority: new Map(),
|
|
15
|
-
regular: new Map()
|
|
16
|
-
};
|
|
17
|
-
this.events[eventName] = collection;
|
|
18
|
-
}
|
|
19
|
-
if (options.isFirst) {
|
|
20
|
-
collection.highPriority.set(listener, true);
|
|
21
|
-
} else {
|
|
22
|
-
collection.regular.set(listener, true);
|
|
23
|
-
}
|
|
24
|
-
if (process.env.NODE_ENV !== 'production') {
|
|
25
|
-
const collectionSize = collection.highPriority.size + collection.regular.size;
|
|
26
|
-
if (collectionSize > this.maxListeners && !this.warnOnce) {
|
|
27
|
-
this.warnOnce = true;
|
|
28
|
-
console.warn([`Possible EventEmitter memory leak detected. ${collectionSize} ${eventName} listeners added.`].join('\n'));
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
removeListener(eventName, listener) {
|
|
33
|
-
if (this.events[eventName]) {
|
|
34
|
-
this.events[eventName].regular.delete(listener);
|
|
35
|
-
this.events[eventName].highPriority.delete(listener);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
removeAllListeners() {
|
|
39
|
-
this.events = {};
|
|
40
|
-
}
|
|
41
|
-
emit(eventName, ...args) {
|
|
42
|
-
const collection = this.events[eventName];
|
|
43
|
-
if (!collection) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
const highPriorityListeners = Array.from(collection.highPriority.keys());
|
|
47
|
-
const regularListeners = Array.from(collection.regular.keys());
|
|
48
|
-
for (let i = highPriorityListeners.length - 1; i >= 0; i -= 1) {
|
|
49
|
-
const listener = highPriorityListeners[i];
|
|
50
|
-
if (collection.highPriority.has(listener)) {
|
|
51
|
-
listener.apply(this, args);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
for (let i = 0; i < regularListeners.length; i += 1) {
|
|
55
|
-
const listener = regularListeners[i];
|
|
56
|
-
if (collection.regular.has(listener)) {
|
|
57
|
-
listener.apply(this, args);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
once(eventName, listener) {
|
|
62
|
-
// eslint-disable-next-line consistent-this
|
|
63
|
-
const that = this;
|
|
64
|
-
this.on(eventName, function oneTimeListener(...args) {
|
|
65
|
-
that.removeListener(eventName, oneTimeListener);
|
|
66
|
-
listener.apply(that, args);
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
}
|