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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) 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/bookmark-toggle/clientClass.js +111 -0
  169. package/dpr/components/bookmark-toggle/clientClass.js.map +7 -0
  170. package/dpr/components/bookmark-toggle/{clientClass.mjs → clientClass.ts} +2 -1
  171. package/dpr/components/card-group/clientClass.js +53 -0
  172. package/dpr/components/card-group/clientClass.js.map +7 -0
  173. package/dpr/components/card-group/{clientClass.mjs → clientClass.ts} +2 -1
  174. package/dpr/components/card-group/utils.js.map +1 -1
  175. package/dpr/components/report-list/defaultTokenProvider.js.map +1 -1
  176. package/dpr/components/report-list/types.d.js.map +1 -1
  177. package/dpr/components/report-list/utils.js.map +1 -1
  178. package/dpr/components/show-more/clientClass.js +63 -0
  179. package/dpr/components/show-more/clientClass.js.map +7 -0
  180. package/dpr/components/show-more/{clientClass.mjs → clientClass.ts} +2 -1
  181. package/dpr/components/show-more/utils.js.map +1 -1
  182. package/dpr/components/user-reports/bookmarks/utils.js.map +1 -1
  183. package/dpr/components/user-reports/requested/clientClass.js +132 -0
  184. package/dpr/components/user-reports/requested/clientClass.js.map +7 -0
  185. package/dpr/components/user-reports/requested/{clientClass.mjs → clientClass.ts} +2 -1
  186. package/dpr/components/user-reports/requested/utils.js.map +1 -1
  187. package/dpr/components/user-reports/types.d.js.map +1 -1
  188. package/dpr/components/user-reports/utils.js.map +1 -1
  189. package/dpr/components/user-reports/viewed/clientClass.js +102 -0
  190. package/dpr/components/user-reports/viewed/clientClass.js.map +7 -0
  191. package/dpr/components/user-reports/viewed/{clientClass.mjs → clientClass.ts} +2 -1
  192. package/dpr/components/user-reports/viewed/utils.js.map +1 -1
  193. package/dpr/data/agentConfig.js.map +1 -1
  194. package/dpr/data/dashboardClient.js.map +1 -1
  195. package/dpr/data/dprReportingClient.js.map +1 -1
  196. package/dpr/data/missingReportClient.js.map +1 -1
  197. package/dpr/data/productCollectionClient.js.map +1 -1
  198. package/dpr/data/reportDataStore.js.map +1 -1
  199. package/dpr/data/reportingClient.js.map +1 -1
  200. package/dpr/data/restClient.js.map +1 -1
  201. package/dpr/data/types.d.js.map +1 -1
  202. package/dpr/middleware/reportAuthoriser.js.map +1 -1
  203. package/dpr/middleware/setUpDprResources.js.map +1 -1
  204. package/dpr/middleware/setUpNestedRoute.js.map +1 -1
  205. package/dpr/routes/index.js.map +1 -1
  206. package/dpr/routes/journeys/api-failures.cy.js.map +1 -1
  207. package/dpr/routes/journeys/download-report/controller.js.map +1 -1
  208. package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +1 -1
  209. package/dpr/routes/journeys/download-report/request-download/form/routes.js.map +1 -1
  210. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +1 -1
  211. package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js.map +1 -1
  212. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +1 -1
  213. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +1 -1
  214. package/dpr/routes/journeys/download-report/request-download/routes.js.map +1 -1
  215. package/dpr/routes/journeys/download-report/request-download/service.js.map +1 -1
  216. package/dpr/routes/journeys/download-report/routes.js.map +1 -1
  217. package/dpr/routes/journeys/download-report/tests.cy.js.map +1 -1
  218. package/dpr/routes/journeys/download-report/utils.js.map +1 -1
  219. package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +1 -1
  220. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +1 -1
  221. package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js.map +1 -1
  222. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +1 -1
  223. package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +1 -1
  224. package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +1 -1
  225. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +1 -1
  226. package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +1 -1
  227. package/dpr/routes/journeys/my-reports/recently-viewed/controller.js.map +1 -1
  228. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +1 -1
  229. package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js.map +1 -1
  230. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +1 -1
  231. package/dpr/routes/journeys/my-reports/recently-viewed/routes.js.map +1 -1
  232. package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +1 -1
  233. package/dpr/routes/journeys/my-reports/requested-reports/controller.js.map +1 -1
  234. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +1 -1
  235. package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js.map +1 -1
  236. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +1 -1
  237. package/dpr/routes/journeys/my-reports/requested-reports/routes.js.map +1 -1
  238. package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +1 -1
  239. package/dpr/routes/journeys/my-reports/routes.js.map +1 -1
  240. package/dpr/routes/journeys/product-collection/routes.js.map +1 -1
  241. package/dpr/routes/journeys/product-collection/selected/controller.js.map +1 -1
  242. package/dpr/routes/journeys/product-collection/selected/routes.js.map +1 -1
  243. package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +1 -1
  244. package/dpr/routes/journeys/product-collection/selected/validation.js.map +1 -1
  245. package/dpr/routes/journeys/request-missing-report/form/controller.js.map +1 -1
  246. package/dpr/routes/journeys/request-missing-report/form/routes.js.map +1 -1
  247. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +1 -1
  248. package/dpr/routes/journeys/request-missing-report/form/validation.js.map +1 -1
  249. package/dpr/routes/journeys/request-missing-report/routes.js.map +1 -1
  250. package/dpr/routes/journeys/request-missing-report/submitted/controller.js.map +1 -1
  251. package/dpr/routes/journeys/request-missing-report/submitted/routes.js.map +1 -1
  252. package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js.map +1 -1
  253. package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +1 -1
  254. package/dpr/routes/journeys/request-report/controller.js.map +1 -1
  255. package/dpr/routes/journeys/request-report/filters/controller.js.map +1 -1
  256. package/dpr/routes/journeys/request-report/filters/routes.js.map +1 -1
  257. package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +1 -1
  258. package/dpr/routes/journeys/request-report/filters/utils.js.map +1 -1
  259. package/dpr/routes/journeys/request-report/routes.js.map +1 -1
  260. package/dpr/routes/journeys/request-report/status/controller.js.map +1 -1
  261. package/dpr/routes/journeys/request-report/status/routes.js.map +1 -1
  262. package/dpr/routes/journeys/request-report/status/tests.cy.js.map +1 -1
  263. package/dpr/routes/journeys/request-report/status/utils.js.map +1 -1
  264. package/dpr/routes/journeys/request-report/tests.cy.js.map +1 -1
  265. package/dpr/routes/journeys/routes.js.map +1 -1
  266. package/dpr/routes/journeys/view-report/async/controller.js.map +1 -1
  267. package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +1 -1
  268. package/dpr/routes/journeys/view-report/async/dashboard/routes.js.map +1 -1
  269. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +1 -1
  270. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +1 -1
  271. package/dpr/routes/journeys/view-report/async/report/controller.js.map +1 -1
  272. package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js.map +1 -1
  273. package/dpr/routes/journeys/view-report/async/report/routes.js.map +1 -1
  274. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +1 -1
  275. package/dpr/routes/journeys/view-report/async/report/types.js.map +1 -1
  276. package/dpr/routes/journeys/view-report/async/report/utils.js.map +1 -1
  277. package/dpr/routes/journeys/view-report/async/routes.js.map +1 -1
  278. package/dpr/routes/journeys/view-report/controller.js.map +2 -2
  279. package/dpr/routes/journeys/view-report/controller.ts +1 -1
  280. package/dpr/routes/journeys/view-report/routes.js.map +1 -1
  281. package/dpr/routes/journeys/view-report/sync/dashboard/controller.js.map +1 -1
  282. package/dpr/routes/journeys/view-report/sync/dashboard/routes.js.map +1 -1
  283. package/dpr/routes/journeys/view-report/sync/dashboard/utils.js.map +1 -1
  284. package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +1 -1
  285. package/dpr/routes/journeys/view-report/sync/load-report/routes.js.map +1 -1
  286. package/dpr/routes/journeys/view-report/sync/report/controller.js.map +1 -1
  287. package/dpr/routes/journeys/view-report/sync/report/routes.js.map +1 -1
  288. package/dpr/routes/journeys/view-report/sync/report/utils.js.map +1 -1
  289. package/dpr/routes/journeys/view-report/sync/routes.js.map +1 -1
  290. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +1 -1
  291. package/dpr/routes/journeys/view-report/utils.js.map +1 -1
  292. package/dpr/services/dashboardService.js.map +1 -1
  293. package/dpr/services/defaultFilterValuesService.js.map +1 -1
  294. package/dpr/services/featureFlagService.js.map +1 -1
  295. package/dpr/services/featureFlags.cy.js.map +1 -1
  296. package/dpr/services/index.js.map +1 -1
  297. package/dpr/services/missingReport/missingReportService.js.map +1 -1
  298. package/dpr/services/productCollection/productCollectionService.js.map +1 -1
  299. package/dpr/services/productCollection/productCollectionStoreService.js.map +1 -1
  300. package/dpr/services/reportStoreService.js.map +1 -1
  301. package/dpr/services/reportingService.js.map +1 -1
  302. package/dpr/setUpNunjucksFilters.js.map +1 -1
  303. package/dpr/types/AsyncReportUtils.js.map +1 -1
  304. package/dpr/types/Bookmark.js.map +1 -1
  305. package/dpr/types/Charts.js.map +1 -1
  306. package/dpr/types/Download.js.map +1 -1
  307. package/dpr/types/DprConfig.js.map +1 -1
  308. package/dpr/types/DprUser.js.map +1 -1
  309. package/dpr/types/EmbeddedReportUtils.js.map +1 -1
  310. package/dpr/types/ExecutionData.d.js.map +1 -1
  311. package/dpr/types/Metrics.js.map +1 -1
  312. package/dpr/types/ReportQuery.js.map +1 -1
  313. package/dpr/types/ReportStore.js.map +1 -1
  314. package/dpr/types/Services.d.js.map +1 -1
  315. package/dpr/types/Templates.d.js.map +1 -1
  316. package/dpr/types/UserReports.js.map +1 -1
  317. package/dpr/types/api.d.js.map +1 -1
  318. package/dpr/types/index.d.js.map +1 -1
  319. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +1 -1
  320. package/dpr/utils/CreateDprServices.js.map +1 -1
  321. package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +1 -1
  322. package/dpr/utils/DataTableBuilder/types.d.js.map +1 -1
  323. package/dpr/utils/DateMapper/DateMapper.js.map +1 -1
  324. package/dpr/utils/DateMapper/types.d.js.map +1 -1
  325. package/dpr/utils/ErrorHandler.js.map +1 -1
  326. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +1 -1
  327. package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +1 -1
  328. package/dpr/utils/Personalisation/personalisationUtils.js.map +1 -1
  329. package/dpr/utils/Personalisation/types.d.js.map +1 -1
  330. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +1 -1
  331. package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +1 -1
  332. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +1 -1
  333. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +1 -1
  334. package/dpr/utils/UserStoreItemBuilder.js.map +1 -1
  335. package/dpr/utils/arrayUtils.js.map +1 -1
  336. package/dpr/utils/datasetHelper.js.map +1 -1
  337. package/dpr/utils/definitionUtils.js.map +1 -1
  338. package/dpr/utils/index.js.map +1 -1
  339. package/dpr/utils/indexedAccesHelper.js.map +1 -1
  340. package/dpr/utils/localsHelper.js.map +1 -1
  341. package/dpr/utils/logger.js.map +1 -1
  342. package/dpr/utils/reportListsHelper.js.map +1 -1
  343. package/dpr/utils/reportStoreHelper.js.map +1 -1
  344. package/dpr/utils/requestStatusHelper.js.map +1 -1
  345. package/dpr/utils/sanitisedError.js.map +1 -1
  346. package/dpr/utils/urlHelper.js.map +1 -1
  347. package/dpr/validation/validate.js.map +1 -1
  348. package/package.json +11 -6
