@multiplatform.one/backoffice 7.6.2 → 7.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (353) hide show
  1. package/dist/cjs/chrome/BackofficeAwesomebar.native.js +1 -1
  2. package/dist/cjs/chrome/BackofficeAwesomebar.native.js.map +1 -1
  3. package/dist/cjs/chrome/CommandPalette.native.js +1 -1
  4. package/dist/cjs/chrome/CommandPalette.native.js.map +1 -1
  5. package/dist/cjs/chrome/HelpMenu.native.js +1 -1
  6. package/dist/cjs/chrome/HelpMenu.native.js.map +1 -1
  7. package/dist/cjs/chrome/NotificationsButton.native.js +1 -1
  8. package/dist/cjs/chrome/NotificationsButton.native.js.map +1 -1
  9. package/dist/cjs/chrome/UserMenu.native.js +1 -1
  10. package/dist/cjs/chrome/UserMenu.native.js.map +1 -1
  11. package/dist/cjs/chrome/awesomebar-data.native.js.map +1 -1
  12. package/dist/cjs/chrome/command-palette-model.native.js +1 -1
  13. package/dist/cjs/chrome/command-palette-model.native.js.map +1 -1
  14. package/dist/cjs/chrome/help-about-dialog.native.js +1 -1
  15. package/dist/cjs/chrome/help-about-dialog.native.js.map +1 -1
  16. package/dist/cjs/chrome/help-shortcuts-dialog.native.js +1 -1
  17. package/dist/cjs/chrome/help-shortcuts-dialog.native.js.map +1 -1
  18. package/dist/cjs/chrome/notifications-data.native.js.map +1 -1
  19. package/dist/cjs/chrome/notifications-panel.native.js +1 -1
  20. package/dist/cjs/chrome/notifications-panel.native.js.map +1 -1
  21. package/dist/cjs/chrome/notifications-utils.native.js.map +1 -1
  22. package/dist/cjs/chrome/shortcuts.native.js.map +1 -1
  23. package/dist/cjs/chrome/user-session.native.js.map +1 -1
  24. package/dist/cjs/config/BackofficeProvider.native.js +1 -1
  25. package/dist/cjs/config/BackofficeProvider.native.js.map +1 -1
  26. package/dist/cjs/config/capabilities.native.js.map +1 -1
  27. package/dist/cjs/config/events.native.js.map +1 -1
  28. package/dist/cjs/config/slots.native.js.map +1 -1
  29. package/dist/cjs/desk/Desk.native.js.map +1 -1
  30. package/dist/cjs/desk/DeskSurface.native.js.map +1 -1
  31. package/dist/cjs/desk/resolveDeskPath.native.js.map +1 -1
  32. package/dist/cjs/desk/scope.native.js.map +1 -1
  33. package/dist/cjs/desk/target.native.js.map +1 -1
  34. package/dist/cjs/form/DocFormScreen.native.js +1 -1
  35. package/dist/cjs/form/DocFormScreen.native.js.map +1 -1
  36. package/dist/cjs/form/FormConnections.native.js +1 -1
  37. package/dist/cjs/form/FormConnections.native.js.map +1 -1
  38. package/dist/cjs/form/FormDialogs.native.js +1 -1
  39. package/dist/cjs/form/FormDialogs.native.js.map +1 -1
  40. package/dist/cjs/form/FormErrorBoundary.native.js +1 -1
  41. package/dist/cjs/form/FormErrorBoundary.native.js.map +1 -1
  42. package/dist/cjs/form/FormHeaderCluster.native.js +1 -1
  43. package/dist/cjs/form/FormHeaderCluster.native.js.map +1 -1
  44. package/dist/cjs/form/FormSidebarPanel.native.js +1 -1
  45. package/dist/cjs/form/FormSidebarPanel.native.js.map +1 -1
  46. package/dist/cjs/form/FormTimeline.native.js +1 -1
  47. package/dist/cjs/form/FormTimeline.native.js.map +1 -1
  48. package/dist/cjs/form/FormToolbar.native.js +1 -1
  49. package/dist/cjs/form/FormToolbar.native.js.map +1 -1
  50. package/dist/cjs/form/connections-data.native.js.map +1 -1
  51. package/dist/cjs/form/createPrefill.cjs +3 -11
  52. package/dist/cjs/form/createPrefill.native.js +3 -11
  53. package/dist/cjs/form/createPrefill.native.js.map +1 -1
  54. package/dist/cjs/form/dependsOn.native.js.map +1 -1
  55. package/dist/cjs/form/dirtyTracking.cjs +4 -29
  56. package/dist/cjs/form/dirtyTracking.native.js +4 -48
  57. package/dist/cjs/form/dirtyTracking.native.js.map +1 -1
  58. package/dist/cjs/form/docinfo.native.js.map +1 -1
  59. package/dist/cjs/form/fetchFrom.cjs +4 -41
  60. package/dist/cjs/form/fetchFrom.native.js +4 -81
  61. package/dist/cjs/form/fetchFrom.native.js.map +1 -1
  62. package/dist/cjs/form/fieldPermissions.cjs +4 -29
  63. package/dist/cjs/form/fieldPermissions.native.js +4 -51
  64. package/dist/cjs/form/fieldPermissions.native.js.map +1 -1
  65. package/dist/cjs/form/formActions.cjs +2 -171
  66. package/dist/cjs/form/formActions.native.js +2 -178
  67. package/dist/cjs/form/formActions.native.js.map +1 -1
  68. package/dist/cjs/form/formLayout.cjs +5 -219
  69. package/dist/cjs/form/formLayout.native.js +5 -359
  70. package/dist/cjs/form/formLayout.native.js.map +1 -1
  71. package/dist/cjs/form/platformHooks.native.js.map +1 -1
  72. package/dist/cjs/form/sidebar-attachments.native.js +1 -1
  73. package/dist/cjs/form/sidebar-attachments.native.js.map +1 -1
  74. package/dist/cjs/form/sidebar-dialogs.native.js +1 -1
  75. package/dist/cjs/form/sidebar-dialogs.native.js.map +1 -1
  76. package/dist/cjs/form/sidebar-people.native.js +1 -1
  77. package/dist/cjs/form/sidebar-people.native.js.map +1 -1
  78. package/dist/cjs/form/sidebar-rpc.native.js.map +1 -1
  79. package/dist/cjs/form/sidebar-utils.native.js.map +1 -1
  80. package/dist/cjs/form/timeline-entries.native.js.map +1 -1
  81. package/dist/cjs/form/timeline-utils.native.js.map +1 -1
  82. package/dist/cjs/form/useFormEngine.cjs +2 -361
  83. package/dist/cjs/form/useFormEngine.native.js +2 -447
  84. package/dist/cjs/form/useFormEngine.native.js.map +1 -1
  85. package/dist/cjs/i18n/en.native.js.map +1 -1
  86. package/dist/cjs/i18n/index.native.js.map +1 -1
  87. package/dist/cjs/index.native.js +1 -1
  88. package/dist/cjs/index.native.js.map +1 -1
  89. package/dist/cjs/list/AddTagsDialog.native.js +1 -1
  90. package/dist/cjs/list/AddTagsDialog.native.js.map +1 -1
  91. package/dist/cjs/list/AssignToDialog.native.js +1 -1
  92. package/dist/cjs/list/AssignToDialog.native.js.map +1 -1
  93. package/dist/cjs/list/DoctypeListScreen.native.js +1 -1
  94. package/dist/cjs/list/DoctypeListScreen.native.js.map +1 -1
  95. package/dist/cjs/list/ListBulkActionsBar.native.js +1 -1
  96. package/dist/cjs/list/ListBulkActionsBar.native.js.map +1 -1
  97. package/dist/cjs/list/ListFilterBar.native.js +1 -1
  98. package/dist/cjs/list/ListFilterBar.native.js.map +1 -1
  99. package/dist/cjs/list/ListSidebar.native.js +1 -1
  100. package/dist/cjs/list/ListSidebar.native.js.map +1 -1
  101. package/dist/cjs/list/bulk-edit-dialog.native.js +1 -1
  102. package/dist/cjs/list/bulk-edit-dialog.native.js.map +1 -1
  103. package/dist/cjs/list/bulk-export.native.js.map +1 -1
  104. package/dist/cjs/list/bulk-submit-cancel.native.js.map +1 -1
  105. package/dist/cjs/list/bulkActions.native.js.map +1 -1
  106. package/dist/cjs/list/filter-chips.native.js +1 -1
  107. package/dist/cjs/list/filter-chips.native.js.map +1 -1
  108. package/dist/cjs/list/filter-editor.native.js +1 -1
  109. package/dist/cjs/list/filter-editor.native.js.map +1 -1
  110. package/dist/cjs/list/filter-fields.native.js.map +1 -1
  111. package/dist/cjs/list/filter-saved.native.js +1 -1
  112. package/dist/cjs/list/filter-saved.native.js.map +1 -1
  113. package/dist/cjs/list/filter-sort.native.js +1 -1
  114. package/dist/cjs/list/filter-sort.native.js.map +1 -1
  115. package/dist/cjs/list/filter-standard.native.js.map +1 -1
  116. package/dist/cjs/list/filterConversion.native.js.map +1 -1
  117. package/dist/cjs/list/list-tools-sheet.native.js +1 -1
  118. package/dist/cjs/list/list-tools-sheet.native.js.map +1 -1
  119. package/dist/cjs/list/listColumns.native.js.map +1 -1
  120. package/dist/cjs/list/listFields.native.js.map +1 -1
  121. package/dist/cjs/list/listFormat.native.js.map +1 -1
  122. package/dist/cjs/list/listUrlState.native.js.map +1 -1
  123. package/dist/cjs/list/sidebar-section.native.js +1 -1
  124. package/dist/cjs/list/sidebar-section.native.js.map +1 -1
  125. package/dist/cjs/list/sidebar-stats.native.js.map +1 -1
  126. package/dist/cjs/list/statusColors.native.js.map +1 -1
  127. package/dist/cjs/navigation/navigator.native.js.map +1 -1
  128. package/dist/cjs/navigation/paths.native.js.map +1 -1
  129. package/dist/cjs/oneAdapter/index.native.js.map +1 -1
  130. package/dist/cjs/quickEntry/QuickEntryDialog.native.js +1 -1
  131. package/dist/cjs/quickEntry/QuickEntryDialog.native.js.map +1 -1
  132. package/dist/cjs/quickEntry/quickEntryPlan.native.js.map +1 -1
  133. package/dist/cjs/report/DoctypeReportView.native.js +1 -1
  134. package/dist/cjs/report/DoctypeReportView.native.js.map +1 -1
  135. package/dist/cjs/report/QueryReportScreen.native.js +1 -1
  136. package/dist/cjs/report/QueryReportScreen.native.js.map +1 -1
  137. package/dist/cjs/report/queryReportColumns.native.js.map +1 -1
  138. package/dist/cjs/report/queryReportFilterBar.native.js +1 -1
  139. package/dist/cjs/report/queryReportFilterBar.native.js.map +1 -1
  140. package/dist/cjs/report/queryReportUrlState.native.js.map +1 -1
  141. package/dist/cjs/report/report-grid.native.js +1 -1
  142. package/dist/cjs/report/report-grid.native.js.map +1 -1
  143. package/dist/cjs/report/report-toolbar.native.js +1 -1
  144. package/dist/cjs/report/report-toolbar.native.js.map +1 -1
  145. package/dist/cjs/report/reportShapes.native.js.map +1 -1
  146. package/dist/cjs/report/reportViewModel.native.js.map +1 -1
  147. package/dist/cjs/report/savedReports.native.js.map +1 -1
  148. package/dist/cjs/report/useQueryReport.native.js.map +1 -1
  149. package/dist/cjs/shared/deskLinks.native.js.map +1 -1
  150. package/dist/cjs/shared/listNavContext.native.js.map +1 -1
  151. package/dist/cjs/shared/types.native.js.map +1 -1
  152. package/dist/cjs/shared/useDocinfo.native.js.map +1 -1
  153. package/dist/cjs/shared/useDoctypeMeta.native.js.map +1 -1
  154. package/dist/cjs/shared/useFrappeApp.native.js.map +1 -1
  155. package/dist/cjs/shared/useRecentVisit.native.js.map +1 -1
  156. package/dist/cjs/shared/useSessionUserId.native.js.map +1 -1
  157. package/dist/cjs/shared/useSlugTarget.native.js.map +1 -1
  158. package/dist/cjs/shared/useUserRoles.native.js.map +1 -1
  159. package/dist/cjs/shell/BackofficeShell.native.js +1 -1
  160. package/dist/cjs/shell/BackofficeShell.native.js.map +1 -1
  161. package/dist/cjs/shell/HomeRedirect.native.js +1 -1
  162. package/dist/cjs/shell/HomeRedirect.native.js.map +1 -1
  163. package/dist/cjs/shell/NotFoundScreen.native.js +1 -1
  164. package/dist/cjs/shell/NotFoundScreen.native.js.map +1 -1
  165. package/dist/cjs/shell/SlugScreen.native.js +1 -1
  166. package/dist/cjs/shell/SlugScreen.native.js.map +1 -1
  167. package/dist/cjs/shell/WorkspaceSidebar.native.js +1 -1
  168. package/dist/cjs/shell/WorkspaceSidebar.native.js.map +1 -1
  169. package/dist/cjs/shell/useWorkspaces.native.js.map +1 -1
  170. package/dist/cjs/shell/workspaceIcons.native.js.map +1 -1
  171. package/dist/cjs/views/CalendarView.native.js +1 -1
  172. package/dist/cjs/views/CalendarView.native.js.map +1 -1
  173. package/dist/cjs/views/DashboardView.native.js +1 -1
  174. package/dist/cjs/views/DashboardView.native.js.map +1 -1
  175. package/dist/cjs/views/DoctypeViewScreen.native.js.map +1 -1
  176. package/dist/cjs/views/ImageView.native.js +1 -1
  177. package/dist/cjs/views/ImageView.native.js.map +1 -1
  178. package/dist/cjs/views/KanbanView.native.js +1 -1
  179. package/dist/cjs/views/KanbanView.native.js.map +1 -1
  180. package/dist/cjs/views/ReportView.native.js +1 -1
  181. package/dist/cjs/views/ReportView.native.js.map +1 -1
  182. package/dist/cjs/views/TreeView.native.js +1 -1
  183. package/dist/cjs/views/TreeView.native.js.map +1 -1
  184. package/dist/cjs/views/ViewHeader.native.js +1 -1
  185. package/dist/cjs/views/ViewHeader.native.js.map +1 -1
  186. package/dist/cjs/views/ViewStates.native.js +1 -1
  187. package/dist/cjs/views/ViewStates.native.js.map +1 -1
  188. package/dist/cjs/views/ViewSwitcherMenu.native.js +1 -1
  189. package/dist/cjs/views/ViewSwitcherMenu.native.js.map +1 -1
  190. package/dist/cjs/views/calendar-field-selector.native.js +1 -1
  191. package/dist/cjs/views/calendar-field-selector.native.js.map +1 -1
  192. package/dist/cjs/views/connection.native.js.map +1 -1
  193. package/dist/cjs/views/dashboard-data.native.js.map +1 -1
  194. package/dist/cjs/views/deskViewConfigs.native.js.map +1 -1
  195. package/dist/cjs/views/kanban-board-controls.native.js +1 -1
  196. package/dist/cjs/views/kanban-board-controls.native.js.map +1 -1
  197. package/dist/cjs/views/kanban-field-picker.native.js +1 -1
  198. package/dist/cjs/views/kanban-field-picker.native.js.map +1 -1
  199. package/dist/cjs/views/kanbanBoardOps.native.js.map +1 -1
  200. package/dist/cjs/views/report-controls.native.js +1 -1
  201. package/dist/cjs/views/report-controls.native.js.map +1 -1
  202. package/dist/cjs/views/viewAvailability.native.js.map +1 -1
  203. package/dist/cjs/views/viewMeta.native.js.map +1 -1
  204. package/dist/cjs/workspace/WorkspaceChartBlock.native.js +1 -1
  205. package/dist/cjs/workspace/WorkspaceChartBlock.native.js.map +1 -1
  206. package/dist/cjs/workspace/WorkspaceGrid.native.js.map +1 -1
  207. package/dist/cjs/workspace/WorkspaceLinkCard.native.js +1 -1
  208. package/dist/cjs/workspace/WorkspaceLinkCard.native.js.map +1 -1
  209. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js +1 -1
  210. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  211. package/dist/cjs/workspace/WorkspaceNumberCard.native.js +1 -1
  212. package/dist/cjs/workspace/WorkspaceNumberCard.native.js.map +1 -1
  213. package/dist/cjs/workspace/WorkspaceQuickList.cjs +1 -1
  214. package/dist/cjs/workspace/WorkspaceQuickList.native.js +4 -2
  215. package/dist/cjs/workspace/WorkspaceQuickList.native.js.map +1 -1
  216. package/dist/cjs/workspace/WorkspaceRecents.cjs +1 -3
  217. package/dist/cjs/workspace/WorkspaceRecents.native.js +4 -4
  218. package/dist/cjs/workspace/WorkspaceRecents.native.js.map +1 -1
  219. package/dist/cjs/workspace/WorkspaceScreen.native.js +1 -1
  220. package/dist/cjs/workspace/WorkspaceScreen.native.js.map +1 -1
  221. package/dist/cjs/workspace/WorkspaceShortcut.cjs +1 -3
  222. package/dist/cjs/workspace/WorkspaceShortcut.native.js +5 -4
  223. package/dist/cjs/workspace/WorkspaceShortcut.native.js.map +1 -1
  224. package/dist/cjs/workspace/parseContent.native.js.map +1 -1
  225. package/dist/cjs/workspace/types.native.js.map +1 -1
  226. package/dist/cjs/workspace/useDashboardChart.native.js.map +1 -1
  227. package/dist/cjs/workspace/useWorkspaceDoc.native.js.map +1 -1
  228. package/dist/esm/desk/DeskSurface.mjs.map +1 -1
  229. package/dist/esm/desk/DeskSurface.native.js.map +1 -1
  230. package/dist/esm/form/createPrefill.mjs +1 -9
  231. package/dist/esm/form/createPrefill.mjs.map +1 -1
  232. package/dist/esm/form/createPrefill.native.js +1 -9
  233. package/dist/esm/form/createPrefill.native.js.map +1 -1
  234. package/dist/esm/form/dirtyTracking.mjs +1 -26
  235. package/dist/esm/form/dirtyTracking.mjs.map +1 -1
  236. package/dist/esm/form/dirtyTracking.native.js +1 -45
  237. package/dist/esm/form/dirtyTracking.native.js.map +1 -1
  238. package/dist/esm/form/fetchFrom.mjs +1 -38
  239. package/dist/esm/form/fetchFrom.mjs.map +1 -1
  240. package/dist/esm/form/fetchFrom.native.js +1 -78
  241. package/dist/esm/form/fetchFrom.native.js.map +1 -1
  242. package/dist/esm/form/fieldPermissions.mjs +1 -26
  243. package/dist/esm/form/fieldPermissions.mjs.map +1 -1
  244. package/dist/esm/form/fieldPermissions.native.js +1 -48
  245. package/dist/esm/form/fieldPermissions.native.js.map +1 -1
  246. package/dist/esm/form/formActions.mjs +1 -145
  247. package/dist/esm/form/formActions.mjs.map +1 -1
  248. package/dist/esm/form/formActions.native.js +1 -152
  249. package/dist/esm/form/formActions.native.js.map +1 -1
  250. package/dist/esm/form/formLayout.mjs +1 -215
  251. package/dist/esm/form/formLayout.mjs.map +1 -1
  252. package/dist/esm/form/formLayout.native.js +1 -355
  253. package/dist/esm/form/formLayout.native.js.map +1 -1
  254. package/dist/esm/form/useFormEngine.mjs +1 -360
  255. package/dist/esm/form/useFormEngine.mjs.map +1 -1
  256. package/dist/esm/form/useFormEngine.native.js +1 -446
  257. package/dist/esm/form/useFormEngine.native.js.map +1 -1
  258. package/dist/esm/shared/useDoctypeMeta.mjs.map +1 -1
  259. package/dist/esm/shared/useDoctypeMeta.native.js.map +1 -1
  260. package/dist/esm/workspace/WorkspaceQuickList.mjs +2 -2
  261. package/dist/esm/workspace/WorkspaceQuickList.mjs.map +1 -1
  262. package/dist/esm/workspace/WorkspaceQuickList.native.js +4 -2
  263. package/dist/esm/workspace/WorkspaceQuickList.native.js.map +1 -1
  264. package/dist/esm/workspace/WorkspaceRecents.mjs +1 -3
  265. package/dist/esm/workspace/WorkspaceRecents.mjs.map +1 -1
  266. package/dist/esm/workspace/WorkspaceRecents.native.js +3 -3
  267. package/dist/esm/workspace/WorkspaceRecents.native.js.map +1 -1
  268. package/dist/esm/workspace/WorkspaceShortcut.mjs +1 -3
  269. package/dist/esm/workspace/WorkspaceShortcut.mjs.map +1 -1
  270. package/dist/esm/workspace/WorkspaceShortcut.native.js +4 -3
  271. package/dist/esm/workspace/WorkspaceShortcut.native.js.map +1 -1
  272. package/dist/jsx/desk/DeskSurface.mjs.map +1 -1
  273. package/dist/jsx/desk/DeskSurface.native.js.map +1 -1
  274. package/dist/jsx/form/createPrefill.mjs +1 -9
  275. package/dist/jsx/form/createPrefill.mjs.map +1 -1
  276. package/dist/jsx/form/createPrefill.native.js +3 -11
  277. package/dist/jsx/form/createPrefill.native.js.map +1 -1
  278. package/dist/jsx/form/dirtyTracking.mjs +1 -26
  279. package/dist/jsx/form/dirtyTracking.mjs.map +1 -1
  280. package/dist/jsx/form/dirtyTracking.native.js +4 -48
  281. package/dist/jsx/form/dirtyTracking.native.js.map +1 -1
  282. package/dist/jsx/form/fetchFrom.mjs +1 -38
  283. package/dist/jsx/form/fetchFrom.mjs.map +1 -1
  284. package/dist/jsx/form/fetchFrom.native.js +4 -81
  285. package/dist/jsx/form/fetchFrom.native.js.map +1 -1
  286. package/dist/jsx/form/fieldPermissions.mjs +1 -26
  287. package/dist/jsx/form/fieldPermissions.mjs.map +1 -1
  288. package/dist/jsx/form/fieldPermissions.native.js +4 -51
  289. package/dist/jsx/form/fieldPermissions.native.js.map +1 -1
  290. package/dist/jsx/form/formActions.mjs +1 -145
  291. package/dist/jsx/form/formActions.mjs.map +1 -1
  292. package/dist/jsx/form/formActions.native.js +2 -178
  293. package/dist/jsx/form/formActions.native.js.map +1 -1
  294. package/dist/jsx/form/formLayout.mjs +1 -215
  295. package/dist/jsx/form/formLayout.mjs.map +1 -1
  296. package/dist/jsx/form/formLayout.native.js +5 -359
  297. package/dist/jsx/form/formLayout.native.js.map +1 -1
  298. package/dist/jsx/form/useFormEngine.mjs +1 -360
  299. package/dist/jsx/form/useFormEngine.mjs.map +1 -1
  300. package/dist/jsx/form/useFormEngine.native.js +2 -447
  301. package/dist/jsx/form/useFormEngine.native.js.map +1 -1
  302. package/dist/jsx/shared/useDoctypeMeta.mjs.map +1 -1
  303. package/dist/jsx/shared/useDoctypeMeta.native.js.map +1 -1
  304. package/dist/jsx/workspace/WorkspaceQuickList.mjs +2 -2
  305. package/dist/jsx/workspace/WorkspaceQuickList.mjs.map +1 -1
  306. package/dist/jsx/workspace/WorkspaceQuickList.native.js +3 -1
  307. package/dist/jsx/workspace/WorkspaceQuickList.native.js.map +1 -1
  308. package/dist/jsx/workspace/WorkspaceRecents.mjs +1 -3
  309. package/dist/jsx/workspace/WorkspaceRecents.mjs.map +1 -1
  310. package/dist/jsx/workspace/WorkspaceRecents.native.js +3 -3
  311. package/dist/jsx/workspace/WorkspaceRecents.native.js.map +1 -1
  312. package/dist/jsx/workspace/WorkspaceShortcut.mjs +1 -3
  313. package/dist/jsx/workspace/WorkspaceShortcut.mjs.map +1 -1
  314. package/dist/jsx/workspace/WorkspaceShortcut.native.js +4 -3
  315. package/dist/jsx/workspace/WorkspaceShortcut.native.js.map +1 -1
  316. package/package.json +12 -13
  317. package/src/desk/DeskSurface.tsx +8 -4
  318. package/src/form/createPrefill.ts +5 -25
  319. package/src/form/dirtyTracking.ts +4 -61
  320. package/src/form/fetchFrom.ts +5 -108
  321. package/src/form/fieldPermissions.ts +7 -65
  322. package/src/form/formActions.ts +10 -281
  323. package/src/form/formEngineShim.spec.ts +122 -0
  324. package/src/form/formLayout.ts +15 -387
  325. package/src/form/useFormEngine.ts +5 -493
  326. package/src/shared/useDoctypeMeta.ts +12 -100
  327. package/src/workspace/WorkspaceQuickList.tsx +10 -2
  328. package/src/workspace/WorkspaceRecents.tsx +3 -1
  329. package/src/workspace/WorkspaceShortcut.tsx +4 -1
  330. package/types/desk/DeskSurface.d.ts.map +1 -1
  331. package/types/form/createPrefill.d.ts +5 -16
  332. package/types/form/createPrefill.d.ts.map +1 -1
  333. package/types/form/dirtyTracking.d.ts +4 -33
  334. package/types/form/dirtyTracking.d.ts.map +1 -1
  335. package/types/form/fetchFrom.d.ts +5 -40
  336. package/types/form/fetchFrom.d.ts.map +1 -1
  337. package/types/form/fieldPermissions.d.ts +7 -35
  338. package/types/form/fieldPermissions.d.ts.map +1 -1
  339. package/types/form/formActions.d.ts +6 -91
  340. package/types/form/formActions.d.ts.map +1 -1
  341. package/types/form/formLayout.d.ts +12 -89
  342. package/types/form/formLayout.d.ts.map +1 -1
  343. package/types/form/useFormEngine.d.ts +5 -58
  344. package/types/form/useFormEngine.d.ts.map +1 -1
  345. package/types/shared/useDoctypeMeta.d.ts +2 -100
  346. package/types/shared/useDoctypeMeta.d.ts.map +1 -1
  347. package/types/workspace/WorkspaceQuickList.d.ts.map +1 -1
  348. package/types/workspace/WorkspaceRecents.d.ts.map +1 -1
  349. package/types/workspace/WorkspaceShortcut.d.ts.map +1 -1
  350. package/src/form/dirtyTracking.spec.ts +0 -91
  351. package/src/form/fetchFrom.spec.ts +0 -92
  352. package/src/form/fieldPermissions.spec.ts +0 -61
  353. package/src/form/formLayout.spec.ts +0 -373
