@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
|
@@ -5,7 +5,6 @@ var _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef"];
|
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
import { unstable_useId as useId } from '@mui/utils';
|
|
8
|
-
import { GridLoadIcon } from '../../icons';
|
|
9
8
|
import { useGridRootProps } from '../../../hooks/utils/useGridRootProps';
|
|
10
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
10
|
export var SUBMIT_FILTER_STROKE_TIME = 500;
|
|
@@ -51,7 +50,7 @@ function GridFilterInputValue(props) {
|
|
|
51
50
|
setFilterValueState(String(itemValue));
|
|
52
51
|
}, [item.value]);
|
|
53
52
|
var InputProps = applying ? {
|
|
54
|
-
endAdornment: /*#__PURE__*/_jsx(
|
|
53
|
+
endAdornment: /*#__PURE__*/_jsx(rootProps.slots.loadIcon, {})
|
|
55
54
|
} : others.InputProps;
|
|
56
55
|
return /*#__PURE__*/_jsx(rootProps.slots.baseTextField, _extends({
|
|
57
56
|
id: id,
|
|
@@ -55,6 +55,9 @@ var GridFilterPanel = /*#__PURE__*/React.forwardRef(function GridFilterPanel(pro
|
|
|
55
55
|
currentFilters: (filterModel == null ? void 0 : filterModel.items) || [],
|
|
56
56
|
columns: filterableColumns
|
|
57
57
|
});
|
|
58
|
+
if (nextFieldName === null) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
58
61
|
nextColumnWithOperator = filterableColumns.find(function (_ref) {
|
|
59
62
|
var field = _ref.field;
|
|
60
63
|
return field === nextFieldName;
|
|
@@ -81,6 +84,9 @@ var GridFilterPanel = /*#__PURE__*/React.forwardRef(function GridFilterPanel(pro
|
|
|
81
84
|
currentFilters: currentFilters,
|
|
82
85
|
columns: filterableColumns
|
|
83
86
|
});
|
|
87
|
+
if (nextColumnFieldName === null) {
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
84
90
|
var nextColumnWithOperator = filterableColumns.find(function (_ref2) {
|
|
85
91
|
var field = _ref2.field;
|
|
86
92
|
return field === nextColumnFieldName;
|
|
@@ -188,6 +194,7 @@ process.env.NODE_ENV !== "production" ? GridFilterPanel.propTypes = {
|
|
|
188
194
|
columnInputProps: PropTypes.any,
|
|
189
195
|
columnsSort: PropTypes.oneOf(['asc', 'desc']),
|
|
190
196
|
deleteIconProps: PropTypes.any,
|
|
197
|
+
filterColumns: PropTypes.func,
|
|
191
198
|
logicOperatorInputProps: PropTypes.any,
|
|
192
199
|
operatorInputProps: PropTypes.any,
|
|
193
200
|
valueInputProps: PropTypes.any
|
|
@@ -195,7 +202,7 @@ process.env.NODE_ENV !== "production" ? GridFilterPanel.propTypes = {
|
|
|
195
202
|
/**
|
|
196
203
|
* Function that returns the next filter item to be picked as default filter.
|
|
197
204
|
* @param {GetColumnForNewFilterArgs} args Currently configured filters and columns.
|
|
198
|
-
* @returns {GridColDef['field']} The field to be used for the next filter.
|
|
205
|
+
* @returns {GridColDef['field']} The field to be used for the next filter or `null` to prevent adding a filter.
|
|
199
206
|
*/
|
|
200
207
|
getColumnForNewFilter: PropTypes.func,
|
|
201
208
|
/**
|
|
@@ -3,7 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
|
|
|
3
3
|
var _excluded = ["className"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
|
-
import { styled } from '@mui/
|
|
6
|
+
import { styled } from '@mui/system';
|
|
7
7
|
import { unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
8
8
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
9
9
|
import { getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
@@ -3,7 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
|
|
|
3
3
|
var _excluded = ["className", "style"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
|
-
import { styled } from '@mui/
|
|
6
|
+
import { styled } from '@mui/system';
|
|
7
7
|
import { unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
8
8
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
9
9
|
import { getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
@@ -3,7 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
|
|
|
3
3
|
var _excluded = ["className"];
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
|
-
import { styled } from '@mui/
|
|
6
|
+
import { styled } from '@mui/system';
|
|
7
7
|
import { unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
8
8
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
9
9
|
import { getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
@@ -1,66 +1,15 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import MUIFormControl from '@mui/material/FormControl';
|
|
5
|
-
import MUISelect from '@mui/material/Select';
|
|
6
|
-
import MUISwitch from '@mui/material/Switch';
|
|
7
|
-
import MUIButton from '@mui/material/Button';
|
|
8
|
-
import MUIIconButton from '@mui/material/IconButton';
|
|
9
|
-
import MUITooltip from '@mui/material/Tooltip';
|
|
10
|
-
import MUIPopper from '@mui/material/Popper';
|
|
11
|
-
import { GridArrowDownwardIcon, GridArrowUpwardIcon, GridCell, GridSkeletonCell, GridCheckIcon, GridCloseIcon, GridColumnIcon, GridColumnsPanel, GridFilterAltIcon, GridFilterListIcon, GridFilterPanel, GridFooter, GridLoadingOverlay, GridNoRowsOverlay, GridPagination, GridPanel, GridPreferencesPanel, GridRow, GridSaveAltIcon, GridSeparatorIcon, GridTableRowsIcon, GridTripleDotsVerticalIcon, GridViewHeadlineIcon, GridViewStreamIcon, GridMoreVertIcon, GridExpandMoreIcon, GridKeyboardArrowRight, GridAddIcon, GridRemoveIcon, GridDragIcon, GridColumnHeaderFilterIconButton, GridSearchIcon, GridVisibilityOffIcon, GridViewColumnIcon, GridClearIcon, GridDeleteIcon, GridDeleteForeverIcon } from '../components';
|
|
2
|
+
import { GridCell, GridSkeletonCell, GridColumnsPanel, GridFilterPanel, GridFooter, GridLoadingOverlay, GridNoRowsOverlay, GridPagination, GridPanel, GridPreferencesPanel, GridRow, GridColumnHeaderFilterIconButton } from '../components';
|
|
3
|
+
import { GridColumnHeaders } from '../components/GridColumnHeaders';
|
|
12
4
|
import { GridColumnMenu } from '../components/menu/columnMenu/GridColumnMenu';
|
|
13
|
-
import { GridColumnUnsortedIcon } from '../components/columnHeaders/GridColumnUnsortedIcon';
|
|
14
5
|
import { GridNoResultsOverlay } from '../components/GridNoResultsOverlay';
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
BooleanCellFalseIcon: GridCloseIcon,
|
|
18
|
-
ColumnMenuIcon: GridTripleDotsVerticalIcon,
|
|
19
|
-
OpenFilterButtonIcon: GridFilterListIcon,
|
|
20
|
-
FilterPanelAddIcon: GridAddIcon,
|
|
21
|
-
FilterPanelDeleteIcon: GridDeleteIcon,
|
|
22
|
-
FilterPanelRemoveAllIcon: GridDeleteForeverIcon,
|
|
23
|
-
ColumnFilteredIcon: GridFilterAltIcon,
|
|
24
|
-
ColumnSelectorIcon: GridColumnIcon,
|
|
25
|
-
ColumnUnsortedIcon: GridColumnUnsortedIcon,
|
|
26
|
-
ColumnSortedAscendingIcon: GridArrowUpwardIcon,
|
|
27
|
-
ColumnSortedDescendingIcon: GridArrowDownwardIcon,
|
|
28
|
-
ColumnResizeIcon: GridSeparatorIcon,
|
|
29
|
-
DensityCompactIcon: GridViewHeadlineIcon,
|
|
30
|
-
DensityStandardIcon: GridTableRowsIcon,
|
|
31
|
-
DensityComfortableIcon: GridViewStreamIcon,
|
|
32
|
-
ExportIcon: GridSaveAltIcon,
|
|
33
|
-
MoreActionsIcon: GridMoreVertIcon,
|
|
34
|
-
TreeDataCollapseIcon: GridExpandMoreIcon,
|
|
35
|
-
TreeDataExpandIcon: GridKeyboardArrowRight,
|
|
36
|
-
GroupingCriteriaCollapseIcon: GridExpandMoreIcon,
|
|
37
|
-
GroupingCriteriaExpandIcon: GridKeyboardArrowRight,
|
|
38
|
-
DetailPanelExpandIcon: GridAddIcon,
|
|
39
|
-
DetailPanelCollapseIcon: GridRemoveIcon,
|
|
40
|
-
RowReorderIcon: GridDragIcon,
|
|
41
|
-
QuickFilterIcon: GridSearchIcon,
|
|
42
|
-
QuickFilterClearIcon: GridCloseIcon,
|
|
43
|
-
ColumnMenuHideIcon: GridVisibilityOffIcon,
|
|
44
|
-
ColumnMenuSortAscendingIcon: GridArrowUpwardIcon,
|
|
45
|
-
ColumnMenuSortDescendingIcon: GridArrowDownwardIcon,
|
|
46
|
-
ColumnMenuFilterIcon: GridFilterAltIcon,
|
|
47
|
-
ColumnMenuManageColumnsIcon: GridViewColumnIcon,
|
|
48
|
-
ColumnMenuClearIcon: GridClearIcon
|
|
49
|
-
};
|
|
50
|
-
export var DATA_GRID_DEFAULT_SLOTS_COMPONENTS = _extends({}, DEFAULT_GRID_ICON_SLOTS_COMPONENTS, {
|
|
51
|
-
BaseCheckbox: MUICheckbox,
|
|
52
|
-
BaseTextField: MUITextField,
|
|
53
|
-
BaseFormControl: MUIFormControl,
|
|
54
|
-
BaseSelect: MUISelect,
|
|
55
|
-
BaseSwitch: MUISwitch,
|
|
56
|
-
BaseButton: MUIButton,
|
|
57
|
-
BaseIconButton: MUIIconButton,
|
|
58
|
-
BaseTooltip: MUITooltip,
|
|
59
|
-
BasePopper: MUIPopper,
|
|
6
|
+
import materialSlots from '../material';
|
|
7
|
+
export var DATA_GRID_DEFAULT_SLOTS_COMPONENTS = _extends({}, materialSlots, {
|
|
60
8
|
Cell: GridCell,
|
|
61
9
|
SkeletonCell: GridSkeletonCell,
|
|
62
10
|
ColumnHeaderFilterIconButton: GridColumnHeaderFilterIconButton,
|
|
63
11
|
ColumnMenu: GridColumnMenu,
|
|
12
|
+
ColumnHeaders: GridColumnHeaders,
|
|
64
13
|
Footer: GridFooter,
|
|
65
14
|
Toolbar: null,
|
|
66
15
|
PreferencesPanel: GridPreferencesPanel,
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { useGridApiMethod } from '../utils/useGridApiMethod';
|
|
3
2
|
export var useGridLocaleText = function useGridLocaleText(apiRef, props) {
|
|
4
3
|
var getLocaleText = React.useCallback(function (key) {
|
|
5
4
|
if (props.localeText[key] == null) {
|
|
@@ -7,8 +6,7 @@ export var useGridLocaleText = function useGridLocaleText(apiRef, props) {
|
|
|
7
6
|
}
|
|
8
7
|
return props.localeText[key];
|
|
9
8
|
}, [props.localeText]);
|
|
10
|
-
|
|
9
|
+
apiRef.current.register('public', {
|
|
11
10
|
getLocaleText: getLocaleText
|
|
12
|
-
};
|
|
13
|
-
useGridApiMethod(apiRef, localeTextApi, 'public');
|
|
11
|
+
});
|
|
14
12
|
};
|
|
@@ -2,18 +2,18 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
|
2
2
|
import { isLeaf } from '../../../models/gridColumnGrouping';
|
|
3
3
|
import { isDeepEqual } from '../../../utils/utils';
|
|
4
4
|
// This is the recurrence function that help writing `unwrapGroupingColumnModel()`
|
|
5
|
-
var recurrentUnwrapGroupingColumnModel = function recurrentUnwrapGroupingColumnModel(columnGroupNode, parents,
|
|
5
|
+
var recurrentUnwrapGroupingColumnModel = function recurrentUnwrapGroupingColumnModel(columnGroupNode, parents, unwrappedGroupingModelToComplete) {
|
|
6
6
|
if (isLeaf(columnGroupNode)) {
|
|
7
|
-
if (
|
|
8
|
-
throw new Error(["MUI: columnGroupingModel contains duplicated field", "column field ".concat(columnGroupNode.field, "
|
|
7
|
+
if (unwrappedGroupingModelToComplete[columnGroupNode.field] !== undefined) {
|
|
8
|
+
throw new Error(["MUI: columnGroupingModel contains duplicated field", "column field ".concat(columnGroupNode.field, " occurs two times in the grouping model:"), "- ".concat(unwrappedGroupingModelToComplete[columnGroupNode.field].join(' > ')), "- ".concat(parents.join(' > '))].join('\n'));
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
unwrappedGroupingModelToComplete[columnGroupNode.field] = parents;
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
13
|
var groupId = columnGroupNode.groupId,
|
|
14
14
|
children = columnGroupNode.children;
|
|
15
15
|
children.forEach(function (child) {
|
|
16
|
-
recurrentUnwrapGroupingColumnModel(child, [].concat(_toConsumableArray(parents), [groupId]),
|
|
16
|
+
recurrentUnwrapGroupingColumnModel(child, [].concat(_toConsumableArray(parents), [groupId]), unwrappedGroupingModelToComplete);
|
|
17
17
|
});
|
|
18
18
|
};
|
|
19
19
|
|
|
@@ -3,16 +3,9 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import * as ReactDOM from 'react-dom';
|
|
5
5
|
import { unstable_useForkRef as useForkRef } from '@mui/utils';
|
|
6
|
-
import { styled, useTheme } from '@mui/
|
|
6
|
+
import { styled, useTheme } from '@mui/system';
|
|
7
7
|
import { defaultMemoize } from 'reselect';
|
|
8
8
|
import { useGridPrivateApiContext } from '../../utils/useGridPrivateApiContext';
|
|
9
|
-
import { useGridSelector } from '../../utils/useGridSelector';
|
|
10
|
-
import { gridVisibleColumnDefinitionsSelector, gridColumnPositionsSelector, gridColumnVisibilityModelSelector } from '../columns/gridColumnsSelector';
|
|
11
|
-
import { gridTabIndexColumnHeaderSelector, gridTabIndexCellSelector, gridFocusColumnHeaderSelector, unstable_gridFocusColumnGroupHeaderSelector, unstable_gridTabIndexColumnGroupHeaderSelector } from '../focus/gridFocusStateSelector';
|
|
12
|
-
import { gridDensityFactorSelector } from '../density/densitySelector';
|
|
13
|
-
import { gridFilterActiveItemsLookupSelector } from '../filter/gridFilterSelector';
|
|
14
|
-
import { gridSortColumnLookupSelector } from '../sorting/gridSortingSelector';
|
|
15
|
-
import { gridColumnMenuSelector } from '../columnMenu/columnMenuSelector';
|
|
16
9
|
import { useGridRootProps } from '../../utils/useGridRootProps';
|
|
17
10
|
import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
|
|
18
11
|
import { GridColumnHeaderItem } from '../../../components/columnHeaders/GridColumnHeaderItem';
|
|
@@ -20,7 +13,6 @@ import { getFirstColumnIndexToRender, getTotalHeaderHeight } from '../columns/gr
|
|
|
20
13
|
import { useGridVisibleRows } from '../../utils/useGridVisibleRows';
|
|
21
14
|
import { getRenderableIndexes } from '../virtualization/useGridVirtualScroller';
|
|
22
15
|
import { GridColumnGroupHeader } from '../../../components/columnHeaders/GridColumnGroupHeader';
|
|
23
|
-
import { gridColumnGroupsHeaderMaxDepthSelector, gridColumnGroupsHeaderStructureSelector } from '../columnGrouping/gridColumnGroupsSelector';
|
|
24
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
25
17
|
var GridColumnHeaderRow = styled('div', {
|
|
26
18
|
name: 'MuiDataGrid',
|
|
@@ -39,7 +31,21 @@ function isUIEvent(event) {
|
|
|
39
31
|
export var useGridColumnHeaders = function useGridColumnHeaders(props) {
|
|
40
32
|
var innerRefProp = props.innerRef,
|
|
41
33
|
_props$minColumnIndex = props.minColumnIndex,
|
|
42
|
-
minColumnIndex = _props$minColumnIndex === void 0 ? 0 : _props$minColumnIndex
|
|
34
|
+
minColumnIndex = _props$minColumnIndex === void 0 ? 0 : _props$minColumnIndex,
|
|
35
|
+
visibleColumns = props.visibleColumns,
|
|
36
|
+
sortColumnLookup = props.sortColumnLookup,
|
|
37
|
+
filterColumnLookup = props.filterColumnLookup,
|
|
38
|
+
columnPositions = props.columnPositions,
|
|
39
|
+
columnHeaderTabIndexState = props.columnHeaderTabIndexState,
|
|
40
|
+
columnGroupHeaderTabIndexState = props.columnGroupHeaderTabIndexState,
|
|
41
|
+
columnHeaderFocus = props.columnHeaderFocus,
|
|
42
|
+
columnGroupHeaderFocus = props.columnGroupHeaderFocus,
|
|
43
|
+
densityFactor = props.densityFactor,
|
|
44
|
+
headerGroupingMaxDepth = props.headerGroupingMaxDepth,
|
|
45
|
+
columnMenuState = props.columnMenuState,
|
|
46
|
+
columnVisibility = props.columnVisibility,
|
|
47
|
+
columnGroupsHeaderStructure = props.columnGroupsHeaderStructure,
|
|
48
|
+
hasOtherElementInTabSequence = props.hasOtherElementInTabSequence;
|
|
43
49
|
var theme = useTheme();
|
|
44
50
|
var _React$useState = React.useState(''),
|
|
45
51
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -50,20 +56,6 @@ export var useGridColumnHeaders = function useGridColumnHeaders(props) {
|
|
|
50
56
|
resizeCol = _React$useState4[0],
|
|
51
57
|
setResizeCol = _React$useState4[1];
|
|
52
58
|
var apiRef = useGridPrivateApiContext();
|
|
53
|
-
var visibleColumns = useGridSelector(apiRef, gridVisibleColumnDefinitionsSelector);
|
|
54
|
-
var columnPositions = useGridSelector(apiRef, gridColumnPositionsSelector);
|
|
55
|
-
var columnHeaderTabIndexState = useGridSelector(apiRef, gridTabIndexColumnHeaderSelector);
|
|
56
|
-
var cellTabIndexState = useGridSelector(apiRef, gridTabIndexCellSelector);
|
|
57
|
-
var columnGroupHeaderTabIndexState = useGridSelector(apiRef, unstable_gridTabIndexColumnGroupHeaderSelector);
|
|
58
|
-
var columnHeaderFocus = useGridSelector(apiRef, gridFocusColumnHeaderSelector);
|
|
59
|
-
var columnGroupHeaderFocus = useGridSelector(apiRef, unstable_gridFocusColumnGroupHeaderSelector);
|
|
60
|
-
var densityFactor = useGridSelector(apiRef, gridDensityFactorSelector);
|
|
61
|
-
var headerGroupingMaxDepth = useGridSelector(apiRef, gridColumnGroupsHeaderMaxDepthSelector);
|
|
62
|
-
var filterColumnLookup = useGridSelector(apiRef, gridFilterActiveItemsLookupSelector);
|
|
63
|
-
var sortColumnLookup = useGridSelector(apiRef, gridSortColumnLookupSelector);
|
|
64
|
-
var columnMenuState = useGridSelector(apiRef, gridColumnMenuSelector);
|
|
65
|
-
var columnVisibility = useGridSelector(apiRef, gridColumnVisibilityModelSelector);
|
|
66
|
-
var columnGroupsHeaderStructure = useGridSelector(apiRef, gridColumnGroupsHeaderStructureSelector);
|
|
67
59
|
var rootProps = useGridRootProps();
|
|
68
60
|
var innerRef = React.useRef(null);
|
|
69
61
|
var handleInnerRef = useForkRef(innerRefProp, innerRef);
|
|
@@ -231,8 +223,7 @@ export var useGridColumnHeaders = function useGridColumnHeaders(props) {
|
|
|
231
223
|
var colDef = renderedColumns[i];
|
|
232
224
|
var columnIndex = firstColumnToRender + i;
|
|
233
225
|
var isFirstColumn = columnIndex === 0;
|
|
234
|
-
var
|
|
235
|
-
var tabIndex = columnHeaderTabIndexState !== null && columnHeaderTabIndexState.field === colDef.field || isFirstColumn && !hasTabbableElement ? 0 : -1;
|
|
226
|
+
var tabIndex = columnHeaderTabIndexState !== null && columnHeaderTabIndexState.field === colDef.field || isFirstColumn && !hasOtherElementInTabSequence ? 0 : -1;
|
|
236
227
|
var hasFocus = columnHeaderFocus !== null && columnHeaderFocus.field === colDef.field;
|
|
237
228
|
var open = columnMenuState.open && columnMenuState.field === colDef.field;
|
|
238
229
|
columns.push( /*#__PURE__*/_jsx(GridColumnHeaderItem, _extends({}, sortColumnLookup[colDef.field], {
|
|
@@ -75,7 +75,7 @@ export var useGridCellEditing = function useGridCellEditing(apiRef, props) {
|
|
|
75
75
|
var handleCellKeyDown = React.useCallback(function (params, event) {
|
|
76
76
|
if (params.cellMode === GridCellModes.Edit) {
|
|
77
77
|
// Wait until IME is settled for Asian languages like Japanese and Chinese
|
|
78
|
-
// TODO: `event.which` is
|
|
78
|
+
// TODO: `event.which` is deprecated but this is a temporary workaround
|
|
79
79
|
if (event.which === 229) {
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
@@ -51,7 +51,7 @@ export var useGridEditing = function useGridEditing(apiRef, props) {
|
|
|
51
51
|
clearTimeout(_timeout);
|
|
52
52
|
}
|
|
53
53
|
|
|
54
|
-
// To run the callback
|
|
54
|
+
// To run the callback immediately without waiting the timeout
|
|
55
55
|
var runImmediately = function runImmediately() {
|
|
56
56
|
var _debounceMap$current$2 = _slicedToArray(debounceMap.current[id][field], 1),
|
|
57
57
|
timeout = _debounceMap$current$2[0];
|
|
@@ -109,7 +109,7 @@ export var useGridRowEditing = function useGridRowEditing(apiRef, props) {
|
|
|
109
109
|
var handleCellKeyDown = React.useCallback(function (params, event) {
|
|
110
110
|
if (params.cellMode === GridRowModes.Edit) {
|
|
111
111
|
// Wait until IME is settled for Asian languages like Japanese and Chinese
|
|
112
|
-
// TODO: `event.which` is
|
|
112
|
+
// TODO: `event.which` is deprecated but this is a temporary workaround
|
|
113
113
|
if (event.which === 229) {
|
|
114
114
|
return;
|
|
115
115
|
}
|
|
@@ -22,6 +22,15 @@ function raf() {
|
|
|
22
22
|
});
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
|
+
function buildPrintWindow(title) {
|
|
26
|
+
var iframeEl = document.createElement('iframe');
|
|
27
|
+
iframeEl.style.position = 'absolute';
|
|
28
|
+
iframeEl.style.width = '0px';
|
|
29
|
+
iframeEl.style.height = '0px';
|
|
30
|
+
iframeEl.title = title || document.title;
|
|
31
|
+
return iframeEl;
|
|
32
|
+
}
|
|
33
|
+
|
|
25
34
|
/**
|
|
26
35
|
* @requires useGridColumns (state)
|
|
27
36
|
* @requires useGridFilter (state)
|
|
@@ -64,16 +73,6 @@ export var useGridPrintExport = function useGridPrintExport(apiRef, props) {
|
|
|
64
73
|
resolve();
|
|
65
74
|
});
|
|
66
75
|
}, [apiRef]);
|
|
67
|
-
|
|
68
|
-
// TODO move outside of this scope and remove React.useCallback
|
|
69
|
-
var buildPrintWindow = React.useCallback(function (title) {
|
|
70
|
-
var iframeEl = document.createElement('iframe');
|
|
71
|
-
iframeEl.style.position = 'absolute';
|
|
72
|
-
iframeEl.style.width = '0px';
|
|
73
|
-
iframeEl.style.height = '0px';
|
|
74
|
-
iframeEl.title = title || document.title;
|
|
75
|
-
return iframeEl;
|
|
76
|
-
}, []);
|
|
77
76
|
var handlePrintWindowLoad = React.useCallback(function (printWindow, options) {
|
|
78
77
|
var _querySelector, _querySelector2;
|
|
79
78
|
var normalizeOptions = _extends({
|
|
@@ -245,7 +244,7 @@ export var useGridPrintExport = function useGridPrintExport(apiRef, props) {
|
|
|
245
244
|
return function (_x) {
|
|
246
245
|
return _ref.apply(this, arguments);
|
|
247
246
|
};
|
|
248
|
-
}(), [props, logger, apiRef,
|
|
247
|
+
}(), [props, logger, apiRef, handlePrintWindowLoad, handlePrintWindowAfterPrint, updateGridColumnsForPrint]);
|
|
249
248
|
var printExportApi = {
|
|
250
249
|
exportDataAsPrint: exportDataAsPrint
|
|
251
250
|
};
|
|
@@ -8,12 +8,12 @@ import * as React from 'react';
|
|
|
8
8
|
import * as ReactDOM from 'react-dom';
|
|
9
9
|
import { unstable_useForkRef as useForkRef, unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';
|
|
10
10
|
import { useTheme } from '@mui/material/styles';
|
|
11
|
+
import { defaultMemoize } from 'reselect';
|
|
11
12
|
import { useGridPrivateApiContext } from '../../utils/useGridPrivateApiContext';
|
|
12
13
|
import { useGridRootProps } from '../../utils/useGridRootProps';
|
|
13
14
|
import { useGridSelector } from '../../utils/useGridSelector';
|
|
14
15
|
import { gridVisibleColumnDefinitionsSelector, gridColumnsTotalWidthSelector, gridColumnPositionsSelector } from '../columns/gridColumnsSelector';
|
|
15
16
|
import { gridFocusCellSelector, gridTabIndexCellSelector } from '../focus/gridFocusStateSelector';
|
|
16
|
-
import { gridEditRowsStateSelector } from '../editing/gridEditingSelectors';
|
|
17
17
|
import { useGridVisibleRows } from '../../utils/useGridVisibleRows';
|
|
18
18
|
import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
|
|
19
19
|
import { clamp } from '../../../utils/utils';
|
|
@@ -21,9 +21,8 @@ import { selectedIdsLookupSelector } from '../rowSelection/gridRowSelectionSelec
|
|
|
21
21
|
import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';
|
|
22
22
|
import { getFirstNonSpannedColumnToRender } from '../columns/gridColumnsUtils';
|
|
23
23
|
import { getMinimalContentHeight } from '../rows/gridRowsUtils';
|
|
24
|
-
|
|
25
|
-
// Uses binary search to avoid looping through all possible positions
|
|
26
24
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
25
|
+
// Uses binary search to avoid looping through all possible positions
|
|
27
26
|
export function binarySearch(offset, positions) {
|
|
28
27
|
var sliceStart = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
29
28
|
var sliceEnd = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : positions.length;
|
|
@@ -78,7 +77,6 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
78
77
|
var cellFocus = useGridSelector(apiRef, gridFocusCellSelector);
|
|
79
78
|
var cellTabIndex = useGridSelector(apiRef, gridTabIndexCellSelector);
|
|
80
79
|
var rowsMeta = useGridSelector(apiRef, gridRowsMetaSelector);
|
|
81
|
-
var editRowsState = useGridSelector(apiRef, gridEditRowsStateSelector);
|
|
82
80
|
var selectedRowsLookup = useGridSelector(apiRef, selectedIdsLookupSelector);
|
|
83
81
|
var currentPage = useGridVisibleRows(apiRef, rootProps);
|
|
84
82
|
var renderZoneRef = React.useRef(null);
|
|
@@ -101,6 +99,12 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
101
99
|
containerDimensions = _React$useState4[0],
|
|
102
100
|
setContainerDimensions = _React$useState4[1];
|
|
103
101
|
var prevTotalWidth = React.useRef(columnsTotalWidth);
|
|
102
|
+
var rowStyleCache = React.useRef({});
|
|
103
|
+
var prevGetRowProps = React.useRef();
|
|
104
|
+
var prevRootRowStyle = React.useRef();
|
|
105
|
+
var getRenderedColumnsRef = React.useRef(defaultMemoize(function (columns, firstColumnToRender, lastColumnToRender) {
|
|
106
|
+
return columns.slice(firstColumnToRender, lastColumnToRender);
|
|
107
|
+
}));
|
|
104
108
|
var getNearestIndexToRender = React.useCallback(function (offset) {
|
|
105
109
|
var _currentPage$range, _currentPage$range2;
|
|
106
110
|
var lastMeasuredIndexRelativeToAllRows = apiRef.current.getLastMeasuredRowIndex();
|
|
@@ -315,6 +319,7 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
315
319
|
apiRef.current.publishEvent('virtualScrollerTouchMove', {}, event);
|
|
316
320
|
};
|
|
317
321
|
var getRows = function getRows() {
|
|
322
|
+
var _rootProps$slotProps;
|
|
318
323
|
var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
319
324
|
renderContext: renderContext
|
|
320
325
|
};
|
|
@@ -387,10 +392,17 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
387
392
|
lastRowToRender: lastRowToRender,
|
|
388
393
|
visibleRows: currentPage.rows
|
|
389
394
|
});
|
|
390
|
-
var renderedColumns =
|
|
395
|
+
var renderedColumns = getRenderedColumnsRef.current(visibleColumns, firstColumnToRender, lastColumnToRender);
|
|
396
|
+
var _ref4 = ((_rootProps$slotProps = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps.row) || {},
|
|
397
|
+
rootRowStyle = _ref4.style,
|
|
398
|
+
rootRowProps = _objectWithoutProperties(_ref4, _excluded);
|
|
399
|
+
var invalidatesCachedRowStyle = prevGetRowProps.current !== getRowProps || prevRootRowStyle.current !== rootRowStyle;
|
|
400
|
+
if (invalidatesCachedRowStyle) {
|
|
401
|
+
rowStyleCache.current = {};
|
|
402
|
+
}
|
|
391
403
|
var rows = [];
|
|
392
404
|
for (var i = 0; i < renderedRows.length; i += 1) {
|
|
393
|
-
var
|
|
405
|
+
var _currentPage$range5;
|
|
394
406
|
var _renderedRows$i = renderedRows[i],
|
|
395
407
|
_id = _renderedRows$i.id,
|
|
396
408
|
_model = _renderedRows$i.model;
|
|
@@ -402,22 +414,25 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
402
414
|
} else {
|
|
403
415
|
isSelected = apiRef.current.isRowSelectable(_id);
|
|
404
416
|
}
|
|
405
|
-
var
|
|
406
|
-
|
|
407
|
-
|
|
417
|
+
var focusedCell = cellFocus !== null && cellFocus.id === _id ? cellFocus.field : null;
|
|
418
|
+
var tabbableCell = null;
|
|
419
|
+
if (cellTabIndex !== null && cellTabIndex.id === _id) {
|
|
420
|
+
var cellParams = apiRef.current.getCellParams(_id, cellTabIndex.field);
|
|
421
|
+
tabbableCell = cellParams.cellMode === 'view' ? cellTabIndex.field : null;
|
|
422
|
+
}
|
|
408
423
|
var _ref5 = typeof getRowProps === 'function' && getRowProps(_id, _model) || {},
|
|
409
424
|
rowStyle = _ref5.style,
|
|
410
425
|
rowProps = _objectWithoutProperties(_ref5, _excluded2);
|
|
426
|
+
if (!rowStyleCache.current[_id]) {
|
|
427
|
+
var style = _extends({}, rowStyle, rootRowStyle);
|
|
428
|
+
rowStyleCache.current[_id] = style;
|
|
429
|
+
}
|
|
411
430
|
rows.push( /*#__PURE__*/_jsx(rootProps.slots.row, _extends({
|
|
412
431
|
row: _model,
|
|
413
432
|
rowId: _id,
|
|
414
433
|
rowHeight: baseRowHeight,
|
|
415
|
-
|
|
416
|
-
,
|
|
417
|
-
cellTabIndex: cellTabIndex // TODO move to inside the row
|
|
418
|
-
,
|
|
419
|
-
editRowsState: editRowsState // TODO move to inside the row
|
|
420
|
-
,
|
|
434
|
+
focusedCell: focusedCell,
|
|
435
|
+
tabbableCell: tabbableCell,
|
|
421
436
|
renderedColumns: renderedColumns,
|
|
422
437
|
visibleColumns: visibleColumns,
|
|
423
438
|
firstColumnToRender: firstColumnToRender,
|
|
@@ -428,9 +443,11 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
428
443
|
isLastVisible: lastVisibleRowIndex,
|
|
429
444
|
position: position
|
|
430
445
|
}, rowProps, rootRowProps, {
|
|
431
|
-
style:
|
|
446
|
+
style: rowStyleCache.current[_id]
|
|
432
447
|
}), _id));
|
|
433
448
|
}
|
|
449
|
+
prevGetRowProps.current = getRowProps;
|
|
450
|
+
prevRootRowStyle.current = rootRowStyle;
|
|
434
451
|
return rows;
|
|
435
452
|
};
|
|
436
453
|
var needsHorizontalScrollbar = containerDimensions.width && columnsTotalWidth > containerDimensions.width;
|
package/legacy/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/x-data-grid v6.0.
|
|
2
|
+
* @mui/x-data-grid v6.0.1
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -17,6 +17,8 @@ export * from './models';
|
|
|
17
17
|
export * from './context';
|
|
18
18
|
export * from './colDef';
|
|
19
19
|
export * from './utils';
|
|
20
|
+
export { GridColumnHeaders } from './components/GridColumnHeaders';
|
|
21
|
+
|
|
20
22
|
/**
|
|
21
23
|
* Reexportable components.
|
|
22
24
|
*/
|
|
@@ -24,4 +26,6 @@ export { GridColumnMenu, GRID_COLUMN_MENU_COMPONENTS, GRID_COLUMN_MENU_COMPONENT
|
|
|
24
26
|
|
|
25
27
|
/**
|
|
26
28
|
* The full grid API.
|
|
29
|
+
* @demos
|
|
30
|
+
* - [API object](/x/react-data-grid/api-object/)
|
|
27
31
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { GridVirtualScroller } from '../components/virtualization/GridVirtualScroller';
|
|
2
2
|
export { GridVirtualScrollerContent } from '../components/virtualization/GridVirtualScrollerContent';
|
|
3
3
|
export { GridVirtualScrollerRenderZone } from '../components/virtualization/GridVirtualScrollerRenderZone';
|
|
4
|
-
export {
|
|
4
|
+
export { GridBaseColumnHeaders } from '../components/columnHeaders/GridBaseColumnHeaders';
|
|
5
5
|
export { GridColumnHeadersInner } from '../components/columnHeaders/GridColumnHeadersInner';
|
|
6
6
|
export { DATA_GRID_DEFAULT_SLOTS_COMPONENTS } from '../constants/defaultGridSlotsComponents';
|
|
7
7
|
export { useGridRegisterPipeProcessor } from '../hooks/core/pipeProcessing';
|
package/legacy/locales/arSD.js
CHANGED
|
@@ -22,17 +22,15 @@ var arSDGrid = {
|
|
|
22
22
|
return count !== 1 ? "".concat(count, " \u0645\u0646 \u0627\u0644\u0645\u0631\u0634\u0650\u062D\u0627\u062A \u0627\u0644\u0646\u0634\u0637\u0629") : "\u0645\u0631\u0634\u0650\u062D \u0646\u0634\u0637";
|
|
23
23
|
},
|
|
24
24
|
// Quick filter toolbar field
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
toolbarQuickFilterPlaceholder: 'بحث...',
|
|
26
|
+
toolbarQuickFilterLabel: 'بحث',
|
|
27
|
+
toolbarQuickFilterDeleteIconLabel: 'أزال',
|
|
29
28
|
// Export selector toolbar button text
|
|
30
29
|
toolbarExport: 'تصدير',
|
|
31
30
|
toolbarExportLabel: 'تصدير',
|
|
32
31
|
toolbarExportCSV: 'تنزيل كملف CSV',
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
toolbarExportPrint: 'طباعة',
|
|
33
|
+
toolbarExportExcel: 'تحميل كملف الإكسل',
|
|
36
34
|
// Columns panel text
|
|
37
35
|
columnsPanelTextFieldLabel: 'البحث عن العمود',
|
|
38
36
|
columnsPanelTextFieldPlaceholder: 'عنوان العمود',
|
|
@@ -121,20 +119,17 @@ var arSDGrid = {
|
|
|
121
119
|
return "\u0625\u064A\u0642\u0627\u0641 \u0627\u0644\u062A\u062C\u0645\u064A\u0639 \u062D\u0633\u0628 ".concat(name);
|
|
122
120
|
},
|
|
123
121
|
// Master/detail
|
|
124
|
-
|
|
122
|
+
detailPanelToggle: 'اظهار/اخفاء لوحة التفاصيل',
|
|
125
123
|
expandDetailPanel: 'توسيع',
|
|
126
|
-
collapseDetailPanel: 'طوي'
|
|
127
|
-
|
|
124
|
+
collapseDetailPanel: 'طوي',
|
|
128
125
|
// Row reordering text
|
|
129
|
-
|
|
130
|
-
|
|
126
|
+
rowReorderingHeaderName: 'أعادة ترتيب الصفوف',
|
|
131
127
|
// Aggregation
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
128
|
+
aggregationMenuItemHeader: 'الدلالات الحسابية',
|
|
129
|
+
aggregationFunctionLabelSum: 'مجموع',
|
|
130
|
+
aggregationFunctionLabelAvg: 'معدل',
|
|
131
|
+
aggregationFunctionLabelMin: 'الحد الادنى',
|
|
132
|
+
aggregationFunctionLabelMax: 'الحد الاقصى',
|
|
133
|
+
aggregationFunctionLabelSize: 'الحجم'
|
|
138
134
|
};
|
|
139
|
-
|
|
140
135
|
export var arSD = getGridLocalization(arSDGrid, arSDCore);
|