@multiplatform.one/backoffice 7.28.0 → 7.29.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 (759) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/chrome/BackofficeAwesomebar.native.js +1 -1
  3. package/dist/cjs/chrome/BackofficeAwesomebar.native.js.map +1 -1
  4. package/dist/cjs/chrome/CommandPalette.native.js +1 -1
  5. package/dist/cjs/chrome/CommandPalette.native.js.map +1 -1
  6. package/dist/cjs/chrome/HelpMenu.native.js +1 -1
  7. package/dist/cjs/chrome/HelpMenu.native.js.map +1 -1
  8. package/dist/cjs/chrome/NotificationsButton.native.js +1 -1
  9. package/dist/cjs/chrome/NotificationsButton.native.js.map +1 -1
  10. package/dist/cjs/chrome/UserMenu.native.js +1 -1
  11. package/dist/cjs/chrome/UserMenu.native.js.map +1 -1
  12. package/dist/cjs/chrome/awesomebar-data.native.js.map +1 -1
  13. package/dist/cjs/chrome/command-palette-model.native.js +1 -1
  14. package/dist/cjs/chrome/command-palette-model.native.js.map +1 -1
  15. package/dist/cjs/chrome/help-about-dialog.native.js +1 -1
  16. package/dist/cjs/chrome/help-about-dialog.native.js.map +1 -1
  17. package/dist/cjs/chrome/help-shortcuts-dialog.native.js +1 -1
  18. package/dist/cjs/chrome/help-shortcuts-dialog.native.js.map +1 -1
  19. package/dist/cjs/chrome/notifications-data.native.js.map +1 -1
  20. package/dist/cjs/chrome/notifications-panel.native.js +1 -1
  21. package/dist/cjs/chrome/notifications-panel.native.js.map +1 -1
  22. package/dist/cjs/chrome/notifications-utils.native.js.map +1 -1
  23. package/dist/cjs/chrome/shortcuts.native.js.map +1 -1
  24. package/dist/cjs/chrome/user-session.native.js.map +1 -1
  25. package/dist/cjs/config/BackofficeProvider.native.js +1 -1
  26. package/dist/cjs/config/BackofficeProvider.native.js.map +1 -1
  27. package/dist/cjs/config/capabilities.native.js.map +1 -1
  28. package/dist/cjs/config/events.native.js.map +1 -1
  29. package/dist/cjs/config/slots.native.js.map +1 -1
  30. package/dist/cjs/desk/Desk.native.js.map +1 -1
  31. package/dist/cjs/desk/DeskSurface.native.js.map +1 -1
  32. package/dist/cjs/desk/resolveDeskPath.native.js.map +1 -1
  33. package/dist/cjs/desk/scope.native.js.map +1 -1
  34. package/dist/cjs/desk/target.native.js.map +1 -1
  35. package/dist/cjs/form/DocFormScreen.cjs +167 -224
  36. package/dist/cjs/form/DocFormScreen.native.js +183 -260
  37. package/dist/cjs/form/DocFormScreen.native.js.map +1 -1
  38. package/dist/cjs/form/FormConnections.native.js +1 -1
  39. package/dist/cjs/form/FormConnections.native.js.map +1 -1
  40. package/dist/cjs/form/FormDialogs.native.js +1 -1
  41. package/dist/cjs/form/FormDialogs.native.js.map +1 -1
  42. package/dist/cjs/form/FormErrorBoundary.native.js +1 -1
  43. package/dist/cjs/form/FormErrorBoundary.native.js.map +1 -1
  44. package/dist/cjs/form/FormHeaderCluster.native.js +1 -1
  45. package/dist/cjs/form/FormHeaderCluster.native.js.map +1 -1
  46. package/dist/cjs/form/FormSidebarPanel.native.js +1 -1
  47. package/dist/cjs/form/FormSidebarPanel.native.js.map +1 -1
  48. package/dist/cjs/form/FormTimeline.native.js +1 -1
  49. package/dist/cjs/form/FormTimeline.native.js.map +1 -1
  50. package/dist/cjs/form/FormToolbar.native.js +1 -1
  51. package/dist/cjs/form/FormToolbar.native.js.map +1 -1
  52. package/dist/cjs/form/connections-data.native.js.map +1 -1
  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.native.js.map +1 -1
  56. package/dist/cjs/form/docinfo.native.js.map +1 -1
  57. package/dist/cjs/form/fetchFrom.native.js.map +1 -1
  58. package/dist/cjs/form/fieldPermissions.native.js.map +1 -1
  59. package/dist/cjs/form/formActions.native.js.map +1 -1
  60. package/dist/cjs/form/formLayout.native.js.map +1 -1
  61. package/dist/cjs/form/platformHooks.native.js.map +1 -1
  62. package/dist/cjs/form/sidebar-attachments.native.js +1 -1
  63. package/dist/cjs/form/sidebar-attachments.native.js.map +1 -1
  64. package/dist/cjs/form/sidebar-dialogs.native.js +1 -1
  65. package/dist/cjs/form/sidebar-dialogs.native.js.map +1 -1
  66. package/dist/cjs/form/sidebar-people.native.js +1 -1
  67. package/dist/cjs/form/sidebar-people.native.js.map +1 -1
  68. package/dist/cjs/form/sidebar-rpc.native.js.map +1 -1
  69. package/dist/cjs/form/sidebar-utils.native.js.map +1 -1
  70. package/dist/cjs/form/timeline-entries.native.js.map +1 -1
  71. package/dist/cjs/form/timeline-utils.native.js.map +1 -1
  72. package/dist/cjs/form/useFormEngine.native.js.map +1 -1
  73. package/dist/cjs/i18n/en.cjs +1 -0
  74. package/dist/cjs/i18n/en.native.js +1 -0
  75. package/dist/cjs/i18n/en.native.js.map +1 -1
  76. package/dist/cjs/i18n/index.native.js.map +1 -1
  77. package/dist/cjs/index.native.js +1 -1
  78. package/dist/cjs/index.native.js.map +1 -1
  79. package/dist/cjs/list/AddTagsDialog.native.js +1 -1
  80. package/dist/cjs/list/AddTagsDialog.native.js.map +1 -1
  81. package/dist/cjs/list/AssignToDialog.native.js +1 -1
  82. package/dist/cjs/list/AssignToDialog.native.js.map +1 -1
  83. package/dist/cjs/list/DoctypeListScreen.native.js +1 -1
  84. package/dist/cjs/list/DoctypeListScreen.native.js.map +1 -1
  85. package/dist/cjs/list/ListBulkActionsBar.cjs +30 -18
  86. package/dist/cjs/list/ListBulkActionsBar.native.js +44 -32
  87. package/dist/cjs/list/ListBulkActionsBar.native.js.map +1 -1
  88. package/dist/cjs/list/ListFilterBar.native.js +1 -1
  89. package/dist/cjs/list/ListFilterBar.native.js.map +1 -1
  90. package/dist/cjs/list/ListSidebar.native.js +1 -1
  91. package/dist/cjs/list/ListSidebar.native.js.map +1 -1
  92. package/dist/cjs/list/bulk-edit-dialog.native.js +1 -1
  93. package/dist/cjs/list/bulk-edit-dialog.native.js.map +1 -1
  94. package/dist/cjs/list/bulk-export.native.js.map +1 -1
  95. package/dist/cjs/list/bulk-submit-cancel.native.js.map +1 -1
  96. package/dist/cjs/list/bulkActions.native.js.map +1 -1
  97. package/dist/cjs/list/filter-chips.native.js +1 -1
  98. package/dist/cjs/list/filter-chips.native.js.map +1 -1
  99. package/dist/cjs/list/filter-editor.native.js +1 -1
  100. package/dist/cjs/list/filter-editor.native.js.map +1 -1
  101. package/dist/cjs/list/filter-fields.native.js.map +1 -1
  102. package/dist/cjs/list/filter-saved.native.js +1 -1
  103. package/dist/cjs/list/filter-saved.native.js.map +1 -1
  104. package/dist/cjs/list/filter-sort.native.js +1 -1
  105. package/dist/cjs/list/filter-sort.native.js.map +1 -1
  106. package/dist/cjs/list/filter-standard.native.js.map +1 -1
  107. package/dist/cjs/list/filterConversion.native.js.map +1 -1
  108. package/dist/cjs/list/list-tools-sheet.native.js +1 -1
  109. package/dist/cjs/list/list-tools-sheet.native.js.map +1 -1
  110. package/dist/cjs/list/listColumns.native.js.map +1 -1
  111. package/dist/cjs/list/listFields.native.js.map +1 -1
  112. package/dist/cjs/list/listFormat.native.js.map +1 -1
  113. package/dist/cjs/list/listUrlState.native.js.map +1 -1
  114. package/dist/cjs/list/sidebar-section.cjs +15 -7
  115. package/dist/cjs/list/sidebar-section.native.js +17 -8
  116. package/dist/cjs/list/sidebar-section.native.js.map +1 -1
  117. package/dist/cjs/list/sidebar-stats.native.js.map +1 -1
  118. package/dist/cjs/list/statusColors.native.js.map +1 -1
  119. package/dist/cjs/navigation/navigator.native.js.map +1 -1
  120. package/dist/cjs/navigation/paths.native.js.map +1 -1
  121. package/dist/cjs/oneAdapter/index.native.js.map +1 -1
  122. package/dist/cjs/quickEntry/QuickEntryDialog.native.js +1 -1
  123. package/dist/cjs/quickEntry/QuickEntryDialog.native.js.map +1 -1
  124. package/dist/cjs/quickEntry/quickEntryPlan.native.js.map +1 -1
  125. package/dist/cjs/report/DoctypeReportView.cjs +20 -374
  126. package/dist/cjs/report/DoctypeReportView.native.js +23 -455
  127. package/dist/cjs/report/DoctypeReportView.native.js.map +1 -1
  128. package/dist/cjs/report/QueryReportScreen.cjs +33 -23
  129. package/dist/cjs/report/QueryReportScreen.native.js +34 -24
  130. package/dist/cjs/report/QueryReportScreen.native.js.map +1 -1
  131. package/dist/cjs/report/queryReportColumns.cjs +3 -105
  132. package/dist/cjs/report/queryReportColumns.native.js +2 -129
  133. package/dist/cjs/report/queryReportColumns.native.js.map +1 -1
  134. package/dist/cjs/report/queryReportFilterBar.cjs +3 -4
  135. package/dist/cjs/report/queryReportFilterBar.native.js +4 -5
  136. package/dist/cjs/report/queryReportFilterBar.native.js.map +1 -1
  137. package/dist/cjs/report/queryReportUrlState.cjs +2 -2
  138. package/dist/cjs/report/queryReportUrlState.native.js +2 -2
  139. package/dist/cjs/report/queryReportUrlState.native.js.map +1 -1
  140. package/dist/cjs/report/report-grid.cjs +2 -426
  141. package/dist/cjs/report/report-grid.native.js +1 -479
  142. package/dist/cjs/report/report-grid.native.js.map +1 -1
  143. package/dist/cjs/report/report-toolbar.cjs +2 -228
  144. package/dist/cjs/report/report-toolbar.native.js +1 -274
  145. package/dist/cjs/report/report-toolbar.native.js.map +1 -1
  146. package/dist/cjs/report/reportShapes.cjs +12 -383
  147. package/dist/cjs/report/reportShapes.native.js +12 -501
  148. package/dist/cjs/report/reportShapes.native.js.map +1 -1
  149. package/dist/cjs/report/reportViewModel.cjs +20 -360
  150. package/dist/cjs/report/reportViewModel.native.js +19 -627
  151. package/dist/cjs/report/reportViewModel.native.js.map +1 -1
  152. package/dist/cjs/report/savedReports.cjs +2 -106
  153. package/dist/cjs/report/savedReports.native.js +1 -132
  154. package/dist/cjs/report/savedReports.native.js.map +1 -1
  155. package/dist/cjs/report/useQueryReport.cjs +11 -219
  156. package/dist/cjs/report/useQueryReport.native.js +11 -244
  157. package/dist/cjs/report/useQueryReport.native.js.map +1 -1
  158. package/dist/cjs/shared/deskLinks.native.js.map +1 -1
  159. package/dist/cjs/shared/listNavContext.native.js.map +1 -1
  160. package/dist/cjs/shared/measures.cjs +3 -5
  161. package/dist/cjs/shared/measures.native.js +3 -5
  162. package/dist/cjs/shared/measures.native.js.map +1 -1
  163. package/dist/cjs/shared/types.native.js.map +1 -1
  164. package/dist/cjs/shared/useDocinfo.native.js.map +1 -1
  165. package/dist/cjs/shared/useDoctypeMeta.native.js.map +1 -1
  166. package/dist/cjs/shared/useFrappeApp.native.js.map +1 -1
  167. package/dist/cjs/shared/useRecentVisit.native.js.map +1 -1
  168. package/dist/cjs/shared/useSessionUserId.native.js.map +1 -1
  169. package/dist/cjs/shared/useSlugTarget.native.js.map +1 -1
  170. package/dist/cjs/shared/useUserRoles.native.js.map +1 -1
  171. package/dist/cjs/shell/BackofficeShell.native.js +1 -1
  172. package/dist/cjs/shell/BackofficeShell.native.js.map +1 -1
  173. package/dist/cjs/shell/HomeRedirect.native.js +1 -1
  174. package/dist/cjs/shell/HomeRedirect.native.js.map +1 -1
  175. package/dist/cjs/shell/NotFoundScreen.native.js +1 -1
  176. package/dist/cjs/shell/NotFoundScreen.native.js.map +1 -1
  177. package/dist/cjs/shell/SlugScreen.native.js +1 -1
  178. package/dist/cjs/shell/SlugScreen.native.js.map +1 -1
  179. package/dist/cjs/shell/WorkspaceSidebar.native.js +1 -1
  180. package/dist/cjs/shell/WorkspaceSidebar.native.js.map +1 -1
  181. package/dist/cjs/shell/useWorkspaces.native.js.map +1 -1
  182. package/dist/cjs/shell/workspaceIcons.native.js.map +1 -1
  183. package/dist/cjs/views/CalendarView.native.js +1 -1
  184. package/dist/cjs/views/CalendarView.native.js.map +1 -1
  185. package/dist/cjs/views/DashboardView.native.js +1 -1
  186. package/dist/cjs/views/DashboardView.native.js.map +1 -1
  187. package/dist/cjs/views/DoctypeViewScreen.native.js.map +1 -1
  188. package/dist/cjs/views/ImageView.native.js +1 -1
  189. package/dist/cjs/views/ImageView.native.js.map +1 -1
  190. package/dist/cjs/views/KanbanView.native.js +1 -1
  191. package/dist/cjs/views/KanbanView.native.js.map +1 -1
  192. package/dist/cjs/views/ReportView.cjs +3 -256
  193. package/dist/cjs/views/ReportView.native.js +3 -382
  194. package/dist/cjs/views/ReportView.native.js.map +1 -1
  195. package/dist/cjs/views/TreeView.native.js +1 -1
  196. package/dist/cjs/views/TreeView.native.js.map +1 -1
  197. package/dist/cjs/views/ViewHeader.native.js +1 -1
  198. package/dist/cjs/views/ViewHeader.native.js.map +1 -1
  199. package/dist/cjs/views/ViewStates.native.js +1 -1
  200. package/dist/cjs/views/ViewStates.native.js.map +1 -1
  201. package/dist/cjs/views/ViewSwitcherMenu.native.js +1 -1
  202. package/dist/cjs/views/ViewSwitcherMenu.native.js.map +1 -1
  203. package/dist/cjs/views/calendar-field-selector.native.js +1 -1
  204. package/dist/cjs/views/calendar-field-selector.native.js.map +1 -1
  205. package/dist/cjs/views/connection.native.js.map +1 -1
  206. package/dist/cjs/views/dashboard-data.native.js.map +1 -1
  207. package/dist/cjs/views/deskViewConfigs.native.js.map +1 -1
  208. package/dist/cjs/views/kanban-board-controls.native.js +1 -1
  209. package/dist/cjs/views/kanban-board-controls.native.js.map +1 -1
  210. package/dist/cjs/views/kanban-field-picker.native.js +1 -1
  211. package/dist/cjs/views/kanban-field-picker.native.js.map +1 -1
  212. package/dist/cjs/views/kanbanBoardOps.native.js.map +1 -1
  213. package/dist/cjs/views/report-controls.cjs +6 -6
  214. package/dist/cjs/views/report-controls.native.js +7 -7
  215. package/dist/cjs/views/report-controls.native.js.map +1 -1
  216. package/dist/cjs/views/viewAvailability.native.js.map +1 -1
  217. package/dist/cjs/views/viewMeta.native.js.map +1 -1
  218. package/dist/cjs/workspace/WorkspaceChartBlock.native.js +1 -1
  219. package/dist/cjs/workspace/WorkspaceChartBlock.native.js.map +1 -1
  220. package/dist/cjs/workspace/WorkspaceGrid.native.js.map +1 -1
  221. package/dist/cjs/workspace/WorkspaceLinkCard.native.js +1 -1
  222. package/dist/cjs/workspace/WorkspaceLinkCard.native.js.map +1 -1
  223. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js +1 -1
  224. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  225. package/dist/cjs/workspace/WorkspaceNumberCard.native.js +1 -1
  226. package/dist/cjs/workspace/WorkspaceNumberCard.native.js.map +1 -1
  227. package/dist/cjs/workspace/WorkspaceQuickList.native.js +1 -1
  228. package/dist/cjs/workspace/WorkspaceQuickList.native.js.map +1 -1
  229. package/dist/cjs/workspace/WorkspaceRecents.native.js +1 -1
  230. package/dist/cjs/workspace/WorkspaceRecents.native.js.map +1 -1
  231. package/dist/cjs/workspace/WorkspaceScreen.native.js +1 -1
  232. package/dist/cjs/workspace/WorkspaceScreen.native.js.map +1 -1
  233. package/dist/cjs/workspace/WorkspaceShortcut.native.js +1 -1
  234. package/dist/cjs/workspace/WorkspaceShortcut.native.js.map +1 -1
  235. package/dist/cjs/workspace/parseContent.native.js.map +1 -1
  236. package/dist/cjs/workspace/types.native.js.map +1 -1
  237. package/dist/cjs/workspace/useDashboardChart.native.js.map +1 -1
  238. package/dist/cjs/workspace/useWorkspaceDoc.native.js.map +1 -1
  239. package/dist/esm/chrome/BackofficeAwesomebar.native.js.map +1 -1
  240. package/dist/esm/chrome/CommandPalette.native.js.map +1 -1
  241. package/dist/esm/chrome/HelpMenu.native.js.map +1 -1
  242. package/dist/esm/chrome/NotificationsButton.native.js.map +1 -1
  243. package/dist/esm/chrome/UserMenu.native.js.map +1 -1
  244. package/dist/esm/chrome/awesomebar-data.native.js.map +1 -1
  245. package/dist/esm/chrome/command-palette-model.native.js.map +1 -1
  246. package/dist/esm/chrome/help-about-dialog.native.js.map +1 -1
  247. package/dist/esm/chrome/help-shortcuts-dialog.native.js.map +1 -1
  248. package/dist/esm/chrome/notifications-data.native.js.map +1 -1
  249. package/dist/esm/chrome/notifications-panel.native.js.map +1 -1
  250. package/dist/esm/chrome/notifications-utils.native.js.map +1 -1
  251. package/dist/esm/chrome/shortcuts.native.js.map +1 -1
  252. package/dist/esm/chrome/user-session.native.js.map +1 -1
  253. package/dist/esm/config/BackofficeProvider.native.js.map +1 -1
  254. package/dist/esm/config/capabilities.native.js.map +1 -1
  255. package/dist/esm/config/events.native.js.map +1 -1
  256. package/dist/esm/config/slots.native.js.map +1 -1
  257. package/dist/esm/desk/Desk.native.js.map +1 -1
  258. package/dist/esm/desk/DeskSurface.mjs.map +1 -1
  259. package/dist/esm/desk/DeskSurface.native.js.map +1 -1
  260. package/dist/esm/desk/resolveDeskPath.native.js.map +1 -1
  261. package/dist/esm/desk/scope.native.js.map +1 -1
  262. package/dist/esm/desk/target.native.js.map +1 -1
  263. package/dist/esm/form/DocFormScreen.mjs +169 -226
  264. package/dist/esm/form/DocFormScreen.mjs.map +1 -1
  265. package/dist/esm/form/DocFormScreen.native.js +184 -261
  266. package/dist/esm/form/DocFormScreen.native.js.map +1 -1
  267. package/dist/esm/form/FormConnections.native.js.map +1 -1
  268. package/dist/esm/form/FormDialogs.native.js.map +1 -1
  269. package/dist/esm/form/FormErrorBoundary.native.js.map +1 -1
  270. package/dist/esm/form/FormHeaderCluster.native.js.map +1 -1
  271. package/dist/esm/form/FormSidebarPanel.native.js.map +1 -1
  272. package/dist/esm/form/FormTimeline.native.js.map +1 -1
  273. package/dist/esm/form/FormToolbar.native.js.map +1 -1
  274. package/dist/esm/form/connections-data.native.js.map +1 -1
  275. package/dist/esm/form/createPrefill.native.js.map +1 -1
  276. package/dist/esm/form/dependsOn.native.js.map +1 -1
  277. package/dist/esm/form/dirtyTracking.native.js.map +1 -1
  278. package/dist/esm/form/docinfo.native.js.map +1 -1
  279. package/dist/esm/form/fetchFrom.native.js.map +1 -1
  280. package/dist/esm/form/fieldPermissions.native.js.map +1 -1
  281. package/dist/esm/form/formActions.native.js.map +1 -1
  282. package/dist/esm/form/formLayout.native.js.map +1 -1
  283. package/dist/esm/form/platformHooks.native.js.map +1 -1
  284. package/dist/esm/form/sidebar-attachments.native.js.map +1 -1
  285. package/dist/esm/form/sidebar-dialogs.native.js.map +1 -1
  286. package/dist/esm/form/sidebar-people.native.js.map +1 -1
  287. package/dist/esm/form/sidebar-rpc.native.js.map +1 -1
  288. package/dist/esm/form/sidebar-utils.native.js.map +1 -1
  289. package/dist/esm/form/timeline-entries.native.js.map +1 -1
  290. package/dist/esm/form/timeline-utils.native.js.map +1 -1
  291. package/dist/esm/form/useFormEngine.native.js.map +1 -1
  292. package/dist/esm/i18n/en.mjs +1 -0
  293. package/dist/esm/i18n/en.mjs.map +1 -1
  294. package/dist/esm/i18n/en.native.js +1 -0
  295. package/dist/esm/i18n/en.native.js.map +1 -1
  296. package/dist/esm/i18n/index.native.js.map +1 -1
  297. package/dist/esm/index.native.js.map +1 -1
  298. package/dist/esm/list/AddTagsDialog.native.js.map +1 -1
  299. package/dist/esm/list/AssignToDialog.native.js.map +1 -1
  300. package/dist/esm/list/DoctypeListScreen.native.js.map +1 -1
  301. package/dist/esm/list/ListBulkActionsBar.mjs +31 -19
  302. package/dist/esm/list/ListBulkActionsBar.mjs.map +1 -1
  303. package/dist/esm/list/ListBulkActionsBar.native.js +37 -25
  304. package/dist/esm/list/ListBulkActionsBar.native.js.map +1 -1
  305. package/dist/esm/list/ListFilterBar.native.js.map +1 -1
  306. package/dist/esm/list/ListSidebar.native.js.map +1 -1
  307. package/dist/esm/list/bulk-edit-dialog.native.js.map +1 -1
  308. package/dist/esm/list/bulk-export.native.js.map +1 -1
  309. package/dist/esm/list/bulk-submit-cancel.native.js.map +1 -1
  310. package/dist/esm/list/bulkActions.native.js.map +1 -1
  311. package/dist/esm/list/filter-chips.native.js.map +1 -1
  312. package/dist/esm/list/filter-editor.native.js.map +1 -1
  313. package/dist/esm/list/filter-fields.native.js.map +1 -1
  314. package/dist/esm/list/filter-saved.native.js.map +1 -1
  315. package/dist/esm/list/filter-sort.native.js.map +1 -1
  316. package/dist/esm/list/filter-standard.native.js.map +1 -1
  317. package/dist/esm/list/filterConversion.native.js.map +1 -1
  318. package/dist/esm/list/list-tools-sheet.native.js.map +1 -1
  319. package/dist/esm/list/listColumns.native.js.map +1 -1
  320. package/dist/esm/list/listFields.native.js.map +1 -1
  321. package/dist/esm/list/listFormat.native.js.map +1 -1
  322. package/dist/esm/list/listUrlState.native.js.map +1 -1
  323. package/dist/esm/list/sidebar-section.mjs +16 -8
  324. package/dist/esm/list/sidebar-section.mjs.map +1 -1
  325. package/dist/esm/list/sidebar-section.native.js +17 -8
  326. package/dist/esm/list/sidebar-section.native.js.map +1 -1
  327. package/dist/esm/list/sidebar-stats.native.js.map +1 -1
  328. package/dist/esm/list/statusColors.native.js.map +1 -1
  329. package/dist/esm/navigation/navigator.native.js.map +1 -1
  330. package/dist/esm/navigation/paths.native.js.map +1 -1
  331. package/dist/esm/oneAdapter/index.native.js.map +1 -1
  332. package/dist/esm/quickEntry/QuickEntryDialog.native.js.map +1 -1
  333. package/dist/esm/quickEntry/quickEntryPlan.native.js.map +1 -1
  334. package/dist/esm/report/DoctypeReportView.mjs +21 -375
  335. package/dist/esm/report/DoctypeReportView.mjs.map +1 -1
  336. package/dist/esm/report/DoctypeReportView.native.js +24 -456
  337. package/dist/esm/report/DoctypeReportView.native.js.map +1 -1
  338. package/dist/esm/report/QueryReportScreen.mjs +26 -16
  339. package/dist/esm/report/QueryReportScreen.mjs.map +1 -1
  340. package/dist/esm/report/QueryReportScreen.native.js +26 -16
  341. package/dist/esm/report/QueryReportScreen.native.js.map +1 -1
  342. package/dist/esm/report/queryReportColumns.mjs +1 -103
  343. package/dist/esm/report/queryReportColumns.mjs.map +1 -1
  344. package/dist/esm/report/queryReportColumns.native.js +1 -117
  345. package/dist/esm/report/queryReportColumns.native.js.map +1 -1
  346. package/dist/esm/report/queryReportFilterBar.mjs +1 -2
  347. package/dist/esm/report/queryReportFilterBar.mjs.map +1 -1
  348. package/dist/esm/report/queryReportFilterBar.native.js +1 -2
  349. package/dist/esm/report/queryReportFilterBar.native.js.map +1 -1
  350. package/dist/esm/report/queryReportUrlState.mjs +1 -1
  351. package/dist/esm/report/queryReportUrlState.native.js +1 -1
  352. package/dist/esm/report/queryReportUrlState.native.js.map +1 -1
  353. package/dist/esm/report/report-grid.mjs +1 -425
  354. package/dist/esm/report/report-grid.mjs.map +1 -1
  355. package/dist/esm/report/report-grid.native.js +1 -468
  356. package/dist/esm/report/report-grid.native.js.map +1 -1
  357. package/dist/esm/report/report-toolbar.mjs +2 -228
  358. package/dist/esm/report/report-toolbar.mjs.map +1 -1
  359. package/dist/esm/report/report-toolbar.native.js +2 -264
  360. package/dist/esm/report/report-toolbar.native.js.map +1 -1
  361. package/dist/esm/report/reportShapes.mjs +2 -373
  362. package/dist/esm/report/reportShapes.mjs.map +1 -1
  363. package/dist/esm/report/reportShapes.native.js +2 -491
  364. package/dist/esm/report/reportShapes.native.js.map +1 -1
  365. package/dist/esm/report/reportViewModel.mjs +2 -342
  366. package/dist/esm/report/reportViewModel.mjs.map +1 -1
  367. package/dist/esm/report/reportViewModel.native.js +2 -610
  368. package/dist/esm/report/reportViewModel.native.js.map +1 -1
  369. package/dist/esm/report/savedReports.mjs +1 -105
  370. package/dist/esm/report/savedReports.mjs.map +1 -1
  371. package/dist/esm/report/savedReports.native.js +1 -132
  372. package/dist/esm/report/savedReports.native.js.map +1 -1
  373. package/dist/esm/report/useQueryReport.mjs +2 -210
  374. package/dist/esm/report/useQueryReport.mjs.map +1 -1
  375. package/dist/esm/report/useQueryReport.native.js +2 -235
  376. package/dist/esm/report/useQueryReport.native.js.map +1 -1
  377. package/dist/esm/shared/deskLinks.native.js.map +1 -1
  378. package/dist/esm/shared/listNavContext.native.js.map +1 -1
  379. package/dist/esm/shared/measures.mjs +1 -3
  380. package/dist/esm/shared/measures.mjs.map +1 -1
  381. package/dist/esm/shared/measures.native.js +1 -3
  382. package/dist/esm/shared/measures.native.js.map +1 -1
  383. package/dist/esm/shared/types.native.js.map +1 -1
  384. package/dist/esm/shared/useDocinfo.native.js.map +1 -1
  385. package/dist/esm/shared/useDoctypeMeta.native.js.map +1 -1
  386. package/dist/esm/shared/useFrappeApp.native.js.map +1 -1
  387. package/dist/esm/shared/useRecentVisit.native.js.map +1 -1
  388. package/dist/esm/shared/useSessionUserId.native.js.map +1 -1
  389. package/dist/esm/shared/useSlugTarget.native.js.map +1 -1
  390. package/dist/esm/shared/useUserRoles.native.js.map +1 -1
  391. package/dist/esm/shell/BackofficeShell.native.js.map +1 -1
  392. package/dist/esm/shell/HomeRedirect.native.js.map +1 -1
  393. package/dist/esm/shell/NotFoundScreen.native.js.map +1 -1
  394. package/dist/esm/shell/SlugScreen.native.js.map +1 -1
  395. package/dist/esm/shell/WorkspaceSidebar.native.js.map +1 -1
  396. package/dist/esm/shell/useWorkspaces.native.js.map +1 -1
  397. package/dist/esm/shell/workspaceIcons.native.js.map +1 -1
  398. package/dist/esm/views/CalendarView.native.js.map +1 -1
  399. package/dist/esm/views/DashboardView.native.js.map +1 -1
  400. package/dist/esm/views/DoctypeViewScreen.native.js.map +1 -1
  401. package/dist/esm/views/ImageView.native.js.map +1 -1
  402. package/dist/esm/views/KanbanView.native.js.map +1 -1
  403. package/dist/esm/views/ReportView.mjs +3 -256
  404. package/dist/esm/views/ReportView.mjs.map +1 -1
  405. package/dist/esm/views/ReportView.native.js +3 -382
  406. package/dist/esm/views/ReportView.native.js.map +1 -1
  407. package/dist/esm/views/TreeView.native.js.map +1 -1
  408. package/dist/esm/views/ViewHeader.native.js.map +1 -1
  409. package/dist/esm/views/ViewStates.native.js.map +1 -1
  410. package/dist/esm/views/ViewSwitcherMenu.native.js.map +1 -1
  411. package/dist/esm/views/calendar-field-selector.native.js.map +1 -1
  412. package/dist/esm/views/connection.native.js.map +1 -1
  413. package/dist/esm/views/dashboard-data.native.js.map +1 -1
  414. package/dist/esm/views/deskViewConfigs.native.js.map +1 -1
  415. package/dist/esm/views/kanban-board-controls.native.js.map +1 -1
  416. package/dist/esm/views/kanban-field-picker.native.js.map +1 -1
  417. package/dist/esm/views/kanbanBoardOps.native.js.map +1 -1
  418. package/dist/esm/views/report-controls.mjs +3 -3
  419. package/dist/esm/views/report-controls.mjs.map +1 -1
  420. package/dist/esm/views/report-controls.native.js +3 -3
  421. package/dist/esm/views/report-controls.native.js.map +1 -1
  422. package/dist/esm/views/viewAvailability.native.js.map +1 -1
  423. package/dist/esm/views/viewMeta.native.js.map +1 -1
  424. package/dist/esm/workspace/WorkspaceChartBlock.native.js.map +1 -1
  425. package/dist/esm/workspace/WorkspaceGrid.native.js.map +1 -1
  426. package/dist/esm/workspace/WorkspaceLinkCard.native.js.map +1 -1
  427. package/dist/esm/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  428. package/dist/esm/workspace/WorkspaceNumberCard.native.js.map +1 -1
  429. package/dist/esm/workspace/WorkspaceQuickList.native.js.map +1 -1
  430. package/dist/esm/workspace/WorkspaceRecents.native.js.map +1 -1
  431. package/dist/esm/workspace/WorkspaceScreen.native.js.map +1 -1
  432. package/dist/esm/workspace/WorkspaceShortcut.native.js.map +1 -1
  433. package/dist/esm/workspace/parseContent.native.js.map +1 -1
  434. package/dist/esm/workspace/types.native.js.map +1 -1
  435. package/dist/esm/workspace/useDashboardChart.native.js.map +1 -1
  436. package/dist/esm/workspace/useWorkspaceDoc.native.js.map +1 -1
  437. package/dist/jsx/chrome/BackofficeAwesomebar.native.js +1 -1
  438. package/dist/jsx/chrome/BackofficeAwesomebar.native.js.map +1 -1
  439. package/dist/jsx/chrome/CommandPalette.native.js +1 -1
  440. package/dist/jsx/chrome/CommandPalette.native.js.map +1 -1
  441. package/dist/jsx/chrome/HelpMenu.native.js +1 -1
  442. package/dist/jsx/chrome/HelpMenu.native.js.map +1 -1
  443. package/dist/jsx/chrome/NotificationsButton.native.js +1 -1
  444. package/dist/jsx/chrome/NotificationsButton.native.js.map +1 -1
  445. package/dist/jsx/chrome/UserMenu.native.js +1 -1
  446. package/dist/jsx/chrome/UserMenu.native.js.map +1 -1
  447. package/dist/jsx/chrome/awesomebar-data.native.js.map +1 -1
  448. package/dist/jsx/chrome/command-palette-model.native.js +1 -1
  449. package/dist/jsx/chrome/command-palette-model.native.js.map +1 -1
  450. package/dist/jsx/chrome/help-about-dialog.native.js +1 -1
  451. package/dist/jsx/chrome/help-about-dialog.native.js.map +1 -1
  452. package/dist/jsx/chrome/help-shortcuts-dialog.native.js +1 -1
  453. package/dist/jsx/chrome/help-shortcuts-dialog.native.js.map +1 -1
  454. package/dist/jsx/chrome/notifications-data.native.js.map +1 -1
  455. package/dist/jsx/chrome/notifications-panel.native.js +1 -1
  456. package/dist/jsx/chrome/notifications-panel.native.js.map +1 -1
  457. package/dist/jsx/chrome/notifications-utils.native.js.map +1 -1
  458. package/dist/jsx/chrome/shortcuts.native.js.map +1 -1
  459. package/dist/jsx/chrome/user-session.native.js.map +1 -1
  460. package/dist/jsx/config/BackofficeProvider.native.js +1 -1
  461. package/dist/jsx/config/BackofficeProvider.native.js.map +1 -1
  462. package/dist/jsx/config/capabilities.native.js.map +1 -1
  463. package/dist/jsx/config/events.native.js.map +1 -1
  464. package/dist/jsx/config/slots.native.js.map +1 -1
  465. package/dist/jsx/desk/Desk.native.js.map +1 -1
  466. package/dist/jsx/desk/DeskSurface.mjs.map +1 -1
  467. package/dist/jsx/desk/DeskSurface.native.js.map +1 -1
  468. package/dist/jsx/desk/resolveDeskPath.native.js.map +1 -1
  469. package/dist/jsx/desk/scope.native.js.map +1 -1
  470. package/dist/jsx/desk/target.native.js.map +1 -1
  471. package/dist/jsx/form/DocFormScreen.mjs +169 -226
  472. package/dist/jsx/form/DocFormScreen.mjs.map +1 -1
  473. package/dist/jsx/form/DocFormScreen.native.js +183 -260
  474. package/dist/jsx/form/DocFormScreen.native.js.map +1 -1
  475. package/dist/jsx/form/FormConnections.native.js +1 -1
  476. package/dist/jsx/form/FormConnections.native.js.map +1 -1
  477. package/dist/jsx/form/FormDialogs.native.js +1 -1
  478. package/dist/jsx/form/FormDialogs.native.js.map +1 -1
  479. package/dist/jsx/form/FormErrorBoundary.native.js +1 -1
  480. package/dist/jsx/form/FormErrorBoundary.native.js.map +1 -1
  481. package/dist/jsx/form/FormHeaderCluster.native.js +1 -1
  482. package/dist/jsx/form/FormHeaderCluster.native.js.map +1 -1
  483. package/dist/jsx/form/FormSidebarPanel.native.js +1 -1
  484. package/dist/jsx/form/FormSidebarPanel.native.js.map +1 -1
  485. package/dist/jsx/form/FormTimeline.native.js +1 -1
  486. package/dist/jsx/form/FormTimeline.native.js.map +1 -1
  487. package/dist/jsx/form/FormToolbar.native.js +1 -1
  488. package/dist/jsx/form/FormToolbar.native.js.map +1 -1
  489. package/dist/jsx/form/connections-data.native.js.map +1 -1
  490. package/dist/jsx/form/createPrefill.native.js.map +1 -1
  491. package/dist/jsx/form/dependsOn.native.js.map +1 -1
  492. package/dist/jsx/form/dirtyTracking.native.js.map +1 -1
  493. package/dist/jsx/form/docinfo.native.js.map +1 -1
  494. package/dist/jsx/form/fetchFrom.native.js.map +1 -1
  495. package/dist/jsx/form/fieldPermissions.native.js.map +1 -1
  496. package/dist/jsx/form/formActions.native.js.map +1 -1
  497. package/dist/jsx/form/formLayout.native.js.map +1 -1
  498. package/dist/jsx/form/platformHooks.native.js.map +1 -1
  499. package/dist/jsx/form/sidebar-attachments.native.js +1 -1
  500. package/dist/jsx/form/sidebar-attachments.native.js.map +1 -1
  501. package/dist/jsx/form/sidebar-dialogs.native.js +1 -1
  502. package/dist/jsx/form/sidebar-dialogs.native.js.map +1 -1
  503. package/dist/jsx/form/sidebar-people.native.js +1 -1
  504. package/dist/jsx/form/sidebar-people.native.js.map +1 -1
  505. package/dist/jsx/form/sidebar-rpc.native.js.map +1 -1
  506. package/dist/jsx/form/sidebar-utils.native.js.map +1 -1
  507. package/dist/jsx/form/timeline-entries.native.js.map +1 -1
  508. package/dist/jsx/form/timeline-utils.native.js.map +1 -1
  509. package/dist/jsx/form/useFormEngine.native.js.map +1 -1
  510. package/dist/jsx/i18n/en.mjs +1 -0
  511. package/dist/jsx/i18n/en.mjs.map +1 -1
  512. package/dist/jsx/i18n/en.native.js +1 -0
  513. package/dist/jsx/i18n/en.native.js.map +1 -1
  514. package/dist/jsx/i18n/index.native.js.map +1 -1
  515. package/dist/jsx/index.native.js +1 -1
  516. package/dist/jsx/index.native.js.map +1 -1
  517. package/dist/jsx/list/AddTagsDialog.native.js +1 -1
  518. package/dist/jsx/list/AddTagsDialog.native.js.map +1 -1
  519. package/dist/jsx/list/AssignToDialog.native.js +1 -1
  520. package/dist/jsx/list/AssignToDialog.native.js.map +1 -1
  521. package/dist/jsx/list/DoctypeListScreen.native.js +1 -1
  522. package/dist/jsx/list/DoctypeListScreen.native.js.map +1 -1
  523. package/dist/jsx/list/ListBulkActionsBar.mjs +31 -19
  524. package/dist/jsx/list/ListBulkActionsBar.mjs.map +1 -1
  525. package/dist/jsx/list/ListBulkActionsBar.native.js +44 -32
  526. package/dist/jsx/list/ListBulkActionsBar.native.js.map +1 -1
  527. package/dist/jsx/list/ListFilterBar.native.js +1 -1
  528. package/dist/jsx/list/ListFilterBar.native.js.map +1 -1
  529. package/dist/jsx/list/ListSidebar.native.js +1 -1
  530. package/dist/jsx/list/ListSidebar.native.js.map +1 -1
  531. package/dist/jsx/list/bulk-edit-dialog.native.js +1 -1
  532. package/dist/jsx/list/bulk-edit-dialog.native.js.map +1 -1
  533. package/dist/jsx/list/bulk-export.native.js.map +1 -1
  534. package/dist/jsx/list/bulk-submit-cancel.native.js.map +1 -1
  535. package/dist/jsx/list/bulkActions.native.js.map +1 -1
  536. package/dist/jsx/list/filter-chips.native.js +1 -1
  537. package/dist/jsx/list/filter-chips.native.js.map +1 -1
  538. package/dist/jsx/list/filter-editor.native.js +1 -1
  539. package/dist/jsx/list/filter-editor.native.js.map +1 -1
  540. package/dist/jsx/list/filter-fields.native.js.map +1 -1
  541. package/dist/jsx/list/filter-saved.native.js +1 -1
  542. package/dist/jsx/list/filter-saved.native.js.map +1 -1
  543. package/dist/jsx/list/filter-sort.native.js +1 -1
  544. package/dist/jsx/list/filter-sort.native.js.map +1 -1
  545. package/dist/jsx/list/filter-standard.native.js.map +1 -1
  546. package/dist/jsx/list/filterConversion.native.js.map +1 -1
  547. package/dist/jsx/list/list-tools-sheet.native.js +1 -1
  548. package/dist/jsx/list/list-tools-sheet.native.js.map +1 -1
  549. package/dist/jsx/list/listColumns.native.js.map +1 -1
  550. package/dist/jsx/list/listFields.native.js.map +1 -1
  551. package/dist/jsx/list/listFormat.native.js.map +1 -1
  552. package/dist/jsx/list/listUrlState.native.js.map +1 -1
  553. package/dist/jsx/list/sidebar-section.mjs +16 -8
  554. package/dist/jsx/list/sidebar-section.mjs.map +1 -1
  555. package/dist/jsx/list/sidebar-section.native.js +17 -8
  556. package/dist/jsx/list/sidebar-section.native.js.map +1 -1
  557. package/dist/jsx/list/sidebar-stats.native.js.map +1 -1
  558. package/dist/jsx/list/statusColors.native.js.map +1 -1
  559. package/dist/jsx/navigation/navigator.native.js.map +1 -1
  560. package/dist/jsx/navigation/paths.native.js.map +1 -1
  561. package/dist/jsx/oneAdapter/index.native.js.map +1 -1
  562. package/dist/jsx/quickEntry/QuickEntryDialog.native.js +1 -1
  563. package/dist/jsx/quickEntry/QuickEntryDialog.native.js.map +1 -1
  564. package/dist/jsx/quickEntry/quickEntryPlan.native.js.map +1 -1
  565. package/dist/jsx/report/DoctypeReportView.mjs +21 -375
  566. package/dist/jsx/report/DoctypeReportView.mjs.map +1 -1
  567. package/dist/jsx/report/DoctypeReportView.native.js +23 -455
  568. package/dist/jsx/report/DoctypeReportView.native.js.map +1 -1
  569. package/dist/jsx/report/QueryReportScreen.mjs +26 -16
  570. package/dist/jsx/report/QueryReportScreen.mjs.map +1 -1
  571. package/dist/jsx/report/QueryReportScreen.native.js +34 -24
  572. package/dist/jsx/report/QueryReportScreen.native.js.map +1 -1
  573. package/dist/jsx/report/queryReportColumns.mjs +1 -103
  574. package/dist/jsx/report/queryReportColumns.mjs.map +1 -1
  575. package/dist/jsx/report/queryReportColumns.native.js +2 -129
  576. package/dist/jsx/report/queryReportColumns.native.js.map +1 -1
  577. package/dist/jsx/report/queryReportFilterBar.mjs +1 -2
  578. package/dist/jsx/report/queryReportFilterBar.mjs.map +1 -1
  579. package/dist/jsx/report/queryReportFilterBar.native.js +4 -5
  580. package/dist/jsx/report/queryReportFilterBar.native.js.map +1 -1
  581. package/dist/jsx/report/queryReportUrlState.mjs +1 -1
  582. package/dist/jsx/report/queryReportUrlState.native.js +2 -2
  583. package/dist/jsx/report/queryReportUrlState.native.js.map +1 -1
  584. package/dist/jsx/report/report-grid.mjs +1 -425
  585. package/dist/jsx/report/report-grid.mjs.map +1 -1
  586. package/dist/jsx/report/report-grid.native.js +1 -479
  587. package/dist/jsx/report/report-grid.native.js.map +1 -1
  588. package/dist/jsx/report/report-toolbar.mjs +2 -228
  589. package/dist/jsx/report/report-toolbar.mjs.map +1 -1
  590. package/dist/jsx/report/report-toolbar.native.js +1 -274
  591. package/dist/jsx/report/report-toolbar.native.js.map +1 -1
  592. package/dist/jsx/report/reportShapes.mjs +2 -373
  593. package/dist/jsx/report/reportShapes.mjs.map +1 -1
  594. package/dist/jsx/report/reportShapes.native.js +12 -501
  595. package/dist/jsx/report/reportShapes.native.js.map +1 -1
  596. package/dist/jsx/report/reportViewModel.mjs +2 -342
  597. package/dist/jsx/report/reportViewModel.mjs.map +1 -1
  598. package/dist/jsx/report/reportViewModel.native.js +19 -627
  599. package/dist/jsx/report/reportViewModel.native.js.map +1 -1
  600. package/dist/jsx/report/savedReports.mjs +1 -105
  601. package/dist/jsx/report/savedReports.mjs.map +1 -1
  602. package/dist/jsx/report/savedReports.native.js +1 -132
  603. package/dist/jsx/report/savedReports.native.js.map +1 -1
  604. package/dist/jsx/report/useQueryReport.mjs +2 -210
  605. package/dist/jsx/report/useQueryReport.mjs.map +1 -1
  606. package/dist/jsx/report/useQueryReport.native.js +11 -244
  607. package/dist/jsx/report/useQueryReport.native.js.map +1 -1
  608. package/dist/jsx/shared/deskLinks.native.js.map +1 -1
  609. package/dist/jsx/shared/listNavContext.native.js.map +1 -1
  610. package/dist/jsx/shared/measures.mjs +1 -3
  611. package/dist/jsx/shared/measures.mjs.map +1 -1
  612. package/dist/jsx/shared/measures.native.js +3 -5
  613. package/dist/jsx/shared/measures.native.js.map +1 -1
  614. package/dist/jsx/shared/types.native.js.map +1 -1
  615. package/dist/jsx/shared/useDocinfo.native.js.map +1 -1
  616. package/dist/jsx/shared/useDoctypeMeta.native.js.map +1 -1
  617. package/dist/jsx/shared/useFrappeApp.native.js.map +1 -1
  618. package/dist/jsx/shared/useRecentVisit.native.js.map +1 -1
  619. package/dist/jsx/shared/useSessionUserId.native.js.map +1 -1
  620. package/dist/jsx/shared/useSlugTarget.native.js.map +1 -1
  621. package/dist/jsx/shared/useUserRoles.native.js.map +1 -1
  622. package/dist/jsx/shell/BackofficeShell.native.js +1 -1
  623. package/dist/jsx/shell/BackofficeShell.native.js.map +1 -1
  624. package/dist/jsx/shell/HomeRedirect.native.js +1 -1
  625. package/dist/jsx/shell/HomeRedirect.native.js.map +1 -1
  626. package/dist/jsx/shell/NotFoundScreen.native.js +1 -1
  627. package/dist/jsx/shell/NotFoundScreen.native.js.map +1 -1
  628. package/dist/jsx/shell/SlugScreen.native.js +1 -1
  629. package/dist/jsx/shell/SlugScreen.native.js.map +1 -1
  630. package/dist/jsx/shell/WorkspaceSidebar.native.js +1 -1
  631. package/dist/jsx/shell/WorkspaceSidebar.native.js.map +1 -1
  632. package/dist/jsx/shell/useWorkspaces.native.js.map +1 -1
  633. package/dist/jsx/shell/workspaceIcons.native.js.map +1 -1
  634. package/dist/jsx/views/CalendarView.native.js +1 -1
  635. package/dist/jsx/views/CalendarView.native.js.map +1 -1
  636. package/dist/jsx/views/DashboardView.native.js +1 -1
  637. package/dist/jsx/views/DashboardView.native.js.map +1 -1
  638. package/dist/jsx/views/DoctypeViewScreen.native.js.map +1 -1
  639. package/dist/jsx/views/ImageView.native.js +1 -1
  640. package/dist/jsx/views/ImageView.native.js.map +1 -1
  641. package/dist/jsx/views/KanbanView.native.js +1 -1
  642. package/dist/jsx/views/KanbanView.native.js.map +1 -1
  643. package/dist/jsx/views/ReportView.mjs +3 -256
  644. package/dist/jsx/views/ReportView.mjs.map +1 -1
  645. package/dist/jsx/views/ReportView.native.js +3 -382
  646. package/dist/jsx/views/ReportView.native.js.map +1 -1
  647. package/dist/jsx/views/TreeView.native.js +1 -1
  648. package/dist/jsx/views/TreeView.native.js.map +1 -1
  649. package/dist/jsx/views/ViewHeader.native.js +1 -1
  650. package/dist/jsx/views/ViewHeader.native.js.map +1 -1
  651. package/dist/jsx/views/ViewStates.native.js +1 -1
  652. package/dist/jsx/views/ViewStates.native.js.map +1 -1
  653. package/dist/jsx/views/ViewSwitcherMenu.native.js +1 -1
  654. package/dist/jsx/views/ViewSwitcherMenu.native.js.map +1 -1
  655. package/dist/jsx/views/calendar-field-selector.native.js +1 -1
  656. package/dist/jsx/views/calendar-field-selector.native.js.map +1 -1
  657. package/dist/jsx/views/connection.native.js.map +1 -1
  658. package/dist/jsx/views/dashboard-data.native.js.map +1 -1
  659. package/dist/jsx/views/deskViewConfigs.native.js.map +1 -1
  660. package/dist/jsx/views/kanban-board-controls.native.js +1 -1
  661. package/dist/jsx/views/kanban-board-controls.native.js.map +1 -1
  662. package/dist/jsx/views/kanban-field-picker.native.js +1 -1
  663. package/dist/jsx/views/kanban-field-picker.native.js.map +1 -1
  664. package/dist/jsx/views/kanbanBoardOps.native.js.map +1 -1
  665. package/dist/jsx/views/report-controls.mjs +3 -3
  666. package/dist/jsx/views/report-controls.mjs.map +1 -1
  667. package/dist/jsx/views/report-controls.native.js +7 -7
  668. package/dist/jsx/views/report-controls.native.js.map +1 -1
  669. package/dist/jsx/views/viewAvailability.native.js.map +1 -1
  670. package/dist/jsx/views/viewMeta.native.js.map +1 -1
  671. package/dist/jsx/workspace/WorkspaceChartBlock.native.js +1 -1
  672. package/dist/jsx/workspace/WorkspaceChartBlock.native.js.map +1 -1
  673. package/dist/jsx/workspace/WorkspaceGrid.native.js.map +1 -1
  674. package/dist/jsx/workspace/WorkspaceLinkCard.native.js +1 -1
  675. package/dist/jsx/workspace/WorkspaceLinkCard.native.js.map +1 -1
  676. package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js +1 -1
  677. package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  678. package/dist/jsx/workspace/WorkspaceNumberCard.native.js +1 -1
  679. package/dist/jsx/workspace/WorkspaceNumberCard.native.js.map +1 -1
  680. package/dist/jsx/workspace/WorkspaceQuickList.native.js +1 -1
  681. package/dist/jsx/workspace/WorkspaceQuickList.native.js.map +1 -1
  682. package/dist/jsx/workspace/WorkspaceRecents.native.js +1 -1
  683. package/dist/jsx/workspace/WorkspaceRecents.native.js.map +1 -1
  684. package/dist/jsx/workspace/WorkspaceScreen.native.js +1 -1
  685. package/dist/jsx/workspace/WorkspaceScreen.native.js.map +1 -1
  686. package/dist/jsx/workspace/WorkspaceShortcut.native.js +1 -1
  687. package/dist/jsx/workspace/WorkspaceShortcut.native.js.map +1 -1
  688. package/dist/jsx/workspace/parseContent.native.js.map +1 -1
  689. package/dist/jsx/workspace/types.native.js.map +1 -1
  690. package/dist/jsx/workspace/useDashboardChart.native.js.map +1 -1
  691. package/dist/jsx/workspace/useWorkspaceDoc.native.js.map +1 -1
  692. package/package.json +12 -12
  693. package/src/backofficeScreens.designLaw.spec.ts +0 -5
  694. package/src/desk/DeskSurface.tsx +4 -7
  695. package/src/form/DocFormScreen.chrome.spec.ts +77 -0
  696. package/src/form/DocFormScreen.guest.screen.spec.tsx +175 -0
  697. package/src/form/DocFormScreen.rights.spec.tsx +7 -3
  698. package/src/form/DocFormScreen.tsx +214 -315
  699. package/src/i18n/en.ts +1 -0
  700. package/src/list/ListBulkActionsBar.rights.spec.tsx +134 -0
  701. package/src/list/ListBulkActionsBar.screen.spec.tsx +7 -1
  702. package/src/list/ListBulkActionsBar.tsx +76 -57
  703. package/src/list/ListFilterBar.screen.spec.tsx +14 -13
  704. package/src/list/sidebar-section.tsx +11 -3
  705. package/src/report/DoctypeReportView.tsx +28 -550
  706. package/src/report/QueryReportScreen.spec.tsx +75 -1
  707. package/src/report/QueryReportScreen.tsx +38 -22
  708. package/src/report/queryReportColumns.tsx +4 -123
  709. package/src/report/queryReportFilterBar.tsx +3 -5
  710. package/src/report/queryReportUrlState.ts +1 -1
  711. package/src/report/report-grid.tsx +4 -529
  712. package/src/report/report-toolbar.tsx +4 -308
  713. package/src/report/reportShapes.ts +25 -613
  714. package/src/report/reportShim.spec.ts +162 -0
  715. package/src/report/reportViewModel.ts +32 -605
  716. package/src/report/savedReports.ts +4 -161
  717. package/src/report/useQueryReport.ts +9 -347
  718. package/src/shared/measures.ts +3 -11
  719. package/src/views/ReportView.screen.spec.tsx +25 -20
  720. package/src/views/ReportView.tsx +7 -439
  721. package/src/views/report-controls.tsx +12 -20
  722. package/types/desk/DeskSurface.d.ts.map +1 -1
  723. package/types/form/DocFormScreen.d.ts +2 -2
  724. package/types/form/DocFormScreen.d.ts.map +1 -1
  725. package/types/i18n/en.d.ts +1 -0
  726. package/types/i18n/en.d.ts.map +1 -1
  727. package/types/list/ListBulkActionsBar.d.ts.map +1 -1
  728. package/types/list/sidebar-section.d.ts.map +1 -1
  729. package/types/report/DoctypeReportView.d.ts.map +1 -1
  730. package/types/report/QueryReportScreen.d.ts +1 -1
  731. package/types/report/QueryReportScreen.d.ts.map +1 -1
  732. package/types/report/queryReportColumns.d.ts +2 -11
  733. package/types/report/queryReportColumns.d.ts.map +1 -1
  734. package/types/report/queryReportFilterBar.d.ts +1 -1
  735. package/types/report/queryReportFilterBar.d.ts.map +1 -1
  736. package/types/report/queryReportUrlState.d.ts +1 -1
  737. package/types/report/queryReportUrlState.d.ts.map +1 -1
  738. package/types/report/report-grid.d.ts +2 -19
  739. package/types/report/report-grid.d.ts.map +1 -1
  740. package/types/report/report-toolbar.d.ts +2 -29
  741. package/types/report/report-toolbar.d.ts.map +1 -1
  742. package/types/report/reportShapes.d.ts +2 -115
  743. package/types/report/reportShapes.d.ts.map +1 -1
  744. package/types/report/reportViewModel.d.ts +2 -135
  745. package/types/report/reportViewModel.d.ts.map +1 -1
  746. package/types/report/savedReports.d.ts +2 -18
  747. package/types/report/savedReports.d.ts.map +1 -1
  748. package/types/report/useQueryReport.d.ts +2 -35
  749. package/types/report/useQueryReport.d.ts.map +1 -1
  750. package/types/shared/measures.d.ts +1 -2
  751. package/types/shared/measures.d.ts.map +1 -1
  752. package/types/views/ReportView.d.ts +3 -22
  753. package/types/views/ReportView.d.ts.map +1 -1
  754. package/types/views/report-controls.d.ts +2 -5
  755. package/types/views/report-controls.d.ts.map +1 -1
  756. package/src/report/report-grid.spec.tsx +0 -175
  757. package/src/report/report-toolbar.spec.tsx +0 -90
  758. package/src/report/reportShapes.spec.ts +0 -391
  759. package/src/report/reportViewModel.spec.ts +0 -393
