@hmcts/rpx-xui-common-lib 2.1.2-angular-upgrade-11 → 2.1.2-google-analytics

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 (513) 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/index.mjs +2 -0
  17. package/esm2022/lib/components/invite-user-form/invite-user-form.component.mjs +51 -0
  18. package/esm2022/lib/components/invite-user-permissions/invite-user-permission.component.mjs +54 -0
  19. package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +33 -0
  20. package/esm2022/lib/components/pagination/pagination.component.mjs +92 -0
  21. package/esm2022/lib/components/public_api.mjs +39 -0
  22. package/esm2022/lib/components/search-judicials/search-judicials.component.mjs +185 -0
  23. package/esm2022/lib/components/search-location/search-location.component.mjs +240 -0
  24. package/esm2022/lib/components/search-service/search-service.component.mjs +94 -0
  25. package/esm2022/lib/components/search-venue/search-venue.component.mjs +188 -0
  26. package/esm2022/lib/components/selected-case/selected-case.component.mjs +381 -0
  27. package/esm2022/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +135 -0
  28. package/esm2022/lib/components/selected-case-list/selected-case-list.component.mjs +98 -0
  29. package/esm2022/lib/components/service-message/service-message.component.mjs +62 -0
  30. package/esm2022/lib/components/service-messages/service-messages.component.mjs +165 -0
  31. package/esm2022/lib/components/share-case/share-case.component.mjs +427 -0
  32. package/esm2022/lib/components/share-case-confirm/share-case-confirm.component.mjs +85 -0
  33. package/esm2022/lib/components/tab/tab.component.mjs +40 -0
  34. package/esm2022/lib/components/tc-confirm/tc-confirm.component.mjs +66 -0
  35. package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +17 -0
  36. package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +17 -0
  37. package/esm2022/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +58 -0
  38. package/esm2022/lib/components/user-details/user-details.component.mjs +276 -0
  39. package/esm2022/lib/components/user-list/user-list.component.mjs +100 -0
  40. package/esm2022/lib/components/user-select/user-select.component.mjs +94 -0
  41. package/esm2022/lib/components/write-address/write-address.component.mjs +342 -0
  42. package/esm2022/lib/components/write-address-inputs/write-address-inputs.component.mjs +165 -0
  43. package/esm2022/lib/directives/feature-toggle/feature-toggle.directive.mjs +41 -0
  44. package/esm2022/lib/directives/index.mjs +2 -0
  45. package/esm2022/lib/directives/let/let.directive.mjs +29 -0
  46. package/esm2022/lib/directives/public-api.mjs +3 -0
  47. package/esm2022/lib/exui-common-lib.module.mjs +313 -0
  48. package/esm2022/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +55 -0
  49. package/esm2022/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +137 -0
  50. package/esm2022/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +127 -0
  51. package/esm2022/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +46 -0
  52. package/esm2022/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +79 -0
  53. package/esm2022/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +79 -0
  54. package/esm2022/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +45 -0
  55. package/esm2022/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +71 -0
  56. package/esm2022/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +84 -0
  57. package/esm2022/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +48 -0
  58. package/esm2022/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +42 -0
  59. package/esm2022/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +80 -0
  60. package/esm2022/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +185 -0
  61. package/esm2022/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +57 -0
  62. package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.mjs +2 -0
  63. package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +111 -0
  64. package/esm2022/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +140 -0
  65. package/esm2022/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +34 -0
  66. package/esm2022/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +129 -0
  67. package/esm2022/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +204 -0
  68. package/esm2022/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +60 -0
  69. package/esm2022/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +58 -0
  70. package/esm2022/lib/gov-ui/components/index.mjs +2 -0
  71. package/esm2022/lib/gov-ui/components/public_api.mjs +22 -0
  72. package/esm2022/lib/gov-ui/directives/remove-host.directive.mjs +30 -0
  73. package/esm2022/lib/gov-ui/gov-ui.service.mjs +14 -0
  74. package/esm2022/lib/gov-ui/index.mjs +2 -0
  75. package/esm2022/lib/gov-ui/models/checkboxes-model.mjs +2 -0
  76. package/esm2022/lib/gov-ui/models/error-messages-model.mjs +2 -0
  77. package/esm2022/lib/gov-ui/models/gov-ui-config-model.mjs +2 -0
  78. package/esm2022/lib/gov-ui/models/index.mjs +2 -0
  79. package/esm2022/lib/gov-ui/models/public_api.mjs +7 -0
  80. package/esm2022/lib/gov-ui/models/radio-buttons.model.mjs +2 -0
  81. package/esm2022/lib/gov-ui/public_api.mjs +8 -0
  82. package/esm2022/lib/gov-ui/util/helpers/html-templates.helper.mjs +22 -0
  83. package/esm2022/lib/gov-ui/validators/checkboxes-be-checked.validator.mjs +18 -0
  84. package/esm2022/lib/gov-ui/validators/date.validator.mjs +15 -0
  85. package/esm2022/lib/gov-ui/validators/index.mjs +2 -0
  86. package/esm2022/lib/gov-ui/validators/public_api.mjs +7 -0
  87. package/esm2022/lib/gov-ui/validators/radio-group.validator.mjs +15 -0
  88. package/esm2022/lib/models/address-message.enum.mjs +11 -0
  89. package/esm2022/lib/models/address-option.model.mjs +21 -0
  90. package/esm2022/lib/models/address.model.mjs +4 -0
  91. package/esm2022/lib/models/case-share.model.mjs +7 -0
  92. package/esm2022/lib/models/contact-details.model.mjs +7 -0
  93. package/esm2022/lib/models/due-date.model.mjs +8 -0
  94. package/esm2022/lib/models/feature-user.mjs +5 -0
  95. package/esm2022/lib/models/filter.model.mjs +3 -0
  96. package/esm2022/lib/models/idle-config.model.mjs +2 -0
  97. package/esm2022/lib/models/index.mjs +19 -0
  98. package/esm2022/lib/models/location.model.mjs +7 -0
  99. package/esm2022/lib/models/pagination.model.mjs +2 -0
  100. package/esm2022/lib/models/person.model.mjs +19 -0
  101. package/esm2022/lib/models/public_api.mjs +7 -0
  102. package/esm2022/lib/models/search-options.model.mjs +2 -0
  103. package/esm2022/lib/models/service-message.model.mjs +2 -0
  104. package/esm2022/lib/models/task-name.model.mjs +2 -0
  105. package/esm2022/lib/models/tcDocument.model.mjs +2 -0
  106. package/esm2022/lib/models/timeout-notification.model.mjs +2 -0
  107. package/esm2022/lib/models/user-access-type.model.mjs +2 -0
  108. package/esm2022/lib/models/user-details.model.mjs +2 -0
  109. package/esm2022/lib/models/user.model.mjs +2 -0
  110. package/esm2022/lib/pipes/capitalize/capitalize.pipe.mjs +15 -0
  111. package/esm2022/lib/pipes/index.mjs +2 -0
  112. package/esm2022/lib/services/address/address-parser.mjs +76 -0
  113. package/esm2022/lib/services/address/address-type.enum.mjs +7 -0
  114. package/esm2022/lib/services/address/address.service.mjs +55 -0
  115. package/esm2022/lib/services/case-sharing-state/case-sharing-state.service.mjs +170 -0
  116. package/esm2022/lib/services/cookie/cookie.service.mjs +48 -0
  117. package/esm2022/lib/services/feature-toggle/feature-toggle.guard.mjs +37 -0
  118. package/esm2022/lib/services/feature-toggle/feature-toggle.service.mjs +33 -0
  119. package/esm2022/lib/services/feature-toggle/launch-darkly.service.mjs +65 -0
  120. package/esm2022/lib/services/filter/filter.service.mjs +95 -0
  121. package/esm2022/lib/services/find-person/find-person.service.mjs +92 -0
  122. package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +73 -0
  123. package/esm2022/lib/services/google-tag-manager/google-tag-manager.service.mjs +85 -0
  124. package/esm2022/lib/services/index.mjs +2 -0
  125. package/esm2022/lib/services/loading/loading.service.mjs +41 -0
  126. package/esm2022/lib/services/locations/location.service.mjs +38 -0
  127. package/esm2022/lib/services/manage-session/manage-session.services.mjs +50 -0
  128. package/esm2022/lib/services/public-api.mjs +18 -0
  129. package/esm2022/lib/services/ref-data/index.mjs +4 -0
  130. package/esm2022/lib/services/ref-data/models/ref-data-htmcs-service.model.mjs +2 -0
  131. package/esm2022/lib/services/ref-data/models/ref-data-region.model.mjs +2 -0
  132. package/esm2022/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.mjs +2 -0
  133. package/esm2022/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +33 -0
  134. package/esm2022/lib/services/ref-data/ref-data.service.mjs +34 -0
  135. package/esm2022/lib/services/role-guard/role.guard.mjs +43 -0
  136. package/esm2022/lib/services/role-guard/role.service.mjs +22 -0
  137. package/esm2022/lib/services/storage/session-storage/session-storage.service.mjs +43 -0
  138. package/esm2022/lib/services/task-name/task-name.service.mjs +35 -0
  139. package/esm2022/lib/services/timeout-notifications/timeout-notifications.service.mjs +103 -0
  140. package/esm2022/lib/window.mjs +4 -0
  141. package/esm2022/public-api.mjs +12 -0
  142. package/fesm2022/hmcts-rpx-xui-common-lib.mjs +10377 -0
  143. package/fesm2022/hmcts-rpx-xui-common-lib.mjs.map +1 -0
  144. package/index.d.ts +5 -0
  145. package/lib/components/accessibility/accessibility.component.d.ts +7 -1
  146. package/lib/components/checkbox-list/checkbox-list.component.d.ts +14 -7
  147. package/lib/components/contact-details/contact-details.component.d.ts +3 -0
  148. package/lib/components/cookie-banner/cookie-banner.component.d.ts +5 -1
  149. package/lib/components/due-date/due-date.component.d.ts +12 -6
  150. package/lib/components/exui-main-wrapper/exui-page-wrapper.component.d.ts +3 -0
  151. package/lib/components/find-location/find-location.component.d.ts +16 -8
  152. package/lib/components/find-person/find-person.component.d.ts +5 -2
  153. package/lib/components/find-service/find-service.component.d.ts +29 -0
  154. package/lib/components/find-task-name/find-task-name.component.d.ts +44 -0
  155. package/lib/components/generic-filter/generic-filter-utils.d.ts +2 -5
  156. package/lib/components/generic-filter/generic-filter.component.d.ts +29 -8
  157. package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +3 -0
  158. package/lib/components/invite-user-form/invite-user-form.component.d.ts +4 -1
  159. package/lib/components/invite-user-permissions/invite-user-permission.component.d.ts +3 -0
  160. package/lib/components/loading-spinner/loading-spinner.component.d.ts +8 -1
  161. package/lib/components/pagination/pagination.component.d.ts +3 -0
  162. package/lib/components/public_api.d.ts +11 -0
  163. package/lib/components/search-judicials/search-judicials.component.d.ts +4 -1
  164. package/lib/components/search-location/search-location.component.d.ts +27 -20
  165. package/lib/components/search-service/search-service.component.d.ts +20 -0
  166. package/lib/components/search-venue/search-venue.component.d.ts +4 -2
  167. package/lib/components/selected-case/selected-case.component.d.ts +4 -1
  168. package/lib/components/selected-case-confirm/selected-case-confirm.component.d.ts +3 -0
  169. package/lib/components/selected-case-list/selected-case-list.component.d.ts +4 -0
  170. package/lib/components/service-message/service-message.component.d.ts +9 -4
  171. package/lib/components/service-messages/service-messages.component.d.ts +15 -5
  172. package/lib/components/share-case/share-case.component.d.ts +41 -2
  173. package/lib/components/share-case-confirm/share-case-confirm.component.d.ts +3 -0
  174. package/lib/components/tab/tab.component.d.ts +3 -0
  175. package/lib/components/tc-confirm/tc-confirm.component.d.ts +3 -0
  176. package/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.d.ts +3 -0
  177. package/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.d.ts +3 -0
  178. package/lib/components/terms-and-conditions/terms-and-conditions.component.d.ts +3 -0
  179. package/lib/components/user-details/user-details.component.d.ts +4 -0
  180. package/lib/components/user-list/user-list.component.d.ts +3 -0
  181. package/lib/components/user-select/user-select.component.d.ts +5 -3
  182. package/lib/components/write-address/write-address.component.d.ts +45 -0
  183. package/lib/components/write-address-inputs/write-address-inputs.component.d.ts +16 -0
  184. package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +4 -1
  185. package/lib/directives/let/let.directive.d.ts +4 -1
  186. package/lib/exui-common-lib.module.d.ts +83 -4
  187. package/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.d.ts +3 -0
  188. package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +17 -5
  189. package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +3 -0
  190. package/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.d.ts +3 -0
  191. package/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +3 -0
  192. package/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.d.ts +3 -0
  193. package/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.d.ts +3 -0
  194. package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +4 -2
  195. package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +4 -0
  196. package/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.d.ts +3 -0
  197. package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +5 -2
  198. package/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.d.ts +3 -0
  199. package/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.d.ts +3 -0
  200. package/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.d.ts +3 -0
  201. package/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.d.ts +7 -0
  202. package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +7 -2
  203. package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +4 -1
  204. package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +4 -1
  205. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +6 -3
  206. package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +3 -0
  207. package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +4 -1
  208. package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +3 -0
  209. package/lib/gov-ui/components/public_api.d.ts +20 -0
  210. package/lib/gov-ui/directives/remove-host.directive.d.ts +3 -0
  211. package/lib/gov-ui/gov-ui.service.d.ts +3 -0
  212. package/lib/gov-ui/models/checkboxes-model.d.ts +4 -7
  213. package/lib/gov-ui/models/gov-ui-config-model.d.ts +2 -0
  214. package/lib/gov-ui/models/public_api.d.ts +0 -1
  215. package/lib/gov-ui/models/radio-buttons.model.d.ts +9 -0
  216. package/lib/gov-ui/public_api.d.ts +1 -0
  217. package/lib/models/address-message.enum.d.ts +9 -0
  218. package/lib/models/address-option.model.d.ts +9 -0
  219. package/lib/models/address.model.d.ts +9 -0
  220. package/lib/models/case-share.model.d.ts +5 -0
  221. package/lib/models/contact-details.model.d.ts +4 -0
  222. package/lib/models/feature-user.d.ts +4 -6
  223. package/lib/models/filter.model.d.ts +43 -9
  224. package/lib/models/index.d.ts +4 -0
  225. package/lib/models/location.model.d.ts +12 -12
  226. package/lib/models/person.model.d.ts +3 -0
  227. package/lib/models/public_api.d.ts +1 -0
  228. package/lib/models/search-options.model.d.ts +1 -1
  229. package/lib/models/service-message.model.d.ts +8 -0
  230. package/lib/models/task-name.model.d.ts +4 -0
  231. package/lib/models/user-access-type.model.d.ts +6 -0
  232. package/lib/models/user-details.model.d.ts +2 -0
  233. package/lib/pipes/capitalize/capitalize.pipe.d.ts +7 -0
  234. package/lib/pipes/index.d.ts +1 -0
  235. package/lib/services/address/address-parser.d.ts +17 -0
  236. package/lib/services/address/address-type.enum.d.ts +5 -0
  237. package/lib/services/address/address.service.d.ts +15 -0
  238. package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +5 -2
  239. package/lib/services/cookie/cookie.service.d.ts +3 -0
  240. package/lib/services/feature-toggle/feature-toggle.guard.d.ts +8 -2
  241. package/lib/services/feature-toggle/feature-toggle.service.d.ts +4 -0
  242. package/lib/services/feature-toggle/launch-darkly.service.d.ts +14 -10
  243. package/lib/services/filter/filter.service.d.ts +6 -0
  244. package/lib/services/find-person/find-person.service.d.ts +5 -2
  245. package/lib/services/google-analytics/google-analytics.service.d.ts +4 -1
  246. package/lib/services/google-tag-manager/google-tag-manager.service.d.ts +5 -1
  247. package/lib/services/loading/loading.service.d.ts +5 -2
  248. package/lib/services/locations/location.service.d.ts +4 -1
  249. package/lib/services/manage-session/manage-session.services.d.ts +3 -0
  250. package/lib/services/public-api.d.ts +2 -4
  251. package/lib/services/ref-data/index.d.ts +3 -0
  252. package/lib/services/ref-data/models/ref-data-htmcs-service.model.d.ts +13 -0
  253. package/lib/services/ref-data/models/ref-data-region.model.d.ts +4 -0
  254. package/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.d.ts +8 -0
  255. package/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.d.ts +18 -0
  256. package/lib/services/ref-data/ref-data.service.d.ts +17 -0
  257. package/lib/services/role-guard/role.guard.d.ts +7 -3
  258. package/lib/services/role-guard/role.service.d.ts +9 -4
  259. package/lib/services/{session-storage → storage/session-storage}/session-storage.service.d.ts +3 -0
  260. package/lib/services/task-name/task-name.service.d.ts +17 -0
  261. package/lib/services/timeout-notifications/timeout-notifications.service.d.ts +8 -2
  262. package/lib/window.d.ts +1 -1
  263. package/package.json +22 -22
  264. package/public-api.d.ts +1 -0
  265. package/bundles/hmcts-rpx-xui-common-lib.umd.js +0 -9742
  266. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +0 -1
  267. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +0 -16
  268. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +0 -1
  269. package/esm2015/hmcts-rpx-xui-common-lib.js +0 -73
  270. package/esm2015/lib/components/accessibility/accessibility.component.js +0 -20
  271. package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +0 -275
  272. package/esm2015/lib/components/contact-details/contact-details.component.js +0 -27
  273. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +0 -129
  274. package/esm2015/lib/components/due-date/due-date.component.js +0 -210
  275. package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +0 -42
  276. package/esm2015/lib/components/find-location/find-location.component.js +0 -240
  277. package/esm2015/lib/components/find-person/find-person.component.js +0 -259
  278. package/esm2015/lib/components/generic-filter/generic-filter-utils.js +0 -65
  279. package/esm2015/lib/components/generic-filter/generic-filter.component.js +0 -636
  280. package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +0 -42
  281. package/esm2015/lib/components/index.js +0 -7
  282. package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +0 -45
  283. package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +0 -44
  284. package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +0 -27
  285. package/esm2015/lib/components/pagination/pagination.component.js +0 -50
  286. package/esm2015/lib/components/public_api.js +0 -33
  287. package/esm2015/lib/components/search-judicials/search-judicials.component.js +0 -249
  288. package/esm2015/lib/components/search-location/search-location.component.js +0 -294
  289. package/esm2015/lib/components/search-venue/search-venue.component.js +0 -246
  290. package/esm2015/lib/components/selected-case/selected-case.component.js +0 -316
  291. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +0 -74
  292. package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +0 -94
  293. package/esm2015/lib/components/service-message/service-message.component.js +0 -40
  294. package/esm2015/lib/components/service-messages/service-messages.component.js +0 -106
  295. package/esm2015/lib/components/share-case/share-case.component.js +0 -172
  296. package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +0 -67
  297. package/esm2015/lib/components/tab/tab.component.js +0 -45
  298. package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +0 -37
  299. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +0 -19
  300. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +0 -19
  301. package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +0 -26
  302. package/esm2015/lib/components/user-details/user-details.component.js +0 -78
  303. package/esm2015/lib/components/user-list/user-list.component.js +0 -63
  304. package/esm2015/lib/components/user-select/user-select.component.js +0 -105
  305. package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +0 -95
  306. package/esm2015/lib/directives/index.js +0 -7
  307. package/esm2015/lib/directives/let/let.directive.js +0 -68
  308. package/esm2015/lib/directives/public-api.js +0 -8
  309. package/esm2015/lib/exui-common-lib.module.js +0 -162
  310. package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +0 -51
  311. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +0 -32
  312. package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +0 -114
  313. package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +0 -34
  314. package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -43
  315. package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +0 -57
  316. package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +0 -37
  317. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +0 -54
  318. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +0 -31
  319. package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +0 -51
  320. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +0 -32
  321. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +0 -46
  322. package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +0 -69
  323. package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +0 -43
  324. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +0 -35
  325. package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +0 -90
  326. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +0 -33
  327. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +0 -75
  328. package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +0 -49
  329. package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +0 -43
  330. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +0 -42
  331. package/esm2015/lib/gov-ui/components/index.js +0 -7
  332. package/esm2015/lib/gov-ui/components/public_api.js +0 -7
  333. package/esm2015/lib/gov-ui/directives/remove-host.directive.js +0 -50
  334. package/esm2015/lib/gov-ui/gov-ui.service.js +0 -19
  335. package/esm2015/lib/gov-ui/index.js +0 -7
  336. package/esm2015/lib/gov-ui/models/banner-data-model.js +0 -16
  337. package/esm2015/lib/gov-ui/models/checkboxes-model.js +0 -22
  338. package/esm2015/lib/gov-ui/models/error-messages-model.js +0 -16
  339. package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +0 -36
  340. package/esm2015/lib/gov-ui/models/index.js +0 -7
  341. package/esm2015/lib/gov-ui/models/isession-storage.interface.js +0 -24
  342. package/esm2015/lib/gov-ui/models/public_api.js +0 -13
  343. package/esm2015/lib/gov-ui/public_api.js +0 -12
  344. package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +0 -32
  345. package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +0 -58
  346. package/esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js +0 -37
  347. package/esm2015/lib/gov-ui/validators/date.validator.js +0 -32
  348. package/esm2015/lib/gov-ui/validators/index.js +0 -7
  349. package/esm2015/lib/gov-ui/validators/public_api.js +0 -12
  350. package/esm2015/lib/gov-ui/validators/radio-group.validator.js +0 -27
  351. package/esm2015/lib/models/case-share.model.js +0 -26
  352. package/esm2015/lib/models/contact-details.model.js +0 -31
  353. package/esm2015/lib/models/due-date.model.js +0 -15
  354. package/esm2015/lib/models/feature-user.js +0 -20
  355. package/esm2015/lib/models/filter.model.js +0 -120
  356. package/esm2015/lib/models/idle-config.model.js +0 -20
  357. package/esm2015/lib/models/index.js +0 -20
  358. package/esm2015/lib/models/location.model.js +0 -129
  359. package/esm2015/lib/models/pagination.model.js +0 -18
  360. package/esm2015/lib/models/person.model.js +0 -92
  361. package/esm2015/lib/models/public_api.js +0 -11
  362. package/esm2015/lib/models/search-options.model.js +0 -22
  363. package/esm2015/lib/models/tcDocument.model.js +0 -18
  364. package/esm2015/lib/models/timeout-notification.model.js +0 -18
  365. package/esm2015/lib/models/user-details.model.js +0 -22
  366. package/esm2015/lib/models/user.model.js +0 -25
  367. package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +0 -218
  368. package/esm2015/lib/services/cookie/cookie.service.js +0 -110
  369. package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +0 -74
  370. package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +0 -53
  371. package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +0 -141
  372. package/esm2015/lib/services/filter/filter.service.js +0 -118
  373. package/esm2015/lib/services/find-person/find-person.service.js +0 -214
  374. package/esm2015/lib/services/google-analytics/google-analytics.service.js +0 -123
  375. package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +0 -125
  376. package/esm2015/lib/services/index.js +0 -7
  377. package/esm2015/lib/services/loading/loading.service.js +0 -78
  378. package/esm2015/lib/services/locations/location.service.js +0 -57
  379. package/esm2015/lib/services/manage-session/manage-session.services.js +0 -105
  380. package/esm2015/lib/services/public-api.js +0 -25
  381. package/esm2015/lib/services/role-guard/role.guard.js +0 -78
  382. package/esm2015/lib/services/role-guard/role.service.js +0 -39
  383. package/esm2015/lib/services/session-storage/session-storage.service.js +0 -55
  384. package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +0 -158
  385. package/esm2015/lib/window.js +0 -13
  386. package/esm2015/public-api.js +0 -16
  387. package/esm5/hmcts-rpx-xui-common-lib.js +0 -73
  388. package/esm5/lib/components/accessibility/accessibility.component.js +0 -22
  389. package/esm5/lib/components/checkbox-list/checkbox-list.component.js +0 -391
  390. package/esm5/lib/components/contact-details/contact-details.component.js +0 -29
  391. package/esm5/lib/components/cookie-banner/cookie-banner.component.js +0 -154
  392. package/esm5/lib/components/due-date/due-date.component.js +0 -254
  393. package/esm5/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +0 -45
  394. package/esm5/lib/components/find-location/find-location.component.js +0 -293
  395. package/esm5/lib/components/find-person/find-person.component.js +0 -286
  396. package/esm5/lib/components/generic-filter/generic-filter-utils.js +0 -66
  397. package/esm5/lib/components/generic-filter/generic-filter.component.js +0 -839
  398. package/esm5/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +0 -47
  399. package/esm5/lib/components/index.js +0 -7
  400. package/esm5/lib/components/invite-user-form/invite-user-form.component.js +0 -54
  401. package/esm5/lib/components/invite-user-permissions/invite-user-permission.component.js +0 -46
  402. package/esm5/lib/components/loading-spinner/loading-spinner.component.js +0 -29
  403. package/esm5/lib/components/pagination/pagination.component.js +0 -58
  404. package/esm5/lib/components/public_api.js +0 -33
  405. package/esm5/lib/components/search-judicials/search-judicials.component.js +0 -291
  406. package/esm5/lib/components/search-location/search-location.component.js +0 -330
  407. package/esm5/lib/components/search-venue/search-venue.component.js +0 -290
  408. package/esm5/lib/components/selected-case/selected-case.component.js +0 -430
  409. package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +0 -84
  410. package/esm5/lib/components/selected-case-list/selected-case-list.component.js +0 -109
  411. package/esm5/lib/components/service-message/service-message.component.js +0 -46
  412. package/esm5/lib/components/service-messages/service-messages.component.js +0 -122
  413. package/esm5/lib/components/share-case/share-case.component.js +0 -223
  414. package/esm5/lib/components/share-case-confirm/share-case-confirm.component.js +0 -70
  415. package/esm5/lib/components/tab/tab.component.js +0 -51
  416. package/esm5/lib/components/tc-confirm/tc-confirm.component.js +0 -42
  417. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +0 -22
  418. package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +0 -22
  419. package/esm5/lib/components/terms-and-conditions/terms-and-conditions.component.js +0 -29
  420. package/esm5/lib/components/user-details/user-details.component.js +0 -92
  421. package/esm5/lib/components/user-list/user-list.component.js +0 -76
  422. package/esm5/lib/components/user-select/user-select.component.js +0 -131
  423. package/esm5/lib/directives/feature-toggle/feature-toggle.directive.js +0 -104
  424. package/esm5/lib/directives/index.js +0 -7
  425. package/esm5/lib/directives/let/let.directive.js +0 -78
  426. package/esm5/lib/directives/public-api.js +0 -8
  427. package/esm5/lib/exui-common-lib.module.js +0 -162
  428. package/esm5/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +0 -56
  429. package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +0 -36
  430. package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +0 -135
  431. package/esm5/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +0 -37
  432. package/esm5/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -49
  433. package/esm5/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +0 -65
  434. package/esm5/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +0 -40
  435. package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +0 -66
  436. package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +0 -34
  437. package/esm5/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +0 -67
  438. package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +0 -36
  439. package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +0 -52
  440. package/esm5/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +0 -77
  441. package/esm5/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +0 -50
  442. package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +0 -38
  443. package/esm5/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +0 -108
  444. package/esm5/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +0 -40
  445. package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +0 -87
  446. package/esm5/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +0 -51
  447. package/esm5/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +0 -49
  448. package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +0 -46
  449. package/esm5/lib/gov-ui/components/index.js +0 -7
  450. package/esm5/lib/gov-ui/components/public_api.js +0 -7
  451. package/esm5/lib/gov-ui/directives/remove-host.directive.js +0 -52
  452. package/esm5/lib/gov-ui/gov-ui.service.js +0 -22
  453. package/esm5/lib/gov-ui/index.js +0 -7
  454. package/esm5/lib/gov-ui/models/banner-data-model.js +0 -16
  455. package/esm5/lib/gov-ui/models/checkboxes-model.js +0 -22
  456. package/esm5/lib/gov-ui/models/error-messages-model.js +0 -16
  457. package/esm5/lib/gov-ui/models/gov-ui-config-model.js +0 -36
  458. package/esm5/lib/gov-ui/models/index.js +0 -7
  459. package/esm5/lib/gov-ui/models/isession-storage.interface.js +0 -24
  460. package/esm5/lib/gov-ui/models/public_api.js +0 -13
  461. package/esm5/lib/gov-ui/public_api.js +0 -12
  462. package/esm5/lib/gov-ui/util/helpers/html-templates.helper.js +0 -57
  463. package/esm5/lib/gov-ui/util/session-storage/session-storage-utils.js +0 -58
  464. package/esm5/lib/gov-ui/validators/checkboxes-be-checked.validator.js +0 -38
  465. package/esm5/lib/gov-ui/validators/date.validator.js +0 -32
  466. package/esm5/lib/gov-ui/validators/index.js +0 -7
  467. package/esm5/lib/gov-ui/validators/public_api.js +0 -12
  468. package/esm5/lib/gov-ui/validators/radio-group.validator.js +0 -27
  469. package/esm5/lib/models/case-share.model.js +0 -26
  470. package/esm5/lib/models/contact-details.model.js +0 -31
  471. package/esm5/lib/models/due-date.model.js +0 -15
  472. package/esm5/lib/models/feature-user.js +0 -28
  473. package/esm5/lib/models/filter.model.js +0 -124
  474. package/esm5/lib/models/idle-config.model.js +0 -20
  475. package/esm5/lib/models/index.js +0 -20
  476. package/esm5/lib/models/location.model.js +0 -129
  477. package/esm5/lib/models/pagination.model.js +0 -18
  478. package/esm5/lib/models/person.model.js +0 -92
  479. package/esm5/lib/models/public_api.js +0 -11
  480. package/esm5/lib/models/search-options.model.js +0 -22
  481. package/esm5/lib/models/tcDocument.model.js +0 -18
  482. package/esm5/lib/models/timeout-notification.model.js +0 -18
  483. package/esm5/lib/models/user-details.model.js +0 -22
  484. package/esm5/lib/models/user.model.js +0 -25
  485. package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +0 -289
  486. package/esm5/lib/services/cookie/cookie.service.js +0 -136
  487. package/esm5/lib/services/feature-toggle/feature-toggle.guard.js +0 -89
  488. package/esm5/lib/services/feature-toggle/feature-toggle.service.js +0 -90
  489. package/esm5/lib/services/feature-toggle/launch-darkly.service.js +0 -187
  490. package/esm5/lib/services/filter/filter.service.js +0 -153
  491. package/esm5/lib/services/find-person/find-person.service.js +0 -238
  492. package/esm5/lib/services/google-analytics/google-analytics.service.js +0 -128
  493. package/esm5/lib/services/google-tag-manager/google-tag-manager.service.js +0 -135
  494. package/esm5/lib/services/index.js +0 -7
  495. package/esm5/lib/services/loading/loading.service.js +0 -109
  496. package/esm5/lib/services/locations/location.service.js +0 -86
  497. package/esm5/lib/services/manage-session/manage-session.services.js +0 -111
  498. package/esm5/lib/services/public-api.js +0 -25
  499. package/esm5/lib/services/role-guard/role.guard.js +0 -81
  500. package/esm5/lib/services/role-guard/role.service.js +0 -45
  501. package/esm5/lib/services/session-storage/session-storage.service.js +0 -96
  502. package/esm5/lib/services/timeout-notifications/timeout-notifications.service.js +0 -190
  503. package/esm5/lib/window.js +0 -13
  504. package/esm5/public-api.js +0 -16
  505. package/fesm2015/hmcts-rpx-xui-common-lib.js +0 -7973
  506. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +0 -1
  507. package/fesm5/hmcts-rpx-xui-common-lib.js +0 -9423
  508. package/fesm5/hmcts-rpx-xui-common-lib.js.map +0 -1
  509. package/hmcts-rpx-xui-common-lib.d.ts +0 -67
  510. package/hmcts-rpx-xui-common-lib.metadata.json +0 -1
  511. package/lib/gov-ui/models/banner-data-model.d.ts +0 -4
  512. package/lib/gov-ui/models/isession-storage.interface.d.ts +0 -4
  513. package/lib/gov-ui/util/session-storage/session-storage-utils.d.ts +0 -6
