@mui/x-data-grid 7.0.0-alpha.7 → 7.0.0-alpha.9
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 +554 -51
- package/DataGrid/DataGrid.js +15 -27
- package/DataGrid/useDataGridComponent.js +2 -1
- package/DataGrid/useDataGridProps.js +1 -0
- package/README.md +1 -1
- package/colDef/gridDateColDef.js +1 -1
- package/components/GridColumnHeaders.d.ts +3 -2
- package/components/GridColumnHeaders.js +3 -11
- package/components/GridDetailPanels.d.ts +5 -0
- package/components/GridDetailPanels.js +4 -0
- package/components/GridHeaders.d.ts +4 -0
- package/components/GridHeaders.js +53 -0
- package/components/GridPagination.d.ts +4 -4
- package/components/GridPagination.js +1 -1
- package/components/GridPinnedRows.d.ts +7 -0
- package/components/GridPinnedRows.js +4 -0
- package/components/GridRow.d.ts +7 -4
- package/components/GridRow.js +260 -97
- package/components/GridScrollbarFillerCell.d.ts +7 -0
- package/components/GridScrollbarFillerCell.js +39 -0
- package/components/base/GridBody.d.ts +2 -13
- package/components/base/GridBody.js +2 -116
- package/components/base/GridOverlays.js +10 -21
- package/components/cell/GridActionsCell.js +1 -1
- package/components/cell/GridActionsCellItem.d.ts +6 -6
- package/components/cell/GridCell.d.ts +15 -21
- package/components/cell/GridCell.js +68 -373
- package/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
- package/components/columnHeaders/GridColumnHeaderItem.d.ts +2 -1
- package/components/columnHeaders/GridColumnHeaderItem.js +7 -3
- package/components/columnHeaders/GridColumnHeaderSortIcon.d.ts +1 -0
- package/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
- package/components/columnHeaders/GridColumnHeadersInner.js +1 -2
- package/components/containers/GridRoot.js +18 -15
- package/components/containers/GridRootStyles.js +307 -204
- package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
- package/components/panel/GridPanel.d.ts +3 -3
- package/components/panel/GridPanel.js +3 -4
- package/components/panel/filterPanel/GridFilterForm.d.ts +6 -4
- package/components/panel/filterPanel/GridFilterForm.js +32 -15
- package/components/panel/filterPanel/GridFilterPanel.js +46 -20
- package/components/toolbar/GridToolbarColumnsButton.d.ts +13 -1
- package/components/toolbar/GridToolbarColumnsButton.js +40 -22
- package/components/toolbar/GridToolbarDensitySelector.d.ts +13 -1
- package/components/toolbar/GridToolbarDensitySelector.js +40 -22
- package/components/toolbar/GridToolbarExport.d.ts +10 -1
- package/components/toolbar/GridToolbarExport.js +6 -1
- package/components/toolbar/GridToolbarExportContainer.d.ts +15 -1
- package/components/toolbar/GridToolbarExportContainer.js +41 -23
- package/components/toolbar/GridToolbarFilterButton.d.ts +5 -4
- package/components/toolbar/GridToolbarFilterButton.js +6 -10
- package/components/toolbar/GridToolbarQuickFilter.d.ts +4 -0
- package/components/toolbar/GridToolbarQuickFilter.js +4 -0
- package/components/virtualization/GridBottomContainer.d.ts +2 -0
- package/components/virtualization/GridBottomContainer.js +25 -0
- package/components/{containers → virtualization}/GridMainContainer.d.ts +2 -0
- package/components/virtualization/GridMainContainer.js +20 -0
- package/components/virtualization/GridTopContainer.d.ts +2 -0
- package/components/virtualization/GridTopContainer.js +35 -0
- package/components/virtualization/GridVirtualScrollbar.d.ts +7 -0
- package/components/virtualization/GridVirtualScrollbar.js +131 -0
- package/components/virtualization/GridVirtualScroller.d.ts +4 -4
- package/components/virtualization/GridVirtualScroller.js +69 -16
- package/components/virtualization/GridVirtualScrollerFiller.d.ts +4 -0
- package/components/virtualization/GridVirtualScrollerFiller.js +71 -0
- package/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
- package/constants/defaultGridSlotsComponents.js +6 -2
- package/constants/gridClasses.d.ts +60 -8
- package/constants/gridClasses.js +1 -1
- package/hooks/core/gridCoreSelector.d.ts +6 -0
- package/hooks/core/gridCoreSelector.js +5 -0
- package/hooks/core/useGridInitialization.js +4 -0
- package/hooks/core/useGridLoggerFactory.js +2 -2
- package/hooks/core/useGridRefs.d.ts +3 -0
- package/hooks/core/useGridRefs.js +13 -0
- package/hooks/core/useGridTheme.d.ts +3 -0
- package/hooks/core/useGridTheme.js +19 -0
- package/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
- package/hooks/features/columnGrouping/useGridColumnGrouping.d.ts +1 -1
- package/hooks/features/columnGrouping/useGridColumnGrouping.js +13 -18
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +13 -18
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +68 -162
- package/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
- package/hooks/features/columns/gridColumnsInterfaces.d.ts +17 -0
- package/hooks/features/columns/gridColumnsInterfaces.js +9 -1
- package/hooks/features/columns/gridColumnsSelector.d.ts +14 -1
- package/hooks/features/columns/gridColumnsSelector.js +52 -0
- package/hooks/features/columns/gridColumnsUtils.d.ts +1 -5
- package/hooks/features/columns/gridColumnsUtils.js +10 -12
- package/hooks/features/columns/index.d.ts +2 -2
- package/hooks/features/columns/index.js +2 -1
- package/hooks/features/columns/useGridColumnSpanning.js +62 -61
- package/hooks/features/columns/useGridColumns.js +20 -23
- package/hooks/features/dimensions/gridDimensionsApi.d.ts +60 -11
- package/hooks/features/dimensions/gridDimensionsSelectors.d.ts +2 -0
- package/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
- package/hooks/features/dimensions/index.d.ts +2 -0
- package/hooks/features/dimensions/index.js +1 -0
- package/hooks/features/dimensions/useGridDimensions.d.ts +7 -1
- package/hooks/features/dimensions/useGridDimensions.js +216 -148
- package/hooks/features/editing/useGridCellEditing.js +4 -4
- package/hooks/features/editing/useGridRowEditing.js +4 -4
- package/hooks/features/export/serializers/csvSerializer.js +3 -3
- package/hooks/features/export/useGridPrintExport.js +1 -1
- package/hooks/features/filter/gridFilterUtils.js +5 -5
- package/hooks/features/filter/useGridFilter.js +3 -3
- package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -2
- package/hooks/features/focus/gridFocusStateSelector.js +2 -6
- package/hooks/features/focus/useGridFocus.js +3 -3
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
- package/hooks/features/pagination/gridPaginationUtils.js +2 -2
- package/hooks/features/pagination/useGridPagination.js +3 -5
- package/hooks/features/rowSelection/useGridRowSelection.js +1 -1
- package/hooks/features/rows/gridRowsInterfaces.d.ts +1 -0
- package/hooks/features/rows/gridRowsSelector.d.ts +2 -2
- package/hooks/features/rows/gridRowsSelector.js +5 -5
- package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
- package/hooks/features/rows/gridRowsUtils.js +6 -6
- package/hooks/features/rows/useGridRows.js +7 -7
- package/hooks/features/rows/useGridRowsMeta.js +9 -6
- package/hooks/features/scroll/useGridScroll.js +8 -10
- package/hooks/features/sorting/gridSortingUtils.js +5 -3
- package/hooks/features/sorting/useGridSorting.d.ts +1 -1
- package/hooks/features/sorting/useGridSorting.js +15 -10
- package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +14 -0
- package/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +27 -42
- package/hooks/features/virtualization/useGridVirtualScroller.js +441 -438
- package/hooks/features/virtualization/useGridVirtualization.d.ts +8 -0
- package/hooks/features/virtualization/useGridVirtualization.js +8 -1
- package/hooks/utils/index.d.ts +3 -0
- package/hooks/utils/index.js +4 -1
- package/hooks/utils/useGridApiContext.js +1 -1
- package/hooks/utils/useGridAriaAttributes.js +1 -2
- package/hooks/utils/useGridNativeEventListener.js +4 -9
- package/hooks/utils/useGridPrivateApiContext.js +1 -1
- package/hooks/utils/useGridRootProps.js +1 -1
- package/hooks/utils/useGridSelector.js +1 -1
- package/hooks/utils/useResizeObserver.d.ts +2 -0
- package/hooks/utils/useResizeObserver.js +36 -0
- package/hooks/utils/useRunOnce.d.ts +5 -0
- package/hooks/utils/useRunOnce.js +18 -0
- package/index.d.ts +0 -1
- package/index.js +1 -2
- package/internals/index.d.ts +13 -9
- package/internals/index.js +9 -7
- package/internals/utils/index.d.ts +1 -0
- package/internals/utils/index.js +2 -1
- package/internals/utils/propValidation.d.ts +4 -0
- package/internals/utils/propValidation.js +19 -0
- package/legacy/DataGrid/DataGrid.js +20 -29
- package/legacy/DataGrid/useDataGridComponent.js +2 -1
- package/legacy/DataGrid/useDataGridProps.js +1 -0
- package/legacy/colDef/gridDateColDef.js +1 -1
- package/legacy/components/GridColumnHeaders.js +3 -11
- package/legacy/components/GridDetailPanels.js +4 -0
- package/legacy/components/GridHeaders.js +53 -0
- package/legacy/components/GridPagination.js +1 -1
- package/legacy/components/GridPinnedRows.js +4 -0
- package/legacy/components/GridRow.js +258 -98
- package/legacy/components/GridScrollbarFillerCell.js +36 -0
- package/legacy/components/base/GridBody.js +2 -114
- package/legacy/components/base/GridOverlays.js +10 -25
- package/legacy/components/cell/GridActionsCell.js +1 -1
- package/legacy/components/cell/GridCell.js +70 -378
- package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
- package/legacy/components/columnHeaders/GridColumnHeaderItem.js +7 -3
- package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
- package/legacy/components/columnHeaders/GridColumnHeadersInner.js +1 -2
- package/legacy/components/containers/GridRoot.js +18 -15
- package/legacy/components/containers/GridRootStyles.js +215 -137
- package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
- package/legacy/components/panel/GridPanel.js +3 -4
- package/legacy/components/panel/filterPanel/GridFilterForm.js +31 -14
- package/legacy/components/panel/filterPanel/GridFilterPanel.js +49 -20
- package/legacy/components/toolbar/GridToolbarColumnsButton.js +40 -21
- package/legacy/components/toolbar/GridToolbarDensitySelector.js +40 -21
- package/legacy/components/toolbar/GridToolbarExport.js +6 -1
- package/legacy/components/toolbar/GridToolbarExportContainer.js +40 -21
- package/legacy/components/toolbar/GridToolbarFilterButton.js +6 -10
- package/legacy/components/toolbar/GridToolbarQuickFilter.js +4 -0
- package/legacy/components/virtualization/GridBottomContainer.js +25 -0
- package/legacy/components/virtualization/GridMainContainer.js +20 -0
- package/legacy/components/virtualization/GridTopContainer.js +35 -0
- package/legacy/components/virtualization/GridVirtualScrollbar.js +129 -0
- package/legacy/components/virtualization/GridVirtualScroller.js +67 -16
- package/legacy/components/virtualization/GridVirtualScrollerFiller.js +70 -0
- package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
- package/legacy/constants/defaultGridSlotsComponents.js +6 -2
- package/legacy/constants/gridClasses.js +1 -1
- package/legacy/hooks/core/gridCoreSelector.js +7 -0
- package/legacy/hooks/core/useGridInitialization.js +4 -0
- package/legacy/hooks/core/useGridLoggerFactory.js +2 -2
- package/legacy/hooks/core/useGridRefs.js +13 -0
- package/legacy/hooks/core/useGridTheme.js +21 -0
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
- package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +13 -18
- package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +69 -181
- package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
- package/legacy/hooks/features/columns/gridColumnsInterfaces.js +9 -1
- package/legacy/hooks/features/columns/gridColumnsSelector.js +62 -0
- package/legacy/hooks/features/columns/gridColumnsUtils.js +10 -16
- package/legacy/hooks/features/columns/index.js +2 -1
- package/legacy/hooks/features/columns/useGridColumnSpanning.js +60 -59
- package/legacy/hooks/features/columns/useGridColumns.js +22 -23
- package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +3 -0
- package/legacy/hooks/features/dimensions/index.js +1 -0
- package/legacy/hooks/features/dimensions/useGridDimensions.js +226 -151
- package/legacy/hooks/features/editing/useGridCellEditing.js +4 -4
- package/legacy/hooks/features/editing/useGridRowEditing.js +4 -4
- package/legacy/hooks/features/export/serializers/csvSerializer.js +3 -3
- package/legacy/hooks/features/export/useGridPrintExport.js +1 -1
- package/legacy/hooks/features/filter/gridFilterUtils.js +5 -5
- package/legacy/hooks/features/filter/useGridFilter.js +3 -3
- package/legacy/hooks/features/focus/gridFocusStateSelector.js +2 -6
- package/legacy/hooks/features/focus/useGridFocus.js +3 -3
- package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
- package/legacy/hooks/features/pagination/gridPaginationUtils.js +2 -2
- package/legacy/hooks/features/pagination/useGridPagination.js +3 -5
- package/legacy/hooks/features/rowSelection/useGridRowSelection.js +1 -1
- package/legacy/hooks/features/rows/gridRowsSelector.js +5 -5
- package/legacy/hooks/features/rows/gridRowsUtils.js +6 -6
- package/legacy/hooks/features/rows/useGridParamsApi.js +4 -5
- package/legacy/hooks/features/rows/useGridRows.js +7 -7
- package/legacy/hooks/features/rows/useGridRowsMeta.js +9 -6
- package/legacy/hooks/features/scroll/useGridScroll.js +8 -10
- package/legacy/hooks/features/sorting/gridSortingUtils.js +5 -3
- package/legacy/hooks/features/sorting/useGridSorting.js +15 -10
- package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +29 -1
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +490 -483
- package/legacy/hooks/features/virtualization/useGridVirtualization.js +8 -1
- package/legacy/hooks/utils/index.js +4 -1
- package/legacy/hooks/utils/useGridApiContext.js +1 -1
- package/legacy/hooks/utils/useGridAriaAttributes.js +1 -2
- package/legacy/hooks/utils/useGridNativeEventListener.js +4 -9
- package/legacy/hooks/utils/useGridPrivateApiContext.js +1 -1
- package/legacy/hooks/utils/useGridRootProps.js +1 -1
- package/legacy/hooks/utils/useGridSelector.js +1 -1
- package/legacy/hooks/utils/useResizeObserver.js +36 -0
- package/legacy/hooks/utils/useRunOnce.js +18 -0
- package/legacy/index.js +1 -2
- package/legacy/internals/index.js +9 -7
- package/legacy/internals/utils/index.js +2 -1
- package/legacy/internals/utils/propValidation.js +21 -0
- package/legacy/locales/hrHR.js +161 -0
- package/legacy/locales/index.js +4 -1
- package/legacy/locales/ptPT.js +161 -0
- package/legacy/locales/zhHK.js +161 -0
- package/legacy/models/index.js +0 -1
- package/legacy/models/params/index.js +1 -2
- package/legacy/utils/createSelector.js +1 -1
- package/legacy/utils/exportAs.js +1 -1
- package/legacy/utils/utils.js +10 -1
- package/locales/hrHR.d.ts +1 -0
- package/locales/hrHR.js +149 -0
- package/locales/index.d.ts +3 -0
- package/locales/index.js +4 -1
- package/locales/ptPT.d.ts +1 -0
- package/locales/ptPT.js +149 -0
- package/locales/zhHK.d.ts +1 -0
- package/locales/zhHK.js +149 -0
- package/models/api/gridColumnGroupingApi.d.ts +2 -2
- package/models/api/gridCoreApi.d.ts +16 -16
- package/models/api/gridRowsMetaApi.d.ts +1 -1
- package/models/api/gridVirtualizationApi.d.ts +2 -3
- package/models/events/gridEventLookup.d.ts +3 -3
- package/models/gridFilterModel.d.ts +1 -1
- package/models/gridSlotsComponent.d.ts +16 -2
- package/models/gridStateCommunity.d.ts +5 -1
- package/models/index.d.ts +0 -1
- package/models/index.js +0 -1
- package/models/params/index.d.ts +0 -1
- package/models/params/index.js +1 -2
- package/models/props/DataGridProps.d.ts +7 -12
- package/modern/DataGrid/DataGrid.js +15 -27
- package/modern/DataGrid/useDataGridComponent.js +2 -1
- package/modern/DataGrid/useDataGridProps.js +1 -0
- package/modern/colDef/gridDateColDef.js +1 -1
- package/modern/components/GridColumnHeaders.js +3 -11
- package/modern/components/GridDetailPanels.js +4 -0
- package/modern/components/GridHeaders.js +53 -0
- package/modern/components/GridPagination.js +1 -1
- package/modern/components/GridPinnedRows.js +4 -0
- package/modern/components/GridRow.js +258 -96
- package/modern/components/GridScrollbarFillerCell.js +39 -0
- package/modern/components/base/GridBody.js +2 -116
- package/modern/components/base/GridOverlays.js +10 -16
- package/modern/components/cell/GridActionsCell.js +1 -1
- package/modern/components/cell/GridCell.js +66 -370
- package/modern/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +7 -3
- package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
- package/modern/components/columnHeaders/GridColumnHeadersInner.js +1 -1
- package/modern/components/containers/GridRoot.js +18 -14
- package/modern/components/containers/GridRootStyles.js +307 -204
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
- package/modern/components/panel/GridPanel.js +3 -4
- package/modern/components/panel/filterPanel/GridFilterForm.js +31 -14
- package/modern/components/panel/filterPanel/GridFilterPanel.js +46 -20
- package/modern/components/toolbar/GridToolbarColumnsButton.js +38 -21
- package/modern/components/toolbar/GridToolbarDensitySelector.js +38 -21
- package/modern/components/toolbar/GridToolbarExport.js +6 -1
- package/modern/components/toolbar/GridToolbarExportContainer.js +39 -22
- package/modern/components/toolbar/GridToolbarFilterButton.js +6 -10
- package/modern/components/toolbar/GridToolbarQuickFilter.js +4 -0
- package/modern/components/virtualization/GridBottomContainer.js +25 -0
- package/modern/components/virtualization/GridMainContainer.js +20 -0
- package/modern/components/virtualization/GridTopContainer.js +35 -0
- package/modern/components/virtualization/GridVirtualScrollbar.js +131 -0
- package/modern/components/virtualization/GridVirtualScroller.js +69 -16
- package/modern/components/virtualization/GridVirtualScrollerFiller.js +71 -0
- package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
- package/modern/constants/defaultGridSlotsComponents.js +6 -2
- package/modern/constants/gridClasses.js +1 -1
- package/modern/hooks/core/gridCoreSelector.js +5 -0
- package/modern/hooks/core/useGridInitialization.js +4 -0
- package/modern/hooks/core/useGridLoggerFactory.js +2 -2
- package/modern/hooks/core/useGridRefs.js +13 -0
- package/modern/hooks/core/useGridTheme.js +19 -0
- package/modern/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
- package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +11 -16
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +67 -160
- package/modern/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
- package/modern/hooks/features/columns/gridColumnsInterfaces.js +9 -1
- package/modern/hooks/features/columns/gridColumnsSelector.js +51 -0
- package/modern/hooks/features/columns/gridColumnsUtils.js +10 -12
- package/modern/hooks/features/columns/index.js +2 -1
- package/modern/hooks/features/columns/useGridColumnSpanning.js +62 -61
- package/modern/hooks/features/columns/useGridColumns.js +19 -21
- package/modern/hooks/features/dimensions/gridDimensionsSelectors.js +1 -0
- package/modern/hooks/features/dimensions/index.js +1 -0
- package/modern/hooks/features/dimensions/useGridDimensions.js +214 -146
- package/modern/hooks/features/editing/useGridCellEditing.js +4 -4
- package/modern/hooks/features/editing/useGridRowEditing.js +4 -4
- package/modern/hooks/features/export/serializers/csvSerializer.js +3 -3
- package/modern/hooks/features/export/useGridPrintExport.js +1 -1
- package/modern/hooks/features/filter/gridFilterUtils.js +5 -5
- package/modern/hooks/features/filter/useGridFilter.js +3 -3
- package/modern/hooks/features/focus/gridFocusStateSelector.js +2 -6
- package/modern/hooks/features/focus/useGridFocus.js +3 -3
- package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +3 -16
- package/modern/hooks/features/pagination/gridPaginationUtils.js +2 -2
- package/modern/hooks/features/pagination/useGridPagination.js +3 -5
- package/modern/hooks/features/rowSelection/useGridRowSelection.js +1 -1
- package/modern/hooks/features/rows/gridRowsSelector.js +2 -2
- package/modern/hooks/features/rows/gridRowsUtils.js +6 -6
- package/modern/hooks/features/rows/useGridRows.js +7 -7
- package/modern/hooks/features/rows/useGridRowsMeta.js +9 -6
- package/modern/hooks/features/scroll/useGridScroll.js +8 -9
- package/modern/hooks/features/sorting/gridSortingUtils.js +5 -3
- package/modern/hooks/features/sorting/useGridSorting.js +15 -10
- package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +435 -432
- package/modern/hooks/features/virtualization/useGridVirtualization.js +8 -1
- package/modern/hooks/utils/index.js +4 -1
- package/modern/hooks/utils/useGridApiContext.js +1 -1
- package/modern/hooks/utils/useGridAriaAttributes.js +1 -1
- package/modern/hooks/utils/useGridNativeEventListener.js +3 -9
- package/modern/hooks/utils/useGridPrivateApiContext.js +1 -1
- package/modern/hooks/utils/useGridRootProps.js +1 -1
- package/modern/hooks/utils/useGridSelector.js +1 -1
- package/modern/hooks/utils/useResizeObserver.js +36 -0
- package/modern/hooks/utils/useRunOnce.js +18 -0
- package/modern/index.js +1 -2
- package/modern/internals/index.js +9 -7
- package/modern/internals/utils/index.js +2 -1
- package/modern/internals/utils/propValidation.js +19 -0
- package/modern/locales/hrHR.js +149 -0
- package/modern/locales/index.js +4 -1
- package/modern/locales/ptPT.js +149 -0
- package/modern/locales/zhHK.js +149 -0
- package/modern/models/index.js +0 -1
- package/modern/models/params/index.js +1 -2
- package/modern/utils/createSelector.js +1 -1
- package/modern/utils/exportAs.js +1 -1
- package/modern/utils/utils.js +10 -1
- package/node/DataGrid/DataGrid.js +15 -27
- package/node/DataGrid/useDataGridComponent.js +1 -0
- package/node/DataGrid/useDataGridProps.js +1 -0
- package/node/colDef/gridDateColDef.js +1 -1
- package/node/components/GridColumnHeaders.js +3 -11
- package/node/components/GridDetailPanels.js +10 -0
- package/node/components/GridHeaders.js +60 -0
- package/node/components/GridPagination.js +1 -1
- package/node/components/GridPinnedRows.js +10 -0
- package/node/components/GridRow.js +256 -94
- package/node/components/GridScrollbarFillerCell.js +47 -0
- package/node/components/base/GridBody.js +7 -118
- package/node/components/base/GridOverlays.js +9 -15
- package/node/components/cell/GridActionsCell.js +1 -1
- package/node/components/cell/GridCell.js +67 -370
- package/node/components/columnHeaders/GridBaseColumnHeaders.js +1 -6
- package/node/components/columnHeaders/GridColumnHeaderItem.js +8 -4
- package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +5 -2
- package/node/components/columnHeaders/GridColumnHeadersInner.js +1 -1
- package/node/components/containers/GridRoot.js +17 -14
- package/node/components/containers/GridRootStyles.js +175 -72
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
- package/node/components/panel/GridPanel.js +3 -4
- package/node/components/panel/filterPanel/GridFilterForm.js +30 -13
- package/node/components/panel/filterPanel/GridFilterPanel.js +45 -19
- package/node/components/toolbar/GridToolbarColumnsButton.js +36 -20
- package/node/components/toolbar/GridToolbarDensitySelector.js +36 -20
- package/node/components/toolbar/GridToolbarExport.js +6 -1
- package/node/components/toolbar/GridToolbarExportContainer.js +37 -21
- package/node/components/toolbar/GridToolbarFilterButton.js +6 -10
- package/node/components/toolbar/GridToolbarQuickFilter.js +4 -0
- package/node/components/virtualization/GridBottomContainer.js +34 -0
- package/node/components/{containers → virtualization}/GridMainContainer.js +7 -29
- package/node/components/virtualization/GridTopContainer.js +44 -0
- package/node/components/virtualization/GridVirtualScrollbar.js +138 -0
- package/node/components/virtualization/GridVirtualScroller.js +69 -17
- package/node/components/virtualization/GridVirtualScrollerFiller.js +77 -0
- package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
- package/node/constants/defaultGridSlotsComponents.js +5 -1
- package/node/constants/gridClasses.js +1 -1
- package/node/hooks/core/gridCoreSelector.js +12 -0
- package/node/hooks/core/useGridInitialization.js +4 -0
- package/node/hooks/core/useGridLoggerFactory.js +2 -2
- package/node/hooks/core/useGridRefs.js +22 -0
- package/node/hooks/core/useGridTheme.js +29 -0
- package/node/hooks/features/columnGrouping/gridColumnGroupsUtils.js +1 -1
- package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +11 -16
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +65 -159
- package/node/hooks/features/columnMenu/useGridColumnMenu.js +28 -23
- package/node/hooks/features/columns/gridColumnsInterfaces.js +11 -1
- package/node/hooks/features/columns/gridColumnsSelector.js +52 -1
- package/node/hooks/features/columns/gridColumnsUtils.js +10 -13
- package/node/hooks/features/columns/index.js +22 -61
- package/node/hooks/features/columns/useGridColumnSpanning.js +62 -61
- package/node/hooks/features/columns/useGridColumns.js +20 -22
- package/node/hooks/features/dimensions/gridDimensionsSelectors.js +8 -0
- package/node/hooks/features/dimensions/index.js +11 -0
- package/node/hooks/features/dimensions/useGridDimensions.js +215 -144
- package/node/hooks/features/editing/useGridCellEditing.js +4 -4
- package/node/hooks/features/editing/useGridRowEditing.js +4 -4
- package/node/hooks/features/export/serializers/csvSerializer.js +3 -3
- package/node/hooks/features/export/useGridPrintExport.js +1 -1
- package/node/hooks/features/filter/gridFilterUtils.js +5 -5
- package/node/hooks/features/filter/useGridFilter.js +2 -2
- package/node/hooks/features/focus/gridFocusStateSelector.js +3 -7
- package/node/hooks/features/focus/useGridFocus.js +2 -2
- package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +2 -15
- package/node/hooks/features/pagination/gridPaginationUtils.js +2 -2
- package/node/hooks/features/pagination/useGridPagination.js +3 -5
- package/node/hooks/features/rowSelection/useGridRowSelection.js +1 -1
- package/node/hooks/features/rows/gridRowsSelector.js +2 -2
- package/node/hooks/features/rows/gridRowsUtils.js +6 -6
- package/node/hooks/features/rows/useGridRows.js +7 -7
- package/node/hooks/features/rows/useGridRowsMeta.js +7 -5
- package/node/hooks/features/scroll/useGridScroll.js +8 -9
- package/node/hooks/features/sorting/gridSortingUtils.js +5 -3
- package/node/hooks/features/sorting/useGridSorting.js +15 -10
- package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +22 -2
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +434 -431
- package/node/hooks/features/virtualization/useGridVirtualization.js +9 -1
- package/node/hooks/utils/index.js +36 -0
- package/node/hooks/utils/useGridApiContext.js +1 -1
- package/node/hooks/utils/useGridAriaAttributes.js +1 -1
- package/node/hooks/utils/useGridNativeEventListener.js +3 -9
- package/node/hooks/utils/useGridPrivateApiContext.js +1 -1
- package/node/hooks/utils/useGridRootProps.js +1 -1
- package/node/hooks/utils/useGridSelector.js +1 -1
- package/node/hooks/utils/useResizeObserver.js +44 -0
- package/node/hooks/utils/useRunOnce.js +27 -0
- package/node/index.js +1 -13
- package/node/internals/index.js +86 -71
- package/node/internals/utils/index.js +11 -0
- package/node/internals/utils/propValidation.js +26 -0
- package/node/locales/hrHR.js +155 -0
- package/node/locales/index.js +33 -0
- package/node/locales/ptPT.js +155 -0
- package/node/locales/zhHK.js +155 -0
- package/node/models/index.js +0 -11
- package/node/models/params/index.js +0 -11
- package/node/utils/createSelector.js +1 -1
- package/node/utils/exportAs.js +1 -1
- package/node/utils/utils.js +11 -1
- package/package.json +6 -6
- package/utils/createSelector.js +1 -1
- package/utils/exportAs.js +1 -1
- package/utils/utils.d.ts +6 -0
- package/utils/utils.js +10 -1
- package/components/DataGridVirtualScroller.d.ts +0 -3
- package/components/DataGridVirtualScroller.js +0 -35
- package/components/containers/GridMainContainer.js +0 -43
- package/legacy/components/DataGridVirtualScroller.js +0 -32
- package/legacy/components/containers/GridMainContainer.js +0 -45
- package/legacy/models/gridRootContainerRef.js +0 -1
- package/legacy/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
- package/models/gridRootContainerRef.d.ts +0 -5
- package/models/gridRootContainerRef.js +0 -1
- package/models/params/gridRenderedRowsIntervalChangeParams.d.ts +0 -10
- package/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
- package/modern/components/DataGridVirtualScroller.js +0 -35
- package/modern/components/containers/GridMainContainer.js +0 -42
- package/modern/models/gridRootContainerRef.js +0 -1
- package/modern/models/params/gridRenderedRowsIntervalChangeParams.js +0 -1
- package/node/components/DataGridVirtualScroller.js +0 -42
- package/node/models/gridRootContainerRef.js +0 -5
- package/node/models/params/gridRenderedRowsIntervalChangeParams.js +0 -5
|
@@ -30,7 +30,7 @@ function GridColumnMenuSortItem(props) {
|
|
|
30
30
|
const direction = event.currentTarget.getAttribute('data-value') || null;
|
|
31
31
|
apiRef.current.sortColumn(colDef.field, direction === sortDirection ? null : direction);
|
|
32
32
|
}, [apiRef, colDef, onClick, sortDirection]);
|
|
33
|
-
if (!colDef || !colDef.sortable || !sortingOrder.some(item => !!item)) {
|
|
33
|
+
if (rootProps.disableColumnSorting || !colDef || !colDef.sortable || !sortingOrder.some(item => !!item)) {
|
|
34
34
|
return null;
|
|
35
35
|
}
|
|
36
36
|
const getLabel = key => {
|
|
@@ -11,7 +11,6 @@ import Paper from '@mui/material/Paper';
|
|
|
11
11
|
import Popper from '@mui/material/Popper';
|
|
12
12
|
import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
|
|
13
13
|
import { isEscapeKey } from '../../utils/keyboardUtils';
|
|
14
|
-
import { gridClasses } from '../../constants/gridClasses';
|
|
15
14
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
16
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
16
|
export const gridPanelClasses = generateUtilityClasses('MuiDataGrid', ['panel', 'paper']);
|
|
@@ -70,9 +69,9 @@ const GridPanel = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
70
69
|
}], []);
|
|
71
70
|
const [anchorEl, setAnchorEl] = React.useState(null);
|
|
72
71
|
React.useEffect(() => {
|
|
73
|
-
const
|
|
74
|
-
if (
|
|
75
|
-
setAnchorEl(
|
|
72
|
+
const panelAnchor = apiRef.current.rootElementRef?.current?.querySelector('[data-id="gridPanelAnchor"]');
|
|
73
|
+
if (panelAnchor) {
|
|
74
|
+
setAnchorEl(panelAnchor);
|
|
76
75
|
}
|
|
77
76
|
}, [apiRef]);
|
|
78
77
|
if (!anchorEl) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["item", "hasMultipleFilters", "deleteFilter", "applyFilterChanges", "
|
|
3
|
+
const _excluded = ["item", "hasMultipleFilters", "deleteFilter", "applyFilterChanges", "showMultiFilterOperators", "disableMultiFilterOperator", "applyMultiFilterOperatorChanges", "focusElementRef", "logicOperators", "columnsSort", "filterColumns", "deleteIconProps", "logicOperatorInputProps", "operatorInputProps", "columnInputProps", "valueInputProps", "readOnly", "children"],
|
|
4
4
|
_excluded2 = ["InputComponentProps"];
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import { unstable_composeClasses as composeClasses, unstable_useId as useId, unstable_capitalize as capitalize } from '@mui/utils';
|
|
8
8
|
import { styled } from '@mui/material/styles';
|
|
9
9
|
import clsx from 'clsx';
|
|
10
|
-
import { gridFilterableColumnDefinitionsSelector } from '../../../hooks/features/columns/gridColumnsSelector';
|
|
10
|
+
import { gridFilterableColumnDefinitionsSelector, gridColumnLookupSelector } from '../../../hooks/features/columns/gridColumnsSelector';
|
|
11
11
|
import { gridFilterModelSelector } from '../../../hooks/features/filter/gridFilterSelector';
|
|
12
12
|
import { useGridSelector } from '../../../hooks/utils/useGridSelector';
|
|
13
13
|
import { GridLogicOperator } from '../../../models/gridFilterItem';
|
|
@@ -91,7 +91,7 @@ const getLogicOperatorLocaleKey = logicOperator => {
|
|
|
91
91
|
case GridLogicOperator.Or:
|
|
92
92
|
return 'filterPanelOperatorOr';
|
|
93
93
|
default:
|
|
94
|
-
throw new Error('MUI: Invalid `logicOperator` property in the `GridFilterPanel`.');
|
|
94
|
+
throw new Error('MUI X: Invalid `logicOperator` property in the `GridFilterPanel`.');
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
97
|
const getColumnLabel = col => col.headerName || col.field;
|
|
@@ -102,7 +102,6 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
102
102
|
hasMultipleFilters,
|
|
103
103
|
deleteFilter,
|
|
104
104
|
applyFilterChanges,
|
|
105
|
-
multiFilterOperator,
|
|
106
105
|
showMultiFilterOperators,
|
|
107
106
|
disableMultiFilterOperator,
|
|
108
107
|
applyMultiFilterOperatorChanges,
|
|
@@ -114,10 +113,12 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
114
113
|
logicOperatorInputProps = {},
|
|
115
114
|
operatorInputProps = {},
|
|
116
115
|
columnInputProps = {},
|
|
117
|
-
valueInputProps = {}
|
|
116
|
+
valueInputProps = {},
|
|
117
|
+
readOnly
|
|
118
118
|
} = props,
|
|
119
119
|
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
120
120
|
const apiRef = useGridApiContext();
|
|
121
|
+
const columnLookup = useGridSelector(apiRef, gridColumnLookupSelector);
|
|
121
122
|
const filterableColumns = useGridSelector(apiRef, gridFilterableColumnDefinitionsSelector);
|
|
122
123
|
const filterModel = useGridSelector(apiRef, gridFilterModelSelector);
|
|
123
124
|
const columnSelectId = useId();
|
|
@@ -128,6 +129,7 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
128
129
|
const classes = useUtilityClasses(rootProps);
|
|
129
130
|
const valueRef = React.useRef(null);
|
|
130
131
|
const filterSelectorRef = React.useRef(null);
|
|
132
|
+
const multiFilterOperator = filterModel.logicOperator ?? GridLogicOperator.And;
|
|
131
133
|
const hasLogicOperatorColumn = hasMultipleFilters && logicOperators.length > 0;
|
|
132
134
|
const baseFormControlProps = rootProps.slotProps?.baseFormControl || {};
|
|
133
135
|
const baseSelectProps = rootProps.slotProps?.baseSelect || {};
|
|
@@ -143,6 +145,15 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
143
145
|
selectedField
|
|
144
146
|
} = React.useMemo(() => {
|
|
145
147
|
let itemField = item.field;
|
|
148
|
+
|
|
149
|
+
// Yields a valid value if the current filter belongs to a column that is not filterable
|
|
150
|
+
const selectedNonFilterableColumn = columnLookup[item.field].filterable === false ? columnLookup[item.field] : null;
|
|
151
|
+
if (selectedNonFilterableColumn) {
|
|
152
|
+
return {
|
|
153
|
+
filteredColumns: [selectedNonFilterableColumn],
|
|
154
|
+
selectedField: itemField
|
|
155
|
+
};
|
|
156
|
+
}
|
|
146
157
|
if (filterColumns === undefined || typeof filterColumns !== 'function') {
|
|
147
158
|
return {
|
|
148
159
|
filteredColumns: filterableColumns,
|
|
@@ -164,7 +175,7 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
164
175
|
}),
|
|
165
176
|
selectedField: itemField
|
|
166
177
|
};
|
|
167
|
-
}, [filterColumns, filterModel?.items, filterableColumns, item.field]);
|
|
178
|
+
}, [filterColumns, filterModel?.items, filterableColumns, item.field, columnLookup]);
|
|
168
179
|
const sortedFilteredColumns = React.useMemo(() => {
|
|
169
180
|
switch (columnsSort) {
|
|
170
181
|
case 'asc':
|
|
@@ -271,7 +282,8 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
271
282
|
"aria-label": apiRef.current.getLocaleText('filterPanelDeleteIconLabel'),
|
|
272
283
|
title: apiRef.current.getLocaleText('filterPanelDeleteIconLabel'),
|
|
273
284
|
onClick: handleDeleteFilter,
|
|
274
|
-
size: "small"
|
|
285
|
+
size: "small",
|
|
286
|
+
disabled: readOnly
|
|
275
287
|
}, rootProps.slotProps?.baseIconButton, {
|
|
276
288
|
children: /*#__PURE__*/_jsx(rootProps.slots.filterPanelDeleteIcon, {
|
|
277
289
|
fontSize: "small"
|
|
@@ -318,7 +330,8 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
318
330
|
label: apiRef.current.getLocaleText('filterPanelColumns'),
|
|
319
331
|
value: selectedField ?? '',
|
|
320
332
|
onChange: changeColumn,
|
|
321
|
-
native: isBaseSelectNative
|
|
333
|
+
native: isBaseSelectNative,
|
|
334
|
+
disabled: readOnly
|
|
322
335
|
}, rootProps.slotProps?.baseSelect, {
|
|
323
336
|
children: sortedFilteredColumns.map(col => /*#__PURE__*/_createElement(rootProps.slots.baseSelectOption, _extends({}, baseSelectOptionProps, {
|
|
324
337
|
native: isBaseSelectNative,
|
|
@@ -343,7 +356,8 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
343
356
|
value: item.operator,
|
|
344
357
|
onChange: changeOperator,
|
|
345
358
|
native: isBaseSelectNative,
|
|
346
|
-
inputRef: filterSelectorRef
|
|
359
|
+
inputRef: filterSelectorRef,
|
|
360
|
+
disabled: readOnly
|
|
347
361
|
}, rootProps.slotProps?.baseSelect, {
|
|
348
362
|
children: currentColumn?.filterOperators?.map(operator => /*#__PURE__*/_createElement(rootProps.slots.baseSelectOption, _extends({}, baseSelectOptionProps, {
|
|
349
363
|
native: isBaseSelectNative,
|
|
@@ -361,7 +375,8 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
361
375
|
apiRef: apiRef,
|
|
362
376
|
item: item,
|
|
363
377
|
applyValue: applyFilterChanges,
|
|
364
|
-
focusElementRef: valueRef
|
|
378
|
+
focusElementRef: valueRef,
|
|
379
|
+
disabled: readOnly
|
|
365
380
|
}, currentOperator.InputComponentProps, InputComponentProps), item.field) : null
|
|
366
381
|
}))]
|
|
367
382
|
}));
|
|
@@ -444,15 +459,17 @@ process.env.NODE_ENV !== "production" ? GridFilterForm.propTypes = {
|
|
|
444
459
|
* @default [GridLogicOperator.And, GridLogicOperator.Or]
|
|
445
460
|
*/
|
|
446
461
|
logicOperators: PropTypes.arrayOf(PropTypes.oneOf(['and', 'or']).isRequired),
|
|
447
|
-
/**
|
|
448
|
-
* The current logic operator applied.
|
|
449
|
-
*/
|
|
450
|
-
multiFilterOperator: PropTypes.oneOf(['and', 'or']),
|
|
451
462
|
/**
|
|
452
463
|
* Props passed to the operator input component.
|
|
453
464
|
* @default {}
|
|
454
465
|
*/
|
|
455
466
|
operatorInputProps: PropTypes.any,
|
|
467
|
+
/**
|
|
468
|
+
* `true` if the filter is disabled/read only.
|
|
469
|
+
* i.e. `colDef.fiterable = false` but passed in `filterModel`
|
|
470
|
+
* @default false
|
|
471
|
+
*/
|
|
472
|
+
readOnly: PropTypes.bool,
|
|
456
473
|
/**
|
|
457
474
|
* If `true`, the logic operator field is visible.
|
|
458
475
|
*/
|
|
@@ -12,7 +12,7 @@ import { GridFilterForm } from './GridFilterForm';
|
|
|
12
12
|
import { useGridRootProps } from '../../../hooks/utils/useGridRootProps';
|
|
13
13
|
import { useGridSelector } from '../../../hooks/utils/useGridSelector';
|
|
14
14
|
import { gridFilterModelSelector } from '../../../hooks/features/filter/gridFilterSelector';
|
|
15
|
-
import { gridFilterableColumnDefinitionsSelector } from '../../../hooks/features/columns/gridColumnsSelector';
|
|
15
|
+
import { gridFilterableColumnDefinitionsSelector, gridFilterableColumnLookupSelector } from '../../../hooks/features/columns/gridColumnsSelector';
|
|
16
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
17
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
18
|
const getGridFilter = col => ({
|
|
@@ -25,6 +25,7 @@ const GridFilterPanel = /*#__PURE__*/React.forwardRef(function GridFilterPanel(p
|
|
|
25
25
|
const rootProps = useGridRootProps();
|
|
26
26
|
const filterModel = useGridSelector(apiRef, gridFilterModelSelector);
|
|
27
27
|
const filterableColumns = useGridSelector(apiRef, gridFilterableColumnDefinitionsSelector);
|
|
28
|
+
const filterableColumnsLookup = useGridSelector(apiRef, gridFilterableColumnLookupSelector);
|
|
28
29
|
const lastFilterRef = React.useRef(null);
|
|
29
30
|
const placeholderFilter = React.useRef(null);
|
|
30
31
|
const {
|
|
@@ -94,63 +95,88 @@ const GridFilterPanel = /*#__PURE__*/React.forwardRef(function GridFilterPanel(p
|
|
|
94
95
|
return placeholderFilter.current ? [placeholderFilter.current] : [];
|
|
95
96
|
}, [filterModel.items, getDefaultFilter]);
|
|
96
97
|
const hasMultipleFilters = items.length > 1;
|
|
97
|
-
const
|
|
98
|
+
const {
|
|
99
|
+
readOnlyFilters,
|
|
100
|
+
validFilters
|
|
101
|
+
} = React.useMemo(() => items.reduce((acc, item) => {
|
|
102
|
+
if (filterableColumnsLookup[item.field]) {
|
|
103
|
+
acc.validFilters.push(item);
|
|
104
|
+
} else {
|
|
105
|
+
acc.readOnlyFilters.push(item);
|
|
106
|
+
}
|
|
107
|
+
return acc;
|
|
108
|
+
}, {
|
|
109
|
+
readOnlyFilters: [],
|
|
110
|
+
validFilters: []
|
|
111
|
+
}), [items, filterableColumnsLookup]);
|
|
112
|
+
const addNewFilter = React.useCallback(() => {
|
|
98
113
|
const newFilter = getNewFilter();
|
|
99
114
|
if (!newFilter) {
|
|
100
115
|
return;
|
|
101
116
|
}
|
|
102
117
|
apiRef.current.upsertFilterItems([...items, newFilter]);
|
|
103
|
-
};
|
|
118
|
+
}, [apiRef, getNewFilter, items]);
|
|
104
119
|
const deleteFilter = React.useCallback(item => {
|
|
105
|
-
const shouldCloseFilterPanel =
|
|
120
|
+
const shouldCloseFilterPanel = validFilters.length === 1;
|
|
106
121
|
apiRef.current.deleteFilterItem(item);
|
|
107
122
|
if (shouldCloseFilterPanel) {
|
|
108
123
|
apiRef.current.hideFilterPanel();
|
|
109
124
|
}
|
|
110
|
-
}, [apiRef,
|
|
111
|
-
const handleRemoveAll = () => {
|
|
112
|
-
if (
|
|
113
|
-
apiRef.current.deleteFilterItem(
|
|
114
|
-
apiRef.current.hideFilterPanel();
|
|
125
|
+
}, [apiRef, validFilters.length]);
|
|
126
|
+
const handleRemoveAll = React.useCallback(() => {
|
|
127
|
+
if (validFilters.length === 1 && validFilters[0].value === undefined) {
|
|
128
|
+
apiRef.current.deleteFilterItem(validFilters[0]);
|
|
129
|
+
return apiRef.current.hideFilterPanel();
|
|
115
130
|
}
|
|
116
|
-
apiRef.current.setFilterModel(_extends({}, filterModel, {
|
|
117
|
-
items:
|
|
131
|
+
return apiRef.current.setFilterModel(_extends({}, filterModel, {
|
|
132
|
+
items: readOnlyFilters
|
|
118
133
|
}));
|
|
119
|
-
};
|
|
134
|
+
}, [apiRef, readOnlyFilters, filterModel, validFilters]);
|
|
120
135
|
React.useEffect(() => {
|
|
121
136
|
if (logicOperators.length > 0 && filterModel.logicOperator && !logicOperators.includes(filterModel.logicOperator)) {
|
|
122
137
|
applyFilterLogicOperator(logicOperators[0]);
|
|
123
138
|
}
|
|
124
139
|
}, [logicOperators, applyFilterLogicOperator, filterModel.logicOperator]);
|
|
125
140
|
React.useEffect(() => {
|
|
126
|
-
if (
|
|
141
|
+
if (validFilters.length > 0) {
|
|
127
142
|
lastFilterRef.current.focus();
|
|
128
143
|
}
|
|
129
|
-
}, [
|
|
144
|
+
}, [validFilters.length]);
|
|
130
145
|
return /*#__PURE__*/_jsxs(GridPanelWrapper, _extends({
|
|
131
146
|
ref: ref
|
|
132
147
|
}, other, {
|
|
133
|
-
children: [/*#__PURE__*/
|
|
134
|
-
children:
|
|
148
|
+
children: [/*#__PURE__*/_jsxs(GridPanelContent, {
|
|
149
|
+
children: [readOnlyFilters.map((item, index) => /*#__PURE__*/_jsx(GridFilterForm, _extends({
|
|
135
150
|
item: item,
|
|
136
151
|
applyFilterChanges: applyFilter,
|
|
137
152
|
deleteFilter: deleteFilter,
|
|
138
153
|
hasMultipleFilters: hasMultipleFilters,
|
|
139
154
|
showMultiFilterOperators: index > 0,
|
|
140
|
-
multiFilterOperator: filterModel.logicOperator,
|
|
141
155
|
disableMultiFilterOperator: index !== 1,
|
|
142
156
|
applyMultiFilterOperatorChanges: applyFilterLogicOperator,
|
|
143
|
-
focusElementRef:
|
|
157
|
+
focusElementRef: null,
|
|
158
|
+
readOnly: true,
|
|
159
|
+
logicOperators: logicOperators,
|
|
160
|
+
columnsSort: columnsSort
|
|
161
|
+
}, filterFormProps), item.id == null ? index : item.id)), validFilters.map((item, index) => /*#__PURE__*/_jsx(GridFilterForm, _extends({
|
|
162
|
+
item: item,
|
|
163
|
+
applyFilterChanges: applyFilter,
|
|
164
|
+
deleteFilter: deleteFilter,
|
|
165
|
+
hasMultipleFilters: hasMultipleFilters,
|
|
166
|
+
showMultiFilterOperators: readOnlyFilters.length + index > 0,
|
|
167
|
+
disableMultiFilterOperator: readOnlyFilters.length + index !== 1,
|
|
168
|
+
applyMultiFilterOperatorChanges: applyFilterLogicOperator,
|
|
169
|
+
focusElementRef: index === validFilters.length - 1 ? lastFilterRef : null,
|
|
144
170
|
logicOperators: logicOperators,
|
|
145
171
|
columnsSort: columnsSort
|
|
146
|
-
}, filterFormProps), item.id == null ? index : item.id))
|
|
172
|
+
}, filterFormProps), item.id == null ? index + readOnlyFilters.length : item.id))]
|
|
147
173
|
}), !rootProps.disableMultipleColumnsFiltering && !(disableAddFilterButton && disableRemoveAllButton) ? /*#__PURE__*/_jsxs(GridPanelFooter, {
|
|
148
174
|
children: [!disableAddFilterButton ? /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
149
175
|
onClick: addNewFilter,
|
|
150
176
|
startIcon: /*#__PURE__*/_jsx(rootProps.slots.filterPanelAddIcon, {})
|
|
151
177
|
}, rootProps.slotProps?.baseButton, {
|
|
152
178
|
children: apiRef.current.getLocaleText('filterPanelAddFilter')
|
|
153
|
-
})) : /*#__PURE__*/_jsx("span", {}), !disableRemoveAllButton ? /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
179
|
+
})) : /*#__PURE__*/_jsx("span", {}), !disableRemoveAllButton && validFilters.length > 0 ? /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
154
180
|
onClick: handleRemoveAll,
|
|
155
181
|
startIcon: /*#__PURE__*/_jsx(rootProps.slots.filterPanelRemoveAllIcon, {})
|
|
156
182
|
}, rootProps.slotProps?.baseButton, {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["onClick"];
|
|
4
2
|
import * as React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
5
4
|
import { unstable_useId as useId } from '@mui/material/utils';
|
|
6
5
|
import { useGridSelector } from '../../hooks/utils/useGridSelector';
|
|
7
6
|
import { gridPreferencePanelStateSelector } from '../../hooks/features/preferencesPanel/gridPreferencePanelSelector';
|
|
@@ -9,11 +8,12 @@ import { GridPreferencePanelsValue } from '../../hooks/features/preferencesPanel
|
|
|
9
8
|
import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
|
|
10
9
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
11
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
-
|
|
11
|
+
const GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function GridToolbarColumnsButton(props, ref) {
|
|
13
12
|
const {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
slotProps = {}
|
|
14
|
+
} = props;
|
|
15
|
+
const buttonProps = slotProps.button || {};
|
|
16
|
+
const tooltipProps = slotProps.tooltip || {};
|
|
17
17
|
const columnButtonId = useId();
|
|
18
18
|
const columnPanelId = useId();
|
|
19
19
|
const apiRef = useGridApiContext();
|
|
@@ -25,7 +25,7 @@ export const GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function G
|
|
|
25
25
|
} else {
|
|
26
26
|
apiRef.current.showPreferences(GridPreferencePanelsValue.columns, columnPanelId, columnButtonId);
|
|
27
27
|
}
|
|
28
|
-
onClick?.(event);
|
|
28
|
+
buttonProps.onClick?.(event);
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
// Disable the button if the corresponding is disabled
|
|
@@ -33,18 +33,35 @@ export const GridToolbarColumnsButton = /*#__PURE__*/React.forwardRef(function G
|
|
|
33
33
|
return null;
|
|
34
34
|
}
|
|
35
35
|
const isOpen = preferencePanel.open && preferencePanel.panelId === columnPanelId;
|
|
36
|
-
return /*#__PURE__*/_jsx(rootProps.slots.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
36
|
+
return /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
|
|
37
|
+
title: apiRef.current.getLocaleText('toolbarColumnsLabel'),
|
|
38
|
+
enterDelay: 1000
|
|
39
|
+
}, tooltipProps, rootProps.slotProps?.baseTooltip, {
|
|
40
|
+
children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
41
|
+
ref: ref,
|
|
42
|
+
id: columnButtonId,
|
|
43
|
+
size: "small",
|
|
44
|
+
"aria-label": apiRef.current.getLocaleText('toolbarColumnsLabel'),
|
|
45
|
+
"aria-haspopup": "menu",
|
|
46
|
+
"aria-expanded": isOpen,
|
|
47
|
+
"aria-controls": isOpen ? columnPanelId : undefined,
|
|
48
|
+
startIcon: /*#__PURE__*/_jsx(rootProps.slots.columnSelectorIcon, {})
|
|
49
|
+
}, buttonProps, {
|
|
50
|
+
onClick: showColumns
|
|
51
|
+
}, rootProps.slotProps?.baseButton, {
|
|
52
|
+
children: apiRef.current.getLocaleText('toolbarColumns')
|
|
53
|
+
}))
|
|
49
54
|
}));
|
|
50
|
-
});
|
|
55
|
+
});
|
|
56
|
+
process.env.NODE_ENV !== "production" ? GridToolbarColumnsButton.propTypes = {
|
|
57
|
+
// ----------------------------- Warning --------------------------------
|
|
58
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
59
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
60
|
+
// ----------------------------------------------------------------------
|
|
61
|
+
/**
|
|
62
|
+
* The props used for each slot inside.
|
|
63
|
+
* @default {}
|
|
64
|
+
*/
|
|
65
|
+
slotProps: PropTypes.object
|
|
66
|
+
} : void 0;
|
|
67
|
+
export { GridToolbarColumnsButton };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["onClick"];
|
|
4
2
|
import * as React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
5
4
|
import { unstable_useId as useId, unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
6
5
|
import MenuList from '@mui/material/MenuList';
|
|
7
6
|
import MenuItem from '@mui/material/MenuItem';
|
|
@@ -15,11 +14,12 @@ import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
|
15
14
|
import { gridClasses } from '../../constants/gridClasses';
|
|
16
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
16
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
|
-
|
|
17
|
+
const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridToolbarDensitySelector(props, ref) {
|
|
19
18
|
const {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
slotProps = {}
|
|
20
|
+
} = props;
|
|
21
|
+
const buttonProps = slotProps.button || {};
|
|
22
|
+
const tooltipProps = slotProps.tooltip || {};
|
|
23
23
|
const apiRef = useGridApiContext();
|
|
24
24
|
const rootProps = useGridRootProps();
|
|
25
25
|
const densityValue = useGridSelector(apiRef, gridDensityValueSelector);
|
|
@@ -53,7 +53,7 @@ export const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function
|
|
|
53
53
|
}, [densityValue, rootProps]);
|
|
54
54
|
const handleDensitySelectorOpen = event => {
|
|
55
55
|
setOpen(prevOpen => !prevOpen);
|
|
56
|
-
onClick?.(event);
|
|
56
|
+
buttonProps.onClick?.(event);
|
|
57
57
|
};
|
|
58
58
|
const handleDensitySelectorClose = () => {
|
|
59
59
|
setOpen(false);
|
|
@@ -83,19 +83,24 @@ export const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function
|
|
|
83
83
|
}), option.label]
|
|
84
84
|
}, index));
|
|
85
85
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
86
|
-
children: [/*#__PURE__*/_jsx(rootProps.slots.
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
86
|
+
children: [/*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
|
|
87
|
+
title: apiRef.current.getLocaleText('toolbarDensityLabel'),
|
|
88
|
+
enterDelay: 1000
|
|
89
|
+
}, tooltipProps, rootProps.slotProps?.baseTooltip, {
|
|
90
|
+
children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
91
|
+
ref: handleRef,
|
|
92
|
+
size: "small",
|
|
93
|
+
startIcon: startIcon,
|
|
94
|
+
"aria-label": apiRef.current.getLocaleText('toolbarDensityLabel'),
|
|
95
|
+
"aria-haspopup": "menu",
|
|
96
|
+
"aria-expanded": open,
|
|
97
|
+
"aria-controls": open ? densityMenuId : undefined,
|
|
98
|
+
id: densityButtonId
|
|
99
|
+
}, buttonProps, {
|
|
100
|
+
onClick: handleDensitySelectorOpen
|
|
101
|
+
}, rootProps.slotProps?.baseButton, {
|
|
102
|
+
children: apiRef.current.getLocaleText('toolbarDensity')
|
|
103
|
+
}))
|
|
99
104
|
})), /*#__PURE__*/_jsx(GridMenu, {
|
|
100
105
|
open: open,
|
|
101
106
|
target: buttonRef.current,
|
|
@@ -111,4 +116,16 @@ export const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function
|
|
|
111
116
|
})
|
|
112
117
|
})]
|
|
113
118
|
});
|
|
114
|
-
});
|
|
119
|
+
});
|
|
120
|
+
process.env.NODE_ENV !== "production" ? GridToolbarDensitySelector.propTypes = {
|
|
121
|
+
// ----------------------------- Warning --------------------------------
|
|
122
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
123
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
124
|
+
// ----------------------------------------------------------------------
|
|
125
|
+
/**
|
|
126
|
+
* The props used for each slot inside.
|
|
127
|
+
* @default {}
|
|
128
|
+
*/
|
|
129
|
+
slotProps: PropTypes.object
|
|
130
|
+
} : void 0;
|
|
131
|
+
export { GridToolbarDensitySelector };
|
|
@@ -70,6 +70,11 @@ process.env.NODE_ENV !== "production" ? GridToolbarExport.propTypes = {
|
|
|
70
70
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
71
71
|
// ----------------------------------------------------------------------
|
|
72
72
|
csvOptions: PropTypes.object,
|
|
73
|
-
printOptions: PropTypes.object
|
|
73
|
+
printOptions: PropTypes.object,
|
|
74
|
+
/**
|
|
75
|
+
* The props used for each slot inside.
|
|
76
|
+
* @default {}
|
|
77
|
+
*/
|
|
78
|
+
slotProps: PropTypes.object
|
|
74
79
|
} : void 0;
|
|
75
80
|
export { GridToolbarExport };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["children", "onClick"];
|
|
4
2
|
import * as React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
5
4
|
import { unstable_useId as useId, unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
6
5
|
import MenuList from '@mui/material/MenuList';
|
|
7
6
|
import { isHideMenuKey, isTabKey } from '../../utils/keyboardUtils';
|
|
@@ -11,12 +10,13 @@ import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
|
11
10
|
import { gridClasses } from '../../constants/gridClasses';
|
|
12
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
12
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
-
|
|
13
|
+
const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridToolbarExportContainer(props, ref) {
|
|
15
14
|
const {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
children,
|
|
16
|
+
slotProps = {}
|
|
17
|
+
} = props;
|
|
18
|
+
const buttonProps = slotProps.button || {};
|
|
19
|
+
const tooltipProps = slotProps.tooltip || {};
|
|
20
20
|
const apiRef = useGridApiContext();
|
|
21
21
|
const rootProps = useGridRootProps();
|
|
22
22
|
const exportButtonId = useId();
|
|
@@ -26,7 +26,7 @@ export const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function
|
|
|
26
26
|
const handleRef = useForkRef(ref, buttonRef);
|
|
27
27
|
const handleMenuOpen = event => {
|
|
28
28
|
setOpen(prevOpen => !prevOpen);
|
|
29
|
-
onClick?.(event);
|
|
29
|
+
buttonProps.onClick?.(event);
|
|
30
30
|
};
|
|
31
31
|
const handleMenuClose = () => setOpen(false);
|
|
32
32
|
const handleListKeyDown = event => {
|
|
@@ -41,19 +41,24 @@ export const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function
|
|
|
41
41
|
return null;
|
|
42
42
|
}
|
|
43
43
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
44
|
-
children: [/*#__PURE__*/_jsx(rootProps.slots.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
44
|
+
children: [/*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
|
|
45
|
+
title: apiRef.current.getLocaleText('toolbarExportLabel'),
|
|
46
|
+
enterDelay: 1000
|
|
47
|
+
}, tooltipProps, rootProps.slotProps?.baseTooltip, {
|
|
48
|
+
children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
49
|
+
ref: handleRef,
|
|
50
|
+
size: "small",
|
|
51
|
+
startIcon: /*#__PURE__*/_jsx(rootProps.slots.exportIcon, {}),
|
|
52
|
+
"aria-expanded": open,
|
|
53
|
+
"aria-label": apiRef.current.getLocaleText('toolbarExportLabel'),
|
|
54
|
+
"aria-haspopup": "menu",
|
|
55
|
+
"aria-controls": open ? exportMenuId : undefined,
|
|
56
|
+
id: exportButtonId
|
|
57
|
+
}, buttonProps, {
|
|
58
|
+
onClick: handleMenuOpen
|
|
59
|
+
}, rootProps.slotProps?.baseButton, {
|
|
60
|
+
children: apiRef.current.getLocaleText('toolbarExport')
|
|
61
|
+
}))
|
|
57
62
|
})), /*#__PURE__*/_jsx(GridMenu, {
|
|
58
63
|
open: open,
|
|
59
64
|
target: buttonRef.current,
|
|
@@ -76,4 +81,16 @@ export const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function
|
|
|
76
81
|
})
|
|
77
82
|
})]
|
|
78
83
|
});
|
|
79
|
-
});
|
|
84
|
+
});
|
|
85
|
+
process.env.NODE_ENV !== "production" ? GridToolbarExportContainer.propTypes = {
|
|
86
|
+
// ----------------------------- Warning --------------------------------
|
|
87
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
88
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
89
|
+
// ----------------------------------------------------------------------
|
|
90
|
+
/**
|
|
91
|
+
* The props used for each slot inside.
|
|
92
|
+
* @default {}
|
|
93
|
+
*/
|
|
94
|
+
slotProps: PropTypes.object
|
|
95
|
+
} : void 0;
|
|
96
|
+
export { GridToolbarExportContainer };
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
-
const _excluded = ["componentsProps"];
|
|
4
2
|
import * as React from 'react';
|
|
5
3
|
import PropTypes from 'prop-types';
|
|
6
4
|
import { styled } from '@mui/material/styles';
|
|
@@ -37,10 +35,10 @@ const GridToolbarFilterListRoot = styled('ul', {
|
|
|
37
35
|
}));
|
|
38
36
|
const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolbarFilterButton(props, ref) {
|
|
39
37
|
const {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const
|
|
38
|
+
slotProps = {}
|
|
39
|
+
} = props;
|
|
40
|
+
const buttonProps = slotProps.button || {};
|
|
41
|
+
const tooltipProps = slotProps.tooltip || {};
|
|
44
42
|
const apiRef = useGridApiContext();
|
|
45
43
|
const rootProps = useGridRootProps();
|
|
46
44
|
const activeFilters = useGridSelector(apiRef, gridFilterActiveItemsSelector);
|
|
@@ -98,7 +96,7 @@ const GridToolbarFilterButton = /*#__PURE__*/React.forwardRef(function GridToolb
|
|
|
98
96
|
return /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, _extends({
|
|
99
97
|
title: tooltipContentNode,
|
|
100
98
|
enterDelay: 1000
|
|
101
|
-
},
|
|
99
|
+
}, tooltipProps, rootProps.slotProps?.baseTooltip, {
|
|
102
100
|
children: /*#__PURE__*/_jsx(rootProps.slots.baseButton, _extends({
|
|
103
101
|
ref: ref,
|
|
104
102
|
id: filterButtonId,
|
|
@@ -128,8 +126,6 @@ process.env.NODE_ENV !== "production" ? GridToolbarFilterButton.propTypes = {
|
|
|
128
126
|
* The props used for each slot inside.
|
|
129
127
|
* @default {}
|
|
130
128
|
*/
|
|
131
|
-
|
|
132
|
-
button: PropTypes.object
|
|
133
|
-
})
|
|
129
|
+
slotProps: PropTypes.object
|
|
134
130
|
} : void 0;
|
|
135
131
|
export { GridToolbarFilterButton };
|
|
@@ -123,12 +123,16 @@ process.env.NODE_ENV !== "production" ? GridToolbarQuickFilter.propTypes = {
|
|
|
123
123
|
* Function responsible for formatting values of quick filter in a string when the model is modified
|
|
124
124
|
* @param {any[]} values The new values passed to the quick filter model
|
|
125
125
|
* @returns {string} The string to display in the text field
|
|
126
|
+
* @default (values: string[]) => values.join(' ')
|
|
126
127
|
*/
|
|
127
128
|
quickFilterFormatter: PropTypes.func,
|
|
128
129
|
/**
|
|
129
130
|
* Function responsible for parsing text input in an array of independent values for quick filtering.
|
|
130
131
|
* @param {string} input The value entered by the user
|
|
131
132
|
* @returns {any[]} The array of value on which quick filter is applied
|
|
133
|
+
* @default (searchText: string) => searchText
|
|
134
|
+
* .split(' ')
|
|
135
|
+
* .filter((word) => word !== '')
|
|
132
136
|
*/
|
|
133
137
|
quickFilterParser: PropTypes.func
|
|
134
138
|
} : void 0;
|