@@ -39,81 +39,24 @@ __export(DoctypeReportView_exports, {
39
39
  });
40
40
  module.exports = __toCommonJS(DoctypeReportView_exports);
41
41
  var import_jsx_runtime = require("react/jsx-runtime");
42
- var import_components = require("@multiplatform.one/components");
43
- var import_forms = require("@multiplatform.one/forms");
44
- var import_frappe = require("@multiplatform.one/frappe");
45
- var import_platform = require("@multiplatform.one/platform");
46
- var import_store = require("@multiplatform.one/store");
47
- var import_table = require("@multiplatform.one/table");
42
+ var import_frappe_ui = require("@multiplatform.one/frappe-ui");
48
43
  var import_react = __toESM(require("react"));
49
- var import_react_i18next = require("react-i18next");
50
44
  var import_BackofficeProvider = require("../config/BackofficeProvider.native.js");
51
- var import_i18n = require("../i18n");
52
45
  var import_scope = require("../desk/scope.native.js");
53
- var import_useDoctypeMeta = require("../shared/useDoctypeMeta.native.js");
54
- var import_connection = require("../views/connection.native.js");
55
46
  var import_ViewStates = require("../views/ViewStates.native.js");
56
- var import_report_grid = require("./report-grid.native.js");
57
- var import_report_toolbar = require("./report-toolbar.native.js");
58
- var import_savedReports = require("./savedReports.native.js");
59
- var import_reportViewModel = require("./reportViewModel.native.js");
60
- function _instanceof(left, right) {
61
- "@swc/helpers - instanceof";
62
-
63
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
64
- return !!right[Symbol.hasInstance](left);
65
- } else {
66
- return left instanceof right;
67
- }
68
- }
69
- var EMPTY_FILTERS = [];
70
- var COLUMN_FILTER_DEBOUNCE_MS = 350;
71
- function columnsStorageKey(doctype) {
72
- return `backoffice.report.columns.${doctype}`;
73
- }
74
- async function readStoredColumns(doctype) {
75
- try {
76
- var raw = await Promise.resolve(import_store.storage.getItem(columnsStorageKey(doctype)));
77
- if (!raw) return void 0;
78
- var parsed = JSON.parse(raw);
79
- if (Array.isArray(parsed) && parsed.every(function (entry) {
80
- return typeof entry === "string";
81
- })) {
82
- return parsed;
83
- }
84
- } catch (unused) {}
85
- return void 0;
86
- }
87
- function persistStoredColumns(doctype, fieldnames) {
88
- try {
89
- void Promise.resolve(import_store.storage.setItem(columnsStorageKey(doctype), JSON.stringify(fieldnames)));
90
- } catch (unused) {}
91
- }
92
47
  function DoctypeReportView(param) {
93
48
  var {
94
49
  doctype,
95
50
  filtersParam,
96
51
  initialFilters
97
52
  } = param;
98
- var _ref, _ref1, _ref2;
99
53
  var _params_report;
100
- var {
101
- t
102
- } = (0, import_react_i18next.useTranslation)(import_i18n.BACKOFFICE_I18N_NAMESPACE);
103
54
  var deskScope = (0, import_scope.useDeskScope)();
104
55
  var navigator = (0, import_BackofficeProvider.useBackofficeNavigator)();
105
56
  var paths = (0, import_BackofficeProvider.useBackofficePaths)();
106
57
  var {
107
58
  params
108
59
  } = (0, import_BackofficeProvider.useBackofficeLocation)();
109
- var connection = (0, import_connection.useViewConnection)();
110
- var fixtureMode = Boolean(connection === null || connection === void 0 ? void 0 : connection.fixtures);
111
- var {
112
- meta,
113
- loading: metaLoading,
114
- error: metaError
115
- } = (0, import_useDoctypeMeta.useDoctypeMeta)(doctype);
116
- var savedReports = (0, import_savedReports.useSavedReports)(doctype);
117
60
  var rawReportParam = typeof params.report === "string" ? params.report : (_params_report = params.report) === null || _params_report === void 0 ? void 0 : _params_report[0];
118
61
  var currentReport = (0, import_react.useMemo)(function () {
119
62
  if (!rawReportParam) return null;
@@ -123,412 +66,37 @@ function DoctypeReportView(param) {
123
66
  return rawReportParam;
124
67
  }
125
68
  }, [rawReportParam]);
126
- var allColumns = (0, import_react.useMemo)(function () {
127
- return (0, import_reportViewModel.reportColumnsFromMeta)(meta);
128
- }, [meta]);
129
- var defaultFieldnames = (0, import_react.useMemo)(function () {
130
- return (0, import_reportViewModel.defaultReportFieldnames)(meta);
131
- }, [meta]);
132
- var [storedColumns, setStoredColumns] = (0, import_react.useState)(void 0);
133
- var [selectedOverride, setSelectedOverride] = (0, import_react.useState)(null);
134
- (0, import_react.useEffect)(function () {
135
- if (fixtureMode) return;
136
- var cancelled = false;
137
- void readStoredColumns(doctype).then(function (stored) {
138
- if (!cancelled) setStoredColumns(stored);
139
- });
140
- return function () {
141
- cancelled = true;
142
- };
143
- }, [doctype, fixtureMode]);
144
- var selectedFieldnames = (_ref = selectedOverride !== null && selectedOverride !== void 0 ? selectedOverride : storedColumns) !== null && _ref !== void 0 ? _ref : defaultFieldnames;
145
- var selectedColumns = (0, import_react.useMemo)(function () {
146
- return (0, import_reportViewModel.resolveSelectedColumns)(allColumns, selectedFieldnames);
147
- }, [allColumns, selectedFieldnames]);
148
69
  var urlFilters = (0, import_react.useMemo)(function () {
149
- return (0, import_reportViewModel.parseReportFiltersParam)(filtersParam);
70
+ return (0, import_frappe_ui.parseReportFiltersParam)(filtersParam);
150
71
  }, [filtersParam]);
151
- var [filtersCleared, setFiltersCleared] = (0, import_react.useState)(false);
152
- var [reportFilters, setReportFilters] = (0, import_react.useState)(null);
153
- var baseFilters = filtersCleared ? EMPTY_FILTERS : (_ref1 = (_ref2 = reportFilters !== null && reportFilters !== void 0 ? reportFilters : urlFilters) !== null && _ref2 !== void 0 ? _ref2 : initialFilters) !== null && _ref1 !== void 0 ? _ref1 : EMPTY_FILTERS;
154
- var [filterDrafts, setFilterDrafts] = (0, import_react.useState)({});
155
- var [committedFilters, setCommittedFilters] = (0, import_react.useState)({});
156
- (0, import_react.useEffect)(function () {
157
- var handle = setTimeout(function () {
158
- setCommittedFilters(function (previous) {
159
- return JSON.stringify(previous) === JSON.stringify(filterDrafts) ? previous : filterDrafts;
160
- });
161
- }, COLUMN_FILTER_DEBOUNCE_MS);
162
- return function () {
163
- return clearTimeout(handle);
164
- };
165
- }, [filterDrafts]);
166
- var columnTuples = (0, import_react.useMemo)(function () {
167
- return (0, import_reportViewModel.columnFilterTuples)(selectedColumns, committedFilters);
168
- }, [selectedColumns, committedFilters]);
169
- var effectiveFilters = (0, import_react.useMemo)(function () {
170
- return [...deskScope, ...baseFilters, ...columnTuples];
171
- }, [deskScope, baseFilters, columnTuples]);
172
- var metaSort = (0, import_react.useMemo)(function () {
173
- return {
174
- field: ((meta === null || meta === void 0 ? void 0 : meta.sort_field) || "modified").split(" ")[0],
175
- order: ((meta === null || meta === void 0 ? void 0 : meta.sort_order) || "DESC").toLowerCase() === "asc" ? "asc" : "desc"
176
- };
177
- }, [meta === null || meta === void 0 ? void 0 : meta.sort_field, meta === null || meta === void 0 ? void 0 : meta.sort_order]);
178
- var [sortOverride, setSortOverride] = (0, import_react.useState)(null);
179
- var sort = sortOverride !== null && sortOverride !== void 0 ? sortOverride : metaSort;
180
- var [groupBy, setGroupBy] = (0, import_react.useState)(null);
181
- var [pageSize, setPageSize] = (0, import_react.useState)(import_reportViewModel.DEFAULT_REPORT_PAGE_SIZE);
182
- var [page, setPage] = (0, import_react.useState)(0);
183
- (0, import_react.useEffect)(function () {
184
- setSelectedOverride(null);
185
- setStoredColumns(void 0);
186
- setSortOverride(null);
187
- setGroupBy(null);
188
- setPage(0);
189
- setPageSize(import_reportViewModel.DEFAULT_REPORT_PAGE_SIZE);
190
- setFilterDrafts({});
191
- setCommittedFilters({});
192
- setFiltersCleared(false);
193
- setReportFilters(null);
194
- }, [doctype]);
195
- (0, import_react.useEffect)(function () {
196
- return setFiltersCleared(false);
197
- }, [filtersParam]);
198
- var filtersKey = (0, import_react.useMemo)(function () {
199
- return JSON.stringify(effectiveFilters);
200
- }, [effectiveFilters]);
201
- (0, import_react.useEffect)(function () {
202
- setPage(0);
203
- }, [filtersKey, pageSize, groupBy]);
204
- (0, import_react.useEffect)(function () {
205
- if (!currentReport) {
206
- setReportFilters(null);
207
- return;
208
- }
209
- var cancelled = false;
210
- void savedReports.load(currentReport).then(function (config) {
211
- var _config_groupBy;
212
- if (cancelled || !config) return;
213
- setSelectedOverride(config.fieldnames.length > 0 ? config.fieldnames : null);
214
- setReportFilters(config.filters);
215
- setFilterDrafts({});
216
- setCommittedFilters({});
217
- setFiltersCleared(false);
218
- if (config.sort) setSortOverride(config.sort);
219
- if (config.pageSize && import_reportViewModel.REPORT_PAGE_SIZES.some(function (size) {
220
- return size === config.pageSize;
221
- })) {
222
- setPageSize(config.pageSize);
223
- }
224
- setGroupBy((_config_groupBy = config.groupBy) !== null && _config_groupBy !== void 0 ? _config_groupBy : null);
225
- });
226
- return function () {
227
- cancelled = true;
228
- };
229
- },
230
- // savedReports.load changes identity with its report list; reloading the
231
- // config on list refreshes would clobber in-progress edits — key on the
232
- // selected report (and doctype via load's closure) only.
233
- // eslint-disable-next-line react-hooks/exhaustive-deps
234
- [currentReport, doctype]);
235
- var handleToggleColumn = (0, import_react.useCallback)(function (fieldname) {
236
- setSelectedOverride(function (previous) {
237
- var _ref3;
238
- var current = (_ref3 = previous !== null && previous !== void 0 ? previous : storedColumns) !== null && _ref3 !== void 0 ? _ref3 : defaultFieldnames;
239
- var next = current.includes(fieldname) ? current.length === 1 ? current : current.filter(function (entry) {
240
- return entry !== fieldname;
241
- }) : [...current, fieldname];
242
- if (!fixtureMode && !currentReport) persistStoredColumns(doctype, next);
243
- return next;
244
- });
245
- }, [storedColumns, defaultFieldnames, fixtureMode, currentReport, doctype]);
246
- var handleResetColumns = (0, import_react.useCallback)(function () {
247
- setSelectedOverride(defaultFieldnames);
248
- setStoredColumns(void 0);
249
- if (!fixtureMode) persistStoredColumns(doctype, defaultFieldnames);
250
- }, [defaultFieldnames, fixtureMode, doctype]);
251
- var fetchFields = (0, import_react.useMemo)(function () {
252
- var fields = /* @__PURE__ */new Set(["name", sort.field]);
253
- var _iteratorNormalCompletion = true,
254
- _didIteratorError = false,
255
- _iteratorError = void 0;
256
- try {
257
- for (var _iterator = selectedColumns[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
258
- var column = _step.value;
259
- fields.add(column.fieldname);
260
- }
261
- } catch (err) {
262
- _didIteratorError = true;
263
- _iteratorError = err;
264
- } finally {
265
- try {
266
- if (!_iteratorNormalCompletion && _iterator.return != null) {
267
- _iterator.return();
268
- }
269
- } finally {
270
- if (_didIteratorError) {
271
- throw _iteratorError;
272
- }
273
- }
274
- }
275
- if (groupBy) fields.add(groupBy);
276
- return [...fields];
277
- }, [selectedColumns, sort.field, groupBy]);
278
- var [syncError, setSyncError] = (0, import_react.useState)(null);
279
- var handleSyncError = (0, import_react.useCallback)(function (error) {
280
- setSyncError(_instanceof(error, Error) ? error : new Error(String(error)));
281
- }, []);
282
- var [retryGen, setRetryGen] = (0, import_react.useState)(0);
283
- var collectionConfig = (0, import_react.useMemo)(function () {
284
- return connection && meta && retryGen >= 0 ? connection : void 0;
285
- }, [connection, meta, retryGen]);
286
- var collection = (0, import_frappe.useFrappeCollection)(collectionConfig, doctype, {
287
- fields: fetchFields,
288
- filters: effectiveFilters,
289
- orderBy: {
290
- field: sort.field,
291
- order: sort.order === "asc" ? import_frappe.Order.Asc : import_frappe.Order.Desc
292
- },
293
- onSyncError: handleSyncError
294
- });
295
- (0, import_react.useEffect)(function () {
296
- return setSyncError(null);
297
- }, [collection]);
298
- var {
299
- data: rowsData,
300
- isLoading: rowsLoading
301
- } = (0, import_frappe.useLiveQuery)(function (q) {
302
- return collection ? q.from({
303
- _report: collection
304
- }) : null;
305
- }, [collection]);
306
- var orderedRows = (0, import_react.useMemo)(function () {
307
- return (0, import_reportViewModel.orderReportRows)(rowsData !== null && rowsData !== void 0 ? rowsData : [], sort, groupBy);
308
- }, [rowsData, sort, groupBy]);
309
- var total = orderedRows.length;
310
- var pageCount = Math.max(1, Math.ceil(total / pageSize));
311
- var effectivePage = Math.min(page, pageCount - 1);
312
- var gridRows = (0, import_react.useMemo)(function () {
313
- return (0, import_reportViewModel.buildGridRows)(orderedRows, effectivePage * pageSize, pageSize, groupBy);
314
- }, [orderedRows, effectivePage, pageSize, groupBy]);
315
- var totals = (0, import_react.useMemo)(function () {
316
- return (0, import_reportViewModel.computeTotals)(selectedColumns, orderedRows);
317
- }, [selectedColumns, orderedRows]);
318
- var groupByColumn = groupBy ? allColumns.find(function (column) {
319
- return column.fieldname === groupBy;
320
- }) : void 0;
321
- var handleOpenRow = (0, import_react.useCallback)(function (name) {
322
- return navigator.navigate(paths.form(doctype, name));
323
- }, [navigator, paths, doctype]);
324
- var handleOpenLink = (0, import_react.useCallback)(function (targetDoctype, name) {
72
+ var openForm = (0, import_react.useCallback)(function (targetDoctype, name) {
325
73
  return navigator.navigate(paths.form(targetDoctype, name));
326
74
  }, [navigator, paths]);
327
- var handleSelectReport = (0, import_react.useCallback)(function (name) {
75
+ var selectReport = (0, import_react.useCallback)(function (name) {
328
76
  var base = paths.view(doctype, "report");
329
77
  navigator.replace(name ? `${base}?report=${encodeURIComponent(name)}` : base);
330
- if (!name) {
331
- setReportFilters(null);
332
- setSelectedOverride(null);
333
- setSortOverride(null);
334
- setGroupBy(null);
335
- }
336
78
  }, [navigator, paths, doctype]);
337
- var handleClearBaseFilters = (0, import_react.useCallback)(function () {
338
- setFiltersCleared(true);
339
- if (urlFilters && !reportFilters) navigator.replace(paths.view(doctype, "report"));
340
- }, [urlFilters, reportFilters, navigator, paths, doctype]);
341
- var handleSaveReport = (0, import_react.useCallback)(function (name) {
342
- void savedReports.save(name, {
343
- fieldnames: [...selectedFieldnames],
344
- filters: effectiveFilters,
345
- sort,
346
- pageSize,
347
- groupBy,
348
- addTotals: totals.length > 0
349
- }).then(function (savedName) {
350
- (0, import_components.notify)({
351
- severity: "success",
352
- scope: "page",
353
- body: t("report.saveDone", {
354
- defaultValue: "Saved report \u201C{{name}}\u201D",
355
- name: savedName
356
- })
357
- });
358
- if (savedName !== currentReport) handleSelectReport(savedName);
359
- }).catch(function (error) {
360
- (0, import_components.notify)({
361
- severity: "error",
362
- scope: "page",
363
- body: _instanceof(error, Error) ? error.message : t("report.saveFailed", "Could not save the report")
364
- });
365
- });
366
- }, [savedReports, selectedFieldnames, effectiveFilters, sort, pageSize, groupBy, totals.length, currentReport, handleSelectReport, t]);
367
- var handleDeleteReport = (0, import_react.useCallback)(function (name) {
368
- void savedReports.remove(name).then(function () {
369
- (0, import_components.notify)({
370
- severity: "success",
371
- scope: "page",
372
- body: t("report.deleteDone", {
373
- defaultValue: "Deleted report \u201C{{name}}\u201D",
374
- name
375
- })
376
- });
377
- if (name === currentReport) handleSelectReport(null);
378
- }).catch(function (error) {
379
- (0, import_components.notify)({
380
- severity: "error",
381
- scope: "page",
382
- body: _instanceof(error, Error) ? error.message : t("report.deleteFailed", "Could not delete the report")
383
- });
384
- });
385
- }, [savedReports, currentReport, handleSelectReport, t]);
386
- var handleExport = (0, import_react.useCallback)(function () {
387
- if (!import_components.isWeb) {
388
- (0, import_components.notify)({
389
- severity: "warning",
390
- scope: "page",
391
- body: t("report.exportUnsupported", "CSV export needs a browser download \u2014 not available on this platform yet")
79
+ var clearUrlFilters = (0, import_react.useCallback)(function () {
80
+ if (urlFilters) navigator.replace(paths.view(doctype, "report"));
81
+ }, [urlFilters, navigator, paths, doctype]);
82
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_frappe_ui.FrappeReportBuilder, {
83
+ doctype,
84
+ filters: urlFilters !== null && urlFilters !== void 0 ? urlFilters : initialFilters,
85
+ scopeFilters: deskScope,
86
+ onClearFilters: clearUrlFilters,
87
+ report: currentReport,
88
+ onReportChange: selectReport,
89
+ onOpenRow: function onOpenRow(name) {
90
+ return openForm(doctype, name);
91
+ },
92
+ onOpenLink: openForm,
93
+ loading: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ViewStates.ViewLoading, {}),
94
+ error: function error(error) {
95
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ViewStates.ViewError, {
96
+ doctype,
97
+ error
392
98
  });
393
- return;
394
99
  }
395
- (0, import_platform.downloadBlob)(new Blob([(0, import_reportViewModel.buildReportCsv)(selectedColumns, orderedRows)], {
396
- type: "text/csv;charset=utf-8;"
397
- }), `${doctype}_report.csv`);
398
- (0, import_components.notify)({
399
- severity: "success",
400
- scope: "page",
401
- body: t("report.exportDone", {
402
- count: orderedRows.length,
403
- defaultValue_one: "Exported {{count}} row to CSV",
404
- defaultValue_other: "Exported {{count}} rows to CSV"
405
- })
406
- });
407
- }, [selectedColumns, orderedRows, doctype, t]);
408
- var handleColumnFilterChange = (0, import_react.useCallback)(function (fieldname, value) {
409
- setFilterDrafts(function (previous) {
410
- if (value === "") {
411
- if (!(fieldname in previous)) return previous;
412
- var {
413
- [fieldname]: _dropped,
414
- ...rest
415
- } = previous;
416
- return rest;
417
- }
418
- return {
419
- ...previous,
420
- [fieldname]: value
421
- };
422
- });
423
- }, []);
424
- var handleClearColumnFilters = (0, import_react.useCallback)(function () {
425
- setFilterDrafts({});
426
- setCommittedFilters({});
427
- }, []);
428
- var activeColumnFilterCount = columnTuples.length;
429
- if (metaLoading && !meta) return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ViewStates.ViewLoading, {});
430
- if (metaError && !meta) return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ViewStates.ViewError, {
431
- doctype,
432
- error: metaError
433
- });
434
- var body;
435
- if (syncError) {
436
- body = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
437
- intent: "error",
438
- title: t("report.loadFailed", "Couldn't load report rows"),
439
- description: syncError.message,
440
- action: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
441
- size: "$3",
442
- onPress: function onPress() {
443
- setSyncError(null);
444
- setRetryGen(function (generation) {
445
- return generation + 1;
446
- });
447
- },
448
- children: t("report.retry", "Retry")
449
- })
450
- });
451
- } else if (rowsLoading && total === 0) {
452
- body = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ViewStates.ViewLoading, {});
453
- } else if (total === 0) {
454
- var hasFilters = effectiveFilters.length > 0;
455
- body = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
456
- title: t("report.emptyTitle", "No results"),
457
- description: hasFilters ? t("report.emptyFiltered", "No rows match the current filters") : t("report.emptyDescription", {
458
- defaultValue: "There are no {{doctype}} records yet",
459
- doctype
460
- }),
461
- action: hasFilters ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
462
- size: "$3",
463
- onPress: function onPress() {
464
- handleClearColumnFilters();
465
- handleClearBaseFilters();
466
- },
467
- children: t("report.clearAllFilters", "Clear all filters")
468
- }) : void 0
469
- });
470
- } else {
471
- body = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_report_grid.ReportGrid, {
472
- columns: selectedColumns,
473
- rows: gridRows,
474
- sort,
475
- onSortChange: setSortOverride,
476
- columnFilters: filterDrafts,
477
- onColumnFilterChange: handleColumnFilterChange,
478
- onOpenRow: handleOpenRow,
479
- onOpenLink: handleOpenLink,
480
- totals,
481
- groupByColumn
482
- });
483
- }
484
- var content = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
485
- flex: 1,
486
- minWidth: 0,
487
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_report_toolbar.ReportToolbar, {
488
- columns: allColumns,
489
- selected: selectedFieldnames,
490
- onToggleColumn: handleToggleColumn,
491
- onResetColumns: handleResetColumns,
492
- groupBy,
493
- onGroupByChange: setGroupBy,
494
- baseFilters,
495
- onClearBaseFilters: baseFilters.length > 0 ? handleClearBaseFilters : void 0,
496
- columnFilterCount: activeColumnFilterCount,
497
- onClearColumnFilters: handleClearColumnFilters,
498
- savedReports: savedReports.reports,
499
- currentReport,
500
- onSelectReport: handleSelectReport,
501
- onSaveReport: handleSaveReport,
502
- onDeleteReport: handleDeleteReport,
503
- onExport: handleExport,
504
- exportDisabled: total === 0
505
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
506
- flex: 1,
507
- minWidth: 0,
508
- paddingHorizontal: "$3",
509
- children: body
510
- }), total > 0 && !syncError && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
511
- paddingHorizontal: "$3",
512
- paddingVertical: "$2",
513
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.DataTablePagination, {
514
- pagination: {
515
- pageIndex: effectivePage,
516
- pageSize,
517
- totalCount: total,
518
- totalPages: pageCount
519
- },
520
- onPaginationChange: function onPaginationChange(next) {
521
- setPage(next.pageIndex);
522
- setPageSize(next.pageSize);
523
- },
524
- pageSizeOptions: [...import_reportViewModel.REPORT_PAGE_SIZES],
525
- compact: true
526
- })
527
- })]
528
- });
529
- return import_components.isWeb ? content : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.ScrollView, {
530
- flex: 1,
531
- children: content
532
100
  });
533
101
  }
534
102
  //# sourceMappingURL=DoctypeReportView.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","DoctypeReportView_exports","DoctypeReportView","module","exports","import_jsx_runtime","require","import_components","import_forms","import_frappe","import_platform","import_store","import_table","import_react","import_react_i18next","import_BackofficeProvider","import_i18n","import_scope","import_useDoctypeMeta","import_connection","import_ViewStates","import_report_grid","import_report_toolbar","import_savedReports","import_reportViewModel","_instanceof","left","right","Symbol","hasInstance","EMPTY_FILTERS","COLUMN_FILTER_DEBOUNCE_MS","columnsStorageKey","doctype","readStoredColumns","raw","Promise","resolve","storage","getItem","parsed","JSON","parse","Array","isArray","every","entry","unused","persistStoredColumns","fieldnames","setItem","stringify","param","filtersParam","initialFilters","_ref","_ref1","_ref2","_params_report","t","useTranslation","BACKOFFICE_I18N_NAMESPACE","deskScope","useDeskScope","navigator","useBackofficeNavigator","paths","useBackofficePaths","params","useBackofficeLocation","connection","useViewConnection","fixtureMode","Boolean","fixtures","meta","loading","metaLoading","error","metaError","useDoctypeMeta","savedReports","useSavedReports","rawReportParam","report","currentReport","useMemo","decodeURIComponent","allColumns","reportColumnsFromMeta","defaultFieldnames","defaultReportFieldnames","storedColumns","setStoredColumns","useState","selectedOverride","setSelectedOverride","useEffect","cancelled","then","stored","selectedFieldnames","selectedColumns","resolveSelectedColumns","urlFilters","parseReportFiltersParam","filtersCleared","setFiltersCleared","reportFilters","setReportFilters","baseFilters","filterDrafts","setFilterDrafts","committedFilters","setCommittedFilters","handle","setTimeout","previous","clearTimeout","columnTuples","columnFilterTuples","effectiveFilters","metaSort","field","sort_field","split","order","sort_order","toLowerCase","sortOverride","setSortOverride","sort","groupBy","setGroupBy","pageSize","setPageSize","DEFAULT_REPORT_PAGE_SIZE","page","setPage","filtersKey","load","config","_config_groupBy","length","filters","REPORT_PAGE_SIZES","some","size","handleToggleColumn","useCallback","fieldname","_ref3","current","next","includes","filter","handleResetColumns","fetchFields","fields","Set","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","done","column","add","err","return","syncError","setSyncError","handleSyncError","Error","String","retryGen","setRetryGen","collectionConfig","collection","useFrappeCollection","orderBy","Order","Asc","Desc","onSyncError","data","rowsData","isLoading","rowsLoading","useLiveQuery","q","_report","orderedRows","orderReportRows","total","pageCount","Math","max","ceil","effectivePage","min","gridRows","buildGridRows","totals","computeTotals","groupByColumn","find","handleOpenRow","navigate","form","handleOpenLink","targetDoctype","handleSelectReport","base","view","replace","encodeURIComponent","handleClearBaseFilters","handleSaveReport","save","addTotals","savedName","notify","severity","scope","body","defaultValue","catch","message","handleDeleteReport","remove","handleExport","isWeb","downloadBlob","Blob","buildReportCsv","type","count","defaultValue_one","defaultValue_other","handleColumnFilterChange","_dropped","rest","handleClearColumnFilters","activeColumnFilterCount","jsx","ViewLoading","ViewError","EmptyState","intent","title","description","action","Button","onPress","generation","children","hasFilters","ReportGrid","columns","rows","onSortChange","columnFilters","onColumnFilterChange","onOpenRow","onOpenLink","content","jsxs","YStack","flex","minWidth","ReportToolbar","selected","onToggleColumn","onResetColumns","onGroupByChange","onClearBaseFilters","columnFilterCount","onClearColumnFilters","reports","onSelectReport","onSaveReport","onDeleteReport","onExport","exportDisabled","paddingHorizontal","paddingVertical","DataTablePagination","pagination","pageIndex","totalCount","totalPages","onPaginationChange","pageSizeOptions","compact","ScrollView"],"sources":["DoctypeReportView.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\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 __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar DoctypeReportView_exports = {};\n__export(DoctypeReportView_exports, {\n DoctypeReportView: () => DoctypeReportView\n});\nmodule.exports = __toCommonJS(DoctypeReportView_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_components = require(\"@multiplatform.one/components\");\nvar import_forms = require(\"@multiplatform.one/forms\");\nvar import_frappe = require(\"@multiplatform.one/frappe\");\nvar import_platform = require(\"@multiplatform.one/platform\");\nvar import_store = require(\"@multiplatform.one/store\");\nvar import_table = require(\"@multiplatform.one/table\");\nvar import_react = __toESM(require(\"react\"));\nvar import_react_i18next = require(\"react-i18next\");\nvar import_BackofficeProvider = require(\"../config/BackofficeProvider\");\nvar import_i18n = require(\"../i18n\");\nvar import_scope = require(\"../desk/scope\");\nvar import_useDoctypeMeta = require(\"../shared/useDoctypeMeta\");\nvar import_connection = require(\"../views/connection\");\nvar import_ViewStates = require(\"../views/ViewStates\");\nvar import_report_grid = require(\"./report-grid\");\nvar import_report_toolbar = require(\"./report-toolbar\");\nvar import_savedReports = require(\"./savedReports\");\nvar import_reportViewModel = require(\"./reportViewModel\");\nfunction _instanceof(left, right) {\n \"@swc/helpers - instanceof\";\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nvar EMPTY_FILTERS = [];\nvar COLUMN_FILTER_DEBOUNCE_MS = 350;\nfunction columnsStorageKey(doctype) {\n return `backoffice.report.columns.${doctype}`;\n}\nasync function readStoredColumns(doctype) {\n try {\n var raw = await Promise.resolve(import_store.storage.getItem(columnsStorageKey(doctype)));\n if (!raw) return void 0;\n var parsed = JSON.parse(raw);\n if (Array.isArray(parsed) && parsed.every(function(entry) {\n return typeof entry === \"string\";\n })) {\n return parsed;\n }\n } catch (unused) {\n }\n return void 0;\n}\nfunction persistStoredColumns(doctype, fieldnames) {\n try {\n void Promise.resolve(import_store.storage.setItem(columnsStorageKey(doctype), JSON.stringify(fieldnames)));\n } catch (unused) {\n }\n}\nfunction DoctypeReportView(param) {\n var { doctype, filtersParam, initialFilters } = param;\n var _ref, _ref1, _ref2;\n var _params_report;\n var { t } = (0, import_react_i18next.useTranslation)(import_i18n.BACKOFFICE_I18N_NAMESPACE);\n var deskScope = (0, import_scope.useDeskScope)();\n var navigator = (0, import_BackofficeProvider.useBackofficeNavigator)();\n var paths = (0, import_BackofficeProvider.useBackofficePaths)();\n var { params } = (0, import_BackofficeProvider.useBackofficeLocation)();\n var connection = (0, import_connection.useViewConnection)();\n var fixtureMode = Boolean(connection === null || connection === void 0 ? void 0 : connection.fixtures);\n var { meta, loading: metaLoading, error: metaError } = (0, import_useDoctypeMeta.useDoctypeMeta)(doctype);\n var savedReports = (0, import_savedReports.useSavedReports)(doctype);\n var rawReportParam = typeof params.report === \"string\" ? params.report : (_params_report = params.report) === null || _params_report === void 0 ? void 0 : _params_report[0];\n var currentReport = (0, import_react.useMemo)(function() {\n if (!rawReportParam) return null;\n try {\n return decodeURIComponent(rawReportParam);\n } catch (unused) {\n return rawReportParam;\n }\n }, [\n rawReportParam\n ]);\n var allColumns = (0, import_react.useMemo)(function() {\n return (0, import_reportViewModel.reportColumnsFromMeta)(meta);\n }, [\n meta\n ]);\n var defaultFieldnames = (0, import_react.useMemo)(function() {\n return (0, import_reportViewModel.defaultReportFieldnames)(meta);\n }, [\n meta\n ]);\n var [storedColumns, setStoredColumns] = (0, import_react.useState)(void 0);\n var [selectedOverride, setSelectedOverride] = (0, import_react.useState)(null);\n (0, import_react.useEffect)(function() {\n if (fixtureMode) return;\n var cancelled = false;\n void readStoredColumns(doctype).then(function(stored) {\n if (!cancelled) setStoredColumns(stored);\n });\n return function() {\n cancelled = true;\n };\n }, [\n doctype,\n fixtureMode\n ]);\n var selectedFieldnames = (_ref = selectedOverride !== null && selectedOverride !== void 0 ? selectedOverride : storedColumns) !== null && _ref !== void 0 ? _ref : defaultFieldnames;\n var selectedColumns = (0, import_react.useMemo)(function() {\n return (0, import_reportViewModel.resolveSelectedColumns)(allColumns, selectedFieldnames);\n }, [\n allColumns,\n selectedFieldnames\n ]);\n var urlFilters = (0, import_react.useMemo)(function() {\n return (0, import_reportViewModel.parseReportFiltersParam)(filtersParam);\n }, [\n filtersParam\n ]);\n var [filtersCleared, setFiltersCleared] = (0, import_react.useState)(false);\n var [reportFilters, setReportFilters] = (0, import_react.useState)(null);\n var baseFilters = filtersCleared ? EMPTY_FILTERS : (_ref1 = (_ref2 = reportFilters !== null && reportFilters !== void 0 ? reportFilters : urlFilters) !== null && _ref2 !== void 0 ? _ref2 : initialFilters) !== null && _ref1 !== void 0 ? _ref1 : EMPTY_FILTERS;\n var [filterDrafts, setFilterDrafts] = (0, import_react.useState)({});\n var [committedFilters, setCommittedFilters] = (0, import_react.useState)({});\n (0, import_react.useEffect)(function() {\n var handle = setTimeout(function() {\n setCommittedFilters(function(previous) {\n return JSON.stringify(previous) === JSON.stringify(filterDrafts) ? previous : filterDrafts;\n });\n }, COLUMN_FILTER_DEBOUNCE_MS);\n return function() {\n return clearTimeout(handle);\n };\n }, [\n filterDrafts\n ]);\n var columnTuples = (0, import_react.useMemo)(function() {\n return (0, import_reportViewModel.columnFilterTuples)(selectedColumns, committedFilters);\n }, [\n selectedColumns,\n committedFilters\n ]);\n var effectiveFilters = (0, import_react.useMemo)(function() {\n return [\n ...deskScope,\n ...baseFilters,\n ...columnTuples\n ];\n }, [\n deskScope,\n baseFilters,\n columnTuples\n ]);\n var metaSort = (0, import_react.useMemo)(function() {\n return {\n field: ((meta === null || meta === void 0 ? void 0 : meta.sort_field) || \"modified\").split(\" \")[0],\n order: ((meta === null || meta === void 0 ? void 0 : meta.sort_order) || \"DESC\").toLowerCase() === \"asc\" ? \"asc\" : \"desc\"\n };\n }, [\n meta === null || meta === void 0 ? void 0 : meta.sort_field,\n meta === null || meta === void 0 ? void 0 : meta.sort_order\n ]);\n var [sortOverride, setSortOverride] = (0, import_react.useState)(null);\n var sort = sortOverride !== null && sortOverride !== void 0 ? sortOverride : metaSort;\n var [groupBy, setGroupBy] = (0, import_react.useState)(null);\n var [pageSize, setPageSize] = (0, import_react.useState)(import_reportViewModel.DEFAULT_REPORT_PAGE_SIZE);\n var [page, setPage] = (0, import_react.useState)(0);\n (0, import_react.useEffect)(function() {\n setSelectedOverride(null);\n setStoredColumns(void 0);\n setSortOverride(null);\n setGroupBy(null);\n setPage(0);\n setPageSize(import_reportViewModel.DEFAULT_REPORT_PAGE_SIZE);\n setFilterDrafts({});\n setCommittedFilters({});\n setFiltersCleared(false);\n setReportFilters(null);\n }, [\n doctype\n ]);\n (0, import_react.useEffect)(function() {\n return setFiltersCleared(false);\n }, [\n filtersParam\n ]);\n var filtersKey = (0, import_react.useMemo)(function() {\n return JSON.stringify(effectiveFilters);\n }, [\n effectiveFilters\n ]);\n (0, import_react.useEffect)(function() {\n setPage(0);\n }, [\n filtersKey,\n pageSize,\n groupBy\n ]);\n (0, import_react.useEffect)(\n function() {\n if (!currentReport) {\n setReportFilters(null);\n return;\n }\n var cancelled = false;\n void savedReports.load(currentReport).then(function(config) {\n var _config_groupBy;\n if (cancelled || !config) return;\n setSelectedOverride(config.fieldnames.length > 0 ? config.fieldnames : null);\n setReportFilters(config.filters);\n setFilterDrafts({});\n setCommittedFilters({});\n setFiltersCleared(false);\n if (config.sort) setSortOverride(config.sort);\n if (config.pageSize && import_reportViewModel.REPORT_PAGE_SIZES.some(function(size) {\n return size === config.pageSize;\n })) {\n setPageSize(config.pageSize);\n }\n setGroupBy((_config_groupBy = config.groupBy) !== null && _config_groupBy !== void 0 ? _config_groupBy : null);\n });\n return function() {\n cancelled = true;\n };\n },\n // savedReports.load changes identity with its report list; reloading the\n // config on list refreshes would clobber in-progress edits — key on the\n // selected report (and doctype via load's closure) only.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n currentReport,\n doctype\n ]\n );\n var handleToggleColumn = (0, import_react.useCallback)(function(fieldname) {\n setSelectedOverride(function(previous) {\n var _ref3;\n var current = (_ref3 = previous !== null && previous !== void 0 ? previous : storedColumns) !== null && _ref3 !== void 0 ? _ref3 : defaultFieldnames;\n var next = current.includes(fieldname) ? current.length === 1 ? current : current.filter(function(entry) {\n return entry !== fieldname;\n }) : [\n ...current,\n fieldname\n ];\n if (!fixtureMode && !currentReport) persistStoredColumns(doctype, next);\n return next;\n });\n }, [\n storedColumns,\n defaultFieldnames,\n fixtureMode,\n currentReport,\n doctype\n ]);\n var handleResetColumns = (0, import_react.useCallback)(function() {\n setSelectedOverride(defaultFieldnames);\n setStoredColumns(void 0);\n if (!fixtureMode) persistStoredColumns(doctype, defaultFieldnames);\n }, [\n defaultFieldnames,\n fixtureMode,\n doctype\n ]);\n var fetchFields = (0, import_react.useMemo)(function() {\n var fields = /* @__PURE__ */ new Set([\n \"name\",\n sort.field\n ]);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = selectedColumns[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var column = _step.value;\n fields.add(column.fieldname);\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 if (groupBy) fields.add(groupBy);\n return [\n ...fields\n ];\n }, [\n selectedColumns,\n sort.field,\n groupBy\n ]);\n var [syncError, setSyncError] = (0, import_react.useState)(null);\n var handleSyncError = (0, import_react.useCallback)(function(error) {\n setSyncError(_instanceof(error, Error) ? error : new Error(String(error)));\n }, []);\n var [retryGen, setRetryGen] = (0, import_react.useState)(0);\n var collectionConfig = (0, import_react.useMemo)(function() {\n return connection && meta && retryGen >= 0 ? connection : void 0;\n }, [\n connection,\n meta,\n retryGen\n ]);\n var collection = (0, import_frappe.useFrappeCollection)(collectionConfig, doctype, {\n fields: fetchFields,\n filters: effectiveFilters,\n orderBy: {\n field: sort.field,\n order: sort.order === \"asc\" ? import_frappe.Order.Asc : import_frappe.Order.Desc\n },\n onSyncError: handleSyncError\n });\n (0, import_react.useEffect)(function() {\n return setSyncError(null);\n }, [\n collection\n ]);\n var { data: rowsData, isLoading: rowsLoading } = (0, import_frappe.useLiveQuery)(function(q) {\n return collection ? q.from({\n _report: collection\n }) : null;\n }, [\n collection\n ]);\n var orderedRows = (0, import_react.useMemo)(function() {\n return (0, import_reportViewModel.orderReportRows)(rowsData !== null && rowsData !== void 0 ? rowsData : [], sort, groupBy);\n }, [\n rowsData,\n sort,\n groupBy\n ]);\n var total = orderedRows.length;\n var pageCount = Math.max(1, Math.ceil(total / pageSize));\n var effectivePage = Math.min(page, pageCount - 1);\n var gridRows = (0, import_react.useMemo)(function() {\n return (0, import_reportViewModel.buildGridRows)(orderedRows, effectivePage * pageSize, pageSize, groupBy);\n }, [\n orderedRows,\n effectivePage,\n pageSize,\n groupBy\n ]);\n var totals = (0, import_react.useMemo)(function() {\n return (0, import_reportViewModel.computeTotals)(selectedColumns, orderedRows);\n }, [\n selectedColumns,\n orderedRows\n ]);\n var groupByColumn = groupBy ? allColumns.find(function(column) {\n return column.fieldname === groupBy;\n }) : void 0;\n var handleOpenRow = (0, import_react.useCallback)(function(name) {\n return navigator.navigate(paths.form(doctype, name));\n }, [\n navigator,\n paths,\n doctype\n ]);\n var handleOpenLink = (0, import_react.useCallback)(function(targetDoctype, name) {\n return navigator.navigate(paths.form(targetDoctype, name));\n }, [\n navigator,\n paths\n ]);\n var handleSelectReport = (0, import_react.useCallback)(function(name) {\n var base = paths.view(doctype, \"report\");\n navigator.replace(name ? `${base}?report=${encodeURIComponent(name)}` : base);\n if (!name) {\n setReportFilters(null);\n setSelectedOverride(null);\n setSortOverride(null);\n setGroupBy(null);\n }\n }, [\n navigator,\n paths,\n doctype\n ]);\n var handleClearBaseFilters = (0, import_react.useCallback)(function() {\n setFiltersCleared(true);\n if (urlFilters && !reportFilters) navigator.replace(paths.view(doctype, \"report\"));\n }, [\n urlFilters,\n reportFilters,\n navigator,\n paths,\n doctype\n ]);\n var handleSaveReport = (0, import_react.useCallback)(function(name) {\n void savedReports.save(name, {\n fieldnames: [\n ...selectedFieldnames\n ],\n filters: effectiveFilters,\n sort,\n pageSize,\n groupBy,\n addTotals: totals.length > 0\n }).then(function(savedName) {\n (0, import_components.notify)({\n severity: \"success\",\n scope: \"page\",\n body: t(\"report.saveDone\", {\n defaultValue: \"Saved report \\u201C{{name}}\\u201D\",\n name: savedName\n })\n });\n if (savedName !== currentReport) handleSelectReport(savedName);\n }).catch(function(error) {\n (0, import_components.notify)({\n severity: \"error\",\n scope: \"page\",\n body: _instanceof(error, Error) ? error.message : t(\"report.saveFailed\", \"Could not save the report\")\n });\n });\n }, [\n savedReports,\n selectedFieldnames,\n effectiveFilters,\n sort,\n pageSize,\n groupBy,\n totals.length,\n currentReport,\n handleSelectReport,\n t\n ]);\n var handleDeleteReport = (0, import_react.useCallback)(function(name) {\n void savedReports.remove(name).then(function() {\n (0, import_components.notify)({\n severity: \"success\",\n scope: \"page\",\n body: t(\"report.deleteDone\", {\n defaultValue: \"Deleted report \\u201C{{name}}\\u201D\",\n name\n })\n });\n if (name === currentReport) handleSelectReport(null);\n }).catch(function(error) {\n (0, import_components.notify)({\n severity: \"error\",\n scope: \"page\",\n body: _instanceof(error, Error) ? error.message : t(\"report.deleteFailed\", \"Could not delete the report\")\n });\n });\n }, [\n savedReports,\n currentReport,\n handleSelectReport,\n t\n ]);\n var handleExport = (0, import_react.useCallback)(function() {\n if (!import_components.isWeb) {\n (0, import_components.notify)({\n severity: \"warning\",\n scope: \"page\",\n body: t(\"report.exportUnsupported\", \"CSV export needs a browser download \\u2014 not available on this platform yet\")\n });\n return;\n }\n (0, import_platform.downloadBlob)(new Blob([\n (0, import_reportViewModel.buildReportCsv)(selectedColumns, orderedRows)\n ], {\n type: \"text/csv;charset=utf-8;\"\n }), `${doctype}_report.csv`);\n (0, import_components.notify)({\n severity: \"success\",\n scope: \"page\",\n body: t(\"report.exportDone\", {\n count: orderedRows.length,\n defaultValue_one: \"Exported {{count}} row to CSV\",\n defaultValue_other: \"Exported {{count}} rows to CSV\"\n })\n });\n }, [\n selectedColumns,\n orderedRows,\n doctype,\n t\n ]);\n var handleColumnFilterChange = (0, import_react.useCallback)(function(fieldname, value) {\n setFilterDrafts(function(previous) {\n if (value === \"\") {\n if (!(fieldname in previous)) return previous;\n var { [fieldname]: _dropped, ...rest } = previous;\n return rest;\n }\n return {\n ...previous,\n [fieldname]: value\n };\n });\n }, []);\n var handleClearColumnFilters = (0, import_react.useCallback)(function() {\n setFilterDrafts({});\n setCommittedFilters({});\n }, []);\n var activeColumnFilterCount = columnTuples.length;\n if (metaLoading && !meta) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ViewStates.ViewLoading, {});\n if (metaError && !meta) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ViewStates.ViewError, {\n doctype,\n error: metaError\n });\n var body;\n if (syncError) {\n body = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.EmptyState, {\n intent: \"error\",\n title: t(\"report.loadFailed\", \"Couldn't load report rows\"),\n description: syncError.message,\n action: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n size: \"$3\",\n onPress: function onPress() {\n setSyncError(null);\n setRetryGen(function(generation) {\n return generation + 1;\n });\n },\n children: t(\"report.retry\", \"Retry\")\n })\n });\n } else if (rowsLoading && total === 0) {\n body = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ViewStates.ViewLoading, {});\n } else if (total === 0) {\n var hasFilters = effectiveFilters.length > 0;\n body = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.EmptyState, {\n title: t(\"report.emptyTitle\", \"No results\"),\n description: hasFilters ? t(\"report.emptyFiltered\", \"No rows match the current filters\") : t(\"report.emptyDescription\", {\n defaultValue: \"There are no {{doctype}} records yet\",\n doctype\n }),\n action: hasFilters ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_forms.Button, {\n size: \"$3\",\n onPress: function onPress() {\n handleClearColumnFilters();\n handleClearBaseFilters();\n },\n children: t(\"report.clearAllFilters\", \"Clear all filters\")\n }) : void 0\n });\n } else {\n body = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_report_grid.ReportGrid, {\n columns: selectedColumns,\n rows: gridRows,\n sort,\n onSortChange: setSortOverride,\n columnFilters: filterDrafts,\n onColumnFilterChange: handleColumnFilterChange,\n onOpenRow: handleOpenRow,\n onOpenLink: handleOpenLink,\n totals,\n groupByColumn\n });\n }\n var content = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.YStack, {\n flex: 1,\n minWidth: 0,\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_report_toolbar.ReportToolbar, {\n columns: allColumns,\n selected: selectedFieldnames,\n onToggleColumn: handleToggleColumn,\n onResetColumns: handleResetColumns,\n groupBy,\n onGroupByChange: setGroupBy,\n baseFilters,\n onClearBaseFilters: baseFilters.length > 0 ? handleClearBaseFilters : void 0,\n columnFilterCount: activeColumnFilterCount,\n onClearColumnFilters: handleClearColumnFilters,\n savedReports: savedReports.reports,\n currentReport,\n onSelectReport: handleSelectReport,\n onSaveReport: handleSaveReport,\n onDeleteReport: handleDeleteReport,\n onExport: handleExport,\n exportDisabled: total === 0\n }),\n /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.YStack, {\n flex: 1,\n minWidth: 0,\n paddingHorizontal: \"$3\",\n children: body\n }),\n total > 0 && !syncError && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.YStack, {\n paddingHorizontal: \"$3\",\n paddingVertical: \"$2\",\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_table.DataTablePagination, {\n pagination: {\n pageIndex: effectivePage,\n pageSize,\n totalCount: total,\n totalPages: pageCount\n },\n onPaginationChange: function onPaginationChange(next) {\n setPage(next.pageIndex);\n setPageSize(next.pageSize);\n },\n pageSizeOptions: [\n ...import_reportViewModel.REPORT_PAGE_SIZES\n ],\n compact: true\n })\n })\n ]\n });\n return import_components.isWeb ? content : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.ScrollView, {\n flex: 1,\n children: content\n });\n}\n//# sourceMappingURL=DoctypeReportView.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","DoctypeReportView_exports","__export","DoctypeReportView","module","exports","import_jsx_runtime","require","import_frappe_ui","import_react","import_BackofficeProvider","import_scope","import_ViewStates","param","doctype","filtersParam","initialFilters","_params_report","deskScope","useDeskScope","navigator","useBackofficeNavigator","paths","useBackofficePaths","params","useBackofficeLocation","rawReportParam","report","currentReport","useMemo","decodeURIComponent","unused","urlFilters","parseReportFiltersParam","openForm","useCallback","targetDoctype","name","navigate","form","selectReport","base","view","replace","encodeURIComponent","clearUrlFilters"],"sources":["../../../src/report/DoctypeReportView.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;EAAA,OAAAA,EAAA;AAAA;AAAA,IAAAC,OAAA,GAAAA,CAAAC,GAAA,EAAAC,UAAA,EAAAC,MAAA,MAAAA,MAAA,GAAAF,GAAA,WAAAG,QAAA,CAAAC,YAAA,CAAAJ,GAAA,SAAAK,WAAA;AAAA;AAAA;AAKA;AACA;AACAJ,UAAA,KAAAD,GAAA,KAAAA,GAAA,CAAAM,UAIO,GAAAC,SAAA,CAAAL,MAAA;EAAAM,KAAA,EAAAR,GAAA;EAAAS,UAAA;AAAA,KAAAP,MAAA,EACPF,GAEA;AA+De,IAAAU,YAAA,GAAAV,GAAA,IAAAK,WAAA,CAAAE,SAAA;EAAAC,KAAA;AAAA,IAAAR,GAAA;AAhDR,IAAAW,yBAA2B;AAAAC,QAChC,CAAAD,yBAAA;EACAE,iBAAA,EAAAA,CAAA,KAAAA;AAAA,EACA;AACFC,MAA2B,CAAAC,OAAA,GAAAL,YAAA,CAAAC,yBAAA;AACzB,IAAAK,kBAAM,GAAYC,OAAA,oBAAa;AAC/B,IAAAC,gBAAM,GAAAD,OAAY;AAClB,IAAAE,YAAM,GAAApB,OAAQ,CAAAkB,OAAA;AACd,IAAAG,yBAAmB,GAAAH,OAAA;AAInB,IAAAI,YAAM,GAAAJ,OAAiB,0BAAc;AACrC,IAAAK,iBAAM,GAAAL,OAAgB,gCAAQ;AAC5B,SAAKJ,iBAAgBA,CAAAU,KAAO;EAC5B;IAAIC,OAAA;IAAAC,YAAA;IAAAC;EAAA,IAAAH,KAAA;EACF,IAAAI,cAAO;EAAiC,IAC1CC,SAAQ,OAAAP,YAAA,CAAAQ,YAAA;EACN,IAAAC,SAAO,OAAAV,yBAAA,CAAAW,sBAAA;EAAA,IACTC,KAAA,OAAAZ,yBAAA,CAAAa,kBAAA;EACF,IAAI;IAAAC;EAAA,KAAc,CAAC,EAAAd,yBAAA,CAAAe,qBAAA;EACnB,IAAAC,cAAM,UAAaF,MAAA,CAAAG,MAAA,KAAQ,WAAMH,MAAA,CAAAG,MAAA,IAAAV,cAAA,GAAAO,MAAwB,CAAAG,MAAA,MAAY,IAAI,IAAAV,cAAa,uBAAAA,cAAA;EAEtF,IAAAW,aAAM,IAAW,GAAAnB,YAAA,CAAAoB,OAAA;IACf,IAAC,CAAAH,cAAuB,SAAiB;IACzC,IAAC;MACH,OAAAI,kBAAA,CAAAJ,cAAA;IACA,SAAMK,MAAA;MACH,OAAAL,cAAwB;IACvB;EACA,IACFA,cAAA,EACA;EACF,IAAAM,UAAA,OAAAvB,YAAA,CAAAoB,OAAA;IACA,OAAM,IAAArB,gBAAkB,CAAAyB,uBAAA,EAAYlB,YAAM;EACxC,IACFA,YAAI,CAEJ;EACE,IAACmB,QAAA,OAAAzB,YAAA,CAAA0B,WAAA,YAAAC,aAAA,EAAAC,IAAA;IAAA,OAAAjB,SAAA,CAAAkB,QAAA,CAAAhB,KAAA,CAAAiB,IAAA,CAAAH,aAAA,EAAAC,IAAA;EAAA,IACCjB,SACA,EAAuBE,KACvB,CAAc;EACE,IAChBkB,YAAQ,OAAA/B,YAAA,CAAA0B,WAAA,YAAAE,IAAA;IAAA,IACRI,IAAA,GAAAnB,KAAA,CAAAoB,IAAgB,CAAA5B,OAAA;IAAAM,SAChB,CAAAuB,OAAY,CAAAN,IAAA,GAAS,GAAAI,IAAS,WAASG,kBAAI,CAAAP,IAAA,MAAAI,IAAA;EAAA,IAC/BrB,SACZ,EAAsBE,KACtB,EAA6DR,OAAA,CAC/D;EAEJ,IAAA+B,eAAA,OAAApC,YAAA,CAAA0B,WAAA","ignoreList":[]}