@eui/core 17.0.0-next.1 → 17.0.0-next.10
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/assets/i18n-eui/bg.json +2 -1
- package/assets/i18n-eui/cs.json +2 -1
- package/assets/i18n-eui/da.json +2 -1
- package/assets/i18n-eui/de.json +2 -1
- package/assets/i18n-eui/el.json +2 -1
- package/assets/i18n-eui/en.json +2 -1
- package/assets/i18n-eui/es.json +2 -1
- package/assets/i18n-eui/et.json +2 -1
- package/assets/i18n-eui/fi.json +2 -1
- package/assets/i18n-eui/fr.json +2 -1
- package/assets/i18n-eui/ga.json +2 -1
- package/assets/i18n-eui/hr.json +2 -1
- package/assets/i18n-eui/hu.json +2 -1
- package/assets/i18n-eui/it.json +2 -1
- package/assets/i18n-eui/lt.json +2 -1
- package/assets/i18n-eui/lv.json +2 -1
- package/assets/i18n-eui/mt.json +2 -1
- package/assets/i18n-eui/nl.json +2 -1
- package/assets/i18n-eui/pl.json +2 -1
- package/assets/i18n-eui/pt.json +2 -1
- package/assets/i18n-eui/readme.md +8 -0
- package/assets/i18n-eui/ro.json +2 -1
- package/assets/i18n-eui/sk.json +2 -1
- package/assets/i18n-eui/sl.json +2 -1
- package/assets/i18n-eui/sv.json +2 -1
- package/esm2022/lib/eui-core.module.mjs +7 -7
- package/esm2022/lib/interceptors/add-lang-param.interceptor.mjs +5 -5
- 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 +6 -6
- package/esm2022/lib/interceptors/openid/openid-connect.interceptor.mjs +13 -8
- package/esm2022/lib/interceptors/openid/openid-connect.service.mjs +5 -5
- package/esm2022/lib/interceptors/ux-request-error-model.interceptor.mjs +6 -6
- package/esm2022/lib/services/dynamic-component/dynamic-component.service.mjs +63 -0
- package/esm2022/lib/services/dynamic-menu/dynamic-menu.service.mjs +11 -11
- package/esm2022/lib/services/errors/eui.error.mjs +3 -1
- package/esm2022/lib/services/errors/global-error-handler.mjs +5 -5
- package/esm2022/lib/services/errors/http-error-handler-callback-functions.mjs +4 -5
- package/esm2022/lib/services/errors/http-error-handler.interceptor.mjs +6 -6
- package/esm2022/lib/services/eui-app-shell.service.mjs +575 -0
- package/esm2022/lib/services/eui-timezone.service.mjs +4 -4
- package/esm2022/lib/services/growl/eui-growl.service.mjs +79 -0
- package/esm2022/lib/services/growl/index.mjs +2 -0
- package/esm2022/lib/services/i18n/i18n.loader.mjs +6 -6
- package/esm2022/lib/services/i18n/i18n.service.mjs +6 -6
- package/esm2022/lib/services/i18n/i18n.service.mock.mjs +5 -5
- package/esm2022/lib/services/index.mjs +4 -5
- package/esm2022/lib/services/locale/locale.service.mjs +7 -6
- package/esm2022/lib/services/locale/locale.service.mock.mjs +6 -6
- package/esm2022/lib/services/log/log.module.mjs +5 -5
- package/esm2022/lib/services/log/log.service.mjs +6 -6
- package/esm2022/lib/services/permission/permission.service.mjs +6 -6
- package/esm2022/lib/services/queue/api-queue.service.mjs +5 -5
- package/esm2022/lib/services/queue/api-queue.service.mock.mjs +2 -2
- package/esm2022/lib/services/storage/local-forage.service.mjs +6 -6
- package/esm2022/lib/services/storage/local-storage.service.mjs +6 -6
- package/esm2022/lib/services/storage/session-storage.service.mjs +6 -6
- package/esm2022/lib/services/store/effects/app.effects.mjs +11 -21
- package/esm2022/lib/services/store/reducers/app.reducers.mjs +2 -1
- package/esm2022/lib/services/store/reducers/meta.reducers.mjs +2 -2
- package/esm2022/lib/services/store/store.service.mjs +6 -6
- package/esm2022/lib/services/store/store.service.mock.mjs +5 -5
- package/esm2022/lib/services/user/user.service.mjs +5 -5
- package/esm2022/lib/services/user/user.service.mock.mjs +5 -5
- package/fesm2022/eui-core.mjs +2093 -2103
- package/fesm2022/eui-core.mjs.map +1 -1
- package/lib/interceptors/eu-login-session-timeout-handling.interceptor.d.ts +1 -1
- package/lib/interceptors/eu-login-session-timeout-handling.interceptor.d.ts.map +1 -1
- package/lib/interceptors/openid/openid-connect.interceptor.d.ts.map +1 -1
- package/lib/services/{ux-dynamic-component/ux-dynamic-component.service.d.ts → dynamic-component/dynamic-component.service.d.ts} +4 -4
- package/lib/services/dynamic-component/dynamic-component.service.d.ts.map +1 -0
- package/lib/services/dynamic-menu/dynamic-menu.service.d.ts +2 -2
- package/lib/services/dynamic-menu/dynamic-menu.service.d.ts.map +1 -1
- package/lib/services/errors/eui.error.d.ts +0 -2
- package/lib/services/errors/eui.error.d.ts.map +1 -1
- package/lib/services/errors/http-error-handler-callback-functions.d.ts.map +1 -1
- package/lib/services/{ux-app-shell.service.d.ts → eui-app-shell.service.d.ts} +13 -4
- package/lib/services/eui-app-shell.service.d.ts.map +1 -0
- package/lib/services/growl/eui-growl.service.d.ts +22 -0
- package/lib/services/growl/eui-growl.service.d.ts.map +1 -0
- package/lib/services/growl/index.d.ts +2 -0
- package/lib/services/growl/index.d.ts.map +1 -0
- package/lib/services/index.d.ts +3 -4
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/locale/locale.service.d.ts.map +1 -1
- package/lib/services/permission/permission.service.d.ts.map +1 -1
- package/lib/services/queue/api-queue.service.d.ts.map +1 -1
- package/lib/services/storage/local-forage.service.d.ts.map +1 -1
- package/lib/services/store/effects/app.effects.d.ts +3 -3
- package/lib/services/store/effects/app.effects.d.ts.map +1 -1
- package/lib/services/store/reducers/app.reducers.d.ts.map +1 -1
- package/lib/services/store/store.service.d.ts.map +1 -1
- package/lib/services/user/user.service.d.ts +1 -1
- package/lib/services/user/user.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 -929
- 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 -392
- package/docs/injectables/EuiDynamicMenuService.html +0 -379
- package/docs/injectables/EuiPermissionService.html +0 -652
- package/docs/injectables/EuiTimezoneService.html +0 -382
- 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 -760
- package/docs/injectables/UserServiceMock.html +0 -649
- package/docs/injectables/UxAppShellService.html +0 -2254
- package/docs/injectables/UxDynamicComponentService.html +0 -437
- package/docs/injectables/UxErrorFeedbackService.html +0 -591
- 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/EuiTimeZone.html +0 -247
- 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/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-app-shell.service.mjs +0 -544
- package/esm2022/lib/services/ux-dynamic-component/ux-dynamic-component.service.mjs +0 -63
- package/esm2022/lib/services/ux-error-feedback/ux-error-feedback.service.mjs +0 -108
- package/esm2022/lib/services/ux-error-feedback/ux-error-handler.operator.mjs +0 -16
- package/lib/services/ux-app-shell.service.d.ts.map +0 -1
- package/lib/services/ux-dynamic-component/ux-dynamic-component.service.d.ts.map +0 -1
- package/lib/services/ux-error-feedback/ux-error-feedback.service.d.ts +0 -36
- package/lib/services/ux-error-feedback/ux-error-feedback.service.d.ts.map +0 -1
- package/lib/services/ux-error-feedback/ux-error-handler.operator.d.ts +0 -4
- package/lib/services/ux-error-feedback/ux-error-handler.operator.d.ts.map +0 -1
|
@@ -44,13 +44,13 @@ export class OpenIdConnectService {
|
|
|
44
44
|
getUserDetails() {
|
|
45
45
|
return this.userDetails;
|
|
46
46
|
}
|
|
47
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
48
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
47
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: OpenIdConnectService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
48
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: OpenIdConnectService, providedIn: 'root' }); }
|
|
49
49
|
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: OpenIdConnectService, decorators: [{
|
|
51
51
|
type: Injectable,
|
|
52
52
|
args: [{
|
|
53
53
|
providedIn: 'root',
|
|
54
54
|
}]
|
|
55
|
-
}], ctorParameters:
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
}], ctorParameters: () => [] });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlbmlkLWNvbm5lY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJjZXB0b3JzL29wZW5pZC9vcGVuaWQtY29ubmVjdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFtQmxDLE1BQU0sT0FBTyxvQkFBb0I7SUFHN0I7UUFDSSxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxPQUFPLFVBQVUsS0FBSyxXQUFXLEVBQUU7Z0JBQ25DLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtvQkFDN0IsSUFBSSxJQUFJLEVBQUU7d0JBQ04sUUFBUSxDQUFDLElBQUksQ0FBQzs0QkFDVixNQUFNLEVBQUUsSUFBSTs0QkFDWixjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVE7NEJBQzdCLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVTs0QkFDMUIsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXOzRCQUMxQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7NEJBQ2pCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxvREFBb0QsQ0FBQzt5QkFDL0UsQ0FBQyxDQUFDO3FCQUNOO3lCQUFNO3dCQUNILFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7cUJBQ3ZCO29CQUNELFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDeEIsQ0FBQyxDQUFDLENBQUM7YUFDTjtpQkFBTSxJQUFJLE9BQU8sYUFBYSxLQUFLLFdBQVcsRUFBRTtnQkFDN0MsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQzFCLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7b0JBQzdGLElBQUksYUFBYSxFQUFFO3dCQUNmLFFBQVEsQ0FBQyxJQUFJLENBQTJCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQzt3QkFDbkUsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO3FCQUN2Qjt5QkFBTTt3QkFDSCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNwQixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7cUJBQ3ZCO2dCQUNMLENBQUMsQ0FBQyxDQUFDO2FBQ047aUJBQU07Z0JBQ0gsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDcEIsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2FBQ3ZCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsY0FBYztRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO3dJQXpDUSxvQkFBb0I7NElBQXBCLG9CQUFvQixjQUZqQixNQUFNOztrR0FFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGlzIGRlY2xhcmVkIGluIHRoZSBqYXZhc2NyaXB0IGZpbGUgb3BlbmlkLWxvZ2luLmpzXG4vLyBhbmQgaW5qZWN0ZWQgaW4gdGhlIGVVSSBhcHBsaWNhdGlvbnMnIGluZGV4Lmh0bWwgZmlsZSwgaWYgbmVjZXNzYXJ5XG5kZWNsYXJlIGxldCBPcGVuSWRDb25uZWN0OiBhbnk7XG5kZWNsYXJlIGxldCBBcGlHYXRld2F5OiBhbnk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3BlbklkQ29ubmVjdFVzZXJEZXRhaWxzIHtcbiAgICBkb21haW4/OiBzdHJpbmc7XG4gICAgZG9tYWluVXNlcm5hbWU/OiBzdHJpbmc7XG4gICAgZmlyc3ROYW1lPzogc3RyaW5nO1xuICAgIGxhc3ROYW1lPzogc3RyaW5nO1xuICAgIGVtYWlsPzogc3RyaW5nO1xuICAgIGRlcGFydG1lbnROdW1iZXI/OiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE9wZW5JZENvbm5lY3RTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHVzZXJEZXRhaWxzOiBPYnNlcnZhYmxlPE9wZW5JZENvbm5lY3RVc2VyRGV0YWlscz47XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy51c2VyRGV0YWlscyA9IG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBBcGlHYXRld2F5ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgICAgIEFwaUdhdGV3YXkuZ2V0VXNlcigodXNlcjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh1c2VyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21haW46IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluVXNlcm5hbWU6IHVzZXIudXNlcm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3ROYW1lOiB1c2VyLmdpdmVuX25hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdE5hbWU6IHVzZXIuZmFtaWx5X25hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW1haWw6IHVzZXIuZW1haWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwYXJ0bWVudE51bWJlcjogdXNlclsnaHR0cHM6Ly9lY2FzLmVjLmV1cm9wYS5ldS9jbGFpbXMvZGVwYXJ0bWVudF9udW1iZXInXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChudWxsKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgT3BlbklkQ29ubmVjdCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICBPcGVuSWRDb25uZWN0LmdldElkVG9rZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZXRhaWxzU3RyaW5nID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShPcGVuSWRDb25uZWN0LlNFU1NJT05fU1RPUkFHRV9LRVlfVVNFUl9ERVRBSUxTKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRldGFpbHNTdHJpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoPE9wZW5JZENvbm5lY3RVc2VyRGV0YWlscz5KU09OLnBhcnNlKGRldGFpbHNTdHJpbmcpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KG51bGwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KG51bGwpO1xuICAgICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldFVzZXJEZXRhaWxzKCk6IE9ic2VydmFibGU8T3BlbklkQ29ubmVjdFVzZXJEZXRhaWxzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJEZXRhaWxzO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -19,13 +19,13 @@ export class UxRequestErrorModelInterceptor {
|
|
|
19
19
|
return of(err);
|
|
20
20
|
}));
|
|
21
21
|
}
|
|
22
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
23
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
22
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: UxRequestErrorModelInterceptor, deps: [{ token: UX_ERROR_MAPPING_HANDLER_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
23
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: UxRequestErrorModelInterceptor }); }
|
|
24
24
|
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: UxRequestErrorModelInterceptor, decorators: [{
|
|
26
26
|
type: Injectable
|
|
27
|
-
}], ctorParameters:
|
|
27
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
28
28
|
type: Inject,
|
|
29
29
|
args: [UX_ERROR_MAPPING_HANDLER_TOKEN]
|
|
30
|
-
}] }]
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
}] }] });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXgtcmVxdWVzdC1lcnJvci1tb2RlbC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvaW50ZXJjZXB0b3JzL3V4LXJlcXVlc3QtZXJyb3ItbW9kZWwuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0QsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQXVCLHlCQUF5QixFQUF1QixNQUFNLFdBQVcsQ0FBQzs7QUFFaEcsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsSUFBSSxjQUFjLENBQXNCLDBCQUEwQixDQUFDLENBQUM7QUFHbEgsTUFBTSxPQUFPLDhCQUE4QjtJQUN2QyxZQUE0RCxtQkFBd0M7UUFBeEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtJQUFHLENBQUM7SUFFeEcsU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDeEIsVUFBVSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7WUFDcEIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzFCLElBQUksR0FBRyxZQUFZLGlCQUFpQixFQUFFO29CQUNsQyxHQUFHLEdBQUcseUJBQXlCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBd0IsQ0FBQztpQkFDekY7YUFDSjtZQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO3dJQWRRLDhCQUE4QixrQkFDbkIsOEJBQThCOzRJQUR6Qyw4QkFBOEI7O2tHQUE5Qiw4QkFBOEI7a0JBRDFDLFVBQVU7OzBCQUVNLE1BQU07MkJBQUMsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBFdmVudCwgSHR0cEhhbmRsZXIsIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVycm9yTWFwcGluZ0hhbmRsZXIsIHRyYW5zZm9ybVRvVXhIdHRwUmVzcG9uc2UsIFV4SHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgVVhfRVJST1JfTUFQUElOR19IQU5ETEVSX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPEVycm9yTWFwcGluZ0hhbmRsZXI+KCdVWF9FUlJPUl9NQVBQSU5HX0hBTkRMRVInKTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFV4UmVxdWVzdEVycm9yTW9kZWxJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG4gICAgY29uc3RydWN0b3IoQEluamVjdChVWF9FUlJPUl9NQVBQSU5HX0hBTkRMRVJfVE9LRU4pIHByaXZhdGUgZXJyb3JNYXBwaW5nSGFuZGxlcjogRXJyb3JNYXBwaW5nSGFuZGxlcikge31cblxuICAgIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5lcnJvck1hcHBpbmdIYW5kbGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJyID0gdHJhbnNmb3JtVG9VeEh0dHBSZXNwb25zZShlcnIsIHRoaXMuZXJyb3JNYXBwaW5nSGFuZGxlcikgYXMgVXhIdHRwRXJyb3JSZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gb2YoZXJyKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Injectable, InjectionToken } from '@angular/core';
|
|
2
|
+
import { ComponentPortal, DomPortalOutlet, PortalInjector } from '@angular/cdk/portal';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export const DYNAMIC_COMPONENT_CONFIG = new InjectionToken('DYNAMIC_COMPONENT_CONFIG');
|
|
5
|
+
export class EuiDynamicComponentService {
|
|
6
|
+
constructor(componentFactoryResolver, injector, appRef) {
|
|
7
|
+
this.componentFactoryResolver = componentFactoryResolver;
|
|
8
|
+
this.injector = injector;
|
|
9
|
+
this.appRef = appRef;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Adds a component to portal host dynamically
|
|
13
|
+
* @param component The component to be injected
|
|
14
|
+
* @param el The element reference for the component to be injected
|
|
15
|
+
* @param config The data to be passed (config) for the DYNAMIC_COMPONENT_CONFIG token
|
|
16
|
+
*/
|
|
17
|
+
add(component, el, config) {
|
|
18
|
+
// TODO: take a look and replace deprecated componentFactoryResolver https://github.com/angular/components/issues/24334
|
|
19
|
+
// Create a portalHost from a DOM element
|
|
20
|
+
this.portalHost = new DomPortalOutlet(el ? el.nativeElement : document.body, this.componentFactoryResolver, this.appRef, this.injector);
|
|
21
|
+
// Locate the component factory for the ComponentToIncludeDynamicallyComponent
|
|
22
|
+
this.portal = new ComponentPortal(component, null, config ? this.createInjector(config) : null);
|
|
23
|
+
// Attach portal to host
|
|
24
|
+
this.portalComponentInstance = this.portalHost.attach(this.portal);
|
|
25
|
+
if (config) {
|
|
26
|
+
Object.assign(config, {
|
|
27
|
+
portalHostRef: this.portalHost,
|
|
28
|
+
portalRef: this.portal,
|
|
29
|
+
portalComponentInstanceRef: this.portalComponentInstance,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
portalHost: this.portalHost,
|
|
34
|
+
portal: this.portal,
|
|
35
|
+
portalComponentInstance: this.portalComponentInstance,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* detaches a portalHost
|
|
40
|
+
* @param portalHostRef reference of portal host to be detached
|
|
41
|
+
*/
|
|
42
|
+
remove(portalHostRef) {
|
|
43
|
+
portalHostRef.detach();
|
|
44
|
+
this.portalHost = null;
|
|
45
|
+
this.portal = null;
|
|
46
|
+
this.portalComponentInstance = null;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* creates a custom injector to be used when providing custom injection tokens to components inside a portal
|
|
50
|
+
* @param data to be used by DYNAMIC_COMPONENT_CONFIG token
|
|
51
|
+
*/
|
|
52
|
+
createInjector(data) {
|
|
53
|
+
const injectorTokens = new WeakMap();
|
|
54
|
+
injectorTokens.set(DYNAMIC_COMPONENT_CONFIG, data);
|
|
55
|
+
return new PortalInjector(this.injector, injectorTokens);
|
|
56
|
+
}
|
|
57
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiDynamicComponentService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.ApplicationRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
58
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiDynamicComponentService }); }
|
|
59
|
+
}
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiDynamicComponentService, decorators: [{
|
|
61
|
+
type: Injectable
|
|
62
|
+
}], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.ApplicationRef }] });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZHluYW1pYy1jb21wb25lbnQvZHluYW1pYy1jb21wb25lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNFLFVBQVUsRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDekksT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFpQixNQUFNLHFCQUFxQixDQUFDOztBQUV0RyxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FBUywwQkFBMEIsQ0FBQyxDQUFDO0FBRy9GLE1BQU0sT0FBTywwQkFBMEI7SUFLbkMsWUFDWSx3QkFBa0QsRUFDbEQsUUFBa0IsRUFDbEIsTUFBc0I7UUFGdEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQWdCO0lBQy9CLENBQUM7SUFFSjs7Ozs7T0FLRztJQUNJLEdBQUcsQ0FBSSxTQUEyQixFQUFFLEVBQWUsRUFBRSxNQUFZO1FBQ3BFLHVIQUF1SDtRQUN2SCx5Q0FBeUM7UUFDekMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FDakMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUNyQyxJQUFJLENBQUMsd0JBQXdCLEVBQzdCLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FDaEIsQ0FBQztRQUVGLDhFQUE4RTtRQUM5RSxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFJLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVuRyx3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVuRSxJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUNsQixhQUFhLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQzlCLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDdEIsMEJBQTBCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QjthQUMzRCxDQUFDLENBQUM7U0FDTjtRQUVELE9BQU87WUFDSCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLHVCQUF1QixFQUFFLElBQUksQ0FBQyx1QkFBdUI7U0FDeEQsQ0FBQztJQUNOLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsYUFBOEI7UUFDeEMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBRXZCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGNBQWMsQ0FBQyxJQUFTO1FBQzVCLE1BQU0sY0FBYyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDckMsY0FBYyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNuRCxPQUFPLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDN0QsQ0FBQzt3SUFwRVEsMEJBQTBCOzRJQUExQiwwQkFBMEI7O2tHQUExQiwwQkFBMEI7a0JBRHRDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIEVsZW1lbnRSZWYsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBEb21Qb3J0YWxPdXRsZXQsIFBvcnRhbEluamVjdG9yLCBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmV4cG9ydCBjb25zdCBEWU5BTUlDX0NPTVBPTkVOVF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48b2JqZWN0PignRFlOQU1JQ19DT01QT05FTlRfQ09ORklHJyk7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFdWlEeW5hbWljQ29tcG9uZW50U2VydmljZSB7XG4gICAgcHJpdmF0ZSBwb3J0YWxIb3N0OiBEb21Qb3J0YWxPdXRsZXQ7XG4gICAgcHJpdmF0ZSBwb3J0YWw6IENvbXBvbmVudFBvcnRhbDxhbnk+O1xuICAgIHByaXZhdGUgcG9ydGFsQ29tcG9uZW50SW5zdGFuY2U6IENvbXBvbmVudFJlZjxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIGNvbXBvbmVudCB0byBwb3J0YWwgaG9zdCBkeW5hbWljYWxseVxuICAgICAqIEBwYXJhbSBjb21wb25lbnQgVGhlIGNvbXBvbmVudCB0byBiZSBpbmplY3RlZFxuICAgICAqIEBwYXJhbSBlbCBUaGUgZWxlbWVudCByZWZlcmVuY2UgZm9yIHRoZSBjb21wb25lbnQgdG8gYmUgaW5qZWN0ZWRcbiAgICAgKiBAcGFyYW0gY29uZmlnIFRoZSBkYXRhIHRvIGJlIHBhc3NlZCAoY29uZmlnKSBmb3IgdGhlIERZTkFNSUNfQ09NUE9ORU5UX0NPTkZJRyB0b2tlblxuICAgICAqL1xuICAgIHB1YmxpYyBhZGQ8VD4oY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFQ+LCBlbD86IEVsZW1lbnRSZWYsIGNvbmZpZz86IGFueSkge1xuICAgICAgICAvLyBUT0RPOiB0YWtlIGEgbG9vayBhbmQgcmVwbGFjZSBkZXByZWNhdGVkIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2lzc3Vlcy8yNDMzNFxuICAgICAgICAvLyBDcmVhdGUgYSBwb3J0YWxIb3N0IGZyb20gYSBET00gZWxlbWVudFxuICAgICAgICB0aGlzLnBvcnRhbEhvc3QgPSBuZXcgRG9tUG9ydGFsT3V0bGV0KFxuICAgICAgICAgICAgZWwgPyBlbC5uYXRpdmVFbGVtZW50IDogZG9jdW1lbnQuYm9keSxcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICAgICAgdGhpcy5hcHBSZWYsXG4gICAgICAgICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgICApO1xuXG4gICAgICAgIC8vIExvY2F0ZSB0aGUgY29tcG9uZW50IGZhY3RvcnkgZm9yIHRoZSBDb21wb25lbnRUb0luY2x1ZGVEeW5hbWljYWxseUNvbXBvbmVudFxuICAgICAgICB0aGlzLnBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWw8VD4oY29tcG9uZW50LCBudWxsLCBjb25maWcgPyB0aGlzLmNyZWF0ZUluamVjdG9yKGNvbmZpZykgOiBudWxsKTtcblxuICAgICAgICAvLyBBdHRhY2ggcG9ydGFsIHRvIGhvc3RcbiAgICAgICAgdGhpcy5wb3J0YWxDb21wb25lbnRJbnN0YW5jZSA9IHRoaXMucG9ydGFsSG9zdC5hdHRhY2godGhpcy5wb3J0YWwpO1xuXG4gICAgICAgIGlmIChjb25maWcpIHtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oY29uZmlnLCB7XG4gICAgICAgICAgICAgICAgcG9ydGFsSG9zdFJlZjogdGhpcy5wb3J0YWxIb3N0LFxuICAgICAgICAgICAgICAgIHBvcnRhbFJlZjogdGhpcy5wb3J0YWwsXG4gICAgICAgICAgICAgICAgcG9ydGFsQ29tcG9uZW50SW5zdGFuY2VSZWY6IHRoaXMucG9ydGFsQ29tcG9uZW50SW5zdGFuY2UsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwb3J0YWxIb3N0OiB0aGlzLnBvcnRhbEhvc3QsXG4gICAgICAgICAgICBwb3J0YWw6IHRoaXMucG9ydGFsLFxuICAgICAgICAgICAgcG9ydGFsQ29tcG9uZW50SW5zdGFuY2U6IHRoaXMucG9ydGFsQ29tcG9uZW50SW5zdGFuY2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZGV0YWNoZXMgYSBwb3J0YWxIb3N0XG4gICAgICogQHBhcmFtIHBvcnRhbEhvc3RSZWYgcmVmZXJlbmNlIG9mIHBvcnRhbCBob3N0IHRvIGJlIGRldGFjaGVkXG4gICAgICovXG4gICAgcHVibGljIHJlbW92ZShwb3J0YWxIb3N0UmVmOiBEb21Qb3J0YWxPdXRsZXQpIHtcbiAgICAgICAgcG9ydGFsSG9zdFJlZi5kZXRhY2goKTtcblxuICAgICAgICB0aGlzLnBvcnRhbEhvc3QgPSBudWxsO1xuICAgICAgICB0aGlzLnBvcnRhbCA9IG51bGw7XG4gICAgICAgIHRoaXMucG9ydGFsQ29tcG9uZW50SW5zdGFuY2UgPSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNyZWF0ZXMgYSBjdXN0b20gaW5qZWN0b3IgdG8gYmUgdXNlZCB3aGVuIHByb3ZpZGluZyBjdXN0b20gaW5qZWN0aW9uIHRva2VucyB0byBjb21wb25lbnRzIGluc2lkZSBhIHBvcnRhbFxuICAgICAqIEBwYXJhbSBkYXRhIHRvIGJlIHVzZWQgYnkgRFlOQU1JQ19DT01QT05FTlRfQ09ORklHIHRva2VuXG4gICAgICovXG4gICAgcHJpdmF0ZSBjcmVhdGVJbmplY3RvcihkYXRhOiBhbnkpOiBJbmplY3RvciB7XG4gICAgICAgIGNvbnN0IGluamVjdG9yVG9rZW5zID0gbmV3IFdlYWtNYXAoKTtcbiAgICAgICAgaW5qZWN0b3JUb2tlbnMuc2V0KERZTkFNSUNfQ09NUE9ORU5UX0NPTkZJRywgZGF0YSk7XG4gICAgICAgIHJldHVybiBuZXcgUG9ydGFsSW5qZWN0b3IodGhpcy5pbmplY3RvciwgaW5qZWN0b3JUb2tlbnMpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -6,8 +6,8 @@ import * as i2 from "../store/store.service";
|
|
|
6
6
|
export class EuiDynamicMenuService {
|
|
7
7
|
// TODO: it should be moved euiservice, or it should be static
|
|
8
8
|
// TODO: can we moved that service inside the module of the component that's using it?
|
|
9
|
-
constructor(
|
|
10
|
-
this.
|
|
9
|
+
constructor(euiPermission, store) {
|
|
10
|
+
this.euiPermission = euiPermission;
|
|
11
11
|
this.store = store;
|
|
12
12
|
this.menuLinks = [];
|
|
13
13
|
this.store.select(getUserState).subscribe((user) => {
|
|
@@ -26,24 +26,24 @@ export class EuiDynamicMenuService {
|
|
|
26
26
|
}
|
|
27
27
|
// First check if the user is denied access:
|
|
28
28
|
if (link.deniedRightId) {
|
|
29
|
-
if (this.
|
|
29
|
+
if (this.euiPermission.checkRight(link.deniedRightId)) {
|
|
30
30
|
return false;
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
if (link.deniedRightIds) {
|
|
34
34
|
for (const deniedRightId of link.deniedRightIds) {
|
|
35
|
-
if (this.
|
|
35
|
+
if (this.euiPermission.checkRight(deniedRightId)) {
|
|
36
36
|
return false;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
// Then check if the user needs to be allowed access explicitly:
|
|
41
41
|
if (link.allowedRightId) {
|
|
42
|
-
return this.
|
|
42
|
+
return this.euiPermission.checkRight(link.allowedRightId);
|
|
43
43
|
}
|
|
44
44
|
if (link.allowedRightIds) {
|
|
45
45
|
for (const allowedRightId of link.allowedRightIds) {
|
|
46
|
-
if (this.
|
|
46
|
+
if (this.euiPermission.checkRight(allowedRightId)) {
|
|
47
47
|
return true;
|
|
48
48
|
}
|
|
49
49
|
}
|
|
@@ -54,13 +54,13 @@ export class EuiDynamicMenuService {
|
|
|
54
54
|
return true;
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
58
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
57
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiDynamicMenuService, deps: [{ token: i1.EuiPermissionService }, { token: i2.StoreService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
58
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiDynamicMenuService, providedIn: 'root' }); }
|
|
59
59
|
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: EuiDynamicMenuService, decorators: [{
|
|
61
61
|
type: Injectable,
|
|
62
62
|
args: [{
|
|
63
63
|
providedIn: 'root',
|
|
64
64
|
}]
|
|
65
|
-
}], ctorParameters:
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
}], ctorParameters: () => [{ type: i1.EuiPermissionService }, { type: i2.StoreService }] });
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2R5bmFtaWMtbWVudS9keW5hbWljLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxXQUFXLENBQUM7Ozs7QUFPdEQsTUFBTSxPQUFPLHFCQUFxQjtJQUc5Qiw4REFBOEQ7SUFDOUQsc0ZBQXNGO0lBQ3RGLFlBQ1ksYUFBbUMsRUFDbkMsS0FBbUI7UUFEbkIsa0JBQWEsR0FBYixhQUFhLENBQXNCO1FBQ25DLFVBQUssR0FBTCxLQUFLLENBQWM7UUFOL0IsY0FBUyxHQUFlLEVBQUUsQ0FBQztRQVF2QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMvQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQzthQUNuQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFlBQVk7UUFDUixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUVELDRCQUE0QixDQUFDLEtBQXlCO1FBQ2xELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3pCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3BFO1lBRUQsNENBQTRDO1lBQzVDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDcEIsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUU7b0JBQ25ELE9BQU8sS0FBSyxDQUFDO2lCQUNoQjthQUNKO1lBQ0QsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNyQixLQUFLLE1BQU0sYUFBYSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7b0JBQzdDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUU7d0JBQzlDLE9BQU8sS0FBSyxDQUFDO3FCQUNoQjtpQkFDSjthQUNKO1lBRUQsZ0VBQWdFO1lBQ2hFLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDckIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7YUFDN0Q7WUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3RCLEtBQUssTUFBTSxjQUFjLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtvQkFDL0MsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRTt3QkFDL0MsT0FBTyxJQUFJLENBQUM7cUJBQ2Y7aUJBQ0o7Z0JBQ0QsNERBQTREO2dCQUM1RCxPQUFPLEtBQUssQ0FBQzthQUNoQjtZQUVELDZEQUE2RDtZQUM3RCxPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7d0lBekRRLHFCQUFxQjs0SUFBckIscUJBQXFCLGNBRmxCLE1BQU07O2tHQUVULHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBnZXRVc2VyU3RhdGUsIEV1aU1lbnVJdGVtIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEV1aVBlcm1pc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vcGVybWlzc2lvbi9wZXJtaXNzaW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmUvc3RvcmUuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV1aUR5bmFtaWNNZW51U2VydmljZSB7XG4gICAgbWVudUxpbmtzOiBBcnJheTxhbnk+ID0gW107XG5cbiAgICAvLyBUT0RPOiBpdCBzaG91bGQgYmUgbW92ZWQgZXVpc2VydmljZSwgb3IgaXQgc2hvdWxkIGJlIHN0YXRpY1xuICAgIC8vIFRPRE86IGNhbiB3ZSBtb3ZlZCB0aGF0IHNlcnZpY2UgaW5zaWRlIHRoZSBtb2R1bGUgb2YgdGhlIGNvbXBvbmVudCB0aGF0J3MgdXNpbmcgaXQ/XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZXVpUGVybWlzc2lvbjogRXVpUGVybWlzc2lvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChnZXRVc2VyU3RhdGUpLnN1YnNjcmliZSgodXNlcikgPT4ge1xuICAgICAgICAgICAgaWYgKHVzZXIubWVudUxpbmtzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZW51TGlua3MgPSB1c2VyLm1lbnVMaW5rcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZ2V0TWVudUxpbmtzKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tZW51TGlua3M7XG4gICAgfVxuXG4gICAgZmlsdGVyRXVpTWVudUl0ZW1zV2l0aFJpZ2h0cyhsaW5rczogQXJyYXk8RXVpTWVudUl0ZW0+KTogQXJyYXk8RXVpTWVudUl0ZW0+IHtcbiAgICAgICAgcmV0dXJuIGxpbmtzLmZpbHRlcigobGluaykgPT4ge1xuICAgICAgICAgICAgaWYgKGxpbmsuaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBsaW5rLmNoaWxkcmVuID0gdGhpcy5maWx0ZXJFdWlNZW51SXRlbXNXaXRoUmlnaHRzKGxpbmsuY2hpbGRyZW4pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGaXJzdCBjaGVjayBpZiB0aGUgdXNlciBpcyBkZW5pZWQgYWNjZXNzOlxuICAgICAgICAgICAgaWYgKGxpbmsuZGVuaWVkUmlnaHRJZCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmV1aVBlcm1pc3Npb24uY2hlY2tSaWdodChsaW5rLmRlbmllZFJpZ2h0SWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGluay5kZW5pZWRSaWdodElkcykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZGVuaWVkUmlnaHRJZCBvZiBsaW5rLmRlbmllZFJpZ2h0SWRzKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmV1aVBlcm1pc3Npb24uY2hlY2tSaWdodChkZW5pZWRSaWdodElkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBUaGVuIGNoZWNrIGlmIHRoZSB1c2VyIG5lZWRzIHRvIGJlIGFsbG93ZWQgYWNjZXNzIGV4cGxpY2l0bHk6XG4gICAgICAgICAgICBpZiAobGluay5hbGxvd2VkUmlnaHRJZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmV1aVBlcm1pc3Npb24uY2hlY2tSaWdodChsaW5rLmFsbG93ZWRSaWdodElkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsaW5rLmFsbG93ZWRSaWdodElkcykge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgYWxsb3dlZFJpZ2h0SWQgb2YgbGluay5hbGxvd2VkUmlnaHRJZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZXVpUGVybWlzc2lvbi5jaGVja1JpZ2h0KGFsbG93ZWRSaWdodElkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gVXNlciBkb2Vzbid0IGhhdmUgb25lIG9mIHRoZSBhbGxvd2VkIHJpZ2h0cy4gRGVueSBhY2Nlc3M6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBY2Nlc3MgdG8gdGhlIG1lbnUgaXRlbSBpcyBub3QgZGVuaWVkLCB0aGVyZWZvcmUgYWxsb3cgaXQ6XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -4,6 +4,8 @@ export const errorCodes = {
|
|
|
4
4
|
const messages = {
|
|
5
5
|
ERR_GENERIC: 'An error occured',
|
|
6
6
|
};
|
|
7
|
+
// Intermediate "hacky" subclass taken from
|
|
8
|
+
// https://www.bennadel.com/blog/3226-experimenting-with-error-sub-classing-using-es5-and-typescript-2-1-5.htm
|
|
7
9
|
export class ErrorSubClass {
|
|
8
10
|
constructor(code, msg, args) {
|
|
9
11
|
if (!msg && code && code in messages) {
|
|
@@ -35,4 +37,4 @@ export class EuiError extends ErrorSubClass {
|
|
|
35
37
|
this.name = 'EuiError';
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLmVycm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9lcnJvcnMvZXVpLmVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN0QixXQUFXLEVBQUUsYUFBYTtDQUM3QixDQUFDO0FBRUYsTUFBTSxRQUFRLEdBQUc7SUFDYixXQUFXLEVBQUUsa0JBQWtCO0NBQ2xDLENBQUM7QUFFRiwyQ0FBMkM7QUFDM0MsOEdBQThHO0FBRTlHLE1BQU0sT0FBTyxhQUFhO0lBTXRCLFlBQVksSUFBYSxFQUFFLEdBQVksRUFBRSxJQUFVO1FBQy9DLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxRQUFRLEVBQUU7WUFDbEMsSUFBSSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLEVBQUU7Z0JBQ3RDLEdBQUcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDL0M7aUJBQU07Z0JBQ0gsR0FBRyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN4QjtTQUNKO1FBRUQsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFbEMsSUFBSSxJQUFJLEVBQUU7WUFDTixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUM1QixJQUFJLENBQUMsS0FBSyxlQUFlLEVBQUU7b0JBQ3ZCLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3JCO1lBQ0wsQ0FBQyxDQUFDLENBQUM7U0FDTjtJQUNMLENBQUM7Q0FDSjtBQUVELDJDQUEyQztBQUMzQyxpRUFBaUU7QUFFakUsTUFBTSxPQUFPLFFBQVMsU0FBUSxhQUFhO0lBQ3ZDLFlBQVksT0FBZSxVQUFVLENBQUMsV0FBVyxFQUFFLEdBQVksRUFBRSxJQUFVO1FBQ3ZFLEtBQUssQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXZCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO0lBQzNCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlcnJvckNvZGVzID0ge1xuICAgIEVSUl9HRU5FUklDOiAnRVJSX0dFTkVSSUMnLFxufTtcblxuY29uc3QgbWVzc2FnZXMgPSB7XG4gICAgRVJSX0dFTkVSSUM6ICdBbiBlcnJvciBvY2N1cmVkJyxcbn07XG5cbi8vIEludGVybWVkaWF0ZSBcImhhY2t5XCIgc3ViY2xhc3MgdGFrZW4gZnJvbVxuLy8gaHR0cHM6Ly93d3cuYmVubmFkZWwuY29tL2Jsb2cvMzIyNi1leHBlcmltZW50aW5nLXdpdGgtZXJyb3Itc3ViLWNsYXNzaW5nLXVzaW5nLWVzNS1hbmQtdHlwZXNjcmlwdC0yLTEtNS5odG1cblxuZXhwb3J0IGNsYXNzIEVycm9yU3ViQ2xhc3Mge1xuICAgIHB1YmxpYyBjb2RlPzogc3RyaW5nO1xuICAgIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XG4gICAgcHVibGljIHN0YWNrOiBzdHJpbmc7XG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKGNvZGU/OiBzdHJpbmcsIG1zZz86IHN0cmluZywgYXJncz86IGFueSkge1xuICAgICAgICBpZiAoIW1zZyAmJiBjb2RlICYmIGNvZGUgaW4gbWVzc2FnZXMpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbWVzc2FnZXNbY29kZV0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBtc2cgPSBtZXNzYWdlc1tjb2RlXSguLi5hcmdzLm1lc3NhZ2VQYXJhbXMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBtc2cgPSBtZXNzYWdlc1tjb2RlXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmFtZSA9ICdFcnJvclN1YkNsYXNzJztcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gbXNnO1xuICAgICAgICB0aGlzLmNvZGUgPSBjb2RlO1xuICAgICAgICB0aGlzLnN0YWNrID0gbmV3IEVycm9yKG1zZykuc3RhY2s7XG5cbiAgICAgICAgaWYgKGFyZ3MpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGFyZ3MpLmZvckVhY2goKGspID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoayAhPT0gJ21lc3NhZ2VQYXJhbXMnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXNba10gPSBhcmdzW2tdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBUaGlzIHJlcGxhY2VzIHRoZSBcImV4dGVuZHNcIiBvbiB0aGUgQ2xhc3Ncbi8vIEVycm9yU3ViQ2xhc3MucHJvdG90eXBlID0gPGFueT5PYmplY3QuY3JlYXRlKEVycm9yLnByb3RvdHlwZSk7XG5cbmV4cG9ydCBjbGFzcyBFdWlFcnJvciBleHRlbmRzIEVycm9yU3ViQ2xhc3Mge1xuICAgIGNvbnN0cnVjdG9yKGNvZGU6IHN0cmluZyA9IGVycm9yQ29kZXMuRVJSX0dFTkVSSUMsIG1zZz86IHN0cmluZywgYXJncz86IGFueSkge1xuICAgICAgICBzdXBlcihjb2RlLCBtc2csIGFyZ3MpO1xuXG4gICAgICAgIHRoaXMubmFtZSA9ICdFdWlFcnJvcic7XG4gICAgfVxufVxuIl19
|
|
@@ -12,13 +12,13 @@ export class GlobalErrorHandler extends ErrorHandler {
|
|
|
12
12
|
// throw error;
|
|
13
13
|
super.handleError(error);
|
|
14
14
|
}
|
|
15
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
16
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
15
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: GlobalErrorHandler, deps: [{ token: i1.LogService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: GlobalErrorHandler, providedIn: 'root' }); }
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: GlobalErrorHandler, decorators: [{
|
|
19
19
|
type: Injectable,
|
|
20
20
|
args: [{
|
|
21
21
|
providedIn: 'root',
|
|
22
22
|
}]
|
|
23
|
-
}], ctorParameters:
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
}], ctorParameters: () => [{ type: i1.LogService }] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLWVycm9yLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2Vycm9ycy9nbG9iYWwtZXJyb3ItaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBT3pELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxZQUFZO0lBQ2hELFlBQXNCLFVBQXNCO1FBQ3hDLEtBQUssRUFBRSxDQUFDO1FBRFUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUU1QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDbEIsWUFBWTtRQUNaLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFekQsZUFBZTtRQUNmLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzt3SUFYUSxrQkFBa0I7NElBQWxCLGtCQUFrQixjQUZmLE1BQU07O2tHQUVULGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFcnJvckhhbmRsZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9pbmRleCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdsb2JhbEVycm9ySGFuZGxlciBleHRlbmRzIEVycm9ySGFuZGxlciB7XG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIGxvZ1NlcnZpY2U6IExvZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBoYW5kbGVFcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgIC8vIGxvZyBlcnJvclxuICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuZXJyb3IoZXJyb3IubWVzc2FnZSB8fCBlcnJvci50b1N0cmluZygpKTtcblxuICAgICAgICAvLyB0aHJvdyBlcnJvcjtcbiAgICAgICAgc3VwZXIuaGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LogService } from '../log/log.service';
|
|
2
|
-
|
|
2
|
+
import { EuiGrowlService } from '../growl/eui-growl.service';
|
|
3
3
|
export function AlertHttpErrorCallbackFn(error) {
|
|
4
4
|
alert(error.statusText);
|
|
5
5
|
}
|
|
@@ -11,8 +11,7 @@ export function LogHttpErrorCallbackFn(error, injector) {
|
|
|
11
11
|
logService.error('HttpError', error);
|
|
12
12
|
}
|
|
13
13
|
export function GrowlHttpErrorCallbackFn(error, injector) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
// asService.growlError(error.statusText);
|
|
14
|
+
const asService = injector.get(EuiGrowlService);
|
|
15
|
+
asService.growlError(error.statusText);
|
|
17
16
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLWNhbGxiYWNrLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvZXJyb3JzL2h0dHAtZXJyb3ItaGFuZGxlci1jYWxsYmFjay1mdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBd0I7SUFDN0QsS0FBSyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUM1QixDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEtBQXdCO0lBQy9ELE9BQU8sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3RDLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsS0FBd0IsRUFBRSxRQUFrQjtJQUMvRSxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzVDLFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBd0IsRUFBRSxRQUFrQjtJQUNqRixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2hELFNBQVMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nL2xvZy5zZXJ2aWNlJztcbmltcG9ydCB7IEV1aUdyb3dsU2VydmljZSB9IGZyb20gJy4uL2dyb3dsL2V1aS1ncm93bC5zZXJ2aWNlJztcblxuZXhwb3J0IGZ1bmN0aW9uIEFsZXJ0SHR0cEVycm9yQ2FsbGJhY2tGbihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpIHtcbiAgICBhbGVydChlcnJvci5zdGF0dXNUZXh0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENvbnNvbGVIdHRwRXJyb3JDYWxsYmFja0ZuKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoJ0h0dHBFcnJvcicsIGVycm9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIExvZ0h0dHBFcnJvckNhbGxiYWNrRm4oZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlLCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBjb25zdCBsb2dTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KExvZ1NlcnZpY2UpO1xuICAgIGxvZ1NlcnZpY2UuZXJyb3IoJ0h0dHBFcnJvcicsIGVycm9yKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEdyb3dsSHR0cEVycm9yQ2FsbGJhY2tGbihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UsIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgIGNvbnN0IGFzU2VydmljZSA9IGluamVjdG9yLmdldChFdWlHcm93bFNlcnZpY2UpO1xuICAgIGFzU2VydmljZS5ncm93bEVycm9yKGVycm9yLnN0YXR1c1RleHQpO1xufVxuIl19
|
|
@@ -43,13 +43,13 @@ export class HttpErrorHandlerInterceptor {
|
|
|
43
43
|
// return the first matching route, if any
|
|
44
44
|
return routes.length > 0 ? routes[0] : null;
|
|
45
45
|
}
|
|
46
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
47
|
-
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
46
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: HttpErrorHandlerInterceptor, deps: [{ token: HTTP_ERROR_HANDLER_CONFIG_TOKEN }, { token: i0.Injector }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
47
|
+
/** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: HttpErrorHandlerInterceptor }); }
|
|
48
48
|
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-next.7", ngImport: i0, type: HttpErrorHandlerInterceptor, decorators: [{
|
|
50
50
|
type: Injectable
|
|
51
|
-
}], ctorParameters:
|
|
51
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
52
52
|
type: Inject,
|
|
53
53
|
args: [HTTP_ERROR_HANDLER_CONFIG_TOKEN]
|
|
54
|
-
}] }, { type: i0.Injector }, { type: i1.Router }]
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
}] }, { type: i0.Injector }, { type: i1.Router }] });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9lcnJvcnMvaHR0cC1lcnJvci1oYW5kbGVyLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBd0QsTUFBTSxzQkFBc0IsQ0FBQztBQUcvRyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHckMsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUd2RSxNQUFNLE9BQU8sMkJBQTJCO0lBQ3BDLFlBQ3VELFNBQWlDLGlDQUFpQyxFQUMzRyxRQUFrQixFQUNsQixNQUFjO1FBRjJCLFdBQU0sR0FBTixNQUFNLENBQTREO1FBQzNHLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUN6QixDQUFDO0lBRUosU0FBUyxDQUFDLEdBQXFCLEVBQUUsSUFBaUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDeEIsR0FBRyxDQUNDLEdBQUcsRUFBRSxHQUFFLENBQUMsRUFDUixDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ1gsd0JBQXdCO1lBQ3hCLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFO2dCQUNwQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLElBQUksR0FBRyxXQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFL0UsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7b0JBQzFCLHFCQUFxQjtvQkFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUNoQztxQkFBTSxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsRUFBRTtvQkFDbkMsb0JBQW9CO29CQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2lCQUN6QzthQUNKO1FBQ0wsQ0FBQyxDQUNKLENBQ0osQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNPLGNBQWMsQ0FBQyxLQUF3QjtRQUM3QyxvQkFBb0I7UUFDcEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDL0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztZQUN2RSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFdBQVcsSUFBSSxPQUFPLEtBQUssQ0FBQyxPQUFPLEtBQUssV0FBVyxDQUFDLENBQUM7UUFDekgsQ0FBQyxDQUFDLENBQUM7UUFDSCwwQ0FBMEM7UUFDMUMsT0FBTyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDaEQsQ0FBQzt3SUE1Q1EsMkJBQTJCLGtCQUV4QiwrQkFBK0I7NElBRmxDLDJCQUEyQjs7a0dBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7MEJBR0YsTUFBTTsyQkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cEV2ZW50LCBIdHRwSGFuZGxlciwgSHR0cEludGVyY2VwdG9yLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEh0dHBFcnJvckhhbmRsZXJDb25maWcsIEh0dHBFcnJvclJvdXRlQ29uZmlnIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEhUVFBfRVJST1JfSEFORExFUl9DT05GSUdfVE9LRU4gfSBmcm9tICcuLi9jb25maWcvdG9rZW5zJztcbmltcG9ydCB7IERFRkFVTFRfSFRUUF9FUlJPUl9IQU5ETEVSX0NPTkZJRyB9IGZyb20gJy4uL2NvbmZpZy9kZWZhdWx0cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIdHRwRXJyb3JIYW5kbGVySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEhUVFBfRVJST1JfSEFORExFUl9DT05GSUdfVE9LRU4pIHByb3RlY3RlZCBjb25maWc6IEh0dHBFcnJvckhhbmRsZXJDb25maWcgPSBERUZBVUxUX0hUVFBfRVJST1JfSEFORExFUl9DT05GSUcsXG4gICAgICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByb3RlY3RlZCByb3V0ZXI6IFJvdXRlclxuICAgICkge31cblxuICAgIGludGVyY2VwdChyZXE6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxKS5waXBlKFxuICAgICAgICAgICAgdGFwKFxuICAgICAgICAgICAgICAgICgpID0+IHt9LFxuICAgICAgICAgICAgICAgIChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGluIGNhc2Ugb2YgaHR0cCBlcnJvclxuICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm91dGVDb25maWcgPSB0aGlzLmdldFJvdXRlQ29uZmlnKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJ1bGUgPSByb3V0ZUNvbmZpZyAmJiAocm91dGVDb25maWdbZXJyb3Iuc3RhdHVzXSB8fCByb3V0ZUNvbmZpZy5kZWZhdWx0KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBydWxlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBlcmZvcm0gYSByZWRpcmVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtydWxlXSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBydWxlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2FsbGJhY2sgZnVuY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxlLmNhbGwobnVsbCwgZXJyb3IsIHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlYXJjaCBpbiB0aGUgY29uZmlndXJhdGlvbiBmb3IgdGhlIGZpcnN0IG1hdGNoaW5nIHJvdXRlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXJyb3IgaHR0cCBlcnJvciByZXNwb25zZVxuICAgICAqIEByZXR1cm5zIEh0dHBFcnJvclJvdXRlQ29uZmlnIG9yIG51bGxcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgZ2V0Um91dGVDb25maWcoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKTogSHR0cEVycm9yUm91dGVDb25maWcgfCBudWxsIHtcbiAgICAgICAgLy8gZmlsdGVyIHRoZSByb3V0ZXNcbiAgICAgICAgY29uc3Qgcm91dGVzID0gdGhpcy5jb25maWcucm91dGVzLmZpbHRlcigocm91dGUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cCgnXicgKyByb3V0ZS5wYXRoLnNwbGl0KCcqJykuam9pbignLionKSArICckJyk7XG4gICAgICAgICAgICByZXR1cm4gcmVnZXgudGVzdChlcnJvci51cmwpICYmICh0eXBlb2Ygcm91dGVbZXJyb3Iuc3RhdHVzXSAhPT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIHJvdXRlLmRlZmF1bHQgIT09ICd1bmRlZmluZWQnKTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIHJldHVybiB0aGUgZmlyc3QgbWF0Y2hpbmcgcm91dGUsIGlmIGFueVxuICAgICAgICByZXR1cm4gcm91dGVzLmxlbmd0aCA+IDAgPyByb3V0ZXNbMF0gOiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
|