@multiplatform.one/backoffice 7.28.1 → 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 (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
@@ -33,11 +33,10 @@ var import_react = require("@phosphor-icons/react");
33
33
  var import_react2 = require("react");
34
34
  var import_react_i18next = require("react-i18next");
35
35
  var import_BackofficeProvider = require("../config/BackofficeProvider.cjs");
36
+ var import_frappe_ui = require("@multiplatform.one/frappe-ui");
36
37
  var import_i18n = require("../i18n/index.cjs");
37
- var import_queryReportColumns = require("./queryReportColumns.cjs");
38
38
  var import_queryReportFilterBar = require("./queryReportFilterBar.cjs");
39
39
  var import_queryReportUrlState = require("./queryReportUrlState.cjs");
40
- var import_useQueryReport = require("./useQueryReport.cjs");
41
40
  var import_jsx_runtime = require("react/jsx-runtime");
42
41
  const PAGE_SIZES = [20, 100, 500];
43
42
  function QueryReportScreen({
@@ -64,7 +63,7 @@ function QueryReportScreen({
64
63
  if (Object.keys(fromParam).length > 0) return fromParam;
65
64
  return initialFilters;
66
65
  }, [rawFiltersParam, initialFilters]);
67
- const report = (0, import_useQueryReport.useQueryReport)(reportName, {
66
+ const report = (0, import_frappe_ui.useQueryReport)(reportName, {
68
67
  fixture,
69
68
  initialFilters: initialFilterValues
70
69
  });
@@ -95,7 +94,7 @@ function QueryReportScreen({
95
94
  };
96
95
  if (reportChanged || !paramChanged) return;
97
96
  const parsed = (0, import_queryReportUrlState.parseQueryReportFiltersParam)(rawFiltersParam);
98
- const next = Object.keys(parsed).length > 0 ? parsed : (0, import_useQueryReport.defaultFilterValues)(filterMetaRef.current);
97
+ const next = Object.keys(parsed).length > 0 ? parsed : (0, import_frappe_ui.defaultFilterValues)(filterMetaRef.current);
99
98
  if ((0, import_queryReportUrlState.serializeQueryReportFiltersParam)(next) === (0, import_queryReportUrlState.serializeQueryReportFiltersParam)(filtersRef.current)) return;
100
99
  setFilters(next);
101
100
  }, [reportName, rawFiltersParam, setFilters]);
@@ -109,17 +108,17 @@ function QueryReportScreen({
109
108
  const tableColumns = (0, import_react2.useMemo)(() => {
110
109
  const hidden = new Set(hiddenColumns ?? []);
111
110
  const visible = hidden.size ? report.columns.filter(column => !hidden.has(column.fieldname)) : report.columns;
112
- return (0, import_queryReportColumns.buildQueryReportColumns)({
111
+ return (0, import_frappe_ui.buildQueryReportColumns)({
113
112
  columns: visible,
114
113
  onOpenLink: handleOpenLink
115
114
  });
116
115
  }, [report.columns, handleOpenLink, hiddenColumns]);
117
116
  const title = report.meta?.report_name || reportName;
118
- const hasVisibleFilters = report.filterMeta.some(filter => filter.hidden !== 1 && !(0, import_useQueryReport.isEmptyFilterValue)(report.filters[filter.fieldname]));
117
+ const hasVisibleFilters = report.filterMeta.some(filter => filter.hidden !== 1 && !(0, import_frappe_ui.isEmptyFilterValue)(report.filters[filter.fieldname]));
119
118
  const clearVisibleFilters = (0, import_react2.useCallback)(() => {
120
119
  const next = {};
121
120
  for (const filter of report.filterMeta) {
122
- if (filter.hidden === 1 && !(0, import_useQueryReport.isEmptyFilterValue)(report.filters[filter.fieldname])) {
121
+ if (filter.hidden === 1 && !(0, import_frappe_ui.isEmptyFilterValue)(report.filters[filter.fieldname])) {
123
122
  next[filter.fieldname] = report.filters[filter.fieldname];
124
123
  }
125
124
  }
@@ -127,9 +126,9 @@ function QueryReportScreen({
127
126
  }, [report.filterMeta, report.filters, applyFilters]);
128
127
  const handleExport = (0, import_react2.useCallback)(() => {
129
128
  if (!import_components.isWeb || report.rows.length === 0) return;
130
- (0, import_platform.downloadBlob)(new Blob([(0, import_queryReportColumns.buildQueryReportCsv)(report.columns, report.rows)], {
129
+ (0, import_platform.downloadBlob)(new Blob([(0, import_frappe_ui.buildQueryReportCsv)(report.columns, report.rows)], {
131
130
  type: "text/csv;charset=utf-8;"
132
- }), `${(0, import_useQueryReport.scrubFieldname)(title)}.csv`);
131
+ }), `${(0, import_frappe_ui.scrubFieldname)(title)}.csv`);
133
132
  }, [report.columns, report.rows, title]);
134
133
  const subtitle = (0, import_react2.useMemo)(() => {
135
134
  if (report.loading) return void 0;
@@ -166,6 +165,15 @@ function QueryReportScreen({
166
165
  }),
167
166
  description: t("queryReport.disabledDescription", "Enable the report from its Report document to run it")
168
167
  });
168
+ } else if (report.error && report.refused) {
169
+ body = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
170
+ testID: "frappe-report-not-permitted",
171
+ title: t("queryReport.notPermitted", {
172
+ defaultValue: `You can't run "{{report}}"`,
173
+ report: title
174
+ }),
175
+ description: report.error.message
176
+ });
169
177
  } else if (report.error) {
170
178
  body = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
171
179
  flex: 1,
@@ -245,25 +253,27 @@ function QueryReportScreen({
245
253
  alignItems: "center",
246
254
  children: [report.running && !report.loading ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Spinner, {
247
255
  size: "small"
248
- }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
249
- size: "$2",
250
- chromeless: true,
251
- onPress: report.reload,
252
- disabled: report.loading,
253
- children: t("queryReport.refresh", "Refresh")
254
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
255
- size: "$2",
256
- chromeless: true,
257
- icon: import_react.DownloadSimpleIcon,
258
- onPress: handleExport,
259
- disabled: report.loading || report.rows.length === 0,
260
- children: t("queryReport.exportCsv", "Export CSV")
256
+ }) : null, report.refused ? null : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
257
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
258
+ size: "$2",
259
+ chromeless: true,
260
+ onPress: report.reload,
261
+ disabled: report.loading,
262
+ children: t("queryReport.refresh", "Refresh")
263
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
264
+ size: "$2",
265
+ chromeless: true,
266
+ icon: import_react.DownloadSimpleIcon,
267
+ onPress: handleExport,
268
+ disabled: report.loading || report.rows.length === 0,
269
+ children: t("queryReport.exportCsv", "Export CSV")
270
+ })]
261
271
  })]
262
272
  })
263
273
  }), report.serverMessage ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
