@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.
Files changed (68) hide show
  1. package/CHANGELOG.md +247 -0
  2. package/DataGrid/useDataGridComponent.js +1 -1
  3. package/colDef/gridBooleanColDef.js +3 -6
  4. package/colDef/gridCheckboxSelectionColDef.js +4 -3
  5. package/colDef/gridDateColDef.d.ts +3 -4
  6. package/colDef/gridDateColDef.js +10 -16
  7. package/colDef/gridNumericColDef.js +1 -3
  8. package/colDef/gridSingleSelectColDef.js +7 -12
  9. package/components/cell/GridEditInputCell.js +1 -1
  10. package/components/columnsManagement/GridColumnsManagement.d.ts +7 -0
  11. package/components/columnsManagement/GridColumnsManagement.js +26 -21
  12. package/hooks/features/columns/useGridColumnSpanning.js +3 -1
  13. package/hooks/features/editing/useGridCellEditing.js +2 -5
  14. package/hooks/features/editing/useGridRowEditing.js +2 -5
  15. package/hooks/features/filter/gridFilterUtils.js +1 -1
  16. package/hooks/features/rows/useGridParamsApi.d.ts +1 -2
  17. package/hooks/features/rows/useGridParamsApi.js +14 -49
  18. package/index.js +1 -1
  19. package/legacy/DataGrid/useDataGridComponent.js +1 -1
  20. package/legacy/colDef/gridBooleanColDef.js +3 -5
  21. package/legacy/colDef/gridCheckboxSelectionColDef.js +4 -3
  22. package/legacy/colDef/gridDateColDef.js +10 -14
  23. package/legacy/colDef/gridNumericColDef.js +1 -2
  24. package/legacy/colDef/gridSingleSelectColDef.js +7 -10
  25. package/legacy/components/cell/GridEditInputCell.js +1 -1
  26. package/legacy/components/columnsManagement/GridColumnsManagement.js +38 -31
  27. package/legacy/hooks/features/columns/useGridColumnSpanning.js +3 -1
  28. package/legacy/hooks/features/editing/useGridCellEditing.js +2 -5
  29. package/legacy/hooks/features/editing/useGridRowEditing.js +2 -5
  30. package/legacy/hooks/features/filter/gridFilterUtils.js +2 -2
  31. package/legacy/hooks/features/rows/useGridParamsApi.js +14 -47
  32. package/legacy/index.js +1 -1
  33. package/legacy/locales/heIL.js +7 -8
  34. package/locales/heIL.js +7 -8
  35. package/models/colDef/gridColDef.d.ts +11 -17
  36. package/models/colDef/index.d.ts +1 -1
  37. package/models/params/gridCellParams.d.ts +0 -26
  38. package/modern/DataGrid/useDataGridComponent.js +1 -1
  39. package/modern/colDef/gridBooleanColDef.js +3 -6
  40. package/modern/colDef/gridCheckboxSelectionColDef.js +4 -3
  41. package/modern/colDef/gridDateColDef.js +10 -16
  42. package/modern/colDef/gridNumericColDef.js +1 -3
  43. package/modern/colDef/gridSingleSelectColDef.js +7 -12
  44. package/modern/components/cell/GridEditInputCell.js +1 -1
  45. package/modern/components/columnsManagement/GridColumnsManagement.js +26 -21
  46. package/modern/hooks/features/columns/useGridColumnSpanning.js +3 -1
  47. package/modern/hooks/features/editing/useGridCellEditing.js +2 -5
  48. package/modern/hooks/features/editing/useGridRowEditing.js +2 -5
  49. package/modern/hooks/features/filter/gridFilterUtils.js +1 -1
  50. package/modern/hooks/features/rows/useGridParamsApi.js +14 -47
  51. package/modern/index.js +1 -1
  52. package/modern/locales/heIL.js +7 -8
  53. package/node/DataGrid/useDataGridComponent.js +1 -1
  54. package/node/colDef/gridBooleanColDef.js +3 -6
  55. package/node/colDef/gridCheckboxSelectionColDef.js +4 -3
  56. package/node/colDef/gridDateColDef.js +13 -19
  57. package/node/colDef/gridNumericColDef.js +1 -3
  58. package/node/colDef/gridSingleSelectColDef.js +7 -12
  59. package/node/components/cell/GridEditInputCell.js +1 -1
  60. package/node/components/columnsManagement/GridColumnsManagement.js +26 -21
  61. package/node/hooks/features/columns/useGridColumnSpanning.js +3 -1
  62. package/node/hooks/features/editing/useGridCellEditing.js +2 -5
  63. package/node/hooks/features/editing/useGridRowEditing.js +2 -5
  64. package/node/hooks/features/filter/gridFilterUtils.js +1 -1
  65. package/node/hooks/features/rows/useGridParamsApi.js +14 -47
  66. package/node/index.js +1 -1
  67. package/node/locales/heIL.js +7 -8
  68. 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
- function gridDateFormatter({
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: id,
37
- field
31
+ rowId,
32
+ field: column.field
38
33
  });
39
34
  return value.toLocaleDateString();
40
- }
41
- function gridDateTimeFormatter({
42
- value,
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: id,
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(params) {
28
- const {
29
- id,
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: id ? api.getRow(id) : null
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, params) => {
58
- const colDef = params.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.getCellParams(id, field));
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
- }, rootProps.slotProps?.baseCheckbox)),
174
- sx: {
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, 2.4),
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 colSpan = typeof column.colSpan === 'function' ? column.colSpan(apiRef.current.getCellParams(rowId, column.field)) : column.colSpan;
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, apiRef.current.getCellParams(id, field));
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, apiRef.current.getCellParams(id, field));
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, props) {
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
- return colDef.valueGetter(getBaseCellParams(id, field));
112
- }, [apiRef, getBaseCellParams]);
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
- return colDef.valueGetter(getBaseCellParams(id, field));
120
- }, [getBaseCellParams, getRowId]);
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
- const id = (getRowId ? getRowId(row) : row.id) ?? row[_gridRowsUtils.GRID_ID_AUTOGENERATED];
127
- const field = colDef.field;
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
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/x-data-grid v7.0.0-beta.0
2
+ * @mui/x-data-grid v7.0.0-beta.1
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -65,13 +65,12 @@ const heILGrid = {
65
65
  filterOperatorIsEmpty: 'ריק',
66
66
  filterOperatorIsNotEmpty: 'אינו ריק',
67
67
  filterOperatorIsAnyOf: 'הוא אחד מ-',
68
- // 'filterOperator=': '=',
69
- // 'filterOperator!=': '!=',
70
- // 'filterOperator>': '>',
71
- // 'filterOperator>=': '>=',
72
- // 'filterOperator<': '<',
73
- // 'filterOperator<=': '<=',
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
- // detailPanelToggle: 'Detail panel toggle',
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.0",
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.8",
40
- "@mui/system": "^5.15.6",
41
- "@mui/utils": "^5.15.6",
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"