@mui/x-data-grid 5.8.0 → 5.11.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 +333 -66
- package/DataGrid/DataGrid.js +36 -2
- package/DataGrid/useDataGridComponent.js +3 -1
- package/DataGrid/useDataGridProps.js +2 -1
- package/LICENSE +21 -0
- package/README.md +7 -5
- package/colDef/gridActionsColDef.js +2 -1
- package/colDef/gridBooleanColDef.js +2 -1
- package/colDef/gridCheckboxSelectionColDef.js +1 -0
- package/colDef/gridDateColDef.js +4 -2
- package/colDef/gridNumericColDef.js +3 -2
- package/colDef/gridNumericOperators.d.ts +2 -0
- package/colDef/gridNumericOperators.js +11 -0
- package/colDef/gridSingleSelectColDef.js +3 -2
- package/colDef/gridSingleSelectOperators.d.ts +3 -0
- package/colDef/gridSingleSelectOperators.js +52 -0
- package/colDef/gridStringColDef.js +3 -2
- package/colDef/gridStringOperators.d.ts +2 -0
- package/colDef/gridStringOperators.js +12 -0
- package/components/GridFooter.d.ts +4 -2
- package/components/GridFooter.js +11 -2
- package/components/GridRow.d.ts +4 -0
- package/components/GridRow.js +58 -28
- package/components/GridRowCount.d.ts +4 -1
- package/components/GridRowCount.js +1 -0
- package/components/GridScrollArea.js +3 -4
- package/components/GridSelectedRowCount.d.ts +4 -1
- package/components/GridSelectedRowCount.js +2 -1
- package/components/base/GridBody.js +1 -2
- package/components/base/GridOverlays.js +5 -5
- package/components/cell/GridActionsCell.d.ts +5 -1
- package/components/cell/GridActionsCell.js +179 -21
- package/components/cell/GridActionsCellItem.d.ts +66 -4
- package/components/cell/GridActionsCellItem.js +7 -5
- package/components/cell/GridCell.d.ts +1 -0
- package/components/cell/GridCell.js +36 -15
- package/components/cell/GridEditBooleanCell.d.ts +15 -3
- package/components/cell/GridEditBooleanCell.js +101 -6
- package/components/cell/GridEditDateCell.d.ts +16 -4
- package/components/cell/GridEditDateCell.js +99 -5
- package/components/cell/GridEditInputCell.d.ts +11 -5
- package/components/cell/GridEditInputCell.js +30 -6
- package/components/cell/GridEditSingleSelectCell.d.ts +12 -4
- package/components/cell/GridEditSingleSelectCell.js +50 -18
- package/components/cell/index.d.ts +2 -0
- package/components/cell/index.js +2 -0
- package/components/columnHeaders/GridColumnHeaderItem.js +19 -23
- package/components/columnHeaders/GridColumnHeaders.d.ts +2 -1
- package/components/columnHeaders/GridColumnHeaders.js +1 -1
- package/components/columnHeaders/GridColumnHeadersInner.d.ts +2 -0
- package/components/columnSelection/GridCellCheckboxRenderer.d.ts +3 -3
- package/components/columnSelection/GridCellCheckboxRenderer.js +22 -6
- package/components/columnSelection/GridHeaderCheckbox.js +4 -5
- package/components/containers/GridFooterContainer.d.ts +8 -2
- package/components/containers/GridFooterContainer.js +11 -2
- package/components/containers/GridRootStyles.js +36 -1
- package/components/containers/GridToolbarContainer.d.ts +8 -2
- package/components/containers/GridToolbarContainer.js +12 -2
- package/components/menu/GridMenu.js +1 -0
- package/components/panel/GridPanel.js +1 -0
- package/components/panel/GridPanelContent.d.ts +8 -1
- package/components/panel/GridPanelContent.js +13 -2
- package/components/panel/GridPanelFooter.d.ts +8 -1
- package/components/panel/GridPanelFooter.js +13 -2
- package/components/panel/GridPanelHeader.d.ts +8 -1
- package/components/panel/GridPanelHeader.js +13 -2
- package/components/panel/filterPanel/GridFilterForm.js +14 -10
- package/components/panel/filterPanel/GridFilterInputBoolean.js +13 -8
- package/components/panel/filterPanel/GridFilterInputSingleSelect.js +22 -15
- package/components/panel/filterPanel/GridFilterInputValue.js +22 -15
- package/components/toolbar/GridToolbar.d.ts +12 -2
- package/components/toolbar/GridToolbar.js +30 -7
- package/components/toolbar/GridToolbarDensitySelector.js +1 -1
- package/components/toolbar/GridToolbarExport.d.ts +5 -4
- package/components/toolbar/GridToolbarExport.js +15 -20
- package/components/toolbar/GridToolbarFilterButton.d.ts +1 -1
- package/components/toolbar/GridToolbarQuickFilter.d.ts +20 -0
- package/components/toolbar/GridToolbarQuickFilter.js +88 -0
- package/components/toolbar/index.d.ts +3 -1
- package/components/toolbar/index.js +3 -2
- package/components/virtualization/GridVirtualScroller.d.ts +4 -1
- package/components/virtualization/GridVirtualScroller.js +2 -0
- package/components/virtualization/GridVirtualScrollerContent.d.ts +4 -1
- package/components/virtualization/GridVirtualScrollerContent.js +1 -3
- package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +4 -1
- package/constants/defaultGridSlotsComponents.js +3 -2
- package/constants/gridClasses.d.ts +20 -0
- package/constants/gridClasses.js +1 -1
- package/constants/gridDetailPanelToggleField.d.ts +1 -0
- package/constants/gridDetailPanelToggleField.js +2 -0
- package/constants/localeTextConstants.js +8 -1
- package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +39 -15
- package/hooks/core/pipeProcessing/index.d.ts +1 -0
- package/hooks/core/pipeProcessing/index.js +2 -1
- package/hooks/core/pipeProcessing/useGridPipeProcessing.d.ts +8 -3
- package/hooks/core/pipeProcessing/useGridPipeProcessing.js +53 -19
- package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.d.ts +3 -0
- package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +27 -0
- package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +0 -3
- package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -4
- package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +4 -4
- package/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -7
- package/hooks/core/useGridApiInitialization.js +3 -3
- package/hooks/core/useGridErrorHandler.js +1 -2
- package/hooks/core/useGridStateInitialization.js +1 -2
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +0 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +81 -16
- package/hooks/features/columnMenu/useGridColumnMenu.js +3 -3
- package/hooks/features/columns/gridColumnsInterfaces.d.ts +3 -1
- package/hooks/features/columns/gridColumnsUtils.d.ts +19 -1
- package/hooks/features/columns/gridColumnsUtils.js +61 -8
- package/hooks/features/columns/useGridColumnSpanning.d.ts +7 -0
- package/hooks/features/columns/useGridColumnSpanning.js +108 -0
- package/hooks/features/columns/useGridColumns.d.ts +1 -1
- package/hooks/features/columns/useGridColumns.js +30 -25
- package/hooks/features/dimensions/useGridDimensions.d.ts +1 -1
- package/hooks/features/dimensions/useGridDimensions.js +10 -11
- package/hooks/features/editRows/useGridCellEditing.new.d.ts +1 -1
- package/hooks/features/editRows/useGridCellEditing.new.js +151 -42
- package/hooks/features/editRows/useGridCellEditing.old.js +20 -21
- package/hooks/features/editRows/useGridEditing.new.js +7 -3
- package/hooks/features/editRows/useGridEditing.old.js +4 -5
- package/hooks/features/editRows/useGridRowEditing.new.d.ts +1 -1
- package/hooks/features/editRows/useGridRowEditing.new.js +145 -57
- package/hooks/features/editRows/useGridRowEditing.old.js +21 -22
- package/hooks/features/events/useGridEvents.js +17 -18
- package/hooks/features/export/serializers/csvSerializer.js +5 -5
- package/hooks/features/export/useGridCsvExport.js +23 -16
- package/hooks/features/export/useGridPrintExport.js +22 -0
- package/hooks/features/export/utils.d.ts +3 -1
- package/hooks/features/export/utils.js +13 -0
- package/hooks/features/filter/gridFilterState.d.ts +1 -2
- package/hooks/features/filter/gridFilterState.js +3 -1
- package/hooks/features/filter/gridFilterUtils.d.ts +8 -0
- package/hooks/features/filter/gridFilterUtils.js +84 -2
- package/hooks/features/filter/useGridFilter.js +32 -15
- package/hooks/features/focus/useGridFocus.d.ts +1 -1
- package/hooks/features/focus/useGridFocus.js +48 -42
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -0
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +43 -12
- package/hooks/features/pagination/useGridPage.js +3 -4
- package/hooks/features/pagination/useGridPageSize.js +2 -3
- package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -6
- package/hooks/features/rows/gridRowsSelector.d.ts +2 -0
- package/hooks/features/rows/gridRowsSelector.js +2 -0
- package/hooks/features/rows/gridRowsState.d.ts +7 -7
- package/hooks/features/rows/gridRowsUtils.d.ts +2 -1
- package/hooks/features/rows/gridRowsUtils.js +25 -1
- package/hooks/features/rows/useGridRows.d.ts +2 -2
- package/hooks/features/rows/useGridRows.js +121 -61
- package/hooks/features/rows/useGridRowsMeta.js +6 -13
- package/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
- package/hooks/features/scroll/useGridScroll.d.ts +2 -0
- package/hooks/features/scroll/useGridScroll.js +31 -4
- package/hooks/features/selection/useGridSelection.d.ts +1 -1
- package/hooks/features/selection/useGridSelection.js +15 -11
- package/hooks/features/sorting/useGridSorting.js +17 -18
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +9 -0
- package/hooks/features/virtualization/useGridVirtualScroller.js +68 -32
- package/hooks/utils/useGridApiEventHandler.d.ts +4 -1
- package/hooks/utils/useGridApiEventHandler.js +22 -9
- package/hooks/utils/useGridNativeEventListener.js +1 -2
- package/hooks/utils/useGridSelector.js +1 -1
- package/index.d.ts +2 -0
- package/index.js +1 -1
- package/internals/index.d.ts +5 -1
- package/internals/index.js +6 -2
- package/legacy/DataGrid/DataGrid.js +36 -2
- package/legacy/DataGrid/useDataGridComponent.js +3 -1
- package/legacy/DataGrid/useDataGridProps.js +2 -1
- package/legacy/colDef/gridActionsColDef.js +2 -1
- package/legacy/colDef/gridBooleanColDef.js +2 -1
- package/legacy/colDef/gridCheckboxSelectionColDef.js +1 -0
- package/legacy/colDef/gridDateColDef.js +4 -2
- package/legacy/colDef/gridNumericColDef.js +3 -2
- package/legacy/colDef/gridNumericOperators.js +28 -18
- package/legacy/colDef/gridSingleSelectColDef.js +3 -2
- package/legacy/colDef/gridSingleSelectOperators.js +55 -6
- package/legacy/colDef/gridStringColDef.js +3 -2
- package/legacy/colDef/gridStringOperators.js +25 -14
- package/legacy/components/GridFooter.js +11 -2
- package/legacy/components/GridRow.js +56 -28
- package/legacy/components/GridRowCount.js +1 -0
- package/legacy/components/GridScrollArea.js +3 -4
- package/legacy/components/GridSelectedRowCount.js +2 -1
- package/legacy/components/base/GridBody.js +1 -2
- package/legacy/components/base/GridOverlays.js +5 -5
- package/legacy/components/cell/GridActionsCell.js +197 -27
- package/legacy/components/cell/GridActionsCellItem.js +7 -5
- package/legacy/components/cell/GridCell.js +37 -15
- package/legacy/components/cell/GridEditBooleanCell.js +132 -11
- package/legacy/components/cell/GridEditDateCell.js +148 -42
- package/legacy/components/cell/GridEditInputCell.js +62 -13
- package/legacy/components/cell/GridEditSingleSelectCell.js +65 -28
- package/legacy/components/cell/index.js +2 -0
- package/legacy/components/columnHeaders/GridColumnHeaderItem.js +19 -23
- package/legacy/components/columnHeaders/GridColumnHeaders.js +2 -3
- package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +23 -6
- package/legacy/components/columnSelection/GridHeaderCheckbox.js +4 -5
- package/legacy/components/containers/GridFooterContainer.js +11 -2
- package/legacy/components/containers/GridRootStyles.js +26 -5
- package/legacy/components/containers/GridToolbarContainer.js +12 -2
- package/legacy/components/menu/GridMenu.js +1 -0
- package/legacy/components/panel/GridPanel.js +1 -0
- package/legacy/components/panel/GridPanelContent.js +13 -2
- package/legacy/components/panel/GridPanelFooter.js +13 -2
- package/legacy/components/panel/GridPanelHeader.js +13 -2
- package/legacy/components/panel/filterPanel/GridFilterForm.js +14 -10
- package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +13 -8
- package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +22 -17
- package/legacy/components/panel/filterPanel/GridFilterInputValue.js +22 -17
- package/legacy/components/toolbar/GridToolbar.js +31 -6
- package/legacy/components/toolbar/GridToolbarDensitySelector.js +1 -1
- package/legacy/components/toolbar/GridToolbarExport.js +18 -19
- package/legacy/components/toolbar/GridToolbarQuickFilter.js +103 -0
- package/legacy/components/toolbar/index.js +3 -2
- package/legacy/components/virtualization/GridVirtualScroller.js +2 -0
- package/legacy/components/virtualization/GridVirtualScrollerContent.js +1 -3
- package/legacy/constants/defaultGridSlotsComponents.js +3 -2
- package/legacy/constants/gridClasses.js +1 -1
- package/legacy/constants/gridDetailPanelToggleField.js +2 -0
- package/legacy/constants/localeTextConstants.js +8 -1
- package/legacy/hooks/core/pipeProcessing/index.js +2 -1
- package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +60 -24
- package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +27 -0
- package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -4
- package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -7
- package/legacy/hooks/core/useGridApiInitialization.js +3 -3
- package/legacy/hooks/core/useGridErrorHandler.js +1 -2
- package/legacy/hooks/core/useGridStateInitialization.js +1 -2
- package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +94 -16
- package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +3 -3
- package/legacy/hooks/features/columns/gridColumnsUtils.js +79 -22
- package/legacy/hooks/features/columns/useGridColumnSpanning.js +106 -0
- package/legacy/hooks/features/columns/useGridColumns.js +30 -25
- package/legacy/hooks/features/dimensions/useGridDimensions.js +10 -11
- package/legacy/hooks/features/editRows/useGridCellEditing.new.js +225 -89
- package/legacy/hooks/features/editRows/useGridCellEditing.old.js +20 -21
- package/legacy/hooks/features/editRows/useGridEditing.new.js +7 -3
- package/legacy/hooks/features/editRows/useGridEditing.old.js +4 -5
- package/legacy/hooks/features/editRows/useGridRowEditing.new.js +157 -65
- package/legacy/hooks/features/editRows/useGridRowEditing.old.js +20 -21
- package/legacy/hooks/features/events/useGridEvents.js +17 -18
- package/legacy/hooks/features/export/serializers/csvSerializer.js +5 -5
- package/legacy/hooks/features/export/useGridCsvExport.js +24 -17
- package/legacy/hooks/features/export/useGridPrintExport.js +22 -0
- package/legacy/hooks/features/export/utils.js +14 -0
- package/legacy/hooks/features/filter/gridFilterState.js +3 -1
- package/legacy/hooks/features/filter/gridFilterUtils.js +96 -2
- package/legacy/hooks/features/filter/useGridFilter.js +32 -15
- package/legacy/hooks/features/focus/useGridFocus.js +50 -44
- package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +43 -11
- package/legacy/hooks/features/pagination/useGridPage.js +3 -4
- package/legacy/hooks/features/pagination/useGridPageSize.js +2 -3
- package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -6
- package/legacy/hooks/features/rows/gridRowsSelector.js +6 -0
- package/legacy/hooks/features/rows/gridRowsUtils.js +27 -1
- package/legacy/hooks/features/rows/useGridRows.js +131 -61
- package/legacy/hooks/features/rows/useGridRowsMeta.js +6 -13
- package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
- package/legacy/hooks/features/scroll/useGridScroll.js +31 -4
- package/legacy/hooks/features/selection/useGridSelection.js +15 -11
- package/legacy/hooks/features/sorting/useGridSorting.js +12 -15
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +79 -42
- package/legacy/hooks/utils/useGridApiEventHandler.js +20 -9
- package/legacy/hooks/utils/useGridNativeEventListener.js +1 -2
- package/legacy/hooks/utils/useGridSelector.js +1 -1
- package/legacy/index.js +1 -1
- package/legacy/internals/index.js +6 -2
- package/legacy/locales/arSD.js +8 -1
- package/legacy/locales/bgBG.js +8 -1
- package/legacy/locales/csCZ.js +7 -0
- package/legacy/locales/daDK.js +8 -1
- package/legacy/locales/deDE.js +10 -3
- package/legacy/locales/elGR.js +7 -0
- package/legacy/locales/esES.js +7 -0
- package/legacy/locales/faIR.js +8 -1
- package/legacy/locales/fiFI.js +7 -0
- package/legacy/locales/frFR.js +7 -0
- package/legacy/locales/heIL.js +8 -1
- package/legacy/locales/huHU.js +127 -0
- package/legacy/locales/index.js +1 -0
- package/legacy/locales/itIT.js +7 -0
- package/legacy/locales/jaJP.js +7 -0
- package/legacy/locales/koKR.js +7 -0
- package/legacy/locales/nlNL.js +7 -0
- package/legacy/locales/plPL.js +8 -1
- package/legacy/locales/ptBR.js +8 -1
- package/legacy/locales/ruRU.js +7 -0
- package/legacy/locales/skSK.js +7 -0
- package/legacy/locales/trTR.js +8 -1
- package/legacy/locales/ukUA.js +7 -0
- package/legacy/locales/viVN.js +7 -0
- package/legacy/locales/zhCN.js +7 -0
- package/legacy/models/api/gridColumnSpanning.js +1 -0
- package/legacy/models/events/gridEvents.js +10 -3
- package/legacy/models/gridColumnSpanning.js +1 -0
- package/legacy/models/index.js +4 -3
- package/legacy/utils/createSelector.js +18 -2
- package/legacy/utils/exportAs.js +1 -1
- package/locales/arSD.js +8 -1
- package/locales/bgBG.js +8 -1
- package/locales/csCZ.js +7 -0
- package/locales/daDK.js +8 -1
- package/locales/deDE.js +10 -3
- package/locales/elGR.js +7 -0
- package/locales/esES.js +7 -0
- package/locales/faIR.js +8 -1
- package/locales/fiFI.js +7 -0
- package/locales/frFR.js +7 -0
- package/locales/heIL.js +8 -1
- package/locales/huHU.d.ts +2 -0
- package/locales/huHU.js +115 -0
- package/locales/index.d.ts +1 -0
- package/locales/index.js +1 -0
- package/locales/itIT.js +7 -0
- package/locales/jaJP.js +7 -0
- package/locales/koKR.js +7 -0
- package/locales/nlNL.js +7 -0
- package/locales/plPL.js +8 -1
- package/locales/ptBR.js +8 -1
- package/locales/ruRU.js +7 -0
- package/locales/skSK.js +7 -0
- package/locales/trTR.js +8 -1
- package/locales/ukUA.js +7 -0
- package/locales/viVN.js +7 -0
- package/locales/zhCN.js +7 -0
- package/models/api/gridApiCommon.d.ts +2 -1
- package/models/api/gridColumnSpanning.d.ts +28 -0
- package/models/api/gridColumnSpanning.js +1 -0
- package/models/api/gridCoreApi.d.ts +10 -0
- package/models/api/gridEditingApi.d.ts +72 -7
- package/models/api/gridFilterApi.d.ts +5 -0
- package/models/api/gridFocusApi.d.ts +1 -0
- package/models/api/gridLocaleTextApi.d.ts +5 -0
- package/models/api/gridRowApi.d.ts +34 -0
- package/models/api/index.d.ts +1 -1
- package/models/colDef/gridColDef.d.ts +18 -0
- package/models/events/gridEventLookup.d.ts +296 -11
- package/models/events/gridEvents.d.ts +10 -258
- package/models/events/gridEvents.js +10 -3
- package/models/gridColumnSpanning.d.ts +12 -0
- package/models/gridColumnSpanning.js +1 -0
- package/models/gridEditRowModel.d.ts +1 -1
- package/models/gridExport.d.ts +29 -2
- package/models/gridFilterModel.d.ts +11 -0
- package/models/gridFilterOperator.d.ts +1 -1
- package/models/gridIconSlotsComponent.d.ts +5 -0
- package/models/gridStateCommunity.d.ts +0 -2
- package/models/index.d.ts +1 -1
- package/models/index.js +4 -3
- package/models/params/gridCellParams.d.ts +12 -2
- package/models/params/gridRowParams.d.ts +5 -0
- package/models/props/DataGridProps.d.ts +57 -29
- package/modern/DataGrid/DataGrid.js +36 -2
- package/modern/DataGrid/useDataGridComponent.js +3 -1
- package/modern/DataGrid/useDataGridProps.js +2 -1
- package/modern/colDef/gridActionsColDef.js +2 -1
- package/modern/colDef/gridBooleanColDef.js +2 -1
- package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
- package/modern/colDef/gridDateColDef.js +4 -2
- package/modern/colDef/gridNumericColDef.js +3 -2
- package/modern/colDef/gridNumericOperators.js +11 -0
- package/modern/colDef/gridSingleSelectColDef.js +3 -2
- package/modern/colDef/gridSingleSelectOperators.js +52 -0
- package/modern/colDef/gridStringColDef.js +3 -2
- package/modern/colDef/gridStringOperators.js +12 -0
- package/modern/components/GridFooter.js +11 -2
- package/modern/components/GridRow.js +56 -26
- package/modern/components/GridRowCount.js +1 -0
- package/modern/components/GridScrollArea.js +3 -4
- package/modern/components/GridSelectedRowCount.js +2 -1
- package/modern/components/base/GridBody.js +1 -2
- package/modern/components/base/GridOverlays.js +5 -5
- package/modern/components/cell/GridActionsCell.js +179 -21
- package/modern/components/cell/GridActionsCellItem.js +7 -5
- package/modern/components/cell/GridCell.js +36 -15
- package/modern/components/cell/GridEditBooleanCell.js +101 -6
- package/modern/components/cell/GridEditDateCell.js +99 -5
- package/modern/components/cell/GridEditInputCell.js +30 -6
- package/modern/components/cell/GridEditSingleSelectCell.js +48 -16
- package/modern/components/cell/index.js +2 -0
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +19 -23
- package/modern/components/columnHeaders/GridColumnHeaders.js +1 -1
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +22 -6
- package/modern/components/columnSelection/GridHeaderCheckbox.js +4 -5
- package/modern/components/containers/GridFooterContainer.js +11 -2
- package/modern/components/containers/GridRootStyles.js +36 -1
- package/modern/components/containers/GridToolbarContainer.js +12 -2
- package/modern/components/menu/GridMenu.js +1 -0
- package/modern/components/panel/GridPanel.js +1 -0
- package/modern/components/panel/GridPanelContent.js +13 -2
- package/modern/components/panel/GridPanelFooter.js +13 -2
- package/modern/components/panel/GridPanelHeader.js +13 -2
- package/modern/components/panel/filterPanel/GridFilterForm.js +10 -6
- package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +11 -6
- package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +20 -13
- package/modern/components/panel/filterPanel/GridFilterInputValue.js +20 -13
- package/modern/components/toolbar/GridToolbar.js +30 -7
- package/modern/components/toolbar/GridToolbarDensitySelector.js +1 -1
- package/modern/components/toolbar/GridToolbarExport.js +15 -20
- package/modern/components/toolbar/GridToolbarQuickFilter.js +86 -0
- package/modern/components/toolbar/index.js +3 -2
- package/modern/components/virtualization/GridVirtualScroller.js +2 -0
- package/modern/components/virtualization/GridVirtualScrollerContent.js +1 -3
- package/modern/constants/defaultGridSlotsComponents.js +3 -2
- package/modern/constants/gridClasses.js +1 -1
- package/modern/constants/gridDetailPanelToggleField.js +2 -0
- package/modern/constants/localeTextConstants.js +8 -1
- package/modern/hooks/core/pipeProcessing/index.js +2 -1
- package/modern/hooks/core/pipeProcessing/useGridPipeProcessing.js +53 -19
- package/modern/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +27 -0
- package/modern/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -4
- package/modern/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -7
- package/modern/hooks/core/useGridApiInitialization.js +3 -3
- package/modern/hooks/core/useGridErrorHandler.js +1 -2
- package/modern/hooks/core/useGridStateInitialization.js +1 -2
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +81 -16
- package/modern/hooks/features/columnMenu/useGridColumnMenu.js +3 -3
- package/modern/hooks/features/columns/gridColumnsUtils.js +61 -8
- package/modern/hooks/features/columns/useGridColumnSpanning.js +106 -0
- package/modern/hooks/features/columns/useGridColumns.js +30 -25
- package/modern/hooks/features/dimensions/useGridDimensions.js +10 -11
- package/modern/hooks/features/editRows/useGridCellEditing.new.js +149 -42
- package/modern/hooks/features/editRows/useGridCellEditing.old.js +20 -21
- package/modern/hooks/features/editRows/useGridEditing.new.js +7 -3
- package/modern/hooks/features/editRows/useGridEditing.old.js +4 -5
- package/modern/hooks/features/editRows/useGridRowEditing.new.js +143 -57
- package/modern/hooks/features/editRows/useGridRowEditing.old.js +21 -22
- package/modern/hooks/features/events/useGridEvents.js +17 -18
- package/modern/hooks/features/export/serializers/csvSerializer.js +5 -5
- package/modern/hooks/features/export/useGridCsvExport.js +21 -16
- package/modern/hooks/features/export/useGridPrintExport.js +20 -0
- package/modern/hooks/features/export/utils.js +13 -0
- package/modern/hooks/features/filter/gridFilterState.js +3 -1
- package/modern/hooks/features/filter/gridFilterUtils.js +80 -2
- package/modern/hooks/features/filter/useGridFilter.js +32 -15
- package/modern/hooks/features/focus/useGridFocus.js +48 -42
- package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +41 -12
- package/modern/hooks/features/pagination/useGridPage.js +3 -4
- package/modern/hooks/features/pagination/useGridPageSize.js +2 -3
- package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -6
- package/modern/hooks/features/rows/gridRowsSelector.js +2 -0
- package/modern/hooks/features/rows/gridRowsUtils.js +23 -1
- package/modern/hooks/features/rows/useGridRows.js +121 -61
- package/modern/hooks/features/rows/useGridRowsMeta.js +6 -13
- package/modern/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
- package/modern/hooks/features/scroll/useGridScroll.js +29 -4
- package/modern/hooks/features/selection/useGridSelection.js +15 -11
- package/modern/hooks/features/sorting/useGridSorting.js +17 -18
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +68 -28
- package/modern/hooks/utils/useGridApiEventHandler.js +20 -9
- package/modern/hooks/utils/useGridNativeEventListener.js +1 -2
- package/modern/hooks/utils/useGridSelector.js +1 -1
- package/modern/index.js +1 -1
- package/modern/internals/index.js +6 -2
- package/modern/locales/arSD.js +8 -1
- package/modern/locales/bgBG.js +8 -1
- package/modern/locales/csCZ.js +7 -0
- package/modern/locales/daDK.js +8 -1
- package/modern/locales/deDE.js +10 -3
- package/modern/locales/elGR.js +7 -0
- package/modern/locales/esES.js +7 -0
- package/modern/locales/faIR.js +8 -1
- package/modern/locales/fiFI.js +7 -0
- package/modern/locales/frFR.js +7 -0
- package/modern/locales/heIL.js +8 -1
- package/modern/locales/huHU.js +115 -0
- package/modern/locales/index.js +1 -0
- package/modern/locales/itIT.js +7 -0
- package/modern/locales/jaJP.js +7 -0
- package/modern/locales/koKR.js +7 -0
- package/modern/locales/nlNL.js +7 -0
- package/modern/locales/plPL.js +8 -1
- package/modern/locales/ptBR.js +8 -1
- package/modern/locales/ruRU.js +7 -0
- package/modern/locales/skSK.js +7 -0
- package/modern/locales/trTR.js +8 -1
- package/modern/locales/ukUA.js +7 -0
- package/modern/locales/viVN.js +7 -0
- package/modern/locales/zhCN.js +7 -0
- package/modern/models/api/gridColumnSpanning.js +1 -0
- package/modern/models/events/gridEvents.js +10 -3
- package/modern/models/gridColumnSpanning.js +1 -0
- package/modern/models/index.js +4 -3
- package/modern/utils/createSelector.js +20 -2
- package/modern/utils/exportAs.js +1 -1
- package/node/DataGrid/DataGrid.js +36 -2
- package/node/DataGrid/useDataGridComponent.js +4 -1
- package/node/DataGrid/useDataGridProps.js +2 -1
- package/node/colDef/gridActionsColDef.js +2 -1
- package/node/colDef/gridBooleanColDef.js +2 -1
- package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
- package/node/colDef/gridDateColDef.js +4 -2
- package/node/colDef/gridNumericColDef.js +2 -1
- package/node/colDef/gridNumericOperators.js +15 -1
- package/node/colDef/gridSingleSelectColDef.js +2 -1
- package/node/colDef/gridSingleSelectOperators.js +56 -1
- package/node/colDef/gridStringColDef.js +2 -1
- package/node/colDef/gridStringOperators.js +16 -1
- package/node/components/GridFooter.js +10 -1
- package/node/components/GridRow.js +59 -29
- package/node/components/GridRowCount.js +1 -0
- package/node/components/GridScrollArea.js +3 -5
- package/node/components/GridSelectedRowCount.js +2 -1
- package/node/components/base/GridBody.js +1 -3
- package/node/components/base/GridOverlays.js +4 -5
- package/node/components/cell/GridActionsCell.js +181 -21
- package/node/components/cell/GridActionsCellItem.js +7 -4
- package/node/components/cell/GridCell.js +35 -14
- package/node/components/cell/GridEditBooleanCell.js +100 -5
- package/node/components/cell/GridEditDateCell.js +98 -4
- package/node/components/cell/GridEditInputCell.js +30 -6
- package/node/components/cell/GridEditSingleSelectCell.js +50 -18
- package/node/components/cell/index.js +26 -0
- package/node/components/columnHeaders/GridColumnHeaderItem.js +19 -24
- package/node/components/columnHeaders/GridColumnHeaders.js +1 -1
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +22 -7
- package/node/components/columnSelection/GridHeaderCheckbox.js +4 -6
- package/node/components/containers/GridFooterContainer.js +10 -1
- package/node/components/containers/GridRootStyles.js +36 -1
- package/node/components/containers/GridToolbarContainer.js +11 -1
- package/node/components/menu/GridMenu.js +1 -0
- package/node/components/panel/GridPanel.js +1 -0
- package/node/components/panel/GridPanelContent.js +11 -1
- package/node/components/panel/GridPanelFooter.js +11 -1
- package/node/components/panel/GridPanelHeader.js +11 -1
- package/node/components/panel/filterPanel/GridFilterForm.js +15 -10
- package/node/components/panel/filterPanel/GridFilterInputBoolean.js +14 -8
- package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +23 -15
- package/node/components/panel/filterPanel/GridFilterInputValue.js +23 -15
- package/node/components/toolbar/GridToolbar.js +32 -7
- package/node/components/toolbar/GridToolbarDensitySelector.js +1 -1
- package/node/components/toolbar/GridToolbarExport.js +14 -19
- package/node/components/toolbar/GridToolbarQuickFilter.js +111 -0
- package/node/components/toolbar/index.js +42 -11
- package/node/components/virtualization/GridVirtualScroller.js +2 -0
- package/node/components/virtualization/GridVirtualScrollerContent.js +1 -3
- package/node/constants/defaultGridSlotsComponents.js +2 -1
- package/node/constants/gridClasses.js +1 -1
- package/node/constants/gridDetailPanelToggleField.js +9 -0
- package/node/constants/localeTextConstants.js +8 -1
- package/node/hooks/core/pipeProcessing/index.js +13 -0
- package/node/hooks/core/pipeProcessing/useGridPipeProcessing.js +51 -20
- package/node/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +42 -0
- package/node/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -3
- package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +6 -8
- package/node/hooks/core/useGridApiInitialization.js +3 -4
- package/node/hooks/core/useGridErrorHandler.js +1 -3
- package/node/hooks/core/useGridStateInitialization.js +1 -3
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +85 -17
- package/node/hooks/features/columnMenu/useGridColumnMenu.js +3 -4
- package/node/hooks/features/columns/gridColumnsUtils.js +65 -9
- package/node/hooks/features/columns/useGridColumnSpanning.js +128 -0
- package/node/hooks/features/columns/useGridColumns.js +29 -25
- package/node/hooks/features/dimensions/useGridDimensions.js +10 -12
- package/node/hooks/features/editRows/useGridCellEditing.new.js +151 -42
- package/node/hooks/features/editRows/useGridCellEditing.old.js +20 -22
- package/node/hooks/features/editRows/useGridEditing.new.js +6 -2
- package/node/hooks/features/editRows/useGridEditing.old.js +4 -6
- package/node/hooks/features/editRows/useGridRowEditing.new.js +143 -57
- package/node/hooks/features/editRows/useGridRowEditing.old.js +21 -23
- package/node/hooks/features/events/useGridEvents.js +17 -19
- package/node/hooks/features/export/serializers/csvSerializer.js +5 -5
- package/node/hooks/features/export/useGridCsvExport.js +26 -17
- package/node/hooks/features/export/useGridPrintExport.js +25 -0
- package/node/hooks/features/export/utils.js +19 -2
- package/node/hooks/features/filter/gridFilterState.js +3 -1
- package/node/hooks/features/filter/gridFilterUtils.js +92 -3
- package/node/hooks/features/filter/useGridFilter.js +33 -16
- package/node/hooks/features/focus/useGridFocus.js +48 -43
- package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +44 -13
- package/node/hooks/features/pagination/useGridPage.js +3 -5
- package/node/hooks/features/pagination/useGridPageSize.js +2 -4
- package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +4 -8
- package/node/hooks/features/rows/gridRowsSelector.js +5 -1
- package/node/hooks/features/rows/gridRowsUtils.js +29 -1
- package/node/hooks/features/rows/useGridRows.js +122 -61
- package/node/hooks/features/rows/useGridRowsMeta.js +6 -14
- package/node/hooks/features/rows/useGridRowsPreProcessors.js +2 -0
- package/node/hooks/features/scroll/useGridScroll.js +32 -3
- package/node/hooks/features/selection/useGridSelection.js +16 -12
- package/node/hooks/features/sorting/useGridSorting.js +17 -19
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +73 -33
- package/node/hooks/utils/useGridApiEventHandler.js +22 -10
- package/node/hooks/utils/useGridNativeEventListener.js +1 -3
- package/node/hooks/utils/useGridSelector.js +1 -1
- package/node/index.js +1 -1
- package/node/internals/index.js +47 -3
- package/node/locales/arSD.js +8 -1
- package/node/locales/bgBG.js +8 -1
- package/node/locales/csCZ.js +7 -0
- package/node/locales/daDK.js +8 -1
- package/node/locales/deDE.js +10 -3
- package/node/locales/elGR.js +7 -0
- package/node/locales/esES.js +7 -0
- package/node/locales/faIR.js +8 -1
- package/node/locales/fiFI.js +7 -0
- package/node/locales/frFR.js +7 -0
- package/node/locales/heIL.js +8 -1
- package/node/locales/huHU.js +125 -0
- package/node/locales/index.js +13 -0
- package/node/locales/itIT.js +7 -0
- package/node/locales/jaJP.js +7 -0
- package/node/locales/koKR.js +7 -0
- package/node/locales/nlNL.js +7 -0
- package/node/locales/plPL.js +8 -1
- package/node/locales/ptBR.js +8 -1
- package/node/locales/ruRU.js +7 -0
- package/node/locales/skSK.js +7 -0
- package/node/locales/trTR.js +8 -1
- package/node/locales/ukUA.js +7 -0
- package/node/locales/viVN.js +7 -0
- package/node/locales/zhCN.js +7 -0
- package/node/models/api/gridColumnSpanning.js +5 -0
- package/node/models/events/gridEvents.js +10 -3
- package/node/models/gridColumnSpanning.js +5 -0
- package/node/models/index.js +0 -13
- package/node/utils/createSelector.js +25 -4
- package/node/utils/exportAs.js +1 -1
- package/package.json +4 -4
- package/utils/createSelector.d.ts +2 -1
- package/utils/createSelector.js +20 -2
- package/utils/domUtils.d.ts +2 -2
- package/utils/exportAs.d.ts +2 -2
- package/utils/exportAs.js +1 -1
package/DataGrid/DataGrid.js
CHANGED
|
@@ -58,6 +58,11 @@ DataGridRaw.propTypes = {
|
|
|
58
58
|
*/
|
|
59
59
|
autoPageSize: PropTypes.bool,
|
|
60
60
|
|
|
61
|
+
/**
|
|
62
|
+
* Controls the modes of the cells.
|
|
63
|
+
*/
|
|
64
|
+
cellModesModel: PropTypes.object,
|
|
65
|
+
|
|
61
66
|
/**
|
|
62
67
|
* If `true`, the grid get a first column with a checkbox that allows to select rows.
|
|
63
68
|
* @default false
|
|
@@ -205,7 +210,9 @@ DataGridRaw.propTypes = {
|
|
|
205
210
|
operatorValue: PropTypes.string,
|
|
206
211
|
value: PropTypes.any
|
|
207
212
|
})).isRequired,
|
|
208
|
-
linkOperator: PropTypes.oneOf(['and', 'or'])
|
|
213
|
+
linkOperator: PropTypes.oneOf(['and', 'or']),
|
|
214
|
+
quickFilterLogicOperator: PropTypes.oneOf(['and', 'or']),
|
|
215
|
+
quickFilterValues: PropTypes.array
|
|
209
216
|
}),
|
|
210
217
|
|
|
211
218
|
/**
|
|
@@ -293,6 +300,14 @@ DataGridRaw.propTypes = {
|
|
|
293
300
|
*/
|
|
294
301
|
isRowSelectable: PropTypes.func,
|
|
295
302
|
|
|
303
|
+
/**
|
|
304
|
+
* If `true`, the selection model will retain selected rows that do not exist.
|
|
305
|
+
* Useful when using server side pagination and row selections need to be retained
|
|
306
|
+
* when changing pages.
|
|
307
|
+
* @default false
|
|
308
|
+
*/
|
|
309
|
+
keepNonExistentRowsSelected: PropTypes.bool,
|
|
310
|
+
|
|
296
311
|
/**
|
|
297
312
|
* If `true`, a loading overlay is displayed.
|
|
298
313
|
*/
|
|
@@ -380,6 +395,13 @@ DataGridRaw.propTypes = {
|
|
|
380
395
|
*/
|
|
381
396
|
onCellKeyDown: PropTypes.func,
|
|
382
397
|
|
|
398
|
+
/**
|
|
399
|
+
* Callback fired when the `cellModesModel` prop changes.
|
|
400
|
+
* @param {GridCellModesModel} cellModesModel Object containig which cells are in "edit" mode.
|
|
401
|
+
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
402
|
+
*/
|
|
403
|
+
onCellModesModelChange: PropTypes.func,
|
|
404
|
+
|
|
383
405
|
/**
|
|
384
406
|
* Callback fired when a click event comes from a column header element.
|
|
385
407
|
* @param {GridColumnHeaderParams} params With all properties from [[GridColumnHeaderParams]].
|
|
@@ -458,7 +480,7 @@ DataGridRaw.propTypes = {
|
|
|
458
480
|
* @param {GridEditCellPropsParams} params With all properties from [[GridEditCellPropsParams]].
|
|
459
481
|
* @param {MuiEvent<React.SyntheticEvent>} event The event that caused this prop to be called.
|
|
460
482
|
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
461
|
-
* @deprecated use `preProcessEditCellProps` from the [`GridColDef`](/api/data-grid/grid-col-def/)
|
|
483
|
+
* @deprecated use `preProcessEditCellProps` from the [`GridColDef`](/x/api/data-grid/grid-col-def/)
|
|
462
484
|
*/
|
|
463
485
|
onEditCellPropsChange: PropTypes.func,
|
|
464
486
|
|
|
@@ -566,6 +588,13 @@ DataGridRaw.propTypes = {
|
|
|
566
588
|
*/
|
|
567
589
|
onRowEditStop: PropTypes.func,
|
|
568
590
|
|
|
591
|
+
/**
|
|
592
|
+
* Callback fired when the `rowModesModel` prop changes.
|
|
593
|
+
* @param {GridRowModesModel} rowModesModel Object containig which rows are in "edit" mode.
|
|
594
|
+
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
595
|
+
*/
|
|
596
|
+
onRowModesModelChange: PropTypes.func,
|
|
597
|
+
|
|
569
598
|
/**
|
|
570
599
|
* Callback fired when the selection state of one or multiple rows changes.
|
|
571
600
|
* @param {GridSelectionModel} selectionModel With all the row ids [[GridSelectionModel]].
|
|
@@ -651,6 +680,11 @@ DataGridRaw.propTypes = {
|
|
|
651
680
|
*/
|
|
652
681
|
rowHeight: PropTypes.number,
|
|
653
682
|
|
|
683
|
+
/**
|
|
684
|
+
* Controls the modes of the rows.
|
|
685
|
+
*/
|
|
686
|
+
rowModesModel: PropTypes.object,
|
|
687
|
+
|
|
654
688
|
/**
|
|
655
689
|
* Set of rows of type [[GridRowsProp]].
|
|
656
690
|
*/
|
|
@@ -24,6 +24,7 @@ import { useGridEvents } from '../hooks/features/events/useGridEvents';
|
|
|
24
24
|
import { useGridDimensions } from '../hooks/features/dimensions/useGridDimensions';
|
|
25
25
|
import { rowsMetaStateInitializer, useGridRowsMeta } from '../hooks/features/rows/useGridRowsMeta';
|
|
26
26
|
import { useGridStatePersistence } from '../hooks/features/statePersistence/useGridStatePersistence';
|
|
27
|
+
import { useGridColumnSpanning } from '../hooks/features/columns/useGridColumnSpanning';
|
|
27
28
|
export const useDataGridComponent = props => {
|
|
28
29
|
var _props$experimentalFe, _props$experimentalFe2;
|
|
29
30
|
|
|
@@ -55,12 +56,13 @@ export const useDataGridComponent = props => {
|
|
|
55
56
|
useGridColumns(apiRef, props);
|
|
56
57
|
useGridRows(apiRef, props);
|
|
57
58
|
useGridParamsApi(apiRef);
|
|
59
|
+
useGridColumnSpanning(apiRef);
|
|
58
60
|
const useGridEditing = (_props$experimentalFe2 = props.experimentalFeatures) != null && _props$experimentalFe2.newEditingApi ? useGridEditing_new : useGridEditing_old;
|
|
59
61
|
useGridEditing(apiRef, props);
|
|
60
62
|
useGridFocus(apiRef, props);
|
|
61
|
-
useGridSorting(apiRef, props);
|
|
62
63
|
useGridPreferencesPanel(apiRef);
|
|
63
64
|
useGridFilter(apiRef, props);
|
|
65
|
+
useGridSorting(apiRef, props);
|
|
64
66
|
useGridDensity(apiRef, props);
|
|
65
67
|
useGridPagination(apiRef, props);
|
|
66
68
|
useGridRowsMeta(apiRef, props);
|
|
@@ -61,7 +61,8 @@ export const DATA_GRID_PROPS_DEFAULT_VALUES = {
|
|
|
61
61
|
sortingMode: GridFeatureModeConstant.client,
|
|
62
62
|
throttleRowsMs: 0,
|
|
63
63
|
disableColumnReorder: false,
|
|
64
|
-
disableColumnResize: false
|
|
64
|
+
disableColumnResize: false,
|
|
65
|
+
keepNonExistentRowsSelected: false
|
|
65
66
|
};
|
|
66
67
|
export const useDataGridProps = inProps => {
|
|
67
68
|
if (inProps.pageSize > MAX_PAGE_SIZE) {
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2020 Material-UI SAS
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @mui/x-data-grid
|
|
2
2
|
|
|
3
|
-
This package is the
|
|
3
|
+
This package is the Community Plan edition of the data grid component.
|
|
4
4
|
It's part of MUI X, an open core extension of MUI, with advanced components.
|
|
5
5
|
|
|
6
6
|
## Installation
|
|
@@ -15,15 +15,17 @@ npm install @mui/x-data-grid
|
|
|
15
15
|
yarn add @mui/x-data-grid
|
|
16
16
|
```
|
|
17
17
|
|
|
18
|
-
This component has
|
|
18
|
+
This component has the following peer dependencies that you will need to install as well.
|
|
19
19
|
|
|
20
20
|
```json
|
|
21
21
|
"peerDependencies": {
|
|
22
|
-
"@mui/material": "^5.
|
|
23
|
-
"
|
|
22
|
+
"@mui/material": "^5.2.8",
|
|
23
|
+
"@mui/system": "^5.2.8",
|
|
24
|
+
"react": "^17.0.2 || ^18.0.0",
|
|
25
|
+
"react-dom": "^17.0.2 || ^18.0.0"
|
|
24
26
|
},
|
|
25
27
|
```
|
|
26
28
|
|
|
27
29
|
## Documentation
|
|
28
30
|
|
|
29
|
-
[The documentation](https://mui.com/
|
|
31
|
+
[The documentation](https://mui.com/x/react-data-grid/)
|
|
@@ -20,5 +20,6 @@ export const GRID_BOOLEAN_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
|
|
|
20
20
|
renderEditCell: renderEditBooleanCell,
|
|
21
21
|
sortComparator: gridNumberComparator,
|
|
22
22
|
valueFormatter: gridBooleanFormatter,
|
|
23
|
-
filterOperators: getGridBooleanOperators()
|
|
23
|
+
filterOperators: getGridBooleanOperators(),
|
|
24
|
+
getApplyQuickFilterFn: undefined
|
|
24
25
|
});
|
|
@@ -15,6 +15,7 @@ export const GRID_CHECKBOX_SELECTION_COL_DEF = _extends({}, GRID_BOOLEAN_COL_DEF
|
|
|
15
15
|
disableColumnMenu: true,
|
|
16
16
|
disableReorder: true,
|
|
17
17
|
disableExport: true,
|
|
18
|
+
getApplyQuickFilterFn: undefined,
|
|
18
19
|
valueGetter: params => {
|
|
19
20
|
const selectionLookup = selectedIdsLookupSelector(params.api.state, params.api.instanceId);
|
|
20
21
|
return selectionLookup[params.id] !== undefined;
|
package/colDef/gridDateColDef.js
CHANGED
|
@@ -26,12 +26,14 @@ export const GRID_DATE_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
|
|
|
26
26
|
sortComparator: gridDateComparator,
|
|
27
27
|
valueFormatter: gridDateFormatter,
|
|
28
28
|
filterOperators: getGridDateOperators(),
|
|
29
|
-
renderEditCell: renderEditDateCell
|
|
29
|
+
renderEditCell: renderEditDateCell,
|
|
30
|
+
getApplyQuickFilterFn: undefined
|
|
30
31
|
});
|
|
31
32
|
export const GRID_DATETIME_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
|
|
32
33
|
type: 'dateTime',
|
|
33
34
|
sortComparator: gridDateComparator,
|
|
34
35
|
valueFormatter: gridDateTimeFormatter,
|
|
35
36
|
filterOperators: getGridDateOperators(true),
|
|
36
|
-
renderEditCell: renderEditDateCell
|
|
37
|
+
renderEditCell: renderEditDateCell,
|
|
38
|
+
getApplyQuickFilterFn: undefined
|
|
37
39
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import { gridNumberComparator } from '../hooks/features/sorting/gridSortingUtils';
|
|
3
3
|
import { isNumber } from '../utils/utils';
|
|
4
|
-
import { getGridNumericOperators } from './gridNumericOperators';
|
|
4
|
+
import { getGridNumericOperators, getGridNumericQuickFilterFn } from './gridNumericOperators';
|
|
5
5
|
import { GRID_STRING_COL_DEF } from './gridStringColDef';
|
|
6
6
|
export const GRID_NUMERIC_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
|
|
7
7
|
type: 'number',
|
|
@@ -12,5 +12,6 @@ export const GRID_NUMERIC_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
|
|
|
12
12
|
valueFormatter: ({
|
|
13
13
|
value
|
|
14
14
|
}) => value && isNumber(value) && value.toLocaleString() || value,
|
|
15
|
-
filterOperators: getGridNumericOperators()
|
|
15
|
+
filterOperators: getGridNumericOperators(),
|
|
16
|
+
getApplyQuickFilterFn: getGridNumericQuickFilterFn
|
|
16
17
|
});
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { GridFilterOperator } from '../models/gridFilterOperator';
|
|
2
|
+
import { GridCellParams } from '../models';
|
|
3
|
+
export declare const getGridNumericQuickFilterFn: (value: any) => (({ value: columnValue }: GridCellParams) => boolean) | null;
|
|
2
4
|
export declare const getGridNumericOperators: () => GridFilterOperator<any, number | string | null, any>[];
|
|
3
5
|
/**
|
|
4
6
|
* @deprecated Use `getGridNumericOperators` instead.
|
|
@@ -10,6 +10,17 @@ const parseNumericValue = value => {
|
|
|
10
10
|
return Number(value);
|
|
11
11
|
};
|
|
12
12
|
|
|
13
|
+
export const getGridNumericQuickFilterFn = value => {
|
|
14
|
+
if (value == null || Number.isNaN(value) || value === '') {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return ({
|
|
19
|
+
value: columnValue
|
|
20
|
+
}) => {
|
|
21
|
+
return parseNumericValue(columnValue) === parseNumericValue(value);
|
|
22
|
+
};
|
|
23
|
+
};
|
|
13
24
|
export const getGridNumericOperators = () => [{
|
|
14
25
|
label: '=',
|
|
15
26
|
value: '=',
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import { GRID_STRING_COL_DEF } from './gridStringColDef';
|
|
3
3
|
import { renderEditSingleSelectCell } from '../components/cell/GridEditSingleSelectCell';
|
|
4
|
-
import { getGridSingleSelectOperators } from './gridSingleSelectOperators';
|
|
4
|
+
import { getGridSingleSelectOperators, getGridSingleSelectQuickFilterFn } from './gridSingleSelectOperators';
|
|
5
5
|
export const GRID_SINGLE_SELECT_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
|
|
6
6
|
type: 'singleSelect',
|
|
7
7
|
renderEditCell: renderEditSingleSelectCell,
|
|
8
|
-
filterOperators: getGridSingleSelectOperators()
|
|
8
|
+
filterOperators: getGridSingleSelectOperators(),
|
|
9
|
+
getApplyQuickFilterFn: getGridSingleSelectQuickFilterFn
|
|
9
10
|
});
|
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
import { GridFilterOperator } from '../models/gridFilterOperator';
|
|
2
|
+
import { GridCellParams, GridColDef } from '../models';
|
|
3
|
+
import { GridApiCommunity } from '../models/api/gridApiCommunity';
|
|
4
|
+
export declare const getGridSingleSelectQuickFilterFn: (value: any, column: GridColDef, apiRef: React.MutableRefObject<GridApiCommunity>) => (({ value: columnValue }: GridCellParams) => boolean) | null;
|
|
2
5
|
export declare const getGridSingleSelectOperators: () => GridFilterOperator[];
|
|
@@ -9,6 +9,58 @@ const parseObjectValue = value => {
|
|
|
9
9
|
return value.value;
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
+
export const getGridSingleSelectQuickFilterFn = (value, column, apiRef) => {
|
|
13
|
+
if (!value) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const {
|
|
18
|
+
valueOptions,
|
|
19
|
+
valueFormatter,
|
|
20
|
+
field
|
|
21
|
+
} = column;
|
|
22
|
+
const potentialValues = [parseObjectValue(value).toString()];
|
|
23
|
+
const iterableColumnValues = typeof valueOptions === 'function' ? valueOptions({
|
|
24
|
+
field
|
|
25
|
+
}) : valueOptions || [];
|
|
26
|
+
|
|
27
|
+
if (iterableColumnValues) {
|
|
28
|
+
iterableColumnValues.forEach(option => {
|
|
29
|
+
// for each valueOption, check if the formatted value
|
|
30
|
+
let optionValue;
|
|
31
|
+
let optionLabel;
|
|
32
|
+
|
|
33
|
+
if (typeof option === 'object') {
|
|
34
|
+
optionValue = option.value;
|
|
35
|
+
optionLabel = option.label;
|
|
36
|
+
} else {
|
|
37
|
+
optionValue = option;
|
|
38
|
+
|
|
39
|
+
if (valueFormatter) {
|
|
40
|
+
optionLabel = valueFormatter({
|
|
41
|
+
value: option,
|
|
42
|
+
field,
|
|
43
|
+
api: apiRef.current
|
|
44
|
+
});
|
|
45
|
+
} else {
|
|
46
|
+
optionLabel = option;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (optionLabel.slice(0, value.length).toLowerCase() === value.toLowerCase()) {
|
|
51
|
+
if (!potentialValues.includes(optionValue)) {
|
|
52
|
+
potentialValues.push(optionValue.toString());
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return ({
|
|
59
|
+
value: columnValue
|
|
60
|
+
}) => {
|
|
61
|
+
return columnValue != null ? potentialValues.includes(parseObjectValue(columnValue).toString()) : false;
|
|
62
|
+
};
|
|
63
|
+
};
|
|
12
64
|
export const getGridSingleSelectOperators = () => [{
|
|
13
65
|
value: 'is',
|
|
14
66
|
getApplyFilterFn: filterItem => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { renderEditInputCell } from '../components/cell/GridEditInputCell';
|
|
2
2
|
import { gridStringOrNumberComparator } from '../hooks/features/sorting/gridSortingUtils';
|
|
3
|
-
import { getGridStringOperators } from './gridStringOperators';
|
|
3
|
+
import { getGridStringOperators, getGridStringQuickFilterFn } from './gridStringOperators';
|
|
4
4
|
export const GRID_STRING_COL_DEF = {
|
|
5
5
|
width: 100,
|
|
6
6
|
minWidth: 50,
|
|
@@ -17,5 +17,6 @@ export const GRID_STRING_COL_DEF = {
|
|
|
17
17
|
type: 'string',
|
|
18
18
|
align: 'left',
|
|
19
19
|
filterOperators: getGridStringOperators(),
|
|
20
|
-
renderEditCell: renderEditInputCell
|
|
20
|
+
renderEditCell: renderEditInputCell,
|
|
21
|
+
getApplyQuickFilterFn: getGridStringQuickFilterFn
|
|
21
22
|
};
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import { GridFilterOperator } from '../models/gridFilterOperator';
|
|
2
|
+
import { GridCellParams } from '../models';
|
|
3
|
+
export declare const getGridStringQuickFilterFn: (value: any) => (({ value: columnValue }: GridCellParams) => boolean) | null;
|
|
2
4
|
export declare const getGridStringOperators: () => GridFilterOperator<any, number | string | null, any>[];
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
import { GridFilterInputValue } from '../components/panel/filterPanel/GridFilterInputValue';
|
|
2
2
|
import { escapeRegExp } from '../utils/utils';
|
|
3
3
|
import { GridFilterInputMultipleValue } from '../components/panel/filterPanel/GridFilterInputMultipleValue';
|
|
4
|
+
export const getGridStringQuickFilterFn = value => {
|
|
5
|
+
if (!value) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const filterRegex = new RegExp(escapeRegExp(value), 'i');
|
|
10
|
+
return ({
|
|
11
|
+
value: columnValue
|
|
12
|
+
}) => {
|
|
13
|
+
return columnValue != null ? filterRegex.test(columnValue.toString()) : false;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
4
16
|
export const getGridStringOperators = () => [{
|
|
5
17
|
value: 'contains',
|
|
6
18
|
getApplyFilterFn: filterItem => {
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
declare const GridFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
|
|
3
|
+
sx?: import("@mui/system").SxProps<import("@mui/material").Theme> | undefined;
|
|
4
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
export { GridFooter };
|
package/components/GridFooter.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
3
4
|
import { useGridSelector } from '../hooks/utils/useGridSelector';
|
|
4
5
|
import { gridTopLevelRowCountSelector } from '../hooks/features/rows/gridRowsSelector';
|
|
5
6
|
import { selectedGridRowsCountSelector } from '../hooks/features/selection/gridSelectionSelector';
|
|
@@ -11,7 +12,7 @@ import { GridFooterContainer } from './containers/GridFooterContainer';
|
|
|
11
12
|
import { useGridRootProps } from '../hooks/utils/useGridRootProps';
|
|
12
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
14
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
-
|
|
15
|
+
const GridFooter = /*#__PURE__*/React.forwardRef(function GridFooter(props, ref) {
|
|
15
16
|
var _rootProps$components;
|
|
16
17
|
|
|
17
18
|
const apiRef = useGridApiContext();
|
|
@@ -34,4 +35,12 @@ export const GridFooter = /*#__PURE__*/React.forwardRef(function GridFooter(prop
|
|
|
34
35
|
}, props, {
|
|
35
36
|
children: [selectedRowCountElement, rowCountElement, paginationElement]
|
|
36
37
|
}));
|
|
37
|
-
});
|
|
38
|
+
});
|
|
39
|
+
process.env.NODE_ENV !== "production" ? GridFooter.propTypes = {
|
|
40
|
+
// ----------------------------- Warning --------------------------------
|
|
41
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
42
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
43
|
+
// ----------------------------------------------------------------------
|
|
44
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
|
|
45
|
+
} : void 0;
|
|
46
|
+
export { GridFooter };
|
package/components/GridRow.d.ts
CHANGED
|
@@ -6,6 +6,10 @@ import { GridCellIdentifier } from '../hooks/features/focus/gridFocusState';
|
|
|
6
6
|
export interface GridRowProps {
|
|
7
7
|
rowId: GridRowId;
|
|
8
8
|
selected: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Index of the row in the whole sorted and filtered dataset.
|
|
11
|
+
* If some rows above have expanded children, this index also take those children into account.
|
|
12
|
+
*/
|
|
9
13
|
index: number;
|
|
10
14
|
rowHeight: number;
|
|
11
15
|
containerWidth: number;
|
package/components/GridRow.js
CHANGED
|
@@ -9,7 +9,6 @@ import * as React from 'react';
|
|
|
9
9
|
import PropTypes from 'prop-types';
|
|
10
10
|
import clsx from 'clsx';
|
|
11
11
|
import { unstable_composeClasses as composeClasses } from '@mui/material';
|
|
12
|
-
import { GridEvents } from '../models/events';
|
|
13
12
|
import { GridEditModes, GridRowModes, GridCellModes } from '../models/gridEditRowModel';
|
|
14
13
|
import { useGridApiContext } from '../hooks/utils/useGridApiContext';
|
|
15
14
|
import { getDataGridUtilityClass, gridClasses } from '../constants/gridClasses';
|
|
@@ -20,6 +19,7 @@ import { useGridVisibleRows } from '../hooks/utils/useGridVisibleRows';
|
|
|
20
19
|
import { findParentElementFromClassName } from '../utils/domUtils';
|
|
21
20
|
import { GRID_CHECKBOX_SELECTION_COL_DEF } from '../colDef/gridCheckboxSelectionColDef';
|
|
22
21
|
import { GRID_ACTIONS_COLUMN_TYPE } from '../colDef/gridActionsColDef';
|
|
22
|
+
import { GRID_DETAIL_PANEL_TOGGLE_FIELD } from '../constants/gridDetailPanelToggleField';
|
|
23
23
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
24
24
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
25
25
|
|
|
@@ -61,6 +61,7 @@ function GridRow(props) {
|
|
|
61
61
|
const {
|
|
62
62
|
selected,
|
|
63
63
|
rowId,
|
|
64
|
+
row,
|
|
64
65
|
index,
|
|
65
66
|
style: styleProp,
|
|
66
67
|
rowHeight,
|
|
@@ -132,7 +133,12 @@ function GridRow(props) {
|
|
|
132
133
|
} // User opened a detail panel
|
|
133
134
|
|
|
134
135
|
|
|
135
|
-
if (field ===
|
|
136
|
+
if (field === GRID_DETAIL_PANEL_TOGGLE_FIELD) {
|
|
137
|
+
return;
|
|
138
|
+
} // User reorders a row
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
if (field === '__reorder__') {
|
|
136
142
|
return;
|
|
137
143
|
} // User is editing a cell
|
|
138
144
|
|
|
@@ -149,7 +155,7 @@ function GridRow(props) {
|
|
|
149
155
|
}
|
|
150
156
|
}
|
|
151
157
|
|
|
152
|
-
publish(
|
|
158
|
+
publish('rowClick', onClick)(event);
|
|
153
159
|
}, [apiRef, onClick, publish, rowId]);
|
|
154
160
|
|
|
155
161
|
const style = _extends({}, styleProp, {
|
|
@@ -176,7 +182,8 @@ function GridRow(props) {
|
|
|
176
182
|
|
|
177
183
|
const rowParams = _extends({}, apiRef.current.getRowParams(rowId), {
|
|
178
184
|
isFirstVisible: indexRelativeToCurrentPage === 0,
|
|
179
|
-
isLastVisible: indexRelativeToCurrentPage === currentPage.rows.length - 1
|
|
185
|
+
isLastVisible: indexRelativeToCurrentPage === currentPage.rows.length - 1,
|
|
186
|
+
indexRelativeToCurrentPage
|
|
180
187
|
});
|
|
181
188
|
|
|
182
189
|
rowClassName = rootProps.getRowClassName(rowParams);
|
|
@@ -185,8 +192,6 @@ function GridRow(props) {
|
|
|
185
192
|
const cells = [];
|
|
186
193
|
|
|
187
194
|
for (let i = 0; i < renderedColumns.length; i += 1) {
|
|
188
|
-
var _rootProps$components;
|
|
189
|
-
|
|
190
195
|
const column = renderedColumns[i];
|
|
191
196
|
const indexRelativeToAllColumns = firstColumnToRender + i;
|
|
192
197
|
const isLastColumn = indexRelativeToAllColumns === visibleColumns.length - 1;
|
|
@@ -215,7 +220,16 @@ function GridRow(props) {
|
|
|
215
220
|
if (editCellState != null && column.renderEditCell) {
|
|
216
221
|
var _rootProps$classes2;
|
|
217
222
|
|
|
218
|
-
|
|
223
|
+
let updatedRow = row;
|
|
224
|
+
|
|
225
|
+
if (apiRef.current.unstable_getRowWithUpdatedValues) {
|
|
226
|
+
// Only the new editing API has this method
|
|
227
|
+
updatedRow = apiRef.current.unstable_getRowWithUpdatedValues(rowId, column.field);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
const params = _extends({}, cellParams, {
|
|
231
|
+
row: updatedRow
|
|
232
|
+
}, editCellState, {
|
|
219
233
|
api: apiRef.current
|
|
220
234
|
});
|
|
221
235
|
|
|
@@ -231,24 +245,35 @@ function GridRow(props) {
|
|
|
231
245
|
|
|
232
246
|
const hasFocus = cellFocus !== null && cellFocus.id === rowId && cellFocus.field === column.field;
|
|
233
247
|
const tabIndex = cellTabIndex !== null && cellTabIndex.id === rowId && cellTabIndex.field === column.field && cellParams.cellMode === 'view' ? 0 : -1;
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
248
|
+
const cellColSpanInfo = apiRef.current.unstable_getCellColSpanInfo(rowId, indexRelativeToAllColumns);
|
|
249
|
+
|
|
250
|
+
if (cellColSpanInfo && !cellColSpanInfo.spannedByColSpan) {
|
|
251
|
+
var _rootProps$components;
|
|
252
|
+
|
|
253
|
+
const {
|
|
254
|
+
colSpan,
|
|
255
|
+
width
|
|
256
|
+
} = cellColSpanInfo.cellProps;
|
|
257
|
+
cells.push( /*#__PURE__*/_jsx(rootProps.components.Cell, _extends({
|
|
258
|
+
value: cellParams.value,
|
|
259
|
+
field: column.field,
|
|
260
|
+
width: width,
|
|
261
|
+
rowId: rowId,
|
|
262
|
+
height: rowHeight,
|
|
263
|
+
showRightBorder: showRightBorder,
|
|
264
|
+
formattedValue: cellParams.formattedValue,
|
|
265
|
+
align: column.align || 'left',
|
|
266
|
+
cellMode: cellParams.cellMode,
|
|
267
|
+
colIndex: indexRelativeToAllColumns,
|
|
268
|
+
isEditable: cellParams.isEditable,
|
|
269
|
+
hasFocus: hasFocus,
|
|
270
|
+
tabIndex: tabIndex,
|
|
271
|
+
className: clsx(classNames),
|
|
272
|
+
colSpan: colSpan
|
|
273
|
+
}, (_rootProps$components = rootProps.componentsProps) == null ? void 0 : _rootProps$components.cell, {
|
|
274
|
+
children: content
|
|
275
|
+
}), column.field));
|
|
276
|
+
}
|
|
252
277
|
}
|
|
253
278
|
|
|
254
279
|
const emptyCellWidth = containerWidth - columnsTotalWidth;
|
|
@@ -261,9 +286,9 @@ function GridRow(props) {
|
|
|
261
286
|
"aria-selected": selected,
|
|
262
287
|
style: style,
|
|
263
288
|
onClick: publishClick,
|
|
264
|
-
onDoubleClick: publish(
|
|
265
|
-
onMouseEnter: publish(
|
|
266
|
-
onMouseLeave: publish(
|
|
289
|
+
onDoubleClick: publish('rowDoubleClick', onDoubleClick),
|
|
290
|
+
onMouseEnter: publish('rowMouseEnter', onMouseEnter),
|
|
291
|
+
onMouseLeave: publish('rowMouseLeave', onMouseLeave)
|
|
267
292
|
}, other, {
|
|
268
293
|
children: [cells, emptyCellWidth > 0 && /*#__PURE__*/_jsx(EmptyCell, {
|
|
269
294
|
width: emptyCellWidth,
|
|
@@ -282,6 +307,11 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
|
|
|
282
307
|
containerWidth: PropTypes.number.isRequired,
|
|
283
308
|
editRowsState: PropTypes.object.isRequired,
|
|
284
309
|
firstColumnToRender: PropTypes.number.isRequired,
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Index of the row in the whole sorted and filtered dataset.
|
|
313
|
+
* If some rows above have expanded children, this index also take those children into account.
|
|
314
|
+
*/
|
|
285
315
|
index: PropTypes.number.isRequired,
|
|
286
316
|
isLastVisible: PropTypes.bool,
|
|
287
317
|
lastColumnToRender: PropTypes.number.isRequired,
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { SxProps, Theme } from '@mui/material/styles';
|
|
2
3
|
interface RowCountProps {
|
|
3
4
|
rowCount: number;
|
|
4
5
|
visibleRowCount: number;
|
|
5
6
|
}
|
|
6
|
-
declare const GridRowCount: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & RowCountProps &
|
|
7
|
+
declare const GridRowCount: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & RowCountProps & {
|
|
8
|
+
sx?: SxProps<Theme> | undefined;
|
|
9
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
7
10
|
export { GridRowCount };
|
|
@@ -65,6 +65,7 @@ process.env.NODE_ENV !== "production" ? GridRowCount.propTypes = {
|
|
|
65
65
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
66
66
|
// ----------------------------------------------------------------------
|
|
67
67
|
rowCount: PropTypes.number.isRequired,
|
|
68
|
+
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
68
69
|
visibleRowCount: PropTypes.number.isRequired
|
|
69
70
|
} : void 0;
|
|
70
71
|
export { GridRowCount };
|
|
@@ -4,7 +4,6 @@ import PropTypes from 'prop-types';
|
|
|
4
4
|
import clsx from 'clsx';
|
|
5
5
|
import { unstable_composeClasses as composeClasses } from '@mui/material';
|
|
6
6
|
import { styled } from '@mui/material/styles';
|
|
7
|
-
import { GridEvents } from '../models/events';
|
|
8
7
|
import { useGridApiEventHandler } from '../hooks/utils/useGridApiEventHandler';
|
|
9
8
|
import { useGridApiContext } from '../hooks/utils/useGridApiContext';
|
|
10
9
|
import { getDataGridUtilityClass, gridClasses } from '../constants/gridClasses';
|
|
@@ -100,9 +99,9 @@ function GridScrollAreaRaw(props) {
|
|
|
100
99
|
const toggleDragging = React.useCallback(() => {
|
|
101
100
|
setDragging(prevDragging => !prevDragging);
|
|
102
101
|
}, []);
|
|
103
|
-
useGridApiEventHandler(apiRef,
|
|
104
|
-
useGridApiEventHandler(apiRef,
|
|
105
|
-
useGridApiEventHandler(apiRef,
|
|
102
|
+
useGridApiEventHandler(apiRef, 'rowsScroll', handleScrolling);
|
|
103
|
+
useGridApiEventHandler(apiRef, 'columnHeaderDragStart', toggleDragging);
|
|
104
|
+
useGridApiEventHandler(apiRef, 'columnHeaderDragEnd', toggleDragging);
|
|
106
105
|
return dragging ? /*#__PURE__*/_jsx(GridScrollAreaRawRoot, {
|
|
107
106
|
ref: rootRef,
|
|
108
107
|
className: clsx(classes.root),
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { SxProps, Theme } from '@mui/material/styles';
|
|
2
3
|
interface SelectedRowCountProps {
|
|
3
4
|
selectedRowCount: number;
|
|
4
5
|
}
|
|
5
|
-
declare const GridSelectedRowCount: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & SelectedRowCountProps &
|
|
6
|
+
declare const GridSelectedRowCount: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & SelectedRowCountProps & {
|
|
7
|
+
sx?: SxProps<Theme> | undefined;
|
|
8
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
6
9
|
export { GridSelectedRowCount };
|