@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.27.0 → 4.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (468) hide show
  1. package/dpr/assets/app.js.map +2 -2
  2. package/dpr/components/_async/async-filters-form/sortByTemplate.js +60 -1
  3. package/dpr/components/_async/async-filters-form/sortByTemplate.js.map +2 -2
  4. package/dpr/components/_async/async-filters-form/types.d.js +16 -1
  5. package/dpr/components/_async/async-filters-form/types.d.js.map +2 -2
  6. package/dpr/components/_async/async-filters-form/utils.js +180 -1
  7. package/dpr/components/_async/async-filters-form/utils.js.map +2 -2
  8. package/dpr/components/_catalogue/catalogue/types.js +16 -1
  9. package/dpr/components/_catalogue/catalogue/types.js.map +2 -2
  10. package/dpr/components/_catalogue/catalogue/utils.js +83 -1
  11. package/dpr/components/_catalogue/catalogue/utils.js.map +2 -2
  12. package/dpr/components/_catalogue/catalogue-list/utils.js +140 -1
  13. package/dpr/components/_catalogue/catalogue-list/utils.js.map +2 -2
  14. package/dpr/components/_charts/chart/Chart.js +99 -1
  15. package/dpr/components/_charts/chart/Chart.js.map +2 -2
  16. package/dpr/components/_charts/chart/ChartColours.js +61 -1
  17. package/dpr/components/_charts/chart/ChartColours.js.map +2 -2
  18. package/dpr/components/_charts/chart/ChartTimeseries.js +101 -1
  19. package/dpr/components/_charts/chart/ChartTimeseries.js.map +2 -2
  20. package/dpr/components/_charts/chart/bar/BarChart.js +193 -1
  21. package/dpr/components/_charts/chart/bar/BarChart.js.map +2 -2
  22. package/dpr/components/_charts/chart/bar/types.js +16 -1
  23. package/dpr/components/_charts/chart/bar/types.js.map +2 -2
  24. package/dpr/components/_charts/chart/bar/validate.js +73 -1
  25. package/dpr/components/_charts/chart/bar/validate.js.map +2 -2
  26. package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js +80 -1
  27. package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js.map +2 -2
  28. package/dpr/components/_charts/chart/bar-timeseries/types.js +16 -1
  29. package/dpr/components/_charts/chart/bar-timeseries/types.js.map +2 -2
  30. package/dpr/components/_charts/chart/bar-timeseries/validate.js +48 -1
  31. package/dpr/components/_charts/chart/bar-timeseries/validate.js.map +2 -2
  32. package/dpr/components/_charts/chart/buckets/Buckets.js +194 -1
  33. package/dpr/components/_charts/chart/buckets/Buckets.js.map +2 -2
  34. package/dpr/components/_charts/chart/buckets/types.js +16 -1
  35. package/dpr/components/_charts/chart/buckets/types.js.map +2 -2
  36. package/dpr/components/_charts/chart/buckets/validate.js +40 -1
  37. package/dpr/components/_charts/chart/buckets/validate.js.map +2 -2
  38. package/dpr/components/_charts/chart/chart-config.js +62 -1
  39. package/dpr/components/_charts/chart/chart-config.js.map +2 -2
  40. package/dpr/components/_charts/chart/doughnut/DoughnutChart.js +96 -1
  41. package/dpr/components/_charts/chart/doughnut/DoughnutChart.js.map +2 -2
  42. package/dpr/components/_charts/chart/doughnut/types.js +16 -1
  43. package/dpr/components/_charts/chart/doughnut/types.js.map +2 -2
  44. package/dpr/components/_charts/chart/doughnut/validate.js +48 -1
  45. package/dpr/components/_charts/chart/doughnut/validate.js.map +2 -2
  46. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +213 -1
  47. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +2 -2
  48. package/dpr/components/_charts/chart/heatmap/types.js +16 -1
  49. package/dpr/components/_charts/chart/heatmap/types.js.map +2 -2
  50. package/dpr/components/_charts/chart/heatmap/validate.js +40 -1
  51. package/dpr/components/_charts/chart/heatmap/validate.js.map +2 -2
  52. package/dpr/components/_charts/chart/line/LineChart.js +107 -1
  53. package/dpr/components/_charts/chart/line/LineChart.js.map +2 -2
  54. package/dpr/components/_charts/chart/line/types.js +16 -1
  55. package/dpr/components/_charts/chart/line/types.js.map +2 -2
  56. package/dpr/components/_charts/chart/line/validate.js +48 -1
  57. package/dpr/components/_charts/chart/line/validate.js.map +2 -2
  58. package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js +81 -1
  59. package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js.map +2 -2
  60. package/dpr/components/_charts/chart/line-timeseries/types.js +16 -1
  61. package/dpr/components/_charts/chart/line-timeseries/types.js.map +2 -2
  62. package/dpr/components/_charts/chart/line-timeseries/validate.js +48 -1
  63. package/dpr/components/_charts/chart/line-timeseries/validate.js.map +2 -2
  64. package/dpr/components/_charts/utils.js +240 -1
  65. package/dpr/components/_charts/utils.js.map +2 -2
  66. package/dpr/components/_dashboards/dashboard-list/types.js +16 -1
  67. package/dpr/components/_dashboards/dashboard-list/types.js.map +2 -2
  68. package/dpr/components/_dashboards/dashboard-list/utils.js +170 -1
  69. package/dpr/components/_dashboards/dashboard-list/utils.js.map +2 -2
  70. package/dpr/components/_dashboards/dashboard-list/validate.js +43 -1
  71. package/dpr/components/_dashboards/dashboard-list/validate.js.map +2 -2
  72. package/dpr/components/_dashboards/dashboard-visualisation/Validate.js +95 -1
  73. package/dpr/components/_dashboards/dashboard-visualisation/Validate.js.map +2 -2
  74. package/dpr/components/_dashboards/dashboard-visualisation/types.js +40 -1
  75. package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +2 -2
  76. package/dpr/components/_dashboards/scorecard/Scorecard.js +176 -1
  77. package/dpr/components/_dashboards/scorecard/Scorecard.js.map +2 -2
  78. package/dpr/components/_dashboards/scorecard/types.js +16 -1
  79. package/dpr/components/_dashboards/scorecard/types.js.map +2 -2
  80. package/dpr/components/_dashboards/scorecard/utils.js +61 -1
  81. package/dpr/components/_dashboards/scorecard/utils.js.map +2 -2
  82. package/dpr/components/_dashboards/scorecard/validate.js +50 -1
  83. package/dpr/components/_dashboards/scorecard/validate.js.map +2 -2
  84. package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js +212 -1
  85. package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js.map +2 -2
  86. package/dpr/components/_dashboards/scorecard-group/types.js +16 -1
  87. package/dpr/components/_dashboards/scorecard-group/types.js.map +2 -2
  88. package/dpr/components/_dashboards/scorecard-group/validate.js +50 -1
  89. package/dpr/components/_dashboards/scorecard-group/validate.js.map +2 -2
  90. package/dpr/components/_filters/filter-input/enum.js +38 -1
  91. package/dpr/components/_filters/filter-input/enum.js.map +2 -2
  92. package/dpr/components/_filters/filter-input/filters.js +37 -1
  93. package/dpr/components/_filters/filter-input/filters.js.map +2 -2
  94. package/dpr/components/_filters/filter-input/types.d.js +16 -1
  95. package/dpr/components/_filters/filter-input/types.d.js.map +2 -2
  96. package/dpr/components/_filters/filters-selected/utils.js +314 -1
  97. package/dpr/components/_filters/filters-selected/utils.js.map +2 -2
  98. package/dpr/components/_filters/filtersTypeEnum.js +32 -1
  99. package/dpr/components/_filters/filtersTypeEnum.js.map +2 -2
  100. package/dpr/components/_filters/types.d.js +16 -1
  101. package/dpr/components/_filters/types.d.js.map +2 -2
  102. package/dpr/components/_filters/utils.js +385 -1
  103. package/dpr/components/_filters/utils.js.map +2 -2
  104. package/dpr/components/_inputs/autocomplete-text-input/utils.js +45 -1
  105. package/dpr/components/_inputs/autocomplete-text-input/utils.js.map +2 -2
  106. package/dpr/components/_inputs/date-input/utils.js +88 -1
  107. package/dpr/components/_inputs/date-input/utils.js.map +2 -2
  108. package/dpr/components/_inputs/date-range/types.js +38 -1
  109. package/dpr/components/_inputs/date-range/types.js.map +2 -2
  110. package/dpr/components/_inputs/date-range/utils.js +229 -1
  111. package/dpr/components/_inputs/date-range/utils.js.map +2 -2
  112. package/dpr/components/_inputs/granular-date-range/types.js +70 -1
  113. package/dpr/components/_inputs/granular-date-range/types.js.map +2 -2
  114. package/dpr/components/_inputs/granular-date-range/utils.js +445 -1
  115. package/dpr/components/_inputs/granular-date-range/utils.js.map +2 -2
  116. package/dpr/components/_inputs/multi-select/utils.js +88 -1
  117. package/dpr/components/_inputs/multi-select/utils.js.map +2 -2
  118. package/dpr/components/_inputs/start-end-date/utils.js +84 -1
  119. package/dpr/components/_inputs/start-end-date/utils.js.map +2 -2
  120. package/dpr/components/_reports/report-actions/actionsTemplate.js +59 -1
  121. package/dpr/components/_reports/report-actions/actionsTemplate.js.map +2 -2
  122. package/dpr/components/_reports/report-actions/types.d.js +16 -1
  123. package/dpr/components/_reports/report-actions/types.d.js.map +2 -2
  124. package/dpr/components/_reports/report-actions/utils.js +97 -1
  125. package/dpr/components/_reports/report-actions/utils.js.map +2 -2
  126. package/dpr/components/_reports/report-columns-form/types.d.js +16 -1
  127. package/dpr/components/_reports/report-columns-form/types.d.js.map +2 -2
  128. package/dpr/components/_reports/report-columns-form/utils.js +65 -1
  129. package/dpr/components/_reports/report-columns-form/utils.js.map +2 -2
  130. package/dpr/components/_reports/report-data-table/types.d.js +16 -1
  131. package/dpr/components/_reports/report-data-table/types.d.js.map +2 -2
  132. package/dpr/components/_reports/report-data-table/utils.js +122 -1
  133. package/dpr/components/_reports/report-data-table/utils.js.map +2 -2
  134. package/dpr/components/_reports/report-pagination/types.d.js +16 -1
  135. package/dpr/components/_reports/report-pagination/types.d.js.map +2 -2
  136. package/dpr/components/_reports/report-pagination/utils.js +105 -1
  137. package/dpr/components/_reports/report-pagination/utils.js.map +2 -2
  138. package/dpr/components/_reports/report-totals/utils.js +42 -1
  139. package/dpr/components/_reports/report-totals/utils.js.map +2 -2
  140. package/dpr/components/card-group/utils.js +57 -1
  141. package/dpr/components/card-group/utils.js.map +2 -2
  142. package/dpr/components/report-list/defaultTokenProvider.js +36 -1
  143. package/dpr/components/report-list/defaultTokenProvider.js.map +2 -2
  144. package/dpr/components/report-list/types.d.js +16 -1
  145. package/dpr/components/report-list/types.d.js.map +2 -2
  146. package/dpr/components/report-list/utils.js +238 -1
  147. package/dpr/components/report-list/utils.js.map +2 -2
  148. package/dpr/components/show-more/utils.js +38 -3
  149. package/dpr/components/show-more/utils.js.map +2 -2
  150. package/dpr/components/user-reports/bookmarks/utils.js +198 -1
  151. package/dpr/components/user-reports/bookmarks/utils.js.map +2 -2
  152. package/dpr/components/user-reports/requested/utils.js +65 -1
  153. package/dpr/components/user-reports/requested/utils.js.map +2 -2
  154. package/dpr/components/user-reports/types.d.js +16 -1
  155. package/dpr/components/user-reports/types.d.js.map +2 -2
  156. package/dpr/components/user-reports/utils.js +365 -1
  157. package/dpr/components/user-reports/utils.js.map +2 -2
  158. package/dpr/components/user-reports/viewed/utils.js +37 -1
  159. package/dpr/components/user-reports/viewed/utils.js.map +2 -2
  160. package/dpr/data/agentConfig.js +35 -1
  161. package/dpr/data/agentConfig.js.map +2 -2
  162. package/dpr/data/dashboardClient.js +108 -1
  163. package/dpr/data/dashboardClient.js.map +2 -2
  164. package/dpr/data/dprReportingClient.js +55 -1
  165. package/dpr/data/dprReportingClient.js.map +2 -2
  166. package/dpr/data/missingReportClient.js +55 -1
  167. package/dpr/data/missingReportClient.js.map +2 -2
  168. package/dpr/data/productCollectionClient.js +58 -1
  169. package/dpr/data/productCollectionClient.js.map +2 -2
  170. package/dpr/data/reportDataStore.js +77 -1
  171. package/dpr/data/reportDataStore.js.map +2 -2
  172. package/dpr/data/reportingClient.js +173 -1
  173. package/dpr/data/reportingClient.js.map +2 -2
  174. package/dpr/data/restClient.js +143 -1
  175. package/dpr/data/restClient.js.map +2 -2
  176. package/dpr/data/types.d.js +16 -1
  177. package/dpr/data/types.d.js.map +2 -2
  178. package/dpr/middleware/reportAuthoriser.js +63 -1
  179. package/dpr/middleware/reportAuthoriser.js.map +2 -2
  180. package/dpr/middleware/setUpDprResources.js +173 -1
  181. package/dpr/middleware/setUpDprResources.js.map +2 -2
  182. package/dpr/middleware/setUpNestedRoute.js +35 -1
  183. package/dpr/middleware/setUpNestedRoute.js.map +2 -2
  184. package/dpr/routes/index.js +50 -1
  185. package/dpr/routes/index.js.map +2 -2
  186. package/dpr/routes/journeys/api-failures.cy.js +295 -1
  187. package/dpr/routes/journeys/api-failures.cy.js.map +2 -2
  188. package/dpr/routes/journeys/download-report/controller.js +65 -1
  189. package/dpr/routes/journeys/download-report/controller.js.map +2 -2
  190. package/dpr/routes/journeys/download-report/request-download/form/controller.js +98 -1
  191. package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +2 -2
  192. package/dpr/routes/journeys/download-report/request-download/form/routes.js +50 -1
  193. package/dpr/routes/journeys/download-report/request-download/form/routes.js.map +2 -2
  194. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js +68 -1
  195. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +2 -2
  196. package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js +47 -1
  197. package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js.map +2 -2
  198. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js +17 -1
  199. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +1 -1
  200. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js +24 -1
  201. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +2 -2
  202. package/dpr/routes/journeys/download-report/request-download/routes.js +46 -1
  203. package/dpr/routes/journeys/download-report/request-download/routes.js.map +2 -2
  204. package/dpr/routes/journeys/download-report/request-download/service.js +90 -1
  205. package/dpr/routes/journeys/download-report/request-download/service.js.map +2 -2
  206. package/dpr/routes/journeys/download-report/routes.js +63 -1
  207. package/dpr/routes/journeys/download-report/routes.js.map +2 -2
  208. package/dpr/routes/journeys/download-report/tests.cy.js +104 -1
  209. package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
  210. package/dpr/routes/journeys/download-report/utils.js +196 -1
  211. package/dpr/routes/journeys/download-report/utils.js.map +2 -2
  212. package/dpr/routes/journeys/my-reports/bookmarks/controller.js +58 -1
  213. package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +2 -2
  214. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js +56 -1
  215. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +2 -2
  216. package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js +47 -1
  217. package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js.map +2 -2
  218. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js +32 -1
  219. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +2 -2
  220. package/dpr/routes/journeys/my-reports/bookmarks/routes.js +49 -1
  221. package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +2 -2
  222. package/dpr/routes/journeys/my-reports/bookmarks/service.js +123 -4
  223. package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +2 -2
  224. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +448 -1
  225. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +2 -2
  226. package/dpr/routes/journeys/my-reports/bookmarks/utils.js +44 -1
  227. package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +2 -2
  228. package/dpr/routes/journeys/my-reports/recently-viewed/controller.js +53 -1
  229. package/dpr/routes/journeys/my-reports/recently-viewed/controller.js.map +2 -2
  230. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js +65 -1
  231. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +2 -2
  232. package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js +47 -1
  233. package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js.map +2 -2
  234. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js +83 -1
  235. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +2 -2
  236. package/dpr/routes/journeys/my-reports/recently-viewed/routes.js +49 -1
  237. package/dpr/routes/journeys/my-reports/recently-viewed/routes.js.map +2 -2
  238. package/dpr/routes/journeys/my-reports/recently-viewed/service.js +118 -1
  239. package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +2 -2
  240. package/dpr/routes/journeys/my-reports/requested-reports/controller.js +52 -1
  241. package/dpr/routes/journeys/my-reports/requested-reports/controller.js.map +2 -2
  242. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js +65 -1
  243. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +2 -2
  244. package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js +47 -1
  245. package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js.map +2 -2
  246. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js +15 -1
  247. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +2 -2
  248. package/dpr/routes/journeys/my-reports/requested-reports/routes.js +49 -1
  249. package/dpr/routes/journeys/my-reports/requested-reports/routes.js.map +2 -2
  250. package/dpr/routes/journeys/my-reports/requested-reports/service.js +200 -1
  251. package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +2 -2
  252. package/dpr/routes/journeys/my-reports/routes.js +59 -1
  253. package/dpr/routes/journeys/my-reports/routes.js.map +2 -2
  254. package/dpr/routes/journeys/product-collection/routes.js +45 -1
  255. package/dpr/routes/journeys/product-collection/routes.js.map +2 -2
  256. package/dpr/routes/journeys/product-collection/selected/controller.js +55 -1
  257. package/dpr/routes/journeys/product-collection/selected/controller.js.map +2 -2
  258. package/dpr/routes/journeys/product-collection/selected/routes.js +37 -1
  259. package/dpr/routes/journeys/product-collection/selected/routes.js.map +2 -2
  260. package/dpr/routes/journeys/product-collection/selected/tests.cy.js +47 -1
  261. package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +2 -2
  262. package/dpr/routes/journeys/product-collection/selected/validation.js +41 -1
  263. package/dpr/routes/journeys/product-collection/selected/validation.js.map +2 -2
  264. package/dpr/routes/journeys/request-missing-report/form/controller.js +104 -1
  265. package/dpr/routes/journeys/request-missing-report/form/controller.js.map +2 -2
  266. package/dpr/routes/journeys/request-missing-report/form/routes.js +50 -1
  267. package/dpr/routes/journeys/request-missing-report/form/routes.js.map +2 -2
  268. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js +22 -1
  269. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +2 -2
  270. package/dpr/routes/journeys/request-missing-report/form/validation.js +43 -1
  271. package/dpr/routes/journeys/request-missing-report/form/validation.js.map +2 -2
  272. package/dpr/routes/journeys/request-missing-report/routes.js +57 -1
  273. package/dpr/routes/journeys/request-missing-report/routes.js.map +2 -2
  274. package/dpr/routes/journeys/request-missing-report/submitted/controller.js +65 -1
  275. package/dpr/routes/journeys/request-missing-report/submitted/controller.js.map +2 -2
  276. package/dpr/routes/journeys/request-missing-report/submitted/routes.js +47 -1
  277. package/dpr/routes/journeys/request-missing-report/submitted/routes.js.map +2 -2
  278. package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js +14 -1
  279. package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js.map +2 -2
  280. package/dpr/routes/journeys/request-missing-report/tests.cy.js +37 -1
  281. package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
  282. package/dpr/routes/journeys/request-report/controller.js +79 -1
  283. package/dpr/routes/journeys/request-report/controller.js.map +2 -2
  284. package/dpr/routes/journeys/request-report/filters/controller.js +127 -1
  285. package/dpr/routes/journeys/request-report/filters/controller.js.map +2 -2
  286. package/dpr/routes/journeys/request-report/filters/routes.js +50 -1
  287. package/dpr/routes/journeys/request-report/filters/routes.js.map +2 -2
  288. package/dpr/routes/journeys/request-report/filters/tests.cy.js +451 -1
  289. package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +2 -2
  290. package/dpr/routes/journeys/request-report/filters/utils.js +331 -1
  291. package/dpr/routes/journeys/request-report/filters/utils.js.map +2 -2
  292. package/dpr/routes/journeys/request-report/routes.js +100 -1
  293. package/dpr/routes/journeys/request-report/routes.js.map +2 -2
  294. package/dpr/routes/journeys/request-report/status/controller.js +80 -1
  295. package/dpr/routes/journeys/request-report/status/controller.js.map +2 -2
  296. package/dpr/routes/journeys/request-report/status/routes.js +48 -1
  297. package/dpr/routes/journeys/request-report/status/routes.js.map +2 -2
  298. package/dpr/routes/journeys/request-report/status/tests.cy.js +127 -1
  299. package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
  300. package/dpr/routes/journeys/request-report/status/utils.js +72 -1
  301. package/dpr/routes/journeys/request-report/status/utils.js.map +2 -2
  302. package/dpr/routes/journeys/request-report/tests.cy.js +307 -1
  303. package/dpr/routes/journeys/request-report/tests.cy.js.map +2 -2
  304. package/dpr/routes/journeys/routes.js +46 -1
  305. package/dpr/routes/journeys/routes.js.map +2 -2
  306. package/dpr/routes/journeys/view-report/async/controller.js +89 -1
  307. package/dpr/routes/journeys/view-report/async/controller.js.map +2 -2
  308. package/dpr/routes/journeys/view-report/async/dashboard/controller.js +82 -1
  309. package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +2 -2
  310. package/dpr/routes/journeys/view-report/async/dashboard/routes.js +48 -1
  311. package/dpr/routes/journeys/view-report/async/dashboard/routes.js.map +2 -2
  312. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js +33 -1
  313. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
  314. package/dpr/routes/journeys/view-report/async/dashboard/utils.js +242 -1
  315. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +2 -2
  316. package/dpr/routes/journeys/view-report/async/report/controller.js +83 -1
  317. package/dpr/routes/journeys/view-report/async/report/controller.js.map +2 -2
  318. package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js +76 -1
  319. package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js.map +2 -2
  320. package/dpr/routes/journeys/view-report/async/report/routes.js +53 -1
  321. package/dpr/routes/journeys/view-report/async/report/routes.js.map +2 -2
  322. package/dpr/routes/journeys/view-report/async/report/tests.cy.js +895 -1
  323. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
  324. package/dpr/routes/journeys/view-report/async/report/types.js +16 -1
  325. package/dpr/routes/journeys/view-report/async/report/types.js.map +2 -2
  326. package/dpr/routes/journeys/view-report/async/report/utils.js +427 -1
  327. package/dpr/routes/journeys/view-report/async/report/utils.js.map +2 -2
  328. package/dpr/routes/journeys/view-report/async/routes.js +52 -1
  329. package/dpr/routes/journeys/view-report/async/routes.js.map +2 -2
  330. package/dpr/routes/journeys/view-report/controller.js +62 -1
  331. package/dpr/routes/journeys/view-report/controller.js.map +2 -2
  332. package/dpr/routes/journeys/view-report/routes.js +87 -1
  333. package/dpr/routes/journeys/view-report/routes.js.map +2 -2
  334. package/dpr/routes/journeys/view-report/sync/dashboard/controller.js +68 -1
  335. package/dpr/routes/journeys/view-report/sync/dashboard/controller.js.map +2 -2
  336. package/dpr/routes/journeys/view-report/sync/dashboard/routes.js +48 -1
  337. package/dpr/routes/journeys/view-report/sync/dashboard/routes.js.map +2 -2
  338. package/dpr/routes/journeys/view-report/sync/dashboard/utils.js +144 -1
  339. package/dpr/routes/journeys/view-report/sync/dashboard/utils.js.map +2 -2
  340. package/dpr/routes/journeys/view-report/sync/load-report/controller.js +102 -1
  341. package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +2 -2
  342. package/dpr/routes/journeys/view-report/sync/load-report/routes.js +47 -1
  343. package/dpr/routes/journeys/view-report/sync/load-report/routes.js.map +2 -2
  344. package/dpr/routes/journeys/view-report/sync/report/controller.js +99 -1
  345. package/dpr/routes/journeys/view-report/sync/report/controller.js.map +2 -2
  346. package/dpr/routes/journeys/view-report/sync/report/routes.js +51 -1
  347. package/dpr/routes/journeys/view-report/sync/report/routes.js.map +2 -2
  348. package/dpr/routes/journeys/view-report/sync/report/utils.js +298 -1
  349. package/dpr/routes/journeys/view-report/sync/report/utils.js.map +2 -2
  350. package/dpr/routes/journeys/view-report/sync/routes.js +51 -1
  351. package/dpr/routes/journeys/view-report/sync/routes.js.map +2 -2
  352. package/dpr/routes/journeys/view-report/sync/tests.cy.js +43 -1
  353. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +2 -2
  354. package/dpr/routes/journeys/view-report/utils.js +173 -1
  355. package/dpr/routes/journeys/view-report/utils.js.map +2 -2
  356. package/dpr/services/dashboardService.js +66 -1
  357. package/dpr/services/dashboardService.js.map +2 -2
  358. package/dpr/services/defaultFilterValuesService.js +114 -1
  359. package/dpr/services/defaultFilterValuesService.js.map +2 -2
  360. package/dpr/services/featureFlagService.js +65 -1
  361. package/dpr/services/featureFlagService.js.map +2 -2
  362. package/dpr/services/featureFlags.cy.js +72 -1
  363. package/dpr/services/featureFlags.cy.js.map +2 -2
  364. package/dpr/services/index.js +59 -1
  365. package/dpr/services/index.js.map +2 -2
  366. package/dpr/services/missingReport/missingReportService.js +52 -1
  367. package/dpr/services/missingReport/missingReportService.js.map +2 -2
  368. package/dpr/services/productCollection/productCollectionService.js +55 -1
  369. package/dpr/services/productCollection/productCollectionService.js.map +2 -2
  370. package/dpr/services/productCollection/productCollectionStoreService.js +61 -1
  371. package/dpr/services/productCollection/productCollectionStoreService.js.map +2 -2
  372. package/dpr/services/reportStoreService.js +51 -1
  373. package/dpr/services/reportStoreService.js.map +2 -2
  374. package/dpr/services/reportingService.js +81 -1
  375. package/dpr/services/reportingService.js.map +2 -2
  376. package/dpr/setUpNunjucksFilters.js +66 -1
  377. package/dpr/setUpNunjucksFilters.js.map +2 -2
  378. package/dpr/types/AsyncReportUtils.js +16 -1
  379. package/dpr/types/AsyncReportUtils.js.map +2 -2
  380. package/dpr/types/Bookmark.js +16 -1
  381. package/dpr/types/Bookmark.js.map +2 -2
  382. package/dpr/types/Charts.js +16 -1
  383. package/dpr/types/Charts.js.map +2 -2
  384. package/dpr/types/Download.js +16 -1
  385. package/dpr/types/Download.js.map +2 -2
  386. package/dpr/types/DprConfig.js +16 -1
  387. package/dpr/types/DprConfig.js.map +2 -2
  388. package/dpr/types/DprUser.js +43 -1
  389. package/dpr/types/DprUser.js.map +2 -2
  390. package/dpr/types/EmbeddedReportUtils.js +33 -1
  391. package/dpr/types/EmbeddedReportUtils.js.map +2 -2
  392. package/dpr/types/ExecutionData.d.js +16 -1
  393. package/dpr/types/ExecutionData.d.js.map +2 -2
  394. package/dpr/types/Metrics.js +16 -1
  395. package/dpr/types/Metrics.js.map +2 -2
  396. package/dpr/types/ReportQuery.js +168 -1
  397. package/dpr/types/ReportQuery.js.map +2 -2
  398. package/dpr/types/ReportStore.js +16 -1
  399. package/dpr/types/ReportStore.js.map +2 -2
  400. package/dpr/types/Services.d.js +16 -1
  401. package/dpr/types/Services.d.js.map +2 -2
  402. package/dpr/types/Templates.d.js +16 -1
  403. package/dpr/types/Templates.d.js.map +2 -2
  404. package/dpr/types/UserReports.js +55 -1
  405. package/dpr/types/UserReports.js.map +2 -2
  406. package/dpr/types/api.d.js +16 -1
  407. package/dpr/types/api.d.js.map +2 -2
  408. package/dpr/types/index.d.js +16 -1
  409. package/dpr/types/index.d.js.map +2 -2
  410. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js +91 -1
  411. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +2 -2
  412. package/dpr/utils/CreateDprServices.js +66 -1
  413. package/dpr/utils/CreateDprServices.js.map +2 -2
  414. package/dpr/utils/DataTableBuilder/DataTableBuilder.js +304 -1
  415. package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +2 -2
  416. package/dpr/utils/DataTableBuilder/types.d.js +16 -1
  417. package/dpr/utils/DataTableBuilder/types.d.js.map +2 -2
  418. package/dpr/utils/DateMapper/DateMapper.js +125 -1
  419. package/dpr/utils/DateMapper/DateMapper.js.map +2 -2
  420. package/dpr/utils/DateMapper/types.d.js +16 -1
  421. package/dpr/utils/DateMapper/types.d.js.map +2 -2
  422. package/dpr/utils/ErrorHandler.js +94 -1
  423. package/dpr/utils/ErrorHandler.js.map +2 -2
  424. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js +201 -1
  425. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +2 -2
  426. package/dpr/utils/ParentChildDataTableBuilder/types.d.js +16 -1
  427. package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +2 -2
  428. package/dpr/utils/Personalisation/personalisationUtils.js +202 -1
  429. package/dpr/utils/Personalisation/personalisationUtils.js.map +2 -2
  430. package/dpr/utils/Personalisation/types.d.js +16 -1
  431. package/dpr/utils/Personalisation/types.d.js.map +2 -2
  432. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js +310 -1
  433. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +2 -2
  434. package/dpr/utils/SectionedDataTableBuilder/types.d.js +16 -1
  435. package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +2 -2
  436. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js +145 -1
  437. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +2 -2
  438. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js +60 -1
  439. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +2 -2
  440. package/dpr/utils/UserStoreItemBuilder.js +247 -1
  441. package/dpr/utils/UserStoreItemBuilder.js.map +2 -2
  442. package/dpr/utils/arrayUtils.js +28 -1
  443. package/dpr/utils/arrayUtils.js.map +2 -2
  444. package/dpr/utils/datasetHelper.js +229 -1
  445. package/dpr/utils/datasetHelper.js.map +2 -2
  446. package/dpr/utils/definitionUtils.js +133 -1
  447. package/dpr/utils/definitionUtils.js.map +2 -2
  448. package/dpr/utils/index.js +44 -1
  449. package/dpr/utils/index.js.map +2 -2
  450. package/dpr/utils/indexedAccesHelper.js +41 -1
  451. package/dpr/utils/indexedAccesHelper.js.map +2 -2
  452. package/dpr/utils/localsHelper.js +105 -1
  453. package/dpr/utils/localsHelper.js.map +2 -2
  454. package/dpr/utils/logger.js +48 -1
  455. package/dpr/utils/logger.js.map +2 -2
  456. package/dpr/utils/reportListsHelper.js +128 -12
  457. package/dpr/utils/reportListsHelper.js.map +2 -2
  458. package/dpr/utils/reportStoreHelper.js +65 -1
  459. package/dpr/utils/reportStoreHelper.js.map +2 -2
  460. package/dpr/utils/requestStatusHelper.js +172 -1
  461. package/dpr/utils/requestStatusHelper.js.map +2 -2
  462. package/dpr/utils/sanitisedError.js +45 -1
  463. package/dpr/utils/sanitisedError.js.map +2 -2
  464. package/dpr/utils/urlHelper.js +103 -1
  465. package/dpr/utils/urlHelper.js.map +2 -2
  466. package/dpr/validation/validate.js +52 -1
  467. package/dpr/validation/validate.js.map +2 -2
  468. package/package.json +1 -1
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.ts"],
4
4
  "sourcesContent": ["import Dict = NodeJS.Dict\nimport { AsyncSummary } from '../../types/UserReports'\nimport { SummaryTemplate } from '../../types/Templates'\nimport { components } from '../../types/api'\nimport { DataTable } from '../DataTableBuilder/types'\nimport SummaryDataTableBuilder from '../SummaryDataTableBuilder/SummaryDataTableBuilder'\n\nclass CollatedSummaryBuilder {\n private summaries: Array<AsyncSummary>\n\n private specification: components['schemas']['Specification']\n\n constructor(specification: components['schemas']['Specification'], summaries: Array<AsyncSummary>) {\n this.specification = specification\n this.summaries = summaries\n }\n\n pageSummaryTemplates: Array<SummaryTemplate> = ['page-header', 'page-footer']\n\n dataTableSummaryTemplates: Array<SummaryTemplate> = [\n 'section-footer',\n 'section-header',\n 'table-footer',\n 'table-header',\n ]\n\n collatePageSummaries(): Dict<Array<DataTable>> {\n return this.collateAndMapToDataTable(this.pageSummaryTemplates)\n }\n\n collateDataTableSummaries(): Dict<Array<AsyncSummary>> {\n return this.collate(this.dataTableSummaryTemplates)\n }\n\n collateAndMapToDataTable(summaryTemplates: Array<SummaryTemplate> = []): Dict<Array<DataTable>> {\n const collatedSummaries = this.collate(summaryTemplates)\n\n return this.mapToDataTables(collatedSummaries)\n }\n\n collate(summaryTemplates: Array<SummaryTemplate> = this.pageSummaryTemplates): Dict<Array<AsyncSummary>> {\n const collatedSummaries: Dict<Array<AsyncSummary>> = {}\n if (this.summaries) {\n this.summaries.forEach((summary: AsyncSummary) => {\n const { template } = summary\n if (summaryTemplates.includes(template)) {\n if (!collatedSummaries[template]) {\n collatedSummaries[template] = []\n }\n collatedSummaries[template].push(summary)\n }\n })\n }\n\n return collatedSummaries\n }\n\n private mapToDataTables(summaries: Dict<Array<AsyncSummary>>): Dict<Array<DataTable>> {\n const dataTables: Dict<Array<DataTable>> = {}\n\n Object.keys(summaries).forEach((summaryType) => {\n if (summaries[summaryType]) {\n dataTables[summaryType] = summaries[summaryType].map((summary) => {\n return new SummaryDataTableBuilder(summary, this.specification.sections).buildSummaryTable()\n })\n }\n })\n\n return dataTables\n }\n}\n\nexport { CollatedSummaryBuilder }\nexport default CollatedSummaryBuilder\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAKA,IAAAK,EAAoC,iEAEpC,MAAMH,CAAuB,CACnB,UAEA,cAER,YAAYI,EAAuDC,EAAgC,CACjG,KAAK,cAAgBD,EACrB,KAAK,UAAYC,CACnB,CAEA,qBAA+C,CAAC,cAAe,aAAa,EAE5E,0BAAoD,CAClD,iBACA,iBACA,eACA,cACF,EAEA,sBAA+C,CAC7C,OAAO,KAAK,yBAAyB,KAAK,oBAAoB,CAChE,CAEA,2BAAuD,CACrD,OAAO,KAAK,QAAQ,KAAK,yBAAyB,CACpD,CAEA,yBAAyBC,EAA2C,CAAC,EAA2B,CAC9F,MAAMC,EAAoB,KAAK,QAAQD,CAAgB,EAEvD,OAAO,KAAK,gBAAgBC,CAAiB,CAC/C,CAEA,QAAQD,EAA2C,KAAK,qBAAiD,CACvG,MAAMC,EAA+C,CAAC,EACtD,OAAI,KAAK,WACP,KAAK,UAAU,QAASC,GAA0B,CAChD,KAAM,CAAE,SAAAC,CAAS,EAAID,EACjBF,EAAiB,SAASG,CAAQ,IAC/BF,EAAkBE,CAAQ,IAC7BF,EAAkBE,CAAQ,EAAI,CAAC,GAEjCF,EAAkBE,CAAQ,EAAE,KAAKD,CAAO,EAE5C,CAAC,EAGID,CACT,CAEQ,gBAAgBF,EAA8D,CACpF,MAAMK,EAAqC,CAAC,EAE5C,cAAO,KAAKL,CAAS,EAAE,QAASM,GAAgB,CAC1CN,EAAUM,CAAW,IACvBD,EAAWC,CAAW,EAAIN,EAAUM,CAAW,EAAE,IAAKH,GAC7C,IAAI,EAAAI,QAAwBJ,EAAS,KAAK,cAAc,QAAQ,EAAE,kBAAkB,CAC5F,EAEL,CAAC,EAEME,CACT,CACF,CAGA,IAAOT,EAAQD",
6
- "names": ["CollatedSummaryBuilder_exports", "__export", "CollatedSummaryBuilder", "CollatedSummaryBuilder_default", "__toCommonJS", "import_SummaryDataTableBuilder", "specification", "summaries", "summaryTemplates", "collatedSummaries", "summary", "template", "dataTables", "summaryType", "SummaryDataTableBuilder"]
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,qCAAoC;AAEpC,MAAM,uBAAuB;AAAA,EACnB;AAAA,EAEA;AAAA,EAER,YAAY,eAAuD,WAAgC;AACjG,SAAK,gBAAgB;AACrB,SAAK,YAAY;AAAA,EACnB;AAAA,EAEA,uBAA+C,CAAC,eAAe,aAAa;AAAA,EAE5E,4BAAoD;AAAA,IAClD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,uBAA+C;AAC7C,WAAO,KAAK,yBAAyB,KAAK,oBAAoB;AAAA,EAChE;AAAA,EAEA,4BAAuD;AACrD,WAAO,KAAK,QAAQ,KAAK,yBAAyB;AAAA,EACpD;AAAA,EAEA,yBAAyB,mBAA2C,CAAC,GAA2B;AAC9F,UAAM,oBAAoB,KAAK,QAAQ,gBAAgB;AAEvD,WAAO,KAAK,gBAAgB,iBAAiB;AAAA,EAC/C;AAAA,EAEA,QAAQ,mBAA2C,KAAK,sBAAiD;AACvG,UAAM,oBAA+C,CAAC;AACtD,QAAI,KAAK,WAAW;AAClB,WAAK,UAAU,QAAQ,CAAC,YAA0B;AAChD,cAAM,EAAE,SAAS,IAAI;AACrB,YAAI,iBAAiB,SAAS,QAAQ,GAAG;AACvC,cAAI,CAAC,kBAAkB,QAAQ,GAAG;AAChC,8BAAkB,QAAQ,IAAI,CAAC;AAAA,UACjC;AACA,4BAAkB,QAAQ,EAAE,KAAK,OAAO;AAAA,QAC1C;AAAA,MACF,CAAC;AAAA,IACH;AAEA,WAAO;AAAA,EACT;AAAA,EAEQ,gBAAgB,WAA8D;AACpF,UAAM,aAAqC,CAAC;AAE5C,WAAO,KAAK,SAAS,EAAE,QAAQ,CAAC,gBAAgB;AAC9C,UAAI,UAAU,WAAW,GAAG;AAC1B,mBAAW,WAAW,IAAI,UAAU,WAAW,EAAE,IAAI,CAAC,YAAY;AAChE,iBAAO,IAAI,+BAAAA,QAAwB,SAAS,KAAK,cAAc,QAAQ,EAAE,kBAAkB;AAAA,QAC7F,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT;AACF;AAGA,IAAO,iCAAQ;",
6
+ "names": ["SummaryDataTableBuilder"]
7
7
  }
