@mui/x-data-grid 6.16.0 → 6.16.2
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 +165 -1
- package/DataGrid/DataGrid.d.ts +7 -0
- package/DataGrid/DataGrid.js +8 -1
- package/colDef/gridDateColDef.js +0 -4
- package/components/GridRow.js +7 -3
- package/components/cell/GridCell.js +7 -3
- package/components/containers/GridRootStyles.js +13 -0
- package/components/panel/filterPanel/GridFilterForm.d.ts +7 -0
- package/components/panel/filterPanel/GridFilterForm.js +8 -0
- package/components/panel/filterPanel/GridFilterPanel.d.ts +7 -0
- package/components/panel/filterPanel/GridFilterPanel.js +8 -0
- package/components/toolbar/GridToolbarQuickFilter.d.ts +8 -0
- package/components/toolbar/GridToolbarQuickFilter.js +9 -0
- package/components/virtualization/GridVirtualScroller.js +3 -1
- package/constants/gridClasses.d.ts +8 -0
- package/constants/gridClasses.js +1 -1
- package/hooks/features/columnGrouping/gridColumnGroupsUtils.d.ts +4 -1
- package/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
- package/hooks/features/columnGrouping/useGridColumnGrouping.js +12 -6
- package/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -2
- package/hooks/features/columns/gridColumnsUtils.js +0 -1
- package/hooks/features/filter/gridFilterUtils.js +4 -4
- package/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
- package/index.js +1 -1
- package/legacy/DataGrid/DataGrid.js +8 -1
- package/legacy/colDef/gridDateColDef.js +0 -4
- package/legacy/components/GridRow.js +6 -2
- package/legacy/components/cell/GridCell.js +7 -3
- package/legacy/components/containers/GridRootStyles.js +15 -9
- package/legacy/components/panel/filterPanel/GridFilterForm.js +8 -0
- package/legacy/components/panel/filterPanel/GridFilterPanel.js +8 -0
- package/legacy/components/toolbar/GridToolbarQuickFilter.js +9 -0
- package/legacy/components/virtualization/GridVirtualScroller.js +3 -1
- package/legacy/constants/gridClasses.js +1 -1
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
- package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +12 -6
- package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -1
- package/legacy/hooks/features/filter/gridFilterUtils.js +4 -4
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
- package/legacy/index.js +1 -1
- package/legacy/locales/arSD.js +26 -28
- package/legacy/locales/roRO.js +1 -1
- package/locales/arSD.js +26 -28
- package/locales/roRO.js +1 -1
- package/models/events/gridEventLookup.d.ts +14 -0
- package/models/props/DataGridProps.d.ts +1 -1
- package/modern/DataGrid/DataGrid.js +8 -1
- package/modern/colDef/gridDateColDef.js +0 -4
- package/modern/components/GridRow.js +7 -3
- package/modern/components/cell/GridCell.js +6 -2
- package/modern/components/containers/GridRootStyles.js +13 -0
- package/modern/components/panel/filterPanel/GridFilterForm.js +8 -0
- package/modern/components/panel/filterPanel/GridFilterPanel.js +8 -0
- package/modern/components/toolbar/GridToolbarQuickFilter.js +9 -0
- package/modern/components/virtualization/GridVirtualScroller.js +3 -1
- package/modern/constants/gridClasses.js +1 -1
- package/modern/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
- package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +10 -3
- package/modern/hooks/features/columns/gridColumnsUtils.js +0 -1
- package/modern/hooks/features/filter/gridFilterUtils.js +4 -4
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
- package/modern/index.js +1 -1
- package/modern/locales/arSD.js +26 -28
- package/modern/locales/roRO.js +1 -1
- package/node/DataGrid/DataGrid.js +11 -7
- package/node/DataGrid/useDataGridProps.js +1 -2
- package/node/colDef/gridActionsColDef.js +3 -5
- package/node/colDef/gridBooleanColDef.js +2 -3
- package/node/colDef/gridCheckboxSelectionColDef.js +3 -5
- package/node/colDef/gridDateColDef.js +3 -9
- package/node/colDef/gridDefaultColumnTypes.js +1 -2
- package/node/colDef/gridNumericColDef.js +2 -3
- package/node/colDef/gridNumericOperators.js +1 -2
- package/node/colDef/gridSingleSelectColDef.js +2 -3
- package/node/colDef/gridStringColDef.js +2 -3
- package/node/colDef/gridStringOperators.js +1 -2
- package/node/colDef/utils.js +1 -2
- package/node/components/DataGridVirtualScroller.js +2 -3
- package/node/components/GridApiContext.js +1 -2
- package/node/components/GridColumnHeaders.js +1 -2
- package/node/components/GridFooter.js +1 -2
- package/node/components/GridLoadingOverlay.js +1 -2
- package/node/components/GridNoResultsOverlay.js +2 -3
- package/node/components/GridNoRowsOverlay.js +1 -2
- package/node/components/GridPagination.js +2 -3
- package/node/components/GridRow.js +8 -5
- package/node/components/GridRowCount.js +1 -2
- package/node/components/GridSelectedRowCount.js +1 -2
- package/node/components/cell/GridActionsCellItem.js +1 -2
- package/node/components/cell/GridBooleanCell.js +1 -2
- package/node/components/cell/GridCell.js +9 -8
- package/node/components/cell/GridEditInputCell.js +1 -2
- package/node/components/cell/GridEditSingleSelectCell.js +3 -2
- package/node/components/columnHeaders/ColumnHeaderMenuIcon.js +2 -3
- package/node/components/columnHeaders/GridBaseColumnHeaders.js +2 -3
- package/node/components/columnHeaders/GridColumnHeaderSeparator.js +2 -4
- package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
- package/node/components/columnHeaders/GridColumnHeadersInner.js +2 -3
- package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +2 -3
- package/node/components/columnHeaders/GridIconButtonContainer.js +2 -3
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +2 -4
- package/node/components/columnSelection/GridHeaderCheckbox.js +1 -2
- package/node/components/containers/GridFooterContainer.js +1 -2
- package/node/components/containers/GridMainContainer.js +2 -3
- package/node/components/containers/GridOverlay.js +1 -2
- package/node/components/containers/GridRoot.js +1 -2
- package/node/components/containers/GridRootStyles.js +15 -3
- package/node/components/containers/GridToolbarContainer.js +1 -2
- package/node/components/menu/columnMenu/GridColumnMenu.js +4 -8
- package/node/components/menu/columnMenu/GridColumnMenuContainer.js +1 -2
- package/node/components/panel/GridPanel.js +2 -4
- package/node/components/panel/GridPanelWrapper.js +1 -2
- package/node/components/panel/GridPreferencesPanel.js +2 -3
- package/node/components/panel/filterPanel/GridFilterForm.js +15 -7
- package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +3 -2
- package/node/components/panel/filterPanel/GridFilterPanel.js +10 -3
- package/node/components/toolbar/GridToolbar.js +1 -2
- package/node/components/toolbar/GridToolbarColumnsButton.js +2 -3
- package/node/components/toolbar/GridToolbarDensitySelector.js +2 -3
- package/node/components/toolbar/GridToolbarExport.js +1 -2
- package/node/components/toolbar/GridToolbarExportContainer.js +2 -3
- package/node/components/toolbar/GridToolbarFilterButton.js +1 -2
- package/node/components/toolbar/GridToolbarQuickFilter.js +10 -1
- package/node/components/virtualization/GridVirtualScroller.js +5 -4
- package/node/components/virtualization/GridVirtualScrollerContent.js +2 -3
- package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -3
- package/node/constants/defaultGridSlotsComponents.js +2 -3
- package/node/constants/envConstants.js +1 -2
- package/node/constants/gridClasses.js +1 -2
- package/node/constants/gridDetailPanelToggleField.js +1 -2
- package/node/constants/localeTextConstants.js +2 -3
- package/node/context/GridRootPropsContext.js +1 -2
- package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -4
- package/node/hooks/features/columnGrouping/gridColumnGroupsSelector.js +4 -8
- package/node/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
- package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +10 -3
- package/node/hooks/features/columns/gridColumnsSelector.js +11 -21
- package/node/hooks/features/columns/gridColumnsUtils.js +1 -3
- package/node/hooks/features/density/densitySelector.js +2 -4
- package/node/hooks/features/density/useGridDensity.js +2 -4
- package/node/hooks/features/filter/gridFilterSelector.js +14 -27
- package/node/hooks/features/filter/gridFilterUtils.js +4 -4
- package/node/hooks/features/focus/gridFocusStateSelector.js +8 -16
- package/node/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +2 -4
- package/node/hooks/features/pagination/gridPaginationSelector.js +8 -15
- package/node/hooks/features/pagination/gridPaginationUtils.js +1 -2
- package/node/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +2 -3
- package/node/hooks/features/rowSelection/gridRowSelectionSelector.js +4 -7
- package/node/hooks/features/rows/gridRowsSelector.js +14 -27
- package/node/hooks/features/rows/gridRowsUtils.js +2 -4
- package/node/hooks/features/sorting/gridSortingSelector.js +5 -9
- package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +2 -4
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
- package/node/hooks/utils/useGridApiEventHandler.js +2 -4
- package/node/hooks/utils/useGridPrivateApiContext.js +1 -2
- package/node/hooks/utils/useGridSelector.js +1 -2
- package/node/index.js +1 -1
- package/node/joy/icons.js +30 -60
- package/node/joy/joySlots.js +1 -2
- package/node/locales/arSD.js +27 -30
- package/node/locales/beBY.js +1 -2
- package/node/locales/bgBG.js +1 -2
- package/node/locales/coreLocales.js +3 -5
- package/node/locales/csCZ.js +1 -2
- package/node/locales/daDK.js +1 -2
- package/node/locales/deDE.js +1 -2
- package/node/locales/elGR.js +1 -2
- package/node/locales/enUS.js +1 -2
- package/node/locales/esES.js +1 -2
- package/node/locales/faIR.js +1 -2
- package/node/locales/fiFI.js +1 -2
- package/node/locales/frFR.js +1 -2
- package/node/locales/heIL.js +1 -2
- package/node/locales/huHU.js +1 -2
- package/node/locales/itIT.js +1 -2
- package/node/locales/jaJP.js +1 -2
- package/node/locales/koKR.js +1 -2
- package/node/locales/nbNO.js +1 -2
- package/node/locales/nlNL.js +1 -2
- package/node/locales/plPL.js +1 -2
- package/node/locales/ptBR.js +1 -2
- package/node/locales/roRO.js +2 -3
- package/node/locales/ruRU.js +1 -2
- package/node/locales/skSK.js +1 -2
- package/node/locales/svSE.js +1 -2
- package/node/locales/trTR.js +1 -2
- package/node/locales/ukUA.js +1 -2
- package/node/locales/urPK.js +1 -2
- package/node/locales/viVN.js +1 -2
- package/node/locales/zhCN.js +1 -2
- package/node/locales/zhTW.js +1 -2
- package/node/material/icons/GridColumnUnsortedIcon.js +2 -3
- package/node/material/icons/index.js +29 -57
- package/node/material/index.js +1 -2
- package/node/models/gridEditRowModel.js +4 -7
- package/node/models/gridFilterItem.js +2 -3
- package/node/models/params/gridEditCellParams.js +3 -5
- package/node/models/params/gridRowParams.js +3 -5
- package/node/utils/keyboardUtils.js +3 -6
- package/package.json +3 -3
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.GRID_DEFAULT_LOCALE_TEXT = void 0;
|
|
7
|
-
const GRID_DEFAULT_LOCALE_TEXT = {
|
|
7
|
+
const GRID_DEFAULT_LOCALE_TEXT = exports.GRID_DEFAULT_LOCALE_TEXT = {
|
|
8
8
|
// Root
|
|
9
9
|
noRowsLabel: 'No rows',
|
|
10
10
|
noResultsOverlayLabel: 'No results found.',
|
|
@@ -151,5 +151,4 @@ const GRID_DEFAULT_LOCALE_TEXT = {
|
|
|
151
151
|
aggregationFunctionLabelMin: 'min',
|
|
152
152
|
aggregationFunctionLabelMax: 'max',
|
|
153
153
|
aggregationFunctionLabelSize: 'size'
|
|
154
|
-
};
|
|
155
|
-
exports.GRID_DEFAULT_LOCALE_TEXT = GRID_DEFAULT_LOCALE_TEXT;
|
|
154
|
+
};
|
|
@@ -7,8 +7,7 @@ exports.GridRootPropsContext = void 0;
|
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
8
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
9
9
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
10
|
-
const GridRootPropsContext = /*#__PURE__*/React.createContext(undefined);
|
|
11
|
-
exports.GridRootPropsContext = GridRootPropsContext;
|
|
10
|
+
const GridRootPropsContext = exports.GridRootPropsContext = /*#__PURE__*/React.createContext(undefined);
|
|
12
11
|
if (process.env.NODE_ENV !== 'production') {
|
|
13
12
|
GridRootPropsContext.displayName = 'GridRootPropsContext';
|
|
14
13
|
}
|
|
@@ -11,15 +11,13 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
12
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
13
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
-
const GRID_DEFAULT_STRATEGY = 'none';
|
|
15
|
-
exports.
|
|
16
|
-
const GRID_STRATEGIES_PROCESSORS = {
|
|
14
|
+
const GRID_DEFAULT_STRATEGY = exports.GRID_DEFAULT_STRATEGY = 'none';
|
|
15
|
+
const GRID_STRATEGIES_PROCESSORS = exports.GRID_STRATEGIES_PROCESSORS = {
|
|
17
16
|
rowTreeCreation: 'rowTree',
|
|
18
17
|
filtering: 'rowTree',
|
|
19
18
|
sorting: 'rowTree',
|
|
20
19
|
visibleRowsLookupCreation: 'rowTree'
|
|
21
20
|
};
|
|
22
|
-
exports.GRID_STRATEGIES_PROCESSORS = GRID_STRATEGIES_PROCESSORS;
|
|
23
21
|
/**
|
|
24
22
|
* Implements a variant of the Strategy Pattern (see https://en.wikipedia.org/wiki/Strategy_pattern)
|
|
25
23
|
*
|
|
@@ -11,11 +11,7 @@ var _createSelector = require("../../../utils/createSelector");
|
|
|
11
11
|
*/
|
|
12
12
|
const gridColumnGroupingSelector = state => state.columnGrouping;
|
|
13
13
|
exports.gridColumnGroupingSelector = gridColumnGroupingSelector;
|
|
14
|
-
const gridColumnGroupsUnwrappedModelSelector = (0, _createSelector.createSelectorMemoized)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.unwrappedGroupingModel ?? {});
|
|
15
|
-
exports.
|
|
16
|
-
const
|
|
17
|
-
exports.
|
|
18
|
-
const gridColumnGroupsHeaderStructureSelector = (0, _createSelector.createSelectorMemoized)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.headerStructure ?? []);
|
|
19
|
-
exports.gridColumnGroupsHeaderStructureSelector = gridColumnGroupsHeaderStructureSelector;
|
|
20
|
-
const gridColumnGroupsHeaderMaxDepthSelector = (0, _createSelector.createSelector)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.maxDepth ?? 0);
|
|
21
|
-
exports.gridColumnGroupsHeaderMaxDepthSelector = gridColumnGroupsHeaderMaxDepthSelector;
|
|
14
|
+
const gridColumnGroupsUnwrappedModelSelector = exports.gridColumnGroupsUnwrappedModelSelector = (0, _createSelector.createSelectorMemoized)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.unwrappedGroupingModel ?? {});
|
|
15
|
+
const gridColumnGroupsLookupSelector = exports.gridColumnGroupsLookupSelector = (0, _createSelector.createSelectorMemoized)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.lookup ?? {});
|
|
16
|
+
const gridColumnGroupsHeaderStructureSelector = exports.gridColumnGroupsHeaderStructureSelector = (0, _createSelector.createSelectorMemoized)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.headerStructure ?? []);
|
|
17
|
+
const gridColumnGroupsHeaderMaxDepthSelector = exports.gridColumnGroupsHeaderMaxDepthSelector = (0, _createSelector.createSelector)(gridColumnGroupingSelector, columnGrouping => columnGrouping?.maxDepth ?? 0);
|
|
@@ -41,11 +41,20 @@ const unwrapGroupingColumnModel = columnGroupingModel => {
|
|
|
41
41
|
return unwrappedSubTree;
|
|
42
42
|
};
|
|
43
43
|
exports.unwrapGroupingColumnModel = unwrapGroupingColumnModel;
|
|
44
|
-
const getColumnGroupsHeaderStructure = (orderedColumns, unwrappedGroupingModel) => {
|
|
44
|
+
const getColumnGroupsHeaderStructure = (orderedColumns, unwrappedGroupingModel, pinnedFields) => {
|
|
45
45
|
const getParents = field => unwrappedGroupingModel[field] ?? [];
|
|
46
46
|
const groupingHeaderStructure = [];
|
|
47
47
|
const maxDepth = Math.max(...orderedColumns.map(field => getParents(field).length));
|
|
48
48
|
const haveSameParents = (field1, field2, depth) => (0, _utils.isDeepEqual)(getParents(field1).slice(0, depth + 1), getParents(field2).slice(0, depth + 1));
|
|
49
|
+
const haveDifferentContainers = (field1, field2) => {
|
|
50
|
+
if (pinnedFields?.left && pinnedFields.left.includes(field1) && !pinnedFields.left.includes(field2)) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
if (pinnedFields?.right && !pinnedFields.right.includes(field1) && pinnedFields.right.includes(field2)) {
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
};
|
|
49
58
|
for (let depth = 0; depth < maxDepth; depth += 1) {
|
|
50
59
|
const depthStructure = orderedColumns.reduce((structure, newField) => {
|
|
51
60
|
const groupId = getParents(newField)[depth] ?? null;
|
|
@@ -58,7 +67,9 @@ const getColumnGroupsHeaderStructure = (orderedColumns, unwrappedGroupingModel)
|
|
|
58
67
|
const lastGroup = structure[structure.length - 1];
|
|
59
68
|
const prevField = lastGroup.columnFields[lastGroup.columnFields.length - 1];
|
|
60
69
|
const prevGroupId = lastGroup.groupId;
|
|
61
|
-
if (prevGroupId !== groupId || !haveSameParents(prevField, newField, depth)
|
|
70
|
+
if (prevGroupId !== groupId || !haveSameParents(prevField, newField, depth) ||
|
|
71
|
+
// Fix for https://github.com/mui/mui-x/issues/7041
|
|
72
|
+
haveDifferentContainers(prevField, newField)) {
|
|
62
73
|
// It's a new group
|
|
63
74
|
return [...structure, {
|
|
64
75
|
columnFields: [newField],
|
|
@@ -55,7 +55,9 @@ const columnGroupsStateInitializer = (state, props, apiRef) => {
|
|
|
55
55
|
const visibleColumnFields = (0, _columns.gridVisibleColumnFieldsSelector)(apiRef);
|
|
56
56
|
const groupLookup = createGroupLookup(props.columnGroupingModel ?? []);
|
|
57
57
|
const unwrappedGroupingModel = (0, _gridColumnGroupsUtils.unwrapGroupingColumnModel)(props.columnGroupingModel ?? []);
|
|
58
|
-
const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(columnFields, unwrappedGroupingModel
|
|
58
|
+
const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(columnFields, unwrappedGroupingModel,
|
|
59
|
+
// @ts-expect-error Move this part to `Pro` package
|
|
60
|
+
apiRef.current.state.pinnedColumns ?? {});
|
|
59
61
|
const maxDepth = visibleColumnFields.length === 0 ? 0 : Math.max(...visibleColumnFields.map(field => unwrappedGroupingModel[field]?.length ?? 0));
|
|
60
62
|
return (0, _extends2.default)({}, state, {
|
|
61
63
|
columnGrouping: {
|
|
@@ -93,7 +95,10 @@ const useGridColumnGrouping = (apiRef, props) => {
|
|
|
93
95
|
const unwrappedGroupingModel = (0, _gridColumnGroupsUtils.unwrapGroupingColumnModel)(props.columnGroupingModel ?? []);
|
|
94
96
|
apiRef.current.setState(state => {
|
|
95
97
|
const orderedFields = state.columns?.orderedFields ?? [];
|
|
96
|
-
|
|
98
|
+
|
|
99
|
+
// @ts-expect-error Move this logic to `Pro` package
|
|
100
|
+
const pinnedColumns = state.pinnedColumns ?? {};
|
|
101
|
+
const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(orderedFields, unwrappedGroupingModel, pinnedColumns);
|
|
97
102
|
return (0, _extends2.default)({}, state, {
|
|
98
103
|
columnGrouping: (0, _extends2.default)({}, state.columnGrouping, {
|
|
99
104
|
headerStructure: columnGroupsHeaderStructure
|
|
@@ -105,11 +110,13 @@ const useGridColumnGrouping = (apiRef, props) => {
|
|
|
105
110
|
if (!props.experimentalFeatures?.columnGrouping) {
|
|
106
111
|
return;
|
|
107
112
|
}
|
|
113
|
+
// @ts-expect-error Move this logic to `Pro` package
|
|
114
|
+
const pinnedColumns = apiRef.current.getPinnedColumns?.() ?? {};
|
|
108
115
|
const columnFields = (0, _columns.gridColumnFieldsSelector)(apiRef);
|
|
109
116
|
const visibleColumnFields = (0, _columns.gridVisibleColumnFieldsSelector)(apiRef);
|
|
110
117
|
const groupLookup = createGroupLookup(columnGroupingModel ?? []);
|
|
111
118
|
const unwrappedGroupingModel = (0, _gridColumnGroupsUtils.unwrapGroupingColumnModel)(columnGroupingModel ?? []);
|
|
112
|
-
const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(columnFields, unwrappedGroupingModel);
|
|
119
|
+
const columnGroupsHeaderStructure = (0, _gridColumnGroupsUtils.getColumnGroupsHeaderStructure)(columnFields, unwrappedGroupingModel, pinnedColumns);
|
|
113
120
|
const maxDepth = visibleColumnFields.length === 0 ? 0 : Math.max(...visibleColumnFields.map(field => unwrappedGroupingModel[field]?.length ?? 0));
|
|
114
121
|
apiRef.current.setState(state => {
|
|
115
122
|
return (0, _extends2.default)({}, state, {
|
|
@@ -16,50 +16,44 @@ const gridColumnsStateSelector = state => state.columns;
|
|
|
16
16
|
* @category Columns
|
|
17
17
|
*/
|
|
18
18
|
exports.gridColumnsStateSelector = gridColumnsStateSelector;
|
|
19
|
-
const gridColumnFieldsSelector = (0, _createSelector.createSelector)(gridColumnsStateSelector, columnsState => columnsState.orderedFields);
|
|
19
|
+
const gridColumnFieldsSelector = exports.gridColumnFieldsSelector = (0, _createSelector.createSelector)(gridColumnsStateSelector, columnsState => columnsState.orderedFields);
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
22
|
* Get the columns as a lookup (an object containing the field for keys and the definition for values).
|
|
23
23
|
* @category Columns
|
|
24
24
|
*/
|
|
25
|
-
exports.
|
|
26
|
-
const gridColumnLookupSelector = (0, _createSelector.createSelector)(gridColumnsStateSelector, columnsState => columnsState.lookup);
|
|
25
|
+
const gridColumnLookupSelector = exports.gridColumnLookupSelector = (0, _createSelector.createSelector)(gridColumnsStateSelector, columnsState => columnsState.lookup);
|
|
27
26
|
|
|
28
27
|
/**
|
|
29
28
|
* Get an array of column definitions in the order rendered on screen..
|
|
30
29
|
* @category Columns
|
|
31
30
|
*/
|
|
32
|
-
exports.
|
|
33
|
-
const gridColumnDefinitionsSelector = (0, _createSelector.createSelectorMemoized)(gridColumnFieldsSelector, gridColumnLookupSelector, (allFields, lookup) => allFields.map(field => lookup[field]));
|
|
31
|
+
const gridColumnDefinitionsSelector = exports.gridColumnDefinitionsSelector = (0, _createSelector.createSelectorMemoized)(gridColumnFieldsSelector, gridColumnLookupSelector, (allFields, lookup) => allFields.map(field => lookup[field]));
|
|
34
32
|
|
|
35
33
|
/**
|
|
36
34
|
* Get the column visibility model, containing the visibility status of each column.
|
|
37
35
|
* If a column is not registered in the model, it is visible.
|
|
38
36
|
* @category Visible Columns
|
|
39
37
|
*/
|
|
40
|
-
exports.
|
|
41
|
-
const gridColumnVisibilityModelSelector = (0, _createSelector.createSelector)(gridColumnsStateSelector, columnsState => columnsState.columnVisibilityModel);
|
|
38
|
+
const gridColumnVisibilityModelSelector = exports.gridColumnVisibilityModelSelector = (0, _createSelector.createSelector)(gridColumnsStateSelector, columnsState => columnsState.columnVisibilityModel);
|
|
42
39
|
|
|
43
40
|
/**
|
|
44
41
|
* Get the visible columns as a lookup (an object containing the field for keys and the definition for values).
|
|
45
42
|
* @category Visible Columns
|
|
46
43
|
*/
|
|
47
|
-
exports.
|
|
48
|
-
const gridVisibleColumnDefinitionsSelector = (0, _createSelector.createSelectorMemoized)(gridColumnDefinitionsSelector, gridColumnVisibilityModelSelector, (columns, columnVisibilityModel) => columns.filter(column => columnVisibilityModel[column.field] !== false));
|
|
44
|
+
const gridVisibleColumnDefinitionsSelector = exports.gridVisibleColumnDefinitionsSelector = (0, _createSelector.createSelectorMemoized)(gridColumnDefinitionsSelector, gridColumnVisibilityModelSelector, (columns, columnVisibilityModel) => columns.filter(column => columnVisibilityModel[column.field] !== false));
|
|
49
45
|
|
|
50
46
|
/**
|
|
51
47
|
* Get the field of each visible column.
|
|
52
48
|
* @category Visible Columns
|
|
53
49
|
*/
|
|
54
|
-
exports.
|
|
55
|
-
const gridVisibleColumnFieldsSelector = (0, _createSelector.createSelectorMemoized)(gridVisibleColumnDefinitionsSelector, visibleColumns => visibleColumns.map(column => column.field));
|
|
50
|
+
const gridVisibleColumnFieldsSelector = exports.gridVisibleColumnFieldsSelector = (0, _createSelector.createSelectorMemoized)(gridVisibleColumnDefinitionsSelector, visibleColumns => visibleColumns.map(column => column.field));
|
|
56
51
|
|
|
57
52
|
/**
|
|
58
53
|
* Get the left position in pixel of each visible columns relative to the left of the first column.
|
|
59
54
|
* @category Visible Columns
|
|
60
55
|
*/
|
|
61
|
-
exports.
|
|
62
|
-
const gridColumnPositionsSelector = (0, _createSelector.createSelectorMemoized)(gridVisibleColumnDefinitionsSelector, visibleColumns => {
|
|
56
|
+
const gridColumnPositionsSelector = exports.gridColumnPositionsSelector = (0, _createSelector.createSelectorMemoized)(gridVisibleColumnDefinitionsSelector, visibleColumns => {
|
|
63
57
|
const positions = [];
|
|
64
58
|
let currentPosition = 0;
|
|
65
59
|
for (let i = 0; i < visibleColumns.length; i += 1) {
|
|
@@ -73,8 +67,7 @@ const gridColumnPositionsSelector = (0, _createSelector.createSelectorMemoized)(
|
|
|
73
67
|
* Get the summed width of all the visible columns.
|
|
74
68
|
* @category Visible Columns
|
|
75
69
|
*/
|
|
76
|
-
exports.
|
|
77
|
-
const gridColumnsTotalWidthSelector = (0, _createSelector.createSelector)(gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector, (visibleColumns, positions) => {
|
|
70
|
+
const gridColumnsTotalWidthSelector = exports.gridColumnsTotalWidthSelector = (0, _createSelector.createSelector)(gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector, (visibleColumns, positions) => {
|
|
78
71
|
const colCount = visibleColumns.length;
|
|
79
72
|
if (colCount === 0) {
|
|
80
73
|
return 0;
|
|
@@ -86,18 +79,15 @@ const gridColumnsTotalWidthSelector = (0, _createSelector.createSelector)(gridVi
|
|
|
86
79
|
* Get the filterable columns as an array.
|
|
87
80
|
* @category Columns
|
|
88
81
|
*/
|
|
89
|
-
exports.
|
|
90
|
-
const gridFilterableColumnDefinitionsSelector = (0, _createSelector.createSelectorMemoized)(gridColumnDefinitionsSelector, columns => columns.filter(col => col.filterable));
|
|
82
|
+
const gridFilterableColumnDefinitionsSelector = exports.gridFilterableColumnDefinitionsSelector = (0, _createSelector.createSelectorMemoized)(gridColumnDefinitionsSelector, columns => columns.filter(col => col.filterable));
|
|
91
83
|
|
|
92
84
|
/**
|
|
93
85
|
* Get the filterable columns as a lookup (an object containing the field for keys and the definition for values).
|
|
94
86
|
* @category Columns
|
|
95
87
|
*/
|
|
96
|
-
exports.
|
|
97
|
-
const gridFilterableColumnLookupSelector = (0, _createSelector.createSelectorMemoized)(gridColumnDefinitionsSelector, columns => columns.reduce((acc, col) => {
|
|
88
|
+
const gridFilterableColumnLookupSelector = exports.gridFilterableColumnLookupSelector = (0, _createSelector.createSelectorMemoized)(gridColumnDefinitionsSelector, columns => columns.reduce((acc, col) => {
|
|
98
89
|
if (col.filterable) {
|
|
99
90
|
acc[col.field] = col;
|
|
100
91
|
}
|
|
101
92
|
return acc;
|
|
102
|
-
}, {}));
|
|
103
|
-
exports.gridFilterableColumnLookupSelector = gridFilterableColumnLookupSelector;
|
|
93
|
+
}, {}));
|
|
@@ -17,8 +17,7 @@ var _gridColumnsSelector = require("./gridColumnsSelector");
|
|
|
17
17
|
var _utils = require("../../../utils/utils");
|
|
18
18
|
var _densitySelector = require("../density/densitySelector");
|
|
19
19
|
var _gridColumnGroupsSelector = require("../columnGrouping/gridColumnGroupsSelector");
|
|
20
|
-
const COLUMNS_DIMENSION_PROPERTIES = ['maxWidth', 'minWidth', 'width', 'flex'];
|
|
21
|
-
exports.COLUMNS_DIMENSION_PROPERTIES = COLUMNS_DIMENSION_PROPERTIES;
|
|
20
|
+
const COLUMNS_DIMENSION_PROPERTIES = exports.COLUMNS_DIMENSION_PROPERTIES = ['maxWidth', 'minWidth', 'width', 'flex'];
|
|
22
21
|
/**
|
|
23
22
|
* Computes width for flex columns.
|
|
24
23
|
* Based on CSS Flexbox specification:
|
|
@@ -64,7 +63,6 @@ function computeFlexColumnsWidth({
|
|
|
64
63
|
for (let i = 0; i < flexColumns.length; i += 1) {
|
|
65
64
|
const column = flexColumns[i];
|
|
66
65
|
if (flexColumnsLookup.all[column.field] && flexColumnsLookup.all[column.field].frozen === true) {
|
|
67
|
-
// eslint-disable-next-line no-continue
|
|
68
66
|
continue;
|
|
69
67
|
}
|
|
70
68
|
|
|
@@ -7,7 +7,5 @@ exports.gridDensityValueSelector = exports.gridDensitySelector = exports.gridDen
|
|
|
7
7
|
var _createSelector = require("../../../utils/createSelector");
|
|
8
8
|
const gridDensitySelector = state => state.density;
|
|
9
9
|
exports.gridDensitySelector = gridDensitySelector;
|
|
10
|
-
const gridDensityValueSelector = (0, _createSelector.createSelector)(gridDensitySelector, density => density.value);
|
|
11
|
-
exports.
|
|
12
|
-
const gridDensityFactorSelector = (0, _createSelector.createSelector)(gridDensitySelector, density => density.factor);
|
|
13
|
-
exports.gridDensityFactorSelector = gridDensityFactorSelector;
|
|
10
|
+
const gridDensityValueSelector = exports.gridDensityValueSelector = (0, _createSelector.createSelector)(gridDensitySelector, density => density.value);
|
|
11
|
+
const gridDensityFactorSelector = exports.gridDensityFactorSelector = (0, _createSelector.createSelector)(gridDensitySelector, density => density.factor);
|
|
@@ -13,10 +13,8 @@ var _densitySelector = require("./densitySelector");
|
|
|
13
13
|
var _utils = require("../../../utils/utils");
|
|
14
14
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
15
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
-
const COMPACT_DENSITY_FACTOR = 0.7;
|
|
17
|
-
exports.
|
|
18
|
-
const COMFORTABLE_DENSITY_FACTOR = 1.3;
|
|
19
|
-
exports.COMFORTABLE_DENSITY_FACTOR = COMFORTABLE_DENSITY_FACTOR;
|
|
16
|
+
const COMPACT_DENSITY_FACTOR = exports.COMPACT_DENSITY_FACTOR = 0.7;
|
|
17
|
+
const COMFORTABLE_DENSITY_FACTOR = exports.COMFORTABLE_DENSITY_FACTOR = 1.3;
|
|
20
18
|
const DENSITY_FACTORS = {
|
|
21
19
|
compact: COMPACT_DENSITY_FACTOR,
|
|
22
20
|
comfortable: COMFORTABLE_DENSITY_FACTOR,
|
|
@@ -17,20 +17,18 @@ const gridFilterStateSelector = state => state.filter;
|
|
|
17
17
|
* Get the current filter model.
|
|
18
18
|
* @category Filtering
|
|
19
19
|
*/
|
|
20
|
-
const gridFilterModelSelector = (0, _createSelector.createSelector)(gridFilterStateSelector, filterState => filterState.filterModel);
|
|
20
|
+
const gridFilterModelSelector = exports.gridFilterModelSelector = (0, _createSelector.createSelector)(gridFilterStateSelector, filterState => filterState.filterModel);
|
|
21
21
|
|
|
22
22
|
/**
|
|
23
23
|
* Get the current quick filter values.
|
|
24
24
|
* @category Filtering
|
|
25
25
|
*/
|
|
26
|
-
exports.
|
|
27
|
-
const gridQuickFilterValuesSelector = (0, _createSelector.createSelector)(gridFilterModelSelector, filterModel => filterModel.quickFilterValues);
|
|
26
|
+
const gridQuickFilterValuesSelector = exports.gridQuickFilterValuesSelector = (0, _createSelector.createSelector)(gridFilterModelSelector, filterModel => filterModel.quickFilterValues);
|
|
28
27
|
|
|
29
28
|
/**
|
|
30
29
|
* @category Visible rows
|
|
31
30
|
* @ignore - do not document.
|
|
32
31
|
*/
|
|
33
|
-
exports.gridQuickFilterValuesSelector = gridQuickFilterValuesSelector;
|
|
34
32
|
const gridVisibleRowsLookupSelector = state => state.visibleRowsLookup;
|
|
35
33
|
|
|
36
34
|
/**
|
|
@@ -38,53 +36,47 @@ const gridVisibleRowsLookupSelector = state => state.visibleRowsLookup;
|
|
|
38
36
|
* @ignore - do not document.
|
|
39
37
|
*/
|
|
40
38
|
exports.gridVisibleRowsLookupSelector = gridVisibleRowsLookupSelector;
|
|
41
|
-
const gridFilteredRowsLookupSelector = (0, _createSelector.createSelector)(gridFilterStateSelector, filterState => filterState.filteredRowsLookup);
|
|
39
|
+
const gridFilteredRowsLookupSelector = exports.gridFilteredRowsLookupSelector = (0, _createSelector.createSelector)(gridFilterStateSelector, filterState => filterState.filteredRowsLookup);
|
|
42
40
|
|
|
43
41
|
/**
|
|
44
42
|
* @category Filtering
|
|
45
43
|
* @ignore - do not document.
|
|
46
44
|
*/
|
|
47
|
-
exports.
|
|
48
|
-
const gridFilteredDescendantCountLookupSelector = (0, _createSelector.createSelector)(gridFilterStateSelector, filterState => filterState.filteredDescendantCountLookup);
|
|
45
|
+
const gridFilteredDescendantCountLookupSelector = exports.gridFilteredDescendantCountLookupSelector = (0, _createSelector.createSelector)(gridFilterStateSelector, filterState => filterState.filteredDescendantCountLookup);
|
|
49
46
|
|
|
50
47
|
/**
|
|
51
48
|
* Get the id and the model of the rows accessible after the filtering process.
|
|
52
49
|
* Does not contain the collapsed children.
|
|
53
50
|
* @category Filtering
|
|
54
51
|
*/
|
|
55
|
-
exports.
|
|
56
|
-
const gridExpandedSortedRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(gridVisibleRowsLookupSelector, _gridSortingSelector.gridSortedRowEntriesSelector, (visibleRowsLookup, sortedRows) => sortedRows.filter(row => visibleRowsLookup[row.id] !== false));
|
|
52
|
+
const gridExpandedSortedRowEntriesSelector = exports.gridExpandedSortedRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(gridVisibleRowsLookupSelector, _gridSortingSelector.gridSortedRowEntriesSelector, (visibleRowsLookup, sortedRows) => sortedRows.filter(row => visibleRowsLookup[row.id] !== false));
|
|
57
53
|
|
|
58
54
|
/**
|
|
59
55
|
* Get the id of the rows accessible after the filtering process.
|
|
60
56
|
* Does not contain the collapsed children.
|
|
61
57
|
* @category Filtering
|
|
62
58
|
*/
|
|
63
|
-
exports.
|
|
64
|
-
const gridExpandedSortedRowIdsSelector = (0, _createSelector.createSelectorMemoized)(gridExpandedSortedRowEntriesSelector, visibleSortedRowEntries => visibleSortedRowEntries.map(row => row.id));
|
|
59
|
+
const gridExpandedSortedRowIdsSelector = exports.gridExpandedSortedRowIdsSelector = (0, _createSelector.createSelectorMemoized)(gridExpandedSortedRowEntriesSelector, visibleSortedRowEntries => visibleSortedRowEntries.map(row => row.id));
|
|
65
60
|
|
|
66
61
|
/**
|
|
67
62
|
* Get the id and the model of the rows accessible after the filtering process.
|
|
68
63
|
* Contains the collapsed children.
|
|
69
64
|
* @category Filtering
|
|
70
65
|
*/
|
|
71
|
-
exports.
|
|
72
|
-
const gridFilteredSortedRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(gridFilteredRowsLookupSelector, _gridSortingSelector.gridSortedRowEntriesSelector, (filteredRowsLookup, sortedRows) => sortedRows.filter(row => filteredRowsLookup[row.id] !== false));
|
|
66
|
+
const gridFilteredSortedRowEntriesSelector = exports.gridFilteredSortedRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(gridFilteredRowsLookupSelector, _gridSortingSelector.gridSortedRowEntriesSelector, (filteredRowsLookup, sortedRows) => sortedRows.filter(row => filteredRowsLookup[row.id] !== false));
|
|
73
67
|
|
|
74
68
|
/**
|
|
75
69
|
* Get the id of the rows accessible after the filtering process.
|
|
76
70
|
* Contains the collapsed children.
|
|
77
71
|
* @category Filtering
|
|
78
72
|
*/
|
|
79
|
-
exports.
|
|
80
|
-
const gridFilteredSortedRowIdsSelector = (0, _createSelector.createSelectorMemoized)(gridFilteredSortedRowEntriesSelector, filteredSortedRowEntries => filteredSortedRowEntries.map(row => row.id));
|
|
73
|
+
const gridFilteredSortedRowIdsSelector = exports.gridFilteredSortedRowIdsSelector = (0, _createSelector.createSelectorMemoized)(gridFilteredSortedRowEntriesSelector, filteredSortedRowEntries => filteredSortedRowEntries.map(row => row.id));
|
|
81
74
|
|
|
82
75
|
/**
|
|
83
76
|
* Get the id and the model of the top level rows accessible after the filtering process.
|
|
84
77
|
* @category Filtering
|
|
85
78
|
*/
|
|
86
|
-
exports.
|
|
87
|
-
const gridFilteredSortedTopLevelRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(gridExpandedSortedRowEntriesSelector, _gridRowsSelector.gridRowTreeSelector, _gridRowsSelector.gridRowMaximumTreeDepthSelector, (visibleSortedRows, rowTree, rowTreeDepth) => {
|
|
79
|
+
const gridFilteredSortedTopLevelRowEntriesSelector = exports.gridFilteredSortedTopLevelRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(gridExpandedSortedRowEntriesSelector, _gridRowsSelector.gridRowTreeSelector, _gridRowsSelector.gridRowMaximumTreeDepthSelector, (visibleSortedRows, rowTree, rowTreeDepth) => {
|
|
88
80
|
if (rowTreeDepth < 2) {
|
|
89
81
|
return visibleSortedRows;
|
|
90
82
|
}
|
|
@@ -95,22 +87,19 @@ const gridFilteredSortedTopLevelRowEntriesSelector = (0, _createSelector.createS
|
|
|
95
87
|
* Get the amount of rows accessible after the filtering process.
|
|
96
88
|
* @category Filtering
|
|
97
89
|
*/
|
|
98
|
-
exports.
|
|
99
|
-
const gridExpandedRowCountSelector = (0, _createSelector.createSelector)(gridExpandedSortedRowEntriesSelector, visibleSortedRows => visibleSortedRows.length);
|
|
90
|
+
const gridExpandedRowCountSelector = exports.gridExpandedRowCountSelector = (0, _createSelector.createSelector)(gridExpandedSortedRowEntriesSelector, visibleSortedRows => visibleSortedRows.length);
|
|
100
91
|
|
|
101
92
|
/**
|
|
102
93
|
* Get the amount of top level rows accessible after the filtering process.
|
|
103
94
|
* @category Filtering
|
|
104
95
|
*/
|
|
105
|
-
exports.
|
|
106
|
-
const gridFilteredTopLevelRowCountSelector = (0, _createSelector.createSelector)(gridFilteredSortedTopLevelRowEntriesSelector, visibleSortedTopLevelRows => visibleSortedTopLevelRows.length);
|
|
96
|
+
const gridFilteredTopLevelRowCountSelector = exports.gridFilteredTopLevelRowCountSelector = (0, _createSelector.createSelector)(gridFilteredSortedTopLevelRowEntriesSelector, visibleSortedTopLevelRows => visibleSortedTopLevelRows.length);
|
|
107
97
|
|
|
108
98
|
/**
|
|
109
99
|
* @category Filtering
|
|
110
100
|
* @ignore - do not document.
|
|
111
101
|
*/
|
|
112
|
-
exports.
|
|
113
|
-
const gridFilterActiveItemsSelector = (0, _createSelector.createSelectorMemoized)(gridFilterModelSelector, _gridColumnsSelector.gridColumnLookupSelector, (filterModel, columnLookup) => filterModel.items?.filter(item => {
|
|
102
|
+
const gridFilterActiveItemsSelector = exports.gridFilterActiveItemsSelector = (0, _createSelector.createSelectorMemoized)(gridFilterModelSelector, _gridColumnsSelector.gridColumnLookupSelector, (filterModel, columnLookup) => filterModel.items?.filter(item => {
|
|
114
103
|
if (!item.field) {
|
|
115
104
|
return false;
|
|
116
105
|
}
|
|
@@ -124,12 +113,11 @@ const gridFilterActiveItemsSelector = (0, _createSelector.createSelectorMemoized
|
|
|
124
113
|
}
|
|
125
114
|
return !filterOperator.InputComponent || item.value != null && item.value?.toString() !== '';
|
|
126
115
|
}));
|
|
127
|
-
exports.gridFilterActiveItemsSelector = gridFilterActiveItemsSelector;
|
|
128
116
|
/**
|
|
129
117
|
* @category Filtering
|
|
130
118
|
* @ignore - do not document.
|
|
131
119
|
*/
|
|
132
|
-
const gridFilterActiveItemsLookupSelector = (0, _createSelector.createSelectorMemoized)(gridFilterActiveItemsSelector, activeFilters => {
|
|
120
|
+
const gridFilterActiveItemsLookupSelector = exports.gridFilterActiveItemsLookupSelector = (0, _createSelector.createSelectorMemoized)(gridFilterActiveItemsSelector, activeFilters => {
|
|
133
121
|
const result = activeFilters.reduce((res, filterItem) => {
|
|
134
122
|
if (!res[filterItem.field]) {
|
|
135
123
|
res[filterItem.field] = [filterItem];
|
|
@@ -139,5 +127,4 @@ const gridFilterActiveItemsLookupSelector = (0, _createSelector.createSelectorMe
|
|
|
139
127
|
return res;
|
|
140
128
|
}, {});
|
|
141
129
|
return result;
|
|
142
|
-
});
|
|
143
|
-
exports.gridFilterActiveItemsLookupSelector = gridFilterActiveItemsLookupSelector;
|
|
130
|
+
});
|
|
@@ -169,7 +169,7 @@ const buildAggregatedFilterItemsApplier = (getRowId, filterModel, apiRef, disabl
|
|
|
169
169
|
|
|
170
170
|
// We generate a new function with `eval()` to avoid expensive patterns for JS engines
|
|
171
171
|
// such as a dynamic object assignment, e.g. `{ [dynamicKey]: value }`.
|
|
172
|
-
const filterItemTemplate = `(function filterItem$$(appliers, row, shouldApplyFilter) {
|
|
172
|
+
const filterItemTemplate = `(function filterItem$$(getRowId, appliers, row, shouldApplyFilter) {
|
|
173
173
|
${appliers.map((applier, i) => `const shouldApply${i} = !shouldApplyFilter || shouldApplyFilter(${JSON.stringify(applier.item.field)});`).join('\n')}
|
|
174
174
|
|
|
175
175
|
const result$$ = {
|
|
@@ -183,7 +183,7 @@ const buildAggregatedFilterItemsApplier = (getRowId, filterModel, apiRef, disabl
|
|
|
183
183
|
})`;
|
|
184
184
|
const filterItemCore = evalCode(filterItemTemplate.replaceAll('$$', String(filterItemsApplierId)));
|
|
185
185
|
const filterItem = (row, shouldApplyItem) => {
|
|
186
|
-
return filterItemCore(appliers, row, shouldApplyItem);
|
|
186
|
+
return filterItemCore(getRowId, appliers, row, shouldApplyItem);
|
|
187
187
|
};
|
|
188
188
|
filterItemsApplierId += 1;
|
|
189
189
|
return filterItem;
|
|
@@ -233,7 +233,7 @@ const buildAggregatedQuickFilterApplier = (getRowId, filterModel, apiRef) => {
|
|
|
233
233
|
const result = {};
|
|
234
234
|
const usedCellParams = {};
|
|
235
235
|
|
|
236
|
-
/* eslint-disable no-restricted-syntax, no-labels
|
|
236
|
+
/* eslint-disable no-restricted-syntax, no-labels */
|
|
237
237
|
outer: for (let v = 0; v < quickFilterValues.length; v += 1) {
|
|
238
238
|
const filterValue = quickFilterValues[v];
|
|
239
239
|
for (let i = 0; i < appliersPerField.length; i += 1) {
|
|
@@ -270,7 +270,7 @@ const buildAggregatedQuickFilterApplier = (getRowId, filterModel, apiRef) => {
|
|
|
270
270
|
}
|
|
271
271
|
result[filterValue] = false;
|
|
272
272
|
}
|
|
273
|
-
/* eslint-enable no-restricted-syntax, no-labels
|
|
273
|
+
/* eslint-enable no-restricted-syntax, no-labels */
|
|
274
274
|
|
|
275
275
|
return result;
|
|
276
276
|
};
|
|
@@ -7,29 +7,21 @@ exports.unstable_gridTabIndexColumnHeaderFilterSelector = exports.unstable_gridT
|
|
|
7
7
|
var _createSelector = require("../../../utils/createSelector");
|
|
8
8
|
const gridFocusStateSelector = state => state.focus;
|
|
9
9
|
exports.gridFocusStateSelector = gridFocusStateSelector;
|
|
10
|
-
const gridFocusCellSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.cell);
|
|
11
|
-
exports.
|
|
12
|
-
const gridFocusColumnHeaderSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.columnHeader);
|
|
10
|
+
const gridFocusCellSelector = exports.gridFocusCellSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.cell);
|
|
11
|
+
const gridFocusColumnHeaderSelector = exports.gridFocusColumnHeaderSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.columnHeader);
|
|
13
12
|
|
|
14
13
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
15
|
-
exports.
|
|
16
|
-
const unstable_gridFocusColumnHeaderFilterSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.columnHeaderFilter);
|
|
14
|
+
const unstable_gridFocusColumnHeaderFilterSelector = exports.unstable_gridFocusColumnHeaderFilterSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.columnHeaderFilter);
|
|
17
15
|
|
|
18
16
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
19
|
-
exports.
|
|
20
|
-
const unstable_gridFocusColumnGroupHeaderSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.columnGroupHeader);
|
|
21
|
-
exports.unstable_gridFocusColumnGroupHeaderSelector = unstable_gridFocusColumnGroupHeaderSelector;
|
|
17
|
+
const unstable_gridFocusColumnGroupHeaderSelector = exports.unstable_gridFocusColumnGroupHeaderSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.columnGroupHeader);
|
|
22
18
|
const gridTabIndexStateSelector = state => state.tabIndex;
|
|
23
19
|
exports.gridTabIndexStateSelector = gridTabIndexStateSelector;
|
|
24
|
-
const gridTabIndexCellSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.cell);
|
|
25
|
-
exports.
|
|
26
|
-
const gridTabIndexColumnHeaderSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.columnHeader);
|
|
20
|
+
const gridTabIndexCellSelector = exports.gridTabIndexCellSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.cell);
|
|
21
|
+
const gridTabIndexColumnHeaderSelector = exports.gridTabIndexColumnHeaderSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.columnHeader);
|
|
27
22
|
|
|
28
23
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
29
|
-
exports.
|
|
30
|
-
const unstable_gridTabIndexColumnHeaderFilterSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.columnHeaderFilter);
|
|
24
|
+
const unstable_gridTabIndexColumnHeaderFilterSelector = exports.unstable_gridTabIndexColumnHeaderFilterSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.columnHeaderFilter);
|
|
31
25
|
|
|
32
26
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
33
|
-
exports.
|
|
34
|
-
const unstable_gridTabIndexColumnGroupHeaderSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.columnGroupHeader);
|
|
35
|
-
exports.unstable_gridTabIndexColumnGroupHeaderSelector = unstable_gridTabIndexColumnGroupHeaderSelector;
|
|
27
|
+
const unstable_gridTabIndexColumnGroupHeaderSelector = exports.unstable_gridTabIndexColumnGroupHeaderSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.columnGroupHeader);
|
|
@@ -9,7 +9,5 @@ var _createSelector = require("../../../utils/createSelector");
|
|
|
9
9
|
|
|
10
10
|
const unstable_gridHeaderFilteringStateSelector = state => state.headerFiltering;
|
|
11
11
|
exports.unstable_gridHeaderFilteringStateSelector = unstable_gridHeaderFilteringStateSelector;
|
|
12
|
-
const unstable_gridHeaderFilteringEditFieldSelector = (0, _createSelector.createSelector)(unstable_gridHeaderFilteringStateSelector, headerFilteringState => headerFilteringState.editing);
|
|
13
|
-
exports.
|
|
14
|
-
const unstable_gridHeaderFilteringMenuSelector = (0, _createSelector.createSelector)(unstable_gridHeaderFilteringStateSelector, headerFilteringState => headerFilteringState.menuOpen);
|
|
15
|
-
exports.unstable_gridHeaderFilteringMenuSelector = unstable_gridHeaderFilteringMenuSelector;
|
|
12
|
+
const unstable_gridHeaderFilteringEditFieldSelector = exports.unstable_gridHeaderFilteringEditFieldSelector = (0, _createSelector.createSelector)(unstable_gridHeaderFilteringStateSelector, headerFilteringState => headerFilteringState.editing);
|
|
13
|
+
const unstable_gridHeaderFilteringMenuSelector = exports.unstable_gridHeaderFilteringMenuSelector = (0, _createSelector.createSelector)(unstable_gridHeaderFilteringStateSelector, headerFilteringState => headerFilteringState.menuOpen);
|
|
@@ -19,35 +19,31 @@ const gridPaginationSelector = state => state.pagination;
|
|
|
19
19
|
* @category Pagination
|
|
20
20
|
*/
|
|
21
21
|
exports.gridPaginationSelector = gridPaginationSelector;
|
|
22
|
-
const gridPaginationModelSelector = (0, _createSelector.createSelector)(gridPaginationSelector, pagination => pagination.paginationModel);
|
|
22
|
+
const gridPaginationModelSelector = exports.gridPaginationModelSelector = (0, _createSelector.createSelector)(gridPaginationSelector, pagination => pagination.paginationModel);
|
|
23
23
|
|
|
24
24
|
/**
|
|
25
25
|
* Get the index of the page to render if the pagination is enabled
|
|
26
26
|
* @category Pagination
|
|
27
27
|
*/
|
|
28
|
-
exports.
|
|
29
|
-
const gridPageSelector = (0, _createSelector.createSelector)(gridPaginationModelSelector, paginationModel => paginationModel.page);
|
|
28
|
+
const gridPageSelector = exports.gridPageSelector = (0, _createSelector.createSelector)(gridPaginationModelSelector, paginationModel => paginationModel.page);
|
|
30
29
|
|
|
31
30
|
/**
|
|
32
31
|
* Get the maximum amount of rows to display on a single page if the pagination is enabled
|
|
33
32
|
* @category Pagination
|
|
34
33
|
*/
|
|
35
|
-
exports.
|
|
36
|
-
const gridPageSizeSelector = (0, _createSelector.createSelector)(gridPaginationModelSelector, paginationModel => paginationModel.pageSize);
|
|
34
|
+
const gridPageSizeSelector = exports.gridPageSizeSelector = (0, _createSelector.createSelector)(gridPaginationModelSelector, paginationModel => paginationModel.pageSize);
|
|
37
35
|
|
|
38
36
|
/**
|
|
39
37
|
* Get the amount of pages needed to display all the rows if the pagination is enabled
|
|
40
38
|
* @category Pagination
|
|
41
39
|
*/
|
|
42
|
-
exports.
|
|
43
|
-
const gridPageCountSelector = (0, _createSelector.createSelector)(gridPaginationModelSelector, _gridFilterSelector.gridFilteredTopLevelRowCountSelector, (paginationModel, visibleTopLevelRowCount) => (0, _gridPaginationUtils.getPageCount)(visibleTopLevelRowCount, paginationModel.pageSize));
|
|
40
|
+
const gridPageCountSelector = exports.gridPageCountSelector = (0, _createSelector.createSelector)(gridPaginationModelSelector, _gridFilterSelector.gridFilteredTopLevelRowCountSelector, (paginationModel, visibleTopLevelRowCount) => (0, _gridPaginationUtils.getPageCount)(visibleTopLevelRowCount, paginationModel.pageSize));
|
|
44
41
|
|
|
45
42
|
/**
|
|
46
43
|
* Get the index of the first and the last row to include in the current page if the pagination is enabled.
|
|
47
44
|
* @category Pagination
|
|
48
45
|
*/
|
|
49
|
-
exports.
|
|
50
|
-
const gridPaginationRowRangeSelector = (0, _createSelector.createSelectorMemoized)(gridPaginationModelSelector, _gridRowsSelector.gridRowTreeSelector, _gridRowsSelector.gridRowMaximumTreeDepthSelector, _gridFilterSelector.gridExpandedSortedRowEntriesSelector, _gridFilterSelector.gridFilteredSortedTopLevelRowEntriesSelector, (paginationModel, rowTree, rowTreeDepth, visibleSortedRowEntries, visibleSortedTopLevelRowEntries) => {
|
|
46
|
+
const gridPaginationRowRangeSelector = exports.gridPaginationRowRangeSelector = (0, _createSelector.createSelectorMemoized)(gridPaginationModelSelector, _gridRowsSelector.gridRowTreeSelector, _gridRowsSelector.gridRowMaximumTreeDepthSelector, _gridFilterSelector.gridExpandedSortedRowEntriesSelector, _gridFilterSelector.gridFilteredSortedTopLevelRowEntriesSelector, (paginationModel, rowTree, rowTreeDepth, visibleSortedRowEntries, visibleSortedTopLevelRowEntries) => {
|
|
51
47
|
const visibleTopLevelRowCount = visibleSortedTopLevelRowEntries.length;
|
|
52
48
|
const topLevelFirstRowIndex = Math.min(paginationModel.pageSize * paginationModel.page, visibleTopLevelRowCount - 1);
|
|
53
49
|
const topLevelLastRowIndex = Math.min(topLevelFirstRowIndex + paginationModel.pageSize - 1, visibleTopLevelRowCount - 1);
|
|
@@ -93,8 +89,7 @@ const gridPaginationRowRangeSelector = (0, _createSelector.createSelectorMemoize
|
|
|
93
89
|
* Get the id and the model of each row to include in the current page if the pagination is enabled.
|
|
94
90
|
* @category Pagination
|
|
95
91
|
*/
|
|
96
|
-
exports.
|
|
97
|
-
const gridPaginatedVisibleSortedGridRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(_gridFilterSelector.gridExpandedSortedRowEntriesSelector, gridPaginationRowRangeSelector, (visibleSortedRowEntries, paginationRange) => {
|
|
92
|
+
const gridPaginatedVisibleSortedGridRowEntriesSelector = exports.gridPaginatedVisibleSortedGridRowEntriesSelector = (0, _createSelector.createSelectorMemoized)(_gridFilterSelector.gridExpandedSortedRowEntriesSelector, gridPaginationRowRangeSelector, (visibleSortedRowEntries, paginationRange) => {
|
|
98
93
|
if (!paginationRange) {
|
|
99
94
|
return [];
|
|
100
95
|
}
|
|
@@ -105,11 +100,9 @@ const gridPaginatedVisibleSortedGridRowEntriesSelector = (0, _createSelector.cre
|
|
|
105
100
|
* Get the id of each row to include in the current page if the pagination is enabled.
|
|
106
101
|
* @category Pagination
|
|
107
102
|
*/
|
|
108
|
-
exports.
|
|
109
|
-
const gridPaginatedVisibleSortedGridRowIdsSelector = (0, _createSelector.createSelectorMemoized)(_gridFilterSelector.gridExpandedSortedRowIdsSelector, gridPaginationRowRangeSelector, (visibleSortedRowIds, paginationRange) => {
|
|
103
|
+
const gridPaginatedVisibleSortedGridRowIdsSelector = exports.gridPaginatedVisibleSortedGridRowIdsSelector = (0, _createSelector.createSelectorMemoized)(_gridFilterSelector.gridExpandedSortedRowIdsSelector, gridPaginationRowRangeSelector, (visibleSortedRowIds, paginationRange) => {
|
|
110
104
|
if (!paginationRange) {
|
|
111
105
|
return [];
|
|
112
106
|
}
|
|
113
107
|
return visibleSortedRowIds.slice(paginationRange.firstRowIndex, paginationRange.lastRowIndex + 1);
|
|
114
|
-
});
|
|
115
|
-
exports.gridPaginatedVisibleSortedGridRowIdsSelector = gridPaginatedVisibleSortedGridRowIdsSelector;
|
|
108
|
+
});
|
|
@@ -16,8 +16,7 @@ const getPageCount = (rowCount, pageSize) => {
|
|
|
16
16
|
return 0;
|
|
17
17
|
};
|
|
18
18
|
exports.getPageCount = getPageCount;
|
|
19
|
-
const noRowCountInServerMode = (0, _warning.buildWarning)(["MUI: the 'rowCount' prop is undefined while using paginationMode='server'", 'For more detail, see http://mui.com/components/data-grid/pagination/#basic-implementation'], 'error');
|
|
20
|
-
exports.noRowCountInServerMode = noRowCountInServerMode;
|
|
19
|
+
const noRowCountInServerMode = exports.noRowCountInServerMode = (0, _warning.buildWarning)(["MUI: the 'rowCount' prop is undefined while using paginationMode='server'", 'For more detail, see http://mui.com/components/data-grid/pagination/#basic-implementation'], 'error');
|
|
21
20
|
const getDefaultGridPaginationModel = autoPageSize => ({
|
|
22
21
|
page: 0,
|
|
23
22
|
pageSize: autoPageSize ? 0 : 100
|
|
@@ -4,9 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.GridPreferencePanelsValue = void 0;
|
|
7
|
-
var GridPreferencePanelsValue = /*#__PURE__*/function (GridPreferencePanelsValue) {
|
|
7
|
+
var GridPreferencePanelsValue = exports.GridPreferencePanelsValue = /*#__PURE__*/function (GridPreferencePanelsValue) {
|
|
8
8
|
GridPreferencePanelsValue["filters"] = "filters";
|
|
9
9
|
GridPreferencePanelsValue["columns"] = "columns";
|
|
10
10
|
return GridPreferencePanelsValue;
|
|
11
|
-
}(GridPreferencePanelsValue || {});
|
|
12
|
-
exports.GridPreferencePanelsValue = GridPreferencePanelsValue;
|
|
11
|
+
}(GridPreferencePanelsValue || {});
|
|
@@ -8,12 +8,9 @@ var _createSelector = require("../../../utils/createSelector");
|
|
|
8
8
|
var _gridRowsSelector = require("../rows/gridRowsSelector");
|
|
9
9
|
const gridRowSelectionStateSelector = state => state.rowSelection;
|
|
10
10
|
exports.gridRowSelectionStateSelector = gridRowSelectionStateSelector;
|
|
11
|
-
const selectedGridRowsCountSelector = (0, _createSelector.createSelector)(gridRowSelectionStateSelector, selection => selection.length);
|
|
12
|
-
exports.
|
|
13
|
-
const
|
|
14
|
-
exports.selectedGridRowsSelector = selectedGridRowsSelector;
|
|
15
|
-
const selectedIdsLookupSelector = (0, _createSelector.createSelectorMemoized)(gridRowSelectionStateSelector, selection => selection.reduce((lookup, rowId) => {
|
|
11
|
+
const selectedGridRowsCountSelector = exports.selectedGridRowsCountSelector = (0, _createSelector.createSelector)(gridRowSelectionStateSelector, selection => selection.length);
|
|
12
|
+
const selectedGridRowsSelector = exports.selectedGridRowsSelector = (0, _createSelector.createSelectorMemoized)(gridRowSelectionStateSelector, _gridRowsSelector.gridRowsLookupSelector, (selectedRows, rowsLookup) => new Map(selectedRows.map(id => [id, rowsLookup[id]])));
|
|
13
|
+
const selectedIdsLookupSelector = exports.selectedIdsLookupSelector = (0, _createSelector.createSelectorMemoized)(gridRowSelectionStateSelector, selection => selection.reduce((lookup, rowId) => {
|
|
16
14
|
lookup[rowId] = rowId;
|
|
17
15
|
return lookup;
|
|
18
|
-
}, {}));
|
|
19
|
-
exports.selectedIdsLookupSelector = selectedIdsLookupSelector;
|
|
16
|
+
}, {}));
|