@@ -0,0 +1,153 @@
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 __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var clientClass_exports = {};
20
+ __export(clientClass_exports, {
21
+ Autocomplete: () => Autocomplete,
22
+ default: () => clientClass_default
23
+ });
24
+ module.exports = __toCommonJS(clientClass_exports);
25
+ var import_DprClientClass = require("../../../DprClientClass");
26
+ class Autocomplete extends import_DprClientClass.DprClientClass {
27
+ static getModuleName() {
28
+ return "autocomplete-text-input";
29
+ }
30
+ constructor(element) {
31
+ super(element);
32
+ const listId = this.getTextInput().getAttribute("aria-owns");
33
+ this.listItemsSelector = `#${listId} li`;
34
+ this.listParentSelector = `#${listId} ul`;
35
+ }
36
+ initialise() {
37
+ const textInput = this.getTextInput();
38
+ textInput.addEventListener("keyup", (event) => {
39
+ this.onTextInput(event, textInput);
40
+ });
41
+ textInput.addEventListener("keypress", (e) => {
42
+ if (e.key === "Enter") {
43
+ e.stopPropagation();
44
+ e.preventDefault();
45
+ }
46
+ });
47
+ this.getElement().querySelectorAll(".autocomplete-text-input-list-button").forEach((button) => {
48
+ button.addEventListener("click", (event) => {
49
+ this.onOptionClick(event, textInput, this.getElement());
50
+ });
51
+ });
52
+ this.initialiseDefaultValue(textInput);
53
+ }
54
+ initialiseDefaultValue(textInput) {
55
+ this.setValue(textInput, textInput.value, textInput.dataset.staticOptionNameValue);
56
+ }
57
+ getTextInput() {
58
+ return this.getElement().querySelector(".autocomplete-text-input-box");
59
+ }
60
+ onTextInput(event, textInput) {
61
+ const minLength = Number(textInput.dataset.minimumLength);
62
+ const { resourceEndpoint } = textInput.dataset;
63
+ const searchValue = event.target.value.toLowerCase();
64
+ if (resourceEndpoint) {
65
+ if (searchValue.length >= minLength) {
66
+ this.addItem(this.clearListAndRecreateTemplate(), "<i>Searching...</i>");
67
+ this.populateOptionsDynamically(
68
+ resourceEndpoint,
69
+ searchValue,
70
+ textInput,
71
+ () => this.clearListAndRecreateTemplate()
72
+ );
73
+ } else {
74
+ this.clearListAndRecreateTemplate();
75
+ }
76
+ } else {
77
+ this.getElement().querySelectorAll(this.listItemsSelector).forEach((item) => {
78
+ if (searchValue.length >= minLength && this.isMatchingStaticOptionNameOrDisplayPrefix(this.getInputListButton(item), searchValue, item)) {
79
+ item.classList.remove("autocomplete-text-input-item-hide");
80
+ } else {
81
+ item.classList.add("autocomplete-text-input-item-hide");
82
+ }
83
+ });
84
+ }
85
+ if (searchValue.length === 0) {
86
+ const changeEvent = new Event("change");
87
+ textInput.dispatchEvent(changeEvent);
88
+ }
89
+ }
90
+ getInputListButton(item) {
91
+ return item.querySelector(".autocomplete-text-input-list-button");
92
+ }
93
+ isMatchingStaticOptionNameOrDisplayPrefix(inputListButton, searchValue, item) {
94
+ return this.isStaticOptionsNamePrefix(inputListButton.dataset.staticOptionNameValue, searchValue) || item.innerText.trim().toLowerCase().startsWith(searchValue);
95
+ }
96
+ isStaticOptionsNamePrefix(staticOptionNameValue, searchValue) {
97
+ return staticOptionNameValue && staticOptionNameValue.trim().toLowerCase().startsWith(searchValue);
98
+ }
99
+ async populateOptionsDynamically(resourceEndpoint, searchValue, textInput, templateProvider) {
100
+ try {
101
+ const response = await fetch(resourceEndpoint.replace("{prefix}", encodeURI(searchValue)));
102
+ const results = await response.json();
103
+ if (searchValue === textInput.value.toLowerCase()) {
104
+ const template = templateProvider();
105
+ results.forEach((r) => {
106
+ this.addItem(template, r, (event) => {
107
+ this.onOptionClick(event, textInput, this.getElement());
108
+ });
109
+ });
110
+ }
111
+ } catch (error) {
112
+ this.addItem(templateProvider(), `Failed to retrieve results: ${error}`);
113
+ }
114
+ }
115
+ onOptionClick(event, textInput, topLevelElement) {
116
+ event.preventDefault();
117
+ this.setValue(textInput, event.target.innerText.trim(), event.target.dataset.staticOptionNameValue);
118
+ topLevelElement.querySelectorAll("li").forEach((item) => {
119
+ item.classList.add("autocomplete-text-input-item-hide");
120
+ });
121
+ }
122
+ setValue(textInput, value, staticOptionNameValue) {
123
+ textInput.value = value;
124
+ textInput.staticOptionNameValue = staticOptionNameValue;
125
+ textInput.focus();
126
+ const changeEvent = new Event("change");
127
+ textInput.dispatchEvent(changeEvent);
128
+ }
129
+ addItem(template, content, clickEvent) {
130
+ const item = template.cloneNode(true);
131
+ item.querySelector("button").innerHTML = content;
132
+ item.classList.remove("autocomplete-text-input-item-hide");
133
+ this.getElement().querySelector(this.listParentSelector).appendChild(item);
134
+ if (clickEvent) {
135
+ item.addEventListener("click", (event) => {
136
+ clickEvent(event);
137
+ });
138
+ }
139
+ }
140
+ clearListAndRecreateTemplate() {
141
+ const template = this.getElement().querySelector(this.listItemsSelector).cloneNode(true);
142
+ template.classList.add("autocomplete-text-input-item-hide");
143
+ this.getElement().querySelectorAll(this.listItemsSelector).forEach((e) => e.remove());
144
+ this.getElement().querySelector(this.listParentSelector).append(template);
145
+ return template;
146
+ }
147
+ }
148
+ var clientClass_default = Autocomplete;
149
+ // Annotate the CommonJS export names for ESM import in node:
150
+ 0 && (module.exports = {
151
+ Autocomplete
152
+ });
153
+ //# sourceMappingURL=clientClass.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../dpr/components/_inputs/autocomplete-text-input/clientClass.ts"],
4
+ "sourcesContent": ["// @ts-nocheck\n/* eslint-disable class-methods-use-this */\nimport { DprClientClass } from '../../../DprClientClass'\n\nclass Autocomplete extends DprClientClass {\n static getModuleName() {\n return 'autocomplete-text-input'\n }\n\n constructor(element) {\n super(element)\n\n const listId = this.getTextInput().getAttribute('aria-owns')\n this.listItemsSelector = `#${listId} li`\n this.listParentSelector = `#${listId} ul`\n }\n\n initialise() {\n const textInput = this.getTextInput()\n textInput.addEventListener('keyup', (event) => {\n this.onTextInput(event, textInput)\n })\n\n textInput.addEventListener('keypress', (e) => {\n if (e.key === 'Enter') {\n e.stopPropagation()\n e.preventDefault()\n }\n })\n\n this.getElement()\n .querySelectorAll('.autocomplete-text-input-list-button')\n .forEach((button) => {\n button.addEventListener('click', (event) => {\n this.onOptionClick(event, textInput, this.getElement())\n })\n })\n\n this.initialiseDefaultValue(textInput)\n }\n\n initialiseDefaultValue(textInput) {\n this.setValue(textInput, textInput.value, textInput.dataset.staticOptionNameValue)\n }\n\n getTextInput() {\n return this.getElement().querySelector('.autocomplete-text-input-box')\n }\n\n onTextInput(event, textInput) {\n const minLength = Number(textInput.dataset.minimumLength)\n const { resourceEndpoint } = textInput.dataset\n const searchValue = event.target.value.toLowerCase()\n\n if (resourceEndpoint) {\n if (searchValue.length >= minLength) {\n this.addItem(this.clearListAndRecreateTemplate(), '<i>Searching...</i>')\n this.populateOptionsDynamically(resourceEndpoint, searchValue, textInput, () =>\n this.clearListAndRecreateTemplate(),\n )\n } else {\n this.clearListAndRecreateTemplate()\n }\n } else {\n this.getElement()\n .querySelectorAll(this.listItemsSelector)\n .forEach((item) => {\n if (\n searchValue.length >= minLength &&\n this.isMatchingStaticOptionNameOrDisplayPrefix(this.getInputListButton(item), searchValue, item)\n ) {\n item.classList.remove('autocomplete-text-input-item-hide')\n } else {\n item.classList.add('autocomplete-text-input-item-hide')\n }\n })\n }\n\n if (searchValue.length === 0) {\n const changeEvent = new Event('change')\n textInput.dispatchEvent(changeEvent)\n }\n }\n\n getInputListButton(item) {\n return item.querySelector('.autocomplete-text-input-list-button')\n }\n\n isMatchingStaticOptionNameOrDisplayPrefix(inputListButton, searchValue, item) {\n return (\n this.isStaticOptionsNamePrefix(inputListButton.dataset.staticOptionNameValue, searchValue) ||\n item.innerText.trim().toLowerCase().startsWith(searchValue)\n )\n }\n\n isStaticOptionsNamePrefix(staticOptionNameValue, searchValue) {\n return staticOptionNameValue && staticOptionNameValue.trim().toLowerCase().startsWith(searchValue)\n }\n\n async populateOptionsDynamically(resourceEndpoint, searchValue, textInput, templateProvider) {\n try {\n const response = await fetch(resourceEndpoint.replace('{prefix}', encodeURI(searchValue)))\n const results = await response.json()\n\n if (searchValue === textInput.value.toLowerCase()) {\n const template = templateProvider()\n\n results.forEach((r) => {\n this.addItem(template, r, (event) => {\n this.onOptionClick(event, textInput, this.getElement())\n })\n })\n }\n } catch (error) {\n this.addItem(templateProvider(), `Failed to retrieve results: ${error}`)\n }\n }\n\n onOptionClick(event, textInput, topLevelElement) {\n event.preventDefault()\n this.setValue(textInput, event.target.innerText.trim(), event.target.dataset.staticOptionNameValue)\n topLevelElement.querySelectorAll('li').forEach((item) => {\n item.classList.add('autocomplete-text-input-item-hide')\n })\n }\n\n setValue(textInput, value, staticOptionNameValue) {\n // eslint-disable-next-line no-param-reassign\n textInput.value = value\n // eslint-disable-next-line no-param-reassign\n textInput.staticOptionNameValue = staticOptionNameValue\n\n textInput.focus()\n const changeEvent = new Event('change')\n textInput.dispatchEvent(changeEvent)\n }\n\n addItem(template, content, clickEvent) {\n const item = template.cloneNode(true)\n item.querySelector('button').innerHTML = content\n item.classList.remove('autocomplete-text-input-item-hide')\n this.getElement().querySelector(this.listParentSelector).appendChild(item)\n\n if (clickEvent) {\n item.addEventListener('click', (event) => {\n clickEvent(event)\n })\n }\n }\n\n clearListAndRecreateTemplate() {\n const template = this.getElement().querySelector(this.listItemsSelector).cloneNode(true)\n template.classList.add('autocomplete-text-input-item-hide')\n this.getElement()\n .querySelectorAll(this.listItemsSelector)\n .forEach((e) => e.remove())\n this.getElement().querySelector(this.listParentSelector).append(template)\n return template\n }\n}\n\nexport { Autocomplete }\nexport default Autocomplete\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,5 +1,6 @@
1
+ // @ts-nocheck
1
2
  /* eslint-disable class-methods-use-this */
2
- import { DprClientClass } from '../../../DprClientClass.mjs'
3
+ import { DprClientClass } from '../../../DprClientClass'
3
4
 
4
5
  class Autocomplete extends DprClientClass {
5
6
  static getModuleName() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../src/dpr/components/_inputs/autocomplete-text-input/utils.ts"],
3
+ "sources": ["../../../../dpr/components/_inputs/autocomplete-text-input/utils.ts"],
4
4
  "sourcesContent": ["import { Request } from 'express'\nimport { components } from '../../../types/api'\nimport { FilterValueWithOptions } from '../../_filters/types'\n\nconst setValueFromRequest = (filter: FilterValueWithOptions, req: Request, prefix: string) => {\n const value = <string>req.query[`${prefix}${filter.name}`]\n const option = filter.options.find((opt) => opt.value === value)\n\n let requestfilterValue = value\n let requestOptionValue\n if (option) {\n requestfilterValue = option.text || value\n requestOptionValue = value\n }\n\n return {\n requestfilterValue,\n requestOptionValue,\n }\n}\n\nconst getDisplayValue = (filter: components['schemas']['FilterDefinition'], value: string) => {\n const option = filter.staticOptions?.find((opt) => opt.name === value)\n return option ? option.display : value\n}\n\nexport default {\n setValueFromRequest,\n getDisplayValue,\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,MAAM,sBAAsB,CAAC,QAAgC,KAAc,WAAmB;AAC5F,QAAM,QAAgB,IAAI,MAAM,GAAG,MAAM,GAAG,OAAO,IAAI,EAAE;AACzD,QAAM,SAAS,OAAO,QAAQ,KAAK,CAAC,QAAQ,IAAI,UAAU,KAAK;AAE/D,MAAI,qBAAqB;AACzB,MAAI;AACJ,MAAI,QAAQ;AACV,yBAAqB,OAAO,QAAQ;AACpC,yBAAqB;AAAA,EACvB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AAEA,MAAM,kBAAkB,CAAC,QAAmD,UAAkB;AAC5F,QAAM,SAAS,OAAO,eAAe,KAAK,CAAC,QAAQ,IAAI,SAAS,KAAK;AACrE,SAAO,SAAS,OAAO,UAAU;AACnC;AAEA,IAAO,gBAAQ;AAAA,EACb;AAAA,EACA;AACF;",
6
6
  "names": []
@@ -0,0 +1,109 @@
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
+ DateInput: () => DateInput,
32
+ default: () => clientClass_default
33
+ });
34
+ module.exports = __toCommonJS(clientClass_exports);
35
+ var import_dayjs = __toESM(require("dayjs"));
36
+ var import_DprClientClass = require("../../../DprClientClass");
37
+ class DateInput extends import_DprClientClass.DprClientClass {
38
+ static getModuleName() {
39
+ return "date-input";
40
+ }
41
+ initialise() {
42
+ const element = this.getElement();
43
+ this.dateInput = element.querySelector(`input.moj-js-datepicker-input`);
44
+ this.setToValueTriggers = document.querySelectorAll(`[data-set-min-max-trigger='true']`);
45
+ this.required = this.getElement().getAttribute("data-required");
46
+ this.displayName = this.getElement().getAttribute("data-display-name");
47
+ this.pattern = this.getElement().getAttribute("data-pattern");
48
+ this.patternHint = this.getElement().getAttribute("data-pattern-hint");
49
+ this.min = this.getElement().getAttribute("data-min");
50
+ this.max = this.getElement().getAttribute("data-max");
51
+ this.setValidationOnInputEl();
52
+ this.setMinMaxEventListener();
53
+ this.setToMinMax();
54
+ this.setToValue();
55
+ }
56
+ setValidationOnInputEl() {
57
+ if (this.required && this.required === "true") {
58
+ this.dateInput.setAttribute("required", true);
59
+ }
60
+ if (this.min) this.dateInput.setAttribute("min", this.min);
61
+ if (this.max) this.dateInput.setAttribute("max", this.max);
62
+ this.dateInput.setAttribute("display-name", this.displayName);
63
+ this.dateInput.setAttribute("pattern", this.pattern);
64
+ this.dateInput.setAttribute("pattern-hint", this.patternHint);
65
+ }
66
+ setMinMaxEventListener() {
67
+ this.dateInput.addEventListener("blur", () => {
68
+ this.setToMinMax();
69
+ });
70
+ }
71
+ setToMinMax() {
72
+ if (this.dateInput.value) {
73
+ const dateValue = new Date(this.dateInput.value);
74
+ if (this.min) {
75
+ const minDate = new Date(this.min);
76
+ if (dateValue < minDate) {
77
+ this.dateInput.value = (0, import_dayjs.default)(this.min).format("DD/MM/YYYY");
78
+ }
79
+ }
80
+ if (this.max) {
81
+ const maxDate = new Date(this.max);
82
+ if (dateValue > maxDate) {
83
+ this.dateInput.value = (0, import_dayjs.default)(this.max).format("DD/MM/YYYY");
84
+ }
85
+ }
86
+ }
87
+ const changeEvent = new Event("change");
88
+ this.dateInput.dispatchEvent(changeEvent);
89
+ }
90
+ setToValue() {
91
+ this.setToValueTriggers.forEach((set) => {
92
+ set.addEventListener("click", (e) => {
93
+ e.preventDefault();
94
+ const value = e.target.getAttribute("data-set-min-max-value");
95
+ const inputId = e.target.getAttribute("data-set-to-input");
96
+ const input = document.getElementById(inputId);
97
+ input.value = value;
98
+ const changeEvent = new Event("change");
99
+ input.dispatchEvent(changeEvent);
100
+ });
101
+ });
102
+ }
103
+ }
104
+ var clientClass_default = DateInput;
105
+ // Annotate the CommonJS export names for ESM import in node:
106
+ 0 && (module.exports = {
107
+ DateInput
108
+ });
109
+ //# sourceMappingURL=clientClass.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../dpr/components/_inputs/date-input/clientClass.ts"],
4
+ "sourcesContent": ["// @ts-nocheck\nimport dayjs from 'dayjs'\n\nimport { DprClientClass } from '../../../DprClientClass'\n\nclass DateInput extends DprClientClass {\n static getModuleName() {\n return 'date-input'\n }\n\n initialise() {\n const element = this.getElement()\n this.dateInput = element.querySelector(`input.moj-js-datepicker-input`)\n this.setToValueTriggers = document.querySelectorAll(`[data-set-min-max-trigger='true']`)\n\n this.required = this.getElement().getAttribute('data-required')\n this.displayName = this.getElement().getAttribute('data-display-name')\n this.pattern = this.getElement().getAttribute('data-pattern')\n this.patternHint = this.getElement().getAttribute('data-pattern-hint')\n this.min = this.getElement().getAttribute('data-min')\n this.max = this.getElement().getAttribute('data-max')\n\n this.setValidationOnInputEl()\n this.setMinMaxEventListener()\n this.setToMinMax()\n this.setToValue()\n }\n\n setValidationOnInputEl() {\n if (this.required && this.required === 'true') {\n this.dateInput.setAttribute('required', true)\n }\n if (this.min) this.dateInput.setAttribute('min', this.min)\n if (this.max) this.dateInput.setAttribute('max', this.max)\n\n this.dateInput.setAttribute('display-name', this.displayName)\n this.dateInput.setAttribute('pattern', this.pattern)\n this.dateInput.setAttribute('pattern-hint', this.patternHint)\n }\n\n setMinMaxEventListener() {\n this.dateInput.addEventListener('blur', () => {\n this.setToMinMax()\n })\n }\n\n setToMinMax() {\n if (this.dateInput.value) {\n const dateValue = new Date(this.dateInput.value)\n\n if (this.min) {\n const minDate = new Date(this.min)\n if (dateValue < minDate) {\n this.dateInput.value = dayjs(this.min).format('DD/MM/YYYY')\n }\n }\n\n if (this.max) {\n const maxDate = new Date(this.max)\n if (dateValue > maxDate) {\n this.dateInput.value = dayjs(this.max).format('DD/MM/YYYY')\n }\n }\n }\n\n const changeEvent = new Event('change')\n this.dateInput.dispatchEvent(changeEvent)\n }\n\n setToValue() {\n this.setToValueTriggers.forEach((set) => {\n set.addEventListener('click', (e) => {\n e.preventDefault()\n const value = e.target.getAttribute('data-set-min-max-value')\n const inputId = e.target.getAttribute('data-set-to-input')\n const input = document.getElementById(inputId)\n\n input.value = value\n const changeEvent = new Event('change')\n input.dispatchEvent(changeEvent)\n })\n })\n }\n}\n\nexport { DateInput }\nexport default DateInput\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAkB;AAElB,4BAA+B;AAE/B,MAAM,kBAAkB,qCAAe;AAAA,EACrC,OAAO,gBAAgB;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,aAAa;AACX,UAAM,UAAU,KAAK,WAAW;AAChC,SAAK,YAAY,QAAQ,cAAc,+BAA+B;AACtE,SAAK,qBAAqB,SAAS,iBAAiB,mCAAmC;AAEvF,SAAK,WAAW,KAAK,WAAW,EAAE,aAAa,eAAe;AAC9D,SAAK,cAAc,KAAK,WAAW,EAAE,aAAa,mBAAmB;AACrE,SAAK,UAAU,KAAK,WAAW,EAAE,aAAa,cAAc;AAC5D,SAAK,cAAc,KAAK,WAAW,EAAE,aAAa,mBAAmB;AACrE,SAAK,MAAM,KAAK,WAAW,EAAE,aAAa,UAAU;AACpD,SAAK,MAAM,KAAK,WAAW,EAAE,aAAa,UAAU;AAEpD,SAAK,uBAAuB;AAC5B,SAAK,uBAAuB;AAC5B,SAAK,YAAY;AACjB,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,yBAAyB;AACvB,QAAI,KAAK,YAAY,KAAK,aAAa,QAAQ;AAC7C,WAAK,UAAU,aAAa,YAAY,IAAI;AAAA,IAC9C;AACA,QAAI,KAAK,IAAK,MAAK,UAAU,aAAa,OAAO,KAAK,GAAG;AACzD,QAAI,KAAK,IAAK,MAAK,UAAU,aAAa,OAAO,KAAK,GAAG;AAEzD,SAAK,UAAU,aAAa,gBAAgB,KAAK,WAAW;AAC5D,SAAK,UAAU,aAAa,WAAW,KAAK,OAAO;AACnD,SAAK,UAAU,aAAa,gBAAgB,KAAK,WAAW;AAAA,EAC9D;AAAA,EAEA,yBAAyB;AACvB,SAAK,UAAU,iBAAiB,QAAQ,MAAM;AAC5C,WAAK,YAAY;AAAA,IACnB,CAAC;AAAA,EACH;AAAA,EAEA,cAAc;AACZ,QAAI,KAAK,UAAU,OAAO;AACxB,YAAM,YAAY,IAAI,KAAK,KAAK,UAAU,KAAK;AAE/C,UAAI,KAAK,KAAK;AACZ,cAAM,UAAU,IAAI,KAAK,KAAK,GAAG;AACjC,YAAI,YAAY,SAAS;AACvB,eAAK,UAAU,YAAQ,aAAAA,SAAM,KAAK,GAAG,EAAE,OAAO,YAAY;AAAA,QAC5D;AAAA,MACF;AAEA,UAAI,KAAK,KAAK;AACZ,cAAM,UAAU,IAAI,KAAK,KAAK,GAAG;AACjC,YAAI,YAAY,SAAS;AACvB,eAAK,UAAU,YAAQ,aAAAA,SAAM,KAAK,GAAG,EAAE,OAAO,YAAY;AAAA,QAC5D;AAAA,MACF;AAAA,IACF;AAEA,UAAM,cAAc,IAAI,MAAM,QAAQ;AACtC,SAAK,UAAU,cAAc,WAAW;AAAA,EAC1C;AAAA,EAEA,aAAa;AACX,SAAK,mBAAmB,QAAQ,CAAC,QAAQ;AACvC,UAAI,iBAAiB,SAAS,CAAC,MAAM;AACnC,UAAE,eAAe;AACjB,cAAM,QAAQ,EAAE,OAAO,aAAa,wBAAwB;AAC5D,cAAM,UAAU,EAAE,OAAO,aAAa,mBAAmB;AACzD,cAAM,QAAQ,SAAS,eAAe,OAAO;AAE7C,cAAM,QAAQ;AACd,cAAM,cAAc,IAAI,MAAM,QAAQ;AACtC,cAAM,cAAc,WAAW;AAAA,MACjC,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAGA,IAAO,sBAAQ;",
6
+ "names": ["dayjs"]
7
+ }
@@ -1,6 +1,7 @@
1
+ // @ts-nocheck
1
2
  import dayjs from 'dayjs'
2
3
 
3
- import { DprClientClass } from '../../../DprClientClass.mjs'
4
+ import { DprClientClass } from '../../../DprClientClass'
4
5
 
5
6
  class DateInput extends DprClientClass {
6
7
  static getModuleName() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../src/dpr/components/_inputs/date-input/utils.ts"],
3
+ "sources": ["../../../../dpr/components/_inputs/date-input/utils.ts"],
4
4
  "sourcesContent": ["import { Request } from 'express'\nimport dayjs from 'dayjs'\nimport customParse from 'dayjs/plugin/customParseFormat'\nimport { components } from '../../../types/api'\nimport { DateFilterValue, FilterValue } from '../../_filters/types'\nimport StartEndDatetUtils from '../start-end-date/utils'\nimport { defaultFilterValue } from '../../../utils/Personalisation/types'\n\ndayjs.extend(customParse)\n\nexport const setDateValueWithinMinMax = (filter: components['schemas']['FilterDefinition']) => {\n const { defaultValue, min, max } = filter\n let dateValue\n if (defaultValue) {\n dateValue = defaultValue\n if (min) dateValue = StartEndDatetUtils.compareMin(min, dateValue)\n if (max) dateValue = StartEndDatetUtils.compareMax(max, dateValue)\n }\n return dateValue\n}\n\nexport const setValueFromRequest = (filter: FilterValue, req: Request, prefix: string): string => {\n const { min, max, mandatory } = <DateFilterValue>filter\n const dateValue = <string>req.query[`${prefix}${filter.name}`]\n let value = dateValue\n if (mandatory && !dateValue) {\n value = min || max || '1977-05-25'\n }\n return value\n}\n\nexport const setFilterValueFromDefault = (defaultValue: defaultFilterValue, filter: FilterValue) => {\n const value = defaultValue.value\n ? dayjs(<string>defaultValue.value, 'D/M/YYYY')\n .format('YYYY-MM-DD')\n .toString()\n : ''\n return {\n ...filter,\n value,\n }\n}\n\nexport const getFilterFromDefinition = (filter: components['schemas']['FilterDefinition'], filterData: FilterValue) => {\n return {\n ...filterData,\n value: setDateValueWithinMinMax(filter) || '',\n min: filter.min,\n max: filter.max,\n }\n}\n\nexport default {\n setDateValueWithinMinMax,\n getFilterFromDefinition,\n setValueFromRequest,\n setFilterValueFromDefault,\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAkB;AAClB,+BAAwB;AAGxB,mBAA+B;AAG/B,aAAAA,QAAM,OAAO,yBAAAC,OAAW;AAEjB,MAAM,2BAA2B,CAAC,WAAsD;AAC7F,QAAM,EAAE,cAAc,KAAK,IAAI,IAAI;AACnC,MAAI;AACJ,MAAI,cAAc;AAChB,gBAAY;AACZ,QAAI,IAAK,aAAY,aAAAC,QAAmB,WAAW,KAAK,SAAS;AACjE,QAAI,IAAK,aAAY,aAAAA,QAAmB,WAAW,KAAK,SAAS;AAAA,EACnE;AACA,SAAO;AACT;AAEO,MAAM,sBAAsB,CAAC,QAAqB,KAAc,WAA2B;AAChG,QAAM,EAAE,KAAK,KAAK,UAAU,IAAqB;AACjD,QAAM,YAAoB,IAAI,MAAM,GAAG,MAAM,GAAG,OAAO,IAAI,EAAE;AAC7D,MAAI,QAAQ;AACZ,MAAI,aAAa,CAAC,WAAW;AAC3B,YAAQ,OAAO,OAAO;AAAA,EACxB;AACA,SAAO;AACT;AAEO,MAAM,4BAA4B,CAAC,cAAkC,WAAwB;AAClG,QAAM,QAAQ,aAAa,YACvB,aAAAF,SAAc,aAAa,OAAO,UAAU,EACzC,OAAO,YAAY,EACnB,SAAS,IACZ;AACJ,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,EACF;AACF;AAEO,MAAM,0BAA0B,CAAC,QAAmD,eAA4B;AACrH,SAAO;AAAA,IACL,GAAG;AAAA,IACH,OAAO,yBAAyB,MAAM,KAAK;AAAA,IAC3C,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO;AAAA,EACd;AACF;AAEA,IAAO,gBAAQ;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;",
6
6
  "names": ["dayjs", "customParse", "StartEndDatetUtils"]
@@ -0,0 +1,206 @@
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
+ DateRangeInput: () => DateRangeInput,
32
+ default: () => clientClass_default
33
+ });
34
+ module.exports = __toCommonJS(clientClass_exports);
35
+ var import_dayjs = __toESM(require("dayjs"));
36
+ var import_DprClientClass = require("../../../DprClientClass");
37
+ class DateRangeInput extends import_DprClientClass.DprClientClass {
38
+ static getModuleName() {
39
+ return "date-range-input";
40
+ }
41
+ initialise() {
42
+ this.dateRangeInputs = document.getElementById("dpr-date-range");
43
+ this.filtersAccordion = document.getElementById("dpr-interactive-filters-details");
44
+ this.fieldName = this.dateRangeInputs.getAttribute("data-field-name");
45
+ this.startInputID = `filters.${this.fieldName}.start`;
46
+ this.endInputID = `filters.${this.fieldName}.end`;
47
+ this.durationInputID = `filters.${this.fieldName}.relative-duration`;
48
+ this.relativeRangeRadioButtons = document.querySelectorAll(`input[name='${this.durationInputID}']`);
49
+ this.startInput = document.querySelector(`input[name='${this.startInputID}']`);
50
+ this.endInput = document.querySelector(`input[name='${this.endInputID}']`);
51
+ this.startRequired = this.startInput.required;
52
+ this.endRequired = this.endInput.required;
53
+ this.datePickerTab = document.getElementById(`tab_${this.fieldName}-date-picker`);
54
+ this.relativeDurationTab = document.getElementById(`tab_${this.fieldName}-relative-range`);
55
+ this.durationValue = void 0;
56
+ if (this.datePickerTab && this.relativeDurationTab) {
57
+ this.initDatePickerTabClick();
58
+ this.initRelativeDurationTabClick();
59
+ this.initTabs();
60
+ this.initDurationRadionButtonClick();
61
+ this.initDatePickerUpdateEvents();
62
+ }
63
+ }
64
+ initTabs() {
65
+ this.queryParams = new URLSearchParams(window.location.search);
66
+ if (this.queryParams.has(this.durationInputID)) {
67
+ this.relativeRangeRadioButtons.forEach((durationRadioButton) => {
68
+ this.updateCheckedDuration(durationRadioButton);
69
+ });
70
+ }
71
+ }
72
+ initDatePickerTabClick() {
73
+ this.datePickerTab.addEventListener("click", () => {
74
+ let value;
75
+ this.queryParams = new URLSearchParams(window.location.search);
76
+ if (this.queryParams.has(this.durationInputID)) {
77
+ value = this.queryParams.get(this.durationInputID);
78
+ this.removeSearchParam(this.durationInputID);
79
+ }
80
+ this.updateInputs(value);
81
+ const changeEvent = new Event("change");
82
+ this.startInput.dispatchEvent(changeEvent);
83
+ this.endInput.dispatchEvent(changeEvent);
84
+ });
85
+ }
86
+ initRelativeDurationTabClick() {
87
+ this.relativeDurationTab.addEventListener("click", () => {
88
+ this.relativeRangeRadioButtons.forEach((durationRadioButton) => {
89
+ this.updateCheckedDuration(durationRadioButton);
90
+ });
91
+ });
92
+ }
93
+ resetDurationValue() {
94
+ this.relativeRangeRadioButtons.forEach((durationRadioButton) => {
95
+ durationRadioButton.checked = false;
96
+ });
97
+ }
98
+ initDurationRadionButtonClick() {
99
+ this.relativeRangeRadioButtons.forEach((durationRadioButton) => {
100
+ durationRadioButton.addEventListener("click", (e) => {
101
+ const durationValue = e.target.value;
102
+ this.durationValue = durationValue;
103
+ this.updateInputs(durationValue);
104
+ });
105
+ });
106
+ this.relativeRangeRadioButtons.forEach((durationRadioButton) => {
107
+ durationRadioButton.addEventListener("change", () => {
108
+ if (Array.from(this.relativeRangeRadioButtons).every((input) => !input.checked)) {
109
+ this.durationValue = null;
110
+ this.updateInputs(this.durationValue);
111
+ }
112
+ });
113
+ });
114
+ }
115
+ removeSearchParam(name, name2) {
116
+ this.queryParams = new URLSearchParams(window.location.search);
117
+ this.queryParams.delete(name);
118
+ if (name2) this.queryParams.delete(name2);
119
+ window.history.replaceState(null, null, `?${this.queryParams.toString()}`);
120
+ }
121
+ updateCheckedDuration(durationRadioButton) {
122
+ if (durationRadioButton.checked) {
123
+ const durationValue = durationRadioButton.value;
124
+ this.updateInputs(durationValue);
125
+ const changeEvent = new Event("change");
126
+ durationRadioButton.dispatchEvent(changeEvent);
127
+ }
128
+ }
129
+ removeRequiredFromDatePickers() {
130
+ this.startInput.removeAttribute("required");
131
+ this.endInput.removeAttribute("required");
132
+ this.startInput.value = "";
133
+ this.endInput.value = "";
134
+ }
135
+ updateInputs(durationValue) {
136
+ this.startInput.required = this.startRequired;
137
+ this.endInput.required = this.endRequired;
138
+ if (durationValue || this.durationValue) {
139
+ const d = durationValue || this.durationValue;
140
+ const { startDate, endDate } = this.calculateDateForDatepicker(d);
141
+ this.startInput.value = startDate;
142
+ this.endInput.value = endDate;
143
+ } else {
144
+ this.startInput.value = null;
145
+ this.endInput.value = null;
146
+ }
147
+ }
148
+ initDatePickerUpdateEvents() {
149
+ this.startInput.addEventListener("change", () => {
150
+ this.removeSearchParam(this.durationInputID);
151
+ this.resetDurationValue();
152
+ });
153
+ this.endInput.addEventListener("change", () => {
154
+ this.removeSearchParam(this.durationInputID);
155
+ this.resetDurationValue();
156
+ });
157
+ }
158
+ calculateDateForDatepicker(duration) {
159
+ let startDate;
160
+ let endDate;
161
+ switch (duration) {
162
+ case "none":
163
+ startDate = "";
164
+ endDate = "";
165
+ break;
166
+ case "yesterday":
167
+ endDate = (0, import_dayjs.default)();
168
+ startDate = endDate.subtract(1, "day");
169
+ break;
170
+ case "tomorrow":
171
+ startDate = (0, import_dayjs.default)();
172
+ endDate = startDate.add(1, "day");
173
+ break;
174
+ case "last-seven-days":
175
+ endDate = (0, import_dayjs.default)();
176
+ startDate = endDate.subtract(1, "week");
177
+ break;
178
+ case "next-seven-days":
179
+ startDate = (0, import_dayjs.default)();
180
+ endDate = startDate.add(1, "week");
181
+ break;
182
+ case "last-month":
183
+ endDate = (0, import_dayjs.default)();
184
+ startDate = endDate.subtract(1, "month");
185
+ break;
186
+ case "next-month":
187
+ startDate = (0, import_dayjs.default)();
188
+ endDate = startDate.add(1, "month");
189
+ break;
190
+ default:
191
+ startDate = "";
192
+ endDate = "";
193
+ break;
194
+ }
195
+ return {
196
+ startDate: startDate ? startDate.format("DD/MM/YYYY").toString() : "",
197
+ endDate: endDate ? endDate.format("DD/MM/YYYY").toString() : ""
198
+ };
199
+ }
200
+ }
201
+ var clientClass_default = DateRangeInput;
202
+ // Annotate the CommonJS export names for ESM import in node:
203
+ 0 && (module.exports = {
204
+ DateRangeInput
205
+ });
206
+ //# sourceMappingURL=clientClass.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../dpr/components/_inputs/date-range/clientClass.ts"],
4
+ "sourcesContent": ["// @ts-nocheck\n/* eslint-disable class-methods-use-this */\nimport dayjs from 'dayjs'\n\nimport { DprClientClass } from '../../../DprClientClass'\n\nclass DateRangeInput extends DprClientClass {\n static getModuleName() {\n return 'date-range-input'\n }\n\n initialise() {\n this.dateRangeInputs = document.getElementById('dpr-date-range')\n this.filtersAccordion = document.getElementById('dpr-interactive-filters-details')\n this.fieldName = this.dateRangeInputs.getAttribute('data-field-name')\n\n this.startInputID = `filters.${this.fieldName}.start`\n this.endInputID = `filters.${this.fieldName}.end`\n this.durationInputID = `filters.${this.fieldName}.relative-duration`\n\n this.relativeRangeRadioButtons = document.querySelectorAll(`input[name='${this.durationInputID}']`)\n this.startInput = document.querySelector(`input[name='${this.startInputID}']`)\n this.endInput = document.querySelector(`input[name='${this.endInputID}']`)\n\n this.startRequired = this.startInput.required\n this.endRequired = this.endInput.required\n\n this.datePickerTab = document.getElementById(`tab_${this.fieldName}-date-picker`)\n this.relativeDurationTab = document.getElementById(`tab_${this.fieldName}-relative-range`)\n this.durationValue = undefined\n\n if (this.datePickerTab && this.relativeDurationTab) {\n this.initDatePickerTabClick()\n this.initRelativeDurationTabClick()\n this.initTabs()\n this.initDurationRadionButtonClick()\n this.initDatePickerUpdateEvents()\n }\n }\n\n initTabs() {\n this.queryParams = new URLSearchParams(window.location.search)\n if (this.queryParams.has(this.durationInputID)) {\n this.relativeRangeRadioButtons.forEach((durationRadioButton) => {\n this.updateCheckedDuration(durationRadioButton)\n })\n }\n }\n\n initDatePickerTabClick() {\n this.datePickerTab.addEventListener('click', () => {\n let value\n this.queryParams = new URLSearchParams(window.location.search)\n if (this.queryParams.has(this.durationInputID)) {\n value = this.queryParams.get(this.durationInputID)\n this.removeSearchParam(this.durationInputID)\n }\n this.updateInputs(value)\n\n const changeEvent = new Event('change')\n this.startInput.dispatchEvent(changeEvent)\n this.endInput.dispatchEvent(changeEvent)\n })\n }\n\n initRelativeDurationTabClick() {\n this.relativeDurationTab.addEventListener('click', () => {\n this.relativeRangeRadioButtons.forEach((durationRadioButton) => {\n this.updateCheckedDuration(durationRadioButton)\n })\n })\n }\n\n resetDurationValue() {\n this.relativeRangeRadioButtons.forEach((durationRadioButton) => {\n // eslint-disable-next-line no-param-reassign\n durationRadioButton.checked = false\n })\n }\n\n initDurationRadionButtonClick() {\n this.relativeRangeRadioButtons.forEach((durationRadioButton) => {\n durationRadioButton.addEventListener('click', (e) => {\n const durationValue = e.target.value\n this.durationValue = durationValue\n this.updateInputs(durationValue)\n })\n })\n\n this.relativeRangeRadioButtons.forEach((durationRadioButton) => {\n durationRadioButton.addEventListener('change', () => {\n if (Array.from(this.relativeRangeRadioButtons).every((input) => !input.checked)) {\n this.durationValue = null\n this.updateInputs(this.durationValue)\n }\n })\n })\n }\n\n removeSearchParam(name, name2) {\n this.queryParams = new URLSearchParams(window.location.search)\n this.queryParams.delete(name)\n if (name2) this.queryParams.delete(name2)\n\n window.history.replaceState(null, null, `?${this.queryParams.toString()}`)\n }\n\n updateCheckedDuration(durationRadioButton) {\n if (durationRadioButton.checked) {\n const durationValue = durationRadioButton.value\n this.updateInputs(durationValue)\n const changeEvent = new Event('change')\n durationRadioButton.dispatchEvent(changeEvent)\n }\n }\n\n removeRequiredFromDatePickers() {\n this.startInput.removeAttribute('required')\n this.endInput.removeAttribute('required')\n this.startInput.value = ''\n this.endInput.value = ''\n }\n\n updateInputs(durationValue) {\n this.startInput.required = this.startRequired\n this.endInput.required = this.endRequired\n\n if (durationValue || this.durationValue) {\n const d = durationValue || this.durationValue\n const { startDate, endDate } = this.calculateDateForDatepicker(d)\n this.startInput.value = startDate\n this.endInput.value = endDate\n } else {\n this.startInput.value = null\n this.endInput.value = null\n }\n }\n\n initDatePickerUpdateEvents() {\n this.startInput.addEventListener('change', () => {\n this.removeSearchParam(this.durationInputID)\n this.resetDurationValue()\n })\n this.endInput.addEventListener('change', () => {\n this.removeSearchParam(this.durationInputID)\n this.resetDurationValue()\n })\n }\n\n calculateDateForDatepicker(duration) {\n let startDate\n let endDate\n\n switch (duration) {\n case 'none':\n startDate = ''\n endDate = ''\n break\n case 'yesterday':\n endDate = dayjs()\n startDate = endDate.subtract(1, 'day')\n break\n case 'tomorrow':\n startDate = dayjs()\n endDate = startDate.add(1, 'day')\n break\n case 'last-seven-days':\n endDate = dayjs()\n startDate = endDate.subtract(1, 'week')\n break\n case 'next-seven-days':\n startDate = dayjs()\n endDate = startDate.add(1, 'week')\n break\n case 'last-month':\n endDate = dayjs()\n startDate = endDate.subtract(1, 'month')\n break\n case 'next-month':\n startDate = dayjs()\n endDate = startDate.add(1, 'month')\n break\n default:\n startDate = ''\n endDate = ''\n break\n }\n\n return {\n startDate: startDate ? startDate.format('DD/MM/YYYY').toString() : '',\n endDate: endDate ? endDate.format('DD/MM/YYYY').toString() : '',\n }\n }\n}\n\nexport { DateRangeInput }\nexport default DateRangeInput\n"],
5
+ "mappings": "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",
6
+ "names": ["dayjs"]
7
+ }
@@ -1,7 +1,8 @@
1
+ // @ts-nocheck
1
2
  /* eslint-disable class-methods-use-this */
