@multiplatform.one/frappe-ui 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 (618) hide show
  1. package/dist/cjs/ChartCard.native.js.map +1 -1
  2. package/dist/cjs/FileBrowser/AttachLibrary.native.js.map +1 -1
  3. package/dist/cjs/FileBrowser/folderTree.native.js.map +1 -1
  4. package/dist/cjs/FileBrowser/index.cjs +20 -3
  5. package/dist/cjs/FileBrowser/index.native.js +20 -3
  6. package/dist/cjs/FileBrowser/index.native.js.map +1 -1
  7. package/dist/cjs/FileBrowser/types.native.js.map +1 -1
  8. package/dist/cjs/FileBrowser/viewPersistence.native.js.map +1 -1
  9. package/dist/cjs/FormSidebar.native.js.map +1 -1
  10. package/dist/cjs/FrappeAssignment.native.js.map +1 -1
  11. package/dist/cjs/FrappeCalendar.cjs +3 -2
  12. package/dist/cjs/FrappeCalendar.native.js +3 -2
  13. package/dist/cjs/FrappeCalendar.native.js.map +1 -1
  14. package/dist/cjs/FrappeChartCard.native.js.map +1 -1
  15. package/dist/cjs/FrappeConnectionIndicator.native.js.map +1 -1
  16. package/dist/cjs/FrappeDashboard.native.js.map +1 -1
  17. package/dist/cjs/FrappeForm.cjs +148 -464
  18. package/dist/cjs/FrappeForm.native.js +153 -634
  19. package/dist/cjs/FrappeForm.native.js.map +1 -1
  20. package/dist/cjs/FrappeFormActions.native.js.map +1 -1
  21. package/dist/cjs/FrappeFormConnections.native.js.map +1 -1
  22. package/dist/cjs/FrappeGantt.native.js.map +1 -1
  23. package/dist/cjs/FrappeImageView.native.js.map +1 -1
  24. package/dist/cjs/FrappeInsights.native.js.map +1 -1
  25. package/dist/cjs/FrappeKPICard.native.js.map +1 -1
  26. package/dist/cjs/FrappeKanban.native.js.map +1 -1
  27. package/dist/cjs/FrappeLikedBy.native.js.map +1 -1
  28. package/dist/cjs/FrappeList.native.js.map +1 -1
  29. package/dist/cjs/FrappeListView.cjs +5 -27
  30. package/dist/cjs/FrappeListView.native.js +11 -32
  31. package/dist/cjs/FrappeListView.native.js.map +1 -1
  32. package/dist/cjs/FrappeNotConfigured.native.js.map +1 -1
  33. package/dist/cjs/FrappeProvider.native.js.map +1 -1
  34. package/dist/cjs/FrappeReconnectIndicator.native.js.map +1 -1
  35. package/dist/cjs/FrappeRecordView.native.js.map +1 -1
  36. package/dist/cjs/FrappeReportBuilder.cjs +523 -309
  37. package/dist/cjs/FrappeReportBuilder.native.js +658 -353
  38. package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
  39. package/dist/cjs/FrappeReportView.cjs +35 -234
  40. package/dist/cjs/FrappeReportView.native.js +42 -286
  41. package/dist/cjs/FrappeReportView.native.js.map +1 -1
  42. package/dist/cjs/FrappeRowsReader.native.js.map +1 -1
  43. package/dist/cjs/FrappeTable.native.js.map +1 -1
  44. package/dist/cjs/FrappeTreeView.native.js.map +1 -1
  45. package/dist/cjs/SyncErrorNotice.native.js.map +1 -1
  46. package/dist/cjs/commentActions.native.js.map +1 -1
  47. package/dist/cjs/components/attachments.native.js.map +1 -1
  48. package/dist/cjs/components/tags.native.js.map +1 -1
  49. package/dist/cjs/components/timeline.native.js.map +1 -1
  50. package/dist/cjs/dependsOn.cjs +2 -2
  51. package/dist/cjs/dependsOn.native.js +1 -2
  52. package/dist/cjs/dependsOn.native.js.map +1 -1
  53. package/dist/cjs/desk/DeskFormPage.native.js.map +1 -1
  54. package/dist/cjs/desk/DeskFormSidebar.native.js.map +1 -1
  55. package/dist/cjs/desk/DeskListPage.native.js.map +1 -1
  56. package/dist/cjs/desk/DeskShell.native.js.map +1 -1
  57. package/dist/cjs/desk/DeskSidebar.native.js.map +1 -1
  58. package/dist/cjs/desk/awesomebar.native.js.map +1 -1
  59. package/dist/cjs/fieldOverrides.native.js.map +1 -1
  60. package/dist/cjs/fieldRegistry.native.js +31 -31
  61. package/dist/cjs/fieldRegistry.native.js.map +1 -1
  62. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  63. package/dist/cjs/fields/Check/index.native.js.map +1 -1
  64. package/dist/cjs/fields/CodeEditor/index.native.js.map +1 -1
  65. package/dist/cjs/fields/Color/index.native.js.map +1 -1
  66. package/dist/cjs/fields/Data/index.native.js.map +1 -1
  67. package/dist/cjs/fields/Date/sheetKeyboard.native.js.map +1 -1
  68. package/dist/cjs/fields/Date/types.native.js.map +1 -1
  69. package/dist/cjs/fields/Date/wire.native.js.map +1 -1
  70. package/dist/cjs/fields/DateRange/index.native.js.map +1 -1
  71. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  72. package/dist/cjs/fields/DynamicLink.native.js.map +1 -1
  73. package/dist/cjs/fields/FileUpload.native.js.map +1 -1
  74. package/dist/cjs/fields/FileUploadField/index.native.js.map +1 -1
  75. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  76. package/dist/cjs/fields/HTML/index.native.js.map +1 -1
  77. package/dist/cjs/fields/Heading/index.native.js.map +1 -1
  78. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  79. package/dist/cjs/fields/Link.native.js.map +1 -1
  80. package/dist/cjs/fields/LinkTree.native.js.map +1 -1
  81. package/dist/cjs/fields/LongText/index.native.js.map +1 -1
  82. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  83. package/dist/cjs/fields/Numeric/index.native.js.map +1 -1
  84. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  85. package/dist/cjs/fields/Password/index.native.js.map +1 -1
  86. package/dist/cjs/fields/Phone/index.native.js.map +1 -1
  87. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  88. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  89. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  90. package/dist/cjs/fields/ReadOnly/index.native.js.map +1 -1
  91. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  92. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  93. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  94. package/dist/cjs/fields/SmallText/index.native.js.map +1 -1
  95. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  96. package/dist/cjs/fields/TableMultiSelect.native.js.map +1 -1
  97. package/dist/cjs/fields/TextEditor/types.native.js.map +1 -1
  98. package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
  99. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  100. package/dist/cjs/fields/shared/EditorPreviewPanes.cjs +2 -2
  101. package/dist/cjs/fields/shared/EditorPreviewPanes.native.js +2 -2
  102. package/dist/cjs/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  103. package/dist/cjs/filterFields.native.js.map +1 -1
  104. package/dist/cjs/formEngine/createPrefill.native.js.map +1 -1
  105. package/dist/cjs/formEngine/dirtyTracking.native.js.map +1 -1
  106. package/dist/cjs/formEngine/docLifecycle.native.js.map +1 -1
  107. package/dist/cjs/formEngine/docPermissions.cjs +20 -0
  108. package/dist/cjs/formEngine/docPermissions.native.js +69 -0
  109. package/dist/cjs/formEngine/docPermissions.native.js.map +1 -1
  110. package/dist/cjs/formEngine/doctypeMeta.native.js.map +1 -1
  111. package/dist/cjs/formEngine/fetchFrom.native.js.map +1 -1
  112. package/dist/cjs/formEngine/fieldPermissions.native.js.map +1 -1
  113. package/dist/cjs/formEngine/formActions.native.js.map +1 -1
  114. package/dist/cjs/formEngine/formLayout.native.js.map +1 -1
  115. package/dist/cjs/formEngine/index.cjs +2 -0
  116. package/dist/cjs/formEngine/index.native.js +2 -0
  117. package/dist/cjs/formEngine/index.native.js.map +1 -1
  118. package/dist/cjs/formEngine/useAmendedAs.native.js.map +1 -1
  119. package/dist/cjs/formEngine/useDocRights.native.js.map +1 -1
  120. package/dist/cjs/formEngine/useFormEngine.native.js.map +1 -1
  121. package/dist/cjs/formEngine/useSessionRoles.native.js.map +1 -1
  122. package/dist/cjs/frappeConnections.native.js.map +1 -1
  123. package/dist/cjs/frappeEventColor.native.js.map +1 -1
  124. package/dist/cjs/frappeNavigation.native.js.map +1 -1
  125. package/dist/cjs/frappeStoryTarget.native.js.map +1 -1
  126. package/dist/cjs/frappeUsers.native.js.map +1 -1
  127. package/dist/cjs/index.cjs +67 -7
  128. package/dist/cjs/index.native.js +101 -41
  129. package/dist/cjs/index.native.js.map +1 -1
  130. package/dist/cjs/insights/InsightsFacetTags.native.js.map +1 -1
  131. package/dist/cjs/insights/InsightsKpiBand.native.js.map +1 -1
  132. package/dist/cjs/insights/InsightsLeaders.native.js.map +1 -1
  133. package/dist/cjs/insights/InsightsRecords.native.js.map +1 -1
  134. package/dist/cjs/insights/InsightsTable.native.js.map +1 -1
  135. package/dist/cjs/insights/insightsData.native.js.map +1 -1
  136. package/dist/cjs/insights/insightsRecord.native.js.map +1 -1
  137. package/dist/cjs/list/FacetBadge.native.js.map +1 -1
  138. package/dist/cjs/list/FacetRail.native.js.map +1 -1
  139. package/dist/cjs/list/ImageWell.native.js.map +1 -1
  140. package/dist/cjs/list/ListControls.native.js.map +1 -1
  141. package/dist/cjs/list/ListToastHost.native.js.map +1 -1
  142. package/dist/cjs/list/RangeFilter.native.js.map +1 -1
  143. package/dist/cjs/list/ShufflePanel.native.js.map +1 -1
  144. package/dist/cjs/list/facetReading.native.js.map +1 -1
  145. package/dist/cjs/list/favorites.native.js.map +1 -1
  146. package/dist/cjs/list/listColumns.native.js.map +1 -1
  147. package/dist/cjs/list/listFields.native.js.map +1 -1
  148. package/dist/cjs/list/listFormat.native.js.map +1 -1
  149. package/dist/cjs/list/listState.native.js.map +1 -1
  150. package/dist/cjs/list/recordLook.native.js.map +1 -1
  151. package/dist/cjs/list/statusColors.native.js.map +1 -1
  152. package/dist/cjs/list/useListControls.native.js.map +1 -1
  153. package/dist/cjs/liveErrors.cjs +8 -2
  154. package/dist/cjs/liveErrors.native.js +8 -2
  155. package/dist/cjs/liveErrors.native.js.map +1 -1
  156. package/dist/cjs/measures.cjs +31 -0
  157. package/dist/cjs/measures.native.js +34 -0
  158. package/dist/cjs/measures.native.js.map +1 -0
  159. package/dist/cjs/record/RecordBars.native.js.map +1 -1
  160. package/dist/cjs/record/RecordGallery.native.js.map +1 -1
  161. package/dist/cjs/record/RecordHero.native.js.map +1 -1
  162. package/dist/cjs/record/RecordPage.native.js.map +1 -1
  163. package/dist/cjs/record/RecordPager.native.js.map +1 -1
  164. package/dist/cjs/record/RecordRows.native.js.map +1 -1
  165. package/dist/cjs/record/recordData.native.js.map +1 -1
  166. package/dist/cjs/record/recordSections.native.js.map +1 -1
  167. package/dist/cjs/recordShape.cjs +103 -0
  168. package/dist/cjs/recordShape.native.js +115 -0
  169. package/dist/cjs/recordShape.native.js.map +1 -0
  170. package/dist/cjs/report/ReportGrid.cjs +453 -0
  171. package/dist/cjs/report/ReportGrid.native.js +510 -0
  172. package/dist/cjs/report/ReportGrid.native.js.map +1 -0
  173. package/dist/cjs/report/ReportViewToolbar.cjs +253 -0
  174. package/dist/cjs/report/ReportViewToolbar.native.js +303 -0
  175. package/dist/cjs/report/ReportViewToolbar.native.js.map +1 -0
  176. package/dist/cjs/report/queryReport.cjs +444 -0
  177. package/dist/cjs/report/queryReport.native.js +588 -0
  178. package/dist/cjs/report/queryReport.native.js.map +1 -0
  179. package/dist/cjs/report/queryReportColumns.cjs +131 -0
  180. package/dist/cjs/report/queryReportColumns.native.js +159 -0
  181. package/dist/cjs/report/queryReportColumns.native.js.map +1 -0
  182. package/dist/cjs/report/reportViewModel.cjs +386 -0
  183. package/dist/cjs/report/reportViewModel.native.js +657 -0
  184. package/dist/cjs/report/reportViewModel.native.js.map +1 -0
  185. package/dist/cjs/report/savedReports.cjs +137 -0
  186. package/dist/cjs/report/savedReports.native.js +169 -0
  187. package/dist/cjs/report/savedReports.native.js.map +1 -0
  188. package/dist/cjs/report/useFrappeReport.cjs +184 -0
  189. package/dist/cjs/report/useFrappeReport.native.js +214 -0
  190. package/dist/cjs/report/useFrappeReport.native.js.map +1 -0
  191. package/dist/cjs/report/useQueryReport.cjs +201 -0
  192. package/dist/cjs/report/useQueryReport.native.js +233 -0
  193. package/dist/cjs/report/useQueryReport.native.js.map +1 -0
  194. package/dist/cjs/resolveControl.native.js.map +1 -1
  195. package/dist/cjs/schemaForm/SchemaWizard.native.js.map +1 -1
  196. package/dist/cjs/schemaForm/applyFieldOrder.native.js.map +1 -1
  197. package/dist/cjs/schemaForm/index.native.js +1 -1
  198. package/dist/cjs/schemaForm/index.native.js.map +1 -1
  199. package/dist/cjs/shared/devWarn.native.js.map +1 -1
  200. package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
  201. package/dist/cjs/syncError.native.js.map +1 -1
  202. package/dist/cjs/useConnectionFilters.native.js.map +1 -1
  203. package/dist/cjs/useFrappeAggregate.native.js.map +1 -1
  204. package/dist/cjs/useFrappeFacets.native.js.map +1 -1
  205. package/dist/cjs/useFrappeForm.cjs +558 -0
  206. package/dist/cjs/useFrappeForm.native.js +714 -0
  207. package/dist/cjs/useFrappeForm.native.js.map +1 -0
  208. package/dist/cjs/useFrappePagination.native.js.map +1 -1
  209. package/dist/cjs/useFrappeRows.native.js.map +1 -1
  210. package/dist/esm/ChartCard.native.js.map +1 -1
  211. package/dist/esm/FileBrowser/AttachLibrary.native.js.map +1 -1
  212. package/dist/esm/FileBrowser/folderTree.native.js.map +1 -1
  213. package/dist/esm/FileBrowser/index.mjs +20 -3
  214. package/dist/esm/FileBrowser/index.mjs.map +1 -1
  215. package/dist/esm/FileBrowser/index.native.js +20 -3
  216. package/dist/esm/FileBrowser/index.native.js.map +1 -1
  217. package/dist/esm/FileBrowser/types.native.js.map +1 -1
  218. package/dist/esm/FileBrowser/viewPersistence.native.js.map +1 -1
  219. package/dist/esm/FormSidebar.native.js.map +1 -1
  220. package/dist/esm/FrappeAssignment.native.js.map +1 -1
  221. package/dist/esm/FrappeCalendar.mjs +4 -3
  222. package/dist/esm/FrappeCalendar.mjs.map +1 -1
  223. package/dist/esm/FrappeCalendar.native.js +4 -3
  224. package/dist/esm/FrappeCalendar.native.js.map +1 -1
  225. package/dist/esm/FrappeChartCard.native.js.map +1 -1
  226. package/dist/esm/FrappeConnectionIndicator.native.js.map +1 -1
  227. package/dist/esm/FrappeDashboard.native.js.map +1 -1
  228. package/dist/esm/FrappeForm.mjs +151 -467
  229. package/dist/esm/FrappeForm.mjs.map +1 -1
  230. package/dist/esm/FrappeForm.native.js +155 -636
  231. package/dist/esm/FrappeForm.native.js.map +1 -1
  232. package/dist/esm/FrappeFormActions.native.js.map +1 -1
  233. package/dist/esm/FrappeFormConnections.native.js.map +1 -1
  234. package/dist/esm/FrappeGantt.native.js.map +1 -1
  235. package/dist/esm/FrappeImageView.native.js.map +1 -1
  236. package/dist/esm/FrappeInsights.native.js.map +1 -1
  237. package/dist/esm/FrappeKPICard.native.js.map +1 -1
  238. package/dist/esm/FrappeKanban.native.js.map +1 -1
  239. package/dist/esm/FrappeLikedBy.native.js.map +1 -1
  240. package/dist/esm/FrappeList.native.js.map +1 -1
  241. package/dist/esm/FrappeListView.mjs +6 -28
  242. package/dist/esm/FrappeListView.mjs.map +1 -1
  243. package/dist/esm/FrappeListView.native.js +12 -33
  244. package/dist/esm/FrappeListView.native.js.map +1 -1
  245. package/dist/esm/FrappeNotConfigured.native.js.map +1 -1
  246. package/dist/esm/FrappeProvider.native.js.map +1 -1
  247. package/dist/esm/FrappeReconnectIndicator.native.js.map +1 -1
  248. package/dist/esm/FrappeRecordView.native.js.map +1 -1
  249. package/dist/esm/FrappeReportBuilder.mjs +526 -312
  250. package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
  251. package/dist/esm/FrappeReportBuilder.native.js +661 -356
  252. package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
  253. package/dist/esm/FrappeReportView.mjs +30 -229
  254. package/dist/esm/FrappeReportView.mjs.map +1 -1
  255. package/dist/esm/FrappeReportView.native.js +34 -278
  256. package/dist/esm/FrappeReportView.native.js.map +1 -1
  257. package/dist/esm/FrappeRowsReader.native.js.map +1 -1
  258. package/dist/esm/FrappeTable.native.js.map +1 -1
  259. package/dist/esm/FrappeTreeView.native.js.map +1 -1
  260. package/dist/esm/SyncErrorNotice.native.js.map +1 -1
  261. package/dist/esm/commentActions.native.js.map +1 -1
  262. package/dist/esm/components/attachments.native.js.map +1 -1
  263. package/dist/esm/components/tags.native.js.map +1 -1
  264. package/dist/esm/components/timeline.native.js.map +1 -1
  265. package/dist/esm/dependsOn.mjs +2 -2
  266. package/dist/esm/dependsOn.mjs.map +1 -1
  267. package/dist/esm/dependsOn.native.js +1 -2
  268. package/dist/esm/dependsOn.native.js.map +1 -1
  269. package/dist/esm/desk/DeskFormPage.native.js.map +1 -1
  270. package/dist/esm/desk/DeskFormSidebar.native.js.map +1 -1
  271. package/dist/esm/desk/DeskListPage.native.js.map +1 -1
  272. package/dist/esm/desk/DeskShell.native.js.map +1 -1
  273. package/dist/esm/desk/DeskSidebar.native.js.map +1 -1
  274. package/dist/esm/desk/awesomebar.native.js.map +1 -1
  275. package/dist/esm/fieldOverrides.native.js.map +1 -1
  276. package/dist/esm/fieldRegistry.native.js.map +1 -1
  277. package/dist/esm/fields/Barcode/index.native.js.map +1 -1
  278. package/dist/esm/fields/Check/index.native.js.map +1 -1
  279. package/dist/esm/fields/CodeEditor/index.native.js.map +1 -1
  280. package/dist/esm/fields/Color/index.native.js.map +1 -1
  281. package/dist/esm/fields/Data/index.native.js.map +1 -1
  282. package/dist/esm/fields/Date/sheetKeyboard.native.js.map +1 -1
  283. package/dist/esm/fields/Date/types.native.js.map +1 -1
  284. package/dist/esm/fields/Date/wire.native.js.map +1 -1
  285. package/dist/esm/fields/DateRange/index.native.js.map +1 -1
  286. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  287. package/dist/esm/fields/DynamicLink.native.js.map +1 -1
  288. package/dist/esm/fields/FileUpload.native.js.map +1 -1
  289. package/dist/esm/fields/FileUploadField/index.native.js.map +1 -1
  290. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  291. package/dist/esm/fields/HTML/index.native.js.map +1 -1
  292. package/dist/esm/fields/Heading/index.native.js.map +1 -1
  293. package/dist/esm/fields/Icon/index.native.js.map +1 -1
  294. package/dist/esm/fields/Link.native.js.map +1 -1
  295. package/dist/esm/fields/LinkTree.native.js.map +1 -1
  296. package/dist/esm/fields/LongText/index.native.js.map +1 -1
  297. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  298. package/dist/esm/fields/Numeric/index.native.js.map +1 -1
  299. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  300. package/dist/esm/fields/Password/index.native.js.map +1 -1
  301. package/dist/esm/fields/Phone/index.native.js.map +1 -1
  302. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  303. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  304. package/dist/esm/fields/Rating/index.native.js.map +1 -1
  305. package/dist/esm/fields/ReadOnly/index.native.js.map +1 -1
  306. package/dist/esm/fields/Select/index.native.js.map +1 -1
  307. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  308. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  309. package/dist/esm/fields/SmallText/index.native.js.map +1 -1
  310. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  311. package/dist/esm/fields/TableMultiSelect.native.js.map +1 -1
  312. package/dist/esm/fields/TextEditor/types.native.js.map +1 -1
  313. package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
  314. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  315. package/dist/esm/fields/shared/EditorPreviewPanes.mjs +2 -2
  316. package/dist/esm/fields/shared/EditorPreviewPanes.mjs.map +1 -1
  317. package/dist/esm/fields/shared/EditorPreviewPanes.native.js +2 -2
  318. package/dist/esm/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  319. package/dist/esm/filterFields.native.js.map +1 -1
  320. package/dist/esm/formEngine/createPrefill.native.js.map +1 -1
  321. package/dist/esm/formEngine/dirtyTracking.native.js.map +1 -1
  322. package/dist/esm/formEngine/docLifecycle.native.js.map +1 -1
  323. package/dist/esm/formEngine/docPermissions.mjs +19 -1
  324. package/dist/esm/formEngine/docPermissions.mjs.map +1 -1
  325. package/dist/esm/formEngine/docPermissions.native.js +68 -1
  326. package/dist/esm/formEngine/docPermissions.native.js.map +1 -1
  327. package/dist/esm/formEngine/doctypeMeta.native.js.map +1 -1
  328. package/dist/esm/formEngine/fetchFrom.native.js.map +1 -1
  329. package/dist/esm/formEngine/fieldPermissions.native.js.map +1 -1
  330. package/dist/esm/formEngine/formActions.native.js.map +1 -1
  331. package/dist/esm/formEngine/formLayout.native.js.map +1 -1
  332. package/dist/esm/formEngine/index.mjs +2 -2
  333. package/dist/esm/formEngine/index.mjs.map +1 -1
  334. package/dist/esm/formEngine/index.native.js +2 -2
  335. package/dist/esm/formEngine/index.native.js.map +1 -1
  336. package/dist/esm/formEngine/useAmendedAs.native.js.map +1 -1
  337. package/dist/esm/formEngine/useDocRights.native.js.map +1 -1
  338. package/dist/esm/formEngine/useFormEngine.native.js.map +1 -1
  339. package/dist/esm/formEngine/useSessionRoles.native.js.map +1 -1
  340. package/dist/esm/frappeConnections.native.js.map +1 -1
  341. package/dist/esm/frappeEventColor.native.js.map +1 -1
  342. package/dist/esm/frappeNavigation.native.js.map +1 -1
  343. package/dist/esm/frappeStoryTarget.native.js.map +1 -1
  344. package/dist/esm/frappeUsers.native.js.map +1 -1
  345. package/dist/esm/index.mjs +16 -4
  346. package/dist/esm/index.mjs.map +1 -1
  347. package/dist/esm/index.native.js +16 -4
  348. package/dist/esm/index.native.js.map +1 -1
  349. package/dist/esm/insights/InsightsFacetTags.native.js.map +1 -1
  350. package/dist/esm/insights/InsightsKpiBand.native.js.map +1 -1
  351. package/dist/esm/insights/InsightsLeaders.native.js.map +1 -1
  352. package/dist/esm/insights/InsightsRecords.native.js.map +1 -1
  353. package/dist/esm/insights/InsightsTable.native.js.map +1 -1
  354. package/dist/esm/insights/insightsData.native.js.map +1 -1
  355. package/dist/esm/insights/insightsRecord.native.js.map +1 -1
  356. package/dist/esm/list/FacetBadge.native.js.map +1 -1
  357. package/dist/esm/list/FacetRail.native.js.map +1 -1
  358. package/dist/esm/list/ImageWell.native.js.map +1 -1
  359. package/dist/esm/list/ListControls.native.js.map +1 -1
  360. package/dist/esm/list/ListToastHost.native.js.map +1 -1
  361. package/dist/esm/list/RangeFilter.native.js.map +1 -1
  362. package/dist/esm/list/ShufflePanel.native.js.map +1 -1
  363. package/dist/esm/list/facetReading.native.js.map +1 -1
  364. package/dist/esm/list/favorites.native.js.map +1 -1
  365. package/dist/esm/list/listColumns.native.js.map +1 -1
  366. package/dist/esm/list/listFields.native.js.map +1 -1
  367. package/dist/esm/list/listFormat.native.js.map +1 -1
  368. package/dist/esm/list/listState.native.js.map +1 -1
  369. package/dist/esm/list/recordLook.native.js.map +1 -1
  370. package/dist/esm/list/statusColors.native.js.map +1 -1
  371. package/dist/esm/list/useListControls.native.js.map +1 -1
  372. package/dist/esm/liveErrors.mjs +8 -3
  373. package/dist/esm/liveErrors.mjs.map +1 -1
  374. package/dist/esm/liveErrors.native.js +8 -3
  375. package/dist/esm/liveErrors.native.js.map +1 -1
  376. package/dist/esm/measures.mjs +5 -0
  377. package/dist/esm/measures.mjs.map +1 -0
  378. package/dist/esm/measures.native.js +5 -0
  379. package/dist/esm/measures.native.js.map +1 -0
  380. package/dist/esm/record/RecordBars.native.js.map +1 -1
  381. package/dist/esm/record/RecordGallery.native.js.map +1 -1
  382. package/dist/esm/record/RecordHero.native.js.map +1 -1
  383. package/dist/esm/record/RecordPage.native.js.map +1 -1
  384. package/dist/esm/record/RecordPager.native.js.map +1 -1
  385. package/dist/esm/record/RecordRows.native.js.map +1 -1
  386. package/dist/esm/record/recordData.native.js.map +1 -1
  387. package/dist/esm/record/recordSections.native.js.map +1 -1
  388. package/dist/esm/recordShape.mjs +74 -0
  389. package/dist/esm/recordShape.mjs.map +1 -0
  390. package/dist/esm/recordShape.native.js +83 -0
  391. package/dist/esm/recordShape.native.js.map +1 -0
  392. package/dist/esm/report/ReportGrid.mjs +428 -0
  393. package/dist/esm/report/ReportGrid.mjs.map +1 -0
  394. package/dist/esm/report/ReportGrid.native.js +471 -0
  395. package/dist/esm/report/ReportGrid.native.js.map +1 -0
  396. package/dist/esm/report/ReportViewToolbar.mjs +228 -0
  397. package/dist/esm/report/ReportViewToolbar.mjs.map +1 -0
  398. package/dist/esm/report/ReportViewToolbar.native.js +264 -0
  399. package/dist/esm/report/ReportViewToolbar.native.js.map +1 -0
  400. package/dist/esm/report/queryReport.mjs +404 -0
  401. package/dist/esm/report/queryReport.mjs.map +1 -0
  402. package/dist/esm/report/queryReport.native.js +545 -0
  403. package/dist/esm/report/queryReport.native.js.map +1 -0
  404. package/dist/esm/report/queryReportColumns.mjs +105 -0
  405. package/dist/esm/report/queryReportColumns.mjs.map +1 -0
  406. package/dist/esm/report/queryReportColumns.native.js +119 -0
  407. package/dist/esm/report/queryReportColumns.native.js.map +1 -0
  408. package/dist/esm/report/reportViewModel.mjs +343 -0
  409. package/dist/esm/report/reportViewModel.mjs.map +1 -0
  410. package/dist/esm/report/reportViewModel.native.js +611 -0
  411. package/dist/esm/report/reportViewModel.native.js.map +1 -0
  412. package/dist/esm/report/savedReports.mjs +112 -0
  413. package/dist/esm/report/savedReports.mjs.map +1 -0
  414. package/dist/esm/report/savedReports.native.js +141 -0
  415. package/dist/esm/report/savedReports.native.js.map +1 -0
  416. package/dist/esm/report/useFrappeReport.mjs +158 -0
  417. package/dist/esm/report/useFrappeReport.mjs.map +1 -0
  418. package/dist/esm/report/useFrappeReport.native.js +185 -0
  419. package/dist/esm/report/useFrappeReport.native.js.map +1 -0
  420. package/dist/esm/report/useQueryReport.mjs +176 -0
  421. package/dist/esm/report/useQueryReport.mjs.map +1 -0
  422. package/dist/esm/report/useQueryReport.native.js +205 -0
  423. package/dist/esm/report/useQueryReport.native.js.map +1 -0
  424. package/dist/esm/resolveControl.native.js.map +1 -1
  425. package/dist/esm/schemaForm/SchemaWizard.native.js.map +1 -1
  426. package/dist/esm/schemaForm/applyFieldOrder.native.js.map +1 -1
  427. package/dist/esm/schemaForm/index.native.js.map +1 -1
  428. package/dist/esm/shared/devWarn.native.js.map +1 -1
  429. package/dist/esm/shared/useKeyboardInset.native.js.map +1 -1
  430. package/dist/esm/syncError.native.js.map +1 -1
  431. package/dist/esm/useConnectionFilters.native.js.map +1 -1
  432. package/dist/esm/useFrappeAggregate.native.js.map +1 -1
  433. package/dist/esm/useFrappeFacets.native.js.map +1 -1
  434. package/dist/esm/useFrappeForm.mjs +533 -0
  435. package/dist/esm/useFrappeForm.mjs.map +1 -0
  436. package/dist/esm/useFrappeForm.native.js +686 -0
  437. package/dist/esm/useFrappeForm.native.js.map +1 -0
  438. package/dist/esm/useFrappePagination.native.js.map +1 -1
  439. package/dist/esm/useFrappeRows.native.js.map +1 -1
  440. package/dist/jsx/FileBrowser/index.mjs +20 -3
  441. package/dist/jsx/FileBrowser/index.mjs.map +1 -1
  442. package/dist/jsx/FileBrowser/index.native.js +20 -3
  443. package/dist/jsx/FileBrowser/index.native.js.map +1 -1
  444. package/dist/jsx/FrappeCalendar.mjs +4 -3
  445. package/dist/jsx/FrappeCalendar.mjs.map +1 -1
  446. package/dist/jsx/FrappeCalendar.native.js +3 -2
  447. package/dist/jsx/FrappeCalendar.native.js.map +1 -1
  448. package/dist/jsx/FrappeForm.mjs +151 -467
  449. package/dist/jsx/FrappeForm.mjs.map +1 -1
  450. package/dist/jsx/FrappeForm.native.js +152 -633
  451. package/dist/jsx/FrappeForm.native.js.map +1 -1
  452. package/dist/jsx/FrappeListView.mjs +6 -28
  453. package/dist/jsx/FrappeListView.mjs.map +1 -1
  454. package/dist/jsx/FrappeListView.native.js +11 -32
  455. package/dist/jsx/FrappeListView.native.js.map +1 -1
  456. package/dist/jsx/FrappeReportBuilder.mjs +526 -312
  457. package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
  458. package/dist/jsx/FrappeReportBuilder.native.js +658 -353
  459. package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
  460. package/dist/jsx/FrappeReportView.mjs +30 -229
  461. package/dist/jsx/FrappeReportView.mjs.map +1 -1
  462. package/dist/jsx/FrappeReportView.native.js +39 -283
  463. package/dist/jsx/FrappeReportView.native.js.map +1 -1
  464. package/dist/jsx/dependsOn.mjs +2 -2
  465. package/dist/jsx/dependsOn.mjs.map +1 -1
  466. package/dist/jsx/dependsOn.native.js +1 -2
  467. package/dist/jsx/dependsOn.native.js.map +1 -1
  468. package/dist/jsx/fields/shared/EditorPreviewPanes.mjs +2 -2
  469. package/dist/jsx/fields/shared/EditorPreviewPanes.mjs.map +1 -1
  470. package/dist/jsx/fields/shared/EditorPreviewPanes.native.js +2 -2
  471. package/dist/jsx/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  472. package/dist/jsx/formEngine/docPermissions.mjs +19 -1
  473. package/dist/jsx/formEngine/docPermissions.mjs.map +1 -1
  474. package/dist/jsx/formEngine/docPermissions.native.js +69 -0
  475. package/dist/jsx/formEngine/docPermissions.native.js.map +1 -1
  476. package/dist/jsx/formEngine/index.mjs +2 -2
  477. package/dist/jsx/formEngine/index.mjs.map +1 -1
  478. package/dist/jsx/formEngine/index.native.js +2 -0
  479. package/dist/jsx/formEngine/index.native.js.map +1 -1
  480. package/dist/jsx/index.js +16 -4
  481. package/dist/jsx/index.js.map +1 -1
  482. package/dist/jsx/index.mjs +16 -4
  483. package/dist/jsx/index.mjs.map +1 -1
  484. package/dist/jsx/index.native.js +67 -7
  485. package/dist/jsx/index.native.js.map +1 -1
  486. package/dist/jsx/liveErrors.mjs +8 -3
  487. package/dist/jsx/liveErrors.mjs.map +1 -1
  488. package/dist/jsx/liveErrors.native.js +8 -2
  489. package/dist/jsx/liveErrors.native.js.map +1 -1
  490. package/dist/jsx/measures.mjs +5 -0
  491. package/dist/jsx/measures.mjs.map +1 -0
  492. package/dist/jsx/measures.native.js +34 -0
  493. package/dist/jsx/measures.native.js.map +1 -0
  494. package/dist/jsx/recordShape.mjs +74 -0
  495. package/dist/jsx/recordShape.mjs.map +1 -0
  496. package/dist/jsx/recordShape.native.js +115 -0
  497. package/dist/jsx/recordShape.native.js.map +1 -0
  498. package/dist/jsx/report/ReportGrid.mjs +428 -0
  499. package/dist/jsx/report/ReportGrid.mjs.map +1 -0
  500. package/dist/jsx/report/ReportGrid.native.js +510 -0
  501. package/dist/jsx/report/ReportGrid.native.js.map +1 -0
  502. package/dist/jsx/report/ReportViewToolbar.mjs +228 -0
  503. package/dist/jsx/report/ReportViewToolbar.mjs.map +1 -0
  504. package/dist/jsx/report/ReportViewToolbar.native.js +303 -0
  505. package/dist/jsx/report/ReportViewToolbar.native.js.map +1 -0
  506. package/dist/jsx/report/queryReport.mjs +404 -0
  507. package/dist/jsx/report/queryReport.mjs.map +1 -0
  508. package/dist/jsx/report/queryReport.native.js +588 -0
  509. package/dist/jsx/report/queryReport.native.js.map +1 -0
  510. package/dist/jsx/report/queryReportColumns.mjs +105 -0
  511. package/dist/jsx/report/queryReportColumns.mjs.map +1 -0
  512. package/dist/jsx/report/queryReportColumns.native.js +159 -0
  513. package/dist/jsx/report/queryReportColumns.native.js.map +1 -0
  514. package/dist/jsx/report/reportViewModel.mjs +343 -0
  515. package/dist/jsx/report/reportViewModel.mjs.map +1 -0
  516. package/dist/jsx/report/reportViewModel.native.js +657 -0
  517. package/dist/jsx/report/reportViewModel.native.js.map +1 -0
  518. package/dist/jsx/report/savedReports.mjs +112 -0
  519. package/dist/jsx/report/savedReports.mjs.map +1 -0
  520. package/dist/jsx/report/savedReports.native.js +169 -0
  521. package/dist/jsx/report/savedReports.native.js.map +1 -0
  522. package/dist/jsx/report/useFrappeReport.mjs +158 -0
  523. package/dist/jsx/report/useFrappeReport.mjs.map +1 -0
  524. package/dist/jsx/report/useFrappeReport.native.js +214 -0
  525. package/dist/jsx/report/useFrappeReport.native.js.map +1 -0
  526. package/dist/jsx/report/useQueryReport.mjs +176 -0
  527. package/dist/jsx/report/useQueryReport.mjs.map +1 -0
  528. package/dist/jsx/report/useQueryReport.native.js +233 -0
  529. package/dist/jsx/report/useQueryReport.native.js.map +1 -0
  530. package/dist/jsx/useFrappeForm.mjs +533 -0
  531. package/dist/jsx/useFrappeForm.mjs.map +1 -0
  532. package/dist/jsx/useFrappeForm.native.js +714 -0
  533. package/dist/jsx/useFrappeForm.native.js.map +1 -0
  534. package/package.json +16 -16
  535. package/src/FileBrowser/FileBrowser.spec.tsx +21 -0
  536. package/src/FileBrowser/FileBrowser.stories.tsx +27 -0
  537. package/src/FileBrowser/index.tsx +25 -2
  538. package/src/FrappeCalendar.tsx +8 -2
  539. package/src/FrappeForm.stories.tsx +52 -0
  540. package/src/FrappeForm.tsx +176 -565
  541. package/src/FrappeListView.cards.stories.tsx +3 -6
  542. package/src/FrappeListView.tsx +15 -55
  543. package/src/FrappeReportBuilder.stories.tsx +34 -7
  544. package/src/FrappeReportBuilder.tsx +790 -380
  545. package/src/FrappeReportView.spec.tsx +10 -6
  546. package/src/FrappeReportView.stories.tsx +20 -1
  547. package/src/FrappeReportView.tsx +89 -415
  548. package/src/dependsOn.ts +4 -1
  549. package/src/fields/shared/EditorPreviewPanes.tsx +2 -2
  550. package/src/formEngine/docPermissions.spec.ts +36 -1
  551. package/src/formEngine/docPermissions.ts +34 -0
  552. package/src/formEngine/index.ts +8 -1
  553. package/src/frappeRemainder.designLaw.spec.ts +9 -1
  554. package/src/frappeRoutes.spec.tsx +9 -0
  555. package/src/frappeViews.designLaw.spec.ts +15 -2
  556. package/src/guestFallback.spec.tsx +236 -0
  557. package/src/index.ts +117 -16
  558. package/src/liveErrors.spec.ts +10 -0
  559. package/src/liveErrors.ts +16 -3
  560. package/src/measures.ts +11 -0
  561. package/src/recordShape.spec.ts +100 -0
  562. package/src/recordShape.ts +133 -0
  563. package/src/report/ReportGrid.spec.tsx +175 -0
  564. package/src/report/ReportGrid.tsx +530 -0
  565. package/src/report/ReportViewToolbar.spec.tsx +90 -0
  566. package/src/report/ReportViewToolbar.tsx +314 -0
  567. package/src/report/queryReport.spec.ts +483 -0
  568. package/src/report/queryReport.ts +722 -0
  569. package/src/report/queryReportColumns.tsx +123 -0
  570. package/src/report/reportViewModel.spec.ts +393 -0
  571. package/src/report/reportViewModel.ts +617 -0
  572. package/src/report/savedReports.ts +172 -0
  573. package/src/report/seam.spec.ts +216 -0
  574. package/src/report/useFrappeReport.ts +241 -0
  575. package/src/report/useQueryReport.spec.tsx +131 -0
  576. package/src/report/useQueryReport.ts +309 -0
  577. package/src/useFrappeForm.spec.tsx +209 -0
  578. package/src/useFrappeForm.ts +778 -0
  579. package/types/FileBrowser/index.d.ts.map +1 -1
  580. package/types/FrappeCalendar.d.ts.map +1 -1
  581. package/types/FrappeForm.d.ts +21 -1
  582. package/types/FrappeForm.d.ts.map +1 -1
  583. package/types/FrappeListView.d.ts.map +1 -1
  584. package/types/FrappeReportBuilder.d.ts +66 -16
  585. package/types/FrappeReportBuilder.d.ts.map +1 -1
  586. package/types/FrappeReportView.d.ts +9 -127
  587. package/types/FrappeReportView.d.ts.map +1 -1
  588. package/types/dependsOn.d.ts.map +1 -1
  589. package/types/formEngine/docPermissions.d.ts +14 -0
  590. package/types/formEngine/docPermissions.d.ts.map +1 -1
  591. package/types/formEngine/index.d.ts +1 -1
  592. package/types/formEngine/index.d.ts.map +1 -1
  593. package/types/index.d.ts +15 -3
  594. package/types/index.d.ts.map +1 -1
  595. package/types/liveErrors.d.ts +9 -1
  596. package/types/liveErrors.d.ts.map +1 -1
  597. package/types/measures.d.ts +3 -0
  598. package/types/measures.d.ts.map +1 -0
  599. package/types/recordShape.d.ts +45 -0
  600. package/types/recordShape.d.ts.map +1 -0
  601. package/types/report/ReportGrid.d.ts +20 -0
  602. package/types/report/ReportGrid.d.ts.map +1 -0
  603. package/types/report/ReportViewToolbar.d.ts +31 -0
  604. package/types/report/ReportViewToolbar.d.ts.map +1 -0
  605. package/types/report/queryReport.d.ts +181 -0
  606. package/types/report/queryReport.d.ts.map +1 -0
  607. package/types/report/queryReportColumns.d.ts +12 -0
  608. package/types/report/queryReportColumns.d.ts.map +1 -0
  609. package/types/report/reportViewModel.d.ts +146 -0
  610. package/types/report/reportViewModel.d.ts.map +1 -0
  611. package/types/report/savedReports.d.ts +27 -0
  612. package/types/report/savedReports.d.ts.map +1 -0
  613. package/types/report/useFrappeReport.d.ts +60 -0
  614. package/types/report/useFrappeReport.d.ts.map +1 -0
  615. package/types/report/useQueryReport.d.ts +37 -0
  616. package/types/report/useQueryReport.d.ts.map +1 -0
  617. package/types/useFrappeForm.d.ts +142 -0
  618. package/types/useFrappeForm.d.ts.map +1 -0
