@multiplatform.one/backoffice 7.28.1 → 7.29.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/desk/DeskSurface.native.js.map +1 -1
  3. package/dist/cjs/form/DocFormScreen.cjs +167 -224
  4. package/dist/cjs/form/DocFormScreen.native.js +182 -259
  5. package/dist/cjs/form/DocFormScreen.native.js.map +1 -1
  6. package/dist/cjs/i18n/en.cjs +1 -0
  7. package/dist/cjs/i18n/en.native.js +1 -0
  8. package/dist/cjs/i18n/en.native.js.map +1 -1
  9. package/dist/cjs/list/ListBulkActionsBar.cjs +30 -18
  10. package/dist/cjs/list/ListBulkActionsBar.native.js +43 -31
  11. package/dist/cjs/list/ListBulkActionsBar.native.js.map +1 -1
  12. package/dist/cjs/list/sidebar-section.cjs +15 -7
  13. package/dist/cjs/list/sidebar-section.native.js +16 -7
  14. package/dist/cjs/list/sidebar-section.native.js.map +1 -1
  15. package/dist/cjs/report/DoctypeReportView.cjs +20 -374
  16. package/dist/cjs/report/DoctypeReportView.native.js +23 -455
  17. package/dist/cjs/report/DoctypeReportView.native.js.map +1 -1
  18. package/dist/cjs/report/QueryReportScreen.cjs +33 -23
  19. package/dist/cjs/report/QueryReportScreen.native.js +33 -23
  20. package/dist/cjs/report/QueryReportScreen.native.js.map +1 -1
  21. package/dist/cjs/report/queryReportColumns.cjs +3 -105
  22. package/dist/cjs/report/queryReportColumns.native.js +2 -129
  23. package/dist/cjs/report/queryReportColumns.native.js.map +1 -1
  24. package/dist/cjs/report/queryReportFilterBar.cjs +3 -4
  25. package/dist/cjs/report/queryReportFilterBar.native.js +3 -4
  26. package/dist/cjs/report/queryReportFilterBar.native.js.map +1 -1
  27. package/dist/cjs/report/queryReportUrlState.cjs +2 -2
  28. package/dist/cjs/report/queryReportUrlState.native.js +2 -2
  29. package/dist/cjs/report/queryReportUrlState.native.js.map +1 -1
  30. package/dist/cjs/report/report-grid.cjs +2 -426
  31. package/dist/cjs/report/report-grid.native.js +1 -479
  32. package/dist/cjs/report/report-grid.native.js.map +1 -1
  33. package/dist/cjs/report/report-toolbar.cjs +2 -228
  34. package/dist/cjs/report/report-toolbar.native.js +1 -274
  35. package/dist/cjs/report/report-toolbar.native.js.map +1 -1
  36. package/dist/cjs/report/reportShapes.cjs +12 -383
  37. package/dist/cjs/report/reportShapes.native.js +12 -501
  38. package/dist/cjs/report/reportShapes.native.js.map +1 -1
  39. package/dist/cjs/report/reportViewModel.cjs +20 -360
  40. package/dist/cjs/report/reportViewModel.native.js +19 -627
  41. package/dist/cjs/report/reportViewModel.native.js.map +1 -1
  42. package/dist/cjs/report/savedReports.cjs +2 -106
  43. package/dist/cjs/report/savedReports.native.js +1 -132
  44. package/dist/cjs/report/savedReports.native.js.map +1 -1
  45. package/dist/cjs/report/useQueryReport.cjs +11 -219
  46. package/dist/cjs/report/useQueryReport.native.js +11 -244
  47. package/dist/cjs/report/useQueryReport.native.js.map +1 -1
  48. package/dist/cjs/shared/measures.cjs +3 -5
  49. package/dist/cjs/shared/measures.native.js +3 -5
  50. package/dist/cjs/shared/measures.native.js.map +1 -1
  51. package/dist/cjs/views/ReportView.cjs +3 -256
  52. package/dist/cjs/views/ReportView.native.js +3 -382
  53. package/dist/cjs/views/ReportView.native.js.map +1 -1
  54. package/dist/cjs/views/report-controls.cjs +6 -6
  55. package/dist/cjs/views/report-controls.native.js +6 -6
  56. package/dist/cjs/views/report-controls.native.js.map +1 -1
  57. package/dist/esm/desk/DeskSurface.mjs.map +1 -1
  58. package/dist/esm/desk/DeskSurface.native.js.map +1 -1
  59. package/dist/esm/form/DocFormScreen.mjs +169 -226
  60. package/dist/esm/form/DocFormScreen.mjs.map +1 -1
  61. package/dist/esm/form/DocFormScreen.native.js +184 -261
  62. package/dist/esm/form/DocFormScreen.native.js.map +1 -1
  63. package/dist/esm/i18n/en.mjs +1 -0
  64. package/dist/esm/i18n/en.mjs.map +1 -1
  65. package/dist/esm/i18n/en.native.js +1 -0
  66. package/dist/esm/i18n/en.native.js.map +1 -1
  67. package/dist/esm/list/ListBulkActionsBar.mjs +31 -19
  68. package/dist/esm/list/ListBulkActionsBar.mjs.map +1 -1
  69. package/dist/esm/list/ListBulkActionsBar.native.js +37 -25
  70. package/dist/esm/list/ListBulkActionsBar.native.js.map +1 -1
  71. package/dist/esm/list/sidebar-section.mjs +16 -8
  72. package/dist/esm/list/sidebar-section.mjs.map +1 -1
  73. package/dist/esm/list/sidebar-section.native.js +17 -8
  74. package/dist/esm/list/sidebar-section.native.js.map +1 -1
  75. package/dist/esm/report/DoctypeReportView.mjs +21 -375
  76. package/dist/esm/report/DoctypeReportView.mjs.map +1 -1
  77. package/dist/esm/report/DoctypeReportView.native.js +24 -456
  78. package/dist/esm/report/DoctypeReportView.native.js.map +1 -1
  79. package/dist/esm/report/QueryReportScreen.mjs +26 -16
  80. package/dist/esm/report/QueryReportScreen.mjs.map +1 -1
  81. package/dist/esm/report/QueryReportScreen.native.js +26 -16
  82. package/dist/esm/report/QueryReportScreen.native.js.map +1 -1
  83. package/dist/esm/report/queryReportColumns.mjs +1 -103
  84. package/dist/esm/report/queryReportColumns.mjs.map +1 -1
  85. package/dist/esm/report/queryReportColumns.native.js +1 -117
  86. package/dist/esm/report/queryReportColumns.native.js.map +1 -1
  87. package/dist/esm/report/queryReportFilterBar.mjs +1 -2
  88. package/dist/esm/report/queryReportFilterBar.mjs.map +1 -1
  89. package/dist/esm/report/queryReportFilterBar.native.js +1 -2
  90. package/dist/esm/report/queryReportFilterBar.native.js.map +1 -1
  91. package/dist/esm/report/queryReportUrlState.mjs +1 -1
  92. package/dist/esm/report/queryReportUrlState.native.js +1 -1
  93. package/dist/esm/report/report-grid.mjs +1 -425
  94. package/dist/esm/report/report-grid.mjs.map +1 -1
  95. package/dist/esm/report/report-grid.native.js +1 -468
  96. package/dist/esm/report/report-grid.native.js.map +1 -1
  97. package/dist/esm/report/report-toolbar.mjs +2 -228
  98. package/dist/esm/report/report-toolbar.mjs.map +1 -1
  99. package/dist/esm/report/report-toolbar.native.js +2 -264
  100. package/dist/esm/report/report-toolbar.native.js.map +1 -1
  101. package/dist/esm/report/reportShapes.mjs +2 -373
  102. package/dist/esm/report/reportShapes.mjs.map +1 -1
  103. package/dist/esm/report/reportShapes.native.js +2 -491
  104. package/dist/esm/report/reportShapes.native.js.map +1 -1
  105. package/dist/esm/report/reportViewModel.mjs +2 -342
  106. package/dist/esm/report/reportViewModel.mjs.map +1 -1
  107. package/dist/esm/report/reportViewModel.native.js +2 -610
  108. package/dist/esm/report/reportViewModel.native.js.map +1 -1
  109. package/dist/esm/report/savedReports.mjs +1 -105
  110. package/dist/esm/report/savedReports.mjs.map +1 -1
  111. package/dist/esm/report/savedReports.native.js +1 -132
  112. package/dist/esm/report/savedReports.native.js.map +1 -1
  113. package/dist/esm/report/useQueryReport.mjs +2 -210
  114. package/dist/esm/report/useQueryReport.mjs.map +1 -1
  115. package/dist/esm/report/useQueryReport.native.js +2 -235
  116. package/dist/esm/report/useQueryReport.native.js.map +1 -1
  117. package/dist/esm/shared/measures.mjs +1 -3
  118. package/dist/esm/shared/measures.mjs.map +1 -1
  119. package/dist/esm/shared/measures.native.js +1 -3
  120. package/dist/esm/shared/measures.native.js.map +1 -1
  121. package/dist/esm/views/ReportView.mjs +3 -256
  122. package/dist/esm/views/ReportView.mjs.map +1 -1
  123. package/dist/esm/views/ReportView.native.js +3 -382
  124. package/dist/esm/views/ReportView.native.js.map +1 -1
  125. package/dist/esm/views/report-controls.mjs +3 -3
  126. package/dist/esm/views/report-controls.mjs.map +1 -1
  127. package/dist/esm/views/report-controls.native.js +3 -3
  128. package/dist/esm/views/report-controls.native.js.map +1 -1
  129. package/dist/jsx/desk/DeskSurface.mjs.map +1 -1
  130. package/dist/jsx/desk/DeskSurface.native.js.map +1 -1
  131. package/dist/jsx/form/DocFormScreen.mjs +169 -226
  132. package/dist/jsx/form/DocFormScreen.mjs.map +1 -1
  133. package/dist/jsx/form/DocFormScreen.native.js +182 -259
  134. package/dist/jsx/form/DocFormScreen.native.js.map +1 -1
  135. package/dist/jsx/i18n/en.mjs +1 -0
  136. package/dist/jsx/i18n/en.mjs.map +1 -1
  137. package/dist/jsx/i18n/en.native.js +1 -0
  138. package/dist/jsx/i18n/en.native.js.map +1 -1
  139. package/dist/jsx/list/ListBulkActionsBar.mjs +31 -19
  140. package/dist/jsx/list/ListBulkActionsBar.mjs.map +1 -1
  141. package/dist/jsx/list/ListBulkActionsBar.native.js +43 -31
  142. package/dist/jsx/list/ListBulkActionsBar.native.js.map +1 -1
  143. package/dist/jsx/list/sidebar-section.mjs +16 -8
  144. package/dist/jsx/list/sidebar-section.mjs.map +1 -1
  145. package/dist/jsx/list/sidebar-section.native.js +16 -7
  146. package/dist/jsx/list/sidebar-section.native.js.map +1 -1
  147. package/dist/jsx/report/DoctypeReportView.mjs +21 -375
  148. package/dist/jsx/report/DoctypeReportView.mjs.map +1 -1
  149. package/dist/jsx/report/DoctypeReportView.native.js +23 -455
  150. package/dist/jsx/report/DoctypeReportView.native.js.map +1 -1
  151. package/dist/jsx/report/QueryReportScreen.mjs +26 -16
  152. package/dist/jsx/report/QueryReportScreen.mjs.map +1 -1
  153. package/dist/jsx/report/QueryReportScreen.native.js +33 -23
  154. package/dist/jsx/report/QueryReportScreen.native.js.map +1 -1
  155. package/dist/jsx/report/queryReportColumns.mjs +1 -103
  156. package/dist/jsx/report/queryReportColumns.mjs.map +1 -1
  157. package/dist/jsx/report/queryReportColumns.native.js +2 -129
  158. package/dist/jsx/report/queryReportColumns.native.js.map +1 -1
  159. package/dist/jsx/report/queryReportFilterBar.mjs +1 -2
  160. package/dist/jsx/report/queryReportFilterBar.mjs.map +1 -1
  161. package/dist/jsx/report/queryReportFilterBar.native.js +3 -4
  162. package/dist/jsx/report/queryReportFilterBar.native.js.map +1 -1
  163. package/dist/jsx/report/queryReportUrlState.mjs +1 -1
  164. package/dist/jsx/report/queryReportUrlState.native.js +2 -2
  165. package/dist/jsx/report/queryReportUrlState.native.js.map +1 -1
  166. package/dist/jsx/report/report-grid.mjs +1 -425
  167. package/dist/jsx/report/report-grid.mjs.map +1 -1
  168. package/dist/jsx/report/report-grid.native.js +1 -479
  169. package/dist/jsx/report/report-grid.native.js.map +1 -1
  170. package/dist/jsx/report/report-toolbar.mjs +2 -228
  171. package/dist/jsx/report/report-toolbar.mjs.map +1 -1
  172. package/dist/jsx/report/report-toolbar.native.js +1 -274
  173. package/dist/jsx/report/report-toolbar.native.js.map +1 -1
  174. package/dist/jsx/report/reportShapes.mjs +2 -373
  175. package/dist/jsx/report/reportShapes.mjs.map +1 -1
  176. package/dist/jsx/report/reportShapes.native.js +12 -501
  177. package/dist/jsx/report/reportShapes.native.js.map +1 -1
  178. package/dist/jsx/report/reportViewModel.mjs +2 -342
  179. package/dist/jsx/report/reportViewModel.mjs.map +1 -1
  180. package/dist/jsx/report/reportViewModel.native.js +19 -627
  181. package/dist/jsx/report/reportViewModel.native.js.map +1 -1
  182. package/dist/jsx/report/savedReports.mjs +1 -105
  183. package/dist/jsx/report/savedReports.mjs.map +1 -1
  184. package/dist/jsx/report/savedReports.native.js +1 -132
  185. package/dist/jsx/report/savedReports.native.js.map +1 -1
  186. package/dist/jsx/report/useQueryReport.mjs +2 -210
  187. package/dist/jsx/report/useQueryReport.mjs.map +1 -1
  188. package/dist/jsx/report/useQueryReport.native.js +11 -244
  189. package/dist/jsx/report/useQueryReport.native.js.map +1 -1
  190. package/dist/jsx/shared/measures.mjs +1 -3
  191. package/dist/jsx/shared/measures.mjs.map +1 -1
  192. package/dist/jsx/shared/measures.native.js +3 -5
  193. package/dist/jsx/shared/measures.native.js.map +1 -1
  194. package/dist/jsx/views/ReportView.mjs +3 -256
  195. package/dist/jsx/views/ReportView.mjs.map +1 -1
  196. package/dist/jsx/views/ReportView.native.js +3 -382
  197. package/dist/jsx/views/ReportView.native.js.map +1 -1
  198. package/dist/jsx/views/report-controls.mjs +3 -3
  199. package/dist/jsx/views/report-controls.mjs.map +1 -1
  200. package/dist/jsx/views/report-controls.native.js +6 -6
  201. package/dist/jsx/views/report-controls.native.js.map +1 -1
  202. package/package.json +12 -12
  203. package/src/backofficeScreens.designLaw.spec.ts +0 -5
  204. package/src/desk/DeskSurface.tsx +4 -7
  205. package/src/form/DocFormScreen.chrome.spec.ts +77 -0
  206. package/src/form/DocFormScreen.guest.screen.spec.tsx +175 -0
  207. package/src/form/DocFormScreen.rights.spec.tsx +7 -3
  208. package/src/form/DocFormScreen.tsx +214 -315
  209. package/src/i18n/en.ts +1 -0
  210. package/src/list/ListBulkActionsBar.rights.spec.tsx +134 -0
  211. package/src/list/ListBulkActionsBar.screen.spec.tsx +7 -1
  212. package/src/list/ListBulkActionsBar.tsx +76 -57
  213. package/src/list/ListFilterBar.screen.spec.tsx +14 -13
  214. package/src/list/sidebar-section.tsx +11 -3
  215. package/src/report/DoctypeReportView.tsx +28 -550
  216. package/src/report/QueryReportScreen.spec.tsx +75 -1
  217. package/src/report/QueryReportScreen.tsx +38 -22
  218. package/src/report/queryReportColumns.tsx +4 -123
  219. package/src/report/queryReportFilterBar.tsx +3 -5
  220. package/src/report/queryReportUrlState.ts +1 -1
  221. package/src/report/report-grid.tsx +4 -529
  222. package/src/report/report-toolbar.tsx +4 -308
  223. package/src/report/reportShapes.ts +25 -613
  224. package/src/report/reportShim.spec.ts +162 -0
  225. package/src/report/reportViewModel.ts +32 -605
  226. package/src/report/savedReports.ts +4 -161
  227. package/src/report/useQueryReport.ts +9 -347
  228. package/src/shared/measures.ts +3 -11
  229. package/src/views/ReportView.screen.spec.tsx +25 -20
  230. package/src/views/ReportView.tsx +7 -439
  231. package/src/views/report-controls.tsx +12 -20
  232. package/types/desk/DeskSurface.d.ts.map +1 -1
  233. package/types/form/DocFormScreen.d.ts +2 -2
  234. package/types/form/DocFormScreen.d.ts.map +1 -1
  235. package/types/i18n/en.d.ts +1 -0
  236. package/types/i18n/en.d.ts.map +1 -1
  237. package/types/list/ListBulkActionsBar.d.ts.map +1 -1
  238. package/types/list/sidebar-section.d.ts.map +1 -1
  239. package/types/report/DoctypeReportView.d.ts.map +1 -1
  240. package/types/report/QueryReportScreen.d.ts +1 -1
  241. package/types/report/QueryReportScreen.d.ts.map +1 -1
  242. package/types/report/queryReportColumns.d.ts +2 -11
  243. package/types/report/queryReportColumns.d.ts.map +1 -1
  244. package/types/report/queryReportFilterBar.d.ts +1 -1
  245. package/types/report/queryReportFilterBar.d.ts.map +1 -1
  246. package/types/report/queryReportUrlState.d.ts +1 -1
  247. package/types/report/queryReportUrlState.d.ts.map +1 -1
  248. package/types/report/report-grid.d.ts +2 -19
  249. package/types/report/report-grid.d.ts.map +1 -1
  250. package/types/report/report-toolbar.d.ts +2 -29
  251. package/types/report/report-toolbar.d.ts.map +1 -1
  252. package/types/report/reportShapes.d.ts +2 -115
  253. package/types/report/reportShapes.d.ts.map +1 -1
  254. package/types/report/reportViewModel.d.ts +2 -135
  255. package/types/report/reportViewModel.d.ts.map +1 -1
  256. package/types/report/savedReports.d.ts +2 -18
  257. package/types/report/savedReports.d.ts.map +1 -1
  258. package/types/report/useQueryReport.d.ts +2 -35
  259. package/types/report/useQueryReport.d.ts.map +1 -1
  260. package/types/shared/measures.d.ts +1 -2
  261. package/types/shared/measures.d.ts.map +1 -1
  262. package/types/views/ReportView.d.ts +3 -22
  263. package/types/views/ReportView.d.ts.map +1 -1
  264. package/types/views/report-controls.d.ts +2 -5
  265. package/types/views/report-controls.d.ts.map +1 -1
  266. package/src/report/report-grid.spec.tsx +0 -175
  267. package/src/report/report-toolbar.spec.tsx +0 -90
  268. package/src/report/reportShapes.spec.ts +0 -391
  269. package/src/report/reportViewModel.spec.ts +0 -393
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","sidebar_section_exports","__export","SidebarFacetRow","SidebarSection","SidebarSectionChrome","SidebarSectionSkeleton","module","exports","import_jsx_runtime","require","import_components","import_theme","import_react","import_react_i18next","import_i18n","param","title","children","rows","Children","toArray","jsxs","Fragment","jsx","Accordion","Trigger","minHeight","paddingVertical","paddingHorizontal","SizableText","size","fontWeight","color","numberOfLines","flexShrink","Content","padding","YStack","map","child","index","hairline","line","GroupPositionContext","Provider","getGroupPosition","length","isValidElement","key","String","Item","label","count","active","onPress","_useGroupPosition","knobProps","useResolvedKnobs","position","useGroupPosition","corners","stackRadiusProps","borderRadius","XStack","role","alignItems","justifyContent","gap","overflow","cursor","backgroundColor","hoverStyle"],"sources":["../../../src/list/sidebar-section.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","sidebar_section_exports","__export","SidebarFacetRow","SidebarSection","SidebarSectionChrome","SidebarSectionSkeleton","module","exports","import_jsx_runtime","require","import_components","import_theme","import_react","import_react_i18next","import_i18n","SidebarSectionTitle","param","title","color","useAccordionTriggerInk","jsx","SizableText","size","fontWeight","numberOfLines","flexShrink","children","rows","Children","toArray","jsxs","Fragment","Accordion","Trigger","minHeight","paddingVertical","paddingHorizontal","Content","padding","YStack","map","child","index","hairline","line","GroupPositionContext","Provider","getGroupPosition","length","isValidElement","key","String","Item","label","count","active","onPress","_useGroupPosition","knobProps","useResolvedKnobs","position","useGroupPosition","corners","stackRadiusProps","borderRadius","XStack","role","alignItems","justifyContent","gap","overflow","cursor"],"sources":["../../../src/list/sidebar-section.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -25,68 +25,23 @@ __export(DoctypeReportView_exports, {
25
25
  DoctypeReportView: () => DoctypeReportView
26
26
  });
