@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,611 @@
1
+ import { fieldKind, selectOptionsFromField } from "../filterFields.native.js";
2
+ function _type_of(obj) {
3
+ "@swc/helpers - typeof";
4
+
5
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
6
+ }
7
+ var VALUELESS_FIELDTYPES = /* @__PURE__ */new Set(["Section Break", "Column Break", "Tab Break", "HTML", "Table", "Table MultiSelect", "Button", "Image", "Fold", "Heading"]);
8
+ var REPORT_NUMERIC_FIELDTYPES = /* @__PURE__ */new Set(["Int", "Float", "Currency", "Percent", "Rating", "Duration"]);
9
+ var WIDE_FIELDTYPES = /* @__PURE__ */new Set(["Small Text", "Text", "Long Text", "Text Editor", "Markdown Editor", "Code", "JSON"]);
10
+ var REPORT_PAGE_SIZES = [20, 100, 500];
11
+ var DEFAULT_REPORT_PAGE_SIZE = REPORT_PAGE_SIZES[0];
12
+ function defaultColumnWidth(fieldtype) {
13
+ if (fieldtype === "Check") return 90;
14
+ if (REPORT_NUMERIC_FIELDTYPES.has(fieldtype)) return 110;
15
+ if (fieldtype === "Date") return 120;
16
+ if (fieldtype === "Datetime") return 165;
17
+ if (WIDE_FIELDTYPES.has(fieldtype)) return 240;
18
+ return 160;
19
+ }
20
+ function columnAlign(fieldtype) {
21
+ if (fieldtype === "Check") return "center";
22
+ return REPORT_NUMERIC_FIELDTYPES.has(fieldtype) ? "right" : "left";
23
+ }
24
+ function toColumnDef(field) {
25
+ var fieldtype = String(field.fieldtype);
26
+ return {
27
+ fieldname: field.fieldname,
28
+ label: field.label || field.fieldname,
29
+ fieldtype,
30
+ kind: fieldKind(fieldtype),
31
+ options: field.options,
32
+ width: defaultColumnWidth(fieldtype),
33
+ align: columnAlign(fieldtype)
34
+ };
35
+ }
36
+ function standardReportColumns() {
37
+ return [{
38
+ fieldname: "name",
39
+ label: "ID",
40
+ fieldtype: "Data",
41
+ kind: "text",
42
+ width: 160,
43
+ align: "left"
44
+ }, {
45
+ fieldname: "owner",
46
+ label: "Created By",
47
+ fieldtype: "Link",
48
+ kind: "link",
49
+ options: "User",
50
+ width: 160,
51
+ align: "left"
52
+ }, {
53
+ fieldname: "creation",
54
+ label: "Created On",
55
+ fieldtype: "Datetime",
56
+ kind: "date",
57
+ width: 165,
58
+ align: "left"
59
+ }, {
60
+ fieldname: "modified",
61
+ label: "Last Updated On",
62
+ fieldtype: "Datetime",
63
+ kind: "date",
64
+ width: 165,
65
+ align: "left"
66
+ }, {
67
+ fieldname: "modified_by",
68
+ label: "Last Updated By",
69
+ fieldtype: "Link",
70
+ kind: "link",
71
+ options: "User",
72
+ width: 160,
73
+ align: "left"
74
+ }];
75
+ }
76
+ function reportColumnsFromMeta(meta) {
77
+ var _ref;
78
+ var out = [];
79
+ var seen = /* @__PURE__ */new Set();
80
+ var push = function push2(column) {
81
+ if (!column.fieldname || seen.has(column.fieldname)) return;
82
+ seen.add(column.fieldname);
83
+ out.push(column);
84
+ };
85
+ push(standardReportColumns()[0]);
86
+ var _iteratorNormalCompletion = true,
87
+ _didIteratorError = false,
88
+ _iteratorError = void 0;
89
+ try {
90
+ for (var _iterator = ((_ref = meta === null || meta === void 0 ? void 0 : meta.fields) !== null && _ref !== void 0 ? _ref : [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
91
+ var field = _step.value;
92
+ var fieldtype = String(field.fieldtype);
93
+ if (VALUELESS_FIELDTYPES.has(fieldtype) || fieldtype.startsWith("Table")) continue;
94
+ push(toColumnDef(field));
95
+ }
96
+ } catch (err) {
97
+ _didIteratorError = true;
98
+ _iteratorError = err;
99
+ } finally {
100
+ try {
101
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
102
+ _iterator.return();
103
+ }
104
+ } finally {
105
+ if (_didIteratorError) {
106
+ throw _iteratorError;
107
+ }
108
+ }
109
+ }
110
+ var _iteratorNormalCompletion1 = true,
111
+ _didIteratorError1 = false,
112
+ _iteratorError1 = void 0;
113
+ try {
114
+ for (var _iterator1 = standardReportColumns()[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
115
+ var standard = _step1.value;
116
+ push(standard);
117
+ }
118
+ } catch (err) {
119
+ _didIteratorError1 = true;
120
+ _iteratorError1 = err;
121
+ } finally {
122
+ try {
123
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
124
+ _iterator1.return();
125
+ }
126
+ } finally {
127
+ if (_didIteratorError1) {
128
+ throw _iteratorError1;
129
+ }
130
+ }
131
+ }
132
+ return out;
133
+ }
134
+ function defaultReportFieldnames(meta) {
135
+ var _ref;
136
+ var out = [];
137
+ var seen = /* @__PURE__ */new Set();
138
+ var push = function push2(fieldname) {
139
+ if (!fieldname || seen.has(fieldname)) return;
140
+ seen.add(fieldname);
141
+ out.push(fieldname);
142
+ };
143
+ var pickable = function pickable2(field2) {
144
+ var fieldtype = String(field2.fieldtype);
145
+ return !VALUELESS_FIELDTYPES.has(fieldtype) && !fieldtype.startsWith("Table") && field2.report_hide !== 1;
146
+ };
147
+ var fields = (_ref = meta === null || meta === void 0 ? void 0 : meta.fields) !== null && _ref !== void 0 ? _ref : [];
148
+ push("name");
149
+ var status = fields.find(function (field2) {
150
+ return field2.fieldname === "status";
151
+ });
152
+ if (status && pickable(status)) push("status");
153
+ push(meta === null || meta === void 0 ? void 0 : meta.title_field);
154
+ push(meta === null || meta === void 0 ? void 0 : meta.image_field);
155
+ var flagged = fields.filter(function (field2) {
156
+ return pickable(field2) && (field2.in_list_view === 1 || field2.in_standard_filter === 1);
157
+ });
158
+ var _iteratorNormalCompletion = true,
159
+ _didIteratorError = false,
160
+ _iteratorError = void 0;
161
+ try {
162
+ for (var _iterator = flagged[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
163
+ var field = _step.value;
164
+ push(field.fieldname);
165
+ }
166
+ } catch (err) {
167
+ _didIteratorError = true;
168
+ _iteratorError = err;
169
+ } finally {
170
+ try {
171
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
172
+ _iterator.return();
173
+ }
174
+ } finally {
175
+ if (_didIteratorError) {
176
+ throw _iteratorError;
177
+ }
178
+ }
179
+ }
180
+ var _iteratorNormalCompletion1 = true,
181
+ _didIteratorError1 = false,
182
+ _iteratorError1 = void 0;
183
+ try {
184
+ for (var _iterator1 = flagged[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
185
+ var field1 = _step1.value;
186
+ if (String(field1.fieldtype) !== "Currency" || !field1.options) continue;
187
+ push(field1.options.includes(":") ? field1.options.split(":")[1] : field1.options);
188
+ }
189
+ } catch (err) {
190
+ _didIteratorError1 = true;
191
+ _iteratorError1 = err;
192
+ } finally {
193
+ try {
194
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
195
+ _iterator1.return();
196
+ }
197
+ } finally {
198
+ if (_didIteratorError1) {
199
+ throw _iteratorError1;
200
+ }
201
+ }
202
+ }
203
+ push("modified");
204
+ return out;
205
+ }
206
+ function resolveSelectedColumns(all, fieldnames) {
207
+ var byName = new Map(all.map(function (column2) {
208
+ return [column2.fieldname, column2];
209
+ }));
210
+ var out = [];
211
+ var _iteratorNormalCompletion = true,
212
+ _didIteratorError = false,
213
+ _iteratorError = void 0;
214
+ try {
215
+ for (var _iterator = fieldnames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
216
+ var fieldname = _step.value;
217
+ var column = byName.get(fieldname);
218
+ if (column) out.push(column);
219
+ }
220
+ } catch (err) {
221
+ _didIteratorError = true;
222
+ _iteratorError = err;
223
+ } finally {
224
+ try {
225
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
226
+ _iterator.return();
227
+ }
228
+ } finally {
229
+ if (_didIteratorError) {
230
+ throw _iteratorError;
231
+ }
232
+ }
233
+ }
234
+ return out;
235
+ }
236
+ var COMPARISON_PREFIXES = [">=", "<=", "!=", ">", "<", "="];
237
+ var CHECK_TRUE = /* @__PURE__ */new Set(["1", "true", "yes", "y", "\u2713"]);
238
+ var CHECK_FALSE = /* @__PURE__ */new Set(["0", "false", "no", "n"]);
239
+ function columnFilterTuple(column, raw) {
240
+ var text = raw.trim();
241
+ if (!text) return null;
242
+ switch (column.kind) {
243
+ case "check":
244
+ {
245
+ var lowered = text.toLowerCase();
246
+ if (CHECK_TRUE.has(lowered)) return [column.fieldname, "=", 1];
247
+ if (CHECK_FALSE.has(lowered)) return [column.fieldname, "=", 0];
248
+ return null;
249
+ }
250
+ case "select":
251
+ {
252
+ var match = selectOptionsFromField(column.options).find(function (option) {
253
+ return option.value.toLowerCase() === text.toLowerCase();
254
+ });
255
+ if (match) return [column.fieldname, "=", match.value];
256
+ return [column.fieldname, "like", text.includes("%") ? text : `%${text}%`];
257
+ }
258
+ case "number":
259
+ case "date":
260
+ {
261
+ var _iteratorNormalCompletion = true,
262
+ _didIteratorError = false,
263
+ _iteratorError = void 0;
264
+ try {
265
+ for (var _iterator = COMPARISON_PREFIXES[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
266
+ var prefix = _step.value;
267
+ if (text.startsWith(prefix)) {
268
+ var value = text.slice(prefix.length).trim();
269
+ return value ? [column.fieldname, prefix, value] : null;
270
+ }
271
+ }
272
+ } catch (err) {
273
+ _didIteratorError = true;
274
+ _iteratorError = err;
275
+ } finally {
276
+ try {
277
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
278
+ _iterator.return();
279
+ }
280
+ } finally {
281
+ if (_didIteratorError) {
282
+ throw _iteratorError;
283
+ }
284
+ }
285
+ }
286
+ return [column.fieldname, "=", text];
287
+ }
288
+ default:
289
+ return [column.fieldname, "like", text.includes("%") ? text : `%${text}%`];
290
+ }
291
+ }
292
+ function columnFilterTuples(columns, filters) {
293
+ var out = [];
294
+ var _iteratorNormalCompletion = true,
295
+ _didIteratorError = false,
296
+ _iteratorError = void 0;
297
+ try {
298
+ for (var _iterator = columns[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
299
+ var column = _step.value;
300
+ var raw = filters[column.fieldname];
301
+ if (raw === void 0) continue;
302
+ var tuple = columnFilterTuple(column, raw);
303
+ if (tuple) out.push(tuple);
304
+ }
305
+ } catch (err) {
306
+ _didIteratorError = true;
307
+ _iteratorError = err;
308
+ } finally {
309
+ try {
310
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
311
+ _iterator.return();
312
+ }
313
+ } finally {
314
+ if (_didIteratorError) {
315
+ throw _iteratorError;
316
+ }
317
+ }
318
+ }
319
+ return out;
320
+ }
321
+ function parseReportFiltersParam(raw) {
322
+ if (typeof raw !== "string" || !raw) return void 0;
323
+ var candidates = [raw];
324
+ try {
325
+ var decoded = decodeURIComponent(raw);
326
+ if (decoded !== raw) candidates.push(decoded);
327
+ } catch (unused) {}
328
+ var _iteratorNormalCompletion = true,
329
+ _didIteratorError = false,
330
+ _iteratorError = void 0;
331
+ try {
332
+ for (var _iterator = candidates[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
333
+ var candidate = _step.value;
334
+ try {
335
+ var parsed = JSON.parse(candidate);
336
+ if (!Array.isArray(parsed)) continue;
337
+ var filters = [];
338
+ var _iteratorNormalCompletion1 = true,
339
+ _didIteratorError1 = false,
340
+ _iteratorError1 = void 0;
341
+ try {
342
+ for (var _iterator1 = parsed[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
343
+ var tuple = _step1.value;
344
+ if (Array.isArray(tuple) && tuple.length === 3 && typeof tuple[0] === "string" && typeof tuple[1] === "string") {
345
+ filters.push([tuple[0], tuple[1], tuple[2]]);
346
+ }
347
+ }
348
+ } catch (err) {
349
+ _didIteratorError1 = true;
350
+ _iteratorError1 = err;
351
+ } finally {
352
+ try {
353
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
354
+ _iterator1.return();
355
+ }
356
+ } finally {
357
+ if (_didIteratorError1) {
358
+ throw _iteratorError1;
359
+ }
360
+ }
361
+ }
362
+ if (filters.length > 0) return filters;
363
+ } catch (unused) {}
364
+ }
365
+ } catch (err) {
366
+ _didIteratorError = true;
367
+ _iteratorError = err;
368
+ } finally {
369
+ try {
370
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
371
+ _iterator.return();
372
+ }
373
+ } finally {
374
+ if (_didIteratorError) {
375
+ throw _iteratorError;
376
+ }
377
+ }
378
+ }
379
+ return void 0;
380
+ }
381
+ var BACKTICK_FIELD_RE = /`tab([^`]+)`\.`([^`]+)`/;
382
+ function toDeskFieldExpr(doctype, fieldname) {
383
+ return `\`tab${doctype}\`.\`${fieldname}\``;
384
+ }
385
+ function parseDeskOrderBy(orderBy) {
386
+ if (typeof orderBy !== "string" || !orderBy.trim()) return void 0;
387
+ var [expr, direction] = orderBy.trim().split(/\s+/);
388
+ var backticked = expr.match(BACKTICK_FIELD_RE);
389
+ var field = backticked ? backticked[2] : expr.replace(/`/g, "");
390
+ if (!field) return void 0;
391
+ return {
392
+ field,
393
+ order: (direction === null || direction === void 0 ? void 0 : direction.toLowerCase()) === "asc" ? "asc" : "desc"
394
+ };
395
+ }
396
+ function toDeskReportSettings(doctype, config) {
397
+ var _config_sort, _config_pageSize;
398
+ var sort = (_config_sort = config.sort) !== null && _config_sort !== void 0 ? _config_sort : {
399
+ field: "modified",
400
+ order: "desc"
401
+ };
402
+ return {
403
+ fields: config.fieldnames.map(function (fieldname) {
404
+ return [fieldname, doctype];
405
+ }),
406
+ filters: config.filters.map(function (param) {
407
+ var [fieldname, operator, value] = param;
408
+ return [doctype, fieldname, operator, value];
409
+ }),
410
+ order_by: `${toDeskFieldExpr(doctype, sort.field)} ${sort.order}`,
411
+ add_totals_row: config.addTotals ? 1 : 0,
412
+ page_length: (_config_pageSize = config.pageSize) !== null && _config_pageSize !== void 0 ? _config_pageSize : DEFAULT_REPORT_PAGE_SIZE,
413
+ column_widths: {},
414
+ group_by: config.groupBy ? {
415
+ group_by: toDeskFieldExpr(doctype, config.groupBy),
416
+ aggregate_function: "count",
417
+ aggregate_on: null
418
+ } : null
419
+ };
420
+ }
421
+ function fromDeskReportSettings(doctype, json) {
422
+ if (!json || (typeof json === "undefined" ? "undefined" : _type_of(json)) !== "object") return void 0;
423
+ var raw = json;
424
+ var fieldnames = [];
425
+ if (Array.isArray(raw.fields)) {
426
+ var _iteratorNormalCompletion = true,
427
+ _didIteratorError = false,
428
+ _iteratorError = void 0;
429
+ try {
430
+ for (var _iterator = raw.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
431
+ var entry = _step.value;
432
+ if (typeof entry === "string") {
433
+ fieldnames.push(entry);
434
+ } else if (Array.isArray(entry) && typeof entry[0] === "string") {
435
+ var fieldDoctype = typeof entry[1] === "string" ? entry[1] : doctype;
436
+ if (fieldDoctype === doctype) fieldnames.push(entry[0]);
437
+ }
438
+ }
439
+ } catch (err) {
440
+ _didIteratorError = true;
441
+ _iteratorError = err;
442
+ } finally {
443
+ try {
444
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
445
+ _iterator.return();
446
+ }
447
+ } finally {
448
+ if (_didIteratorError) {
449
+ throw _iteratorError;
450
+ }
451
+ }
452
+ }
453
+ }
454
+ var filters = [];
455
+ if (Array.isArray(raw.filters)) {
456
+ var _iteratorNormalCompletion1 = true,
457
+ _didIteratorError1 = false,
458
+ _iteratorError1 = void 0;
459
+ try {
460
+ for (var _iterator1 = raw.filters[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
461
+ var entry1 = _step1.value;
462
+ if (!Array.isArray(entry1)) continue;
463
+ if (entry1.length === 4) {
464
+ var [filterDoctype, fieldname, operator, value] = entry1;
465
+ if (filterDoctype === doctype && typeof fieldname === "string" && typeof operator === "string") {
466
+ filters.push([fieldname, operator, value]);
467
+ }
468
+ } else if (entry1.length === 3 && typeof entry1[0] === "string" && typeof entry1[1] === "string") {
469
+ filters.push([entry1[0], entry1[1], entry1[2]]);
470
+ }
471
+ }
472
+ } catch (err) {
473
+ _didIteratorError1 = true;
474
+ _iteratorError1 = err;
475
+ } finally {
476
+ try {
477
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
478
+ _iterator1.return();
479
+ }
480
+ } finally {
481
+ if (_didIteratorError1) {
482
+ throw _iteratorError1;
483
+ }
484
+ }
485
+ }
486
+ }
487
+ var groupByRaw = raw.group_by;
488
+ var groupByExpr = typeof (groupByRaw === null || groupByRaw === void 0 ? void 0 : groupByRaw.group_by) === "string" ? groupByRaw.group_by : void 0;
489
+ var groupByMatch = groupByExpr === null || groupByExpr === void 0 ? void 0 : groupByExpr.match(BACKTICK_FIELD_RE);
490
+ return {
491
+ fieldnames,
492
+ filters,
493
+ sort: parseDeskOrderBy(raw.order_by),
494
+ pageSize: typeof raw.page_length === "number" && raw.page_length > 0 ? raw.page_length : void 0,
495
+ groupBy: groupByMatch ? groupByMatch[2] : null,
496
+ addTotals: raw.add_totals_row === 1
497
+ };
498
+ }
499
+ function isNullish(value) {
500
+ return value === null || value === void 0;
501
+ }
502
+ function compareCellValues(a, b) {
503
+ if (isNullish(a) && isNullish(b)) return 0;
504
+ if (isNullish(a)) return 1;
505
+ if (isNullish(b)) return -1;
506
+ if (typeof a === "number" && typeof b === "number") return a - b;
507
+ var left = String(a);
508
+ var right = String(b);
509
+ return left < right ? -1 : left > right ? 1 : 0;
510
+ }
511
+ function orderReportRows(rows, sort, groupBy) {
512
+ var direction = sort.order === "asc" ? 1 : -1;
513
+ var sorted = [...rows];
514
+ sorted.sort(function (a, b) {
515
+ if (groupBy) {
516
+ var grouped = compareCellValues(a[groupBy], b[groupBy]);
517
+ if (grouped !== 0) return grouped;
518
+ }
519
+ var left = a[sort.field];
520
+ var right = b[sort.field];
521
+ var ordered = isNullish(left) || isNullish(right) ? compareCellValues(left, right) : direction * compareCellValues(left, right);
522
+ return ordered || compareCellValues(a.name, b.name);
523
+ });
524
+ return sorted;
525
+ }
526
+ function buildGridRows(orderedRows, pageStart, pageSize, groupBy) {
527
+ var page = orderedRows.slice(pageStart, pageStart + pageSize);
528
+ var out = [];
529
+ var previousGroup;
530
+ var counts = /* @__PURE__ */new Map();
531
+ if (groupBy) {
532
+ var _iteratorNormalCompletion = true,
533
+ _didIteratorError = false,
534
+ _iteratorError = void 0;
535
+ try {
536
+ for (var _iterator = orderedRows[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
537
+ var row = _step.value;
538
+ var _row_groupBy, _counts_get;
539
+ var groupKey = String((_row_groupBy = row[groupBy]) !== null && _row_groupBy !== void 0 ? _row_groupBy : "");
540
+ counts.set(groupKey, ((_counts_get = counts.get(groupKey)) !== null && _counts_get !== void 0 ? _counts_get : 0) + 1);
541
+ }
542
+ } catch (err) {
543
+ _didIteratorError = true;
544
+ _iteratorError = err;
545
+ } finally {
546
+ try {
547
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
548
+ _iterator.return();
549
+ }
550
+ } finally {
551
+ if (_didIteratorError) {
552
+ throw _iteratorError;
553
+ }
554
+ }
555
+ }
556
+ }
557
+ page.forEach(function (row2, index) {
558
+ if (groupBy) {
559
+ var _row_groupBy2;
560
+ var groupKey2 = String((_row_groupBy2 = row2[groupBy]) !== null && _row_groupBy2 !== void 0 ? _row_groupBy2 : "");
561
+ if (previousGroup === void 0 || groupKey2 !== previousGroup) {
562
+ var _counts_get2;
563
+ previousGroup = groupKey2;
564
+ out.push({
565
+ kind: "group",
566
+ key: `group:${groupKey2}:${pageStart + index}`,
567
+ value: row2[groupBy],
568
+ count: (_counts_get2 = counts.get(groupKey2)) !== null && _counts_get2 !== void 0 ? _counts_get2 : 0
569
+ });
570
+ }
571
+ }
572
+ out.push({
573
+ kind: "row",
574
+ key: row2.name,
575
+ row: row2,
576
+ index: pageStart + index + 1
577
+ });
578
+ });
579
+ return out;
580
+ }
581
+ function computeTotals(columns, rows) {
582
+ if (rows.length === 0) return [];
583
+ return columns.filter(function (column) {
584
+ return REPORT_NUMERIC_FIELDTYPES.has(column.fieldtype);
585
+ }).map(function (column) {
586
+ return {
587
+ fieldname: column.fieldname,
588
+ fieldtype: column.fieldtype,
589
+ value: rows.reduce(function (sum, row) {
590
+ return sum + (Number(row[column.fieldname]) || 0);
591
+ }, 0)
592
+ };
593
+ });
594
+ }
595
+ function escapeCsvCell(value) {
596
+ if (value === null || value === void 0) return "";
597
+ var text = String(value);
598
+ return /[",\n]/.test(text) ? `"${text.replace(/"/g, '""')}"` : text;
599
+ }
600
+ function buildReportCsv(columns, rows) {
601
+ var lines = [columns.map(function (column) {
602
+ return escapeCsvCell(column.label);
603
+ }).join(","), ...rows.map(function (row) {
604
+ return columns.map(function (column) {
605
+ return escapeCsvCell(row[column.fieldname]);
606
+ }).join(",");
607
+ })];
608
+ return lines.join("\n");
609
+ }
610
+ export { DEFAULT_REPORT_PAGE_SIZE, REPORT_NUMERIC_FIELDTYPES, REPORT_PAGE_SIZES, buildGridRows, buildReportCsv, columnAlign, columnFilterTuple, columnFilterTuples, compareCellValues, computeTotals, defaultColumnWidth, defaultReportFieldnames, fromDeskReportSettings, orderReportRows, parseDeskOrderBy, parseReportFiltersParam, reportColumnsFromMeta, resolveSelectedColumns, toDeskReportSettings };
611
+ //# sourceMappingURL=reportViewModel.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["fieldKind","selectOptionsFromField","_type_of","obj","Symbol","constructor","VALUELESS_FIELDTYPES","Set","REPORT_NUMERIC_FIELDTYPES","WIDE_FIELDTYPES","REPORT_PAGE_SIZES","DEFAULT_REPORT_PAGE_SIZE","defaultColumnWidth","fieldtype","has","columnAlign","toColumnDef","field","String","fieldname","label","kind","options","width","align","standardReportColumns","reportColumnsFromMeta","meta","_ref","out","seen","push","push2","column","add","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","fields","iterator","_step","next","done","value","startsWith","err","return","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","standard","defaultReportFieldnames","pickable","pickable2","field2","report_hide","status","find","title_field","image_field","flagged","filter","in_list_view","in_standard_filter","field1","includes","split","resolveSelectedColumns","all","fieldnames","byName","Map","map","column2","get","COMPARISON_PREFIXES","CHECK_TRUE","CHECK_FALSE","columnFilterTuple","raw","text","trim","lowered","toLowerCase","match","option","prefix","slice","length","columnFilterTuples","columns","filters","tuple"],"sources":["../../../src/report/reportViewModel.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}