@mui/x-data-grid 6.0.0-beta.5 → 6.0.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 +175 -36
- package/DataGrid/DataGrid.js +6 -8
- package/components/GridColumnHeaders.d.ts +7 -0
- package/components/GridColumnHeaders.js +108 -0
- package/components/GridFooter.d.ts +1 -1
- package/components/GridLoadingOverlay.d.ts +1 -1
- package/components/GridNoResultsOverlay.d.ts +1 -1
- package/components/GridNoRowsOverlay.d.ts +1 -1
- package/components/GridRow.d.ts +13 -7
- package/components/GridRow.js +48 -30
- package/components/GridRowCount.d.ts +1 -1
- package/components/GridRowCount.js +1 -1
- package/components/GridScrollArea.js +1 -1
- package/components/GridSelectedRowCount.d.ts +1 -1
- package/components/GridSelectedRowCount.js +1 -1
- package/components/base/GridBody.d.ts +1 -4
- package/components/base/GridBody.js +43 -5
- package/components/base/GridOverlays.js +1 -1
- package/components/cell/GridCell.d.ts +2 -5
- package/components/cell/GridCell.js +14 -12
- package/components/cell/GridEditInputCell.js +1 -2
- package/components/cell/GridEditSingleSelectCell.js +17 -10
- package/components/columnHeaders/GridBaseColumnHeaders.d.ts +7 -0
- package/{modern/components/columnHeaders/GridColumnHeaders.js → components/columnHeaders/GridBaseColumnHeaders.js} +11 -15
- package/components/columnHeaders/GridColumnHeaderTitle.js +4 -6
- package/components/columnHeaders/GridColumnHeadersInner.d.ts +1 -1
- package/components/columnHeaders/GridColumnHeadersInner.js +1 -1
- package/components/columnHeaders/GridIconButtonContainer.js +1 -1
- package/components/containers/GridFooterContainer.d.ts +1 -1
- package/components/containers/GridFooterContainer.js +7 -10
- package/components/containers/GridMainContainer.js +1 -1
- package/components/containers/GridOverlay.d.ts +1 -2
- package/components/containers/GridOverlay.js +4 -6
- package/components/containers/GridRootStyles.js +7 -3
- package/components/containers/GridToolbarContainer.d.ts +1 -1
- package/components/containers/GridToolbarContainer.js +1 -1
- package/components/index.d.ts +1 -1
- package/components/index.js +1 -1
- package/components/panel/GridColumnsPanel.js +1 -2
- package/components/panel/GridPanel.d.ts +1 -1
- package/components/panel/GridPanelContent.d.ts +1 -1
- package/components/panel/GridPanelContent.js +1 -1
- package/components/panel/GridPanelFooter.d.ts +1 -1
- package/components/panel/GridPanelFooter.js +1 -1
- package/components/panel/GridPanelHeader.d.ts +1 -1
- package/components/panel/GridPanelHeader.js +1 -1
- package/components/panel/filterPanel/GridFilterForm.js +32 -30
- package/components/panel/filterPanel/GridFilterInputBoolean.js +12 -9
- package/components/panel/filterPanel/GridFilterInputDate.js +1 -2
- package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
- package/components/panel/filterPanel/GridFilterInputSingleSelect.js +30 -13
- package/components/panel/filterPanel/GridFilterInputValue.js +1 -2
- package/components/panel/filterPanel/GridFilterPanel.d.ts +3 -3
- package/components/panel/filterPanel/GridFilterPanel.js +8 -1
- package/components/virtualization/GridVirtualScroller.d.ts +1 -1
- package/components/virtualization/GridVirtualScroller.js +1 -1
- package/components/virtualization/GridVirtualScrollerContent.d.ts +1 -1
- package/components/virtualization/GridVirtualScrollerContent.js +1 -1
- package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +1 -1
- package/components/virtualization/GridVirtualScrollerRenderZone.js +1 -1
- package/constants/defaultGridSlotsComponents.js +5 -56
- package/constants/gridClasses.d.ts +1 -1
- package/hooks/core/useGridLocaleText.js +2 -4
- package/hooks/features/columnGrouping/gridColumnGroupsUtils.js +5 -5
- package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +22 -1
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +17 -26
- package/hooks/features/columnMenu/columnMenuInterfaces.d.ts +2 -2
- package/hooks/features/editing/useGridCellEditing.js +1 -1
- package/hooks/features/editing/useGridEditing.js +1 -1
- package/hooks/features/editing/useGridRowEditing.js +1 -1
- package/hooks/features/export/useGridPrintExport.js +10 -11
- package/hooks/features/statePersistence/gridStatePersistenceInterface.d.ts +2 -0
- package/hooks/features/virtualization/useGridVirtualScroller.js +35 -18
- package/index.d.ts +3 -0
- package/index.js +5 -1
- package/internals/index.d.ts +2 -1
- package/internals/index.js +1 -1
- package/legacy/DataGrid/DataGrid.js +6 -8
- package/legacy/components/GridColumnHeaders.js +106 -0
- package/legacy/components/GridRow.js +46 -30
- package/legacy/components/GridRowCount.js +1 -1
- package/legacy/components/GridScrollArea.js +1 -1
- package/legacy/components/GridSelectedRowCount.js +1 -1
- package/legacy/components/base/GridBody.js +43 -5
- package/legacy/components/base/GridOverlays.js +1 -1
- package/legacy/components/cell/GridCell.js +14 -12
- package/legacy/components/cell/GridEditInputCell.js +1 -2
- package/legacy/components/cell/GridEditSingleSelectCell.js +17 -12
- package/legacy/components/columnHeaders/{GridColumnHeaders.js → GridBaseColumnHeaders.js} +11 -14
- package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +6 -9
- package/legacy/components/columnHeaders/GridColumnHeadersInner.js +1 -1
- package/legacy/components/columnHeaders/GridIconButtonContainer.js +1 -1
- package/legacy/components/containers/GridFooterContainer.js +7 -10
- package/legacy/components/containers/GridMainContainer.js +1 -1
- package/legacy/components/containers/GridOverlay.js +9 -12
- package/legacy/components/containers/GridRootStyles.js +7 -3
- package/legacy/components/containers/GridToolbarContainer.js +1 -1
- package/legacy/components/index.js +1 -1
- package/legacy/components/panel/GridColumnsPanel.js +1 -2
- package/legacy/components/panel/GridPanelContent.js +1 -1
- package/legacy/components/panel/GridPanelFooter.js +1 -1
- package/legacy/components/panel/GridPanelHeader.js +1 -1
- package/legacy/components/panel/filterPanel/GridFilterForm.js +32 -30
- package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +12 -9
- package/legacy/components/panel/filterPanel/GridFilterInputDate.js +1 -2
- package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +2 -2
- package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +29 -13
- package/legacy/components/panel/filterPanel/GridFilterInputValue.js +1 -2
- package/legacy/components/panel/filterPanel/GridFilterPanel.js +8 -1
- package/legacy/components/virtualization/GridVirtualScroller.js +1 -1
- package/legacy/components/virtualization/GridVirtualScrollerContent.js +1 -1
- package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +1 -1
- package/legacy/constants/defaultGridSlotsComponents.js +5 -56
- package/legacy/hooks/core/useGridLocaleText.js +2 -4
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +5 -5
- package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +17 -26
- package/legacy/hooks/features/editing/useGridCellEditing.js +1 -1
- package/legacy/hooks/features/editing/useGridEditing.js +1 -1
- package/legacy/hooks/features/editing/useGridRowEditing.js +1 -1
- package/legacy/hooks/features/export/useGridPrintExport.js +10 -11
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +33 -16
- package/legacy/index.js +5 -1
- package/legacy/internals/index.js +1 -1
- package/legacy/locales/arSD.js +14 -19
- package/legacy/locales/csCZ.js +25 -33
- package/legacy/locales/esES.js +1 -1
- package/legacy/material/components/MUISelectOption.js +14 -0
- package/legacy/material/index.js +65 -0
- package/legacy/models/gridFilterItem.js +2 -0
- package/legacy/models/params/gridRowParams.js +4 -0
- package/locales/arSD.js +14 -19
- package/locales/csCZ.js +24 -32
- package/locales/esES.js +1 -1
- package/material/components/MUISelectOption.d.ts +3 -0
- package/material/components/MUISelectOption.js +16 -0
- package/material/index.d.ts +57 -0
- package/material/index.js +65 -0
- package/material/package.json +6 -0
- package/models/api/gridEditingApi.d.ts +1 -1
- package/models/colDef/gridColDef.d.ts +6 -0
- package/models/gridExport.d.ts +4 -0
- package/models/gridFilterItem.d.ts +2 -0
- package/models/gridFilterItem.js +2 -0
- package/models/gridFilterModel.d.ts +2 -0
- package/models/gridFilterOperator.d.ts +2 -0
- package/models/gridIconSlotsComponent.d.ts +10 -0
- package/models/gridSlotsComponent.d.ts +15 -0
- package/models/gridSlotsComponentsProps.d.ts +104 -24
- package/models/params/gridRowParams.d.ts +6 -0
- package/models/params/gridRowParams.js +4 -0
- package/models/props/DataGridProps.d.ts +6 -6
- package/modern/DataGrid/DataGrid.js +6 -8
- package/modern/components/GridColumnHeaders.js +108 -0
- package/modern/components/GridRow.js +48 -27
- package/modern/components/GridRowCount.js +1 -1
- package/modern/components/GridScrollArea.js +1 -1
- package/modern/components/GridSelectedRowCount.js +1 -1
- package/modern/components/base/GridBody.js +43 -5
- package/modern/components/base/GridOverlays.js +1 -1
- package/modern/components/cell/GridCell.js +14 -12
- package/modern/components/cell/GridEditInputCell.js +1 -2
- package/modern/components/cell/GridEditSingleSelectCell.js +16 -10
- package/{components/columnHeaders/GridColumnHeaders.js → modern/components/columnHeaders/GridBaseColumnHeaders.js} +11 -15
- package/modern/components/columnHeaders/GridColumnHeaderTitle.js +4 -6
- package/modern/components/columnHeaders/GridColumnHeadersInner.js +1 -1
- package/modern/components/columnHeaders/GridIconButtonContainer.js +1 -1
- package/modern/components/containers/GridFooterContainer.js +7 -10
- package/modern/components/containers/GridMainContainer.js +1 -1
- package/modern/components/containers/GridOverlay.js +4 -6
- package/modern/components/containers/GridRootStyles.js +7 -3
- package/modern/components/containers/GridToolbarContainer.js +1 -1
- package/modern/components/index.js +1 -1
- package/modern/components/panel/GridColumnsPanel.js +1 -2
- package/modern/components/panel/GridPanelContent.js +1 -1
- package/modern/components/panel/GridPanelFooter.js +1 -1
- package/modern/components/panel/GridPanelHeader.js +1 -1
- package/modern/components/panel/filterPanel/GridFilterForm.js +27 -25
- package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +9 -6
- package/modern/components/panel/filterPanel/GridFilterInputDate.js +1 -2
- package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
- package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +27 -10
- package/modern/components/panel/filterPanel/GridFilterInputValue.js +1 -2
- package/modern/components/panel/filterPanel/GridFilterPanel.js +8 -1
- package/modern/components/virtualization/GridVirtualScroller.js +1 -1
- package/modern/components/virtualization/GridVirtualScrollerContent.js +1 -1
- package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +1 -1
- package/modern/constants/defaultGridSlotsComponents.js +5 -56
- package/modern/hooks/core/useGridLocaleText.js +2 -4
- package/modern/hooks/features/columnGrouping/gridColumnGroupsUtils.js +5 -5
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +17 -26
- package/modern/hooks/features/editing/useGridCellEditing.js +1 -1
- package/modern/hooks/features/editing/useGridEditing.js +1 -1
- package/modern/hooks/features/editing/useGridRowEditing.js +1 -1
- package/modern/hooks/features/export/useGridPrintExport.js +10 -11
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +33 -17
- package/modern/index.js +5 -1
- package/modern/internals/index.js +1 -1
- package/modern/locales/arSD.js +14 -19
- package/modern/locales/csCZ.js +24 -32
- package/modern/locales/esES.js +1 -1
- package/modern/material/components/MUISelectOption.js +16 -0
- package/modern/material/index.js +65 -0
- package/modern/models/gridFilterItem.js +2 -0
- package/modern/models/params/gridRowParams.js +4 -0
- package/node/DataGrid/DataGrid.js +6 -8
- package/node/components/GridColumnHeaders.js +116 -0
- package/node/components/GridRow.js +48 -27
- package/node/components/GridRowCount.js +2 -2
- package/node/components/GridScrollArea.js +2 -2
- package/node/components/GridSelectedRowCount.js +2 -2
- package/node/components/base/GridBody.js +43 -5
- package/node/components/base/GridOverlays.js +3 -3
- package/node/components/cell/GridCell.js +14 -11
- package/node/components/cell/GridEditInputCell.js +1 -2
- package/node/components/cell/GridEditSingleSelectCell.js +15 -10
- package/node/components/columnHeaders/{GridColumnHeaders.js → GridBaseColumnHeaders.js} +14 -18
- package/node/components/columnHeaders/GridColumnHeaderTitle.js +5 -7
- package/node/components/columnHeaders/GridColumnHeadersInner.js +2 -2
- package/node/components/columnHeaders/GridIconButtonContainer.js +2 -2
- package/node/components/containers/GridFooterContainer.js +8 -11
- package/node/components/containers/GridMainContainer.js +2 -2
- package/node/components/containers/GridOverlay.js +5 -7
- package/node/components/containers/GridRootStyles.js +7 -3
- package/node/components/containers/GridToolbarContainer.js +2 -2
- package/node/components/index.js +1 -1
- package/node/components/panel/GridColumnsPanel.js +1 -2
- package/node/components/panel/GridPanelContent.js +2 -2
- package/node/components/panel/GridPanelFooter.js +2 -2
- package/node/components/panel/GridPanelHeader.js +2 -2
- package/node/components/panel/filterPanel/GridFilterForm.js +26 -25
- package/node/components/panel/filterPanel/GridFilterInputBoolean.js +9 -6
- package/node/components/panel/filterPanel/GridFilterInputDate.js +1 -2
- package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +26 -10
- package/node/components/panel/filterPanel/GridFilterInputValue.js +1 -2
- package/node/components/panel/filterPanel/GridFilterPanel.js +8 -1
- package/node/components/virtualization/GridVirtualScroller.js +2 -2
- package/node/components/virtualization/GridVirtualScrollerContent.js +2 -2
- package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -2
- package/node/constants/defaultGridSlotsComponents.js +4 -55
- package/node/hooks/core/useGridLocaleText.js +2 -4
- package/node/hooks/features/columnGrouping/gridColumnGroupsUtils.js +5 -5
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +19 -28
- package/node/hooks/features/editing/useGridCellEditing.js +1 -1
- package/node/hooks/features/editing/useGridEditing.js +1 -1
- package/node/hooks/features/editing/useGridRowEditing.js +1 -1
- package/node/hooks/features/export/useGridPrintExport.js +10 -11
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +32 -15
- package/node/index.js +9 -1
- package/node/internals/index.js +4 -4
- package/node/locales/arSD.js +14 -19
- package/node/locales/csCZ.js +24 -32
- package/node/locales/esES.js +1 -1
- package/node/{components/DataGridColumnHeaders.js → material/components/MUISelectOption.js} +13 -35
- package/node/material/index.js +73 -0
- package/node/models/gridFilterItem.js +2 -0
- package/node/models/params/gridRowParams.js +4 -0
- package/package.json +1 -1
- package/components/DataGridColumnHeaders.d.ts +0 -6
- package/components/DataGridColumnHeaders.js +0 -38
- package/components/columnHeaders/GridColumnHeaders.d.ts +0 -7
- package/legacy/components/DataGridColumnHeaders.js +0 -36
- package/modern/components/DataGridColumnHeaders.js +0 -38
- /package/legacy/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.js +0 -0
- /package/legacy/{components → material}/icons/index.js +0 -0
- /package/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.d.ts +0 -0
- /package/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.js +0 -0
- /package/{components → material}/icons/index.d.ts +0 -0
- /package/{components → material}/icons/index.js +0 -0
- /package/modern/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.js +0 -0
- /package/modern/{components → material}/icons/index.js +0 -0
- /package/node/{components/columnHeaders → material/icons}/GridColumnUnsortedIcon.js +0 -0
- /package/node/{components → material}/icons/index.js +0 -0
|
@@ -6,7 +6,6 @@ import { GridContextProvider } from '../context/GridContextProvider';
|
|
|
6
6
|
import { useDataGridComponent } from './useDataGridComponent';
|
|
7
7
|
import { useDataGridProps } from './useDataGridProps';
|
|
8
8
|
import { DataGridVirtualScroller } from '../components/DataGridVirtualScroller';
|
|
9
|
-
import { DataGridColumnHeaders } from '../components/DataGridColumnHeaders';
|
|
10
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
10
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
11
|
var DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref) {
|
|
@@ -21,7 +20,6 @@ var DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref)
|
|
|
21
20
|
sx: props.sx,
|
|
22
21
|
ref: ref,
|
|
23
22
|
children: [/*#__PURE__*/_jsx(GridHeader, {}), /*#__PURE__*/_jsx(GridBody, {
|
|
24
|
-
ColumnHeadersComponent: DataGridColumnHeaders,
|
|
25
23
|
VirtualScrollerComponent: DataGridVirtualScroller
|
|
26
24
|
}), /*#__PURE__*/_jsx(GridFooterPlaceholder, {})]
|
|
27
25
|
})
|
|
@@ -104,12 +102,12 @@ DataGridRaw.propTypes = {
|
|
|
104
102
|
*/
|
|
105
103
|
columnVisibilityModel: PropTypes.object,
|
|
106
104
|
/**
|
|
107
|
-
*
|
|
105
|
+
* Overridable components.
|
|
108
106
|
* @deprecated Use `slots` instead.
|
|
109
107
|
*/
|
|
110
108
|
components: PropTypes.object,
|
|
111
109
|
/**
|
|
112
|
-
*
|
|
110
|
+
* Overridable components props dynamically passed to the component at rendering.
|
|
113
111
|
* @deprecated Use the `slotProps` prop instead.
|
|
114
112
|
*/
|
|
115
113
|
componentsProps: PropTypes.object,
|
|
@@ -326,7 +324,7 @@ DataGridRaw.propTypes = {
|
|
|
326
324
|
onCellKeyDown: PropTypes.func,
|
|
327
325
|
/**
|
|
328
326
|
* Callback fired when the `cellModesModel` prop changes.
|
|
329
|
-
* @param {GridCellModesModel} cellModesModel Object
|
|
327
|
+
* @param {GridCellModesModel} cellModesModel Object containing which cells are in "edit" mode.
|
|
330
328
|
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
331
329
|
*/
|
|
332
330
|
onCellModesModelChange: PropTypes.func,
|
|
@@ -472,7 +470,7 @@ DataGridRaw.propTypes = {
|
|
|
472
470
|
onRowEditStop: PropTypes.func,
|
|
473
471
|
/**
|
|
474
472
|
* Callback fired when the `rowModesModel` prop changes.
|
|
475
|
-
* @param {GridRowModesModel} rowModesModel Object
|
|
473
|
+
* @param {GridRowModesModel} rowModesModel Object containing which rows are in "edit" mode.
|
|
476
474
|
* @param {GridCallbackDetails} details Additional details for this callback.
|
|
477
475
|
*/
|
|
478
476
|
onRowModesModelChange: PropTypes.func,
|
|
@@ -586,11 +584,11 @@ DataGridRaw.propTypes = {
|
|
|
586
584
|
*/
|
|
587
585
|
showColumnVerticalBorder: PropTypes.bool,
|
|
588
586
|
/**
|
|
589
|
-
*
|
|
587
|
+
* Overridable components props dynamically passed to the component at rendering.
|
|
590
588
|
*/
|
|
591
589
|
slotProps: PropTypes.object,
|
|
592
590
|
/**
|
|
593
|
-
*
|
|
591
|
+
* Overridable components.
|
|
594
592
|
*/
|
|
595
593
|
slots: PropTypes.object,
|
|
596
594
|
/**
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["innerRef", "className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "columnPositions", "columnHeaderTabIndexState", "columnGroupHeaderTabIndexState", "columnHeaderFocus", "columnGroupHeaderFocus", "densityFactor", "headerGroupingMaxDepth", "columnMenuState", "columnVisibility", "columnGroupsHeaderStructure", "hasOtherElementInTabSequence"];
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import { useGridColumnHeaders } from '../hooks/features/columnHeaders/useGridColumnHeaders';
|
|
7
|
+
import { GridScrollArea } from './GridScrollArea';
|
|
8
|
+
import { GridBaseColumnHeaders } from './columnHeaders/GridBaseColumnHeaders';
|
|
9
|
+
import { GridColumnHeadersInner } from './columnHeaders/GridColumnHeadersInner';
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
+
var GridColumnHeaders = /*#__PURE__*/React.forwardRef(function GridColumnsHeaders(props, ref) {
|
|
13
|
+
var innerRef = props.innerRef,
|
|
14
|
+
className = props.className,
|
|
15
|
+
visibleColumns = props.visibleColumns,
|
|
16
|
+
sortColumnLookup = props.sortColumnLookup,
|
|
17
|
+
filterColumnLookup = props.filterColumnLookup,
|
|
18
|
+
columnPositions = props.columnPositions,
|
|
19
|
+
columnHeaderTabIndexState = props.columnHeaderTabIndexState,
|
|
20
|
+
columnGroupHeaderTabIndexState = props.columnGroupHeaderTabIndexState,
|
|
21
|
+
columnHeaderFocus = props.columnHeaderFocus,
|
|
22
|
+
columnGroupHeaderFocus = props.columnGroupHeaderFocus,
|
|
23
|
+
densityFactor = props.densityFactor,
|
|
24
|
+
headerGroupingMaxDepth = props.headerGroupingMaxDepth,
|
|
25
|
+
columnMenuState = props.columnMenuState,
|
|
26
|
+
columnVisibility = props.columnVisibility,
|
|
27
|
+
columnGroupsHeaderStructure = props.columnGroupsHeaderStructure,
|
|
28
|
+
hasOtherElementInTabSequence = props.hasOtherElementInTabSequence,
|
|
29
|
+
other = _objectWithoutProperties(props, _excluded);
|
|
30
|
+
var _useGridColumnHeaders = useGridColumnHeaders({
|
|
31
|
+
innerRef: innerRef,
|
|
32
|
+
visibleColumns: visibleColumns,
|
|
33
|
+
sortColumnLookup: sortColumnLookup,
|
|
34
|
+
filterColumnLookup: filterColumnLookup,
|
|
35
|
+
columnPositions: columnPositions,
|
|
36
|
+
columnHeaderTabIndexState: columnHeaderTabIndexState,
|
|
37
|
+
columnGroupHeaderTabIndexState: columnGroupHeaderTabIndexState,
|
|
38
|
+
columnHeaderFocus: columnHeaderFocus,
|
|
39
|
+
columnGroupHeaderFocus: columnGroupHeaderFocus,
|
|
40
|
+
densityFactor: densityFactor,
|
|
41
|
+
headerGroupingMaxDepth: headerGroupingMaxDepth,
|
|
42
|
+
columnMenuState: columnMenuState,
|
|
43
|
+
columnVisibility: columnVisibility,
|
|
44
|
+
columnGroupsHeaderStructure: columnGroupsHeaderStructure,
|
|
45
|
+
hasOtherElementInTabSequence: hasOtherElementInTabSequence
|
|
46
|
+
}),
|
|
47
|
+
isDragging = _useGridColumnHeaders.isDragging,
|
|
48
|
+
getRootProps = _useGridColumnHeaders.getRootProps,
|
|
49
|
+
getInnerProps = _useGridColumnHeaders.getInnerProps,
|
|
50
|
+
getColumnHeaders = _useGridColumnHeaders.getColumnHeaders,
|
|
51
|
+
getColumnGroupHeaders = _useGridColumnHeaders.getColumnGroupHeaders;
|
|
52
|
+
return /*#__PURE__*/_jsxs(GridBaseColumnHeaders, _extends({
|
|
53
|
+
ref: ref
|
|
54
|
+
}, getRootProps(other), {
|
|
55
|
+
children: [/*#__PURE__*/_jsx(GridScrollArea, {
|
|
56
|
+
scrollDirection: "left"
|
|
57
|
+
}), /*#__PURE__*/_jsxs(GridColumnHeadersInner, _extends({
|
|
58
|
+
isDragging: isDragging
|
|
59
|
+
}, getInnerProps(), {
|
|
60
|
+
children: [getColumnGroupHeaders(), getColumnHeaders()]
|
|
61
|
+
})), /*#__PURE__*/_jsx(GridScrollArea, {
|
|
62
|
+
scrollDirection: "right"
|
|
63
|
+
})]
|
|
64
|
+
}));
|
|
65
|
+
});
|
|
66
|
+
process.env.NODE_ENV !== "production" ? GridColumnHeaders.propTypes = {
|
|
67
|
+
// ----------------------------- Warning --------------------------------
|
|
68
|
+
// | These PropTypes are generated from the TypeScript type definitions |
|
|
69
|
+
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
70
|
+
// ----------------------------------------------------------------------
|
|
71
|
+
columnGroupHeaderFocus: PropTypes.shape({
|
|
72
|
+
depth: PropTypes.number.isRequired,
|
|
73
|
+
field: PropTypes.string.isRequired
|
|
74
|
+
}),
|
|
75
|
+
columnGroupHeaderTabIndexState: PropTypes.shape({
|
|
76
|
+
depth: PropTypes.number.isRequired,
|
|
77
|
+
field: PropTypes.string.isRequired
|
|
78
|
+
}),
|
|
79
|
+
columnGroupsHeaderStructure: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.shape({
|
|
80
|
+
columnFields: PropTypes.arrayOf(PropTypes.string).isRequired,
|
|
81
|
+
groupId: PropTypes.string
|
|
82
|
+
}))).isRequired,
|
|
83
|
+
columnHeaderFocus: PropTypes.shape({
|
|
84
|
+
field: PropTypes.string.isRequired
|
|
85
|
+
}),
|
|
86
|
+
columnHeaderTabIndexState: PropTypes.shape({
|
|
87
|
+
field: PropTypes.string.isRequired
|
|
88
|
+
}),
|
|
89
|
+
columnMenuState: PropTypes.shape({
|
|
90
|
+
field: PropTypes.string,
|
|
91
|
+
open: PropTypes.bool.isRequired
|
|
92
|
+
}).isRequired,
|
|
93
|
+
columnPositions: PropTypes.arrayOf(PropTypes.number).isRequired,
|
|
94
|
+
columnVisibility: PropTypes.object.isRequired,
|
|
95
|
+
densityFactor: PropTypes.number.isRequired,
|
|
96
|
+
filterColumnLookup: PropTypes.object.isRequired,
|
|
97
|
+
hasOtherElementInTabSequence: PropTypes.bool.isRequired,
|
|
98
|
+
headerGroupingMaxDepth: PropTypes.number.isRequired,
|
|
99
|
+
innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
|
|
100
|
+
current: PropTypes.object
|
|
101
|
+
})]),
|
|
102
|
+
minColumnIndex: PropTypes.number,
|
|
103
|
+
sortColumnLookup: PropTypes.object.isRequired,
|
|
104
|
+
visibleColumns: PropTypes.arrayOf(PropTypes.object).isRequired
|
|
105
|
+
} : void 0;
|
|
106
|
+
export { GridColumnHeaders };
|
|
@@ -2,7 +2,7 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
-
var _excluded = ["selected", "rowId", "row", "index", "style", "position", "rowHeight", "className", "visibleColumns", "renderedColumns", "containerWidth", "firstColumnToRender", "lastColumnToRender", "
|
|
5
|
+
var _excluded = ["selected", "rowId", "row", "index", "style", "position", "rowHeight", "className", "visibleColumns", "renderedColumns", "containerWidth", "firstColumnToRender", "lastColumnToRender", "isLastVisible", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave"],
|
|
6
6
|
_excluded2 = ["changeReason"];
|
|
7
7
|
import * as React from 'react';
|
|
8
8
|
import PropTypes from 'prop-types';
|
|
@@ -23,6 +23,7 @@ import { gridSortModelSelector } from '../hooks/features/sorting/gridSortingSele
|
|
|
23
23
|
import { gridRowMaximumTreeDepthSelector } from '../hooks/features/rows/gridRowsSelector';
|
|
24
24
|
import { gridColumnGroupsHeaderMaxDepthSelector } from '../hooks/features/columnGrouping/gridColumnGroupsSelector';
|
|
25
25
|
import { randomNumberBetween } from '../utils/utils';
|
|
26
|
+
import { gridEditRowsStateSelector } from '../hooks/features/editing/gridEditingSelectors';
|
|
26
27
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
27
28
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
28
29
|
var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
@@ -65,11 +66,10 @@ var GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
65
66
|
containerWidth = props.containerWidth,
|
|
66
67
|
firstColumnToRender = props.firstColumnToRender,
|
|
67
68
|
lastColumnToRender = props.lastColumnToRender,
|
|
68
|
-
cellFocus = props.cellFocus,
|
|
69
|
-
cellTabIndex = props.cellTabIndex,
|
|
70
|
-
editRowsState = props.editRowsState,
|
|
71
69
|
_props$isLastVisible = props.isLastVisible,
|
|
72
70
|
isLastVisible = _props$isLastVisible === void 0 ? false : _props$isLastVisible,
|
|
71
|
+
focusedCell = props.focusedCell,
|
|
72
|
+
tabbableCell = props.tabbableCell,
|
|
73
73
|
onClick = props.onClick,
|
|
74
74
|
onDoubleClick = props.onDoubleClick,
|
|
75
75
|
onMouseEnter = props.onMouseEnter,
|
|
@@ -83,6 +83,7 @@ var GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
83
83
|
var sortModel = useGridSelector(apiRef, gridSortModelSelector);
|
|
84
84
|
var treeDepth = useGridSelector(apiRef, gridRowMaximumTreeDepthSelector);
|
|
85
85
|
var headerGroupingMaxDepth = useGridSelector(apiRef, gridColumnGroupsHeaderMaxDepthSelector);
|
|
86
|
+
var editRowsState = useGridSelector(apiRef, gridEditRowsStateSelector);
|
|
86
87
|
var handleRef = useForkRef(ref, refProp);
|
|
87
88
|
var ariaRowIndex = index + headerGroupingMaxDepth + 2; // 1 for the header row and 1 as it's 1-based
|
|
88
89
|
|
|
@@ -184,29 +185,33 @@ var GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
184
185
|
}
|
|
185
186
|
publish('rowClick', onClick)(event);
|
|
186
187
|
}, [apiRef, onClick, publish, rowId]);
|
|
188
|
+
var slots = rootProps.slots,
|
|
189
|
+
slotProps = rootProps.slotProps,
|
|
190
|
+
rootClasses = rootProps.classes,
|
|
191
|
+
disableColumnReorder = rootProps.disableColumnReorder,
|
|
192
|
+
getCellClassName = rootProps.getCellClassName;
|
|
193
|
+
var rowReordering = rootProps.rowReordering;
|
|
194
|
+
var CellComponent = slots.cell;
|
|
187
195
|
var getCell = React.useCallback(function (column, cellProps) {
|
|
188
|
-
var _rootProps$slotProps;
|
|
189
196
|
var cellParams = apiRef.current.getCellParams(rowId, column.field);
|
|
190
197
|
var classNames = apiRef.current.unstable_applyPipeProcessors('cellClassName', [], {
|
|
191
198
|
id: rowId,
|
|
192
199
|
field: column.field
|
|
193
200
|
});
|
|
194
|
-
var disableDragEvents =
|
|
201
|
+
var disableDragEvents = disableColumnReorder && column.disableReorder || !rowReordering && !!sortModel.length && treeDepth > 1 && Object.keys(editRowsState).length > 0;
|
|
195
202
|
if (column.cellClassName) {
|
|
196
203
|
classNames.push(clsx(typeof column.cellClassName === 'function' ? column.cellClassName(cellParams) : column.cellClassName));
|
|
197
204
|
}
|
|
198
205
|
var editCellState = editRowsState[rowId] ? editRowsState[rowId][column.field] : null;
|
|
199
206
|
var content;
|
|
200
207
|
if (editCellState == null && column.renderCell) {
|
|
201
|
-
var _rootProps$classes;
|
|
202
208
|
content = column.renderCell(_extends({}, cellParams, {
|
|
203
209
|
api: apiRef.current
|
|
204
210
|
}));
|
|
205
211
|
// TODO move to GridCell
|
|
206
|
-
classNames.push(clsx(gridClasses['cell--withRenderer'],
|
|
212
|
+
classNames.push(clsx(gridClasses['cell--withRenderer'], rootClasses == null ? void 0 : rootClasses['cell--withRenderer']));
|
|
207
213
|
}
|
|
208
214
|
if (editCellState != null && column.renderEditCell) {
|
|
209
|
-
var _rootProps$classes2;
|
|
210
215
|
var updatedRow = apiRef.current.getRowWithUpdatedValues(rowId, column.field);
|
|
211
216
|
var changeReason = editCellState.changeReason,
|
|
212
217
|
editCellStateRest = _objectWithoutProperties(editCellState, _excluded2);
|
|
@@ -217,19 +222,19 @@ var GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
217
222
|
});
|
|
218
223
|
content = column.renderEditCell(params);
|
|
219
224
|
// TODO move to GridCell
|
|
220
|
-
classNames.push(clsx(gridClasses['cell--editing'],
|
|
225
|
+
classNames.push(clsx(gridClasses['cell--editing'], rootClasses == null ? void 0 : rootClasses['cell--editing']));
|
|
221
226
|
}
|
|
222
|
-
if (
|
|
227
|
+
if (getCellClassName) {
|
|
223
228
|
// TODO move to GridCell
|
|
224
|
-
classNames.push(
|
|
229
|
+
classNames.push(getCellClassName(cellParams));
|
|
225
230
|
}
|
|
226
|
-
var hasFocus =
|
|
227
|
-
var tabIndex =
|
|
231
|
+
var hasFocus = focusedCell === column.field;
|
|
232
|
+
var tabIndex = tabbableCell === column.field ? 0 : -1;
|
|
228
233
|
var isSelected = apiRef.current.unstable_applyPipeProcessors('isCellSelected', false, {
|
|
229
234
|
id: rowId,
|
|
230
235
|
field: column.field
|
|
231
236
|
});
|
|
232
|
-
return /*#__PURE__*/_jsx(
|
|
237
|
+
return /*#__PURE__*/_jsx(CellComponent, _extends({
|
|
233
238
|
value: cellParams.value,
|
|
234
239
|
field: column.field,
|
|
235
240
|
width: cellProps.width,
|
|
@@ -247,10 +252,10 @@ var GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
247
252
|
className: clsx(classNames),
|
|
248
253
|
colSpan: cellProps.colSpan,
|
|
249
254
|
disableDragEvents: disableDragEvents
|
|
250
|
-
},
|
|
255
|
+
}, slotProps == null ? void 0 : slotProps.cell, {
|
|
251
256
|
children: content
|
|
252
257
|
}), column.field);
|
|
253
|
-
}, [apiRef,
|
|
258
|
+
}, [apiRef, rowId, disableColumnReorder, rowReordering, sortModel.length, treeDepth, editRowsState, getCellClassName, focusedCell, tabbableCell, CellComponent, rowHeight, slotProps == null ? void 0 : slotProps.cell, rootClasses]);
|
|
254
259
|
var sizes = apiRef.current.unstable_getRowInternalSizes(rowId);
|
|
255
260
|
var minHeight = rowHeight;
|
|
256
261
|
if (minHeight === 'auto' && sizes) {
|
|
@@ -361,24 +366,35 @@ process.env.NODE_ENV !== "production" ? GridRow.propTypes = {
|
|
|
361
366
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
362
367
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
363
368
|
// ----------------------------------------------------------------------
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
+
containerWidth: PropTypes.number,
|
|
370
|
+
firstColumnToRender: PropTypes.number,
|
|
371
|
+
/**
|
|
372
|
+
* Determines which cell has focus.
|
|
373
|
+
* If `null`, no cell in this row has focus.
|
|
374
|
+
*/
|
|
375
|
+
focusedCell: PropTypes.string,
|
|
369
376
|
/**
|
|
370
377
|
* Index of the row in the whole sorted and filtered dataset.
|
|
371
378
|
* If some rows above have expanded children, this index also take those children into account.
|
|
372
379
|
*/
|
|
373
|
-
index: PropTypes.number
|
|
380
|
+
index: PropTypes.number,
|
|
374
381
|
isLastVisible: PropTypes.bool,
|
|
375
|
-
lastColumnToRender: PropTypes.number
|
|
376
|
-
|
|
377
|
-
|
|
382
|
+
lastColumnToRender: PropTypes.number,
|
|
383
|
+
onClick: PropTypes.func,
|
|
384
|
+
onDoubleClick: PropTypes.func,
|
|
385
|
+
onMouseEnter: PropTypes.func,
|
|
386
|
+
onMouseLeave: PropTypes.func,
|
|
387
|
+
position: PropTypes.oneOf(['center', 'left', 'right']),
|
|
388
|
+
renderedColumns: PropTypes.arrayOf(PropTypes.object),
|
|
378
389
|
row: PropTypes.object,
|
|
379
|
-
rowHeight: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number])
|
|
380
|
-
rowId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
|
|
381
|
-
selected: PropTypes.bool
|
|
382
|
-
|
|
390
|
+
rowHeight: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
|
|
391
|
+
rowId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
392
|
+
selected: PropTypes.bool,
|
|
393
|
+
/**
|
|
394
|
+
* Determines which cell should be tabbable by having tabIndex=0.
|
|
395
|
+
* If `null`, no cell in this row is in the tab sequence.
|
|
396
|
+
*/
|
|
397
|
+
tabbableCell: PropTypes.string,
|
|
398
|
+
visibleColumns: PropTypes.arrayOf(PropTypes.object)
|
|
383
399
|
} : void 0;
|
|
384
400
|
export { GridRow };
|
|
@@ -5,7 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import { unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
8
|
-
import { styled } from '@mui/
|
|
8
|
+
import { styled } from '@mui/system';
|
|
9
9
|
import { useGridApiContext } from '../hooks/utils/useGridApiContext';
|
|
10
10
|
import { getDataGridUtilityClass } from '../constants/gridClasses';
|
|
11
11
|
import { useGridRootProps } from '../hooks/utils/useGridRootProps';
|
|
@@ -5,7 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import { unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
8
|
-
import { styled } from '@mui/
|
|
8
|
+
import { styled } from '@mui/system';
|
|
9
9
|
import { useGridApiEventHandler } from '../hooks/utils/useGridApiEventHandler';
|
|
10
10
|
import { useGridApiContext } from '../hooks/utils/useGridApiContext';
|
|
11
11
|
import { getDataGridUtilityClass, gridClasses } from '../constants/gridClasses';
|
|
@@ -6,7 +6,7 @@ import * as React from 'react';
|
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import clsx from 'clsx';
|
|
8
8
|
import { unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
9
|
-
import { styled } from '@mui/
|
|
9
|
+
import { styled } from '@mui/system';
|
|
10
10
|
import { useGridApiContext } from '../hooks/utils/useGridApiContext';
|
|
11
11
|
import { getDataGridUtilityClass } from '../constants/gridClasses';
|
|
12
12
|
import { useGridRootProps } from '../hooks/utils/useGridRootProps';
|
|
@@ -1,18 +1,42 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
1
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
3
|
import * as React from 'react';
|
|
3
4
|
import PropTypes from 'prop-types';
|
|
4
5
|
import { useGridPrivateApiContext } from '../../hooks/utils/useGridPrivateApiContext';
|
|
6
|
+
import { useGridSelector } from '../../hooks/utils/useGridSelector';
|
|
5
7
|
import { GridMainContainer } from '../containers/GridMainContainer';
|
|
6
8
|
import { GridAutoSizer } from '../GridAutoSizer';
|
|
7
9
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
10
|
+
import { gridColumnPositionsSelector, gridColumnVisibilityModelSelector, gridVisibleColumnDefinitionsSelector } from '../../hooks/features/columns/gridColumnsSelector';
|
|
11
|
+
import { gridFilterActiveItemsLookupSelector } from '../../hooks/features/filter/gridFilterSelector';
|
|
12
|
+
import { gridSortColumnLookupSelector } from '../../hooks/features/sorting/gridSortingSelector';
|
|
13
|
+
import { gridTabIndexColumnHeaderSelector, gridTabIndexCellSelector, gridFocusColumnHeaderSelector, unstable_gridTabIndexColumnGroupHeaderSelector, unstable_gridFocusColumnGroupHeaderSelector } from '../../hooks/features/focus/gridFocusStateSelector';
|
|
14
|
+
import { gridDensityFactorSelector } from '../../hooks/features/density/densitySelector';
|
|
15
|
+
import { gridColumnGroupsHeaderMaxDepthSelector, gridColumnGroupsHeaderStructureSelector } from '../../hooks/features/columnGrouping/gridColumnGroupsSelector';
|
|
16
|
+
import { gridColumnMenuSelector } from '../../hooks/features/columnMenu/columnMenuSelector';
|
|
8
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
18
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
19
|
function GridBody(props) {
|
|
11
20
|
var children = props.children,
|
|
12
21
|
VirtualScrollerComponent = props.VirtualScrollerComponent,
|
|
13
|
-
|
|
22
|
+
ColumnHeadersProps = props.ColumnHeadersProps;
|
|
14
23
|
var apiRef = useGridPrivateApiContext();
|
|
15
24
|
var rootProps = useGridRootProps();
|
|
25
|
+
var visibleColumns = useGridSelector(apiRef, gridVisibleColumnDefinitionsSelector);
|
|
26
|
+
var filterColumnLookup = useGridSelector(apiRef, gridFilterActiveItemsLookupSelector);
|
|
27
|
+
var sortColumnLookup = useGridSelector(apiRef, gridSortColumnLookupSelector);
|
|
28
|
+
var columnPositions = useGridSelector(apiRef, gridColumnPositionsSelector);
|
|
29
|
+
var columnHeaderTabIndexState = useGridSelector(apiRef, gridTabIndexColumnHeaderSelector);
|
|
30
|
+
var cellTabIndexState = useGridSelector(apiRef, gridTabIndexCellSelector);
|
|
31
|
+
var columnGroupHeaderTabIndexState = useGridSelector(apiRef, unstable_gridTabIndexColumnGroupHeaderSelector);
|
|
32
|
+
var columnHeaderFocus = useGridSelector(apiRef, gridFocusColumnHeaderSelector);
|
|
33
|
+
var columnGroupHeaderFocus = useGridSelector(apiRef, unstable_gridFocusColumnGroupHeaderSelector);
|
|
34
|
+
var densityFactor = useGridSelector(apiRef, gridDensityFactorSelector);
|
|
35
|
+
var headerGroupingMaxDepth = useGridSelector(apiRef, gridColumnGroupsHeaderMaxDepthSelector);
|
|
36
|
+
var columnMenuState = useGridSelector(apiRef, gridColumnMenuSelector);
|
|
37
|
+
var columnVisibility = useGridSelector(apiRef, gridColumnVisibilityModelSelector);
|
|
38
|
+
var columnGroupsHeaderStructure = useGridSelector(apiRef, gridColumnGroupsHeaderStructureSelector);
|
|
39
|
+
var hasOtherElementInTabSequence = !(columnGroupHeaderTabIndexState === null && columnHeaderTabIndexState === null && cellTabIndexState === null);
|
|
16
40
|
var _React$useState = React.useState(rootProps.disableVirtualization),
|
|
17
41
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
18
42
|
isVirtualizationDisabled = _React$useState2[0],
|
|
@@ -47,10 +71,24 @@ function GridBody(props) {
|
|
|
47
71
|
apiRef.current.publishEvent('resize', size);
|
|
48
72
|
}, [apiRef]);
|
|
49
73
|
return /*#__PURE__*/_jsxs(GridMainContainer, {
|
|
50
|
-
children: [/*#__PURE__*/_jsx(
|
|
74
|
+
children: [/*#__PURE__*/_jsx(rootProps.slots.columnHeaders, _extends({
|
|
51
75
|
ref: columnsContainerRef,
|
|
52
|
-
innerRef: columnHeadersRef
|
|
53
|
-
|
|
76
|
+
innerRef: columnHeadersRef,
|
|
77
|
+
visibleColumns: visibleColumns,
|
|
78
|
+
filterColumnLookup: filterColumnLookup,
|
|
79
|
+
sortColumnLookup: sortColumnLookup,
|
|
80
|
+
columnPositions: columnPositions,
|
|
81
|
+
columnHeaderTabIndexState: columnHeaderTabIndexState,
|
|
82
|
+
columnGroupHeaderTabIndexState: columnGroupHeaderTabIndexState,
|
|
83
|
+
columnHeaderFocus: columnHeaderFocus,
|
|
84
|
+
columnGroupHeaderFocus: columnGroupHeaderFocus,
|
|
85
|
+
densityFactor: densityFactor,
|
|
86
|
+
headerGroupingMaxDepth: headerGroupingMaxDepth,
|
|
87
|
+
columnMenuState: columnMenuState,
|
|
88
|
+
columnVisibility: columnVisibility,
|
|
89
|
+
columnGroupsHeaderStructure: columnGroupsHeaderStructure,
|
|
90
|
+
hasOtherElementInTabSequence: hasOtherElementInTabSequence
|
|
91
|
+
}, ColumnHeadersProps)), /*#__PURE__*/_jsx(GridAutoSizer, {
|
|
54
92
|
nonce: rootProps.nonce,
|
|
55
93
|
disableHeight: rootProps.autoHeight,
|
|
56
94
|
onResize: handleResize,
|
|
@@ -67,7 +105,7 @@ process.env.NODE_ENV !== "production" ? GridBody.propTypes = {
|
|
|
67
105
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
68
106
|
// ----------------------------------------------------------------------
|
|
69
107
|
children: PropTypes.node,
|
|
70
|
-
|
|
108
|
+
ColumnHeadersProps: PropTypes.object,
|
|
71
109
|
VirtualScrollerComponent: PropTypes.elementType.isRequired
|
|
72
110
|
} : void 0;
|
|
73
111
|
export { GridBody };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import { styled } from '@mui/
|
|
4
|
+
import { styled } from '@mui/system';
|
|
5
5
|
import { unstable_composeClasses as composeClasses, unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import { useGridSelector } from '../../hooks/utils/useGridSelector';
|
|
@@ -5,7 +5,7 @@ var _excluded = ["align", "children", "colIndex", "colDef", "cellMode", "field",
|
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import clsx from 'clsx';
|
|
8
|
-
import { unstable_composeClasses as composeClasses, unstable_ownerDocument as ownerDocument, unstable_capitalize as capitalize } from '@mui/utils';
|
|
8
|
+
import { unstable_useForkRef as useForkRef, unstable_composeClasses as composeClasses, unstable_ownerDocument as ownerDocument, unstable_capitalize as capitalize } from '@mui/utils';
|
|
9
9
|
import { getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
10
10
|
import { GridCellModes } from '../../models';
|
|
11
11
|
import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
|
|
@@ -38,7 +38,7 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
|
38
38
|
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
39
39
|
};
|
|
40
40
|
var warnedOnce = false;
|
|
41
|
-
|
|
41
|
+
var GridCell = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
42
42
|
var _rootProps$experiment;
|
|
43
43
|
var align = props.align,
|
|
44
44
|
children = props.children,
|
|
@@ -73,6 +73,7 @@ function GridCell(props) {
|
|
|
73
73
|
other = _objectWithoutProperties(props, _excluded);
|
|
74
74
|
var valueToRender = formattedValue == null ? value : formattedValue;
|
|
75
75
|
var cellRef = React.useRef(null);
|
|
76
|
+
var handleRef = useForkRef(ref, cellRef);
|
|
76
77
|
var focusElementRef = React.useRef(null);
|
|
77
78
|
var apiRef = useGridApiContext();
|
|
78
79
|
var rootProps = useGridRootProps();
|
|
@@ -180,7 +181,7 @@ function GridCell(props) {
|
|
|
180
181
|
onDragOver: publish('cellDragOver', onDragOver)
|
|
181
182
|
};
|
|
182
183
|
return /*#__PURE__*/_jsx("div", _extends({
|
|
183
|
-
ref:
|
|
184
|
+
ref: handleRef,
|
|
184
185
|
className: clsx(className, classes.root),
|
|
185
186
|
role: "cell",
|
|
186
187
|
"data-field": field,
|
|
@@ -200,23 +201,24 @@ function GridCell(props) {
|
|
|
200
201
|
onFocus: handleFocus,
|
|
201
202
|
children: renderChildren()
|
|
202
203
|
}));
|
|
203
|
-
}
|
|
204
|
+
});
|
|
205
|
+
var MemoizedCell = /*#__PURE__*/React.memo(GridCell);
|
|
204
206
|
process.env.NODE_ENV !== "production" ? GridCell.propTypes = {
|
|
205
207
|
// ----------------------------- Warning --------------------------------
|
|
206
208
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
207
209
|
// | To update them edit the TypeScript types and run "yarn proptypes" |
|
|
208
210
|
// ----------------------------------------------------------------------
|
|
209
|
-
align: PropTypes.oneOf(['center', 'left', 'right'])
|
|
211
|
+
align: PropTypes.oneOf(['center', 'left', 'right']),
|
|
210
212
|
cellMode: PropTypes.oneOf(['edit', 'view']),
|
|
211
213
|
children: PropTypes.node,
|
|
212
214
|
className: PropTypes.string,
|
|
213
|
-
colIndex: PropTypes.number
|
|
215
|
+
colIndex: PropTypes.number,
|
|
214
216
|
colSpan: PropTypes.number,
|
|
215
217
|
disableDragEvents: PropTypes.bool,
|
|
216
|
-
field: PropTypes.string
|
|
218
|
+
field: PropTypes.string,
|
|
217
219
|
formattedValue: PropTypes.any,
|
|
218
220
|
hasFocus: PropTypes.bool,
|
|
219
|
-
height: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number])
|
|
221
|
+
height: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.number]),
|
|
220
222
|
isEditable: PropTypes.bool,
|
|
221
223
|
isSelected: PropTypes.bool,
|
|
222
224
|
onClick: PropTypes.func,
|
|
@@ -226,10 +228,10 @@ process.env.NODE_ENV !== "production" ? GridCell.propTypes = {
|
|
|
226
228
|
onKeyDown: PropTypes.func,
|
|
227
229
|
onMouseDown: PropTypes.func,
|
|
228
230
|
onMouseUp: PropTypes.func,
|
|
229
|
-
rowId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])
|
|
231
|
+
rowId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
230
232
|
showRightBorder: PropTypes.bool,
|
|
231
|
-
tabIndex: PropTypes.oneOf([-1, 0])
|
|
233
|
+
tabIndex: PropTypes.oneOf([-1, 0]),
|
|
232
234
|
value: PropTypes.any,
|
|
233
|
-
width: PropTypes.number
|
|
235
|
+
width: PropTypes.number
|
|
234
236
|
} : void 0;
|
|
235
|
-
export { GridCell };
|
|
237
|
+
export { MemoizedCell as GridCell };
|
|
@@ -11,7 +11,6 @@ import { styled } from '@mui/material/styles';
|
|
|
11
11
|
import InputBase from '@mui/material/InputBase';
|
|
12
12
|
import { getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
13
13
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
14
|
-
import { GridLoadIcon } from '../icons/index';
|
|
15
14
|
import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
|
|
16
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
16
|
var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
@@ -123,7 +122,7 @@ var GridEditInputCell = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
123
122
|
type: colDef.type === 'number' ? colDef.type : 'text',
|
|
124
123
|
value: valueState != null ? valueState : '',
|
|
125
124
|
onChange: handleChange,
|
|
126
|
-
endAdornment: isProcessingProps ? /*#__PURE__*/_jsx(
|
|
125
|
+
endAdornment: isProcessingProps ? /*#__PURE__*/_jsx(rootProps.slots.loadIcon, {}) : undefined
|
|
127
126
|
}, other));
|
|
128
127
|
});
|
|
129
128
|
process.env.NODE_ENV !== "production" ? GridEditInputCell.propTypes = {
|
|
@@ -2,17 +2,18 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
-
var _excluded = ["id", "value", "formattedValue", "api", "field", "row", "rowNode", "colDef", "cellMode", "isEditable", "tabIndex", "className", "hasFocus", "isValidating", "isProcessingProps", "error", "onValueChange", "initialOpen", "getOptionLabel", "getOptionValue"]
|
|
5
|
+
var _excluded = ["id", "value", "formattedValue", "api", "field", "row", "rowNode", "colDef", "cellMode", "isEditable", "tabIndex", "className", "hasFocus", "isValidating", "isProcessingProps", "error", "onValueChange", "initialOpen", "getOptionLabel", "getOptionValue"],
|
|
6
|
+
_excluded2 = ["MenuProps"];
|
|
6
7
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
7
8
|
import * as React from 'react';
|
|
8
9
|
import PropTypes from 'prop-types';
|
|
9
10
|
import { unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';
|
|
10
|
-
import MenuItem from '@mui/material/MenuItem';
|
|
11
11
|
import { isEscapeKey } from '../../utils/keyboardUtils';
|
|
12
12
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
13
13
|
import { GridEditModes } from '../../models/gridEditRowModel';
|
|
14
14
|
import { getValueFromValueOptions, isSingleSelectColDef } from '../panel/filterPanel/filterPanelUtils';
|
|
15
15
|
import { useGridApiContext } from '../../hooks/utils/useGridApiContext';
|
|
16
|
+
import { createElement as _createElement } from "react";
|
|
16
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
18
|
function isKeyboardEvent(event) {
|
|
18
19
|
return !!event.key;
|
|
@@ -51,6 +52,9 @@ function GridEditSingleSelectCell(props) {
|
|
|
51
52
|
setOpen = _React$useState2[1];
|
|
52
53
|
var baseSelectProps = ((_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.baseSelect) || {};
|
|
53
54
|
var isSelectNative = (_baseSelectProps$nati = baseSelectProps.native) != null ? _baseSelectProps$nati : false;
|
|
55
|
+
var _ref = ((_rootProps$slotProps2 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps2.baseSelect) || {},
|
|
56
|
+
MenuProps = _ref.MenuProps,
|
|
57
|
+
otherBaseSelectProps = _objectWithoutProperties(_ref, _excluded2);
|
|
54
58
|
useEnhancedEffect(function () {
|
|
55
59
|
if (hasFocus) {
|
|
56
60
|
var _inputRef$current;
|
|
@@ -76,7 +80,7 @@ function GridEditSingleSelectCell(props) {
|
|
|
76
80
|
var getOptionValue = getOptionValueProp || colDef.getOptionValue;
|
|
77
81
|
var getOptionLabel = getOptionLabelProp || colDef.getOptionLabel;
|
|
78
82
|
var handleChange = /*#__PURE__*/function () {
|
|
79
|
-
var
|
|
83
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(event) {
|
|
80
84
|
var target, formattedTargetValue;
|
|
81
85
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
82
86
|
while (1) {
|
|
@@ -112,7 +116,7 @@ function GridEditSingleSelectCell(props) {
|
|
|
112
116
|
}, _callee);
|
|
113
117
|
}));
|
|
114
118
|
return function handleChange(_x) {
|
|
115
|
-
return
|
|
119
|
+
return _ref2.apply(this, arguments);
|
|
116
120
|
};
|
|
117
121
|
}();
|
|
118
122
|
var handleClose = function handleClose(event, reason) {
|
|
@@ -134,7 +138,6 @@ function GridEditSingleSelectCell(props) {
|
|
|
134
138
|
}
|
|
135
139
|
setOpen(true);
|
|
136
140
|
};
|
|
137
|
-
var OptionComponent = isSelectNative ? 'option' : MenuItem;
|
|
138
141
|
if (!valueOptions || !colDef) {
|
|
139
142
|
return null;
|
|
140
143
|
}
|
|
@@ -145,19 +148,21 @@ function GridEditSingleSelectCell(props) {
|
|
|
145
148
|
onChange: handleChange,
|
|
146
149
|
open: open,
|
|
147
150
|
onOpen: handleOpen,
|
|
148
|
-
MenuProps: {
|
|
151
|
+
MenuProps: _extends({
|
|
149
152
|
onClose: handleClose
|
|
150
|
-
},
|
|
153
|
+
}, MenuProps),
|
|
151
154
|
error: error,
|
|
152
155
|
native: isSelectNative,
|
|
153
156
|
fullWidth: true
|
|
154
|
-
}, other,
|
|
157
|
+
}, other, otherBaseSelectProps, {
|
|
155
158
|
children: valueOptions.map(function (valueOption) {
|
|
159
|
+
var _rootProps$slotProps3;
|
|
156
160
|
var value = getOptionValue(valueOption);
|
|
157
|
-
return /*#__PURE__*/
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
+
return /*#__PURE__*/_createElement(rootProps.slots.baseSelectOption, _extends({}, ((_rootProps$slotProps3 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps3.baseSelectOption) || {}, {
|
|
162
|
+
native: isSelectNative,
|
|
163
|
+
key: value,
|
|
164
|
+
value: value
|
|
165
|
+
}), getOptionLabel(valueOption));
|
|
161
166
|
})
|
|
162
167
|
}));
|
|
163
168
|
}
|