@mui/x-data-grid 7.2.0 → 7.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +204 -2
- package/DataGrid/DataGrid.js +20 -2
- package/colDef/gridDateOperators.js +7 -0
- package/components/GridFooter.js +1 -2
- package/components/GridHeader.js +1 -2
- package/components/GridHeaders.js +3 -2
- package/components/GridPagination.d.ts +4 -1
- package/components/GridPagination.js +60 -9
- package/components/GridRow.js +2 -2
- package/components/GridScrollArea.js +1 -1
- package/components/cell/GridActionsCell.js +1 -2
- package/components/cell/GridActionsCellItem.js +1 -2
- package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
- package/components/columnHeaders/GridColumnHeaderItem.d.ts +1 -0
- package/components/columnHeaders/GridColumnHeaderItem.js +6 -4
- package/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
- package/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
- package/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -2
- package/components/columnsManagement/GridColumnsManagement.js +1 -2
- package/components/containers/GridRoot.js +1 -2
- package/components/containers/GridRootStyles.js +3 -1
- package/components/index.d.ts +1 -1
- package/components/index.js +1 -1
- package/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +1 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -2
- package/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -2
- package/components/panel/GridPanel.d.ts +1 -1
- package/components/panel/GridPanel.js +3 -1
- package/components/panel/filterPanel/GridFilterForm.js +1 -2
- package/components/panel/filterPanel/GridFilterInputBoolean.js +1 -2
- package/components/panel/filterPanel/GridFilterInputDate.js +4 -4
- package/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -2
- package/components/panel/filterPanel/GridFilterPanel.js +1 -2
- package/components/toolbar/GridToolbar.js +1 -2
- package/components/toolbar/GridToolbarDensitySelector.js +1 -2
- package/components/toolbar/GridToolbarExportContainer.js +1 -2
- package/components/toolbar/GridToolbarFilterButton.js +1 -2
- package/components/virtualization/GridVirtualScroller.js +1 -2
- package/components/virtualization/GridVirtualScrollerFiller.js +1 -2
- package/constants/gridClasses.d.ts +6 -2
- package/constants/gridClasses.js +1 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +1 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -4
- package/hooks/features/columnResize/useGridColumnResize.js +91 -62
- package/hooks/features/columns/gridColumnsUtils.d.ts +5 -3
- package/hooks/features/columns/gridColumnsUtils.js +9 -7
- package/hooks/features/columns/useGridColumns.js +5 -4
- package/hooks/features/density/useGridDensity.d.ts +1 -1
- package/hooks/features/density/useGridDensity.js +30 -4
- package/hooks/features/dimensions/gridDimensionsApi.d.ts +5 -1
- package/hooks/features/dimensions/useGridDimensions.d.ts +1 -1
- package/hooks/features/dimensions/useGridDimensions.js +5 -2
- package/hooks/features/editing/useGridCellEditing.js +14 -1
- package/hooks/features/export/useGridPrintExport.d.ts +1 -1
- package/hooks/features/export/useGridPrintExport.js +2 -2
- package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +2 -2
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +2 -2
- package/hooks/features/pagination/gridPaginationInterfaces.d.ts +14 -2
- package/hooks/features/pagination/gridPaginationSelector.d.ts +5 -0
- package/hooks/features/pagination/gridPaginationSelector.js +7 -1
- package/hooks/features/pagination/gridPaginationUtils.d.ts +1 -2
- package/hooks/features/pagination/gridPaginationUtils.js +5 -3
- package/hooks/features/pagination/useGridPagination.d.ts +1 -1
- package/hooks/features/pagination/useGridPagination.js +5 -1
- package/hooks/features/pagination/useGridPaginationMeta.d.ts +4 -0
- package/hooks/features/pagination/useGridPaginationMeta.js +77 -0
- package/hooks/features/pagination/useGridPaginationModel.js +2 -1
- package/hooks/features/pagination/useGridRowCount.d.ts +0 -4
- package/hooks/features/pagination/useGridRowCount.js +32 -18
- package/hooks/features/rows/gridRowsUtils.d.ts +1 -1
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +3 -3
- package/hooks/utils/useGridApiEventHandler.d.ts +2 -2
- package/hooks/utils/useGridNativeEventListener.d.ts +1 -1
- package/hooks/utils/useGridSelector.d.ts +2 -2
- package/index.js +1 -1
- package/internals/index.d.ts +1 -1
- package/internals/utils/propValidation.js +1 -1
- package/joy/icons.js +1 -2
- package/joy/joySlots.js +1 -2
- package/locales/daDK.js +3 -4
- package/models/api/gridApiCommon.d.ts +1 -1
- package/models/api/gridLocaleTextApi.d.ts +7 -3
- package/models/api/index.d.ts +1 -1
- package/models/api/index.js +0 -1
- package/models/events/gridEventLookup.d.ts +7 -1
- package/models/gridPaginationProps.d.ts +3 -0
- package/models/props/DataGridProps.d.ts +26 -8
- package/modern/DataGrid/DataGrid.js +20 -2
- package/modern/colDef/gridDateOperators.js +7 -0
- package/modern/components/GridFooter.js +1 -2
- package/modern/components/GridHeader.js +1 -2
- package/modern/components/GridHeaders.js +3 -2
- package/modern/components/GridPagination.js +60 -9
- package/modern/components/GridRow.js +2 -2
- package/modern/components/GridScrollArea.js +1 -1
- package/modern/components/cell/GridActionsCell.js +1 -2
- package/modern/components/cell/GridActionsCellItem.js +1 -2
- package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -2
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +6 -4
- package/modern/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
- package/modern/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
- package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -2
- package/modern/components/columnsManagement/GridColumnsManagement.js +1 -2
- package/modern/components/containers/GridRoot.js +1 -2
- package/modern/components/containers/GridRootStyles.js +3 -1
- package/modern/components/index.js +1 -1
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +1 -2
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -2
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -2
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -2
- package/modern/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -2
- package/modern/components/panel/GridPanel.js +3 -1
- package/modern/components/panel/filterPanel/GridFilterForm.js +1 -2
- package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +1 -2
- package/modern/components/panel/filterPanel/GridFilterInputDate.js +4 -4
- package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -2
- package/modern/components/panel/filterPanel/GridFilterPanel.js +1 -2
- package/modern/components/toolbar/GridToolbar.js +1 -2
- package/modern/components/toolbar/GridToolbarDensitySelector.js +1 -2
- package/modern/components/toolbar/GridToolbarExportContainer.js +1 -2
- package/modern/components/toolbar/GridToolbarFilterButton.js +1 -2
- package/modern/components/virtualization/GridVirtualScroller.js +1 -2
- package/modern/components/virtualization/GridVirtualScrollerFiller.js +1 -2
- package/modern/constants/gridClasses.js +1 -1
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -4
- package/modern/hooks/features/columnResize/useGridColumnResize.js +91 -62
- package/modern/hooks/features/columns/gridColumnsUtils.js +9 -7
- package/modern/hooks/features/columns/useGridColumns.js +5 -4
- package/modern/hooks/features/density/useGridDensity.js +30 -4
- package/modern/hooks/features/dimensions/useGridDimensions.js +5 -2
- package/modern/hooks/features/editing/useGridCellEditing.js +14 -1
- package/modern/hooks/features/export/useGridPrintExport.js +2 -2
- package/modern/hooks/features/pagination/gridPaginationSelector.js +7 -1
- package/modern/hooks/features/pagination/gridPaginationUtils.js +5 -3
- package/modern/hooks/features/pagination/useGridPagination.js +5 -1
- package/modern/hooks/features/pagination/useGridPaginationMeta.js +77 -0
- package/modern/hooks/features/pagination/useGridPaginationModel.js +2 -1
- package/modern/hooks/features/pagination/useGridRowCount.js +32 -18
- package/modern/index.js +1 -1
- package/modern/internals/utils/propValidation.js +1 -1
- package/modern/joy/icons.js +1 -2
- package/modern/joy/joySlots.js +1 -2
- package/modern/locales/daDK.js +3 -4
- package/modern/models/api/index.js +0 -1
- package/modern/utils/domUtils.js +4 -0
- package/node/DataGrid/DataGrid.js +20 -1
- package/node/DataGrid/useDataGridProps.js +1 -1
- package/node/colDef/gridCheckboxSelectionColDef.js +1 -1
- package/node/colDef/gridDateOperators.js +7 -0
- package/node/components/GridApiContext.js +1 -1
- package/node/components/GridColumnHeaders.js +1 -1
- package/node/components/GridFooter.js +1 -1
- package/node/components/GridHeader.js +1 -1
- package/node/components/GridHeaders.js +5 -3
- package/node/components/GridLoadingOverlay.js +1 -1
- package/node/components/GridNoResultsOverlay.js +1 -1
- package/node/components/GridNoRowsOverlay.js +1 -1
- package/node/components/GridPagination.js +60 -9
- package/node/components/GridRow.js +2 -1
- package/node/components/GridRowCount.js +1 -1
- package/node/components/GridScrollArea.js +2 -2
- package/node/components/GridScrollbarFillerCell.js +1 -1
- package/node/components/GridSelectedRowCount.js +1 -1
- package/node/components/base/GridFooterPlaceholder.js +1 -1
- package/node/components/base/GridOverlays.js +1 -1
- package/node/components/cell/GridActionsCell.js +1 -1
- package/node/components/cell/GridActionsCellItem.js +1 -1
- package/node/components/cell/GridBooleanCell.js +1 -1
- package/node/components/cell/GridCell.js +1 -1
- package/node/components/cell/GridEditBooleanCell.js +1 -1
- package/node/components/cell/GridEditDateCell.js +1 -1
- package/node/components/cell/GridEditInputCell.js +1 -1
- package/node/components/cell/GridEditSingleSelectCell.js +1 -1
- package/node/components/cell/GridSkeletonCell.js +1 -1
- package/node/components/columnHeaders/ColumnHeaderMenuIcon.js +1 -1
- package/node/components/columnHeaders/GridBaseColumnHeaders.js +1 -1
- package/node/components/columnHeaders/GridColumnGroupHeader.js +1 -1
- package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +1 -1
- package/node/components/columnHeaders/GridColumnHeaderItem.js +5 -2
- package/node/components/columnHeaders/GridColumnHeaderSeparator.js +2 -2
- package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -1
- package/node/components/columnHeaders/GridColumnHeaderTitle.js +1 -1
- package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +1 -1
- package/node/components/columnHeaders/GridIconButtonContainer.js +1 -1
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +1 -1
- package/node/components/columnSelection/GridHeaderCheckbox.js +1 -1
- package/node/components/columnsManagement/GridColumnsManagement.js +1 -1
- package/node/components/containers/GridFooterContainer.js +1 -1
- package/node/components/containers/GridOverlay.js +1 -1
- package/node/components/containers/GridRoot.js +1 -1
- package/node/components/containers/GridRootStyles.js +3 -1
- package/node/components/containers/GridToolbarContainer.js +1 -1
- package/node/components/index.js +27 -10
- package/node/components/menu/GridMenu.js +1 -1
- package/node/components/menu/columnMenu/GridColumnHeaderMenu.js +1 -1
- package/node/components/menu/columnMenu/GridColumnMenu.js +1 -1
- package/node/components/menu/columnMenu/GridColumnMenuContainer.js +1 -1
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +1 -1
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +1 -1
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +1 -1
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +1 -1
- package/node/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +1 -1
- package/node/components/panel/GridColumnsPanel.js +1 -1
- package/node/components/panel/GridPanel.js +4 -2
- package/node/components/panel/GridPanelContent.js +1 -1
- package/node/components/panel/GridPanelFooter.js +1 -1
- package/node/components/panel/GridPanelHeader.js +1 -1
- package/node/components/panel/GridPanelWrapper.js +1 -1
- package/node/components/panel/GridPreferencesPanel.js +1 -1
- package/node/components/panel/filterPanel/GridFilterForm.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputDate.js +5 -5
- package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputValue.js +1 -1
- package/node/components/panel/filterPanel/GridFilterPanel.js +1 -1
- package/node/components/toolbar/GridToolbar.js +1 -1
- package/node/components/toolbar/GridToolbarColumnsButton.js +1 -1
- package/node/components/toolbar/GridToolbarDensitySelector.js +1 -1
- package/node/components/toolbar/GridToolbarExport.js +1 -1
- package/node/components/toolbar/GridToolbarExportContainer.js +1 -1
- package/node/components/toolbar/GridToolbarFilterButton.js +1 -1
- package/node/components/toolbar/GridToolbarQuickFilter.js +1 -1
- package/node/components/virtualization/GridBottomContainer.js +1 -1
- package/node/components/virtualization/GridMainContainer.js +1 -1
- package/node/components/virtualization/GridTopContainer.js +1 -1
- package/node/components/virtualization/GridVirtualScrollbar.js +1 -1
- package/node/components/virtualization/GridVirtualScroller.js +1 -1
- package/node/components/virtualization/GridVirtualScrollerContent.js +1 -1
- package/node/components/virtualization/GridVirtualScrollerFiller.js +1 -1
- package/node/components/virtualization/GridVirtualScrollerRenderZone.js +1 -1
- package/node/constants/gridClasses.js +1 -1
- package/node/context/GridContextProvider.js +1 -1
- package/node/context/GridRootPropsContext.js +1 -1
- package/node/hooks/core/pipeProcessing/useGridPipeProcessing.js +1 -1
- package/node/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -1
- package/node/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -1
- package/node/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +1 -1
- package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +1 -1
- package/node/hooks/core/useGridApiInitialization.js +1 -1
- package/node/hooks/core/useGridLocaleText.js +1 -1
- package/node/hooks/core/useGridLoggerFactory.js +1 -1
- package/node/hooks/core/useGridRefs.js +1 -1
- package/node/hooks/core/useGridStateInitialization.js +1 -1
- package/node/hooks/core/useGridTheme.js +1 -1
- package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
- package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +1 -1
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +3 -3
- package/node/hooks/features/columnMenu/useGridColumnMenu.js +1 -1
- package/node/hooks/features/columnMenu/useGridColumnMenuSlots.js +1 -1
- package/node/hooks/features/columnResize/useGridColumnResize.js +92 -63
- package/node/hooks/features/columns/gridColumnsUtils.js +9 -7
- package/node/hooks/features/columns/useGridColumnSpanning.js +1 -1
- package/node/hooks/features/columns/useGridColumns.js +6 -5
- package/node/hooks/features/density/useGridDensity.js +31 -5
- package/node/hooks/features/dimensions/useGridDimensions.js +6 -3
- package/node/hooks/features/editing/useGridCellEditing.js +15 -2
- package/node/hooks/features/editing/useGridEditing.js +1 -1
- package/node/hooks/features/editing/useGridRowEditing.js +1 -1
- package/node/hooks/features/export/useGridCsvExport.js +1 -1
- package/node/hooks/features/export/useGridPrintExport.js +3 -3
- package/node/hooks/features/filter/useGridFilter.js +1 -1
- package/node/hooks/features/focus/useGridFocus.js +1 -1
- package/node/hooks/features/headerFiltering/useGridHeaderFiltering.js +1 -1
- package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +1 -1
- package/node/hooks/features/pagination/gridPaginationSelector.js +8 -2
- package/node/hooks/features/pagination/gridPaginationUtils.js +6 -4
- package/node/hooks/features/pagination/useGridPagination.js +5 -1
- package/node/hooks/features/pagination/useGridPaginationMeta.js +87 -0
- package/node/hooks/features/pagination/useGridPaginationModel.js +3 -2
- package/node/hooks/features/pagination/useGridRowCount.js +31 -16
- package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +1 -1
- package/node/hooks/features/rowSelection/useGridRowSelection.js +1 -1
- package/node/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +1 -1
- package/node/hooks/features/rows/useGridParamsApi.js +1 -1
- package/node/hooks/features/rows/useGridRows.js +1 -1
- package/node/hooks/features/rows/useGridRowsMeta.js +1 -1
- package/node/hooks/features/scroll/useGridScroll.js +1 -1
- package/node/hooks/features/sorting/useGridSorting.js +1 -1
- package/node/hooks/features/statePersistence/useGridStatePersistence.js +1 -1
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +1 -1
- package/node/hooks/features/virtualization/useGridVirtualization.js +1 -1
- package/node/hooks/utils/useFirstRender.js +1 -1
- package/node/hooks/utils/useGridApiContext.js +1 -1
- package/node/hooks/utils/useGridApiEventHandler.js +1 -1
- package/node/hooks/utils/useGridApiMethod.js +1 -1
- package/node/hooks/utils/useGridApiRef.js +1 -1
- package/node/hooks/utils/useGridInitializeState.js +1 -1
- package/node/hooks/utils/useGridLogger.js +1 -1
- package/node/hooks/utils/useGridNativeEventListener.js +1 -1
- package/node/hooks/utils/useGridPrivateApiContext.js +1 -1
- package/node/hooks/utils/useGridRootProps.js +1 -1
- package/node/hooks/utils/useGridSelector.js +1 -1
- package/node/hooks/utils/useGridVisibleRows.js +1 -1
- package/node/hooks/utils/useResizeObserver.js +1 -1
- package/node/hooks/utils/useRunOnce.js +1 -1
- package/node/index.js +1 -1
- package/node/internals/utils/propValidation.js +1 -1
- package/node/internals/utils/useProps.js +1 -1
- package/node/joy/icons.js +1 -1
- package/node/joy/joySlots.js +1 -1
- package/node/locales/daDK.js +3 -4
- package/node/material/components/MUISelectOption.js +1 -1
- package/node/material/icons/GridColumnUnsortedIcon.js +1 -1
- package/node/material/icons/index.js +1 -1
- package/node/models/api/index.js +0 -11
- package/node/utils/domUtils.js +5 -0
- package/node/utils/fastMemo.js +1 -1
- package/package.json +3 -5
- package/utils/domUtils.d.ts +1 -0
- package/utils/domUtils.js +4 -0
- package/utils/getGridLocalization.d.ts +1 -1
|
@@ -8,8 +8,7 @@ import { GridContextProvider } from '../context/GridContextProvider';
|
|
|
8
8
|
import { useDataGridComponent } from './useDataGridComponent';
|
|
9
9
|
import { useDataGridProps } from './useDataGridProps';
|
|
10
10
|
import { propValidatorsDataGrid, validateProps } from '../internals/utils/propValidation';
|
|
11
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
12
|
const propValidators = [...propValidatorsDataGrid,
|
|
14
13
|
// Only validate in MIT version
|
|
15
14
|
props => props.columns && props.columns.some(column => column.resizable) && [`MUI X: \`column.resizable = true\` is not a valid prop.`, 'Column resizing is not available in the MIT version.', '', 'You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature.'].join('\n') || undefined];
|
|
@@ -186,6 +185,12 @@ DataGridRaw.propTypes = {
|
|
|
186
185
|
* @default "cell"
|
|
187
186
|
*/
|
|
188
187
|
editMode: PropTypes.oneOf(['cell', 'row']),
|
|
188
|
+
/**
|
|
189
|
+
* Use if the actual rowCount is not known upfront, but an estimation is available.
|
|
190
|
+
* If some rows have children (for instance in the tree data), this number represents the amount of top level rows.
|
|
191
|
+
* Applicable only with `paginationMode="server"` and when `rowCount="-1"`
|
|
192
|
+
*/
|
|
193
|
+
estimatedRowCount: PropTypes.number,
|
|
189
194
|
/**
|
|
190
195
|
* Unstable features, breaking changes might be introduced.
|
|
191
196
|
* For each feature, if the flag is not explicitly set to `true`, the feature will be fully disabled and any property / method call will not have any effect.
|
|
@@ -487,6 +492,11 @@ DataGridRaw.propTypes = {
|
|
|
487
492
|
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
488
493
|
*/
|
|
489
494
|
onMenuOpen: PropTypes.func,
|
|
495
|
+
/**
|
|
496
|
+
* Callback fired when the pagination meta has changed.
|
|
497
|
+
* @param {GridPaginationMeta} paginationMeta Updated pagination meta.
|
|
498
|
+
*/
|
|
499
|
+
onPaginationMetaChange: PropTypes.func,
|
|
490
500
|
/**
|
|
491
501
|
* Callback fired when the pagination model has changed.
|
|
492
502
|
* @param {GridPaginationModel} model Updated pagination model.
|
|
@@ -586,6 +596,13 @@ DataGridRaw.propTypes = {
|
|
|
586
596
|
value: PropTypes.number.isRequired
|
|
587
597
|
})]).isRequired),
|
|
588
598
|
pagination: PropTypes.oneOf([true]),
|
|
599
|
+
/**
|
|
600
|
+
* The extra information about the pagination state of the Data Grid.
|
|
601
|
+
* Only applicable with `paginationMode="server"`.
|
|
602
|
+
*/
|
|
603
|
+
paginationMeta: PropTypes.shape({
|
|
604
|
+
hasNextPage: PropTypes.bool
|
|
605
|
+
}),
|
|
589
606
|
/**
|
|
590
607
|
* Pagination can be processed on the server or client-side.
|
|
591
608
|
* Set it to 'client' if you would like to handle the pagination on the client-side.
|
|
@@ -621,6 +638,7 @@ DataGridRaw.propTypes = {
|
|
|
621
638
|
/**
|
|
622
639
|
* Set the total number of rows, if it is different from the length of the value `rows` prop.
|
|
623
640
|
* If some rows have children (for instance in the tree data), this number represents the amount of top level rows.
|
|
641
|
+
* Only works with `paginationMode="server"`, ignored when `paginationMode="client"`.
|
|
624
642
|
*/
|
|
625
643
|
rowCount: PropTypes.number,
|
|
626
644
|
/**
|
|
@@ -7,6 +7,13 @@ function buildApplyFilterFn(filterItem, compareFn, showTime, keepHours) {
|
|
|
7
7
|
if (showTime) {
|
|
8
8
|
date.setSeconds(0, 0);
|
|
9
9
|
} else {
|
|
10
|
+
// In GMT-X timezone, the date will be one day behind.
|
|
11
|
+
// For 2022-08-16:
|
|
12
|
+
// GMT+2: Tue Aug 16 2022 02:00:00 GMT+0200
|
|
13
|
+
// GMT-4: Mon Aug 15 2022 20:00:00 GMT-0400
|
|
14
|
+
//
|
|
15
|
+
// We need to add the offset before resetting the hours.
|
|
16
|
+
date.setMinutes(date.getMinutes() + date.getTimezoneOffset());
|
|
10
17
|
date.setHours(0, 0, 0, 0);
|
|
11
18
|
}
|
|
12
19
|
const time = date.getTime();
|
|
@@ -9,8 +9,7 @@ import { useGridApiContext } from '../hooks/utils/useGridApiContext';
|
|
|
9
9
|
import { GridSelectedRowCount } from './GridSelectedRowCount';
|
|
10
10
|
import { GridFooterContainer } from './containers/GridFooterContainer';
|
|
11
11
|
import { useGridRootProps } from '../hooks/utils/useGridRootProps';
|
|
12
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
13
|
const GridFooter = /*#__PURE__*/React.forwardRef(function GridFooter(props, ref) {
|
|
15
14
|
const apiRef = useGridApiContext();
|
|
16
15
|
const rootProps = useGridRootProps();
|
|
@@ -2,8 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { useGridRootProps } from '../hooks/utils/useGridRootProps';
|
|
4
4
|
import { GridPreferencesPanel } from './panel/GridPreferencesPanel';
|
|
5
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
6
|
export function GridHeader() {
|
|
8
7
|
const rootProps = useGridRootProps();
|
|
9
8
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import { fastMemo } from '../utils/fastMemo';
|
|
3
4
|
import { useGridPrivateApiContext } from '../hooks/utils/useGridPrivateApiContext';
|
|
@@ -30,7 +31,7 @@ function GridHeaders() {
|
|
|
30
31
|
apiRef.current.register('private', {
|
|
31
32
|
columnHeadersContainerRef: columnsContainerRef
|
|
32
33
|
});
|
|
33
|
-
return /*#__PURE__*/_jsx(rootProps.slots.columnHeaders, {
|
|
34
|
+
return /*#__PURE__*/_jsx(rootProps.slots.columnHeaders, _extends({
|
|
34
35
|
ref: columnsContainerRef,
|
|
35
36
|
visibleColumns: visibleColumns,
|
|
36
37
|
filterColumnLookup: filterColumnLookup,
|
|
@@ -44,7 +45,7 @@ function GridHeaders() {
|
|
|
44
45
|
columnVisibility: columnVisibility,
|
|
45
46
|
columnGroupsHeaderStructure: columnGroupsHeaderStructure,
|
|
46
47
|
hasOtherElementInTabSequence: hasOtherElementInTabSequence
|
|
47
|
-
});
|
|
48
|
+
}, rootProps.slotProps?.columnHeaders));
|
|
48
49
|
}
|
|
49
50
|
const MemoizedGridHeaders = fastMemo(GridHeaders);
|
|
50
51
|
export { MemoizedGridHeaders as GridHeaders };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import { styled } from '@mui/material/styles';
|
|
3
4
|
import PropTypes from 'prop-types';
|
|
4
5
|
import TablePagination, { tablePaginationClasses } from '@mui/material/TablePagination';
|
|
5
|
-
import { styled } from '@mui/material/styles';
|
|
6
6
|
import { useGridSelector } from '../hooks/utils/useGridSelector';
|
|
7
7
|
import { useGridApiContext } from '../hooks/utils/useGridApiContext';
|
|
8
8
|
import { useGridRootProps } from '../hooks/utils/useGridRootProps';
|
|
9
|
-
import { gridPaginationModelSelector, gridPaginationRowCountSelector } from '../hooks/features/pagination/gridPaginationSelector';
|
|
9
|
+
import { gridPaginationModelSelector, gridPaginationRowCountSelector, gridPageCountSelector } from '../hooks/features/pagination/gridPaginationSelector';
|
|
10
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
11
|
const GridPaginationRoot = styled(TablePagination)(({
|
|
12
12
|
theme
|
|
@@ -24,6 +24,31 @@ const GridPaginationRoot = styled(TablePagination)(({
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
}));
|
|
27
|
+
const wrapLabelDisplayedRows = (labelDisplayedRows, estimated) => {
|
|
28
|
+
return ({
|
|
29
|
+
from,
|
|
30
|
+
to,
|
|
31
|
+
count,
|
|
32
|
+
page
|
|
33
|
+
}) => labelDisplayedRows({
|
|
34
|
+
from,
|
|
35
|
+
to,
|
|
36
|
+
count,
|
|
37
|
+
page,
|
|
38
|
+
estimated
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
const defaultLabelDisplayedRows = ({
|
|
42
|
+
from,
|
|
43
|
+
to,
|
|
44
|
+
count,
|
|
45
|
+
estimated
|
|
46
|
+
}) => {
|
|
47
|
+
if (!estimated) {
|
|
48
|
+
return `${from}–${to} of ${count !== -1 ? count : `more than ${to}`}`;
|
|
49
|
+
}
|
|
50
|
+
return `${from}–${to} of ${count !== -1 ? count : `more than ${estimated > to ? estimated : to}`}`;
|
|
51
|
+
};
|
|
27
52
|
|
|
28
53
|
// A mutable version of a readonly array.
|
|
29
54
|
|
|
@@ -32,10 +57,32 @@ const GridPagination = /*#__PURE__*/React.forwardRef(function GridPagination(pro
|
|
|
32
57
|
const rootProps = useGridRootProps();
|
|
33
58
|
const paginationModel = useGridSelector(apiRef, gridPaginationModelSelector);
|
|
34
59
|
const rowCount = useGridSelector(apiRef, gridPaginationRowCountSelector);
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
60
|
+
const pageCount = useGridSelector(apiRef, gridPageCountSelector);
|
|
61
|
+
const {
|
|
62
|
+
paginationMode,
|
|
63
|
+
loading,
|
|
64
|
+
estimatedRowCount
|
|
65
|
+
} = rootProps;
|
|
66
|
+
const computedProps = React.useMemo(() => {
|
|
67
|
+
if (rowCount === -1 && paginationMode === 'server' && loading) {
|
|
68
|
+
return {
|
|
69
|
+
backIconButtonProps: {
|
|
70
|
+
disabled: true
|
|
71
|
+
},
|
|
72
|
+
nextIconButtonProps: {
|
|
73
|
+
disabled: true
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return {};
|
|
78
|
+
}, [loading, paginationMode, rowCount]);
|
|
79
|
+
const lastPage = React.useMemo(() => Math.max(0, pageCount - 1), [pageCount]);
|
|
80
|
+
const computedPage = React.useMemo(() => {
|
|
81
|
+
if (rowCount === -1) {
|
|
82
|
+
return paginationModel.page;
|
|
83
|
+
}
|
|
84
|
+
return paginationModel.page <= lastPage ? paginationModel.page : lastPage;
|
|
85
|
+
}, [lastPage, paginationModel.page, rowCount]);
|
|
39
86
|
const handlePageSizeChange = React.useCallback(event => {
|
|
40
87
|
const pageSize = Number(event.target.value);
|
|
41
88
|
apiRef.current.setPageSize(pageSize);
|
|
@@ -61,16 +108,18 @@ const GridPagination = /*#__PURE__*/React.forwardRef(function GridPagination(pro
|
|
|
61
108
|
const warnedOnceMissingInPageSizeOptions = React.useRef(false);
|
|
62
109
|
const pageSize = rootProps.paginationModel?.pageSize ?? paginationModel.pageSize;
|
|
63
110
|
if (!warnedOnceMissingInPageSizeOptions.current && !rootProps.autoPageSize && !isPageSizeIncludedInPageSizeOptions(pageSize)) {
|
|
64
|
-
console.warn([`MUI X: The page size \`${paginationModel.pageSize}\` is not
|
|
111
|
+
console.warn([`MUI X: The page size \`${paginationModel.pageSize}\` is not present in the \`pageSizeOptions\`.`, `Add it to show the pagination select.`].join('\n'));
|
|
65
112
|
warnedOnceMissingInPageSizeOptions.current = true;
|
|
66
113
|
}
|
|
67
114
|
}
|
|
68
115
|
const pageSizeOptions = isPageSizeIncludedInPageSizeOptions(paginationModel.pageSize) ? rootProps.pageSizeOptions : [];
|
|
116
|
+
const locales = apiRef.current.getLocaleText('MuiTablePagination');
|
|
117
|
+
const wrappedLabelDisplayedRows = wrapLabelDisplayedRows(locales.labelDisplayedRows || defaultLabelDisplayedRows, estimatedRowCount);
|
|
69
118
|
return /*#__PURE__*/_jsx(GridPaginationRoot, _extends({
|
|
70
119
|
ref: ref,
|
|
71
120
|
component: "div",
|
|
72
121
|
count: rowCount,
|
|
73
|
-
page:
|
|
122
|
+
page: computedPage
|
|
74
123
|
// TODO: Remove the cast once the type is fixed in Material UI and that the min Material UI version
|
|
75
124
|
// for x-data-grid is past the fix.
|
|
76
125
|
// Note that Material UI will not mutate the array, so this is safe.
|
|
@@ -79,7 +128,9 @@ const GridPagination = /*#__PURE__*/React.forwardRef(function GridPagination(pro
|
|
|
79
128
|
rowsPerPage: paginationModel.pageSize,
|
|
80
129
|
onPageChange: handlePageChange,
|
|
81
130
|
onRowsPerPageChange: handlePageSizeChange
|
|
82
|
-
},
|
|
131
|
+
}, computedProps, locales, {
|
|
132
|
+
labelDisplayedRows: wrappedLabelDisplayedRows
|
|
133
|
+
}, props));
|
|
83
134
|
});
|
|
84
135
|
process.env.NODE_ENV !== "production" ? GridPagination.propTypes = {
|
|
85
136
|
// ----------------------------- Warning --------------------------------
|
|
@@ -24,8 +24,7 @@ import { gridEditRowsStateSelector } from '../hooks/features/editing/gridEditing
|
|
|
24
24
|
import { PinnedPosition, gridPinnedColumnPositionLookup } from './cell/GridCell';
|
|
25
25
|
import { GridScrollbarFillerCell as ScrollbarFiller } from './GridScrollbarFillerCell';
|
|
26
26
|
import { getPinnedCellOffset } from '../internals/utils/getPinnedCellOffset';
|
|
27
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
28
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
27
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
28
|
const useUtilityClasses = ownerState => {
|
|
30
29
|
const {
|
|
31
30
|
editable,
|
|
@@ -366,6 +365,7 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
|
|
|
366
365
|
}).isRequired,
|
|
367
366
|
hasScrollX: PropTypes.bool.isRequired,
|
|
368
367
|
hasScrollY: PropTypes.bool.isRequired,
|
|
368
|
+
headerFilterHeight: PropTypes.number.isRequired,
|
|
369
369
|
headerHeight: PropTypes.number.isRequired,
|
|
370
370
|
headersTotalHeight: PropTypes.number.isRequired,
|
|
371
371
|
isReady: PropTypes.bool.isRequired,
|
|
@@ -82,7 +82,7 @@ function GridScrollAreaRaw(props) {
|
|
|
82
82
|
scrollDirection
|
|
83
83
|
});
|
|
84
84
|
const classes = useUtilityClasses(ownerState);
|
|
85
|
-
const totalHeaderHeight = getTotalHeaderHeight(apiRef, rootProps
|
|
85
|
+
const totalHeaderHeight = getTotalHeaderHeight(apiRef, rootProps);
|
|
86
86
|
const headerHeight = Math.floor(rootProps.columnHeaderHeight * densityFactor);
|
|
87
87
|
const style = {
|
|
88
88
|
height: headerHeight,
|
|
@@ -10,8 +10,7 @@ import { gridClasses } from '../../constants/gridClasses';
|
|
|
10
10
|
import { GridMenu } from '../menu/GridMenu';
|
|
11
11
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
12
12
|
import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
|
|
13
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
14
|
const hasActions = colDef => typeof colDef.getActions === 'function';
|
|
16
15
|
function GridActionsCell(props) {
|
|
17
16
|
const {
|
|
@@ -7,8 +7,7 @@ import PropTypes from 'prop-types';
|
|
|
7
7
|
import MenuItem from '@mui/material/MenuItem';
|
|
8
8
|
import ListItemIcon from '@mui/material/ListItemIcon';
|
|
9
9
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
10
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
11
|
const GridActionsCellItem = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
13
12
|
const rootProps = useGridRootProps();
|
|
14
13
|
if (!props.showInMenu) {
|
|
@@ -10,8 +10,7 @@ import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
|
|
|
10
10
|
import { getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
11
11
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
12
12
|
import { GridIconButtonContainer } from './GridIconButtonContainer';
|
|
13
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
14
|
const useUtilityClasses = ownerState => {
|
|
16
15
|
const {
|
|
17
16
|
classes
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
|
+
import clsx from 'clsx';
|
|
4
5
|
import { unstable_composeClasses as composeClasses, unstable_useId as useId } from '@mui/utils';
|
|
5
6
|
import { fastMemo } from '../../utils/fastMemo';
|
|
6
7
|
import { useGridPrivateApiContext } from '../../hooks/utils/useGridPrivateApiContext';
|
|
7
8
|
import { GridColumnHeaderSortIcon } from './GridColumnHeaderSortIcon';
|
|
8
9
|
import { ColumnHeaderMenuIcon } from './ColumnHeaderMenuIcon';
|
|
9
10
|
import { GridColumnHeaderMenu } from '../menu/columnMenu/GridColumnHeaderMenu';
|
|
10
|
-
import { getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
11
|
+
import { gridClasses, getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
11
12
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
12
13
|
import { GridGenericColumnHeaderItem } from './GridGenericColumnHeaderItem';
|
|
13
14
|
import { isEventTargetInPortal } from '../../utils/domUtils';
|
|
14
15
|
import { shouldCellShowLeftBorder, shouldCellShowRightBorder } from '../../utils/cellBorderUtils';
|
|
15
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
17
|
const useUtilityClasses = ownerState => {
|
|
18
18
|
const {
|
|
19
19
|
colDef,
|
|
@@ -44,6 +44,7 @@ function GridColumnHeaderItem(props) {
|
|
|
44
44
|
colIndex,
|
|
45
45
|
headerHeight,
|
|
46
46
|
isResizing,
|
|
47
|
+
isLast,
|
|
47
48
|
sortDirection,
|
|
48
49
|
sortIndex,
|
|
49
50
|
filterItemsCounter,
|
|
@@ -182,7 +183,7 @@ function GridColumnHeaderItem(props) {
|
|
|
182
183
|
width: colDef.computedWidth,
|
|
183
184
|
columnMenuIconButton: columnMenuIconButton,
|
|
184
185
|
columnTitleIconButtons: columnTitleIconButtons,
|
|
185
|
-
headerClassName: headerClassName,
|
|
186
|
+
headerClassName: clsx(headerClassName, isLast && gridClasses['columnHeader--last']),
|
|
186
187
|
label: label,
|
|
187
188
|
resizable: !rootProps.disableColumnResize && !!colDef.resizable,
|
|
188
189
|
"data-field": colDef.field,
|
|
@@ -207,6 +208,7 @@ process.env.NODE_ENV !== "production" ? GridColumnHeaderItem.propTypes = {
|
|
|
207
208
|
headerHeight: PropTypes.number.isRequired,
|
|
208
209
|
indexInSection: PropTypes.number.isRequired,
|
|
209
210
|
isDragging: PropTypes.bool.isRequired,
|
|
211
|
+
isLast: PropTypes.bool.isRequired,
|
|
210
212
|
isResizing: PropTypes.bool.isRequired,
|
|
211
213
|
pinnedPosition: PropTypes.oneOf(['left', 'right']),
|
|
212
214
|
sectionLength: PropTypes.number.isRequired,
|
|
@@ -48,7 +48,7 @@ function GridColumnHeaderSeparatorRaw(props) {
|
|
|
48
48
|
className: classes.root,
|
|
49
49
|
style: {
|
|
50
50
|
minHeight: height,
|
|
51
|
-
opacity: rootProps.showColumnVerticalBorder ?
|
|
51
|
+
opacity: rootProps.showColumnVerticalBorder ? 0 : 1
|
|
52
52
|
}
|
|
53
53
|
}, other, {
|
|
54
54
|
onClick: stopClick,
|
|
@@ -7,8 +7,7 @@ import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
|
|
|
7
7
|
import { getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
8
8
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
9
9
|
import { GridIconButtonContainer } from './GridIconButtonContainer';
|
|
10
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
11
|
const useUtilityClasses = ownerState => {
|
|
13
12
|
const {
|
|
14
13
|
classes
|
|
@@ -8,8 +8,7 @@ import { useGridPrivateApiContext } from '../../hooks/utils/useGridPrivateApiCon
|
|
|
8
8
|
import { GridColumnHeaderTitle } from './GridColumnHeaderTitle';
|
|
9
9
|
import { GridColumnHeaderSeparator } from './GridColumnHeaderSeparator';
|
|
10
10
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
11
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
12
|
const GridGenericColumnHeaderItem = /*#__PURE__*/React.forwardRef(function GridGenericColumnHeaderItem(props, ref) {
|
|
14
13
|
const {
|
|
15
14
|
classes,
|
|
@@ -12,8 +12,7 @@ import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
|
12
12
|
import { getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
13
13
|
import { useLazyRef } from '../../hooks/utils/useLazyRef';
|
|
14
14
|
import { checkColumnVisibilityModelsSame, defaultSearchPredicate } from './utils';
|
|
15
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
16
|
const useUtilityClasses = ownerState => {
|
|
18
17
|
const {
|
|
19
18
|
classes
|
|
@@ -12,8 +12,7 @@ import { useGridPrivateApiContext } from '../../hooks/utils/useGridPrivateApiCon
|
|
|
12
12
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
13
13
|
import { getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
14
14
|
import { gridDensitySelector } from '../../hooks/features/density/densitySelector';
|
|
15
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
16
|
const useUtilityClasses = ownerState => {
|
|
18
17
|
const {
|
|
19
18
|
autoHeight,
|
|
@@ -274,7 +274,9 @@ export const GridRootStyles = styled('div', {
|
|
|
274
274
|
[`& .${c.columnHeader}`]: {
|
|
275
275
|
position: 'relative',
|
|
276
276
|
display: 'flex',
|
|
277
|
-
alignItems: 'center'
|
|
277
|
+
alignItems: 'center'
|
|
278
|
+
},
|
|
279
|
+
[`& .${c['columnHeader--last']}`]: {
|
|
278
280
|
overflow: 'hidden'
|
|
279
281
|
},
|
|
280
282
|
[`& .${c['columnHeader--sorted']} .${c.iconButtonContainer}, & .${c['columnHeader--filtered']} .${c.iconButtonContainer}`]: {
|
|
@@ -13,7 +13,7 @@ export * from './GridFooter';
|
|
|
13
13
|
export * from './GridHeader';
|
|
14
14
|
export * from './GridLoadingOverlay';
|
|
15
15
|
export * from './GridNoRowsOverlay';
|
|
16
|
-
export
|
|
16
|
+
export { GridPagination } from './GridPagination';
|
|
17
17
|
export * from './GridRowCount';
|
|
18
18
|
export * from './GridRow';
|
|
19
19
|
export * from './GridSelectedRowCount';
|
|
@@ -3,8 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { GridColumnMenuHideItem } from './GridColumnMenuHideItem';
|
|
5
5
|
import { GridColumnMenuManageItem } from './GridColumnMenuManageItem';
|
|
6
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
7
|
function GridColumnMenuColumnsItem(props) {
|
|
9
8
|
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
10
9
|
children: [/*#__PURE__*/_jsx(GridColumnMenuHideItem, _extends({}, props)), /*#__PURE__*/_jsx(GridColumnMenuManageItem, _extends({}, props))]
|
|
@@ -5,8 +5,7 @@ import ListItemIcon from '@mui/material/ListItemIcon';
|
|
|
5
5
|
import ListItemText from '@mui/material/ListItemText';
|
|
6
6
|
import { useGridApiContext } from '../../../../hooks/utils/useGridApiContext';
|
|
7
7
|
import { useGridRootProps } from '../../../../hooks/utils/useGridRootProps';
|
|
8
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
9
|
function GridColumnMenuFilterItem(props) {
|
|
11
10
|
const {
|
|
12
11
|
colDef,
|
|
@@ -6,8 +6,7 @@ import ListItemText from '@mui/material/ListItemText';
|
|
|
6
6
|
import { useGridApiContext } from '../../../../hooks/utils/useGridApiContext';
|
|
7
7
|
import { useGridRootProps } from '../../../../hooks/utils/useGridRootProps';
|
|
8
8
|
import { gridVisibleColumnDefinitionsSelector } from '../../../../hooks/features/columns';
|
|
9
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
10
|
function GridColumnMenuHideItem(props) {
|
|
12
11
|
const {
|
|
13
12
|
colDef,
|
|
@@ -6,8 +6,7 @@ import ListItemText from '@mui/material/ListItemText';
|
|
|
6
6
|
import { GridPreferencePanelsValue } from '../../../../hooks/features/preferencesPanel/gridPreferencePanelsValue';
|
|
7
7
|
import { useGridApiContext } from '../../../../hooks/utils/useGridApiContext';
|
|
8
8
|
import { useGridRootProps } from '../../../../hooks/utils/useGridRootProps';
|
|
9
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
10
|
function GridColumnMenuManageItem(props) {
|
|
12
11
|
const {
|
|
13
12
|
onClick
|
|
@@ -7,8 +7,7 @@ import { useGridSelector } from '../../../../hooks/utils/useGridSelector';
|
|
|
7
7
|
import { gridSortModelSelector } from '../../../../hooks/features/sorting/gridSortingSelector';
|
|
8
8
|
import { useGridApiContext } from '../../../../hooks/utils/useGridApiContext';
|
|
9
9
|
import { useGridRootProps } from '../../../../hooks/utils/useGridRootProps';
|
|
10
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
11
|
function GridColumnMenuSortItem(props) {
|
|
13
12
|
const {
|
|
14
13
|
colDef,
|
|
@@ -33,7 +33,9 @@ const GridPaperRoot = styled(Paper, {
|
|
|
33
33
|
backgroundColor: (theme.vars || theme).palette.background.paper,
|
|
34
34
|
minWidth: 300,
|
|
35
35
|
maxHeight: 450,
|
|
36
|
-
display: 'flex'
|
|
36
|
+
display: 'flex',
|
|
37
|
+
maxWidth: `calc(100vw - ${theme.spacing(0.5)})`,
|
|
38
|
+
overflow: 'auto'
|
|
37
39
|
}));
|
|
38
40
|
const GridPanel = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
39
41
|
const {
|
|
@@ -15,9 +15,8 @@ import { useGridApiContext } from '../../../hooks/utils/useGridApiContext';
|
|
|
15
15
|
import { useGridRootProps } from '../../../hooks/utils/useGridRootProps';
|
|
16
16
|
import { getDataGridUtilityClass } from '../../../constants/gridClasses';
|
|
17
17
|
import { getValueFromValueOptions, getValueOptions } from './filterPanelUtils';
|
|
18
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
19
19
|
import { createElement as _createElement } from "react";
|
|
20
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
20
|
const useUtilityClasses = ownerState => {
|
|
22
21
|
const {
|
|
23
22
|
classes
|
|
@@ -6,8 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import { refType, unstable_useId as useId } from '@mui/utils';
|
|
7
7
|
import { styled } from '@mui/material/styles';
|
|
8
8
|
import { useGridRootProps } from '../../../hooks/utils/useGridRootProps';
|
|
9
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
10
|
const BooleanOperatorContainer = styled('div')({
|
|
12
11
|
display: 'flex',
|
|
13
12
|
alignItems: 'center',
|
|
@@ -15,14 +15,14 @@ function convertFilterItemValueToInputValue(itemValue, inputType) {
|
|
|
15
15
|
if (Number.isNaN(dateCopy.getTime())) {
|
|
16
16
|
return '';
|
|
17
17
|
}
|
|
18
|
-
// The date picker expects the date to be in the local timezone.
|
|
19
|
-
// But .toISOString() converts it to UTC with zero offset.
|
|
20
|
-
// So we need to subtract the timezone offset.
|
|
21
|
-
dateCopy.setMinutes(dateCopy.getMinutes() - dateCopy.getTimezoneOffset());
|
|
22
18
|
if (inputType === 'date') {
|
|
23
19
|
return dateCopy.toISOString().substring(0, 10);
|
|
24
20
|
}
|
|
25
21
|
if (inputType === 'datetime-local') {
|
|
22
|
+
// The date picker expects the date to be in the local timezone.
|
|
23
|
+
// But .toISOString() converts it to UTC with zero offset.
|
|
24
|
+
// So we need to subtract the timezone offset.
|
|
25
|
+
dateCopy.setMinutes(dateCopy.getMinutes() - dateCopy.getTimezoneOffset());
|
|
26
26
|
return dateCopy.toISOString().substring(0, 19);
|
|
27
27
|
}
|
|
28
28
|
return dateCopy.toISOString().substring(0, 10);
|
|
@@ -8,8 +8,7 @@ import { styled } from '@mui/material/styles';
|
|
|
8
8
|
import { useGridRootProps } from '../../../hooks/utils/useGridRootProps';
|
|
9
9
|
import { getValueFromValueOptions, getValueOptions, isSingleSelectColDef } from './filterPanelUtils';
|
|
10
10
|
import { createElement as _createElement } from "react";
|
|
11
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
12
|
const renderSingleSelectOptions = ({
|
|
14
13
|
column,
|
|
15
14
|
OptionComponent,
|
|
@@ -13,8 +13,7 @@ import { useGridRootProps } from '../../../hooks/utils/useGridRootProps';
|
|
|
13
13
|
import { useGridSelector } from '../../../hooks/utils/useGridSelector';
|
|
14
14
|
import { gridFilterModelSelector } from '../../../hooks/features/filter/gridFilterSelector';
|
|
15
15
|
import { gridFilterableColumnDefinitionsSelector, gridFilterableColumnLookupSelector } from '../../../hooks/features/columns/gridColumnsSelector';
|
|
16
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
17
|
const getGridFilter = col => ({
|
|
19
18
|
field: col.field,
|
|
20
19
|
operator: col.filterOperators[0].value,
|
|
@@ -11,8 +11,7 @@ import { GridToolbarFilterButton } from './GridToolbarFilterButton';
|
|
|
11
11
|
import { GridToolbarExport } from './GridToolbarExport';
|
|
12
12
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
13
13
|
import { GridToolbarQuickFilter } from './GridToolbarQuickFilter';
|
|
14
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
15
|
const GridToolbar = /*#__PURE__*/React.forwardRef(function GridToolbar(props, ref) {
|
|
17
16
|
// TODO v7: think about where export option should be passed.
|
|
18
17
|
// from slotProps={{ toolbarExport: { ...exportOption } }} seems to be more appropriate
|
|
@@ -12,8 +12,7 @@ import { useGridSelector } from '../../hooks/utils/useGridSelector';
|
|
|
12
12
|
import { GridMenu } from '../menu/GridMenu';
|
|
13
13
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
14
14
|
import { gridClasses } from '../../constants/gridClasses';
|
|
15
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
16
|
const GridToolbarDensitySelector = /*#__PURE__*/React.forwardRef(function GridToolbarDensitySelector(props, ref) {
|
|
18
17
|
const {
|
|
19
18
|
slotProps = {}
|
|
@@ -8,8 +8,7 @@ import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
|
|
|
8
8
|
import { GridMenu } from '../menu/GridMenu';
|
|
9
9
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
10
10
|
import { gridClasses } from '../../constants/gridClasses';
|
|
11
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
12
|
const GridToolbarExportContainer = /*#__PURE__*/React.forwardRef(function GridToolbarExportContainer(props, ref) {
|
|
14
13
|
const {
|
|
15
14
|
children,
|
|
@@ -12,8 +12,7 @@ import { GridPreferencePanelsValue } from '../../hooks/features/preferencesPanel
|
|
|
12
12
|
import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
|
|
13
13
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
14
14
|
import { getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
15
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
16
|
const useUtilityClasses = ownerState => {
|
|
18
17
|
const {
|
|
19
18
|
classes
|
|
@@ -18,8 +18,7 @@ import { GridVirtualScrollerContent as Content } from './GridVirtualScrollerCont
|
|
|
18
18
|
import { GridVirtualScrollerFiller as SpaceFiller } from './GridVirtualScrollerFiller';
|
|
19
19
|
import { GridVirtualScrollerRenderZone as RenderZone } from './GridVirtualScrollerRenderZone';
|
|
20
20
|
import { GridVirtualScrollbar as Scrollbar } from './GridVirtualScrollbar';
|
|
21
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
22
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
22
|
const useUtilityClasses = (ownerState, dimensions) => {
|
|
24
23
|
const {
|
|
25
24
|
classes
|
|
@@ -5,8 +5,7 @@ import { useGridSelector } from '../../hooks/utils/useGridSelector';
|
|
|
5
5
|
import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
|
|
6
6
|
import { gridDimensionsSelector } from '../../hooks/features/dimensions';
|
|
7
7
|
import { gridClasses } from '../../constants';
|
|
8
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
9
|
const Filler = styled('div')({
|
|
11
10
|
display: 'flex',
|
|
12
11
|
flexDirection: 'row',
|