@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,234 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
|
-
import { zip } from 'rxjs';
|
|
4
|
-
import { of } from 'rxjs/internal/observable/of';
|
|
5
|
-
import { catchError, debounceTime, filter, map, switchMap, tap } from 'rxjs/operators';
|
|
6
|
-
import { PersonRole } from '../../models';
|
|
7
|
-
import { FindAPersonService } from '../../services/find-person/find-person.service';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "../../services/find-person/find-person.service";
|
|
10
|
-
import * as i2 from "@angular/common";
|
|
11
|
-
import * as i3 from "@angular/forms";
|
|
12
|
-
import * as i4 from "@angular/material/legacy-autocomplete";
|
|
13
|
-
import * as i5 from "@angular/material/legacy-core";
|
|
14
|
-
import * as i6 from "rpx-xui-translation";
|
|
15
|
-
function FindPersonComponent_h1_0_Template(rf, ctx) { if (rf & 1) {
|
|
16
|
-
i0.ɵɵelementStart(0, "h1", 10)(1, "span", 11);
|
|
17
|
-
i0.ɵɵtext(2);
|
|
18
|
-
i0.ɵɵpipe(3, "rpxTranslate");
|
|
19
|
-
i0.ɵɵelementEnd();
|
|
20
|
-
i0.ɵɵtext(4);
|
|
21
|
-
i0.ɵɵpipe(5, "rpxTranslate");
|
|
22
|
-
i0.ɵɵelementEnd();
|
|
23
|
-
} if (rf & 2) {
|
|
24
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
25
|
-
i0.ɵɵadvance(2);
|
|
26
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, ctx_r0.title));
|
|
27
|
-
i0.ɵɵadvance(2);
|
|
28
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 4, ctx_r0.boldTitle), "\n");
|
|
29
|
-
} }
|
|
30
|
-
function FindPersonComponent_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
31
|
-
i0.ɵɵelementStart(0, "div", 12);
|
|
32
|
-
i0.ɵɵtext(1);
|
|
33
|
-
i0.ɵɵpipe(2, "rpxTranslate");
|
|
34
|
-
i0.ɵɵelementEnd();
|
|
35
|
-
} if (rf & 2) {
|
|
36
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
37
|
-
i0.ɵɵadvance(1);
|
|
38
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r1.subTitle), " ");
|
|
39
|
-
} }
|
|
40
|
-
function FindPersonComponent_span_4_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
-
i0.ɵɵelementStart(0, "span", 13)(1, "span", 14);
|
|
42
|
-
i0.ɵɵtext(2);
|
|
43
|
-
i0.ɵɵpipe(3, "rpxTranslate");
|
|
44
|
-
i0.ɵɵelementEnd();
|
|
45
|
-
i0.ɵɵtext(4);
|
|
46
|
-
i0.ɵɵelementEnd();
|
|
47
|
-
} if (rf & 2) {
|
|
48
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
49
|
-
i0.ɵɵadvance(2);
|
|
50
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Error:"));
|
|
51
|
-
i0.ɵɵadvance(2);
|
|
52
|
-
i0.ɵɵtextInterpolate1("", ctx_r2.findPersonGroup.errors.error ? ctx_r2.findPersonGroup.errors.error : ctx_r2.errorMessage, " ");
|
|
53
|
-
} }
|
|
54
|
-
const _c0 = function (a0, a1) { return { "hide-autocomplete": a0, "select-option": a1 }; };
|
|
55
|
-
function FindPersonComponent_mat_option_8_Template(rf, ctx) { if (rf & 1) {
|
|
56
|
-
i0.ɵɵelementStart(0, "mat-option", 15);
|
|
57
|
-
i0.ɵɵtext(1);
|
|
58
|
-
i0.ɵɵpipe(2, "rpxTranslate");
|
|
59
|
-
i0.ɵɵelementEnd();
|
|
60
|
-
} if (rf & 2) {
|
|
61
|
-
const option_r6 = ctx.$implicit;
|
|
62
|
-
const ctx_r4 = i0.ɵɵnextContext();
|
|
63
|
-
i0.ɵɵproperty("value", option_r6)("ngClass", i0.ɵɵpureFunction2(5, _c0, !ctx_r4.showAutocomplete, ctx_r4.showUpdatedColor));
|
|
64
|
-
i0.ɵɵadvance(1);
|
|
65
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 3, ctx_r4.getDisplayName(option_r6)), " ");
|
|
66
|
-
} }
|
|
67
|
-
const _c1 = function (a0) { return { "select-option": a0 }; };
|
|
68
|
-
function FindPersonComponent_mat_option_9_Template(rf, ctx) { if (rf & 1) {
|
|
69
|
-
i0.ɵɵelementStart(0, "mat-option", 16);
|
|
70
|
-
i0.ɵɵtext(1);
|
|
71
|
-
i0.ɵɵpipe(2, "rpxTranslate");
|
|
72
|
-
i0.ɵɵelementEnd();
|
|
73
|
-
} if (rf & 2) {
|
|
74
|
-
const ctx_r5 = i0.ɵɵnextContext();
|
|
75
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c1, ctx_r5.showUpdatedColor));
|
|
76
|
-
i0.ɵɵadvance(1);
|
|
77
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "No results found"));
|
|
78
|
-
} }
|
|
79
|
-
const _c2 = function (a0) { return { "form-group-error": a0 }; };
|
|
80
|
-
export class FindPersonComponent {
|
|
81
|
-
constructor(findPersonService, cd) {
|
|
82
|
-
this.findPersonService = findPersonService;
|
|
83
|
-
this.cd = cd;
|
|
84
|
-
this.personSelected = new EventEmitter();
|
|
85
|
-
this.personFieldChanged = new EventEmitter();
|
|
86
|
-
this.boldTitle = 'Find the person';
|
|
87
|
-
this.subTitle = 'Type the name of the person and select them.';
|
|
88
|
-
this.domain = PersonRole.ALL;
|
|
89
|
-
this.findPersonGroup = new FormGroup({});
|
|
90
|
-
this.submitted = true;
|
|
91
|
-
this.userIncluded = false;
|
|
92
|
-
this.placeholderContent = '';
|
|
93
|
-
this.isNoResultsShown = true;
|
|
94
|
-
this.showUpdatedColor = false;
|
|
95
|
-
this.selectedPersons = [];
|
|
96
|
-
this.errorMessage = 'You must select a name';
|
|
97
|
-
this.idValue = '';
|
|
98
|
-
this.services = 'IA';
|
|
99
|
-
this.disabled = null;
|
|
100
|
-
this.showAutocomplete = false;
|
|
101
|
-
this.filteredOptions = [];
|
|
102
|
-
this.minSearchCharacters = 2;
|
|
103
|
-
}
|
|
104
|
-
ngOnDestroy() {
|
|
105
|
-
if (this.sub) {
|
|
106
|
-
this.sub.unsubscribe();
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
ngOnInit() {
|
|
110
|
-
this.findPersonControl = new FormControl(this.selectedPerson);
|
|
111
|
-
this.findPersonGroup.addControl('findPersonControl', this.findPersonControl);
|
|
112
|
-
this.sub = this.findPersonControl.valueChanges.pipe(tap(() => this.showAutocomplete = false), tap(() => this.filteredOptions = []), debounceTime(300), tap((searchTerm) => typeof searchTerm === 'string' ? this.personSelected.emit(null) : void 0), filter((searchTerm) => searchTerm && searchTerm.length > this.minSearchCharacters), switchMap((searchTerm) => this.filter(searchTerm).pipe(tap(() => this.showAutocomplete = true), catchError(() => this.filteredOptions = [])))).subscribe((people) => {
|
|
113
|
-
this.filteredOptions = people;
|
|
114
|
-
this.cd.detectChanges();
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
filter(searchTerm) {
|
|
118
|
-
const findJudicialOrCTSCPeople = this.findPersonService.find({ searchTerm, userRole: this.domain, services: [this.services], userIncluded: this.userIncluded, assignedUser: this.assignedUser });
|
|
119
|
-
const findCaseworkersOrAdminsOrCtsc = this.findPersonService.findCaseworkers({ searchTerm, userRole: this.domain, services: [this.services], userIncluded: this.userIncluded, assignedUser: this.assignedUser });
|
|
120
|
-
if (searchTerm && searchTerm.length > this.minSearchCharacters) {
|
|
121
|
-
switch (this.domain) {
|
|
122
|
-
case PersonRole.JUDICIAL: {
|
|
123
|
-
return findJudicialOrCTSCPeople.pipe(map(persons => {
|
|
124
|
-
const ids = this.selectedPersons.map(({ id }) => id);
|
|
125
|
-
return persons.filter(({ id }) => !ids.includes(id));
|
|
126
|
-
}));
|
|
127
|
-
}
|
|
128
|
-
case PersonRole.ALL: {
|
|
129
|
-
return zip(findJudicialOrCTSCPeople, findCaseworkersOrAdminsOrCtsc).pipe(map(separatePeople => separatePeople[0].concat(separatePeople[1])));
|
|
130
|
-
}
|
|
131
|
-
case PersonRole.CTSC:
|
|
132
|
-
case PersonRole.CASEWORKER:
|
|
133
|
-
case PersonRole.ADMIN: {
|
|
134
|
-
return findCaseworkersOrAdminsOrCtsc;
|
|
135
|
-
}
|
|
136
|
-
default: {
|
|
137
|
-
return of([]);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
return of([]);
|
|
142
|
-
}
|
|
143
|
-
onSelectionChange(selectedPerson) {
|
|
144
|
-
this.personSelected.emit(selectedPerson);
|
|
145
|
-
this.findPersonControl.setValue(this.getDisplayName(selectedPerson), { emitEvent: false, onlySelf: true });
|
|
146
|
-
}
|
|
147
|
-
getDisplayName(selectedPerson) {
|
|
148
|
-
if (!selectedPerson) {
|
|
149
|
-
return '';
|
|
150
|
-
}
|
|
151
|
-
if (selectedPerson.domain === PersonRole.JUDICIAL && selectedPerson.fullName) {
|
|
152
|
-
return `${selectedPerson.fullName} (${selectedPerson.email})`;
|
|
153
|
-
}
|
|
154
|
-
return selectedPerson.email ? `${selectedPerson.name} (${selectedPerson.email})` : selectedPerson.name;
|
|
155
|
-
}
|
|
156
|
-
onInput() {
|
|
157
|
-
this.personFieldChanged.emit();
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
FindPersonComponent.ɵfac = function FindPersonComponent_Factory(t) { return new (t || FindPersonComponent)(i0.ɵɵdirectiveInject(i1.FindAPersonService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
|
|
161
|
-
FindPersonComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FindPersonComponent, selectors: [["xuilib-find-person"]], inputs: { title: "title", boldTitle: "boldTitle", subTitle: "subTitle", domain: "domain", findPersonGroup: "findPersonGroup", selectedPerson: "selectedPerson", submitted: "submitted", userIncluded: "userIncluded", assignedUser: "assignedUser", placeholderContent: "placeholderContent", isNoResultsShown: "isNoResultsShown", showUpdatedColor: "showUpdatedColor", selectedPersons: "selectedPersons", errorMessage: "errorMessage", idValue: "idValue", services: "services", disabled: "disabled" }, outputs: { personSelected: "personSelected", personFieldChanged: "personFieldChanged" }, decls: 10, vars: 13, consts: [["class", "govuk-heading-l", 4, "ngIf"], [1, "govuk-form-group", 3, "formGroup", "ngClass"], ["aria-describedby", "sub-title-hint", 1, "govuk-fieldset"], ["id", "sub-title-hint", "class", "govuk-hint", 4, "ngIf"], ["id", "validation-error", "class", "govuk-error-message", 4, "ngIf"], ["type", "text", "aria-label", "select a person", "formControlName", "findPersonControl", 1, "govuk-input", "govuk-!-width-one-third", 3, "id", "matAutocomplete", "placeholder", "input"], ["autoActiveFirstOption", "", 3, "optionSelected"], ["auto", "matAutocomplete"], [3, "value", "ngClass", 4, "ngFor", "ngForOf"], [3, "ngClass", 4, "ngIf"], [1, "govuk-heading-l"], [1, "govuk-caption-l"], ["id", "sub-title-hint", 1, "govuk-hint"], ["id", "validation-error", 1, "govuk-error-message"], [1, "govuk-visually-hidden"], [3, "value", "ngClass"], [3, "ngClass"]], template: function FindPersonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
162
|
-
i0.ɵɵtemplate(0, FindPersonComponent_h1_0_Template, 6, 6, "h1", 0);
|
|
163
|
-
i0.ɵɵelementStart(1, "div", 1)(2, "fieldset", 2);
|
|
164
|
-
i0.ɵɵtemplate(3, FindPersonComponent_div_3_Template, 3, 3, "div", 3);
|
|
165
|
-
i0.ɵɵtemplate(4, FindPersonComponent_span_4_Template, 5, 4, "span", 4);
|
|
166
|
-
i0.ɵɵelementStart(5, "input", 5);
|
|
167
|
-
i0.ɵɵlistener("input", function FindPersonComponent_Template_input_input_5_listener() { return ctx.onInput(); });
|
|
168
|
-
i0.ɵɵelementEnd();
|
|
169
|
-
i0.ɵɵelementStart(6, "mat-autocomplete", 6, 7);
|
|
170
|
-
i0.ɵɵlistener("optionSelected", function FindPersonComponent_Template_mat_autocomplete_optionSelected_6_listener($event) { return ctx.onSelectionChange($event.option.value); });
|
|
171
|
-
i0.ɵɵtemplate(8, FindPersonComponent_mat_option_8_Template, 3, 8, "mat-option", 8);
|
|
172
|
-
i0.ɵɵtemplate(9, FindPersonComponent_mat_option_9_Template, 3, 6, "mat-option", 9);
|
|
173
|
-
i0.ɵɵelementEnd()()();
|
|
174
|
-
} if (rf & 2) {
|
|
175
|
-
const _r3 = i0.ɵɵreference(7);
|
|
176
|
-
i0.ɵɵproperty("ngIf", ctx.title && ctx.title.length);
|
|
177
|
-
i0.ɵɵadvance(1);
|
|
178
|
-
i0.ɵɵproperty("formGroup", ctx.findPersonGroup)("ngClass", i0.ɵɵpureFunction1(11, _c2, ctx.findPersonGroup.get("findPersonControl").invalid && ctx.submitted));
|
|
179
|
-
i0.ɵɵadvance(2);
|
|
180
|
-
i0.ɵɵproperty("ngIf", ctx.subTitle && ctx.subTitle.length);
|
|
181
|
-
i0.ɵɵadvance(1);
|
|
182
|
-
i0.ɵɵproperty("ngIf", ctx.findPersonGroup && ctx.findPersonGroup.errors);
|
|
183
|
-
i0.ɵɵadvance(1);
|
|
184
|
-
i0.ɵɵpropertyInterpolate1("id", "inputSelectPerson", ctx.idValue, "");
|
|
185
|
-
i0.ɵɵproperty("matAutocomplete", _r3)("placeholder", ctx.placeholderContent);
|
|
186
|
-
i0.ɵɵattribute("disabled", ctx.disabled);
|
|
187
|
-
i0.ɵɵadvance(3);
|
|
188
|
-
i0.ɵɵproperty("ngForOf", ctx.filteredOptions);
|
|
189
|
-
i0.ɵɵadvance(1);
|
|
190
|
-
i0.ɵɵproperty("ngIf", ctx.isNoResultsShown && !ctx.filteredOptions.length && ctx.showAutocomplete);
|
|
191
|
-
} }, dependencies: [i2.NgClass, i2.NgForOf, i2.NgIf, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.FormGroupDirective, i3.FormControlName, i4.MatLegacyAutocomplete, i4.MatLegacyAutocompleteTrigger, i5.MatLegacyOption, i6.RpxTranslatePipe], styles: [".mat-option[_ngcontent-%COMP%]:hover{background:#2596be}.mat-option.select-option[_ngcontent-%COMP%]:hover{background:#1d70b8;color:#fff}.hide-autocomplete[_ngcontent-%COMP%]{display:none}"] });
|
|
192
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FindPersonComponent, [{
|
|
193
|
-
type: Component,
|
|
194
|
-
args: [{ selector: 'xuilib-find-person', template: "<h1 class=\"govuk-heading-l\" *ngIf=\"title && title.length\">\n <span class=\"govuk-caption-l\">{{title | rpxTranslate}}</span>\n {{boldTitle | rpxTranslate}}\n</h1>\n<div class=\"govuk-form-group\" [formGroup]=\"findPersonGroup\"\n [ngClass]=\"{'form-group-error': findPersonGroup.get('findPersonControl').invalid && submitted}\">\n <fieldset class=\"govuk-fieldset\" aria-describedby=\"sub-title-hint\">\n <div id=\"sub-title-hint\" class=\"govuk-hint\" *ngIf=\"subTitle && subTitle.length\">\n {{subTitle | rpxTranslate}}\n </div>\n <span id=\"validation-error\" class=\"govuk-error-message\" *ngIf=\"findPersonGroup && findPersonGroup.errors\">\n <span class=\"govuk-visually-hidden\">{{'Error:' | rpxTranslate}}</span>{{findPersonGroup.errors.error ? findPersonGroup.errors.error : errorMessage}}\n </span>\n <input id=\"inputSelectPerson{{idValue}}\" type=\"text\" aria-label=\"select a person\"\n formControlName=\"findPersonControl\"\n [matAutocomplete]=\"auto\"\n class=\"govuk-input govuk-!-width-one-third\"\n [placeholder]=\"placeholderContent\"\n [attr.disabled]=\"disabled\"\n (input)=\"onInput()\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"onSelectionChange($event.option.value)\">\n <mat-option *ngFor=\"let option of filteredOptions\"\n [value]=\"option\"\n [ngClass]=\"{'hide-autocomplete': !showAutocomplete, 'select-option': showUpdatedColor}\">\n {{getDisplayName(option) | rpxTranslate}}\n </mat-option>\n <mat-option [ngClass]=\"{'select-option': showUpdatedColor}\" *ngIf=\"isNoResultsShown && !filteredOptions.length && showAutocomplete\">{{'No results found' | rpxTranslate}}</mat-option>\n </mat-autocomplete>\n </fieldset>\n</div>\n", styles: [".mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}.hide-autocomplete{display:none}\n"] }]
|
|
195
|
-
}], function () { return [{ type: i1.FindAPersonService }, { type: i0.ChangeDetectorRef }]; }, { personSelected: [{
|
|
196
|
-
type: Output
|
|
197
|
-
}], personFieldChanged: [{
|
|
198
|
-
type: Output
|
|
199
|
-
}], title: [{
|
|
200
|
-
type: Input
|
|
201
|
-
}], boldTitle: [{
|
|
202
|
-
type: Input
|
|
203
|
-
}], subTitle: [{
|
|
204
|
-
type: Input
|
|
205
|
-
}], domain: [{
|
|
206
|
-
type: Input
|
|
207
|
-
}], findPersonGroup: [{
|
|
208
|
-
type: Input
|
|
209
|
-
}], selectedPerson: [{
|
|
210
|
-
type: Input
|
|
211
|
-
}], submitted: [{
|
|
212
|
-
type: Input
|
|
213
|
-
}], userIncluded: [{
|
|
214
|
-
type: Input
|
|
215
|
-
}], assignedUser: [{
|
|
216
|
-
type: Input
|
|
217
|
-
}], placeholderContent: [{
|
|
218
|
-
type: Input
|
|
219
|
-
}], isNoResultsShown: [{
|
|
220
|
-
type: Input
|
|
221
|
-
}], showUpdatedColor: [{
|
|
222
|
-
type: Input
|
|
223
|
-
}], selectedPersons: [{
|
|
224
|
-
type: Input
|
|
225
|
-
}], errorMessage: [{
|
|
226
|
-
type: Input
|
|
227
|
-
}], idValue: [{
|
|
228
|
-
type: Input
|
|
229
|
-
}], services: [{
|
|
230
|
-
type: Input
|
|
231
|
-
}], disabled: [{
|
|
232
|
-
type: Input
|
|
233
|
-
}] }); })();
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1wZXJzb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9maW5kLXBlcnNvbi9maW5kLXBlcnNvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdHLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUE0QixHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZGLE9BQU8sRUFBVSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7Ozs7Ozs7OztJQ05wRiw4QkFBMEQsZUFBQTtJQUMxQixZQUF3Qjs7SUFBQSxpQkFBTztJQUM3RCxZQUNGOztJQUFBLGlCQUFLOzs7SUFGMkIsZUFBd0I7SUFBeEIsd0RBQXdCO0lBQ3RELGVBQ0Y7SUFERSx3RUFDRjs7O0lBSUksK0JBQWdGO0lBQzlFLFlBQ0Y7O0lBQUEsaUJBQU07OztJQURKLGVBQ0Y7SUFERSxzRUFDRjs7O0lBQ0EsZ0NBQTBHLGVB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QUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxRQUFRO2tCQUF2QixLQUFLO1lBQ1UsTUFBTTtrQkFBckIsS0FBSztZQUNVLGVBQWU7a0JBQTlCLEtBQUs7WUFDVSxjQUFjO2tCQUE3QixLQUFLO1lBQ1UsU0FBUztrQkFBeEIsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1Usa0JBQWtCO2tCQUFqQyxLQUFLO1lBQ1UsZ0JBQWdCO2tCQUEvQixLQUFLO1lBQ1UsZ0JBQWdCO2tCQUEvQixLQUFLO1lBQ1UsZUFBZTtrQkFBOUIsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUs7WUFDVSxPQUFPO2tCQUF0QixLQUFLO1lBQ1UsUUFBUTtrQkFBdkIsS0FBSztZQUNVLFFBQVE7a0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCB6aXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9vYnNlcnZhYmxlL29mJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgUGVyc29uLCBQZXJzb25Sb2xlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEZpbmRBUGVyc29uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItZmluZC1wZXJzb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmluZC1wZXJzb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maW5kLXBlcnNvbi5jb21wb25lbnQuc2NzcyddLFxufSlcblxuZXhwb3J0IGNsYXNzIEZpbmRQZXJzb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcGVyc29uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFBlcnNvbj4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBwZXJzb25GaWVsZENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgYm9sZFRpdGxlID0gJ0ZpbmQgdGhlIHBlcnNvbic7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJUaXRsZSA9ICdUeXBlIHRoZSBuYW1lIG9mIHRoZSBwZXJzb24gYW5kIHNlbGVjdCB0aGVtLic7XG4gIEBJbnB1dCgpIHB1YmxpYyBkb21haW4gPSBQZXJzb25Sb2xlLkFMTDtcbiAgQElucHV0KCkgcHVibGljIGZpbmRQZXJzb25Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZFBlcnNvbjogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgc3VibWl0dGVkOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHVzZXJJbmNsdWRlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGFzc2lnbmVkVXNlcj86IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyQ29udGVudDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpc05vUmVzdWx0c1Nob3duOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHNob3dVcGRhdGVkQ29sb3I6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkUGVyc29uczogUGVyc29uW10gPSBbXTtcbiAgQElucHV0KCkgcHVibGljIGVycm9yTWVzc2FnZTogc3RyaW5nID0gJ1lvdSBtdXN0IHNlbGVjdCBhIG5hbWUnO1xuICBASW5wdXQoKSBwdWJsaWMgaWRWYWx1ZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlczogc3RyaW5nID0gJ0lBJztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgcHVibGljIHNob3dBdXRvY29tcGxldGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGZpbmRQZXJzb25Db250cm9sOiBGb3JtQ29udHJvbDtcbiAgcHVibGljIGZpbHRlcmVkT3B0aW9uczogUGVyc29uW10gPSBbXTtcbiAgcHVibGljIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAyO1xuICBwcml2YXRlIHN1YjogU3Vic2NyaXB0aW9uO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZmluZFBlcnNvblNlcnZpY2U6IEZpbmRBUGVyc29uU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5zdWIpIHtcbiAgICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmluZFBlcnNvbkNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wodGhpcy5zZWxlY3RlZFBlcnNvbik7XG4gICAgdGhpcy5maW5kUGVyc29uR3JvdXAuYWRkQ29udHJvbCgnZmluZFBlcnNvbkNvbnRyb2wnLCB0aGlzLmZpbmRQZXJzb25Db250cm9sKTtcbiAgICB0aGlzLnN1YiA9IHRoaXMuZmluZFBlcnNvbkNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICB0YXAoKCkgPT4gdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2UpLFxuICAgICAgdGFwKCgpID0+IHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW10pLFxuICAgICAgZGVib3VuY2VUaW1lKDMwMCksXG4gICAgICB0YXAoKHNlYXJjaFRlcm0pID0+IHR5cGVvZiBzZWFyY2hUZXJtID09PSAnc3RyaW5nJyA/IHRoaXMucGVyc29uU2VsZWN0ZWQuZW1pdChudWxsKSA6IHZvaWQgMCksXG4gICAgICBmaWx0ZXIoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycyksXG4gICAgICBzd2l0Y2hNYXAoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gdGhpcy5maWx0ZXIoc2VhcmNoVGVybSkucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IHRydWUpLFxuICAgICAgICBjYXRjaEVycm9yKCgpID0+IHRoaXMuZmlsdGVyZWRPcHRpb25zID0gW10pLFxuICAgICAgKSlcbiAgICApLnN1YnNjcmliZSgocGVvcGxlOiBQZXJzb25bXSkgPT4ge1xuICAgICAgdGhpcy5maWx0ZXJlZE9wdGlvbnMgPSBwZW9wbGU7XG4gICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIoc2VhcmNoVGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxQZXJzb25bXT4ge1xuICAgIGNvbnN0IGZpbmRKdWRpY2lhbE9yQ1RTQ1Blb3BsZSA9IHRoaXMuZmluZFBlcnNvblNlcnZpY2UuZmluZCh7c2VhcmNoVGVybSwgdXNlclJvbGU6IHRoaXMuZG9tYWluLCBzZXJ2aWNlczogW3RoaXMuc2VydmljZXNdLCB1c2VySW5jbHVkZWQ6IHRoaXMudXNlckluY2x1ZGVkLCBhc3NpZ25lZFVzZXI6IHRoaXMuYXNzaWduZWRVc2VyfSk7XG4gICAgY29uc3QgZmluZENhc2V3b3JrZXJzT3JBZG1pbnNPckN0c2MgPSB0aGlzLmZpbmRQZXJzb25TZXJ2aWNlLmZpbmRDYXNld29ya2Vycyh7c2VhcmNoVGVybSwgdXNlclJvbGU6IHRoaXMuZG9tYWluLCBzZXJ2aWNlczogW3RoaXMuc2VydmljZXNdLCB1c2VySW5jbHVkZWQ6IHRoaXMudXNlckluY2x1ZGVkLCBhc3NpZ25lZFVzZXI6IHRoaXMuYXNzaWduZWRVc2VyfSk7XG4gICAgaWYgKHNlYXJjaFRlcm0gJiYgc2VhcmNoVGVybS5sZW5ndGggPiB0aGlzLm1pblNlYXJjaENoYXJhY3RlcnMpIHtcbiAgICAgIHN3aXRjaCAodGhpcy5kb21haW4pIHtcbiAgICAgICAgY2FzZSBQZXJzb25Sb2xlLkpVRElDSUFMOiB7XG4gICAgICAgICAgcmV0dXJuIGZpbmRKdWRpY2lhbE9yQ1RTQ1Blb3BsZS5waXBlKG1hcChwZXJzb25zID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlkczogc3RyaW5nW10gPSB0aGlzLnNlbGVjdGVkUGVyc29ucy5tYXAoKHtpZH0pID0+IGlkKTtcbiAgICAgICAgICAgIHJldHVybiBwZXJzb25zLmZpbHRlcigoeyBpZCB9KSA9PiAhaWRzLmluY2x1ZGVzKGlkKSk7XG4gICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgUGVyc29uUm9sZS5BTEw6IHtcbiAgICAgICAgICByZXR1cm4gemlwKGZpbmRKdWRpY2lhbE9yQ1RTQ1Blb3BsZSwgZmluZENhc2V3b3JrZXJzT3JBZG1pbnNPckN0c2MpLnBpcGUobWFwKHNlcGFyYXRlUGVvcGxlID0+IHNlcGFyYXRlUGVvcGxlWzBdLmNvbmNhdChzZXBhcmF0ZVBlb3BsZVsxXSkpKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFBlcnNvblJvbGUuQ1RTQzpcbiAgICAgICAgY2FzZSBQZXJzb25Sb2xlLkNBU0VXT1JLRVI6XG4gICAgICAgIGNhc2UgUGVyc29uUm9sZS5BRE1JTjoge1xuICAgICAgICAgIHJldHVybiBmaW5kQ2FzZXdvcmtlcnNPckFkbWluc09yQ3RzYztcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gb2YoW10pO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGVkUGVyc29uOiBQZXJzb24pOiB2b2lkIHtcbiAgICB0aGlzLnBlcnNvblNlbGVjdGVkLmVtaXQoc2VsZWN0ZWRQZXJzb24pO1xuICAgIHRoaXMuZmluZFBlcnNvbkNvbnRyb2wuc2V0VmFsdWUodGhpcy5nZXREaXNwbGF5TmFtZShzZWxlY3RlZFBlcnNvbiksIHtlbWl0RXZlbnQ6IGZhbHNlLCBvbmx5U2VsZjogdHJ1ZX0pO1xuICB9XG5cbiAgcHVibGljIGdldERpc3BsYXlOYW1lKHNlbGVjdGVkUGVyc29uOiBQZXJzb24pOiBzdHJpbmcge1xuICAgIGlmICghc2VsZWN0ZWRQZXJzb24pIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgaWYgKHNlbGVjdGVkUGVyc29uLmRvbWFpbiA9PT0gUGVyc29uUm9sZS5KVURJQ0lBTCAmJiBzZWxlY3RlZFBlcnNvbi5mdWxsTmFtZSkge1xuICAgICAgcmV0dXJuIGAke3NlbGVjdGVkUGVyc29uLmZ1bGxOYW1lfSAoJHtzZWxlY3RlZFBlcnNvbi5lbWFpbH0pYDtcbiAgICB9XG4gICAgcmV0dXJuIHNlbGVjdGVkUGVyc29uLmVtYWlsID8gYCR7c2VsZWN0ZWRQZXJzb24ubmFtZX0gKCR7c2VsZWN0ZWRQZXJzb24uZW1haWx9KWAgOiBzZWxlY3RlZFBlcnNvbi5uYW1lO1xuICB9XG5cbiAgcHVibGljIG9uSW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy5wZXJzb25GaWVsZENoYW5nZWQuZW1pdCgpO1xuICB9XG59XG4iLCI8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIiAqbmdJZj1cInRpdGxlICYmIHRpdGxlLmxlbmd0aFwiPlxuICA8c3BhbiBjbGFzcz1cImdvdnVrLWNhcHRpb24tbFwiPnt7dGl0bGUgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAge3tib2xkVGl0bGUgfCBycHhUcmFuc2xhdGV9fVxuPC9oMT5cbjxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJmaW5kUGVyc29uR3JvdXBcIlxuICAgICBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBmaW5kUGVyc29uR3JvdXAuZ2V0KCdmaW5kUGVyc29uQ29udHJvbCcpLmludmFsaWQgJiYgc3VibWl0dGVkfVwiPlxuICA8ZmllbGRzZXQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiIGFyaWEtZGVzY3JpYmVkYnk9XCJzdWItdGl0bGUtaGludFwiPlxuICAgIDxkaXYgaWQ9XCJzdWItdGl0bGUtaGludFwiIGNsYXNzPVwiZ292dWstaGludFwiICpuZ0lmPVwic3ViVGl0bGUgJiYgc3ViVGl0bGUubGVuZ3RoXCI+XG4gICAgICB7e3N1YlRpdGxlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICA8L2Rpdj5cbiAgICA8c3BhbiBpZD1cInZhbGlkYXRpb24tZXJyb3JcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cImZpbmRQZXJzb25Hcm91cCAmJiBmaW5kUGVyc29uR3JvdXAuZXJyb3JzXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snRXJyb3I6JyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPnt7ZmluZFBlcnNvbkdyb3VwLmVycm9ycy5lcnJvciA/IGZpbmRQZXJzb25Hcm91cC5lcnJvcnMuZXJyb3IgOiBlcnJvck1lc3NhZ2V9fVxuICAgIDwvc3Bhbj5cbiAgICA8aW5wdXQgaWQ9XCJpbnB1dFNlbGVjdFBlcnNvbnt7aWRWYWx1ZX19XCIgdHlwZT1cInRleHRcIiBhcmlhLWxhYmVsPVwic2VsZWN0IGEgcGVyc29uXCJcbiAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZmluZFBlcnNvbkNvbnRyb2xcIlxuICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgICAgICBjbGFzcz1cImdvdnVrLWlucHV0IGdvdnVrLSEtd2lkdGgtb25lLXRoaXJkXCJcbiAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyQ29udGVudFwiXG4gICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgKGlucHV0KT1cIm9uSW5wdXQoKVwiPlxuICAgIDxtYXQtYXV0b2NvbXBsZXRlIGF1dG9BY3RpdmVGaXJzdE9wdGlvbiAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJvblNlbGVjdGlvbkNoYW5nZSgkZXZlbnQub3B0aW9uLnZhbHVlKVwiPlxuICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBmaWx0ZXJlZE9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvblwiXG4gICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2hpZGUtYXV0b2NvbXBsZXRlJzogIXNob3dBdXRvY29tcGxldGUsICdzZWxlY3Qtb3B0aW9uJzogc2hvd1VwZGF0ZWRDb2xvcn1cIj5cbiAgICAgICAge3tnZXREaXNwbGF5TmFtZShvcHRpb24pIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIDxtYXQtb3B0aW9uIFtuZ0NsYXNzXT1cInsnc2VsZWN0LW9wdGlvbic6IHNob3dVcGRhdGVkQ29sb3J9XCIgKm5nSWY9XCJpc05vUmVzdWx0c1Nob3duICYmICFmaWx0ZXJlZE9wdGlvbnMubGVuZ3RoICYmIHNob3dBdXRvY29tcGxldGVcIj57eydObyByZXN1bHRzIGZvdW5kJyB8IHJweFRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxuICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgPC9maWVsZHNldD5cbjwvZGl2PlxuIl19
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import { SearchServiceComponent } from '../search-service/search-service.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "../search-service/search-service.component";
|
|
8
|
-
import * as i3 from "rpx-xui-translation";
|
|
9
|
-
function FindServiceComponent_label_3_Template(rf, ctx) { if (rf & 1) {
|
|
10
|
-
i0.ɵɵelementStart(0, "label", 8);
|
|
11
|
-
i0.ɵɵtext(1);
|
|
12
|
-
i0.ɵɵpipe(2, "rpxTranslate");
|
|
13
|
-
i0.ɵɵelementEnd();
|
|
14
|
-
} if (rf & 2) {
|
|
15
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
16
|
-
i0.ɵɵadvance(1);
|
|
17
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, ctx_r0.serviceTitle), " ");
|
|
18
|
-
} }
|
|
19
|
-
function FindServiceComponent_a_6_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
-
const _r4 = i0.ɵɵgetCurrentView();
|
|
21
|
-
i0.ɵɵelementStart(0, "a", 9);
|
|
22
|
-
i0.ɵɵlistener("click", function FindServiceComponent_a_6_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.addOption(ctx_r3.tempSelectedService)); });
|
|
23
|
-
i0.ɵɵtext(1);
|
|
24
|
-
i0.ɵɵpipe(2, "rpxTranslate");
|
|
25
|
-
i0.ɵɵelementStart(3, "span", 10);
|
|
26
|
-
i0.ɵɵtext(4);
|
|
27
|
-
i0.ɵɵpipe(5, "rpxTranslate");
|
|
28
|
-
i0.ɵɵelementEnd()();
|
|
29
|
-
} if (rf & 2) {
|
|
30
|
-
i0.ɵɵadvance(1);
|
|
31
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "Add"), " ");
|
|
32
|
-
i0.ɵɵadvance(3);
|
|
33
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 4, "service"));
|
|
34
|
-
} }
|
|
35
|
-
function FindServiceComponent_ul_7_li_1_Template(rf, ctx) { if (rf & 1) {
|
|
36
|
-
const _r8 = i0.ɵɵgetCurrentView();
|
|
37
|
-
i0.ɵɵelementStart(0, "li", 13)(1, "a", 14);
|
|
38
|
-
i0.ɵɵlistener("click", function FindServiceComponent_ul_7_li_1_Template_a_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r8); const selection_r6 = restoredCtx.$implicit; const ctx_r7 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r7.removeOption(selection_r6)); });
|
|
39
|
-
i0.ɵɵtext(2);
|
|
40
|
-
i0.ɵɵpipe(3, "rpxTranslate");
|
|
41
|
-
i0.ɵɵelementEnd()();
|
|
42
|
-
} if (rf & 2) {
|
|
43
|
-
const selection_r6 = ctx.$implicit;
|
|
44
|
-
i0.ɵɵadvance(2);
|
|
45
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 1, selection_r6.label), " ");
|
|
46
|
-
} }
|
|
47
|
-
function FindServiceComponent_ul_7_Template(rf, ctx) { if (rf & 1) {
|
|
48
|
-
i0.ɵɵelementStart(0, "ul", 11);
|
|
49
|
-
i0.ɵɵtemplate(1, FindServiceComponent_ul_7_li_1_Template, 4, 3, "li", 12);
|
|
50
|
-
i0.ɵɵelementEnd();
|
|
51
|
-
} if (rf & 2) {
|
|
52
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
53
|
-
i0.ɵɵadvance(1);
|
|
54
|
-
i0.ɵɵproperty("ngForOf", ctx_r2.selectedServices);
|
|
55
|
-
} }
|
|
56
|
-
export class FindServiceComponent {
|
|
57
|
-
constructor() {
|
|
58
|
-
this.disabled = false;
|
|
59
|
-
this.serviceFieldChanged = new EventEmitter();
|
|
60
|
-
this.isSelectedAll = false;
|
|
61
|
-
this.tempSelectedService = null;
|
|
62
|
-
}
|
|
63
|
-
get selectedServices() {
|
|
64
|
-
const selectAllValue = this.field.options.find(item => item.selectAll);
|
|
65
|
-
return this.isSelectedAll ? [selectAllValue] : this.form.get(this.field.name)?.value;
|
|
66
|
-
}
|
|
67
|
-
ngOnInit() {
|
|
68
|
-
this.sortOptionsAlphabetically();
|
|
69
|
-
// Patch Default Option
|
|
70
|
-
if (this.field.defaultOption) {
|
|
71
|
-
this.addOption(this.field.defaultOption);
|
|
72
|
-
}
|
|
73
|
-
if (this.formSubmissionEvent$) {
|
|
74
|
-
this.formSubmissionEventSubscription = this.formSubmissionEvent$.subscribe(() => {
|
|
75
|
-
const oneSelectedAndMaxSelectedOne = this.selectedServices.length === 1 && this.field.maxSelected === 1;
|
|
76
|
-
if (!oneSelectedAndMaxSelectedOne) {
|
|
77
|
-
this.searchServiceComponent.resetSearchTerm();
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
addOption(option) {
|
|
83
|
-
if (option) {
|
|
84
|
-
if (option.selectAll) {
|
|
85
|
-
this.isSelectedAll = true;
|
|
86
|
-
this.removeAllSelectedValues();
|
|
87
|
-
this.field.options.forEach(item => {
|
|
88
|
-
if (!item.selectAll) {
|
|
89
|
-
this.addSelectedServiceToForm(item);
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
if (this.isSelectedAll) {
|
|
95
|
-
this.removeAllSelectedValues();
|
|
96
|
-
this.isSelectedAll = false;
|
|
97
|
-
}
|
|
98
|
-
this.addSelectedServiceToForm(option);
|
|
99
|
-
}
|
|
100
|
-
this.tempSelectedService = null;
|
|
101
|
-
this.serviceFieldChanged.emit();
|
|
102
|
-
this.searchServiceComponent.resetSearchTerm();
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
removeOption(service) {
|
|
106
|
-
if (service.selectAll) {
|
|
107
|
-
this.removeAllSelectedValues();
|
|
108
|
-
this.isSelectedAll = false;
|
|
109
|
-
}
|
|
110
|
-
else if (service.key) {
|
|
111
|
-
const formArray = this.form.get(this.field.name);
|
|
112
|
-
const index = (formArray.value).findIndex((selectedService) => selectedService.key.toLowerCase() === service.key.toLowerCase());
|
|
113
|
-
if (index > -1) {
|
|
114
|
-
formArray.removeAt(index);
|
|
115
|
-
}
|
|
116
|
-
this.serviceFieldChanged.emit();
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
onOptionSelected(option) {
|
|
120
|
-
if (!this.field.enableAddButton && this.field.maxSelected === 1) {
|
|
121
|
-
this.removeAllSelectedValues();
|
|
122
|
-
this.addSelectedServiceToForm(option);
|
|
123
|
-
this.serviceFieldChanged.emit();
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
this.tempSelectedService = option;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
removeAllSelectedValues() {
|
|
130
|
-
const formArray = this.form.get(this.field.name);
|
|
131
|
-
formArray.clear();
|
|
132
|
-
}
|
|
133
|
-
addSelectedServiceToForm(service) {
|
|
134
|
-
const formArray = this.form.get(this.field.name);
|
|
135
|
-
formArray.push(new FormControl(service));
|
|
136
|
-
}
|
|
137
|
-
sortOptionsAlphabetically() {
|
|
138
|
-
return this.field.options.sort((a, b) => {
|
|
139
|
-
return a.label.toLowerCase() > b.label.toLowerCase() ? 1 : (b.label.toLowerCase() > a.label.toLowerCase() ? -1 : 0);
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
ngOnDestroy() {
|
|
143
|
-
this.formSubmissionEventSubscription?.unsubscribe();
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
FindServiceComponent.ɵfac = function FindServiceComponent_Factory(t) { return new (t || FindServiceComponent)(); };
|
|
147
|
-
FindServiceComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: FindServiceComponent, selectors: [["xuilib-find-service"]], viewQuery: function FindServiceComponent_Query(rf, ctx) { if (rf & 1) {
|
|
148
|
-
i0.ɵɵviewQuery(SearchServiceComponent, 7);
|
|
149
|
-
} if (rf & 2) {
|
|
150
|
-
let _t;
|
|
151
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.searchServiceComponent = _t.first);
|
|
152
|
-
} }, inputs: { field: "field", serviceTitle: "serviceTitle", form: "form", disabled: "disabled", formSubmissionEvent$: "formSubmissionEvent$" }, outputs: { serviceFieldChanged: "serviceFieldChanged" }, decls: 8, vars: 6, consts: [[1, "service-picker-custom"], [1, "search-service"], [1, "govuk-body"], ["id", "selectServiceSearch-label", "for", "serviceSearch__select", 4, "ngIf"], [1, "search-service__input-container"], [1, "search-service__input", 3, "options", "selectedOptions", "disabled", "optionChanged"], ["href", "javascript:void(0)", "class", "govuk-button govuk-button--secondary govuk-!-margin-bottom-0", "data-module", "govuk-button", "id", "add-service", 3, "click", 4, "ngIf"], ["class", "hmcts-filter-tags selection-container", 4, "ngIf"], ["id", "selectServiceSearch-label", "for", "serviceSearch__select"], ["href", "javascript:void(0)", "data-module", "govuk-button", "id", "add-service", 1, "govuk-button", "govuk-button--secondary", "govuk-!-margin-bottom-0", 3, "click"], [1, "govuk-visually-hidden"], [1, "hmcts-filter-tags", "selection-container"], ["class", "location-selection", 4, "ngFor", "ngForOf"], [1, "location-selection"], ["href", "javascript:void(0)", 1, "hmcts-filter__tag", 3, "click"]], template: function FindServiceComponent_Template(rf, ctx) { if (rf & 1) {
|
|
153
|
-
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2);
|
|
154
|
-
i0.ɵɵtemplate(3, FindServiceComponent_label_3_Template, 3, 3, "label", 3);
|
|
155
|
-
i0.ɵɵelementEnd();
|
|
156
|
-
i0.ɵɵelementStart(4, "div", 4)(5, "exui-search-service", 5);
|
|
157
|
-
i0.ɵɵlistener("optionChanged", function FindServiceComponent_Template_exui_search_service_optionChanged_5_listener($event) { return ctx.onOptionSelected($event); });
|
|
158
|
-
i0.ɵɵelementEnd();
|
|
159
|
-
i0.ɵɵtemplate(6, FindServiceComponent_a_6_Template, 6, 6, "a", 6);
|
|
160
|
-
i0.ɵɵelementEnd()();
|
|
161
|
-
i0.ɵɵtemplate(7, FindServiceComponent_ul_7_Template, 2, 1, "ul", 7);
|
|
162
|
-
i0.ɵɵelementEnd();
|
|
163
|
-
} if (rf & 2) {
|
|
164
|
-
i0.ɵɵadvance(3);
|
|
165
|
-
i0.ɵɵproperty("ngIf", ctx.serviceTitle);
|
|
166
|
-
i0.ɵɵadvance(2);
|
|
167
|
-
i0.ɵɵproperty("options", ctx.field.options)("selectedOptions", ctx.selectedServices)("disabled", ctx.disabled);
|
|
168
|
-
i0.ɵɵadvance(1);
|
|
169
|
-
i0.ɵɵproperty("ngIf", ctx.field == null ? null : ctx.field.enableAddButton);
|
|
170
|
-
i0.ɵɵadvance(1);
|
|
171
|
-
i0.ɵɵproperty("ngIf", ctx.field.maxSelected != 1);
|
|
172
|
-
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.SearchServiceComponent, i3.RpxTranslatePipe], styles: ["#add-service[_ngcontent-%COMP%]{background-color:#ddd}"] });
|
|
173
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FindServiceComponent, [{
|
|
174
|
-
type: Component,
|
|
175
|
-
args: [{ selector: 'xuilib-find-service', template: "<div class=\"service-picker-custom\">\n <div class=\"search-service\">\n <div class=\"govuk-body\">\n <label id=\"selectServiceSearch-label\" for=\"serviceSearch__select\" *ngIf=\"serviceTitle\">\n {{ serviceTitle | rpxTranslate}}\n </label>\n </div>\n <div class=\"search-service__input-container\">\n <exui-search-service class=\"search-service__input\"\n [options]=\"field.options\"\n [selectedOptions]=\"selectedServices\"\n [disabled]=\"disabled\"\n (optionChanged)=\"onOptionSelected($event)\">\n </exui-search-service>\n <a href=\"javascript:void(0)\" (click)=\"addOption(tempSelectedService)\"\n class=\"govuk-button govuk-button--secondary govuk-!-margin-bottom-0\" data-module=\"govuk-button\"\n *ngIf=\"field?.enableAddButton\" id=\"add-service\">\n {{ 'Add' | rpxTranslate}}\n <span class=\"govuk-visually-hidden\">{{'service' | rpxTranslate}}</span>\n </a>\n </div>\n </div>\n <ul class=\"hmcts-filter-tags selection-container\" *ngIf=\"field.maxSelected != 1\">\n <li class=\"location-selection\" *ngFor=\"let selection of selectedServices\">\n <a class=\"hmcts-filter__tag\" (click)=\"removeOption(selection)\" href=\"javascript:void(0)\">\n {{ selection.label | rpxTranslate }}\n </a>\n </li>\n </ul>\n</div>\n", styles: ["#add-service{background-color:#ddd}\n"] }]
|
|
176
|
-
}], null, { field: [{
|
|
177
|
-
type: Input
|
|
178
|
-
}], serviceTitle: [{
|
|
179
|
-
type: Input
|
|
180
|
-
}], form: [{
|
|
181
|
-
type: Input
|
|
182
|
-
}], disabled: [{
|
|
183
|
-
type: Input
|
|
184
|
-
}], formSubmissionEvent$: [{
|
|
185
|
-
type: Input
|
|
186
|
-
}], searchServiceComponent: [{
|
|
187
|
-
type: ViewChild,
|
|
188
|
-
args: [SearchServiceComponent, { static: true }]
|
|
189
|
-
}], serviceFieldChanged: [{
|
|
190
|
-
type: Output
|
|
191
|
-
}] }); })();
|
|
192
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1zZXJ2aWNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmluZC1zZXJ2aWNlL2ZpbmQtc2VydmljZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ZpbmQtc2VydmljZS9maW5kLXNlcnZpY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBYSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFFN0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7OztJQ0Q5RSxnQ0FBdUY7SUFDckYsWUFDRjs7SUFBQSxpQkFBUTs7O0lBRE4sZUFDRjtJQURFLDBFQUNGOzs7O0lBU0EsNEJBRWtEO0lBRnJCLDBKQUFTLGVBQUEsNENBQThCLENBQUEsSUFBQztJQUduRSxZQUNBOztJQUFBLGdDQUFvQztJQUFBLFlBQTRCOztJQUFBLGlCQUFPLEVBQUE7O0lBRHZFLGVBQ0E7SUFEQSw0REFDQTtJQUFvQyxlQUE0QjtJQUE1QixxREFBNEI7Ozs7SUFLcEUsOEJBQTBFLFlBQUE7SUFDM0MsaU9BQVMsZUFBQSxpQ0FBdUIsQ0FBQSxJQUFDO0lBQzVELFlBQ0Y7O0lBQUEsaUJBQUksRUFBQTs7O0lBREYsZUFDRjtJQURFLHlFQUNGOzs7SUFKSiw4QkFBaUY7SUFDL0UseUVBSUs7SUFDUCxpQkFBSzs7O0lBTGtELGVBQW1CO0lB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LEtBQUs7WUFDc0Qsc0JBQXNCO2tCQUFqRixTQUFTO21CQUFDLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNsQyxtQkFBbUI7a0JBQW5DLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWdPcHRpb24sIEZpbHRlckZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFNlYXJjaFNlcnZpY2VDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gtc2VydmljZS9zZWFyY2gtc2VydmljZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItZmluZC1zZXJ2aWNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbmQtc2VydmljZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbmQtc2VydmljZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZpbmRTZXJ2aWNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBwdWJsaWMgZmllbGQ6IEZpbHRlckZpZWxkQ29uZmlnO1xuICBASW5wdXQoKSBwdWJsaWMgc2VydmljZVRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgZm9ybVN1Ym1pc3Npb25FdmVudCQ6IFN1YmplY3Q8dm9pZD47XG4gIEBWaWV3Q2hpbGQoU2VhcmNoU2VydmljZUNvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIHNlYXJjaFNlcnZpY2VDb21wb25lbnQ6IFNlYXJjaFNlcnZpY2VDb21wb25lbnQ7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc2VydmljZUZpZWxkQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcHJpdmF0ZSBpc1NlbGVjdGVkQWxsID0gZmFsc2U7XG4gIHByaXZhdGUgZm9ybVN1Ym1pc3Npb25FdmVudFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gIHB1YmxpYyB0ZW1wU2VsZWN0ZWRTZXJ2aWNlOiBGaWx0ZXJDb25maWdPcHRpb24gPSBudWxsO1xuICBwdWJsaWMgZ2V0IHNlbGVjdGVkU2VydmljZXMoKTogRmlsdGVyQ29uZmlnT3B0aW9uW10ge1xuICAgIGNvbnN0IHNlbGVjdEFsbFZhbHVlID0gdGhpcy5maWVsZC5vcHRpb25zLmZpbmQoaXRlbSA9PiBpdGVtLnNlbGVjdEFsbCk7XG4gICAgcmV0dXJuIHRoaXMuaXNTZWxlY3RlZEFsbCA/IFtzZWxlY3RBbGxWYWx1ZV0gOiB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQubmFtZSk/LnZhbHVlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc29ydE9wdGlvbnNBbHBoYWJldGljYWxseSgpO1xuXG4gICAgLy8gUGF0Y2ggRGVmYXVsdCBPcHRpb25cbiAgICBpZiAodGhpcy5maWVsZC5kZWZhdWx0T3B0aW9uKSB7XG4gICAgICB0aGlzLmFkZE9wdGlvbih0aGlzLmZpZWxkLmRlZmF1bHRPcHRpb24pO1xuICAgIH1cbiAgICBpZiAodGhpcy5mb3JtU3VibWlzc2lvbkV2ZW50JCkge1xuICAgICAgdGhpcy5mb3JtU3VibWlzc2lvbkV2ZW50U3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtU3VibWlzc2lvbkV2ZW50JC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBjb25zdCBvbmVTZWxlY3RlZEFuZE1heFNlbGVjdGVkT25lID0gdGhpcy5zZWxlY3RlZFNlcnZpY2VzLmxlbmd0aCA9PT0gMSAmJiB0aGlzLmZpZWxkLm1heFNlbGVjdGVkID09PSAxO1xuICAgICAgICBpZiAoIW9uZVNlbGVjdGVkQW5kTWF4U2VsZWN0ZWRPbmUpIHtcbiAgICAgICAgICB0aGlzLnNlYXJjaFNlcnZpY2VDb21wb25lbnQucmVzZXRTZWFyY2hUZXJtKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRPcHRpb24ob3B0aW9uOiBGaWx0ZXJDb25maWdPcHRpb24pOiB2b2lkIHtcbiAgICBpZiAob3B0aW9uKSB7XG4gICAgICBpZiAob3B0aW9uLnNlbGVjdEFsbCkge1xuICAgICAgICB0aGlzLmlzU2VsZWN0ZWRBbGwgPSB0cnVlO1xuICAgICAgICB0aGlzLnJlbW92ZUFsbFNlbGVjdGVkVmFsdWVzKCk7XG4gICAgICAgIHRoaXMuZmllbGQub3B0aW9ucy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgIGlmICghaXRlbS5zZWxlY3RBbGwpIHtcbiAgICAgICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTZXJ2aWNlVG9Gb3JtKGl0ZW0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5pc1NlbGVjdGVkQWxsKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVBbGxTZWxlY3RlZFZhbHVlcygpO1xuICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZEFsbCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTZXJ2aWNlVG9Gb3JtKG9wdGlvbik7XG4gICAgICB9XG5cbiAgICAgIHRoaXMudGVtcFNlbGVjdGVkU2VydmljZSA9IG51bGw7XG4gICAgICB0aGlzLnNlcnZpY2VGaWVsZENoYW5nZWQuZW1pdCgpO1xuICAgICAgdGhpcy5zZWFyY2hTZXJ2aWNlQ29tcG9uZW50LnJlc2V0U2VhcmNoVGVybSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVPcHRpb24oc2VydmljZTogRmlsdGVyQ29uZmlnT3B0aW9uKTogdm9pZCB7XG4gICAgaWYgKHNlcnZpY2Uuc2VsZWN0QWxsKSB7XG4gICAgICB0aGlzLnJlbW92ZUFsbFNlbGVjdGVkVmFsdWVzKCk7XG4gICAgICB0aGlzLmlzU2VsZWN0ZWRBbGwgPSBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKHNlcnZpY2Uua2V5KSB7XG4gICAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQubmFtZSkgYXMgRm9ybUFycmF5O1xuICAgICAgY29uc3QgaW5kZXggPSAoZm9ybUFycmF5LnZhbHVlKS5maW5kSW5kZXgoKHNlbGVjdGVkU2VydmljZTogRmlsdGVyQ29uZmlnT3B0aW9uKSA9PiBzZWxlY3RlZFNlcnZpY2Uua2V5LnRvTG93ZXJDYXNlKCkgPT09IHNlcnZpY2Uua2V5LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgZm9ybUFycmF5LnJlbW92ZUF0KGluZGV4KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VydmljZUZpZWxkQ2hhbmdlZC5lbWl0KCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uT3B0aW9uU2VsZWN0ZWQob3B0aW9uOiBGaWx0ZXJDb25maWdPcHRpb24pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZmllbGQuZW5hYmxlQWRkQnV0dG9uICYmIHRoaXMuZmllbGQubWF4U2VsZWN0ZWQgPT09IDEpIHtcbiAgICAgIHRoaXMucmVtb3ZlQWxsU2VsZWN0ZWRWYWx1ZXMoKTtcbiAgICAgIHRoaXMuYWRkU2VsZWN0ZWRTZXJ2aWNlVG9Gb3JtKG9wdGlvbik7XG4gICAgICB0aGlzLnNlcnZpY2VGaWVsZENoYW5nZWQuZW1pdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRlbXBTZWxlY3RlZFNlcnZpY2UgPSBvcHRpb247XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVBbGxTZWxlY3RlZFZhbHVlcygpOiB2b2lkIHtcbiAgICBjb25zdCBmb3JtQXJyYXkgPSB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQubmFtZSkgYXMgRm9ybUFycmF5O1xuICAgIGZvcm1BcnJheS5jbGVhcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRTZWxlY3RlZFNlcnZpY2VUb0Zvcm0oc2VydmljZTogRmlsdGVyQ29uZmlnT3B0aW9uKTogdm9pZCB7XG4gICAgY29uc3QgZm9ybUFycmF5ID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLm5hbWUpIGFzIEZvcm1BcnJheTtcbiAgICBmb3JtQXJyYXkucHVzaChuZXcgRm9ybUNvbnRyb2woc2VydmljZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0T3B0aW9uc0FscGhhYmV0aWNhbGx5KCk6IEZpbHRlckNvbmZpZ09wdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5vcHRpb25zLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIHJldHVybiBhLmxhYmVsLnRvTG93ZXJDYXNlKCkgPiBiLmxhYmVsLnRvTG93ZXJDYXNlKCkgPyAxIDogKGIubGFiZWwudG9Mb3dlckNhc2UoKSA+IGEubGFiZWwudG9Mb3dlckNhc2UoKSA/IC0xIDogMCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5mb3JtU3VibWlzc2lvbkV2ZW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2VydmljZS1waWNrZXItY3VzdG9tXCI+XG4gIDxkaXYgY2xhc3M9XCJzZWFyY2gtc2VydmljZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+XG4gICAgICA8bGFiZWwgaWQ9XCJzZWxlY3RTZXJ2aWNlU2VhcmNoLWxhYmVsXCIgZm9yPVwic2VydmljZVNlYXJjaF9fc2VsZWN0XCIgKm5nSWY9XCJzZXJ2aWNlVGl0bGVcIj5cbiAgICAgICAge3sgc2VydmljZVRpdGxlIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNlYXJjaC1zZXJ2aWNlX19pbnB1dC1jb250YWluZXJcIj5cbiAgICAgIDxleHVpLXNlYXJjaC1zZXJ2aWNlIGNsYXNzPVwic2VhcmNoLXNlcnZpY2VfX2lucHV0XCJcbiAgICAgICAgW29wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXG4gICAgICAgIFtzZWxlY3RlZE9wdGlvbnNdPVwic2VsZWN0ZWRTZXJ2aWNlc1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChvcHRpb25DaGFuZ2VkKT1cIm9uT3B0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiPlxuICAgICAgPC9leHVpLXNlYXJjaC1zZXJ2aWNlPlxuICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJhZGRPcHRpb24odGVtcFNlbGVjdGVkU2VydmljZSlcIlxuICAgICAgICBjbGFzcz1cImdvdnVrLWJ1dHRvbiBnb3Z1ay1idXR0b24tLXNlY29uZGFyeSBnb3Z1ay0hLW1hcmdpbi1ib3R0b20tMFwiIGRhdGEtbW9kdWxlPVwiZ292dWstYnV0dG9uXCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZD8uZW5hYmxlQWRkQnV0dG9uXCIgaWQ9XCJhZGQtc2VydmljZVwiPlxuICAgICAgICB7eyAnQWRkJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3snc2VydmljZScgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgIDwvYT5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDx1bCBjbGFzcz1cImhtY3RzLWZpbHRlci10YWdzIHNlbGVjdGlvbi1jb250YWluZXJcIiAqbmdJZj1cImZpZWxkLm1heFNlbGVjdGVkICE9IDFcIj5cbiAgICA8bGkgY2xhc3M9XCJsb2NhdGlvbi1zZWxlY3Rpb25cIiAqbmdGb3I9XCJsZXQgc2VsZWN0aW9uIG9mIHNlbGVjdGVkU2VydmljZXNcIj5cbiAgICAgIDxhIGNsYXNzPVwiaG1jdHMtZmlsdGVyX190YWdcIiAoY2xpY2spPVwicmVtb3ZlT3B0aW9uKHNlbGVjdGlvbilcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+XG4gICAgICAgIHt7IHNlbGVjdGlvbi5sYWJlbCAgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgIDwvYT5cbiAgICA8L2xpPlxuICA8L3VsPlxuPC9kaXY+XG4iXX0=
|