@mui/x-data-grid 6.4.0 → 6.5.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 (267) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/DataGrid/useDataGridProps.js +5 -12
  3. package/colDef/gridNumericOperators.js +0 -6
  4. package/components/cell/GridEditInputCell.js +4 -1
  5. package/components/panel/filterPanel/GridFilterInputBoolean.d.ts +15 -2
  6. package/components/panel/filterPanel/GridFilterInputBoolean.js +80 -36
  7. package/components/panel/filterPanel/GridFilterInputDate.d.ts +8 -1
  8. package/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  9. package/components/panel/filterPanel/GridFilterInputSingleSelect.d.ts +8 -1
  10. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +55 -32
  11. package/components/panel/filterPanel/GridFilterInputValue.d.ts +11 -4
  12. package/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  13. package/components/panel/filterPanel/GridFilterPanel.d.ts +2 -1
  14. package/components/panel/filterPanel/GridFilterPanel.js +1 -1
  15. package/components/panel/filterPanel/index.d.ts +3 -1
  16. package/components/panel/filterPanel/index.js +2 -1
  17. package/constants/localeTextConstants.js +26 -0
  18. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +9 -2
  19. package/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  20. package/hooks/features/dimensions/useGridDimensions.js +2 -2
  21. package/hooks/features/editing/useGridEditing.js +0 -3
  22. package/hooks/features/focus/gridFocusState.d.ts +2 -0
  23. package/hooks/features/focus/gridFocusStateSelector.d.ts +2 -0
  24. package/hooks/features/focus/gridFocusStateSelector.js +6 -0
  25. package/hooks/features/focus/useGridFocus.js +55 -9
  26. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.d.ts +4 -0
  27. package/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +5 -0
  28. package/hooks/features/headerFiltering/index.d.ts +1 -0
  29. package/hooks/features/headerFiltering/index.js +1 -0
  30. package/hooks/features/headerFiltering/useGridHeaderFiltering.d.ts +6 -0
  31. package/hooks/features/headerFiltering/useGridHeaderFiltering.js +91 -0
  32. package/hooks/features/index.d.ts +1 -0
  33. package/hooks/features/index.js +2 -1
  34. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.d.ts +1 -1
  35. package/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +113 -4
  36. package/hooks/features/rows/useGridRows.js +16 -1
  37. package/index.js +1 -1
  38. package/internals/index.d.ts +6 -1
  39. package/internals/index.js +4 -0
  40. package/internals/utils/index.d.ts +1 -0
  41. package/internals/utils/index.js +2 -1
  42. package/internals/utils/useProps.d.ts +8 -0
  43. package/internals/utils/useProps.js +13 -0
  44. package/legacy/DataGrid/useDataGridProps.js +8 -8
  45. package/legacy/colDef/gridNumericOperators.js +0 -6
  46. package/legacy/components/cell/GridEditInputCell.js +4 -1
  47. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +79 -35
  48. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +26 -5
  49. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +54 -31
  50. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +28 -5
  51. package/legacy/components/panel/filterPanel/GridFilterPanel.js +1 -1
  52. package/legacy/components/panel/filterPanel/index.js +2 -1
  53. package/legacy/constants/localeTextConstants.js +26 -0
  54. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +5 -5
  55. package/legacy/hooks/features/dimensions/useGridDimensions.js +2 -2
  56. package/legacy/hooks/features/editing/useGridEditing.js +0 -3
  57. package/legacy/hooks/features/focus/gridFocusStateSelector.js +10 -0
  58. package/legacy/hooks/features/focus/useGridFocus.js +58 -9
  59. package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +11 -0
  60. package/legacy/hooks/features/headerFiltering/index.js +1 -0
  61. package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +93 -0
  62. package/legacy/hooks/features/index.js +2 -1
  63. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +113 -4
  64. package/legacy/hooks/features/rows/useGridRows.js +16 -1
  65. package/legacy/index.js +1 -1
  66. package/legacy/internals/index.js +4 -0
  67. package/legacy/internals/utils/index.js +2 -1
  68. package/legacy/internals/utils/useProps.js +11 -0
  69. package/legacy/locales/arSD.js +28 -0
  70. package/legacy/locales/beBY.js +28 -0
  71. package/legacy/locales/bgBG.js +28 -0
  72. package/legacy/locales/csCZ.js +36 -8
  73. package/legacy/locales/daDK.js +28 -0
  74. package/legacy/locales/deDE.js +28 -0
  75. package/legacy/locales/elGR.js +27 -0
  76. package/legacy/locales/esES.js +28 -0
  77. package/legacy/locales/faIR.js +28 -0
  78. package/legacy/locales/fiFI.js +28 -0
  79. package/legacy/locales/frFR.js +28 -0
  80. package/legacy/locales/heIL.js +30 -2
  81. package/legacy/locales/huHU.js +28 -0
  82. package/legacy/locales/itIT.js +28 -0
  83. package/legacy/locales/jaJP.js +28 -0
  84. package/legacy/locales/koKR.js +28 -0
  85. package/legacy/locales/nbNO.js +28 -0
  86. package/legacy/locales/nlNL.js +28 -0
  87. package/legacy/locales/plPL.js +28 -0
  88. package/legacy/locales/ptBR.js +28 -0
  89. package/legacy/locales/roRO.js +28 -0
  90. package/legacy/locales/ruRU.js +28 -0
  91. package/legacy/locales/skSK.js +28 -0
  92. package/legacy/locales/svSE.js +28 -0
  93. package/legacy/locales/trTR.js +28 -0
  94. package/legacy/locales/ukUA.js +28 -0
  95. package/legacy/locales/urPK.js +28 -0
  96. package/legacy/locales/viVN.js +27 -0
  97. package/legacy/locales/zhCN.js +28 -0
  98. package/legacy/locales/zhTW.js +28 -0
  99. package/legacy/material/index.js +2 -0
  100. package/legacy/models/api/gridHeaderFilteringApi.js +1 -0
  101. package/legacy/models/gridHeaderFilteringModel.js +1 -0
  102. package/legacy/models/index.js +0 -1
  103. package/locales/arSD.js +28 -0
  104. package/locales/beBY.js +28 -0
  105. package/locales/bgBG.js +28 -0
  106. package/locales/csCZ.js +36 -8
  107. package/locales/daDK.js +28 -0
  108. package/locales/deDE.js +28 -0
  109. package/locales/elGR.js +27 -0
  110. package/locales/esES.js +28 -0
  111. package/locales/faIR.js +28 -0
  112. package/locales/fiFI.js +28 -0
  113. package/locales/frFR.js +28 -0
  114. package/locales/heIL.js +30 -2
  115. package/locales/huHU.js +28 -0
  116. package/locales/itIT.js +28 -0
  117. package/locales/jaJP.js +28 -0
  118. package/locales/koKR.js +28 -0
  119. package/locales/nbNO.js +28 -0
  120. package/locales/nlNL.js +28 -0
  121. package/locales/plPL.js +28 -0
  122. package/locales/ptBR.js +28 -0
  123. package/locales/roRO.js +28 -0
  124. package/locales/ruRU.js +28 -0
  125. package/locales/skSK.js +28 -0
  126. package/locales/svSE.js +28 -0
  127. package/locales/trTR.js +28 -0
  128. package/locales/ukUA.js +28 -0
  129. package/locales/urPK.js +28 -0
  130. package/locales/viVN.js +27 -0
  131. package/locales/zhCN.js +28 -0
  132. package/locales/zhTW.js +28 -0
  133. package/material/index.d.ts +3 -66
  134. package/material/index.js +2 -0
  135. package/models/api/gridApiCommon.d.ts +3 -2
  136. package/models/api/gridCoreApi.d.ts +4 -0
  137. package/models/api/gridFocusApi.d.ts +6 -0
  138. package/models/api/gridHeaderFilteringApi.d.ts +30 -0
  139. package/models/api/gridHeaderFilteringApi.js +1 -0
  140. package/models/api/gridLocaleTextApi.d.ts +25 -0
  141. package/models/events/gridEventLookup.d.ts +27 -1
  142. package/models/gridFilterOperator.d.ts +4 -0
  143. package/models/gridHeaderFilteringModel.d.ts +5 -0
  144. package/models/gridHeaderFilteringModel.js +1 -0
  145. package/models/gridSlotsComponent.d.ts +16 -4
  146. package/models/gridStateCommunity.d.ts +2 -0
  147. package/models/index.d.ts +1 -1
  148. package/models/index.js +0 -1
  149. package/modern/DataGrid/useDataGridProps.js +5 -12
  150. package/modern/colDef/gridNumericOperators.js +0 -6
  151. package/modern/components/cell/GridEditInputCell.js +4 -1
  152. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +80 -36
  153. package/modern/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  154. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +55 -32
  155. package/modern/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  156. package/modern/components/panel/filterPanel/GridFilterPanel.js +1 -1
  157. package/modern/components/panel/filterPanel/index.js +2 -1
  158. package/modern/constants/localeTextConstants.js +26 -0
  159. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  160. package/modern/hooks/features/dimensions/useGridDimensions.js +2 -2
  161. package/modern/hooks/features/editing/useGridEditing.js +0 -3
  162. package/modern/hooks/features/focus/gridFocusStateSelector.js +6 -0
  163. package/modern/hooks/features/focus/useGridFocus.js +55 -9
  164. package/modern/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +5 -0
  165. package/modern/hooks/features/headerFiltering/index.js +1 -0
  166. package/modern/hooks/features/headerFiltering/useGridHeaderFiltering.js +90 -0
  167. package/modern/hooks/features/index.js +2 -1
  168. package/modern/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +113 -4
  169. package/modern/hooks/features/rows/useGridRows.js +16 -1
  170. package/modern/index.js +1 -1
  171. package/modern/internals/index.js +4 -0
  172. package/modern/internals/utils/index.js +2 -1
  173. package/modern/internals/utils/useProps.js +13 -0
  174. package/modern/locales/arSD.js +28 -0
  175. package/modern/locales/beBY.js +28 -0
  176. package/modern/locales/bgBG.js +28 -0
  177. package/modern/locales/csCZ.js +36 -8
  178. package/modern/locales/daDK.js +28 -0
  179. package/modern/locales/deDE.js +28 -0
  180. package/modern/locales/elGR.js +27 -0
  181. package/modern/locales/esES.js +28 -0
  182. package/modern/locales/faIR.js +28 -0
  183. package/modern/locales/fiFI.js +28 -0
  184. package/modern/locales/frFR.js +28 -0
  185. package/modern/locales/heIL.js +30 -2
  186. package/modern/locales/huHU.js +28 -0
  187. package/modern/locales/itIT.js +28 -0
  188. package/modern/locales/jaJP.js +28 -0
  189. package/modern/locales/koKR.js +28 -0
  190. package/modern/locales/nbNO.js +28 -0
  191. package/modern/locales/nlNL.js +28 -0
  192. package/modern/locales/plPL.js +28 -0
  193. package/modern/locales/ptBR.js +28 -0
  194. package/modern/locales/roRO.js +28 -0
  195. package/modern/locales/ruRU.js +28 -0
  196. package/modern/locales/skSK.js +28 -0
  197. package/modern/locales/svSE.js +28 -0
  198. package/modern/locales/trTR.js +28 -0
  199. package/modern/locales/ukUA.js +28 -0
  200. package/modern/locales/urPK.js +28 -0
  201. package/modern/locales/viVN.js +27 -0
  202. package/modern/locales/zhCN.js +28 -0
  203. package/modern/locales/zhTW.js +28 -0
  204. package/modern/material/index.js +2 -0
  205. package/modern/models/api/gridHeaderFilteringApi.js +1 -0
  206. package/modern/models/gridHeaderFilteringModel.js +1 -0
  207. package/modern/models/index.js +0 -1
  208. package/node/DataGrid/useDataGridProps.js +4 -11
  209. package/node/colDef/gridNumericOperators.js +0 -6
  210. package/node/components/cell/GridEditInputCell.js +4 -1
  211. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +78 -35
  212. package/node/components/panel/filterPanel/GridFilterInputDate.js +27 -6
  213. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +55 -32
  214. package/node/components/panel/filterPanel/GridFilterInputValue.js +29 -6
  215. package/node/components/panel/filterPanel/GridFilterPanel.js +2 -1
  216. package/node/components/panel/filterPanel/index.js +26 -8
  217. package/node/constants/localeTextConstants.js +26 -0
  218. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +4 -2
  219. package/node/hooks/features/dimensions/useGridDimensions.js +2 -2
  220. package/node/hooks/features/editing/useGridEditing.js +0 -3
  221. package/node/hooks/features/focus/gridFocusStateSelector.js +9 -1
  222. package/node/hooks/features/focus/useGridFocus.js +55 -9
  223. package/node/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +15 -0
  224. package/node/hooks/features/headerFiltering/index.js +16 -0
  225. package/node/hooks/features/headerFiltering/useGridHeaderFiltering.js +101 -0
  226. package/node/hooks/features/index.js +11 -0
  227. package/node/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +113 -4
  228. package/node/hooks/features/rows/useGridRows.js +16 -1
  229. package/node/index.js +1 -1
  230. package/node/internals/index.js +46 -0
  231. package/node/internals/utils/index.js +11 -0
  232. package/node/internals/utils/useProps.js +22 -0
  233. package/node/locales/arSD.js +28 -0
  234. package/node/locales/beBY.js +28 -0
  235. package/node/locales/bgBG.js +28 -0
  236. package/node/locales/csCZ.js +36 -8
  237. package/node/locales/daDK.js +28 -0
  238. package/node/locales/deDE.js +28 -0
  239. package/node/locales/elGR.js +27 -0
  240. package/node/locales/esES.js +28 -0
  241. package/node/locales/faIR.js +28 -0
  242. package/node/locales/fiFI.js +28 -0
  243. package/node/locales/frFR.js +28 -0
  244. package/node/locales/heIL.js +30 -2
  245. package/node/locales/huHU.js +28 -0
  246. package/node/locales/itIT.js +28 -0
  247. package/node/locales/jaJP.js +28 -0
  248. package/node/locales/koKR.js +28 -0
  249. package/node/locales/nbNO.js +28 -0
  250. package/node/locales/nlNL.js +28 -0
  251. package/node/locales/plPL.js +28 -0
  252. package/node/locales/ptBR.js +28 -0
  253. package/node/locales/roRO.js +28 -0
  254. package/node/locales/ruRU.js +28 -0
  255. package/node/locales/skSK.js +28 -0
  256. package/node/locales/svSE.js +28 -0
  257. package/node/locales/trTR.js +28 -0
  258. package/node/locales/ukUA.js +28 -0
  259. package/node/locales/urPK.js +28 -0
  260. package/node/locales/viVN.js +27 -0
  261. package/node/locales/zhCN.js +28 -0
  262. package/node/locales/zhTW.js +28 -0
  263. package/node/material/index.js +2 -0
  264. package/node/models/api/gridHeaderFilteringApi.js +5 -0
  265. package/node/models/gridHeaderFilteringModel.js +5 -0
  266. package/node/models/index.js +0 -11
  267. package/package.json +1 -1
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.GridFilterPanel = void 0;
7
+ exports.getGridFilter = exports.GridFilterPanel = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
10
  var React = _interopRequireWildcard(require("react"));
