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

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 (351) hide show
  1. package/dpr/DprClientClass.js +43 -0
  2. package/dpr/DprClientClass.js.map +7 -0
  3. package/dpr/{DprClientClass.mjs → DprClientClass.ts} +1 -0
  4. package/dpr/DprFormValidationClass.js +157 -0
  5. package/dpr/DprFormValidationClass.js.map +7 -0
  6. package/dpr/{DprFormValidationClass.mjs → DprFormValidationClass.ts} +2 -1
  7. package/dpr/DprGenericFormClass.js +66 -0
  8. package/dpr/DprGenericFormClass.js.map +7 -0
  9. package/dpr/{DprGenericFormClass.mjs → DprGenericFormClass.ts} +2 -1
  10. package/dpr/DprLoadingHelper.js +51 -0
  11. package/dpr/DprLoadingHelper.js.map +7 -0
  12. package/dpr/{DprLoadingHelper.mjs → DprLoadingHelper.ts} +1 -0
  13. package/dpr/DprPollingStatusClass.js +79 -0
  14. package/dpr/DprPollingStatusClass.js.map +7 -0
  15. package/dpr/{DprPollingStatusClass.mjs → DprPollingStatusClass.ts} +2 -1
  16. package/dpr/DprQueryParamClass.js +231 -0
  17. package/dpr/DprQueryParamClass.js.map +7 -0
  18. package/dpr/{DprQueryParamClass.mjs → DprQueryParamClass.ts} +2 -1
  19. package/dpr/DprSyncLoading.js +44 -0
  20. package/dpr/DprSyncLoading.js.map +7 -0
  21. package/dpr/{DprSyncLoading.mjs → DprSyncLoading.ts} +2 -1
  22. package/dpr/all.js +111 -0
  23. package/dpr/all.js.map +7 -0
  24. package/dpr/{all.mjs → all.ts} +29 -28
  25. package/dpr/assets/app.js +1 -1
  26. package/dpr/assets/app.js.map +2 -2
  27. package/dpr/components/_async/async-filters-form/clientClass.js +76 -0
  28. package/dpr/components/_async/async-filters-form/clientClass.js.map +7 -0
  29. package/dpr/components/_async/async-filters-form/{clientClass.mjs → clientClass.ts} +3 -2
  30. package/dpr/components/_async/async-filters-form/sortByTemplate.js.map +1 -1
  31. package/dpr/components/_async/async-filters-form/types.d.js.map +1 -1
  32. package/dpr/components/_async/async-filters-form/utils.js.map +1 -1
  33. package/dpr/components/_async/async-polling/clientClass.js +78 -0
  34. package/dpr/components/_async/async-polling/clientClass.js.map +7 -0
  35. package/dpr/components/_async/async-polling/{clientClass.mjs → clientClass.ts} +2 -1
  36. package/dpr/components/_catalogue/catalogue/types.js.map +1 -1
  37. package/dpr/components/_catalogue/catalogue/utils.js.map +1 -1
  38. package/dpr/components/_catalogue/catalogue-filter-by-type/clientClass.js +94 -0
  39. package/dpr/components/_catalogue/catalogue-filter-by-type/clientClass.js.map +7 -0
  40. package/dpr/components/_catalogue/catalogue-filter-by-type/{clientClass.mjs → clientClass.ts} +2 -1
  41. package/dpr/components/_catalogue/catalogue-filters/clientClass.js +70 -0
  42. package/dpr/components/_catalogue/catalogue-filters/clientClass.js.map +7 -0
  43. package/dpr/components/_catalogue/catalogue-filters/{clientClass.mjs → clientClass.ts} +2 -1
  44. package/dpr/components/_catalogue/catalogue-list/utils.js.map +1 -1
  45. package/dpr/components/_catalogue/catalogue-search/clientClass.js +106 -0
  46. package/dpr/components/_catalogue/catalogue-search/clientClass.js.map +7 -0
  47. package/dpr/components/_catalogue/catalogue-search/{clientClass.mjs → clientClass.ts} +3 -2
  48. package/dpr/components/_catalogue/catalogue-unauthorised-toggle/clientClass.js +135 -0
  49. package/dpr/components/_catalogue/catalogue-unauthorised-toggle/clientClass.js.map +7 -0
  50. package/dpr/components/_catalogue/catalogue-unauthorised-toggle/{clientClass.mjs → clientClass.ts} +2 -1
  51. package/dpr/components/_charts/chart/Chart.js.map +1 -1
  52. package/dpr/components/_charts/chart/ChartColours.js.map +1 -1
  53. package/dpr/components/_charts/chart/ChartTimeseries.js.map +1 -1
  54. package/dpr/components/_charts/chart/bar/BarChart.js.map +1 -1
  55. package/dpr/components/_charts/chart/bar/clientClass.js +98 -0
  56. package/dpr/components/_charts/chart/bar/clientClass.js.map +7 -0
  57. package/dpr/components/_charts/chart/bar/{clientClass.mjs → clientClass.ts} +2 -1
  58. package/dpr/components/_charts/chart/bar/types.js.map +1 -1
  59. package/dpr/components/_charts/chart/bar/validate.js.map +1 -1
  60. package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js.map +1 -1
  61. package/dpr/components/_charts/chart/bar-timeseries/types.js.map +1 -1
  62. package/dpr/components/_charts/chart/bar-timeseries/validate.js.map +1 -1
  63. package/dpr/components/_charts/chart/buckets/Buckets.js.map +1 -1
  64. package/dpr/components/_charts/chart/buckets/types.js.map +1 -1
  65. package/dpr/components/_charts/chart/buckets/validate.js.map +1 -1
  66. package/dpr/components/_charts/chart/chart-config.js.map +1 -1
  67. package/dpr/components/_charts/chart/clientClass.js +136 -0
  68. package/dpr/components/_charts/chart/clientClass.js.map +7 -0
  69. package/dpr/components/_charts/chart/{clientClass.mjs → clientClass.ts} +2 -1
  70. package/dpr/components/_charts/chart/doughnut/DoughnutChart.js.map +1 -1
  71. package/dpr/components/_charts/chart/doughnut/clientClass.js +170 -0
  72. package/dpr/components/_charts/chart/doughnut/clientClass.js.map +7 -0
  73. package/dpr/components/_charts/chart/doughnut/{clientClass.mjs → clientClass.ts} +2 -1
  74. package/dpr/components/_charts/chart/doughnut/types.js.map +1 -1
  75. package/dpr/components/_charts/chart/doughnut/validate.js.map +1 -1
  76. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +1 -1
  77. package/dpr/components/_charts/chart/heatmap/clientClass.js +118 -0
  78. package/dpr/components/_charts/chart/heatmap/clientClass.js.map +7 -0
  79. package/dpr/components/_charts/chart/heatmap/{clientClass.mjs → clientClass.ts} +2 -1
  80. package/dpr/components/_charts/chart/heatmap/types.js.map +1 -1
  81. package/dpr/components/_charts/chart/heatmap/validate.js.map +1 -1
  82. package/dpr/components/_charts/chart/line/LineChart.js.map +1 -1
  83. package/dpr/components/_charts/chart/line/clientClass.js +93 -0
  84. package/dpr/components/_charts/chart/line/clientClass.js.map +7 -0
  85. package/dpr/components/_charts/chart/line/{clientClass.mjs → clientClass.ts} +2 -1
  86. package/dpr/components/_charts/chart/line/types.js.map +1 -1
  87. package/dpr/components/_charts/chart/line/validate.js.map +1 -1
  88. package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js.map +1 -1
  89. package/dpr/components/_charts/chart/line-timeseries/types.js.map +1 -1
  90. package/dpr/components/_charts/chart/line-timeseries/validate.js.map +1 -1
  91. package/dpr/components/_charts/utils.js.map +1 -1
  92. package/dpr/components/_dashboards/dashboard-list/types.js.map +1 -1
  93. package/dpr/components/_dashboards/dashboard-list/utils.js.map +1 -1
  94. package/dpr/components/_dashboards/dashboard-list/validate.js.map +1 -1
  95. package/dpr/components/_dashboards/dashboard-visualisation/Validate.js.map +1 -1
  96. package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +1 -1
  97. package/dpr/components/_dashboards/scorecard/Scorecard.js.map +1 -1
  98. package/dpr/components/_dashboards/scorecard/clientClass.js +50 -0
  99. package/dpr/components/_dashboards/scorecard/clientClass.js.map +7 -0
  100. package/dpr/components/_dashboards/scorecard/{clientClass.mjs → clientClass.ts} +2 -1
  101. package/dpr/components/_dashboards/scorecard/types.js.map +1 -1
  102. package/dpr/components/_dashboards/scorecard/utils.js.map +1 -1
  103. package/dpr/components/_dashboards/scorecard/validate.js.map +1 -1
  104. package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js.map +1 -1
  105. package/dpr/components/_dashboards/scorecard-group/types.js.map +1 -1
  106. package/dpr/components/_dashboards/scorecard-group/validate.js.map +1 -1
  107. package/dpr/components/_filters/filter-input/enum.js.map +1 -1
  108. package/dpr/components/_filters/filter-input/filters.js.map +1 -1
  109. package/dpr/components/_filters/filter-input/types.d.js.map +1 -1
  110. package/dpr/components/_filters/filters-form/clientClass.js +104 -0
  111. package/dpr/components/_filters/filters-form/clientClass.js.map +7 -0
  112. package/dpr/components/_filters/filters-form/{clientClass.mjs → clientClass.ts} +2 -1
  113. package/dpr/components/_filters/filters-interactive/clientClass.js +55 -0
  114. package/dpr/components/_filters/filters-interactive/clientClass.js.map +7 -0
  115. package/dpr/components/_filters/filters-interactive/{clientClass.mjs → clientClass.ts} +2 -1
  116. package/dpr/components/_filters/filters-selected/clientClass.js +396 -0
  117. package/dpr/components/_filters/filters-selected/clientClass.js.map +7 -0
  118. package/dpr/components/_filters/filters-selected/{clientClass.mjs → clientClass.ts} +7 -7
  119. package/dpr/components/_filters/filters-selected/utils.js.map +1 -1
  120. package/dpr/components/_filters/filtersTypeEnum.js.map +1 -1
  121. package/dpr/components/_filters/types.d.js.map +1 -1
  122. package/dpr/components/_filters/utils.js.map +1 -1
  123. package/dpr/components/_inputs/autocomplete-text-input/clientClass.js +153 -0
  124. package/dpr/components/_inputs/autocomplete-text-input/clientClass.js.map +7 -0
  125. package/dpr/components/_inputs/autocomplete-text-input/{clientClass.mjs → clientClass.ts} +2 -1
  126. package/dpr/components/_inputs/autocomplete-text-input/utils.js.map +1 -1
  127. package/dpr/components/_inputs/date-input/clientClass.js +109 -0
  128. package/dpr/components/_inputs/date-input/clientClass.js.map +7 -0
  129. package/dpr/components/_inputs/date-input/{clientClass.mjs → clientClass.ts} +2 -1
  130. package/dpr/components/_inputs/date-input/utils.js.map +1 -1
  131. package/dpr/components/_inputs/date-range/clientClass.js +206 -0
  132. package/dpr/components/_inputs/date-range/clientClass.js.map +7 -0
  133. package/dpr/components/_inputs/date-range/{clientClass.mjs → clientClass.ts} +2 -1
  134. package/dpr/components/_inputs/date-range/types.js.map +1 -1
  135. package/dpr/components/_inputs/date-range/utils.js.map +1 -1
  136. package/dpr/components/_inputs/granular-date-range/clientClass.js +245 -0
  137. package/dpr/components/_inputs/granular-date-range/clientClass.js.map +7 -0
  138. package/dpr/components/_inputs/granular-date-range/{clientClass.mjs → clientClass.ts} +2 -1
  139. package/dpr/components/_inputs/granular-date-range/types.js.map +1 -1
  140. package/dpr/components/_inputs/granular-date-range/utils.js.map +1 -1
  141. package/dpr/components/_inputs/multi-select/utils.js.map +1 -1
  142. package/dpr/components/_inputs/start-end-date/utils.js.map +1 -1
  143. package/dpr/components/_reports/report-actions/actionsTemplate.js.map +1 -1
  144. package/dpr/components/_reports/report-actions/clientClass.js +103 -0
  145. package/dpr/components/_reports/report-actions/clientClass.js.map +7 -0
  146. package/dpr/components/_reports/report-actions/{clientClass.mjs → clientClass.ts} +2 -1
  147. package/dpr/components/_reports/report-actions/types.d.js.map +1 -1
  148. package/dpr/components/_reports/report-actions/utils.js.map +1 -1
  149. package/dpr/components/_reports/report-columns-form/clientClass.js +76 -0
  150. package/dpr/components/_reports/report-columns-form/clientClass.js.map +7 -0
  151. package/dpr/components/_reports/report-columns-form/{clientClass.mjs → clientClass.ts} +2 -1
  152. package/dpr/components/_reports/report-columns-form/types.d.js.map +1 -1
  153. package/dpr/components/_reports/report-columns-form/utils.js.map +1 -1
  154. package/dpr/components/_reports/report-data-table/clientClass.js +80 -0
  155. package/dpr/components/_reports/report-data-table/clientClass.js.map +7 -0
  156. package/dpr/components/_reports/report-data-table/{clientClass.mjs → clientClass.ts} +2 -1
  157. package/dpr/components/_reports/report-data-table/types.d.js.map +1 -1
  158. package/dpr/components/_reports/report-data-table/utils.js.map +1 -1
  159. package/dpr/components/_reports/report-download-message/clientClass.js +42 -0
  160. package/dpr/components/_reports/report-download-message/clientClass.js.map +7 -0
  161. package/dpr/components/_reports/report-download-message/{clientClass.mjs → clientClass.ts} +2 -1
  162. package/dpr/components/_reports/report-pagination/clientClass.js +61 -0
  163. package/dpr/components/_reports/report-pagination/clientClass.js.map +7 -0
  164. package/dpr/components/_reports/report-pagination/{clientClass.mjs → clientClass.ts} +2 -1
  165. package/dpr/components/_reports/report-pagination/types.d.js.map +1 -1
  166. package/dpr/components/_reports/report-pagination/utils.js.map +1 -1
  167. package/dpr/components/_reports/report-totals/utils.js.map +1 -1
  168. package/dpr/components/_sync/sync-load/view.njk +1 -1
  169. package/dpr/components/bookmark-toggle/clientClass.js +111 -0
  170. package/dpr/components/bookmark-toggle/clientClass.js.map +7 -0
  171. package/dpr/components/bookmark-toggle/{clientClass.mjs → clientClass.ts} +2 -1
  172. package/dpr/components/card-group/clientClass.js +53 -0
  173. package/dpr/components/card-group/clientClass.js.map +7 -0
  174. package/dpr/components/card-group/{clientClass.mjs → clientClass.ts} +2 -1
  175. package/dpr/components/card-group/utils.js.map +1 -1
  176. package/dpr/components/report-list/defaultTokenProvider.js.map +1 -1
  177. package/dpr/components/report-list/types.d.js.map +1 -1
  178. package/dpr/components/report-list/utils.js.map +1 -1
  179. package/dpr/components/show-more/clientClass.js +63 -0
  180. package/dpr/components/show-more/clientClass.js.map +7 -0
  181. package/dpr/components/show-more/{clientClass.mjs → clientClass.ts} +2 -1
  182. package/dpr/components/show-more/utils.js.map +1 -1
  183. package/dpr/components/user-reports/bookmarks/utils.js.map +1 -1
  184. package/dpr/components/user-reports/requested/clientClass.js +132 -0
  185. package/dpr/components/user-reports/requested/clientClass.js.map +7 -0
  186. package/dpr/components/user-reports/requested/{clientClass.mjs → clientClass.ts} +2 -1
  187. package/dpr/components/user-reports/requested/utils.js.map +1 -1
  188. package/dpr/components/user-reports/types.d.js.map +1 -1
  189. package/dpr/components/user-reports/utils.js.map +1 -1
  190. package/dpr/components/user-reports/viewed/clientClass.js +102 -0
  191. package/dpr/components/user-reports/viewed/clientClass.js.map +7 -0
  192. package/dpr/components/user-reports/viewed/{clientClass.mjs → clientClass.ts} +2 -1
  193. package/dpr/components/user-reports/viewed/utils.js.map +1 -1
  194. package/dpr/data/agentConfig.js.map +1 -1
  195. package/dpr/data/dashboardClient.js.map +1 -1
  196. package/dpr/data/dprReportingClient.js.map +1 -1
  197. package/dpr/data/missingReportClient.js.map +1 -1
  198. package/dpr/data/productCollectionClient.js.map +1 -1
  199. package/dpr/data/reportDataStore.js.map +1 -1
  200. package/dpr/data/reportingClient.js.map +1 -1
  201. package/dpr/data/restClient.js.map +1 -1
  202. package/dpr/data/types.d.js.map +1 -1
  203. package/dpr/middleware/reportAuthoriser.js.map +1 -1
  204. package/dpr/middleware/setUpDprResources.js.map +1 -1
  205. package/dpr/middleware/setUpNestedRoute.js.map +1 -1
  206. package/dpr/routes/index.js.map +1 -1
  207. package/dpr/routes/journeys/api-failures.cy.js.map +1 -1
  208. package/dpr/routes/journeys/download-report/controller.js.map +1 -1
  209. package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +1 -1
  210. package/dpr/routes/journeys/download-report/request-download/form/routes.js.map +1 -1
  211. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +1 -1
  212. package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js.map +1 -1
  213. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +1 -1
  214. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +1 -1
  215. package/dpr/routes/journeys/download-report/request-download/routes.js.map +1 -1
  216. package/dpr/routes/journeys/download-report/request-download/service.js.map +1 -1
  217. package/dpr/routes/journeys/download-report/routes.js.map +1 -1
  218. package/dpr/routes/journeys/download-report/tests.cy.js.map +1 -1
  219. package/dpr/routes/journeys/download-report/utils.js.map +1 -1
  220. package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +1 -1
  221. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +1 -1
  222. package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js.map +1 -1
  223. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +1 -1
  224. package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +1 -1
  225. package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +1 -1
  226. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +1 -1
  227. package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +1 -1
  228. package/dpr/routes/journeys/my-reports/recently-viewed/controller.js.map +1 -1
  229. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +1 -1
  230. package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js.map +1 -1
  231. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +1 -1
  232. package/dpr/routes/journeys/my-reports/recently-viewed/routes.js.map +1 -1
  233. package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +1 -1
  234. package/dpr/routes/journeys/my-reports/requested-reports/controller.js.map +1 -1
  235. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +1 -1
  236. package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js.map +1 -1
  237. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +1 -1
  238. package/dpr/routes/journeys/my-reports/requested-reports/routes.js.map +1 -1
  239. package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +1 -1
  240. package/dpr/routes/journeys/my-reports/routes.js.map +1 -1
  241. package/dpr/routes/journeys/product-collection/routes.js.map +1 -1
  242. package/dpr/routes/journeys/product-collection/selected/controller.js.map +1 -1
  243. package/dpr/routes/journeys/product-collection/selected/routes.js.map +1 -1
  244. package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +1 -1
  245. package/dpr/routes/journeys/product-collection/selected/validation.js.map +1 -1
  246. package/dpr/routes/journeys/request-missing-report/form/controller.js.map +1 -1
  247. package/dpr/routes/journeys/request-missing-report/form/routes.js.map +1 -1
  248. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +1 -1
  249. package/dpr/routes/journeys/request-missing-report/form/validation.js.map +1 -1
  250. package/dpr/routes/journeys/request-missing-report/routes.js.map +1 -1
  251. package/dpr/routes/journeys/request-missing-report/submitted/controller.js.map +1 -1
  252. package/dpr/routes/journeys/request-missing-report/submitted/routes.js.map +1 -1
  253. package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js.map +1 -1
  254. package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +1 -1
  255. package/dpr/routes/journeys/request-report/controller.js.map +1 -1
  256. package/dpr/routes/journeys/request-report/filters/controller.js.map +1 -1
  257. package/dpr/routes/journeys/request-report/filters/routes.js.map +1 -1
  258. package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +1 -1
  259. package/dpr/routes/journeys/request-report/filters/utils.js.map +1 -1
  260. package/dpr/routes/journeys/request-report/routes.js.map +1 -1
  261. package/dpr/routes/journeys/request-report/status/controller.js.map +1 -1
  262. package/dpr/routes/journeys/request-report/status/routes.js.map +1 -1
  263. package/dpr/routes/journeys/request-report/status/tests.cy.js.map +1 -1
  264. package/dpr/routes/journeys/request-report/status/utils.js.map +1 -1
  265. package/dpr/routes/journeys/request-report/tests.cy.js.map +1 -1
  266. package/dpr/routes/journeys/routes.js.map +1 -1
  267. package/dpr/routes/journeys/view-report/async/controller.js.map +1 -1
  268. package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +1 -1
  269. package/dpr/routes/journeys/view-report/async/dashboard/routes.js.map +1 -1
  270. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +1 -1
  271. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +1 -1
  272. package/dpr/routes/journeys/view-report/async/report/controller.js.map +1 -1
  273. package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js.map +1 -1
  274. package/dpr/routes/journeys/view-report/async/report/routes.js.map +1 -1
  275. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +1 -1
  276. package/dpr/routes/journeys/view-report/async/report/types.js.map +1 -1
  277. package/dpr/routes/journeys/view-report/async/report/utils.js +2 -2
  278. package/dpr/routes/journeys/view-report/async/report/utils.js.map +3 -3
  279. package/dpr/routes/journeys/view-report/async/report/utils.ts +2 -2
  280. package/dpr/routes/journeys/view-report/async/routes.js.map +1 -1
  281. package/dpr/routes/journeys/view-report/controller.js.map +2 -2
  282. package/dpr/routes/journeys/view-report/controller.ts +1 -1
  283. package/dpr/routes/journeys/view-report/routes.js.map +1 -1
  284. package/dpr/routes/journeys/view-report/sync/dashboard/controller.js.map +1 -1
  285. package/dpr/routes/journeys/view-report/sync/dashboard/routes.js.map +1 -1
  286. package/dpr/routes/journeys/view-report/sync/dashboard/utils.js.map +1 -1
  287. package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +1 -1
  288. package/dpr/routes/journeys/view-report/sync/load-report/routes.js.map +1 -1
  289. package/dpr/routes/journeys/view-report/sync/report/controller.js.map +1 -1
  290. package/dpr/routes/journeys/view-report/sync/report/routes.js.map +1 -1
  291. package/dpr/routes/journeys/view-report/sync/report/utils.js.map +1 -1
  292. package/dpr/routes/journeys/view-report/sync/routes.js.map +1 -1
  293. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +1 -1
  294. package/dpr/routes/journeys/view-report/utils.js.map +1 -1
  295. package/dpr/services/dashboardService.js.map +1 -1
  296. package/dpr/services/defaultFilterValuesService.js.map +1 -1
  297. package/dpr/services/featureFlagService.js.map +1 -1
  298. package/dpr/services/featureFlags.cy.js.map +1 -1
  299. package/dpr/services/index.js.map +1 -1
  300. package/dpr/services/missingReport/missingReportService.js.map +1 -1
  301. package/dpr/services/productCollection/productCollectionService.js.map +1 -1
  302. package/dpr/services/productCollection/productCollectionStoreService.js.map +1 -1
  303. package/dpr/services/reportStoreService.js.map +1 -1
  304. package/dpr/services/reportingService.js.map +1 -1
  305. package/dpr/setUpNunjucksFilters.js.map +1 -1
  306. package/dpr/types/AsyncReportUtils.js.map +1 -1
  307. package/dpr/types/Bookmark.js.map +1 -1
  308. package/dpr/types/Charts.js.map +1 -1
  309. package/dpr/types/Download.js.map +1 -1
  310. package/dpr/types/DprConfig.js.map +1 -1
  311. package/dpr/types/DprUser.js.map +1 -1
  312. package/dpr/types/EmbeddedReportUtils.js.map +1 -1
  313. package/dpr/types/ExecutionData.d.js.map +1 -1
  314. package/dpr/types/Metrics.js.map +1 -1
  315. package/dpr/types/ReportQuery.js.map +1 -1
  316. package/dpr/types/ReportStore.js.map +1 -1
  317. package/dpr/types/Services.d.js.map +1 -1
  318. package/dpr/types/Templates.d.js.map +1 -1
  319. package/dpr/types/UserReports.js.map +1 -1
  320. package/dpr/types/api.d.js.map +1 -1
  321. package/dpr/types/index.d.js.map +1 -1
  322. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +1 -1
  323. package/dpr/utils/CreateDprServices.js.map +1 -1
  324. package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +1 -1
  325. package/dpr/utils/DataTableBuilder/types.d.js.map +1 -1
  326. package/dpr/utils/DateMapper/DateMapper.js.map +1 -1
  327. package/dpr/utils/DateMapper/types.d.js.map +1 -1
  328. package/dpr/utils/ErrorHandler.js.map +1 -1
  329. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +1 -1
  330. package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +1 -1
  331. package/dpr/utils/Personalisation/personalisationUtils.js.map +1 -1
  332. package/dpr/utils/Personalisation/types.d.js.map +1 -1
  333. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +1 -1
  334. package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +1 -1
  335. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +1 -1
  336. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +1 -1
  337. package/dpr/utils/UserStoreItemBuilder.js.map +1 -1
  338. package/dpr/utils/arrayUtils.js.map +1 -1
  339. package/dpr/utils/datasetHelper.js.map +1 -1
  340. package/dpr/utils/definitionUtils.js.map +1 -1
  341. package/dpr/utils/index.js.map +1 -1
  342. package/dpr/utils/indexedAccesHelper.js.map +1 -1
  343. package/dpr/utils/localsHelper.js.map +1 -1
  344. package/dpr/utils/logger.js.map +1 -1
  345. package/dpr/utils/reportListsHelper.js.map +1 -1
  346. package/dpr/utils/reportStoreHelper.js.map +1 -1
  347. package/dpr/utils/requestStatusHelper.js.map +1 -1
  348. package/dpr/utils/sanitisedError.js.map +1 -1
  349. package/dpr/utils/urlHelper.js.map +1 -1
  350. package/dpr/validation/validate.js.map +1 -1
  351. package/package.json +10 -6
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../dpr/components/_charts/chart/clientClass.ts"],
4
+ "sourcesContent": ["// @ts-nocheck\n/* eslint-disable class-methods-use-this */\nimport Chart from 'chart.js/auto'\nimport ChartDataLabels from 'chartjs-plugin-datalabels'\nimport { MatrixController, MatrixElement } from 'chartjs-chart-matrix'\n\nimport { DprClientClass } from '../../../DprClientClass'\n\nclass ChartVisualisation extends DprClientClass {\n setupCanvas() {\n this.chartContext = this.getElement().querySelector('canvas')\n\n // data\n this.id = this.chartContext.getAttribute('id')\n this.chartParams = JSON.parse(this.getElement().getAttribute('data-dpr-chart-data'))\n this.type = this.getElement().getAttribute('data-dpr-chart-type')\n this.setValueSuffix()\n\n // elements\n this.legend = this.getElement().querySelector(`#js-legend-${this.id}`)\n\n // ChartCard elements\n this.tooltipDetailsEl = document.getElementById(`dpr-${this.id}-tooltip-details`)\n this.headlineValuesEl = document.getElementById(`dpr-${this.id}-headline-values`)\n this.labelElement = document.getElementById(`dpr-${this.id}-label`)\n this.valueElement = document.getElementById(`dpr-${this.id}-value`)\n this.legendElement = document.getElementById(`dpr-${this.id}-legend`)\n this.legendElement = document.getElementById(`dpr-${this.id}-legend`)\n\n if (this.chartParams.partialDate) {\n this.partialStart = this.chartParams.partialDate.start || false\n this.partialEnd = this.chartParams.partialDate.end || false\n }\n\n // flags\n this.singleDataset = this.chartParams.datasets.length === 1\n }\n\n initChart() {\n // Prevent font loading issue\n window.addEventListener('load', () => {\n // An example of creating a chart, replace with your code:\n Chart.defaults.font.family = 'GDS Transport'\n Chart.defaults.font.size = 12\n Chart.register(ChartDataLabels)\n Chart.register(MatrixController, MatrixElement)\n this.chart = new Chart(this.chartContext, this.chartData)\n })\n\n this.initChartEvents()\n }\n\n generateChartData(settings) {\n const { datasets, labels, config } = this.chartParams\n const { options, datalabels, plugins, pluginsOptions, toolTipOptions, hoverEvent, styling } = settings\n\n const chartData = {\n type: this.type,\n data: {\n labels,\n datasets: this.createDatasets(datasets, styling),\n },\n options: {\n ...config,\n ...(options && options),\n ...(hoverEvent && hoverEvent),\n plugins: {\n ...config.plugins,\n ...(pluginsOptions && pluginsOptions),\n ...(datalabels && { datalabels }),\n tooltip: {\n ...config.plugins.tooltip,\n ...(toolTipOptions && toolTipOptions),\n },\n },\n },\n plugins: plugins && plugins.length ? [...plugins] : [],\n }\n\n return chartData\n }\n\n createDatasets(datasets, styling) {\n return datasets.map((dataset) => {\n return {\n ...dataset,\n ...(styling && styling),\n }\n })\n }\n\n setHoverValue({ label, value, legend, ctx }) {\n if (ctx.tooltipDetailsEl) {\n ctx.tooltipDetailsEl.style.display = 'block'\n ctx.labelElement.innerHTML = ctx.singleDataset ? `${label}` : `${legend}: ${label}`\n ctx.valueElement.innerHTML = `${value}`\n }\n if (ctx.headlineValuesEl) {\n ctx.headlineValuesEl.style.display = 'none'\n }\n if (!legend) {\n ctx.legendElement.style.display = 'none'\n }\n }\n\n setValueSuffix() {\n this.unit = this.getElement().getAttribute('data-dpr-chart-unit')\n this.suffix = this.unit === 'percentage' ? '%' : ''\n }\n\n isPercentage() {\n return this.unit === 'percentage'\n }\n\n initChartEvents() {\n this.chart.canvas.addEventListener('mouseout', (e) => {\n if (this.tooltipDetailsEl) this.tooltipDetailsEl.style.display = 'none'\n if (this.headlineValuesEl) this.headlineValuesEl.style.display = 'block'\n })\n }\n}\n\nexport { ChartVisualisation }\nexport default ChartVisualisation\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,kBAAkB;AAClB,uCAA4B;AAC5B,kCAAgD;AAEhD,4BAA+B;AAE/B,MAAM,2BAA2B,qCAAe;AAAA,EAC9C,cAAc;AACZ,SAAK,eAAe,KAAK,WAAW,EAAE,cAAc,QAAQ;AAG5D,SAAK,KAAK,KAAK,aAAa,aAAa,IAAI;AAC7C,SAAK,cAAc,KAAK,MAAM,KAAK,WAAW,EAAE,aAAa,qBAAqB,CAAC;AACnF,SAAK,OAAO,KAAK,WAAW,EAAE,aAAa,qBAAqB;AAChE,SAAK,eAAe;AAGpB,SAAK,SAAS,KAAK,WAAW,EAAE,cAAc,cAAc,KAAK,EAAE,EAAE;AAGrE,SAAK,mBAAmB,SAAS,eAAe,OAAO,KAAK,EAAE,kBAAkB;AAChF,SAAK,mBAAmB,SAAS,eAAe,OAAO,KAAK,EAAE,kBAAkB;AAChF,SAAK,eAAe,SAAS,eAAe,OAAO,KAAK,EAAE,QAAQ;AAClE,SAAK,eAAe,SAAS,eAAe,OAAO,KAAK,EAAE,QAAQ;AAClE,SAAK,gBAAgB,SAAS,eAAe,OAAO,KAAK,EAAE,SAAS;AACpE,SAAK,gBAAgB,SAAS,eAAe,OAAO,KAAK,EAAE,SAAS;AAEpE,QAAI,KAAK,YAAY,aAAa;AAChC,WAAK,eAAe,KAAK,YAAY,YAAY,SAAS;AAC1D,WAAK,aAAa,KAAK,YAAY,YAAY,OAAO;AAAA,IACxD;AAGA,SAAK,gBAAgB,KAAK,YAAY,SAAS,WAAW;AAAA,EAC5D;AAAA,EAEA,YAAY;AAEV,WAAO,iBAAiB,QAAQ,MAAM;AAEpC,kBAAAA,QAAM,SAAS,KAAK,SAAS;AAC7B,kBAAAA,QAAM,SAAS,KAAK,OAAO;AAC3B,kBAAAA,QAAM,SAAS,iCAAAC,OAAe;AAC9B,kBAAAD,QAAM,SAAS,8CAAkB,yCAAa;AAC9C,WAAK,QAAQ,IAAI,YAAAA,QAAM,KAAK,cAAc,KAAK,SAAS;AAAA,IAC1D,CAAC;AAED,SAAK,gBAAgB;AAAA,EACvB;AAAA,EAEA,kBAAkB,UAAU;AAC1B,UAAM,EAAE,UAAU,QAAQ,OAAO,IAAI,KAAK;AAC1C,UAAM,EAAE,SAAS,YAAY,SAAS,gBAAgB,gBAAgB,YAAY,QAAQ,IAAI;AAE9F,UAAM,YAAY;AAAA,MAChB,MAAM,KAAK;AAAA,MACX,MAAM;AAAA,QACJ;AAAA,QACA,UAAU,KAAK,eAAe,UAAU,OAAO;AAAA,MACjD;AAAA,MACA,SAAS;AAAA,QACP,GAAG;AAAA,QACH,GAAI,WAAW;AAAA,QACf,GAAI,cAAc;AAAA,QAClB,SAAS;AAAA,UACP,GAAG,OAAO;AAAA,UACV,GAAI,kBAAkB;AAAA,UACtB,GAAI,cAAc,EAAE,WAAW;AAAA,UAC/B,SAAS;AAAA,YACP,GAAG,OAAO,QAAQ;AAAA,YAClB,GAAI,kBAAkB;AAAA,UACxB;AAAA,QACF;AAAA,MACF;AAAA,MACA,SAAS,WAAW,QAAQ,SAAS,CAAC,GAAG,OAAO,IAAI,CAAC;AAAA,IACvD;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,eAAe,UAAU,SAAS;AAChC,WAAO,SAAS,IAAI,CAAC,YAAY;AAC/B,aAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAI,WAAW;AAAA,MACjB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,cAAc,EAAE,OAAO,OAAO,QAAQ,IAAI,GAAG;AAC3C,QAAI,IAAI,kBAAkB;AACxB,UAAI,iBAAiB,MAAM,UAAU;AACrC,UAAI,aAAa,YAAY,IAAI,gBAAgB,GAAG,KAAK,KAAK,GAAG,MAAM,KAAK,KAAK;AACjF,UAAI,aAAa,YAAY,GAAG,KAAK;AAAA,IACvC;AACA,QAAI,IAAI,kBAAkB;AACxB,UAAI,iBAAiB,MAAM,UAAU;AAAA,IACvC;AACA,QAAI,CAAC,QAAQ;AACX,UAAI,cAAc,MAAM,UAAU;AAAA,IACpC;AAAA,EACF;AAAA,EAEA,iBAAiB;AACf,SAAK,OAAO,KAAK,WAAW,EAAE,aAAa,qBAAqB;AAChE,SAAK,SAAS,KAAK,SAAS,eAAe,MAAM;AAAA,EACnD;AAAA,EAEA,eAAe;AACb,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA,EAEA,kBAAkB;AAChB,SAAK,MAAM,OAAO,iBAAiB,YAAY,CAAC,MAAM;AACpD,UAAI,KAAK,iBAAkB,MAAK,iBAAiB,MAAM,UAAU;AACjE,UAAI,KAAK,iBAAkB,MAAK,iBAAiB,MAAM,UAAU;AAAA,IACnE,CAAC;AAAA,EACH;AACF;AAGA,IAAO,sBAAQ;",
6
+ "names": ["Chart", "ChartDataLabels"]
7
+ }
@@ -1,9 +1,10 @@
1
+ // @ts-nocheck
1
2
  /* eslint-disable class-methods-use-this */
