@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,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* Generated from: lib/components/search-location/search-location.component.ts
|
|
4
|
-
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
-
*/
|
|
6
|
-
import { ChangeDetectorRef, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
1
|
+
import { __decorate, __metadata } from "tslib";
|
|
2
|
+
import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
|
7
3
|
import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';
|
|
8
4
|
import { debounceTime, filter, map, mergeMap, tap } from 'rxjs/operators';
|
|
9
5
|
import { LocationService } from '../../services/locations/location.service';
|
|
@@ -31,17 +27,10 @@ var SearchLocationComponent = /** @class */ (function () {
|
|
|
31
27
|
});
|
|
32
28
|
}
|
|
33
29
|
Object.defineProperty(SearchLocationComponent.prototype, "reset", {
|
|
34
|
-
get:
|
|
35
|
-
* @return {?}
|
|
36
|
-
*/
|
|
37
|
-
function () {
|
|
30
|
+
get: function () {
|
|
38
31
|
return this.pReset;
|
|
39
32
|
},
|
|
40
|
-
set:
|
|
41
|
-
* @param {?} value
|
|
42
|
-
* @return {?}
|
|
43
|
-
*/
|
|
44
|
-
function (value) {
|
|
33
|
+
set: function (value) {
|
|
45
34
|
this.pReset = value;
|
|
46
35
|
this.resetSearchTerm();
|
|
47
36
|
},
|
|
@@ -49,101 +38,34 @@ var SearchLocationComponent = /** @class */ (function () {
|
|
|
49
38
|
configurable: true
|
|
50
39
|
});
|
|
51
40
|
Object.defineProperty(SearchLocationComponent.prototype, "selectedLocations", {
|
|
52
|
-
get:
|
|
53
|
-
* @return {?}
|
|
54
|
-
*/
|
|
55
|
-
function () {
|
|
41
|
+
get: function () {
|
|
56
42
|
return this.pSelectedLocations;
|
|
57
43
|
},
|
|
58
|
-
set:
|
|
59
|
-
* @param {?} value
|
|
60
|
-
* @return {?}
|
|
61
|
-
*/
|
|
62
|
-
function (value) {
|
|
44
|
+
set: function (value) {
|
|
63
45
|
this.pSelectedLocations = value;
|
|
64
46
|
},
|
|
65
47
|
enumerable: true,
|
|
66
48
|
configurable: true
|
|
67
49
|
});
|
|
68
|
-
|
|
69
|
-
* @return {?}
|
|
70
|
-
*/
|
|
71
|
-
SearchLocationComponent.prototype.ngOnInit = /**
|
|
72
|
-
* @return {?}
|
|
73
|
-
*/
|
|
74
|
-
function () {
|
|
50
|
+
SearchLocationComponent.prototype.ngOnInit = function () {
|
|
75
51
|
if (this.singleMode && this.selectedLocations.length > 0) {
|
|
76
|
-
/** @type {?} */
|
|
77
52
|
var location_1 = this.selectedLocations[0];
|
|
78
53
|
this.form.controls.searchTerm.patchValue(location_1.site_name, { emitEvent: false, onlySelf: true });
|
|
79
54
|
}
|
|
80
55
|
this.search();
|
|
81
56
|
};
|
|
82
|
-
|
|
83
|
-
* @param {?} term
|
|
84
|
-
* @return {?}
|
|
85
|
-
*/
|
|
86
|
-
SearchLocationComponent.prototype.filter = /**
|
|
87
|
-
* @param {?} term
|
|
88
|
-
* @return {?}
|
|
89
|
-
*/
|
|
90
|
-
function (term) {
|
|
57
|
+
SearchLocationComponent.prototype.filter = function (term) {
|
|
91
58
|
var _this = this;
|
|
92
|
-
this.getLocations(term).pipe(map((
|
|
93
|
-
* @param {?} locations
|
|
94
|
-
* @return {?}
|
|
95
|
-
*/
|
|
96
|
-
function (locations) { return _this.removeSelectedLocations(locations); })));
|
|
59
|
+
this.getLocations(term).pipe(map(function (locations) { return _this.removeSelectedLocations(locations); }));
|
|
97
60
|
};
|
|
98
|
-
|
|
99
|
-
* @param {?} location
|
|
100
|
-
* @return {?}
|
|
101
|
-
*/
|
|
102
|
-
SearchLocationComponent.prototype.onSelectionChange = /**
|
|
103
|
-
* @param {?} location
|
|
104
|
-
* @return {?}
|
|
105
|
-
*/
|
|
106
|
-
function (location) {
|
|
61
|
+
SearchLocationComponent.prototype.onSelectionChange = function (location) {
|
|
107
62
|
this.form.controls.searchTerm.patchValue(location.site_name, { emitEvent: false, onlySelf: true });
|
|
108
63
|
this.locationSelected.emit(location);
|
|
109
64
|
};
|
|
110
|
-
|
|
111
|
-
* @return {?}
|
|
112
|
-
*/
|
|
113
|
-
SearchLocationComponent.prototype.search = /**
|
|
114
|
-
* @return {?}
|
|
115
|
-
*/
|
|
116
|
-
function () {
|
|
65
|
+
SearchLocationComponent.prototype.search = function () {
|
|
117
66
|
var _this = this;
|
|
118
67
|
this.form.controls.searchTerm.valueChanges
|
|
119
|
-
.pipe(tap((
|
|
120
|
-
* @param {?} term
|
|
121
|
-
* @return {?}
|
|
122
|
-
*/
|
|
123
|
-
function (term) { return _this.locationInputChanged.next(term); })), tap((/**
|
|
124
|
-
* @return {?}
|
|
125
|
-
*/
|
|
126
|
-
function () { return _this.locations = []; })), tap((/**
|
|
127
|
-
* @param {?} term
|
|
128
|
-
* @return {?}
|
|
129
|
-
*/
|
|
130
|
-
function (term) { return _this.term = term; })), filter((/**
|
|
131
|
-
* @param {?} term
|
|
132
|
-
* @return {?}
|
|
133
|
-
*/
|
|
134
|
-
function (term) { return !!term && term.length >= _this.minSearchCharacters; })), debounceTime(this.delay), mergeMap((/**
|
|
135
|
-
* @param {?} value
|
|
136
|
-
* @return {?}
|
|
137
|
-
*/
|
|
138
|
-
function (value) { return _this.getLocations(value); })), map((/**
|
|
139
|
-
* @param {?} locations
|
|
140
|
-
* @return {?}
|
|
141
|
-
*/
|
|
142
|
-
function (locations) { return _this.removeSelectedLocations(locations); }))).subscribe((/**
|
|
143
|
-
* @param {?} locations
|
|
144
|
-
* @return {?}
|
|
145
|
-
*/
|
|
146
|
-
function (locations) {
|
|
68
|
+
.pipe(tap(function (term) { return _this.locationInputChanged.next(term); }), tap(function () { return _this.locations = []; }), tap(function (term) { return _this.term = term; }), filter(function (term) { return !!term && term.length >= _this.minSearchCharacters; }), debounceTime(this.delay), mergeMap(function (value) { return _this.getLocations(value); }), map(function (locations) { return _this.removeSelectedLocations(locations); })).subscribe(function (locations) {
|
|
147
69
|
_this.locations = locations;
|
|
148
70
|
_this.cd.markForCheck();
|
|
149
71
|
if (locations.length === 1 && _this.term === locations[0].site_name && !_this.singleMode) {
|
|
@@ -152,138 +74,93 @@ var SearchLocationComponent = /** @class */ (function () {
|
|
|
152
74
|
return;
|
|
153
75
|
}
|
|
154
76
|
_this.showAutocomplete = true;
|
|
155
|
-
})
|
|
77
|
+
});
|
|
156
78
|
};
|
|
157
|
-
|
|
158
|
-
* @param {?} term
|
|
159
|
-
* @return {?}
|
|
160
|
-
*/
|
|
161
|
-
SearchLocationComponent.prototype.getLocations = /**
|
|
162
|
-
* @param {?} term
|
|
163
|
-
* @return {?}
|
|
164
|
-
*/
|
|
165
|
-
function (term) {
|
|
79
|
+
SearchLocationComponent.prototype.getLocations = function (term) {
|
|
166
80
|
return this.locationService.getAllLocations(this.serviceIds, this.locationType, term);
|
|
167
81
|
};
|
|
168
|
-
|
|
169
|
-
* @return {?}
|
|
170
|
-
*/
|
|
171
|
-
SearchLocationComponent.prototype.resetSearchTerm = /**
|
|
172
|
-
* @return {?}
|
|
173
|
-
*/
|
|
174
|
-
function () {
|
|
82
|
+
SearchLocationComponent.prototype.resetSearchTerm = function () {
|
|
175
83
|
this.form.controls.searchTerm.patchValue('', { emitEvent: false, onlySelf: true });
|
|
176
84
|
};
|
|
177
|
-
|
|
178
|
-
* @private
|
|
179
|
-
* @param {?} locations
|
|
180
|
-
* @return {?}
|
|
181
|
-
*/
|
|
182
|
-
SearchLocationComponent.prototype.removeSelectedLocations = /**
|
|
183
|
-
* @private
|
|
184
|
-
* @param {?} locations
|
|
185
|
-
* @return {?}
|
|
186
|
-
*/
|
|
187
|
-
function (locations) {
|
|
85
|
+
SearchLocationComponent.prototype.removeSelectedLocations = function (locations) {
|
|
188
86
|
var _this = this;
|
|
189
87
|
if (this.singleMode) {
|
|
190
88
|
return locations;
|
|
191
89
|
}
|
|
192
|
-
return locations.filter((
|
|
193
|
-
* @param {?} location
|
|
194
|
-
* @return {?}
|
|
195
|
-
*/
|
|
196
|
-
function (location) { return !_this.selectedLocations.map((/**
|
|
197
|
-
* @param {?} selectedLocation
|
|
198
|
-
* @return {?}
|
|
199
|
-
*/
|
|
200
|
-
function (selectedLocation) { return selectedLocation.epimms_id; })).includes(location.epimms_id) && location.site_name; }));
|
|
90
|
+
return locations.filter(function (location) { return !_this.selectedLocations.map(function (selectedLocation) { return selectedLocation.epimms_id; }).includes(location.epimms_id) && location.site_name; });
|
|
201
91
|
};
|
|
202
|
-
SearchLocationComponent.decorators = [
|
|
203
|
-
{ type: Component, args: [{
|
|
204
|
-
selector: 'exui-search-location',
|
|
205
|
-
template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n [formControl]=\"form.controls.searchTerm\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <mat-option *ngFor=\"let location of locations\"\n (onSelectionChange)=\"onSelectionChange(location)\">\n {{ location.site_name }}\n </mat-option>\n <mat-option *ngIf=\"!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters\">No results found</mat-option>\n </mat-autocomplete>\n</div>\n",
|
|
206
|
-
styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]
|
|
207
|
-
}] }
|
|
208
|
-
];
|
|
209
|
-
/** @nocollapse */
|
|
210
92
|
SearchLocationComponent.ctorParameters = function () { return [
|
|
211
93
|
{ type: LocationService },
|
|
212
94
|
{ type: FormBuilder },
|
|
213
95
|
{ type: ChangeDetectorRef }
|
|
214
96
|
]; };
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
97
|
+
__decorate([
|
|
98
|
+
Input(),
|
|
99
|
+
__metadata("design:type", AbstractControl)
|
|
100
|
+
], SearchLocationComponent.prototype, "control", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
Input(),
|
|
103
|
+
__metadata("design:type", Boolean)
|
|
104
|
+
], SearchLocationComponent.prototype, "disabled", void 0);
|
|
105
|
+
__decorate([
|
|
106
|
+
Input(),
|
|
107
|
+
__metadata("design:type", Boolean)
|
|
108
|
+
], SearchLocationComponent.prototype, "singleMode", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
Input(),
|
|
111
|
+
__metadata("design:type", String)
|
|
112
|
+
], SearchLocationComponent.prototype, "locationType", void 0);
|
|
113
|
+
__decorate([
|
|
114
|
+
Input(),
|
|
115
|
+
__metadata("design:type", String)
|
|
116
|
+
], SearchLocationComponent.prototype, "serviceIds", void 0);
|
|
117
|
+
__decorate([
|
|
118
|
+
Input(),
|
|
119
|
+
__metadata("design:type", Boolean)
|
|
120
|
+
], SearchLocationComponent.prototype, "submitted", void 0);
|
|
121
|
+
__decorate([
|
|
122
|
+
Input(),
|
|
123
|
+
__metadata("design:type", Number)
|
|
124
|
+
], SearchLocationComponent.prototype, "delay", void 0);
|
|
125
|
+
__decorate([
|
|
126
|
+
Input(),
|
|
127
|
+
__metadata("design:type", FormGroup)
|
|
128
|
+
], SearchLocationComponent.prototype, "form", void 0);
|
|
129
|
+
__decorate([
|
|
130
|
+
Input(),
|
|
131
|
+
__metadata("design:type", Boolean)
|
|
132
|
+
], SearchLocationComponent.prototype, "showAutocomplete", void 0);
|
|
133
|
+
__decorate([
|
|
134
|
+
Input(),
|
|
135
|
+
__metadata("design:type", Array)
|
|
136
|
+
], SearchLocationComponent.prototype, "locations", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
Output(),
|
|
139
|
+
__metadata("design:type", Object)
|
|
140
|
+
], SearchLocationComponent.prototype, "locationSelected", void 0);
|
|
141
|
+
__decorate([
|
|
142
|
+
Output(),
|
|
143
|
+
__metadata("design:type", EventEmitter)
|
|
144
|
+
], SearchLocationComponent.prototype, "locationInputChanged", void 0);
|
|
145
|
+
__decorate([
|
|
146
|
+
Input(),
|
|
147
|
+
__metadata("design:type", Boolean),
|
|
148
|
+
__metadata("design:paramtypes", [Boolean])
|
|
149
|
+
], SearchLocationComponent.prototype, "reset", null);
|
|
150
|
+
__decorate([
|
|
151
|
+
Input(),
|
|
152
|
+
__metadata("design:type", Array),
|
|
153
|
+
__metadata("design:paramtypes", [Array])
|
|
154
|
+
], SearchLocationComponent.prototype, "selectedLocations", null);
|
|
155
|
+
SearchLocationComponent = __decorate([
|
|
156
|
+
Component({
|
|
157
|
+
selector: 'exui-search-location',
|
|
158
|
+
template: "<div class=\"auto-complete-container\">\n <input\n id=\"inputLocationSearch\"\n [formControl]=\"form.controls.searchTerm\"\n [matAutocomplete]=\"autoSearchLocation\"\n class=\"govuk-input\"\n [attr.disabled]=\"disabled\">\n <mat-autocomplete class=\"mat-autocomplete-panel-extend\" autoActiveFirstOption #autoSearchLocation=\"matAutocomplete\">\n <mat-option *ngFor=\"let location of locations\"\n (onSelectionChange)=\"onSelectionChange(location)\">\n {{ location.site_name }}\n </mat-option>\n <mat-option *ngIf=\"!locations.length && showAutocomplete && term && term.length >= this.minSearchCharacters\">No results found</mat-option>\n </mat-autocomplete>\n</div>\n",
|
|
159
|
+
styles: [".autocomplete__input--show-all-values{padding:5px 34px 5px 5px;cursor:pointer}.autocomplete__dropdown-arrow-down{z-index:-1;display:inline-block;position:absolute;right:8px;width:24px;height:24px;top:10px}.autocomplete__menu{background-color:#fff;border:2px solid #0b0c0c;border-top:0;color:#0b0c0c;margin:0;max-height:342px;overflow-x:hidden;padding:0;width:100%;width:calc(100% - 4px)}.autocomplete__menu--visible{display:block}.autocomplete__menu--hidden{display:none}.autocomplete__menu--overlay{box-shadow:rgba(0,0,0,.256863) 0 2px 6px;left:0;position:absolute;top:100%;z-index:100}.autocomplete__menu--inline{position:relative}.autocomplete__option{border-bottom:solid #b1b4b6;border-width:1px 0;cursor:pointer;display:block;position:relative}.autocomplete__option>*{pointer-events:none}.autocomplete__option:first-of-type{border-top-width:0}.autocomplete__option:last-of-type{border-bottom-width:0}.autocomplete__option--odd{background-color:#fafafa}.autocomplete__option--focused,.autocomplete__option:hover{background-color:#1d70b8;border-color:#1d70b8;color:#fff;outline:0}.autocomplete__option--no-results{background-color:#fafafa;color:#646b6f;cursor:not-allowed}.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.25}.autocomplete__hint,.autocomplete__option{padding:5px}@media (min-width:641px){.autocomplete__hint,.autocomplete__input,.autocomplete__option{font-size:13px;line-height:1.31579}}.div-action{display:inline-block}.add-location{display:inline}.remove-location-button{margin:5px}.hide-autocomplete{display:none}.auto-complete-container{min-width:550px;display:inline-block;margin-right:4px}.autocomplete__input{line-height:24px;font-size:19px}"]
|
|
160
|
+
}),
|
|
161
|
+
__metadata("design:paramtypes", [LocationService, FormBuilder, ChangeDetectorRef])
|
|
162
|
+
], SearchLocationComponent);
|
|
231
163
|
return SearchLocationComponent;
|
|
232
164
|
}());
|
|
233
165
|
export { SearchLocationComponent };
|
|
234
|
-
if (false) {
|
|
235
|
-
/** @type {?} */
|
|
236
|
-
SearchLocationComponent.prototype.control;
|
|
237
|
-
/** @type {?} */
|
|
238
|
-
SearchLocationComponent.prototype.disabled;
|
|
239
|
-
/** @type {?} */
|
|
240
|
-
SearchLocationComponent.prototype.singleMode;
|
|
241
|
-
/** @type {?} */
|
|
242
|
-
SearchLocationComponent.prototype.locationType;
|
|
243
|
-
/** @type {?} */
|
|
244
|
-
SearchLocationComponent.prototype.serviceIds;
|
|
245
|
-
/** @type {?} */
|
|
246
|
-
SearchLocationComponent.prototype.submitted;
|
|
247
|
-
/** @type {?} */
|
|
248
|
-
SearchLocationComponent.prototype.delay;
|
|
249
|
-
/** @type {?} */
|
|
250
|
-
SearchLocationComponent.prototype.form;
|
|
251
|
-
/** @type {?} */
|
|
252
|
-
SearchLocationComponent.prototype.showAutocomplete;
|
|
253
|
-
/** @type {?} */
|
|
254
|
-
SearchLocationComponent.prototype.locations;
|
|
255
|
-
/** @type {?} */
|
|
256
|
-
SearchLocationComponent.prototype.locationSelected;
|
|
257
|
-
/** @type {?} */
|
|
258
|
-
SearchLocationComponent.prototype.locationInputChanged;
|
|
259
|
-
/** @type {?} */
|
|
260
|
-
SearchLocationComponent.prototype.minSearchCharacters;
|
|
261
|
-
/** @type {?} */
|
|
262
|
-
SearchLocationComponent.prototype.term;
|
|
263
|
-
/**
|
|
264
|
-
* @type {?}
|
|
265
|
-
* @private
|
|
266
|
-
*/
|
|
267
|
-
SearchLocationComponent.prototype.pSelectedLocations;
|
|
268
|
-
/**
|
|
269
|
-
* @type {?}
|
|
270
|
-
* @private
|
|
271
|
-
*/
|
|
272
|
-
SearchLocationComponent.prototype.pReset;
|
|
273
|
-
/**
|
|
274
|
-
* @type {?}
|
|
275
|
-
* @private
|
|
276
|
-
*/
|
|
277
|
-
SearchLocationComponent.prototype.locationService;
|
|
278
|
-
/**
|
|
279
|
-
* @type {?}
|
|
280
|
-
* @private
|
|
281
|
-
*/
|
|
282
|
-
SearchLocationComponent.prototype.fb;
|
|
283
|
-
/**
|
|
284
|
-
* @type {?}
|
|
285
|
-
* @private
|
|
286
|
-
*/
|
|
287
|
-
SearchLocationComponent.prototype.cd;
|
|
288
|
-
}
|
|
289
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zZWFyY2gtbG9jYXRpb24vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFFMUU7SUF1QkUsaUNBQTZCLGVBQWdDLEVBQW1CLEVBQWUsRUFBbUIsRUFBcUI7UUFBMUcsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQW1CLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBbUIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFoQnZILGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGNBQVMsR0FBYSxJQUFJLENBQUM7UUFDM0IsVUFBSyxHQUFZLEdBQUcsQ0FBQztRQUVyQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsY0FBUyxHQUE0QixFQUFFLENBQUM7UUFDdkMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFDN0QseUJBQW9CLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekUsd0JB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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Fic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtMb2NhdGlvbkJ5RVBJTU1TTW9kZWx9IGZyb20gJy4uLy4uL21vZGVscy9sb2NhdGlvbi5tb2RlbCc7XG5pbXBvcnQge0xvY2F0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9jYXRpb25zL2xvY2F0aW9uLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdleHVpLXNlYXJjaC1sb2NhdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtbG9jYXRpb24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hMb2NhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBjb250cm9sOiBBYnN0cmFjdENvbnRyb2w7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IG51bGw7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaW5nbGVNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2NhdGlvblR5cGU6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgc2VydmljZUlkczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzdWJtaXR0ZWQ/OiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgcHVibGljIGRlbGF5PzogbnVtYmVyID0gNTAwO1xuICBASW5wdXQoKSBwdWJsaWMgZm9ybTogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBwdWJsaWMgc2hvd0F1dG9jb21wbGV0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBwdWJsaWMgbG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSA9IFtdO1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPExvY2F0aW9uQnlFUElNTVNNb2RlbD4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBsb2NhdGlvbklucHV0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgcHVibGljIHJlYWRvbmx5IG1pblNlYXJjaENoYXJhY3RlcnMgPSAzO1xuICBwdWJsaWMgdGVybTogc3RyaW5nID0gJyc7XG4gIHByaXZhdGUgcFNlbGVjdGVkTG9jYXRpb25zOiBhbnlbXSA9IFtdO1xuICBwcml2YXRlIHBSZXNldDogYm9vbGVhbiA9IHRydWU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBsb2NhdGlvblNlcnZpY2U6IExvY2F0aW9uU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsIHByaXZhdGUgcmVhZG9ubHkgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBzZWFyY2hUZXJtOiBbJyddXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc2V0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBSZXNldDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcmVzZXQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnBSZXNldCA9IHZhbHVlO1xuICAgIHRoaXMucmVzZXRTZWFyY2hUZXJtKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkTG9jYXRpb25zKCk6IGFueVtdIHtcbiAgICByZXR1cm4gdGhpcy5wU2VsZWN0ZWRMb2NhdGlvbnM7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkTG9jYXRpb25zKHZhbHVlOiBhbnlbXSkge1xuICAgIHRoaXMucFNlbGVjdGVkTG9jYXRpb25zID0gdmFsdWU7XG5cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zaW5nbGVNb2RlICYmIHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbG9jYXRpb24gPSB0aGlzLnNlbGVjdGVkTG9jYXRpb25zWzBdO1xuICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnNlYXJjaFRlcm0ucGF0Y2hWYWx1ZShsb2NhdGlvbi5zaXRlX25hbWUsIHtlbWl0RXZlbnQ6IGZhbHNlLCBvbmx5U2VsZjogdHJ1ZX0pO1xuICAgIH1cbiAgICB0aGlzLnNlYXJjaCgpO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcih0ZXJtOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmdldExvY2F0aW9ucyh0ZXJtKS5waXBlKFxuICAgICAgbWFwKChsb2NhdGlvbnMpID0+IHRoaXMucmVtb3ZlU2VsZWN0ZWRMb2NhdGlvbnMobG9jYXRpb25zKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3Rpb25DaGFuZ2UobG9jYXRpb246IExvY2F0aW9uQnlFUElNTVNNb2RlbCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5jb250cm9scy5zZWFyY2hUZXJtLnBhdGNoVmFsdWUobG9jYXRpb24uc2l0ZV9uYW1lLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgICB0aGlzLmxvY2F0aW9uU2VsZWN0ZWQuZW1pdChsb2NhdGlvbik7XG4gIH1cblxuICBwdWJsaWMgc2VhcmNoKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5jb250cm9scy5zZWFyY2hUZXJtLnZhbHVlQ2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgodGVybSkgPT4gdGhpcy5sb2NhdGlvbklucHV0Q2hhbmdlZC5uZXh0KHRlcm0pKSxcbiAgICAgICAgdGFwKCgpID0+IHRoaXMubG9jYXRpb25zID0gW10pLFxuICAgICAgICB0YXAoKHRlcm0pID0+IHRoaXMudGVybSA9IHRlcm0pLFxuICAgICAgICBmaWx0ZXIodGVybSA9PiAhIXRlcm0gJiYgdGVybS5sZW5ndGggPj0gdGhpcy5taW5TZWFyY2hDaGFyYWN0ZXJzKSxcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZGVsYXkpLFxuICAgICAgICBtZXJnZU1hcCh2YWx1ZSA9PiB0aGlzLmdldExvY2F0aW9ucyh2YWx1ZSkpLFxuICAgICAgICBtYXAoKGxvY2F0aW9ucykgPT4gdGhpcy5yZW1vdmVTZWxlY3RlZExvY2F0aW9ucyhsb2NhdGlvbnMpKVxuICAgICAgKS5zdWJzY3JpYmUobG9jYXRpb25zID0+IHtcbiAgICAgIHRoaXMubG9jYXRpb25zID0gbG9jYXRpb25zO1xuICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIGlmIChsb2NhdGlvbnMubGVuZ3RoID09PSAxICYmIHRoaXMudGVybSA9PT0gbG9jYXRpb25zWzBdLnNpdGVfbmFtZSAmJiAhdGhpcy5zaW5nbGVNb2RlKSB7XG4gICAgICAgIHRoaXMubG9jYXRpb25TZWxlY3RlZC5lbWl0KGxvY2F0aW9uc1swXSk7XG4gICAgICAgIHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IGZhbHNlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldExvY2F0aW9ucyh0ZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPExvY2F0aW9uQnlFUElNTVNNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMubG9jYXRpb25TZXJ2aWNlLmdldEFsbExvY2F0aW9ucyh0aGlzLnNlcnZpY2VJZHMsIHRoaXMubG9jYXRpb25UeXBlLCB0ZXJtKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldFNlYXJjaFRlcm0oKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnNlYXJjaFRlcm0ucGF0Y2hWYWx1ZSgnJywge2VtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlfSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVNlbGVjdGVkTG9jYXRpb25zKGxvY2F0aW9uczogTG9jYXRpb25CeUVQSU1NU01vZGVsW10pOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSB7XG4gICAgaWYgKHRoaXMuc2luZ2xlTW9kZSkge1xuICAgICAgcmV0dXJuIGxvY2F0aW9ucztcbiAgICB9XG4gICAgcmV0dXJuIGxvY2F0aW9ucy5maWx0ZXIoXG4gICAgICBsb2NhdGlvbiA9PiAhdGhpcy5zZWxlY3RlZExvY2F0aW9ucy5tYXAoc2VsZWN0ZWRMb2NhdGlvbiA9PiBzZWxlY3RlZExvY2F0aW9uLmVwaW1tc19pZCkuaW5jbHVkZXMobG9jYXRpb24uZXBpbW1zX2lkKSAmJiBsb2NhdGlvbi5zaXRlX25hbWVcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BobWN0cy9ycHgteHVpLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9zZWFyY2gtbG9jYXRpb24vc2VhcmNoLWxvY2F0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEcsT0FBTyxFQUFDLGVBQWUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkUsT0FBTyxFQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFPMUU7SUFrQkUsaUNBQTZCLGVBQWdDLEVBQW1CLEVBQWUsRUFBbUIsRUFBcUI7UUFBMUcsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQW1CLE9BQUUsR0FBRixFQUFFLENBQWE7UUFBbUIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFoQnZILGFBQVEsR0FBWSxJQUFJLENBQUM7UUFDekIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUM1QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUMxQixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGNBQVMsR0FBYSxJQUFJLENBQUM7UUFDM0IsVUFBSyxHQUFZLEdBQUcsQ0FBQztRQUVyQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsY0FBUyxHQUE0QixFQUFFLENBQUM7UUFDdkMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFDN0QseUJBQW9CLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFD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Y2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWJzdHJhY3RDb250cm9sLCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBtZXJnZU1hcCwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0xvY2F0aW9uQnlFUElNTVNNb2RlbH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xvY2F0aW9uLm1vZGVsJztcbmltcG9ydCB7TG9jYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2NhdGlvbnMvbG9jYXRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2V4dWktc2VhcmNoLWxvY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NlYXJjaC1sb2NhdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaExvY2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgQElucHV0KCkgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gbnVsbDtcbiAgQElucHV0KCkgcHVibGljIHNpbmdsZU1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGxvY2F0aW9uVHlwZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHB1YmxpYyBzZXJ2aWNlSWRzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcHVibGljIHN1Ym1pdHRlZD86IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBwdWJsaWMgZGVsYXk/OiBudW1iZXIgPSA1MDA7XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaG93QXV0b2NvbXBsZXRlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBsb2NhdGlvbnM6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdID0gW107XG4gIEBPdXRwdXQoKSBwdWJsaWMgbG9jYXRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TG9jYXRpb25CeUVQSU1NU01vZGVsPigpO1xuICBAT3V0cHV0KCkgcHVibGljIGxvY2F0aW9uSW5wdXRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBwdWJsaWMgcmVhZG9ubHkgbWluU2VhcmNoQ2hhcmFjdGVycyA9IDM7XG4gIHB1YmxpYyB0ZXJtOiBzdHJpbmcgPSAnJztcbiAgcHJpdmF0ZSBwU2VsZWN0ZWRMb2NhdGlvbnM6IGFueVtdID0gW107XG4gIHByaXZhdGUgcFJlc2V0OiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uU2VydmljZTogTG9jYXRpb25TZXJ2aWNlLCBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlciwgcHJpdmF0ZSByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIHNlYXJjaFRlcm06IFsnJ11cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzZXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucFJlc2V0O1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByZXNldCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMucFJlc2V0ID0gdmFsdWU7XG4gICAgdGhpcy5yZXNldFNlYXJjaFRlcm0oKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRMb2NhdGlvbnMoKTogYW55W10ge1xuICAgIHJldHVybiB0aGlzLnBTZWxlY3RlZExvY2F0aW9ucztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc2VsZWN0ZWRMb2NhdGlvbnModmFsdWU6IGFueVtdKSB7XG4gICAgdGhpcy5wU2VsZWN0ZWRMb2NhdGlvbnMgPSB2YWx1ZTtcblxuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNpbmdsZU1vZGUgJiYgdGhpcy5zZWxlY3RlZExvY2F0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBsb2NhdGlvbiA9IHRoaXMuc2VsZWN0ZWRMb2NhdGlvbnNbMF07XG4gICAgICB0aGlzLmZvcm0uY29udHJvbHMuc2VhcmNoVGVybS5wYXRjaFZhbHVlKGxvY2F0aW9uLnNpdGVfbmFtZSwge2VtaXRFdmVudDogZmFsc2UsIG9ubHlTZWxmOiB0cnVlfSk7XG4gICAgfVxuICAgIHRoaXMuc2VhcmNoKCk7XG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKHRlcm06IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZ2V0TG9jYXRpb25zKHRlcm0pLnBpcGUoXG4gICAgICBtYXAoKGxvY2F0aW9ucykgPT4gdGhpcy5yZW1vdmVTZWxlY3RlZExvY2F0aW9ucyhsb2NhdGlvbnMpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdGlvbkNoYW5nZShsb2NhdGlvbjogTG9jYXRpb25CeUVQSU1NU01vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnNlYXJjaFRlcm0ucGF0Y2hWYWx1ZShsb2NhdGlvbi5zaXRlX25hbWUsIHtlbWl0RXZlbnQ6IGZhbHNlLCBvbmx5U2VsZjogdHJ1ZX0pO1xuICAgIHRoaXMubG9jYXRpb25TZWxlY3RlZC5lbWl0KGxvY2F0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2goKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLmNvbnRyb2xzLnNlYXJjaFRlcm0udmFsdWVDaGFuZ2VzXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh0ZXJtKSA9PiB0aGlzLmxvY2F0aW9uSW5wdXRDaGFuZ2VkLm5leHQodGVybSkpLFxuICAgICAgICB0YXAoKCkgPT4gdGhpcy5sb2NhdGlvbnMgPSBbXSksXG4gICAgICAgIHRhcCgodGVybSkgPT4gdGhpcy50ZXJtID0gdGVybSksXG4gICAgICAgIGZpbHRlcih0ZXJtID0+ICEhdGVybSAmJiB0ZXJtLmxlbmd0aCA+PSB0aGlzLm1pblNlYXJjaENoYXJhY3RlcnMpLFxuICAgICAgICBkZWJvdW5jZVRpbWUodGhpcy5kZWxheSksXG4gICAgICAgIG1lcmdlTWFwKHZhbHVlID0+IHRoaXMuZ2V0TG9jYXRpb25zKHZhbHVlKSksXG4gICAgICAgIG1hcCgobG9jYXRpb25zKSA9PiB0aGlzLnJlbW92ZVNlbGVjdGVkTG9jYXRpb25zKGxvY2F0aW9ucykpXG4gICAgICApLnN1YnNjcmliZShsb2NhdGlvbnMgPT4ge1xuICAgICAgdGhpcy5sb2NhdGlvbnMgPSBsb2NhdGlvbnM7XG4gICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgaWYgKGxvY2F0aW9ucy5sZW5ndGggPT09IDEgJiYgdGhpcy50ZXJtID09PSBsb2NhdGlvbnNbMF0uc2l0ZV9uYW1lICYmICF0aGlzLnNpbmdsZU1vZGUpIHtcbiAgICAgICAgdGhpcy5sb2NhdGlvblNlbGVjdGVkLmVtaXQobG9jYXRpb25zWzBdKTtcbiAgICAgICAgdGhpcy5zaG93QXV0b2NvbXBsZXRlID0gZmFsc2U7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2hvd0F1dG9jb21wbGV0ZSA9IHRydWU7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TG9jYXRpb25zKHRlcm06IHN0cmluZyk6IE9ic2VydmFibGU8TG9jYXRpb25CeUVQSU1NU01vZGVsW10+IHtcbiAgICByZXR1cm4gdGhpcy5sb2NhdGlvblNlcnZpY2UuZ2V0QWxsTG9jYXRpb25zKHRoaXMuc2VydmljZUlkcywgdGhpcy5sb2NhdGlvblR5cGUsIHRlcm0pO1xuICB9XG5cbiAgcHVibGljIHJlc2V0U2VhcmNoVGVybSgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm0uY29udHJvbHMuc2VhcmNoVGVybS5wYXRjaFZhbHVlKCcnLCB7ZW1pdEV2ZW50OiBmYWxzZSwgb25seVNlbGY6IHRydWV9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlU2VsZWN0ZWRMb2NhdGlvbnMobG9jYXRpb25zOiBMb2NhdGlvbkJ5RVBJTU1TTW9kZWxbXSk6IExvY2F0aW9uQnlFUElNTVNNb2RlbFtdIHtcbiAgICBpZiAodGhpcy5zaW5nbGVNb2RlKSB7XG4gICAgICByZXR1cm4gbG9jYXRpb25zO1xuICAgIH1cbiAgICByZXR1cm4gbG9jYXRpb25zLmZpbHRlcihcbiAgICAgIGxvY2F0aW9uID0+ICF0aGlzLnNlbGVjdGVkTG9jYXRpb25zLm1hcChzZWxlY3RlZExvY2F0aW9uID0+IHNlbGVjdGVkTG9jYXRpb24uZXBpbW1zX2lkKS5pbmNsdWRlcyhsb2NhdGlvbi5lcGltbXNfaWQpICYmIGxvY2F0aW9uLnNpdGVfbmFtZVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|