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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. package/README.md +1 -1
  2. package/esm2022/hmcts-rpx-xui-common-lib.mjs +5 -0
  3. package/esm2022/lib/components/accessibility/accessibility.component.mjs +833 -0
  4. package/esm2022/lib/components/checkbox-list/checkbox-list.component.mjs +232 -0
  5. package/esm2022/lib/components/contact-details/contact-details.component.mjs +123 -0
  6. package/esm2022/lib/components/cookie-banner/cookie-banner.component.mjs +151 -0
  7. package/esm2022/lib/components/due-date/due-date.component.mjs +141 -0
  8. package/esm2022/lib/components/exui-main-wrapper/exui-page-wrapper.component.mjs +80 -0
  9. package/esm2022/lib/components/find-location/find-location.component.mjs +220 -0
  10. package/esm2022/lib/components/find-person/find-person.component.mjs +234 -0
  11. package/esm2022/lib/components/find-service/find-service.component.mjs +193 -0
  12. package/esm2022/lib/components/find-task-name/find-task-name.component.mjs +200 -0
  13. package/esm2022/lib/components/generic-filter/generic-filter-utils.mjs +21 -0
  14. package/esm2022/lib/components/generic-filter/generic-filter.component.mjs +1224 -0
  15. package/esm2022/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.mjs +56 -0
  16. package/esm2022/lib/components/invite-user-form/invite-user-form.component.mjs +51 -0
  17. package/esm2022/lib/components/invite-user-permissions/invite-user-permission.component.mjs +54 -0
  18. package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +33 -0
  19. package/esm2022/lib/components/pagination/pagination.component.mjs +92 -0
  20. package/esm2022/lib/components/public_api.mjs +39 -0
  21. package/esm2022/lib/components/search-judicials/search-judicials.component.mjs +185 -0
  22. package/esm2022/lib/components/search-location/search-location.component.mjs +240 -0
  23. package/esm2022/lib/components/search-service/search-service.component.mjs +94 -0
  24. package/esm2022/lib/components/search-venue/search-venue.component.mjs +188 -0
  25. package/esm2022/lib/components/selected-case/selected-case.component.mjs +381 -0
  26. package/esm2022/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +135 -0
  27. package/esm2022/lib/components/selected-case-list/selected-case-list.component.mjs +98 -0
  28. package/esm2022/lib/components/service-message/service-message.component.mjs +62 -0
  29. package/esm2022/lib/components/service-messages/service-messages.component.mjs +165 -0
  30. package/esm2022/lib/components/share-case/share-case.component.mjs +427 -0
  31. package/esm2022/lib/components/share-case-confirm/share-case-confirm.component.mjs +85 -0
  32. package/esm2022/lib/components/tab/tab.component.mjs +40 -0
  33. package/esm2022/lib/components/tc-confirm/tc-confirm.component.mjs +66 -0
  34. package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +17 -0
  35. package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +17 -0
  36. package/esm2022/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +58 -0
  37. package/esm2022/lib/components/user-details/user-details.component.mjs +276 -0
  38. package/esm2022/lib/components/user-list/user-list.component.mjs +100 -0
  39. package/esm2022/lib/components/user-select/user-select.component.mjs +94 -0
  40. package/esm2022/lib/components/write-address/write-address.component.mjs +342 -0
  41. package/esm2022/lib/components/write-address-inputs/write-address-inputs.component.mjs +165 -0
  42. package/esm2022/lib/directives/feature-toggle/feature-toggle.directive.mjs +41 -0
  43. package/esm2022/lib/directives/let/let.directive.mjs +29 -0
  44. package/esm2022/lib/exui-common-lib.module.mjs +313 -0
  45. package/esm2022/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +55 -0
  46. package/esm2022/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +137 -0
  47. package/esm2022/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +127 -0
  48. package/esm2022/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +46 -0
  49. package/esm2022/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +79 -0
  50. package/esm2022/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +79 -0
  51. package/esm2022/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +45 -0
  52. package/esm2022/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +71 -0
  53. package/esm2022/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +84 -0
  54. package/esm2022/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +48 -0
  55. package/esm2022/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +42 -0
  56. package/esm2022/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +80 -0
  57. package/esm2022/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +185 -0
  58. package/esm2022/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +57 -0
  59. package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.mjs +2 -0
  60. package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +111 -0
  61. package/esm2022/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +140 -0
  62. package/esm2022/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +34 -0
  63. package/esm2022/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +129 -0
  64. package/esm2022/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +204 -0
  65. package/esm2022/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +60 -0
  66. package/esm2022/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +58 -0
  67. package/esm2022/lib/gov-ui/directives/remove-host.directive.mjs +30 -0
  68. package/esm2022/lib/gov-ui/gov-ui.service.mjs +14 -0
  69. package/esm2022/lib/gov-ui/models/checkboxes-model.mjs +2 -0
  70. package/{esm2015/lib/gov-ui/models/gov-ui-config-model.js → esm2022/lib/gov-ui/models/gov-ui-config-model.mjs} +1 -1
  71. package/{esm2015/lib/gov-ui/models/public_api.js → esm2022/lib/gov-ui/models/public_api.mjs} +1 -2
  72. package/esm2022/lib/gov-ui/models/radio-buttons.model.mjs +2 -0
  73. package/esm2022/lib/gov-ui/util/helpers/html-templates.helper.mjs +22 -0
  74. package/{esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js → esm2022/lib/gov-ui/validators/checkboxes-be-checked.validator.mjs} +1 -1
  75. package/{esm2015/lib/gov-ui/validators/date.validator.js → esm2022/lib/gov-ui/validators/date.validator.mjs} +1 -1
  76. package/esm2022/lib/gov-ui/validators/radio-group.validator.mjs +15 -0
  77. package/esm2022/lib/models/address-message.enum.mjs +11 -0
  78. package/esm2022/lib/models/address-option.model.mjs +21 -0
  79. package/esm2022/lib/models/address.model.mjs +4 -0
  80. package/esm2022/lib/models/case-share.model.mjs +7 -0
  81. package/{esm2015/lib/models/contact-details.model.js → esm2022/lib/models/contact-details.model.mjs} +1 -1
  82. package/esm2022/lib/models/feature-user.mjs +5 -0
  83. package/esm2022/lib/models/filter.model.mjs +3 -0
  84. package/esm2022/lib/models/index.mjs +19 -0
  85. package/esm2022/lib/models/location.model.mjs +7 -0
  86. package/esm2022/lib/models/person.model.mjs +19 -0
  87. package/{esm2015/lib/models/public_api.js → esm2022/lib/models/public_api.mjs} +2 -1
  88. package/{esm2015/lib/models/search-options.model.js → esm2022/lib/models/search-options.model.mjs} +1 -1
  89. package/esm2022/lib/models/service-message.model.mjs +2 -0
  90. package/esm2022/lib/models/task-name.model.mjs +2 -0
  91. package/esm2022/lib/models/user-access-type.model.mjs +2 -0
  92. package/esm2022/lib/models/user-details.model.mjs +2 -0
  93. package/esm2022/lib/pipes/capitalize/capitalize.pipe.mjs +15 -0
  94. package/esm2022/lib/pipes/index.mjs +2 -0
  95. package/esm2022/lib/services/address/address-parser.mjs +76 -0
  96. package/esm2022/lib/services/address/address-type.enum.mjs +7 -0
  97. package/esm2022/lib/services/address/address.service.mjs +55 -0
  98. package/esm2022/lib/services/case-sharing-state/case-sharing-state.service.mjs +170 -0
  99. package/esm2022/lib/services/cookie/cookie.service.mjs +48 -0
  100. package/esm2022/lib/services/feature-toggle/feature-toggle.guard.mjs +37 -0
  101. package/esm2022/lib/services/feature-toggle/feature-toggle.service.mjs +33 -0
  102. package/esm2022/lib/services/feature-toggle/launch-darkly.service.mjs +65 -0
  103. package/esm2022/lib/services/filter/filter.service.mjs +95 -0
  104. package/esm2022/lib/services/find-person/find-person.service.mjs +92 -0
  105. package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +73 -0
  106. package/esm2022/lib/services/google-tag-manager/google-tag-manager.service.mjs +86 -0
  107. package/{esm2015/lib/services/loading/loading.service.js → esm2022/lib/services/loading/loading.service.mjs} +8 -6
  108. package/esm2022/lib/services/locations/location.service.mjs +38 -0
  109. package/{esm2015/lib/services/manage-session/manage-session.services.js → esm2022/lib/services/manage-session/manage-session.services.mjs} +8 -10
  110. package/esm2022/lib/services/public-api.mjs +18 -0
  111. package/esm2022/lib/services/ref-data/index.mjs +4 -0
  112. package/esm2022/lib/services/ref-data/models/ref-data-htmcs-service.model.mjs +2 -0
  113. package/esm2022/lib/services/ref-data/models/ref-data-region.model.mjs +2 -0
  114. package/esm2022/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.mjs +2 -0
  115. package/esm2022/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +33 -0
  116. package/esm2022/lib/services/ref-data/ref-data.service.mjs +34 -0
  117. package/esm2022/lib/services/role-guard/role.guard.mjs +43 -0
  118. package/esm2022/lib/services/role-guard/role.service.mjs +22 -0
  119. package/esm2022/lib/services/storage/session-storage/session-storage.service.mjs +43 -0
  120. package/esm2022/lib/services/task-name/task-name.service.mjs +35 -0
  121. package/esm2022/lib/services/timeout-notifications/timeout-notifications.service.mjs +103 -0
  122. package/{esm2015/public-api.js → esm2022/public-api.mjs} +2 -1
  123. package/fesm2022/hmcts-rpx-xui-common-lib.mjs +10378 -0
  124. package/fesm2022/hmcts-rpx-xui-common-lib.mjs.map +1 -0
  125. package/index.d.ts +5 -0
  126. package/lib/components/accessibility/accessibility.component.d.ts +7 -1
  127. package/lib/components/checkbox-list/checkbox-list.component.d.ts +8 -2
  128. package/lib/components/contact-details/contact-details.component.d.ts +3 -0
  129. package/lib/components/cookie-banner/cookie-banner.component.d.ts +5 -1
  130. package/lib/components/due-date/due-date.component.d.ts +8 -2
  131. package/lib/components/exui-main-wrapper/exui-page-wrapper.component.d.ts +3 -0
  132. package/lib/components/find-location/find-location.component.d.ts +13 -6
  133. package/lib/components/find-person/find-person.component.d.ts +5 -2
  134. package/lib/components/find-service/find-service.component.d.ts +29 -0
  135. package/lib/components/find-task-name/find-task-name.component.d.ts +44 -0
  136. package/lib/components/generic-filter/generic-filter-utils.d.ts +2 -5
  137. package/lib/components/generic-filter/generic-filter.component.d.ts +25 -6
  138. package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +3 -0
  139. package/lib/components/invite-user-form/invite-user-form.component.d.ts +3 -0
  140. package/lib/components/invite-user-permissions/invite-user-permission.component.d.ts +3 -0
  141. package/lib/components/loading-spinner/loading-spinner.component.d.ts +8 -1
  142. package/lib/components/pagination/pagination.component.d.ts +3 -0
  143. package/lib/components/public_api.d.ts +6 -0
  144. package/lib/components/search-judicials/search-judicials.component.d.ts +3 -0
  145. package/lib/components/search-location/search-location.component.d.ts +26 -18
  146. package/lib/components/search-service/search-service.component.d.ts +20 -0
  147. package/lib/components/search-venue/search-venue.component.d.ts +3 -1
  148. package/lib/components/selected-case/selected-case.component.d.ts +4 -1
  149. package/lib/components/selected-case-confirm/selected-case-confirm.component.d.ts +3 -0
  150. package/lib/components/selected-case-list/selected-case-list.component.d.ts +4 -0
  151. package/lib/components/service-message/service-message.component.d.ts +9 -4
  152. package/lib/components/service-messages/service-messages.component.d.ts +15 -5
  153. package/lib/components/share-case/share-case.component.d.ts +41 -2
  154. package/lib/components/share-case-confirm/share-case-confirm.component.d.ts +3 -0
  155. package/lib/components/tab/tab.component.d.ts +3 -0
  156. package/lib/components/tc-confirm/tc-confirm.component.d.ts +3 -0
  157. package/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.d.ts +3 -0
  158. package/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.d.ts +3 -0
  159. package/lib/components/terms-and-conditions/terms-and-conditions.component.d.ts +3 -0
  160. package/lib/components/user-details/user-details.component.d.ts +4 -0
  161. package/lib/components/user-list/user-list.component.d.ts +3 -0
  162. package/lib/components/user-select/user-select.component.d.ts +5 -3
  163. package/lib/components/write-address/write-address.component.d.ts +45 -0
  164. package/lib/components/write-address-inputs/write-address-inputs.component.d.ts +16 -0
  165. package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +3 -0
  166. package/lib/directives/let/let.directive.d.ts +3 -0
  167. package/lib/exui-common-lib.module.d.ts +83 -4
  168. package/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.d.ts +3 -0
  169. package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +17 -5
  170. package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +3 -0
  171. package/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.d.ts +3 -0
  172. package/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +3 -0
  173. package/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.d.ts +3 -0
  174. package/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.d.ts +3 -0
  175. package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +4 -2
  176. package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +4 -0
  177. package/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.d.ts +3 -0
  178. package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +5 -2
  179. package/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.d.ts +3 -0
  180. package/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.d.ts +3 -0
  181. package/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.d.ts +3 -0
  182. package/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.d.ts +7 -0
  183. package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +7 -2
  184. package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +3 -0
  185. package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +3 -0
  186. package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +6 -3
  187. package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +3 -0
  188. package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +3 -0
  189. package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +3 -0
  190. package/lib/gov-ui/directives/remove-host.directive.d.ts +3 -0
  191. package/lib/gov-ui/gov-ui.service.d.ts +3 -0
  192. package/lib/gov-ui/models/checkboxes-model.d.ts +4 -7
  193. package/lib/gov-ui/models/gov-ui-config-model.d.ts +2 -0
  194. package/lib/gov-ui/models/public_api.d.ts +0 -1
  195. package/lib/gov-ui/models/radio-buttons.model.d.ts +9 -0
  196. package/lib/models/address-message.enum.d.ts +9 -0
  197. package/lib/models/address-option.model.d.ts +9 -0
  198. package/lib/models/address.model.d.ts +9 -0
  199. package/lib/models/case-share.model.d.ts +5 -0
  200. package/lib/models/contact-details.model.d.ts +4 -0
  201. package/lib/models/feature-user.d.ts +4 -6
  202. package/lib/models/filter.model.d.ts +45 -9
  203. package/lib/models/index.d.ts +5 -0
  204. package/lib/models/location.model.d.ts +22 -11
  205. package/lib/models/person.model.d.ts +3 -0
  206. package/lib/models/public_api.d.ts +1 -0
  207. package/lib/models/search-options.model.d.ts +1 -1
  208. package/lib/models/service-message.model.d.ts +8 -0
  209. package/lib/models/task-name.model.d.ts +4 -0
  210. package/lib/models/user-access-type.model.d.ts +6 -0
  211. package/lib/models/user-details.model.d.ts +2 -0
  212. package/lib/pipes/capitalize/capitalize.pipe.d.ts +7 -0
  213. package/lib/pipes/index.d.ts +1 -0
  214. package/lib/services/address/address-parser.d.ts +17 -0
  215. package/lib/services/address/address-type.enum.d.ts +5 -0
  216. package/lib/services/address/address.service.d.ts +15 -0
  217. package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +4 -1
  218. package/lib/services/cookie/cookie.service.d.ts +3 -0
  219. package/lib/services/feature-toggle/feature-toggle.guard.d.ts +8 -2
  220. package/lib/services/feature-toggle/feature-toggle.service.d.ts +4 -0
  221. package/lib/services/feature-toggle/launch-darkly.service.d.ts +14 -10
  222. package/lib/services/filter/filter.service.d.ts +6 -0
  223. package/lib/services/find-person/find-person.service.d.ts +5 -2
  224. package/lib/services/google-analytics/google-analytics.service.d.ts +4 -1
  225. package/lib/services/google-tag-manager/google-tag-manager.service.d.ts +5 -1
  226. package/lib/services/loading/loading.service.d.ts +3 -0
  227. package/lib/services/locations/location.service.d.ts +5 -2
  228. package/lib/services/manage-session/manage-session.services.d.ts +3 -0
  229. package/lib/services/public-api.d.ts +2 -0
  230. package/lib/services/ref-data/index.d.ts +3 -0
  231. package/lib/services/ref-data/models/ref-data-htmcs-service.model.d.ts +13 -0
  232. package/lib/services/ref-data/models/ref-data-region.model.d.ts +4 -0
  233. package/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.d.ts +8 -0
  234. package/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.d.ts +18 -0
  235. package/lib/services/ref-data/ref-data.service.d.ts +17 -0
  236. package/lib/services/role-guard/role.guard.d.ts +7 -3
  237. package/lib/services/role-guard/role.service.d.ts +8 -4
  238. package/lib/services/{session-storage → storage/session-storage}/session-storage.service.d.ts +3 -0
  239. package/lib/services/task-name/task-name.service.d.ts +17 -0
  240. package/lib/services/timeout-notifications/timeout-notifications.service.d.ts +8 -2
  241. package/package.json +21 -11
  242. package/public-api.d.ts +1 -0
  243. package/bundles/hmcts-rpx-xui-common-lib.umd.js +0 -4893
  244. package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +0 -1
  245. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +0 -2
  246. package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +0 -1
  247. package/esm2015/hmcts-rpx-xui-common-lib.js +0 -68
  248. package/esm2015/lib/components/accessibility/accessibility.component.js +0 -14
  249. package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +0 -177
  250. package/esm2015/lib/components/contact-details/contact-details.component.js +0 -17
  251. package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +0 -68
  252. package/esm2015/lib/components/due-date/due-date.component.js +0 -115
  253. package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +0 -28
  254. package/esm2015/lib/components/find-location/find-location.component.js +0 -120
  255. package/esm2015/lib/components/find-person/find-person.component.js +0 -118
  256. package/esm2015/lib/components/generic-filter/generic-filter-utils.js +0 -21
  257. package/esm2015/lib/components/generic-filter/generic-filter.component.js +0 -381
  258. package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +0 -27
  259. package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +0 -25
  260. package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +0 -25
  261. package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +0 -18
  262. package/esm2015/lib/components/pagination/pagination.component.js +0 -28
  263. package/esm2015/lib/components/public_api.js +0 -33
  264. package/esm2015/lib/components/search-judicials/search-judicials.component.js +0 -126
  265. package/esm2015/lib/components/search-location/search-location.component.js +0 -114
  266. package/esm2015/lib/components/search-venue/search-venue.component.js +0 -123
  267. package/esm2015/lib/components/selected-case/selected-case.component.js +0 -160
  268. package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +0 -36
  269. package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +0 -45
  270. package/esm2015/lib/components/service-message/service-message.component.js +0 -22
  271. package/esm2015/lib/components/service-messages/service-messages.component.js +0 -48
  272. package/esm2015/lib/components/share-case/share-case.component.js +0 -91
  273. package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +0 -34
  274. package/esm2015/lib/components/tab/tab.component.js +0 -21
  275. package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +0 -22
  276. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +0 -13
  277. package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +0 -13
  278. package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +0 -16
  279. package/esm2015/lib/components/user-details/user-details.component.js +0 -41
  280. package/esm2015/lib/components/user-list/user-list.component.js +0 -33
  281. package/esm2015/lib/components/user-select/user-select.component.js +0 -58
  282. package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +0 -42
  283. package/esm2015/lib/directives/let/let.directive.js +0 -30
  284. package/esm2015/lib/exui-common-lib.module.js +0 -156
  285. package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +0 -31
  286. package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +0 -21
  287. package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +0 -64
  288. package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +0 -22
  289. package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -28
  290. package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +0 -35
  291. package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +0 -23
  292. package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +0 -34
  293. package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +0 -21
  294. package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +0 -33
  295. package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +0 -21
  296. package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +0 -27
  297. package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +0 -39
  298. package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +0 -27
  299. package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +0 -23
  300. package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +0 -48
  301. package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +0 -19
  302. package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +0 -41
  303. package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +0 -28
  304. package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +0 -23
  305. package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +0 -15
  306. package/esm2015/lib/gov-ui/directives/remove-host.directive.js +0 -29
  307. package/esm2015/lib/gov-ui/gov-ui.service.js +0 -13
  308. package/esm2015/lib/gov-ui/models/banner-data-model.js +0 -2
  309. package/esm2015/lib/gov-ui/models/checkboxes-model.js +0 -2
  310. package/esm2015/lib/gov-ui/models/isession-storage.interface.js +0 -2
  311. package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +0 -22
  312. package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +0 -22
  313. package/esm2015/lib/gov-ui/validators/radio-group.validator.js +0 -15
  314. package/esm2015/lib/models/case-share.model.js +0 -2
  315. package/esm2015/lib/models/feature-user.js +0 -5
  316. package/esm2015/lib/models/filter.model.js +0 -3
  317. package/esm2015/lib/models/index.js +0 -14
  318. package/esm2015/lib/models/location.model.js +0 -2
  319. package/esm2015/lib/models/person.model.js +0 -17
  320. package/esm2015/lib/models/user-details.model.js +0 -2
  321. package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +0 -143
  322. package/esm2015/lib/services/cookie/cookie.service.js +0 -47
  323. package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +0 -35
  324. package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +0 -27
  325. package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +0 -59
  326. package/esm2015/lib/services/filter/filter.service.js +0 -64
  327. package/esm2015/lib/services/find-person/find-person.service.js +0 -106
  328. package/esm2015/lib/services/google-analytics/google-analytics.service.js +0 -68
  329. package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +0 -71
  330. package/esm2015/lib/services/locations/location.service.js +0 -39
  331. package/esm2015/lib/services/public-api.js +0 -16
  332. package/esm2015/lib/services/role-guard/role.guard.js +0 -37
  333. package/esm2015/lib/services/role-guard/role.service.js +0 -20
  334. package/esm2015/lib/services/session-storage/session-storage.service.js +0 -41
  335. package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +0 -92
  336. package/fesm2015/hmcts-rpx-xui-common-lib.js +0 -3942
  337. package/fesm2015/hmcts-rpx-xui-common-lib.js.map +0 -1
  338. package/hmcts-rpx-xui-common-lib.d.ts +0 -67
  339. package/hmcts-rpx-xui-common-lib.metadata.json +0 -1
  340. package/lib/gov-ui/models/banner-data-model.d.ts +0 -4
  341. package/lib/gov-ui/models/isession-storage.interface.d.ts +0 -4
  342. package/lib/gov-ui/util/session-storage/session-storage-utils.d.ts +0 -6
  343. /package/{esm2015/lib/components/index.js → esm2022/lib/components/index.mjs} +0 -0
  344. /package/{esm2015/lib/directives/index.js → esm2022/lib/directives/index.mjs} +0 -0
  345. /package/{esm2015/lib/directives/public-api.js → esm2022/lib/directives/public-api.mjs} +0 -0
  346. /package/{esm2015/lib/gov-ui/components/index.js → esm2022/lib/gov-ui/components/index.mjs} +0 -0
  347. /package/{esm2015/lib/gov-ui/components/public_api.js → esm2022/lib/gov-ui/components/public_api.mjs} +0 -0
  348. /package/{esm2015/lib/gov-ui/index.js → esm2022/lib/gov-ui/index.mjs} +0 -0
  349. /package/{esm2015/lib/gov-ui/models/error-messages-model.js → esm2022/lib/gov-ui/models/error-messages-model.mjs} +0 -0
  350. /package/{esm2015/lib/gov-ui/models/index.js → esm2022/lib/gov-ui/models/index.mjs} +0 -0
  351. /package/{esm2015/lib/gov-ui/public_api.js → esm2022/lib/gov-ui/public_api.mjs} +0 -0
  352. /package/{esm2015/lib/gov-ui/validators/index.js → esm2022/lib/gov-ui/validators/index.mjs} +0 -0
  353. /package/{esm2015/lib/gov-ui/validators/public_api.js → esm2022/lib/gov-ui/validators/public_api.mjs} +0 -0
  354. /package/{esm2015/lib/models/due-date.model.js → esm2022/lib/models/due-date.model.mjs} +0 -0
  355. /package/{esm2015/lib/models/idle-config.model.js → esm2022/lib/models/idle-config.model.mjs} +0 -0
  356. /package/{esm2015/lib/models/pagination.model.js → esm2022/lib/models/pagination.model.mjs} +0 -0
  357. /package/{esm2015/lib/models/tcDocument.model.js → esm2022/lib/models/tcDocument.model.mjs} +0 -0
  358. /package/{esm2015/lib/models/timeout-notification.model.js → esm2022/lib/models/timeout-notification.model.mjs} +0 -0
  359. /package/{esm2015/lib/models/user.model.js → esm2022/lib/models/user.model.mjs} +0 -0
  360. /package/{esm2015/lib/services/index.js → esm2022/lib/services/index.mjs} +0 -0
  361. /package/{esm2015/lib/window.js → esm2022/lib/window.mjs} +0 -0
