@mui/x-data-grid 6.18.1 → 7.0.0-alpha.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.
Files changed (119) hide show
  1. package/CHANGELOG.md +149 -0
  2. package/DataGrid/DataGrid.js +0 -10
  3. package/DataGrid/useDataGridProps.js +9 -14
  4. package/colDef/gridActionsColDef.js +1 -2
  5. package/colDef/gridBooleanColDef.js +0 -1
  6. package/colDef/gridBooleanOperators.js +3 -4
  7. package/colDef/gridCheckboxSelectionColDef.js +0 -1
  8. package/colDef/gridDateOperators.js +10 -11
  9. package/colDef/gridNumericColDef.js +1 -3
  10. package/colDef/gridNumericOperators.d.ts +2 -2
  11. package/colDef/gridNumericOperators.js +13 -14
  12. package/colDef/gridSingleSelectOperators.js +5 -6
  13. package/colDef/gridStringColDef.js +1 -3
  14. package/colDef/gridStringOperators.d.ts +2 -2
  15. package/colDef/gridStringOperators.js +11 -12
  16. package/constants/defaultGridSlotsComponents.js +17 -17
  17. package/hooks/features/export/useGridPrintExport.js +7 -10
  18. package/hooks/features/filter/gridFilterUtils.js +14 -68
  19. package/hooks/features/rows/useGridRows.js +4 -1
  20. package/index.js +1 -1
  21. package/internals/index.d.ts +0 -1
  22. package/internals/index.js +0 -1
  23. package/internals/utils/computeSlots.d.ts +4 -6
  24. package/internals/utils/computeSlots.js +2 -8
  25. package/internals/utils/index.d.ts +0 -1
  26. package/internals/utils/index.js +0 -1
  27. package/internals/utils/useProps.d.ts +1 -8
  28. package/internals/utils/useProps.js +5 -8
  29. package/joy/icons.d.ts +1 -2
  30. package/joy/joySlots.d.ts +1 -2
  31. package/legacy/DataGrid/DataGrid.js +0 -10
  32. package/legacy/DataGrid/useDataGridProps.js +10 -18
  33. package/legacy/colDef/gridActionsColDef.js +1 -2
  34. package/legacy/colDef/gridBooleanColDef.js +0 -1
  35. package/legacy/colDef/gridBooleanOperators.js +3 -4
  36. package/legacy/colDef/gridCheckboxSelectionColDef.js +0 -1
  37. package/legacy/colDef/gridDateOperators.js +10 -11
  38. package/legacy/colDef/gridNumericColDef.js +1 -3
  39. package/legacy/colDef/gridNumericOperators.js +13 -14
  40. package/legacy/colDef/gridSingleSelectOperators.js +5 -6
  41. package/legacy/colDef/gridStringColDef.js +1 -3
  42. package/legacy/colDef/gridStringOperators.js +11 -12
  43. package/legacy/constants/defaultGridSlotsComponents.js +17 -17
  44. package/legacy/hooks/features/export/useGridPrintExport.js +7 -10
  45. package/legacy/hooks/features/filter/gridFilterUtils.js +14 -68
  46. package/legacy/hooks/features/rows/useGridRows.js +2 -1
  47. package/legacy/index.js +1 -1
  48. package/legacy/internals/index.js +0 -1
  49. package/legacy/internals/utils/computeSlots.js +2 -8
  50. package/legacy/internals/utils/index.js +0 -1
  51. package/legacy/internals/utils/useProps.js +5 -6
  52. package/legacy/locales/csCZ.js +2 -2
  53. package/legacy/material/index.js +48 -48
  54. package/locales/csCZ.js +2 -2
  55. package/material/index.js +48 -48
  56. package/models/colDef/gridColDef.d.ts +4 -14
  57. package/models/colDef/index.d.ts +1 -1
  58. package/models/gridFilterOperator.d.ts +4 -16
  59. package/models/gridIconSlotsComponent.d.ts +35 -36
  60. package/models/gridSlotsComponent.d.ts +31 -34
  61. package/models/index.d.ts +1 -1
  62. package/models/props/DataGridProps.d.ts +3 -14
  63. package/modern/DataGrid/DataGrid.js +0 -10
  64. package/modern/DataGrid/useDataGridProps.js +7 -9
  65. package/modern/colDef/gridActionsColDef.js +1 -2
  66. package/modern/colDef/gridBooleanColDef.js +0 -1
  67. package/modern/colDef/gridBooleanOperators.js +3 -4
  68. package/modern/colDef/gridCheckboxSelectionColDef.js +0 -1
  69. package/modern/colDef/gridDateOperators.js +10 -11
  70. package/modern/colDef/gridNumericColDef.js +1 -3
  71. package/modern/colDef/gridNumericOperators.js +13 -14
  72. package/modern/colDef/gridSingleSelectOperators.js +5 -6
  73. package/modern/colDef/gridStringColDef.js +1 -3
  74. package/modern/colDef/gridStringOperators.js +11 -12
  75. package/modern/constants/defaultGridSlotsComponents.js +17 -17
  76. package/modern/hooks/features/export/useGridPrintExport.js +6 -10
  77. package/modern/hooks/features/filter/gridFilterUtils.js +14 -67
  78. package/modern/hooks/features/rows/useGridRows.js +1 -1
  79. package/modern/index.js +1 -1
  80. package/modern/internals/index.js +0 -1
  81. package/modern/internals/utils/computeSlots.js +2 -8
  82. package/modern/internals/utils/index.js +0 -1
  83. package/modern/internals/utils/useProps.js +5 -8
  84. package/modern/locales/csCZ.js +2 -2
  85. package/modern/material/index.js +48 -48
  86. package/node/DataGrid/DataGrid.js +0 -10
  87. package/node/DataGrid/useDataGridProps.js +6 -8
  88. package/node/colDef/gridActionsColDef.js +1 -2
  89. package/node/colDef/gridBooleanColDef.js +0 -1
  90. package/node/colDef/gridBooleanOperators.js +3 -4
  91. package/node/colDef/gridCheckboxSelectionColDef.js +0 -1
  92. package/node/colDef/gridDateOperators.js +10 -11
  93. package/node/colDef/gridNumericColDef.js +1 -3
  94. package/node/colDef/gridNumericOperators.js +14 -14
  95. package/node/colDef/gridSingleSelectOperators.js +5 -6
  96. package/node/colDef/gridStringColDef.js +1 -3
  97. package/node/colDef/gridStringOperators.js +12 -12
  98. package/node/constants/defaultGridSlotsComponents.js +17 -17
  99. package/node/hooks/features/export/useGridPrintExport.js +5 -9
  100. package/node/hooks/features/filter/gridFilterUtils.js +14 -67
  101. package/node/hooks/features/rows/useGridRows.js +1 -1
  102. package/node/index.js +1 -1
  103. package/node/internals/index.js +1 -13
  104. package/node/internals/utils/computeSlots.js +2 -7
  105. package/node/internals/utils/index.js +0 -11
  106. package/node/internals/utils/useProps.js +4 -8
  107. package/node/locales/csCZ.js +2 -2
  108. package/node/material/index.js +48 -48
  109. package/package.json +1 -1
  110. package/colDef/utils.d.ts +0 -21
  111. package/colDef/utils.js +0 -51
  112. package/internals/utils/slotsMigration.d.ts +0 -4
  113. package/internals/utils/slotsMigration.js +0 -13
  114. package/legacy/colDef/utils.js +0 -51
  115. package/legacy/internals/utils/slotsMigration.js +0 -14
  116. package/modern/colDef/utils.js +0 -51
  117. package/modern/internals/utils/slotsMigration.js +0 -13
  118. package/node/colDef/utils.js +0 -63
  119. package/node/internals/utils/slotsMigration.js +0 -21