@@ -0,0 +1,214 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useFrappeReport_exports = {};
26
+ __export(useFrappeReport_exports, {
27
+ reportCall: () => reportCall,
28
+ useFrappeReport: () => useFrappeReport
29
+ });
30
+ module.exports = __toCommonJS(useFrappeReport_exports);
31
+ var import_frappe = require("@multiplatform.one/frappe");
32
+ var import_react = require("react");
33
+ var import_queryReport = require("./queryReport.native.js");
34
+ function _instanceof(left, right) {
35
+ "@swc/helpers - instanceof";
36
+
37
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
38
+ return !!right[Symbol.hasInstance](left);
39
+ } else {
40
+ return left instanceof right;
41
+ }
42
+ }
43
+ var callCache = /* @__PURE__ */new Map();
44
+ function reportCall(connection) {
45
+ var _ref, _ref1;
46
+ var _connection_auth, _connection_auth1, _connection_auth2;
47
+ var key = `${connection.baseURL}:${((_connection_auth = connection.auth) === null || _connection_auth === void 0 ? void 0 : _connection_auth.useToken) ? "t" : ""}:${(_ref = (_connection_auth1 = connection.auth) === null || _connection_auth1 === void 0 ? void 0 : _connection_auth1.token) !== null && _ref !== void 0 ? _ref : ""}:${(_ref1 = (_connection_auth2 = connection.auth) === null || _connection_auth2 === void 0 ? void 0 : _connection_auth2.type) !== null && _ref1 !== void 0 ? _ref1 : ""}`;
48
+ var call = callCache.get(key);
49
+ if (!call) {
50
+ var authConfig = connection.auth ? {
51
+ useToken: connection.auth.useToken,
52
+ token: connection.auth.token,
53
+ type: connection.auth.type
54
+ } : void 0;
55
+ call = new import_frappe.CallModule(new import_frappe.HttpClient(connection.baseURL, authConfig));
56
+ callCache.set(key, call);
57
+ }
58
+ return call;
59
+ }
60
+ var DEFAULT_DEBOUNCE_MS = 400;
61
+ function useFrappeReport(connection, param) {
62
+ var {
63
+ reportName,
64
+ filters,
65
+ fixture,
66
+ fetchFilterDefs = false,
67
+ ignorePreparedReport = false,
68
+ debounceMs = DEFAULT_DEBOUNCE_MS,
69
+ enabled = true
70
+ } = param;
71
+ var isEnabled = enabled && !!reportName && (!!connection || !!fixture);
72
+ var [payload, setPayload] = (0, import_react.useState)(void 0);
73
+ var [scriptFilters, setScriptFilters] = (0, import_react.useState)(void 0);
74
+ var [isLoading, setIsLoading] = (0, import_react.useState)(isEnabled);
75
+ var [isFetching, setIsFetching] = (0, import_react.useState)(false);
76
+ var [error, setError] = (0, import_react.useState)(void 0);
77
+ var compactedFilters = (0, import_react.useMemo)(function () {
78
+ return (0, import_queryReport.compactFilterValues)(filters);
79
+ }, [filters]);
80
+ var filtersKey = JSON.stringify(compactedFilters);
81
+ var runKey = JSON.stringify([connection === null || connection === void 0 ? void 0 : connection.baseURL, !!fixture, reportName, filtersKey, ignorePreparedReport]);
82
+ var fetchSeq = (0, import_react.useRef)(0);
83
+ var argsRef = (0, import_react.useRef)({
84
+ reportName,
85
+ filters: compactedFilters,
86
+ fixture,
87
+ ignorePreparedReport
88
+ });
89
+ argsRef.current = {
90
+ reportName,
91
+ filters: compactedFilters,
92
+ fixture,
93
+ ignorePreparedReport
94
+ };
95
+ var connectionRef = (0, import_react.useRef)(connection);
96
+ connectionRef.current = connection;
97
+ var runFetch = (0, import_react.useCallback)(async function () {
98
+ var {
99
+ reportName: name,
100
+ filters: values,
101
+ fixture: fx,
102
+ ignorePreparedReport: skipPrepared
103
+ } = argsRef.current;
104
+ var conn = connectionRef.current;
105
+ if (!name || !conn && !fx) return;
106
+ var seq = ++fetchSeq.current;
107
+ setIsFetching(true);
108
+ try {
109
+ var raw;
110
+ if (fx) {
111
+ raw = typeof fx === "function" ? await fx({
112
+ reportName: name,
113
+ filters: values
114
+ }) : fx;
115
+ } else if (conn) {
116
+ var res = await reportCall(conn).post("frappe.desk.query_report.run", {
117
+ report_name: name,
118
+ filters: values,
119
+ ignore_prepared_report: skipPrepared ? 1 : 0,
120
+ // Desk parity: only let the server substitute saved custom
121
+ // filters when the caller sent no filter values at all.
122
+ are_default_filters: Object.keys(values).length ? 0 : 1
123
+ });
124
+ raw = res.payload.message;
125
+ }
126
+ if (seq !== fetchSeq.current) return;
127
+ setPayload((0, import_queryReport.normalizeQueryReportPayload)(raw !== null && raw !== void 0 ? raw : {}));
128
+ setError(void 0);
129
+ } catch (err) {
130
+ if (seq !== fetchSeq.current) return;
131
+ setError(_instanceof(err, Error) ? err : new Error(String(err)));
132
+ } finally {
133
+ if (seq === fetchSeq.current) {
134
+ setIsLoading(false);
135
+ setIsFetching(false);
136
+ }
137
+ }
138
+ }, []);
139
+ var debouncerRef = (0, import_react.useRef)(void 0);
140
+ if (!debouncerRef.current) {
141
+ debouncerRef.current = new import_frappe.AsyncDebouncer(function () {
142
+ return runFetch();
143
+ }, {
144
+ wait: debounceMs
145
+ });
146
+ }
147
+ (0, import_react.useEffect)(function () {
148
+ var _debouncerRef_current;
149
+ (_debouncerRef_current = debouncerRef.current) === null || _debouncerRef_current === void 0 ? void 0 : _debouncerRef_current.setOptions({
150
+ wait: debounceMs
151
+ });
152
+ }, [debounceMs]);
153
+ (0, import_react.useEffect)(function () {
154
+ return function () {
155
+ var _debouncerRef_current;
156
+ return (_debouncerRef_current = debouncerRef.current) === null || _debouncerRef_current === void 0 ? void 0 : _debouncerRef_current.cancel();
157
+ };
158
+ }, []);
159
+ var lastRunKeyRef = (0, import_react.useRef)(void 0);
160
+ var lastReportRef = (0, import_react.useRef)(void 0);
161
+ (0, import_react.useEffect)(function () {
162
+ if (!isEnabled || lastRunKeyRef.current === runKey) return;
163
+ lastRunKeyRef.current = runKey;
164
+ var reportChanged = lastReportRef.current !== argsRef.current.reportName;
165
+ lastReportRef.current = argsRef.current.reportName;
166
+ setError(void 0);
167
+ if (reportChanged) {
168
+ var _debouncerRef_current;
169
+ setIsLoading(true);
170
+ (_debouncerRef_current = debouncerRef.current) === null || _debouncerRef_current === void 0 ? void 0 : _debouncerRef_current.cancel();
171
+ void runFetch();
172
+ } else if (debounceMs <= 0) {
173
+ void runFetch();
174
+ } else {
175
+ var _debouncerRef_current1;
176
+ void ((_debouncerRef_current1 = debouncerRef.current) === null || _debouncerRef_current1 === void 0 ? void 0 : _debouncerRef_current1.maybeExecute());
177
+ }
178
+ }, [isEnabled, runKey, debounceMs, runFetch]);
179
+ (0, import_react.useEffect)(function () {
180
+ if (!isEnabled || !fetchFilterDefs || fixture || !connection) {
181
+ return;
182
+ }
183
+ var cancelled = false;
184
+ void async function () {
185
+ try {
186
+ var _ref;
187
+ var _res_payload_message;
188
+ var res = await reportCall(connection).get("frappe.desk.query_report.get_script", {
189
+ report_name: reportName
190
+ });
191
+ if (!cancelled) setScriptFilters((_ref = (_res_payload_message = res.payload.message) === null || _res_payload_message === void 0 ? void 0 : _res_payload_message.filters) !== null && _ref !== void 0 ? _ref : []);
192
+ } catch (unused) {
193
+ if (!cancelled) setScriptFilters([]);
194
+ }
195
+ }();
196
+ return function () {
197
+ cancelled = true;
198
+ };
199
+ }, [isEnabled, fetchFilterDefs, fixture, connection, reportName]);
200
+ var refresh = (0, import_react.useCallback)(function () {
201
+ var _debouncerRef_current;
202
+ (_debouncerRef_current = debouncerRef.current) === null || _debouncerRef_current === void 0 ? void 0 : _debouncerRef_current.cancel();
203
+ void runFetch();
204
+ }, [runFetch]);
205
+ return {
206
+ payload,
207
+ scriptFilters,
208
+ isLoading,
209
+ isFetching,
210
+ error,
211
+ refresh
212
+ };
213
+ }
214
+ //# sourceMappingURL=useFrappeReport.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useFrappeReport_exports","__export","reportCall","useFrappeReport","module","exports","import_frappe","require","import_react","import_queryReport","_instanceof","left","right","Symbol","hasInstance","callCache","Map","connection","_ref","_ref1","_connection_auth","_connection_auth1","_connection_auth2","key","baseURL","auth","useToken","token","type","call","get","authConfig","CallModule","HttpClient","set","DEFAULT_DEBOUNCE_MS","param","reportName","filters","fixture","fetchFilterDefs","ignorePreparedReport","debounceMs","enabled","isEnabled","payload","setPayload","useState","scriptFilters","setScriptFilters","isLoading","setIsLoading","isFetching","setIsFetching","error","setError","compactedFilters","useMemo","compactFilterValues","filtersKey","JSON","stringify","runKey","fetchSeq","useRef","argsRef","current","connectionRef","runFetch","useCallback","name","values","fx","skipPrepared","conn","seq","raw","res","post","report_name","ignore_prepared_report","are_default_filters","Object","keys","length","message","normalizeQueryReportPayload","err","Error","String","debouncerRef","AsyncDebouncer","wait","useEffect","_debouncerRef_current","setOptions","cancel","lastRunKeyRef","lastReportRef","reportChanged","_debouncerRef_current1","maybeExecute"],"sources":["../../../src/report/useFrappeReport.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,201 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var useQueryReport_exports = {};
24
+ __export(useQueryReport_exports, {
25
+ useQueryReport: () => useQueryReport
26
+ });
27
+ module.exports = __toCommonJS(useQueryReport_exports);
28
+ var import_react = require("react");
29
+ var import_FrappeProvider = require("../FrappeProvider.cjs");
30
+ var import_liveErrors = require("../liveErrors.cjs");
31
+ var import_queryReport = require("./queryReport.cjs");
32
+ var import_useFrappeReport = require("./useFrappeReport.cjs");
33
+ const SCRIPT_METHOD = "frappe.desk.query_report.get_script";
34
+ const EMPTY_COLUMNS = [];
35
+ const EMPTY_ROWS = [];
36
+ async function fetchReportMeta(connection, reportName) {
37
+ const res = await (0, import_useFrappeReport.reportCall)(connection).get("frappe.client.get", {
38
+ doctype: "Report",
39
+ name: reportName
40
+ });
41
+ const doc = res.payload?.message;
42
+ if (!doc) throw new Error(`Report "${reportName}" not found`);
43
+ return doc;
44
+ }
45
+ async function fetchReportScript(connection, reportName) {
46
+ const res = await (0, import_useFrappeReport.reportCall)(connection).get(SCRIPT_METHOD, {
47
+ report_name: reportName
48
+ });
49
+ const script = res.payload?.message?.script;
50
+ return typeof script === "string" ? script : void 0;
51
+ }
52
+ function useQueryReport(reportName, options = {}) {
53
+ const {
54
+ fixture
55
+ } = options;
56
+ const config = (0, import_FrappeProvider.useFrappeConfig)();
57
+ const baseURL = config?.baseURL;
58
+ const auth = config?.auth;
59
+ const connection = (0, import_react.useMemo)(() => baseURL ? {
60
+ baseURL,
61
+ auth
62
+ } : void 0, [baseURL, auth]);
63
+ const initialFiltersRef = (0, import_react.useRef)(options.initialFilters);
64
+ initialFiltersRef.current = options.initialFilters;
65
+ const [meta, setMeta] = (0, import_react.useState)(void 0);
66
+ const [script, setScript] = (0, import_react.useState)(void 0);
67
+ const [sourcesSettled, setSourcesSettled] = (0, import_react.useState)(false);
68
+ const [filters, setFiltersState] = (0, import_react.useState)(() => ({
69
+ ...initialFiltersRef.current
70
+ }));
71
+ const seededFor = (0, import_react.useRef)(void 0);
72
+ const lastReport = (0, import_react.useRef)(reportName);
73
+ (0, import_react.useEffect)(() => {
74
+ if (lastReport.current === reportName) return;
75
+ lastReport.current = reportName;
76
+ setFiltersState({
77
+ ...initialFiltersRef.current
78
+ });
79
+ setMeta(void 0);
80
+ setScript(void 0);
81
+ setSourcesSettled(false);
82
+ }, [reportName]);
83
+ (0, import_react.useEffect)(() => {
84
+ if (fixture) return;
85
+ if (!connection) {
86
+ setSourcesSettled(true);
87
+ return;
88
+ }
89
+ let cancelled = false;
90
+ setSourcesSettled(false);
91
+ Promise.allSettled([fetchReportMeta(connection, reportName), fetchReportScript(connection, reportName)]).then(([metaResult, scriptResult]) => {
92
+ if (cancelled) return;
93
+ const doc = metaResult.status === "fulfilled" ? metaResult.value : void 0;
94
+ const scriptText = scriptResult.status === "fulfilled" ? scriptResult.value : void 0;
95
+ if (doc) setMeta(doc);
96
+ if (scriptText) setScript(scriptText);
97
+ if (seededFor.current !== reportName) {
98
+ seededFor.current = reportName;
99
+ const extraction = (0, import_queryReport.extractScriptFilters)(scriptText);
100
+ const merged = extraction.declared ? extraction.filters : (0, import_queryReport.normalizeFilterMeta)(doc?.filters);
101
+ const defaults = (0, import_queryReport.defaultFilterValues)(merged);
102
+ if (Object.keys(defaults).length > 0) setFiltersState(previous => ({
103
+ ...defaults,
104
+ ...previous
105
+ }));
106
+ }
107
+ setSourcesSettled(true);
108
+ });
109
+ return () => {
110
+ cancelled = true;
111
+ };
112
+ }, [connection, fixture, reportName]);
113
+ const scriptExtraction = (0, import_react.useMemo)(() => (0, import_queryReport.extractScriptFilters)(fixture ? fixture.script : script), [fixture, script]);
114
+ const docFilterMeta = (0, import_react.useMemo)(() => (0, import_queryReport.normalizeFilterMeta)(fixture ? fixture.meta?.filters : meta?.filters), [fixture, meta]);
115
+ const filterMeta = (0, import_react.useMemo)(() => scriptExtraction.declared ? scriptExtraction.filters : docFilterMeta, [scriptExtraction, docFilterMeta]);
116
+ const scriptFilterGap = scriptExtraction.declaredCount > scriptExtraction.filters.length;
117
+ (0, import_react.useEffect)(() => {
118
+ if (!fixture) return;
119
+ if (seededFor.current === reportName) return;
120
+ seededFor.current = reportName;
121
+ const defaults = (0, import_queryReport.defaultFilterValues)(filterMeta);
122
+ if (Object.keys(defaults).length > 0) setFiltersState(previous => ({
123
+ ...defaults,
124
+ ...previous
125
+ }));
126
+ }, [fixture, reportName, filterMeta]);
127
+ const missingRequired = (0, import_react.useMemo)(() => filterMeta.filter(filter => filter.mandatory === 1 && (0, import_queryReport.isEmptyFilterValue)(filters[filter.fieldname])), [filterMeta, filters]);
128
+ const hasMissingRequired = missingRequired.length > 0;
129
+ const metaDisabled = (fixture ? fixture.meta?.disabled : meta?.disabled) === 1;
130
+ const runFilters = (0, import_react.useMemo)(() => (0, import_queryReport.buildRunFilters)(filterMeta, filters), [filterMeta, filters]);
131
+ const runEnabled = !fixture && sourcesSettled && Boolean(connection) && !metaDisabled && !hasMissingRequired;
132
+ const run = (0, import_useFrappeReport.useFrappeReport)(connection, {
133
+ reportName,
134
+ filters: runFilters,
135
+ ignorePreparedReport: true,
136
+ debounceMs: 0,
137
+ enabled: runEnabled
138
+ });
139
+ const {
140
+ refresh
141
+ } = run;
142
+ const setFilters = (0, import_react.useCallback)(next => {
143
+ setFiltersState(next);
144
+ }, []);
145
+ const reload = (0, import_react.useCallback)(() => {
146
+ if (runEnabled) refresh();
147
+ }, [runEnabled, refresh]);
148
+ const runError = (0, import_react.useMemo)(() => run.error ? (0, import_queryReport.humanizeFrappeError)(run.error) : void 0, [run.error]);
149
+ const fixtureResult = (0, import_react.useMemo)(() => {
150
+ if (!fixture) return void 0;
151
+ const fixtureColumns = (0, import_queryReport.normalizeQueryReportColumns)(fixture.columns);
152
+ return {
153
+ columns: fixtureColumns,
154
+ rows: (0, import_queryReport.normalizeQueryReportRows)(fixture.rows, fixtureColumns),
155
+ meta: fixture.meta ? {
156
+ name: reportName,
157
+ ...fixture.meta
158
+ } : void 0
159
+ };
160
+ }, [fixture, reportName]);
161
+ if (fixtureResult) {
162
+ return {
163
+ meta: fixtureResult.meta,
164
+ columns: fixtureResult.columns,
165
+ rows: hasMissingRequired ? EMPTY_ROWS : fixtureResult.rows,
166
+ loading: false,
167
+ running: false,
168
+ error: void 0,
169
+ refused: false,
170
+ serverMessage: fixture?.message,
171
+ executionTime: void 0,
172
+ filterMeta,
173
+ scriptFilterGap,
174
+ missingRequired,
175
+ filters,
176
+ setFilters,
177
+ reload
178
+ };
179
+ }
180
+ const noConnection = sourcesSettled && !connection;
181
+ const showsRun = runEnabled && !runError;
182
+ const payload = showsRun ? run.payload : void 0;
183
+ const error = noConnection ? new Error("No Frappe connection configured") : runEnabled ? runError : void 0;
184
+ return {
185
+ meta,
186
+ columns: payload?.columns ?? EMPTY_COLUMNS,
187
+ rows: payload?.rows ?? EMPTY_ROWS,
188
+ loading: !sourcesSettled || runEnabled && (run.isLoading || !run.payload && !run.error),
189
+ running: runEnabled && run.isFetching,
190
+ error,
191
+ refused: error !== void 0 && (0, import_liveErrors.isPermissionError)(error),
192
+ serverMessage: payload?.message,
193
+ executionTime: typeof payload?.raw.execution_time === "number" ? payload.raw.execution_time : void 0,
194
+ filterMeta,
195
+ scriptFilterGap,
196
+ missingRequired,
197
+ filters,
198
+ setFilters,
199
+ reload
200
+ };
201
+ }
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var useQueryReport_exports = {};
26
+ __export(useQueryReport_exports, {
27
+ useQueryReport: () => useQueryReport
28
+ });
29
+ module.exports = __toCommonJS(useQueryReport_exports);
30
+ var import_react = require("react");
31
+ var import_FrappeProvider = require("../FrappeProvider.native.js");
32
+ var import_liveErrors = require("../liveErrors.native.js");
33
+ var import_queryReport = require("./queryReport.native.js");
34
+ var import_useFrappeReport = require("./useFrappeReport.native.js");
35
+ var SCRIPT_METHOD = "frappe.desk.query_report.get_script";
36
+ var EMPTY_COLUMNS = [];
37
+ var EMPTY_ROWS = [];
38
+ async function fetchReportMeta(connection, reportName) {
39
+ var _res_payload;
40
+ var res = await (0, import_useFrappeReport.reportCall)(connection).get("frappe.client.get", {
41
+ doctype: "Report",
42
+ name: reportName
43
+ });
44
+ var doc = (_res_payload = res.payload) === null || _res_payload === void 0 ? void 0 : _res_payload.message;
45
+ if (!doc) throw new Error(`Report "${reportName}" not found`);
46
+ return doc;
47
+ }
48
+ async function fetchReportScript(connection, reportName) {
49
+ var _res_payload_message, _res_payload;
50
+ var res = await (0, import_useFrappeReport.reportCall)(connection).get(SCRIPT_METHOD, {
51
+ report_name: reportName
52
+ });
53
+ var script = (_res_payload = res.payload) === null || _res_payload === void 0 ? void 0 : (_res_payload_message = _res_payload.message) === null || _res_payload_message === void 0 ? void 0 : _res_payload_message.script;
54
+ return typeof script === "string" ? script : void 0;
55
+ }
56
+ function useQueryReport(reportName) {
57
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
58
+ var _ref, _ref1;
59
+ var _fixture_meta;
60
+ var {
61
+ fixture
62
+ } = options;
63
+ var config = (0, import_FrappeProvider.useFrappeConfig)();
64
+ var baseURL = config === null || config === void 0 ? void 0 : config.baseURL;
65
+ var auth = config === null || config === void 0 ? void 0 : config.auth;
66
+ var connection = (0, import_react.useMemo)(function () {
67
+ return baseURL ? {
68
+ baseURL,
69
+ auth
70
+ } : void 0;
71
+ }, [baseURL, auth]);
72
+ var initialFiltersRef = (0, import_react.useRef)(options.initialFilters);
73
+ initialFiltersRef.current = options.initialFilters;
74
+ var [meta, setMeta] = (0, import_react.useState)(void 0);
75
+ var [script, setScript] = (0, import_react.useState)(void 0);
76
+ var [sourcesSettled, setSourcesSettled] = (0, import_react.useState)(false);
77
+ var [filters, setFiltersState] = (0, import_react.useState)(function () {
78
+ return {
79
+ ...initialFiltersRef.current
80
+ };
81
+ });
82
+ var seededFor = (0, import_react.useRef)(void 0);
83
+ var lastReport = (0, import_react.useRef)(reportName);
84
+ (0, import_react.useEffect)(function () {
85
+ if (lastReport.current === reportName) return;
86
+ lastReport.current = reportName;
87
+ setFiltersState({
88
+ ...initialFiltersRef.current
89
+ });
90
+ setMeta(void 0);
91
+ setScript(void 0);
92
+ setSourcesSettled(false);
93
+ }, [reportName]);
94
+ (0, import_react.useEffect)(function () {
95
+ if (fixture) return;
96
+ if (!connection) {
97
+ setSourcesSettled(true);
98
+ return;
99
+ }
100
+ var cancelled = false;
101
+ setSourcesSettled(false);
102
+ Promise.allSettled([fetchReportMeta(connection, reportName), fetchReportScript(connection, reportName)]).then(function (param) {
103
+ var [metaResult, scriptResult] = param;
104
+ if (cancelled) return;
105
+ var doc = metaResult.status === "fulfilled" ? metaResult.value : void 0;
106
+ var scriptText = scriptResult.status === "fulfilled" ? scriptResult.value : void 0;
107
+ if (doc) setMeta(doc);
108
+ if (scriptText) setScript(scriptText);
109
+ if (seededFor.current !== reportName) {
110
+ seededFor.current = reportName;
111
+ var extraction = (0, import_queryReport.extractScriptFilters)(scriptText);
112
+ var merged = extraction.declared ? extraction.filters : (0, import_queryReport.normalizeFilterMeta)(doc === null || doc === void 0 ? void 0 : doc.filters);
113
+ var defaults = (0, import_queryReport.defaultFilterValues)(merged);
114
+ if (Object.keys(defaults).length > 0) setFiltersState(function (previous) {
115
+ return {
116
+ ...defaults,
117
+ ...previous
118
+ };
119
+ });
120
+ }
121
+ setSourcesSettled(true);
122
+ });
123
+ return function () {
124
+ cancelled = true;
125
+ };
126
+ }, [connection, fixture, reportName]);
127
+ var scriptExtraction = (0, import_react.useMemo)(function () {
128
+ return (0, import_queryReport.extractScriptFilters)(fixture ? fixture.script : script);
129
+ }, [fixture, script]);
130
+ var docFilterMeta = (0, import_react.useMemo)(function () {
131
+ var _fixture_meta2;
132
+ return (0, import_queryReport.normalizeFilterMeta)(fixture ? (_fixture_meta2 = fixture.meta) === null || _fixture_meta2 === void 0 ? void 0 : _fixture_meta2.filters : meta === null || meta === void 0 ? void 0 : meta.filters);
133
+ }, [fixture, meta]);
134
+ var filterMeta = (0, import_react.useMemo)(function () {
135
+ return scriptExtraction.declared ? scriptExtraction.filters : docFilterMeta;
136
+ }, [scriptExtraction, docFilterMeta]);
137
+ var scriptFilterGap = scriptExtraction.declaredCount > scriptExtraction.filters.length;
138
+ (0, import_react.useEffect)(function () {
139
+ if (!fixture) return;
140
+ if (seededFor.current === reportName) return;
141
+ seededFor.current = reportName;
142
+ var defaults = (0, import_queryReport.defaultFilterValues)(filterMeta);
143
+ if (Object.keys(defaults).length > 0) setFiltersState(function (previous) {
144
+ return {
145
+ ...defaults,
146
+ ...previous
147
+ };
148
+ });
149
+ }, [fixture, reportName, filterMeta]);
150
+ var missingRequired = (0, import_react.useMemo)(function () {
151
+ return filterMeta.filter(function (filter) {
152
+ return filter.mandatory === 1 && (0, import_queryReport.isEmptyFilterValue)(filters[filter.fieldname]);
153
+ });
154
+ }, [filterMeta, filters]);
155
+ var hasMissingRequired = missingRequired.length > 0;
156
+ var metaDisabled = (fixture ? (_fixture_meta = fixture.meta) === null || _fixture_meta === void 0 ? void 0 : _fixture_meta.disabled : meta === null || meta === void 0 ? void 0 : meta.disabled) === 1;
157
+ var runFilters = (0, import_react.useMemo)(function () {
158
+ return (0, import_queryReport.buildRunFilters)(filterMeta, filters);
159
+ }, [filterMeta, filters]);
160
+ var runEnabled = !fixture && sourcesSettled && Boolean(connection) && !metaDisabled && !hasMissingRequired;
161
+ var run = (0, import_useFrappeReport.useFrappeReport)(connection, {
162
+ reportName,
163
+ filters: runFilters,
164
+ ignorePreparedReport: true,
165
+ debounceMs: 0,
166
+ enabled: runEnabled
167
+ });
168
+ var {
169
+ refresh
170
+ } = run;
171
+ var setFilters = (0, import_react.useCallback)(function (next) {
172
+ setFiltersState(next);
173
+ }, []);
174
+ var reload = (0, import_react.useCallback)(function () {
175
+ if (runEnabled) refresh();
176
+ }, [runEnabled, refresh]);
177
+ var runError = (0, import_react.useMemo)(function () {
178
+ return run.error ? (0, import_queryReport.humanizeFrappeError)(run.error) : void 0;
179
+ }, [run.error]);
180
+ var fixtureResult = (0, import_react.useMemo)(function () {
181
+ if (!fixture) return void 0;
182
+ var fixtureColumns = (0, import_queryReport.normalizeQueryReportColumns)(fixture.columns);
183
+ return {
184
+ columns: fixtureColumns,
185
+ rows: (0, import_queryReport.normalizeQueryReportRows)(fixture.rows, fixtureColumns),
186
+ meta: fixture.meta ? {
187
+ name: reportName,
188
+ ...fixture.meta
189
+ } : void 0
190
+ };
191
+ }, [fixture, reportName]);
192
+ if (fixtureResult) {
193
+ return {
194
+ meta: fixtureResult.meta,
195
+ columns: fixtureResult.columns,
196
+ rows: hasMissingRequired ? EMPTY_ROWS : fixtureResult.rows,
197
+ loading: false,
198
+ running: false,
199
+ error: void 0,
200
+ refused: false,
201
+ serverMessage: fixture === null || fixture === void 0 ? void 0 : fixture.message,
202
+ executionTime: void 0,
203
+ filterMeta,
204
+ scriptFilterGap,
205
+ missingRequired,
206
+ filters,
207
+ setFilters,
208
+ reload
209
+ };
210
+ }
211
+ var noConnection = sourcesSettled && !connection;
212
+ var showsRun = runEnabled && !runError;
213
+ var payload = showsRun ? run.payload : void 0;
214
+ var error = noConnection ? new Error("No Frappe connection configured") : runEnabled ? runError : void 0;
215
+ return {
216
+ meta,
217
+ columns: (_ref = payload === null || payload === void 0 ? void 0 : payload.columns) !== null && _ref !== void 0 ? _ref : EMPTY_COLUMNS,
218
+ rows: (_ref1 = payload === null || payload === void 0 ? void 0 : payload.rows) !== null && _ref1 !== void 0 ? _ref1 : EMPTY_ROWS,
219
+ loading: !sourcesSettled || runEnabled && (run.isLoading || !run.payload && !run.error),
220
+ running: runEnabled && run.isFetching,
221
+ error,
222
+ refused: error !== void 0 && (0, import_liveErrors.isPermissionError)(error),
223
+ serverMessage: payload === null || payload === void 0 ? void 0 : payload.message,
224
+ executionTime: typeof (payload === null || payload === void 0 ? void 0 : payload.raw.execution_time) === "number" ? payload.raw.execution_time : void 0,
225
+ filterMeta,
226
+ scriptFilterGap,
227
+ missingRequired,
228
+ filters,
229
+ setFilters,
230
+ reload
231
+ };
232
+ }
233
+ //# sourceMappingURL=useQueryReport.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useQueryReport_exports","__export","useQueryReport","module","exports","import_react","require","import_FrappeProvider","import_liveErrors","import_queryReport","import_useFrappeReport","SCRIPT_METHOD","EMPTY_COLUMNS","EMPTY_ROWS","fetchReportMeta","connection","reportName","_res_payload","res","reportCall","get","doctype","name","doc","payload","message","Error","fetchReportScript","_res_payload_message","report_name","script","options","arguments","length","_ref","_ref1","_fixture_meta","fixture","config","useFrappeConfig","baseURL","auth","useMemo","initialFiltersRef","useRef","initialFilters","current","meta","setMeta","useState","setScript","sourcesSettled","setSourcesSettled","filters","setFiltersState","seededFor","lastReport","useEffect","cancelled","Promise","allSettled","then","param","metaResult","scriptResult","status","scriptText","extraction","extractScriptFilters","merged","declared","normalizeFilterMeta","defaults","defaultFilterValues","Object","keys","previous","scriptExtraction","docFilterMeta","_fixture_meta2","filterMeta","scriptFilterGap","declaredCount","missingRequired","filter","mandatory","isEmptyFilterValue","fieldname","hasMissingRequired","metaDisabled","disabled","runFilters","buildRunFilters","runEnabled","Boolean","run","useFrappeReport","ignorePreparedReport","debounceMs","enabled","refresh","setFilters","useCallback","next","reload","runError","error","humanizeFrappeError"],"sources":["../../../src/report/useQueryReport.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}