@eui/core 16.2.1 → 17.0.0-next.2
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/esm2022/lib/eui-core.module.mjs +5 -5
- package/esm2022/lib/interceptors/add-lang-param.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/cache-prevention.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/cors-security.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/csrf-prevention.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/eu-login-session-timeout-handling.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/openid/openid-connect.interceptor.mjs +4 -4
- package/esm2022/lib/interceptors/openid/openid-connect.service.mjs +4 -4
- package/esm2022/lib/interceptors/ux-request-error-model.interceptor.mjs +4 -4
- package/esm2022/lib/services/dynamic-menu/dynamic-menu.service.mjs +66 -0
- package/esm2022/lib/services/errors/global-error-handler.mjs +4 -4
- package/esm2022/lib/services/errors/http-error-handler-callback-functions.mjs +5 -4
- package/esm2022/lib/services/errors/http-error-handler.interceptor.mjs +4 -4
- package/esm2022/lib/services/eui-timezone.service.mjs +716 -0
- package/esm2022/lib/services/i18n/i18n.loader.mjs +4 -4
- package/esm2022/lib/services/i18n/i18n.service.mjs +8 -8
- package/esm2022/lib/services/i18n/i18n.service.mock.mjs +4 -4
- package/esm2022/lib/services/index.mjs +3 -3
- package/esm2022/lib/services/locale/locale.service.mjs +4 -4
- package/esm2022/lib/services/locale/locale.service.mock.mjs +4 -4
- package/esm2022/lib/services/log/log.module.mjs +5 -5
- package/esm2022/lib/services/log/log.service.mjs +4 -4
- package/esm2022/lib/services/permission/permission.service.mjs +5 -5
- package/esm2022/lib/services/queue/api-queue.service.mjs +4 -4
- package/esm2022/lib/services/storage/local-forage.service.mjs +4 -4
- package/esm2022/lib/services/storage/local-storage.service.mjs +4 -4
- package/esm2022/lib/services/storage/session-storage.service.mjs +4 -4
- package/esm2022/lib/services/store/actions/user.actions.mjs +1 -1
- package/esm2022/lib/services/store/effects/app.effects.mjs +16 -6
- package/esm2022/lib/services/store/store.service.mjs +4 -4
- package/esm2022/lib/services/store/store.service.mock.mjs +4 -4
- package/esm2022/lib/services/user/user.service.mjs +4 -4
- package/esm2022/lib/services/user/user.service.mock.mjs +4 -4
- package/esm2022/lib/services/ux-app-shell.service.mjs +6 -152
- package/esm2022/lib/services/ux-dynamic-component/ux-dynamic-component.service.mjs +4 -4
- package/esm2022/lib/services/ux-error-feedback/ux-error-feedback.service.mjs +29 -20
- package/fesm2022/eui-core.mjs +158 -284
- package/fesm2022/eui-core.mjs.map +1 -1
- package/lib/services/dynamic-menu/dynamic-menu.service.d.ts +15 -0
- package/lib/services/dynamic-menu/dynamic-menu.service.d.ts.map +1 -0
- package/lib/services/errors/http-error-handler-callback-functions.d.ts.map +1 -1
- package/lib/services/{ux-timezone.service.d.ts → eui-timezone.service.d.ts} +9 -9
- package/lib/services/eui-timezone.service.d.ts.map +1 -0
- package/lib/services/index.d.ts +2 -2
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/permission/permission.service.d.ts +7 -7
- package/lib/services/permission/permission.service.d.ts.map +1 -1
- package/lib/services/store/actions/user.actions.d.ts +3 -3
- package/lib/services/store/actions/user.actions.d.ts.map +1 -1
- package/lib/services/store/effects/app.effects.d.ts.map +1 -1
- package/lib/services/ux-app-shell.service.d.ts +8 -31
- package/lib/services/ux-app-shell.service.d.ts.map +1 -1
- package/lib/services/ux-error-feedback/ux-error-feedback.service.d.ts.map +1 -1
- package/package.json +2 -2
- package/docs/classes/ActivatedRouteAction.html +0 -282
- package/docs/classes/AddApiQueueItemAction.html +0 -282
- package/docs/classes/AddAppLoadedConfigModulesAction.html +0 -282
- package/docs/classes/ApiQueueServiceMock.html +0 -553
- package/docs/classes/AsyncStorageService.html +0 -941
- package/docs/classes/AsyncStorageServiceMock.html +0 -427
- package/docs/classes/EmptyApiQueueAction.html +0 -282
- package/docs/classes/EuiCoreRootGuardClass.html +0 -167
- package/docs/classes/EuiError.html +0 -227
- package/docs/classes/I18nResourceImpl.html +0 -510
- package/docs/classes/InitStoreAction.html +0 -282
- package/docs/classes/LogServiceMock.html +0 -223
- package/docs/classes/OpenIdConnectServiceMock.html +0 -223
- package/docs/classes/RemoveApiQueueItemAction.html +0 -282
- package/docs/classes/RouterMock.html +0 -499
- package/docs/classes/StorageService.html +0 -640
- package/docs/classes/StorageServiceMock.html +0 -325
- package/docs/classes/StoreMock.html +0 -406
- package/docs/classes/TranslateServiceMock.html +0 -917
- package/docs/classes/UpdateAppConnectionAction.html +0 -282
- package/docs/classes/UpdateAppStatusAction.html +0 -282
- package/docs/classes/UpdateAppVersionAction.html +0 -282
- package/docs/classes/UpdateCurrentModuleAction.html +0 -282
- package/docs/classes/UpdateI18nStateAction.html +0 -282
- package/docs/classes/UpdateLocaleStateAction.html +0 -282
- package/docs/classes/UpdateNotificationsListAction.html +0 -282
- package/docs/classes/UpdateUserDashboardAction.html +0 -282
- package/docs/classes/UpdateUserDetailsAction.html +0 -282
- package/docs/classes/UpdateUserPreferencesAction.html +0 -282
- package/docs/classes/UpdateUserRightsAction.html +0 -282
- package/docs/classes/UpdateUserStateAction.html +0 -282
- package/docs/classes/UxErrorManager.html +0 -536
- package/docs/classes/UxRootInjectorGuard.html +0 -197
- package/docs/dependencies.html +0 -319
- package/docs/directives/TranslateMockDirective.html +0 -266
- package/docs/fonts/ionicons.eot +0 -0
- package/docs/fonts/ionicons.svg +0 -2090
- package/docs/fonts/ionicons.ttf +0 -0
- package/docs/fonts/ionicons.woff +0 -0
- package/docs/fonts/ionicons.woff2 +0 -0
- package/docs/fonts/roboto-v15-latin-300.eot +0 -0
- package/docs/fonts/roboto-v15-latin-300.svg +0 -314
- package/docs/fonts/roboto-v15-latin-300.ttf +0 -0
- package/docs/fonts/roboto-v15-latin-300.woff +0 -0
- package/docs/fonts/roboto-v15-latin-300.woff2 +0 -0
- package/docs/fonts/roboto-v15-latin-700.eot +0 -0
- package/docs/fonts/roboto-v15-latin-700.svg +0 -310
- package/docs/fonts/roboto-v15-latin-700.ttf +0 -0
- package/docs/fonts/roboto-v15-latin-700.woff +0 -0
- package/docs/fonts/roboto-v15-latin-700.woff2 +0 -0
- package/docs/fonts/roboto-v15-latin-italic.eot +0 -0
- package/docs/fonts/roboto-v15-latin-italic.svg +0 -323
- package/docs/fonts/roboto-v15-latin-italic.ttf +0 -0
- package/docs/fonts/roboto-v15-latin-italic.woff +0 -0
- package/docs/fonts/roboto-v15-latin-italic.woff2 +0 -0
- package/docs/fonts/roboto-v15-latin-regular.eot +0 -0
- package/docs/fonts/roboto-v15-latin-regular.svg +0 -308
- package/docs/fonts/roboto-v15-latin-regular.ttf +0 -0
- package/docs/fonts/roboto-v15-latin-regular.woff +0 -0
- package/docs/fonts/roboto-v15-latin-regular.woff2 +0 -0
- package/docs/images/compodoc-vectorise-inverted.png +0 -0
- package/docs/images/compodoc-vectorise-inverted.svg +0 -201
- package/docs/images/compodoc-vectorise.png +0 -0
- package/docs/images/compodoc-vectorise.svg +0 -201
- package/docs/images/favicon.ico +0 -0
- package/docs/index.html +0 -171
- package/docs/injectables/ApiQueueService.html +0 -806
- package/docs/injectables/CoreAppEffects.html +0 -390
- package/docs/injectables/EuiPermissionService.html +0 -652
- package/docs/injectables/GlobalErrorHandler.html +0 -293
- package/docs/injectables/I18nLoader.html +0 -597
- package/docs/injectables/I18nService.html +0 -945
- package/docs/injectables/I18nServiceMock.html +0 -634
- package/docs/injectables/LocalForageService.html +0 -773
- package/docs/injectables/LocalStorageService.html +0 -554
- package/docs/injectables/LocaleService.html +0 -799
- package/docs/injectables/LocaleServiceMock.html +0 -493
- package/docs/injectables/LogService.html +0 -354
- package/docs/injectables/OpenIdConnectService.html +0 -225
- package/docs/injectables/SessionStorageService.html +0 -554
- package/docs/injectables/StoreService.html +0 -651
- package/docs/injectables/StoreServiceMock.html +0 -457
- package/docs/injectables/UserService.html +0 -752
- package/docs/injectables/UserServiceMock.html +0 -641
- package/docs/injectables/UxAppShellService.html +0 -3338
- package/docs/injectables/UxDynamicComponentService.html +0 -437
- package/docs/injectables/UxDynamicMenuService.html +0 -379
- package/docs/injectables/UxErrorFeedbackService.html +0 -591
- package/docs/injectables/UxTimezoneService.html +0 -382
- package/docs/interceptors/AddLangParamInterceptor.html +0 -305
- package/docs/interceptors/CachePreventionInterceptor.html +0 -254
- package/docs/interceptors/CorsSecurityInterceptor.html +0 -254
- package/docs/interceptors/CsrfPreventionInterceptor.html +0 -254
- package/docs/interceptors/EuLoginSessionTimeoutHandlingInterceptor.html +0 -254
- package/docs/interceptors/HttpErrorHandlerInterceptor.html +0 -321
- package/docs/interceptors/OpenIdConnectInterceptor.html +0 -347
- package/docs/interceptors/UxRequestErrorModelInterceptor.html +0 -297
- package/docs/interfaces/LoadedResources.html +0 -292
- package/docs/interfaces/LoadedResourcesError.html +0 -247
- package/docs/interfaces/ModuleLoadEvent.html +0 -292
- package/docs/interfaces/OpenIdConnectUserDetails.html +0 -439
- package/docs/interfaces/ResourceError.html +0 -298
- package/docs/interfaces/TimeZone.html +0 -247
- package/docs/interfaces/UIState.html +0 -1900
- package/docs/js/compodoc.js +0 -14
- package/docs/js/lazy-load-graphs.js +0 -44
- package/docs/js/libs/EventDispatcher.js +0 -5
- package/docs/js/libs/bootstrap-native.js +0 -1
- package/docs/js/libs/clipboard.min.js +0 -7
- package/docs/js/libs/custom-elements-es5-adapter.js +0 -15
- package/docs/js/libs/custom-elements.min.js +0 -38
- package/docs/js/libs/d3.v3.min.js +0 -2
- package/docs/js/libs/deep-iterator.js +0 -2
- package/docs/js/libs/es6-shim.min.js +0 -11
- package/docs/js/libs/htmlparser.js +0 -23
- package/docs/js/libs/innersvg.js +0 -9
- package/docs/js/libs/lit-html.js +0 -1
- package/docs/js/libs/prism.js +0 -46
- package/docs/js/libs/promise.min.js +0 -6
- package/docs/js/libs/svg-pan-zoom.min.js +0 -3
- package/docs/js/libs/tablesort.min.js +0 -6
- package/docs/js/libs/tablesort.number.min.js +0 -6
- package/docs/js/libs/vis.min.js +0 -47
- package/docs/js/libs/zepto.min.js +0 -2
- package/docs/js/menu-wc.js +0 -380
- package/docs/js/menu.js +0 -325
- package/docs/js/routes.js +0 -301
- package/docs/js/search/lunr.min.js +0 -6
- package/docs/js/search/search-lunr.js +0 -67
- package/docs/js/search/search.js +0 -268
- package/docs/js/search/search_index.js +0 -4
- package/docs/js/sourceCode.js +0 -58
- package/docs/js/svg-pan-zoom.controls.js +0 -53
- package/docs/js/tabs.js +0 -21
- package/docs/js/tree.js +0 -147
- package/docs/license.html +0 -379
- package/docs/miscellaneous/enumerations.html +0 -418
- package/docs/miscellaneous/functions.html +0 -1864
- package/docs/miscellaneous/typealiases.html +0 -258
- package/docs/miscellaneous/variables.html +0 -3965
- package/docs/modules/CoreModule.html +0 -256
- package/docs/modules/I18nModule.html +0 -198
- package/docs/modules/LogModule.html +0 -305
- package/docs/modules/TranslateMockModule.html +0 -176
- package/docs/modules.html +0 -168
- package/docs/pipes/TranslateMockPipe.html +0 -227
- package/docs/properties.html +0 -124
- package/docs/styles/bootstrap-card.css +0 -219
- package/docs/styles/bootstrap.min.css +0 -6
- package/docs/styles/compodoc.css +0 -1121
- package/docs/styles/dark.css +0 -121
- package/docs/styles/ionicons.min.css +0 -11
- package/docs/styles/laravel.css +0 -113
- package/docs/styles/material.css +0 -131
- package/docs/styles/original.css +0 -51
- package/docs/styles/postmark.css +0 -238
- package/docs/styles/prism.css +0 -301
- package/docs/styles/readthedocs.css +0 -117
- package/docs/styles/reset.css +0 -129
- package/docs/styles/stripe.css +0 -106
- package/docs/styles/style.css +0 -7
- package/docs/styles/tablesort.css +0 -33
- package/docs/styles/vagrant.css +0 -130
- package/esm2022/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.mjs +0 -66
- package/esm2022/lib/services/ux-timezone.service.mjs +0 -717
- package/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.d.ts +0 -15
- package/lib/services/ux-dynamic-menu/ux-dynamic-menu.service.d.ts.map +0 -1
- package/lib/services/ux-timezone.service.d.ts.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UxClearErrorFeedbackEvent, UxPublishErrorFeedbackEvent, } from '@eui/base';
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
|
-
import { filter
|
|
3
|
+
import { filter } from 'rxjs/operators';
|
|
4
4
|
import { withUxErrorManager } from './ux-error-handler.operator';
|
|
5
5
|
import { Injectable } from '@angular/core';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
@@ -27,21 +27,30 @@ export class UxErrorFeedbackService {
|
|
|
27
27
|
* Growl errors
|
|
28
28
|
*/
|
|
29
29
|
growlError(err) {
|
|
30
|
-
|
|
31
|
-
const
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
30
|
+
// TODO v17 - should not display growl from here, but where it's called
|
|
31
|
+
// const feedBacks = err.uxHttpErrorOutput.getFeedBacks();
|
|
32
|
+
// const isGrowlSticky = false;
|
|
33
|
+
// const isGrowlMultiple = true;
|
|
34
|
+
// const growlLife = 10000;
|
|
35
|
+
// const position = 'bottom-right';
|
|
36
|
+
// feedBacks.forEach((feedback: UxErrorFeedback) =>
|
|
37
|
+
// this.translateService
|
|
38
|
+
// .get(feedback.msgId)
|
|
39
|
+
// .pipe(take(1))
|
|
40
|
+
// .subscribe((translate) => {
|
|
41
|
+
// this.asService.growl(
|
|
42
|
+
// {
|
|
43
|
+
// severity: feedback.severity || 'danger',
|
|
44
|
+
// summary: 'ERROR',
|
|
45
|
+
// detail: translate,
|
|
46
|
+
// },
|
|
47
|
+
// isGrowlSticky,
|
|
48
|
+
// isGrowlMultiple,
|
|
49
|
+
// growlLife,
|
|
50
|
+
// position
|
|
51
|
+
// );
|
|
52
|
+
// })
|
|
53
|
+
// );
|
|
45
54
|
}
|
|
46
55
|
clearError(id, groupId) {
|
|
47
56
|
this.errors.next(new UxClearErrorFeedbackEvent(id, groupId));
|
|
@@ -52,10 +61,10 @@ export class UxErrorFeedbackService {
|
|
|
52
61
|
createGlobalErrorManager() {
|
|
53
62
|
return new UxErrorManager(this, true);
|
|
54
63
|
}
|
|
55
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
56
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
64
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.3", ngImport: i0, type: UxErrorFeedbackService, deps: [{ token: i1.UxAppShellService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
65
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.3", ngImport: i0, type: UxErrorFeedbackService, providedIn: 'root' }); }
|
|
57
66
|
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.3", ngImport: i0, type: UxErrorFeedbackService, decorators: [{
|
|
59
68
|
type: Injectable,
|
|
60
69
|
args: [{
|
|
61
70
|
providedIn: 'root',
|
|
@@ -96,4 +105,4 @@ export class UxErrorManager {
|
|
|
96
105
|
}
|
|
97
106
|
}
|
|
98
107
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtZXJyb3ItZmVlZGJhY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdXgtZXJyb3ItZmVlZGJhY2svdXgtZXJyb3ItZmVlZGJhY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gseUJBQXlCLEVBSXpCLDJCQUEyQixHQUM5QixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUdqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBSzNDLE1BQU0sT0FBTyxzQkFBc0I7SUFHL0IsWUFBb0IsU0FBNEIsRUFBVSxnQkFBa0M7UUFBeEUsY0FBUyxHQUFULFNBQVMsQ0FBbUI7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRjVGLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBNEIsQ0FBQztJQUU4QyxDQUFDO0lBRWhHOztPQUVHO0lBQ0gsWUFBWSxDQUFDLEdBQXdCLEVBQUUsVUFBbUIsRUFBRSxPQUFnQixFQUFFLFVBQW9CO1FBQzlGLElBQUksVUFBVSxFQUFFO1lBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSwyQkFBMkIsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO1NBQzdHO2FBQU07WUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLDJCQUEyQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FD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QUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3RHO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBVeENsZWFyRXJyb3JGZWVkYmFja0V2ZW50LFxuICAgIFV4RXJyb3JGZWVkYmFjayxcbiAgICBVeEVycm9yRmVlZGJhY2tFdmVudFR5cGUsXG4gICAgVXhIdHRwRXJyb3JSZXNwb25zZSxcbiAgICBVeFB1Ymxpc2hFcnJvckZlZWRiYWNrRXZlbnQsXG59IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB3aXRoVXhFcnJvck1hbmFnZXIgfSBmcm9tICcuL3V4LWVycm9yLWhhbmRsZXIub3BlcmF0b3InO1xuaW1wb3J0IHsgVXhBcHBTaGVsbFNlcnZpY2UgfSBmcm9tICcuLi91eC1hcHAtc2hlbGwuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFV4RXJyb3JGZWVkYmFja1NlcnZpY2Uge1xuICAgIGVycm9ycyA9IG5ldyBTdWJqZWN0PFV4RXJyb3JGZWVkYmFja0V2ZW50VHlwZT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYXNTZXJ2aWNlOiBVeEFwcFNoZWxsU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gICAgLyoqXG4gICAgICogIFB1Ymxpc2hlcyBlcnJvcnMgdG8gdGFyZ2V0ZWQgY29tcG9uZW50c1xuICAgICAqL1xuICAgIHB1Ymxpc2hFcnJvcihlcnI6IFV4SHR0cEVycm9yUmVzcG9uc2UsIGluc3RhbmNlSWQ/OiBzdHJpbmcsIGdyb3VwSWQ/OiBzdHJpbmcsIGFjY3VtdWxhdGU/OiBib29sZWFuKSB7XG4gICAgICAgIGlmIChpbnN0YW5jZUlkKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9ycy5uZXh0KG5ldyBVeFB1Ymxpc2hFcnJvckZlZWRiYWNrRXZlbnQoZXJyLnV4SHR0cEVycm9yT3V0cHV0LCBpbnN0YW5jZUlkLCBncm91cElkLCBhY2N1bXVsYXRlKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVycm9ycy5uZXh0KG5ldyBVeFB1Ymxpc2hFcnJvckZlZWRiYWNrRXZlbnQoZXJyLnV4SHR0cEVycm9yT3V0cHV0LCB1bmRlZmluZWQsIGdyb3VwSWQsIGFjY3VtdWxhdGUpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBHcm93bCBlcnJvcnNcbiAgICAgKi9cbiAgICBncm93bEVycm9yKGVycjogVXhIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAvLyBUT0RPIHYxNyAtIHNob3VsZCBub3QgZGlzcGxheSBncm93bCBmcm9tIGhlcmUsIGJ1dCB3aGVyZSBpdCdzIGNhbGxlZFxuICAgICAgICAvLyBjb25zdCBmZWVkQmFja3MgPSBlcnIudXhIdHRwRXJyb3JPdXRwdXQuZ2V0RmVlZEJhY2tzKCk7XG4gICAgICAgIC8vIGNvbnN0IGlzR3Jvd2xTdGlja3kgPSBmYWxzZTtcbiAgICAgICAgLy8gY29uc3QgaXNHcm93bE11bHRpcGxlID0gdHJ1ZTtcbiAgICAgICAgLy8gY29uc3QgZ3Jvd2xMaWZlID0gMTAwMDA7XG4gICAgICAgIC8vIGNvbnN0IHBvc2l0aW9uID0gJ2JvdHRvbS1yaWdodCc7XG4gICAgICAgIC8vIGZlZWRCYWNrcy5mb3JFYWNoKChmZWVkYmFjazogVXhFcnJvckZlZWRiYWNrKSA9PlxuICAgICAgICAvLyAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlXG4gICAgICAgIC8vICAgICAgICAgLmdldChmZWVkYmFjay5tc2dJZClcbiAgICAgICAgLy8gICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAvLyAgICAgICAgIC5zdWJzY3JpYmUoKHRyYW5zbGF0ZSkgPT4ge1xuICAgICAgICAvLyAgICAgICAgICAgICB0aGlzLmFzU2VydmljZS5ncm93bChcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIHtcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogZmVlZGJhY2suc2V2ZXJpdHkgfHwgJ2RhbmdlcicsXG4gICAgICAgIC8vICAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogJ0VSUk9SJyxcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHRyYW5zbGF0ZSxcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIH0sXG4gICAgICAgIC8vICAgICAgICAgICAgICAgICBpc0dyb3dsU3RpY2t5LFxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgaXNHcm93bE11bHRpcGxlLFxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgZ3Jvd2xMaWZlLFxuICAgICAgICAvLyAgICAgICAgICAgICAgICAgcG9zaXRpb25cbiAgICAgICAgLy8gICAgICAgICAgICAgKTtcbiAgICAgICAgLy8gICAgICAgICB9KVxuICAgICAgICAvLyApO1xuICAgIH1cblxuICAgIGNsZWFyRXJyb3IoaWQ/OiBzdHJpbmcsIGdyb3VwSWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5lcnJvcnMubmV4dChuZXcgVXhDbGVhckVycm9yRmVlZGJhY2tFdmVudChpZCwgZ3JvdXBJZCkpO1xuICAgIH1cblxuICAgIGNyZWF0ZUxvY2FsRXJyb3JNYW5hZ2VyKCk6IFV4RXJyb3JNYW5hZ2VyIHtcbiAgICAgICAgcmV0dXJuIG5ldyBVeEVycm9yTWFuYWdlcih0aGlzKTtcbiAgICB9XG5cbiAgICBjcmVhdGVHbG9iYWxFcnJvck1hbmFnZXIoKTogVXhFcnJvck1hbmFnZXIge1xuICAgICAgICByZXR1cm4gbmV3IFV4RXJyb3JNYW5hZ2VyKHRoaXMsIHRydWUpO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFV4RXJyb3JNYW5hZ2VyIHtcbiAgICByZWFkb25seSBodHRwRXJyb3JPcGVyYXRvciA9IHdpdGhVeEVycm9yTWFuYWdlcih0aGlzKTtcbiAgICBwcml2YXRlIGlkID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB1eEVycm9yRmVlZGJhY2tTZXJ2aWNlOiBVeEVycm9yRmVlZGJhY2tTZXJ2aWNlLCBwcml2YXRlIGlzR2xvYmFsPzogYm9vbGVhbikge31cblxuICAgIHB1Ymxpc2hFcnJvcihlcnI6IFV4SHR0cEVycm9yUmVzcG9uc2UsIGdyb3VwSWQ/OiBzdHJpbmcsIGFjY3VtdWxhdGU/OiBib29sZWFuKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0dsb2JhbCkge1xuICAgICAgICAgICAgdGhpcy51eEVycm9yRmVlZGJhY2tTZXJ2aWNlLnB1Ymxpc2hFcnJvcihlcnIsIHRoaXMuaWQsIGdyb3VwSWQsIGFjY3VtdWxhdGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy51eEVycm9yRmVlZGJhY2tTZXJ2aWNlLnB1Ymxpc2hFcnJvcihlcnIsIHVuZGVmaW5lZCwgZ3JvdXBJZCwgYWNjdW11bGF0ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhckVycm9yKGdyb3VwSWQ/OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzR2xvYmFsKSB7XG4gICAgICAgICAgICB0aGlzLnV4RXJyb3JGZWVkYmFja1NlcnZpY2UuY2xlYXJFcnJvcih0aGlzLmlkLCBncm91cElkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXhFcnJvckZlZWRiYWNrU2VydmljZS5jbGVhckVycm9yKHVuZGVmaW5lZCwgZ3JvdXBJZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBncm93bEVycm9yKGVycjogVXhIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICB0aGlzLnV4RXJyb3JGZWVkYmFja1NlcnZpY2UuZ3Jvd2xFcnJvcihlcnIpO1xuICAgIH1cblxuICAgIGVycm9ycygpOiBPYnNlcnZhYmxlPFV4RXJyb3JGZWVkYmFja0V2ZW50VHlwZT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNHbG9iYWwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnV4RXJyb3JGZWVkYmFja1NlcnZpY2UuZXJyb3JzLnBpcGUoZmlsdGVyKChldnQ6IFV4RXJyb3JGZWVkYmFja0V2ZW50VHlwZSkgPT4gZXZ0LmlkID09PSB0aGlzLmlkKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy51eEVycm9yRmVlZGJhY2tTZXJ2aWNlLmVycm9ycy5waXBlKGZpbHRlcigoZXZ0OiBVeEVycm9yRmVlZGJhY2tFdmVudFR5cGUpID0+ICFldnQuaWQpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
|