@mui/x-data-grid 5.6.0 → 5.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +187 -0
- package/DataGrid/DataGrid.d.ts +8 -3
- package/DataGrid/DataGrid.js +52 -4
- package/DataGrid/useDataGridComponent.js +27 -19
- package/DataGrid/useDataGridProps.d.ts +2 -1
- package/DataGrid/useDataGridProps.js +3 -2
- package/colDef/gridBooleanColDef.d.ts +1 -1
- package/colDef/gridBooleanOperators.d.ts +1 -1
- package/colDef/gridDateColDef.d.ts +5 -9
- package/colDef/gridDateColDef.js +2 -2
- package/colDef/gridDateOperators.d.ts +1 -1
- package/{models/colDef → colDef}/gridDefaultColumnTypes.d.ts +1 -1
- package/colDef/gridDefaultColumnTypes.js +20 -0
- package/colDef/gridNumericColDef.d.ts +1 -1
- package/colDef/gridNumericOperators.d.ts +2 -2
- package/colDef/gridNumericOperators.js +1 -1
- package/colDef/gridStringColDef.d.ts +1 -1
- package/colDef/gridStringOperators.d.ts +1 -1
- package/colDef/index.d.ts +1 -0
- package/colDef/index.js +2 -1
- package/components/ErrorBoundary.d.ts +2 -2
- package/components/ErrorOverlay.js +8 -1
- package/components/GridLoadingOverlay.d.ts +4 -2
- package/components/GridLoadingOverlay.js +11 -2
- package/components/GridNoResultsOverlay.d.ts +3 -2
- package/components/GridNoRowsOverlay.d.ts +4 -2
- package/components/GridNoRowsOverlay.js +11 -2
- package/components/GridRow.js +30 -4
- package/components/base/GridErrorHandler.d.ts +8 -2
- package/components/base/GridErrorHandler.js +19 -27
- package/components/cell/GridBooleanCell.d.ts +2 -1
- package/components/cell/GridCell.d.ts +4 -4
- package/components/cell/GridCell.js +6 -4
- package/components/cell/GridEditBooleanCell.d.ts +2 -1
- package/components/cell/GridEditBooleanCell.js +1 -1
- package/components/cell/GridEditDateCell.d.ts +2 -1
- package/components/cell/GridEditDateCell.js +1 -1
- package/components/cell/GridEditInputCell.d.ts +2 -1
- package/components/cell/GridEditInputCell.js +66 -5
- package/components/cell/GridEditSingleSelectCell.d.ts +2 -1
- package/components/cell/GridEditSingleSelectCell.js +78 -5
- package/components/columnHeaders/GridColumnHeaderFilterIconButton.d.ts +12 -0
- package/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +22 -4
- package/components/columnHeaders/GridColumnHeaderItem.js +10 -8
- package/components/columnHeaders/GridColumnHeaderTitle.d.ts +2 -2
- package/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
- package/components/columnHeaders/GridColumnHeaders.js +3 -1
- package/components/columnHeaders/index.d.ts +1 -0
- package/components/columnHeaders/index.js +1 -0
- package/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
- package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
- package/components/containers/GridOverlay.d.ts +9 -2
- package/components/containers/GridOverlay.js +11 -2
- package/components/containers/GridRoot.js +29 -17
- package/components/containers/GridRootStyles.js +3 -3
- package/components/menu/columnMenu/GridColumnMenu.js +1 -1
- package/components/panel/GridColumnsPanel.d.ts +4 -1
- package/components/panel/GridColumnsPanel.js +3 -3
- package/components/panel/GridPanel.d.ts +2 -2
- package/components/panel/GridPanelWrapper.d.ts +1 -1
- package/components/panel/GridPreferencesPanel.js +4 -6
- package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -1
- package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +27 -23
- package/components/panel/filterPanel/filterPanelUtils.d.ts +2 -2
- package/components/virtualization/GridVirtualScrollerRenderZone.js +4 -1
- package/constants/defaultGridSlotsComponents.js +2 -1
- package/constants/gridClasses.d.ts +19 -3
- package/constants/gridClasses.js +1 -1
- package/context/GridContextProvider.d.ts +9 -6
- package/hooks/core/index.d.ts +1 -1
- package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +68 -0
- package/hooks/core/{preProcessing/gridPreProcessingApi.js → pipeProcessing/gridPipeProcessingApi.js} +0 -0
- package/hooks/core/pipeProcessing/index.d.ts +3 -0
- package/hooks/core/pipeProcessing/index.js +3 -0
- package/hooks/core/pipeProcessing/useGridPipeProcessing.d.ts +27 -0
- package/hooks/core/pipeProcessing/useGridPipeProcessing.js +74 -0
- package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +7 -0
- package/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeProcessor.js} +6 -2
- package/hooks/core/strategyProcessing/gridStrategyProcessingApi.d.ts +58 -0
- package/hooks/core/{rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → strategyProcessing/gridStrategyProcessingApi.js} +0 -0
- package/hooks/core/strategyProcessing/index.d.ts +3 -0
- package/hooks/core/strategyProcessing/index.js +3 -0
- package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.d.ts +4 -0
- package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +18 -0
- package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +48 -0
- package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +125 -0
- package/hooks/core/useGridInitialization.js +4 -4
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +1 -1
- package/hooks/features/columnMenu/useGridColumnMenu.d.ts +2 -0
- package/hooks/features/columnMenu/useGridColumnMenu.js +6 -7
- package/hooks/features/columns/gridColumnsInterfaces.d.ts +6 -1
- package/hooks/features/columns/gridColumnsSelector.d.ts +11 -11
- package/hooks/features/columns/gridColumnsSelector.js +11 -10
- package/hooks/features/columns/gridColumnsUtils.d.ts +14 -6
- package/hooks/features/columns/gridColumnsUtils.js +163 -45
- package/hooks/features/columns/useGridColumns.d.ts +1 -1
- package/hooks/features/columns/useGridColumns.js +101 -55
- package/hooks/features/density/useGridDensity.d.ts +2 -0
- package/hooks/features/density/useGridDensity.js +3 -4
- package/hooks/features/dimensions/gridDimensionsApi.d.ts +5 -0
- package/hooks/features/dimensions/useGridDimensions.js +4 -3
- package/hooks/features/editRows/useGridCellEditing.new.d.ts +4 -0
- package/hooks/features/editRows/useGridCellEditing.new.js +330 -0
- package/hooks/features/editRows/{useGridCellEditing.d.ts → useGridCellEditing.old.d.ts} +0 -0
- package/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
- package/hooks/features/editRows/useGridEditing.new.d.ts +6 -0
- package/hooks/features/editRows/useGridEditing.new.js +118 -0
- package/hooks/features/editRows/{useGridEditing.d.ts → useGridEditing.old.d.ts} +2 -0
- package/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +7 -8
- package/hooks/features/editRows/useGridRowEditing.new.d.ts +4 -0
- package/hooks/features/editRows/useGridRowEditing.new.js +501 -0
- package/hooks/features/editRows/{useGridRowEditing.d.ts → useGridRowEditing.old.d.ts} +0 -0
- package/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +7 -7
- package/hooks/features/events/useGridEvents.d.ts +1 -1
- package/hooks/features/events/useGridEvents.js +2 -0
- package/hooks/features/export/serializers/csvSerializer.js +4 -4
- package/hooks/features/filter/gridFilterSelector.d.ts +4 -9
- package/hooks/features/filter/gridFilterSelector.js +1 -0
- package/hooks/features/filter/gridFilterState.d.ts +2 -5
- package/hooks/features/filter/useGridFilter.d.ts +1 -1
- package/hooks/features/filter/useGridFilter.js +24 -30
- package/hooks/features/focus/useGridFocus.d.ts +3 -1
- package/hooks/features/focus/useGridFocus.js +47 -12
- package/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.d.ts +2 -5
- package/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +29 -8
- package/hooks/features/pagination/gridPaginationSelector.d.ts +1 -3
- package/hooks/features/pagination/useGridPage.d.ts +1 -2
- package/hooks/features/pagination/useGridPage.js +14 -21
- package/hooks/features/pagination/useGridPageSize.d.ts +1 -2
- package/hooks/features/pagination/useGridPageSize.js +8 -29
- package/hooks/features/pagination/useGridPagination.d.ts +2 -0
- package/hooks/features/pagination/useGridPagination.js +25 -2
- package/hooks/features/preferencesPanel/gridPreferencePanelState.d.ts +5 -0
- package/hooks/features/preferencesPanel/useGridPreferencesPanel.d.ts +3 -1
- package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +28 -16
- package/hooks/features/rows/gridRowsSelector.d.ts +1 -1
- package/hooks/features/rows/gridRowsState.d.ts +20 -5
- package/hooks/features/rows/gridRowsUtils.d.ts +8 -0
- package/hooks/features/rows/gridRowsUtils.js +11 -0
- package/hooks/features/rows/index.d.ts +1 -0
- package/hooks/features/rows/index.js +1 -1
- package/hooks/features/rows/useGridParamsApi.js +3 -10
- package/hooks/features/rows/useGridRows.d.ts +0 -3
- package/hooks/features/rows/useGridRows.js +77 -48
- package/hooks/features/rows/useGridRowsMeta.d.ts +3 -1
- package/hooks/features/rows/useGridRowsMeta.js +44 -26
- package/hooks/features/rows/useGridRowsPreProcessors.d.ts +3 -0
- package/hooks/features/rows/useGridRowsPreProcessors.js +37 -0
- package/hooks/features/scroll/useGridScroll.js +4 -13
- package/hooks/features/selection/gridSelectionSelector.d.ts +2 -4
- package/hooks/features/selection/useGridSelection.d.ts +6 -2
- package/hooks/features/selection/useGridSelection.js +103 -40
- package/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
- package/hooks/features/sorting/gridSortingSelector.d.ts +1 -3
- package/hooks/features/sorting/gridSortingState.d.ts +2 -5
- package/hooks/features/sorting/gridSortingUtils.d.ts +1 -2
- package/hooks/features/sorting/useGridSorting.js +10 -29
- package/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +8 -3
- package/hooks/features/virtualization/useGridVirtualScroller.js +9 -7
- package/hooks/utils/useGridApi.js +10 -1
- package/hooks/utils/useGridInitializeState.d.ts +2 -1
- package/hooks/utils/useGridRootProps.d.ts +1 -1
- package/hooks/utils/useGridSelector.js +4 -4
- package/hooks/utils/useGridState.js +10 -1
- package/hooks/utils/{useCurrentPageRows.d.ts → useGridVisibleRows.d.ts} +9 -8
- package/hooks/utils/{useCurrentPageRows.js → useGridVisibleRows.js} +8 -7
- package/index.js +1 -1
- package/internals/index.d.ts +21 -24
- package/internals/index.js +14 -17
- package/legacy/DataGrid/DataGrid.js +52 -4
- package/legacy/DataGrid/useDataGridComponent.js +27 -19
- package/legacy/DataGrid/useDataGridProps.js +8 -2
- package/legacy/colDef/gridDateColDef.js +2 -2
- package/legacy/colDef/gridDefaultColumnTypes.js +21 -0
- package/legacy/colDef/gridNumericOperators.js +1 -1
- package/legacy/colDef/index.js +2 -1
- package/legacy/components/ErrorOverlay.js +8 -1
- package/legacy/components/GridLoadingOverlay.js +11 -2
- package/legacy/components/GridNoRowsOverlay.js +11 -2
- package/legacy/components/GridRow.js +31 -4
- package/legacy/components/base/GridErrorHandler.js +16 -26
- package/legacy/components/cell/GridCell.js +6 -4
- package/legacy/components/cell/GridEditBooleanCell.js +2 -1
- package/legacy/components/cell/GridEditDateCell.js +2 -1
- package/legacy/components/cell/GridEditInputCell.js +66 -5
- package/legacy/components/cell/GridEditSingleSelectCell.js +89 -12
- package/legacy/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +22 -4
- package/legacy/components/columnHeaders/GridColumnHeaderItem.js +10 -8
- package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
- package/legacy/components/columnHeaders/GridColumnHeaders.js +3 -1
- package/legacy/components/columnHeaders/index.js +1 -0
- package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
- package/legacy/components/containers/GridOverlay.js +11 -2
- package/legacy/components/containers/GridRoot.js +34 -17
- package/legacy/components/containers/GridRootStyles.js +3 -3
- package/legacy/components/menu/columnMenu/GridColumnMenu.js +1 -1
- package/legacy/components/panel/GridColumnsPanel.js +3 -3
- package/legacy/components/panel/GridPreferencesPanel.js +4 -6
- package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +29 -26
- package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +4 -1
- package/legacy/constants/defaultGridSlotsComponents.js +2 -1
- package/legacy/constants/gridClasses.js +1 -1
- package/legacy/hooks/core/{preProcessing/gridPreProcessingApi.js → pipeProcessing/gridPipeProcessingApi.js} +0 -0
- package/legacy/hooks/core/pipeProcessing/index.js +3 -0
- package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +83 -0
- package/legacy/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeProcessor.js} +6 -2
- package/legacy/hooks/core/{rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → strategyProcessing/gridStrategyProcessingApi.js} +0 -0
- package/legacy/hooks/core/strategyProcessing/index.js +3 -0
- package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +18 -0
- package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +130 -0
- package/legacy/hooks/core/useGridInitialization.js +4 -4
- package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +1 -1
- package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +8 -9
- package/legacy/hooks/features/columns/gridColumnsSelector.js +13 -12
- package/legacy/hooks/features/columns/gridColumnsUtils.js +165 -42
- package/legacy/hooks/features/columns/useGridColumns.js +102 -56
- package/legacy/hooks/features/density/useGridDensity.js +5 -6
- package/legacy/hooks/features/dimensions/useGridDimensions.js +4 -3
- package/legacy/hooks/features/editRows/useGridCellEditing.new.js +344 -0
- package/legacy/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
- package/legacy/hooks/features/editRows/useGridEditing.new.js +152 -0
- package/legacy/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +9 -10
- package/legacy/hooks/features/editRows/useGridRowEditing.new.js +508 -0
- package/legacy/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +7 -7
- package/legacy/hooks/features/events/useGridEvents.js +2 -0
- package/legacy/hooks/features/export/serializers/csvSerializer.js +4 -4
- package/legacy/hooks/features/filter/gridFilterSelector.js +1 -0
- package/legacy/hooks/features/filter/useGridFilter.js +24 -30
- package/legacy/hooks/features/focus/useGridFocus.js +49 -14
- package/legacy/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +29 -8
- package/legacy/hooks/features/pagination/useGridPage.js +16 -21
- package/legacy/hooks/features/pagination/useGridPageSize.js +8 -29
- package/legacy/hooks/features/pagination/useGridPagination.js +25 -2
- package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +28 -16
- package/legacy/hooks/features/rows/gridRowsUtils.js +13 -0
- package/legacy/hooks/features/rows/index.js +1 -1
- package/legacy/hooks/features/rows/useGridParamsApi.js +3 -10
- package/legacy/hooks/features/rows/useGridRows.js +80 -48
- package/legacy/hooks/features/rows/useGridRowsMeta.js +46 -28
- package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +36 -0
- package/legacy/hooks/features/scroll/useGridScroll.js +4 -13
- package/legacy/hooks/features/selection/useGridSelection.js +106 -43
- package/legacy/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
- package/legacy/hooks/features/sorting/useGridSorting.js +10 -29
- package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +9 -7
- package/legacy/hooks/utils/useGridApi.js +7 -0
- package/legacy/hooks/utils/useGridSelector.js +4 -4
- package/legacy/hooks/utils/useGridState.js +7 -0
- package/legacy/hooks/utils/{useCurrentPageRows.js → useGridVisibleRows.js} +8 -7
- package/legacy/index.js +1 -1
- package/legacy/internals/index.js +14 -17
- package/legacy/locales/arSD.js +62 -58
- package/legacy/locales/daDK.js +36 -32
- package/legacy/locales/faIR.js +26 -22
- package/legacy/locales/koKR.js +1 -1
- package/legacy/locales/plPL.js +30 -26
- package/legacy/models/colDef/index.js +1 -2
- package/legacy/models/events/gridEvents.js +6 -3
- package/legacy/models/gridEditRowModel.js +1 -0
- package/legacy/models/gridRows.js +1 -33
- package/legacy/models/index.js +2 -2
- package/legacy/models/params/gridEditCellParams.js +34 -1
- package/{modern/hooks/core/preProcessing/gridPreProcessingApi.js → legacy/models/params/gridPreferencePanelParams.js} +0 -0
- package/legacy/models/params/gridRowParams.js +39 -1
- package/legacy/models/params/index.js +2 -1
- package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +5 -1
- package/legacy/utils/createSelector.js +4 -4
- package/legacy/utils/getGridLocalization.js +2 -2
- package/legacy/utils/utils.js +150 -3
- package/locales/arSD.js +58 -58
- package/locales/daDK.js +32 -32
- package/locales/faIR.js +22 -22
- package/locales/koKR.js +1 -1
- package/locales/plPL.js +26 -26
- package/models/api/gridApiCommon.d.ts +3 -3
- package/models/api/gridEditingApi.d.ts +127 -6
- package/models/api/gridFocusApi.d.ts +9 -0
- package/models/api/gridParamsApi.d.ts +5 -5
- package/models/api/gridRowApi.d.ts +8 -2
- package/models/api/gridRowsMetaApi.d.ts +7 -0
- package/models/api/gridSortApi.d.ts +1 -0
- package/models/api/index.d.ts +1 -1
- package/models/colDef/gridColDef.d.ts +38 -30
- package/models/colDef/index.d.ts +0 -1
- package/models/colDef/index.js +1 -2
- package/models/events/gridEventLookup.d.ts +23 -11
- package/models/events/gridEvents.d.ts +18 -5
- package/models/events/gridEvents.js +6 -3
- package/models/gridCell.d.ts +1 -0
- package/models/gridEditRowModel.d.ts +4 -3
- package/models/gridEditRowModel.js +1 -0
- package/models/gridFilterOperator.d.ts +3 -2
- package/models/gridRows.d.ts +17 -19
- package/models/gridRows.js +1 -31
- package/models/gridSlotsComponent.d.ts +5 -0
- package/models/gridSlotsComponentsProps.d.ts +1 -0
- package/models/gridSortModel.d.ts +3 -4
- package/models/index.d.ts +1 -1
- package/models/index.js +2 -2
- package/models/params/gridCellParams.d.ts +23 -14
- package/models/params/gridColumnHeaderParams.d.ts +3 -2
- package/models/params/gridEditCellParams.d.ts +52 -3
- package/models/params/gridEditCellParams.js +34 -1
- package/models/params/gridPreferencePanelParams.d.ts +3 -0
- package/{modern/hooks/core/rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → models/params/gridPreferencePanelParams.js} +0 -0
- package/models/params/gridRowParams.d.ts +73 -6
- package/models/params/gridRowParams.js +39 -1
- package/models/params/gridValueOptionsParams.d.ts +3 -3
- package/models/params/index.d.ts +1 -0
- package/models/params/index.js +2 -1
- package/models/props/DataGridProps.d.ts +63 -15
- package/modern/DataGrid/DataGrid.js +52 -4
- package/modern/DataGrid/useDataGridComponent.js +25 -19
- package/modern/DataGrid/useDataGridProps.js +3 -2
- package/modern/colDef/gridDateColDef.js +2 -2
- package/modern/colDef/gridDefaultColumnTypes.js +20 -0
- package/modern/colDef/gridNumericOperators.js +1 -1
- package/modern/colDef/index.js +2 -1
- package/modern/components/ErrorOverlay.js +8 -1
- package/modern/components/GridLoadingOverlay.js +11 -2
- package/modern/components/GridNoRowsOverlay.js +11 -2
- package/modern/components/GridRow.js +30 -4
- package/modern/components/base/GridErrorHandler.js +14 -22
- package/modern/components/cell/GridCell.js +4 -4
- package/modern/components/cell/GridEditBooleanCell.js +1 -1
- package/modern/components/cell/GridEditDateCell.js +1 -1
- package/modern/components/cell/GridEditInputCell.js +64 -5
- package/modern/components/cell/GridEditSingleSelectCell.js +74 -5
- package/modern/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +22 -4
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +8 -6
- package/modern/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
- package/modern/components/columnHeaders/GridColumnHeaders.js +3 -1
- package/modern/components/columnHeaders/index.js +1 -0
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
- package/modern/components/containers/GridOverlay.js +11 -2
- package/modern/components/containers/GridRoot.js +29 -17
- package/modern/components/containers/GridRootStyles.js +3 -3
- package/modern/components/menu/columnMenu/GridColumnMenu.js +1 -1
- package/modern/components/panel/GridColumnsPanel.js +3 -3
- package/modern/components/panel/GridPreferencesPanel.js +3 -5
- package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +27 -23
- package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +4 -1
- package/modern/constants/defaultGridSlotsComponents.js +2 -1
- package/modern/constants/gridClasses.js +1 -1
- package/modern/hooks/core/pipeProcessing/gridPipeProcessingApi.js +1 -0
- package/modern/hooks/core/pipeProcessing/index.js +3 -0
- package/modern/hooks/core/pipeProcessing/useGridPipeProcessing.js +74 -0
- package/modern/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeProcessor.js} +6 -2
- package/modern/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +1 -0
- package/modern/hooks/core/strategyProcessing/index.js +3 -0
- package/modern/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +18 -0
- package/modern/hooks/core/strategyProcessing/useGridStrategyProcessing.js +123 -0
- package/modern/hooks/core/useGridInitialization.js +4 -4
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +1 -1
- package/modern/hooks/features/columnMenu/useGridColumnMenu.js +6 -7
- package/modern/hooks/features/columns/gridColumnsSelector.js +11 -10
- package/modern/hooks/features/columns/gridColumnsUtils.js +163 -43
- package/modern/hooks/features/columns/useGridColumns.js +96 -52
- package/modern/hooks/features/density/useGridDensity.js +3 -4
- package/modern/hooks/features/dimensions/useGridDimensions.js +4 -3
- package/modern/hooks/features/editRows/useGridCellEditing.new.js +330 -0
- package/modern/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
- package/modern/hooks/features/editRows/useGridEditing.new.js +118 -0
- package/modern/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +7 -8
- package/modern/hooks/features/editRows/useGridRowEditing.new.js +499 -0
- package/modern/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +7 -7
- package/modern/hooks/features/events/useGridEvents.js +2 -0
- package/modern/hooks/features/export/serializers/csvSerializer.js +4 -4
- package/modern/hooks/features/filter/gridFilterSelector.js +1 -0
- package/modern/hooks/features/filter/useGridFilter.js +20 -30
- package/modern/hooks/features/focus/useGridFocus.js +47 -12
- package/modern/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +29 -8
- package/modern/hooks/features/pagination/useGridPage.js +10 -13
- package/modern/hooks/features/pagination/useGridPageSize.js +4 -23
- package/modern/hooks/features/pagination/useGridPagination.js +23 -2
- package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +24 -12
- package/modern/hooks/features/rows/gridRowsUtils.js +11 -0
- package/modern/hooks/features/rows/index.js +1 -1
- package/modern/hooks/features/rows/useGridParamsApi.js +3 -10
- package/modern/hooks/features/rows/useGridRows.js +75 -46
- package/modern/hooks/features/rows/useGridRowsMeta.js +38 -26
- package/modern/hooks/features/rows/useGridRowsPreProcessors.js +37 -0
- package/modern/hooks/features/scroll/useGridScroll.js +4 -9
- package/modern/hooks/features/selection/useGridSelection.js +99 -40
- package/modern/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
- package/modern/hooks/features/sorting/useGridSorting.js +10 -29
- package/modern/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +9 -7
- package/modern/hooks/utils/useGridApi.js +10 -1
- package/modern/hooks/utils/useGridSelector.js +4 -4
- package/modern/hooks/utils/useGridState.js +10 -1
- package/modern/hooks/utils/{useCurrentPageRows.js → useGridVisibleRows.js} +8 -7
- package/modern/index.js +1 -1
- package/modern/internals/index.js +14 -17
- package/modern/locales/arSD.js +58 -58
- package/modern/locales/daDK.js +32 -32
- package/modern/locales/faIR.js +22 -22
- package/modern/locales/koKR.js +1 -1
- package/modern/locales/plPL.js +26 -26
- package/modern/models/colDef/index.js +1 -2
- package/modern/models/events/gridEvents.js +6 -3
- package/modern/models/gridEditRowModel.js +1 -0
- package/modern/models/gridRows.js +1 -31
- package/modern/models/index.js +2 -2
- package/modern/models/params/gridEditCellParams.js +34 -1
- package/modern/models/params/gridPreferencePanelParams.js +1 -0
- package/modern/models/params/gridRowParams.js +39 -1
- package/modern/models/params/index.js +2 -1
- package/modern/utils/cleanupTracking/TimerBasedCleanupTracking.js +4 -2
- package/modern/utils/createSelector.js +4 -4
- package/modern/utils/getGridLocalization.js +1 -1
- package/modern/utils/utils.js +150 -3
- package/node/DataGrid/DataGrid.js +52 -4
- package/node/DataGrid/useDataGridComponent.js +23 -16
- package/node/DataGrid/useDataGridProps.js +3 -2
- package/node/colDef/gridDateColDef.js +2 -2
- package/node/{models/colDef → colDef}/gridDefaultColumnTypes.js +8 -8
- package/node/colDef/gridNumericOperators.js +1 -1
- package/node/colDef/index.js +13 -0
- package/node/components/ErrorOverlay.js +10 -1
- package/node/components/GridLoadingOverlay.js +10 -1
- package/node/components/GridNoRowsOverlay.js +10 -1
- package/node/components/GridRow.js +29 -4
- package/node/components/base/GridErrorHandler.js +17 -30
- package/node/components/cell/GridCell.js +6 -4
- package/node/components/cell/GridEditBooleanCell.js +1 -1
- package/node/components/cell/GridEditDateCell.js +1 -1
- package/node/components/cell/GridEditInputCell.js +66 -5
- package/node/components/cell/GridEditSingleSelectCell.js +78 -5
- package/node/components/columnHeaders/{ColumnHeaderFilterIcon.js → GridColumnHeaderFilterIconButton.js} +23 -5
- package/node/components/columnHeaders/GridColumnHeaderItem.js +10 -9
- package/node/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
- package/node/components/columnHeaders/GridColumnHeaders.js +3 -1
- package/node/components/columnHeaders/index.js +13 -0
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +2 -2
- package/node/components/containers/GridOverlay.js +10 -1
- package/node/components/containers/GridRoot.js +28 -17
- package/node/components/containers/GridRootStyles.js +3 -3
- package/node/components/menu/columnMenu/GridColumnMenu.js +1 -1
- package/node/components/panel/GridColumnsPanel.js +3 -3
- package/node/components/panel/GridPreferencesPanel.js +4 -5
- package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +27 -23
- package/node/components/virtualization/GridVirtualScrollerRenderZone.js +4 -1
- package/node/constants/defaultGridSlotsComponents.js +1 -0
- package/node/constants/gridClasses.js +1 -1
- package/node/hooks/core/{preProcessing/gridPreProcessingApi.js → pipeProcessing/gridPipeProcessingApi.js} +0 -0
- package/node/hooks/core/pipeProcessing/index.js +44 -0
- package/node/hooks/core/pipeProcessing/useGridPipeProcessing.js +93 -0
- package/node/hooks/core/{preProcessing/useGridRegisterPreProcessor.js → pipeProcessing/useGridRegisterPipeProcessor.js} +7 -4
- package/node/hooks/core/{rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.js → strategyProcessing/gridStrategyProcessingApi.js} +0 -0
- package/node/hooks/core/strategyProcessing/index.js +44 -0
- package/node/hooks/{features/sorting/useGridRegisterSortingMethod.js → core/strategyProcessing/useGridRegisterStrategyProcessor.js} +18 -9
- package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +146 -0
- package/node/hooks/core/useGridInitialization.js +4 -4
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +1 -1
- package/node/hooks/features/columnMenu/useGridColumnMenu.js +10 -8
- package/node/hooks/features/columns/gridColumnsSelector.js +11 -9
- package/node/hooks/features/columns/gridColumnsUtils.js +171 -49
- package/node/hooks/features/columns/useGridColumns.js +104 -54
- package/node/hooks/features/density/useGridDensity.js +7 -6
- package/node/hooks/features/dimensions/useGridDimensions.js +4 -3
- package/node/hooks/features/editRows/useGridCellEditing.new.js +351 -0
- package/node/hooks/features/editRows/{useGridCellEditing.js → useGridCellEditing.old.js} +1 -1
- package/node/hooks/features/editRows/useGridEditing.new.js +142 -0
- package/node/hooks/features/editRows/{useGridEditing.js → useGridEditing.old.js} +12 -9
- package/node/hooks/features/editRows/useGridRowEditing.new.js +516 -0
- package/node/hooks/features/editRows/{useGridRowEditing.js → useGridRowEditing.old.js} +6 -6
- package/node/hooks/features/events/useGridEvents.js +2 -0
- package/node/hooks/features/export/serializers/csvSerializer.js +5 -4
- package/node/hooks/features/filter/gridFilterSelector.js +1 -0
- package/node/hooks/features/filter/useGridFilter.js +24 -29
- package/node/hooks/features/focus/useGridFocus.js +55 -14
- package/node/hooks/features/{keyboard → keyboardNavigation}/useGridKeyboardNavigation.js +31 -8
- package/node/hooks/features/pagination/useGridPage.js +15 -23
- package/node/hooks/features/pagination/useGridPageSize.js +9 -29
- package/node/hooks/features/pagination/useGridPagination.js +31 -1
- package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +35 -18
- package/node/hooks/features/rows/gridRowsUtils.js +18 -0
- package/node/hooks/features/rows/index.js +15 -1
- package/node/hooks/features/rows/useGridParamsApi.js +4 -10
- package/node/hooks/features/rows/useGridRows.js +79 -49
- package/node/hooks/features/rows/useGridRowsMeta.js +49 -28
- package/node/hooks/features/rows/useGridRowsPreProcessors.js +46 -0
- package/node/hooks/features/scroll/useGridScroll.js +3 -13
- package/node/hooks/features/selection/useGridSelection.js +107 -42
- package/node/hooks/features/selection/useGridSelectionPreProcessors.js +2 -2
- package/node/hooks/features/sorting/useGridSorting.js +10 -29
- package/node/hooks/features/statePersistence/useGridStatePersistence.js +2 -2
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +9 -7
- package/node/hooks/utils/useGridApi.js +11 -1
- package/node/hooks/utils/useGridSelector.js +6 -4
- package/node/hooks/utils/useGridState.js +11 -1
- package/node/hooks/utils/{useCurrentPageRows.js → useGridVisibleRows.js} +11 -10
- package/node/index.js +1 -1
- package/node/internals/index.js +77 -47
- package/node/locales/arSD.js +58 -58
- package/node/locales/daDK.js +32 -32
- package/node/locales/faIR.js +22 -22
- package/node/locales/koKR.js +1 -1
- package/node/locales/plPL.js +26 -26
- package/node/models/colDef/index.js +0 -13
- package/node/models/events/gridEvents.js +6 -3
- package/node/models/gridEditRowModel.js +1 -0
- package/node/models/gridRows.js +1 -34
- package/node/models/index.js +13 -13
- package/node/models/params/gridEditCellParams.js +37 -1
- package/node/models/params/gridPreferencePanelParams.js +5 -0
- package/node/models/params/gridRowParams.js +42 -1
- package/node/models/params/index.js +13 -0
- package/node/utils/cleanupTracking/TimerBasedCleanupTracking.js +4 -2
- package/node/utils/createSelector.js +5 -4
- package/node/utils/getGridLocalization.js +2 -2
- package/node/utils/utils.js +152 -11
- package/package.json +2 -2
- package/utils/cleanupTracking/TimerBasedCleanupTracking.d.ts +2 -0
- package/utils/cleanupTracking/TimerBasedCleanupTracking.js +4 -2
- package/utils/createSelector.js +4 -4
- package/utils/getGridLocalization.d.ts +2 -1
- package/utils/getGridLocalization.js +2 -2
- package/utils/keyboardUtils.d.ts +1 -1
- package/utils/utils.d.ts +27 -2
- package/utils/utils.js +150 -3
- package/utils/warning.d.ts +1 -1
- package/components/columnHeaders/ColumnHeaderFilterIcon.d.ts +0 -5
- package/hooks/core/preProcessing/gridPreProcessingApi.d.ts +0 -71
- package/hooks/core/preProcessing/index.d.ts +0 -3
- package/hooks/core/preProcessing/index.js +0 -3
- package/hooks/core/preProcessing/useGridPreProcessing.d.ts +0 -3
- package/hooks/core/preProcessing/useGridPreProcessing.js +0 -49
- package/hooks/core/preProcessing/useGridRegisterPreProcessor.d.ts +0 -4
- package/hooks/core/rowGroupsPreProcessing/gridRowGroupsPreProcessingApi.d.ts +0 -35
- package/hooks/core/rowGroupsPreProcessing/index.d.ts +0 -2
- package/hooks/core/rowGroupsPreProcessing/index.js +0 -2
- package/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.d.ts +0 -3
- package/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -72
- package/hooks/features/filter/useGridRegisterFilteringMethod.d.ts +0 -4
- package/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -9
- package/hooks/features/keyboard/useGridKeyboard.d.ts +0 -10
- package/hooks/features/keyboard/useGridKeyboard.js +0 -70
- package/hooks/features/sorting/useGridRegisterSortingMethod.d.ts +0 -4
- package/hooks/features/sorting/useGridRegisterSortingMethod.js +0 -9
- package/hooks/utils/useGridStateInit.d.ts +0 -7
- package/hooks/utils/useGridStateInit.js +0 -9
- package/legacy/hooks/core/preProcessing/index.js +0 -3
- package/legacy/hooks/core/preProcessing/useGridPreProcessing.js +0 -58
- package/legacy/hooks/core/rowGroupsPreProcessing/index.js +0 -2
- package/legacy/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -71
- package/legacy/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -9
- package/legacy/hooks/features/keyboard/useGridKeyboard.js +0 -70
- package/legacy/hooks/features/sorting/useGridRegisterSortingMethod.js +0 -9
- package/legacy/hooks/utils/useGridStateInit.js +0 -9
- package/legacy/lib/lodash/_DataView.js +0 -8
- package/legacy/lib/lodash/_Hash.js +0 -33
- package/legacy/lib/lodash/_ListCache.js +0 -33
- package/legacy/lib/lodash/_Map.js +0 -8
- package/legacy/lib/lodash/_MapCache.js +0 -33
- package/legacy/lib/lodash/_Promise.js +0 -8
- package/legacy/lib/lodash/_Set.js +0 -8
- package/legacy/lib/lodash/_SetCache.js +0 -28
- package/legacy/lib/lodash/_Stack.js +0 -28
- package/legacy/lib/lodash/_Symbol.js +0 -7
- package/legacy/lib/lodash/_Uint8Array.js +0 -7
- package/legacy/lib/lodash/_WeakMap.js +0 -8
- package/legacy/lib/lodash/_arrayFilter.js +0 -29
- package/legacy/lib/lodash/_arrayLikeKeys.js +0 -46
- package/legacy/lib/lodash/_arrayPush.js +0 -23
- package/legacy/lib/lodash/_arraySome.js +0 -26
- package/legacy/lib/lodash/_assocIndexOf.js +0 -25
- package/legacy/lib/lodash/_baseGetAllKeys.js +0 -22
- package/legacy/lib/lodash/_baseGetTag.js +0 -29
- package/legacy/lib/lodash/_baseIsArguments.js +0 -20
- package/legacy/lib/lodash/_baseIsEqual.js +0 -32
- package/legacy/lib/lodash/_baseIsEqualDeep.js +0 -85
- package/legacy/lib/lodash/_baseIsNative.js +0 -47
- package/legacy/lib/lodash/_baseIsTypedArray.js +0 -49
- package/legacy/lib/lodash/_baseKeys.js +0 -35
- package/legacy/lib/lodash/_baseTimes.js +0 -23
- package/legacy/lib/lodash/_baseUnary.js +0 -16
- package/legacy/lib/lodash/_cacheHas.js +0 -15
- package/legacy/lib/lodash/_coreJsData.js +0 -7
- package/legacy/lib/lodash/_equalArrays.js +0 -84
- package/legacy/lib/lodash/_equalByTag.js +0 -117
- package/legacy/lib/lodash/_equalObjects.js +0 -92
- package/legacy/lib/lodash/_freeGlobal.js +0 -6
- package/legacy/lib/lodash/_getAllKeys.js +0 -18
- package/legacy/lib/lodash/_getMapData.js +0 -18
- package/legacy/lib/lodash/_getNative.js +0 -19
- package/legacy/lib/lodash/_getRawTag.js +0 -50
- package/legacy/lib/lodash/_getSymbols.js +0 -32
- package/legacy/lib/lodash/_getTag.js +0 -64
- package/legacy/lib/lodash/_getValue.js +0 -15
- package/legacy/lib/lodash/_hashClear.js +0 -17
- package/legacy/lib/lodash/_hashDelete.js +0 -19
- package/legacy/lib/lodash/_hashGet.js +0 -34
- package/legacy/lib/lodash/_hashHas.js +0 -25
- package/legacy/lib/lodash/_hashSet.js +0 -25
- package/legacy/lib/lodash/_isIndex.js +0 -25
- package/legacy/lib/lodash/_isKeyable.js +0 -18
- package/legacy/lib/lodash/_isMasked.js +0 -23
- package/legacy/lib/lodash/_isPrototype.js +0 -19
- package/legacy/lib/lodash/_listCacheClear.js +0 -15
- package/legacy/lib/lodash/_listCacheDelete.js +0 -40
- package/legacy/lib/lodash/_listCacheGet.js +0 -20
- package/legacy/lib/lodash/_listCacheHas.js +0 -18
- package/legacy/lib/lodash/_listCacheSet.js +0 -29
- package/legacy/lib/lodash/_mapCacheClear.js +0 -23
- package/legacy/lib/lodash/_mapCacheDelete.js +0 -20
- package/legacy/lib/lodash/_mapCacheGet.js +0 -18
- package/legacy/lib/lodash/_mapCacheHas.js +0 -18
- package/legacy/lib/lodash/_mapCacheSet.js +0 -23
- package/legacy/lib/lodash/_mapToArray.js +0 -19
- package/legacy/lib/lodash/_nativeCreate.js +0 -7
- package/legacy/lib/lodash/_nativeKeys.js +0 -7
- package/legacy/lib/lodash/_nodeUtil.js +0 -25
- package/legacy/lib/lodash/_objectToString.js +0 -24
- package/legacy/lib/lodash/_overArg.js +0 -17
- package/legacy/lib/lodash/_root.js +0 -11
- package/legacy/lib/lodash/_setCacheAdd.js +0 -22
- package/legacy/lib/lodash/_setCacheHas.js +0 -16
- package/legacy/lib/lodash/_setToArray.js +0 -19
- package/legacy/lib/lodash/_stackClear.js +0 -17
- package/legacy/lib/lodash/_stackDelete.js +0 -19
- package/legacy/lib/lodash/_stackGet.js +0 -16
- package/legacy/lib/lodash/_stackHas.js +0 -16
- package/legacy/lib/lodash/_stackSet.js +0 -40
- package/legacy/lib/lodash/_toSource.js +0 -30
- package/legacy/lib/lodash/date.default.js +0 -4
- package/legacy/lib/lodash/date.js +0 -2
- package/legacy/lib/lodash/eq.js +0 -39
- package/legacy/lib/lodash/function.default.js +0 -4
- package/legacy/lib/lodash/function.js +0 -2
- package/legacy/lib/lodash/isArguments.js +0 -38
- package/legacy/lib/lodash/isArray.js +0 -27
- package/legacy/lib/lodash/isArrayLike.js +0 -35
- package/legacy/lib/lodash/isBuffer.js +0 -40
- package/legacy/lib/lodash/isDeepEqual.js +0 -45
- package/legacy/lib/lodash/isFunction.js +0 -40
- package/legacy/lib/lodash/isLength.js +0 -36
- package/legacy/lib/lodash/isObject.js +0 -36
- package/legacy/lib/lodash/isObjectLike.js +0 -33
- package/legacy/lib/lodash/isSymbol.js +0 -31
- package/legacy/lib/lodash/isTypedArray.js +0 -28
- package/legacy/lib/lodash/keys.js +0 -39
- package/legacy/lib/lodash/lang.default.js +0 -28
- package/legacy/lib/lodash/lang.js +0 -14
- package/legacy/lib/lodash/now.js +0 -25
- package/legacy/lib/lodash/object.default.js +0 -4
- package/legacy/lib/lodash/object.js +0 -2
- package/legacy/lib/lodash/stubArray.js +0 -25
- package/legacy/lib/lodash/stubFalse.js +0 -20
- package/legacy/lib/lodash/toNumber.js +0 -70
- package/legacy/lib/lodash/util.default.js +0 -6
- package/legacy/lib/lodash/util.js +0 -3
- package/legacy/models/colDef/gridDefaultColumnTypes.js +0 -21
- package/lib/lodash/_DataView.d.ts +0 -2
- package/lib/lodash/_DataView.js +0 -8
- package/lib/lodash/_Hash.d.ts +0 -29
- package/lib/lodash/_Hash.js +0 -33
- package/lib/lodash/_ListCache.d.ts +0 -29
- package/lib/lodash/_ListCache.js +0 -33
- package/lib/lodash/_Map.d.ts +0 -2
- package/lib/lodash/_Map.js +0 -8
- package/lib/lodash/_MapCache.d.ts +0 -29
- package/lib/lodash/_MapCache.js +0 -33
- package/lib/lodash/_Promise.d.ts +0 -2
- package/lib/lodash/_Promise.js +0 -8
- package/lib/lodash/_Set.d.ts +0 -2
- package/lib/lodash/_Set.js +0 -8
- package/lib/lodash/_SetCache.d.ts +0 -28
- package/lib/lodash/_SetCache.js +0 -28
- package/lib/lodash/_Stack.d.ts +0 -32
- package/lib/lodash/_Stack.js +0 -28
- package/lib/lodash/_Symbol.d.ts +0 -3
- package/lib/lodash/_Symbol.js +0 -7
- package/lib/lodash/_Uint8Array.d.ts +0 -3
- package/lib/lodash/_Uint8Array.js +0 -7
- package/lib/lodash/_WeakMap.d.ts +0 -2
- package/lib/lodash/_WeakMap.js +0 -8
- package/lib/lodash/_arrayFilter.d.ts +0 -11
- package/lib/lodash/_arrayFilter.js +0 -29
- package/lib/lodash/_arrayLikeKeys.d.ts +0 -10
- package/lib/lodash/_arrayLikeKeys.js +0 -46
- package/lib/lodash/_arrayPush.d.ts +0 -10
- package/lib/lodash/_arrayPush.js +0 -23
- package/lib/lodash/_arraySome.d.ts +0 -12
- package/lib/lodash/_arraySome.js +0 -26
- package/lib/lodash/_assocIndexOf.d.ts +0 -10
- package/lib/lodash/_assocIndexOf.js +0 -25
- package/lib/lodash/_baseGetAllKeys.d.ts +0 -13
- package/lib/lodash/_baseGetAllKeys.js +0 -22
- package/lib/lodash/_baseGetTag.d.ts +0 -9
- package/lib/lodash/_baseGetTag.js +0 -29
- package/lib/lodash/_baseIsArguments.d.ts +0 -9
- package/lib/lodash/_baseIsArguments.js +0 -20
- package/lib/lodash/_baseIsEqual.d.ts +0 -16
- package/lib/lodash/_baseIsEqual.js +0 -32
- package/lib/lodash/_baseIsEqualDeep.d.ts +0 -16
- package/lib/lodash/_baseIsEqualDeep.js +0 -85
- package/lib/lodash/_baseIsNative.d.ts +0 -10
- package/lib/lodash/_baseIsNative.js +0 -47
- package/lib/lodash/_baseIsTypedArray.d.ts +0 -9
- package/lib/lodash/_baseIsTypedArray.js +0 -49
- package/lib/lodash/_baseKeys.d.ts +0 -9
- package/lib/lodash/_baseKeys.js +0 -35
- package/lib/lodash/_baseTimes.d.ts +0 -11
- package/lib/lodash/_baseTimes.js +0 -23
- package/lib/lodash/_baseUnary.d.ts +0 -9
- package/lib/lodash/_baseUnary.js +0 -16
- package/lib/lodash/_cacheHas.d.ts +0 -10
- package/lib/lodash/_cacheHas.js +0 -15
- package/lib/lodash/_coreJsData.d.ts +0 -3
- package/lib/lodash/_coreJsData.js +0 -7
- package/lib/lodash/_equalArrays.d.ts +0 -15
- package/lib/lodash/_equalArrays.js +0 -84
- package/lib/lodash/_equalByTag.d.ts +0 -19
- package/lib/lodash/_equalByTag.js +0 -117
- package/lib/lodash/_equalObjects.d.ts +0 -15
- package/lib/lodash/_equalObjects.js +0 -92
- package/lib/lodash/_freeGlobal.d.ts +0 -3
- package/lib/lodash/_freeGlobal.js +0 -5
- package/lib/lodash/_getAllKeys.d.ts +0 -9
- package/lib/lodash/_getAllKeys.js +0 -18
- package/lib/lodash/_getMapData.d.ts +0 -10
- package/lib/lodash/_getMapData.js +0 -18
- package/lib/lodash/_getNative.d.ts +0 -10
- package/lib/lodash/_getNative.js +0 -19
- package/lib/lodash/_getRawTag.d.ts +0 -9
- package/lib/lodash/_getRawTag.js +0 -50
- package/lib/lodash/_getSymbols.d.ts +0 -2
- package/lib/lodash/_getSymbols.js +0 -32
- package/lib/lodash/_getTag.d.ts +0 -10
- package/lib/lodash/_getTag.js +0 -64
- package/lib/lodash/_getValue.d.ts +0 -10
- package/lib/lodash/_getValue.js +0 -15
- package/lib/lodash/_hashClear.d.ts +0 -13
- package/lib/lodash/_hashClear.js +0 -17
- package/lib/lodash/_hashDelete.d.ts +0 -12
- package/lib/lodash/_hashDelete.js +0 -19
- package/lib/lodash/_hashGet.d.ts +0 -11
- package/lib/lodash/_hashGet.js +0 -34
- package/lib/lodash/_hashHas.d.ts +0 -11
- package/lib/lodash/_hashHas.js +0 -25
- package/lib/lodash/_hashSet.d.ts +0 -12
- package/lib/lodash/_hashSet.js +0 -25
- package/lib/lodash/_isIndex.d.ts +0 -10
- package/lib/lodash/_isIndex.js +0 -23
- package/lib/lodash/_isKeyable.d.ts +0 -9
- package/lib/lodash/_isKeyable.js +0 -15
- package/lib/lodash/_isMasked.d.ts +0 -9
- package/lib/lodash/_isMasked.js +0 -23
- package/lib/lodash/_isPrototype.d.ts +0 -9
- package/lib/lodash/_isPrototype.js +0 -19
- package/lib/lodash/_listCacheClear.d.ts +0 -13
- package/lib/lodash/_listCacheClear.js +0 -15
- package/lib/lodash/_listCacheDelete.d.ts +0 -11
- package/lib/lodash/_listCacheDelete.js +0 -40
- package/lib/lodash/_listCacheGet.d.ts +0 -11
- package/lib/lodash/_listCacheGet.js +0 -20
- package/lib/lodash/_listCacheHas.d.ts +0 -11
- package/lib/lodash/_listCacheHas.js +0 -18
- package/lib/lodash/_listCacheSet.d.ts +0 -12
- package/lib/lodash/_listCacheSet.js +0 -29
- package/lib/lodash/_mapCacheClear.d.ts +0 -18
- package/lib/lodash/_mapCacheClear.js +0 -23
- package/lib/lodash/_mapCacheDelete.d.ts +0 -11
- package/lib/lodash/_mapCacheDelete.js +0 -20
- package/lib/lodash/_mapCacheGet.d.ts +0 -11
- package/lib/lodash/_mapCacheGet.js +0 -18
- package/lib/lodash/_mapCacheHas.d.ts +0 -11
- package/lib/lodash/_mapCacheHas.js +0 -18
- package/lib/lodash/_mapCacheSet.d.ts +0 -12
- package/lib/lodash/_mapCacheSet.js +0 -23
- package/lib/lodash/_mapToArray.d.ts +0 -9
- package/lib/lodash/_mapToArray.js +0 -19
- package/lib/lodash/_nativeCreate.d.ts +0 -2
- package/lib/lodash/_nativeCreate.js +0 -7
- package/lib/lodash/_nativeKeys.d.ts +0 -2
- package/lib/lodash/_nativeKeys.js +0 -7
- package/lib/lodash/_nodeUtil.d.ts +0 -3
- package/lib/lodash/_nodeUtil.js +0 -24
- package/lib/lodash/_objectToString.d.ts +0 -9
- package/lib/lodash/_objectToString.js +0 -24
- package/lib/lodash/_overArg.d.ts +0 -10
- package/lib/lodash/_overArg.js +0 -17
- package/lib/lodash/_root.d.ts +0 -3
- package/lib/lodash/_root.js +0 -10
- package/lib/lodash/_setCacheAdd.d.ts +0 -12
- package/lib/lodash/_setCacheAdd.js +0 -22
- package/lib/lodash/_setCacheHas.d.ts +0 -11
- package/lib/lodash/_setCacheHas.js +0 -16
- package/lib/lodash/_setToArray.d.ts +0 -9
- package/lib/lodash/_setToArray.js +0 -19
- package/lib/lodash/_stackClear.d.ts +0 -14
- package/lib/lodash/_stackClear.js +0 -17
- package/lib/lodash/_stackDelete.d.ts +0 -24
- package/lib/lodash/_stackDelete.js +0 -19
- package/lib/lodash/_stackGet.d.ts +0 -11
- package/lib/lodash/_stackGet.js +0 -16
- package/lib/lodash/_stackHas.d.ts +0 -11
- package/lib/lodash/_stackHas.js +0 -16
- package/lib/lodash/_stackSet.d.ts +0 -28
- package/lib/lodash/_stackSet.js +0 -40
- package/lib/lodash/_toSource.d.ts +0 -9
- package/lib/lodash/_toSource.js +0 -30
- package/lib/lodash/date.d.ts +0 -2
- package/lib/lodash/date.default.d.ts +0 -5
- package/lib/lodash/date.default.js +0 -4
- package/lib/lodash/date.js +0 -2
- package/lib/lodash/eq.d.ts +0 -34
- package/lib/lodash/eq.js +0 -39
- package/lib/lodash/function.d.ts +0 -1
- package/lib/lodash/function.default.d.ts +0 -4
- package/lib/lodash/function.default.js +0 -4
- package/lib/lodash/function.js +0 -2
- package/lib/lodash/isArguments.d.ts +0 -2
- package/lib/lodash/isArguments.js +0 -38
- package/lib/lodash/isArray.d.ts +0 -25
- package/lib/lodash/isArray.js +0 -27
- package/lib/lodash/isArrayLike.d.ts +0 -27
- package/lib/lodash/isArrayLike.js +0 -35
- package/lib/lodash/isBuffer.d.ts +0 -19
- package/lib/lodash/isBuffer.js +0 -39
- package/lib/lodash/isDeepEqual.d.ts +0 -30
- package/lib/lodash/isDeepEqual.js +0 -45
- package/lib/lodash/isFunction.d.ts +0 -19
- package/lib/lodash/isFunction.js +0 -40
- package/lib/lodash/isLength.d.ts +0 -28
- package/lib/lodash/isLength.js +0 -36
- package/lib/lodash/isObject.d.ts +0 -27
- package/lib/lodash/isObject.js +0 -33
- package/lib/lodash/isObjectLike.d.ts +0 -26
- package/lib/lodash/isObjectLike.js +0 -31
- package/lib/lodash/isSymbol.d.ts +0 -19
- package/lib/lodash/isSymbol.js +0 -30
- package/lib/lodash/isTypedArray.d.ts +0 -19
- package/lib/lodash/isTypedArray.js +0 -28
- package/lib/lodash/keys.d.ts +0 -30
- package/lib/lodash/keys.js +0 -39
- package/lib/lodash/lang.d.ts +0 -14
- package/lib/lodash/lang.default.d.ts +0 -29
- package/lib/lodash/lang.default.js +0 -28
- package/lib/lodash/lang.js +0 -14
- package/lib/lodash/now.d.ts +0 -18
- package/lib/lodash/now.js +0 -25
- package/lib/lodash/object.d.ts +0 -2
- package/lib/lodash/object.default.d.ts +0 -5
- package/lib/lodash/object.default.js +0 -4
- package/lib/lodash/object.js +0 -2
- package/lib/lodash/stubArray.d.ts +0 -20
- package/lib/lodash/stubArray.js +0 -25
- package/lib/lodash/stubFalse.d.ts +0 -15
- package/lib/lodash/stubFalse.js +0 -20
- package/lib/lodash/toNumber.d.ts +0 -25
- package/lib/lodash/toNumber.js +0 -70
- package/lib/lodash/util.d.ts +0 -3
- package/lib/lodash/util.default.d.ts +0 -7
- package/lib/lodash/util.default.js +0 -6
- package/lib/lodash/util.js +0 -3
- package/models/colDef/gridDefaultColumnTypes.js +0 -20
- package/modern/hooks/core/preProcessing/index.js +0 -3
- package/modern/hooks/core/preProcessing/useGridPreProcessing.js +0 -49
- package/modern/hooks/core/rowGroupsPreProcessing/index.js +0 -2
- package/modern/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -70
- package/modern/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -9
- package/modern/hooks/features/keyboard/useGridKeyboard.js +0 -70
- package/modern/hooks/features/sorting/useGridRegisterSortingMethod.js +0 -9
- package/modern/hooks/utils/useGridStateInit.js +0 -9
- package/modern/lib/lodash/_DataView.js +0 -8
- package/modern/lib/lodash/_Hash.js +0 -33
- package/modern/lib/lodash/_ListCache.js +0 -33
- package/modern/lib/lodash/_Map.js +0 -8
- package/modern/lib/lodash/_MapCache.js +0 -33
- package/modern/lib/lodash/_Promise.js +0 -8
- package/modern/lib/lodash/_Set.js +0 -8
- package/modern/lib/lodash/_SetCache.js +0 -28
- package/modern/lib/lodash/_Stack.js +0 -28
- package/modern/lib/lodash/_Symbol.js +0 -7
- package/modern/lib/lodash/_Uint8Array.js +0 -7
- package/modern/lib/lodash/_WeakMap.js +0 -8
- package/modern/lib/lodash/_arrayFilter.js +0 -29
- package/modern/lib/lodash/_arrayLikeKeys.js +0 -46
- package/modern/lib/lodash/_arrayPush.js +0 -23
- package/modern/lib/lodash/_arraySome.js +0 -26
- package/modern/lib/lodash/_assocIndexOf.js +0 -25
- package/modern/lib/lodash/_baseGetAllKeys.js +0 -22
- package/modern/lib/lodash/_baseGetTag.js +0 -29
- package/modern/lib/lodash/_baseIsArguments.js +0 -20
- package/modern/lib/lodash/_baseIsEqual.js +0 -32
- package/modern/lib/lodash/_baseIsEqualDeep.js +0 -85
- package/modern/lib/lodash/_baseIsNative.js +0 -47
- package/modern/lib/lodash/_baseIsTypedArray.js +0 -49
- package/modern/lib/lodash/_baseKeys.js +0 -35
- package/modern/lib/lodash/_baseTimes.js +0 -23
- package/modern/lib/lodash/_baseUnary.js +0 -16
- package/modern/lib/lodash/_cacheHas.js +0 -15
- package/modern/lib/lodash/_coreJsData.js +0 -7
- package/modern/lib/lodash/_equalArrays.js +0 -84
- package/modern/lib/lodash/_equalByTag.js +0 -117
- package/modern/lib/lodash/_equalObjects.js +0 -92
- package/modern/lib/lodash/_freeGlobal.js +0 -5
- package/modern/lib/lodash/_getAllKeys.js +0 -18
- package/modern/lib/lodash/_getMapData.js +0 -18
- package/modern/lib/lodash/_getNative.js +0 -19
- package/modern/lib/lodash/_getRawTag.js +0 -50
- package/modern/lib/lodash/_getSymbols.js +0 -32
- package/modern/lib/lodash/_getTag.js +0 -64
- package/modern/lib/lodash/_getValue.js +0 -15
- package/modern/lib/lodash/_hashClear.js +0 -17
- package/modern/lib/lodash/_hashDelete.js +0 -19
- package/modern/lib/lodash/_hashGet.js +0 -34
- package/modern/lib/lodash/_hashHas.js +0 -25
- package/modern/lib/lodash/_hashSet.js +0 -25
- package/modern/lib/lodash/_isIndex.js +0 -23
- package/modern/lib/lodash/_isKeyable.js +0 -15
- package/modern/lib/lodash/_isMasked.js +0 -23
- package/modern/lib/lodash/_isPrototype.js +0 -19
- package/modern/lib/lodash/_listCacheClear.js +0 -15
- package/modern/lib/lodash/_listCacheDelete.js +0 -40
- package/modern/lib/lodash/_listCacheGet.js +0 -20
- package/modern/lib/lodash/_listCacheHas.js +0 -18
- package/modern/lib/lodash/_listCacheSet.js +0 -29
- package/modern/lib/lodash/_mapCacheClear.js +0 -23
- package/modern/lib/lodash/_mapCacheDelete.js +0 -20
- package/modern/lib/lodash/_mapCacheGet.js +0 -18
- package/modern/lib/lodash/_mapCacheHas.js +0 -18
- package/modern/lib/lodash/_mapCacheSet.js +0 -23
- package/modern/lib/lodash/_mapToArray.js +0 -19
- package/modern/lib/lodash/_nativeCreate.js +0 -7
- package/modern/lib/lodash/_nativeKeys.js +0 -7
- package/modern/lib/lodash/_nodeUtil.js +0 -24
- package/modern/lib/lodash/_objectToString.js +0 -24
- package/modern/lib/lodash/_overArg.js +0 -17
- package/modern/lib/lodash/_root.js +0 -10
- package/modern/lib/lodash/_setCacheAdd.js +0 -22
- package/modern/lib/lodash/_setCacheHas.js +0 -16
- package/modern/lib/lodash/_setToArray.js +0 -19
- package/modern/lib/lodash/_stackClear.js +0 -17
- package/modern/lib/lodash/_stackDelete.js +0 -19
- package/modern/lib/lodash/_stackGet.js +0 -16
- package/modern/lib/lodash/_stackHas.js +0 -16
- package/modern/lib/lodash/_stackSet.js +0 -40
- package/modern/lib/lodash/_toSource.js +0 -30
- package/modern/lib/lodash/date.default.js +0 -4
- package/modern/lib/lodash/date.js +0 -2
- package/modern/lib/lodash/eq.js +0 -39
- package/modern/lib/lodash/function.default.js +0 -4
- package/modern/lib/lodash/function.js +0 -2
- package/modern/lib/lodash/isArguments.js +0 -38
- package/modern/lib/lodash/isArray.js +0 -27
- package/modern/lib/lodash/isArrayLike.js +0 -35
- package/modern/lib/lodash/isBuffer.js +0 -39
- package/modern/lib/lodash/isDeepEqual.js +0 -45
- package/modern/lib/lodash/isFunction.js +0 -40
- package/modern/lib/lodash/isLength.js +0 -36
- package/modern/lib/lodash/isObject.js +0 -33
- package/modern/lib/lodash/isObjectLike.js +0 -31
- package/modern/lib/lodash/isSymbol.js +0 -30
- package/modern/lib/lodash/isTypedArray.js +0 -28
- package/modern/lib/lodash/keys.js +0 -39
- package/modern/lib/lodash/lang.default.js +0 -28
- package/modern/lib/lodash/lang.js +0 -14
- package/modern/lib/lodash/now.js +0 -25
- package/modern/lib/lodash/object.default.js +0 -4
- package/modern/lib/lodash/object.js +0 -2
- package/modern/lib/lodash/stubArray.js +0 -25
- package/modern/lib/lodash/stubFalse.js +0 -20
- package/modern/lib/lodash/toNumber.js +0 -70
- package/modern/lib/lodash/util.default.js +0 -6
- package/modern/lib/lodash/util.js +0 -3
- package/modern/models/colDef/gridDefaultColumnTypes.js +0 -20
- package/node/hooks/core/preProcessing/index.js +0 -44
- package/node/hooks/core/preProcessing/useGridPreProcessing.js +0 -69
- package/node/hooks/core/rowGroupsPreProcessing/index.js +0 -31
- package/node/hooks/core/rowGroupsPreProcessing/useGridRowGroupsPreProcessing.js +0 -87
- package/node/hooks/features/filter/useGridRegisterFilteringMethod.js +0 -24
- package/node/hooks/features/keyboard/useGridKeyboard.js +0 -91
- package/node/hooks/utils/useGridStateInit.js +0 -23
- package/node/lib/lodash/_DataView.js +0 -20
- package/node/lib/lodash/_Hash.js +0 -48
- package/node/lib/lodash/_ListCache.js +0 -48
- package/node/lib/lodash/_Map.js +0 -20
- package/node/lib/lodash/_MapCache.js +0 -48
- package/node/lib/lodash/_Promise.js +0 -20
- package/node/lib/lodash/_Set.js +0 -20
- package/node/lib/lodash/_SetCache.js +0 -41
- package/node/lib/lodash/_Stack.js +0 -44
- package/node/lib/lodash/_Symbol.js +0 -18
- package/node/lib/lodash/_Uint8Array.js +0 -18
- package/node/lib/lodash/_WeakMap.js +0 -20
- package/node/lib/lodash/_arrayFilter.js +0 -35
- package/node/lib/lodash/_arrayLikeKeys.js +0 -62
- package/node/lib/lodash/_arrayPush.js +0 -29
- package/node/lib/lodash/_arraySome.js +0 -32
- package/node/lib/lodash/_assocIndexOf.js +0 -36
- package/node/lib/lodash/_baseGetAllKeys.js +0 -34
- package/node/lib/lodash/_baseGetTag.js +0 -42
- package/node/lib/lodash/_baseIsArguments.js +0 -32
- package/node/lib/lodash/_baseIsEqual.js +0 -44
- package/node/lib/lodash/_baseIsEqualDeep.js +0 -103
- package/node/lib/lodash/_baseIsNative.js +0 -61
- package/node/lib/lodash/_baseIsTypedArray.js +0 -62
- package/node/lib/lodash/_baseKeys.js +0 -47
- package/node/lib/lodash/_baseTimes.js +0 -29
- package/node/lib/lodash/_baseUnary.js +0 -22
- package/node/lib/lodash/_cacheHas.js +0 -21
- package/node/lib/lodash/_coreJsData.js +0 -18
- package/node/lib/lodash/_equalArrays.js +0 -97
- package/node/lib/lodash/_equalByTag.js +0 -133
- package/node/lib/lodash/_equalObjects.js +0 -103
- package/node/lib/lodash/_freeGlobal.js +0 -10
- package/node/lib/lodash/_getAllKeys.js +0 -31
- package/node/lib/lodash/_getMapData.js +0 -29
- package/node/lib/lodash/_getNative.js +0 -31
- package/node/lib/lodash/_getRawTag.js +0 -61
- package/node/lib/lodash/_getSymbols.js +0 -44
- package/node/lib/lodash/_getTag.js +0 -81
- package/node/lib/lodash/_getValue.js +0 -21
- package/node/lib/lodash/_hashClear.js +0 -28
- package/node/lib/lodash/_hashDelete.js +0 -25
- package/node/lib/lodash/_hashGet.js +0 -45
- package/node/lib/lodash/_hashHas.js +0 -36
- package/node/lib/lodash/_hashSet.js +0 -36
- package/node/lib/lodash/_isIndex.js +0 -28
- package/node/lib/lodash/_isKeyable.js +0 -21
- package/node/lib/lodash/_isMasked.js +0 -34
- package/node/lib/lodash/_isPrototype.js +0 -24
- package/node/lib/lodash/_listCacheClear.js +0 -21
- package/node/lib/lodash/_listCacheDelete.js +0 -51
- package/node/lib/lodash/_listCacheGet.js +0 -31
- package/node/lib/lodash/_listCacheHas.js +0 -29
- package/node/lib/lodash/_listCacheSet.js +0 -40
- package/node/lib/lodash/_mapCacheClear.js +0 -36
- package/node/lib/lodash/_mapCacheDelete.js +0 -31
- package/node/lib/lodash/_mapCacheGet.js +0 -29
- package/node/lib/lodash/_mapCacheHas.js +0 -29
- package/node/lib/lodash/_mapCacheSet.js +0 -34
- package/node/lib/lodash/_mapToArray.js +0 -25
- package/node/lib/lodash/_nativeCreate.js +0 -18
- package/node/lib/lodash/_nativeKeys.js +0 -18
- package/node/lib/lodash/_nodeUtil.js +0 -35
- package/node/lib/lodash/_objectToString.js +0 -29
- package/node/lib/lodash/_overArg.js +0 -23
- package/node/lib/lodash/_root.js +0 -21
- package/node/lib/lodash/_setCacheAdd.js +0 -27
- package/node/lib/lodash/_setCacheHas.js +0 -22
- package/node/lib/lodash/_setToArray.js +0 -25
- package/node/lib/lodash/_stackClear.js +0 -28
- package/node/lib/lodash/_stackDelete.js +0 -25
- package/node/lib/lodash/_stackGet.js +0 -22
- package/node/lib/lodash/_stackHas.js +0 -22
- package/node/lib/lodash/_stackSet.js +0 -53
- package/node/lib/lodash/_toSource.js +0 -35
- package/node/lib/lodash/date.default.js +0 -15
- package/node/lib/lodash/date.js +0 -23
- package/node/lib/lodash/eq.js +0 -45
- package/node/lib/lodash/function.default.js +0 -15
- package/node/lib/lodash/function.js +0 -23
- package/node/lib/lodash/isArguments.js +0 -50
- package/node/lib/lodash/isArray.js +0 -32
- package/node/lib/lodash/isArrayLike.js +0 -47
- package/node/lib/lodash/isBuffer.js +0 -51
- package/node/lib/lodash/isDeepEqual.js +0 -56
- package/node/lib/lodash/isFunction.js +0 -52
- package/node/lib/lodash/isLength.js +0 -41
- package/node/lib/lodash/isObject.js +0 -39
- package/node/lib/lodash/isObjectLike.js +0 -37
- package/node/lib/lodash/isSymbol.js +0 -42
- package/node/lib/lodash/isTypedArray.js +0 -41
- package/node/lib/lodash/keys.js +0 -52
- package/node/lib/lodash/lang.default.js +0 -51
- package/node/lib/lodash/lang.js +0 -119
- package/node/lib/lodash/now.js +0 -36
- package/node/lib/lodash/object.default.js +0 -15
- package/node/lib/lodash/object.js +0 -23
- package/node/lib/lodash/stubArray.js +0 -31
- package/node/lib/lodash/stubFalse.js +0 -26
- package/node/lib/lodash/toNumber.js +0 -82
- package/node/lib/lodash/util.default.js +0 -18
- package/node/lib/lodash/util.js +0 -31
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import { DEFAULT_GRID_COL_TYPE_KEY, getGridDefaultColumnTypes } from '../../../
|
|
2
|
+
import { DEFAULT_GRID_COL_TYPE_KEY, getGridDefaultColumnTypes } from '../../../colDef';
|
|
3
3
|
import { gridColumnsSelector, gridColumnVisibilityModelSelector } from './gridColumnsSelector';
|
|
4
4
|
import { clamp } from '../../../utils/utils';
|
|
5
|
+
export const COLUMNS_DIMENSION_PROPERTIES = ['maxWidth', 'minWidth', 'width', 'flex'];
|
|
5
6
|
export const computeColumnTypes = (customColumnTypes = {}) => {
|
|
6
|
-
const
|
|
7
|
+
const mergedColumnTypes = _extends({}, getGridDefaultColumnTypes());
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
Object.entries(customColumnTypes).forEach(([colType, colTypeDef]) => {
|
|
10
|
+
if (mergedColumnTypes[colType]) {
|
|
11
|
+
mergedColumnTypes[colType] = _extends({}, mergedColumnTypes[colType], colTypeDef);
|
|
12
|
+
} else {
|
|
13
|
+
mergedColumnTypes[colType] = _extends({}, mergedColumnTypes[colTypeDef.extendType || DEFAULT_GRID_COL_TYPE_KEY], colTypeDef);
|
|
14
|
+
}
|
|
12
15
|
});
|
|
13
16
|
return mergedColumnTypes;
|
|
14
17
|
};
|
|
@@ -165,6 +168,55 @@ export const hydrateColumnsWidth = (rawState, viewportInnerWidth) => {
|
|
|
165
168
|
});
|
|
166
169
|
};
|
|
167
170
|
let columnTypeWarnedOnce = false;
|
|
171
|
+
/**
|
|
172
|
+
* Apply the order and the dimensions of the initial state.
|
|
173
|
+
* The columns not registered in `orderedFields` will be placed after the imported columns.
|
|
174
|
+
*/
|
|
175
|
+
|
|
176
|
+
export const applyInitialState = (columnsState, initialState) => {
|
|
177
|
+
if (!initialState) {
|
|
178
|
+
return columnsState;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
const {
|
|
182
|
+
orderedFields = [],
|
|
183
|
+
dimensions = {}
|
|
184
|
+
} = initialState;
|
|
185
|
+
const columnsWithUpdatedDimensions = Object.keys(dimensions);
|
|
186
|
+
|
|
187
|
+
if (columnsWithUpdatedDimensions.length === 0 && orderedFields.length === 0) {
|
|
188
|
+
return columnsState;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
const orderedFieldsLookup = {};
|
|
192
|
+
const cleanOrderedFields = [];
|
|
193
|
+
|
|
194
|
+
for (let i = 0; i < orderedFields.length; i += 1) {
|
|
195
|
+
const field = orderedFields[i]; // Ignores the fields in the initialState that matches no field on the current column state
|
|
196
|
+
|
|
197
|
+
if (columnsState.lookup[field]) {
|
|
198
|
+
orderedFieldsLookup[field] = true;
|
|
199
|
+
cleanOrderedFields.push(field);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
const newOrderedFields = cleanOrderedFields.length === 0 ? columnsState.all : [...cleanOrderedFields, ...columnsState.all.filter(field => !orderedFieldsLookup[field])];
|
|
204
|
+
|
|
205
|
+
const newColumnLookup = _extends({}, columnsState.lookup);
|
|
206
|
+
|
|
207
|
+
for (let i = 0; i < columnsWithUpdatedDimensions.length; i += 1) {
|
|
208
|
+
const field = columnsWithUpdatedDimensions[i];
|
|
209
|
+
newColumnLookup[field] = _extends({}, newColumnLookup[field], dimensions[field], {
|
|
210
|
+
hasBeenResized: true
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
const newColumnsState = {
|
|
215
|
+
all: newOrderedFields,
|
|
216
|
+
lookup: newColumnLookup
|
|
217
|
+
};
|
|
218
|
+
return newColumnsState;
|
|
219
|
+
};
|
|
168
220
|
/**
|
|
169
221
|
* @deprecated Should have been internal only, you can inline the logic.
|
|
170
222
|
*/
|
|
@@ -190,14 +242,16 @@ export const getGridColDef = (columnTypes, type) => {
|
|
|
190
242
|
export const createColumnsState = ({
|
|
191
243
|
apiRef,
|
|
192
244
|
columnsToUpsert,
|
|
193
|
-
|
|
245
|
+
initialState,
|
|
246
|
+
columnTypes,
|
|
194
247
|
currentColumnVisibilityModel = gridColumnVisibilityModelSelector(apiRef),
|
|
195
248
|
shouldRegenColumnVisibilityModelFromColumns,
|
|
196
|
-
|
|
249
|
+
keepOnlyColumnsToUpsert = false
|
|
197
250
|
}) => {
|
|
251
|
+
const isInsideStateInitializer = !apiRef.current.state.columns;
|
|
198
252
|
let columnsStateWithoutColumnVisibilityModel;
|
|
199
253
|
|
|
200
|
-
if (
|
|
254
|
+
if (isInsideStateInitializer) {
|
|
201
255
|
columnsStateWithoutColumnVisibilityModel = {
|
|
202
256
|
all: [],
|
|
203
257
|
lookup: {}
|
|
@@ -205,71 +259,137 @@ export const createColumnsState = ({
|
|
|
205
259
|
} else {
|
|
206
260
|
const currentState = gridColumnsSelector(apiRef.current.state);
|
|
207
261
|
columnsStateWithoutColumnVisibilityModel = {
|
|
208
|
-
all: [...currentState.all],
|
|
209
|
-
lookup: _extends({}, currentState.lookup)
|
|
262
|
+
all: keepOnlyColumnsToUpsert ? [] : [...currentState.all],
|
|
263
|
+
lookup: _extends({}, currentState.lookup) // Will be cleaned later if keepOnlyColumnsToUpsert=true
|
|
264
|
+
|
|
210
265
|
};
|
|
211
266
|
}
|
|
212
267
|
|
|
268
|
+
let columnsToKeep = {};
|
|
269
|
+
|
|
270
|
+
if (keepOnlyColumnsToUpsert && !isInsideStateInitializer) {
|
|
271
|
+
columnsToKeep = Object.keys(columnsStateWithoutColumnVisibilityModel.lookup).reduce((acc, key) => _extends({}, acc, {
|
|
272
|
+
[key]: false
|
|
273
|
+
}), {});
|
|
274
|
+
}
|
|
275
|
+
|
|
213
276
|
const columnsToUpsertLookup = {};
|
|
214
277
|
columnsToUpsert.forEach(newColumn => {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
278
|
+
const {
|
|
279
|
+
field
|
|
280
|
+
} = newColumn;
|
|
281
|
+
columnsToUpsertLookup[field] = true;
|
|
282
|
+
columnsToKeep[field] = true;
|
|
283
|
+
let existingState = columnsStateWithoutColumnVisibilityModel.lookup[field];
|
|
284
|
+
|
|
285
|
+
if (existingState == null) {
|
|
218
286
|
// New Column
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
287
|
+
existingState = _extends({}, getGridColDef(columnTypes, newColumn.type), {
|
|
288
|
+
// TODO v6: Inline `getGridColDef`
|
|
289
|
+
field,
|
|
290
|
+
hasBeenResized: false
|
|
291
|
+
});
|
|
292
|
+
columnsStateWithoutColumnVisibilityModel.all.push(field);
|
|
293
|
+
} else if (keepOnlyColumnsToUpsert) {
|
|
294
|
+
columnsStateWithoutColumnVisibilityModel.all.push(field);
|
|
223
295
|
}
|
|
296
|
+
|
|
297
|
+
let hasValidDimension = false;
|
|
298
|
+
|
|
299
|
+
if (!existingState.hasBeenResized) {
|
|
300
|
+
hasValidDimension = COLUMNS_DIMENSION_PROPERTIES.some(key => newColumn[key] !== undefined);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
columnsStateWithoutColumnVisibilityModel.lookup[field] = _extends({}, existingState, {
|
|
304
|
+
hide: newColumn.hide == null ? false : newColumn.hide
|
|
305
|
+
}, newColumn, {
|
|
306
|
+
hasBeenResized: existingState.hasBeenResized || hasValidDimension
|
|
307
|
+
});
|
|
224
308
|
});
|
|
225
309
|
|
|
310
|
+
if (keepOnlyColumnsToUpsert && !isInsideStateInitializer) {
|
|
311
|
+
Object.keys(columnsStateWithoutColumnVisibilityModel.lookup).forEach(field => {
|
|
312
|
+
if (!columnsToKeep[field]) {
|
|
313
|
+
delete columnsStateWithoutColumnVisibilityModel.lookup[field];
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
|
|
226
318
|
const columnsLookupBeforePreProcessing = _extends({}, columnsStateWithoutColumnVisibilityModel.lookup);
|
|
227
319
|
|
|
228
|
-
const columnsStateWithPreProcessing = apiRef.current.
|
|
320
|
+
const columnsStateWithPreProcessing = apiRef.current.unstable_applyPipeProcessors('hydrateColumns', columnsStateWithoutColumnVisibilityModel); // TODO v6: remove the sync between the columns `hide` option and the model.
|
|
229
321
|
|
|
230
322
|
let columnVisibilityModel = {};
|
|
231
323
|
|
|
232
324
|
if (shouldRegenColumnVisibilityModelFromColumns) {
|
|
233
|
-
|
|
234
|
-
columnsStateWithPreProcessing.all.forEach(field => {
|
|
235
|
-
columnVisibilityModel[field] = !columnsStateWithoutColumnVisibilityModel.lookup[field].hide;
|
|
236
|
-
});
|
|
237
|
-
} else {
|
|
238
|
-
const newColumnVisibilityModel = _extends({}, currentColumnVisibilityModel);
|
|
325
|
+
let hasModelChanged = false;
|
|
239
326
|
|
|
240
|
-
|
|
241
|
-
columnsStateWithPreProcessing.all.forEach(field => {
|
|
242
|
-
// If neither the `columnsToUpsert` nor the pre-processors updated the column,
|
|
243
|
-
// Then we don't want to update the visibility status of the column in the model.
|
|
244
|
-
if (!columnsToUpsertLookup[field] && columnsLookupBeforePreProcessing[field] === columnsStateWithPreProcessing.lookup[field]) {
|
|
245
|
-
return;
|
|
246
|
-
}
|
|
327
|
+
const newColumnVisibilityModel = _extends({}, currentColumnVisibilityModel);
|
|
247
328
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
329
|
+
if (isInsideStateInitializer) {
|
|
330
|
+
columnsStateWithPreProcessing.all.forEach(field => {
|
|
331
|
+
newColumnVisibilityModel[field] = !columnsStateWithoutColumnVisibilityModel.lookup[field].hide;
|
|
332
|
+
});
|
|
333
|
+
} else if (keepOnlyColumnsToUpsert) {
|
|
334
|
+
// At this point, `keepOnlyColumnsToUpsert` has a new meaning: keep the columns
|
|
335
|
+
// passed via `columnToUpsert` + columns added by the pre-processors. We do the following
|
|
336
|
+
// cleanup because a given column may have been removed from the `columns` prop but it still
|
|
337
|
+
// exists in the state.
|
|
338
|
+
Object.keys(newColumnVisibilityModel).forEach(field => {
|
|
339
|
+
if (!columnsStateWithPreProcessing.lookup[field]) {
|
|
340
|
+
delete newColumnVisibilityModel[field];
|
|
252
341
|
hasModelChanged = true;
|
|
253
|
-
newColumnVisibilityModel[field] = isVisibleAfter;
|
|
254
342
|
}
|
|
255
343
|
});
|
|
344
|
+
}
|
|
256
345
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
346
|
+
columnsStateWithPreProcessing.all.forEach(field => {
|
|
347
|
+
// If neither the `columnsToUpsert` nor the pre-processors updated the column,
|
|
348
|
+
// Then we don't want to update the visibility status of the column in the model.
|
|
349
|
+
if (!columnsToUpsertLookup[field] && columnsLookupBeforePreProcessing[field] === columnsStateWithPreProcessing.lookup[field]) {
|
|
350
|
+
return;
|
|
351
|
+
} // We always assume that a column not in the model is visible by default. However, there's an
|
|
352
|
+
// edge case where the column is not in the model but it also doesn't exist in the `columns`
|
|
353
|
+
// prop, meaning that the column is being added. In that case, we assume that the column was
|
|
354
|
+
// not visible before for it be added to the model.
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
let isVisibleBefore = currentColumnVisibilityModel[field];
|
|
358
|
+
|
|
359
|
+
if (isVisibleBefore === undefined) {
|
|
360
|
+
if (isInsideStateInitializer) {
|
|
361
|
+
isVisibleBefore = true;
|
|
362
|
+
} else {
|
|
363
|
+
const currentState = gridColumnsSelector(apiRef.current.state);
|
|
364
|
+
isVisibleBefore = !!currentState.lookup[field];
|
|
365
|
+
}
|
|
261
366
|
}
|
|
367
|
+
|
|
368
|
+
const isVisibleAfter = !columnsStateWithPreProcessing.lookup[field].hide;
|
|
369
|
+
|
|
370
|
+
if (isVisibleAfter !== isVisibleBefore) {
|
|
371
|
+
hasModelChanged = true;
|
|
372
|
+
newColumnVisibilityModel[field] = isVisibleAfter;
|
|
373
|
+
}
|
|
374
|
+
});
|
|
375
|
+
|
|
376
|
+
if (hasModelChanged || isInsideStateInitializer) {
|
|
377
|
+
columnVisibilityModel = newColumnVisibilityModel;
|
|
378
|
+
} else {
|
|
379
|
+
columnVisibilityModel = currentColumnVisibilityModel;
|
|
262
380
|
}
|
|
263
381
|
} else {
|
|
264
382
|
columnVisibilityModel = currentColumnVisibilityModel;
|
|
265
383
|
}
|
|
266
384
|
|
|
267
|
-
const
|
|
385
|
+
const columnsStateWithPortableColumns = applyInitialState(columnsStateWithPreProcessing, initialState);
|
|
386
|
+
|
|
387
|
+
const columnsState = _extends({}, columnsStateWithPortableColumns, {
|
|
268
388
|
columnVisibilityModel
|
|
269
389
|
});
|
|
270
390
|
|
|
271
391
|
return hydrateColumnsWidth(columnsState, apiRef.current.getRootDimensions?.()?.viewportInnerSize.width ?? 0);
|
|
272
392
|
};
|
|
273
|
-
export const
|
|
393
|
+
export const mergeColumnsState = columnsState => state => _extends({}, state, {
|
|
274
394
|
columns: columnsState
|
|
275
395
|
});
|
|
@@ -5,18 +5,21 @@ import { useGridApiMethod } from '../../utils/useGridApiMethod';
|
|
|
5
5
|
import { useGridLogger } from '../../utils/useGridLogger';
|
|
6
6
|
import { gridColumnFieldsSelector, gridColumnDefinitionsSelector, gridColumnLookupSelector, gridColumnsMetaSelector, gridColumnsSelector, gridColumnVisibilityModelSelector, gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector } from './gridColumnsSelector';
|
|
7
7
|
import { useGridApiEventHandler, useGridApiOptionHandler } from '../../utils/useGridApiEventHandler';
|
|
8
|
-
import {
|
|
9
|
-
import { hydrateColumnsWidth, computeColumnTypes, createColumnsState,
|
|
8
|
+
import { useGridRegisterPipeProcessor } from '../../core/pipeProcessing';
|
|
9
|
+
import { hydrateColumnsWidth, computeColumnTypes, createColumnsState, mergeColumnsState, COLUMNS_DIMENSION_PROPERTIES } from './gridColumnsUtils';
|
|
10
|
+
import { GridPreferencePanelsValue } from '../preferencesPanel';
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
12
|
export const columnsStateInitializer = (state, props, apiRef) => {
|
|
11
|
-
const
|
|
13
|
+
const isUsingColumnVisibilityModel = !!props.columnVisibilityModel || !!props.initialState?.columns?.columnVisibilityModel;
|
|
12
14
|
const columnsTypes = computeColumnTypes(props.columnTypes);
|
|
13
15
|
const columnsState = createColumnsState({
|
|
14
16
|
apiRef,
|
|
15
|
-
columnsTypes,
|
|
17
|
+
columnTypes: columnsTypes,
|
|
16
18
|
columnsToUpsert: props.columns,
|
|
17
|
-
|
|
19
|
+
initialState: props.initialState?.columns,
|
|
20
|
+
shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel,
|
|
18
21
|
currentColumnVisibilityModel: props.columnVisibilityModel ?? props.initialState?.columns?.columnVisibilityModel ?? {},
|
|
19
|
-
|
|
22
|
+
keepOnlyColumnsToUpsert: true
|
|
20
23
|
});
|
|
21
24
|
return _extends({}, state, {
|
|
22
25
|
columns: columnsState
|
|
@@ -30,13 +33,15 @@ export const columnsStateInitializer = (state, props, apiRef) => {
|
|
|
30
33
|
|
|
31
34
|
export function useGridColumns(apiRef, props) {
|
|
32
35
|
const logger = useGridLogger(apiRef, 'useGridColumns');
|
|
33
|
-
const
|
|
36
|
+
const columnTypes = React.useMemo(() => computeColumnTypes(props.columnTypes), [props.columnTypes]);
|
|
37
|
+
const previousColumnsProp = React.useRef(props.columns);
|
|
38
|
+
const previousColumnTypesProp = React.useRef(columnTypes);
|
|
34
39
|
/**
|
|
35
40
|
* If `initialState.columns.columnVisibilityModel` or `columnVisibilityModel` was defined during the 1st render, we are directly updating the model
|
|
36
41
|
* If not, we keep the old behavior and update the `GridColDef.hide` option (which will update the state model through the `GridColDef.hide` => `columnVisibilityModel` sync in `createColumnsState`
|
|
37
42
|
*/
|
|
38
43
|
|
|
39
|
-
const
|
|
44
|
+
const isUsingColumnVisibilityModel = React.useRef(!!props.columnVisibilityModel || !!props.initialState?.columns?.columnVisibilityModel);
|
|
40
45
|
apiRef.current.unstable_updateControlState({
|
|
41
46
|
stateId: 'visibleColumns',
|
|
42
47
|
propModel: props.columnVisibilityModel,
|
|
@@ -46,7 +51,7 @@ export function useGridColumns(apiRef, props) {
|
|
|
46
51
|
});
|
|
47
52
|
const setGridColumnsState = React.useCallback(columnsState => {
|
|
48
53
|
logger.debug('Updating columns state.');
|
|
49
|
-
apiRef.current.setState(
|
|
54
|
+
apiRef.current.setState(mergeColumnsState(columnsState));
|
|
50
55
|
apiRef.current.forceUpdate();
|
|
51
56
|
apiRef.current.publishEvent(GridEvents.columnsChange, columnsState.all);
|
|
52
57
|
}, [logger, apiRef]);
|
|
@@ -73,32 +78,34 @@ export function useGridColumns(apiRef, props) {
|
|
|
73
78
|
apiRef.current.setState(state => _extends({}, state, {
|
|
74
79
|
columns: createColumnsState({
|
|
75
80
|
apiRef,
|
|
76
|
-
|
|
81
|
+
columnTypes,
|
|
77
82
|
columnsToUpsert: [],
|
|
83
|
+
initialState: undefined,
|
|
78
84
|
shouldRegenColumnVisibilityModelFromColumns: false,
|
|
79
85
|
currentColumnVisibilityModel: model,
|
|
80
|
-
|
|
86
|
+
keepOnlyColumnsToUpsert: false
|
|
81
87
|
})
|
|
82
88
|
}));
|
|
83
89
|
apiRef.current.forceUpdate();
|
|
84
90
|
}
|
|
85
|
-
}, [apiRef,
|
|
91
|
+
}, [apiRef, columnTypes]);
|
|
86
92
|
const updateColumns = React.useCallback(columns => {
|
|
87
93
|
const columnsState = createColumnsState({
|
|
88
94
|
apiRef,
|
|
89
|
-
|
|
95
|
+
columnTypes,
|
|
90
96
|
columnsToUpsert: columns,
|
|
97
|
+
initialState: undefined,
|
|
91
98
|
shouldRegenColumnVisibilityModelFromColumns: true,
|
|
92
|
-
|
|
99
|
+
keepOnlyColumnsToUpsert: false
|
|
93
100
|
});
|
|
94
101
|
setGridColumnsState(columnsState);
|
|
95
|
-
}, [apiRef, setGridColumnsState,
|
|
102
|
+
}, [apiRef, setGridColumnsState, columnTypes]);
|
|
96
103
|
const updateColumn = React.useCallback(column => apiRef.current.updateColumns([column]), [apiRef]);
|
|
97
104
|
const setColumnVisibility = React.useCallback((field, isVisible) => {
|
|
98
105
|
// We keep updating the `hide` option of `GridColDef` when not controlling the model to avoid any breaking change.
|
|
99
106
|
// `updateColumns` take care of updating the model itself if needs be.
|
|
100
107
|
// TODO v6: stop using the `hide` field even when the model is not defined
|
|
101
|
-
if (
|
|
108
|
+
if (isUsingColumnVisibilityModel.current) {
|
|
102
109
|
const columnVisibilityModel = gridColumnVisibilityModelSelector(apiRef);
|
|
103
110
|
const isCurrentlyVisible = columnVisibilityModel[field] ?? true;
|
|
104
111
|
|
|
@@ -124,7 +131,7 @@ export function useGridColumns(apiRef, props) {
|
|
|
124
131
|
};
|
|
125
132
|
apiRef.current.publishEvent(GridEvents.columnVisibilityChange, params);
|
|
126
133
|
}
|
|
127
|
-
}, [apiRef
|
|
134
|
+
}, [apiRef]);
|
|
128
135
|
const setColumnIndex = React.useCallback((field, targetIndexPosition) => {
|
|
129
136
|
const allColumns = gridColumnFieldsSelector(apiRef);
|
|
130
137
|
const oldIndexPosition = allColumns.findIndex(col => col === field);
|
|
@@ -183,51 +190,79 @@ export function useGridColumns(apiRef, props) {
|
|
|
183
190
|
*/
|
|
184
191
|
|
|
185
192
|
const stateExportPreProcessing = React.useCallback(prevState => {
|
|
186
|
-
|
|
187
|
-
|
|
193
|
+
const columnsStateToExport = {};
|
|
194
|
+
|
|
195
|
+
if (isUsingColumnVisibilityModel.current) {
|
|
196
|
+
const columnVisibilityModelToExport = gridColumnVisibilityModelSelector(apiRef);
|
|
197
|
+
const hasHiddenColumns = Object.values(columnVisibilityModelToExport).some(value => value === false);
|
|
198
|
+
|
|
199
|
+
if (hasHiddenColumns) {
|
|
200
|
+
columnsStateToExport.columnVisibilityModel = columnVisibilityModelToExport;
|
|
201
|
+
}
|
|
188
202
|
}
|
|
189
203
|
|
|
190
|
-
|
|
191
|
-
const
|
|
204
|
+
columnsStateToExport.orderedFields = gridColumnFieldsSelector(apiRef);
|
|
205
|
+
const columns = gridColumnDefinitionsSelector(apiRef);
|
|
206
|
+
const dimensions = {};
|
|
207
|
+
columns.forEach(colDef => {
|
|
208
|
+
if (colDef.hasBeenResized) {
|
|
209
|
+
const colDefDimensions = {};
|
|
210
|
+
COLUMNS_DIMENSION_PROPERTIES.forEach(propertyName => {
|
|
211
|
+
colDefDimensions[propertyName] = colDef[propertyName];
|
|
212
|
+
});
|
|
213
|
+
dimensions[colDef.field] = colDefDimensions;
|
|
214
|
+
}
|
|
215
|
+
});
|
|
192
216
|
|
|
193
|
-
if (
|
|
194
|
-
|
|
217
|
+
if (Object.keys(dimensions).length > 0) {
|
|
218
|
+
columnsStateToExport.dimensions = dimensions;
|
|
195
219
|
}
|
|
196
220
|
|
|
197
221
|
return _extends({}, prevState, {
|
|
198
|
-
columns:
|
|
199
|
-
columnVisibilityModel: columnVisibilityModelToExport
|
|
200
|
-
}
|
|
222
|
+
columns: columnsStateToExport
|
|
201
223
|
});
|
|
202
|
-
}, [apiRef
|
|
224
|
+
}, [apiRef]);
|
|
203
225
|
const stateRestorePreProcessing = React.useCallback((params, context) => {
|
|
204
|
-
|
|
226
|
+
const columnVisibilityModelToImport = isUsingColumnVisibilityModel.current ? context.stateToRestore.columns?.columnVisibilityModel : undefined;
|
|
227
|
+
const initialState = context.stateToRestore.columns;
|
|
228
|
+
|
|
229
|
+
if (columnVisibilityModelToImport == null && initialState == null) {
|
|
205
230
|
return params;
|
|
206
231
|
}
|
|
207
232
|
|
|
208
|
-
const
|
|
233
|
+
const columnsState = createColumnsState({
|
|
234
|
+
apiRef,
|
|
235
|
+
columnTypes,
|
|
236
|
+
columnsToUpsert: [],
|
|
237
|
+
initialState,
|
|
238
|
+
shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel.current,
|
|
239
|
+
currentColumnVisibilityModel: columnVisibilityModelToImport,
|
|
240
|
+
keepOnlyColumnsToUpsert: false
|
|
241
|
+
});
|
|
242
|
+
apiRef.current.setState(mergeColumnsState(columnsState));
|
|
209
243
|
|
|
210
|
-
if (
|
|
211
|
-
|
|
212
|
-
apiRef,
|
|
213
|
-
columnsTypes,
|
|
214
|
-
columnsToUpsert: [],
|
|
215
|
-
shouldRegenColumnVisibilityModelFromColumns: false,
|
|
216
|
-
currentColumnVisibilityModel: columnVisibilityModel,
|
|
217
|
-
reset: false
|
|
218
|
-
});
|
|
219
|
-
apiRef.current.setState(setColumnsState(columnsState));
|
|
244
|
+
if (initialState != null) {
|
|
245
|
+
apiRef.current.publishEvent(GridEvents.columnsChange, columnsState.all);
|
|
220
246
|
}
|
|
221
247
|
|
|
222
248
|
return params;
|
|
223
|
-
}, [apiRef,
|
|
224
|
-
|
|
225
|
-
|
|
249
|
+
}, [apiRef, columnTypes]);
|
|
250
|
+
const preferencePanelPreProcessing = React.useCallback((initialValue, value) => {
|
|
251
|
+
if (value === GridPreferencePanelsValue.columns) {
|
|
252
|
+
const ColumnsPanel = props.components.ColumnsPanel;
|
|
253
|
+
return /*#__PURE__*/_jsx(ColumnsPanel, _extends({}, props.componentsProps?.columnsPanel));
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
return initialValue;
|
|
257
|
+
}, [props.components.ColumnsPanel, props.componentsProps?.columnsPanel]);
|
|
258
|
+
useGridRegisterPipeProcessor(apiRef, 'exportState', stateExportPreProcessing);
|
|
259
|
+
useGridRegisterPipeProcessor(apiRef, 'restoreState', stateRestorePreProcessing);
|
|
260
|
+
useGridRegisterPipeProcessor(apiRef, 'preferencePanel', preferencePanelPreProcessing);
|
|
226
261
|
/**
|
|
227
262
|
* EVENTS
|
|
228
263
|
*/
|
|
229
264
|
|
|
230
|
-
const
|
|
265
|
+
const handlepipeProcessorRegister = React.useCallback(name => {
|
|
231
266
|
if (name !== 'hydrateColumns') {
|
|
232
267
|
return;
|
|
233
268
|
}
|
|
@@ -235,13 +270,14 @@ export function useGridColumns(apiRef, props) {
|
|
|
235
270
|
logger.info(`Columns pre-processing have changed, regenerating the columns`);
|
|
236
271
|
const columnsState = createColumnsState({
|
|
237
272
|
apiRef,
|
|
238
|
-
|
|
273
|
+
columnTypes,
|
|
239
274
|
columnsToUpsert: [],
|
|
240
|
-
|
|
241
|
-
|
|
275
|
+
initialState: undefined,
|
|
276
|
+
shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel.current,
|
|
277
|
+
keepOnlyColumnsToUpsert: false
|
|
242
278
|
});
|
|
243
279
|
setGridColumnsState(columnsState);
|
|
244
|
-
}, [apiRef, logger, setGridColumnsState,
|
|
280
|
+
}, [apiRef, logger, setGridColumnsState, columnTypes]);
|
|
245
281
|
const prevInnerWidth = React.useRef(null);
|
|
246
282
|
|
|
247
283
|
const handleGridSizeChange = viewportInnerSize => {
|
|
@@ -251,7 +287,7 @@ export function useGridColumns(apiRef, props) {
|
|
|
251
287
|
}
|
|
252
288
|
};
|
|
253
289
|
|
|
254
|
-
useGridApiEventHandler(apiRef, GridEvents.
|
|
290
|
+
useGridApiEventHandler(apiRef, GridEvents.pipeProcessorRegister, handlepipeProcessorRegister);
|
|
255
291
|
useGridApiEventHandler(apiRef, GridEvents.viewportInnerSizeChange, handleGridSizeChange);
|
|
256
292
|
useGridApiOptionHandler(apiRef, GridEvents.columnVisibilityChange, props.onColumnVisibilityChange);
|
|
257
293
|
/**
|
|
@@ -268,16 +304,24 @@ export function useGridColumns(apiRef, props) {
|
|
|
268
304
|
}
|
|
269
305
|
|
|
270
306
|
logger.info(`GridColumns have changed, new length ${props.columns.length}`);
|
|
307
|
+
|
|
308
|
+
if (previousColumnsProp.current === props.columns && previousColumnTypesProp.current === columnTypes) {
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
|
|
271
312
|
const columnsState = createColumnsState({
|
|
272
313
|
apiRef,
|
|
273
|
-
|
|
314
|
+
columnTypes,
|
|
315
|
+
initialState: undefined,
|
|
274
316
|
// If the user provides a model, we don't want to set it in the state here because it has it's dedicated `useEffect` which calls `setColumnVisibilityModel`
|
|
275
|
-
shouldRegenColumnVisibilityModelFromColumns: !
|
|
317
|
+
shouldRegenColumnVisibilityModelFromColumns: !isUsingColumnVisibilityModel.current,
|
|
276
318
|
columnsToUpsert: props.columns,
|
|
277
|
-
|
|
319
|
+
keepOnlyColumnsToUpsert: true
|
|
278
320
|
});
|
|
321
|
+
previousColumnsProp.current = props.columns;
|
|
322
|
+
previousColumnTypesProp.current = columnTypes;
|
|
279
323
|
setGridColumnsState(columnsState);
|
|
280
|
-
}, [logger, apiRef, setGridColumnsState, props.columns,
|
|
324
|
+
}, [logger, apiRef, setGridColumnsState, props.columns, columnTypes]);
|
|
281
325
|
React.useEffect(() => {
|
|
282
326
|
if (props.columnVisibilityModel !== undefined) {
|
|
283
327
|
apiRef.current.setColumnVisibilityModel(props.columnVisibilityModel);
|
|
@@ -3,7 +3,6 @@ import * as React from 'react';
|
|
|
3
3
|
import { GridDensityTypes } from '../../../models/gridDensity';
|
|
4
4
|
import { useGridLogger } from '../../utils/useGridLogger';
|
|
5
5
|
import { useGridApiMethod } from '../../utils/useGridApiMethod';
|
|
6
|
-
import { useGridStateInit } from '../../utils/useGridStateInit';
|
|
7
6
|
import { gridDensitySelector } from './densitySelector';
|
|
8
7
|
import { isDeepEqual } from '../../../utils/utils';
|
|
9
8
|
export const COMPACT_DENSITY_FACTOR = 0.7;
|
|
@@ -37,11 +36,11 @@ const getUpdatedDensityState = (newDensity, newHeaderHeight, newRowHeight) => {
|
|
|
37
36
|
}
|
|
38
37
|
};
|
|
39
38
|
|
|
39
|
+
export const densityStateInitializer = (state, props) => _extends({}, state, {
|
|
40
|
+
density: getUpdatedDensityState(props.density, props.headerHeight, props.rowHeight)
|
|
41
|
+
});
|
|
40
42
|
export const useGridDensity = (apiRef, props) => {
|
|
41
43
|
const logger = useGridLogger(apiRef, 'useDensity');
|
|
42
|
-
useGridStateInit(apiRef, state => _extends({}, state, {
|
|
43
|
-
density: getUpdatedDensityState(props.density, props.headerHeight, props.rowHeight)
|
|
44
|
-
}));
|
|
45
44
|
const setDensity = React.useCallback((newDensity, newHeaderHeight = props.headerHeight, newRowHeight = props.rowHeight) => {
|
|
46
45
|
logger.debug(`Set grid density to ${newDensity}`);
|
|
47
46
|
apiRef.current.setState(state => {
|
|
@@ -7,7 +7,7 @@ import { useGridLogger } from '../../utils/useGridLogger';
|
|
|
7
7
|
import { gridColumnsTotalWidthSelector } from '../columns';
|
|
8
8
|
import { gridDensityHeaderHeightSelector, gridDensityRowHeightSelector } from '../density';
|
|
9
9
|
import { useGridSelector } from '../../utils';
|
|
10
|
-
import {
|
|
10
|
+
import { getVisibleRows } from '../../utils/useGridVisibleRows';
|
|
11
11
|
import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';
|
|
12
12
|
const isTestEnvironment = process.env.NODE_ENV === 'test';
|
|
13
13
|
|
|
@@ -114,7 +114,7 @@ export function useGridDimensions(apiRef, props) {
|
|
|
114
114
|
return 0;
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
-
const currentPage =
|
|
117
|
+
const currentPage = getVisibleRows(apiRef, {
|
|
118
118
|
pagination: props.pagination,
|
|
119
119
|
paginationMode: props.paginationMode
|
|
120
120
|
}); // TODO: Use a combination of scrollTop, dimensions.viewportInnerSize.height and rowsMeta.possitions
|
|
@@ -132,7 +132,8 @@ export function useGridDimensions(apiRef, props) {
|
|
|
132
132
|
const dimensionsApi = {
|
|
133
133
|
resize,
|
|
134
134
|
getRootDimensions,
|
|
135
|
-
unstable_getViewportPageSize: getViewportPageSize
|
|
135
|
+
unstable_getViewportPageSize: getViewportPageSize,
|
|
136
|
+
unstable_updateGridDimensionsRef: updateGridDimensionsRef
|
|
136
137
|
};
|
|
137
138
|
useGridApiMethod(apiRef, dimensionsApi, 'GridDimensionsApi');
|
|
138
139
|
const debounceResize = React.useMemo(() => debounce(resize, 60), [resize]);
|