@mui/x-data-grid 6.16.0 → 6.16.2
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 +165 -1
- package/DataGrid/DataGrid.d.ts +7 -0
- package/DataGrid/DataGrid.js +8 -1
- package/colDef/gridDateColDef.js +0 -4
- package/components/GridRow.js +7 -3
- package/components/cell/GridCell.js +7 -3
- package/components/containers/GridRootStyles.js +13 -0
- package/components/panel/filterPanel/GridFilterForm.d.ts +7 -0
- package/components/panel/filterPanel/GridFilterForm.js +8 -0
- package/components/panel/filterPanel/GridFilterPanel.d.ts +7 -0
- package/components/panel/filterPanel/GridFilterPanel.js +8 -0
- package/components/toolbar/GridToolbarQuickFilter.d.ts +8 -0
- package/components/toolbar/GridToolbarQuickFilter.js +9 -0
- package/components/virtualization/GridVirtualScroller.js +3 -1
- package/constants/gridClasses.d.ts +8 -0
- package/constants/gridClasses.js +1 -1
- package/hooks/features/columnGrouping/gridColumnGroupsUtils.d.ts +4 -1
- package/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
- package/hooks/features/columnGrouping/useGridColumnGrouping.js +12 -6
- package/hooks/features/columns/gridColumnsInterfaces.d.ts +1 -2
- package/hooks/features/columns/gridColumnsUtils.js +0 -1
- package/hooks/features/filter/gridFilterUtils.js +4 -4
- package/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
- package/index.js +1 -1
- package/legacy/DataGrid/DataGrid.js +8 -1
- package/legacy/colDef/gridDateColDef.js +0 -4
- package/legacy/components/GridRow.js +6 -2
- package/legacy/components/cell/GridCell.js +7 -3
- package/legacy/components/containers/GridRootStyles.js +15 -9
- package/legacy/components/panel/filterPanel/GridFilterForm.js +8 -0
- package/legacy/components/panel/filterPanel/GridFilterPanel.js +8 -0
- package/legacy/components/toolbar/GridToolbarQuickFilter.js +9 -0
- package/legacy/components/virtualization/GridVirtualScroller.js +3 -1
- package/legacy/constants/gridClasses.js +1 -1
- package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
- package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +12 -6
- package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -1
- package/legacy/hooks/features/filter/gridFilterUtils.js +4 -4
- package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
- package/legacy/index.js +1 -1
- package/legacy/locales/arSD.js +26 -28
- package/legacy/locales/roRO.js +1 -1
- package/locales/arSD.js +26 -28
- package/locales/roRO.js +1 -1
- package/models/events/gridEventLookup.d.ts +14 -0
- package/models/props/DataGridProps.d.ts +1 -1
- package/modern/DataGrid/DataGrid.js +8 -1
- package/modern/colDef/gridDateColDef.js +0 -4
- package/modern/components/GridRow.js +7 -3
- package/modern/components/cell/GridCell.js +6 -2
- package/modern/components/containers/GridRootStyles.js +13 -0
- package/modern/components/panel/filterPanel/GridFilterForm.js +8 -0
- package/modern/components/panel/filterPanel/GridFilterPanel.js +8 -0
- package/modern/components/toolbar/GridToolbarQuickFilter.js +9 -0
- package/modern/components/virtualization/GridVirtualScroller.js +3 -1
- package/modern/constants/gridClasses.js +1 -1
- package/modern/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
- package/modern/hooks/features/columnGrouping/useGridColumnGrouping.js +10 -3
- package/modern/hooks/features/columns/gridColumnsUtils.js +0 -1
- package/modern/hooks/features/filter/gridFilterUtils.js +4 -4
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
- package/modern/index.js +1 -1
- package/modern/locales/arSD.js +26 -28
- package/modern/locales/roRO.js +1 -1
- package/node/DataGrid/DataGrid.js +11 -7
- package/node/DataGrid/useDataGridProps.js +1 -2
- package/node/colDef/gridActionsColDef.js +3 -5
- package/node/colDef/gridBooleanColDef.js +2 -3
- package/node/colDef/gridCheckboxSelectionColDef.js +3 -5
- package/node/colDef/gridDateColDef.js +3 -9
- package/node/colDef/gridDefaultColumnTypes.js +1 -2
- package/node/colDef/gridNumericColDef.js +2 -3
- package/node/colDef/gridNumericOperators.js +1 -2
- package/node/colDef/gridSingleSelectColDef.js +2 -3
- package/node/colDef/gridStringColDef.js +2 -3
- package/node/colDef/gridStringOperators.js +1 -2
- package/node/colDef/utils.js +1 -2
- package/node/components/DataGridVirtualScroller.js +2 -3
- package/node/components/GridApiContext.js +1 -2
- package/node/components/GridColumnHeaders.js +1 -2
- package/node/components/GridFooter.js +1 -2
- package/node/components/GridLoadingOverlay.js +1 -2
- package/node/components/GridNoResultsOverlay.js +2 -3
- package/node/components/GridNoRowsOverlay.js +1 -2
- package/node/components/GridPagination.js +2 -3
- package/node/components/GridRow.js +8 -5
- package/node/components/GridRowCount.js +1 -2
- package/node/components/GridSelectedRowCount.js +1 -2
- package/node/components/cell/GridActionsCellItem.js +1 -2
- package/node/components/cell/GridBooleanCell.js +1 -2
- package/node/components/cell/GridCell.js +9 -8
- package/node/components/cell/GridEditInputCell.js +1 -2
- package/node/components/cell/GridEditSingleSelectCell.js +3 -2
- package/node/components/columnHeaders/ColumnHeaderMenuIcon.js +2 -3
- package/node/components/columnHeaders/GridBaseColumnHeaders.js +2 -3
- package/node/components/columnHeaders/GridColumnHeaderSeparator.js +2 -4
- package/node/components/columnHeaders/GridColumnHeaderSortIcon.js +1 -2
- package/node/components/columnHeaders/GridColumnHeadersInner.js +2 -3
- package/node/components/columnHeaders/GridGenericColumnHeaderItem.js +2 -3
- package/node/components/columnHeaders/GridIconButtonContainer.js +2 -3
- package/node/components/columnSelection/GridCellCheckboxRenderer.js +2 -4
- package/node/components/columnSelection/GridHeaderCheckbox.js +1 -2
- package/node/components/containers/GridFooterContainer.js +1 -2
- package/node/components/containers/GridMainContainer.js +2 -3
- package/node/components/containers/GridOverlay.js +1 -2
- package/node/components/containers/GridRoot.js +1 -2
- package/node/components/containers/GridRootStyles.js +15 -3
- package/node/components/containers/GridToolbarContainer.js +1 -2
- package/node/components/menu/columnMenu/GridColumnMenu.js +4 -8
- package/node/components/menu/columnMenu/GridColumnMenuContainer.js +1 -2
- package/node/components/panel/GridPanel.js +2 -4
- package/node/components/panel/GridPanelWrapper.js +1 -2
- package/node/components/panel/GridPreferencesPanel.js +2 -3
- package/node/components/panel/filterPanel/GridFilterForm.js +15 -7
- package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +3 -2
- package/node/components/panel/filterPanel/GridFilterPanel.js +10 -3
- package/node/components/toolbar/GridToolbar.js +1 -2
- package/node/components/toolbar/GridToolbarColumnsButton.js +2 -3
- package/node/components/toolbar/GridToolbarDensitySelector.js +2 -3
- package/node/components/toolbar/GridToolbarExport.js +1 -2
- package/node/components/toolbar/GridToolbarExportContainer.js +2 -3
- package/node/components/toolbar/GridToolbarFilterButton.js +1 -2
- package/node/components/toolbar/GridToolbarQuickFilter.js +10 -1
- package/node/components/virtualization/GridVirtualScroller.js +5 -4
- package/node/components/virtualization/GridVirtualScrollerContent.js +2 -3
- package/node/components/virtualization/GridVirtualScrollerRenderZone.js +2 -3
- package/node/constants/defaultGridSlotsComponents.js +2 -3
- package/node/constants/envConstants.js +1 -2
- package/node/constants/gridClasses.js +1 -2
- package/node/constants/gridDetailPanelToggleField.js +1 -2
- package/node/constants/localeTextConstants.js +2 -3
- package/node/context/GridRootPropsContext.js +1 -2
- package/node/hooks/core/strategyProcessing/useGridStrategyProcessing.js +2 -4
- package/node/hooks/features/columnGrouping/gridColumnGroupsSelector.js +4 -8
- package/node/hooks/features/columnGrouping/gridColumnGroupsUtils.js +13 -2
- package/node/hooks/features/columnGrouping/useGridColumnGrouping.js +10 -3
- package/node/hooks/features/columns/gridColumnsSelector.js +11 -21
- package/node/hooks/features/columns/gridColumnsUtils.js +1 -3
- package/node/hooks/features/density/densitySelector.js +2 -4
- package/node/hooks/features/density/useGridDensity.js +2 -4
- package/node/hooks/features/filter/gridFilterSelector.js +14 -27
- package/node/hooks/features/filter/gridFilterUtils.js +4 -4
- package/node/hooks/features/focus/gridFocusStateSelector.js +8 -16
- package/node/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +2 -4
- package/node/hooks/features/pagination/gridPaginationSelector.js +8 -15
- package/node/hooks/features/pagination/gridPaginationUtils.js +1 -2
- package/node/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +2 -3
- package/node/hooks/features/rowSelection/gridRowSelectionSelector.js +4 -7
- package/node/hooks/features/rows/gridRowsSelector.js +14 -27
- package/node/hooks/features/rows/gridRowsUtils.js +2 -4
- package/node/hooks/features/sorting/gridSortingSelector.js +5 -9
- package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +2 -4
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +8 -2
- package/node/hooks/utils/useGridApiEventHandler.js +2 -4
- package/node/hooks/utils/useGridPrivateApiContext.js +1 -2
- package/node/hooks/utils/useGridSelector.js +1 -2
- package/node/index.js +1 -1
- package/node/joy/icons.js +30 -60
- package/node/joy/joySlots.js +1 -2
- package/node/locales/arSD.js +27 -30
- package/node/locales/beBY.js +1 -2
- package/node/locales/bgBG.js +1 -2
- package/node/locales/coreLocales.js +3 -5
- package/node/locales/csCZ.js +1 -2
- package/node/locales/daDK.js +1 -2
- package/node/locales/deDE.js +1 -2
- package/node/locales/elGR.js +1 -2
- package/node/locales/enUS.js +1 -2
- package/node/locales/esES.js +1 -2
- package/node/locales/faIR.js +1 -2
- package/node/locales/fiFI.js +1 -2
- package/node/locales/frFR.js +1 -2
- package/node/locales/heIL.js +1 -2
- package/node/locales/huHU.js +1 -2
- package/node/locales/itIT.js +1 -2
- package/node/locales/jaJP.js +1 -2
- package/node/locales/koKR.js +1 -2
- package/node/locales/nbNO.js +1 -2
- package/node/locales/nlNL.js +1 -2
- package/node/locales/plPL.js +1 -2
- package/node/locales/ptBR.js +1 -2
- package/node/locales/roRO.js +2 -3
- package/node/locales/ruRU.js +1 -2
- package/node/locales/skSK.js +1 -2
- package/node/locales/svSE.js +1 -2
- package/node/locales/trTR.js +1 -2
- package/node/locales/ukUA.js +1 -2
- package/node/locales/urPK.js +1 -2
- package/node/locales/viVN.js +1 -2
- package/node/locales/zhCN.js +1 -2
- package/node/locales/zhTW.js +1 -2
- package/node/material/icons/GridColumnUnsortedIcon.js +2 -3
- package/node/material/icons/index.js +29 -57
- package/node/material/index.js +1 -2
- package/node/models/gridEditRowModel.js +4 -7
- package/node/models/gridFilterItem.js +2 -3
- package/node/models/params/gridEditCellParams.js +3 -5
- package/node/models/params/gridRowParams.js +3 -5
- package/node/utils/keyboardUtils.js +3 -6
- package/package.json +3 -3
|
@@ -350,11 +350,17 @@ export const useGridVirtualScroller = props => {
|
|
|
350
350
|
}
|
|
351
351
|
return -1;
|
|
352
352
|
}, [cellFocus, currentPage.rows]);
|
|
353
|
-
useGridApiEventHandler(apiRef, '
|
|
353
|
+
useGridApiEventHandler(apiRef, 'rowMouseOver', (params, event) => {
|
|
354
354
|
var _params$id;
|
|
355
|
+
if (event.currentTarget.contains(event.relatedTarget)) {
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
355
358
|
setHoveredRowId((_params$id = params.id) != null ? _params$id : null);
|
|
356
359
|
});
|
|
357
|
-
useGridApiEventHandler(apiRef, '
|
|
360
|
+
useGridApiEventHandler(apiRef, 'rowMouseOut', (params, event) => {
|
|
361
|
+
if (event.currentTarget.contains(event.relatedTarget)) {
|
|
362
|
+
return;
|
|
363
|
+
}
|
|
358
364
|
setHoveredRowId(null);
|
|
359
365
|
});
|
|
360
366
|
const getRows = (params = {
|
package/index.js
CHANGED
|
@@ -27,6 +27,13 @@ var DataGridRaw = /*#__PURE__*/React.forwardRef(function DataGrid(inProps, ref)
|
|
|
27
27
|
}))
|
|
28
28
|
});
|
|
29
29
|
});
|
|
30
|
+
/**
|
|
31
|
+
* Demos:
|
|
32
|
+
* - [DataGrid](https://mui.com/x/react-data-grid/demo/)
|
|
33
|
+
*
|
|
34
|
+
* API:
|
|
35
|
+
* - [DataGrid API](https://mui.com/x/api/data-grid/data-grid/)
|
|
36
|
+
*/
|
|
30
37
|
export var DataGrid = /*#__PURE__*/React.memo(DataGridRaw);
|
|
31
38
|
|
|
32
39
|
/**
|
|
@@ -662,7 +669,7 @@ DataGridRaw.propTypes = {
|
|
|
662
669
|
/**
|
|
663
670
|
* If `true`, the grid will not use `valueFormatter` when exporting to CSV or copying to clipboard.
|
|
664
671
|
* If an object is provided, you can choose to ignore the `valueFormatter` for CSV export or clipboard export.
|
|
665
|
-
* @default
|
|
672
|
+
* @default false
|
|
666
673
|
*/
|
|
667
674
|
unstable_ignoreValueFormatterDuringExport: PropTypes.oneOfType([PropTypes.shape({
|
|
668
675
|
clipboardExport: PropTypes.bool,
|
|
@@ -48,8 +48,6 @@ export var GRID_DATE_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
|
|
|
48
48
|
valueFormatter: gridDateFormatter,
|
|
49
49
|
filterOperators: getGridDateOperators(),
|
|
50
50
|
renderEditCell: renderEditDateCell,
|
|
51
|
-
getApplyQuickFilterFn: undefined,
|
|
52
|
-
getApplyQuickFilterFnV7: undefined,
|
|
53
51
|
// @ts-ignore
|
|
54
52
|
pastedValueParser: function pastedValueParser(value) {
|
|
55
53
|
return new Date(value);
|
|
@@ -61,8 +59,6 @@ export var GRID_DATETIME_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
|
|
|
61
59
|
valueFormatter: gridDateTimeFormatter,
|
|
62
60
|
filterOperators: getGridDateOperators(true),
|
|
63
61
|
renderEditCell: renderEditDateCell,
|
|
64
|
-
getApplyQuickFilterFn: undefined,
|
|
65
|
-
getApplyQuickFilterFnV7: undefined,
|
|
66
62
|
// @ts-ignore
|
|
67
63
|
pastedValueParser: function pastedValueParser(value) {
|
|
68
64
|
return new Date(value);
|
|
@@ -2,7 +2,7 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
5
|
-
var _excluded = ["selected", "hovered", "rowId", "row", "index", "style", "position", "rowHeight", "className", "visibleColumns", "renderedColumns", "containerWidth", "firstColumnToRender", "lastColumnToRender", "isLastVisible", "focusedCellColumnIndexNotInRange", "isNotVisible", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave"];
|
|
5
|
+
var _excluded = ["selected", "hovered", "rowId", "row", "index", "style", "position", "rowHeight", "className", "visibleColumns", "renderedColumns", "containerWidth", "firstColumnToRender", "lastColumnToRender", "isLastVisible", "focusedCellColumnIndexNotInRange", "isNotVisible", "focusedCell", "tabbableCell", "onClick", "onDoubleClick", "onMouseEnter", "onMouseLeave", "onMouseOut", "onMouseOver"];
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
8
8
|
import clsx from 'clsx';
|
|
@@ -78,6 +78,8 @@ var GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
78
78
|
onDoubleClick = props.onDoubleClick,
|
|
79
79
|
onMouseEnter = props.onMouseEnter,
|
|
80
80
|
onMouseLeave = props.onMouseLeave,
|
|
81
|
+
onMouseOut = props.onMouseOut,
|
|
82
|
+
onMouseOver = props.onMouseOver,
|
|
81
83
|
other = _objectWithoutProperties(props, _excluded);
|
|
82
84
|
var apiRef = useGridApiContext();
|
|
83
85
|
var ref = React.useRef(null);
|
|
@@ -328,7 +330,9 @@ var GridRow = /*#__PURE__*/React.forwardRef(function GridRow(props, refProp) {
|
|
|
328
330
|
onClick: publishClick,
|
|
329
331
|
onDoubleClick: publish('rowDoubleClick', onDoubleClick),
|
|
330
332
|
onMouseEnter: publish('rowMouseEnter', onMouseEnter),
|
|
331
|
-
onMouseLeave: publish('rowMouseLeave', onMouseLeave)
|
|
333
|
+
onMouseLeave: publish('rowMouseLeave', onMouseLeave),
|
|
334
|
+
onMouseOut: publish('rowMouseOut', onMouseOut),
|
|
335
|
+
onMouseOver: publish('rowMouseOver', onMouseOver)
|
|
332
336
|
} : null;
|
|
333
337
|
return /*#__PURE__*/_jsxs("div", _extends({
|
|
334
338
|
ref: handleRef,
|
|
@@ -47,9 +47,10 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
|
47
47
|
showRightBorder = ownerState.showRightBorder,
|
|
48
48
|
isEditable = ownerState.isEditable,
|
|
49
49
|
isSelected = ownerState.isSelected,
|
|
50
|
+
isSelectionMode = ownerState.isSelectionMode,
|
|
50
51
|
classes = ownerState.classes;
|
|
51
52
|
var slots = {
|
|
52
|
-
root: ['cell', "cell--text".concat(capitalize(align)), isEditable && 'cell--editable', isSelected && 'selected', showRightBorder && 'cell--withRightBorder', 'withBorderColor'],
|
|
53
|
+
root: ['cell', "cell--text".concat(capitalize(align)), isEditable && 'cell--editable', isSelected && 'selected', showRightBorder && 'cell--withRightBorder', isSelectionMode && !isEditable && 'cell--selectionMode', 'withBorderColor'],
|
|
53
54
|
content: ['cellContent']
|
|
54
55
|
};
|
|
55
56
|
return composeClasses(slots, getDataGridUtilityClass, classes);
|
|
@@ -386,7 +387,7 @@ process.env.NODE_ENV !== "production" ? GridCell.propTypes = {
|
|
|
386
387
|
} : void 0;
|
|
387
388
|
export { MemoizedCellWrapper as GridCellWrapper, GridCell };
|
|
388
389
|
var GridCellV7 = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
389
|
-
var _rootProps$experiment3, _rootProps$experiment4;
|
|
390
|
+
var _rootProps$unstable_c, _rootProps$experiment3, _rootProps$experiment4;
|
|
390
391
|
var column = props.column,
|
|
391
392
|
rowId = props.rowId,
|
|
392
393
|
editCellState = props.editCellState,
|
|
@@ -460,12 +461,15 @@ var GridCellV7 = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
460
461
|
var cellRef = React.useRef(null);
|
|
461
462
|
var handleRef = useForkRef(ref, cellRef);
|
|
462
463
|
var focusElementRef = React.useRef(null);
|
|
464
|
+
// @ts-expect-error To access `unstable_cellSelection` flag as it's a `premium` feature
|
|
465
|
+
var isSelectionMode = (_rootProps$unstable_c = rootProps.unstable_cellSelection) != null ? _rootProps$unstable_c : false;
|
|
463
466
|
var ownerState = {
|
|
464
467
|
align: align,
|
|
465
468
|
showRightBorder: showRightBorder,
|
|
466
469
|
isEditable: isEditable,
|
|
467
470
|
classes: rootProps.classes,
|
|
468
|
-
isSelected: isSelected
|
|
471
|
+
isSelected: isSelected,
|
|
472
|
+
isSelectionMode: isSelectionMode
|
|
469
473
|
};
|
|
470
474
|
var classes = useUtilityClasses(ownerState);
|
|
471
475
|
var publishMouseUp = React.useCallback(function (eventName) {
|
|
@@ -27,12 +27,12 @@ export var GridRootStyles = styled('div', {
|
|
|
27
27
|
name: 'MuiDataGrid',
|
|
28
28
|
slot: 'Root',
|
|
29
29
|
overridesResolver: function overridesResolver(props, styles) {
|
|
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
|
|
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.autosizing), styles.autosizing), _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
|
|
31
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];
|
|
32
32
|
}
|
|
33
|
-
})(function (
|
|
34
|
-
var _mediaHoverHover, _mediaHoverNone, _$
|
|
35
|
-
var theme =
|
|
33
|
+
})(function (_ref61) {
|
|
34
|
+
var _$concat2, _mediaHoverHover, _mediaHoverNone, _$concat3, _extends2;
|
|
35
|
+
var theme = _ref61.theme;
|
|
36
36
|
var borderColor = getBorderColor(theme);
|
|
37
37
|
var radius = theme.shape.borderRadius;
|
|
38
38
|
var gridStyle = _extends({
|
|
@@ -61,7 +61,11 @@ export var GridRootStyles = styled('div', {
|
|
|
61
61
|
height: 'auto'
|
|
62
62
|
}, "& .".concat(gridClasses['row--lastVisible'], " .").concat(gridClasses.cell), {
|
|
63
63
|
borderBottomColor: 'transparent'
|
|
64
|
-
})), _defineProperty(_extends2, "
|
|
64
|
+
})), _defineProperty(_extends2, "&.".concat(gridClasses.autosizing), (_$concat2 = {}, _defineProperty(_$concat2, "& .".concat(gridClasses.columnHeaderTitleContainerContent, " > *"), {
|
|
65
|
+
overflow: 'visible !important'
|
|
66
|
+
}), _defineProperty(_$concat2, "& .".concat(gridClasses.cell, " > *"), {
|
|
67
|
+
overflow: 'visible !important'
|
|
68
|
+
}), _$concat2)), _defineProperty(_extends2, "& .".concat(gridClasses['virtualScrollerContent--overflowed'], " .").concat(gridClasses['row--lastVisible'], " .").concat(gridClasses.cell), {
|
|
65
69
|
borderBottomColor: 'transparent'
|
|
66
70
|
}), _defineProperty(_extends2, "& .".concat(gridClasses.columnHeader, ", & .").concat(gridClasses.cell), {
|
|
67
71
|
WebkitTapHighlightColor: 'transparent',
|
|
@@ -145,7 +149,7 @@ export var GridRootStyles = styled('div', {
|
|
|
145
149
|
left: -12
|
|
146
150
|
}), _defineProperty(_extends2, "& .".concat(gridClasses['columnSeparator--sideRight']), {
|
|
147
151
|
right: -12
|
|
148
|
-
}), _defineProperty(_extends2, "& .".concat(gridClasses['columnSeparator--resizable']), (_$
|
|
152
|
+
}), _defineProperty(_extends2, "& .".concat(gridClasses['columnSeparator--resizable']), (_$concat3 = {
|
|
149
153
|
cursor: 'col-resize',
|
|
150
154
|
touchAction: 'none',
|
|
151
155
|
'&:hover': {
|
|
@@ -155,11 +159,11 @@ export var GridRootStyles = styled('div', {
|
|
|
155
159
|
color: borderColor
|
|
156
160
|
}
|
|
157
161
|
}
|
|
158
|
-
}, _defineProperty(_$
|
|
162
|
+
}, _defineProperty(_$concat3, "&.".concat(gridClasses['columnSeparator--resizing']), {
|
|
159
163
|
color: (theme.vars || theme).palette.text.primary
|
|
160
|
-
}), _defineProperty(_$
|
|
164
|
+
}), _defineProperty(_$concat3, '& svg', {
|
|
161
165
|
pointerEvents: 'none'
|
|
162
|
-
}), _$
|
|
166
|
+
}), _$concat3)), _defineProperty(_extends2, "& .".concat(gridClasses.iconSeparator), {
|
|
163
167
|
color: 'inherit'
|
|
164
168
|
}), _defineProperty(_extends2, "& .".concat(gridClasses.menuIcon), {
|
|
165
169
|
width: 0,
|
|
@@ -215,6 +219,8 @@ export var GridRootStyles = styled('div', {
|
|
|
215
219
|
}), _defineProperty(_extends2, "& .".concat(gridClasses.cellContent), {
|
|
216
220
|
overflow: 'hidden',
|
|
217
221
|
textOverflow: 'ellipsis'
|
|
222
|
+
}), _defineProperty(_extends2, "& .".concat(gridClasses.cell, ".").concat(gridClasses['cell--selectionMode']), {
|
|
223
|
+
cursor: 'default'
|
|
218
224
|
}), _defineProperty(_extends2, "& .".concat(gridClasses.cell, ".").concat(gridClasses['cell--editing']), {
|
|
219
225
|
padding: 1,
|
|
220
226
|
display: 'flex',
|
|
@@ -468,4 +468,12 @@ process.env.NODE_ENV !== "production" ? GridFilterForm.propTypes = {
|
|
|
468
468
|
*/
|
|
469
469
|
valueInputProps: PropTypes.any
|
|
470
470
|
} : void 0;
|
|
471
|
+
|
|
472
|
+
/**
|
|
473
|
+
* Demos:
|
|
474
|
+
* - [Filtering - overview](https://mui.com/x/react-data-grid/filtering/)
|
|
475
|
+
*
|
|
476
|
+
* API:
|
|
477
|
+
* - [GridFilterForm API](https://mui.com/x/api/data-grid/grid-filter-form/)
|
|
478
|
+
*/
|
|
471
479
|
export { GridFilterForm };
|
|
@@ -224,4 +224,12 @@ process.env.NODE_ENV !== "production" ? GridFilterPanel.propTypes = {
|
|
|
224
224
|
*/
|
|
225
225
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
|
|
226
226
|
} : void 0;
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Demos:
|
|
230
|
+
* - [Filtering - overview](https://mui.com/x/react-data-grid/filtering/)
|
|
231
|
+
*
|
|
232
|
+
* API:
|
|
233
|
+
* - [GridFilterPanel API](https://mui.com/x/api/data-grid/grid-filter-panel/)
|
|
234
|
+
*/
|
|
227
235
|
export { GridFilterPanel, getGridFilter };
|
|
@@ -149,4 +149,13 @@ process.env.NODE_ENV !== "production" ? GridToolbarQuickFilter.propTypes = {
|
|
|
149
149
|
*/
|
|
150
150
|
quickFilterParser: PropTypes.func
|
|
151
151
|
} : void 0;
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Demos:
|
|
155
|
+
* - [Filtering - overview](https://mui.com/x/react-data-grid/filtering/)
|
|
156
|
+
* - [Filtering - quick filter](https://mui.com/x/react-data-grid/filtering/quick-filter/)
|
|
157
|
+
*
|
|
158
|
+
* API:
|
|
159
|
+
* - [GridToolbarQuickFilter API](https://mui.com/x/api/data-grid/grid-toolbar-quick-filter/)
|
|
160
|
+
*/
|
|
152
161
|
export { GridToolbarQuickFilter };
|
|
@@ -26,8 +26,10 @@ var VirtualScrollerRoot = styled('div', {
|
|
|
26
26
|
position: 'relative',
|
|
27
27
|
'@media print': {
|
|
28
28
|
overflow: 'hidden'
|
|
29
|
-
}
|
|
29
|
+
},
|
|
30
|
+
zIndex: 0 // See https://github.com/mui/mui-x/issues/10547
|
|
30
31
|
});
|
|
32
|
+
|
|
31
33
|
var GridVirtualScroller = /*#__PURE__*/React.forwardRef(function GridVirtualScroller(props, ref) {
|
|
32
34
|
var rootProps = useGridRootProps();
|
|
33
35
|
var classes = useUtilityClasses(rootProps);
|
|
@@ -2,4 +2,4 @@ import { unstable_generateUtilityClasses as generateUtilityClasses, unstable_gen
|
|
|
2
2
|
export function getDataGridUtilityClass(slot) {
|
|
3
3
|
return generateUtilityClass('MuiDataGrid', slot);
|
|
4
4
|
}
|
|
5
|
-
export var gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell', 'cellContent', 'cellCheckbox', 'cellSkeleton', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumns--left', 'pinnedColumns--right', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withBorderColor', 'cell--withRightBorder', 'columnHeader--withRightBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
5
|
+
export var gridClasses = generateUtilityClasses('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--withRenderer', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--selectionMode', 'cell', 'cellContent', 'cellCheckbox', 'cellSkeleton', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderDropZone', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnGroupHeader', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeader--showColumnBorder', 'columnHeaders', 'columnHeadersInner', 'columnHeadersInner--scrollable', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsPanel', 'columnsPanelRow', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'pinnedColumns--left', 'pinnedColumns--right', 'pinnedColumnHeaders', 'pinnedColumnHeaders--left', 'pinnedColumnHeaders--right', 'withBorderColor', 'cell--withRightBorder', 'columnHeader--withRightBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
@@ -33,7 +33,7 @@ export var unwrapGroupingColumnModel = function unwrapGroupingColumnModel(column
|
|
|
33
33
|
});
|
|
34
34
|
return unwrappedSubTree;
|
|
35
35
|
};
|
|
36
|
-
export var getColumnGroupsHeaderStructure = function getColumnGroupsHeaderStructure(orderedColumns, unwrappedGroupingModel) {
|
|
36
|
+
export var getColumnGroupsHeaderStructure = function getColumnGroupsHeaderStructure(orderedColumns, unwrappedGroupingModel, pinnedFields) {
|
|
37
37
|
var getParents = function getParents(field) {
|
|
38
38
|
var _unwrappedGroupingMod;
|
|
39
39
|
return (_unwrappedGroupingMod = unwrappedGroupingModel[field]) != null ? _unwrappedGroupingMod : [];
|
|
@@ -45,6 +45,15 @@ export var getColumnGroupsHeaderStructure = function getColumnGroupsHeaderStruct
|
|
|
45
45
|
var haveSameParents = function haveSameParents(field1, field2, depth) {
|
|
46
46
|
return isDeepEqual(getParents(field1).slice(0, depth + 1), getParents(field2).slice(0, depth + 1));
|
|
47
47
|
};
|
|
48
|
+
var haveDifferentContainers = function haveDifferentContainers(field1, field2) {
|
|
49
|
+
if (pinnedFields != null && pinnedFields.left && pinnedFields.left.includes(field1) && !pinnedFields.left.includes(field2)) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
if (pinnedFields != null && pinnedFields.right && !pinnedFields.right.includes(field1) && pinnedFields.right.includes(field2)) {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
};
|
|
48
57
|
var _loop = function _loop(depth) {
|
|
49
58
|
var depthStructure = orderedColumns.reduce(function (structure, newField) {
|
|
50
59
|
var _getParents$depth;
|
|
@@ -58,7 +67,9 @@ export var getColumnGroupsHeaderStructure = function getColumnGroupsHeaderStruct
|
|
|
58
67
|
var lastGroup = structure[structure.length - 1];
|
|
59
68
|
var prevField = lastGroup.columnFields[lastGroup.columnFields.length - 1];
|
|
60
69
|
var prevGroupId = lastGroup.groupId;
|
|
61
|
-
if (prevGroupId !== groupId || !haveSameParents(prevField, newField, depth)
|
|
70
|
+
if (prevGroupId !== groupId || !haveSameParents(prevField, newField, depth) ||
|
|
71
|
+
// Fix for https://github.com/mui/mui-x/issues/7041
|
|
72
|
+
haveDifferentContainers(prevField, newField)) {
|
|
62
73
|
// It's a new group
|
|
63
74
|
return [].concat(_toConsumableArray(structure), [{
|
|
64
75
|
columnFields: [newField],
|
|
@@ -37,7 +37,7 @@ var createGroupLookup = function createGroupLookup(columnGroupingModel) {
|
|
|
37
37
|
return _extends({}, groupLookup);
|
|
38
38
|
};
|
|
39
39
|
export var columnGroupsStateInitializer = function columnGroupsStateInitializer(state, props, apiRef) {
|
|
40
|
-
var _props$experimentalFe, _props$columnGrouping, _props$columnGrouping2;
|
|
40
|
+
var _props$experimentalFe, _props$columnGrouping, _props$columnGrouping2, _apiRef$current$state;
|
|
41
41
|
if (!((_props$experimentalFe = props.experimentalFeatures) != null && _props$experimentalFe.columnGrouping)) {
|
|
42
42
|
return state;
|
|
43
43
|
}
|
|
@@ -45,7 +45,8 @@ export var columnGroupsStateInitializer = function columnGroupsStateInitializer(
|
|
|
45
45
|
var visibleColumnFields = gridVisibleColumnFieldsSelector(apiRef);
|
|
46
46
|
var groupLookup = createGroupLookup((_props$columnGrouping = props.columnGroupingModel) != null ? _props$columnGrouping : []);
|
|
47
47
|
var unwrappedGroupingModel = unwrapGroupingColumnModel((_props$columnGrouping2 = props.columnGroupingModel) != null ? _props$columnGrouping2 : []);
|
|
48
|
-
var columnGroupsHeaderStructure = getColumnGroupsHeaderStructure(columnFields, unwrappedGroupingModel
|
|
48
|
+
var columnGroupsHeaderStructure = getColumnGroupsHeaderStructure(columnFields, unwrappedGroupingModel, // @ts-expect-error Move this part to `Pro` package
|
|
49
|
+
(_apiRef$current$state = apiRef.current.state.pinnedColumns) != null ? _apiRef$current$state : {});
|
|
49
50
|
var maxDepth = visibleColumnFields.length === 0 ? 0 : Math.max.apply(Math, _toConsumableArray(visibleColumnFields.map(function (field) {
|
|
50
51
|
var _unwrappedGroupingMod, _unwrappedGroupingMod2;
|
|
51
52
|
return (_unwrappedGroupingMod = (_unwrappedGroupingMod2 = unwrappedGroupingModel[field]) == null ? void 0 : _unwrappedGroupingMod2.length) != null ? _unwrappedGroupingMod : 0;
|
|
@@ -87,9 +88,12 @@ export var useGridColumnGrouping = function useGridColumnGrouping(apiRef, props)
|
|
|
87
88
|
var _props$columnGrouping3;
|
|
88
89
|
var unwrappedGroupingModel = unwrapGroupingColumnModel((_props$columnGrouping3 = props.columnGroupingModel) != null ? _props$columnGrouping3 : []);
|
|
89
90
|
apiRef.current.setState(function (state) {
|
|
90
|
-
var _state$columns$ordere, _state$columns;
|
|
91
|
+
var _state$columns$ordere, _state$columns, _state$pinnedColumns;
|
|
91
92
|
var orderedFields = (_state$columns$ordere = (_state$columns = state.columns) == null ? void 0 : _state$columns.orderedFields) != null ? _state$columns$ordere : [];
|
|
92
|
-
|
|
93
|
+
|
|
94
|
+
// @ts-expect-error Move this logic to `Pro` package
|
|
95
|
+
var pinnedColumns = (_state$pinnedColumns = state.pinnedColumns) != null ? _state$pinnedColumns : {};
|
|
96
|
+
var columnGroupsHeaderStructure = getColumnGroupsHeaderStructure(orderedFields, unwrappedGroupingModel, pinnedColumns);
|
|
93
97
|
return _extends({}, state, {
|
|
94
98
|
columnGrouping: _extends({}, state.columnGrouping, {
|
|
95
99
|
headerStructure: columnGroupsHeaderStructure
|
|
@@ -98,15 +102,17 @@ export var useGridColumnGrouping = function useGridColumnGrouping(apiRef, props)
|
|
|
98
102
|
});
|
|
99
103
|
}, [apiRef, props.columnGroupingModel]);
|
|
100
104
|
var updateColumnGroupingState = React.useCallback(function (columnGroupingModel) {
|
|
101
|
-
var _props$experimentalFe2;
|
|
105
|
+
var _props$experimentalFe2, _apiRef$current$getPi, _apiRef$current$getPi2, _apiRef$current;
|
|
102
106
|
if (!((_props$experimentalFe2 = props.experimentalFeatures) != null && _props$experimentalFe2.columnGrouping)) {
|
|
103
107
|
return;
|
|
104
108
|
}
|
|
109
|
+
// @ts-expect-error Move this logic to `Pro` package
|
|
110
|
+
var pinnedColumns = (_apiRef$current$getPi = (_apiRef$current$getPi2 = (_apiRef$current = apiRef.current).getPinnedColumns) == null ? void 0 : _apiRef$current$getPi2.call(_apiRef$current)) != null ? _apiRef$current$getPi : {};
|
|
105
111
|
var columnFields = gridColumnFieldsSelector(apiRef);
|
|
106
112
|
var visibleColumnFields = gridVisibleColumnFieldsSelector(apiRef);
|
|
107
113
|
var groupLookup = createGroupLookup(columnGroupingModel != null ? columnGroupingModel : []);
|
|
108
114
|
var unwrappedGroupingModel = unwrapGroupingColumnModel(columnGroupingModel != null ? columnGroupingModel : []);
|
|
109
|
-
var columnGroupsHeaderStructure = getColumnGroupsHeaderStructure(columnFields, unwrappedGroupingModel);
|
|
115
|
+
var columnGroupsHeaderStructure = getColumnGroupsHeaderStructure(columnFields, unwrappedGroupingModel, pinnedColumns);
|
|
110
116
|
var maxDepth = visibleColumnFields.length === 0 ? 0 : Math.max.apply(Math, _toConsumableArray(visibleColumnFields.map(function (field) {
|
|
111
117
|
var _unwrappedGroupingMod4, _unwrappedGroupingMod5;
|
|
112
118
|
return (_unwrappedGroupingMod4 = (_unwrappedGroupingMod5 = unwrappedGroupingModel[field]) == null ? void 0 : _unwrappedGroupingMod5.length) != null ? _unwrappedGroupingMod4 : 0;
|
|
@@ -54,7 +54,6 @@ export function computeFlexColumnsWidth(_ref) {
|
|
|
54
54
|
for (var i = 0; i < flexColumns.length; i += 1) {
|
|
55
55
|
var column = flexColumns[i];
|
|
56
56
|
if (flexColumnsLookup.all[column.field] && flexColumnsLookup.all[column.field].frozen === true) {
|
|
57
|
-
// eslint-disable-next-line no-continue
|
|
58
57
|
continue;
|
|
59
58
|
}
|
|
60
59
|
|
|
@@ -177,14 +177,14 @@ export var buildAggregatedFilterItemsApplier = function buildAggregatedFilterIte
|
|
|
177
177
|
|
|
178
178
|
// We generate a new function with `eval()` to avoid expensive patterns for JS engines
|
|
179
179
|
// such as a dynamic object assignment, e.g. `{ [dynamicKey]: value }`.
|
|
180
|
-
var filterItemTemplate = "(function filterItem$$(appliers, row, shouldApplyFilter) {\n ".concat(appliers.map(function (applier, i) {
|
|
180
|
+
var filterItemTemplate = "(function filterItem$$(getRowId, appliers, row, shouldApplyFilter) {\n ".concat(appliers.map(function (applier, i) {
|
|
181
181
|
return "const shouldApply".concat(i, " = !shouldApplyFilter || shouldApplyFilter(").concat(JSON.stringify(applier.item.field), ");");
|
|
182
182
|
}).join('\n'), "\n\n const result$$ = {\n ").concat(appliers.map(function (applier, i) {
|
|
183
183
|
return "".concat(JSON.stringify(String(applier.item.id)), ":\n !shouldApply").concat(i, " ?\n false :\n ").concat(applier.v7 ? "appliers[".concat(i, "].fn(row)") : "appliers[".concat(i, "].fn(").concat(getRowId ? 'getRowId(row)' : 'row.id', ")"), ",\n ");
|
|
184
184
|
}).join('\n'), "};\n\n return result$$;\n })");
|
|
185
185
|
var filterItemCore = evalCode(filterItemTemplate.replaceAll('$$', String(filterItemsApplierId)));
|
|
186
186
|
var filterItem = function filterItem(row, shouldApplyItem) {
|
|
187
|
-
return filterItemCore(appliers, row, shouldApplyItem);
|
|
187
|
+
return filterItemCore(getRowId, appliers, row, shouldApplyItem);
|
|
188
188
|
};
|
|
189
189
|
filterItemsApplierId += 1;
|
|
190
190
|
return filterItem;
|
|
@@ -238,7 +238,7 @@ export var buildAggregatedQuickFilterApplier = function buildAggregatedQuickFilt
|
|
|
238
238
|
var result = {};
|
|
239
239
|
var usedCellParams = {};
|
|
240
240
|
|
|
241
|
-
/* eslint-disable no-restricted-syntax, no-labels
|
|
241
|
+
/* eslint-disable no-restricted-syntax, no-labels */
|
|
242
242
|
outer: for (var v = 0; v < quickFilterValues.length; v += 1) {
|
|
243
243
|
var filterValue = quickFilterValues[v];
|
|
244
244
|
for (var i = 0; i < appliersPerField.length; i += 1) {
|
|
@@ -273,7 +273,7 @@ export var buildAggregatedQuickFilterApplier = function buildAggregatedQuickFilt
|
|
|
273
273
|
}
|
|
274
274
|
result[filterValue] = false;
|
|
275
275
|
}
|
|
276
|
-
/* eslint-enable no-restricted-syntax, no-labels
|
|
276
|
+
/* eslint-enable no-restricted-syntax, no-labels */
|
|
277
277
|
|
|
278
278
|
return result;
|
|
279
279
|
};
|
|
@@ -376,11 +376,17 @@ export var useGridVirtualScroller = function useGridVirtualScroller(props) {
|
|
|
376
376
|
}
|
|
377
377
|
return -1;
|
|
378
378
|
}, [cellFocus, currentPage.rows]);
|
|
379
|
-
useGridApiEventHandler(apiRef, '
|
|
379
|
+
useGridApiEventHandler(apiRef, 'rowMouseOver', function (params, event) {
|
|
380
380
|
var _params$id;
|
|
381
|
+
if (event.currentTarget.contains(event.relatedTarget)) {
|
|
382
|
+
return;
|
|
383
|
+
}
|
|
381
384
|
setHoveredRowId((_params$id = params.id) != null ? _params$id : null);
|
|
382
385
|
});
|
|
383
|
-
useGridApiEventHandler(apiRef, '
|
|
386
|
+
useGridApiEventHandler(apiRef, 'rowMouseOut', function (params, event) {
|
|
387
|
+
if (event.currentTarget.contains(event.relatedTarget)) {
|
|
388
|
+
return;
|
|
389
|
+
}
|
|
384
390
|
setHoveredRowId(null);
|
|
385
391
|
});
|
|
386
392
|
var getRows = function getRows() {
|
package/legacy/index.js
CHANGED
package/legacy/locales/arSD.js
CHANGED
|
@@ -39,7 +39,7 @@ var arSDGrid = {
|
|
|
39
39
|
columnsPanelHideAllButton: 'إخفاء الكل',
|
|
40
40
|
// Filter panel text
|
|
41
41
|
filterPanelAddFilter: 'إضافة مرشِح',
|
|
42
|
-
|
|
42
|
+
filterPanelRemoveAll: 'حذف الكل',
|
|
43
43
|
filterPanelDeleteIconLabel: 'حذف',
|
|
44
44
|
filterPanelLogicOperator: 'عامل منطقي',
|
|
45
45
|
filterPanelOperator: 'عامل',
|
|
@@ -62,34 +62,32 @@ var arSDGrid = {
|
|
|
62
62
|
filterOperatorIsEmpty: 'خالي',
|
|
63
63
|
filterOperatorIsNotEmpty: 'غير خالي',
|
|
64
64
|
filterOperatorIsAnyOf: 'أي من',
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
65
|
+
'filterOperator=': '=',
|
|
66
|
+
'filterOperator!=': '!=',
|
|
67
|
+
'filterOperator>': '>',
|
|
68
|
+
'filterOperator>=': '>=',
|
|
69
|
+
'filterOperator<': '<',
|
|
70
|
+
'filterOperator<=': '<=',
|
|
72
71
|
// Header filter operators text
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
72
|
+
headerFilterOperatorContains: 'يحتوي على',
|
|
73
|
+
headerFilterOperatorEquals: 'يساوي',
|
|
74
|
+
headerFilterOperatorStartsWith: 'يبدأ ب',
|
|
75
|
+
headerFilterOperatorEndsWith: 'ينتهي ب',
|
|
76
|
+
headerFilterOperatorIs: 'هو',
|
|
77
|
+
headerFilterOperatorNot: 'هو ليس',
|
|
78
|
+
headerFilterOperatorAfter: 'يقع بعد',
|
|
79
|
+
headerFilterOperatorOnOrAfter: 'هو على او بعد',
|
|
80
|
+
headerFilterOperatorBefore: 'يقع قبل',
|
|
81
|
+
headerFilterOperatorOnOrBefore: 'هو على او بعد',
|
|
82
|
+
headerFilterOperatorIsEmpty: 'هو فارغ',
|
|
83
|
+
headerFilterOperatorIsNotEmpty: 'هو ليس فارغ',
|
|
84
|
+
headerFilterOperatorIsAnyOf: 'هو أي من',
|
|
85
|
+
'headerFilterOperator=': 'يساوي',
|
|
86
|
+
'headerFilterOperator!=': 'لا يساوي',
|
|
87
|
+
'headerFilterOperator>': 'أكبر من',
|
|
88
|
+
'headerFilterOperator>=': 'أكبر من او يساوي',
|
|
89
|
+
'headerFilterOperator<': 'اصغر من',
|
|
90
|
+
'headerFilterOperator<=': 'اصغر من او يساوي',
|
|
93
91
|
// Filter values text
|
|
94
92
|
filterValueAny: 'أي',
|
|
95
93
|
filterValueTrue: 'صائب',
|
package/legacy/locales/roRO.js
CHANGED
|
@@ -76,7 +76,7 @@ var roROGrid = {
|
|
|
76
76
|
headerFilterOperatorIs: 'Este',
|
|
77
77
|
headerFilterOperatorNot: 'Nu este',
|
|
78
78
|
headerFilterOperatorAfter: 'Este după',
|
|
79
|
-
headerFilterOperatorOnOrAfter: 'Este la sau
|
|
79
|
+
headerFilterOperatorOnOrAfter: 'Este la sau după',
|
|
80
80
|
headerFilterOperatorBefore: 'Este înainte de',
|
|
81
81
|
headerFilterOperatorOnOrBefore: 'este la sau înainte de',
|
|
82
82
|
headerFilterOperatorIsEmpty: 'Este gol',
|
package/locales/arSD.js
CHANGED
|
@@ -37,7 +37,7 @@ const arSDGrid = {
|
|
|
37
37
|
columnsPanelHideAllButton: 'إخفاء الكل',
|
|
38
38
|
// Filter panel text
|
|
39
39
|
filterPanelAddFilter: 'إضافة مرشِح',
|
|
40
|
-
|
|
40
|
+
filterPanelRemoveAll: 'حذف الكل',
|
|
41
41
|
filterPanelDeleteIconLabel: 'حذف',
|
|
42
42
|
filterPanelLogicOperator: 'عامل منطقي',
|
|
43
43
|
filterPanelOperator: 'عامل',
|
|
@@ -60,34 +60,32 @@ const arSDGrid = {
|
|
|
60
60
|
filterOperatorIsEmpty: 'خالي',
|
|
61
61
|
filterOperatorIsNotEmpty: 'غير خالي',
|
|
62
62
|
filterOperatorIsAnyOf: 'أي من',
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
63
|
+
'filterOperator=': '=',
|
|
64
|
+
'filterOperator!=': '!=',
|
|
65
|
+
'filterOperator>': '>',
|
|
66
|
+
'filterOperator>=': '>=',
|
|
67
|
+
'filterOperator<': '<',
|
|
68
|
+
'filterOperator<=': '<=',
|
|
70
69
|
// Header filter operators text
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
70
|
+
headerFilterOperatorContains: 'يحتوي على',
|
|
71
|
+
headerFilterOperatorEquals: 'يساوي',
|
|
72
|
+
headerFilterOperatorStartsWith: 'يبدأ ب',
|
|
73
|
+
headerFilterOperatorEndsWith: 'ينتهي ب',
|
|
74
|
+
headerFilterOperatorIs: 'هو',
|
|
75
|
+
headerFilterOperatorNot: 'هو ليس',
|
|
76
|
+
headerFilterOperatorAfter: 'يقع بعد',
|
|
77
|
+
headerFilterOperatorOnOrAfter: 'هو على او بعد',
|
|
78
|
+
headerFilterOperatorBefore: 'يقع قبل',
|
|
79
|
+
headerFilterOperatorOnOrBefore: 'هو على او بعد',
|
|
80
|
+
headerFilterOperatorIsEmpty: 'هو فارغ',
|
|
81
|
+
headerFilterOperatorIsNotEmpty: 'هو ليس فارغ',
|
|
82
|
+
headerFilterOperatorIsAnyOf: 'هو أي من',
|
|
83
|
+
'headerFilterOperator=': 'يساوي',
|
|
84
|
+
'headerFilterOperator!=': 'لا يساوي',
|
|
85
|
+
'headerFilterOperator>': 'أكبر من',
|
|
86
|
+
'headerFilterOperator>=': 'أكبر من او يساوي',
|
|
87
|
+
'headerFilterOperator<': 'اصغر من',
|
|
88
|
+
'headerFilterOperator<=': 'اصغر من او يساوي',
|
|
91
89
|
// Filter values text
|
|
92
90
|
filterValueAny: 'أي',
|
|
93
91
|
filterValueTrue: 'صائب',
|