@hmcts/rpx-xui-common-lib 2.0.2-pre-release-include-user-access-type → 2.0.2-pre-release-accessibility-updated-version
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/bundles/hmcts-rpx-xui-common-lib.umd.js +6257 -0
- package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -0
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +2 -0
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -0
- package/esm2015/hmcts-rpx-xui-common-lib.js +77 -0
- package/esm2015/lib/components/accessibility/accessibility.component.js +27 -0
- package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +185 -0
- package/esm2015/lib/components/contact-details/contact-details.component.js +17 -0
- package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +68 -0
- package/esm2015/lib/components/due-date/due-date.component.js +123 -0
- package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +28 -0
- package/esm2015/lib/components/find-location/find-location.component.js +146 -0
- package/esm2015/lib/components/find-person/find-person.component.js +120 -0
- package/esm2015/lib/components/find-service/find-service.component.js +113 -0
- package/esm2015/lib/components/find-task-name/find-task-name.component.js +97 -0
- package/esm2015/lib/components/generic-filter/generic-filter.component.js +629 -0
- package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +27 -0
- package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +25 -0
- package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +25 -0
- package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +26 -0
- package/esm2015/lib/components/pagination/pagination.component.js +28 -0
- package/esm2015/lib/components/search-judicials/search-judicials.component.js +126 -0
- package/esm2015/lib/components/search-location/search-location.component.js +135 -0
- package/esm2015/lib/components/search-service/search-service.component.js +42 -0
- package/esm2015/lib/components/search-venue/search-venue.component.js +123 -0
- package/esm2015/lib/components/selected-case/selected-case.component.js +158 -0
- package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +36 -0
- package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +49 -0
- package/esm2015/lib/components/service-message/service-message.component.js +22 -0
- package/esm2015/lib/components/service-messages/service-messages.component.js +48 -0
- package/esm2015/lib/components/share-case/share-case.component.js +205 -0
- package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +34 -0
- package/esm2015/lib/components/tab/tab.component.js +21 -0
- package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +22 -0
- package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +13 -0
- package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +13 -0
- package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +16 -0
- package/esm2015/lib/components/user-details/user-details.component.js +41 -0
- package/esm2015/lib/components/user-list/user-list.component.js +33 -0
- package/esm2015/lib/components/user-select/user-select.component.js +58 -0
- package/esm2015/lib/components/write-address/write-address.component.js +182 -0
- package/esm2015/lib/components/write-address-inputs/write-address-inputs.component.js +36 -0
- package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +42 -0
- package/esm2015/lib/directives/let/let.directive.js +30 -0
- package/esm2015/lib/exui-common-lib.module.js +174 -0
- package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +31 -0
- package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +60 -0
- package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +64 -0
- package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +22 -0
- package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +28 -0
- package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +35 -0
- package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +23 -0
- package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +34 -0
- package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +22 -0
- package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +33 -0
- package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +21 -0
- package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +27 -0
- package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +39 -0
- package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +27 -0
- package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +23 -0
- package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +48 -0
- package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +19 -0
- package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +41 -0
- package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +28 -0
- package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +23 -0
- package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +15 -0
- package/esm2015/lib/gov-ui/directives/remove-host.directive.js +29 -0
- package/esm2015/lib/gov-ui/gov-ui.service.js +13 -0
- package/{esm2020/lib/models/public_api.mjs → esm2015/lib/models/public_api.js} +1 -2
- package/esm2015/lib/models/user-details.model.js +2 -0
- package/esm2015/lib/pipes/capitalize/capitalize.pipe.js +11 -0
- package/esm2015/lib/services/address/address.service.js +50 -0
- package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +157 -0
- package/esm2015/lib/services/cookie/cookie.service.js +47 -0
- package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +36 -0
- package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +27 -0
- package/{esm2020/lib/services/feature-toggle/launch-darkly.service.mjs → esm2015/lib/services/feature-toggle/launch-darkly.service.js} +6 -8
- package/{esm2020/lib/services/filter/filter.service.mjs → esm2015/lib/services/filter/filter.service.js} +6 -8
- package/esm2015/lib/services/find-person/find-person.service.js +115 -0
- package/esm2015/lib/services/google-analytics/google-analytics.service.js +68 -0
- package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +71 -0
- package/{esm2020/lib/services/loading/loading.service.mjs → esm2015/lib/services/loading/loading.service.js} +6 -8
- package/esm2015/lib/services/locations/location.service.js +39 -0
- package/{esm2020/lib/services/manage-session/manage-session.services.mjs → esm2015/lib/services/manage-session/manage-session.services.js} +10 -8
- package/esm2015/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.js +34 -0
- package/{esm2020/lib/services/ref-data/ref-data.service.mjs → esm2015/lib/services/ref-data/ref-data.service.js} +9 -8
- package/{esm2020/lib/services/role-guard/role.guard.mjs → esm2015/lib/services/role-guard/role.guard.js} +10 -8
- package/esm2015/lib/services/role-guard/role.service.js +20 -0
- package/{esm2020/lib/services/storage/session-storage/session-storage.service.mjs → esm2015/lib/services/storage/session-storage/session-storage.service.js} +6 -8
- package/{esm2020/lib/services/task-name/task-name.service.mjs → esm2015/lib/services/task-name/task-name.service.js} +10 -8
- package/{esm2020/lib/services/timeout-notifications/timeout-notifications.service.mjs → esm2015/lib/services/timeout-notifications/timeout-notifications.service.js} +10 -8
- package/fesm2015/hmcts-rpx-xui-common-lib.js +5227 -0
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -0
- package/hmcts-rpx-xui-common-lib.d.ts +76 -0
- package/hmcts-rpx-xui-common-lib.metadata.json +1 -0
- package/lib/components/accessibility/accessibility.component.d.ts +4 -4
- package/lib/components/checkbox-list/checkbox-list.component.d.ts +0 -3
- package/lib/components/contact-details/contact-details.component.d.ts +0 -3
- package/lib/components/cookie-banner/cookie-banner.component.d.ts +1 -6
- package/lib/components/due-date/due-date.component.d.ts +0 -3
- package/lib/components/exui-main-wrapper/exui-page-wrapper.component.d.ts +0 -3
- package/lib/components/find-location/find-location.component.d.ts +0 -3
- package/lib/components/find-person/find-person.component.d.ts +0 -3
- package/lib/components/find-service/find-service.component.d.ts +0 -3
- package/lib/components/find-task-name/find-task-name.component.d.ts +0 -3
- package/lib/components/generic-filter/generic-filter.component.d.ts +0 -3
- package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +0 -3
- package/lib/components/invite-user-form/invite-user-form.component.d.ts +0 -3
- package/lib/components/invite-user-permissions/invite-user-permission.component.d.ts +0 -3
- package/lib/components/loading-spinner/loading-spinner.component.d.ts +0 -3
- package/lib/components/pagination/pagination.component.d.ts +0 -3
- package/lib/components/search-judicials/search-judicials.component.d.ts +0 -3
- package/lib/components/search-location/search-location.component.d.ts +1 -4
- package/lib/components/search-service/search-service.component.d.ts +1 -4
- package/lib/components/search-venue/search-venue.component.d.ts +0 -3
- package/lib/components/selected-case/selected-case.component.d.ts +0 -3
- package/lib/components/selected-case-confirm/selected-case-confirm.component.d.ts +0 -3
- package/lib/components/selected-case-list/selected-case-list.component.d.ts +0 -3
- package/lib/components/service-message/service-message.component.d.ts +0 -3
- package/lib/components/service-messages/service-messages.component.d.ts +0 -3
- package/lib/components/share-case/share-case.component.d.ts +0 -3
- package/lib/components/share-case-confirm/share-case-confirm.component.d.ts +0 -3
- package/lib/components/tab/tab.component.d.ts +0 -3
- package/lib/components/tc-confirm/tc-confirm.component.d.ts +0 -3
- package/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.d.ts +0 -3
- package/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.d.ts +0 -3
- package/lib/components/terms-and-conditions/terms-and-conditions.component.d.ts +0 -3
- package/lib/components/user-details/user-details.component.d.ts +0 -3
- package/lib/components/user-list/user-list.component.d.ts +0 -3
- package/lib/components/user-select/user-select.component.d.ts +2 -5
- package/lib/components/write-address/write-address.component.d.ts +0 -3
- package/lib/components/write-address-inputs/write-address-inputs.component.d.ts +3 -3
- package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +0 -3
- package/lib/directives/let/let.directive.d.ts +0 -3
- package/lib/exui-common-lib.module.d.ts +3 -77
- package/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.d.ts +0 -3
- package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +0 -3
- package/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.d.ts +0 -3
- package/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.d.ts +0 -3
- package/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.d.ts +0 -3
- package/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.d.ts +0 -3
- package/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.d.ts +0 -3
- package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +0 -3
- package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +0 -3
- package/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.d.ts +0 -3
- package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +0 -3
- package/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.d.ts +0 -3
- package/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.d.ts +0 -3
- package/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.d.ts +0 -3
- package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +0 -3
- package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +0 -3
- package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +0 -3
- package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +0 -3
- package/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.d.ts +0 -3
- package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +0 -3
- package/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.d.ts +0 -3
- package/lib/gov-ui/directives/remove-host.directive.d.ts +0 -3
- package/lib/gov-ui/gov-ui.service.d.ts +0 -3
- package/lib/models/feature-user.d.ts +1 -1
- package/lib/models/filter.model.d.ts +2 -2
- package/lib/models/public_api.d.ts +0 -1
- package/lib/models/user-details.model.d.ts +0 -2
- package/lib/pipes/capitalize/capitalize.pipe.d.ts +0 -3
- package/lib/services/address/address.service.d.ts +0 -3
- package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +0 -3
- package/lib/services/cookie/cookie.service.d.ts +0 -3
- package/lib/services/feature-toggle/feature-toggle.guard.d.ts +0 -3
- package/lib/services/feature-toggle/feature-toggle.service.d.ts +0 -3
- package/lib/services/feature-toggle/launch-darkly.service.d.ts +0 -3
- package/lib/services/filter/filter.service.d.ts +0 -3
- package/lib/services/find-person/find-person.service.d.ts +0 -3
- package/lib/services/google-analytics/google-analytics.service.d.ts +0 -3
- package/lib/services/google-tag-manager/google-tag-manager.service.d.ts +0 -3
- package/lib/services/loading/loading.service.d.ts +0 -3
- package/lib/services/locations/location.service.d.ts +0 -3
- package/lib/services/manage-session/manage-session.services.d.ts +0 -3
- package/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.d.ts +0 -3
- package/lib/services/ref-data/ref-data.service.d.ts +0 -3
- package/lib/services/role-guard/role.guard.d.ts +0 -3
- package/lib/services/role-guard/role.service.d.ts +2 -5
- package/lib/services/storage/session-storage/session-storage.service.d.ts +0 -3
- package/lib/services/task-name/task-name.service.d.ts +0 -3
- package/lib/services/timeout-notifications/timeout-notifications.service.d.ts +0 -3
- package/package.json +9 -24
- package/esm2020/hmcts-rpx-xui-common-lib.mjs +0 -5
- package/esm2020/lib/components/accessibility/accessibility.component.mjs +0 -486
- 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 -144
- 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 -187
- package/esm2020/lib/components/find-task-name/find-task-name.component.mjs +0 -200
- 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 -205
- 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 -130
- 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 -410
- 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 -265
- 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/directives/let/let.directive.mjs +0 -29
- package/esm2020/lib/exui-common-lib.module.mjs +0 -313
- 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/gov-ui.service.mjs +0 -14
- package/esm2020/lib/models/user-access-type.model.mjs +0 -2
- package/esm2020/lib/models/user-details.model.mjs +0 -2
- package/esm2020/lib/pipes/capitalize/capitalize.pipe.mjs +0 -15
- 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/cookie/cookie.service.mjs +0 -48
- package/esm2020/lib/services/feature-toggle/feature-toggle.guard.mjs +0 -34
- package/esm2020/lib/services/feature-toggle/feature-toggle.service.mjs +0 -29
- package/esm2020/lib/services/find-person/find-person.service.mjs +0 -114
- 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/locations/location.service.mjs +0 -38
- package/esm2020/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.mjs +0 -33
- package/esm2020/lib/services/role-guard/role.service.mjs +0 -22
- package/fesm2015/hmcts-rpx-xui-common-lib.mjs +0 -10735
- package/fesm2015/hmcts-rpx-xui-common-lib.mjs.map +0 -1
- package/fesm2020/hmcts-rpx-xui-common-lib.mjs +0 -9774
- package/fesm2020/hmcts-rpx-xui-common-lib.mjs.map +0 -1
- package/index.d.ts +0 -5
- package/lib/models/user-access-type.model.d.ts +0 -6
- /package/{esm2020/lib/components/generic-filter/generic-filter-utils.mjs → esm2015/lib/components/generic-filter/generic-filter-utils.js} +0 -0
- /package/{esm2020/lib/components/index.mjs → esm2015/lib/components/index.js} +0 -0
- /package/{esm2020/lib/components/public_api.mjs → esm2015/lib/components/public_api.js} +0 -0
- /package/{esm2020/lib/directives/index.mjs → esm2015/lib/directives/index.js} +0 -0
- /package/{esm2020/lib/directives/public-api.mjs → esm2015/lib/directives/public-api.js} +0 -0
- /package/{esm2020/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.mjs → esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.js} +0 -0
- /package/{esm2020/lib/gov-ui/components/index.mjs → esm2015/lib/gov-ui/components/index.js} +0 -0
- /package/{esm2020/lib/gov-ui/components/public_api.mjs → esm2015/lib/gov-ui/components/public_api.js} +0 -0
- /package/{esm2020/lib/gov-ui/index.mjs → esm2015/lib/gov-ui/index.js} +0 -0
- /package/{esm2020/lib/gov-ui/models/checkboxes-model.mjs → esm2015/lib/gov-ui/models/checkboxes-model.js} +0 -0
- /package/{esm2020/lib/gov-ui/models/error-messages-model.mjs → esm2015/lib/gov-ui/models/error-messages-model.js} +0 -0
- /package/{esm2020/lib/gov-ui/models/gov-ui-config-model.mjs → esm2015/lib/gov-ui/models/gov-ui-config-model.js} +0 -0
- /package/{esm2020/lib/gov-ui/models/index.mjs → esm2015/lib/gov-ui/models/index.js} +0 -0
- /package/{esm2020/lib/gov-ui/models/isession-storage.interface.mjs → esm2015/lib/gov-ui/models/isession-storage.interface.js} +0 -0
- /package/{esm2020/lib/gov-ui/models/public_api.mjs → esm2015/lib/gov-ui/models/public_api.js} +0 -0
- /package/{esm2020/lib/gov-ui/models/radio-buttons.model.mjs → esm2015/lib/gov-ui/models/radio-buttons.model.js} +0 -0
- /package/{esm2020/lib/gov-ui/public_api.mjs → esm2015/lib/gov-ui/public_api.js} +0 -0
- /package/{esm2020/lib/gov-ui/util/helpers/html-templates.helper.mjs → esm2015/lib/gov-ui/util/helpers/html-templates.helper.js} +0 -0
- /package/{esm2020/lib/gov-ui/util/session-storage/session-storage-utils.mjs → esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js} +0 -0
- /package/{esm2020/lib/gov-ui/validators/checkboxes-be-checked.validator.mjs → esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js} +0 -0
- /package/{esm2020/lib/gov-ui/validators/date.validator.mjs → esm2015/lib/gov-ui/validators/date.validator.js} +0 -0
- /package/{esm2020/lib/gov-ui/validators/index.mjs → esm2015/lib/gov-ui/validators/index.js} +0 -0
- /package/{esm2020/lib/gov-ui/validators/public_api.mjs → esm2015/lib/gov-ui/validators/public_api.js} +0 -0
- /package/{esm2020/lib/gov-ui/validators/radio-group.validator.mjs → esm2015/lib/gov-ui/validators/radio-group.validator.js} +0 -0
- /package/{esm2020/lib/models/address-message.enum.mjs → esm2015/lib/models/address-message.enum.js} +0 -0
- /package/{esm2020/lib/models/address-option.model.mjs → esm2015/lib/models/address-option.model.js} +0 -0
- /package/{esm2020/lib/models/address.model.mjs → esm2015/lib/models/address.model.js} +0 -0
- /package/{esm2020/lib/models/case-share.model.mjs → esm2015/lib/models/case-share.model.js} +0 -0
- /package/{esm2020/lib/models/contact-details.model.mjs → esm2015/lib/models/contact-details.model.js} +0 -0
- /package/{esm2020/lib/models/due-date.model.mjs → esm2015/lib/models/due-date.model.js} +0 -0
- /package/{esm2020/lib/models/feature-user.mjs → esm2015/lib/models/feature-user.js} +0 -0
- /package/{esm2020/lib/models/filter.model.mjs → esm2015/lib/models/filter.model.js} +0 -0
- /package/{esm2020/lib/models/idle-config.model.mjs → esm2015/lib/models/idle-config.model.js} +0 -0
- /package/{esm2020/lib/models/index.mjs → esm2015/lib/models/index.js} +0 -0
- /package/{esm2020/lib/models/location.model.mjs → esm2015/lib/models/location.model.js} +0 -0
- /package/{esm2020/lib/models/pagination.model.mjs → esm2015/lib/models/pagination.model.js} +0 -0
- /package/{esm2020/lib/models/person.model.mjs → esm2015/lib/models/person.model.js} +0 -0
- /package/{esm2020/lib/models/search-options.model.mjs → esm2015/lib/models/search-options.model.js} +0 -0
- /package/{esm2020/lib/models/task-name.model.mjs → esm2015/lib/models/task-name.model.js} +0 -0
- /package/{esm2020/lib/models/tcDocument.model.mjs → esm2015/lib/models/tcDocument.model.js} +0 -0
- /package/{esm2020/lib/models/timeout-notification.model.mjs → esm2015/lib/models/timeout-notification.model.js} +0 -0
- /package/{esm2020/lib/models/user.model.mjs → esm2015/lib/models/user.model.js} +0 -0
- /package/{esm2020/lib/pipes/index.mjs → esm2015/lib/pipes/index.js} +0 -0
- /package/{esm2020/lib/services/address/address-parser.mjs → esm2015/lib/services/address/address-parser.js} +0 -0
- /package/{esm2020/lib/services/address/address-type.enum.mjs → esm2015/lib/services/address/address-type.enum.js} +0 -0
- /package/{esm2020/lib/services/index.mjs → esm2015/lib/services/index.js} +0 -0
- /package/{esm2020/lib/services/public-api.mjs → esm2015/lib/services/public-api.js} +0 -0
- /package/{esm2020/lib/services/ref-data/index.mjs → esm2015/lib/services/ref-data/index.js} +0 -0
- /package/{esm2020/lib/services/ref-data/models/ref-data-htmcs-service.model.mjs → esm2015/lib/services/ref-data/models/ref-data-htmcs-service.model.js} +0 -0
- /package/{esm2020/lib/services/ref-data/models/ref-data-region.model.mjs → esm2015/lib/services/ref-data/models/ref-data-region.model.js} +0 -0
- /package/{esm2020/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.mjs → esm2015/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.js} +0 -0
- /package/{esm2020/lib/window.mjs → esm2015/lib/window.js} +0 -0
- /package/{esm2020/public-api.mjs → esm2015/public-api.js} +0 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
/*
|
|
3
|
+
* Gov UK Dialog Component
|
|
4
|
+
* Responsible for displaying dialog layout
|
|
5
|
+
* using ng-content to display content from parent
|
|
6
|
+
* */
|
|
7
|
+
export class HmctsSessionDialogComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.close = new EventEmitter();
|
|
10
|
+
}
|
|
11
|
+
onClose() {
|
|
12
|
+
this.close.emit();
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
HmctsSessionDialogComponent.decorators = [
|
|
16
|
+
{ type: Component, args: [{
|
|
17
|
+
selector: 'xuilib-session-dialog',
|
|
18
|
+
template: "<div class=\"gem-c-modal-dialogue\" data-module=\"modal-dialogue\" id=\"modal-default\" style=\"display: block;\">\n <div class=\"gem-c-modal-dialogue__overlay\"></div>\n <dialog class=\"gem-c-modal-dialogue__box\" aria-modal=\"true\" role=\"dialog\" tabindex=\"0\" [ngStyle]=\"{'margin-top': positionTop}\">\n <div class=\"gem-c-modal-dialogue__header\">\n <svg role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 38 38\" height=\"33\" width=\"33\">\n <style type=\"text/css\">\n .st0{fill:#FFFFFF;}\n </style>\n <g id=\"_4_-_granular_components_warning_icon\" transform=\"translate(0.5 0.5)\">\n <g id=\"Warning_icon\" transform=\"translate(0)\">\n <path id=\"Exclusion_1\" class=\"st0\" d=\"M18.5,37.5c-5.04,0.01-9.88-1.99-13.44-5.57C1.49,28.38-0.51,23.54-0.5,18.5\n c-0.01-5.04,1.99-9.88,5.56-13.43C8.62,1.49,13.46-0.51,18.5-0.5c5.04-0.01,9.88,1.99,13.44,5.56c3.57,3.56,5.58,8.39,5.56,13.44\n c0.01,5.04-1.99,9.88-5.56,13.44C28.38,35.51,23.54,37.51,18.5,37.5z M18.52,24.29c-0.4,0-0.8,0.08-1.17,0.23\n c-0.36,0.15-0.69,0.37-0.97,0.64c-0.28,0.27-0.5,0.59-0.65,0.95c-0.16,0.36-0.24,0.76-0.23,1.15c0,0.4,0.08,0.8,0.23,1.17\n c0.15,0.36,0.37,0.68,0.65,0.96c0.28,0.27,0.61,0.49,0.97,0.64c0.37,0.16,0.77,0.24,1.17,0.24c0.4,0,0.79-0.08,1.15-0.24\n c0.35-0.15,0.67-0.37,0.95-0.64c0.27-0.27,0.49-0.6,0.64-0.96c0.16-0.37,0.24-0.77,0.23-1.17c0-0.4-0.08-0.79-0.23-1.15\n c-0.15-0.35-0.37-0.67-0.64-0.95c-0.27-0.27-0.6-0.49-0.95-0.64C19.31,24.37,18.92,24.29,18.52,24.29L18.52,24.29z M16.11,7.5\n l0.42,14.87h3.91L20.86,7.5H16.11z\"/>\n </g>\n </g>\n </svg>\n <div class=\"gem-c-modal-dialogue__title\">{{'We are about to sign you out' | rpxTranslate}}</div>\n </div>\n <div class=\"gem-c-modal-dialogue__content\">\n <ng-content></ng-content>\n </div>\n </dialog>\n</div>\n",
|
|
19
|
+
styles: [".gem-c-modal-dialogue{display:none;z-index:1000;overflow-x:hidden;overflow-y:scroll;outline:0}.gem-c-modal-dialogue,.gem-c-modal-dialogue__box{position:fixed;top:0;left:0;width:100%;height:100%}.gem-c-modal-dialogue__box{display:block;background:#fff;right:0;bottom:0;margin:0;padding:0;overflow-y:auto;border:0;font-family:GDS Transport,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:16px;font-size:1rem;line-height:1.25;color:#0b0c0c}.gem-c-modal-dialogue__box:focus{outline:3px solid #fd0}@media print{.gem-c-modal-dialogue__box{font-family:sans-serif}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box{font-size:1.1875rem;line-height:1.3157894737}}@media print{.gem-c-modal-dialogue__box{font-size:14pt;line-height:1.15;color:#000}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box{position:relative;top:inherit;right:inherit;bottom:inherit;left:inherit;width:auto;max-width:640px;height:auto;margin:30px auto;border:2px solid #0b0c0c}}@media (min-width:40.0625em){.gem-c-modal-dialogue__box--wide{max-width:960px}}@media (min-width:40.0625em) and (max-width:64em){.gem-c-modal-dialogue__box--wide{margin:30px}}.gem-c-modal-dialogue__overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.8;background:#0b0c0c;pointer-events:none;touch-action:none}@media screen{.gem-o-template--modal{overflow-y:inherit}}.gem-o-template__body--modal{overflow:hidden}.gem-o-template__body--blur .govuk-footer,.gem-o-template__body--blur .govuk-header,.gem-o-template__body--blur .govuk-main-wrapper,.gem-o-template__body--blur .govuk-phase-banner,.gem-o-template__body--blur .govuk-skip-link,.gem-o-template__body--blur .govuk-width-container .govuk-back-link{filter:blur(2px)}.govuk-warning-text__icon{margin:0 0 0 12px}.gem-c-modal-dialogue__header{padding:9px 15px 10px;color:#fff;background:#d4351d;display:flex}.gem-c-modal-dialogue__title{margin:5px 0 4px 12px}.gem-c-modal-dialogue__logotype-crown{fill:currentColor;vertical-align:middle}.gem-c-modal-dialogue__logotype-crown-fallback-image{width:30px;height:26px;border:0;vertical-align:middle}.gem-c-modal-dialogue__content{padding:15px;background:#fff}.gem-c-modal-dialogue__close-button{position:absolute;top:0;right:0;width:44px;height:44px;border:0;color:#fff;background:none;cursor:pointer;font-family:GDS Transport,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:700;font-size:1.5rem;line-height:1.3}@media print{.gem-c-modal-dialogue__close-button{font-family:sans-serif}}@media (min-width:40.0625em){.gem-c-modal-dialogue__close-button{font-size:2.25rem;line-height:1.3}}@media print{.gem-c-modal-dialogue__close-button{font-size:24pt;line-height:1.3}}@media (max-width:40.0525em){.gem-c-modal-dialogue__close-button{font-size:36px;line-height:1.3}}.gem-c-modal-dialogue__close-button:focus,.gem-c-modal-dialogue__close-button:hover{color:#0b0c0c;box-shadow:0 -2px #fd0,0 4px #0b0c0c;text-decoration:none;outline:none;background:#fd0}"]
|
|
20
|
+
},] }
|
|
21
|
+
];
|
|
22
|
+
HmctsSessionDialogComponent.ctorParameters = () => [];
|
|
23
|
+
HmctsSessionDialogComponent.propDecorators = {
|
|
24
|
+
positionTop: [{ type: Input }],
|
|
25
|
+
close: [{ type: Output }]
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtc2Vzc2lvbi1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9obWN0cy1zZXNzaW9uLWRpYWxvZy9obWN0cy1zZXNzaW9uLWRpYWxvZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRTs7OztJQUlJO0FBTUosTUFBTSxPQUFPLDJCQUEyQjtJQUl0QztRQURpQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRVQsT0FBTztRQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7O1lBYkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLHc5REFBb0Q7O2FBRXJEOzs7OzBCQUdFLEtBQUs7b0JBQ0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLypcbiogR292IFVLIERpYWxvZyBDb21wb25lbnRcbiogUmVzcG9uc2libGUgZm9yIGRpc3BsYXlpbmcgZGlhbG9nIGxheW91dFxuKiB1c2luZyBuZy1jb250ZW50IHRvIGRpc3BsYXkgY29udGVudCBmcm9tIHBhcmVudFxuKiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLXNlc3Npb24tZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2htY3RzLXNlc3Npb24tZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaG1jdHMtc2Vzc2lvbi1kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBIbWN0c1Nlc3Npb25EaWFsb2dDb21wb25lbnQgIHtcblxuICBASW5wdXQoKSBwdWJsaWMgcG9zaXRpb25Ub3A6IHN0cmluZztcbiAgQE91dHB1dCgpIHB1YmxpYyBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2UuZW1pdCgpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
export class InviteUserFormComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.submitForm = new EventEmitter();
|
|
6
|
+
}
|
|
7
|
+
set errorMessages(value) {
|
|
8
|
+
this.isInvalid = value || {};
|
|
9
|
+
}
|
|
10
|
+
onSubmit() {
|
|
11
|
+
this.submitForm.emit();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
InviteUserFormComponent.decorators = [
|
|
15
|
+
{ type: Component, args: [{
|
|
16
|
+
selector: 'xuilib-invite-user-form',
|
|
17
|
+
template: "\n<form [formGroup]=\"inviteUserForm\" (ngSubmit)=\"onSubmit()\" >\n\n <xuilib-gov-uk-input\n [config]=\"{label: 'First name', hint: 'Include all middle names.', name: 'firstName', id: 'firstName', type: 'text', classes: 'testClass'}\"\n [errorMessage]=\"isInvalid.firstName\"\n [group]=\"inviteUserForm\">\n </xuilib-gov-uk-input>\n\n <xuilib-gov-uk-input\n [config]=\"{label: 'Last name', name: 'lastName', id: 'lastName', type: 'text'}\"\n [errorMessage]=\"isInvalid.lastName\"\n [group]=\"inviteUserForm\">\n </xuilib-gov-uk-input>\n\n <xuilib-gov-uk-input\n [config]=\"{label: 'Email address', name: 'email', id: 'email', type: 'email'}\"\n [errorMessage]=\"isInvalid.email\"\n [group]=\"inviteUserForm\">\n </xuilib-gov-uk-input>\n\n <xuilib-invite-permission-form [inviteUserForm]=\"inviteUserForm\" [errorMessages]=\"isInvalid.roles\">\n </xuilib-invite-permission-form>\n\n <button type=\"submit\" class=\"govuk-button\">\n Send invitation\n </button>\n</form>\n"
|
|
18
|
+
},] }
|
|
19
|
+
];
|
|
20
|
+
InviteUserFormComponent.propDecorators = {
|
|
21
|
+
submitForm: [{ type: Output }],
|
|
22
|
+
inviteUserForm: [{ type: Input }],
|
|
23
|
+
errorMessages: [{ type: Input }]
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52aXRlLXVzZXItZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ludml0ZS11c2VyLWZvcm0vaW52aXRlLXVzZXItZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFPekMsTUFBTSxPQUFPLHVCQUF1QjtJQUxwQztRQVNtQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQVNuRCxDQUFDO0lBUEMsSUFBb0IsYUFBYSxDQUFDLEtBQVU7UUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFFO0lBQ2hDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDOzs7WUFqQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx5QkFBeUI7Z0JBQ25DLCsvQkFBZ0Q7YUFDakQ7Ozt5QkFNRSxNQUFNOzZCQUNOLEtBQUs7NEJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLWludml0ZS11c2VyLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vaW52aXRlLXVzZXItZm9ybS5jb21wb25lbnQuaHRtbCcsXG59KVxuXG5leHBvcnQgY2xhc3MgSW52aXRlVXNlckZvcm1Db21wb25lbnQge1xuXG4gIHB1YmxpYyBpc0ludmFsaWQ6IGFueTtcblxuICBAT3V0cHV0KCkgcHVibGljIHN1Ym1pdEZvcm0gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIHB1YmxpYyBpbnZpdGVVc2VyRm9ybTogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgc2V0IGVycm9yTWVzc2FnZXModmFsdWU6IGFueSkge1xuICAgIHRoaXMuaXNJbnZhbGlkID0gdmFsdWUgfHwge30gO1xuICB9XG5cbiAgcHVibGljIG9uU3VibWl0KCkge1xuICAgIHRoaXMuc3VibWl0Rm9ybS5lbWl0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { FormGroup } from '@angular/forms';
|
|
3
|
+
export class InviteUserPermissionComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.isPuiCaseManager = false;
|
|
6
|
+
this.isPuiUserManager = false;
|
|
7
|
+
this.isPuiOrganisationManager = false;
|
|
8
|
+
this.isPuiFinanceManager = false;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
InviteUserPermissionComponent.decorators = [
|
|
12
|
+
{ type: Component, args: [{
|
|
13
|
+
selector: 'xuilib-invite-permission-form',
|
|
14
|
+
template: " <!--permissions -->\n <ng-container [formGroup]=\"inviteUserForm\">\n <xuilib-gov-uk-form-group-wrapper\n [config]=\"{hint: 'Choose what the user will be able to do. You can change this later.', legend: 'Permissions', key: 'roles'}\"\n [formGroupName]=\"'roles'\"\n [error]=\"errorMessages\">\n\n <div class=\"govuk-checkboxes\">\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiCaseManager\"\n [config]=\"{value: 'pui-case-manager', label: 'Manage Cases', name: 'roles', hint: 'View, create and progress cases.', focusOn: 'roles'}\">\n </xuilib-gov-checkbox>\n\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiUserManager\"\n [config]=\"{value: 'pui-user-manager', label: 'Manage Users', name: 'roles',\n hint: 'Invite users.'}\">\n </xuilib-gov-checkbox>\n\n <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiOrganisationManager\"\n [config]=\"{value: 'pui-organisation-manager', label: 'Manage Organisation', name: 'roles',\n hint: 'View organisation name and addresses.'}\">\n </xuilib-gov-checkbox>\n\n <!-- <xuilib-gov-checkbox\n [group]=\"inviteUserForm.controls['roles']\"\n [isChecked]=\"isPuiFinanceManager\"\n [config]=\"{value: 'pui-finance-manager', label: 'Manage Payments', name: 'roles',\n hint: 'View account balances, available credit and transactions.'}\">\n </xuilib-gov-checkbox> -->\n </div>\n\n </xuilib-gov-uk-form-group-wrapper>\n</ng-container>"
|
|
15
|
+
},] }
|
|
16
|
+
];
|
|
17
|
+
InviteUserPermissionComponent.propDecorators = {
|
|
18
|
+
inviteUserForm: [{ type: Input }],
|
|
19
|
+
isPuiCaseManager: [{ type: Input }],
|
|
20
|
+
isPuiUserManager: [{ type: Input }],
|
|
21
|
+
isPuiOrganisationManager: [{ type: Input }],
|
|
22
|
+
isPuiFinanceManager: [{ type: Input }],
|
|
23
|
+
errorMessages: [{ type: Input }]
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52aXRlLXVzZXItcGVybWlzc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL2ludml0ZS11c2VyLXBlcm1pc3Npb25zL2ludml0ZS11c2VyLXBlcm1pc3Npb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVF6QyxNQUFNLE9BQU8sNkJBQTZCO0lBTDVDO1FBT29CLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsNkJBQXdCLEdBQVksS0FBSyxDQUFDO1FBQzFDLHdCQUFtQixHQUFZLEtBQUssQ0FBQztJQUV2RCxDQUFDOzs7WUFaRixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLCtCQUErQjtnQkFDekMsdW9EQUFzRDthQUN2RDs7OzZCQUdFLEtBQUs7K0JBQ0wsS0FBSzsrQkFDTCxLQUFLO3VDQUNMLEtBQUs7a0NBQ0wsS0FBSzs0QkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZXNNb2RlbCB9IGZyb20gJy4uLy4uL2dvdi11aS9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3h1aWxpYi1pbnZpdGUtcGVybWlzc2lvbi1mb3JtJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW52aXRlLXVzZXItcGVybWlzc2lvbi5jb21wb25lbnQuaHRtbCcsXG4gIH0pXG5cbiAgZXhwb3J0IGNsYXNzIEludml0ZVVzZXJQZXJtaXNzaW9uQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBwdWJsaWMgaW52aXRlVXNlckZvcm06IEZvcm1Hcm91cDtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNQdWlDYXNlTWFuYWdlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc1B1aVVzZXJNYW5hZ2VyOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGlzUHVpT3JnYW5pc2F0aW9uTWFuYWdlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc1B1aUZpbmFuY2VNYW5hZ2VyOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIGVycm9yTWVzc2FnZXM6IEVycm9yTWVzc2FnZXNNb2RlbDtcbiAgfVxuIl19
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Component, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
export class LoadingSpinnerComponent {
|
|
3
|
+
constructor(ref) {
|
|
4
|
+
this.ref = ref;
|
|
5
|
+
this.loadingText = 'Loading';
|
|
6
|
+
}
|
|
7
|
+
// checks the data projected into the component
|
|
8
|
+
ngAfterContentChecked() {
|
|
9
|
+
this.ref.detectChanges();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
LoadingSpinnerComponent.decorators = [
|
|
13
|
+
{ type: Component, args: [{
|
|
14
|
+
selector: 'xuilib-loading-spinner',
|
|
15
|
+
template: "<div class=\"spinner-container\">\n <div class=\"spinner-inner-container\">\n <p>{{loadingText | rpxTranslate}}</p>\n <div class=\"spinner\" style=\"margin: auto;\"></div>\n </div>\n</div>\n",
|
|
16
|
+
encapsulation: ViewEncapsulation.None,
|
|
17
|
+
styles: [".spinner-container{position:fixed;top:0;left:0;height:100%;width:100%;display:flex;justify-content:center;align-items:center;background:hsla(0,0%,100%,.5);z-index:99}.spinner-container .spinner-inner-container p{text-align:center}.spinner-container .spinner-inner-container .spinner{border:10px solid #ddd;border-top-color:#000;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}"]
|
|
18
|
+
},] }
|
|
19
|
+
];
|
|
20
|
+
LoadingSpinnerComponent.ctorParameters = () => [
|
|
21
|
+
{ type: ChangeDetectorRef }
|
|
22
|
+
];
|
|
23
|
+
LoadingSpinnerComponent.propDecorators = {
|
|
24
|
+
loadingText: [{ type: Input }]
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zcGlubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVyL2xvYWRpbmctc3Bpbm5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUzVHLE1BQU0sT0FBTyx1QkFBdUI7SUFHbEMsWUFBNkIsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFGbkMsZ0JBQVcsR0FBVyxTQUFTLENBQUM7SUFFTSxDQUFDO0lBRXZELCtDQUErQztJQUN4QyxxQkFBcUI7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7WUFmRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsOE5BQStDO2dCQUUvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7YUFDdEM7OztZQVA2QixpQkFBaUI7OzswQkFVNUMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItbG9hZGluZy1zcGlubmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvYWRpbmctc3Bpbm5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xvYWRpbmctc3Bpbm5lci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuXG5leHBvcnQgY2xhc3MgTG9hZGluZ1NwaW5uZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcbiAgQElucHV0KCkgcHVibGljIGxvYWRpbmdUZXh0OiBzdHJpbmcgPSAnTG9hZGluZyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIC8vIGNoZWNrcyB0aGUgZGF0YSBwcm9qZWN0ZWQgaW50byB0aGUgY29tcG9uZW50XG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XG4gICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
export class PaginationComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.previousPage = new EventEmitter();
|
|
5
|
+
this.nextPage = new EventEmitter();
|
|
6
|
+
}
|
|
7
|
+
onPrevious() {
|
|
8
|
+
this.previousPage.emit(null);
|
|
9
|
+
}
|
|
10
|
+
onNext() {
|
|
11
|
+
this.nextPage.emit(null);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
PaginationComponent.decorators = [
|
|
15
|
+
{ type: Component, args: [{
|
|
16
|
+
selector: 'xuilib-pagination',
|
|
17
|
+
template: "<nav class=\"hmcts-pagination\" id=\"pagination-label\">\n\n <p class=\"govuk-visually-hidden\" aria-labelledby=\"pagination-label\">{{'Pagination navigation' | rpxTranslate}}</p>\n\n <ul class=\"hmcts-pagination__list\">\n <li class=\"hmcts-pagination__item hmcts-pagination__item--prev\">\n <a *ngIf=\"firstRecord > 1; else noPrevious\" class=\"hmcts-pagination__link\" (click)=\"onPrevious()\" href=\"javascript:void(0)\">\n {{'Previous page' | rpxTranslate}}\n </a>\n <ng-template #noPrevious>\n <span class=\"hmcts-pagination__link\">{{'Previous page' | rpxTranslate}}</span>\n </ng-template>\n </li>\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--next\">\n <a *ngIf=\"moreItems; else noNext\" class=\"hmcts-pagination__link\" (click)=\"onNext()\" href=\"javascript:void(0)\">{{'Next page' | rpxTranslate}}</a>\n <ng-template #noNext>\n <span class=\"hmcts-pagination__link\">{{'Next page' | rpxTranslate}}</span>\n </ng-template>\n </li>\n </ul>\n</nav>\n",
|
|
18
|
+
styles: ["span.hmcts-pagination__link:hover{color:revert}"]
|
|
19
|
+
},] }
|
|
20
|
+
];
|
|
21
|
+
PaginationComponent.ctorParameters = () => [];
|
|
22
|
+
PaginationComponent.propDecorators = {
|
|
23
|
+
moreItems: [{ type: Input }],
|
|
24
|
+
firstRecord: [{ type: Input }],
|
|
25
|
+
previousPage: [{ type: Output }],
|
|
26
|
+
nextPage: [{ type: Output }]
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU92RSxNQUFNLE9BQU8sbUJBQW1CO0lBTzlCO1FBSGlCLGlCQUFZLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDckQsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRWxELENBQUM7SUFFVixVQUFVO1FBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLE1BQU07UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDOzs7WUFwQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLHNpQ0FBMEM7O2FBRTNDOzs7O3dCQUdFLEtBQUs7MEJBQ0wsS0FBSzsyQkFDTCxNQUFNO3VCQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBtb3JlSXRlbXM6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHB1YmxpYyBmaXJzdFJlY29yZDogbnVtYmVyO1xuICBAT3V0cHV0KCkgcHVibGljIHByZXZpb3VzUGFnZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgbmV4dFBhZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIG9uUHJldmlvdXMoKTogdm9pZCB7XG4gICAgdGhpcy5wcmV2aW91c1BhZ2UuZW1pdChudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBvbk5leHQoKTogdm9pZCB7XG4gICAgdGhpcy5uZXh0UGFnZS5lbWl0KG51bGwpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { AbstractControl, FormArray, FormBuilder, FormControl } from '@angular/forms';
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
|
+
import { debounceTime, mergeMap } from 'rxjs/operators';
|
|
5
|
+
import { FindAPersonService } from '../../services/find-person/find-person.service';
|
|
6
|
+
export class SearchJudicialsComponent {
|
|
7
|
+
constructor(judicialService, fb) {
|
|
8
|
+
this.judicialService = judicialService;
|
|
9
|
+
this.disabled = null;
|
|
10
|
+
this.selectedJudicials = [];
|
|
11
|
+
this.submitted = true;
|
|
12
|
+
this.placeholderContent = '';
|
|
13
|
+
this.showAutocomplete = false;
|
|
14
|
+
this.judicialChanged = new EventEmitter();
|
|
15
|
+
this.idValue = '';
|
|
16
|
+
this.errorMessage = 'You must select a name';
|
|
17
|
+
this.serviceId = '';
|
|
18
|
+
this.minSearchCharacters = 3;
|
|
19
|
+
this.keyUpSubject$ = new Subject();
|
|
20
|
+
this.searchInProgress = false;
|
|
21
|
+
this.formGroup = fb.group({
|
|
22
|
+
formControl: [null],
|
|
23
|
+
selectedFormControl: [null]
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
ngOnInit() {
|
|
27
|
+
this.displayedJudicials = [];
|
|
28
|
+
if (this.control) {
|
|
29
|
+
if (this.formGroup && this.formGroup.controls) {
|
|
30
|
+
this.formGroup.controls.selectedFormControl = this.control;
|
|
31
|
+
this.formGroup.controls.formControl.setValue(this.getControlValueDisplayText());
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
this.keyUpSubject$.pipe(debounceTime(500)).subscribe(searchValue => this.search(searchValue));
|
|
35
|
+
}
|
|
36
|
+
onKeyDown() {
|
|
37
|
+
this.judicialChanged.emit();
|
|
38
|
+
}
|
|
39
|
+
onKeyUp(event) {
|
|
40
|
+
this.showAutocomplete = false;
|
|
41
|
+
this.keyUpSubject$.next(event.target.value);
|
|
42
|
+
}
|
|
43
|
+
onFocus() {
|
|
44
|
+
this.showAutocomplete = false;
|
|
45
|
+
}
|
|
46
|
+
get displayedJudicialsDuplicationFiltered() {
|
|
47
|
+
return this.displayedJudicials.filter(judicial => !this.selectedJudicials.map(selectedJudicial => selectedJudicial.idamId).includes(judicial.idamId));
|
|
48
|
+
}
|
|
49
|
+
filter(term) {
|
|
50
|
+
this.searchJudicials(term, this.serviceId).pipe(mergeMap((apiData) => {
|
|
51
|
+
const apiFilter = apiData.filter(apiJudicial => !this.selectedJudicials.map(selectedJudicial => selectedJudicial.idamId).includes(apiJudicial.idamId));
|
|
52
|
+
this.displayedJudicials = apiFilter;
|
|
53
|
+
this.searchInProgress = false;
|
|
54
|
+
return apiFilter;
|
|
55
|
+
})).subscribe(judicial => {
|
|
56
|
+
if (term === judicial.fullName) {
|
|
57
|
+
this.formGroup.controls.selectedFormControl.setValue(judicial);
|
|
58
|
+
this.displayedJudicials = [];
|
|
59
|
+
this.judicialChanged.emit(judicial);
|
|
60
|
+
this.showAutocomplete = false;
|
|
61
|
+
}
|
|
62
|
+
this.searchInProgress = false;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
onSelectionChange(selection) {
|
|
66
|
+
if (this.formGroup.controls.formControl instanceof FormArray) {
|
|
67
|
+
this.formGroup.controls.selectedFormControl.push(new FormControl(selection.idamId));
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
this.formGroup.controls.selectedFormControl.setValue(selection);
|
|
71
|
+
}
|
|
72
|
+
this.judicialChanged.emit(selection);
|
|
73
|
+
}
|
|
74
|
+
search(currentValue) {
|
|
75
|
+
this.searchInProgress = true;
|
|
76
|
+
this.showAutocomplete = !!currentValue && (currentValue.length >= this.minSearchCharacters);
|
|
77
|
+
if (!!currentValue) {
|
|
78
|
+
this.formGroup.controls.selectedFormControl.markAsDirty();
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
this.formGroup.controls.selectedFormControl.reset();
|
|
82
|
+
}
|
|
83
|
+
if (this.showAutocomplete) {
|
|
84
|
+
this.filter(currentValue);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this.searchInProgress = false;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
getDisplayName(selectedJudicial) {
|
|
91
|
+
return `${selectedJudicial.fullName} (${selectedJudicial.emailId})`;
|
|
92
|
+
}
|
|
93
|
+
searchJudicials(term, serviceId) {
|
|
94
|
+
return this.judicialService.searchJudicial(term, serviceId);
|
|
95
|
+
}
|
|
96
|
+
getControlValueDisplayText() {
|
|
97
|
+
return this.formGroup && this.formGroup.controls && this.formGroup.controls.selectedFormControl.value ?
|
|
98
|
+
this.getDisplayName(this.formGroup.controls.selectedFormControl.value) : '';
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
SearchJudicialsComponent.decorators = [
|
|
102
|
+
{ type: Component, args: [{
|
|
103
|
+
selector: 'xuilib-search-judicials',
|
|
104
|
+
template: "<div class=\"govuk-form-group\">\n <input id=\"inputSelectPerson{{idValue}}\" [placeholder]=\"placeholderContent\" [formControl]=\"formGroup.controls.formControl\"\n [matAutocomplete]=\"autoComplete\" (keydown)=\"onKeyDown()\" (keyup)=\"onKeyUp($event)\" (focus)=\"onFocus()\"\n class=\"govuk-input\" [attr.disabled]=\"!disabled ? null: disabled\" [value]=\"getControlValueDisplayText()\"\n #inputSelection>\n <mat-autocomplete autoActiveFirstOption #autoComplete=\"matAutocomplete\">\n <mat-option *ngFor=\"let judicial of displayedJudicialsDuplicationFiltered\" class=\"select-option\"\n [value]=\"getDisplayName(judicial)\" (onSelectionChange)=\"onSelectionChange(judicial)\"\n [ngClass]=\"{'hide-autocomplete': !showAutocomplete}\">\n {{ getDisplayName(judicial) }}\n </mat-option>\n <mat-option class=\"select-option\"\n *ngIf=\"!displayedJudicialsDuplicationFiltered?.length && showAutocomplete && !searchInProgress\">\n {{ 'No results found' }}</mat-option>\n </mat-autocomplete>\n</div>\n",
|
|
105
|
+
styles: [".hide-autocomplete{display:none}.mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}"]
|
|
106
|
+
},] }
|
|
107
|
+
];
|
|
108
|
+
SearchJudicialsComponent.ctorParameters = () => [
|
|
109
|
+
{ type: FindAPersonService },
|
|
110
|
+
{ type: FormBuilder }
|
|
111
|
+
];
|
|
112
|
+
SearchJudicialsComponent.propDecorators = {
|
|
113
|
+
control: [{ type: Input }],
|
|
114
|
+
disabled: [{ type: Input }],
|
|
115
|
+
selectedJudicials: [{ type: Input }],
|
|
116
|
+
submitted: [{ type: Input }],
|
|
117
|
+
placeholderContent: [{ type: Input }],
|
|
118
|
+
showAutocomplete: [{ type: Input }],
|
|
119
|
+
displayedJudicials: [{ type: Input }],
|
|
120
|
+
judicialChanged: [{ type: Output }],
|
|
121
|
+
idValue: [{ type: Input }],
|
|
122
|
+
errorMessage: [{ type: Input }],
|
|
123
|
+
serviceId: [{ type: Input }],
|
|
124
|
+
autoCompleteInputBox: [{ type: ViewChild, args: ['inputSelection', { read: ElementRef, static: true },] }]
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWp1ZGljaWFscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1qdWRpY2lhbHMvc2VhcmNoLWp1ZGljaWFscy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFPcEYsTUFBTSxPQUFPLHdCQUF3QjtJQW1CbkMsWUFBNkIsZUFBbUMsRUFBRSxFQUFlO1FBQXBELG9CQUFlLEdBQWYsZUFBZSxDQUFvQjtRQWhCaEQsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixzQkFBaUIsR0FBd0IsRUFBRSxDQUFDO1FBQzVDLGNBQVMsR0FBYSxJQUFJLENBQUM7UUFDM0IsdUJBQWtCLEdBQVcsRUFBRSxDQUFDO1FBQ2hDLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUVqQyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ3pELFlBQU8sR0FBVyxFQUFFLENBQUM7UUFDckIsaUJBQVksR0FBVyx3QkFBd0IsQ0FBQztRQUNoRCxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBR3RCLHdCQUFtQixHQUFHLENBQUMsQ0FBQztRQUNsQyxrQkFBYSxHQUFvQixJ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QUVNLGNBQWMsQ0FBQyxnQkFBbUM7UUFDdkQsT0FBTyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLEdBQUcsQ0FBQztJQUN0RSxDQUFDO0lBRU0sZUFBZSxDQUFDLElBQVksRUFBRSxTQUFpQjtRQUNwRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sMEJBQTBCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEtBQTBCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3JHLENBQUM7OztZQXJIRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtnQkFDbkMsOGhDQUFnRDs7YUFFakQ7OztZQU5RLGtCQUFrQjtZQUpVLFdBQVc7OztzQkFhN0MsS0FBSzt1QkFDTCxLQUFLO2dDQUNMLEtBQUs7d0JBQ0wsS0FBSztpQ0FDTCxLQUFLOytCQUNMLEtBQUs7aUNBQ0wsS0FBSzs4QkFDTCxNQUFNO3NCQUNOLEtBQUs7MkJBQ0wsS0FBSzt3QkFDTCxLQUFLO21DQUNMLFNBQVMsU0FBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEp1ZGljaWFsVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEZpbmRBUGVyc29uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpbmQtcGVyc29uL2ZpbmQtcGVyc29uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItc2VhcmNoLWp1ZGljaWFscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtanVkaWNpYWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWp1ZGljaWFscy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaEp1ZGljaWFsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkSnVkaWNpYWxzOiBKdWRpY2lhbFVzZXJNb2RlbFtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyQ29udGVudDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93QXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNwbGF5ZWRKdWRpY2lhbHM6IEp1ZGljaWFsVXNlck1vZGVsW107XG4gIEBPdXRwdXQoKSBwdWJsaWMganVkaWNpYWxDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxKdWRpY2lhbFVzZXJNb2RlbD4oKTtcbiAgQElucHV0KCkgcHVibGljIGlkVmFsdWU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnWW91IG11c3Qgc2VsZWN0IGEgbmFtZSc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlSWQ6IHN0cmluZyA9ICcnO1xuICBAVmlld0NoaWxkKCdpbnB1dFNlbGVjdGlvbicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIHB1YmxpYyBhdXRvQ29tcGxldGVJbnB1dEJveDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgcHVibGljIHNlbGVjdGVkSnVkaWNpYWw6IEp1ZGljaWFsVXNlck1vZGVsO1xuICBwcml2YXRlIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAzO1xuICBwdWJsaWMga2V5VXBTdWJqZWN0JDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHVibGljIHNlYXJjaEluUHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGp1ZGljaWFsU2VydmljZTogRmluZEFQZXJzb25TZXJ2aWNlLCBmYjogRm9ybUJ1aWxkZXIpIHtcbiAgICB0aGlzLmZvcm1Hcm91cCA9IGZiLmdyb3VwKHtcbiAgICAgIGZvcm1Db250cm9sOiBbbnVsbF0sXG4gICAgICBzZWxlY3RlZEZvcm1Db250cm9sOiBbbnVsbF1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXllZEp1ZGljaWFscyA9IFtdO1xuICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcbiAgICAgIGlmICh0aGlzLmZvcm1Hcm91cCAmJiB0aGlzLmZvcm1Hcm91cC5jb250cm9scykge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sID0gdGhpcy5jb250cm9sO1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh0aGlzLmdldENvbnRyb2xWYWx1ZURpc3BsYXlUZXh0KCkpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmtleVVwU3ViamVjdCQucGlwZShkZWJvdW5jZVRpbWUoNTAwKSkuc3Vic2NyaWJlKHNlYXJjaFZhbHVlID0+IHRoaXMuc2VhcmNoKHNlYXJjaFZhbHVlIGFzIHN0cmluZykpO1xuICB9XG5cbiAgcHVibGljIG9uS2V5RG93bigpOiB2b2lkIHtcbiAgICB0aGlzLmp1ZGljaWFsQ2hhbmdlZC5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25LZXlVcChldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2U7XG4gICAgdGhpcy5rZXlVcFN1YmplY3QkLm5leHQoZXZlbnQudGFyZ2V0LnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZvY3VzKCkge1xuICAgIHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5ZWRKdWRpY2lhbHNEdXBsaWNhdGlvbkZpbHRlcmVkKCk6IEp1ZGljaWFsVXNlck1vZGVsW10ge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXllZEp1ZGljaWFscy5maWx0ZXIoXG4gICAgICBqdWRpY2lhbCA9PiAhdGhpcy5zZWxlY3RlZEp1ZGljaWFscy5tYXAoc2VsZWN0ZWRKdWRpY2lhbCA9PiBzZWxlY3RlZEp1ZGljaWFsLmlkYW1JZCkuaW5jbHVkZXMoanVkaWNpYWwuaWRhbUlkKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKHRlcm06IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoSnVkaWNpYWxzKHRlcm0sIHRoaXMuc2VydmljZUlkKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKGFwaURhdGE6IEp1ZGljaWFsVXNlck1vZGVsW10pID0+IHtcbiAgICAgICAgY29uc3QgYXBpRmlsdGVyID0gYXBpRGF0YS5maWx0ZXIoXG4gICAgICAgICAgYXBpSnVkaWNpYWwgPT4gIXRoaXMuc2VsZWN0ZWRKdWRpY2lhbHMubWFwKHNlbGVjdGVkSnVkaWNpYWwgPT4gc2VsZWN0ZWRKdWRpY2lhbC5pZGFtSWQpLmluY2x1ZGVzKGFwaUp1ZGljaWFsLmlkYW1JZClcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWRKdWRpY2lhbHMgPSBhcGlGaWx0ZXI7XG4gICAgICAgIHRoaXMuc2VhcmNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gYXBpRmlsdGVyO1xuICAgICAgfSlcbiAgICApLnN1YnNjcmliZShqdWRpY2lhbCA9PiB7XG4gICAgICBpZiAodGVybSA9PT0ganVkaWNpYWwuZnVsbE5hbWUpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHMuc2VsZWN0ZWRGb3JtQ29udHJvbC5zZXRWYWx1ZShqdWRpY2lhbCk7XG4gICAgICAgIHRoaXMuZGlzcGxheWVkSnVkaWNpYWxzID0gW107XG4gICAgICAgIHRoaXMuanVkaWNpYWxDaGFuZ2VkLmVtaXQoanVkaWNpYWwpO1xuICAgICAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2VhcmNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKHNlbGVjdGlvbj86IEp1ZGljaWFsVXNlck1vZGVsKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLmZvcm1Db250cm9sIGluc3RhbmNlb2YgRm9ybUFycmF5KSB7XG4gICAgICAodGhpcy5mb3JtR3JvdXAuY29udHJvbHMuc2VsZWN0ZWRGb3JtQ29udHJvbCBhcyBGb3JtQXJyYXkpLnB1c2gobmV3IEZvcm1Db250cm9sKHNlbGVjdGlvbi5pZGFtSWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHMuc2VsZWN0ZWRGb3JtQ29udHJvbC5zZXRWYWx1ZShzZWxlY3Rpb24pO1xuICAgIH1cbiAgICB0aGlzLmp1ZGljaWFsQ2hhbmdlZC5lbWl0KHNlbGVjdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoKGN1cnJlbnRWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hJblByb2dyZXNzID0gdHJ1ZTtcbiAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSAhIWN1cnJlbnRWYWx1ZSAmJiAoY3VycmVudFZhbHVlLmxlbmd0aCA+PSB0aGlzLm1pblNlYXJjaENoYXJhY3RlcnMpO1xuICAgIGlmICghIWN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAuY29udHJvbHMuc2VsZWN0ZWRGb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sLnJlc2V0KCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNob3dBdXRvY29tcGxldGUpIHtcbiAgICAgIHRoaXMuZmlsdGVyKGN1cnJlbnRWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VhcmNoSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXREaXNwbGF5TmFtZShzZWxlY3RlZEp1ZGljaWFsOiBKdWRpY2lhbFVzZXJNb2RlbCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3NlbGVjdGVkSnVkaWNpYWwuZnVsbE5hbWV9ICgke3NlbGVjdGVkSnVkaWNpYWwuZW1haWxJZH0pYDtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hKdWRpY2lhbHModGVybTogc3RyaW5nLCBzZXJ2aWNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SnVkaWNpYWxVc2VyTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmp1ZGljaWFsU2VydmljZS5zZWFyY2hKdWRpY2lhbCh0ZXJtLCBzZXJ2aWNlSWQpO1xuICB9XG5cbiAgcHVibGljIGdldENvbnRyb2xWYWx1ZURpc3BsYXlUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybUdyb3VwICYmIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzICYmIHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzLnNlbGVjdGVkRm9ybUNvbnRyb2wudmFsdWUgP1xuICAgICAgdGhpcy5nZXREaXNwbGF5TmFtZSh0aGlzLmZvcm1Hcm91cC5jb250cm9scy5zZWxlY3RlZEZvcm1Db250cm9sLnZhbHVlIGFzIEp1ZGljaWFsVXNlck1vZGVsKSA6ICcnO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { FormControl, FormGroup } from '@angular/forms';
|
|
3
|
+
import { iif, of } from 'rxjs';
|
|
4
|
+
import { debounceTime, map, switchMap, tap } from 'rxjs/operators';
|
|
5
|
+
import { BookingCheckType } from '../../models';
|
|
6
|
+
import { LocationService } from '../../services/locations/location.service';
|
|
7
|
+
import { RefDataService } from '../../services/ref-data';
|
|
8
|
+
import { SessionStorageService } from '../../services/storage/session-storage/session-storage.service';
|
|
9
|
+
export class SearchLocationComponent {
|
|
10
|
+
constructor(locationService, sessionStorageService, refDataService) {
|
|
11
|
+
this.locationService = locationService;
|
|
12
|
+
this.sessionStorageService = sessionStorageService;
|
|
13
|
+
this.refDataService = refDataService;
|
|
14
|
+
this.disabled = null;
|
|
15
|
+
this.singleMode = false;
|
|
16
|
+
this.locationType = '';
|
|
17
|
+
this.serviceIds = '';
|
|
18
|
+
this.submitted = true;
|
|
19
|
+
this.selectedLocations = [];
|
|
20
|
+
this.propertyNameFilter = 'site_name';
|
|
21
|
+
this.delay = 500;
|
|
22
|
+
this.locationSelected = new EventEmitter();
|
|
23
|
+
this.locationTermSearchInputChanged = new EventEmitter();
|
|
24
|
+
this.searchLocationChanged = new EventEmitter();
|
|
25
|
+
this.searchTermFormControl = new FormControl('');
|
|
26
|
+
this.minSearchCharacters = 3;
|
|
27
|
+
this.term = '';
|
|
28
|
+
this.pReset = true;
|
|
29
|
+
this.debounceTimeInput = 300;
|
|
30
|
+
}
|
|
31
|
+
get reset() {
|
|
32
|
+
return this.pReset;
|
|
33
|
+
}
|
|
34
|
+
set reset(value) {
|
|
35
|
+
this.pReset = value;
|
|
36
|
+
this.resetSearchTerm();
|
|
37
|
+
}
|
|
38
|
+
ngOnInit() {
|
|
39
|
+
const searchInputChanges$ = this.searchTermFormControl.valueChanges
|
|
40
|
+
.pipe(tap((term) => this.locationTermSearchInputChanged.emit(term)));
|
|
41
|
+
// if servicesField exists, then we should filter locations by the service codes
|
|
42
|
+
if (this.field && this.field.servicesField) {
|
|
43
|
+
this.filteredList$ = searchInputChanges$.pipe(switchMap((term) => {
|
|
44
|
+
var _a;
|
|
45
|
+
return iif(
|
|
46
|
+
// Seems more responsive to do length 0 if locationsByServiceCodes are cached
|
|
47
|
+
() => (!!term && term.length >= 0), this.refDataService.getLocationsByServiceCodes(((_a = this.form.get(this.field.servicesField)) === null || _a === void 0 ? void 0 : _a.value).map((service) => service.key)).pipe(
|
|
48
|
+
// Filter locations by the search input term and the chosen property name
|
|
49
|
+
map((locations) => locations
|
|
50
|
+
.filter((location) => location[this.propertyNameFilter].toLowerCase().includes(term.toLowerCase()))),
|
|
51
|
+
// Filter out locations that are already selected
|
|
52
|
+
map((locations) => this.filterUnselectedLocations(locations, this.selectedLocations, this.singleMode)),
|
|
53
|
+
// Filter out duplicate locations (by propertyNameFilter)
|
|
54
|
+
map((locations) => locations.filter((location, index, array) => index === array.findIndex((item) => item[this.propertyNameFilter] === location[this.propertyNameFilter])))),
|
|
55
|
+
// Returns false if the search term is empty to not show the autocomplete field i.e. ngIf should be false
|
|
56
|
+
of(false));
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
this.filteredList$ = searchInputChanges$.pipe(
|
|
61
|
+
// Debounce needed to prevent multiple API calls being made
|
|
62
|
+
debounceTime(this.debounceTimeInput), switchMap((term) => iif(() => (!!term && term.length >= this.minSearchCharacters), this.getLocations(term).pipe(map((locations) => this.filterUnselectedLocations(locations, this.selectedLocations, this.singleMode))), of(false))));
|
|
63
|
+
}
|
|
64
|
+
if (this.singleMode && this.selectedLocations.length > 0) {
|
|
65
|
+
const location = this.selectedLocations[0];
|
|
66
|
+
this.searchTermFormControl.patchValue(location[this.propertyNameFilter], { emitEvent: false, onlySelf: true });
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
onSelectedLocation(location) {
|
|
70
|
+
this.searchTermFormControl.patchValue(location[this.propertyNameFilter], { emitEvent: false, onlySelf: true });
|
|
71
|
+
this.locationSelected.emit(location);
|
|
72
|
+
}
|
|
73
|
+
onInput() {
|
|
74
|
+
this.searchLocationChanged.emit();
|
|
75
|
+
}
|
|
76
|
+
getLocations(term) {
|
|
77
|
+
let userLocations;
|
|
78
|
+
// Booking type info - can create more
|
|
79
|
+
// NO_CHECK - All work - Do not filter out locations - Default assumption
|
|
80
|
+
// BOOKINGS_AND_BASE - My work - Try to only show base locations/regions
|
|
81
|
+
// POSSIBLE_BOOKINGS - Create booking screen - Show only potential bookings
|
|
82
|
+
if (this.bookingCheck === BookingCheckType.BOOKINGS_AND_BASE) {
|
|
83
|
+
userLocations = JSON.parse(this.sessionStorageService.getItem('userLocations'));
|
|
84
|
+
}
|
|
85
|
+
else if (this.bookingCheck === BookingCheckType.POSSIBLE_BOOKINGS) {
|
|
86
|
+
this.serviceIds = this.serviceIds && this.serviceIds.length ? this.serviceIds : JSON.parse(this.sessionStorageService.getItem('bookableServices'));
|
|
87
|
+
userLocations = JSON.parse(this.sessionStorageService.getItem('bookableUserLocations'));
|
|
88
|
+
}
|
|
89
|
+
// get all locations will resolve filter setting using objects above
|
|
90
|
+
// if no userLocations, NO_CHECK
|
|
91
|
+
// if just getting all substantive user locations, BOOKINGS_AND_BASE
|
|
92
|
+
// fee paid user locations are used for POSSIBLE_BOOKINGS
|
|
93
|
+
return this.locationService.getAllLocations(SearchLocationComponent.allLocationAPI, this.serviceIds, this.locationType, term, userLocations);
|
|
94
|
+
}
|
|
95
|
+
resetSearchTerm() {
|
|
96
|
+
this.searchTermFormControl.setValue('');
|
|
97
|
+
}
|
|
98
|
+
filterUnselectedLocations(locations, selectedLocations, singleMode) {
|
|
99
|
+
if (singleMode) {
|
|
100
|
+
return locations;
|
|
101
|
+
}
|
|
102
|
+
return locations.filter(location => !selectedLocations.map(selectedLocation => selectedLocation.epimms_id).includes(location.epimms_id) && location[this.propertyNameFilter]);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
SearchLocationComponent.allLocationAPI = `api/locations/getLocations`;
|
|
106
|
+
SearchLocationComponent.decorators = [
|
|
107
|
+
{ type: Component, args: [{
|
|
108
|
+
selector: 'exui-search-location',
|
|
109
|
+
template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n (input)=\"onInput()\"\n [formControl]=\"searchTermFormControl\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <ng-container *ngIf=\"filteredList$ | async as filteredList\">\n <ng-container *ngIf=\"filteredList && filteredList.length >= 0\">\n <mat-option *ngFor=\"let location of filteredList\" (onSelectionChange)=\"onSelectedLocation(location)\">\n {{ location[propertyNameFilter] }}\n </mat-option>\n <mat-option *ngIf=\"filteredList.length === 0\">{{'No results found' | rpxTranslate}}</mat-option>\n </ng-container>\n </ng-container>\n </mat-autocomplete>\n</div>\n",
|
|
110
|
+
styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{display:inline-block;margin-right:4px;width:calc(100% - 4px)}.autocomplete__input{line-height:24px;font-size:19px}"]
|
|
111
|
+
},] }
|
|
112
|
+
];
|
|
113
|
+
SearchLocationComponent.ctorParameters = () => [
|
|
114
|
+
{ type: LocationService },
|
|
115
|
+
{ type: SessionStorageService },
|
|
116
|
+
{ type: RefDataService }
|
|
117
|
+
];
|
|
118
|
+
SearchLocationComponent.propDecorators = {
|
|
119
|
+
form: [{ type: Input }],
|
|
120
|
+
field: [{ type: Input }],
|
|
121
|
+
disabled: [{ type: Input }],
|
|
122
|
+
singleMode: [{ type: Input }],
|
|
123
|
+
locationType: [{ type: Input }],
|
|
124
|
+
serviceIds: [{ type: Input }],
|
|
125
|
+
submitted: [{ type: Input }],
|
|
126
|
+
bookingCheck: [{ type: Input }],
|
|
127
|
+
selectedLocations: [{ type: Input }],
|
|
128
|
+
propertyNameFilter: [{ type: Input }],
|
|
129
|
+
delay: [{ type: Input }],
|
|
130
|
+
locationSelected: [{ type: Output }],
|
|
131
|
+
locationTermSearchInputChanged: [{ type: Output }],
|
|
132
|
+
searchLocationChanged: [{ type: Output }],
|
|
133
|
+
reset: [{ type: Input }]
|
|
134
|
+
};
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWxvY2F0aW9uL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsZ0JBQWdCLEVBSWpCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFPdkcsTUFBTSxPQUFPLHVCQUF1QjtJQWlDbEMsWUFBNkIsZUFBZ0MsRUFDaEMscUJBQTRDLEVBQzVDLGNBQThCO1FBRjlCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQS9CM0MsYUFBUSxHQUFZLElBQUksQ0FBQztRQUN6QixlQUFVLEdBQVksS0FBSyxDQUFDO1FBQzVCLGlCQUFZLEdBQVcsRUFBRSxDQUFDO1FBQzFCLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDeEIs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SUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQy9JLENBQUM7SUFFTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVPLHlCQUF5QixDQUMvQixTQUFrQyxFQUNsQyxpQkFBMEMsRUFDMUMsVUFBbUI7UUFFbkIsSUFBSSxVQUFVLEVBQUU7WUFDZCxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FDckIsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQ3JKLENBQUM7SUFDSixDQUFDOztBQWhJdUIsc0NBQWMsR0FBRyw0QkFBNEIsQ0FBQzs7WUFOdkUsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLDI0QkFBK0M7O2FBRWhEOzs7WUFSUSxlQUFlO1lBRWYscUJBQXFCO1lBRHJCLGNBQWM7OzttQkFVcEIsS0FBSztvQkFDTCxLQUFLO3VCQUNMLEtBQUs7eUJBQ0wsS0FBSzsyQkFDTCxLQUFLO3lCQUNMLEtBQUs7d0JBQ0wsS0FBSzsyQkFDTCxLQUFLO2dDQUNMLEtBQUs7aUNBQ0wsS0FBSztvQkFDTCxLQUFLOytCQUNMLE1BQU07NkNBQ04sTUFBTTtvQ0FDTixNQUFNO29CQVlOLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgaWlmLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQm9va2luZ0NoZWNrVHlwZSwgRmlsdGVyQ29uZmlnT3B0aW9uLFxuICBGaWx0ZXJGaWVsZENvbmZpZyxcbiAgTG9jYXRpb25CeUVQSU1NU01vZGVsLFxuICBMb2NhdGlvbnNCeVNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IExvY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xvY2F0aW9ucy9sb2NhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFJlZkRhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVmLWRhdGEnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc3RvcmFnZS9zZXNzaW9uLXN0b3JhZ2Uvc2Vzc2lvbi1zdG9yYWdlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdleHVpLXNlYXJjaC1sb2NhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hMb2NhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGFsbExvY2F0aW9uQVBJID0gYGFwaS9sb2NhdGlvbnMvZ2V0TG9jYXRpb25zYDtcbiAgQElucHV0KCkgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIGZpZWxkOiBGaWx0ZXJGaWVsZENvbmZpZztcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHNpbmdsZU1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxvY2F0aW9uVHlwZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlSWRzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHN1Ym1pdHRlZD86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgYm9va2luZ0NoZWNrOiBCb29raW5nQ2hlY2tUeXBlO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRMb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdID0gW107XG4gIEBJbnB1dCgpIHB1YmxpYyBwcm9wZXJ0eU5hbWVGaWx0ZXI6IGtleW9mIExvY2F0aW9uQnlFUElNTVNNb2RlbCA9ICdzaXRlX25hbWUnO1xuICBASW5wdXQoKSBwdWJsaWMgZGVsYXk/OiBudW1iZXIgPSA1MDA7XG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9jYXRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TG9jYXRpb25CeUVQSU1NU01vZGVsPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uVGVybVNlYXJjaElucHV0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWFyY2hMb2NhdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgcHVibGljIHNlYXJjaFRlcm1Gb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gIHB1YmxpYyByZWFkb25seSBtaW5TZWFyY2hDaGFyYWN0ZXJzID0gMztcbiAgcHVibGljIHRlcm06IHN0cmluZyA9ICcnO1xuICBwcml2YXRlIHBSZXNldDogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBmaWx0ZXJlZExpc3QkOiBPYnNlcnZhYmxlPExvY2F0aW9uQnlFUElNTVNNb2RlbFtdIHwgYm9vbGVhbj47XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVib3VuY2VUaW1lSW5wdXQgPSAzMDA7XG5cbiAgcHVibGljIGdldCByZXNldCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wUmVzZXQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlc2V0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5wUmVzZXQgPSB2YWx1ZTtcbiAgICB0aGlzLnJlc2V0U2VhcmNoVGVybSgpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblNlcnZpY2U6IExvY2F0aW9uU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uU3RvcmFnZVNlcnZpY2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZWZEYXRhU2VydmljZTogUmVmRGF0YVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBzZWFyY2hJbnB1dENoYW5nZXMkID0gdGhpcy5zZWFyY2hUZXJtRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh0ZXJtKSA9PiB0aGlzLmxvY2F0aW9uVGVybVNlYXJjaElucHV0Q2hhbmdlZC5lbWl0KHRlcm0pKVxuICAgICAgKTtcblxuICAgIC8vIGlmIHNlcnZpY2VzRmllbGQgZXhpc3RzLCB0aGVuIHdlIHNob3VsZCBmaWx0ZXIgbG9jYXRpb25zIGJ5IHRoZSBzZXJ2aWNlIGNvZGVzXG4gICAgaWYgKHRoaXMuZmllbGQgJiYgdGhpcy5maWVsZC5zZXJ2aWNlc0ZpZWxkKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkTGlzdCQgPSBzZWFyY2hJbnB1dENoYW5nZXMkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgodGVybTogc3RyaW5nKSA9PiBpaWYoXG4gICAgICAgICAgLy8gU2VlbXMgbW9yZSByZXNwb25zaXZlIHRvIGRvIGxlbmd0aCAwIGlmIGxvY2F0aW9uc0J5U2VydmljZUNvZGVzIGFyZSBjYWNoZWRcbiAgICAgICAgICAoKSA9PiAoISF0ZXJtICYmIHRlcm0ubGVuZ3RoID49IDApLFxuICAgICAgICAgICAgdGhpcy5yZWZEYXRhU2VydmljZS5nZXRMb2NhdGlvbnNCeVNlcnZpY2VDb2RlcyhcbiAgICAgICAgICAgICAgKHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5zZXJ2aWNlc0ZpZWxkKT8udmFsdWUgYXMgRmlsdGVyQ29uZmlnT3B0aW9uW10pLm1hcCgoc2VydmljZSkgPT4gc2VydmljZS5rZXkpXG4gICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgIC8vIEZpbHRlciBsb2NhdGlvbnMgYnkgdGhlIHNlYXJjaCBpbnB1dCB0ZXJtIGFuZCB0aGUgY2hvc2VuIHByb3BlcnR5IG5hbWVcbiAgICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IGxvY2F0aW9uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKGxvY2F0aW9uKSA9PiBsb2NhdGlvblt0aGlzLnByb3BlcnR5TmFtZUZpbHRlcl0udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0ZXJtLnRvTG93ZXJDYXNlKCkpKSksXG4gICAgICAgICAgICAgIC8vIEZpbHRlciBvdXQgbG9jYXRpb25zIHRoYXQgYXJlIGFscmVhZHkgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IHRoaXMuZmlsdGVyVW5zZWxlY3RlZExvY2F0aW9ucyhsb2NhdGlvbnMsIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMsIHRoaXMuc2luZ2xlTW9kZSkpLFxuICAgICAgICAgICAgICAvLyBGaWx0ZXIgb3V0IGR1cGxpY2F0ZSBsb2NhdGlvbnMgKGJ5IHByb3BlcnR5TmFtZUZpbHRlcilcbiAgICAgICAgICAgICAgbWFwKChsb2NhdGlvbnMpID0+IGxvY2F0aW9ucy5maWx0ZXIoKGxvY2F0aW9uLCBpbmRleCwgYXJyYXkpID0+XG4gICAgICAgICAgICAgICAgaW5kZXggPT09IGFycmF5LmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbVt0aGlzLnByb3BlcnR5TmFtZUZpbHRlcl0gPT09IGxvY2F0aW9uW3RoaXMucHJvcGVydHlOYW1lRmlsdGVyXSlcbiAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy8gUmV0dXJucyBmYWxzZSBpZiB0aGUgc2VhcmNoIHRlcm0gaXMgZW1wdHkgdG8gbm90IHNob3cgdGhlIGF1dG9jb21wbGV0ZSBmaWVsZCBpLmUuIG5nSWYgc2hvdWxkIGJlIGZhbHNlXG4gICAgICAgICAgICBvZihmYWxzZSlcbiAgICAgICAgKSksXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkTGlzdCQgPSBzZWFyY2hJbnB1dENoYW5nZXMkLnBpcGUoXG4gICAgICAgIC8vIERlYm91bmNlIG5lZWRlZCB0byBwcmV2ZW50IG11bHRpcGxlIEFQSSBjYWxscyBiZWluZyBtYWRlXG4gICAgICAgIGRlYm91bmNlVGltZSh0aGlzLmRlYm91bmNlVGltZUlucHV0KSxcbiAgICAgICAgc3dpdGNoTWFwKCh0ZXJtOiBzdHJpbmcpID0+IGlpZihcbiAgICAgICAgICAoKSA9PiAoISF0ZXJtICYmIHRlcm0ubGVuZ3RoID49IHRoaXMubWluU2VhcmNoQ2hhcmFjdGVycyksXG4gICAgICAgICAgdGhpcy5nZXRMb2NhdGlvbnModGVybSkucGlwZShcbiAgICAgICAgICAgIG1hcCgobG9jYXRpb25zKSA9PiB0aGlzLmZpbHRlclVuc2VsZWN0ZWRMb2NhdGlvbnMobG9jYXRpb25zLCB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLCB0aGlzLnNpbmdsZU1vZGUpKSxcbiAgICAgICAgICApLFxuICAgICAgICAgIG9mKGZhbHNlKVxuICAgICAgICApKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2luZ2xlTW9kZSAmJiB0aGlzLnNlbGVjdGVkTG9jYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGxvY2F0aW9uID0gdGhpcy5zZWxlY3RlZExvY2F0aW9uc1swXTtcbiAgICAgIHRoaXMuc2VhcmNoVGVybUZvcm1Db250cm9sLnBhdGNoVmFsdWUobG9jYXRpb25bdGhpcy5wcm9wZXJ0eU5hbWVGaWx0ZXJdLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3RlZExvY2F0aW9uKGxvY2F0aW9uOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWwpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaFRlcm1Gb3JtQ29udHJvbC5wYXRjaFZhbHVlKGxvY2F0aW9uW3RoaXMucHJvcGVydHlOYW1lRmlsdGVyXSwge2VtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlfSk7XG4gICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQobG9jYXRpb24pO1xuICB9XG4gIHB1YmxpYyBvbklucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoTG9jYXRpb25DaGFuZ2VkLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMb2NhdGlvbnModGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXT4ge1xuICAgIGxldCB1c2VyTG9jYXRpb25zO1xuICAgIC8vIEJvb2tpbmcgdHlwZSBpbmZvIC0gY2FuIGNyZWF0ZSBtb3JlXG4gICAgLy8gTk9fQ0hFQ0sgLSBBbGwgd29yayAtIERvIG5vdCBmaWx0ZXIgb3V0IGxvY2F0aW9ucyAtIERlZmF1bHQgYXNzdW1wdGlvblxuICAgIC8vIEJPT0tJTkdTX0FORF9CQVNFIC0gTXkgd29yayAtIFRyeSB0byBvbmx5IHNob3cgYmFzZSBsb2NhdGlvbnMvcmVnaW9uc1xuICAgIC8vIFBPU1NJQkxFX0JPT0tJTkdTIC0gQ3JlYXRlIGJvb2tpbmcgc2NyZWVuIC0gU2hvdyBvbmx5IHBvdGVudGlhbCBib29raW5nc1xuICAgIGlmICh0aGlzLmJvb2tpbmdDaGVjayA9PT0gQm9va2luZ0NoZWNrVHlwZS5CT09LSU5HU19BTkRfQkFTRSkge1xuICAgICAgdXNlckxvY2F0aW9ucyA9IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgndXNlckxvY2F0aW9ucycpKSBhcyBMb2NhdGlvbnNCeVNlcnZpY2VbXTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuYm9va2luZ0NoZWNrID09PSBCb29raW5nQ2hlY2tUeXBlLlBPU1NJQkxFX0JPT0tJTkdTKSB7XG4gICAgICB0aGlzLnNlcnZpY2VJZHMgPSB0aGlzLnNlcnZpY2VJZHMgJiYgdGhpcy5zZXJ2aWNlSWRzLmxlbmd0aCA/IHRoaXMuc2VydmljZUlkcyA6IEpTT04ucGFyc2UodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbSgnYm9va2FibGVTZXJ2aWNlcycpKTtcbiAgICAgIHVzZXJMb2NhdGlvbnMgPSBKU09OLnBhcnNlKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2Jvb2thYmxlVXNlckxvY2F0aW9ucycpKSBhcyBMb2NhdGlvbnNCeVNlcnZpY2VbXTtcbiAgICB9XG4gICAgLy8gZ2V0IGFsbCBsb2NhdGlvbnMgd2lsbCByZXNvbHZlIGZpbHRlciBzZXR0aW5nIHVzaW5nIG9iamVjdHMgYWJvdmVcbiAgICAvLyBpZiBubyB1c2VyTG9jYXRpb25zLCBOT19DSEVDS1xuICAgIC8vIGlmIGp1c3QgZ2V0dGluZyBhbGwgc3Vic3RhbnRpdmUgdXNlciBsb2NhdGlvbnMsIEJPT0tJTkdTX0FORF9CQVNFXG4gICAgLy8gZmVlIHBhaWQgdXNlciBsb2NhdGlvbnMgYXJlIHVzZWQgZm9yIFBPU1NJQkxFX0JPT0tJTkdTXG4gICAgcmV0dXJuIHRoaXMubG9jYXRpb25TZXJ2aWNlLmdldEFsbExvY2F0aW9ucyhTZWFyY2hMb2NhdGlvbkNvbXBvbmVudC5hbGxMb2NhdGlvbkFQSSwgdGhpcy5zZXJ2aWNlSWRzLCB0aGlzLmxvY2F0aW9uVHlwZSwgdGVybSwgdXNlckxvY2F0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRTZWFyY2hUZXJtKCk6IHZvaWQge1xuICAgIHRoaXMuc2VhcmNoVGVybUZvcm1Db250cm9sLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyVW5zZWxlY3RlZExvY2F0aW9ucyhcbiAgICBsb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdLFxuICAgIHNlbGVjdGVkTG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSxcbiAgICBzaW5nbGVNb2RlOiBib29sZWFuXG4gICk6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdIHtcbiAgICBpZiAoc2luZ2xlTW9kZSkge1xuICAgICAgcmV0dXJuIGxvY2F0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIGxvY2F0aW9ucy5maWx0ZXIoXG4gICAgICBsb2NhdGlvbiA9PiAhc2VsZWN0ZWRMb2NhdGlvbnMubWFwKHNlbGVjdGVkTG9jYXRpb24gPT4gc2VsZWN0ZWRMb2NhdGlvbi5lcGltbXNfaWQpLmluY2x1ZGVzKGxvY2F0aW9uLmVwaW1tc19pZCkgJiYgbG9jYXRpb25bdGhpcy5wcm9wZXJ0eU5hbWVGaWx0ZXJdXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
export class SearchServiceComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.showAutocomplete = false;
|
|
5
|
+
this.optionChanged = new EventEmitter();
|
|
6
|
+
this.searchTerm = '';
|
|
7
|
+
this.MIN_SEARCH_CHARACTERS = 3;
|
|
8
|
+
}
|
|
9
|
+
get filteredOptions() {
|
|
10
|
+
var _a;
|
|
11
|
+
const remainingServices = this.options.filter(s => !this.selectedOptions.find(ss => ss.key === s.key));
|
|
12
|
+
return ((_a = this.searchTerm) === null || _a === void 0 ? void 0 : _a.length) >= this.MIN_SEARCH_CHARACTERS ?
|
|
13
|
+
remainingServices.filter(s => s.label.toLowerCase().includes(this.searchTerm.toLowerCase()))
|
|
14
|
+
: remainingServices;
|
|
15
|
+
}
|
|
16
|
+
resetSearchTerm() {
|
|
17
|
+
this.searchTerm = '';
|
|
18
|
+
}
|
|
19
|
+
onSelectionChanged($event) {
|
|
20
|
+
var _a;
|
|
21
|
+
const label = (_a = $event.source) === null || _a === void 0 ? void 0 : _a.value;
|
|
22
|
+
if (label && $event.source.selected) {
|
|
23
|
+
const selectedService = this.options.find(s => s.label === label);
|
|
24
|
+
this.optionChanged.emit(selectedService);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
SearchServiceComponent.decorators = [
|
|
29
|
+
{ type: Component, args: [{
|
|
30
|
+
selector: 'exui-search-service',
|
|
31
|
+
template: "<div class=\"auto-complete-container\">\n <input id=\"inputServiceSearch\"\n class=\"govuk-input\"\n [(ngModel)]=\"searchTerm\"\n [matAutocomplete]=\"autoSearchService\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchService=\"matAutocomplete\">\n <mat-option *ngFor=\"let service of filteredOptions\" (onSelectionChange)=\"onSelectionChanged($event)\" [value]=\"service.label\">\n {{ service.label }}\n </mat-option>\n <mat-option *ngIf=\"!filteredOptions?.length && showAutocomplete\">\n No results found\n </mat-option>\n </mat-autocomplete>\n</div>\n",
|
|
32
|
+
styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:0 2px 6px rgba(0,0,0,.256863);left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-left-width:0;border-bottom:1px solid #b1b4b6;border-right-width:0;border-top-width:1px;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:250px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]
|
|
33
|
+
},] }
|
|
34
|
+
];
|
|
35
|
+
SearchServiceComponent.propDecorators = {
|
|
36
|
+
options: [{ type: Input }],
|
|
37
|
+
selectedOptions: [{ type: Input }],
|
|
38
|
+
disabled: [{ type: Input }],
|
|
39
|
+
showAutocomplete: [{ type: Input }],
|
|
40
|
+
optionChanged: [{ type: Output }]
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXNlcnZpY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2gtc2VydmljZS9zZWFyY2gtc2VydmljZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVN2RSxNQUFNLE9BQU8sc0JBQXNCO0lBTG5DO1FBU2tCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNqQyxrQkFBYSxHQUFxQyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUNuRyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ1AsMEJBQXFCLEdBQUcsQ0FBQyxDQUFDO0lBcUI1QyxDQUFDO0lBbkJDLElBQVcsZUFBZTs7UUFDeEIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXZHLE9BQU8sT0FBQSxJQUFJLENBQUMsVUFBVSwwQ0FBRSxNQUFNLEtBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDNUQsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQzVGLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQztJQUN4QixDQUFDO0lBRU0sZUFBZTtRQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sa0JBQWtCLENBQUMsTUFBZ0M7O1FBQ3hELE1BQU0sS0FBSyxTQUFHLE1BQU0sQ0FBQyxNQUFNLDBDQUFFLEtBQUssQ0FBQztRQUNuQyxJQUFJLEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNuQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDOzs7WUFoQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLDZyQkFBOEM7O2FBRS9DOzs7c0JBRUUsS0FBSzs4QkFDTCxLQUFLO3VCQUNMLEtBQUs7K0JBQ0wsS0FBSzs0QkFDTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdE9wdGlvblNlbGVjdGlvbkNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUvb3B0aW9uL29wdGlvbic7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWdPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdleHVpLXNlYXJjaC1zZXJ2aWNlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1zZXJ2aWNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLXNlcnZpY2UuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hTZXJ2aWNlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIG9wdGlvbnM6IEZpbHRlckNvbmZpZ09wdGlvbltdO1xuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0ZWRPcHRpb25zOiBGaWx0ZXJDb25maWdPcHRpb25bXTtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBhbnk7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93QXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBwdWJsaWMgb3B0aW9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEZpbHRlckNvbmZpZ09wdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPEZpbHRlckNvbmZpZ09wdGlvbj4oKTtcbiAgcHVibGljIHNlYXJjaFRlcm0gPSAnJztcbiAgcHVibGljIHJlYWRvbmx5IE1JTl9TRUFSQ0hfQ0hBUkFDVEVSUyA9IDM7XG5cbiAgcHVibGljIGdldCBmaWx0ZXJlZE9wdGlvbnMoKTogRmlsdGVyQ29uZmlnT3B0aW9uW10ge1xuICAgIGNvbnN0IHJlbWFpbmluZ1NlcnZpY2VzID0gdGhpcy5vcHRpb25zLmZpbHRlcihzID0+ICF0aGlzLnNlbGVjdGVkT3B0aW9ucy5maW5kKHNzID0+IHNzLmtleSA9PT0gcy5rZXkpKTtcblxuICAgIHJldHVybiB0aGlzLnNlYXJjaFRlcm0/Lmxlbmd0aCA+PSB0aGlzLk1JTl9TRUFSQ0hfQ0hBUkFDVEVSUyA/XG4gICAgICByZW1haW5pbmdTZXJ2aWNlcy5maWx0ZXIocyA9PiBzLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCkpKVxuICAgICAgOiByZW1haW5pbmdTZXJ2aWNlcztcbiAgfVxuXG4gIHB1YmxpYyByZXNldFNlYXJjaFRlcm0oKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hUZXJtID0gJyc7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3Rpb25DaGFuZ2VkKCRldmVudDogTWF0T3B0aW9uU2VsZWN0aW9uQ2hhbmdlKTogdm9pZCB7XG4gICAgY29uc3QgbGFiZWwgPSAkZXZlbnQuc291cmNlPy52YWx1ZTtcbiAgICBpZiAobGFiZWwgJiYgJGV2ZW50LnNvdXJjZS5zZWxlY3RlZCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRTZXJ2aWNlID0gdGhpcy5vcHRpb25zLmZpbmQocyA9PiBzLmxhYmVsID09PSBsYWJlbCk7XG4gICAgICB0aGlzLm9wdGlvbkNoYW5nZWQuZW1pdChzZWxlY3RlZFNlcnZpY2UpO1xuICAgIH1cbiAgfVxufVxuIl19
|