@mui/x-data-grid 8.0.0-alpha.5 → 8.0.0-alpha.7
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 +206 -1
- package/DataGrid/DataGrid.js +4 -3
- package/DataGrid/useDataGridComponent.d.ts +1 -1
- package/components/GridColumnHeaders.d.ts +1 -1
- package/components/GridColumnHeaders.js +4 -4
- package/components/GridFooter.d.ts +2 -1
- package/components/GridFooter.js +4 -4
- package/components/GridLoadingOverlay.d.ts +1 -1
- package/components/GridLoadingOverlay.js +10 -8
- package/components/GridNoResultsOverlay.d.ts +2 -1
- package/components/GridNoResultsOverlay.js +4 -4
- package/components/GridNoRowsOverlay.d.ts +2 -1
- package/components/GridNoRowsOverlay.js +4 -4
- package/components/GridPagination.d.ts +1 -1
- package/components/GridPagination.js +5 -3
- package/components/GridRow.d.ts +1 -1
- package/components/GridRow.js +3 -2
- package/components/GridRowCount.d.ts +1 -1
- package/components/GridRowCount.js +3 -2
- package/components/GridSelectedRowCount.d.ts +4 -1
- package/components/GridSelectedRowCount.js +3 -2
- package/components/GridSkeletonLoadingOverlay.d.ts +1 -1
- package/components/GridSkeletonLoadingOverlay.js +4 -3
- package/components/cell/GridActionsCellItem.d.ts +17 -10
- package/components/cell/GridActionsCellItem.js +5 -2
- package/components/cell/GridCell.d.ts +1 -1
- package/components/cell/GridCell.js +3 -2
- package/components/cell/GridEditDateCell.js +1 -1
- package/components/cell/GridEditInputCell.d.ts +1 -1
- package/components/cell/GridEditInputCell.js +73 -4
- package/components/cell/GridEditSingleSelectCell.js +2 -2
- package/components/cell/GridSkeletonCell.js +1 -2
- package/components/columnHeaders/ColumnHeaderMenuIcon.d.ts +1 -1
- package/components/columnHeaders/GridBaseColumnHeaders.d.ts +1 -1
- package/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
- package/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -1
- package/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
- package/components/columnHeaders/GridGenericColumnHeaderItem.d.ts +1 -1
- package/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
- package/components/columnHeaders/GridIconButtonContainer.d.ts +1 -1
- package/components/columnHeaders/GridIconButtonContainer.js +5 -3
- package/components/columnSelection/GridCellCheckboxRenderer.d.ts +2 -2
- package/components/columnSelection/GridCellCheckboxRenderer.js +7 -4
- package/components/columnSelection/GridHeaderCheckbox.d.ts +1 -1
- package/components/columnSelection/GridHeaderCheckbox.js +11 -5
- package/components/columnsManagement/GridColumnsManagement.js +2 -2
- package/components/containers/GridFooterContainer.d.ts +1 -1
- package/components/containers/GridFooterContainer.js +5 -3
- package/components/containers/GridOverlay.d.ts +1 -1
- package/components/containers/GridOverlay.js +5 -3
- package/components/containers/GridRoot.d.ts +1 -1
- package/components/containers/GridRoot.js +5 -3
- package/components/containers/GridToolbarContainer.d.ts +1 -1
- package/components/containers/GridToolbarContainer.js +3 -2
- package/components/menu/columnMenu/GridColumnMenu.d.ts +2 -2
- package/components/menu/columnMenu/GridColumnMenu.js +5 -5
- package/components/menu/columnMenu/GridColumnMenuContainer.d.ts +1 -1
- package/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
- package/components/panel/GridPanel.d.ts +2 -2
- package/components/panel/GridPanel.js +3 -2
- package/components/panel/GridPanelWrapper.d.ts +1 -1
- package/components/panel/GridPanelWrapper.js +5 -3
- package/components/panel/filterPanel/GridFilterForm.d.ts +1 -1
- package/components/panel/filterPanel/GridFilterForm.js +3 -2
- package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +1 -1
- package/components/panel/filterPanel/GridFilterInputBoolean.js +9 -9
- package/components/panel/filterPanel/GridFilterInputValue.js +13 -9
- package/components/panel/filterPanel/GridFilterPanel.d.ts +1 -1
- package/components/panel/filterPanel/GridFilterPanel.js +4 -4
- package/components/panel/filterPanel/index.d.ts +2 -1
- package/components/panel/filterPanel/index.js +1 -1
- package/components/toolbar/GridToolbar.d.ts +1 -1
- package/components/toolbar/GridToolbar.js +4 -4
- package/components/toolbar/GridToolbarColumnsButton.d.ts +1 -1
- package/components/toolbar/GridToolbarColumnsButton.js +3 -2
- package/components/toolbar/GridToolbarDensitySelector.d.ts +1 -1
- package/components/toolbar/GridToolbarDensitySelector.js +3 -2
- package/components/toolbar/GridToolbarExport.d.ts +1 -1
- package/components/toolbar/GridToolbarExport.js +2 -1
- package/components/toolbar/GridToolbarExportContainer.d.ts +1 -1
- package/components/toolbar/GridToolbarExportContainer.js +3 -2
- package/components/toolbar/GridToolbarFilterButton.d.ts +1 -1
- package/components/toolbar/GridToolbarFilterButton.js +3 -2
- package/components/toolbar/GridToolbarQuickFilter.js +2 -2
- package/components/virtualization/GridMainContainer.d.ts +3 -1
- package/components/virtualization/GridMainContainer.js +3 -2
- package/components/virtualization/GridVirtualScrollbar.d.ts +1 -1
- package/components/virtualization/GridVirtualScrollbar.js +2 -1
- package/components/virtualization/GridVirtualScrollerContent.d.ts +2 -0
- package/components/virtualization/GridVirtualScrollerContent.js +5 -5
- package/components/virtualization/GridVirtualScrollerRenderZone.d.ts +2 -0
- package/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
- package/hooks/core/pipeProcessing/gridPipeProcessingApi.d.ts +9 -2
- package/hooks/core/pipeProcessing/useGridPipeProcessing.d.ts +1 -1
- package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.d.ts +1 -1
- package/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -1
- package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.d.ts +1 -1
- package/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -1
- package/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.d.ts +1 -1
- package/hooks/core/strategyProcessing/useGridStrategyProcessing.d.ts +1 -1
- package/hooks/core/useGridApiInitialization.d.ts +1 -1
- package/hooks/core/useGridApiInitialization.js +2 -2
- package/hooks/core/useGridInitialization.d.ts +1 -1
- package/hooks/core/useGridIsRtl.d.ts +1 -1
- package/hooks/core/useGridLocaleText.d.ts +1 -1
- package/hooks/core/useGridLoggerFactory.d.ts +1 -1
- package/hooks/core/useGridRefs.d.ts +1 -1
- package/hooks/core/useGridStateInitialization.d.ts +1 -1
- package/hooks/features/columnResize/useGridColumnResize.d.ts +1 -1
- package/hooks/features/columnResize/useGridColumnResize.js +4 -4
- package/hooks/features/editing/useGridRowEditing.js +1 -1
- package/hooks/features/export/useGridPrintExport.js +1 -1
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
- package/hooks/features/preferencesPanel/useGridPreferencesPanel.js +2 -2
- package/hooks/features/rowSelection/useGridRowSelectionPreProcessors.d.ts +1 -1
- package/hooks/features/rows/useGridRowSpanning.js +76 -87
- package/hooks/features/rows/useGridRowsPreProcessors.d.ts +1 -1
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +3 -3
- package/hooks/features/virtualization/useGridVirtualScroller.js +5 -1
- package/hooks/utils/useGridApiEventHandler.js +1 -1
- package/hooks/utils/useGridApiMethod.d.ts +1 -1
- package/hooks/utils/useGridApiRef.d.ts +1 -1
- package/hooks/utils/useGridInitializeState.d.ts +2 -2
- package/hooks/utils/useGridLogger.d.ts +1 -1
- package/hooks/utils/useGridVisibleRows.d.ts +2 -2
- package/index.js +1 -1
- package/internals/index.d.ts +1 -1
- package/locales/nlNL.js +5 -6
- package/material/index.js +6 -0
- package/models/api/gridCoreApi.d.ts +7 -7
- package/models/api/gridDensityApi.d.ts +1 -1
- package/models/gridBaseSlots.d.ts +47 -2
- package/models/gridSlotsComponent.d.ts +16 -1
- package/models/gridSlotsComponentsProps.d.ts +24 -7
- package/models/props/DataGridProps.d.ts +1 -1
- package/modern/DataGrid/DataGrid.js +4 -3
- package/modern/components/GridColumnHeaders.js +4 -4
- package/modern/components/GridFooter.js +4 -4
- package/modern/components/GridLoadingOverlay.js +10 -8
- package/modern/components/GridNoResultsOverlay.js +4 -4
- package/modern/components/GridNoRowsOverlay.js +4 -4
- package/modern/components/GridPagination.js +5 -3
- package/modern/components/GridRow.js +3 -2
- package/modern/components/GridRowCount.js +3 -2
- package/modern/components/GridSelectedRowCount.js +3 -2
- package/modern/components/GridSkeletonLoadingOverlay.js +4 -3
- package/modern/components/cell/GridActionsCellItem.js +5 -2
- package/modern/components/cell/GridCell.js +3 -2
- package/modern/components/cell/GridEditDateCell.js +1 -1
- package/modern/components/cell/GridEditInputCell.js +73 -4
- package/modern/components/cell/GridEditSingleSelectCell.js +2 -2
- package/modern/components/cell/GridSkeletonCell.js +1 -2
- package/modern/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
- package/modern/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -1
- package/modern/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
- package/modern/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
- package/modern/components/columnHeaders/GridIconButtonContainer.js +5 -3
- package/modern/components/columnSelection/GridCellCheckboxRenderer.js +7 -4
- package/modern/components/columnSelection/GridHeaderCheckbox.js +11 -5
- package/modern/components/columnsManagement/GridColumnsManagement.js +2 -2
- package/modern/components/containers/GridFooterContainer.js +5 -3
- package/modern/components/containers/GridOverlay.js +5 -3
- package/modern/components/containers/GridRoot.js +5 -3
- package/modern/components/containers/GridToolbarContainer.js +3 -2
- package/modern/components/menu/columnMenu/GridColumnMenu.js +5 -5
- package/modern/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
- package/modern/components/panel/GridPanel.js +3 -2
- package/modern/components/panel/GridPanelWrapper.js +5 -3
- package/modern/components/panel/filterPanel/GridFilterForm.js +3 -2
- package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +9 -9
- package/modern/components/panel/filterPanel/GridFilterInputValue.js +13 -9
- package/modern/components/panel/filterPanel/GridFilterPanel.js +4 -4
- package/modern/components/panel/filterPanel/index.js +1 -1
- package/modern/components/toolbar/GridToolbar.js +4 -4
- package/modern/components/toolbar/GridToolbarColumnsButton.js +3 -2
- package/modern/components/toolbar/GridToolbarDensitySelector.js +3 -2
- package/modern/components/toolbar/GridToolbarExport.js +2 -1
- package/modern/components/toolbar/GridToolbarExportContainer.js +3 -2
- package/modern/components/toolbar/GridToolbarFilterButton.js +3 -2
- package/modern/components/toolbar/GridToolbarQuickFilter.js +2 -2
- package/modern/components/virtualization/GridMainContainer.js +3 -2
- package/modern/components/virtualization/GridVirtualScrollbar.js +2 -1
- package/modern/components/virtualization/GridVirtualScrollerContent.js +5 -5
- package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
- package/modern/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -1
- package/modern/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -1
- package/modern/hooks/core/useGridApiInitialization.js +2 -2
- package/modern/hooks/features/columnResize/useGridColumnResize.js +4 -4
- package/modern/hooks/features/editing/useGridRowEditing.js +1 -1
- package/modern/hooks/features/export/useGridPrintExport.js +1 -1
- package/modern/hooks/features/preferencesPanel/useGridPreferencesPanel.js +2 -2
- package/modern/hooks/features/rows/useGridRowSpanning.js +76 -87
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +5 -1
- package/modern/hooks/utils/useGridApiEventHandler.js +1 -1
- package/modern/index.js +1 -1
- package/modern/locales/nlNL.js +5 -6
- package/modern/material/index.js +6 -0
- package/modern/utils/utils.js +6 -1
- package/node/DataGrid/DataGrid.js +4 -3
- package/node/components/GridColumnHeaders.js +4 -4
- package/node/components/GridFooter.js +4 -4
- package/node/components/GridLoadingOverlay.js +10 -8
- package/node/components/GridNoResultsOverlay.js +4 -4
- package/node/components/GridNoRowsOverlay.js +4 -4
- package/node/components/GridPagination.js +5 -3
- package/node/components/GridRow.js +3 -2
- package/node/components/GridRowCount.js +3 -2
- package/node/components/GridSelectedRowCount.js +3 -2
- package/node/components/GridSkeletonLoadingOverlay.js +4 -3
- package/node/components/cell/GridActionsCellItem.js +4 -3
- package/node/components/cell/GridCell.js +3 -2
- package/node/components/cell/GridEditDateCell.js +1 -1
- package/node/components/cell/GridEditInputCell.js +73 -4
- package/node/components/cell/GridEditSingleSelectCell.js +2 -2
- package/node/components/cell/GridSkeletonCell.js +1 -2
- package/node/components/columnHeaders/GridBaseColumnHeaders.js +4 -3
- package/node/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -1
- package/node/components/columnHeaders/GridColumnHeaderTitle.js +5 -3
- package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +3 -2
- package/node/components/columnHeaders/GridIconButtonContainer.js +5 -3
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +7 -4
- package/node/components/columnSelection/GridHeaderCheckbox.js +11 -5
- package/node/components/columnsManagement/GridColumnsManagement.js +2 -2
- package/node/components/containers/GridFooterContainer.js +5 -3
- package/node/components/containers/GridOverlay.js +5 -3
- package/node/components/containers/GridRoot.js +5 -3
- package/node/components/containers/GridToolbarContainer.js +3 -2
- package/node/components/menu/columnMenu/GridColumnMenu.js +5 -5
- package/node/components/menu/columnMenu/GridColumnMenuContainer.js +3 -2
- package/node/components/panel/GridPanel.js +3 -2
- package/node/components/panel/GridPanelWrapper.js +5 -3
- package/node/components/panel/filterPanel/GridFilterForm.js +3 -2
- package/node/components/panel/filterPanel/GridFilterInputBoolean.js +10 -11
- package/node/components/panel/filterPanel/GridFilterInputValue.js +13 -9
- package/node/components/panel/filterPanel/GridFilterPanel.js +4 -4
- package/node/components/panel/filterPanel/index.js +7 -11
- package/node/components/toolbar/GridToolbar.js +4 -4
- package/node/components/toolbar/GridToolbarColumnsButton.js +3 -2
- package/node/components/toolbar/GridToolbarDensitySelector.js +3 -2
- package/node/components/toolbar/GridToolbarExport.js +2 -1
- package/node/components/toolbar/GridToolbarExportContainer.js +3 -2
- package/node/components/toolbar/GridToolbarFilterButton.js +3 -2
- package/node/components/toolbar/GridToolbarQuickFilter.js +2 -2
- package/node/components/virtualization/GridMainContainer.js +3 -2
- package/node/components/virtualization/GridVirtualScrollbar.js +2 -1
- package/node/components/virtualization/GridVirtualScrollerContent.js +5 -5
- package/node/components/virtualization/GridVirtualScrollerRenderZone.js +5 -3
- package/node/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +1 -1
- package/node/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +1 -1
- package/node/hooks/core/useGridApiInitialization.js +2 -2
- package/node/hooks/features/columnResize/useGridColumnResize.js +4 -4
- package/node/hooks/features/editing/useGridRowEditing.js +1 -1
- package/node/hooks/features/export/useGridPrintExport.js +1 -1
- package/node/hooks/features/preferencesPanel/useGridPreferencesPanel.js +2 -2
- package/node/hooks/features/rows/useGridRowSpanning.js +74 -85
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +5 -1
- package/node/hooks/utils/useGridApiEventHandler.js +1 -1
- package/node/index.js +1 -1
- package/node/locales/nlNL.js +5 -6
- package/node/material/index.js +6 -0
- package/node/utils/utils.js +8 -1
- package/package.json +2 -2
- package/utils/utils.d.ts +1 -0
- package/utils/utils.js +6 -1
|
@@ -4,7 +4,6 @@ const _excluded = ["field", "type", "align", "width", "height", "empty", "style"
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
7
|
-
import Skeleton from '@mui/material/Skeleton';
|
|
8
7
|
import { unstable_composeClasses as composeClasses, unstable_capitalize as capitalize } from '@mui/utils';
|
|
9
8
|
import { fastMemo } from '@mui/x-internals/fastMemo';
|
|
10
9
|
import { createRandomNumberGenerator } from "../../utils/utils.js";
|
|
@@ -82,7 +81,7 @@ function GridSkeletonCell(props) {
|
|
|
82
81
|
minWidth: width
|
|
83
82
|
}, style)
|
|
84
83
|
}, other, {
|
|
85
|
-
children: !empty && /*#__PURE__*/_jsx(
|
|
84
|
+
children: !empty && /*#__PURE__*/_jsx(rootProps.slots.baseSkeleton, _extends({}, skeletonProps))
|
|
86
85
|
}));
|
|
87
86
|
}
|
|
88
87
|
process.env.NODE_ENV !== "production" ? GridSkeletonCell.propTypes = {
|
|
@@ -5,6 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import composeClasses from '@mui/utils/composeClasses';
|
|
7
7
|
import { styled } from '@mui/system';
|
|
8
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
8
9
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
9
10
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -27,7 +28,7 @@ const GridColumnHeadersRoot = styled('div', {
|
|
|
27
28
|
borderTopLeftRadius: 'var(--unstable_DataGrid-radius)',
|
|
28
29
|
borderTopRightRadius: 'var(--unstable_DataGrid-radius)'
|
|
29
30
|
});
|
|
30
|
-
export const GridBaseColumnHeaders =
|
|
31
|
+
export const GridBaseColumnHeaders = forwardRef(function GridColumnHeaders(props, ref) {
|
|
31
32
|
const {
|
|
32
33
|
className
|
|
33
34
|
} = props,
|
|
@@ -35,10 +36,10 @@ export const GridBaseColumnHeaders = /*#__PURE__*/React.forwardRef(function Grid
|
|
|
35
36
|
const rootProps = useGridRootProps();
|
|
36
37
|
const classes = useUtilityClasses(rootProps);
|
|
37
38
|
return /*#__PURE__*/_jsx(GridColumnHeadersRoot, _extends({
|
|
38
|
-
ref: ref,
|
|
39
39
|
className: clsx(classes.root, className),
|
|
40
40
|
ownerState: rootProps
|
|
41
41
|
}, other, {
|
|
42
|
-
role: "presentation"
|
|
42
|
+
role: "presentation",
|
|
43
|
+
ref: ref
|
|
43
44
|
}));
|
|
44
45
|
});
|
|
@@ -57,7 +57,6 @@ function GridColumnHeaderFilterIconButton(props) {
|
|
|
57
57
|
const iconButton = /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, _extends({
|
|
58
58
|
id: labelId,
|
|
59
59
|
onClick: toggleFilter,
|
|
60
|
-
color: "default",
|
|
61
60
|
"aria-label": apiRef.current.getLocaleText('columnHeaderFiltersLabel'),
|
|
62
61
|
size: "small",
|
|
63
62
|
tabIndex: -1,
|
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import composeClasses from '@mui/utils/composeClasses';
|
|
8
8
|
import { styled } from '@mui/system';
|
|
9
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
9
10
|
import { isOverflown } from "../../utils/domUtils.js";
|
|
10
11
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
11
12
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
@@ -30,7 +31,7 @@ const GridColumnHeaderTitleRoot = styled('div', {
|
|
|
30
31
|
fontWeight: 'var(--unstable_DataGrid-headWeight)',
|
|
31
32
|
lineHeight: 'normal'
|
|
32
33
|
});
|
|
33
|
-
const ColumnHeaderInnerTitle =
|
|
34
|
+
const ColumnHeaderInnerTitle = forwardRef(function ColumnHeaderInnerTitle(props, ref) {
|
|
34
35
|
// Tooltip adds aria-label to the props, which is not needed since the children prop is a string
|
|
35
36
|
// See https://github.com/mui/mui-x/pull/14482
|
|
36
37
|
const {
|
|
@@ -40,10 +41,11 @@ const ColumnHeaderInnerTitle = /*#__PURE__*/React.forwardRef(function ColumnHead
|
|
|
40
41
|
const rootProps = useGridRootProps();
|
|
41
42
|
const classes = useUtilityClasses(rootProps);
|
|
42
43
|
return /*#__PURE__*/_jsx(GridColumnHeaderTitleRoot, _extends({
|
|
43
|
-
ref: ref,
|
|
44
44
|
className: clsx(classes.root, className),
|
|
45
45
|
ownerState: rootProps
|
|
46
|
-
}, other
|
|
46
|
+
}, other, {
|
|
47
|
+
ref: ref
|
|
48
|
+
}));
|
|
47
49
|
});
|
|
48
50
|
// No React.memo here as if we display the sort icon, we need to recalculate the isOver
|
|
49
51
|
function GridColumnHeaderTitle(props) {
|
|
@@ -4,12 +4,13 @@ const _excluded = ["classes", "columnMenuOpen", "colIndex", "height", "isResizin
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import { unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
7
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
7
8
|
import { useGridPrivateApiContext } from "../../hooks/utils/useGridPrivateApiContext.js";
|
|
8
9
|
import { GridColumnHeaderTitle } from "./GridColumnHeaderTitle.js";
|
|
9
10
|
import { GridColumnHeaderSeparator } from "./GridColumnHeaderSeparator.js";
|
|
10
11
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
11
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
-
const GridGenericColumnHeaderItem =
|
|
13
|
+
const GridGenericColumnHeaderItem = forwardRef(function GridGenericColumnHeaderItem(props, ref) {
|
|
13
14
|
const {
|
|
14
15
|
classes,
|
|
15
16
|
colIndex,
|
|
@@ -54,7 +55,6 @@ const GridGenericColumnHeaderItem = /*#__PURE__*/React.forwardRef(function GridG
|
|
|
54
55
|
}
|
|
55
56
|
}, [apiRef, hasFocus]);
|
|
56
57
|
return /*#__PURE__*/_jsxs("div", _extends({
|
|
57
|
-
ref: handleRef,
|
|
58
58
|
className: clsx(classes.root, headerClassName),
|
|
59
59
|
style: _extends({}, style, {
|
|
60
60
|
height,
|
|
@@ -65,6 +65,7 @@ const GridGenericColumnHeaderItem = /*#__PURE__*/React.forwardRef(function GridG
|
|
|
65
65
|
"aria-colindex": colIndex + 1,
|
|
66
66
|
"aria-sort": ariaSort
|
|
67
67
|
}, other, {
|
|
68
|
+
ref: handleRef,
|
|
68
69
|
children: [/*#__PURE__*/_jsxs("div", _extends({
|
|
69
70
|
className: classes.draggableContainer,
|
|
70
71
|
draggable: isDraggable,
|
|
@@ -5,6 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import clsx from 'clsx';
|
|
6
6
|
import composeClasses from '@mui/utils/composeClasses';
|
|
7
7
|
import { styled } from '@mui/system';
|
|
8
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
8
9
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
9
10
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -26,7 +27,7 @@ const GridIconButtonContainerRoot = styled('div', {
|
|
|
26
27
|
visibility: 'hidden',
|
|
27
28
|
width: 0
|
|
28
29
|
}));
|
|
29
|
-
export const GridIconButtonContainer =
|
|
30
|
+
export const GridIconButtonContainer = forwardRef(function GridIconButtonContainer(props, ref) {
|
|
30
31
|
const {
|
|
31
32
|
className
|
|
32
33
|
} = props,
|
|
@@ -34,8 +35,9 @@ export const GridIconButtonContainer = /*#__PURE__*/React.forwardRef(function Gr
|
|
|
34
35
|
const rootProps = useGridRootProps();
|
|
35
36
|
const classes = useUtilityClasses(rootProps);
|
|
36
37
|
return /*#__PURE__*/_jsx(GridIconButtonContainerRoot, _extends({
|
|
37
|
-
ref: ref,
|
|
38
38
|
className: clsx(classes.root, className),
|
|
39
39
|
ownerState: rootProps
|
|
40
|
-
}, other
|
|
40
|
+
}, other, {
|
|
41
|
+
ref: ref
|
|
42
|
+
}));
|
|
41
43
|
});
|
|
@@ -4,6 +4,7 @@ const _excluded = ["field", "id", "formattedValue", "row", "rowNode", "colDef",
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { unstable_composeClasses as composeClasses, unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
7
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
7
8
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
8
9
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
9
10
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
@@ -19,7 +20,7 @@ const useUtilityClasses = ownerState => {
|
|
|
19
20
|
};
|
|
20
21
|
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
21
22
|
};
|
|
22
|
-
const GridCellCheckboxForwardRef =
|
|
23
|
+
const GridCellCheckboxForwardRef = forwardRef(function GridCellCheckboxRenderer(props, ref) {
|
|
23
24
|
const {
|
|
24
25
|
field,
|
|
25
26
|
id,
|
|
@@ -81,19 +82,21 @@ const GridCellCheckboxForwardRef = /*#__PURE__*/React.forwardRef(function GridCe
|
|
|
81
82
|
}
|
|
82
83
|
const label = apiRef.current.getLocaleText(isChecked && !isIndeterminate ? 'checkboxSelectionUnselectRow' : 'checkboxSelectionSelectRow');
|
|
83
84
|
return /*#__PURE__*/_jsx(rootProps.slots.baseCheckbox, _extends({
|
|
84
|
-
ref: handleRef,
|
|
85
85
|
tabIndex: tabIndex,
|
|
86
86
|
checked: isChecked && !isIndeterminate,
|
|
87
87
|
onChange: handleChange,
|
|
88
88
|
className: classes.root,
|
|
89
89
|
inputProps: {
|
|
90
|
-
'aria-label': label
|
|
90
|
+
'aria-label': label,
|
|
91
|
+
name: 'select_row'
|
|
91
92
|
},
|
|
92
93
|
onKeyDown: handleKeyDown,
|
|
93
94
|
indeterminate: isIndeterminate,
|
|
94
95
|
disabled: !isSelectable,
|
|
95
96
|
touchRippleRef: rippleRef /* FIXME: typing error */
|
|
96
|
-
}, rootProps.slotProps?.baseCheckbox, other
|
|
97
|
+
}, rootProps.slotProps?.baseCheckbox, other, {
|
|
98
|
+
ref: handleRef
|
|
99
|
+
}));
|
|
97
100
|
});
|
|
98
101
|
process.env.NODE_ENV !== "production" ? GridCellCheckboxForwardRef.propTypes = {
|
|
99
102
|
// ----------------------------- Warning --------------------------------
|
|
@@ -4,6 +4,7 @@ const _excluded = ["field", "colDef"];
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import composeClasses from '@mui/utils/composeClasses';
|
|
7
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
7
8
|
import { isMultipleRowSelectionEnabled } from "../../hooks/features/rowSelection/utils.js";
|
|
8
9
|
import { useGridSelector } from "../../hooks/utils/useGridSelector.js";
|
|
9
10
|
import { gridTabIndexColumnHeaderSelector } from "../../hooks/features/focus/gridFocusStateSelector.js";
|
|
@@ -23,7 +24,7 @@ const useUtilityClasses = ownerState => {
|
|
|
23
24
|
};
|
|
24
25
|
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
25
26
|
};
|
|
26
|
-
const GridHeaderCheckbox =
|
|
27
|
+
const GridHeaderCheckbox = forwardRef(function GridHeaderCheckbox(props, ref) {
|
|
27
28
|
const other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
28
29
|
const [, forceUpdate] = React.useState(false);
|
|
29
30
|
const apiRef = useGridApiContext();
|
|
@@ -41,13 +42,16 @@ const GridHeaderCheckbox = /*#__PURE__*/React.forwardRef(function GridHeaderChec
|
|
|
41
42
|
return selection;
|
|
42
43
|
}
|
|
43
44
|
return selection.filter(id => {
|
|
45
|
+
if (rootProps.keepNonExistentRowsSelected) {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
44
48
|
// The row might have been deleted
|
|
45
49
|
if (!apiRef.current.getRow(id)) {
|
|
46
50
|
return false;
|
|
47
51
|
}
|
|
48
52
|
return rootProps.isRowSelectable(apiRef.current.getRowParams(id));
|
|
49
53
|
});
|
|
50
|
-
}, [apiRef, rootProps.isRowSelectable, selection]);
|
|
54
|
+
}, [apiRef, rootProps.isRowSelectable, selection, rootProps.keepNonExistentRowsSelected]);
|
|
51
55
|
|
|
52
56
|
// All the rows that could be selected / unselected by toggling this checkbox
|
|
53
57
|
const selectionCandidates = React.useMemo(() => {
|
|
@@ -97,18 +101,20 @@ const GridHeaderCheckbox = /*#__PURE__*/React.forwardRef(function GridHeaderChec
|
|
|
97
101
|
}, [apiRef, handleSelectionChange]);
|
|
98
102
|
const label = apiRef.current.getLocaleText(isChecked && !isIndeterminate ? 'checkboxSelectionUnselectAllRows' : 'checkboxSelectionSelectAllRows');
|
|
99
103
|
return /*#__PURE__*/_jsx(rootProps.slots.baseCheckbox, _extends({
|
|
100
|
-
ref: ref,
|
|
101
104
|
indeterminate: isIndeterminate,
|
|
102
105
|
checked: isChecked && !isIndeterminate,
|
|
103
106
|
onChange: handleChange,
|
|
104
107
|
className: classes.root,
|
|
105
108
|
inputProps: {
|
|
106
|
-
'aria-label': label
|
|
109
|
+
'aria-label': label,
|
|
110
|
+
name: 'select_all_rows'
|
|
107
111
|
},
|
|
108
112
|
tabIndex: tabIndex,
|
|
109
113
|
onKeyDown: handleKeyDown,
|
|
110
114
|
disabled: !isMultipleRowSelectionEnabled(rootProps)
|
|
111
|
-
}, rootProps.slotProps?.baseCheckbox, other
|
|
115
|
+
}, rootProps.slotProps?.baseCheckbox, other, {
|
|
116
|
+
ref: ref
|
|
117
|
+
}));
|
|
112
118
|
});
|
|
113
119
|
process.env.NODE_ENV !== "production" ? GridHeaderCheckbox.propTypes = {
|
|
114
120
|
// ----------------------------- Warning --------------------------------
|
|
@@ -140,11 +140,11 @@ function GridColumnsManagement(props) {
|
|
|
140
140
|
endAdornment: /*#__PURE__*/_jsx(rootProps.slots.baseIconButton, _extends({
|
|
141
141
|
"aria-label": apiRef.current.getLocaleText('columnsManagementDeleteIconLabel'),
|
|
142
142
|
size: "small",
|
|
143
|
-
|
|
143
|
+
style: searchValue ? {
|
|
144
144
|
visibility: 'visible'
|
|
145
145
|
} : {
|
|
146
146
|
visibility: 'hidden'
|
|
147
|
-
}
|
|
147
|
+
},
|
|
148
148
|
tabIndex: -1,
|
|
149
149
|
onClick: handleSearchReset
|
|
150
150
|
}, rootProps.slotProps?.baseIconButton, {
|
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import composeClasses from '@mui/utils/composeClasses';
|
|
8
8
|
import { styled } from '@mui/system';
|
|
9
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
9
10
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
10
11
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -29,7 +30,7 @@ const GridFooterContainerRoot = styled('div', {
|
|
|
29
30
|
minHeight: 52,
|
|
30
31
|
borderTop: '1px solid'
|
|
31
32
|
});
|
|
32
|
-
const GridFooterContainer =
|
|
33
|
+
const GridFooterContainer = forwardRef(function GridFooterContainer(props, ref) {
|
|
33
34
|
const {
|
|
34
35
|
className
|
|
35
36
|
} = props,
|
|
@@ -37,10 +38,11 @@ const GridFooterContainer = /*#__PURE__*/React.forwardRef(function GridFooterCon
|
|
|
37
38
|
const rootProps = useGridRootProps();
|
|
38
39
|
const classes = useUtilityClasses(rootProps);
|
|
39
40
|
return /*#__PURE__*/_jsx(GridFooterContainerRoot, _extends({
|
|
40
|
-
ref: ref,
|
|
41
41
|
className: clsx(classes.root, className),
|
|
42
42
|
ownerState: rootProps
|
|
43
|
-
}, other
|
|
43
|
+
}, other, {
|
|
44
|
+
ref: ref
|
|
45
|
+
}));
|
|
44
46
|
});
|
|
45
47
|
process.env.NODE_ENV !== "production" ? GridFooterContainer.propTypes = {
|
|
46
48
|
// ----------------------------- Warning --------------------------------
|
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import composeClasses from '@mui/utils/composeClasses';
|
|
8
8
|
import { styled } from '@mui/system';
|
|
9
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
9
10
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
10
11
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -31,7 +32,7 @@ const GridOverlayRoot = styled('div', {
|
|
|
31
32
|
justifyContent: 'center',
|
|
32
33
|
backgroundColor: 'var(--unstable_DataGrid-overlayBackground)'
|
|
33
34
|
});
|
|
34
|
-
const GridOverlay =
|
|
35
|
+
const GridOverlay = forwardRef(function GridOverlay(props, ref) {
|
|
35
36
|
const {
|
|
36
37
|
className
|
|
37
38
|
} = props,
|
|
@@ -39,10 +40,11 @@ const GridOverlay = /*#__PURE__*/React.forwardRef(function GridOverlay(props, re
|
|
|
39
40
|
const rootProps = useGridRootProps();
|
|
40
41
|
const classes = useUtilityClasses(rootProps);
|
|
41
42
|
return /*#__PURE__*/_jsx(GridOverlayRoot, _extends({
|
|
42
|
-
ref: ref,
|
|
43
43
|
className: clsx(classes.root, className),
|
|
44
44
|
ownerState: rootProps
|
|
45
|
-
}, other
|
|
45
|
+
}, other, {
|
|
46
|
+
ref: ref
|
|
47
|
+
}));
|
|
46
48
|
});
|
|
47
49
|
process.env.NODE_ENV !== "production" ? GridOverlay.propTypes = {
|
|
48
50
|
// ----------------------------- Warning --------------------------------
|
|
@@ -5,6 +5,7 @@ import * as React from 'react';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import { unstable_useForkRef as useForkRef, unstable_useEnhancedEffect as useEnhancedEffect, unstable_capitalize as capitalize, unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
8
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
8
9
|
import { GridRootStyles } from "./GridRootStyles.js";
|
|
9
10
|
import { useGridSelector } from "../../hooks/utils/useGridSelector.js";
|
|
10
11
|
import { useGridPrivateApiContext } from "../../hooks/utils/useGridPrivateApiContext.js";
|
|
@@ -23,7 +24,7 @@ const useUtilityClasses = (ownerState, density) => {
|
|
|
23
24
|
};
|
|
24
25
|
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
25
26
|
};
|
|
26
|
-
const GridRoot =
|
|
27
|
+
const GridRoot = forwardRef(function GridRoot(props, ref) {
|
|
27
28
|
const rootProps = useGridRootProps();
|
|
28
29
|
const {
|
|
29
30
|
className
|
|
@@ -45,10 +46,11 @@ const GridRoot = /*#__PURE__*/React.forwardRef(function GridRoot(props, ref) {
|
|
|
45
46
|
return null;
|
|
46
47
|
}
|
|
47
48
|
return /*#__PURE__*/_jsx(GridRootStyles, _extends({
|
|
48
|
-
ref: handleRef,
|
|
49
49
|
className: clsx(classes.root, className),
|
|
50
50
|
ownerState: ownerState
|
|
51
|
-
}, other
|
|
51
|
+
}, other, {
|
|
52
|
+
ref: handleRef
|
|
53
|
+
}));
|
|
52
54
|
});
|
|
53
55
|
process.env.NODE_ENV !== "production" ? GridRoot.propTypes = {
|
|
54
56
|
// ----------------------------- Warning --------------------------------
|
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import { styled } from '@mui/system';
|
|
8
8
|
import composeClasses from '@mui/utils/composeClasses';
|
|
9
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
9
10
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
10
11
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -31,7 +32,7 @@ const GridToolbarContainerRoot = styled('div', {
|
|
|
31
32
|
gap: theme.spacing(1),
|
|
32
33
|
padding: theme.spacing(0.5, 0.5, 0)
|
|
33
34
|
}));
|
|
34
|
-
const GridToolbarContainer =
|
|
35
|
+
const GridToolbarContainer = forwardRef(function GridToolbarContainer(props, ref) {
|
|
35
36
|
const {
|
|
36
37
|
className,
|
|
37
38
|
children
|
|
@@ -43,10 +44,10 @@ const GridToolbarContainer = /*#__PURE__*/React.forwardRef(function GridToolbarC
|
|
|
43
44
|
return null;
|
|
44
45
|
}
|
|
45
46
|
return /*#__PURE__*/_jsx(GridToolbarContainerRoot, _extends({
|
|
46
|
-
ref: ref,
|
|
47
47
|
className: clsx(classes.root, className),
|
|
48
48
|
ownerState: rootProps
|
|
49
49
|
}, other, {
|
|
50
|
+
ref: ref,
|
|
50
51
|
children: children
|
|
51
52
|
}));
|
|
52
53
|
});
|
|
@@ -3,6 +3,7 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
3
3
|
const _excluded = ["defaultSlots", "defaultSlotProps", "slots", "slotProps"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
6
7
|
import { useGridColumnMenuSlots } from "../../../hooks/features/columnMenu/useGridColumnMenuSlots.js";
|
|
7
8
|
import { GridColumnMenuContainer } from "./GridColumnMenuContainer.js";
|
|
8
9
|
import { GridColumnMenuColumnsItem } from "./menuItems/GridColumnMenuColumnsItem.js";
|
|
@@ -25,7 +26,7 @@ export const GRID_COLUMN_MENU_SLOT_PROPS = {
|
|
|
25
26
|
displayOrder: 30
|
|
26
27
|
}
|
|
27
28
|
};
|
|
28
|
-
const GridGenericColumnMenu =
|
|
29
|
+
const GridGenericColumnMenu = forwardRef(function GridGenericColumnMenu(props, ref) {
|
|
29
30
|
const {
|
|
30
31
|
defaultSlots,
|
|
31
32
|
defaultSlotProps,
|
|
@@ -39,9 +40,8 @@ const GridGenericColumnMenu = /*#__PURE__*/React.forwardRef(function GridGeneric
|
|
|
39
40
|
slots,
|
|
40
41
|
slotProps
|
|
41
42
|
}));
|
|
42
|
-
return /*#__PURE__*/_jsx(GridColumnMenuContainer, _extends({
|
|
43
|
-
ref: ref
|
|
44
|
-
}, other, {
|
|
43
|
+
return /*#__PURE__*/_jsx(GridColumnMenuContainer, _extends({}, other, {
|
|
44
|
+
ref: ref,
|
|
45
45
|
children: orderedSlots.map(([Component, otherProps], index) => /*#__PURE__*/_jsx(Component, _extends({}, otherProps), index))
|
|
46
46
|
}));
|
|
47
47
|
});
|
|
@@ -77,7 +77,7 @@ process.env.NODE_ENV !== "production" ? GridGenericColumnMenu.propTypes = {
|
|
|
77
77
|
*/
|
|
78
78
|
slots: PropTypes.object
|
|
79
79
|
} : void 0;
|
|
80
|
-
const GridColumnMenu =
|
|
80
|
+
const GridColumnMenu = forwardRef(function GridColumnMenu(props, ref) {
|
|
81
81
|
return /*#__PURE__*/_jsx(GridGenericColumnMenu, _extends({}, props, {
|
|
82
82
|
ref: ref,
|
|
83
83
|
defaultSlots: GRID_COLUMN_MENU_SLOTS,
|
|
@@ -6,13 +6,14 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import MenuList from '@mui/material/MenuList';
|
|
8
8
|
import { styled } from '@mui/material/styles';
|
|
9
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
9
10
|
import { isHideMenuKey } from "../../../utils/keyboardUtils.js";
|
|
10
11
|
import { gridClasses } from "../../../constants/gridClasses.js";
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
13
|
const StyledMenuList = styled(MenuList)(() => ({
|
|
13
14
|
minWidth: 248
|
|
14
15
|
}));
|
|
15
|
-
const GridColumnMenuContainer =
|
|
16
|
+
const GridColumnMenuContainer = forwardRef(function GridColumnMenuContainer(props, ref) {
|
|
16
17
|
const {
|
|
17
18
|
hideMenu,
|
|
18
19
|
id,
|
|
@@ -32,12 +33,12 @@ const GridColumnMenuContainer = /*#__PURE__*/React.forwardRef(function GridColum
|
|
|
32
33
|
}, [hideMenu]);
|
|
33
34
|
return /*#__PURE__*/_jsx(StyledMenuList, _extends({
|
|
34
35
|
id: id,
|
|
35
|
-
ref: ref,
|
|
36
36
|
className: clsx(gridClasses.menuList, className),
|
|
37
37
|
"aria-labelledby": labelledby,
|
|
38
38
|
onKeyDown: handleListKeyDown,
|
|
39
39
|
autoFocus: open
|
|
40
40
|
}, other, {
|
|
41
|
+
ref: ref,
|
|
41
42
|
children: children
|
|
42
43
|
}));
|
|
43
44
|
});
|
|
@@ -9,6 +9,7 @@ import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/
|
|
|
9
9
|
import ClickAwayListener from '@mui/material/ClickAwayListener';
|
|
10
10
|
import Paper from '@mui/material/Paper';
|
|
11
11
|
import Popper from '@mui/material/Popper';
|
|
12
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
12
13
|
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.js";
|
|
13
14
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
14
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -36,7 +37,7 @@ const GridPaperRoot = styled(Paper, {
|
|
|
36
37
|
maxWidth: `calc(100vw - ${theme.spacing(0.5)})`,
|
|
37
38
|
overflow: 'auto'
|
|
38
39
|
}));
|
|
39
|
-
const GridPanel =
|
|
40
|
+
const GridPanel = forwardRef((props, ref) => {
|
|
40
41
|
const {
|
|
41
42
|
children,
|
|
42
43
|
className
|
|
@@ -82,13 +83,13 @@ const GridPanel = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
82
83
|
return null;
|
|
83
84
|
}
|
|
84
85
|
return /*#__PURE__*/_jsx(GridPanelRoot, _extends({
|
|
85
|
-
ref: ref,
|
|
86
86
|
placement: "bottom-start",
|
|
87
87
|
className: clsx(classes.panel, className),
|
|
88
88
|
ownerState: rootProps,
|
|
89
89
|
anchorEl: anchorEl,
|
|
90
90
|
modifiers: modifiers
|
|
91
91
|
}, other, {
|
|
92
|
+
ref: ref,
|
|
92
93
|
children: /*#__PURE__*/_jsx(ClickAwayListener, {
|
|
93
94
|
mouseEvent: "onMouseUp",
|
|
94
95
|
onClickAway: handleClickAway,
|
|
@@ -7,6 +7,7 @@ import clsx from 'clsx';
|
|
|
7
7
|
import FocusTrap from '@mui/material/Unstable_TrapFocus';
|
|
8
8
|
import { styled } from '@mui/material/styles';
|
|
9
9
|
import composeClasses from '@mui/utils/composeClasses';
|
|
10
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
10
11
|
import { getDataGridUtilityClass } from "../../constants/gridClasses.js";
|
|
11
12
|
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.js";
|
|
12
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -32,7 +33,7 @@ const GridPanelWrapperRoot = styled('div', {
|
|
|
32
33
|
}
|
|
33
34
|
});
|
|
34
35
|
const isEnabled = () => true;
|
|
35
|
-
const GridPanelWrapper =
|
|
36
|
+
const GridPanelWrapper = forwardRef(function GridPanelWrapper(props, ref) {
|
|
36
37
|
const {
|
|
37
38
|
className,
|
|
38
39
|
slotProps = {}
|
|
@@ -46,11 +47,12 @@ const GridPanelWrapper = /*#__PURE__*/React.forwardRef(function GridPanelWrapper
|
|
|
46
47
|
isEnabled: isEnabled
|
|
47
48
|
}, slotProps.TrapFocus, {
|
|
48
49
|
children: /*#__PURE__*/_jsx(GridPanelWrapperRoot, _extends({
|
|
49
|
-
ref: ref,
|
|
50
50
|
tabIndex: -1,
|
|
51
51
|
className: clsx(classes.root, className),
|
|
52
52
|
ownerState: rootProps
|
|
53
|
-
}, other
|
|
53
|
+
}, other, {
|
|
54
|
+
ref: ref
|
|
55
|
+
}))
|
|
54
56
|
}));
|
|
55
57
|
});
|
|
56
58
|
process.env.NODE_ENV !== "production" ? GridPanelWrapper.propTypes = {
|
|
@@ -7,6 +7,7 @@ import PropTypes from 'prop-types';
|
|
|
7
7
|
import { unstable_composeClasses as composeClasses, unstable_useId as useId, unstable_capitalize as capitalize } from '@mui/utils';
|
|
8
8
|
import { styled } from '@mui/material/styles';
|
|
9
9
|
import clsx from 'clsx';
|
|
10
|
+
import { forwardRef } from '@mui/x-internals/forwardRef';
|
|
10
11
|
import { gridFilterableColumnDefinitionsSelector, gridColumnLookupSelector } from "../../../hooks/features/columns/gridColumnsSelector.js";
|
|
11
12
|
import { gridFilterModelSelector } from "../../../hooks/features/filter/gridFilterSelector.js";
|
|
12
13
|
import { useGridSelector } from "../../../hooks/utils/useGridSelector.js";
|
|
@@ -90,7 +91,7 @@ const getLogicOperatorLocaleKey = logicOperator => {
|
|
|
90
91
|
};
|
|
91
92
|
const getColumnLabel = col => col.headerName || col.field;
|
|
92
93
|
const collator = new Intl.Collator();
|
|
93
|
-
const GridFilterForm =
|
|
94
|
+
const GridFilterForm = forwardRef(function GridFilterForm(props, ref) {
|
|
94
95
|
const {
|
|
95
96
|
item,
|
|
96
97
|
hasMultipleFilters,
|
|
@@ -250,11 +251,11 @@ const GridFilterForm = /*#__PURE__*/React.forwardRef(function GridFilterForm(pro
|
|
|
250
251
|
}
|
|
251
252
|
}), [currentOperator]);
|
|
252
253
|
return /*#__PURE__*/_jsxs(GridFilterFormRoot, _extends({
|
|
253
|
-
ref: ref,
|
|
254
254
|
className: classes.root,
|
|
255
255
|
"data-id": item.id,
|
|
256
256
|
ownerState: rootProps
|
|
257
257
|
}, other, {
|
|
258
|
+
ref: ref,
|
|
258
259
|
children: [/*#__PURE__*/_jsx(FilterFormDeleteIcon, _extends({
|
|
259
260
|
as: rootProps.slots.baseFormControl
|
|
260
261
|
}, baseFormControlProps, deleteIconProps, {
|
|
@@ -7,15 +7,6 @@ import { refType, unstable_useId as useId } from '@mui/utils';
|
|
|
7
7
|
import { styled } from '@mui/material/styles';
|
|
8
8
|
import { useGridRootProps } from "../../../hooks/utils/useGridRootProps.js";
|
|
9
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
-
export const sanitizeFilterItemValue = value => {
|
|
11
|
-
if (String(value).toLowerCase() === 'true') {
|
|
12
|
-
return true;
|
|
13
|
-
}
|
|
14
|
-
if (String(value).toLowerCase() === 'false') {
|
|
15
|
-
return false;
|
|
16
|
-
}
|
|
17
|
-
return undefined;
|
|
18
|
-
};
|
|
19
10
|
const BooleanOperatorContainer = styled('div')({
|
|
20
11
|
display: 'flex',
|
|
21
12
|
alignItems: 'center',
|
|
@@ -94,6 +85,15 @@ function GridFilterInputBoolean(props) {
|
|
|
94
85
|
}), clearButton]
|
|
95
86
|
});
|
|
96
87
|
}
|
|
88
|
+
export function sanitizeFilterItemValue(value) {
|
|
89
|
+
if (String(value).toLowerCase() === 'true') {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
if (String(value).toLowerCase() === 'false') {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
97
|
process.env.NODE_ENV !== "production" ? GridFilterInputBoolean.propTypes = {
|
|
98
98
|
// ----------------------------- Warning --------------------------------
|
|
99
99
|
// | These PropTypes are generated from the TypeScript type definitions |
|
|
@@ -22,19 +22,17 @@ function GridFilterInputValue(props) {
|
|
|
22
22
|
} = props,
|
|
23
23
|
others = _objectWithoutPropertiesLoose(props, _excluded);
|
|
24
24
|
const filterTimeout = useTimeout();
|
|
25
|
-
const [filterValueState, setFilterValueState] = React.useState(item.value
|
|
25
|
+
const [filterValueState, setFilterValueState] = React.useState(sanitizeFilterItemValue(item.value));
|
|
26
26
|
const [applying, setIsApplying] = React.useState(false);
|
|
27
27
|
const id = useId();
|
|
28
28
|
const rootProps = useGridRootProps();
|
|
29
29
|
const onFilterChange = React.useCallback(event => {
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
} = event.target;
|
|
33
|
-
setFilterValueState(String(value));
|
|
30
|
+
const value = sanitizeFilterItemValue(event.target.value);
|
|
31
|
+
setFilterValueState(value);
|
|
34
32
|
setIsApplying(true);
|
|
35
33
|
filterTimeout.start(rootProps.filterDebounceMs, () => {
|
|
36
34
|
const newItem = _extends({}, item, {
|
|
37
|
-
value: type === 'number' ? Number(value) : value,
|
|
35
|
+
value: type === 'number' && !Number.isNaN(Number(value)) ? Number(value) : value,
|
|
38
36
|
fromInput: id
|
|
39
37
|
});
|
|
40
38
|
applyValue(newItem);
|
|
@@ -43,15 +41,15 @@ function GridFilterInputValue(props) {
|
|
|
43
41
|
}, [filterTimeout, rootProps.filterDebounceMs, item, type, id, applyValue]);
|
|
44
42
|
React.useEffect(() => {
|
|
45
43
|
const itemPlusTag = item;
|
|
46
|
-
if (itemPlusTag.fromInput !== id || item.value
|
|
47
|
-
setFilterValueState(
|
|
44
|
+
if (itemPlusTag.fromInput !== id || item.value == null) {
|
|
45
|
+
setFilterValueState(sanitizeFilterItemValue(item.value));
|
|
48
46
|
}
|
|
49
47
|
}, [id, item]);
|
|
50
48
|
return /*#__PURE__*/_jsx(rootProps.slots.baseTextField, _extends({
|
|
51
49
|
id: id,
|
|
52
50
|
label: apiRef.current.getLocaleText('filterPanelInputLabel'),
|
|
53
51
|
placeholder: apiRef.current.getLocaleText('filterPanelInputPlaceholder'),
|
|
54
|
-
value: filterValueState,
|
|
52
|
+
value: filterValueState ?? '',
|
|
55
53
|
onChange: onFilterChange,
|
|
56
54
|
variant: variant,
|
|
57
55
|
type: type || 'text',
|
|
@@ -73,6 +71,12 @@ function GridFilterInputValue(props) {
|
|
|
73
71
|
inputRef: focusElementRef
|
|
74
72
|
}, others, rootProps.slotProps?.baseTextField));
|
|
75
73
|
}
|
|
74
|
+
function sanitizeFilterItemValue(value) {
|
|
75
|
+
if (value == null || value === '') {
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
return String(value);
|
|
79
|
+
}
|
|
76
80
|
process.env.NODE_ENV !== "production" ? GridFilterInputValue.propTypes = {
|
|
77
81
|
// ----------------------------- Warning --------------------------------
|
|
78
82
|
// | These PropTypes are generated from the TypeScript type definitions |
|