@mui/x-data-grid-pro 7.29.0 → 7.29.2

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 (308) hide show
  1. package/CHANGELOG.md +131 -0
  2. package/DataGridPro/DataGrid.js +2 -9
  3. package/DataGridPro/DataGridPro.js +231 -238
  4. package/DataGridPro/index.js +3 -39
  5. package/DataGridPro/package.json +2 -2
  6. package/DataGridPro/useDataGridProComponent.js +91 -99
  7. package/DataGridPro/useDataGridProProps.js +20 -28
  8. package/components/GridColumnHeaderCollapseIcon.js +0 -1
  9. package/components/GridColumnHeaders.js +39 -46
  10. package/components/GridColumnMenuPinningItem.js +39 -46
  11. package/components/GridDataSourceTreeDataGroupingCell.js +30 -38
  12. package/components/GridDetailPanel.js +14 -18
  13. package/components/GridDetailPanelToggleCell.js +35 -42
  14. package/components/GridDetailPanels.js +19 -25
  15. package/components/GridPinnedRows.js +12 -20
  16. package/components/GridProColumnMenu.js +11 -19
  17. package/components/GridRowReorderCell.js +36 -45
  18. package/components/GridTreeDataGroupingCell.js +37 -44
  19. package/components/headerFiltering/GridHeaderFilterCell.js +71 -78
  20. package/components/headerFiltering/GridHeaderFilterClearButton.js +9 -16
  21. package/components/headerFiltering/GridHeaderFilterMenu.js +36 -43
  22. package/components/headerFiltering/GridHeaderFilterMenuContainer.js +41 -48
  23. package/components/headerFiltering/index.js +3 -38
  24. package/components/index.js +7 -71
  25. package/components/package.json +2 -2
  26. package/components/reexports.js +1 -24
  27. package/constants/dataGridProDefaultSlotsComponents.js +16 -23
  28. package/hooks/features/columnHeaders/useGridColumnHeaders.js +30 -39
  29. package/hooks/features/columnPinning/gridColumnPinningInterface.js +1 -5
  30. package/hooks/features/columnPinning/index.js +1 -16
  31. package/hooks/features/columnPinning/useGridColumnPinning.js +32 -42
  32. package/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +10 -19
  33. package/hooks/features/columnReorder/columnReorderInterfaces.js +1 -5
  34. package/hooks/features/columnReorder/columnReorderSelector.js +3 -10
  35. package/hooks/features/columnReorder/index.js +2 -16
  36. package/hooks/features/columnReorder/useGridColumnReorder.js +25 -35
  37. package/hooks/features/dataSource/cache.js +3 -11
  38. package/hooks/features/dataSource/gridDataSourceSelector.js +10 -18
  39. package/hooks/features/dataSource/interfaces.js +1 -5
  40. package/hooks/features/dataSource/useGridDataSource.js +34 -44
  41. package/hooks/features/dataSource/utils.js +9 -17
  42. package/hooks/features/detailPanel/gridDetailPanelInterface.js +1 -5
  43. package/hooks/features/detailPanel/gridDetailPanelSelector.js +5 -14
  44. package/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +14 -27
  45. package/hooks/features/detailPanel/index.js +3 -53
  46. package/hooks/features/detailPanel/useGridDetailPanel.js +39 -48
  47. package/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +18 -27
  48. package/hooks/features/index.js +9 -99
  49. package/hooks/features/infiniteLoader/useGridInfiniteLoader.js +18 -27
  50. package/hooks/features/lazyLoader/useGridLazyLoader.js +14 -22
  51. package/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +13 -22
  52. package/hooks/features/rowPinning/gridRowPinningInterface.js +1 -5
  53. package/hooks/features/rowPinning/gridRowPinningSelector.js +1 -18
  54. package/hooks/features/rowPinning/index.js +1 -16
  55. package/hooks/features/rowPinning/useGridRowPinning.js +13 -23
  56. package/hooks/features/rowPinning/useGridRowPinningPreProcessors.d.ts +1 -1
  57. package/hooks/features/rowPinning/useGridRowPinningPreProcessors.js +24 -34
  58. package/hooks/features/rowReorder/gridRowReorderColDef.js +5 -12
  59. package/hooks/features/rowReorder/index.js +1 -16
  60. package/hooks/features/rowReorder/useGridRowReorder.js +20 -29
  61. package/hooks/features/rowReorder/useGridRowReorderPreProcessors.js +12 -21
  62. package/hooks/features/rows/index.js +1 -16
  63. package/hooks/features/rows/useGridRowAriaAttributes.js +14 -22
  64. package/hooks/features/serverSideTreeData/useGridDataSourceTreeDataPreProcessors.js +37 -46
  65. package/hooks/features/serverSideTreeData/utils.js +6 -13
  66. package/hooks/features/treeData/gridTreeDataGroupColDef.js +9 -20
  67. package/hooks/features/treeData/gridTreeDataUtils.js +6 -12
  68. package/hooks/features/treeData/index.js +1 -12
  69. package/hooks/features/treeData/useGridTreeData.js +7 -15
  70. package/hooks/features/treeData/useGridTreeDataPreProcessors.js +37 -46
  71. package/hooks/index.js +1 -16
  72. package/hooks/package.json +2 -2
  73. package/hooks/utils/useGridApiContext.js +2 -8
  74. package/hooks/utils/useGridApiRef.js +2 -8
  75. package/hooks/utils/useGridAriaAttributes.js +8 -16
  76. package/hooks/utils/useGridPrivateApiContext.js +2 -8
  77. package/hooks/utils/useGridRootProps.js +2 -8
  78. package/index.js +19 -210
  79. package/internals/index.js +34 -301
  80. package/internals/package.json +2 -2
  81. package/internals/propValidation.js +2 -8
  82. package/locales/package.json +6 -0
  83. package/material/icons.js +7 -14
  84. package/material/index.js +6 -13
  85. package/material/package.json +2 -2
  86. package/models/dataGridProProps.js +1 -5
  87. package/models/gridApiPro.js +1 -5
  88. package/models/gridFetchRowsParams.js +1 -5
  89. package/models/gridGroupingColDefOverride.js +1 -5
  90. package/models/gridProIconSlotsComponent.js +1 -5
  91. package/models/gridProSlotProps.js +1 -5
  92. package/models/gridProSlotsComponent.js +1 -5
  93. package/models/gridRowOrderChangeParams.js +1 -5
  94. package/models/gridRowScrollEndParams.js +1 -5
  95. package/models/gridStatePro.js +1 -5
  96. package/models/index.js +8 -82
  97. package/models/package.json +2 -2
  98. package/modern/DataGridPro/useDataGridProProps.js +6 -5
  99. package/modern/components/GridDetailPanel.js +2 -0
  100. package/modern/components/GridDetailPanels.js +2 -0
  101. package/modern/components/headerFiltering/GridHeaderFilterMenu.js +2 -2
  102. package/modern/hooks/features/detailPanel/useGridDetailPanel.js +3 -2
  103. package/modern/index.js +1 -1
  104. package/modern/utils/releaseInfo.js +1 -1
  105. package/{esm → node}/DataGridPro/DataGrid.js +9 -2
  106. package/{esm → node}/DataGridPro/DataGridPro.js +238 -231
  107. package/node/DataGridPro/index.js +39 -0
  108. package/node/DataGridPro/useDataGridProComponent.js +111 -0
  109. package/node/DataGridPro/useDataGridProProps.js +62 -0
  110. package/node/components/GridColumnHeaderCollapseIcon.js +1 -0
  111. package/node/components/GridColumnHeaders.js +99 -0
  112. package/node/components/GridColumnMenuPinningItem.js +97 -0
  113. package/node/components/GridDataSourceTreeDataGroupingCell.js +118 -0
  114. package/{esm → node}/components/GridDetailPanel.js +20 -13
  115. package/node/components/GridDetailPanelToggleCell.js +128 -0
  116. package/node/components/GridDetailPanels.js +69 -0
  117. package/node/components/GridPinnedRows.js +48 -0
  118. package/node/components/GridProColumnMenu.js +29 -0
  119. package/{esm → node}/components/GridRowReorderCell.js +45 -36
  120. package/{esm → node}/components/GridTreeDataGroupingCell.js +44 -37
  121. package/{esm → node}/components/headerFiltering/GridHeaderFilterCell.js +78 -71
  122. package/node/components/headerFiltering/GridHeaderFilterClearButton.js +28 -0
  123. package/node/components/headerFiltering/GridHeaderFilterMenu.js +95 -0
  124. package/node/components/headerFiltering/GridHeaderFilterMenuContainer.js +106 -0
  125. package/node/components/headerFiltering/index.js +38 -0
  126. package/node/components/index.js +71 -0
  127. package/node/components/reexports.js +24 -0
  128. package/node/constants/dataGridProDefaultSlotsComponents.js +24 -0
  129. package/{esm → node}/hooks/features/columnHeaders/useGridColumnHeaders.js +39 -30
  130. package/node/hooks/features/columnPinning/gridColumnPinningInterface.js +5 -0
  131. package/node/hooks/features/columnPinning/index.js +16 -0
  132. package/{esm → node}/hooks/features/columnPinning/useGridColumnPinning.js +42 -32
  133. package/{esm → node}/hooks/features/columnPinning/useGridColumnPinningPreProcessors.js +19 -10
  134. package/node/hooks/features/columnReorder/columnReorderInterfaces.js +5 -0
  135. package/node/hooks/features/columnReorder/columnReorderSelector.js +10 -0
  136. package/node/hooks/features/columnReorder/index.js +16 -0
  137. package/{esm → node}/hooks/features/columnReorder/useGridColumnReorder.js +35 -25
  138. package/{esm → node}/hooks/features/dataSource/cache.js +11 -3
  139. package/node/hooks/features/dataSource/gridDataSourceSelector.js +32 -0
  140. package/node/hooks/features/dataSource/interfaces.js +5 -0
  141. package/{esm → node}/hooks/features/dataSource/useGridDataSource.js +44 -34
  142. package/{esm → node}/hooks/features/dataSource/utils.js +17 -9
  143. package/node/hooks/features/detailPanel/gridDetailPanelInterface.js +5 -0
  144. package/node/hooks/features/detailPanel/gridDetailPanelSelector.js +21 -0
  145. package/node/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +47 -0
  146. package/node/hooks/features/detailPanel/index.js +53 -0
  147. package/{esm → node}/hooks/features/detailPanel/useGridDetailPanel.js +49 -38
  148. package/node/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +52 -0
  149. package/node/hooks/features/index.js +99 -0
  150. package/{esm → node}/hooks/features/infiniteLoader/useGridInfiniteLoader.js +27 -18
  151. package/{esm → node}/hooks/features/lazyLoader/useGridLazyLoader.js +22 -14
  152. package/node/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +43 -0
  153. package/node/hooks/features/rowPinning/gridRowPinningInterface.js +5 -0
  154. package/node/hooks/features/rowPinning/gridRowPinningSelector.js +18 -0
  155. package/node/hooks/features/rowPinning/index.js +16 -0
  156. package/node/hooks/features/rowPinning/useGridRowPinning.js +62 -0
  157. package/{esm → node}/hooks/features/rowPinning/useGridRowPinningPreProcessors.js +34 -24
  158. package/node/hooks/features/rowReorder/gridRowReorderColDef.js +27 -0
  159. package/node/hooks/features/rowReorder/index.js +16 -0
  160. package/{esm → node}/hooks/features/rowReorder/useGridRowReorder.js +29 -20
  161. package/{esm → node}/hooks/features/rowReorder/useGridRowReorderPreProcessors.js +21 -12
  162. package/node/hooks/features/rows/index.js +16 -0
  163. package/node/hooks/features/rows/useGridRowAriaAttributes.js +45 -0
  164. package/{esm → node}/hooks/features/serverSideTreeData/useGridDataSourceTreeDataPreProcessors.js +46 -37
  165. package/node/hooks/features/serverSideTreeData/utils.js +27 -0
  166. package/node/hooks/features/treeData/gridTreeDataGroupColDef.js +38 -0
  167. package/{esm → node}/hooks/features/treeData/gridTreeDataUtils.js +12 -6
  168. package/node/hooks/features/treeData/index.js +12 -0
  169. package/node/hooks/features/treeData/useGridTreeData.js +30 -0
  170. package/{esm → node}/hooks/features/treeData/useGridTreeDataPreProcessors.js +46 -37
  171. package/node/hooks/index.js +16 -0
  172. package/node/hooks/utils/useGridApiContext.js +8 -0
  173. package/node/hooks/utils/useGridApiRef.js +8 -0
  174. package/node/hooks/utils/useGridAriaAttributes.js +19 -0
  175. package/node/hooks/utils/useGridPrivateApiContext.js +8 -0
  176. package/node/hooks/utils/useGridRootProps.js +8 -0
  177. package/node/index.js +220 -0
  178. package/node/internals/index.js +302 -0
  179. package/node/internals/propValidation.js +8 -0
  180. package/node/material/icons.js +24 -0
  181. package/node/material/index.js +15 -0
  182. package/node/models/dataGridProProps.js +5 -0
  183. package/node/models/gridApiPro.js +5 -0
  184. package/node/models/gridFetchRowsParams.js +5 -0
  185. package/node/models/gridGroupingColDefOverride.js +5 -0
  186. package/node/models/gridProIconSlotsComponent.js +5 -0
  187. package/node/models/gridProSlotProps.js +5 -0
  188. package/node/models/gridProSlotsComponent.js +5 -0
  189. package/node/models/gridRowOrderChangeParams.js +5 -0
  190. package/node/models/gridRowScrollEndParams.js +5 -0
  191. package/node/models/gridStatePro.js +5 -0
  192. package/node/models/index.js +82 -0
  193. package/node/themeAugmentation/index.js +27 -0
  194. package/node/themeAugmentation/overrides.js +5 -0
  195. package/node/themeAugmentation/props.js +5 -0
  196. package/node/typeOverloads/index.js +16 -0
  197. package/node/typeOverloads/modules.js +5 -0
  198. package/node/typeOverloads/reexports.js +26 -0
  199. package/node/utils/index.js +16 -0
  200. package/node/utils/releaseInfo.js +20 -0
  201. package/{esm → node}/utils/tree/createRowTree.js +14 -7
  202. package/node/utils/tree/index.js +12 -0
  203. package/{esm → node}/utils/tree/insertDataRowInTree.js +18 -11
  204. package/node/utils/tree/models.js +5 -0
  205. package/{esm → node}/utils/tree/removeDataRowFromTree.js +16 -9
  206. package/{esm → node}/utils/tree/sortRowTree.js +12 -5
  207. package/{esm → node}/utils/tree/updateRowTree.js +26 -18
  208. package/{esm → node}/utils/tree/utils.js +34 -18
  209. package/package.json +6 -6
  210. package/themeAugmentation/index.js +4 -27
  211. package/themeAugmentation/overrides.js +1 -5
  212. package/themeAugmentation/package.json +2 -2
  213. package/themeAugmentation/props.js +1 -5
  214. package/typeOverloads/index.js +1 -16
  215. package/typeOverloads/modules.js +1 -5
  216. package/typeOverloads/package.json +2 -2
  217. package/typeOverloads/reexports.js +14 -25
  218. package/utils/index.js +1 -16
  219. package/utils/package.json +2 -2
  220. package/utils/releaseInfo.js +5 -12
  221. package/utils/tree/createRowTree.js +7 -14
  222. package/utils/tree/index.js +1 -12
  223. package/utils/tree/insertDataRowInTree.js +11 -18
  224. package/utils/tree/models.js +1 -5
  225. package/utils/tree/removeDataRowFromTree.js +9 -16
  226. package/utils/tree/sortRowTree.js +5 -12
  227. package/utils/tree/updateRowTree.js +18 -26
  228. package/utils/tree/utils.js +18 -34
  229. package/esm/DataGridPro/index.js +0 -3
  230. package/esm/DataGridPro/useDataGridProComponent.js +0 -103
  231. package/esm/DataGridPro/useDataGridProProps.js +0 -52
  232. package/esm/components/GridColumnHeaderCollapseIcon.js +0 -0
  233. package/esm/components/GridColumnHeaders.js +0 -92
  234. package/esm/components/GridColumnMenuPinningItem.js +0 -90
  235. package/esm/components/GridDataSourceTreeDataGroupingCell.js +0 -110
  236. package/esm/components/GridDetailPanelToggleCell.js +0 -121
  237. package/esm/components/GridDetailPanels.js +0 -60
  238. package/esm/components/GridPinnedRows.js +0 -40
  239. package/esm/components/GridProColumnMenu.js +0 -21
  240. package/esm/components/headerFiltering/GridHeaderFilterClearButton.js +0 -21
  241. package/esm/components/headerFiltering/GridHeaderFilterMenu.js +0 -88
  242. package/esm/components/headerFiltering/GridHeaderFilterMenuContainer.js +0 -99
  243. package/esm/components/headerFiltering/index.js +0 -3
  244. package/esm/components/index.js +0 -7
  245. package/esm/components/reexports.js +0 -1
  246. package/esm/constants/dataGridProDefaultSlotsComponents.js +0 -17
  247. package/esm/hooks/features/columnPinning/gridColumnPinningInterface.js +0 -1
  248. package/esm/hooks/features/columnPinning/index.js +0 -1
  249. package/esm/hooks/features/columnReorder/columnReorderInterfaces.js +0 -1
  250. package/esm/hooks/features/columnReorder/columnReorderSelector.js +0 -3
  251. package/esm/hooks/features/columnReorder/index.js +0 -2
  252. package/esm/hooks/features/dataSource/gridDataSourceSelector.js +0 -24
  253. package/esm/hooks/features/dataSource/interfaces.js +0 -1
  254. package/esm/hooks/features/detailPanel/gridDetailPanelInterface.js +0 -1
  255. package/esm/hooks/features/detailPanel/gridDetailPanelSelector.js +0 -12
  256. package/esm/hooks/features/detailPanel/gridDetailPanelToggleColDef.js +0 -34
  257. package/esm/hooks/features/detailPanel/index.js +0 -3
  258. package/esm/hooks/features/detailPanel/useGridDetailPanelPreProcessors.js +0 -43
  259. package/esm/hooks/features/index.js +0 -9
  260. package/esm/hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js +0 -34
  261. package/esm/hooks/features/rowPinning/gridRowPinningInterface.js +0 -1
  262. package/esm/hooks/features/rowPinning/gridRowPinningSelector.js +0 -1
  263. package/esm/hooks/features/rowPinning/index.js +0 -1
  264. package/esm/hooks/features/rowPinning/useGridRowPinning.js +0 -52
  265. package/esm/hooks/features/rowReorder/gridRowReorderColDef.js +0 -20
  266. package/esm/hooks/features/rowReorder/index.js +0 -1
  267. package/esm/hooks/features/rows/index.js +0 -1
  268. package/esm/hooks/features/rows/useGridRowAriaAttributes.js +0 -37
  269. package/esm/hooks/features/serverSideTreeData/utils.js +0 -20
  270. package/esm/hooks/features/treeData/gridTreeDataGroupColDef.js +0 -27
  271. package/esm/hooks/features/treeData/index.js +0 -1
  272. package/esm/hooks/features/treeData/useGridTreeData.js +0 -22
  273. package/esm/hooks/index.js +0 -1
  274. package/esm/hooks/utils/useGridApiContext.js +0 -2
  275. package/esm/hooks/utils/useGridApiRef.js +0 -2
  276. package/esm/hooks/utils/useGridAriaAttributes.js +0 -11
  277. package/esm/hooks/utils/useGridPrivateApiContext.js +0 -2
  278. package/esm/hooks/utils/useGridRootProps.js +0 -2
  279. package/esm/index.js +0 -22
  280. package/esm/internals/index.js +0 -35
  281. package/esm/internals/propValidation.js +0 -2
  282. package/esm/material/icons.js +0 -17
  283. package/esm/material/index.js +0 -8
  284. package/esm/models/dataGridProProps.js +0 -1
  285. package/esm/models/gridApiPro.js +0 -1
  286. package/esm/models/gridFetchRowsParams.js +0 -1
  287. package/esm/models/gridGroupingColDefOverride.js +0 -1
  288. package/esm/models/gridProIconSlotsComponent.js +0 -1
  289. package/esm/models/gridProSlotProps.js +0 -1
  290. package/esm/models/gridProSlotsComponent.js +0 -1
  291. package/esm/models/gridRowOrderChangeParams.js +0 -1
  292. package/esm/models/gridRowScrollEndParams.js +0 -1
  293. package/esm/models/gridStatePro.js +0 -1
  294. package/esm/models/index.js +0 -8
  295. package/esm/themeAugmentation/index.js +0 -4
  296. package/esm/themeAugmentation/overrides.js +0 -1
  297. package/esm/themeAugmentation/props.js +0 -1
  298. package/esm/typeOverloads/index.js +0 -1
  299. package/esm/typeOverloads/modules.js +0 -1
  300. package/esm/typeOverloads/reexports.js +0 -15
  301. package/esm/utils/index.js +0 -1
  302. package/esm/utils/releaseInfo.js +0 -13
  303. package/esm/utils/tree/index.js +0 -1
  304. package/esm/utils/tree/models.js +0 -1
  305. /package/{locales.d.ts → locales/index.d.ts} +0 -0
  306. /package/{esm/locales.js → locales/index.js} +0 -0
  307. /package/modern/{locales.js → locales/index.js} +0 -0
  308. /package/{locales.js → node/locales/index.js} +0 -0
