@mui/x-data-grid 7.12.1 → 7.14.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 +162 -1
- package/DataGrid/DataGrid.js +10 -1
- package/components/GridColumnHeaders.js +1 -1
- package/components/GridConfigurationContext.d.ts +2 -0
- package/components/GridConfigurationContext.js +5 -0
- package/components/GridHeaders.js +1 -1
- package/components/GridRow.js +6 -8
- package/components/GridScrollArea.js +1 -1
- package/components/GridSkeletonLoadingOverlay.js +1 -1
- package/components/cell/GridCell.js +12 -13
- package/components/cell/GridEditSingleSelectCell.js +2 -3
- package/components/cell/GridSkeletonCell.js +2 -2
- package/components/columnHeaders/GridColumnHeaderItem.js +1 -1
- package/components/containers/GridRootStyles.js +9 -2
- package/components/menu/columnMenu/GridColumnMenuContainer.js +2 -2
- package/components/panel/GridPanel.js +1 -2
- package/components/panel/filterPanel/GridFilterForm.js +9 -4
- package/components/toolbar/GridToolbarDensitySelector.js +2 -2
- package/components/toolbar/GridToolbarExportContainer.js +2 -2
- package/components/toolbar/GridToolbarQuickFilter.js +5 -3
- package/components/virtualization/GridMainContainer.js +3 -2
- package/components/virtualization/GridVirtualScrollerFiller.js +1 -1
- package/context/GridContextProvider.d.ts +3 -1
- package/context/GridContextProvider.js +12 -7
- package/hooks/core/useGridStateInitialization.js +1 -3
- package/hooks/features/dimensions/useGridDimensions.js +1 -1
- package/hooks/features/export/serializers/csvSerializer.js +4 -3
- package/hooks/features/filter/gridFilterSelector.d.ts +20 -7
- package/hooks/features/filter/gridFilterSelector.js +34 -0
- package/hooks/features/filter/gridFilterState.d.ts +6 -0
- package/hooks/features/filter/index.d.ts +2 -1
- package/hooks/features/filter/index.js +1 -1
- package/hooks/features/filter/useGridFilter.js +3 -0
- package/hooks/features/rowSelection/useGridRowSelection.js +4 -1
- package/hooks/features/rows/useGridParamsApi.js +2 -1
- package/hooks/features/rows/useGridRowAriaAttributes.d.ts +2 -0
- package/hooks/features/rows/useGridRowAriaAttributes.js +19 -0
- package/hooks/utils/useGridAriaAttributes.d.ts +2 -6
- package/hooks/utils/useGridAriaAttributes.js +5 -8
- package/hooks/utils/useGridConfiguration.d.ts +2 -0
- package/hooks/utils/useGridConfiguration.js +9 -0
- package/hooks/utils/useGridSelector.d.ts +5 -2
- package/hooks/utils/useGridSelector.js +39 -1
- package/index.js +1 -1
- package/internals/index.d.ts +5 -2
- package/internals/index.js +5 -2
- package/locales/csCZ.js +4 -5
- package/locales/heIL.js +4 -5
- package/locales/viVN.js +4 -5
- package/models/configuration/gridConfiguration.d.ts +10 -0
- package/models/configuration/gridConfiguration.js +1 -0
- package/models/configuration/gridRowConfiguration.d.ts +12 -0
- package/models/configuration/gridRowConfiguration.js +1 -0
- package/models/gridDataSource.d.ts +8 -7
- package/models/gridRows.d.ts +2 -2
- package/models/params/gridCellParams.d.ts +4 -0
- package/models/props/DataGridProps.d.ts +1 -1
- package/modern/DataGrid/DataGrid.js +10 -1
- package/modern/components/GridColumnHeaders.js +1 -1
- package/modern/components/GridConfigurationContext.js +5 -0
- package/modern/components/GridHeaders.js +1 -1
- package/modern/components/GridRow.js +6 -8
- package/modern/components/GridScrollArea.js +1 -1
- package/modern/components/GridSkeletonLoadingOverlay.js +1 -1
- package/modern/components/cell/GridCell.js +12 -13
- package/modern/components/cell/GridEditSingleSelectCell.js +2 -3
- package/modern/components/cell/GridSkeletonCell.js +2 -2
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +1 -1
- package/modern/components/containers/GridRootStyles.js +9 -2
- package/modern/components/menu/columnMenu/GridColumnMenuContainer.js +2 -2
- package/modern/components/panel/GridPanel.js +1 -2
- package/modern/components/panel/filterPanel/GridFilterForm.js +9 -4
- package/modern/components/toolbar/GridToolbarDensitySelector.js +2 -2
- package/modern/components/toolbar/GridToolbarExportContainer.js +2 -2
- package/modern/components/toolbar/GridToolbarQuickFilter.js +5 -3
- package/modern/components/virtualization/GridMainContainer.js +3 -2
- package/modern/components/virtualization/GridVirtualScrollerFiller.js +1 -1
- package/modern/context/GridContextProvider.js +12 -7
- package/modern/hooks/core/useGridStateInitialization.js +1 -3
- package/modern/hooks/features/dimensions/useGridDimensions.js +1 -1
- package/modern/hooks/features/export/serializers/csvSerializer.js +4 -3
- package/modern/hooks/features/filter/gridFilterSelector.js +34 -0
- package/modern/hooks/features/filter/index.js +1 -1
- package/modern/hooks/features/filter/useGridFilter.js +3 -0
- package/modern/hooks/features/rowSelection/useGridRowSelection.js +4 -1
- package/modern/hooks/features/rows/useGridParamsApi.js +2 -1
- package/modern/hooks/features/rows/useGridRowAriaAttributes.js +19 -0
- package/modern/hooks/utils/useGridAriaAttributes.js +5 -8
- package/modern/hooks/utils/useGridConfiguration.js +9 -0
- package/modern/hooks/utils/useGridSelector.js +39 -1
- package/modern/index.js +1 -1
- package/modern/internals/index.js +5 -2
- package/modern/locales/csCZ.js +4 -5
- package/modern/locales/heIL.js +4 -5
- package/modern/locales/viVN.js +4 -5
- package/modern/models/configuration/gridConfiguration.js +1 -0
- package/modern/models/configuration/gridRowConfiguration.js +1 -0
- package/modern/utils/createSelector.js +116 -0
- package/modern/utils/keyboardUtils.js +1 -11
- package/node/DataGrid/DataGrid.js +10 -1
- package/node/components/GridColumnHeaders.js +1 -1
- package/node/{utils/fastMemo.js → components/GridConfigurationContext.js} +4 -4
- package/node/components/GridHeaders.js +1 -1
- package/node/components/GridRow.js +6 -8
- package/node/components/GridScrollArea.js +1 -1
- package/node/components/GridSkeletonLoadingOverlay.js +1 -1
- package/node/components/cell/GridCell.js +12 -13
- package/node/components/cell/GridEditSingleSelectCell.js +2 -3
- package/node/components/cell/GridSkeletonCell.js +2 -2
- package/node/components/columnHeaders/GridColumnHeaderItem.js +1 -1
- package/node/components/containers/GridRootStyles.js +9 -2
- package/node/components/menu/columnMenu/GridColumnMenuContainer.js +1 -1
- package/node/components/panel/GridPanel.js +1 -2
- package/node/components/panel/filterPanel/GridFilterForm.js +9 -4
- package/node/components/toolbar/GridToolbarDensitySelector.js +1 -1
- package/node/components/toolbar/GridToolbarExportContainer.js +1 -1
- package/node/components/toolbar/GridToolbarQuickFilter.js +5 -3
- package/node/components/virtualization/GridMainContainer.js +3 -2
- package/node/components/virtualization/GridVirtualScrollerFiller.js +1 -1
- package/node/context/GridContextProvider.js +12 -7
- package/node/hooks/core/useGridStateInitialization.js +1 -3
- package/node/hooks/features/dimensions/useGridDimensions.js +1 -1
- package/node/hooks/features/export/serializers/csvSerializer.js +4 -3
- package/node/hooks/features/filter/gridFilterSelector.js +35 -1
- package/node/hooks/features/filter/index.js +97 -15
- package/node/hooks/features/filter/useGridFilter.js +3 -0
- package/node/hooks/features/rowSelection/useGridRowSelection.js +4 -1
- package/node/hooks/features/rows/useGridParamsApi.js +2 -1
- package/node/hooks/features/rows/useGridRowAriaAttributes.js +28 -0
- package/node/hooks/utils/useGridAriaAttributes.js +4 -7
- package/node/hooks/utils/useGridConfiguration.js +18 -0
- package/node/hooks/utils/useGridSelector.js +42 -3
- package/node/index.js +1 -1
- package/node/internals/index.js +53 -12
- package/node/locales/csCZ.js +4 -5
- package/node/locales/heIL.js +4 -5
- package/node/locales/viVN.js +4 -5
- package/node/models/configuration/gridConfiguration.js +5 -0
- package/node/models/configuration/gridRowConfiguration.js +5 -0
- package/node/utils/createSelector.js +119 -2
- package/node/utils/keyboardUtils.js +2 -15
- package/package.json +4 -4
- package/utils/createSelector.d.ts +19 -0
- package/utils/createSelector.js +116 -0
- package/utils/keyboardUtils.d.ts +1 -9
- package/utils/keyboardUtils.js +1 -11
- package/modern/utils/fastMemo.js +0 -5
- package/modern/utils/fastObjectShallowCompare.js +0 -28
- package/modern/utils/throttle.js +0 -19
- package/node/utils/fastObjectShallowCompare.js +0 -34
- package/node/utils/throttle.js +0 -25
- package/utils/fastMemo.d.ts +0 -1
- package/utils/fastMemo.js +0 -5
- package/utils/fastObjectShallowCompare.d.ts +0 -1
- package/utils/fastObjectShallowCompare.js +0 -28
- package/utils/throttle.d.ts +0 -4
- package/utils/throttle.js +0 -19
|
@@ -11,7 +11,7 @@ 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 _fastMemo = require("
|
|
14
|
+
var _fastMemo = require("@mui/x-internals/fastMemo");
|
|
15
15
|
var _gridEditRowModel = require("../models/gridEditRowModel");
|
|
16
16
|
var _useGridApiContext = require("../hooks/utils/useGridApiContext");
|
|
17
17
|
var _gridClasses = require("../constants/gridClasses");
|
|
@@ -26,11 +26,11 @@ var _gridActionsColDef = require("../colDef/gridActionsColDef");
|
|
|
26
26
|
var _gridDetailPanelToggleField = require("../constants/gridDetailPanelToggleField");
|
|
27
27
|
var _gridSortingSelector = require("../hooks/features/sorting/gridSortingSelector");
|
|
28
28
|
var _gridRowsSelector = require("../hooks/features/rows/gridRowsSelector");
|
|
29
|
-
var _gridColumnGroupsSelector = require("../hooks/features/columnGrouping/gridColumnGroupsSelector");
|
|
30
29
|
var _gridEditingSelectors = require("../hooks/features/editing/gridEditingSelectors");
|
|
31
30
|
var _GridCell = require("./cell/GridCell");
|
|
32
31
|
var _GridScrollbarFillerCell = require("./GridScrollbarFillerCell");
|
|
33
32
|
var _getPinnedCellOffset = require("../internals/utils/getPinnedCellOffset");
|
|
33
|
+
var _useGridConfiguration = require("../hooks/utils/useGridConfiguration");
|
|
34
34
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
35
35
|
const _excluded = ["selected", "rowId", "row", "index", "style", "rowHeight", "className", "visibleColumns", "pinnedColumns", "offsetTop", "offsetLeft", "dimensions", "renderContext", "focusedColumnIndex", "isFirstVisible", "isLastVisible", "isNotVisible", "showBottomBorder", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
|
|
36
36
|
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); }
|
|
@@ -77,12 +77,12 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
77
77
|
} = props,
|
|
78
78
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
79
79
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
80
|
+
const configuration = (0, _useGridConfiguration.useGridConfiguration)();
|
|
80
81
|
const ref = React.useRef(null);
|
|
81
82
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
82
83
|
const currentPage = (0, _useGridVisibleRows.useGridVisibleRows)(apiRef, rootProps);
|
|
83
84
|
const sortModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridSortingSelector.gridSortModelSelector);
|
|
84
85
|
const treeDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridRowsSelector.gridRowMaximumTreeDepthSelector);
|
|
85
|
-
const headerGroupingMaxDepth = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnGroupsSelector.gridColumnGroupsHeaderMaxDepthSelector);
|
|
86
86
|
const columnPositions = (0, _useGridSelector.useGridSelector)(apiRef, _gridColumnsSelector.gridColumnPositionsSelector);
|
|
87
87
|
const editRowsState = (0, _useGridSelector.useGridSelector)(apiRef, _gridEditingSelectors.gridEditRowsStateSelector);
|
|
88
88
|
const handleRef = (0, _utils.unstable_useForkRef)(ref, refProp);
|
|
@@ -94,11 +94,10 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
94
94
|
const hasFocusCell = focusedColumnIndex !== undefined;
|
|
95
95
|
const hasVirtualFocusCellLeft = hasFocusCell && focusedColumnIndex >= pinnedColumns.left.length && focusedColumnIndex < renderContext.firstColumnIndex;
|
|
96
96
|
const hasVirtualFocusCellRight = hasFocusCell && focusedColumnIndex < visibleColumns.length - pinnedColumns.right.length && focusedColumnIndex >= renderContext.lastColumnIndex;
|
|
97
|
-
const ariaRowIndex = index + headerGroupingMaxDepth + 2; // 1 for the header row and 1 as it's 1-based
|
|
98
|
-
|
|
99
97
|
const classes = (0, _composeGridClasses.composeGridClasses)(rootProps.classes, {
|
|
100
98
|
root: ['row', selected && 'selected', editable && 'row--editable', editing && 'row--editing', isFirstVisible && 'row--firstVisible', isLastVisible && 'row--lastVisible', showBottomBorder && 'row--borderBottom', rowHeight === 'auto' && 'row--dynamicHeight']
|
|
101
99
|
});
|
|
100
|
+
const getRowAriaAttributes = configuration.hooks.useGridRowAriaAttributes();
|
|
102
101
|
React.useLayoutEffect(() => {
|
|
103
102
|
if (currentPage.range) {
|
|
104
103
|
// The index prop is relative to the rows from all pages. As example, the index prop of the
|
|
@@ -221,6 +220,7 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
221
220
|
return rowStyle;
|
|
222
221
|
}, [isNotVisible, rowHeight, styleProp, minHeight, sizes, rootProps.rowSpacingType]);
|
|
223
222
|
const rowClassNames = apiRef.current.unstable_applyPipeProcessors('rowClassName', [], rowId);
|
|
223
|
+
const ariaAttributes = rowNode ? getRowAriaAttributes(rowNode, index) : undefined;
|
|
224
224
|
if (typeof rootProps.getRowClassName === 'function') {
|
|
225
225
|
const indexRelativeToCurrentPage = index - (currentPage.range?.firstRowIndex || 0);
|
|
226
226
|
const rowParams = (0, _extends2.default)({}, apiRef.current.getRowParams(rowId), {
|
|
@@ -317,10 +317,8 @@ const GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
317
317
|
"data-rowindex": index,
|
|
318
318
|
role: "row",
|
|
319
319
|
className: (0, _clsx.default)(...rowClassNames, classes.root, className),
|
|
320
|
-
"aria-rowindex": ariaRowIndex,
|
|
321
|
-
"aria-selected": selected,
|
|
322
320
|
style: style
|
|
323
|
-
}, eventHandlers, other, {
|
|
321
|
+
}, ariaAttributes, eventHandlers, other, {
|
|
324
322
|
children: [leftCells, /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
325
323
|
role: "presentation",
|
|
326
324
|
className: _gridClasses.gridClasses.cellOffsetLeft,
|
|
@@ -10,6 +10,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
11
11
|
var _utils = require("@mui/utils");
|
|
12
12
|
var _system = require("@mui/system");
|
|
13
|
+
var _fastMemo = require("@mui/x-internals/fastMemo");
|
|
13
14
|
var _useGridRootProps = require("../hooks/utils/useGridRootProps");
|
|
14
15
|
var _constants = require("../constants");
|
|
15
16
|
var _useGridApiContext = require("../hooks/utils/useGridApiContext");
|
|
@@ -20,7 +21,6 @@ var _densitySelector = require("../hooks/features/density/densitySelector");
|
|
|
20
21
|
var _gridColumnsSelector = require("../hooks/features/columns/gridColumnsSelector");
|
|
21
22
|
var _useTimeout = require("../hooks/utils/useTimeout");
|
|
22
23
|
var _gridColumnsUtils = require("../hooks/features/columns/gridColumnsUtils");
|
|
23
|
-
var _fastMemo = require("../utils/fastMemo");
|
|
24
24
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
25
|
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); }
|
|
26
26
|
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; }
|
|
@@ -128,7 +128,7 @@ const GridSkeletonLoadingOverlay = exports.GridSkeletonLoadingOverlay = /*#__PUR
|
|
|
128
128
|
if (hasScrollbarFiller) {
|
|
129
129
|
rowCells.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollbarFillerCell.GridScrollbarFillerCell, {
|
|
130
130
|
pinnedRight: pinnedColumns.right.length > 0
|
|
131
|
-
}));
|
|
131
|
+
}, `skeleton-scrollbar-filler-${i}`));
|
|
132
132
|
}
|
|
133
133
|
}
|
|
134
134
|
array.push( /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
@@ -11,7 +11,7 @@ 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 _fastMemo = require("
|
|
14
|
+
var _fastMemo = require("@mui/x-internals/fastMemo");
|
|
15
15
|
var _doesSupportPreventScroll = require("../../utils/doesSupportPreventScroll");
|
|
16
16
|
var _gridClasses = require("../../constants/gridClasses");
|
|
17
17
|
var _models = require("../../models");
|
|
@@ -116,13 +116,12 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
|
|
|
116
116
|
const apiRef = (0, _useGridApiContext.useGridApiContext)();
|
|
117
117
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
118
118
|
const field = column.field;
|
|
119
|
-
const
|
|
119
|
+
const cellParams = (0, _useGridSelector.useGridSelector)(apiRef, () => {
|
|
120
120
|
// This is required because `.getCellParams` tries to get the `state.rows.tree` entry
|
|
121
121
|
// associated with `rowId`/`fieldId`, but this selector runs after the state has been
|
|
122
122
|
// updated, while `rowId`/`fieldId` reference an entry in the old state.
|
|
123
123
|
try {
|
|
124
|
-
const
|
|
125
|
-
const result = cellParams;
|
|
124
|
+
const result = apiRef.current.getCellParams(rowId, field);
|
|
126
125
|
result.api = apiRef.current;
|
|
127
126
|
return result;
|
|
128
127
|
} catch (e) {
|
|
@@ -141,9 +140,9 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
|
|
|
141
140
|
hasFocus,
|
|
142
141
|
isEditable = false,
|
|
143
142
|
value
|
|
144
|
-
} =
|
|
143
|
+
} = cellParams;
|
|
145
144
|
const canManageOwnFocus = column.type === 'actions' && column.getActions?.(apiRef.current.getRowParams(rowId)).some(action => !action.props.disabled);
|
|
146
|
-
const tabIndex = (cellMode === 'view' || !isEditable) && !canManageOwnFocus ?
|
|
145
|
+
const tabIndex = (cellMode === 'view' || !isEditable) && !canManageOwnFocus ? cellParams.tabIndex : -1;
|
|
147
146
|
const {
|
|
148
147
|
classes: rootClasses,
|
|
149
148
|
getCellClassName
|
|
@@ -156,15 +155,15 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
|
|
|
156
155
|
}).filter(Boolean).join(' '));
|
|
157
156
|
const classNames = [pipesClassName];
|
|
158
157
|
if (column.cellClassName) {
|
|
159
|
-
classNames.push(typeof column.cellClassName === 'function' ? column.cellClassName(
|
|
158
|
+
classNames.push(typeof column.cellClassName === 'function' ? column.cellClassName(cellParams) : column.cellClassName);
|
|
160
159
|
}
|
|
161
160
|
if (column.display === 'flex') {
|
|
162
161
|
classNames.push(_gridClasses.gridClasses['cell--flex']);
|
|
163
162
|
}
|
|
164
163
|
if (getCellClassName) {
|
|
165
|
-
classNames.push(getCellClassName(
|
|
164
|
+
classNames.push(getCellClassName(cellParams));
|
|
166
165
|
}
|
|
167
|
-
const valueToRender =
|
|
166
|
+
const valueToRender = cellParams.formattedValue ?? value;
|
|
168
167
|
const cellRef = React.useRef(null);
|
|
169
168
|
const handleRef = (0, _utils.unstable_useForkRef)(ref, cellRef);
|
|
170
169
|
const focusElementRef = React.useRef(null);
|
|
@@ -247,7 +246,7 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
|
|
|
247
246
|
}
|
|
248
247
|
}
|
|
249
248
|
}, [hasFocus, cellMode, apiRef]);
|
|
250
|
-
if (
|
|
249
|
+
if (cellParams === EMPTY_CELL_PARAMS) {
|
|
251
250
|
return null;
|
|
252
251
|
}
|
|
253
252
|
let handleFocus = other.onFocus;
|
|
@@ -269,15 +268,15 @@ const GridCell = /*#__PURE__*/React.forwardRef(function GridCell(props, ref) {
|
|
|
269
268
|
let children;
|
|
270
269
|
let title;
|
|
271
270
|
if (editCellState === null && column.renderCell) {
|
|
272
|
-
children = column.renderCell(
|
|
271
|
+
children = column.renderCell(cellParams);
|
|
273
272
|
}
|
|
274
273
|
if (editCellState !== null && column.renderEditCell) {
|
|
275
274
|
const updatedRow = apiRef.current.getRowWithUpdatedValues(rowId, column.field);
|
|
276
275
|
|
|
277
276
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
278
277
|
const editCellStateRest = (0, _objectWithoutPropertiesLoose2.default)(editCellState, _excluded2);
|
|
279
|
-
const formattedValue = column.valueFormatter ? column.valueFormatter(editCellState.value, updatedRow, column, apiRef) :
|
|
280
|
-
const params = (0, _extends2.default)({},
|
|
278
|
+
const formattedValue = column.valueFormatter ? column.valueFormatter(editCellState.value, updatedRow, column, apiRef) : cellParams.formattedValue;
|
|
279
|
+
const params = (0, _extends2.default)({}, cellParams, {
|
|
281
280
|
row: updatedRow,
|
|
282
281
|
formattedValue
|
|
283
282
|
}, editCellStateRest);
|
|
@@ -13,7 +13,6 @@ var React = _react;
|
|
|
13
13
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
14
|
var _utils = require("@mui/utils");
|
|
15
15
|
var _gridEditCellParams = require("../../models/params/gridEditCellParams");
|
|
16
|
-
var _keyboardUtils = require("../../utils/keyboardUtils");
|
|
17
16
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
18
17
|
var _gridEditRowModel = require("../../models/gridEditRowModel");
|
|
19
18
|
var _filterPanelUtils = require("../panel/filterPanel/filterPanelUtils");
|
|
@@ -90,10 +89,10 @@ function GridEditSingleSelectCell(props) {
|
|
|
90
89
|
setOpen(false);
|
|
91
90
|
return;
|
|
92
91
|
}
|
|
93
|
-
if (reason === 'backdropClick' ||
|
|
92
|
+
if (reason === 'backdropClick' || event.key === 'Escape') {
|
|
94
93
|
const params = apiRef.current.getCellParams(id, field);
|
|
95
94
|
apiRef.current.publishEvent('cellEditStop', (0, _extends2.default)({}, params, {
|
|
96
|
-
reason:
|
|
95
|
+
reason: event.key === 'Escape' ? _gridEditCellParams.GridCellEditStopReasons.escapeKeyDown : _gridEditCellParams.GridCellEditStopReasons.cellFocusOut
|
|
97
96
|
}));
|
|
98
97
|
}
|
|
99
98
|
};
|
|
@@ -9,10 +9,10 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
9
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 _clsx = _interopRequireDefault(require("clsx"));
|
|
12
13
|
var _Skeleton = _interopRequireDefault(require("@mui/material/Skeleton"));
|
|
13
14
|
var _utils = require("@mui/utils");
|
|
14
|
-
var
|
|
15
|
-
var _fastMemo = require("../../utils/fastMemo");
|
|
15
|
+
var _fastMemo = require("@mui/x-internals/fastMemo");
|
|
16
16
|
var _utils2 = require("../../utils/utils");
|
|
17
17
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
18
18
|
var _gridClasses = require("../../constants/gridClasses");
|
|
@@ -10,7 +10,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
12
12
|
var _utils = require("@mui/utils");
|
|
13
|
-
var _fastMemo = require("
|
|
13
|
+
var _fastMemo = require("@mui/x-internals/fastMemo");
|
|
14
14
|
var _useGridPrivateApiContext = require("../../hooks/utils/useGridPrivateApiContext");
|
|
15
15
|
var _ColumnHeaderMenuIcon = require("./ColumnHeaderMenuIcon");
|
|
16
16
|
var _GridColumnHeaderMenu = require("../menu/columnMenu/GridColumnHeaderMenu");
|
|
@@ -675,9 +675,16 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
675
675
|
[`& .${_gridClasses.gridClasses['filler--borderTop']}`]: {
|
|
676
676
|
borderTop: '1px solid var(--DataGrid-rowBorderColor)'
|
|
677
677
|
},
|
|
678
|
-
/* Hide grid rows and vertical scrollbar when skeleton overlay is visible */
|
|
678
|
+
/* Hide grid rows, row filler, and vertical scrollbar when skeleton overlay is visible */
|
|
679
679
|
[`& .${_gridClasses.gridClasses['main--hasSkeletonLoadingOverlay']}`]: {
|
|
680
|
-
[`& .${_gridClasses.gridClasses.virtualScrollerContent}
|
|
680
|
+
[`& .${_gridClasses.gridClasses.virtualScrollerContent}`]: {
|
|
681
|
+
// We use visibility hidden so that the virtual scroller content retains its height.
|
|
682
|
+
// Position fixed is used to remove the virtual scroller content from the flow.
|
|
683
|
+
// https://github.com/mui/mui-x/issues/14061
|
|
684
|
+
position: 'fixed',
|
|
685
|
+
visibility: 'hidden'
|
|
686
|
+
},
|
|
687
|
+
[`& .${_gridClasses.gridClasses['scrollbar--vertical']}, & .${_gridClasses.gridClasses.pinnedRows}, & .${_gridClasses.gridClasses.virtualScroller} > .${_gridClasses.gridClasses.filler}`]: {
|
|
681
688
|
display: 'none'
|
|
682
689
|
}
|
|
683
690
|
}
|
|
@@ -32,7 +32,7 @@ const GridColumnMenuContainer = exports.GridColumnMenuContainer = /*#__PURE__*/R
|
|
|
32
32
|
} = props,
|
|
33
33
|
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
|
|
34
34
|
const handleListKeyDown = React.useCallback(event => {
|
|
35
|
-
if (
|
|
35
|
+
if (event.key === 'Tab') {
|
|
36
36
|
event.preventDefault();
|
|
37
37
|
}
|
|
38
38
|
if ((0, _keyboardUtils.isHideMenuKey)(event.key)) {
|
|
@@ -16,7 +16,6 @@ var _ClickAwayListener = _interopRequireDefault(require("@mui/material/ClickAway
|
|
|
16
16
|
var _Paper = _interopRequireDefault(require("@mui/material/Paper"));
|
|
17
17
|
var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
|
|
18
18
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
19
|
-
var _keyboardUtils = require("../../utils/keyboardUtils");
|
|
20
19
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
21
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
21
|
const _excluded = ["children", "className", "classes"];
|
|
@@ -60,7 +59,7 @@ const GridPanel = exports.GridPanel = /*#__PURE__*/React.forwardRef((props, ref)
|
|
|
60
59
|
apiRef.current.hidePreferences();
|
|
61
60
|
}, [apiRef]);
|
|
62
61
|
const handleKeyDown = React.useCallback(event => {
|
|
63
|
-
if (
|
|
62
|
+
if (event.key === 'Escape') {
|
|
64
63
|
apiRef.current.hidePreferences();
|
|
65
64
|
}
|
|
66
65
|
}, [apiRef]);
|
|
@@ -290,10 +290,15 @@ const GridFilterForm = exports.GridFilterForm = /*#__PURE__*/React.forwardRef(fu
|
|
|
290
290
|
variant: "standard",
|
|
291
291
|
as: rootProps.slots.baseFormControl
|
|
292
292
|
}, baseFormControlProps, logicOperatorInputProps, {
|
|
293
|
-
sx:
|
|
294
|
-
display:
|
|
295
|
-
|
|
296
|
-
|
|
293
|
+
sx: [hasLogicOperatorColumn ? {
|
|
294
|
+
display: 'flex'
|
|
295
|
+
} : {
|
|
296
|
+
display: 'none'
|
|
297
|
+
}, showMultiFilterOperators ? {
|
|
298
|
+
visibility: 'visible'
|
|
299
|
+
} : {
|
|
300
|
+
visibility: 'hidden'
|
|
301
|
+
}, baseFormControlProps.sx, logicOperatorInputProps.sx],
|
|
297
302
|
className: (0, _clsx.default)(classes.logicOperatorInput, baseFormControlProps.className, logicOperatorInputProps.className),
|
|
298
303
|
ownerState: rootProps,
|
|
299
304
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseSelect, (0, _extends2.default)({
|
|
@@ -71,7 +71,7 @@ const GridToolbarDensitySelector = exports.GridToolbarDensitySelector = /*#__PUR
|
|
|
71
71
|
setOpen(false);
|
|
72
72
|
};
|
|
73
73
|
const handleListKeyDown = event => {
|
|
74
|
-
if (
|
|
74
|
+
if (event.key === 'Tab') {
|
|
75
75
|
event.preventDefault();
|
|
76
76
|
}
|
|
77
77
|
if ((0, _keyboardUtils.isHideMenuKey)(event.key)) {
|
|
@@ -38,7 +38,7 @@ const GridToolbarExportContainer = exports.GridToolbarExportContainer = /*#__PUR
|
|
|
38
38
|
};
|
|
39
39
|
const handleMenuClose = () => setOpen(false);
|
|
40
40
|
const handleListKeyDown = event => {
|
|
41
|
-
if (
|
|
41
|
+
if (event.key === 'Tab') {
|
|
42
42
|
event.preventDefault();
|
|
43
43
|
}
|
|
44
44
|
if ((0, _keyboardUtils.isHideMenuKey)(event.key)) {
|
|
@@ -114,9 +114,11 @@ function GridToolbarQuickFilter(props) {
|
|
|
114
114
|
endAdornment: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseIconButton, (0, _extends2.default)({
|
|
115
115
|
"aria-label": apiRef.current.getLocaleText('toolbarQuickFilterDeleteIconLabel'),
|
|
116
116
|
size: "small",
|
|
117
|
-
sx: {
|
|
118
|
-
visibility:
|
|
119
|
-
}
|
|
117
|
+
sx: [searchValue ? {
|
|
118
|
+
visibility: 'visible'
|
|
119
|
+
} : {
|
|
120
|
+
visibility: 'hidden'
|
|
121
|
+
}],
|
|
120
122
|
onClick: handleSearchReset
|
|
121
123
|
}, rootProps.slotProps?.baseIconButton, {
|
|
122
124
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.quickFilterClearIcon, {
|
|
@@ -9,7 +9,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _system = require("@mui/system");
|
|
11
11
|
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
12
|
-
var
|
|
12
|
+
var _useGridConfiguration = require("../../hooks/utils/useGridConfiguration");
|
|
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; }
|
|
@@ -28,8 +28,9 @@ const Element = (0, _system.styled)('div', {
|
|
|
28
28
|
overflow: 'hidden'
|
|
29
29
|
});
|
|
30
30
|
const GridMainContainer = exports.GridMainContainer = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
31
|
-
const ariaAttributes = (0, _useGridAriaAttributes.useGridAriaAttributes)();
|
|
32
31
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
32
|
+
const configuration = (0, _useGridConfiguration.useGridConfiguration)();
|
|
33
|
+
const ariaAttributes = configuration.hooks.useGridAriaAttributes();
|
|
33
34
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Element, (0, _extends2.default)({
|
|
34
35
|
ref: ref,
|
|
35
36
|
ownerState: rootProps,
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.GridVirtualScrollerFiller = void 0;
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _system = require("@mui/system");
|
|
9
|
-
var _fastMemo = require("
|
|
9
|
+
var _fastMemo = require("@mui/x-internals/fastMemo");
|
|
10
10
|
var _useGridSelector = require("../../hooks/utils/useGridSelector");
|
|
11
11
|
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
|
|
12
12
|
var _dimensions = require("../../hooks/features/dimensions");
|
|
@@ -8,22 +8,27 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _GridApiContext = require("../components/GridApiContext");
|
|
9
9
|
var _useGridPrivateApiContext = require("../hooks/utils/useGridPrivateApiContext");
|
|
10
10
|
var _GridRootPropsContext = require("./GridRootPropsContext");
|
|
11
|
+
var _GridConfigurationContext = require("../components/GridConfigurationContext");
|
|
11
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
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); }
|
|
13
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; }
|
|
14
15
|
function GridContextProvider({
|
|
15
16
|
privateApiRef,
|
|
17
|
+
configuration,
|
|
16
18
|
props,
|
|
17
19
|
children
|
|
18
20
|
}) {
|
|
19
21
|
const apiRef = React.useRef(privateApiRef.current.getPublicApi());
|
|
20
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
21
|
-
value:
|
|
22
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
23
|
-
value:
|
|
24
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
25
|
-
value:
|
|
26
|
-
children:
|
|
22
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridConfigurationContext.GridConfigurationContext.Provider, {
|
|
23
|
+
value: configuration,
|
|
24
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridRootPropsContext.GridRootPropsContext.Provider, {
|
|
25
|
+
value: props,
|
|
26
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_useGridPrivateApiContext.GridPrivateApiContext.Provider, {
|
|
27
|
+
value: privateApiRef,
|
|
28
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridApiContext.GridApiContext.Provider, {
|
|
29
|
+
value: apiRef,
|
|
30
|
+
children: children
|
|
31
|
+
})
|
|
27
32
|
})
|
|
28
33
|
})
|
|
29
34
|
});
|
|
@@ -57,9 +57,7 @@ const useGridStateInitialization = apiRef => {
|
|
|
57
57
|
if (!ignoreSetState) {
|
|
58
58
|
// We always assign it as we mutate rows for perf reason.
|
|
59
59
|
apiRef.current.state = newState;
|
|
60
|
-
|
|
61
|
-
apiRef.current.publishEvent('stateChange', newState);
|
|
62
|
-
}
|
|
60
|
+
apiRef.current.publishEvent('stateChange', newState);
|
|
63
61
|
apiRef.current.store.update(newState);
|
|
64
62
|
}
|
|
65
63
|
if (updatedControlStateIds.length === 1) {
|
|
@@ -9,9 +9,9 @@ exports.useGridDimensions = useGridDimensions;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _utils = require("@mui/utils");
|
|
12
|
+
var _throttle = require("@mui/x-internals/throttle");
|
|
12
13
|
var _useGridApiEventHandler = require("../../utils/useGridApiEventHandler");
|
|
13
14
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
14
|
-
var _throttle = require("../../../utils/throttle");
|
|
15
15
|
var _useGridLogger = require("../../utils/useGridLogger");
|
|
16
16
|
var _columns = require("../columns");
|
|
17
17
|
var _gridDimensionsSelectors = require("./gridDimensionsSelectors");
|
|
@@ -8,6 +8,9 @@ exports.serializeCellValue = void 0;
|
|
|
8
8
|
var _colDef = require("../../../../colDef");
|
|
9
9
|
var _warning = require("../../../../internals/utils/warning");
|
|
10
10
|
function sanitizeCellValue(value, csvOptions) {
|
|
11
|
+
if (value === null || value === undefined) {
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
11
14
|
const valueStr = typeof value === 'string' ? value : `${value}`;
|
|
12
15
|
if (csvOptions.shouldAppendQuotes || csvOptions.escapeFormulas) {
|
|
13
16
|
const escapedValue = valueStr.replace(/"/g, '""');
|
|
@@ -59,9 +62,7 @@ class CSVRow {
|
|
|
59
62
|
if (!this.isEmpty) {
|
|
60
63
|
this.rowString += this.options.csvOptions.delimiter;
|
|
61
64
|
}
|
|
62
|
-
if (
|
|
63
|
-
this.rowString += '';
|
|
64
|
-
} else if (typeof this.options.sanitizeCellValue === 'function') {
|
|
65
|
+
if (typeof this.options.sanitizeCellValue === 'function') {
|
|
65
66
|
this.rowString += this.options.sanitizeCellValue(value, this.options.csvOptions);
|
|
66
67
|
} else {
|
|
67
68
|
this.rowString += value;
|
|
@@ -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.gridFilteredRowCountSelector = exports.gridFilteredDescendantRowCountSelector = 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.gridFilteredChildrenCountLookupSelector = exports.gridFilterModelSelector = exports.gridFilterActiveItemsSelector = exports.gridFilterActiveItemsLookupSelector = exports.gridExpandedSortedRowTreeLevelPositionLookupSelector = 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");
|
|
@@ -38,6 +38,12 @@ const gridVisibleRowsLookupSelector = state => state.visibleRowsLookup;
|
|
|
38
38
|
exports.gridVisibleRowsLookupSelector = gridVisibleRowsLookupSelector;
|
|
39
39
|
const gridFilteredRowsLookupSelector = exports.gridFilteredRowsLookupSelector = (0, _createSelector.createSelector)(gridFilterStateSelector, filterState => filterState.filteredRowsLookup);
|
|
40
40
|
|
|
41
|
+
/**
|
|
42
|
+
* @category Filtering
|
|
43
|
+
* @ignore - do not document.
|
|
44
|
+
*/
|
|
45
|
+
const gridFilteredChildrenCountLookupSelector = exports.gridFilteredChildrenCountLookupSelector = (0, _createSelector.createSelector)(gridFilterStateSelector, filterState => filterState.filteredChildrenCountLookup);
|
|
46
|
+
|
|
41
47
|
/**
|
|
42
48
|
* @category Filtering
|
|
43
49
|
* @ignore - do not document.
|
|
@@ -72,6 +78,34 @@ const gridFilteredSortedRowEntriesSelector = exports.gridFilteredSortedRowEntrie
|
|
|
72
78
|
*/
|
|
73
79
|
const gridFilteredSortedRowIdsSelector = exports.gridFilteredSortedRowIdsSelector = (0, _createSelector.createSelectorMemoized)(gridFilteredSortedRowEntriesSelector, filteredSortedRowEntries => filteredSortedRowEntries.map(row => row.id));
|
|
74
80
|
|
|
81
|
+
/**
|
|
82
|
+
* Get the ids to position in the current tree level lookup of the rows accessible after the filtering process.
|
|
83
|
+
* Does not contain the collapsed children.
|
|
84
|
+
* @category Filtering
|
|
85
|
+
* @ignore - do not document.
|
|
86
|
+
*/
|
|
87
|
+
const gridExpandedSortedRowTreeLevelPositionLookupSelector = exports.gridExpandedSortedRowTreeLevelPositionLookupSelector = (0, _createSelector.createSelectorMemoized)(gridExpandedSortedRowIdsSelector, _gridRowsSelector.gridRowTreeSelector, (visibleSortedRowIds, rowTree) => {
|
|
88
|
+
const depthPositionCounter = {};
|
|
89
|
+
let lastDepth = 0;
|
|
90
|
+
return visibleSortedRowIds.reduce((acc, rowId) => {
|
|
91
|
+
const rowNode = rowTree[rowId];
|
|
92
|
+
if (!depthPositionCounter[rowNode.depth]) {
|
|
93
|
+
depthPositionCounter[rowNode.depth] = 0;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// going deeper in the tree should reset the counter
|
|
97
|
+
// since it might have been used in some other branch at the same level, up in the tree
|
|
98
|
+
// going back up should keep the counter and continue where it left off
|
|
99
|
+
if (rowNode.depth > lastDepth) {
|
|
100
|
+
depthPositionCounter[rowNode.depth] = 0;
|
|
101
|
+
}
|
|
102
|
+
lastDepth = rowNode.depth;
|
|
103
|
+
depthPositionCounter[rowNode.depth] += 1;
|
|
104
|
+
acc[rowId] = depthPositionCounter[rowNode.depth];
|
|
105
|
+
return acc;
|
|
106
|
+
}, {});
|
|
107
|
+
});
|
|
108
|
+
|
|
75
109
|
/**
|
|
76
110
|
* Get the id and the model of the top level rows accessible after the filtering process.
|
|
77
111
|
* @category Filtering
|
|
@@ -3,25 +3,107 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
var _exportNames = {
|
|
7
|
-
getDefaultGridFilterModel: true
|
|
8
|
-
};
|
|
9
6
|
Object.defineProperty(exports, "getDefaultGridFilterModel", {
|
|
10
7
|
enumerable: true,
|
|
11
8
|
get: function () {
|
|
12
9
|
return _gridFilterState.getDefaultGridFilterModel;
|
|
13
10
|
}
|
|
14
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "gridExpandedRowCountSelector", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _gridFilterSelector.gridExpandedRowCountSelector;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "gridExpandedSortedRowEntriesSelector", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _gridFilterSelector.gridExpandedSortedRowEntriesSelector;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "gridExpandedSortedRowIdsSelector", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _gridFilterSelector.gridExpandedSortedRowIdsSelector;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "gridFilterActiveItemsLookupSelector", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _gridFilterSelector.gridFilterActiveItemsLookupSelector;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "gridFilterActiveItemsSelector", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () {
|
|
39
|
+
return _gridFilterSelector.gridFilterActiveItemsSelector;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(exports, "gridFilterModelSelector", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _gridFilterSelector.gridFilterModelSelector;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
Object.defineProperty(exports, "gridFilteredDescendantCountLookupSelector", {
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () {
|
|
51
|
+
return _gridFilterSelector.gridFilteredDescendantCountLookupSelector;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
Object.defineProperty(exports, "gridFilteredDescendantRowCountSelector", {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _gridFilterSelector.gridFilteredDescendantRowCountSelector;
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "gridFilteredRowCountSelector", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () {
|
|
63
|
+
return _gridFilterSelector.gridFilteredRowCountSelector;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
Object.defineProperty(exports, "gridFilteredRowsLookupSelector", {
|
|
67
|
+
enumerable: true,
|
|
68
|
+
get: function () {
|
|
69
|
+
return _gridFilterSelector.gridFilteredRowsLookupSelector;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
Object.defineProperty(exports, "gridFilteredSortedRowEntriesSelector", {
|
|
73
|
+
enumerable: true,
|
|
74
|
+
get: function () {
|
|
75
|
+
return _gridFilterSelector.gridFilteredSortedRowEntriesSelector;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
Object.defineProperty(exports, "gridFilteredSortedRowIdsSelector", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
get: function () {
|
|
81
|
+
return _gridFilterSelector.gridFilteredSortedRowIdsSelector;
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(exports, "gridFilteredSortedTopLevelRowEntriesSelector", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
get: function () {
|
|
87
|
+
return _gridFilterSelector.gridFilteredSortedTopLevelRowEntriesSelector;
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
Object.defineProperty(exports, "gridFilteredTopLevelRowCountSelector", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () {
|
|
93
|
+
return _gridFilterSelector.gridFilteredTopLevelRowCountSelector;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
Object.defineProperty(exports, "gridQuickFilterValuesSelector", {
|
|
97
|
+
enumerable: true,
|
|
98
|
+
get: function () {
|
|
99
|
+
return _gridFilterSelector.gridQuickFilterValuesSelector;
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
Object.defineProperty(exports, "gridVisibleRowsLookupSelector", {
|
|
103
|
+
enumerable: true,
|
|
104
|
+
get: function () {
|
|
105
|
+
return _gridFilterSelector.gridVisibleRowsLookupSelector;
|
|
106
|
+
}
|
|
107
|
+
});
|
|
15
108
|
var _gridFilterState = require("./gridFilterState");
|
|
16
|
-
var _gridFilterSelector = require("./gridFilterSelector");
|
|
17
|
-
Object.keys(_gridFilterSelector).forEach(function (key) {
|
|
18
|
-
if (key === "default" || key === "__esModule") return;
|
|
19
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
20
|
-
if (key in exports && exports[key] === _gridFilterSelector[key]) return;
|
|
21
|
-
Object.defineProperty(exports, key, {
|
|
22
|
-
enumerable: true,
|
|
23
|
-
get: function () {
|
|
24
|
-
return _gridFilterSelector[key];
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
});
|
|
109
|
+
var _gridFilterSelector = require("./gridFilterSelector");
|