@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,48 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { Component, Inject, Input } from '@angular/core';
|
|
3
|
+
/*
|
|
4
|
+
Error Summary component
|
|
5
|
+
State Less component
|
|
6
|
+
@property errorMessages that is array of messages.
|
|
7
|
+
Component is also responsible for scrolling. Up and Down the page when user click on links
|
|
8
|
+
*/
|
|
9
|
+
export class HmctsErrorSummaryComponent {
|
|
10
|
+
constructor(document) {
|
|
11
|
+
this.document = document;
|
|
12
|
+
}
|
|
13
|
+
set errorMessages(value) {
|
|
14
|
+
this.messages = value;
|
|
15
|
+
}
|
|
16
|
+
ngAfterViewInit() {
|
|
17
|
+
this.scrollTo('errorSummary');
|
|
18
|
+
}
|
|
19
|
+
ngOnChanges(changes) {
|
|
20
|
+
if (changes.errorMessages) {
|
|
21
|
+
this.scrollTo('errorSummary');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
scrollTo(selector) {
|
|
25
|
+
if (this.document.querySelector(`#${selector}`)) {
|
|
26
|
+
const el = this.document.querySelector(`#${selector}`);
|
|
27
|
+
el.focus();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
hasElement(selector) {
|
|
31
|
+
return this.document.querySelector(`#${selector}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
HmctsErrorSummaryComponent.decorators = [
|
|
35
|
+
{ type: Component, args: [{
|
|
36
|
+
selector: 'xuilib-hmcts-error-summary',
|
|
37
|
+
template: "<div *ngIf=\"!showWarningMessage && messages && messages.length > 0\" id=\"errorSummary\" class=\"govuk-error-summary\" aria-labelledby=\"error-summary-title\" role=\"alert\" tabindex=\"-1\"\n data-module=\"error-summary\">\n <h2 class=\"govuk-error-summary__title\" id=\"error-summary-title\">\n {{header | rpxTranslate}}\n </h2>\n <div class=\"govuk-error-summary__body\">\n <ul class=\"govuk-list govuk-error-summary__list\">\n <li *ngFor=\"let message of messages\">\n <a (click)=\"scrollTo(message['id'])\" [routerLink]=\"\" [fragment]=\"message['id']\"\n *ngIf=\"hasElement(message['id'])\">{{message['message'] | rpxTranslate}}</a>\n <span *ngIf=\"!hasElement(message['id'])\">{{message['message'] | rpxTranslate}}</span>\n </li>\n </ul>\n </div>\n</div>\n<div *ngIf=\"showWarningMessage\" class=\"hmcts-banner hmcts-banner--warning\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.6,15.4h-2.3v-4.5h2.3V15.4z M13.6,19.8h-2.3v-2.2h2.3V19.8z M0,23.2h25L12.5,2L0,23.2z\" /></svg>\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'Warning' | rpxTranslate}}</span>\n <p class=\"govuk-body\" *ngFor=\"let message of messages\">{{ message['message'] | rpxTranslate}}</p>\n </div>\n</div>\n"
|
|
38
|
+
},] }
|
|
39
|
+
];
|
|
40
|
+
HmctsErrorSummaryComponent.ctorParameters = () => [
|
|
41
|
+
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
42
|
+
];
|
|
43
|
+
HmctsErrorSummaryComponent.propDecorators = {
|
|
44
|
+
errorMessages: [{ type: Input }],
|
|
45
|
+
header: [{ type: Input }],
|
|
46
|
+
showWarningMessage: [{ type: Input }]
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtZXJyb3Itc3VtbWFyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9nb3YtdWkvY29tcG9uZW50cy9obWN0cy1lcnJvci1zdW1tYXJ5L2htY3RzLWVycm9yLXN1bW1hcnkuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQWdCLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUEyQixNQUFNLGVBQWUsQ0FBQztBQUNoRzs7Ozs7RUFLRTtBQUtGLE1BQU0sT0FBTywwQkFBMEI7SUFXckMsWUFBK0MsUUFBYTtRQUFiLGFBQVEsR0FBUixRQUFRLENBQUs7SUFBSSxDQUFDO0lBVGpFLElBQW9CLGFBQWEsQ0FBQyxLQUFVO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFTTSxlQUFlO1FBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUMvQjtJQUNILENBQUM7SUFFTSxRQUFRLENBQUMsUUFBYTtRQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksUUFBUSxFQUFFLENBQUMsRUFBRTtZQUMvQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFFdkQsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ1o7SUFDSCxDQUFDO0lBRU0sVUFBVSxDQUFDLFFBQWE7UUFDN0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQzs7O1lBckNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxrN0NBQW1EO2FBQ3BEOzs7NENBWWMsTUFBTSxTQUFDLFFBQVE7Ozs0QkFUM0IsS0FBSztxQkFJTCxLQUFLO2lDQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vKlxuICBFcnJvciBTdW1tYXJ5IGNvbXBvbmVudFxuICBTdGF0ZSBMZXNzIGNvbXBvbmVudFxuICBAcHJvcGVydHkgZXJyb3JNZXNzYWdlcyB0aGF0IGlzIGFycmF5IG9mIG1lc3NhZ2VzLlxuICBDb21wb25lbnQgaXMgYWxzbyByZXNwb25zaWJsZSBmb3Igc2Nyb2xsaW5nLiBVcCBhbmQgRG93biB0aGUgcGFnZSB3aGVuIHVzZXIgY2xpY2sgb24gbGlua3NcbiovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItaG1jdHMtZXJyb3Itc3VtbWFyeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9obWN0cy1lcnJvci1zdW1tYXJ5LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBIbWN0c0Vycm9yU3VtbWFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgcHVibGljIHNldCBlcnJvck1lc3NhZ2VzKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLm1lc3NhZ2VzID0gdmFsdWU7XG4gIH1cblxuICBASW5wdXQoKSBwdWJsaWMgaGVhZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93V2FybmluZ01lc3NhZ2U6IGJvb2xlYW47XG5cbiAgcHVibGljIG1lc3NhZ2VzOiBvYmplY3RbXTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBhbnkpIHsgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zY3JvbGxUbygnZXJyb3JTdW1tYXJ5Jyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmVycm9yTWVzc2FnZXMpIHtcbiAgICAgIHRoaXMuc2Nyb2xsVG8oJ2Vycm9yU3VtbWFyeScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzY3JvbGxUbyhzZWxlY3RvcjogYW55KSB7XG4gICAgaWYgKHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7c2VsZWN0b3J9YCkpIHtcbiAgICAgIGNvbnN0IGVsID0gdGhpcy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHtzZWxlY3Rvcn1gKTtcblxuICAgICAgZWwuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFzRWxlbWVudChzZWxlY3RvcjogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7c2VsZWN0b3J9YCk7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
export class HmctsIdentityBarComponent {
|
|
3
|
+
constructor() { }
|
|
4
|
+
set content(value) {
|
|
5
|
+
this.value = value.name;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
HmctsIdentityBarComponent.decorators = [
|
|
9
|
+
{ type: Component, args: [{
|
|
10
|
+
selector: 'xuilib-hmcts-identity-bar',
|
|
11
|
+
template: "<div class=\"hmcts-identity-bar\" *ngIf=\"value\">\n\n <div class=\"hmcts-identity-bar__container\">\n\n <div class=\"hmcts-identity-bar__details\">\n\n <span class=\"hmcts-identity-bar__title\">{{value | rpxTranslate}}</span>\n\n </div>\n\n </div>\n\n</div>\n",
|
|
12
|
+
styles: [""]
|
|
13
|
+
},] }
|
|
14
|
+
];
|
|
15
|
+
HmctsIdentityBarComponent.ctorParameters = () => [];
|
|
16
|
+
HmctsIdentityBarComponent.propDecorators = {
|
|
17
|
+
content: [{ type: Input }]
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtaWRlbnRpdHktYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2dvdi11aS9jb21wb25lbnRzL2htY3RzLWlkZW50aXR5LWJhci9obWN0cy1pZGVudGl0eS1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT2pELE1BQU0sT0FBTyx5QkFBeUI7SUFRbEMsZ0JBQWdCLENBQUM7SUFOakIsSUFBb0IsT0FBTyxDQUFDLEtBQVU7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQzVCLENBQUM7OztZQVRKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsMkJBQTJCO2dCQUNyQywrU0FBa0Q7O2FBRXJEOzs7O3NCQUdJLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAneHVpbGliLWhtY3RzLWlkZW50aXR5LWJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2htY3RzLWlkZW50aXR5LWJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaG1jdHMtaWRlbnRpdHktYmFyLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSG1jdHNJZGVudGl0eUJhckNvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IGNvbnRlbnQodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWUubmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdmFsdWU6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKCkgeyB9XG59XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
/*
|
|
3
|
+
* Main Content wrapper
|
|
4
|
+
* Responsible for:
|
|
5
|
+
* Wrapping content within the gov-uk html elements bellow
|
|
6
|
+
* @prop showBackLink - switch for back link
|
|
7
|
+
* @prop title = title
|
|
8
|
+
* @prop summaryErrors list of errors
|
|
9
|
+
* @prop back link, title (title), summaryErrors (array of errors)
|
|
10
|
+
* */
|
|
11
|
+
export class HmctsMainWrapperComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.backEvent = new EventEmitter();
|
|
14
|
+
}
|
|
15
|
+
set banner(value) {
|
|
16
|
+
this.bannerData = value;
|
|
17
|
+
}
|
|
18
|
+
ngOnInit() {
|
|
19
|
+
this.hasBackLink = this.backLink !== undefined || this.backEvent.observers.length > 0;
|
|
20
|
+
}
|
|
21
|
+
onGoBack() {
|
|
22
|
+
this.backEvent.emit();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
HmctsMainWrapperComponent.decorators = [
|
|
26
|
+
{ type: Component, args: [{
|
|
27
|
+
selector: 'xuilib-hmcts-main-wrapper',
|
|
28
|
+
template: "<a *ngIf=\"hasBackLink\" [routerLink]=\"backLink\" (click)=\"onGoBack()\" class=\"govuk-back-link\">{{'Back' | rpxTranslate}}</a>\n<main id=\"content\" role=\"main\" class=\"govuk-main-wrapper\">\n <div class=\"govuk-grid-row\">\n <div class=\"govuk-grid-column-two-thirds\">\n <xuilib-hmcts-error-summary\n *ngIf=\"summaryErrors && !summaryErrors.isFromValid\"\n [errorMessages]=\"summaryErrors.items\"\n [header]=\"summaryErrors.header\"\n [showWarningMessage]=\"showWarningMessage\">\n </xuilib-hmcts-error-summary>\n <xuilib-hmcts-banner *ngIf=\"bannerData\"\n [type]=\"bannerData.type\"\n [message]=\"bannerData.message\"\n ></xuilib-hmcts-banner>\n <h1 *ngIf=\"title\" class=\"govuk-heading-xl\">{{title | rpxTranslate}}</h1>\n <ng-content></ng-content>\n </div>\n <div class=\"govuk-grid-column-one-third\" *ngIf=\"actionButtons?.length > 0\">\n <div class=\"hmcts-page-heading__actions-wrapper\">\n <a\n *ngFor=\"let actionButton of actionButtons\"\n (click)=\"actionButton.action()\"\n role=\"button\"\n draggable=\"false\"\n class=\"govuk-button {{ actionButton.class }}\"\n >{{ actionButton.name | rpxTranslate }}</a>\n </div>\n </div>\n </div>\n</main>\n"
|
|
29
|
+
},] }
|
|
30
|
+
];
|
|
31
|
+
HmctsMainWrapperComponent.ctorParameters = () => [];
|
|
32
|
+
HmctsMainWrapperComponent.propDecorators = {
|
|
33
|
+
backLink: [{ type: Input }],
|
|
34
|
+
title: [{ type: Input }],
|
|
35
|
+
summaryErrors: [{ type: Input }],
|
|
36
|
+
banner: [{ type: Input }],
|
|
37
|
+
actionButtons: [{ type: Input }],
|
|
38
|
+
showWarningMessage: [{ type: Input }],
|
|
39
|
+
backEvent: [{ type: Output }]
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtbWFpbi13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2dvdi11aS9jb21wb25lbnRzL2htY3RzLW1haW4td3JhcHBlci9obWN0cy1tYWluLXdyYXBwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUU7Ozs7Ozs7O0lBUUk7QUFLSixNQUFNLE9BQU8seUJBQXlCO0lBZXBDO1FBSGlCLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBSXRELENBQUM7SUFWRCxJQUFvQixNQUFNLENBQUMsS0FBc0I7UUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQVVNLFFBQVE7UUFDYixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7OztZQTVCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsNDFDQUFrRDthQUNuRDs7Ozt1QkFJRSxLQUFLO29CQUNMLEtBQUs7NEJBQ0wsS0FBSztxQkFDTCxLQUFLOzRCQUdMLEtBQUs7aUNBQ0wsS0FBSzt3QkFFTCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIbWN0c0Jhbm5lckluZm8gfSBmcm9tICcuLi9obWN0cy1iYW5uZXIvaG1jdHMtYmFubmVyLWluZm8uaW50ZXJmYWNlJztcbi8qXG4qIE1haW4gQ29udGVudCB3cmFwcGVyXG4qIFJlc3BvbnNpYmxlIGZvcjpcbiAqIFdyYXBwaW5nIGNvbnRlbnQgd2l0aGluIHRoZSBnb3YtdWsgaHRtbCBlbGVtZW50cyBiZWxsb3dcbiAqIEBwcm9wIHNob3dCYWNrTGluayAtIHN3aXRjaCBmb3IgYmFjayBsaW5rXG4gKiBAcHJvcCB0aXRsZSA9IHRpdGxlXG4gKiBAcHJvcCBzdW1tYXJ5RXJyb3JzIGxpc3Qgb2YgZXJyb3JzXG4qIEBwcm9wIGJhY2sgbGluaywgdGl0bGUgKHRpdGxlKSwgc3VtbWFyeUVycm9ycyAoYXJyYXkgb2YgZXJyb3JzKVxuKiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLWhtY3RzLW1haW4td3JhcHBlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9obWN0cy1tYWluLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEhtY3RzTWFpbldyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgYmFubmVyRGF0YTogSG1jdHNCYW5uZXJJbmZvO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBiYWNrTGluazogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHN1bW1hcnlFcnJvcnM6IHtoZWFkZXI6IHN0cmluZzsgaXNGcm9tVmFsaWQ6IGJvb2xlYW47IGl0ZW1zOiB7IGlkOiBzdHJpbmc7IG1lc3NhZ2U6IGFueTsgfVtdfTtcbiAgQElucHV0KCkgcHVibGljIHNldCBiYW5uZXIodmFsdWU6IEhtY3RzQmFubmVySW5mbykge1xuICAgIHRoaXMuYmFubmVyRGF0YSA9IHZhbHVlO1xuICB9XG4gIEBJbnB1dCgpIHB1YmxpYyBhY3Rpb25CdXR0b25zOiB7bmFtZTogc3RyaW5nLCBjbGFzczogc3RyaW5nLCBhY3Rpb24oKToge319W107XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93V2FybmluZ01lc3NhZ2U6IGJvb2xlYW47XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBiYWNrRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIHB1YmxpYyBoYXNCYWNrTGluazogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmhhc0JhY2tMaW5rID0gdGhpcy5iYWNrTGluayAhPT0gdW5kZWZpbmVkIHx8IHRoaXMuYmFja0V2ZW50Lm9ic2VydmVycy5sZW5ndGggPiAwO1xuICB9XG5cbiAgcHVibGljIG9uR29CYWNrKCkge1xuICAgIHRoaXMuYmFja0V2ZW50LmVtaXQoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
export class HmctsPaginationComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.maxSize = 7;
|
|
5
|
+
this.pageSize = 10;
|
|
6
|
+
this.showPageNumbers = true;
|
|
7
|
+
this.showResultCount = true;
|
|
8
|
+
this.pageChange = new EventEmitter();
|
|
9
|
+
this.pageBoundsCorrection = new EventEmitter();
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
HmctsPaginationComponent.decorators = [
|
|
13
|
+
{ type: Component, args: [{
|
|
14
|
+
selector: 'xuilib-hmcts-pagination',
|
|
15
|
+
template: "<pagination-template #p=\"paginationApi\" [id]=\"id\" [maxSize]=\"maxSize\" (pageChange)=\"pageChange.emit($event)\"\n (pageBoundsCorrection)=\"pageBoundsCorrection.emit($event)\">\n\n <nav class=\"hmcts-pagination\" id=\"pagination-label\">\n <p class=\"govuk-visually-hidden\" aria-labelledby=\"pagination-label\">{{'Pagination navigation' | rpxTranslate}}</p>\n <ul class=\"hmcts-pagination__list\" *ngIf=\"!(p.pages.length <= 1)\">\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--prev\" [class.disabled]=\"p.isFirstPage()\">\n <a [routerLink]=\"\" class=\"hmcts-pagination__link\" *ngIf=\"1 < p.getCurrent()\" (keyup.enter)=\"p.previous()\"\n (click)=\"p.previous()\">{{'Previous' | rpxTranslate}} <span class=\"govuk-visually-hidden\">{{'set of pages' | rpxTranslate}}</span></a>\n </li>\n\n <ng-container *ngIf=\"showPageNumbers\">\n <li class=\"hmcts-pagination__item\" [class.hmcts-pagination__item--active]=\"p.getCurrent() === page.value\"\n [class.hmcts-pagination__item--dots]=\"page.label === '...'\" *ngFor=\"let page of p.pages\">\n <a class=\"hmcts-pagination__link\" [routerLink]=\"\" (keyup.enter)=\"p.setCurrent(page.value)\"\n (click)=\"p.setCurrent(page.value)\" *ngIf=\"p.getCurrent() !== page.value\">\n <span class=\"govuk-visually-hidden\">{{'page' | rpxTranslate}} </span>\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </a>\n <ng-container *ngIf=\"p.getCurrent() === page.value\">\n <span>{{ (page.label === '...') ? page.label : (page.label | number:'') }}</span>\n </ng-container>\n </li>\n </ng-container>\n\n <li class=\"hmcts-pagination__item hmcts-pagination__item--next\" [class.disabled]=\"p.isLastPage()\">\n <a [routerLink]=\"\" class=\"hmcts-pagination__link\" *ngIf=\"!p.isLastPage()\" (keyup.enter)=\"p.next()\"\n (click)=\"p.next()\">{{'Next' | rpxTranslate}}<span class=\"govuk-visually-hidden\"> {{'page' | rpxTranslate}}</span></a>\n </li>\n\n </ul>\n <p class=\"hmcts-pagination__results\" *ngIf=\"showResultCount\">{{'Showing' | rpxTranslate}} <b>{{(p.getCurrent() * pageSize) - pageSize + 1}}</b>\n {{'to' | rpxTranslate}} <b>{{ p.getCurrent() * pageSize > p.getTotalItems() ? p.getTotalItems() : p.getCurrent() *\n pageSize}}</b> {{'of' | rpxTranslate}} <b>{{p.getTotalItems()}}</b> {{'results' | rpxTranslate}}</p>\n </nav>\n\n</pagination-template>\n",
|
|
16
|
+
styles: [".hmcts-pagination__results{float:right}"]
|
|
17
|
+
},] }
|
|
18
|
+
];
|
|
19
|
+
HmctsPaginationComponent.propDecorators = {
|
|
20
|
+
id: [{ type: Input }],
|
|
21
|
+
maxSize: [{ type: Input }],
|
|
22
|
+
pageSize: [{ type: Input }],
|
|
23
|
+
showPageNumbers: [{ type: Input }],
|
|
24
|
+
showResultCount: [{ type: Input }],
|
|
25
|
+
pageChange: [{ type: Output }],
|
|
26
|
+
pageBoundsCorrection: [{ type: Output }]
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtcGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9nb3YtdWkvY29tcG9uZW50cy9obWN0cy1wYWdpbmF0aW9uL2htY3RzLXBhZ2luYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPdkUsTUFBTSxPQUFPLHdCQUF3QjtJQUxyQztRQVFrQixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDaEMsb0JBQWUsR0FBWSxJQUFJLENBQUM7UUFDL0IsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzlELHlCQUFvQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO0lBRTNGLENBQUM7OztZQWZBLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyxnZ0ZBQWdEOzthQUVqRDs7O2lCQUdFLEtBQUs7c0JBQ0wsS0FBSzt1QkFDTCxLQUFLOzhCQUNMLEtBQUs7OEJBQ0wsS0FBSzt5QkFDTCxNQUFNO21DQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItaG1jdHMtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9obWN0cy1wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaG1jdHMtcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEhtY3RzUGFnaW5hdGlvbkNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgcHVibGljIGlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBtYXhTaXplOiBudW1iZXIgPSA3O1xuICBASW5wdXQoKSBwdWJsaWMgcGFnZVNpemU6IG51bWJlciA9IDEwO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd1BhZ2VOdW1iZXJzOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIHNob3dSZXN1bHRDb3VudDogYm9vbGVhbiA9IHRydWU7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBwYWdlQm91bmRzQ29ycmVjdGlvbjogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxufVxuIl19
|
package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
export class HmctsPrimaryNavigationComponent {
|
|
3
|
+
constructor() {
|
|
4
|
+
}
|
|
5
|
+
set userLoggedIn(value) {
|
|
6
|
+
this.isUserLoggedIn = value;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
HmctsPrimaryNavigationComponent.decorators = [
|
|
10
|
+
{ type: Component, args: [{
|
|
11
|
+
selector: 'xuilib-hmcts-primary-navigation',
|
|
12
|
+
template: "<nav *ngIf=\"isUserLoggedIn\" class=\"hmcts-primary-navigation\" [attr.aria-label]=\"label\">\n <div class=\"hmcts-primary-navigation__container\">\n <div class=\"govuk-header__logo\" *ngIf=\"isBrandedHeader\"></div>\n <ul class=\"hmcts-primary-navigation__list\">\n <li class=\"hmcts-primary-navigation__item\" *ngFor=\"let item of items\">\n <a class=\"hmcts-primary-navigation__link\" [attr.aria-current]=\"item.active ? true: null\" [routerLink]=\"item.href\" [innerHTML]=\"item.text | rpxTranslate\"></a>\n </li>\n </ul>\n </div>\n</nav>\n",
|
|
13
|
+
styles: [""]
|
|
14
|
+
},] }
|
|
15
|
+
];
|
|
16
|
+
HmctsPrimaryNavigationComponent.ctorParameters = () => [];
|
|
17
|
+
HmctsPrimaryNavigationComponent.propDecorators = {
|
|
18
|
+
userLoggedIn: [{ type: Input }],
|
|
19
|
+
label: [{ type: Input }],
|
|
20
|
+
items: [{ type: Input }],
|
|
21
|
+
isBrandedHeader: [{ type: Input }]
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtcHJpbWFyeS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL2dvdi11aS9jb21wb25lbnRzL2htY3RzLXByaW1hcnktbmF2aWdhdGlvbi9obWN0cy1wcmltYXJ5LW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT2pELE1BQU0sT0FBTywrQkFBK0I7SUFXeEM7SUFFQSxDQUFDO0lBWEQsSUFBb0IsWUFBWSxDQUFDLEtBQVU7UUFDdkMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQzs7O1lBVEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxpQ0FBaUM7Z0JBQzNDLDJrQkFBd0Q7O2FBRTNEOzs7OzJCQUdJLEtBQUs7b0JBSUwsS0FBSztvQkFDTCxLQUFLOzhCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAneHVpbGliLWhtY3RzLXByaW1hcnktbmF2aWdhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2htY3RzLXByaW1hcnktbmF2aWdhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vaG1jdHMtcHJpbWFyeS1uYXZpZ2F0aW9uLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgSG1jdHNQcmltYXJ5TmF2aWdhdGlvbkNvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IHVzZXJMb2dnZWRJbih2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuaXNVc2VyTG9nZ2VkSW4gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgbGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgaXRlbXM6IHthY3RpdmU6IGJvb2xlYW4sIGhyZWY6IHN0cmluZywgdGV4dDogc3RyaW5nfVtdO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc0JyYW5kZWRIZWFkZXI6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgaXNVc2VyTG9nZ2VkSW46IGJvb2xlYW47XG4gICAgY29uc3RydWN0b3IoKSB7XG5cbiAgICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
export class HmctsSubNavigationComponent {
|
|
3
|
+
}
|
|
4
|
+
HmctsSubNavigationComponent.decorators = [
|
|
5
|
+
{ type: Component, args: [{
|
|
6
|
+
selector: 'xuilib-hmcts-sub-navigation',
|
|
7
|
+
template: "<nav class=\"hmcts-sub-navigation\" attr.aria-label=\"{{label}}\" role=\"navigation\" *ngIf=\"items\">\n <ul class=\"hmcts-sub-navigation__list\">\n <li class=\"hmcts-sub-navigation__item\" *ngFor=\"let item of items\">\n <a data-selector=\"sub-nav-link\" class=\"hmcts-sub-navigation__link\" [routerLink]=\"item.href\"\n [attr.aria-current]=\"item.active ? 'page' : null\">\n {{item.text | rpxTranslate}}\n <span *ngIf=\"item.roundel && item.roundel > 0 \" class=\"xui-alert-link__number\"> {{item.roundel}} </span>\n </a>\n </li>\n </ul>\n</nav>\n",
|
|
8
|
+
styles: [".xui-alert-link__number{font-family:nta,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:14px;font-size:.875rem;line-height:1.78571;border-radius:50%;background-color:#1d70b8;color:#fff;font-weight:700;width:25px;height:25px;margin-left:5px;text-align:center;display:inline-block;text-decoration:none}"]
|
|
9
|
+
},] }
|
|
10
|
+
];
|
|
11
|
+
HmctsSubNavigationComponent.propDecorators = {
|
|
12
|
+
label: [{ type: Input }],
|
|
13
|
+
items: [{ type: Input }]
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvZ292LXVpL2NvbXBvbmVudHMvaG1jdHMtc3ViLW5hdmlnYXRpb24vaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBT2pELE1BQU0sT0FBTywyQkFBMkI7OztZQUx2QyxTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLDZCQUE2QjtnQkFFdkMsdW9CQUFvRDs7YUFDdkQ7OztvQkFFSSxLQUFLO29CQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAneHVpbGliLWhtY3RzLXN1Yi1uYXZpZ2F0aW9uJyxcbiAgICBzdHlsZVVybHM6IFsnaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaG1jdHMtc3ViLW5hdmlnYXRpb24uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEhtY3RzU3ViTmF2aWdhdGlvbkNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgcHVibGljIGxhYmVsOiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIGl0ZW1zOiBTdWJOYXZpZ2F0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3ViTmF2aWdhdGlvbiB7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGhyZWY6IHN0cmluZztcbiAgICBhY3RpdmU6IGJvb2xlYW47XG4gICAgdG90YWw/OiBudW1iZXI7XG4gICAgcm91bmRlbD86IG51bWJlcjtcbn1cblxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Directive, ElementRef } from '@angular/core';
|
|
2
|
+
/*
|
|
3
|
+
* Remove Host Directive
|
|
4
|
+
* Used to remove native angular host tags tags
|
|
5
|
+
* sometimes needed because of CSS dependencies
|
|
6
|
+
* */
|
|
7
|
+
export class RemoveHostDirective {
|
|
8
|
+
constructor(el) {
|
|
9
|
+
this.el = el;
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
const nativeElement = this.el.nativeElement;
|
|
13
|
+
const parentElement = nativeElement.parentElement;
|
|
14
|
+
// move all children out of the element
|
|
15
|
+
while (nativeElement.firstChild) {
|
|
16
|
+
parentElement.insertBefore(nativeElement.firstChild, nativeElement);
|
|
17
|
+
}
|
|
18
|
+
parentElement.removeChild(nativeElement);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
RemoveHostDirective.decorators = [
|
|
22
|
+
{ type: Directive, args: [{
|
|
23
|
+
selector: '[appRemoveHost]'
|
|
24
|
+
},] }
|
|
25
|
+
];
|
|
26
|
+
RemoveHostDirective.ctorParameters = () => [
|
|
27
|
+
{ type: ElementRef }
|
|
28
|
+
];
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWhvc3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvZ292LXVpL2RpcmVjdGl2ZXMvcmVtb3ZlLWhvc3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQzVEOzs7O0lBSUk7QUFJSixNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQTZCLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO0lBQUcsQ0FBQztJQUV4QyxRQUFRO1FBQ2IsTUFBTSxhQUFhLEdBQWdCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3pELE1BQU0sYUFBYSxHQUFnQixhQUFhLENBQUMsYUFBYSxDQUFDO1FBQy9ELHVDQUF1QztRQUN2QyxPQUFPLGFBQWEsQ0FBQyxVQUFVLEVBQUU7WUFDL0IsYUFBYSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQ3JFO1FBQ0QsYUFBYSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs7WUFmRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjthQUM1Qjs7O1lBUmtCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7RGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLypcbiogUmVtb3ZlIEhvc3QgRGlyZWN0aXZlXG4qIFVzZWQgdG8gcmVtb3ZlIG5hdGl2ZSBhbmd1bGFyIGhvc3QgdGFncyB0YWdzXG4qIHNvbWV0aW1lcyBuZWVkZWQgYmVjYXVzZSBvZiBDU1MgZGVwZW5kZW5jaWVzXG4qICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbYXBwUmVtb3ZlSG9zdF0nXG59KVxuZXhwb3J0IGNsYXNzIFJlbW92ZUhvc3REaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IHBhcmVudEVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gbmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIC8vIG1vdmUgYWxsIGNoaWxkcmVuIG91dCBvZiB0aGUgZWxlbWVudFxuICAgIHdoaWxlIChuYXRpdmVFbGVtZW50LmZpcnN0Q2hpbGQpIHtcbiAgICAgIHBhcmVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKG5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCwgbmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICAgIHBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQobmF0aXZlRWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class GovUiService {
|
|
4
|
+
constructor() { }
|
|
5
|
+
}
|
|
6
|
+
GovUiService.ɵprov = i0.ɵɵdefineInjectable({ factory: function GovUiService_Factory() { return new GovUiService(); }, token: GovUiService, providedIn: "root" });
|
|
7
|
+
GovUiService.decorators = [
|
|
8
|
+
{ type: Injectable, args: [{
|
|
9
|
+
providedIn: 'root'
|
|
10
|
+
},] }
|
|
11
|
+
];
|
|
12
|
+
GovUiService.ctorParameters = () => [];
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292LXVpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9nb3YtdWkvZ292LXVpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLM0MsTUFBTSxPQUFPLFlBQVk7SUFFdkIsZ0JBQWdCLENBQUM7Ozs7WUFMbEIsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBHb3ZVaVNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG59XG4iXX0=
|
|
@@ -2,6 +2,5 @@ export * from './tcDocument.model';
|
|
|
2
2
|
export * from './contact-details.model';
|
|
3
3
|
export * from './feature-user';
|
|
4
4
|
export * from './user.model';
|
|
5
|
-
export * from './user-access-type.model';
|
|
6
5
|
export * from './filter.model';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dWktY29tbW9uLWxpYi9zcmMvbGliL21vZGVscy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RjRG9jdW1lbnQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250YWN0LWRldGFpbHMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9mZWF0dXJlLXVzZXInO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLm1vZGVsJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1kZXRhaWxzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvbW9kZWxzL3VzZXItZGV0YWlscy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBVc2VyRGV0YWlscyB7XG4gIGNhc2VSb2xlcz86IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgZmlyc3ROYW1lOiBzdHJpbmc7XG4gIGlkYW1JZDogc3RyaW5nO1xuICBsYXN0TmFtZTogc3RyaW5nO1xufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
export class CapitalizePipe {
|
|
3
|
+
transform(value) {
|
|
4
|
+
const lowerCaseString = value.toLowerCase();
|
|
5
|
+
return lowerCaseString.charAt(0).toUpperCase() + lowerCaseString.slice(1);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
CapitalizePipe.decorators = [
|
|
9
|
+
{ type: Pipe, args: [{ name: 'capitalize' },] }
|
|
10
|
+
];
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwaXRhbGl6ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvcGlwZXMvY2FwaXRhbGl6ZS9jYXBpdGFsaXplLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFHcEQsTUFBTSxPQUFPLGNBQWM7SUFDbEIsU0FBUyxDQUFDLEtBQWE7UUFDNUIsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVDLE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7OztZQUxGLElBQUksU0FBQyxFQUFDLElBQUksRUFBRSxZQUFZLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtuYW1lOiAnY2FwaXRhbGl6ZSd9KVxuZXhwb3J0IGNsYXNzIENhcGl0YWxpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgbG93ZXJDYXNlU3RyaW5nID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gbG93ZXJDYXNlU3RyaW5nLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgbG93ZXJDYXNlU3RyaW5nLnNsaWNlKDEpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import { AddressParser } from './address-parser';
|
|
5
|
+
import { AddressType } from './address-type.enum';
|
|
6
|
+
export class AddressService {
|
|
7
|
+
constructor(http) {
|
|
8
|
+
this.http = http;
|
|
9
|
+
}
|
|
10
|
+
getAddressesForPostcode(postcode) {
|
|
11
|
+
return this.http
|
|
12
|
+
.get('/external/addresses?postcode=${postcode}'.replace('${postcode}', postcode), undefined)
|
|
13
|
+
.pipe(map((res) => res.results))
|
|
14
|
+
.pipe(map(output => output ? output.map((addresses) => this.format(new AddressParser().parse(addresses[AddressType.DPA]))) : []));
|
|
15
|
+
}
|
|
16
|
+
format(addressModel) {
|
|
17
|
+
return this.formatAddressLines(this.shiftAddressLinesUp(addressModel));
|
|
18
|
+
}
|
|
19
|
+
formatAddressLines(addressModel) {
|
|
20
|
+
['addressLine1', 'addressLine2', 'addressLine3', 'postTown'].forEach((value) => {
|
|
21
|
+
addressModel[value] = this.toCapitalCase(addressModel[value]);
|
|
22
|
+
});
|
|
23
|
+
return addressModel;
|
|
24
|
+
}
|
|
25
|
+
shiftAddressLinesUp(addressModel) {
|
|
26
|
+
if (addressModel.addressLine2 === '') {
|
|
27
|
+
addressModel.addressLine2 = addressModel.addressLine3;
|
|
28
|
+
addressModel.addressLine3 = '';
|
|
29
|
+
}
|
|
30
|
+
if (addressModel.addressLine1 === '') {
|
|
31
|
+
addressModel.addressLine1 = addressModel.addressLine2;
|
|
32
|
+
addressModel.addressLine2 = '';
|
|
33
|
+
}
|
|
34
|
+
return addressModel;
|
|
35
|
+
}
|
|
36
|
+
toCapitalCase(sentence) {
|
|
37
|
+
sentence = sentence.toLowerCase();
|
|
38
|
+
sentence.split(' ').forEach((value) => {
|
|
39
|
+
sentence = sentence.replace(value, value.charAt(0).toUpperCase() + value.substr(1));
|
|
40
|
+
});
|
|
41
|
+
return sentence;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
AddressService.decorators = [
|
|
45
|
+
{ type: Injectable }
|
|
46
|
+
];
|
|
47
|
+
AddressService.ctorParameters = () => [
|
|
48
|
+
{ type: HttpClient }
|
|
49
|
+
];
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkcmVzcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXh1aS1jb21tb24tbGliL3NyYy9saWIvc2VydmljZXMvYWRkcmVzcy9hZGRyZXNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFHbEQsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFBNkIsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUM3QyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsUUFBZ0I7UUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNiLEdBQUcsQ0FBTSwwQ0FBMEMsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxFQUFFLFNBQW1CLENBQUM7YUFDMUcsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzNCLElBQUksQ0FDSCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFjLEVBQUUsRUFBRSxDQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksYUFBYSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNuRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDUixDQUFDO0lBQ04sQ0FBQztJQUVPLE1BQU0sQ0FBQyxZQUEwQjtRQUN2QyxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU8sa0JBQWtCLENBQUMsWUFBMEI7UUFDbkQsQ0FBQyxjQUFjLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFnQyxFQUFFLEVBQUU7WUFDeEcsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEUsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRU8sbUJBQW1CLENBQUMsWUFBMEI7UUFDcEQsSUFBSSxZQUFZLENBQUMsWUFBWSxLQUFLLEVBQUUsRUFBRTtZQUNwQyxZQUFZLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUM7WUFDdEQsWUFBWSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7U0FDaEM7UUFDRCxJQUFJLFlBQVksQ0FBQyxZQUFZLEtBQUssRUFBRSxFQUFFO1lBQ3BDLFlBQVksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQztZQUN0RCxZQUFZLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztTQUNoQztRQUNELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxhQUFhLENBQUMsUUFBZ0I7UUFDcEMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2xDLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixDQUFDLENBQ0YsQ0FBQztRQUNGLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7OztZQWhERixVQUFVOzs7WUFSRixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFkZHJlc3NNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBBZGRyZXNzUGFyc2VyIH0gZnJvbSAnLi9hZGRyZXNzLXBhcnNlcic7XG5pbXBvcnQgeyBBZGRyZXNzVHlwZSB9IGZyb20gJy4vYWRkcmVzcy10eXBlLmVudW0nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQWRkcmVzc1NlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCkge1xuICB9XG5cbiAgcHVibGljIGdldEFkZHJlc3Nlc0ZvclBvc3Rjb2RlKHBvc3Rjb2RlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEFkZHJlc3NNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgLmdldDxhbnk+KCcvZXh0ZXJuYWwvYWRkcmVzc2VzP3Bvc3Rjb2RlPSR7cG9zdGNvZGV9Jy5yZXBsYWNlKCcke3Bvc3Rjb2RlfScsIHBvc3Rjb2RlKSwgdW5kZWZpbmVkIGFzIG9iamVjdClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlcykgPT4gcmVzLnJlc3VsdHMpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcChvdXRwdXQgPT4gb3V0cHV0ID8gb3V0cHV0Lm1hcCgoYWRkcmVzc2VzOiBhbnkpID0+XG4gICAgICAgICAgdGhpcy5mb3JtYXQobmV3IEFkZHJlc3NQYXJzZXIoKS5wYXJzZShhZGRyZXNzZXNbQWRkcmVzc1R5cGUuRFBBXSkpXG4gICAgICAgICkgOiBbXSlcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdChhZGRyZXNzTW9kZWw6IEFkZHJlc3NNb2RlbCkge1xuICAgIHJldHVybiB0aGlzLmZvcm1hdEFkZHJlc3NMaW5lcyh0aGlzLnNoaWZ0QWRkcmVzc0xpbmVzVXAoYWRkcmVzc01vZGVsKSk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdEFkZHJlc3NMaW5lcyhhZGRyZXNzTW9kZWw6IEFkZHJlc3NNb2RlbCkge1xuICAgIFsnYWRkcmVzc0xpbmUxJywgJ2FkZHJlc3NMaW5lMicsICdhZGRyZXNzTGluZTMnLCAncG9zdFRvd24nXS5mb3JFYWNoKCh2YWx1ZToga2V5b2YgdHlwZW9mIGFkZHJlc3NNb2RlbCkgPT4ge1xuICAgICAgYWRkcmVzc01vZGVsW3ZhbHVlXSA9IHRoaXMudG9DYXBpdGFsQ2FzZShhZGRyZXNzTW9kZWxbdmFsdWVdKTtcbiAgICB9KTtcbiAgICByZXR1cm4gYWRkcmVzc01vZGVsO1xuICB9XG5cbiAgcHJpdmF0ZSBzaGlmdEFkZHJlc3NMaW5lc1VwKGFkZHJlc3NNb2RlbDogQWRkcmVzc01vZGVsKSB7XG4gICAgaWYgKGFkZHJlc3NNb2RlbC5hZGRyZXNzTGluZTIgPT09ICcnKSB7XG4gICAgICBhZGRyZXNzTW9kZWwuYWRkcmVzc0xpbmUyID0gYWRkcmVzc01vZGVsLmFkZHJlc3NMaW5lMztcbiAgICAgIGFkZHJlc3NNb2RlbC5hZGRyZXNzTGluZTMgPSAnJztcbiAgICB9XG4gICAgaWYgKGFkZHJlc3NNb2RlbC5hZGRyZXNzTGluZTEgPT09ICcnKSB7XG4gICAgICBhZGRyZXNzTW9kZWwuYWRkcmVzc0xpbmUxID0gYWRkcmVzc01vZGVsLmFkZHJlc3NMaW5lMjtcbiAgICAgIGFkZHJlc3NNb2RlbC5hZGRyZXNzTGluZTIgPSAnJztcbiAgICB9XG4gICAgcmV0dXJuIGFkZHJlc3NNb2RlbDtcbiAgfVxuXG4gIHByaXZhdGUgdG9DYXBpdGFsQ2FzZShzZW50ZW5jZTogc3RyaW5nKSB7XG4gICAgc2VudGVuY2UgPSBzZW50ZW5jZS50b0xvd2VyQ2FzZSgpO1xuICAgIHNlbnRlbmNlLnNwbGl0KCcgJykuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgc2VudGVuY2UgPSBzZW50ZW5jZS5yZXBsYWNlKHZhbHVlLCB2YWx1ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHZhbHVlLnN1YnN0cigxKSk7XG4gICAgICB9XG4gICAgKTtcbiAgICByZXR1cm4gc2VudGVuY2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { distinctUntilChanged } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class CaseSharingStateService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.caseState = [];
|
|
8
|
+
this.subject = new BehaviorSubject(this.caseState);
|
|
9
|
+
}
|
|
10
|
+
get state() {
|
|
11
|
+
return this.subject.asObservable().pipe(distinctUntilChanged());
|
|
12
|
+
}
|
|
13
|
+
setCases(cases) {
|
|
14
|
+
this.caseState = [];
|
|
15
|
+
cases.forEach(aCase => {
|
|
16
|
+
this.caseState.push({ caseId: aCase.caseId, caseTitle: aCase.caseTitle, caseTypeId: aCase.caseTypeId, roles: aCase.roles,
|
|
17
|
+
sharedWith: aCase.sharedWith, pendingShares: aCase.pendingShares, pendingUnshares: aCase.pendingUnshares });
|
|
18
|
+
});
|
|
19
|
+
this.subject.next(this.caseState);
|
|
20
|
+
}
|
|
21
|
+
getCases() {
|
|
22
|
+
return this.caseState;
|
|
23
|
+
}
|
|
24
|
+
requestShare(user) {
|
|
25
|
+
const oldSharedCases = this.caseState.slice();
|
|
26
|
+
const newSharedCases = [];
|
|
27
|
+
for (const sharedCase of oldSharedCases) {
|
|
28
|
+
if (!sharedCase.pendingShares) {
|
|
29
|
+
sharedCase.pendingShares = [];
|
|
30
|
+
}
|
|
31
|
+
const newPendingShares = sharedCase.pendingShares.slice();
|
|
32
|
+
if (!sharedCase.pendingUnshares) {
|
|
33
|
+
sharedCase.pendingUnshares = [];
|
|
34
|
+
}
|
|
35
|
+
const newPendingUnshares = sharedCase.pendingUnshares.slice();
|
|
36
|
+
if (!this.userHasAccess(sharedCase, user)) {
|
|
37
|
+
if (!newPendingShares.some(u => u.email === user.email)) {
|
|
38
|
+
newPendingShares.push(user);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
for (let u = 0, ul = newPendingUnshares.length; u < ul; u++) {
|
|
43
|
+
if (newPendingUnshares[u].email === user.email) {
|
|
44
|
+
newPendingUnshares.splice(u, 1);
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const newSharedCase = Object.assign(Object.assign({}, sharedCase), { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
|
|
50
|
+
newSharedCases.push(newSharedCase);
|
|
51
|
+
}
|
|
52
|
+
this.subject.next(newSharedCases);
|
|
53
|
+
return newSharedCases;
|
|
54
|
+
}
|
|
55
|
+
requestUnshare(user, caseId) {
|
|
56
|
+
const newSharedCases = [];
|
|
57
|
+
for (const sharedCase of this.caseState) {
|
|
58
|
+
// If no caseId, then request unshare from all shared cases
|
|
59
|
+
if (caseId === undefined || sharedCase.caseId === caseId) {
|
|
60
|
+
if (!sharedCase.pendingUnshares) {
|
|
61
|
+
sharedCase.pendingUnshares = [];
|
|
62
|
+
}
|
|
63
|
+
const newPendingUnshares = sharedCase.pendingUnshares.slice();
|
|
64
|
+
// If the user is pending shared access, just remove them from pendingShares
|
|
65
|
+
let newPendingShares;
|
|
66
|
+
let indexOfPreviouslyAddedUser = -1;
|
|
67
|
+
if (sharedCase.pendingShares) {
|
|
68
|
+
indexOfPreviouslyAddedUser = sharedCase.pendingShares.findIndex(u => u.idamId === user.idamId);
|
|
69
|
+
if (indexOfPreviouslyAddedUser > -1) {
|
|
70
|
+
newPendingShares = sharedCase.pendingShares.slice();
|
|
71
|
+
newPendingShares.splice(indexOfPreviouslyAddedUser, 1);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// If the user does not exist in pendingShares, and already has shared access (i.e. exists in sharedWith),
|
|
75
|
+
// request removal of shared access
|
|
76
|
+
if (indexOfPreviouslyAddedUser === -1 && sharedCase.sharedWith && sharedCase.sharedWith.findIndex(u => u.idamId === user.idamId) > -1) {
|
|
77
|
+
if (!newPendingUnshares.some(u => u.email === user.email)) {
|
|
78
|
+
newPendingUnshares.push(user);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const newSharedCase = Object.assign(Object.assign(Object.assign({}, sharedCase), { pendingUnshares: newPendingUnshares }), (newPendingShares && {
|
|
82
|
+
pendingShares: newPendingShares
|
|
83
|
+
}));
|
|
84
|
+
newSharedCases.push(newSharedCase);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
newSharedCases.push(sharedCase);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
this.subject.next(newSharedCases);
|
|
91
|
+
return newSharedCases;
|
|
92
|
+
}
|
|
93
|
+
requestCancel(caseId, user) {
|
|
94
|
+
const newSharedCases = [];
|
|
95
|
+
for (const sharedCase of this.caseState) {
|
|
96
|
+
if (sharedCase.caseId === caseId) {
|
|
97
|
+
if (!sharedCase.pendingUnshares) {
|
|
98
|
+
sharedCase.pendingUnshares = [];
|
|
99
|
+
}
|
|
100
|
+
const newPendingUnshares = sharedCase.pendingUnshares.slice();
|
|
101
|
+
for (let iPendingUnshares = 0; iPendingUnshares < newPendingUnshares.length; iPendingUnshares++) {
|
|
102
|
+
if (newPendingUnshares[iPendingUnshares].email === user.email) {
|
|
103
|
+
newPendingUnshares.splice(iPendingUnshares, 1);
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
if (!sharedCase.pendingShares) {
|
|
108
|
+
sharedCase.pendingShares = [];
|
|
109
|
+
}
|
|
110
|
+
const newPendingShares = sharedCase.pendingShares.slice();
|
|
111
|
+
for (let iPendingShares = 0; iPendingShares < newPendingShares.length; iPendingShares++) {
|
|
112
|
+
if (newPendingShares[iPendingShares].email === user.email) {
|
|
113
|
+
newPendingShares.splice(iPendingShares, 1);
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
const newSharedCase = Object.assign(Object.assign({}, sharedCase), { pendingUnshares: newPendingUnshares, pendingShares: newPendingShares });
|
|
118
|
+
newSharedCases.push(newSharedCase);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
newSharedCases.push(sharedCase);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
this.subject.next(newSharedCases);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
removeCase(caseId) {
|
|
128
|
+
if (this.caseState.length > 1) {
|
|
129
|
+
for (let i = 0, l = this.caseState.length; i < l; i++) {
|
|
130
|
+
if (this.caseState[i].caseId === caseId) {
|
|
131
|
+
this.caseState.splice(i, 1);
|
|
132
|
+
this.subject.next(this.caseState);
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
userHasAccess(c, user) {
|
|
139
|
+
if (!c.sharedWith) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
for (let i = 0, l = c.sharedWith.length; i < l; i++) {
|
|
143
|
+
if (c.sharedWith[i].email === user.email) {
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
CaseSharingStateService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CaseSharingStateService_Factory() { return new CaseSharingStateService(); }, token: CaseSharingStateService, providedIn: "root" });
|
|
151
|
+
CaseSharingStateService.decorators = [
|
|
152
|
+
{ type: Injectable, args: [{
|
|
153
|
+
providedIn: 'root'
|
|
154
|
+
},] }
|
|
155
|
+
];
|
|
156
|
+
CaseSharingStateService.ctorParameters = () => [];
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy9jYXNlLXNoYXJpbmctc3RhdGUvY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU90RCxNQUFNLE9BQU8sdUJBQXVCO0lBV2xDO1FBVFEsY0FBUyxHQUFpQixFQUFFLENBQUM7UUFDcEIsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFlLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQVE3RCxDQUFDO0lBTmpCLElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQ3JDLG9CQUFvQixFQUFFLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBSU0sUUFBUSxDQUFDLEtBQW1CO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7Z0JBQ3RILFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxL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Z0JBQ3hDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7OztZQXZLRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU2hhcmVkQ2FzZSB9IGZyb20gJy4uLy4uL21vZGVscy9jYXNlLXNoYXJlLm1vZGVsJztcbmltcG9ydCB7IFVzZXJEZXRhaWxzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXItZGV0YWlscy5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENhc2VTaGFyaW5nU3RhdGVTZXJ2aWNlIHtcblxuICBwcml2YXRlIGNhc2VTdGF0ZTogU2hhcmVkQ2FzZVtdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgc3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8U2hhcmVkQ2FzZVtdPih0aGlzLmNhc2VTdGF0ZSk7XG5cbiAgcHVibGljIGdldCBzdGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgcHVibGljIHNldENhc2VzKGNhc2VzOiBTaGFyZWRDYXNlW10pOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VTdGF0ZSA9IFtdO1xuICAgIGNhc2VzLmZvckVhY2goYUNhc2UgPT4ge1xuICAgICAgdGhpcy5jYXNlU3RhdGUucHVzaCh7IGNhc2VJZDogYUNhc2UuY2FzZUlkLCBjYXNlVGl0bGU6IGFDYXNlLmNhc2VUaXRsZSwgY2FzZVR5cGVJZDogYUNhc2UuY2FzZVR5cGVJZCwgcm9sZXM6IGFDYXNlLnJvbGVzLFxuICAgICAgICBzaGFyZWRXaXRoOiBhQ2FzZS5zaGFyZWRXaXRoLCBwZW5kaW5nU2hhcmVzOiBhQ2FzZS5wZW5kaW5nU2hhcmVzLCBwZW5kaW5nVW5zaGFyZXM6IGFDYXNlLnBlbmRpbmdVbnNoYXJlcyB9KTtcbiAgICB9KTtcbiAgICB0aGlzLnN1YmplY3QubmV4dCh0aGlzLmNhc2VTdGF0ZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2FzZXMoKTogU2hhcmVkQ2FzZVtdIHtcbiAgICByZXR1cm4gdGhpcy5jYXNlU3RhdGU7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdFNoYXJlKHVzZXI6IFVzZXJEZXRhaWxzKTogU2hhcmVkQ2FzZVtdIHtcbiAgICBjb25zdCBvbGRTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gdGhpcy5jYXNlU3RhdGUuc2xpY2UoKTtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzaGFyZWRDYXNlIG9mIG9sZFNoYXJlZENhc2VzKSB7XG4gICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1NoYXJlcykge1xuICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgPSBbXTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld1BlbmRpbmdTaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMuc2xpY2UoKTtcbiAgICAgIGlmICghc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMpIHtcbiAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgPSBbXTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld1BlbmRpbmdVbnNoYXJlcyA9IHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzLnNsaWNlKCk7XG4gICAgICBpZiAoIXRoaXMudXNlckhhc0FjY2VzcyhzaGFyZWRDYXNlLCB1c2VyKSkge1xuICAgICAgICBpZiAoIW5ld1BlbmRpbmdTaGFyZXMuc29tZSh1ID0+IHUuZW1haWwgPT09IHVzZXIuZW1haWwpKSB7XG4gICAgICAgICAgbmV3UGVuZGluZ1NoYXJlcy5wdXNoKHVzZXIpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBmb3IgKGxldCB1ID0gMCwgdWwgPSBuZXdQZW5kaW5nVW5zaGFyZXMubGVuZ3RoOyB1IDwgdWw7IHUrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXNbdV0uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5zcGxpY2UodSwgMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnN0IG5ld1NoYXJlZENhc2UgPSB7XG4gICAgICAgIC4uLnNoYXJlZENhc2UsXG4gICAgICAgIHBlbmRpbmdVbnNoYXJlczogbmV3UGVuZGluZ1Vuc2hhcmVzLFxuICAgICAgICBwZW5kaW5nU2hhcmVzOiBuZXdQZW5kaW5nU2hhcmVzXG4gICAgICB9O1xuICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChuZXdTaGFyZWRDYXNlKTtcbiAgICB9XG4gICAgdGhpcy5zdWJqZWN0Lm5leHQobmV3U2hhcmVkQ2FzZXMpO1xuICAgIHJldHVybiBuZXdTaGFyZWRDYXNlcztcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0VW5zaGFyZSh1c2VyOiBVc2VyRGV0YWlscywgY2FzZUlkPzogc3RyaW5nKTogU2hhcmVkQ2FzZVtdIHtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzaGFyZWRDYXNlIG9mIHRoaXMuY2FzZVN0YXRlKSB7XG4gICAgICAvLyBJZiBubyBjYXNlSWQsIHRoZW4gcmVxdWVzdCB1bnNoYXJlIGZyb20gYWxsIHNoYXJlZCBjYXNlc1xuICAgICAgaWYgKGNhc2VJZCA9PT0gdW5kZWZpbmVkIHx8IHNoYXJlZENhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcykge1xuICAgICAgICAgIHNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzID0gW107XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3UGVuZGluZ1Vuc2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc2xpY2UoKTtcbiAgICAgICAgLy8gSWYgdGhlIHVzZXIgaXMgcGVuZGluZyBzaGFyZWQgYWNjZXNzLCBqdXN0IHJlbW92ZSB0aGVtIGZyb20gcGVuZGluZ1NoYXJlc1xuICAgICAgICBsZXQgbmV3UGVuZGluZ1NoYXJlcztcbiAgICAgICAgbGV0IGluZGV4T2ZQcmV2aW91c2x5QWRkZWRVc2VyID0gLTE7XG4gICAgICAgIGlmIChzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgICAgICBpbmRleE9mUHJldmlvdXNseUFkZGVkVXNlciA9IHNoYXJlZENhc2UucGVuZGluZ1NoYXJlcy5maW5kSW5kZXgodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpO1xuICAgICAgICAgIGlmIChpbmRleE9mUHJldmlvdXNseUFkZGVkVXNlciA+IC0xKSB7XG4gICAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLnNsaWNlKCk7XG4gICAgICAgICAgICBuZXdQZW5kaW5nU2hhcmVzLnNwbGljZShpbmRleE9mUHJldmlvdXNseUFkZGVkVXNlciwgMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIElmIHRoZSB1c2VyIGRvZXMgbm90IGV4aXN0IGluIHBlbmRpbmdTaGFyZXMsIGFuZCBhbHJlYWR5IGhhcyBzaGFyZWQgYWNjZXNzIChpLmUuIGV4aXN0cyBpbiBzaGFyZWRXaXRoKSxcbiAgICAgICAgLy8gcmVxdWVzdCByZW1vdmFsIG9mIHNoYXJlZCBhY2Nlc3NcbiAgICAgICAgaWYgKGluZGV4T2ZQcmV2aW91c2x5QWRkZWRVc2VyID09PSAtMSAmJiBzaGFyZWRDYXNlLnNoYXJlZFdpdGggJiYgc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmZpbmRJbmRleChcbiAgICAgICAgICB1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkgPiAtMSkge1xuICAgICAgICAgIGlmICghbmV3UGVuZGluZ1Vuc2hhcmVzLnNvbWUodSA9PiB1LmVtYWlsID09PSB1c2VyLmVtYWlsKSkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1Vuc2hhcmVzLnB1c2godXNlcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1NoYXJlZENhc2UgPSB7XG4gICAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgICBwZW5kaW5nVW5zaGFyZXM6IG5ld1BlbmRpbmdVbnNoYXJlcyxcbiAgICAgICAgICAuLi4obmV3UGVuZGluZ1NoYXJlcyAmJiB7XG4gICAgICAgICAgICBwZW5kaW5nU2hhcmVzOiBuZXdQZW5kaW5nU2hhcmVzXG4gICAgICAgICAgfSlcbiAgICAgICAgfTtcbiAgICAgICAgbmV3U2hhcmVkQ2FzZXMucHVzaChuZXdTaGFyZWRDYXNlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2goc2hhcmVkQ2FzZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc3ViamVjdC5uZXh0KG5ld1NoYXJlZENhc2VzKTtcbiAgICByZXR1cm4gbmV3U2hhcmVkQ2FzZXM7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdENhbmNlbChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdTaGFyZWRDYXNlczogU2hhcmVkQ2FzZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzaGFyZWRDYXNlIG9mIHRoaXMuY2FzZVN0YXRlKSB7XG4gICAgICBpZiAoc2hhcmVkQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICBpZiAoIXNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICAgICAgc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nVW5zaGFyZXMgPSBzaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5zbGljZSgpO1xuICAgICAgICBmb3IgKGxldCBpUGVuZGluZ1Vuc2hhcmVzID0gMDsgaVBlbmRpbmdVbnNoYXJlcyA8IG5ld1BlbmRpbmdVbnNoYXJlcy5sZW5ndGg7IGlQZW5kaW5nVW5zaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nVW5zaGFyZXNbaVBlbmRpbmdVbnNoYXJlc10uZW1haWwgPT09IHVzZXIuZW1haWwpIHtcbiAgICAgICAgICAgIG5ld1BlbmRpbmdVbnNoYXJlcy5zcGxpY2UoaVBlbmRpbmdVbnNoYXJlcywgMSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMpIHtcbiAgICAgICAgICBzaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXdQZW5kaW5nU2hhcmVzID0gc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGlQZW5kaW5nU2hhcmVzID0gMDsgaVBlbmRpbmdTaGFyZXMgPCBuZXdQZW5kaW5nU2hhcmVzLmxlbmd0aDsgaVBlbmRpbmdTaGFyZXMrKykge1xuICAgICAgICAgIGlmIChuZXdQZW5kaW5nU2hhcmVzW2lQZW5kaW5nU2hhcmVzXS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICAgICAgbmV3UGVuZGluZ1NoYXJlcy5zcGxpY2UoaVBlbmRpbmdTaGFyZXMsIDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1NoYXJlZENhc2UgPSB7XG4gICAgICAgICAgLi4uc2hhcmVkQ2FzZSxcbiAgICAgICAgICBwZW5kaW5nVW5zaGFyZXM6IG5ld1BlbmRpbmdVbnNoYXJlcyxcbiAgICAgICAgICBwZW5kaW5nU2hhcmVzOiBuZXdQZW5kaW5nU2hhcmVzXG4gICAgICAgIH07XG4gICAgICAgIG5ld1NoYXJlZENhc2VzLnB1c2gobmV3U2hhcmVkQ2FzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTaGFyZWRDYXNlcy5wdXNoKHNoYXJlZENhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnN1YmplY3QubmV4dChuZXdTaGFyZWRDYXNlcyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZUNhc2UoY2FzZUlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYXNlU3RhdGUubGVuZ3RoID4gMSkge1xuICAgICAgZm9yIChsZXQgaSA9IDAsIGwgPSB0aGlzLmNhc2VTdGF0ZS5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgaWYgKHRoaXMuY2FzZVN0YXRlW2ldLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgICAgdGhpcy5jYXNlU3RhdGUuc3BsaWNlKGksIDEpO1xuICAgICAgICAgIHRoaXMuc3ViamVjdC5uZXh0KHRoaXMuY2FzZVN0YXRlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXNlckhhc0FjY2VzcyhjOiBTaGFyZWRDYXNlLCB1c2VyOiBVc2VyRGV0YWlscyk6IGJvb2xlYW4ge1xuICAgIGlmICghYy5zaGFyZWRXaXRoKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSAwLCBsID0gYy5zaGFyZWRXaXRoLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKGMuc2hhcmVkV2l0aFtpXS5lbWFpbCA9PT0gdXNlci5lbWFpbCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { Inject, Injectable } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class CookieService {
|
|
6
|
+
constructor(doc) {
|
|
7
|
+
this.document = doc;
|
|
8
|
+
}
|
|
9
|
+
setCookie(key, value, expiryDate) {
|
|
10
|
+
const expiry = expiryDate ? ` expires=${expiryDate}` : '';
|
|
11
|
+
const cookie = `${key}=${value};${expiry}`;
|
|
12
|
+
this.document.cookie = cookie;
|
|
13
|
+
}
|
|
14
|
+
getCookie(key) {
|
|
15
|
+
const cookieValue = this.document.cookie
|
|
16
|
+
.split('; ')
|
|
17
|
+
.find(row => row.startsWith(`${key}=`))
|
|
18
|
+
.split('=')[1];
|
|
19
|
+
return cookieValue;
|
|
20
|
+
}
|
|
21
|
+
deleteCookie(key, path, domain) {
|
|
22
|
+
const pathValue = path ? `; path=${path}` : '';
|
|
23
|
+
const domainValue = domain ? `; domain=${domain}` : '';
|
|
24
|
+
this.document.cookie = `${key}=${pathValue}${domainValue}; expires=Thu, 01 Jan 1970 00:00:01 GMT; max-age=0`;
|
|
25
|
+
}
|
|
26
|
+
deleteCookieByPartialMatch(key, path, domain) {
|
|
27
|
+
this.document.cookie
|
|
28
|
+
.split('; ')
|
|
29
|
+
.filter(row => row.startsWith(`${key}`))
|
|
30
|
+
.forEach(element => {
|
|
31
|
+
this.deleteCookie(element.split('=')[0], path, domain);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
checkCookie(key) {
|
|
35
|
+
return this.document.cookie.split('; ').some(item => item.trim().startsWith(`${key}=`));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
CookieService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CookieService_Factory() { return new CookieService(i0.ɵɵinject(i1.DOCUMENT)); }, token: CookieService, providedIn: "root" });
|
|
39
|
+
CookieService.decorators = [
|
|
40
|
+
{ type: Injectable, args: [{
|
|
41
|
+
providedIn: 'root'
|
|
42
|
+
},] }
|
|
43
|
+
];
|
|
44
|
+
CookieService.ctorParameters = () => [
|
|
45
|
+
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
46
|
+
];
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29va2llLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHVpLWNvbW1vbi1saWIvc3JjL2xpYi9zZXJ2aWNlcy9jb29raWUvY29va2llLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFLbkQsTUFBTSxPQUFPLGFBQWE7SUFHeEIsWUFBOEIsR0FBUztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQWUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sU0FBUyxDQUFDLEdBQVcsRUFBRSxLQUFhLEVBQUUsVUFBbUI7UUFDOUQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxZQUFZLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDMUQsTUFBTSxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRU0sU0FBUyxDQUFDLEdBQVc7UUFDMUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNO2FBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDWCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQzthQUN0QyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakIsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVNLFlBQVksQ0FBQyxHQUFXLEVBQUUsSUFBYSxFQUFFLE1BQWU7UUFDN0QsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDL0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLElBQUksU0FBUyxHQUFHLFdBQVcsb0RBQW9ELENBQUM7SUFDL0csQ0FBQztJQUVNLDBCQUEwQixDQUFDLEdBQVcsRUFBRSxJQUFhLEVBQUUsTUFBZTtRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU07YUFDakIsS0FBSyxDQUFDLElBQUksQ0FBQzthQUNYLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUFXO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQzs7OztZQXpDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs0Q0FJYyxNQUFNLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb29raWVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudD86IERvY3VtZW50O1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIGRvYz86IGFueSkge1xuICAgIHRoaXMuZG9jdW1lbnQgPSBkb2MgYXMgRG9jdW1lbnQ7XG4gIH1cblxuICBwdWJsaWMgc2V0Q29va2llKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBleHBpcnlEYXRlPzogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZXhwaXJ5ID0gZXhwaXJ5RGF0ZSA/IGAgZXhwaXJlcz0ke2V4cGlyeURhdGV9YCA6ICcnO1xuICAgIGNvbnN0IGNvb2tpZSA9IGAke2tleX09JHt2YWx1ZX07JHtleHBpcnl9YDtcbiAgICB0aGlzLmRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb29raWUoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvb2tpZVZhbHVlID0gdGhpcy5kb2N1bWVudC5jb29raWVcbiAgICAgIC5zcGxpdCgnOyAnKVxuICAgICAgLmZpbmQocm93ID0+IHJvdy5zdGFydHNXaXRoKGAke2tleX09YCkpXG4gICAgICAuc3BsaXQoJz0nKVsxXTtcbiAgICByZXR1cm4gY29va2llVmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlQ29va2llKGtleTogc3RyaW5nLCBwYXRoPzogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBwYXRoVmFsdWUgPSBwYXRoID8gYDsgcGF0aD0ke3BhdGh9YCA6ICcnO1xuICAgIGNvbnN0IGRvbWFpblZhbHVlID0gZG9tYWluID8gYDsgZG9tYWluPSR7ZG9tYWlufWAgOiAnJztcbiAgICB0aGlzLmRvY3VtZW50LmNvb2tpZSA9IGAke2tleX09JHtwYXRoVmFsdWV9JHtkb21haW5WYWx1ZX07IGV4cGlyZXM9VGh1LCAwMSBKYW4gMTk3MCAwMDowMDowMSBHTVQ7IG1heC1hZ2U9MGA7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlQ29va2llQnlQYXJ0aWFsTWF0Y2goa2V5OiBzdHJpbmcsIHBhdGg/OiBzdHJpbmcsIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZG9jdW1lbnQuY29va2llXG4gICAgICAuc3BsaXQoJzsgJylcbiAgICAgIC5maWx0ZXIocm93ID0+IHJvdy5zdGFydHNXaXRoKGAke2tleX1gKSlcbiAgICAgIC5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICB0aGlzLmRlbGV0ZUNvb2tpZShlbGVtZW50LnNwbGl0KCc9JylbMF0sIHBhdGgsIGRvbWFpbik7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja0Nvb2tpZShrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOyAnKS5zb21lKGl0ZW0gPT4gaXRlbS50cmltKCkuc3RhcnRzV2l0aChgJHtrZXl9PWApKTtcbiAgfVxufVxuIl19
|