@mui/x-data-grid 7.2.0 → 7.3.1
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 +204 -2
- package/DataGrid/DataGrid.js +20 -2
- package/colDef/gridDateOperators.js +7 -0
- package/components/GridFooter.js +1 -2
- package/components/GridHeader.js +1 -2
- package/components/GridHeaders.js +3 -2
- package/components/GridPagination.d.ts +4 -1
- package/components/GridPagination.js +60 -9
- package/components/GridRow.js +2 -2
- package/components/GridScrollArea.js +1 -1
- package/components/cell/GridActionsCell.js +1 -2
- package/components/cell/GridActionsCellItem.js +1 -2
- package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
- package/components/columnHeaders/GridColumnHeaderItem.d.ts +1 -0
- package/components/columnHeaders/GridColumnHeaderItem.js +6 -4
- package/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
- package/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
- package/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -2
- package/components/columnsManagement/GridColumnsManagement.js +1 -2
- package/components/containers/GridRoot.js +1 -2
- package/components/containers/GridRootStyles.js +3 -1
- package/components/index.d.ts +1 -1
- package/components/index.js +1 -1
- package/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +1 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -2
- package/components/panel/GridPanel.d.ts +1 -1
- package/components/panel/GridPanel.js +3 -1
- package/components/panel/filterPanel/GridFilterForm.js +1 -2
- package/components/panel/filterPanel/GridFilterInputBoolean.js +1 -2
- package/components/panel/filterPanel/GridFilterInputDate.js +4 -4
- package/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -2
- package/components/panel/filterPanel/GridFilterPanel.js +1 -2
- package/components/toolbar/GridToolbar.js +1 -2
- package/components/toolbar/GridToolbarDensitySelector.js +1 -2
- package/components/toolbar/GridToolbarExportContainer.js +1 -2
- package/components/toolbar/GridToolbarFilterButton.js +1 -2
- package/components/virtualization/GridVirtualScroller.js +1 -2
- package/components/virtualization/GridVirtualScrollerFiller.js +1 -2
- package/constants/gridClasses.d.ts +6 -2
- package/constants/gridClasses.js +1 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -4
- package/hooks/features/columnResize/useGridColumnResize.js +91 -62
- package/hooks/features/columns/gridColumnsUtils.d.ts +5 -3
- package/hooks/features/columns/gridColumnsUtils.js +9 -7
- package/hooks/features/columns/useGridColumns.js +5 -4
- package/hooks/features/density/useGridDensity.d.ts +1 -1
- package/hooks/features/density/useGridDensity.js +30 -4
- package/hooks/features/dimensions/gridDimensionsApi.d.ts +5 -1
- package/hooks/features/dimensions/useGridDimensions.d.ts +1 -1
- package/hooks/features/dimensions/useGridDimensions.js +5 -2
- package/hooks/features/editing/useGridCellEditing.js +14 -1
- package/hooks/features/export/useGridPrintExport.d.ts +1 -1
- package/hooks/features/export/useGridPrintExport.js +2 -2
- package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +2 -2
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +2 -2
- package/hooks/features/pagination/gridPaginationInterfaces.d.ts +14 -2
- package/hooks/features/pagination/gridPaginationSelector.d.ts +5 -0
- package/hooks/features/pagination/gridPaginationSelector.js +7 -1
- package/hooks/features/pagination/gridPaginationUtils.d.ts +1 -2
- package/hooks/features/pagination/gridPaginationUtils.js +5 -3
- package/hooks/features/pagination/useGridPagination.d.ts +1 -1
- package/hooks/features/pagination/useGridPagination.js +5 -1
- package/hooks/features/pagination/useGridPaginationMeta.d.ts +4 -0
- package/hooks/features/pagination/useGridPaginationMeta.js +77 -0
- package/hooks/features/pagination/useGridPaginationModel.js +2 -1
- package/hooks/features/pagination/useGridRowCount.d.ts +0 -4
- package/hooks/features/pagination/useGridRowCount.js +32 -18
- package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +3 -3
- package/hooks/utils/useGridApiEventHandler.d.ts +2 -2
- package/hooks/utils/useGridNativeEventListener.d.ts +1 -1
- package/hooks/utils/useGridSelector.d.ts +2 -2
- package/index.js +1 -1
- package/internals/index.d.ts +1 -1
- package/internals/utils/propValidation.js +1 -1
- package/joy/icons.js +1 -2
- package/joy/joySlots.js +1 -2
- package/locales/daDK.js +3 -4
- package/models/api/gridApiCommon.d.ts +1 -1
- package/models/api/gridLocaleTextApi.d.ts +7 -3
- package/models/api/index.d.ts +1 -1
- package/models/api/index.js +0 -1
- package/models/events/gridEventLookup.d.ts +7 -1
- package/models/gridPaginationProps.d.ts +3 -0
- package/models/props/DataGridProps.d.ts +26 -8
- package/modern/DataGrid/DataGrid.js +20 -2
- package/modern/colDef/gridDateOperators.js +7 -0
- package/modern/components/GridFooter.js +1 -2
- package/modern/components/GridHeader.js +1 -2
- package/modern/components/GridHeaders.js +3 -2
- package/modern/components/GridPagination.js +60 -9
- package/modern/components/GridRow.js +2 -2
- package/modern/components/GridScrollArea.js +1 -1
- package/modern/components/cell/GridActionsCell.js +1 -2
- package/modern/components/cell/GridActionsCellItem.js +1 -2
- package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +6 -4
- package/modern/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
- package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
- package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -2
- package/modern/components/columnsManagement/GridColumnsManagement.js +1 -2
- package/modern/components/containers/GridRoot.js +1 -2
- package/modern/components/containers/GridRootStyles.js +3 -1
- package/modern/components/index.js +1 -1
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +1 -2
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -2
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -2
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -2
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -2
- package/modern/components/panel/GridPanel.js +3 -1
- package/modern/components/panel/filterPanel/GridFilterForm.js +1 -2
- package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +1 -2
- package/modern/components/panel/filterPanel/GridFilterInputDate.js +4 -4
- package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -2
- package/modern/components/panel/filterPanel/GridFilterPanel.js +1 -2
- package/modern/components/toolbar/GridToolbar.js +1 -2
- package/modern/components/toolbar/GridToolbarDensitySelector.js +1 -2
- package/modern/components/toolbar/GridToolbarExportContainer.js +1 -2
- package/modern/components/toolbar/GridToolbarFilterButton.js +1 -2
- package/modern/components/virtualization/GridVirtualScroller.js +1 -2
- package/modern/components/virtualization/GridVirtualScrollerFiller.js +1 -2
- package/modern/constants/gridClasses.js +1 -1
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -4
- package/modern/hooks/features/columnResize/useGridColumnResize.js +91 -62
- package/modern/hooks/features/columns/gridColumnsUtils.js +9 -7
- package/modern/hooks/features/columns/useGridColumns.js +5 -4
- package/modern/hooks/features/density/useGridDensity.js +30 -4
- package/modern/hooks/features/dimensions/useGridDimensions.js +5 -2
- package/modern/hooks/features/editing/useGridCellEditing.js +14 -1
- package/modern/hooks/features/export/useGridPrintExport.js +2 -2
- package/modern/hooks/features/pagination/gridPaginationSelector.js +7 -1
- package/modern/hooks/features/pagination/gridPaginationUtils.js +5 -3
- package/modern/hooks/features/pagination/useGridPagination.js +5 -1
- package/modern/hooks/features/pagination/useGridPaginationMeta.js +77 -0
- package/modern/hooks/features/pagination/useGridPaginationModel.js +2 -1
- package/modern/hooks/features/pagination/useGridRowCount.js +32 -18
- package/modern/index.js +1 -1
- package/modern/internals/utils/propValidation.js +1 -1
- package/modern/joy/icons.js +1 -2
- package/modern/joy/joySlots.js +1 -2
- package/modern/locales/daDK.js +3 -4
- package/modern/models/api/index.js +0 -1
- package/modern/utils/domUtils.js +4 -0
- package/node/DataGrid/DataGrid.js +20 -1
- package/node/DataGrid/useDataGridProps.js +1 -1
- package/node/colDef/gridCheckboxSelectionColDef.js +1 -1
- package/node/colDef/gridDateOperators.js +7 -0
- package/node/components/GridApiContext.js +1 -1
- package/node/components/GridColumnHeaders.js +1 -1
- package/node/components/GridFooter.js +1 -1
- package/node/components/GridHeader.js +1 -1
- package/node/components/GridHeaders.js +5 -3
- package/node/components/GridLoadingOverlay.js +1 -1
- package/node/components/GridNoResultsOverlay.js +1 -1
- package/node/components/GridNoRowsOverlay.js +1 -1
- package/node/components/GridPagination.js +60 -9
- package/node/components/GridRow.js +2 -1
- package/node/components/GridRowCount.js +1 -1
- package/node/components/GridScrollArea.js +2 -2
- package/node/components/GridScrollbarFillerCell.js +1 -1
- package/node/components/GridSelectedRowCount.js +1 -1
- package/node/components/base/GridFooterPlaceholder.js +1 -1
- package/node/components/base/GridOverlays.js +1 -1
- package/node/components/cell/GridActionsCell.js +1 -1
- package/node/components/cell/GridActionsCellItem.js +1 -1
- package/node/components/cell/GridBooleanCell.js +1 -1
- package/node/components/cell/GridCell.js +1 -1
- package/node/components/cell/GridEditBooleanCell.js +1 -1
- package/node/components/cell/GridEditDateCell.js +1 -1
- package/node/components/cell/GridEditInputCell.js +1 -1
- package/node/components/cell/GridEditSingleSelectCell.js +1 -1
- package/node/components/cell/GridSkeletonCell.js +1 -1
- package/node/components/columnHeaders/ColumnHeaderMenuIcon.js +1 -1
- package/node/components/columnHeaders/GridBaseColumnHeaders.js +1 -1
- package/node/components/columnHeaders/GridColumnGroupHeader.js +1 -1
- package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -1
- package/node/components/columnHeaders/GridColumnHeaderItem.js +5 -2
- package/node/components/columnHeaders/GridColumnHeaderSeparator.js +2 -2
- package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -1
- package/node/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
- package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -1
- package/node/components/columnHeaders/GridIconButtonContainer.js +1 -1
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
- package/node/components/columnSelection/GridHeaderCheckbox.js +1 -1
- package/node/components/columnsManagement/GridColumnsManagement.js +1 -1
- package/node/components/containers/GridFooterContainer.js +1 -1
- package/node/components/containers/GridOverlay.js +1 -1
- package/node/components/containers/GridRoot.js +1 -1
- package/node/components/containers/GridRootStyles.js +3 -1
- package/node/components/containers/GridToolbarContainer.js +1 -1
- package/node/components/index.js +27 -10
- package/node/components/menu/GridMenu.js +1 -1
- package/node/components/menu/columnMenu/GridColumnHeaderMenu.js +1 -1
- package/node/components/menu/columnMenu/GridColumnMenu.js +1 -1
- package/node/components/menu/columnMenu/GridColumnMenuContainer.js +1 -1
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +1 -1
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -1
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -1
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -1
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
- package/node/components/panel/GridColumnsPanel.js +1 -1
- package/node/components/panel/GridPanel.js +4 -2
- package/node/components/panel/GridPanelContent.js +1 -1
- package/node/components/panel/GridPanelFooter.js +1 -1
- package/node/components/panel/GridPanelHeader.js +1 -1
- package/node/components/panel/GridPanelWrapper.js +1 -1
- package/node/components/panel/GridPreferencesPanel.js +1 -1
- package/node/components/panel/filterPanel/GridFilterForm.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputDate.js +5 -5
- package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputValue.js +1 -1
- package/node/components/panel/filterPanel/GridFilterPanel.js +1 -1
- package/node/components/toolbar/GridToolbar.js +1 -1
- package/node/components/toolbar/GridToolbarColumnsButton.js +1 -1
- package/node/components/toolbar/GridToolbarDensitySelector.js +1 -1
- package/node/components/toolbar/GridToolbarExport.js +1 -1
- package/node/components/toolbar/GridToolbarExportContainer.js +1 -1
- package/node/components/toolbar/GridToolbarFilterButton.js +1 -1
- package/node/components/toolbar/GridToolbarQuickFilter.js +1 -1
- package/node/components/virtualization/GridBottomContainer.js +1 -1
- package/node/components/virtualization/GridMainContainer.js +1 -1
- package/node/components/virtualization/GridTopContainer.js +1 -1
- package/node/components/virtualization/GridVirtualScrollbar.js +1 -1
- package/node/components/virtualization/GridVirtualScroller.js +1 -1
- package/node/components/virtualization/GridVirtualScrollerContent.js +1 -1
- package/node/components/virtualization/GridVirtualScrollerFiller.js +1 -1
- package/node/components/virtualization/GridVirtualScrollerRenderZone.js +1 -1
- package/node/constants/gridClasses.js +1 -1
- package/node/context/GridContextProvider.js +1 -1
- package/node/context/GridRootPropsContext.js +1 -1
- package/node/hooks/core/pipeProcessing/useGridPipeProcessing.js +1 -1
- package/node/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -1
- package/node/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -1
- package/node/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +1 -1
- package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +1 -1
- package/node/hooks/core/useGridApiInitialization.js +1 -1
- package/node/hooks/core/useGridLocaleText.js +1 -1
- package/node/hooks/core/useGridLoggerFactory.js +1 -1
- package/node/hooks/core/useGridRefs.js +1 -1
- package/node/hooks/core/useGridStateInitialization.js +1 -1
- package/node/hooks/core/useGridTheme.js +1 -1
- package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
- package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +1 -1
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -3
- package/node/hooks/features/columnMenu/useGridColumnMenu.js +1 -1
- package/node/hooks/features/columnMenu/useGridColumnMenuSlots.js +1 -1
- package/node/hooks/features/columnResize/useGridColumnResize.js +92 -63
- package/node/hooks/features/columns/gridColumnsUtils.js +9 -7
- package/node/hooks/features/columns/useGridColumnSpanning.js +1 -1
- package/node/hooks/features/columns/useGridColumns.js +6 -5
- package/node/hooks/features/density/useGridDensity.js +31 -5
- package/node/hooks/features/dimensions/useGridDimensions.js +6 -3
- package/node/hooks/features/editing/useGridCellEditing.js +15 -2
- package/node/hooks/features/editing/useGridEditing.js +1 -1
- package/node/hooks/features/editing/useGridRowEditing.js +1 -1
- package/node/hooks/features/export/useGridCsvExport.js +1 -1
- package/node/hooks/features/export/useGridPrintExport.js +3 -3
- package/node/hooks/features/filter/useGridFilter.js +1 -1
- package/node/hooks/features/focus/useGridFocus.js +1 -1
- package/node/hooks/features/headerFiltering/useGridHeaderFiltering.js +1 -1
- package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +1 -1
- package/node/hooks/features/pagination/gridPaginationSelector.js +8 -2
- package/node/hooks/features/pagination/gridPaginationUtils.js +6 -4
- package/node/hooks/features/pagination/useGridPagination.js +5 -1
- package/node/hooks/features/pagination/useGridPaginationMeta.js +87 -0
- package/node/hooks/features/pagination/useGridPaginationModel.js +3 -2
- package/node/hooks/features/pagination/useGridRowCount.js +31 -16
- package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +1 -1
- package/node/hooks/features/rowSelection/useGridRowSelection.js +1 -1
- package/node/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +1 -1
- package/node/hooks/features/rows/useGridParamsApi.js +1 -1
- package/node/hooks/features/rows/useGridRows.js +1 -1
- package/node/hooks/features/rows/useGridRowsMeta.js +1 -1
- package/node/hooks/features/scroll/useGridScroll.js +1 -1
- package/node/hooks/features/sorting/useGridSorting.js +1 -1
- package/node/hooks/features/statePersistence/useGridStatePersistence.js +1 -1
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +1 -1
- package/node/hooks/features/virtualization/useGridVirtualization.js +1 -1
- package/node/hooks/utils/useFirstRender.js +1 -1
- package/node/hooks/utils/useGridApiContext.js +1 -1
- package/node/hooks/utils/useGridApiEventHandler.js +1 -1
- package/node/hooks/utils/useGridApiMethod.js +1 -1
- package/node/hooks/utils/useGridApiRef.js +1 -1
- package/node/hooks/utils/useGridInitializeState.js +1 -1
- package/node/hooks/utils/useGridLogger.js +1 -1
- package/node/hooks/utils/useGridNativeEventListener.js +1 -1
- package/node/hooks/utils/useGridPrivateApiContext.js +1 -1
- package/node/hooks/utils/useGridRootProps.js +1 -1
- package/node/hooks/utils/useGridSelector.js +1 -1
- package/node/hooks/utils/useGridVisibleRows.js +1 -1
- package/node/hooks/utils/useResizeObserver.js +1 -1
- package/node/hooks/utils/useRunOnce.js +1 -1
- package/node/index.js +1 -1
- package/node/internals/utils/propValidation.js +1 -1
- package/node/internals/utils/useProps.js +1 -1
- package/node/joy/icons.js +1 -1
- package/node/joy/joySlots.js +1 -1
- package/node/locales/daDK.js +3 -4
- package/node/material/components/MUISelectOption.js +1 -1
- package/node/material/icons/GridColumnUnsortedIcon.js +1 -1
- package/node/material/icons/index.js +1 -1
- package/node/models/api/index.js +0 -11
- package/node/utils/domUtils.js +5 -0
- package/node/utils/fastMemo.js +1 -1
- package/package.json +3 -5
- package/utils/domUtils.d.ts +1 -0
- package/utils/domUtils.js +4 -0
- package/utils/getGridLocalization.d.ts +1 -1
|
@@ -8,6 +8,7 @@ exports.useGridColumnResize = exports.columnResizeStateInitializer = void 0;
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _utils = require("@mui/utils");
|
|
11
|
+
var _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
|
|
11
12
|
var _styles = require("@mui/material/styles");
|
|
12
13
|
var _domUtils = require("../../../utils/domUtils");
|
|
13
14
|
var _gridColumnResizeApi = require("./gridColumnResizeApi");
|
|
@@ -20,7 +21,7 @@ var _useTimeout = require("../../utils/useTimeout");
|
|
|
20
21
|
var _gridColumnsInterfaces = require("../columns/gridColumnsInterfaces");
|
|
21
22
|
var _columns = require("../columns");
|
|
22
23
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
23
|
-
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 &&
|
|
24
|
+
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; }
|
|
24
25
|
// TODO: remove support for Safari < 13.
|
|
25
26
|
// https://caniuse.com/#search=touch-action
|
|
26
27
|
//
|
|
@@ -182,26 +183,34 @@ const columnResizeStateInitializer = state => (0, _extends2.default)({}, state,
|
|
|
182
183
|
resizingColumnField: ''
|
|
183
184
|
}
|
|
184
185
|
});
|
|
186
|
+
exports.columnResizeStateInitializer = columnResizeStateInitializer;
|
|
187
|
+
function createResizeRefs() {
|
|
188
|
+
return {
|
|
189
|
+
colDef: undefined,
|
|
190
|
+
initialColWidth: 0,
|
|
191
|
+
initialTotalWidth: 0,
|
|
192
|
+
previousMouseClickEvent: undefined,
|
|
193
|
+
columnHeaderElement: undefined,
|
|
194
|
+
headerFilterElement: undefined,
|
|
195
|
+
groupHeaderElements: [],
|
|
196
|
+
cellElements: [],
|
|
197
|
+
leftPinnedCellsAfter: [],
|
|
198
|
+
rightPinnedCellsBefore: [],
|
|
199
|
+
fillerLeft: undefined,
|
|
200
|
+
fillerRight: undefined,
|
|
201
|
+
leftPinnedHeadersAfter: [],
|
|
202
|
+
rightPinnedHeadersBefore: []
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
|
|
185
206
|
/**
|
|
186
207
|
* @requires useGridColumns (method, event)
|
|
187
208
|
* TODO: improve experience for last column
|
|
188
209
|
*/
|
|
189
|
-
exports.columnResizeStateInitializer = columnResizeStateInitializer;
|
|
190
210
|
const useGridColumnResize = (apiRef, props) => {
|
|
191
211
|
const theme = (0, _styles.useTheme)();
|
|
192
212
|
const logger = (0, _utils2.useGridLogger)(apiRef, 'useGridColumnResize');
|
|
193
|
-
const
|
|
194
|
-
const previousMouseClickEvent = React.useRef();
|
|
195
|
-
const columnHeaderElementRef = React.useRef();
|
|
196
|
-
const headerFilterElementRef = React.useRef();
|
|
197
|
-
const groupHeaderElementsRef = React.useRef([]);
|
|
198
|
-
const cellElementsRef = React.useRef([]);
|
|
199
|
-
const leftPinnedCellsAfterRef = React.useRef([]);
|
|
200
|
-
const rightPinnedCellsBeforeRef = React.useRef([]);
|
|
201
|
-
const fillerLeftRef = React.useRef();
|
|
202
|
-
const fillerRightRef = React.useRef();
|
|
203
|
-
const leftPinnedHeadersAfterRef = React.useRef([]);
|
|
204
|
-
const rightPinnedHeadersBeforeRef = React.useRef([]);
|
|
213
|
+
const refs = (0, _useLazyRef.default)(createResizeRefs).current;
|
|
205
214
|
|
|
206
215
|
// To improve accessibility, the separator has padding on both sides.
|
|
207
216
|
// Clicking inside the padding area should be treated as a click in the separator.
|
|
@@ -211,22 +220,25 @@ const useGridColumnResize = (apiRef, props) => {
|
|
|
211
220
|
const stopResizeEventTimeout = (0, _useTimeout.useTimeout)();
|
|
212
221
|
const touchId = React.useRef();
|
|
213
222
|
const updateWidth = newWidth => {
|
|
214
|
-
logger.debug(`Updating width to ${newWidth} for col ${
|
|
215
|
-
const prevWidth =
|
|
223
|
+
logger.debug(`Updating width to ${newWidth} for col ${refs.colDef.field}`);
|
|
224
|
+
const prevWidth = refs.columnHeaderElement.offsetWidth;
|
|
216
225
|
const widthDiff = newWidth - prevWidth;
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
226
|
+
const columnWidthDiff = newWidth - refs.initialColWidth;
|
|
227
|
+
const newTotalWidth = refs.initialTotalWidth + columnWidthDiff;
|
|
228
|
+
apiRef.current.rootElementRef?.current?.style.setProperty('--DataGrid-rowWidth', `${newTotalWidth}px`);
|
|
229
|
+
refs.colDef.computedWidth = newWidth;
|
|
230
|
+
refs.colDef.width = newWidth;
|
|
231
|
+
refs.colDef.flex = 0;
|
|
232
|
+
refs.columnHeaderElement.style.width = `${newWidth}px`;
|
|
233
|
+
refs.columnHeaderElement.style.minWidth = `${newWidth}px`;
|
|
234
|
+
refs.columnHeaderElement.style.maxWidth = `${newWidth}px`;
|
|
235
|
+
const headerFilterElement = refs.headerFilterElement;
|
|
224
236
|
if (headerFilterElement) {
|
|
225
237
|
headerFilterElement.style.width = `${newWidth}px`;
|
|
226
238
|
headerFilterElement.style.minWidth = `${newWidth}px`;
|
|
227
239
|
headerFilterElement.style.maxWidth = `${newWidth}px`;
|
|
228
240
|
}
|
|
229
|
-
|
|
241
|
+
refs.groupHeaderElements.forEach(element => {
|
|
230
242
|
const div = element;
|
|
231
243
|
let finalWidth;
|
|
232
244
|
if (div.getAttribute('aria-colspan') === '1') {
|
|
@@ -240,7 +252,7 @@ const useGridColumnResize = (apiRef, props) => {
|
|
|
240
252
|
div.style.minWidth = finalWidth;
|
|
241
253
|
div.style.maxWidth = finalWidth;
|
|
242
254
|
});
|
|
243
|
-
|
|
255
|
+
refs.cellElements.forEach(element => {
|
|
244
256
|
const div = element;
|
|
245
257
|
let finalWidth;
|
|
246
258
|
if (div.getAttribute('aria-colspan') === '1') {
|
|
@@ -252,22 +264,22 @@ const useGridColumnResize = (apiRef, props) => {
|
|
|
252
264
|
}
|
|
253
265
|
div.style.setProperty('--width', finalWidth);
|
|
254
266
|
});
|
|
255
|
-
const pinnedPosition = apiRef.current.unstable_applyPipeProcessors('isColumnPinned', false,
|
|
267
|
+
const pinnedPosition = apiRef.current.unstable_applyPipeProcessors('isColumnPinned', false, refs.colDef.field);
|
|
256
268
|
if (pinnedPosition === _gridColumnsInterfaces.GridPinnedColumnPosition.LEFT) {
|
|
257
|
-
updateProperty(
|
|
258
|
-
|
|
269
|
+
updateProperty(refs.fillerLeft, 'width', widthDiff);
|
|
270
|
+
refs.leftPinnedCellsAfter.forEach(cell => {
|
|
259
271
|
updateProperty(cell, 'left', widthDiff);
|
|
260
272
|
});
|
|
261
|
-
|
|
273
|
+
refs.leftPinnedHeadersAfter.forEach(header => {
|
|
262
274
|
updateProperty(header, 'left', widthDiff);
|
|
263
275
|
});
|
|
264
276
|
}
|
|
265
277
|
if (pinnedPosition === _gridColumnsInterfaces.GridPinnedColumnPosition.RIGHT) {
|
|
266
|
-
updateProperty(
|
|
267
|
-
|
|
278
|
+
updateProperty(refs.fillerRight, 'width', widthDiff);
|
|
279
|
+
refs.rightPinnedCellsBefore.forEach(cell => {
|
|
268
280
|
updateProperty(cell, 'right', widthDiff);
|
|
269
281
|
});
|
|
270
|
-
|
|
282
|
+
refs.rightPinnedHeadersBefore.forEach(header => {
|
|
271
283
|
updateProperty(header, 'right', widthDiff);
|
|
272
284
|
});
|
|
273
285
|
}
|
|
@@ -277,21 +289,36 @@ const useGridColumnResize = (apiRef, props) => {
|
|
|
277
289
|
stopListening();
|
|
278
290
|
|
|
279
291
|
// Prevent double-clicks from being interpreted as two separate clicks
|
|
280
|
-
if (previousMouseClickEvent
|
|
281
|
-
const prevEvent = previousMouseClickEvent
|
|
292
|
+
if (refs.previousMouseClickEvent) {
|
|
293
|
+
const prevEvent = refs.previousMouseClickEvent;
|
|
282
294
|
const prevTimeStamp = prevEvent.timeStamp;
|
|
283
295
|
const prevClientX = prevEvent.clientX;
|
|
284
296
|
const prevClientY = prevEvent.clientY;
|
|
285
297
|
|
|
286
298
|
// Check if the current event is part of a double-click
|
|
287
299
|
if (nativeEvent.timeStamp - prevTimeStamp < 300 && nativeEvent.clientX === prevClientX && nativeEvent.clientY === prevClientY) {
|
|
288
|
-
previousMouseClickEvent
|
|
300
|
+
refs.previousMouseClickEvent = undefined;
|
|
289
301
|
return;
|
|
290
302
|
}
|
|
291
303
|
}
|
|
292
|
-
if (
|
|
293
|
-
apiRef.current.setColumnWidth(
|
|
294
|
-
logger.debug(`Updating col ${
|
|
304
|
+
if (refs.colDef) {
|
|
305
|
+
apiRef.current.setColumnWidth(refs.colDef.field, refs.colDef.width);
|
|
306
|
+
logger.debug(`Updating col ${refs.colDef.field} with new width: ${refs.colDef.width}`);
|
|
307
|
+
const columnsState = (0, _columns.gridColumnsStateSelector)(apiRef.current.state);
|
|
308
|
+
refs.groupHeaderElements.forEach(element => {
|
|
309
|
+
const fields = (0, _domUtils.getFieldsFromGroupHeaderElem)(element);
|
|
310
|
+
const div = element;
|
|
311
|
+
const newWidth = fields.reduce((acc, field) => {
|
|
312
|
+
if (columnsState.columnVisibilityModel[field] !== false) {
|
|
313
|
+
return acc + columnsState.lookup[field].computedWidth;
|
|
314
|
+
}
|
|
315
|
+
return acc;
|
|
316
|
+
}, 0);
|
|
317
|
+
const finalWidth = `${newWidth}px`;
|
|
318
|
+
div.style.width = finalWidth;
|
|
319
|
+
div.style.minWidth = finalWidth;
|
|
320
|
+
div.style.maxWidth = finalWidth;
|
|
321
|
+
});
|
|
295
322
|
}
|
|
296
323
|
stopResizeEventTimeout.start(0, () => {
|
|
297
324
|
apiRef.current.publishEvent('columnResizeStop', null, nativeEvent);
|
|
@@ -299,23 +326,25 @@ const useGridColumnResize = (apiRef, props) => {
|
|
|
299
326
|
};
|
|
300
327
|
const storeReferences = (colDef, separator, xStart) => {
|
|
301
328
|
const root = apiRef.current.rootElementRef.current;
|
|
302
|
-
|
|
303
|
-
|
|
329
|
+
refs.initialColWidth = colDef.computedWidth;
|
|
330
|
+
refs.initialTotalWidth = apiRef.current.getRootDimensions().rowWidth;
|
|
331
|
+
refs.colDef = colDef;
|
|
332
|
+
refs.columnHeaderElement = (0, _domUtils.findHeaderElementFromField)(apiRef.current.columnHeadersContainerRef.current, colDef.field);
|
|
304
333
|
const headerFilterElement = root.querySelector(`.${_gridClasses.gridClasses.headerFilterRow} [data-field="${colDef.field}"]`);
|
|
305
334
|
if (headerFilterElement) {
|
|
306
|
-
|
|
335
|
+
refs.headerFilterElement = headerFilterElement;
|
|
307
336
|
}
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
const pinnedPosition = apiRef.current.unstable_applyPipeProcessors('isColumnPinned', false,
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
337
|
+
refs.groupHeaderElements = (0, _domUtils.findGroupHeaderElementsFromField)(apiRef.current.columnHeadersContainerRef?.current, colDef.field);
|
|
338
|
+
refs.cellElements = (0, _domUtils.findGridCellElementsFromCol)(refs.columnHeaderElement, apiRef.current);
|
|
339
|
+
refs.fillerLeft = (0, _domUtils.findGridElement)(apiRef.current, 'filler--pinnedLeft');
|
|
340
|
+
refs.fillerRight = (0, _domUtils.findGridElement)(apiRef.current, 'filler--pinnedRight');
|
|
341
|
+
const pinnedPosition = apiRef.current.unstable_applyPipeProcessors('isColumnPinned', false, refs.colDef.field);
|
|
342
|
+
refs.leftPinnedCellsAfter = pinnedPosition !== _gridColumnsInterfaces.GridPinnedColumnPosition.LEFT ? [] : (0, _domUtils.findLeftPinnedCellsAfterCol)(apiRef.current, refs.columnHeaderElement);
|
|
343
|
+
refs.rightPinnedCellsBefore = pinnedPosition !== _gridColumnsInterfaces.GridPinnedColumnPosition.RIGHT ? [] : (0, _domUtils.findRightPinnedCellsBeforeCol)(apiRef.current, refs.columnHeaderElement);
|
|
344
|
+
refs.leftPinnedHeadersAfter = pinnedPosition !== _gridColumnsInterfaces.GridPinnedColumnPosition.LEFT ? [] : (0, _domUtils.findLeftPinnedHeadersAfterCol)(apiRef.current, refs.columnHeaderElement);
|
|
345
|
+
refs.rightPinnedHeadersBefore = pinnedPosition !== _gridColumnsInterfaces.GridPinnedColumnPosition.RIGHT ? [] : (0, _domUtils.findRightPinnedHeadersBeforeCol)(apiRef.current, refs.columnHeaderElement);
|
|
317
346
|
resizeDirection.current = getResizeDirection(separator, theme.direction);
|
|
318
|
-
initialOffsetToSeparator.current = computeOffsetToSeparator(xStart,
|
|
347
|
+
initialOffsetToSeparator.current = computeOffsetToSeparator(xStart, refs.columnHeaderElement.getBoundingClientRect(), resizeDirection.current);
|
|
319
348
|
};
|
|
320
349
|
const handleResizeMouseUp = (0, _utils.unstable_useEventCallback)(finishResize);
|
|
321
350
|
const handleResizeMouseMove = (0, _utils.unstable_useEventCallback)(nativeEvent => {
|
|
@@ -324,12 +353,12 @@ const useGridColumnResize = (apiRef, props) => {
|
|
|
324
353
|
handleResizeMouseUp(nativeEvent);
|
|
325
354
|
return;
|
|
326
355
|
}
|
|
327
|
-
let newWidth = computeNewWidth(initialOffsetToSeparator.current, nativeEvent.clientX,
|
|
328
|
-
newWidth = (0, _utils3.clamp)(newWidth,
|
|
356
|
+
let newWidth = computeNewWidth(initialOffsetToSeparator.current, nativeEvent.clientX, refs.columnHeaderElement.getBoundingClientRect(), resizeDirection.current);
|
|
357
|
+
newWidth = (0, _utils3.clamp)(newWidth, refs.colDef.minWidth, refs.colDef.maxWidth);
|
|
329
358
|
updateWidth(newWidth);
|
|
330
359
|
const params = {
|
|
331
|
-
element:
|
|
332
|
-
colDef:
|
|
360
|
+
element: refs.columnHeaderElement,
|
|
361
|
+
colDef: refs.colDef,
|
|
333
362
|
width: newWidth
|
|
334
363
|
};
|
|
335
364
|
apiRef.current.publishEvent('columnResize', params, nativeEvent);
|
|
@@ -352,12 +381,12 @@ const useGridColumnResize = (apiRef, props) => {
|
|
|
352
381
|
handleTouchEnd(nativeEvent);
|
|
353
382
|
return;
|
|
354
383
|
}
|
|
355
|
-
let newWidth = computeNewWidth(initialOffsetToSeparator.current, finger.x,
|
|
356
|
-
newWidth = (0, _utils3.clamp)(newWidth,
|
|
384
|
+
let newWidth = computeNewWidth(initialOffsetToSeparator.current, finger.x, refs.columnHeaderElement.getBoundingClientRect(), resizeDirection.current);
|
|
385
|
+
newWidth = (0, _utils3.clamp)(newWidth, refs.colDef.minWidth, refs.colDef.maxWidth);
|
|
357
386
|
updateWidth(newWidth);
|
|
358
387
|
const params = {
|
|
359
|
-
element:
|
|
360
|
-
colDef:
|
|
388
|
+
element: refs.columnHeaderElement,
|
|
389
|
+
colDef: refs.colDef,
|
|
361
390
|
width: newWidth
|
|
362
391
|
};
|
|
363
392
|
apiRef.current.publishEvent('columnResize', params, nativeEvent);
|
|
@@ -401,10 +430,10 @@ const useGridColumnResize = (apiRef, props) => {
|
|
|
401
430
|
setTimeout(() => {
|
|
402
431
|
doc.removeEventListener('click', preventClick, true);
|
|
403
432
|
}, 100);
|
|
404
|
-
if (
|
|
405
|
-
|
|
433
|
+
if (refs.columnHeaderElement) {
|
|
434
|
+
refs.columnHeaderElement.style.pointerEvents = 'unset';
|
|
406
435
|
}
|
|
407
|
-
}, [apiRef,
|
|
436
|
+
}, [apiRef, refs, handleResizeMouseMove, handleResizeMouseUp, handleTouchMove, handleTouchEnd]);
|
|
408
437
|
const handleResizeStart = React.useCallback(({
|
|
409
438
|
field
|
|
410
439
|
}) => {
|
|
@@ -445,7 +474,7 @@ const useGridColumnResize = (apiRef, props) => {
|
|
|
445
474
|
storeReferences(colDef, event.currentTarget, event.clientX);
|
|
446
475
|
const doc = (0, _utils.unstable_ownerDocument)(apiRef.current.rootElementRef.current);
|
|
447
476
|
doc.body.style.cursor = 'col-resize';
|
|
448
|
-
previousMouseClickEvent
|
|
477
|
+
refs.previousMouseClickEvent = event.nativeEvent;
|
|
449
478
|
doc.addEventListener('mousemove', handleResizeMouseMove);
|
|
450
479
|
doc.addEventListener('mouseup', handleResizeMouseUp);
|
|
451
480
|
|
|
@@ -122,7 +122,7 @@ function computeFlexColumnsWidth({
|
|
|
122
122
|
* TODO: Unit test this function in depth and only keep basic cases for the whole grid testing.
|
|
123
123
|
* TODO: Improve the `GridColDef` typing to reflect the fact that `minWidth` / `maxWidth` and `width` can't be null after the merge with the `type` default values.
|
|
124
124
|
*/
|
|
125
|
-
const hydrateColumnsWidth = (rawState,
|
|
125
|
+
const hydrateColumnsWidth = (rawState, dimensions) => {
|
|
126
126
|
const columnsLookup = {};
|
|
127
127
|
let totalFlexUnits = 0;
|
|
128
128
|
let widthAllocatedBeforeFlex = 0;
|
|
@@ -148,10 +148,11 @@ const hydrateColumnsWidth = (rawState, viewportInnerWidth) => {
|
|
|
148
148
|
}
|
|
149
149
|
columnsLookup[columnField] = newColumn;
|
|
150
150
|
});
|
|
151
|
-
const
|
|
151
|
+
const availableWidth = dimensions === undefined ? 0 : dimensions.viewportOuterSize.width - (dimensions.hasScrollY ? dimensions.scrollbarSize : 0);
|
|
152
|
+
const initialFreeSpace = Math.max(availableWidth - widthAllocatedBeforeFlex, 0);
|
|
152
153
|
|
|
153
154
|
// Allocate the remaining space to the flex columns
|
|
154
|
-
if (totalFlexUnits > 0 &&
|
|
155
|
+
if (totalFlexUnits > 0 && availableWidth > 0) {
|
|
155
156
|
const computedColumnWidths = computeFlexColumnsWidth({
|
|
156
157
|
initialFreeSpace,
|
|
157
158
|
totalFlexUnits,
|
|
@@ -296,7 +297,7 @@ const createColumnsState = ({
|
|
|
296
297
|
}
|
|
297
298
|
const columnsStateWithPreProcessing = apiRef.current.unstable_applyPipeProcessors('hydrateColumns', columnsState);
|
|
298
299
|
const columnsStateWithPortableColumns = applyInitialState(columnsStateWithPreProcessing, initialState);
|
|
299
|
-
return hydrateColumnsWidth(columnsStateWithPortableColumns, apiRef.current.getRootDimensions?.()
|
|
300
|
+
return hydrateColumnsWidth(columnsStateWithPortableColumns, apiRef.current.getRootDimensions?.() ?? undefined);
|
|
300
301
|
};
|
|
301
302
|
exports.createColumnsState = createColumnsState;
|
|
302
303
|
function getFirstNonSpannedColumnToRender({
|
|
@@ -319,10 +320,11 @@ function getFirstNonSpannedColumnToRender({
|
|
|
319
320
|
}
|
|
320
321
|
return firstNonSpannedColumnToRender;
|
|
321
322
|
}
|
|
322
|
-
function getTotalHeaderHeight(apiRef,
|
|
323
|
+
function getTotalHeaderHeight(apiRef, props) {
|
|
323
324
|
const densityFactor = (0, _densitySelector.gridDensityFactorSelector)(apiRef);
|
|
324
325
|
const maxDepth = (0, _gridColumnGroupsSelector.gridColumnGroupsHeaderMaxDepthSelector)(apiRef);
|
|
325
326
|
const isHeaderFilteringEnabled = (0, _gridHeaderFilteringSelectors.gridHeaderFilteringEnabledSelector)(apiRef);
|
|
326
|
-
const
|
|
327
|
-
|
|
327
|
+
const columnHeadersHeight = Math.floor(props.columnHeaderHeight * densityFactor);
|
|
328
|
+
const filterHeadersHeight = isHeaderFilteringEnabled ? Math.floor((props.headerFilterHeight ?? props.columnHeaderHeight) * densityFactor) : 0;
|
|
329
|
+
return columnHeadersHeight * (1 + (maxDepth ?? 0)) + filterHeadersHeight;
|
|
328
330
|
}
|
|
@@ -8,7 +8,7 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
9
9
|
var _useGridApiEventHandler = require("../../utils/useGridApiEventHandler");
|
|
10
10
|
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); }
|
|
11
|
-
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 &&
|
|
11
|
+
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; }
|
|
12
12
|
/**
|
|
13
13
|
* @requires useGridColumns (method, event)
|
|
14
14
|
* @requires useGridParamsApi (method)
|
|
@@ -18,7 +18,7 @@ var _gridColumnsUtils = require("./gridColumnsUtils");
|
|
|
18
18
|
var _preferencesPanel = require("../preferencesPanel");
|
|
19
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
20
|
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); }
|
|
21
|
-
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 &&
|
|
21
|
+
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; }
|
|
22
22
|
const columnsStateInitializer = (state, props, apiRef) => {
|
|
23
23
|
const columnsState = (0, _gridColumnsUtils.createColumnsState)({
|
|
24
24
|
apiRef,
|
|
@@ -144,7 +144,7 @@ function useGridColumns(apiRef, props) {
|
|
|
144
144
|
lookup: (0, _extends2.default)({}, columnsState.lookup, {
|
|
145
145
|
[field]: newColumn
|
|
146
146
|
})
|
|
147
|
-
}), apiRef.current.getRootDimensions()
|
|
147
|
+
}), apiRef.current.getRootDimensions()));
|
|
148
148
|
apiRef.current.publishEvent('columnWidthChange', {
|
|
149
149
|
element: apiRef.current.getColumnHeaderElement(field),
|
|
150
150
|
colDef: newColumn,
|
|
@@ -248,14 +248,15 @@ function useGridColumns(apiRef, props) {
|
|
|
248
248
|
(0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'restoreState', stateRestorePreProcessing);
|
|
249
249
|
(0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'preferencePanel', preferencePanelPreProcessing);
|
|
250
250
|
|
|
251
|
-
|
|
251
|
+
/*
|
|
252
252
|
* EVENTS
|
|
253
253
|
*/
|
|
254
|
+
|
|
254
255
|
const prevInnerWidth = React.useRef(null);
|
|
255
256
|
const handleGridSizeChange = viewportInnerSize => {
|
|
256
257
|
if (prevInnerWidth.current !== viewportInnerSize.width) {
|
|
257
258
|
prevInnerWidth.current = viewportInnerSize.width;
|
|
258
|
-
setGridColumnsState((0, _gridColumnsUtils.hydrateColumnsWidth)((0, _gridColumnsSelector.gridColumnsStateSelector)(apiRef.current.state),
|
|
259
|
+
setGridColumnsState((0, _gridColumnsUtils.hydrateColumnsWidth)((0, _gridColumnsSelector.gridColumnsStateSelector)(apiRef.current.state), apiRef.current.getRootDimensions()));
|
|
259
260
|
}
|
|
260
261
|
};
|
|
261
262
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'viewportInnerSizeChange', handleGridSizeChange);
|
|
@@ -275,7 +276,7 @@ function useGridColumns(apiRef, props) {
|
|
|
275
276
|
}, [apiRef, logger, setGridColumnsState]);
|
|
276
277
|
(0, _pipeProcessing.useGridRegisterPipeApplier)(apiRef, 'hydrateColumns', hydrateColumns);
|
|
277
278
|
|
|
278
|
-
|
|
279
|
+
/*
|
|
279
280
|
* EFFECTS
|
|
280
281
|
*/
|
|
281
282
|
// The effect do not track any value defined synchronously during the 1st render by hooks called after `useGridColumns`
|
|
@@ -11,8 +11,9 @@ var _useEventCallback = _interopRequireDefault(require("@mui/utils/useEventCallb
|
|
|
11
11
|
var _useGridLogger = require("../../utils/useGridLogger");
|
|
12
12
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
13
13
|
var _densitySelector = require("./densitySelector");
|
|
14
|
+
var _pipeProcessing = require("../../core/pipeProcessing");
|
|
14
15
|
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
|
-
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 &&
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
17
|
const densityStateInitializer = (state, props) => (0, _extends2.default)({}, state, {
|
|
17
18
|
density: props.initialState?.density ?? props.density ?? 'standard'
|
|
18
19
|
});
|
|
@@ -36,14 +37,39 @@ const useGridDensity = (apiRef, props) => {
|
|
|
36
37
|
density: newDensity
|
|
37
38
|
}));
|
|
38
39
|
});
|
|
40
|
+
const densityApi = {
|
|
41
|
+
setDensity
|
|
42
|
+
};
|
|
43
|
+
(0, _useGridApiMethod.useGridApiMethod)(apiRef, densityApi, 'public');
|
|
44
|
+
const stateExportPreProcessing = React.useCallback((prevState, context) => {
|
|
45
|
+
const exportedDensity = (0, _densitySelector.gridDensitySelector)(apiRef.current.state);
|
|
46
|
+
const shouldExportRowCount =
|
|
47
|
+
// Always export if the `exportOnlyDirtyModels` property is not activated
|
|
48
|
+
!context.exportOnlyDirtyModels ||
|
|
49
|
+
// Always export if the `density` is controlled
|
|
50
|
+
props.density != null ||
|
|
51
|
+
// Always export if the `density` has been initialized
|
|
52
|
+
props.initialState?.density != null;
|
|
53
|
+
if (!shouldExportRowCount) {
|
|
54
|
+
return prevState;
|
|
55
|
+
}
|
|
56
|
+
return (0, _extends2.default)({}, prevState, {
|
|
57
|
+
density: exportedDensity
|
|
58
|
+
});
|
|
59
|
+
}, [apiRef, props.density, props.initialState?.density]);
|
|
60
|
+
const stateRestorePreProcessing = React.useCallback((params, context) => {
|
|
61
|
+
const restoredDensity = context.stateToRestore?.density ? context.stateToRestore.density : (0, _densitySelector.gridDensitySelector)(apiRef.current.state);
|
|
62
|
+
apiRef.current.setState(state => (0, _extends2.default)({}, state, {
|
|
63
|
+
density: restoredDensity
|
|
64
|
+
}));
|
|
65
|
+
return params;
|
|
66
|
+
}, [apiRef]);
|
|
67
|
+
(0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'exportState', stateExportPreProcessing);
|
|
68
|
+
(0, _pipeProcessing.useGridRegisterPipeProcessor)(apiRef, 'restoreState', stateRestorePreProcessing);
|
|
39
69
|
React.useEffect(() => {
|
|
40
70
|
if (props.density) {
|
|
41
71
|
apiRef.current.setDensity(props.density);
|
|
42
72
|
}
|
|
43
73
|
}, [apiRef, props.density]);
|
|
44
|
-
const densityApi = {
|
|
45
|
-
setDensity
|
|
46
|
-
};
|
|
47
|
-
(0, _useGridApiMethod.useGridApiMethod)(apiRef, densityApi, 'public');
|
|
48
74
|
};
|
|
49
75
|
exports.useGridDensity = useGridDensity;
|
|
@@ -23,7 +23,7 @@ var _gridRowsMetaSelector = require("../rows/gridRowsMetaSelector");
|
|
|
23
23
|
var _gridRowsUtils = require("../rows/gridRowsUtils");
|
|
24
24
|
var _gridColumnsUtils = require("../columns/gridColumnsUtils");
|
|
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
|
-
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 &&
|
|
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; }
|
|
27
27
|
const EMPTY_SIZE = {
|
|
28
28
|
width: 0,
|
|
29
29
|
height: 0
|
|
@@ -39,6 +39,7 @@ const EMPTY_DIMENSIONS = {
|
|
|
39
39
|
hasScrollY: false,
|
|
40
40
|
scrollbarSize: 0,
|
|
41
41
|
headerHeight: 0,
|
|
42
|
+
headerFilterHeight: 0,
|
|
42
43
|
rowWidth: 0,
|
|
43
44
|
rowHeight: 0,
|
|
44
45
|
columnsTotalWidth: 0,
|
|
@@ -64,8 +65,9 @@ function useGridDimensions(apiRef, props) {
|
|
|
64
65
|
const densityFactor = (0, _utils2.useGridSelector)(apiRef, _density.gridDensityFactorSelector);
|
|
65
66
|
const rowHeight = Math.floor(props.rowHeight * densityFactor);
|
|
66
67
|
const headerHeight = Math.floor(props.columnHeaderHeight * densityFactor);
|
|
68
|
+
const headerFilterHeight = Math.floor((props.headerFilterHeight ?? props.columnHeaderHeight) * densityFactor);
|
|
67
69
|
const columnsTotalWidth = roundToDecimalPlaces((0, _columns.gridColumnsTotalWidthSelector)(apiRef), 6);
|
|
68
|
-
const headersTotalHeight = (0, _gridColumnsUtils.getTotalHeaderHeight)(apiRef, props
|
|
70
|
+
const headersTotalHeight = (0, _gridColumnsUtils.getTotalHeaderHeight)(apiRef, props);
|
|
69
71
|
const leftPinnedWidth = pinnedColumns.left.reduce((w, col) => w + col.computedWidth, 0);
|
|
70
72
|
const rightPinnedWidth = pinnedColumns.right.reduce((w, col) => w + col.computedWidth, 0);
|
|
71
73
|
const [savedSize, setSavedSize] = React.useState();
|
|
@@ -187,6 +189,7 @@ function useGridDimensions(apiRef, props) {
|
|
|
187
189
|
hasScrollY,
|
|
188
190
|
scrollbarSize,
|
|
189
191
|
headerHeight,
|
|
192
|
+
headerFilterHeight,
|
|
190
193
|
rowWidth,
|
|
191
194
|
rowHeight,
|
|
192
195
|
columnsTotalWidth,
|
|
@@ -202,7 +205,7 @@ function useGridDimensions(apiRef, props) {
|
|
|
202
205
|
apiRef.current.publishEvent('viewportInnerSizeChange', newDimensions.viewportInnerSize);
|
|
203
206
|
}
|
|
204
207
|
apiRef.current.updateRenderContext?.();
|
|
205
|
-
}, [apiRef, setDimensions, props.scrollbarSize, props.autoHeight, rowsMeta.currentPageTotalHeight, rowHeight, headerHeight, columnsTotalWidth, headersTotalHeight, leftPinnedWidth, rightPinnedWidth]);
|
|
208
|
+
}, [apiRef, setDimensions, props.scrollbarSize, props.autoHeight, rowsMeta.currentPageTotalHeight, rowHeight, headerHeight, headerFilterHeight, columnsTotalWidth, headersTotalHeight, leftPinnedWidth, rightPinnedWidth]);
|
|
206
209
|
const apiPublic = {
|
|
207
210
|
resize,
|
|
208
211
|
getRootDimensions
|
|
@@ -22,7 +22,7 @@ var _gridEditCellParams = require("../../../models/params/gridEditCellParams");
|
|
|
22
22
|
const _excluded = ["id", "field"],
|
|
23
23
|
_excluded2 = ["id", "field"];
|
|
24
24
|
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); }
|
|
25
|
-
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 &&
|
|
25
|
+
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; }
|
|
26
26
|
const missingOnProcessRowUpdateErrorWarning = (0, _warning.buildWarning)(['MUI X: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, for example `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see https://mui.com/x/react-data-grid/editing/#server-side-persistence.'], 'error');
|
|
27
27
|
const useGridCellEditing = (apiRef, props) => {
|
|
28
28
|
const [cellModesModel, setCellModesModel] = React.useState({});
|
|
@@ -162,13 +162,26 @@ const useGridCellEditing = (apiRef, props) => {
|
|
|
162
162
|
cellToFocusAfter
|
|
163
163
|
});
|
|
164
164
|
}, [apiRef]);
|
|
165
|
+
const runIfNoFieldErrors = callback => async (...args) => {
|
|
166
|
+
if (callback) {
|
|
167
|
+
const {
|
|
168
|
+
id,
|
|
169
|
+
field
|
|
170
|
+
} = args[0];
|
|
171
|
+
const editRowsState = apiRef.current.state.editRows;
|
|
172
|
+
const hasFieldErrors = editRowsState[id][field]?.error;
|
|
173
|
+
if (!hasFieldErrors) {
|
|
174
|
+
callback(...args);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
};
|
|
165
178
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'cellDoubleClick', runIfEditModeIsCell(handleCellDoubleClick));
|
|
166
179
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'cellFocusOut', runIfEditModeIsCell(handleCellFocusOut));
|
|
167
180
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'cellKeyDown', runIfEditModeIsCell(handleCellKeyDown));
|
|
168
181
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'cellEditStart', runIfEditModeIsCell(handleCellEditStart));
|
|
169
182
|
(0, _useGridApiEventHandler.useGridApiEventHandler)(apiRef, 'cellEditStop', runIfEditModeIsCell(handleCellEditStop));
|
|
170
183
|
(0, _useGridApiEventHandler.useGridApiOptionHandler)(apiRef, 'cellEditStart', props.onCellEditStart);
|
|
171
|
-
(0, _useGridApiEventHandler.useGridApiOptionHandler)(apiRef, 'cellEditStop', props.onCellEditStop);
|
|
184
|
+
(0, _useGridApiEventHandler.useGridApiOptionHandler)(apiRef, 'cellEditStop', runIfNoFieldErrors(props.onCellEditStop));
|
|
172
185
|
const getCellMode = React.useCallback((id, field) => {
|
|
173
186
|
const editingState = (0, _gridEditingSelectors.gridEditRowsStateSelector)(apiRef.current.state);
|
|
174
187
|
const isEditing = editingState[id] && editingState[id][field];
|
|
@@ -14,7 +14,7 @@ var _useGridRowEditing = require("./useGridRowEditing");
|
|
|
14
14
|
var _gridEditingSelectors = require("./gridEditingSelectors");
|
|
15
15
|
var _gridRowsUtils = require("../rows/gridRowsUtils");
|
|
16
16
|
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); }
|
|
17
|
-
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 &&
|
|
17
|
+
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; }
|
|
18
18
|
const editingStateInitializer = state => (0, _extends2.default)({}, state, {
|
|
19
19
|
editRows: {}
|
|
20
20
|
});
|
|
@@ -24,7 +24,7 @@ var _colDef = require("../../../colDef");
|
|
|
24
24
|
const _excluded = ["id"],
|
|
25
25
|
_excluded2 = ["id"];
|
|
26
26
|
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); }
|
|
27
|
-
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 &&
|
|
27
|
+
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
28
|
const missingOnProcessRowUpdateErrorWarning = (0, _warning.buildWarning)(['MUI X: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, for example `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see https://mui.com/x/react-data-grid/editing/#server-side-persistence.'], 'error');
|
|
29
29
|
const useGridRowEditing = (apiRef, props) => {
|
|
30
30
|
const [rowModesModel, setRowModesModel] = React.useState({});
|
|
@@ -14,7 +14,7 @@ var _pipeProcessing = require("../../core/pipeProcessing");
|
|
|
14
14
|
var _GridToolbarExport = require("../../../components/toolbar/GridToolbarExport");
|
|
15
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
16
|
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); }
|
|
17
|
-
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 &&
|
|
17
|
+
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; }
|
|
18
18
|
/**
|
|
19
19
|
* @requires useGridColumns (state)
|
|
20
20
|
* @requires useGridFilter (state)
|
|
@@ -22,7 +22,7 @@ var _gridColumnsUtils = require("../columns/gridColumnsUtils");
|
|
|
22
22
|
var _gridCheckboxSelectionColDef = require("../../../colDef/gridCheckboxSelectionColDef");
|
|
23
23
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
24
24
|
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); }
|
|
25
|
-
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 &&
|
|
25
|
+
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; }
|
|
26
26
|
function raf() {
|
|
27
27
|
return new Promise(resolve => {
|
|
28
28
|
requestAnimationFrame(() => {
|
|
@@ -116,7 +116,7 @@ const useGridPrintExport = (apiRef, props) => {
|
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
// Expand container height to accommodate all rows
|
|
119
|
-
const computedTotalHeight = rowsMeta.currentPageTotalHeight + (0, _gridColumnsUtils.getTotalHeaderHeight)(apiRef, props
|
|
119
|
+
const computedTotalHeight = rowsMeta.currentPageTotalHeight + (0, _gridColumnsUtils.getTotalHeaderHeight)(apiRef, props) + gridToolbarElementHeight + gridFooterElementHeight;
|
|
120
120
|
gridClone.style.height = `${computedTotalHeight}px`;
|
|
121
121
|
// The height above does not include grid border width, so we need to exclude it
|
|
122
122
|
gridClone.style.boxSizing = 'content-box';
|
|
@@ -190,7 +190,7 @@ const useGridPrintExport = (apiRef, props) => {
|
|
|
190
190
|
printWindow.contentWindow.print();
|
|
191
191
|
});
|
|
192
192
|
}
|
|
193
|
-
}, [apiRef, doc, props
|
|
193
|
+
}, [apiRef, doc, props]);
|
|
194
194
|
const handlePrintWindowAfterPrint = React.useCallback(printWindow => {
|
|
195
195
|
// Remove the print iframe
|
|
196
196
|
doc.current.body.removeChild(printWindow);
|
|
@@ -25,7 +25,7 @@ var _gridFilterUtils = require("./gridFilterUtils");
|
|
|
25
25
|
var _utils2 = require("../../../utils/utils");
|
|
26
26
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
27
|
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); }
|
|
28
|
-
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 &&
|
|
28
|
+
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; }
|
|
29
29
|
const filterStateInitializer = (state, props, apiRef) => {
|
|
30
30
|
const filterModel = props.filterModel ?? props.initialState?.filter?.filterModel ?? (0, _gridFilterState.getDefaultGridFilterModel)();
|
|
31
31
|
return (0, _extends2.default)({}, state, {
|
|
@@ -19,7 +19,7 @@ var _useGridVisibleRows = require("../../utils/useGridVisibleRows");
|
|
|
19
19
|
var _utils2 = require("../../../utils/utils");
|
|
20
20
|
var _gridRowsSelector = require("../rows/gridRowsSelector");
|
|
21
21
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
|
-
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 &&
|
|
22
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
23
|
const focusStateInitializer = state => (0, _extends2.default)({}, state, {
|
|
24
24
|
focus: {
|
|
25
25
|
cell: null,
|