@@ -1,2 +1,67 @@
1
- "use strict";var m=Object.create;var l=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,R=Object.prototype.hasOwnProperty;var C=(r,e)=>{for(var t in e)l(r,t,{get:e[t],enumerable:!0})},n=(r,e,t,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of f(e))!R.call(r,o)&&o!==t&&l(r,o,{get:()=>e[o],enumerable:!(c=u(e,o))||c.enumerable});return r};var w=(r,e,t)=>(t=r!=null?m(g(r)):{},n(e||!r||!r.__esModule?l(t,"default",{value:r,enumerable:!0}):t,r)),D=r=>n(l({},"__esModule",{value:!0}),r);var b={};C(b,{createDprServices:()=>P});module.exports=D(b);var i=require("../services"),S=w(require("./logger")),s=require("../services/missingReport/missingReportService"),a=require("../services/productCollection/productCollectionStoreService"),v=require("../services/productCollection/productCollectionService");const P=(r,e={bookmarking:!1,download:!1,collections:!1,missingReports:!1,saveDefaults:!1})=>{S.default.info("Initialising DPR services...");const{reportingClient:t,dashboardClient:c,reportDataStore:o,missingReportClient:p,productCollectionClient:d}=r;return{reportingService:new i.ReportingService(t),dashboardService:new i.DashboardService(c),requestedReportService:new i.RequestedReportService(o),recentlyViewedService:new i.RecentlyViewedStoreService(o),bookmarkService:new i.BookmarkService(o,e),defaultFilterValuesService:new i.DefaultFilterValuesService(o,e),productCollectionStoreService:new a.ProductCollectionStoreService(o,e),downloadPermissionService:new i.DownloadPermissionService(o,e),missingReportService:new s.MissingReportService(p,e),productCollectionService:new v.ProductCollectionService(d,e),featureFlagService:r.featureFlagService}};0&&(module.exports={createDprServices});
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var CreateDprServices_exports = {};
30
+ __export(CreateDprServices_exports, {
31
+ createDprServices: () => createDprServices
32
+ });
33
+ module.exports = __toCommonJS(CreateDprServices_exports);
34
+ var import_services = require("../services");
35
+ var import_logger = __toESM(require("./logger"));
36
+ var import_missingReportService = require("../services/missingReport/missingReportService");
37
+ var import_productCollectionStoreService = require("../services/productCollection/productCollectionStoreService");
38
+ var import_productCollectionService = require("../services/productCollection/productCollectionService");
39
+ const createDprServices = (clients, serviceFeatureConfig = {
40
+ bookmarking: false,
41
+ download: false,
42
+ collections: false,
43
+ missingReports: false,
44
+ saveDefaults: false
45
+ }) => {
46
+ import_logger.default.info("Initialising DPR services...");
47
+ const { reportingClient, dashboardClient, reportDataStore, missingReportClient, productCollectionClient } = clients;
48
+ const services = {
49
+ reportingService: new import_services.ReportingService(reportingClient),
50
+ dashboardService: new import_services.DashboardService(dashboardClient),
51
+ requestedReportService: new import_services.RequestedReportService(reportDataStore),
52
+ recentlyViewedService: new import_services.RecentlyViewedStoreService(reportDataStore),
53
+ bookmarkService: new import_services.BookmarkService(reportDataStore, serviceFeatureConfig),
54
+ defaultFilterValuesService: new import_services.DefaultFilterValuesService(reportDataStore, serviceFeatureConfig),
55
+ productCollectionStoreService: new import_productCollectionStoreService.ProductCollectionStoreService(reportDataStore, serviceFeatureConfig),
56
+ downloadPermissionService: new import_services.DownloadPermissionService(reportDataStore, serviceFeatureConfig),
57
+ missingReportService: new import_missingReportService.MissingReportService(missingReportClient, serviceFeatureConfig),
58
+ productCollectionService: new import_productCollectionService.ProductCollectionService(productCollectionClient, serviceFeatureConfig),
59
+ featureFlagService: clients.featureFlagService
60
+ };
61
+ return services;
62
+ };
63
+ // Annotate the CommonJS export names for ESM import in node:
64
+ 0 && (module.exports = {
65
+ createDprServices
66
+ });
2
67
  //# sourceMappingURL=CreateDprServices.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/dpr/utils/CreateDprServices.ts"],