264
274
  fontSize: "$2",
265
275
  color: "$color10",
266
- children: (0, import_useQueryReport.stripHtml)(report.serverMessage)
276
+ children: (0, import_frappe_ui.stripReportHtml)(report.serverMessage)
267
277
  }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
268
278
  flex: 1,
269
279
  minWidth: 0,
@@ -48,11 +48,10 @@ var import_react2 = require("@phosphor-icons/react");
48
48
  var import_react3 = require("react");
49
49
  var import_react_i18next = require("react-i18next");
50
50
  var import_BackofficeProvider = require("../config/BackofficeProvider.native.js");
51
+ var import_frappe_ui = require("@multiplatform.one/frappe-ui");
51
52
  var import_i18n = require("../i18n/index.native.js");
52
- var import_queryReportColumns = require("./queryReportColumns.native.js");
53
53
  var import_queryReportFilterBar = require("./queryReportFilterBar.native.js");
54
54
  var import_queryReportUrlState = require("./queryReportUrlState.native.js");
55
- var import_useQueryReport = require("./useQueryReport.native.js");
56
55
  var PAGE_SIZES = [20, 100, 500];
57
56
  function QueryReportScreen(param) {
58
57
  var {
@@ -80,7 +79,7 @@ function QueryReportScreen(param) {
80
79
  if (Object.keys(fromParam).length > 0) return fromParam;
81
80
  return initialFilters;
82
81
  }, [rawFiltersParam, initialFilters]);
83
- var report = (0, import_useQueryReport.useQueryReport)(reportName, {
82
+ var report = (0, import_frappe_ui.useQueryReport)(reportName, {
84
83
  fixture,
85
84
  initialFilters: initialFilterValues
86
85
  });
@@ -112,7 +111,7 @@ function QueryReportScreen(param) {
112
111
  };
113
112
  if (reportChanged || !paramChanged) return;
114
113
  var parsed = (0, import_queryReportUrlState.parseQueryReportFiltersParam)(rawFiltersParam);
115
- var next = Object.keys(parsed).length > 0 ? parsed : (0, import_useQueryReport.defaultFilterValues)(filterMetaRef.current);
114
+ var next = Object.keys(parsed).length > 0 ? parsed : (0, import_frappe_ui.defaultFilterValues)(filterMetaRef.current);
116
115
  if ((0, import_queryReportUrlState.serializeQueryReportFiltersParam)(next) === (0, import_queryReportUrlState.serializeQueryReportFiltersParam)(filtersRef.current)) return;
117
116
  setFilters(next);
118
117
  }, [reportName, rawFiltersParam, setFilters]);
@@ -128,14 +127,14 @@ function QueryReportScreen(param) {
128
127
  var visible = hidden.size ? report.columns.filter(function (column) {
129
128
  return !hidden.has(column.fieldname);
130
129
  }) : report.columns;
131
- return (0, import_queryReportColumns.buildQueryReportColumns)({
130
+ return (0, import_frappe_ui.buildQueryReportColumns)({
132
131
  columns: visible,
133
132
  onOpenLink: handleOpenLink
134
133
  });
135
134
  }, [report.columns, handleOpenLink, hiddenColumns]);
136
135
  var title = ((_report_meta = report.meta) === null || _report_meta === void 0 ? void 0 : _report_meta.report_name) || reportName;
137
136
  var hasVisibleFilters = report.filterMeta.some(function (filter) {
138
- return filter.hidden !== 1 && !(0, import_useQueryReport.isEmptyFilterValue)(report.filters[filter.fieldname]);
137
+ return filter.hidden !== 1 && !(0, import_frappe_ui.isEmptyFilterValue)(report.filters[filter.fieldname]);
139
138
  });
140
139
  var clearVisibleFilters = (0, import_react3.useCallback)(function () {
141
140
  var next = {};
@@ -145,7 +144,7 @@ function QueryReportScreen(param) {
145
144
  try {
146
145
  for (var _iterator = report.filterMeta[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
147
146
  var filter = _step.value;
148
- if (filter.hidden === 1 && !(0, import_useQueryReport.isEmptyFilterValue)(report.filters[filter.fieldname])) {
147
+ if (filter.hidden === 1 && !(0, import_frappe_ui.isEmptyFilterValue)(report.filters[filter.fieldname])) {
149
148
  next[filter.fieldname] = report.filters[filter.fieldname];
150
149
  }
151
150
  }
@@ -167,9 +166,9 @@ function QueryReportScreen(param) {
167
166
  }, [report.filterMeta, report.filters, applyFilters]);
168
167
  var handleExport = (0, import_react3.useCallback)(function () {
169
168
  if (!import_components.isWeb || report.rows.length === 0) return;
170
- (0, import_platform.downloadBlob)(new Blob([(0, import_queryReportColumns.buildQueryReportCsv)(report.columns, report.rows)], {
169
+ (0, import_platform.downloadBlob)(new Blob([(0, import_frappe_ui.buildQueryReportCsv)(report.columns, report.rows)], {
171
170
  type: "text/csv;charset=utf-8;"
172
- }), `${(0, import_useQueryReport.scrubFieldname)(title)}.csv`);
171
+ }), `${(0, import_frappe_ui.scrubFieldname)(title)}.csv`);
173
172
  }, [report.columns, report.rows, title]);
174
173
  var subtitle = (0, import_react3.useMemo)(function () {
175
174
  var _report_meta2;
@@ -207,6 +206,15 @@ function QueryReportScreen(param) {
207
206
  }),
208
207
  description: t("queryReport.disabledDescription", "Enable the report from its Report document to run it")
209
208
  });
209
+ } else if (report.error && report.refused) {
210
+ body = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.EmptyState, {
211
+ testID: "frappe-report-not-permitted",
212
+ title: t("queryReport.notPermitted", {
213
+ defaultValue: `You can't run "{{report}}"`,
214
+ report: title
215
+ }),
216
+ description: report.error.message
217
+ });
210
218
  } else if (report.error) {
211
219
  body = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
212
220
  flex: 1,
@@ -290,25 +298,27 @@ function QueryReportScreen(param) {
290
298
  alignItems: "center",
291
299
  children: [report.running && !report.loading ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Spinner, {
292
300
  size: "small"
293
- }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
294
- size: "$2",
295
- chromeless: true,
296
- onPress: report.reload,
297
- disabled: report.loading,
298
- children: t("queryReport.refresh", "Refresh")
299
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
300
- size: "$2",
301
- chromeless: true,
302
- icon: import_react2.DownloadSimpleIcon,
303
- onPress: handleExport,
304
- disabled: report.loading || report.rows.length === 0,
305
- children: t("queryReport.exportCsv", "Export CSV")
301
+ }) : null, report.refused ? null : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
302
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
303
+ size: "$2",
304
+ chromeless: true,
305
+ onPress: report.reload,
306
+ disabled: report.loading,
307
+ children: t("queryReport.refresh", "Refresh")
308
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Button, {
309
+ size: "$2",
310
+ chromeless: true,
311
+ icon: import_react2.DownloadSimpleIcon,
312
+ onPress: handleExport,
313
+ disabled: report.loading || report.rows.length === 0,
314
+ children: t("queryReport.exportCsv", "Export CSV")
315
+ })]
306
316
  })]