2
3
  import dayjs from 'dayjs'
3
4
 
4
- import { DprClientClass } from '../../../DprClientClass.mjs'
5
+ import { DprClientClass } from '../../../DprClientClass'
5
6
 
6
7
  class DateRangeInput extends DprClientClass {
7
8
  static getModuleName() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../src/dpr/components/_inputs/date-range/types.ts"],
3
+ "sources": ["../../../../dpr/components/_inputs/date-range/types.ts"],
4
4
  "sourcesContent": ["export enum RelativeDateRange {\n YESTERDAY = 'yesterday',\n TOMORROW = 'tomorrow',\n LAST_WEEK = 'last-seven-days',\n NEXT_WEEK = 'next-seven-days',\n LAST_MONTH = 'last-month',\n NEXT_MONTH = 'next-month',\n}\n\nexport interface RelativeOption {\n value: string\n text: string\n disabled?: boolean\n}\n\nexport default RelativeDateRange\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAK,oBAAL,kBAAKA,uBAAL;AACL,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,cAAW;AACX,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,eAAY;AACZ,EAAAA,mBAAA,gBAAa;AACb,EAAAA,mBAAA,gBAAa;AANH,SAAAA;AAAA,GAAA;AAeZ,IAAO,gBAAQ;",
6
6
  "names": ["RelativeDateRange"]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../src/dpr/components/_inputs/date-range/utils.ts"],
3
+ "sources": ["../../../../dpr/components/_inputs/date-range/utils.ts"],
4
4
  "sourcesContent": ["/* eslint-disable no-param-reassign */\nimport dayjs from 'dayjs'\nimport customParse from 'dayjs/plugin/customParseFormat'\nimport { Request } from 'express'\nimport isBetween from 'dayjs/plugin/isBetween'\nimport { components } from '../../../types/api'\nimport { DateRangeFilterValue, DateRange, FilterValue } from '../../_filters/types'\nimport StartEndDateUtils from '../start-end-date/utils'\nimport RelativeDateRange, { RelativeOption } from './types'\nimport { DefaultDateFilterValue, defaultFilterValue } from '../../../utils/Personalisation/types'\n\ndayjs.extend(customParse)\n\nexport const dateIsInBounds = (\n startDate: dayjs.Dayjs | string,\n endDate: dayjs.Dayjs | string,\n min: string,\n max: string,\n) => {\n dayjs.extend(isBetween)\n\n const minDate = dayjs(min)\n const maxDate = dayjs(max)\n\n const startDateIsBetweenMinAndMax = startDate\n ? (<dayjs.Dayjs>startDate).isBetween(minDate, maxDate, 'day', '[]')\n : true\n const endDateIsBetweenMinAndMax = endDate ? (<dayjs.Dayjs>endDate).isBetween(minDate, maxDate, 'day', '[]') : true\n\n return startDateIsBetweenMinAndMax && endDateIsBetweenMinAndMax\n}\n\nexport const calcDates = (durationValue: string) => {\n let endDate: string | dayjs.Dayjs = dayjs()\n let startDate: string | dayjs.Dayjs = dayjs()\n\n switch (durationValue) {\n case 'none':\n endDate = ''\n startDate = ''\n break\n case 'yesterday':\n endDate = dayjs()\n startDate = endDate.subtract(1, 'day')\n break\n case 'tomorrow':\n startDate = dayjs()\n endDate = startDate.add(1, 'day')\n break\n case 'last-seven-days':\n endDate = dayjs()\n startDate = endDate.subtract(1, 'week')\n break\n case 'next-seven-days':\n startDate = dayjs()\n endDate = startDate.add(1, 'week')\n break\n case 'last-month':\n endDate = dayjs()\n startDate = endDate.subtract(1, 'month')\n break\n case 'next-month':\n startDate = dayjs()\n endDate = startDate.add(1, 'month')\n break\n default:\n break\n }\n\n return {\n endDate,\n startDate,\n }\n}\n\nexport const setValueFromRequest = (\n filter: DateRangeFilterValue,\n req: Request,\n prefix: string,\n): DateRangeFilterValue['value'] => {\n const { relativeOptions } = filter\n const start = <string>req.query[`${prefix}${filter.name}.start`]\n const end = <string>req.query[`${prefix}${filter.name}.end`]\n const relative = <string>req.query[`${prefix}${filter.name}.relative-duration`]\n\n let relativeDisabled = false\n if (relative && relativeOptions) {\n const option = relativeOptions.find((opt) => opt.value === relative)\n relativeDisabled = option && option.disabled ? option.disabled : false\n }\n\n const value = {\n start: start || filter.min,\n end: end || filter.max,\n ...(relative && !relativeDisabled && { relative }),\n } as DateRange\n\n return value\n}\n\nexport const setDefaultValue = (req: Request, name: string) => {\n const dateRangeName = name.split('.')[0]\n\n const dateRangeDefaults = Object.keys(req.body)\n .filter((key) => key.includes(dateRangeName))\n .map((key) => {\n return { name: key.split('.')[2], value: req.body[key] }\n })\n\n const dateRangeValue: DateRangeFilterValue['value'] | string = { start: '', end: '' }\n dateRangeDefaults.forEach((dateRangeDefault) => {\n if (dateRangeDefault.name.includes('start')) {\n dateRangeValue.start = dateRangeDefault.value\n }\n if (dateRangeDefault.name.includes('end')) {\n dateRangeValue.end = dateRangeDefault.value\n }\n if (dateRangeDefault.name.includes('relative-duration')) {\n dateRangeValue.relative = dateRangeDefault.value\n }\n })\n\n return { value: dateRangeValue, name: dateRangeName }\n}\n\nexport const setFilterValueFromDefault = (defaultValue: defaultFilterValue, filter: FilterValue) => {\n const value = { start: '', end: '', relative: '' }\n const { start, end, relative } = <DefaultDateFilterValue>defaultValue.value\n if (relative) {\n value.relative = relative\n }\n if (start) {\n value.start = dayjs(start, 'D/M/YYYY').format('YYYY-MM-DD').toString()\n }\n if (end) {\n value.end = dayjs(end, 'D/M/YYYY').format('YYYY-MM-DD').toString()\n }\n\n return {\n ...filter,\n value,\n }\n}\n\nexport const getRelativeDateOptions = (min?: string, max?: string) => {\n if (!min) min = '1977-05-25'\n if (!max) max = '9999-01-01'\n let options: RelativeOption[] = getRelativeValues()\n options.forEach((option: RelativeOption) => {\n if (option.value) {\n const { endDate, startDate } = calcDates(option.value)\n if (!dateIsInBounds(startDate, endDate, min, max)) {\n option.disabled = true\n }\n }\n })\n\n if (\n options\n .filter((opt: RelativeOption) => opt.value !== 'none')\n .every((opt: RelativeOption) => {\n return opt.value === null || opt.disabled\n })\n ) {\n options = []\n }\n\n return options\n}\n\nexport const mapRelativeValue = (value: RelativeDateRange) => {\n const values = getRelativeValues()\n const opt = values.find((v) => v.value === value)\n return opt ? opt.text : ''\n}\n\nexport const getRelativeValues = (): {\n value: string\n text: string\n disabled?: boolean\n}[] => {\n return [\n { value: 'none', text: 'None' },\n { value: 'yesterday', text: 'Yesterday' },\n { value: 'tomorrow', text: 'Tomorrow' },\n { value: 'last-seven-days', text: 'Last week' },\n { value: 'next-seven-days', text: 'Next week' },\n { value: 'last-month', text: 'Last month' },\n { value: 'next-month', text: 'Next month' },\n ]\n}\n\nexport const getFilterFromDefinition = (filter: components['schemas']['FilterDefinition'], filterData: FilterValue) => {\n const value = StartEndDateUtils.getStartAndEndValueFromDefinition(filter)\n const relativeOptions = getRelativeDateOptions(filter.min, filter.max)\n\n return {\n ...filterData,\n min: filter.min,\n max: filter.max,\n relativeOptions,\n value,\n }\n}\n\nexport const getQueryFromDefinition = (\n filter: components['schemas']['FilterDefinition'],\n name: string,\n filterPrefix: string,\n) => {\n const dates = filter.defaultValue ? filter.defaultValue.split(' - ') : []\n let param = ''\n if (dates.length >= 1) {\n param = `${filterPrefix}${name}.start=${dates[0]}`\n if (dates.length >= 2) {\n param = `${param}&${filterPrefix}${name}.end=${dates[1]}`\n }\n }\n return param\n}\n\nexport default {\n calcDates,\n getRelativeDateOptions,\n getFilterFromDefinition,\n setValueFromRequest,\n getQueryFromDefinition,\n mapRelativeValue,\n setDefaultValue,\n setFilterValueFromDefault,\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": ["dayjs", "customParse", "isBetween", "StartEndDateUtils"]