@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,396 @@
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
+ SelectedFilters: () => SelectedFilters,
32
+ default: () => clientClass_default
33
+ });
34
+ module.exports = __toCommonJS(clientClass_exports);
35
+ var import_clientClass = __toESM(require("../filters-form/clientClass"));
36
+ class SelectedFilters extends import_clientClass.default {
37
+ static getModuleName() {
38
+ return "selected-filters";
39
+ }
40
+ /**
41
+ * Initialises the Interactive selected filter button events
42
+ *
43
+ * - Updates the query parameter in the url
44
+ * - Reloads the page to create the selected filter data server side
45
+ * - selected filter data is passed to the render function
46
+ *
47
+ * @memberof SelectedFilters
48
+ */
49
+ initInteractiveSelectedFilterButtonsEvents() {
50
+ if (this.selectedFiltersButtons) {
51
+ this.selectedFiltersButtons.forEach((button) => {
52
+ button.addEventListener("click", (e) => {
53
+ e.preventDefault();
54
+ const target = e.target.matches(".interactive-remove-filter-button") ? e.target : e.target.closest(".interactive-remove-filter-button");
55
+ const keys = JSON.parse(target.getAttribute("data-query-param-key")) || [];
56
+ const values = JSON.parse(target.getAttribute("data-query-param-value")) || [];
57
+ let constraints = target.getAttribute("data-query-constraint-values");
58
+ constraints = constraints ? JSON.parse(target.getAttribute("data-query-constraint-values")) : void 0;
59
+ keys.forEach((key) => {
60
+ values.forEach((value) => {
61
+ this.updateQueryParam(key, value, "delete");
62
+ });
63
+ if (constraints) {
64
+ const constraint = constraints.find((con) => con.key === key);
65
+ if (constraint) {
66
+ this.updateQueryParam(key, constraint.value);
67
+ }
68
+ }
69
+ });
70
+ this.updateQueryParam("selectedPage", 1);
71
+ this.updateQueryParam("preventDefault", true);
72
+ window.location.reload();
73
+ });
74
+ });
75
+ }
76
+ }
77
+ initSelectedFiltersButtons() {
78
+ if (this.selectedFiltersWrapper) {
79
+ let selectedFilterData = this.getSelectedFilterData();
80
+ selectedFilterData = this.setPresetDateRangeSelectedFilter(selectedFilterData);
81
+ selectedFilterData = this.setMultiselectSelectedFilterValue(selectedFilterData);
82
+ selectedFilterData = this.setGranularDateRangeSelectedFilter(selectedFilterData);
83
+ this.createSelectedFilterElements(selectedFilterData);
84
+ }
85
+ }
86
+ /**
87
+ * Initialises the input change event
88
+ *
89
+ * @param {NodeList} elements
90
+ * @memberof SelectedFilters
91
+ */
92
+ initInputEventsForSelectedFilters(elements) {
93
+ Array.from(elements).forEach((input) => {
94
+ input.addEventListener("change", () => {
95
+ this.initSelectedFiltersButtons();
96
+ });
97
+ });
98
+ }
99
+ /**
100
+ * Creates the selected filter data and buttons
101
+ *
102
+ * @memberof SelectedFilters
103
+ */
104
+ getSelectedFilterData() {
105
+ this.queryParams = new URLSearchParams(window.location.search);
106
+ this.selectedFiltersWrapper.innerHTML = "";
107
+ const selectedFilterData = [];
108
+ this.queryParams.forEach((value, key) => {
109
+ let displayName = key;
110
+ let displayValue = value;
111
+ if (key.includes("filters.")) {
112
+ const inputs = document.getElementsByName(key);
113
+ if (inputs.length) {
114
+ displayName = this.getDisplayName(inputs[0]);
115
+ displayValue = this.getInputDisplayValue(inputs);
116
+ const index = selectedFilterData.findIndex((s) => s.key === key);
117
+ if (index === -1) {
118
+ if (displayValue) {
119
+ selectedFilterData.push({
120
+ displayName,
121
+ displayValue,
122
+ key,
123
+ name: key.split(".")[1],
124
+ value: [value],
125
+ type: inputs[0]
126
+ });
127
+ }
128
+ } else {
129
+ selectedFilterData[index] = {
130
+ ...selectedFilterData[index],
131
+ displayValue: selectedFilterData[index].displayValue,
132
+ value: selectedFilterData[index].value
133
+ };
134
+ }
135
+ }
136
+ }
137
+ });
138
+ return selectedFilterData;
139
+ }
140
+ /**
141
+ * Creates the selected filters
142
+ *
143
+ * @param {NodeList} selectedFilters
144
+ * @memberof SelectedFilters
145
+ */
146
+ createSelectedFilterElements(selectedFilters) {
147
+ if (selectedFilters.length) {
148
+ selectedFilters.forEach((selectedFilterData) => {
149
+ this.createSelectedFilterElement(selectedFilterData);
150
+ this.initSelectedButtonEvent();
151
+ });
152
+ } else {
153
+ this.createNoFiltersSelectedMessageEl();
154
+ }
155
+ this.createResetButtonEl();
156
+ }
157
+ /**
158
+ * Gets the display value for a selected input
159
+ *
160
+ * @param {*} inputs
161
+ * @return {string} the input diap
162
+ * @memberof SelectedFilters
163
+ */
164
+ getInputDisplayValue(inputs) {
165
+ let displayValue;
166
+ switch (inputs[0].type) {
167
+ case "text":
168
+ displayValue = inputs[0].value;
169
+ break;
170
+ case "radio": {
171
+ const checkedInput = Array.from(inputs).find((i) => i.checked);
172
+ displayValue = checkedInput ? checkedInput.labels[0].innerText : "";
173
+ break;
174
+ }
175
+ case "select-one":
176
+ displayValue = inputs[0].options[inputs[0].selectedIndex].text;
177
+ break;
178
+ case "checkbox": {
179
+ const checkedInputs = Array.from(inputs).filter((i) => i.checked);
180
+ displayValue = checkedInputs.map((i) => {
181
+ return ` ${i.labels[0].innerText}`;
182
+ });
183
+ break;
184
+ }
185
+ default:
186
+ displayValue = inputs[0].value;
187
+ break;
188
+ }
189
+ return displayValue;
190
+ }
191
+ /**
192
+ * Initialises the request selected filter button events
193
+ *
194
+ * - Updates the corresponding input value to null
195
+ * - Dispatches an input change event to update to update the corresponding url search param
196
+ *
197
+ * @memberof SelectedFilters
198
+ */
199
+ initSelectedButtonEvent() {
200
+ if (this.selectedFiltersWrapper) {
201
+ Array.from(this.selectedFiltersWrapper.children).forEach((button) => {
202
+ button.addEventListener("click", (e) => {
203
+ e.preventDefault();
204
+ const dataQueryParamKeyString = e.target.dataset.dataQueryParamKey;
205
+ const dataQueryParamKeyArray = JSON.parse(dataQueryParamKeyString);
206
+ let inputs;
207
+ if (dataQueryParamKeyArray.length > 1) {
208
+ inputs = dataQueryParamKeyArray.map((inputName) => {
209
+ return document.getElementsByName(inputName)[0];
210
+ });
211
+ } else {
212
+ inputs = document.getElementsByName(dataQueryParamKeyArray[0]);
213
+ }
214
+ if (inputs.length) {
215
+ inputs.forEach((input) => {
216
+ switch (input.type) {
217
+ case "checkbox":
218
+ case "radio": {
219
+ input.checked = false;
220
+ const changeEvent2 = new Event("change");
221
+ input.dispatchEvent(changeEvent2);
222
+ break;
223
+ }
224
+ case "search":
225
+ input.value = "";
226
+ input.staticOptionNameValue = "";
227
+ break;
228
+ default:
229
+ input.value = "";
230
+ break;
231
+ }
232
+ const changeEvent = new Event("change");
233
+ input.dispatchEvent(changeEvent);
234
+ });
235
+ }
236
+ });
237
+ });
238
+ }
239
+ }
240
+ /**
241
+ * Creates the selected input element
242
+ *
243
+ * @param {string} displayName
244
+ * @param {string} displayValue
245
+ * @param {string} key
246
+ * @param {string} value
247
+ * @return {element}
248
+ * @memberof SelectedFilters
249
+ */
250
+ createSelectedFilterElement(selectedData) {
251
+ const { displayName, displayValue, key, value } = selectedData;
252
+ const selectedItem = document.createElement("a");
253
+ selectedItem.classList = "govuk-link govuk-body interactive-remove-filter-button";
254
+ selectedItem.href = "#";
255
+ selectedItem.dataset.dataQueryParamKey = Array.isArray(key) ? JSON.stringify(key) : `[ "${key}" ]`;
256
+ selectedItem.dataset.dataQueryParamValue = Array.isArray(value) ? JSON.stringify(value) : `[ "${value}" ]`;
257
+ const contentField = document.createTextNode(`${displayName}: `);
258
+ selectedItem.appendChild(contentField);
259
+ const selectedItemValue = document.createElement("span");
260
+ selectedItemValue.classList = "dpr-selected-filter__value";
261
+ const contentValue = document.createTextNode(displayValue);
262
+ selectedItemValue.appendChild(contentValue);
263
+ selectedItem.appendChild(selectedItemValue);
264
+ this.selectedFiltersWrapper.appendChild(selectedItem);
265
+ }
266
+ createNoFiltersSelectedMessageEl() {
267
+ const noneSelectedMessage = document.createElement("p");
268
+ noneSelectedMessage.classList = "govuk-body-s govuk-!-margin-top-2 govuk-!-margin-bottom-0";
269
+ const content = document.createTextNode("No filters selected");
270
+ noneSelectedMessage.appendChild(content);
271
+ this.selectedFiltersWrapper.appendChild(noneSelectedMessage);
272
+ }
273
+ createResetButtonEl() {
274
+ const resetLink = document.createElement("a");
275
+ resetLink.classList = "govuk-body-s govuk-link govuk-link--no-visited-state dpr-reset-filters-button govuk-!-margin-bottom-0";
276
+ const content = document.createTextNode("Reset filters");
277
+ resetLink.appendChild(content);
278
+ resetLink.setAttribute("href", "#");
279
+ resetLink.setAttribute("id", "async-request-reset-filters-button");
280
+ this.selectedFiltersWrapper.appendChild(resetLink);
281
+ this.initResetButton("async-request-reset-filters-button");
282
+ }
283
+ // Specfic input type edge cases 👇🏽
284
+ /**
285
+ * Daterange
286
+ * Filters the selected filters buttons to include valid preset date range buttons
287
+ *
288
+ * @param {*} selectedFilters
289
+ * @return {*}
290
+ * @memberof SelectedFilters
291
+ */
292
+ setPresetDateRangeSelectedFilter(selectedFilters) {
293
+ let updatedSelectedFilters = selectedFilters;
294
+ const presetRangeFilter = selectedFilters.find((sf) => sf.displayName === "Preset date range");
295
+ if (presetRangeFilter) {
296
+ updatedSelectedFilters = selectedFilters.filter((sf) => {
297
+ const key = sf.key.split(".");
298
+ return !sf.key.includes(`${key[0]}.${key[1]}`) || sf.key === presetRangeFilter.key;
299
+ });
300
+ }
301
+ return updatedSelectedFilters;
302
+ }
303
+ /**
304
+ * Multiselect
305
+ *
306
+ * @param {*} selectedFilters
307
+ * @return {*}
308
+ * @memberof SelectedFilters
309
+ */
310
+ setMultiselectSelectedFilterValue(selectedFilters) {
311
+ let updatedSelectedFilters = selectedFilters;
312
+ updatedSelectedFilters = selectedFilters.map((sf) => {
313
+ if (Array.isArray(sf.displayValue) && sf.displayValue.length > 3) {
314
+ const dv = `${sf.displayValue[0]}, ${sf.displayValue[1]}, ${sf.displayValue[2]} + ${sf.displayValue.length - 3} more`;
315
+ return {
316
+ ...sf,
317
+ displayValue: dv
318
+ };
319
+ }
320
+ return sf;
321
+ });
322
+ return updatedSelectedFilters;
323
+ }
324
+ /**
325
+ * Daterange
326
+ * Filters the selected filters buttons to include valid preset date range buttons
327
+ *
328
+ * @param {*} selectedFilters
329
+ * @return {*}
330
+ * @memberof SelectedFilters
331
+ */
332
+ setGranularDateRangeSelectedFilter(selectedFilters) {
333
+ this.queryParams = new URLSearchParams(window.location.search);
334
+ let updatedSelectedFilters = selectedFilters;
335
+ const quickFilterIndex = selectedFilters.findIndex((sf) => sf.key.includes("quick-filter"));
336
+ const granularityIndex = selectedFilters.findIndex((sf) => sf.key.includes("granularity"));
337
+ let granularFilterName;
338
+ let displayName;
339
+ if (quickFilterIndex !== -1 || granularityIndex !== -1) {
340
+ granularFilterName = updatedSelectedFilters[quickFilterIndex]?.name || updatedSelectedFilters[granularityIndex]?.name;
341
+ displayName = document.getElementById(`dpr-granular-date-range_${granularFilterName}`).dataset.fieldDisplayName;
342
+ }
343
+ if (granularFilterName) {
344
+ const keys = [];
345
+ const values = [];
346
+ let displayValue = "";
347
+ let granularityValue;
348
+ let quickFilterValue;
349
+ let startValue;
350
+ let endValue;
351
+ this.queryParams.forEach((value, key) => {
352
+ if (key.includes(granularFilterName)) {
353
+ keys.push(key);
354
+ values.push(value);
355
+ const selected = updatedSelectedFilters.find((s) => s.key === key);
356
+ if (key.includes("granularity")) {
357
+ granularityValue = selected.displayValue;
358
+ }
359
+ if (key.includes("quick-filter")) {
360
+ quickFilterValue = selected.displayValue;
361
+ }
362
+ if (key.includes("start")) {
363
+ startValue = selected.displayValue;
364
+ }
365
+ if (key.includes("end")) {
366
+ endValue = selected.displayValue;
367
+ }
368
+ }
369
+ });
370
+ if (quickFilterValue && quickFilterValue !== "None") {
371
+ displayValue = `${quickFilterValue} : ${granularityValue}`;
372
+ } else if (startValue && endValue) {
373
+ displayValue = `${startValue} - ${endValue} : ${granularityValue}`;
374
+ }
375
+ updatedSelectedFilters = updatedSelectedFilters.filter((sf) => !sf.key.includes(granularFilterName));
376
+ if (displayValue) {
377
+ const granularSelected = {
378
+ displayName,
379
+ displayValue,
380
+ key: keys,
381
+ name: granularFilterName,
382
+ value: values,
383
+ type: "granular-date-picker"
384
+ };
385
+ updatedSelectedFilters.push(granularSelected);
386
+ }
387
+ }
388
+ return updatedSelectedFilters;
389
+ }
390
+ }
391
+ var clientClass_default = SelectedFilters;
392
+ // Annotate the CommonJS export names for ESM import in node:
393
+ 0 && (module.exports = {
394
+ SelectedFilters
395
+ });
396
+ //# sourceMappingURL=clientClass.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../dpr/components/_filters/filters-selected/clientClass.ts"],
4
+ "sourcesContent": ["// @ts-nocheck\n/* eslint-disable no-param-reassign */\n/* eslint-disable class-methods-use-this */\nimport DprFiltersFormClass from '../filters-form/clientClass'\n\nclass SelectedFilters extends DprFiltersFormClass {\n static getModuleName() {\n return 'selected-filters'\n }\n\n /**\n * Initialises the Interactive selected filter button events\n *\n * - Updates the query parameter in the url\n * - Reloads the page to create the selected filter data server side\n * - selected filter data is passed to the render function\n *\n * @memberof SelectedFilters\n */\n initInteractiveSelectedFilterButtonsEvents() {\n if (this.selectedFiltersButtons) {\n this.selectedFiltersButtons.forEach((button) => {\n button.addEventListener('click', (e) => {\n e.preventDefault()\n const target = e.target.matches('.interactive-remove-filter-button')\n ? e.target\n : e.target.closest('.interactive-remove-filter-button')\n\n const keys = JSON.parse(target.getAttribute('data-query-param-key')) || []\n const values = JSON.parse(target.getAttribute('data-query-param-value')) || []\n\n let constraints = target.getAttribute('data-query-constraint-values')\n constraints = constraints ? JSON.parse(target.getAttribute('data-query-constraint-values')) : undefined\n\n keys.forEach((key) => {\n values.forEach((value) => {\n this.updateQueryParam(key, value, 'delete')\n })\n if (constraints) {\n const constraint = constraints.find((con) => con.key === key)\n if (constraint) {\n this.updateQueryParam(key, constraint.value)\n }\n }\n })\n\n this.updateQueryParam('selectedPage', 1)\n this.updateQueryParam('preventDefault', true)\n window.location.reload()\n })\n })\n }\n }\n\n initSelectedFiltersButtons() {\n if (this.selectedFiltersWrapper) {\n // init data from query params\n let selectedFilterData = this.getSelectedFilterData()\n\n // handle edgecases with specific input types\n selectedFilterData = this.setPresetDateRangeSelectedFilter(selectedFilterData)\n selectedFilterData = this.setMultiselectSelectedFilterValue(selectedFilterData)\n selectedFilterData = this.setGranularDateRangeSelectedFilter(selectedFilterData)\n\n // builds the elements and render\n this.createSelectedFilterElements(selectedFilterData)\n }\n }\n\n /**\n * Initialises the input change event\n *\n * @param {NodeList} elements\n * @memberof SelectedFilters\n */\n initInputEventsForSelectedFilters(elements) {\n Array.from(elements).forEach((input) => {\n input.addEventListener('change', () => {\n this.initSelectedFiltersButtons()\n })\n })\n }\n\n /**\n * Creates the selected filter data and buttons\n *\n * @memberof SelectedFilters\n */\n getSelectedFilterData() {\n this.queryParams = new URLSearchParams(window.location.search)\n this.selectedFiltersWrapper.innerHTML = ''\n\n const selectedFilterData = []\n this.queryParams.forEach((value, key) => {\n let displayName = key\n let displayValue = value\n\n if (key.includes('filters.')) {\n const inputs = document.getElementsByName(key)\n\n if (inputs.length) {\n displayName = this.getDisplayName(inputs[0])\n displayValue = this.getInputDisplayValue(inputs)\n\n const index = selectedFilterData.findIndex((s) => s.key === key)\n if (index === -1) {\n if (displayValue) {\n selectedFilterData.push({\n displayName,\n displayValue,\n key,\n name: key.split('.')[1],\n value: [value],\n type: inputs[0],\n })\n }\n } else {\n selectedFilterData[index] = {\n ...selectedFilterData[index],\n displayValue: selectedFilterData[index].displayValue,\n value: selectedFilterData[index].value,\n }\n }\n }\n }\n })\n\n return selectedFilterData\n }\n\n /**\n * Creates the selected filters\n *\n * @param {NodeList} selectedFilters\n * @memberof SelectedFilters\n */\n createSelectedFilterElements(selectedFilters) {\n if (selectedFilters.length) {\n selectedFilters.forEach((selectedFilterData) => {\n this.createSelectedFilterElement(selectedFilterData)\n this.initSelectedButtonEvent()\n })\n } else {\n this.createNoFiltersSelectedMessageEl()\n }\n this.createResetButtonEl()\n }\n\n /**\n * Gets the display value for a selected input\n *\n * @param {*} inputs\n * @return {string} the input diap\n * @memberof SelectedFilters\n */\n getInputDisplayValue(inputs) {\n let displayValue\n\n switch (inputs[0].type) {\n case 'text':\n displayValue = inputs[0].value\n break\n\n case 'radio': {\n const checkedInput = Array.from(inputs).find((i) => i.checked)\n displayValue = checkedInput ? checkedInput.labels[0].innerText : ''\n break\n }\n\n case 'select-one':\n displayValue = inputs[0].options[inputs[0].selectedIndex].text\n break\n\n case 'checkbox': {\n const checkedInputs = Array.from(inputs).filter((i) => i.checked)\n displayValue = checkedInputs.map((i) => {\n return ` ${i.labels[0].innerText}`\n })\n break\n }\n\n default:\n displayValue = inputs[0].value\n break\n }\n\n return displayValue\n }\n\n /**\n * Initialises the request selected filter button events\n *\n * - Updates the corresponding input value to null\n * - Dispatches an input change event to update to update the corresponding url search param\n *\n * @memberof SelectedFilters\n */\n initSelectedButtonEvent() {\n if (this.selectedFiltersWrapper) {\n Array.from(this.selectedFiltersWrapper.children).forEach((button) => {\n button.addEventListener('click', (e) => {\n e.preventDefault()\n\n const dataQueryParamKeyString = e.target.dataset.dataQueryParamKey\n const dataQueryParamKeyArray = JSON.parse(dataQueryParamKeyString)\n\n let inputs\n if (dataQueryParamKeyArray.length > 1) {\n inputs = dataQueryParamKeyArray.map((inputName) => {\n return document.getElementsByName(inputName)[0]\n })\n } else {\n inputs = document.getElementsByName(dataQueryParamKeyArray[0])\n }\n\n if (inputs.length) {\n inputs.forEach((input) => {\n switch (input.type) {\n case 'checkbox':\n case 'radio': {\n input.checked = false\n const changeEvent = new Event('change')\n input.dispatchEvent(changeEvent)\n break\n }\n case 'search':\n input.value = ''\n input.staticOptionNameValue = ''\n break\n\n default:\n input.value = ''\n break\n }\n\n const changeEvent = new Event('change')\n input.dispatchEvent(changeEvent)\n })\n }\n })\n })\n }\n }\n\n /**\n * Creates the selected input element\n *\n * @param {string} displayName\n * @param {string} displayValue\n * @param {string} key\n * @param {string} value\n * @return {element}\n * @memberof SelectedFilters\n */\n createSelectedFilterElement(selectedData) {\n const { displayName, displayValue, key, value } = selectedData\n const selectedItem = document.createElement('a')\n selectedItem.classList = 'govuk-link govuk-body interactive-remove-filter-button'\n selectedItem.href = '#'\n\n selectedItem.dataset.dataQueryParamKey = Array.isArray(key) ? JSON.stringify(key) : `[ \"${key}\" ]`\n selectedItem.dataset.dataQueryParamValue = Array.isArray(value) ? JSON.stringify(value) : `[ \"${value}\" ]`\n\n const contentField = document.createTextNode(`${displayName}: `)\n selectedItem.appendChild(contentField)\n\n const selectedItemValue = document.createElement('span')\n selectedItemValue.classList = 'dpr-selected-filter__value'\n const contentValue = document.createTextNode(displayValue)\n selectedItemValue.appendChild(contentValue)\n selectedItem.appendChild(selectedItemValue)\n\n this.selectedFiltersWrapper.appendChild(selectedItem)\n }\n\n createNoFiltersSelectedMessageEl() {\n const noneSelectedMessage = document.createElement('p')\n noneSelectedMessage.classList = 'govuk-body-s govuk-!-margin-top-2 govuk-!-margin-bottom-0'\n const content = document.createTextNode('No filters selected')\n noneSelectedMessage.appendChild(content)\n this.selectedFiltersWrapper.appendChild(noneSelectedMessage)\n }\n\n createResetButtonEl() {\n const resetLink = document.createElement('a')\n resetLink.classList =\n 'govuk-body-s govuk-link govuk-link--no-visited-state dpr-reset-filters-button govuk-!-margin-bottom-0'\n const content = document.createTextNode('Reset filters')\n resetLink.appendChild(content)\n resetLink.setAttribute('href', '#')\n resetLink.setAttribute('id', 'async-request-reset-filters-button')\n this.selectedFiltersWrapper.appendChild(resetLink)\n this.initResetButton('async-request-reset-filters-button')\n }\n\n // Specfic input type edge cases \uD83D\uDC47\uD83C\uDFFD\n\n /**\n * Daterange\n * Filters the selected filters buttons to include valid preset date range buttons\n *\n * @param {*} selectedFilters\n * @return {*}\n * @memberof SelectedFilters\n */\n setPresetDateRangeSelectedFilter(selectedFilters) {\n let updatedSelectedFilters = selectedFilters\n const presetRangeFilter = selectedFilters.find((sf) => sf.displayName === 'Preset date range')\n if (presetRangeFilter) {\n updatedSelectedFilters = selectedFilters.filter((sf) => {\n const key = sf.key.split('.')\n return !sf.key.includes(`${key[0]}.${key[1]}`) || sf.key === presetRangeFilter.key\n })\n }\n return updatedSelectedFilters\n }\n\n /**\n * Multiselect\n *\n * @param {*} selectedFilters\n * @return {*}\n * @memberof SelectedFilters\n */\n setMultiselectSelectedFilterValue(selectedFilters) {\n let updatedSelectedFilters = selectedFilters\n updatedSelectedFilters = selectedFilters.map((sf) => {\n if (Array.isArray(sf.displayValue) && sf.displayValue.length > 3) {\n const dv = `${sf.displayValue[0]}, ${sf.displayValue[1]}, ${sf.displayValue[2]} + ${sf.displayValue.length - 3\n } more`\n return {\n ...sf,\n displayValue: dv,\n }\n }\n return sf\n })\n return updatedSelectedFilters\n }\n\n /**\n * Daterange\n * Filters the selected filters buttons to include valid preset date range buttons\n *\n * @param {*} selectedFilters\n * @return {*}\n * @memberof SelectedFilters\n */\n setGranularDateRangeSelectedFilter(selectedFilters) {\n this.queryParams = new URLSearchParams(window.location.search)\n let updatedSelectedFilters = selectedFilters\n\n const quickFilterIndex = selectedFilters.findIndex((sf) => sf.key.includes('quick-filter'))\n const granularityIndex = selectedFilters.findIndex((sf) => sf.key.includes('granularity'))\n\n // Get the granular filter field name\n // If granularity, or quick-filter are set then its a granular filter\n let granularFilterName\n let displayName\n if (quickFilterIndex !== -1 || granularityIndex !== -1) {\n granularFilterName =\n updatedSelectedFilters[quickFilterIndex]?.name || updatedSelectedFilters[granularityIndex]?.name\n displayName = document.getElementById(`dpr-granular-date-range_${granularFilterName}`).dataset.fieldDisplayName\n }\n\n if (granularFilterName) {\n const keys = []\n const values = []\n let displayValue = ''\n let granularityValue\n let quickFilterValue\n let startValue\n let endValue\n\n this.queryParams.forEach((value, key) => {\n if (key.includes(granularFilterName)) {\n keys.push(key)\n values.push(value)\n\n const selected = updatedSelectedFilters.find((s) => s.key === key)\n if (key.includes('granularity')) {\n granularityValue = selected.displayValue\n }\n if (key.includes('quick-filter')) {\n quickFilterValue = selected.displayValue\n }\n if (key.includes('start')) {\n startValue = selected.displayValue\n }\n if (key.includes('end')) {\n endValue = selected.displayValue\n }\n }\n })\n\n // Set the display valiue\n if (quickFilterValue && quickFilterValue !== 'None') {\n displayValue = `${quickFilterValue} : ${granularityValue}`\n } else if (startValue && endValue) {\n displayValue = `${startValue} - ${endValue} : ${granularityValue}`\n }\n\n // Remove seperate selected filters buttons \n updatedSelectedFilters = updatedSelectedFilters.filter(sf => !sf.key.includes(granularFilterName))\n\n if (displayValue) {\n // create consolidated button\n const granularSelected = {\n displayName,\n displayValue,\n key: keys,\n name: granularFilterName,\n value: values,\n type: 'granular-date-picker',\n }\n\n updatedSelectedFilters.push(granularSelected)\n }\n }\n\n return updatedSelectedFilters\n }\n}\n\nexport { SelectedFilters }\nexport default SelectedFilters\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,yBAAgC;AAEhC,MAAM,wBAAwB,mBAAAA,QAAoB;AAAA,EAChD,OAAO,gBAAgB;AACrB,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,6CAA6C;AAC3C,QAAI,KAAK,wBAAwB;AAC/B,WAAK,uBAAuB,QAAQ,CAAC,WAAW;AAC9C,eAAO,iBAAiB,SAAS,CAAC,MAAM;AACtC,YAAE,eAAe;AACjB,gBAAM,SAAS,EAAE,OAAO,QAAQ,mCAAmC,IAC/D,EAAE,SACF,EAAE,OAAO,QAAQ,mCAAmC;AAExD,gBAAM,OAAO,KAAK,MAAM,OAAO,aAAa,sBAAsB,CAAC,KAAK,CAAC;AACzE,gBAAM,SAAS,KAAK,MAAM,OAAO,aAAa,wBAAwB,CAAC,KAAK,CAAC;AAE7E,cAAI,cAAc,OAAO,aAAa,8BAA8B;AACpE,wBAAc,cAAc,KAAK,MAAM,OAAO,aAAa,8BAA8B,CAAC,IAAI;AAE9F,eAAK,QAAQ,CAAC,QAAQ;AACpB,mBAAO,QAAQ,CAAC,UAAU;AACxB,mBAAK,iBAAiB,KAAK,OAAO,QAAQ;AAAA,YAC5C,CAAC;AACD,gBAAI,aAAa;AACf,oBAAM,aAAa,YAAY,KAAK,CAAC,QAAQ,IAAI,QAAQ,GAAG;AAC5D,kBAAI,YAAY;AACd,qBAAK,iBAAiB,KAAK,WAAW,KAAK;AAAA,cAC7C;AAAA,YACF;AAAA,UACF,CAAC;AAED,eAAK,iBAAiB,gBAAgB,CAAC;AACvC,eAAK,iBAAiB,kBAAkB,IAAI;AAC5C,iBAAO,SAAS,OAAO;AAAA,QACzB,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EAEA,6BAA6B;AAC3B,QAAI,KAAK,wBAAwB;AAE/B,UAAI,qBAAqB,KAAK,sBAAsB;AAGpD,2BAAqB,KAAK,iCAAiC,kBAAkB;AAC7E,2BAAqB,KAAK,kCAAkC,kBAAkB;AAC9E,2BAAqB,KAAK,mCAAmC,kBAAkB;AAG/E,WAAK,6BAA6B,kBAAkB;AAAA,IACtD;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,kCAAkC,UAAU;AAC1C,UAAM,KAAK,QAAQ,EAAE,QAAQ,CAAC,UAAU;AACtC,YAAM,iBAAiB,UAAU,MAAM;AACrC,aAAK,2BAA2B;AAAA,MAClC,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,wBAAwB;AACtB,SAAK,cAAc,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC7D,SAAK,uBAAuB,YAAY;AAExC,UAAM,qBAAqB,CAAC;AAC5B,SAAK,YAAY,QAAQ,CAAC,OAAO,QAAQ;AACvC,UAAI,cAAc;AAClB,UAAI,eAAe;AAEnB,UAAI,IAAI,SAAS,UAAU,GAAG;AAC5B,cAAM,SAAS,SAAS,kBAAkB,GAAG;AAE7C,YAAI,OAAO,QAAQ;AACjB,wBAAc,KAAK,eAAe,OAAO,CAAC,CAAC;AAC3C,yBAAe,KAAK,qBAAqB,MAAM;AAE/C,gBAAM,QAAQ,mBAAmB,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG;AAC/D,cAAI,UAAU,IAAI;AAChB,gBAAI,cAAc;AAChB,iCAAmB,KAAK;AAAA,gBACtB;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA,MAAM,IAAI,MAAM,GAAG,EAAE,CAAC;AAAA,gBACtB,OAAO,CAAC,KAAK;AAAA,gBACb,MAAM,OAAO,CAAC;AAAA,cAChB,CAAC;AAAA,YACH;AAAA,UACF,OAAO;AACL,+BAAmB,KAAK,IAAI;AAAA,cAC1B,GAAG,mBAAmB,KAAK;AAAA,cAC3B,cAAc,mBAAmB,KAAK,EAAE;AAAA,cACxC,OAAO,mBAAmB,KAAK,EAAE;AAAA,YACnC;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAED,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,6BAA6B,iBAAiB;AAC5C,QAAI,gBAAgB,QAAQ;AAC1B,sBAAgB,QAAQ,CAAC,uBAAuB;AAC9C,aAAK,4BAA4B,kBAAkB;AACnD,aAAK,wBAAwB;AAAA,MAC/B,CAAC;AAAA,IACH,OAAO;AACL,WAAK,iCAAiC;AAAA,IACxC;AACA,SAAK,oBAAoB;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,qBAAqB,QAAQ;AAC3B,QAAI;AAEJ,YAAQ,OAAO,CAAC,EAAE,MAAM;AAAA,MACtB,KAAK;AACH,uBAAe,OAAO,CAAC,EAAE;AACzB;AAAA,MAEF,KAAK,SAAS;AACZ,cAAM,eAAe,MAAM,KAAK,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO;AAC7D,uBAAe,eAAe,aAAa,OAAO,CAAC,EAAE,YAAY;AACjE;AAAA,MACF;AAAA,MAEA,KAAK;AACH,uBAAe,OAAO,CAAC,EAAE,QAAQ,OAAO,CAAC,EAAE,aAAa,EAAE;AAC1D;AAAA,MAEF,KAAK,YAAY;AACf,cAAM,gBAAgB,MAAM,KAAK,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO;AAChE,uBAAe,cAAc,IAAI,CAAC,MAAM;AACtC,iBAAO,IAAI,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,QAClC,CAAC;AACD;AAAA,MACF;AAAA,MAEA;AACE,uBAAe,OAAO,CAAC,EAAE;AACzB;AAAA,IACJ;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,0BAA0B;AACxB,QAAI,KAAK,wBAAwB;AAC/B,YAAM,KAAK,KAAK,uBAAuB,QAAQ,EAAE,QAAQ,CAAC,WAAW;AACnE,eAAO,iBAAiB,SAAS,CAAC,MAAM;AACtC,YAAE,eAAe;AAEjB,gBAAM,0BAA0B,EAAE,OAAO,QAAQ;AACjD,gBAAM,yBAAyB,KAAK,MAAM,uBAAuB;AAEjE,cAAI;AACJ,cAAI,uBAAuB,SAAS,GAAG;AACrC,qBAAS,uBAAuB,IAAI,CAAC,cAAc;AACjD,qBAAO,SAAS,kBAAkB,SAAS,EAAE,CAAC;AAAA,YAChD,CAAC;AAAA,UACH,OAAO;AACL,qBAAS,SAAS,kBAAkB,uBAAuB,CAAC,CAAC;AAAA,UAC/D;AAEA,cAAI,OAAO,QAAQ;AACjB,mBAAO,QAAQ,CAAC,UAAU;AACxB,sBAAQ,MAAM,MAAM;AAAA,gBAClB,KAAK;AAAA,gBACL,KAAK,SAAS;AACZ,wBAAM,UAAU;AAChB,wBAAMC,eAAc,IAAI,MAAM,QAAQ;AACtC,wBAAM,cAAcA,YAAW;AAC/B;AAAA,gBACF;AAAA,gBACA,KAAK;AACH,wBAAM,QAAQ;AACd,wBAAM,wBAAwB;AAC9B;AAAA,gBAEF;AACE,wBAAM,QAAQ;AACd;AAAA,cACJ;AAEA,oBAAM,cAAc,IAAI,MAAM,QAAQ;AACtC,oBAAM,cAAc,WAAW;AAAA,YACjC,CAAC;AAAA,UACH;AAAA,QACF,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,4BAA4B,cAAc;AACxC,UAAM,EAAE,aAAa,cAAc,KAAK,MAAM,IAAI;AAClD,UAAM,eAAe,SAAS,cAAc,GAAG;AAC/C,iBAAa,YAAY;AACzB,iBAAa,OAAO;AAEpB,iBAAa,QAAQ,oBAAoB,MAAM,QAAQ,GAAG,IAAI,KAAK,UAAU,GAAG,IAAI,MAAM,GAAG;AAC7F,iBAAa,QAAQ,sBAAsB,MAAM,QAAQ,KAAK,IAAI,KAAK,UAAU,KAAK,IAAI,MAAM,KAAK;AAErG,UAAM,eAAe,SAAS,eAAe,GAAG,WAAW,IAAI;AAC/D,iBAAa,YAAY,YAAY;AAErC,UAAM,oBAAoB,SAAS,cAAc,MAAM;AACvD,sBAAkB,YAAY;AAC9B,UAAM,eAAe,SAAS,eAAe,YAAY;AACzD,sBAAkB,YAAY,YAAY;AAC1C,iBAAa,YAAY,iBAAiB;AAE1C,SAAK,uBAAuB,YAAY,YAAY;AAAA,EACtD;AAAA,EAEA,mCAAmC;AACjC,UAAM,sBAAsB,SAAS,cAAc,GAAG;AACtD,wBAAoB,YAAY;AAChC,UAAM,UAAU,SAAS,eAAe,qBAAqB;AAC7D,wBAAoB,YAAY,OAAO;AACvC,SAAK,uBAAuB,YAAY,mBAAmB;AAAA,EAC7D;AAAA,EAEA,sBAAsB;AACpB,UAAM,YAAY,SAAS,cAAc,GAAG;AAC5C,cAAU,YACR;AACF,UAAM,UAAU,SAAS,eAAe,eAAe;AACvD,cAAU,YAAY,OAAO;AAC7B,cAAU,aAAa,QAAQ,GAAG;AAClC,cAAU,aAAa,MAAM,oCAAoC;AACjE,SAAK,uBAAuB,YAAY,SAAS;AACjD,SAAK,gBAAgB,oCAAoC;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,iCAAiC,iBAAiB;AAChD,QAAI,yBAAyB;AAC7B,UAAM,oBAAoB,gBAAgB,KAAK,CAAC,OAAO,GAAG,gBAAgB,mBAAmB;AAC7F,QAAI,mBAAmB;AACrB,+BAAyB,gBAAgB,OAAO,CAAC,OAAO;AACtD,cAAM,MAAM,GAAG,IAAI,MAAM,GAAG;AAC5B,eAAO,CAAC,GAAG,IAAI,SAAS,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,kBAAkB;AAAA,MACjF,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,kCAAkC,iBAAiB;AACjD,QAAI,yBAAyB;AAC7B,6BAAyB,gBAAgB,IAAI,CAAC,OAAO;AACnD,UAAI,MAAM,QAAQ,GAAG,YAAY,KAAK,GAAG,aAAa,SAAS,GAAG;AAChE,cAAM,KAAK,GAAG,GAAG,aAAa,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC,CAAC,MAAM,GAAG,aAAa,SAAS,CAC3G;AACF,eAAO;AAAA,UACL,GAAG;AAAA,UACH,cAAc;AAAA,QAChB;AAAA,MACF;AACA,aAAO;AAAA,IACT,CAAC;AACD,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,mCAAmC,iBAAiB;AAClD,SAAK,cAAc,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC7D,QAAI,yBAAyB;AAE7B,UAAM,mBAAmB,gBAAgB,UAAU,CAAC,OAAO,GAAG,IAAI,SAAS,cAAc,CAAC;AAC1F,UAAM,mBAAmB,gBAAgB,UAAU,CAAC,OAAO,GAAG,IAAI,SAAS,aAAa,CAAC;AAIzF,QAAI;AACJ,QAAI;AACJ,QAAI,qBAAqB,MAAM,qBAAqB,IAAI;AACtD,2BACE,uBAAuB,gBAAgB,GAAG,QAAQ,uBAAuB,gBAAgB,GAAG;AAC9F,oBAAc,SAAS,eAAe,2BAA2B,kBAAkB,EAAE,EAAE,QAAQ;AAAA,IACjG;AAEA,QAAI,oBAAoB;AACtB,YAAM,OAAO,CAAC;AACd,YAAM,SAAS,CAAC;AAChB,UAAI,eAAe;AACnB,UAAI;AACJ,UAAI;AACJ,UAAI;AACJ,UAAI;AAEJ,WAAK,YAAY,QAAQ,CAAC,OAAO,QAAQ;AACvC,YAAI,IAAI,SAAS,kBAAkB,GAAG;AACpC,eAAK,KAAK,GAAG;AACb,iBAAO,KAAK,KAAK;AAEjB,gBAAM,WAAW,uBAAuB,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG;AACjE,cAAI,IAAI,SAAS,aAAa,GAAG;AAC/B,+BAAmB,SAAS;AAAA,UAC9B;AACA,cAAI,IAAI,SAAS,cAAc,GAAG;AAChC,+BAAmB,SAAS;AAAA,UAC9B;AACA,cAAI,IAAI,SAAS,OAAO,GAAG;AACzB,yBAAa,SAAS;AAAA,UACxB;AACA,cAAI,IAAI,SAAS,KAAK,GAAG;AACvB,uBAAW,SAAS;AAAA,UACtB;AAAA,QACF;AAAA,MACF,CAAC;AAGD,UAAI,oBAAoB,qBAAqB,QAAQ;AACnD,uBAAe,GAAG,gBAAgB,MAAM,gBAAgB;AAAA,MAC1D,WAAW,cAAc,UAAU;AACjC,uBAAe,GAAG,UAAU,MAAM,QAAQ,MAAM,gBAAgB;AAAA,MAClE;AAGA,+BAAyB,uBAAuB,OAAO,QAAM,CAAC,GAAG,IAAI,SAAS,kBAAkB,CAAC;AAEjG,UAAI,cAAc;AAEhB,cAAM,mBAAmB;AAAA,UACvB;AAAA,UACA;AAAA,UACA,KAAK;AAAA,UACL,MAAM;AAAA,UACN,OAAO;AAAA,UACP,MAAM;AAAA,QACR;AAEA,+BAAuB,KAAK,gBAAgB;AAAA,MAC9C;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AACF;AAGA,IAAO,sBAAQ;",
6
+ "names": ["DprFiltersFormClass", "changeEvent"]
7
+ }
@@ -1,6 +1,7 @@
1
+ // @ts-nocheck
1
2
  /* eslint-disable no-param-reassign */