@@ -28,6 +28,7 @@ const getGridFilter = col => ({
28
28
  operator: col.filterOperators[0].value,
29
29
  id: Math.round(Math.random() * 1e5)
30
30
  });
31
+ exports.getGridFilter = getGridFilter;
31
32
  const GridFilterPanel = /*#__PURE__*/React.forwardRef(function GridFilterPanel(props, ref) {
32
33
  const apiRef = (0, _useGridApiContext.useGridApiContext)();
33
34
  const rootProps = (0, _useGridRootProps.useGridRootProps)();
@@ -3,9 +3,19 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ var _exportNames = {
7
+ GridFilterPanel: true
8
+ };
9
+ Object.defineProperty(exports, "GridFilterPanel", {
10
+ enumerable: true,
11
+ get: function () {
12
+ return _GridFilterPanel.GridFilterPanel;
13
+ }
14
+ });
6
15
  var _GridFilterForm = require("./GridFilterForm");
7
16
  Object.keys(_GridFilterForm).forEach(function (key) {
8
17
  if (key === "default" || key === "__esModule") return;
18
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
9
19
  if (key in exports && exports[key] === _GridFilterForm[key]) return;
10
20
  Object.defineProperty(exports, key, {
11
21
  enumerable: true,
@@ -17,6 +27,7 @@ Object.keys(_GridFilterForm).forEach(function (key) {
17
27
  var _GridFilterInputValue = require("./GridFilterInputValue");
18
28
  Object.keys(_GridFilterInputValue).forEach(function (key) {
19
29
  if (key === "default" || key === "__esModule") return;
30
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
20
31
  if (key in exports && exports[key] === _GridFilterInputValue[key]) return;
21
32
  Object.defineProperty(exports, key, {
22
33
  enumerable: true,
@@ -28,6 +39,7 @@ Object.keys(_GridFilterInputValue).forEach(function (key) {
28
39
  var _GridFilterInputDate = require("./GridFilterInputDate");
29
40
  Object.keys(_GridFilterInputDate).forEach(function (key) {
30
41
  if (key === "default" || key === "__esModule") return;
42
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
31
43
  if (key in exports && exports[key] === _GridFilterInputDate[key]) return;
32
44
  Object.defineProperty(exports, key, {
33
45
  enumerable: true,
@@ -39,6 +51,7 @@ Object.keys(_GridFilterInputDate).forEach(function (key) {
39
51
  var _GridFilterInputSingleSelect = require("./GridFilterInputSingleSelect");
40
52
  Object.keys(_GridFilterInputSingleSelect).forEach(function (key) {
41
53
  if (key === "default" || key === "__esModule") return;
54
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
42
55
  if (key in exports && exports[key] === _GridFilterInputSingleSelect[key]) return;
43
56
  Object.defineProperty(exports, key, {
44
57
  enumerable: true,
@@ -47,31 +60,35 @@ Object.keys(_GridFilterInputSingleSelect).forEach(function (key) {
47
60
  }
48
61
  });
49
62
  });
50
- var _GridFilterInputValueProps = require("./GridFilterInputValueProps");
51
- Object.keys(_GridFilterInputValueProps).forEach(function (key) {
63
+ var _GridFilterInputBoolean = require("./GridFilterInputBoolean");
64
+ Object.keys(_GridFilterInputBoolean).forEach(function (key) {
52
65
  if (key === "default" || key === "__esModule") return;
53
- if (key in exports && exports[key] === _GridFilterInputValueProps[key]) return;
66
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
67
+ if (key in exports && exports[key] === _GridFilterInputBoolean[key]) return;
54
68
  Object.defineProperty(exports, key, {
55
69
  enumerable: true,
56
70
  get: function () {
57
- return _GridFilterInputValueProps[key];
71
+ return _GridFilterInputBoolean[key];
58
72
  }
59
73
  });
60
74
  });
61
- var _GridFilterPanel = require("./GridFilterPanel");
62
- Object.keys(_GridFilterPanel).forEach(function (key) {
75
+ var _GridFilterInputValueProps = require("./GridFilterInputValueProps");
76
+ Object.keys(_GridFilterInputValueProps).forEach(function (key) {
63
77
  if (key === "default" || key === "__esModule") return;
64
- if (key in exports && exports[key] === _GridFilterPanel[key]) return;
78
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
79
+ if (key in exports && exports[key] === _GridFilterInputValueProps[key]) return;
65
80
  Object.defineProperty(exports, key, {
66
81
  enumerable: true,
67
82
  get: function () {
68
- return _GridFilterPanel[key];
83
+ return _GridFilterInputValueProps[key];
69
84
  }
70
85
  });
71
86
  });
87
+ var _GridFilterPanel = require("./GridFilterPanel");
72
88
  var _GridFilterInputMultipleValue = require("./GridFilterInputMultipleValue");
73
89
  Object.keys(_GridFilterInputMultipleValue).forEach(function (key) {
74
90
  if (key === "default" || key === "__esModule") return;
91
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
75
92
  if (key in exports && exports[key] === _GridFilterInputMultipleValue[key]) return;
76
93
  Object.defineProperty(exports, key, {
77
94
  enumerable: true,
@@ -83,6 +100,7 @@ Object.keys(_GridFilterInputMultipleValue).forEach(function (key) {
83
100
  var _GridFilterInputMultipleSingleSelect = require("./GridFilterInputMultipleSingleSelect");
84
101
  Object.keys(_GridFilterInputMultipleSingleSelect).forEach(function (key) {
85
102
  if (key === "default" || key === "__esModule") return;
103
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
86
104
  if (key in exports && exports[key] === _GridFilterInputMultipleSingleSelect[key]) return;
87
105
  Object.defineProperty(exports, key, {
88
106
  enumerable: true,
@@ -64,6 +64,32 @@ const GRID_DEFAULT_LOCALE_TEXT = {
64
64
  filterOperatorIsEmpty: 'is empty',
65
65
  filterOperatorIsNotEmpty: 'is not empty',
66
66
  filterOperatorIsAnyOf: 'is any of',
67
+ 'filterOperator=': '=',
68
+ 'filterOperator!=': '!=',
69
+ 'filterOperator>': '>',
70
+ 'filterOperator>=': '>=',
71
+ 'filterOperator<': '<',
72
+ 'filterOperator<=': '<=',
73
+ // Header filter operators text
74
+ headerFilterOperatorContains: 'Contains',
75
+ headerFilterOperatorEquals: 'Equals',
76
+ headerFilterOperatorStartsWith: 'Starts with',
77
+ headerFilterOperatorEndsWith: 'Ends with',
78
+ headerFilterOperatorIs: 'Is',
79
+ headerFilterOperatorNot: 'Is not',
80
+ headerFilterOperatorAfter: 'Is after',
81
+ headerFilterOperatorOnOrAfter: 'Is on or after',
82
+ headerFilterOperatorBefore: 'Is before',
83
+ headerFilterOperatorOnOrBefore: 'Is on or before',
84
+ headerFilterOperatorIsEmpty: 'Is empty',
85
+ headerFilterOperatorIsNotEmpty: 'Is not empty',
86
+ headerFilterOperatorIsAnyOf: 'Is any of',
87
+ 'headerFilterOperator=': 'Equals',
88
+ 'headerFilterOperator!=': 'Not equals',
89
+ 'headerFilterOperator>': 'Is greater than',
90
+ 'headerFilterOperator>=': 'Is greater than or equal to',
91
+ 'headerFilterOperator<': 'Is less than',
92
+ 'headerFilterOperator<=': 'Is less than or equal to',
67
93
  // Filter values text
68
94
  filterValueAny: 'any',
69
95
  filterValueTrue: 'true',
@@ -269,7 +269,7 @@ const useGridColumnHeaders = props => {
269
269
  const tabIndex = columnGroupHeaderTabIndexState !== null && columnGroupHeaderTabIndexState.depth === depth && columnFields.includes(columnGroupHeaderTabIndexState.field) ? 0 : -1;
270
270
  const headerInfo = {
271
271
  groupId,
272
- width: columnFields.map(field => apiRef.current.getColumn(field).computedWidth).reduce((acc, val) => acc + val, 0),
272
+ width: columnFields.reduce((acc, field) => acc + apiRef.current.getColumn(field).computedWidth, 0),
273
273
  fields: columnFields,
274
274
  colIndex: columnIndex,
275
275
  hasFocus,
@@ -325,6 +325,7 @@ const useGridColumnHeaders = props => {
325
325
  return {
326
326
  renderContext,
327
327
  getColumnHeaders,
328
+ getColumnsToRender,
328
329
  getColumnGroupHeaders,
329
330
  isDragging: !!dragCol,
330
331
  getRootProps: (other = {}) => (0, _extends2.default)({
@@ -333,7 +334,8 @@ const useGridColumnHeaders = props => {
333
334
  getInnerProps: () => ({
334
335
  ref: handleInnerRef,
335
336
  role: 'rowgroup'
336
- })
337
+ }),
338
+ headerHeight
337
339
  };
338
340
  };
339
341
  exports.useGridColumnHeaders = useGridColumnHeaders;
@@ -161,8 +161,8 @@ function useGridDimensions(apiRef, props) {
161
161
  if (!mainEl) {
162
162
  return;
163
163
  }
164
- const height = mainEl.offsetHeight || 0;
165
- const width = mainEl.offsetWidth || 0;
164
+ const height = mainEl.clientHeight || 0;
165
+ const width = mainEl.clientWidth || 0;
166
166
  const win = (0, _utils.unstable_ownerWindow)(mainEl);
167
167
  const computedStyle = win.getComputedStyle(mainEl);
168
168
  const paddingLeft = parseInt(computedStyle.paddingLeft, 10) || 0;
@@ -39,9 +39,6 @@ const useGridEditing = (apiRef, props) => {
39
39
  if (isCellEditableProp) {
40
40
  return isCellEditableProp(params);
41
41
  }
42
- if (params.rowNode.type === 'pinnedRow') {
43
- return false;
44
- }
45
42
  return true;
46
43
  }, [isCellEditableProp]);
47
44
  const maybeDebounce = (id, field, debounceMs, callback) => {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.unstable_gridTabIndexColumnGroupHeaderSelector = exports.unstable_gridFocusColumnGroupHeaderSelector = exports.gridTabIndexStateSelector = exports.gridTabIndexColumnHeaderSelector = exports.gridTabIndexCellSelector = exports.gridFocusStateSelector = exports.gridFocusColumnHeaderSelector = exports.gridFocusCellSelector = void 0;
6
+ exports.unstable_gridTabIndexColumnHeaderFilterSelector = exports.unstable_gridTabIndexColumnGroupHeaderSelector = exports.unstable_gridFocusColumnHeaderFilterSelector = exports.unstable_gridFocusColumnGroupHeaderSelector = exports.gridTabIndexStateSelector = exports.gridTabIndexColumnHeaderSelector = exports.gridTabIndexCellSelector = exports.gridFocusStateSelector = exports.gridFocusColumnHeaderSelector = exports.gridFocusCellSelector = void 0;
7
7
  var _createSelector = require("../../../utils/createSelector");
8
8
  const gridFocusStateSelector = state => state.focus;
9
9
  exports.gridFocusStateSelector = gridFocusStateSelector;
@@ -13,6 +13,10 @@ const gridFocusColumnHeaderSelector = (0, _createSelector.createSelector)(gridFo
13
13
 
14
14
  // eslint-disable-next-line @typescript-eslint/naming-convention
15
15
  exports.gridFocusColumnHeaderSelector = gridFocusColumnHeaderSelector;
16
+ const unstable_gridFocusColumnHeaderFilterSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.columnHeaderFilter);
17
+
18
+ // eslint-disable-next-line @typescript-eslint/naming-convention
19
+ exports.unstable_gridFocusColumnHeaderFilterSelector = unstable_gridFocusColumnHeaderFilterSelector;
16
20
  const unstable_gridFocusColumnGroupHeaderSelector = (0, _createSelector.createSelector)(gridFocusStateSelector, focusState => focusState.columnGroupHeader);
17
21
  exports.unstable_gridFocusColumnGroupHeaderSelector = unstable_gridFocusColumnGroupHeaderSelector;
18
22
  const gridTabIndexStateSelector = state => state.tabIndex;
@@ -23,5 +27,9 @@ const gridTabIndexColumnHeaderSelector = (0, _createSelector.createSelector)(gri
23
27
 
24
28
  // eslint-disable-next-line @typescript-eslint/naming-convention
25
29
  exports.gridTabIndexColumnHeaderSelector = gridTabIndexColumnHeaderSelector;
30
+ const unstable_gridTabIndexColumnHeaderFilterSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.columnHeaderFilter);
31
+
32
+ // eslint-disable-next-line @typescript-eslint/naming-convention
33
+ exports.unstable_gridTabIndexColumnHeaderFilterSelector = unstable_gridTabIndexColumnHeaderFilterSelector;
26
34
  const unstable_gridTabIndexColumnGroupHeaderSelector = (0, _createSelector.createSelector)(gridTabIndexStateSelector, state => state.columnGroupHeader);
27
35
  exports.unstable_gridTabIndexColumnGroupHeaderSelector = unstable_gridTabIndexColumnGroupHeaderSelector;
@@ -16,17 +16,20 @@ var _gridFocusStateSelector = require("./gridFocusStateSelector");
16
16
  var _gridColumnsSelector = require("../columns/gridColumnsSelector");
17
17
  var _useGridVisibleRows = require("../../utils/useGridVisibleRows");
18
18
  var _utils2 = require("../../../utils/utils");
19
+ var _gridRowsSelector = require("../rows/gridRowsSelector");
19
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
22
  const focusStateInitializer = state => (0, _extends2.default)({}, state, {
22
23
  focus: {
23
24
  cell: null,
24
25
  columnHeader: null,
26
+ columnHeaderFilter: null,
25
27
  columnGroupHeader: null
26
28
  },
27
29
  tabIndex: {
28
30
  cell: null,
29
31
  columnHeader: null,
32
+ columnHeaderFilter: null,
30
33
  columnGroupHeader: null
31
34
  }
32
35
  });
@@ -62,6 +65,7 @@ const useGridFocus = (apiRef, props) => {
62
65
  field
63
66
  },
64
67
  columnHeader: null,
68
+ columnHeaderFilter: null,
65
69
  columnGroupHeader: null
66
70
  },
67
71
  focus: {
@@ -70,6 +74,7 @@ const useGridFocus = (apiRef, props) => {
70
74
  field
71
75
  },
72
76
  columnHeader: null,
77
+ columnHeaderFilter: null,
73
78
  columnGroupHeader: null
74
79
  }
75
80
  });
@@ -97,6 +102,7 @@ const useGridFocus = (apiRef, props) => {
97
102
  columnHeader: {
98
103
  field
99
104
  },
105
+ columnHeaderFilter: null,
100
106
  cell: null,
101
107
  columnGroupHeader: null
102
108
  },
@@ -104,6 +110,33 @@ const useGridFocus = (apiRef, props) => {
104
110
  columnHeader: {
105
111
  field
106
112
  },
113
+ columnHeaderFilter: null,
114
+ cell: null,
115
+ columnGroupHeader: null
116
+ }
117
+ });
118
+ });
119
+ apiRef.current.forceUpdate();
120
+ }, [apiRef, logger, publishCellFocusOut]);
121
+ const setColumnHeaderFilterFocus = React.useCallback((field, event = {}) => {
122
+ const cell = (0, _gridFocusStateSelector.gridFocusCellSelector)(apiRef);
123
+ publishCellFocusOut(cell, event);
124
+ apiRef.current.setState(state => {
125
+ logger.debug(`Focusing on column header filter with colIndex=${field}`);
126
+ return (0, _extends2.default)({}, state, {
127
+ tabIndex: {
128
+ columnHeader: null,
129
+ columnHeaderFilter: {
130
+ field
131
+ },
132
+ cell: null,
133
+ columnGroupHeader: null
134
+ },
135
+ focus: {
136
+ columnHeader: null,
137
+ columnHeaderFilter: {
138
+ field
139
+ },
107
140
  cell: null,
108
141
  columnGroupHeader: null
109
142
  }
@@ -124,6 +157,7 @@ const useGridFocus = (apiRef, props) => {
124
157
  depth
125
158
  },
126
159
  columnHeader: null,
160
+ columnHeaderFilter: null,
127
161
  cell: null
128
162
  },
129
163
  focus: {
@@ -132,6 +166,7 @@ const useGridFocus = (apiRef, props) => {
132
166
  depth
133
167
  },
134
168
  columnHeader: null,
169
+ columnHeaderFilter: null,
135
170
  cell: null
136
171
  }
137
172
  });
@@ -141,8 +176,16 @@ const useGridFocus = (apiRef, props) => {
141
176
  const getColumnGroupHeaderFocus = React.useCallback(() => (0, _gridFocusStateSelector.unstable_gridFocusColumnGroupHeaderSelector)(apiRef), [apiRef]);
142
177
  const moveFocusToRelativeCell = React.useCallback((id, field, direction) => {
143
178
  let columnIndexToFocus = apiRef.current.getColumnIndex(field);
144
- let rowIndexToFocus = apiRef.current.getRowIndexRelativeToVisibleRows(id);
145
179
  const visibleColumns = (0, _gridColumnsSelector.gridVisibleColumnDefinitionsSelector)(apiRef);
180
+ const currentPage = (0, _useGridVisibleRows.getVisibleRows)(apiRef, {
181
+ pagination: props.pagination,
182
+ paginationMode: props.paginationMode
183
+ });
184
+ const pinnedRows = (0, _gridRowsSelector.gridPinnedRowsSelector)(apiRef);
185
+
186
+ // Include pinned rows as well
187
+ const currentPageRows = [].concat(pinnedRows.top || [], currentPage.rows, pinnedRows.bottom || []);
188
+ let rowIndexToFocus = currentPageRows.findIndex(row => row.id === id);
146
189
  if (direction === 'right') {
147
190
  columnIndexToFocus += 1;
148
191
  } else if (direction === 'left') {
@@ -150,14 +193,10 @@ const useGridFocus = (apiRef, props) => {
150
193
  } else {
151
194
  rowIndexToFocus += 1;
152
195
  }
153
- const currentPage = (0, _useGridVisibleRows.getVisibleRows)(apiRef, {
154
- pagination: props.pagination,
155
- paginationMode: props.paginationMode
156
- });
157
196
  if (columnIndexToFocus >= visibleColumns.length) {
158
197
  // Go to next row if we are after the last column
159
198
  rowIndexToFocus += 1;
160
- if (rowIndexToFocus < currentPage.rows.length) {
199
+ if (rowIndexToFocus < currentPageRows.length) {
161
200
  // Go to first column of the next row if there's one more row
162
201
  columnIndexToFocus = 0;
163
202
  }
@@ -169,8 +208,11 @@ const useGridFocus = (apiRef, props) => {
169
208
  columnIndexToFocus = visibleColumns.length - 1;
170
209
  }
171
210
  }
172
- rowIndexToFocus = (0, _utils2.clamp)(rowIndexToFocus, 0, currentPage.rows.length - 1);
173
- const rowToFocus = currentPage.rows[rowIndexToFocus];
211
+ rowIndexToFocus = (0, _utils2.clamp)(rowIndexToFocus, 0, currentPageRows.length - 1);
212
+ const rowToFocus = currentPageRows[rowIndexToFocus];
213
+ if (!rowToFocus) {
214
+ return;
215
+ }
174
216
  const colSpanInfo = apiRef.current.unstable_getCellColSpanInfo(rowToFocus.id, columnIndexToFocus);
175
217
  if (colSpanInfo && colSpanInfo.spannedByColSpan) {
176
218
  if (direction === 'left' || direction === 'below') {
@@ -224,6 +266,7 @@ const useGridFocus = (apiRef, props) => {
224
266
  focus: {
225
267
  cell: null,
226
268
  columnHeader: null,
269
+ columnHeaderFilter: null,
227
270
  columnGroupHeader: null
228
271
  }
229
272
  }));
@@ -262,6 +305,7 @@ const useGridFocus = (apiRef, props) => {
262
305
  focus: {
263
306
  cell: null,
264
307
  columnHeader: null,
308
+ columnHeaderFilter: null,
265
309
  columnGroupHeader: null
266
310
  }
267
311
  }));
@@ -290,6 +334,7 @@ const useGridFocus = (apiRef, props) => {
290
334
  focus: {
291
335
  cell: null,
292
336
  columnHeader: null,
337
+ columnHeaderFilter: null,
293
338
  columnGroupHeader: null
294
339
  }
295
340
  }));
@@ -297,7 +342,8 @@ const useGridFocus = (apiRef, props) => {
297
342
  }, [apiRef]);
298
343
  const focusApi = {
299
344
  setCellFocus,
300
- setColumnHeaderFocus
345
+ setColumnHeaderFocus,
346
+ setColumnHeaderFilterFocus
301
347
  };
302
348
  const focusPrivateApi = {
303
349
  moveFocusToRelativeCell,
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.unstable_gridHeaderFilteringStateSelector = exports.unstable_gridHeaderFilteringMenuSelector = exports.unstable_gridHeaderFilteringEditFieldSelector = void 0;
7
+ var _createSelector = require("../../../utils/createSelector");
8
+ /* eslint-disable @typescript-eslint/naming-convention */
9
+
10
+ const unstable_gridHeaderFilteringStateSelector = state => state.headerFiltering;
11
+ exports.unstable_gridHeaderFilteringStateSelector = unstable_gridHeaderFilteringStateSelector;
12
+ const unstable_gridHeaderFilteringEditFieldSelector = (0, _createSelector.createSelector)(unstable_gridHeaderFilteringStateSelector, headerFilteringState => headerFilteringState.editing);
13
+ exports.unstable_gridHeaderFilteringEditFieldSelector = unstable_gridHeaderFilteringEditFieldSelector;
14
+ const unstable_gridHeaderFilteringMenuSelector = (0, _createSelector.createSelector)(unstable_gridHeaderFilteringStateSelector, headerFilteringState => headerFilteringState.menuOpen);
15
+ exports.unstable_gridHeaderFilteringMenuSelector = unstable_gridHeaderFilteringMenuSelector;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _gridHeaderFilteringSelectors = require("./gridHeaderFilteringSelectors");
7
+ Object.keys(_gridHeaderFilteringSelectors).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _gridHeaderFilteringSelectors[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _gridHeaderFilteringSelectors[key];
14
+ }
15
+ });
16
+ });
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useGridHeaderFiltering = exports.headerFilteringStateInitializer = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _useGridApiMethod = require("../../utils/useGridApiMethod");
11
+ var _utils = require("../../utils");
12
+ var _gridColumnsSelector = require("../columns/gridColumnsSelector");
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ const headerFilteringStateInitializer = state => (0, _extends2.default)({}, state, {
16
+ headerFiltering: {
17
+ editing: null,
18
+ menuOpen: null
19
+ }
20
+ });
21
+ exports.headerFilteringStateInitializer = headerFilteringStateInitializer;
22
+ const useGridHeaderFiltering = (apiRef, props) => {
23
+ const logger = (0, _utils.useGridLogger)(apiRef, 'useGridHeaderFiltering');
24
+ const setHeaderFilterState = React.useCallback(headerFilterState => {
25
+ apiRef.current.setState(state => {
26
+ // Safety check to avoid MIT users from using it
27
+ // This hook should ultimately be moved to the Pro package
28
+ if (props.signature === 'DataGrid') {
29
+ return state;
30
+ }
31
+ return (0, _extends2.default)({}, state, {
32
+ headerFiltering: {
33
+ editing: headerFilterState.editing ?? null,
34
+ menuOpen: headerFilterState.menuOpen ?? null
35
+ }
36
+ });
37
+ });
38
+ apiRef.current.forceUpdate();
39
+ }, [apiRef, props.signature]);
40
+ const startHeaderFilterEditMode = React.useCallback(field => {
41
+ logger.debug(`Starting edit mode on header filter for field: ${field}`);
42
+ apiRef.current.setHeaderFilterState({
43
+ editing: field
44
+ });
45
+ }, [apiRef, logger]);
46
+ const stopHeaderFilterEditMode = React.useCallback(() => {
47
+ logger.debug(`Stopping edit mode on header filter`);
48
+ apiRef.current.setHeaderFilterState({
49
+ editing: null
50
+ });
51
+ }, [apiRef, logger]);
52
+ const showHeaderFilterMenu = React.useCallback(field => {
53
+ logger.debug(`Opening header filter menu for field: ${field}`);
54
+ apiRef.current.setHeaderFilterState({
55
+ menuOpen: field
56
+ });
57
+ }, [apiRef, logger]);
58
+ const hideHeaderFilterMenu = React.useCallback(() => {
59
+ logger.debug(`Hiding header filter menu for active field`);
60
+ let fieldToFocus = apiRef.current.state.headerFiltering.menuOpen;
61
+ if (fieldToFocus) {
62
+ const columnLookup = (0, _gridColumnsSelector.gridColumnLookupSelector)(apiRef);
63
+ const columnVisibilityModel = (0, _gridColumnsSelector.gridColumnVisibilityModelSelector)(apiRef);
64
+ const orderedFields = (0, _gridColumnsSelector.gridColumnFieldsSelector)(apiRef);
65
+
66
+ // If the column was removed from the grid, we need to find the closest visible field
67
+ if (!columnLookup[fieldToFocus]) {
68
+ fieldToFocus = orderedFields[0];
69
+ }
70
+
71
+ // If the field to focus is hidden, we need to find the closest visible field
72
+ if (columnVisibilityModel[fieldToFocus] === false) {
73
+ // contains visible column fields + the field that was just hidden
74
+ const visibleOrderedFields = orderedFields.filter(field => {
75
+ if (field === fieldToFocus) {
76
+ return true;
77
+ }
78
+ return columnVisibilityModel[field] !== false;
79
+ });
80
+ const fieldIndex = visibleOrderedFields.indexOf(fieldToFocus);
81
+ fieldToFocus = visibleOrderedFields[fieldIndex + 1] || visibleOrderedFields[fieldIndex - 1];
82
+ }
83
+ apiRef.current.setHeaderFilterState({
84
+ menuOpen: null
85
+ });
86
+ apiRef.current.setColumnHeaderFilterFocus(fieldToFocus);
87
+ }
88
+ }, [apiRef, logger]);
89
+ const headerFilterPrivateApi = {
90
+ setHeaderFilterState
91
+ };
92
+ const headerFilterApi = {
93
+ startHeaderFilterEditMode,
94
+ stopHeaderFilterEditMode,
95
+ showHeaderFilterMenu,
96
+ hideHeaderFilterMenu
97
+ };
98
+ (0, _useGridApiMethod.useGridApiMethod)(apiRef, headerFilterApi, 'public');
99
+ (0, _useGridApiMethod.useGridApiMethod)(apiRef, headerFilterPrivateApi, 'private');
100
+ };
101
+ exports.useGridHeaderFiltering = useGridHeaderFiltering;
@@ -145,4 +145,15 @@ Object.keys(_statePersistence).forEach(function (key) {
145
145
  return _statePersistence[key];
146
146
  }
147
147
  });
148
+ });
149
+ var _headerFiltering = require("./headerFiltering");
150
+ Object.keys(_headerFiltering).forEach(function (key) {
151
+ if (key === "default" || key === "__esModule") return;
152
+ if (key in exports && exports[key] === _headerFiltering[key]) return;
153
+ Object.defineProperty(exports, key, {
154
+ enumerable: true,
155
+ get: function () {
156
+ return _headerFiltering[key];
157
+ }
158
+ });
148
159
  });