@mui/x-data-grid 7.0.0-alpha.4 → 7.0.0-alpha.6
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 +342 -0
- package/DataGrid/DataGrid.js +25 -19
- package/DataGrid/useDataGridProps.js +0 -1
- package/colDef/gridDateOperators.js +13 -6
- package/colDef/gridSingleSelectColDef.js +6 -15
- package/components/cell/GridEditSingleSelectCell.d.ts +1 -2
- package/components/cell/GridEditSingleSelectCell.js +9 -29
- package/components/columnSelection/GridHeaderCheckbox.js +3 -1
- package/components/panel/filterPanel/GridFilterForm.js +44 -9
- package/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
- package/components/panel/filterPanel/GridFilterInputDate.js +25 -8
- package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.d.ts +2 -2
- package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +7 -48
- package/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +1 -2
- package/components/panel/filterPanel/GridFilterInputSingleSelect.js +15 -57
- package/components/panel/filterPanel/filterPanelUtils.d.ts +3 -2
- package/components/panel/filterPanel/filterPanelUtils.js +10 -5
- package/hooks/features/rowSelection/useGridRowSelection.js +9 -9
- package/hooks/features/rowSelection/utils.d.ts +2 -0
- package/hooks/features/rowSelection/utils.js +8 -0
- package/hooks/utils/useGridAriaAttributes.js +2 -1
- package/index.js +1 -1
- package/legacy/DataGrid/DataGrid.js +25 -19
- package/legacy/DataGrid/useDataGridProps.js +0 -1
- package/legacy/colDef/gridDateOperators.js +13 -13
- package/legacy/colDef/gridSingleSelectColDef.js +6 -15
- package/legacy/components/cell/GridEditSingleSelectCell.js +8 -28
- package/legacy/components/columnSelection/GridHeaderCheckbox.js +3 -1
- package/legacy/components/panel/filterPanel/GridFilterForm.js +51 -19
- package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
- package/legacy/components/panel/filterPanel/GridFilterInputDate.js +27 -8
- package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +6 -53
- package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +14 -59
- package/legacy/components/panel/filterPanel/filterPanelUtils.js +10 -6
- package/legacy/hooks/features/rowSelection/useGridRowSelection.js +9 -9
- package/legacy/hooks/features/rowSelection/utils.js +8 -0
- package/legacy/hooks/utils/useGridAriaAttributes.js +2 -1
- package/legacy/index.js +1 -1
- package/legacy/locales/svSE.js +31 -33
- package/legacy/locales/urPK.js +26 -28
- package/locales/svSE.js +31 -33
- package/locales/urPK.js +26 -28
- package/models/controlStateItem.d.ts +1 -4
- package/models/props/DataGridProps.d.ts +26 -25
- package/modern/DataGrid/DataGrid.js +25 -19
- package/modern/DataGrid/useDataGridProps.js +0 -1
- package/modern/colDef/gridDateOperators.js +13 -6
- package/modern/colDef/gridSingleSelectColDef.js +6 -15
- package/modern/components/cell/GridEditSingleSelectCell.js +9 -29
- package/modern/components/columnSelection/GridHeaderCheckbox.js +3 -1
- package/modern/components/panel/filterPanel/GridFilterForm.js +44 -9
- package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
- package/modern/components/panel/filterPanel/GridFilterInputDate.js +24 -6
- package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +7 -47
- package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +15 -56
- package/modern/components/panel/filterPanel/filterPanelUtils.js +10 -5
- package/modern/hooks/features/rowSelection/useGridRowSelection.js +9 -9
- package/modern/hooks/features/rowSelection/utils.js +8 -0
- package/modern/hooks/utils/useGridAriaAttributes.js +2 -1
- package/modern/index.js +1 -1
- package/modern/locales/svSE.js +31 -33
- package/modern/locales/urPK.js +26 -28
- package/node/DataGrid/DataGrid.js +25 -19
- package/node/DataGrid/useDataGridProps.js +0 -1
- package/node/colDef/gridDateOperators.js +13 -6
- package/node/colDef/gridSingleSelectColDef.js +5 -14
- package/node/components/cell/GridEditSingleSelectCell.js +8 -28
- package/node/components/columnSelection/GridHeaderCheckbox.js +3 -1
- package/node/components/panel/filterPanel/GridFilterForm.js +44 -9
- package/node/components/panel/filterPanel/GridFilterInputBoolean.js +1 -1
- package/node/components/panel/filterPanel/GridFilterInputDate.js +24 -6
- package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +6 -46
- package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +14 -55
- package/node/components/panel/filterPanel/filterPanelUtils.js +12 -7
- package/node/hooks/features/rowSelection/useGridRowSelection.js +9 -9
- package/node/hooks/features/rowSelection/utils.js +14 -0
- package/node/hooks/utils/useGridAriaAttributes.js +2 -1
- package/node/index.js +1 -1
- package/node/locales/svSE.js +31 -33
- package/node/locales/urPK.js +26 -28
- package/package.json +3 -3
- package/utils/createSelector.d.ts +1 -1
|
@@ -1,33 +1,31 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
1
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
2
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
3
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
5
4
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
6
|
-
var _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "
|
|
5
|
+
var _excluded = ["item", "applyValue", "type", "apiRef", "focusElementRef", "placeholder", "tabIndex", "label", "isFilterActive", "clearButton", "InputLabelProps"];
|
|
7
6
|
import * as React from 'react';
|
|
8
7
|
import PropTypes from 'prop-types';
|
|
9
8
|
import { unstable_useId as useId } from '@mui/utils';
|
|
10
9
|
import { styled } from '@mui/material/styles';
|
|
11
10
|
import { useGridRootProps } from '../../../hooks/utils/useGridRootProps';
|
|
12
|
-
import { getValueFromValueOptions, isSingleSelectColDef } from './filterPanelUtils';
|
|
11
|
+
import { getValueFromValueOptions, getValueOptions, isSingleSelectColDef } from './filterPanelUtils';
|
|
13
12
|
import { createElement as _createElement } from "react";
|
|
14
13
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
14
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
15
|
var renderSingleSelectOptions = function renderSingleSelectOptions(_ref) {
|
|
17
|
-
var
|
|
18
|
-
valueOptions = _ref$column.valueOptions,
|
|
19
|
-
field = _ref$column.field,
|
|
16
|
+
var column = _ref.column,
|
|
20
17
|
OptionComponent = _ref.OptionComponent,
|
|
21
18
|
getOptionLabel = _ref.getOptionLabel,
|
|
22
19
|
getOptionValue = _ref.getOptionValue,
|
|
23
20
|
isSelectNative = _ref.isSelectNative,
|
|
24
21
|
baseSelectOptionProps = _ref.baseSelectOptionProps;
|
|
25
|
-
var iterableColumnValues =
|
|
26
|
-
field: field
|
|
27
|
-
}))) : [''].concat(_toConsumableArray(valueOptions || []));
|
|
22
|
+
var iterableColumnValues = [''].concat(_toConsumableArray(getValueOptions(column) || []));
|
|
28
23
|
return iterableColumnValues.map(function (option) {
|
|
29
24
|
var value = getOptionValue(option);
|
|
30
25
|
var label = getOptionLabel(option);
|
|
26
|
+
if (label === '') {
|
|
27
|
+
label = ' '; // To force the height of the empty option
|
|
28
|
+
}
|
|
31
29
|
return /*#__PURE__*/_createElement(OptionComponent, _extends({}, baseSelectOptionProps, {
|
|
32
30
|
native: isSelectNative,
|
|
33
31
|
key: value,
|
|
@@ -49,8 +47,6 @@ function GridFilterInputSingleSelect(props) {
|
|
|
49
47
|
type = props.type,
|
|
50
48
|
apiRef = props.apiRef,
|
|
51
49
|
focusElementRef = props.focusElementRef,
|
|
52
|
-
getOptionLabelProp = props.getOptionLabel,
|
|
53
|
-
getOptionValueProp = props.getOptionValue,
|
|
54
50
|
placeholder = props.placeholder,
|
|
55
51
|
tabIndex = props.tabIndex,
|
|
56
52
|
labelProp = props.label,
|
|
@@ -58,14 +54,11 @@ function GridFilterInputSingleSelect(props) {
|
|
|
58
54
|
clearButton = props.clearButton,
|
|
59
55
|
InputLabelProps = props.InputLabelProps,
|
|
60
56
|
others = _objectWithoutProperties(props, _excluded);
|
|
61
|
-
var
|
|
62
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
63
|
-
filterValueState = _React$useState2[0],
|
|
64
|
-
setFilterValueState = _React$useState2[1];
|
|
57
|
+
var filterValue = (_item$value = item.value) != null ? _item$value : '';
|
|
65
58
|
var id = useId();
|
|
66
59
|
var labelId = useId();
|
|
67
60
|
var rootProps = useGridRootProps();
|
|
68
|
-
var isSelectNative = (_rootProps$slotProps$ = (_rootProps$slotProps = rootProps.slotProps) == null || (_rootProps$slotProps = _rootProps$slotProps.baseSelect) == null ? void 0 : _rootProps$slotProps.native) != null ? _rootProps$slotProps$ :
|
|
61
|
+
var isSelectNative = (_rootProps$slotProps$ = (_rootProps$slotProps = rootProps.slotProps) == null || (_rootProps$slotProps = _rootProps$slotProps.baseSelect) == null ? void 0 : _rootProps$slotProps.native) != null ? _rootProps$slotProps$ : false;
|
|
69
62
|
var resolvedColumn = null;
|
|
70
63
|
if (item.field) {
|
|
71
64
|
var column = apiRef.current.getColumn(item.field);
|
|
@@ -73,53 +66,27 @@ function GridFilterInputSingleSelect(props) {
|
|
|
73
66
|
resolvedColumn = column;
|
|
74
67
|
}
|
|
75
68
|
}
|
|
76
|
-
var getOptionValue =
|
|
77
|
-
var getOptionLabel =
|
|
69
|
+
var getOptionValue = (_resolvedColumn = resolvedColumn) == null ? void 0 : _resolvedColumn.getOptionValue;
|
|
70
|
+
var getOptionLabel = (_resolvedColumn2 = resolvedColumn) == null ? void 0 : _resolvedColumn2.getOptionLabel;
|
|
78
71
|
var currentValueOptions = React.useMemo(function () {
|
|
79
|
-
|
|
80
|
-
return undefined;
|
|
81
|
-
}
|
|
82
|
-
return typeof resolvedColumn.valueOptions === 'function' ? resolvedColumn.valueOptions({
|
|
83
|
-
field: resolvedColumn.field
|
|
84
|
-
}) : resolvedColumn.valueOptions;
|
|
72
|
+
return getValueOptions(resolvedColumn);
|
|
85
73
|
}, [resolvedColumn]);
|
|
86
74
|
var onFilterChange = React.useCallback(function (event) {
|
|
87
75
|
var value = event.target.value;
|
|
88
76
|
|
|
89
77
|
// NativeSelect casts the value to a string.
|
|
90
78
|
value = getValueFromValueOptions(value, currentValueOptions, getOptionValue);
|
|
91
|
-
setFilterValueState(String(value));
|
|
92
79
|
applyValue(_extends({}, item, {
|
|
93
80
|
value: value
|
|
94
81
|
}));
|
|
95
82
|
}, [currentValueOptions, getOptionValue, applyValue, item]);
|
|
96
|
-
React.useEffect(function () {
|
|
97
|
-
var _itemValue;
|
|
98
|
-
var itemValue;
|
|
99
|
-
if (currentValueOptions !== undefined) {
|
|
100
|
-
// sanitize if valueOptions are provided
|
|
101
|
-
itemValue = getValueFromValueOptions(item.value, currentValueOptions, getOptionValue);
|
|
102
|
-
if (itemValue !== item.value) {
|
|
103
|
-
applyValue(_extends({}, item, {
|
|
104
|
-
value: itemValue
|
|
105
|
-
}));
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
} else {
|
|
109
|
-
itemValue = item.value;
|
|
110
|
-
}
|
|
111
|
-
itemValue = (_itemValue = itemValue) != null ? _itemValue : '';
|
|
112
|
-
setFilterValueState(String(itemValue));
|
|
113
|
-
}, [item, currentValueOptions, applyValue, getOptionValue]);
|
|
114
|
-
if (!isSingleSelectColDef(resolvedColumn)) {
|
|
115
|
-
return null;
|
|
116
|
-
}
|
|
117
83
|
if (!isSingleSelectColDef(resolvedColumn)) {
|
|
118
84
|
return null;
|
|
119
85
|
}
|
|
120
86
|
var label = labelProp != null ? labelProp : apiRef.current.getLocaleText('filterPanelInputLabel');
|
|
121
87
|
return /*#__PURE__*/_jsxs(SingleSelectOperatorContainer, {
|
|
122
88
|
children: [/*#__PURE__*/_jsxs(rootProps.slots.baseFormControl, {
|
|
89
|
+
fullWidth: true,
|
|
123
90
|
children: [/*#__PURE__*/_jsx(rootProps.slots.baseInputLabel, _extends({}, (_rootProps$slotProps2 = rootProps.slotProps) == null ? void 0 : _rootProps$slotProps2.baseInputLabel, {
|
|
124
91
|
id: labelId,
|
|
125
92
|
htmlFor: id,
|
|
@@ -130,7 +97,7 @@ function GridFilterInputSingleSelect(props) {
|
|
|
130
97
|
id: id,
|
|
131
98
|
label: label,
|
|
132
99
|
labelId: labelId,
|
|
133
|
-
value:
|
|
100
|
+
value: filterValue,
|
|
134
101
|
onChange: onFilterChange,
|
|
135
102
|
variant: "standard",
|
|
136
103
|
type: type || 'text',
|
|
@@ -164,18 +131,6 @@ process.env.NODE_ENV !== "production" ? GridFilterInputSingleSelect.propTypes =
|
|
|
164
131
|
applyValue: PropTypes.func.isRequired,
|
|
165
132
|
clearButton: PropTypes.node,
|
|
166
133
|
focusElementRef: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.func, PropTypes.object]),
|
|
167
|
-
/**
|
|
168
|
-
* Used to determine the label displayed for a given value option.
|
|
169
|
-
* @param {ValueOptions} value The current value option.
|
|
170
|
-
* @returns {string} The text to be displayed.
|
|
171
|
-
*/
|
|
172
|
-
getOptionLabel: PropTypes.func,
|
|
173
|
-
/**
|
|
174
|
-
* Used to determine the value used for a value option.
|
|
175
|
-
* @param {ValueOptions} value The current value option.
|
|
176
|
-
* @returns {string} The value to be used.
|
|
177
|
-
*/
|
|
178
|
-
getOptionValue: PropTypes.func,
|
|
179
134
|
/**
|
|
180
135
|
* It is `true` if the filter either has a value or an operator with no value
|
|
181
136
|
* required is selected (e.g. `isEmpty`)
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
export function isSingleSelectColDef(colDef) {
|
|
3
3
|
return (colDef == null ? void 0 : colDef.type) === 'singleSelect';
|
|
4
4
|
}
|
|
5
|
+
export function getValueOptions(column, additionalParams) {
|
|
6
|
+
if (!column) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
return typeof column.valueOptions === 'function' ? column.valueOptions(_extends({
|
|
10
|
+
field: column.field
|
|
11
|
+
}, additionalParams)) : column.valueOptions;
|
|
12
|
+
}
|
|
5
13
|
export function getValueFromValueOptions(value, valueOptions, getOptionValue) {
|
|
6
14
|
if (valueOptions === undefined) {
|
|
7
15
|
return undefined;
|
|
@@ -11,8 +19,4 @@ export function getValueFromValueOptions(value, valueOptions, getOptionValue) {
|
|
|
11
19
|
return String(optionValue) === String(value);
|
|
12
20
|
});
|
|
13
21
|
return getOptionValue(result);
|
|
14
|
-
}
|
|
15
|
-
export var getLabelFromValueOption = function getLabelFromValueOption(valueOption) {
|
|
16
|
-
var label = _typeof(valueOption) === 'object' ? valueOption.label : valueOption;
|
|
17
|
-
return label != null ? String(label) : '';
|
|
18
|
-
};
|
|
22
|
+
}
|
|
@@ -16,6 +16,7 @@ import { useGridVisibleRows } from '../../utils/useGridVisibleRows';
|
|
|
16
16
|
import { GRID_DETAIL_PANEL_TOGGLE_FIELD } from '../../../constants/gridDetailPanelToggleField';
|
|
17
17
|
import { gridClasses } from '../../../constants/gridClasses';
|
|
18
18
|
import { isEventTargetInPortal } from '../../../utils/domUtils';
|
|
19
|
+
import { isMultipleRowSelectionEnabled } from './utils';
|
|
19
20
|
var getSelectionModelPropValue = function getSelectionModelPropValue(selectionModelProp, prevSelectionModel) {
|
|
20
21
|
if (selectionModelProp == null) {
|
|
21
22
|
return selectionModelProp;
|
|
@@ -62,10 +63,9 @@ export var useGridRowSelection = function useGridRowSelection(apiRef, props) {
|
|
|
62
63
|
changeEvent: 'rowSelectionChange'
|
|
63
64
|
});
|
|
64
65
|
var checkboxSelection = props.checkboxSelection,
|
|
65
|
-
disableMultipleRowSelection = props.disableMultipleRowSelection,
|
|
66
66
|
disableRowSelectionOnClick = props.disableRowSelectionOnClick,
|
|
67
67
|
propIsRowSelectable = props.isRowSelectable;
|
|
68
|
-
var canHaveMultipleSelection =
|
|
68
|
+
var canHaveMultipleSelection = isMultipleRowSelectionEnabled(props);
|
|
69
69
|
var visibleRows = useGridVisibleRows(apiRef, props);
|
|
70
70
|
var expandMouseRowRangeSelection = React.useCallback(function (id) {
|
|
71
71
|
var _lastRowToggled$curre;
|
|
@@ -100,7 +100,7 @@ export var useGridRowSelection = function useGridRowSelection(apiRef, props) {
|
|
|
100
100
|
* API METHODS
|
|
101
101
|
*/
|
|
102
102
|
var setRowSelectionModel = React.useCallback(function (model) {
|
|
103
|
-
if (props.signature === GridSignature.DataGrid && !
|
|
103
|
+
if (props.signature === GridSignature.DataGrid && !canHaveMultipleSelection && Array.isArray(model) && model.length > 1) {
|
|
104
104
|
throw new Error(['MUI: `rowSelectionModel` can only contain 1 item in DataGrid.', 'You need to upgrade to DataGridPro or DataGridPremium component to unlock multiple selection.'].join('\n'));
|
|
105
105
|
}
|
|
106
106
|
var currentModel = gridRowSelectionStateSelector(apiRef.current.state);
|
|
@@ -113,7 +113,7 @@ export var useGridRowSelection = function useGridRowSelection(apiRef, props) {
|
|
|
113
113
|
});
|
|
114
114
|
apiRef.current.forceUpdate();
|
|
115
115
|
}
|
|
116
|
-
}, [apiRef, logger, props.rowSelection, props.signature,
|
|
116
|
+
}, [apiRef, logger, props.rowSelection, props.signature, canHaveMultipleSelection]);
|
|
117
117
|
var isRowSelected = React.useCallback(function (id) {
|
|
118
118
|
return gridRowSelectionStateSelector(apiRef.current.state).includes(id);
|
|
119
119
|
}, [apiRef]);
|
|
@@ -281,12 +281,12 @@ export var useGridRowSelection = function useGridRowSelection(apiRef, props) {
|
|
|
281
281
|
if (rowNode.type === 'pinnedRow') {
|
|
282
282
|
return;
|
|
283
283
|
}
|
|
284
|
-
if (event.shiftKey &&
|
|
284
|
+
if (event.shiftKey && canHaveMultipleSelection) {
|
|
285
285
|
expandMouseRowRangeSelection(params.id);
|
|
286
286
|
} else {
|
|
287
287
|
handleSingleRowSelection(params.id, event);
|
|
288
288
|
}
|
|
289
|
-
}, [disableRowSelectionOnClick, canHaveMultipleSelection,
|
|
289
|
+
}, [disableRowSelectionOnClick, canHaveMultipleSelection, apiRef, expandMouseRowRangeSelection, handleSingleRowSelection]);
|
|
290
290
|
var preventSelectionOnShift = React.useCallback(function (params, event) {
|
|
291
291
|
if (canHaveMultipleSelection && event.shiftKey) {
|
|
292
292
|
var _window$getSelection;
|
|
@@ -294,12 +294,12 @@ export var useGridRowSelection = function useGridRowSelection(apiRef, props) {
|
|
|
294
294
|
}
|
|
295
295
|
}, [canHaveMultipleSelection]);
|
|
296
296
|
var handleRowSelectionCheckboxChange = React.useCallback(function (params, event) {
|
|
297
|
-
if (event.nativeEvent.shiftKey) {
|
|
297
|
+
if (canHaveMultipleSelection && event.nativeEvent.shiftKey) {
|
|
298
298
|
expandMouseRowRangeSelection(params.id);
|
|
299
299
|
} else {
|
|
300
|
-
apiRef.current.selectRow(params.id, params.value);
|
|
300
|
+
apiRef.current.selectRow(params.id, params.value, !canHaveMultipleSelection);
|
|
301
301
|
}
|
|
302
|
-
}, [apiRef, expandMouseRowRangeSelection]);
|
|
302
|
+
}, [apiRef, expandMouseRowRangeSelection, canHaveMultipleSelection]);
|
|
303
303
|
var handleHeaderSelectionCheckboxChange = React.useCallback(function (params) {
|
|
304
304
|
var shouldLimitSelectionToCurrentPage = props.checkboxSelectionVisibleOnly && props.pagination;
|
|
305
305
|
var rowsToBeSelected = shouldLimitSelectionToCurrentPage ? gridPaginatedVisibleSortedGridRowIdsSelector(apiRef) : gridExpandedSortedRowIdsSelector(apiRef);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { GridSignature } from '../../utils/useGridApiEventHandler';
|
|
2
|
+
export function isMultipleRowSelectionEnabled(props) {
|
|
3
|
+
if (props.signature === GridSignature.DataGrid) {
|
|
4
|
+
// DataGrid Community has multiple row selection enabled only if checkbox selection is enabled.
|
|
5
|
+
return props.checkboxSelection && props.disableMultipleRowSelection !== true;
|
|
6
|
+
}
|
|
7
|
+
return !props.disableMultipleRowSelection;
|
|
8
|
+
}
|
|
@@ -4,6 +4,7 @@ import { useGridRootProps } from './useGridRootProps';
|
|
|
4
4
|
import { gridColumnGroupsHeaderMaxDepthSelector } from '../features/columnGrouping/gridColumnGroupsSelector';
|
|
5
5
|
import { gridPinnedRowsCountSelector, gridRowCountSelector } from '../features/rows/gridRowsSelector';
|
|
6
6
|
import { useGridPrivateApiContext } from './useGridPrivateApiContext';
|
|
7
|
+
import { isMultipleRowSelectionEnabled } from '../features/rowSelection/utils';
|
|
7
8
|
export var useGridAriaAttributes = function useGridAriaAttributes() {
|
|
8
9
|
var _rootProps$experiment;
|
|
9
10
|
var apiRef = useGridPrivateApiContext();
|
|
@@ -20,6 +21,6 @@ export var useGridAriaAttributes = function useGridAriaAttributes() {
|
|
|
20
21
|
role: role,
|
|
21
22
|
'aria-colcount': visibleColumns.length,
|
|
22
23
|
'aria-rowcount': headerGroupingMaxDepth + 1 + pinnedRowsCount + totalRowCount,
|
|
23
|
-
'aria-multiselectable':
|
|
24
|
+
'aria-multiselectable': isMultipleRowSelectionEnabled(rootProps)
|
|
24
25
|
};
|
|
25
26
|
};
|
package/legacy/index.js
CHANGED
package/legacy/locales/svSE.js
CHANGED
|
@@ -9,7 +9,7 @@ var svSEGrid = {
|
|
|
9
9
|
toolbarDensityLabel: 'Densitet',
|
|
10
10
|
toolbarDensityCompact: 'Kompakt',
|
|
11
11
|
toolbarDensityStandard: 'Standard',
|
|
12
|
-
toolbarDensityComfortable: '
|
|
12
|
+
toolbarDensityComfortable: 'Luftig',
|
|
13
13
|
// Columns selector toolbar button text
|
|
14
14
|
toolbarColumns: 'Kolumner',
|
|
15
15
|
toolbarColumnsLabel: 'Välj kolumner',
|
|
@@ -41,8 +41,8 @@ var svSEGrid = {
|
|
|
41
41
|
filterPanelAddFilter: 'Lägg till filter',
|
|
42
42
|
filterPanelRemoveAll: 'Ta bort alla',
|
|
43
43
|
filterPanelDeleteIconLabel: 'Ta bort',
|
|
44
|
-
filterPanelLogicOperator: 'Logisk
|
|
45
|
-
filterPanelOperator: '
|
|
44
|
+
filterPanelLogicOperator: 'Logisk operator',
|
|
45
|
+
filterPanelOperator: 'Operator',
|
|
46
46
|
filterPanelOperatorAnd: 'Och',
|
|
47
47
|
filterPanelOperatorOr: 'Eller',
|
|
48
48
|
filterPanelColumns: 'Kolumner',
|
|
@@ -50,7 +50,7 @@ var svSEGrid = {
|
|
|
50
50
|
filterPanelInputPlaceholder: 'Filtervärde',
|
|
51
51
|
// Filter operators text
|
|
52
52
|
filterOperatorContains: 'innehåller',
|
|
53
|
-
filterOperatorEquals: '
|
|
53
|
+
filterOperatorEquals: 'lika med',
|
|
54
54
|
filterOperatorStartsWith: 'börjar med',
|
|
55
55
|
filterOperatorEndsWith: 'slutar med',
|
|
56
56
|
filterOperatorIs: 'är',
|
|
@@ -62,34 +62,32 @@ var svSEGrid = {
|
|
|
62
62
|
filterOperatorIsEmpty: 'är tom',
|
|
63
63
|
filterOperatorIsNotEmpty: 'är inte tom',
|
|
64
64
|
filterOperatorIsAnyOf: 'är någon av',
|
|
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: 'Innehåller',
|
|
73
|
+
headerFilterOperatorEquals: 'Lika med',
|
|
74
|
+
headerFilterOperatorStartsWith: 'Börjar med',
|
|
75
|
+
headerFilterOperatorEndsWith: 'Slutar med',
|
|
76
|
+
headerFilterOperatorIs: 'Är',
|
|
77
|
+
headerFilterOperatorNot: 'Är inte',
|
|
78
|
+
headerFilterOperatorAfter: 'Är efter',
|
|
79
|
+
headerFilterOperatorOnOrAfter: 'Är på eller efter',
|
|
80
|
+
headerFilterOperatorBefore: 'Är innan',
|
|
81
|
+
headerFilterOperatorOnOrBefore: 'Är på eller innan',
|
|
82
|
+
headerFilterOperatorIsEmpty: 'Är tom',
|
|
83
|
+
headerFilterOperatorIsNotEmpty: 'Är inte tom',
|
|
84
|
+
headerFilterOperatorIsAnyOf: 'Innehåller någon av',
|
|
85
|
+
'headerFilterOperator=': 'Lika med',
|
|
86
|
+
'headerFilterOperator!=': 'Inte lika med',
|
|
87
|
+
'headerFilterOperator>': 'Större än',
|
|
88
|
+
'headerFilterOperator>=': 'Större eller lika med',
|
|
89
|
+
'headerFilterOperator<': 'Mindre än',
|
|
90
|
+
'headerFilterOperator<=': 'Mindre eller lika med',
|
|
93
91
|
// Filter values text
|
|
94
92
|
filterValueAny: 'något',
|
|
95
93
|
filterValueTrue: 'sant',
|
|
@@ -100,7 +98,7 @@ var svSEGrid = {
|
|
|
100
98
|
columnMenuManageColumns: 'Hantera kolumner',
|
|
101
99
|
columnMenuFilter: 'Filtrera',
|
|
102
100
|
columnMenuHideColumn: 'Dölj',
|
|
103
|
-
columnMenuUnsort: '
|
|
101
|
+
columnMenuUnsort: 'Ta bort sortering',
|
|
104
102
|
columnMenuSortAsc: 'Sortera stigande',
|
|
105
103
|
columnMenuSortDesc: 'Sortera fallande',
|
|
106
104
|
// Column header text
|
|
@@ -154,7 +152,7 @@ var svSEGrid = {
|
|
|
154
152
|
rowReorderingHeaderName: 'Ordna om rader',
|
|
155
153
|
// Aggregation
|
|
156
154
|
aggregationMenuItemHeader: 'Aggregering',
|
|
157
|
-
aggregationFunctionLabelSum: '
|
|
155
|
+
aggregationFunctionLabelSum: 'summa',
|
|
158
156
|
aggregationFunctionLabelAvg: 'medel',
|
|
159
157
|
aggregationFunctionLabelMin: 'min',
|
|
160
158
|
aggregationFunctionLabelMax: 'max',
|
package/legacy/locales/urPK.js
CHANGED
|
@@ -39,7 +39,7 @@ var urPKGrid = {
|
|
|
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 urPKGrid = {
|
|
|
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/locales/svSE.js
CHANGED
|
@@ -9,7 +9,7 @@ const svSEGrid = {
|
|
|
9
9
|
toolbarDensityLabel: 'Densitet',
|
|
10
10
|
toolbarDensityCompact: 'Kompakt',
|
|
11
11
|
toolbarDensityStandard: 'Standard',
|
|
12
|
-
toolbarDensityComfortable: '
|
|
12
|
+
toolbarDensityComfortable: 'Luftig',
|
|
13
13
|
// Columns selector toolbar button text
|
|
14
14
|
toolbarColumns: 'Kolumner',
|
|
15
15
|
toolbarColumnsLabel: 'Välj kolumner',
|
|
@@ -39,8 +39,8 @@ const svSEGrid = {
|
|
|
39
39
|
filterPanelAddFilter: 'Lägg till filter',
|
|
40
40
|
filterPanelRemoveAll: 'Ta bort alla',
|
|
41
41
|
filterPanelDeleteIconLabel: 'Ta bort',
|
|
42
|
-
filterPanelLogicOperator: 'Logisk
|
|
43
|
-
filterPanelOperator: '
|
|
42
|
+
filterPanelLogicOperator: 'Logisk operator',
|
|
43
|
+
filterPanelOperator: 'Operator',
|
|
44
44
|
filterPanelOperatorAnd: 'Och',
|
|
45
45
|
filterPanelOperatorOr: 'Eller',
|
|
46
46
|
filterPanelColumns: 'Kolumner',
|
|
@@ -48,7 +48,7 @@ const svSEGrid = {
|
|
|
48
48
|
filterPanelInputPlaceholder: 'Filtervärde',
|
|
49
49
|
// Filter operators text
|
|
50
50
|
filterOperatorContains: 'innehåller',
|
|
51
|
-
filterOperatorEquals: '
|
|
51
|
+
filterOperatorEquals: 'lika med',
|
|
52
52
|
filterOperatorStartsWith: 'börjar med',
|
|
53
53
|
filterOperatorEndsWith: 'slutar med',
|
|
54
54
|
filterOperatorIs: 'är',
|
|
@@ -60,34 +60,32 @@ const svSEGrid = {
|
|
|
60
60
|
filterOperatorIsEmpty: 'är tom',
|
|
61
61
|
filterOperatorIsNotEmpty: 'är inte tom',
|
|
62
62
|
filterOperatorIsAnyOf: 'är någon av',
|
|
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: 'Innehåller',
|
|
71
|
+
headerFilterOperatorEquals: 'Lika med',
|
|
72
|
+
headerFilterOperatorStartsWith: 'Börjar med',
|
|
73
|
+
headerFilterOperatorEndsWith: 'Slutar med',
|
|
74
|
+
headerFilterOperatorIs: 'Är',
|
|
75
|
+
headerFilterOperatorNot: 'Är inte',
|
|
76
|
+
headerFilterOperatorAfter: 'Är efter',
|
|
77
|
+
headerFilterOperatorOnOrAfter: 'Är på eller efter',
|
|
78
|
+
headerFilterOperatorBefore: 'Är innan',
|
|
79
|
+
headerFilterOperatorOnOrBefore: 'Är på eller innan',
|
|
80
|
+
headerFilterOperatorIsEmpty: 'Är tom',
|
|
81
|
+
headerFilterOperatorIsNotEmpty: 'Är inte tom',
|
|
82
|
+
headerFilterOperatorIsAnyOf: 'Innehåller någon av',
|
|
83
|
+
'headerFilterOperator=': 'Lika med',
|
|
84
|
+
'headerFilterOperator!=': 'Inte lika med',
|
|
85
|
+
'headerFilterOperator>': 'Större än',
|
|
86
|
+
'headerFilterOperator>=': 'Större eller lika med',
|
|
87
|
+
'headerFilterOperator<': 'Mindre än',
|
|
88
|
+
'headerFilterOperator<=': 'Mindre eller lika med',
|
|
91
89
|
// Filter values text
|
|
92
90
|
filterValueAny: 'något',
|
|
93
91
|
filterValueTrue: 'sant',
|
|
@@ -98,7 +96,7 @@ const svSEGrid = {
|
|
|
98
96
|
columnMenuManageColumns: 'Hantera kolumner',
|
|
99
97
|
columnMenuFilter: 'Filtrera',
|
|
100
98
|
columnMenuHideColumn: 'Dölj',
|
|
101
|
-
columnMenuUnsort: '
|
|
99
|
+
columnMenuUnsort: 'Ta bort sortering',
|
|
102
100
|
columnMenuSortAsc: 'Sortera stigande',
|
|
103
101
|
columnMenuSortDesc: 'Sortera fallande',
|
|
104
102
|
// Column header text
|
|
@@ -142,7 +140,7 @@ const svSEGrid = {
|
|
|
142
140
|
rowReorderingHeaderName: 'Ordna om rader',
|
|
143
141
|
// Aggregation
|
|
144
142
|
aggregationMenuItemHeader: 'Aggregering',
|
|
145
|
-
aggregationFunctionLabelSum: '
|
|
143
|
+
aggregationFunctionLabelSum: 'summa',
|
|
146
144
|
aggregationFunctionLabelAvg: 'medel',
|
|
147
145
|
aggregationFunctionLabelMin: 'min',
|
|
148
146
|
aggregationFunctionLabelMax: 'max',
|
package/locales/urPK.js
CHANGED
|
@@ -37,7 +37,7 @@ const urPKGrid = {
|
|
|
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 urPKGrid = {
|
|
|
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: 'صحیح',
|