@hmcts/rpx-xui-common-lib 2.0.0-rc.3 → 2.1.0-angular-upgrade-11

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 (282) hide show
  1. package/bundles/hmcts-rpx-xui-common-lib.umd.js +3788 -3772
  2. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
  3. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
  4. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
  5. package/esm2015/hmcts-rpx-xui-common-lib.js +59 -50
  6. package/esm2015/lib/components/accessibility/accessibility.component.js +2 -8
  7. package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +14 -112
  8. package/esm2015/lib/components/contact-details/contact-details.component.js +2 -12
  9. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +68 -0
  10. package/esm2015/lib/components/due-date/due-date.component.js +7 -102
  11. package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +7 -21
  12. package/esm2015/lib/components/find-location/find-location.component.js +120 -0
  13. package/esm2015/lib/components/find-person/find-person.component.js +118 -0
  14. package/esm2015/lib/components/generic-filter/generic-filter-utils.js +21 -0
  15. package/esm2015/lib/components/generic-filter/generic-filter.component.js +381 -0
  16. package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +3 -18
  17. package/esm2015/lib/components/index.js +2 -7
  18. package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +2 -22
  19. package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +2 -21
  20. package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +7 -45
  21. package/esm2015/lib/components/pagination/pagination.component.js +28 -0
  22. package/esm2015/lib/components/public_api.js +33 -30
  23. package/esm2015/lib/components/search-judicials/search-judicials.component.js +126 -0
  24. package/esm2015/lib/components/search-location/search-location.component.js +114 -0
  25. package/esm2015/lib/components/search-venue/search-venue.component.js +123 -0
  26. package/esm2015/lib/components/selected-case/selected-case.component.js +20 -176
  27. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +6 -51
  28. package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +3 -52
  29. package/esm2015/lib/components/service-message/service-message.component.js +2 -20
  30. package/esm2015/lib/components/service-messages/service-messages.component.js +8 -66
  31. package/esm2015/lib/components/share-case/share-case.component.js +7 -88
  32. package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +4 -37
  33. package/esm2015/lib/components/tab/tab.component.js +2 -26
  34. package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +2 -17
  35. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +2 -8
  36. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +2 -8
  37. package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +2 -12
  38. package/esm2015/lib/components/user-details/user-details.component.js +2 -39
  39. package/esm2015/lib/components/user-list/user-list.component.js +15 -19
  40. package/esm2015/lib/components/user-select/user-select.component.js +5 -52
  41. package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +3 -56
  42. package/esm2015/lib/directives/index.js +2 -7
  43. package/esm2015/lib/directives/let/let.directive.js +1 -39
  44. package/esm2015/lib/directives/public-api.js +3 -8
  45. package/esm2015/lib/exui-common-lib.module.js +33 -34
  46. package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +2 -22
  47. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +2 -13
  48. package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +49 -27
  49. package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +2 -14
  50. package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +2 -17
  51. package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +2 -24
  52. package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +2 -16
  53. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +3 -23
  54. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +2 -12
  55. package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +6 -24
  56. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +2 -13
  57. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +2 -21
  58. package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +2 -32
  59. package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +2 -18
  60. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +2 -14
  61. package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +2 -44
  62. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +2 -16
  63. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +2 -36
  64. package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +28 -0
  65. package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +2 -22
  66. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +4 -26
  67. package/esm2015/lib/gov-ui/components/index.js +2 -7
  68. package/esm2015/lib/gov-ui/components/public_api.js +22 -26
  69. package/esm2015/lib/gov-ui/directives/remove-host.directive.js +1 -22
  70. package/esm2015/lib/gov-ui/gov-ui.service.js +2 -8
  71. package/esm2015/lib/gov-ui/index.js +2 -7
  72. package/esm2015/lib/gov-ui/models/banner-data-model.js +2 -16
  73. package/esm2015/lib/gov-ui/models/checkboxes-model.js +2 -22
  74. package/esm2015/lib/gov-ui/models/error-messages-model.js +2 -16
  75. package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +2 -36
  76. package/esm2015/lib/gov-ui/models/index.js +2 -7
  77. package/esm2015/lib/gov-ui/models/isession-storage.interface.js +2 -0
  78. package/esm2015/lib/gov-ui/models/public_api.js +5 -10
  79. package/esm2015/lib/gov-ui/public_api.js +5 -11
  80. package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +4 -14
  81. package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +22 -0
  82. package/esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js +5 -24
  83. package/esm2015/lib/gov-ui/validators/date.validator.js +3 -20
  84. package/esm2015/lib/gov-ui/validators/index.js +2 -7
  85. package/esm2015/lib/gov-ui/validators/public_api.js +4 -9
  86. package/esm2015/lib/gov-ui/validators/radio-group.validator.js +3 -15
  87. package/esm2015/lib/models/case-share.model.js +2 -26
  88. package/esm2015/lib/models/contact-details.model.js +7 -31
  89. package/esm2015/lib/models/due-date.model.js +7 -14
  90. package/esm2015/lib/models/feature-user.js +1 -16
  91. package/esm2015/lib/models/filter.model.js +3 -0
  92. package/esm2015/lib/models/idle-config.model.js +2 -20
  93. package/esm2015/lib/models/index.js +14 -7
  94. package/esm2015/lib/models/location.model.js +2 -0
  95. package/esm2015/lib/models/pagination.model.js +2 -0
  96. package/esm2015/lib/models/person.model.js +17 -0
  97. package/esm2015/lib/models/public_api.js +6 -15
  98. package/esm2015/lib/models/search-options.model.js +2 -0
  99. package/esm2015/lib/models/tcDocument.model.js +2 -18
  100. package/esm2015/lib/models/timeout-notification.model.js +2 -18
  101. package/esm2015/lib/models/user-details.model.js +2 -22
  102. package/esm2015/lib/models/user.model.js +2 -25
  103. package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +9 -84
  104. package/esm2015/lib/services/cookie/cookie.service.js +47 -0
  105. package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +10 -43
  106. package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +3 -28
  107. package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +20 -95
  108. package/esm2015/lib/services/filter/filter.service.js +64 -0
  109. package/esm2015/lib/services/find-person/find-person.service.js +106 -0
  110. package/esm2015/lib/services/google-analytics/google-analytics.service.js +8 -63
  111. package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +10 -64
  112. package/esm2015/lib/services/index.js +2 -7
  113. package/esm2015/lib/services/loading/loading.service.js +10 -50
  114. package/esm2015/lib/services/locations/location.service.js +39 -0
  115. package/esm2015/lib/services/manage-session/manage-session.services.js +11 -64
  116. package/esm2015/lib/services/public-api.js +13 -17
  117. package/esm2015/lib/services/role-guard/role.guard.js +12 -53
  118. package/esm2015/lib/services/role-guard/role.service.js +2 -21
  119. package/esm2015/lib/services/session-storage/session-storage.service.js +41 -0
  120. package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +10 -76
  121. package/esm2015/lib/window.js +1 -10
  122. package/esm2015/public-api.js +8 -13
  123. package/fesm2015/hmcts-rpx-xui-common-lib.js +1862 -1835
  124. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
  125. package/hmcts-rpx-xui-common-lib.d.ts +57 -43
  126. package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
  127. package/lib/components/checkbox-list/checkbox-list.component.d.ts +6 -5
  128. package/lib/components/cookie-banner/cookie-banner.component.d.ts +20 -0
  129. package/lib/components/due-date/due-date.component.d.ts +4 -4
  130. package/lib/components/find-location/find-location.component.d.ts +33 -0
  131. package/lib/components/find-person/find-person.component.d.ts +40 -0
  132. package/lib/components/generic-filter/generic-filter-utils.d.ts +8 -0
  133. package/lib/components/generic-filter/generic-filter.component.d.ts +42 -0
  134. package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +1 -1
  135. package/lib/components/invite-user-form/invite-user-form.component.d.ts +2 -2
  136. package/lib/components/loading-spinner/loading-spinner.component.d.ts +1 -7
  137. package/lib/components/pagination/pagination.component.d.ts +10 -0
  138. package/lib/components/public_api.d.ts +12 -4
  139. package/lib/components/search-judicials/search-judicials.component.d.ts +37 -0
  140. package/lib/components/search-location/search-location.component.d.ts +40 -0
  141. package/lib/components/search-venue/search-venue.component.d.ts +37 -0
  142. package/lib/components/user-list/user-list.component.d.ts +9 -2
  143. package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +1 -1
  144. package/lib/directives/let/let.directive.d.ts +1 -1
  145. package/lib/exui-common-lib.module.d.ts +11 -11
  146. package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +8 -0
  147. package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +1 -1
  148. package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +1 -1
  149. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +1 -1
  150. package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +10 -0
  151. package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +1 -1
  152. package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +2 -0
  153. package/lib/gov-ui/components/public_api.d.ts +20 -19
  154. package/lib/gov-ui/models/isession-storage.interface.d.ts +4 -0
  155. package/lib/gov-ui/public_api.d.ts +1 -2
  156. package/lib/gov-ui/util/session-storage/session-storage-utils.d.ts +6 -0
  157. package/lib/models/due-date.model.d.ts +1 -1
  158. package/lib/models/filter.model.d.ts +65 -0
  159. package/lib/models/index.d.ts +12 -0
  160. package/lib/models/location.model.d.ts +49 -0
  161. package/lib/models/pagination.model.d.ts +5 -0
  162. package/lib/models/person.model.d.ts +43 -0
  163. package/lib/models/public_api.d.ts +2 -6
  164. package/lib/models/search-options.model.d.ts +8 -0
  165. package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +1 -1
  166. package/lib/services/cookie/cookie.service.d.ts +9 -0
  167. package/lib/services/feature-toggle/feature-toggle.service.d.ts +1 -1
  168. package/lib/services/feature-toggle/launch-darkly.service.d.ts +4 -5
  169. package/lib/services/filter/filter.service.d.ts +15 -0
  170. package/lib/services/find-person/find-person.service.d.ts +17 -0
  171. package/lib/services/loading/loading.service.d.ts +2 -2
  172. package/lib/services/locations/location.service.d.ts +23 -0
  173. package/lib/services/public-api.d.ts +4 -3
  174. package/lib/services/role-guard/role.service.d.ts +2 -1
  175. package/lib/services/session-storage/session-storage.service.d.ts +20 -0
  176. package/lib/window.d.ts +2 -2
  177. package/package.json +8 -16
  178. package/public-api.d.ts +2 -2
  179. package/esm2015/lib/gov-ui/directives/index.js +0 -7
  180. package/esm2015/lib/gov-ui/directives/public_api.js +0 -7
  181. package/esm5/hmcts-rpx-xui-common-lib.js +0 -59
  182. package/esm5/lib/components/accessibility/accessibility.component.js +0 -22
  183. package/esm5/lib/components/checkbox-list/checkbox-list.component.js +0 -391
  184. package/esm5/lib/components/contact-details/contact-details.component.js +0 -29
  185. package/esm5/lib/components/due-date/due-date.component.js +0 -254
  186. package/esm5/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +0 -45
  187. package/esm5/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +0 -47
  188. package/esm5/lib/components/index.js +0 -7
  189. package/esm5/lib/components/invite-user-form/invite-user-form.component.js +0 -54
  190. package/esm5/lib/components/invite-user-permissions/invite-user-permission.component.js +0 -46
  191. package/esm5/lib/components/loading-spinner/loading-spinner.component.js +0 -61
  192. package/esm5/lib/components/public_api.js +0 -30
  193. package/esm5/lib/components/selected-case/selected-case.component.js +0 -430
  194. package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +0 -91
  195. package/esm5/lib/components/selected-case-list/selected-case-list.component.js +0 -109
  196. package/esm5/lib/components/service-message/service-message.component.js +0 -46
  197. package/esm5/lib/components/service-messages/service-messages.component.js +0 -122
  198. package/esm5/lib/components/share-case/share-case.component.js +0 -223
  199. package/esm5/lib/components/share-case-confirm/share-case-confirm.component.js +0 -70
  200. package/esm5/lib/components/tab/tab.component.js +0 -51
  201. package/esm5/lib/components/tc-confirm/tc-confirm.component.js +0 -42
  202. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +0 -22
  203. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +0 -22
  204. package/esm5/lib/components/terms-and-conditions/terms-and-conditions.component.js +0 -29
  205. package/esm5/lib/components/user-details/user-details.component.js +0 -92
  206. package/esm5/lib/components/user-list/user-list.component.js +0 -43
  207. package/esm5/lib/components/user-select/user-select.component.js +0 -131
  208. package/esm5/lib/directives/feature-toggle/feature-toggle.directive.js +0 -104
  209. package/esm5/lib/directives/index.js +0 -7
  210. package/esm5/lib/directives/let/let.directive.js +0 -78
  211. package/esm5/lib/directives/public-api.js +0 -8
  212. package/esm5/lib/exui-common-lib.module.js +0 -156
  213. package/esm5/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +0 -56
  214. package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +0 -36
  215. package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +0 -48
  216. package/esm5/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +0 -37
  217. package/esm5/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -49
  218. package/esm5/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +0 -65
  219. package/esm5/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +0 -40
  220. package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +0 -66
  221. package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +0 -34
  222. package/esm5/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +0 -67
  223. package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +0 -36
  224. package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +0 -52
  225. package/esm5/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +0 -77
  226. package/esm5/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +0 -50
  227. package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +0 -38
  228. package/esm5/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +0 -108
  229. package/esm5/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +0 -40
  230. package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +0 -87
  231. package/esm5/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +0 -49
  232. package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +0 -41
  233. package/esm5/lib/gov-ui/components/index.js +0 -7
  234. package/esm5/lib/gov-ui/components/public_api.js +0 -26
  235. package/esm5/lib/gov-ui/directives/index.js +0 -7
  236. package/esm5/lib/gov-ui/directives/public_api.js +0 -7
  237. package/esm5/lib/gov-ui/directives/remove-host.directive.js +0 -52
  238. package/esm5/lib/gov-ui/gov-ui.service.js +0 -22
  239. package/esm5/lib/gov-ui/index.js +0 -7
  240. package/esm5/lib/gov-ui/models/banner-data-model.js +0 -16
  241. package/esm5/lib/gov-ui/models/checkboxes-model.js +0 -22
  242. package/esm5/lib/gov-ui/models/error-messages-model.js +0 -16
  243. package/esm5/lib/gov-ui/models/gov-ui-config-model.js +0 -36
  244. package/esm5/lib/gov-ui/models/index.js +0 -7
  245. package/esm5/lib/gov-ui/models/public_api.js +0 -13
  246. package/esm5/lib/gov-ui/public_api.js +0 -14
  247. package/esm5/lib/gov-ui/util/helpers/html-templates.helper.js +0 -57
  248. package/esm5/lib/gov-ui/validators/checkboxes-be-checked.validator.js +0 -38
  249. package/esm5/lib/gov-ui/validators/date.validator.js +0 -32
  250. package/esm5/lib/gov-ui/validators/index.js +0 -7
  251. package/esm5/lib/gov-ui/validators/public_api.js +0 -12
  252. package/esm5/lib/gov-ui/validators/radio-group.validator.js +0 -27
  253. package/esm5/lib/models/case-share.model.js +0 -26
  254. package/esm5/lib/models/contact-details.model.js +0 -31
  255. package/esm5/lib/models/due-date.model.js +0 -15
  256. package/esm5/lib/models/feature-user.js +0 -28
  257. package/esm5/lib/models/idle-config.model.js +0 -20
  258. package/esm5/lib/models/index.js +0 -7
  259. package/esm5/lib/models/public_api.js +0 -15
  260. package/esm5/lib/models/tcDocument.model.js +0 -18
  261. package/esm5/lib/models/timeout-notification.model.js +0 -18
  262. package/esm5/lib/models/user-details.model.js +0 -22
  263. package/esm5/lib/models/user.model.js +0 -25
  264. package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +0 -289
  265. package/esm5/lib/services/feature-toggle/feature-toggle.guard.js +0 -83
  266. package/esm5/lib/services/feature-toggle/feature-toggle.service.js +0 -88
  267. package/esm5/lib/services/feature-toggle/launch-darkly.service.js +0 -177
  268. package/esm5/lib/services/google-analytics/google-analytics.service.js +0 -128
  269. package/esm5/lib/services/google-tag-manager/google-tag-manager.service.js +0 -135
  270. package/esm5/lib/services/index.js +0 -7
  271. package/esm5/lib/services/loading/loading.service.js +0 -100
  272. package/esm5/lib/services/manage-session/manage-session.services.js +0 -111
  273. package/esm5/lib/services/public-api.js +0 -20
  274. package/esm5/lib/services/role-guard/role.guard.js +0 -81
  275. package/esm5/lib/services/role-guard/role.service.js +0 -45
  276. package/esm5/lib/services/timeout-notifications/timeout-notifications.service.js +0 -190
  277. package/esm5/lib/window.js +0 -13
  278. package/esm5/public-api.js +0 -16
  279. package/fesm5/hmcts-rpx-xui-common-lib.js +0 -4751
  280. package/fesm5/hmcts-rpx-xui-common-lib.js.map +0 -1
  281. package/lib/gov-ui/directives/index.d.ts +0 -1
  282. package/lib/gov-ui/directives/public_api.d.ts +0 -1
