@hmcts/rpx-xui-common-lib 1.8.7-fix-wrong-services → 1.8.7-generic-filter-clear-errors-on-destroy
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 +4626 -7107
- package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
- package/esm2015/hmcts-rpx-xui-common-lib.js +33 -35
- package/esm2015/lib/components/accessibility/accessibility.component.js +2 -8
- package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +14 -112
- package/esm2015/lib/components/contact-details/contact-details.component.js +2 -12
- package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +4 -65
- package/esm2015/lib/components/due-date/due-date.component.js +2 -97
- package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +7 -21
- package/esm2015/lib/components/find-location/find-location.component.js +46 -140
- package/esm2015/lib/components/find-person/find-person.component.js +14 -154
- package/esm2015/lib/components/find-service/find-service.component.js +97 -43
- package/esm2015/lib/components/find-task-name/find-task-name.component.js +97 -0
- package/esm2015/lib/components/generic-filter/generic-filter-utils.js +11 -55
- package/esm2015/lib/components/generic-filter/generic-filter.component.js +286 -294
- package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +3 -18
- package/esm2015/lib/components/index.js +2 -7
- package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +2 -22
- package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +2 -21
- package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +3 -12
- package/esm2015/lib/components/pagination/pagination.component.js +2 -24
- package/esm2015/lib/components/public_api.js +37 -33
- package/esm2015/lib/components/search-judicials/search-judicials.component.js +11 -134
- package/esm2015/lib/components/search-location/search-location.component.js +64 -223
- package/esm2015/lib/components/search-service/search-service.component.js +28 -46
- package/esm2015/lib/components/search-venue/search-venue.component.js +11 -134
- package/esm2015/lib/components/selected-case/selected-case.component.js +20 -175
- package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +3 -41
- package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +4 -55
- package/esm2015/lib/components/service-message/service-message.component.js +2 -20
- package/esm2015/lib/components/service-messages/service-messages.component.js +7 -65
- package/esm2015/lib/components/share-case/share-case.component.js +23 -169
- package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +4 -37
- package/esm2015/lib/components/tab/tab.component.js +2 -26
- package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +2 -17
- package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +2 -8
- package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +2 -8
- package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +2 -12
- package/esm2015/lib/components/user-details/user-details.component.js +2 -39
- package/esm2015/lib/components/user-list/user-list.component.js +2 -32
- package/esm2015/lib/components/user-select/user-select.component.js +5 -52
- package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +3 -56
- package/esm2015/lib/directives/index.js +2 -7
- package/esm2015/lib/directives/let/let.directive.js +1 -39
- package/esm2015/lib/directives/public-api.js +3 -8
- package/esm2015/lib/exui-common-lib.module.js +11 -10
- package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +2 -22
- package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +44 -16
- package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +4 -54
- package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +2 -14
- package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +2 -17
- package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +2 -24
- package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +2 -16
- package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +4 -24
- package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +4 -13
- package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +6 -24
- package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +2 -13
- package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +3 -22
- package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +2 -32
- package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +2 -18
- package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.js +2 -0
- package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +13 -25
- package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +2 -44
- package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +2 -16
- package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +3 -37
- package/esm2015/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +2 -23
- package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +2 -22
- package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +3 -30
- package/esm2015/lib/gov-ui/components/index.js +2 -7
- package/esm2015/lib/gov-ui/components/public_api.js +22 -7
- package/esm2015/lib/gov-ui/directives/remove-host.directive.js +1 -22
- package/esm2015/lib/gov-ui/gov-ui.service.js +2 -8
- package/esm2015/lib/gov-ui/index.js +2 -7
- package/esm2015/lib/gov-ui/models/checkboxes-model.js +2 -22
- package/esm2015/lib/gov-ui/models/error-messages-model.js +2 -16
- package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +2 -36
- package/esm2015/lib/gov-ui/models/index.js +2 -7
- package/esm2015/lib/gov-ui/models/isession-storage.interface.js +2 -24
- package/esm2015/lib/gov-ui/models/public_api.js +4 -10
- package/esm2015/lib/gov-ui/models/radio-buttons.model.js +2 -0
- package/esm2015/lib/gov-ui/public_api.js +5 -9
- package/esm2015/lib/gov-ui/util/helpers/html-templates.helper.js +4 -14
- package/esm2015/lib/gov-ui/util/session-storage/session-storage-utils.js +12 -48
- package/esm2015/lib/gov-ui/validators/checkboxes-be-checked.validator.js +5 -24
- package/esm2015/lib/gov-ui/validators/date.validator.js +3 -20
- package/esm2015/lib/gov-ui/validators/index.js +2 -7
- package/esm2015/lib/gov-ui/validators/public_api.js +4 -9
- package/esm2015/lib/gov-ui/validators/radio-group.validator.js +3 -15
- package/esm2015/lib/models/case-share.model.js +7 -33
- package/esm2015/lib/models/contact-details.model.js +7 -31
- package/esm2015/lib/models/due-date.model.js +7 -14
- package/esm2015/lib/models/feature-user.js +1 -16
- package/esm2015/lib/models/filter.model.js +1 -124
- package/esm2015/lib/models/idle-config.model.js +2 -20
- package/esm2015/lib/models/index.js +16 -20
- package/esm2015/lib/models/location.model.js +7 -129
- package/esm2015/lib/models/pagination.model.js +2 -18
- package/esm2015/lib/models/person.model.js +19 -96
- package/esm2015/lib/models/public_api.js +6 -11
- package/esm2015/lib/models/search-options.model.js +2 -22
- package/esm2015/lib/models/task-name.model.js +2 -0
- package/esm2015/lib/models/tcDocument.model.js +2 -18
- package/esm2015/lib/models/timeout-notification.model.js +2 -18
- package/esm2015/lib/models/user-details.model.js +2 -22
- package/esm2015/lib/models/user.model.js +2 -25
- package/esm2015/lib/pipes/capitalize/capitalize.pipe.js +11 -0
- package/esm2015/lib/pipes/index.js +2 -0
- package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +11 -96
- package/esm2015/lib/services/cookie/cookie.service.js +8 -71
- package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +4 -43
- package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +2 -28
- package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +12 -94
- package/esm2015/lib/services/filter/filter.service.js +14 -69
- package/esm2015/lib/services/find-person/find-person.service.js +17 -125
- package/esm2015/lib/services/google-analytics/google-analytics.service.js +8 -63
- package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +10 -64
- package/esm2015/lib/services/index.js +2 -7
- package/esm2015/lib/services/loading/loading.service.js +2 -41
- package/esm2015/lib/services/locations/location.service.js +14 -32
- package/esm2015/lib/services/manage-session/manage-session.services.js +10 -63
- package/esm2015/lib/services/public-api.js +14 -18
- package/esm2015/lib/services/ref-data/index.js +4 -0
- package/esm2015/lib/services/ref-data/models/ref-data-htmcs-service.model.js +2 -0
- package/esm2015/lib/services/ref-data/models/ref-data-region.model.js +2 -0
- package/esm2015/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.js +2 -0
- package/esm2015/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.js +34 -0
- package/esm2015/lib/services/ref-data/ref-data.service.js +35 -0
- package/esm2015/lib/services/role-guard/role.guard.js +17 -55
- package/esm2015/lib/services/role-guard/role.service.js +7 -26
- package/esm2015/lib/services/storage/session-storage/session-storage.service.js +41 -0
- package/esm2015/lib/services/task-name/task-name.service.js +37 -0
- package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +16 -78
- package/esm2015/lib/window.js +1 -10
- package/esm2015/public-api.js +9 -13
- package/fesm2015/hmcts-rpx-xui-common-lib.js +3941 -5799
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/hmcts-rpx-xui-common-lib.d.ts +31 -28
- package/hmcts-rpx-xui-common-lib.metadata.json +1 -1
- package/lib/components/checkbox-list/checkbox-list.component.d.ts +6 -5
- package/lib/components/due-date/due-date.component.d.ts +4 -4
- package/lib/components/find-location/find-location.component.d.ts +13 -8
- package/lib/components/find-person/find-person.component.d.ts +1 -1
- package/lib/components/find-service/find-service.component.d.ts +21 -9
- package/lib/components/find-task-name/find-task-name.component.d.ts +41 -0
- package/lib/components/generic-filter/generic-filter-utils.d.ts +2 -5
- package/lib/components/generic-filter/generic-filter.component.d.ts +20 -6
- package/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.d.ts +1 -1
- package/lib/components/invite-user-form/invite-user-form.component.d.ts +2 -2
- package/lib/components/public_api.d.ts +9 -0
- package/lib/components/search-judicials/search-judicials.component.d.ts +1 -1
- package/lib/components/search-location/search-location.component.d.ts +20 -20
- package/lib/components/search-service/search-service.component.d.ts +11 -9
- package/lib/components/search-venue/search-venue.component.d.ts +1 -1
- package/lib/components/user-list/user-list.component.d.ts +1 -1
- package/lib/directives/feature-toggle/feature-toggle.directive.d.ts +1 -1
- package/lib/directives/let/let.directive.d.ts +1 -1
- package/lib/exui-common-lib.module.d.ts +4 -3
- package/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.d.ts +14 -5
- package/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.d.ts +1 -2
- package/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.d.ts +1 -0
- package/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.d.ts +2 -2
- package/lib/gov-ui/components/hmcts-banner/hmcts-banner-info.interface.d.ts +7 -0
- package/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.d.ts +4 -2
- package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +3 -3
- package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +1 -1
- package/lib/gov-ui/components/public_api.d.ts +20 -0
- package/lib/gov-ui/models/checkboxes-model.d.ts +4 -7
- package/lib/gov-ui/models/gov-ui-config-model.d.ts +2 -0
- package/lib/gov-ui/models/public_api.d.ts +0 -1
- package/lib/gov-ui/models/radio-buttons.model.d.ts +9 -0
- package/lib/gov-ui/public_api.d.ts +1 -0
- package/lib/models/filter.model.d.ts +38 -8
- package/lib/models/index.d.ts +1 -0
- package/lib/models/location.model.d.ts +8 -8
- package/lib/models/task-name.model.d.ts +4 -0
- package/lib/pipes/capitalize/capitalize.pipe.d.ts +4 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +1 -1
- package/lib/services/filter/filter.service.d.ts +1 -0
- package/lib/services/find-person/find-person.service.d.ts +1 -1
- package/lib/services/loading/loading.service.d.ts +2 -2
- package/lib/services/locations/location.service.d.ts +1 -1
- package/lib/services/public-api.d.ts +1 -0
- package/lib/services/ref-data/index.d.ts +3 -0
- package/lib/services/ref-data/models/ref-data-htmcs-service.model.d.ts +13 -0
- package/lib/services/ref-data/models/ref-data-region.model.d.ts +4 -0
- package/lib/services/ref-data/ref-data-data-access/models/ref-data-locations-by-service-code-response.model.d.ts +8 -0
- package/lib/services/ref-data/ref-data-data-access/ref-data-data-access.service.d.ts +15 -0
- package/lib/services/ref-data/ref-data.service.d.ts +14 -0
- package/lib/services/role-guard/role.guard.d.ts +2 -1
- package/lib/services/role-guard/role.service.d.ts +4 -2
- package/lib/services/task-name/task-name.service.d.ts +14 -0
- package/lib/window.d.ts +2 -2
- package/package.json +6 -16
- package/public-api.d.ts +1 -0
- package/esm2015/lib/gov-ui/models/banner-data-model.js +0 -16
- package/esm2015/lib/services/session-storage/session-storage.service.js +0 -55
- package/esm5/hmcts-rpx-xui-common-lib.js +0 -75
- package/esm5/lib/components/accessibility/accessibility.component.js +0 -22
- package/esm5/lib/components/checkbox-list/checkbox-list.component.js +0 -391
- package/esm5/lib/components/contact-details/contact-details.component.js +0 -29
- package/esm5/lib/components/cookie-banner/cookie-banner.component.js +0 -154
- package/esm5/lib/components/due-date/due-date.component.js +0 -254
- package/esm5/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +0 -45
- package/esm5/lib/components/find-location/find-location.component.js +0 -293
- package/esm5/lib/components/find-person/find-person.component.js +0 -287
- package/esm5/lib/components/find-service/find-service.component.js +0 -64
- package/esm5/lib/components/generic-filter/generic-filter-utils.js +0 -66
- package/esm5/lib/components/generic-filter/generic-filter.component.js +0 -840
- package/esm5/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +0 -47
- package/esm5/lib/components/index.js +0 -7
- package/esm5/lib/components/invite-user-form/invite-user-form.component.js +0 -54
- package/esm5/lib/components/invite-user-permissions/invite-user-permission.component.js +0 -46
- package/esm5/lib/components/loading-spinner/loading-spinner.component.js +0 -29
- package/esm5/lib/components/pagination/pagination.component.js +0 -58
- package/esm5/lib/components/public_api.js +0 -33
- package/esm5/lib/components/search-judicials/search-judicials.component.js +0 -291
- package/esm5/lib/components/search-location/search-location.component.js +0 -329
- package/esm5/lib/components/search-service/search-service.component.js +0 -68
- package/esm5/lib/components/search-venue/search-venue.component.js +0 -290
- package/esm5/lib/components/selected-case/selected-case.component.js +0 -424
- package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +0 -84
- package/esm5/lib/components/selected-case-list/selected-case-list.component.js +0 -115
- package/esm5/lib/components/service-message/service-message.component.js +0 -46
- package/esm5/lib/components/service-messages/service-messages.component.js +0 -122
- package/esm5/lib/components/share-case/share-case.component.js +0 -435
- package/esm5/lib/components/share-case-confirm/share-case-confirm.component.js +0 -70
- package/esm5/lib/components/tab/tab.component.js +0 -51
- package/esm5/lib/components/tc-confirm/tc-confirm.component.js +0 -42
- package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +0 -22
- package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +0 -22
- package/esm5/lib/components/terms-and-conditions/terms-and-conditions.component.js +0 -29
- package/esm5/lib/components/user-details/user-details.component.js +0 -92
- package/esm5/lib/components/user-list/user-list.component.js +0 -76
- package/esm5/lib/components/user-select/user-select.component.js +0 -131
- package/esm5/lib/directives/feature-toggle/feature-toggle.directive.js +0 -104
- package/esm5/lib/directives/index.js +0 -7
- package/esm5/lib/directives/let/let.directive.js +0 -78
- package/esm5/lib/directives/public-api.js +0 -8
- package/esm5/lib/exui-common-lib.module.js +0 -167
- package/esm5/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +0 -56
- package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +0 -36
- package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +0 -135
- package/esm5/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +0 -37
- package/esm5/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +0 -49
- package/esm5/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +0 -65
- package/esm5/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +0 -40
- package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +0 -66
- package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +0 -34
- package/esm5/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +0 -67
- package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +0 -36
- package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +0 -52
- package/esm5/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +0 -77
- package/esm5/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +0 -50
- package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +0 -38
- package/esm5/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +0 -108
- package/esm5/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +0 -40
- package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +0 -87
- package/esm5/lib/gov-ui/components/hmcts-pagination/hmcts-pagination.component.js +0 -51
- package/esm5/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +0 -49
- package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +0 -46
- package/esm5/lib/gov-ui/components/index.js +0 -7
- package/esm5/lib/gov-ui/components/public_api.js +0 -7
- package/esm5/lib/gov-ui/directives/remove-host.directive.js +0 -52
- package/esm5/lib/gov-ui/gov-ui.service.js +0 -22
- package/esm5/lib/gov-ui/index.js +0 -7
- package/esm5/lib/gov-ui/models/banner-data-model.js +0 -16
- package/esm5/lib/gov-ui/models/checkboxes-model.js +0 -22
- package/esm5/lib/gov-ui/models/error-messages-model.js +0 -16
- package/esm5/lib/gov-ui/models/gov-ui-config-model.js +0 -36
- package/esm5/lib/gov-ui/models/index.js +0 -7
- package/esm5/lib/gov-ui/models/isession-storage.interface.js +0 -24
- package/esm5/lib/gov-ui/models/public_api.js +0 -13
- package/esm5/lib/gov-ui/public_api.js +0 -12
- package/esm5/lib/gov-ui/util/helpers/html-templates.helper.js +0 -57
- package/esm5/lib/gov-ui/util/session-storage/session-storage-utils.js +0 -58
- package/esm5/lib/gov-ui/validators/checkboxes-be-checked.validator.js +0 -38
- package/esm5/lib/gov-ui/validators/date.validator.js +0 -32
- package/esm5/lib/gov-ui/validators/index.js +0 -7
- package/esm5/lib/gov-ui/validators/public_api.js +0 -12
- package/esm5/lib/gov-ui/validators/radio-group.validator.js +0 -27
- package/esm5/lib/models/case-share.model.js +0 -33
- package/esm5/lib/models/contact-details.model.js +0 -31
- package/esm5/lib/models/due-date.model.js +0 -15
- package/esm5/lib/models/feature-user.js +0 -28
- package/esm5/lib/models/filter.model.js +0 -130
- package/esm5/lib/models/idle-config.model.js +0 -20
- package/esm5/lib/models/index.js +0 -20
- package/esm5/lib/models/location.model.js +0 -129
- package/esm5/lib/models/pagination.model.js +0 -18
- package/esm5/lib/models/person.model.js +0 -96
- package/esm5/lib/models/public_api.js +0 -11
- package/esm5/lib/models/search-options.model.js +0 -22
- package/esm5/lib/models/tcDocument.model.js +0 -18
- package/esm5/lib/models/timeout-notification.model.js +0 -18
- package/esm5/lib/models/user-details.model.js +0 -22
- package/esm5/lib/models/user.model.js +0 -25
- package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +0 -313
- package/esm5/lib/services/cookie/cookie.service.js +0 -136
- package/esm5/lib/services/feature-toggle/feature-toggle.guard.js +0 -89
- package/esm5/lib/services/feature-toggle/feature-toggle.service.js +0 -90
- package/esm5/lib/services/feature-toggle/launch-darkly.service.js +0 -187
- package/esm5/lib/services/filter/filter.service.js +0 -190
- package/esm5/lib/services/find-person/find-person.service.js +0 -246
- package/esm5/lib/services/google-analytics/google-analytics.service.js +0 -128
- package/esm5/lib/services/google-tag-manager/google-tag-manager.service.js +0 -135
- package/esm5/lib/services/index.js +0 -7
- package/esm5/lib/services/loading/loading.service.js +0 -109
- package/esm5/lib/services/locations/location.service.js +0 -86
- package/esm5/lib/services/manage-session/manage-session.services.js +0 -111
- package/esm5/lib/services/public-api.js +0 -21
- package/esm5/lib/services/role-guard/role.guard.js +0 -81
- package/esm5/lib/services/role-guard/role.service.js +0 -45
- package/esm5/lib/services/session-storage/session-storage.service.js +0 -96
- package/esm5/lib/services/timeout-notifications/timeout-notifications.service.js +0 -190
- package/esm5/lib/window.js +0 -13
- package/esm5/public-api.js +0 -16
- package/fesm5/hmcts-rpx-xui-common-lib.js +0 -8157
- package/fesm5/hmcts-rpx-xui-common-lib.js.map +0 -1
- package/lib/gov-ui/models/banner-data-model.d.ts +0 -4
- /package/lib/services/{session-storage → storage/session-storage}/session-storage.service.d.ts +0 -0
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/services/feature-toggle/launch-darkly.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Injectable } from '@angular/core';
|
|
7
|
-
import * as LDClient from 'launchdarkly-js-client-sdk';
|
|
8
|
-
import { BehaviorSubject } from 'rxjs';
|
|
9
|
-
import { distinctUntilChanged, filter, map } from 'rxjs/operators';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
var LaunchDarklyService = /** @class */ (function () {
|
|
12
|
-
function LaunchDarklyService() {
|
|
13
|
-
this.ready = new BehaviorSubject(false);
|
|
14
|
-
this.features = {};
|
|
15
|
-
this.user = { anonymous: true };
|
|
16
|
-
this.clientId = '';
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* @param {?=} user
|
|
20
|
-
* @param {?=} clientId
|
|
21
|
-
* @return {?}
|
|
22
|
-
*/
|
|
23
|
-
LaunchDarklyService.prototype.initialize = /**
|
|
24
|
-
* @param {?=} user
|
|
25
|
-
* @param {?=} clientId
|
|
26
|
-
* @return {?}
|
|
27
|
-
*/
|
|
28
|
-
function (user, clientId) {
|
|
29
|
-
var _this = this;
|
|
30
|
-
if (user === void 0) { user = { anonymous: true }; }
|
|
31
|
-
this.ready.next(false);
|
|
32
|
-
this.user = user;
|
|
33
|
-
this.clientId = clientId;
|
|
34
|
-
this.client = LDClient.initialize(this.clientId, this.user, {});
|
|
35
|
-
this.client.on('ready', (/**
|
|
36
|
-
* @return {?}
|
|
37
|
-
*/
|
|
38
|
-
function () {
|
|
39
|
-
_this.client.identify(_this.user).then((/**
|
|
40
|
-
* @return {?}
|
|
41
|
-
*/
|
|
42
|
-
function () { return _this.ready.next(true); }));
|
|
43
|
-
}));
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* @param {?} feature
|
|
47
|
-
* @return {?}
|
|
48
|
-
*/
|
|
49
|
-
LaunchDarklyService.prototype.isEnabled = /**
|
|
50
|
-
* @param {?} feature
|
|
51
|
-
* @return {?}
|
|
52
|
-
*/
|
|
53
|
-
function (feature) {
|
|
54
|
-
return this.getValue(feature, false);
|
|
55
|
-
};
|
|
56
|
-
/**
|
|
57
|
-
* @template R
|
|
58
|
-
* @param {?} feature
|
|
59
|
-
* @return {?}
|
|
60
|
-
*/
|
|
61
|
-
LaunchDarklyService.prototype.getArray = /**
|
|
62
|
-
* @template R
|
|
63
|
-
* @param {?} feature
|
|
64
|
-
* @return {?}
|
|
65
|
-
*/
|
|
66
|
-
function (feature) {
|
|
67
|
-
return this.getValue(feature, []);
|
|
68
|
-
};
|
|
69
|
-
/**
|
|
70
|
-
* @template R
|
|
71
|
-
* @param {?} feature
|
|
72
|
-
* @param {?} defaultValue
|
|
73
|
-
* @return {?}
|
|
74
|
-
*/
|
|
75
|
-
LaunchDarklyService.prototype.getValue = /**
|
|
76
|
-
* @template R
|
|
77
|
-
* @param {?} feature
|
|
78
|
-
* @param {?} defaultValue
|
|
79
|
-
* @return {?}
|
|
80
|
-
*/
|
|
81
|
-
function (feature, defaultValue) {
|
|
82
|
-
var _this = this;
|
|
83
|
-
if (!this.features.hasOwnProperty(feature)) {
|
|
84
|
-
this.features[feature] = new BehaviorSubject(defaultValue);
|
|
85
|
-
this.ready.pipe(filter((/**
|
|
86
|
-
* @param {?} ready
|
|
87
|
-
* @return {?}
|
|
88
|
-
*/
|
|
89
|
-
function (ready) { return ready; })), map((/**
|
|
90
|
-
* @return {?}
|
|
91
|
-
*/
|
|
92
|
-
function () { return _this.client.variation(feature, defaultValue); }))).subscribe((/**
|
|
93
|
-
* @param {?} value
|
|
94
|
-
* @return {?}
|
|
95
|
-
*/
|
|
96
|
-
function (value) {
|
|
97
|
-
_this.features[feature].next(value);
|
|
98
|
-
_this.client.on("change:" + feature, (/**
|
|
99
|
-
* @param {?} val
|
|
100
|
-
* @return {?}
|
|
101
|
-
*/
|
|
102
|
-
function (val) {
|
|
103
|
-
_this.features[feature].next(val);
|
|
104
|
-
}));
|
|
105
|
-
}));
|
|
106
|
-
}
|
|
107
|
-
return this.features[feature].pipe(distinctUntilChanged());
|
|
108
|
-
};
|
|
109
|
-
/**
|
|
110
|
-
* This method returns an observable that will only get the state of the feature toggle
|
|
111
|
-
* once. It calls the LD SDK directly, and should only be used in circumstances where
|
|
112
|
-
* only one value should be emitted, that value coming directly from LD. This will likely
|
|
113
|
-
* only apply for Guards, and should be used only when absolutely necessary.
|
|
114
|
-
* @see getValue for regular usage.
|
|
115
|
-
* @param feature string
|
|
116
|
-
* @param defaultValue R
|
|
117
|
-
*/
|
|
118
|
-
/**
|
|
119
|
-
* This method returns an observable that will only get the state of the feature toggle
|
|
120
|
-
* once. It calls the LD SDK directly, and should only be used in circumstances where
|
|
121
|
-
* only one value should be emitted, that value coming directly from LD. This will likely
|
|
122
|
-
* only apply for Guards, and should be used only when absolutely necessary.
|
|
123
|
-
* @see getValue for regular usage.
|
|
124
|
-
* @template R
|
|
125
|
-
* @param {?} feature string
|
|
126
|
-
* @param {?} defaultValue R
|
|
127
|
-
* @return {?}
|
|
128
|
-
*/
|
|
129
|
-
LaunchDarklyService.prototype.getValueOnce = /**
|
|
130
|
-
* This method returns an observable that will only get the state of the feature toggle
|
|
131
|
-
* once. It calls the LD SDK directly, and should only be used in circumstances where
|
|
132
|
-
* only one value should be emitted, that value coming directly from LD. This will likely
|
|
133
|
-
* only apply for Guards, and should be used only when absolutely necessary.
|
|
134
|
-
* @see getValue for regular usage.
|
|
135
|
-
* @template R
|
|
136
|
-
* @param {?} feature string
|
|
137
|
-
* @param {?} defaultValue R
|
|
138
|
-
* @return {?}
|
|
139
|
-
*/
|
|
140
|
-
function (feature, defaultValue) {
|
|
141
|
-
var _this = this;
|
|
142
|
-
return this.ready.pipe(filter((/**
|
|
143
|
-
* @param {?} ready
|
|
144
|
-
* @return {?}
|
|
145
|
-
*/
|
|
146
|
-
function (ready) { return ready; })), map((/**
|
|
147
|
-
* @return {?}
|
|
148
|
-
*/
|
|
149
|
-
function () { return _this.client.variation(feature, defaultValue); })));
|
|
150
|
-
};
|
|
151
|
-
LaunchDarklyService.decorators = [
|
|
152
|
-
{ type: Injectable, args: [{
|
|
153
|
-
providedIn: 'root'
|
|
154
|
-
},] }
|
|
155
|
-
];
|
|
156
|
-
/** @nocollapse */ LaunchDarklyService.ngInjectableDef = i0.defineInjectable({ factory: function LaunchDarklyService_Factory() { return new LaunchDarklyService(); }, token: LaunchDarklyService, providedIn: "root" });
|
|
157
|
-
return LaunchDarklyService;
|
|
158
|
-
}());
|
|
159
|
-
export { LaunchDarklyService };
|
|
160
|
-
if (false) {
|
|
161
|
-
/**
|
|
162
|
-
* @type {?}
|
|
163
|
-
* @private
|
|
164
|
-
*/
|
|
165
|
-
LaunchDarklyService.prototype.client;
|
|
166
|
-
/**
|
|
167
|
-
* @type {?}
|
|
168
|
-
* @private
|
|
169
|
-
*/
|
|
170
|
-
LaunchDarklyService.prototype.ready;
|
|
171
|
-
/**
|
|
172
|
-
* @type {?}
|
|
173
|
-
* @private
|
|
174
|
-
*/
|
|
175
|
-
LaunchDarklyService.prototype.features;
|
|
176
|
-
/**
|
|
177
|
-
* @type {?}
|
|
178
|
-
* @private
|
|
179
|
-
*/
|
|
180
|
-
LaunchDarklyService.prototype.user;
|
|
181
|
-
/**
|
|
182
|
-
* @type {?}
|
|
183
|
-
* @private
|
|
184
|
-
*/
|
|
185
|
-
LaunchDarklyService.prototype.clientId;
|
|
186
|
-
}
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF1bmNoLWRhcmtseS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGhtY3RzL3JweC14dWktY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9mZWF0dXJlLXRvZ2dsZS9sYXVuY2gtZGFya2x5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBSyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUluRTtJQUFBO1FBTXFCLFVBQUssR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDdEUsYUFBUSxHQUF5QyxFQUFFLENBQUM7UUFDN0QsU0FBSSxHQUFnQixFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUN4QyxhQUFRLEdBQVcsRUFBRSxDQUFDO0tBcURqQzs7Ozs7O0lBbkRVLHdDQUFVOzs7OztJQUFqQixVQUFrQixJQUF1QyxFQUFFLFFBQWdCO1FBQTNFLGlCQVFDO1FBUmlCLHFCQUFBLEVBQUEsU0FBc0IsU0FBUyxFQUFFLElBQUksRUFBRTtRQUNyRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU87OztRQUFFO1lBQ3BCLEtBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJOzs7WUFBQyxjQUFNLE9BQUEsS0FBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQXJCLENBQXFCLEVBQUMsQ0FBQztRQUN0RSxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7O0lBRU0sdUNBQVM7Ozs7SUFBaEIsVUFBaUIsT0FBZTtRQUM1QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQVUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7Ozs7OztJQUVNLHNDQUFROzs7OztJQUFmLFVBQXlCLE9BQWU7UUFDcEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFNLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs7Ozs7O0lBRU0sc0NBQVE7Ozs7OztJQUFmLFVBQW1CLE9BQWUsRUFBRSxZQUFlO1FBQW5ELGlCQWdCQztRQWZHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksZUFBZSxDQUFJLFlBQVksQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNYLE1BQU07Ozs7WUFBQyxVQUFBLEtBQUssSUFBSSxPQUFBLEtBQUssRUFBTCxDQUFLLEVBQUMsRUFDdEIsR0FBRzs7O1lBQUMsY0FBTSxPQUFBLEtBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsRUFBNUMsQ0FBNEMsRUFBQyxDQUMxRCxDQUFDLFNBQVM7Ozs7WUFBQyxVQUFBLEtBQUs7Z0JBQ2IsS0FBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ25DLEtBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQVUsT0FBUzs7OztnQkFBRSxVQUFDLEdBQU07b0JBQ3ZDLEtBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDLEVBQUMsQ0FBQztZQUNQLENBQUMsRUFBQyxDQUFDO1NBQ047UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM5QixvQkFBb0IsRUFBRSxDQUN6QixDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7OztPQVFHOzs7Ozs7Ozs7Ozs7SUFDSSwwQ0FBWTs7Ozs7Ozs7Ozs7SUFBbkIsVUFBdUIsT0FBZSxFQUFFLFlBQWU7UUFBdkQsaUJBS0M7UUFKRyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNsQixNQUFNOzs7O1FBQUMsVUFBQSxLQUFLLElBQUksT0FBQSxLQUFLLEVBQUwsQ0FBSyxFQUFDLEVBQ3RCLEdBQUc7OztRQUFDLGNBQU0sT0FBQSxLQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLEVBQTVDLENBQTRDLEVBQUMsQ0FDMUQsQ0FBQztJQUNOLENBQUM7O2dCQTdESixVQUFVLFNBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzs7OEJBVEQ7Q0FxRUMsQUE5REQsSUE4REM7U0EzRFksbUJBQW1COzs7Ozs7SUFFNUIscUNBQWtDOzs7OztJQUNsQyxvQ0FBdUY7Ozs7O0lBQ3ZGLHVDQUFxRTs7Ozs7SUFDckUsbUNBQWdEOzs7OztJQUNoRCx1Q0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyBMRENsaWVudCBmcm9tICdsYXVuY2hkYXJrbHktanMtY2xpZW50LXNkayc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZlYXR1cmVVc2VyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZlYXR1cmUtdXNlcic7XG5pbXBvcnQgeyBGZWF0dXJlVG9nZ2xlU2VydmljZSB9IGZyb20gJy4vZmVhdHVyZS10b2dnbGUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTGF1bmNoRGFya2x5U2VydmljZSBpbXBsZW1lbnRzIEZlYXR1cmVUb2dnbGVTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgY2xpZW50OiBMRENsaWVudC5MRENsaWVudDtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlYWR5OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZlYXR1cmVzOiBSZWNvcmQ8c3RyaW5nLCBCZWhhdmlvclN1YmplY3Q8YW55Pj4gPSB7fTtcbiAgICBwcml2YXRlIHVzZXI6IEZlYXR1cmVVc2VyID0geyBhbm9ueW1vdXM6IHRydWUgfTtcbiAgICBwcml2YXRlIGNsaWVudElkOiBzdHJpbmcgPSAnJztcblxuICAgIHB1YmxpYyBpbml0aWFsaXplKHVzZXI6IEZlYXR1cmVVc2VyID0geyBhbm9ueW1vdXM6IHRydWUgfSwgY2xpZW50SWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlYWR5Lm5leHQoZmFsc2UpO1xuICAgICAgICB0aGlzLnVzZXIgPSB1c2VyO1xuICAgICAgICB0aGlzLmNsaWVudElkID0gY2xpZW50SWQ7XG4gICAgICAgIHRoaXMuY2xpZW50ID0gTERDbGllbnQuaW5pdGlhbGl6ZSh0aGlzLmNsaWVudElkLCB0aGlzLnVzZXIsIHt9KTtcbiAgICAgICAgdGhpcy5jbGllbnQub24oJ3JlYWR5JywgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jbGllbnQuaWRlbnRpZnkodGhpcy51c2VyKS50aGVuKCgpID0+IHRoaXMucmVhZHkubmV4dCh0cnVlKSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0VuYWJsZWQoZmVhdHVyZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFZhbHVlPGJvb2xlYW4+KGZlYXR1cmUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QXJyYXk8UiA9IGFueT4oZmVhdHVyZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxSW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsdWU8UltdPihmZWF0dXJlLCBbXSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFZhbHVlPFI+KGZlYXR1cmU6IHN0cmluZywgZGVmYXVsdFZhbHVlOiBSKTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgICAgIGlmICghdGhpcy5mZWF0dXJlcy5oYXNPd25Qcm9wZXJ0eShmZWF0dXJlKSkge1xuICAgICAgICAgICAgdGhpcy5mZWF0dXJlc1tmZWF0dXJlXSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Uj4oZGVmYXVsdFZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMucmVhZHkucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIocmVhZHkgPT4gcmVhZHkpLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLmNsaWVudC52YXJpYXRpb24oZmVhdHVyZSwgZGVmYXVsdFZhbHVlKSlcbiAgICAgICAgICAgICkuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZlYXR1cmVzW2ZlYXR1cmVdLm5leHQodmFsdWUpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2xpZW50Lm9uKGBjaGFuZ2U6JHtmZWF0dXJlfWAsICh2YWw6IFIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mZWF0dXJlc1tmZWF0dXJlXS5uZXh0KHZhbCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5mZWF0dXJlc1tmZWF0dXJlXS5waXBlKFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHVybnMgYW4gb2JzZXJ2YWJsZSB0aGF0IHdpbGwgb25seSBnZXQgdGhlIHN0YXRlIG9mIHRoZSBmZWF0dXJlIHRvZ2dsZVxuICAgICAqIG9uY2UuIEl0IGNhbGxzIHRoZSBMRCBTREsgZGlyZWN0bHksIGFuZCBzaG91bGQgb25seSBiZSB1c2VkIGluIGNpcmN1bXN0YW5jZXMgd2hlcmVcbiAgICAgKiBvbmx5IG9uZSB2YWx1ZSBzaG91bGQgYmUgZW1pdHRlZCwgdGhhdCB2YWx1ZSBjb21pbmcgZGlyZWN0bHkgZnJvbSBMRC4gVGhpcyB3aWxsIGxpa2VseVxuICAgICAqIG9ubHkgYXBwbHkgZm9yIEd1YXJkcywgYW5kIHNob3VsZCBiZSB1c2VkIG9ubHkgd2hlbiBhYnNvbHV0ZWx5IG5lY2Vzc2FyeS5cbiAgICAgKiBAc2VlIGdldFZhbHVlIGZvciByZWd1bGFyIHVzYWdlLlxuICAgICAqIEBwYXJhbSBmZWF0dXJlIHN0cmluZ1xuICAgICAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgUlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRWYWx1ZU9uY2U8Uj4oZmVhdHVyZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFIpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVhZHkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcihyZWFkeSA9PiByZWFkeSksXG4gICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5jbGllbnQudmFyaWF0aW9uKGZlYXR1cmUsIGRlZmF1bHRWYWx1ZSkpXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/services/filter/filter.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { Injectable } from '@angular/core';
|
|
7
|
-
import { BehaviorSubject } from 'rxjs';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
var FilterService = /** @class */ (function () {
|
|
10
|
-
function FilterService() {
|
|
11
|
-
this.givenErrors = new BehaviorSubject(null);
|
|
12
|
-
this.isInitialSetting = false;
|
|
13
|
-
this.filterSettings = {};
|
|
14
|
-
this.streams = {};
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* @param {?} setting
|
|
18
|
-
* @param {?} persistence
|
|
19
|
-
* @return {?}
|
|
20
|
-
*/
|
|
21
|
-
FilterService.prototype.persist = /**
|
|
22
|
-
* @param {?} setting
|
|
23
|
-
* @param {?} persistence
|
|
24
|
-
* @return {?}
|
|
25
|
-
*/
|
|
26
|
-
function (setting, persistence) {
|
|
27
|
-
switch (persistence) {
|
|
28
|
-
case 'local':
|
|
29
|
-
this.persistLocal(setting);
|
|
30
|
-
break;
|
|
31
|
-
case 'session':
|
|
32
|
-
this.persistSession(setting);
|
|
33
|
-
break;
|
|
34
|
-
default:
|
|
35
|
-
break;
|
|
36
|
-
}
|
|
37
|
-
this.persistMemory(setting);
|
|
38
|
-
this.updateStreams(setting);
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* @param {?} id
|
|
42
|
-
* @return {?}
|
|
43
|
-
*/
|
|
44
|
-
FilterService.prototype.get = /**
|
|
45
|
-
* @param {?} id
|
|
46
|
-
* @return {?}
|
|
47
|
-
*/
|
|
48
|
-
function (id) {
|
|
49
|
-
if (this.filterSettings[id]) {
|
|
50
|
-
return this.filterSettings[id];
|
|
51
|
-
}
|
|
52
|
-
if (sessionStorage.getItem(id)) {
|
|
53
|
-
return JSON.parse(window.sessionStorage.getItem(id));
|
|
54
|
-
}
|
|
55
|
-
if (localStorage.getItem(id)) {
|
|
56
|
-
if (this.isSameUser(id)) {
|
|
57
|
-
return JSON.parse(window.localStorage.getItem(id));
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return null;
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* @param {?} id
|
|
67
|
-
* @return {?}
|
|
68
|
-
*/
|
|
69
|
-
FilterService.prototype.isSameUser = /**
|
|
70
|
-
* @param {?} id
|
|
71
|
-
* @return {?}
|
|
72
|
-
*/
|
|
73
|
-
function (id) {
|
|
74
|
-
/** @type {?} */
|
|
75
|
-
var filterSetting = JSON.parse(window.localStorage.getItem(id));
|
|
76
|
-
return !!filterSetting.idamId && filterSetting.idamId === this.getUserId();
|
|
77
|
-
};
|
|
78
|
-
/**
|
|
79
|
-
* @param {?} id
|
|
80
|
-
* @return {?}
|
|
81
|
-
*/
|
|
82
|
-
FilterService.prototype.getStream = /**
|
|
83
|
-
* @param {?} id
|
|
84
|
-
* @return {?}
|
|
85
|
-
*/
|
|
86
|
-
function (id) {
|
|
87
|
-
if (!this.streams[id]) {
|
|
88
|
-
this.streams[id] = new BehaviorSubject(this.get(id));
|
|
89
|
-
}
|
|
90
|
-
return this.streams[id].asObservable();
|
|
91
|
-
};
|
|
92
|
-
/**
|
|
93
|
-
* @private
|
|
94
|
-
* @param {?} setting
|
|
95
|
-
* @return {?}
|
|
96
|
-
*/
|
|
97
|
-
FilterService.prototype.persistLocal = /**
|
|
98
|
-
* @private
|
|
99
|
-
* @param {?} setting
|
|
100
|
-
* @return {?}
|
|
101
|
-
*/
|
|
102
|
-
function (setting) {
|
|
103
|
-
setting.idamId = this.getUserId();
|
|
104
|
-
window.localStorage.setItem(setting.id, JSON.stringify(setting));
|
|
105
|
-
};
|
|
106
|
-
/**
|
|
107
|
-
* @private
|
|
108
|
-
* @param {?} setting
|
|
109
|
-
* @return {?}
|
|
110
|
-
*/
|
|
111
|
-
FilterService.prototype.persistSession = /**
|
|
112
|
-
* @private
|
|
113
|
-
* @param {?} setting
|
|
114
|
-
* @return {?}
|
|
115
|
-
*/
|
|
116
|
-
function (setting) {
|
|
117
|
-
window.sessionStorage.setItem(setting.id, JSON.stringify(setting));
|
|
118
|
-
};
|
|
119
|
-
/**
|
|
120
|
-
* @private
|
|
121
|
-
* @param {?} setting
|
|
122
|
-
* @return {?}
|
|
123
|
-
*/
|
|
124
|
-
FilterService.prototype.persistMemory = /**
|
|
125
|
-
* @private
|
|
126
|
-
* @param {?} setting
|
|
127
|
-
* @return {?}
|
|
128
|
-
*/
|
|
129
|
-
function (setting) {
|
|
130
|
-
this.filterSettings[setting.id] = setting;
|
|
131
|
-
};
|
|
132
|
-
/**
|
|
133
|
-
* @private
|
|
134
|
-
* @param {?} setting
|
|
135
|
-
* @return {?}
|
|
136
|
-
*/
|
|
137
|
-
FilterService.prototype.updateStreams = /**
|
|
138
|
-
* @private
|
|
139
|
-
* @param {?} setting
|
|
140
|
-
* @return {?}
|
|
141
|
-
*/
|
|
142
|
-
function (setting) {
|
|
143
|
-
if (this.streams[setting.id]) {
|
|
144
|
-
this.streams[setting.id].next(setting);
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
/**
|
|
148
|
-
* @return {?}
|
|
149
|
-
*/
|
|
150
|
-
FilterService.prototype.getUserId = /**
|
|
151
|
-
* @return {?}
|
|
152
|
-
*/
|
|
153
|
-
function () {
|
|
154
|
-
/** @type {?} */
|
|
155
|
-
var userInfoStr = window.sessionStorage.getItem('userDetails');
|
|
156
|
-
/** @type {?} */
|
|
157
|
-
var userId;
|
|
158
|
-
if (userInfoStr) {
|
|
159
|
-
/** @type {?} */
|
|
160
|
-
var userInfo = JSON.parse(userInfoStr);
|
|
161
|
-
userId = userInfo.id ? userInfo.id : userInfo.uid;
|
|
162
|
-
}
|
|
163
|
-
return userId;
|
|
164
|
-
};
|
|
165
|
-
FilterService.decorators = [
|
|
166
|
-
{ type: Injectable, args: [{
|
|
167
|
-
providedIn: 'root'
|
|
168
|
-
},] }
|
|
169
|
-
];
|
|
170
|
-
/** @nocollapse */ FilterService.ngInjectableDef = i0.defineInjectable({ factory: function FilterService_Factory() { return new FilterService(); }, token: FilterService, providedIn: "root" });
|
|
171
|
-
return FilterService;
|
|
172
|
-
}());
|
|
173
|
-
export { FilterService };
|
|
174
|
-
if (false) {
|
|
175
|
-
/** @type {?} */
|
|
176
|
-
FilterService.prototype.givenErrors;
|
|
177
|
-
/** @type {?} */
|
|
178
|
-
FilterService.prototype.isInitialSetting;
|
|
179
|
-
/**
|
|
180
|
-
* @type {?}
|
|
181
|
-
* @private
|
|
182
|
-
*/
|
|
183
|
-
FilterService.prototype.filterSettings;
|
|
184
|
-
/**
|
|
185
|
-
* @type {?}
|
|
186
|
-
* @private
|
|
187
|
-
*/
|
|
188
|
-
FilterService.prototype.streams;
|
|
189
|
-
}
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2ZpbHRlci9maWx0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7QUFHbkQ7SUFBQTtRQUtTLGdCQUFXLEdBQW1DLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hFLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUN4QixtQkFBYyxHQUFvQyxFQUFFLENBQUM7UUFDckQsWUFBTyxHQUFxRCxFQUFFLENBQUM7S0EwRWpGOzs7Ozs7SUF4RVEsK0JBQU87Ozs7O0lBQWQsVUFBZSxPQUFzQixFQUFFLFdBQThCO1FBQ25FLFFBQVEsV0FBVyxFQUFFO1lBQ25CLEtBQUssT0FBTztnQkFDVixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQixNQUFNO1lBQ1IsS0FBSyxTQUFTO2dCQUNaLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQzdCLE1BQU07WUFDUjtnQkFDRSxNQUFNO1NBQ1Q7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUIsQ0FBQzs7Ozs7SUFFTSwyQkFBRzs7OztJQUFWLFVBQVcsRUFBVTtRQUNuQixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ2hDO1FBQ0QsSUFBSSxjQUFjLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzlCLE9B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U0EvRVksYUFBYTs7O0lBRXhCLG9DQUErRTs7SUFDL0UseUNBQXlDOzs7OztJQUN6Qyx1Q0FBc0U7Ozs7O0lBQ3RFLGdDQUFnRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmlsdGVyRXJyb3IsIEZpbHRlclBlcnNpc3RlbmNlLCBGaWx0ZXJTZXR0aW5nIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyU2VydmljZSB7XG5cbiAgcHVibGljIGdpdmVuRXJyb3JzOiBCZWhhdmlvclN1YmplY3Q8RmlsdGVyRXJyb3JbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBwdWJsaWMgaXNJbml0aWFsU2V0dGluZzogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlclNldHRpbmdzOiB7IFtpZDogc3RyaW5nXTogRmlsdGVyU2V0dGluZyB9ID0ge307XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RyZWFtczogeyBbaWQ6IHN0cmluZ106IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJTZXR0aW5nPiB9ID0ge307XG5cbiAgcHVibGljIHBlcnNpc3Qoc2V0dGluZzogRmlsdGVyU2V0dGluZywgcGVyc2lzdGVuY2U6IEZpbHRlclBlcnNpc3RlbmNlKTogdm9pZCB7XG4gICAgc3dpdGNoIChwZXJzaXN0ZW5jZSkge1xuICAgICAgY2FzZSAnbG9jYWwnOlxuICAgICAgICB0aGlzLnBlcnNpc3RMb2NhbChzZXR0aW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzZXNzaW9uJzpcbiAgICAgICAgdGhpcy5wZXJzaXN0U2Vzc2lvbihzZXR0aW5nKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5wZXJzaXN0TWVtb3J5KHNldHRpbmcpO1xuICAgIHRoaXMudXBkYXRlU3RyZWFtcyhzZXR0aW5nKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQoaWQ6IHN0cmluZyk6IEZpbHRlclNldHRpbmcgfCBudWxsIHtcbiAgICBpZiAodGhpcy5maWx0ZXJTZXR0aW5nc1tpZF0pIHtcbiAgICAgIHJldHVybiB0aGlzLmZpbHRlclNldHRpbmdzW2lkXTtcbiAgICB9XG4gICAgaWYgKHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oaWQpKSB7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZSh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShpZCkpO1xuICAgIH1cbiAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oaWQpKSB7XG4gICAgICBpZiAodGhpcy5pc1NhbWVVc2VyKGlkKSkge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZSh3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oaWQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHB1YmxpYyBpc1NhbWVVc2VyKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBmaWx0ZXJTZXR0aW5nOiBGaWx0ZXJTZXR0aW5nID0gSlNPTi5wYXJzZSh3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oaWQpKTtcbiAgICByZXR1cm4gISFmaWx0ZXJTZXR0aW5nLmlkYW1JZCAmJiBmaWx0ZXJTZXR0aW5nLmlkYW1JZCA9PT0gdGhpcy5nZXRVc2VySWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRTdHJlYW0oaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8RmlsdGVyU2V0dGluZz4ge1xuICAgIGlmICghdGhpcy5zdHJlYW1zW2lkXSkge1xuICAgICAgdGhpcy5zdHJlYW1zW2lkXSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RmlsdGVyU2V0dGluZz4odGhpcy5nZXQoaWQpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc3RyZWFtc1tpZF0uYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIHBlcnNpc3RMb2NhbChzZXR0aW5nOiBGaWx0ZXJTZXR0aW5nKTogdm9pZCB7XG4gICAgc2V0dGluZy5pZGFtSWQgPSB0aGlzLmdldFVzZXJJZCgpO1xuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShzZXR0aW5nLmlkLCBKU09OLnN0cmluZ2lmeShzZXR0aW5nKSk7XG4gIH1cblxuICBwcml2YXRlIHBlcnNpc3RTZXNzaW9uKHNldHRpbmc6IEZpbHRlclNldHRpbmcpOiB2b2lkIHtcbiAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbShzZXR0aW5nLmlkLCBKU09OLnN0cmluZ2lmeShzZXR0aW5nKSk7XG4gIH1cblxuICBwcml2YXRlIHBlcnNpc3RNZW1vcnkoc2V0dGluZzogRmlsdGVyU2V0dGluZyk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyU2V0dGluZ3Nbc2V0dGluZy5pZF0gPSBzZXR0aW5nO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTdHJlYW1zKHNldHRpbmc6IEZpbHRlclNldHRpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdHJlYW1zW3NldHRpbmcuaWRdKSB7XG4gICAgICB0aGlzLnN0cmVhbXNbc2V0dGluZy5pZF0ubmV4dChzZXR0aW5nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0VXNlcklkKCk6IHN0cmluZyB7XG4gICAgY29uc3QgdXNlckluZm9TdHIgPSB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndXNlckRldGFpbHMnKTtcbiAgICBsZXQgdXNlcklkOiBzdHJpbmc7XG4gICAgaWYgKHVzZXJJbmZvU3RyKSB7XG4gICAgICBjb25zdCB1c2VySW5mbyA9IEpTT04ucGFyc2UodXNlckluZm9TdHIpO1xuICAgICAgdXNlcklkID0gdXNlckluZm8uaWQgPyB1c2VySW5mby5pZCA6IHVzZXJJbmZvLnVpZDtcbiAgICB9XG4gICAgcmV0dXJuIHVzZXJJZDtcbiAgfVxufVxuIl19
|
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/services/find-person/find-person.service.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { HttpClient } from '@angular/common/http';
|
|
7
|
-
import { Injectable } from '@angular/core';
|
|
8
|
-
import { of } from 'rxjs';
|
|
9
|
-
import { map, tap } from 'rxjs/operators';
|
|
10
|
-
import { getAllCaseworkersFromServices, getSessionStorageKeyForServiceId, setCaseworkers } from '../../gov-ui/util/session-storage/session-storage-utils';
|
|
11
|
-
import { PersonRole, RoleCategory } from '../../models';
|
|
12
|
-
import { SessionStorageService } from '../session-storage/session-storage.service';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
import * as i1 from "@angular/common/http";
|
|
15
|
-
import * as i2 from "../session-storage/session-storage.service";
|
|
16
|
-
var FindAPersonService = /** @class */ (function () {
|
|
17
|
-
function FindAPersonService(http, sessionStorageService) {
|
|
18
|
-
this.http = http;
|
|
19
|
-
this.sessionStorageService = sessionStorageService;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @param {?} searchOptions
|
|
23
|
-
* @return {?}
|
|
24
|
-
*/
|
|
25
|
-
FindAPersonService.prototype.find = /**
|
|
26
|
-
* @param {?} searchOptions
|
|
27
|
-
* @return {?}
|
|
28
|
-
*/
|
|
29
|
-
function (searchOptions) {
|
|
30
|
-
var _this = this;
|
|
31
|
-
/** @type {?} */
|
|
32
|
-
var userInfoStr = this.sessionStorageService.getItem('userDetails');
|
|
33
|
-
if (userInfoStr && !searchOptions.userIncluded) {
|
|
34
|
-
/** @type {?} */
|
|
35
|
-
var userInfo = JSON.parse(userInfoStr);
|
|
36
|
-
this.userId = userInfo.id ? userInfo.id : userInfo.uid;
|
|
37
|
-
}
|
|
38
|
-
this.assignedUser = searchOptions.assignedUser ? searchOptions.assignedUser : null;
|
|
39
|
-
return this.http.post('/workallocation/findPerson', { searchOptions: searchOptions })
|
|
40
|
-
.pipe(map((/**
|
|
41
|
-
* @param {?} judiciary
|
|
42
|
-
* @return {?}
|
|
43
|
-
*/
|
|
44
|
-
function (judiciary) { return judiciary.filter((/**
|
|
45
|
-
* @param {?} judge
|
|
46
|
-
* @return {?}
|
|
47
|
-
*/
|
|
48
|
-
function (judge) { return !([_this.assignedUser, _this.userId].includes(judge.id)); })); })));
|
|
49
|
-
};
|
|
50
|
-
/**
|
|
51
|
-
* @param {?} searchOptions
|
|
52
|
-
* @return {?}
|
|
53
|
-
*/
|
|
54
|
-
FindAPersonService.prototype.findCaseworkers = /**
|
|
55
|
-
* @param {?} searchOptions
|
|
56
|
-
* @return {?}
|
|
57
|
-
*/
|
|
58
|
-
function (searchOptions) {
|
|
59
|
-
var _this = this;
|
|
60
|
-
/** @type {?} */
|
|
61
|
-
var userInfoStr = this.sessionStorageService.getItem('userDetails');
|
|
62
|
-
if (userInfoStr) {
|
|
63
|
-
/** @type {?} */
|
|
64
|
-
var userInfo = JSON.parse(userInfoStr);
|
|
65
|
-
this.userId = userInfo.id ? userInfo.id : userInfo.uid;
|
|
66
|
-
}
|
|
67
|
-
this.assignedUser = searchOptions.assignedUser ? searchOptions.assignedUser : null;
|
|
68
|
-
/** @type {?} */
|
|
69
|
-
var fullServices = searchOptions.services;
|
|
70
|
-
/** @type {?} */
|
|
71
|
-
var storedServices = [];
|
|
72
|
-
/** @type {?} */
|
|
73
|
-
var newServices = [];
|
|
74
|
-
/** @type {?} */
|
|
75
|
-
var storedCaseworkersByService = [];
|
|
76
|
-
fullServices.forEach((/**
|
|
77
|
-
* @param {?} serviceId
|
|
78
|
-
* @return {?}
|
|
79
|
-
*/
|
|
80
|
-
function (serviceId) {
|
|
81
|
-
/** @type {?} */
|
|
82
|
-
var serviceKey = getSessionStorageKeyForServiceId(serviceId);
|
|
83
|
-
if (_this.sessionStorageService.getItem(serviceKey)) {
|
|
84
|
-
storedServices.push(serviceId);
|
|
85
|
-
storedCaseworkersByService.push({ service: serviceId, caseworkers: JSON.parse(_this.sessionStorageService.getItem(serviceKey)) });
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
newServices.push(serviceId);
|
|
89
|
-
}
|
|
90
|
-
}));
|
|
91
|
-
// if all services are stored then return the stored caseworkers by service
|
|
92
|
-
if (storedServices.length === fullServices.length) {
|
|
93
|
-
/** @type {?} */
|
|
94
|
-
var storedCaseworkers = getAllCaseworkersFromServices(storedCaseworkersByService);
|
|
95
|
-
return of(this.searchInCaseworkers(storedCaseworkers, searchOptions));
|
|
96
|
-
}
|
|
97
|
-
// all serviceIds passed in as node layer getting used anyway and caseworkers also stored there
|
|
98
|
-
return this.http.post('/workallocation/retrieveCaseWorkersForServices', { fullServices: fullServices }).pipe(tap((/**
|
|
99
|
-
* @param {?} caseworkersByService
|
|
100
|
-
* @return {?}
|
|
101
|
-
*/
|
|
102
|
-
function (caseworkersByService) {
|
|
103
|
-
caseworkersByService.forEach((/**
|
|
104
|
-
* @param {?} caseworkerListByService
|
|
105
|
-
* @return {?}
|
|
106
|
-
*/
|
|
107
|
-
function (caseworkerListByService) {
|
|
108
|
-
// for any new service, ensure that they are then stored in the session
|
|
109
|
-
if (newServices.includes(caseworkerListByService.service)) {
|
|
110
|
-
setCaseworkers(caseworkerListByService.service, caseworkerListByService.caseworkers, _this.sessionStorageService);
|
|
111
|
-
}
|
|
112
|
-
}));
|
|
113
|
-
})), map((/**
|
|
114
|
-
* @param {?} caseworkersByService
|
|
115
|
-
* @return {?}
|
|
116
|
-
*/
|
|
117
|
-
function (caseworkersByService) {
|
|
118
|
-
/** @type {?} */
|
|
119
|
-
var givenCaseworkers = getAllCaseworkersFromServices(caseworkersByService);
|
|
120
|
-
return _this.searchInCaseworkers(givenCaseworkers, searchOptions);
|
|
121
|
-
})));
|
|
122
|
-
};
|
|
123
|
-
/**
|
|
124
|
-
* @param {?} caseworkers
|
|
125
|
-
* @param {?} roleCategory
|
|
126
|
-
* @return {?}
|
|
127
|
-
*/
|
|
128
|
-
FindAPersonService.prototype.mapCaseworkers = /**
|
|
129
|
-
* @param {?} caseworkers
|
|
130
|
-
* @param {?} roleCategory
|
|
131
|
-
* @return {?}
|
|
132
|
-
*/
|
|
133
|
-
function (caseworkers, roleCategory) {
|
|
134
|
-
/** @type {?} */
|
|
135
|
-
var people = [];
|
|
136
|
-
caseworkers.forEach((/**
|
|
137
|
-
* @param {?} caseworker
|
|
138
|
-
* @return {?}
|
|
139
|
-
*/
|
|
140
|
-
function (caseworker) {
|
|
141
|
-
/** @type {?} */
|
|
142
|
-
var thisPerson = {
|
|
143
|
-
email: caseworker.email,
|
|
144
|
-
name: caseworker.firstName + " " + caseworker.lastName,
|
|
145
|
-
id: caseworker.idamId,
|
|
146
|
-
domain: caseworker.roleCategory === RoleCategory.CASEWORKER ? PersonRole.CASEWORKER : PersonRole.ADMIN,
|
|
147
|
-
};
|
|
148
|
-
if (caseworker.roleCategory === roleCategory || roleCategory === RoleCategory.ALL) {
|
|
149
|
-
people.push(thisPerson);
|
|
150
|
-
}
|
|
151
|
-
}));
|
|
152
|
-
return people;
|
|
153
|
-
};
|
|
154
|
-
/**
|
|
155
|
-
* @param {?} caseworkers
|
|
156
|
-
* @param {?} searchOptions
|
|
157
|
-
* @return {?}
|
|
158
|
-
*/
|
|
159
|
-
FindAPersonService.prototype.searchInCaseworkers = /**
|
|
160
|
-
* @param {?} caseworkers
|
|
161
|
-
* @param {?} searchOptions
|
|
162
|
-
* @return {?}
|
|
163
|
-
*/
|
|
164
|
-
function (caseworkers, searchOptions) {
|
|
165
|
-
var _this = this;
|
|
166
|
-
/** @type {?} */
|
|
167
|
-
var roleCategory = RoleCategory.ALL;
|
|
168
|
-
if (!(searchOptions.userRole === PersonRole.ALL)) {
|
|
169
|
-
if (searchOptions.userRole === PersonRole.CASEWORKER) {
|
|
170
|
-
roleCategory = RoleCategory.CASEWORKER;
|
|
171
|
-
}
|
|
172
|
-
else if (searchOptions.userRole === PersonRole.ADMIN) {
|
|
173
|
-
roleCategory = RoleCategory.ADMIN;
|
|
174
|
-
}
|
|
175
|
-
else if (searchOptions.userRole === PersonRole.CTSC) {
|
|
176
|
-
roleCategory = RoleCategory.CTSC;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
/** @type {?} */
|
|
180
|
-
var searchTerm = searchOptions && searchOptions.searchTerm ? searchOptions.searchTerm.toLowerCase() : '';
|
|
181
|
-
/** @type {?} */
|
|
182
|
-
var people = caseworkers ? this.mapCaseworkers(caseworkers, roleCategory) : [];
|
|
183
|
-
/** @type {?} */
|
|
184
|
-
var finalPeopleList = people.filter((/**
|
|
185
|
-
* @param {?} person
|
|
186
|
-
* @return {?}
|
|
187
|
-
*/
|
|
188
|
-
function (person) { return person && person.name && person.name.toLowerCase().includes(searchTerm); }));
|
|
189
|
-
return searchOptions.userIncluded ? finalPeopleList.filter((/**
|
|
190
|
-
* @param {?} person
|
|
191
|
-
* @return {?}
|
|
192
|
-
*/
|
|
193
|
-
function (person) { return person && person.id !== _this.assignedUser; }))
|
|
194
|
-
: finalPeopleList.filter((/**
|
|
195
|
-
* @param {?} person
|
|
196
|
-
* @return {?}
|
|
197
|
-
*/
|
|
198
|
-
function (person) { return person && person.id !== _this.userId && person.id !== _this.assignedUser; }));
|
|
199
|
-
};
|
|
200
|
-
/**
|
|
201
|
-
* @param {?} value
|
|
202
|
-
* @param {?} serviceId
|
|
203
|
-
* @return {?}
|
|
204
|
-
*/
|
|
205
|
-
FindAPersonService.prototype.searchJudicial = /**
|
|
206
|
-
* @param {?} value
|
|
207
|
-
* @param {?} serviceId
|
|
208
|
-
* @return {?}
|
|
209
|
-
*/
|
|
210
|
-
function (value, serviceId) {
|
|
211
|
-
return this.http.post('api/prd/judicial/getJudicialUsersSearch', { searchString: value, serviceCode: serviceId });
|
|
212
|
-
};
|
|
213
|
-
FindAPersonService.caseworkersKey = 'caseworkers';
|
|
214
|
-
FindAPersonService.decorators = [
|
|
215
|
-
{ type: Injectable, args: [{
|
|
216
|
-
providedIn: 'root'
|
|
217
|
-
},] }
|
|
218
|
-
];
|
|
219
|
-
/** @nocollapse */
|
|
220
|
-
FindAPersonService.ctorParameters = function () { return [
|
|
221
|
-
{ type: HttpClient },
|
|
222
|
-
{ type: SessionStorageService }
|
|
223
|
-
]; };
|
|
224
|
-
/** @nocollapse */ FindAPersonService.ngInjectableDef = i0.defineInjectable({ factory: function FindAPersonService_Factory() { return new FindAPersonService(i0.inject(i1.HttpClient), i0.inject(i2.SessionStorageService)); }, token: FindAPersonService, providedIn: "root" });
|
|
225
|
-
return FindAPersonService;
|
|
226
|
-
}());
|
|
227
|
-
export { FindAPersonService };
|
|
228
|
-
if (false) {
|
|
229
|
-
/** @type {?} */
|
|
230
|
-
FindAPersonService.caseworkersKey;
|
|
231
|
-
/** @type {?} */
|
|
232
|
-
FindAPersonService.prototype.userId;
|
|
233
|
-
/** @type {?} */
|
|
234
|
-
FindAPersonService.prototype.assignedUser;
|
|
235
|
-
/**
|
|
236
|
-
* @type {?}
|
|
237
|
-
* @private
|
|
238
|
-
*/
|
|
239
|
-
FindAPersonService.prototype.http;
|
|
240
|
-
/**
|
|
241
|
-
* @type {?}
|
|
242
|
-
* @private
|
|
243
|
-
*/
|
|
244
|
-
FindAPersonService.prototype.sessionStorageService;
|
|
245
|
-
}
|
|
246
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1wZXJzb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvZmluZC1wZXJzb24vZmluZC1wZXJzb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLGdDQUFnQyxFQUNoQyxjQUFjLEVBQ2YsTUFBTSx5REFBeUQsQ0FBQztBQUNqRSxPQUFPLEVBS0wsVUFBVSxFQUNWLFlBQVksRUFFYixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7OztBQUVuRjtJQVNFLDRCQUE2QixJQUFnQixFQUFtQixxQkFBNEM7UUFBL0UsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFtQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO0lBQzVHLENBQUM7Ozs7O0lBRU0saUNBQUk7Ozs7SUFBWCxVQUFZLGFBQTRCO1FBQXhDLGlCQVNDOztZQVJPLFdBQVcsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUNyRSxJQUFJLFdBQVcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUU7O2dCQUN4QyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUM7WUFDeEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFB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TTs7OztZQUFDLFVBQUEsTUFBTSxJQUFJLE9BQUEsTUFBTSxJQUFJLE1BQU0sQ0FBQyxFQUFFLEtBQUssS0FBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsRUFBRSxLQUFLLEtBQUksQ0FBQyxZQUFZLEVBQXRFLENBQXNFLEVBQUMsQ0FBQztJQUMvRyxDQUFDOzs7Ozs7SUFFTSwyQ0FBYzs7Ozs7SUFBckIsVUFBc0IsS0FBYSxFQUFFLFNBQWlCO1FBQ3BELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXNCLHlDQUF5QyxFQUNsRixFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQWxHYSxpQ0FBYyxHQUFXLGFBQWEsQ0FBQzs7Z0JBTHRELFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBdEJRLFVBQVU7Z0JBa0JWLHFCQUFxQjs7OzZCQWxCOUI7Q0E0SEMsQUF4R0QsSUF3R0M7U0FyR1ksa0JBQWtCOzs7SUFFN0Isa0NBQXFEOztJQUNyRCxvQ0FBc0I7O0lBQ3RCLDBDQUE0Qjs7Ozs7SUFFaEIsa0NBQWlDOzs7OztJQUFFLG1EQUE2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBnZXRBbGxDYXNld29ya2Vyc0Zyb21TZXJ2aWNlcyxcbiAgZ2V0U2Vzc2lvblN0b3JhZ2VLZXlGb3JTZXJ2aWNlSWQsXG4gIHNldENhc2V3b3JrZXJzXG59IGZyb20gJy4uLy4uL2dvdi11aS91dGlsL3Nlc3Npb24tc3RvcmFnZS9zZXNzaW9uLXN0b3JhZ2UtdXRpbHMnO1xuaW1wb3J0IHtcbiAgQ2FzZXdvcmtlcixcbiAgQ2FzZXdvcmtlcnNCeVNlcnZpY2UsXG4gIEp1ZGljaWFsVXNlck1vZGVsLFxuICBQZXJzb24sXG4gIFBlcnNvblJvbGUsXG4gIFJvbGVDYXRlZ29yeSxcbiAgU2VhcmNoT3B0aW9uc1xufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbi1zdG9yYWdlL3Nlc3Npb24tc3RvcmFnZS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRmluZEFQZXJzb25TZXJ2aWNlIHtcblxuICBwdWJsaWMgc3RhdGljIGNhc2V3b3JrZXJzS2V5OiBzdHJpbmcgPSAnY2FzZXdvcmtlcnMnO1xuICBwdWJsaWMgdXNlcklkOiBzdHJpbmc7XG4gIHB1YmxpYyBhc3NpZ25lZFVzZXI6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyBmaW5kKHNlYXJjaE9wdGlvbnM6IFNlYXJjaE9wdGlvbnMpOiBPYnNlcnZhYmxlPFBlcnNvbltdPiB7XG4gICAgY29uc3QgdXNlckluZm9TdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpO1xuICAgIGlmICh1c2VySW5mb1N0ciAmJiAhc2VhcmNoT3B0aW9ucy51c2VySW5jbHVkZWQpIHtcbiAgICAgIGNvbnN0IHVzZXJJbmZvID0gSlNPTi5wYXJzZSh1c2VySW5mb1N0cik7XG4gICAgICB0aGlzLnVzZXJJZCA9IHVzZXJJbmZvLmlkID8gdXNlckluZm8uaWQgOiB1c2VySW5mby51aWQ7XG4gICAgfVxuICAgIHRoaXMuYXNzaWduZWRVc2VyID0gc2VhcmNoT3B0aW9ucy5hc3NpZ25lZFVzZXIgPyBzZWFyY2hPcHRpb25zLmFzc2lnbmVkVXNlciA6IG51bGw7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFBlcnNvbltdPignL3dvcmthbGxvY2F0aW9uL2ZpbmRQZXJzb24nLCB7IHNlYXJjaE9wdGlvbnMgfSlcbiAgICAgIC5waXBlKG1hcChqdWRpY2lhcnkgPT4ganVkaWNpYXJ5LmZpbHRlcihqdWRnZSA9PiAhKFt0aGlzLmFzc2lnbmVkVXNlciwgdGhpcy51c2VySWRdLmluY2x1ZGVzKGp1ZGdlLmlkKSkpKSk7XG4gIH1cblxuICBwdWJsaWMgZmluZENhc2V3b3JrZXJzKHNlYXJjaE9wdGlvbnM6IFNlYXJjaE9wdGlvbnMpOiBPYnNlcnZhYmxlPFBlcnNvbltdPiB7XG4gICAgY29uc3QgdXNlckluZm9TdHIgPSB0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZS5nZXRJdGVtKCd1c2VyRGV0YWlscycpO1xuICAgIGlmICh1c2VySW5mb1N0cikge1xuICAgICAgY29uc3QgdXNlckluZm8gPSBKU09OLnBhcnNlKHVzZXJJbmZvU3RyKTtcbiAgICAgIHRoaXMudXNlcklkID0gdXNlckluZm8uaWQgPyB1c2VySW5mby5pZCA6IHVzZXJJbmZvLnVpZDtcbiAgICB9XG4gICAgdGhpcy5hc3NpZ25lZFVzZXIgPSBzZWFyY2hPcHRpb25zLmFzc2lnbmVkVXNlciA/IHNlYXJjaE9wdGlvbnMuYXNzaWduZWRVc2VyIDogbnVsbDtcbiAgICBjb25zdCBmdWxsU2VydmljZXMgPSBzZWFyY2hPcHRpb25zLnNlcnZpY2VzO1xuICAgIGNvbnN0IHN0b3JlZFNlcnZpY2VzID0gW107XG4gICAgY29uc3QgbmV3U2VydmljZXM6IHN0cmluZ1tdID0gW107XG4gICAgY29uc3Qgc3RvcmVkQ2FzZXdvcmtlcnNCeVNlcnZpY2U6IENhc2V3b3JrZXJzQnlTZXJ2aWNlW10gPSBbXTtcbiAgICBmdWxsU2VydmljZXMuZm9yRWFjaChzZXJ2aWNlSWQgPT4ge1xuICAgICAgY29uc3Qgc2VydmljZUtleSA9IGdldFNlc3Npb25TdG9yYWdlS2V5Rm9yU2VydmljZUlkKHNlcnZpY2VJZCk7XG4gICAgICBpZiAodGhpcy5zZXNzaW9uU3RvcmFnZVNlcnZpY2UuZ2V0SXRlbShzZXJ2aWNlS2V5KSkge1xuICAgICAgICBzdG9yZWRTZXJ2aWNlcy5wdXNoKHNlcnZpY2VJZCk7XG4gICAgICAgIHN0b3JlZENhc2V3b3JrZXJzQnlTZXJ2aWNlLnB1c2goeyBzZXJ2aWNlOiBzZXJ2aWNlSWQsIGNhc2V3b3JrZXJzOiBKU09OLnBhcnNlKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oc2VydmljZUtleSkpIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV3U2VydmljZXMucHVzaChzZXJ2aWNlSWQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vIGlmIGFsbCBzZXJ2aWNlcyBhcmUgc3RvcmVkIHRoZW4gcmV0dXJuIHRoZSBzdG9yZWQgY2FzZXdvcmtlcnMgYnkgc2VydmljZVxuICAgIGlmIChzdG9yZWRTZXJ2aWNlcy5sZW5ndGggPT09IGZ1bGxTZXJ2aWNlcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHN0b3JlZENhc2V3b3JrZXJzID0gZ2V0QWxsQ2FzZXdvcmtlcnNGcm9tU2VydmljZXMoc3RvcmVkQ2FzZXdvcmtlcnNCeVNlcnZpY2UpO1xuICAgICAgcmV0dXJuIG9mKHRoaXMuc2VhcmNoSW5DYXNld29ya2VycyhzdG9yZWRDYXNld29ya2Vycywgc2VhcmNoT3B0aW9ucykpO1xuICAgIH1cbiAgICAvLyBhbGwgc2VydmljZUlkcyBwYXNzZWQgaW4gYXMgbm9kZSBsYXllciBnZXR0aW5nIHVzZWQgYW55d2F5IGFuZCBjYXNld29ya2VycyBhbHNvIHN0b3JlZCB0aGVyZVxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxDYXNld29ya2Vyc0J5U2VydmljZVtdPignL3dvcmthbGxvY2F0aW9uL3JldHJpZXZlQ2FzZVdvcmtlcnNGb3JTZXJ2aWNlcycsIHsgZnVsbFNlcnZpY2VzIH0pLnBpcGUoXG4gICAgICB0YXAoY2FzZXdvcmtlcnNCeVNlcnZpY2UgPT4ge1xuICAgICAgICBjYXNld29ya2Vyc0J5U2VydmljZS5mb3JFYWNoKGNhc2V3b3JrZXJMaXN0QnlTZXJ2aWNlID0+IHtcbiAgICAgICAgICAvLyBmb3IgYW55IG5ldyBzZXJ2aWNlLCBlbnN1cmUgdGhhdCB0aGV5IGFyZSB0aGVuIHN0b3JlZCBpbiB0aGUgc2Vzc2lvblxuICAgICAgICAgIGlmIChuZXdTZXJ2aWNlcy5pbmNsdWRlcyhjYXNld29ya2VyTGlzdEJ5U2VydmljZS5zZXJ2aWNlKSkge1xuICAgICAgICAgICAgc2V0Q2FzZXdvcmtlcnMoY2FzZXdvcmtlckxpc3RCeVNlcnZpY2Uuc2VydmljZSwgY2FzZXdvcmtlckxpc3RCeVNlcnZpY2UuY2FzZXdvcmtlcnMsIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSksXG4gICAgICBtYXAoY2FzZXdvcmtlcnNCeVNlcnZpY2UgPT4ge1xuICAgICAgICBjb25zdCBnaXZlbkNhc2V3b3JrZXJzID0gZ2V0QWxsQ2FzZXdvcmtlcnNGcm9tU2VydmljZXMoY2FzZXdvcmtlcnNCeVNlcnZpY2UpO1xuICAgICAgICByZXR1cm4gdGhpcy5zZWFyY2hJbkNhc2V3b3JrZXJzKGdpdmVuQ2FzZXdvcmtlcnMsIHNlYXJjaE9wdGlvbnMpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG1hcENhc2V3b3JrZXJzKGNhc2V3b3JrZXJzOiBDYXNld29ya2VyW10sIHJvbGVDYXRlZ29yeTogc3RyaW5nKTogUGVyc29uW10ge1xuICAgIGNvbnN0IHBlb3BsZTogUGVyc29uW10gPSBbXTtcbiAgICBjYXNld29ya2Vycy5mb3JFYWNoKChjYXNld29ya2VyKSA9PiB7XG4gICAgICBjb25zdCB0aGlzUGVyc29uOiBQZXJzb24gPSB7XG4gICAgICAgIGVtYWlsOiBjYXNld29ya2VyLmVtYWlsLFxuICAgICAgICBuYW1lOiBgJHtjYXNld29ya2VyLmZpcnN0TmFtZX0gJHtjYXNld29ya2VyLmxhc3ROYW1lfWAsXG4gICAgICAgIGlkOiBjYXNld29ya2VyLmlkYW1JZCxcbiAgICAgICAgZG9tYWluOiBjYXNld29ya2VyLnJvbGVDYXRlZ29yeSA9PT0gUm9sZUNhdGVnb3J5LkNBU0VXT1JLRVIgPyBQZXJzb25Sb2xlLkNBU0VXT1JLRVIgOiBQZXJzb25Sb2xlLkFETUlOLFxuICAgICAgICAvLyBrbm93bkFzIGNhbiBiZSBhZGRlZCBpZiByZXF1aXJlZFxuICAgICAgfTtcbiAgICAgIGlmIChjYXNld29ya2VyLnJvbGVDYXRlZ29yeSA9PT0gcm9sZUNhdGVnb3J5IHx8IHJvbGVDYXRlZ29yeSA9PT0gUm9sZUNhdGVnb3J5LkFMTCkge1xuICAgICAgICBwZW9wbGUucHVzaCh0aGlzUGVyc29uKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcGVvcGxlO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaEluQ2FzZXdvcmtlcnMoY2FzZXdvcmtlcnM6IENhc2V3b3JrZXJbXSwgc2VhcmNoT3B0aW9uczogU2VhcmNoT3B0aW9ucyk6IFBlcnNvbltdIHtcbiAgICBsZXQgcm9sZUNhdGVnb3J5ID0gUm9sZUNhdGVnb3J5LkFMTDtcbiAgICBpZiAoIShzZWFyY2hPcHRpb25zLnVzZXJSb2xlID09PSBQZXJzb25Sb2xlLkFMTCkpIHtcbiAgICAgIGlmIChzZWFyY2hPcHRpb25zLnVzZXJSb2xlID09PSBQZXJzb25Sb2xlLkNBU0VXT1JLRVIpIHtcbiAgICAgICAgcm9sZUNhdGVnb3J5ID0gUm9sZUNhdGVnb3J5LkNBU0VXT1JLRVI7XG4gICAgICB9IGVsc2UgaWYgKHNlYXJjaE9wdGlvbnMudXNlclJvbGUgPT09IFBlcnNvblJvbGUuQURNSU4pIHtcbiAgICAgICAgcm9sZUNhdGVnb3J5ID0gUm9sZUNhdGVnb3J5LkFETUlOO1xuICAgICAgfSBlbHNlIGlmIChzZWFyY2hPcHRpb25zLnVzZXJSb2xlID09PSBQZXJzb25Sb2xlLkNUU0MpIHtcbiAgICAgICAgcm9sZUNhdGVnb3J5ID0gUm9sZUNhdGVnb3J5LkNUU0M7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHNlYXJjaFRlcm0gPSBzZWFyY2hPcHRpb25zICYmIHNlYXJjaE9wdGlvbnMuc2VhcmNoVGVybSA/IHNlYXJjaE9wdGlvbnMuc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpIDogJyc7XG4gICAgY29uc3QgcGVvcGxlID0gY2FzZXdvcmtlcnMgPyB0aGlzLm1hcENhc2V3b3JrZXJzKGNhc2V3b3JrZXJzLCByb2xlQ2F0ZWdvcnkpIDogW107XG4gICAgY29uc3QgZmluYWxQZW9wbGVMaXN0ID0gcGVvcGxlLmZpbHRlcihwZXJzb24gPT4gcGVyc29uICYmIHBlcnNvbi5uYW1lICYmIHBlcnNvbi5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkpO1xuICAgIHJldHVybiBzZWFyY2hPcHRpb25zLnVzZXJJbmNsdWRlZCA/IGZpbmFsUGVvcGxlTGlzdC5maWx0ZXIocGVyc29uID0+IHBlcnNvbiAmJiBwZXJzb24uaWQgIT09IHRoaXMuYXNzaWduZWRVc2VyKVxuICAgICAgOiBmaW5hbFBlb3BsZUxpc3QuZmlsdGVyKHBlcnNvbiA9PiBwZXJzb24gJiYgcGVyc29uLmlkICE9PSB0aGlzLnVzZXJJZCAmJiBwZXJzb24uaWQgIT09IHRoaXMuYXNzaWduZWRVc2VyKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hKdWRpY2lhbCh2YWx1ZTogc3RyaW5nLCBzZXJ2aWNlSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8SnVkaWNpYWxVc2VyTW9kZWxbXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxKdWRpY2lhbFVzZXJNb2RlbFtdPignYXBpL3ByZC9qdWRpY2lhbC9nZXRKdWRpY2lhbFVzZXJzU2VhcmNoJyxcbiAgICAgIHsgc2VhcmNoU3RyaW5nOiB2YWx1ZSwgc2VydmljZUNvZGU6IHNlcnZpY2VJZCB9KTtcbiAgfVxufVxuXG4iXX0=
|