@mui/x-data-grid 8.4.0 → 8.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +103 -0
- package/DataGrid/DataGrid.js +4 -3
- package/components/GridColumnHeaders.js +1 -0
- package/components/GridFooter.js +1 -0
- package/components/GridLoadingOverlay.js +1 -0
- package/components/GridNoColumnsOverlay.js +1 -0
- package/components/GridNoResultsOverlay.js +2 -1
- package/components/GridNoRowsOverlay.js +1 -0
- package/components/GridRow.js +3 -2
- package/components/GridRowCount.js +1 -0
- package/components/GridSelectedRowCount.js +1 -0
- package/components/GridShadowScrollArea.js +1 -0
- package/components/GridSkeletonLoadingOverlay.js +3 -1
- package/components/cell/GridActionsCell.js +3 -3
- package/components/cell/GridActionsCellItem.js +1 -0
- package/components/cell/GridCell.js +11 -7
- package/components/cell/GridEditBooleanCell.js +6 -4
- package/components/cell/GridEditDateCell.js +4 -3
- package/components/cell/GridEditInputCell.js +5 -3
- package/components/cell/GridEditSingleSelectCell.js +2 -2
- package/components/cell/GridSkeletonCell.js +6 -5
- package/components/columnHeaders/GridBaseColumnHeaders.js +2 -1
- package/components/columnHeaders/GridColumnGroupHeader.js +6 -5
- package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +5 -4
- package/components/columnHeaders/GridColumnHeaderItem.js +7 -6
- package/components/columnHeaders/GridColumnHeaderSeparator.js +4 -3
- package/components/columnHeaders/GridColumnHeaderTitle.js +1 -0
- package/components/columnHeaders/GridGenericColumnHeaderItem.js +4 -3
- package/components/columnHeaders/GridIconButtonContainer.js +2 -1
- package/components/columnSelection/GridCellCheckboxRenderer.js +5 -4
- package/components/columnSelection/GridHeaderCheckbox.js +1 -0
- package/components/columnsManagement/GridColumnsManagement.js +2 -2
- package/components/columnsPanel/ColumnsPanelTrigger.js +1 -0
- package/components/containers/GridFooterContainer.js +1 -0
- package/components/containers/GridOverlay.js +1 -0
- package/components/containers/GridRoot.js +7 -4
- package/components/containers/GridRootStyles.js +1 -1
- package/components/containers/GridToolbarContainer.js +1 -0
- package/components/export/ExportCsv.js +1 -0
- package/components/export/ExportPrint.js +1 -0
- package/components/filterPanel/FilterPanelTrigger.js +1 -0
- package/components/menu/GridMenu.js +6 -4
- package/components/menu/columnMenu/GridColumnMenu.js +2 -0
- package/components/menu/columnMenu/GridColumnMenuContainer.js +1 -0
- package/components/panel/GridPanel.js +3 -2
- package/components/panel/GridPanelWrapper.js +2 -1
- package/components/panel/filterPanel/GridFilterForm.js +10 -7
- package/components/panel/filterPanel/GridFilterInputBoolean.js +5 -4
- package/components/panel/filterPanel/GridFilterInputDate.js +2 -2
- package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +2 -2
- package/components/panel/filterPanel/GridFilterInputMultipleValue.js +2 -2
- package/components/panel/filterPanel/GridFilterInputSingleSelect.js +3 -3
- package/components/panel/filterPanel/GridFilterInputValue.js +2 -2
- package/components/panel/filterPanel/GridFilterPanel.js +1 -0
- package/components/quickFilter/QuickFilter.js +2 -2
- package/components/quickFilter/QuickFilterClear.js +1 -0
- package/components/quickFilter/QuickFilterControl.js +3 -2
- package/components/quickFilter/QuickFilterTrigger.js +3 -2
- package/components/toolbar/GridToolbar.js +3 -2
- package/components/toolbar/GridToolbarColumnsButton.js +1 -0
- package/components/toolbar/GridToolbarDensitySelector.js +6 -4
- package/components/toolbar/GridToolbarExport.js +1 -0
- package/components/toolbar/GridToolbarExportContainer.js +6 -4
- package/components/toolbar/GridToolbarFilterButton.js +8 -5
- package/components/toolbarV8/Toolbar.js +1 -0
- package/components/toolbarV8/ToolbarButton.js +3 -2
- package/components/virtualization/GridMainContainer.js +2 -1
- package/components/virtualization/GridVirtualScrollbar.js +2 -1
- package/components/virtualization/GridVirtualScrollerContent.js +2 -1
- package/components/virtualization/GridVirtualScrollerRenderZone.js +2 -1
- package/constants/gridClasses.d.ts +4 -0
- package/constants/gridClasses.js +5 -3
- package/esm/DataGrid/DataGrid.js +4 -3
- package/esm/components/GridColumnHeaders.js +1 -0
- package/esm/components/GridFooter.js +1 -0
- package/esm/components/GridLoadingOverlay.js +1 -0
- package/esm/components/GridNoColumnsOverlay.js +1 -0
- package/esm/components/GridNoResultsOverlay.js +2 -1
- package/esm/components/GridNoRowsOverlay.js +1 -0
- package/esm/components/GridRow.js +2 -1
- package/esm/components/GridRowCount.js +1 -0
- package/esm/components/GridSelectedRowCount.js +1 -0
- package/esm/components/GridShadowScrollArea.js +1 -0
- package/esm/components/GridSkeletonLoadingOverlay.js +3 -1
- package/esm/components/cell/GridActionsCell.js +1 -1
- package/esm/components/cell/GridActionsCellItem.js +1 -0
- package/esm/components/cell/GridCell.js +5 -1
- package/esm/components/cell/GridEditBooleanCell.js +3 -1
- package/esm/components/cell/GridEditDateCell.js +2 -1
- package/esm/components/cell/GridEditInputCell.js +3 -1
- package/esm/components/cell/GridEditSingleSelectCell.js +1 -1
- package/esm/components/cell/GridSkeletonCell.js +2 -1
- package/esm/components/columnHeaders/GridBaseColumnHeaders.js +2 -1
- package/esm/components/columnHeaders/GridColumnGroupHeader.js +2 -1
- package/esm/components/columnHeaders/GridColumnHeaderFilterIconButton.js +2 -1
- package/esm/components/columnHeaders/GridColumnHeaderItem.js +2 -1
- package/esm/components/columnHeaders/GridColumnHeaderSeparator.js +2 -1
- package/esm/components/columnHeaders/GridColumnHeaderTitle.js +1 -0
- package/esm/components/columnHeaders/GridGenericColumnHeaderItem.js +2 -1
- package/esm/components/columnHeaders/GridIconButtonContainer.js +2 -1
- package/esm/components/columnSelection/GridCellCheckboxRenderer.js +2 -1
- package/esm/components/columnSelection/GridHeaderCheckbox.js +1 -0
- package/esm/components/columnsManagement/GridColumnsManagement.js +2 -2
- package/esm/components/columnsPanel/ColumnsPanelTrigger.js +1 -0
- package/esm/components/containers/GridFooterContainer.js +1 -0
- package/esm/components/containers/GridOverlay.js +1 -0
- package/esm/components/containers/GridRoot.js +4 -1
- package/esm/components/containers/GridRootStyles.js +1 -1
- package/esm/components/containers/GridToolbarContainer.js +1 -0
- package/esm/components/export/ExportCsv.js +1 -0
- package/esm/components/export/ExportPrint.js +1 -0
- package/esm/components/filterPanel/FilterPanelTrigger.js +1 -0
- package/esm/components/menu/GridMenu.js +3 -1
- package/esm/components/menu/columnMenu/GridColumnMenu.js +2 -0
- package/esm/components/menu/columnMenu/GridColumnMenuContainer.js +1 -0
- package/esm/components/panel/GridPanel.js +2 -1
- package/esm/components/panel/GridPanelWrapper.js +1 -0
- package/esm/components/panel/filterPanel/GridFilterForm.js +4 -1
- package/esm/components/panel/filterPanel/GridFilterInputBoolean.js +2 -1
- package/esm/components/panel/filterPanel/GridFilterInputDate.js +1 -1
- package/esm/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
- package/esm/components/panel/filterPanel/GridFilterInputMultipleValue.js +1 -1
- package/esm/components/panel/filterPanel/GridFilterInputSingleSelect.js +1 -1
- package/esm/components/panel/filterPanel/GridFilterInputValue.js +1 -1
- package/esm/components/panel/filterPanel/GridFilterPanel.js +1 -0
- package/esm/components/quickFilter/QuickFilter.js +1 -1
- package/esm/components/quickFilter/QuickFilterClear.js +1 -0
- package/esm/components/quickFilter/QuickFilterControl.js +2 -1
- package/esm/components/quickFilter/QuickFilterTrigger.js +2 -1
- package/esm/components/toolbar/GridToolbar.js +1 -0
- package/esm/components/toolbar/GridToolbarColumnsButton.js +1 -0
- package/esm/components/toolbar/GridToolbarDensitySelector.js +3 -1
- package/esm/components/toolbar/GridToolbarExport.js +1 -0
- package/esm/components/toolbar/GridToolbarExportContainer.js +3 -1
- package/esm/components/toolbar/GridToolbarFilterButton.js +4 -1
- package/esm/components/toolbarV8/Toolbar.js +1 -0
- package/esm/components/toolbarV8/ToolbarButton.js +2 -1
- package/esm/components/virtualization/GridMainContainer.js +2 -1
- package/esm/components/virtualization/GridVirtualScrollbar.js +1 -0
- package/esm/components/virtualization/GridVirtualScrollerContent.js +1 -0
- package/esm/components/virtualization/GridVirtualScrollerRenderZone.js +1 -0
- package/esm/constants/gridClasses.d.ts +4 -0
- package/esm/constants/gridClasses.js +3 -2
- package/esm/hooks/features/columns/gridColumnsSelector.d.ts +9 -0
- package/esm/hooks/features/columns/gridColumnsSelector.js +9 -2
- package/esm/hooks/features/dataSource/useGridDataSourceBase.js +1 -1
- package/esm/hooks/features/export/useGridPrintExport.js +1 -1
- package/esm/hooks/features/filter/useGridFilter.js +1 -1
- package/esm/hooks/features/rows/useGridRowsMeta.js +5 -2
- package/esm/hooks/features/sorting/useGridSorting.d.ts +1 -1
- package/esm/hooks/features/sorting/useGridSorting.js +5 -5
- package/esm/hooks/utils/useRunOnce.js +1 -1
- package/esm/index.js +1 -1
- package/esm/material/index.js +14 -0
- package/esm/models/props/DataGridProps.d.ts +7 -0
- package/esm/utils/composeGridClasses.d.ts +1 -1
- package/esm/utils/composeGridClasses.js +1 -1
- package/hooks/features/columns/gridColumnsSelector.d.ts +9 -0
- package/hooks/features/columns/gridColumnsSelector.js +10 -3
- package/hooks/features/dataSource/useGridDataSourceBase.js +12 -12
- package/hooks/features/export/useGridPrintExport.js +5 -5
- package/hooks/features/filter/useGridFilter.js +2 -2
- package/hooks/features/rows/useGridRowsMeta.js +8 -5
- package/hooks/features/sorting/useGridSorting.d.ts +1 -1
- package/hooks/features/sorting/useGridSorting.js +6 -6
- package/hooks/utils/useRunOnce.js +3 -2
- package/index.js +1 -1
- package/material/index.js +14 -0
- package/models/props/DataGridProps.d.ts +7 -0
- package/package.json +2 -2
- package/utils/composeGridClasses.d.ts +1 -1
- package/utils/composeGridClasses.js +3 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import generateUtilityClass from '@mui/utils/generateUtilityClass';
|
|
2
|
+
import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
|
|
2
3
|
export function getDataGridUtilityClass(slot) {
|
|
3
4
|
return generateUtilityClass('MuiDataGrid', slot);
|
|
4
5
|
}
|
|
5
|
-
export const gridClasses = generateUtilityClasses('MuiDataGrid', ['aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'autoHeight', 'autosizing', 'mainContent', 'withSidePanel', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'container--top', 'container--bottom', 'detailPanel', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortButton', 'sortIcon', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction']);
|
|
6
|
+
export const gridClasses = generateUtilityClasses('MuiDataGrid', ['aiAssistantPanel', 'aiAssistantPanelHeader', 'aiAssistantPanelTitleContainer', 'aiAssistantPanelTitle', 'aiAssistantPanelBody', 'aiAssistantPanelEmptyText', 'aiAssistantPanelFooter', 'aiAssistantPanelConversation', 'aiAssistantPanelConversationList', 'aiAssistantPanelConversationTitle', 'aiAssistantPanelSuggestions', 'aiAssistantPanelSuggestionsList', 'aiAssistantPanelSuggestionsItem', 'aiAssistantPanelSuggestionsLabel', 'actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'aggregationRowOverlayWrapper', 'autoHeight', 'autosizing', 'mainContent', 'withSidePanel', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'collapsible', 'collapsibleTrigger', 'collapsibleIcon', 'collapsiblePanel', 'columnHeader', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader--last', 'columnHeader--lastUnpinned', 'columnHeader--siblingFocused', 'columnHeader--filter', 'columnHeaderFilterInput', 'columnHeaderFilterOperatorLabel', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementSearchInput', 'columnsManagementFooter', 'columnsManagementScrollArea', 'columnsManagementEmptyText', 'container--top', 'container--bottom', 'detailPanel', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderBottom', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'main--hiddenContent', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'root--noToolbar', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'row--borderBottom', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'rowReorderIcon', 'rowSkeleton', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--borderBottom', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortButton', 'sortIcon', 'shadowScrollArea', 'sidebar', 'sidebarHeader', 'toolbarContainer', 'toolbar', 'toolbarLabel', 'toolbarDivider', 'toolbarFilterList', 'toolbarQuickFilter', 'toolbarQuickFilterTrigger', 'toolbarQuickFilterControl', 'virtualScroller', 'virtualScroller--hasScrollX', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'treeDataGroupingCellLoadingContainer', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'groupingCriteriaCellLoadingContainer', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pivotPanelAvailableFields', 'pivotPanelField', 'pivotPanelField--sorted', 'pivotPanelFieldActionContainer', 'pivotPanelFieldCheckbox', 'pivotPanelFieldDragIcon', 'pivotPanelFieldList', 'pivotPanelFieldName', 'pivotPanelHeader', 'pivotPanelPlaceholder', 'pivotPanelScrollArea', 'pivotPanelSearchContainer', 'pivotPanelSection', 'pivotPanelSectionTitle', 'pivotPanelSections', 'pivotPanelSwitch', 'pivotPanelSwitchLabel', 'prompt', 'promptContent', 'promptText', 'promptFeedback', 'promptChangeList', 'promptChangesToggle', 'promptChangesToggleIcon', 'promptIcon', 'promptIconContainer', 'promptError', 'promptAction']);
|
|
@@ -48,6 +48,15 @@ export declare const gridVisibleColumnFieldsSelector: import("@mui/x-data-grid")
|
|
|
48
48
|
* @category Visible Columns
|
|
49
49
|
*/
|
|
50
50
|
export declare const gridPinnedColumnsSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, unknown, GridPinnedColumnFields>;
|
|
51
|
+
/**
|
|
52
|
+
* Get all existing pinned columns. Place the columns on the side that depends on the rtl state.
|
|
53
|
+
* @category Pinned Columns
|
|
54
|
+
* @ignore - Do not document
|
|
55
|
+
*/
|
|
56
|
+
export declare const gridExistingPinnedColumnSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, boolean, {
|
|
57
|
+
left: string[];
|
|
58
|
+
right: string[];
|
|
59
|
+
}>;
|
|
51
60
|
/**
|
|
52
61
|
* Get the visible pinned columns.
|
|
53
62
|
* @category Visible Columns
|
|
@@ -59,19 +59,26 @@ export const gridVisibleColumnFieldsSelector = createSelectorMemoized(gridVisibl
|
|
|
59
59
|
*/
|
|
60
60
|
export const gridPinnedColumnsSelector = createRootSelector(state => state.pinnedColumns);
|
|
61
61
|
|
|
62
|
+
/**
|
|
63
|
+
* Get all existing pinned columns. Place the columns on the side that depends on the rtl state.
|
|
64
|
+
* @category Pinned Columns
|
|
65
|
+
* @ignore - Do not document
|
|
66
|
+
*/
|
|
67
|
+
export const gridExistingPinnedColumnSelector = createSelectorMemoized(gridPinnedColumnsSelector, gridColumnFieldsSelector, gridIsRtlSelector, (model, orderedFields, isRtl) => filterMissingColumns(model, orderedFields, isRtl));
|
|
68
|
+
|
|
62
69
|
/**
|
|
63
70
|
* Get the visible pinned columns.
|
|
64
71
|
* @category Visible Columns
|
|
65
72
|
*/
|
|
66
73
|
export const gridVisiblePinnedColumnDefinitionsSelector = createSelectorMemoized(gridColumnsStateSelector, gridPinnedColumnsSelector, gridVisibleColumnFieldsSelector, gridIsRtlSelector, (columnsState, model, visibleColumnFields, isRtl) => {
|
|
67
|
-
const visiblePinnedFields =
|
|
74
|
+
const visiblePinnedFields = filterMissingColumns(model, visibleColumnFields, isRtl);
|
|
68
75
|
const visiblePinnedColumns = {
|
|
69
76
|
left: visiblePinnedFields.left.map(field => columnsState.lookup[field]),
|
|
70
77
|
right: visiblePinnedFields.right.map(field => columnsState.lookup[field])
|
|
71
78
|
};
|
|
72
79
|
return visiblePinnedColumns;
|
|
73
80
|
});
|
|
74
|
-
function
|
|
81
|
+
function filterMissingColumns(pinnedColumns, columns, invert) {
|
|
75
82
|
if (!Array.isArray(pinnedColumns.left) && !Array.isArray(pinnedColumns.right)) {
|
|
76
83
|
return EMPTY_PINNED_COLUMN_FIELDS;
|
|
77
84
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import useLazyRef from '@mui/utils/useLazyRef';
|
|
4
|
-
import
|
|
4
|
+
import debounce from '@mui/utils/debounce';
|
|
5
5
|
import { warnOnce } from '@mui/x-internals/warning';
|
|
6
6
|
import { isDeepEqual } from '@mui/x-internals/isDeepEqual';
|
|
7
7
|
import { GRID_ROOT_GROUP_ID } from "../rows/gridRowsUtils.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import
|
|
3
|
+
import ownerDocument from '@mui/utils/ownerDocument';
|
|
4
4
|
import { loadStyleSheets } from '@mui/x-internals/export';
|
|
5
5
|
import { useGridLogger } from "../../utils/useGridLogger.js";
|
|
6
6
|
import { gridExpandedRowCountSelector } from "../filter/gridFilterSelector.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { lruMemoize } from 'reselect';
|
|
4
|
-
import
|
|
4
|
+
import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
|
|
5
5
|
import { isDeepEqual } from '@mui/x-internals/isDeepEqual';
|
|
6
6
|
import { useLazyRef } from "../../utils/useLazyRef.js";
|
|
7
7
|
import { useGridEvent } from "../../utils/useGridEvent.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import useLazyRef from '@mui/utils/useLazyRef';
|
|
4
|
-
import
|
|
4
|
+
import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
|
|
5
5
|
import { ResizeObserver } from "../../../utils/ResizeObserver.js";
|
|
6
6
|
import { useGridVisibleRows } from "../../utils/useGridVisibleRows.js";
|
|
7
7
|
import { eslintUseValue } from "../../../utils/utils.js";
|
|
@@ -194,7 +194,10 @@ export const useGridRowsMeta = (apiRef, props) => {
|
|
|
194
194
|
apiRef.current.unstable_storeRowHeightMeasurement(rowId, height);
|
|
195
195
|
}
|
|
196
196
|
if (!isHeightMetaValid.current) {
|
|
197
|
-
|
|
197
|
+
// Avoids "ResizeObserver loop completed with undelivered notifications" error
|
|
198
|
+
requestAnimationFrame(() => {
|
|
199
|
+
apiRef.current.requestPipeProcessorsApplication('rowHeight');
|
|
200
|
+
});
|
|
198
201
|
}
|
|
199
202
|
})).current;
|
|
200
203
|
const observeRowHeight = (element, rowId) => {
|
|
@@ -7,4 +7,4 @@ export declare const sortingStateInitializer: GridStateInitializer<Pick<DataGrid
|
|
|
7
7
|
* @requires useGridRows (event)
|
|
8
8
|
* @requires useGridColumns (event)
|
|
9
9
|
*/
|
|
10
|
-
export declare const useGridSorting: (apiRef: RefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "initialState" | "sortModel" | "onSortModelChange" | "sortingOrder" | "sortingMode" | "disableColumnSorting" | "disableMultipleColumnsSorting">) => void;
|
|
10
|
+
export declare const useGridSorting: (apiRef: RefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "initialState" | "sortModel" | "onSortModelChange" | "sortingOrder" | "sortingMode" | "disableColumnSorting" | "disableMultipleColumnsSorting" | "multipleColumnsSortingMode">) => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import
|
|
3
|
+
import useEnhancedEffect from '@mui/utils/useEnhancedEffect';
|
|
4
4
|
import { useGridEvent } from "../../utils/useGridEvent.js";
|
|
5
5
|
import { useGridApiMethod } from "../../utils/useGridApiMethod.js";
|
|
6
6
|
import { useGridLogger } from "../../utils/useGridLogger.js";
|
|
@@ -194,9 +194,9 @@ export const useGridSorting = (apiRef, props) => {
|
|
|
194
194
|
if (!colDef.sortable || props.disableColumnSorting) {
|
|
195
195
|
return;
|
|
196
196
|
}
|
|
197
|
-
const allowMultipleSorting = event.shiftKey || event.metaKey || event.ctrlKey;
|
|
197
|
+
const allowMultipleSorting = props.multipleColumnsSortingMode === 'always' || event.shiftKey || event.metaKey || event.ctrlKey;
|
|
198
198
|
sortColumn(field, undefined, allowMultipleSorting);
|
|
199
|
-
}, [sortColumn, props.disableColumnSorting]);
|
|
199
|
+
}, [sortColumn, props.disableColumnSorting, props.multipleColumnsSortingMode]);
|
|
200
200
|
const handleColumnHeaderKeyDown = React.useCallback(({
|
|
201
201
|
field,
|
|
202
202
|
colDef
|
|
@@ -206,9 +206,9 @@ export const useGridSorting = (apiRef, props) => {
|
|
|
206
206
|
}
|
|
207
207
|
// Ctrl + Enter opens the column menu
|
|
208
208
|
if (event.key === 'Enter' && !event.ctrlKey && !event.metaKey) {
|
|
209
|
-
sortColumn(field, undefined, event.shiftKey);
|
|
209
|
+
sortColumn(field, undefined, props.multipleColumnsSortingMode === 'always' || event.shiftKey);
|
|
210
210
|
}
|
|
211
|
-
}, [sortColumn, props.disableColumnSorting]);
|
|
211
|
+
}, [sortColumn, props.disableColumnSorting, props.multipleColumnsSortingMode]);
|
|
212
212
|
const handleColumnsChange = React.useCallback(() => {
|
|
213
213
|
// When the columns change we check that the sorted columns are still part of the dataset
|
|
214
214
|
const sortModel = gridSortModelSelector(apiRef);
|
package/esm/index.js
CHANGED
package/esm/material/index.js
CHANGED
|
@@ -170,6 +170,7 @@ const BaseSelect = forwardRef(function BaseSelect(props, ref) {
|
|
|
170
170
|
}, material))]
|
|
171
171
|
});
|
|
172
172
|
});
|
|
173
|
+
if (process.env.NODE_ENV !== "production") BaseSelect.displayName = "BaseSelect";
|
|
173
174
|
const StyledPagination = styled(MUIPagination)(({
|
|
174
175
|
theme
|
|
175
176
|
}) => ({
|
|
@@ -225,6 +226,7 @@ const BasePagination = forwardRef(function BasePagination(props, ref) {
|
|
|
225
226
|
ref: ref
|
|
226
227
|
}));
|
|
227
228
|
});
|
|
229
|
+
if (process.env.NODE_ENV !== "production") BasePagination.displayName = "BasePagination";
|
|
228
230
|
const BaseBadge = forwardRef(function BaseBadge(props, ref) {
|
|
229
231
|
const {
|
|
230
232
|
material
|
|
@@ -234,6 +236,7 @@ const BaseBadge = forwardRef(function BaseBadge(props, ref) {
|
|
|
234
236
|
ref: ref
|
|
235
237
|
}));
|
|
236
238
|
});
|
|
239
|
+
if (process.env.NODE_ENV !== "production") BaseBadge.displayName = "BaseBadge";
|
|
237
240
|
const BaseCheckbox = forwardRef(function BaseCheckbox(props, ref) {
|
|
238
241
|
const {
|
|
239
242
|
autoFocus,
|
|
@@ -278,6 +281,7 @@ const BaseCheckbox = forwardRef(function BaseCheckbox(props, ref) {
|
|
|
278
281
|
fullWidth: fullWidth
|
|
279
282
|
});
|
|
280
283
|
});
|
|
284
|
+
if (process.env.NODE_ENV !== "production") BaseCheckbox.displayName = "BaseCheckbox";
|
|
281
285
|
const BaseCircularProgress = forwardRef(function BaseCircularProgress(props, ref) {
|
|
282
286
|
const {
|
|
283
287
|
material
|
|
@@ -287,6 +291,7 @@ const BaseCircularProgress = forwardRef(function BaseCircularProgress(props, ref
|
|
|
287
291
|
ref: ref
|
|
288
292
|
}));
|
|
289
293
|
});
|
|
294
|
+
if (process.env.NODE_ENV !== "production") BaseCircularProgress.displayName = "BaseCircularProgress";
|
|
290
295
|
const BaseDivider = forwardRef(function BaseDivider(props, ref) {
|
|
291
296
|
const {
|
|
292
297
|
material
|
|
@@ -296,6 +301,7 @@ const BaseDivider = forwardRef(function BaseDivider(props, ref) {
|
|
|
296
301
|
ref: ref
|
|
297
302
|
}));
|
|
298
303
|
});
|
|
304
|
+
if (process.env.NODE_ENV !== "production") BaseDivider.displayName = "BaseDivider";
|
|
299
305
|
const BaseLinearProgress = forwardRef(function BaseLinearProgress(props, ref) {
|
|
300
306
|
const {
|
|
301
307
|
material
|
|
@@ -305,6 +311,7 @@ const BaseLinearProgress = forwardRef(function BaseLinearProgress(props, ref) {
|
|
|
305
311
|
ref: ref
|
|
306
312
|
}));
|
|
307
313
|
});
|
|
314
|
+
if (process.env.NODE_ENV !== "production") BaseLinearProgress.displayName = "BaseLinearProgress";
|
|
308
315
|
const BaseButton = forwardRef(function BaseButton(props, ref) {
|
|
309
316
|
const {
|
|
310
317
|
material
|
|
@@ -314,6 +321,7 @@ const BaseButton = forwardRef(function BaseButton(props, ref) {
|
|
|
314
321
|
ref: ref
|
|
315
322
|
}));
|
|
316
323
|
});
|
|
324
|
+
if (process.env.NODE_ENV !== "production") BaseButton.displayName = "BaseButton";
|
|
317
325
|
const BaseChip = forwardRef(function BaseChip(props, ref) {
|
|
318
326
|
const {
|
|
319
327
|
material
|
|
@@ -323,6 +331,7 @@ const BaseChip = forwardRef(function BaseChip(props, ref) {
|
|
|
323
331
|
ref: ref
|
|
324
332
|
}));
|
|
325
333
|
});
|
|
334
|
+
if (process.env.NODE_ENV !== "production") BaseChip.displayName = "BaseChip";
|
|
326
335
|
const BaseIconButton = forwardRef(function BaseIconButton(props, ref) {
|
|
327
336
|
const {
|
|
328
337
|
material
|
|
@@ -332,6 +341,7 @@ const BaseIconButton = forwardRef(function BaseIconButton(props, ref) {
|
|
|
332
341
|
ref: ref
|
|
333
342
|
}));
|
|
334
343
|
});
|
|
344
|
+
if (process.env.NODE_ENV !== "production") BaseIconButton.displayName = "BaseIconButton";
|
|
335
345
|
const BaseTooltip = forwardRef(function BaseTooltip(props, ref) {
|
|
336
346
|
const {
|
|
337
347
|
material
|
|
@@ -341,6 +351,7 @@ const BaseTooltip = forwardRef(function BaseTooltip(props, ref) {
|
|
|
341
351
|
ref: ref
|
|
342
352
|
}));
|
|
343
353
|
});
|
|
354
|
+
if (process.env.NODE_ENV !== "production") BaseTooltip.displayName = "BaseTooltip";
|
|
344
355
|
const BaseSkeleton = forwardRef(function BaseSkeleton(props, ref) {
|
|
345
356
|
const {
|
|
346
357
|
material
|
|
@@ -350,6 +361,7 @@ const BaseSkeleton = forwardRef(function BaseSkeleton(props, ref) {
|
|
|
350
361
|
ref: ref
|
|
351
362
|
}));
|
|
352
363
|
});
|
|
364
|
+
if (process.env.NODE_ENV !== "production") BaseSkeleton.displayName = "BaseSkeleton";
|
|
353
365
|
const BaseSwitch = forwardRef(function BaseSwitch(props, ref) {
|
|
354
366
|
const {
|
|
355
367
|
material,
|
|
@@ -371,6 +383,7 @@ const BaseSwitch = forwardRef(function BaseSwitch(props, ref) {
|
|
|
371
383
|
label: label
|
|
372
384
|
});
|
|
373
385
|
});
|
|
386
|
+
if (process.env.NODE_ENV !== "production") BaseSwitch.displayName = "BaseSwitch";
|
|
374
387
|
const BaseMenuList = forwardRef(function BaseMenuList(props, ref) {
|
|
375
388
|
const {
|
|
376
389
|
material
|
|
@@ -380,6 +393,7 @@ const BaseMenuList = forwardRef(function BaseMenuList(props, ref) {
|
|
|
380
393
|
ref: ref
|
|
381
394
|
}));
|
|
382
395
|
});
|
|
396
|
+
if (process.env.NODE_ENV !== "production") BaseMenuList.displayName = "BaseMenuList";
|
|
383
397
|
function BaseMenuItem(props) {
|
|
384
398
|
const {
|
|
385
399
|
inert,
|
|
@@ -841,6 +841,13 @@ export interface DataGridProSharedPropsWithDefaultValue {
|
|
|
841
841
|
* @default false
|
|
842
842
|
*/
|
|
843
843
|
listView: boolean;
|
|
844
|
+
/**
|
|
845
|
+
* If set to "always", the multi-sorting is applied without modifier key.
|
|
846
|
+
* Otherwise, the modifier key is required for multi-sorting to be applied.
|
|
847
|
+
* @see See https://mui.com/x/react-data-grid/sorting/#multi-sorting
|
|
848
|
+
* @default "withModifierKey"
|
|
849
|
+
*/
|
|
850
|
+
multipleColumnsSortingMode: 'withModifierKey' | 'always';
|
|
844
851
|
}
|
|
845
852
|
export interface DataGridProSharedPropsWithoutDefaultValue<R extends GridValidRowModel = any> {
|
|
846
853
|
/**
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import
|
|
1
|
+
import composeClasses from '@mui/utils/composeClasses';
|
|
2
2
|
import type { DataGridProcessedProps } from "../models/props/DataGridProps.js";
|
|
3
3
|
export declare function composeGridClasses(classes: DataGridProcessedProps['classes'], slots: Parameters<typeof composeClasses>[0]): Record<string, string>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import composeClasses from '@mui/utils/composeClasses';
|
|
2
2
|
import { getDataGridUtilityClass } from "../constants/gridClasses.js";
|
|
3
3
|
export function composeGridClasses(classes, slots) {
|
|
4
4
|
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
@@ -48,6 +48,15 @@ export declare const gridVisibleColumnFieldsSelector: import("@mui/x-data-grid")
|
|
|
48
48
|
* @category Visible Columns
|
|
49
49
|
*/
|
|
50
50
|
export declare const gridPinnedColumnsSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, unknown, GridPinnedColumnFields>;
|
|
51
|
+
/**
|
|
52
|
+
* Get all existing pinned columns. Place the columns on the side that depends on the rtl state.
|
|
53
|
+
* @category Pinned Columns
|
|
54
|
+
* @ignore - Do not document
|
|
55
|
+
*/
|
|
56
|
+
export declare const gridExistingPinnedColumnSelector: import("@mui/x-data-grid").OutputSelector<GridStateCommunity, boolean, {
|
|
57
|
+
left: string[];
|
|
58
|
+
right: string[];
|
|
59
|
+
}>;
|
|
51
60
|
/**
|
|
52
61
|
* Get the visible pinned columns.
|
|
53
62
|
* @category Visible Columns
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.gridVisiblePinnedColumnDefinitionsSelector = exports.gridVisibleColumnFieldsSelector = exports.gridVisibleColumnDefinitionsSelector = exports.gridPinnedColumnsSelector = exports.gridInitialColumnVisibilityModelSelector = exports.gridHasColSpanSelector = exports.gridFilterableColumnLookupSelector = exports.gridFilterableColumnDefinitionsSelector = exports.gridColumnsStateSelector = exports.gridColumnVisibilityModelSelector = exports.gridColumnPositionsSelector = exports.gridColumnLookupSelector = exports.gridColumnFieldsSelector = exports.gridColumnDefinitionsSelector = void 0;
|
|
6
|
+
exports.gridVisiblePinnedColumnDefinitionsSelector = exports.gridVisibleColumnFieldsSelector = exports.gridVisibleColumnDefinitionsSelector = exports.gridPinnedColumnsSelector = exports.gridInitialColumnVisibilityModelSelector = exports.gridHasColSpanSelector = exports.gridFilterableColumnLookupSelector = exports.gridFilterableColumnDefinitionsSelector = exports.gridExistingPinnedColumnSelector = exports.gridColumnsStateSelector = exports.gridColumnVisibilityModelSelector = exports.gridColumnPositionsSelector = exports.gridColumnLookupSelector = exports.gridColumnFieldsSelector = exports.gridColumnDefinitionsSelector = void 0;
|
|
7
7
|
var _createSelector = require("../../../utils/createSelector");
|
|
8
8
|
var _gridColumnsInterfaces = require("./gridColumnsInterfaces");
|
|
9
9
|
var _gridCoreSelector = require("../../core/gridCoreSelector");
|
|
@@ -64,19 +64,26 @@ const gridVisibleColumnFieldsSelector = exports.gridVisibleColumnFieldsSelector
|
|
|
64
64
|
*/
|
|
65
65
|
const gridPinnedColumnsSelector = exports.gridPinnedColumnsSelector = (0, _createSelector.createRootSelector)(state => state.pinnedColumns);
|
|
66
66
|
|
|
67
|
+
/**
|
|
68
|
+
* Get all existing pinned columns. Place the columns on the side that depends on the rtl state.
|
|
69
|
+
* @category Pinned Columns
|
|
70
|
+
* @ignore - Do not document
|
|
71
|
+
*/
|
|
72
|
+
const gridExistingPinnedColumnSelector = exports.gridExistingPinnedColumnSelector = (0, _createSelector.createSelectorMemoized)(gridPinnedColumnsSelector, gridColumnFieldsSelector, _gridCoreSelector.gridIsRtlSelector, (model, orderedFields, isRtl) => filterMissingColumns(model, orderedFields, isRtl));
|
|
73
|
+
|
|
67
74
|
/**
|
|
68
75
|
* Get the visible pinned columns.
|
|
69
76
|
* @category Visible Columns
|
|
70
77
|
*/
|
|
71
78
|
const gridVisiblePinnedColumnDefinitionsSelector = exports.gridVisiblePinnedColumnDefinitionsSelector = (0, _createSelector.createSelectorMemoized)(gridColumnsStateSelector, gridPinnedColumnsSelector, gridVisibleColumnFieldsSelector, _gridCoreSelector.gridIsRtlSelector, (columnsState, model, visibleColumnFields, isRtl) => {
|
|
72
|
-
const visiblePinnedFields =
|
|
79
|
+
const visiblePinnedFields = filterMissingColumns(model, visibleColumnFields, isRtl);
|
|
73
80
|
const visiblePinnedColumns = {
|
|
74
81
|
left: visiblePinnedFields.left.map(field => columnsState.lookup[field]),
|
|
75
82
|
right: visiblePinnedFields.right.map(field => columnsState.lookup[field])
|
|
76
83
|
};
|
|
77
84
|
return visiblePinnedColumns;
|
|
78
85
|
});
|
|
79
|
-
function
|
|
86
|
+
function filterMissingColumns(pinnedColumns, columns, invert) {
|
|
80
87
|
if (!Array.isArray(pinnedColumns.left) && !Array.isArray(pinnedColumns.right)) {
|
|
81
88
|
return _gridColumnsInterfaces.EMPTY_PINNED_COLUMN_FIELDS;
|
|
82
89
|
}
|
|
@@ -9,16 +9,16 @@ exports.useGridDataSourceBase = void 0;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
|
|
12
|
-
var
|
|
12
|
+
var _debounce = _interopRequireDefault(require("@mui/utils/debounce"));
|
|
13
13
|
var _warning = require("@mui/x-internals/warning");
|
|
14
14
|
var _isDeepEqual = require("@mui/x-internals/isDeepEqual");
|
|
15
15
|
var _gridRowsUtils = require("../rows/gridRowsUtils");
|
|
16
|
-
var
|
|
16
|
+
var _utils = require("../../../utils/utils");
|
|
17
17
|
var _strategyProcessing = require("../../core/strategyProcessing");
|
|
18
18
|
var _useGridSelector = require("../../utils/useGridSelector");
|
|
19
19
|
var _gridPaginationSelector = require("../pagination/gridPaginationSelector");
|
|
20
20
|
var _gridDataSourceSelector = require("./gridDataSourceSelector");
|
|
21
|
-
var
|
|
21
|
+
var _utils2 = require("./utils");
|
|
22
22
|
var _cache = require("./cache");
|
|
23
23
|
var _gridDataSourceError = require("./gridDataSourceError");
|
|
24
24
|
const noopCache = {
|
|
@@ -34,7 +34,7 @@ function getCache(cacheProp, options = {}) {
|
|
|
34
34
|
}
|
|
35
35
|
const useGridDataSourceBase = (apiRef, props, options = {}) => {
|
|
36
36
|
const setStrategyAvailability = React.useCallback(() => {
|
|
37
|
-
apiRef.current.setStrategyAvailability(_strategyProcessing.GridStrategyGroup.DataSource,
|
|
37
|
+
apiRef.current.setStrategyAvailability(_strategyProcessing.GridStrategyGroup.DataSource, _utils2.DataSourceRowsUpdateStrategy.Default, props.dataSource ? () => true : () => false);
|
|
38
38
|
}, [apiRef, props.dataSource]);
|
|
39
39
|
const [defaultRowsUpdateStrategyActive, setDefaultRowsUpdateStrategyActive] = React.useState(false);
|
|
40
40
|
const paginationModel = (0, _useGridSelector.useGridSelector)(apiRef, _gridPaginationSelector.gridPaginationModelSelector);
|
|
@@ -43,7 +43,7 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
|
|
|
43
43
|
const cacheChunkManager = (0, _useLazyRef.default)(() => {
|
|
44
44
|
const sortedPageSizeOptions = props.pageSizeOptions.map(option => typeof option === 'number' ? option : option.value).sort((a, b) => a - b);
|
|
45
45
|
const cacheChunkSize = Math.min(paginationModel.pageSize, sortedPageSizeOptions[0]);
|
|
46
|
-
return new
|
|
46
|
+
return new _utils2.CacheChunkManager(cacheChunkSize);
|
|
47
47
|
}).current;
|
|
48
48
|
const [cache, setCache] = React.useState(() => getCache(props.dataSourceCache, options.cacheOptions));
|
|
49
49
|
const fetchRows = React.useCallback(async (parentId, params) => {
|
|
@@ -61,7 +61,7 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
|
|
|
61
61
|
const responses = cacheKeys.map(cacheKey => cache.get(cacheKey));
|
|
62
62
|
if (responses.every(response => response !== undefined)) {
|
|
63
63
|
apiRef.current.applyStrategyProcessor('dataSourceRowsUpdate', {
|
|
64
|
-
response:
|
|
64
|
+
response: _utils2.CacheChunkManager.mergeResponses(responses),
|
|
65
65
|
fetchParams
|
|
66
66
|
});
|
|
67
67
|
return;
|
|
@@ -106,7 +106,7 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
|
|
|
106
106
|
}
|
|
107
107
|
}, [cacheChunkManager, cache, apiRef, defaultRowsUpdateStrategyActive, props.dataSource?.getRows, onDataSourceErrorProp, options, props.signature]);
|
|
108
108
|
const handleStrategyActivityChange = React.useCallback(() => {
|
|
109
|
-
setDefaultRowsUpdateStrategyActive(apiRef.current.getActiveStrategy(_strategyProcessing.GridStrategyGroup.DataSource) ===
|
|
109
|
+
setDefaultRowsUpdateStrategyActive(apiRef.current.getActiveStrategy(_strategyProcessing.GridStrategyGroup.DataSource) === _utils2.DataSourceRowsUpdateStrategy.Default);
|
|
110
110
|
}, [apiRef]);
|
|
111
111
|
const handleDataUpdate = React.useCallback(params => {
|
|
112
112
|
if ('error' in params) {
|
|
@@ -163,7 +163,7 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
|
|
|
163
163
|
editRow
|
|
164
164
|
}
|
|
165
165
|
};
|
|
166
|
-
const debouncedFetchRows = React.useMemo(() => (0,
|
|
166
|
+
const debouncedFetchRows = React.useMemo(() => (0, _debounce.default)(fetchRows, 0), [fetchRows]);
|
|
167
167
|
const isFirstRender = React.useRef(true);
|
|
168
168
|
React.useEffect(() => {
|
|
169
169
|
if (isFirstRender.current) {
|
|
@@ -188,7 +188,7 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
|
|
|
188
188
|
},
|
|
189
189
|
debouncedFetchRows,
|
|
190
190
|
strategyProcessor: {
|
|
191
|
-
strategyName:
|
|
191
|
+
strategyName: _utils2.DataSourceRowsUpdateStrategy.Default,
|
|
192
192
|
group: 'dataSourceRowsUpdate',
|
|
193
193
|
processor: handleDataUpdate
|
|
194
194
|
},
|
|
@@ -197,9 +197,9 @@ const useGridDataSourceBase = (apiRef, props, options = {}) => {
|
|
|
197
197
|
cache,
|
|
198
198
|
events: {
|
|
199
199
|
strategyAvailabilityChange: handleStrategyActivityChange,
|
|
200
|
-
sortModelChange: (0,
|
|
201
|
-
filterModelChange: (0,
|
|
202
|
-
paginationModelChange: (0,
|
|
200
|
+
sortModelChange: (0, _utils.runIf)(defaultRowsUpdateStrategyActive, () => debouncedFetchRows()),
|
|
201
|
+
filterModelChange: (0, _utils.runIf)(defaultRowsUpdateStrategyActive, () => debouncedFetchRows()),
|
|
202
|
+
paginationModelChange: (0, _utils.runIf)(defaultRowsUpdateStrategyActive, () => debouncedFetchRows())
|
|
203
203
|
}
|
|
204
204
|
};
|
|
205
205
|
};
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.useGridPrintExport = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
var
|
|
11
|
+
var _ownerDocument = _interopRequireDefault(require("@mui/utils/ownerDocument"));
|
|
12
12
|
var _export = require("@mui/x-internals/export");
|
|
13
13
|
var _useGridLogger = require("../../utils/useGridLogger");
|
|
14
14
|
var _gridFilterSelector = require("../filter/gridFilterSelector");
|
|
@@ -17,7 +17,7 @@ var _gridClasses = require("../../../constants/gridClasses");
|
|
|
17
17
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
18
18
|
var _gridRowsMetaSelector = require("../rows/gridRowsMetaSelector");
|
|
19
19
|
var _gridRowsUtils = require("../rows/gridRowsUtils");
|
|
20
|
-
var
|
|
20
|
+
var _utils = require("./utils");
|
|
21
21
|
var _useGridPaginationModel = require("../pagination/useGridPaginationModel");
|
|
22
22
|
var _pipeProcessing = require("../../core/pipeProcessing");
|
|
23
23
|
var _toolbar = require("../../../components/toolbar");
|
|
@@ -55,13 +55,13 @@ const useGridPrintExport = (apiRef, props) => {
|
|
|
55
55
|
const previousRows = React.useRef([]);
|
|
56
56
|
const previousVirtualizationState = React.useRef(null);
|
|
57
57
|
React.useEffect(() => {
|
|
58
|
-
doc.current = (0,
|
|
58
|
+
doc.current = (0, _ownerDocument.default)(apiRef.current.rootElementRef.current);
|
|
59
59
|
}, [apiRef, hasRootReference]);
|
|
60
60
|
|
|
61
61
|
// Returns a promise because updateColumns triggers state update and
|
|
62
62
|
// the new state needs to be in place before the grid can be sized correctly
|
|
63
63
|
const updateGridColumnsForPrint = React.useCallback((fields, allColumns, includeCheckboxes) => new Promise(resolve => {
|
|
64
|
-
const exportedColumnFields = (0,
|
|
64
|
+
const exportedColumnFields = (0, _utils.getColumnsToExport)({
|
|
65
65
|
apiRef,
|
|
66
66
|
options: {
|
|
67
67
|
fields,
|
|
@@ -222,7 +222,7 @@ const useGridPrintExport = (apiRef, props) => {
|
|
|
222
222
|
})
|
|
223
223
|
}));
|
|
224
224
|
await updateGridColumnsForPrint(options?.fields, options?.allColumns, options?.includeCheckboxes);
|
|
225
|
-
updateGridRowsForPrint(options?.getRowsToExport ??
|
|
225
|
+
updateGridRowsForPrint(options?.getRowsToExport ?? _utils.defaultGetRowsToExport);
|
|
226
226
|
await raf(); // wait for the state changes to take action
|
|
227
227
|
const printWindow = buildPrintWindow(options?.fileName);
|
|
228
228
|
if (process.env.NODE_ENV === 'test') {
|
|
@@ -9,7 +9,7 @@ exports.useGridFilter = exports.filterStateInitializer = void 0;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _reselect = require("reselect");
|
|
12
|
-
var
|
|
12
|
+
var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
|
|
13
13
|
var _isDeepEqual = require("@mui/x-internals/isDeepEqual");
|
|
14
14
|
var _useLazyRef = require("../../utils/useLazyRef");
|
|
15
15
|
var _useGridEvent = require("../../utils/useGridEvent");
|
|
@@ -367,7 +367,7 @@ const useGridFilter = (apiRef, props) => {
|
|
|
367
367
|
/**
|
|
368
368
|
* EFFECTS
|
|
369
369
|
*/
|
|
370
|
-
(0,
|
|
370
|
+
(0, _useEnhancedEffect.default)(() => {
|
|
371
371
|
if (props.filterModel !== undefined) {
|
|
372
372
|
apiRef.current.setFilterModel(props.filterModel);
|
|
373
373
|
}
|
|
@@ -9,10 +9,10 @@ exports.useGridRowsMeta = exports.rowsMetaStateInitializer = void 0;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
|
|
12
|
-
var
|
|
12
|
+
var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
|
|
13
13
|
var _ResizeObserver = require("../../../utils/ResizeObserver");
|
|
14
14
|
var _useGridVisibleRows = require("../../utils/useGridVisibleRows");
|
|
15
|
-
var
|
|
15
|
+
var _utils = require("../../../utils/utils");
|
|
16
16
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
17
17
|
var _useGridSelector = require("../../utils/useGridSelector");
|
|
18
18
|
var _densitySelector = require("../density/densitySelector");
|
|
@@ -82,7 +82,7 @@ const useGridRowsMeta = (apiRef, props) => {
|
|
|
82
82
|
// HACK: rowHeight trails behind the most up-to-date value just enough to
|
|
83
83
|
// mess the initial rowsMeta hydration :/
|
|
84
84
|
const baseRowHeight = (0, _gridDimensionsSelectors.gridDimensionsSelector)(apiRef).rowHeight;
|
|
85
|
-
(0,
|
|
85
|
+
(0, _utils.eslintUseValue)(rowHeight);
|
|
86
86
|
const entry = apiRef.current.getRowHeightEntry(row.id);
|
|
87
87
|
if (!getRowHeightProp) {
|
|
88
88
|
entry.content = baseRowHeight;
|
|
@@ -203,7 +203,10 @@ const useGridRowsMeta = (apiRef, props) => {
|
|
|
203
203
|
apiRef.current.unstable_storeRowHeightMeasurement(rowId, height);
|
|
204
204
|
}
|
|
205
205
|
if (!isHeightMetaValid.current) {
|
|
206
|
-
|
|
206
|
+
// Avoids "ResizeObserver loop completed with undelivered notifications" error
|
|
207
|
+
requestAnimationFrame(() => {
|
|
208
|
+
apiRef.current.requestPipeProcessorsApplication('rowHeight');
|
|
209
|
+
});
|
|
207
210
|
}
|
|
208
211
|
})).current;
|
|
209
212
|
const observeRowHeight = (element, rowId) => {
|
|
@@ -215,7 +218,7 @@ const useGridRowsMeta = (apiRef, props) => {
|
|
|
215
218
|
|
|
216
219
|
// The effect is used to build the rows meta data - currentPageTotalHeight and positions.
|
|
217
220
|
// Because of variable row height this is needed for the virtualization
|
|
218
|
-
(0,
|
|
221
|
+
(0, _useEnhancedEffect.default)(() => {
|
|
219
222
|
hydrateRowsMeta();
|
|
220
223
|
}, [hydrateRowsMeta]);
|
|
221
224
|
const rowsMetaApi = {
|
|
@@ -7,4 +7,4 @@ export declare const sortingStateInitializer: GridStateInitializer<Pick<DataGrid
|
|
|
7
7
|
* @requires useGridRows (event)
|
|
8
8
|
* @requires useGridColumns (event)
|
|
9
9
|
*/
|
|
10
|
-
export declare const useGridSorting: (apiRef: RefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "initialState" | "sortModel" | "onSortModelChange" | "sortingOrder" | "sortingMode" | "disableColumnSorting" | "disableMultipleColumnsSorting">) => void;
|
|
10
|
+
export declare const useGridSorting: (apiRef: RefObject<GridPrivateApiCommunity>, props: Pick<DataGridProcessedProps, "initialState" | "sortModel" | "onSortModelChange" | "sortingOrder" | "sortingMode" | "disableColumnSorting" | "disableMultipleColumnsSorting" | "multipleColumnsSortingMode">) => void;
|
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.useGridSorting = exports.sortingStateInitializer = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
var
|
|
11
|
+
var _useEnhancedEffect = _interopRequireDefault(require("@mui/utils/useEnhancedEffect"));
|
|
12
12
|
var _useGridEvent = require("../../utils/useGridEvent");
|
|
13
13
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
14
14
|
var _useGridLogger = require("../../utils/useGridLogger");
|
|
@@ -203,9 +203,9 @@ const useGridSorting = (apiRef, props) => {
|
|
|
203
203
|
if (!colDef.sortable || props.disableColumnSorting) {
|
|
204
204
|
return;
|
|
205
205
|
}
|
|
206
|
-
const allowMultipleSorting = event.shiftKey || event.metaKey || event.ctrlKey;
|
|
206
|
+
const allowMultipleSorting = props.multipleColumnsSortingMode === 'always' || event.shiftKey || event.metaKey || event.ctrlKey;
|
|
207
207
|
sortColumn(field, undefined, allowMultipleSorting);
|
|
208
|
-
}, [sortColumn, props.disableColumnSorting]);
|
|
208
|
+
}, [sortColumn, props.disableColumnSorting, props.multipleColumnsSortingMode]);
|
|
209
209
|
const handleColumnHeaderKeyDown = React.useCallback(({
|
|
210
210
|
field,
|
|
211
211
|
colDef
|
|
@@ -215,9 +215,9 @@ const useGridSorting = (apiRef, props) => {
|
|
|
215
215
|
}
|
|
216
216
|
// Ctrl + Enter opens the column menu
|
|
217
217
|
if (event.key === 'Enter' && !event.ctrlKey && !event.metaKey) {
|
|
218
|
-
sortColumn(field, undefined, event.shiftKey);
|
|
218
|
+
sortColumn(field, undefined, props.multipleColumnsSortingMode === 'always' || event.shiftKey);
|
|
219
219
|
}
|
|
220
|
-
}, [sortColumn, props.disableColumnSorting]);
|
|
220
|
+
}, [sortColumn, props.disableColumnSorting, props.multipleColumnsSortingMode]);
|
|
221
221
|
const handleColumnsChange = React.useCallback(() => {
|
|
222
222
|
// When the columns change we check that the sorted columns are still part of the dataset
|
|
223
223
|
const sortModel = (0, _gridSortingSelector.gridSortModelSelector)(apiRef);
|
|
@@ -251,7 +251,7 @@ const useGridSorting = (apiRef, props) => {
|
|
|
251
251
|
/**
|
|
252
252
|
* EFFECTS
|
|
253
253
|
*/
|
|
254
|
-
(0,
|
|
254
|
+
(0, _useEnhancedEffect.default)(() => {
|
|
255
255
|
if (props.sortModel !== undefined) {
|
|
256
256
|
apiRef.current.setSortModel(props.sortModel);
|
|
257
257
|
}
|