@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.17.4 → 4.17.5

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 (560) hide show
  1. package/dpr/assets/app.js.map +1 -1
  2. package/dpr/components/_async/async-filters-form/sortByTemplate.js +1 -1
  3. package/dpr/components/_async/async-filters-form/sortByTemplate.js.map +1 -1
  4. package/dpr/components/_async/async-filters-form/types.d.js +1 -1
  5. package/dpr/components/_async/async-filters-form/types.d.js.map +1 -1
  6. package/dpr/components/_async/async-filters-form/utils.js +1 -1
  7. package/dpr/components/_async/async-filters-form/utils.js.map +2 -2
  8. package/dpr/components/_async/async-filters-form/utils.test.ts +9 -9
  9. package/dpr/components/_async/async-filters-form/utils.ts +1 -1
  10. package/dpr/components/_async/async-filters-form/view.njk +6 -3
  11. package/dpr/components/_catalogue/catalogue/types.js +1 -1
  12. package/dpr/components/_catalogue/catalogue/types.js.map +1 -1
  13. package/dpr/components/_catalogue/catalogue/utils.js +1 -1
  14. package/dpr/components/_catalogue/catalogue/utils.js.map +2 -2
  15. package/dpr/components/_catalogue/catalogue/utils.test.ts +6 -3
  16. package/dpr/components/_catalogue/catalogue/utils.ts +1 -1
  17. package/dpr/components/_catalogue/catalogue-list/utils.js +1 -1
  18. package/dpr/components/_catalogue/catalogue-list/utils.js.map +2 -2
  19. package/dpr/components/_catalogue/catalogue-list/utils.test.ts +1 -0
  20. package/dpr/components/_catalogue/catalogue-list/utils.ts +5 -5
  21. package/dpr/components/_charts/chart/Buckets.js +1 -1
  22. package/dpr/components/_charts/chart/Buckets.js.map +3 -3
  23. package/dpr/components/_charts/chart/Buckets.ts +3 -3
  24. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +1 -1
  25. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +3 -3
  26. package/dpr/components/_charts/chart/heatmap/HeatmapChart.ts +1 -13
  27. package/dpr/components/_charts/chart/heatmap/types.js +1 -1
  28. package/dpr/components/_charts/chart/heatmap/types.js.map +2 -2
  29. package/dpr/components/_charts/chart/heatmap/types.ts +1 -1
  30. package/dpr/components/_charts/utils.js +1 -1
  31. package/dpr/components/_charts/utils.js.map +3 -3
  32. package/dpr/components/_charts/utils.test.ts +1 -0
  33. package/dpr/components/_charts/utils.ts +84 -43
  34. package/dpr/components/_dashboards/dashboard-list/utils.js +1 -1
  35. package/dpr/components/_dashboards/dashboard-list/utils.js.map +2 -2
  36. package/dpr/components/_dashboards/dashboard-list/utils.test.ts +1 -0
  37. package/dpr/components/_dashboards/dashboard-list/utils.ts +16 -11
  38. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js +1 -1
  39. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js.map +2 -2
  40. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.ts +1 -1
  41. package/dpr/components/_dashboards/dashboard-visualisation/types.js +1 -1
  42. package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +2 -2
  43. package/dpr/components/_dashboards/dashboard-visualisation/types.ts +8 -8
  44. package/dpr/components/_dashboards/scorecard/Scorecard.js +1 -1
  45. package/dpr/components/_dashboards/scorecard/Scorecard.js.map +2 -2
  46. package/dpr/components/_dashboards/scorecard/Scorecard.ts +8 -8
  47. package/dpr/components/_dashboards/scorecard/types.js +1 -1
  48. package/dpr/components/_dashboards/scorecard/types.js.map +2 -2
  49. package/dpr/components/_dashboards/scorecard/types.ts +12 -10
  50. package/dpr/components/_dashboards/scorecard/utils.js +1 -1
  51. package/dpr/components/_dashboards/scorecard/utils.js.map +1 -1
  52. package/dpr/components/_dashboards/scorecard/utils.test.ts +1 -0
  53. package/dpr/components/_filters/filter-input/enum.js +1 -1
  54. package/dpr/components/_filters/filter-input/enum.js.map +1 -1
  55. package/dpr/components/_filters/filter-input/filters.js +1 -1
  56. package/dpr/components/_filters/filter-input/filters.js.map +1 -1
  57. package/dpr/components/_filters/filter-input/filters.test.ts +1 -0
  58. package/dpr/components/_filters/filter-input/types.d.js +1 -1
  59. package/dpr/components/_filters/filter-input/types.d.js.map +1 -1
  60. package/dpr/components/_filters/filters-selected/utils.js +1 -1
  61. package/dpr/components/_filters/filters-selected/utils.js.map +3 -3
  62. package/dpr/components/_filters/filters-selected/utils.test.ts +7 -4
  63. package/dpr/components/_filters/filters-selected/utils.ts +1 -1
  64. package/dpr/components/_filters/filtersTypeEnum.js +1 -1
  65. package/dpr/components/_filters/filtersTypeEnum.js.map +1 -1
  66. package/dpr/components/_filters/types.d.js +1 -1
  67. package/dpr/components/_filters/types.d.js.map +2 -2
  68. package/dpr/components/_filters/types.d.ts +5 -5
  69. package/dpr/components/_filters/utils.js +1 -1
  70. package/dpr/components/_filters/utils.js.map +2 -2
  71. package/dpr/components/_filters/utils.test.ts +54 -49
  72. package/dpr/components/_filters/utils.ts +16 -20
  73. package/dpr/components/_inputs/date-input/utils.js +1 -1
  74. package/dpr/components/_inputs/date-input/utils.js.map +1 -1
  75. package/dpr/components/_inputs/date-input/utils.test.ts +1 -0
  76. package/dpr/components/_inputs/date-range/clientClass.mjs +2 -2
  77. package/dpr/components/_inputs/date-range/types.js +1 -1
  78. package/dpr/components/_inputs/date-range/types.js.map +2 -2
  79. package/dpr/components/_inputs/date-range/types.ts +2 -2
  80. package/dpr/components/_inputs/date-range/utils.js +1 -1
  81. package/dpr/components/_inputs/date-range/utils.js.map +2 -2
  82. package/dpr/components/_inputs/date-range/utils.test.ts +5 -7
  83. package/dpr/components/_inputs/date-range/utils.ts +4 -4
  84. package/dpr/components/_inputs/date-range/view.njk +1 -0
  85. package/dpr/components/_inputs/granular-date-range/types.js +1 -1
  86. package/dpr/components/_inputs/granular-date-range/types.js.map +1 -1
  87. package/dpr/components/_inputs/granular-date-range/utils.js +1 -1
  88. package/dpr/components/_inputs/granular-date-range/utils.js.map +1 -1
  89. package/dpr/components/_inputs/granular-date-range/utils.test.ts +1 -0
  90. package/dpr/components/_inputs/multi-select/utils.js +1 -1
  91. package/dpr/components/_inputs/multi-select/utils.js.map +3 -3
  92. package/dpr/components/_inputs/multi-select/utils.ts +1 -1
  93. package/dpr/components/_inputs/multi-select/utilt.test.ts +29 -14
  94. package/dpr/components/_inputs/start-end-date/utils.js +1 -1
  95. package/dpr/components/_inputs/start-end-date/utils.js.map +1 -1
  96. package/dpr/components/_inputs/start-end-date/utils.test.ts +1 -0
  97. package/dpr/components/_reports/report-actions/actionsTemplate.js +1 -1
  98. package/dpr/components/_reports/report-actions/actionsTemplate.js.map +1 -1
  99. package/dpr/components/_reports/report-actions/types.d.js +1 -1
  100. package/dpr/components/_reports/report-actions/types.d.js.map +2 -2
  101. package/dpr/components/_reports/report-actions/types.d.ts +1 -1
  102. package/dpr/components/_reports/report-actions/utils.js +1 -1
  103. package/dpr/components/_reports/report-actions/utils.js.map +1 -1
  104. package/dpr/components/_reports/report-actions/utils.test.ts +8 -4
  105. package/dpr/components/_reports/report-columns-form/types.d.js +1 -1
  106. package/dpr/components/_reports/report-columns-form/types.d.js.map +1 -1
  107. package/dpr/components/_reports/report-columns-form/utils.js +1 -1
  108. package/dpr/components/_reports/report-columns-form/utils.js.map +2 -2
  109. package/dpr/components/_reports/report-columns-form/utils.ts +1 -1
  110. package/dpr/components/_reports/report-data-table/types.d.js +1 -1
  111. package/dpr/components/_reports/report-data-table/types.d.js.map +1 -1
  112. package/dpr/components/_reports/report-data-table/utils.js +1 -1
  113. package/dpr/components/_reports/report-data-table/utils.js.map +3 -3
  114. package/dpr/components/_reports/report-data-table/utils.test.ts +15 -8
  115. package/dpr/components/_reports/report-data-table/utils.ts +20 -8
  116. package/dpr/components/_reports/report-pagination/types.d.js +1 -1
  117. package/dpr/components/_reports/report-pagination/types.d.js.map +2 -2
  118. package/dpr/components/_reports/report-pagination/types.d.ts +2 -2
  119. package/dpr/components/_reports/report-pagination/utils.js +1 -1
  120. package/dpr/components/_reports/report-pagination/utils.js.map +1 -1
  121. package/dpr/components/_reports/report-pagination/utils.test.ts +1 -0
  122. package/dpr/components/_reports/report-totals/utils.js +1 -1
  123. package/dpr/components/_reports/report-totals/utils.js.map +1 -1
  124. package/dpr/components/card-group/utils.js +1 -1
  125. package/dpr/components/card-group/utils.js.map +1 -1
  126. package/dpr/components/card-group/utils.test.ts +7 -0
  127. package/dpr/components/report-list/defaultTokenProvider.js +1 -1
  128. package/dpr/components/report-list/defaultTokenProvider.js.map +3 -3
  129. package/dpr/components/report-list/defaultTokenProvider.ts +3 -3
  130. package/dpr/components/report-list/types.d.js +1 -1
  131. package/dpr/components/report-list/types.d.js.map +1 -1
  132. package/dpr/components/report-list/utils.js +1 -1
  133. package/dpr/components/report-list/utils.js.map +2 -2
  134. package/dpr/components/report-list/utils.test.ts +6 -4
  135. package/dpr/components/report-list/utils.ts +5 -5
  136. package/dpr/components/show-more/utils.js +1 -1
  137. package/dpr/components/show-more/utils.js.map +1 -1
  138. package/dpr/components/user-reports/bookmarks/utils.js +1 -1
  139. package/dpr/components/user-reports/bookmarks/utils.js.map +3 -3
  140. package/dpr/components/user-reports/bookmarks/utils.test.ts +14 -11
  141. package/dpr/components/user-reports/bookmarks/utils.ts +26 -31
  142. package/dpr/components/user-reports/requested/utils.js +1 -1
  143. package/dpr/components/user-reports/requested/utils.js.map +3 -3
  144. package/dpr/components/user-reports/requested/utils.test.ts +4 -3
  145. package/dpr/components/user-reports/requested/utils.ts +4 -3
  146. package/dpr/components/user-reports/types.d.js +1 -1
  147. package/dpr/components/user-reports/types.d.js.map +2 -2
  148. package/dpr/components/user-reports/types.d.ts +1 -1
  149. package/dpr/components/user-reports/utils.js +1 -1
  150. package/dpr/components/user-reports/utils.js.map +3 -3
  151. package/dpr/components/user-reports/utils.test.ts +48 -47
  152. package/dpr/components/user-reports/utils.ts +51 -57
  153. package/dpr/components/user-reports/viewed/utils.js +1 -1
  154. package/dpr/components/user-reports/viewed/utils.js.map +2 -2
  155. package/dpr/components/user-reports/viewed/utils.ts +5 -4
  156. package/dpr/data/agentConfig.js +1 -1
  157. package/dpr/data/agentConfig.js.map +1 -1
  158. package/dpr/data/dashboardClient.js +1 -1
  159. package/dpr/data/dashboardClient.js.map +2 -2
  160. package/dpr/data/dashboardClient.ts +2 -2
  161. package/dpr/data/dprReportingClient.js +1 -1
  162. package/dpr/data/dprReportingClient.js.map +3 -3
  163. package/dpr/data/dprReportingClient.ts +3 -3
  164. package/dpr/data/missingReportClient.js +2 -0
  165. package/dpr/data/missingReportClient.js.map +7 -0
  166. package/dpr/{services/missingReport → data}/missingReportClient.ts +4 -4
  167. package/dpr/data/productCollectionClient.js +2 -0
  168. package/dpr/data/productCollectionClient.js.map +7 -0
  169. package/dpr/data/productCollectionClient.ts +28 -0
  170. package/dpr/data/reportDataStore.js +1 -1
  171. package/dpr/data/reportDataStore.js.map +1 -1
  172. package/dpr/data/reportingClient.js +1 -1
  173. package/dpr/data/reportingClient.js.map +3 -3
  174. package/dpr/data/reportingClient.ts +7 -9
  175. package/dpr/data/restClient.js +1 -1
  176. package/dpr/data/restClient.js.map +2 -2
  177. package/dpr/data/restClient.ts +5 -5
  178. package/dpr/data/types.d.js +1 -1
  179. package/dpr/data/types.d.js.map +2 -2
  180. package/dpr/data/types.d.ts +1 -1
  181. package/dpr/middleware/reportAuthoriser.js +1 -1
  182. package/dpr/middleware/reportAuthoriser.js.map +2 -2
  183. package/dpr/middleware/reportAuthoriser.ts +2 -2
  184. package/dpr/middleware/setUpDprResources.js +1 -1
  185. package/dpr/middleware/setUpDprResources.js.map +2 -2
  186. package/dpr/middleware/setUpDprResources.test.ts +59 -20
  187. package/dpr/middleware/setUpDprResources.ts +30 -29
  188. package/dpr/middleware/setUpNestedRoute.js +1 -1
  189. package/dpr/middleware/setUpNestedRoute.js.map +2 -2
  190. package/dpr/middleware/setUpNestedRoute.ts +1 -1
  191. package/dpr/routes/index.js +1 -1
  192. package/dpr/routes/index.js.map +2 -2
  193. package/dpr/routes/index.ts +1 -2
  194. package/dpr/routes/journeys/download-report/controller.js +1 -1
  195. package/dpr/routes/journeys/download-report/controller.js.map +3 -3
  196. package/dpr/routes/journeys/download-report/controller.ts +7 -6
  197. package/dpr/routes/journeys/download-report/request-download/form/controller.js +1 -1
  198. package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +3 -3
  199. package/dpr/routes/journeys/download-report/request-download/form/controller.ts +1 -1
  200. package/dpr/routes/journeys/download-report/request-download/form/routes.js +1 -1
  201. package/dpr/routes/journeys/download-report/request-download/form/routes.js.map +1 -1
  202. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js +1 -1
  203. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +3 -3
  204. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.ts +1 -1
  205. package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js +1 -1
  206. package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js.map +1 -1
  207. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js +1 -1
  208. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +1 -1
  209. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js +1 -1
  210. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +1 -1
  211. package/dpr/routes/journeys/download-report/request-download/routes.js +1 -1
  212. package/dpr/routes/journeys/download-report/request-download/routes.js.map +1 -1
  213. package/dpr/routes/journeys/download-report/request-download/service.js +1 -1
  214. package/dpr/routes/journeys/download-report/request-download/service.js.map +3 -3
  215. package/dpr/routes/journeys/download-report/request-download/service.ts +20 -8
  216. package/dpr/routes/journeys/download-report/routes.js +1 -1
  217. package/dpr/routes/journeys/download-report/routes.js.map +3 -3
  218. package/dpr/routes/journeys/download-report/routes.ts +1 -4
  219. package/dpr/routes/journeys/download-report/tests.cy.js +1 -1
  220. package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
  221. package/dpr/routes/journeys/download-report/tests.cy.ts +4 -1
  222. package/dpr/routes/journeys/download-report/utils.js +1 -1
  223. package/dpr/routes/journeys/download-report/utils.js.map +2 -2
  224. package/dpr/routes/journeys/download-report/utils.ts +2 -4
  225. package/dpr/routes/journeys/my-reports/bookmarks/controller.js +1 -1
  226. package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +1 -1
  227. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js +1 -1
  228. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +3 -3
  229. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.ts +2 -2
  230. package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js +1 -1
  231. package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js.map +1 -1
  232. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js +1 -1
  233. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +2 -2
  234. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.ts +1 -2
  235. package/dpr/routes/journeys/my-reports/bookmarks/routes.js +1 -1
  236. package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +1 -1
  237. package/dpr/routes/journeys/my-reports/bookmarks/service.js +3 -3
  238. package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +3 -3
  239. package/dpr/routes/journeys/my-reports/bookmarks/service.ts +31 -18
  240. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +1 -1
  241. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +2 -2
  242. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.ts +26 -26
  243. package/dpr/routes/journeys/my-reports/bookmarks/utils.js +1 -1
  244. package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +3 -3
  245. package/dpr/routes/journeys/my-reports/bookmarks/utils.ts +10 -11
  246. package/dpr/routes/journeys/my-reports/recently-viewed/controller.js +1 -1
  247. package/dpr/routes/journeys/my-reports/recently-viewed/controller.js.map +1 -1
  248. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js +1 -1
  249. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +3 -3
  250. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.ts +1 -1
  251. package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js +1 -1
  252. package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js.map +1 -1
  253. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js +1 -1
  254. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +2 -2
  255. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.ts +7 -4
  256. package/dpr/routes/journeys/my-reports/recently-viewed/routes.js +1 -1
  257. package/dpr/routes/journeys/my-reports/recently-viewed/routes.js.map +1 -1
  258. package/dpr/routes/journeys/my-reports/recently-viewed/service.js +1 -1
  259. package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +3 -3
  260. package/dpr/routes/journeys/my-reports/recently-viewed/service.ts +0 -2
  261. package/dpr/routes/journeys/my-reports/requested-reports/controller.js +1 -1
  262. package/dpr/routes/journeys/my-reports/requested-reports/controller.js.map +1 -1
  263. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js +1 -1
  264. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +3 -3
  265. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.ts +1 -1
  266. package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js +1 -1
  267. package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js.map +1 -1
  268. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js +1 -1
  269. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +1 -1
  270. package/dpr/routes/journeys/my-reports/requested-reports/routes.js +1 -1
  271. package/dpr/routes/journeys/my-reports/requested-reports/routes.js.map +1 -1
  272. package/dpr/routes/journeys/my-reports/requested-reports/service.js +1 -1
  273. package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +3 -3
  274. package/dpr/routes/journeys/my-reports/requested-reports/service.ts +25 -17
  275. package/dpr/routes/journeys/my-reports/routes.js +1 -1
  276. package/dpr/routes/journeys/my-reports/routes.js.map +3 -3
  277. package/dpr/routes/journeys/my-reports/routes.ts +0 -3
  278. package/dpr/routes/journeys/product-collection/routes.js +1 -1
  279. package/dpr/routes/journeys/product-collection/routes.js.map +1 -1
  280. package/dpr/routes/journeys/product-collection/selected/controller.js +1 -1
  281. package/dpr/routes/journeys/product-collection/selected/controller.js.map +1 -1
  282. package/dpr/routes/journeys/product-collection/selected/routes.js +1 -1
  283. package/dpr/routes/journeys/product-collection/selected/routes.js.map +1 -1
  284. package/dpr/routes/journeys/product-collection/selected/tests.cy.js +1 -1
  285. package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +2 -2
  286. package/dpr/routes/journeys/product-collection/selected/tests.cy.ts +6 -4
  287. package/dpr/routes/journeys/product-collection/selected/validation.js +1 -1
  288. package/dpr/routes/journeys/product-collection/selected/validation.js.map +1 -1
  289. package/dpr/routes/journeys/request-missing-report/form/controller.js +1 -1
  290. package/dpr/routes/journeys/request-missing-report/form/controller.js.map +3 -3
  291. package/dpr/routes/journeys/request-missing-report/form/controller.ts +21 -19
  292. package/dpr/routes/journeys/request-missing-report/form/routes.js +1 -1
  293. package/dpr/routes/journeys/request-missing-report/form/routes.js.map +1 -1
  294. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js +1 -1
  295. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +1 -1
  296. package/dpr/routes/journeys/request-missing-report/form/validation.js +1 -1
  297. package/dpr/routes/journeys/request-missing-report/form/validation.js.map +1 -1
  298. package/dpr/routes/journeys/request-missing-report/routes.js +1 -1
  299. package/dpr/routes/journeys/request-missing-report/routes.js.map +1 -1
  300. package/dpr/routes/journeys/request-missing-report/submitted/controller.js +1 -1
  301. package/dpr/routes/journeys/request-missing-report/submitted/controller.js.map +1 -1
  302. package/dpr/routes/journeys/request-missing-report/submitted/routes.js +1 -1
  303. package/dpr/routes/journeys/request-missing-report/submitted/routes.js.map +1 -1
  304. package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js +1 -1
  305. package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js.map +1 -1
  306. package/dpr/routes/journeys/request-missing-report/tests.cy.js +1 -1
  307. package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
  308. package/dpr/routes/journeys/request-missing-report/tests.cy.ts +1 -1
  309. package/dpr/routes/journeys/request-report/controller.js +1 -1
  310. package/dpr/routes/journeys/request-report/controller.js.map +3 -3
  311. package/dpr/routes/journeys/request-report/controller.ts +1 -1
  312. package/dpr/routes/journeys/request-report/filters/controller.js +1 -1
  313. package/dpr/routes/journeys/request-report/filters/controller.js.map +3 -3
  314. package/dpr/routes/journeys/request-report/filters/controller.ts +7 -8
  315. package/dpr/routes/journeys/request-report/filters/routes.js +1 -1
  316. package/dpr/routes/journeys/request-report/filters/routes.js.map +1 -1
  317. package/dpr/routes/journeys/request-report/filters/tests.cy.js +1 -1
  318. package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +1 -1
  319. package/dpr/routes/journeys/request-report/filters/utils.js +1 -1
  320. package/dpr/routes/journeys/request-report/filters/utils.js.map +3 -3
  321. package/dpr/routes/journeys/request-report/filters/utils.ts +38 -23
  322. package/dpr/routes/journeys/request-report/filters/view.njk +2 -1
  323. package/dpr/routes/journeys/request-report/routes.js +1 -1
  324. package/dpr/routes/journeys/request-report/routes.js.map +2 -2
  325. package/dpr/routes/journeys/request-report/routes.ts +2 -2
  326. package/dpr/routes/journeys/request-report/status/controller.js +1 -1
  327. package/dpr/routes/journeys/request-report/status/controller.js.map +3 -3
  328. package/dpr/routes/journeys/request-report/status/controller.ts +4 -4
  329. package/dpr/routes/journeys/request-report/status/routes.js +1 -1
  330. package/dpr/routes/journeys/request-report/status/routes.js.map +1 -1
  331. package/dpr/routes/journeys/request-report/status/tests.cy.js +1 -1
  332. package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
  333. package/dpr/routes/journeys/request-report/status/tests.cy.ts +9 -4
  334. package/dpr/routes/journeys/request-report/status/utils.js +1 -1
  335. package/dpr/routes/journeys/request-report/status/utils.js.map +3 -3
  336. package/dpr/routes/journeys/request-report/status/utils.ts +10 -13
  337. package/dpr/routes/journeys/request-report/tests.cy.js +1 -1
  338. package/dpr/routes/journeys/request-report/tests.cy.js.map +2 -2
  339. package/dpr/routes/journeys/request-report/tests.cy.ts +14 -11
  340. package/dpr/routes/journeys/routes.js +1 -1
  341. package/dpr/routes/journeys/routes.js.map +1 -1
  342. package/dpr/routes/journeys/view-report/async/controller.js +1 -1
  343. package/dpr/routes/journeys/view-report/async/controller.js.map +3 -3
  344. package/dpr/routes/journeys/view-report/async/controller.ts +4 -4
  345. package/dpr/routes/journeys/view-report/async/dashboard/controller.js +1 -1
  346. package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +3 -3
  347. package/dpr/routes/journeys/view-report/async/dashboard/controller.ts +4 -4
  348. package/dpr/routes/journeys/view-report/async/dashboard/routes.js +1 -1
  349. package/dpr/routes/journeys/view-report/async/dashboard/routes.js.map +1 -1
  350. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js +1 -1
  351. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
  352. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.ts +2 -2
  353. package/dpr/routes/journeys/view-report/async/dashboard/utils.js +1 -1
  354. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +3 -3
  355. package/dpr/routes/journeys/view-report/async/dashboard/utils.ts +6 -8
  356. package/dpr/routes/journeys/view-report/async/report/controller.js +1 -1
  357. package/dpr/routes/journeys/view-report/async/report/controller.js.map +3 -3
  358. package/dpr/routes/journeys/view-report/async/report/controller.ts +5 -5
  359. package/dpr/routes/journeys/view-report/async/report/routes.js +1 -1
  360. package/dpr/routes/journeys/view-report/async/report/routes.js.map +1 -1
  361. package/dpr/routes/journeys/view-report/async/report/tests.cy.js +1 -1
  362. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
  363. package/dpr/routes/journeys/view-report/async/report/tests.cy.ts +9 -7
  364. package/dpr/routes/journeys/view-report/async/report/types.js +1 -1
  365. package/dpr/routes/journeys/view-report/async/report/types.js.map +2 -2
  366. package/dpr/routes/journeys/view-report/async/report/types.ts +8 -8
  367. package/dpr/routes/journeys/view-report/async/report/utils.js +1 -1
  368. package/dpr/routes/journeys/view-report/async/report/utils.js.map +2 -2
  369. package/dpr/routes/journeys/view-report/async/report/utils.ts +16 -18
  370. package/dpr/routes/journeys/view-report/async/routes.js +1 -1
  371. package/dpr/routes/journeys/view-report/async/routes.js.map +1 -1
  372. package/dpr/routes/journeys/view-report/controller.js +1 -1
  373. package/dpr/routes/journeys/view-report/controller.js.map +3 -3
  374. package/dpr/routes/journeys/view-report/controller.ts +1 -1
  375. package/dpr/routes/journeys/view-report/routes.js +1 -1
  376. package/dpr/routes/journeys/view-report/routes.js.map +2 -2
  377. package/dpr/routes/journeys/view-report/routes.ts +6 -3
  378. package/dpr/routes/journeys/view-report/sync/load-report/controller.js +1 -1
  379. package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +2 -2
  380. package/dpr/routes/journeys/view-report/sync/load-report/controller.ts +1 -1
  381. package/dpr/routes/journeys/view-report/sync/load-report/routes.js +1 -1
  382. package/dpr/routes/journeys/view-report/sync/load-report/routes.js.map +1 -1
  383. package/dpr/routes/journeys/view-report/sync/report/controller.js +1 -1
  384. package/dpr/routes/journeys/view-report/sync/report/controller.js.map +3 -3
  385. package/dpr/routes/journeys/view-report/sync/report/controller.ts +6 -6
  386. package/dpr/routes/journeys/view-report/sync/report/routes.js +1 -1
  387. package/dpr/routes/journeys/view-report/sync/report/routes.js.map +1 -1
  388. package/dpr/routes/journeys/view-report/sync/report/utils.js +1 -1
  389. package/dpr/routes/journeys/view-report/sync/report/utils.js.map +3 -3
  390. package/dpr/routes/journeys/view-report/sync/report/utils.ts +29 -19
  391. package/dpr/routes/journeys/view-report/sync/routes.js +1 -1
  392. package/dpr/routes/journeys/view-report/sync/routes.js.map +1 -1
  393. package/dpr/routes/journeys/view-report/sync/tests.cy.js +1 -1
  394. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +2 -2
  395. package/dpr/routes/journeys/view-report/sync/tests.cy.ts +1 -1
  396. package/dpr/routes/journeys/view-report/utils.js +1 -1
  397. package/dpr/routes/journeys/view-report/utils.js.map +3 -3
  398. package/dpr/routes/journeys/view-report/utils.ts +22 -12
  399. package/dpr/services/dashboardService.js +1 -1
  400. package/dpr/services/dashboardService.js.map +3 -3
  401. package/dpr/services/dashboardService.ts +1 -3
  402. package/dpr/services/defaultFilterValuesService.js +1 -1
  403. package/dpr/services/defaultFilterValuesService.js.map +3 -3
  404. package/dpr/services/defaultFilterValuesService.ts +34 -15
  405. package/dpr/services/index.js +1 -1
  406. package/dpr/services/index.js.map +1 -1
  407. package/dpr/services/missingReport/missingReportService.js +2 -0
  408. package/dpr/services/missingReport/missingReportService.js.map +7 -0
  409. package/dpr/services/missingReport/missingReportService.ts +26 -0
  410. package/dpr/services/productCollection/productCollectionService.js +1 -1
  411. package/dpr/services/productCollection/productCollectionService.js.map +3 -3
  412. package/dpr/services/productCollection/productCollectionService.ts +19 -14
  413. package/dpr/services/productCollection/productCollectionStoreService.js +1 -1
  414. package/dpr/services/productCollection/productCollectionStoreService.js.map +3 -3
  415. package/dpr/services/productCollection/productCollectionStoreService.ts +9 -3
  416. package/dpr/services/reportStoreService.js +1 -1
  417. package/dpr/services/reportStoreService.js.map +2 -2
  418. package/dpr/services/reportStoreService.ts +1 -1
  419. package/dpr/services/reportingService.js +1 -1
  420. package/dpr/services/reportingService.js.map +3 -3
  421. package/dpr/services/reportingService.ts +1 -3
  422. package/dpr/setUpNunjucksFilters.js +1 -1
  423. package/dpr/setUpNunjucksFilters.js.map +1 -1
  424. package/dpr/types/AsyncReportUtils.js +1 -1
  425. package/dpr/types/AsyncReportUtils.js.map +2 -2
  426. package/dpr/types/AsyncReportUtils.ts +2 -1
  427. package/dpr/types/Bookmark.js +1 -1
  428. package/dpr/types/Bookmark.js.map +2 -2
  429. package/dpr/types/Bookmark.ts +9 -3
  430. package/dpr/types/Charts.js +1 -1
  431. package/dpr/types/Charts.js.map +1 -1
  432. package/dpr/types/Download.js +1 -1
  433. package/dpr/types/Download.js.map +1 -1
  434. package/dpr/types/DprConfig.js +1 -1
  435. package/dpr/types/DprConfig.js.map +2 -2
  436. package/dpr/types/DprConfig.ts +8 -0
  437. package/dpr/types/DprUser.js +1 -1
  438. package/dpr/types/DprUser.js.map +2 -2
  439. package/dpr/types/DprUser.ts +2 -2
  440. package/dpr/types/EmbeddedReportUtils.js +1 -1
  441. package/dpr/types/EmbeddedReportUtils.js.map +1 -1
  442. package/dpr/types/ExecutionData.d.js +1 -1
  443. package/dpr/types/ExecutionData.d.js.map +2 -2
  444. package/dpr/types/ExecutionData.d.ts +2 -2
  445. package/dpr/types/Metrics.js +1 -1
  446. package/dpr/types/Metrics.js.map +2 -2
  447. package/dpr/types/Metrics.ts +1 -1
  448. package/dpr/types/ReportQuery.js +1 -1
  449. package/dpr/types/ReportQuery.js.map +2 -2
  450. package/dpr/types/ReportQuery.ts +15 -11
  451. package/dpr/types/ReportStore.js +1 -1
  452. package/dpr/types/ReportStore.js.map +1 -1
  453. package/dpr/types/Services.d.js +1 -1
  454. package/dpr/types/Services.d.js.map +2 -2
  455. package/dpr/types/Services.d.ts +8 -8
  456. package/dpr/types/Templates.d.js +1 -1
  457. package/dpr/types/Templates.d.js.map +1 -1
  458. package/dpr/types/UserReports.js +1 -1
  459. package/dpr/types/UserReports.js.map +2 -2
  460. package/dpr/types/UserReports.ts +29 -15
  461. package/dpr/types/api.d.js +1 -1
  462. package/dpr/types/api.d.js.map +1 -1
  463. package/dpr/types/index.d.js +1 -1
  464. package/dpr/types/index.d.js.map +2 -2
  465. package/dpr/types/index.d.ts +1 -1
  466. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js +1 -1
  467. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +1 -1
  468. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.test.ts +2 -0
  469. package/dpr/utils/CreateDprServices.js +2 -0
  470. package/dpr/utils/CreateDprServices.js.map +7 -0
  471. package/dpr/utils/CreateDprServices.ts +73 -0
  472. package/dpr/utils/DataTableBuilder/DataTableBuilder.js +1 -1
  473. package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +1 -1
  474. package/dpr/utils/DataTableBuilder/DataTableBuilder.test.ts +10 -0
  475. package/dpr/utils/DataTableBuilder/types.d.js +1 -1
  476. package/dpr/utils/DataTableBuilder/types.d.js.map +2 -2
  477. package/dpr/utils/DataTableBuilder/types.d.ts +3 -3
  478. package/dpr/utils/DateMapper/DateMapper.js +1 -1
  479. package/dpr/utils/DateMapper/DateMapper.js.map +2 -2
  480. package/dpr/utils/DateMapper/DateMapper.test.ts +22 -9
  481. package/dpr/utils/DateMapper/DateMapper.ts +9 -11
  482. package/dpr/utils/DateMapper/types.d.js +1 -1
  483. package/dpr/utils/DateMapper/types.d.js.map +1 -1
  484. package/dpr/utils/ErrorHandler.js +2 -0
  485. package/dpr/utils/ErrorHandler.js.map +7 -0
  486. package/dpr/utils/ErrorHandler.ts +85 -0
  487. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js +1 -1
  488. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +2 -2
  489. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.test.ts +13 -2
  490. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.ts +3 -3
  491. package/dpr/utils/ParentChildDataTableBuilder/types.d.js +1 -1
  492. package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +1 -1
  493. package/dpr/utils/Personalisation/personalisationUtils.js +1 -1
  494. package/dpr/utils/Personalisation/personalisationUtils.js.map +3 -3
  495. package/dpr/utils/Personalisation/personalisationUtils.ts +6 -2
  496. package/dpr/utils/Personalisation/types.d.js +1 -1
  497. package/dpr/utils/Personalisation/types.d.js.map +1 -1
  498. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js +1 -1
  499. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +2 -2
  500. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.test.ts +5 -0
  501. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.ts +1 -1
  502. package/dpr/utils/SectionedDataTableBuilder/types.d.js +1 -1
  503. package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +1 -1
  504. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js +1 -1
  505. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +2 -2
  506. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.test.ts +7 -4
  507. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.ts +3 -3
  508. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js +1 -1
  509. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +1 -1
  510. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.test.ts +1 -0
  511. package/dpr/utils/UserStoreItemBuilder.js +1 -1
  512. package/dpr/utils/UserStoreItemBuilder.js.map +2 -2
  513. package/dpr/utils/UserStoreItemBuilder.ts +19 -32
  514. package/dpr/utils/arrayUtils.js +1 -1
  515. package/dpr/utils/arrayUtils.js.map +1 -1
  516. package/dpr/utils/datasetHelper.js +1 -1
  517. package/dpr/utils/datasetHelper.js.map +2 -2
  518. package/dpr/utils/datasetHelper.test.ts +21 -33
  519. package/dpr/utils/datasetHelper.ts +12 -17
  520. package/dpr/utils/definitionUtils.js +1 -1
  521. package/dpr/utils/definitionUtils.js.map +3 -3
  522. package/dpr/utils/definitionUtils.ts +14 -3
  523. package/dpr/utils/index.js +1 -1
  524. package/dpr/utils/index.js.map +1 -1
  525. package/dpr/utils/indexedAccesHelper.js +2 -0
  526. package/dpr/utils/indexedAccesHelper.js.map +7 -0
  527. package/dpr/utils/indexedAccesHelper.ts +24 -0
  528. package/dpr/utils/localsHelper.js +1 -1
  529. package/dpr/utils/localsHelper.js.map +2 -2
  530. package/dpr/utils/localsHelper.ts +8 -8
  531. package/dpr/utils/logger.js +1 -1
  532. package/dpr/utils/logger.js.map +2 -2
  533. package/dpr/utils/logger.ts +1 -1
  534. package/dpr/utils/reportListsHelper.js +1 -1
  535. package/dpr/utils/reportListsHelper.js.map +1 -1
  536. package/dpr/utils/reportStoreHelper.js +1 -1
  537. package/dpr/utils/reportStoreHelper.js.map +1 -1
  538. package/dpr/utils/reportStoreHelper.test.ts +3 -2
  539. package/dpr/utils/requestStatusHelper.js +1 -1
  540. package/dpr/utils/requestStatusHelper.js.map +3 -3
  541. package/dpr/utils/requestStatusHelper.ts +29 -42
  542. package/dpr/utils/sanitisedError.js +1 -1
  543. package/dpr/utils/sanitisedError.js.map +2 -2
  544. package/dpr/utils/sanitisedError.ts +1 -1
  545. package/dpr/utils/urlHelper.js +1 -1
  546. package/dpr/utils/urlHelper.js.map +2 -2
  547. package/dpr/utils/urlHelper.ts +4 -4
  548. package/dpr/validation/validate.js +1 -1
  549. package/dpr/validation/validate.js.map +2 -2
  550. package/dpr/validation/validate.ts +2 -2
  551. package/package.json +4 -2
  552. package/dpr/components/error-summary/utils.js +0 -2
  553. package/dpr/components/error-summary/utils.js.map +0 -7
  554. package/dpr/components/error-summary/utils.test.ts +0 -54
  555. package/dpr/components/error-summary/utils.ts +0 -65
  556. package/dpr/services/missingReport/missingReportClient.js +0 -2
  557. package/dpr/services/missingReport/missingReportClient.js.map +0 -7
  558. package/dpr/utils/ReportStoreServiceUtils.js +0 -2
  559. package/dpr/utils/ReportStoreServiceUtils.js.map +0 -7
  560. package/dpr/utils/ReportStoreServiceUtils.ts +0 -140
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/dpr/components/_reports/report-columns-form/utils.ts"],
4
- "sourcesContent": ["import { Request } from 'express'\nimport { components } from '../../../types/api'\nimport { Column, Columns } from './types'\nimport { distinct } from '../../../utils/arrayUtils'\n\nexport const mandatoryColumns = (fields: Array<components['schemas']['FieldDefinition']>) =>\n fields.filter((field) => field.mandatory).map((field) => field.name)\n\nconst visibleColumns = (fields: Array<components['schemas']['FieldDefinition']>) =>\n fields.filter((field) => field.visible).map((field) => field.name)\n\nexport const ensureMandatoryColumns = (\n fields: Array<components['schemas']['FieldDefinition']>,\n queryColumns?: string[] | string,\n) => {\n let queryCols\n if (queryColumns) {\n queryCols = Array.isArray(queryColumns) ? queryColumns : [queryColumns]\n }\n const visibleCols = visibleColumns(fields)\n const mandatoryCols = mandatoryColumns(fields)\n\n const columns = queryCols || visibleCols\n return [...mandatoryCols, ...columns].reduce(distinct, [])\n}\n\n/**\n * Converts the columns from a DPD into a column readable format\n *\n * @param specification\n * @param requestedColumns\n */\nexport const getColumns = (specification: components['schemas']['Specification'], req: Request): Columns => {\n const requestedColumns = <string[] | string | undefined>req.query.columns\n const { fields } = specification\n\n const options: Column[] = fields\n .filter((field) => !specification.sections || !specification.sections.includes(field.name))\n .map((field) => ({\n text: field.display,\n value: field.name,\n disabled: field.mandatory,\n }))\n\n return {\n name: 'columns',\n options,\n text: 'Select report columns',\n value: ensureMandatoryColumns(fields, requestedColumns),\n }\n}\n\nexport default {\n getColumns,\n ensureMandatoryColumns,\n mandatoryColumns,\n}\n"],
5
- "mappings": "4ZAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,2BAAAC,EAAA,eAAAC,EAAA,qBAAAC,IAAA,eAAAC,EAAAN,GAGA,IAAAO,EAAyB,qCAElB,MAAMF,EAAoBG,GAC/BA,EAAO,OAAQC,GAAUA,EAAM,SAAS,EAAE,IAAKA,GAAUA,EAAM,IAAI,EAE/DC,EAAkBF,GACtBA,EAAO,OAAQC,GAAUA,EAAM,OAAO,EAAE,IAAKA,GAAUA,EAAM,IAAI,EAEtDN,EAAyB,CACpCK,EACAG,IACG,CACH,IAAIC,EACAD,IACFC,EAAY,MAAM,QAAQD,CAAY,EAAIA,EAAe,CAACA,CAAY,GAExE,MAAME,EAAcH,EAAeF,CAAM,EACnCM,EAAgBT,EAAiBG,CAAM,EAEvCO,EAAUH,GAAaC,EAC7B,MAAO,CAAC,GAAGC,EAAe,GAAGC,CAAO,EAAE,OAAO,WAAU,CAAC,CAAC,CAC3D,EAQaX,EAAa,CAACY,EAAuDC,IAA0B,CAC1G,MAAMC,EAAkDD,EAAI,MAAM,QAC5D,CAAE,OAAAT,CAAO,EAAIQ,EAUnB,MAAO,CACL,KAAM,UACN,QAVwBR,EACvB,OAAQC,GAAU,CAACO,EAAc,UAAY,CAACA,EAAc,SAAS,SAASP,EAAM,IAAI,CAAC,EACzF,IAAKA,IAAW,CACf,KAAMA,EAAM,QACZ,MAAOA,EAAM,KACb,SAAUA,EAAM,SAClB,EAAE,EAKF,KAAM,wBACN,MAAON,EAAuBK,EAAQU,CAAgB,CACxD,CACF,EAEA,IAAOhB,EAAQ,CACb,WAAAE,EACA,uBAAAD,EACA,iBAAAE,CACF",
4
+ "sourcesContent": ["import { Request } from 'express'\nimport { components } from '../../../types/api'\nimport { Column, Columns } from './types'\nimport { distinct } from '../../../utils/arrayUtils'\n\nexport const mandatoryColumns = (fields: Array<components['schemas']['FieldDefinition']>) =>\n fields.filter((field) => field.mandatory).map((field) => field.name)\n\nconst visibleColumns = (fields: Array<components['schemas']['FieldDefinition']>) =>\n fields.filter((field) => field.visible).map((field) => field.name)\n\nexport const ensureMandatoryColumns = (\n fields: Array<components['schemas']['FieldDefinition']>,\n queryColumns?: string[] | string,\n) => {\n let queryCols\n if (queryColumns) {\n queryCols = Array.isArray(queryColumns) ? queryColumns : [queryColumns]\n }\n const visibleCols = visibleColumns(fields)\n const mandatoryCols = mandatoryColumns(fields)\n\n const columns = queryCols || visibleCols\n return [...mandatoryCols, ...columns].reduce(distinct, [])\n}\n\n/**\n * Converts the columns from a DPD into a column readable format\n *\n * @param specification\n * @param requestedColumns\n */\nexport const getColumns = (specification: components['schemas']['Specification'], req: Request): Columns => {\n const requestedColumns = <string[] | string | undefined>req.query['columns']\n const { fields } = specification\n\n const options: Column[] = fields\n .filter((field) => !specification.sections || !specification.sections.includes(field.name))\n .map((field) => ({\n text: field.display,\n value: field.name,\n disabled: field.mandatory,\n }))\n\n return {\n name: 'columns',\n options,\n text: 'Select report columns',\n value: ensureMandatoryColumns(fields, requestedColumns),\n }\n}\n\nexport default {\n getColumns,\n ensureMandatoryColumns,\n mandatoryColumns,\n}\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,2BAAAC,EAAA,eAAAC,EAAA,qBAAAC,IAAA,eAAAC,EAAAN,GAGA,IAAAO,EAAyB,qCAElB,MAAMF,EAAoBG,GAC/BA,EAAO,OAAQC,GAAUA,EAAM,SAAS,EAAE,IAAKA,GAAUA,EAAM,IAAI,EAE/DC,EAAkBF,GACtBA,EAAO,OAAQC,GAAUA,EAAM,OAAO,EAAE,IAAKA,GAAUA,EAAM,IAAI,EAEtDN,EAAyB,CACpCK,EACAG,IACG,CACH,IAAIC,EACAD,IACFC,EAAY,MAAM,QAAQD,CAAY,EAAIA,EAAe,CAACA,CAAY,GAExE,MAAME,EAAcH,EAAeF,CAAM,EACnCM,EAAgBT,EAAiBG,CAAM,EAEvCO,EAAUH,GAAaC,EAC7B,MAAO,CAAC,GAAGC,EAAe,GAAGC,CAAO,EAAE,OAAO,WAAU,CAAC,CAAC,CAC3D,EAQaX,EAAa,CAACY,EAAuDC,IAA0B,CAC1G,MAAMC,EAAkDD,EAAI,MAAM,QAC5D,CAAE,OAAAT,CAAO,EAAIQ,EAUnB,MAAO,CACL,KAAM,UACN,QAVwBR,EACvB,OAAQC,GAAU,CAACO,EAAc,UAAY,CAACA,EAAc,SAAS,SAASP,EAAM,IAAI,CAAC,EACzF,IAAKA,IAAW,CACf,KAAMA,EAAM,QACZ,MAAOA,EAAM,KACb,SAAUA,EAAM,SAClB,EAAE,EAKF,KAAM,wBACN,MAAON,EAAuBK,EAAQU,CAAgB,CACxD,CACF,EAEA,IAAOhB,EAAQ,CACb,WAAAE,EACA,uBAAAD,EACA,iBAAAE,CACF",
6
6
  "names": ["utils_exports", "__export", "utils_default", "ensureMandatoryColumns", "getColumns", "mandatoryColumns", "__toCommonJS", "import_arrayUtils", "fields", "field", "visibleColumns", "queryColumns", "queryCols", "visibleCols", "mandatoryCols", "columns", "specification", "req", "requestedColumns"]
7
7
  }
@@ -31,7 +31,7 @@ export const ensureMandatoryColumns = (
31
31
  * @param requestedColumns
32
32
  */
33
33
  export const getColumns = (specification: components['schemas']['Specification'], req: Request): Columns => {
34
- const requestedColumns = <string[] | string | undefined>req.query.columns
34
+ const requestedColumns = <string[] | string | undefined>req.query['columns']
35
35
  const { fields } = specification
36
36
 
37
37
  const options: Column[] = fields
@@ -1,2 +1,2 @@
1
- var o=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var p=(t,a,e,n)=>{if(a&&typeof a=="object"||typeof a=="function")for(let i of l(a))!b.call(t,i)&&i!==e&&o(t,i,{get:()=>a[i],enumerable:!(n=r(a,i))||n.enumerable});return t};var s=t=>p(o({},"__esModule",{value:!0}),t);var g={};module.exports=s(g);
1
+ "use strict";var o=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var p=(t,a,e,n)=>{if(a&&typeof a=="object"||typeof a=="function")for(let i of l(a))!b.call(t,i)&&i!==e&&o(t,i,{get:()=>a[i],enumerable:!(n=r(a,i))||n.enumerable});return t};var s=t=>p(o({},"__esModule",{value:!0}),t);var g={};module.exports=s(g);
2
2
  //# sourceMappingURL=types.d.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/dpr/components/_reports/report-data-table/types.d.ts"],
4
4
  "sourcesContent": ["import { DataTable } from '../../../utils/DataTableBuilder/types'\nimport { Pagination } from '../report-pagination/types'\n\nexport interface DataTableOptions {\n dataTable: DataTable\n classification: string\n printable?: boolean\n pagination: Pagination\n totals: string\n count?: number\n}\n"],
5
- "mappings": "kWAAA,IAAAA,EAAA,kBAAAC,EAAAD",
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["types_d_exports", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var w=Object.create;var m=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var g=(a,e)=>{for(var t in e)m(a,t,{get:e[t],enumerable:!0})},p=(a,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of y(e))!v.call(a,i)&&i!==t&&m(a,i,{get:()=>e[i],enumerable:!(n=f(e,i))||n.enumerable});return a};var c=(a,e,t)=>(t=a!=null?w(C(a)):{},p(e||!a||!a.__esModule?m(t,"default",{value:a,enumerable:!0}):t,a)),R=a=>p(m({},"__esModule",{value:!0}),a);var H={};g(H,{createDataTable:()=>S,default:()=>V});module.exports=R(H);var u=c(require("../../../utils/CollatedSummaryBuilder/CollatedSummaryBuilder")),d=c(require("../../../utils/DataTableBuilder/DataTableBuilder")),T=c(require("../../../utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder")),h=c(require("../../../utils/SectionedDataTableBuilder/SectionedDataTableBuilder")),D=c(require("../../../utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder"));const b=(a,e,t,n,i)=>{const{variant:l}=a,{interactive:o,specification:s}=l,r=new u.default(s,n);return new d.default(s.fields).withSummaries(r.collateDataTableSummaries()).withHeaderOptions({columns:e.value,reportQuery:i,interactive:o}).buildTable(t)},B=(a,e,t,n)=>new T.default(a.variant).withNoHeaderOptions(e.value).withChildData(n).buildTable(t),k=(a,e,t,n,i)=>{const{variant:l}=a,{interactive:o,specification:s}=l,r=new u.default(s,n);return new h.default(s).withSummaries(r.collateDataTableSummaries()).withHeaderOptions({columns:e.value,reportQuery:i,interactive:o}).buildTable(t)},A=(a,e,t)=>{const{variant:n}=a,{interactive:i}=n;return e.map(l=>new D.default(n).withHeaderOptions({columns:new Array(2),interactive:i}).withChildData(t).buildTable([l]))},S=(a,e,t,n,i,l)=>{let o=[];const{template:s}=a.variant.specification;switch(s){case"summary-section":case"list-section":{const r=k(a,e,t,i,l);o.push(r);break}case"parent-child":case"parent-child-section":{const r=B(a,e,t,n);o.push(r);break}case"list":{const r=b(a,e,t,i,l);o.push(r);break}case"row-section-child":case"row-section":{o=A(a,t,n);break}default:{const r=b(a,e,t,i,l);o.push(r);break}}return o};var V={createDataTable:S};0&&(module.exports={createDataTable});
1
+ "use strict";var y=Object.create;var u=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var B=(e,t)=>{for(var a in t)u(e,a,{get:t[a],enumerable:!0})},b=(e,t,a,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of C(t))!R.call(e,i)&&i!==a&&u(e,i,{get:()=>t[i],enumerable:!(n=v(t,i))||n.enumerable});return e};var m=(e,t,a)=>(a=e!=null?y(g(e)):{},b(t||!e||!e.__esModule?u(a,"default",{value:e,enumerable:!0}):a,e)),V=e=>b(u({},"__esModule",{value:!0}),e);var N={};B(N,{createDataTable:()=>w,default:()=>O});module.exports=V(N);var d=m(require("../../../utils/CollatedSummaryBuilder/CollatedSummaryBuilder")),T=m(require("../../../utils/DataTableBuilder/DataTableBuilder")),D=m(require("../../../utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder")),f=m(require("../../../utils/SectionedDataTableBuilder/SectionedDataTableBuilder")),S=m(require("../../../utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder"));const p=e=>{const{variant:t}=e,{specification:a}=t;if(!a)throw new Error("No specification in definition");return{variant:t,specification:a}},h=(e,t,a,n,i)=>{const{variant:r,specification:o}=p(e),{interactive:s}=r,c=new d.default(o,n);return new T.default(o.fields).withSummaries(c.collateDataTableSummaries()).withHeaderOptions({columns:t.value,reportQuery:i,interactive:!!s}).buildTable(a)},k=(e,t,a,n)=>new D.default(e.variant).withNoHeaderOptions(t.value).withChildData(n).buildTable(a),A=(e,t,a,n,i)=>{const{variant:r,specification:o}=p(e),{interactive:s}=r,c=new d.default(o,n);return new f.default(o).withSummaries(c.collateDataTableSummaries()).withHeaderOptions({columns:t.value,reportQuery:i,interactive:!!s}).buildTable(a)},H=(e,t,a)=>{const{variant:n}=e,{interactive:i}=n;return t.map(r=>new S.default(n).withHeaderOptions({columns:new Array(2),interactive:!!i}).withChildData(a).buildTable([r]))},w=(e,t,a,n,i,r)=>{let o=[];const{specification:s}=p(e),{template:c}=s;switch(c){case"summary-section":case"list-section":{const l=A(e,t,a,i,r);o.push(l);break}case"parent-child":case"parent-child-section":{const l=k(e,t,a,n);o.push(l);break}case"list":{const l=h(e,t,a,i,r);o.push(l);break}case"row-section-child":case"row-section":{o=H(e,a,n);break}default:{const l=h(e,t,a,i,r);o.push(l);break}}return o};var O={createDataTable:w};0&&(module.exports={createDataTable});
2
2
  //# sourceMappingURL=utils.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/dpr/components/_reports/report-data-table/utils.ts"],
4
- "sourcesContent": ["import { components } from '../../../types/api'\nimport Dict = NodeJS.Dict\nimport ReportQuery from '../../../types/ReportQuery'\nimport { AsyncSummary } from '../../../types/UserReports'\nimport CollatedSummaryBuilder from '../../../utils/CollatedSummaryBuilder/CollatedSummaryBuilder'\nimport DataTableBuilder from '../../../utils/DataTableBuilder/DataTableBuilder'\nimport { Columns } from '../report-columns-form/types'\nimport { ChildData } from '../../../utils/ParentChildDataTableBuilder/types'\nimport ParentChildDataTableBuilder from '../../../utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder'\nimport SectionedDataTableBuilder from '../../../utils/SectionedDataTableBuilder/SectionedDataTableBuilder'\nimport SectionedFieldsDataTableBuilder from '../../../utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder'\nimport { DataTable } from '../../../utils/DataTableBuilder/types'\nimport type { Template } from '../../../types/Templates'\n\nconst buildListTable = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n reportData: Dict<string>[],\n summariesData: AsyncSummary[],\n reportQuery: ReportQuery,\n): DataTable => {\n const { variant } = definition\n const { interactive, specification } = variant\n\n const collatedSummaryBuilder = new CollatedSummaryBuilder(specification, summariesData)\n return new DataTableBuilder(specification.fields)\n .withSummaries(collatedSummaryBuilder.collateDataTableSummaries())\n .withHeaderOptions({\n columns: columns.value,\n reportQuery,\n interactive,\n })\n .buildTable(reportData)\n}\n\nconst buildParentChildTable = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n reportData: Dict<string>[],\n childData: ChildData[],\n): DataTable => {\n return new ParentChildDataTableBuilder(definition.variant)\n .withNoHeaderOptions(columns.value)\n .withChildData(childData)\n .buildTable(reportData)\n}\n\nconst buildSummarySectionTable = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n reportData: Dict<string>[],\n summariesData: AsyncSummary[],\n reportQuery: ReportQuery,\n): DataTable => {\n const { variant } = definition\n const { interactive, specification } = variant\n\n const collatedSummaryBuilder = new CollatedSummaryBuilder(specification, summariesData)\n return new SectionedDataTableBuilder(specification)\n .withSummaries(collatedSummaryBuilder.collateDataTableSummaries())\n .withHeaderOptions({\n columns: columns.value,\n reportQuery,\n interactive,\n })\n .buildTable(reportData)\n}\n\nconst buildRowSectionedTable = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n reportData: Dict<string>[],\n childData: ChildData[],\n): DataTable[] => {\n const { variant } = definition\n const { interactive } = variant\n\n return reportData.map((rowData) => {\n return new SectionedFieldsDataTableBuilder(variant)\n .withHeaderOptions({\n columns: new Array(2),\n interactive,\n })\n .withChildData(childData)\n .buildTable([rowData])\n })\n}\n\nexport const createDataTable = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n reportData: Dict<string>[],\n childData: ChildData[],\n summariesData: AsyncSummary[],\n reportQuery: ReportQuery,\n): DataTable[] => {\n let dataTables: DataTable[] = []\n const { template } = definition.variant.specification\n\n switch (template as Template) {\n case 'summary-section':\n case 'list-section': {\n const dataTable = buildSummarySectionTable(definition, columns, reportData, summariesData, reportQuery)\n dataTables.push(dataTable)\n break\n }\n\n case 'parent-child':\n case 'parent-child-section': {\n const dataTable = buildParentChildTable(definition, columns, reportData, childData)\n dataTables.push(dataTable)\n break\n }\n\n case 'list': {\n const dataTable = buildListTable(definition, columns, reportData, summariesData, reportQuery)\n dataTables.push(dataTable)\n break\n }\n\n case 'row-section-child':\n case 'row-section': {\n dataTables = buildRowSectionedTable(definition, reportData, childData)\n break\n }\n\n default: {\n const dataTable = buildListTable(definition, columns, reportData, summariesData, reportQuery)\n dataTables.push(dataTable)\n break\n }\n }\n\n return dataTables\n}\n\nexport default {\n createDataTable,\n}\n"],
5
- "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAIA,IAAAK,EAAmC,2EACnCC,EAA6B,+DAG7BC,EAAwC,qFACxCC,EAAsC,iFACtCC,EAA4C,qFAI5C,MAAMC,EAAiB,CACrBC,EACAC,EACAC,EACAC,EACAC,IACc,CACd,KAAM,CAAE,QAAAC,CAAQ,EAAIL,EACd,CAAE,YAAAM,EAAa,cAAAC,CAAc,EAAIF,EAEjCG,EAAyB,IAAI,EAAAC,QAAuBF,EAAeJ,CAAa,EACtF,OAAO,IAAI,EAAAO,QAAiBH,EAAc,MAAM,EAC7C,cAAcC,EAAuB,0BAA0B,CAAC,EAChE,kBAAkB,CACjB,QAASP,EAAQ,MACjB,YAAAG,EACA,YAAAE,CACF,CAAC,EACA,WAAWJ,CAAU,CAC1B,EAEMS,EAAwB,CAC5BX,EACAC,EACAC,EACAU,IAEO,IAAI,EAAAC,QAA4Bb,EAAW,OAAO,EACtD,oBAAoBC,EAAQ,KAAK,EACjC,cAAcW,CAAS,EACvB,WAAWV,CAAU,EAGpBY,EAA2B,CAC/Bd,EACAC,EACAC,EACAC,EACAC,IACc,CACd,KAAM,CAAE,QAAAC,CAAQ,EAAIL,EACd,CAAE,YAAAM,EAAa,cAAAC,CAAc,EAAIF,EAEjCG,EAAyB,IAAI,EAAAC,QAAuBF,EAAeJ,CAAa,EACtF,OAAO,IAAI,EAAAY,QAA0BR,CAAa,EAC/C,cAAcC,EAAuB,0BAA0B,CAAC,EAChE,kBAAkB,CACjB,QAASP,EAAQ,MACjB,YAAAG,EACA,YAAAE,CACF,CAAC,EACA,WAAWJ,CAAU,CAC1B,EAEMc,EAAyB,CAC7BhB,EACAE,EACAU,IACgB,CAChB,KAAM,CAAE,QAAAP,CAAQ,EAAIL,EACd,CAAE,YAAAM,CAAY,EAAID,EAExB,OAAOH,EAAW,IAAKe,GACd,IAAI,EAAAC,QAAgCb,CAAO,EAC/C,kBAAkB,CACjB,QAAS,IAAI,MAAM,CAAC,EACpB,YAAAC,CACF,CAAC,EACA,cAAcM,CAAS,EACvB,WAAW,CAACK,CAAO,CAAC,CACxB,CACH,EAEa1B,EAAkB,CAC7BS,EACAC,EACAC,EACAU,EACAT,EACAC,IACgB,CAChB,IAAIe,EAA0B,CAAC,EAC/B,KAAM,CAAE,SAAAC,CAAS,EAAIpB,EAAW,QAAQ,cAExC,OAAQoB,EAAsB,CAC5B,IAAK,kBACL,IAAK,eAAgB,CACnB,MAAMC,EAAYP,EAAyBd,EAAYC,EAASC,EAAYC,EAAeC,CAAW,EACtGe,EAAW,KAAKE,CAAS,EACzB,KACF,CAEA,IAAK,eACL,IAAK,uBAAwB,CAC3B,MAAMA,EAAYV,EAAsBX,EAAYC,EAASC,EAAYU,CAAS,EAClFO,EAAW,KAAKE,CAAS,EACzB,KACF,CAEA,IAAK,OAAQ,CACX,MAAMA,EAAYtB,EAAeC,EAAYC,EAASC,EAAYC,EAAeC,CAAW,EAC5Fe,EAAW,KAAKE,CAAS,EACzB,KACF,CAEA,IAAK,oBACL,IAAK,cAAe,CAClBF,EAAaH,EAAuBhB,EAAYE,EAAYU,CAAS,EACrE,KACF,CAEA,QAAS,CACP,MAAMS,EAAYtB,EAAeC,EAAYC,EAASC,EAAYC,EAAeC,CAAW,EAC5Fe,EAAW,KAAKE,CAAS,EACzB,KACF,CACF,CAEA,OAAOF,CACT,EAEA,IAAO3B,EAAQ,CACb,gBAAAD,CACF",
6
- "names": ["utils_exports", "__export", "createDataTable", "utils_default", "__toCommonJS", "import_CollatedSummaryBuilder", "import_DataTableBuilder", "import_ParentChildDataTableBuilder", "import_SectionedDataTableBuilder", "import_SectionedFieldsTableBuilder", "buildListTable", "definition", "columns", "reportData", "summariesData", "reportQuery", "variant", "interactive", "specification", "collatedSummaryBuilder", "CollatedSummaryBuilder", "DataTableBuilder", "buildParentChildTable", "childData", "ParentChildDataTableBuilder", "buildSummarySectionTable", "SectionedDataTableBuilder", "buildRowSectionedTable", "rowData", "SectionedFieldsDataTableBuilder", "dataTables", "template", "dataTable"]
4
+ "sourcesContent": ["import { components } from '../../../types/api'\nimport Dict = NodeJS.Dict\nimport ReportQuery from '../../../types/ReportQuery'\nimport { AsyncSummary } from '../../../types/UserReports'\nimport CollatedSummaryBuilder from '../../../utils/CollatedSummaryBuilder/CollatedSummaryBuilder'\nimport DataTableBuilder from '../../../utils/DataTableBuilder/DataTableBuilder'\nimport { Columns } from '../report-columns-form/types'\nimport { ChildData } from '../../../utils/ParentChildDataTableBuilder/types'\nimport ParentChildDataTableBuilder from '../../../utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder'\nimport SectionedDataTableBuilder from '../../../utils/SectionedDataTableBuilder/SectionedDataTableBuilder'\nimport SectionedFieldsDataTableBuilder from '../../../utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder'\nimport { DataTable } from '../../../utils/DataTableBuilder/types'\nimport type { Template } from '../../../types/Templates'\n\nconst validateDefinition = (definition: components['schemas']['SingleVariantReportDefinition']) => {\n const { variant } = definition\n const { specification } = variant\n\n if (!specification) {\n throw new Error('No specification in definition')\n }\n\n return { variant, specification }\n}\n\nconst buildListTable = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n reportData: Dict<string>[],\n summariesData: AsyncSummary[],\n reportQuery: ReportQuery,\n): DataTable => {\n const { variant, specification } = validateDefinition(definition)\n const { interactive } = variant\n\n const collatedSummaryBuilder = new CollatedSummaryBuilder(specification, summariesData)\n return new DataTableBuilder(specification.fields)\n .withSummaries(collatedSummaryBuilder.collateDataTableSummaries())\n .withHeaderOptions({\n columns: columns.value,\n reportQuery,\n interactive: Boolean(interactive),\n })\n .buildTable(reportData)\n}\n\nconst buildParentChildTable = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n reportData: Dict<string>[],\n childData: ChildData[],\n): DataTable => {\n return new ParentChildDataTableBuilder(definition.variant)\n .withNoHeaderOptions(columns.value)\n .withChildData(childData)\n .buildTable(reportData)\n}\n\nconst buildSummarySectionTable = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n reportData: Dict<string>[],\n summariesData: AsyncSummary[],\n reportQuery: ReportQuery,\n): DataTable => {\n const { variant, specification } = validateDefinition(definition)\n const { interactive } = variant\n\n const collatedSummaryBuilder = new CollatedSummaryBuilder(specification, summariesData)\n return new SectionedDataTableBuilder(specification)\n .withSummaries(collatedSummaryBuilder.collateDataTableSummaries())\n .withHeaderOptions({\n columns: columns.value,\n reportQuery,\n interactive: Boolean(interactive),\n })\n .buildTable(reportData)\n}\n\nconst buildRowSectionedTable = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n reportData: Dict<string>[],\n childData: ChildData[],\n): DataTable[] => {\n const { variant } = definition\n const { interactive } = variant\n\n return reportData.map((rowData) => {\n return new SectionedFieldsDataTableBuilder(variant)\n .withHeaderOptions({\n columns: new Array(2),\n interactive: Boolean(interactive),\n })\n .withChildData(childData)\n .buildTable([rowData])\n })\n}\n\nexport const createDataTable = (\n definition: components['schemas']['SingleVariantReportDefinition'],\n columns: Columns,\n reportData: Dict<string>[],\n childData: ChildData[],\n summariesData: AsyncSummary[],\n reportQuery: ReportQuery,\n): DataTable[] => {\n let dataTables: DataTable[] = []\n const { specification } = validateDefinition(definition)\n const { template } = specification\n\n switch (template as Template) {\n case 'summary-section':\n case 'list-section': {\n const dataTable = buildSummarySectionTable(definition, columns, reportData, summariesData, reportQuery)\n dataTables.push(dataTable)\n break\n }\n\n case 'parent-child':\n case 'parent-child-section': {\n const dataTable = buildParentChildTable(definition, columns, reportData, childData)\n dataTables.push(dataTable)\n break\n }\n\n case 'list': {\n const dataTable = buildListTable(definition, columns, reportData, summariesData, reportQuery)\n dataTables.push(dataTable)\n break\n }\n\n case 'row-section-child':\n case 'row-section': {\n dataTables = buildRowSectionedTable(definition, reportData, childData)\n break\n }\n\n default: {\n const dataTable = buildListTable(definition, columns, reportData, summariesData, reportQuery)\n dataTables.push(dataTable)\n break\n }\n }\n\n return dataTables\n}\n\nexport default {\n createDataTable,\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["utils_exports", "__export", "createDataTable", "utils_default", "__toCommonJS", "import_CollatedSummaryBuilder", "import_DataTableBuilder", "import_ParentChildDataTableBuilder", "import_SectionedDataTableBuilder", "import_SectionedFieldsTableBuilder", "validateDefinition", "definition", "variant", "specification", "buildListTable", "columns", "reportData", "summariesData", "reportQuery", "interactive", "collatedSummaryBuilder", "CollatedSummaryBuilder", "DataTableBuilder", "buildParentChildTable", "childData", "ParentChildDataTableBuilder", "buildSummarySectionTable", "SectionedDataTableBuilder", "buildRowSectionedTable", "rowData", "SectionedFieldsDataTableBuilder", "dataTables", "template", "dataTable"]
7
7
  }
@@ -1,3 +1,4 @@
1
+ import { expect, jest } from '@jest/globals'
1
2
  import { Url } from 'url'
2
3
  import Dict = NodeJS.Dict
3
4
 
@@ -19,6 +20,7 @@ import variant2 = require('../../../../../test-app/mocks/mockClients/reports/moc
19
20
  import variant26 = require('../../../../../test-app/mocks/mockClients/reports/mockVariants/report-templates/parent-child')
20
21
  import { ChildData } from '../../../utils/ParentChildDataTableBuilder/types'
21
22
  import variant10 = require('../../../../../test-app/mocks/mockClients/reports/mockVariants/report-templates/list-section-wtih-summaries')
23
+ import { MoJTableHead } from '../../_dashboards/dashboard-visualisation/types'
22
24
 
23
25
  jest.mock('parseurl', () => ({
24
26
  __esModule: true,
@@ -58,9 +60,11 @@ describe('AsyncReportListUtils', () => {
58
60
  variant: variant2,
59
61
  } as unknown as components['schemas']['SingleVariantReportDefinition']
60
62
 
63
+ const template = definition.variant.specification?.template
64
+
61
65
  reportQuery = new ReportQuery({
62
- fields: definition.variant.specification.fields,
63
- template: definition.variant.specification.template as Template,
66
+ fields: definition.variant.specification?.fields || [],
67
+ template: template || ('list' as Template),
64
68
  queryParams: {},
65
69
  definitionsPath: 'dataProductDefinitionsPath',
66
70
  })
@@ -126,9 +130,11 @@ describe('AsyncReportListUtils', () => {
126
130
  variant: variant10,
127
131
  } as unknown as components['schemas']['SingleVariantReportDefinition']
128
132
 
133
+ const template = definition.variant.specification?.template
134
+
129
135
  reportQuery = new ReportQuery({
130
- fields: definition.variant.specification.fields,
131
- template: definition.variant.specification.template as Template,
136
+ fields: definition.variant.specification?.fields || [],
137
+ template: template || ('list' as Template),
132
138
  queryParams: {},
133
139
  definitionsPath: 'dataProductDefinitionsPath',
134
140
  })
@@ -266,7 +272,7 @@ describe('AsyncReportListUtils', () => {
266
272
 
267
273
  const expectedTable = [
268
274
  {
269
- head: null,
275
+ head: <MoJTableHead | null>null,
270
276
  rows: [
271
277
  [
272
278
  {
@@ -466,9 +472,10 @@ describe('AsyncReportListUtils', () => {
466
472
  variant: variant26,
467
473
  } as unknown as components['schemas']['SingleVariantReportDefinition']
468
474
 
475
+ const template = definition.variant.specification?.template
469
476
  reportQuery = new ReportQuery({
470
- fields: definition.variant.specification.fields,
471
- template: definition.variant.specification.template as Template,
477
+ fields: definition.variant.specification?.fields || [],
478
+ template: template || ('list' as Template),
472
479
  queryParams: {},
473
480
  definitionsPath: 'dataProductDefinitionsPath',
474
481
  })
@@ -517,7 +524,7 @@ describe('AsyncReportListUtils', () => {
517
524
  const expectedTable = [
518
525
  {
519
526
  colCount: 1,
520
- head: null,
527
+ head: <MoJTableHead | null>null,
521
528
  rowCount: 5,
522
529
  rows: [
523
530
  [{ classes: 'govuk-table__header', text: 'Second' }],
@@ -12,6 +12,17 @@ import SectionedFieldsDataTableBuilder from '../../../utils/SectionedFieldsTable
12
12
  import { DataTable } from '../../../utils/DataTableBuilder/types'
13
13
  import type { Template } from '../../../types/Templates'
14
14
 
15
+ const validateDefinition = (definition: components['schemas']['SingleVariantReportDefinition']) => {
16
+ const { variant } = definition
17
+ const { specification } = variant
18
+
19
+ if (!specification) {
20
+ throw new Error('No specification in definition')
21
+ }
22
+
23
+ return { variant, specification }
24
+ }
25
+
15
26
  const buildListTable = (
16
27
  definition: components['schemas']['SingleVariantReportDefinition'],
17
28
  columns: Columns,
@@ -19,8 +30,8 @@ const buildListTable = (
19
30
  summariesData: AsyncSummary[],
20
31
  reportQuery: ReportQuery,
21
32
  ): DataTable => {
22
- const { variant } = definition
23
- const { interactive, specification } = variant
33
+ const { variant, specification } = validateDefinition(definition)
34
+ const { interactive } = variant
24
35
 
25
36
  const collatedSummaryBuilder = new CollatedSummaryBuilder(specification, summariesData)
26
37
  return new DataTableBuilder(specification.fields)
@@ -28,7 +39,7 @@ const buildListTable = (
28
39
  .withHeaderOptions({
29
40
  columns: columns.value,
30
41
  reportQuery,
31
- interactive,
42
+ interactive: Boolean(interactive),
32
43
  })
33
44
  .buildTable(reportData)
34
45
  }
@@ -52,8 +63,8 @@ const buildSummarySectionTable = (
52
63
  summariesData: AsyncSummary[],
53
64
  reportQuery: ReportQuery,
54
65
  ): DataTable => {
55
- const { variant } = definition
56
- const { interactive, specification } = variant
66
+ const { variant, specification } = validateDefinition(definition)
67
+ const { interactive } = variant
57
68
 
58
69
  const collatedSummaryBuilder = new CollatedSummaryBuilder(specification, summariesData)
59
70
  return new SectionedDataTableBuilder(specification)
@@ -61,7 +72,7 @@ const buildSummarySectionTable = (
61
72
  .withHeaderOptions({
62
73
  columns: columns.value,
63
74
  reportQuery,
64
- interactive,
75
+ interactive: Boolean(interactive),
65
76
  })
66
77
  .buildTable(reportData)
67
78
  }
@@ -78,7 +89,7 @@ const buildRowSectionedTable = (
78
89
  return new SectionedFieldsDataTableBuilder(variant)
79
90
  .withHeaderOptions({
80
91
  columns: new Array(2),
81
- interactive,
92
+ interactive: Boolean(interactive),
82
93
  })
83
94
  .withChildData(childData)
84
95
  .buildTable([rowData])
@@ -94,7 +105,8 @@ export const createDataTable = (
94
105
  reportQuery: ReportQuery,
95
106
  ): DataTable[] => {
96
107
  let dataTables: DataTable[] = []
97
- const { template } = definition.variant.specification
108
+ const { specification } = validateDefinition(definition)
109
+ const { template } = specification
98
110
 
99
111
  switch (template as Template) {
100
112
  case 'summary-section':
@@ -1,2 +1,2 @@
1
- var a=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var o=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var u=(r,e,i,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of o(e))!s.call(r,n)&&n!==i&&a(r,n,{get:()=>e[n],enumerable:!(t=g(e,n))||t.enumerable});return r};var b=r=>u(a({},"__esModule",{value:!0}),r);var p={};module.exports=b(p);
1
+ "use strict";var i=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var u=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var s=(n,e,a,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of u(e))!o.call(n,r)&&r!==a&&i(n,r,{get:()=>e[r],enumerable:!(t=g(e,r))||t.enumerable});return n};var b=n=>s(i({},"__esModule",{value:!0}),n);var p={};module.exports=b(p);
2
2
  //# sourceMappingURL=types.d.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/dpr/components/_reports/report-pagination/types.d.ts"],
4
- "sourcesContent": ["export interface Page {\n number?: number\n current?: boolean\n href?: string\n ellipsis?: boolean\n}\n\nexport interface Pagination {\n next?: string\n prev?: string\n pages: Page[]\n pageSize: number\n currentPage: number\n totalRows: number\n sizes: PageSize[]\n}\n\nexport interface PageSize {\n value: number\n text: string\n}\n"],
5
- "mappings": "kWAAA,IAAAA,EAAA,kBAAAC,EAAAD",
4
+ "sourcesContent": ["export interface Page {\n number?: number\n current?: boolean\n href?: string\n ellipsis?: boolean\n}\n\nexport interface Pagination {\n next?: string | undefined\n prev?: string | undefined\n pages: Page[]\n pageSize: number\n currentPage: number\n totalRows: number\n sizes: PageSize[]\n}\n\nexport interface PageSize {\n value: number\n text: string\n}\n"],
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["types_d_exports", "__toCommonJS"]
7
7
  }
@@ -6,8 +6,8 @@ export interface Page {
6
6
  }
7
7
 
8
8
  export interface Pagination {
9
- next?: string
10
- prev?: string
9
+ next?: string | undefined
10
+ prev?: string | undefined
11
11
  pages: Page[]
12
12
  pageSize: number
13
13
  currentPage: number
@@ -1,2 +1,2 @@
1
- var m=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var l=(r,e)=>{for(var t in e)m(r,t,{get:e[t],enumerable:!0})},d=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of b(e))!h.call(r,n)&&n!==t&&m(r,n,{get:()=>e[n],enumerable:!(s=S(e,n))||s.enumerable});return r};var A=r=>d(m({},"__esModule",{value:!0}),r);var N={};l(N,{default:()=>v,getPaginationData:()=>p});module.exports=A(N);const c="selectedPage",E="pageSize",L=1,U=20,$=(r,e,t,s,n)=>{const i=Math.ceil(t/s),g=[];return Array(i).fill(0).forEach((o,u)=>{const a=u+1;e.set(c,`${a}`),a===1||a===i||a>=n-1&&a<=n+1?g.push({number:a,href:`${r}?${e.toString()}`,current:a===n}):(a===2||a===i-1)&&g.push({ellipsis:!0})}),{pages:g,pagesLength:i}},x=(r,e,t,s,n)=>{const i=new URLSearchParams(e);if(s>0){if(n===t)return;const g=n+1;return i.set(c,`${g}`),`${r}?${i.toString()}`}},_=(r,e,t)=>{const s=new URLSearchParams(e);if(t===1)return;const n=t-1;return s.set(c,`${n}`),`${r}?${s.toString()}`},z=r=>{const e=[10,20,100,200,r];return e.map((t,s)=>s===e.length-1?{value:r,text:"All"}:{value:t,text:t.toString()})},p=(r,e,t)=>{const s=r.search||"",n=s?t.originalUrl.split(s)[0]:t.originalUrl,i=new URLSearchParams(s),g=i.get(E),o=i.get(c),u=g?Number(g):U,a=o?Number(o):L,{pages:P,pagesLength:f}=$(n,i,e,Number(u),a);return{next:x(n,s,f,e,a),prev:_(n,s,a),pages:P,pageSize:u,currentPage:a,totalRows:e,sizes:z(e)}};var v={getPaginationData:p};0&&(module.exports={getPaginationData});
1
+ "use strict";var m=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var l=(r,e)=>{for(var t in e)m(r,t,{get:e[t],enumerable:!0})},d=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of b(e))!h.call(r,n)&&n!==t&&m(r,n,{get:()=>e[n],enumerable:!(s=S(e,n))||s.enumerable});return r};var A=r=>d(m({},"__esModule",{value:!0}),r);var N={};l(N,{default:()=>v,getPaginationData:()=>p});module.exports=A(N);const c="selectedPage",E="pageSize",L=1,U=20,$=(r,e,t,s,n)=>{const i=Math.ceil(t/s),g=[];return Array(i).fill(0).forEach((o,u)=>{const a=u+1;e.set(c,`${a}`),a===1||a===i||a>=n-1&&a<=n+1?g.push({number:a,href:`${r}?${e.toString()}`,current:a===n}):(a===2||a===i-1)&&g.push({ellipsis:!0})}),{pages:g,pagesLength:i}},x=(r,e,t,s,n)=>{const i=new URLSearchParams(e);if(s>0){if(n===t)return;const g=n+1;return i.set(c,`${g}`),`${r}?${i.toString()}`}},_=(r,e,t)=>{const s=new URLSearchParams(e);if(t===1)return;const n=t-1;return s.set(c,`${n}`),`${r}?${s.toString()}`},z=r=>{const e=[10,20,100,200,r];return e.map((t,s)=>s===e.length-1?{value:r,text:"All"}:{value:t,text:t.toString()})},p=(r,e,t)=>{const s=r.search||"",n=s?t.originalUrl.split(s)[0]:t.originalUrl,i=new URLSearchParams(s),g=i.get(E),o=i.get(c),u=g?Number(g):U,a=o?Number(o):L,{pages:P,pagesLength:f}=$(n,i,e,Number(u),a);return{next:x(n,s,f,e,a),prev:_(n,s,a),pages:P,pageSize:u,currentPage:a,totalRows:e,sizes:z(e)}};var v={getPaginationData:p};0&&(module.exports={getPaginationData});
2
2
  //# sourceMappingURL=utils.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/dpr/components/_reports/report-pagination/utils.ts"],
4
4
  "sourcesContent": ["import { Url } from 'url'\nimport type { Request } from 'express'\nimport { Page, PageSize, Pagination } from './types'\n\nconst SELECTED_PAGE_PARAM = 'selectedPage'\nconst PAGE_SIZE_PARAM = 'pageSize'\nconst DEFAULT_PAGE = 1\nconst DEFAULT_PAGE_SIZE = 20\n\n/**\n * Creates the pages for the pagination component\n *\n * @param {string} pathname\n * @param {string} search\n * @param {number} totalRows\n * @param pageSize\n * @param currentPage\n * @return {*} {{ pages: page[]; pagesLength: number }}\n */\nconst createPages = (\n pathname: string,\n queryParams: URLSearchParams,\n totalRows: number,\n pageSize: number,\n currentPage: number,\n): { pages: Page[]; pagesLength: number } => {\n const pagesLength = Math.ceil(totalRows / pageSize)\n\n const pages: Page[] = []\n Array(pagesLength)\n .fill(0)\n .forEach((_, index: number) => {\n const pageNumber = index + 1\n queryParams.set(SELECTED_PAGE_PARAM, `${pageNumber}`)\n\n if (\n pageNumber === 1 ||\n pageNumber === pagesLength ||\n (pageNumber >= currentPage - 1 && pageNumber <= currentPage + 1)\n ) {\n pages.push({\n number: pageNumber,\n href: `${pathname}?${queryParams.toString()}`,\n current: pageNumber === currentPage,\n })\n } else if (pageNumber === 2 || pageNumber === pagesLength - 1) {\n pages.push({ ellipsis: true })\n }\n })\n\n return {\n pages,\n pagesLength,\n }\n}\n\n/**\n * Creates the next link\n *\n * @param {string} pathname\n * @param {string} search\n * @param {number} lastPage\n * @param totalRows\n * @param currentPage\n * @return {*} {(string | undefined)}\n */\nconst createNext = (\n pathname: string,\n search: string,\n lastPage: number,\n totalRows: number,\n currentPage: number,\n): string | undefined => {\n const queryParams = new URLSearchParams(search)\n\n if (totalRows > 0) {\n if (currentPage === lastPage) {\n return undefined\n }\n\n const nextPage = currentPage + 1\n queryParams.set(SELECTED_PAGE_PARAM, `${nextPage}`)\n return `${pathname}?${queryParams.toString()}`\n }\n return undefined\n}\n\n/**\n * Creates the previous link\n *\n * @param {string} pathname\n * @param {string} search\n * @param currentPage\n * @return {*} {(string | undefined)}\n */\nconst createPrev = (pathname: string, search: string, currentPage: number): string | undefined => {\n const queryParams = new URLSearchParams(search)\n\n if (currentPage === 1) {\n return undefined\n }\n\n const prevPage = currentPage - 1\n queryParams.set(SELECTED_PAGE_PARAM, `${prevPage}`)\n return `${pathname}?${queryParams.toString()}`\n}\n\n/**\n * Set the select items for the page size component\n *\n * @param {number} totalRows\n * @return {*}\n */\nconst setPageSizes = (totalRows: number): PageSize[] => {\n const pageSizes = [10, 20, 100, 200, totalRows]\n return pageSizes.map((size, i) => {\n if (i === pageSizes.length - 1) {\n return { value: totalRows, text: 'All' }\n }\n return { value: size, text: size.toString() }\n })\n}\n\n/**\n * Init pagination\n *\n * @return {*}\n */\nexport const getPaginationData = (url: Url, totalRows: number, req: Request): Pagination => {\n const search = url.search || ''\n const pathname = search ? req.originalUrl.split(search)[0] : req.originalUrl\n const queryParams = new URLSearchParams(search)\n\n const pageSizeParam = queryParams.get(PAGE_SIZE_PARAM)\n const currentPageParam = queryParams.get(SELECTED_PAGE_PARAM)\n const pageSize = pageSizeParam ? Number(pageSizeParam) : DEFAULT_PAGE_SIZE\n const currentPage = currentPageParam ? Number(currentPageParam) : DEFAULT_PAGE\n\n const { pages, pagesLength } = createPages(pathname, queryParams, totalRows, Number(pageSize), currentPage)\n return {\n next: createNext(pathname, search, pagesLength, totalRows, currentPage),\n prev: createPrev(pathname, search, currentPage),\n pages,\n pageSize,\n currentPage,\n totalRows,\n sizes: setPageSizes(totalRows),\n }\n}\n\nexport default {\n getPaginationData,\n}\n"],
5
- "mappings": "4ZAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,sBAAAC,IAAA,eAAAC,EAAAJ,GAIA,MAAMK,EAAsB,eACtBC,EAAkB,WAClBC,EAAe,EACfC,EAAoB,GAYpBC,EAAc,CAClBC,EACAC,EACAC,EACAC,EACAC,IAC2C,CAC3C,MAAMC,EAAc,KAAK,KAAKH,EAAYC,CAAQ,EAE5CG,EAAgB,CAAC,EACvB,aAAMD,CAAW,EACd,KAAK,CAAC,EACN,QAAQ,CAACE,EAAGC,IAAkB,CAC7B,MAAMC,EAAaD,EAAQ,EAC3BP,EAAY,IAAIN,EAAqB,GAAGc,CAAU,EAAE,EAGlDA,IAAe,GACfA,IAAeJ,GACdI,GAAcL,EAAc,GAAKK,GAAcL,EAAc,EAE9DE,EAAM,KAAK,CACT,OAAQG,EACR,KAAM,GAAGT,CAAQ,IAAIC,EAAY,SAAS,CAAC,GAC3C,QAASQ,IAAeL,CAC1B,CAAC,GACQK,IAAe,GAAKA,IAAeJ,EAAc,IAC1DC,EAAM,KAAK,CAAE,SAAU,EAAK,CAAC,CAEjC,CAAC,EAEI,CACL,MAAAA,EACA,YAAAD,CACF,CACF,EAYMK,EAAa,CACjBV,EACAW,EACAC,EACAV,EACAE,IACuB,CACvB,MAAMH,EAAc,IAAI,gBAAgBU,CAAM,EAE9C,GAAIT,EAAY,EAAG,CACjB,GAAIE,IAAgBQ,EAClB,OAGF,MAAMC,EAAWT,EAAc,EAC/B,OAAAH,EAAY,IAAIN,EAAqB,GAAGkB,CAAQ,EAAE,EAC3C,GAAGb,CAAQ,IAAIC,EAAY,SAAS,CAAC,EAC9C,CAEF,EAUMa,EAAa,CAACd,EAAkBW,EAAgBP,IAA4C,CAChG,MAAMH,EAAc,IAAI,gBAAgBU,CAAM,EAE9C,GAAIP,IAAgB,EAClB,OAGF,MAAMW,EAAWX,EAAc,EAC/B,OAAAH,EAAY,IAAIN,EAAqB,GAAGoB,CAAQ,EAAE,EAC3C,GAAGf,CAAQ,IAAIC,EAAY,SAAS,CAAC,EAC9C,EAQMe,EAAgBd,GAAkC,CACtD,MAAMe,EAAY,CAAC,GAAI,GAAI,IAAK,IAAKf,CAAS,EAC9C,OAAOe,EAAU,IAAI,CAACC,EAAMC,IACtBA,IAAMF,EAAU,OAAS,EACpB,CAAE,MAAOf,EAAW,KAAM,KAAM,EAElC,CAAE,MAAOgB,EAAM,KAAMA,EAAK,SAAS,CAAE,CAC7C,CACH,EAOazB,EAAoB,CAAC2B,EAAUlB,EAAmBmB,IAA6B,CAC1F,MAAMV,EAASS,EAAI,QAAU,GACvBpB,EAAWW,EAASU,EAAI,YAAY,MAAMV,CAAM,EAAE,CAAC,EAAIU,EAAI,YAC3DpB,EAAc,IAAI,gBAAgBU,CAAM,EAExCW,EAAgBrB,EAAY,IAAIL,CAAe,EAC/C2B,EAAmBtB,EAAY,IAAIN,CAAmB,EACtDQ,EAAWmB,EAAgB,OAAOA,CAAa,EAAIxB,EACnDM,EAAcmB,EAAmB,OAAOA,CAAgB,EAAI1B,EAE5D,CAAE,MAAAS,EAAO,YAAAD,CAAY,EAAIN,EAAYC,EAAUC,EAAaC,EAAW,OAAOC,CAAQ,EAAGC,CAAW,EAC1G,MAAO,CACL,KAAMM,EAAWV,EAAUW,EAAQN,EAAaH,EAAWE,CAAW,EACtE,KAAMU,EAAWd,EAAUW,EAAQP,CAAW,EAC9C,MAAAE,EACA,SAAAH,EACA,YAAAC,EACA,UAAAF,EACA,MAAOc,EAAad,CAAS,CAC/B,CACF,EAEA,IAAOV,EAAQ,CACb,kBAAAC,CACF",
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,sBAAAC,IAAA,eAAAC,EAAAJ,GAIA,MAAMK,EAAsB,eACtBC,EAAkB,WAClBC,EAAe,EACfC,EAAoB,GAYpBC,EAAc,CAClBC,EACAC,EACAC,EACAC,EACAC,IAC2C,CAC3C,MAAMC,EAAc,KAAK,KAAKH,EAAYC,CAAQ,EAE5CG,EAAgB,CAAC,EACvB,aAAMD,CAAW,EACd,KAAK,CAAC,EACN,QAAQ,CAACE,EAAGC,IAAkB,CAC7B,MAAMC,EAAaD,EAAQ,EAC3BP,EAAY,IAAIN,EAAqB,GAAGc,CAAU,EAAE,EAGlDA,IAAe,GACfA,IAAeJ,GACdI,GAAcL,EAAc,GAAKK,GAAcL,EAAc,EAE9DE,EAAM,KAAK,CACT,OAAQG,EACR,KAAM,GAAGT,CAAQ,IAAIC,EAAY,SAAS,CAAC,GAC3C,QAASQ,IAAeL,CAC1B,CAAC,GACQK,IAAe,GAAKA,IAAeJ,EAAc,IAC1DC,EAAM,KAAK,CAAE,SAAU,EAAK,CAAC,CAEjC,CAAC,EAEI,CACL,MAAAA,EACA,YAAAD,CACF,CACF,EAYMK,EAAa,CACjBV,EACAW,EACAC,EACAV,EACAE,IACuB,CACvB,MAAMH,EAAc,IAAI,gBAAgBU,CAAM,EAE9C,GAAIT,EAAY,EAAG,CACjB,GAAIE,IAAgBQ,EAClB,OAGF,MAAMC,EAAWT,EAAc,EAC/B,OAAAH,EAAY,IAAIN,EAAqB,GAAGkB,CAAQ,EAAE,EAC3C,GAAGb,CAAQ,IAAIC,EAAY,SAAS,CAAC,EAC9C,CAEF,EAUMa,EAAa,CAACd,EAAkBW,EAAgBP,IAA4C,CAChG,MAAMH,EAAc,IAAI,gBAAgBU,CAAM,EAE9C,GAAIP,IAAgB,EAClB,OAGF,MAAMW,EAAWX,EAAc,EAC/B,OAAAH,EAAY,IAAIN,EAAqB,GAAGoB,CAAQ,EAAE,EAC3C,GAAGf,CAAQ,IAAIC,EAAY,SAAS,CAAC,EAC9C,EAQMe,EAAgBd,GAAkC,CACtD,MAAMe,EAAY,CAAC,GAAI,GAAI,IAAK,IAAKf,CAAS,EAC9C,OAAOe,EAAU,IAAI,CAACC,EAAMC,IACtBA,IAAMF,EAAU,OAAS,EACpB,CAAE,MAAOf,EAAW,KAAM,KAAM,EAElC,CAAE,MAAOgB,EAAM,KAAMA,EAAK,SAAS,CAAE,CAC7C,CACH,EAOazB,EAAoB,CAAC2B,EAAUlB,EAAmBmB,IAA6B,CAC1F,MAAMV,EAASS,EAAI,QAAU,GACvBpB,EAAWW,EAASU,EAAI,YAAY,MAAMV,CAAM,EAAE,CAAC,EAAIU,EAAI,YAC3DpB,EAAc,IAAI,gBAAgBU,CAAM,EAExCW,EAAgBrB,EAAY,IAAIL,CAAe,EAC/C2B,EAAmBtB,EAAY,IAAIN,CAAmB,EACtDQ,EAAWmB,EAAgB,OAAOA,CAAa,EAAIxB,EACnDM,EAAcmB,EAAmB,OAAOA,CAAgB,EAAI1B,EAE5D,CAAE,MAAAS,EAAO,YAAAD,CAAY,EAAIN,EAAYC,EAAUC,EAAaC,EAAW,OAAOC,CAAQ,EAAGC,CAAW,EAC1G,MAAO,CACL,KAAMM,EAAWV,EAAUW,EAAQN,EAAaH,EAAWE,CAAW,EACtE,KAAMU,EAAWd,EAAUW,EAAQP,CAAW,EAC9C,MAAAE,EACA,SAAAH,EACA,YAAAC,EACA,UAAAF,EACA,MAAOc,EAAad,CAAS,CAC/B,CACF,EAEA,IAAOV,EAAQ,CACb,kBAAAC,CACF",
6
6
  "names": ["utils_exports", "__export", "utils_default", "getPaginationData", "__toCommonJS", "SELECTED_PAGE_PARAM", "PAGE_SIZE_PARAM", "DEFAULT_PAGE", "DEFAULT_PAGE_SIZE", "createPages", "pathname", "queryParams", "totalRows", "pageSize", "currentPage", "pagesLength", "pages", "_", "index", "pageNumber", "createNext", "search", "lastPage", "nextPage", "createPrev", "prevPage", "setPageSizes", "pageSizes", "size", "i", "url", "req", "pageSizeParam", "currentPageParam"]
7
7
  }
@@ -1,3 +1,4 @@
1
+ import { expect } from '@jest/globals'
1
2
  import { Url } from 'url'
2
3
  import type { Request } from 'express'
3
4
  import PaginationUtils from './utils'
@@ -1,2 +1,2 @@
1
- var u=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var f=(t,r)=>{for(var n in r)u(t,n,{get:r[n],enumerable:!0})},m=(t,r,n,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of $(r))!b.call(t,e)&&e!==n&&u(t,e,{get:()=>r[e],enumerable:!(s=l(r,e))||s.enumerable});return t};var a=t=>m(u({},"__esModule",{value:!0}),t);var d={};f(d,{default:()=>i,getTotals:()=>c});module.exports=a(d);const c=(t,r,n,s)=>{let e="";const g=(r-1)*t,o=g+s;return g===0&&n===o?e=n===1?`${n} total result`:`${n} total results`:e=n>0?`Showing <strong>${g+1}</strong> to <strong>${o}</strong> of <strong>${n}</strong> results`:"0-0 of 0",e};var i={getTotals:c};0&&(module.exports={getTotals});
1
+ "use strict";var u=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var f=(t,r)=>{for(var n in r)u(t,n,{get:r[n],enumerable:!0})},m=(t,r,n,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of $(r))!b.call(t,e)&&e!==n&&u(t,e,{get:()=>r[e],enumerable:!(s=l(r,e))||s.enumerable});return t};var a=t=>m(u({},"__esModule",{value:!0}),t);var d={};f(d,{default:()=>i,getTotals:()=>c});module.exports=a(d);const c=(t,r,n,s)=>{let e="";const g=(r-1)*t,o=g+s;return g===0&&n===o?e=n===1?`${n} total result`:`${n} total results`:e=n>0?`Showing <strong>${g+1}</strong> to <strong>${o}</strong> of <strong>${n}</strong> results`:"0-0 of 0",e};var i={getTotals:c};0&&(module.exports={getTotals});
2
2
  //# sourceMappingURL=utils.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/dpr/components/_reports/report-totals/utils.ts"],
4
4
  "sourcesContent": ["export const getTotals = (pageSize: number, currentPage: number, totalRows: number, rowCount: number): string => {\n let totals = ''\n\n const currentRangeStart = (currentPage - 1) * pageSize\n const currentRangeEnd = currentRangeStart + rowCount\n\n if (currentRangeStart === 0 && totalRows === currentRangeEnd) {\n totals = totalRows === 1 ? `${totalRows} total result` : `${totalRows} total results`\n } else {\n totals =\n totalRows > 0\n ? `Showing <strong>${\n currentRangeStart + 1\n }</strong> to <strong>${currentRangeEnd}</strong> of <strong>${totalRows}</strong> results`\n : `0-0 of 0`\n }\n\n return totals\n}\n\nexport default {\n getTotals,\n}\n"],
5
- "mappings": "4ZAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,cAAAC,IAAA,eAAAC,EAAAJ,GAAO,MAAMG,EAAY,CAACE,EAAkBC,EAAqBC,EAAmBC,IAA6B,CAC/G,IAAIC,EAAS,GAEb,MAAMC,GAAqBJ,EAAc,GAAKD,EACxCM,EAAkBD,EAAoBF,EAE5C,OAAIE,IAAsB,GAAKH,IAAcI,EAC3CF,EAASF,IAAc,EAAI,GAAGA,CAAS,gBAAkB,GAAGA,CAAS,iBAErEE,EACEF,EAAY,EACR,mBACEG,EAAoB,CACtB,wBAAwBC,CAAe,wBAAwBJ,CAAS,oBACxE,WAGDE,CACT,EAEA,IAAOP,EAAQ,CACb,UAAAC,CACF",
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,cAAAC,IAAA,eAAAC,EAAAJ,GAAO,MAAMG,EAAY,CAACE,EAAkBC,EAAqBC,EAAmBC,IAA6B,CAC/G,IAAIC,EAAS,GAEb,MAAMC,GAAqBJ,EAAc,GAAKD,EACxCM,EAAkBD,EAAoBF,EAE5C,OAAIE,IAAsB,GAAKH,IAAcI,EAC3CF,EAASF,IAAc,EAAI,GAAGA,CAAS,gBAAkB,GAAGA,CAAS,iBAErEE,EACEF,EAAY,EACR,mBACEG,EAAoB,CACtB,wBAAwBC,CAAe,wBAAwBJ,CAAS,oBACxE,WAGDE,CACT,EAEA,IAAOP,EAAQ,CACb,UAAAC,CACF",
6
6
  "names": ["utils_exports", "__export", "utils_default", "getTotals", "__toCommonJS", "pageSize", "currentPage", "totalRows", "rowCount", "totals", "currentRangeStart", "currentRangeEnd"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var o=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var u=(e,t)=>{for(var i in t)o(e,i,{get:t[i],enumerable:!0})},g=(e,t,i,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of f(t))!d.call(e,n)&&n!==i&&o(e,n,{get:()=>t[n],enumerable:!(r=p(t,n))||r.enumerable});return e};var D=e=>g(o({},"__esModule",{value:!0}),e);var y={};u(y,{default:()=>$,reportDefinitionsToCards:()=>c,variantDefinitionsToCards:()=>a});module.exports=D(y);var m=require("../../utils/urlHelper");const s=(e,t)=>t&&Object.keys(t).length>0?`${e}${(0,m.createQuerystringFromObject)(t)}`:e,c=(e,t,i)=>e.map(r=>({text:r.name,href:s(`${t}/${r.id}`,i),description:r.description})),a=(e,t,i)=>{let r="";return t==="/async-reports"&&(r="/request"),e.variants.map(n=>({text:n.name,href:s(`${t}/${e.id}/${n.id}${r}`,i),description:n.description}))};var $={reportDefinitionsToCards:c,variantDefinitionsToCards:a};0&&(module.exports={reportDefinitionsToCards,variantDefinitionsToCards});
1
+ "use strict";var o=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var u=(e,t)=>{for(var i in t)o(e,i,{get:t[i],enumerable:!0})},g=(e,t,i,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of f(t))!d.call(e,n)&&n!==i&&o(e,n,{get:()=>t[n],enumerable:!(r=p(t,n))||r.enumerable});return e};var D=e=>g(o({},"__esModule",{value:!0}),e);var y={};u(y,{default:()=>$,reportDefinitionsToCards:()=>c,variantDefinitionsToCards:()=>a});module.exports=D(y);var m=require("../../utils/urlHelper");const s=(e,t)=>t&&Object.keys(t).length>0?`${e}${(0,m.createQuerystringFromObject)(t)}`:e,c=(e,t,i)=>e.map(r=>({text:r.name,href:s(`${t}/${r.id}`,i),description:r.description})),a=(e,t,i)=>{let r="";return t==="/async-reports"&&(r="/request"),e.variants.map(n=>({text:n.name,href:s(`${t}/${e.id}/${n.id}${r}`,i),description:n.description}))};var $={reportDefinitionsToCards:c,variantDefinitionsToCards:a};0&&(module.exports={reportDefinitionsToCards,variantDefinitionsToCards});
2
2
  //# sourceMappingURL=utils.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dpr/components/card-group/utils.ts"],
4
4
  "sourcesContent": ["import { components } from '../../types/api'\nimport { createQuerystringFromObject } from '../../utils/urlHelper'\n\nconst addAdditionalQueryParams = (path: string, additionalQueryParams?: NodeJS.Dict<string>) => {\n if (additionalQueryParams && Object.keys(additionalQueryParams).length > 0) {\n return `${path}${createQuerystringFromObject(additionalQueryParams)}`\n }\n\n return path\n}\n\nexport const reportDefinitionsToCards = (\n reportDefinitions: Array<components['schemas']['ReportDefinitionSummary']>,\n pathPrefix: string,\n additionalQueryParams?: NodeJS.Dict<string>,\n) => {\n return reportDefinitions.map((d: components['schemas']['ReportDefinitionSummary']) => ({\n text: d.name,\n href: addAdditionalQueryParams(`${pathPrefix}/${d.id}`, additionalQueryParams),\n description: d.description,\n }))\n}\n\nexport const variantDefinitionsToCards = (\n reportDefinition: components['schemas']['ReportDefinitionSummary'],\n pathPrefix: string,\n additionalQueryParams?: NodeJS.Dict<string>,\n) => {\n let suffix = ''\n if (pathPrefix === '/async-reports') suffix = '/request'\n\n return reportDefinition.variants.map((v: components['schemas']['VariantDefinitionSummary']) => ({\n text: v.name,\n href: addAdditionalQueryParams(`${pathPrefix}/${reportDefinition.id}/${v.id}${suffix}`, additionalQueryParams),\n description: v.description,\n }))\n}\n\nexport default {\n reportDefinitionsToCards,\n variantDefinitionsToCards,\n}\n"],
5
- "mappings": "4ZAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,6BAAAC,EAAA,8BAAAC,IAAA,eAAAC,EAAAL,GACA,IAAAM,EAA4C,iCAE5C,MAAMC,EAA2B,CAACC,EAAcC,IAC1CA,GAAyB,OAAO,KAAKA,CAAqB,EAAE,OAAS,EAChE,GAAGD,CAAI,MAAG,+BAA4BC,CAAqB,CAAC,GAG9DD,EAGIL,EAA2B,CACtCO,EACAC,EACAF,IAEOC,EAAkB,IAAKE,IAAyD,CACrF,KAAMA,EAAE,KACR,KAAML,EAAyB,GAAGI,CAAU,IAAIC,EAAE,EAAE,GAAIH,CAAqB,EAC7E,YAAaG,EAAE,WACjB,EAAE,EAGSR,EAA4B,CACvCS,EACAF,EACAF,IACG,CACH,IAAIK,EAAS,GACb,OAAIH,IAAe,mBAAkBG,EAAS,YAEvCD,EAAiB,SAAS,IAAKE,IAA0D,CAC9F,KAAMA,EAAE,KACR,KAAMR,EAAyB,GAAGI,CAAU,IAAIE,EAAiB,EAAE,IAAIE,EAAE,EAAE,GAAGD,CAAM,GAAIL,CAAqB,EAC7G,YAAaM,EAAE,WACjB,EAAE,CACJ,EAEA,IAAOb,EAAQ,CACb,yBAAAC,EACA,0BAAAC,CACF",
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,6BAAAC,EAAA,8BAAAC,IAAA,eAAAC,EAAAL,GACA,IAAAM,EAA4C,iCAE5C,MAAMC,EAA2B,CAACC,EAAcC,IAC1CA,GAAyB,OAAO,KAAKA,CAAqB,EAAE,OAAS,EAChE,GAAGD,CAAI,MAAG,+BAA4BC,CAAqB,CAAC,GAG9DD,EAGIL,EAA2B,CACtCO,EACAC,EACAF,IAEOC,EAAkB,IAAKE,IAAyD,CACrF,KAAMA,EAAE,KACR,KAAML,EAAyB,GAAGI,CAAU,IAAIC,EAAE,EAAE,GAAIH,CAAqB,EAC7E,YAAaG,EAAE,WACjB,EAAE,EAGSR,EAA4B,CACvCS,EACAF,EACAF,IACG,CACH,IAAIK,EAAS,GACb,OAAIH,IAAe,mBAAkBG,EAAS,YAEvCD,EAAiB,SAAS,IAAKE,IAA0D,CAC9F,KAAMA,EAAE,KACR,KAAMR,EAAyB,GAAGI,CAAU,IAAIE,EAAiB,EAAE,IAAIE,EAAE,EAAE,GAAGD,CAAM,GAAIL,CAAqB,EAC7G,YAAaM,EAAE,WACjB,EAAE,CACJ,EAEA,IAAOb,EAAQ,CACb,yBAAAC,EACA,0BAAAC,CACF",
6
6
  "names": ["utils_exports", "__export", "utils_default", "reportDefinitionsToCards", "variantDefinitionsToCards", "__toCommonJS", "import_urlHelper", "addAdditionalQueryParams", "path", "additionalQueryParams", "reportDefinitions", "pathPrefix", "d", "reportDefinition", "suffix", "v"]
7
7
  }
@@ -1,3 +1,4 @@
1
+ import { expect } from '@jest/globals'
1
2
  import Utils from './utils'
2
3
  import { components } from '../../types/api'
3
4
 
@@ -8,6 +9,7 @@ describe('reportDefinitionsToCards', () => {
8
9
  name: 'Two',
9
10
  description: 'Three',
10
11
  variants: [],
12
+ authorised: true,
11
13
  }
12
14
  const mapped = Utils.reportDefinitionsToCards([report], '/prefix')
13
15
 
@@ -26,6 +28,7 @@ describe('reportDefinitionsToCards', () => {
26
28
  name: 'Two',
27
29
  description: 'Three',
28
30
  variants: [],
31
+ authorised: true,
29
32
  }
30
33
  const mapped = Utils.reportDefinitionsToCards([report], '/prefix', { dataProductDefinitionsPath: 'test-location' })
31
34
 
@@ -45,11 +48,13 @@ describe('variantDefinitionsToCards', () => {
45
48
  id: 'one',
46
49
  name: 'Two',
47
50
  description: 'Three',
51
+ authorised: true,
48
52
  variants: [
49
53
  {
50
54
  id: 'four',
51
55
  name: 'Five',
52
56
  description: 'Six',
57
+ isMissing: false,
53
58
  },
54
59
  ],
55
60
  }
@@ -74,8 +79,10 @@ describe('variantDefinitionsToCards', () => {
74
79
  id: 'four',
75
80
  name: 'Five',
76
81
  description: 'Six',
82
+ isMissing: false,
77
83
  },
78
84
  ],
85
+ authorised: true,
79
86
  }
80
87
  const mapped = Utils.variantDefinitionsToCards(report, '/prefix', { dataProductDefinitionsPath: 'test-location' })
81
88
 
@@ -1,2 +1,2 @@
1
- var s=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var a=(t,e)=>{for(var o in e)s(t,o,{get:e[o],enumerable:!0})},f=(t,e,o,u)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of c(e))!i.call(t,n)&&n!==o&&s(t,n,{get:()=>e[n],enumerable:!(u=l(e,n))||u.enumerable});return t};var k=t=>f(s({},"__esModule",{value:!0}),t);var x={};a(x,{default:()=>p,setupDefaultToken:()=>r});module.exports=k(x);const r=(t,e,o)=>e.locals.user&&e.locals.user.token?e.locals.user.token:(o("Could not find user token in response.locals.user.token"),null);var p=r;0&&(module.exports={setupDefaultToken});
1
+ "use strict";var u=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var c=Object.getOwnPropertyNames;var i=Object.prototype.hasOwnProperty;var a=(t,e)=>{for(var n in e)u(t,n,{get:e[n],enumerable:!0})},f=(t,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of c(e))!i.call(t,o)&&o!==n&&u(t,o,{get:()=>e[o],enumerable:!(s=r(e,o))||s.enumerable});return t};var k=t=>f(u({},"__esModule",{value:!0}),t);var x={};a(x,{default:()=>p,setupDefaultToken:()=>l});module.exports=k(x);const l=(t,e,n)=>e.locals.user&&e.locals.user.token?e.locals.user.token:(n("Could not find user token in response.locals.user.token"),null);var p=l;0&&(module.exports={setupDefaultToken});
2
2
  //# sourceMappingURL=defaultTokenProvider.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dpr/components/report-list/defaultTokenProvider.ts"],
4
- "sourcesContent": ["import { NextFunction, Request, Response } from 'express'\n\nexport const setupDefaultToken = (request: Request, response: Response, next: NextFunction): string => {\n if (response.locals.user && response.locals.user.token) {\n return response.locals.user.token\n }\n next('Could not find user token in response.locals.user.token')\n return null\n}\n\nexport default setupDefaultToken\n"],
5
- "mappings": "4ZAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,sBAAAC,IAAA,eAAAC,EAAAJ,GAEO,MAAMG,EAAoB,CAACE,EAAkBC,EAAoBC,IAClED,EAAS,OAAO,MAAQA,EAAS,OAAO,KAAK,MACxCA,EAAS,OAAO,KAAK,OAE9BC,EAAK,yDAAyD,EACvD,MAGT,IAAOL,EAAQC",
6
- "names": ["defaultTokenProvider_exports", "__export", "defaultTokenProvider_default", "setupDefaultToken", "__toCommonJS", "request", "response", "next"]
4
+ "sourcesContent": ["import { NextFunction, Request, Response } from 'express'\n\nexport const setupDefaultToken = (_request: Request, response: Response, next: NextFunction): string | null => {\n if (response.locals['user'] && response.locals['user'].token) {\n return response.locals['user'].token\n }\n next('Could not find user token in response.locals.user.token')\n return null\n}\n\nexport default setupDefaultToken\n"],
5
+ "mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,sBAAAC,IAAA,eAAAC,EAAAJ,GAEO,MAAMG,EAAoB,CAACE,EAAmBC,EAAoBC,IACnED,EAAS,OAAO,MAAWA,EAAS,OAAO,KAAQ,MAC9CA,EAAS,OAAO,KAAQ,OAEjCC,EAAK,yDAAyD,EACvD,MAGT,IAAOL,EAAQC",
6
+ "names": ["defaultTokenProvider_exports", "__export", "defaultTokenProvider_default", "setupDefaultToken", "__toCommonJS", "_request", "response", "next"]
7
7
  }
@@ -1,8 +1,8 @@
1
1
  import { NextFunction, Request, Response } from 'express'
2
2
 
3
- export const setupDefaultToken = (request: Request, response: Response, next: NextFunction): string => {
4
- if (response.locals.user && response.locals.user.token) {
5
- return response.locals.user.token
3
+ export const setupDefaultToken = (_request: Request, response: Response, next: NextFunction): string | null => {
4
+ if (response.locals['user'] && response.locals['user'].token) {
5
+ return response.locals['user'].token
6
6
  }
7
7
  next('Could not find user token in response.locals.user.token')
8
8
  return null
@@ -1,2 +1,2 @@
1
- var r=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var m=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of a(t))!p.call(e,i)&&i!==o&&r(e,i,{get:()=>t[i],enumerable:!(n=s(t,i))||n.enumerable});return e};var u=e=>m(r({},"__esModule",{value:!0}),e);var c={};module.exports=u(c);
1
+ "use strict";var r=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var m=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of a(t))!p.call(e,i)&&i!==o&&r(e,i,{get:()=>t[i],enumerable:!(n=s(t,i))||n.enumerable});return e};var u=e=>m(r({},"__esModule",{value:!0}),e);var c={};module.exports=u(c);
2
2
  //# sourceMappingURL=types.d.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dpr/components/report-list/types.d.ts"],
4
4
  "sourcesContent": ["import { NextFunction, Request, Response } from 'express'\nimport Dict = NodeJS.Dict\nimport ReportQuery from '../../types/ReportQuery'\nimport { ListWithWarnings } from '../../data/types'\nimport { components } from '../../types/api'\n\nexport interface ListDataSources {\n data: Promise<Dict<string>[]> | Promise<ListWithWarnings>\n count: Promise<number>\n}\n\nexport interface RenderListWithDataInput {\n title: string\n reportName?: string\n variantDefinition: components['schemas']['VariantDefinition']\n request: Request\n response: Response\n next: NextFunction\n getListDataSources: (reportQuery: ReportQuery) => ListDataSources\n otherOptions?: Dict<object>\n layoutTemplate: string\n dynamicAutocompleteEndpoint?: string\n}\n\nexport interface RenderListWithDefinitionInput {\n definitionName: string\n variantName: string\n request: Request\n response: Response\n next: NextFunction\n apiUrl: string\n layoutTemplate: string\n token: string\n title?: string\n otherOptions?: Dict<object>\n dynamicAutocompleteEndpoint?: string\n apiTimeout: number\n definitionsPath?: string\n}\n\nexport interface CreateRequestHandlerInput {\n title?: string\n definitionName: string\n variantName: string\n apiUrl: string\n apiTimeout\n otherOptions?: Dict<object>\n layoutTemplate: string\n tokenProvider: (request: Request, response: Response, next: NextFunction) => string\n dynamicAutocompleteEndpoint?: string\n definitionsPath?: string\n}\n"],
5
- "mappings": "kWAAA,IAAAA,EAAA,kBAAAC,EAAAD",
5
+ "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
6
  "names": ["types_d_exports", "__toCommonJS"]
7
7
  }
@@ -1,2 +1,2 @@
1
- var J=Object.create;var L=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var B=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var V=(t,e)=>{for(var i in e)L(t,i,{get:e[i],enumerable:!0})},x=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of j(e))!O.call(t,r)&&r!==i&&L(t,r,{get:()=>e[r],enumerable:!(n=$(e,r))||n.enumerable});return t};var w=(t,e,i)=>(i=t!=null?J(B(t)):{},x(e||!t||!t.__esModule?L(i,"default",{value:t,enumerable:!0}):i,t)),z=t=>x(L({},"__esModule",{value:!0}),t);var M={};V(M,{createReportListRequestHandler:()=>b,default:()=>K,renderList:()=>S,renderListWithData:()=>Q,renderListWithDefinition:()=>T});module.exports=z(M);var q=w(require("../../types/ReportQuery")),F=w(require("../../data/reportingClient")),I=w(require("../_reports/report-actions/utils")),U=require("../../utils"),C=w(require("../_filters/utils")),E=require("../../types/UserReports"),H=require("../_filters/filtersTypeEnum");function G(t){return t.data!==void 0}async function S(t,e,i,n,r,m,l,u,s,c){await Promise.all([t.data,t.count]).then(async o=>{let a,p={};const{specification:f,classification:W,printable:d,description:P,name:R}=e;if(f){const{template:D}=f,h=o[1];G(o[0])?(a=o[0].data,p=o[0].warnings):a=o[0];const y=await U.SyncReportUtils.getReportRenderData({req:n,count:h,specification:f,reportQuery:i,data:a,filtersType:H.FiltersType.REQUEST}),N=I.default.getActions({print:{enabled:!!e.printable},share:{reportName:c||"Product",name:e.name,url:y.fullUrl},copy:{url:y.fullUrl}}),g={renderData:{...y,reportName:c,name:l||R,description:P,count:h,classification:W,printable:d,actions:N,template:D,warnings:p,type:E.ReportType.REPORT,...s},layoutTemplate:u};r.render("dpr/components/report-list/list",g)}else throw new Error("No specification in definition")}).catch(o=>m(o))}const T=async({title:t,definitionName:e,variantName:i,request:n,response:r,next:m,otherOptions:l,layoutTemplate:u,token:s,apiUrl:c,apiTimeout:o,definitionsPath:a})=>{const p=new F.default({url:c,agent:{timeout:o}}),{dataProductDefinitionsPath:f}=n.query,W=f||a;try{const d=await p.getDefinition(s,e,i,W),P=d.name,R=d.variant,{specification:D,resourceName:h}=R;if(D){const{fields:y,template:N}=D,g=new q.default({fields:y,template:N,queryParams:n.query,definitionsPath:W});if(!C.default.redirectWithDefaultFilters(g,R,r,n)){const A={data:p.getListWithWarnings(h,s,g),count:p.getCount(h,s,g)};await S(A,R,g,n,r,m,`${R.name}`,u,l,t||`${P}`)}}else throw new Error("No specification in definition")}catch(d){m(d)}},Q=async({title:t,reportName:e,variantDefinition:i,request:n,response:r,next:m,getListDataSources:l,otherOptions:u,layoutTemplate:s})=>{const{specification:c}=i,{fields:o,template:a}=c,p=new q.default({fields:o,template:a,queryParams:n.query,definitionsPath:n.query.dataProductDefinitionsPath}),f=l(p);await S(f,i,p,n,r,m,t,s,u,e)},b=({title:t,definitionName:e,variantName:i,apiUrl:n,apiTimeout:r,otherOptions:m,layoutTemplate:l,tokenProvider:u,definitionsPath:s})=>(c,o,a)=>{T({title:t,definitionName:e,variantName:i,request:c,response:o,next:a,otherOptions:m,layoutTemplate:l,token:u(c,o,a),apiUrl:n,apiTimeout:r,definitionsPath:s})};var K={renderListWithData:Q,createReportListRequestHandler:b,renderListWithDefinition:T};0&&(module.exports={createReportListRequestHandler,renderList,renderListWithData,renderListWithDefinition});
1
+ "use strict";var J=Object.create;var L=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var B=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var z=(t,e)=>{for(var i in e)L(t,i,{get:e[i],enumerable:!0})},x=(t,e,i,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of j(e))!V.call(t,r)&&r!==i&&L(t,r,{get:()=>e[r],enumerable:!(n=$(e,r))||n.enumerable});return t};var w=(t,e,i)=>(i=t!=null?J(B(t)):{},x(e||!t||!t.__esModule?L(i,"default",{value:t,enumerable:!0}):i,t)),G=t=>x(L({},"__esModule",{value:!0}),t);var O={};z(O,{createReportListRequestHandler:()=>b,default:()=>M,renderList:()=>S,renderListWithData:()=>Q,renderListWithDefinition:()=>T});module.exports=G(O);var q=w(require("../../types/ReportQuery")),F=w(require("../../data/reportingClient")),I=w(require("../_reports/report-actions/utils")),U=require("../../utils"),C=w(require("../_filters/utils")),E=require("../../types/UserReports"),H=require("../_filters/filtersTypeEnum");function K(t){return t.data!==void 0}async function S(t,e,i,n,r,c,l,u,a,p){await Promise.all([t.data,t.count]).then(async o=>{let s,m={};const{specification:f,classification:h,printable:d,description:N,name:R}=e;if(f){const{template:D}=f,y=o[1];K(o[0])?(s=o[0].data,m=o[0].warnings):s=o[0];const W=await U.SyncReportUtils.getReportRenderData({req:n,count:y,specification:f,reportQuery:i,data:s,filtersType:H.FiltersType.REQUEST}),P=I.default.getActions({print:{enabled:!!e.printable},share:{reportName:p||"Product",name:e.name,url:W.fullUrl},copy:{url:W.fullUrl}}),g={renderData:{...W,reportName:p,name:l||R,description:N,count:y,classification:h,printable:d,actions:P,template:D,warnings:m,type:E.ReportType.REPORT,...a},layoutTemplate:u};r.render("dpr/components/report-list/list",g)}else throw new Error("No specification in definition")}).catch(o=>c(o))}const T=async({title:t,definitionName:e,variantName:i,request:n,response:r,next:c,otherOptions:l,layoutTemplate:u,token:a,apiUrl:p,apiTimeout:o,definitionsPath:s})=>{const m=new F.default({url:p,agent:{timeout:o}}),{dataProductDefinitionsPath:f}=n.query,h=f||s;try{const d=await m.getDefinition(a,e,i,h),N=d.name,R=d.variant,{specification:D,resourceName:y}=R;if(D){const{fields:W,template:P}=D,g=new q.default({fields:W,template:P,queryParams:n.query,...h&&{definitionsPath:h}});if(!C.default.redirectWithDefaultFilters(g,R,r,n)){const A={data:m.getListWithWarnings(y,a,g),count:m.getCount(y,a,g)};await S(A,R,g,n,r,c,`${R.name}`,u,l,t||`${N}`)}}else throw new Error("No specification in definition")}catch(d){c(d)}},Q=async({title:t,reportName:e,variantDefinition:i,request:n,response:r,next:c,getListDataSources:l,otherOptions:u,layoutTemplate:a})=>{const{specification:p}=i,{fields:o,template:s}=p,m=new q.default({fields:o,template:s,queryParams:n.query,definitionsPath:n.query.dataProductDefinitionsPath}),f=l(m);await S(f,i,m,n,r,c,t,a,u,e)},b=({title:t,definitionName:e,variantName:i,apiUrl:n,apiTimeout:r,otherOptions:c,layoutTemplate:l,tokenProvider:u,definitionsPath:a})=>(p,o,s)=>{T({title:t||"",definitionName:e,variantName:i,request:p,response:o,next:s,layoutTemplate:l,token:u(p,o,s),apiUrl:n,apiTimeout:r,...c&&{otherOptions:c},...a&&{definitionsPath:a}})};var M={renderListWithData:Q,createReportListRequestHandler:b,renderListWithDefinition:T};0&&(module.exports={createReportListRequestHandler,renderList,renderListWithData,renderListWithDefinition});
2
2
  //# sourceMappingURL=utils.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dpr/components/report-list/utils.ts"],
4
- "sourcesContent": ["import { NextFunction, Request, RequestHandler, Response } from 'express'\n\nimport ReportQuery from '../../types/ReportQuery'\n\nimport {\n ListDataSources,\n RenderListWithDataInput,\n RenderListWithDefinitionInput,\n CreateRequestHandlerInput,\n} from './types'\nimport ReportingClient from '../../data/reportingClient'\nimport { ListWithWarnings, Warnings } from '../../data/types'\nimport { components } from '../../types/api'\nimport Dict = NodeJS.Dict\nimport ReportActionsUtils from '../_reports/report-actions/utils'\nimport { Template } from '../../types/Templates'\nimport { SyncReportUtils } from '../../utils'\nimport FiltersUtils from '../_filters/utils'\nimport { ReportType } from '../../types/UserReports'\nimport { FiltersType } from '../_filters/filtersTypeEnum'\n\nfunction isListWithWarnings(data: Dict<string>[] | ListWithWarnings): data is ListWithWarnings {\n return (data as ListWithWarnings).data !== undefined\n}\n\nexport async function renderList(\n listData: ListDataSources,\n variantDefinition: components['schemas']['VariantDefinition'],\n reportQuery: ReportQuery,\n req: Request,\n response: Response,\n next: NextFunction,\n title: string,\n layoutTemplate: string,\n otherOptions?: NodeJS.Dict<object>,\n reportName?: string,\n) {\n await Promise.all([listData.data, listData.count])\n .then(async (resolvedData) => {\n let data\n let warnings: Warnings = {}\n const { specification, classification, printable, description, name: variantName } = variantDefinition\n if (specification) {\n const { template } = specification\n const count = resolvedData[1]\n\n if (isListWithWarnings(resolvedData[0])) {\n // eslint-disable-next-line prefer-destructuring\n data = resolvedData[0].data\n warnings = resolvedData[0].warnings\n } else {\n // eslint-disable-next-line prefer-destructuring\n data = resolvedData[0]\n }\n\n const reportRenderData = await SyncReportUtils.getReportRenderData({\n req,\n count,\n specification,\n reportQuery,\n data,\n filtersType: FiltersType.REQUEST,\n })\n\n const actions = ReportActionsUtils.getActions({\n print: {\n enabled: Boolean(variantDefinition.printable),\n },\n share: {\n reportName: reportName || 'Product',\n name: variantDefinition.name,\n url: reportRenderData.fullUrl,\n },\n copy: {\n url: reportRenderData.fullUrl,\n },\n })\n\n const renderData = {\n renderData: {\n ...reportRenderData,\n reportName,\n name: title || variantName,\n description,\n count,\n classification,\n printable,\n actions,\n template,\n warnings,\n type: ReportType.REPORT,\n ...otherOptions,\n },\n layoutTemplate,\n }\n\n response.render(`dpr/components/report-list/list`, renderData)\n } else {\n throw new Error('No specification in definition')\n }\n })\n .catch((err) => next(err))\n}\n\nexport const renderListWithDefinition = async ({\n title,\n definitionName,\n variantName,\n request,\n response,\n next,\n otherOptions,\n layoutTemplate,\n token,\n apiUrl,\n apiTimeout,\n definitionsPath,\n}: RenderListWithDefinitionInput) => {\n const reportingClient = new ReportingClient({\n url: apiUrl,\n agent: {\n timeout: apiTimeout,\n },\n })\n\n const { dataProductDefinitionsPath } = request.query\n const reportDef = <string>dataProductDefinitionsPath || definitionsPath\n\n try {\n const reportDefinition = await reportingClient.getDefinition(token, definitionName, variantName, reportDef)\n const reportName: string = reportDefinition.name\n const variantDefinition = reportDefinition.variant\n const { specification, resourceName } = variantDefinition\n if (specification) {\n const { fields, template } = specification\n const reportQuery = new ReportQuery({\n fields,\n template: template as Template,\n queryParams: request.query,\n definitionsPath: reportDef,\n })\n\n if (!FiltersUtils.redirectWithDefaultFilters(reportQuery, variantDefinition, response, request)) {\n const getListData: ListDataSources = {\n data: reportingClient.getListWithWarnings(resourceName, token, reportQuery),\n count: reportingClient.getCount(resourceName, token, reportQuery),\n }\n\n await renderList(\n getListData,\n variantDefinition,\n reportQuery,\n request,\n response,\n next,\n `${variantDefinition.name}`,\n layoutTemplate,\n otherOptions,\n title || `${reportName}`,\n )\n }\n } else {\n throw new Error('No specification in definition')\n }\n } catch (error) {\n next(error)\n }\n}\n\nexport const renderListWithData = async ({\n title,\n reportName,\n variantDefinition,\n request,\n response,\n next,\n getListDataSources,\n otherOptions,\n layoutTemplate,\n}: RenderListWithDataInput) => {\n const { specification } = variantDefinition\n const { fields, template } = <components['schemas']['Specification']>specification\n const reportQuery = new ReportQuery({\n fields,\n template: template as Template,\n queryParams: request.query,\n definitionsPath: <string>request.query.dataProductDefinitionsPath,\n })\n\n const listData = getListDataSources(reportQuery)\n await renderList(\n listData,\n variantDefinition,\n reportQuery,\n request,\n response,\n next,\n title,\n layoutTemplate,\n otherOptions,\n reportName,\n )\n}\n\nexport const createReportListRequestHandler = ({\n title,\n definitionName,\n variantName,\n apiUrl,\n apiTimeout,\n otherOptions,\n layoutTemplate,\n tokenProvider,\n definitionsPath,\n}: CreateRequestHandlerInput): RequestHandler => {\n return (request: Request, response: Response, next: NextFunction) => {\n renderListWithDefinition({\n title,\n definitionName,\n variantName,\n request,\n response,\n next,\n otherOptions,\n layoutTemplate,\n token: tokenProvider(request, response, next),\n apiUrl,\n apiTimeout,\n definitionsPath,\n })\n }\n}\n\nexport default {\n renderListWithData,\n createReportListRequestHandler,\n renderListWithDefinition,\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { NextFunction, Request, RequestHandler, Response } from 'express'\n\nimport ReportQuery from '../../types/ReportQuery'\n\nimport {\n ListDataSources,\n RenderListWithDataInput,\n RenderListWithDefinitionInput,\n CreateRequestHandlerInput,\n} from './types'\nimport ReportingClient from '../../data/reportingClient'\nimport { ListWithWarnings, Warnings } from '../../data/types'\nimport { components } from '../../types/api'\nimport Dict = NodeJS.Dict\nimport ReportActionsUtils from '../_reports/report-actions/utils'\nimport { Template } from '../../types/Templates'\nimport { SyncReportUtils } from '../../utils'\nimport FiltersUtils from '../_filters/utils'\nimport { ReportType } from '../../types/UserReports'\nimport { FiltersType } from '../_filters/filtersTypeEnum'\n\nfunction isListWithWarnings(data: Dict<string>[] | ListWithWarnings): data is ListWithWarnings {\n return (data as ListWithWarnings).data !== undefined\n}\n\nexport async function renderList(\n listData: ListDataSources,\n variantDefinition: components['schemas']['VariantDefinition'],\n reportQuery: ReportQuery,\n req: Request,\n response: Response,\n next: NextFunction,\n title: string,\n layoutTemplate: string,\n otherOptions?: NodeJS.Dict<object>,\n reportName?: string,\n) {\n await Promise.all([listData.data, listData.count])\n .then(async (resolvedData) => {\n let data\n let warnings: Warnings = {}\n const { specification, classification, printable, description, name: variantName } = variantDefinition\n if (specification) {\n const { template } = specification\n const count = resolvedData[1]\n\n if (isListWithWarnings(resolvedData[0])) {\n // eslint-disable-next-line prefer-destructuring\n data = resolvedData[0].data\n warnings = resolvedData[0].warnings\n } else {\n // eslint-disable-next-line prefer-destructuring\n data = resolvedData[0]\n }\n\n const reportRenderData = await SyncReportUtils.getReportRenderData({\n req,\n count,\n specification,\n reportQuery,\n data,\n filtersType: FiltersType.REQUEST,\n })\n\n const actions = ReportActionsUtils.getActions({\n print: {\n enabled: Boolean(variantDefinition.printable),\n },\n share: {\n reportName: reportName || 'Product',\n name: variantDefinition.name,\n url: reportRenderData.fullUrl,\n },\n copy: {\n url: reportRenderData.fullUrl,\n },\n })\n\n const renderData = {\n renderData: {\n ...reportRenderData,\n reportName,\n name: title || variantName,\n description,\n count,\n classification,\n printable,\n actions,\n template,\n warnings,\n type: ReportType.REPORT,\n ...otherOptions,\n },\n layoutTemplate,\n }\n\n response.render(`dpr/components/report-list/list`, renderData)\n } else {\n throw new Error('No specification in definition')\n }\n })\n .catch((err) => next(err))\n}\n\nexport const renderListWithDefinition = async ({\n title,\n definitionName,\n variantName,\n request,\n response,\n next,\n otherOptions,\n layoutTemplate,\n token,\n apiUrl,\n apiTimeout,\n definitionsPath,\n}: RenderListWithDefinitionInput) => {\n const reportingClient = new ReportingClient({\n url: apiUrl,\n agent: {\n timeout: apiTimeout,\n },\n })\n\n const { dataProductDefinitionsPath } = request.query\n const reportDef = <string>dataProductDefinitionsPath || definitionsPath\n\n try {\n const reportDefinition = await reportingClient.getDefinition(token, definitionName, variantName, reportDef)\n const reportName: string = reportDefinition.name\n const variantDefinition = reportDefinition.variant\n const { specification, resourceName } = variantDefinition\n if (specification) {\n const { fields, template } = specification\n const reportQuery = new ReportQuery({\n fields,\n template: template as Template,\n queryParams: request.query,\n ...(reportDef && { definitionsPath: reportDef }),\n })\n\n if (!FiltersUtils.redirectWithDefaultFilters(reportQuery, variantDefinition, response, request)) {\n const getListData: ListDataSources = {\n data: reportingClient.getListWithWarnings(resourceName, token, reportQuery),\n count: reportingClient.getCount(resourceName, token, reportQuery),\n }\n\n await renderList(\n getListData,\n variantDefinition,\n reportQuery,\n request,\n response,\n next,\n `${variantDefinition.name}`,\n layoutTemplate,\n otherOptions,\n title || `${reportName}`,\n )\n }\n } else {\n throw new Error('No specification in definition')\n }\n } catch (error) {\n next(error)\n }\n}\n\nexport const renderListWithData = async ({\n title,\n reportName,\n variantDefinition,\n request,\n response,\n next,\n getListDataSources,\n otherOptions,\n layoutTemplate,\n}: RenderListWithDataInput) => {\n const { specification } = variantDefinition\n const { fields, template } = <components['schemas']['Specification']>specification\n const reportQuery = new ReportQuery({\n fields,\n template: template as Template,\n queryParams: request.query,\n definitionsPath: <string>request.query['dataProductDefinitionsPath'],\n })\n\n const listData = getListDataSources(reportQuery)\n await renderList(\n listData,\n variantDefinition,\n reportQuery,\n request,\n response,\n next,\n title,\n layoutTemplate,\n otherOptions,\n reportName,\n )\n}\n\nexport const createReportListRequestHandler = ({\n title,\n definitionName,\n variantName,\n apiUrl,\n apiTimeout,\n otherOptions,\n layoutTemplate,\n tokenProvider,\n definitionsPath,\n}: CreateRequestHandlerInput): RequestHandler => {\n return (request: Request, response: Response, next: NextFunction) => {\n renderListWithDefinition({\n title: title || '',\n definitionName,\n variantName,\n request,\n response,\n next,\n layoutTemplate,\n token: tokenProvider(request, response, next),\n apiUrl,\n apiTimeout,\n ...(otherOptions && { otherOptions }),\n ...(definitionsPath && { definitionsPath }),\n })\n }\n}\n\nexport default {\n renderListWithData,\n createReportListRequestHandler,\n renderListWithDefinition,\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["utils_exports", "__export", "createReportListRequestHandler", "utils_default", "renderList", "renderListWithData", "renderListWithDefinition", "__toCommonJS", "import_ReportQuery", "import_reportingClient", "import_utils", "import_UserReports", "import_filtersTypeEnum", "isListWithWarnings", "data", "listData", "variantDefinition", "reportQuery", "req", "response", "next", "title", "layoutTemplate", "otherOptions", "reportName", "resolvedData", "warnings", "specification", "classification", "printable", "description", "variantName", "template", "count", "reportRenderData", "actions", "ReportActionsUtils", "renderData", "err", "definitionName", "request", "token", "apiUrl", "apiTimeout", "definitionsPath", "reportingClient", "ReportingClient", "dataProductDefinitionsPath", "reportDef", "reportDefinition", "resourceName", "fields", "ReportQuery", "FiltersUtils", "getListData", "error", "getListDataSources", "tokenProvider"]
7
7
  }