2
3
  import Chart from 'chart.js/auto'
3
4
  import ChartDataLabels from 'chartjs-plugin-datalabels'
4
5
  import { MatrixController, MatrixElement } from 'chartjs-chart-matrix'
5
6
 
6
- import { DprClientClass } from '../../../DprClientClass.mjs'
7
+ import { DprClientClass } from '../../../DprClientClass'
7
8
 
8
9
  class ChartVisualisation extends DprClientClass {
9
10
  setupCanvas() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../src/dpr/components/_charts/chart/doughnut/DoughnutChart.ts"],
3
+ "sources": ["../../../../../dpr/components/_charts/chart/doughnut/DoughnutChart.ts"],
4
4
  "sourcesContent": ["/* eslint-disable prefer-destructuring */\nimport {\n DashboardVisualisationType,\n DashboardVisualisationData,\n VisualisationDefinitionKey,\n} from '../../../_dashboards/dashboard-visualisation/types'\nimport { components } from '../../../../types/api'\nimport Chart from '../Chart'\nimport { DoughnutDefinitionMeasure, DoughnutDefinitionType } from './types'\nimport DoughnutChartSchemas from './validate'\n\nclass DoughnutChart extends Chart {\n private definition!: DoughnutDefinitionType\n\n private measures!: DoughnutDefinitionMeasure[]\n\n private keys!: VisualisationDefinitionKey[]\n\n private init = () => {\n this.measures = this.definition.columns.measures\n this.keys = this.definition.columns.keys || []\n this.initUnit(this.measures)\n this.getLabelId(this.keys)\n }\n\n withDefinition = (definition: components['schemas']['DashboardVisualisationDefinition']) => {\n this.definition = DoughnutChartSchemas.DoughnutSchema.parse(definition)\n this.init()\n\n return this\n }\n\n build = (): DashboardVisualisationData => {\n this.createDatasets(this.measures, this.responseData)\n this.augmentDataset()\n this.setBespokeOptions()\n this.createLabels(this.measures)\n\n return {\n type: DashboardVisualisationType.DONUT,\n options: {\n unit: this.unit,\n },\n data: {\n labels: this.labels,\n datasets: this.datasets,\n config: this.config,\n },\n }\n }\n\n private augmentDataset = () => {\n this.datasets = this.datasets.map((set) => {\n return {\n ...set,\n backgroundColor: [...this.hexColours, ...this.hexColours],\n borderColor: '#FFFFFF',\n hoverOffset: 4,\n datalabels: {\n anchor: 'center',\n borderWidth: 0,\n },\n }\n })\n }\n\n private setBespokeOptions = () => {\n const cutout = this.datasets.length === 1 ? '50%' : '20%'\n this.config = {\n ...this.config,\n cutout,\n }\n }\n}\n\nexport { DoughnutChart }\nexport default DoughnutChart\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAIO;AAEP,mBAAkB;AAElB,sBAAiC;AAEjC,MAAM,sBAAsB,aAAAA,QAAM;AAAA,EACxB;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,OAAO,MAAM;AACnB,SAAK,WAAW,KAAK,WAAW,QAAQ;AACxC,SAAK,OAAO,KAAK,WAAW,QAAQ,QAAQ,CAAC;AAC7C,SAAK,SAAS,KAAK,QAAQ;AAC3B,SAAK,WAAW,KAAK,IAAI;AAAA,EAC3B;AAAA,EAEA,iBAAiB,CAAC,eAA0E;AAC1F,SAAK,aAAa,gBAAAC,QAAqB,eAAe,MAAM,UAAU;AACtE,SAAK,KAAK;AAEV,WAAO;AAAA,EACT;AAAA,EAEA,QAAQ,MAAkC;AACxC,SAAK,eAAe,KAAK,UAAU,KAAK,YAAY;AACpD,SAAK,eAAe;AACpB,SAAK,kBAAkB;AACvB,SAAK,aAAa,KAAK,QAAQ;AAE/B,WAAO;AAAA,MACL,MAAM,wCAA2B;AAAA,MACjC,SAAS;AAAA,QACP,MAAM,KAAK;AAAA,MACb;AAAA,MACA,MAAM;AAAA,QACJ,QAAQ,KAAK;AAAA,QACb,UAAU,KAAK;AAAA,QACf,QAAQ,KAAK;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,iBAAiB,MAAM;AAC7B,SAAK,WAAW,KAAK,SAAS,IAAI,CAAC,QAAQ;AACzC,aAAO;AAAA,QACL,GAAG;AAAA,QACH,iBAAiB,CAAC,GAAG,KAAK,YAAY,GAAG,KAAK,UAAU;AAAA,QACxD,aAAa;AAAA,QACb,aAAa;AAAA,QACb,YAAY;AAAA,UACV,QAAQ;AAAA,UACR,aAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEQ,oBAAoB,MAAM;AAChC,UAAM,SAAS,KAAK,SAAS,WAAW,IAAI,QAAQ;AACpD,SAAK,SAAS;AAAA,MACZ,GAAG,KAAK;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;AAGA,IAAO,wBAAQ;",
6
6
  "names": ["Chart", "DoughnutChartSchemas"]
@@ -0,0 +1,170 @@
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 clientClass_exports = {};
30
+ __export(clientClass_exports, {
31
+ DoughnutChartVisualisation: () => DoughnutChartVisualisation,
32
+ default: () => clientClass_default
33
+ });
34
+ module.exports = __toCommonJS(clientClass_exports);
35
+ var import_clientClass = __toESM(require("../clientClass"));
36
+ class DoughnutChartVisualisation extends import_clientClass.default {
37
+ static getModuleName() {
38
+ return "doughnut-chart";
39
+ }
40
+ initialise() {
41
+ this.setupCanvas();
42
+ this.settings = this.initSettings();
43
+ this.chartData = this.generateChartData(this.settings);
44
+ this.initChart(this.chartData);
45
+ }
46
+ initSettings() {
47
+ return {
48
+ options: this.setOptions(),
49
+ datalabels: this.setDataLabels(),
50
+ pluginsOptions: this.setPluginsOptions(),
51
+ toolTipOptions: this.setToolTipOptions(),
52
+ plugins: this.setPlugins()
53
+ };
54
+ }
55
+ setOptions() {
56
+ const cutoutValue = this.chartParams.datasets.length === 1 ? "50%" : "20%";
57
+ return {
58
+ cutout: cutoutValue
59
+ };
60
+ }
61
+ setPluginsOptions() {
62
+ return {
63
+ legend: {
64
+ display: true,
65
+ position: "bottom"
66
+ }
67
+ };
68
+ }
69
+ setPlugins() {
70
+ const plugins = [];
71
+ if (this.chartParams.datasets.length === 1 && !this.isPercentage) {
72
+ plugins.push(this.setCentralText());
73
+ }
74
+ return plugins;
75
+ }
76
+ setCentralText() {
77
+ return {
78
+ // Put the total in the center of the donut
79
+ id: "text",
80
+ beforeDraw(chart) {
81
+ const { width } = chart;
82
+ const { height } = chart;
83
+ const { ctx } = chart;
84
+ ctx.textBaseline = "middle";
85
+ let fontSize = 2.5;
86
+ ctx.font = `100 ${fontSize}em GDS Transport`;
87
+ ctx.fillStyle = " #505a5f";
88
+ const total = chart.data.datasets[0].data.reduce((a, c) => a + c, 0);
89
+ const text = total;
90
+ const textX = Math.round((width - ctx.measureText(text).width) / 2);
91
+ const textY = height / 2;
92
+ ctx.fillText(text, textX, textY);
93
+ ctx.save();
94
+ ctx.textBaseline = "middle";
95
+ fontSize = 1;
96
+ ctx.font = `100 ${fontSize}em GDS Transport`;
97
+ ctx.fillStyle = " #505a5f";
98
+ const title = "Total";
99
+ const titleX = Math.round((width - ctx.measureText(title).width) / 2);
100
+ const titleY = textY + 30;
101
+ ctx.fillText(title, titleX, titleY);
102
+ ctx.save();
103
+ }
104
+ };
105
+ }
106
+ setToolTipOptions() {
107
+ const ctx = this;
108
+ return {
109
+ callbacks: {
110
+ title(context) {
111
+ const { label, dataset } = context[0];
112
+ const { label: establishmentId } = dataset;
113
+ const title = ctx.singleDataset ? `${label}` : `${establishmentId}: ${label}`;
114
+ return title;
115
+ },
116
+ label(context) {
117
+ const { label, parsed: value, dataset } = context;
118
+ const { label: legend } = dataset;
119
+ const dataArr = dataset.data;
120
+ let toolipValue = `${value}${ctx.suffix}`;
121
+ if (!ctx.isPercentage) {
122
+ const val = dataArr.reduce((sum, d) => sum + Number(d), 0);
123
+ const percentage = `${(value * 100 / val).toFixed(2)}%`;
124
+ toolipValue = ctx.singleDataset ? `${toolipValue} (${percentage})` : `${legend}: ${toolipValue} (${percentage})`;
125
+ ctx.setHoverValue({ label, value: toolipValue, legend, ctx });
126
+ } else {
127
+ toolipValue = `${toolipValue}`;
128
+ ctx.setHoverValue({ label, value: toolipValue, legend, ctx });
129
+ }
130
+ return toolipValue;
131
+ }
132
+ }
133
+ };
134
+ }
135
+ setDataLabels() {
136
+ const ctx = this;
137
+ return {
138
+ textAlign: "center",
139
+ color: "#FFF",
140
+ display: (context) => {
141
+ const { dataset, dataIndex } = context;
142
+ const value = dataset.data[dataIndex];
143
+ const total = dataset.data.reduce((a, c) => a + c, 0);
144
+ const percentage = value / total * 100;
145
+ return percentage > 4;
146
+ },
147
+ formatter: (value, context) => {
148
+ const { dataset } = context;
149
+ const label = ctx.singleDataset ? `${value}${this.suffix}` : `${value}${this.suffix}
150
+ ${dataset.label}`;
151
+ return label;
152
+ },
153
+ labels: {
154
+ title: {
155
+ font: {
156
+ weight: "bold",
157
+ size: 16,
158
+ color: "#FFF"
159
+ }
160
+ }
161
+ }
162
+ };
163
+ }
164
+ }
165
+ var clientClass_default = DoughnutChartVisualisation;
166
+ // Annotate the CommonJS export names for ESM import in node:
167
+ 0 && (module.exports = {
168
+ DoughnutChartVisualisation
169
+ });
170
+ //# sourceMappingURL=clientClass.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../dpr/components/_charts/chart/doughnut/clientClass.ts"],
4
+ "sourcesContent": ["// @ts-nocheck\n/* eslint-disable class-methods-use-this */\nimport ChartVisualisation from '../clientClass'\n\nclass DoughnutChartVisualisation extends ChartVisualisation {\n static getModuleName() {\n return 'doughnut-chart'\n }\n\n initialise() {\n this.setupCanvas()\n this.settings = this.initSettings()\n this.chartData = this.generateChartData(this.settings)\n this.initChart(this.chartData)\n }\n\n initSettings() {\n return {\n options: this.setOptions(),\n datalabels: this.setDataLabels(),\n pluginsOptions: this.setPluginsOptions(),\n toolTipOptions: this.setToolTipOptions(),\n plugins: this.setPlugins(),\n }\n }\n\n setOptions() {\n const cutoutValue = this.chartParams.datasets.length === 1 ? '50%' : '20%'\n return {\n cutout: cutoutValue,\n }\n }\n\n setPluginsOptions() {\n return {\n legend: {\n display: true,\n position: 'bottom',\n },\n }\n }\n\n setPlugins() {\n const plugins = []\n if (this.chartParams.datasets.length === 1 && !this.isPercentage) {\n plugins.push(this.setCentralText())\n }\n return plugins\n }\n\n setCentralText() {\n return {\n // Put the total in the center of the donut\n id: 'text',\n beforeDraw(chart) {\n const { width } = chart\n const { height } = chart\n const { ctx } = chart\n\n ctx.textBaseline = 'middle'\n let fontSize = 2.5\n ctx.font = `100 ${fontSize}em GDS Transport`\n ctx.fillStyle = '\t#505a5f'\n\n // Accumulated total\n const total = chart.data.datasets[0].data.reduce((a, c) => a + c, 0)\n const text = total\n const textX = Math.round((width - ctx.measureText(text).width) / 2)\n const textY = height / 2\n\n ctx.fillText(text, textX, textY)\n ctx.save()\n\n ctx.textBaseline = 'middle'\n fontSize = 1\n ctx.font = `100 ${fontSize}em GDS Transport`\n ctx.fillStyle = '\t#505a5f'\n\n // Chart title\n const title = 'Total'\n const titleX = Math.round((width - ctx.measureText(title).width) / 2)\n const titleY = textY + 30\n\n ctx.fillText(title, titleX, titleY)\n ctx.save()\n },\n }\n }\n\n setToolTipOptions() {\n const ctx = this\n return {\n callbacks: {\n title(context) {\n const { label, dataset } = context[0]\n const { label: establishmentId } = dataset\n const title = ctx.singleDataset ? `${label}` : `${establishmentId}: ${label}`\n return title\n },\n label(context) {\n const { label, parsed: value, dataset } = context\n const { label: legend } = dataset\n const dataArr = dataset.data\n\n let toolipValue = `${value}${ctx.suffix}`\n\n if (!ctx.isPercentage) {\n const val = dataArr.reduce((sum, d) => sum + Number(d), 0)\n const percentage = `${((value * 100) / val).toFixed(2)}%`\n toolipValue = ctx.singleDataset\n ? `${toolipValue} (${percentage})`\n : `${legend}: ${toolipValue} (${percentage})`\n ctx.setHoverValue({ label, value: toolipValue, legend, ctx })\n } else {\n toolipValue = `${toolipValue}`\n ctx.setHoverValue({ label, value: toolipValue, legend, ctx })\n }\n\n return toolipValue\n },\n },\n }\n }\n\n setDataLabels() {\n const ctx = this\n return {\n textAlign: 'center',\n color: '#FFF',\n display: (context) => {\n const { dataset, dataIndex } = context\n const value = dataset.data[dataIndex]\n const total = dataset.data.reduce((a, c) => a + c, 0)\n const percentage = (value / total) * 100\n return percentage > 4\n },\n formatter: (value, context) => {\n const { dataset } = context\n const label = ctx.singleDataset\n ? `${value}${this.suffix}`\n : `${value}${this.suffix}\n${dataset.label}`\n\n return label\n },\n labels: {\n title: {\n font: {\n weight: 'bold',\n size: 16,\n color: '#FFF',\n },\n },\n },\n }\n }\n}\n\nexport { DoughnutChartVisualisation }\nexport default DoughnutChartVisualisation\n"],
5
+ "mappings": "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",
6
+ "names": ["ChartVisualisation"]
7
+ }
@@ -1,5 +1,6 @@
1
+ // @ts-nocheck
1
2
  /* eslint-disable class-methods-use-this */
2
- import ChartVisualisation from '../clientClass.mjs'
3
+ import ChartVisualisation from '../clientClass'
3
4
 
4
5
  class DoughnutChartVisualisation extends ChartVisualisation {
5
6
  static getModuleName() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../src/dpr/components/_charts/chart/doughnut/types.ts"],
3
+ "sources": ["../../../../../dpr/components/_charts/chart/doughnut/types.ts"],
4
4
  "sourcesContent": ["import z from 'zod'\nimport DoughnutChartSchemas from './validate'\n\nexport type DoughnutDefinitionType = z.infer<typeof DoughnutChartSchemas.DoughnutSchema>\nexport type DoughnutDefinitionMeasure = z.infer<typeof DoughnutChartSchemas.DounutMeasureSchema>\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../src/dpr/components/_charts/chart/doughnut/validate.ts"],
3
+ "sources": ["../../../../../dpr/components/_charts/chart/doughnut/validate.ts"],
4
4
  "sourcesContent": ["import { z } from 'zod'\nimport { DashboardVisualisationSchema, DashboardColumns } from '../../../_dashboards/dashboard-visualisation/Validate'\n\nconst DounutMeasureSchema = z.object({\n id: z.string(),\n display: z.string().optional(),\n unit: z.enum(['NUMBER', 'PERCENTAGE']).optional(),\n})\n\nconst DonutOptions = z.object({\n showLatest: z.boolean().default(true),\n})\n\nconst DoughnutSchema = z.object({\n ...DashboardVisualisationSchema.shape,\n type: z.literal('doughnut'),\n display: z.string(),\n options: z.object(DonutOptions.shape).optional(),\n columns: z.object({\n ...DashboardColumns.shape,\n measures: z.array(DounutMeasureSchema).min(2, 'Measure must contain 2 items'),\n }),\n})\n\nconst DoughnutChartSchemas = {\n DoughnutSchema,\n DounutMeasureSchema,\n}\n\nexport default DoughnutChartSchemas\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,sBAA+D;AAE/D,MAAM,sBAAsB,aAAE,OAAO;AAAA,EACnC,IAAI,aAAE,OAAO;AAAA,EACb,SAAS,aAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,MAAM,aAAE,KAAK,CAAC,UAAU,YAAY,CAAC,EAAE,SAAS;AAClD,CAAC;AAED,MAAM,eAAe,aAAE,OAAO;AAAA,EAC5B,YAAY,aAAE,QAAQ,EAAE,QAAQ,IAAI;AACtC,CAAC;AAED,MAAM,iBAAiB,aAAE,OAAO;AAAA,EAC9B,GAAG,6CAA6B;AAAA,EAChC,MAAM,aAAE,QAAQ,UAAU;AAAA,EAC1B,SAAS,aAAE,OAAO;AAAA,EAClB,SAAS,aAAE,OAAO,aAAa,KAAK,EAAE,SAAS;AAAA,EAC/C,SAAS,aAAE,OAAO;AAAA,IAChB,GAAG,iCAAiB;AAAA,IACpB,UAAU,aAAE,MAAM,mBAAmB,EAAE,IAAI,GAAG,8BAA8B;AAAA,EAC9E,CAAC;AACH,CAAC;AAED,MAAM,uBAAuB;AAAA,EAC3B;AAAA,EACA;AACF;AAEA,IAAO,mBAAQ;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../src/dpr/components/_charts/chart/heatmap/HeatmapChart.ts"],
3
+ "sources": ["../../../../../dpr/components/_charts/chart/heatmap/HeatmapChart.ts"],
4
4
  "sourcesContent": ["/* eslint-disable prefer-destructuring */\nimport dayjs from 'dayjs'\nimport { Granularity } from '../../../_inputs/granular-date-range/types'\nimport { DashboardDataResponse } from '../../../../types/Metrics'\nimport {\n DashboardVisualisationType,\n DashboardVisualisationData,\n DashboardVisualisationDataSet,\n} from '../../../_dashboards/dashboard-visualisation/types'\nimport { MatrixChartData, MatrixTimeseriesDefinitionType } from './types'\nimport DatasetHelper from '../../../../utils/datasetHelper'\nimport Buckets from '../buckets/Buckets'\nimport { components } from '../../../../types/api'\nimport MatrixSchema from './validate'\nimport ChartConfig from '../chart-config'\n\nclass HeatmapChart {\n private definition!: MatrixTimeseriesDefinitionType\n\n private measures!: MatrixTimeseriesDefinitionType['columns']['measures']\n\n private responseData: DashboardDataResponse[] = []\n\n private granularity!: Granularity\n\n private data: MatrixChartData[] = []\n\n private dayDateFormat = 'DD/MM/YYYY'\n\n private valueKey = ''\n\n private label = ''\n\n private unit: 'NUMBER' | 'PERCENTAGE' | undefined\n\n private bucketsHelper!: Buckets\n\n private datasets: DashboardVisualisationDataSet[] = []\n\n config = ChartConfig\n\n private xLabels: (string | number)[] = []\n\n private yLabels: (string | number)[] = []\n\n withDefinition = (definition: components['schemas']['DashboardVisualisationDefinition']) => {\n this.definition = MatrixSchema.parse(definition)\n this.init()\n return this\n }\n\n withData = (responseData: DashboardDataResponse[]) => {\n this.responseData = responseData\n this.bucketsHelper = new Buckets(this.responseData, this.definition, this.valueKey, true)\n return this\n }\n\n withGranularity = (granularity: Granularity) => {\n this.granularity = granularity\n return this\n }\n\n private init = () => {\n this.measures = this.definition.columns.measures\n this.setLabel()\n this.initUnit()\n }\n\n initUnit = () => {\n this.unit = this.measures[0].unit ? this.measures[0].unit : undefined\n }\n\n private setLabel = () => {\n const { id, display } = this.measures[1]\n this.valueKey = id\n this.label = display || ''\n }\n\n private initTimeseriesData = () => {\n const timeBlockData = DatasetHelper.groupRowsByTimestamp(this.responseData)\n\n this.data = timeBlockData.map((tsData) => {\n const { raw, rag } = tsData[0][this.valueKey]\n const tsRaw = tsData[0]['ts'].raw\n\n const v: MatrixChartData['v'] = Number(raw)\n const r: MatrixChartData['r'] = rag !== undefined ? Number(tsData[0][this.valueKey].rag) : undefined\n let x: MatrixChartData['x'] = 0\n let y: MatrixChartData['y'] = 0\n\n switch (this.granularity) {\n case 'hourly':\n break\n case 'weekly':\n x = dayjs(tsRaw, this.dayDateFormat).format('ddd')\n y = dayjs(tsRaw, this.dayDateFormat).week()\n break\n case 'daily':\n x = dayjs(tsRaw, this.dayDateFormat).format('MMM YY')\n y = dayjs(tsRaw, this.dayDateFormat).format('D')\n break\n case 'monthly':\n {\n const ts = (<string>tsRaw).split(' ')\n x = ts[1]\n y = ts[0]\n }\n break\n case 'annually':\n x = 'year'\n y = <string>tsRaw\n break\n default:\n x = dayjs(tsRaw, this.dayDateFormat).format('MMM YY')\n y = dayjs(tsRaw, this.dayDateFormat).format('D')\n break\n }\n return { y, x, v, r }\n })\n\n this.bucketData()\n this.datasets = [\n {\n label: this.label,\n data: this.data,\n },\n ]\n }\n\n private bucketData = () => {\n this.data = this.data.map((d) => {\n const { v, r } = d\n const bucketData = this.bucketsHelper.getBucketForValue(v, r)\n return { ...d, c: bucketData.colour }\n })\n }\n\n private setBespokeOptions = () => {\n this.config = {\n ...this.config,\n scales: this.setScales(),\n }\n }\n\n setScales() {\n this.xLabels = [\n ...new Set(\n (<MatrixChartData[]>this.datasets[0].data).map((d) => {\n return d.x\n }),\n ),\n ]\n this.yLabels = [\n ...new Set(\n (<MatrixChartData[]>this.datasets[0].data).map((d) => {\n return d.y\n }),\n ),\n ]\n const grid = {\n display: false,\n drawBorder: false,\n }\n const ticks = {\n padding: 1,\n maxRotation: 0,\n stepSize: 1,\n }\n const offset = true\n const common = {\n offset,\n ticks,\n grid,\n }\n\n return {\n y: {\n position: 'left',\n type: 'category',\n ...(this.yLabels && { labels: this.yLabels }),\n ...common,\n },\n x: {\n position: 'top',\n type: 'category',\n ...(this.xLabels && { labels: this.xLabels }),\n ...common,\n },\n }\n }\n\n getCanvasHeight = () => {\n return this.yLabels.length / 2\n }\n\n build = (): DashboardVisualisationData => {\n this.initTimeseriesData()\n this.bucketData()\n this.setBespokeOptions()\n const height = this.getCanvasHeight()\n\n return {\n type: DashboardVisualisationType.MATRIX,\n options: {\n unit: this.unit,\n timeseries: true,\n height,\n },\n data: {\n datasets: this.datasets,\n config: this.config,\n },\n }\n }\n}\n\nexport { HeatmapChart }\nexport default HeatmapChart\n"],
5
5
  "mappings": "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",
6
6
  "names": ["import_types", "ChartConfig", "MatrixSchema", "Buckets", "DatasetHelper", "dayjs"]
@@ -0,0 +1,118 @@
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 clientClass_exports = {};
30
+ __export(clientClass_exports, {
31
+ default: () => MatrixChartVisualisation
32
+ });
33
+ module.exports = __toCommonJS(clientClass_exports);
34
+ var import_clientClass = __toESM(require("../clientClass"));
35
+ class MatrixChartVisualisation extends import_clientClass.default {
36
+ static getModuleName() {
37
+ return "matrix-chart";
38
+ }
39
+ initialise() {
40
+ this.setupCanvas();
41
+ this.settings = this.initSettings();
42
+ this.chartData = this.generateChartData(this.settings);
43
+ this.initChart(this.chartData);
44
+ }
45
+ initSettings() {
46
+ return {
47
+ toolTipOptions: this.setToolTipOptions()
48
+ };
49
+ }
50
+ setToolTipOptions() {
51
+ const ctx = this;
52
+ return {
53
+ callbacks: {
54
+ title(context) {
55
+ const { raw } = context[0];
56
+ const title = `${raw.y} ${raw.x}`;
57
+ return title;
58
+ },
59
+ label(context) {
60
+ const { data, label: legend } = context.dataset;
61
+ const dataValue = data[context.dataIndex];
62
+ const label = `${dataValue.y} ${dataValue.x}`;
63
+ const value = `${dataValue.v}${ctx.suffix}`;
64
+ ctx.setHoverValue({ label, value, legend, ctx });
65
+ return `${legend}: ${value}`;
66
+ }
67
+ }
68
+ };
69
+ }
70
+ generateChartData(settings) {
71
+ const { config } = this.chartParams;
72
+ const { options, plugins, pluginsOptions, toolTipOptions, hoverEvent } = settings;
73
+ const d = {
74
+ type: this.type,
75
+ data: {
76
+ datasets: this.createDatasets()
77
+ },
78
+ options: {
79
+ ...config,
80
+ ...options && options,
81
+ ...hoverEvent && hoverEvent,
82
+ plugins: {
83
+ ...config.plugins,
84
+ legend: {
85
+ position: "bottom",
86
+ display: false
87
+ },
88
+ ...pluginsOptions && pluginsOptions,
89
+ datalabels: {
90
+ display: false
91
+ },
92
+ tooltip: {
93
+ ...config.plugins.tooltip,
94
+ ...toolTipOptions && toolTipOptions
95
+ }
96
+ }
97
+ },
98
+ plugins: plugins && plugins.length ? [...plugins] : []
99
+ };
100
+ return d;
101
+ }
102
+ createDatasets() {
103
+ const { datasets } = this.chartParams;
104
+ return datasets.map((d) => {
105
+ const { label, data } = d;
106
+ return {
107
+ label,
108
+ data,
109
+ backgroundColor(c) {
110
+ return c.raw.c;
111
+ },
112
+ width: ({ chart }) => (chart.chartArea || {}).width / chart.scales.x.ticks.length - 1,
113
+ height: ({ chart }) => (chart.chartArea || {}).height / chart.scales.y.ticks.length - 1
114
+ };
115
+ });
116
+ }
117
+ }
118
+ //# sourceMappingURL=clientClass.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../dpr/components/_charts/chart/heatmap/clientClass.ts"],
4
+ "sourcesContent": ["// @ts-nocheck\n/* eslint-disable prefer-destructuring */\n/* eslint-disable class-methods-use-this */\nimport ChartVisualisation from '../clientClass'\n\nexport default class MatrixChartVisualisation extends ChartVisualisation {\n static getModuleName() {\n return 'matrix-chart'\n }\n\n initialise() {\n this.setupCanvas()\n this.settings = this.initSettings()\n this.chartData = this.generateChartData(this.settings)\n this.initChart(this.chartData)\n }\n\n initSettings() {\n return {\n toolTipOptions: this.setToolTipOptions(),\n }\n }\n\n setToolTipOptions() {\n const ctx = this\n return {\n callbacks: {\n title(context) {\n const { raw } = context[0]\n const title = `${raw.y} ${raw.x}`\n return title\n },\n label(context) {\n const { data, label: legend } = context.dataset\n const dataValue = data[context.dataIndex]\n const label = `${dataValue.y} ${dataValue.x}`\n const value = `${dataValue.v}${ctx.suffix}`\n ctx.setHoverValue({ label, value, legend, ctx })\n return `${legend}: ${value}`\n },\n },\n }\n }\n\n generateChartData(settings) {\n const { config } = this.chartParams\n const { options, plugins, pluginsOptions, toolTipOptions, hoverEvent } = settings\n const d = {\n type: this.type,\n data: {\n datasets: this.createDatasets(),\n },\n options: {\n ...config,\n ...(options && options),\n ...(hoverEvent && hoverEvent),\n plugins: {\n ...config.plugins,\n legend: {\n position: 'bottom',\n display: false,\n },\n ...(pluginsOptions && pluginsOptions),\n datalabels: {\n display: false,\n },\n tooltip: {\n ...config.plugins.tooltip,\n ...(toolTipOptions && toolTipOptions),\n },\n },\n },\n plugins: plugins && plugins.length ? [...plugins] : [],\n }\n\n return d\n }\n\n createDatasets() {\n const { datasets } = this.chartParams\n return datasets.map((d) => {\n const { label, data } = d\n return {\n label,\n data,\n backgroundColor(c) {\n return c.raw.c\n },\n width: ({ chart }) => (chart.chartArea || {}).width / chart.scales.x.ticks.length - 1,\n height: ({ chart }) => (chart.chartArea || {}).height / chart.scales.y.ticks.length - 1,\n }\n })\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,yBAA+B;AAE/B,MAAO,iCAA+C,mBAAAA,QAAmB;AAAA,EACvE,OAAO,gBAAgB;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,aAAa;AACX,SAAK,YAAY;AACjB,SAAK,WAAW,KAAK,aAAa;AAClC,SAAK,YAAY,KAAK,kBAAkB,KAAK,QAAQ;AACrD,SAAK,UAAU,KAAK,SAAS;AAAA,EAC/B;AAAA,EAEA,eAAe;AACb,WAAO;AAAA,MACL,gBAAgB,KAAK,kBAAkB;AAAA,IACzC;AAAA,EACF;AAAA,EAEA,oBAAoB;AAClB,UAAM,MAAM;AACZ,WAAO;AAAA,MACL,WAAW;AAAA,QACT,MAAM,SAAS;AACb,gBAAM,EAAE,IAAI,IAAI,QAAQ,CAAC;AACzB,gBAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;AAC/B,iBAAO;AAAA,QACT;AAAA,QACA,MAAM,SAAS;AACb,gBAAM,EAAE,MAAM,OAAO,OAAO,IAAI,QAAQ;AACxC,gBAAM,YAAY,KAAK,QAAQ,SAAS;AACxC,gBAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,UAAU,CAAC;AAC3C,gBAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,IAAI,MAAM;AACzC,cAAI,cAAc,EAAE,OAAO,OAAO,QAAQ,IAAI,CAAC;AAC/C,iBAAO,GAAG,MAAM,KAAK,KAAK;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,kBAAkB,UAAU;AAC1B,UAAM,EAAE,OAAO,IAAI,KAAK;AACxB,UAAM,EAAE,SAAS,SAAS,gBAAgB,gBAAgB,WAAW,IAAI;AACzE,UAAM,IAAI;AAAA,MACR,MAAM,KAAK;AAAA,MACX,MAAM;AAAA,QACJ,UAAU,KAAK,eAAe;AAAA,MAChC;AAAA,MACA,SAAS;AAAA,QACP,GAAG;AAAA,QACH,GAAI,WAAW;AAAA,QACf,GAAI,cAAc;AAAA,QAClB,SAAS;AAAA,UACP,GAAG,OAAO;AAAA,UACV,QAAQ;AAAA,YACN,UAAU;AAAA,YACV,SAAS;AAAA,UACX;AAAA,UACA,GAAI,kBAAkB;AAAA,UACtB,YAAY;AAAA,YACV,SAAS;AAAA,UACX;AAAA,UACA,SAAS;AAAA,YACP,GAAG,OAAO,QAAQ;AAAA,YAClB,GAAI,kBAAkB;AAAA,UACxB;AAAA,QACF;AAAA,MACF;AAAA,MACA,SAAS,WAAW,QAAQ,SAAS,CAAC,GAAG,OAAO,IAAI,CAAC;AAAA,IACvD;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,iBAAiB;AACf,UAAM,EAAE,SAAS,IAAI,KAAK;AAC1B,WAAO,SAAS,IAAI,CAAC,MAAM;AACzB,YAAM,EAAE,OAAO,KAAK,IAAI;AACxB,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA,gBAAgB,GAAG;AACjB,iBAAO,EAAE,IAAI;AAAA,QACf;AAAA,QACA,OAAO,CAAC,EAAE,MAAM,OAAO,MAAM,aAAa,CAAC,GAAG,QAAQ,MAAM,OAAO,EAAE,MAAM,SAAS;AAAA,QACpF,QAAQ,CAAC,EAAE,MAAM,OAAO,MAAM,aAAa,CAAC,GAAG,SAAS,MAAM,OAAO,EAAE,MAAM,SAAS;AAAA,MACxF;AAAA,IACF,CAAC;AAAA,EACH;AACF;",
6
+ "names": ["ChartVisualisation"]
7
+ }
@@ -1,6 +1,7 @@
1
+ // @ts-nocheck
1
2
  /* eslint-disable prefer-destructuring */
2
3
  /* eslint-disable class-methods-use-this */
3
- import ChartVisualisation from '../clientClass.mjs'
4
+ import ChartVisualisation from '../clientClass'
4
5
 
5
6
  export default class MatrixChartVisualisation extends ChartVisualisation {
6
7
  static getModuleName() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../src/dpr/components/_charts/chart/heatmap/types.ts"],
3
+ "sources": ["../../../../../dpr/components/_charts/chart/heatmap/types.ts"],
4
4
  "sourcesContent": ["import z from 'zod'\nimport MatrixTimeseriesSchema from './validate'\n\nexport interface MatrixChartData {\n x: number | string\n y: number | string\n r?: number | undefined\n v: number\n}\n\nexport type MatrixTimeseriesDefinitionType = z.infer<typeof MatrixTimeseriesSchema>\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../src/dpr/components/_charts/chart/heatmap/validate.ts"],
3
+ "sources": ["../../../../../dpr/components/_charts/chart/heatmap/validate.ts"],
4
4
  "sourcesContent": ["import { z } from 'zod'\nimport {\n DashboardVisualisationSchema,\n DashboardColumns,\n DashboardVisualisationMeasureSchema,\n BucketOptionsSchema,\n} from '../../../_dashboards/dashboard-visualisation/Validate'\n\nconst matrixKeys = z.object({\n id: z.string(),\n optional: z.boolean().default(false),\n})\n\nconst MatrixTimeseriesSchema = z.object({\n ...DashboardVisualisationSchema.shape,\n type: z.literal('matrix-timeseries'),\n options: z.object(BucketOptionsSchema.shape).optional(),\n columns: z.object({\n ...DashboardColumns.shape,\n keys: z.array(matrixKeys).min(1, 'Key array cannot be empty').optional(),\n measures: z.array(DashboardVisualisationMeasureSchema).length(2, 'Measure must contain a single item'),\n }),\n})\n\nexport default MatrixTimeseriesSchema\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,sBAKO;AAEP,MAAM,aAAa,aAAE,OAAO;AAAA,EAC1B,IAAI,aAAE,OAAO;AAAA,EACb,UAAU,aAAE,QAAQ,EAAE,QAAQ,KAAK;AACrC,CAAC;AAED,MAAM,yBAAyB,aAAE,OAAO;AAAA,EACtC,GAAG,6CAA6B;AAAA,EAChC,MAAM,aAAE,QAAQ,mBAAmB;AAAA,EACnC,SAAS,aAAE,OAAO,oCAAoB,KAAK,EAAE,SAAS;AAAA,EACtD,SAAS,aAAE,OAAO;AAAA,IAChB,GAAG,iCAAiB;AAAA,IACpB,MAAM,aAAE,MAAM,UAAU,EAAE,IAAI,GAAG,2BAA2B,EAAE,SAAS;AAAA,IACvE,UAAU,aAAE,MAAM,mDAAmC,EAAE,OAAO,GAAG,oCAAoC;AAAA,EACvG,CAAC;AACH,CAAC;AAED,IAAO,mBAAQ;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../src/dpr/components/_charts/chart/line/LineChart.ts"],
3
+ "sources": ["../../../../../dpr/components/_charts/chart/line/LineChart.ts"],
4
4
  "sourcesContent": ["/* eslint-disable prefer-destructuring */\nimport {\n DashboardVisualisationType,\n DashboardVisualisationData,\n VisualisationDefinitionKey,\n DashboardVisualisationDataSet,\n} from '../../../_dashboards/dashboard-visualisation/types'\nimport { components } from '../../../../types/api'\nimport Chart from '../Chart'\nimport { LineDefinitionMeasure, LineDefinitionType } from './types'\nimport LineChartSchemas from './validate'\n\nclass LineChart extends Chart {\n private definition!: LineDefinitionType\n\n private measures!: LineDefinitionMeasure[]\n\n private keys!: VisualisationDefinitionKey[]\n\n private init = () => {\n this.measures = this.definition.columns.measures\n this.keys = this.definition.columns.keys || []\n this.initUnit(this.measures)\n this.getLabelId(this.keys)\n }\n\n withDefinition = (definition: components['schemas']['DashboardVisualisationDefinition']) => {\n this.definition = LineChartSchemas.LineSchema.parse(definition)\n this.init()\n\n return this\n }\n\n build = (): DashboardVisualisationData => {\n this.createDatasets(this.measures, this.responseData)\n this.datasets = this.augmentDataset(this.datasets)\n this.config = this.setBespokeOptions()\n this.createLabels(this.measures)\n\n return {\n type: DashboardVisualisationType.LINE,\n options: {\n unit: this.unit,\n },\n data: {\n labels: this.labels,\n datasets: this.datasets,\n config: this.config,\n },\n }\n }\n\n augmentDataset = (datasets: DashboardVisualisationDataSet[]) => {\n return datasets.map((set) => {\n return {\n ...set,\n pointStyle: 'circle',\n pointRadius: 4,\n pointHoverRadius: 10,\n pointHitRadius: 20,\n datalabels: {\n display: false,\n },\n }\n })\n }\n\n setBespokeOptions = () => {\n return {\n ...this.config,\n scales: {\n y: {\n min: 0,\n ticks: {\n fontSize: 12,\n },\n },\n x: {\n ticks: {\n fontSize: 12,\n },\n },\n },\n }\n }\n}\n\nexport { LineChart }\nexport default LineChart\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAKO;AAEP,mBAAkB;AAElB,sBAA6B;AAE7B,MAAM,kBAAkB,aAAAA,QAAM;AAAA,EACpB;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,OAAO,MAAM;AACnB,SAAK,WAAW,KAAK,WAAW,QAAQ;AACxC,SAAK,OAAO,KAAK,WAAW,QAAQ,QAAQ,CAAC;AAC7C,SAAK,SAAS,KAAK,QAAQ;AAC3B,SAAK,WAAW,KAAK,IAAI;AAAA,EAC3B;AAAA,EAEA,iBAAiB,CAAC,eAA0E;AAC1F,SAAK,aAAa,gBAAAC,QAAiB,WAAW,MAAM,UAAU;AAC9D,SAAK,KAAK;AAEV,WAAO;AAAA,EACT;AAAA,EAEA,QAAQ,MAAkC;AACxC,SAAK,eAAe,KAAK,UAAU,KAAK,YAAY;AACpD,SAAK,WAAW,KAAK,eAAe,KAAK,QAAQ;AACjD,SAAK,SAAS,KAAK,kBAAkB;AACrC,SAAK,aAAa,KAAK,QAAQ;AAE/B,WAAO;AAAA,MACL,MAAM,wCAA2B;AAAA,MACjC,SAAS;AAAA,QACP,MAAM,KAAK;AAAA,MACb;AAAA,MACA,MAAM;AAAA,QACJ,QAAQ,KAAK;AAAA,QACb,UAAU,KAAK;AAAA,QACf,QAAQ,KAAK;AAAA,MACf;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB,CAAC,aAA8C;AAC9D,WAAO,SAAS,IAAI,CAAC,QAAQ;AAC3B,aAAO;AAAA,QACL,GAAG;AAAA,QACH,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,kBAAkB;AAAA,QAClB,gBAAgB;AAAA,QAChB,YAAY;AAAA,UACV,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EAEA,oBAAoB,MAAM;AACxB,WAAO;AAAA,MACL,GAAG,KAAK;AAAA,MACR,QAAQ;AAAA,QACN,GAAG;AAAA,UACD,KAAK;AAAA,UACL,OAAO;AAAA,YACL,UAAU;AAAA,UACZ;AAAA,QACF;AAAA,QACA,GAAG;AAAA,UACD,OAAO;AAAA,YACL,UAAU;AAAA,UACZ;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAGA,IAAO,oBAAQ;",
6
6
  "names": ["Chart", "LineChartSchemas"]
@@ -0,0 +1,93 @@
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 clientClass_exports = {};
30
+ __export(clientClass_exports, {
31
+ LineChartVisualisation: () => LineChartVisualisation,
32
+ default: () => clientClass_default
33
+ });
34
+ module.exports = __toCommonJS(clientClass_exports);
35
+ var import_clientClass = __toESM(require("../clientClass"));
36
+ class LineChartVisualisation extends import_clientClass.default {
37
+ static getModuleName() {
38
+ return "line-chart";
39
+ }
40
+ initialise() {
41
+ this.setupCanvas();
42
+ this.settings = this.initSettings();
43
+ this.chartData = this.generateChartData(this.settings);
44
+ this.lastIndex = this.chartData.data.labels.length - 1;
45
+ this.initChart(this.chartData);
46
+ }
47
+ initSettings() {
48
+ return {
49
+ toolTipOptions: this.setToolTipOptions(),
50
+ styling: this.setDatasetStyling()
51
+ };
52
+ }
53
+ setPartialStyle(ctx) {
54
+ let style;
55
+ if (this.partialEnd && ctx.p1DataIndex === this.lastIndex || this.partialStart && ctx.p1DataIndex === 1) {
56
+ style = [6, 6];
57
+ }
58
+ return style;
59
+ }
60
+ setDatasetStyling() {
61
+ return {
62
+ segment: {
63
+ borderDash: (ctx) => this.setPartialStyle(ctx)
64
+ }
65
+ };
66
+ }
67
+ setToolTipOptions() {
68
+ const ctx = this;
69
+ return {
70
+ callbacks: {
71
+ title(context) {
72
+ const { label, dataset } = context[0];
73
+ const { label: establishmentId } = dataset;
74
+ const title = ctx.singleDataset ? `${label}` : `${establishmentId}: ${label}`;
75
+ return title;
76
+ },
77
+ label(context) {
78
+ const { label } = context;
79
+ const { data, label: legend } = context.dataset;
80
+ const value = data[context.dataIndex];
81
+ ctx.setHoverValue({ label, value, legend, ctx });
82
+ return value;
83
+ }
84
+ }
85
+ };
86
+ }
87
+ }
88
+ var clientClass_default = LineChartVisualisation;
89
+ // Annotate the CommonJS export names for ESM import in node:
90
+ 0 && (module.exports = {
91
+ LineChartVisualisation
92
+ });
93
+ //# sourceMappingURL=clientClass.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../dpr/components/_charts/chart/line/clientClass.ts"],
4
+ "sourcesContent": ["// @ts-nocheck\n/* eslint-disable class-methods-use-this */\nimport ChartVisualisation from '../clientClass'\n\nclass LineChartVisualisation extends ChartVisualisation {\n static getModuleName() {\n return 'line-chart'\n }\n\n initialise() {\n this.setupCanvas()\n this.settings = this.initSettings()\n this.chartData = this.generateChartData(this.settings)\n this.lastIndex = this.chartData.data.labels.length - 1\n this.initChart(this.chartData)\n }\n\n initSettings() {\n return {\n toolTipOptions: this.setToolTipOptions(),\n styling: this.setDatasetStyling(),\n }\n }\n\n setPartialStyle(ctx) {\n let style\n if ((this.partialEnd && ctx.p1DataIndex === this.lastIndex) || (this.partialStart && ctx.p1DataIndex === 1)) {\n style = [6, 6]\n }\n return style\n }\n\n setDatasetStyling() {\n return {\n segment: {\n borderDash: (ctx) => this.setPartialStyle(ctx),\n },\n }\n }\n\n setToolTipOptions() {\n const ctx = this\n return {\n callbacks: {\n title(context) {\n const { label, dataset } = context[0]\n const { label: establishmentId } = dataset\n const title = ctx.singleDataset ? `${label}` : `${establishmentId}: ${label}`\n return title\n },\n label(context) {\n const { label } = context\n const { data, label: legend } = context.dataset\n const value = data[context.dataIndex]\n ctx.setHoverValue({ label, value, legend, ctx })\n return value\n },\n },\n }\n }\n}\n\nexport { LineChartVisualisation }\nexport default LineChartVisualisation\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,yBAA+B;AAE/B,MAAM,+BAA+B,mBAAAA,QAAmB;AAAA,EACtD,OAAO,gBAAgB;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,aAAa;AACX,SAAK,YAAY;AACjB,SAAK,WAAW,KAAK,aAAa;AAClC,SAAK,YAAY,KAAK,kBAAkB,KAAK,QAAQ;AACrD,SAAK,YAAY,KAAK,UAAU,KAAK,OAAO,SAAS;AACrD,SAAK,UAAU,KAAK,SAAS;AAAA,EAC/B;AAAA,EAEA,eAAe;AACb,WAAO;AAAA,MACL,gBAAgB,KAAK,kBAAkB;AAAA,MACvC,SAAS,KAAK,kBAAkB;AAAA,IAClC;AAAA,EACF;AAAA,EAEA,gBAAgB,KAAK;AACnB,QAAI;AACJ,QAAK,KAAK,cAAc,IAAI,gBAAgB,KAAK,aAAe,KAAK,gBAAgB,IAAI,gBAAgB,GAAI;AAC3G,cAAQ,CAAC,GAAG,CAAC;AAAA,IACf;AACA,WAAO;AAAA,EACT;AAAA,EAEA,oBAAoB;AAClB,WAAO;AAAA,MACL,SAAS;AAAA,QACP,YAAY,CAAC,QAAQ,KAAK,gBAAgB,GAAG;AAAA,MAC/C;AAAA,IACF;AAAA,EACF;AAAA,EAEA,oBAAoB;AAClB,UAAM,MAAM;AACZ,WAAO;AAAA,MACL,WAAW;AAAA,QACT,MAAM,SAAS;AACb,gBAAM,EAAE,OAAO,QAAQ,IAAI,QAAQ,CAAC;AACpC,gBAAM,EAAE,OAAO,gBAAgB,IAAI;AACnC,gBAAM,QAAQ,IAAI,gBAAgB,GAAG,KAAK,KAAK,GAAG,eAAe,KAAK,KAAK;AAC3E,iBAAO;AAAA,QACT;AAAA,QACA,MAAM,SAAS;AACb,gBAAM,EAAE,MAAM,IAAI;AAClB,gBAAM,EAAE,MAAM,OAAO,OAAO,IAAI,QAAQ;AACxC,gBAAM,QAAQ,KAAK,QAAQ,SAAS;AACpC,cAAI,cAAc,EAAE,OAAO,OAAO,QAAQ,IAAI,CAAC;AAC/C,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAGA,IAAO,sBAAQ;",
6
+ "names": ["ChartVisualisation"]
7
+ }
@@ -1,5 +1,6 @@
1
+ // @ts-nocheck
1
2
  /* eslint-disable class-methods-use-this */
2
- import ChartVisualisation from '../clientClass.mjs'
3
+ import ChartVisualisation from '../clientClass'
3
4
 
4
5
  class LineChartVisualisation extends ChartVisualisation {
5
6
  static getModuleName() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../src/dpr/components/_charts/chart/line/types.ts"],
3
+ "sources": ["../../../../../dpr/components/_charts/chart/line/types.ts"],
4
4
  "sourcesContent": ["import z from 'zod'\nimport LineChartSchemas from './validate'\n\nexport type LineDefinitionType = z.infer<typeof LineChartSchemas.LineSchema>\nexport type LineDefinitionMeasure = z.infer<typeof LineChartSchemas.LineMeasureSchema>\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../src/dpr/components/_charts/chart/line/validate.ts"],
3
+ "sources": ["../../../../../dpr/components/_charts/chart/line/validate.ts"],
4
4
  "sourcesContent": ["import { z } from 'zod'\nimport { DashboardVisualisationSchema, DashboardColumns } from '../../../_dashboards/dashboard-visualisation/Validate'\n\nconst LineMeasureSchema = z.object({\n id: z.string(),\n display: z.string().optional(),\n unit: z.enum(['NUMBER', 'PERCENTAGE']).optional(),\n})\n\nconst lineOptions = z.object({\n showLatest: z.boolean().default(true),\n})\n\nconst LineSchema = z.object({\n ...DashboardVisualisationSchema.shape,\n display: z.string(),\n type: z.literal('line'),\n options: z.object(lineOptions.shape).optional(),\n columns: z.object({\n ...DashboardColumns.shape,\n measures: z.array(LineMeasureSchema).min(1, 'Measure must contain at least one item'),\n }),\n})\n\nconst LineChartSchemas = {\n LineMeasureSchema,\n LineSchema,\n}\n\nexport default LineChartSchemas\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAkB;AAClB,sBAA+D;AAE/D,MAAM,oBAAoB,aAAE,OAAO;AAAA,EACjC,IAAI,aAAE,OAAO;AAAA,EACb,SAAS,aAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,MAAM,aAAE,KAAK,CAAC,UAAU,YAAY,CAAC,EAAE,SAAS;AAClD,CAAC;AAED,MAAM,cAAc,aAAE,OAAO;AAAA,EAC3B,YAAY,aAAE,QAAQ,EAAE,QAAQ,IAAI;AACtC,CAAC;AAED,MAAM,aAAa,aAAE,OAAO;AAAA,EAC1B,GAAG,6CAA6B;AAAA,EAChC,SAAS,aAAE,OAAO;AAAA,EAClB,MAAM,aAAE,QAAQ,MAAM;AAAA,EACtB,SAAS,aAAE,OAAO,YAAY,KAAK,EAAE,SAAS;AAAA,EAC9C,SAAS,aAAE,OAAO;AAAA,IAChB,GAAG,iCAAiB;AAAA,IACpB,UAAU,aAAE,MAAM,iBAAiB,EAAE,IAAI,GAAG,wCAAwC;AAAA,EACtF,CAAC;AACH,CAAC;AAED,MAAM,mBAAmB;AAAA,EACvB;AAAA,EACA;AACF;AAEA,IAAO,mBAAQ;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../src/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.ts"],
3
+ "sources": ["../../../../../dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.ts"],
4
4
  "sourcesContent": ["/* eslint-disable prefer-destructuring */\nimport {\n DashboardVisualisationType,\n DashboardVisualisationData,\n} from '../../../_dashboards/dashboard-visualisation/types'\nimport { components } from '../../../../types/api'\nimport { LineTimeseriesDefinitionType } from './types'\nimport LineTimeseriesChartSchemas from './validate'\nimport TimeseriesChart from '../ChartTimeseries'\nimport LineChart from '../line/LineChart'\n\nclass LineTimeseriesChart extends TimeseriesChart {\n private definition!: LineTimeseriesDefinitionType\n\n private lineChartBuilder: LineChart = new LineChart()\n\n withDefinition = (definition: components['schemas']['DashboardVisualisationDefinition']) => {\n this.definition = LineTimeseriesChartSchemas.LineTimeseriesSchema.parse(definition)\n this.initFromDefinition(this.definition)\n return this\n }\n\n build = (): DashboardVisualisationData => {\n this.buildDatasets()\n this.datasets = this.lineChartBuilder.augmentDataset(this.datasets)\n this.setStyles()\n this.config = this.lineChartBuilder.setBespokeOptions()\n\n return {\n type: DashboardVisualisationType.LINE,\n options: {\n unit: this.unit,\n timeseries: true,\n },\n data: {\n labels: this.labels,\n datasets: this.datasets,\n config: this.config,\n partialDate: this.partialDate,\n },\n }\n }\n\n private setStyles = () => {\n this.datasets = this.datasets.map((set, datasetIndex) => {\n const colour = this.hexColours[datasetIndex]\n return {\n ...set,\n backgroundColor: colour,\n borderColor: colour,\n }\n })\n }\n}\n\nexport { LineTimeseriesChart }\nexport default LineTimeseriesChart\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAGO;AAGP,sBAAuC;AACvC,6BAA4B;AAC5B,uBAAsB;AAEtB,MAAM,4BAA4B,uBAAAA,QAAgB;AAAA,EACxC;AAAA,EAEA,mBAA8B,IAAI,iBAAAC,QAAU;AAAA,EAEpD,iBAAiB,CAAC,eAA0E;AAC1F,SAAK,aAAa,gBAAAC,QAA2B,qBAAqB,MAAM,UAAU;AAClF,SAAK,mBAAmB,KAAK,UAAU;AACvC,WAAO;AAAA,EACT;AAAA,EAEA,QAAQ,MAAkC;AACxC,SAAK,cAAc;AACnB,SAAK,WAAW,KAAK,iBAAiB,eAAe,KAAK,QAAQ;AAClE,SAAK,UAAU;AACf,SAAK,SAAS,KAAK,iBAAiB,kBAAkB;AAEtD,WAAO;AAAA,MACL,MAAM,wCAA2B;AAAA,MACjC,SAAS;AAAA,QACP,MAAM,KAAK;AAAA,QACX,YAAY;AAAA,MACd;AAAA,MACA,MAAM;AAAA,QACJ,QAAQ,KAAK;AAAA,QACb,UAAU,KAAK;AAAA,QACf,QAAQ,KAAK;AAAA,QACb,aAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,YAAY,MAAM;AACxB,SAAK,WAAW,KAAK,SAAS,IAAI,CAAC,KAAK,iBAAiB;AACvD,YAAM,SAAS,KAAK,WAAW,YAAY;AAC3C,aAAO;AAAA,QACL,GAAG;AAAA,QACH,iBAAiB;AAAA,QACjB,aAAa;AAAA,MACf;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAGA,IAAO,8BAAQ;",
6
6
  "names": ["TimeseriesChart", "LineChart", "LineTimeseriesChartSchemas"]