@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,65 +1,20 @@
1
- import { EmptyState, ScrollView, YStack, isWeb, notify } from "@multiplatform.one/components";
2
- import { Button } from "@multiplatform.one/forms";
3
- import { Order, useFrappeCollection, useLiveQuery } from "@multiplatform.one/frappe";
4
- import { downloadBlob } from "@multiplatform.one/platform";
5
- import { storage } from "@multiplatform.one/store";
6
- import { DataTablePagination } from "@multiplatform.one/table";
7
- import { useCallback, useEffect, useMemo, useState } from "react";
8
- import { useTranslation } from "react-i18next";
1
+ import { FrappeReportBuilder, parseReportFiltersParam } from "@multiplatform.one/frappe-ui";
2
+ import { useCallback, useMemo } from "react";
9
3
  import { useBackofficeLocation, useBackofficeNavigator, useBackofficePaths } from "../config/BackofficeProvider.mjs";
10
- import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.mjs";
11
4
  import { useDeskScope } from "../desk/scope.mjs";
12
- import { useDoctypeMeta } from "../shared/useDoctypeMeta.mjs";
13
- import { useViewConnection } from "../views/connection.mjs";
14
5
  import { ViewError, ViewLoading } from "../views/ViewStates.mjs";
15
- import { ReportGrid } from "./report-grid.mjs";
16
- import { ReportToolbar } from "./report-toolbar.mjs";
17
- import { useSavedReports } from "./savedReports.mjs";
18
- import { DEFAULT_REPORT_PAGE_SIZE, REPORT_PAGE_SIZES, buildGridRows, buildReportCsv, columnFilterTuples, computeTotals, defaultReportFieldnames, orderReportRows, parseReportFiltersParam, reportColumnsFromMeta, resolveSelectedColumns } from "./reportViewModel.mjs";
19
- import { jsx, jsxs } from "react/jsx-runtime";
20
- const EMPTY_FILTERS = [];
21
- const COLUMN_FILTER_DEBOUNCE_MS = 350;
22
- function columnsStorageKey(doctype) {
23
- return `backoffice.report.columns.${doctype}`;
24
- }
25
- async function readStoredColumns(doctype) {
26
- try {
27
- const raw = await Promise.resolve(storage.getItem(columnsStorageKey(doctype)));
28
- if (!raw) return void 0;
29
- const parsed = JSON.parse(raw);
30
- if (Array.isArray(parsed) && parsed.every(entry => typeof entry === "string")) {
31
- return parsed;
32
- }
33
- } catch {}
34
- return void 0;
35
- }
36
- function persistStoredColumns(doctype, fieldnames) {
37
- try {
38
- void Promise.resolve(storage.setItem(columnsStorageKey(doctype), JSON.stringify(fieldnames)));
39
- } catch {}
40
- }
6
+ import { jsx } from "react/jsx-runtime";
41
7
  function DoctypeReportView({
42
8
  doctype,
43
9
  filtersParam,
44
10
  initialFilters
45
11
  }) {
46
- const {
47
- t
48
- } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
49
12
  const deskScope = useDeskScope();
50
13
  const navigator = useBackofficeNavigator();
51
14
  const paths = useBackofficePaths();
52
15
  const {
53
16
  params
54
17
  } = useBackofficeLocation();
55
- const connection = useViewConnection();
56
- const fixtureMode = Boolean(connection?.fixtures);
57
- const {
58
- meta,
59
- loading: metaLoading,
60
- error: metaError
61
- } = useDoctypeMeta(doctype);
62
- const savedReports = useSavedReports(doctype);
63
18
  const rawReportParam = typeof params.report === "string" ? params.report : params.report?.[0];
64
19
  const currentReport = useMemo(() => {
65
20
  if (!rawReportParam) return null;
@@ -69,338 +24,29 @@ function DoctypeReportView({
69
24
  return rawReportParam;
70
25
  }
71
26
  }, [rawReportParam]);
72
- const allColumns = useMemo(() => reportColumnsFromMeta(meta), [meta]);
73
- const defaultFieldnames = useMemo(() => defaultReportFieldnames(meta), [meta]);
74
- const [storedColumns, setStoredColumns] = useState(void 0);
75
- const [selectedOverride, setSelectedOverride] = useState(null);
76
- useEffect(() => {
77
- if (fixtureMode) return;
78
- let cancelled = false;
79
- void readStoredColumns(doctype).then(stored => {
80
- if (!cancelled) setStoredColumns(stored);
81
- });
82
- return () => {
83
- cancelled = true;
84
- };
85
- }, [doctype, fixtureMode]);
86
- const selectedFieldnames = selectedOverride ?? storedColumns ?? defaultFieldnames;
87
- const selectedColumns = useMemo(() => resolveSelectedColumns(allColumns, selectedFieldnames), [allColumns, selectedFieldnames]);
88
27
  const urlFilters = useMemo(() => parseReportFiltersParam(filtersParam), [filtersParam]);
89
- const [filtersCleared, setFiltersCleared] = useState(false);
90
- const [reportFilters, setReportFilters] = useState(null);
91
- const baseFilters = filtersCleared ? EMPTY_FILTERS : reportFilters ?? urlFilters ?? initialFilters ?? EMPTY_FILTERS;
92
- const [filterDrafts, setFilterDrafts] = useState({});
93
- const [committedFilters, setCommittedFilters] = useState({});
94
- useEffect(() => {
95
- const handle = setTimeout(() => {
96
- setCommittedFilters(previous => JSON.stringify(previous) === JSON.stringify(filterDrafts) ? previous : filterDrafts);
97
- }, COLUMN_FILTER_DEBOUNCE_MS);
98
- return () => clearTimeout(handle);
99
- }, [filterDrafts]);
100
- const columnTuples = useMemo(() => columnFilterTuples(selectedColumns, committedFilters), [selectedColumns, committedFilters]);
101
- const effectiveFilters = useMemo(() => [...deskScope, ...baseFilters, ...columnTuples], [deskScope, baseFilters, columnTuples]);
102
- const metaSort = useMemo(() => ({
103
- field: (meta?.sort_field || "modified").split(" ")[0],
104
- order: (meta?.sort_order || "DESC").toLowerCase() === "asc" ? "asc" : "desc"
105
- }), [meta?.sort_field, meta?.sort_order]);
106
- const [sortOverride, setSortOverride] = useState(null);
107
- const sort = sortOverride ?? metaSort;
108
- const [groupBy, setGroupBy] = useState(null);
109
- const [pageSize, setPageSize] = useState(DEFAULT_REPORT_PAGE_SIZE);
110
- const [page, setPage] = useState(0);
111
- useEffect(() => {
112
- setSelectedOverride(null);
113
- setStoredColumns(void 0);
114
- setSortOverride(null);
115
- setGroupBy(null);
116
- setPage(0);
117
- setPageSize(DEFAULT_REPORT_PAGE_SIZE);
118
- setFilterDrafts({});
119
- setCommittedFilters({});
120
- setFiltersCleared(false);
121
- setReportFilters(null);
122
- }, [doctype]);
123
- useEffect(() => setFiltersCleared(false), [filtersParam]);
124
- const filtersKey = useMemo(() => JSON.stringify(effectiveFilters), [effectiveFilters]);
125
- useEffect(() => {
126
- setPage(0);
127
- }, [filtersKey, pageSize, groupBy]);
128
- useEffect(() => {
129
- if (!currentReport) {
130
- setReportFilters(null);
131
- return;
132
- }
133
- let cancelled = false;
134
- void savedReports.load(currentReport).then(config => {
135
- if (cancelled || !config) return;
136
- setSelectedOverride(config.fieldnames.length > 0 ? config.fieldnames : null);
137
- setReportFilters(config.filters);
138
- setFilterDrafts({});
139
- setCommittedFilters({});
140
- setFiltersCleared(false);
141
- if (config.sort) setSortOverride(config.sort);
142
- if (config.pageSize && REPORT_PAGE_SIZES.some(size => size === config.pageSize)) {
143
- setPageSize(config.pageSize);
144
- }
145
- setGroupBy(config.groupBy ?? null);
146
- });
147
- return () => {
148
- cancelled = true;
149
- };
150
- }, [currentReport, doctype]);
151
- const handleToggleColumn = useCallback(fieldname => {
152
- setSelectedOverride(previous => {
153
- const current = previous ?? storedColumns ?? defaultFieldnames;
154
- const next = current.includes(fieldname) ? current.length === 1 ? current : current.filter(entry => entry !== fieldname) : [...current, fieldname];
155
- if (!fixtureMode && !currentReport) persistStoredColumns(doctype, next);
156
- return next;
157
- });
158
- }, [storedColumns, defaultFieldnames, fixtureMode, currentReport, doctype]);
159
- const handleResetColumns = useCallback(() => {
160
- setSelectedOverride(defaultFieldnames);
161
- setStoredColumns(void 0);
162
- if (!fixtureMode) persistStoredColumns(doctype, defaultFieldnames);
163
- }, [defaultFieldnames, fixtureMode, doctype]);
164
- const fetchFields = useMemo(() => {
165
- const fields = /* @__PURE__ */new Set(["name", sort.field]);
166
- for (const column of selectedColumns) fields.add(column.fieldname);
167
- if (groupBy) fields.add(groupBy);
168
- return [...fields];
169
- }, [selectedColumns, sort.field, groupBy]);
170
- const [syncError, setSyncError] = useState(null);
171
- const handleSyncError = useCallback(error => {
172
- setSyncError(error instanceof Error ? error : new Error(String(error)));
173
- }, []);
174
- const [retryGen, setRetryGen] = useState(0);
175
- const collectionConfig = useMemo(() => connection && meta && retryGen >= 0 ? connection : void 0, [connection, meta, retryGen]);
176
- const collection = useFrappeCollection(collectionConfig, doctype, {
177
- fields: fetchFields,
178
- filters: effectiveFilters,
179
- orderBy: {
180
- field: sort.field,
181
- order: sort.order === "asc" ? Order.Asc : Order.Desc
182
- },
183
- onSyncError: handleSyncError
184
- });
185
- useEffect(() => setSyncError(null), [collection]);
186
- const {
187
- data: rowsData,
188
- isLoading: rowsLoading
189
- } = useLiveQuery(q => collection ? q.from({
190
- _report: collection
191
- }) : null, [collection]);
192
- const orderedRows = useMemo(() => orderReportRows(rowsData ?? [], sort, groupBy), [rowsData, sort, groupBy]);
193
- const total = orderedRows.length;
194
- const pageCount = Math.max(1, Math.ceil(total / pageSize));
195
- const effectivePage = Math.min(page, pageCount - 1);
196
- const gridRows = useMemo(() => buildGridRows(orderedRows, effectivePage * pageSize, pageSize, groupBy), [orderedRows, effectivePage, pageSize, groupBy]);
197
- const totals = useMemo(() => computeTotals(selectedColumns, orderedRows), [selectedColumns, orderedRows]);
198
- const groupByColumn = groupBy ? allColumns.find(column => column.fieldname === groupBy) : void 0;
199
- const handleOpenRow = useCallback(name => navigator.navigate(paths.form(doctype, name)), [navigator, paths, doctype]);
200
- const handleOpenLink = useCallback((targetDoctype, name) => navigator.navigate(paths.form(targetDoctype, name)), [navigator, paths]);
201
- const handleSelectReport = useCallback(name => {
28
+ const openForm = useCallback((targetDoctype, name) => navigator.navigate(paths.form(targetDoctype, name)), [navigator, paths]);
29
+ const selectReport = useCallback(name => {
202
30
  const base = paths.view(doctype, "report");
203
31
  navigator.replace(name ? `${base}?report=${encodeURIComponent(name)}` : base);
204
- if (!name) {
205
- setReportFilters(null);
206
- setSelectedOverride(null);
207
- setSortOverride(null);
208
- setGroupBy(null);
209
- }
210
32
  }, [navigator, paths, doctype]);
211
- const handleClearBaseFilters = useCallback(() => {
212
- setFiltersCleared(true);
213
- if (urlFilters && !reportFilters) navigator.replace(paths.view(doctype, "report"));
214
- }, [urlFilters, reportFilters, navigator, paths, doctype]);
215
- const handleSaveReport = useCallback(name => {
216
- void savedReports.save(name, {
217
- fieldnames: [...selectedFieldnames],
218
- filters: effectiveFilters,
219
- sort,
220
- pageSize,
221
- groupBy,
222
- addTotals: totals.length > 0
223
- }).then(savedName => {
224
- notify({
225
- severity: "success",
226
- scope: "page",
227
- body: t("report.saveDone", {
228
- defaultValue: "Saved report \u201C{{name}}\u201D",
229
- name: savedName
230
- })
231
- });
232
- if (savedName !== currentReport) handleSelectReport(savedName);
233
- }).catch(error => {
234
- notify({
235
- severity: "error",
236
- scope: "page",
237
- body: error instanceof Error ? error.message : t("report.saveFailed", "Could not save the report")
238
- });
239
- });
240
- }, [savedReports, selectedFieldnames, effectiveFilters, sort, pageSize, groupBy, totals.length, currentReport, handleSelectReport, t]);
241
- const handleDeleteReport = useCallback(name => {
242
- void savedReports.remove(name).then(() => {
243
- notify({
244
- severity: "success",
245
- scope: "page",
246
- body: t("report.deleteDone", {
247
- defaultValue: "Deleted report \u201C{{name}}\u201D",
248
- name
249
- })
250
- });
251
- if (name === currentReport) handleSelectReport(null);
252
- }).catch(error => {
253
- notify({
254
- severity: "error",
255
- scope: "page",
256
- body: error instanceof Error ? error.message : t("report.deleteFailed", "Could not delete the report")
257
- });
258
- });
259
- }, [savedReports, currentReport, handleSelectReport, t]);
260
- const handleExport = useCallback(() => {
261
- if (!isWeb) {
262
- notify({
263
- severity: "warning",
264
- scope: "page",
265
- body: t("report.exportUnsupported", "CSV export needs a browser download \u2014 not available on this platform yet")
266
- });
267
- return;
268
- }
269
- downloadBlob(new Blob([buildReportCsv(selectedColumns, orderedRows)], {
270
- type: "text/csv;charset=utf-8;"
271
- }), `${doctype}_report.csv`);
272
- notify({
273
- severity: "success",
274
- scope: "page",
275
- body: t("report.exportDone", {
276
- count: orderedRows.length,
277
- defaultValue_one: "Exported {{count}} row to CSV",
278
- defaultValue_other: "Exported {{count}} rows to CSV"
279
- })
280
- });
281
- }, [selectedColumns, orderedRows, doctype, t]);
282
- const handleColumnFilterChange = useCallback((fieldname, value) => {
283
- setFilterDrafts(previous => {
284
- if (value === "") {
285
- if (!(fieldname in previous)) return previous;
286
- const {
287
- [fieldname]: _dropped,
288
- ...rest
289
- } = previous;
290
- return rest;
291
- }
292
- return {
293
- ...previous,
294
- [fieldname]: value
295
- };
296
- });
297
- }, []);
298
- const handleClearColumnFilters = useCallback(() => {
299
- setFilterDrafts({});
300
- setCommittedFilters({});
301
- }, []);
302
- const activeColumnFilterCount = columnTuples.length;
303
- if (metaLoading && !meta) return /* @__PURE__ */jsx(ViewLoading, {});
304
- if (metaError && !meta) return /* @__PURE__ */jsx(ViewError, {
33
+ const clearUrlFilters = useCallback(() => {
34
+ if (urlFilters) navigator.replace(paths.view(doctype, "report"));
35
+ }, [urlFilters, navigator, paths, doctype]);
36
+ return /* @__PURE__ */jsx(FrappeReportBuilder, {
305
37
  doctype,
306
- error: metaError
307
- });
308
- let body;
309
- if (syncError) {
310
- body = /* @__PURE__ */jsx(EmptyState, {
311
- intent: "error",
312
- title: t("report.loadFailed", "Couldn't load report rows"),
313
- description: syncError.message,
314
- action: /* @__PURE__ */jsx(Button, {
315
- size: "$3",
316
- onPress: () => {
317
- setSyncError(null);
318
- setRetryGen(generation => generation + 1);
319
- },
320
- children: t("report.retry", "Retry")
321
- })
322
- });
323
- } else if (rowsLoading && total === 0) {
324
- body = /* @__PURE__ */jsx(ViewLoading, {});
325
- } else if (total === 0) {
326
- const hasFilters = effectiveFilters.length > 0;
327
- body = /* @__PURE__ */jsx(EmptyState, {
328
- title: t("report.emptyTitle", "No results"),
329
- description: hasFilters ? t("report.emptyFiltered", "No rows match the current filters") : t("report.emptyDescription", {
330
- defaultValue: "There are no {{doctype}} records yet",
331
- doctype
332
- }),
333
- action: hasFilters ? /* @__PURE__ */jsx(Button, {
334
- size: "$3",
335
- onPress: () => {
336
- handleClearColumnFilters();
337
- handleClearBaseFilters();
338
- },
339
- children: t("report.clearAllFilters", "Clear all filters")
340
- }) : void 0
341
- });
342
- } else {
343
- body = /* @__PURE__ */jsx(ReportGrid, {
344
- columns: selectedColumns,
345
- rows: gridRows,
346
- sort,
347
- onSortChange: setSortOverride,
348
- columnFilters: filterDrafts,
349
- onColumnFilterChange: handleColumnFilterChange,
350
- onOpenRow: handleOpenRow,
351
- onOpenLink: handleOpenLink,
352
- totals,
353
- groupByColumn
354
- });
355
- }
356
- const content = /* @__PURE__ */jsxs(YStack, {
357
- flex: 1,
358
- minWidth: 0,
359
- children: [/* @__PURE__ */jsx(ReportToolbar, {
360
- columns: allColumns,
361
- selected: selectedFieldnames,
362
- onToggleColumn: handleToggleColumn,
363
- onResetColumns: handleResetColumns,
364
- groupBy,
365
- onGroupByChange: setGroupBy,
366
- baseFilters,
367
- onClearBaseFilters: baseFilters.length > 0 ? handleClearBaseFilters : void 0,
368
- columnFilterCount: activeColumnFilterCount,
369
- onClearColumnFilters: handleClearColumnFilters,
370
- savedReports: savedReports.reports,
371
- currentReport,
372
- onSelectReport: handleSelectReport,
373
- onSaveReport: handleSaveReport,
374
- onDeleteReport: handleDeleteReport,
375
- onExport: handleExport,
376
- exportDisabled: total === 0
377
- }), /* @__PURE__ */jsx(YStack, {
378
- flex: 1,
379
- minWidth: 0,
380
- paddingHorizontal: "$3",
381
- children: body
382
- }), total > 0 && !syncError && /* @__PURE__ */jsx(YStack, {
383
- paddingHorizontal: "$3",
384
- paddingVertical: "$2",
385
- children: /* @__PURE__ */jsx(DataTablePagination, {
386
- pagination: {
387
- pageIndex: effectivePage,
388
- pageSize,
389
- totalCount: total,
390
- totalPages: pageCount
391
- },
392
- onPaginationChange: next => {
393
- setPage(next.pageIndex);
394
- setPageSize(next.pageSize);
395
- },
396
- pageSizeOptions: [...REPORT_PAGE_SIZES],
397
- compact: true
398
- })
399
- })]
400
- });
401
- return isWeb ? content : /* @__PURE__ */jsx(ScrollView, {
402
- flex: 1,
403
- children: content
38
+ filters: urlFilters ?? initialFilters,
39
+ scopeFilters: deskScope,
40
+ onClearFilters: clearUrlFilters,
41
+ report: currentReport,
42
+ onReportChange: selectReport,
43
+ onOpenRow: name => openForm(doctype, name),
44
+ onOpenLink: openForm,
45
+ loading: /* @__PURE__ */jsx(ViewLoading, {}),
46
+ error: error => /* @__PURE__ */jsx(ViewError, {
47
+ doctype,
48
+ error
49
+ })
404
50
  });
405
51
  }
406
52
  export { DoctypeReportView };
@@ -1 +1 @@
1
- {"version":3,"names":["EmptyState","ScrollView","YStack","isWeb","notify","Button","Order","useFrappeCollection","useLiveQuery","downloadBlob","storage","DataTablePagination","useCallback","useEffect","useMemo","useState","useTranslation","useBackofficeLocation","useBackofficeNavigator","useBackofficePaths","BACKOFFICE_I18N_NAMESPACE","useDeskScope","useDoctypeMeta","useViewConnection","ViewError","ViewLoading","ReportGrid","ReportToolbar","useSavedReports","DEFAULT_REPORT_PAGE_SIZE","REPORT_PAGE_SIZES","buildGridRows","buildReportCsv","columnFilterTuples","computeTotals","defaultReportFieldnames","orderReportRows","parseReportFiltersParam","reportColumnsFromMeta","resolveSelectedColumns","jsx","jsxs","EMPTY_FILTERS","COLUMN_FILTER_DEBOUNCE_MS","columnsStorageKey","doctype","readStoredColumns","raw","Promise","resolve","getItem","parsed","JSON","parse","Array","isArray","every","entry","persistStoredColumns","fieldnames","setItem","stringify","DoctypeReportView","filtersParam","initialFilters","t","deskScope","navigator","paths","params","connection","fixtureMode","Boolean","fixtures","meta","loading","metaLoading","error","metaError","savedReports","rawReportParam","report","currentReport","decodeURIComponent","allColumns","defaultFieldnames","storedColumns","setStoredColumns","selectedOverride","setSelectedOverride","cancelled","then","stored","selectedFieldnames","selectedColumns","urlFilters","filtersCleared","setFiltersCleared","reportFilters","setReportFilters","baseFilters","filterDrafts","setFilterDrafts","committedFilters","setCommittedFilters","handle","setTimeout","previous","clearTimeout","columnTuples","effectiveFilters","metaSort","field","sort_field","split","order","sort_order","toLowerCase","sortOverride","setSortOverride","sort","groupBy","setGroupBy","pageSize","setPageSize","page","setPage","filtersKey","load","config","length","filters","some","size","handleToggleColumn","fieldname","current","next","includes","filter","handleResetColumns","fetchFields","fields","Set","column","add","syncError","setSyncError","handleSyncError","Error","String","retryGen","setRetryGen","collectionConfig","collection","orderBy","Asc","Desc","onSyncError","data","rowsData","isLoading","rowsLoading","q","from","_report","orderedRows","total","pageCount","Math","max","ceil","effectivePage","min","gridRows","totals","groupByColumn","find","handleOpenRow","name","navigate","form","handleOpenLink","targetDoctype","handleSelectReport","base","view","replace","encodeURIComponent","handleClearBaseFilters","handleSaveReport","save","addTotals","savedName","severity","scope","body","defaultValue","catch","message","handleDeleteReport","remove","handleExport","Blob","type","count","defaultValue_one","defaultValue_other","handleColumnFilterChange","value","_dropped","rest","handleClearColumnFilters","activeColumnFilterCount","intent","title","description","action","onPress","generation","children","hasFilters","columns","rows","onSortChange","columnFilters","onColumnFilterChange","onOpenRow","onOpenLink","content","flex","minWidth","selected","onToggleColumn","onResetColumns","onGroupByChange","onClearBaseFilters","columnFilterCount","onClearColumnFilters","reports","onSelectReport","onSaveReport","onDeleteReport","onExport","exportDisabled","paddingHorizontal","paddingVertical","pagination","pageIndex","totalCount","totalPages","onPaginationChange","pageSizeOptions","compact"],"sources":["../../../src/report/DoctypeReportView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["FrappeReportBuilder","parseReportFiltersParam","useCallback","useMemo","useBackofficeLocation","useBackofficeNavigator","useBackofficePaths","useDeskScope","ViewError","ViewLoading","jsx","DoctypeReportView","doctype","filtersParam","initialFilters","deskScope","navigator","paths","params","rawReportParam","report","currentReport","decodeURIComponent","urlFilters","openForm","targetDoctype","name","navigate","form","selectReport","base","view","replace","encodeURIComponent","clearUrlFilters","filters","scopeFilters","onClearFilters","onReportChange","onOpenRow","onOpenLink","loading","error"],"sources":["../../../src/report/DoctypeReportView.tsx"],"sourcesContent":[null],"mappings":"AAKA,SAASA,mBAAA,EAAqBC,uBAAA,QAA+B;AAC7D,SAAgBC,WAAA,EAAaC,OAAA,QAAe;AAC5C,SACEC,qBAAA,EACAC,sBAAA,EACAC,kBAAA,QACK;AACP,SAASC,YAAA,QAAoB;AAE7B,SAASC,SAAA,EAAWC,WAAA,QAAmB;AA+DxB,SAAAC,GAAA;AAhDR,SAASC,kBAAkB;EAChCC,OAAA;EACAC,YAAA;EACAC;AACF,GAA2B;EACzB,MAAMC,SAAA,GAAYR,YAAA,CAAa;EAC/B,MAAMS,SAAA,GAAYX,sBAAA,CAAuB;EACzC,MAAMY,KAAA,GAAQX,kBAAA,CAAmB;EACjC,MAAM;IAAEY;EAAO,IAAId,qBAAA,CAAsB;EAIzC,MAAMe,cAAA,GAAiB,OAAOD,MAAA,CAAOE,MAAA,KAAW,WAAWF,MAAA,CAAOE,MAAA,GAASF,MAAA,CAAOE,MAAA,GAAS,CAAC;EAC5F,MAAMC,aAAA,GAAgBlB,OAAA,CAAQ,MAAM;IAClC,IAAI,CAACgB,cAAA,EAAgB,OAAO;IAC5B,IAAI;MACF,OAAOG,kBAAA,CAAmBH,cAAc;IAC1C,QAAQ;MACN,OAAOA,cAAA;IACT;EACF,GAAG,CAACA,cAAc,CAAC;EACnB,MAAMI,UAAA,GAAapB,OAAA,CAAQ,MAAMF,uBAAA,CAAwBY,YAAY,GAAG,CAACA,YAAY,CAAC;EAEtF,MAAMW,QAAA,GAAWtB,WAAA,CACf,CAACuB,aAAA,EAAuBC,IAAA,KAAiBV,SAAA,CAAUW,QAAA,CAASV,KAAA,CAAMW,IAAA,CAAKH,aAAA,EAAeC,IAAI,CAAC,GAC3F,CAACV,SAAA,EAAWC,KAAK,CACnB;EACA,MAAMY,YAAA,GAAe3B,WAAA,CAClBwB,IAAA,IAAwB;IACvB,MAAMI,IAAA,GAAOb,KAAA,CAAMc,IAAA,CAAKnB,OAAA,EAAS,QAAQ;IACzCI,SAAA,CAAUgB,OAAA,CAAQN,IAAA,GAAO,GAAGI,IAAI,WAAWG,kBAAA,CAAmBP,IAAI,CAAC,KAAKI,IAAI;EAC9E,GACA,CAACd,SAAA,EAAWC,KAAA,EAAOL,OAAO,CAC5B;EACA,MAAMsB,eAAA,GAAkBhC,WAAA,CAAY,MAAM;IACxC,IAAIqB,UAAA,EAAYP,SAAA,CAAUgB,OAAA,CAAQf,KAAA,CAAMc,IAAA,CAAKnB,OAAA,EAAS,QAAQ,CAAC;EACjE,GAAG,CAACW,UAAA,EAAYP,SAAA,EAAWC,KAAA,EAAOL,OAAO,CAAC;EAE1C,OACE,eAAAF,GAAA,CAACV,mBAAA;IACCY,OAAA;IACAuB,OAAA,EAASZ,UAAA,IAAcT,cAAA;IACvBsB,YAAA,EAAcrB,SAAA;IACdsB,cAAA,EAAgBH,eAAA;IAChBd,MAAA,EAAQC,aAAA;IACRiB,cAAA,EAAgBT,YAAA;IAChBU,SAAA,EAAYb,IAAA,IAASF,QAAA,CAASZ,OAAA,EAASc,IAAI;IAC3Cc,UAAA,EAAYhB,QAAA;IACZiB,OAAA,EAAS,eAAA/B,GAAA,CAACD,WAAA,IAAY;IACtBiC,KAAA,EAAQA,KAAA,IAAU,eAAAhC,GAAA,CAACF,SAAA;MAAUI,OAAA;MAAkB8B;IAAA,CAAc;EAAA,CAC/D;AAEJ","ignoreList":[]}