27
27
  module.exports = __toCommonJS(DoctypeReportView_exports);
28
- var import_components = require("@multiplatform.one/components");
29
- var import_forms = require("@multiplatform.one/forms");
30
- var import_frappe = require("@multiplatform.one/frappe");
31
- var import_platform = require("@multiplatform.one/platform");
32
- var import_store = require("@multiplatform.one/store");
33
- var import_table = require("@multiplatform.one/table");
28
+ var import_frappe_ui = require("@multiplatform.one/frappe-ui");
34
29
  var import_react = require("react");
35
- var import_react_i18next = require("react-i18next");
36
30
  var import_BackofficeProvider = require("../config/BackofficeProvider.cjs");
37
- var import_i18n = require("../i18n/index.cjs");
38
31
  var import_scope = require("../desk/scope.cjs");
39
- var import_useDoctypeMeta = require("../shared/useDoctypeMeta.cjs");
40
- var import_connection = require("../views/connection.cjs");
41
32
  var import_ViewStates = require("../views/ViewStates.cjs");
42
- var import_report_grid = require("./report-grid.cjs");
43
- var import_report_toolbar = require("./report-toolbar.cjs");
44
- var import_savedReports = require("./savedReports.cjs");
45
- var import_reportViewModel = require("./reportViewModel.cjs");
46
33
  var import_jsx_runtime = require("react/jsx-runtime");
47
- const EMPTY_FILTERS = [];
48
- const COLUMN_FILTER_DEBOUNCE_MS = 350;
49
- function columnsStorageKey(doctype) {
50
- return `backoffice.report.columns.${doctype}`;
51
- }
52
- async function readStoredColumns(doctype) {
53
- try {
54
- const raw = await Promise.resolve(import_store.storage.getItem(columnsStorageKey(doctype)));
55
- if (!raw) return void 0;
56
- const parsed = JSON.parse(raw);
57
- if (Array.isArray(parsed) && parsed.every(entry => typeof entry === "string")) {
58
- return parsed;
59
- }
60
- } catch {}
61
- return void 0;
62
- }
63
- function persistStoredColumns(doctype, fieldnames) {
64
- try {
65
- void Promise.resolve(import_store.storage.setItem(columnsStorageKey(doctype), JSON.stringify(fieldnames)));
66
- } catch {}
67
- }
68
34
  function DoctypeReportView({
69
35
  doctype,
70
36
  filtersParam,
71
37
  initialFilters
72
38
  }) {
73
- const {
74
- t
75
- } = (0, import_react_i18next.useTranslation)(import_i18n.BACKOFFICE_I18N_NAMESPACE);
76
39
  const deskScope = (0, import_scope.useDeskScope)();
77
40
  const navigator = (0, import_BackofficeProvider.useBackofficeNavigator)();
78
41
  const paths = (0, import_BackofficeProvider.useBackofficePaths)();
79
42
  const {
80
43
  params
81
44
  } = (0, import_BackofficeProvider.useBackofficeLocation)();
82
- const connection = (0, import_connection.useViewConnection)();
83
- const fixtureMode = Boolean(connection?.fixtures);
84
- const {
85
- meta,
86
- loading: metaLoading,
87
- error: metaError
88
- } = (0, import_useDoctypeMeta.useDoctypeMeta)(doctype);
89
- const savedReports = (0, import_savedReports.useSavedReports)(doctype);
90
45
  const rawReportParam = typeof params.report === "string" ? params.report : params.report?.[0];
91
46
  const currentReport = (0, import_react.useMemo)(() => {
92
47
  if (!rawReportParam) return null;
@@ -96,337 +51,28 @@ function DoctypeReportView({
96
51
  return rawReportParam;
97
52
  }
98
53
  }, [rawReportParam]);
99
- const allColumns = (0, import_react.useMemo)(() => (0, import_reportViewModel.reportColumnsFromMeta)(meta), [meta]);
100
- const defaultFieldnames = (0, import_react.useMemo)(() => (0, import_reportViewModel.defaultReportFieldnames)(meta), [meta]);
101
- const [storedColumns, setStoredColumns] = (0, import_react.useState)(void 0);
102
- const [selectedOverride, setSelectedOverride] = (0, import_react.useState)(null);
103
- (0, import_react.useEffect)(() => {
104
- if (fixtureMode) return;
105
- let cancelled = false;
106
- void readStoredColumns(doctype).then(stored => {
107
- if (!cancelled) setStoredColumns(stored);
108
- });
109
- return () => {
110
- cancelled = true;
111
- };
112
- }, [doctype, fixtureMode]);
113
- const selectedFieldnames = selectedOverride ?? storedColumns ?? defaultFieldnames;
114
- const selectedColumns = (0, import_react.useMemo)(() => (0, import_reportViewModel.resolveSelectedColumns)(allColumns, selectedFieldnames), [allColumns, selectedFieldnames]);
115
- const urlFilters = (0, import_react.useMemo)(() => (0, import_reportViewModel.parseReportFiltersParam)(filtersParam), [filtersParam]);
116
- const [filtersCleared, setFiltersCleared] = (0, import_react.useState)(false);
117
- const [reportFilters, setReportFilters] = (0, import_react.useState)(null);
118
- const baseFilters = filtersCleared ? EMPTY_FILTERS : reportFilters ?? urlFilters ?? initialFilters ?? EMPTY_FILTERS;
119
- const [filterDrafts, setFilterDrafts] = (0, import_react.useState)({});
120
- const [committedFilters, setCommittedFilters] = (0, import_react.useState)({});
121
- (0, import_react.useEffect)(() => {
122
- const handle = setTimeout(() => {
123
- setCommittedFilters(previous => JSON.stringify(previous) === JSON.stringify(filterDrafts) ? previous : filterDrafts);
124
- }, COLUMN_FILTER_DEBOUNCE_MS);
125
- return () => clearTimeout(handle);
126
- }, [filterDrafts]);
127
- const columnTuples = (0, import_react.useMemo)(() => (0, import_reportViewModel.columnFilterTuples)(selectedColumns, committedFilters), [selectedColumns, committedFilters]);
128
- const effectiveFilters = (0, import_react.useMemo)(() => [...deskScope, ...baseFilters, ...columnTuples], [deskScope, baseFilters, columnTuples]);
129
- const metaSort = (0, import_react.useMemo)(() => ({
130
- field: (meta?.sort_field || "modified").split(" ")[0],
131
- order: (meta?.sort_order || "DESC").toLowerCase() === "asc" ? "asc" : "desc"
132
- }), [meta?.sort_field, meta?.sort_order]);
133
- const [sortOverride, setSortOverride] = (0, import_react.useState)(null);
134
- const sort = sortOverride ?? metaSort;
135
- const [groupBy, setGroupBy] = (0, import_react.useState)(null);
136
- const [pageSize, setPageSize] = (0, import_react.useState)(import_reportViewModel.DEFAULT_REPORT_PAGE_SIZE);
137
- const [page, setPage] = (0, import_react.useState)(0);
138
- (0, import_react.useEffect)(() => {
139
- setSelectedOverride(null);
140
- setStoredColumns(void 0);
141
- setSortOverride(null);
142
- setGroupBy(null);
143
- setPage(0);
144
- setPageSize(import_reportViewModel.DEFAULT_REPORT_PAGE_SIZE);
145
- setFilterDrafts({});
146
- setCommittedFilters({});
147
- setFiltersCleared(false);
148
- setReportFilters(null);
149
- }, [doctype]);
150
- (0, import_react.useEffect)(() => setFiltersCleared(false), [filtersParam]);
151
- const filtersKey = (0, import_react.useMemo)(() => JSON.stringify(effectiveFilters), [effectiveFilters]);
152
- (0, import_react.useEffect)(() => {
153
- setPage(0);
154
- }, [filtersKey, pageSize, groupBy]);
155
- (0, import_react.useEffect)(() => {
156
- if (!currentReport) {
157
- setReportFilters(null);
158
- return;
159
- }
160
- let cancelled = false;
161
- void savedReports.load(currentReport).then(config => {
162
- if (cancelled || !config) return;
163
- setSelectedOverride(config.fieldnames.length > 0 ? config.fieldnames : null);
164
- setReportFilters(config.filters);
165
- setFilterDrafts({});
166
- setCommittedFilters({});
167
- setFiltersCleared(false);
168
- if (config.sort) setSortOverride(config.sort);
169
- if (config.pageSize && import_reportViewModel.REPORT_PAGE_SIZES.some(size => size === config.pageSize)) {
170
- setPageSize(config.pageSize);
171
- }
172
- setGroupBy(config.groupBy ?? null);
173
- });
174
- return () => {
175
- cancelled = true;
176
- };
177
- }, [currentReport, doctype]);
178
- const handleToggleColumn = (0, import_react.useCallback)(fieldname => {
179
- setSelectedOverride(previous => {
180
- const current = previous ?? storedColumns ?? defaultFieldnames;
181
- const next = current.includes(fieldname) ? current.length === 1 ? current : current.filter(entry => entry !== fieldname) : [...current, fieldname];
182
- if (!fixtureMode && !currentReport) persistStoredColumns(doctype, next);
183
- return next;
184
- });
185
- }, [storedColumns, defaultFieldnames, fixtureMode, currentReport, doctype]);
186
- const handleResetColumns = (0, import_react.useCallback)(() => {
187
- setSelectedOverride(defaultFieldnames);
188
- setStoredColumns(void 0);
189
- if (!fixtureMode) persistStoredColumns(doctype, defaultFieldnames);
190
- }, [defaultFieldnames, fixtureMode, doctype]);
191
- const fetchFields = (0, import_react.useMemo)(() => {
192
- const fields = /* @__PURE__ */new Set(["name", sort.field]);
193
- for (const column of selectedColumns) fields.add(column.fieldname);
194
- if (groupBy) fields.add(groupBy);
195
- return [...fields];
196
- }, [selectedColumns, sort.field, groupBy]);
197
- const [syncError, setSyncError] = (0, import_react.useState)(null);
198
- const handleSyncError = (0, import_react.useCallback)(error => {
199
- setSyncError(error instanceof Error ? error : new Error(String(error)));
200
- }, []);
201
- const [retryGen, setRetryGen] = (0, import_react.useState)(0);
202
- const collectionConfig = (0, import_react.useMemo)(() => connection && meta && retryGen >= 0 ? connection : void 0, [connection, meta, retryGen]);
203
- const collection = (0, import_frappe.useFrappeCollection)(collectionConfig, doctype, {
204
- fields: fetchFields,
205
- filters: effectiveFilters,
206
- orderBy: {
207
- field: sort.field,
208
- order: sort.order === "asc" ? import_frappe.Order.Asc : import_frappe.Order.Desc
209
- },
210
- onSyncError: handleSyncError
211
- });
212
- (0, import_react.useEffect)(() => setSyncError(null), [collection]);
213
- const {
214
- data: rowsData,
215
- isLoading: rowsLoading
216
- } = (0, import_frappe.useLiveQuery)(q => collection ? q.from({
217
- _report: collection
218
- }) : null, [collection]);
219
- const orderedRows = (0, import_react.useMemo)(() => (0, import_reportViewModel.orderReportRows)(rowsData ?? [], sort, groupBy), [rowsData, sort, groupBy]);
220
- const total = orderedRows.length;
221
- const pageCount = Math.max(1, Math.ceil(total / pageSize));
222
- const effectivePage = Math.min(page, pageCount - 1);
223
- const gridRows = (0, import_react.useMemo)(() => (0, import_reportViewModel.buildGridRows)(orderedRows, effectivePage * pageSize, pageSize, groupBy), [orderedRows, effectivePage, pageSize, groupBy]);
224
- const totals = (0, import_react.useMemo)(() => (0, import_reportViewModel.computeTotals)(selectedColumns, orderedRows), [selectedColumns, orderedRows]);
225
- const groupByColumn = groupBy ? allColumns.find(column => column.fieldname === groupBy) : void 0;
226
- const handleOpenRow = (0, import_react.useCallback)(name => navigator.navigate(paths.form(doctype, name)), [navigator, paths, doctype]);
227
- const handleOpenLink = (0, import_react.useCallback)((targetDoctype, name) => navigator.navigate(paths.form(targetDoctype, name)), [navigator, paths]);
228
- const handleSelectReport = (0, import_react.useCallback)(name => {
54
+ const urlFilters = (0, import_react.useMemo)(() => (0, import_frappe_ui.parseReportFiltersParam)(filtersParam), [filtersParam]);
55
+ const openForm = (0, import_react.useCallback)((targetDoctype, name) => navigator.navigate(paths.form(targetDoctype, name)), [navigator, paths]);
56
+ const selectReport = (0, import_react.useCallback)(name => {
229
57
  const base = paths.view(doctype, "report");
230
58
  navigator.replace(name ? `${base}?report=${encodeURIComponent(name)}` : base);
231
- if (!name) {
232
- setReportFilters(null);
233
- setSelectedOverride(null);
234
- setSortOverride(null);
235
- setGroupBy(null);
236
- }
237
59
  }, [navigator, paths, doctype]);
238
- const handleClearBaseFilters = (0, import_react.useCallback)(() => {
239
- setFiltersCleared(true);
240
- if (urlFilters && !reportFilters) navigator.replace(paths.view(doctype, "report"));
241
- }, [urlFilters, reportFilters, navigator, paths, doctype]);
242
- const handleSaveReport = (0, import_react.useCallback)(name => {
243
- void savedReports.save(name, {
244
- fieldnames: [...selectedFieldnames],
245
- filters: effectiveFilters,
246
- sort,
247
- pageSize,
248
- groupBy,
249
- addTotals: totals.length > 0
250
- }).then(savedName => {
251
- (0, import_components.notify)({
252
- severity: "success",
253
- scope: "page",
254
- body: t("report.saveDone", {
255
- defaultValue: "Saved report \u201C{{name}}\u201D",
256
- name: savedName
257
- })
258
- });
259
- if (savedName !== currentReport) handleSelectReport(savedName);
260
- }).catch(error => {
261
- (0, import_components.notify)({
262
- severity: "error",
263
- scope: "page",
264
- body: error instanceof Error ? error.message : t("report.saveFailed", "Could not save the report")
265
- });
266
- });
267
- }, [savedReports, selectedFieldnames, effectiveFilters, sort, pageSize, groupBy, totals.length, currentReport, handleSelectReport, t]);
268
- const handleDeleteReport = (0, import_react.useCallback)(name => {
269
- void savedReports.remove(name).then(() => {
270
- (0, import_components.notify)({
271
- severity: "success",
272
- scope: "page",
273
- body: t("report.deleteDone", {
274
- defaultValue: "Deleted report \u201C{{name}}\u201D",
275
- name
276
- })
277
- });
278
- if (name === currentReport) handleSelectReport(null);
279
- }).catch(error => {
280
- (0, import_components.notify)({
281
- severity: "error",
282
- scope: "page",
283
- body: error instanceof Error ? error.message : t("report.deleteFailed", "Could not delete the report")
284
- });
285
- });
286
- }, [savedReports, currentReport, handleSelectReport, t]);
287
- const handleExport = (0, import_react.useCallback)(() => {
288
- if (!import_components.isWeb) {
289
- (0, import_components.notify)({
290
- severity: "warning",
291
- scope: "page",
292
- body: t("report.exportUnsupported", "CSV export needs a browser download \u2014 not available on this platform yet")
293
- });
294
- return;
295
- }
296
- (0, import_platform.downloadBlob)(new Blob([(0, import_reportViewModel.buildReportCsv)(selectedColumns, orderedRows)], {
297
- type: "text/csv;charset=utf-8;"
298
- }), `${doctype}_report.csv`);
299
- (0, import_components.notify)({
300
- severity: "success",
301
- scope: "page",
302
- body: t("report.exportDone", {
303
- count: orderedRows.length,
304
- defaultValue_one: "Exported {{count}} row to CSV",
305
- defaultValue_other: "Exported {{count}} rows to CSV"
306
- })
307
- });
308
- }, [selectedColumns, orderedRows, doctype, t]);
309
- const handleColumnFilterChange = (0, import_react.useCallback)((fieldname, value) => {
310
- setFilterDrafts(previous => {
311
- if (value === "") {
312
- if (!(fieldname in previous)) return previous;
313
- const {
314
- [fieldname]: _dropped,
315
- ...rest
316
- } = previous;
317
- return rest;
318
- }
319
- return {
320
- ...previous,
321
- [fieldname]: value
322
- };
323
- });
324
- }, []);
325
- const handleClearColumnFilters = (0, import_react.useCallback)(() => {
326
- setFilterDrafts({});
327
- setCommittedFilters({});
328
- }, []);
329
- const activeColumnFilterCount = columnTuples.length;
330
- if (metaLoading && !meta) return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ViewStates.ViewLoading, {});
331
- if (metaError && !meta) return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ViewStates.ViewError, {
60
+ const clearUrlFilters = (0, import_react.useCallback)(() => {
61
+ if (urlFilters) navigator.replace(paths.view(doctype, "report"));
62
+ }, [urlFilters, navigator, paths, doctype]);
63
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_frappe_ui.FrappeReportBuilder, {
332
64
  doctype,
333
- error: metaError
334
- });
335
- let body;
336
- if (syncError) {
337
- body = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
338
- intent: "error",
339
- title: t("report.loadFailed", "Couldn't load report rows"),
340
- description: syncError.message,
341
- action: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
342
- size: "$3",
343
- onPress: () => {
344
- setSyncError(null);
345
- setRetryGen(generation => generation + 1);
346
- },
347
- children: t("report.retry", "Retry")
348
- })
349
- });
350
- } else if (rowsLoading && total === 0) {
351
- body = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ViewStates.ViewLoading, {});
352
- } else if (total === 0) {
353
- const hasFilters = effectiveFilters.length > 0;
354
- body = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
355
- title: t("report.emptyTitle", "No results"),
356
- description: hasFilters ? t("report.emptyFiltered", "No rows match the current filters") : t("report.emptyDescription", {
357
- defaultValue: "There are no {{doctype}} records yet",
358
- doctype
359
- }),
360
- action: hasFilters ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Button, {
361
- size: "$3",
362
- onPress: () => {
363
- handleClearColumnFilters();
364
- handleClearBaseFilters();
365
- },
366
- children: t("report.clearAllFilters", "Clear all filters")
367
- }) : void 0
368
- });
369
- } else {
370
- body = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_report_grid.ReportGrid, {
371
- columns: selectedColumns,
372
- rows: gridRows,
373
- sort,
374
- onSortChange: setSortOverride,
375
- columnFilters: filterDrafts,
376
- onColumnFilterChange: handleColumnFilterChange,
377
- onOpenRow: handleOpenRow,
378
- onOpenLink: handleOpenLink,
379
- totals,
380
- groupByColumn
381
- });
382
- }
383
- const content = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
384
- flex: 1,
385
- minWidth: 0,
386
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_report_toolbar.ReportToolbar, {
387
- columns: allColumns,
388
- selected: selectedFieldnames,
389
- onToggleColumn: handleToggleColumn,
390
- onResetColumns: handleResetColumns,
391
- groupBy,
392
- onGroupByChange: setGroupBy,
393
- baseFilters,
394
- onClearBaseFilters: baseFilters.length > 0 ? handleClearBaseFilters : void 0,
395
- columnFilterCount: activeColumnFilterCount,
396
- onClearColumnFilters: handleClearColumnFilters,
397
- savedReports: savedReports.reports,
398
- currentReport,
399
- onSelectReport: handleSelectReport,
400
- onSaveReport: handleSaveReport,
401
- onDeleteReport: handleDeleteReport,
402
- onExport: handleExport,
403
- exportDisabled: total === 0
404
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
405
- flex: 1,
406
- minWidth: 0,
407
- paddingHorizontal: "$3",
408
- children: body
409
- }), total > 0 && !syncError && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
410
- paddingHorizontal: "$3",
411
- paddingVertical: "$2",
412
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.DataTablePagination, {
413
- pagination: {
414
- pageIndex: effectivePage,
415
- pageSize,
416
- totalCount: total,
417
- totalPages: pageCount
418
- },
419
- onPaginationChange: next => {
420
- setPage(next.pageIndex);
421
- setPageSize(next.pageSize);
422
- },
423
- pageSizeOptions: [...import_reportViewModel.REPORT_PAGE_SIZES],
424
- compact: true
425
- })
426
- })]
427
- });
428
- return import_components.isWeb ? content : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.ScrollView, {
429
- flex: 1,
430
- children: content
65
+ filters: urlFilters ?? initialFilters,
66
+ scopeFilters: deskScope,
67
+ onClearFilters: clearUrlFilters,
68
+ report: currentReport,
69
+ onReportChange: selectReport,
70
+ onOpenRow: name => openForm(doctype, name),
71
+ onOpenLink: openForm,
72
+ loading: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ViewStates.ViewLoading, {}),
73
+ error: error => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_ViewStates.ViewError, {
74
+ doctype,
75
+ error
76
+ })
431
77
  });
432
78
  }