@hmcts/rpx-xui-common-lib 2.0.19 → 2.0.21
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.
- package/README.md +1 -1
- package/esm2022/lib/components/accessibility/accessibility.component.mjs +725 -0
- package/esm2022/lib/components/checkbox-list/checkbox-list.component.mjs +232 -0
- package/esm2022/lib/components/contact-details/contact-details.component.mjs +104 -0
- package/esm2022/lib/components/cookie-banner/cookie-banner.component.mjs +151 -0
- package/esm2022/lib/components/due-date/due-date.component.mjs +141 -0
- package/esm2022/lib/components/exui-main-wrapper/exui-page-wrapper.component.mjs +80 -0
- package/esm2022/lib/components/find-location/find-location.component.mjs +220 -0
- package/esm2022/lib/components/find-person/find-person.component.mjs +234 -0
- package/esm2022/lib/components/find-service/find-service.component.mjs +193 -0
- package/{esm2020 → esm2022}/lib/components/find-task-name/find-task-name.component.mjs +53 -53
- package/{esm2020 → esm2022}/lib/components/generic-filter/generic-filter-utils.mjs +1 -1
- package/esm2022/lib/components/generic-filter/generic-filter.component.mjs +1184 -0
- package/esm2022/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.mjs +56 -0
- package/esm2022/lib/components/invite-user-form/invite-user-form.component.mjs +51 -0
- package/esm2022/lib/components/invite-user-permissions/invite-user-permission.component.mjs +54 -0
- package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +33 -0
- package/esm2022/lib/components/pagination/pagination.component.mjs +92 -0
- package/esm2022/lib/components/search-judicials/search-judicials.component.mjs +185 -0
- package/esm2022/lib/components/search-location/search-location.component.mjs +237 -0
- package/esm2022/lib/components/search-service/search-service.component.mjs +83 -0
- package/esm2022/lib/components/search-venue/search-venue.component.mjs +190 -0
- package/esm2022/lib/components/selected-case/selected-case.component.mjs +379 -0
- package/esm2022/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +135 -0
- package/esm2022/lib/components/selected-case-list/selected-case-list.component.mjs +98 -0
- package/esm2022/lib/components/service-message/service-message.component.mjs +51 -0
- package/esm2022/lib/components/service-messages/service-messages.component.mjs +76 -0
- package/esm2022/lib/components/share-case/share-case.component.mjs +420 -0
- package/esm2022/lib/components/share-case-confirm/share-case-confirm.component.mjs +85 -0
- package/esm2022/lib/components/tab/tab.component.mjs +40 -0
- package/esm2022/lib/components/tc-confirm/tc-confirm.component.mjs +66 -0
- package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +17 -0
- package/esm2022/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +17 -0
- package/esm2022/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +58 -0
- package/esm2022/lib/components/user-details/user-details.component.mjs +273 -0
- package/esm2022/lib/components/user-list/user-list.component.mjs +100 -0
- package/esm2022/lib/components/user-select/user-select.component.mjs +94 -0
- package/esm2022/lib/components/write-address/write-address.component.mjs +342 -0
- package/esm2022/lib/components/write-address-inputs/write-address-inputs.component.mjs +165 -0
- package/esm2022/lib/directives/feature-toggle/feature-toggle.directive.mjs +41 -0
- package/{esm2020 → esm2022}/lib/directives/let/let.directive.mjs +5 -5
- package/{esm2020 → esm2022}/lib/exui-common-lib.module.mjs +15 -15
- package/esm2022/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +55 -0
- package/esm2022/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +137 -0
- package/esm2022/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +121 -0
- package/esm2022/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +46 -0
- package/esm2022/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +79 -0
- package/esm2022/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +79 -0
- package/esm2022/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +45 -0
- package/esm2022/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +71 -0
- package/esm2022/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +84 -0
- package/esm2022/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +48 -0
- package/esm2022/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +42 -0
- package/esm2022/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +80 -0
- package/esm2022/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +185 -0
- package/esm2022/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +57 -0
- package/esm2022/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +111 -0
- package/esm2022/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +140 -0
- package/esm2022/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +34 -0
- package/esm2022/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +129 -0
- package/esm2022/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +204 -0
- package/esm2022/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +60 -0
- package/esm2022/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +58 -0
- package/esm2022/lib/gov-ui/directives/remove-host.directive.mjs +30 -0
- package/{esm2020 → esm2022}/lib/gov-ui/gov-ui.service.mjs +5 -5
- package/esm2022/lib/gov-ui/util/helpers/html-templates.helper.mjs +22 -0
- package/{esm2020 → esm2022}/lib/gov-ui/validators/checkboxes-be-checked.validator.mjs +1 -1
- package/{esm2020 → esm2022}/lib/gov-ui/validators/date.validator.mjs +1 -1
- package/esm2022/lib/gov-ui/validators/radio-group.validator.mjs +15 -0
- package/esm2022/lib/models/address-option.model.mjs +21 -0
- package/{esm2020 → esm2022}/lib/pipes/capitalize/capitalize.pipe.mjs +4 -4
- package/esm2022/lib/services/address/address-parser.mjs +76 -0
- package/esm2022/lib/services/address/address.service.mjs +55 -0
- package/esm2022/lib/services/case-sharing-state/case-sharing-state.service.mjs +170 -0
- package/{esm2020 → esm2022}/lib/services/cookie/cookie.service.mjs +6 -6
- package/{esm2020 → esm2022}/lib/services/feature-toggle/feature-toggle.guard.mjs +5 -5
- package/{esm2020 → esm2022}/lib/services/feature-toggle/feature-toggle.service.mjs +4 -4
- package/esm2022/lib/services/feature-toggle/launch-darkly.service.mjs +65 -0
- package/esm2022/lib/services/filter/filter.service.mjs +95 -0
- package/esm2022/lib/services/find-person/find-person.service.mjs +83 -0
- package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +68 -0
- package/esm2022/lib/services/google-tag-manager/google-tag-manager.service.mjs +71 -0
- package/{esm2020 → esm2022}/lib/services/loading/loading.service.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/locations/location.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/services/manage-session/manage-session.services.mjs +5 -5
- package/esm2022/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +33 -0
- package/esm2022/lib/services/ref-data/ref-data.service.mjs +34 -0
- package/{esm2020 → esm2022}/lib/services/role-guard/role.guard.mjs +5 -5
- package/{esm2020 → esm2022}/lib/services/role-guard/role.service.mjs +4 -4
- package/esm2022/lib/services/storage/session-storage/session-storage.service.mjs +43 -0
- package/esm2022/lib/services/task-name/task-name.service.mjs +35 -0
- package/{esm2020 → esm2022}/lib/services/timeout-notifications/timeout-notifications.service.mjs +5 -5
- package/{fesm2020 → fesm2022}/hmcts-rpx-xui-common-lib.mjs +2823 -2835
- package/fesm2022/hmcts-rpx-xui-common-lib.mjs.map +1 -0
- package/lib/components/checkbox-list/checkbox-list.component.d.ts +1 -1
- package/lib/components/contact-details/contact-details.component.d.ts +1 -1
- package/lib/components/cookie-banner/cookie-banner.component.d.ts +1 -1
- package/lib/components/due-date/due-date.component.d.ts +1 -1
- package/lib/components/exui-main-wrapper/exui-page-wrapper.component.d.ts +1 -1
- package/lib/components/find-location/find-location.component.d.ts +1 -1
- package/lib/components/find-person/find-person.component.d.ts +1 -1
- package/lib/components/find-service/find-service.component.d.ts +1 -1
- package/lib/components/find-task-name/find-task-name.component.d.ts +1 -1
- package/lib/components/generic-filter/generic-filter.component.d.ts +1 -1
- package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +1 -1
- package/lib/components/invite-user-form/invite-user-form.component.d.ts +1 -1
- package/lib/components/invite-user-permissions/invite-user-permission.component.d.ts +1 -1
- package/lib/components/loading-spinner/loading-spinner.component.d.ts +1 -1
- package/lib/components/pagination/pagination.component.d.ts +1 -1
- package/lib/components/search-judicials/search-judicials.component.d.ts +1 -1
- package/lib/components/search-location/search-location.component.d.ts +1 -1
- package/lib/components/search-service/search-service.component.d.ts +1 -1
- package/lib/components/search-venue/search-venue.component.d.ts +1 -1
- package/lib/components/selected-case/selected-case.component.d.ts +1 -1
- package/lib/components/selected-case-confirm/selected-case-confirm.component.d.ts +1 -1
- package/lib/components/selected-case-list/selected-case-list.component.d.ts +1 -1
- package/lib/components/service-message/service-message.component.d.ts +1 -1
- package/lib/components/service-messages/service-messages.component.d.ts +1 -1
- package/lib/components/share-case/share-case.component.d.ts +1 -1
- package/lib/components/share-case-confirm/share-case-confirm.component.d.ts +1 -1
- package/lib/components/tab/tab.component.d.ts +1 -1
- package/lib/components/tc-confirm/tc-confirm.component.d.ts +1 -1
- package/lib/components/terms-and-conditions/terms-and-conditions.component.d.ts +1 -1
- package/lib/components/user-details/user-details.component.d.ts +1 -1
- package/lib/components/user-list/user-list.component.d.ts +1 -1
- package/lib/components/user-select/user-select.component.d.ts +1 -1
- package/lib/components/write-address/write-address.component.d.ts +1 -1
- package/lib/components/write-address-inputs/write-address-inputs.component.d.ts +1 -1
- package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +1 -1
- package/lib/directives/let/let.directive.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.d.ts +1 -1
- package/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +1 -1
- package/lib/services/feature-toggle/feature-toggle.guard.d.ts +2 -2
- package/lib/services/role-guard/role.guard.d.ts +2 -2
- package/package.json +5 -11
- package/esm2020/lib/components/accessibility/accessibility.component.mjs +0 -737
- package/esm2020/lib/components/checkbox-list/checkbox-list.component.mjs +0 -231
- package/esm2020/lib/components/contact-details/contact-details.component.mjs +0 -107
- package/esm2020/lib/components/cookie-banner/cookie-banner.component.mjs +0 -150
- package/esm2020/lib/components/due-date/due-date.component.mjs +0 -140
- package/esm2020/lib/components/exui-main-wrapper/exui-page-wrapper.component.mjs +0 -79
- package/esm2020/lib/components/find-location/find-location.component.mjs +0 -219
- package/esm2020/lib/components/find-person/find-person.component.mjs +0 -234
- package/esm2020/lib/components/find-service/find-service.component.mjs +0 -192
- package/esm2020/lib/components/generic-filter/generic-filter.component.mjs +0 -1198
- package/esm2020/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.mjs +0 -55
- package/esm2020/lib/components/invite-user-form/invite-user-form.component.mjs +0 -50
- package/esm2020/lib/components/invite-user-permissions/invite-user-permission.component.mjs +0 -54
- package/esm2020/lib/components/loading-spinner/loading-spinner.component.mjs +0 -32
- package/esm2020/lib/components/pagination/pagination.component.mjs +0 -93
- package/esm2020/lib/components/search-judicials/search-judicials.component.mjs +0 -184
- package/esm2020/lib/components/search-location/search-location.component.mjs +0 -236
- package/esm2020/lib/components/search-service/search-service.component.mjs +0 -81
- package/esm2020/lib/components/search-venue/search-venue.component.mjs +0 -188
- package/esm2020/lib/components/selected-case/selected-case.component.mjs +0 -380
- package/esm2020/lib/components/selected-case-confirm/selected-case-confirm.component.mjs +0 -135
- package/esm2020/lib/components/selected-case-list/selected-case-list.component.mjs +0 -98
- package/esm2020/lib/components/service-message/service-message.component.mjs +0 -50
- package/esm2020/lib/components/service-messages/service-messages.component.mjs +0 -75
- package/esm2020/lib/components/share-case/share-case.component.mjs +0 -420
- package/esm2020/lib/components/share-case-confirm/share-case-confirm.component.mjs +0 -85
- package/esm2020/lib/components/tab/tab.component.mjs +0 -39
- package/esm2020/lib/components/tc-confirm/tc-confirm.component.mjs +0 -65
- package/esm2020/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.mjs +0 -16
- package/esm2020/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.mjs +0 -16
- package/esm2020/lib/components/terms-and-conditions/terms-and-conditions.component.mjs +0 -59
- package/esm2020/lib/components/user-details/user-details.component.mjs +0 -281
- package/esm2020/lib/components/user-list/user-list.component.mjs +0 -99
- package/esm2020/lib/components/user-select/user-select.component.mjs +0 -92
- package/esm2020/lib/components/write-address/write-address.component.mjs +0 -345
- package/esm2020/lib/components/write-address-inputs/write-address-inputs.component.mjs +0 -165
- package/esm2020/lib/directives/feature-toggle/feature-toggle.directive.mjs +0 -41
- package/esm2020/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.mjs +0 -54
- package/esm2020/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.mjs +0 -136
- package/esm2020/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.mjs +0 -120
- package/esm2020/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.mjs +0 -45
- package/esm2020/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.mjs +0 -80
- package/esm2020/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.mjs +0 -78
- package/esm2020/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.mjs +0 -45
- package/esm2020/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.mjs +0 -70
- package/esm2020/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.mjs +0 -84
- package/esm2020/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.mjs +0 -47
- package/esm2020/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.mjs +0 -41
- package/esm2020/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.mjs +0 -79
- package/esm2020/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.mjs +0 -188
- package/esm2020/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.mjs +0 -56
- package/esm2020/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.mjs +0 -112
- package/esm2020/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.mjs +0 -141
- package/esm2020/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.mjs +0 -33
- package/esm2020/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.mjs +0 -130
- package/esm2020/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.mjs +0 -204
- package/esm2020/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.mjs +0 -59
- package/esm2020/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.mjs +0 -57
- package/esm2020/lib/gov-ui/directives/remove-host.directive.mjs +0 -30
- package/esm2020/lib/gov-ui/util/helpers/html-templates.helper.mjs +0 -22
- package/esm2020/lib/gov-ui/validators/radio-group.validator.mjs +0 -15
- package/esm2020/lib/models/address-option.model.mjs +0 -21
- package/esm2020/lib/services/address/address-parser.mjs +0 -76
- package/esm2020/lib/services/address/address.service.mjs +0 -55
- package/esm2020/lib/services/case-sharing-state/case-sharing-state.service.mjs +0 -170
- package/esm2020/lib/services/feature-toggle/launch-darkly.service.mjs +0 -65
- package/esm2020/lib/services/filter/filter.service.mjs +0 -95
- package/esm2020/lib/services/find-person/find-person.service.mjs +0 -83
- package/esm2020/lib/services/google-analytics/google-analytics.service.mjs +0 -68
- package/esm2020/lib/services/google-tag-manager/google-tag-manager.service.mjs +0 -71
- package/esm2020/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +0 -33
- package/esm2020/lib/services/ref-data/ref-data.service.mjs +0 -34
- package/esm2020/lib/services/storage/session-storage/session-storage.service.mjs +0 -43
- package/esm2020/lib/services/task-name/task-name.service.mjs +0 -35
- package/fesm2015/hmcts-rpx-xui-common-lib.mjs +0 -11073
- package/fesm2015/hmcts-rpx-xui-common-lib.mjs.map +0 -1
- package/fesm2020/hmcts-rpx-xui-common-lib.mjs.map +0 -1
- /package/{esm2020 → esm2022}/hmcts-rpx-xui-common-lib.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/directives/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/components/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/components/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/models/checkboxes-model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/models/error-messages-model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/models/gov-ui-config-model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/models/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/models/radio-buttons.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/validators/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/gov-ui/validators/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/address-message.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/address.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/case-share.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/contact-details.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/due-date.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/feature-user.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/filter.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/idle-config.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/location.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/pagination.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/person.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/search-options.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/task-name.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/tcDocument.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/timeout-notification.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/user-access-type.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/user-details.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/user.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pipes/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/address/address-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/ref-data/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/ref-data/models/ref-data-htmcs-service.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/ref-data/models/ref-data-region.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/window.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { FormControl } from '@angular/forms';
|
|
3
|
-
import { map } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "@angular/forms";
|
|
7
|
-
import * as i3 from "@angular/material/legacy-autocomplete";
|
|
8
|
-
import * as i4 from "@angular/material/legacy-core";
|
|
9
|
-
import * as i5 from "rpx-xui-translation";
|
|
10
|
-
function UserSelectComponent_mat_option_4_Template(rf, ctx) { if (rf & 1) {
|
|
11
|
-
i0.ɵɵelementStart(0, "mat-option", 4);
|
|
12
|
-
i0.ɵɵtext(1);
|
|
13
|
-
i0.ɵɵpipe(2, "rpxTranslate");
|
|
14
|
-
i0.ɵɵpipe(3, "rpxTranslate");
|
|
15
|
-
i0.ɵɵelementEnd();
|
|
16
|
-
} if (rf & 2) {
|
|
17
|
-
const user_r2 = ctx.$implicit;
|
|
18
|
-
i0.ɵɵproperty("value", user_r2);
|
|
19
|
-
i0.ɵɵadvance(1);
|
|
20
|
-
i0.ɵɵtextInterpolate3(" ", i0.ɵɵpipeBind1(2, 4, user_r2.firstName), " ", i0.ɵɵpipeBind1(3, 6, user_r2.lastName), " - ", user_r2.email, " ");
|
|
21
|
-
} }
|
|
22
|
-
export class UserSelectComponent {
|
|
23
|
-
constructor() {
|
|
24
|
-
this.selected = new EventEmitter();
|
|
25
|
-
this.control = new FormControl();
|
|
26
|
-
}
|
|
27
|
-
ngOnInit() {
|
|
28
|
-
this.filteredUsers = this.control.valueChanges.pipe(map(value => typeof value === typeof 'string' ? this.filterUsers(value) : this.users));
|
|
29
|
-
this.selected.emit(null);
|
|
30
|
-
}
|
|
31
|
-
displayValue(user) {
|
|
32
|
-
return user ? `${user.firstName} ${user.lastName} - ${user.email}` : '';
|
|
33
|
-
}
|
|
34
|
-
onSelected(e) {
|
|
35
|
-
this.selected.emit(e.option.value);
|
|
36
|
-
}
|
|
37
|
-
clear() {
|
|
38
|
-
this.control.setValue(null);
|
|
39
|
-
}
|
|
40
|
-
onUserChange(newUserValue) {
|
|
41
|
-
if (!newUserValue || !newUserValue.email) {
|
|
42
|
-
this.selected.emit(null);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
filterUsers(value) {
|
|
46
|
-
if (value) {
|
|
47
|
-
value = value.toLowerCase();
|
|
48
|
-
return this.users.filter(user => {
|
|
49
|
-
if (user.firstName.toLowerCase().includes(value)) {
|
|
50
|
-
return true;
|
|
51
|
-
}
|
|
52
|
-
if (user.lastName.toLowerCase().includes(value)) {
|
|
53
|
-
return true;
|
|
54
|
-
}
|
|
55
|
-
if (user.email.toLowerCase().includes(value)) {
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
58
|
-
return false;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
return [];
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
UserSelectComponent.ɵfac = function UserSelectComponent_Factory(t) { return new (t || UserSelectComponent)(); };
|
|
65
|
-
UserSelectComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserSelectComponent, selectors: [["xuilib-user-select"]], inputs: { users: "users" }, outputs: { selected: "selected" }, decls: 6, vars: 9, consts: [["type", "text", 1, "govuk-input", 3, "matAutocomplete", "formControl", "ngModelChange"], ["autoActiveFirstOption", "", 3, "displayWith", "optionSelected"], ["dropdown", "matAutocomplete"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"]], template: function UserSelectComponent_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
-
i0.ɵɵelementStart(0, "input", 0);
|
|
67
|
-
i0.ɵɵlistener("ngModelChange", function UserSelectComponent_Template_input_ngModelChange_0_listener($event) { return ctx.onUserChange($event); });
|
|
68
|
-
i0.ɵɵpipe(1, "rpxTranslate");
|
|
69
|
-
i0.ɵɵelementEnd();
|
|
70
|
-
i0.ɵɵelementStart(2, "mat-autocomplete", 1, 2);
|
|
71
|
-
i0.ɵɵlistener("optionSelected", function UserSelectComponent_Template_mat_autocomplete_optionSelected_2_listener($event) { return ctx.onSelected($event); });
|
|
72
|
-
i0.ɵɵtemplate(4, UserSelectComponent_mat_option_4_Template, 4, 8, "mat-option", 3);
|
|
73
|
-
i0.ɵɵpipe(5, "async");
|
|
74
|
-
i0.ɵɵelementEnd();
|
|
75
|
-
} if (rf & 2) {
|
|
76
|
-
const _r0 = i0.ɵɵreference(3);
|
|
77
|
-
i0.ɵɵproperty("matAutocomplete", _r0)("formControl", ctx.control);
|
|
78
|
-
i0.ɵɵattribute("aria-labelledby", i0.ɵɵpipeBind1(1, 5, "add-user-hint"));
|
|
79
|
-
i0.ɵɵadvance(2);
|
|
80
|
-
i0.ɵɵproperty("displayWith", ctx.displayValue);
|
|
81
|
-
i0.ɵɵadvance(2);
|
|
82
|
-
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(5, 7, ctx.filteredUsers));
|
|
83
|
-
} }, dependencies: [i1.NgForOf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.FormControlDirective, i3.MatLegacyAutocomplete, i3.MatLegacyAutocompleteTrigger, i4.MatLegacyOption, i1.AsyncPipe, i5.RpxTranslatePipe] });
|
|
84
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserSelectComponent, [{
|
|
85
|
-
type: Component,
|
|
86
|
-
args: [{ selector: 'xuilib-user-select', template: "<input class=\"govuk-input\" type=\"text\" [matAutocomplete]=\"dropdown\" [formControl]=\"control\" (ngModelChange)=\"onUserChange($event)\"\n [attr.aria-labelledby]=\"'add-user-hint' | rpxTranslate\">\n\n<mat-autocomplete #dropdown=\"matAutocomplete\" [displayWith]=\"displayValue\" autoActiveFirstOption (optionSelected)=\"onSelected($event)\">\n <mat-option *ngFor=\"let user of filteredUsers | async\" [value]=\"user\">\n {{ user.firstName | rpxTranslate }} {{ user.lastName | rpxTranslate }} - {{ user.email }}\n </mat-option>\n</mat-autocomplete>\n" }]
|
|
87
|
-
}], function () { return []; }, { users: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], selected: [{
|
|
90
|
-
type: Output
|
|
91
|
-
}] }); })();
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy91c2VyLXNlbGVjdC91c2VyLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3VzZXItc2VsZWN0L3VzZXItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7SUNBbkMscUNBQXNFO0lBQ3BFLFlBQ0Y7OztJQUFBLGlCQUFhOzs7SUFGMEMsK0JBQWM7SUFDbkUsZUFDRjtJQURFLDJJQUNGOztBRE1GLE1BQU0sT0FBTyxtQkFBbUI7SUFVOUI7UUFOaUIsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFJckQsWUFBTyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7SUFFbkIsQ0FBQztJQUVWLFFBQVE7UUFDYixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDakQsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDdEYsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBaUI7UUFDbkMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFFLENBQUM7SUFFTSxVQUFVLENBQUMsQ0FBK0I7UUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxZQUFZLENBQUMsWUFBeUI7UUFDM0MsSUFBSSxDQUFDLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUU7WUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQWE7UUFDL0IsSUFBSSxLQUFLLEVBQUU7WUFDVCxLQUFLLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzlCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ2hELE9BQU8sSUFBSSxDQUFDO2lCQUNiO2dCQUNELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQy9DLE9BQU8sSUFBSSxDQUFDO2lCQUNiO2dCQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQzVDLE9BQU8sSUFBSSxDQUFDO2lCQUNiO2dCQUNELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQyxDQUFDLENBQUM7U0FDTjtRQUNDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7c0ZBdERVLG1CQUFtQjtzRUFBbkIsbUJBQW1CO1FDWmhDLGdDQUMrRDtRQUQ2QixxSEFBaUIsd0JBQW9CLElBQUM7O1FBQWxJLGlCQUMrRDtRQUUvRCw4Q0FBdUk7UUFBdEMsa0lBQWtCLHNCQUFrQixJQUFDO1FBQ3BJLGtGQUVhOztRQUNmLGlCQUFtQjs7O1FBUG9CLHFDQUE0Qiw0QkFBQTtRQUM1RCx3RUFBdUQ7UUFFaEIsZUFBNEI7UUFBNUIsOENBQTRCO1FBQzNDLGVBQXdCO1FBQXhCLGlFQUF3Qjs7dUZEUTFDLG1CQUFtQjtjQUwvQixTQUFTOzJCQUNFLG9CQUFvQjtzQ0FNZCxLQUFLO2tCQUFwQixLQUFLO1lBRVcsUUFBUTtrQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0TGVnYWN5QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCBhcyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWF1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBVc2VyRGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWRldGFpbHMubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItdXNlci1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi91c2VyLXNlbGVjdC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB1c2VyczogVXNlckRldGFpbHNbXTtcblxuICBAT3V0cHV0KCkgcHVibGljIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxVc2VyRGV0YWlscz4oKTtcblxuICBwdWJsaWMgZmlsdGVyZWRVc2VyczogT2JzZXJ2YWJsZTxVc2VyRGV0YWlsc1tdPjtcblxuICBwdWJsaWMgY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZmlsdGVyZWRVc2VycyA9IHRoaXMuY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIG1hcCh2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09IHR5cGVvZiAnc3RyaW5nJyA/IHRoaXMuZmlsdGVyVXNlcnModmFsdWUpIDogdGhpcy51c2VycylcbiAgICApO1xuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNwbGF5VmFsdWUodXNlcjogVXNlckRldGFpbHMpOiBzdHJpbmcge1xuICAgIHJldHVybiB1c2VyID8gYCR7dXNlci5maXJzdE5hbWV9ICR7dXNlci5sYXN0TmFtZX0gLSAke3VzZXIuZW1haWx9YCA6ICcnO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0ZWQoZTogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCkge1xuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdChlLm9wdGlvbi52YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKSB7XG4gICAgdGhpcy5jb250cm9sLnNldFZhbHVlKG51bGwpO1xuICB9XG5cbiAgcHVibGljIG9uVXNlckNoYW5nZShuZXdVc2VyVmFsdWU6IFVzZXJEZXRhaWxzKSB7XG4gICAgaWYgKCFuZXdVc2VyVmFsdWUgfHwgIW5ld1VzZXJWYWx1ZS5lbWFpbCkge1xuICAgICAgdGhpcy5zZWxlY3RlZC5lbWl0KG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyVXNlcnModmFsdWU6IHN0cmluZyk6IFVzZXJEZXRhaWxzW10ge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdmFsdWUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgcmV0dXJuIHRoaXMudXNlcnMuZmlsdGVyKHVzZXIgPT4ge1xuICAgICAgICBpZiAodXNlci5maXJzdE5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodXNlci5sYXN0TmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh1c2VyLmVtYWlsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSk7XG4gIH1cbiAgICByZXR1cm4gW107XG4gIH1cbn1cbiIsIjxpbnB1dCBjbGFzcz1cImdvdnVrLWlucHV0XCIgdHlwZT1cInRleHRcIiBbbWF0QXV0b2NvbXBsZXRlXT1cImRyb3Bkb3duXCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiAobmdNb2RlbENoYW5nZSk9XCJvblVzZXJDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidhZGQtdXNlci1oaW50JyB8IHJweFRyYW5zbGF0ZVwiPlxuXG48bWF0LWF1dG9jb21wbGV0ZSAjZHJvcGRvd249XCJtYXRBdXRvY29tcGxldGVcIiBbZGlzcGxheVdpdGhdPVwiZGlzcGxheVZhbHVlXCIgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uIChvcHRpb25TZWxlY3RlZCk9XCJvblNlbGVjdGVkKCRldmVudClcIj5cbiAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHVzZXIgb2YgZmlsdGVyZWRVc2VycyB8IGFzeW5jXCIgW3ZhbHVlXT1cInVzZXJcIj5cbiAgICB7eyB1c2VyLmZpcnN0TmFtZSB8IHJweFRyYW5zbGF0ZSB9fSB7eyB1c2VyLmxhc3ROYW1lIHwgcnB4VHJhbnNsYXRlIH19IC0ge3sgdXNlci5lbWFpbCB9fVxuICA8L21hdC1vcHRpb24+XG48L21hdC1hdXRvY29tcGxldGU+XG4iXX0=
|
|
@@ -1,345 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
|
-
import { AddressMessageEnum } from '../../models';
|
|
4
|
-
import { AddressOption } from '../../models/address-option.model';
|
|
5
|
-
import { AddressService } from '../../services/address/address.service';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../services/address/address.service";
|
|
8
|
-
import * as i2 from "@angular/common";
|
|
9
|
-
import * as i3 from "@angular/forms";
|
|
10
|
-
import * as i4 from "../write-address-inputs/write-address-inputs.component";
|
|
11
|
-
function WriteAddressFieldComponent_p_1_Template(rf, ctx) { if (rf & 1) {
|
|
12
|
-
i0.ɵɵelementStart(0, "p", 5)(1, "span", 6);
|
|
13
|
-
i0.ɵɵtext(2, "Error:");
|
|
14
|
-
i0.ɵɵelementEnd();
|
|
15
|
-
i0.ɵɵtext(3);
|
|
16
|
-
i0.ɵɵelementEnd();
|
|
17
|
-
} if (rf & 2) {
|
|
18
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
19
|
-
i0.ɵɵadvance(3);
|
|
20
|
-
i0.ɵɵtextInterpolate1("", ctx_r0.optionErrorMessage, " ");
|
|
21
|
-
} }
|
|
22
|
-
function WriteAddressFieldComponent_div_2_p_8_Template(rf, ctx) { if (rf & 1) {
|
|
23
|
-
i0.ɵɵelementStart(0, "p", 5)(1, "span", 6);
|
|
24
|
-
i0.ɵɵtext(2, "Error:");
|
|
25
|
-
i0.ɵɵelementEnd();
|
|
26
|
-
i0.ɵɵtext(3);
|
|
27
|
-
i0.ɵɵelementEnd();
|
|
28
|
-
} if (rf & 2) {
|
|
29
|
-
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
30
|
-
i0.ɵɵadvance(3);
|
|
31
|
-
i0.ɵɵtextInterpolate1("", ctx_r4.postcodeErrorMessage, " ");
|
|
32
|
-
} }
|
|
33
|
-
function WriteAddressFieldComponent_div_2_div_13_p_5_Template(rf, ctx) { if (rf & 1) {
|
|
34
|
-
i0.ɵɵelementStart(0, "p", 5)(1, "span", 6);
|
|
35
|
-
i0.ɵɵtext(2, "Error:");
|
|
36
|
-
i0.ɵɵelementEnd();
|
|
37
|
-
i0.ɵɵtext(3);
|
|
38
|
-
i0.ɵɵelementEnd();
|
|
39
|
-
} if (rf & 2) {
|
|
40
|
-
const ctx_r7 = i0.ɵɵnextContext(3);
|
|
41
|
-
i0.ɵɵadvance(3);
|
|
42
|
-
i0.ɵɵtextInterpolate1("", ctx_r7.selectErrorMessage, " ");
|
|
43
|
-
} }
|
|
44
|
-
function WriteAddressFieldComponent_div_2_div_13_option_7_Template(rf, ctx) { if (rf & 1) {
|
|
45
|
-
i0.ɵɵelementStart(0, "option", 22);
|
|
46
|
-
i0.ɵɵtext(1);
|
|
47
|
-
i0.ɵɵelementEnd();
|
|
48
|
-
} if (rf & 2) {
|
|
49
|
-
const addressOption_r9 = ctx.$implicit;
|
|
50
|
-
i0.ɵɵproperty("ngValue", addressOption_r9.value);
|
|
51
|
-
i0.ɵɵadvance(1);
|
|
52
|
-
i0.ɵɵtextInterpolate1(" ", addressOption_r9.description, " ");
|
|
53
|
-
} }
|
|
54
|
-
const _c0 = function (a0) { return { "govuk-form-group--error": a0 }; };
|
|
55
|
-
function WriteAddressFieldComponent_div_2_div_13_Template(rf, ctx) { if (rf & 1) {
|
|
56
|
-
const _r11 = i0.ɵɵgetCurrentView();
|
|
57
|
-
i0.ɵɵelementStart(0, "div", 16)(1, "div", 17)(2, "label", 18)(3, "span", 19);
|
|
58
|
-
i0.ɵɵtext(4, "Select an address");
|
|
59
|
-
i0.ɵɵelementEnd()();
|
|
60
|
-
i0.ɵɵtemplate(5, WriteAddressFieldComponent_div_2_div_13_p_5_Template, 4, 1, "p", 1);
|
|
61
|
-
i0.ɵɵelementStart(6, "select", 20);
|
|
62
|
-
i0.ɵɵlistener("change", function WriteAddressFieldComponent_div_2_div_13_Template_select_change_6_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r10.addressSelected()); });
|
|
63
|
-
i0.ɵɵtemplate(7, WriteAddressFieldComponent_div_2_div_13_option_7_Template, 2, 2, "option", 21);
|
|
64
|
-
i0.ɵɵelementEnd()()();
|
|
65
|
-
} if (rf & 2) {
|
|
66
|
-
const ctx_r5 = i0.ɵɵnextContext(2);
|
|
67
|
-
i0.ɵɵadvance(1);
|
|
68
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c0, ctx_r5.postcodeErrorPresent(false)));
|
|
69
|
-
i0.ɵɵadvance(4);
|
|
70
|
-
i0.ɵɵproperty("ngIf", ctx_r5.postcodeErrorPresent(false));
|
|
71
|
-
i0.ɵɵadvance(2);
|
|
72
|
-
i0.ɵɵproperty("ngForOf", ctx_r5.addressOptions);
|
|
73
|
-
} }
|
|
74
|
-
function WriteAddressFieldComponent_div_2_a_14_Template(rf, ctx) { if (rf & 1) {
|
|
75
|
-
const _r13 = i0.ɵɵgetCurrentView();
|
|
76
|
-
i0.ɵɵelementStart(0, "a", 23);
|
|
77
|
-
i0.ɵɵlistener("click", function WriteAddressFieldComponent_div_2_a_14_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r12.blankAddress()); });
|
|
78
|
-
i0.ɵɵtext(1, "I can't enter a UK postcode");
|
|
79
|
-
i0.ɵɵelementEnd();
|
|
80
|
-
} }
|
|
81
|
-
const _c1 = function (a0) { return { "govuk-input--error": a0 }; };
|
|
82
|
-
function WriteAddressFieldComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
83
|
-
const _r15 = i0.ɵɵgetCurrentView();
|
|
84
|
-
i0.ɵɵelementStart(0, "div")(1, "span", 7)(2, "strong");
|
|
85
|
-
i0.ɵɵtext(3, "Provide address details");
|
|
86
|
-
i0.ɵɵelementEnd()();
|
|
87
|
-
i0.ɵɵelementStart(4, "div", 8)(5, "label", 9)(6, "span", 10);
|
|
88
|
-
i0.ɵɵtext(7, "Enter a UK postcode");
|
|
89
|
-
i0.ɵɵelementEnd()();
|
|
90
|
-
i0.ɵɵtemplate(8, WriteAddressFieldComponent_div_2_p_8_Template, 4, 1, "p", 1);
|
|
91
|
-
i0.ɵɵelementStart(9, "div", 11);
|
|
92
|
-
i0.ɵɵelement(10, "input", 12);
|
|
93
|
-
i0.ɵɵelementStart(11, "button", 13);
|
|
94
|
-
i0.ɵɵlistener("click", function WriteAddressFieldComponent_div_2_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r15); const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.findAddress()); });
|
|
95
|
-
i0.ɵɵtext(12, "Find address");
|
|
96
|
-
i0.ɵɵelementEnd()()();
|
|
97
|
-
i0.ɵɵtemplate(13, WriteAddressFieldComponent_div_2_div_13_Template, 8, 5, "div", 14);
|
|
98
|
-
i0.ɵɵtemplate(14, WriteAddressFieldComponent_div_2_a_14_Template, 2, 0, "a", 15);
|
|
99
|
-
i0.ɵɵelementEnd();
|
|
100
|
-
} if (rf & 2) {
|
|
101
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
102
|
-
i0.ɵɵadvance(4);
|
|
103
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(5, _c0, ctx_r1.missingPostcode || ctx_r1.postcodeErrorPresent(true)));
|
|
104
|
-
i0.ɵɵadvance(4);
|
|
105
|
-
i0.ɵɵproperty("ngIf", ctx_r1.missingPostcode || ctx_r1.postcodeErrorPresent(true));
|
|
106
|
-
i0.ɵɵadvance(2);
|
|
107
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1, ctx_r1.missingPostcode));
|
|
108
|
-
i0.ɵɵadvance(3);
|
|
109
|
-
i0.ɵɵproperty("ngIf", ctx_r1.addressOptions);
|
|
110
|
-
i0.ɵɵadvance(1);
|
|
111
|
-
i0.ɵɵproperty("ngIf", !ctx_r1.shouldShowDetailFields() || !ctx_r1.startedInternational && !ctx_r1.addressChosen);
|
|
112
|
-
} }
|
|
113
|
-
function WriteAddressFieldComponent_div_3_xuilib_write_address_inputs_10_Template(rf, ctx) { if (rf & 1) {
|
|
114
|
-
i0.ɵɵelement(0, "xuilib-write-address-inputs", 31);
|
|
115
|
-
} if (rf & 2) {
|
|
116
|
-
const ctx_r16 = i0.ɵɵnextContext(2);
|
|
117
|
-
i0.ɵɵproperty("formGroup", ctx_r16.formGroup)("isInternational", ctx_r16.isInternational)("submissionAttempted", ctx_r16.submissionAttempted);
|
|
118
|
-
} }
|
|
119
|
-
function WriteAddressFieldComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
120
|
-
const _r18 = i0.ɵɵgetCurrentView();
|
|
121
|
-
i0.ɵɵelementStart(0, "div", 24)(1, "div", 25)(2, "input", 26);
|
|
122
|
-
i0.ɵɵlistener("click", function WriteAddressFieldComponent_div_3_Template_input_click_2_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.setInternationalAddress(false)); });
|
|
123
|
-
i0.ɵɵelementEnd();
|
|
124
|
-
i0.ɵɵelementStart(3, "label", 27);
|
|
125
|
-
i0.ɵɵtext(4, " Yes ");
|
|
126
|
-
i0.ɵɵelementEnd()();
|
|
127
|
-
i0.ɵɵelementStart(5, "div", 25)(6, "input", 28);
|
|
128
|
-
i0.ɵɵlistener("click", function WriteAddressFieldComponent_div_3_Template_input_click_6_listener() { i0.ɵɵrestoreView(_r18); const ctx_r19 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r19.setInternationalAddress(true)); });
|
|
129
|
-
i0.ɵɵelementEnd();
|
|
130
|
-
i0.ɵɵelementStart(7, "label", 29);
|
|
131
|
-
i0.ɵɵtext(8, " No ");
|
|
132
|
-
i0.ɵɵelementEnd()();
|
|
133
|
-
i0.ɵɵelementStart(9, "div", 30);
|
|
134
|
-
i0.ɵɵtemplate(10, WriteAddressFieldComponent_div_3_xuilib_write_address_inputs_10_Template, 1, 3, "xuilib-write-address-inputs", 4);
|
|
135
|
-
i0.ɵɵelementEnd()();
|
|
136
|
-
} if (rf & 2) {
|
|
137
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
138
|
-
i0.ɵɵadvance(10);
|
|
139
|
-
i0.ɵɵproperty("ngIf", ctx_r2.isInternational !== undefined);
|
|
140
|
-
} }
|
|
141
|
-
function WriteAddressFieldComponent_xuilib_write_address_inputs_4_Template(rf, ctx) { if (rf & 1) {
|
|
142
|
-
i0.ɵɵelement(0, "xuilib-write-address-inputs", 31);
|
|
143
|
-
} if (rf & 2) {
|
|
144
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
145
|
-
i0.ɵɵproperty("formGroup", ctx_r3.formGroup)("isInternational", false)("submissionAttempted", ctx_r3.submissionAttempted);
|
|
146
|
-
} }
|
|
147
|
-
export class WriteAddressFieldComponent {
|
|
148
|
-
constructor(addressesService) {
|
|
149
|
-
this.addressesService = addressesService;
|
|
150
|
-
this.internationalMode = false;
|
|
151
|
-
this.submissionAttempted = false;
|
|
152
|
-
this.addressChosen = false;
|
|
153
|
-
this.postcodeOptionSelected = new EventEmitter();
|
|
154
|
-
this.internationalModeStart = new EventEmitter();
|
|
155
|
-
this.ukAddressOptionSelected = new EventEmitter();
|
|
156
|
-
// indicated what error to display to user
|
|
157
|
-
this.canSelectAddress = new EventEmitter();
|
|
158
|
-
// tells parent to reset submission attempted field
|
|
159
|
-
// only relevant to when user re-clicks find address
|
|
160
|
-
this.resetSubmission = new EventEmitter();
|
|
161
|
-
this.addressField = {
|
|
162
|
-
addressLine1: '',
|
|
163
|
-
addressLine2: '',
|
|
164
|
-
addressLine3: '',
|
|
165
|
-
postCode: '',
|
|
166
|
-
postTown: '',
|
|
167
|
-
country: '',
|
|
168
|
-
county: ''
|
|
169
|
-
};
|
|
170
|
-
this.optionErrorsPresent = false;
|
|
171
|
-
this.addressSelectable = false;
|
|
172
|
-
this.missingPostcode = false;
|
|
173
|
-
this.optionErrorMessage = AddressMessageEnum.NO_OPTION_SELECTED;
|
|
174
|
-
this.postcodeErrorMessage = AddressMessageEnum.NO_POSTCODE_SELECTED;
|
|
175
|
-
this.selectErrorMessage = AddressMessageEnum.SELECT_ADDRESS;
|
|
176
|
-
}
|
|
177
|
-
ngOnInit() {
|
|
178
|
-
if (!this.formGroup.get('address')) {
|
|
179
|
-
this.formGroup.addControl('address', new FormControl({}));
|
|
180
|
-
}
|
|
181
|
-
// set the form group relevant to only the external parent component
|
|
182
|
-
this.addressFormGroup = new FormGroup({
|
|
183
|
-
// relevant to international mode
|
|
184
|
-
ukAddress: new FormControl(this.isInternational !== undefined ? (this.isInternational ? 'no' : 'yes') : null),
|
|
185
|
-
// relevant to postocode lookup
|
|
186
|
-
postcode: new FormControl(''),
|
|
187
|
-
addressList: new FormControl('')
|
|
188
|
-
});
|
|
189
|
-
this.setPostcodeForm();
|
|
190
|
-
}
|
|
191
|
-
findAddress() {
|
|
192
|
-
this.resetSubmission.emit();
|
|
193
|
-
if (!this.addressFormGroup.get('postcode').value) {
|
|
194
|
-
this.missingPostcode = true;
|
|
195
|
-
this.canSelectAddress.emit(false);
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
this.missingPostcode = false;
|
|
199
|
-
this.addressField = null;
|
|
200
|
-
const postcode = this.addressFormGroup.get('postcode').value;
|
|
201
|
-
this.addressOptions = [];
|
|
202
|
-
this.addressesService.getAddressesForPostcode(postcode.replace(' ', '').toUpperCase()).subscribe(result => {
|
|
203
|
-
result.forEach(address => {
|
|
204
|
-
this.addressOptions.push(new AddressOption(address, null));
|
|
205
|
-
});
|
|
206
|
-
this.addressOptions.unshift(new AddressOption(undefined, this.defaultLabel(this.addressOptions.length)));
|
|
207
|
-
}, (error) => {
|
|
208
|
-
// Edited this so that errors not produced if there are no results for a postcode
|
|
209
|
-
console.log(`An error occurred retrieving addresses for postcode ${postcode}. ${error}`);
|
|
210
|
-
this.addressOptions.unshift(new AddressOption(undefined, this.defaultLabel(this.addressOptions.length)));
|
|
211
|
-
});
|
|
212
|
-
this.addressFormGroup.get('addressList').setValue(undefined);
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
blankAddress() {
|
|
216
|
-
this.setFormValue();
|
|
217
|
-
this.resetSubmission.emit();
|
|
218
|
-
if (this.internationalMode) {
|
|
219
|
-
this.internationalModeStart.emit();
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
shouldShowDetailFields() {
|
|
223
|
-
if (!this.formGroup.get('address')) {
|
|
224
|
-
return false;
|
|
225
|
-
}
|
|
226
|
-
const address = this.formGroup.get('address').value;
|
|
227
|
-
let hasAddress = false;
|
|
228
|
-
if (address) {
|
|
229
|
-
Object.keys(address).forEach((key) => {
|
|
230
|
-
if (address[key] !== null) {
|
|
231
|
-
hasAddress = true;
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
return hasAddress;
|
|
236
|
-
}
|
|
237
|
-
addressSelected() {
|
|
238
|
-
this.missingPostcode = false;
|
|
239
|
-
this.addressField = this.addressFormGroup.get('addressList').value;
|
|
240
|
-
this.addressChosen = true;
|
|
241
|
-
this.setFormValue();
|
|
242
|
-
this.postcodeOptionSelected.emit();
|
|
243
|
-
}
|
|
244
|
-
ngOnChanges(changes) {
|
|
245
|
-
const addressChange = changes['addressField'];
|
|
246
|
-
const internationalChange = changes['isInternational'];
|
|
247
|
-
if (addressChange) {
|
|
248
|
-
this.setFormValue();
|
|
249
|
-
}
|
|
250
|
-
if (internationalChange && this.addressFormGroup && this.addressFormGroup.get('ukAddress')) {
|
|
251
|
-
this.addressFormGroup.get('ukAddress').patchValue(this.isInternational ? 'no' : 'yes');
|
|
252
|
-
}
|
|
253
|
-
if (!this.addressChosen && this.addressFormGroup && this.addressFormGroup.get('addressList')) {
|
|
254
|
-
// resets address options on internal back
|
|
255
|
-
this.addressFormGroup.get('addressList').patchValue(undefined);
|
|
256
|
-
}
|
|
257
|
-
this.checkIfErrorsNeeded();
|
|
258
|
-
}
|
|
259
|
-
checkIfErrorsNeeded() {
|
|
260
|
-
if (this.submissionAttempted && this.internationalMode && !this.postcodeLookupVisible()) {
|
|
261
|
-
// ensure errors present when submission attmempted on international radio buttons
|
|
262
|
-
this.optionErrorsPresent = true;
|
|
263
|
-
this.optionErrorMessage = AddressMessageEnum.NO_OPTION_SELECTED;
|
|
264
|
-
}
|
|
265
|
-
else {
|
|
266
|
-
this.optionErrorsPresent = false;
|
|
267
|
-
}
|
|
268
|
-
if (this.optionErrorsPresent && (this.addressChosen || this.isInternational !== undefined)) {
|
|
269
|
-
// ensure parent errors not present when the child form group is present
|
|
270
|
-
this.optionErrorsPresent = false;
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
setInternationalAddress(isInternational) {
|
|
274
|
-
this.isInternational = isInternational;
|
|
275
|
-
this.ukAddressOptionSelected.emit(this.isInternational);
|
|
276
|
-
}
|
|
277
|
-
postcodeErrorPresent(isPostcodeField) {
|
|
278
|
-
const checkForField = isPostcodeField ? !this.addressSelectable : this.addressSelectable;
|
|
279
|
-
return this.submissionAttempted && checkForField;
|
|
280
|
-
}
|
|
281
|
-
postcodeLookupVisible() {
|
|
282
|
-
return !this.shouldShowDetailFields() || (!this.startedInternational && !this.addressChosen);
|
|
283
|
-
}
|
|
284
|
-
defaultLabel(numberOfAddresses) {
|
|
285
|
-
this.addressSelectable = numberOfAddresses > 0 ? true : false;
|
|
286
|
-
this.canSelectAddress.emit(this.addressSelectable);
|
|
287
|
-
return numberOfAddresses === 0 ? 'No address found'
|
|
288
|
-
: `${numberOfAddresses}${numberOfAddresses === 1 ? ' address ' : ' addresses '}found`;
|
|
289
|
-
}
|
|
290
|
-
setFormValue() {
|
|
291
|
-
if (this.formGroup) {
|
|
292
|
-
this.formGroup.get('address').patchValue(this.addressField);
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
setPostcodeForm() {
|
|
296
|
-
const postcodeNeeded = this.isInternational === undefined && this.formGroup.get('address') && this.formGroup.get('address').get('postCode');
|
|
297
|
-
this.addressFormGroup.get('postcode').patchValue(postcodeNeeded ? this.formGroup.get('address').get('postCode').value : '');
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
WriteAddressFieldComponent.ɵfac = function WriteAddressFieldComponent_Factory(t) { return new (t || WriteAddressFieldComponent)(i0.ɵɵdirectiveInject(i1.AddressService)); };
|
|
301
|
-
WriteAddressFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteAddressFieldComponent, selectors: [["xuilib-write-address-field"]], inputs: { formGroup: "formGroup", internationalMode: "internationalMode", isInternational: "isInternational", submissionAttempted: "submissionAttempted", startedInternational: "startedInternational", addressChosen: "addressChosen" }, outputs: { postcodeOptionSelected: "postcodeOptionSelected", internationalModeStart: "internationalModeStart", ukAddressOptionSelected: "ukAddressOptionSelected", canSelectAddress: "canSelectAddress", resetSubmission: "resetSubmission" }, features: [i0.ɵɵNgOnChangesFeature], decls: 5, vars: 8, consts: [[1, "govuk-form-group", 3, "formGroup", "ngClass"], ["class", "govuk-error-message", 4, "ngIf"], [4, "ngIf"], ["id", "govuk-radios", "class", "govuk-radios", "data-module", "govuk-radios", 4, "ngIf"], [3, "formGroup", "isInternational", "submissionAttempted", 4, "ngIf"], [1, "govuk-error-message"], [1, "govuk-visually-hidden"], [1, "govuk-label"], ["id", "addressLookup", 1, "govuk-body", "postcode-lookup", 3, "ngClass"], ["for", "postcodeInput"], [1, "govuk-hint"], [1, "govuk-body"], ["type", "text", "id", "postcodeInput", "name", "postcode", "formControlName", "postcode", 1, "govuk-input", "govuk-!-width-one-third", "postcodeinput", "inline-block", 3, "ngClass"], ["type", "button", 1, "govuk-button", "find-address", 3, "click"], ["class", "govuk-body", "id", "selectAddress", 4, "ngIf"], ["class", "manual-link govuk-link", "href", "javascript:void(0)", 3, "click", 4, "ngIf"], ["id", "selectAddress", 1, "govuk-body"], [1, "govuk-body", 3, "ngClass"], ["for", "addressList", 1, "govuk-label"], [1, "form-label"], ["id", "addressList", "name", "address", "formControlName", "addressList", "focusElement", "", 1, "form-control", "govuk-select", "ccd-dropdown", "addressList", 3, "change"], [3, "ngValue", 4, "ngFor", "ngForOf"], [3, "ngValue"], ["href", "javascript:void(0)", 1, "manual-link", "govuk-link", 3, "click"], ["id", "govuk-radios", "data-module", "govuk-radios", 1, "govuk-radios"], [1, "govuk-radios__item"], ["id", "yes", "value", "yes", "name", "ukAddress", "type", "radio", "data-aria-controls", "address-fields", "formControlName", "ukAddress", 1, "govuk-radios__input", 3, "click"], ["for", "yes", 1, "govuk-label", "govuk-radios__label"], ["id", "no", "value", "no", "name", "ukAddress", "type", "radio", "data-aria-controls", "address-fields", "formControlName", "ukAddress", 1, "govuk-radios__input", 3, "click"], ["for", "no", 1, "govuk-label", "govuk-radios__label"], ["id", "address-fields", 1, "govuk-radios__conditional"], [3, "formGroup", "isInternational", "submissionAttempted"]], template: function WriteAddressFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
302
|
-
i0.ɵɵelementStart(0, "div", 0);
|
|
303
|
-
i0.ɵɵtemplate(1, WriteAddressFieldComponent_p_1_Template, 4, 1, "p", 1);
|
|
304
|
-
i0.ɵɵtemplate(2, WriteAddressFieldComponent_div_2_Template, 15, 9, "div", 2);
|
|
305
|
-
i0.ɵɵtemplate(3, WriteAddressFieldComponent_div_3_Template, 11, 1, "div", 3);
|
|
306
|
-
i0.ɵɵtemplate(4, WriteAddressFieldComponent_xuilib_write_address_inputs_4_Template, 1, 3, "xuilib-write-address-inputs", 4);
|
|
307
|
-
i0.ɵɵelementEnd();
|
|
308
|
-
} if (rf & 2) {
|
|
309
|
-
i0.ɵɵproperty("formGroup", ctx.addressFormGroup)("ngClass", i0.ɵɵpureFunction1(6, _c0, ctx.optionErrorsPresent));
|
|
310
|
-
i0.ɵɵadvance(1);
|
|
311
|
-
i0.ɵɵproperty("ngIf", ctx.optionErrorsPresent);
|
|
312
|
-
i0.ɵɵadvance(1);
|
|
313
|
-
i0.ɵɵproperty("ngIf", ctx.postcodeLookupVisible());
|
|
314
|
-
i0.ɵɵadvance(1);
|
|
315
|
-
i0.ɵɵproperty("ngIf", ctx.shouldShowDetailFields() && ctx.internationalMode && ctx.startedInternational && !ctx.addressChosen);
|
|
316
|
-
i0.ɵɵadvance(1);
|
|
317
|
-
i0.ɵɵproperty("ngIf", ctx.shouldShowDetailFields() && (ctx.addressChosen || !ctx.internationalMode));
|
|
318
|
-
} }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i3.NgSelectOption, i3.ɵNgSelectMultipleOption, i3.DefaultValueAccessor, i3.SelectControlValueAccessor, i3.RadioControlValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.FormGroupDirective, i3.FormControlName, i4.WriteAddressInputsComponent], styles: [".manual-link[_ngcontent-%COMP%]{cursor:pointer;display:block;text-decoration:underline;font-size:1.1875rem}.postcode-lookup[_ngcontent-%COMP%]{margin-bottom:-20px}.find-address[_ngcontent-%COMP%]{left:1%}[_nghost-%COMP%]{display:block}"] });
|
|
319
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteAddressFieldComponent, [{
|
|
320
|
-
type: Component,
|
|
321
|
-
args: [{ selector: 'xuilib-write-address-field', template: "<div class=\"govuk-form-group\" [formGroup]=\"addressFormGroup\"\n [ngClass]=\"{'govuk-form-group--error': optionErrorsPresent}\">\n <p class=\"govuk-error-message\" *ngIf=\"optionErrorsPresent\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{optionErrorMessage}}\n </p>\n <div *ngIf=\"postcodeLookupVisible()\">\n <span class=\"govuk-label\"><strong>Provide address details</strong></span>\n <div class=\"govuk-body postcode-lookup\" id=\"addressLookup\"\n [ngClass]=\"{'govuk-form-group--error': missingPostcode || postcodeErrorPresent(true)}\">\n <label for=\"postcodeInput\">\n <span class=\"govuk-hint\">Enter a UK postcode</span>\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"missingPostcode || postcodeErrorPresent(true)\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{postcodeErrorMessage}}\n </p>\n <div class=\"govuk-body\">\n <input type=\"text\" [ngClass]=\"{'govuk-input--error': missingPostcode}\" id=\"postcodeInput\" name=\"postcode\"\n class=\"govuk-input govuk-!-width-one-third postcodeinput inline-block\" formControlName=\"postcode\">\n <button type=\"button\" class=\"govuk-button find-address\" (click)=\"findAddress()\">Find address</button>\n </div>\n </div>\n\n <div class=\"govuk-body\" *ngIf=\"addressOptions\" id=\"selectAddress\">\n <div class=\"govuk-body\" [ngClass]=\"{'govuk-form-group--error': postcodeErrorPresent(false)}\">\n <label class=\"govuk-label\" for=\"addressList\">\n <span class=\"form-label\">Select an address</span>\n </label>\n <p class=\"govuk-error-message\" *ngIf=\"postcodeErrorPresent(false)\">\n <span class=\"govuk-visually-hidden\">Error:</span>{{selectErrorMessage}}\n </p>\n <select class=\"form-control govuk-select ccd-dropdown addressList\" id=\"addressList\" name=\"address\"\n formControlName=\"addressList\" (change)=\"addressSelected()\" focusElement>\n <option *ngFor=\"let addressOption of addressOptions\" [ngValue]=\"addressOption.value\">\n {{addressOption.description}}\n </option>\n </select>\n </div>\n </div>\n\n <a class=\"manual-link govuk-link\" *ngIf=\"!shouldShowDetailFields() || (!startedInternational && !addressChosen)\"\n (click)=\"blankAddress()\" href=\"javascript:void(0)\">I can't enter a UK postcode</a>\n </div>\n\n <div id=\"govuk-radios\" class=\"govuk-radios\" data-module=\"govuk-radios\"\n *ngIf=\"shouldShowDetailFields() && internationalMode && startedInternational && !addressChosen\">\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"yes\" value=\"yes\" name=\"ukAddress\" type=\"radio\"\n data-aria-controls=\"address-fields\" (click)=\"setInternationalAddress(false)\" formControlName=\"ukAddress\">\n <label class=\"govuk-label govuk-radios__label\" for=\"yes\">\n Yes\n </label>\n </div>\n <div class=\"govuk-radios__item\">\n <input class=\"govuk-radios__input\" id=\"no\" value=\"no\" name=\"ukAddress\" type=\"radio\"\n data-aria-controls=\"address-fields\" (click)=\"setInternationalAddress(true)\" formControlName=\"ukAddress\">\n <label class=\"govuk-label govuk-radios__label\" for=\"no\">\n No\n </label>\n </div>\n <div class=\"govuk-radios__conditional\" id=\"address-fields\">\n <xuilib-write-address-inputs *ngIf=\"isInternational !== undefined\" [formGroup]=\"formGroup\"\n [isInternational]=\"isInternational\" [submissionAttempted]=\"submissionAttempted\">\n </xuilib-write-address-inputs>\n </div>\n </div>\n\n <xuilib-write-address-inputs *ngIf=\"shouldShowDetailFields() && (addressChosen || !internationalMode)\"\n [formGroup]=\"formGroup\" [isInternational]=\"false\" [submissionAttempted]=\"submissionAttempted\">\n </xuilib-write-address-inputs>\n\n</div>", styles: [".manual-link{cursor:pointer;display:block;text-decoration:underline;font-size:1.1875rem}.postcode-lookup{margin-bottom:-20px}.find-address{left:1%}:host{display:block}\n"] }]
|
|
322
|
-
}], function () { return [{ type: i1.AddressService }]; }, { formGroup: [{
|
|
323
|
-
type: Input
|
|
324
|
-
}], internationalMode: [{
|
|
325
|
-
type: Input
|
|
326
|
-
}], isInternational: [{
|
|
327
|
-
type: Input
|
|
328
|
-
}], submissionAttempted: [{
|
|
329
|
-
type: Input
|
|
330
|
-
}], startedInternational: [{
|
|
331
|
-
type: Input
|
|
332
|
-
}], addressChosen: [{
|
|
333
|
-
type: Input
|
|
334
|
-
}], postcodeOptionSelected: [{
|
|
335
|
-
type: Output
|
|
336
|
-
}], internationalModeStart: [{
|
|
337
|
-
type: Output
|
|
338
|
-
}], ukAddressOptionSelected: [{
|
|
339
|
-
type: Output
|
|
340
|
-
}], canSelectAddress: [{
|
|
341
|
-
type: Output
|
|
342
|
-
}], resetSubmission: [{
|
|
343
|
-
type: Output
|
|
344
|
-
}] }); })();
|
|
345
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtYWRkcmVzcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dyaXRlLWFkZHJlc3Mvd3JpdGUtYWRkcmVzcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dyaXRlLWFkZHJlc3Mvd3JpdGUtYWRkcmVzcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQWdCLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7Ozs7Ozs7SUNGdEUsNEJBQTJELGNBQUE7SUFDckIsc0JBQU07SUFBQSxpQkFBTztJQUFBLFlBQ25EO0lBQUEsaUJBQUk7OztJQUQrQyxlQUNuRDtJQURtRCx5REFDbkQ7OztJQVFJLDRCQUFxRixjQUFBO0lBQy9DLHNCQUFNO0lBQUEsaUJBQU87SUFBQSxZQUNuRDtJQUFBLGlCQUFJOzs7SUFEK0MsZUFDbkQ7SUFEbUQsMkRBQ25EOzs7SUFhRSw0QkFBbUUsY0FBQTtJQUM3QixzQkFBTTtJQUFBLGlCQUFPO0lBQUEsWUFDbkQ7SUFBQSxpQkFBSTs7O0lBRCtDLGVBQ25EO0lBRG1ELHlEQUNuRDs7O0lBR0Usa0NBQXFGO0lBQ25GLFlBQ0Y7SUFBQSxpQkFBUzs7O0lBRjRDLGdEQUErQjtJQUNs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VyxzQkFBc0I7a0JBQXRDLE1BQU07WUFDVSxzQkFBc0I7a0JBQXRDLE1BQU07WUFDVSx1QkFBdUI7a0JBQXZDLE1BQU07WUFFVSxnQkFBZ0I7a0JBQWhDLE1BQU07WUFHVSxlQUFlO2tCQUEvQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWRkcmVzc01lc3NhZ2VFbnVtLCBBZGRyZXNzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQWRkcmVzc09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9hZGRyZXNzLW9wdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBBZGRyZXNzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FkZHJlc3MvYWRkcmVzcy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLXdyaXRlLWFkZHJlc3MtZmllbGQnLFxuICBzdHlsZVVybHM6IFsnLi93cml0ZS1hZGRyZXNzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1hZGRyZXNzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZUFkZHJlc3NGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpbnRlcm5hdGlvbmFsTW9kZSA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgaXNJbnRlcm5hdGlvbmFsOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3VibWlzc2lvbkF0dGVtcHRlZCA9IGZhbHNlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgc3RhcnRlZEludGVybmF0aW9uYWw6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhZGRyZXNzQ2hvc2VuID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBwb3N0Y29kZU9wdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGludGVybmF0aW9uYWxNb2RlU3RhcnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgdWtBZGRyZXNzT3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIC8vIGluZGljYXRlZCB3aGF0IGVycm9yIHRvIGRpc3BsYXkgdG8gdXNlclxuICBAT3V0cHV0KCkgcHVibGljIGNhblNlbGVjdEFkZHJlc3MgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIC8vIHRlbGxzIHBhcmVudCB0byByZXNldCBzdWJtaXNzaW9uIGF0dGVtcHRlZCBmaWVsZFxuICAvLyBvbmx5IHJlbGV2YW50IHRvIHdoZW4gdXNlciByZS1jbGlja3MgZmluZCBhZGRyZXNzXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVzZXRTdWJtaXNzaW9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBhZGRyZXNzRmllbGQ6IEFkZHJlc3NNb2RlbCA9IHtcbiAgICBhZGRyZXNzTGluZTE6ICcnLFxuICAgIGFkZHJlc3NMaW5lMjogJycsXG4gICAgYWRkcmVzc0xpbmUzOiAnJyxcbiAgICBwb3N0Q29kZTogJycsXG4gICAgcG9zdFRvd246ICcnLFxuICAgIGNvdW50cnk6ICcnLFxuICAgIGNvdW50eTogJydcbiAgfTtcblxuICBwdWJsaWMgb3B0aW9uRXJyb3JzUHJlc2VudCA9IGZhbHNlO1xuICBwdWJsaWMgYWRkcmVzc1NlbGVjdGFibGUgPSBmYWxzZTtcblxuICBwdWJsaWMgYWRkcmVzc0Zvcm1Hcm91cDogRm9ybUdyb3VwO1xuXG4gIHB1YmxpYyBhZGRyZXNzT3B0aW9uczogQWRkcmVzc09wdGlvbltdO1xuXG4gIHB1YmxpYyBtaXNzaW5nUG9zdGNvZGUgPSBmYWxzZTtcblxuICBwdWJsaWMgb3B0aW9uRXJyb3JNZXNzYWdlID0gQWRkcmVzc01lc3NhZ2VFbnVtLk5PX09QVElPTl9TRUxFQ1RFRDtcbiAgcHVibGljIHBvc3Rjb2RlRXJyb3JNZXNzYWdlID0gQWRkcmVzc01lc3NhZ2VFbnVtLk5PX1BPU1RDT0RFX1NFTEVDVEVEO1xuICBwdWJsaWMgc2VsZWN0RXJyb3JNZXNzYWdlID0gQWRkcmVzc01lc3NhZ2VFbnVtLlNFTEVDVF9BRERSRVNTO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYWRkcmVzc2VzU2VydmljZTogQWRkcmVzc1NlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldCgnYWRkcmVzcycpKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5hZGRDb250cm9sKCdhZGRyZXNzJywgbmV3IEZvcm1Db250cm9sKHt9KSk7XG4gICAgfVxuICAgIC8vIHNldCB0aGUgZm9ybSBncm91cCByZWxldmFudCB0byBvbmx5IHRoZSBleHRlcm5hbCBwYXJlbnQgY29tcG9uZW50XG4gICAgdGhpcy5hZGRyZXNzRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICAvLyByZWxldmFudCB0byBpbnRlcm5hdGlvbmFsIG1vZGVcbiAgICAgIHVrQWRkcmVzczogbmV3IEZvcm1Db250cm9sKHRoaXMuaXNJbnRlcm5hdGlvbmFsICE9PSB1bmRlZmluZWQgPyAodGhpcy5pc0ludGVybmF0aW9uYWwgPyAnbm8nIDogJ3llcycpIDogbnVsbCksXG4gICAgICAvLyByZWxldmFudCB0byBwb3N0b2NvZGUgbG9va3VwXG4gICAgICBwb3N0Y29kZTogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICAgIGFkZHJlc3NMaXN0OiBuZXcgRm9ybUNvbnRyb2woJycpXG4gICAgfSk7XG4gICAgdGhpcy5zZXRQb3N0Y29kZUZvcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kQWRkcmVzcygpIHtcbiAgICB0aGlzLnJlc2V0U3VibWlzc2lvbi5lbWl0KCk7XG4gICAgaWYgKCF0aGlzLmFkZHJlc3NGb3JtR3JvdXAuZ2V0KCdwb3N0Y29kZScpLnZhbHVlKSB7XG4gICAgICB0aGlzLm1pc3NpbmdQb3N0Y29kZSA9IHRydWU7XG4gICAgICB0aGlzLmNhblNlbGVjdEFkZHJlc3MuZW1pdChmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWlzc2luZ1Bvc3Rjb2RlID0gZmFsc2U7XG4gICAgICB0aGlzLmFkZHJlc3NGaWVsZCA9IG51bGw7XG4gICAgICBjb25zdCBwb3N0Y29kZSA9IHRoaXMuYWRkcmVzc0Zvcm1Hcm91cC5nZXQoJ3Bvc3Rjb2RlJykudmFsdWU7XG4gICAgICB0aGlzLmFkZHJlc3NPcHRpb25zID0gW107XG4gICAgICB0aGlzLmFkZHJlc3Nlc1NlcnZpY2UuZ2V0QWRkcmVzc2VzRm9yUG9zdGNvZGUocG9zdGNvZGUucmVwbGFjZSgnICcsICcnKS50b1VwcGVyQ2FzZSgpKS5zdWJzY3JpYmUoXG4gICAgICAgIHJlc3VsdCA9PiB7XG4gICAgICAgICAgcmVzdWx0LmZvckVhY2goXG4gICAgICAgICAgICBhZGRyZXNzID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5hZGRyZXNzT3B0aW9ucy5wdXNoKG5ldyBBZGRyZXNzT3B0aW9uKGFkZHJlc3MsIG51bGwpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuYWRkcmVzc09wdGlvbnMudW5zaGlmdChcbiAgICAgICAgICAgIG5ldyBBZGRyZXNzT3B0aW9uKHVuZGVmaW5lZCwgdGhpcy5kZWZhdWx0TGFiZWwodGhpcy5hZGRyZXNzT3B0aW9ucy5sZW5ndGgpKVxuICAgICAgICAgICk7XG4gICAgICAgIH0sIChlcnJvcikgPT4ge1xuICAgICAgICAgIC8vIEVkaXRlZCB0aGlzIHNvIHRoYXQgZXJyb3JzIG5vdCBwcm9kdWNlZCBpZiB0aGVyZSBhcmUgbm8gcmVzdWx0cyBmb3IgYSBwb3N0Y29kZVxuICAgICAgICAgIGNvbnNvbGUubG9nKGBBbiBlcnJvciBvY2N1cnJlZCByZXRyaWV2aW5nIGFkZHJlc3NlcyBmb3IgcG9zdGNvZGUgJHtwb3N0Y29kZX0uICR7ZXJyb3J9YCk7XG4gICAgICAgICAgdGhpcy5hZGRyZXNzT3B0aW9ucy51bnNoaWZ0KFxuICAgICAgICAgICAgbmV3IEFkZHJlc3NPcHRpb24odW5kZWZpbmVkLCB0aGlzLmRlZmF1bHRMYWJlbCh0aGlzLmFkZHJlc3NPcHRpb25zLmxlbmd0aCkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB0aGlzLmFkZHJlc3NGb3JtR3JvdXAuZ2V0KCdhZGRyZXNzTGlzdCcpLnNldFZhbHVlKHVuZGVmaW5lZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGJsYW5rQWRkcmVzcygpIHtcbiAgICB0aGlzLnNldEZvcm1WYWx1ZSgpO1xuICAgIHRoaXMucmVzZXRTdWJtaXNzaW9uLmVtaXQoKTtcbiAgICBpZiAodGhpcy5pbnRlcm5hdGlvbmFsTW9kZSkge1xuICAgICAgdGhpcy5pbnRlcm5hdGlvbmFsTW9kZVN0YXJ0LmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2hvdWxkU2hvd0RldGFpbEZpZWxkcygpIHtcbiAgICBpZiAoIXRoaXMuZm9ybUdyb3VwLmdldCgnYWRkcmVzcycpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGFkZHJlc3MgPSB0aGlzLmZvcm1Hcm91cC5nZXQoJ2FkZHJlc3MnKS52YWx1ZTtcbiAgICBsZXQgaGFzQWRkcmVzcyA9IGZhbHNlO1xuICAgIGlmIChhZGRyZXNzKSB7XG4gICAgICBPYmplY3Qua2V5cyhhZGRyZXNzKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgaWYgKGFkZHJlc3Nba2V5XSAhPT0gbnVsbCkge1xuICAgICAgICAgIGhhc0FkZHJlc3MgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGhhc0FkZHJlc3M7XG4gIH1cblxuICBwdWJsaWMgYWRkcmVzc1NlbGVjdGVkKCkge1xuICAgIHRoaXMubWlzc2luZ1Bvc3Rjb2RlID0gZmFsc2U7XG4gICAgdGhpcy5hZGRyZXNzRmllbGQgPSB0aGlzLmFkZHJlc3NGb3JtR3JvdXAuZ2V0KCdhZGRyZXNzTGlzdCcpLnZhbHVlO1xuICAgIHRoaXMuYWRkcmVzc0Nob3NlbiA9IHRydWU7XG4gICAgdGhpcy5zZXRGb3JtVmFsdWUoKTtcbiAgICB0aGlzLnBvc3Rjb2RlT3B0aW9uU2VsZWN0ZWQuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBhZGRyZXNzQ2hhbmdlID0gY2hhbmdlc1snYWRkcmVzc0ZpZWxkJ107XG4gICAgY29uc3QgaW50ZXJuYXRpb25hbENoYW5nZSA9IGNoYW5nZXNbJ2lzSW50ZXJuYXRpb25hbCddO1xuICAgIGlmIChhZGRyZXNzQ2hhbmdlKSB7XG4gICAgICB0aGlzLnNldEZvcm1WYWx1ZSgpO1xuICAgIH1cbiAgICBpZiAoaW50ZXJuYXRpb25hbENoYW5nZSAmJiB0aGlzLmFkZHJlc3NGb3JtR3JvdXAgJiYgdGhpcy5hZGRyZXNzRm9ybUdyb3VwLmdldCgndWtBZGRyZXNzJykpIHtcbiAgICAgIHRoaXMuYWRkcmVzc0Zvcm1Hcm91cC5nZXQoJ3VrQWRkcmVzcycpLnBhdGNoVmFsdWUodGhpcy5pc0ludGVybmF0aW9uYWwgPyAnbm8nIDogJ3llcycpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuYWRkcmVzc0Nob3NlbiAmJiB0aGlzLmFkZHJlc3NGb3JtR3JvdXAgJiYgdGhpcy5hZGRyZXNzRm9ybUdyb3VwLmdldCgnYWRkcmVzc0xpc3QnKSkge1xuICAgICAgLy8gcmVzZXRzIGFkZHJlc3Mgb3B0aW9ucyBvbiBpbnRlcm5hbCBiYWNrXG4gICAgICB0aGlzLmFkZHJlc3NGb3JtR3JvdXAuZ2V0KCdhZGRyZXNzTGlzdCcpLnBhdGNoVmFsdWUodW5kZWZpbmVkKTtcbiAgICB9XG4gICAgdGhpcy5jaGVja0lmRXJyb3JzTmVlZGVkKCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrSWZFcnJvcnNOZWVkZWQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3VibWlzc2lvbkF0dGVtcHRlZCAmJiB0aGlzLmludGVybmF0aW9uYWxNb2RlICYmICF0aGlzLnBvc3Rjb2RlTG9va3VwVmlzaWJsZSgpKSB7XG4gICAgICAvLyBlbnN1cmUgZXJyb3JzIHByZXNlbnQgd2hlbiBzdWJtaXNzaW9uIGF0dG1lbXB0ZWQgb24gaW50ZXJuYXRpb25hbCByYWRpbyBidXR0b25zXG4gICAgICB0aGlzLm9wdGlvbkVycm9yc1ByZXNlbnQgPSB0cnVlO1xuICAgICAgdGhpcy5vcHRpb25FcnJvck1lc3NhZ2UgPSBBZGRyZXNzTWVzc2FnZUVudW0uTk9fT1BUSU9OX1NFTEVDVEVEO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMub3B0aW9uRXJyb3JzUHJlc2VudCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5vcHRpb25FcnJvcnNQcmVzZW50ICYmICh0aGlzLmFkZHJlc3NDaG9zZW4gfHwgdGhpcy5pc0ludGVybmF0aW9uYWwgIT09IHVuZGVmaW5lZCkpIHtcbiAgICAgIC8vIGVuc3VyZSBwYXJlbnQgZXJyb3JzIG5vdCBwcmVzZW50IHdoZW4gdGhlIGNoaWxkIGZvcm0gZ3JvdXAgaXMgcHJlc2VudFxuICAgICAgdGhpcy5vcHRpb25FcnJvcnNQcmVzZW50ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldEludGVybmF0aW9uYWxBZGRyZXNzKGlzSW50ZXJuYXRpb25hbDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNJbnRlcm5hdGlvbmFsID0gaXNJbnRlcm5hdGlvbmFsO1xuICAgIHRoaXMudWtBZGRyZXNzT3B0aW9uU2VsZWN0ZWQuZW1pdCh0aGlzLmlzSW50ZXJuYXRpb25hbCk7XG4gIH1cblxuICBwdWJsaWMgcG9zdGNvZGVFcnJvclByZXNlbnQoaXNQb3N0Y29kZUZpZWxkOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY2hlY2tGb3JGaWVsZCA9IGlzUG9zdGNvZGVGaWVsZCA/ICF0aGlzLmFkZHJlc3NTZWxlY3RhYmxlIDogdGhpcy5hZGRyZXNzU2VsZWN0YWJsZTtcbiAgICByZXR1cm4gdGhpcy5zdWJtaXNzaW9uQXR0ZW1wdGVkICYmIGNoZWNrRm9yRmllbGQ7XG4gIH1cblxuICBwdWJsaWMgcG9zdGNvZGVMb29rdXBWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5zaG91bGRTaG93RGV0YWlsRmllbGRzKCkgfHwgKCF0aGlzLnN0YXJ0ZWRJbnRlcm5hdGlvbmFsICYmICF0aGlzLmFkZHJlc3NDaG9zZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWZhdWx0TGFiZWwobnVtYmVyT2ZBZGRyZXNzZXM6IG51bWJlcikge1xuICAgIHRoaXMuYWRkcmVzc1NlbGVjdGFibGUgPSBudW1iZXJPZkFkZHJlc3NlcyA+IDAgPyB0cnVlIDogZmFsc2U7XG4gICAgdGhpcy5jYW5TZWxlY3RBZGRyZXNzLmVtaXQodGhpcy5hZGRyZXNzU2VsZWN0YWJsZSk7XG4gICAgcmV0dXJuIG51bWJlck9mQWRkcmVzc2VzID09PSAwID8gJ05vIGFkZHJlc3MgZm91bmQnXG4gICAgICA6IGAke251bWJlck9mQWRkcmVzc2VzfSR7bnVtYmVyT2ZBZGRyZXNzZXMgPT09IDEgPyAnIGFkZHJlc3MgJyA6ICcgYWRkcmVzc2VzICd9Zm91bmRgO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb3JtVmFsdWUoKSB7XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoJ2FkZHJlc3MnKS5wYXRjaFZhbHVlKFxuICAgICAgICB0aGlzLmFkZHJlc3NGaWVsZFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldFBvc3Rjb2RlRm9ybSgpOiB2b2lkIHtcbiAgICBjb25zdCBwb3N0Y29kZU5lZWRlZCA9IHRoaXMuaXNJbnRlcm5hdGlvbmFsID09PSB1bmRlZmluZWQgJiYgdGhpcy5mb3JtR3JvdXAuZ2V0KCdhZGRyZXNzJykgJiYgdGhpcy5mb3JtR3JvdXAuZ2V0KCdhZGRyZXNzJykuZ2V0KCdwb3N0Q29kZScpO1xuICAgIHRoaXMuYWRkcmVzc0Zvcm1Hcm91cC5nZXQoJ3Bvc3Rjb2RlJykucGF0Y2hWYWx1ZShwb3N0Y29kZU5lZWRlZCA/IHRoaXMuZm9ybUdyb3VwLmdldCgnYWRkcmVzcycpLmdldCgncG9zdENvZGUnKS52YWx1ZSA6ICcnKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbZm9ybUdyb3VwXT1cImFkZHJlc3NGb3JtR3JvdXBcIlxuICBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogb3B0aW9uRXJyb3JzUHJlc2VudH1cIj5cbiAgPHAgY2xhc3M9XCJnb3Z1ay1lcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJvcHRpb25FcnJvcnNQcmVzZW50XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+e3tvcHRpb25FcnJvck1lc3NhZ2V9fVxuICA8L3A+XG4gIDxkaXYgKm5nSWY9XCJwb3N0Y29kZUxvb2t1cFZpc2libGUoKVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZ292dWstbGFiZWxcIj48c3Ryb25nPlByb3ZpZGUgYWRkcmVzcyBkZXRhaWxzPC9zdHJvbmc+PC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ib2R5IHBvc3Rjb2RlLWxvb2t1cFwiIGlkPVwiYWRkcmVzc0xvb2t1cFwiXG4gICAgICBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogbWlzc2luZ1Bvc3Rjb2RlIHx8IHBvc3Rjb2RlRXJyb3JQcmVzZW50KHRydWUpfVwiPlxuICAgICAgPGxhYmVsIGZvcj1cInBvc3Rjb2RlSW5wdXRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay1oaW50XCI+RW50ZXIgYSBVSyBwb3N0Y29kZTwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8cCBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cIm1pc3NpbmdQb3N0Y29kZSB8fCBwb3N0Y29kZUVycm9yUHJlc2VudCh0cnVlKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPkVycm9yOjwvc3Bhbj57e3Bvc3Rjb2RlRXJyb3JNZXNzYWdlfX1cbiAgICAgIDwvcD5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+XG4gICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFtuZ0NsYXNzXT1cInsnZ292dWstaW5wdXQtLWVycm9yJzogbWlzc2luZ1Bvc3Rjb2RlfVwiIGlkPVwicG9zdGNvZGVJbnB1dFwiIG5hbWU9XCJwb3N0Y29kZVwiXG4gICAgICAgICAgY2xhc3M9XCJnb3Z1ay1pbnB1dCBnb3Z1ay0hLXdpZHRoLW9uZS10aGlyZCBwb3N0Y29kZWlucHV0IGlubGluZS1ibG9ja1wiIGZvcm1Db250cm9sTmFtZT1cInBvc3Rjb2RlXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZ292dWstYnV0dG9uIGZpbmQtYWRkcmVzc1wiIChjbGljayk9XCJmaW5kQWRkcmVzcygpXCI+RmluZCBhZGRyZXNzPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ib2R5XCIgKm5nSWY9XCJhZGRyZXNzT3B0aW9uc1wiIGlkPVwic2VsZWN0QWRkcmVzc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWJvZHlcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogcG9zdGNvZGVFcnJvclByZXNlbnQoZmFsc2UpfVwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbFwiIGZvcj1cImFkZHJlc3NMaXN0XCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsXCI+U2VsZWN0IGFuIGFkZHJlc3M8L3NwYW4+XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxwIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiICpuZ0lmPVwicG9zdGNvZGVFcnJvclByZXNlbnQoZmFsc2UpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj5FcnJvcjo8L3NwYW4+e3tzZWxlY3RFcnJvck1lc3NhZ2V9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZ292dWstc2VsZWN0IGNjZC1kcm9wZG93biBhZGRyZXNzTGlzdFwiIGlkPVwiYWRkcmVzc0xpc3RcIiBuYW1lPVwiYWRkcmVzc1wiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYWRkcmVzc0xpc3RcIiAoY2hhbmdlKT1cImFkZHJlc3NTZWxlY3RlZCgpXCIgZm9jdXNFbGVtZW50PlxuICAgICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGFkZHJlc3NPcHRpb24gb2YgYWRkcmVzc09wdGlvbnNcIiBbbmdWYWx1ZV09XCJhZGRyZXNzT3B0aW9uLnZhbHVlXCI+XG4gICAgICAgICAgICB7e2FkZHJlc3NPcHRpb24uZGVzY3JpcHRpb259fVxuICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGEgY2xhc3M9XCJtYW51YWwtbGluayBnb3Z1ay1saW5rXCIgKm5nSWY9XCIhc2hvdWxkU2hvd0RldGFpbEZpZWxkcygpIHx8ICghc3RhcnRlZEludGVybmF0aW9uYWwgJiYgIWFkZHJlc3NDaG9zZW4pXCJcbiAgICAgIChjbGljayk9XCJibGFua0FkZHJlc3MoKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj5JIGNhbid0IGVudGVyIGEgVUsgcG9zdGNvZGU8L2E+XG4gIDwvZGl2PlxuXG4gIDxkaXYgaWQ9XCJnb3Z1ay1yYWRpb3NcIiBjbGFzcz1cImdvdnVrLXJhZGlvc1wiIGRhdGEtbW9kdWxlPVwiZ292dWstcmFkaW9zXCJcbiAgICAqbmdJZj1cInNob3VsZFNob3dEZXRhaWxGaWVsZHMoKSAmJiBpbnRlcm5hdGlvbmFsTW9kZSAmJiBzdGFydGVkSW50ZXJuYXRpb25hbCAmJiAhYWRkcmVzc0Nob3NlblwiPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1yYWRpb3NfX2l0ZW1cIj5cbiAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLXJhZGlvc19faW5wdXRcIiBpZD1cInllc1wiIHZhbHVlPVwieWVzXCIgbmFtZT1cInVrQWRkcmVzc1wiIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIGRhdGEtYXJpYS1jb250cm9scz1cImFkZHJlc3MtZmllbGRzXCIgKGNsaWNrKT1cInNldEludGVybmF0aW9uYWxBZGRyZXNzKGZhbHNlKVwiIGZvcm1Db250cm9sTmFtZT1cInVrQWRkcmVzc1wiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstcmFkaW9zX19sYWJlbFwiIGZvcj1cInllc1wiPlxuICAgICAgICBZZXNcbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIGlkPVwibm9cIiB2YWx1ZT1cIm5vXCIgbmFtZT1cInVrQWRkcmVzc1wiIHR5cGU9XCJyYWRpb1wiXG4gICAgICAgIGRhdGEtYXJpYS1jb250cm9scz1cImFkZHJlc3MtZmllbGRzXCIgKGNsaWNrKT1cInNldEludGVybmF0aW9uYWxBZGRyZXNzKHRydWUpXCIgZm9ybUNvbnRyb2xOYW1lPVwidWtBZGRyZXNzXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1yYWRpb3NfX2xhYmVsXCIgZm9yPVwibm9cIj5cbiAgICAgICAgTm9cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWxcIiBpZD1cImFkZHJlc3MtZmllbGRzXCI+XG4gICAgICA8eHVpbGliLXdyaXRlLWFkZHJlc3MtaW5wdXRzICpuZ0lmPVwiaXNJbnRlcm5hdGlvbmFsICE9PSB1bmRlZmluZWRcIiBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICAgIFtpc0ludGVybmF0aW9uYWxdPVwiaXNJbnRlcm5hdGlvbmFsXCIgW3N1Ym1pc3Npb25BdHRlbXB0ZWRdPVwic3VibWlzc2lvbkF0dGVtcHRlZFwiPlxuICAgICAgPC94dWlsaWItd3JpdGUtYWRkcmVzcy1pbnB1dHM+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDx4dWlsaWItd3JpdGUtYWRkcmVzcy1pbnB1dHMgKm5nSWY9XCJzaG91bGRTaG93RGV0YWlsRmllbGRzKCkgJiYgKGFkZHJlc3NDaG9zZW4gfHwgIWludGVybmF0aW9uYWxNb2RlKVwiXG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBbaXNJbnRlcm5hdGlvbmFsXT1cImZhbHNlXCIgW3N1Ym1pc3Npb25BdHRlbXB0ZWRdPVwic3VibWlzc2lvbkF0dGVtcHRlZFwiPlxuICA8L3h1aWxpYi13cml0ZS1hZGRyZXNzLWlucHV0cz5cblxuPC9kaXY+Il19
|