2
3
  /* eslint-disable class-methods-use-this */
3
- import DprFiltersFormClass from '../filters-form/clientClass.mjs'
4
+ import DprFiltersFormClass from '../filters-form/clientClass'
4
5
 
5
6
  class SelectedFilters extends DprFiltersFormClass {
6
7
  static getModuleName() {
@@ -325,9 +326,8 @@ class SelectedFilters extends DprFiltersFormClass {
325
326
  let updatedSelectedFilters = selectedFilters
326
327
  updatedSelectedFilters = selectedFilters.map((sf) => {
327
328
  if (Array.isArray(sf.displayValue) && sf.displayValue.length > 3) {
328
- const dv = `${sf.displayValue[0]}, ${sf.displayValue[1]}, ${sf.displayValue[2]} + ${
329
- sf.displayValue.length - 3
330
- } more`
329
+ const dv = `${sf.displayValue[0]}, ${sf.displayValue[1]}, ${sf.displayValue[2]} + ${sf.displayValue.length - 3
330
+ } more`
331
331
  return {
332
332
  ...sf,
333
333
  displayValue: dv,
@@ -376,7 +376,7 @@ class SelectedFilters extends DprFiltersFormClass {
376
376
  if (key.includes(granularFilterName)) {
377
377
  keys.push(key)
378
378
  values.push(value)
379
-
379
+
380
380
  const selected = updatedSelectedFilters.find((s) => s.key === key)
381
381
  if (key.includes('granularity')) {
382
382
  granularityValue = selected.displayValue
@@ -399,9 +399,9 @@ class SelectedFilters extends DprFiltersFormClass {
399
399
  } else if (startValue && endValue) {
400
400
  displayValue = `${startValue} - ${endValue} : ${granularityValue}`
401
401
  }
402
-
402
+
403
403
  // Remove seperate selected filters buttons
404
- updatedSelectedFilters = updatedSelectedFilters.filter(sf => !sf.key.includes(granularFilterName) )
404
+ updatedSelectedFilters = updatedSelectedFilters.filter(sf => !sf.key.includes(granularFilterName))
405
405
 
406
406
  if (displayValue) {
407
407
  // create consolidated button
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../src/dpr/components/_filters/filters-selected/utils.ts"],
3
+ "sources": ["../../../../dpr/components/_filters/filters-selected/utils.ts"],
4
4
  "sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { FilterType } from '../filter-input/enum'\nimport {\n FilterValue,\n DateRange,\n DateFilterValue,\n DateRangeFilterValue,\n FilterValueWithOptions,\n GranularDateRangeFilterValue,\n MultiselectFilterValue,\n} from '../types'\nimport DateRangeFilterUtils from '../../_inputs/date-range/utils'\nimport DateMapper from '../../../utils/DateMapper/DateMapper'\nimport Dict = NodeJS.Dict\n\nexport const getSelectedFilters = (filters: FilterValue[], prefix: string) => {\n const emptyValues: (string | undefined | null)[] = [undefined, null, '']\n\n return filters\n .filter((f) => {\n return (\n (f.value &&\n Object.prototype.hasOwnProperty.call(f.value, 'start') &&\n !emptyValues.includes((<DateRange>f.value).start)) ||\n (f.value &&\n Object.prototype.hasOwnProperty.call(f.value, 'end') &&\n !emptyValues.includes((<DateRange>f.value).end)) ||\n (f.value &&\n !Object.prototype.hasOwnProperty.call(f.value, 'start') &&\n !Object.prototype.hasOwnProperty.call(f.value, 'end'))\n )\n })\n .filter((f) => {\n return f.value && f.value !== 'no-filter'\n })\n .map((f) => {\n let displayValue = `${f.value}`\n let value: (string | DateRange)[] = [`\"${displayValue}\"`]\n let key: string[] = [`${prefix}${f.name}`]\n let cantRemoveClass = ''\n let disabled = false\n let constraints: { key: string; value: string }[] | undefined\n\n if (f.type.toLowerCase() === FilterType.dateRange.toLowerCase()) {\n ;({ key, value, disabled, cantRemoveClass, displayValue, constraints } = setSelectedDateRange(\n <DateRangeFilterValue>f,\n prefix,\n ))\n }\n\n if (f.type.toLowerCase() === FilterType.granularDateRange.toLowerCase()) {\n ;({ key, value, disabled, cantRemoveClass, displayValue, constraints } = setSelectedGranularDateRange(\n <GranularDateRangeFilterValue>f,\n prefix,\n ))\n }\n\n if (f.type.toLowerCase() === FilterType.date.toLowerCase()) {\n ;({ key, value, disabled, cantRemoveClass, displayValue, constraints } = getSelectedDate(\n <DateFilterValue>f,\n prefix,\n ))\n }\n\n if (\n f.type.toLowerCase() === FilterType.autocomplete.toLowerCase() ||\n f.type.toLowerCase() === FilterType.radio.toLowerCase() ||\n f.type.toLowerCase() === FilterType.select.toLowerCase()\n ) {\n ;({ key, value, displayValue } = getOptionsValue(<FilterValueWithOptions>f, prefix))\n }\n\n if (f.type.toLowerCase() === FilterType.multiselect.toLowerCase()) {\n ;({ key, value, displayValue } = getMultiselectValues(<FilterValueWithOptions>f, prefix))\n }\n\n let ariaLabel\n if (disabled) {\n ariaLabel = `Selected Filter: ${f.text}: ${displayValue}. This filter cant be removed. Update the filter input to change the value`\n } else {\n ariaLabel = `Selected Filter: ${f.text}: ${displayValue}. Click to clear this filter`\n }\n\n return {\n text: f.text,\n displayValue,\n key: JSON.stringify(key),\n value,\n disabled,\n constraints,\n classes: `interactive-remove-filter-button${cantRemoveClass}`,\n attributes: {\n 'aria-label': ariaLabel,\n },\n }\n })\n}\n\nexport const setDateDisplayFormat = (dateValue: string) => {\n const dateMapper = new DateMapper()\n const type = dateMapper.getDateType(dateValue)\n if (type !== 'none') {\n dateValue = dateMapper.toDateString(dateValue, 'local-date') || dateValue\n }\n return dateValue\n}\n\nexport const setSelectedDateRange = (f: DateRangeFilterValue, prefix: string) => {\n const startValue = (<DateRange>f.value).start || 'Open start'\n const endValue = (<DateRange>f.value).end || 'Open end'\n const value = [`\"${startValue}\"`, `\"${endValue}\"`]\n const name = `${prefix}${f.name}`\n const key = [`${name}.start`, `${name}.end`]\n\n const displayStartValue = setDateDisplayFormat(startValue)\n const displayEndValue = setDateDisplayFormat(endValue)\n let displayValue = `${displayStartValue} - ${displayEndValue}`\n const { relative } = <DateRange>f.value\n if (relative) {\n key.push(`${name}.relative-duration`)\n value.push(`\"${relative}\"`)\n displayValue = DateRangeFilterUtils.mapRelativeValue(relative)\n }\n\n const constraints = setMinMaxContraints(f, key)\n const { disabled, cantRemoveClass, displayValue: disabledDisplayValue } = disabledDateRange(f, value, displayValue)\n\n return {\n key,\n value,\n displayValue: disabledDisplayValue || displayValue,\n disabled,\n cantRemoveClass,\n constraints,\n }\n}\n\nexport const setMinMaxContraints = (f: DateFilterValue | DateRangeFilterValue, key: string[], singleDate = false) => {\n const constraints: { key: string; value: string }[] = []\n const { min, max } = f\n if (min) {\n constraints.push({\n key: key[0],\n value: min,\n })\n }\n if (max && !singleDate) {\n constraints.push({\n key: key[1],\n value: max,\n })\n }\n return constraints.length ? constraints : undefined\n}\n\nexport const getOptionsValue = (f: FilterValueWithOptions, prefix: string) => {\n const displayOption = f.options.find((opt) => opt.value === f.value)\n const displayValue = displayOption ? displayOption.text : ''\n const key = [`${prefix}${f.name}`]\n const value = [`\"${f.value}\"`]\n\n return {\n key,\n value,\n displayValue,\n }\n}\n\nexport const getMultiselectValues = (f: FilterValueWithOptions, prefix: string) => {\n const MAX_VALUES = 3\n const splitValues = (<string>f.value).split(',')\n let displayValue = splitValues\n .map((v) => {\n const displayOption = f.options.find((opt) => opt.value === v)\n return displayOption ? displayOption.text : ''\n })\n .filter((_v, i) => {\n return i < MAX_VALUES\n })\n .join(', ')\n\n displayValue =\n splitValues.length > MAX_VALUES ? `${displayValue} + ${splitValues.length - MAX_VALUES} more` : displayValue\n\n const value = splitValues.map((v) => `\"${v}\"`)\n const key = [`${prefix}${f.name}`]\n\n return {\n key,\n value,\n displayValue,\n }\n}\n\nexport const setSelectedGranularDateRange = (f: GranularDateRangeFilterValue, prefix: string) => {\n const startValue = f.value.start || 'Open start'\n const endValue = f.value.end || 'Open end'\n const quickFilterValue = f.value.quickFilter?.value\n const quickFilterDisplay = f.value.quickFilter?.display\n const granularityValue = f.value.granularity.value\n const name = `${prefix}${f.name}`\n\n const key = [`${name}.start`, `${name}.end`, `${name}.granularity`]\n const value = [`\"${startValue}\"`, `\"${endValue}\"`, `\"${granularityValue}\"`]\n const constraints = setMinMaxContraints(f, key)\n\n let displayValue\n const granularityDisplay = f.value.granularity.display\n if (quickFilterValue && quickFilterValue !== 'none' && quickFilterDisplay) {\n key.push(`${name}.quick-filter`)\n value.push(`\"${quickFilterValue}\"`)\n displayValue = `${quickFilterDisplay}: ${granularityDisplay}`\n } else {\n const displayStartValue = setDateDisplayFormat(startValue)\n const displayEndValue = setDateDisplayFormat(endValue)\n displayValue = `${displayStartValue} - ${displayEndValue}: ${granularityDisplay}`\n }\n\n const { disabled, cantRemoveClass, displayValue: disabledDisplayValue } = disabledDateRange(f, value, displayValue)\n\n return {\n key,\n value,\n displayValue: disabledDisplayValue || displayValue,\n disabled,\n constraints,\n cantRemoveClass,\n }\n}\n\nexport const getSelectedDate = (f: DateFilterValue, prefix: string) => {\n const key = [`${prefix}${f.name}`]\n const value = [`\"${f.value}\"`]\n const displayValue = setDateDisplayFormat(<string>f.value)\n const constraints = setMinMaxContraints(f, key, true)\n\n const { disabled, cantRemoveClass, displayValue: disabledDisplayValue } = disabledDate(f, value, displayValue)\n return {\n key,\n value,\n displayValue: disabledDisplayValue || displayValue,\n disabled,\n constraints,\n cantRemoveClass,\n }\n}\n\nexport const disabledDateRange = (f: DateRangeFilterValue | DateFilterValue, value: string[], displayValue: string) => {\n const { min, max } = f\n if (min && (<string>value[0]).includes(min) && max && (<string>value[1]).includes(max)) {\n return {\n disabled: true,\n cantRemoveClass: ' interactive-remove-filter-button--disabled',\n displayValue: `${displayValue} (maximum range)`,\n }\n }\n return {\n disabled: false,\n cantRemoveClass: '',\n displayValue,\n }\n}\n\nexport const disabledDate = (f: DateFilterValue, value: (string | DateRange)[], displayValue: string) => {\n const { min, max } = <DateFilterValue>f\n\n if ((min && (<string>value[0]).includes(min)) || (max && (<string>value[0]).includes(max))) {\n let valueType\n if (min && (<string>value[0]).includes(min)) valueType = 'min'\n if (max && (<string>value[0]).includes(max)) valueType = 'max'\n\n return {\n disabled: true,\n cantRemoveClass: ' interactive-remove-filter-button--disabled',\n displayValue: `${displayValue} (${valueType} date)`,\n }\n }\n return {\n disabled: false,\n cantRemoveClass: '',\n displayValue,\n }\n}\n\nexport const getQuerySummary = (reqQuery: Dict<string>, filters: FilterValue[]) => {\n const prefix = 'filters.'\n\n return filters\n .filter(\n (f) => reqQuery[`filters.${f.name}`] || reqQuery[`filters.${f.name}.start`] || reqQuery[`filters.${f.name}.end`],\n )\n .map((f) => {\n let { value } = f\n\n if (f.type.toLowerCase() === FilterType.multiselect.toLowerCase()) {\n value = <string>getMultiselectValues(<MultiselectFilterValue>f, 'filters').displayValue\n }\n\n if (\n f.type.toLowerCase() === FilterType.autocomplete.toLowerCase() ||\n f.type.toLowerCase() === FilterType.radio.toLowerCase() ||\n f.type.toLowerCase() === FilterType.select.toLowerCase()\n ) {\n value = <string>getOptionsValue(<FilterValueWithOptions>f, prefix).displayValue\n }\n\n if (f.type.toLowerCase() === FilterType.date.toLowerCase()) {\n value = setDateDisplayFormat(<string>f.value)\n }\n\n if (f.type.toLowerCase() === FilterType.dateRange.toLowerCase()) {\n value = setSelectedDateRange(<DateRangeFilterValue>f, prefix).displayValue\n }\n\n if (f.type.toLowerCase() === FilterType.granularDateRange.toLowerCase()) {\n value = setSelectedGranularDateRange(<GranularDateRangeFilterValue>f, prefix).displayValue\n }\n\n return {\n id: f.name,\n name: f.text,\n value: <string>value,\n }\n })\n}\n\nexport default {\n getSelectedFilters,\n getQuerySummary,\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": ["DateMapper", "DateRangeFilterUtils"]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/dpr/components/_filters/filtersTypeEnum.ts"],
3
+ "sources": ["../../../dpr/components/_filters/filtersTypeEnum.ts"],
4
4
  "sourcesContent": ["export enum FiltersType {\n INTERACTIVE = 'interactive',\n REQUEST = 'request',\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAK,cAAL,kBAAKA,iBAAL;AACL,EAAAA,aAAA,iBAAc;AACd,EAAAA,aAAA,aAAU;AAFA,SAAAA;AAAA,GAAA;",
6
6
  "names": ["FiltersType"]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/dpr/components/_filters/types.d.ts"],
3
+ "sources": ["../../../dpr/components/_filters/types.d.ts"],
4
4
  "sourcesContent": ["import { Granularity, QuickFilters } from '../_inputs/granular-date-range/types'\nimport { FilterType } from './filter-input/enum'\nimport RelativeDateRange from '../_inputs/date-range/types'\n\nexport interface FilterOption {\n value: string\n text: string\n disabled?: boolean\n selected?: boolean\n sortedAsc?: boolean\n}\n\nexport type FilterValue =\n | TextFilterValue\n | FilterValueWithOptions\n | MultiselectFilterValue\n | DateFilterValue\n | DateRangeFilterValue\n | GranularDateRangeFilterValue\n\nexport type FilterValueType = string | DateRange | GranularDateRange | null\nexport interface BaseFilterValue {\n text: string\n name: string\n type: FilterType\n value: FilterValueType\n mandatory?: boolean | undefined\n index?: number | undefined\n}\n\nexport interface TextFilterValue extends BaseFilterValue {\n minimumLength?: number | undefined\n pattern?: string | undefined\n}\n\nexport interface FilterValueWithOptions extends BaseFilterValue {\n options: Array<FilterOption>\n staticOptionNameValue?: string\n dynamicResourceEndpoint?: string\n}\n\nexport interface MultiselectFilterValue extends Omit<BaseFilterValue, 'value'>, FilterValueWithOptions {\n value: string | null\n values: string[]\n}\n\nexport interface DateFilterValue extends Omit<BaseFilterValue, 'value'> {\n value: string | null\n min?: string\n max?: string\n}\n\nexport interface DateRangeFilterValue extends Omit<BaseFilterValue, 'value'> {\n value: DateRange\n min?: string\n max?: string\n relativeOptions?: { value: string; text: string; disabled?: boolean }[]\n}\n\nexport interface GranularDateRangeFilterValue extends Omit<BaseFilterValue, 'value'> {\n value: GranularDateRange\n min?: string\n max?: string\n relativeOptions?: { value: string; text: string; disabled?: boolean }[]\n quickFilterOptions?: { value: string; text: string; disabled?: boolean }[]\n granularityOptions?: { value: string; text: string }[]\n}\n\nexport interface SelectedFilter {\n text: string\n href: string\n classes: string\n}\n\nexport interface DateRange {\n start: string\n end: string\n relative?: RelativeDateRange | undefined\n}\n\nexport interface GranularDateRange extends DateRange {\n granularity: GranularDateRangeGranularityValue\n quickFilter?: GranularDateRangeQuickFilterValue\n partialDate?: PartialDate\n}\n\nexport interface PartialDate {\n start: boolean\n end: boolean\n}\n\ninterface GranularDateRangeGranularityValue {\n value: Granularity\n display: string\n}\n\nexport interface GranularDateRangeQuickFilterValue {\n value: QuickFilters\n display: string\n}\n\nexport interface FilterOptions {\n filters: Array<FilterValue>\n selectedFilters: Array<SelectedFilter>\n urlWithNoFilters: string\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../src/dpr/components/_filters/utils.ts"],
3
+ "sources": ["../../../dpr/components/_filters/utils.ts"],
4
4
  "sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { Request, Response } from 'express'\nimport { GranularDateRangeQuickFilterValue } from './types'\nimport { FilterType } from './filter-input/enum'\nimport type { components } from '../../types/api'\nimport type { FilterOption } from './filter-input/types'\nimport type {\n DateFilterValue,\n FilterValueType,\n DateRangeFilterValue,\n FilterValue,\n MultiselectFilterValue,\n GranularDateRangeFilterValue,\n GranularDateRange,\n GranularDateRangeGranularityValue,\n FilterValueWithOptions,\n} from './types'\nimport ReportQuery, { DEFAULT_FILTERS_PREFIX } from '../../types/ReportQuery'\n\nimport SelectedFiltersUtils from './filters-selected/utils'\nimport DateRangeInputUtils from '../_inputs/date-range/utils'\nimport DateInputUtils from '../_inputs/date-input/utils'\nimport GranularDateRangeInputUtils from '../_inputs/granular-date-range/utils'\nimport AutocompleteUtils from '../_inputs/autocomplete-text-input/utils'\nimport MultiSelectUtils from '../_inputs/multi-select/utils'\nimport { Granularity, QuickFilters } from '../_inputs/granular-date-range/types'\nimport PersonalistionUtils from '../../utils/Personalisation/personalisationUtils'\nimport createUrlForParameters from '../../utils/urlHelper'\nimport { Services } from '../../types/Services'\nimport { FiltersType } from './filtersTypeEnum'\nimport LocalsHelper from '../../utils/localsHelper'\n\n/**\n * Given a FilterValue[], will update the values to match the req.query values if present\n *\n * @param {FilterValue[]} filters\n * @param {Request} req\n * @param {string} [prefix='filters.']\n * @return {*} {FilterValue[]}\n */\nexport const setFilterValuesFromRequest = (\n filters: FilterValue[],\n req: Request,\n prefix = 'filters.',\n): FilterValue[] => {\n const { preventDefault } = req.query\n\n if (Object.keys(req.query).every((key) => !key.includes(prefix)) && !preventDefault) {\n return filters\n }\n\n return filters.map((filter: FilterValue) => {\n let requestfilterValue: FilterValueType\n let requestfilterValues: string[] | undefined\n let requestOptionValue: string | undefined\n\n const type = filter.type.toLowerCase()\n switch (type) {\n case FilterType.dateRange.toLowerCase():\n requestfilterValue = DateRangeInputUtils.setValueFromRequest(<DateRangeFilterValue>filter, req, prefix)\n break\n\n case FilterType.granularDateRange.toLowerCase():\n requestfilterValue = GranularDateRangeInputUtils.setValueFromRequest(\n <GranularDateRangeFilterValue>filter,\n req,\n prefix,\n )\n break\n\n case FilterType.date.toLowerCase():\n requestfilterValue = DateInputUtils.setValueFromRequest(<DateFilterValue>filter, req, prefix)\n break\n\n case FilterType.multiselect.toLowerCase():\n ;({ requestfilterValue, requestfilterValues } = MultiSelectUtils.setValueFromRequest(\n <MultiselectFilterValue>filter,\n req,\n prefix,\n ))\n break\n\n case FilterType.autocomplete.toLowerCase(): {\n ;({ requestfilterValue, requestOptionValue } = AutocompleteUtils.setValueFromRequest(\n <FilterValueWithOptions>filter,\n req,\n prefix,\n ))\n break\n }\n\n default:\n requestfilterValue = <string>req.query[`${prefix}${filter.name}`]\n break\n }\n\n let value: FilterValueType = null\n if (requestfilterValue) {\n value = requestfilterValue\n } else if (preventDefault) {\n value = ''\n }\n\n return {\n ...filter,\n value,\n ...(requestfilterValues && { values: requestfilterValues }),\n ...(requestOptionValue && { staticOptionNameValue: requestOptionValue }),\n }\n })\n}\n\nexport const setFilterQueryFromFilterDefinition = (\n fields: components['schemas']['FieldDefinition'][],\n interactive?: boolean,\n) => {\n let filterFields: components['schemas']['FieldDefinition'][] = fields.filter((f) => f.filter)\n if (interactive) {\n filterFields = filterFields.filter(\n (f) => (<components['schemas']['FilterDefinition'] & { interactive?: boolean }>f.filter).interactive,\n )\n }\n\n return filterFields\n .filter((field) => field.filter !== undefined)\n .filter((field) => (<components['schemas']['FilterDefinition']>field.filter).defaultValue !== undefined)\n .map((field) => {\n const filter = <components['schemas']['FilterDefinition']>field.filter\n const type = filter.type.toLocaleLowerCase()\n\n switch (type) {\n case FilterType.dateRange.toLowerCase():\n return DateRangeInputUtils.getQueryFromDefinition(filter, field.name, DEFAULT_FILTERS_PREFIX)\n\n case FilterType.multiselect.toLowerCase():\n return MultiSelectUtils.getQueryFromDefinition(filter, field.name, DEFAULT_FILTERS_PREFIX)\n\n case FilterType.granularDateRange.toLowerCase(): {\n const startEndParams = DateRangeInputUtils.getQueryFromDefinition(filter, field.name, DEFAULT_FILTERS_PREFIX)\n return GranularDateRangeInputUtils.getQueryFromDefinition(\n filter as unknown as components['schemas']['FilterDefinition'] & {\n defaultGranularity: Granularity\n defaultQuickFilterValue: QuickFilters\n },\n field.name,\n DEFAULT_FILTERS_PREFIX,\n startEndParams,\n )\n }\n\n default:\n return `${DEFAULT_FILTERS_PREFIX}${field.name}=${filter.defaultValue}`\n }\n })\n .join('&')\n}\n\nexport const getFiltersFromDefinition = (\n fields: components['schemas']['FieldDefinition'][],\n interactive?: boolean,\n): FilterValue[] => {\n const filters = fields\n .filter((f) => f.filter)\n .filter((f) => {\n if (interactive !== undefined) {\n if (f.filter?.interactive === undefined) {\n return !interactive\n }\n return interactive === f.filter.interactive\n }\n return true\n })\n .map((f) => {\n const { display: text, name } = f\n const filter = <components['schemas']['FilterDefinition']>f.filter\n const { type, staticOptions, dynamicOptions, defaultValue, mandatory, pattern, index } = filter\n\n const options: FilterOption[] = staticOptions\n ? staticOptions.map((opt) => {\n return { value: opt.name, text: opt.display }\n })\n : []\n\n let filterData: FilterValue = {\n text,\n name,\n type: type as FilterType,\n value: defaultValue || null,\n mandatory: mandatory || false,\n minimumLength: dynamicOptions?.minimumLength,\n pattern,\n index,\n }\n\n const noFilterOption = {\n value: 'no-filter',\n text: 'None',\n disabled: false,\n }\n\n switch (type) {\n case FilterType.autocomplete.toLowerCase():\n filterData = {\n ...filterData,\n options,\n }\n break\n\n case FilterType.radio:\n if (!mandatory) options.unshift(noFilterOption)\n filterData = {\n ...filterData,\n options,\n }\n break\n\n case FilterType.select: {\n if (!mandatory) options.unshift(noFilterOption)\n options.unshift({\n value: '',\n text: 'Select your option',\n disabled: true,\n selected: true,\n })\n\n filterData = {\n ...filterData,\n options,\n }\n break\n }\n\n case FilterType.multiselect.toLowerCase():\n filterData = {\n ...filterData,\n options,\n values: defaultValue ? defaultValue.split(',') : [],\n }\n break\n\n case FilterType.dateRange.toLowerCase():\n filterData = DateRangeInputUtils.getFilterFromDefinition(filter, filterData)\n break\n\n case FilterType.date.toLowerCase():\n filterData = DateInputUtils.getFilterFromDefinition(filter, filterData)\n break\n\n case FilterType.granularDateRange.toLocaleLowerCase(): {\n filterData = GranularDateRangeInputUtils.getFilterFromDefinition(filter, filterData)\n break\n }\n\n default:\n break\n }\n\n return filterData\n })\n\n const orderedFilters = orderFilters(filters)\n return orderedFilters\n}\n\nconst orderFilters = (filterValues: FilterValue[]) => {\n const noIndexFilters = filterValues.filter((f) => f.index === undefined)\n const indexFilters = filterValues.filter((f) => f.index !== undefined)\n indexFilters.forEach((f) => {\n if (f.index !== undefined) noIndexFilters.splice(f.index, 0, f)\n })\n return noIndexFilters\n}\n\nexport const setRequestQueryFromFilterValues = (filterValues: FilterValue[], verbose = false) => {\n const requestQuery = filterValues\n .filter((fv) => fv.value)\n .reduce((acc, curr) => {\n const { value, name, type } = curr\n const filterPrefix = `filters.${name}`\n switch (type) {\n case FilterType.granularDateRange.toLowerCase():\n {\n const granularDateRangeValue = <GranularDateRange>value\n Object.keys(granularDateRangeValue).forEach((key) => {\n let v = granularDateRangeValue[key as keyof GranularDateRange]\n if (key.includes('partialDate')) {\n acc = {\n ...acc,\n }\n } else {\n if (key.includes('granularity') || key.includes('quickFilter')) {\n v = (<GranularDateRangeGranularityValue | GranularDateRangeQuickFilterValue>v).value\n }\n acc = {\n ...acc,\n [`${filterPrefix}.${key}`]: v,\n }\n }\n })\n }\n break\n case FilterType.dateRange.toLowerCase():\n if (value) {\n Object.keys(value).forEach((key) => {\n const attrKey = !verbose && key.includes('relative') ? undefined : `${filterPrefix}.${key}`\n const attrValue = value[key as keyof FilterValueType]\n if (attrKey) {\n acc = {\n ...acc,\n [`${attrKey}`]: attrValue,\n }\n }\n })\n }\n break\n case FilterType.multiselect.toLowerCase():\n acc = {\n ...acc,\n [`${filterPrefix}`]: (<string>value).split(','),\n }\n break\n default:\n acc = {\n ...acc,\n [`${filterPrefix}`]: value,\n }\n break\n }\n return acc\n }, {})\n\n return requestQuery\n}\n\nexport const redirectWithDefaultFilters = (\n reportQuery: ReportQuery,\n variantDefinition: components['schemas']['VariantDefinition'],\n response: Response,\n request: Request,\n) => {\n const defaultFilters: Record<string, string> = {}\n const { specification } = variantDefinition\n const fields = specification ? specification.fields : []\n const { preventDefault } = request.query\n const hasNoQueryFilters = Object.keys(reportQuery.filters).length === 0 && !preventDefault\n if (hasNoQueryFilters) {\n fields\n .filter((f) => f.filter && f.filter.defaultValue)\n .forEach((f) => {\n const { filter } = f\n if (filter) {\n if (filter.type.toLowerCase() === FilterType.dateRange.toLowerCase()) {\n const { defaultValue } = <components['schemas']['FilterDefinition']>filter\n const dates = defaultValue ? defaultValue.split(' - ') : ''\n\n if (dates.length >= 1) {\n // eslint-disable-next-line prefer-destructuring\n defaultFilters[`${DEFAULT_FILTERS_PREFIX}${f.name}.start`] = dates[0]\n\n if (dates.length >= 2) {\n // eslint-disable-next-line prefer-destructuring\n defaultFilters[`${DEFAULT_FILTERS_PREFIX}${f.name}.end`] = dates[1]\n }\n }\n } else {\n defaultFilters[`${DEFAULT_FILTERS_PREFIX}${f.name}`] = filter.defaultValue || ''\n }\n }\n })\n }\n\n if (Object.keys(defaultFilters).length > 0) {\n const querystring = createUrlForParameters(reportQuery.toRecordWithFilterPrefix(), defaultFilters, fields)\n response.redirect(`${request.baseUrl}${request.path}${querystring}`)\n return true\n }\n\n return false\n}\n\nexport const getPersonalisedFilters = async (\n filters: FilterValue[],\n req: Request,\n res: Response,\n services: Services,\n filtersType: FiltersType,\n) => {\n const { reportId, id } = req.params\n const { dprUser } = LocalsHelper.getValues(res)\n const defaultFilterValues = await services.defaultFilterValuesService.get(dprUser.id, reportId, id, filtersType)\n let defaultFilters = filters\n if (defaultFilterValues) {\n const personalisedFilters = PersonalistionUtils.setFilterValuesFromSavedDefaults(filters, [], defaultFilterValues)\n defaultFilters = personalisedFilters.filters\n }\n\n return { filters: defaultFilters, defaultFilterValues }\n}\n\nexport const getFilters = async ({\n fields,\n req,\n res,\n prefix = 'filters.',\n services,\n filtersType,\n}: {\n fields: components['schemas']['FieldDefinition'][]\n req: Request\n res?: Response | undefined\n prefix?: string\n services?: Services | undefined\n filtersType: FiltersType\n}) => {\n // 1. Set the filters from the product definition\n let filters = await getFiltersFromDefinition(fields, filtersType === FiltersType.INTERACTIVE)\n\n let hasDefaults\n let canSaveDefaults = false\n if (services && res && res.locals['saveDefaultsEnabled']) {\n // 2. If there are personalised filters, overwrite fiters with the personalised filter values.\n const { filters: personalisedFilterValues, defaultFilterValues } = await getPersonalisedFilters(\n filters,\n req,\n res,\n services,\n filtersType,\n )\n filters = personalisedFilterValues\n hasDefaults = defaultFilterValues && defaultFilterValues.length > 0\n canSaveDefaults = true\n }\n\n // If there is a request query, overwrite the filters with the query params\n if (req.query) {\n filters = setFilterValuesFromRequest(filters, req)\n }\n\n // Set the selected filters\n const selectedFilters = SelectedFiltersUtils.getSelectedFilters(filters, prefix)\n\n return {\n filters,\n selectedFilters,\n hasDefaults,\n canSaveDefaults,\n }\n}\n\nexport default {\n getFiltersFromDefinition,\n setFilterValuesFromRequest,\n getFilters,\n setFilterQueryFromFilterDefinition,\n redirectWithDefaultFilters,\n setRequestQueryFromFilterValues,\n getPersonalisedFilters,\n}\n"],
5
5
  "mappings": "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",
6
6
  "names": ["import_utils", "DateRangeInputUtils", "GranularDateRangeInputUtils", "DateInputUtils", "MultiSelectUtils", "AutocompleteUtils", "createUrlForParameters", "LocalsHelper", "PersonalistionUtils", "SelectedFiltersUtils"]