@@ -24,7 +24,6 @@ import { GridColumnVisibilityModel } from '../../hooks/features/columns/gridColu
24
24
  import { GridCellModesModel, GridRowModesModel } from '../api/gridEditingApi';
25
25
  import { GridColumnGroupingModel } from '../gridColumnGrouping';
26
26
  import { GridPaginationModel } from '../gridPaginationProps';
27
- import { UncapitalizeObjectKeys } from '../../internals/utils';
28
27
  export interface GridExperimentalFeatures {
29
28
  /**
30
29
  * Enables the column grouping.
@@ -51,7 +50,7 @@ export type DataGridProps<R extends GridValidRowModel = any> = Omit<Partial<Data
51
50
  /**
52
51
  * The props of the `DataGrid` component after the pre-processing phase.
53
52
  */
54
- export interface DataGridProcessedProps<R extends GridValidRowModel = any> extends DataGridPropsWithDefaultValues, DataGridPropsWithComplexDefaultValueAfterProcessing, Omit<DataGridPropsWithoutDefaultValue<R>, 'componentsProps'> {
53
+ export interface DataGridProcessedProps<R extends GridValidRowModel = any> extends DataGridPropsWithDefaultValues, DataGridPropsWithComplexDefaultValueAfterProcessing, DataGridPropsWithoutDefaultValue<R> {
55
54
  }
56
55
  /**
57
56
  * The props of the `DataGrid` component after the pre-processing phase that the user should not be able to override.
@@ -62,7 +61,7 @@ export type DataGridForcedPropsKey = 'checkboxSelectionVisibleOnly' | 'disableMu
62
61
  * The `DataGrid` options with a default value that must be merged with the value given through props.
63
62
  */
64
63
  export interface DataGridPropsWithComplexDefaultValueAfterProcessing {
65
- slots: UncapitalizeObjectKeys<GridSlotsComponent>;
64
+ slots: GridSlotsComponent;
66
65
  localeText: GridLocaleText;
67
66
  }
68
67
  /**
@@ -71,13 +70,8 @@ export interface DataGridPropsWithComplexDefaultValueAfterProcessing {
71
70
  export interface DataGridPropsWithComplexDefaultValueBeforeProcessing {
72
71
  /**
73
72
  * Overridable components.
74
- * @deprecated Use `slots` instead.
75
73
  */
76
- components?: Partial<GridSlotsComponent>;
77
- /**
78
- * Overridable components.
79
- */
80
- slots?: UncapitalizeObjectKeys<Partial<GridSlotsComponent>>;
74
+ slots?: Partial<GridSlotsComponent>;
81
75
  /**
82
76
  * Set the locale text of the grid.
83
77
  * You can find all the translation keys supported in [the source](https://github.com/mui/mui-x/blob/HEAD/packages/grid/x-data-grid/src/constants/localeTextConstants.ts) in the GitHub repository.
@@ -703,11 +697,6 @@ export interface DataGridPropsWithoutDefaultValue<R extends GridValidRowModel =
703
697
  * Overridable components props dynamically passed to the component at rendering.
704
698
  */
705
699
  slotProps?: GridSlotsComponentsProps;
706
- /**
707
- * Overridable components props dynamically passed to the component at rendering.
708
- * @deprecated Use the `slotProps` prop instead.
709
- */
710
- componentsProps?: GridSlotsComponentsProps;
711
700
  /**
712
701
  * The system prop that allows defining system overrides as well as additional CSS styles.
713
702
  */
@@ -125,16 +125,6 @@ DataGridRaw.propTypes = {
125
125
  * If defined, the grid will ignore the `hide` property in [[GridColDef]].
126
126
  */
127
127
  columnVisibilityModel: PropTypes.object,
128
- /**
129
- * Overridable components.
130
- * @deprecated Use `slots` instead.
131
- */
132
- components: PropTypes.object,
133
- /**
134
- * Overridable components props dynamically passed to the component at rendering.
135
- * @deprecated Use the `slotProps` prop instead.
136
- */
137
- componentsProps: PropTypes.object,
138
128
  /**
139
129
  * Set the density of the grid.
140
130
  * @default "standard"
@@ -4,7 +4,7 @@ import { useThemeProps } from '@mui/material/styles';
4
4
  import { GRID_DEFAULT_LOCALE_TEXT } from '../constants';
5
5
  import { DATA_GRID_DEFAULT_SLOTS_COMPONENTS } from '../constants/defaultGridSlotsComponents';
6
6
  import { GridEditModes } from '../models';
7
- import { computeSlots, useProps, uncapitalizeObjectKeys } from '../internals/utils';
7
+ import { computeSlots, useProps } from '../internals/utils';
8
8
  const DATA_GRID_FORCED_PROPS = {
9
9
  disableMultipleColumnsFiltering: true,
10
10
  disableMultipleColumnsSorting: true,
@@ -72,21 +72,19 @@ export const DATA_GRID_PROPS_DEFAULT_VALUES = {
72
72
  clipboardCopyCellDelimiter: '\t',
73
73
  rowPositionsDebounceMs: 166
74
74
  };
75
- const defaultSlots = uncapitalizeObjectKeys(DATA_GRID_DEFAULT_SLOTS_COMPONENTS);
75
+ const defaultSlots = DATA_GRID_DEFAULT_SLOTS_COMPONENTS;
76
76
  export const useDataGridProps = inProps => {
77
- const [components, componentsProps, themedProps] = useProps(useThemeProps({
77
+ const themedProps = useProps(useThemeProps({
78
78
  props: inProps,
79
79
  name: 'MuiDataGrid'
80
80
  }));
81
81
  const localeText = React.useMemo(() => _extends({}, GRID_DEFAULT_LOCALE_TEXT, themedProps.localeText), [themedProps.localeText]);
82
82
  const slots = React.useMemo(() => computeSlots({
83
83
  defaultSlots,
84
- slots: themedProps.slots,
85
- components
86
- }), [components, themedProps.slots]);
84
+ slots: themedProps.slots
85
+ }), [themedProps.slots]);
87
86
  return React.useMemo(() => _extends({}, DATA_GRID_PROPS_DEFAULT_VALUES, themedProps, {
88
87
  localeText,
89
- slots,
90
- slotProps: themedProps.slotProps ?? componentsProps
91
- }, DATA_GRID_FORCED_PROPS), [themedProps, localeText, slots, componentsProps]);
88
+ slots
89
+ }, DATA_GRID_FORCED_PROPS), [themedProps, localeText, slots]);
92
90
  };
@@ -14,6 +14,5 @@ export const GRID_ACTIONS_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
14
14
  disableColumnMenu: true,
15
15
  disableExport: true,
16
16
  renderCell: renderActionsCell,
17
- getApplyQuickFilterFn: undefined,
18
- getApplyQuickFilterFnV7: undefined
17
+ getApplyQuickFilterFn: undefined
19
18
  });
@@ -36,7 +36,6 @@ export const GRID_BOOLEAN_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
36
36
  valueFormatter: gridBooleanFormatter,
37
37
  filterOperators: getGridBooleanOperators(),
38
38
  getApplyQuickFilterFn: undefined,
39
- getApplyQuickFilterFnV7: undefined,
40
39
  // @ts-ignore
41
40
  aggregable: false,
42
41
  // @ts-ignore
@@ -1,8 +1,7 @@
1
1
  import { GridFilterInputBoolean } from '../components/panel/filterPanel/GridFilterInputBoolean';
2
- import { convertLegacyOperators } from './utils';
3
- export const getGridBooleanOperators = () => convertLegacyOperators([{
2
+ export const getGridBooleanOperators = () => [{
4
3
  value: 'is',
5
- getApplyFilterFnV7: filterItem => {
4
+ getApplyFilterFn: filterItem => {
6
5
  if (!filterItem.value) {
7
6
  return null;
8
7
  }
@@ -12,4 +11,4 @@ export const getGridBooleanOperators = () => convertLegacyOperators([{
12
11
  };
13
12
  },
14
13
  InputComponent: GridFilterInputBoolean
15
- }]);
14
+ }];
@@ -19,7 +19,6 @@ export const GRID_CHECKBOX_SELECTION_COL_DEF = _extends({}, GRID_BOOLEAN_COL_DEF
19
19
  disableReorder: true,
20
20
  disableExport: true,
21
21
  getApplyQuickFilterFn: undefined,
22
- getApplyQuickFilterFnV7: undefined,
23
22
  valueGetter: params => {
24
23
  const selectionLookup = selectedIdsLookupSelector(params.api.state, params.api.instanceId);
25
24
  return selectionLookup[params.id] !== undefined;
@@ -1,5 +1,4 @@
1
1
  import { GridFilterInputDate } from '../components/panel/filterPanel/GridFilterInputDate';
2
- import { convertLegacyOperators } from './utils';
3
2
  const dateRegex = /(\d+)-(\d+)-(\d+)/;
4
3
  const dateTimeRegex = /(\d+)-(\d+)-(\d+)T(\d+):(\d+)/;
5
4
  function buildApplyFilterFn(filterItem, compareFn, showTime, keepHours) {
@@ -22,9 +21,9 @@ function buildApplyFilterFn(filterItem, compareFn, showTime, keepHours) {
22
21
  return compareFn(timeToCompare, time);
23
22
  };
24
23
  }
25
- export const getGridDateOperators = showTime => convertLegacyOperators([{
24
+ export const getGridDateOperators = showTime => [{
26
25
  value: 'is',
27
- getApplyFilterFnV7: filterItem => {
26
+ getApplyFilterFn: filterItem => {
28
27
  return buildApplyFilterFn(filterItem, (value1, value2) => value1 === value2, showTime);
29
28
  },
30
29
  InputComponent: GridFilterInputDate,
@@ -33,7 +32,7 @@ export const getGridDateOperators = showTime => convertLegacyOperators([{
33
32
  }
34
33
  }, {
35
34
  value: 'not',
36
- getApplyFilterFnV7: filterItem => {
35
+ getApplyFilterFn: filterItem => {
37
36
  return buildApplyFilterFn(filterItem, (value1, value2) => value1 !== value2, showTime);
38
37
  },
39
38
  InputComponent: GridFilterInputDate,
@@ -42,7 +41,7 @@ export const getGridDateOperators = showTime => convertLegacyOperators([{
42
41
  }
43
42
  }, {
44
43
  value: 'after',
45
- getApplyFilterFnV7: filterItem => {
44
+ getApplyFilterFn: filterItem => {
46
45
  return buildApplyFilterFn(filterItem, (value1, value2) => value1 > value2, showTime);
47
46
  },
48
47
  InputComponent: GridFilterInputDate,
@@ -51,7 +50,7 @@ export const getGridDateOperators = showTime => convertLegacyOperators([{
51
50
  }
52
51
  }, {
53
52
  value: 'onOrAfter',
54
- getApplyFilterFnV7: filterItem => {
53
+ getApplyFilterFn: filterItem => {
55
54
  return buildApplyFilterFn(filterItem, (value1, value2) => value1 >= value2, showTime);
56
55
  },
57
56
  InputComponent: GridFilterInputDate,
@@ -60,7 +59,7 @@ export const getGridDateOperators = showTime => convertLegacyOperators([{
60
59
  }
61
60
  }, {
62
61
  value: 'before',
63
- getApplyFilterFnV7: filterItem => {
62
+ getApplyFilterFn: filterItem => {
64
63
  return buildApplyFilterFn(filterItem, (value1, value2) => value1 < value2, showTime, !showTime);
65
64
  },
66
65
  InputComponent: GridFilterInputDate,
@@ -69,7 +68,7 @@ export const getGridDateOperators = showTime => convertLegacyOperators([{
69
68
  }
70
69
  }, {
71
70
  value: 'onOrBefore',
72
- getApplyFilterFnV7: filterItem => {
71
+ getApplyFilterFn: filterItem => {
73
72
  return buildApplyFilterFn(filterItem, (value1, value2) => value1 <= value2, showTime);
74
73
  },
75
74
  InputComponent: GridFilterInputDate,
@@ -78,7 +77,7 @@ export const getGridDateOperators = showTime => convertLegacyOperators([{
78
77
  }
79
78
  }, {
80
79
  value: 'isEmpty',
81
- getApplyFilterFnV7: () => {
80
+ getApplyFilterFn: () => {
82
81
  return value => {
83
82
  return value == null;
84
83
  };
@@ -86,10 +85,10 @@ export const getGridDateOperators = showTime => convertLegacyOperators([{
86
85
  requiresFilterValue: false
87
86
  }, {
88
87
  value: 'isNotEmpty',
89
- getApplyFilterFnV7: () => {
88
+ getApplyFilterFn: () => {
90
89
  return value => {
91
90
  return value != null;
92
91
  };
93
92
  },
94
93
  requiresFilterValue: false
95
- }]);
94
+ }];
@@ -3,7 +3,6 @@ import { gridNumberComparator } from '../hooks/features/sorting/gridSortingUtils
3
3
  import { isNumber } from '../utils/utils';
4
4
  import { getGridNumericOperators, getGridNumericQuickFilterFn } from './gridNumericOperators';
5
5
  import { GRID_STRING_COL_DEF } from './gridStringColDef';
6
- import { convertQuickFilterV7ToLegacy } from './utils';
7
6
  export const GRID_NUMERIC_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
8
7
  type: 'number',
9
8
  align: 'right',
@@ -14,6 +13,5 @@ export const GRID_NUMERIC_COL_DEF = _extends({}, GRID_STRING_COL_DEF, {
14
13
  value
15
14
  }) => isNumber(value) ? value.toLocaleString() : value || '',
16
15
  filterOperators: getGridNumericOperators(),
17
- getApplyQuickFilterFn: convertQuickFilterV7ToLegacy(getGridNumericQuickFilterFn),
18
- getApplyQuickFilterFnV7: getGridNumericQuickFilterFn
16
+ getApplyQuickFilterFn: getGridNumericQuickFilterFn
19
17
  });
@@ -1,23 +1,22 @@
1
1
  import { GridFilterInputValue } from '../components/panel/filterPanel/GridFilterInputValue';
2
2
  import { GridFilterInputMultipleValue } from '../components/panel/filterPanel/GridFilterInputMultipleValue';
3
- import { convertLegacyOperators, tagInternalFilter } from './utils';
4
3
  const parseNumericValue = value => {
5
4
  if (value == null) {
6
5
  return null;
7
6
  }
8
7
  return Number(value);
9
8
  };
10
- export const getGridNumericQuickFilterFn = tagInternalFilter(value => {
9
+ export const getGridNumericQuickFilterFn = value => {
11
10
  if (value == null || Number.isNaN(value) || value === '') {
12
11
  return null;
13
12
  }
14
13
  return columnValue => {
15
14
  return parseNumericValue(columnValue) === parseNumericValue(value);
16
15
  };
17
- });
18
- export const getGridNumericOperators = () => convertLegacyOperators([{
16
+ };
17
+ export const getGridNumericOperators = () => [{
19
18
  value: '=',
20
- getApplyFilterFnV7: filterItem => {
19
+ getApplyFilterFn: filterItem => {
21
20
  if (filterItem.value == null || Number.isNaN(filterItem.value)) {
22
21
  return null;
23
22
  }
@@ -31,7 +30,7 @@ export const getGridNumericOperators = () => convertLegacyOperators([{
31
30
  }
32
31
  }, {
33
32
  value: '!=',
34
- getApplyFilterFnV7: filterItem => {
33
+ getApplyFilterFn: filterItem => {
35
34
  if (filterItem.value == null || Number.isNaN(filterItem.value)) {
36
35
  return null;
37
36
  }
@@ -45,7 +44,7 @@ export const getGridNumericOperators = () => convertLegacyOperators([{
45
44
  }
46
45
  }, {
47
46
  value: '>',
48
- getApplyFilterFnV7: filterItem => {
47
+ getApplyFilterFn: filterItem => {
49
48
  if (filterItem.value == null || Number.isNaN(filterItem.value)) {
50
49
  return null;
51
50
  }
@@ -62,7 +61,7 @@ export const getGridNumericOperators = () => convertLegacyOperators([{
62
61
  }
63
62
  }, {
64
63
  value: '>=',
65
- getApplyFilterFnV7: filterItem => {
64
+ getApplyFilterFn: filterItem => {
66
65
  if (filterItem.value == null || Number.isNaN(filterItem.value)) {
67
66
  return null;
68
67
  }
@@ -79,7 +78,7 @@ export const getGridNumericOperators = () => convertLegacyOperators([{
79
78
  }
80
79
  }, {
81
80
  value: '<',
82
- getApplyFilterFnV7: filterItem => {
81
+ getApplyFilterFn: filterItem => {
83
82
  if (filterItem.value == null || Number.isNaN(filterItem.value)) {
84
83
  return null;
85
84
  }
@@ -96,7 +95,7 @@ export const getGridNumericOperators = () => convertLegacyOperators([{
96
95
  }
97
96
  }, {
98
97
  value: '<=',
99
- getApplyFilterFnV7: filterItem => {
98
+ getApplyFilterFn: filterItem => {
100
99
  if (filterItem.value == null || Number.isNaN(filterItem.value)) {
101
100
  return null;
102
101
  }
@@ -113,7 +112,7 @@ export const getGridNumericOperators = () => convertLegacyOperators([{
113
112
  }
114
113
  }, {
115
114
  value: 'isEmpty',
116
- getApplyFilterFnV7: () => {
115
+ getApplyFilterFn: () => {
117
116
  return value => {
118
117
  return value == null;
119
118
  };
@@ -121,7 +120,7 @@ export const getGridNumericOperators = () => convertLegacyOperators([{
121
120
  requiresFilterValue: false
122
121
  }, {
123
122
  value: 'isNotEmpty',
124
- getApplyFilterFnV7: () => {
123
+ getApplyFilterFn: () => {
125
124
  return value => {
126
125
  return value != null;
127
126
  };
@@ -129,7 +128,7 @@ export const getGridNumericOperators = () => convertLegacyOperators([{
129
128
  requiresFilterValue: false
130
129
  }, {
131
130
  value: 'isAnyOf',
132
- getApplyFilterFnV7: filterItem => {
131
+ getApplyFilterFn: filterItem => {
133
132
  if (!Array.isArray(filterItem.value) || filterItem.value.length === 0) {
134
133
  return null;
135
134
  }
@@ -141,4 +140,4 @@ export const getGridNumericOperators = () => convertLegacyOperators([{
141
140
  InputComponentProps: {
142
141
  type: 'number'
143
142
  }
144
- }]);
143
+ }];
@@ -1,16 +1,15 @@
1
1
  import { GridFilterInputSingleSelect } from '../components/panel/filterPanel/GridFilterInputSingleSelect';
2
2
  import { GridFilterInputMultipleSingleSelect } from '../components/panel/filterPanel/GridFilterInputMultipleSingleSelect';
3
3
  import { isObject } from '../utils/utils';
4
- import { convertLegacyOperators } from './utils';
5
4
  const parseObjectValue = value => {
6
5
  if (value == null || !isObject(value)) {
7
6
  return value;
8
7
  }
9
8
  return value.value;
10
9
  };
11
- export const getGridSingleSelectOperators = () => convertLegacyOperators([{
10
+ export const getGridSingleSelectOperators = () => [{
12
11
  value: 'is',
13
- getApplyFilterFnV7: filterItem => {
12
+ getApplyFilterFn: filterItem => {
14
13
  if (filterItem.value == null || filterItem.value === '') {
15
14
  return null;
16
15
  }
@@ -19,7 +18,7 @@ export const getGridSingleSelectOperators = () => convertLegacyOperators([{
19
18
  InputComponent: GridFilterInputSingleSelect
20
19
  }, {
21
20
  value: 'not',
22
- getApplyFilterFnV7: filterItem => {
21
+ getApplyFilterFn: filterItem => {
23
22
  if (filterItem.value == null || filterItem.value === '') {
24
23
  return null;
25
24
  }
@@ -28,7 +27,7 @@ export const getGridSingleSelectOperators = () => convertLegacyOperators([{
28
27
  InputComponent: GridFilterInputSingleSelect
29
28
  }, {
30
29
  value: 'isAnyOf',
31
- getApplyFilterFnV7: filterItem => {
30
+ getApplyFilterFn: filterItem => {
32
31
  if (!Array.isArray(filterItem.value) || filterItem.value.length === 0) {
33
32
  return null;
34
33
  }
@@ -36,4 +35,4 @@ export const getGridSingleSelectOperators = () => convertLegacyOperators([{
36
35
  return value => filterItemValues.includes(parseObjectValue(value));
37
36
  },
38
37
  InputComponent: GridFilterInputMultipleSingleSelect
39
- }]);
38
+ }];
@@ -1,7 +1,6 @@
1
1
  import { renderEditInputCell } from '../components/cell/GridEditInputCell';
2
2
  import { gridStringOrNumberComparator } from '../hooks/features/sorting/gridSortingUtils';
3
3
  import { getGridStringOperators, getGridStringQuickFilterFn } from './gridStringOperators';
4
- import { convertQuickFilterV7ToLegacy } from './utils';
5
4
 
6
5
  /**
7
6
  * TODO: Move pro and premium properties outside of this Community file
@@ -24,6 +23,5 @@ export const GRID_STRING_COL_DEF = {
24
23
  align: 'left',
25
24
  filterOperators: getGridStringOperators(),
26
25
  renderEditCell: renderEditInputCell,
27
- getApplyQuickFilterFn: convertQuickFilterV7ToLegacy(getGridStringQuickFilterFn),
28
- getApplyQuickFilterFnV7: getGridStringQuickFilterFn
26
+ getApplyQuickFilterFn: getGridStringQuickFilterFn
29
27
  };
@@ -1,9 +1,8 @@
1
1
  import { GridFilterInputValue } from '../components/panel/filterPanel/GridFilterInputValue';
2
2
  import { escapeRegExp } from '../utils/utils';
3
3
  import { GridFilterInputMultipleValue } from '../components/panel/filterPanel/GridFilterInputMultipleValue';
4
- import { convertLegacyOperators, tagInternalFilter } from './utils';
5
4
  import { removeDiacritics } from '../hooks/features/filter/gridFilterUtils';
6
- export const getGridStringQuickFilterFn = tagInternalFilter(value => {
5
+ export const getGridStringQuickFilterFn = value => {
7
6
  if (!value) {
8
7
  return null;
9
8
  }
@@ -15,10 +14,10 @@ export const getGridStringQuickFilterFn = tagInternalFilter(value => {
15
14
  }
16
15
  return columnValue != null ? filterRegex.test(columnValue.toString()) : false;
17
16
  };
18
- });
19
- export const getGridStringOperators = (disableTrim = false) => convertLegacyOperators([{
17
+ };
18
+ export const getGridStringOperators = (disableTrim = false) => [{
20
19
  value: 'contains',
21
- getApplyFilterFnV7: filterItem => {
20
+ getApplyFilterFn: filterItem => {
22
21
  if (!filterItem.value) {
23
22
  return null;
24
23
  }
@@ -31,7 +30,7 @@ export const getGridStringOperators = (disableTrim = false) => convertLegacyOper
31
30
  InputComponent: GridFilterInputValue
32
31
  }, {
33
32
  value: 'equals',
34
- getApplyFilterFnV7: filterItem => {
33
+ getApplyFilterFn: filterItem => {
35
34
  if (!filterItem.value) {
36
35
  return null;
37
36
  }
@@ -47,7 +46,7 @@ export const getGridStringOperators = (disableTrim = false) => convertLegacyOper
47
46
  InputComponent: GridFilterInputValue
48
47
  }, {
49
48
  value: 'startsWith',
50
- getApplyFilterFnV7: filterItem => {
49
+ getApplyFilterFn: filterItem => {
51
50
  if (!filterItem.value) {
52
51
  return null;
53
52
  }
@@ -60,7 +59,7 @@ export const getGridStringOperators = (disableTrim = false) => convertLegacyOper
60
59
  InputComponent: GridFilterInputValue
61
60
  }, {
62
61
  value: 'endsWith',
63
- getApplyFilterFnV7: filterItem => {
62
+ getApplyFilterFn: filterItem => {
64
63
  if (!filterItem.value) {
65
64
  return null;
66
65
  }
@@ -73,7 +72,7 @@ export const getGridStringOperators = (disableTrim = false) => convertLegacyOper
73
72
  InputComponent: GridFilterInputValue
74
73
  }, {
75
74
  value: 'isEmpty',
76
- getApplyFilterFnV7: () => {
75
+ getApplyFilterFn: () => {
77
76
  return value => {
78
77
  return value === '' || value == null;
79
78
  };
@@ -81,7 +80,7 @@ export const getGridStringOperators = (disableTrim = false) => convertLegacyOper
81
80
  requiresFilterValue: false
82
81
  }, {
83
82
  value: 'isNotEmpty',
84
- getApplyFilterFnV7: () => {
83
+ getApplyFilterFn: () => {
85
84
  return value => {
86
85
  return value !== '' && value != null;
87
86
  };
@@ -89,7 +88,7 @@ export const getGridStringOperators = (disableTrim = false) => convertLegacyOper
89
88
  requiresFilterValue: false
90
89
  }, {
91
90
  value: 'isAnyOf',
92
- getApplyFilterFnV7: filterItem => {
91
+ getApplyFilterFn: filterItem => {
93
92
  if (!Array.isArray(filterItem.value) || filterItem.value.length === 0) {
94
93
  return null;
95
94
  }
@@ -103,4 +102,4 @@ export const getGridStringOperators = (disableTrim = false) => convertLegacyOper
103
102
  }) : false;
104
103
  },
105
104
  InputComponent: GridFilterInputMultipleValue
106
- }]);
105
+ }];
@@ -9,21 +9,21 @@ import materialSlots from '../material';
9
9
  // TODO: camelCase these key. It's a private helper now.
10
10
  // Remove then need to call `uncapitalizeObjectKeys`.
11
11
  export const DATA_GRID_DEFAULT_SLOTS_COMPONENTS = _extends({}, materialSlots, {
12
- Cell: GridCellV7,
13
- SkeletonCell: GridSkeletonCell,
14
- ColumnHeaderFilterIconButton: GridColumnHeaderFilterIconButton,
15
- ColumnMenu: GridColumnMenu,
16
- ColumnHeaders: GridColumnHeaders,
17
- Footer: GridFooter,
18
- FooterRowCount: GridRowCount,
19
- Toolbar: null,
20
- PreferencesPanel: GridPreferencesPanel,
21
- LoadingOverlay: GridLoadingOverlay,
22
- NoResultsOverlay: GridNoResultsOverlay,
23
- NoRowsOverlay: GridNoRowsOverlay,
24
- Pagination: GridPagination,
25
- FilterPanel: GridFilterPanel,
26
- ColumnsPanel: GridColumnsPanel,
27
- Panel: GridPanel,
28
- Row: GridRow
12
+ cell: GridCellV7,
13
+ skeletonCell: GridSkeletonCell,
14
+ columnHeaderFilterIconButton: GridColumnHeaderFilterIconButton,
15
+ columnMenu: GridColumnMenu,
16
+ columnHeaders: GridColumnHeaders,
17
+ footer: GridFooter,
18
+ footerRowCount: GridRowCount,
19
+ toolbar: null,
20
+ preferencesPanel: GridPreferencesPanel,
21
+ loadingOverlay: GridLoadingOverlay,
22
+ noResultsOverlay: GridNoResultsOverlay,
23
+ noRowsOverlay: GridNoRowsOverlay,
24
+ pagination: GridPagination,
25
+ filterPanel: GridFilterPanel,
26
+ columnsPanel: GridColumnsPanel,
27
+ panel: GridPanel,
28
+ row: GridRow
29
29
  });
@@ -7,7 +7,7 @@ import { gridColumnDefinitionsSelector, gridColumnVisibilityModelSelector } from
7
7
  import { gridClasses } from '../../../constants/gridClasses';
8
8
  import { useGridApiMethod } from '../../utils/useGridApiMethod';
9
9
  import { gridRowsMetaSelector } from '../rows/gridRowsMetaSelector';
10
- import { getColumnsToExport } from './utils';
10
+ import { defaultGetRowsToExport, getColumnsToExport } from './utils';
11
11
  import { mergeStateWithPaginationModel } from '../pagination/useGridPagination';
12
12
  import { useGridRegisterPipeProcessor } from '../../core/pipeProcessing';
13
13
  import { GridPrintExportMenuItem } from '../../../components/toolbar/GridToolbarExport';
@@ -118,12 +118,10 @@ export const useGridPrintExport = (apiRef, props) => {
118
118
  // the footer is always being placed at the bottom of the page as if all rows are exported
119
119
  // so if getRowsToExport is being used to only export a subset of rows then we need to
120
120
  // adjust the footer position to be correctly placed at the bottom of the grid
121
- if (options?.getRowsToExport) {
122
- const gridFooterElement = gridClone.querySelector(`.${gridClasses.footerContainer}`);
123
- gridFooterElement.style.position = 'absolute';
124
- gridFooterElement.style.width = '100%';
125
- gridFooterElement.style.top = `${computedTotalHeight - gridFooterElementHeight}px`;
126
- }
121
+ const gridFooterElement = gridClone.querySelector(`.${gridClasses.footerContainer}`);
122
+ gridFooterElement.style.position = 'absolute';
123
+ gridFooterElement.style.width = '100%';
124
+ gridFooterElement.style.top = `${computedTotalHeight - gridFooterElementHeight}px`;
127
125
 
128
126
  // printDoc.body.appendChild(gridClone); should be enough but a clone isolation bug in Safari
129
127
  // prevents us to do it
@@ -226,9 +224,7 @@ export const useGridPrintExport = (apiRef, props) => {
226
224
  apiRef.current.forceUpdate();
227
225
  }
228
226
  await updateGridColumnsForPrint(options?.fields, options?.allColumns, options?.includeCheckboxes);
229
- if (options?.getRowsToExport) {
230
- updateGridRowsForPrint(options.getRowsToExport);
231
- }
227
+ updateGridRowsForPrint(options?.getRowsToExport ?? defaultGetRowsToExport);
232
228
  apiRef.current.unstable_setVirtualization(false);
233
229
  await raf(); // wait for the state changes to take action
234
230
  const printWindow = buildPrintWindow(options?.fileName);