@@ -0,0 +1,64 @@
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==
@@ -0,0 +1,106 @@
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,8 +1,3 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/services/google-analytics/google-analytics.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
1
  import { DOCUMENT } from '@angular/common';
7
2
  import { Inject, Injectable } from '@angular/core';
8
3
  import { Title } from '@angular/platform-browser';
@@ -14,31 +9,19 @@ import * as i2 from "@angular/platform-browser";
14
9
  import * as i3 from "../../window";
15
10
  import * as i4 from "@angular/common";
16
11
  export class GoogleAnalyticsService {
17
- /**
18
- * @param {?} router
19
- * @param {?} title
20
- * @param {?} window
21
- * @param {?} document
22
- */
23
12
  constructor(router, title, window, document) {
24
13
  this.router = router;
25
14
  this.title = title;
26
- this.window = (/** @type {?} */ (window));
27
- this.document = (/** @type {?} */ (document));
15
+ this.window = window;
16
+ this.document = document;
28
17
  }
29
- /**
30
- * @param {?} googleAnalyticsKey
31
- * @return {?}
32
- */
33
18
  init(googleAnalyticsKey) {
34
19
  this.googleAnalyticsKey = googleAnalyticsKey;
35
20
  try {
36
- /** @type {?} */
37
21
  const script1 = this.document.createElement('script');
38
22
  script1.async = true;
39
23
  script1.src = `https://www.googletagmanager.com/gtag/js?id=${this.googleAnalyticsKey}`;
40
24
  this.document.head.appendChild(script1);
41
- /** @type {?} */
42
25
  const script2 = this.document.createElement('script');
43
26
  script2.innerHTML = `
44
27
  window.dataLayer = window.dataLayer || [];
@@ -54,70 +37,32 @@ export class GoogleAnalyticsService {
54
37
  }
55
38
  this.listenForRouteChanges();
56
39
  }
57
- /**
58
- * @private
59
- * @return {?}
60
- */
61
40
  listenForRouteChanges() {
62
41
  if (this.googleAnalyticsKey) {
63
- this.router.events.subscribe((/**
64
- * @param {?} event
65
- * @return {?}
66
- */
67
- event => {
42
+ this.router.events.subscribe(event => {
68
43
  if (event instanceof NavigationEnd) {
69
- ((/** @type {?} */ (this.window))).gtag('config', this.googleAnalyticsKey, {
44
+ this.window.gtag('config', this.googleAnalyticsKey, {
70
45
  page_path: event.urlAfterRedirects,
71
46
  page_title: this.title.getTitle(),
72
47
  });
73
48
  }
74
- }));
49
+ });
75
50
  }
76
51
  }
77
- /**
78
- * @param {?} eventName
79
- * @param {?} params
80
- * @return {?}
81
- */
82
52
  event(eventName, params) {
83
- ((/** @type {?} */ (this.window))).gtag('event', eventName, params);
53
+ this.window.gtag('event', eventName, params);
84
54
  }
85
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" });
86
57
  GoogleAnalyticsService.decorators = [
87
58
  { type: Injectable, args: [{
88
59
  providedIn: 'root'
89
60
  },] }
90
61
  ];
91
- /** @nocollapse */
92
62
  GoogleAnalyticsService.ctorParameters = () => [
93
63
  { type: Router },
94
64
  { type: Title },
95
65
  { type: undefined, decorators: [{ type: Inject, args: [windowToken,] }] },
96
66
  { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
97
67
  ];
98
- /** @nocollapse */ GoogleAnalyticsService.ngInjectableDef = 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" });
99
- if (false) {
100
- /**
101
- * @type {?}
102
- * @private
103
- */
104
- GoogleAnalyticsService.prototype.document;
105
- /**
106
- * @type {?}
107
- * @private
108
- */
109
- GoogleAnalyticsService.prototype.window;
110
- /** @type {?} */
111
- GoogleAnalyticsService.prototype.googleAnalyticsKey;
112
- /**
113
- * @type {?}
114
- * @private
115
- */
116
- GoogleAnalyticsService.prototype.router;
117
- /**
118
- * @type {?}
119
- * @private
120
- */
121
- GoogleAnalyticsService.prototype.title;
122
- }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9nb29nbGUtYW5hbHl0aWNzL2dvb2dsZS1hbmFseXRpY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFNM0MsTUFBTSxPQUFPLHNCQUFzQjs7Ozs7OztJQU1qQyxZQUNtQixNQUFjLEVBQ2QsS0FBWSxFQUNSLE1BQVcsRUFDZCxRQUFhO1FBSGQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQU87UUFJN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxtQkFBQSxNQUFNLEVBQVUsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFBLFFBQVEsRUFBWSxDQUFDO0lBRXZDLENBQUM7Ozs7O0lBRU0sSUFBSSxDQUFDLGtCQUEwQjtRQUNwQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUM7UUFDN0MsSUFBSTs7a0JBQ0ksT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztZQUNyRCxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNyQixPQUFPLENBQUMsR0FBRyxHQUFHLCtDQUErQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUN2RixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7O2tCQUVsQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1lBQ3JELE9BQU8sQ0FBQyxTQUFTLEdBQUc7Ozs7MEJBSUEsSUFBSSxDQUFDLGtCQUFrQjtPQUMxQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3pDO1FBQUMsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7WUFDbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNuQjtRQUNELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7Ozs7O0lBRU8scUJBQXFCO1FBQzNCLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVM7Ozs7WUFBQyxLQUFLLENBQUMsRUFBRTtnQkFDbkMsSUFBSSxLQUFLLFlBQVksYUFBYSxFQUFFO29CQUNsQyxDQUFDLG1CQUFBLElBQUksQ0FBQyxNQUFNLEVBQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFO3dCQUMzRCxTQUFTLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjt3QkFDbEMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO3FCQUNsQyxDQUFDLENBQUM7aUJBQ0o7WUFDSCxDQUFDLEVBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7Ozs7O0lBRU0sS0FBSyxDQUFDLFNBQWlCLEVBQUUsTUFBVTtRQUN4QyxDQUFDLG1CQUFBLElBQUksQ0FBQyxNQUFNLEVBQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7OztZQTNERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7WUFMdUIsTUFBTTtZQURyQixLQUFLOzRDQWlCVCxNQUFNLFNBQUMsV0FBVzs0Q0FDbEIsTUFBTSxTQUFDLFFBQVE7Ozs7Ozs7O0lBUmxCLDBDQUFvQzs7Ozs7SUFDcEMsd0NBQWdDOztJQUVoQyxvREFBa0M7Ozs7O0lBRWhDLHdDQUErQjs7Ozs7SUFDL0IsdUNBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vLi4vd2luZG93JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbmV4cG9ydCBjbGFzcyBHb29nbGVBbmFseXRpY3NTZXJ2aWNlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudDtcbiAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3c6IFdpbmRvdztcblxuICBwdWJsaWMgZ29vZ2xlQW5hbHl0aWNzS2V5OiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0aXRsZTogVGl0bGUsXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbikgd2luZG93OiBhbnksXG4gICAgQEluamVjdChET0NVTUVOVCkgZG9jdW1lbnQ6IGFueSxcbiAgKSB7XG4gICAgdGhpcy53aW5kb3cgPSB3aW5kb3cgYXMgV2luZG93O1xuICAgIHRoaXMuZG9jdW1lbnQgPSBkb2N1bWVudCBhcyBEb2N1bWVudDtcblxuICB9XG5cbiAgcHVibGljIGluaXQoZ29vZ2xlQW5hbHl0aWNzS2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLmdvb2dsZUFuYWx5dGljc0tleSA9IGdvb2dsZUFuYWx5dGljc0tleTtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc2NyaXB0MSA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBzY3JpcHQxLmFzeW5jID0gdHJ1ZTtcbiAgICAgIHNjcmlwdDEuc3JjID0gYGh0dHBzOi8vd3d3Lmdvb2dsZXRhZ21hbmFnZXIuY29tL2d0YWcvanM/aWQ9JHt0aGlzLmdvb2dsZUFuYWx5dGljc0tleX1gO1xuICAgICAgdGhpcy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdDEpO1xuXG4gICAgICBjb25zdCBzY3JpcHQyID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjcmlwdDIuaW5uZXJIVE1MID0gYFxuICAgICAgICB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTtcbiAgICAgICAgZnVuY3Rpb24gZ3RhZygpe2RhdGFMYXllci5wdXNoKGFyZ3VtZW50cyk7fVxuICAgICAgICBndGFnKCdqcycsIG5ldyBEYXRlKCkpO1xuICAgICAgICBndGFnKCdjb25maWcnLCAnJHt0aGlzLmdvb2dsZUFuYWx5dGljc0tleX0nLCB7J3NlbmRfcGFnZV92aWV3JzogZmFsc2V9KTtcbiAgICAgIGA7XG4gICAgICB0aGlzLmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0Mik7XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGFwcGVuZGluZyBnb29nbGUgYW5hbHl0aWNzJyk7XG4gICAgICBjb25zb2xlLmVycm9yKGV4KTtcbiAgICB9XG4gICAgdGhpcy5saXN0ZW5Gb3JSb3V0ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRm9yUm91dGVDaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLmdvb2dsZUFuYWx5dGljc0tleSkge1xuICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcbiAgICAgICAgICAodGhpcy53aW5kb3cgYXMgYW55KS5ndGFnKCdjb25maWcnLCB0aGlzLmdvb2dsZUFuYWx5dGljc0tleSwge1xuICAgICAgICAgICAgcGFnZV9wYXRoOiBldmVudC51cmxBZnRlclJlZGlyZWN0cyxcbiAgICAgICAgICAgIHBhZ2VfdGl0bGU6IHRoaXMudGl0bGUuZ2V0VGl0bGUoKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGV2ZW50KGV2ZW50TmFtZTogc3RyaW5nLCBwYXJhbXM6IHt9KSB7XG4gICAgKHRoaXMud2luZG93IGFzIGFueSkuZ3RhZygnZXZlbnQnLCBldmVudE5hbWUsIHBhcmFtcyk7XG4gIH1cblxufVxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvZ29vZ2xlLWFuYWx5dGljcy9nb29nbGUtYW5hbHl0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7OztBQU0zQyxNQUFNLE9BQU8sc0JBQXNCO0lBTWpDLFlBQ21CLE1BQWMsRUFDZCxLQUFZLEVBQ1IsTUFBVyxFQUNkLFFBQWE7UUFIZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUk3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQWdCLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFvQixDQUFDO0lBRXZDLENBQUM7SUFFTSxJQUFJLENBQUMsa0JBQTBCO1FBQ3BDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJO1lBQ0YsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDdEQsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDckIsT0FBTyxDQUFDLEdBQUcsR0FBRywrQ0FBK0MsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDdkYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRXhDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RELE9BQU8sQ0FBQyxTQUFTLEdBQUc7Ozs7MEJBSUEsSUFBSSxDQUFDLGtCQUFrQjtPQUMxQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3pDO1FBQUMsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7WUFDbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNuQjtRQUNELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTyxxQkFBcUI7UUFDM0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUNuQyxJQUFJLEtBQUssWUFBWSxhQUFhLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxNQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7d0JBQzNELFNBQVMsRUFBRSxLQUFLLENBQUMsaUJBQWlCO3dCQUNsQyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7cUJBQ2xDLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQWlCLEVBQUUsTUFBVTtRQUN2QyxJQUFJLENBQUMsTUFBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3hELENBQUM7Ozs7WUEzREYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFMdUIsTUFBTTtZQURyQixLQUFLOzRDQWlCVCxNQUFNLFNBQUMsV0FBVzs0Q0FDbEIsTUFBTSxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi93aW5kb3cnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuZXhwb3J0IGNsYXNzIEdvb2dsZUFuYWx5dGljc1NlcnZpY2Uge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50O1xuICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogV2luZG93O1xuXG4gIHB1YmxpYyBnb29nbGVBbmFseXRpY3NLZXk6IHN0cmluZztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlOiBUaXRsZSxcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSB3aW5kb3c6IGFueSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55LFxuICApIHtcbiAgICB0aGlzLndpbmRvdyA9IHdpbmRvdyBhcyBXaW5kb3c7XG4gICAgdGhpcy5kb2N1bWVudCA9IGRvY3VtZW50IGFzIERvY3VtZW50O1xuXG4gIH1cblxuICBwdWJsaWMgaW5pdChnb29nbGVBbmFseXRpY3NLZXk6IHN0cmluZykge1xuICAgIHRoaXMuZ29vZ2xlQW5hbHl0aWNzS2V5ID0gZ29vZ2xlQW5hbHl0aWNzS2V5O1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzY3JpcHQxID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgIHNjcmlwdDEuYXN5bmMgPSB0cnVlO1xuICAgICAgc2NyaXB0MS5zcmMgPSBgaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD0ke3RoaXMuZ29vZ2xlQW5hbHl0aWNzS2V5fWA7XG4gICAgICB0aGlzLmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0MSk7XG5cbiAgICAgIGNvbnN0IHNjcmlwdDIgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgc2NyaXB0Mi5pbm5lckhUTUwgPSBgXG4gICAgICAgIHdpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdO1xuICAgICAgICBmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9XG4gICAgICAgIGd0YWcoJ2pzJywgbmV3IERhdGUoKSk7XG4gICAgICAgIGd0YWcoJ2NvbmZpZycsICcke3RoaXMuZ29vZ2xlQW5hbHl0aWNzS2V5fScsIHsnc2VuZF9wYWdlX3ZpZXcnOiBmYWxzZX0pO1xuICAgICAgYDtcbiAgICAgIHRoaXMuZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQyKTtcbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgYXBwZW5kaW5nIGdvb2dsZSBhbmFseXRpY3MnKTtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXgpO1xuICAgIH1cbiAgICB0aGlzLmxpc3RlbkZvclJvdXRlQ2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Gb3JSb3V0ZUNoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMuZ29vZ2xlQW5hbHl0aWNzS2V5KSB7XG4gICAgICB0aGlzLnJvdXRlci5ldmVudHMuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xuICAgICAgICAgICh0aGlzLndpbmRvdyBhcyBhbnkpLmd0YWcoJ2NvbmZpZycsIHRoaXMuZ29vZ2xlQW5hbHl0aWNzS2V5LCB7XG4gICAgICAgICAgICBwYWdlX3BhdGg6IGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzLFxuICAgICAgICAgICAgcGFnZV90aXRsZTogdGhpcy50aXRsZS5nZXRUaXRsZSgpLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZXZlbnQoZXZlbnROYW1lOiBzdHJpbmcsIHBhcmFtczoge30pIHtcbiAgICAodGhpcy53aW5kb3cgYXMgYW55KS5ndGFnKCdldmVudCcsIGV2ZW50TmFtZSwgcGFyYW1zKTtcbiAgfVxuXG59XG4iXX0=
@@ -1,8 +1,3 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/services/google-tag-manager/google-tag-manager.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
1
  import { DOCUMENT } from '@angular/common';
7
2
  import { Inject, Injectable } from '@angular/core';
8
3
  import { Title } from '@angular/platform-browser';
@@ -14,31 +9,20 @@ import * as i2 from "@angular/platform-browser";
14
9
  import * as i3 from "../../window";
15
10
  import * as i4 from "@angular/common";
16
11
  export class GoogleTagManagerService {
17
- /**
18
- * @param {?} router
19
- * @param {?} title
20
- * @param {?} window
21
- * @param {?} document
22
- */
23
12
  constructor(router, title, window, document) {
24
13
  this.router = router;
25
14
  this.title = title;
26
- this.window = (/** @type {?} */ (window));
27
- this.document = (/** @type {?} */ (document));
15
+ this.window = window;
16
+ this.document = document;
28
17
  }
29
- /**
30
- * @param {?} googleTagManagerKey
31
- * @return {?}
32
- */
33
18
  init(googleTagManagerKey) {
34
19
  this.googleTagManagerKey = googleTagManagerKey;
35
20
  try {
36
- ((/** @type {?} */ (this.window))).dataLayer = ((/** @type {?} */ (this.window))).dataLayer || [];
37
- ((/** @type {?} */ (this.window))).dataLayer.push({
21
+ this.window.dataLayer = this.window.dataLayer || [];
22
+ this.window.dataLayer.push({
38
23
  'gtm.start': new Date().getTime(),
39
24
  event: 'gtm.js'
40
25
  });
41
- /** @type {?} */
42
26
  const script = this.document.createElement('script');
43
27
  script.async = true;
44
28
  script.src = `https://www.googletagmanager.com/gtm.js?id=${this.googleTagManagerKey}`;
@@ -50,19 +34,11 @@ export class GoogleTagManagerService {
50
34
  }
51
35
  this.listenForRouteChanges();
52
36
  }
53
- /**
54
- * @private
55
- * @return {?}
56
- */
57
37
  listenForRouteChanges() {
58
38
  if (this.googleTagManagerKey) {
59
- this.router.events.subscribe((/**
60
- * @param {?} event
61
- * @return {?}
62
- */
63
- event => {
39
+ this.router.events.subscribe(event => {
64
40
  if (event instanceof NavigationEnd) {
65
- ((/** @type {?} */ (this.window))).dataLayer.push({
41
+ this.window.dataLayer.push({
66
42
  event: 'pageview',
67
43
  page: {
68
44
  path: event.urlAfterRedirects,
@@ -70,56 +46,26 @@ export class GoogleTagManagerService {
70
46
  }
71
47
  });
72
48
  }
73
- }));
49
+ });
74
50
  }
75
51
  }
76
- /**
77
- * @param {?} eventName
78
- * @param {?} params
79
- * @return {?}
80
- */
81
52
  event(eventName, params) {
82
- ((/** @type {?} */ (this.window))).dataLayer.push({
53
+ this.window.dataLayer.push({
83
54
  event: eventName,
84
55
  params
85
56
  });
86
57
  }
87
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" });
88
60
  GoogleTagManagerService.decorators = [
89
61
  { type: Injectable, args: [{
90
62
  providedIn: 'root'
91
63
  },] }
92
64
  ];
93
- /** @nocollapse */
94
65
  GoogleTagManagerService.ctorParameters = () => [
95
66
  { type: Router },
96
67
  { type: Title },
97
68
  { type: undefined, decorators: [{ type: Inject, args: [windowToken,] }] },
98
69
  { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
99
70
  ];
100
- /** @nocollapse */ GoogleTagManagerService.ngInjectableDef = 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" });
101
- if (false) {
102
- /**
103
- * @type {?}
104
- * @private
105
- */
106
- GoogleTagManagerService.prototype.document;
107
- /**
108
- * @type {?}
109
- * @private
110
- */
111
- GoogleTagManagerService.prototype.window;
112
- /** @type {?} */
113
- GoogleTagManagerService.prototype.googleTagManagerKey;
114
- /**
115
- * @type {?}
116
- * @private
117
- */
118
- GoogleTagManagerService.prototype.router;
119
- /**
120
- * @type {?}
121
- * @private
122
- */
123
- GoogleTagManagerService.prototype.title;
124
- }
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXRhZy1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2dvb2dsZS10YWctbWFuYWdlci9nb29nbGUtdGFnLW1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFLM0MsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7OztJQUtsQyxZQUNtQixNQUFjLEVBQ2QsS0FBWSxFQUNSLE1BQVcsRUFDZCxRQUFhO1FBSGQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQU87UUFJN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxtQkFBQSxNQUFNLEVBQVUsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLG1CQUFBLFFBQVEsRUFBWSxDQUFDO0lBQ3ZDLENBQUM7Ozs7O0lBRU0sSUFBSSxDQUFDLG1CQUEyQjtRQUNyQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7UUFDL0MsSUFBSTtZQUVGLENBQUMsbUJBQUEsSUFBSSxDQUFDLE1BQU0sRUFBTyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsbUJBQUEsSUFBSSxDQUFDLE1BQU0sRUFBTyxDQUFDLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQztZQUN0RSxDQUFDLG1CQUFBLElBQUksQ0FBQyxNQUFNLEVBQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2xDLFdBQVcsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRTtnQkFDakMsS0FBSyxFQUFFLFFBQVE7YUFDaEIsQ0FBQyxDQUFDOztrQkFFRyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO1lBQ3BELE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsOENBQThDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3RGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUV4QztRQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ1gsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDbkI7UUFDRCxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvQixDQUFDOzs7OztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTOzs7O1lBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ25DLElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtvQkFDbEMsQ0FBQyxtQkFBQSxJQUFJLENBQUMsTUFBTSxFQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO3dCQUNsQyxLQUFLLEVBQUUsVUFBVTt3QkFDakIsSUFBSSxFQUFFOzRCQUNKLElBQUksRUFBRSxLQUFLLENBQUMsaUJBQWlCOzRCQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7eUJBQzdCO3FCQUNGLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsRUFBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7Ozs7SUFFTSxLQUFLLENBQUMsU0FBaUIsRUFBRSxNQUFVO1FBQ3hDLENBQUMsbUJBQUEsSUFBSSxDQUFDLE1BQU0sRUFBTyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNsQyxLQUFLLEVBQUUsU0FBUztZQUNoQixNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBN0RGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQUx1QixNQUFNO1lBRHJCLEtBQUs7NENBZVQsTUFBTSxTQUFDLFdBQVc7NENBQ2xCLE1BQU0sU0FBQyxRQUFROzs7Ozs7OztJQVJsQiwyQ0FBb0M7Ozs7O0lBQ3BDLHlDQUFnQzs7SUFFaEMsc0RBQW1DOzs7OztJQUVqQyx5Q0FBK0I7Ozs7O0lBQy9CLHdDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEdvb2dsZVRhZ01hbmFnZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBXaW5kb3c7XG5cbiAgcHVibGljIGdvb2dsZVRhZ01hbmFnZXJLZXk6IHN0cmluZztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlOiBUaXRsZSxcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSB3aW5kb3c6IGFueSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55XG4gICkge1xuICAgIHRoaXMud2luZG93ID0gd2luZG93IGFzIFdpbmRvdztcbiAgICB0aGlzLmRvY3VtZW50ID0gZG9jdW1lbnQgYXMgRG9jdW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgaW5pdChnb29nbGVUYWdNYW5hZ2VyS2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLmdvb2dsZVRhZ01hbmFnZXJLZXkgPSBnb29nbGVUYWdNYW5hZ2VyS2V5O1xuICAgIHRyeSB7XG5cbiAgICAgICh0aGlzLndpbmRvdyBhcyBhbnkpLmRhdGFMYXllciA9ICh0aGlzLndpbmRvdyBhcyBhbnkpLmRhdGFMYXllciB8fCBbXTtcbiAgICAgICh0aGlzLndpbmRvdyBhcyBhbnkpLmRhdGFMYXllci5wdXNoKHtcbiAgICAgICAgJ2d0bS5zdGFydCc6IG5ldyBEYXRlKCkuZ2V0VGltZSgpLFxuICAgICAgICBldmVudDogJ2d0bS5qcydcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcbiAgICAgIHNjcmlwdC5zcmMgPSBgaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPSR7dGhpcy5nb29nbGVUYWdNYW5hZ2VyS2V5fWA7XG4gICAgICB0aGlzLmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcblxuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBhcHBlbmRpbmcgZ29vZ2xlIHRhZyBtYW5hZ2VyJyk7XG4gICAgICBjb25zb2xlLmVycm9yKGV4KTtcbiAgICB9XG4gICAgdGhpcy5saXN0ZW5Gb3JSb3V0ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRm9yUm91dGVDaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLmdvb2dsZVRhZ01hbmFnZXJLZXkpIHtcbiAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgKHRoaXMud2luZG93IGFzIGFueSkuZGF0YUxheWVyLnB1c2goe1xuICAgICAgICAgICAgZXZlbnQ6ICdwYWdldmlldycsXG4gICAgICAgICAgICBwYWdlOiB7XG4gICAgICAgICAgICAgIHBhdGg6IGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzLFxuICAgICAgICAgICAgICB0aXRsZTogdGhpcy50aXRsZS5nZXRUaXRsZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBldmVudChldmVudE5hbWU6IHN0cmluZywgcGFyYW1zOiB7fSkge1xuICAgICh0aGlzLndpbmRvdyBhcyBhbnkpLmRhdGFMYXllci5wdXNoKHtcbiAgICAgIGV2ZW50OiBldmVudE5hbWUsXG4gICAgICBwYXJhbXNcbiAgICB9KTtcbiAgfVxufVxuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXRhZy1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy9nb29nbGUtdGFnLW1hbmFnZXIvZ29vZ2xlLXRhZy1tYW5hZ2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7OztBQUszQyxNQUFNLE9BQU8sdUJBQXVCO0lBS2xDLFlBQ21CLE1BQWMsRUFDZCxLQUFZLEVBQ1IsTUFBVyxFQUNkLFFBQWE7UUFIZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUk3QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQWdCLENBQUM7UUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFvQixDQUFDO0lBQ3ZDLENBQUM7SUFFTSxJQUFJLENBQUMsbUJBQTJCO1FBQ3JDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztRQUMvQyxJQUFJO1lBRUQsSUFBSSxDQUFDLE1BQWMsQ0FBQyxTQUFTLEdBQUksSUFBSSxDQUFDLE1BQWMsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO1lBQ3JFLElBQUksQ0FBQyxNQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDbEMsV0FBVyxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFO2dCQUNqQyxLQUFLLEVBQUUsUUFBUTthQUNoQixDQUFDLENBQUM7WUFFSCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNyRCxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNwQixNQUFNLENBQUMsR0FBRyxHQUFHLDhDQUE4QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUN0RixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7U0FFeEM7UUFBQyxPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztZQUNwRCxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ25CO1FBQ0QsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ25DLElBQUksS0FBSyxZQUFZLGFBQWEsRUFBRTtvQkFDakMsSUFBSSxDQUFDLE1BQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO3dCQUNsQyxLQUFLLEVBQUUsVUFBVTt3QkFDakIsSUFBSSxFQUFFOzRCQUNKLElBQUksRUFBRSxLQUFLLENBQUMsaUJBQWlCOzRCQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7eUJBQzdCO3FCQUNGLENBQUMsQ0FBQztpQkFDSjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU0sS0FBSyxDQUFDLFNBQWlCLEVBQUUsTUFBVTtRQUN2QyxJQUFJLENBQUMsTUFBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDbEMsS0FBSyxFQUFFLFNBQVM7WUFDaEIsTUFBTTtTQUNQLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7WUE3REYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFMdUIsTUFBTTtZQURyQixLQUFLOzRDQWVULE1BQU0sU0FBQyxXQUFXOzRDQUNsQixNQUFNLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGl0bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uL3dpbmRvdyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEdvb2dsZVRhZ01hbmFnZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBXaW5kb3c7XG5cbiAgcHVibGljIGdvb2dsZVRhZ01hbmFnZXJLZXk6IHN0cmluZztcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlOiBUaXRsZSxcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSB3aW5kb3c6IGFueSxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBkb2N1bWVudDogYW55XG4gICkge1xuICAgIHRoaXMud2luZG93ID0gd2luZG93IGFzIFdpbmRvdztcbiAgICB0aGlzLmRvY3VtZW50ID0gZG9jdW1lbnQgYXMgRG9jdW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgaW5pdChnb29nbGVUYWdNYW5hZ2VyS2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLmdvb2dsZVRhZ01hbmFnZXJLZXkgPSBnb29nbGVUYWdNYW5hZ2VyS2V5O1xuICAgIHRyeSB7XG5cbiAgICAgICh0aGlzLndpbmRvdyBhcyBhbnkpLmRhdGFMYXllciA9ICh0aGlzLndpbmRvdyBhcyBhbnkpLmRhdGFMYXllciB8fCBbXTtcbiAgICAgICh0aGlzLndpbmRvdyBhcyBhbnkpLmRhdGFMYXllci5wdXNoKHtcbiAgICAgICAgJ2d0bS5zdGFydCc6IG5ldyBEYXRlKCkuZ2V0VGltZSgpLFxuICAgICAgICBldmVudDogJ2d0bS5qcydcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzY3JpcHQgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcbiAgICAgIHNjcmlwdC5zcmMgPSBgaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RtLmpzP2lkPSR7dGhpcy5nb29nbGVUYWdNYW5hZ2VyS2V5fWA7XG4gICAgICB0aGlzLmRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcblxuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBhcHBlbmRpbmcgZ29vZ2xlIHRhZyBtYW5hZ2VyJyk7XG4gICAgICBjb25zb2xlLmVycm9yKGV4KTtcbiAgICB9XG4gICAgdGhpcy5saXN0ZW5Gb3JSb3V0ZUNoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuRm9yUm91dGVDaGFuZ2VzKCkge1xuICAgIGlmICh0aGlzLmdvb2dsZVRhZ01hbmFnZXJLZXkpIHtcbiAgICAgIHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgKHRoaXMud2luZG93IGFzIGFueSkuZGF0YUxheWVyLnB1c2goe1xuICAgICAgICAgICAgZXZlbnQ6ICdwYWdldmlldycsXG4gICAgICAgICAgICBwYWdlOiB7XG4gICAgICAgICAgICAgIHBhdGg6IGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzLFxuICAgICAgICAgICAgICB0aXRsZTogdGhpcy50aXRsZS5nZXRUaXRsZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBldmVudChldmVudE5hbWU6IHN0cmluZywgcGFyYW1zOiB7fSkge1xuICAgICh0aGlzLndpbmRvdyBhcyBhbnkpLmRhdGFMYXllci5wdXNoKHtcbiAgICAgIGV2ZW50OiBldmVudE5hbWUsXG4gICAgICBwYXJhbXNcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,7 +1,2 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/services/index.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- export { CaseSharingStateService, FeatureToggleGuard, FeatureToggleService, LAUNCHDARKLYKEY, LaunchDarklyService, GoogleAnalyticsService, GoogleTagManagerService, HasLoadingState, LoadingService, ManageSessionServices, RoleMatching, RoleGuard, RoleService, TimeoutNotificationsService } from './public-api';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb1NBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
1
+ export * from './public-api';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
@@ -1,79 +1,39 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/services/loading/loading.service.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
1
  import { Injectable } from '@angular/core';
7
2
  import { BehaviorSubject } from 'rxjs';
8
3
  import { distinctUntilChanged } from 'rxjs/operators';
9
4
  import * as i0 from "@angular/core";
10
- /**
11
- * @abstract
12
- */
13
5
  export class HasLoadingState {
14
- }
15
- HasLoadingState.decorators = [
16
- { type: Injectable, args: [{
17
- providedIn: 'root'
18
- },] }
19
- ];
20
- /** @nocollapse */ HasLoadingState.ngInjectableDef = i0.defineInjectable({ factory: function HasLoadingState_Factory() { return new HasLoadingState(); }, token: HasLoadingState, providedIn: "root" });
21
- if (false) {
22
- /**
23
- * @abstract
24
- * @return {?}
25
- */
26
- HasLoadingState.prototype.isLoading = function () { };
6
+ get isLoading() {
7
+ return;
8
+ }
27
9
  }
28
10
  export class LoadingService {
29
11
  constructor() {
30
12
  this.registered = new Map();
31
13
  this.loading = new BehaviorSubject(false);
32
14
  }
33
- /**
34
- * @return {?}
35
- */
36
15
  get isLoading() {
37
16
  return this.loading.asObservable().pipe(distinctUntilChanged());
38
17
  }
39
- /**
40
- * @return {?}
41
- */
42
18
  register() {
43
- /** @type {?} */
44
19
  const token = this.generateToken();
45
20
  this.registered.set(token, token);
46
21
  this.loading.next(true);
47
22
  return token;
48
23
  }
49
- /**
50
- * @param {?} token
51
- * @return {?}
52
- */
53
24
  unregister(token) {
54
25
  this.registered.delete(token);
55
26
  this.loading.next(this.registered.size > 0);
56
27
  }
57
- /**
58
- * @private
59
- * @return {?}
60
- */
61
28
  generateToken() {
62
- /** @type {?} */
63
29
  const timestamp = window.performance.now();
64
30
  return `common-lib-loading-${timestamp}`; // format: [source-library]-[unique incrementing number]
65
31
  }
66
32
  }
67
- if (false) {
68
- /**
69
- * @type {?}
70
- * @private
71
- */
72
- LoadingService.prototype.registered;
73
- /**
74
- * @type {?}
75
- * @private
76
- */
77
- LoadingService.prototype.loading;
78
- }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9sb2FkaW5nL2xvYWRpbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFNdEQsTUFBTSxPQUFnQixlQUFlOzs7WUFIcEMsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7Ozs7OztJQUVDLHNEQUFxRDs7QUFHdkQsTUFBTSxPQUFPLGNBQWM7SUFBM0I7UUFDbUIsZUFBVSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBQ3ZDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQXNCakUsQ0FBQzs7OztJQXBCQyxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQzs7OztJQUVNLFFBQVE7O2NBQ1AsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUU7UUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7Ozs7SUFFTSxVQUFVLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7OztJQUVPLGFBQWE7O2NBQ2IsU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFO1FBQzFDLE9BQU8sc0JBQXNCLFNBQVMsRUFBRSxDQUFDLENBQUMsd0RBQXdEO0lBQ3BHLENBQUM7Q0FDRjs7Ozs7O0lBdkJDLG9DQUF3RDs7Ozs7SUFDeEQsaUNBQStEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBIYXNMb2FkaW5nU3RhdGUge1xuICBwdWJsaWMgYWJzdHJhY3QgZ2V0IGlzTG9hZGluZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xufVxuXG5leHBvcnQgY2xhc3MgTG9hZGluZ1NlcnZpY2UgaW1wbGVtZW50cyBIYXNMb2FkaW5nU3RhdGUge1xuICBwcml2YXRlIHJlYWRvbmx5IHJlZ2lzdGVyZWQgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGxvYWRpbmcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwdWJsaWMgZ2V0IGlzTG9hZGluZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5sb2FkaW5nLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXIoKTogc3RyaW5nIHtcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2VuZXJhdGVUb2tlbigpO1xuICAgIHRoaXMucmVnaXN0ZXJlZC5zZXQodG9rZW4sIHRva2VuKTtcbiAgICB0aGlzLmxvYWRpbmcubmV4dCh0cnVlKTtcbiAgICByZXR1cm4gdG9rZW47XG4gIH1cblxuICBwdWJsaWMgdW5yZWdpc3Rlcih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlcmVkLmRlbGV0ZSh0b2tlbik7XG4gICAgdGhpcy5sb2FkaW5nLm5leHQodGhpcy5yZWdpc3RlcmVkLnNpemUgPiAwKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVUb2tlbigpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRpbWVzdGFtcCA9IHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKTtcbiAgICByZXR1cm4gYGNvbW1vbi1saWItbG9hZGluZy0ke3RpbWVzdGFtcH1gOyAvLyBmb3JtYXQ6IFtzb3VyY2UtbGlicmFyeV0tW3VuaXF1ZSBpbmNyZW1lbnRpbmcgbnVtYmVyXVxuICB9XG59XG4iXX0=
33
+ LoadingService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LoadingService_Factory() { return new LoadingService(); }, token: LoadingService, providedIn: "root" });
34
+ LoadingService.decorators = [
35
+ { type: Injectable, args: [{
36
+ providedIn: 'root'
37
+ },] }
38
+ ];
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvbG9hZGluZy9sb2FkaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsZUFBZSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDOztBQUVwRCxNQUFNLE9BQWdCLGVBQWU7SUFDbkMsSUFBVyxTQUFTO1FBQ2xCLE9BQU87SUFDVCxDQUFDO0NBQ0Y7QUFLRCxNQUFNLE9BQU8sY0FBYztJQUgzQjtRQUltQixlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFDdkMsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0tBc0JoRTtJQXBCQyxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVNLFFBQVE7UUFDYixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFhO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxhQUFhO1FBQ25CLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDM0MsT0FBTyxzQkFBc0IsU0FBUyxFQUFFLENBQUMsQ0FBQyx3REFBd0Q7SUFDcEcsQ0FBQzs7OztZQTFCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkaXN0aW5jdFVudGlsQ2hhbmdlZH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgSGFzTG9hZGluZ1N0YXRlIHtcbiAgcHVibGljIGdldCBpc0xvYWRpbmcoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuO1xuICB9XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvYWRpbmdTZXJ2aWNlIGltcGxlbWVudHMgSGFzTG9hZGluZ1N0YXRlIHtcbiAgcHJpdmF0ZSByZWFkb25seSByZWdpc3RlcmVkID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2FkaW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG5cbiAgcHVibGljIGdldCBpc0xvYWRpbmcoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZGluZy5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLmdlbmVyYXRlVG9rZW4oKTtcbiAgICB0aGlzLnJlZ2lzdGVyZWQuc2V0KHRva2VuLCB0b2tlbik7XG4gICAgdGhpcy5sb2FkaW5nLm5leHQodHJ1ZSk7XG4gICAgcmV0dXJuIHRva2VuO1xuICB9XG5cbiAgcHVibGljIHVucmVnaXN0ZXIodG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJlZC5kZWxldGUodG9rZW4pO1xuICAgIHRoaXMubG9hZGluZy5uZXh0KHRoaXMucmVnaXN0ZXJlZC5zaXplID4gMCk7XG4gIH1cblxuICBwcml2YXRlIGdlbmVyYXRlVG9rZW4oKTogc3RyaW5nIHtcbiAgICBjb25zdCB0aW1lc3RhbXAgPSB3aW5kb3cucGVyZm9ybWFuY2Uubm93KCk7XG4gICAgcmV0dXJuIGBjb21tb24tbGliLWxvYWRpbmctJHt0aW1lc3RhbXB9YDsgLy8gZm9ybWF0OiBbc291cmNlLWxpYnJhcnldLVt1bmlxdWUgaW5jcmVtZW50aW5nIG51bWJlcl1cbiAgfVxufVxuXG4iXX0=