307
317
  })
308
318
  }), report.serverMessage ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
309
319
  fontSize: "$2",
310
320
  color: "$color10",
311
- children: (0, import_useQueryReport.stripHtml)(report.serverMessage)
321
+ children: (0, import_frappe_ui.stripReportHtml)(report.serverMessage)
312
322
  }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
313
323
  flex: 1,
314
324
  minWidth: 0,
@@ -1 +1 @@
1
- {"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","QueryReportScreen_exports","__export","QueryReportScreen","module","exports","import_jsx_runtime","require","import_react","import_components","import_table","import_platform","import_theme","import_react2","import_react3","import_react_i18next","import_BackofficeProvider","import_i18n","import_queryReportColumns","import_queryReportFilterBar","import_queryReportUrlState","import_useQueryReport","PAGE_SIZES","param","reportName","fixture","initialFilters","hiddenColumns","onRowOpen","_report_meta","_report_meta1","t","useTranslation","BACKOFFICE_I18N_NAMESPACE","knobProps","useResolvedKnobs","navigator","useBackofficeNavigator","paths","useBackofficePaths","params","useBackofficeLocation","rawFiltersParam","filters","Array","isArray","initialFilterValues","useMemo","fromParam","parseQueryReportFiltersParam","Object","keys","length","report","useQueryReport","setFilters","applyFilters","useCallback","next","_navigator_setParams","setParams","call","serializeQueryReportFiltersParam","filtersRef","useRef","current","filterMetaRef","filterMeta","lastAdopted","useEffect","last","reportChanged","paramChanged","parsed","defaultFilterValues","handleOpenLink","doctype","name","navigate","form","tableColumns","hidden","Set","visible","size","columns","filter","column","has","fieldname","buildQueryReportColumns","onOpenLink","title","meta","report_name","hasVisibleFilters","some","isEmptyFilterValue","clearVisibleFilters","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","err","return","handleExport","isWeb","rows","downloadBlob","Blob","buildQueryReportCsv","type","scrubFieldname","subtitle","_report_meta2","loading","bits","ref_doctype","push","error","missingRequired","defaultValue","count","executionTime","seconds","toFixed","join","body","jsx","YStack","flex","alignItems","justifyContent","padding","children","Spinner","disabled","EmptyState","description","jsxs","gap","intent","message","action","Button","theme","onPress","reload","scriptFilterGap","Text","fontSize","color","textAlign","paddingHorizontal"],"sources":["../../../src/report/QueryReportScreen.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","QueryReportScreen_exports","__export","QueryReportScreen","module","exports","import_jsx_runtime","require","import_react","import_components","import_table","import_platform","import_theme","import_react2","import_react3","import_react_i18next","import_BackofficeProvider","import_frappe_ui","import_i18n","import_queryReportFilterBar","import_queryReportUrlState","PAGE_SIZES","param","reportName","fixture","initialFilters","hiddenColumns","onRowOpen","_report_meta","_report_meta1","t","useTranslation","BACKOFFICE_I18N_NAMESPACE","knobProps","useResolvedKnobs","navigator","useBackofficeNavigator","paths","useBackofficePaths","params","useBackofficeLocation","rawFiltersParam","filters","Array","isArray","initialFilterValues","useMemo","fromParam","parseQueryReportFiltersParam","Object","keys","length","report","useQueryReport","setFilters","applyFilters","useCallback","next","_navigator_setParams","setParams","call","serializeQueryReportFiltersParam","filtersRef","useRef","current","filterMetaRef","filterMeta","lastAdopted","useEffect","last","reportChanged","paramChanged","parsed","defaultFilterValues","handleOpenLink","doctype","name","navigate","form","tableColumns","hidden","Set","visible","size","columns","filter","column","has","fieldname","buildQueryReportColumns","onOpenLink","title","meta","report_name","hasVisibleFilters","some","isEmptyFilterValue","clearVisibleFilters","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","err","return","handleExport","isWeb","rows","downloadBlob","Blob","buildQueryReportCsv","type","scrubFieldname","subtitle","_report_meta2","loading","bits","ref_doctype","push","error","missingRequired","defaultValue","count","executionTime","seconds","toFixed","join","body","jsx","YStack","flex","alignItems","justifyContent","padding","children","Spinner","disabled","EmptyState","description","refused","testID","message","jsxs","gap","intent","action","Button","theme","onPress","reload","scriptFilterGap","Text","fontSize","color","textAlign","paddingHorizontal","map","queryReportFilterLabel"],"sources":["../../../src/report/QueryReportScreen.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -22,110 +22,8 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
22
22
  }), mod);
