@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
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { tap } from 'rxjs/operators';
|
|
5
|
+
import { SharedCaseErrorMessages } from '../../models/case-share.model';
|
|
6
|
+
import { CaseSharingStateService } from '../../services/case-sharing-state/case-sharing-state.service';
|
|
7
|
+
import { UserSelectComponent } from '../user-select/user-select.component';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../services/case-sharing-state/case-sharing-state.service";
|
|
10
|
+
import * as i2 from "@angular/router";
|
|
11
|
+
import * as i3 from "@angular/common";
|
|
12
|
+
import * as i4 from "@angular/forms";
|
|
13
|
+
import * as i5 from "../selected-case-list/selected-case-list.component";
|
|
14
|
+
import * as i6 from "../user-select/user-select.component";
|
|
15
|
+
import * as i7 from "../../gov-ui/components/hmcts-error-summary/hmcts-error-summary.component";
|
|
16
|
+
import * as i8 from "../../gov-ui/components/gov-uk-error-message/gov-uk-error-message.component";
|
|
17
|
+
import * as i9 from "rpx-xui-translation";
|
|
18
|
+
const _c0 = a0 => ({ "govuk-form-group--error": a0 });
|
|
19
|
+
function ShareCaseComponent_h1_1_span_1_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
i0.ɵɵelementStart(0, "span", 27);
|
|
21
|
+
i0.ɵɵtext(1);
|
|
22
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
23
|
+
i0.ɵɵelementEnd();
|
|
24
|
+
} if (rf & 2) {
|
|
25
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
26
|
+
i0.ɵɵadvance();
|
|
27
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r0.fnTitle));
|
|
28
|
+
} }
|
|
29
|
+
function ShareCaseComponent_h1_1_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
+
i0.ɵɵelementStart(0, "h1", 25);
|
|
31
|
+
i0.ɵɵtemplate(1, ShareCaseComponent_h1_1_span_1_Template, 3, 3, "span", 26);
|
|
32
|
+
i0.ɵɵtext(2);
|
|
33
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
34
|
+
i0.ɵɵelementEnd();
|
|
35
|
+
} if (rf & 2) {
|
|
36
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
37
|
+
i0.ɵɵadvance();
|
|
38
|
+
i0.ɵɵproperty("ngIf", ctx_r0.fnTitle);
|
|
39
|
+
i0.ɵɵadvance();
|
|
40
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, ctx_r0.title), "\n");
|
|
41
|
+
} }
|
|
42
|
+
function ShareCaseComponent_div_29_option_12_Template(rf, ctx) { if (rf & 1) {
|
|
43
|
+
i0.ɵɵelementStart(0, "option", 34);
|
|
44
|
+
i0.ɵɵtext(1);
|
|
45
|
+
i0.ɵɵelementEnd();
|
|
46
|
+
} if (rf & 2) {
|
|
47
|
+
const user_r3 = ctx.$implicit;
|
|
48
|
+
i0.ɵɵproperty("ngValue", user_r3);
|
|
49
|
+
i0.ɵɵadvance();
|
|
50
|
+
i0.ɵɵtextInterpolate3("", user_r3.firstName, " ", user_r3.lastName, " - ", user_r3.email, "");
|
|
51
|
+
} }
|
|
52
|
+
function ShareCaseComponent_div_29_Template(rf, ctx) { if (rf & 1) {
|
|
53
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
54
|
+
i0.ɵɵelementStart(0, "div", 3)(1, "label", 28);
|
|
55
|
+
i0.ɵɵtext(2);
|
|
56
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
57
|
+
i0.ɵɵelementEnd();
|
|
58
|
+
i0.ɵɵelementStart(4, "span", 29);
|
|
59
|
+
i0.ɵɵtext(5);
|
|
60
|
+
i0.ɵɵpipe(6, "rpxTranslate");
|
|
61
|
+
i0.ɵɵelementEnd();
|
|
62
|
+
i0.ɵɵelementStart(7, "div", 6)(8, "div", 7)(9, "select", 30);
|
|
63
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ShareCaseComponent_div_29_Template_select_ngModelChange_9_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.selectedUserToRemove, $event) || (ctx_r0.selectedUserToRemove = $event); return i0.ɵɵresetView($event); });
|
|
64
|
+
i0.ɵɵelementStart(10, "option", 31);
|
|
65
|
+
i0.ɵɵtext(11, "Select a person");
|
|
66
|
+
i0.ɵɵelementEnd();
|
|
67
|
+
i0.ɵɵtemplate(12, ShareCaseComponent_div_29_option_12_Template, 2, 4, "option", 32);
|
|
68
|
+
i0.ɵɵelementEnd()();
|
|
69
|
+
i0.ɵɵelementStart(13, "div", 9)(14, "button", 33);
|
|
70
|
+
i0.ɵɵpipe(15, "rpxTranslate");
|
|
71
|
+
i0.ɵɵlistener("click", function ShareCaseComponent_div_29_Template_button_click_14_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.removeUser()); });
|
|
72
|
+
i0.ɵɵtext(16);
|
|
73
|
+
i0.ɵɵpipe(17, "rpxTranslate");
|
|
74
|
+
i0.ɵɵelementStart(18, "span", 11);
|
|
75
|
+
i0.ɵɵtext(19);
|
|
76
|
+
i0.ɵɵpipe(20, "rpxTranslate");
|
|
77
|
+
i0.ɵɵelementEnd()()()()();
|
|
78
|
+
} if (rf & 2) {
|
|
79
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
80
|
+
i0.ɵɵadvance(2);
|
|
81
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 8, "Remove a person from all cases"), " ");
|
|
82
|
+
i0.ɵɵadvance(3);
|
|
83
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(6, 10, "Select a person to remove them from all selected cases."), " ");
|
|
84
|
+
i0.ɵɵadvance(4);
|
|
85
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.selectedUserToRemove);
|
|
86
|
+
i0.ɵɵadvance();
|
|
87
|
+
i0.ɵɵproperty("ngValue", null);
|
|
88
|
+
i0.ɵɵadvance(2);
|
|
89
|
+
i0.ɵɵproperty("ngForOf", ctx_r0.assignedUsers);
|
|
90
|
+
i0.ɵɵadvance(2);
|
|
91
|
+
i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(15, 12, "Remove user from selected cases"));
|
|
92
|
+
i0.ɵɵadvance(2);
|
|
93
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 14, "Remove"), " ");
|
|
94
|
+
i0.ɵɵadvance(3);
|
|
95
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(20, 16, "user"), "");
|
|
96
|
+
} }
|
|
97
|
+
function ShareCaseComponent_div_35_Template(rf, ctx) { if (rf & 1) {
|
|
98
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
99
|
+
i0.ɵɵelementStart(0, "div", 35)(1, "xuilib-selected-case-list", 36);
|
|
100
|
+
i0.ɵɵlistener("unselect", function ShareCaseComponent_div_35_Template_xuilib_selected_case_list_unselect_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onUnselect($event)); })("synchronizeStore", function ShareCaseComponent_div_35_Template_xuilib_selected_case_list_synchronizeStore_1_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.onSynchronizeStore($event)); });
|
|
101
|
+
i0.ɵɵelementEnd()();
|
|
102
|
+
} if (rf & 2) {
|
|
103
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
104
|
+
i0.ɵɵadvance();
|
|
105
|
+
i0.ɵɵproperty("shareCases$", ctx_r0.shareCases$)("removeUserFromCaseToggleOn", ctx_r0.removeUserFromCaseToggleOn);
|
|
106
|
+
} }
|
|
107
|
+
function ShareCaseComponent_div_36_Template(rf, ctx) { if (rf & 1) {
|
|
108
|
+
i0.ɵɵelementStart(0, "div", 37);
|
|
109
|
+
i0.ɵɵtext(1);
|
|
110
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
111
|
+
i0.ɵɵelementEnd();
|
|
112
|
+
} if (rf & 2) {
|
|
113
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
114
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c0, ctx_r0.shareCaseErrorMessage.messages && ctx_r0.shareCaseErrorMessage.messages.length > 0));
|
|
115
|
+
i0.ɵɵadvance();
|
|
116
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 2, "No cases to display."), " ");
|
|
117
|
+
} }
|
|
118
|
+
export class ShareCaseComponent {
|
|
119
|
+
constructor(stateService, router) {
|
|
120
|
+
this.stateService = stateService;
|
|
121
|
+
this.router = router;
|
|
122
|
+
this.shareCases = []; // cases selected for sharing
|
|
123
|
+
this.continueAllowed = false;
|
|
124
|
+
this.selectedUserToRemove = null;
|
|
125
|
+
this.removeUserFromCaseToggleOn = false;
|
|
126
|
+
this.users = []; // users of this organisation the cases can be shared with
|
|
127
|
+
this.confirmLink = '';
|
|
128
|
+
this.cancelLink = '';
|
|
129
|
+
this.showRemoveUsers = false;
|
|
130
|
+
this.fnTitle = '';
|
|
131
|
+
this.title = '';
|
|
132
|
+
this.unselect = new EventEmitter();
|
|
133
|
+
this.synchronizeStore = new EventEmitter();
|
|
134
|
+
this.validationErrors = [];
|
|
135
|
+
}
|
|
136
|
+
ngOnInit() {
|
|
137
|
+
this.shareCases$
|
|
138
|
+
.pipe(tap(sharedCases => {
|
|
139
|
+
// Update the list of users assigned to at least one case
|
|
140
|
+
this.getAssignedUsers(sharedCases.filter(sharedCase => sharedCase.sharedWith && sharedCase.sharedWith.length > 0));
|
|
141
|
+
}))
|
|
142
|
+
.subscribe(shareCases => {
|
|
143
|
+
this.shareCases = shareCases;
|
|
144
|
+
this.stateService.setCases(shareCases);
|
|
145
|
+
// Set the config to be used by the xuilib-gov-uk-error-message component, in particular the element ID to
|
|
146
|
+
// which the error message is associated
|
|
147
|
+
if (shareCases) {
|
|
148
|
+
this.selectedCasesErrorMessageConfig = {
|
|
149
|
+
id: shareCases.length > 0 ? 'cases' : 'noCaseDisplay'
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
this.shareCases$ = this.stateService.state;
|
|
154
|
+
this.shareCaseErrorMessage = { isInvalid: false, messages: [] };
|
|
155
|
+
}
|
|
156
|
+
onUnselect(c) {
|
|
157
|
+
this.validationErrors = [];
|
|
158
|
+
if (this.stateService.getCases().length === 1) {
|
|
159
|
+
this.validationErrors.push({ id: 'cases', message: SharedCaseErrorMessages.OneCaseMustBeSelected });
|
|
160
|
+
this.shareCaseErrorMessage = { isInvalid: true, messages: [SharedCaseErrorMessages.OneCaseMustBeSelected] };
|
|
161
|
+
window.scrollTo({ top: 0, left: 0, behavior: 'smooth' });
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
this.unselect.emit(c);
|
|
165
|
+
this.stateService.removeCase(c.caseId);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
onSynchronizeStore(event) {
|
|
169
|
+
this.synchronizeStore.emit(event);
|
|
170
|
+
}
|
|
171
|
+
onSelectedUser(user) {
|
|
172
|
+
this.selectedUser = user;
|
|
173
|
+
}
|
|
174
|
+
addUser() {
|
|
175
|
+
const newSharedCases = this.stateService.requestShare(this.selectedUser);
|
|
176
|
+
this.selectedUser = null;
|
|
177
|
+
if (this.userSelect) {
|
|
178
|
+
this.userSelect.clear();
|
|
179
|
+
}
|
|
180
|
+
this.synchronizeStore.emit(newSharedCases);
|
|
181
|
+
// Update the list of assigned users (which includes pending users)
|
|
182
|
+
this.getAssignedUsers(newSharedCases);
|
|
183
|
+
}
|
|
184
|
+
removeUser() {
|
|
185
|
+
if (this.selectedUserToRemove) {
|
|
186
|
+
const newSharedCases = this.stateService.requestUnshare(this.selectedUserToRemove);
|
|
187
|
+
this.synchronizeStore.emit(newSharedCases);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
isDisabledAdd() {
|
|
191
|
+
return this.selectedUser === null || this.shareCases.length === 0;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Function originally used to set disabled state of "Continue" button, now called by the button click handler to
|
|
195
|
+
* control whether navigation to the confirmation page is allowed. It is prevented if no changes have been made
|
|
196
|
+
*/
|
|
197
|
+
setContinueAllowed() {
|
|
198
|
+
// Always start with continueAllowed = false. This covers the scenario where a user might add someone for sharing
|
|
199
|
+
// a case (so, continueAllowed = true), then removes the same user before trying to continue. This would
|
|
200
|
+
// erroneously leave continueAllowed as true
|
|
201
|
+
this.continueAllowed = false;
|
|
202
|
+
this.shareCases$.subscribe(shareCases => {
|
|
203
|
+
for (const caseState of shareCases) {
|
|
204
|
+
if (caseState.pendingShares && caseState.pendingShares.length > 0) {
|
|
205
|
+
this.continueAllowed = true;
|
|
206
|
+
break;
|
|
207
|
+
}
|
|
208
|
+
if (caseState.pendingUnshares && caseState.pendingUnshares.length > 0) {
|
|
209
|
+
this.continueAllowed = true;
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
onDeselect(sharedCase) {
|
|
216
|
+
if (sharedCase !== null) {
|
|
217
|
+
const updated = [];
|
|
218
|
+
for (const element of this.shareCases) {
|
|
219
|
+
if (element.caseId !== sharedCase.caseId) {
|
|
220
|
+
updated.push(element);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
this.shareCases = updated;
|
|
224
|
+
}
|
|
225
|
+
this.stateService.setCases(this.shareCases);
|
|
226
|
+
}
|
|
227
|
+
onContinue() {
|
|
228
|
+
this.setContinueAllowed();
|
|
229
|
+
// If continuation is not allowed, set an error message
|
|
230
|
+
if (!this.continueAllowed) {
|
|
231
|
+
this.validationErrors = [];
|
|
232
|
+
this.validationErrors.push({ id: 'cases', message: SharedCaseErrorMessages.NoChangesRequested });
|
|
233
|
+
this.shareCaseErrorMessage = { isInvalid: true, messages: [SharedCaseErrorMessages.NoChangesRequested] };
|
|
234
|
+
window.scrollTo({ top: 0, left: 0, behavior: 'smooth' });
|
|
235
|
+
}
|
|
236
|
+
// Navigate to confirmation page only if allowed to continue
|
|
237
|
+
if (this.continueAllowed) {
|
|
238
|
+
// Check that no case is left unassigned; a user can be removed only if there is another current user, or if at
|
|
239
|
+
// least one user is to be added. Prevent navigation to confirmation page if there is at least one case left in
|
|
240
|
+
// an unassigned state
|
|
241
|
+
if (this.hasCasesLeftUnassigned(this.shareCases)) {
|
|
242
|
+
this.validationErrors = [];
|
|
243
|
+
this.validationErrors.push({ id: 'cases', message: SharedCaseErrorMessages.OnePersonMustBeAssigned });
|
|
244
|
+
this.shareCaseErrorMessage = { isInvalid: true, messages: [SharedCaseErrorMessages.OnePersonMustBeAssigned] };
|
|
245
|
+
window.scrollTo({ top: 0, left: 0, behavior: 'smooth' });
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
this.router.navigate([this.confirmLink]);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Gets a unique list of all users that have been assigned, or are pending assigment to, at least one case
|
|
254
|
+
* @param sharedCases The list of shared cases from which to get users these are shared with, or are to be shared with
|
|
255
|
+
*/
|
|
256
|
+
getAssignedUsers(sharedCases) {
|
|
257
|
+
const users = [];
|
|
258
|
+
sharedCases.forEach(sharedCase => {
|
|
259
|
+
if (sharedCase.sharedWith) {
|
|
260
|
+
sharedCase.sharedWith.forEach(user => {
|
|
261
|
+
if (!users.some(existingUser => user.idamId === existingUser.idamId)) {
|
|
262
|
+
users.push(user);
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
if (sharedCase.pendingShares) {
|
|
267
|
+
sharedCase.pendingShares.forEach(user => {
|
|
268
|
+
if (!users.some(existingUser => user.idamId === existingUser.idamId)) {
|
|
269
|
+
users.push(user);
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
this.assignedUsers = users;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Checks if any shared cases have been left unassigned. This occurs if a shared case has a number of pending
|
|
278
|
+
* unshares equal to the number of current shares, and there are no pending shares.
|
|
279
|
+
* @param sharedCases The array of shared cases to check
|
|
280
|
+
* @returns `true` if at least one case has the condition described above; `false` otherwise
|
|
281
|
+
*/
|
|
282
|
+
hasCasesLeftUnassigned(sharedCases) {
|
|
283
|
+
return sharedCases.some(sharedCase => {
|
|
284
|
+
return sharedCase.pendingUnshares && sharedCase.sharedWith &&
|
|
285
|
+
sharedCase.pendingUnshares.length === sharedCase.sharedWith.length &&
|
|
286
|
+
(!sharedCase.pendingShares || sharedCase.pendingShares.length === 0);
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
static { this.ɵfac = function ShareCaseComponent_Factory(t) { return new (t || ShareCaseComponent)(i0.ɵɵdirectiveInject(i1.CaseSharingStateService), i0.ɵɵdirectiveInject(i2.Router)); }; }
|
|
290
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareCaseComponent, selectors: [["xuilib-share-case"]], viewQuery: function ShareCaseComponent_Query(rf, ctx) { if (rf & 1) {
|
|
291
|
+
i0.ɵɵviewQuery(UserSelectComponent, 7);
|
|
292
|
+
} if (rf & 2) {
|
|
293
|
+
let _t;
|
|
294
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.userSelect = _t.first);
|
|
295
|
+
} }, inputs: { removeUserFromCaseToggleOn: "removeUserFromCaseToggleOn", shareCases$: "shareCases$", users: "users", confirmLink: "confirmLink", cancelLink: "cancelLink", addUserLabel: "addUserLabel", showRemoveUsers: "showRemoveUsers", fnTitle: "fnTitle", title: "title" }, outputs: { unselect: "unselect", synchronizeStore: "synchronizeStore" }, decls: 46, vars: 50, consts: [[3, "errorMessages", "header"], ["class", "govuk-heading-xl govuk-!-margin-top-2", 4, "ngIf"], ["id", "add-user"], [1, "govuk-form-group"], ["for", "add-user-input", 1, "govuk-label", "govuk-!-font-weight-bold"], ["id", "add-user-hint", 1, "govuk-hint"], [1, "govuk-grid-row"], [1, "govuk-grid-column-two-thirds"], ["id", "add-user-input", "aria-describedby", "add-user-hint", 3, "selected", "users"], [1, "govuk-grid-column-one-thirds"], ["id", "btn-add-user", 1, "govuk-button", "govuk-button--secondary", 3, "click", "disabled", "title"], [1, "govuk-visually-hidden"], ["id", "add-user-help", "data-module", "govuk-details", 1, "govuk-details"], [1, "govuk-details__summary"], ["id", "content-why-can-not-find-email", 1, "govuk-details__summary-text"], ["id", "content-reason-can-not-find-email", 1, "govuk-details__text"], ["class", "govuk-form-group", 4, "ngIf"], ["id", "cases", 3, "ngClass"], ["id", "title-selected-cases", 1, "govuk-heading-m"], [3, "config", "errorMessage"], ["class", "govuk-accordion", "data-module", "govuk-accordion", "id", "accordion-with-summary-sections", 4, "ngIf"], ["id", "noCaseDisplay", "class", "govuk-hint", 3, "ngClass", 4, "ngIf"], ["id", "share-case-nav", 1, "govuk-button-group"], ["id", "btn-continue", "data-module", "govuk-button", 1, "govuk-button", 3, "click", "title"], ["id", "btn-cancel", "data-module", "govuk-button", 1, "govuk-button", "govuk-button--secondary", 3, "title", "routerLink"], [1, "govuk-heading-xl", "govuk-!-margin-top-2"], ["class", "govuk-caption-xl", 4, "ngIf"], [1, "govuk-caption-xl"], ["for", "remove-user-input", 1, "govuk-label", "govuk-!-font-weight-bold"], ["id", "remove-user-hint", 1, "govuk-hint"], ["id", "remove-user-input", "aria-describedby", "remove-user-hint", 1, "govuk-select", 3, "ngModelChange", "ngModel"], ["selected", "", 3, "ngValue"], [3, "ngValue", 4, "ngFor", "ngForOf"], ["id", "btn-remove-user", 1, "govuk-button", "govuk-button--secondary", 3, "click", "title"], [3, "ngValue"], ["data-module", "govuk-accordion", "id", "accordion-with-summary-sections", 1, "govuk-accordion"], [3, "unselect", "synchronizeStore", "shareCases$", "removeUserFromCaseToggleOn"], ["id", "noCaseDisplay", 1, "govuk-hint", 3, "ngClass"]], template: function ShareCaseComponent_Template(rf, ctx) { if (rf & 1) {
|
|
296
|
+
i0.ɵɵelement(0, "xuilib-hmcts-error-summary", 0);
|
|
297
|
+
i0.ɵɵtemplate(1, ShareCaseComponent_h1_1_Template, 4, 4, "h1", 1);
|
|
298
|
+
i0.ɵɵelementStart(2, "div", 2)(3, "div", 3)(4, "label", 4);
|
|
299
|
+
i0.ɵɵtext(5);
|
|
300
|
+
i0.ɵɵpipe(6, "rpxTranslate");
|
|
301
|
+
i0.ɵɵelementEnd();
|
|
302
|
+
i0.ɵɵelementStart(7, "span", 5);
|
|
303
|
+
i0.ɵɵtext(8);
|
|
304
|
+
i0.ɵɵpipe(9, "rpxTranslate");
|
|
305
|
+
i0.ɵɵelementEnd();
|
|
306
|
+
i0.ɵɵelementStart(10, "div", 6)(11, "div", 7)(12, "xuilib-user-select", 8);
|
|
307
|
+
i0.ɵɵlistener("selected", function ShareCaseComponent_Template_xuilib_user_select_selected_12_listener($event) { return ctx.onSelectedUser($event); });
|
|
308
|
+
i0.ɵɵelementEnd()();
|
|
309
|
+
i0.ɵɵelementStart(13, "div", 9)(14, "button", 10);
|
|
310
|
+
i0.ɵɵpipe(15, "rpxTranslate");
|
|
311
|
+
i0.ɵɵlistener("click", function ShareCaseComponent_Template_button_click_14_listener() { return ctx.addUser(); });
|
|
312
|
+
i0.ɵɵtext(16);
|
|
313
|
+
i0.ɵɵpipe(17, "rpxTranslate");
|
|
314
|
+
i0.ɵɵelementStart(18, "span", 11);
|
|
315
|
+
i0.ɵɵtext(19);
|
|
316
|
+
i0.ɵɵpipe(20, "rpxTranslate");
|
|
317
|
+
i0.ɵɵelementEnd()()()();
|
|
318
|
+
i0.ɵɵelementStart(21, "details", 12)(22, "summary", 13)(23, "span", 14);
|
|
319
|
+
i0.ɵɵtext(24);
|
|
320
|
+
i0.ɵɵpipe(25, "rpxTranslate");
|
|
321
|
+
i0.ɵɵelementEnd()();
|
|
322
|
+
i0.ɵɵelementStart(26, "div", 15);
|
|
323
|
+
i0.ɵɵtext(27);
|
|
324
|
+
i0.ɵɵpipe(28, "rpxTranslate");
|
|
325
|
+
i0.ɵɵelementEnd()()();
|
|
326
|
+
i0.ɵɵtemplate(29, ShareCaseComponent_div_29_Template, 21, 18, "div", 16);
|
|
327
|
+
i0.ɵɵelementEnd();
|
|
328
|
+
i0.ɵɵelementStart(30, "div", 17)(31, "h3", 18);
|
|
329
|
+
i0.ɵɵtext(32);
|
|
330
|
+
i0.ɵɵpipe(33, "rpxTranslate");
|
|
331
|
+
i0.ɵɵelementEnd();
|
|
332
|
+
i0.ɵɵelement(34, "xuilib-gov-uk-error-message", 19);
|
|
333
|
+
i0.ɵɵtemplate(35, ShareCaseComponent_div_35_Template, 2, 2, "div", 20)(36, ShareCaseComponent_div_36_Template, 3, 6, "div", 21);
|
|
334
|
+
i0.ɵɵelementEnd();
|
|
335
|
+
i0.ɵɵelementStart(37, "div", 22)(38, "button", 23);
|
|
336
|
+
i0.ɵɵpipe(39, "rpxTranslate");
|
|
337
|
+
i0.ɵɵlistener("click", function ShareCaseComponent_Template_button_click_38_listener() { return ctx.onContinue(); });
|
|
338
|
+
i0.ɵɵtext(40);
|
|
339
|
+
i0.ɵɵpipe(41, "rpxTranslate");
|
|
340
|
+
i0.ɵɵelementEnd();
|
|
341
|
+
i0.ɵɵelementStart(42, "button", 24);
|
|
342
|
+
i0.ɵɵpipe(43, "rpxTranslate");
|
|
343
|
+
i0.ɵɵtext(44);
|
|
344
|
+
i0.ɵɵpipe(45, "rpxTranslate");
|
|
345
|
+
i0.ɵɵelementEnd()();
|
|
346
|
+
} if (rf & 2) {
|
|
347
|
+
i0.ɵɵproperty("errorMessages", ctx.validationErrors)("header", "There is a problem");
|
|
348
|
+
i0.ɵɵadvance();
|
|
349
|
+
i0.ɵɵproperty("ngIf", ctx.title);
|
|
350
|
+
i0.ɵɵadvance(4);
|
|
351
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 24, ctx.addUserLabel));
|
|
352
|
+
i0.ɵɵadvance(3);
|
|
353
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(9, 26, "Search by name or email address. You can share access with as many people as you need."), " ");
|
|
354
|
+
i0.ɵɵadvance(4);
|
|
355
|
+
i0.ɵɵproperty("users", ctx.users);
|
|
356
|
+
i0.ɵɵadvance(2);
|
|
357
|
+
i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(15, 28, "Add user to selected cases"));
|
|
358
|
+
i0.ɵɵproperty("disabled", ctx.isDisabledAdd());
|
|
359
|
+
i0.ɵɵadvance(2);
|
|
360
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(17, 30, "Add"), " ");
|
|
361
|
+
i0.ɵɵadvance(3);
|
|
362
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(20, 32, "user"));
|
|
363
|
+
i0.ɵɵadvance(5);
|
|
364
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(25, 34, "Can't find an email address?"), " ");
|
|
365
|
+
i0.ɵɵadvance(3);
|
|
366
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(28, 36, "If you can't find your colleague's email address, they will need to complete their registration. Contact your administrator for help."), " ");
|
|
367
|
+
i0.ɵɵadvance(2);
|
|
368
|
+
i0.ɵɵproperty("ngIf", ctx.showRemoveUsers);
|
|
369
|
+
i0.ɵɵadvance();
|
|
370
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(48, _c0, ctx.shareCaseErrorMessage.messages && ctx.shareCaseErrorMessage.messages.length > 0));
|
|
371
|
+
i0.ɵɵadvance(2);
|
|
372
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(33, 38, "Selected cases"), " ");
|
|
373
|
+
i0.ɵɵadvance(2);
|
|
374
|
+
i0.ɵɵproperty("config", ctx.selectedCasesErrorMessageConfig)("errorMessage", ctx.shareCaseErrorMessage);
|
|
375
|
+
i0.ɵɵadvance();
|
|
376
|
+
i0.ɵɵproperty("ngIf", ctx.shareCases && ctx.shareCases.length > 0);
|
|
377
|
+
i0.ɵɵadvance();
|
|
378
|
+
i0.ɵɵproperty("ngIf", ctx.shareCases && ctx.shareCases.length === 0);
|
|
379
|
+
i0.ɵɵadvance(2);
|
|
380
|
+
i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(39, 40, "Continue"));
|
|
381
|
+
i0.ɵɵadvance(2);
|
|
382
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(41, 42, "Continue"), " ");
|
|
383
|
+
i0.ɵɵadvance(2);
|
|
384
|
+
i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(43, 44, "Cancel"));
|
|
385
|
+
i0.ɵɵproperty("routerLink", ctx.cancelLink);
|
|
386
|
+
i0.ɵɵadvance(2);
|
|
387
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(45, 46, "Cancel"), " ");
|
|
388
|
+
} }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf, i4.NgSelectOption, i4.ɵNgSelectMultipleOption, i4.SelectControlValueAccessor, i4.NgControlStatus, i4.NgModel, i2.RouterLink, i5.SelectedCaseListComponent, i6.UserSelectComponent, i7.HmctsErrorSummaryComponent, i8.GovUkErrorMessageComponent, i9.RpxTranslatePipe], styles: ["select[_ngcontent-%COMP%]{width:100%}"] }); }
|
|
389
|
+
}
|
|
390
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShareCaseComponent, [{
|
|
391
|
+
type: Component,
|
|
392
|
+
args: [{ selector: 'xuilib-share-case', template: "<xuilib-hmcts-error-summary\n [errorMessages]=\"validationErrors\"\n [header]=\"'There is a problem'\"\n></xuilib-hmcts-error-summary>\n<h1 *ngIf=\"title\" class=\"govuk-heading-xl govuk-!-margin-top-2\">\n <span *ngIf=\"fnTitle\" class=\"govuk-caption-xl\">{{fnTitle | rpxTranslate}}</span>\n {{title | rpxTranslate}}\n</h1>\n<div id=\"add-user\">\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"add-user-input\">{{addUserLabel | rpxTranslate}}</label>\n <span id=\"add-user-hint\" class=\"govuk-hint\">\n {{'Search by name or email address. You can share access with as many people as you need.' | rpxTranslate}}\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <xuilib-user-select\n id=\"add-user-input\"\n aria-describedby=\"add-user-hint\"\n [users]=\"users\"\n (selected)=\"onSelectedUser($event)\">\n </xuilib-user-select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-add-user\" (click)=\"addUser()\"\n class=\"govuk-button govuk-button--secondary\" [disabled]=\"isDisabledAdd()\"\n title=\"{{'Add user to selected cases' | rpxTranslate}}\">\n {{'Add' | rpxTranslate}}\n <span class=\"govuk-visually-hidden\">{{'user' | rpxTranslate}}</span>\n </button>\n </div>\n </div>\n <details id=\"add-user-help\" class=\"govuk-details\" data-module=\"govuk-details\">\n <summary class=\"govuk-details__summary\">\n <span id=\"content-why-can-not-find-email\" class=\"govuk-details__summary-text\">\n {{\"Can't find an email address?\" | rpxTranslate}}\n </span>\n </summary>\n <div id=\"content-reason-can-not-find-email\" class=\"govuk-details__text\">\n {{\"If you can't find your colleague's email address, they will need to complete their registration. Contact your administrator for help.\" | rpxTranslate}}\n </div>\n </details>\n </div>\n <div class=\"govuk-form-group\" *ngIf=\"showRemoveUsers\">\n <label class=\"govuk-label govuk-!-font-weight-bold\" for=\"remove-user-input\">\n {{'Remove a person from all cases' | rpxTranslate}}\n </label>\n <span id=\"remove-user-hint\" class=\"govuk-hint\">\n {{'Select a person to remove them from all selected cases.' | rpxTranslate}}\n </span>\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <select [(ngModel)]=\"selectedUserToRemove\" class=\"govuk-select\" id=\"remove-user-input\" aria-describedby=\"remove-user-hint\">\n <option [ngValue]=\"null\" selected>Select a person</option>\n <option *ngFor=\"let user of assignedUsers\" [ngValue]=\"user\">{{user.firstName}} {{user.lastName}} - {{user.email}}</option>\n </select>\n </div>\n <div class=\"govuk-grid-column-one-thirds\">\n <button id=\"btn-remove-user\" (click)=\"removeUser()\" class=\"govuk-button govuk-button--secondary\" title=\"{{'Remove user from selected cases' | rpxTranslate}}\">\n {{'Remove' | rpxTranslate}}\n <span class=\"govuk-visually-hidden\"> {{'user' | rpxTranslate}}</span>\n </button>\n </div>\n </div>\n </div>\n</div>\n\n<div id=\"cases\" [ngClass]=\"{'govuk-form-group--error': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}\">\n <h3 id=\"title-selected-cases\" class=\"govuk-heading-m\">\n {{'Selected cases' | rpxTranslate}}\n </h3>\n <xuilib-gov-uk-error-message [config]=\"selectedCasesErrorMessageConfig\" [errorMessage]=\"shareCaseErrorMessage\"></xuilib-gov-uk-error-message>\n <div *ngIf=\"shareCases && shareCases.length > 0\" class=\"govuk-accordion\" data-module=\"govuk-accordion\" id=\"accordion-with-summary-sections\">\n <xuilib-selected-case-list\n [shareCases$]=\"shareCases$\"\n [removeUserFromCaseToggleOn]=\"removeUserFromCaseToggleOn\"\n (unselect)=\"onUnselect($event)\"\n (synchronizeStore)=\"onSynchronizeStore($event)\"\n >\n </xuilib-selected-case-list>\n </div>\n\n <div id=\"noCaseDisplay\" *ngIf=\"shareCases && shareCases.length === 0\" class=\"govuk-hint\"\n [ngClass]=\"{'govuk-form-group--error': shareCaseErrorMessage.messages && shareCaseErrorMessage.messages.length > 0}\">\n {{'No cases to display.' | rpxTranslate}}\n </div>\n\n</div>\n\n<div id=\"share-case-nav\" class=\"govuk-button-group\">\n <button id=\"btn-continue\" class=\"govuk-button\" data-module=\"govuk-button\" (click)=\"onContinue()\" title=\"{{'Continue' | rpxTranslate}}\">\n {{'Continue' | rpxTranslate}}\n </button>\n <button id=\"btn-cancel\" class=\"govuk-button govuk-button--secondary\" data-module=\"govuk-button\" title=\"{{'Cancel' | rpxTranslate}}\" [routerLink]=\"cancelLink\">\n {{'Cancel' | rpxTranslate}}\n </button>\n</div>\n", styles: ["select{width:100%}\n"] }]
|
|
393
|
+
}], () => [{ type: i1.CaseSharingStateService }, { type: i2.Router }], { removeUserFromCaseToggleOn: [{
|
|
394
|
+
type: Input
|
|
395
|
+
}], shareCases$: [{
|
|
396
|
+
type: Input
|
|
397
|
+
}], users: [{
|
|
398
|
+
type: Input
|
|
399
|
+
}], confirmLink: [{
|
|
400
|
+
type: Input
|
|
401
|
+
}], cancelLink: [{
|
|
402
|
+
type: Input
|
|
403
|
+
}], addUserLabel: [{
|
|
404
|
+
type: Input
|
|
405
|
+
}], showRemoveUsers: [{
|
|
406
|
+
type: Input
|
|
407
|
+
}], fnTitle: [{
|
|
408
|
+
type: Input
|
|
409
|
+
}], title: [{
|
|
410
|
+
type: Input
|
|
411
|
+
}], unselect: [{
|
|
412
|
+
type: Output
|
|
413
|
+
}], synchronizeStore: [{
|
|
414
|
+
type: Output
|
|
415
|
+
}], userSelect: [{
|
|
416
|
+
type: ViewChild,
|
|
417
|
+
args: [UserSelectComponent, { static: true }]
|
|
418
|
+
}] }); })();
|
|
419
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShareCaseComponent, { className: "ShareCaseComponent", filePath: "lib/components/share-case/share-case.component.ts", lineNumber: 16 }); })();
|
|
420
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlLWNhc2Uvc2hhcmUtY2FzZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlLWNhc2Uvc2hhcmUtY2FzZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFjLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFcEYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDdkcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7Ozs7SUNIekUsZ0NBQStDO0lBQUEsWUFBMEI7O0lBQUEsaUJBQU87OztJQUFqQyxjQUEwQjtJQUExQiwwREFBMEI7OztJQUQzRSw4QkFBZ0U7SUFDOUQsMkVBQStDO0lBQy9DLFlBQ0Y7O0lBQUEsaUJBQUs7OztJQUZJLGNBQWE7SUFBYixxQ0FBYTtJQUNwQixjQUNGO0lBREUsb0VBQ0Y7OztJQStDVSxrQ0FBNEQ7SUFBQSxZQUFxRDtJQUFBLGlCQUFTOzs7SUFBL0UsaUNBQWdCO0lBQUMsY0FBcUQ7SUFBckQsNkZBQXFEOzs7O0lBVnZILEFBREYs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O1lBRFYsOENBQTRCO1lBRXpFLGVBQ0E7WUFEQSw4REFDQTtZQUFvQyxlQUF5QjtZQUF6QixvREFBeUI7WUFPL0QsZUFDRjtZQURFLHVGQUNGO1lBR0UsZUFDRjtZQURFLGdNQUNGO1lBRzJCLGVBQXFCO1lBQXJCLDBDQUFxQjtZQXdCdEMsY0FBb0g7WUFBcEgsMElBQW9IO1lBRWhJLGVBQ0Y7WUFERSx5RUFDRjtZQUM2QixlQUEwQztZQUFDLEFBQTNDLDREQUEwQywyQ0FBdUM7WUFDeEcsY0FBeUM7WUFBekMsa0VBQXlDO1lBVXRCLGNBQTJDO1lBQTNDLG9FQUEyQztZQVE2QixlQUFxQztZQUFyQyxxRUFBcUM7WUFDcEksZUFDRjtZQURFLG1FQUNGO1lBQ2dHLGVBQW1DO1lBQW5DLG1FQUFtQztZQUFDLDJDQUF5QjtZQUMzSixlQUNGO1lBREUsaUVBQ0Y7OztpRkRoRlcsa0JBQWtCO2NBTDlCLFNBQVM7MkJBQ0UsbUJBQW1COzZFQVliLDBCQUEwQjtrQkFBekMsS0FBSztZQUVVLFdBQVc7a0JBQTFCLEtBQUs7WUFDVSxLQUFLO2tCQUFwQixLQUFLO1lBRVUsV0FBVztrQkFBMUIsS0FBSztZQUNVLFVBQVU7a0JBQXpCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UsZUFBZTtrQkFBOUIsS0FBSztZQUNVLE9BQU87a0JBQXRCLEtBQUs7WUFDVSxLQUFLO2tCQUFwQixLQUFLO1lBRVcsUUFBUTtrQkFBeEIsTUFBTTtZQUNVLGdCQUFnQjtrQkFBaEMsTUFBTTtZQUtVLFVBQVU7a0JBRDFCLFNBQVM7bUJBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOztrRkF6QnJDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZXNNb2RlbCwgR292VWlDb25maWdNb2RlbCB9IGZyb20gJy4uLy4uL2dvdi11aS9tb2RlbHMnO1xuaW1wb3J0IHsgU2hhcmVkQ2FzZSwgU2hhcmVkQ2FzZUVycm9yTWVzc2FnZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FzZS1zaGFyZS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWRldGFpbHMubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXNlLXNoYXJpbmctc3RhdGUvY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uL3VzZXItc2VsZWN0L3VzZXItc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3h1aWxpYi1zaGFyZS1jYXNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NoYXJlLWNhc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaGFyZS1jYXNlLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2hhcmVDYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgc2hhcmVDYXNlczogU2hhcmVkQ2FzZVtdID0gW107IC8vIGNhc2VzIHNlbGVjdGVkIGZvciBzaGFyaW5nXG4gIHB1YmxpYyBzZWxlY3RlZENhc2VzRXJyb3JNZXNzYWdlQ29uZmlnOiBHb3ZVaUNvbmZpZ01vZGVsO1xuICBwdWJsaWMgY29udGludWVBbGxvd2VkID0gZmFsc2U7XG4gIHB1YmxpYyBhc3NpZ25lZFVzZXJzOiBVc2VyRGV0YWlsc1tdO1xuICBwdWJsaWMgc2VsZWN0ZWRVc2VyVG9SZW1vdmU6IFVzZXJEZXRhaWxzID0gbnVsbDtcblxuICBASW5wdXQoKSBwdWJsaWMgcmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT246IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKSBwdWJsaWMgc2hhcmVDYXNlcyQ6IE9ic2VydmFibGU8U2hhcmVkQ2FzZVtdPjtcbiAgQElucHV0KCkgcHVibGljIHVzZXJzOiBVc2VyRGV0YWlsc1tdID0gW107IC8vIHVzZXJzIG9mIHRoaXMgb3JnYW5pc2F0aW9uIHRoZSBjYXNlcyBjYW4gYmUgc2hhcmVkIHdpdGhcblxuICBASW5wdXQoKSBwdWJsaWMgY29uZmlybUxpbms6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgY2FuY2VsTGluazogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBhZGRVc2VyTGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHNob3dSZW1vdmVVc2VyczogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgZm5UaXRsZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyB0aXRsZTogc3RyaW5nID0gJyc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyB1bnNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8U2hhcmVkQ2FzZT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzeW5jaHJvbml6ZVN0b3JlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgcHJpdmF0ZSBzZWxlY3RlZFVzZXI6IFVzZXJEZXRhaWxzO1xuXG4gIEBWaWV3Q2hpbGQoVXNlclNlbGVjdENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSlcbiAgcHJpdmF0ZSByZWFkb25seSB1c2VyU2VsZWN0OiBVc2VyU2VsZWN0Q29tcG9uZW50O1xuXG4gIHB1YmxpYyB2YWxpZGF0aW9uRXJyb3JzOiB7IGlkOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZyB9W10gPSBbXTtcbiAgcHVibGljIHNoYXJlQ2FzZUVycm9yTWVzc2FnZTogRXJyb3JNZXNzYWdlc01vZGVsO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc3RhdGVTZXJ2aWNlOiBDYXNlU2hhcmluZ1N0YXRlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcikgeyB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2hhcmVDYXNlcyRcbiAgICAgIC5waXBlKHRhcChzaGFyZWRDYXNlcyA9PiB7XG4gICAgICAgIC8vIFVwZGF0ZSB0aGUgbGlzdCBvZiB1c2VycyBhc3NpZ25lZCB0byBhdCBsZWFzdCBvbmUgY2FzZVxuICAgICAgICB0aGlzLmdldEFzc2lnbmVkVXNlcnMoc2hhcmVkQ2FzZXMuZmlsdGVyKHNoYXJlZENhc2UgPT4gc2hhcmVkQ2FzZS5zaGFyZWRXaXRoICYmIHNoYXJlZENhc2Uuc2hhcmVkV2l0aC5sZW5ndGggPiAwKSk7XG4gICAgICB9KSlcbiAgICAgIC5zdWJzY3JpYmUoc2hhcmVDYXNlcyA9PiB7XG4gICAgICAgIHRoaXMuc2hhcmVDYXNlcyA9IHNoYXJlQ2FzZXM7XG4gICAgICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnNldENhc2VzKHNoYXJlQ2FzZXMpO1xuICAgICAgICAvLyBTZXQgdGhlIGNvbmZpZyB0byBiZSB1c2VkIGJ5IHRoZSB4dWlsaWItZ292LXVrLWVycm9yLW1lc3NhZ2UgY29tcG9uZW50LCBpbiBwYXJ0aWN1bGFyIHRoZSBlbGVtZW50IElEIHRvXG4gICAgICAgIC8vIHdoaWNoIHRoZSBlcnJvciBtZXNzYWdlIGlzIGFzc29jaWF0ZWRcbiAgICAgICAgaWYgKHNoYXJlQ2FzZXMpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXNFcnJvck1lc3NhZ2VDb25maWcgPSB7XG4gICAgICAgICAgICBpZDogc2hhcmVDYXNlcy5sZW5ndGggPiAwID8gJ2Nhc2VzJyA6ICdub0Nhc2VEaXNwbGF5J1xuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHRoaXMuc2hhcmVDYXNlcyQgPSB0aGlzLnN0YXRlU2VydmljZS5zdGF0ZTtcbiAgICB0aGlzLnNoYXJlQ2FzZUVycm9yTWVzc2FnZSA9IHsgaXNJbnZhbGlkOiBmYWxzZSwgbWVzc2FnZXM6IFtdIH07XG4gIH1cblxuICBwdWJsaWMgb25VbnNlbGVjdChjOiBTaGFyZWRDYXNlKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzID0gW107XG4gICAgaWYgKHRoaXMuc3RhdGVTZXJ2aWNlLmdldENhc2VzKCkubGVuZ3RoID09PSAxKSB7XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMucHVzaCh7IGlkOiAnY2FzZXMnLCBtZXNzYWdlOiBTaGFyZWRDYXNlRXJyb3JNZXNzYWdlcy5PbmVDYXNlTXVzdEJlU2VsZWN0ZWQgfSk7XG4gICAgICB0aGlzLnNoYXJlQ2FzZUVycm9yTWVzc2FnZSA9IHsgaXNJbnZhbGlkOiB0cnVlLCBtZXNzYWdlczogW1NoYXJlZENhc2VFcnJvck1lc3NhZ2VzLk9uZUNhc2VNdXN0QmVTZWxlY3RlZF0gfTtcbiAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogMCwgbGVmdDogMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVuc2VsZWN0LmVtaXQoYyk7XG4gICAgICB0aGlzLnN0YXRlU2VydmljZS5yZW1vdmVDYXNlKGMuY2FzZUlkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TeW5jaHJvbml6ZVN0b3JlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnN5bmNocm9uaXplU3RvcmUuZW1pdChldmVudCk7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RlZFVzZXIodXNlcjogVXNlckRldGFpbHMpIHtcbiAgICB0aGlzLnNlbGVjdGVkVXNlciA9IHVzZXI7XG4gIH1cblxuICBwdWJsaWMgYWRkVXNlcigpIHtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlcyA9IHRoaXMuc3RhdGVTZXJ2aWNlLnJlcXVlc3RTaGFyZSh0aGlzLnNlbGVjdGVkVXNlcik7XG4gICAgdGhpcy5zZWxlY3RlZFVzZXIgPSBudWxsO1xuICAgIGlmICh0aGlzLnVzZXJTZWxlY3QpIHsgdGhpcy51c2VyU2VsZWN0LmNsZWFyKCk7IH1cbiAgICB0aGlzLnN5bmNocm9uaXplU3RvcmUuZW1pdChuZXdTaGFyZWRDYXNlcyk7XG4gICAgLy8gVXBkYXRlIHRoZSBsaXN0IG9mIGFzc2lnbmVkIHVzZXJzICh3aGljaCBpbmNsdWRlcyBwZW5kaW5nIHVzZXJzKVxuICAgIHRoaXMuZ2V0QXNzaWduZWRVc2VycyhuZXdTaGFyZWRDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlVXNlcigpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZFVzZXJUb1JlbW92ZSkge1xuICAgICAgY29uc3QgbmV3U2hhcmVkQ2FzZXMgPSB0aGlzLnN0YXRlU2VydmljZS5yZXF1ZXN0VW5zaGFyZSh0aGlzLnNlbGVjdGVkVXNlclRvUmVtb3ZlKTtcbiAgICAgIHRoaXMuc3luY2hyb25pemVTdG9yZS5lbWl0KG5ld1NoYXJlZENhc2VzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNEaXNhYmxlZEFkZCgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZFVzZXIgPT09IG51bGwgfHwgdGhpcy5zaGFyZUNhc2VzLmxlbmd0aCA9PT0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiBvcmlnaW5hbGx5IHVzZWQgdG8gc2V0IGRpc2FibGVkIHN0YXRlIG9mIFwiQ29udGludWVcIiBidXR0b24sIG5vdyBjYWxsZWQgYnkgdGhlIGJ1dHRvbiBjbGljayBoYW5kbGVyIHRvXG4gICAqIGNvbnRyb2wgd2hldGhlciBuYXZpZ2F0aW9uIHRvIHRoZSBjb25maXJtYXRpb24gcGFnZSBpcyBhbGxvd2VkLiBJdCBpcyBwcmV2ZW50ZWQgaWYgbm8gY2hhbmdlcyBoYXZlIGJlZW4gbWFkZVxuICAgKi9cbiAgcHVibGljIHNldENvbnRpbnVlQWxsb3dlZCgpOiB2b2lkIHtcbiAgICAvLyBBbHdheXMgc3RhcnQgd2l0aCBjb250aW51ZUFsbG93ZWQgPSBmYWxzZS4gVGhpcyBjb3ZlcnMgdGhlIHNjZW5hcmlvIHdoZXJlIGEgdXNlciBtaWdodCBhZGQgc29tZW9uZSBmb3Igc2hhcmluZ1xuICAgIC8vIGEgY2FzZSAoc28sIGNvbnRpbnVlQWxsb3dlZCA9IHRydWUpLCB0aGVuIHJlbW92ZXMgdGhlIHNhbWUgdXNlciBiZWZvcmUgdHJ5aW5nIHRvIGNvbnRpbnVlLiBUaGlzIHdvdWxkXG4gICAgLy8gZXJyb25lb3VzbHkgbGVhdmUgY29udGludWVBbGxvd2VkIGFzIHRydWVcbiAgICB0aGlzLmNvbnRpbnVlQWxsb3dlZCA9IGZhbHNlO1xuICAgIHRoaXMuc2hhcmVDYXNlcyQuc3Vic2NyaWJlKHNoYXJlQ2FzZXMgPT4ge1xuICAgICAgZm9yIChjb25zdCBjYXNlU3RhdGUgb2Ygc2hhcmVDYXNlcykge1xuICAgICAgICBpZiAoY2FzZVN0YXRlLnBlbmRpbmdTaGFyZXMgJiYgY2FzZVN0YXRlLnBlbmRpbmdTaGFyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRoaXMuY29udGludWVBbGxvd2VkID0gdHJ1ZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2FzZVN0YXRlLnBlbmRpbmdVbnNoYXJlcyAmJiBjYXNlU3RhdGUucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLmNvbnRpbnVlQWxsb3dlZCA9IHRydWU7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRlc2VsZWN0KHNoYXJlZENhc2U6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICBpZiAoc2hhcmVkQ2FzZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdXBkYXRlZCA9IFtdO1xuICAgICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRoaXMuc2hhcmVDYXNlcykge1xuICAgICAgICBpZiAoZWxlbWVudC5jYXNlSWQgIT09IHNoYXJlZENhc2UuY2FzZUlkKSB7XG4gICAgICAgICAgdXBkYXRlZC5wdXNoKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLnNoYXJlQ2FzZXMgPSB1cGRhdGVkO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlU2VydmljZS5zZXRDYXNlcyh0aGlzLnNoYXJlQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIG9uQ29udGludWUoKTogdm9pZCB7XG4gICAgdGhpcy5zZXRDb250aW51ZUFsbG93ZWQoKTtcbiAgICAvLyBJZiBjb250aW51YXRpb24gaXMgbm90IGFsbG93ZWQsIHNldCBhbiBlcnJvciBtZXNzYWdlXG4gICAgaWYgKCF0aGlzLmNvbnRpbnVlQWxsb3dlZCkge1xuICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzID0gW107XG4gICAgICB0aGlzLnZhbGlkYXRpb25FcnJvcnMucHVzaCh7IGlkOiAnY2FzZXMnLCBtZXNzYWdlOiBTaGFyZWRDYXNlRXJyb3JNZXNzYWdlcy5Ob0NoYW5nZXNSZXF1ZXN0ZWQgfSk7XG4gICAgICB0aGlzLnNoYXJlQ2FzZUVycm9yTWVzc2FnZSA9IHsgaXNJbnZhbGlkOiB0cnVlLCBtZXNzYWdlczogW1NoYXJlZENhc2VFcnJvck1lc3NhZ2VzLk5vQ2hhbmdlc1JlcXVlc3RlZF0gfTtcbiAgICAgIHdpbmRvdy5zY3JvbGxUbyh7IHRvcDogMCwgbGVmdDogMCwgYmVoYXZpb3I6ICdzbW9vdGgnIH0pO1xuICAgIH1cbiAgICAvLyBOYXZpZ2F0ZSB0byBjb25maXJtYXRpb24gcGFnZSBvbmx5IGlmIGFsbG93ZWQgdG8gY29udGludWVcbiAgICBpZiAodGhpcy5jb250aW51ZUFsbG93ZWQpIHtcbiAgICAgIC8vIENoZWNrIHRoYXQgbm8gY2FzZSBpcyBsZWZ0IHVuYXNzaWduZWQ7IGEgdXNlciBjYW4gYmUgcmVtb3ZlZCBvbmx5IGlmIHRoZXJlIGlzIGFub3RoZXIgY3VycmVudCB1c2VyLCBvciBpZiBhdFxuICAgICAgLy8gbGVhc3Qgb25lIHVzZXIgaXMgdG8gYmUgYWRkZWQuIFByZXZlbnQgbmF2aWdhdGlvbiB0byBjb25maXJtYXRpb24gcGFnZSBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY2FzZSBsZWZ0IGluXG4gICAgICAvLyBhbiB1bmFzc2lnbmVkIHN0YXRlXG4gICAgICBpZiAodGhpcy5oYXNDYXNlc0xlZnRVbmFzc2lnbmVkKHRoaXMuc2hhcmVDYXNlcykpIHtcbiAgICAgICAgdGhpcy52YWxpZGF0aW9uRXJyb3JzID0gW107XG4gICAgICAgIHRoaXMudmFsaWRhdGlvbkVycm9ycy5wdXNoKHsgaWQ6ICdjYXNlcycsIG1lc3NhZ2U6IFNoYXJlZENhc2VFcnJvck1lc3NhZ2VzLk9uZVBlcnNvbk11c3RCZUFzc2lnbmVkIH0pO1xuICAgICAgICB0aGlzLnNoYXJlQ2FzZUVycm9yTWVzc2FnZSA9IHsgaXNJbnZhbGlkOiB0cnVlLCBtZXNzYWdlczogW1NoYXJlZENhc2VFcnJvck1lc3NhZ2VzLk9uZVBlcnNvbk11c3RCZUFzc2lnbmVkXSB9O1xuICAgICAgICB3aW5kb3cuc2Nyb2xsVG8oeyB0b3A6IDAsIGxlZnQ6IDAsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmNvbmZpcm1MaW5rXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYSB1bmlxdWUgbGlzdCBvZiBhbGwgdXNlcnMgdGhhdCBoYXZlIGJlZW4gYXNzaWduZWQsIG9yIGFyZSBwZW5kaW5nIGFzc2lnbWVudCB0bywgYXQgbGVhc3Qgb25lIGNhc2VcbiAgICogQHBhcmFtIHNoYXJlZENhc2VzIFRoZSBsaXN0IG9mIHNoYXJlZCBjYXNlcyBmcm9tIHdoaWNoIHRvIGdldCB1c2VycyB0aGVzZSBhcmUgc2hhcmVkIHdpdGgsIG9yIGFyZSB0byBiZSBzaGFyZWQgd2l0aFxuICAgKi9cbiAgcHVibGljIGdldEFzc2lnbmVkVXNlcnMoc2hhcmVkQ2FzZXM6IFNoYXJlZENhc2VbXSk6IHZvaWQge1xuICAgIGNvbnN0IHVzZXJzOiBVc2VyRGV0YWlsc1tdID0gW107XG4gICAgc2hhcmVkQ2FzZXMuZm9yRWFjaChzaGFyZWRDYXNlID0+IHtcbiAgICAgIGlmIChzaGFyZWRDYXNlLnNoYXJlZFdpdGgpIHtcbiAgICAgICAgc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmZvckVhY2godXNlciA9PiB7XG4gICAgICAgICAgaWYgKCF1c2Vycy5zb21lKGV4aXN0aW5nVXNlciA9PiB1c2VyLmlkYW1JZCA9PT0gZXhpc3RpbmdVc2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgIHVzZXJzLnB1c2godXNlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmIChzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLmZvckVhY2godXNlciA9PiB7XG4gICAgICAgICAgaWYgKCF1c2Vycy5zb21lKGV4aXN0aW5nVXNlciA9PiB1c2VyLmlkYW1JZCA9PT0gZXhpc3RpbmdVc2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgIHVzZXJzLnB1c2godXNlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmFzc2lnbmVkVXNlcnMgPSB1c2VycztcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYW55IHNoYXJlZCBjYXNlcyBoYXZlIGJlZW4gbGVmdCB1bmFzc2lnbmVkLiBUaGlzIG9jY3VycyBpZiBhIHNoYXJlZCBjYXNlIGhhcyBhIG51bWJlciBvZiBwZW5kaW5nXG4gICAqIHVuc2hhcmVzIGVxdWFsIHRvIHRoZSBudW1iZXIgb2YgY3VycmVudCBzaGFyZXMsIGFuZCB0aGVyZSBhcmUgbm8gcGVuZGluZyBzaGFyZXMuXG4gICAqIEBwYXJhbSBzaGFyZWRDYXNlcyBUaGUgYXJyYXkgb2Ygc2hhcmVkIGNhc2VzIHRvIGNoZWNrXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiBhdCBsZWFzdCBvbmUgY2FzZSBoYXMgdGhlIGNvbmRpdGlvbiBkZXNjcmliZWQgYWJvdmU7IGBmYWxzZWAgb3RoZXJ3aXNlXG4gICAqL1xuICBwdWJsaWMgaGFzQ2FzZXNMZWZ0VW5hc3NpZ25lZChzaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHNoYXJlZENhc2VzLnNvbWUoc2hhcmVkQ2FzZSA9PiB7XG4gICAgICByZXR1cm4gc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgJiYgc2hhcmVkQ2FzZS5zaGFyZWRXaXRoICYmXG4gICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLmxlbmd0aCA9PT0gc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmxlbmd0aCAmJlxuICAgICAgICAoIXNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyB8fCBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMubGVuZ3RoID09PSAwKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPHh1aWxpYi1obWN0cy1lcnJvci1zdW1tYXJ5XG4gIFtlcnJvck1lc3NhZ2VzXT1cInZhbGlkYXRpb25FcnJvcnNcIlxuICBbaGVhZGVyXT1cIidUaGVyZSBpcyBhIHByb2JsZW0nXCJcbj48L3h1aWxpYi1obWN0cy1lcnJvci1zdW1tYXJ5PlxuPGgxICpuZ0lmPVwidGl0bGVcIiBjbGFzcz1cImdvdnVrLWhlYWRpbmcteGwgZ292dWstIS1tYXJnaW4tdG9wLTJcIj5cbiAgPHNwYW4gKm5nSWY9XCJmblRpdGxlXCIgY2xhc3M9XCJnb3Z1ay1jYXB0aW9uLXhsXCI+e3tmblRpdGxlIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gIHt7dGl0bGUgfCBycHhUcmFuc2xhdGV9fVxuPC9oMT5cbjxkaXYgaWQ9XCJhZGQtdXNlclwiPlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiIGZvcj1cImFkZC11c2VyLWlucHV0XCI+e3thZGRVc2VyTGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgPHNwYW4gaWQ9XCJhZGQtdXNlci1oaW50XCIgY2xhc3M9XCJnb3Z1ay1oaW50XCI+XG4gICAgICB7eydTZWFyY2ggYnkgbmFtZSBvciBlbWFpbCBhZGRyZXNzLiBZb3UgY2FuIHNoYXJlIGFjY2VzcyB3aXRoIGFzIG1hbnkgcGVvcGxlIGFzIHlvdSBuZWVkLicgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvc3Bhbj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi10d28tdGhpcmRzXCI+XG4gICAgICAgIDx4dWlsaWItdXNlci1zZWxlY3RcbiAgICAgICAgICBpZD1cImFkZC11c2VyLWlucHV0XCJcbiAgICAgICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwiYWRkLXVzZXItaGludFwiXG4gICAgICAgICAgW3VzZXJzXT1cInVzZXJzXCJcbiAgICAgICAgICAoc2VsZWN0ZWQpPVwib25TZWxlY3RlZFVzZXIoJGV2ZW50KVwiPlxuICAgICAgICA8L3h1aWxpYi11c2VyLXNlbGVjdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLW9uZS10aGlyZHNcIj5cbiAgICAgICAgPGJ1dHRvbiBpZD1cImJ0bi1hZGQtdXNlclwiIChjbGljayk9XCJhZGRVc2VyKClcIlxuICAgICAgICAgIGNsYXNzPVwiZ292dWstYnV0dG9uIGdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5XCIgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRBZGQoKVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eydBZGQgdXNlciB0byBzZWxlY3RlZCBjYXNlcycgfCBycHhUcmFuc2xhdGV9fVwiPlxuICAgICAgICAgIHt7J0FkZCcgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3sndXNlcicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGV0YWlscyBpZD1cImFkZC11c2VyLWhlbHBcIiBjbGFzcz1cImdvdnVrLWRldGFpbHNcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWRldGFpbHNcIj5cbiAgICAgIDxzdW1tYXJ5IGNsYXNzPVwiZ292dWstZGV0YWlsc19fc3VtbWFyeVwiPlxuICAgICAgPHNwYW4gaWQ9XCJjb250ZW50LXdoeS1jYW4tbm90LWZpbmQtZW1haWxcIiBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dFwiPlxuICAgICAgICB7e1wiQ2FuJ3QgZmluZCBhbiBlbWFpbCBhZGRyZXNzP1wiIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc3VtbWFyeT5cbiAgICAgIDxkaXYgaWQ9XCJjb250ZW50LXJlYXNvbi1jYW4tbm90LWZpbmQtZW1haWxcIiBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3RleHRcIj5cbiAgICAgICAge3tcIklmIHlvdSBjYW4ndCBmaW5kIHlvdXIgY29sbGVhZ3VlJ3MgZW1haWwgYWRkcmVzcywgdGhleSB3aWxsIG5lZWQgdG8gY29tcGxldGUgdGhlaXIgcmVnaXN0cmF0aW9uLiBDb250YWN0IHlvdXIgYWRtaW5pc3RyYXRvciBmb3IgaGVscC5cIiB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICA8L2RldGFpbHM+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiICpuZ0lmPVwic2hvd1JlbW92ZVVzZXJzXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstIS1mb250LXdlaWdodC1ib2xkXCIgZm9yPVwicmVtb3ZlLXVzZXItaW5wdXRcIj5cbiAgICAgIHt7J1JlbW92ZSBhIHBlcnNvbiBmcm9tIGFsbCBjYXNlcycgfCBycHhUcmFuc2xhdGV9fVxuICAgIDwvbGFiZWw+XG4gICAgPHNwYW4gaWQ9XCJyZW1vdmUtdXNlci1oaW50XCIgY2xhc3M9XCJnb3Z1ay1oaW50XCI+XG4gICAgICB7eydTZWxlY3QgYSBwZXJzb24gdG8gcmVtb3ZlIHRoZW0gZnJvbSBhbGwgc2VsZWN0ZWQgY2FzZXMuJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgPC9zcGFuPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLXJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLXR3by10aGlyZHNcIj5cbiAgICAgICAgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkVXNlclRvUmVtb3ZlXCIgY2xhc3M9XCJnb3Z1ay1zZWxlY3RcIiBpZD1cInJlbW92ZS11c2VyLWlucHV0XCIgYXJpYS1kZXNjcmliZWRieT1cInJlbW92ZS11c2VyLWhpbnRcIj5cbiAgICAgICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIiBzZWxlY3RlZD5TZWxlY3QgYSBwZXJzb248L29wdGlvbj5cbiAgICAgICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCB1c2VyIG9mIGFzc2lnbmVkVXNlcnNcIiBbbmdWYWx1ZV09XCJ1c2VyXCI+e3t1c2VyLmZpcnN0TmFtZX19IHt7dXNlci5sYXN0TmFtZX19IC0ge3t1c2VyLmVtYWlsfX08L29wdGlvbj5cbiAgICAgICAgPC9zZWxlY3Q+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi1vbmUtdGhpcmRzXCI+XG4gICAgICAgIDxidXR0b24gaWQ9XCJidG4tcmVtb3ZlLXVzZXJcIiAoY2xpY2spPVwicmVtb3ZlVXNlcigpXCIgY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnlcIiB0aXRsZT1cInt7J1JlbW92ZSB1c2VyIGZyb20gc2VsZWN0ZWQgY2FzZXMnIHwgcnB4VHJhbnNsYXRlfX1cIj5cbiAgICAgICAgICB7eydSZW1vdmUnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXZpc3VhbGx5LWhpZGRlblwiPiB7eyd1c2VyJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGlkPVwiY2FzZXNcIiBbbmdDbGFzc109XCJ7J2dvdnVrLWZvcm0tZ3JvdXAtLWVycm9yJzogc2hhcmVDYXNlRXJyb3JNZXNzYWdlLm1lc3NhZ2VzICYmIHNoYXJlQ2FzZUVycm9yTWVzc2FnZS5tZXNzYWdlcy5sZW5ndGggPiAwfVwiPlxuICA8aDMgaWQ9XCJ0aXRsZS1zZWxlY3RlZC1jYXNlc1wiIGNsYXNzPVwiZ292dWstaGVhZGluZy1tXCI+XG4gICAge3snU2VsZWN0ZWQgY2FzZXMnIHwgcnB4VHJhbnNsYXRlfX1cbiAgPC9oMz5cbiAgPHh1aWxpYi1nb3YtdWstZXJyb3ItbWVzc2FnZSBbY29uZmlnXT1cInNlbGVjdGVkQ2FzZXNFcnJvck1lc3NhZ2VDb25maWdcIiBbZXJyb3JNZXNzYWdlXT1cInNoYXJlQ2FzZUVycm9yTWVzc2FnZVwiPjwveHVpbGliLWdvdi11ay1lcnJvci1tZXNzYWdlPlxuICA8ZGl2ICpuZ0lmPVwic2hhcmVDYXNlcyAmJiBzaGFyZUNhc2VzLmxlbmd0aCA+IDBcIiBjbGFzcz1cImdvdnVrLWFjY29yZGlvblwiIGRhdGEtbW9kdWxlPVwiZ292dWstYWNjb3JkaW9uXCIgaWQ9XCJhY2NvcmRpb24td2l0aC1zdW1tYXJ5LXNlY3Rpb25zXCI+XG4gICAgPHh1aWxpYi1zZWxlY3RlZC1jYXNlLWxpc3RcbiAgICAgIFtzaGFyZUNhc2VzJF09XCJzaGFyZUNhc2VzJFwiXG4gICAgICBbcmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT25dPVwicmVtb3ZlVXNlckZyb21DYXNlVG9nZ2xlT25cIlxuICAgICAgKHVuc2VsZWN0KT1cIm9uVW5zZWxlY3QoJGV2ZW50KVwiXG4gICAgICAoc3luY2hyb25pemVTdG9yZSk9XCJvblN5bmNocm9uaXplU3RvcmUoJGV2ZW50KVwiXG4gICAgPlxuICAgIDwveHVpbGliLXNlbGVjdGVkLWNhc2UtbGlzdD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBpZD1cIm5vQ2FzZURpc3BsYXlcIiAqbmdJZj1cInNoYXJlQ2FzZXMgJiYgc2hhcmVDYXNlcy5sZW5ndGggPT09IDBcIiBjbGFzcz1cImdvdnVrLWhpbnRcIlxuICAgIFtuZ0NsYXNzXT1cInsnZ292dWstZm9ybS1ncm91cC0tZXJyb3InOiBzaGFyZUNhc2VFcnJvck1lc3NhZ2UubWVzc2FnZXMgJiYgc2hhcmVDYXNlRXJyb3JNZXNzYWdlLm1lc3NhZ2VzLmxlbmd0aCA+IDB9XCI+XG4gICAge3snTm8gY2FzZXMgdG8gZGlzcGxheS4nIHwgcnB4VHJhbnNsYXRlfX1cbiAgPC9kaXY+XG5cbjwvZGl2PlxuXG48ZGl2IGlkPVwic2hhcmUtY2FzZS1uYXZcIiBjbGFzcz1cImdvdnVrLWJ1dHRvbi1ncm91cFwiPlxuICA8YnV0dG9uIGlkPVwiYnRuLWNvbnRpbnVlXCIgY2xhc3M9XCJnb3Z1ay1idXR0b25cIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiIChjbGljayk9XCJvbkNvbnRpbnVlKClcIiB0aXRsZT1cInt7J0NvbnRpbnVlJyB8IHJweFRyYW5zbGF0ZX19XCI+XG4gICAge3snQ29udGludWUnIHwgcnB4VHJhbnNsYXRlfX1cbiAgPC9idXR0b24+XG4gIDxidXR0b24gaWQ9XCJidG4tY2FuY2VsXCIgY2xhc3M9XCJnb3Z1ay1idXR0b24gZ292dWstYnV0dG9uLS1zZWNvbmRhcnlcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWJ1dHRvblwiIHRpdGxlPVwie3snQ2FuY2VsJyB8IHJweFRyYW5zbGF0ZX19XCIgW3JvdXRlckxpbmtdPVwiY2FuY2VsTGlua1wiPlxuICAgIHt7J0NhbmNlbCcgfCBycHhUcmFuc2xhdGV9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { CaseSharingStateService } from '../../services/case-sharing-state/case-sharing-state.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services/case-sharing-state/case-sharing-state.service";
|
|
6
|
+
import * as i2 from "@angular/common";
|
|
7
|
+
import * as i3 from "@angular/router";
|
|
8
|
+
import * as i4 from "../selected-case-list/selected-case-list.component";
|
|
9
|
+
import * as i5 from "rpx-xui-translation";
|
|
10
|
+
function ShareCaseConfirmComponent_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
11
|
+
i0.ɵɵelementStart(0, "div", 5);
|
|
12
|
+
i0.ɵɵelement(1, "xuilib-selected-case-list", 6);
|
|
13
|
+
i0.ɵɵelementEnd();
|
|
14
|
+
} if (rf & 2) {
|
|
15
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
16
|
+
i0.ɵɵadvance();
|
|
17
|
+
i0.ɵɵproperty("shareCases$", ctx_r0.shareCases$)("toConfirm", true)("changeLink", ctx_r0.changeLink);
|
|
18
|
+
} }
|
|
19
|
+
function ShareCaseConfirmComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
i0.ɵɵelementStart(0, "div", 7);
|
|
21
|
+
i0.ɵɵtext(1);
|
|
22
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
23
|
+
i0.ɵɵelementEnd();
|
|
24
|
+
} if (rf & 2) {
|
|
25
|
+
i0.ɵɵadvance();
|
|
26
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, "No cases to display."), " ");
|
|
27
|
+
} }
|
|
28
|
+
function ShareCaseConfirmComponent_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
29
|
+
i0.ɵɵelementStart(0, "div", 8)(1, "button", 9);
|
|
30
|
+
i0.ɵɵtext(2);
|
|
31
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
32
|
+
i0.ɵɵelementEnd()();
|
|
33
|
+
} if (rf & 2) {
|
|
34
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
35
|
+
i0.ɵɵadvance();
|
|
36
|
+
i0.ɵɵproperty("routerLink", ctx_r0.completeLink);
|
|
37
|
+
i0.ɵɵadvance();
|
|
38
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "Confirm"));
|
|
39
|
+
} }
|
|
40
|
+
export class ShareCaseConfirmComponent {
|
|
41
|
+
constructor(stateService) {
|
|
42
|
+
this.stateService = stateService;
|
|
43
|
+
this.shareCases = []; // cases selected for sharing
|
|
44
|
+
this.changeLink = '';
|
|
45
|
+
this.completeLink = '';
|
|
46
|
+
}
|
|
47
|
+
ngOnInit() {
|
|
48
|
+
this.shareCases$.subscribe(shareCases => {
|
|
49
|
+
this.shareCases = shareCases;
|
|
50
|
+
this.stateService.setCases(shareCases);
|
|
51
|
+
});
|
|
52
|
+
this.shareCases$ = this.stateService.state;
|
|
53
|
+
}
|
|
54
|
+
static { this.ɵfac = function ShareCaseConfirmComponent_Factory(t) { return new (t || ShareCaseConfirmComponent)(i0.ɵɵdirectiveInject(i1.CaseSharingStateService)); }; }
|
|
55
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ShareCaseConfirmComponent, selectors: [["xuilib-share-case-confirm"]], inputs: { shareCases$: "shareCases$", changeLink: "changeLink", completeLink: "completeLink" }, decls: 7, vars: 6, consts: [["id", "casesToConfirm"], [1, "govuk-heading-l"], ["id", "summarySections", 4, "ngIf"], ["id", "noCaseDisplay", "class", "govuk-hint", 4, "ngIf"], ["id", "share-case-nav", 4, "ngIf"], ["id", "summarySections"], [3, "shareCases$", "toConfirm", "changeLink"], ["id", "noCaseDisplay", 1, "govuk-hint"], ["id", "share-case-nav"], ["title", "Confirm", 1, "govuk-button", 3, "routerLink"]], template: function ShareCaseConfirmComponent_Template(rf, ctx) { if (rf & 1) {
|
|
56
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "h3", 1);
|
|
57
|
+
i0.ɵɵtext(2);
|
|
58
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
59
|
+
i0.ɵɵelementEnd();
|
|
60
|
+
i0.ɵɵtemplate(4, ShareCaseConfirmComponent_div_4_Template, 2, 3, "div", 2)(5, ShareCaseConfirmComponent_div_5_Template, 3, 3, "div", 3);
|
|
61
|
+
i0.ɵɵelementEnd();
|
|
62
|
+
i0.ɵɵtemplate(6, ShareCaseConfirmComponent_div_6_Template, 4, 4, "div", 4);
|
|
63
|
+
} if (rf & 2) {
|
|
64
|
+
i0.ɵɵadvance(2);
|
|
65
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 4, "Cases"));
|
|
66
|
+
i0.ɵɵadvance(2);
|
|
67
|
+
i0.ɵɵproperty("ngIf", ctx.shareCases && ctx.shareCases.length > 0);
|
|
68
|
+
i0.ɵɵadvance();
|
|
69
|
+
i0.ɵɵproperty("ngIf", ctx.shareCases && ctx.shareCases.length === 0);
|
|
70
|
+
i0.ɵɵadvance();
|
|
71
|
+
i0.ɵɵproperty("ngIf", ctx.shareCases && ctx.shareCases.length > 0);
|
|
72
|
+
} }, dependencies: [i2.NgIf, i3.RouterLink, i4.SelectedCaseListComponent, i5.RpxTranslatePipe] }); }
|
|
73
|
+
}
|
|
74
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ShareCaseConfirmComponent, [{
|
|
75
|
+
type: Component,
|
|
76
|
+
args: [{ selector: 'xuilib-share-case-confirm', template: "<div id=\"casesToConfirm\">\n <h3 class=\"govuk-heading-l\">{{'Cases' | rpxTranslate}}</h3>\n <div *ngIf=\"shareCases && shareCases.length > 0\" id=\"summarySections\">\n <xuilib-selected-case-list\n [shareCases$]=\"shareCases$\"\n [toConfirm]=\"true\"\n [changeLink]=\"changeLink\">\n </xuilib-selected-case-list>\n </div>\n\n <div id=\"noCaseDisplay\" *ngIf=\"shareCases && shareCases.length === 0\" class=\"govuk-hint\">\n {{'No cases to display.' | rpxTranslate}}\n </div>\n\n</div>\n\n<div id=\"share-case-nav\" *ngIf=\"shareCases && shareCases.length > 0\">\n <button class=\"govuk-button\" title=\"Confirm\" [routerLink]=\"completeLink\">{{'Confirm' | rpxTranslate}}</button>\n</div>\n" }]
|
|
77
|
+
}], () => [{ type: i1.CaseSharingStateService }], { shareCases$: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}], changeLink: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}], completeLink: [{
|
|
82
|
+
type: Input
|
|
83
|
+
}] }); })();
|
|
84
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ShareCaseConfirmComponent, { className: "ShareCaseConfirmComponent", filePath: "lib/components/share-case-confirm/share-case-confirm.component.ts", lineNumber: 11 }); })();
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtY2FzZS1jb25maXJtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmUtY2FzZS1jb25maXJtL3NoYXJlLWNhc2UtY29uZmlybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlLWNhc2UtY29uZmlybS9zaGFyZS1jYXNlLWNvbmZpcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQzs7Ozs7Ozs7SUNEckcsOEJBQXNFO0lBQ3BFLCtDQUk0QjtJQUM5QixpQkFBTTs7O0lBSkYsY0FBMkI7SUFFM0IsQUFEQSxBQURBLGdEQUEyQixtQkFDVCxpQ0FDTzs7O0lBSTdCLDhCQUF5RjtJQUN2RixZQUNGOztJQUFBLGlCQUFNOztJQURKLGNBQ0Y7SUFERSw2RUFDRjs7O0lBS0EsQUFERiw4QkFBcUUsZ0JBQ007SUFBQSxZQUE0Qjs7SUFDdkcsQUFEdUcsaUJBQVMsRUFDMUc7OztJQUR5QyxjQUEyQjtJQUEzQixnREFBMkI7SUFBQyxjQUE0QjtJQUE1QixxREFBNEI7O0FEUHZHLE1BQU0sT0FBTyx5QkFBeUI7SUFVcEMsWUFBNkIsWUFBcUM7UUFBckMsaUJBQVksR0FBWixZQUFZLENBQXlCO1FBUjNELGVBQVUsR0FBaUIsRUFBRSxDQUFDLENBQUMsNkJBQTZCO1FBR25ELGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIsaUJBQVksR0FBVyxFQUFFLENBQUM7SUFJNEIsQ0FBQztJQUVoRSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7WUFDN0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQzdDLENBQUM7MEZBbEJVLHlCQUF5QjtvRUFBekIseUJBQXlCO1lDVHBDLEFBREYsOEJBQXlCLFlBQ0s7WUFBQSxZQUEwQjs7WUFBQSxpQkFBSztZQVMzRCxBQVJBLDBFQUFzRSw2REFRbUI7WUFJM0YsaUJBQU07WUFFTiwwRUFBcUU7O1lBZnZDLGVBQTBCO1lBQTFCLG1EQUEwQjtZQUNoRCxlQUF5QztZQUF6QyxrRUFBeUM7WUFRdEIsY0FBMkM7WUFBM0Msb0VBQTJDO1lBTTVDLGNBQXlDO1lBQXpDLGtFQUF5Qzs7O2lGRE50RCx5QkFBeUI7Y0FMckMsU0FBUzsyQkFDRSwyQkFBMkI7d0RBUXJCLFdBQVc7a0JBQTFCLEtBQUs7WUFDVSxVQUFVO2tCQUF6QixLQUFLO1lBQ1UsWUFBWTtrQkFBM0IsS0FBSzs7a0ZBTksseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTaGFyZWRDYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Nhc2Utc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXNlLXNoYXJpbmctc3RhdGUvY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItc2hhcmUtY2FzZS1jb25maXJtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NoYXJlLWNhc2UtY29uZmlybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NoYXJlLWNhc2UtY29uZmlybS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlQ2FzZUNvbmZpcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBzaGFyZUNhc2VzOiBTaGFyZWRDYXNlW10gPSBbXTsgLy8gY2FzZXMgc2VsZWN0ZWQgZm9yIHNoYXJpbmdcblxuICBASW5wdXQoKSBwdWJsaWMgc2hhcmVDYXNlcyQ6IE9ic2VydmFibGU8U2hhcmVkQ2FzZVtdPjtcbiAgQElucHV0KCkgcHVibGljIGNoYW5nZUxpbms6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgY29tcGxldGVMaW5rOiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgc3RhdGUkOiBPYnNlcnZhYmxlPFNoYXJlZENhc2VbXT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IENhc2VTaGFyaW5nU3RhdGVTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zaGFyZUNhc2VzJC5zdWJzY3JpYmUoc2hhcmVDYXNlcyA9PiB7XG4gICAgICB0aGlzLnNoYXJlQ2FzZXMgPSBzaGFyZUNhc2VzO1xuICAgICAgdGhpcy5zdGF0ZVNlcnZpY2Uuc2V0Q2FzZXMoc2hhcmVDYXNlcyk7XG4gICAgfSk7XG4gICAgdGhpcy5zaGFyZUNhc2VzJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnN0YXRlO1xuICB9XG5cbn1cbiIsIjxkaXYgaWQ9XCJjYXNlc1RvQ29uZmlybVwiPlxuICA8aDMgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLWxcIj57eydDYXNlcycgfCBycHhUcmFuc2xhdGV9fTwvaDM+XG4gIDxkaXYgKm5nSWY9XCJzaGFyZUNhc2VzICYmIHNoYXJlQ2FzZXMubGVuZ3RoID4gMFwiIGlkPVwic3VtbWFyeVNlY3Rpb25zXCI+XG4gICAgPHh1aWxpYi1zZWxlY3RlZC1jYXNlLWxpc3RcbiAgICAgIFtzaGFyZUNhc2VzJF09XCJzaGFyZUNhc2VzJFwiXG4gICAgICBbdG9Db25maXJtXT1cInRydWVcIlxuICAgICAgW2NoYW5nZUxpbmtdPVwiY2hhbmdlTGlua1wiPlxuICAgIDwveHVpbGliLXNlbGVjdGVkLWNhc2UtbGlzdD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBpZD1cIm5vQ2FzZURpc3BsYXlcIiAqbmdJZj1cInNoYXJlQ2FzZXMgJiYgc2hhcmVDYXNlcy5sZW5ndGggPT09IDBcIiBjbGFzcz1cImdvdnVrLWhpbnRcIj5cbiAgICB7eydObyBjYXNlcyB0byBkaXNwbGF5LicgfCBycHhUcmFuc2xhdGV9fVxuICA8L2Rpdj5cblxuPC9kaXY+XG5cbjxkaXYgaWQ9XCJzaGFyZS1jYXNlLW5hdlwiICpuZ0lmPVwic2hhcmVDYXNlcyAmJiBzaGFyZUNhc2VzLmxlbmd0aCA+IDBcIj5cbiAgPGJ1dHRvbiBjbGFzcz1cImdvdnVrLWJ1dHRvblwiIHRpdGxlPVwiQ29uZmlybVwiIFtyb3V0ZXJMaW5rXT1cImNvbXBsZXRlTGlua1wiPnt7J0NvbmZpcm0nIHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj5cbjwvZGl2PlxuIl19
|