@mui/x-data-grid 7.1.0 → 7.2.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 +261 -4
- package/README.md +1 -1
- package/components/GridRow.js +3 -1
- package/components/cell/GridCell.d.ts +1 -0
- package/components/cell/GridCell.js +4 -3
- package/components/columnHeaders/GridColumnGroupHeader.d.ts +1 -0
- package/components/columnHeaders/GridColumnGroupHeader.js +3 -2
- package/components/columnHeaders/GridColumnHeaderItem.d.ts +1 -0
- package/components/columnHeaders/GridColumnHeaderItem.js +4 -2
- package/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
- package/components/containers/GridRootStyles.js +5 -3
- package/components/panel/filterPanel/GridFilterInputDate.js +5 -1
- package/components/virtualization/GridMainContainer.js +8 -1
- package/components/virtualization/GridTopContainer.js +1 -0
- package/constants/gridClasses.d.ts +5 -0
- package/constants/gridClasses.js +1 -1
- package/hooks/core/useGridInitialization.js +1 -1
- package/hooks/core/useGridStateInitialization.d.ts +1 -2
- package/hooks/core/useGridStateInitialization.js +6 -10
- package/hooks/features/columnHeaders/useGridColumnHeaders.js +7 -3
- package/hooks/features/editing/useGridCellEditing.js +3 -1
- package/hooks/features/editing/useGridRowEditing.js +3 -1
- package/hooks/features/export/serializers/csvSerializer.js +6 -5
- package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +2 -2
- package/hooks/features/headerFiltering/useGridHeaderFiltering.js +4 -7
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +2 -2
- package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +1 -3
- package/hooks/features/virtualization/useGridVirtualScroller.js +17 -6
- package/index.js +1 -1
- package/internals/index.d.ts +1 -1
- package/internals/utils/propValidation.d.ts +1 -0
- package/internals/utils/propValidation.js +9 -4
- package/locales/deDE.js +3 -4
- package/locales/esES.js +3 -4
- package/locales/faIR.js +3 -4
- package/locales/frFR.js +5 -6
- package/locales/ptBR.js +3 -4
- package/locales/svSE.js +3 -4
- package/models/api/gridCallbackDetails.d.ts +5 -0
- package/models/gridExport.d.ts +2 -2
- package/models/gridFilterModel.d.ts +3 -3
- package/models/params/gridCellParams.d.ts +0 -22
- package/models/props/DataGridProps.d.ts +19 -0
- package/modern/components/GridRow.js +3 -1
- package/modern/components/cell/GridCell.js +4 -3
- package/modern/components/columnHeaders/GridColumnGroupHeader.js +3 -2
- package/modern/components/columnHeaders/GridColumnHeaderItem.js +4 -2
- package/modern/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
- package/modern/components/containers/GridRootStyles.js +5 -3
- package/modern/components/panel/filterPanel/GridFilterInputDate.js +5 -1
- package/modern/components/virtualization/GridMainContainer.js +8 -1
- package/modern/components/virtualization/GridTopContainer.js +1 -0
- package/modern/constants/gridClasses.js +1 -1
- package/modern/hooks/core/useGridInitialization.js +1 -1
- package/modern/hooks/core/useGridStateInitialization.js +6 -10
- package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +7 -3
- package/modern/hooks/features/editing/useGridCellEditing.js +3 -1
- package/modern/hooks/features/editing/useGridRowEditing.js +3 -1
- package/modern/hooks/features/export/serializers/csvSerializer.js +6 -5
- package/modern/hooks/features/headerFiltering/useGridHeaderFiltering.js +4 -7
- package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +1 -3
- package/modern/hooks/features/virtualization/useGridVirtualScroller.js +17 -6
- package/modern/index.js +1 -1
- package/modern/internals/utils/propValidation.js +9 -4
- package/modern/locales/deDE.js +3 -4
- package/modern/locales/esES.js +3 -4
- package/modern/locales/faIR.js +3 -4
- package/modern/locales/frFR.js +5 -6
- package/modern/locales/ptBR.js +3 -4
- package/modern/locales/svSE.js +3 -4
- package/modern/utils/cellBorderUtils.js +15 -2
- package/node/components/GridRow.js +3 -1
- package/node/components/cell/GridCell.js +4 -3
- package/node/components/columnHeaders/GridColumnGroupHeader.js +3 -2
- package/node/components/columnHeaders/GridColumnHeaderItem.js +4 -2
- package/node/components/columnHeaders/GridColumnHeaderSeparator.js +1 -1
- package/node/components/containers/GridRootStyles.js +5 -3
- package/node/components/panel/filterPanel/GridFilterInputDate.js +5 -1
- package/node/components/virtualization/GridMainContainer.js +8 -1
- package/node/components/virtualization/GridTopContainer.js +1 -0
- package/node/constants/gridClasses.js +1 -1
- package/node/hooks/core/useGridInitialization.js +1 -1
- package/node/hooks/core/useGridStateInitialization.js +6 -10
- package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +7 -3
- package/node/hooks/features/editing/useGridCellEditing.js +3 -1
- package/node/hooks/features/editing/useGridRowEditing.js +3 -1
- package/node/hooks/features/export/serializers/csvSerializer.js +6 -5
- package/node/hooks/features/headerFiltering/useGridHeaderFiltering.js +4 -7
- package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +1 -3
- package/node/hooks/features/virtualization/useGridVirtualScroller.js +17 -6
- package/node/index.js +1 -1
- package/node/internals/utils/propValidation.js +12 -6
- package/node/locales/deDE.js +3 -4
- package/node/locales/esES.js +3 -4
- package/node/locales/faIR.js +3 -4
- package/node/locales/frFR.js +5 -6
- package/node/locales/ptBR.js +3 -4
- package/node/locales/svSE.js +3 -4
- package/node/utils/cellBorderUtils.js +15 -2
- package/package.json +2 -2
- package/themeAugmentation/overrides.d.ts +6 -0
- package/utils/cellBorderUtils.d.ts +1 -1
- package/utils/cellBorderUtils.js +15 -2
|
@@ -62,7 +62,8 @@ function GridColumnHeaderItem(props) {
|
|
|
62
62
|
style,
|
|
63
63
|
pinnedPosition,
|
|
64
64
|
indexInSection,
|
|
65
|
-
sectionLength
|
|
65
|
+
sectionLength,
|
|
66
|
+
gridHasFiller
|
|
66
67
|
} = props;
|
|
67
68
|
const apiRef = (0, _useGridPrivateApiContext.useGridPrivateApiContext)();
|
|
68
69
|
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
@@ -77,7 +78,7 @@ function GridColumnHeaderItem(props) {
|
|
|
77
78
|
headerComponent = colDef.renderHeader(apiRef.current.getColumnHeaderParams(colDef.field));
|
|
78
79
|
}
|
|
79
80
|
const showLeftBorder = (0, _cellBorderUtils.shouldCellShowLeftBorder)(pinnedPosition, indexInSection);
|
|
80
|
-
const showRightBorder = (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, indexInSection, sectionLength, rootProps.showCellVerticalBorder);
|
|
81
|
+
const showRightBorder = (0, _cellBorderUtils.shouldCellShowRightBorder)(pinnedPosition, indexInSection, sectionLength, rootProps.showCellVerticalBorder, gridHasFiller);
|
|
81
82
|
const ownerState = (0, _extends2.default)({}, props, {
|
|
82
83
|
classes: rootProps.classes,
|
|
83
84
|
showRightBorder,
|
|
@@ -209,6 +210,7 @@ process.env.NODE_ENV !== "production" ? GridColumnHeaderItem.propTypes = {
|
|
|
209
210
|
columnMenuOpen: _propTypes.default.bool.isRequired,
|
|
210
211
|
disableReorder: _propTypes.default.bool,
|
|
211
212
|
filterItemsCounter: _propTypes.default.number,
|
|
213
|
+
gridHasFiller: _propTypes.default.bool.isRequired,
|
|
212
214
|
hasFocus: _propTypes.default.bool,
|
|
213
215
|
headerHeight: _propTypes.default.number.isRequired,
|
|
214
216
|
indexInSection: _propTypes.default.number.isRequired,
|
|
@@ -57,7 +57,7 @@ function GridColumnHeaderSeparatorRaw(props) {
|
|
|
57
57
|
className: classes.root,
|
|
58
58
|
style: {
|
|
59
59
|
minHeight: height,
|
|
60
|
-
opacity: rootProps.showColumnVerticalBorder ?
|
|
60
|
+
opacity: rootProps.showColumnVerticalBorder ? 1 : 0
|
|
61
61
|
}
|
|
62
62
|
}, other, {
|
|
63
63
|
onClick: stopClick,
|
|
@@ -158,8 +158,8 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
158
158
|
}) => {
|
|
159
159
|
const borderColor = getBorderColor(t);
|
|
160
160
|
const radius = t.shape.borderRadius;
|
|
161
|
-
const containerBackground = t.vars ? t.vars.palette.background.default : t.palette.background.default;
|
|
162
|
-
const pinnedBackground = containerBackground;
|
|
161
|
+
const containerBackground = t.vars ? t.vars.palette.background.default : t.mixins.MuiDataGrid?.containerBackground ?? t.palette.background.default;
|
|
162
|
+
const pinnedBackground = t.mixins.MuiDataGrid?.pinnedBackground ?? containerBackground;
|
|
163
163
|
const overlayBackground = t.vars ? `rgba(${t.vars.palette.background.defaultChannel} / ${t.vars.palette.action.disabledOpacity})` : (0, _styles.alpha)(t.palette.background.default, t.palette.action.disabledOpacity);
|
|
164
164
|
const hoverOpacity = (t.vars || t).palette.action.hoverOpacity;
|
|
165
165
|
const hoverColor = (t.vars || t).palette.action.hover;
|
|
@@ -457,7 +457,6 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
457
457
|
userSelect: 'none'
|
|
458
458
|
},
|
|
459
459
|
[`& .${_gridClasses.gridClasses['row--dynamicHeight']} > .${_gridClasses.gridClasses.cell}`]: {
|
|
460
|
-
overflow: 'initial',
|
|
461
460
|
whiteSpace: 'initial',
|
|
462
461
|
lineHeight: 'inherit'
|
|
463
462
|
},
|
|
@@ -639,6 +638,9 @@ const GridRootStyles = exports.GridRootStyles = (0, _styles.styled)('div', {
|
|
|
639
638
|
},
|
|
640
639
|
[`& .${_gridClasses.gridClasses.filler}`]: {
|
|
641
640
|
flex: 1
|
|
641
|
+
},
|
|
642
|
+
[`& .${_gridClasses.gridClasses['filler--borderTop']}`]: {
|
|
643
|
+
borderTop: '1px solid var(--DataGrid-rowBorderColor)'
|
|
642
644
|
}
|
|
643
645
|
});
|
|
644
646
|
return gridStyle;
|
|
@@ -21,6 +21,9 @@ function convertFilterItemValueToInputValue(itemValue, inputType) {
|
|
|
21
21
|
return '';
|
|
22
22
|
}
|
|
23
23
|
const dateCopy = new Date(itemValue);
|
|
24
|
+
if (Number.isNaN(dateCopy.getTime())) {
|
|
25
|
+
return '';
|
|
26
|
+
}
|
|
24
27
|
// The date picker expects the date to be in the local timezone.
|
|
25
28
|
// But .toISOString() converts it to UTC with zero offset.
|
|
26
29
|
// So we need to subtract the timezone offset.
|
|
@@ -57,8 +60,9 @@ function GridFilterInputDate(props) {
|
|
|
57
60
|
setFilterValueState(value);
|
|
58
61
|
setIsApplying(true);
|
|
59
62
|
filterTimeout.start(rootProps.filterDebounceMs, () => {
|
|
63
|
+
const date = new Date(value);
|
|
60
64
|
applyValue((0, _extends2.default)({}, item, {
|
|
61
|
-
value:
|
|
65
|
+
value: Number.isNaN(date.getTime()) ? undefined : date
|
|
62
66
|
}));
|
|
63
67
|
setIsApplying(false);
|
|
64
68
|
});
|
|
@@ -8,19 +8,26 @@ exports.GridMainContainer = void 0;
|
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _system = require("@mui/system");
|
|
11
|
+
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
|
|
11
12
|
var _useGridAriaAttributes = require("../../hooks/utils/useGridAriaAttributes");
|
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
-
const Element = (0, _system.styled)('div'
|
|
16
|
+
const Element = (0, _system.styled)('div', {
|
|
17
|
+
name: 'MuiDataGrid',
|
|
18
|
+
slot: 'Main',
|
|
19
|
+
overridesResolver: (props, styles) => styles.main
|
|
20
|
+
})({
|
|
16
21
|
flexGrow: 1,
|
|
17
22
|
position: 'relative',
|
|
18
23
|
overflow: 'hidden'
|
|
19
24
|
});
|
|
20
25
|
const GridMainContainer = exports.GridMainContainer = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
21
26
|
const ariaAttributes = (0, _useGridAriaAttributes.useGridAriaAttributes)();
|
|
27
|
+
const rootProps = (0, _useGridRootProps.useGridRootProps)();
|
|
22
28
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Element, (0, _extends2.default)({
|
|
23
29
|
ref: ref,
|
|
30
|
+
ownerState: rootProps,
|
|
24
31
|
className: props.className,
|
|
25
32
|
tabIndex: -1
|
|
26
33
|
}, ariaAttributes, {
|
|
@@ -9,4 +9,4 @@ var _utils = require("@mui/utils");
|
|
|
9
9
|
function getDataGridUtilityClass(slot) {
|
|
10
10
|
return (0, _utils.unstable_generateUtilityClass)('MuiDataGrid', slot);
|
|
11
11
|
}
|
|
12
|
-
const gridClasses = exports.gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
12
|
+
const gridClasses = exports.gridClasses = (0, _utils.unstable_generateUtilityClasses)('MuiDataGrid', ['actionsCell', 'aggregationColumnHeader', 'aggregationColumnHeader--alignLeft', 'aggregationColumnHeader--alignCenter', 'aggregationColumnHeader--alignRight', 'aggregationColumnHeaderLabel', 'autoHeight', 'autosizing', 'booleanCell', 'cell--editable', 'cell--editing', 'cell--flex', 'cell--textCenter', 'cell--textLeft', 'cell--textRight', 'cell--rangeTop', 'cell--rangeBottom', 'cell--rangeLeft', 'cell--rangeRight', 'cell--pinnedLeft', 'cell--pinnedRight', 'cell--selectionMode', 'cell', 'cellCheckbox', 'cellEmpty', 'cellSkeleton', 'cellOffsetLeft', 'checkboxInput', 'columnHeader--alignCenter', 'columnHeader--alignLeft', 'columnHeader--alignRight', 'columnHeader--dragging', 'columnHeader--moving', 'columnHeader--numeric', 'columnHeader--sortable', 'columnHeader--sorted', 'columnHeader--filtered', 'columnHeader--pinnedLeft', 'columnHeader--pinnedRight', 'columnHeader', 'columnHeaderCheckbox', 'columnHeaderDraggableContainer', 'columnHeaderTitle', 'columnHeaderTitleContainer', 'columnHeaderTitleContainerContent', 'columnHeader--filledGroup', 'columnHeader--emptyGroup', 'columnHeaders', 'columnSeparator--resizable', 'columnSeparator--resizing', 'columnSeparator--sideLeft', 'columnSeparator--sideRight', 'columnSeparator', 'columnsManagement', 'columnsManagementRow', 'columnsManagementHeader', 'columnsManagementFooter', 'container--top', 'container--bottom', 'detailPanel', 'detailPanels', 'detailPanelToggleCell', 'detailPanelToggleCell--expanded', 'footerCell', 'panel', 'panelHeader', 'panelWrapper', 'panelContent', 'panelFooter', 'paper', 'editBooleanCell', 'editInputCell', 'filler', 'filler--borderTop', 'filler--pinnedLeft', 'filler--pinnedRight', 'filterForm', 'filterFormDeleteIcon', 'filterFormLogicOperatorInput', 'filterFormColumnInput', 'filterFormOperatorInput', 'filterFormValueInput', 'filterIcon', 'footerContainer', 'headerFilterRow', 'iconButtonContainer', 'iconSeparator', 'main', 'main--hasPinnedRight', 'menu', 'menuIcon', 'menuIconButton', 'menuOpen', 'menuList', 'overlay', 'overlayWrapper', 'overlayWrapperInner', 'root', 'root--densityStandard', 'root--densityComfortable', 'root--densityCompact', 'root--disableUserSelection', 'row', 'row--editable', 'row--editing', 'row--firstVisible', 'row--lastVisible', 'row--dragging', 'row--dynamicHeight', 'row--detailPanelExpanded', 'rowReorderCellPlaceholder', 'rowCount', 'rowReorderCellContainer', 'rowReorderCell', 'rowReorderCell--draggable', 'scrollArea--left', 'scrollArea--right', 'scrollArea', 'scrollbar', 'scrollbar--vertical', 'scrollbar--horizontal', 'scrollbarFiller', 'scrollbarFiller--header', 'scrollbarFiller--borderTop', 'scrollbarFiller--pinnedRight', 'selectedRowCount', 'sortIcon', 'toolbarContainer', 'toolbarFilterList', 'virtualScroller', 'virtualScrollerContent', 'virtualScrollerContent--overflowed', 'virtualScrollerRenderZone', 'pinnedColumns', 'withVerticalBorder', 'withBorderColor', 'cell--withRightBorder', 'cell--withLeftBorder', 'columnHeader--withRightBorder', 'columnHeader--withLeftBorder', 'treeDataGroupingCell', 'treeDataGroupingCellToggle', 'groupingCriteriaCell', 'groupingCriteriaCellToggle', 'pinnedRows', 'pinnedRows--top', 'pinnedRows--bottom', 'pinnedRowsRenderZone']);
|
|
@@ -20,7 +20,7 @@ const useGridInitialization = (inputApiRef, props) => {
|
|
|
20
20
|
(0, _useGridRefs.useGridRefs)(privateApiRef);
|
|
21
21
|
(0, _useGridTheme.useGridTheme)(privateApiRef);
|
|
22
22
|
(0, _useGridLoggerFactory.useGridLoggerFactory)(privateApiRef, props);
|
|
23
|
-
(0, _useGridStateInitialization.useGridStateInitialization)(privateApiRef
|
|
23
|
+
(0, _useGridStateInitialization.useGridStateInitialization)(privateApiRef);
|
|
24
24
|
(0, _pipeProcessing.useGridPipeProcessing)(privateApiRef);
|
|
25
25
|
(0, _strategyProcessing.useGridStrategyProcessing)(privateApiRef);
|
|
26
26
|
(0, _useGridLocaleText.useGridLocaleText)(privateApiRef, props);
|
|
@@ -7,12 +7,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.useGridStateInitialization = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
|
-
var _useGridApiEventHandler = require("../utils/useGridApiEventHandler");
|
|
11
10
|
var _utils = require("../utils");
|
|
12
11
|
var _utils2 = require("../../utils/utils");
|
|
13
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
13
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
|
-
const useGridStateInitialization =
|
|
14
|
+
const useGridStateInitialization = apiRef => {
|
|
16
15
|
const controlStateMapRef = React.useRef({});
|
|
17
16
|
const [, rawForceUpdate] = React.useState();
|
|
18
17
|
const registerControlState = React.useCallback(controlStateItem => {
|
|
@@ -71,13 +70,10 @@ const useGridStateInitialization = (apiRef, props) => {
|
|
|
71
70
|
const controlState = controlStateMapRef.current[stateId];
|
|
72
71
|
const model = controlState.stateSelector(newState, apiRef.current.instanceId);
|
|
73
72
|
if (controlState.propOnChange && hasPropChanged) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
}
|
|
78
|
-
reason
|
|
79
|
-
};
|
|
80
|
-
controlState.propOnChange(model, details);
|
|
73
|
+
controlState.propOnChange(model, {
|
|
74
|
+
reason,
|
|
75
|
+
api: apiRef.current
|
|
76
|
+
});
|
|
81
77
|
}
|
|
82
78
|
if (!ignoreSetState) {
|
|
83
79
|
apiRef.current.publishEvent(controlState.changeEvent, model, {
|
|
@@ -86,7 +82,7 @@ const useGridStateInitialization = (apiRef, props) => {
|
|
|
86
82
|
}
|
|
87
83
|
}
|
|
88
84
|
return !ignoreSetState;
|
|
89
|
-
}, [apiRef
|
|
85
|
+
}, [apiRef]);
|
|
90
86
|
const updateControlState = React.useCallback((key, state, reason) => {
|
|
91
87
|
return apiRef.current.setState(previousState => {
|
|
92
88
|
return (0, _extends2.default)({}, previousState, {
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.useGridColumnHeaders = exports.GridColumnHeaderRow = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
10
11
|
var _styles = require("@mui/material/styles");
|
|
11
12
|
var _utils = require("../../utils");
|
|
12
13
|
var _useGridRootProps = require("../../utils/useGridRootProps");
|
|
@@ -59,6 +60,7 @@ const useGridColumnHeaders = props => {
|
|
|
59
60
|
const renderContext = (0, _utils.useGridSelector)(apiRef, _virtualization.gridRenderContextColumnsSelector);
|
|
60
61
|
const pinnedColumns = (0, _utils.useGridSelector)(apiRef, _columns.gridVisiblePinnedColumnDefinitionsSelector);
|
|
61
62
|
const offsetLeft = (0, _useGridVirtualScroller.computeOffsetLeft)(columnPositions, renderContext, theme.direction, pinnedColumns.left.length);
|
|
63
|
+
const gridHasFiller = dimensions.columnsTotalWidth < dimensions.viewportOuterSize.width;
|
|
62
64
|
React.useEffect(() => {
|
|
63
65
|
apiRef.current.columnHeadersContainerRef.current.scrollLeft = 0;
|
|
64
66
|
}, [apiRef]);
|
|
@@ -112,7 +114,7 @@ const useGridColumnHeaders = props => {
|
|
|
112
114
|
}
|
|
113
115
|
}), children, isNotPinned && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
114
116
|
role: "presentation",
|
|
115
|
-
className: _gridClasses.gridClasses.filler
|
|
117
|
+
className: (0, _clsx.default)(_gridClasses.gridClasses.filler, borderTop && _gridClasses.gridClasses['filler--borderTop'])
|
|
116
118
|
}), hasScrollbarFiller && /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridScrollbarFillerCell.GridScrollbarFillerCell, {
|
|
117
119
|
header: true,
|
|
118
120
|
borderTop: borderTop,
|
|
@@ -173,7 +175,8 @@ const useGridColumnHeaders = props => {
|
|
|
173
175
|
pinnedPosition: pinnedPosition,
|
|
174
176
|
style: style,
|
|
175
177
|
indexInSection: i,
|
|
176
|
-
sectionLength: renderedColumns.length
|
|
178
|
+
sectionLength: renderedColumns.length,
|
|
179
|
+
gridHasFiller: gridHasFiller
|
|
177
180
|
}, other), colDef.field));
|
|
178
181
|
}
|
|
179
182
|
return getFillers(params, columns, 0);
|
|
@@ -283,7 +286,8 @@ const useGridColumnHeaders = props => {
|
|
|
283
286
|
pinnedPosition: pinnedPosition,
|
|
284
287
|
style: style,
|
|
285
288
|
indexInSection: indexInSection,
|
|
286
|
-
sectionLength: renderedColumns.length
|
|
289
|
+
sectionLength: renderedColumns.length,
|
|
290
|
+
gridHasFiller: gridHasFiller
|
|
287
291
|
}, index);
|
|
288
292
|
});
|
|
289
293
|
return getFillers(params, children, leftOverflow);
|
|
@@ -177,7 +177,9 @@ const useGridCellEditing = (apiRef, props) => {
|
|
|
177
177
|
const updateCellModesModel = (0, _utils.unstable_useEventCallback)(newModel => {
|
|
178
178
|
const isNewModelDifferentFromProp = newModel !== props.cellModesModel;
|
|
179
179
|
if (onCellModesModelChange && isNewModelDifferentFromProp) {
|
|
180
|
-
onCellModesModelChange(newModel, {
|
|
180
|
+
onCellModesModelChange(newModel, {
|
|
181
|
+
api: apiRef.current
|
|
182
|
+
});
|
|
181
183
|
}
|
|
182
184
|
if (props.cellModesModel && isNewModelDifferentFromProp) {
|
|
183
185
|
return; // The prop always win
|
|
@@ -251,7 +251,9 @@ const useGridRowEditing = (apiRef, props) => {
|
|
|
251
251
|
const updateRowModesModel = (0, _utils.unstable_useEventCallback)(newModel => {
|
|
252
252
|
const isNewModelDifferentFromProp = newModel !== props.rowModesModel;
|
|
253
253
|
if (onRowModesModelChange && isNewModelDifferentFromProp) {
|
|
254
|
-
onRowModesModelChange(newModel, {
|
|
254
|
+
onRowModesModelChange(newModel, {
|
|
255
|
+
api: apiRef.current
|
|
256
|
+
});
|
|
255
257
|
}
|
|
256
258
|
if (props.rowModesModel && isNewModelDifferentFromProp) {
|
|
257
259
|
return; // The prop always win
|
|
@@ -9,12 +9,13 @@ var _colDef = require("../../../../colDef");
|
|
|
9
9
|
var _warning = require("../../../../utils/warning");
|
|
10
10
|
function sanitizeCellValue(value, delimiterCharacter, shouldAppendQuotes) {
|
|
11
11
|
if (typeof value === 'string') {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
if (shouldAppendQuotes) {
|
|
13
|
+
const escapedValue = value.replace(/"/g, '""');
|
|
14
|
+
// Make sure value containing delimiter or line break won't be split into multiple rows
|
|
15
|
+
if ([delimiterCharacter, '\n', '\r', '"'].some(delimiter => value.includes(delimiter))) {
|
|
16
|
+
return `"${escapedValue}"`;
|
|
16
17
|
}
|
|
17
|
-
return
|
|
18
|
+
return escapedValue;
|
|
18
19
|
}
|
|
19
20
|
return value;
|
|
20
21
|
}
|
|
@@ -13,7 +13,6 @@ var _gridColumnsSelector = require("../columns/gridColumnsSelector");
|
|
|
13
13
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
14
14
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
15
15
|
const headerFilteringStateInitializer = (state, props) => (0, _extends2.default)({}, state, {
|
|
16
|
-
// @ts-expect-error Access `Pro` prop in MIT
|
|
17
16
|
headerFiltering: {
|
|
18
17
|
enabled: props.headerFilters ?? false,
|
|
19
18
|
editing: null,
|
|
@@ -23,8 +22,6 @@ const headerFilteringStateInitializer = (state, props) => (0, _extends2.default)
|
|
|
23
22
|
exports.headerFilteringStateInitializer = headerFilteringStateInitializer;
|
|
24
23
|
const useGridHeaderFiltering = (apiRef, props) => {
|
|
25
24
|
const logger = (0, _utils.useGridLogger)(apiRef, 'useGridHeaderFiltering');
|
|
26
|
-
// @ts-expect-error Access `Pro` prop in MIT
|
|
27
|
-
const isHeaderFilteringEnabled = props.headerFilters ?? false;
|
|
28
25
|
const setHeaderFilterState = React.useCallback(headerFilterState => {
|
|
29
26
|
apiRef.current.setState(state => {
|
|
30
27
|
// Safety check to avoid MIT users from using it
|
|
@@ -34,14 +31,14 @@ const useGridHeaderFiltering = (apiRef, props) => {
|
|
|
34
31
|
}
|
|
35
32
|
return (0, _extends2.default)({}, state, {
|
|
36
33
|
headerFiltering: {
|
|
37
|
-
enabled:
|
|
34
|
+
enabled: props.headerFilters ?? false,
|
|
38
35
|
editing: headerFilterState.editing ?? null,
|
|
39
36
|
menuOpen: headerFilterState.menuOpen ?? null
|
|
40
37
|
}
|
|
41
38
|
});
|
|
42
39
|
});
|
|
43
40
|
apiRef.current.forceUpdate();
|
|
44
|
-
}, [apiRef, props.signature,
|
|
41
|
+
}, [apiRef, props.signature, props.headerFilters]);
|
|
45
42
|
const startHeaderFilterEditMode = React.useCallback(field => {
|
|
46
43
|
logger.debug(`Starting edit mode on header filter for field: ${field}`);
|
|
47
44
|
apiRef.current.setHeaderFilterState({
|
|
@@ -112,9 +109,9 @@ const useGridHeaderFiltering = (apiRef, props) => {
|
|
|
112
109
|
isFirstRender.current = false;
|
|
113
110
|
} else {
|
|
114
111
|
apiRef.current.setHeaderFilterState({
|
|
115
|
-
enabled:
|
|
112
|
+
enabled: props.headerFilters ?? false
|
|
116
113
|
});
|
|
117
114
|
}
|
|
118
|
-
}, [apiRef,
|
|
115
|
+
}, [apiRef, props.headerFilters]);
|
|
119
116
|
};
|
|
120
117
|
exports.useGridHeaderFiltering = useGridHeaderFiltering;
|
|
@@ -77,9 +77,7 @@ const useGridKeyboardNavigation = (apiRef, props) => {
|
|
|
77
77
|
const initialCurrentPageRows = (0, _useGridVisibleRows.useGridVisibleRows)(apiRef, props).rows;
|
|
78
78
|
const theme = (0, _styles.useTheme)();
|
|
79
79
|
const currentPageRows = React.useMemo(() => enrichPageRowsWithPinnedRows(apiRef, initialCurrentPageRows), [apiRef, initialCurrentPageRows]);
|
|
80
|
-
const headerFilteringEnabled =
|
|
81
|
-
// @ts-expect-error // TODO move relevant code to the `DataGridPro`
|
|
82
|
-
props.signature !== 'DataGrid' && props.headerFilters;
|
|
80
|
+
const headerFilteringEnabled = props.signature !== 'DataGrid' && props.headerFilters;
|
|
83
81
|
|
|
84
82
|
/**
|
|
85
83
|
* @param {number} colIndex Index of the column to focus
|
|
@@ -50,9 +50,9 @@ const EMPTY_SCROLL_POSITION = {
|
|
|
50
50
|
left: 0
|
|
51
51
|
};
|
|
52
52
|
const EMPTY_DETAIL_PANELS = exports.EMPTY_DETAIL_PANELS = Object.freeze(new Map());
|
|
53
|
-
const createScrollCache = (rowBufferPx, columnBufferPx, verticalBuffer, horizontalBuffer) => ({
|
|
53
|
+
const createScrollCache = (mode, rowBufferPx, columnBufferPx, verticalBuffer, horizontalBuffer) => ({
|
|
54
54
|
direction: ScrollDirection.NONE,
|
|
55
|
-
buffer: bufferForDirection(ScrollDirection.NONE, rowBufferPx, columnBufferPx, verticalBuffer, horizontalBuffer)
|
|
55
|
+
buffer: bufferForDirection(mode, ScrollDirection.NONE, rowBufferPx, columnBufferPx, verticalBuffer, horizontalBuffer)
|
|
56
56
|
});
|
|
57
57
|
const isJSDOM = typeof window !== 'undefined' ? /jsdom/.test(window.navigator.userAgent) : false;
|
|
58
58
|
const useGridVirtualScroller = () => {
|
|
@@ -104,7 +104,7 @@ const useGridVirtualScroller = () => {
|
|
|
104
104
|
const renderContext = (0, _useGridSelector.useGridSelector)(apiRef, _gridVirtualizationSelectors.gridRenderContextSelector);
|
|
105
105
|
const scrollTimeout = (0, _useTimeout.default)();
|
|
106
106
|
const frozenContext = React.useRef(undefined);
|
|
107
|
-
const scrollCache = (0, _useLazyRef.default)(() => createScrollCache(rootProps.rowBufferPx, rootProps.columnBufferPx, dimensions.rowHeight * 15, MINIMUM_COLUMN_WIDTH * 6)).current;
|
|
107
|
+
const scrollCache = (0, _useLazyRef.default)(() => createScrollCache(theme.direction, rootProps.rowBufferPx, rootProps.columnBufferPx, dimensions.rowHeight * 15, MINIMUM_COLUMN_WIDTH * 6)).current;
|
|
108
108
|
const focusedCell = {
|
|
109
109
|
rowIndex: React.useMemo(() => cellFocus ? currentPage.rows.findIndex(row => row.id === cellFocus.id) : -1, [cellFocus, currentPage.rows]),
|
|
110
110
|
columnIndex: React.useMemo(() => cellFocus ? visibleColumns.findIndex(column => column.field === cellFocus.field) : -1, [cellFocus, visibleColumns])
|
|
@@ -169,7 +169,7 @@ const useGridVirtualScroller = () => {
|
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
scrollCache.direction = direction;
|
|
172
|
-
scrollCache.buffer = bufferForDirection(direction, rootProps.rowBufferPx, rootProps.columnBufferPx, dimensions.rowHeight * 15, MINIMUM_COLUMN_WIDTH * 6);
|
|
172
|
+
scrollCache.buffer = bufferForDirection(theme.direction, direction, rootProps.rowBufferPx, rootProps.columnBufferPx, dimensions.rowHeight * 15, MINIMUM_COLUMN_WIDTH * 6);
|
|
173
173
|
const inputs = inputsSelector(apiRef, rootProps, enabled, enabledForColumns);
|
|
174
174
|
const nextRenderContext = computeRenderContext(inputs, scrollPosition.current, scrollCache);
|
|
175
175
|
|
|
@@ -651,7 +651,7 @@ function areRenderContextsEqual(context1, context2) {
|
|
|
651
651
|
function computeOffsetLeft(columnPositions, renderContext, direction, pinnedLeftLength) {
|
|
652
652
|
const factor = direction === 'ltr' ? 1 : -1;
|
|
653
653
|
const left = factor * (columnPositions[renderContext.firstColumnIndex] ?? 0) - (columnPositions[pinnedLeftLength] ?? 0);
|
|
654
|
-
return left;
|
|
654
|
+
return Math.abs(left);
|
|
655
655
|
}
|
|
656
656
|
function directionForDelta(dx, dy) {
|
|
657
657
|
if (dx === 0 && dy === 0) {
|
|
@@ -673,7 +673,18 @@ function directionForDelta(dx, dy) {
|
|
|
673
673
|
}
|
|
674
674
|
/* eslint-enable */
|
|
675
675
|
}
|
|
676
|
-
function bufferForDirection(direction, rowBufferPx, columnBufferPx, verticalBuffer, horizontalBuffer) {
|
|
676
|
+
function bufferForDirection(mode, direction, rowBufferPx, columnBufferPx, verticalBuffer, horizontalBuffer) {
|
|
677
|
+
if (mode === 'rtl') {
|
|
678
|
+
switch (direction) {
|
|
679
|
+
case ScrollDirection.LEFT:
|
|
680
|
+
direction = ScrollDirection.RIGHT;
|
|
681
|
+
break;
|
|
682
|
+
case ScrollDirection.RIGHT:
|
|
683
|
+
direction = ScrollDirection.LEFT;
|
|
684
|
+
break;
|
|
685
|
+
default:
|
|
686
|
+
}
|
|
687
|
+
}
|
|
677
688
|
switch (direction) {
|
|
678
689
|
case ScrollDirection.NONE:
|
|
679
690
|
return {
|
package/node/index.js
CHANGED
|
@@ -3,13 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.validateProps = exports.propValidatorsDataGrid = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
exports.validateProps = exports.propValidatorsDataGrid = exports.clearWarningsCache = void 0;
|
|
7
|
+
var _utils = require("../../utils/utils");
|
|
8
|
+
var _useGridApiEventHandler = require("../../hooks/utils/useGridApiEventHandler");
|
|
9
|
+
const propValidatorsDataGrid = exports.propValidatorsDataGrid = [props => props.autoPageSize && props.autoHeight && ['MUI X: `<DataGrid autoPageSize={true} autoHeight={true} />` are not valid props.', 'You cannot use both the `autoPageSize` and `autoHeight` props at the same time because `autoHeight` scales the height of the Data Grid according to the `pageSize`.', '', 'Please remove one of these two props.'].join('\n') || undefined, props => props.signature === _useGridApiEventHandler.GridSignature.DataGrid && props.paginationMode === 'client' && (0, _utils.isNumber)(props.rowCount) && 'MUI X: Usage of the `rowCount` prop with client side pagination (`paginationMode="client"`) has no effect. `rowCount` is only meant to be used with `paginationMode="server"`.' || undefined];
|
|
10
|
+
const warnedOnceCache = new Set();
|
|
9
11
|
const warnOnce = message => {
|
|
10
|
-
if (!
|
|
12
|
+
if (!warnedOnceCache.has(message)) {
|
|
11
13
|
console.error(message);
|
|
12
|
-
|
|
14
|
+
warnedOnceCache.add(message);
|
|
13
15
|
}
|
|
14
16
|
};
|
|
15
17
|
const validateProps = (props, validators) => {
|
|
@@ -23,4 +25,8 @@ const validateProps = (props, validators) => {
|
|
|
23
25
|
}
|
|
24
26
|
});
|
|
25
27
|
};
|
|
26
|
-
exports.validateProps = validateProps;
|
|
28
|
+
exports.validateProps = validateProps;
|
|
29
|
+
const clearWarningsCache = () => {
|
|
30
|
+
warnedOnceCache.clear();
|
|
31
|
+
};
|
|
32
|
+
exports.clearWarningsCache = clearWarningsCache;
|
package/node/locales/deDE.js
CHANGED
|
@@ -36,10 +36,9 @@ const deDEGrid = {
|
|
|
36
36
|
toolbarExportPrint: 'Drucken',
|
|
37
37
|
toolbarExportExcel: 'Download als Excel',
|
|
38
38
|
// Columns management text
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
columnsManagementSearchTitle: 'Suche',
|
|
40
|
+
columnsManagementNoColumns: 'Keine Spalten',
|
|
41
|
+
columnsManagementShowHideAllText: 'Alle anzeigen/verbergen',
|
|
43
42
|
// Filter panel text
|
|
44
43
|
filterPanelAddFilter: 'Filter hinzufügen',
|
|
45
44
|
filterPanelRemoveAll: 'Alle entfernen',
|
package/node/locales/esES.js
CHANGED
|
@@ -36,10 +36,9 @@ const esESGrid = {
|
|
|
36
36
|
toolbarExportPrint: 'Imprimir',
|
|
37
37
|
toolbarExportExcel: 'Descargar como Excel',
|
|
38
38
|
// Columns management text
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
columnsManagementSearchTitle: 'Buscar',
|
|
40
|
+
columnsManagementNoColumns: 'Sin columnas',
|
|
41
|
+
columnsManagementShowHideAllText: 'Mostrar/Ocultar todas',
|
|
43
42
|
// Filter panel text
|
|
44
43
|
filterPanelAddFilter: 'Agregar filtro',
|
|
45
44
|
filterPanelRemoveAll: 'Remover todos',
|
package/node/locales/faIR.js
CHANGED
|
@@ -36,10 +36,9 @@ const faIRGrid = {
|
|
|
36
36
|
toolbarExportPrint: 'چاپ',
|
|
37
37
|
toolbarExportExcel: 'دانلود به صورت اکسل',
|
|
38
38
|
// Columns management text
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
columnsManagementSearchTitle: 'جستجو',
|
|
40
|
+
columnsManagementNoColumns: 'بدون سطر',
|
|
41
|
+
columnsManagementShowHideAllText: 'نمایش/مخفی کردن همه',
|
|
43
42
|
// Filter panel text
|
|
44
43
|
filterPanelAddFilter: 'افزودن فیلتر',
|
|
45
44
|
filterPanelRemoveAll: 'حذف همه',
|
package/node/locales/frFR.js
CHANGED
|
@@ -22,7 +22,7 @@ const frFRGrid = {
|
|
|
22
22
|
// Filters toolbar button text
|
|
23
23
|
toolbarFilters: 'Filtres',
|
|
24
24
|
toolbarFiltersLabel: 'Afficher les filtres',
|
|
25
|
-
toolbarFiltersTooltipHide: '
|
|
25
|
+
toolbarFiltersTooltipHide: 'Masquer les filtres',
|
|
26
26
|
toolbarFiltersTooltipShow: 'Afficher les filtres',
|
|
27
27
|
toolbarFiltersTooltipActive: count => count > 1 ? `${count} filtres actifs` : `${count} filtre actif`,
|
|
28
28
|
// Quick filter toolbar field
|
|
@@ -36,10 +36,9 @@ const frFRGrid = {
|
|
|
36
36
|
toolbarExportPrint: 'Imprimer',
|
|
37
37
|
toolbarExportExcel: 'Télécharger pour Excel',
|
|
38
38
|
// Columns management text
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
columnsManagementSearchTitle: 'Rechercher',
|
|
40
|
+
columnsManagementNoColumns: 'Pas de colonnes',
|
|
41
|
+
columnsManagementShowHideAllText: 'Afficher/masquer toutes',
|
|
43
42
|
// Filter panel text
|
|
44
43
|
filterPanelAddFilter: 'Ajouter un filtre',
|
|
45
44
|
filterPanelRemoveAll: 'Tout supprimer',
|
|
@@ -100,7 +99,7 @@ const frFRGrid = {
|
|
|
100
99
|
columnMenuShowColumns: 'Afficher les colonnes',
|
|
101
100
|
columnMenuManageColumns: 'Gérer les colonnes',
|
|
102
101
|
columnMenuFilter: 'Filtrer',
|
|
103
|
-
columnMenuHideColumn: '
|
|
102
|
+
columnMenuHideColumn: 'Masquer',
|
|
104
103
|
columnMenuUnsort: 'Annuler le tri',
|
|
105
104
|
columnMenuSortAsc: 'Tri ascendant',
|
|
106
105
|
columnMenuSortDesc: 'Tri descendant',
|
package/node/locales/ptBR.js
CHANGED
|
@@ -36,10 +36,9 @@ const ptBRGrid = {
|
|
|
36
36
|
toolbarExportPrint: 'Imprimir',
|
|
37
37
|
toolbarExportExcel: 'Baixar como Excel',
|
|
38
38
|
// Columns management text
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
columnsManagementSearchTitle: 'Buscar',
|
|
40
|
+
columnsManagementNoColumns: 'Nenhuma coluna',
|
|
41
|
+
columnsManagementShowHideAllText: 'Mostrar/Ocultar Todas',
|
|
43
42
|
// Filter panel text
|
|
44
43
|
filterPanelAddFilter: 'Adicionar filtro',
|
|
45
44
|
filterPanelRemoveAll: 'Remover todos',
|
package/node/locales/svSE.js
CHANGED
|
@@ -36,10 +36,9 @@ const svSEGrid = {
|
|
|
36
36
|
toolbarExportPrint: 'Skriv ut',
|
|
37
37
|
toolbarExportExcel: 'Ladda ner som Excel',
|
|
38
38
|
// Columns management text
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
columnsManagementSearchTitle: 'Sök',
|
|
40
|
+
columnsManagementNoColumns: 'Inga kolumner',
|
|
41
|
+
columnsManagementShowHideAllText: 'Visa/Dölj alla',
|
|
43
42
|
// Filter panel text
|
|
44
43
|
filterPanelAddFilter: 'Lägg till filter',
|
|
45
44
|
filterPanelRemoveAll: 'Ta bort alla',
|
|
@@ -5,9 +5,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.shouldCellShowRightBorder = exports.shouldCellShowLeftBorder = void 0;
|
|
7
7
|
var _gridColumnsInterfaces = require("../hooks/features/columns/gridColumnsInterfaces");
|
|
8
|
-
const shouldCellShowRightBorder = (pinnedPosition, indexInSection, sectionLength, showCellVerticalBorderRootProp) => {
|
|
8
|
+
const shouldCellShowRightBorder = (pinnedPosition, indexInSection, sectionLength, showCellVerticalBorderRootProp, gridHasFiller) => {
|
|
9
9
|
const isSectionLastCell = indexInSection === sectionLength - 1;
|
|
10
|
-
|
|
10
|
+
if (pinnedPosition === _gridColumnsInterfaces.GridPinnedColumnPosition.LEFT && isSectionLastCell) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
if (showCellVerticalBorderRootProp) {
|
|
14
|
+
if (pinnedPosition === _gridColumnsInterfaces.GridPinnedColumnPosition.LEFT) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
if (pinnedPosition === _gridColumnsInterfaces.GridPinnedColumnPosition.RIGHT) {
|
|
18
|
+
return !isSectionLastCell;
|
|
19
|
+
}
|
|
20
|
+
// pinnedPosition === undefined, middle section
|
|
21
|
+
return !isSectionLastCell || gridHasFiller;
|
|
22
|
+
}
|
|
23
|
+
return false;
|
|
11
24
|
};
|
|
12
25
|
exports.shouldCellShowRightBorder = shouldCellShowRightBorder;
|
|
13
26
|
const shouldCellShowLeftBorder = (pinnedPosition, indexInSection) => {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-data-grid",
|
|
3
|
-
"version": "7.
|
|
4
|
-
"description": "The
|
|
3
|
+
"version": "7.2.0",
|
|
4
|
+
"description": "The Community plan edition of the Data Grid components (MUI X).",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./node/index.js",
|
|
7
7
|
"license": "MIT",
|
|
@@ -5,4 +5,10 @@ export interface DataGridComponentNameToClassKey {
|
|
|
5
5
|
declare module '@mui/material/styles' {
|
|
6
6
|
interface ComponentNameToClassKey extends DataGridComponentNameToClassKey {
|
|
7
7
|
}
|
|
8
|
+
interface Mixins {
|
|
9
|
+
MuiDataGrid?: {
|
|
10
|
+
containerBackground?: string;
|
|
11
|
+
pinnedBackground?: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
8
14
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { GridPinnedColumnPosition } from '../hooks/features/columns/gridColumnsInterfaces';
|
|
2
|
-
export declare const shouldCellShowRightBorder: (pinnedPosition: GridPinnedColumnPosition | undefined, indexInSection: number, sectionLength: number, showCellVerticalBorderRootProp: boolean) => boolean;
|
|
2
|
+
export declare const shouldCellShowRightBorder: (pinnedPosition: GridPinnedColumnPosition | undefined, indexInSection: number, sectionLength: number, showCellVerticalBorderRootProp: boolean, gridHasFiller: boolean) => boolean;
|
|
3
3
|
export declare const shouldCellShowLeftBorder: (pinnedPosition: GridPinnedColumnPosition | undefined, indexInSection: number) => boolean;
|