4
4
  "sourcesContent": ["/* eslint-disable no-param-reassign */\nimport {\n DownloadPermissionService,\n BookmarkService,\n RequestedReportService,\n RecentlyViewedStoreService,\n ReportingService,\n DashboardService,\n DefaultFilterValuesService,\n} from '../services'\nimport ReportDataStore from '../data/reportDataStore'\nimport ReportingClient from '../data/reportingClient'\nimport DashboardClient from '../data/dashboardClient'\nimport MissingReportClient from '../data/missingReportClient'\nimport ProductCollectionClient from '../data/productCollectionClient'\nimport logger from './logger'\nimport { Services } from '../types/Services'\nimport { MissingReportService } from '../services/missingReport/missingReportService'\nimport { ProductCollectionStoreService } from '../services/productCollection/productCollectionStoreService'\nimport { ProductCollectionService } from '../services/productCollection/productCollectionService'\nimport { ServiceFeatureConfig } from '../types/DprConfig'\nimport { FeatureFlagService } from '../services/featureFlagService'\n\nexport interface InitDPRServicesArgs {\n reportingClient: ReportingClient\n dashboardClient: DashboardClient\n reportDataStore: ReportDataStore\n missingReportClient: MissingReportClient\n productCollectionClient: ProductCollectionClient\n featureFlagService: FeatureFlagService\n}\n\ninterface dprServices {\n reportingService: ReportingService\n dashboardService: DashboardService\n productCollectionService: ProductCollectionService\n requestedReportService: RequestedReportService\n missingReportService: MissingReportService\n recentlyViewedService: RecentlyViewedStoreService\n bookmarkService: BookmarkService\n downloadPermissionService: DownloadPermissionService\n defaultFilterValuesService: DefaultFilterValuesService\n productCollectionStoreService: ProductCollectionStoreService\n featureFlagService: FeatureFlagService\n}\n\nexport const createDprServices = (\n clients: InitDPRServicesArgs,\n serviceFeatureConfig: ServiceFeatureConfig = {\n bookmarking: false,\n download: false,\n collections: false,\n missingReports: false,\n saveDefaults: false,\n },\n): Services => {\n logger.info('Initialising DPR services...')\n\n const { reportingClient, dashboardClient, reportDataStore, missingReportClient, productCollectionClient } = clients\n const services: dprServices = {\n reportingService: new ReportingService(reportingClient),\n dashboardService: new DashboardService(dashboardClient),\n\n requestedReportService: new RequestedReportService(reportDataStore),\n recentlyViewedService: new RecentlyViewedStoreService(reportDataStore),\n bookmarkService: new BookmarkService(reportDataStore, serviceFeatureConfig),\n\n defaultFilterValuesService: new DefaultFilterValuesService(reportDataStore, serviceFeatureConfig),\n productCollectionStoreService: new ProductCollectionStoreService(reportDataStore, serviceFeatureConfig),\n downloadPermissionService: new DownloadPermissionService(reportDataStore, serviceFeatureConfig),\n\n missingReportService: new MissingReportService(missingReportClient, serviceFeatureConfig),\n productCollectionService: new ProductCollectionService(productCollectionClient, serviceFeatureConfig),\n featureFlagService: clients.featureFlagService,\n }\n return services as Services\n}\n"],
