@hmcts/rpx-xui-common-lib 2.1.0-angular-upgrade-11 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. package/README.md +1 -1
  2. package/esm2022/hmcts-rpx-xui-common-lib.mjs +5 -0
  3. package/esm2022/lib/components/accessibility/accessibility.component.mjs +833 -0
  4. package/esm2022/lib/components/checkbox-list/checkbox-list.component.mjs +232 -0
  5. package/esm2022/lib/components/contact-details/contact-details.component.mjs +123 -0
  6. package/esm2022/lib/components/cookie-banner/cookie-banner.component.mjs +151 -0
  7. package/esm2022/lib/components/due-date/due-date.component.mjs +141 -0
  8. package/esm2022/lib/components/exui-main-wrapper/exui-page-wrapper.component.mjs +80 -0
  9. package/esm2022/lib/components/find-location/find-location.component.mjs +220 -0
  10. package/esm2022/lib/components/find-person/find-person.component.mjs +234 -0
  11. package/esm2022/lib/components/find-service/find-service.component.mjs +193 -0
  12. package/esm2022/lib/components/find-task-name/find-task-name.component.mjs +200 -0
  13. package/esm2022/lib/components/generic-filter/generic-filter-utils.mjs +21 -0
  14. package/esm2022/lib/components/generic-filter/generic-filter.component.mjs +1224 -0
  15. package/esm2022/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.mjs +56 -0
  16. package/esm2022/lib/components/invite-user-form/invite-user-form.component.mjs +51 -0
  17. package/esm2022/lib/components/invite-user-permissions/invite-user-permission.component.mjs +54 -0
  18. package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +33 -0
  19. package/esm2022/lib/components/pagination/pagination.component.mjs +92 -0
  20. package/esm2022/lib/components/public_api.mjs +39 -0
  21. package/esm2022/lib/components/search-judicials/search-judicials.component.mjs +185 -0
  22. package/esm2022/lib/components/search-location/search-location.component.mjs +240 -0
  23. package/esm2022/lib/components/search-service/search-service.component.mjs +94 -0
  24. package/esm2022/lib/components/search-venue/search-venue.component.mjs +188 -0
  25. package/esm2022/lib/components/selected-case/selected-case.component.mjs +381 -0
  26. package/esm2022/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +135 -0
  27. package/esm2022/lib/components/selected-case-list/selected-case-list.component.mjs +98 -0
  28. package/esm2022/lib/components/service-message/service-message.component.mjs +62 -0
  29. package/esm2022/lib/components/service-messages/service-messages.component.mjs +165 -0
  30. package/esm2022/lib/components/share-case/share-case.component.mjs +427 -0
  31. package/esm2022/lib/components/share-case-confirm/share-case-confirm.component.mjs +85 -0
  32. package/esm2022/lib/components/tab/tab.component.mjs +40 -0
  33. package/esm2022/lib/components/tc-confirm/tc-confirm.component.mjs +66 -0
  34. package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +17 -0
  35. package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +17 -0
  36. package/esm2022/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +58 -0
  37. package/esm2022/lib/components/user-details/user-details.component.mjs +276 -0
  38. package/esm2022/lib/components/user-list/user-list.component.mjs +100 -0
  39. package/esm2022/lib/components/user-select/user-select.component.mjs +94 -0
  40. package/esm2022/lib/components/write-address/write-address.component.mjs +342 -0
  41. package/esm2022/lib/components/write-address-inputs/write-address-inputs.component.mjs +165 -0
  42. package/esm2022/lib/directives/feature-toggle/feature-toggle.directive.mjs +41 -0
  43. package/esm2022/lib/directives/let/let.directive.mjs +29 -0
  44. package/esm2022/lib/exui-common-lib.module.mjs +313 -0
  45. package/esm2022/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +55 -0
  46. package/esm2022/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +137 -0
  47. package/esm2022/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +127 -0
  48. package/esm2022/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +46 -0
  49. package/esm2022/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +79 -0
  50. package/esm2022/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +79 -0
  51. package/esm2022/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +45 -0
  52. package/esm2022/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +71 -0
  53. package/esm2022/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +84 -0
  54. package/esm2022/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +48 -0
  55. package/esm2022/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +42 -0
  56. package/esm2022/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +80 -0
  57. package/esm2022/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +185 -0
  58. package/esm2022/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +57 -0
  59. package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.mjs +2 -0
  60. package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +111 -0
  61. package/esm2022/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +140 -0
  62. package/esm2022/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +34 -0
  63. package/esm2022/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +129 -0
  64. package/esm2022/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +204 -0
  65. package/esm2022/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +60 -0
  66. package/esm2022/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +58 -0
  67. package/esm2022/lib/gov-ui/directives/remove-host.directive.mjs +30 -0
  68. package/esm2022/lib/gov-ui/gov-ui.service.mjs +14 -0
  69. package/esm2022/lib/gov-ui/models/checkboxes-model.mjs +2 -0
  70. package/{esm2015/lib/gov-ui/models/gov-ui-config-model.js → esm2022/lib/gov-ui/models/gov-ui-config-model.mjs} +1 -1
  71. package/{esm2015/lib/gov-ui/models/public_api.js → esm2022/lib/gov-ui/models/public_api.mjs} +1 -2
  72. package/esm2022/lib/gov-ui/models/radio-buttons.model.mjs +2 -0
  73. package/esm2022/lib/gov-ui/util/helpers/html-templates.helper.mjs +22 -0
  74. package/{esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js → esm2022/lib/gov-ui/validators/checkboxes-be-checked.validator.mjs} +1 -1
  75. package/{esm2015/lib/gov-ui/validators/date.validator.js → esm2022/lib/gov-ui/validators/date.validator.mjs} +1 -1
  76. package/esm2022/lib/gov-ui/validators/radio-group.validator.mjs +15 -0
  77. package/esm2022/lib/models/address-message.enum.mjs +11 -0
  78. package/esm2022/lib/models/address-option.model.mjs +21 -0
  79. package/esm2022/lib/models/address.model.mjs +4 -0
  80. package/esm2022/lib/models/case-share.model.mjs +7 -0
  81. package/{esm2015/lib/models/contact-details.model.js → esm2022/lib/models/contact-details.model.mjs} +1 -1
  82. package/esm2022/lib/models/feature-user.mjs +5 -0
  83. package/esm2022/lib/models/filter.model.mjs +3 -0
  84. package/esm2022/lib/models/index.mjs +19 -0
  85. package/esm2022/lib/models/location.model.mjs +7 -0
  86. package/esm2022/lib/models/person.model.mjs +19 -0
  87. package/{esm2015/lib/models/public_api.js → esm2022/lib/models/public_api.mjs} +2 -1
  88. package/{esm2015/lib/models/search-options.model.js → esm2022/lib/models/search-options.model.mjs} +1 -1
  89. package/esm2022/lib/models/service-message.model.mjs +2 -0
  90. package/esm2022/lib/models/task-name.model.mjs +2 -0
  91. package/esm2022/lib/models/user-access-type.model.mjs +2 -0
  92. package/esm2022/lib/models/user-details.model.mjs +2 -0
  93. package/esm2022/lib/pipes/capitalize/capitalize.pipe.mjs +15 -0
  94. package/esm2022/lib/pipes/index.mjs +2 -0
  95. package/esm2022/lib/services/address/address-parser.mjs +76 -0
  96. package/esm2022/lib/services/address/address-type.enum.mjs +7 -0
  97. package/esm2022/lib/services/address/address.service.mjs +55 -0
  98. package/esm2022/lib/services/case-sharing-state/case-sharing-state.service.mjs +170 -0
  99. package/esm2022/lib/services/cookie/cookie.service.mjs +48 -0
  100. package/esm2022/lib/services/feature-toggle/feature-toggle.guard.mjs +37 -0
  101. package/esm2022/lib/services/feature-toggle/feature-toggle.service.mjs +33 -0
  102. package/esm2022/lib/services/feature-toggle/launch-darkly.service.mjs +65 -0
  103. package/esm2022/lib/services/filter/filter.service.mjs +95 -0
  104. package/esm2022/lib/services/find-person/find-person.service.mjs +92 -0
  105. package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +73 -0
  106. package/esm2022/lib/services/google-tag-manager/google-tag-manager.service.mjs +86 -0
  107. package/{esm2015/lib/services/loading/loading.service.js → esm2022/lib/services/loading/loading.service.mjs} +8 -6
  108. package/esm2022/lib/services/locations/location.service.mjs +38 -0
  109. package/{esm2015/lib/services/manage-session/manage-session.services.js → esm2022/lib/services/manage-session/manage-session.services.mjs} +8 -10
  110. package/esm2022/lib/services/public-api.mjs +18 -0
  111. package/esm2022/lib/services/ref-data/index.mjs +4 -0
  112. package/esm2022/lib/services/ref-data/models/ref-data-htmcs-service.model.mjs +2 -0
  113. package/esm2022/lib/services/ref-data/models/ref-data-region.model.mjs +2 -0
  114. package/esm2022/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.mjs +2 -0
  115. package/esm2022/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +33 -0
  116. package/esm2022/lib/services/ref-data/ref-data.service.mjs +34 -0
  117. package/esm2022/lib/services/role-guard/role.guard.mjs +43 -0
  118. package/esm2022/lib/services/role-guard/role.service.mjs +22 -0
  119. package/esm2022/lib/services/storage/session-storage/session-storage.service.mjs +43 -0
  120. package/esm2022/lib/services/task-name/task-name.service.mjs +35 -0
  121. package/esm2022/lib/services/timeout-notifications/timeout-notifications.service.mjs +103 -0
  122. package/{esm2015/public-api.js → esm2022/public-api.mjs} +2 -1
  123. package/fesm2022/hmcts-rpx-xui-common-lib.mjs +10378 -0
  124. package/fesm2022/hmcts-rpx-xui-common-lib.mjs.map +1 -0
  125. package/index.d.ts +5 -0
  126. package/lib/components/accessibility/accessibility.component.d.ts +7 -1
  127. package/lib/components/checkbox-list/checkbox-list.component.d.ts +8 -2
  128. package/lib/components/contact-details/contact-details.component.d.ts +3 -0
  129. package/lib/components/cookie-banner/cookie-banner.component.d.ts +5 -1
  130. package/lib/components/due-date/due-date.component.d.ts +8 -2
  131. package/lib/components/exui-main-wrapper/exui-page-wrapper.component.d.ts +3 -0
  132. package/lib/components/find-location/find-location.component.d.ts +13 -6
  133. package/lib/components/find-person/find-person.component.d.ts +5 -2
  134. package/lib/components/find-service/find-service.component.d.ts +29 -0
  135. package/lib/components/find-task-name/find-task-name.component.d.ts +44 -0
  136. package/lib/components/generic-filter/generic-filter-utils.d.ts +2 -5
  137. package/lib/components/generic-filter/generic-filter.component.d.ts +25 -6
  138. package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +3 -0
  139. package/lib/components/invite-user-form/invite-user-form.component.d.ts +3 -0
  140. package/lib/components/invite-user-permissions/invite-user-permission.component.d.ts +3 -0
  141. package/lib/components/loading-spinner/loading-spinner.component.d.ts +8 -1
  142. package/lib/components/pagination/pagination.component.d.ts +3 -0
  143. package/lib/components/public_api.d.ts +6 -0
  144. package/lib/components/search-judicials/search-judicials.component.d.ts +3 -0
  145. package/lib/components/search-location/search-location.component.d.ts +26 -18
  146. package/lib/components/search-service/search-service.component.d.ts +20 -0
  147. package/lib/components/search-venue/search-venue.component.d.ts +3 -1
  148. package/lib/components/selected-case/selected-case.component.d.ts +4 -1
  149. package/lib/components/selected-case-confirm/selected-case-confirm.component.d.ts +3 -0
  150. package/lib/components/selected-case-list/selected-case-list.component.d.ts +4 -0
  151. package/lib/components/service-message/service-message.component.d.ts +9 -4
  152. package/lib/components/service-messages/service-messages.component.d.ts +15 -5
  153. package/lib/components/share-case/share-case.component.d.ts +41 -2
  154. package/lib/components/share-case-confirm/share-case-confirm.component.d.ts +3 -0
  155. package/lib/components/tab/tab.component.d.ts +3 -0
  156. package/lib/components/tc-confirm/tc-confirm.component.d.ts +3 -0
  157. package/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.d.ts +3 -0
  158. package/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.d.ts +3 -0
  159. package/lib/components/terms-and-conditions/terms-and-conditions.component.d.ts +3 -0
  160. package/lib/components/user-details/user-details.component.d.ts +4 -0
  161. package/lib/components/user-list/user-list.component.d.ts +3 -0
  162. package/lib/components/user-select/user-select.component.d.ts +5 -3
  163. package/lib/components/write-address/write-address.component.d.ts +45 -0
  164. package/lib/components/write-address-inputs/write-address-inputs.component.d.ts +16 -0
  165. package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +3 -0
  166. package/lib/directives/let/let.directive.d.ts +3 -0
  167. package/lib/exui-common-lib.module.d.ts +83 -4
  168. package/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.d.ts +3 -0
  169. package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +17 -5
  170. package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +3 -0
  171. package/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.d.ts +3 -0
  172. package/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +3 -0
  173. package/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.d.ts +3 -0
  174. package/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.d.ts +3 -0
  175. package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +4 -2
  176. package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +4 -0
  177. package/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.d.ts +3 -0
  178. package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +5 -2
  179. package/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.d.ts +3 -0
  180. package/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.d.ts +3 -0
  181. package/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.d.ts +3 -0
  182. package/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.d.ts +7 -0
  183. package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +7 -2
  184. package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +3 -0
  185. package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +3 -0
  186. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +6 -3
  187. package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +3 -0
  188. package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +3 -0
  189. package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +3 -0
  190. package/lib/gov-ui/directives/remove-host.directive.d.ts +3 -0
  191. package/lib/gov-ui/gov-ui.service.d.ts +3 -0
  192. package/lib/gov-ui/models/checkboxes-model.d.ts +4 -7
  193. package/lib/gov-ui/models/gov-ui-config-model.d.ts +2 -0
  194. package/lib/gov-ui/models/public_api.d.ts +0 -1
  195. package/lib/gov-ui/models/radio-buttons.model.d.ts +9 -0
  196. package/lib/models/address-message.enum.d.ts +9 -0
  197. package/lib/models/address-option.model.d.ts +9 -0
  198. package/lib/models/address.model.d.ts +9 -0
  199. package/lib/models/case-share.model.d.ts +5 -0
  200. package/lib/models/contact-details.model.d.ts +4 -0
  201. package/lib/models/feature-user.d.ts +4 -6
  202. package/lib/models/filter.model.d.ts +45 -9
  203. package/lib/models/index.d.ts +5 -0
  204. package/lib/models/location.model.d.ts +22 -11
  205. package/lib/models/person.model.d.ts +3 -0
  206. package/lib/models/public_api.d.ts +1 -0
  207. package/lib/models/search-options.model.d.ts +1 -1
  208. package/lib/models/service-message.model.d.ts +8 -0
  209. package/lib/models/task-name.model.d.ts +4 -0
  210. package/lib/models/user-access-type.model.d.ts +6 -0
  211. package/lib/models/user-details.model.d.ts +2 -0
  212. package/lib/pipes/capitalize/capitalize.pipe.d.ts +7 -0
  213. package/lib/pipes/index.d.ts +1 -0
  214. package/lib/services/address/address-parser.d.ts +17 -0
  215. package/lib/services/address/address-type.enum.d.ts +5 -0
  216. package/lib/services/address/address.service.d.ts +15 -0
  217. package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +4 -1
  218. package/lib/services/cookie/cookie.service.d.ts +3 -0
  219. package/lib/services/feature-toggle/feature-toggle.guard.d.ts +8 -2
  220. package/lib/services/feature-toggle/feature-toggle.service.d.ts +4 -0
  221. package/lib/services/feature-toggle/launch-darkly.service.d.ts +14 -10
  222. package/lib/services/filter/filter.service.d.ts +6 -0
  223. package/lib/services/find-person/find-person.service.d.ts +5 -2
  224. package/lib/services/google-analytics/google-analytics.service.d.ts +4 -1
  225. package/lib/services/google-tag-manager/google-tag-manager.service.d.ts +5 -1
  226. package/lib/services/loading/loading.service.d.ts +3 -0
  227. package/lib/services/locations/location.service.d.ts +5 -2
  228. package/lib/services/manage-session/manage-session.services.d.ts +3 -0
  229. package/lib/services/public-api.d.ts +2 -0
  230. package/lib/services/ref-data/index.d.ts +3 -0
  231. package/lib/services/ref-data/models/ref-data-htmcs-service.model.d.ts +13 -0
  232. package/lib/services/ref-data/models/ref-data-region.model.d.ts +4 -0
  233. package/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.d.ts +8 -0
  234. package/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.d.ts +18 -0
  235. package/lib/services/ref-data/ref-data.service.d.ts +17 -0
  236. package/lib/services/role-guard/role.guard.d.ts +7 -3
  237. package/lib/services/role-guard/role.service.d.ts +8 -4
  238. package/lib/services/{session-storage → storage/session-storage}/session-storage.service.d.ts +3 -0
  239. package/lib/services/task-name/task-name.service.d.ts +17 -0
  240. package/lib/services/timeout-notifications/timeout-notifications.service.d.ts +8 -2
  241. package/package.json +21 -11
  242. package/public-api.d.ts +1 -0
  243. package/bundles/hmcts-rpx-xui-common-lib.umd.js +0 -4893
  244. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +0 -1
  245. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +0 -2
  246. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +0 -1
  247. package/esm2015/hmcts-rpx-xui-common-lib.js +0 -68
  248. package/esm2015/lib/components/accessibility/accessibility.component.js +0 -14
  249. package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +0 -177
  250. package/esm2015/lib/components/contact-details/contact-details.component.js +0 -17
  251. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +0 -68
  252. package/esm2015/lib/components/due-date/due-date.component.js +0 -115
  253. package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +0 -28
  254. package/esm2015/lib/components/find-location/find-location.component.js +0 -120
  255. package/esm2015/lib/components/find-person/find-person.component.js +0 -118
  256. package/esm2015/lib/components/generic-filter/generic-filter-utils.js +0 -21
  257. package/esm2015/lib/components/generic-filter/generic-filter.component.js +0 -381
  258. package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +0 -27
  259. package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +0 -25
  260. package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +0 -25
  261. package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +0 -18
  262. package/esm2015/lib/components/pagination/pagination.component.js +0 -28
  263. package/esm2015/lib/components/public_api.js +0 -33
  264. package/esm2015/lib/components/search-judicials/search-judicials.component.js +0 -126
  265. package/esm2015/lib/components/search-location/search-location.component.js +0 -114
  266. package/esm2015/lib/components/search-venue/search-venue.component.js +0 -123
  267. package/esm2015/lib/components/selected-case/selected-case.component.js +0 -160
  268. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +0 -36
  269. package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +0 -45
  270. package/esm2015/lib/components/service-message/service-message.component.js +0 -22
  271. package/esm2015/lib/components/service-messages/service-messages.component.js +0 -48
  272. package/esm2015/lib/components/share-case/share-case.component.js +0 -91
  273. package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +0 -34
  274. package/esm2015/lib/components/tab/tab.component.js +0 -21
  275. package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +0 -22
  276. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +0 -13
  277. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +0 -13
  278. package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +0 -16
  279. package/esm2015/lib/components/user-details/user-details.component.js +0 -41
  280. package/esm2015/lib/components/user-list/user-list.component.js +0 -33
  281. package/esm2015/lib/components/user-select/user-select.component.js +0 -58
  282. package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +0 -42
  283. package/esm2015/lib/directives/let/let.directive.js +0 -30
  284. package/esm2015/lib/exui-common-lib.module.js +0 -156
  285. package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +0 -31
  286. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +0 -21
  287. package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +0 -64
  288. package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +0 -22
  289. package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -28
  290. package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +0 -35
  291. package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +0 -23
  292. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +0 -34
  293. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +0 -21
  294. package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +0 -33
  295. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +0 -21
  296. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +0 -27
  297. package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +0 -39
  298. package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +0 -27
  299. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +0 -23
  300. package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +0 -48
  301. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +0 -19
  302. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +0 -41
  303. package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +0 -28
  304. package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +0 -23
  305. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +0 -15
  306. package/esm2015/lib/gov-ui/directives/remove-host.directive.js +0 -29
  307. package/esm2015/lib/gov-ui/gov-ui.service.js +0 -13
  308. package/esm2015/lib/gov-ui/models/banner-data-model.js +0 -2
  309. package/esm2015/lib/gov-ui/models/checkboxes-model.js +0 -2
  310. package/esm2015/lib/gov-ui/models/isession-storage.interface.js +0 -2
  311. package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +0 -22
  312. package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +0 -22
  313. package/esm2015/lib/gov-ui/validators/radio-group.validator.js +0 -15
  314. package/esm2015/lib/models/case-share.model.js +0 -2
  315. package/esm2015/lib/models/feature-user.js +0 -5
  316. package/esm2015/lib/models/filter.model.js +0 -3
  317. package/esm2015/lib/models/index.js +0 -14
  318. package/esm2015/lib/models/location.model.js +0 -2
  319. package/esm2015/lib/models/person.model.js +0 -17
  320. package/esm2015/lib/models/user-details.model.js +0 -2
  321. package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +0 -143
  322. package/esm2015/lib/services/cookie/cookie.service.js +0 -47
  323. package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +0 -35
  324. package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +0 -27
  325. package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +0 -59
  326. package/esm2015/lib/services/filter/filter.service.js +0 -64
  327. package/esm2015/lib/services/find-person/find-person.service.js +0 -106
  328. package/esm2015/lib/services/google-analytics/google-analytics.service.js +0 -68
  329. package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +0 -71
  330. package/esm2015/lib/services/locations/location.service.js +0 -39
  331. package/esm2015/lib/services/public-api.js +0 -16
  332. package/esm2015/lib/services/role-guard/role.guard.js +0 -37
  333. package/esm2015/lib/services/role-guard/role.service.js +0 -20
  334. package/esm2015/lib/services/session-storage/session-storage.service.js +0 -41
  335. package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +0 -92
  336. package/fesm2015/hmcts-rpx-xui-common-lib.js +0 -3942
  337. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +0 -1
  338. package/hmcts-rpx-xui-common-lib.d.ts +0 -67
  339. package/hmcts-rpx-xui-common-lib.metadata.json +0 -1
  340. package/lib/gov-ui/models/banner-data-model.d.ts +0 -4
  341. package/lib/gov-ui/models/isession-storage.interface.d.ts +0 -4
  342. package/lib/gov-ui/util/session-storage/session-storage-utils.d.ts +0 -6
  343. /package/{esm2015/lib/components/index.js → esm2022/lib/components/index.mjs} +0 -0
  344. /package/{esm2015/lib/directives/index.js → esm2022/lib/directives/index.mjs} +0 -0
  345. /package/{esm2015/lib/directives/public-api.js → esm2022/lib/directives/public-api.mjs} +0 -0
  346. /package/{esm2015/lib/gov-ui/components/index.js → esm2022/lib/gov-ui/components/index.mjs} +0 -0
  347. /package/{esm2015/lib/gov-ui/components/public_api.js → esm2022/lib/gov-ui/components/public_api.mjs} +0 -0
  348. /package/{esm2015/lib/gov-ui/index.js → esm2022/lib/gov-ui/index.mjs} +0 -0
  349. /package/{esm2015/lib/gov-ui/models/error-messages-model.js → esm2022/lib/gov-ui/models/error-messages-model.mjs} +0 -0
  350. /package/{esm2015/lib/gov-ui/models/index.js → esm2022/lib/gov-ui/models/index.mjs} +0 -0
  351. /package/{esm2015/lib/gov-ui/public_api.js → esm2022/lib/gov-ui/public_api.mjs} +0 -0
  352. /package/{esm2015/lib/gov-ui/validators/index.js → esm2022/lib/gov-ui/validators/index.mjs} +0 -0
  353. /package/{esm2015/lib/gov-ui/validators/public_api.js → esm2022/lib/gov-ui/validators/public_api.mjs} +0 -0
  354. /package/{esm2015/lib/models/due-date.model.js → esm2022/lib/models/due-date.model.mjs} +0 -0
  355. /package/{esm2015/lib/models/idle-config.model.js → esm2022/lib/models/idle-config.model.mjs} +0 -0
  356. /package/{esm2015/lib/models/pagination.model.js → esm2022/lib/models/pagination.model.mjs} +0 -0
  357. /package/{esm2015/lib/models/tcDocument.model.js → esm2022/lib/models/tcDocument.model.mjs} +0 -0
  358. /package/{esm2015/lib/models/timeout-notification.model.js → esm2022/lib/models/timeout-notification.model.mjs} +0 -0
  359. /package/{esm2015/lib/models/user.model.js → esm2022/lib/models/user.model.mjs} +0 -0
  360. /package/{esm2015/lib/services/index.js → esm2022/lib/services/index.mjs} +0 -0
  361. /package/{esm2015/lib/window.js → esm2022/lib/window.mjs} +0 -0
