@mui/x-data-grid 7.0.0-beta.3 → 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 (459) hide show
  1. package/CHANGELOG.md +226 -15
  2. package/colDef/gridActionsColDef.js +1 -0
  3. package/colDef/gridBooleanColDef.js +1 -0
  4. package/colDef/gridCheckboxSelectionColDef.js +1 -0
  5. package/components/GridScrollbarFillerCell.js +6 -21
  6. package/components/cell/GridCell.js +10 -12
  7. package/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  8. package/components/containers/GridRootStyles.js +50 -19
  9. package/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  10. package/constants/gridClasses.d.ts +24 -8
  11. package/constants/gridClasses.js +1 -1
  12. package/hooks/features/clipboard/useGridClipboard.js +1 -1
  13. package/hooks/features/editing/useGridCellEditing.js +3 -4
  14. package/hooks/features/editing/useGridRowEditing.js +3 -4
  15. package/hooks/features/sorting/useGridSorting.js +1 -2
  16. package/index.js +1 -1
  17. package/internals/index.d.ts +1 -1
  18. package/internals/index.js +1 -1
  19. package/models/colDef/gridColDef.d.ts +6 -0
  20. package/modern/colDef/gridActionsColDef.js +1 -0
  21. package/modern/colDef/gridBooleanColDef.js +1 -0
  22. package/modern/colDef/gridCheckboxSelectionColDef.js +1 -0
  23. package/modern/components/GridScrollbarFillerCell.js +6 -21
  24. package/modern/components/cell/GridCell.js +10 -12
  25. package/modern/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  26. package/modern/components/containers/GridRootStyles.js +50 -19
  27. package/modern/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  28. package/modern/constants/gridClasses.js +1 -1
  29. package/modern/hooks/features/clipboard/useGridClipboard.js +1 -1
  30. package/modern/hooks/features/editing/useGridCellEditing.js +3 -4
  31. package/modern/hooks/features/editing/useGridRowEditing.js +3 -4
  32. package/modern/hooks/features/sorting/useGridSorting.js +1 -2
  33. package/modern/index.js +1 -1
  34. package/modern/internals/index.js +1 -1
  35. package/modern/utils/keyboardUtils.js +20 -11
  36. package/node/colDef/gridActionsColDef.js +1 -0
  37. package/node/colDef/gridBooleanColDef.js +1 -0
  38. package/node/colDef/gridCheckboxSelectionColDef.js +1 -0
  39. package/node/components/GridScrollbarFillerCell.js +5 -20
  40. package/node/components/cell/GridCell.js +10 -12
  41. package/node/components/columnSelection/GridCellCheckboxRenderer.js +1 -2
  42. package/node/components/containers/GridRootStyles.js +50 -19
  43. package/node/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +8 -2
  44. package/node/constants/gridClasses.js +1 -1
  45. package/node/hooks/features/clipboard/useGridClipboard.js +1 -1
  46. package/node/hooks/features/editing/useGridCellEditing.js +2 -3
  47. package/node/hooks/features/editing/useGridRowEditing.js +2 -3
  48. package/node/hooks/features/sorting/useGridSorting.js +1 -2
  49. package/node/index.js +1 -1
  50. package/node/internals/index.js +7 -0
  51. package/node/utils/keyboardUtils.js +25 -20
  52. package/package.json +1 -1
  53. package/utils/keyboardUtils.d.ts +7 -6
  54. package/utils/keyboardUtils.js +20 -11
  55. package/legacy/DataGrid/DataGrid.js +0 -664
  56. package/legacy/DataGrid/index.js +0 -2
  57. package/legacy/DataGrid/useDataGridComponent.js +0 -81
  58. package/legacy/DataGrid/useDataGridProps.js +0 -98
  59. package/legacy/colDef/gridActionsColDef.js +0 -18
  60. package/legacy/colDef/gridBooleanColDef.js +0 -42
  61. package/legacy/colDef/gridBooleanOperators.js +0 -16
  62. package/legacy/colDef/gridCheckboxSelectionColDef.js +0 -33
  63. package/legacy/colDef/gridDateColDef.js +0 -62
  64. package/legacy/colDef/gridDateOperators.js +0 -115
  65. package/legacy/colDef/gridDefaultColumnTypes.js +0 -19
  66. package/legacy/colDef/gridNumericColDef.js +0 -19
  67. package/legacy/colDef/gridNumericOperators.js +0 -145
  68. package/legacy/colDef/gridSingleSelectColDef.js +0 -64
  69. package/legacy/colDef/gridSingleSelectOperators.js +0 -46
  70. package/legacy/colDef/gridStringColDef.js +0 -27
  71. package/legacy/colDef/gridStringOperators.js +0 -112
  72. package/legacy/colDef/index.js +0 -13
  73. package/legacy/components/GridApiContext.js +0 -5
  74. package/legacy/components/GridColumnHeaders.js +0 -94
  75. package/legacy/components/GridDetailPanels.js +0 -4
  76. package/legacy/components/GridFooter.js +0 -42
  77. package/legacy/components/GridHeader.js +0 -13
  78. package/legacy/components/GridHeaders.js +0 -53
  79. package/legacy/components/GridLoadingOverlay.js +0 -21
  80. package/legacy/components/GridNoResultsOverlay.js +0 -14
  81. package/legacy/components/GridNoRowsOverlay.js +0 -23
  82. package/legacy/components/GridPagination.js +0 -85
  83. package/legacy/components/GridPinnedRows.js +0 -4
  84. package/legacy/components/GridRow.js +0 -465
  85. package/legacy/components/GridRowCount.js +0 -63
  86. package/legacy/components/GridScrollbarFillerCell.js +0 -34
  87. package/legacy/components/GridSelectedRowCount.js +0 -66
  88. package/legacy/components/base/GridBody.js +0 -2
  89. package/legacy/components/base/GridFooterPlaceholder.js +0 -12
  90. package/legacy/components/base/GridOverlays.js +0 -122
  91. package/legacy/components/base/index.js +0 -3
  92. package/legacy/components/cell/GridActionsCell.js +0 -294
  93. package/legacy/components/cell/GridActionsCellItem.js +0 -69
  94. package/legacy/components/cell/GridBooleanCell.js +0 -121
  95. package/legacy/components/cell/GridCell.js +0 -350
  96. package/legacy/components/cell/GridEditBooleanCell.js +0 -174
  97. package/legacy/components/cell/GridEditDateCell.js +0 -230
  98. package/legacy/components/cell/GridEditInputCell.js +0 -198
  99. package/legacy/components/cell/GridEditSingleSelectCell.js +0 -231
  100. package/legacy/components/cell/GridSkeletonCell.js +0 -52
  101. package/legacy/components/cell/index.js +0 -9
  102. package/legacy/components/columnHeaders/ColumnHeaderMenuIcon.js +0 -59
  103. package/legacy/components/columnHeaders/GridBaseColumnHeaders.js +0 -41
  104. package/legacy/components/columnHeaders/GridColumnGroupHeader.js +0 -132
  105. package/legacy/components/columnHeaders/GridColumnHeaderFilterIconButton.js +0 -93
  106. package/legacy/components/columnHeaders/GridColumnHeaderItem.js +0 -212
  107. package/legacy/components/columnHeaders/GridColumnHeaderSeparator.js +0 -71
  108. package/legacy/components/columnHeaders/GridColumnHeaderSortIcon.js +0 -79
  109. package/legacy/components/columnHeaders/GridColumnHeaderTitle.js +0 -84
  110. package/legacy/components/columnHeaders/GridColumnHeadersInner.js +0 -55
  111. package/legacy/components/columnHeaders/GridGenericColumnHeaderItem.js +0 -107
  112. package/legacy/components/columnHeaders/GridIconButtonContainer.js +0 -41
  113. package/legacy/components/columnHeaders/index.js +0 -5
  114. package/legacy/components/columnSelection/GridCellCheckboxRenderer.js +0 -160
  115. package/legacy/components/columnSelection/GridHeaderCheckbox.js +0 -134
  116. package/legacy/components/columnSelection/index.js +0 -2
  117. package/legacy/components/columnsManagement/GridColumnsManagement.js +0 -307
  118. package/legacy/components/columnsManagement/index.js +0 -1
  119. package/legacy/components/columnsManagement/utils.js +0 -22
  120. package/legacy/components/containers/GridFooterContainer.js +0 -50
  121. package/legacy/components/containers/GridOverlay.js +0 -52
  122. package/legacy/components/containers/GridRoot.js +0 -79
  123. package/legacy/components/containers/GridRootStyles.js +0 -395
  124. package/legacy/components/containers/GridToolbarContainer.js +0 -59
  125. package/legacy/components/containers/index.js +0 -4
  126. package/legacy/components/index.js +0 -19
  127. package/legacy/components/menu/GridMenu.js +0 -132
  128. package/legacy/components/menu/columnMenu/GridColumnHeaderMenu.js +0 -61
  129. package/legacy/components/menu/columnMenu/GridColumnMenu.js +0 -81
  130. package/legacy/components/menu/columnMenu/GridColumnMenuContainer.js +0 -56
  131. package/legacy/components/menu/columnMenu/GridColumnMenuItemProps.js +0 -1
  132. package/legacy/components/menu/columnMenu/GridColumnMenuProps.js +0 -1
  133. package/legacy/components/menu/columnMenu/index.js +0 -9
  134. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuColumnsItem.js +0 -21
  135. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuFilterItem.js +0 -41
  136. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuHideItem.js +0 -60
  137. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuManageItem.js +0 -41
  138. package/legacy/components/menu/columnMenu/menuItems/GridColumnMenuSortItem.js +0 -80
  139. package/legacy/components/menu/columnMenu/menuItems/index.js +0 -5
  140. package/legacy/components/menu/index.js +0 -2
  141. package/legacy/components/panel/GridColumnsPanel.js +0 -22
  142. package/legacy/components/panel/GridPanel.js +0 -137
  143. package/legacy/components/panel/GridPanelContent.js +0 -49
  144. package/legacy/components/panel/GridPanelFooter.js +0 -50
  145. package/legacy/components/panel/GridPanelHeader.js +0 -48
  146. package/legacy/components/panel/GridPanelWrapper.js +0 -64
  147. package/legacy/components/panel/GridPreferencesPanel.js +0 -26
  148. package/legacy/components/panel/filterPanel/GridFilterForm.js +0 -528
  149. package/legacy/components/panel/filterPanel/GridFilterInputBoolean.js +0 -118
  150. package/legacy/components/panel/filterPanel/GridFilterInputDate.js +0 -121
  151. package/legacy/components/panel/filterPanel/GridFilterInputMultipleSingleSelect.js +0 -116
  152. package/legacy/components/panel/filterPanel/GridFilterInputMultipleValue.js +0 -102
  153. package/legacy/components/panel/filterPanel/GridFilterInputSingleSelect.js +0 -149
  154. package/legacy/components/panel/filterPanel/GridFilterInputValue.js +0 -106
  155. package/legacy/components/panel/filterPanel/GridFilterInputValueProps.js +0 -1
  156. package/legacy/components/panel/filterPanel/GridFilterPanel.js +0 -264
  157. package/legacy/components/panel/filterPanel/filterPanelUtils.js +0 -22
  158. package/legacy/components/panel/filterPanel/index.js +0 -9
  159. package/legacy/components/panel/index.js +0 -7
  160. package/legacy/components/reexportable.js +0 -1
  161. package/legacy/components/toolbar/GridToolbar.js +0 -64
  162. package/legacy/components/toolbar/GridToolbarColumnsButton.js +0 -68
  163. package/legacy/components/toolbar/GridToolbarDensitySelector.js +0 -142
  164. package/legacy/components/toolbar/GridToolbarExport.js +0 -80
  165. package/legacy/components/toolbar/GridToolbarExportContainer.js +0 -105
  166. package/legacy/components/toolbar/GridToolbarFilterButton.js +0 -136
  167. package/legacy/components/toolbar/GridToolbarQuickFilter.js +0 -164
  168. package/legacy/components/toolbar/index.js +0 -7
  169. package/legacy/components/virtualization/GridBottomContainer.js +0 -25
  170. package/legacy/components/virtualization/GridMainContainer.js +0 -20
  171. package/legacy/components/virtualization/GridTopContainer.js +0 -35
  172. package/legacy/components/virtualization/GridVirtualScrollbar.js +0 -129
  173. package/legacy/components/virtualization/GridVirtualScroller.js +0 -93
  174. package/legacy/components/virtualization/GridVirtualScrollerContent.js +0 -35
  175. package/legacy/components/virtualization/GridVirtualScrollerFiller.js +0 -70
  176. package/legacy/components/virtualization/GridVirtualScrollerRenderZone.js +0 -49
  177. package/legacy/constants/defaultGridSlotsComponents.js +0 -33
  178. package/legacy/constants/envConstants.js +0 -19
  179. package/legacy/constants/gridClasses.js +0 -5
  180. package/legacy/constants/gridDetailPanelToggleField.js +0 -2
  181. package/legacy/constants/index.js +0 -3
  182. package/legacy/constants/localeTextConstants.js +0 -158
  183. package/legacy/context/GridContextProvider.js +0 -21
  184. package/legacy/context/GridRootPropsContext.js +0 -6
  185. package/legacy/context/index.js +0 -1
  186. package/legacy/hooks/core/gridCoreSelector.js +0 -7
  187. package/legacy/hooks/core/index.js +0 -1
  188. package/legacy/hooks/core/pipeProcessing/gridPipeProcessingApi.js +0 -1
  189. package/legacy/hooks/core/pipeProcessing/index.js +0 -4
  190. package/legacy/hooks/core/pipeProcessing/useGridPipeProcessing.js +0 -114
  191. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeApplier.js +0 -26
  192. package/legacy/hooks/core/pipeProcessing/useGridRegisterPipeProcessor.js +0 -26
  193. package/legacy/hooks/core/strategyProcessing/gridStrategyProcessingApi.js +0 -1
  194. package/legacy/hooks/core/strategyProcessing/index.js +0 -3
  195. package/legacy/hooks/core/strategyProcessing/useGridRegisterStrategyProcessor.js +0 -18
  196. package/legacy/hooks/core/strategyProcessing/useGridStrategyProcessing.js +0 -116
  197. package/legacy/hooks/core/useGridApiInitialization.js +0 -124
  198. package/legacy/hooks/core/useGridInitialization.js +0 -26
  199. package/legacy/hooks/core/useGridLocaleText.js +0 -12
  200. package/legacy/hooks/core/useGridLoggerFactory.js +0 -51
  201. package/legacy/hooks/core/useGridRefs.js +0 -13
  202. package/legacy/hooks/core/useGridStateInitialization.js +0 -106
  203. package/legacy/hooks/core/useGridTheme.js +0 -21
  204. package/legacy/hooks/features/clipboard/useGridClipboard.js +0 -92
  205. package/legacy/hooks/features/columnGrouping/gridColumnGroupsInterfaces.js +0 -1
  206. package/legacy/hooks/features/columnGrouping/gridColumnGroupsSelector.js +0 -24
  207. package/legacy/hooks/features/columnGrouping/gridColumnGroupsUtils.js +0 -92
  208. package/legacy/hooks/features/columnGrouping/index.js +0 -2
  209. package/legacy/hooks/features/columnGrouping/useGridColumnGrouping.js +0 -140
  210. package/legacy/hooks/features/columnHeaders/useGridColumnHeaders.js +0 -272
  211. package/legacy/hooks/features/columnMenu/columnMenuInterfaces.js +0 -1
  212. package/legacy/hooks/features/columnMenu/columnMenuSelector.js +0 -3
  213. package/legacy/hooks/features/columnMenu/index.js +0 -2
  214. package/legacy/hooks/features/columnMenu/useGridColumnMenu.js +0 -108
  215. package/legacy/hooks/features/columnMenu/useGridColumnMenuSlots.js +0 -71
  216. package/legacy/hooks/features/columns/gridColumnsInterfaces.js +0 -9
  217. package/legacy/hooks/features/columns/gridColumnsSelector.js +0 -174
  218. package/legacy/hooks/features/columns/gridColumnsUtils.js +0 -338
  219. package/legacy/hooks/features/columns/index.js +0 -2
  220. package/legacy/hooks/features/columns/useGridColumnSpanning.js +0 -105
  221. package/legacy/hooks/features/columns/useGridColumns.js +0 -319
  222. package/legacy/hooks/features/density/densitySelector.js +0 -10
  223. package/legacy/hooks/features/density/densityState.js +0 -1
  224. package/legacy/hooks/features/density/index.js +0 -2
  225. package/legacy/hooks/features/density/useGridDensity.js +0 -48
  226. package/legacy/hooks/features/dimensions/gridDimensionsApi.js +0 -1
  227. package/legacy/hooks/features/dimensions/gridDimensionsSelectors.js +0 -3
  228. package/legacy/hooks/features/dimensions/index.js +0 -2
  229. package/legacy/hooks/features/dimensions/useGridDimensions.js +0 -302
  230. package/legacy/hooks/features/editing/gridEditingSelectors.js +0 -4
  231. package/legacy/hooks/features/editing/useGridCellEditing.js +0 -456
  232. package/legacy/hooks/features/editing/useGridEditing.js +0 -145
  233. package/legacy/hooks/features/editing/useGridRowEditing.js +0 -567
  234. package/legacy/hooks/features/events/useGridEvents.js +0 -23
  235. package/legacy/hooks/features/export/serializers/csvSerializer.js +0 -155
  236. package/legacy/hooks/features/export/useGridCsvExport.js +0 -75
  237. package/legacy/hooks/features/export/useGridPrintExport.js +0 -313
  238. package/legacy/hooks/features/export/utils.js +0 -49
  239. package/legacy/hooks/features/filter/gridFilterSelector.js +0 -165
  240. package/legacy/hooks/features/filter/gridFilterState.js +0 -20
  241. package/legacy/hooks/features/filter/gridFilterUtils.js +0 -330
  242. package/legacy/hooks/features/filter/index.js +0 -2
  243. package/legacy/hooks/features/filter/useGridFilter.js +0 -378
  244. package/legacy/hooks/features/focus/gridFocusState.js +0 -1
  245. package/legacy/hooks/features/focus/gridFocusStateSelector.js +0 -31
  246. package/legacy/hooks/features/focus/index.js +0 -2
  247. package/legacy/hooks/features/focus/useGridFocus.js +0 -408
  248. package/legacy/hooks/features/headerFiltering/gridHeaderFilteringSelectors.js +0 -10
  249. package/legacy/hooks/features/headerFiltering/index.js +0 -1
  250. package/legacy/hooks/features/headerFiltering/useGridHeaderFiltering.js +0 -93
  251. package/legacy/hooks/features/index.js +0 -16
  252. package/legacy/hooks/features/keyboardNavigation/useGridKeyboardNavigation.js +0 -565
  253. package/legacy/hooks/features/pagination/gridPaginationInterfaces.js +0 -1
  254. package/legacy/hooks/features/pagination/gridPaginationSelector.js +0 -115
  255. package/legacy/hooks/features/pagination/gridPaginationUtils.js +0 -31
  256. package/legacy/hooks/features/pagination/index.js +0 -2
  257. package/legacy/hooks/features/pagination/useGridPagination.js +0 -175
  258. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelSelector.js +0 -3
  259. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelState.js +0 -1
  260. package/legacy/hooks/features/preferencesPanel/gridPreferencePanelsValue.js +0 -6
  261. package/legacy/hooks/features/preferencesPanel/index.js +0 -3
  262. package/legacy/hooks/features/preferencesPanel/useGridPreferencesPanel.js +0 -125
  263. package/legacy/hooks/features/rowSelection/gridRowSelectionSelector.js +0 -19
  264. package/legacy/hooks/features/rowSelection/index.js +0 -1
  265. package/legacy/hooks/features/rowSelection/useGridRowSelection.js +0 -419
  266. package/legacy/hooks/features/rowSelection/useGridRowSelectionPreProcessors.js +0 -45
  267. package/legacy/hooks/features/rowSelection/utils.js +0 -8
  268. package/legacy/hooks/features/rows/gridRowsInterfaces.js +0 -1
  269. package/legacy/hooks/features/rows/gridRowsMetaSelector.js +0 -3
  270. package/legacy/hooks/features/rows/gridRowsMetaState.js +0 -1
  271. package/legacy/hooks/features/rows/gridRowsSelector.js +0 -90
  272. package/legacy/hooks/features/rows/gridRowsUtils.js +0 -294
  273. package/legacy/hooks/features/rows/index.js +0 -4
  274. package/legacy/hooks/features/rows/useGridParamsApi.js +0 -142
  275. package/legacy/hooks/features/rows/useGridRows.js +0 -466
  276. package/legacy/hooks/features/rows/useGridRowsMeta.js +0 -236
  277. package/legacy/hooks/features/rows/useGridRowsPreProcessors.js +0 -82
  278. package/legacy/hooks/features/scroll/useGridScroll.js +0 -133
  279. package/legacy/hooks/features/sorting/gridSortingSelector.js +0 -56
  280. package/legacy/hooks/features/sorting/gridSortingState.js +0 -1
  281. package/legacy/hooks/features/sorting/gridSortingUtils.js +0 -154
  282. package/legacy/hooks/features/sorting/index.js +0 -2
  283. package/legacy/hooks/features/sorting/useGridSorting.js +0 -276
  284. package/legacy/hooks/features/statePersistence/gridStatePersistenceInterface.js +0 -1
  285. package/legacy/hooks/features/statePersistence/index.js +0 -1
  286. package/legacy/hooks/features/statePersistence/useGridStatePersistence.js +0 -25
  287. package/legacy/hooks/features/virtualization/gridVirtualizationSelectors.js +0 -61
  288. package/legacy/hooks/features/virtualization/index.js +0 -2
  289. package/legacy/hooks/features/virtualization/useGridVirtualScroller.js +0 -646
  290. package/legacy/hooks/features/virtualization/useGridVirtualization.js +0 -63
  291. package/legacy/hooks/index.js +0 -3
  292. package/legacy/hooks/utils/index.js +0 -9
  293. package/legacy/hooks/utils/useFirstRender.js +0 -8
  294. package/legacy/hooks/utils/useGridApiContext.js +0 -9
  295. package/legacy/hooks/utils/useGridApiEventHandler.js +0 -105
  296. package/legacy/hooks/utils/useGridApiMethod.js +0 -11
  297. package/legacy/hooks/utils/useGridApiRef.js +0 -7
  298. package/legacy/hooks/utils/useGridAriaAttributes.js +0 -25
  299. package/legacy/hooks/utils/useGridInitializeState.js +0 -8
  300. package/legacy/hooks/utils/useGridLogger.js +0 -10
  301. package/legacy/hooks/utils/useGridNativeEventListener.js +0 -32
  302. package/legacy/hooks/utils/useGridPrivateApiContext.js +0 -12
  303. package/legacy/hooks/utils/useGridRootProps.js +0 -9
  304. package/legacy/hooks/utils/useGridSelector.js +0 -54
  305. package/legacy/hooks/utils/useGridVisibleRows.js +0 -42
  306. package/legacy/hooks/utils/useLazyRef.js +0 -11
  307. package/legacy/hooks/utils/useOnMount.js +0 -7
  308. package/legacy/hooks/utils/useResizeObserver.js +0 -36
  309. package/legacy/hooks/utils/useRunOnce.js +0 -18
  310. package/legacy/hooks/utils/useTimeout.js +0 -38
  311. package/legacy/index.js +0 -38
  312. package/legacy/internals/index.js +0 -68
  313. package/legacy/internals/utils/computeSlots.js +0 -17
  314. package/legacy/internals/utils/index.js +0 -3
  315. package/legacy/internals/utils/propValidation.js +0 -21
  316. package/legacy/internals/utils/useProps.js +0 -32
  317. package/legacy/joy/icons.js +0 -432
  318. package/legacy/joy/index.js +0 -2
  319. package/legacy/joy/joySlots.js +0 -420
  320. package/legacy/locales/arSD.js +0 -160
  321. package/legacy/locales/beBY.js +0 -184
  322. package/legacy/locales/bgBG.js +0 -160
  323. package/legacy/locales/coreLocales.js +0 -62
  324. package/legacy/locales/csCZ.js +0 -181
  325. package/legacy/locales/daDK.js +0 -160
  326. package/legacy/locales/deDE.js +0 -160
  327. package/legacy/locales/elGR.js +0 -160
  328. package/legacy/locales/enUS.js +0 -4
  329. package/legacy/locales/esES.js +0 -160
  330. package/legacy/locales/faIR.js +0 -160
  331. package/legacy/locales/fiFI.js +0 -160
  332. package/legacy/locales/frFR.js +0 -160
  333. package/legacy/locales/heIL.js +0 -160
  334. package/legacy/locales/hrHR.js +0 -160
  335. package/legacy/locales/huHU.js +0 -160
  336. package/legacy/locales/index.js +0 -35
  337. package/legacy/locales/itIT.js +0 -160
  338. package/legacy/locales/jaJP.js +0 -160
  339. package/legacy/locales/koKR.js +0 -162
  340. package/legacy/locales/nbNO.js +0 -162
  341. package/legacy/locales/nlNL.js +0 -160
  342. package/legacy/locales/plPL.js +0 -163
  343. package/legacy/locales/ptBR.js +0 -160
  344. package/legacy/locales/ptPT.js +0 -160
  345. package/legacy/locales/roRO.js +0 -160
  346. package/legacy/locales/ruRU.js +0 -181
  347. package/legacy/locales/skSK.js +0 -181
  348. package/legacy/locales/svSE.js +0 -160
  349. package/legacy/locales/trTR.js +0 -161
  350. package/legacy/locales/ukUA.js +0 -182
  351. package/legacy/locales/urPK.js +0 -160
  352. package/legacy/locales/viVN.js +0 -160
  353. package/legacy/locales/zhCN.js +0 -160
  354. package/legacy/locales/zhHK.js +0 -160
  355. package/legacy/locales/zhTW.js +0 -160
  356. package/legacy/material/components/MUISelectOption.js +0 -14
  357. package/legacy/material/icons/GridColumnUnsortedIcon.js +0 -16
  358. package/legacy/material/icons/index.js +0 -89
  359. package/legacy/material/index.js +0 -69
  360. package/legacy/models/api/gridApiCommon.js +0 -1
  361. package/legacy/models/api/gridApiCommunity.js +0 -1
  362. package/legacy/models/api/gridCallbackDetails.js +0 -1
  363. package/legacy/models/api/gridColumnApi.js +0 -1
  364. package/legacy/models/api/gridColumnGroupingApi.js +0 -1
  365. package/legacy/models/api/gridColumnMenuApi.js +0 -1
  366. package/legacy/models/api/gridColumnSpanning.js +0 -1
  367. package/legacy/models/api/gridCoreApi.js +0 -1
  368. package/legacy/models/api/gridCsvExportApi.js +0 -1
  369. package/legacy/models/api/gridDensityApi.js +0 -1
  370. package/legacy/models/api/gridEditingApi.js +0 -1
  371. package/legacy/models/api/gridFilterApi.js +0 -1
  372. package/legacy/models/api/gridFocusApi.js +0 -1
  373. package/legacy/models/api/gridHeaderFilteringApi.js +0 -1
  374. package/legacy/models/api/gridLocaleTextApi.js +0 -1
  375. package/legacy/models/api/gridLoggerApi.js +0 -1
  376. package/legacy/models/api/gridParamsApi.js +0 -1
  377. package/legacy/models/api/gridPreferencesPanelApi.js +0 -1
  378. package/legacy/models/api/gridPrintExportApi.js +0 -1
  379. package/legacy/models/api/gridRowApi.js +0 -1
  380. package/legacy/models/api/gridRowSelectionApi.js +0 -1
  381. package/legacy/models/api/gridRowsMetaApi.js +0 -1
  382. package/legacy/models/api/gridScrollApi.js +0 -1
  383. package/legacy/models/api/gridSortApi.js +0 -1
  384. package/legacy/models/api/gridStateApi.js +0 -1
  385. package/legacy/models/api/gridVirtualizationApi.js +0 -1
  386. package/legacy/models/api/index.js +0 -16
  387. package/legacy/models/colDef/gridColDef.js +0 -1
  388. package/legacy/models/colDef/gridColType.js +0 -1
  389. package/legacy/models/colDef/gridColumnTypesRecord.js +0 -1
  390. package/legacy/models/colDef/index.js +0 -6
  391. package/legacy/models/controlStateItem.js +0 -1
  392. package/legacy/models/cursorCoordinates.js +0 -1
  393. package/legacy/models/elementSize.js +0 -1
  394. package/legacy/models/events/gridEventListener.js +0 -1
  395. package/legacy/models/events/gridEventLookup.js +0 -1
  396. package/legacy/models/events/gridEventPublisher.js +0 -1
  397. package/legacy/models/events/index.js +0 -3
  398. package/legacy/models/gridApiCaches.js +0 -1
  399. package/legacy/models/gridCell.js +0 -1
  400. package/legacy/models/gridCellClass.js +0 -1
  401. package/legacy/models/gridColumnGrouping.js +0 -11
  402. package/legacy/models/gridColumnHeaderClass.js +0 -1
  403. package/legacy/models/gridColumnSpanning.js +0 -1
  404. package/legacy/models/gridDensity.js +0 -1
  405. package/legacy/models/gridEditRowModel.js +0 -16
  406. package/legacy/models/gridExport.js +0 -1
  407. package/legacy/models/gridFeatureMode.js +0 -1
  408. package/legacy/models/gridFilterItem.js +0 -11
  409. package/legacy/models/gridFilterModel.js +0 -1
  410. package/legacy/models/gridFilterOperator.js +0 -1
  411. package/legacy/models/gridHeaderFilteringModel.js +0 -1
  412. package/legacy/models/gridIconSlotsComponent.js +0 -1
  413. package/legacy/models/gridPaginationProps.js +0 -1
  414. package/legacy/models/gridRenderContextProps.js +0 -1
  415. package/legacy/models/gridRowSelectionModel.js +0 -1
  416. package/legacy/models/gridRows.js +0 -1
  417. package/legacy/models/gridSlotsComponent.js +0 -1
  418. package/legacy/models/gridSlotsComponentsProps.js +0 -1
  419. package/legacy/models/gridSortModel.js +0 -1
  420. package/legacy/models/gridStateCommunity.js +0 -1
  421. package/legacy/models/index.js +0 -29
  422. package/legacy/models/logger.js +0 -1
  423. package/legacy/models/muiEvent.js +0 -1
  424. package/legacy/models/params/gridCellParams.js +0 -1
  425. package/legacy/models/params/gridColumnGroupHeaderParams.js +0 -1
  426. package/legacy/models/params/gridColumnHeaderParams.js +0 -1
  427. package/legacy/models/params/gridColumnOrderChangeParams.js +0 -1
  428. package/legacy/models/params/gridColumnResizeParams.js +0 -1
  429. package/legacy/models/params/gridEditCellParams.js +0 -27
  430. package/legacy/models/params/gridHeaderSelectionCheckboxParams.js +0 -1
  431. package/legacy/models/params/gridMenuParams.js +0 -1
  432. package/legacy/models/params/gridPreferencePanelParams.js +0 -1
  433. package/legacy/models/params/gridRowParams.js +0 -44
  434. package/legacy/models/params/gridRowSelectionCheckboxParams.js +0 -1
  435. package/legacy/models/params/gridScrollParams.js +0 -1
  436. package/legacy/models/params/gridValueOptionsParams.js +0 -1
  437. package/legacy/models/params/index.js +0 -13
  438. package/legacy/models/props/DataGridProps.js +0 -1
  439. package/legacy/themeAugmentation/index.js +0 -4
  440. package/legacy/themeAugmentation/overrides.js +0 -1
  441. package/legacy/themeAugmentation/props.js +0 -1
  442. package/legacy/utils/EventManager.js +0 -91
  443. package/legacy/utils/Store.js +0 -34
  444. package/legacy/utils/cleanupTracking/CleanupTracking.js +0 -1
  445. package/legacy/utils/cleanupTracking/FinalizationRegistryBasedCleanupTracking.js +0 -29
  446. package/legacy/utils/cleanupTracking/TimerBasedCleanupTracking.js +0 -52
  447. package/legacy/utils/createControllablePromise.js +0 -11
  448. package/legacy/utils/createSelector.js +0 -120
  449. package/legacy/utils/doesSupportPreventScroll.js +0 -13
  450. package/legacy/utils/domUtils.js +0 -49
  451. package/legacy/utils/exportAs.js +0 -40
  452. package/legacy/utils/fastMemo.js +0 -5
  453. package/legacy/utils/fastObjectShallowCompare.js +0 -32
  454. package/legacy/utils/getGridLocalization.js +0 -15
  455. package/legacy/utils/getPublicApiRef.js +0 -5
  456. package/legacy/utils/index.js +0 -1
  457. package/legacy/utils/keyboardUtils.js +0 -60
  458. package/legacy/utils/utils.js +0 -189
  459. 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
- };