23
23
  var queryReportColumns_exports = {};
24
24
  __export(queryReportColumns_exports, {
25
- buildQueryReportColumns: () => buildQueryReportColumns,
26
- buildQueryReportCsv: () => buildQueryReportCsv
25
+ buildQueryReportColumns: () => import_frappe_ui.buildQueryReportColumns,
26
+ buildQueryReportCsv: () => import_frappe_ui.buildQueryReportCsv
27
27
  });
28
28
  module.exports = __toCommonJS(queryReportColumns_exports);
29
- var import_components = require("@multiplatform.one/components");
30
- var import_frappe_ui = require("@multiplatform.one/frappe-ui");
31
- var import_useQueryReport = require("./useQueryReport.cjs");
32
- var import_jsx_runtime = require("react/jsx-runtime");
33
- const NUMERIC_FIELDTYPES = /* @__PURE__ */new Set(["Currency", "Float", "Int", "Percent", "Duration"]);
34
- function queryReportCell(column, onOpenLink) {
35
- return ({
36
- getValue
37
- }) => {
38
- const raw = getValue();
39
- if (raw === null || raw === void 0 || raw === "") {
40
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
41
- fontSize: "$3",
42
- color: "$color8",
43
- children: "\u2014"
44
- });
45
- }
46
- if (column.fieldtype === "Check") {
47
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
48
- fontSize: "$3",
49
- color: raw ? "$green11" : "$color8",
50
- children: raw ? "\u2713" : "\u2014"
51
- });
52
- }
53
- const value = String(raw);
54
- if (NUMERIC_FIELDTYPES.has(column.fieldtype)) {
55
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
56
- fontSize: "$3",
57
- color: "$color12",
58
- textAlign: "right",
59
- children: value
60
- });
61
- }
62
- switch (column.fieldtype) {
63
- case "Date":
64
- case "Datetime":
65
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
66
- fontSize: "$3",
67
- color: "$color11",
68
- children: (0, import_frappe_ui.formatDateCell)(value)
69
- });
70
- case "Link":
71
- {
72
- const doctype = column.options;
73
- if (doctype && onOpenLink) {
74
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
75
- fontSize: "$3",
76
- color: "$color11",
77
- textDecorationLine: "underline",
78
- cursor: "pointer",
79
- numberOfLines: 1,
80
- role: "link",
81
- onPress: event => {
82
- event?.stopPropagation?.();
83
- onOpenLink(doctype, value);
84
- },
85
- children: value
86
- });
87
- }
88
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
89
- fontSize: "$3",
90
- color: "$color11",
91
- numberOfLines: 1,
92
- children: value
93
- });
94
- }
95
- default:
96
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
97
- fontSize: "$3",
98
- color: "$color11",
99
- numberOfLines: 1,
100
- children: (0, import_useQueryReport.stripHtml)(value)
101
- });
102
- }
103
- };
104
- }
105
- function buildQueryReportColumns({
106
- columns,
107
- onOpenLink
108
- }) {
109
- return columns.map(column => ({
110
- id: column.fieldname,
111
- header: column.label,
112
- // accessorFn (not accessorKey): report fieldnames may contain path-y
113
- // characters like "assigned_to/owner" that key-based access mangles.
114
- accessorFn: row => row[column.fieldname],
115
- ...(NUMERIC_FIELDTYPES.has(column.fieldtype) ? {
116
- align: "right"
117
- } : {}),
118
- ...(column.width ? {
119
- width: column.width
120
- } : {}),
121
- cell: queryReportCell(column, onOpenLink)
122
- }));
123
- }
124
- function escapeCsvCell(value) {
125
- if (value === null || value === void 0) return "";
126
- const text = (0, import_useQueryReport.stripHtml)(String(value));
127
- return /[",\n]/.test(text) ? `"${text.replace(/"/g, '""')}"` : text;
128
- }
129
- function buildQueryReportCsv(columns, rows) {
130
- return [columns.map(column => escapeCsvCell(column.label)).join(","), ...rows.map(row => columns.map(column => escapeCsvCell(row[column.fieldname])).join(","))].join("\n");
131
- }
29
+ var import_frappe_ui = require("@multiplatform.one/frappe-ui");
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
2
 
3
- var __create = Object.create;
4
3
  var __defProp = Object.defineProperty;
5
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
7
  var __export = (target, all) => {
10
8
  for (var name in all) __defProp(target, name, {
@@ -21,139 +19,14 @@ var __copyProps = (to, from, except, desc) => {
21
19
  }
22
20
  return to;
23
21
  };
24
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
- // If the importer is in node compatibility mode or this is not an ESM
26
- // file that has been converted to a CommonJS file using a Babel-
27
- // compatible transform (i.e. "__esModule" has not been set), then set
28
- // "default" to the CommonJS "module.exports" for node compatibility.
29
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
- value: mod,
31
- enumerable: true
32
- }) : target, mod));
33
22
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
23
  value: true
35
24
  }), mod);
36
25
  var queryReportColumns_exports = {};
37
26
  __export(queryReportColumns_exports, {
38
- buildQueryReportColumns: () => buildQueryReportColumns,
39
- buildQueryReportCsv: () => buildQueryReportCsv
27
+ buildQueryReportColumns: () => import_frappe_ui.buildQueryReportColumns,
28
+ buildQueryReportCsv: () => import_frappe_ui.buildQueryReportCsv
40
29
  });
41
30
  module.exports = __toCommonJS(queryReportColumns_exports);
42
- var import_jsx_runtime = require("react/jsx-runtime");
43
- var import_react = __toESM(require("react"));
44
- var import_components = require("@multiplatform.one/components");
45
31
  var import_frappe_ui = require("@multiplatform.one/frappe-ui");
46
- var import_useQueryReport = require("./useQueryReport.native.js");
47
- var NUMERIC_FIELDTYPES = /* @__PURE__ */new Set(["Currency", "Float", "Int", "Percent", "Duration"]);
48
- function queryReportCell(column, onOpenLink) {
49
- return function (param) {
50
- var {
51
- getValue
52
- } = param;
53
- var raw = getValue();
54
- if (raw === null || raw === void 0 || raw === "") {
55
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
56
- fontSize: "$3",
57
- color: "$color8",
58
- children: "\u2014"
59
- });
60
- }
61
- if (column.fieldtype === "Check") {
62
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
63
- fontSize: "$3",
64
- color: raw ? "$green11" : "$color8",
65
- children: raw ? "\u2713" : "\u2014"
66
- });
67
- }
68
- var value = String(raw);
69
- if (NUMERIC_FIELDTYPES.has(column.fieldtype)) {
70
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
71
- fontSize: "$3",
72
- color: "$color12",
73
- textAlign: "right",
74
- children: value
75
- });
76
- }
77
- switch (column.fieldtype) {
78
- case "Date":
79
- case "Datetime":
80
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
81
- fontSize: "$3",
82
- color: "$color11",
83
- children: (0, import_frappe_ui.formatDateCell)(value)
84
- });
85
- case "Link":
86
- {
87
- var doctype = column.options;
88
- if (doctype && onOpenLink) {
89
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
90
- fontSize: "$3",
91
- color: "$color11",
92
- textDecorationLine: "underline",
93
- cursor: "pointer",
94
- numberOfLines: 1,
95
- role: "link",
96
- onPress: function onPress(event) {
97
- var _event_stopPropagation;
98
- event === null || event === void 0 ? void 0 : (_event_stopPropagation = event.stopPropagation) === null || _event_stopPropagation === void 0 ? void 0 : _event_stopPropagation.call(event);
99
- onOpenLink(doctype, value);
100
- },
101
- children: value
102
- });
103
- }
104
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
105
- fontSize: "$3",
106
- color: "$color11",
107
- numberOfLines: 1,
108
- children: value
109
- });
110
- }
111
- default:
112
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
113
- fontSize: "$3",
114
- color: "$color11",
115
- numberOfLines: 1,
116
- children: (0, import_useQueryReport.stripHtml)(value)
117
- });
118
- }
119
- };
120
- }
121
- function buildQueryReportColumns(param) {
122
- var {
123
- columns,
124
- onOpenLink
125
- } = param;
126
- return columns.map(function (column) {
127
- return {
128
- id: column.fieldname,
129
- header: column.label,
130
- // accessorFn (not accessorKey): report fieldnames may contain path-y
131
- // characters like "assigned_to/owner" that key-based access mangles.
132
- accessorFn: function accessorFn(row) {
133
- return row[column.fieldname];
134
- },
135
- ...(NUMERIC_FIELDTYPES.has(column.fieldtype) ? {
136
- align: "right"
137
- } : {}),
138
- ...(column.width ? {
139
- width: column.width
140
- } : {}),
141
- cell: queryReportCell(column, onOpenLink)
142
- };
143
- });
144
- }
145
- function escapeCsvCell(value) {
146
- if (value === null || value === void 0) return "";
147
- var text = (0, import_useQueryReport.stripHtml)(String(value));
148
- return /[",\n]/.test(text) ? `"${text.replace(/"/g, '""')}"` : text;
149
- }
150
- function buildQueryReportCsv(columns, rows) {
151
- return [columns.map(function (column) {
152
- return escapeCsvCell(column.label);
153
- }).join(","), ...rows.map(function (row) {
154
- return columns.map(function (column) {
155
- return escapeCsvCell(row[column.fieldname]);
156
- }).join(",");
157
- })].join("\n");
158
- }
159
32
  //# sourceMappingURL=queryReportColumns.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","queryReportColumns_exports","__export","buildQueryReportColumns","buildQueryReportCsv","module","exports","import_jsx_runtime","require","import_react","import_components","import_frappe_ui","import_useQueryReport","NUMERIC_FIELDTYPES","Set","queryReportCell","column","onOpenLink","param","getValue","raw","jsx","Text","fontSize","color","children","fieldtype","String","has","textAlign","formatDateCell","doctype","options","textDecorationLine","cursor","numberOfLines","role","onPress","event","_event_stopPropagation","stopPropagation","call"],"sources":["../../../src/report/queryReportColumns.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","queryReportColumns_exports","__export","buildQueryReportColumns","import_frappe_ui","buildQueryReportCsv","module","exports"],"sources":["../../../src/report/queryReportColumns.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,0BAAA;AAAAC,QAAA,CAAAD,0BAAA;EAAAE,uBAAA,EAAAA,CAAA,KAAAC,gBAAA,CAAAD,uBAAA;EAAAE,mBAAA,EAAAA,CAAA,KAAAD,gBAAA,CAAAC;AAAA;AAEAC,MAAA,CAAAC,OAAA,GAAAX,YAA6D,CAAAK,0BAAA","ignoreList":[]}
@@ -36,7 +36,6 @@ var import_react2 = require("react");
36
36
  var import_react_i18next = require("react-i18next");
37
37
  var import_i18n = require("../i18n/index.cjs");
38
38
  var import_frappe_ui = require("@multiplatform.one/frappe-ui");
39
- var import_reportShapes = require("./reportShapes.cjs");
40
39
  var import_jsx_runtime = require("react/jsx-runtime");
41
40
  function queryReportFilterLabel(filter) {
42
41
  return filter.label || (0, import_frappe_ui.fieldLabelFor)([], filter.fieldname);
@@ -132,7 +131,7 @@ function ReportFilterControl({
132
131
  });
133
132
  default:
134
133
  {
135
- const showClear = !disabled && !(0, import_reportShapes.isEmptyFilterValue)(value);
134
+ const showClear = !disabled && !(0, import_frappe_ui.isEmptyFilterValue)(value);
136
135
  const clearName = t("queryReport.clearFilter", {
137
136
  label,
138
137
  defaultValue: `Clear ${label}`
@@ -199,7 +198,7 @@ function QueryReportFilterBar({
199
198
  setDraft(next);
200
199
  }, [filterMeta, filters]);
201
200
  const applyValues = (0, import_react2.useCallback)(values => {
202
- onApply((0, import_reportShapes.compactQueryReportFilters)(filterMeta, values));
201
+ onApply((0, import_frappe_ui.compactQueryReportFilters)(filterMeta, values));
203
202
  }, [filterMeta, onApply]);
204
203
  const setFieldValue = (0, import_react2.useCallback)((fieldname, value, commit) => {
205
204
  const next = {
@@ -214,7 +213,7 @@ function QueryReportFilterBar({
214
213
  applyValues(draftRef.current);
215
214
  }, [applyValues]);
216
215
  const visible = filterMeta.filter(filter => filter.hidden !== 1);
217
- const hasVisibleValue = visible.some(filter => !(0, import_reportShapes.isEmptyFilterValue)(draft[filter.fieldname]));
216
+ const hasVisibleValue = visible.some(filter => !(0, import_frappe_ui.isEmptyFilterValue)(draft[filter.fieldname]));
218
217
  const clearAll = (0, import_react2.useCallback)(() => {
219
218
  const next = {
220
219
  ...draftRef.current