@mui/x-data-grid 7.0.0-beta.2 → 7.0.0-beta.4

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 (496) hide show
  1. package/CHANGELOG.md +298 -23
  2. package/DataGrid/DataGrid.js +0 -6
  3. package/colDef/gridActionsColDef.js +1 -0
  4. package/colDef/gridBooleanColDef.js +1 -0
  5. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  6. package/components/GridRow.d.ts +3 -1
  7. package/components/GridRow.js +10 -2
  8. package/components/GridScrollbarFillerCell.js +6 -21
  9. package/components/cell/GridCell.js +10 -12
  10. package/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  11. package/components/containers/GridRootStyles.js +51 -23
  12. package/components/panel/GridPanel.d.ts +1 -1
  13. package/components/panel/filterPanel/GridFilterInputBoolean.js +6 -4
  14. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  15. package/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -4
  16. package/components/panel/filterPanel/GridFilterInputValue.js +4 -3
  17. package/components/virtualization/GridVirtualScrollerRenderZone.js +10 -3
  18. package/constants/gridClasses.d.ts +24 -8
  19. package/constants/gridClasses.js +1 -1
  20. package/hooks/features/clipboard/useGridClipboard.js +1 -1
  21. package/hooks/features/columnHeaders/useGridColumnHeaders.d.ts +5 -5
  22. package/hooks/features/columnHeaders/useGridColumnHeaders.js +46 -48
  23. package/hooks/features/editing/useGridCellEditing.js +3 -4
  24. package/hooks/features/editing/useGridRowEditing.js +3 -4
  25. package/hooks/features/sorting/useGridSorting.js +1 -2
  26. package/hooks/features/virtualization/gridVirtualizationSelectors.d.ts +9 -0
  27. package/hooks/features/virtualization/gridVirtualizationSelectors.js +7 -0
  28. package/hooks/features/virtualization/useGridVirtualScroller.js +19 -16
  29. package/hooks/features/virtualization/useGridVirtualization.d.ts +8 -0
  30. package/hooks/features/virtualization/useGridVirtualization.js +6 -1
  31. package/index.js +1 -1
  32. package/internals/index.d.ts +1 -1
  33. package/internals/index.js +1 -1
  34. package/models/colDef/gridColDef.d.ts +6 -0
  35. package/models/events/gridEventLookup.d.ts +1 -8
  36. package/models/props/DataGridProps.d.ts +0 -6
  37. package/modern/DataGrid/DataGrid.js +0 -6
  38. package/modern/colDef/gridActionsColDef.js +1 -0
  39. package/modern/colDef/gridBooleanColDef.js +1 -0
  40. package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
  41. package/modern/components/GridRow.js +10 -2
  42. package/modern/components/GridScrollbarFillerCell.js +6 -21
  43. package/modern/components/cell/GridCell.js +10 -12
  44. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  45. package/modern/components/containers/GridRootStyles.js +51 -23
  46. package/modern/components/panel/filterPanel/GridFilterInputBoolean.js +6 -4
  47. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  48. package/modern/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -4
  49. package/modern/components/panel/filterPanel/GridFilterInputValue.js +4 -3
  50. package/modern/components/virtualization/GridVirtualScrollerRenderZone.js +10 -3
  51. package/modern/constants/gridClasses.js +1 -1
  52. package/modern/hooks/features/clipboard/useGridClipboard.js +1 -1
  53. package/modern/hooks/features/columnHeaders/useGridColumnHeaders.js +46 -48
  54. package/modern/hooks/features/editing/useGridCellEditing.js +3 -4
  55. package/modern/hooks/features/editing/useGridRowEditing.js +3 -4
  56. package/modern/hooks/features/sorting/useGridSorting.js +1 -2
  57. package/modern/hooks/features/virtualization/gridVirtualizationSelectors.js +7 -0
  58. package/modern/hooks/features/virtualization/useGridVirtualScroller.js +18 -14
  59. package/modern/hooks/features/virtualization/useGridVirtualization.js +6 -1
  60. package/modern/index.js +1 -1
  61. package/modern/internals/index.js +1 -1
  62. package/modern/utils/keyboardUtils.js +20 -11
  63. package/node/DataGrid/DataGrid.js +0 -6
  64. package/node/colDef/gridActionsColDef.js +1 -0
  65. package/node/colDef/gridBooleanColDef.js +1 -0
  66. package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
  67. package/node/components/GridRow.js +10 -2
  68. package/node/components/GridScrollbarFillerCell.js +5 -20
  69. package/node/components/cell/GridCell.js +10 -12
  70. package/node/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  71. package/node/components/containers/GridRootStyles.js +51 -23
  72. package/node/components/panel/filterPanel/GridFilterInputBoolean.js +6 -4
  73. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  74. package/node/components/panel/filterPanel/GridFilterInputSingleSelect.js +6 -4
  75. package/node/components/panel/filterPanel/GridFilterInputValue.js +4 -3
  76. package/node/components/virtualization/GridVirtualScrollerRenderZone.js +10 -3
  77. package/node/constants/gridClasses.js +1 -1
  78. package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
  79. package/node/hooks/features/columnHeaders/useGridColumnHeaders.js +45 -47
  80. package/node/hooks/features/editing/useGridCellEditing.js +2 -3
  81. package/node/hooks/features/editing/useGridRowEditing.js +2 -3
  82. package/node/hooks/features/sorting/useGridSorting.js +1 -2
  83. package/node/hooks/features/virtualization/gridVirtualizationSelectors.js +8 -1
  84. package/node/hooks/features/virtualization/useGridVirtualScroller.js +17 -13
  85. package/node/hooks/features/virtualization/useGridVirtualization.js +7 -2
  86. package/node/index.js +1 -1
  87. package/node/internals/index.js +7 -0
  88. package/node/utils/keyboardUtils.js +25 -20
  89. package/package.json +3 -3
  90. package/utils/keyboardUtils.d.ts +7 -6
  91. package/utils/keyboardUtils.js +20 -11
  92. package/legacy/DataGrid/DataGrid.js +0 -670
  93. package/legacy/DataGrid/index.js +0 -2
  94. package/legacy/DataGrid/useDataGridComponent.js +0 -81
  95. package/legacy/DataGrid/useDataGridProps.js +0 -98
  96. package/legacy/colDef/gridActionsColDef.js +0 -18
  97. package/legacy/colDef/gridBooleanColDef.js +0 -42
  98. package/legacy/colDef/gridBooleanOperators.js +0 -16
  99. package/legacy/colDef/gridCheckboxSelectionColDef.js +0 -33
  100. package/legacy/colDef/gridDateColDef.js +0 -62
  101. package/legacy/colDef/gridDateOperators.js +0 -115
  102. package/legacy/colDef/gridDefaultColumnTypes.js +0 -19
  103. package/legacy/colDef/gridNumericColDef.js +0 -19
  104. package/legacy/colDef/gridNumericOperators.js +0 -145
  105. package/legacy/colDef/gridSingleSelectColDef.js +0 -64
  106. package/legacy/colDef/gridSingleSelectOperators.js +0 -46
  107. package/legacy/colDef/gridStringColDef.js +0 -27
  108. package/legacy/colDef/gridStringOperators.js +0 -112
  109. package/legacy/colDef/index.js +0 -13
  110. package/legacy/components/GridApiContext.js +0 -5
  111. package/legacy/components/GridColumnHeaders.js +0 -94
  112. package/legacy/components/GridDetailPanels.js +0 -4
  113. package/legacy/components/GridFooter.js +0 -42
  114. package/legacy/components/GridHeader.js +0 -13
  115. package/legacy/components/GridHeaders.js +0 -53
  116. package/legacy/components/GridLoadingOverlay.js +0 -21
  117. package/legacy/components/GridNoResultsOverlay.js +0 -14
  118. package/legacy/components/GridNoRowsOverlay.js +0 -23
  119. package/legacy/components/GridPagination.js +0 -85
  120. package/legacy/components/GridPinnedRows.js +0 -4
  121. package/legacy/components/GridRow.js +0 -457
  122. package/legacy/components/GridRowCount.js +0 -63
  123. package/legacy/components/GridScrollbarFillerCell.js +0 -34
  124. package/legacy/components/GridSelectedRowCount.js +0 -66
  125. package/legacy/components/base/GridBody.js +0 -2
  126. package/legacy/components/base/GridFooterPlaceholder.js +0 -12
  127. package/legacy/components/base/GridOverlays.js +0 -122
  128. package/legacy/components/base/index.js +0 -3
  129. package/legacy/components/cell/GridActionsCell.js +0 -294
  130. package/legacy/components/cell/GridActionsCellItem.js +0 -69
  131. package/legacy/components/cell/GridBooleanCell.js +0 -121
  132. package/legacy/components/cell/GridCell.js +0 -350
  133. package/legacy/components/cell/GridEditBooleanCell.js +0 -174
  134. package/legacy/components/cell/GridEditDateCell.js +0 -230
  135. package/legacy/components/cell/GridEditInputCell.js +0 -198
  136. package/legacy/components/cell/GridEditSingleSelectCell.js +0 -231
  137. package/legacy/components/cell/GridSkeletonCell.js +0 -52
  138. package/legacy/components/cell/index.js +0 -9
  139. package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +0 -59
  140. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +0 -41
  141. package/legacy/components/columnHeaders/GridColumnGroupHeader.js +0 -132
  142. package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -93
  143. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +0 -212
  144. package/legacy/components/columnHeaders/GridColumnHeaderSeparator.js +0 -71
  145. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +0 -79
  146. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +0 -84
  147. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +0 -55
  148. package/legacy/components/columnHeaders/GridGenericColumnHeaderItem.js +0 -107
  149. package/legacy/components/columnHeaders/GridIconButtonContainer.js +0 -41
  150. package/legacy/components/columnHeaders/index.js +0 -5
  151. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +0 -160
  152. package/legacy/components/columnSelection/GridHeaderCheckbox.js +0 -134
  153. package/legacy/components/columnSelection/index.js +0 -2
  154. package/legacy/components/columnsManagement/GridColumnsManagement.js +0 -307
  155. package/legacy/components/columnsManagement/index.js +0 -1
  156. package/legacy/components/columnsManagement/utils.js +0 -22
  157. package/legacy/components/containers/GridFooterContainer.js +0 -50
  158. package/legacy/components/containers/GridOverlay.js +0 -52
  159. package/legacy/components/containers/GridRoot.js +0 -79
  160. package/legacy/components/containers/GridRootStyles.js +0 -398
  161. package/legacy/components/containers/GridToolbarContainer.js +0 -59
  162. package/legacy/components/containers/index.js +0 -4
  163. package/legacy/components/index.js +0 -19
  164. package/legacy/components/menu/GridMenu.js +0 -132
  165. package/legacy/components/menu/columnMenu/GridColumnHeaderMenu.js +0 -61
  166. package/legacy/components/menu/columnMenu/GridColumnMenu.js +0 -81
  167. package/legacy/components/menu/columnMenu/GridColumnMenuContainer.js +0 -56
  168. package/legacy/components/menu/columnMenu/GridColumnMenuItemProps.js +0 -1
  169. package/legacy/components/menu/columnMenu/GridColumnMenuProps.js +0 -1
  170. package/legacy/components/menu/columnMenu/index.js +0 -9
  171. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +0 -21
  172. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +0 -41
  173. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +0 -60
  174. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +0 -41
  175. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +0 -80
  176. package/legacy/components/menu/columnMenu/menuItems/index.js +0 -5
  177. package/legacy/components/menu/index.js +0 -2
  178. package/legacy/components/panel/GridColumnsPanel.js +0 -22
  179. package/legacy/components/panel/GridPanel.js +0 -137
  180. package/legacy/components/panel/GridPanelContent.js +0 -49
  181. package/legacy/components/panel/GridPanelFooter.js +0 -50
  182. package/legacy/components/panel/GridPanelHeader.js +0 -48
  183. package/legacy/components/panel/GridPanelWrapper.js +0 -64
  184. package/legacy/components/panel/GridPreferencesPanel.js +0 -26
  185. package/legacy/components/panel/filterPanel/GridFilterForm.js +0 -528
  186. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +0 -115
  187. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +0 -121
  188. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -116
  189. package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +0 -102
  190. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +0 -146
  191. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +0 -104
  192. package/legacy/components/panel/filterPanel/GridFilterInputValueProps.js +0 -1
  193. package/legacy/components/panel/filterPanel/GridFilterPanel.js +0 -264
  194. package/legacy/components/panel/filterPanel/filterPanelUtils.js +0 -22
  195. package/legacy/components/panel/filterPanel/index.js +0 -9
  196. package/legacy/components/panel/index.js +0 -7
  197. package/legacy/components/reexportable.js +0 -1
  198. package/legacy/components/toolbar/GridToolbar.js +0 -64
  199. package/legacy/components/toolbar/GridToolbarColumnsButton.js +0 -68
  200. package/legacy/components/toolbar/GridToolbarDensitySelector.js +0 -142
  201. package/legacy/components/toolbar/GridToolbarExport.js +0 -80
  202. package/legacy/components/toolbar/GridToolbarExportContainer.js +0 -105
  203. package/legacy/components/toolbar/GridToolbarFilterButton.js +0 -136
  204. package/legacy/components/toolbar/GridToolbarQuickFilter.js +0 -164
  205. package/legacy/components/toolbar/index.js +0 -7
  206. package/legacy/components/virtualization/GridBottomContainer.js +0 -25
  207. package/legacy/components/virtualization/GridMainContainer.js +0 -20
  208. package/legacy/components/virtualization/GridTopContainer.js +0 -35
  209. package/legacy/components/virtualization/GridVirtualScrollbar.js +0 -129
  210. package/legacy/components/virtualization/GridVirtualScroller.js +0 -93
  211. package/legacy/components/virtualization/GridVirtualScrollerContent.js +0 -35
  212. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +0 -70
  213. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +0 -42
  214. package/legacy/constants/defaultGridSlotsComponents.js +0 -33
  215. package/legacy/constants/envConstants.js +0 -19
  216. package/legacy/constants/gridClasses.js +0 -5
  217. package/legacy/constants/gridDetailPanelToggleField.js +0 -2
  218. package/legacy/constants/index.js +0 -3
  219. package/legacy/constants/localeTextConstants.js +0 -158
  220. package/legacy/context/GridContextProvider.js +0 -21
  221. package/legacy/context/GridRootPropsContext.js +0 -6
  222. package/legacy/context/index.js +0 -1
  223. package/legacy/hooks/core/gridCoreSelector.js +0 -7
  224. package/legacy/hooks/core/index.js +0 -1
  225. package/legacy/hooks/core/pipeProcessing/gridPipeProcessingApi.js +0 -1
  226. package/legacy/hooks/core/pipeProcessing/index.js +0 -4
  227. package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +0 -114
  228. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +0 -26
  229. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -26
  230. package/legacy/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +0 -1
  231. package/legacy/hooks/core/strategyProcessing/index.js +0 -3
  232. package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +0 -18
  233. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +0 -116
  234. package/legacy/hooks/core/useGridApiInitialization.js +0 -124
  235. package/legacy/hooks/core/useGridInitialization.js +0 -26
  236. package/legacy/hooks/core/useGridLocaleText.js +0 -12
  237. package/legacy/hooks/core/useGridLoggerFactory.js +0 -51
  238. package/legacy/hooks/core/useGridRefs.js +0 -13
  239. package/legacy/hooks/core/useGridStateInitialization.js +0 -106
  240. package/legacy/hooks/core/useGridTheme.js +0 -21
  241. package/legacy/hooks/features/clipboard/useGridClipboard.js +0 -92
  242. package/legacy/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +0 -1
  243. package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +0 -24
  244. package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +0 -92
  245. package/legacy/hooks/features/columnGrouping/index.js +0 -2
  246. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +0 -140
  247. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +0 -275
  248. package/legacy/hooks/features/columnMenu/columnMenuInterfaces.js +0 -1
  249. package/legacy/hooks/features/columnMenu/columnMenuSelector.js +0 -3
  250. package/legacy/hooks/features/columnMenu/index.js +0 -2
  251. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +0 -108
  252. package/legacy/hooks/features/columnMenu/useGridColumnMenuSlots.js +0 -71
  253. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +0 -9
  254. package/legacy/hooks/features/columns/gridColumnsSelector.js +0 -174
  255. package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -338
  256. package/legacy/hooks/features/columns/index.js +0 -2
  257. package/legacy/hooks/features/columns/useGridColumnSpanning.js +0 -105
  258. package/legacy/hooks/features/columns/useGridColumns.js +0 -319
  259. package/legacy/hooks/features/density/densitySelector.js +0 -10
  260. package/legacy/hooks/features/density/densityState.js +0 -1
  261. package/legacy/hooks/features/density/index.js +0 -2
  262. package/legacy/hooks/features/density/useGridDensity.js +0 -48
  263. package/legacy/hooks/features/dimensions/gridDimensionsApi.js +0 -1
  264. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +0 -3
  265. package/legacy/hooks/features/dimensions/index.js +0 -2
  266. package/legacy/hooks/features/dimensions/useGridDimensions.js +0 -302
  267. package/legacy/hooks/features/editing/gridEditingSelectors.js +0 -4
  268. package/legacy/hooks/features/editing/useGridCellEditing.js +0 -456
  269. package/legacy/hooks/features/editing/useGridEditing.js +0 -145
  270. package/legacy/hooks/features/editing/useGridRowEditing.js +0 -567
  271. package/legacy/hooks/features/events/useGridEvents.js +0 -23
  272. package/legacy/hooks/features/export/serializers/csvSerializer.js +0 -155
  273. package/legacy/hooks/features/export/useGridCsvExport.js +0 -75
  274. package/legacy/hooks/features/export/useGridPrintExport.js +0 -313
  275. package/legacy/hooks/features/export/utils.js +0 -49
  276. package/legacy/hooks/features/filter/gridFilterSelector.js +0 -165
  277. package/legacy/hooks/features/filter/gridFilterState.js +0 -20
  278. package/legacy/hooks/features/filter/gridFilterUtils.js +0 -330
  279. package/legacy/hooks/features/filter/index.js +0 -2
  280. package/legacy/hooks/features/filter/useGridFilter.js +0 -378
  281. package/legacy/hooks/features/focus/gridFocusState.js +0 -1
  282. package/legacy/hooks/features/focus/gridFocusStateSelector.js +0 -31
  283. package/legacy/hooks/features/focus/index.js +0 -2
  284. package/legacy/hooks/features/focus/useGridFocus.js +0 -408
  285. package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +0 -10
  286. package/legacy/hooks/features/headerFiltering/index.js +0 -1
  287. package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +0 -93
  288. package/legacy/hooks/features/index.js +0 -16
  289. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +0 -565
  290. package/legacy/hooks/features/pagination/gridPaginationInterfaces.js +0 -1
  291. package/legacy/hooks/features/pagination/gridPaginationSelector.js +0 -115
  292. package/legacy/hooks/features/pagination/gridPaginationUtils.js +0 -31
  293. package/legacy/hooks/features/pagination/index.js +0 -2
  294. package/legacy/hooks/features/pagination/useGridPagination.js +0 -175
  295. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +0 -3
  296. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelState.js +0 -1
  297. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +0 -6
  298. package/legacy/hooks/features/preferencesPanel/index.js +0 -3
  299. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +0 -125
  300. package/legacy/hooks/features/rowSelection/gridRowSelectionSelector.js +0 -19
  301. package/legacy/hooks/features/rowSelection/index.js +0 -1
  302. package/legacy/hooks/features/rowSelection/useGridRowSelection.js +0 -419
  303. package/legacy/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +0 -45
  304. package/legacy/hooks/features/rowSelection/utils.js +0 -8
  305. package/legacy/hooks/features/rows/gridRowsInterfaces.js +0 -1
  306. package/legacy/hooks/features/rows/gridRowsMetaSelector.js +0 -3
  307. package/legacy/hooks/features/rows/gridRowsMetaState.js +0 -1
  308. package/legacy/hooks/features/rows/gridRowsSelector.js +0 -90
  309. package/legacy/hooks/features/rows/gridRowsUtils.js +0 -294
  310. package/legacy/hooks/features/rows/index.js +0 -4
  311. package/legacy/hooks/features/rows/useGridParamsApi.js +0 -142
  312. package/legacy/hooks/features/rows/useGridRows.js +0 -466
  313. package/legacy/hooks/features/rows/useGridRowsMeta.js +0 -236
  314. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +0 -82
  315. package/legacy/hooks/features/scroll/useGridScroll.js +0 -133
  316. package/legacy/hooks/features/sorting/gridSortingSelector.js +0 -56
  317. package/legacy/hooks/features/sorting/gridSortingState.js +0 -1
  318. package/legacy/hooks/features/sorting/gridSortingUtils.js +0 -154
  319. package/legacy/hooks/features/sorting/index.js +0 -2
  320. package/legacy/hooks/features/sorting/useGridSorting.js +0 -276
  321. package/legacy/hooks/features/statePersistence/gridStatePersistenceInterface.js +0 -1
  322. package/legacy/hooks/features/statePersistence/index.js +0 -1
  323. package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +0 -25
  324. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -52
  325. package/legacy/hooks/features/virtualization/index.js +0 -2
  326. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +0 -643
  327. package/legacy/hooks/features/virtualization/useGridVirtualization.js +0 -58
  328. package/legacy/hooks/index.js +0 -3
  329. package/legacy/hooks/utils/index.js +0 -9
  330. package/legacy/hooks/utils/useFirstRender.js +0 -8
  331. package/legacy/hooks/utils/useGridApiContext.js +0 -9
  332. package/legacy/hooks/utils/useGridApiEventHandler.js +0 -105
  333. package/legacy/hooks/utils/useGridApiMethod.js +0 -11
  334. package/legacy/hooks/utils/useGridApiRef.js +0 -7
  335. package/legacy/hooks/utils/useGridAriaAttributes.js +0 -25
  336. package/legacy/hooks/utils/useGridInitializeState.js +0 -8
  337. package/legacy/hooks/utils/useGridLogger.js +0 -10
  338. package/legacy/hooks/utils/useGridNativeEventListener.js +0 -32
  339. package/legacy/hooks/utils/useGridPrivateApiContext.js +0 -12
  340. package/legacy/hooks/utils/useGridRootProps.js +0 -9
  341. package/legacy/hooks/utils/useGridSelector.js +0 -54
  342. package/legacy/hooks/utils/useGridVisibleRows.js +0 -42
  343. package/legacy/hooks/utils/useLazyRef.js +0 -11
  344. package/legacy/hooks/utils/useOnMount.js +0 -7
  345. package/legacy/hooks/utils/useResizeObserver.js +0 -36
  346. package/legacy/hooks/utils/useRunOnce.js +0 -18
  347. package/legacy/hooks/utils/useTimeout.js +0 -38
  348. package/legacy/index.js +0 -38
  349. package/legacy/internals/index.js +0 -68
  350. package/legacy/internals/utils/computeSlots.js +0 -17
  351. package/legacy/internals/utils/index.js +0 -3
  352. package/legacy/internals/utils/propValidation.js +0 -21
  353. package/legacy/internals/utils/useProps.js +0 -32
  354. package/legacy/joy/icons.js +0 -432
  355. package/legacy/joy/index.js +0 -2
  356. package/legacy/joy/joySlots.js +0 -420
  357. package/legacy/locales/arSD.js +0 -160
  358. package/legacy/locales/beBY.js +0 -184
  359. package/legacy/locales/bgBG.js +0 -160
  360. package/legacy/locales/coreLocales.js +0 -62
  361. package/legacy/locales/csCZ.js +0 -181
  362. package/legacy/locales/daDK.js +0 -160
  363. package/legacy/locales/deDE.js +0 -160
  364. package/legacy/locales/elGR.js +0 -160
  365. package/legacy/locales/enUS.js +0 -4
  366. package/legacy/locales/esES.js +0 -160
  367. package/legacy/locales/faIR.js +0 -160
  368. package/legacy/locales/fiFI.js +0 -160
  369. package/legacy/locales/frFR.js +0 -160
  370. package/legacy/locales/heIL.js +0 -160
  371. package/legacy/locales/hrHR.js +0 -160
  372. package/legacy/locales/huHU.js +0 -160
  373. package/legacy/locales/index.js +0 -35
  374. package/legacy/locales/itIT.js +0 -160
  375. package/legacy/locales/jaJP.js +0 -160
  376. package/legacy/locales/koKR.js +0 -162
  377. package/legacy/locales/nbNO.js +0 -162
  378. package/legacy/locales/nlNL.js +0 -160
  379. package/legacy/locales/plPL.js +0 -163
  380. package/legacy/locales/ptBR.js +0 -160
  381. package/legacy/locales/ptPT.js +0 -160
  382. package/legacy/locales/roRO.js +0 -160
  383. package/legacy/locales/ruRU.js +0 -181
  384. package/legacy/locales/skSK.js +0 -181
  385. package/legacy/locales/svSE.js +0 -160
  386. package/legacy/locales/trTR.js +0 -161
  387. package/legacy/locales/ukUA.js +0 -182
  388. package/legacy/locales/urPK.js +0 -160
  389. package/legacy/locales/viVN.js +0 -160
  390. package/legacy/locales/zhCN.js +0 -160
  391. package/legacy/locales/zhHK.js +0 -160
  392. package/legacy/locales/zhTW.js +0 -160
  393. package/legacy/material/components/MUISelectOption.js +0 -14
  394. package/legacy/material/icons/GridColumnUnsortedIcon.js +0 -16
  395. package/legacy/material/icons/index.js +0 -89
  396. package/legacy/material/index.js +0 -69
  397. package/legacy/models/api/gridApiCommon.js +0 -1
  398. package/legacy/models/api/gridApiCommunity.js +0 -1
  399. package/legacy/models/api/gridCallbackDetails.js +0 -1
  400. package/legacy/models/api/gridColumnApi.js +0 -1
  401. package/legacy/models/api/gridColumnGroupingApi.js +0 -1
  402. package/legacy/models/api/gridColumnMenuApi.js +0 -1
  403. package/legacy/models/api/gridColumnSpanning.js +0 -1
  404. package/legacy/models/api/gridCoreApi.js +0 -1
  405. package/legacy/models/api/gridCsvExportApi.js +0 -1
  406. package/legacy/models/api/gridDensityApi.js +0 -1
  407. package/legacy/models/api/gridEditingApi.js +0 -1
  408. package/legacy/models/api/gridFilterApi.js +0 -1
  409. package/legacy/models/api/gridFocusApi.js +0 -1
  410. package/legacy/models/api/gridHeaderFilteringApi.js +0 -1
  411. package/legacy/models/api/gridLocaleTextApi.js +0 -1
  412. package/legacy/models/api/gridLoggerApi.js +0 -1
  413. package/legacy/models/api/gridParamsApi.js +0 -1
  414. package/legacy/models/api/gridPreferencesPanelApi.js +0 -1
  415. package/legacy/models/api/gridPrintExportApi.js +0 -1
  416. package/legacy/models/api/gridRowApi.js +0 -1
  417. package/legacy/models/api/gridRowSelectionApi.js +0 -1
  418. package/legacy/models/api/gridRowsMetaApi.js +0 -1
  419. package/legacy/models/api/gridScrollApi.js +0 -1
  420. package/legacy/models/api/gridSortApi.js +0 -1
  421. package/legacy/models/api/gridStateApi.js +0 -1
  422. package/legacy/models/api/gridVirtualizationApi.js +0 -1
  423. package/legacy/models/api/index.js +0 -16
  424. package/legacy/models/colDef/gridColDef.js +0 -1
  425. package/legacy/models/colDef/gridColType.js +0 -1
  426. package/legacy/models/colDef/gridColumnTypesRecord.js +0 -1
  427. package/legacy/models/colDef/index.js +0 -6
  428. package/legacy/models/controlStateItem.js +0 -1
  429. package/legacy/models/cursorCoordinates.js +0 -1
  430. package/legacy/models/elementSize.js +0 -1
  431. package/legacy/models/events/gridEventListener.js +0 -1
  432. package/legacy/models/events/gridEventLookup.js +0 -1
  433. package/legacy/models/events/gridEventPublisher.js +0 -1
  434. package/legacy/models/events/index.js +0 -3
  435. package/legacy/models/gridApiCaches.js +0 -1
  436. package/legacy/models/gridCell.js +0 -1
  437. package/legacy/models/gridCellClass.js +0 -1
  438. package/legacy/models/gridColumnGrouping.js +0 -11
  439. package/legacy/models/gridColumnHeaderClass.js +0 -1
  440. package/legacy/models/gridColumnSpanning.js +0 -1
  441. package/legacy/models/gridDensity.js +0 -1
  442. package/legacy/models/gridEditRowModel.js +0 -16
  443. package/legacy/models/gridExport.js +0 -1
  444. package/legacy/models/gridFeatureMode.js +0 -1
  445. package/legacy/models/gridFilterItem.js +0 -11
  446. package/legacy/models/gridFilterModel.js +0 -1
  447. package/legacy/models/gridFilterOperator.js +0 -1
  448. package/legacy/models/gridHeaderFilteringModel.js +0 -1
  449. package/legacy/models/gridIconSlotsComponent.js +0 -1
  450. package/legacy/models/gridPaginationProps.js +0 -1
  451. package/legacy/models/gridRenderContextProps.js +0 -1
  452. package/legacy/models/gridRowSelectionModel.js +0 -1
  453. package/legacy/models/gridRows.js +0 -1
  454. package/legacy/models/gridSlotsComponent.js +0 -1
  455. package/legacy/models/gridSlotsComponentsProps.js +0 -1
  456. package/legacy/models/gridSortModel.js +0 -1
  457. package/legacy/models/gridStateCommunity.js +0 -1
  458. package/legacy/models/index.js +0 -29
  459. package/legacy/models/logger.js +0 -1
  460. package/legacy/models/muiEvent.js +0 -1
  461. package/legacy/models/params/gridCellParams.js +0 -1
  462. package/legacy/models/params/gridColumnGroupHeaderParams.js +0 -1
  463. package/legacy/models/params/gridColumnHeaderParams.js +0 -1
  464. package/legacy/models/params/gridColumnOrderChangeParams.js +0 -1
  465. package/legacy/models/params/gridColumnResizeParams.js +0 -1
  466. package/legacy/models/params/gridEditCellParams.js +0 -27
  467. package/legacy/models/params/gridHeaderSelectionCheckboxParams.js +0 -1
  468. package/legacy/models/params/gridMenuParams.js +0 -1
  469. package/legacy/models/params/gridPreferencePanelParams.js +0 -1
  470. package/legacy/models/params/gridRowParams.js +0 -44
  471. package/legacy/models/params/gridRowSelectionCheckboxParams.js +0 -1
  472. package/legacy/models/params/gridScrollParams.js +0 -1
  473. package/legacy/models/params/gridValueOptionsParams.js +0 -1
  474. package/legacy/models/params/index.js +0 -13
  475. package/legacy/models/props/DataGridProps.js +0 -1
  476. package/legacy/themeAugmentation/index.js +0 -4
  477. package/legacy/themeAugmentation/overrides.js +0 -1
  478. package/legacy/themeAugmentation/props.js +0 -1
  479. package/legacy/utils/EventManager.js +0 -91
  480. package/legacy/utils/Store.js +0 -34
  481. package/legacy/utils/cleanupTracking/CleanupTracking.js +0 -1
  482. package/legacy/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -29
  483. package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -52
  484. package/legacy/utils/createControllablePromise.js +0 -11
  485. package/legacy/utils/createSelector.js +0 -120
  486. package/legacy/utils/doesSupportPreventScroll.js +0 -13
  487. package/legacy/utils/domUtils.js +0 -49
  488. package/legacy/utils/exportAs.js +0 -40
  489. package/legacy/utils/fastMemo.js +0 -5
  490. package/legacy/utils/fastObjectShallowCompare.js +0 -32
  491. package/legacy/utils/getGridLocalization.js +0 -15
  492. package/legacy/utils/getPublicApiRef.js +0 -5
  493. package/legacy/utils/index.js +0 -1
  494. package/legacy/utils/keyboardUtils.js +0 -60
  495. package/legacy/utils/utils.js +0 -189
  496. package/legacy/utils/warning.js +0 -25