@@ -1,64 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class FilterService {
5
- constructor() {
6
- this.givenErrors = new BehaviorSubject(null);
7
- this.isInitialSetting = false;
8
- this.filterSettings = {};
9
- this.streams = {};
10
- }
11
- persist(setting, persistence) {
12
- switch (persistence) {
13
- case 'local':
14
- this.persistLocal(setting);
15
- break;
16
- case 'session':
17
- this.persistSession(setting);
18
- break;
19
- default:
20
- break;
21
- }
22
- this.persistMemory(setting);
23
- this.updateStreams(setting);
24
- }
25
- get(id) {
26
- if (this.filterSettings[id]) {
27
- return this.filterSettings[id];
28
- }
29
- if (sessionStorage.getItem(id)) {
30
- return JSON.parse(window.sessionStorage.getItem(id));
31
- }
32
- if (localStorage.getItem(id)) {
33
- return JSON.parse(window.localStorage.getItem(id));
34
- }
35
- return null;
36
- }
37
- getStream(id) {
38
- if (!this.streams[id]) {
39
- this.streams[id] = new BehaviorSubject(this.get(id));
40
- }
41
- return this.streams[id].asObservable();
42
- }
43
- persistLocal(setting) {
44
- window.localStorage.setItem(setting.id, JSON.stringify(setting));
45
- }
46
- persistSession(setting) {
47
- window.sessionStorage.setItem(setting.id, JSON.stringify(setting));
48
- }
49
- persistMemory(setting) {
50
- this.filterSettings[setting.id] = setting;
51
- }
52
- updateStreams(setting) {
53
- if (this.streams[setting.id]) {
54
- this.streams[setting.id].next(setting);
55
- }
56
- }
57
- }
58
- FilterService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FilterService_Factory() { return new FilterService(); }, token: FilterService, providedIn: "root" });
59
- FilterService.decorators = [
60
- { type: Injectable, args: [{
61
- providedIn: 'root'
62
- },] }
63
- ];
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy9maWx0ZXIvZmlsdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDOztBQU1qRCxNQUFNLE9BQU8sYUFBYTtJQUgxQjtRQUtTLGdCQUFXLEdBQW1DLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hFLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUN4QixtQkFBYyxHQUFvQyxFQUFFLENBQUM7UUFDckQsWUFBTyxHQUFxRCxFQUFFLENBQUM7S0FzRGpGO0lBcERRLE9BQU8sQ0FBQyxPQUFzQixFQUFFLFdBQThCO1FBQ25FLFFBQVEsV0FBVyxFQUFFO1lBQ25CLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQixNQUFNO1lBQ1IsS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzdCLE1BQU07WUFDUjtnQkFDRSxNQUFNO1NBQ1Q7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLEdBQUcsQ0FBQyxFQUFVO1FBQ25CLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUMzQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDaEM7UUFDRCxJQUFJLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDOUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDdEQ7UUFDRCxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDcEQ7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxTQUFTLENBQUMsRUFBVTtRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDckU7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUFzQjtRQUN6QyxNQUFNLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQXNCO1FBQzNDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTyxhQUFhLENBQUMsT0FBc0I7UUFDMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDO0lBQzVDLENBQUM7SUFFTyxhQUFhLENBQUMsT0FBc0I7UUFDMUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDOzs7O1lBN0RGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0ZpbHRlckVycm9yLCBGaWx0ZXJQZXJzaXN0ZW5jZSwgRmlsdGVyU2V0dGluZ30gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyU2VydmljZSB7XG5cbiAgcHVibGljIGdpdmVuRXJyb3JzOiBCZWhhdmlvclN1YmplY3Q8RmlsdGVyRXJyb3JbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBwdWJsaWMgaXNJbml0aWFsU2V0dGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlclNldHRpbmdzOiB7IFtpZDogc3RyaW5nXTogRmlsdGVyU2V0dGluZyB9ID0ge307XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RyZWFtczogeyBbaWQ6IHN0cmluZ106IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJTZXR0aW5nPiB9ID0ge307XG5cbiAgcHVibGljIHBlcnNpc3Qoc2V0dGluZzogRmlsdGVyU2V0dGluZywgcGVyc2lzdGVuY2U6IEZpbHRlclBlcnNpc3RlbmNlKTogdm9pZCB7XG4gICAgc3dpdGNoIChwZXJzaXN0ZW5jZSkge1xuICAgICAgY2FzZSAnbG9jYWwnOlxuICAgICAgICB0aGlzLnBlcnNpc3RMb2NhbChzZXR0aW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzZXNzaW9uJzpcbiAgICAgICAgdGhpcy5wZXJzaXN0U2Vzc2lvbihzZXR0aW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5wZXJzaXN0TWVtb3J5KHNldHRpbmcpO1xuICAgIHRoaXMudXBkYXRlU3RyZWFtcyhzZXR0aW5nKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoaWQ6IHN0cmluZyk6IEZpbHRlclNldHRpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5maWx0ZXJTZXR0aW5nc1tpZF0pIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlclNldHRpbmdzW2lkXTtcbiAgICB9XG4gICAgaWYgKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oaWQpKSB7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZSh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShpZCkpO1xuICAgIH1cbiAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oaWQpKSB7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZSh3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oaWQpKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0U3RyZWFtKGlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZpbHRlclNldHRpbmc+IHtcbiAgICBpZiAoIXRoaXMuc3RyZWFtc1tpZF0pIHtcbiAgICAgIHRoaXMuc3RyZWFtc1tpZF0gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEZpbHRlclNldHRpbmc+KHRoaXMuZ2V0KGlkKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnN0cmVhbXNbaWRdLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBwZXJzaXN0TG9jYWwoc2V0dGluZzogRmlsdGVyU2V0dGluZyk6IHZvaWQge1xuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShzZXR0aW5nLmlkLCBKU09OLnN0cmluZ2lmeShzZXR0aW5nKSk7XG4gIH1cblxuICBwcml2YXRlIHBlcnNpc3RTZXNzaW9uKHNldHRpbmc6IEZpbHRlclNldHRpbmcpOiB2b2lkIHtcbiAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShzZXR0aW5nLmlkLCBKU09OLnN0cmluZ2lmeShzZXR0aW5nKSk7XG4gIH1cblxuICBwcml2YXRlIHBlcnNpc3RNZW1vcnkoc2V0dGluZzogRmlsdGVyU2V0dGluZyk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyU2V0dGluZ3Nbc2V0dGluZy5pZF0gPSBzZXR0aW5nO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTdHJlYW1zKHNldHRpbmc6IEZpbHRlclNldHRpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdHJlYW1zW3NldHRpbmcuaWRdKSB7XG4gICAgICB0aGlzLnN0cmVhbXNbc2V0dGluZy5pZF0ubmV4dChzZXR0aW5nKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,106 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import { of } from 'rxjs';
4
- import { map, tap } from 'rxjs/operators';
5
- import { getAllCaseworkersFromServices, getSessionStorageKeyForServiceId, setCaseworkers } from '../../gov-ui/util/session-storage/session-storage-utils';
6
- import { PersonRole, RoleCategory } from '../../models';
7
- import { SessionStorageService } from '../session-storage/session-storage.service';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@angular/common/http";
10
- import * as i2 from "../session-storage/session-storage.service";
11
- export class FindAPersonService {
12
- constructor(http, sessionStorageService) {
13
- this.http = http;
14
- this.sessionStorageService = sessionStorageService;
15
- }
16
- find(searchOptions) {
17
- const userInfoStr = this.sessionStorageService.getItem('userDetails');
18
- if (userInfoStr && !searchOptions.userIncluded) {
19
- const userInfo = JSON.parse(userInfoStr);
20
- this.userId = userInfo.id ? userInfo.id : userInfo.uid;
21
- }
22
- this.assignedUser = searchOptions.assignedUser ? searchOptions.assignedUser : null;
23
- return this.http.post('/workallocation2/findPerson', { searchOptions })
24
- .pipe(map(judiciary => judiciary.filter(judge => !([this.assignedUser, this.userId].includes(judge.id)))));
25
- }
26
- findCaseworkers(searchOptions) {
27
- const userInfoStr = this.sessionStorageService.getItem('userDetails');
28
- if (userInfoStr) {
29
- const userInfo = JSON.parse(userInfoStr);
30
- this.userId = userInfo.id ? userInfo.id : userInfo.uid;
31
- }
32
- this.assignedUser = searchOptions.assignedUser ? searchOptions.assignedUser : null;
33
- const fullServices = searchOptions.services;
34
- const storedServices = [];
35
- const newServices = [];
36
- const storedCaseworkersByService = [];
37
- fullServices.forEach(serviceId => {
38
- const serviceKey = getSessionStorageKeyForServiceId(serviceId);
39
- if (this.sessionStorageService.getItem(serviceKey)) {
40
- storedServices.push(serviceId);
41
- storedCaseworkersByService.push({ service: serviceId, caseworkers: JSON.parse(this.sessionStorageService.getItem(serviceKey)) });
42
- }
43
- else {
44
- newServices.push(serviceId);
45
- }
46
- });
47
- // if all services are stored then return the stored caseworkers by service
48
- if (storedServices.length === fullServices.length) {
49
- const storedCaseworkers = getAllCaseworkersFromServices(storedCaseworkersByService);
50
- return of(this.searchInCaseworkers(storedCaseworkers, searchOptions));
51
- }
52
- // all serviceIds passed in as node layer getting used anyway and caseworkers also stored there
53
- return this.http.post('/workallocation2/retrieveCaseWorkersForServices', { fullServices }).pipe(tap(caseworkersByService => {
54
- caseworkersByService.forEach(caseworkerListByService => {
55
- // for any new service, ensure that they are then stored in the session
56
- if (newServices.includes(caseworkerListByService.service)) {
57
- setCaseworkers(caseworkerListByService.service, caseworkerListByService.caseworkers, this.sessionStorageService);
58
- }
59
- });
60
- }), map(caseworkersByService => {
61
- const givenCaseworkers = getAllCaseworkersFromServices(caseworkersByService);
62
- return this.searchInCaseworkers(givenCaseworkers, searchOptions);
63
- }));
64
- }
65
- mapCaseworkers(caseworkers, roleCategory) {
66
- const people = [];
67
- caseworkers.forEach((caseworker) => {
68
- const thisPerson = {
69
- email: caseworker.email,
70
- name: `${caseworker.firstName} ${caseworker.lastName}`,
71
- id: caseworker.idamId,
72
- domain: caseworker.roleCategory === RoleCategory.CASEWORKER ? PersonRole.CASEWORKER : PersonRole.ADMIN,
73
- };
74
- if (caseworker.roleCategory === roleCategory || roleCategory === RoleCategory.ALL) {
75
- people.push(thisPerson);
76
- }
77
- });
78
- return people;
79
- }
80
- searchInCaseworkers(caseworkers, searchOptions) {
81
- let roleCategory = RoleCategory.ALL;
82
- if (!(searchOptions.userRole === PersonRole.ALL)) {
83
- roleCategory = searchOptions.userRole === PersonRole.CASEWORKER ? RoleCategory.CASEWORKER : RoleCategory.ADMIN;
84
- }
85
- const searchTerm = searchOptions && searchOptions.searchTerm ? searchOptions.searchTerm.toLowerCase() : '';
86
- const people = caseworkers ? this.mapCaseworkers(caseworkers, roleCategory) : [];
87
- const finalPeopleList = people.filter(person => person && person.name && person.name.toLowerCase().includes(searchTerm));
88
- return searchOptions.userIncluded ? finalPeopleList.filter(person => person && person.id !== this.assignedUser)
89
- : finalPeopleList.filter(person => person && person.id !== this.userId && person.id !== this.assignedUser);
90
- }
91
- searchJudicial(value, serviceId) {
92
- return this.http.post('api/prd/judicial/getJudicialUsersSearch', { searchString: value, serviceCode: serviceId });
93
- }
94
- }
95
- FindAPersonService.caseworkersKey = 'caseworkers';
96
- FindAPersonService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FindAPersonService_Factory() { return new FindAPersonService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.SessionStorageService)); }, token: FindAPersonService, providedIn: "root" });
97
- FindAPersonService.decorators = [
98
- { type: Injectable, args: [{
99
- providedIn: 'root'
100
- },] }
101
- ];
102
- FindAPersonService.ctorParameters = () => [
103
- { type: HttpClient },
104
- { type: SessionStorageService }
105
- ];
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1wZXJzb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFhLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUNwQyxPQUFPLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFDTCw2QkFBNkIsRUFDN0IsZ0NBQWdDLEVBQ2hDLGNBQWMsRUFDZixNQUFNLHlEQUF5RCxDQUFDO0FBQ2pFLE9BQU8sRUFLTCxVQUFVLEVBQ1YsWUFBWSxFQUViLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDOzs7O0FBS2pGLE1BQU0sT0FBTyxrQkFBa0I7SUFNN0IsWUFBNkIsSUFBZ0IsRUFBbUIscUJBQTRDO1FBQS9FLFNBQUksR0FBSixJQUFJLENBQVk7UUFBbUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtJQUM1RyxDQUFDO0lBRU0sSUFBSSxDQUFDLGFBQTRCO1FBQ3RDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEUsSUFBSSxXQUFXLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFO1lBQzlDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLENB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O0lBRU0sY0FBYyxDQUFDLEtBQWEsRUFBRSxTQUFpQjtRQUNwRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFzQix5Q0FBeUMsRUFDbEYsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7O0FBNUZhLGlDQUFjLEdBQVcsYUFBYSxDQUFDOzs7WUFMdEQsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUF0Qk8sVUFBVTtZQWtCVixxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGdldEFsbENhc2V3b3JrZXJzRnJvbVNlcnZpY2VzLFxuICBnZXRTZXNzaW9uU3RvcmFnZUtleUZvclNlcnZpY2VJZCxcbiAgc2V0Q2FzZXdvcmtlcnNcbn0gZnJvbSAnLi4vLi4vZ292LXVpL3V0aWwvc2Vzc2lvbi1zdG9yYWdlL3Nlc3Npb24tc3RvcmFnZS11dGlscyc7XG5pbXBvcnQge1xuICBDYXNld29ya2VyLFxuICBDYXNld29ya2Vyc0J5U2VydmljZSxcbiAgSnVkaWNpYWxVc2VyTW9kZWwsXG4gIFBlcnNvbixcbiAgUGVyc29uUm9sZSxcbiAgUm9sZUNhdGVnb3J5LFxuICBTZWFyY2hPcHRpb25zXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge1Nlc3Npb25TdG9yYWdlU2VydmljZX0gZnJvbSAnLi4vc2Vzc2lvbi1zdG9yYWdlL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRmluZEFQZXJzb25TZXJ2aWNlIHtcblxuICBwdWJsaWMgc3RhdGljIGNhc2V3b3JrZXJzS2V5OiBzdHJpbmcgPSAnY2FzZXdvcmtlcnMnO1xuICBwdWJsaWMgdXNlcklkOiBzdHJpbmc7XG4gIHB1YmxpYyBhc3NpZ25lZFVzZXI6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kKHNlYXJjaE9wdGlvbnM6IFNlYXJjaE9wdGlvbnMpOiBPYnNlcnZhYmxlPFBlcnNvbltdPiB7XG4gICAgY29uc3QgdXNlckluZm9TdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpO1xuICAgIGlmICh1c2VySW5mb1N0ciAmJiAhc2VhcmNoT3B0aW9ucy51c2VySW5jbHVkZWQpIHtcbiAgICAgIGNvbnN0IHVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgICB0aGlzLnVzZXJJZCA9IHVzZXJJbmZvLmlkID8gdXNlckluZm8uaWQgOiB1c2VySW5mby51aWQ7XG4gICAgfVxuICAgIHRoaXMuYXNzaWduZWRVc2VyID0gc2VhcmNoT3B0aW9ucy5hc3NpZ25lZFVzZXIgPyBzZWFyY2hPcHRpb25zLmFzc2lnbmVkVXNlciA6IG51bGw7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFBlcnNvbltdPignL3dvcmthbGxvY2F0aW9uMi9maW5kUGVyc29uJywgeyBzZWFyY2hPcHRpb25zIH0pXG4gICAgICAucGlwZShtYXAoanVkaWNpYXJ5ID0+IGp1ZGljaWFyeS5maWx0ZXIoanVkZ2UgPT4gIShbdGhpcy5hc3NpZ25lZFVzZXIsIHRoaXMudXNlcklkXS5pbmNsdWRlcyhqdWRnZS5pZCkpKSkpO1xuICB9XG5cbiAgcHVibGljIGZpbmRDYXNld29ya2VycyhzZWFyY2hPcHRpb25zOiBTZWFyY2hPcHRpb25zKTogT2JzZXJ2YWJsZTxQZXJzb25bXT4ge1xuICAgIGNvbnN0IHVzZXJJbmZvU3RyID0gdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKTtcbiAgICBpZiAodXNlckluZm9TdHIpIHtcbiAgICAgIGNvbnN0IHVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgICB0aGlzLnVzZXJJZCA9IHVzZXJJbmZvLmlkID8gdXNlckluZm8uaWQgOiB1c2VySW5mby51aWQ7XG4gICAgfVxuICAgIHRoaXMuYXNzaWduZWRVc2VyID0gc2VhcmNoT3B0aW9ucy5hc3NpZ25lZFVzZXIgPyBzZWFyY2hPcHRpb25zLmFzc2lnbmVkVXNlciA6IG51bGw7XG4gICAgY29uc3QgZnVsbFNlcnZpY2VzID0gc2VhcmNoT3B0aW9ucy5zZXJ2aWNlcztcbiAgICBjb25zdCBzdG9yZWRTZXJ2aWNlcyA9IFtdO1xuICAgIGNvbnN0IG5ld1NlcnZpY2VzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IHN0b3JlZENhc2V3b3JrZXJzQnlTZXJ2aWNlOiBDYXNld29ya2Vyc0J5U2VydmljZVtdID0gW107XG4gICAgZnVsbFNlcnZpY2VzLmZvckVhY2goc2VydmljZUlkID0+IHtcbiAgICAgIGNvbnN0IHNlcnZpY2VLZXkgPSBnZXRTZXNzaW9uU3RvcmFnZUtleUZvclNlcnZpY2VJZChzZXJ2aWNlSWQpO1xuICAgICAgaWYgKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oc2VydmljZUtleSkpIHtcbiAgICAgICAgc3RvcmVkU2VydmljZXMucHVzaChzZXJ2aWNlSWQpO1xuICAgICAgICBzdG9yZWRDYXNld29ya2Vyc0J5U2VydmljZS5wdXNoKHsgc2VydmljZTogc2VydmljZUlkLCBjYXNld29ya2VyczogSlNPTi5wYXJzZSh0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKHNlcnZpY2VLZXkpKSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1NlcnZpY2VzLnB1c2goc2VydmljZUlkKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICAvLyBpZiBhbGwgc2VydmljZXMgYXJlIHN0b3JlZCB0aGVuIHJldHVybiB0aGUgc3RvcmVkIGNhc2V3b3JrZXJzIGJ5IHNlcnZpY2VcbiAgICBpZiAoc3RvcmVkU2VydmljZXMubGVuZ3RoID09PSBmdWxsU2VydmljZXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBzdG9yZWRDYXNld29ya2VycyA9IGdldEFsbENhc2V3b3JrZXJzRnJvbVNlcnZpY2VzKHN0b3JlZENhc2V3b3JrZXJzQnlTZXJ2aWNlKTtcbiAgICAgIHJldHVybiBvZih0aGlzLnNlYXJjaEluQ2FzZXdvcmtlcnMoc3RvcmVkQ2FzZXdvcmtlcnMsIHNlYXJjaE9wdGlvbnMpKTtcbiAgICB9XG4gICAgLy8gYWxsIHNlcnZpY2VJZHMgcGFzc2VkIGluIGFzIG5vZGUgbGF5ZXIgZ2V0dGluZyB1c2VkIGFueXdheSBhbmQgY2FzZXdvcmtlcnMgYWxzbyBzdG9yZWQgdGhlcmVcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q2FzZXdvcmtlcnNCeVNlcnZpY2VbXT4oJy93b3JrYWxsb2NhdGlvbjIvcmV0cmlldmVDYXNlV29ya2Vyc0ZvclNlcnZpY2VzJywgeyBmdWxsU2VydmljZXMgfSkucGlwZShcbiAgICAgIHRhcChjYXNld29ya2Vyc0J5U2VydmljZSA9PiB7XG4gICAgICAgIGNhc2V3b3JrZXJzQnlTZXJ2aWNlLmZvckVhY2goY2FzZXdvcmtlckxpc3RCeVNlcnZpY2UgPT4ge1xuICAgICAgICAgIC8vIGZvciBhbnkgbmV3IHNlcnZpY2UsIGVuc3VyZSB0aGF0IHRoZXkgYXJlIHRoZW4gc3RvcmVkIGluIHRoZSBzZXNzaW9uXG4gICAgICAgICAgaWYgKG5ld1NlcnZpY2VzLmluY2x1ZGVzKGNhc2V3b3JrZXJMaXN0QnlTZXJ2aWNlLnNlcnZpY2UpKSB7XG4gICAgICAgICAgICBzZXRDYXNld29ya2VycyhjYXNld29ya2VyTGlzdEJ5U2VydmljZS5zZXJ2aWNlLCBjYXNld29ya2VyTGlzdEJ5U2VydmljZS5jYXNld29ya2VycywgdGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KSxcbiAgICAgIG1hcChjYXNld29ya2Vyc0J5U2VydmljZSA9PiB7XG4gICAgICAgIGNvbnN0IGdpdmVuQ2FzZXdvcmtlcnMgPSBnZXRBbGxDYXNld29ya2Vyc0Zyb21TZXJ2aWNlcyhjYXNld29ya2Vyc0J5U2VydmljZSk7XG4gICAgICAgIHJldHVybiB0aGlzLnNlYXJjaEluQ2FzZXdvcmtlcnMoZ2l2ZW5DYXNld29ya2Vycywgc2VhcmNoT3B0aW9ucyk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbWFwQ2FzZXdvcmtlcnMoY2FzZXdvcmtlcnM6IENhc2V3b3JrZXJbXSwgcm9sZUNhdGVnb3J5OiBzdHJpbmcpOiBQZXJzb25bXSB7XG4gICAgY29uc3QgcGVvcGxlOiBQZXJzb25bXSA9IFtdO1xuICAgIGNhc2V3b3JrZXJzLmZvckVhY2goKGNhc2V3b3JrZXIpID0+IHtcbiAgICAgIGNvbnN0IHRoaXNQZXJzb246IFBlcnNvbiA9IHtcbiAgICAgICAgZW1haWw6IGNhc2V3b3JrZXIuZW1haWwsXG4gICAgICAgIG5hbWU6IGAke2Nhc2V3b3JrZXIuZmlyc3ROYW1lfSAke2Nhc2V3b3JrZXIubGFzdE5hbWV9YCxcbiAgICAgICAgaWQ6IGNhc2V3b3JrZXIuaWRhbUlkLFxuICAgICAgICBkb21haW46IGNhc2V3b3JrZXIucm9sZUNhdGVnb3J5ID09PSBSb2xlQ2F0ZWdvcnkuQ0FTRVdPUktFUiA/IFBlcnNvblJvbGUuQ0FTRVdPUktFUiA6IFBlcnNvblJvbGUuQURNSU4sXG4gICAgICAgIC8vIGtub3duQXMgY2FuIGJlIGFkZGVkIGlmIHJlcXVpcmVkXG4gICAgICB9O1xuICAgICAgaWYgKGNhc2V3b3JrZXIucm9sZUNhdGVnb3J5ID09PSByb2xlQ2F0ZWdvcnkgfHwgcm9sZUNhdGVnb3J5ID09PSBSb2xlQ2F0ZWdvcnkuQUxMKSB7XG4gICAgICAgIHBlb3BsZS5wdXNoKHRoaXNQZXJzb24pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBwZW9wbGU7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoSW5DYXNld29ya2VycyhjYXNld29ya2VyczogQ2FzZXdvcmtlcltdLCBzZWFyY2hPcHRpb25zOiBTZWFyY2hPcHRpb25zKTogUGVyc29uW10ge1xuICAgIGxldCByb2xlQ2F0ZWdvcnkgPSBSb2xlQ2F0ZWdvcnkuQUxMO1xuICAgIGlmICghKHNlYXJjaE9wdGlvbnMudXNlclJvbGUgPT09IFBlcnNvblJvbGUuQUxMKSkge1xuICAgICAgcm9sZUNhdGVnb3J5ID0gc2VhcmNoT3B0aW9ucy51c2VyUm9sZSA9PT0gUGVyc29uUm9sZS5DQVNFV09SS0VSID8gUm9sZUNhdGVnb3J5LkNBU0VXT1JLRVIgOiBSb2xlQ2F0ZWdvcnkuQURNSU47XG4gICAgfVxuICAgIGNvbnN0IHNlYXJjaFRlcm0gPSBzZWFyY2hPcHRpb25zICYmIHNlYXJjaE9wdGlvbnMuc2VhcmNoVGVybSA/IHNlYXJjaE9wdGlvbnMuc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpIDogJyc7XG4gICAgY29uc3QgcGVvcGxlID0gY2FzZXdvcmtlcnMgPyB0aGlzLm1hcENhc2V3b3JrZXJzKGNhc2V3b3JrZXJzLCByb2xlQ2F0ZWdvcnkpIDogW107XG4gICAgY29uc3QgZmluYWxQZW9wbGVMaXN0ID0gcGVvcGxlLmZpbHRlcihwZXJzb24gPT4gcGVyc29uICYmIHBlcnNvbi5uYW1lICYmIHBlcnNvbi5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkpO1xuICAgIHJldHVybiBzZWFyY2hPcHRpb25zLnVzZXJJbmNsdWRlZCA/IGZpbmFsUGVvcGxlTGlzdC5maWx0ZXIocGVyc29uID0+IHBlcnNvbiAmJiBwZXJzb24uaWQgIT09IHRoaXMuYXNzaWduZWRVc2VyKVxuICAgICAgOiBmaW5hbFBlb3BsZUxpc3QuZmlsdGVyKHBlcnNvbiA9PiBwZXJzb24gJiYgcGVyc29uLmlkICE9PSB0aGlzLnVzZXJJZCAmJiBwZXJzb24uaWQgIT09IHRoaXMuYXNzaWduZWRVc2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hKdWRpY2lhbCh2YWx1ZTogc3RyaW5nLCBzZXJ2aWNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SnVkaWNpYWxVc2VyTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxKdWRpY2lhbFVzZXJNb2RlbFtdPignYXBpL3ByZC9qdWRpY2lhbC9nZXRKdWRpY2lhbFVzZXJzU2VhcmNoJyxcbiAgICAgIHsgc2VhcmNoU3RyaW5nOiB2YWx1ZSwgc2VydmljZUNvZGU6IHNlcnZpY2VJZCB9KTtcbiAgfVxufVxuXG4iXX0=
@@ -1,68 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Inject, Injectable } from '@angular/core';
3
- import { Title } from '@angular/platform-browser';
4
- import { NavigationEnd, Router } from '@angular/router';
5
- import { windowToken } from '../../window';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- import * as i2 from "@angular/platform-browser";
9
- import * as i3 from "../../window";
10
- import * as i4 from "@angular/common";
11
- export class GoogleAnalyticsService {
12
- constructor(router, title, window, document) {
13
- this.router = router;
14
- this.title = title;
15
- this.window = window;
16
- this.document = document;
17
- }
18
- init(googleAnalyticsKey) {
19
- this.googleAnalyticsKey = googleAnalyticsKey;
20
- try {
21
- const script1 = this.document.createElement('script');
22
- script1.async = true;
23
- script1.src = `https://www.googletagmanager.com/gtag/js?id=${this.googleAnalyticsKey}`;
24
- this.document.head.appendChild(script1);
25
- const script2 = this.document.createElement('script');
26
- script2.innerHTML = `
27
- window.dataLayer = window.dataLayer || [];
28
- function gtag(){dataLayer.push(arguments);}
29
- gtag('js', new Date());
30
- gtag('config', '${this.googleAnalyticsKey}', {'send_page_view': false});
31
- `;
32
- this.document.head.appendChild(script2);
33
- }
34
- catch (ex) {
35
- console.error('Error appending google analytics');
36
- console.error(ex);
37
- }
38
- this.listenForRouteChanges();
39
- }
40
- listenForRouteChanges() {
41
- if (this.googleAnalyticsKey) {
42
- this.router.events.subscribe(event => {
43
- if (event instanceof NavigationEnd) {
44
- this.window.gtag('config', this.googleAnalyticsKey, {
45
- page_path: event.urlAfterRedirects,
46
- page_title: this.title.getTitle(),
47
- });
48
- }
49
- });
50
- }
51
- }
52
- event(eventName, params) {
53
- this.window.gtag('event', eventName, params);
54
- }
55
- }
56
- GoogleAnalyticsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function GoogleAnalyticsService_Factory() { return new GoogleAnalyticsService(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.Title), i0.ɵɵinject(i3.windowToken), i0.ɵɵinject(i4.DOCUMENT)); }, token: GoogleAnalyticsService, providedIn: "root" });
57
- GoogleAnalyticsService.decorators = [
58
- { type: Injectable, args: [{
59
- providedIn: 'root'
60
- },] }
61
- ];
62
- GoogleAnalyticsService.ctorParameters = () => [
63
- { type: Router },
64
- { type: Title },
65
- { type: undefined, decorators: [{ type: Inject, args: [windowToken,] }] },
66
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
67
- ];
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvZ29vZ2xlLWFuYWx5dGljcy9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7OztBQU0zQyxNQUFNLE9BQU8sc0JBQXNCO0lBTWpDLFlBQ21CLE1BQWMsRUFDZCxLQUFZLEVBQ1IsTUFBVyxFQUNkLFFBQWE7UUFIZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUk3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQWdCLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFvQixDQUFDO0lBRXZDLENBQUM7SUFFTSxJQUFJLENBQUMsa0JBQTBCO1FBQ3BDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJO1lBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdEQsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDckIsT0FBTyxDQUFDLEdBQUcsR0FBRywrQ0FBK0MsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDdkYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRXhDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RELE9BQU8sQ0FBQyxTQUFTLEdBQUc7Ozs7MEJBSUEsSUFBSSxDQUFDLGtCQUFrQjtPQUMxQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3pDO1FBQUMsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7WUFDbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNuQjtRQUNELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLEtBQUssWUFBWSxhQUFhLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxNQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7d0JBQzNELFNBQVMsRUFBRSxLQUFLLENBQUMsaUJBQWlCO3dCQUNsQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7cUJBQ2xDLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQWlCLEVBQUUsTUFBVTtRQUN2QyxJQUFJLENBQUMsTUFBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7Ozs7WUEzREYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFMdUIsTUFBTTtZQURyQixLQUFLOzRDQWlCVCxNQUFNLFNBQUMsV0FBVzs0Q0FDbEIsTUFBTSxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi93aW5kb3cnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuZXhwb3J0IGNsYXNzIEdvb2dsZUFuYWx5dGljc1NlcnZpY2Uge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogV2luZG93O1xuXG4gIHB1YmxpYyBnb29nbGVBbmFseXRpY3NLZXk6IHN0cmluZztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlOiBUaXRsZSxcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSB3aW5kb3c6IGFueSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55LFxuICApIHtcbiAgICB0aGlzLndpbmRvdyA9IHdpbmRvdyBhcyBXaW5kb3c7XG4gICAgdGhpcy5kb2N1bWVudCA9IGRvY3VtZW50IGFzIERvY3VtZW50O1xuXG4gIH1cblxuICBwdWJsaWMgaW5pdChnb29nbGVBbmFseXRpY3NLZXk6IHN0cmluZykge1xuICAgIHRoaXMuZ29vZ2xlQW5hbHl0aWNzS2V5ID0gZ29vZ2xlQW5hbHl0aWNzS2V5O1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzY3JpcHQxID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjcmlwdDEuYXN5bmMgPSB0cnVlO1xuICAgICAgc2NyaXB0MS5zcmMgPSBgaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD0ke3RoaXMuZ29vZ2xlQW5hbHl0aWNzS2V5fWA7XG4gICAgICB0aGlzLmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0MSk7XG5cbiAgICAgIGNvbnN0IHNjcmlwdDIgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgc2NyaXB0Mi5pbm5lckhUTUwgPSBgXG4gICAgICAgIHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdO1xuICAgICAgICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9XG4gICAgICAgIGd0YWcoJ2pzJywgbmV3IERhdGUoKSk7XG4gICAgICAgIGd0YWcoJ2NvbmZpZycsICcke3RoaXMuZ29vZ2xlQW5hbHl0aWNzS2V5fScsIHsnc2VuZF9wYWdlX3ZpZXcnOiBmYWxzZX0pO1xuICAgICAgYDtcbiAgICAgIHRoaXMuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQyKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgYXBwZW5kaW5nIGdvb2dsZSBhbmFseXRpY3MnKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXgpO1xuICAgIH1cbiAgICB0aGlzLmxpc3RlbkZvclJvdXRlQ2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Gb3JSb3V0ZUNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuZ29vZ2xlQW5hbHl0aWNzS2V5KSB7XG4gICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICh0aGlzLndpbmRvdyBhcyBhbnkpLmd0YWcoJ2NvbmZpZycsIHRoaXMuZ29vZ2xlQW5hbHl0aWNzS2V5LCB7XG4gICAgICAgICAgICBwYWdlX3BhdGg6IGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzLFxuICAgICAgICAgICAgcGFnZV90aXRsZTogdGhpcy50aXRsZS5nZXRUaXRsZSgpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZXZlbnQoZXZlbnROYW1lOiBzdHJpbmcsIHBhcmFtczoge30pIHtcbiAgICAodGhpcy53aW5kb3cgYXMgYW55KS5ndGFnKCdldmVudCcsIGV2ZW50TmFtZSwgcGFyYW1zKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,71 +0,0 @@
1
- import { DOCUMENT } from '@angular/common';
2
- import { Inject, Injectable } from '@angular/core';
3
- import { Title } from '@angular/platform-browser';
4
- import { NavigationEnd, Router } from '@angular/router';
5
- import { windowToken } from '../../window';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- import * as i2 from "@angular/platform-browser";
9
- import * as i3 from "../../window";
10
- import * as i4 from "@angular/common";
11
- export class GoogleTagManagerService {
12
- constructor(router, title, window, document) {
13
- this.router = router;
14
- this.title = title;
15
- this.window = window;
16
- this.document = document;
17
- }
18
- init(googleTagManagerKey) {
19
- this.googleTagManagerKey = googleTagManagerKey;
20
- try {
21
- this.window.dataLayer = this.window.dataLayer || [];
22
- this.window.dataLayer.push({
23
- 'gtm.start': new Date().getTime(),
24
- event: 'gtm.js'
25
- });
26
- const script = this.document.createElement('script');
27
- script.async = true;
28
- script.src = `https://www.googletagmanager.com/gtm.js?id=${this.googleTagManagerKey}`;
29
- this.document.head.appendChild(script);
30
- }
31
- catch (ex) {
32
- console.error('Error appending google tag manager');
33
- console.error(ex);
34
- }
35
- this.listenForRouteChanges();
36
- }
37
- listenForRouteChanges() {
38
- if (this.googleTagManagerKey) {
39
- this.router.events.subscribe(event => {
40
- if (event instanceof NavigationEnd) {
41
- this.window.dataLayer.push({
42
- event: 'pageview',
43
- page: {
44
- path: event.urlAfterRedirects,
45
- title: this.title.getTitle()
46
- }
47
- });
48
- }
49
- });
50
- }
51
- }
52
- event(eventName, params) {
53
- this.window.dataLayer.push({
54
- event: eventName,
55
- params
56
- });
57
- }
58
- }
59
- GoogleTagManagerService.ɵprov = i0.ɵɵdefineInjectable({ factory: function GoogleTagManagerService_Factory() { return new GoogleTagManagerService(i0.ɵɵinject(i1.Router), i0.ɵɵinject(i2.Title), i0.ɵɵinject(i3.windowToken), i0.ɵɵinject(i4.DOCUMENT)); }, token: GoogleTagManagerService, providedIn: "root" });
60
- GoogleTagManagerService.decorators = [
61
- { type: Injectable, args: [{
62
- providedIn: 'root'
63
- },] }
64
- ];
65
- GoogleTagManagerService.ctorParameters = () => [
66
- { type: Router },
67
- { type: Title },
68
- { type: undefined, decorators: [{ type: Inject, args: [windowToken,] }] },
69
- { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
70
- ];
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXRhZy1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy9nb29nbGUtdGFnLW1hbmFnZXIvZ29vZ2xlLXRhZy1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7OztBQUszQyxNQUFNLE9BQU8sdUJBQXVCO0lBS2xDLFlBQ21CLE1BQWMsRUFDZCxLQUFZLEVBQ1IsTUFBVyxFQUNkLFFBQWE7UUFIZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUk3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQWdCLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFvQixDQUFDO0lBQ3ZDLENBQUM7SUFFTSxJQUFJLENBQUMsbUJBQTJCO1FBQ3JDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztRQUMvQyxJQUFJO1lBRUQsSUFBSSxDQUFDLE1BQWMsQ0FBQyxTQUFTLEdBQUksSUFBSSxDQUFDLE1BQWMsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxNQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDbEMsV0FBVyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFO2dCQUNqQyxLQUFLLEVBQUUsUUFBUTthQUNoQixDQUFDLENBQUM7WUFFSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyRCxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNwQixNQUFNLENBQUMsR0FBRyxHQUFHLDhDQUE4QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUN0RixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7U0FFeEM7UUFBQyxPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztZQUNwRCxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ25DLElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtvQkFDakMsSUFBSSxDQUFDLE1BQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO3dCQUNsQyxLQUFLLEVBQUUsVUFBVTt3QkFDakIsSUFBSSxFQUFFOzRCQUNKLElBQUksRUFBRSxLQUFLLENBQUMsaUJBQWlCOzRCQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7eUJBQzdCO3FCQUNGLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQWlCLEVBQUUsTUFBVTtRQUN2QyxJQUFJLENBQUMsTUFBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDbEMsS0FBSyxFQUFFLFNBQVM7WUFDaEIsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7WUE3REYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFMdUIsTUFBTTtZQURyQixLQUFLOzRDQWVULE1BQU0sU0FBQyxXQUFXOzRDQUNsQixNQUFNLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEdvb2dsZVRhZ01hbmFnZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBXaW5kb3c7XG5cbiAgcHVibGljIGdvb2dsZVRhZ01hbmFnZXJLZXk6IHN0cmluZztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlOiBUaXRsZSxcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSB3aW5kb3c6IGFueSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55XG4gICkge1xuICAgIHRoaXMud2luZG93ID0gd2luZG93IGFzIFdpbmRvdztcbiAgICB0aGlzLmRvY3VtZW50ID0gZG9jdW1lbnQgYXMgRG9jdW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgaW5pdChnb29nbGVUYWdNYW5hZ2VyS2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLmdvb2dsZVRhZ01hbmFnZXJLZXkgPSBnb29nbGVUYWdNYW5hZ2VyS2V5O1xuICAgIHRyeSB7XG5cbiAgICAgICh0aGlzLndpbmRvdyBhcyBhbnkpLmRhdGFMYXllciA9ICh0aGlzLndpbmRvdyBhcyBhbnkpLmRhdGFMYXllciB8fCBbXTtcbiAgICAgICh0aGlzLndpbmRvdyBhcyBhbnkpLmRhdGFMYXllci5wdXNoKHtcbiAgICAgICAgJ2d0bS5zdGFydCc6IG5ldyBEYXRlKCkuZ2V0VGltZSgpLFxuICAgICAgICBldmVudDogJ2d0bS5qcydcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcbiAgICAgIHNjcmlwdC5zcmMgPSBgaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPSR7dGhpcy5nb29nbGVUYWdNYW5hZ2VyS2V5fWA7XG4gICAgICB0aGlzLmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcblxuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBhcHBlbmRpbmcgZ29vZ2xlIHRhZyBtYW5hZ2VyJyk7XG4gICAgICBjb25zb2xlLmVycm9yKGV4KTtcbiAgICB9XG4gICAgdGhpcy5saXN0ZW5Gb3JSb3V0ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRm9yUm91dGVDaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLmdvb2dsZVRhZ01hbmFnZXJLZXkpIHtcbiAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgKHRoaXMud2luZG93IGFzIGFueSkuZGF0YUxheWVyLnB1c2goe1xuICAgICAgICAgICAgZXZlbnQ6ICdwYWdldmlldycsXG4gICAgICAgICAgICBwYWdlOiB7XG4gICAgICAgICAgICAgIHBhdGg6IGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzLFxuICAgICAgICAgICAgICB0aXRsZTogdGhpcy50aXRsZS5nZXRUaXRsZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBldmVudChldmVudE5hbWU6IHN0cmluZywgcGFyYW1zOiB7fSkge1xuICAgICh0aGlzLndpbmRvdyBhcyBhbnkpLmRhdGFMYXllci5wdXNoKHtcbiAgICAgIGV2ZW50OiBldmVudE5hbWUsXG4gICAgICBwYXJhbXNcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,39 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common/http";
5
- export class LocationService {
6
- constructor(http) {
7
- this.http = http;
8
- }
9
- /**
10
- * @description getAllLocations from service Ids/location type/search term
11
- * @param serviceIds: SSCS | SSCS,IA split with ','
12
- * @param locationType: optional | hearing | case_management
13
- * @param searchTerm: any search term for postcode | site name | venue name |court name | court address etc.
14
- * @return Observable<LocationByEPIMMSModel[]>: Array of locationModel in Observable
15
- */
16
- getAllLocations(serviceIds, locationType, searchTerm) {
17
- return this.http.get(`api/locations/getLocations?serviceIds=${serviceIds}&locationType=${locationType}&searchTerm=${searchTerm}`);
18
- }
19
- /**
20
- * @description searchLocations from service Ids/location type/search term
21
- * @param serviceIds: BBA3 | BBA3,BFA1 split with ','
22
- * @param locationType: optional | hearing | case_management
23
- * @param searchTerm: any search term for postcode | site name | venue name |court name | court address etc.
24
- * @return Observable<LocationByEPIMMSModel[]>: Array of locationModel in Observable
25
- */
26
- searchLocations(serviceIds, locationType, searchTerm) {
27
- return this.http.get(`api/prd/location/getLocations?serviceIds=${serviceIds}&locationType=${locationType}&searchTerm=${searchTerm}`);
28
- }
29
- }
30
- LocationService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocationService_Factory() { return new LocationService(i0.ɵɵinject(i1.HttpClient)); }, token: LocationService, providedIn: "root" });
31
- LocationService.decorators = [
32
- { type: Injectable, args: [{
33
- providedIn: 'root'
34
- },] }
35
- ];
36
- LocationService.ctorParameters = () => [
37
- { type: HttpClient }
38
- ];
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL2xvY2F0aW9ucy9sb2NhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFPekMsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFBNkIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUM3QyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksZUFBZSxDQUFDLFVBQWtCLEVBQUUsWUFBb0IsRUFBRSxVQUFrQjtRQUNqRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUEwQix5Q0FBeUMsVUFBVSxpQkFBaUIsWUFBWSxlQUFlLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDN0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGVBQWUsQ0FBQyxVQUFrQixFQUFFLFlBQW9CLEVBQUUsVUFBa0I7UUFDL0UsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBMEIsNENBQTRDLFVBQVUsaUJBQWlCLFlBQVksZUFBZSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQ2xLLENBQUM7Ozs7WUE1QkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFQTyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TG9jYXRpb25CeUVQSU1NU01vZGVsfSBmcm9tICcuLi8uLi9tb2RlbHMvbG9jYXRpb24ubW9kZWwnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMb2NhdGlvblNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCkge1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBnZXRBbGxMb2NhdGlvbnMgZnJvbSBzZXJ2aWNlIElkcy9sb2NhdGlvbiB0eXBlL3NlYXJjaCB0ZXJtXG4gICAqIEBwYXJhbSBzZXJ2aWNlSWRzOiBTU0NTIHwgU1NDUyxJQSBzcGxpdCB3aXRoICcsJ1xuICAgKiBAcGFyYW0gbG9jYXRpb25UeXBlOiBvcHRpb25hbCB8IGhlYXJpbmcgfCBjYXNlX21hbmFnZW1lbnRcbiAgICogQHBhcmFtIHNlYXJjaFRlcm06IGFueSBzZWFyY2ggdGVybSBmb3IgcG9zdGNvZGUgfCBzaXRlIG5hbWUgfCB2ZW51ZSBuYW1lIHxjb3VydCBuYW1lIHwgY291cnQgYWRkcmVzcyBldGMuXG4gICAqIEByZXR1cm4gT2JzZXJ2YWJsZTxMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXT46IEFycmF5IG9mIGxvY2F0aW9uTW9kZWwgaW4gT2JzZXJ2YWJsZVxuICAgKi9cbiAgcHVibGljIGdldEFsbExvY2F0aW9ucyhzZXJ2aWNlSWRzOiBzdHJpbmcsIGxvY2F0aW9uVHlwZTogc3RyaW5nLCBzZWFyY2hUZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPExvY2F0aW9uQnlFUElNTVNNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TG9jYXRpb25CeUVQSU1NU01vZGVsW10+KGBhcGkvbG9jYXRpb25zL2dldExvY2F0aW9ucz9zZXJ2aWNlSWRzPSR7c2VydmljZUlkc30mbG9jYXRpb25UeXBlPSR7bG9jYXRpb25UeXBlfSZzZWFyY2hUZXJtPSR7c2VhcmNoVGVybX1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gc2VhcmNoTG9jYXRpb25zIGZyb20gc2VydmljZSBJZHMvbG9jYXRpb24gdHlwZS9zZWFyY2ggdGVybVxuICAgKiBAcGFyYW0gc2VydmljZUlkczogQkJBMyB8IEJCQTMsQkZBMSBzcGxpdCB3aXRoICcsJ1xuICAgKiBAcGFyYW0gbG9jYXRpb25UeXBlOiBvcHRpb25hbCB8IGhlYXJpbmcgfCBjYXNlX21hbmFnZW1lbnRcbiAgICogQHBhcmFtIHNlYXJjaFRlcm06IGFueSBzZWFyY2ggdGVybSBmb3IgcG9zdGNvZGUgfCBzaXRlIG5hbWUgfCB2ZW51ZSBuYW1lIHxjb3VydCBuYW1lIHwgY291cnQgYWRkcmVzcyBldGMuXG4gICAqIEByZXR1cm4gT2JzZXJ2YWJsZTxMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXT46IEFycmF5IG9mIGxvY2F0aW9uTW9kZWwgaW4gT2JzZXJ2YWJsZVxuICAgKi9cbiAgcHVibGljIHNlYXJjaExvY2F0aW9ucyhzZXJ2aWNlSWRzOiBzdHJpbmcsIGxvY2F0aW9uVHlwZTogc3RyaW5nLCBzZWFyY2hUZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPExvY2F0aW9uQnlFUElNTVNNb2RlbFtdPiB7XG4gICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXT4oYGFwaS9wcmQvbG9jYXRpb24vZ2V0TG9jYXRpb25zP3NlcnZpY2VJZHM9JHtzZXJ2aWNlSWRzfSZsb2NhdGlvblR5cGU9JHtsb2NhdGlvblR5cGV9JnNlYXJjaFRlcm09JHtzZWFyY2hUZXJtfWApO1xuICB9XG59XG4iXX0=
@@ -1,16 +0,0 @@
1
- /*
2
- * Public API Surface of exui-common-lib
3
- */
4
- export * from './feature-toggle/feature-toggle.guard';
5
- export * from './feature-toggle/feature-toggle.service';
6
- export * from './feature-toggle/launch-darkly.service';
7
- export * from './google-analytics/google-analytics.service';
8
- export * from './google-tag-manager/google-tag-manager.service';
9
- export * from './manage-session/manage-session.services';
10
- export * from './timeout-notifications/timeout-notifications.service';
11
- export * from './role-guard/role.guard';
12
- export * from './role-guard/role.service';
13
- export * from './cookie/cookie.service';
14
- export * from './loading/loading.service';
15
- export * from './filter/filter.service';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgZXh1aS1jb21tb24tbGliXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS10b2dnbGUvZmVhdHVyZS10b2dnbGUuZ3VhcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLXRvZ2dsZS9mZWF0dXJlLXRvZ2dsZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmVhdHVyZS10b2dnbGUvbGF1bmNoLWRhcmtseS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZ29vZ2xlLWFuYWx5dGljcy9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9nb29nbGUtdGFnLW1hbmFnZXIvZ29vZ2xlLXRhZy1tYW5hZ2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tYW5hZ2Utc2Vzc2lvbi9tYW5hZ2Utc2Vzc2lvbi5zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3RpbWVvdXQtbm90aWZpY2F0aW9ucy90aW1lb3V0LW5vdGlmaWNhdGlvbnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3JvbGUtZ3VhcmQvcm9sZS5ndWFyZCc7XG5leHBvcnQgKiBmcm9tICcuL3JvbGUtZ3VhcmQvcm9sZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29va2llL2Nvb2tpZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGluZy9sb2FkaW5nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXIvZmlsdGVyLnNlcnZpY2UnO1xuIl19
@@ -1,37 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Router } from '@angular/router';
3
- import { RoleService } from './role.service';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "./role.service";
6
- import * as i2 from "@angular/router";
7
- export var RoleMatching;
8
- (function (RoleMatching) {
9
- RoleMatching[RoleMatching["ALL"] = 0] = "ALL";
10
- RoleMatching[RoleMatching["ANY"] = 1] = "ANY";
11
- })(RoleMatching || (RoleMatching = {}));
12
- export class RoleGuard {
13
- constructor(roleService, router) {
14
- this.roleService = roleService;
15
- this.router = router;
16
- }
17
- canActivate(route) {
18
- const roles = route.data.needsRole;
19
- const check = (roleRegEx) => {
20
- const regex = new RegExp(roleRegEx);
21
- return this.roleService.roles.some(role => regex.test(role));
22
- };
23
- const match = route.data.roleMatching === RoleMatching.ALL ? roles.every(check) : roles.some(check);
24
- return match || this.router.parseUrl(route.data.noRoleMatchRedirect);
25
- }
26
- }
27
- RoleGuard.ɵprov = i0.ɵɵdefineInjectable({ factory: function RoleGuard_Factory() { return new RoleGuard(i0.ɵɵinject(i1.RoleService), i0.ɵɵinject(i2.Router)); }, token: RoleGuard, providedIn: "root" });
28
- RoleGuard.decorators = [
29
- { type: Injectable, args: [{
30
- providedIn: 'root'
31
- },] }
32
- ];
33
- RoleGuard.ctorParameters = () => [
34
- { type: RoleService },
35
- { type: Router }
36
- ];
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL3NlcnZpY2VzL3JvbGUtZ3VhcmQvcm9sZS5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBdUMsTUFBTSxFQUFXLE1BQU0saUJBQWlCLENBQUM7QUFDdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRTdDLE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDcEIsNkNBQUcsQ0FBQTtJQUNILDZDQUFHLENBQUE7QUFDUCxDQUFDLEVBSFcsWUFBWSxLQUFaLFlBQVksUUFHdkI7QUFLRCxNQUFNLE9BQU8sU0FBUztJQUVsQixZQUNxQixXQUF3QixFQUN4QixNQUFjO1FBRGQsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUNoQyxDQUFDO0lBRUcsV0FBVyxDQUFDLEtBQTZCO1FBQzVDLE1BQU0sS0FBSyxHQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBc0IsQ0FBQztRQUNqRCxNQUFNLEtBQUssR0FBRyxDQUFDLFNBQWlCLEVBQUUsRUFBRTtZQUNoQyxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNwQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUM7UUFDRixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBHLE9BQU8sS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsbUJBQTZCLENBQUMsQ0FBQztJQUNuRixDQUFDOzs7O1lBbkJKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBVE0sV0FBVztZQUQwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlciwgVXJsVHJlZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBSb2xlU2VydmljZSB9IGZyb20gJy4vcm9sZS5zZXJ2aWNlJztcblxuZXhwb3J0IGVudW0gUm9sZU1hdGNoaW5nIHtcbiAgICBBTEwsXG4gICAgQU5ZXG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbiAgfSlcbmV4cG9ydCBjbGFzcyBSb2xlR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcm9sZVNlcnZpY2U6IFJvbGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGNhbkFjdGl2YXRlKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogYm9vbGVhbiB8IFVybFRyZWUge1xuICAgICAgICBjb25zdCByb2xlcyA9IChyb3V0ZS5kYXRhLm5lZWRzUm9sZSBhcyBzdHJpbmdbXSk7XG4gICAgICAgIGNvbnN0IGNoZWNrID0gKHJvbGVSZWdFeDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAocm9sZVJlZ0V4KTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvbGVTZXJ2aWNlLnJvbGVzLnNvbWUocm9sZSA9PiByZWdleC50ZXN0KHJvbGUpKTtcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgbWF0Y2ggPSByb3V0ZS5kYXRhLnJvbGVNYXRjaGluZyA9PT0gUm9sZU1hdGNoaW5nLkFMTCA/IHJvbGVzLmV2ZXJ5KGNoZWNrKSA6IHJvbGVzLnNvbWUoY2hlY2spO1xuXG4gICAgICAgIHJldHVybiBtYXRjaCB8fCB0aGlzLnJvdXRlci5wYXJzZVVybChyb3V0ZS5kYXRhLm5vUm9sZU1hdGNoUmVkaXJlY3QgYXMgc3RyaW5nKTtcbiAgICB9XG59XG4iXX0=
@@ -1,20 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class RoleService {
4
- constructor() {
5
- this.pRoles = [];
6
- }
7
- get roles() {
8
- return this.pRoles;
9
- }
10
- set roles(roles) {
11
- this.pRoles = roles;
12
- }
13
- }
14
- RoleService.ɵprov = i0.ɵɵdefineInjectable({ factory: function RoleService_Factory() { return new RoleService(); }, token: RoleService, providedIn: "root" });
15
- RoleService.decorators = [
16
- { type: Injectable, args: [{
17
- providedIn: 'root'
18
- },] }
19
- ];
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvcm9sZS1ndWFyZC9yb2xlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTM0MsTUFBTSxPQUFPLFdBQVc7SUFIeEI7UUFJWSxXQUFNLEdBQVUsRUFBRSxDQUFDO0tBUzlCO0lBUEcsSUFBVyxLQUFLO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLEtBQUssQ0FBQyxLQUFZO1FBQ3pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7Ozs7WUFaSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIHVzZSB0eXBlcyBzbyB3ZSBjYW4gbW92ZSB0byBzdHJpY3RlZCB0eXBpbmcgbGF0ZXIgb25cbmV4cG9ydCB0eXBlIFJvbGUgPSBzdHJpbmc7XG5leHBvcnQgdHlwZSBSb2xlcyA9IFJvbGVbXTtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xuICB9KVxuZXhwb3J0IGNsYXNzIFJvbGVTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHBSb2xlczogUm9sZXMgPSBbXTtcblxuICAgIHB1YmxpYyBnZXQgcm9sZXMoKTogUm9sZXMge1xuICAgICAgICByZXR1cm4gdGhpcy5wUm9sZXM7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCByb2xlcyhyb2xlczogUm9sZXMpIHtcbiAgICAgICAgdGhpcy5wUm9sZXMgPSByb2xlcztcbiAgICB9XG59XG4iXX0=
@@ -1,41 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class SessionStorageService {
4
- /**
5
- * Get an item from the session storage.
6
- * If remove is true, the item will be removed once read
7
- * @param removeAfterRead removed the key once it has been read
8
- */
9
- getItem(key, removeAfterRead = false) {
10
- const item = sessionStorage.getItem(key);
11
- if (removeAfterRead) {
12
- this.removeItem(key);
13
- }
14
- return item;
15
- }
16
- /**
17
- * Set an item in the session storage.
18
- */
19
- setItem(key, value) {
20
- sessionStorage.setItem(key, value);
21
- }
22
- /**
23
- * Remove an item in the session storage.
24
- */
25
- removeItem(key) {
26
- sessionStorage.removeItem(key);
27
- }
28
- /**
29
- * Clear all the items held in session storage.
30
- */
31
- clear() {
32
- sessionStorage.clear();
33
- }
34
- }
35
- SessionStorageService.ɵprov = i0.ɵɵdefineInjectable({ factory: function SessionStorageService_Factory() { return new SessionStorageService(); }, token: SessionStorageService, providedIn: "root" });
36
- SessionStorageService.decorators = [
37
- { type: Injectable, args: [{
38
- providedIn: 'root'
39
- },] }
40
- ];
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zZXNzaW9uLXN0b3JhZ2Uvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQzs7OztPQUlHO0lBQ0ksT0FBTyxDQUFDLEdBQVcsRUFBRSxrQkFBMkIsS0FBSztRQUMxRCxNQUFNLElBQUksR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXpDLElBQUksZUFBZSxFQUFFO1lBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUFFO1FBRTlDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksT0FBTyxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQ3ZDLGNBQWMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVUsQ0FBQyxHQUFXO1FBQzNCLGNBQWMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSztRQUNWLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDOzs7O1lBckNGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIHtcblxuICAvKipcbiAgICogR2V0IGFuIGl0ZW0gZnJvbSB0aGUgc2Vzc2lvbiBzdG9yYWdlLlxuICAgKiBJZiByZW1vdmUgaXMgdHJ1ZSwgdGhlIGl0ZW0gd2lsbCBiZSByZW1vdmVkIG9uY2UgcmVhZFxuICAgKiBAcGFyYW0gcmVtb3ZlQWZ0ZXJSZWFkIHJlbW92ZWQgdGhlIGtleSBvbmNlIGl0IGhhcyBiZWVuIHJlYWRcbiAgICovXG4gIHB1YmxpYyBnZXRJdGVtKGtleTogc3RyaW5nLCByZW1vdmVBZnRlclJlYWQ6IGJvb2xlYW4gPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgY29uc3QgaXRlbSA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oa2V5KTtcblxuICAgIGlmIChyZW1vdmVBZnRlclJlYWQpIHsgdGhpcy5yZW1vdmVJdGVtKGtleSk7IH1cblxuICAgIHJldHVybiBpdGVtO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBhbiBpdGVtIGluIHRoZSBzZXNzaW9uIHN0b3JhZ2UuXG4gICAqL1xuICBwdWJsaWMgc2V0SXRlbShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGFuIGl0ZW0gaW4gdGhlIHNlc3Npb24gc3RvcmFnZS5cbiAgICovXG4gIHB1YmxpYyByZW1vdmVJdGVtKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgc2Vzc2lvblN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIGFsbCB0aGUgaXRlbXMgaGVsZCBpbiBzZXNzaW9uIHN0b3JhZ2UuXG4gICAqL1xuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcbiAgfVxufVxuIl19