@mui/x-data-grid 7.0.0-beta.0 → 7.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +247 -0
- package/DataGrid/useDataGridComponent.js +1 -1
- package/colDef/gridBooleanColDef.js +3 -6
- package/colDef/gridCheckboxSelectionColDef.js +4 -3
- package/colDef/gridDateColDef.d.ts +3 -4
- package/colDef/gridDateColDef.js +10 -16
- package/colDef/gridNumericColDef.js +1 -3
- package/colDef/gridSingleSelectColDef.js +7 -12
- package/components/cell/GridEditInputCell.js +1 -1
- package/components/columnsManagement/GridColumnsManagement.d.ts +7 -0
- package/components/columnsManagement/GridColumnsManagement.js +26 -21
- package/hooks/features/columns/useGridColumnSpanning.js +3 -1
- package/hooks/features/editing/useGridCellEditing.js +2 -5
- package/hooks/features/editing/useGridRowEditing.js +2 -5
- package/hooks/features/filter/gridFilterUtils.js +1 -1
- package/hooks/features/rows/useGridParamsApi.d.ts +1 -2
- package/hooks/features/rows/useGridParamsApi.js +14 -49
- package/index.js +1 -1
- package/legacy/DataGrid/useDataGridComponent.js +1 -1
- package/legacy/colDef/gridBooleanColDef.js +3 -5
- package/legacy/colDef/gridCheckboxSelectionColDef.js +4 -3
- package/legacy/colDef/gridDateColDef.js +10 -14
- package/legacy/colDef/gridNumericColDef.js +1 -2
- package/legacy/colDef/gridSingleSelectColDef.js +7 -10
- package/legacy/components/cell/GridEditInputCell.js +1 -1
- package/legacy/components/columnsManagement/GridColumnsManagement.js +38 -31
- package/legacy/hooks/features/columns/useGridColumnSpanning.js +3 -1
- package/legacy/hooks/features/editing/useGridCellEditing.js +2 -5
- package/legacy/hooks/features/editing/useGridRowEditing.js +2 -5
- package/legacy/hooks/features/filter/gridFilterUtils.js +2 -2
- package/legacy/hooks/features/rows/useGridParamsApi.js +14 -47
- package/legacy/index.js +1 -1
- package/legacy/locales/heIL.js +7 -8
- package/locales/heIL.js +7 -8
- package/models/colDef/gridColDef.d.ts +11 -17
- package/models/colDef/index.d.ts +1 -1
- package/models/params/gridCellParams.d.ts +0 -26
- package/modern/DataGrid/useDataGridComponent.js +1 -1
- package/modern/colDef/gridBooleanColDef.js +3 -6
- package/modern/colDef/gridCheckboxSelectionColDef.js +4 -3
- package/modern/colDef/gridDateColDef.js +10 -16
- package/modern/colDef/gridNumericColDef.js +1 -3
- package/modern/colDef/gridSingleSelectColDef.js +7 -12
- package/modern/components/cell/GridEditInputCell.js +1 -1
- package/modern/components/columnsManagement/GridColumnsManagement.js +26 -21
- package/modern/hooks/features/columns/useGridColumnSpanning.js +3 -1
- package/modern/hooks/features/editing/useGridCellEditing.js +2 -5
- package/modern/hooks/features/editing/useGridRowEditing.js +2 -5
- package/modern/hooks/features/filter/gridFilterUtils.js +1 -1
- package/modern/hooks/features/rows/useGridParamsApi.js +14 -47
- package/modern/index.js +1 -1
- package/modern/locales/heIL.js +7 -8
- package/node/DataGrid/useDataGridComponent.js +1 -1
- package/node/colDef/gridBooleanColDef.js +3 -6
- package/node/colDef/gridCheckboxSelectionColDef.js +4 -3
- package/node/colDef/gridDateColDef.js +13 -19
- package/node/colDef/gridNumericColDef.js +1 -3
- package/node/colDef/gridSingleSelectColDef.js +7 -12
- package/node/components/cell/GridEditInputCell.js +1 -1
- package/node/components/columnsManagement/GridColumnsManagement.js +26 -21
- package/node/hooks/features/columns/useGridColumnSpanning.js +3 -1
- package/node/hooks/features/editing/useGridCellEditing.js +2 -5
- package/node/hooks/features/editing/useGridRowEditing.js +2 -5
- package/node/hooks/features/filter/gridFilterUtils.js +1 -1
- package/node/hooks/features/rows/useGridParamsApi.js +14 -47
- package/node/index.js +1 -1
- package/node/locales/heIL.js +7 -8
- package/package.json +4 -4
|
@@ -4,9 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.GRID_DATE_COL_DEF = exports.GRID_DATETIME_COL_DEF = void 0;
|
|
8
|
-
exports.gridDateFormatter = gridDateFormatter;
|
|
9
|
-
exports.gridDateTimeFormatter = gridDateTimeFormatter;
|
|
7
|
+
exports.gridDateTimeFormatter = exports.gridDateFormatter = exports.GRID_DATE_COL_DEF = exports.GRID_DATETIME_COL_DEF = void 0;
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
9
|
var _gridSortingUtils = require("../hooks/features/sorting/gridSortingUtils");
|
|
12
10
|
var _gridDateOperators = require("./gridDateOperators");
|
|
@@ -22,38 +20,34 @@ function throwIfNotDateObject({
|
|
|
22
20
|
throw new Error([`MUI X: \`${columnType}\` column type only accepts \`Date\` objects as values.`, 'Use `valueGetter` to transform the value into a `Date` object.', `Row ID: ${rowId}, field: "${field}".`].join('\n'));
|
|
23
21
|
}
|
|
24
22
|
}
|
|
25
|
-
|
|
26
|
-
value,
|
|
27
|
-
field,
|
|
28
|
-
id
|
|
29
|
-
}) {
|
|
23
|
+
const gridDateFormatter = (value, row, column, apiRef) => {
|
|
30
24
|
if (!value) {
|
|
31
25
|
return '';
|
|
32
26
|
}
|
|
27
|
+
const rowId = apiRef.current.getRowId(row);
|
|
33
28
|
throwIfNotDateObject({
|
|
34
29
|
value,
|
|
35
30
|
columnType: 'date',
|
|
36
|
-
rowId
|
|
37
|
-
field
|
|
31
|
+
rowId,
|
|
32
|
+
field: column.field
|
|
38
33
|
});
|
|
39
34
|
return value.toLocaleDateString();
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
field,
|
|
44
|
-
id
|
|
45
|
-
}) {
|
|
35
|
+
};
|
|
36
|
+
exports.gridDateFormatter = gridDateFormatter;
|
|
37
|
+
const gridDateTimeFormatter = (value, row, column, apiRef) => {
|
|
46
38
|
if (!value) {
|
|
47
39
|
return '';
|
|
48
40
|
}
|
|
41
|
+
const rowId = apiRef.current.getRowId(row);
|
|
49
42
|
throwIfNotDateObject({
|
|
50
43
|
value,
|
|
51
44
|
columnType: 'dateTime',
|
|
52
|
-
rowId
|
|
53
|
-
field
|
|
45
|
+
rowId,
|
|
46
|
+
field: column.field
|
|
54
47
|
});
|
|
55
48
|
return value.toLocaleString();
|
|
56
|
-
}
|
|
49
|
+
};
|
|
50
|
+
exports.gridDateTimeFormatter = gridDateTimeFormatter;
|
|
57
51
|
const GRID_DATE_COL_DEF = exports.GRID_DATE_COL_DEF = (0, _extends2.default)({}, _gridStringColDef.GRID_STRING_COL_DEF, {
|
|
58
52
|
type: 'date',
|
|
59
53
|
sortComparator: _gridSortingUtils.gridDateComparator,
|
|
@@ -16,9 +16,7 @@ const GRID_NUMERIC_COL_DEF = exports.GRID_NUMERIC_COL_DEF = (0, _extends2.defaul
|
|
|
16
16
|
headerAlign: 'right',
|
|
17
17
|
sortComparator: _gridSortingUtils.gridNumberComparator,
|
|
18
18
|
valueParser: value => value === '' ? null : Number(value),
|
|
19
|
-
valueFormatter: (
|
|
20
|
-
value
|
|
21
|
-
}) => (0, _utils.isNumber)(value) ? value.toLocaleString() : value || '',
|
|
19
|
+
valueFormatter: value => (0, _utils.isNumber)(value) ? value.toLocaleString() : value || '',
|
|
22
20
|
filterOperators: (0, _gridNumericOperators.getGridNumericOperators)(),
|
|
23
21
|
getApplyQuickFilterFn: _gridNumericOperators.getGridNumericQuickFilterFn
|
|
24
22
|
});
|
|
@@ -24,20 +24,15 @@ const GRID_SINGLE_SELECT_COL_DEF = exports.GRID_SINGLE_SELECT_COL_DEF = (0, _ext
|
|
|
24
24
|
type: 'singleSelect',
|
|
25
25
|
getOptionLabel: defaultGetOptionLabel,
|
|
26
26
|
getOptionValue: defaultGetOptionValue,
|
|
27
|
-
valueFormatter(
|
|
28
|
-
const {
|
|
29
|
-
|
|
30
|
-
field,
|
|
31
|
-
value,
|
|
32
|
-
api
|
|
33
|
-
} = params;
|
|
34
|
-
const colDef = params.api.getColumn(field);
|
|
27
|
+
valueFormatter(value, row, colDef, apiRef) {
|
|
28
|
+
// const { id, field, value, api } = params;
|
|
29
|
+
const rowId = apiRef.current.getRowId(row);
|
|
35
30
|
if (!(0, _filterPanelUtils.isSingleSelectColDef)(colDef)) {
|
|
36
31
|
return '';
|
|
37
32
|
}
|
|
38
33
|
const valueOptions = (0, _filterPanelUtils.getValueOptions)(colDef, {
|
|
39
|
-
id,
|
|
40
|
-
row
|
|
34
|
+
id: rowId,
|
|
35
|
+
row
|
|
41
36
|
});
|
|
42
37
|
if (value == null) {
|
|
43
38
|
return '';
|
|
@@ -54,8 +49,8 @@ const GRID_SINGLE_SELECT_COL_DEF = exports.GRID_SINGLE_SELECT_COL_DEF = (0, _ext
|
|
|
54
49
|
renderEditCell: _GridEditSingleSelectCell.renderEditSingleSelectCell,
|
|
55
50
|
filterOperators: (0, _gridSingleSelectOperators.getGridSingleSelectOperators)(),
|
|
56
51
|
// @ts-ignore
|
|
57
|
-
pastedValueParser: (value,
|
|
58
|
-
const colDef =
|
|
52
|
+
pastedValueParser: (value, row, column) => {
|
|
53
|
+
const colDef = column;
|
|
59
54
|
const valueOptions = (0, _filterPanelUtils.getValueOptions)(colDef) || [];
|
|
60
55
|
const getOptionValue = colDef.getOptionValue;
|
|
61
56
|
const valueOption = valueOptions.find(option => {
|
|
@@ -66,7 +66,7 @@ const GridEditInputCell = exports.GridEditInputCell = /*#__PURE__*/React.forward
|
|
|
66
66
|
const column = apiRef.current.getColumn(field);
|
|
67
67
|
let parsedValue = newValue;
|
|
68
68
|
if (column.valueParser) {
|
|
69
|
-
parsedValue = column.valueParser(newValue, apiRef.current.
|
|
69
|
+
parsedValue = column.valueParser(newValue, apiRef.current.getRow(id), column, apiRef);
|
|
70
70
|
}
|
|
71
71
|
setValueState(parsedValue);
|
|
72
72
|
apiRef.current.setEditCellValue({
|
|
@@ -51,6 +51,7 @@ function GridColumnsManagement(props) {
|
|
|
51
51
|
autoFocusSearchField = true,
|
|
52
52
|
disableShowHideToggle = false,
|
|
53
53
|
disableResetButton = false,
|
|
54
|
+
toggleAllMode = 'all',
|
|
54
55
|
getTogglableColumns
|
|
55
56
|
} = props;
|
|
56
57
|
const isResetDisabled = React.useMemo(() => (0, _utils2.checkColumnVisibilityModelsSame)(columnVisibilityModel, initialColumnVisibilityModel), [columnVisibilityModel, initialColumnVisibilityModel]);
|
|
@@ -70,11 +71,21 @@ function GridColumnsManagement(props) {
|
|
|
70
71
|
} = event.target;
|
|
71
72
|
apiRef.current.setColumnVisibility(field, columnVisibilityModel[field] === false);
|
|
72
73
|
};
|
|
74
|
+
const currentColumns = React.useMemo(() => {
|
|
75
|
+
const togglableColumns = getTogglableColumns ? getTogglableColumns(sortedColumns) : null;
|
|
76
|
+
const togglableSortedColumns = togglableColumns ? sortedColumns.filter(({
|
|
77
|
+
field
|
|
78
|
+
}) => togglableColumns.includes(field)) : sortedColumns;
|
|
79
|
+
if (!searchValue) {
|
|
80
|
+
return togglableSortedColumns;
|
|
81
|
+
}
|
|
82
|
+
return togglableSortedColumns.filter(column => searchPredicate(column, searchValue.toLowerCase()));
|
|
83
|
+
}, [sortedColumns, searchValue, searchPredicate, getTogglableColumns]);
|
|
73
84
|
const toggleAllColumns = React.useCallback(isVisible => {
|
|
74
85
|
const currentModel = (0, _gridColumnsSelector.gridColumnVisibilityModelSelector)(apiRef);
|
|
75
86
|
const newModel = (0, _extends2.default)({}, currentModel);
|
|
76
87
|
const togglableColumns = getTogglableColumns ? getTogglableColumns(columns) : null;
|
|
77
|
-
columns.forEach(col => {
|
|
88
|
+
(toggleAllMode === 'filteredOnly' ? currentColumns : columns).forEach(col => {
|
|
78
89
|
if (col.hideable && (togglableColumns == null || togglableColumns.includes(col.field))) {
|
|
79
90
|
if (isVisible) {
|
|
80
91
|
// delete the key from the model instead of setting it to `true`
|
|
@@ -85,20 +96,10 @@ function GridColumnsManagement(props) {
|
|
|
85
96
|
}
|
|
86
97
|
});
|
|
87
98
|
return apiRef.current.setColumnVisibilityModel(newModel);
|
|
88
|
-
}, [apiRef, columns, getTogglableColumns]);
|
|
99
|
+
}, [apiRef, columns, getTogglableColumns, toggleAllMode, currentColumns]);
|
|
89
100
|
const handleSearchValueChange = React.useCallback(event => {
|
|
90
101
|
setSearchValue(event.target.value);
|
|
91
102
|
}, []);
|
|
92
|
-
const currentColumns = React.useMemo(() => {
|
|
93
|
-
const togglableColumns = getTogglableColumns ? getTogglableColumns(sortedColumns) : null;
|
|
94
|
-
const togglableSortedColumns = togglableColumns ? sortedColumns.filter(({
|
|
95
|
-
field
|
|
96
|
-
}) => togglableColumns.includes(field)) : sortedColumns;
|
|
97
|
-
if (!searchValue) {
|
|
98
|
-
return togglableSortedColumns;
|
|
99
|
-
}
|
|
100
|
-
return togglableSortedColumns.filter(column => searchPredicate(column, searchValue.toLowerCase()));
|
|
101
|
-
}, [sortedColumns, searchValue, searchPredicate, getTogglableColumns]);
|
|
102
103
|
const hideableColumns = React.useMemo(() => currentColumns.filter(col => col.hideable), [currentColumns]);
|
|
103
104
|
const allHideableColumnsVisible = React.useMemo(() => hideableColumns.every(column => columnVisibilityModel[column.field] == null || columnVisibilityModel[column.field] !== false), [columnVisibilityModel, hideableColumns]);
|
|
104
105
|
const allHideableColumnsHidden = React.useMemo(() => hideableColumns.every(column => columnVisibilityModel[column.field] === false), [columnVisibilityModel, hideableColumns]);
|
|
@@ -169,14 +170,11 @@ function GridColumnsManagement(props) {
|
|
|
169
170
|
checked: allHideableColumnsVisible,
|
|
170
171
|
indeterminate: !allHideableColumnsVisible && !allHideableColumnsHidden,
|
|
171
172
|
onClick: () => toggleAllColumns(!allHideableColumnsVisible),
|
|
172
|
-
name: apiRef.current.getLocaleText('columnsManagementShowHideAllText')
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
[`.MuiFormControlLabel-label`]: {
|
|
176
|
-
textTransform: 'uppercase',
|
|
177
|
-
fontSize: '14px'
|
|
173
|
+
name: apiRef.current.getLocaleText('columnsManagementShowHideAllText'),
|
|
174
|
+
sx: {
|
|
175
|
+
p: 0.5
|
|
178
176
|
}
|
|
179
|
-
},
|
|
177
|
+
}, rootProps.slotProps?.baseCheckbox)),
|
|
180
178
|
label: apiRef.current.getLocaleText('columnsManagementShowHideAllText')
|
|
181
179
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {}), !disableResetButton ? /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseButton, (0, _extends2.default)({
|
|
182
180
|
onClick: () => apiRef.current.setColumnVisibilityModel(initialColumnVisibilityModel),
|
|
@@ -218,7 +216,14 @@ process.env.NODE_ENV !== "production" ? GridColumnsManagement.propTypes = {
|
|
|
218
216
|
*/
|
|
219
217
|
getTogglableColumns: _propTypes.default.func,
|
|
220
218
|
searchPredicate: _propTypes.default.func,
|
|
221
|
-
sort: _propTypes.default.oneOf(['asc', 'desc'])
|
|
219
|
+
sort: _propTypes.default.oneOf(['asc', 'desc']),
|
|
220
|
+
/**
|
|
221
|
+
* Changes the behavior of the `Show/Hide All` toggle when the search field is used:
|
|
222
|
+
* - `all`: Will toggle all columns.
|
|
223
|
+
* - `filteredOnly`: Will only toggle columns that match the search criteria.
|
|
224
|
+
* @default 'all'
|
|
225
|
+
*/
|
|
226
|
+
toggleAllMode: _propTypes.default.oneOf(['all', 'filteredOnly'])
|
|
222
227
|
} : void 0;
|
|
223
228
|
const GridColumnsManagementBody = (0, _styles.styled)('div', {
|
|
224
229
|
name: 'MuiDataGrid',
|
|
@@ -251,7 +256,7 @@ const GridColumnsManagementFooter = (0, _styles.styled)('div', {
|
|
|
251
256
|
})(({
|
|
252
257
|
theme
|
|
253
258
|
}) => ({
|
|
254
|
-
padding: theme.spacing(0.5, 1, 0.5,
|
|
259
|
+
padding: theme.spacing(0.5, 1, 0.5, 3),
|
|
255
260
|
display: 'flex',
|
|
256
261
|
justifyContent: 'space-between',
|
|
257
262
|
borderTop: `1px solid ${theme.palette.divider}`
|
|
@@ -68,7 +68,9 @@ function calculateCellColSpan(params) {
|
|
|
68
68
|
} = params;
|
|
69
69
|
const columnsLength = columns.length;
|
|
70
70
|
const column = columns[columnIndex];
|
|
71
|
-
const
|
|
71
|
+
const row = apiRef.current.getRow(rowId);
|
|
72
|
+
const value = apiRef.current.getRowValue(row, column);
|
|
73
|
+
const colSpan = typeof column.colSpan === 'function' ? column.colSpan(value, row, column, apiRef) : column.colSpan;
|
|
72
74
|
if (!colSpan || colSpan === 1) {
|
|
73
75
|
setCellColSpanInfo(lookup, rowId, columnIndex, {
|
|
74
76
|
spannedByColSpan: false,
|
|
@@ -343,7 +343,7 @@ const useGridCellEditing = (apiRef, props) => {
|
|
|
343
343
|
const row = apiRef.current.getRow(id);
|
|
344
344
|
let parsedValue = value;
|
|
345
345
|
if (column.valueParser && !skipValueParser) {
|
|
346
|
-
parsedValue = column.valueParser(value,
|
|
346
|
+
parsedValue = column.valueParser(value, row, column, apiRef);
|
|
347
347
|
}
|
|
348
348
|
let editingState = (0, _gridEditingSelectors.gridEditRowsStateSelector)(apiRef.current.state);
|
|
349
349
|
let newProps = (0, _extends2.default)({}, editingState[id][field], {
|
|
@@ -391,10 +391,7 @@ const useGridCellEditing = (apiRef, props) => {
|
|
|
391
391
|
const {
|
|
392
392
|
value
|
|
393
393
|
} = editingState[id][field];
|
|
394
|
-
return column.valueSetter ? column.valueSetter({
|
|
395
|
-
value,
|
|
396
|
-
row
|
|
397
|
-
}) : (0, _extends2.default)({}, row, {
|
|
394
|
+
return column.valueSetter ? column.valueSetter(value, row, column, apiRef) : (0, _extends2.default)({}, row, {
|
|
398
395
|
[field]: value
|
|
399
396
|
});
|
|
400
397
|
}, [apiRef]);
|
|
@@ -418,7 +418,7 @@ const useGridRowEditing = (apiRef, props) => {
|
|
|
418
418
|
const row = apiRef.current.getRow(id);
|
|
419
419
|
let parsedValue = value;
|
|
420
420
|
if (column.valueParser && !skipValueParser) {
|
|
421
|
-
parsedValue = column.valueParser(value,
|
|
421
|
+
parsedValue = column.valueParser(value, row, column, apiRef);
|
|
422
422
|
}
|
|
423
423
|
let editingState = (0, _gridEditingSelectors.gridEditRowsStateSelector)(apiRef.current.state);
|
|
424
424
|
let newProps = (0, _extends2.default)({}, editingState[id][field], {
|
|
@@ -518,10 +518,7 @@ const useGridRowEditing = (apiRef, props) => {
|
|
|
518
518
|
Object.entries(editingState[id]).forEach(([field, fieldProps]) => {
|
|
519
519
|
const column = apiRef.current.getColumn(field);
|
|
520
520
|
if (column.valueSetter) {
|
|
521
|
-
rowUpdate = column.valueSetter(
|
|
522
|
-
value: fieldProps.value,
|
|
523
|
-
row: rowUpdate
|
|
524
|
-
});
|
|
521
|
+
rowUpdate = column.valueSetter(fieldProps.value, rowUpdate, column, apiRef);
|
|
525
522
|
} else {
|
|
526
523
|
rowUpdate[field] = fieldProps.value;
|
|
527
524
|
}
|
|
@@ -99,7 +99,7 @@ const getFilterCallbackFromItem = (filterItem, apiRef) => {
|
|
|
99
99
|
let parsedValue;
|
|
100
100
|
if (column.valueParser) {
|
|
101
101
|
const parser = column.valueParser;
|
|
102
|
-
parsedValue = Array.isArray(filterItem.value) ? filterItem.value?.map(x => parser(x)) : parser(filterItem.value);
|
|
102
|
+
parsedValue = Array.isArray(filterItem.value) ? filterItem.value?.map(x => parser(x, undefined, column, apiRef)) : parser(filterItem.value, undefined, column, apiRef);
|
|
103
103
|
} else {
|
|
104
104
|
parsedValue = filterItem.value;
|
|
105
105
|
}
|
|
@@ -7,7 +7,6 @@ exports.MissingRowIdError = void 0;
|
|
|
7
7
|
exports.useGridParamsApi = useGridParamsApi;
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _domUtils = require("../../../utils/domUtils");
|
|
10
|
-
var _gridRowsUtils = require("./gridRowsUtils");
|
|
11
10
|
var _useGridApiMethod = require("../../utils/useGridApiMethod");
|
|
12
11
|
var _gridFocusStateSelector = require("../focus/gridFocusStateSelector");
|
|
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); }
|
|
@@ -23,10 +22,7 @@ class MissingRowIdError extends Error {}
|
|
|
23
22
|
* TODO: Impossible priority - useGridFocus also needs to be after useGridParamsApi
|
|
24
23
|
*/
|
|
25
24
|
exports.MissingRowIdError = MissingRowIdError;
|
|
26
|
-
function useGridParamsApi(apiRef
|
|
27
|
-
const {
|
|
28
|
-
getRowId
|
|
29
|
-
} = props;
|
|
25
|
+
function useGridParamsApi(apiRef) {
|
|
30
26
|
const getColumnHeaderParams = React.useCallback(field => ({
|
|
31
27
|
field,
|
|
32
28
|
colDef: apiRef.current.getColumn(field)
|
|
@@ -43,28 +39,6 @@ function useGridParamsApi(apiRef, props) {
|
|
|
43
39
|
};
|
|
44
40
|
return params;
|
|
45
41
|
}, [apiRef]);
|
|
46
|
-
const getBaseCellParams = React.useCallback((id, field) => {
|
|
47
|
-
const row = apiRef.current.getRow(id);
|
|
48
|
-
const rowNode = apiRef.current.getRowNode(id);
|
|
49
|
-
if (!row || !rowNode) {
|
|
50
|
-
throw new MissingRowIdError(`No row with id #${id} found`);
|
|
51
|
-
}
|
|
52
|
-
const cellFocus = (0, _gridFocusStateSelector.gridFocusCellSelector)(apiRef);
|
|
53
|
-
const cellTabIndex = (0, _gridFocusStateSelector.gridTabIndexCellSelector)(apiRef);
|
|
54
|
-
const params = {
|
|
55
|
-
id,
|
|
56
|
-
field,
|
|
57
|
-
row,
|
|
58
|
-
rowNode,
|
|
59
|
-
value: row[field],
|
|
60
|
-
colDef: apiRef.current.getColumn(field),
|
|
61
|
-
cellMode: apiRef.current.getCellMode(id, field),
|
|
62
|
-
api: apiRef.current,
|
|
63
|
-
hasFocus: cellFocus !== null && cellFocus.field === field && cellFocus.id === id,
|
|
64
|
-
tabIndex: cellTabIndex && cellTabIndex.field === field && cellTabIndex.id === id ? 0 : -1
|
|
65
|
-
};
|
|
66
|
-
return params;
|
|
67
|
-
}, [apiRef]);
|
|
68
42
|
const getCellParams = React.useCallback((id, field) => {
|
|
69
43
|
const colDef = apiRef.current.getColumn(field);
|
|
70
44
|
const value = apiRef.current.getCellValue(id, field);
|
|
@@ -89,12 +63,7 @@ function useGridParamsApi(apiRef, props) {
|
|
|
89
63
|
isEditable: false
|
|
90
64
|
};
|
|
91
65
|
if (colDef && colDef.valueFormatter) {
|
|
92
|
-
params.formattedValue = colDef.valueFormatter(
|
|
93
|
-
id,
|
|
94
|
-
field: params.field,
|
|
95
|
-
value: params.value,
|
|
96
|
-
api: apiRef.current
|
|
97
|
-
});
|
|
66
|
+
params.formattedValue = colDef.valueFormatter(value, row, colDef, apiRef);
|
|
98
67
|
}
|
|
99
68
|
params.isEditable = colDef && apiRef.current.isCellEditable(params);
|
|
100
69
|
return params;
|
|
@@ -108,30 +77,28 @@ function useGridParamsApi(apiRef, props) {
|
|
|
108
77
|
}
|
|
109
78
|
return rowModel[field];
|
|
110
79
|
}
|
|
111
|
-
|
|
112
|
-
|
|
80
|
+
const row = apiRef.current.getRow(id);
|
|
81
|
+
if (!row) {
|
|
82
|
+
throw new MissingRowIdError(`No row with id #${id} found`);
|
|
83
|
+
}
|
|
84
|
+
const value = row[colDef.field];
|
|
85
|
+
return colDef.valueGetter(value, row, colDef, apiRef);
|
|
86
|
+
}, [apiRef]);
|
|
113
87
|
const getRowValue = React.useCallback((row, colDef) => {
|
|
114
|
-
const id = _gridRowsUtils.GRID_ID_AUTOGENERATED in row ? row[_gridRowsUtils.GRID_ID_AUTOGENERATED] : getRowId?.(row) ?? row.id;
|
|
115
88
|
const field = colDef.field;
|
|
116
89
|
if (!colDef || !colDef.valueGetter) {
|
|
117
90
|
return row[field];
|
|
118
91
|
}
|
|
119
|
-
|
|
120
|
-
|
|
92
|
+
const value = row[colDef.field];
|
|
93
|
+
return colDef.valueGetter(value, row, colDef, apiRef);
|
|
94
|
+
}, [apiRef]);
|
|
121
95
|
const getRowFormattedValue = React.useCallback((row, colDef) => {
|
|
122
96
|
const value = getRowValue(row, colDef);
|
|
123
97
|
if (!colDef || !colDef.valueFormatter) {
|
|
124
98
|
return value;
|
|
125
99
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
return colDef.valueFormatter({
|
|
129
|
-
id,
|
|
130
|
-
field,
|
|
131
|
-
value,
|
|
132
|
-
api: apiRef.current
|
|
133
|
-
});
|
|
134
|
-
}, [apiRef, getRowId, getRowValue]);
|
|
100
|
+
return colDef.valueFormatter(value, row, colDef, apiRef);
|
|
101
|
+
}, [apiRef, getRowValue]);
|
|
135
102
|
const getColumnHeaderElement = React.useCallback(field => {
|
|
136
103
|
if (!apiRef.current.rootElementRef.current) {
|
|
137
104
|
return null;
|
package/node/index.js
CHANGED
package/node/locales/heIL.js
CHANGED
|
@@ -65,13 +65,12 @@ const heILGrid = {
|
|
|
65
65
|
filterOperatorIsEmpty: 'ריק',
|
|
66
66
|
filterOperatorIsNotEmpty: 'אינו ריק',
|
|
67
67
|
filterOperatorIsAnyOf: 'הוא אחד מ-',
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
'filterOperator=': '=',
|
|
69
|
+
'filterOperator!=': '!=',
|
|
70
|
+
'filterOperator>': '>',
|
|
71
|
+
'filterOperator>=': '>=',
|
|
72
|
+
'filterOperator<': '<',
|
|
73
|
+
'filterOperator<=': '<=',
|
|
75
74
|
// Header filter operators text
|
|
76
75
|
headerFilterOperatorContains: 'מכיל',
|
|
77
76
|
headerFilterOperatorEquals: 'שווה',
|
|
@@ -139,7 +138,7 @@ const heILGrid = {
|
|
|
139
138
|
groupColumn: name => `קבץ לפי ${name}`,
|
|
140
139
|
unGroupColumn: name => `הפסק לקבץ לפי ${name}`,
|
|
141
140
|
// Master/detail
|
|
142
|
-
|
|
141
|
+
detailPanelToggle: 'הצג/הסתר פרטים',
|
|
143
142
|
expandDetailPanel: 'הרחב',
|
|
144
143
|
collapseDetailPanel: 'כווץ',
|
|
145
144
|
// Row reordering text
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/x-data-grid",
|
|
3
|
-
"version": "7.0.0-beta.
|
|
3
|
+
"version": "7.0.0-beta.1",
|
|
4
4
|
"description": "The community edition of the data grid component (MUI X).",
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"main": "./node/index.js",
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
"directory": "packages/grid/x-data-grid"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@babel/runtime": "^7.23.
|
|
40
|
-
"@mui/system": "^5.15.
|
|
41
|
-
"@mui/utils": "^5.15.
|
|
39
|
+
"@babel/runtime": "^7.23.9",
|
|
40
|
+
"@mui/system": "^5.15.7",
|
|
41
|
+
"@mui/utils": "^5.15.7",
|
|
42
42
|
"clsx": "^2.1.0",
|
|
43
43
|
"prop-types": "^15.8.1",
|
|
44
44
|
"reselect": "^4.1.8"
|