@@ -1,33 +0,0 @@
1
- export * from './accessibility/accessibility.component';
2
- export * from './checkbox-list/checkbox-list.component';
3
- export * from './contact-details/contact-details.component';
4
- export * from './due-date/due-date.component';
5
- export * from './generic-filter/generic-filter.component';
6
- export * from './hmcts-session-dialog/hmcts-session-dialog.component';
7
- export * from './invite-user-form/invite-user-form.component';
8
- export * from './invite-user-permissions/invite-user-permission.component';
9
- export * from './loading-spinner/loading-spinner.component';
10
- export * from './selected-case-confirm/selected-case-confirm.component';
11
- export * from './selected-case-list/selected-case-list.component';
12
- export * from './selected-case/selected-case.component';
13
- export * from './service-message/service-message.component';
14
- export * from './service-messages/service-messages.component';
15
- export * from './share-case-confirm/share-case-confirm.component';
16
- export * from './share-case/share-case.component';
17
- export * from './tab/tab.component';
18
- export * from './tc-confirm/tc-confirm.component';
19
- export * from './terms-and-conditions/tc-display/tc-display-html/tc-display-html.component';
20
- export * from './terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component';
21
- export * from './terms-and-conditions/terms-and-conditions.component';
22
- export * from './user-details/user-details.component';
23
- export * from './user-list/user-list.component';
24
- export * from './cookie-banner/cookie-banner.component';
25
- export * from './find-location/find-location.component';
26
- export * from './search-location/search-location.component';
27
- export * from './pagination/pagination.component';
28
- export * from './search-venue/search-venue.component';
29
- export * from './search-judicials/search-judicials.component';
30
- export * from './find-person/find-person.component';
31
- export * from './user-select/user-select.component';
32
- export * from './exui-main-wrapper/exui-page-wrapper.component';
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDZFQUE2RSxDQUFDO0FBQzVGLGNBQWMsK0VBQStFLENBQUM7QUFDOUYsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsaURBQWlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FjY2Vzc2liaWxpdHkvYWNjZXNzaWJpbGl0eS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC1saXN0L2NoZWNrYm94LWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vY29udGFjdC1kZXRhaWxzL2NvbnRhY3QtZGV0YWlscy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kdWUtZGF0ZS9kdWUtZGF0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9nZW5lcmljLWZpbHRlci9nZW5lcmljLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9obWN0cy1zZXNzaW9uLWRpYWxvZy9obWN0cy1zZXNzaW9uLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9pbnZpdGUtdXNlci1mb3JtL2ludml0ZS11c2VyLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vaW52aXRlLXVzZXItcGVybWlzc2lvbnMvaW52aXRlLXVzZXItcGVybWlzc2lvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FkaW5nLXNwaW5uZXIvbG9hZGluZy1zcGlubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdGVkLWNhc2UtY29uZmlybS9zZWxlY3RlZC1jYXNlLWNvbmZpcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0ZWQtY2FzZS1saXN0L3NlbGVjdGVkLWNhc2UtbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3RlZC1jYXNlL3NlbGVjdGVkLWNhc2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZS1tZXNzYWdlL3NlcnZpY2UtbWVzc2FnZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlLW1lc3NhZ2VzL3NlcnZpY2UtbWVzc2FnZXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2hhcmUtY2FzZS1jb25maXJtL3NoYXJlLWNhc2UtY29uZmlybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zaGFyZS1jYXNlL3NoYXJlLWNhc2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGFiL3RhYi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi90Yy1jb25maXJtL3RjLWNvbmZpcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdGVybXMtYW5kLWNvbmRpdGlvbnMvdGMtZGlzcGxheS90Yy1kaXNwbGF5LWh0bWwvdGMtZGlzcGxheS1odG1sLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Rlcm1zLWFuZC1jb25kaXRpb25zL3RjLWRpc3BsYXkvdGMtZGlzcGxheS1wbGFpbi90Yy1kaXNwbGF5LXBsYWluLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3Rlcm1zLWFuZC1jb25kaXRpb25zL3Rlcm1zLWFuZC1jb25kaXRpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItZGV0YWlscy91c2VyLWRldGFpbHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci1saXN0L3VzZXItbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb29raWUtYmFubmVyL2Nvb2tpZS1iYW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmluZC1sb2NhdGlvbi9maW5kLWxvY2F0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1sb2NhdGlvbi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC12ZW51ZS9zZWFyY2gtdmVudWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLWp1ZGljaWFscy9zZWFyY2gtanVkaWNpYWxzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItc2VsZWN0L3VzZXItc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2V4dWktbWFpbi13cmFwcGVyL2V4dWktcGFnZS13cmFwcGVyLmNvbXBvbmVudCc7XG4iXX0=
@@ -1,126 +0,0 @@
1
- import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { AbstractControl, FormArray, FormBuilder, FormControl } from '@angular/forms';
3
- import { Subject } from 'rxjs';
4
- import { debounceTime, mergeMap } from 'rxjs/operators';
5
- import { FindAPersonService } from '../../services/find-person/find-person.service';
6
- export class SearchJudicialsComponent {
7
- constructor(judicialService, fb) {
8
- this.judicialService = judicialService;
9
- this.disabled = null;
10
- this.selectedJudicials = [];
11
- this.submitted = true;
12
- this.placeholderContent = '';
13
- this.showAutocomplete = false;
14
- this.judicialChanged = new EventEmitter();
15
- this.idValue = '';
16
- this.errorMessage = 'You must select a name';
17
- this.serviceId = '';
18
- this.minSearchCharacters = 3;
19
- this.keyUpSubject$ = new Subject();
20
- this.searchInProgress = false;
21
- this.formGroup = fb.group({
22
- formControl: [null],
23
- selectedFormControl: [null]
24
- });
25
- }
26
- ngOnInit() {
27
- this.displayedJudicials = [];
28
- if (this.control) {
29
- if (this.formGroup && this.formGroup.controls) {
30
- this.formGroup.controls.selectedFormControl = this.control;
31
- this.formGroup.controls.formControl.setValue(this.getControlValueDisplayText());
32
- }
33
- }
34
- this.keyUpSubject$.pipe(debounceTime(500)).subscribe(searchValue => this.search(searchValue));
35
- }
36
- onKeyDown() {
37
- this.judicialChanged.emit();
38
- }
39
- onKeyUp(event) {
40
- this.showAutocomplete = false;
41
- this.keyUpSubject$.next(event.target.value);
42
- }
43
- onFocus() {
44
- this.showAutocomplete = false;
45
- }
46
- get displayedJudicialsDuplicationFiltered() {
47
- return this.displayedJudicials.filter(judicial => !this.selectedJudicials.map(selectedJudicial => selectedJudicial.idamId).includes(judicial.idamId));
48
- }
49
- filter(term) {
50
- this.searchJudicials(term, this.serviceId).pipe(mergeMap((apiData) => {
51
- const apiFilter = apiData.filter(apiJudicial => !this.selectedJudicials.map(selectedJudicial => selectedJudicial.idamId).includes(apiJudicial.idamId));
52
- this.displayedJudicials = apiFilter;
53
- this.searchInProgress = false;
54
- return apiFilter;
55
- })).subscribe(judicial => {
56
- if (term === judicial.knownAs) {
57
- this.formGroup.controls.selectedFormControl.setValue(judicial);
58
- this.displayedJudicials = [];
59
- this.judicialChanged.emit(judicial);
60
- this.showAutocomplete = false;
61
- }
62
- this.searchInProgress = false;
63
- });
64
- }
65
- onSelectionChange(selection) {
66
- if (this.formGroup.controls.formControl instanceof FormArray) {
67
- this.formGroup.controls.selectedFormControl.push(new FormControl(selection.idamId));
68
- }
69
- else {
70
- this.formGroup.controls.selectedFormControl.setValue(selection);
71
- }
72
- this.judicialChanged.emit(selection);
73
- }
74
- search(currentValue) {
75
- this.searchInProgress = true;
76
- this.showAutocomplete = !!currentValue && (currentValue.length >= this.minSearchCharacters);
77
- if (!!currentValue) {
78
- this.formGroup.controls.selectedFormControl.markAsDirty();
79
- }
80
- else {
81
- this.formGroup.controls.selectedFormControl.reset();
82
- }
83
- if (this.showAutocomplete) {
84
- this.filter(currentValue);
85
- }
86
- else {
87
- this.searchInProgress = false;
88
- }
89
- }
90
- getDisplayName(selectedJudicial) {
91
- return `${selectedJudicial.knownAs} (${selectedJudicial.emailId})`;
92
- }
93
- searchJudicials(term, serviceId) {
94
- return this.judicialService.searchJudicial(term, serviceId);
95
- }
96
- getControlValueDisplayText() {
97
- return this.formGroup && this.formGroup.controls && this.formGroup.controls.selectedFormControl.value ?
98
- this.getDisplayName(this.formGroup.controls.selectedFormControl.value) : '';
99
- }
100
- }
101
- SearchJudicialsComponent.decorators = [
102
- { type: Component, args: [{
103
- selector: 'xuilib-search-judicials',
104
- template: "<div class=\"govuk-form-group\">\n <input id=\"inputSelectPerson{{idValue}}\" [placeholder]=\"placeholderContent\" [formControl]=\"formGroup.controls.formControl\"\n [matAutocomplete]=\"autoComplete\" (keydown)=\"onKeyDown()\" (keyup)=\"onKeyUp($event)\" (focus)=\"onFocus()\"\n class=\"govuk-input\" [attr.disabled]=\"!disabled ? null: disabled\" [value]=\"getControlValueDisplayText()\"\n #inputSelection>\n <mat-autocomplete autoActiveFirstOption #autoComplete=\"matAutocomplete\">\n <mat-option *ngFor=\"let judicial of displayedJudicialsDuplicationFiltered\" class=\"select-option\"\n [value]=\"getDisplayName(judicial)\" (onSelectionChange)=\"onSelectionChange(judicial)\"\n [ngClass]=\"{'hide-autocomplete': !showAutocomplete}\">\n {{ getDisplayName(judicial) }}\n </mat-option>\n <mat-option class=\"select-option\"\n *ngIf=\"!displayedJudicialsDuplicationFiltered?.length && showAutocomplete && !searchInProgress\">\n {{ 'No results found' }}</mat-option>\n </mat-autocomplete>\n</div>\n",
105
- styles: [".hide-autocomplete{display:none}.mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}"]
106
- },] }
107
- ];
108
- SearchJudicialsComponent.ctorParameters = () => [
109
- { type: FindAPersonService },
110
- { type: FormBuilder }
111
- ];
112
- SearchJudicialsComponent.propDecorators = {
113
- control: [{ type: Input }],
114
- disabled: [{ type: Input }],
115
- selectedJudicials: [{ type: Input }],
116
- submitted: [{ type: Input }],
117
- placeholderContent: [{ type: Input }],
118
- showAutocomplete: [{ type: Input }],
119
- displayedJudicials: [{ type: Input }],
120
- judicialChanged: [{ type: Output }],
121
- idValue: [{ type: Input }],
122
- errorMessage: [{ type: Input }],
123
- serviceId: [{ type: Input }],
124
- autoCompleteInputBox: [{ type: ViewChild, args: ['inputSelection', { read: ElementRef, static: true },] }]
125
- };
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWp1ZGljaWFscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1qdWRpY2lhbHMvc2VhcmNoLWp1ZGljaWFscy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFPcEYsTUFBTSxPQUFPLHdCQUF3QjtJQW1CbkMsWUFBNkIsZUFBbUMsRUFBRSxFQUFlO1FBQXBELG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQWhCaEQsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixzQkFBaUIsR0FBd0IsRUFBRSxDQUFDO1FBQzVDLGNBQVMsR0FBYSxJQUFJLENBQUM7UUFDM0IsdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBQ2hDLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUVqQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ3pELFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsaUJBQVksR0FBVyx3QkFBd0IsQ0FBQztRQUNoRCxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBR3RCLHdCQUFtQixHQUFHLENBQUMsQ0FBQztRQUNsQyxrQkFBYSxHQUFvQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQy9DLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUd2QyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ25CLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDO1NBQzVCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFO2dCQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDLENBQUM7YUFDakY7U0FDRjtRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBcUIsQ0FBQyxDQUFDLENBQUM7SUFDMUcsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTSxPQUFPLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLHFDQUFxQztRQUM5QyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQ25DLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUMvRyxDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFZO1FBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQzdDLFFBQVEsQ0FBQyxDQUFDLE9BQTRCLEVBQUUsRUFBRTtZQUN4QyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUM5QixXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FDckgsQ0FBQztZQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUM7WUFDcEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztZQUM5QixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FDSCxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNyQixJQUFJLElBQUksS0FBSyxRQUFRLENBQUMsT0FBTyxFQUFFO2dCQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQy9ELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO2FBQy9CO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxTQUE2QjtRQUNwRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsWUFBWSxTQUFTLEVBQUU7WUFDM0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsbUJBQWlDLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ3BHO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDakU7UUFDRCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRU0sTUFBTSxDQUFDLFlBQW9CO1FBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMzRDthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDckQ7UUFDRCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzNCO2FBQU07WUFDTCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1NBQy9CO0lBQ0gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxnQkFBbUM7UUFDdkQsT0FBTyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLEdBQUcsQ0FBQztJQUNyRSxDQUFDO0lBRU0sZUFBZSxDQUFDLElBQVksRUFBRSxTQUFpQjtRQUNwRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sMEJBQTBCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEtBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3JHLENBQUM7OztZQXJIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsOGhDQUFnRDs7YUFFakQ7OztZQU5RLGtCQUFrQjtZQUpVLFdBQVc7OztzQkFhN0MsS0FBSzt1QkFDTCxLQUFLO2dDQUNMLEtBQUs7d0JBQ0wsS0FBSztpQ0FDTCxLQUFLOytCQUNMLEtBQUs7aUNBQ0wsS0FBSzs4QkFDTCxNQUFNO3NCQUNOLEtBQUs7MkJBQ0wsS0FBSzt3QkFDTCxLQUFLO21DQUNMLFNBQVMsU0FBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEp1ZGljaWFsVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEZpbmRBUGVyc29uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItc2VhcmNoLWp1ZGljaWFscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtanVkaWNpYWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWp1ZGljaWFscy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaEp1ZGljaWFsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkSnVkaWNpYWxzOiBKdWRpY2lhbFVzZXJNb2RlbFtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyQ29udGVudDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93QXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNwbGF5ZWRKdWRpY2lhbHM6IEp1ZGljaWFsVXNlck1vZGVsW107XG4gIEBPdXRwdXQoKSBwdWJsaWMganVkaWNpYWxDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxKdWRpY2lhbFVzZXJNb2RlbD4oKTtcbiAgQElucHV0KCkgcHVibGljIGlkVmFsdWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnWW91IG11c3Qgc2VsZWN0IGEgbmFtZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlSWQ6IHN0cmluZyA9ICcnO1xuICBAVmlld0NoaWxkKCdpbnB1dFNlbGVjdGlvbicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBhdXRvQ29tcGxldGVJbnB1dEJveDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgcHVibGljIHNlbGVjdGVkSnVkaWNpYWw6IEp1ZGljaWFsVXNlck1vZGVsO1xuICBwcml2YXRlIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAzO1xuICBwdWJsaWMga2V5VXBTdWJqZWN0JDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHNlYXJjaEluUHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGp1ZGljaWFsU2VydmljZTogRmluZEFQZXJzb25TZXJ2aWNlLCBmYjogRm9ybUJ1aWxkZXIpIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IGZiLmdyb3VwKHtcbiAgICAgIGZvcm1Db250cm9sOiBbbnVsbF0sXG4gICAgICBzZWxlY3RlZEZvcm1Db250cm9sOiBbbnVsbF1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZEp1ZGljaWFscyA9IFtdO1xuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgIGlmICh0aGlzLmZvcm1Hcm91cCAmJiB0aGlzLmZvcm1Hcm91cC5jb250cm9scykge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sID0gdGhpcy5jb250cm9sO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmdldENvbnRyb2xWYWx1ZURpc3BsYXlUZXh0KCkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmtleVVwU3ViamVjdCQucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKHNlYXJjaFZhbHVlID0+IHRoaXMuc2VhcmNoKHNlYXJjaFZhbHVlIGFzIHN0cmluZykpO1xuICB9XG5cbiAgcHVibGljIG9uS2V5RG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmp1ZGljaWFsQ2hhbmdlZC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25LZXlVcChldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2U7XG4gICAgdGhpcy5rZXlVcFN1YmplY3QkLm5leHQoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZvY3VzKCkge1xuICAgIHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5ZWRKdWRpY2lhbHNEdXBsaWNhdGlvbkZpbHRlcmVkKCk6IEp1ZGljaWFsVXNlck1vZGVsW10ge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXllZEp1ZGljaWFscy5maWx0ZXIoXG4gICAgICBqdWRpY2lhbCA9PiAhdGhpcy5zZWxlY3RlZEp1ZGljaWFscy5tYXAoc2VsZWN0ZWRKdWRpY2lhbCA9PiBzZWxlY3RlZEp1ZGljaWFsLmlkYW1JZCkuaW5jbHVkZXMoanVkaWNpYWwuaWRhbUlkKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKHRlcm06IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoSnVkaWNpYWxzKHRlcm0sIHRoaXMuc2VydmljZUlkKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKGFwaURhdGE6IEp1ZGljaWFsVXNlck1vZGVsW10pID0+IHtcbiAgICAgICAgY29uc3QgYXBpRmlsdGVyID0gYXBpRGF0YS5maWx0ZXIoXG4gICAgICAgICAgYXBpSnVkaWNpYWwgPT4gIXRoaXMuc2VsZWN0ZWRKdWRpY2lhbHMubWFwKHNlbGVjdGVkSnVkaWNpYWwgPT4gc2VsZWN0ZWRKdWRpY2lhbC5pZGFtSWQpLmluY2x1ZGVzKGFwaUp1ZGljaWFsLmlkYW1JZClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRKdWRpY2lhbHMgPSBhcGlGaWx0ZXI7XG4gICAgICAgIHRoaXMuc2VhcmNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gYXBpRmlsdGVyO1xuICAgICAgfSlcbiAgICApLnN1YnNjcmliZShqdWRpY2lhbCA9PiB7XG4gICAgICBpZiAodGVybSA9PT0ganVkaWNpYWwua25vd25Bcykge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sLnNldFZhbHVlKGp1ZGljaWFsKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRKdWRpY2lhbHMgPSBbXTtcbiAgICAgICAgdGhpcy5qdWRpY2lhbENoYW5nZWQuZW1pdChqdWRpY2lhbCk7XG4gICAgICAgIHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy5zZWFyY2hJblByb2dyZXNzID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0aW9uPzogSnVkaWNpYWxVc2VyTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5mb3JtR3JvdXAuY29udHJvbHMuZm9ybUNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQXJyYXkpIHtcbiAgICAgICh0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sIGFzIEZvcm1BcnJheSkucHVzaChuZXcgRm9ybUNvbnRyb2woc2VsZWN0aW9uLmlkYW1JZCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sLnNldFZhbHVlKHNlbGVjdGlvbik7XG4gICAgfVxuICAgIHRoaXMuanVkaWNpYWxDaGFuZ2VkLmVtaXQoc2VsZWN0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2goY3VycmVudFZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaEluUHJvZ3Jlc3MgPSB0cnVlO1xuICAgIHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9ICEhY3VycmVudFZhbHVlICYmIChjdXJyZW50VmFsdWUubGVuZ3RoID49IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycyk7XG4gICAgaWYgKCEhY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLnNlbGVjdGVkRm9ybUNvbnRyb2wucmVzZXQoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2hvd0F1dG9jb21wbGV0ZSkge1xuICAgICAgdGhpcy5maWx0ZXIoY3VycmVudFZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWFyY2hJblByb2dyZXNzID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldERpc3BsYXlOYW1lKHNlbGVjdGVkSnVkaWNpYWw6IEp1ZGljaWFsVXNlck1vZGVsKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7c2VsZWN0ZWRKdWRpY2lhbC5rbm93bkFzfSAoJHtzZWxlY3RlZEp1ZGljaWFsLmVtYWlsSWR9KWA7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoSnVkaWNpYWxzKHRlcm06IHN0cmluZywgc2VydmljZUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEp1ZGljaWFsVXNlck1vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5qdWRpY2lhbFNlcnZpY2Uuc2VhcmNoSnVkaWNpYWwodGVybSwgc2VydmljZUlkKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb250cm9sVmFsdWVEaXNwbGF5VGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZvcm1Hcm91cCAmJiB0aGlzLmZvcm1Hcm91cC5jb250cm9scyAmJiB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sLnZhbHVlID9cbiAgICAgIHRoaXMuZ2V0RGlzcGxheU5hbWUodGhpcy5mb3JtR3JvdXAuY29udHJvbHMuc2VsZWN0ZWRGb3JtQ29udHJvbC52YWx1ZSBhcyBKdWRpY2lhbFVzZXJNb2RlbCkgOiAnJztcbiAgfVxufVxuIl19
@@ -1,114 +0,0 @@
1
- import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
2
- import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';
3
- import { debounceTime, filter, map, mergeMap, tap } from 'rxjs/operators';
4
- import { LocationService } from '../../services/locations/location.service';
5
- export class SearchLocationComponent {
6
- constructor(locationService, fb, cd) {
7
- this.locationService = locationService;
8
- this.fb = fb;
9
- this.cd = cd;
10
- this.disabled = null;
11
- this.singleMode = false;
12
- this.locationType = '';
13
- this.serviceIds = '';
14
- this.submitted = true;
15
- this.delay = 500;
16
- this.showAutocomplete = false;
17
- this.locations = [];
18
- this.locationSelected = new EventEmitter();
19
- this.locationInputChanged = new EventEmitter();
20
- this.searchLocationChanged = new EventEmitter();
21
- this.minSearchCharacters = 3;
22
- this.term = '';
23
- this.pSelectedLocations = [];
24
- this.pReset = true;
25
- this.form = this.fb.group({
26
- searchTerm: ['']
27
- });
28
- }
29
- get reset() {
30
- return this.pReset;
31
- }
32
- set reset(value) {
33
- this.pReset = value;
34
- this.resetSearchTerm();
35
- }
36
- get selectedLocations() {
37
- return this.pSelectedLocations;
38
- }
39
- set selectedLocations(value) {
40
- this.pSelectedLocations = value;
41
- }
42
- ngOnInit() {
43
- if (this.singleMode && this.selectedLocations.length > 0) {
44
- const location = this.selectedLocations[0];
45
- this.form.controls.searchTerm.patchValue(location.site_name, { emitEvent: false, onlySelf: true });
46
- }
47
- this.search();
48
- }
49
- filter(term) {
50
- this.getLocations(term).pipe(map((locations) => this.removeSelectedLocations(locations)));
51
- }
52
- onSelectionChange(location) {
53
- this.form.controls.searchTerm.patchValue(location.site_name, { emitEvent: false, onlySelf: true });
54
- this.locationSelected.emit(location);
55
- }
56
- search() {
57
- this.form.controls.searchTerm.valueChanges
58
- .pipe(tap((term) => this.locationInputChanged.next(term)), tap(() => this.locations = []), tap((term) => this.term = term), filter(term => !!term && term.length >= this.minSearchCharacters), debounceTime(this.delay), mergeMap(value => this.getLocations(value)), map((locations) => this.removeSelectedLocations(locations))).subscribe(locations => {
59
- this.locations = locations;
60
- this.cd.markForCheck();
61
- if (locations.length === 1 && this.term === locations[0].site_name && !this.singleMode) {
62
- this.locationSelected.emit(locations[0]);
63
- this.showAutocomplete = false;
64
- return;
65
- }
66
- this.showAutocomplete = true;
67
- });
68
- }
69
- onInput() {
70
- this.searchLocationChanged.emit();
71
- }
72
- getLocations(term) {
73
- return this.locationService.getAllLocations(this.serviceIds, this.locationType, term);
74
- }
75
- resetSearchTerm() {
76
- this.form.controls.searchTerm.patchValue('', { emitEvent: false, onlySelf: true });
77
- }
78
- removeSelectedLocations(locations) {
79
- if (this.singleMode) {
80
- return locations;
81
- }
82
- return locations.filter(location => !this.selectedLocations.map(selectedLocation => selectedLocation.epimms_id).includes(location.epimms_id) && location.site_name);
83
- }
84
- }
85
- SearchLocationComponent.decorators = [
86
- { type: Component, args: [{
87
- selector: 'exui-search-location',
88
- template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (input)=\"onInput()\"\n [formControl]=\"form.controls.searchTerm\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <mat-option *ngFor=\"let location of locations\"\n (onSelectionChange)=\"onSelectionChange(location)\">\n {{ location.site_name }}\n </mat-option>\n <mat-option *ngIf=\"!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters\">No results found</mat-option>\n </mat-autocomplete>\n</div>\n",
89
- styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]
90
- },] }
91
- ];
92
- SearchLocationComponent.ctorParameters = () => [
93
- { type: LocationService },
94
- { type: FormBuilder },
95
- { type: ChangeDetectorRef }
96
- ];
97
- SearchLocationComponent.propDecorators = {
98
- control: [{ type: Input }],
99
- disabled: [{ type: Input }],
100
- singleMode: [{ type: Input }],
101
- locationType: [{ type: Input }],
102
- serviceIds: [{ type: Input }],
103
- submitted: [{ type: Input }],
104
- delay: [{ type: Input }],
105
- form: [{ type: Input }],
106
- showAutocomplete: [{ type: Input }],
107
- locations: [{ type: Input }],
108
- locationSelected: [{ type: Output }],
109
- locationInputChanged: [{ type: Output }],
110
- searchLocationChanged: [{ type: Output }],
111
- reset: [{ type: Input }],
112
- selectedLocations: [{ type: Input }]
113
- };
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWxvY2F0aW9uL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUMsZUFBZSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RSxPQUFPLEVBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXhFLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQU8xRSxNQUFNLE9BQU8sdUJBQXVCO0lBbUJsQyxZQUE2QixlQUFnQyxFQUFtQixFQUFlLEVBQW1CLEVBQXFCO1FBQTFHLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUFtQixPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQW1CLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBakJ2SCxhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFDMUIsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQWEsSUFBSSxDQUFDO1FBQzNCLFVBQUssR0FBWSxHQUFHLENBQUM7UUFFckIscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBQ2xDLGNBQVMsR0FBNEIsRUFBRSxDQUFDO1FBQ3ZDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUF5QixDQUFDO1FBQzdELHlCQUFvQixHQUF5QixJ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QUFTLENBQUMsTUFBTSxDQUNyQixRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUMzSSxDQUFDO0lBQ0osQ0FBQzs7O1lBL0dGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxrdkJBQStDOzthQUVoRDs7O1lBTk8sZUFBZTtZQUpFLFdBQVc7WUFENUIsaUJBQWlCOzs7c0JBYXRCLEtBQUs7dUJBQ0wsS0FBSzt5QkFDTCxLQUFLOzJCQUNMLEtBQUs7eUJBQ0wsS0FBSzt3QkFDTCxLQUFLO29CQUNMLEtBQUs7bUJBQ0wsS0FBSzsrQkFDTCxLQUFLO3dCQUNMLEtBQUs7K0JBQ0wsTUFBTTttQ0FDTixNQUFNO29DQUNOLE1BQU07b0JBZ0JOLEtBQUs7Z0NBVUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2RlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIG1lcmdlTWFwLCB0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TG9jYXRpb25CeUVQSU1NU01vZGVsfSBmcm9tICcuLi8uLi9tb2RlbHMvbG9jYXRpb24ubW9kZWwnO1xuaW1wb3J0IHtMb2NhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvY2F0aW9ucy9sb2NhdGlvbi5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZXh1aS1zZWFyY2gtbG9jYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoTG9jYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdWJsaWMgY29udHJvbDogQWJzdHJhY3RDb250cm9sO1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBudWxsO1xuICBASW5wdXQoKSBwdWJsaWMgc2luZ2xlTW9kZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbG9jYXRpb25UeXBlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHNlcnZpY2VJZHM6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgc3VibWl0dGVkPzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHB1YmxpYyBkZWxheT86IG51bWJlciA9IDUwMDtcbiAgQElucHV0KCkgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIHNob3dBdXRvY29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxvY2F0aW9uczogTG9jYXRpb25CeUVQSU1NU01vZGVsW10gPSBbXTtcbiAgQE91dHB1dCgpIHB1YmxpYyBsb2NhdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxMb2NhdGlvbkJ5RVBJTU1TTW9kZWw+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9jYXRpb25JbnB1dENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VhcmNoTG9jYXRpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIHB1YmxpYyByZWFkb25seSBtaW5TZWFyY2hDaGFyYWN0ZXJzID0gMztcbiAgcHVibGljIHRlcm06IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIHBTZWxlY3RlZExvY2F0aW9uczogYW55W10gPSBbXTtcbiAgcHJpdmF0ZSBwUmVzZXQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb25TZXJ2aWNlOiBMb2NhdGlvblNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgZmI6IEZvcm1CdWlsZGVyLCBwcml2YXRlIHJlYWRvbmx5IGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgc2VhcmNoVGVybTogWycnXVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCByZXNldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wUmVzZXQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlc2V0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5wUmVzZXQgPSB2YWx1ZTtcbiAgICB0aGlzLnJlc2V0U2VhcmNoVGVybSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3RlZExvY2F0aW9ucygpOiBhbnlbXSB7XG4gICAgcmV0dXJuIHRoaXMucFNlbGVjdGVkTG9jYXRpb25zO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzZWxlY3RlZExvY2F0aW9ucyh2YWx1ZTogYW55W10pIHtcbiAgICB0aGlzLnBTZWxlY3RlZExvY2F0aW9ucyA9IHZhbHVlO1xuXG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc2luZ2xlTW9kZSAmJiB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGxvY2F0aW9uID0gdGhpcy5zZWxlY3RlZExvY2F0aW9uc1swXTtcbiAgICAgIHRoaXMuZm9ybS5jb250cm9scy5zZWFyY2hUZXJtLnBhdGNoVmFsdWUobG9jYXRpb24uc2l0ZV9uYW1lLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgICB9XG4gICAgdGhpcy5zZWFyY2goKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIodGVybTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5nZXRMb2NhdGlvbnModGVybSkucGlwZShcbiAgICAgIG1hcCgobG9jYXRpb25zKSA9PiB0aGlzLnJlbW92ZVNlbGVjdGVkTG9jYXRpb25zKGxvY2F0aW9ucylcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMuc2VhcmNoVGVybS5wYXRjaFZhbHVlKGxvY2F0aW9uLnNpdGVfbmFtZSwge2VtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlfSk7XG4gICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQobG9jYXRpb24pO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMuc2VhcmNoVGVybS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHRlcm0pID0+IHRoaXMubG9jYXRpb25JbnB1dENoYW5nZWQubmV4dCh0ZXJtKSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmxvY2F0aW9ucyA9IFtdKSxcbiAgICAgICAgdGFwKCh0ZXJtKSA9PiB0aGlzLnRlcm0gPSB0ZXJtKSxcbiAgICAgICAgZmlsdGVyKHRlcm0gPT4gISF0ZXJtICYmIHRlcm0ubGVuZ3RoID49IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycyksXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlbGF5KSxcbiAgICAgICAgbWVyZ2VNYXAodmFsdWUgPT4gdGhpcy5nZXRMb2NhdGlvbnModmFsdWUpKSxcbiAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IHRoaXMucmVtb3ZlU2VsZWN0ZWRMb2NhdGlvbnMobG9jYXRpb25zKSlcbiAgICAgICkuc3Vic2NyaWJlKGxvY2F0aW9ucyA9PiB7XG4gICAgICB0aGlzLmxvY2F0aW9ucyA9IGxvY2F0aW9ucztcbiAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICBpZiAobG9jYXRpb25zLmxlbmd0aCA9PT0gMSAmJiB0aGlzLnRlcm0gPT09IGxvY2F0aW9uc1swXS5zaXRlX25hbWUgJiYgIXRoaXMuc2luZ2xlTW9kZSkge1xuICAgICAgICB0aGlzLmxvY2F0aW9uU2VsZWN0ZWQuZW1pdChsb2NhdGlvbnNbMF0pO1xuICAgICAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gdHJ1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbklucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoTG9jYXRpb25DaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMb2NhdGlvbnModGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmxvY2F0aW9uU2VydmljZS5nZXRBbGxMb2NhdGlvbnModGhpcy5zZXJ2aWNlSWRzLCB0aGlzLmxvY2F0aW9uVHlwZSwgdGVybSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRTZWFyY2hUZXJtKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5jb250cm9scy5zZWFyY2hUZXJtLnBhdGNoVmFsdWUoJycsIHtlbWl0RXZlbnQ6IGZhbHNlLCBvbmx5U2VsZjogdHJ1ZX0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVTZWxlY3RlZExvY2F0aW9ucyhsb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdKTogTG9jYXRpb25CeUVQSU1NU01vZGVsW10ge1xuICAgIGlmICh0aGlzLnNpbmdsZU1vZGUpIHtcbiAgICAgIHJldHVybiBsb2NhdGlvbnM7XG4gICAgfVxuICAgIHJldHVybiBsb2NhdGlvbnMuZmlsdGVyKFxuICAgICAgbG9jYXRpb24gPT4gIXRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMubWFwKHNlbGVjdGVkTG9jYXRpb24gPT4gc2VsZWN0ZWRMb2NhdGlvbi5lcGltbXNfaWQpLmluY2x1ZGVzKGxvY2F0aW9uLmVwaW1tc19pZCkgJiYgbG9jYXRpb24uc2l0ZV9uYW1lXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,123 +0,0 @@
1
- import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { AbstractControl, FormArray, FormBuilder, FormControl } from '@angular/forms';
3
- import { Subject } from 'rxjs';
4
- import { debounceTime, mergeMap } from 'rxjs/operators';
5
- import { LocationService } from '../../services/locations/location.service';
6
- export class SearchVenueComponent {
7
- constructor(locationService, fb) {
8
- this.locationService = locationService;
9
- this.disabled = null;
10
- this.locationType = '';
11
- this.serviceIds = '';
12
- this.submitted = true;
13
- this.showAutocomplete = false;
14
- this.locationChanged = new EventEmitter();
15
- this.minSearchCharacters = 3;
16
- this.keyUpSubject$ = new Subject();
17
- this.readyAfterContent = false;
18
- this.searchInProgress = false;
19
- this.findLocationFormGroup = fb.group({
20
- findLocationFormControl: [null],
21
- locationSelectedFormControl: [null]
22
- });
23
- this.selectedLocations = [];
24
- }
25
- ngAfterContentInit() {
26
- this.readyAfterContent = true;
27
- }
28
- ngOnInit() {
29
- this.displayedLocations = [];
30
- if (this.control) {
31
- if (this.findLocationFormGroup && this.findLocationFormGroup.controls) {
32
- this.findLocationFormGroup.controls.locationSelectedFormControl = this.control;
33
- }
34
- }
35
- this.keyUpSubject$.pipe(debounceTime(500)).subscribe(searchValue => this.search(searchValue));
36
- }
37
- onKeyDown() {
38
- this.locationChanged.emit();
39
- }
40
- onKeyUp(event) {
41
- this.showAutocomplete = false;
42
- this.keyUpSubject$.next(event.target.value);
43
- }
44
- onFocus() {
45
- this.showAutocomplete = false;
46
- }
47
- get displayedLocationsDuplicationFiltered() {
48
- return this.displayedLocations.filter(location => !this.selectedLocations.map(selectedLocation => selectedLocation.epimms_id).includes(location.epimms_id) && location.court_name);
49
- }
50
- filter(term) {
51
- this.searchLocations(term).pipe(mergeMap((apiData) => {
52
- const apiFilter = apiData.filter(apiLocation => !this.selectedLocations.map(selectedLocation => selectedLocation.epimms_id).includes(apiLocation.epimms_id));
53
- this.displayedLocations = apiFilter;
54
- this.searchInProgress = false;
55
- return apiFilter;
56
- })).subscribe(location => {
57
- if (term === location.court_name) {
58
- this.findLocationFormGroup.controls.locationSelectedFormControl.setValue(location);
59
- this.displayedLocations = [];
60
- this.locationChanged.emit(location);
61
- this.showAutocomplete = false;
62
- }
63
- this.searchInProgress = false;
64
- });
65
- }
66
- onSelectionChange(selection) {
67
- if (this.findLocationFormGroup.controls.findLocationFormControl instanceof FormArray) {
68
- this.findLocationFormGroup.controls.locationSelectedFormControl.push(new FormControl(selection.epimms_id));
69
- }
70
- else {
71
- this.findLocationFormGroup.controls.locationSelectedFormControl.setValue(selection);
72
- }
73
- this.locationChanged.emit(selection);
74
- }
75
- search(currentValue) {
76
- this.searchInProgress = true;
77
- this.showAutocomplete = !!currentValue && (currentValue.length >= this.minSearchCharacters);
78
- if (!currentValue || !currentValue.length) {
79
- this.findLocationFormGroup.controls.locationSelectedFormControl.markAsPristine();
80
- this.findLocationFormGroup.controls.locationSelectedFormControl.reset();
81
- }
82
- if (this.showAutocomplete) {
83
- this.filter(currentValue);
84
- }
85
- else {
86
- this.searchInProgress = false;
87
- }
88
- }
89
- getDisplayName(selectedLocation) {
90
- return selectedLocation.court_name;
91
- }
92
- searchLocations(term) {
93
- return this.locationService.searchLocations(this.serviceIds, this.locationType, term);
94
- }
95
- getControlCourtNameValue() {
96
- return this.findLocationFormGroup && this.findLocationFormGroup.controls && this.findLocationFormGroup.controls.locationSelectedFormControl.value ?
97
- this.findLocationFormGroup.controls.locationSelectedFormControl.value.court_name : '';
98
- }
99
- }
100
- SearchVenueComponent.decorators = [
101
- { type: Component, args: [{
102
- selector: 'xuilib-search-venue',
103
- template: "<div class=\"auto-complete-container\">\n <div *ngIf=\"readyAfterContent\" class=\"autocomplete__wrapper\">\n <input\n [formControl]=\"findLocationFormGroup.controls.findLocationFormControl\"\n [matAutocomplete]=\"autoSearchLocation\"\n (keydown)=\"onKeyDown()\"\n (keyup)=\"onKeyUp($event)\"\n (focus)=\"onFocus()\"\n class=\"autocomplete__input autocomplete__input--default search-box\"\n [attr.disabled]=\"!disabled ? null: disabled\"\n [value]=\"getControlCourtNameValue()\"\n #inputSelectedLocation>\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <mat-option *ngFor=\"let location of displayedLocationsDuplicationFiltered\"\n [value]=\"getDisplayName(location)\"\n (onSelectionChange)=\"onSelectionChange(location)\"\n [ngClass]=\"{'hide-autocomplete': !showAutocomplete}\">\n {{ getDisplayName(location) }}\n </mat-option>\n <mat-option *ngIf=\"!displayedLocationsDuplicationFiltered?.length && showAutocomplete && !searchInProgress\">{{ 'No results found' }}</mat-option>\n </mat-autocomplete>\n </div>\n</div>\n",
104
- styles: [".autocomplete__input{-webkit-appearance:none;border:2px solid #0b0c0c;border-radius:0;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;margin-bottom:0;width:100%;line-height:24px;font-size:19px;background-color:transparent;position:relative}.autocomplete__hint{color:#b1b4b6;position:absolute}.autocomplete__input--default{padding:5px}.autocomplete__input--focused{outline:3px solid #fd0;outline-offset:0;box-shadow:inset 0 0 0 2px}.autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}"]
105
- },] }
106
- ];
107
- SearchVenueComponent.ctorParameters = () => [
108
- { type: LocationService },
109
- { type: FormBuilder }
110
- ];
111
- SearchVenueComponent.propDecorators = {
112
- control: [{ type: Input }],
113
- disabled: [{ type: Input }],
114
- locationType: [{ type: Input }],
115
- selectedLocations: [{ type: Input }],
116
- serviceIds: [{ type: Input }],
117
- submitted: [{ type: Input }],
118
- autoCompleteInputBox: [{ type: ViewChild, args: ['inputSelectedLocation', { read: ElementRef },] }],
119
- showAutocomplete: [{ type: Input }],
120
- displayedLocations: [{ type: Input }],
121
- locationChanged: [{ type: Output }]
122
- };
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXZlbnVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLXZlbnVlL3NlYXJjaC12ZW51ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFZLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0YsT0FBTyxFQUFhLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUMsWUFBWSxFQUFFLFFBQVEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQU8xRSxNQUFNLE9BQU8sb0JBQW9CO0lBa0IvQixZQUE2QixlQUFnQyxFQUFFLEVBQWU7UUFBakQsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBaEI3QyxhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBRTFCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsY0FBUyxHQUFhLElBQUksQ0FBQztRQUczQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFFakMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQUU1RCx3QkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDbEMsa0JBQWEsR0FBb0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUMvQyxzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMscUJBQWdCLEdBQVksS0FBSyxDQUFDO1FBR3ZDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3BDLHVCQUF1QixFQUFFLENBQUMsSUFBSSxDQUFDO1lBQy9CLDJCQUEyQixFQUFFLENBQUMsSUFBSSxDQUFDO1NBQ3BDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxpQkFBaUIsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxJQUFJLENBQUMscUJBQXFCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsRUFBRTtnQkFDckUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ2hGO1NBQ0Y7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQXFCLENBQUMsQ0FBQyxDQUFDO0lBQzFHLENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU0sT0FBTyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxxQ0FBcUM7UUFDOUMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUNuQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUM1SSxDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFZO1FBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUM3QixRQUFRLENBQUMsQ0FBQyxPQUFnQyxFQUFFLEVBQUU7WUFDNUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FDOUIsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQzNILENBQUM7WUFDRixJQUFJLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7WUFDOUIsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQ0gsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDckIsSUFBSSxJQUFJLEtBQUssUUFBUSxDQUFDLFVBQVUsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ25GLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO2FBQy9CO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxTQUFpQztRQUN4RCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLFlBQVksU0FBUyxFQUFFO1lBQ25GLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsMkJBQXlDLENBQUMsSUFBSSxDQUFDLElBQUksV0FBVyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQzNIO2FBQU07WUFDTCxJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNyRjtRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBb0I7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUU7WUFDekMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNqRixJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ3pFO1FBQ0QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUMzQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFTSxjQUFjLENBQUMsZ0JBQXVDO1FBQzNELE9BQU8sZ0JBQWdCLENBQUMsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxlQUFlLENBQUMsSUFBWTtRQUNqQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRU0sd0JBQXdCO1FBQzdCLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoSixJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLDJCQUEyQixDQUFDLEtBQStCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDckgsQ0FBQzs7O1lBdkhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixzdENBQTRDOzthQUU3Qzs7O1lBTk8sZUFBZTtZQUphLFdBQVc7OztzQkFZNUMsS0FBSzt1QkFDTCxLQUFLOzJCQUNMLEtBQUs7Z0NBQ0wsS0FBSzt5QkFDTCxLQUFLO3dCQUNMLEtBQUs7bUNBQ0wsU0FBUyxTQUFDLHVCQUF1QixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTsrQkFFdkQsS0FBSztpQ0FDTCxLQUFLOzhCQUNMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FmdGVyQ29udGVudEluaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBtZXJnZU1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2NhdGlvbkJ5RVBJTU1TTW9kZWx9IGZyb20gJy4uLy4uL21vZGVscy9sb2NhdGlvbi5tb2RlbCc7XG5pbXBvcnQge0xvY2F0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9jYXRpb25zL2xvY2F0aW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItc2VhcmNoLXZlbnVlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC12ZW51ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC12ZW51ZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFZlbnVlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgQElucHV0KCkgcHVibGljIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIGxvY2F0aW9uVHlwZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZExvY2F0aW9uczogTG9jYXRpb25CeUVQSU1NU01vZGVsW107XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlSWRzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHN1Ym1pdHRlZD86IGJvb2xlYW4gPSB0cnVlO1xuICBAVmlld0NoaWxkKCdpbnB1dFNlbGVjdGVkTG9jYXRpb24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgcHVibGljIGF1dG9Db21wbGV0ZUlucHV0Qm94OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICBwdWJsaWMgZmluZExvY2F0aW9uRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93QXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNwbGF5ZWRMb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdO1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TG9jYXRpb25CeUVQSU1NU01vZGVsPigpO1xuICBwdWJsaWMgc2VsZWN0ZWRMb2NhdGlvbjogTG9jYXRpb25CeUVQSU1NU01vZGVsO1xuICBwcml2YXRlIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAzO1xuICBwdWJsaWMga2V5VXBTdWJqZWN0JDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHJlYWR5QWZ0ZXJDb250ZW50OiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBzZWFyY2hJblByb2dyZXNzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblNlcnZpY2U6IExvY2F0aW9uU2VydmljZSwgZmI6IEZvcm1CdWlsZGVyKSB7XG4gICAgdGhpcy5maW5kTG9jYXRpb25Gb3JtR3JvdXAgPSBmYi5ncm91cCh7XG4gICAgICBmaW5kTG9jYXRpb25Gb3JtQ29udHJvbDogW251bGxdLFxuICAgICAgbG9jYXRpb25TZWxlY3RlZEZvcm1Db250cm9sOiBbbnVsbF1cbiAgICB9KTtcbiAgICB0aGlzLnNlbGVjdGVkTG9jYXRpb25zID0gW107XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVhZHlBZnRlckNvbnRlbnQgPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZGlzcGxheWVkTG9jYXRpb25zID0gW107XG4gICAgaWYgKHRoaXMuY29udHJvbCkge1xuICAgICAgaWYgKHRoaXMuZmluZExvY2F0aW9uRm9ybUdyb3VwICYmIHRoaXMuZmluZExvY2F0aW9uRm9ybUdyb3VwLmNvbnRyb2xzKSB7XG4gICAgICAgIHRoaXMuZmluZExvY2F0aW9uRm9ybUdyb3VwLmNvbnRyb2xzLmxvY2F0aW9uU2VsZWN0ZWRGb3JtQ29udHJvbCA9IHRoaXMuY29udHJvbDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5rZXlVcFN1YmplY3QkLnBpcGUoZGVib3VuY2VUaW1lKDUwMCkpLnN1YnNjcmliZShzZWFyY2hWYWx1ZSA9PiB0aGlzLnNlYXJjaChzZWFyY2hWYWx1ZSBhcyBzdHJpbmcpKTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleURvd24oKTogdm9pZCB7XG4gICAgdGhpcy5sb2NhdGlvbkNoYW5nZWQuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIG9uS2V5VXAoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IGZhbHNlO1xuICAgIHRoaXMua2V5VXBTdWJqZWN0JC5uZXh0KGV2ZW50LnRhcmdldC52YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgb25Gb2N1cygpIHtcbiAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheWVkTG9jYXRpb25zRHVwbGljYXRpb25GaWx0ZXJlZCgpOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzcGxheWVkTG9jYXRpb25zLmZpbHRlcihcbiAgICAgIGxvY2F0aW9uID0+ICF0aGlzLnNlbGVjdGVkTG9jYXRpb25zLm1hcChzZWxlY3RlZExvY2F0aW9uID0+IHNlbGVjdGVkTG9jYXRpb24uZXBpbW1zX2lkKS5pbmNsdWRlcyhsb2NhdGlvbi5lcGltbXNfaWQpICYmIGxvY2F0aW9uLmNvdXJ0X25hbWVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcih0ZXJtOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaExvY2F0aW9ucyh0ZXJtKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKGFwaURhdGE6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdKSA9PiB7XG4gICAgICAgIGNvbnN0IGFwaUZpbHRlciA9IGFwaURhdGEuZmlsdGVyKFxuICAgICAgICAgIGFwaUxvY2F0aW9uID0+ICF0aGlzLnNlbGVjdGVkTG9jYXRpb25zLm1hcChzZWxlY3RlZExvY2F0aW9uID0+IHNlbGVjdGVkTG9jYXRpb24uZXBpbW1zX2lkKS5pbmNsdWRlcyhhcGlMb2NhdGlvbi5lcGltbXNfaWQpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkTG9jYXRpb25zID0gYXBpRmlsdGVyO1xuICAgICAgICB0aGlzLnNlYXJjaEluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgcmV0dXJuIGFwaUZpbHRlcjtcbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUobG9jYXRpb24gPT4ge1xuICAgICAgaWYgKHRlcm0gPT09IGxvY2F0aW9uLmNvdXJ0X25hbWUpIHtcbiAgICAgICAgdGhpcy5maW5kTG9jYXRpb25Gb3JtR3JvdXAuY29udHJvbHMubG9jYXRpb25TZWxlY3RlZEZvcm1Db250cm9sLnNldFZhbHVlKGxvY2F0aW9uKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRMb2NhdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5sb2NhdGlvbkNoYW5nZWQuZW1pdChsb2NhdGlvbik7XG4gICAgICAgIHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy5zZWFyY2hJblByb2dyZXNzID0gZmFsc2U7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0aW9uPzogTG9jYXRpb25CeUVQSU1NU01vZGVsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmluZExvY2F0aW9uRm9ybUdyb3VwLmNvbnRyb2xzLmZpbmRMb2NhdGlvbkZvcm1Db250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG4gICAgICAodGhpcy5maW5kTG9jYXRpb25Gb3JtR3JvdXAuY29udHJvbHMubG9jYXRpb25TZWxlY3RlZEZvcm1Db250cm9sIGFzIEZvcm1BcnJheSkucHVzaChuZXcgRm9ybUNvbnRyb2woc2VsZWN0aW9uLmVwaW1tc19pZCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbmRMb2NhdGlvbkZvcm1Hcm91cC5jb250cm9scy5sb2NhdGlvblNlbGVjdGVkRm9ybUNvbnRyb2wuc2V0VmFsdWUoc2VsZWN0aW9uKTtcbiAgICB9XG4gICAgdGhpcy5sb2NhdGlvbkNoYW5nZWQuZW1pdChzZWxlY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaChjdXJyZW50VmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoSW5Qcm9ncmVzcyA9IHRydWU7XG4gICAgdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gISFjdXJyZW50VmFsdWUgJiYgKGN1cnJlbnRWYWx1ZS5sZW5ndGggPj0gdGhpcy5taW5TZWFyY2hDaGFyYWN0ZXJzKTtcbiAgICBpZiAoIWN1cnJlbnRWYWx1ZSB8fCAhY3VycmVudFZhbHVlLmxlbmd0aCkge1xuICAgICAgdGhpcy5maW5kTG9jYXRpb25Gb3JtR3JvdXAuY29udHJvbHMubG9jYXRpb25TZWxlY3RlZEZvcm1Db250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XG4gICAgICB0aGlzLmZpbmRMb2NhdGlvbkZvcm1Hcm91cC5jb250cm9scy5sb2NhdGlvblNlbGVjdGVkRm9ybUNvbnRyb2wucmVzZXQoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2hvd0F1dG9jb21wbGV0ZSkge1xuICAgICAgdGhpcy5maWx0ZXIoY3VycmVudFZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZWFyY2hJblByb2dyZXNzID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldERpc3BsYXlOYW1lKHNlbGVjdGVkTG9jYXRpb246IExvY2F0aW9uQnlFUElNTVNNb2RlbCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHNlbGVjdGVkTG9jYXRpb24uY291cnRfbmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hMb2NhdGlvbnModGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmxvY2F0aW9uU2VydmljZS5zZWFyY2hMb2NhdGlvbnModGhpcy5zZXJ2aWNlSWRzLCB0aGlzLmxvY2F0aW9uVHlwZSwgdGVybSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29udHJvbENvdXJ0TmFtZVZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmluZExvY2F0aW9uRm9ybUdyb3VwICYmIHRoaXMuZmluZExvY2F0aW9uRm9ybUdyb3VwLmNvbnRyb2xzICYmIHRoaXMuZmluZExvY2F0aW9uRm9ybUdyb3VwLmNvbnRyb2xzLmxvY2F0aW9uU2VsZWN0ZWRGb3JtQ29udHJvbC52YWx1ZSA/XG4gICAgICAodGhpcy5maW5kTG9jYXRpb25Gb3JtR3JvdXAuY29udHJvbHMubG9jYXRpb25TZWxlY3RlZEZvcm1Db250cm9sLnZhbHVlIGFzIExvY2F0aW9uQnlFUElNTVNNb2RlbCkuY291cnRfbmFtZSA6ICcnO1xuICB9XG59XG4iXX0=