@@ -1,293 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/components/find-location/find-location.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import * as tslib_1 from "tslib";
7
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
8
- import { FormControl, FormGroup } from '@angular/forms';
9
- import { getValues } from '../generic-filter/generic-filter-utils';
10
- import { SearchLocationComponent } from '../search-location/search-location.component';
11
- var FindLocationComponent = /** @class */ (function () {
12
- function FindLocationComponent() {
13
- this.locationFieldChanged = new EventEmitter();
14
- this.selectedLocations = [];
15
- this.submitted = true;
16
- this.enableAddLocationButton = true;
17
- this.locationTitle = 'Search for a location by name';
18
- this.disableInputField = false;
19
- this.locations = [];
20
- this.tempSelectedLocation = null;
21
- this.serviceIds = 'SSCS,IA';
22
- this.pServices = [];
23
- this.pDisabled = false;
24
- }
25
- Object.defineProperty(FindLocationComponent.prototype, "disabled", {
26
- get: /**
27
- * @return {?}
28
- */
29
- function () {
30
- return this.pDisabled;
31
- },
32
- set: /**
33
- * @param {?} value
34
- * @return {?}
35
- */
36
- function (value) {
37
- if (value) {
38
- this.searchLocationComponent.resetSearchTerm();
39
- this.removeSelectedValues();
40
- }
41
- this.pDisabled = this.disableInputField === true ? true : null;
42
- },
43
- enumerable: true,
44
- configurable: true
45
- });
46
- Object.defineProperty(FindLocationComponent.prototype, "services", {
47
- get: /**
48
- * @return {?}
49
- */
50
- function () {
51
- return this.pServices;
52
- },
53
- set: /**
54
- * @param {?} value
55
- * @return {?}
56
- */
57
- function (value) {
58
- var _this = this;
59
- this.pServices = value;
60
- /** @type {?} */
61
- var field = this.fields.find((/**
62
- * @param {?} f
63
- * @return {?}
64
- */
65
- function (f) { return f.name === _this.field.findLocationField; }));
66
- if (field) {
67
- if (typeof value === 'string') {
68
- this.serviceIds = value;
69
- }
70
- else {
71
- this.serviceIds = getValues(field.options, value).filter((/**
72
- * @param {?} x
73
- * @return {?}
74
- */
75
- function (x) { return x !== 'services_all'; })).join(',');
76
- }
77
- }
78
- },
79
- enumerable: true,
80
- configurable: true
81
- });
82
- /**
83
- * @return {?}
84
- */
85
- FindLocationComponent.prototype.ngOnInit = /**
86
- * @return {?}
87
- */
88
- function () {
89
- // implemented to get rid of undefined values
90
- this.selectedLocations = this.selectedLocations.filter((/**
91
- * @param {?} location
92
- * @return {?}
93
- */
94
- function (location) { return location.epimms_id; }));
95
- };
96
- /**
97
- * @return {?}
98
- */
99
- FindLocationComponent.prototype.addLocation = /**
100
- * @return {?}
101
- */
102
- function () {
103
- if (this.tempSelectedLocation) {
104
- this.selectedLocations = tslib_1.__spread(this.selectedLocations, [this.tempSelectedLocation]);
105
- this.addSelectedLocationsToForm([this.tempSelectedLocation]);
106
- this.tempSelectedLocation = null;
107
- this.locations = [];
108
- this.searchLocationComponent.resetSearchTerm();
109
- }
110
- };
111
- /**
112
- * @param {?} location
113
- * @return {?}
114
- */
115
- FindLocationComponent.prototype.removeLocation = /**
116
- * @param {?} location
117
- * @return {?}
118
- */
119
- function (location) {
120
- if (location.epimms_id) {
121
- this.selectedLocations = this.selectedLocations.filter((/**
122
- * @param {?} selectedLocation
123
- * @return {?}
124
- */
125
- function (selectedLocation) { return selectedLocation.epimms_id !== location.epimms_id; }));
126
- /** @type {?} */
127
- var formArray = (/** @type {?} */ (this.form.get(this.field.name)));
128
- /** @type {?} */
129
- var index = ((/** @type {?} */ (formArray.value))).findIndex((/**
130
- * @param {?} selectedLocation
131
- * @return {?}
132
- */
133
- function (selectedLocation) { return selectedLocation.epimms_id === location.epimms_id; }));
134
- if (index > -1) {
135
- formArray.removeAt(index);
136
- }
137
- }
138
- };
139
- /**
140
- * @param {?} term
141
- * @return {?}
142
- */
143
- FindLocationComponent.prototype.onInputChanged = /**
144
- * @param {?} term
145
- * @return {?}
146
- */
147
- function (term) {
148
- // if the filter is in single mode clear the selected locations
149
- if (typeof term === 'string' && this.field.maxSelected === 1) {
150
- this.removeSelectedValues();
151
- }
152
- };
153
- /**
154
- * @return {?}
155
- */
156
- FindLocationComponent.prototype.onSearchInputChanged = /**
157
- * @return {?}
158
- */
159
- function () {
160
- this.locationFieldChanged.emit();
161
- };
162
- /**
163
- * @param {?} location
164
- * @return {?}
165
- */
166
- FindLocationComponent.prototype.onLocationSelected = /**
167
- * @param {?} location
168
- * @return {?}
169
- */
170
- function (location) {
171
- if (this.field.maxSelected === 1) {
172
- this.removeSelectedValues();
173
- this.addSelectedLocationsToForm([location]);
174
- }
175
- else {
176
- if (!this.selectedLocations.find((/**
177
- * @param {?} x
178
- * @return {?}
179
- */
180
- function (x) { return x.epimms_id === location.epimms_id; }))) {
181
- if (location.epimms_id) {
182
- this.tempSelectedLocation = location;
183
- }
184
- }
185
- }
186
- };
187
- /**
188
- * @private
189
- * @return {?}
190
- */
191
- FindLocationComponent.prototype.removeSelectedValues = /**
192
- * @private
193
- * @return {?}
194
- */
195
- function () {
196
- /** @type {?} */
197
- var formArray = (/** @type {?} */ (this.form.get(this.field.name)));
198
- for (var i = 0; i < formArray.length; i++) {
199
- formArray.removeAt(i);
200
- }
201
- this.selectedLocations = [];
202
- };
203
- /**
204
- * @private
205
- * @param {?} locations
206
- * @return {?}
207
- */
208
- FindLocationComponent.prototype.addSelectedLocationsToForm = /**
209
- * @private
210
- * @param {?} locations
211
- * @return {?}
212
- */
213
- function (locations) {
214
- var e_1, _a;
215
- /** @type {?} */
216
- var formArray = (/** @type {?} */ (this.form.get(this.field.name)));
217
- try {
218
- for (var locations_1 = tslib_1.__values(locations), locations_1_1 = locations_1.next(); !locations_1_1.done; locations_1_1 = locations_1.next()) {
219
- var location_1 = locations_1_1.value;
220
- formArray.push(new FormControl(location_1));
221
- }
222
- }
223
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
224
- finally {
225
- try {
226
- if (locations_1_1 && !locations_1_1.done && (_a = locations_1.return)) _a.call(locations_1);
227
- }
228
- finally { if (e_1) throw e_1.error; }
229
- }
230
- };
231
- FindLocationComponent.decorators = [
232
- { type: Component, args: [{
233
- selector: 'xuilib-find-location',
234
- template: "<div class=\"location-picker-custom\">\n <div class=\"search-location\">\n <div>\n <label id=\"input-selected-location-label\" *ngIf=\"locationTitle\">{{locationTitle}}</label>\n </div>\n <exui-search-location class=\"search-location\"\n [locations]=\"locations\"\n [selectedLocations]=\"selectedLocations\"\n [singleMode]=\"field.maxSelected === 1\"\n [bookingCheck]=\"field.bookingCheckType\"\n [delay]=\"300\"\n [disabled]=\"disabled\"\n [serviceIds]=\"serviceIds\"\n (locationInputChanged)=\"onInputChanged($event)\"\n (locationSelected)=\"onLocationSelected($event)\"\n (searchLocationChanged)=\"onSearchInputChanged()\"\n [locationType]=\"'case-management'\"></exui-search-location>\n <a href=\"javascript:void(0)\" (click)=\"addLocation()\" class=\"govuk-button\" data-module=\"govuk-button\" *ngIf=\"enableAddLocationButton\">\n Add location\n </a>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedLocations\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeLocation(selection)\" href=\"javascript:void(0)\">\n {{ selection.site_name }}\n </a>\n </li>\n </ul>\n</div>\n",
235
- styles: [""]
236
- }] }
237
- ];
238
- FindLocationComponent.propDecorators = {
239
- locationFieldChanged: [{ type: Output }],
240
- selectedLocations: [{ type: Input }],
241
- submitted: [{ type: Input }],
242
- enableAddLocationButton: [{ type: Input }],
243
- form: [{ type: Input }],
244
- field: [{ type: Input }],
245
- fields: [{ type: Input }],
246
- locationTitle: [{ type: Input }],
247
- disableInputField: [{ type: Input }],
248
- searchLocationComponent: [{ type: ViewChild, args: [SearchLocationComponent, { static: true },] }],
249
- disabled: [{ type: Input }],
250
- services: [{ type: Input }]
251
- };
252
- return FindLocationComponent;
253
- }());
254
- export { FindLocationComponent };
255
- if (false) {
256
- /** @type {?} */
257
- FindLocationComponent.prototype.locationFieldChanged;
258
- /** @type {?} */
259
- FindLocationComponent.prototype.selectedLocations;
260
- /** @type {?} */
261
- FindLocationComponent.prototype.submitted;
262
- /** @type {?} */
263
- FindLocationComponent.prototype.enableAddLocationButton;
264
- /** @type {?} */
265
- FindLocationComponent.prototype.form;
266
- /** @type {?} */
267
- FindLocationComponent.prototype.field;
268
- /** @type {?} */
269
- FindLocationComponent.prototype.fields;
270
- /** @type {?} */
271
- FindLocationComponent.prototype.locationTitle;
272
- /** @type {?} */
273
- FindLocationComponent.prototype.disableInputField;
274
- /** @type {?} */
275
- FindLocationComponent.prototype.locations;
276
- /** @type {?} */
277
- FindLocationComponent.prototype.tempSelectedLocation;
278
- /** @type {?} */
279
- FindLocationComponent.prototype.serviceIds;
280
- /** @type {?} */
281
- FindLocationComponent.prototype.searchLocationComponent;
282
- /**
283
- * @type {?}
284
- * @private
285
- */
286
- FindLocationComponent.prototype.pServices;
287
- /**
288
- * @type {?}
289
- * @private
290
- */
291
- FindLocationComponent.prototype.pDisabled;
292
- }
293
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1sb2NhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZmluZC1sb2NhdGlvbi9maW5kLWxvY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQVksV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBR2pFLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx3Q0FBd0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUVyRjtJQUFBO1FBTW1CLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDakQsc0JBQWlCLEdBQTRCLEVBQUUsQ0FBQztRQUNoRCxjQUFTLEdBQVksSUFBSSxDQUFDO1FBQzFCLDRCQUF1QixHQUFZLElBQUksQ0FBQztRQUl4QyxrQkFBYSxHQUFHLCtCQUErQixDQUFDO1FBQ2hELHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUNuQyxjQUFTLEdBQTRCLEVBQUUsQ0FBQztRQUN4Qyx5QkFBb0IsR0FBMEIsSUFBSSxDQUFDO1FBQ25ELGVBQVUsR0FBVyxTQUFTLENBQUM7UUFFOUIsY0FBUyxHQUFhLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQVksS0FBSyxDQUFDO0lBZ0dyQyxDQUFDO0lBOUZDLHNCQUFXLDJDQUFROzs7O1FBQW5CO1lBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hCLENBQUM7Ozs7O1FBRUQsVUFDb0IsS0FBYztZQUNoQyxJQUFJLEtBQUssRUFBRTtnQkFDVCxJQUFJLENBQUMsdUJBQXVCLENBQUMsZUFBZSxFQUFFLENB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RSxDQUFDO0lBQzlCLENBQUM7Ozs7OztJQUVPLDBEQUEwQjs7Ozs7SUFBbEMsVUFBbUMsU0FBa0M7OztZQUM3RCxTQUFTLEdBQUcsbUJBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBYTs7WUFDN0QsS0FBdUIsSUFBQSxjQUFBLGlCQUFBLFNBQVMsQ0FBQSxvQ0FBQSwyREFBRTtnQkFBN0IsSUFBTSxVQUFRLHNCQUFBO2dCQUNqQixTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLFVBQVEsQ0FBQyxDQUFDLENBQUM7YUFDM0M7Ozs7Ozs7OztJQUNILENBQUM7O2dCQW5IRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsZ2dEQUE2Qzs7aUJBRTlDOzs7dUNBRUUsTUFBTTtvQ0FDTixLQUFLOzRCQUNMLEtBQUs7MENBQ0wsS0FBSzt1QkFDTCxLQUFLO3dCQUNMLEtBQUs7eUJBQ0wsS0FBSztnQ0FDTCxLQUFLO29DQUNMLEtBQUs7MENBSUwsU0FBUyxTQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTsyQkFRbkQsS0FBSzsyQkFhTCxLQUFLOztJQTZFUiw0QkFBQztDQUFBLEFBcEhELElBb0hDO1NBL0dZLHFCQUFxQjs7O0lBQ2hDLHFEQUFpRTs7SUFDakUsa0RBQWdFOztJQUNoRSwwQ0FBMEM7O0lBQzFDLHdEQUF3RDs7SUFDeEQscUNBQWdDOztJQUNoQyxzQ0FBeUM7O0lBQ3pDLHVDQUE0Qzs7SUFDNUMsOENBQWdFOztJQUNoRSxrREFBMEM7O0lBQzFDLDBDQUErQzs7SUFDL0MscURBQTBEOztJQUMxRCwyQ0FBc0M7O0lBQ3RDLHdEQUE4Rzs7Ozs7SUFDOUcsMENBQWlDOzs7OztJQUNqQywwQ0FBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Zvcm1BcnJheSwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtGaWx0ZXJGaWVsZENvbmZpZ30gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7TG9jYXRpb25CeUVQSU1NU01vZGVsfSBmcm9tICcuLi8uLi9tb2RlbHMvbG9jYXRpb24ubW9kZWwnO1xuaW1wb3J0IHtnZXRWYWx1ZXN9IGZyb20gJy4uL2dlbmVyaWMtZmlsdGVyL2dlbmVyaWMtZmlsdGVyLXV0aWxzJztcbmltcG9ydCB7U2VhcmNoTG9jYXRpb25Db21wb25lbnR9IGZyb20gJy4uL3NlYXJjaC1sb2NhdGlvbi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLWZpbmQtbG9jYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmluZC1sb2NhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbmQtbG9jYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGaW5kTG9jYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uRmllbGRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRMb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZW5hYmxlQWRkTG9jYXRpb25CdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgZmllbGQ6IEZpbHRlckZpZWxkQ29uZmlnO1xuICBASW5wdXQoKSBwdWJsaWMgZmllbGRzOiBGaWx0ZXJGaWVsZENvbmZpZ1tdO1xuICBASW5wdXQoKSBwdWJsaWMgbG9jYXRpb25UaXRsZSA9ICdTZWFyY2ggZm9yIGEgbG9jYXRpb24gYnkgbmFtZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlSW5wdXRGaWVsZCA9IGZhbHNlO1xuICBwdWJsaWMgbG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgdGVtcFNlbGVjdGVkTG9jYXRpb246IExvY2F0aW9uQnlFUElNTVNNb2RlbCA9IG51bGw7XG4gIHB1YmxpYyBzZXJ2aWNlSWRzOiBzdHJpbmcgPSAnU1NDUyxJQSc7XG4gIEBWaWV3Q2hpbGQoU2VhcmNoTG9jYXRpb25Db21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBzZWFyY2hMb2NhdGlvbkNvbXBvbmVudDogU2VhcmNoTG9jYXRpb25Db21wb25lbnQ7XG4gIHByaXZhdGUgcFNlcnZpY2VzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIHBEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucERpc2FibGVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdGhpcy5zZWFyY2hMb2NhdGlvbkNvbXBvbmVudC5yZXNldFNlYXJjaFRlcm0oKTtcbiAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICB9XG4gICAgdGhpcy5wRGlzYWJsZWQgPSB0aGlzLmRpc2FibGVJbnB1dEZpZWxkID09PSB0cnVlID8gdHJ1ZSA6IG51bGw7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlcnZpY2VzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5wU2VydmljZXM7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlcnZpY2VzKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIHRoaXMucFNlcnZpY2VzID0gdmFsdWU7XG4gICAgY29uc3QgZmllbGQgPSB0aGlzLmZpZWxkcy5maW5kKGYgPT4gZi5uYW1lID09PSB0aGlzLmZpZWxkLmZpbmRMb2NhdGlvbkZpZWxkKTtcbiAgICBpZiAoZmllbGQpIHtcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuc2VydmljZUlkcyA9IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlSWRzID0gZ2V0VmFsdWVzKGZpZWxkLm9wdGlvbnMsIHZhbHVlKS5maWx0ZXIoeCA9PiB4ICE9PSAnc2VydmljZXNfYWxsJykuam9pbignLCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBpbXBsZW1lbnRlZCB0byBnZXQgcmlkIG9mIHVuZGVmaW5lZCB2YWx1ZXNcbiAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb25zID0gdGhpcy5zZWxlY3RlZExvY2F0aW9ucy5maWx0ZXIobG9jYXRpb24gPT4gbG9jYXRpb24uZXBpbW1zX2lkKTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRMb2NhdGlvbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50ZW1wU2VsZWN0ZWRMb2NhdGlvbikge1xuICAgICAgdGhpcy5zZWxlY3RlZExvY2F0aW9ucyA9IFsuLi50aGlzLnNlbGVjdGVkTG9jYXRpb25zLCB0aGlzLnRlbXBTZWxlY3RlZExvY2F0aW9uXTtcbiAgICAgIHRoaXMuYWRkU2VsZWN0ZWRMb2NhdGlvbnNUb0Zvcm0oW3RoaXMudGVtcFNlbGVjdGVkTG9jYXRpb25dKTtcbiAgICAgIHRoaXMudGVtcFNlbGVjdGVkTG9jYXRpb24gPSBudWxsO1xuICAgICAgdGhpcy5sb2NhdGlvbnMgPSBbXTtcbiAgICAgIHRoaXMuc2VhcmNoTG9jYXRpb25Db21wb25lbnQucmVzZXRTZWFyY2hUZXJtKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHJlbW92ZUxvY2F0aW9uKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAobG9jYXRpb24uZXBpbW1zX2lkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb25zID0gdGhpcy5zZWxlY3RlZExvY2F0aW9ucy5maWx0ZXIoc2VsZWN0ZWRMb2NhdGlvbiA9PiBzZWxlY3RlZExvY2F0aW9uLmVwaW1tc19pZCAhPT0gbG9jYXRpb24uZXBpbW1zX2lkKTtcbiAgICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5uYW1lKSBhcyBGb3JtQXJyYXk7XG4gICAgICBjb25zdCBpbmRleCA9IChmb3JtQXJyYXkudmFsdWUgYXMgTG9jYXRpb25CeUVQSU1NU01vZGVsW10pLmZpbmRJbmRleChzZWxlY3RlZExvY2F0aW9uID0+IHNlbGVjdGVkTG9jYXRpb24uZXBpbW1zX2lkID09PSBsb2NhdGlvbi5lcGltbXNfaWQpO1xuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgZm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25JbnB1dENoYW5nZWQodGVybTogc3RyaW5nKTogdm9pZCB7XG4gICAgLy8gaWYgdGhlIGZpbHRlciBpcyBpbiBzaW5nbGUgbW9kZSBjbGVhciB0aGUgc2VsZWN0ZWQgbG9jYXRpb25zXG4gICAgaWYgKHR5cGVvZiB0ZXJtID09PSAnc3RyaW5nJyAmJiB0aGlzLmZpZWxkLm1heFNlbGVjdGVkID09PSAxKSB7XG4gICAgICAgIHRoaXMucmVtb3ZlU2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWFyY2hJbnB1dENoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhdGlvbkZpZWxkQ2hhbmdlZC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25Mb2NhdGlvblNlbGVjdGVkKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWVsZC5tYXhTZWxlY3RlZCA9PT0gMSkge1xuICAgICAgdGhpcy5yZW1vdmVTZWxlY3RlZFZhbHVlcygpO1xuICAgICAgdGhpcy5hZGRTZWxlY3RlZExvY2F0aW9uc1RvRm9ybShbbG9jYXRpb25dKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkTG9jYXRpb25zLmZpbmQoeCA9PiB4LmVwaW1tc19pZCA9PT0gbG9jYXRpb24uZXBpbW1zX2lkKSkge1xuICAgICAgICBpZiAobG9jYXRpb24uZXBpbW1zX2lkKSB7XG4gICAgICAgICAgdGhpcy50ZW1wU2VsZWN0ZWRMb2NhdGlvbiA9IGxvY2F0aW9uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVTZWxlY3RlZFZhbHVlcygpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQubmFtZSkgYXMgRm9ybUFycmF5O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm9ybUFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBmb3JtQXJyYXkucmVtb3ZlQXQoaSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkU2VsZWN0ZWRMb2NhdGlvbnNUb0Zvcm0obG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSk6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1BcnJheSA9IHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5uYW1lKSBhcyBGb3JtQXJyYXk7XG4gICAgZm9yIChjb25zdCBsb2NhdGlvbiBvZiBsb2NhdGlvbnMpIHtcbiAgICAgIGZvcm1BcnJheS5wdXNoKG5ldyBGb3JtQ29udHJvbChsb2NhdGlvbikpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,286 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/components/find-person/find-person.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
7
- import { FormControl, FormGroup } from '@angular/forms';
8
- import { of, zip } from 'rxjs';
9
- import { catchError, debounceTime, filter, map, switchMap, tap } from 'rxjs/operators';
10
- import { PersonRole } from '../../models';
11
- import { FindAPersonService } from '../../services/find-person/find-person.service';
12
- var FindPersonComponent = /** @class */ (function () {
13
- function FindPersonComponent(findPersonService, cd) {
14
- this.findPersonService = findPersonService;
15
- this.cd = cd;
16
- this.personSelected = new EventEmitter();
17
- this.personFieldChanged = new EventEmitter();
18
- this.boldTitle = 'Find the person';
19
- this.subTitle = 'Type the name of the person and select them.';
20
- this.domain = PersonRole.ALL;
21
- this.findPersonGroup = new FormGroup({});
22
- this.submitted = true;
23
- this.userIncluded = false;
24
- this.placeholderContent = '';
25
- this.isNoResultsShown = true;
26
- this.showUpdatedColor = false;
27
- this.selectedPersons = [];
28
- this.errorMessage = 'You must select a name';
29
- this.idValue = '';
30
- this.services = ['IA'];
31
- this.disabled = null;
32
- this.showAutocomplete = false;
33
- this.filteredOptions = [];
34
- this.minSearchCharacters = 2;
35
- }
36
- /**
37
- * @return {?}
38
- */
39
- FindPersonComponent.prototype.ngOnDestroy = /**
40
- * @return {?}
41
- */
42
- function () {
43
- if (this.sub) {
44
- this.sub.unsubscribe();
45
- }
46
- };
47
- /**
48
- * @return {?}
49
- */
50
- FindPersonComponent.prototype.ngOnInit = /**
51
- * @return {?}
52
- */
53
- function () {
54
- var _this = this;
55
- this.findPersonControl = new FormControl(this.selectedPerson);
56
- this.findPersonGroup.addControl('findPersonControl', this.findPersonControl);
57
- this.sub = this.findPersonControl.valueChanges.pipe(tap((/**
58
- * @return {?}
59
- */
60
- function () { return _this.showAutocomplete = false; })), tap((/**
61
- * @return {?}
62
- */
63
- function () { return _this.filteredOptions = []; })), debounceTime(300), tap((/**
64
- * @param {?} searchTerm
65
- * @return {?}
66
- */
67
- function (searchTerm) { return typeof searchTerm === 'string' ? _this.personSelected.emit(null) : void 0; })), filter((/**
68
- * @param {?} searchTerm
69
- * @return {?}
70
- */
71
- function (searchTerm) { return searchTerm && searchTerm.length > _this.minSearchCharacters; })), switchMap((/**
72
- * @param {?} searchTerm
73
- * @return {?}
74
- */
75
- function (searchTerm) { return _this.filter(searchTerm).pipe(tap((/**
76
- * @return {?}
77
- */
78
- function () { return _this.showAutocomplete = true; })), catchError((/**
79
- * @return {?}
80
- */
81
- function () { return _this.filteredOptions = []; }))); }))).subscribe((/**
82
- * @param {?} people
83
- * @return {?}
84
- */
85
- function (people) {
86
- _this.filteredOptions = people;
87
- _this.cd.detectChanges();
88
- }));
89
- };
90
- /**
91
- * @param {?} searchTerm
92
- * @return {?}
93
- */
94
- FindPersonComponent.prototype.filter = /**
95
- * @param {?} searchTerm
96
- * @return {?}
97
- */
98
- function (searchTerm) {
99
- var _this = this;
100
- /** @type {?} */
101
- var findJudicialPeople = this.findPersonService.find({ searchTerm: searchTerm, userRole: this.domain, services: this.services, userIncluded: this.userIncluded, assignedUser: this.assignedUser });
102
- /** @type {?} */
103
- var findCaseworkersOrAdmins = this.findPersonService.findCaseworkers({ searchTerm: searchTerm, userRole: this.domain, services: this.services, userIncluded: this.userIncluded, assignedUser: this.assignedUser });
104
- if (searchTerm && searchTerm.length > this.minSearchCharacters) {
105
- switch (this.domain) {
106
- case PersonRole.JUDICIAL: {
107
- return findJudicialPeople.pipe(map((/**
108
- * @param {?} persons
109
- * @return {?}
110
- */
111
- function (persons) {
112
- /** @type {?} */
113
- var ids = _this.selectedPersons.map((/**
114
- * @param {?} __0
115
- * @return {?}
116
- */
117
- function (_a) {
118
- var id = _a.id;
119
- return id;
120
- }));
121
- return persons.filter((/**
122
- * @param {?} __0
123
- * @return {?}
124
- */
125
- function (_a) {
126
- var id = _a.id;
127
- return !ids.includes(id);
128
- }));
129
- })));
130
- }
131
- case PersonRole.ALL: {
132
- return zip(findJudicialPeople, findCaseworkersOrAdmins).pipe(map((/**
133
- * @param {?} separatePeople
134
- * @return {?}
135
- */
136
- function (separatePeople) { return separatePeople[0].concat(separatePeople[1]); })));
137
- }
138
- case PersonRole.CASEWORKER:
139
- case PersonRole.ADMIN: {
140
- return findCaseworkersOrAdmins;
141
- }
142
- default: {
143
- return of([]);
144
- }
145
- }
146
- }
147
- return of([]);
148
- };
149
- /**
150
- * @param {?} selectedPerson
151
- * @return {?}
152
- */
153
- FindPersonComponent.prototype.onSelectionChange = /**
154
- * @param {?} selectedPerson
155
- * @return {?}
156
- */
157
- function (selectedPerson) {
158
- this.personSelected.emit(selectedPerson);
159
- this.findPersonControl.setValue(this.getDisplayName(selectedPerson), { emitEvent: false, onlySelf: true });
160
- };
161
- /**
162
- * @param {?} selectedPerson
163
- * @return {?}
164
- */
165
- FindPersonComponent.prototype.getDisplayName = /**
166
- * @param {?} selectedPerson
167
- * @return {?}
168
- */
169
- function (selectedPerson) {
170
- if (!selectedPerson) {
171
- return '';
172
- }
173
- if (selectedPerson.domain === PersonRole.JUDICIAL && selectedPerson.knownAs) {
174
- return selectedPerson.knownAs + " (" + selectedPerson.email + ")";
175
- }
176
- return selectedPerson.email ? selectedPerson.name + " (" + selectedPerson.email + ")" : selectedPerson.name;
177
- };
178
- /**
179
- * @return {?}
180
- */
181
- FindPersonComponent.prototype.onInput = /**
182
- * @return {?}
183
- */
184
- function () {
185
- this.personFieldChanged.emit();
186
- };
187
- FindPersonComponent.decorators = [
188
- { type: Component, args: [{
189
- selector: 'xuilib-find-person',
190
- template: "<h1 class=\"govuk-heading-l\" *ngIf=\"title && title.length\">\n <span class=\"govuk-caption-l\">{{title}}</span>\n {{boldTitle}}\n</h1>\n<div class=\"govuk-form-group\" [formGroup]=\"findPersonGroup\"\n [ngClass]=\"{'form-group-error': findPersonGroup.get('findPersonControl').invalid && submitted}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"sub-title-hint\">\n <div id=\"sub-title-hint\" class=\"govuk-hint\" *ngIf=\"subTitle && subTitle.length\">\n {{subTitle}}\n </div>\n <span id=\"validation-error\" class=\"govuk-error-message\" *ngIf=\"findPersonGroup && findPersonGroup.errors\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{findPersonGroup.errors.error ? findPersonGroup.errors.error : errorMessage}}\n </span>\n <input id=\"inputSelectPerson{{idValue}}\" type=\"text\" aria-label=\"select a person\"\n formControlName=\"findPersonControl\"\n [matAutocomplete]=\"auto\"\n class=\"govuk-input govuk-!-width-one-third\"\n [placeholder]=\"placeholderContent\"\n [attr.disabled]=\"disabled\"\n (input)=\"onInput()\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onSelectionChange($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\"\n [value]=\"option\"\n [ngClass]=\"{'hide-autocomplete': !showAutocomplete, 'select-option': showUpdatedColor}\">\n {{getDisplayName(option)}}\n </mat-option>\n <mat-option [ngClass]=\"{'select-option': showUpdatedColor}\" *ngIf=\"isNoResultsShown && !filteredOptions.length && showAutocomplete\">No results found</mat-option>\n </mat-autocomplete>\n </fieldset>\n</div>\n",
191
- styles: [".mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}.hide-autocomplete{display:none}"]
192
- }] }
193
- ];
194
- /** @nocollapse */
195
- FindPersonComponent.ctorParameters = function () { return [
196
- { type: FindAPersonService },
197
- { type: ChangeDetectorRef }
198
- ]; };
199
- FindPersonComponent.propDecorators = {
200
- personSelected: [{ type: Output }],
201
- personFieldChanged: [{ type: Output }],
202
- title: [{ type: Input }],
203
- boldTitle: [{ type: Input }],
204
- subTitle: [{ type: Input }],
205
- domain: [{ type: Input }],
206
- findPersonGroup: [{ type: Input }],
207
- selectedPerson: [{ type: Input }],
208
- submitted: [{ type: Input }],
209
- userIncluded: [{ type: Input }],
210
- assignedUser: [{ type: Input }],
211
- placeholderContent: [{ type: Input }],
212
- isNoResultsShown: [{ type: Input }],
213
- showUpdatedColor: [{ type: Input }],
214
- selectedPersons: [{ type: Input }],
215
- errorMessage: [{ type: Input }],
216
- idValue: [{ type: Input }],
217
- services: [{ type: Input }],
218
- disabled: [{ type: Input }]
219
- };
220
- return FindPersonComponent;
221
- }());
222
- export { FindPersonComponent };
223
- if (false) {
224
- /** @type {?} */
225
- FindPersonComponent.prototype.personSelected;
226
- /** @type {?} */
227
- FindPersonComponent.prototype.personFieldChanged;
228
- /** @type {?} */
229
- FindPersonComponent.prototype.title;
230
- /** @type {?} */
231
- FindPersonComponent.prototype.boldTitle;
232
- /** @type {?} */
233
- FindPersonComponent.prototype.subTitle;
234
- /** @type {?} */
235
- FindPersonComponent.prototype.domain;
236
- /** @type {?} */
237
- FindPersonComponent.prototype.findPersonGroup;
238
- /** @type {?} */
239
- FindPersonComponent.prototype.selectedPerson;
240
- /** @type {?} */
241
- FindPersonComponent.prototype.submitted;
242
- /** @type {?} */
243
- FindPersonComponent.prototype.userIncluded;
244
- /** @type {?} */
245
- FindPersonComponent.prototype.assignedUser;
246
- /** @type {?} */
247
- FindPersonComponent.prototype.placeholderContent;
248
- /** @type {?} */
249
- FindPersonComponent.prototype.isNoResultsShown;
250
- /** @type {?} */
251
- FindPersonComponent.prototype.showUpdatedColor;
252
- /** @type {?} */
253
- FindPersonComponent.prototype.selectedPersons;
254
- /** @type {?} */
255
- FindPersonComponent.prototype.errorMessage;
256
- /** @type {?} */
257
- FindPersonComponent.prototype.idValue;
258
- /** @type {?} */
259
- FindPersonComponent.prototype.services;
260
- /** @type {?} */
261
- FindPersonComponent.prototype.disabled;
262
- /** @type {?} */
263
- FindPersonComponent.prototype.showAutocomplete;
264
- /** @type {?} */
265
- FindPersonComponent.prototype.findPersonControl;
266
- /** @type {?} */
267
- FindPersonComponent.prototype.filteredOptions;
268
- /** @type {?} */
269
- FindPersonComponent.prototype.minSearchCharacters;
270
- /**
271
- * @type {?}
272
- * @private
273
- */
274
- FindPersonComponent.prototype.sub;
275
- /**
276
- * @type {?}
277
- * @private
278
- */
279
- FindPersonComponent.prototype.findPersonService;
280
- /**
281
- * @type {?}
282
- * @private
283
- */
284
- FindPersonComponent.prototype.cd;
285
- }
286
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1wZXJzb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFhLEVBQUUsRUFBZ0IsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBUyxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDaEQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFFbEY7SUFnQ0UsNkJBQTZCLGlCQUFxQyxFQUFtQixFQUFxQjtRQUE3RSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW9CO1FBQW1CLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBekJ6RixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDNUMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUUvQyxjQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFDOUIsYUFBUSxHQUFHLDhDQUE4QyxDQUFDO1FBQzFELFdBQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDO1FBQ3hCLG9CQUFlLEdBQWMsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFL0MsY0FBUyxHQUFZLElBQUksQ0FBQztRQUMxQixp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TUFBTTt3QkFDTixLQUFLOzRCQUNMLEtBQUs7MkJBQ0wsS0FBSzt5QkFDTCxLQUFLO2tDQUNMLEtBQUs7aUNBQ0wsS0FBSzs0QkFDTCxLQUFLOytCQUNMLEtBQUs7K0JBQ0wsS0FBSztxQ0FDTCxLQUFLO21DQUNMLEtBQUs7bUNBQ0wsS0FBSztrQ0FDTCxLQUFLOytCQUNMLEtBQUs7MEJBQ0wsS0FBSzsyQkFDTCxLQUFLOzJCQUNMLEtBQUs7O0lBK0VSLDBCQUFDO0NBQUEsQUF4R0QsSUF3R0M7U0FsR1ksbUJBQW1COzs7SUFDOUIsNkNBQTZEOztJQUM3RCxpREFBK0Q7O0lBQy9ELG9DQUE4Qjs7SUFDOUIsd0NBQThDOztJQUM5Qyx1Q0FBMEU7O0lBQzFFLHFDQUF3Qzs7SUFDeEMsOENBQStEOztJQUMvRCw2Q0FBdUM7O0lBQ3ZDLHdDQUEwQzs7SUFDMUMsMkNBQStDOztJQUMvQywyQ0FBc0M7O0lBQ3RDLGlEQUFnRDs7SUFDaEQsK0NBQWlEOztJQUNqRCwrQ0FBa0Q7O0lBQ2xELDhDQUErQzs7SUFDL0MsMkNBQWdFOztJQUNoRSxzQ0FBcUM7O0lBQ3JDLHVDQUE0Qzs7SUFDNUMsdUNBQXlDOztJQUN6QywrQ0FBeUM7O0lBQ3pDLGdEQUFzQzs7SUFDdEMsOENBQXNDOztJQUN0QyxrREFBd0M7Ozs7O0lBQ3hDLGtDQUEwQjs7Ozs7SUFFZCxnREFBc0Q7Ozs7O0lBQUUsaUNBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uLCB6aXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBzd2l0Y2hNYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtQZXJzb24sIFBlcnNvblJvbGV9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge0ZpbmRBUGVyc29uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmluZC1wZXJzb24vZmluZC1wZXJzb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1maW5kLXBlcnNvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maW5kLXBlcnNvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbmQtcGVyc29uLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuXG5leHBvcnQgY2xhc3MgRmluZFBlcnNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQE91dHB1dCgpIHB1YmxpYyBwZXJzb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8UGVyc29uPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHBlcnNvbkZpZWxkQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgcHVibGljIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBib2xkVGl0bGUgPSAnRmluZCB0aGUgcGVyc29uJztcbiAgQElucHV0KCkgcHVibGljIHN1YlRpdGxlID0gJ1R5cGUgdGhlIG5hbWUgb2YgdGhlIHBlcnNvbiBhbmQgc2VsZWN0IHRoZW0uJztcbiAgQElucHV0KCkgcHVibGljIGRvbWFpbiA9IFBlcnNvblJvbGUuQUxMO1xuICBASW5wdXQoKSBwdWJsaWMgZmluZFBlcnNvbkdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkUGVyc29uOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgdXNlckluY2x1ZGVkPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgYXNzaWduZWRVc2VyPzogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXJDb250ZW50OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIGlzTm9SZXN1bHRzU2hvd246IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd1VwZGF0ZWRDb2xvcjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRQZXJzb25zOiBQZXJzb25bXSA9IFtdO1xuICBASW5wdXQoKSBwdWJsaWMgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnWW91IG11c3Qgc2VsZWN0IGEgbmFtZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpZFZhbHVlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHNlcnZpY2VzOiBzdHJpbmdbXSA9IFsnSUEnXTtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgcHVibGljIHNob3dBdXRvY29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGZpbmRQZXJzb25Db250cm9sOiBGb3JtQ29udHJvbDtcbiAgcHVibGljIGZpbHRlcmVkT3B0aW9uczogUGVyc29uW10gPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAyO1xuICBwcml2YXRlIHN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZmluZFBlcnNvblNlcnZpY2U6IEZpbmRBUGVyc29uU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5zdWIpIHtcbiAgICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmluZFBlcnNvbkNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wodGhpcy5zZWxlY3RlZFBlcnNvbik7XG4gICAgdGhpcy5maW5kUGVyc29uR3JvdXAuYWRkQ29udHJvbCgnZmluZFBlcnNvbkNvbnRyb2wnLCB0aGlzLmZpbmRQZXJzb25Db250cm9sKTtcbiAgICB0aGlzLnN1YiA9IHRoaXMuZmluZFBlcnNvbkNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2UpLFxuICAgICAgdGFwKCgpID0+IHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW10pLFxuICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICB0YXAoKHNlYXJjaFRlcm0pID0+IHR5cGVvZiBzZWFyY2hUZXJtID09PSAnc3RyaW5nJyA/IHRoaXMucGVyc29uU2VsZWN0ZWQuZW1pdChudWxsKSA6IHZvaWQgMCksXG4gICAgICBmaWx0ZXIoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycyksXG4gICAgICBzd2l0Y2hNYXAoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gdGhpcy5maWx0ZXIoc2VhcmNoVGVybSkucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IHRydWUpLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW10pLFxuICAgICAgKSlcbiAgICApLnN1YnNjcmliZSgocGVvcGxlOiBQZXJzb25bXSkgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBwZW9wbGU7XG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIoc2VhcmNoVGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQZXJzb25bXT4ge1xuICAgIGNvbnN0IGZpbmRKdWRpY2lhbFBlb3BsZSA9IHRoaXMuZmluZFBlcnNvblNlcnZpY2UuZmluZCh7c2VhcmNoVGVybSwgdXNlclJvbGU6IHRoaXMuZG9tYWluLCBzZXJ2aWNlczogdGhpcy5zZXJ2aWNlcywgdXNlckluY2x1ZGVkOiB0aGlzLnVzZXJJbmNsdWRlZCwgYXNzaWduZWRVc2VyOiB0aGlzLmFzc2lnbmVkVXNlcn0pO1xuICAgIGNvbnN0IGZpbmRDYXNld29ya2Vyc09yQWRtaW5zID0gdGhpcy5maW5kUGVyc29uU2VydmljZS5maW5kQ2FzZXdvcmtlcnMoe3NlYXJjaFRlcm0sIHVzZXJSb2xlOiB0aGlzLmRvbWFpbiwgc2VydmljZXM6IHRoaXMuc2VydmljZXMsIHVzZXJJbmNsdWRlZDogdGhpcy51c2VySW5jbHVkZWQsIGFzc2lnbmVkVXNlcjogdGhpcy5hc3NpZ25lZFVzZXJ9KTtcbiAgICBpZiAoc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycykge1xuICAgICAgc3dpdGNoICh0aGlzLmRvbWFpbikge1xuICAgICAgICBjYXNlIFBlcnNvblJvbGUuSlVESUNJQUw6IHtcbiAgICAgICAgICByZXR1cm4gZmluZEp1ZGljaWFsUGVvcGxlLnBpcGUobWFwKHBlcnNvbnMgPT4ge1xuICAgICAgICAgICAgY29uc3QgaWRzOiBzdHJpbmdbXSA9IHRoaXMuc2VsZWN0ZWRQZXJzb25zLm1hcCgoe2lkfSkgPT4gaWQpO1xuICAgICAgICAgICAgcmV0dXJuIHBlcnNvbnMuZmlsdGVyKCh7IGlkIH0pID0+ICFpZHMuaW5jbHVkZXMoaWQpKTtcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBQZXJzb25Sb2xlLkFMTDoge1xuICAgICAgICAgIHJldHVybiB6aXAoZmluZEp1ZGljaWFsUGVvcGxlLCBmaW5kQ2FzZXdvcmtlcnNPckFkbWlucykucGlwZShtYXAoc2VwYXJhdGVQZW9wbGUgPT4gc2VwYXJhdGVQZW9wbGVbMF0uY29uY2F0KHNlcGFyYXRlUGVvcGxlWzFdKSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgUGVyc29uUm9sZS5DQVNFV09SS0VSOlxuICAgICAgICBjYXNlIFBlcnNvblJvbGUuQURNSU46IHtcbiAgICAgICAgICByZXR1cm4gZmluZENhc2V3b3JrZXJzT3JBZG1pbnM7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgIHJldHVybiBvZihbXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9mKFtdKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGlvbkNoYW5nZShzZWxlY3RlZFBlcnNvbjogUGVyc29uKTogdm9pZCB7XG4gICAgdGhpcy5wZXJzb25TZWxlY3RlZC5lbWl0KHNlbGVjdGVkUGVyc29uKTtcbiAgICB0aGlzLmZpbmRQZXJzb25Db250cm9sLnNldFZhbHVlKHRoaXMuZ2V0RGlzcGxheU5hbWUoc2VsZWN0ZWRQZXJzb24pLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREaXNwbGF5TmFtZShzZWxlY3RlZFBlcnNvbjogUGVyc29uKTogc3RyaW5nIHtcbiAgICBpZiAoIXNlbGVjdGVkUGVyc29uKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmIChzZWxlY3RlZFBlcnNvbi5kb21haW4gPT09IFBlcnNvblJvbGUuSlVESUNJQUwgJiYgc2VsZWN0ZWRQZXJzb24ua25vd25Bcykge1xuICAgICAgcmV0dXJuIGAke3NlbGVjdGVkUGVyc29uLmtub3duQXN9ICgke3NlbGVjdGVkUGVyc29uLmVtYWlsfSlgO1xuICAgIH1cbiAgICByZXR1cm4gc2VsZWN0ZWRQZXJzb24uZW1haWwgPyBgJHtzZWxlY3RlZFBlcnNvbi5uYW1lfSAoJHtzZWxlY3RlZFBlcnNvbi5lbWFpbH0pYCA6IHNlbGVjdGVkUGVyc29uLm5hbWU7XG4gIH1cblxuICBwdWJsaWMgb25JbnB1dCgpOiB2b2lkIHtcbiAgICB0aGlzLnBlcnNvbkZpZWxkQ2hhbmdlZC5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==