5
- "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,uBAAAE,IAAA,eAAAC,EAAAH,GACA,IAAAI,EAQO,uBAMPC,EAAmB,uBAEnBC,EAAqC,0DACrCC,EAA8C,uEAC9CC,EAAyC,kEA2BlC,MAAMN,EAAoB,CAC/BO,EACAC,EAA6C,CAC3C,YAAa,GACb,SAAU,GACV,YAAa,GACb,eAAgB,GAChB,aAAc,EAChB,IACa,CACb,EAAAC,QAAO,KAAK,8BAA8B,EAE1C,KAAM,CAAE,gBAAAC,EAAiB,gBAAAC,EAAiB,gBAAAC,EAAiB,oBAAAC,EAAqB,wBAAAC,CAAwB,EAAIP,EAiB5G,MAhB8B,CAC5B,iBAAkB,IAAI,mBAAiBG,CAAe,EACtD,iBAAkB,IAAI,mBAAiBC,CAAe,EAEtD,uBAAwB,IAAI,yBAAuBC,CAAe,EAClE,sBAAuB,IAAI,6BAA2BA,CAAe,EACrE,gBAAiB,IAAI,kBAAgBA,EAAiBJ,CAAoB,EAE1E,2BAA4B,IAAI,6BAA2BI,EAAiBJ,CAAoB,EAChG,8BAA+B,IAAI,gCAA8BI,EAAiBJ,CAAoB,EACtG,0BAA2B,IAAI,4BAA0BI,EAAiBJ,CAAoB,EAE9F,qBAAsB,IAAI,uBAAqBK,EAAqBL,CAAoB,EACxF,yBAA0B,IAAI,2BAAyBM,EAAyBN,CAAoB,EACpG,mBAAoBD,EAAQ,kBAC9B,CAEF",
6
- "names": ["CreateDprServices_exports", "__export", "createDprServices", "__toCommonJS", "import_services", "import_logger", "import_missingReportService", "import_productCollectionStoreService", "import_productCollectionService", "clients", "serviceFeatureConfig", "logger", "reportingClient", "dashboardClient", "reportDataStore", "missingReportClient", "productCollectionClient"]
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAQO;AAMP,oBAAmB;AAEnB,kCAAqC;AACrC,2CAA8C;AAC9C,sCAAyC;AA2BlC,MAAM,oBAAoB,CAC/B,SACA,uBAA6C;AAAA,EAC3C,aAAa;AAAA,EACb,UAAU;AAAA,EACV,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,cAAc;AAChB,MACa;AACb,gBAAAA,QAAO,KAAK,8BAA8B;AAE1C,QAAM,EAAE,iBAAiB,iBAAiB,iBAAiB,qBAAqB,wBAAwB,IAAI;AAC5G,QAAM,WAAwB;AAAA,IAC5B,kBAAkB,IAAI,iCAAiB,eAAe;AAAA,IACtD,kBAAkB,IAAI,iCAAiB,eAAe;AAAA,IAEtD,wBAAwB,IAAI,uCAAuB,eAAe;AAAA,IAClE,uBAAuB,IAAI,2CAA2B,eAAe;AAAA,IACrE,iBAAiB,IAAI,gCAAgB,iBAAiB,oBAAoB;AAAA,IAE1E,4BAA4B,IAAI,2CAA2B,iBAAiB,oBAAoB;AAAA,IAChG,+BAA+B,IAAI,mEAA8B,iBAAiB,oBAAoB;AAAA,IACtG,2BAA2B,IAAI,0CAA0B,iBAAiB,oBAAoB;AAAA,IAE9F,sBAAsB,IAAI,iDAAqB,qBAAqB,oBAAoB;AAAA,IACxF,0BAA0B,IAAI,yDAAyB,yBAAyB,oBAAoB;AAAA,IACpG,oBAAoB,QAAQ;AAAA,EAC9B;AACA,SAAO;AACT;",
6
+ "names": ["logger"]
7
7
  }
@@ -1,2 +1,305 @@
1
- "use strict";var g=Object.create;var c=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,C=Object.prototype.hasOwnProperty;var w=(i,e)=>{for(var t in e)c(i,t,{get:e[t],enumerable:!0})},h=(i,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of b(e))!C.call(i,r)&&r!==t&&c(i,r,{get:()=>e[r],enumerable:!(s=D(e,r))||s.enumerable});return i};var y=(i,e,t)=>(t=i!=null?g(S(i)):{},h(e||!i||!i.__esModule?c(t,"default",{value:i,enumerable:!0}):t,i)),v=i=>h(c({},"__esModule",{value:!0}),i);var K={};w(K,{DataTableBuilder:()=>u,default:()=>F});module.exports=v(K);var p=y(require("../urlHelper")),f=y(require("../DateMapper/DateMapper"));class u{fields;sortData;columns=[];reportSummaries={};reportQuery=null;currentQueryParams=null;dateMapper=new f.default;constructor(e,t=!1){this.fields=e,this.sortData=t}mapDate(e){return e?this.dateMapper.toDateString(e,"local-datetime-short-year"):""}mapBoolean(e){return e?e.substring(0,1).toUpperCase()+e.substring(1).toLowerCase():""}mapRow(e,t="",s=[]){return this.fields.filter(r=>this.columns.includes(r.name)).map(r=>{const o=s.find(n=>n.name===r.name)??r;return this.mapCell(o,e,t)})}mapCell(e,t,s=""){const r=t[e.name],a=this.mapCellValue(e,r);let o="string",n=s;e.wordWrap&&(n+=` data-table-cell-wrap-${e.wordWrap.toLowerCase()}`),e.header&&(n+=" govuk-table__header"),(e.type==="double"||e.type==="long"||typeof r=="number")&&(o="numeric"),o==="string"&&r&&typeof r=="string"&&r.split(" ").length>10&&(n+=" data-table-cell-long-string");const l=e.type==="HTML";return{fieldName:e.name,...l?{html:a}:{text:a},format:o,classes:n.trim()}}mapCellValue(e,t){if(e.calculated)return t;switch(e.type){case"boolean":return this.mapBoolean(t);case"date":case"time":return this.mapDate(t);default:return t===void 0?"":t}}mapHeader(e=!1,t=null){return this.fields.filter(s=>this.columns.includes(s.name)).map(s=>{if(this.reportQuery&&!e&&s.sortable){let r="none",a=(0,p.default)(this.currentQueryParams||{},{sortColumn:s.name,sortedAsc:"true"},this.fields);return s.name===this.reportQuery.sortColumn&&(r=this.reportQuery.sortedAsc?"ascending":"descending",this.reportQuery.sortedAsc&&(a=(0,p.default)(this.currentQueryParams||{},{sortColumn:s.name,sortedAsc:"false"},this.fields))),{html:`<a data-column="${s.name}" class="data-table-header-button data-table-header-button-sort-${r}" href="${a}">${s.display}</a>`,...t&&{classes:t}}}return{text:s.display,...t&&{classes:t}}})}mapData(e){const t=this.mapSummary("table-header"),s=this.mergeCells(e.map(a=>this.mapRow(a))),r=this.mapSummary("table-footer");return t.concat(s).concat(r)}mergeCells(e){const t=this.fields.filter(r=>r.mergeRows).map(r=>r.name);if(t.length===0)return e;const s={};return t.forEach(r=>{s[r]=e.reduce((a,o)=>{const n=this.getCellByFieldName(o,r);let l="";return n&&(l=n.text||n.html||""),{...a,[l]:(a[l]??0)+1}},{})}),e.map(r=>{let a=[...r];return t.forEach(o=>{const n=this.getCellByFieldName(r,o);let l,m;if(n&&s[o])switch(l=n.text||n.html||"",m=s[o][l],m){case-1:a=a.filter(d=>d.fieldName!==o);break;case 1:break;default:n.rowspan=m,s[o][l]=-1}}),a})}getCellByFieldName(e,t){return e.find(s=>s.fieldName===t)}mapSummary(e){return this.reportSummaries[e]?this.reportSummaries[e].flatMap(t=>t.data.map(s=>this.mapRow(s,`dpr-report-summary-cell dpr-report-summary-cell-${e}`,t.fields))):[]}sort(e){return this.appendSortKeyToData(e).sort(this.sortKeyComparison()).map(t=>({...t}))}sortKeyComparison(){return(e,t)=>{const s=e.sortKey,r=t.sortKey;return s===r?0:s<r?-1:1}}appendSortKeyToData(e,t=null){const s=t||this.fields;return e.map(r=>{const a=this.getSortKey(r,s);return{...r,sortKey:a}})}mapNamesToFields(e){return e.map(t=>this.fields.find(s=>s.name===t)).filter(t=>t!==void 0)}getSortKey(e,t){return t.map(s=>{const r=e[s.name];return r&&this.dateMapper.isDate(r)?this.dateMapper.toDateString(r,"iso"):this.mapCellValue(s,r)}).join("-").toLowerCase()}convertDataTableToHtml(e){const s=(e.head||[]).map(a=>`<th scope='col' class='govuk-table__header'>${a.html??a.text}</th>`),r=e.rows.map(a=>`<tr class='govuk-table__row'>${a.map(o=>`<td class='govuk-table__cell govuk-table__cell--${o.format} ${o.classes}'>${o.html??o.text}</td>`).join("")}</tr>`);return`<table class='govuk-table'><thead class='govuk-table__head'>${s.join("")}</thead><tbody class='govuk-table__body'>${r.join("")}</tbody></table>`}withHeaderOptions({reportQuery:e,columns:t,interactive:s}){return s&&e?this.withHeaderSortOptions(e):this.withNoHeaderOptions(t)}withHeaderSortOptions(e){return this.reportQuery=e,this.columns=e.columns,this.currentQueryParams=this.reportQuery.toRecordWithFilterPrefix(),this}withNoHeaderOptions(e){return this.columns=e,this}buildTable(e){const t=this.mapData(this.sortData?this.sort(e):e);return{head:this.mapHeader(),rows:t,rowCount:e.length,colCount:this.columns.length}}withSummaries(e){return this.reportSummaries=e,this}withSortedData(e=!0){return this.sortData=e,this}}var F=u;0&&(module.exports={DataTableBuilder});
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var DataTableBuilder_exports = {};
30
+ __export(DataTableBuilder_exports, {
31
+ DataTableBuilder: () => DataTableBuilder,
32
+ default: () => DataTableBuilder_default
33
+ });
34
+ module.exports = __toCommonJS(DataTableBuilder_exports);
35
+ var import_urlHelper = __toESM(require("../urlHelper"));
36
+ var import_DateMapper = __toESM(require("../DateMapper/DateMapper"));
37
+ class DataTableBuilder {
38
+ fields;
39
+ sortData;
40
+ columns = [];
41
+ reportSummaries = {};
42
+ // Sortable headers only
43
+ reportQuery = null;
44
+ currentQueryParams = null;
45
+ dateMapper = new import_DateMapper.default();
46
+ constructor(fields, sortData = false) {
47
+ this.fields = fields;
48
+ this.sortData = sortData;
49
+ }
50
+ mapDate(isoDate) {
51
+ if (!isoDate) return "";
52
+ return this.dateMapper.toDateString(isoDate, "local-datetime-short-year");
53
+ }
54
+ mapBoolean(value) {
55
+ if (!value) return "";
56
+ return value.substring(0, 1).toUpperCase() + value.substring(1).toLowerCase();
57
+ }
58
+ mapRow(rowData, extraClasses = "", overrideFields = []) {
59
+ return this.fields.filter((f) => this.columns.includes(f.name)).map((f) => {
60
+ const overrideField = overrideFields.find((o) => o.name === f.name);
61
+ const field = overrideField ?? f;
62
+ return this.mapCell(field, rowData, extraClasses);
63
+ });
64
+ }
65
+ mapCell(field, rowData, extraClasses = "") {
66
+ const displayValue = rowData[field.name];
67
+ const textValue = this.mapCellValue(field, displayValue);
68
+ let fieldFormat = "string";
69
+ let classes = extraClasses;
70
+ if (field.wordWrap) {
71
+ classes += ` data-table-cell-wrap-${field.wordWrap.toLowerCase()}`;
72
+ }
73
+ if (field.header) {
74
+ classes += " govuk-table__header";
75
+ }
76
+ if (field.type === "double" || field.type === "long" || typeof displayValue === "number") {
77
+ fieldFormat = "numeric";
78
+ }
79
+ if (fieldFormat === "string" && displayValue && typeof displayValue === "string") {
80
+ const wordCount = displayValue.split(" ").length;
81
+ if (wordCount > 10) {
82
+ classes += " data-table-cell-long-string";
83
+ }
84
+ }
85
+ const isHtml = field.type === "HTML";
86
+ const cell = {
87
+ fieldName: field.name,
88
+ ...isHtml ? { html: textValue } : { text: textValue },
89
+ format: fieldFormat,
90
+ classes: classes.trim()
91
+ };
92
+ return cell;
93
+ }
94
+ mapCellValue(field, cellData) {
95
+ if (field.calculated) {
96
+ return cellData;
97
+ }
98
+ switch (field.type) {
99
+ case "boolean":
100
+ return this.mapBoolean(cellData);
101
+ case "date":
102
+ case "time":
103
+ return this.mapDate(cellData);
104
+ default:
105
+ return cellData === void 0 ? "" : cellData;
106
+ }
107
+ }
108
+ mapHeader(disableSort = false, extraClasses = null) {
109
+ return this.fields.filter((field) => this.columns.includes(field.name)).map((f) => {
110
+ if (this.reportQuery && !disableSort) {
111
+ if (f.sortable) {
112
+ let sortDirection = "none";
113
+ let url = (0, import_urlHelper.default)(
114
+ this.currentQueryParams || {},
115
+ {
116
+ sortColumn: f.name,
117
+ sortedAsc: "true"
118
+ },
119
+ this.fields
120
+ );
121
+ if (f.name === this.reportQuery.sortColumn) {
122
+ sortDirection = this.reportQuery.sortedAsc ? "ascending" : "descending";
123
+ if (this.reportQuery.sortedAsc) {
124
+ url = (0, import_urlHelper.default)(
125
+ this.currentQueryParams || {},
126
+ {
127
+ sortColumn: f.name,
128
+ sortedAsc: "false"
129
+ },
130
+ this.fields
131
+ );
132
+ }
133
+ }
134
+ return {
135
+ html: `<a data-column="${f.name}" class="data-table-header-button data-table-header-button-sort-${sortDirection}" href="${url}">${f.display}</a>`,
136
+ ...extraClasses && { classes: extraClasses }
137
+ };
138
+ }
139
+ }
140
+ return {
141
+ text: f.display,
142
+ ...extraClasses && { classes: extraClasses }
143
+ };
144
+ });
145
+ }
146
+ mapData(data) {
147
+ const mappedHeaderSummary = this.mapSummary("table-header");
148
+ const mappedTableData = this.mergeCells(data.map((rowData) => this.mapRow(rowData)));
149
+ const mappedFooterSummary = this.mapSummary("table-footer");
150
+ return mappedHeaderSummary.concat(mappedTableData).concat(mappedFooterSummary);
151
+ }
152
+ mergeCells(rows) {
153
+ const mergeFieldNames = this.fields.filter((f) => f.mergeRows).map((f) => f.name);
154
+ if (mergeFieldNames.length === 0) {
155
+ return rows;
156
+ }
157
+ const occurrences = {};
158
+ mergeFieldNames.forEach((f) => {
159
+ occurrences[f] = rows.reduce((accumulator, currentRow) => {
160
+ const currentCell = this.getCellByFieldName(currentRow, f);
161
+ let cellValue = "";
162
+ if (currentCell) {
163
+ cellValue = currentCell.text || currentCell.html || "";
164
+ }
165
+ return {
166
+ ...accumulator,
167
+ [cellValue]: (accumulator[cellValue] ?? 0) + 1
168
+ };
169
+ }, {});
170
+ });
171
+ return rows.map((row) => {
172
+ let mergedRow = [...row];
173
+ mergeFieldNames.forEach((mergeFieldName) => {
174
+ const currentRowCell = this.getCellByFieldName(row, mergeFieldName);
175
+ let cellValue;
176
+ let occurrencesOfValue;
177
+ if (currentRowCell && occurrences[mergeFieldName]) {
178
+ cellValue = currentRowCell.text || currentRowCell.html || "";
179
+ occurrencesOfValue = occurrences[mergeFieldName][cellValue];
180
+ switch (occurrencesOfValue) {
181
+ case -1:
182
+ mergedRow = mergedRow.filter((c) => c.fieldName !== mergeFieldName);
183
+ break;
184
+ case 1:
185
+ break;
186
+ default:
187
+ currentRowCell.rowspan = occurrencesOfValue;
188
+ occurrences[mergeFieldName][cellValue] = -1;
189
+ }
190
+ }
191
+ });
192
+ return mergedRow;
193
+ });
194
+ }
195
+ getCellByFieldName(row, fieldName) {
196
+ return row.find((c) => c.fieldName === fieldName);
197
+ }
198
+ mapSummary(template) {
199
+ if (this.reportSummaries[template]) {
200
+ return this.reportSummaries[template].flatMap(
201
+ (reportSummary) => reportSummary.data.map(
202
+ (rowData) => this.mapRow(
203
+ rowData,
204
+ `dpr-report-summary-cell dpr-report-summary-cell-${template}`,
205
+ reportSummary.fields
206
+ )
207
+ )
208
+ );
209
+ }
210
+ return [];
211
+ }
212
+ sort(data) {
213
+ return this.appendSortKeyToData(data).sort(this.sortKeyComparison()).map((d) => ({
214
+ ...d
215
+ }));
216
+ }
217
+ sortKeyComparison() {
218
+ return (a, b) => {
219
+ const aValue = a.sortKey;
220
+ const bValue = b.sortKey;
221
+ if (aValue === bValue) {
222
+ return 0;
223
+ }
224
+ if (aValue < bValue) {
225
+ return -1;
226
+ }
227
+ return 1;
228
+ };
229
+ }
230
+ appendSortKeyToData(data, fields = null) {
231
+ const sortFields = fields || this.fields;
232
+ return data.map((rowData) => {
233
+ const sortKey = this.getSortKey(rowData, sortFields);
234
+ return {
235
+ ...rowData,
236
+ sortKey
237
+ };
238
+ });
239
+ }
240
+ mapNamesToFields(names) {
241
+ return names.map((s) => this.fields.find((f) => f.name === s)).filter((n) => n !== void 0);
242
+ }
243
+ getSortKey(rowData, sortFields) {
244
+ return sortFields.map((f) => {
245
+ const value = rowData[f.name];
246
+ if (value && this.dateMapper.isDate(value)) {
247
+ return this.dateMapper.toDateString(value, "iso");
248
+ }
249
+ return this.mapCellValue(f, value);
250
+ }).join("-").toLowerCase();
251
+ }
252
+ convertDataTableToHtml(dataTable) {
253
+ const head = dataTable.head || [];
254
+ const headers = head.map((h) => `<th scope='col' class='govuk-table__header'>${h.html ?? h.text}</th>`);
255
+ const rows = dataTable.rows.map(
256
+ (r) => `<tr class='govuk-table__row'>${r.map(
257
+ (c) => `<td class='govuk-table__cell govuk-table__cell--${c.format} ${c.classes}'>${c.html ?? c.text}</td>`
258
+ ).join("")}</tr>`
259
+ );
260
+ return `<table class='govuk-table'><thead class='govuk-table__head'>${headers.join("")}</thead><tbody class='govuk-table__body'>${rows.join("")}</tbody></table>`;
261
+ }
262
+ withHeaderOptions({
263
+ reportQuery,
264
+ columns,
265
+ interactive
266
+ }) {
267
+ if (interactive && reportQuery) {
268
+ return this.withHeaderSortOptions(reportQuery);
269
+ }
270
+ return this.withNoHeaderOptions(columns);
271
+ }
272
+ withHeaderSortOptions(reportQuery) {
273
+ this.reportQuery = reportQuery;
274
+ this.columns = reportQuery.columns;
275
+ this.currentQueryParams = this.reportQuery.toRecordWithFilterPrefix();
276
+ return this;
277
+ }
278
+ withNoHeaderOptions(columns) {
279
+ this.columns = columns;
280
+ return this;
281
+ }
282
+ buildTable(data) {
283
+ const mappedData = this.mapData(this.sortData ? this.sort(data) : data);
284
+ return {
285
+ head: this.mapHeader(),
286
+ rows: mappedData,
287
+ rowCount: data.length,
288
+ colCount: this.columns.length
289
+ };
290
+ }
291
+ withSummaries(reportSummaries) {
292
+ this.reportSummaries = reportSummaries;
293
+ return this;
294
+ }
295
+ withSortedData(sortData = true) {
296
+ this.sortData = sortData;
297
+ return this;
298
+ }
299
+ }
300
+ var DataTableBuilder_default = DataTableBuilder;
301
+ // Annotate the CommonJS export names for ESM import in node:
302
+ 0 && (module.exports = {
303
+ DataTableBuilder
304
+ });
2
305
  //# sourceMappingURL=DataTableBuilder.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dpr/utils/DataTableBuilder/DataTableBuilder.ts"],
