@mui/x-data-grid 7.0.0-beta.3 → 7.0.0-beta.5
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 +357 -22
- package/DataGrid/DataGrid.js +2 -0
- package/colDef/gridActionsColDef.js +1 -0
- package/colDef/gridBooleanColDef.js +1 -0
- package/colDef/gridBooleanOperators.js +1 -1
- package/colDef/gridCheckboxSelectionColDef.js +1 -0
- package/components/GridRow.d.ts +7 -9
- package/components/GridRow.js +36 -47
- package/components/GridScrollbarFillerCell.js +6 -21
- package/components/cell/GridCell.d.ts +2 -1
- package/components/cell/GridCell.js +17 -15
- package/components/cell/GridSkeletonCell.d.ts +3 -2
- package/components/cell/GridSkeletonCell.js +14 -6
- package/components/columnSelection/GridCellCheckboxRenderer.js +7 -6
- package/components/columnsManagement/GridColumnsManagement.js +1 -1
- package/components/containers/GridRootStyles.js +59 -21
- package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
- package/components/virtualization/GridBottomContainer.js +1 -1
- package/components/virtualization/GridTopContainer.js +1 -1
- package/components/virtualization/GridVirtualScroller.js +2 -2
- package/components/virtualization/GridVirtualScrollerRenderZone.js +9 -3
- package/constants/gridClasses.d.ts +24 -8
- package/constants/gridClasses.js +1 -1
- package/hooks/features/clipboard/useGridClipboard.js +1 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +11 -8
- package/hooks/features/columns/gridColumnsSelector.d.ts +6 -0
- package/hooks/features/columns/gridColumnsSelector.js +8 -1
- package/hooks/features/columns/useGridColumns.js +4 -0
- package/hooks/features/editing/useGridCellEditing.js +3 -4
- package/hooks/features/editing/useGridRowEditing.js +4 -6
- package/hooks/features/filter/useGridFilter.js +2 -2
- package/hooks/features/rows/useGridRows.js +8 -4
- package/hooks/features/rows/useGridRowsMeta.js +5 -13
- package/hooks/features/sorting/gridSortingUtils.js +9 -1
- package/hooks/features/sorting/useGridSorting.js +1 -2
- package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +0 -9
- package/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -7
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +3 -0
- package/hooks/features/virtualization/useGridVirtualScroller.js +82 -138
- package/hooks/features/virtualization/useGridVirtualization.d.ts +0 -8
- package/hooks/features/virtualization/useGridVirtualization.js +1 -6
- package/hooks/utils/useTimeout.d.ts +5 -3
- package/hooks/utils/useTimeout.js +13 -5
- package/index.js +1 -1
- package/internals/index.d.ts +1 -1
- package/internals/index.js +1 -1
- package/models/colDef/gridColDef.d.ts +13 -0
- package/modern/DataGrid/DataGrid.js +2 -0
- package/modern/colDef/gridActionsColDef.js +1 -0
- package/modern/colDef/gridBooleanColDef.js +1 -0
- package/modern/colDef/gridBooleanOperators.js +1 -1
- package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
- package/modern/components/GridRow.js +35 -46
- package/modern/components/GridScrollbarFillerCell.js +6 -21
- package/modern/components/cell/GridCell.js +17 -15
- package/modern/components/cell/GridSkeletonCell.js +14 -6
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +7 -6
- package/modern/components/columnsManagement/GridColumnsManagement.js +1 -1
- package/modern/components/containers/GridRootStyles.js +59 -21
- package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
- package/modern/components/virtualization/GridBottomContainer.js +1 -1
- package/modern/components/virtualization/GridTopContainer.js +1 -1
- package/modern/components/virtualization/GridVirtualScroller.js +2 -2
- package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +8 -3
- package/modern/constants/gridClasses.js +1 -1
- package/modern/hooks/features/clipboard/useGridClipboard.js +1 -1
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +11 -8
- package/modern/hooks/features/columns/gridColumnsSelector.js +8 -1
- package/modern/hooks/features/columns/useGridColumns.js +2 -0
- package/modern/hooks/features/editing/useGridCellEditing.js +3 -4
- package/modern/hooks/features/editing/useGridRowEditing.js +4 -6
- package/modern/hooks/features/filter/useGridFilter.js +2 -2
- package/modern/hooks/features/rows/useGridRows.js +8 -4
- package/modern/hooks/features/rows/useGridRowsMeta.js +5 -13
- package/modern/hooks/features/sorting/gridSortingUtils.js +9 -1
- package/modern/hooks/features/sorting/useGridSorting.js +1 -2
- package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -7
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +80 -136
- package/modern/hooks/features/virtualization/useGridVirtualization.js +1 -6
- package/modern/hooks/utils/useTimeout.js +13 -5
- package/modern/index.js +1 -1
- package/modern/internals/index.js +1 -1
- package/modern/utils/keyboardUtils.js +20 -11
- package/modern/utils/utils.js +9 -0
- package/node/DataGrid/DataGrid.js +1 -0
- package/node/colDef/gridActionsColDef.js +1 -0
- package/node/colDef/gridBooleanColDef.js +1 -0
- package/node/colDef/gridBooleanOperators.js +1 -1
- package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
- package/node/components/GridRow.js +35 -46
- package/node/components/GridScrollbarFillerCell.js +5 -20
- package/node/components/cell/GridCell.js +17 -15
- package/node/components/cell/GridSkeletonCell.js +15 -7
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +7 -6
- package/node/components/columnsManagement/GridColumnsManagement.js +1 -1
- package/node/components/containers/GridRootStyles.js +59 -21
- package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
- package/node/components/virtualization/GridBottomContainer.js +1 -1
- package/node/components/virtualization/GridTopContainer.js +1 -1
- package/node/components/virtualization/GridVirtualScroller.js +2 -2
- package/node/components/virtualization/GridVirtualScrollerRenderZone.js +7 -2
- package/node/constants/gridClasses.js +1 -1
- package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +8 -5
- package/node/hooks/features/columns/gridColumnsSelector.js +9 -2
- package/node/hooks/features/columns/useGridColumns.js +2 -0
- package/node/hooks/features/editing/useGridCellEditing.js +2 -3
- package/node/hooks/features/editing/useGridRowEditing.js +3 -5
- package/node/hooks/features/filter/useGridFilter.js +2 -2
- package/node/hooks/features/rows/useGridRows.js +8 -4
- package/node/hooks/features/rows/useGridRowsMeta.js +5 -13
- package/node/hooks/features/sorting/gridSortingUtils.js +9 -1
- package/node/hooks/features/sorting/useGridSorting.js +1 -2
- package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +1 -8
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +81 -136
- package/node/hooks/features/virtualization/useGridVirtualization.js +2 -7
- package/node/hooks/utils/useTimeout.js +13 -4
- package/node/index.js +1 -1
- package/node/internals/index.js +7 -0
- package/node/utils/keyboardUtils.js +25 -20
- package/node/utils/utils.js +12 -1
- package/package.json +1 -1
- package/utils/keyboardUtils.d.ts +7 -6
- package/utils/keyboardUtils.js +20 -11
- package/utils/utils.d.ts +4 -0
- package/utils/utils.js +9 -0
- package/legacy/DataGrid/DataGrid.js +0 -664
- package/legacy/DataGrid/index.js +0 -2
- package/legacy/DataGrid/useDataGridComponent.js +0 -81
- package/legacy/DataGrid/useDataGridProps.js +0 -98
- package/legacy/colDef/gridActionsColDef.js +0 -18
- package/legacy/colDef/gridBooleanColDef.js +0 -42
- package/legacy/colDef/gridBooleanOperators.js +0 -16
- package/legacy/colDef/gridCheckboxSelectionColDef.js +0 -33
- package/legacy/colDef/gridDateColDef.js +0 -62
- package/legacy/colDef/gridDateOperators.js +0 -115
- package/legacy/colDef/gridDefaultColumnTypes.js +0 -19
- package/legacy/colDef/gridNumericColDef.js +0 -19
- package/legacy/colDef/gridNumericOperators.js +0 -145
- package/legacy/colDef/gridSingleSelectColDef.js +0 -64
- package/legacy/colDef/gridSingleSelectOperators.js +0 -46
- package/legacy/colDef/gridStringColDef.js +0 -27
- package/legacy/colDef/gridStringOperators.js +0 -112
- package/legacy/colDef/index.js +0 -13
- package/legacy/components/GridApiContext.js +0 -5
- package/legacy/components/GridColumnHeaders.js +0 -94
- package/legacy/components/GridDetailPanels.js +0 -4
- package/legacy/components/GridFooter.js +0 -42
- package/legacy/components/GridHeader.js +0 -13
- package/legacy/components/GridHeaders.js +0 -53
- package/legacy/components/GridLoadingOverlay.js +0 -21
- package/legacy/components/GridNoResultsOverlay.js +0 -14
- package/legacy/components/GridNoRowsOverlay.js +0 -23
- package/legacy/components/GridPagination.js +0 -85
- package/legacy/components/GridPinnedRows.js +0 -4
- package/legacy/components/GridRow.js +0 -465
- package/legacy/components/GridRowCount.js +0 -63
- package/legacy/components/GridScrollbarFillerCell.js +0 -34
- package/legacy/components/GridSelectedRowCount.js +0 -66
- package/legacy/components/base/GridBody.js +0 -2
- package/legacy/components/base/GridFooterPlaceholder.js +0 -12
- package/legacy/components/base/GridOverlays.js +0 -122
- package/legacy/components/base/index.js +0 -3
- package/legacy/components/cell/GridActionsCell.js +0 -294
- package/legacy/components/cell/GridActionsCellItem.js +0 -69
- package/legacy/components/cell/GridBooleanCell.js +0 -121
- package/legacy/components/cell/GridCell.js +0 -350
- package/legacy/components/cell/GridEditBooleanCell.js +0 -174
- package/legacy/components/cell/GridEditDateCell.js +0 -230
- package/legacy/components/cell/GridEditInputCell.js +0 -198
- package/legacy/components/cell/GridEditSingleSelectCell.js +0 -231
- package/legacy/components/cell/GridSkeletonCell.js +0 -52
- package/legacy/components/cell/index.js +0 -9
- package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +0 -59
- package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +0 -41
- package/legacy/components/columnHeaders/GridColumnGroupHeader.js +0 -132
- package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -93
- package/legacy/components/columnHeaders/GridColumnHeaderItem.js +0 -212
- package/legacy/components/columnHeaders/GridColumnHeaderSeparator.js +0 -71
- package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +0 -79
- package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +0 -84
- package/legacy/components/columnHeaders/GridColumnHeadersInner.js +0 -55
- package/legacy/components/columnHeaders/GridGenericColumnHeaderItem.js +0 -107
- package/legacy/components/columnHeaders/GridIconButtonContainer.js +0 -41
- package/legacy/components/columnHeaders/index.js +0 -5
- package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +0 -160
- package/legacy/components/columnSelection/GridHeaderCheckbox.js +0 -134
- package/legacy/components/columnSelection/index.js +0 -2
- package/legacy/components/columnsManagement/GridColumnsManagement.js +0 -307
- package/legacy/components/columnsManagement/index.js +0 -1
- package/legacy/components/columnsManagement/utils.js +0 -22
- package/legacy/components/containers/GridFooterContainer.js +0 -50
- package/legacy/components/containers/GridOverlay.js +0 -52
- package/legacy/components/containers/GridRoot.js +0 -79
- package/legacy/components/containers/GridRootStyles.js +0 -395
- package/legacy/components/containers/GridToolbarContainer.js +0 -59
- package/legacy/components/containers/index.js +0 -4
- package/legacy/components/index.js +0 -19
- package/legacy/components/menu/GridMenu.js +0 -132
- package/legacy/components/menu/columnMenu/GridColumnHeaderMenu.js +0 -61
- package/legacy/components/menu/columnMenu/GridColumnMenu.js +0 -81
- package/legacy/components/menu/columnMenu/GridColumnMenuContainer.js +0 -56
- package/legacy/components/menu/columnMenu/GridColumnMenuItemProps.js +0 -1
- package/legacy/components/menu/columnMenu/GridColumnMenuProps.js +0 -1
- package/legacy/components/menu/columnMenu/index.js +0 -9
- package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +0 -21
- package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +0 -41
- package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +0 -60
- package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +0 -41
- package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +0 -80
- package/legacy/components/menu/columnMenu/menuItems/index.js +0 -5
- package/legacy/components/menu/index.js +0 -2
- package/legacy/components/panel/GridColumnsPanel.js +0 -22
- package/legacy/components/panel/GridPanel.js +0 -137
- package/legacy/components/panel/GridPanelContent.js +0 -49
- package/legacy/components/panel/GridPanelFooter.js +0 -50
- package/legacy/components/panel/GridPanelHeader.js +0 -48
- package/legacy/components/panel/GridPanelWrapper.js +0 -64
- package/legacy/components/panel/GridPreferencesPanel.js +0 -26
- package/legacy/components/panel/filterPanel/GridFilterForm.js +0 -528
- package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +0 -118
- package/legacy/components/panel/filterPanel/GridFilterInputDate.js +0 -121
- package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -116
- package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +0 -102
- package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +0 -149
- package/legacy/components/panel/filterPanel/GridFilterInputValue.js +0 -106
- package/legacy/components/panel/filterPanel/GridFilterInputValueProps.js +0 -1
- package/legacy/components/panel/filterPanel/GridFilterPanel.js +0 -264
- package/legacy/components/panel/filterPanel/filterPanelUtils.js +0 -22
- package/legacy/components/panel/filterPanel/index.js +0 -9
- package/legacy/components/panel/index.js +0 -7
- package/legacy/components/reexportable.js +0 -1
- package/legacy/components/toolbar/GridToolbar.js +0 -64
- package/legacy/components/toolbar/GridToolbarColumnsButton.js +0 -68
- package/legacy/components/toolbar/GridToolbarDensitySelector.js +0 -142
- package/legacy/components/toolbar/GridToolbarExport.js +0 -80
- package/legacy/components/toolbar/GridToolbarExportContainer.js +0 -105
- package/legacy/components/toolbar/GridToolbarFilterButton.js +0 -136
- package/legacy/components/toolbar/GridToolbarQuickFilter.js +0 -164
- package/legacy/components/toolbar/index.js +0 -7
- package/legacy/components/virtualization/GridBottomContainer.js +0 -25
- package/legacy/components/virtualization/GridMainContainer.js +0 -20
- package/legacy/components/virtualization/GridTopContainer.js +0 -35
- package/legacy/components/virtualization/GridVirtualScrollbar.js +0 -129
- package/legacy/components/virtualization/GridVirtualScroller.js +0 -93
- package/legacy/components/virtualization/GridVirtualScrollerContent.js +0 -35
- package/legacy/components/virtualization/GridVirtualScrollerFiller.js +0 -70
- package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +0 -49
- package/legacy/constants/defaultGridSlotsComponents.js +0 -33
- package/legacy/constants/envConstants.js +0 -19
- package/legacy/constants/gridClasses.js +0 -5
- package/legacy/constants/gridDetailPanelToggleField.js +0 -2
- package/legacy/constants/index.js +0 -3
- package/legacy/constants/localeTextConstants.js +0 -158
- package/legacy/context/GridContextProvider.js +0 -21
- package/legacy/context/GridRootPropsContext.js +0 -6
- package/legacy/context/index.js +0 -1
- package/legacy/hooks/core/gridCoreSelector.js +0 -7
- package/legacy/hooks/core/index.js +0 -1
- package/legacy/hooks/core/pipeProcessing/gridPipeProcessingApi.js +0 -1
- package/legacy/hooks/core/pipeProcessing/index.js +0 -4
- package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +0 -114
- package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +0 -26
- package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -26
- package/legacy/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +0 -1
- package/legacy/hooks/core/strategyProcessing/index.js +0 -3
- package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +0 -18
- package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +0 -116
- package/legacy/hooks/core/useGridApiInitialization.js +0 -124
- package/legacy/hooks/core/useGridInitialization.js +0 -26
- package/legacy/hooks/core/useGridLocaleText.js +0 -12
- package/legacy/hooks/core/useGridLoggerFactory.js +0 -51
- package/legacy/hooks/core/useGridRefs.js +0 -13
- package/legacy/hooks/core/useGridStateInitialization.js +0 -106
- package/legacy/hooks/core/useGridTheme.js +0 -21
- package/legacy/hooks/features/clipboard/useGridClipboard.js +0 -92
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +0 -1
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +0 -24
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +0 -92
- package/legacy/hooks/features/columnGrouping/index.js +0 -2
- package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +0 -140
- package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +0 -272
- package/legacy/hooks/features/columnMenu/columnMenuInterfaces.js +0 -1
- package/legacy/hooks/features/columnMenu/columnMenuSelector.js +0 -3
- package/legacy/hooks/features/columnMenu/index.js +0 -2
- package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +0 -108
- package/legacy/hooks/features/columnMenu/useGridColumnMenuSlots.js +0 -71
- package/legacy/hooks/features/columns/gridColumnsInterfaces.js +0 -9
- package/legacy/hooks/features/columns/gridColumnsSelector.js +0 -174
- package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -338
- package/legacy/hooks/features/columns/index.js +0 -2
- package/legacy/hooks/features/columns/useGridColumnSpanning.js +0 -105
- package/legacy/hooks/features/columns/useGridColumns.js +0 -319
- package/legacy/hooks/features/density/densitySelector.js +0 -10
- package/legacy/hooks/features/density/densityState.js +0 -1
- package/legacy/hooks/features/density/index.js +0 -2
- package/legacy/hooks/features/density/useGridDensity.js +0 -48
- package/legacy/hooks/features/dimensions/gridDimensionsApi.js +0 -1
- package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +0 -3
- package/legacy/hooks/features/dimensions/index.js +0 -2
- package/legacy/hooks/features/dimensions/useGridDimensions.js +0 -302
- package/legacy/hooks/features/editing/gridEditingSelectors.js +0 -4
- package/legacy/hooks/features/editing/useGridCellEditing.js +0 -456
- package/legacy/hooks/features/editing/useGridEditing.js +0 -145
- package/legacy/hooks/features/editing/useGridRowEditing.js +0 -567
- package/legacy/hooks/features/events/useGridEvents.js +0 -23
- package/legacy/hooks/features/export/serializers/csvSerializer.js +0 -155
- package/legacy/hooks/features/export/useGridCsvExport.js +0 -75
- package/legacy/hooks/features/export/useGridPrintExport.js +0 -313
- package/legacy/hooks/features/export/utils.js +0 -49
- package/legacy/hooks/features/filter/gridFilterSelector.js +0 -165
- package/legacy/hooks/features/filter/gridFilterState.js +0 -20
- package/legacy/hooks/features/filter/gridFilterUtils.js +0 -330
- package/legacy/hooks/features/filter/index.js +0 -2
- package/legacy/hooks/features/filter/useGridFilter.js +0 -378
- package/legacy/hooks/features/focus/gridFocusState.js +0 -1
- package/legacy/hooks/features/focus/gridFocusStateSelector.js +0 -31
- package/legacy/hooks/features/focus/index.js +0 -2
- package/legacy/hooks/features/focus/useGridFocus.js +0 -408
- package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +0 -10
- package/legacy/hooks/features/headerFiltering/index.js +0 -1
- package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +0 -93
- package/legacy/hooks/features/index.js +0 -16
- package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +0 -565
- package/legacy/hooks/features/pagination/gridPaginationInterfaces.js +0 -1
- package/legacy/hooks/features/pagination/gridPaginationSelector.js +0 -115
- package/legacy/hooks/features/pagination/gridPaginationUtils.js +0 -31
- package/legacy/hooks/features/pagination/index.js +0 -2
- package/legacy/hooks/features/pagination/useGridPagination.js +0 -175
- package/legacy/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +0 -3
- package/legacy/hooks/features/preferencesPanel/gridPreferencePanelState.js +0 -1
- package/legacy/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +0 -6
- package/legacy/hooks/features/preferencesPanel/index.js +0 -3
- package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +0 -125
- package/legacy/hooks/features/rowSelection/gridRowSelectionSelector.js +0 -19
- package/legacy/hooks/features/rowSelection/index.js +0 -1
- package/legacy/hooks/features/rowSelection/useGridRowSelection.js +0 -419
- package/legacy/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +0 -45
- package/legacy/hooks/features/rowSelection/utils.js +0 -8
- package/legacy/hooks/features/rows/gridRowsInterfaces.js +0 -1
- package/legacy/hooks/features/rows/gridRowsMetaSelector.js +0 -3
- package/legacy/hooks/features/rows/gridRowsMetaState.js +0 -1
- package/legacy/hooks/features/rows/gridRowsSelector.js +0 -90
- package/legacy/hooks/features/rows/gridRowsUtils.js +0 -294
- package/legacy/hooks/features/rows/index.js +0 -4
- package/legacy/hooks/features/rows/useGridParamsApi.js +0 -142
- package/legacy/hooks/features/rows/useGridRows.js +0 -466
- package/legacy/hooks/features/rows/useGridRowsMeta.js +0 -236
- package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +0 -82
- package/legacy/hooks/features/scroll/useGridScroll.js +0 -133
- package/legacy/hooks/features/sorting/gridSortingSelector.js +0 -56
- package/legacy/hooks/features/sorting/gridSortingState.js +0 -1
- package/legacy/hooks/features/sorting/gridSortingUtils.js +0 -154
- package/legacy/hooks/features/sorting/index.js +0 -2
- package/legacy/hooks/features/sorting/useGridSorting.js +0 -276
- package/legacy/hooks/features/statePersistence/gridStatePersistenceInterface.js +0 -1
- package/legacy/hooks/features/statePersistence/index.js +0 -1
- package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +0 -25
- package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -61
- package/legacy/hooks/features/virtualization/index.js +0 -2
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +0 -646
- package/legacy/hooks/features/virtualization/useGridVirtualization.js +0 -63
- package/legacy/hooks/index.js +0 -3
- package/legacy/hooks/utils/index.js +0 -9
- package/legacy/hooks/utils/useFirstRender.js +0 -8
- package/legacy/hooks/utils/useGridApiContext.js +0 -9
- package/legacy/hooks/utils/useGridApiEventHandler.js +0 -105
- package/legacy/hooks/utils/useGridApiMethod.js +0 -11
- package/legacy/hooks/utils/useGridApiRef.js +0 -7
- package/legacy/hooks/utils/useGridAriaAttributes.js +0 -25
- package/legacy/hooks/utils/useGridInitializeState.js +0 -8
- package/legacy/hooks/utils/useGridLogger.js +0 -10
- package/legacy/hooks/utils/useGridNativeEventListener.js +0 -32
- package/legacy/hooks/utils/useGridPrivateApiContext.js +0 -12
- package/legacy/hooks/utils/useGridRootProps.js +0 -9
- package/legacy/hooks/utils/useGridSelector.js +0 -54
- package/legacy/hooks/utils/useGridVisibleRows.js +0 -42
- package/legacy/hooks/utils/useLazyRef.js +0 -11
- package/legacy/hooks/utils/useOnMount.js +0 -7
- package/legacy/hooks/utils/useResizeObserver.js +0 -36
- package/legacy/hooks/utils/useRunOnce.js +0 -18
- package/legacy/hooks/utils/useTimeout.js +0 -38
- package/legacy/index.js +0 -38
- package/legacy/internals/index.js +0 -68
- package/legacy/internals/utils/computeSlots.js +0 -17
- package/legacy/internals/utils/index.js +0 -3
- package/legacy/internals/utils/propValidation.js +0 -21
- package/legacy/internals/utils/useProps.js +0 -32
- package/legacy/joy/icons.js +0 -432
- package/legacy/joy/index.js +0 -2
- package/legacy/joy/joySlots.js +0 -420
- package/legacy/locales/arSD.js +0 -160
- package/legacy/locales/beBY.js +0 -184
- package/legacy/locales/bgBG.js +0 -160
- package/legacy/locales/coreLocales.js +0 -62
- package/legacy/locales/csCZ.js +0 -181
- package/legacy/locales/daDK.js +0 -160
- package/legacy/locales/deDE.js +0 -160
- package/legacy/locales/elGR.js +0 -160
- package/legacy/locales/enUS.js +0 -4
- package/legacy/locales/esES.js +0 -160
- package/legacy/locales/faIR.js +0 -160
- package/legacy/locales/fiFI.js +0 -160
- package/legacy/locales/frFR.js +0 -160
- package/legacy/locales/heIL.js +0 -160
- package/legacy/locales/hrHR.js +0 -160
- package/legacy/locales/huHU.js +0 -160
- package/legacy/locales/index.js +0 -35
- package/legacy/locales/itIT.js +0 -160
- package/legacy/locales/jaJP.js +0 -160
- package/legacy/locales/koKR.js +0 -162
- package/legacy/locales/nbNO.js +0 -162
- package/legacy/locales/nlNL.js +0 -160
- package/legacy/locales/plPL.js +0 -163
- package/legacy/locales/ptBR.js +0 -160
- package/legacy/locales/ptPT.js +0 -160
- package/legacy/locales/roRO.js +0 -160
- package/legacy/locales/ruRU.js +0 -181
- package/legacy/locales/skSK.js +0 -181
- package/legacy/locales/svSE.js +0 -160
- package/legacy/locales/trTR.js +0 -161
- package/legacy/locales/ukUA.js +0 -182
- package/legacy/locales/urPK.js +0 -160
- package/legacy/locales/viVN.js +0 -160
- package/legacy/locales/zhCN.js +0 -160
- package/legacy/locales/zhHK.js +0 -160
- package/legacy/locales/zhTW.js +0 -160
- package/legacy/material/components/MUISelectOption.js +0 -14
- package/legacy/material/icons/GridColumnUnsortedIcon.js +0 -16
- package/legacy/material/icons/index.js +0 -89
- package/legacy/material/index.js +0 -69
- package/legacy/models/api/gridApiCommon.js +0 -1
- package/legacy/models/api/gridApiCommunity.js +0 -1
- package/legacy/models/api/gridCallbackDetails.js +0 -1
- package/legacy/models/api/gridColumnApi.js +0 -1
- package/legacy/models/api/gridColumnGroupingApi.js +0 -1
- package/legacy/models/api/gridColumnMenuApi.js +0 -1
- package/legacy/models/api/gridColumnSpanning.js +0 -1
- package/legacy/models/api/gridCoreApi.js +0 -1
- package/legacy/models/api/gridCsvExportApi.js +0 -1
- package/legacy/models/api/gridDensityApi.js +0 -1
- package/legacy/models/api/gridEditingApi.js +0 -1
- package/legacy/models/api/gridFilterApi.js +0 -1
- package/legacy/models/api/gridFocusApi.js +0 -1
- package/legacy/models/api/gridHeaderFilteringApi.js +0 -1
- package/legacy/models/api/gridLocaleTextApi.js +0 -1
- package/legacy/models/api/gridLoggerApi.js +0 -1
- package/legacy/models/api/gridParamsApi.js +0 -1
- package/legacy/models/api/gridPreferencesPanelApi.js +0 -1
- package/legacy/models/api/gridPrintExportApi.js +0 -1
- package/legacy/models/api/gridRowApi.js +0 -1
- package/legacy/models/api/gridRowSelectionApi.js +0 -1
- package/legacy/models/api/gridRowsMetaApi.js +0 -1
- package/legacy/models/api/gridScrollApi.js +0 -1
- package/legacy/models/api/gridSortApi.js +0 -1
- package/legacy/models/api/gridStateApi.js +0 -1
- package/legacy/models/api/gridVirtualizationApi.js +0 -1
- package/legacy/models/api/index.js +0 -16
- package/legacy/models/colDef/gridColDef.js +0 -1
- package/legacy/models/colDef/gridColType.js +0 -1
- package/legacy/models/colDef/gridColumnTypesRecord.js +0 -1
- package/legacy/models/colDef/index.js +0 -6
- package/legacy/models/controlStateItem.js +0 -1
- package/legacy/models/cursorCoordinates.js +0 -1
- package/legacy/models/elementSize.js +0 -1
- package/legacy/models/events/gridEventListener.js +0 -1
- package/legacy/models/events/gridEventLookup.js +0 -1
- package/legacy/models/events/gridEventPublisher.js +0 -1
- package/legacy/models/events/index.js +0 -3
- package/legacy/models/gridApiCaches.js +0 -1
- package/legacy/models/gridCell.js +0 -1
- package/legacy/models/gridCellClass.js +0 -1
- package/legacy/models/gridColumnGrouping.js +0 -11
- package/legacy/models/gridColumnHeaderClass.js +0 -1
- package/legacy/models/gridColumnSpanning.js +0 -1
- package/legacy/models/gridDensity.js +0 -1
- package/legacy/models/gridEditRowModel.js +0 -16
- package/legacy/models/gridExport.js +0 -1
- package/legacy/models/gridFeatureMode.js +0 -1
- package/legacy/models/gridFilterItem.js +0 -11
- package/legacy/models/gridFilterModel.js +0 -1
- package/legacy/models/gridFilterOperator.js +0 -1
- package/legacy/models/gridHeaderFilteringModel.js +0 -1
- package/legacy/models/gridIconSlotsComponent.js +0 -1
- package/legacy/models/gridPaginationProps.js +0 -1
- package/legacy/models/gridRenderContextProps.js +0 -1
- package/legacy/models/gridRowSelectionModel.js +0 -1
- package/legacy/models/gridRows.js +0 -1
- package/legacy/models/gridSlotsComponent.js +0 -1
- package/legacy/models/gridSlotsComponentsProps.js +0 -1
- package/legacy/models/gridSortModel.js +0 -1
- package/legacy/models/gridStateCommunity.js +0 -1
- package/legacy/models/index.js +0 -29
- package/legacy/models/logger.js +0 -1
- package/legacy/models/muiEvent.js +0 -1
- package/legacy/models/params/gridCellParams.js +0 -1
- package/legacy/models/params/gridColumnGroupHeaderParams.js +0 -1
- package/legacy/models/params/gridColumnHeaderParams.js +0 -1
- package/legacy/models/params/gridColumnOrderChangeParams.js +0 -1
- package/legacy/models/params/gridColumnResizeParams.js +0 -1
- package/legacy/models/params/gridEditCellParams.js +0 -27
- package/legacy/models/params/gridHeaderSelectionCheckboxParams.js +0 -1
- package/legacy/models/params/gridMenuParams.js +0 -1
- package/legacy/models/params/gridPreferencePanelParams.js +0 -1
- package/legacy/models/params/gridRowParams.js +0 -44
- package/legacy/models/params/gridRowSelectionCheckboxParams.js +0 -1
- package/legacy/models/params/gridScrollParams.js +0 -1
- package/legacy/models/params/gridValueOptionsParams.js +0 -1
- package/legacy/models/params/index.js +0 -13
- package/legacy/models/props/DataGridProps.js +0 -1
- package/legacy/themeAugmentation/index.js +0 -4
- package/legacy/themeAugmentation/overrides.js +0 -1
- package/legacy/themeAugmentation/props.js +0 -1
- package/legacy/utils/EventManager.js +0 -91
- package/legacy/utils/Store.js +0 -34
- package/legacy/utils/cleanupTracking/CleanupTracking.js +0 -1
- package/legacy/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -29
- package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -52
- package/legacy/utils/createControllablePromise.js +0 -11
- package/legacy/utils/createSelector.js +0 -120
- package/legacy/utils/doesSupportPreventScroll.js +0 -13
- package/legacy/utils/domUtils.js +0 -49
- package/legacy/utils/exportAs.js +0 -40
- package/legacy/utils/fastMemo.js +0 -5
- package/legacy/utils/fastObjectShallowCompare.js +0 -32
- package/legacy/utils/getGridLocalization.js +0 -15
- package/legacy/utils/getPublicApiRef.js +0 -5
- package/legacy/utils/index.js +0 -1
- package/legacy/utils/keyboardUtils.js +0 -60
- package/legacy/utils/utils.js +0 -189
- package/legacy/utils/warning.js +0 -25
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
2
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
5
|
-
var _excluded = ["displayOrder"];
|
|
6
|
-
import * as React from 'react';
|
|
7
|
-
import Divider from '@mui/material/Divider';
|
|
8
|
-
import { useGridPrivateApiContext } from '../../utils/useGridPrivateApiContext';
|
|
9
|
-
var useGridColumnMenuSlots = function useGridColumnMenuSlots(props) {
|
|
10
|
-
var apiRef = useGridPrivateApiContext();
|
|
11
|
-
var defaultSlots = props.defaultSlots,
|
|
12
|
-
defaultSlotProps = props.defaultSlotProps,
|
|
13
|
-
_props$slots = props.slots,
|
|
14
|
-
slots = _props$slots === void 0 ? {} : _props$slots,
|
|
15
|
-
_props$slotProps = props.slotProps,
|
|
16
|
-
slotProps = _props$slotProps === void 0 ? {} : _props$slotProps,
|
|
17
|
-
hideMenu = props.hideMenu,
|
|
18
|
-
colDef = props.colDef,
|
|
19
|
-
_props$addDividers = props.addDividers,
|
|
20
|
-
addDividers = _props$addDividers === void 0 ? true : _props$addDividers;
|
|
21
|
-
var processedComponents = React.useMemo(function () {
|
|
22
|
-
return _extends({}, defaultSlots, slots);
|
|
23
|
-
}, [defaultSlots, slots]);
|
|
24
|
-
var processedSlotProps = React.useMemo(function () {
|
|
25
|
-
if (!slotProps || Object.keys(slotProps).length === 0) {
|
|
26
|
-
return defaultSlotProps;
|
|
27
|
-
}
|
|
28
|
-
var mergedProps = _extends({}, slotProps);
|
|
29
|
-
Object.entries(defaultSlotProps).forEach(function (_ref) {
|
|
30
|
-
var _ref2 = _slicedToArray(_ref, 2),
|
|
31
|
-
key = _ref2[0],
|
|
32
|
-
currentSlotProps = _ref2[1];
|
|
33
|
-
mergedProps[key] = _extends({}, currentSlotProps, slotProps[key] || {});
|
|
34
|
-
});
|
|
35
|
-
return mergedProps;
|
|
36
|
-
}, [defaultSlotProps, slotProps]);
|
|
37
|
-
var defaultItems = apiRef.current.unstable_applyPipeProcessors('columnMenu', [], props.colDef);
|
|
38
|
-
var userItems = React.useMemo(function () {
|
|
39
|
-
var defaultComponentKeys = Object.keys(defaultSlots);
|
|
40
|
-
return Object.keys(slots).filter(function (key) {
|
|
41
|
-
return !defaultComponentKeys.includes(key);
|
|
42
|
-
});
|
|
43
|
-
}, [slots, defaultSlots]);
|
|
44
|
-
return React.useMemo(function () {
|
|
45
|
-
var uniqueItems = Array.from(new Set([].concat(_toConsumableArray(defaultItems), _toConsumableArray(userItems))));
|
|
46
|
-
var cleansedItems = uniqueItems.filter(function (key) {
|
|
47
|
-
return processedComponents[key] != null;
|
|
48
|
-
});
|
|
49
|
-
var sorted = cleansedItems.sort(function (a, b) {
|
|
50
|
-
var leftItemProps = processedSlotProps[a];
|
|
51
|
-
var rightItemProps = processedSlotProps[b];
|
|
52
|
-
var leftDisplayOrder = Number.isFinite(leftItemProps == null ? void 0 : leftItemProps.displayOrder) ? leftItemProps.displayOrder : 100;
|
|
53
|
-
var rightDisplayOrder = Number.isFinite(rightItemProps == null ? void 0 : rightItemProps.displayOrder) ? rightItemProps.displayOrder : 100;
|
|
54
|
-
return leftDisplayOrder - rightDisplayOrder;
|
|
55
|
-
});
|
|
56
|
-
return sorted.reduce(function (acc, key, index) {
|
|
57
|
-
var itemProps = {
|
|
58
|
-
colDef: colDef,
|
|
59
|
-
onClick: hideMenu
|
|
60
|
-
};
|
|
61
|
-
var processedComponentProps = processedSlotProps[key];
|
|
62
|
-
if (processedComponentProps) {
|
|
63
|
-
var displayOrder = processedComponentProps.displayOrder,
|
|
64
|
-
customProps = _objectWithoutProperties(processedComponentProps, _excluded);
|
|
65
|
-
itemProps = _extends({}, itemProps, customProps);
|
|
66
|
-
}
|
|
67
|
-
return addDividers && index !== sorted.length - 1 ? [].concat(_toConsumableArray(acc), [[processedComponents[key], itemProps], [Divider, {}]]) : [].concat(_toConsumableArray(acc), [[processedComponents[key], itemProps]]);
|
|
68
|
-
}, []);
|
|
69
|
-
}, [addDividers, colDef, defaultItems, hideMenu, processedComponents, processedSlotProps, userItems]);
|
|
70
|
-
};
|
|
71
|
-
export { useGridColumnMenuSlots };
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export var GridPinnedColumnPosition = /*#__PURE__*/function (GridPinnedColumnPosition) {
|
|
2
|
-
GridPinnedColumnPosition["LEFT"] = "left";
|
|
3
|
-
GridPinnedColumnPosition["RIGHT"] = "right";
|
|
4
|
-
return GridPinnedColumnPosition;
|
|
5
|
-
}({});
|
|
6
|
-
export var EMPTY_PINNED_COLUMN_FIELDS = {
|
|
7
|
-
left: [],
|
|
8
|
-
right: []
|
|
9
|
-
};
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { createSelector, createSelectorMemoized } from '../../../utils/createSelector';
|
|
2
|
-
import { EMPTY_PINNED_COLUMN_FIELDS } from './gridColumnsInterfaces';
|
|
3
|
-
import { gridThemeSelector } from '../../core/gridCoreSelector';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Get the columns state
|
|
7
|
-
* @category Columns
|
|
8
|
-
*/
|
|
9
|
-
export var gridColumnsStateSelector = function gridColumnsStateSelector(state) {
|
|
10
|
-
return state.columns;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Get an array of column fields in the order rendered on screen.
|
|
15
|
-
* @category Columns
|
|
16
|
-
*/
|
|
17
|
-
export var gridColumnFieldsSelector = createSelector(gridColumnsStateSelector, function (columnsState) {
|
|
18
|
-
return columnsState.orderedFields;
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Get the columns as a lookup (an object containing the field for keys and the definition for values).
|
|
23
|
-
* @category Columns
|
|
24
|
-
*/
|
|
25
|
-
export var gridColumnLookupSelector = createSelector(gridColumnsStateSelector, function (columnsState) {
|
|
26
|
-
return columnsState.lookup;
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Get an array of column definitions in the order rendered on screen..
|
|
31
|
-
* @category Columns
|
|
32
|
-
*/
|
|
33
|
-
export var gridColumnDefinitionsSelector = createSelectorMemoized(gridColumnFieldsSelector, gridColumnLookupSelector, function (allFields, lookup) {
|
|
34
|
-
return allFields.map(function (field) {
|
|
35
|
-
return lookup[field];
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Get the column visibility model, containing the visibility status of each column.
|
|
41
|
-
* If a column is not registered in the model, it is visible.
|
|
42
|
-
* @category Visible Columns
|
|
43
|
-
*/
|
|
44
|
-
export var gridColumnVisibilityModelSelector = createSelector(gridColumnsStateSelector, function (columnsState) {
|
|
45
|
-
return columnsState.columnVisibilityModel;
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Get the visible columns as a lookup (an object containing the field for keys and the definition for values).
|
|
50
|
-
* @category Visible Columns
|
|
51
|
-
*/
|
|
52
|
-
export var gridVisibleColumnDefinitionsSelector = createSelectorMemoized(gridColumnDefinitionsSelector, gridColumnVisibilityModelSelector, function (columns, columnVisibilityModel) {
|
|
53
|
-
return columns.filter(function (column) {
|
|
54
|
-
return columnVisibilityModel[column.field] !== false;
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Get the field of each visible column.
|
|
60
|
-
* @category Visible Columns
|
|
61
|
-
*/
|
|
62
|
-
export var gridVisibleColumnFieldsSelector = createSelectorMemoized(gridVisibleColumnDefinitionsSelector, function (visibleColumns) {
|
|
63
|
-
return visibleColumns.map(function (column) {
|
|
64
|
-
return column.field;
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Get the visible pinned columns model.
|
|
70
|
-
* @category Visible Columns
|
|
71
|
-
*/
|
|
72
|
-
export var gridPinnedColumnsSelector = function gridPinnedColumnsSelector(state) {
|
|
73
|
-
return state.pinnedColumns;
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Get the visible pinned columns.
|
|
78
|
-
* @category Visible Columns
|
|
79
|
-
*/
|
|
80
|
-
export var gridVisiblePinnedColumnDefinitionsSelector = createSelectorMemoized(gridColumnsStateSelector, gridPinnedColumnsSelector, gridVisibleColumnFieldsSelector, gridThemeSelector, function (columnsState, model, visibleColumnFields, theme) {
|
|
81
|
-
var visiblePinnedFields = filterVisibleColumns(model, visibleColumnFields, theme.direction === 'rtl');
|
|
82
|
-
var visiblePinnedColumns = {
|
|
83
|
-
left: visiblePinnedFields.left.map(function (field) {
|
|
84
|
-
return columnsState.lookup[field];
|
|
85
|
-
}),
|
|
86
|
-
right: visiblePinnedFields.right.map(function (field) {
|
|
87
|
-
return columnsState.lookup[field];
|
|
88
|
-
})
|
|
89
|
-
};
|
|
90
|
-
return visiblePinnedColumns;
|
|
91
|
-
});
|
|
92
|
-
function filterVisibleColumns(pinnedColumns, columns, invert) {
|
|
93
|
-
var _pinnedColumns$left, _pinnedColumns$right;
|
|
94
|
-
if (!Array.isArray(pinnedColumns.left) && !Array.isArray(pinnedColumns.right)) {
|
|
95
|
-
return EMPTY_PINNED_COLUMN_FIELDS;
|
|
96
|
-
}
|
|
97
|
-
if (((_pinnedColumns$left = pinnedColumns.left) == null ? void 0 : _pinnedColumns$left.length) === 0 && ((_pinnedColumns$right = pinnedColumns.right) == null ? void 0 : _pinnedColumns$right.length) === 0) {
|
|
98
|
-
return EMPTY_PINNED_COLUMN_FIELDS;
|
|
99
|
-
}
|
|
100
|
-
var filter = function filter(newPinnedColumns, remainingColumns) {
|
|
101
|
-
if (!Array.isArray(newPinnedColumns)) {
|
|
102
|
-
return [];
|
|
103
|
-
}
|
|
104
|
-
return newPinnedColumns.filter(function (field) {
|
|
105
|
-
return remainingColumns.includes(field);
|
|
106
|
-
});
|
|
107
|
-
};
|
|
108
|
-
var leftPinnedColumns = filter(pinnedColumns.left, columns);
|
|
109
|
-
var columnsWithoutLeftPinnedColumns = columns.filter(
|
|
110
|
-
// Filter out from the remaining columns those columns already pinned to the left
|
|
111
|
-
function (field) {
|
|
112
|
-
return !leftPinnedColumns.includes(field);
|
|
113
|
-
});
|
|
114
|
-
var rightPinnedColumns = filter(pinnedColumns.right, columnsWithoutLeftPinnedColumns);
|
|
115
|
-
if (invert) {
|
|
116
|
-
return {
|
|
117
|
-
left: rightPinnedColumns,
|
|
118
|
-
right: leftPinnedColumns
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
return {
|
|
122
|
-
left: leftPinnedColumns,
|
|
123
|
-
right: rightPinnedColumns
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
/**
|
|
128
|
-
* Get the left position in pixel of each visible columns relative to the left of the first column.
|
|
129
|
-
* @category Visible Columns
|
|
130
|
-
*/
|
|
131
|
-
export var gridColumnPositionsSelector = createSelectorMemoized(gridVisibleColumnDefinitionsSelector, function (visibleColumns) {
|
|
132
|
-
var positions = [];
|
|
133
|
-
var currentPosition = 0;
|
|
134
|
-
for (var i = 0; i < visibleColumns.length; i += 1) {
|
|
135
|
-
positions.push(currentPosition);
|
|
136
|
-
currentPosition += visibleColumns[i].computedWidth;
|
|
137
|
-
}
|
|
138
|
-
return positions;
|
|
139
|
-
});
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Get the summed width of all the visible columns.
|
|
143
|
-
* @category Visible Columns
|
|
144
|
-
*/
|
|
145
|
-
export var gridColumnsTotalWidthSelector = createSelector(gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector, function (visibleColumns, positions) {
|
|
146
|
-
var colCount = visibleColumns.length;
|
|
147
|
-
if (colCount === 0) {
|
|
148
|
-
return 0;
|
|
149
|
-
}
|
|
150
|
-
return positions[colCount - 1] + visibleColumns[colCount - 1].computedWidth;
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Get the filterable columns as an array.
|
|
155
|
-
* @category Columns
|
|
156
|
-
*/
|
|
157
|
-
export var gridFilterableColumnDefinitionsSelector = createSelectorMemoized(gridColumnDefinitionsSelector, function (columns) {
|
|
158
|
-
return columns.filter(function (col) {
|
|
159
|
-
return col.filterable;
|
|
160
|
-
});
|
|
161
|
-
});
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Get the filterable columns as a lookup (an object containing the field for keys and the definition for values).
|
|
165
|
-
* @category Columns
|
|
166
|
-
*/
|
|
167
|
-
export var gridFilterableColumnLookupSelector = createSelectorMemoized(gridColumnDefinitionsSelector, function (columns) {
|
|
168
|
-
return columns.reduce(function (acc, col) {
|
|
169
|
-
if (col.filterable) {
|
|
170
|
-
acc[col.field] = col;
|
|
171
|
-
}
|
|
172
|
-
return acc;
|
|
173
|
-
}, {});
|
|
174
|
-
});
|
|
@@ -1,338 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
-
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
4
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
5
|
-
import { DEFAULT_GRID_COL_TYPE_KEY, GRID_STRING_COL_DEF, getGridDefaultColumnTypes } from '../../../colDef';
|
|
6
|
-
import { gridColumnsStateSelector, gridColumnVisibilityModelSelector } from './gridColumnsSelector';
|
|
7
|
-
import { clamp } from '../../../utils/utils';
|
|
8
|
-
import { gridDensityFactorSelector } from '../density/densitySelector';
|
|
9
|
-
import { gridColumnGroupsHeaderMaxDepthSelector } from '../columnGrouping/gridColumnGroupsSelector';
|
|
10
|
-
export var COLUMNS_DIMENSION_PROPERTIES = ['maxWidth', 'minWidth', 'width', 'flex'];
|
|
11
|
-
var COLUMN_TYPES = getGridDefaultColumnTypes();
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Computes width for flex columns.
|
|
15
|
-
* Based on CSS Flexbox specification:
|
|
16
|
-
* https://drafts.csswg.org/css-flexbox-1/#resolve-flexible-lengths
|
|
17
|
-
*/
|
|
18
|
-
export function computeFlexColumnsWidth(_ref) {
|
|
19
|
-
var initialFreeSpace = _ref.initialFreeSpace,
|
|
20
|
-
totalFlexUnits = _ref.totalFlexUnits,
|
|
21
|
-
flexColumns = _ref.flexColumns;
|
|
22
|
-
var uniqueFlexColumns = new Set(flexColumns.map(function (col) {
|
|
23
|
-
return col.field;
|
|
24
|
-
}));
|
|
25
|
-
var flexColumnsLookup = {
|
|
26
|
-
all: {},
|
|
27
|
-
frozenFields: [],
|
|
28
|
-
freeze: function freeze(field) {
|
|
29
|
-
var value = flexColumnsLookup.all[field];
|
|
30
|
-
if (value && value.frozen !== true) {
|
|
31
|
-
flexColumnsLookup.all[field].frozen = true;
|
|
32
|
-
flexColumnsLookup.frozenFields.push(field);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
// Step 5 of https://drafts.csswg.org/css-flexbox-1/#resolve-flexible-lengths
|
|
38
|
-
function loopOverFlexItems() {
|
|
39
|
-
// 5a: If all the flex items on the line are frozen, free space has been distributed.
|
|
40
|
-
if (flexColumnsLookup.frozenFields.length === uniqueFlexColumns.size) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
var violationsLookup = {
|
|
44
|
-
min: {},
|
|
45
|
-
max: {}
|
|
46
|
-
};
|
|
47
|
-
var remainingFreeSpace = initialFreeSpace;
|
|
48
|
-
var flexUnits = totalFlexUnits;
|
|
49
|
-
var totalViolation = 0;
|
|
50
|
-
|
|
51
|
-
// 5b: Calculate the remaining free space
|
|
52
|
-
flexColumnsLookup.frozenFields.forEach(function (field) {
|
|
53
|
-
remainingFreeSpace -= flexColumnsLookup.all[field].computedWidth;
|
|
54
|
-
flexUnits -= flexColumnsLookup.all[field].flex;
|
|
55
|
-
});
|
|
56
|
-
for (var i = 0; i < flexColumns.length; i += 1) {
|
|
57
|
-
var column = flexColumns[i];
|
|
58
|
-
if (flexColumnsLookup.all[column.field] && flexColumnsLookup.all[column.field].frozen === true) {
|
|
59
|
-
continue;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// 5c: Distribute remaining free space proportional to the flex factors
|
|
63
|
-
var widthPerFlexUnit = remainingFreeSpace / flexUnits;
|
|
64
|
-
var computedWidth = widthPerFlexUnit * column.flex;
|
|
65
|
-
|
|
66
|
-
// 5d: Fix min/max violations
|
|
67
|
-
if (computedWidth < column.minWidth) {
|
|
68
|
-
totalViolation += column.minWidth - computedWidth;
|
|
69
|
-
computedWidth = column.minWidth;
|
|
70
|
-
violationsLookup.min[column.field] = true;
|
|
71
|
-
} else if (computedWidth > column.maxWidth) {
|
|
72
|
-
totalViolation += column.maxWidth - computedWidth;
|
|
73
|
-
computedWidth = column.maxWidth;
|
|
74
|
-
violationsLookup.max[column.field] = true;
|
|
75
|
-
}
|
|
76
|
-
flexColumnsLookup.all[column.field] = {
|
|
77
|
-
frozen: false,
|
|
78
|
-
computedWidth: computedWidth,
|
|
79
|
-
flex: column.flex
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// 5e: Freeze over-flexed items
|
|
84
|
-
if (totalViolation < 0) {
|
|
85
|
-
// Freeze all the items with max violations
|
|
86
|
-
Object.keys(violationsLookup.max).forEach(function (field) {
|
|
87
|
-
flexColumnsLookup.freeze(field);
|
|
88
|
-
});
|
|
89
|
-
} else if (totalViolation > 0) {
|
|
90
|
-
// Freeze all the items with min violations
|
|
91
|
-
Object.keys(violationsLookup.min).forEach(function (field) {
|
|
92
|
-
flexColumnsLookup.freeze(field);
|
|
93
|
-
});
|
|
94
|
-
} else {
|
|
95
|
-
// Freeze all items
|
|
96
|
-
flexColumns.forEach(function (_ref2) {
|
|
97
|
-
var field = _ref2.field;
|
|
98
|
-
flexColumnsLookup.freeze(field);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
// 5f: Return to the start of this loop
|
|
103
|
-
loopOverFlexItems();
|
|
104
|
-
}
|
|
105
|
-
loopOverFlexItems();
|
|
106
|
-
return flexColumnsLookup.all;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
/**
|
|
110
|
-
* Compute the `computedWidth` (ie: the width the column should have during rendering) based on the `width` / `flex` / `minWidth` / `maxWidth` properties of `GridColDef`.
|
|
111
|
-
* The columns already have been merged with there `type` default values for `minWidth`, `maxWidth` and `width`, thus the `!` for those properties below.
|
|
112
|
-
* TODO: Unit test this function in depth and only keep basic cases for the whole grid testing.
|
|
113
|
-
* 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.
|
|
114
|
-
*/
|
|
115
|
-
export var hydrateColumnsWidth = function hydrateColumnsWidth(rawState, viewportInnerWidth) {
|
|
116
|
-
var columnsLookup = {};
|
|
117
|
-
var totalFlexUnits = 0;
|
|
118
|
-
var widthAllocatedBeforeFlex = 0;
|
|
119
|
-
var flexColumns = [];
|
|
120
|
-
|
|
121
|
-
// For the non-flex columns, compute their width
|
|
122
|
-
// For the flex columns, compute there minimum width and how much width must be allocated during the flex allocation
|
|
123
|
-
rawState.orderedFields.forEach(function (columnField) {
|
|
124
|
-
var newColumn = _extends({}, rawState.lookup[columnField]);
|
|
125
|
-
if (rawState.columnVisibilityModel[columnField] === false) {
|
|
126
|
-
newColumn.computedWidth = 0;
|
|
127
|
-
} else {
|
|
128
|
-
var computedWidth;
|
|
129
|
-
if (newColumn.flex && newColumn.flex > 0) {
|
|
130
|
-
totalFlexUnits += newColumn.flex;
|
|
131
|
-
computedWidth = 0;
|
|
132
|
-
flexColumns.push(newColumn);
|
|
133
|
-
} else {
|
|
134
|
-
computedWidth = clamp(newColumn.width || GRID_STRING_COL_DEF.width, newColumn.minWidth || GRID_STRING_COL_DEF.minWidth, newColumn.maxWidth || GRID_STRING_COL_DEF.maxWidth);
|
|
135
|
-
}
|
|
136
|
-
widthAllocatedBeforeFlex += computedWidth;
|
|
137
|
-
newColumn.computedWidth = computedWidth;
|
|
138
|
-
}
|
|
139
|
-
columnsLookup[columnField] = newColumn;
|
|
140
|
-
});
|
|
141
|
-
var initialFreeSpace = Math.max(viewportInnerWidth - widthAllocatedBeforeFlex, 0);
|
|
142
|
-
|
|
143
|
-
// Allocate the remaining space to the flex columns
|
|
144
|
-
if (totalFlexUnits > 0 && viewportInnerWidth > 0) {
|
|
145
|
-
var computedColumnWidths = computeFlexColumnsWidth({
|
|
146
|
-
initialFreeSpace: initialFreeSpace,
|
|
147
|
-
totalFlexUnits: totalFlexUnits,
|
|
148
|
-
flexColumns: flexColumns
|
|
149
|
-
});
|
|
150
|
-
Object.keys(computedColumnWidths).forEach(function (field) {
|
|
151
|
-
columnsLookup[field].computedWidth = computedColumnWidths[field].computedWidth;
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
return _extends({}, rawState, {
|
|
155
|
-
lookup: columnsLookup
|
|
156
|
-
});
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
/**
|
|
160
|
-
* Apply the order and the dimensions of the initial state.
|
|
161
|
-
* The columns not registered in `orderedFields` will be placed after the imported columns.
|
|
162
|
-
*/
|
|
163
|
-
export var applyInitialState = function applyInitialState(columnsState, initialState) {
|
|
164
|
-
if (!initialState) {
|
|
165
|
-
return columnsState;
|
|
166
|
-
}
|
|
167
|
-
var _initialState$ordered = initialState.orderedFields,
|
|
168
|
-
orderedFields = _initialState$ordered === void 0 ? [] : _initialState$ordered,
|
|
169
|
-
_initialState$dimensi = initialState.dimensions,
|
|
170
|
-
dimensions = _initialState$dimensi === void 0 ? {} : _initialState$dimensi;
|
|
171
|
-
var columnsWithUpdatedDimensions = Object.keys(dimensions);
|
|
172
|
-
if (columnsWithUpdatedDimensions.length === 0 && orderedFields.length === 0) {
|
|
173
|
-
return columnsState;
|
|
174
|
-
}
|
|
175
|
-
var orderedFieldsLookup = {};
|
|
176
|
-
var cleanOrderedFields = [];
|
|
177
|
-
for (var i = 0; i < orderedFields.length; i += 1) {
|
|
178
|
-
var _field = orderedFields[i];
|
|
179
|
-
|
|
180
|
-
// Ignores the fields in the initialState that matches no field on the current column state
|
|
181
|
-
if (columnsState.lookup[_field]) {
|
|
182
|
-
orderedFieldsLookup[_field] = true;
|
|
183
|
-
cleanOrderedFields.push(_field);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
var newOrderedFields = cleanOrderedFields.length === 0 ? columnsState.orderedFields : [].concat(cleanOrderedFields, _toConsumableArray(columnsState.orderedFields.filter(function (field) {
|
|
187
|
-
return !orderedFieldsLookup[field];
|
|
188
|
-
})));
|
|
189
|
-
var newColumnLookup = _extends({}, columnsState.lookup);
|
|
190
|
-
var _loop = function _loop() {
|
|
191
|
-
var field = columnsWithUpdatedDimensions[_i];
|
|
192
|
-
var newColDef = _extends({}, newColumnLookup[field], {
|
|
193
|
-
hasBeenResized: true
|
|
194
|
-
});
|
|
195
|
-
Object.entries(dimensions[field]).forEach(function (_ref3) {
|
|
196
|
-
var _ref4 = _slicedToArray(_ref3, 2),
|
|
197
|
-
key = _ref4[0],
|
|
198
|
-
value = _ref4[1];
|
|
199
|
-
newColDef[key] = value === -1 ? Infinity : value;
|
|
200
|
-
});
|
|
201
|
-
newColumnLookup[field] = newColDef;
|
|
202
|
-
};
|
|
203
|
-
for (var _i = 0; _i < columnsWithUpdatedDimensions.length; _i += 1) {
|
|
204
|
-
_loop();
|
|
205
|
-
}
|
|
206
|
-
var newColumnsState = _extends({}, columnsState, {
|
|
207
|
-
orderedFields: newOrderedFields,
|
|
208
|
-
lookup: newColumnLookup
|
|
209
|
-
});
|
|
210
|
-
return newColumnsState;
|
|
211
|
-
};
|
|
212
|
-
function getDefaultColTypeDef(type) {
|
|
213
|
-
var colDef = COLUMN_TYPES[DEFAULT_GRID_COL_TYPE_KEY];
|
|
214
|
-
if (type && COLUMN_TYPES[type]) {
|
|
215
|
-
colDef = COLUMN_TYPES[type];
|
|
216
|
-
}
|
|
217
|
-
return colDef;
|
|
218
|
-
}
|
|
219
|
-
export var createColumnsState = function createColumnsState(_ref5) {
|
|
220
|
-
var _apiRef$current$getRo, _apiRef$current$getRo2, _apiRef$current;
|
|
221
|
-
var apiRef = _ref5.apiRef,
|
|
222
|
-
columnsToUpsert = _ref5.columnsToUpsert,
|
|
223
|
-
initialState = _ref5.initialState,
|
|
224
|
-
_ref5$columnVisibilit = _ref5.columnVisibilityModel,
|
|
225
|
-
columnVisibilityModel = _ref5$columnVisibilit === void 0 ? gridColumnVisibilityModelSelector(apiRef) : _ref5$columnVisibilit,
|
|
226
|
-
_ref5$keepOnlyColumns = _ref5.keepOnlyColumnsToUpsert,
|
|
227
|
-
keepOnlyColumnsToUpsert = _ref5$keepOnlyColumns === void 0 ? false : _ref5$keepOnlyColumns;
|
|
228
|
-
var isInsideStateInitializer = !apiRef.current.state.columns;
|
|
229
|
-
var columnsState;
|
|
230
|
-
if (isInsideStateInitializer) {
|
|
231
|
-
columnsState = {
|
|
232
|
-
orderedFields: [],
|
|
233
|
-
lookup: {},
|
|
234
|
-
columnVisibilityModel: columnVisibilityModel
|
|
235
|
-
};
|
|
236
|
-
} else {
|
|
237
|
-
var currentState = gridColumnsStateSelector(apiRef.current.state);
|
|
238
|
-
columnsState = {
|
|
239
|
-
orderedFields: keepOnlyColumnsToUpsert ? [] : _toConsumableArray(currentState.orderedFields),
|
|
240
|
-
lookup: _extends({}, currentState.lookup),
|
|
241
|
-
// Will be cleaned later if keepOnlyColumnsToUpsert=true
|
|
242
|
-
columnVisibilityModel: columnVisibilityModel
|
|
243
|
-
};
|
|
244
|
-
}
|
|
245
|
-
var columnsToKeep = {};
|
|
246
|
-
if (keepOnlyColumnsToUpsert && !isInsideStateInitializer) {
|
|
247
|
-
columnsToKeep = Object.keys(columnsState.lookup).reduce(function (acc, key) {
|
|
248
|
-
return _extends({}, acc, _defineProperty({}, key, false));
|
|
249
|
-
}, {});
|
|
250
|
-
}
|
|
251
|
-
var columnsToUpsertLookup = {};
|
|
252
|
-
columnsToUpsert.forEach(function (newColumn) {
|
|
253
|
-
var field = newColumn.field;
|
|
254
|
-
columnsToUpsertLookup[field] = true;
|
|
255
|
-
columnsToKeep[field] = true;
|
|
256
|
-
var existingState = columnsState.lookup[field];
|
|
257
|
-
if (existingState == null) {
|
|
258
|
-
existingState = _extends({}, getDefaultColTypeDef(newColumn.type), {
|
|
259
|
-
field: field,
|
|
260
|
-
hasBeenResized: false
|
|
261
|
-
});
|
|
262
|
-
columnsState.orderedFields.push(field);
|
|
263
|
-
} else if (keepOnlyColumnsToUpsert) {
|
|
264
|
-
columnsState.orderedFields.push(field);
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
// If the column type has changed - merge the existing state with the default column type definition
|
|
268
|
-
if (existingState && existingState.type !== newColumn.type) {
|
|
269
|
-
existingState = _extends({}, getDefaultColTypeDef(newColumn.type), {
|
|
270
|
-
field: field
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
var hasBeenResized = existingState.hasBeenResized;
|
|
274
|
-
COLUMNS_DIMENSION_PROPERTIES.forEach(function (key) {
|
|
275
|
-
if (newColumn[key] !== undefined) {
|
|
276
|
-
hasBeenResized = true;
|
|
277
|
-
if (newColumn[key] === -1) {
|
|
278
|
-
newColumn[key] = Infinity;
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
});
|
|
282
|
-
columnsState.lookup[field] = _extends({}, existingState, newColumn, {
|
|
283
|
-
hasBeenResized: hasBeenResized
|
|
284
|
-
});
|
|
285
|
-
});
|
|
286
|
-
if (keepOnlyColumnsToUpsert && !isInsideStateInitializer) {
|
|
287
|
-
Object.keys(columnsState.lookup).forEach(function (field) {
|
|
288
|
-
if (!columnsToKeep[field]) {
|
|
289
|
-
delete columnsState.lookup[field];
|
|
290
|
-
}
|
|
291
|
-
});
|
|
292
|
-
}
|
|
293
|
-
var columnsStateWithPreProcessing = apiRef.current.unstable_applyPipeProcessors('hydrateColumns', columnsState);
|
|
294
|
-
var columnsStateWithPortableColumns = applyInitialState(columnsStateWithPreProcessing, initialState);
|
|
295
|
-
return hydrateColumnsWidth(columnsStateWithPortableColumns, (_apiRef$current$getRo = (_apiRef$current$getRo2 = (_apiRef$current = apiRef.current).getRootDimensions) == null ? void 0 : _apiRef$current$getRo2.call(_apiRef$current).viewportInnerSize.width) != null ? _apiRef$current$getRo : 0);
|
|
296
|
-
};
|
|
297
|
-
export function getFirstNonSpannedColumnToRender(_ref6) {
|
|
298
|
-
var firstColumnToRender = _ref6.firstColumnToRender,
|
|
299
|
-
apiRef = _ref6.apiRef,
|
|
300
|
-
firstRowToRender = _ref6.firstRowToRender,
|
|
301
|
-
lastRowToRender = _ref6.lastRowToRender,
|
|
302
|
-
visibleRows = _ref6.visibleRows;
|
|
303
|
-
var firstNonSpannedColumnToRender = firstColumnToRender;
|
|
304
|
-
for (var i = firstRowToRender; i < lastRowToRender; i += 1) {
|
|
305
|
-
var row = visibleRows[i];
|
|
306
|
-
if (row) {
|
|
307
|
-
var rowId = visibleRows[i].id;
|
|
308
|
-
var cellColSpanInfo = apiRef.current.unstable_getCellColSpanInfo(rowId, firstColumnToRender);
|
|
309
|
-
if (cellColSpanInfo && cellColSpanInfo.spannedByColSpan) {
|
|
310
|
-
firstNonSpannedColumnToRender = cellColSpanInfo.leftVisibleCellIndex;
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
return firstNonSpannedColumnToRender;
|
|
315
|
-
}
|
|
316
|
-
export function getFirstColumnIndexToRender(_ref7) {
|
|
317
|
-
var firstColumnIndex = _ref7.firstColumnIndex,
|
|
318
|
-
minColumnIndex = _ref7.minColumnIndex,
|
|
319
|
-
columnBuffer = _ref7.columnBuffer,
|
|
320
|
-
firstRowToRender = _ref7.firstRowToRender,
|
|
321
|
-
lastRowToRender = _ref7.lastRowToRender,
|
|
322
|
-
apiRef = _ref7.apiRef,
|
|
323
|
-
visibleRows = _ref7.visibleRows;
|
|
324
|
-
var initialFirstColumnToRender = Math.max(firstColumnIndex - columnBuffer, minColumnIndex);
|
|
325
|
-
var firstColumnToRender = getFirstNonSpannedColumnToRender({
|
|
326
|
-
firstColumnToRender: initialFirstColumnToRender,
|
|
327
|
-
apiRef: apiRef,
|
|
328
|
-
firstRowToRender: firstRowToRender,
|
|
329
|
-
lastRowToRender: lastRowToRender,
|
|
330
|
-
visibleRows: visibleRows
|
|
331
|
-
});
|
|
332
|
-
return firstColumnToRender;
|
|
333
|
-
}
|
|
334
|
-
export function getTotalHeaderHeight(apiRef, headerHeight) {
|
|
335
|
-
var densityFactor = gridDensityFactorSelector(apiRef);
|
|
336
|
-
var maxDepth = gridColumnGroupsHeaderMaxDepthSelector(apiRef);
|
|
337
|
-
return Math.floor(headerHeight * densityFactor) * ((maxDepth != null ? maxDepth : 0) + 1);
|
|
338
|
-
}
|