@@ -24,453 +24,8 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
24
24
  }), mod);
25
25
  var useFormEngine_exports = {};
26
26
  __export(useFormEngine_exports, {
27
- useFormEngine: () => useFormEngine
27
+ useFormEngine: () => import_frappe_ui.useFormEngine
28
28
  });
29
29
  module.exports = __toCommonJS(useFormEngine_exports);
30
- var import_frappe = require("@multiplatform.one/frappe");
31
- var import_react = require("react");
32
- var import_formActions = require("./formActions.native.js");
33
- var import_formLayout = require("./formLayout.native.js");
34
- var import_createPrefill = require("./createPrefill.native.js");
35
- var import_dependsOn = require("./dependsOn.native.js");
36
- var import_dirtyTracking = require("./dirtyTracking.native.js");
37
- var import_fetchFrom = require("./fetchFrom.native.js");
38
- var LAYOUT_TYPES = /* @__PURE__ */new Set(["Section Break", "Column Break", "Tab Break", "Fold"]);
39
- function isConflictError(err) {
40
- var _e_message;
41
- var e = err;
42
- if (!e) return false;
43
- if (e.status === 409) return true;
44
- if (e.exc_type === "TimestampMismatchError") return true;
45
- return /TimestampMismatch|has been modified/i.test((_e_message = e.message) !== null && _e_message !== void 0 ? _e_message : "");
46
- }
47
- function extractServerError(err, fallback) {
48
- var e = err;
49
- if (e === null || e === void 0 ? void 0 : e._server_messages) {
50
- try {
51
- var messages = JSON.parse(e._server_messages);
52
- var parsed = messages.map(function (msg) {
53
- try {
54
- var _JSON_parse_message;
55
- return (_JSON_parse_message = JSON.parse(msg).message) !== null && _JSON_parse_message !== void 0 ? _JSON_parse_message : "";
56
- } catch (unused) {
57
- return msg;
58
- }
59
- }).filter(Boolean);
60
- if (parsed.length > 0) return parsed.join("\n");
61
- } catch (unused) {}
62
- }
63
- return (e === null || e === void 0 ? void 0 : e.message) || fallback;
64
- }
65
- function useFormEngine(connection, doctype, name, meta, translate) {
66
- var _ref;
67
- var isCreate = !name;
68
- var [localDoc, setLocalDoc] = (0, import_react.useState)({});
69
- var [baseline, setBaseline] = (0, import_react.useState)(void 0);
70
- var [isSaving, setIsSaving] = (0, import_react.useState)(false);
71
- var [errors, setErrors] = (0, import_react.useState)({});
72
- var [conflict, setConflict] = (0, import_react.useState)(false);
73
- var [wasDeleted, setWasDeleted] = (0, import_react.useState)(false);
74
- var [currentUser, setCurrentUser] = (0, import_react.useState)("");
75
- var everLoadedRef = (0, import_react.useRef)(false);
76
- var seededRef = (0, import_react.useRef)(false);
77
- var localDocRef = (0, import_react.useRef)(localDoc);
78
- localDocRef.current = localDoc;
79
- var baselineRef = (0, import_react.useRef)(baseline);
80
- baselineRef.current = baseline;
81
- var docCollection = (0, import_frappe.useFrappeCollection)(name ? connection : void 0, doctype, {
82
- filters: name ? {
83
- name
84
- } : void 0
85
- });
86
- var {
87
- data: rawDocData,
88
- isLoading: isDocLoading
89
- } = (0, import_frappe.useLiveQuery)(function (q) {
90
- if (!docCollection || !name) return null;
91
- return q.from({
92
- _doc: docCollection
93
- }).where(function (param) {
94
- var {
95
- _doc
96
- } = param;
97
- return (0, import_frappe.eq)(_doc.name, name);
98
- });
99
- }, [docCollection, name]);
100
- var liveDoc = (0, import_react.useMemo)(function () {
101
- var _arr_;
102
- var arr = Array.isArray(rawDocData) ? rawDocData : rawDocData ? [rawDocData] : [];
103
- return (_arr_ = arr[0]) !== null && _arr_ !== void 0 ? _arr_ : null;
104
- }, [rawDocData]);
105
- (0, import_react.useEffect)(function () {
106
- if (!connection) return;
107
- var cancelled = false;
108
- (0, import_formActions.getLoggedUser)((0, import_formActions.createHttpClient)(connection)).then(function (user) {
109
- if (!cancelled) setCurrentUser(user);
110
- }).catch(function () {});
111
- return function () {
112
- cancelled = true;
113
- };
114
- }, [connection === null || connection === void 0 ? void 0 : connection.baseURL]);
115
- (0, import_react.useEffect)(function () {
116
- everLoadedRef.current = false;
117
- seededRef.current = false;
118
- setWasDeleted(false);
119
- setConflict(false);
120
- setErrors({});
121
- setBaseline(void 0);
122
- setLocalDoc({});
123
- }, [doctype, name]);
124
- (0, import_react.useEffect)(function () {
125
- if (!isCreate || !meta || seededRef.current) return;
126
- seededRef.current = true;
127
- var defaults = (0, import_formLayout.buildCreateDefaults)(meta.fields, currentUser || void 0);
128
- var prefill = (0, import_createPrefill.takeCreatePrefill)(doctype);
129
- setLocalDoc({
130
- ...defaults,
131
- ...prefill,
132
- doctype
133
- });
134
- },
135
- // currentUser intentionally not a dep: seeding happens once per mount;
136
- // a late-resolving user only matters for brand-new blank forms where
137
- // the meta usually arrives later anyway.
138
- [isCreate, meta, doctype]);
139
- (0, import_react.useEffect)(function () {
140
- if (!name) return;
141
- if (liveDoc) {
142
- everLoadedRef.current = true;
143
- setWasDeleted(false);
144
- var incoming = liveDoc;
145
- var prevBaseline = baselineRef.current;
146
- if (!prevBaseline) {
147
- setBaseline(incoming);
148
- setLocalDoc(incoming);
149
- return;
150
- }
151
- var local = localDocRef.current;
152
- var merged = {
153
- ...incoming
154
- };
155
- var _iteratorNormalCompletion = true,
156
- _didIteratorError = false,
157
- _iteratorError = void 0;
158
- try {
159
- for (var _iterator = Object.keys(local)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
160
- var key = _step.value;
161
- if (!(0, import_dirtyTracking.isSameValue)(local[key], prevBaseline[key])) merged[key] = local[key];
162
- }
163
- } catch (err) {
164
- _didIteratorError = true;
165
- _iteratorError = err;
166
- } finally {
167
- try {
168
- if (!_iteratorNormalCompletion && _iterator.return != null) {
169
- _iterator.return();
170
- }
171
- } finally {
172
- if (_didIteratorError) {
173
- throw _iteratorError;
174
- }
175
- }
176
- }
177
- setBaseline(incoming);
178
- setLocalDoc(merged);
179
- } else if (everLoadedRef.current && !isDocLoading) {
180
- setWasDeleted(true);
181
- }
182
- }, [liveDoc, isDocLoading, name]);
183
- var dirtyFields = (0, import_react.useMemo)(function () {
184
- return (0, import_dirtyTracking.computeDirtyFields)(localDoc, baseline);
185
- }, [localDoc, baseline]);
186
- var isDirty = dirtyFields.length > 0;
187
- var fetchMap = (0, import_react.useMemo)(function () {
188
- return meta ? (0, import_fetchFrom.buildFetchMap)(meta.fields) : void 0;
189
- }, [meta]);
190
- var fetchStateRef = (0, import_react.useRef)({
191
- meta: void 0,
192
- connection: void 0
193
- });
194
- fetchStateRef.current = {
195
- meta,
196
- connection
197
- };
198
- var fetchMapRef = (0, import_react.useRef)(fetchMap);
199
- fetchMapRef.current = fetchMap;
200
- var runFetchFrom = (0, import_react.useCallback)(function (field, value) {
201
- var _fetchMapRef_current;
202
- var rules = (_fetchMapRef_current = fetchMapRef.current) === null || _fetchMapRef_current === void 0 ? void 0 : _fetchMapRef_current.get(field);
203
- if (!rules || rules.length === 0) return;
204
- var {
205
- meta: currentMeta,
206
- connection: currentConnection
207
- } = fetchStateRef.current;
208
- var linkField = currentMeta === null || currentMeta === void 0 ? void 0 : currentMeta.fields.find(function (f) {
209
- return f.fieldname === field;
210
- });
211
- var targetDoctype = typeof (linkField === null || linkField === void 0 ? void 0 : linkField.options) === "string" ? linkField.options : "";
212
- var applyPatch = function applyPatch2(fetched) {
213
- setLocalDoc(function (prev) {
214
- if (prev[field] !== value) return prev;
215
- var patch = (0, import_fetchFrom.applyFetchedValues)(rules, fetched, prev);
216
- return Object.keys(patch).length > 0 ? {
217
- ...prev,
218
- ...patch
219
- } : prev;
220
- });
221
- };
222
- if (value === void 0 || value === null || value === "") {
223
- applyPatch({});
224
- return;
225
- }
226
- if (!currentConnection || !targetDoctype || currentConnection.fixtures) return;
227
- var sources = Array.from(new Set(rules.map(function (rule) {
228
- return rule.source;
229
- })));
230
- (0, import_formActions.validateLink)((0, import_formActions.createHttpClient)(currentConnection), targetDoctype, String(value), sources).then(applyPatch).catch(function () {});
231
- },
232
- // Invalid link / no read perm on source — leave targets as-is;
233
- // the server re-validates on save.
234
- []);
235
- var setValue = (0, import_react.useCallback)(function (field, value) {
236
- setLocalDoc(function (prev) {
237
- return {
238
- ...prev,
239
- [field]: value
240
- };
241
- });
242
- setErrors(function (prev) {
243
- if (!(field in prev)) return prev;
244
- var next = {
245
- ...prev
246
- };
247
- delete next[field];
248
- return next;
249
- });
250
- runFetchFrom(field, value);
251
- }, [runFetchFrom]);
252
- var validate = (0, import_react.useCallback)(function () {
253
- if (!meta) return {};
254
- var doc = {
255
- ...localDocRef.current,
256
- __islocal: isCreate ? 1 : 0,
257
- ...(currentUser ? {
258
- __session_user: currentUser
259
- } : {})
260
- };
261
- var validationErrors = {};
262
- if (isCreate && (0, import_formLayout.isPromptNamed)(meta.autoname, meta.naming_rule) && (0, import_dirtyTracking.isEmptyValue)(doc.name)) {
263
- validationErrors.name = translate("nameRequired", {
264
- defaultValue: "Name is required"
265
- });
266
- }
267
- var _iteratorNormalCompletion = true,
268
- _didIteratorError = false,
269
- _iteratorError = void 0;
270
- try {
271
- for (var _iterator = meta.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
272
- var field = _step.value;
273
- if (field.hidden || LAYOUT_TYPES.has(field.fieldtype)) continue;
274
- if (!(0, import_dependsOn.evaluateDependsOn)(field.depends_on, doc, true)) continue;
275
- var required = !!field.reqd || !!field.mandatory_depends_on && (0, import_dependsOn.evaluateDependsOn)(field.mandatory_depends_on, doc, false);
276
- if (!required) continue;
277
- if ((0, import_dirtyTracking.isEmptyValue)(doc[field.fieldname])) {
278
- validationErrors[field.fieldname] = translate("fieldRequired", {
279
- defaultValue: "{{label}} is required",
280
- label: field.label || field.fieldname
281
- });
282
- }
283
- }
284
- } catch (err) {
285
- _didIteratorError = true;
286
- _iteratorError = err;
287
- } finally {
288
- try {
289
- if (!_iteratorNormalCompletion && _iterator.return != null) {
290
- _iterator.return();
291
- }
292
- } finally {
293
- if (_didIteratorError) {
294
- throw _iteratorError;
295
- }
296
- }
297
- }
298
- return validationErrors;
299
- }, [meta, isCreate, currentUser, translate]);
300
- var save = (0, import_react.useCallback)(async function () {
301
- if (wasDeleted || !connection) return void 0;
302
- var requiredErrors = validate();
303
- if (Object.keys(requiredErrors).length > 0) {
304
- setErrors(requiredErrors);
305
- return void 0;
306
- }
307
- setIsSaving(true);
308
- setErrors({});
309
- try {
310
- var _created_name;
311
- if (name) {
312
- var _baselineRef_current;
313
- if (!docCollection) return void 0;
314
- var local = localDocRef.current;
315
- var base = (_baselineRef_current = baselineRef.current) !== null && _baselineRef_current !== void 0 ? _baselineRef_current : {};
316
- var changed = Object.keys(local).filter(function (key) {
317
- return key !== "doctype" && key !== "name" && !(0, import_dirtyTracking.isSameValue)(local[key], base[key]);
318
- });
319
- if (changed.length > 0) {
320
- var tx = docCollection.update(name, function (draft) {
321
- var _iteratorNormalCompletion = true,
322
- _didIteratorError = false,
323
- _iteratorError = void 0;
324
- try {
325
- for (var _iterator = changed[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
326
- var key = _step.value;
327
- draft[key] = local[key];
328
- }
329
- } catch (err) {
330
- _didIteratorError = true;
331
- _iteratorError = err;
332
- } finally {
333
- try {
334
- if (!_iteratorNormalCompletion && _iterator.return != null) {
335
- _iterator.return();
336
- }
337
- } finally {
338
- if (_didIteratorError) {
339
- throw _iteratorError;
340
- }
341
- }
342
- }
343
- });
344
- await tx.isPersisted.promise;
345
- }
346
- setConflict(false);
347
- return name;
348
- }
349
- var {
350
- doctype: _dt,
351
- name: newName,
352
- ...values
353
- } = localDocRef.current;
354
- if (typeof newName === "string" && newName.trim()) {
355
- values.name = newName.trim();
356
- }
357
- var created = await (0, import_formActions.insertDoc)((0, import_formActions.createHttpClient)(connection), doctype, values);
358
- return String((_created_name = created.name) !== null && _created_name !== void 0 ? _created_name : "");
359
- } catch (err) {
360
- if (isConflictError(err)) {
361
- setConflict(true);
362
- setErrors({
363
- general: translate("conflictError", {
364
- defaultValue: "This document was modified on the server after you opened it. Reload to get the latest version \u2014 your unsaved edits will be discarded."
365
- })
366
- });
367
- } else {
368
- setErrors({
369
- general: extractServerError(err, translate("saveFailed", {
370
- defaultValue: "Failed to save"
371
- }))
372
- });
373
- }
374
- return void 0;
375
- } finally {
376
- setIsSaving(false);
377
- }
378
- }, [wasDeleted, connection, validate, name, docCollection, doctype, translate]);
379
- var submit = (0, import_react.useCallback)(async function () {
380
- if (!connection || !name) return false;
381
- setIsSaving(true);
382
- setErrors({});
383
- try {
384
- var base = baselineRef.current;
385
- if (!base) return false;
386
- await (0, import_formActions.submitDoc)((0, import_formActions.createHttpClient)(connection), {
387
- ...base,
388
- doctype
389
- });
390
- return true;
391
- } catch (err) {
392
- if (isConflictError(err)) setConflict(true);
393
- setErrors({
394
- general: extractServerError(err, translate("submitFailed", {
395
- defaultValue: "Failed to submit"
396
- }))
397
- });
398
- return false;
399
- } finally {
400
- setIsSaving(false);
401
- }
402
- }, [connection, name, doctype, translate]);
403
- var cancel = (0, import_react.useCallback)(async function () {
404
- if (!connection || !name) return false;
405
- setIsSaving(true);
406
- setErrors({});
407
- try {
408
- await (0, import_formActions.cancelDoc)((0, import_formActions.createHttpClient)(connection), doctype, name);
409
- return true;
410
- } catch (err) {
411
- setErrors({
412
- general: extractServerError(err, translate("cancelFailed", {
413
- defaultValue: "Failed to cancel"
414
- }))
415
- });
416
- return false;
417
- } finally {
418
- setIsSaving(false);
419
- }
420
- }, [connection, name, doctype, translate]);
421
- var remove = (0, import_react.useCallback)(async function () {
422
- if (!docCollection || !name || wasDeleted) return false;
423
- setIsSaving(true);
424
- setErrors({});
425
- try {
426
- var tx = docCollection.delete(name);
427
- await tx.isPersisted.promise;
428
- return true;
429
- } catch (err) {
430
- setErrors({
431
- general: extractServerError(err, translate("deleteFailed", {
432
- defaultValue: "Failed to delete"
433
- }))
434
- });
435
- return false;
436
- } finally {
437
- setIsSaving(false);
438
- }
439
- }, [docCollection, name, wasDeleted, translate]);
440
- var reload = (0, import_react.useCallback)(function () {
441
- setConflict(false);
442
- setErrors({});
443
- if (baselineRef.current) {
444
- setLocalDoc(baselineRef.current);
445
- } else if (!name) {
446
- seededRef.current = false;
447
- setLocalDoc({
448
- doctype
449
- });
450
- }
451
- }, [doctype, name]);
452
- var docstatus = Number((_ref = baseline === null || baseline === void 0 ? void 0 : baseline.docstatus) !== null && _ref !== void 0 ? _ref : 0);
453
- return {
454
- doc: localDoc,
455
- baseline,
456
- isLoading: !!name && isDocLoading && !everLoadedRef.current,
457
- notFound: !!name && !isDocLoading && !liveDoc && !everLoadedRef.current,
458
- wasDeleted,
459
- isCreate,
460
- isDirty,
461
- dirtyFields,
462
- isSaving,
463
- errors,
464
- conflict,
465
- currentUser,
466
- docstatus,
467
- setValue,
468
- save,
469
- submit,
470
- cancel,
471
- remove,
472
- reload,
473
- validate
474
- };
475
- }
30
+ var import_frappe_ui = require("@multiplatform.one/frappe-ui");
476
31
  //# sourceMappingURL=useFormEngine.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useFormEngine_exports","useFormEngine","module","exports","import_frappe","require","import_react","import_formActions","import_formLayout","import_createPrefill","import_dependsOn","import_dirtyTracking","import_fetchFrom","LAYOUT_TYPES","Set","isConflictError","err","_e_message","e","status","exc_type","test","message","extractServerError","fallback","_server_messages","messages","JSON","parse","parsed","map","msg","_JSON_parse_message","unused","filter","Boolean","length","join","connection","doctype","meta","translate","_ref","isCreate","localDoc","setLocalDoc","useState","baseline","setBaseline","isSaving","setIsSaving","errors","setErrors","conflict","setConflict","wasDeleted","setWasDeleted","currentUser","setCurrentUser","everLoadedRef","useRef","seededRef","localDocRef","current","baselineRef","docCollection","useFrappeCollection","filters","data","rawDocData","isLoading","isDocLoading","useLiveQuery","q","_doc","where","param","eq","liveDoc","useMemo","_arr_","arr","Array","isArray","useEffect","cancelled","getLoggedUser","createHttpClient","then","user","catch","baseURL","defaults","buildCreateDefaults","fields","prefill","takeCreatePrefill","incoming","prevBaseline","local","merged","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","keys","Symbol","iterator","_step","next","done","isSameValue","return","dirtyFields","computeDirtyFields","isDirty","fetchMap","buildFetchMap","fetchStateRef","fetchMapRef","runFetchFrom","useCallback","field","_fetchMapRef_current","rules","currentMeta","currentConnection","linkField","find","f","fieldname","targetDoctype","options","applyPatch","applyPatch2","fetched","prev","patch","applyFetchedValues","fixtures","sources","rule","source","validateLink","String","setValue","validate","doc","__islocal","__session_user","validationErrors","isPromptNamed","autoname","naming_rule","isEmptyValue","defaultValue","hidden","has","fieldtype","evaluateDependsOn","depends_on","required","reqd","mandatory_depends_on","label","save","requiredErrors","_created_name","_baselineRef_current","base","changed","tx","update","draft","isPersisted","promise","_dt","newName","values","trim","created","insertDoc","general","submit","submitDoc","cancel","cancelDoc","remove","delete","reload","docstatus","Number","notFound"],"sources":["useFormEngine.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useFormEngine_exports = {};\n__export(useFormEngine_exports, {\n useFormEngine: () => useFormEngine\n});\nmodule.exports = __toCommonJS(useFormEngine_exports);\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_react = require(\"react\");\nvar import_formActions = require(\"./formActions\");\nvar import_formLayout = require(\"./formLayout\");\nvar import_createPrefill = require(\"./createPrefill\");\nvar import_dependsOn = require(\"./dependsOn\");\nvar import_dirtyTracking = require(\"./dirtyTracking\");\nvar import_fetchFrom = require(\"./fetchFrom\");\nvar LAYOUT_TYPES = /* @__PURE__ */ new Set([\n \"Section Break\",\n \"Column Break\",\n \"Tab Break\",\n \"Fold\"\n]);\nfunction isConflictError(err) {\n var _e_message;\n var e = err;\n if (!e) return false;\n if (e.status === 409) return true;\n if (e.exc_type === \"TimestampMismatchError\") return true;\n return /TimestampMismatch|has been modified/i.test((_e_message = e.message) !== null && _e_message !== void 0 ? _e_message : \"\");\n}\nfunction extractServerError(err, fallback) {\n var e = err;\n if (e === null || e === void 0 ? void 0 : e._server_messages) {\n try {\n var messages = JSON.parse(e._server_messages);\n var parsed = messages.map(function(msg) {\n try {\n var _JSON_parse_message;\n return (_JSON_parse_message = JSON.parse(msg).message) !== null && _JSON_parse_message !== void 0 ? _JSON_parse_message : \"\";\n } catch (unused) {\n return msg;\n }\n }).filter(Boolean);\n if (parsed.length > 0) return parsed.join(\"\\n\");\n } catch (unused) {\n }\n }\n return (e === null || e === void 0 ? void 0 : e.message) || fallback;\n}\nfunction useFormEngine(connection, doctype, name, meta, translate) {\n var _ref;\n var isCreate = !name;\n var [localDoc, setLocalDoc] = (0, import_react.useState)({});\n var [baseline, setBaseline] = (0, import_react.useState)(void 0);\n var [isSaving, setIsSaving] = (0, import_react.useState)(false);\n var [errors, setErrors] = (0, import_react.useState)({});\n var [conflict, setConflict] = (0, import_react.useState)(false);\n var [wasDeleted, setWasDeleted] = (0, import_react.useState)(false);\n var [currentUser, setCurrentUser] = (0, import_react.useState)(\"\");\n var everLoadedRef = (0, import_react.useRef)(false);\n var seededRef = (0, import_react.useRef)(false);\n var localDocRef = (0, import_react.useRef)(localDoc);\n localDocRef.current = localDoc;\n var baselineRef = (0, import_react.useRef)(baseline);\n baselineRef.current = baseline;\n var docCollection = (0, import_frappe.useFrappeCollection)(name ? connection : void 0, doctype, {\n filters: name ? {\n name\n } : void 0\n });\n var { data: rawDocData, isLoading: isDocLoading } = (0, import_frappe.useLiveQuery)(function(q) {\n if (!docCollection || !name) return null;\n return q.from({\n _doc: docCollection\n }).where(function(param) {\n var { _doc } = param;\n return (0, import_frappe.eq)(_doc.name, name);\n });\n }, [\n docCollection,\n name\n ]);\n var liveDoc = (0, import_react.useMemo)(function() {\n var _arr_;\n var arr = Array.isArray(rawDocData) ? rawDocData : rawDocData ? [\n rawDocData\n ] : [];\n return (_arr_ = arr[0]) !== null && _arr_ !== void 0 ? _arr_ : null;\n }, [\n rawDocData\n ]);\n (0, import_react.useEffect)(function() {\n if (!connection) return;\n var cancelled = false;\n (0, import_formActions.getLoggedUser)((0, import_formActions.createHttpClient)(connection)).then(function(user) {\n if (!cancelled) setCurrentUser(user);\n }).catch(function() {\n });\n return function() {\n cancelled = true;\n };\n }, [\n connection === null || connection === void 0 ? void 0 : connection.baseURL\n ]);\n (0, import_react.useEffect)(function() {\n everLoadedRef.current = false;\n seededRef.current = false;\n setWasDeleted(false);\n setConflict(false);\n setErrors({});\n setBaseline(void 0);\n setLocalDoc({});\n }, [\n doctype,\n name\n ]);\n (0, import_react.useEffect)(\n function() {\n if (!isCreate || !meta || seededRef.current) return;\n seededRef.current = true;\n var defaults = (0, import_formLayout.buildCreateDefaults)(meta.fields, currentUser || void 0);\n var prefill = (0, import_createPrefill.takeCreatePrefill)(doctype);\n setLocalDoc({\n ...defaults,\n ...prefill,\n doctype\n });\n },\n // currentUser intentionally not a dep: seeding happens once per mount;\n // a late-resolving user only matters for brand-new blank forms where\n // the meta usually arrives later anyway.\n [\n isCreate,\n meta,\n doctype\n ]\n );\n (0, import_react.useEffect)(function() {\n if (!name) return;\n if (liveDoc) {\n everLoadedRef.current = true;\n setWasDeleted(false);\n var incoming = liveDoc;\n var prevBaseline = baselineRef.current;\n if (!prevBaseline) {\n setBaseline(incoming);\n setLocalDoc(incoming);\n return;\n }\n var local = localDocRef.current;\n var merged = {\n ...incoming\n };\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.keys(local)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (!(0, import_dirtyTracking.isSameValue)(local[key], prevBaseline[key])) merged[key] = local[key];\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n setBaseline(incoming);\n setLocalDoc(merged);\n } else if (everLoadedRef.current && !isDocLoading) {\n setWasDeleted(true);\n }\n }, [\n liveDoc,\n isDocLoading,\n name\n ]);\n var dirtyFields = (0, import_react.useMemo)(function() {\n return (0, import_dirtyTracking.computeDirtyFields)(localDoc, baseline);\n }, [\n localDoc,\n baseline\n ]);\n var isDirty = dirtyFields.length > 0;\n var fetchMap = (0, import_react.useMemo)(function() {\n return meta ? (0, import_fetchFrom.buildFetchMap)(meta.fields) : void 0;\n }, [\n meta\n ]);\n var fetchStateRef = (0, import_react.useRef)({\n meta: void 0,\n connection: void 0\n });\n fetchStateRef.current = {\n meta,\n connection\n };\n var fetchMapRef = (0, import_react.useRef)(fetchMap);\n fetchMapRef.current = fetchMap;\n var runFetchFrom = (0, import_react.useCallback)(\n function(field, value) {\n var _fetchMapRef_current;\n var rules = (_fetchMapRef_current = fetchMapRef.current) === null || _fetchMapRef_current === void 0 ? void 0 : _fetchMapRef_current.get(field);\n if (!rules || rules.length === 0) return;\n var { meta: currentMeta, connection: currentConnection } = fetchStateRef.current;\n var linkField = currentMeta === null || currentMeta === void 0 ? void 0 : currentMeta.fields.find(function(f) {\n return f.fieldname === field;\n });\n var targetDoctype = typeof (linkField === null || linkField === void 0 ? void 0 : linkField.options) === \"string\" ? linkField.options : \"\";\n var applyPatch = function applyPatch2(fetched) {\n setLocalDoc(function(prev) {\n if (prev[field] !== value) return prev;\n var patch = (0, import_fetchFrom.applyFetchedValues)(rules, fetched, prev);\n return Object.keys(patch).length > 0 ? {\n ...prev,\n ...patch\n } : prev;\n });\n };\n if (value === void 0 || value === null || value === \"\") {\n applyPatch({});\n return;\n }\n if (!currentConnection || !targetDoctype || currentConnection.fixtures) return;\n var sources = Array.from(new Set(rules.map(function(rule) {\n return rule.source;\n })));\n (0, import_formActions.validateLink)((0, import_formActions.createHttpClient)(currentConnection), targetDoctype, String(value), sources).then(applyPatch).catch(function() {\n });\n },\n // Invalid link / no read perm on source — leave targets as-is;\n // the server re-validates on save.\n []\n );\n var setValue = (0, import_react.useCallback)(function(field, value) {\n setLocalDoc(function(prev) {\n return {\n ...prev,\n [field]: value\n };\n });\n setErrors(function(prev) {\n if (!(field in prev)) return prev;\n var next = {\n ...prev\n };\n delete next[field];\n return next;\n });\n runFetchFrom(field, value);\n }, [\n runFetchFrom\n ]);\n var validate = (0, import_react.useCallback)(function() {\n if (!meta) return {};\n var doc = {\n ...localDocRef.current,\n __islocal: isCreate ? 1 : 0,\n ...currentUser ? {\n __session_user: currentUser\n } : {}\n };\n var validationErrors = {};\n if (isCreate && (0, import_formLayout.isPromptNamed)(meta.autoname, meta.naming_rule) && (0, import_dirtyTracking.isEmptyValue)(doc.name)) {\n validationErrors.name = translate(\"nameRequired\", {\n defaultValue: \"Name is required\"\n });\n }\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = meta.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n if (field.hidden || LAYOUT_TYPES.has(field.fieldtype)) continue;\n if (!(0, import_dependsOn.evaluateDependsOn)(field.depends_on, doc, true)) continue;\n var required = !!field.reqd || !!field.mandatory_depends_on && (0, import_dependsOn.evaluateDependsOn)(field.mandatory_depends_on, doc, false);\n if (!required) continue;\n if ((0, import_dirtyTracking.isEmptyValue)(doc[field.fieldname])) {\n validationErrors[field.fieldname] = translate(\"fieldRequired\", {\n defaultValue: \"{{label}} is required\",\n label: field.label || field.fieldname\n });\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return validationErrors;\n }, [\n meta,\n isCreate,\n currentUser,\n translate\n ]);\n var save = (0, import_react.useCallback)(async function() {\n if (wasDeleted || !connection) return void 0;\n var requiredErrors = validate();\n if (Object.keys(requiredErrors).length > 0) {\n setErrors(requiredErrors);\n return void 0;\n }\n setIsSaving(true);\n setErrors({});\n try {\n var _created_name;\n if (name) {\n var _baselineRef_current;\n if (!docCollection) return void 0;\n var local = localDocRef.current;\n var base = (_baselineRef_current = baselineRef.current) !== null && _baselineRef_current !== void 0 ? _baselineRef_current : {};\n var changed = Object.keys(local).filter(function(key) {\n return key !== \"doctype\" && key !== \"name\" && !(0, import_dirtyTracking.isSameValue)(local[key], base[key]);\n });\n if (changed.length > 0) {\n var tx = docCollection.update(name, function(draft) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = changed[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n draft[key] = local[key];\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n });\n await tx.isPersisted.promise;\n }\n setConflict(false);\n return name;\n }\n var { doctype: _dt, name: newName, ...values } = localDocRef.current;\n if (typeof newName === \"string\" && newName.trim()) {\n values.name = newName.trim();\n }\n var created = await (0, import_formActions.insertDoc)((0, import_formActions.createHttpClient)(connection), doctype, values);\n return String((_created_name = created.name) !== null && _created_name !== void 0 ? _created_name : \"\");\n } catch (err) {\n if (isConflictError(err)) {\n setConflict(true);\n setErrors({\n general: translate(\"conflictError\", {\n defaultValue: \"This document was modified on the server after you opened it. Reload to get the latest version \\u2014 your unsaved edits will be discarded.\"\n })\n });\n } else {\n setErrors({\n general: extractServerError(err, translate(\"saveFailed\", {\n defaultValue: \"Failed to save\"\n }))\n });\n }\n return void 0;\n } finally {\n setIsSaving(false);\n }\n }, [\n wasDeleted,\n connection,\n validate,\n name,\n docCollection,\n doctype,\n translate\n ]);\n var submit = (0, import_react.useCallback)(async function() {\n if (!connection || !name) return false;\n setIsSaving(true);\n setErrors({});\n try {\n var base = baselineRef.current;\n if (!base) return false;\n await (0, import_formActions.submitDoc)((0, import_formActions.createHttpClient)(connection), {\n ...base,\n doctype\n });\n return true;\n } catch (err) {\n if (isConflictError(err)) setConflict(true);\n setErrors({\n general: extractServerError(err, translate(\"submitFailed\", {\n defaultValue: \"Failed to submit\"\n }))\n });\n return false;\n } finally {\n setIsSaving(false);\n }\n }, [\n connection,\n name,\n doctype,\n translate\n ]);\n var cancel = (0, import_react.useCallback)(async function() {\n if (!connection || !name) return false;\n setIsSaving(true);\n setErrors({});\n try {\n await (0, import_formActions.cancelDoc)((0, import_formActions.createHttpClient)(connection), doctype, name);\n return true;\n } catch (err) {\n setErrors({\n general: extractServerError(err, translate(\"cancelFailed\", {\n defaultValue: \"Failed to cancel\"\n }))\n });\n return false;\n } finally {\n setIsSaving(false);\n }\n }, [\n connection,\n name,\n doctype,\n translate\n ]);\n var remove = (0, import_react.useCallback)(async function() {\n if (!docCollection || !name || wasDeleted) return false;\n setIsSaving(true);\n setErrors({});\n try {\n var tx = docCollection.delete(name);\n await tx.isPersisted.promise;\n return true;\n } catch (err) {\n setErrors({\n general: extractServerError(err, translate(\"deleteFailed\", {\n defaultValue: \"Failed to delete\"\n }))\n });\n return false;\n } finally {\n setIsSaving(false);\n }\n }, [\n docCollection,\n name,\n wasDeleted,\n translate\n ]);\n var reload = (0, import_react.useCallback)(function() {\n setConflict(false);\n setErrors({});\n if (baselineRef.current) {\n setLocalDoc(baselineRef.current);\n } else if (!name) {\n seededRef.current = false;\n setLocalDoc({\n doctype\n });\n }\n }, [\n doctype,\n name\n ]);\n var docstatus = Number((_ref = baseline === null || baseline === void 0 ? void 0 : baseline.docstatus) !== null && _ref !== void 0 ? _ref : 0);\n return {\n doc: localDoc,\n baseline,\n isLoading: !!name && isDocLoading && !everLoadedRef.current,\n notFound: !!name && !isDocLoading && !liveDoc && !everLoadedRef.current,\n wasDeleted,\n isCreate,\n isDirty,\n dirtyFields,\n isSaving,\n errors,\n conflict,\n currentUser,\n docstatus,\n setValue,\n save,\n submit,\n cancel,\n remove,\n reload,\n validate\n };\n}\n//# sourceMappingURL=useFormEngine.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useFormEngine_exports","__export","useFormEngine","import_frappe_ui","module","exports"],"sources":["../../../src/form/useFormEngine.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,aAAA,EAAAA,CAAA,KAAAC,gBAAA,CAAAD;AAAA;AAMAE,MAAA,CAAAC,OAAA,GAAAV,YAA8B,CAAAK,qBAAA","ignoreList":[]}