@multiplatform.one/backoffice 7.6.3 → 7.7.1

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