@mui/x-data-grid 6.7.0 → 6.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +145 -5541
- package/components/GridColumnHeaders.d.ts +2 -2
- package/components/GridColumnHeaders.js +3 -1
- package/components/GridPagination.d.ts +2 -2
- package/components/GridRow.d.ts +2 -2
- package/components/GridRow.js +33 -79
- package/components/cell/GridCell.d.ts +24 -15
- package/components/cell/GridCell.js +422 -45
- package/components/cell/GridEditInputCell.js +9 -9
- package/components/cell/index.d.ts +2 -1
- package/components/cell/index.js +1 -1
- package/components/containers/GridRootStyles.js +30 -16
- package/components/menu/columnMenu/GridColumnHeaderMenu.js +1 -1
- package/components/panel/GridPanel.d.ts +1 -1
- package/components/toolbar/GridToolbar.js +2 -2
- package/components/virtualization/GridVirtualScroller.js +4 -9
- package/components/virtualization/GridVirtualScrollerContent.js +11 -20
- package/constants/defaultGridSlotsComponents.js +6 -2
- package/hooks/core/useGridApiInitialization.js +4 -1
- package/hooks/core/useGridStateInitialization.js +2 -9
- package/hooks/features/clipboard/useGridClipboard.js +1 -4
- package/hooks/features/columnGrouping/gridColumnGroupsSelector.js +4 -4
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +9 -3
- package/hooks/features/columns/gridColumnsSelector.js +7 -7
- package/hooks/features/dimensions/useGridDimensions.js +6 -12
- package/hooks/features/editing/useGridCellEditing.js +5 -3
- package/hooks/features/editing/useGridRowEditing.js +14 -6
- package/hooks/features/filter/gridFilterSelector.js +8 -8
- package/hooks/features/filter/gridFilterUtils.d.ts +4 -1
- package/hooks/features/filter/gridFilterUtils.js +19 -13
- package/hooks/features/filter/useGridFilter.js +2 -1
- package/hooks/features/focus/useGridFocus.js +9 -4
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +2 -3
- package/hooks/features/pagination/gridPaginationSelector.js +4 -4
- package/hooks/features/rowSelection/gridRowSelectionSelector.js +3 -3
- package/hooks/features/rows/gridRowsSelector.js +3 -3
- package/hooks/features/rows/useGridParamsApi.d.ts +2 -0
- package/hooks/features/rows/useGridParamsApi.js +7 -15
- package/hooks/features/sorting/gridSortingSelector.js +3 -3
- package/hooks/features/virtualization/useGridVirtualScroller.d.ts +8 -816
- package/hooks/features/virtualization/useGridVirtualScroller.js +40 -38
- package/hooks/utils/index.d.ts +1 -1
- package/hooks/utils/index.js +1 -1
- package/hooks/utils/useGridSelector.d.ts +3 -1
- package/hooks/utils/useGridSelector.js +37 -6
- package/hooks/utils/useLazyRef.d.ts +2 -0
- package/hooks/utils/useLazyRef.js +9 -0
- package/hooks/utils/useOnMount.d.ts +2 -0
- package/hooks/utils/useOnMount.js +7 -0
- package/index.js +1 -1
- package/internals/index.d.ts +1 -1
- package/internals/index.js +1 -1
- package/legacy/components/GridColumnHeaders.js +3 -1
- package/legacy/components/GridRow.js +35 -79
- package/legacy/components/cell/GridCell.js +425 -46
- package/legacy/components/cell/GridEditInputCell.js +9 -9
- package/legacy/components/cell/index.js +1 -1
- package/legacy/components/containers/GridRootStyles.js +20 -17
- package/legacy/components/menu/columnMenu/GridColumnHeaderMenu.js +1 -1
- package/legacy/components/toolbar/GridToolbar.js +2 -2
- package/legacy/components/virtualization/GridVirtualScroller.js +4 -7
- package/legacy/components/virtualization/GridVirtualScrollerContent.js +10 -17
- package/legacy/constants/defaultGridSlotsComponents.js +6 -2
- package/legacy/hooks/core/useGridApiInitialization.js +4 -1
- package/legacy/hooks/core/useGridStateInitialization.js +2 -7
- package/legacy/hooks/features/clipboard/useGridClipboard.js +1 -4
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +4 -4
- package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +9 -3
- package/legacy/hooks/features/columns/gridColumnsSelector.js +7 -7
- package/legacy/hooks/features/dimensions/useGridDimensions.js +6 -12
- package/legacy/hooks/features/editing/useGridCellEditing.js +5 -3
- package/legacy/hooks/features/editing/useGridRowEditing.js +15 -7
- package/legacy/hooks/features/filter/gridFilterSelector.js +8 -8
- package/legacy/hooks/features/filter/gridFilterUtils.js +23 -19
- package/legacy/hooks/features/filter/useGridFilter.js +2 -1
- package/legacy/hooks/features/focus/useGridFocus.js +9 -4
- package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +2 -3
- package/legacy/hooks/features/pagination/gridPaginationSelector.js +4 -4
- package/legacy/hooks/features/rowSelection/gridRowSelectionSelector.js +3 -3
- package/legacy/hooks/features/rows/gridRowsSelector.js +3 -3
- package/legacy/hooks/features/rows/useGridParamsApi.js +23 -15
- package/legacy/hooks/features/sorting/gridSortingSelector.js +3 -3
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +38 -34
- package/legacy/hooks/utils/index.js +1 -1
- package/legacy/hooks/utils/useGridSelector.js +43 -5
- package/legacy/hooks/utils/useLazyRef.js +9 -0
- package/legacy/hooks/utils/useOnMount.js +7 -0
- package/legacy/index.js +1 -1
- package/legacy/internals/index.js +1 -1
- package/legacy/locales/elGR.js +70 -79
- package/legacy/locales/ptBR.js +12 -13
- package/legacy/utils/Store.js +34 -0
- package/legacy/utils/createSelector.js +74 -6
- package/legacy/utils/doesSupportPreventScroll.js +13 -0
- package/legacy/utils/fastMemo.js +5 -0
- package/legacy/utils/fastObjectShallowCompare.js +32 -0
- package/legacy/utils/keyboardUtils.js +4 -2
- package/locales/elGR.js +66 -79
- package/locales/ptBR.js +12 -13
- package/models/api/gridCoreApi.d.ts +6 -0
- package/models/colDef/gridColDef.d.ts +4 -3
- package/models/colDef/gridColType.d.ts +3 -1
- package/models/events/gridEventLookup.d.ts +3 -3
- package/modern/components/GridColumnHeaders.js +3 -1
- package/modern/components/GridRow.js +32 -79
- package/modern/components/cell/GridCell.js +421 -45
- package/modern/components/cell/GridEditInputCell.js +9 -9
- package/modern/components/cell/index.js +1 -1
- package/modern/components/containers/GridRootStyles.js +30 -16
- package/modern/components/menu/columnMenu/GridColumnHeaderMenu.js +1 -1
- package/modern/components/toolbar/GridToolbar.js +2 -2
- package/modern/components/virtualization/GridVirtualScroller.js +4 -9
- package/modern/components/virtualization/GridVirtualScrollerContent.js +10 -20
- package/modern/constants/defaultGridSlotsComponents.js +6 -2
- package/modern/hooks/core/useGridApiInitialization.js +4 -1
- package/modern/hooks/core/useGridStateInitialization.js +2 -9
- package/modern/hooks/features/clipboard/useGridClipboard.js +1 -4
- package/modern/hooks/features/columnGrouping/gridColumnGroupsSelector.js +4 -4
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +9 -3
- package/modern/hooks/features/columns/gridColumnsSelector.js +7 -7
- package/modern/hooks/features/dimensions/useGridDimensions.js +6 -12
- package/modern/hooks/features/editing/useGridCellEditing.js +5 -3
- package/modern/hooks/features/editing/useGridRowEditing.js +14 -6
- package/modern/hooks/features/filter/gridFilterSelector.js +8 -8
- package/modern/hooks/features/filter/gridFilterUtils.js +17 -12
- package/modern/hooks/features/filter/useGridFilter.js +2 -1
- package/modern/hooks/features/focus/useGridFocus.js +8 -4
- package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +2 -3
- package/modern/hooks/features/pagination/gridPaginationSelector.js +4 -4
- package/modern/hooks/features/rowSelection/gridRowSelectionSelector.js +3 -3
- package/modern/hooks/features/rows/gridRowsSelector.js +3 -3
- package/modern/hooks/features/rows/useGridParamsApi.js +7 -15
- package/modern/hooks/features/sorting/gridSortingSelector.js +3 -3
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +40 -38
- package/modern/hooks/utils/index.js +1 -1
- package/modern/hooks/utils/useGridSelector.js +37 -6
- package/modern/hooks/utils/useLazyRef.js +9 -0
- package/modern/hooks/utils/useOnMount.js +7 -0
- package/modern/index.js +1 -1
- package/modern/internals/index.js +1 -1
- package/modern/locales/elGR.js +66 -79
- package/modern/locales/ptBR.js +12 -13
- package/modern/utils/Store.js +24 -0
- package/modern/utils/createSelector.js +74 -6
- package/modern/utils/doesSupportPreventScroll.js +13 -0
- package/modern/utils/fastMemo.js +5 -0
- package/modern/utils/fastObjectShallowCompare.js +32 -0
- package/modern/utils/keyboardUtils.js +4 -2
- package/node/components/GridColumnHeaders.js +4 -2
- package/node/components/GridRow.js +32 -79
- package/node/components/cell/GridCell.js +424 -47
- package/node/components/cell/GridEditInputCell.js +9 -9
- package/node/components/cell/index.js +17 -10
- package/node/components/containers/GridRootStyles.js +30 -16
- package/node/components/menu/columnMenu/GridColumnHeaderMenu.js +1 -1
- package/node/components/toolbar/GridToolbar.js +2 -2
- package/node/components/virtualization/GridVirtualScroller.js +4 -9
- package/node/components/virtualization/GridVirtualScrollerContent.js +10 -20
- package/node/constants/defaultGridSlotsComponents.js +4 -1
- package/node/hooks/core/useGridApiInitialization.js +4 -1
- package/node/hooks/core/useGridStateInitialization.js +2 -9
- package/node/hooks/features/clipboard/useGridClipboard.js +1 -4
- package/node/hooks/features/columnGrouping/gridColumnGroupsSelector.js +3 -3
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +8 -2
- package/node/hooks/features/columns/gridColumnsSelector.js +6 -6
- package/node/hooks/features/dimensions/useGridDimensions.js +6 -12
- package/node/hooks/features/editing/useGridCellEditing.js +5 -3
- package/node/hooks/features/editing/useGridRowEditing.js +14 -6
- package/node/hooks/features/filter/gridFilterSelector.js +7 -7
- package/node/hooks/features/filter/gridFilterUtils.js +17 -12
- package/node/hooks/features/filter/useGridFilter.js +2 -1
- package/node/hooks/features/focus/useGridFocus.js +8 -4
- package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +2 -3
- package/node/hooks/features/pagination/gridPaginationSelector.js +3 -3
- package/node/hooks/features/rowSelection/gridRowSelectionSelector.js +2 -2
- package/node/hooks/features/rows/gridRowsSelector.js +2 -2
- package/node/hooks/features/rows/useGridParamsApi.js +9 -15
- package/node/hooks/features/sorting/gridSortingSelector.js +2 -2
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +40 -36
- package/node/hooks/utils/index.js +14 -10
- package/node/hooks/utils/useGridSelector.js +41 -7
- package/node/hooks/utils/useLazyRef.js +17 -0
- package/node/hooks/utils/useOnMount.js +15 -0
- package/node/index.js +1 -1
- package/node/internals/index.js +7 -0
- package/node/locales/elGR.js +66 -79
- package/node/locales/ptBR.js +12 -13
- package/node/utils/Store.js +31 -0
- package/node/utils/createSelector.js +77 -8
- package/node/utils/doesSupportPreventScroll.js +19 -0
- package/node/utils/fastMemo.js +13 -0
- package/node/utils/fastObjectShallowCompare.js +38 -0
- package/node/utils/keyboardUtils.js +4 -2
- package/package.json +2 -2
- package/utils/Store.d.ts +11 -0
- package/utils/Store.js +24 -0
- package/utils/createSelector.d.ts +1 -0
- package/utils/createSelector.js +74 -6
- package/utils/doesSupportPreventScroll.d.ts +1 -0
- package/utils/doesSupportPreventScroll.js +13 -0
- package/utils/fastMemo.d.ts +1 -0
- package/utils/fastMemo.js +5 -0
- package/utils/fastObjectShallowCompare.d.ts +1 -0
- package/utils/fastObjectShallowCompare.js +32 -0
- package/utils/keyboardUtils.js +4 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
3
|
+
var _columnHeaderStyles;
|
|
3
4
|
import { alpha, styled, darken, lighten } from '@mui/material/styles';
|
|
4
5
|
import { gridClasses } from '../../constants/gridClasses';
|
|
5
6
|
function getBorderColor(theme) {
|
|
@@ -11,16 +12,27 @@ function getBorderColor(theme) {
|
|
|
11
12
|
}
|
|
12
13
|
return darken(alpha(theme.palette.divider, 1), 0.68);
|
|
13
14
|
}
|
|
15
|
+
var columnHeadersStyles = _defineProperty({}, ".".concat(gridClasses.columnSeparator, ", .").concat(gridClasses['columnSeparator--resizing']), {
|
|
16
|
+
visibility: 'visible',
|
|
17
|
+
width: 'auto'
|
|
18
|
+
});
|
|
19
|
+
var columnHeaderStyles = (_columnHeaderStyles = {}, _defineProperty(_columnHeaderStyles, "& .".concat(gridClasses.iconButtonContainer), {
|
|
20
|
+
visibility: 'visible',
|
|
21
|
+
width: 'auto'
|
|
22
|
+
}), _defineProperty(_columnHeaderStyles, "& .".concat(gridClasses.menuIcon), {
|
|
23
|
+
width: 'auto',
|
|
24
|
+
visibility: 'visible'
|
|
25
|
+
}), _columnHeaderStyles);
|
|
14
26
|
export var GridRootStyles = styled('div', {
|
|
15
27
|
name: 'MuiDataGrid',
|
|
16
28
|
slot: 'Root',
|
|
17
29
|
overridesResolver: function overridesResolver(props, styles) {
|
|
18
30
|
return [_defineProperty({}, "&.".concat(gridClasses.autoHeight), styles.autoHeight), _defineProperty({}, "&.".concat(gridClasses.aggregationColumnHeader), styles.aggregationColumnHeader), _defineProperty({}, "&.".concat(gridClasses['aggregationColumnHeader--alignLeft']), styles['aggregationColumnHeader--alignLeft']), _defineProperty({}, "&.".concat(gridClasses['aggregationColumnHeader--alignCenter']), styles['aggregationColumnHeader--alignCenter']), _defineProperty({}, "&.".concat(gridClasses['aggregationColumnHeader--alignRight']), styles['aggregationColumnHeader--alignRight']), _defineProperty({}, "&.".concat(gridClasses.aggregationColumnHeaderLabel), styles.aggregationColumnHeaderLabel), _defineProperty({}, "&.".concat(gridClasses['root--disableUserSelection'], " .").concat(gridClasses.cell), styles['root--disableUserSelection']), _defineProperty({}, "& .".concat(gridClasses.editBooleanCell), styles.editBooleanCell), _defineProperty({}, "& .".concat(gridClasses['cell--editing']), styles['cell--editing']), _defineProperty({}, "& .".concat(gridClasses['cell--textCenter']), styles['cell--textCenter']), _defineProperty({}, "& .".concat(gridClasses['cell--textLeft']), styles['cell--textLeft']), _defineProperty({}, "& .".concat(gridClasses['cell--textRight']), styles['cell--textRight']), // TODO v6: Remove
|
|
19
|
-
_defineProperty({}, "& .".concat(gridClasses['cell--withRenderer']), styles['cell--withRenderer']), _defineProperty({}, "& .".concat(gridClasses.cell), styles.cell), _defineProperty({}, "& .".concat(gridClasses['cell--rangeTop']), styles['cell--rangeTop']), _defineProperty({}, "& .".concat(gridClasses['cell--rangeBottom']), styles['cell--rangeBottom']), _defineProperty({}, "& .".concat(gridClasses['cell--rangeLeft']), styles['cell--rangeLeft']), _defineProperty({}, "& .".concat(gridClasses['cell--rangeRight']), styles['cell--rangeRight']), _defineProperty({}, "& .".concat(gridClasses.cellContent), styles.cellContent), _defineProperty({}, "& .".concat(gridClasses.cellCheckbox), styles.cellCheckbox), _defineProperty({}, "& .".concat(gridClasses.cellSkeleton), styles.cellSkeleton), _defineProperty({}, "& .".concat(gridClasses.checkboxInput), styles.checkboxInput), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignCenter']), styles['columnHeader--alignCenter']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignLeft']), styles['columnHeader--alignLeft']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignRight']), styles['columnHeader--alignRight']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--dragging']), styles['columnHeader--dragging']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--moving']), styles['columnHeader--moving']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--numeric']), styles['columnHeader--numeric']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--sortable']), styles['columnHeader--sortable']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--sorted']), styles['columnHeader--sorted']), _defineProperty({}, "& .".concat(gridClasses.columnHeader), styles.columnHeader), _defineProperty({}, "& .".concat(gridClasses.headerFilterRow), styles.headerFilterRow), _defineProperty({}, "& .".concat(gridClasses.columnHeaderCheckbox), styles.columnHeaderCheckbox), _defineProperty({}, "& .".concat(gridClasses.columnHeaderDraggableContainer), styles.columnHeaderDraggableContainer), _defineProperty({}, "& .".concat(gridClasses.columnHeaderTitleContainer), styles.columnHeaderTitleContainer), _defineProperty({}, "& .".concat(gridClasses['columnSeparator--resizable']), styles['columnSeparator--resizable']), _defineProperty({}, "& .".concat(gridClasses['columnSeparator--resizing']), styles['columnSeparator--resizing']), _defineProperty({}, "& .".concat(gridClasses.columnSeparator), styles.columnSeparator), _defineProperty({}, "& .".concat(gridClasses.filterIcon), styles.filterIcon), _defineProperty({}, "& .".concat(gridClasses.iconSeparator), styles.iconSeparator), _defineProperty({}, "& .".concat(gridClasses.menuIcon), styles.menuIcon), _defineProperty({}, "& .".concat(gridClasses.menuIconButton), styles.menuIconButton), _defineProperty({}, "& .".concat(gridClasses.menuOpen), styles.menuOpen), _defineProperty({}, "& .".concat(gridClasses.menuList), styles.menuList), _defineProperty({}, "& .".concat(gridClasses['row--editable']), styles['row--editable']), _defineProperty({}, "& .".concat(gridClasses['row--editing']), styles['row--editing']), _defineProperty({}, "& .".concat(gridClasses['row--dragging']), styles['row--dragging']), _defineProperty({}, "& .".concat(gridClasses.row), styles.row), _defineProperty({}, "& .".concat(gridClasses.rowReorderCellPlaceholder), styles.rowReorderCellPlaceholder), _defineProperty({}, "& .".concat(gridClasses.rowReorderCell), styles.rowReorderCell), _defineProperty({}, "& .".concat(gridClasses['rowReorderCell--draggable']), styles['rowReorderCell--draggable']), _defineProperty({}, "& .".concat(gridClasses.sortIcon), styles.sortIcon), _defineProperty({}, "& .".concat(gridClasses.withBorderColor), styles.withBorderColor), _defineProperty({}, "& .".concat(gridClasses.treeDataGroupingCell), styles.treeDataGroupingCell), _defineProperty({}, "& .".concat(gridClasses.treeDataGroupingCellToggle), styles.treeDataGroupingCellToggle), _defineProperty({}, "& .".concat(gridClasses.detailPanelToggleCell), styles.detailPanelToggleCell), _defineProperty({}, "& .".concat(gridClasses['detailPanelToggleCell--expanded']), styles['detailPanelToggleCell--expanded']), styles.root];
|
|
31
|
+
_defineProperty({}, "& .".concat(gridClasses['cell--withRenderer']), styles['cell--withRenderer']), _defineProperty({}, "& .".concat(gridClasses.cell), styles.cell), _defineProperty({}, "& .".concat(gridClasses['cell--rangeTop']), styles['cell--rangeTop']), _defineProperty({}, "& .".concat(gridClasses['cell--rangeBottom']), styles['cell--rangeBottom']), _defineProperty({}, "& .".concat(gridClasses['cell--rangeLeft']), styles['cell--rangeLeft']), _defineProperty({}, "& .".concat(gridClasses['cell--rangeRight']), styles['cell--rangeRight']), _defineProperty({}, "& .".concat(gridClasses['cell--withRightBorder']), styles['cell--withRightBorder']), _defineProperty({}, "& .".concat(gridClasses.cellContent), styles.cellContent), _defineProperty({}, "& .".concat(gridClasses.cellCheckbox), styles.cellCheckbox), _defineProperty({}, "& .".concat(gridClasses.cellSkeleton), styles.cellSkeleton), _defineProperty({}, "& .".concat(gridClasses.checkboxInput), styles.checkboxInput), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignCenter']), styles['columnHeader--alignCenter']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignLeft']), styles['columnHeader--alignLeft']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--alignRight']), styles['columnHeader--alignRight']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--dragging']), styles['columnHeader--dragging']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--moving']), styles['columnHeader--moving']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--numeric']), styles['columnHeader--numeric']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--sortable']), styles['columnHeader--sortable']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--sorted']), styles['columnHeader--sorted']), _defineProperty({}, "& .".concat(gridClasses['columnHeader--withRightBorder']), styles['columnHeader--withRightBorder']), _defineProperty({}, "& .".concat(gridClasses.columnHeader), styles.columnHeader), _defineProperty({}, "& .".concat(gridClasses.headerFilterRow), styles.headerFilterRow), _defineProperty({}, "& .".concat(gridClasses.columnHeaderCheckbox), styles.columnHeaderCheckbox), _defineProperty({}, "& .".concat(gridClasses.columnHeaderDraggableContainer), styles.columnHeaderDraggableContainer), _defineProperty({}, "& .".concat(gridClasses.columnHeaderTitleContainer), styles.columnHeaderTitleContainer), _defineProperty({}, "& .".concat(gridClasses['columnSeparator--resizable']), styles['columnSeparator--resizable']), _defineProperty({}, "& .".concat(gridClasses['columnSeparator--resizing']), styles['columnSeparator--resizing']), _defineProperty({}, "& .".concat(gridClasses.columnSeparator), styles.columnSeparator), _defineProperty({}, "& .".concat(gridClasses.filterIcon), styles.filterIcon), _defineProperty({}, "& .".concat(gridClasses.iconSeparator), styles.iconSeparator), _defineProperty({}, "& .".concat(gridClasses.menuIcon), styles.menuIcon), _defineProperty({}, "& .".concat(gridClasses.menuIconButton), styles.menuIconButton), _defineProperty({}, "& .".concat(gridClasses.menuOpen), styles.menuOpen), _defineProperty({}, "& .".concat(gridClasses.menuList), styles.menuList), _defineProperty({}, "& .".concat(gridClasses['row--editable']), styles['row--editable']), _defineProperty({}, "& .".concat(gridClasses['row--editing']), styles['row--editing']), _defineProperty({}, "& .".concat(gridClasses['row--dragging']), styles['row--dragging']), _defineProperty({}, "& .".concat(gridClasses.row), styles.row), _defineProperty({}, "& .".concat(gridClasses.rowReorderCellPlaceholder), styles.rowReorderCellPlaceholder), _defineProperty({}, "& .".concat(gridClasses.rowReorderCell), styles.rowReorderCell), _defineProperty({}, "& .".concat(gridClasses['rowReorderCell--draggable']), styles['rowReorderCell--draggable']), _defineProperty({}, "& .".concat(gridClasses.sortIcon), styles.sortIcon), _defineProperty({}, "& .".concat(gridClasses.withBorderColor), styles.withBorderColor), _defineProperty({}, "& .".concat(gridClasses.treeDataGroupingCell), styles.treeDataGroupingCell), _defineProperty({}, "& .".concat(gridClasses.treeDataGroupingCellToggle), styles.treeDataGroupingCellToggle), _defineProperty({}, "& .".concat(gridClasses.detailPanelToggleCell), styles.detailPanelToggleCell), _defineProperty({}, "& .".concat(gridClasses['detailPanelToggleCell--expanded']), styles['detailPanelToggleCell--expanded']), styles.root];
|
|
20
32
|
}
|
|
21
|
-
})(function (
|
|
22
|
-
var
|
|
23
|
-
var theme =
|
|
33
|
+
})(function (_ref60) {
|
|
34
|
+
var _mediaHoverHover, _mediaHoverNone, _$concat2, _extends2;
|
|
35
|
+
var theme = _ref60.theme;
|
|
24
36
|
var borderColor = getBorderColor(theme);
|
|
25
37
|
var radius = theme.shape.borderRadius;
|
|
26
38
|
var gridStyle = _extends({
|
|
@@ -77,8 +89,6 @@ export var GridRootStyles = styled('div', {
|
|
|
77
89
|
transition: theme.transitions.create(['opacity'], {
|
|
78
90
|
duration: theme.transitions.duration.shorter
|
|
79
91
|
})
|
|
80
|
-
}), _defineProperty(_extends2, "& .".concat(gridClasses.columnHeader, ":not(.").concat(gridClasses['columnHeader--sorted'], "):hover .").concat(gridClasses.sortIcon), {
|
|
81
|
-
opacity: 0.5
|
|
82
92
|
}), _defineProperty(_extends2, "& .".concat(gridClasses.columnHeaderTitleContainer), {
|
|
83
93
|
display: 'flex',
|
|
84
94
|
alignItems: 'center',
|
|
@@ -128,10 +138,9 @@ export var GridRootStyles = styled('div', {
|
|
|
128
138
|
flexDirection: 'column',
|
|
129
139
|
justifyContent: 'center',
|
|
130
140
|
color: borderColor
|
|
131
|
-
}), _defineProperty(_extends2, "& .".concat(gridClasses.columnHeaders, ":hover ."
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}), _defineProperty(_extends2, "& .".concat(gridClasses['columnSeparator--sideLeft']), {
|
|
141
|
+
}), _defineProperty(_extends2, '@media (hover: hover)', (_mediaHoverHover = {}, _defineProperty(_mediaHoverHover, "& .".concat(gridClasses.columnHeaders, ":hover"), columnHeadersStyles), _defineProperty(_mediaHoverHover, "& .".concat(gridClasses.columnHeader, ":hover"), columnHeaderStyles), _defineProperty(_mediaHoverHover, "& .".concat(gridClasses.columnHeader, ":not(.").concat(gridClasses['columnHeader--sorted'], "):hover .").concat(gridClasses.sortIcon), {
|
|
142
|
+
opacity: 0.5
|
|
143
|
+
}), _mediaHoverHover)), _defineProperty(_extends2, '@media (hover: none)', (_mediaHoverNone = {}, _defineProperty(_mediaHoverNone, "& .".concat(gridClasses.columnHeaders), columnHeadersStyles), _defineProperty(_mediaHoverNone, "& .".concat(gridClasses.columnHeader), columnHeaderStyles), _mediaHoverNone)), _defineProperty(_extends2, "& .".concat(gridClasses['columnSeparator--sideLeft']), {
|
|
135
144
|
left: -12
|
|
136
145
|
}), _defineProperty(_extends2, "& .".concat(gridClasses['columnSeparator--sideRight']), {
|
|
137
146
|
right: -12
|
|
@@ -158,13 +167,7 @@ export var GridRootStyles = styled('div', {
|
|
|
158
167
|
marginRight: -10,
|
|
159
168
|
display: 'flex',
|
|
160
169
|
alignItems: 'center'
|
|
161
|
-
}), _defineProperty(_extends2, "
|
|
162
|
-
visibility: 'visible',
|
|
163
|
-
width: 'auto'
|
|
164
|
-
}), _defineProperty(_$concat3, "& .".concat(gridClasses.menuIcon), {
|
|
165
|
-
width: 'auto',
|
|
166
|
-
visibility: 'visible'
|
|
167
|
-
}), _$concat3)), _defineProperty(_extends2, ".".concat(gridClasses.menuOpen), {
|
|
170
|
+
}), _defineProperty(_extends2, ".".concat(gridClasses.menuOpen), {
|
|
168
171
|
visibility: 'visible',
|
|
169
172
|
width: 'auto'
|
|
170
173
|
}), _defineProperty(_extends2, "& .".concat(gridClasses.row), {
|
|
@@ -14,8 +14,8 @@ import { GridToolbarQuickFilter } from './GridToolbarQuickFilter';
|
|
|
14
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
15
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
16
|
var GridToolbar = /*#__PURE__*/React.forwardRef(function GridToolbar(props, ref) {
|
|
17
|
-
// TODO
|
|
18
|
-
// from
|
|
17
|
+
// TODO v7: think about where export option should be passed.
|
|
18
|
+
// from slotProps={{ toolbarExport: { ...exportOption } }} seems to be more appropriate
|
|
19
19
|
var className = props.className,
|
|
20
20
|
csvOptions = props.csvOptions,
|
|
21
21
|
printOptions = props.printOptions,
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["className"];
|
|
4
2
|
import * as React from 'react';
|
|
5
3
|
import clsx from 'clsx';
|
|
6
4
|
import { styled } from '@mui/system';
|
|
@@ -31,14 +29,13 @@ var VirtualScrollerRoot = styled('div', {
|
|
|
31
29
|
}
|
|
32
30
|
});
|
|
33
31
|
var GridVirtualScroller = /*#__PURE__*/React.forwardRef(function GridVirtualScroller(props, ref) {
|
|
34
|
-
var className = props.className,
|
|
35
|
-
other = _objectWithoutProperties(props, _excluded);
|
|
36
32
|
var rootProps = useGridRootProps();
|
|
37
33
|
var classes = useUtilityClasses(rootProps);
|
|
38
34
|
return /*#__PURE__*/_jsx(VirtualScrollerRoot, _extends({
|
|
39
|
-
ref: ref
|
|
40
|
-
|
|
35
|
+
ref: ref
|
|
36
|
+
}, props, {
|
|
37
|
+
className: clsx(classes.root, props.className),
|
|
41
38
|
ownerState: rootProps
|
|
42
|
-
}
|
|
39
|
+
}));
|
|
43
40
|
});
|
|
44
41
|
export { GridVirtualScroller };
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["className", "style"];
|
|
4
2
|
import * as React from 'react';
|
|
5
3
|
import clsx from 'clsx';
|
|
6
4
|
import { styled } from '@mui/system';
|
|
@@ -8,9 +6,8 @@ import { unstable_composeClasses as composeClasses } from '@mui/utils';
|
|
|
8
6
|
import { useGridRootProps } from '../../hooks/utils/useGridRootProps';
|
|
9
7
|
import { getDataGridUtilityClass } from '../../constants/gridClasses';
|
|
10
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
-
var useUtilityClasses = function useUtilityClasses(
|
|
12
|
-
var classes =
|
|
13
|
-
overflowedContent = ownerState.overflowedContent;
|
|
9
|
+
var useUtilityClasses = function useUtilityClasses(props, overflowedContent) {
|
|
10
|
+
var classes = props.classes;
|
|
14
11
|
var slots = {
|
|
15
12
|
root: ['virtualScrollerContent', overflowedContent && 'virtualScrollerContent--overflowed']
|
|
16
13
|
};
|
|
@@ -24,19 +21,15 @@ var VirtualScrollerContentRoot = styled('div', {
|
|
|
24
21
|
}
|
|
25
22
|
})({});
|
|
26
23
|
var GridVirtualScrollerContent = /*#__PURE__*/React.forwardRef(function GridVirtualScrollerContent(props, ref) {
|
|
27
|
-
var
|
|
28
|
-
style = props.style,
|
|
29
|
-
other = _objectWithoutProperties(props, _excluded);
|
|
24
|
+
var _props$style;
|
|
30
25
|
var rootProps = useGridRootProps();
|
|
31
|
-
var
|
|
32
|
-
|
|
33
|
-
});
|
|
34
|
-
var classes = useUtilityClasses(ownerState);
|
|
26
|
+
var overflowedContent = !rootProps.autoHeight && ((_props$style = props.style) == null ? void 0 : _props$style.minHeight) === 'auto';
|
|
27
|
+
var classes = useUtilityClasses(rootProps, overflowedContent);
|
|
35
28
|
return /*#__PURE__*/_jsx(VirtualScrollerContentRoot, _extends({
|
|
36
|
-
ref: ref
|
|
37
|
-
|
|
38
|
-
ownerState:
|
|
39
|
-
|
|
40
|
-
}
|
|
29
|
+
ref: ref
|
|
30
|
+
}, props, {
|
|
31
|
+
ownerState: rootProps,
|
|
32
|
+
className: clsx(classes.root, props.className)
|
|
33
|
+
}));
|
|
41
34
|
});
|
|
42
35
|
export { GridVirtualScrollerContent };
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
-
import {
|
|
2
|
+
import { GridSkeletonCell, GridColumnsPanel, GridFilterPanel, GridFooter, GridLoadingOverlay, GridNoRowsOverlay, GridPagination, GridPanel, GridPreferencesPanel, GridRow, GridColumnHeaderFilterIconButton } from '../components';
|
|
3
|
+
import { GridCellV7 } from '../components/cell/GridCell';
|
|
3
4
|
import { GridColumnHeaders } from '../components/GridColumnHeaders';
|
|
4
5
|
import { GridColumnMenu } from '../components/menu/columnMenu/GridColumnMenu';
|
|
5
6
|
import { GridNoResultsOverlay } from '../components/GridNoResultsOverlay';
|
|
6
7
|
import materialSlots from '../material';
|
|
8
|
+
|
|
9
|
+
// TODO: camelCase these key. It's a private helper now.
|
|
10
|
+
// Remove then need to call `uncapitalizeObjectKeys`.
|
|
7
11
|
export var DATA_GRID_DEFAULT_SLOTS_COMPONENTS = _extends({}, materialSlots, {
|
|
8
|
-
Cell:
|
|
12
|
+
Cell: GridCellV7,
|
|
9
13
|
SkeletonCell: GridSkeletonCell,
|
|
10
14
|
ColumnHeaderFilterIconButton: GridColumnHeaderFilterIconButton,
|
|
11
15
|
ColumnMenu: GridColumnMenu,
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { Store } from '../../utils/Store';
|
|
2
3
|
import { useGridApiMethod } from '../utils/useGridApiMethod';
|
|
3
4
|
import { GridSignature } from '../utils/useGridApiEventHandler';
|
|
4
5
|
import { EventManager } from '../../utils/EventManager';
|
|
@@ -37,8 +38,10 @@ var wrapPublicApi = function wrapPublicApi(publicApi) {
|
|
|
37
38
|
export function useGridApiInitialization(inputApiRef, props) {
|
|
38
39
|
var publicApiRef = React.useRef();
|
|
39
40
|
if (!publicApiRef.current) {
|
|
41
|
+
var state = {};
|
|
40
42
|
publicApiRef.current = {
|
|
41
|
-
state:
|
|
43
|
+
state: state,
|
|
44
|
+
store: Store.create(state),
|
|
42
45
|
instanceId: {
|
|
43
46
|
id: globalId
|
|
44
47
|
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
3
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
5
|
-
var _excluded = ["stateId"];
|
|
6
4
|
import * as React from 'react';
|
|
7
5
|
import { GridSignature } from '../utils/useGridApiEventHandler';
|
|
8
6
|
import { useGridApiMethod } from '../utils';
|
|
@@ -13,11 +11,7 @@ export var useGridStateInitialization = function useGridStateInitialization(apiR
|
|
|
13
11
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
14
12
|
rawForceUpdate = _React$useState2[1];
|
|
15
13
|
var registerControlState = React.useCallback(function (controlStateItem) {
|
|
16
|
-
|
|
17
|
-
others = _objectWithoutProperties(controlStateItem, _excluded);
|
|
18
|
-
controlStateMapRef.current[stateId] = _extends({}, others, {
|
|
19
|
-
stateId: stateId
|
|
20
|
-
});
|
|
14
|
+
controlStateMapRef.current[controlStateItem.stateId] = controlStateItem;
|
|
21
15
|
}, []);
|
|
22
16
|
var setState = React.useCallback(function (state, reason) {
|
|
23
17
|
var newState;
|
|
@@ -64,6 +58,7 @@ export var useGridStateInitialization = function useGridStateInitialization(apiR
|
|
|
64
58
|
if (apiRef.current.publishEvent) {
|
|
65
59
|
apiRef.current.publishEvent('stateChange', newState);
|
|
66
60
|
}
|
|
61
|
+
apiRef.current.store.update(newState);
|
|
67
62
|
}
|
|
68
63
|
if (updatedControlStateIds.length === 1) {
|
|
69
64
|
var _updatedControlStateI = updatedControlStateIds[0],
|
|
@@ -55,10 +55,7 @@ export var useGridClipboard = function useGridClipboard(apiRef, props) {
|
|
|
55
55
|
var ignoreValueFormatter = (_typeof(ignoreValueFormatterProp) === 'object' ? ignoreValueFormatterProp == null ? void 0 : ignoreValueFormatterProp.clipboardExport : ignoreValueFormatterProp) || false;
|
|
56
56
|
var clipboardCopyCellDelimiter = props.clipboardCopyCellDelimiter;
|
|
57
57
|
var handleCopy = React.useCallback(function (event) {
|
|
58
|
-
|
|
59
|
-
// event.code === 'KeyC' is not enough as event.code assume a QWERTY keyboard layout which would
|
|
60
|
-
// be wrong with a Dvorak keyboard (as if pressing J).
|
|
61
|
-
if (String.fromCharCode(event.keyCode) !== 'C' || !isModifierKeyPressed) {
|
|
58
|
+
if (!((event.ctrlKey || event.metaKey) && event.key === 'c')) {
|
|
62
59
|
return;
|
|
63
60
|
}
|
|
64
61
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createSelector } from '../../../utils/createSelector';
|
|
1
|
+
import { createSelector, createSelectorMemoized } from '../../../utils/createSelector';
|
|
2
2
|
/**
|
|
3
3
|
* @category ColumnGrouping
|
|
4
4
|
* @ignore - do not document.
|
|
@@ -6,15 +6,15 @@ import { createSelector } from '../../../utils/createSelector';
|
|
|
6
6
|
export var gridColumnGroupingSelector = function gridColumnGroupingSelector(state) {
|
|
7
7
|
return state.columnGrouping;
|
|
8
8
|
};
|
|
9
|
-
export var gridColumnGroupsUnwrappedModelSelector =
|
|
9
|
+
export var gridColumnGroupsUnwrappedModelSelector = createSelectorMemoized(gridColumnGroupingSelector, function (columnGrouping) {
|
|
10
10
|
var _columnGrouping$unwra;
|
|
11
11
|
return (_columnGrouping$unwra = columnGrouping == null ? void 0 : columnGrouping.unwrappedGroupingModel) != null ? _columnGrouping$unwra : {};
|
|
12
12
|
});
|
|
13
|
-
export var gridColumnGroupsLookupSelector =
|
|
13
|
+
export var gridColumnGroupsLookupSelector = createSelectorMemoized(gridColumnGroupingSelector, function (columnGrouping) {
|
|
14
14
|
var _columnGrouping$looku;
|
|
15
15
|
return (_columnGrouping$looku = columnGrouping == null ? void 0 : columnGrouping.lookup) != null ? _columnGrouping$looku : {};
|
|
16
16
|
});
|
|
17
|
-
export var gridColumnGroupsHeaderStructureSelector =
|
|
17
|
+
export var gridColumnGroupsHeaderStructureSelector = createSelectorMemoized(gridColumnGroupingSelector, function (columnGrouping) {
|
|
18
18
|
var _columnGrouping$heade;
|
|
19
19
|
return (_columnGrouping$heade = columnGrouping == null ? void 0 : columnGrouping.headerStructure) != null ? _columnGrouping$heade : [];
|
|
20
20
|
});
|
|
@@ -11,7 +11,7 @@ import { useGridApiEventHandler } from '../../utils/useGridApiEventHandler';
|
|
|
11
11
|
import { GridColumnHeaderItem } from '../../../components/columnHeaders/GridColumnHeaderItem';
|
|
12
12
|
import { getFirstColumnIndexToRender, getTotalHeaderHeight } from '../columns/gridColumnsUtils';
|
|
13
13
|
import { useGridVisibleRows } from '../../utils/useGridVisibleRows';
|
|
14
|
-
import { getRenderableIndexes } from '../virtualization/useGridVirtualScroller';
|
|
14
|
+
import { areRenderContextsEqual, getRenderableIndexes } from '../virtualization/useGridVirtualScroller';
|
|
15
15
|
import { GridColumnGroupHeader } from '../../../components/columnHeaders/GridColumnGroupHeader';
|
|
16
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
17
|
var GridColumnHeaderRow = styled('div', {
|
|
@@ -62,12 +62,18 @@ export var useGridColumnHeaders = function useGridColumnHeaders(props) {
|
|
|
62
62
|
var _React$useState5 = React.useState(null),
|
|
63
63
|
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
64
64
|
renderContext = _React$useState6[0],
|
|
65
|
-
|
|
65
|
+
setRenderContextRaw = _React$useState6[1];
|
|
66
66
|
var prevRenderContext = React.useRef(renderContext);
|
|
67
67
|
var prevScrollLeft = React.useRef(0);
|
|
68
68
|
var currentPage = useGridVisibleRows(apiRef, rootProps);
|
|
69
69
|
var totalHeaderHeight = getTotalHeaderHeight(apiRef, rootProps.columnHeaderHeight);
|
|
70
70
|
var headerHeight = Math.floor(rootProps.columnHeaderHeight * densityFactor);
|
|
71
|
+
var setRenderContext = React.useCallback(function (nextRenderContext) {
|
|
72
|
+
if (renderContext && nextRenderContext && areRenderContextsEqual(renderContext, nextRenderContext)) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
setRenderContextRaw(nextRenderContext);
|
|
76
|
+
}, [renderContext]);
|
|
71
77
|
React.useEffect(function () {
|
|
72
78
|
apiRef.current.columnHeadersContainerElementRef.current.scrollLeft = 0;
|
|
73
79
|
}, [apiRef]);
|
|
@@ -150,7 +156,7 @@ export var useGridColumnHeaders = function useGridColumnHeaders(props) {
|
|
|
150
156
|
if (nextRenderContext && canUpdateInnerPosition) {
|
|
151
157
|
updateInnerPosition(nextRenderContext);
|
|
152
158
|
}
|
|
153
|
-
}, [updateInnerPosition]);
|
|
159
|
+
}, [updateInnerPosition, setRenderContext]);
|
|
154
160
|
var handleColumnResizeStart = React.useCallback(function (params) {
|
|
155
161
|
return setResizeCol(params.field);
|
|
156
162
|
}, []);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createSelector } from '../../../utils/createSelector';
|
|
1
|
+
import { createSelector, createSelectorMemoized } from '../../../utils/createSelector';
|
|
2
2
|
/**
|
|
3
3
|
* Get the columns state
|
|
4
4
|
* @category Columns
|
|
@@ -27,7 +27,7 @@ export var gridColumnLookupSelector = createSelector(gridColumnsStateSelector, f
|
|
|
27
27
|
* Get an array of column definitions in the order rendered on screen..
|
|
28
28
|
* @category Columns
|
|
29
29
|
*/
|
|
30
|
-
export var gridColumnDefinitionsSelector =
|
|
30
|
+
export var gridColumnDefinitionsSelector = createSelectorMemoized(gridColumnFieldsSelector, gridColumnLookupSelector, function (allFields, lookup) {
|
|
31
31
|
return allFields.map(function (field) {
|
|
32
32
|
return lookup[field];
|
|
33
33
|
});
|
|
@@ -46,7 +46,7 @@ export var gridColumnVisibilityModelSelector = createSelector(gridColumnsStateSe
|
|
|
46
46
|
* Get the visible columns as a lookup (an object containing the field for keys and the definition for values).
|
|
47
47
|
* @category Visible Columns
|
|
48
48
|
*/
|
|
49
|
-
export var gridVisibleColumnDefinitionsSelector =
|
|
49
|
+
export var gridVisibleColumnDefinitionsSelector = createSelectorMemoized(gridColumnDefinitionsSelector, gridColumnVisibilityModelSelector, function (columns, columnVisibilityModel) {
|
|
50
50
|
return columns.filter(function (column) {
|
|
51
51
|
return columnVisibilityModel[column.field] !== false;
|
|
52
52
|
});
|
|
@@ -56,7 +56,7 @@ export var gridVisibleColumnDefinitionsSelector = createSelector(gridColumnDefin
|
|
|
56
56
|
* Get the field of each visible column.
|
|
57
57
|
* @category Visible Columns
|
|
58
58
|
*/
|
|
59
|
-
export var gridVisibleColumnFieldsSelector =
|
|
59
|
+
export var gridVisibleColumnFieldsSelector = createSelectorMemoized(gridVisibleColumnDefinitionsSelector, function (visibleColumns) {
|
|
60
60
|
return visibleColumns.map(function (column) {
|
|
61
61
|
return column.field;
|
|
62
62
|
});
|
|
@@ -66,7 +66,7 @@ export var gridVisibleColumnFieldsSelector = createSelector(gridVisibleColumnDef
|
|
|
66
66
|
* Get the left position in pixel of each visible columns relative to the left of the first column.
|
|
67
67
|
* @category Visible Columns
|
|
68
68
|
*/
|
|
69
|
-
export var gridColumnPositionsSelector =
|
|
69
|
+
export var gridColumnPositionsSelector = createSelectorMemoized(gridVisibleColumnDefinitionsSelector, function (visibleColumns) {
|
|
70
70
|
var positions = [];
|
|
71
71
|
var currentPosition = 0;
|
|
72
72
|
for (var i = 0; i < visibleColumns.length; i += 1) {
|
|
@@ -92,7 +92,7 @@ export var gridColumnsTotalWidthSelector = createSelector(gridVisibleColumnDefin
|
|
|
92
92
|
* Get the filterable columns as an array.
|
|
93
93
|
* @category Columns
|
|
94
94
|
*/
|
|
95
|
-
export var gridFilterableColumnDefinitionsSelector =
|
|
95
|
+
export var gridFilterableColumnDefinitionsSelector = createSelectorMemoized(gridColumnDefinitionsSelector, function (columns) {
|
|
96
96
|
return columns.filter(function (col) {
|
|
97
97
|
return col.filterable;
|
|
98
98
|
});
|
|
@@ -102,7 +102,7 @@ export var gridFilterableColumnDefinitionsSelector = createSelector(gridColumnDe
|
|
|
102
102
|
* Get the filterable columns as a lookup (an object containing the field for keys and the definition for values).
|
|
103
103
|
* @category Columns
|
|
104
104
|
*/
|
|
105
|
-
export var gridFilterableColumnLookupSelector =
|
|
105
|
+
export var gridFilterableColumnLookupSelector = createSelectorMemoized(gridColumnDefinitionsSelector, function (columns) {
|
|
106
106
|
return columns.reduce(function (acc, col) {
|
|
107
107
|
if (col.filterable) {
|
|
108
108
|
acc[col.field] = col;
|
|
@@ -162,22 +162,16 @@ export function useGridDimensions(apiRef, props) {
|
|
|
162
162
|
if (!mainEl) {
|
|
163
163
|
return;
|
|
164
164
|
}
|
|
165
|
-
var height = mainEl.clientHeight || 0;
|
|
166
|
-
var width = mainEl.clientWidth || 0;
|
|
167
165
|
var win = ownerWindow(mainEl);
|
|
168
166
|
var computedStyle = win.getComputedStyle(mainEl);
|
|
169
|
-
var
|
|
170
|
-
var
|
|
171
|
-
var
|
|
172
|
-
var
|
|
173
|
-
var newHeight = height - paddingTop - paddingBottom;
|
|
174
|
-
var newWidth = width - paddingLeft - paddingRight;
|
|
175
|
-
var hasHeightChanged = newHeight !== ((_previousSize$current = previousSize.current) == null ? void 0 : _previousSize$current.height);
|
|
176
|
-
var hasWidthChanged = newWidth !== ((_previousSize$current2 = previousSize.current) == null ? void 0 : _previousSize$current2.width);
|
|
167
|
+
var height = parseFloat(computedStyle.height) || 0;
|
|
168
|
+
var width = parseFloat(computedStyle.width) || 0;
|
|
169
|
+
var hasHeightChanged = height !== ((_previousSize$current = previousSize.current) == null ? void 0 : _previousSize$current.height);
|
|
170
|
+
var hasWidthChanged = width !== ((_previousSize$current2 = previousSize.current) == null ? void 0 : _previousSize$current2.width);
|
|
177
171
|
if (!previousSize.current || hasHeightChanged || hasWidthChanged) {
|
|
178
172
|
var size = {
|
|
179
|
-
width:
|
|
180
|
-
height:
|
|
173
|
+
width: width,
|
|
174
|
+
height: height
|
|
181
175
|
};
|
|
182
176
|
apiRef.current.publishEvent('resize', size);
|
|
183
177
|
previousSize.current = size;
|
|
@@ -18,7 +18,7 @@ import { buildWarning } from '../../../utils/warning';
|
|
|
18
18
|
import { gridRowsDataRowIdToIdLookupSelector } from '../rows/gridRowsSelector';
|
|
19
19
|
import { deepClone } from '../../../utils/utils';
|
|
20
20
|
import { GridCellEditStartReasons, GridCellEditStopReasons } from '../../../models/params/gridEditCellParams';
|
|
21
|
-
var missingOnProcessRowUpdateErrorWarning = buildWarning(['MUI: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, e.g. `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see http://mui.com/components/data-grid/editing/#persistence.'], 'error');
|
|
21
|
+
var missingOnProcessRowUpdateErrorWarning = buildWarning(['MUI: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, e.g. `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see http://mui.com/components/data-grid/editing/#server-side-persistence.'], 'error');
|
|
22
22
|
export var useGridCellEditing = function useGridCellEditing(apiRef, props) {
|
|
23
23
|
var _React$useState = React.useState({}),
|
|
24
24
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -128,7 +128,8 @@ export var useGridCellEditing = function useGridCellEditing(apiRef, props) {
|
|
|
128
128
|
var id = params.id,
|
|
129
129
|
field = params.field,
|
|
130
130
|
reason = params.reason,
|
|
131
|
-
key = params.key
|
|
131
|
+
key = params.key,
|
|
132
|
+
colDef = params.colDef;
|
|
132
133
|
var startCellEditModeParams = {
|
|
133
134
|
id: id,
|
|
134
135
|
field: field
|
|
@@ -139,7 +140,8 @@ export var useGridCellEditing = function useGridCellEditing(apiRef, props) {
|
|
|
139
140
|
// The sequence of events makes the key pressed by the end-users update the textbox directly.
|
|
140
141
|
startCellEditModeParams.deleteValue = true;
|
|
141
142
|
} else {
|
|
142
|
-
|
|
143
|
+
var initialValue = colDef.valueParser ? colDef.valueParser(key) : key;
|
|
144
|
+
startCellEditModeParams.initialValue = initialValue;
|
|
143
145
|
}
|
|
144
146
|
} else if (reason === GridCellEditStartReasons.deleteKeyDown) {
|
|
145
147
|
startCellEditModeParams.deleteValue = true;
|
|
@@ -17,7 +17,8 @@ import { buildWarning } from '../../../utils/warning';
|
|
|
17
17
|
import { gridRowsDataRowIdToIdLookupSelector } from '../rows/gridRowsSelector';
|
|
18
18
|
import { deepClone } from '../../../utils/utils';
|
|
19
19
|
import { GridRowEditStopReasons, GridRowEditStartReasons } from '../../../models/params/gridRowParams';
|
|
20
|
-
|
|
20
|
+
import { GRID_ACTIONS_COLUMN_TYPE } from '../../../colDef';
|
|
21
|
+
var missingOnProcessRowUpdateErrorWarning = buildWarning(['MUI: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, e.g. `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see http://mui.com/components/data-grid/editing/#server-side-persistence.'], 'error');
|
|
21
22
|
export var useGridRowEditing = function useGridRowEditing(apiRef, props) {
|
|
22
23
|
var _React$useState = React.useState({}),
|
|
23
24
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -120,6 +121,10 @@ export var useGridRowEditing = function useGridRowEditing(apiRef, props) {
|
|
|
120
121
|
reason = GridRowEditStopReasons.enterKeyDown;
|
|
121
122
|
} else if (event.key === 'Tab') {
|
|
122
123
|
var columnFields = gridColumnFieldsSelector(apiRef).filter(function (field) {
|
|
124
|
+
var column = apiRef.current.getColumn(field);
|
|
125
|
+
if (column.type === GRID_ACTIONS_COLUMN_TYPE) {
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
123
128
|
return apiRef.current.isCellEditable(apiRef.current.getCellParams(params.id, field));
|
|
124
129
|
});
|
|
125
130
|
if (event.shiftKey) {
|
|
@@ -144,8 +149,7 @@ export var useGridRowEditing = function useGridRowEditing(apiRef, props) {
|
|
|
144
149
|
}
|
|
145
150
|
}
|
|
146
151
|
if (reason) {
|
|
147
|
-
var
|
|
148
|
-
var newParams = _extends({}, rowParams, {
|
|
152
|
+
var newParams = _extends({}, apiRef.current.getRowParams(params.id), {
|
|
149
153
|
reason: reason,
|
|
150
154
|
field: params.field
|
|
151
155
|
});
|
|
@@ -172,8 +176,8 @@ export var useGridRowEditing = function useGridRowEditing(apiRef, props) {
|
|
|
172
176
|
_reason = GridRowEditStartReasons.deleteKeyDown;
|
|
173
177
|
}
|
|
174
178
|
if (_reason) {
|
|
175
|
-
var
|
|
176
|
-
var _newParams = _extends({},
|
|
179
|
+
var rowParams = apiRef.current.getRowParams(params.id);
|
|
180
|
+
var _newParams = _extends({}, rowParams, {
|
|
177
181
|
field: params.field,
|
|
178
182
|
key: event.key,
|
|
179
183
|
reason: _reason
|
|
@@ -186,7 +190,8 @@ export var useGridRowEditing = function useGridRowEditing(apiRef, props) {
|
|
|
186
190
|
var id = params.id,
|
|
187
191
|
field = params.field,
|
|
188
192
|
reason = params.reason,
|
|
189
|
-
key = params.key
|
|
193
|
+
key = params.key,
|
|
194
|
+
columns = params.columns;
|
|
190
195
|
var startRowEditModeParams = {
|
|
191
196
|
id: id,
|
|
192
197
|
fieldToFocus: field
|
|
@@ -197,7 +202,10 @@ export var useGridRowEditing = function useGridRowEditing(apiRef, props) {
|
|
|
197
202
|
// The sequence of events makes the key pressed by the end-users update the textbox directly.
|
|
198
203
|
startRowEditModeParams.deleteValue = !!field;
|
|
199
204
|
} else {
|
|
200
|
-
|
|
205
|
+
var colDef = columns.find(function (col) {
|
|
206
|
+
return col.field === field;
|
|
207
|
+
});
|
|
208
|
+
startRowEditModeParams.initialValue = colDef.valueParser ? colDef.valueParser(key) : key;
|
|
201
209
|
}
|
|
202
210
|
} else if (reason === GridRowEditStartReasons.deleteKeyDown) {
|
|
203
211
|
startRowEditModeParams.deleteValue = !!field;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createSelector } from '../../../utils/createSelector';
|
|
1
|
+
import { createSelector, createSelectorMemoized } from '../../../utils/createSelector';
|
|
2
2
|
import { gridSortedRowEntriesSelector } from '../sorting/gridSortingSelector';
|
|
3
3
|
import { gridColumnLookupSelector } from '../columns/gridColumnsSelector';
|
|
4
4
|
import { gridRowMaximumTreeDepthSelector, gridRowTreeSelector } from '../rows/gridRowsSelector';
|
|
@@ -55,7 +55,7 @@ export var gridFilteredDescendantCountLookupSelector = createSelector(gridFilter
|
|
|
55
55
|
* Does not contain the collapsed children.
|
|
56
56
|
* @category Filtering
|
|
57
57
|
*/
|
|
58
|
-
export var gridExpandedSortedRowEntriesSelector =
|
|
58
|
+
export var gridExpandedSortedRowEntriesSelector = createSelectorMemoized(gridVisibleRowsLookupSelector, gridSortedRowEntriesSelector, function (visibleRowsLookup, sortedRows) {
|
|
59
59
|
return sortedRows.filter(function (row) {
|
|
60
60
|
return visibleRowsLookup[row.id] !== false;
|
|
61
61
|
});
|
|
@@ -66,7 +66,7 @@ export var gridExpandedSortedRowEntriesSelector = createSelector(gridVisibleRows
|
|
|
66
66
|
* Does not contain the collapsed children.
|
|
67
67
|
* @category Filtering
|
|
68
68
|
*/
|
|
69
|
-
export var gridExpandedSortedRowIdsSelector =
|
|
69
|
+
export var gridExpandedSortedRowIdsSelector = createSelectorMemoized(gridExpandedSortedRowEntriesSelector, function (visibleSortedRowEntries) {
|
|
70
70
|
return visibleSortedRowEntries.map(function (row) {
|
|
71
71
|
return row.id;
|
|
72
72
|
});
|
|
@@ -77,7 +77,7 @@ export var gridExpandedSortedRowIdsSelector = createSelector(gridExpandedSortedR
|
|
|
77
77
|
* Contains the collapsed children.
|
|
78
78
|
* @category Filtering
|
|
79
79
|
*/
|
|
80
|
-
export var gridFilteredSortedRowEntriesSelector =
|
|
80
|
+
export var gridFilteredSortedRowEntriesSelector = createSelectorMemoized(gridFilteredRowsLookupSelector, gridSortedRowEntriesSelector, function (filteredRowsLookup, sortedRows) {
|
|
81
81
|
return sortedRows.filter(function (row) {
|
|
82
82
|
return filteredRowsLookup[row.id] !== false;
|
|
83
83
|
});
|
|
@@ -88,7 +88,7 @@ export var gridFilteredSortedRowEntriesSelector = createSelector(gridFilteredRow
|
|
|
88
88
|
* Contains the collapsed children.
|
|
89
89
|
* @category Filtering
|
|
90
90
|
*/
|
|
91
|
-
export var gridFilteredSortedRowIdsSelector =
|
|
91
|
+
export var gridFilteredSortedRowIdsSelector = createSelectorMemoized(gridFilteredSortedRowEntriesSelector, function (filteredSortedRowEntries) {
|
|
92
92
|
return filteredSortedRowEntries.map(function (row) {
|
|
93
93
|
return row.id;
|
|
94
94
|
});
|
|
@@ -98,7 +98,7 @@ export var gridFilteredSortedRowIdsSelector = createSelector(gridFilteredSortedR
|
|
|
98
98
|
* Get the id and the model of the top level rows accessible after the filtering process.
|
|
99
99
|
* @category Filtering
|
|
100
100
|
*/
|
|
101
|
-
export var gridFilteredSortedTopLevelRowEntriesSelector =
|
|
101
|
+
export var gridFilteredSortedTopLevelRowEntriesSelector = createSelectorMemoized(gridExpandedSortedRowEntriesSelector, gridRowTreeSelector, gridRowMaximumTreeDepthSelector, function (visibleSortedRows, rowTree, rowTreeDepth) {
|
|
102
102
|
if (rowTreeDepth < 2) {
|
|
103
103
|
return visibleSortedRows;
|
|
104
104
|
}
|
|
@@ -128,7 +128,7 @@ export var gridFilteredTopLevelRowCountSelector = createSelector(gridFilteredSor
|
|
|
128
128
|
* @category Filtering
|
|
129
129
|
* @ignore - do not document.
|
|
130
130
|
*/
|
|
131
|
-
export var gridFilterActiveItemsSelector =
|
|
131
|
+
export var gridFilterActiveItemsSelector = createSelectorMemoized(gridFilterModelSelector, gridColumnLookupSelector, function (filterModel, columnLookup) {
|
|
132
132
|
var _filterModel$items;
|
|
133
133
|
return (_filterModel$items = filterModel.items) == null ? void 0 : _filterModel$items.filter(function (item) {
|
|
134
134
|
var _column$filterOperato, _item$value;
|
|
@@ -152,7 +152,7 @@ export var gridFilterActiveItemsSelector = createSelector(gridFilterModelSelecto
|
|
|
152
152
|
* @category Filtering
|
|
153
153
|
* @ignore - do not document.
|
|
154
154
|
*/
|
|
155
|
-
export var gridFilterActiveItemsLookupSelector =
|
|
155
|
+
export var gridFilterActiveItemsLookupSelector = createSelectorMemoized(gridFilterActiveItemsSelector, function (activeFilters) {
|
|
156
156
|
var result = activeFilters.reduce(function (res, filterItem) {
|
|
157
157
|
if (!res[filterItem.field]) {
|
|
158
158
|
res[filterItem.field] = [filterItem];
|