@@ -1,20 +1,13 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.updateRowTree = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _xDataGrid = require("@mui/x-data-grid");
10
- var _internals = require("@mui/x-data-grid/internals");
11
- var _insertDataRowInTree = require("./insertDataRowInTree");
12
- var _removeDataRowFromTree = require("./removeDataRowFromTree");
13
- var _utils = require("./utils");
14
- const updateRowTree = params => {
15
- const tree = (0, _extends2.default)({}, params.previousTree);
16
- const treeDepths = (0, _extends2.default)({}, params.previousTreeDepth);
17
- const updatedGroupsManager = (0, _utils.createUpdatedGroupsManager)();
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { GRID_ROOT_GROUP_ID } from '@mui/x-data-grid';
3
+ import { isDeepEqual, getTreeNodeDescendants } from '@mui/x-data-grid/internals';
4
+ import { insertDataRowInTree } from "./insertDataRowInTree.js";
5
+ import { removeDataRowFromTree } from "./removeDataRowFromTree.js";
6
+ import { createUpdatedGroupsManager, getNodePathInTree } from "./utils.js";
7
+ export const updateRowTree = params => {
8
+ const tree = _extends({}, params.previousTree);
9
+ const treeDepths = _extends({}, params.previousTreeDepth);
10
+ const updatedGroupsManager = createUpdatedGroupsManager();
18
11
  const groupsToFetch = params.previousGroupsToFetch ? new Set([...params.previousGroupsToFetch]) : new Set([]);
19
12
  for (let i = 0; i < params.nodes.inserted.length; i += 1) {
20
13
  const {
@@ -22,7 +15,7 @@ const updateRowTree = params => {
22
15
  path,
23
16
  serverChildrenCount
24
17
  } = params.nodes.inserted[i];
25
- (0, _insertDataRowInTree.insertDataRowInTree)({
18
+ insertDataRowInTree({
26
19
  previousTree: params.previousTree,
27
20
  tree,
28
21
  treeDepths,
@@ -38,7 +31,7 @@ const updateRowTree = params => {
38
31
  }
39
32
  for (let i = 0; i < params.nodes.removed.length; i += 1) {
40
33
  const nodeId = params.nodes.removed[i];
41
- (0, _removeDataRowFromTree.removeDataRowFromTree)({
34
+ removeDataRowFromTree({
42
35
  tree,
43
36
  treeDepths,
44
37
  updatedGroupsManager,
@@ -51,19 +44,19 @@ const updateRowTree = params => {
51
44
  path,
52
45
  serverChildrenCount
53
46
  } = params.nodes.modified[i];
54
- const pathInPreviousTree = (0, _utils.getNodePathInTree)({
47
+ const pathInPreviousTree = getNodePathInTree({
55
48
  tree,
56
49
  id
57
50
  });
58
- const isInSameGroup = (0, _internals.isDeepEqual)(pathInPreviousTree, path);
51
+ const isInSameGroup = isDeepEqual(pathInPreviousTree, path);
59
52
  if (!isInSameGroup) {
60
- (0, _removeDataRowFromTree.removeDataRowFromTree)({
53
+ removeDataRowFromTree({
61
54
  tree,
62
55
  treeDepths,
63
56
  updatedGroupsManager,
64
57
  id
65
58
  });
66
- (0, _insertDataRowInTree.insertDataRowInTree)({
59
+ insertDataRowInTree({
67
60
  previousTree: params.previousTree,
68
61
  tree,
69
62
  treeDepths,
@@ -82,7 +75,7 @@ const updateRowTree = params => {
82
75
  }
83
76
 
84
77
  // TODO rows v6: Avoid walking the whole tree, we should be able to generate the new list only using slices.
85
- const dataRowIds = (0, _internals.getTreeNodeDescendants)(tree, _xDataGrid.GRID_ROOT_GROUP_ID, true);
78
+ const dataRowIds = getTreeNodeDescendants(tree, GRID_ROOT_GROUP_ID, true);
86
79
  return {
87
80
  tree,
88
81
  treeDepths,
@@ -91,5 +84,4 @@ const updateRowTree = params => {
91
84
  updatedGroupsManager,
92
85
  groupsToFetch: Array.from(groupsToFetch)
93
86
  };
94
- };
95
- exports.updateRowTree = updateRowTree;
87
+ };
@@ -1,24 +1,16 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.updateGroupNodeIdAndAutoGenerated = exports.updateGroupDefaultExpansion = exports.removeNodeFromTree = exports.insertNodeInTree = exports.getVisibleRowsLookup = exports.getNodePathInTree = exports.getGroupRowIdFromPath = exports.createUpdatedGroupsManager = exports.checkGroupChildrenExpansion = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _xDataGrid = require("@mui/x-data-grid");
10
- const getGroupRowIdFromPath = path => {
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { GRID_ROOT_GROUP_ID } from '@mui/x-data-grid';
3
+ export const getGroupRowIdFromPath = path => {
11
4
  const pathStr = path.map(groupingCriteria => `${groupingCriteria.field}/${groupingCriteria.key}`).join('-');
12
5
  return `auto-generated-row-${pathStr}`;
13
6
  };
14
- exports.getGroupRowIdFromPath = getGroupRowIdFromPath;
15
- const getNodePathInTree = ({
7
+ export const getNodePathInTree = ({
16
8
  id,
17
9
  tree
18
10
  }) => {
19
11
  const path = [];
20
12
  let node = tree[id];
21
- while (node.id !== _xDataGrid.GRID_ROOT_GROUP_ID) {
13
+ while (node.id !== GRID_ROOT_GROUP_ID) {
22
14
  path.push({
23
15
  field: node.type === 'leaf' ? null : node.groupingField,
24
16
  key: node.groupingKey
@@ -28,10 +20,9 @@ const getNodePathInTree = ({
28
20
  path.reverse();
29
21
  return path;
30
22
  };
31
- exports.getNodePathInTree = getNodePathInTree;
32
- const checkGroupChildrenExpansion = (node, defaultGroupingExpansionDepth, isGroupExpandedByDefault) => {
23
+ export const checkGroupChildrenExpansion = (node, defaultGroupingExpansionDepth, isGroupExpandedByDefault) => {
33
24
  let childrenExpanded;
34
- if (node.id === _xDataGrid.GRID_ROOT_GROUP_ID) {
25
+ if (node.id === GRID_ROOT_GROUP_ID) {
35
26
  childrenExpanded = true;
36
27
  } else if (isGroupExpandedByDefault) {
37
28
  childrenExpanded = isGroupExpandedByDefault(node);
@@ -40,8 +31,7 @@ const checkGroupChildrenExpansion = (node, defaultGroupingExpansionDepth, isGrou
40
31
  }
41
32
  return childrenExpanded;
42
33
  };
43
- exports.checkGroupChildrenExpansion = checkGroupChildrenExpansion;
44
- const updateGroupDefaultExpansion = (node, defaultGroupingExpansionDepth, isGroupExpandedByDefault) => {
34
+ export const updateGroupDefaultExpansion = (node, defaultGroupingExpansionDepth, isGroupExpandedByDefault) => {
45
35
  const childrenExpanded = checkGroupChildrenExpansion(node, defaultGroupingExpansionDepth, isGroupExpandedByDefault);
46
36
  node.childrenExpanded = childrenExpanded;
47
37
  return node;
@@ -50,8 +40,7 @@ const updateGroupDefaultExpansion = (node, defaultGroupingExpansionDepth, isGrou
50
40
  /**
51
41
  * Insert a node in the tree
52
42
  */
53
- exports.updateGroupDefaultExpansion = updateGroupDefaultExpansion;
54
- const insertNodeInTree = (node, tree, treeDepths, previousTree) => {
43
+ export const insertNodeInTree = (node, tree, treeDepths, previousTree) => {
55
44
  // 1. Insert node in the tree.
56
45
  tree[node.id] = node;
57
46
 
@@ -88,8 +77,7 @@ const insertNodeInTree = (node, tree, treeDepths, previousTree) => {
88
77
  /**
89
78
  * Removes a node from the tree
90
79
  */
91
- exports.insertNodeInTree = insertNodeInTree;
92
- const removeNodeFromTree = ({
80
+ export const removeNodeFromTree = ({
93
81
  node,
94
82
  tree,
95
83
  treeDepths
@@ -111,7 +99,7 @@ const removeNodeFromTree = ({
111
99
  // For footers,
112
100
  // Unregister the node from its parent `footerId` property.
113
101
  if (node.type === 'footer') {
114
- tree[parentNode.id] = (0, _extends2.default)({}, parentNode, {
102
+ tree[parentNode.id] = _extends({}, parentNode, {
115
103
  footerId: null
116
104
  });
117
105
  }
@@ -125,7 +113,7 @@ const removeNodeFromTree = ({
125
113
  const children = parentNode.children.filter(childId => childId !== node.id);
126
114
  const childrenFromPath = parentNode.childrenFromPath;
127
115
  delete childrenFromPath[groupingField][groupingKey.toString()];
128
- tree[parentNode.id] = (0, _extends2.default)({}, parentNode, {
116
+ tree[parentNode.id] = _extends({}, parentNode, {
129
117
  children,
130
118
  childrenFromPath
131
119
  });
@@ -135,8 +123,7 @@ const removeNodeFromTree = ({
135
123
  /**
136
124
  * Updates the `id` and `isAutoGenerated` properties of a group node.
137
125
  */
138
- exports.removeNodeFromTree = removeNodeFromTree;
139
- const updateGroupNodeIdAndAutoGenerated = ({
126
+ export const updateGroupNodeIdAndAutoGenerated = ({
140
127
  node,
141
128
  updatedNode,
142
129
  previousTree,
@@ -145,7 +132,7 @@ const updateGroupNodeIdAndAutoGenerated = ({
145
132
  }) => {
146
133
  // 1. Set the new parent for all children from the old group
147
134
  node.children.forEach(childId => {
148
- tree[childId] = (0, _extends2.default)({}, tree[childId], {
135
+ tree[childId] = _extends({}, tree[childId], {
149
136
  parent: updatedNode.id
150
137
  });
151
138
  });
@@ -158,11 +145,10 @@ const updateGroupNodeIdAndAutoGenerated = ({
158
145
  });
159
146
 
160
147
  // 3. Add the new group in the tree
161
- const groupNode = (0, _extends2.default)({}, node, updatedNode);
148
+ const groupNode = _extends({}, node, updatedNode);
162
149
  insertNodeInTree(groupNode, tree, treeDepths, previousTree);
163
150
  };
164
- exports.updateGroupNodeIdAndAutoGenerated = updateGroupNodeIdAndAutoGenerated;
165
- const createUpdatedGroupsManager = () => ({
151
+ export const createUpdatedGroupsManager = () => ({
166
152
  value: {},
167
153
  addAction(groupId, action) {
168
154
  if (!this.value[groupId]) {
@@ -171,8 +157,7 @@ const createUpdatedGroupsManager = () => ({
171
157
  this.value[groupId][action] = true;
172
158
  }
173
159
  });
174
- exports.createUpdatedGroupsManager = createUpdatedGroupsManager;
175
- const getVisibleRowsLookup = ({
160
+ export const getVisibleRowsLookup = ({
176
161
  tree,
177
162
  filteredRowsLookup
178
163
  }) => {
@@ -203,5 +188,4 @@ const getVisibleRowsLookup = ({
203
188
  }
204
189
  }
205
190
  return visibleRowsLookup;
206
- };
207
- exports.getVisibleRowsLookup = getVisibleRowsLookup;
191
+ };
@@ -1,3 +0,0 @@
1
- export * from "./DataGrid.js";
2
- export * from "./DataGridPro.js";
3
- export { DATA_GRID_PRO_PROPS_DEFAULT_VALUES } from "./useDataGridProProps.js";
@@ -1,103 +0,0 @@
1
- import { useGridInitialization, useGridInitializeState, useGridClipboard, useGridColumnMenu, useGridColumns, columnsStateInitializer, useGridDensity, useGridCsvExport, useGridPrintExport, useGridFilter, filterStateInitializer, useGridFocus, useGridKeyboardNavigation, useGridPagination, paginationStateInitializer, useGridPreferencesPanel, useGridEditing, editingStateInitializer, useGridRows, useGridRowsPreProcessors, rowsStateInitializer, useGridRowsMeta, useGridParamsApi, useGridRowSelection, useGridSorting, sortingStateInitializer, useGridScroll, useGridEvents, dimensionsStateInitializer, useGridDimensions, useGridStatePersistence, useGridRowSelectionPreProcessors, useGridColumnSpanning, columnMenuStateInitializer, densityStateInitializer, focusStateInitializer, preferencePanelStateInitializer, rowsMetaStateInitializer, rowSelectionStateInitializer, useGridColumnGrouping, columnGroupsStateInitializer, headerFilteringStateInitializer, useGridHeaderFiltering, virtualizationStateInitializer, useGridVirtualization, useGridColumnResize, columnResizeStateInitializer, useGridRowSpanning, rowSpanningStateInitializer, useGridListView, listViewStateInitializer, propsStateInitializer } from '@mui/x-data-grid/internals';
2
- // Pro-only features
3
- import { useGridInfiniteLoader } from "../hooks/features/infiniteLoader/useGridInfiniteLoader.js";
4
- import { useGridColumnReorder, columnReorderStateInitializer } from "../hooks/features/columnReorder/useGridColumnReorder.js";
5
- import { useGridTreeData } from "../hooks/features/treeData/useGridTreeData.js";
6
- import { useGridTreeDataPreProcessors } from "../hooks/features/treeData/useGridTreeDataPreProcessors.js";
7
- import { useGridDataSourceTreeDataPreProcessors } from "../hooks/features/serverSideTreeData/useGridDataSourceTreeDataPreProcessors.js";
8
- import { useGridColumnPinning, columnPinningStateInitializer } from "../hooks/features/columnPinning/useGridColumnPinning.js";
9
- import { useGridColumnPinningPreProcessors } from "../hooks/features/columnPinning/useGridColumnPinningPreProcessors.js";
10
- import { useGridDetailPanel, detailPanelStateInitializer } from "../hooks/features/detailPanel/useGridDetailPanel.js";
11
- import { useGridDetailPanelPreProcessors } from "../hooks/features/detailPanel/useGridDetailPanelPreProcessors.js";
12
- import { useGridRowReorder } from "../hooks/features/rowReorder/useGridRowReorder.js";
13
- import { useGridRowReorderPreProcessors } from "../hooks/features/rowReorder/useGridRowReorderPreProcessors.js";
14
- import { useGridLazyLoader } from "../hooks/features/lazyLoader/useGridLazyLoader.js";
15
- import { useGridLazyLoaderPreProcessors } from "../hooks/features/lazyLoader/useGridLazyLoaderPreProcessors.js";
16
- import { useGridRowPinning, rowPinningStateInitializer } from "../hooks/features/rowPinning/useGridRowPinning.js";
17
- import { useGridRowPinningPreProcessors } from "../hooks/features/rowPinning/useGridRowPinningPreProcessors.js";
18
- import { useGridDataSource, dataSourceStateInitializer } from "../hooks/features/dataSource/useGridDataSource.js";
19
- export const useDataGridProComponent = (inputApiRef, props) => {
20
- const apiRef = useGridInitialization(inputApiRef, props);
21
-
22
- /**
23
- * Register all pre-processors called during state initialization here.
24
- */
25
- useGridRowSelectionPreProcessors(apiRef, props);
26
- useGridRowReorderPreProcessors(apiRef, props);
27
- useGridTreeDataPreProcessors(apiRef, props);
28
- useGridDataSourceTreeDataPreProcessors(apiRef, props);
29
- useGridLazyLoaderPreProcessors(apiRef, props);
30
- useGridRowPinningPreProcessors(apiRef);
31
- useGridDetailPanelPreProcessors(apiRef, props);
32
- // The column pinning `hydrateColumns` pre-processor must be after every other `hydrateColumns` pre-processors
33
- // Because it changes the order of the columns.
34
- useGridColumnPinningPreProcessors(apiRef, props);
35
- useGridRowsPreProcessors(apiRef);
36
-
37
- /**
38
- * Register all state initializers here.
39
- */
40
- useGridInitializeState(propsStateInitializer, apiRef, props);
41
- useGridInitializeState(headerFilteringStateInitializer, apiRef, props);
42
- useGridInitializeState(rowSelectionStateInitializer, apiRef, props);
43
- useGridInitializeState(detailPanelStateInitializer, apiRef, props);
44
- useGridInitializeState(columnPinningStateInitializer, apiRef, props);
45
- useGridInitializeState(columnsStateInitializer, apiRef, props);
46
- useGridInitializeState(rowPinningStateInitializer, apiRef, props);
47
- useGridInitializeState(rowsStateInitializer, apiRef, props);
48
- useGridInitializeState(paginationStateInitializer, apiRef, props);
49
- useGridInitializeState(editingStateInitializer, apiRef, props);
50
- useGridInitializeState(focusStateInitializer, apiRef, props);
51
- useGridInitializeState(sortingStateInitializer, apiRef, props);
52
- useGridInitializeState(preferencePanelStateInitializer, apiRef, props);
53
- useGridInitializeState(filterStateInitializer, apiRef, props);
54
- useGridInitializeState(rowSpanningStateInitializer, apiRef, props);
55
- useGridInitializeState(densityStateInitializer, apiRef, props);
56
- useGridInitializeState(columnReorderStateInitializer, apiRef, props);
57
- useGridInitializeState(columnResizeStateInitializer, apiRef, props);
58
- useGridInitializeState(columnMenuStateInitializer, apiRef, props);
59
- useGridInitializeState(columnGroupsStateInitializer, apiRef, props);
60
- useGridInitializeState(virtualizationStateInitializer, apiRef, props);
61
- useGridInitializeState(dataSourceStateInitializer, apiRef, props);
62
- useGridInitializeState(dimensionsStateInitializer, apiRef, props);
63
- useGridInitializeState(rowsMetaStateInitializer, apiRef, props);
64
- useGridInitializeState(listViewStateInitializer, apiRef, props);
65
- useGridHeaderFiltering(apiRef, props);
66
- useGridTreeData(apiRef, props);
67
- useGridKeyboardNavigation(apiRef, props);
68
- useGridRowSelection(apiRef, props);
69
- useGridColumnPinning(apiRef, props);
70
- useGridRowPinning(apiRef, props);
71
- useGridColumns(apiRef, props);
72
- useGridRows(apiRef, props);
73
- useGridRowSpanning(apiRef, props);
74
- useGridParamsApi(apiRef, props);
75
- useGridDetailPanel(apiRef, props);
76
- useGridColumnSpanning(apiRef);
77
- useGridColumnGrouping(apiRef, props);
78
- useGridEditing(apiRef, props);
79
- useGridFocus(apiRef, props);
80
- useGridPreferencesPanel(apiRef, props);
81
- useGridFilter(apiRef, props);
82
- useGridSorting(apiRef, props);
83
- useGridDensity(apiRef, props);
84
- useGridColumnReorder(apiRef, props);
85
- useGridColumnResize(apiRef, props);
86
- useGridPagination(apiRef, props);
87
- useGridRowsMeta(apiRef, props);
88
- useGridRowReorder(apiRef, props);
89
- useGridScroll(apiRef, props);
90
- useGridInfiniteLoader(apiRef, props);
91
- useGridLazyLoader(apiRef, props);
92
- useGridColumnMenu(apiRef);
93
- useGridCsvExport(apiRef, props);
94
- useGridPrintExport(apiRef, props);
95
- useGridClipboard(apiRef, props);
96
- useGridDimensions(apiRef, props);
97
- useGridEvents(apiRef, props);
98
- useGridStatePersistence(apiRef);
99
- useGridVirtualization(apiRef, props);
100
- useGridDataSource(apiRef, props);
101
- useGridListView(apiRef, props);
102
- return apiRef;
103
- };
@@ -1,52 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import * as React from 'react';
3
- import { useThemeProps } from '@mui/material/styles';
4
- import { GRID_DEFAULT_LOCALE_TEXT, DATA_GRID_PROPS_DEFAULT_VALUES } from '@mui/x-data-grid';
5
- import { computeSlots, useProps, ROW_SELECTION_PROPAGATION_DEFAULT } from '@mui/x-data-grid/internals';
6
- import { DATA_GRID_PRO_DEFAULT_SLOTS_COMPONENTS } from "../constants/dataGridProDefaultSlotsComponents.js";
7
- const getDataGridProForcedProps = themedProps => _extends({
8
- signature: 'DataGridPro'
9
- }, themedProps.unstable_dataSource ? {
10
- filterMode: 'server',
11
- sortingMode: 'server',
12
- paginationMode: 'server'
13
- } : {});
14
-
15
- /**
16
- * The default values of `DataGridProPropsWithDefaultValue` to inject in the props of DataGridPro.
17
- */
18
- export const DATA_GRID_PRO_PROPS_DEFAULT_VALUES = _extends({}, DATA_GRID_PROPS_DEFAULT_VALUES, {
19
- autosizeOnMount: false,
20
- defaultGroupingExpansionDepth: 0,
21
- disableAutosize: false,
22
- disableChildrenFiltering: false,
23
- disableChildrenSorting: false,
24
- disableColumnPinning: false,
25
- getDetailPanelHeight: () => 500,
26
- headerFilters: false,
27
- keepColumnPositionIfDraggedOutside: false,
28
- rowSelectionPropagation: ROW_SELECTION_PROPAGATION_DEFAULT,
29
- rowReordering: false,
30
- rowsLoadingMode: 'client',
31
- scrollEndThreshold: 80,
32
- treeData: false,
33
- unstable_listView: false
34
- });
35
- const defaultSlots = DATA_GRID_PRO_DEFAULT_SLOTS_COMPONENTS;
36
- export const useDataGridProProps = inProps => {
37
- const themedProps = useProps(
38
- // eslint-disable-next-line material-ui/mui-name-matches-component-name
39
- useThemeProps({
40
- props: inProps,
41
- name: 'MuiDataGrid'
42
- }));
43
- const localeText = React.useMemo(() => _extends({}, GRID_DEFAULT_LOCALE_TEXT, themedProps.localeText), [themedProps.localeText]);
44
- const slots = React.useMemo(() => computeSlots({
45
- defaultSlots,
46
- slots: themedProps.slots
47
- }), [themedProps.slots]);
48
- return React.useMemo(() => _extends({}, DATA_GRID_PRO_PROPS_DEFAULT_VALUES, themedProps, {
49
- localeText,
50
- slots
51
- }, getDataGridProForcedProps(themedProps)), [themedProps, localeText, slots]);
52
- };
File without changes
@@ -1,92 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["style", "className", "visibleColumns", "sortColumnLookup", "filterColumnLookup", "columnHeaderTabIndexState", "columnGroupHeaderTabIndexState", "columnHeaderFocus", "columnGroupHeaderFocus", "headerGroupingMaxDepth", "columnMenuState", "columnVisibility", "columnGroupsHeaderStructure", "hasOtherElementInTabSequence"];
4
- import * as React from 'react';
5
- import PropTypes from 'prop-types';
6
- import { styled } from '@mui/material/styles';
7
- import { GridBaseColumnHeaders } from '@mui/x-data-grid/internals';
8
- import { forwardRef } from '@mui/x-internals/forwardRef';
9
- import { useGridColumnHeaders } from "../hooks/features/columnHeaders/useGridColumnHeaders.js";
10
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
- const Filler = styled('div')({
12
- flex: 1,
13
- backgroundColor: 'var(--DataGrid-containerBackground)'
14
- });
15
- const GridColumnHeaders = forwardRef(function GridColumnHeaders(props, ref) {
16
- const {
17
- className,
18
- visibleColumns,
19
- sortColumnLookup,
20
- filterColumnLookup,
21
- columnHeaderTabIndexState,
22
- columnGroupHeaderTabIndexState,
23
- columnHeaderFocus,
24
- columnGroupHeaderFocus,
25
- headerGroupingMaxDepth,
26
- columnMenuState,
27
- columnVisibility,
28
- columnGroupsHeaderStructure,
29
- hasOtherElementInTabSequence
30
- } = props,
31
- other = _objectWithoutPropertiesLoose(props, _excluded);
32
- const {
33
- getInnerProps,
34
- getColumnHeadersRow,
35
- getColumnFiltersRow,
36
- getColumnGroupHeadersRows
37
- } = useGridColumnHeaders({
38
- visibleColumns,
39
- sortColumnLookup,
40
- filterColumnLookup,
41
- columnHeaderTabIndexState,
42
- hasOtherElementInTabSequence,
43
- columnGroupHeaderTabIndexState,
44
- columnHeaderFocus,
45
- columnGroupHeaderFocus,
46
- headerGroupingMaxDepth,
47
- columnMenuState,
48
- columnVisibility,
49
- columnGroupsHeaderStructure
50
- });
51
- return /*#__PURE__*/_jsxs(GridBaseColumnHeaders, _extends({
52
- className: className
53
- }, other, getInnerProps(), {
54
- ref: ref,
55
- children: [getColumnGroupHeadersRows(), getColumnHeadersRow(), getColumnFiltersRow(), /*#__PURE__*/_jsx(Filler, {})]
56
- }));
57
- });
58
- process.env.NODE_ENV !== "production" ? GridColumnHeaders.propTypes = {
59
- // ----------------------------- Warning --------------------------------
60
- // | These PropTypes are generated from the TypeScript type definitions |
61
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
62
- // ----------------------------------------------------------------------
63
- columnGroupHeaderFocus: PropTypes.shape({
64
- depth: PropTypes.number.isRequired,
65
- field: PropTypes.string.isRequired
66
- }),
67
- columnGroupHeaderTabIndexState: PropTypes.shape({
68
- depth: PropTypes.number.isRequired,
69
- field: PropTypes.string.isRequired
70
- }),
71
- columnGroupsHeaderStructure: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.shape({
72
- columnFields: PropTypes.arrayOf(PropTypes.string).isRequired,
73
- groupId: PropTypes.string
74
- }))).isRequired,
75
- columnHeaderFocus: PropTypes.shape({
76
- field: PropTypes.string.isRequired
77
- }),
78
- columnHeaderTabIndexState: PropTypes.shape({
79
- field: PropTypes.string.isRequired
80
- }),
81
- columnMenuState: PropTypes.shape({
82
- field: PropTypes.string,
83
- open: PropTypes.bool.isRequired
84
- }).isRequired,
85
- columnVisibility: PropTypes.object.isRequired,
86
- filterColumnLookup: PropTypes.object.isRequired,
87
- hasOtherElementInTabSequence: PropTypes.bool.isRequired,
88
- headerGroupingMaxDepth: PropTypes.number.isRequired,
89
- sortColumnLookup: PropTypes.object.isRequired,
90
- visibleColumns: PropTypes.arrayOf(PropTypes.object).isRequired
91
- } : void 0;
92
- export { GridColumnHeaders };
@@ -1,90 +0,0 @@
1
- import * as React from 'react';
2
- import { useRtl } from '@mui/system/RtlProvider';
3
- import PropTypes from 'prop-types';
4
- import MenuItem from '@mui/material/MenuItem';
5
- import ListItemIcon from '@mui/material/ListItemIcon';
6
- import ListItemText from '@mui/material/ListItemText';
7
- import { GridPinnedColumnPosition } from '@mui/x-data-grid';
8
- import { useGridApiContext } from "../hooks/utils/useGridApiContext.js";
9
- import { useGridRootProps } from "../hooks/utils/useGridRootProps.js";
10
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
- function GridColumnMenuPinningItem(props) {
12
- const {
13
- colDef,
14
- onClick
15
- } = props;
16
- const apiRef = useGridApiContext();
17
- const rootProps = useGridRootProps();
18
- const isRtl = useRtl();
19
- const pinColumn = React.useCallback(side => event => {
20
- apiRef.current.pinColumn(colDef.field, side);
21
- onClick(event);
22
- }, [apiRef, colDef.field, onClick]);
23
- const unpinColumn = event => {
24
- apiRef.current.unpinColumn(colDef.field);
25
- onClick(event);
26
- };
27
- const pinToLeftMenuItem = /*#__PURE__*/_jsxs(MenuItem, {
28
- onClick: pinColumn(GridPinnedColumnPosition.LEFT),
29
- children: [/*#__PURE__*/_jsx(ListItemIcon, {
30
- children: /*#__PURE__*/_jsx(rootProps.slots.columnMenuPinLeftIcon, {
31
- fontSize: "small"
32
- })
33
- }), /*#__PURE__*/_jsx(ListItemText, {
34
- children: apiRef.current.getLocaleText('pinToLeft')
35
- })]
36
- });
37
- const pinToRightMenuItem = /*#__PURE__*/_jsxs(MenuItem, {
38
- onClick: pinColumn(GridPinnedColumnPosition.RIGHT),
39
- children: [/*#__PURE__*/_jsx(ListItemIcon, {
40
- children: /*#__PURE__*/_jsx(rootProps.slots.columnMenuPinRightIcon, {
41
- fontSize: "small"
42
- })
43
- }), /*#__PURE__*/_jsx(ListItemText, {
44
- children: apiRef.current.getLocaleText('pinToRight')
45
- })]
46
- });
47
- if (!colDef) {
48
- return null;
49
- }
50
- const side = apiRef.current.isColumnPinned(colDef.field);
51
- if (side) {
52
- const otherSide = side === GridPinnedColumnPosition.RIGHT ? GridPinnedColumnPosition.LEFT : GridPinnedColumnPosition.RIGHT;
53
- const label = otherSide === GridPinnedColumnPosition.RIGHT ? 'pinToRight' : 'pinToLeft';
54
- const Icon = side === GridPinnedColumnPosition.RIGHT ? rootProps.slots.columnMenuPinLeftIcon : rootProps.slots.columnMenuPinRightIcon;
55
- return /*#__PURE__*/_jsxs(React.Fragment, {
56
- children: [/*#__PURE__*/_jsxs(MenuItem, {
57
- onClick: pinColumn(otherSide),
58
- children: [/*#__PURE__*/_jsx(ListItemIcon, {
59
- children: /*#__PURE__*/_jsx(Icon, {
60
- fontSize: "small"
61
- })
62
- }), /*#__PURE__*/_jsx(ListItemText, {
63
- children: apiRef.current.getLocaleText(label)
64
- })]
65
- }), /*#__PURE__*/_jsxs(MenuItem, {
66
- onClick: unpinColumn,
67
- children: [/*#__PURE__*/_jsx(ListItemIcon, {}), /*#__PURE__*/_jsx(ListItemText, {
68
- children: apiRef.current.getLocaleText('unpin')
69
- })]
70
- })]
71
- });
72
- }
73
- if (isRtl) {
74
- return /*#__PURE__*/_jsxs(React.Fragment, {
75
- children: [pinToRightMenuItem, pinToLeftMenuItem]
76
- });
77
- }
78
- return /*#__PURE__*/_jsxs(React.Fragment, {
79
- children: [pinToLeftMenuItem, pinToRightMenuItem]
80
- });
81
- }
82
- process.env.NODE_ENV !== "production" ? GridColumnMenuPinningItem.propTypes = {
83
- // ----------------------------- Warning --------------------------------
84
- // | These PropTypes are generated from the TypeScript type definitions |
85
- // | To update them edit the TypeScript types and run "pnpm proptypes" |
86
- // ----------------------------------------------------------------------
87
- colDef: PropTypes.object.isRequired,
88
- onClick: PropTypes.func.isRequired
89
- } : void 0;
90
- export { GridColumnMenuPinningItem };