4
4
  "sourcesContent": ["import Dict = NodeJS.Dict\nimport ReportQuery from '../../types/ReportQuery'\nimport { Cell, CellFormat, DataTable, SortKey } from './types'\nimport createUrlForParameters from '../urlHelper'\nimport type { SummaryTemplate } from '../../types/Templates'\nimport { AsyncSummary } from '../../types/UserReports'\nimport DateMapper from '../DateMapper/DateMapper'\nimport { components } from '../../types/api'\n\nclass DataTableBuilder {\n protected fields: components['schemas']['FieldDefinition'][]\n\n private sortData: boolean\n\n protected columns: Array<string> = []\n\n protected reportSummaries: Dict<Array<AsyncSummary>> = {}\n\n // Sortable headers only\n private reportQuery: ReportQuery | null = null\n\n private currentQueryParams: NodeJS.Dict<string | Array<string>> | null = null\n\n private dateMapper = new DateMapper()\n\n constructor(fields: components['schemas']['FieldDefinition'][], sortData = false) {\n this.fields = fields\n this.sortData = sortData\n }\n\n private mapDate(isoDate?: string) {\n if (!isoDate) return ''\n\n return this.dateMapper.toDateString(isoDate, 'local-datetime-short-year')\n }\n\n private mapBoolean(value?: string) {\n if (!value) return ''\n return value.substring(0, 1).toUpperCase() + value.substring(1).toLowerCase()\n }\n\n protected mapRow(\n rowData: NodeJS.Dict<string>,\n extraClasses = '',\n overrideFields: components['schemas']['FieldDefinition'][] = [],\n ): Cell[] {\n return this.fields\n .filter((f) => this.columns.includes(f.name))\n .map((f) => {\n const overrideField = overrideFields.find((o) => o.name === f.name)\n const field = overrideField ?? f\n return this.mapCell(field, rowData, extraClasses)\n })\n }\n\n private mapCell(field: components['schemas']['FieldDefinition'], rowData: NodeJS.Dict<string>, extraClasses = '') {\n const displayValue = rowData[field.name]\n const textValue = this.mapCellValue(field, displayValue)\n let fieldFormat: CellFormat = 'string'\n\n let classes = extraClasses\n\n if (field.wordWrap) {\n classes += ` data-table-cell-wrap-${field.wordWrap.toLowerCase()}`\n }\n\n if (field.header) {\n classes += ' govuk-table__header'\n }\n\n if (field.type === 'double' || field.type === 'long' || typeof displayValue === 'number') {\n fieldFormat = 'numeric'\n }\n\n if (fieldFormat === 'string' && displayValue && typeof displayValue === 'string') {\n const wordCount = displayValue.split(' ').length\n if (wordCount > 10) {\n classes += ' data-table-cell-long-string'\n }\n }\n\n const isHtml = field.type === 'HTML'\n const cell: Cell = {\n fieldName: field.name,\n ...(isHtml ? { html: textValue } : { text: textValue }),\n format: fieldFormat,\n classes: classes.trim(),\n }\n\n return cell\n }\n\n protected mapCellValue(field: components['schemas']['FieldDefinition'], cellData?: string) {\n if (field.calculated) {\n return cellData\n }\n\n switch (field.type) {\n case 'boolean':\n return this.mapBoolean(cellData)\n\n case 'date':\n case 'time':\n return this.mapDate(cellData)\n\n default:\n return cellData === undefined ? '' : cellData\n }\n }\n\n protected mapHeader(disableSort = false, extraClasses: string | null = null): Cell[] {\n return this.fields\n .filter((field) => this.columns.includes(field.name))\n .map((f) => {\n if (this.reportQuery && !disableSort) {\n if (f.sortable) {\n let sortDirection = 'none'\n let url = createUrlForParameters(\n this.currentQueryParams || {},\n {\n sortColumn: f.name,\n sortedAsc: 'true',\n },\n this.fields,\n )\n\n if (f.name === this.reportQuery.sortColumn) {\n sortDirection = this.reportQuery.sortedAsc ? 'ascending' : 'descending'\n\n if (this.reportQuery.sortedAsc) {\n url = createUrlForParameters(\n this.currentQueryParams || {},\n {\n sortColumn: f.name,\n sortedAsc: 'false',\n },\n this.fields,\n )\n }\n }\n\n return {\n html:\n `<a ` +\n `data-column=\"${f.name}\" ` +\n `class=\"data-table-header-button data-table-header-button-sort-${sortDirection}\" ` +\n `href=\"${url}\"` +\n `>${f.display}</a>`,\n ...(extraClasses && { classes: extraClasses }),\n }\n }\n }\n return {\n text: f.display,\n ...(extraClasses && { classes: extraClasses }),\n }\n })\n }\n\n protected mapData(data: Array<Dict<string>>): Cell[][] {\n const mappedHeaderSummary = this.mapSummary('table-header')\n const mappedTableData = this.mergeCells(data.map((rowData) => this.mapRow(rowData)))\n const mappedFooterSummary = this.mapSummary('table-footer')\n\n return mappedHeaderSummary.concat(mappedTableData).concat(mappedFooterSummary)\n }\n\n private mergeCells(rows: Cell[][]): Cell[][] {\n const mergeFieldNames = this.fields\n .filter((f) => (<components['schemas']['SummaryField']>f).mergeRows)\n .map((f) => f.name)\n\n if (mergeFieldNames.length === 0) {\n return rows\n }\n\n const occurrences: Dict<Dict<number>> = {}\n mergeFieldNames.forEach((f) => {\n occurrences[f] = rows.reduce((accumulator: Dict<number>, currentRow) => {\n const currentCell = this.getCellByFieldName(currentRow, f)\n let cellValue = ''\n if (currentCell) {\n cellValue = currentCell.text || currentCell.html || ''\n }\n\n return {\n ...accumulator,\n [cellValue]: (accumulator[cellValue] ?? 0) + 1,\n }\n }, {})\n })\n\n return rows.map((row) => {\n let mergedRow = [...row]\n\n mergeFieldNames.forEach((mergeFieldName) => {\n const currentRowCell = this.getCellByFieldName(row, mergeFieldName)\n let cellValue\n let occurrencesOfValue\n if (currentRowCell && occurrences[mergeFieldName]) {\n cellValue = currentRowCell.text || currentRowCell.html || ''\n occurrencesOfValue = occurrences[mergeFieldName][cellValue]\n\n switch (occurrencesOfValue) {\n case -1:\n mergedRow = mergedRow.filter((c) => c.fieldName !== mergeFieldName)\n break\n\n case 1:\n break\n\n default:\n currentRowCell.rowspan = occurrencesOfValue\n occurrences[mergeFieldName][cellValue] = -1\n }\n }\n })\n\n return mergedRow\n })\n }\n\n private getCellByFieldName(row: Cell[], fieldName: string) {\n return row.find((c) => c.fieldName === fieldName)\n }\n\n private mapSummary(template: SummaryTemplate): Cell[][] {\n if (this.reportSummaries[template]) {\n return this.reportSummaries[template].flatMap((reportSummary) =>\n reportSummary.data.map((rowData) =>\n this.mapRow(\n rowData,\n `dpr-report-summary-cell dpr-report-summary-cell-${template}`,\n <components['schemas']['FieldDefinition'][]>reportSummary.fields,\n ),\n ),\n )\n }\n return []\n }\n\n protected sort(data: Dict<string>[]): Dict<string>[] {\n return this.appendSortKeyToData(data)\n .sort(this.sortKeyComparison())\n .map((d: SortKey) => ({\n ...d,\n }))\n }\n\n protected sortKeyComparison() {\n return (a: SortKey, b: SortKey) => {\n const aValue = a.sortKey\n const bValue = b.sortKey\n\n if (aValue === bValue) {\n return 0\n }\n\n if (aValue < bValue) {\n return -1\n }\n\n return 1\n }\n }\n\n private appendSortKeyToData(\n data: Dict<string>[],\n fields: components['schemas']['FieldDefinition'][] | null = null,\n ): SortKey[] {\n const sortFields = fields || this.fields\n\n return data.map((rowData) => {\n const sortKey = this.getSortKey(rowData, sortFields)\n\n return {\n ...rowData,\n sortKey,\n }\n })\n }\n\n protected mapNamesToFields(names: string[]): components['schemas']['FieldDefinition'][] {\n return names.map((s) => this.fields.find((f) => f.name === s)).filter((n) => n !== undefined)\n }\n\n protected getSortKey(rowData: NodeJS.Dict<string>, sortFields: components['schemas']['FieldDefinition'][]) {\n return sortFields\n .map((f) => {\n const value = rowData[f.name]\n if (value && this.dateMapper.isDate(value)) {\n return this.dateMapper.toDateString(value, 'iso')\n }\n\n return this.mapCellValue(f, value)\n })\n .join('-')\n .toLowerCase()\n }\n\n protected convertDataTableToHtml(dataTable: DataTable): string {\n const head = dataTable.head || []\n const headers = head.map((h) => `<th scope='col' class='govuk-table__header'>${h.html ?? h.text}</th>`)\n const rows = dataTable.rows.map(\n (r) =>\n `<tr class='govuk-table__row'>${r\n .map(\n (c) => `<td class='govuk-table__cell govuk-table__cell--${c.format} ${c.classes}'>${c.html ?? c.text}</td>`,\n )\n .join('')}</tr>`,\n )\n\n return (\n \"<table class='govuk-table'>\" +\n `<thead class='govuk-table__head'>${headers.join('')}</thead>` +\n `<tbody class='govuk-table__body'>${rows.join('')}</tbody>` +\n '</table>'\n )\n }\n\n withHeaderOptions({\n reportQuery,\n columns,\n interactive,\n }: {\n reportQuery?: ReportQuery\n columns: string[]\n interactive: boolean\n }) {\n if (interactive && reportQuery) {\n return this.withHeaderSortOptions(reportQuery)\n }\n return this.withNoHeaderOptions(columns)\n }\n\n withHeaderSortOptions(reportQuery: ReportQuery) {\n this.reportQuery = reportQuery\n this.columns = reportQuery.columns\n this.currentQueryParams = this.reportQuery.toRecordWithFilterPrefix()\n\n return this\n }\n\n withNoHeaderOptions(columns: string[]) {\n this.columns = columns\n return this\n }\n\n buildTable(data: Array<Dict<string>>): DataTable {\n const mappedData = this.mapData(this.sortData ? this.sort(data) : data)\n\n return {\n head: this.mapHeader(),\n rows: mappedData,\n rowCount: data.length,\n colCount: this.columns.length,\n }\n }\n\n withSummaries(reportSummaries: Dict<Array<AsyncSummary>>) {\n this.reportSummaries = reportSummaries\n return this\n }\n\n withSortedData(sortData = true) {\n this.sortData = sortData\n return this\n }\n}\n\nexport { DataTableBuilder }\nexport default DataTableBuilder\n"],
