@hmcts/rpx-xui-common-lib 1.7.0 → 1.8.0-angular-upgrade-9
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 +4078 -6583
- package/bundles/hmcts-rpx-xui-common-lib.umd.js.map +1 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js +15 -1
- package/bundles/hmcts-rpx-xui-common-lib.umd.min.js.map +1 -1
- package/esm2015/hmcts-rpx-xui-common-lib.js +2 -7
- package/esm2015/lib/components/accessibility/accessibility.component.js +13 -17
- package/esm2015/lib/components/checkbox-list/checkbox-list.component.js +45 -127
- package/esm2015/lib/components/contact-details/contact-details.component.js +16 -23
- package/esm2015/lib/components/cookie-banner/cookie-banner.component.js +31 -78
- package/esm2015/lib/components/due-date/due-date.component.js +24 -110
- package/esm2015/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +29 -34
- package/esm2015/lib/components/find-location/find-location.component.js +61 -131
- package/esm2015/lib/components/find-person/find-person.component.js +93 -174
- package/esm2015/lib/components/generic-filter/generic-filter-utils.js +11 -55
- package/esm2015/lib/components/generic-filter/generic-filter.component.js +54 -289
- package/esm2015/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +20 -29
- package/esm2015/lib/components/index.js +2 -7
- package/esm2015/lib/components/invite-user-form/invite-user-form.component.js +23 -33
- package/esm2015/lib/components/invite-user-permissions/invite-user-permission.component.js +34 -35
- package/esm2015/lib/components/loading-spinner/loading-spinner.component.js +16 -22
- package/esm2015/lib/components/pagination/pagination.component.js +28 -38
- package/esm2015/lib/components/public_api.js +33 -33
- package/esm2015/lib/components/search-judicials/search-judicials.component.js +70 -156
- package/esm2015/lib/components/search-location/search-location.component.js +76 -177
- package/esm2015/lib/components/search-venue/search-venue.component.js +62 -154
- package/esm2015/lib/components/selected-case/selected-case.component.js +54 -191
- package/esm2015/lib/components/selected-case-confirm/selected-case-confirm.component.js +22 -53
- package/esm2015/lib/components/selected-case-list/selected-case-list.component.js +38 -68
- package/esm2015/lib/components/service-message/service-message.component.js +23 -32
- package/esm2015/lib/components/service-messages/service-messages.component.js +29 -77
- package/esm2015/lib/components/share-case/share-case.component.js +45 -104
- package/esm2015/lib/components/share-case-confirm/share-case-confirm.component.js +27 -50
- package/esm2015/lib/components/tab/tab.component.js +19 -37
- package/esm2015/lib/components/tc-confirm/tc-confirm.component.js +20 -29
- package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +13 -17
- package/esm2015/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +13 -17
- package/esm2015/lib/components/terms-and-conditions/terms-and-conditions.component.js +16 -23
- package/esm2015/lib/components/user-details/user-details.component.js +47 -57
- package/esm2015/lib/components/user-list/user-list.component.js +19 -28
- package/esm2015/lib/components/user-select/user-select.component.js +23 -64
- package/esm2015/lib/directives/feature-toggle/feature-toggle.directive.js +21 -67
- package/esm2015/lib/directives/index.js +2 -7
- package/esm2015/lib/directives/let/let.directive.js +16 -49
- package/esm2015/lib/directives/public-api.js +3 -8
- package/esm2015/lib/exui-common-lib.module.js +31 -35
- package/esm2015/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +23 -34
- package/esm2015/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +18 -23
- package/esm2015/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +30 -68
- package/esm2015/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +19 -25
- package/esm2015/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +19 -28
- package/esm2015/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +23 -36
- package/esm2015/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +23 -28
- package/esm2015/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +24 -35
- package/esm2015/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +15 -22
- package/esm2015/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +23 -35
- package/esm2015/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +18 -23
- package/esm2015/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +27 -34
- package/esm2015/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +32 -47
- package/esm2015/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +22 -29
- package/esm2015/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +20 -26
- package/esm2015/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +26 -56
- package/esm2015/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +17 -27
- package/esm2015/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +40 -52
- package/esm2015/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +29 -36
- package/esm2015/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +18 -35
- package/esm2015/lib/gov-ui/components/index.js +2 -7
- package/esm2015/lib/gov-ui/components/public_api.js +21 -7
- package/esm2015/lib/gov-ui/directives/index.js +2 -0
- package/esm2015/lib/gov-ui/directives/public_api.js +2 -0
- package/esm2015/lib/gov-ui/directives/remove-host.directive.js +12 -30
- package/esm2015/lib/gov-ui/gov-ui.service.js +12 -16
- package/esm2015/lib/gov-ui/index.js +2 -7
- package/esm2015/lib/gov-ui/models/banner-data-model.js +1 -16
- package/esm2015/lib/gov-ui/models/checkboxes-model.js +1 -22
- package/esm2015/lib/gov-ui/models/error-messages-model.js +1 -16
- package/esm2015/lib/gov-ui/models/gov-ui-config-model.js +1 -36
- package/esm2015/lib/gov-ui/models/index.js +1 -7
- package/esm2015/lib/gov-ui/models/isession-storage.interface.js +1 -24
- package/esm2015/lib/gov-ui/models/public_api.js +1 -10
- 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 +1 -26
- 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 -112
- package/esm2015/lib/models/idle-config.model.js +1 -20
- package/esm2015/lib/models/index.js +6 -18
- package/esm2015/lib/models/location.model.js +1 -108
- package/esm2015/lib/models/person.model.js +17 -92
- package/esm2015/lib/models/public_api.js +4 -11
- package/esm2015/lib/models/search-options.model.js +1 -22
- package/esm2015/lib/models/tcDocument.model.js +1 -18
- package/esm2015/lib/models/timeout-notification.model.js +1 -18
- package/esm2015/lib/models/user-details.model.js +1 -22
- package/esm2015/lib/models/user.model.js +1 -25
- package/esm2015/lib/services/case-sharing-state/case-sharing-state.service.js +19 -92
- package/esm2015/lib/services/cookie/cookie.service.js +19 -78
- package/esm2015/lib/services/feature-toggle/feature-toggle.guard.js +16 -51
- package/esm2015/lib/services/feature-toggle/feature-toggle.service.js +11 -35
- package/esm2015/lib/services/feature-toggle/launch-darkly.service.js +21 -101
- package/esm2015/lib/services/filter/filter.service.js +11 -63
- package/esm2015/lib/services/find-person/find-person.service.js +25 -130
- package/esm2015/lib/services/google-analytics/google-analytics.service.js +21 -70
- package/esm2015/lib/services/google-tag-manager/google-tag-manager.service.js +23 -71
- package/esm2015/lib/services/index.js +2 -7
- package/esm2015/lib/services/loading/loading.service.js +11 -48
- package/esm2015/lib/services/locations/location.service.js +22 -35
- package/esm2015/lib/services/manage-session/manage-session.services.js +21 -70
- package/esm2015/lib/services/public-api.js +13 -18
- package/esm2015/lib/services/role-guard/role.guard.js +24 -61
- package/esm2015/lib/services/role-guard/role.service.js +11 -28
- package/esm2015/lib/services/session-storage/session-storage.service.js +12 -24
- package/esm2015/lib/services/timeout-notifications/timeout-notifications.service.js +20 -82
- package/esm2015/lib/window.js +1 -10
- package/esm2015/public-api.js +8 -13
- package/esm5/hmcts-rpx-xui-common-lib.js +2 -7
- package/esm5/lib/components/accessibility/accessibility.component.js +10 -15
- package/esm5/lib/components/checkbox-list/checkbox-list.component.js +57 -232
- package/esm5/lib/components/contact-details/contact-details.component.js +14 -22
- package/esm5/lib/components/cookie-banner/cookie-banner.component.js +36 -106
- package/esm5/lib/components/due-date/due-date.component.js +29 -142
- package/esm5/lib/components/exui-main-wrapper/exui-page-wrapper.component.js +27 -33
- package/esm5/lib/components/find-location/find-location.component.js +71 -167
- package/esm5/lib/components/find-person/find-person.component.js +97 -193
- package/esm5/lib/components/generic-filter/generic-filter-utils.js +13 -57
- package/esm5/lib/components/generic-filter/generic-filter.component.js +83 -408
- package/esm5/lib/components/hmcts-session-dialog/hmcts-session-dialog.component.js +19 -32
- package/esm5/lib/components/index.js +2 -7
- package/esm5/lib/components/invite-user-form/invite-user-form.component.js +23 -37
- package/esm5/lib/components/invite-user-permissions/invite-user-permission.component.js +32 -34
- package/esm5/lib/components/loading-spinner/loading-spinner.component.js +14 -21
- package/esm5/lib/components/pagination/pagination.component.js +28 -45
- package/esm5/lib/components/public_api.js +33 -33
- package/esm5/lib/components/search-judicials/search-judicials.component.js +78 -198
- package/esm5/lib/components/search-location/search-location.component.js +84 -207
- package/esm5/lib/components/search-venue/search-venue.component.js +71 -199
- package/esm5/lib/components/selected-case/selected-case.component.js +72 -279
- package/esm5/lib/components/selected-case-confirm/selected-case-confirm.component.js +22 -61
- package/esm5/lib/components/selected-case-list/selected-case-list.component.js +39 -82
- package/esm5/lib/components/service-message/service-message.component.js +22 -36
- package/esm5/lib/components/service-messages/service-messages.component.js +30 -91
- package/esm5/lib/components/share-case/share-case.component.js +52 -138
- package/esm5/lib/components/share-case-confirm/share-case-confirm.component.js +25 -49
- package/esm5/lib/components/tab/tab.component.js +18 -41
- package/esm5/lib/components/tc-confirm/tc-confirm.component.js +19 -32
- package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-html/tc-display-html.component.js +10 -15
- package/esm5/lib/components/terms-and-conditions/tc-display/tc-display-plain/tc-display-plain.component.js +10 -15
- package/esm5/lib/components/terms-and-conditions/terms-and-conditions.component.js +14 -22
- package/esm5/lib/components/user-details/user-details.component.js +48 -71
- package/esm5/lib/components/user-list/user-list.component.js +18 -32
- package/esm5/lib/components/user-select/user-select.component.js +27 -92
- package/esm5/lib/directives/feature-toggle/feature-toggle.directive.js +21 -70
- package/esm5/lib/directives/index.js +2 -7
- package/esm5/lib/directives/let/let.directive.js +15 -51
- package/esm5/lib/directives/public-api.js +3 -8
- package/esm5/lib/exui-common-lib.module.js +22 -28
- package/esm5/lib/gov-ui/components/gov-uk-checkbox/gov-uk-checkbox.component.js +22 -37
- package/esm5/lib/gov-ui/components/gov-uk-checkboxes/gov-uk-checkboxes.component.js +16 -22
- package/esm5/lib/gov-ui/components/gov-uk-date/gov-uk-date.component.js +32 -89
- package/esm5/lib/gov-ui/components/gov-uk-error-message/gov-uk-error-message.component.js +17 -24
- package/esm5/lib/gov-ui/components/gov-uk-fieldset/gov-uk-fieldset.component.js +18 -31
- package/esm5/lib/gov-ui/components/gov-uk-file-upload/gov-uk-file-upload.component.js +23 -43
- package/esm5/lib/gov-ui/components/gov-uk-form-group-wrapper/gov-uk-form-group-wrapper.component.js +21 -27
- package/esm5/lib/gov-ui/components/gov-uk-input/gov-uk-input.component.js +24 -45
- package/esm5/lib/gov-ui/components/gov-uk-label/gov-uk-label.component.js +13 -21
- package/esm5/lib/gov-ui/components/gov-uk-radio/gov-uk-radio.component.js +18 -44
- package/esm5/lib/gov-ui/components/gov-uk-radios/gov-uk-radios.component.js +16 -22
- package/esm5/lib/gov-ui/components/gov-uk-select/gov-uk-select.component.js +26 -37
- package/esm5/lib/gov-ui/components/gov-uk-table/gov-uk-table.component.js +31 -51
- package/esm5/lib/gov-ui/components/gov-uk-textarea/gov-uk-textarea.component.js +21 -32
- package/esm5/lib/gov-ui/components/hmcts-banner/hmcts-banner.component.js +18 -25
- package/esm5/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.js +28 -71
- package/esm5/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.js +16 -27
- package/esm5/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.js +41 -60
- package/esm5/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.js +28 -36
- package/esm5/lib/gov-ui/components/hmcts-sub-navigation/hmcts-sub-navigation.component.js +16 -34
- package/esm5/lib/gov-ui/components/index.js +2 -7
- package/esm5/lib/gov-ui/components/public_api.js +21 -7
- package/esm5/lib/gov-ui/directives/index.js +2 -0
- package/esm5/lib/gov-ui/directives/public_api.js +2 -0
- package/esm5/lib/gov-ui/directives/remove-host.directive.js +10 -29
- package/esm5/lib/gov-ui/gov-ui.service.js +9 -14
- package/esm5/lib/gov-ui/index.js +2 -7
- package/esm5/lib/gov-ui/models/banner-data-model.js +1 -16
- package/esm5/lib/gov-ui/models/checkboxes-model.js +1 -22
- package/esm5/lib/gov-ui/models/error-messages-model.js +1 -16
- package/esm5/lib/gov-ui/models/gov-ui-config-model.js +1 -36
- package/esm5/lib/gov-ui/models/index.js +1 -7
- package/esm5/lib/gov-ui/models/isession-storage.interface.js +1 -24
- package/esm5/lib/gov-ui/models/public_api.js +1 -10
- package/esm5/lib/gov-ui/public_api.js +5 -9
- package/esm5/lib/gov-ui/util/helpers/html-templates.helper.js +3 -34
- package/esm5/lib/gov-ui/util/session-storage/session-storage-utils.js +12 -48
- package/esm5/lib/gov-ui/validators/checkboxes-be-checked.validator.js +5 -24
- package/esm5/lib/gov-ui/validators/date.validator.js +3 -20
- package/esm5/lib/gov-ui/validators/index.js +2 -7
- package/esm5/lib/gov-ui/validators/public_api.js +4 -9
- package/esm5/lib/gov-ui/validators/radio-group.validator.js +3 -15
- package/esm5/lib/models/case-share.model.js +1 -26
- package/esm5/lib/models/contact-details.model.js +7 -31
- package/esm5/lib/models/due-date.model.js +7 -14
- package/esm5/lib/models/feature-user.js +1 -16
- package/esm5/lib/models/filter.model.js +1 -112
- package/esm5/lib/models/idle-config.model.js +1 -20
- package/esm5/lib/models/index.js +6 -18
- package/esm5/lib/models/location.model.js +1 -108
- package/esm5/lib/models/person.model.js +17 -92
- package/esm5/lib/models/public_api.js +4 -11
- package/esm5/lib/models/search-options.model.js +1 -22
- package/esm5/lib/models/tcDocument.model.js +1 -18
- package/esm5/lib/models/timeout-notification.model.js +1 -18
- package/esm5/lib/models/user-details.model.js +1 -22
- package/esm5/lib/models/user.model.js +1 -25
- package/esm5/lib/services/case-sharing-state/case-sharing-state.service.js +27 -132
- package/esm5/lib/services/cookie/cookie.service.js +21 -104
- package/esm5/lib/services/feature-toggle/feature-toggle.guard.js +13 -61
- package/esm5/lib/services/feature-toggle/feature-toggle.service.js +12 -70
- package/esm5/lib/services/feature-toggle/launch-darkly.service.js +21 -142
- package/esm5/lib/services/filter/filter.service.js +15 -101
- package/esm5/lib/services/find-person/find-person.service.js +27 -152
- package/esm5/lib/services/google-analytics/google-analytics.service.js +21 -78
- package/esm5/lib/services/google-tag-manager/google-tag-manager.service.js +23 -79
- package/esm5/lib/services/index.js +2 -7
- package/esm5/lib/services/loading/loading.service.js +14 -69
- package/esm5/lib/services/locations/location.service.js +11 -50
- package/esm5/lib/services/manage-session/manage-session.services.js +20 -73
- package/esm5/lib/services/public-api.js +13 -18
- package/esm5/lib/services/role-guard/role.guard.js +22 -60
- package/esm5/lib/services/role-guard/role.service.js +10 -28
- package/esm5/lib/services/session-storage/session-storage.service.js +12 -61
- package/esm5/lib/services/timeout-notifications/timeout-notifications.service.js +19 -111
- package/esm5/lib/window.js +1 -10
- package/esm5/public-api.js +8 -13
- package/fesm2015/hmcts-rpx-xui-common-lib.js +3152 -4924
- package/fesm2015/hmcts-rpx-xui-common-lib.js.map +1 -1
- package/fesm5/hmcts-rpx-xui-common-lib.js +3458 -6178
- package/fesm5/hmcts-rpx-xui-common-lib.js.map +1 -1
- 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 +4 -2
- package/lib/components/generic-filter/generic-filter.component.d.ts +4 -2
- 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 -4
- package/lib/components/search-judicials/search-judicials.component.d.ts +1 -1
- package/lib/components/search-location/search-location.component.d.ts +4 -2
- package/lib/components/search-venue/search-venue.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 +1 -1
- package/lib/gov-ui/components/hmcts-error-summary/hmcts-error-summary.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-identity-bar/hmcts-identity-bar.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-main-wrapper/hmcts-main-wrapper.component.d.ts +1 -1
- package/lib/gov-ui/components/hmcts-primary-navigation/hmcts-primary-navigation.component.d.ts +1 -1
- package/lib/gov-ui/components/public_api.d.ts +19 -0
- package/lib/gov-ui/directives/index.d.ts +1 -0
- package/lib/gov-ui/directives/public_api.d.ts +1 -0
- package/lib/gov-ui/public_api.d.ts +2 -1
- package/lib/services/case-sharing-state/case-sharing-state.service.d.ts +1 -1
- package/lib/services/loading/loading.service.d.ts +2 -2
- package/lib/services/role-guard/role.service.d.ts +2 -1
- package/lib/window.d.ts +2 -2
- package/package.json +2 -6
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* @fileoverview added by tsickle
|
|
3
|
-
* Generated from: lib/components/selected-case/selected-case.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import * as tslib_1 from "tslib";
|
|
1
|
+
import { __decorate, __metadata, __read, __spread, __values } from "tslib";
|
|
7
2
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
8
3
|
import { map } from 'rxjs/operators';
|
|
9
4
|
import { CaseSharingStateService } from '../../services/case-sharing-state/case-sharing-state.service';
|
|
@@ -14,104 +9,40 @@ var SelectedCaseComponent = /** @class */ (function () {
|
|
|
14
9
|
this.unselect = new EventEmitter();
|
|
15
10
|
this.synchronizeStore = new EventEmitter();
|
|
16
11
|
}
|
|
17
|
-
|
|
18
|
-
* @return {?}
|
|
19
|
-
*/
|
|
20
|
-
SelectedCaseComponent.prototype.ngOnInit = /**
|
|
21
|
-
* @return {?}
|
|
22
|
-
*/
|
|
23
|
-
function () {
|
|
12
|
+
SelectedCaseComponent.prototype.ngOnInit = function () {
|
|
24
13
|
var _this = this;
|
|
25
14
|
this.shareCases$ = this.stateService.state;
|
|
26
|
-
this.shareCases$.subscribe((
|
|
27
|
-
* @param {?} shareCases
|
|
28
|
-
* @return {?}
|
|
29
|
-
*/
|
|
30
|
-
function (shareCases) { return _this.shareCases = shareCases; }));
|
|
15
|
+
this.shareCases$.subscribe(function (shareCases) { return _this.shareCases = shareCases; });
|
|
31
16
|
};
|
|
32
|
-
|
|
33
|
-
* @param {?} changes
|
|
34
|
-
* @return {?}
|
|
35
|
-
*/
|
|
36
|
-
SelectedCaseComponent.prototype.ngOnChanges = /**
|
|
37
|
-
* @param {?} changes
|
|
38
|
-
* @return {?}
|
|
39
|
-
*/
|
|
40
|
-
function (changes) {
|
|
17
|
+
SelectedCaseComponent.prototype.ngOnChanges = function (changes) {
|
|
41
18
|
if (changes.sharedCase) {
|
|
42
|
-
/** @type {?} */
|
|
43
19
|
var sharedWith = this.sharedCase.sharedWith ? this.sharedCase.sharedWith : [];
|
|
44
|
-
/** @type {?} */
|
|
45
20
|
var pendingShares = this.sharedCase.pendingShares ? this.sharedCase.pendingShares : [];
|
|
46
21
|
this.combinedSortedShares = this.combineAndSortShares(sharedWith, pendingShares);
|
|
47
22
|
}
|
|
48
23
|
};
|
|
49
|
-
|
|
50
|
-
* @return {?}
|
|
51
|
-
*/
|
|
52
|
-
SelectedCaseComponent.prototype.onUnselect = /**
|
|
53
|
-
* @return {?}
|
|
54
|
-
*/
|
|
55
|
-
function () {
|
|
24
|
+
SelectedCaseComponent.prototype.onUnselect = function () {
|
|
56
25
|
this.unselect.emit(this.sharedCase);
|
|
57
26
|
};
|
|
58
|
-
|
|
59
|
-
* @param {?} c
|
|
60
|
-
* @return {?}
|
|
61
|
-
*/
|
|
62
|
-
SelectedCaseComponent.prototype.onDeselect = /**
|
|
63
|
-
* @param {?} c
|
|
64
|
-
* @return {?}
|
|
65
|
-
*/
|
|
66
|
-
function (c) {
|
|
27
|
+
SelectedCaseComponent.prototype.onDeselect = function (c) {
|
|
67
28
|
this.unselect.emit(c);
|
|
68
29
|
};
|
|
69
|
-
|
|
70
|
-
* @param {?} user
|
|
71
|
-
* @return {?}
|
|
72
|
-
*/
|
|
73
|
-
SelectedCaseComponent.prototype.trackByUserId = /**
|
|
74
|
-
* @param {?} user
|
|
75
|
-
* @return {?}
|
|
76
|
-
*/
|
|
77
|
-
function (user) {
|
|
30
|
+
SelectedCaseComponent.prototype.trackByUserId = function (user) {
|
|
78
31
|
return user.idamId;
|
|
79
32
|
};
|
|
80
|
-
|
|
81
|
-
* @param {?} caseId
|
|
82
|
-
* @param {?} user
|
|
83
|
-
* @return {?}
|
|
84
|
-
*/
|
|
85
|
-
SelectedCaseComponent.prototype.canRemove = /**
|
|
86
|
-
* @param {?} caseId
|
|
87
|
-
* @param {?} user
|
|
88
|
-
* @return {?}
|
|
89
|
-
*/
|
|
90
|
-
function (caseId, user) {
|
|
33
|
+
SelectedCaseComponent.prototype.canRemove = function (caseId, user) {
|
|
91
34
|
var _this = this;
|
|
92
|
-
return this.shareCases$.pipe(map((
|
|
93
|
-
* @param {?} cases
|
|
94
|
-
* @return {?}
|
|
95
|
-
*/
|
|
96
|
-
function (cases) {
|
|
35
|
+
return this.shareCases$.pipe(map(function (cases) {
|
|
97
36
|
var e_1, _a;
|
|
98
37
|
if (_this.removeUserFromCaseToggleOn) {
|
|
99
38
|
try {
|
|
100
|
-
for (var cases_1 =
|
|
39
|
+
for (var cases_1 = __values(cases), cases_1_1 = cases_1.next(); !cases_1_1.done; cases_1_1 = cases_1.next()) {
|
|
101
40
|
var aCase = cases_1_1.value;
|
|
102
41
|
if (aCase.caseId === caseId) {
|
|
103
|
-
if (aCase.pendingUnshares && aCase.pendingUnshares.some((
|
|
104
|
-
* @param {?} u
|
|
105
|
-
* @return {?}
|
|
106
|
-
*/
|
|
107
|
-
function (u) { return u.idamId === user.idamId; }))) {
|
|
42
|
+
if (aCase.pendingUnshares && aCase.pendingUnshares.some(function (u) { return u.idamId === user.idamId; })) {
|
|
108
43
|
return false;
|
|
109
44
|
}
|
|
110
|
-
if (aCase.sharedWith && aCase.sharedWith.some((
|
|
111
|
-
* @param {?} u
|
|
112
|
-
* @return {?}
|
|
113
|
-
*/
|
|
114
|
-
function (u) { return u.idamId === user.idamId; }))) {
|
|
45
|
+
if (aCase.sharedWith && aCase.sharedWith.some(function (u) { return u.idamId === user.idamId; })) {
|
|
115
46
|
return true;
|
|
116
47
|
}
|
|
117
48
|
}
|
|
@@ -126,41 +57,19 @@ var SelectedCaseComponent = /** @class */ (function () {
|
|
|
126
57
|
}
|
|
127
58
|
}
|
|
128
59
|
return false;
|
|
129
|
-
}))
|
|
60
|
+
}));
|
|
130
61
|
};
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
* @param {?} user
|
|
134
|
-
* @return {?}
|
|
135
|
-
*/
|
|
136
|
-
SelectedCaseComponent.prototype.canCancel = /**
|
|
137
|
-
* @param {?} caseId
|
|
138
|
-
* @param {?} user
|
|
139
|
-
* @return {?}
|
|
140
|
-
*/
|
|
141
|
-
function (caseId, user) {
|
|
142
|
-
return this.shareCases$.pipe(map((/**
|
|
143
|
-
* @param {?} cases
|
|
144
|
-
* @return {?}
|
|
145
|
-
*/
|
|
146
|
-
function (cases) {
|
|
62
|
+
SelectedCaseComponent.prototype.canCancel = function (caseId, user) {
|
|
63
|
+
return this.shareCases$.pipe(map(function (cases) {
|
|
147
64
|
var e_2, _a;
|
|
148
65
|
try {
|
|
149
|
-
for (var cases_2 =
|
|
66
|
+
for (var cases_2 = __values(cases), cases_2_1 = cases_2.next(); !cases_2_1.done; cases_2_1 = cases_2.next()) {
|
|
150
67
|
var aCase = cases_2_1.value;
|
|
151
68
|
if (aCase.caseId === caseId) {
|
|
152
|
-
if (aCase.pendingShares && aCase.pendingShares.some((
|
|
153
|
-
* @param {?} u
|
|
154
|
-
* @return {?}
|
|
155
|
-
*/
|
|
156
|
-
function (u) { return u.idamId === user.idamId; }))) {
|
|
69
|
+
if (aCase.pendingShares && aCase.pendingShares.some(function (u) { return u.idamId === user.idamId; })) {
|
|
157
70
|
return true;
|
|
158
71
|
}
|
|
159
|
-
if (aCase.pendingUnshares && aCase.pendingUnshares.some((
|
|
160
|
-
* @param {?} u
|
|
161
|
-
* @return {?}
|
|
162
|
-
*/
|
|
163
|
-
function (u) { return u.idamId === user.idamId; }))) {
|
|
72
|
+
if (aCase.pendingUnshares && aCase.pendingUnshares.some(function (u) { return u.idamId === user.idamId; })) {
|
|
164
73
|
return true;
|
|
165
74
|
}
|
|
166
75
|
return false;
|
|
@@ -174,34 +83,16 @@ var SelectedCaseComponent = /** @class */ (function () {
|
|
|
174
83
|
}
|
|
175
84
|
finally { if (e_2) throw e_2.error; }
|
|
176
85
|
}
|
|
177
|
-
}))
|
|
86
|
+
}));
|
|
178
87
|
};
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
* @param {?} user
|
|
182
|
-
* @return {?}
|
|
183
|
-
*/
|
|
184
|
-
SelectedCaseComponent.prototype.isToBeRemoved = /**
|
|
185
|
-
* @param {?} caseId
|
|
186
|
-
* @param {?} user
|
|
187
|
-
* @return {?}
|
|
188
|
-
*/
|
|
189
|
-
function (caseId, user) {
|
|
190
|
-
return this.shareCases$.pipe(map((/**
|
|
191
|
-
* @param {?} cases
|
|
192
|
-
* @return {?}
|
|
193
|
-
*/
|
|
194
|
-
function (cases) {
|
|
88
|
+
SelectedCaseComponent.prototype.isToBeRemoved = function (caseId, user) {
|
|
89
|
+
return this.shareCases$.pipe(map(function (cases) {
|
|
195
90
|
var e_3, _a;
|
|
196
91
|
try {
|
|
197
|
-
for (var cases_3 =
|
|
92
|
+
for (var cases_3 = __values(cases), cases_3_1 = cases_3.next(); !cases_3_1.done; cases_3_1 = cases_3.next()) {
|
|
198
93
|
var aCase = cases_3_1.value;
|
|
199
94
|
if (aCase.caseId === caseId) {
|
|
200
|
-
return aCase.pendingUnshares && aCase.pendingUnshares.some((
|
|
201
|
-
* @param {?} u
|
|
202
|
-
* @return {?}
|
|
203
|
-
*/
|
|
204
|
-
function (u) { return u.idamId === user.idamId; }));
|
|
95
|
+
return aCase.pendingUnshares && aCase.pendingUnshares.some(function (u) { return u.idamId === user.idamId; });
|
|
205
96
|
}
|
|
206
97
|
}
|
|
207
98
|
}
|
|
@@ -212,34 +103,16 @@ var SelectedCaseComponent = /** @class */ (function () {
|
|
|
212
103
|
}
|
|
213
104
|
finally { if (e_3) throw e_3.error; }
|
|
214
105
|
}
|
|
215
|
-
}))
|
|
106
|
+
}));
|
|
216
107
|
};
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
* @param {?} user
|
|
220
|
-
* @return {?}
|
|
221
|
-
*/
|
|
222
|
-
SelectedCaseComponent.prototype.isToBeAdded = /**
|
|
223
|
-
* @param {?} caseId
|
|
224
|
-
* @param {?} user
|
|
225
|
-
* @return {?}
|
|
226
|
-
*/
|
|
227
|
-
function (caseId, user) {
|
|
228
|
-
return this.shareCases$.pipe(map((/**
|
|
229
|
-
* @param {?} cases
|
|
230
|
-
* @return {?}
|
|
231
|
-
*/
|
|
232
|
-
function (cases) {
|
|
108
|
+
SelectedCaseComponent.prototype.isToBeAdded = function (caseId, user) {
|
|
109
|
+
return this.shareCases$.pipe(map(function (cases) {
|
|
233
110
|
var e_4, _a;
|
|
234
111
|
try {
|
|
235
|
-
for (var cases_4 =
|
|
112
|
+
for (var cases_4 = __values(cases), cases_4_1 = cases_4.next(); !cases_4_1.done; cases_4_1 = cases_4.next()) {
|
|
236
113
|
var aCase = cases_4_1.value;
|
|
237
114
|
if (aCase.caseId === caseId) {
|
|
238
|
-
return aCase.pendingShares && aCase.pendingShares.some((
|
|
239
|
-
* @param {?} u
|
|
240
|
-
* @return {?}
|
|
241
|
-
*/
|
|
242
|
-
function (u) { return u.idamId === user.idamId; }));
|
|
115
|
+
return aCase.pendingShares && aCase.pendingShares.some(function (u) { return u.idamId === user.idamId; });
|
|
243
116
|
}
|
|
244
117
|
}
|
|
245
118
|
}
|
|
@@ -250,43 +123,17 @@ var SelectedCaseComponent = /** @class */ (function () {
|
|
|
250
123
|
}
|
|
251
124
|
finally { if (e_4) throw e_4.error; }
|
|
252
125
|
}
|
|
253
|
-
}))
|
|
126
|
+
}));
|
|
254
127
|
};
|
|
255
|
-
|
|
256
|
-
* @param {?} user
|
|
257
|
-
* @param {?} sharedCase
|
|
258
|
-
* @return {?}
|
|
259
|
-
*/
|
|
260
|
-
SelectedCaseComponent.prototype.onRemove = /**
|
|
261
|
-
* @param {?} user
|
|
262
|
-
* @param {?} sharedCase
|
|
263
|
-
* @return {?}
|
|
264
|
-
*/
|
|
265
|
-
function (user, sharedCase) {
|
|
128
|
+
SelectedCaseComponent.prototype.onRemove = function (user, sharedCase) {
|
|
266
129
|
this.stateService.requestUnshare(sharedCase.caseId, user);
|
|
267
130
|
this.synchronizeStore.emit(this.shareCases);
|
|
268
131
|
};
|
|
269
|
-
|
|
270
|
-
* @param {?} user
|
|
271
|
-
* @param {?} sharedCase
|
|
272
|
-
* @return {?}
|
|
273
|
-
*/
|
|
274
|
-
SelectedCaseComponent.prototype.onCancel = /**
|
|
275
|
-
* @param {?} user
|
|
276
|
-
* @param {?} sharedCase
|
|
277
|
-
* @return {?}
|
|
278
|
-
*/
|
|
279
|
-
function (user, sharedCase) {
|
|
132
|
+
SelectedCaseComponent.prototype.onCancel = function (user, sharedCase) {
|
|
280
133
|
this.stateService.requestCancel(sharedCase.caseId, user);
|
|
281
134
|
this.synchronizeStore.emit(this.shareCases);
|
|
282
135
|
};
|
|
283
|
-
|
|
284
|
-
* @return {?}
|
|
285
|
-
*/
|
|
286
|
-
SelectedCaseComponent.prototype.showNoUsersAccessInfo = /**
|
|
287
|
-
* @return {?}
|
|
288
|
-
*/
|
|
289
|
-
function () {
|
|
136
|
+
SelectedCaseComponent.prototype.showNoUsersAccessInfo = function () {
|
|
290
137
|
// A user is added to a case
|
|
291
138
|
if (this.sharedCase.pendingShares) {
|
|
292
139
|
if (this.sharedCase.pendingShares.length > 0) {
|
|
@@ -308,22 +155,10 @@ var SelectedCaseComponent = /** @class */ (function () {
|
|
|
308
155
|
}
|
|
309
156
|
return false;
|
|
310
157
|
};
|
|
311
|
-
|
|
312
|
-
* @return {?}
|
|
313
|
-
*/
|
|
314
|
-
SelectedCaseComponent.prototype.showUserHasAccessInfo = /**
|
|
315
|
-
* @return {?}
|
|
316
|
-
*/
|
|
317
|
-
function () {
|
|
158
|
+
SelectedCaseComponent.prototype.showUserHasAccessInfo = function () {
|
|
318
159
|
return !this.showNoUsersAccessInfo();
|
|
319
160
|
};
|
|
320
|
-
|
|
321
|
-
* @return {?}
|
|
322
|
-
*/
|
|
323
|
-
SelectedCaseComponent.prototype.showUserAccessTable = /**
|
|
324
|
-
* @return {?}
|
|
325
|
-
*/
|
|
326
|
-
function () {
|
|
161
|
+
SelectedCaseComponent.prototype.showUserAccessTable = function () {
|
|
327
162
|
if (this.sharedCase.pendingShares) {
|
|
328
163
|
if (this.sharedCase.pendingShares.length > 0) {
|
|
329
164
|
return true;
|
|
@@ -336,95 +171,53 @@ var SelectedCaseComponent = /** @class */ (function () {
|
|
|
336
171
|
}
|
|
337
172
|
return false;
|
|
338
173
|
};
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
* @param {?} pendingShares
|
|
342
|
-
* @return {?}
|
|
343
|
-
*/
|
|
344
|
-
SelectedCaseComponent.prototype.combineAndSortShares = /**
|
|
345
|
-
* @param {?} sharedWith
|
|
346
|
-
* @param {?} pendingShares
|
|
347
|
-
* @return {?}
|
|
348
|
-
*/
|
|
349
|
-
function (sharedWith, pendingShares) {
|
|
350
|
-
return tslib_1.__spread(sharedWith, pendingShares).sort((/**
|
|
351
|
-
* @param {?} user1
|
|
352
|
-
* @param {?} user2
|
|
353
|
-
* @return {?}
|
|
354
|
-
*/
|
|
355
|
-
function (user1, user2) {
|
|
174
|
+
SelectedCaseComponent.prototype.combineAndSortShares = function (sharedWith, pendingShares) {
|
|
175
|
+
return __spread(sharedWith, pendingShares).sort(function (user1, user2) {
|
|
356
176
|
return user1.firstName.toLowerCase() > user2.firstName.toLowerCase() ? 1 : (user2.firstName.toLowerCase() > user1.firstName.toLowerCase() ? -1 : 0);
|
|
357
|
-
})
|
|
177
|
+
});
|
|
358
178
|
};
|
|
359
|
-
|
|
360
|
-
* @param {?} isPending
|
|
361
|
-
* @param {?} id
|
|
362
|
-
* @return {?}
|
|
363
|
-
*/
|
|
364
|
-
SelectedCaseComponent.prototype.userIdSetter = /**
|
|
365
|
-
* @param {?} isPending
|
|
366
|
-
* @param {?} id
|
|
367
|
-
* @return {?}
|
|
368
|
-
*/
|
|
369
|
-
function (isPending, id) {
|
|
179
|
+
SelectedCaseComponent.prototype.userIdSetter = function (isPending, id) {
|
|
370
180
|
return isPending ? "pendingShares-" + id : "" + id;
|
|
371
181
|
};
|
|
372
|
-
|
|
373
|
-
* @param {?} elementName
|
|
374
|
-
* @return {?}
|
|
375
|
-
*/
|
|
376
|
-
SelectedCaseComponent.prototype.buildElementId = /**
|
|
377
|
-
* @param {?} elementName
|
|
378
|
-
* @return {?}
|
|
379
|
-
*/
|
|
380
|
-
function (elementName) {
|
|
182
|
+
SelectedCaseComponent.prototype.buildElementId = function (elementName) {
|
|
381
183
|
return elementName + "-" + this.sharedCase.caseId;
|
|
382
184
|
};
|
|
383
|
-
SelectedCaseComponent.decorators = [
|
|
384
|
-
{ type: Component, args: [{
|
|
385
|
-
selector: 'xuilib-selected-case',
|
|
386
|
-
template: "<div id=\"{{buildElementId('govuk-accordion__section')}}\" class=\"govuk-accordion__section\">\n <div class=\"govuk-grid-row govuk-case-header\">\n <div class=\"govuk-grid-column-three-quarters\">\n <h3 id=\"{{buildElementId('case-title')}}\" class=\"govuk-case-title\">{{ sharedCase.caseTitle }}</h3>\n <h1 id=\"{{buildElementId('case-id')}}\" class=\"govuk-case-sub-title\">{{ sharedCase.caseId }}</h1>\n </div>\n <div class=\"govuk-grid-column-twenty-percent\">\n <button id=\"{{buildElementId('btn-deselect-case')}}\" class=\"govuk-button hmcts-button--secondary\" (click)=\"onDeselect(sharedCase)\" title=\"Deselect case\">Deselect case</button>\n </div>\n <div class=\"govuk-accordion__section-header govuk-grid-column-five-percent\">\n <div class=\"govuk-accordion__section-heading\">\n <button type=\"button\" id=\"{{buildElementId('accordion-with-summary-sections-heading')}}\"\n aria-controls=\"accordion-with-summary-sections-content-1\" class=\"govuk-accordion__section-button\"\n aria-describedby=\"accordion-with-summary-sections-summary-1\" aria-expanded=\"false\" title=\"Expand or Collapse\">\n <span class=\"govuk-accordion__icon\" aria-hidden=\"true\"></span></button>\n </div>\n </div>\n </div>\n <div id=\"{{buildElementId('accordion-with-summary-sections-content')}}\" class=\"govuk-accordion__section-content\"\n aria-labelledby=\"buildElementId('accordion-with-summary-sections-heading')\" >\n <div class=\"govuk-grid-row\" *ngIf=\"showNoUsersAccessInfo()\">\n <span id=\"{{buildElementId('access-info-no-user')}}\" class=\"govuk-div-align-left\">No users from your organisation currently have access to this case.</span>\n </div>\n <div class=\"govuk-grid-row\" *ngIf=\"showUserHasAccessInfo()\">\n <span id=\"{{buildElementId('access-info-has-users')}}\" class=\"govuk-div-align-left\">Users from your organisation with access to this case.</span>\n </div>\n <table class=\"govuk-table\" *ngIf=\"showUserAccessTable()\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th id=\"{{buildElementId('name-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">Name</th>\n <th id=\"{{buildElementId('email-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">Email address</th>\n <th id=\"{{buildElementId('action-heading')}}\" class=\"govuk-table__header govuk-table-column-actions\" scope=\"col\">Actions</th>\n <th id=\"{{buildElementId('label-heading')}}\" class=\"govuk-table__header govuk-table-column-label\" scope=\"col\"> </th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let user of combinedSortedShares; index as idx; trackBy: trackByUserId\">\n <td id=\"user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\n <td id=\"user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.email }}</td>\n <td class=\"govuk-table__cell\">\n <a *ngIf=\"canRemove(sharedCase.caseId, user) | async\" (click)=\"onRemove(user, sharedCase)\" href=\"javascript:void(0);\">Remove <span class=\"govuk-visually-hidden\">{{ user.firstName + ' ' + user.lastName }} from case</span></a>\n <a *ngIf=\"canCancel(sharedCase.caseId, user) | async\" (click)=\"onCancel(user, sharedCase)\" href=\"javascript:void(0);\">Cancel <span class=\"govuk-visually-hidden\">adding {{ user.firstName + ' ' + user.lastName }} to case</span></a>\n </td>\n <td class=\"govuk-table__cell\">\n <span *ngIf=\"isToBeRemoved(sharedCase.caseId, user) | async\" class=\"hmcts-badge hmcts-badge--red\">To be removed</span>\n <span *ngIf=\"isToBeAdded(sharedCase.caseId, user) | async\" class=\"hmcts-badge\">To be added</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n",
|
|
387
|
-
styles: [".govuk-case-header{border-top:1px solid #bfc1c3}.govuk-case-title{font-family:nta,Arial,sans-serif;font-size:24px;color:#005ea5;font-weight:700;padding-left:0}.govuk-case-sub-title{font-family:nta,Arial,sans-serif;font-size:1rem!important;color:#6f777b;font-weight:400;padding-left:0}.govuk-grid-row{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-five-percent{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header{width:40%}.govuk-table-column-actions,.govuk-table-column-label{width:10%}.govuk-div-align-left{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header{border-top:0}.govuk-accordion__section-content{padding-top:0}"]
|
|
388
|
-
}] }
|
|
389
|
-
];
|
|
390
|
-
/** @nocollapse */
|
|
391
185
|
SelectedCaseComponent.ctorParameters = function () { return [
|
|
392
186
|
{ type: CaseSharingStateService }
|
|
393
187
|
]; };
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
188
|
+
__decorate([
|
|
189
|
+
Input(),
|
|
190
|
+
__metadata("design:type", Object)
|
|
191
|
+
], SelectedCaseComponent.prototype, "sharedCase", void 0);
|
|
192
|
+
__decorate([
|
|
193
|
+
Input(),
|
|
194
|
+
__metadata("design:type", Object)
|
|
195
|
+
], SelectedCaseComponent.prototype, "selectedUser", void 0);
|
|
196
|
+
__decorate([
|
|
197
|
+
Input(),
|
|
198
|
+
__metadata("design:type", Object)
|
|
199
|
+
], SelectedCaseComponent.prototype, "opened", void 0);
|
|
200
|
+
__decorate([
|
|
201
|
+
Input(),
|
|
202
|
+
__metadata("design:type", Boolean)
|
|
203
|
+
], SelectedCaseComponent.prototype, "removeUserFromCaseToggleOn", void 0);
|
|
204
|
+
__decorate([
|
|
205
|
+
Output(),
|
|
206
|
+
__metadata("design:type", Object)
|
|
207
|
+
], SelectedCaseComponent.prototype, "unselect", void 0);
|
|
208
|
+
__decorate([
|
|
209
|
+
Output(),
|
|
210
|
+
__metadata("design:type", Object)
|
|
211
|
+
], SelectedCaseComponent.prototype, "synchronizeStore", void 0);
|
|
212
|
+
SelectedCaseComponent = __decorate([
|
|
213
|
+
Component({
|
|
214
|
+
selector: 'xuilib-selected-case',
|
|
215
|
+
template: "<div id=\"{{buildElementId('govuk-accordion__section')}}\" class=\"govuk-accordion__section\">\n <div class=\"govuk-grid-row govuk-case-header\">\n <div class=\"govuk-grid-column-three-quarters\">\n <h3 id=\"{{buildElementId('case-title')}}\" class=\"govuk-case-title\">{{ sharedCase.caseTitle }}</h3>\n <h1 id=\"{{buildElementId('case-id')}}\" class=\"govuk-case-sub-title\">{{ sharedCase.caseId }}</h1>\n </div>\n <div class=\"govuk-grid-column-twenty-percent\">\n <button id=\"{{buildElementId('btn-deselect-case')}}\" class=\"govuk-button hmcts-button--secondary\" (click)=\"onDeselect(sharedCase)\" title=\"Deselect case\">Deselect case</button>\n </div>\n <div class=\"govuk-accordion__section-header govuk-grid-column-five-percent\">\n <div class=\"govuk-accordion__section-heading\">\n <button type=\"button\" id=\"{{buildElementId('accordion-with-summary-sections-heading')}}\"\n aria-controls=\"accordion-with-summary-sections-content-1\" class=\"govuk-accordion__section-button\"\n aria-describedby=\"accordion-with-summary-sections-summary-1\" aria-expanded=\"false\" title=\"Expand or Collapse\">\n <span class=\"govuk-accordion__icon\" aria-hidden=\"true\"></span></button>\n </div>\n </div>\n </div>\n <div id=\"{{buildElementId('accordion-with-summary-sections-content')}}\" class=\"govuk-accordion__section-content\"\n aria-labelledby=\"buildElementId('accordion-with-summary-sections-heading')\" >\n <div class=\"govuk-grid-row\" *ngIf=\"showNoUsersAccessInfo()\">\n <span id=\"{{buildElementId('access-info-no-user')}}\" class=\"govuk-div-align-left\">No users from your organisation currently have access to this case.</span>\n </div>\n <div class=\"govuk-grid-row\" *ngIf=\"showUserHasAccessInfo()\">\n <span id=\"{{buildElementId('access-info-has-users')}}\" class=\"govuk-div-align-left\">Users from your organisation with access to this case.</span>\n </div>\n <table class=\"govuk-table\" *ngIf=\"showUserAccessTable()\">\n <thead class=\"govuk-table__head\">\n <tr class=\"govuk-table__row\">\n <th id=\"{{buildElementId('name-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">Name</th>\n <th id=\"{{buildElementId('email-heading')}}\" class=\"govuk-table__header govuk-table-column-header\" scope=\"col\">Email address</th>\n <th id=\"{{buildElementId('action-heading')}}\" class=\"govuk-table__header govuk-table-column-actions\" scope=\"col\">Actions</th>\n <th id=\"{{buildElementId('label-heading')}}\" class=\"govuk-table__header govuk-table-column-label\" scope=\"col\"> </th>\n </tr>\n </thead>\n <tbody class=\"govuk-table__body\">\n <tr class=\"govuk-table__row\" *ngFor=\"let user of combinedSortedShares; index as idx; trackBy: trackByUserId\">\n <td id=\"user-full-name-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.firstName + ' ' + user.lastName }}</td>\n <td id=\"user-email-{{ userIdSetter(canCancel(sharedCase.caseId, user) | async, idx) }}\" class=\"govuk-table__cell\">{{ user.email }}</td>\n <td class=\"govuk-table__cell\">\n <a *ngIf=\"canRemove(sharedCase.caseId, user) | async\" (click)=\"onRemove(user, sharedCase)\" href=\"javascript:void(0);\">Remove <span class=\"govuk-visually-hidden\">{{ user.firstName + ' ' + user.lastName }} from case</span></a>\n <a *ngIf=\"canCancel(sharedCase.caseId, user) | async\" (click)=\"onCancel(user, sharedCase)\" href=\"javascript:void(0);\">Cancel <span class=\"govuk-visually-hidden\">adding {{ user.firstName + ' ' + user.lastName }} to case</span></a>\n </td>\n <td class=\"govuk-table__cell\">\n <span *ngIf=\"isToBeRemoved(sharedCase.caseId, user) | async\" class=\"hmcts-badge hmcts-badge--red\">To be removed</span>\n <span *ngIf=\"isToBeAdded(sharedCase.caseId, user) | async\" class=\"hmcts-badge\">To be added</span>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n",
|
|
216
|
+
styles: [".govuk-case-header{border-top:1px solid #bfc1c3}.govuk-case-title{font-family:nta,Arial,sans-serif;font-size:24px;color:#005ea5;font-weight:700;padding-left:0}.govuk-case-sub-title{font-family:nta,Arial,sans-serif;font-size:1rem!important;color:#6f777b;font-weight:400;padding-left:0}.govuk-grid-row{margin-left:0;margin-right:0}.govuk-grid-column-three-quarters{padding-top:5px;padding-left:0}.govuk-grid-column-twenty-percent{box-sizing:border-box;padding-top:10px;width:20%;float:left}.govuk-grid-column-five-percent{box-sizing:border-box;padding-top:15px;width:5%;float:left}.govuk-table-column-header{width:40%}.govuk-table-column-actions,.govuk-table-column-label{width:10%}.govuk-div-align-left{font-family:nta,Arial,sans-serif;font-size:1.1875rem!important;line-height:1.31579!important;text-align:left;margin-bottom:20px;padding-left:0;color:#0b0c0c}.govuk-accordion__section-header{border-top:0}.govuk-accordion__section-content{padding-top:0}"]
|
|
217
|
+
}),
|
|
218
|
+
__metadata("design:paramtypes", [CaseSharingStateService])
|
|
219
|
+
], SelectedCaseComponent);
|
|
402
220
|
return SelectedCaseComponent;
|
|
403
221
|
}());
|
|
404
222
|
export { SelectedCaseComponent };
|
|
405
|
-
if (false) {
|
|
406
|
-
/** @type {?} */
|
|
407
|
-
SelectedCaseComponent.prototype.sharedCase;
|
|
408
|
-
/** @type {?} */
|
|
409
|
-
SelectedCaseComponent.prototype.selectedUser;
|
|
410
|
-
/** @type {?} */
|
|
411
|
-
SelectedCaseComponent.prototype.opened;
|
|
412
|
-
/** @type {?} */
|
|
413
|
-
SelectedCaseComponent.prototype.removeUserFromCaseToggleOn;
|
|
414
|
-
/** @type {?} */
|
|
415
|
-
SelectedCaseComponent.prototype.unselect;
|
|
416
|
-
/** @type {?} */
|
|
417
|
-
SelectedCaseComponent.prototype.synchronizeStore;
|
|
418
|
-
/** @type {?} */
|
|
419
|
-
SelectedCaseComponent.prototype.shareCases;
|
|
420
|
-
/** @type {?} */
|
|
421
|
-
SelectedCaseComponent.prototype.shareCases$;
|
|
422
|
-
/** @type {?} */
|
|
423
|
-
SelectedCaseComponent.prototype.combinedSortedShares;
|
|
424
|
-
/**
|
|
425
|
-
* @type {?}
|
|
426
|
-
* @private
|
|
427
|
-
*/
|
|
428
|
-
SelectedCaseComponent.prototype.stateService;
|
|
429
|
-
}
|
|
430
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc2VsZWN0ZWQtY2FzZS9zZWxlY3RlZC1jYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFekcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRXZHO0lBb0JFLCtCQUE2QixZQUFxQztRQUFyQyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFYbEQsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUdkLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQzFDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFPVSxDQUFDOzs7O0lBRWhFLHdDQUFROzs7SUFBZjtRQUFBLGlCQUlDO1FBSEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVM7Ozs7UUFBQyxVQUFBLFVBQVUsSUFBSSxPQUFBLEtBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxFQUE1QixDQUE0QixFQUFDLENBQUM7SUFFekUsQ0FBQzs7Ozs7SUFFTSwyQ0FBVzs7OztJQUFsQixVQUFtQixPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7O2dCQUNoQixVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFOztnQkFDekUs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QUMsbUJBQWlCLEVBQUksQ0FBQyxDQUFDLENBQUMsS0FBRyxFQUFJLENBQUM7SUFDckQsQ0FBQzs7Ozs7SUFFTSw4Q0FBYzs7OztJQUFyQixVQUFzQixXQUFtQjtRQUN2QyxPQUFVLFdBQVcsU0FBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQVEsQ0FBQztJQUNwRCxDQUFDOztnQkF4S0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLHVsSUFBNkM7O2lCQUU5Qzs7OztnQkFOUSx1QkFBdUI7Ozs2QkFTN0IsS0FBSzsrQkFDTCxLQUFLO3lCQUNMLEtBQUs7NkNBQ0wsS0FBSzsyQkFFTCxNQUFNO21DQUNOLE1BQU07O0lBNEpULDRCQUFDO0NBQUEsQUF6S0QsSUF5S0M7U0FwS1kscUJBQXFCOzs7SUFFaEMsMkNBQXVDOztJQUN2Qyw2Q0FBMEM7O0lBQzFDLHVDQUErQjs7SUFDL0IsMkRBQW9EOztJQUVwRCx5Q0FBMkQ7O0lBQzNELGlEQUE0RDs7SUFFNUQsMkNBQWdDOztJQUNoQyw0Q0FBNkM7O0lBRTdDLHFEQUEyQzs7Ozs7SUFFL0IsNkNBQXNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNoYXJlZENhc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2FzZS1zaGFyZS5tb2RlbCc7XG5pbXBvcnQgeyBVc2VyRGV0YWlscyB9IGZyb20gJy4uLy4uL21vZGVscy91c2VyLWRldGFpbHMubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXNlLXNoYXJpbmctc3RhdGUvY2FzZS1zaGFyaW5nLXN0YXRlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd4dWlsaWItc2VsZWN0ZWQtY2FzZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3RlZC1jYXNlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdGVkQ2FzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKSBwdWJsaWMgc2hhcmVkQ2FzZTogU2hhcmVkQ2FzZTtcbiAgQElucHV0KCkgcHVibGljIHNlbGVjdGVkVXNlcjogVXNlckRldGFpbHM7XG4gIEBJbnB1dCgpIHB1YmxpYyBvcGVuZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIHJlbW92ZVVzZXJGcm9tQ2FzZVRvZ2dsZU9uOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKSBwdWJsaWMgdW5zZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPFNoYXJlZENhc2U+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgc3luY2hyb25pemVTdG9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHB1YmxpYyBzaGFyZUNhc2VzOiBTaGFyZWRDYXNlW107XG4gIHB1YmxpYyBzaGFyZUNhc2VzJDogT2JzZXJ2YWJsZTxTaGFyZWRDYXNlW10+O1xuXG4gIHB1YmxpYyBjb21iaW5lZFNvcnRlZFNoYXJlczogVXNlckRldGFpbHNbXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHN0YXRlU2VydmljZTogQ2FzZVNoYXJpbmdTdGF0ZVNlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNoYXJlQ2FzZXMkID0gdGhpcy5zdGF0ZVNlcnZpY2Uuc3RhdGU7XG4gICAgdGhpcy5zaGFyZUNhc2VzJC5zdWJzY3JpYmUoc2hhcmVDYXNlcyA9PiB0aGlzLnNoYXJlQ2FzZXMgPSBzaGFyZUNhc2VzKTtcblxuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5zaGFyZWRDYXNlKSB7XG4gICAgICBjb25zdCBzaGFyZWRXaXRoID0gdGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGggPyB0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aCA6IFtdO1xuICAgICAgY29uc3QgcGVuZGluZ1NoYXJlcyA9IHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzID8gdGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMgOiBbXTtcbiAgICAgIHRoaXMuY29tYmluZWRTb3J0ZWRTaGFyZXMgPSB0aGlzLmNvbWJpbmVBbmRTb3J0U2hhcmVzKHNoYXJlZFdpdGgsIHBlbmRpbmdTaGFyZXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvblVuc2VsZWN0KCk6IHZvaWQge1xuICAgIHRoaXMudW5zZWxlY3QuZW1pdCh0aGlzLnNoYXJlZENhc2UpO1xuICB9XG5cbiAgcHVibGljIG9uRGVzZWxlY3QoYzogU2hhcmVkQ2FzZSk6IHZvaWQge1xuICAgIHRoaXMudW5zZWxlY3QuZW1pdChjKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5VXNlcklkKHVzZXI6IFVzZXJEZXRhaWxzKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXNlci5pZGFtSWQ7XG4gIH1cblxuICBwdWJsaWMgY2FuUmVtb3ZlKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlQ2FzZXMkLnBpcGUobWFwKGNhc2VzID0+IHtcbiAgICAgIGlmICh0aGlzLnJlbW92ZVVzZXJGcm9tQ2FzZVRvZ2dsZU9uKSB7XG4gICAgICAgIGZvciAoY29uc3QgYUNhc2Ugb2YgY2FzZXMpIHtcbiAgICAgICAgICBpZiAoYUNhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICAgIGlmIChhQ2FzZS5wZW5kaW5nVW5zaGFyZXMgJiYgYUNhc2UucGVuZGluZ1Vuc2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChhQ2FzZS5zaGFyZWRXaXRoICYmIGFDYXNlLnNoYXJlZFdpdGguc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIGNhbkNhbmNlbChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZUNhc2VzJC5waXBlKG1hcChjYXNlcyA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGFDYXNlIG9mIGNhc2VzKSB7XG4gICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgIGlmIChhQ2FzZS5wZW5kaW5nU2hhcmVzICYmIGFDYXNlLnBlbmRpbmdTaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoYUNhc2UucGVuZGluZ1Vuc2hhcmVzICYmIGFDYXNlLnBlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1RvQmVSZW1vdmVkKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlQ2FzZXMkLnBpcGUobWFwKGNhc2VzID0+IHtcbiAgICAgIGZvciAoY29uc3QgYUNhc2Ugb2YgY2FzZXMpIHtcbiAgICAgICAgaWYgKGFDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgICAgcmV0dXJuIGFDYXNlLnBlbmRpbmdVbnNoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgaXNUb0JlQWRkZWQoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICBpZiAoYUNhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICByZXR1cm4gYUNhc2UucGVuZGluZ1NoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nU2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIG9uUmVtb3ZlKHVzZXI6IFVzZXJEZXRhaWxzLCBzaGFyZWRDYXNlOiBTaGFyZWRDYXNlKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVxdWVzdFVuc2hhcmUoc2hhcmVkQ2FzZS5jYXNlSWQsIHVzZXIpO1xuICAgIHRoaXMuc3luY2hyb25pemVTdG9yZS5lbWl0KHRoaXMuc2hhcmVDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgb25DYW5jZWwodXNlcjogVXNlckRldGFpbHMsIHNoYXJlZENhc2U6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlU2VydmljZS5yZXF1ZXN0Q2FuY2VsKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKTtcbiAgICB0aGlzLnN5bmNocm9uaXplU3RvcmUuZW1pdCh0aGlzLnNoYXJlQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIHNob3dOb1VzZXJzQWNjZXNzSW5mbygpOiBib29sZWFuIHtcbiAgICAvLyBBIHVzZXIgaXMgYWRkZWQgdG8gYSBjYXNlXG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEEgY2FzZSBoYXMgMCB1c2VycyB3aXRoIGFjY2VzcyB0byBpdFxuICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aCkge1xuICAgICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQWNjZXNzIHRvIHRoZSBsYXN0IHVzZXIgaXMgcmVtb3ZlZFxuICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aCAmJiB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1Vuc2hhcmVzKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5sZW5ndGggPiAwXG4gICAgICAgICYmIHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmxlbmd0aCA9PT0gdGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93VXNlckhhc0FjY2Vzc0luZm8oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnNob3dOb1VzZXJzQWNjZXNzSW5mbygpO1xuICB9XG5cbiAgcHVibGljIHNob3dVc2VyQWNjZXNzVGFibGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdTaGFyZXMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoKSB7XG4gICAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGNvbWJpbmVBbmRTb3J0U2hhcmVzKHNoYXJlZFdpdGg6IFVzZXJEZXRhaWxzW10sIHBlbmRpbmdTaGFyZXM6IFVzZXJEZXRhaWxzW10pOiBVc2VyRGV0YWlsc1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uc2hhcmVkV2l0aCxcbiAgICAgIC4uLnBlbmRpbmdTaGFyZXNcbiAgICBdLnNvcnQoKHVzZXIxLCB1c2VyMikgPT4ge1xuICAgICAgcmV0dXJuIHVzZXIxLmZpcnN0TmFtZS50b0xvd2VyQ2FzZSgpID4gdXNlcjIuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPyAxIDogKHVzZXIyLmZpcnN0TmFtZS50b0xvd2VyQ2FzZSgpID4gdXNlcjEuZmlyc3ROYW1lLnRvTG93ZXJDYXNlKCkgPyAtMSA6IDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHVzZXJJZFNldHRlcihpc1BlbmRpbmc6IGJvb2xlYW4sIGlkOiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBpc1BlbmRpbmcgPyBgcGVuZGluZ1NoYXJlcy0ke2lkfWAgOiBgJHtpZH1gO1xuICB9XG5cbiAgcHVibGljIGJ1aWxkRWxlbWVudElkKGVsZW1lbnROYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtlbGVtZW50TmFtZX0tJHt0aGlzLnNoYXJlZENhc2UuY2FzZUlkfWA7XG4gIH1cbn1cbiJdfQ==
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AaG1jdHMvcnB4LXh1aS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvc2VsZWN0ZWQtY2FzZS9zZWxlY3RlZC1jYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXpHLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlyQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQU92RztJQWVFLCtCQUE2QixZQUFxQztRQUFyQyxpQkFBWSxHQUFaLFlBQVksQ0FBeUI7UUFYbEQsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUdkLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBQzFDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFPVSxDQUFDO0lBRWhFLHdDQUFRLEdBQWY7UUFBQSxpQkFJQztRQUhDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsVUFBQSxVQUFVLElBQUksT0FBQSxLQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsRUFBNUIsQ0FBNEIsQ0FBQyxDQUFDO0lBRXpFLENBQUM7SUFFTSwyQ0FBVyxHQUFsQixVQUFtQixPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7WUFDdEIsSUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDaEYsSUFBTSxhQUFhLEdBQUcs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dUJBQXVCOztJQWJ6RDtRQUFSLEtBQUssRUFBRTs7NkRBQStCO0lBQzlCO1FBQVIsS0FBSyxFQUFFOzsrREFBa0M7SUFDakM7UUFBUixLQUFLLEVBQUU7O3lEQUF1QjtJQUN0QjtRQUFSLEtBQUssRUFBRTs7NkVBQTRDO0lBRTFDO1FBQVQsTUFBTSxFQUFFOzsyREFBa0Q7SUFDakQ7UUFBVCxNQUFNLEVBQUU7O21FQUFtRDtJQVJqRCxxQkFBcUI7UUFMakMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLHNCQUFzQjtZQUNoQyx1bElBQTZDOztTQUU5QyxDQUFDO3lDQWdCMkMsdUJBQXVCO09BZnZELHFCQUFxQixDQW9LakM7SUFBRCw0QkFBQztDQUFBLEFBcEtELElBb0tDO1NBcEtZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTaGFyZWRDYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Nhc2Utc2hhcmUubW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlci1kZXRhaWxzLm1vZGVsJztcbmltcG9ydCB7IENhc2VTaGFyaW5nU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2FzZS1zaGFyaW5nLXN0YXRlL2Nhc2Utc2hhcmluZy1zdGF0ZS5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneHVpbGliLXNlbGVjdGVkLWNhc2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VsZWN0ZWQtY2FzZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlbGVjdGVkLWNhc2UuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RlZENhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgcHVibGljIHNoYXJlZENhc2U6IFNoYXJlZENhc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RlZFVzZXI6IFVzZXJEZXRhaWxzO1xuICBASW5wdXQoKSBwdWJsaWMgb3BlbmVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyByZW1vdmVVc2VyRnJvbUNhc2VUb2dnbGVPbjogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgcHVibGljIHVuc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZWRDYXNlPigpO1xuICBAT3V0cHV0KCkgcHVibGljIHN5bmNocm9uaXplU3RvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBwdWJsaWMgc2hhcmVDYXNlczogU2hhcmVkQ2FzZVtdO1xuICBwdWJsaWMgc2hhcmVDYXNlcyQ6IE9ic2VydmFibGU8U2hhcmVkQ2FzZVtdPjtcblxuICBwdWJsaWMgY29tYmluZWRTb3J0ZWRTaGFyZXM6IFVzZXJEZXRhaWxzW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdGF0ZVNlcnZpY2U6IENhc2VTaGFyaW5nU3RhdGVTZXJ2aWNlKSB7IH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5zaGFyZUNhc2VzJCA9IHRoaXMuc3RhdGVTZXJ2aWNlLnN0YXRlO1xuICAgIHRoaXMuc2hhcmVDYXNlcyQuc3Vic2NyaWJlKHNoYXJlQ2FzZXMgPT4gdGhpcy5zaGFyZUNhc2VzID0gc2hhcmVDYXNlcyk7XG5cbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMuc2hhcmVkQ2FzZSkge1xuICAgICAgY29uc3Qgc2hhcmVkV2l0aCA9IHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoID8gdGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGggOiBbXTtcbiAgICAgIGNvbnN0IHBlbmRpbmdTaGFyZXMgPSB0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcyA/IHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzIDogW107XG4gICAgICB0aGlzLmNvbWJpbmVkU29ydGVkU2hhcmVzID0gdGhpcy5jb21iaW5lQW5kU29ydFNoYXJlcyhzaGFyZWRXaXRoLCBwZW5kaW5nU2hhcmVzKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25VbnNlbGVjdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc2VsZWN0LmVtaXQodGhpcy5zaGFyZWRDYXNlKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkRlc2VsZWN0KGM6IFNoYXJlZENhc2UpOiB2b2lkIHtcbiAgICB0aGlzLnVuc2VsZWN0LmVtaXQoYyk7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tCeVVzZXJJZCh1c2VyOiBVc2VyRGV0YWlscyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHVzZXIuaWRhbUlkO1xuICB9XG5cbiAgcHVibGljIGNhblJlbW92ZShjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZUNhc2VzJC5waXBlKG1hcChjYXNlcyA9PiB7XG4gICAgICBpZiAodGhpcy5yZW1vdmVVc2VyRnJvbUNhc2VUb2dnbGVPbikge1xuICAgICAgICBmb3IgKGNvbnN0IGFDYXNlIG9mIGNhc2VzKSB7XG4gICAgICAgICAgaWYgKGFDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgICAgICBpZiAoYUNhc2UucGVuZGluZ1Vuc2hhcmVzICYmIGFDYXNlLnBlbmRpbmdVbnNoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKSkge1xuICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYUNhc2Uuc2hhcmVkV2l0aCAmJiBhQ2FzZS5zaGFyZWRXaXRoLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5DYW5jZWwoY2FzZUlkOiBzdHJpbmcsIHVzZXI6IFVzZXJEZXRhaWxzKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVDYXNlcyQucGlwZShtYXAoY2FzZXMgPT4ge1xuICAgICAgZm9yIChjb25zdCBhQ2FzZSBvZiBjYXNlcykge1xuICAgICAgICBpZiAoYUNhc2UuY2FzZUlkID09PSBjYXNlSWQpIHtcbiAgICAgICAgICBpZiAoYUNhc2UucGVuZGluZ1NoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nU2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGFDYXNlLnBlbmRpbmdVbnNoYXJlcyAmJiBhQ2FzZS5wZW5kaW5nVW5zaGFyZXMuc29tZSh1ID0+IHUuaWRhbUlkID09PSB1c2VyLmlkYW1JZCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgaXNUb0JlUmVtb3ZlZChjYXNlSWQ6IHN0cmluZywgdXNlcjogVXNlckRldGFpbHMpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZUNhc2VzJC5waXBlKG1hcChjYXNlcyA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGFDYXNlIG9mIGNhc2VzKSB7XG4gICAgICAgIGlmIChhQ2FzZS5jYXNlSWQgPT09IGNhc2VJZCkge1xuICAgICAgICAgIHJldHVybiBhQ2FzZS5wZW5kaW5nVW5zaGFyZXMgJiYgYUNhc2UucGVuZGluZ1Vuc2hhcmVzLnNvbWUodSA9PiB1LmlkYW1JZCA9PT0gdXNlci5pZGFtSWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSkpO1xuICB9XG5cbiAgcHVibGljIGlzVG9CZUFkZGVkKGNhc2VJZDogc3RyaW5nLCB1c2VyOiBVc2VyRGV0YWlscyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLnNoYXJlQ2FzZXMkLnBpcGUobWFwKGNhc2VzID0+IHtcbiAgICAgIGZvciAoY29uc3QgYUNhc2Ugb2YgY2FzZXMpIHtcbiAgICAgICAgaWYgKGFDYXNlLmNhc2VJZCA9PT0gY2FzZUlkKSB7XG4gICAgICAgICAgcmV0dXJuIGFDYXNlLnBlbmRpbmdTaGFyZXMgJiYgYUNhc2UucGVuZGluZ1NoYXJlcy5zb21lKHUgPT4gdS5pZGFtSWQgPT09IHVzZXIuaWRhbUlkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxuXG4gIHB1YmxpYyBvblJlbW92ZSh1c2VyOiBVc2VyRGV0YWlscywgc2hhcmVkQ2FzZTogU2hhcmVkQ2FzZSk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVTZXJ2aWNlLnJlcXVlc3RVbnNoYXJlKHNoYXJlZENhc2UuY2FzZUlkLCB1c2VyKTtcbiAgICB0aGlzLnN5bmNocm9uaXplU3RvcmUuZW1pdCh0aGlzLnNoYXJlQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIG9uQ2FuY2VsKHVzZXI6IFVzZXJEZXRhaWxzLCBzaGFyZWRDYXNlOiBTaGFyZWRDYXNlKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZVNlcnZpY2UucmVxdWVzdENhbmNlbChzaGFyZWRDYXNlLmNhc2VJZCwgdXNlcik7XG4gICAgdGhpcy5zeW5jaHJvbml6ZVN0b3JlLmVtaXQodGhpcy5zaGFyZUNhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93Tm9Vc2Vyc0FjY2Vzc0luZm8oKTogYm9vbGVhbiB7XG4gICAgLy8gQSB1c2VyIGlzIGFkZGVkIHRvIGEgY2FzZVxuICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcykge1xuICAgICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBBIGNhc2UgaGFzIDAgdXNlcnMgd2l0aCBhY2Nlc3MgdG8gaXRcbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGgpIHtcbiAgICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIEFjY2VzcyB0byB0aGUgbGFzdCB1c2VyIGlzIHJlbW92ZWRcbiAgICBpZiAodGhpcy5zaGFyZWRDYXNlLnNoYXJlZFdpdGggJiYgdGhpcy5zaGFyZWRDYXNlLnBlbmRpbmdVbnNoYXJlcykge1xuICAgICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMubGVuZ3RoID4gMFxuICAgICAgICAmJiB0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aC5sZW5ndGggPT09IHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nVW5zaGFyZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2hvd1VzZXJIYXNBY2Nlc3NJbmZvKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5zaG93Tm9Vc2Vyc0FjY2Vzc0luZm8oKTtcbiAgfVxuXG4gIHB1YmxpYyBzaG93VXNlckFjY2Vzc1RhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnNoYXJlZENhc2UucGVuZGluZ1NoYXJlcykge1xuICAgICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5wZW5kaW5nU2hhcmVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLnNoYXJlZENhc2Uuc2hhcmVkV2l0aCkge1xuICAgICAgaWYgKHRoaXMuc2hhcmVkQ2FzZS5zaGFyZWRXaXRoLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBjb21iaW5lQW5kU29ydFNoYXJlcyhzaGFyZWRXaXRoOiBVc2VyRGV0YWlsc1tdLCBwZW5kaW5nU2hhcmVzOiBVc2VyRGV0YWlsc1tdKTogVXNlckRldGFpbHNbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnNoYXJlZFdpdGgsXG4gICAgICAuLi5wZW5kaW5nU2hhcmVzXG4gICAgXS5zb3J0KCh1c2VyMSwgdXNlcjIpID0+IHtcbiAgICAgIHJldHVybiB1c2VyMS5maXJzdE5hbWUudG9Mb3dlckNhc2UoKSA+IHVzZXIyLmZpcnN0TmFtZS50b0xvd2VyQ2FzZSgpID8gMSA6ICh1c2VyMi5maXJzdE5hbWUudG9Mb3dlckNhc2UoKSA+IHVzZXIxLmZpcnN0TmFtZS50b0xvd2VyQ2FzZSgpID8gLTEgOiAwKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyB1c2VySWRTZXR0ZXIoaXNQZW5kaW5nOiBib29sZWFuLCBpZDogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXNQZW5kaW5nID8gYHBlbmRpbmdTaGFyZXMtJHtpZH1gIDogYCR7aWR9YDtcbiAgfVxuXG4gIHB1YmxpYyBidWlsZEVsZW1lbnRJZChlbGVtZW50TmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7ZWxlbWVudE5hbWV9LSR7dGhpcy5zaGFyZWRDYXNlLmNhc2VJZH1gO1xuICB9XG59XG4iXX0=
|