@@ -1,456 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- import _toPropertyKey from "@babel/runtime/helpers/esm/toPropertyKey";
4
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
5
- import _extends from "@babel/runtime/helpers/esm/extends";
6
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
7
- var _excluded = ["id", "field"],
8
- _excluded2 = ["id", "field"];
9
- import _regeneratorRuntime from "@babel/runtime/regenerator";
10
- import * as React from 'react';
11
- import { unstable_useEventCallback as useEventCallback, unstable_useEnhancedEffect as useEnhancedEffect } from '@mui/utils';
12
- import { useGridApiEventHandler, useGridApiOptionHandler } from '../../utils/useGridApiEventHandler';
13
- import { GridEditModes, GridCellModes } from '../../../models/gridEditRowModel';
14
- import { useGridApiMethod } from '../../utils/useGridApiMethod';
15
- import { gridEditRowsStateSelector } from './gridEditingSelectors';
16
- import { isPrintableKey } from '../../../utils/keyboardUtils';
17
- import { buildWarning } from '../../../utils/warning';
18
- import { gridRowsDataRowIdToIdLookupSelector } from '../rows/gridRowsSelector';
19
- import { deepClone } from '../../../utils/utils';
20
- import { GridCellEditStartReasons, GridCellEditStopReasons } from '../../../models/params/gridEditCellParams';
21
- var missingOnProcessRowUpdateErrorWarning = buildWarning(['MUI X: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.', 'To handle the error pass a callback to the `onProcessRowUpdateError` prop, e.g. `<DataGrid onProcessRowUpdateError={(error) => ...} />`.', 'For more detail, see https://mui.com/x/react-data-grid/editing/#server-side-persistence.'], 'error');
22
- export var useGridCellEditing = function useGridCellEditing(apiRef, props) {
23
- var _React$useState = React.useState({}),
24
- _React$useState2 = _slicedToArray(_React$useState, 2),
25
- cellModesModel = _React$useState2[0],
26
- setCellModesModel = _React$useState2[1];
27
- var cellModesModelRef = React.useRef(cellModesModel);
28
- var prevCellModesModel = React.useRef({});
29
- var processRowUpdate = props.processRowUpdate,
30
- onProcessRowUpdateError = props.onProcessRowUpdateError,
31
- cellModesModelProp = props.cellModesModel,
32
- onCellModesModelChange = props.onCellModesModelChange;
33
- var runIfEditModeIsCell = function runIfEditModeIsCell(callback) {
34
- return function () {
35
- if (props.editMode === GridEditModes.Cell) {
36
- callback.apply(void 0, arguments);
37
- }
38
- };
39
- };
40
- var throwIfNotEditable = React.useCallback(function (id, field) {
41
- var params = apiRef.current.getCellParams(id, field);
42
- if (!apiRef.current.isCellEditable(params)) {
43
- throw new Error("MUI X: The cell with id=".concat(id, " and field=").concat(field, " is not editable."));
44
- }
45
- }, [apiRef]);
46
- var throwIfNotInMode = React.useCallback(function (id, field, mode) {
47
- if (apiRef.current.getCellMode(id, field) !== mode) {
48
- throw new Error("MUI X: The cell with id=".concat(id, " and field=").concat(field, " is not in ").concat(mode, " mode."));
49
- }
50
- }, [apiRef]);
51
- var handleCellDoubleClick = React.useCallback(function (params, event) {
52
- if (!params.isEditable) {
53
- return;
54
- }
55
- if (params.cellMode === GridCellModes.Edit) {
56
- return;
57
- }
58
- var newParams = _extends({}, params, {
59
- reason: GridCellEditStartReasons.cellDoubleClick
60
- });
61
- apiRef.current.publishEvent('cellEditStart', newParams, event);
62
- }, [apiRef]);
63
- var handleCellFocusOut = React.useCallback(function (params, event) {
64
- if (params.cellMode === GridCellModes.View) {
65
- return;
66
- }
67
- if (apiRef.current.getCellMode(params.id, params.field) === GridCellModes.View) {
68
- return;
69
- }
70
- var newParams = _extends({}, params, {
71
- reason: GridCellEditStopReasons.cellFocusOut
72
- });
73
- apiRef.current.publishEvent('cellEditStop', newParams, event);
74
- }, [apiRef]);
75
- var handleCellKeyDown = React.useCallback(function (params, event) {
76
- if (params.cellMode === GridCellModes.Edit) {
77
- // Wait until IME is settled for Asian languages like Japanese and Chinese
78
- // TODO: `event.which` is deprecated but this is a temporary workaround
79
- if (event.which === 229) {
80
- return;
81
- }
82
- var reason;
83
- if (event.key === 'Escape') {
84
- reason = GridCellEditStopReasons.escapeKeyDown;
85
- } else if (event.key === 'Enter') {
86
- reason = GridCellEditStopReasons.enterKeyDown;
87
- } else if (event.key === 'Tab') {
88
- reason = event.shiftKey ? GridCellEditStopReasons.shiftTabKeyDown : GridCellEditStopReasons.tabKeyDown;
89
- event.preventDefault(); // Prevent going to the next element in the tab sequence
90
- }
91
- if (reason) {
92
- var newParams = _extends({}, params, {
93
- reason: reason
94
- });
95
- apiRef.current.publishEvent('cellEditStop', newParams, event);
96
- }
97
- } else if (params.isEditable) {
98
- var _reason;
99
- var canStartEditing = apiRef.current.unstable_applyPipeProcessors('canStartEditing', true, {
100
- event: event,
101
- cellParams: params,
102
- editMode: 'cell'
103
- });
104
- if (!canStartEditing) {
105
- return;
106
- }
107
- if (isPrintableKey(event)) {
108
- _reason = GridCellEditStartReasons.printableKeyDown;
109
- } else if ((event.ctrlKey || event.metaKey) && event.key === 'v') {
110
- _reason = GridCellEditStartReasons.pasteKeyDown;
111
- } else if (event.key === 'Enter') {
112
- _reason = GridCellEditStartReasons.enterKeyDown;
113
- } else if (event.key === 'Delete' || event.key === 'Backspace') {
114
- // Delete on Windows, Backspace on macOS
115
- _reason = GridCellEditStartReasons.deleteKeyDown;
116
- }
117
- if (_reason) {
118
- var _newParams = _extends({}, params, {
119
- reason: _reason,
120
- key: event.key
121
- });
122
- apiRef.current.publishEvent('cellEditStart', _newParams, event);
123
- }
124
- }
125
- }, [apiRef]);
126
- var handleCellEditStart = React.useCallback(function (params) {
127
- var id = params.id,
128
- field = params.field,
129
- reason = params.reason;
130
- var startCellEditModeParams = {
131
- id: id,
132
- field: field
133
- };
134
- if (reason === GridCellEditStartReasons.printableKeyDown || reason === GridCellEditStartReasons.deleteKeyDown || reason === GridCellEditStartReasons.pasteKeyDown) {
135
- startCellEditModeParams.deleteValue = true;
136
- }
137
- apiRef.current.startCellEditMode(startCellEditModeParams);
138
- }, [apiRef]);
139
- var handleCellEditStop = React.useCallback(function (params) {
140
- var id = params.id,
141
- field = params.field,
142
- reason = params.reason;
143
- apiRef.current.runPendingEditCellValueMutation(id, field);
144
- var cellToFocusAfter;
145
- if (reason === GridCellEditStopReasons.enterKeyDown) {
146
- cellToFocusAfter = 'below';
147
- } else if (reason === GridCellEditStopReasons.tabKeyDown) {
148
- cellToFocusAfter = 'right';
149
- } else if (reason === GridCellEditStopReasons.shiftTabKeyDown) {
150
- cellToFocusAfter = 'left';
151
- }
152
- var ignoreModifications = reason === 'escapeKeyDown';
153
- apiRef.current.stopCellEditMode({
154
- id: id,
155
- field: field,
156
- ignoreModifications: ignoreModifications,
157
- cellToFocusAfter: cellToFocusAfter
158
- });
159
- }, [apiRef]);
160
- useGridApiEventHandler(apiRef, 'cellDoubleClick', runIfEditModeIsCell(handleCellDoubleClick));
161
- useGridApiEventHandler(apiRef, 'cellFocusOut', runIfEditModeIsCell(handleCellFocusOut));
162
- useGridApiEventHandler(apiRef, 'cellKeyDown', runIfEditModeIsCell(handleCellKeyDown));
163
- useGridApiEventHandler(apiRef, 'cellEditStart', runIfEditModeIsCell(handleCellEditStart));
164
- useGridApiEventHandler(apiRef, 'cellEditStop', runIfEditModeIsCell(handleCellEditStop));
165
- useGridApiOptionHandler(apiRef, 'cellEditStart', props.onCellEditStart);
166
- useGridApiOptionHandler(apiRef, 'cellEditStop', props.onCellEditStop);
167
- var getCellMode = React.useCallback(function (id, field) {
168
- var editingState = gridEditRowsStateSelector(apiRef.current.state);
169
- var isEditing = editingState[id] && editingState[id][field];
170
- return isEditing ? GridCellModes.Edit : GridCellModes.View;
171
- }, [apiRef]);
172
- var updateCellModesModel = useEventCallback(function (newModel) {
173
- var isNewModelDifferentFromProp = newModel !== props.cellModesModel;
174
- if (onCellModesModelChange && isNewModelDifferentFromProp) {
175
- onCellModesModelChange(newModel, {});
176
- }
177
- if (props.cellModesModel && isNewModelDifferentFromProp) {
178
- return; // The prop always win
179
- }
180
- setCellModesModel(newModel);
181
- cellModesModelRef.current = newModel;
182
- apiRef.current.publishEvent('cellModesModelChange', newModel);
183
- });
184
- var updateFieldInCellModesModel = React.useCallback(function (id, field, newProps) {
185
- // We use the ref because it always contain the up-to-date value, different from the state
186
- // that needs a rerender to reflect the new value
187
- var newModel = _extends({}, cellModesModelRef.current);
188
- if (newProps !== null) {
189
- newModel[id] = _extends({}, newModel[id], _defineProperty({}, field, _extends({}, newProps)));
190
- } else {
191
- var _newModel$id = newModel[id],
192
- fieldToRemove = _newModel$id[field],
193
- otherFields = _objectWithoutProperties(_newModel$id, [field].map(_toPropertyKey)); // Ensure that we have a new object, not a reference
194
- newModel[id] = otherFields;
195
- if (Object.keys(newModel[id]).length === 0) {
196
- delete newModel[id];
197
- }
198
- }
199
- updateCellModesModel(newModel);
200
- }, [updateCellModesModel]);
201
- var updateOrDeleteFieldState = React.useCallback(function (id, field, newProps) {
202
- apiRef.current.setState(function (state) {
203
- var newEditingState = _extends({}, state.editRows);
204
- if (newProps !== null) {
205
- newEditingState[id] = _extends({}, newEditingState[id], _defineProperty({}, field, _extends({}, newProps)));
206
- } else {
207
- delete newEditingState[id][field];
208
- if (Object.keys(newEditingState[id]).length === 0) {
209
- delete newEditingState[id];
210
- }
211
- }
212
- return _extends({}, state, {
213
- editRows: newEditingState
214
- });
215
- });
216
- apiRef.current.forceUpdate();
217
- }, [apiRef]);
218
- var startCellEditMode = React.useCallback(function (params) {
219
- var id = params.id,
220
- field = params.field,
221
- other = _objectWithoutProperties(params, _excluded);
222
- throwIfNotEditable(id, field);
223
- throwIfNotInMode(id, field, GridCellModes.View);
224
- updateFieldInCellModesModel(id, field, _extends({
225
- mode: GridCellModes.Edit
226
- }, other));
227
- }, [throwIfNotEditable, throwIfNotInMode, updateFieldInCellModesModel]);
228
- var updateStateToStartCellEditMode = useEventCallback(function (params) {
229
- var id = params.id,
230
- field = params.field,
231
- deleteValue = params.deleteValue,
232
- initialValue = params.initialValue;
233
- var newValue = apiRef.current.getCellValue(id, field);
234
- if (deleteValue || initialValue) {
235
- newValue = deleteValue ? '' : initialValue;
236
- }
237
- var newProps = {
238
- value: newValue,
239
- error: false,
240
- isProcessingProps: false
241
- };
242
- updateOrDeleteFieldState(id, field, newProps);
243
- apiRef.current.setCellFocus(id, field);
244
- });
245
- var stopCellEditMode = React.useCallback(function (params) {
246
- var id = params.id,
247
- field = params.field,
248
- other = _objectWithoutProperties(params, _excluded2);
249
- throwIfNotInMode(id, field, GridCellModes.Edit);
250
- updateFieldInCellModesModel(id, field, _extends({
251
- mode: GridCellModes.View
252
- }, other));
253
- }, [throwIfNotInMode, updateFieldInCellModesModel]);
254
- var updateStateToStopCellEditMode = useEventCallback( /*#__PURE__*/function () {
255
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(params) {
256
- var id, field, ignoreModifications, _params$cellToFocusAf, cellToFocusAfter, finishCellEditMode, editingState, _editingState$id$fiel, error, isProcessingProps, rowUpdate, handleError, row;
257
- return _regeneratorRuntime.wrap(function _callee$(_context) {
258
- while (1) switch (_context.prev = _context.next) {
259
- case 0:
260
- id = params.id, field = params.field, ignoreModifications = params.ignoreModifications, _params$cellToFocusAf = params.cellToFocusAfter, cellToFocusAfter = _params$cellToFocusAf === void 0 ? 'none' : _params$cellToFocusAf;
261
- throwIfNotInMode(id, field, GridCellModes.Edit);
262
- apiRef.current.runPendingEditCellValueMutation(id, field);
263
- finishCellEditMode = function finishCellEditMode() {
264
- updateOrDeleteFieldState(id, field, null);
265
- updateFieldInCellModesModel(id, field, null);
266
- if (cellToFocusAfter !== 'none') {
267
- apiRef.current.moveFocusToRelativeCell(id, field, cellToFocusAfter);
268
- }
269
- };
270
- if (!ignoreModifications) {
271
- _context.next = 7;
272
- break;
273
- }
274
- finishCellEditMode();
275
- return _context.abrupt("return");
276
- case 7:
277
- editingState = gridEditRowsStateSelector(apiRef.current.state);
278
- _editingState$id$fiel = editingState[id][field], error = _editingState$id$fiel.error, isProcessingProps = _editingState$id$fiel.isProcessingProps;
279
- if (!(error || isProcessingProps)) {
280
- _context.next = 13;
281
- break;
282
- }
283
- // Attempt to change cell mode to "view" was not successful
284
- // Update previous mode to allow another attempt
285
- prevCellModesModel.current[id][field].mode = GridCellModes.Edit;
286
- // Revert the mode in the cellModesModel prop back to "edit"
287
- updateFieldInCellModesModel(id, field, {
288
- mode: GridCellModes.Edit
289
- });
290
- return _context.abrupt("return");
291
- case 13:
292
- rowUpdate = apiRef.current.getRowWithUpdatedValuesFromCellEditing(id, field);
293
- if (processRowUpdate) {
294
- handleError = function handleError(errorThrown) {
295
- prevCellModesModel.current[id][field].mode = GridCellModes.Edit;
296
- // Revert the mode in the cellModesModel prop back to "edit"
297
- updateFieldInCellModesModel(id, field, {
298
- mode: GridCellModes.Edit
299
- });
300
- if (onProcessRowUpdateError) {
301
- onProcessRowUpdateError(errorThrown);
302
- } else if (process.env.NODE_ENV !== 'production') {
303
- missingOnProcessRowUpdateErrorWarning();
304
- }
305
- };
306
- try {
307
- row = apiRef.current.getRow(id);
308
- Promise.resolve(processRowUpdate(rowUpdate, row)).then(function (finalRowUpdate) {
309
- apiRef.current.updateRows([finalRowUpdate]);
310
- finishCellEditMode();
311
- }).catch(handleError);
312
- } catch (errorThrown) {
313
- handleError(errorThrown);
314
- }
315
- } else {
316
- apiRef.current.updateRows([rowUpdate]);
317
- finishCellEditMode();
318
- }
319
- case 15:
320
- case "end":
321
- return _context.stop();
322
- }
323
- }, _callee);
324
- }));
325
- return function (_x) {
326
- return _ref.apply(this, arguments);
327
- };
328
- }());
329
- var setCellEditingEditCellValue = React.useCallback( /*#__PURE__*/function () {
330
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(params) {
331
- var _editingState$id;
332
- var id, field, value, debounceMs, skipValueParser, column, row, parsedValue, editingState, newProps, hasChanged;
333
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
334
- while (1) switch (_context2.prev = _context2.next) {
335
- case 0:
336
- id = params.id, field = params.field, value = params.value, debounceMs = params.debounceMs, skipValueParser = params.unstable_skipValueParser;
337
- throwIfNotEditable(id, field);
338
- throwIfNotInMode(id, field, GridCellModes.Edit);
339
- column = apiRef.current.getColumn(field);
340
- row = apiRef.current.getRow(id);
341
- parsedValue = value;
342
- if (column.valueParser && !skipValueParser) {
343
- parsedValue = column.valueParser(value, row, column, apiRef);
344
- }
345
- editingState = gridEditRowsStateSelector(apiRef.current.state);
346
- newProps = _extends({}, editingState[id][field], {
347
- value: parsedValue,
348
- changeReason: debounceMs ? 'debouncedSetEditCellValue' : 'setEditCellValue'
349
- });
350
- if (!column.preProcessEditCellProps) {
351
- _context2.next = 16;
352
- break;
353
- }
354
- hasChanged = value !== editingState[id][field].value;
355
- newProps = _extends({}, newProps, {
356
- isProcessingProps: true
357
- });
358
- updateOrDeleteFieldState(id, field, newProps);
359
- _context2.next = 15;
360
- return Promise.resolve(column.preProcessEditCellProps({
361
- id: id,
362
- row: row,
363
- props: newProps,
364
- hasChanged: hasChanged
365
- }));
366
- case 15:
367
- newProps = _context2.sent;
368
- case 16:
369
- if (!(apiRef.current.getCellMode(id, field) === GridCellModes.View)) {
370
- _context2.next = 18;
371
- break;
372
- }
373
- return _context2.abrupt("return", false);
374
- case 18:
375
- editingState = gridEditRowsStateSelector(apiRef.current.state);
376
- newProps = _extends({}, newProps, {
377
- isProcessingProps: false
378
- });
379
- // We don't update the value with the one coming from the props pre-processing
380
- // because when the promise resolves it may be already outdated. The only
381
- // exception to this rule is when there's no pre-processing.
382
- newProps.value = column.preProcessEditCellProps ? editingState[id][field].value : parsedValue;
383
- updateOrDeleteFieldState(id, field, newProps);
384
- editingState = gridEditRowsStateSelector(apiRef.current.state);
385
- return _context2.abrupt("return", !((_editingState$id = editingState[id]) != null && (_editingState$id = _editingState$id[field]) != null && _editingState$id.error));
386
- case 24:
387
- case "end":
388
- return _context2.stop();
389
- }
390
- }, _callee2);
391
- }));
392
- return function (_x2) {
393
- return _ref2.apply(this, arguments);
394
- };
395
- }(), [apiRef, throwIfNotEditable, throwIfNotInMode, updateOrDeleteFieldState]);
396
- var getRowWithUpdatedValuesFromCellEditing = React.useCallback(function (id, field) {
397
- var column = apiRef.current.getColumn(field);
398
- var editingState = gridEditRowsStateSelector(apiRef.current.state);
399
- var row = apiRef.current.getRow(id);
400
- if (!editingState[id] || !editingState[id][field]) {
401
- return apiRef.current.getRow(id);
402
- }
403
- var value = editingState[id][field].value;
404
- return column.valueSetter ? column.valueSetter(value, row, column, apiRef) : _extends({}, row, _defineProperty({}, field, value));
405
- }, [apiRef]);
406
- var editingApi = {
407
- getCellMode: getCellMode,
408
- startCellEditMode: startCellEditMode,
409
- stopCellEditMode: stopCellEditMode
410
- };
411
- var editingPrivateApi = {
412
- setCellEditingEditCellValue: setCellEditingEditCellValue,
413
- getRowWithUpdatedValuesFromCellEditing: getRowWithUpdatedValuesFromCellEditing
414
- };
415
- useGridApiMethod(apiRef, editingApi, 'public');
416
- useGridApiMethod(apiRef, editingPrivateApi, 'private');
417
- React.useEffect(function () {
418
- if (cellModesModelProp) {
419
- updateCellModesModel(cellModesModelProp);
420
- }
421
- }, [cellModesModelProp, updateCellModesModel]);
422
-
423
- // Run this effect synchronously so that the keyboard event can impact the yet-to-be-rendered input.
424
- useEnhancedEffect(function () {
425
- var idToIdLookup = gridRowsDataRowIdToIdLookupSelector(apiRef);
426
-
427
- // Update the ref here because updateStateToStopCellEditMode may change it later
428
- var copyOfPrevCellModes = prevCellModesModel.current;
429
- prevCellModesModel.current = deepClone(cellModesModel); // Do a deep-clone because the attributes might be changed later
430
-
431
- Object.entries(cellModesModel).forEach(function (_ref3) {
432
- var _ref4 = _slicedToArray(_ref3, 2),
433
- id = _ref4[0],
434
- fields = _ref4[1];
435
- Object.entries(fields).forEach(function (_ref5) {
436
- var _copyOfPrevCellModes$, _idToIdLookup$id;
437
- var _ref6 = _slicedToArray(_ref5, 2),
438
- field = _ref6[0],
439
- params = _ref6[1];
440
- var prevMode = ((_copyOfPrevCellModes$ = copyOfPrevCellModes[id]) == null || (_copyOfPrevCellModes$ = _copyOfPrevCellModes$[field]) == null ? void 0 : _copyOfPrevCellModes$.mode) || GridCellModes.View;
441
- var originalId = (_idToIdLookup$id = idToIdLookup[id]) != null ? _idToIdLookup$id : id;
442
- if (params.mode === GridCellModes.Edit && prevMode === GridCellModes.View) {
443
- updateStateToStartCellEditMode(_extends({
444
- id: originalId,
445
- field: field
446
- }, params));
447
- } else if (params.mode === GridCellModes.View && prevMode === GridCellModes.Edit) {
448
- updateStateToStopCellEditMode(_extends({
449
- id: originalId,
450
- field: field
451
- }, params));
452
- }
453
- });
454
- });
455
- }, [apiRef, cellModesModel, updateStateToStartCellEditMode, updateStateToStopCellEditMode]);
456
- };
@@ -1,145 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
2
- import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
- import _regeneratorRuntime from "@babel/runtime/regenerator";
5
- import * as React from 'react';
6
- import { useGridApiMethod } from '../../utils/useGridApiMethod';
7
- import { useGridCellEditing } from './useGridCellEditing';
8
- import { GridCellModes, GridEditModes } from '../../../models/gridEditRowModel';
9
- import { useGridRowEditing } from './useGridRowEditing';
10
- import { gridEditRowsStateSelector } from './gridEditingSelectors';
11
- import { isAutoGeneratedRow } from '../rows/gridRowsUtils';
12
- export var editingStateInitializer = function editingStateInitializer(state) {
13
- return _extends({}, state, {
14
- editRows: {}
15
- });
16
- };
17
- export var useGridEditing = function useGridEditing(apiRef, props) {
18
- useGridCellEditing(apiRef, props);
19
- useGridRowEditing(apiRef, props);
20
- var debounceMap = React.useRef({});
21
- var isCellEditableProp = props.isCellEditable;
22
- var isCellEditable = React.useCallback(function (params) {
23
- if (isAutoGeneratedRow(params.rowNode)) {
24
- return false;
25
- }
26
- if (!params.colDef.editable) {
27
- return false;
28
- }
29
- if (!params.colDef.renderEditCell) {
30
- return false;
31
- }
32
- if (isCellEditableProp) {
33
- return isCellEditableProp(params);
34
- }
35
- return true;
36
- }, [isCellEditableProp]);
37
- var maybeDebounce = function maybeDebounce(id, field, debounceMs, callback) {
38
- if (!debounceMs) {
39
- callback();
40
- return;
41
- }
42
- if (!debounceMap.current[id]) {
43
- debounceMap.current[id] = {};
44
- }
45
- if (debounceMap.current[id][field]) {
46
- var _debounceMap$current$ = _slicedToArray(debounceMap.current[id][field], 1),
47
- _timeout = _debounceMap$current$[0];
48
- clearTimeout(_timeout);
49
- }
50
-
51
- // To run the callback immediately without waiting the timeout
52
- var runImmediately = function runImmediately() {
53
- var _debounceMap$current$2 = _slicedToArray(debounceMap.current[id][field], 1),
54
- timeout = _debounceMap$current$2[0];
55
- clearTimeout(timeout);
56
- callback();
57
- delete debounceMap.current[id][field];
58
- };
59
- var timeout = setTimeout(function () {
60
- callback();
61
- delete debounceMap.current[id][field];
62
- }, debounceMs);
63
- debounceMap.current[id][field] = [timeout, runImmediately];
64
- };
65
- React.useEffect(function () {
66
- var debounces = debounceMap.current;
67
- return function () {
68
- Object.entries(debounces).forEach(function (_ref) {
69
- var _ref2 = _slicedToArray(_ref, 2),
70
- id = _ref2[0],
71
- fields = _ref2[1];
72
- Object.keys(fields).forEach(function (field) {
73
- var _debounces$id$field = _slicedToArray(debounces[id][field], 1),
74
- timeout = _debounces$id$field[0];
75
- clearTimeout(timeout);
76
- delete debounces[id][field];
77
- });
78
- });
79
- };
80
- }, []);
81
- var runPendingEditCellValueMutation = React.useCallback(function (id, field) {
82
- if (!debounceMap.current[id]) {
83
- return;
84
- }
85
- if (!field) {
86
- Object.keys(debounceMap.current[id]).forEach(function (debouncedField) {
87
- var _debounceMap$current$3 = _slicedToArray(debounceMap.current[id][debouncedField], 2),
88
- runCallback = _debounceMap$current$3[1];
89
- runCallback();
90
- });
91
- } else if (debounceMap.current[id][field]) {
92
- var _debounceMap$current$4 = _slicedToArray(debounceMap.current[id][field], 2),
93
- runCallback = _debounceMap$current$4[1];
94
- runCallback();
95
- }
96
- }, []);
97
- var setEditCellValue = React.useCallback(function (params) {
98
- var id = params.id,
99
- field = params.field,
100
- debounceMs = params.debounceMs;
101
- return new Promise(function (resolve) {
102
- maybeDebounce(id, field, debounceMs, /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
103
- var setEditCellValueToCall, result;
104
- return _regeneratorRuntime.wrap(function _callee$(_context) {
105
- while (1) switch (_context.prev = _context.next) {
106
- case 0:
107
- setEditCellValueToCall = props.editMode === GridEditModes.Row ? apiRef.current.setRowEditingEditCellValue : apiRef.current.setCellEditingEditCellValue; // Check if the cell is in edit mode
108
- // By the time this callback runs the user may have cancelled the editing
109
- if (!(apiRef.current.getCellMode(id, field) === GridCellModes.Edit)) {
110
- _context.next = 6;
111
- break;
112
- }
113
- _context.next = 4;
114
- return setEditCellValueToCall(params);
115
- case 4:
116
- result = _context.sent;
117
- resolve(result);
118
- case 6:
119
- case "end":
120
- return _context.stop();
121
- }
122
- }, _callee);
123
- })));
124
- });
125
- }, [apiRef, props.editMode]);
126
- var getRowWithUpdatedValues = React.useCallback(function (id, field) {
127
- return props.editMode === GridEditModes.Cell ? apiRef.current.getRowWithUpdatedValuesFromCellEditing(id, field) : apiRef.current.getRowWithUpdatedValuesFromRowEditing(id);
128
- }, [apiRef, props.editMode]);
129
- var getEditCellMeta = React.useCallback(function (id, field) {
130
- var _editingState$id$fiel, _editingState$id;
131
- var editingState = gridEditRowsStateSelector(apiRef.current.state);
132
- return (_editingState$id$fiel = (_editingState$id = editingState[id]) == null ? void 0 : _editingState$id[field]) != null ? _editingState$id$fiel : null;
133
- }, [apiRef]);
134
- var editingSharedApi = {
135
- isCellEditable: isCellEditable,
136
- setEditCellValue: setEditCellValue,
137
- getRowWithUpdatedValues: getRowWithUpdatedValues,
138
- unstable_getEditCellMeta: getEditCellMeta
139
- };
140
- var editingSharedPrivateApi = {
141
- runPendingEditCellValueMutation: runPendingEditCellValueMutation
142
- };
143
- useGridApiMethod(apiRef, editingSharedApi, 'public');
144
- useGridApiMethod(apiRef, editingSharedPrivateApi, 'private');
145
- };