5
- "mappings": "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",
6
- "names": ["DataTableBuilder_exports", "__export", "DataTableBuilder", "DataTableBuilder_default", "__toCommonJS", "import_urlHelper", "import_DateMapper", "DateMapper", "fields", "sortData", "isoDate", "value", "rowData", "extraClasses", "overrideFields", "f", "field", "o", "displayValue", "textValue", "fieldFormat", "classes", "isHtml", "cellData", "disableSort", "sortDirection", "url", "createUrlForParameters", "data", "mappedHeaderSummary", "mappedTableData", "mappedFooterSummary", "rows", "mergeFieldNames", "occurrences", "accumulator", "currentRow", "currentCell", "cellValue", "row", "mergedRow", "mergeFieldName", "currentRowCell", "occurrencesOfValue", "c", "fieldName", "template", "reportSummary", "d", "a", "b", "aValue", "bValue", "sortFields", "sortKey", "names", "s", "n", "dataTable", "headers", "h", "r", "reportQuery", "columns", "interactive", "mappedData", "reportSummaries"]
5
+ "mappings": "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",
6
+ "names": ["DateMapper", "createUrlForParameters"]
7
7
  }
@@ -1,2 +1,17 @@
1
- "use strict";var t=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var d=(r,e,a,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of i(e))!s.call(r,n)&&n!==a&&t(r,n,{get:()=>e[n],enumerable:!(o=l(e,n))||o.enumerable});return r};var b=r=>d(t({},"__esModule",{value:!0}),r);var m={};module.exports=b(m);
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_d_exports = {};
16
+ module.exports = __toCommonJS(types_d_exports);
2
17
  //# sourceMappingURL=types.d.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dpr/utils/DataTableBuilder/types.d.ts"],
4
4
  "sourcesContent": ["export type CellFormat = 'numeric' | 'string'\n\nexport interface Cell {\n fieldName?: string\n text?: string | undefined\n html?: string | undefined\n format?: CellFormat\n classes?: string\n colspan?: number\n rowspan?: number | undefined\n}\n\nexport interface DataTable {\n head: Array<Cell> | null\n rows: Array<Array<Cell>>\n rowCount: number\n colCount: number\n}\n\nexport interface FieldDefinition {\n name: string\n display?: string\n type?: 'boolean' | 'date' | 'double' | 'HTML' | 'long' | 'string' | 'time'\n wordWrap?: 'none' | 'normal' | 'break-words'\n calculated?: boolean\n sortable?: boolean\n header?: boolean\n mergeRows?: boolean\n visible?: boolean\n}\n\nexport interface SortKey {\n sortKey: string\n}\n"],
5
- "mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
6
- "names": ["types_d_exports", "__toCommonJS"]
5
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
+ "names": []
7
7
  }