@onecx/angular-integration-interface 6.0.0-rc.3 → 6.0.0-rc.5
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/fesm2022/onecx-angular-integration-interface-mocks.mjs +19 -31
- package/fesm2022/onecx-angular-integration-interface-mocks.mjs.map +1 -1
- package/fesm2022/onecx-angular-integration-interface.mjs +55 -86
- package/fesm2022/onecx-angular-integration-interface.mjs.map +1 -1
- package/lib/services/app-config-service.d.ts +0 -2
- package/lib/services/configuration.service.d.ts +2 -6
- package/lib/services/initialize-module-guard.service.d.ts +0 -1
- package/lib/services/portal-message.service.d.ts +0 -2
- package/lib/services/theme.service.d.ts +1 -10
- package/lib/services/workspace.service.d.ts +1 -2
- package/mocks/app-state-service-mock.d.ts +1 -1
- package/mocks/index.d.ts +1 -1
- package/package.json +4 -7
- package/esm2022/index.mjs +0 -18
- package/esm2022/lib/api/constants.mjs +0 -3
- package/esm2022/lib/api/iauth.service.mjs +0 -2
- package/esm2022/lib/api/injection-tokens.mjs +0 -11
- package/esm2022/lib/model/config-key.model.mjs +0 -31
- package/esm2022/lib/services/app-config-service.mjs +0 -43
- package/esm2022/lib/services/app-state.service.mjs +0 -45
- package/esm2022/lib/services/configuration.service.mjs +0 -79
- package/esm2022/lib/services/initialize-module-guard.service.mjs +0 -60
- package/esm2022/lib/services/portal-message.service.mjs +0 -49
- package/esm2022/lib/services/remote-components.service.mjs +0 -18
- package/esm2022/lib/services/theme.service.mjs +0 -48
- package/esm2022/lib/services/user.service.mjs +0 -89
- package/esm2022/lib/services/workspace.service.mjs +0 -146
- package/esm2022/lib/utils/add-initialize-module-guard.utils.mjs +0 -17
- package/esm2022/mocks/app-state-service-mock.mjs +0 -31
- package/esm2022/mocks/fake-topic.mjs +0 -25
- package/esm2022/mocks/index.mjs +0 -4
- package/esm2022/mocks/mock-user-service.mjs +0 -11
- package/esm2022/mocks/onecx-angular-integration-interface-mocks.mjs +0 -5
- package/esm2022/onecx-angular-integration-interface.mjs +0 -5
- package/mocks/fake-topic.d.ts +0 -9
@@ -1,21 +1,17 @@
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
2
1
|
import { OnDestroy } from '@angular/core';
|
3
2
|
import { Config, ConfigurationTopic } from '@onecx/integration-interface';
|
4
3
|
import { CONFIG_KEY } from '../model/config-key.model';
|
5
4
|
import * as i0 from "@angular/core";
|
6
5
|
export declare class ConfigurationService implements OnDestroy {
|
7
6
|
private http;
|
8
|
-
private defaultConfig
|
7
|
+
private defaultConfig;
|
9
8
|
config$: ConfigurationTopic;
|
10
|
-
constructor(http: HttpClient, defaultConfig?: {
|
11
|
-
[key: string]: string;
|
12
|
-
} | undefined);
|
13
9
|
ngOnDestroy(): void;
|
14
10
|
init(): Promise<boolean>;
|
15
11
|
get isInitialized(): Promise<void>;
|
16
12
|
getProperty(key: CONFIG_KEY): string | undefined;
|
17
13
|
setProperty(key: string, val: string): Promise<void>;
|
18
14
|
getConfig(): Config | undefined;
|
19
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationService,
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ConfigurationService, never>;
|
20
16
|
static ɵprov: i0.ɵɵInjectableDeclaration<ConfigurationService>;
|
21
17
|
}
|
@@ -12,7 +12,6 @@ export declare class InitializeModuleGuard implements CanActivate {
|
|
12
12
|
protected userService: UserService;
|
13
13
|
private SUPPORTED_LANGS;
|
14
14
|
private DEFAULT_LANG;
|
15
|
-
constructor(translateService: TranslateService, configService: ConfigurationService, appStateService: AppStateService, userService: UserService);
|
16
15
|
canActivate(_route: ActivatedRouteSnapshot, _state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree;
|
17
16
|
getBestMatchLanguage(lang: string): string;
|
18
17
|
loadTranslations(): Observable<boolean>;
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import { OnDestroy } from '@angular/core';
|
2
|
-
import { TranslateService } from '@ngx-translate/core';
|
3
2
|
import { MessageTopic } from '@onecx/integration-interface';
|
4
3
|
import * as i0 from "@angular/core";
|
5
4
|
export type Message = {
|
@@ -19,7 +18,6 @@ export type Message = {
|
|
19
18
|
};
|
20
19
|
export declare class PortalMessageService implements OnDestroy {
|
21
20
|
private translateService;
|
22
|
-
constructor(translateService: TranslateService);
|
23
21
|
message$: MessageTopic;
|
24
22
|
success(msg: Message): void;
|
25
23
|
info(msg: Message): void;
|
@@ -1,17 +1,8 @@
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
2
1
|
import { OnDestroy } from '@angular/core';
|
3
|
-
import { CurrentThemeTopic
|
4
|
-
import { ConfigurationService } from './configuration.service';
|
2
|
+
import { CurrentThemeTopic } from '@onecx/integration-interface';
|
5
3
|
import * as i0 from "@angular/core";
|
6
4
|
export declare class ThemeService implements OnDestroy {
|
7
|
-
private configService;
|
8
|
-
private http;
|
9
|
-
baseUrlV1: string;
|
10
5
|
currentTheme$: CurrentThemeTopic;
|
11
|
-
constructor(configService: ConfigurationService, http: HttpClient);
|
12
|
-
getThemeHref(themeId: string): string;
|
13
|
-
loadAndApplyTheme(themeName: string): import("rxjs").Observable<Theme>;
|
14
|
-
apply(theme: Theme): Promise<void>;
|
15
6
|
ngOnDestroy(): void;
|
16
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<ThemeService, never>;
|
17
8
|
static ɵprov: i0.ɵɵInjectableDeclaration<ThemeService>;
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { AppStateService } from './app-state.service';
|
2
1
|
import { Observable } from 'rxjs';
|
2
|
+
import { AppStateService } from './app-state.service';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
export declare class WorkspaceService {
|
5
5
|
protected appStateService: AppStateService;
|
@@ -7,7 +7,6 @@ export declare class WorkspaceService {
|
|
7
7
|
private aliasEnd;
|
8
8
|
private paramStart;
|
9
9
|
private paramEnd;
|
10
|
-
constructor(appStateService: AppStateService);
|
11
10
|
getUrl(productName: string, appId: string, endpointName?: string, endpointParameters?: Record<string, unknown>): Observable<string>;
|
12
11
|
doesUrlExistFor(productName: string, appId: string, endpointName?: string): Observable<boolean>;
|
13
12
|
private constructBaseUrlFromWorkspace;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { PageInfo, Workspace } from '@onecx/integration-interface';
|
2
2
|
import { AppStateService } from '@onecx/angular-integration-interface';
|
3
|
-
import { FakeTopic } from '
|
3
|
+
import { FakeTopic } from '@onecx/accelerator';
|
4
4
|
import * as i0 from "@angular/core";
|
5
5
|
/**
|
6
6
|
* @deprecated use provideAppStateServiceMock()
|
package/mocks/index.d.ts
CHANGED
package/package.json
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
{
|
2
2
|
"name": "@onecx/angular-integration-interface",
|
3
|
-
"version": "6.0.0-rc.
|
3
|
+
"version": "6.0.0-rc.5",
|
4
4
|
"license": "Apache-2.0",
|
5
5
|
"peerDependencies": {
|
6
|
-
"@angular/core": "^
|
7
|
-
"@onecx/integration-interface": "^6.0.0-rc.
|
6
|
+
"@angular/core": "^19.0.0",
|
7
|
+
"@onecx/integration-interface": "^6.0.0-rc.5",
|
8
|
+
"@onecx/accelerator": "^6.0.0-rc.5",
|
8
9
|
"rxjs": "~7.8.1"
|
9
10
|
},
|
10
11
|
"dependencies": {
|
@@ -21,14 +22,10 @@
|
|
21
22
|
},
|
22
23
|
".": {
|
23
24
|
"types": "./index.d.ts",
|
24
|
-
"esm2022": "./esm2022/onecx-angular-integration-interface.mjs",
|
25
|
-
"esm": "./esm2022/onecx-angular-integration-interface.mjs",
|
26
25
|
"default": "./fesm2022/onecx-angular-integration-interface.mjs"
|
27
26
|
},
|
28
27
|
"./mocks": {
|
29
28
|
"types": "./mocks/index.d.ts",
|
30
|
-
"esm2022": "./esm2022/mocks/onecx-angular-integration-interface-mocks.mjs",
|
31
|
-
"esm": "./esm2022/mocks/onecx-angular-integration-interface-mocks.mjs",
|
32
29
|
"default": "./fesm2022/onecx-angular-integration-interface-mocks.mjs"
|
33
30
|
}
|
34
31
|
},
|
package/esm2022/index.mjs
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
// services
|
2
|
-
export * from './lib/services/app-config-service';
|
3
|
-
export * from './lib/services/app-state.service';
|
4
|
-
export * from './lib/services/configuration.service';
|
5
|
-
export * from './lib/services/user.service';
|
6
|
-
export * from './lib/services/portal-message.service';
|
7
|
-
export * from './lib/services/theme.service';
|
8
|
-
export * from './lib/services/remote-components.service';
|
9
|
-
export * from './lib/services/initialize-module-guard.service';
|
10
|
-
export * from './lib/services/workspace.service';
|
11
|
-
// models
|
12
|
-
export * from './lib/model/config-key.model';
|
13
|
-
// core
|
14
|
-
export * from './lib/api/iauth.service';
|
15
|
-
export * from './lib/api/injection-tokens';
|
16
|
-
// utils
|
17
|
-
export * from './lib/utils/add-initialize-module-guard.utils';
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItaW50ZWdyYXRpb24taW50ZXJmYWNlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxXQUFXO0FBQ1gsY0FBYyxtQ0FBbUMsQ0FBQTtBQUNqRCxjQUFjLGtDQUFrQyxDQUFBO0FBQ2hELGNBQWMsc0NBQXNDLENBQUE7QUFDcEQsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYywwQ0FBMEMsQ0FBQTtBQUN4RCxjQUFjLGdEQUFnRCxDQUFBO0FBQzlELGNBQWMsa0NBQWtDLENBQUE7QUFFaEQsU0FBUztBQUNULGNBQWMsOEJBQThCLENBQUE7QUFFNUMsT0FBTztBQUNQLGNBQWMseUJBQXlCLENBQUE7QUFDdkMsY0FBYyw0QkFBNEIsQ0FBQTtBQUUxQyxRQUFRO0FBQ1IsY0FBYywrQ0FBK0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIHNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hcHAtY29uZmlnLXNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hcHAtc3RhdGUuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2NvbmZpZ3VyYXRpb24uc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3VzZXIuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3BvcnRhbC1tZXNzYWdlLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvcmVtb3RlLWNvbXBvbmVudHMuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2luaXRpYWxpemUtbW9kdWxlLWd1YXJkLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy93b3Jrc3BhY2Uuc2VydmljZSdcblxuLy8gbW9kZWxzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbC9jb25maWcta2V5Lm1vZGVsJ1xuXG4vLyBjb3JlXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hcGkvaWF1dGguc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vbGliL2FwaS9pbmplY3Rpb24tdG9rZW5zJ1xuXG4vLyB1dGlsc1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbHMvYWRkLWluaXRpYWxpemUtbW9kdWxlLWd1YXJkLnV0aWxzJ1xuXG5leHBvcnQgeyBNZmVJbmZvLCBUaGVtZSB9IGZyb20gJ0BvbmVjeC9pbnRlZ3JhdGlvbi1pbnRlcmZhY2UnXG4iXX0=
|
@@ -1,3 +0,0 @@
|
|
1
|
-
export const API_PREFIX = 'portal-api';
|
2
|
-
export const DEFAULT_LANG = 'en';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWludGVncmF0aW9uLWludGVyZmFjZS9zcmMvbGliL2FwaS9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQTtBQUV0QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEFQSV9QUkVGSVggPSAncG9ydGFsLWFwaSdcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTEFORyA9ICdlbidcbiJdfQ==
|
@@ -1,2 +0,0 @@
|
|
1
|
-
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2Uvc3JjL2xpYi9hcGkvaWF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBdXRoU2VydmljZSB7XG4gIGxvZ291dCgpOiB2b2lkXG5cbiAgLyoqXG4gICAqIFVuaXF1ZSBuYW1lIG9mIHRoaXMgYXV0aCBwcm92aWRlcjogZS5nLiBtb2NrQXV0aFByb3ZpZGVyLCBLZXljbG9ha1Byb3ZpZGVyLi5cbiAgICovXG4gIGdldEF1dGhQcm92aWRlck5hbWUoKTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemF0aW9uIG1ldGhvZCBvZiB0aGUgQXV0aCBzZXJ2aWNlLiBPbmNlIHJlc29sdmVkLCBhbGwgdXNlciBkYXRhIE1VU1QgYmUgYXZhaWxhYmxlLlxuICAgKi9cbiAgaW5pdCgpOiBQcm9taXNlPGJvb2xlYW4+XG5cbiAgZ2V0SWRUb2tlbigpOiBzdHJpbmcgfCBudWxsXG5cbiAgaGFzUm9sZShfcm9sZTogc3RyaW5nKTogYm9vbGVhblxuXG4gIGdldFVzZXJSb2xlcygpOiBzdHJpbmdbXVxufVxuIl19
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
2
|
-
export const APP_CONFIG = new InjectionToken('APP_CONFIG');
|
3
|
-
/**
|
4
|
-
* @deprecated
|
5
|
-
* Please do not inject the auth service at all.
|
6
|
-
* There are better ways to achieve what you want. Please use permission service or user service.
|
7
|
-
*/
|
8
|
-
export const AUTH_SERVICE = new InjectionToken('AUTH_SERVICE');
|
9
|
-
export const SANITY_CHECK = new InjectionToken('OCXSANITY_CHECK');
|
10
|
-
export const APPLICATION_NAME = new InjectionToken('APPLICATION_NAME');
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0aW9uLXRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2Uvc3JjL2xpYi9hcGkvaW5qZWN0aW9uLXRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBZTlDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBWSxZQUFZLENBQUMsQ0FBQTtBQUVyRTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFlLGNBQWMsQ0FBQyxDQUFBO0FBRTVFLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBUyxpQkFBaUIsQ0FBQyxDQUFBO0FBRXpFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFTLGtCQUFrQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBJQXV0aFNlcnZpY2UgfSBmcm9tICcuL2lhdXRoLnNlcnZpY2UnXG5cbmV4cG9ydCBpbnRlcmZhY2UgTGliQ29uZmlnIHtcbiAgYXBwSWQ6IHN0cmluZ1xuICBwb3J0YWxJZDogc3RyaW5nXG4gIC8qKlxuICAgKiBJZiB0cnVlLCB0aGUgdGtpdC1tb2R1bGUgd2lsbCBub3QgdHJ5IHRvIGxvYWQgcmVtb3RlIGVudiB2YWx1ZXMgZnJvbSBzZXJ2ZXIoR0VUIC9hc3NldHMvZW52Lmpzb24pXG4gICAqL1xuICBza2lwUmVtb3RlQ29uZmlnTG9hZDogYm9vbGVhblxuICAvKipcbiAgICogVVJMIGZyb20gd2hpY2ggdGhlIHJlbW90ZSBjb25maWcgd2lsbCBiZSBsb2FkZWQsIGRlZmF1bHQ6ICcvYXNzZXRzL2Vudi5qc29uJ1xuICAgKi9cbiAgcmVtb3RlQ29uZmlnVVJMOiBzdHJpbmdcbn1cbmV4cG9ydCBjb25zdCBBUFBfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuPExpYkNvbmZpZz4oJ0FQUF9DT05GSUcnKVxuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKiBQbGVhc2UgZG8gbm90IGluamVjdCB0aGUgYXV0aCBzZXJ2aWNlIGF0IGFsbC5cbiAqIFRoZXJlIGFyZSBiZXR0ZXIgd2F5cyB0byBhY2hpZXZlIHdoYXQgeW91IHdhbnQuIFBsZWFzZSB1c2UgcGVybWlzc2lvbiBzZXJ2aWNlIG9yIHVzZXIgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEFVVEhfU0VSVklDRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJQXV0aFNlcnZpY2U+KCdBVVRIX1NFUlZJQ0UnKVxuXG5leHBvcnQgY29uc3QgU0FOSVRZX0NIRUNLID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ09DWFNBTklUWV9DSEVDSycpXG5cbmV4cG9ydCBjb25zdCBBUFBMSUNBVElPTl9OQU1FID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oJ0FQUExJQ0FUSU9OX05BTUUnKVxuIl19
|
@@ -1,31 +0,0 @@
|
|
1
|
-
export var CONFIG_KEY;
|
2
|
-
(function (CONFIG_KEY) {
|
3
|
-
CONFIG_KEY["TKIT_PORTAL_DEFAULT_THEME"] = "TKIT_PORTAL_DEFAULT_THEME";
|
4
|
-
CONFIG_KEY["TKIT_PORTAL_DISABLE_THEME_MANAGEMENT"] = "TKIT_PORTAL_DISABLE_THEME_MANAGEMENT";
|
5
|
-
CONFIG_KEY["TKIT_PORTAL_THEME_SERVER_URL"] = "TKIT_PORTAL_THEME_SERVER_URL";
|
6
|
-
CONFIG_KEY["TKIT_TOKEN_ROLE_CLAIM_NAME"] = "TKIT_TOKEN_ROLE_CLAIM_NAME";
|
7
|
-
CONFIG_KEY["TKIT_PORTAL_ID"] = "TKIT_PORTAL_ID";
|
8
|
-
CONFIG_KEY["TKIT_SUPPORTED_LANGUAGES"] = "TKIT_SUPPORTED_LANGUAGES";
|
9
|
-
CONFIG_KEY["TKIT_SEARCH_BASE_URL"] = "TKIT_SEARCH_BASE_URL";
|
10
|
-
CONFIG_KEY["APP_BASE_HREF"] = "APP_BASE_HREF";
|
11
|
-
CONFIG_KEY["KEYCLOAK_REALM"] = "KEYCLOAK_REALM";
|
12
|
-
CONFIG_KEY["KEYCLOAK_ENABLE_SILENT_SSO"] = "KEYCLOAK_ENABLE_SILENT_SSO";
|
13
|
-
CONFIG_KEY["KEYCLOAK_URL"] = "KEYCLOAK_URL";
|
14
|
-
CONFIG_KEY["KEYCLOAK_CLIENT_ID"] = "KEYCLOAK_CLIENT_ID";
|
15
|
-
CONFIG_KEY["ONECX_PORTAL_FAVORITES_DISABLED"] = "ONECX_PORTAL_FAVORITES_DISABLED";
|
16
|
-
CONFIG_KEY["ONECX_PORTAL_FEEDBACK_DISABLED"] = "ONECX_PORTAL_FEEDBACK_DISABLED";
|
17
|
-
CONFIG_KEY["ONECX_PORTAL_SEARCH_DISABLED"] = "ONECX_PORTAL_SEARCH_DISABLED";
|
18
|
-
CONFIG_KEY["ONECX_PORTAL_SUPPORT_TICKET_DISABLED"] = "ONECX_PORTAL_SUPPORT_TICKET_DISABLED";
|
19
|
-
CONFIG_KEY["ONECX_PORTAL_ANNOUNCEMENTS_DISABLED"] = "ONECX_PORTAL_ANNOUNCEMENTS_DISABLED";
|
20
|
-
CONFIG_KEY["ONECX_PORTAL_PASSWORD_CHANGE_DISABLED"] = "ONECX_PORTAL_PASSWORD_CHANGE_DISABLED";
|
21
|
-
CONFIG_KEY["ONECX_PORTAL_SETTINGS_DISABLED"] = "ONECX_PORTAL_SETTINGS_DISABLED";
|
22
|
-
CONFIG_KEY["ONECX_PORTAL_MY_ROLES_PERMISSIONS_DISABLED"] = "ONECX_PORTAL_MY_ROLES_PERMISSIONS_DISABLED";
|
23
|
-
CONFIG_KEY["ONECX_PORTAL_HELP_DISABLED"] = "ONECX_PORTAL_HELP_DISABLED";
|
24
|
-
CONFIG_KEY["ONECX_PORTAL_SEARCH_BUTTONS_REVERSED"] = "ONECX_PORTAL_SEARCH_BUTTONS_REVERSED";
|
25
|
-
CONFIG_KEY["APP_VERSION"] = "APP_VERSION";
|
26
|
-
CONFIG_KEY["IS_SHELL"] = "IS_SHELL";
|
27
|
-
CONFIG_KEY["AUTH_SERVICE"] = "AUTH_SERVICE";
|
28
|
-
CONFIG_KEY["AUTH_SERVICE_CUSTOM_URL"] = "AUTH_SERVICE_CUSTOM_URL";
|
29
|
-
CONFIG_KEY["AUTH_SERVICE_CUSTOM_MODULE_NAME"] = "AUTH_SERVICE_CUSTOM_MODULE_NAME";
|
30
|
-
})(CONFIG_KEY || (CONFIG_KEY = {}));
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLWtleS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2Uvc3JjL2xpYi9tb2RlbC9jb25maWcta2V5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFVBNEJYO0FBNUJELFdBQVksVUFBVTtJQUNwQixxRUFBdUQsQ0FBQTtJQUN2RCwyRkFBNkUsQ0FBQTtJQUM3RSwyRUFBNkQsQ0FBQTtJQUM3RCx1RUFBeUQsQ0FBQTtJQUN6RCwrQ0FBaUMsQ0FBQTtJQUNqQyxtRUFBcUQsQ0FBQTtJQUNyRCwyREFBNkMsQ0FBQTtJQUM3Qyw2Q0FBK0IsQ0FBQTtJQUMvQiwrQ0FBaUMsQ0FBQTtJQUNqQyx1RUFBeUQsQ0FBQTtJQUN6RCwyQ0FBNkIsQ0FBQTtJQUM3Qix1REFBeUMsQ0FBQTtJQUN6QyxpRkFBbUUsQ0FBQTtJQUNuRSwrRUFBaUUsQ0FBQTtJQUNqRSwyRUFBNkQsQ0FBQTtJQUM3RCwyRkFBNkUsQ0FBQTtJQUM3RSx5RkFBMkUsQ0FBQTtJQUMzRSw2RkFBK0UsQ0FBQTtJQUMvRSwrRUFBaUUsQ0FBQTtJQUNqRSx1R0FBeUYsQ0FBQTtJQUN6Rix1RUFBeUQsQ0FBQTtJQUN6RCwyRkFBNkUsQ0FBQTtJQUM3RSx5Q0FBMkIsQ0FBQTtJQUMzQixtQ0FBcUIsQ0FBQTtJQUNyQiwyQ0FBNkIsQ0FBQTtJQUM3QixpRUFBbUQsQ0FBQTtJQUNuRCxpRkFBbUUsQ0FBQTtBQUNyRSxDQUFDLEVBNUJXLFVBQVUsS0FBVixVQUFVLFFBNEJyQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIENPTkZJR19LRVkge1xuICBUS0lUX1BPUlRBTF9ERUZBVUxUX1RIRU1FID0gJ1RLSVRfUE9SVEFMX0RFRkFVTFRfVEhFTUUnLFxuICBUS0lUX1BPUlRBTF9ESVNBQkxFX1RIRU1FX01BTkFHRU1FTlQgPSAnVEtJVF9QT1JUQUxfRElTQUJMRV9USEVNRV9NQU5BR0VNRU5UJyxcbiAgVEtJVF9QT1JUQUxfVEhFTUVfU0VSVkVSX1VSTCA9ICdUS0lUX1BPUlRBTF9USEVNRV9TRVJWRVJfVVJMJyxcbiAgVEtJVF9UT0tFTl9ST0xFX0NMQUlNX05BTUUgPSAnVEtJVF9UT0tFTl9ST0xFX0NMQUlNX05BTUUnLFxuICBUS0lUX1BPUlRBTF9JRCA9ICdUS0lUX1BPUlRBTF9JRCcsXG4gIFRLSVRfU1VQUE9SVEVEX0xBTkdVQUdFUyA9ICdUS0lUX1NVUFBPUlRFRF9MQU5HVUFHRVMnLFxuICBUS0lUX1NFQVJDSF9CQVNFX1VSTCA9ICdUS0lUX1NFQVJDSF9CQVNFX1VSTCcsXG4gIEFQUF9CQVNFX0hSRUYgPSAnQVBQX0JBU0VfSFJFRicsXG4gIEtFWUNMT0FLX1JFQUxNID0gJ0tFWUNMT0FLX1JFQUxNJyxcbiAgS0VZQ0xPQUtfRU5BQkxFX1NJTEVOVF9TU08gPSAnS0VZQ0xPQUtfRU5BQkxFX1NJTEVOVF9TU08nLFxuICBLRVlDTE9BS19VUkwgPSAnS0VZQ0xPQUtfVVJMJyxcbiAgS0VZQ0xPQUtfQ0xJRU5UX0lEID0gJ0tFWUNMT0FLX0NMSUVOVF9JRCcsXG4gIE9ORUNYX1BPUlRBTF9GQVZPUklURVNfRElTQUJMRUQgPSAnT05FQ1hfUE9SVEFMX0ZBVk9SSVRFU19ESVNBQkxFRCcsXG4gIE9ORUNYX1BPUlRBTF9GRUVEQkFDS19ESVNBQkxFRCA9ICdPTkVDWF9QT1JUQUxfRkVFREJBQ0tfRElTQUJMRUQnLFxuICBPTkVDWF9QT1JUQUxfU0VBUkNIX0RJU0FCTEVEID0gJ09ORUNYX1BPUlRBTF9TRUFSQ0hfRElTQUJMRUQnLFxuICBPTkVDWF9QT1JUQUxfU1VQUE9SVF9USUNLRVRfRElTQUJMRUQgPSAnT05FQ1hfUE9SVEFMX1NVUFBPUlRfVElDS0VUX0RJU0FCTEVEJyxcbiAgT05FQ1hfUE9SVEFMX0FOTk9VTkNFTUVOVFNfRElTQUJMRUQgPSAnT05FQ1hfUE9SVEFMX0FOTk9VTkNFTUVOVFNfRElTQUJMRUQnLFxuICBPTkVDWF9QT1JUQUxfUEFTU1dPUkRfQ0hBTkdFX0RJU0FCTEVEID0gJ09ORUNYX1BPUlRBTF9QQVNTV09SRF9DSEFOR0VfRElTQUJMRUQnLFxuICBPTkVDWF9QT1JUQUxfU0VUVElOR1NfRElTQUJMRUQgPSAnT05FQ1hfUE9SVEFMX1NFVFRJTkdTX0RJU0FCTEVEJyxcbiAgT05FQ1hfUE9SVEFMX01ZX1JPTEVTX1BFUk1JU1NJT05TX0RJU0FCTEVEID0gJ09ORUNYX1BPUlRBTF9NWV9ST0xFU19QRVJNSVNTSU9OU19ESVNBQkxFRCcsXG4gIE9ORUNYX1BPUlRBTF9IRUxQX0RJU0FCTEVEID0gJ09ORUNYX1BPUlRBTF9IRUxQX0RJU0FCTEVEJyxcbiAgT05FQ1hfUE9SVEFMX1NFQVJDSF9CVVRUT05TX1JFVkVSU0VEID0gJ09ORUNYX1BPUlRBTF9TRUFSQ0hfQlVUVE9OU19SRVZFUlNFRCcsXG4gIEFQUF9WRVJTSU9OID0gJ0FQUF9WRVJTSU9OJyxcbiAgSVNfU0hFTEwgPSAnSVNfU0hFTEwnLFxuICBBVVRIX1NFUlZJQ0UgPSAnQVVUSF9TRVJWSUNFJyxcbiAgQVVUSF9TRVJWSUNFX0NVU1RPTV9VUkwgPSAnQVVUSF9TRVJWSUNFX0NVU1RPTV9VUkwnLFxuICBBVVRIX1NFUlZJQ0VfQ1VTVE9NX01PRFVMRV9OQU1FID0gJ0FVVEhfU0VSVklDRV9DVVNUT01fTU9EVUxFX05BTUUnLFxufVxuIl19
|
@@ -1,43 +0,0 @@
|
|
1
|
-
import { Location } from '@angular/common';
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
3
|
-
import { Injectable } from '@angular/core';
|
4
|
-
import { BehaviorSubject, firstValueFrom } from 'rxjs';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@angular/common/http";
|
7
|
-
export class AppConfigService {
|
8
|
-
constructor(http) {
|
9
|
-
this.http = http;
|
10
|
-
this.config$ = new BehaviorSubject({});
|
11
|
-
}
|
12
|
-
init(baseUrl) {
|
13
|
-
return new Promise((resolve, reject) => {
|
14
|
-
const loadConfigPromise = firstValueFrom(this.http.get(Location.joinWithSlash(baseUrl, 'assets/env.json')));
|
15
|
-
loadConfigPromise
|
16
|
-
.then(async (config) => {
|
17
|
-
if (config) {
|
18
|
-
this.config$.next(config);
|
19
|
-
resolve();
|
20
|
-
}
|
21
|
-
})
|
22
|
-
.catch((e) => {
|
23
|
-
console.log(`Failed to load env configuration`);
|
24
|
-
reject(e);
|
25
|
-
});
|
26
|
-
});
|
27
|
-
}
|
28
|
-
getProperty(key) {
|
29
|
-
return this.config$.getValue()?.[key];
|
30
|
-
}
|
31
|
-
setProperty(key, val) {
|
32
|
-
this.config$.next({ ...this.config$.value, [key]: val });
|
33
|
-
}
|
34
|
-
getConfig() {
|
35
|
-
return this.config$.getValue();
|
36
|
-
}
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AppConfigService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
38
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AppConfigService }); }
|
39
|
-
}
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AppConfigService, decorators: [{
|
41
|
-
type: Injectable
|
42
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWludGVncmF0aW9uLWludGVyZmFjZS9zcmMvbGliL3NlcnZpY2VzL2FwcC1jb25maWctc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUE7OztBQUd0RCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLFlBQW9CLElBQWdCO1FBQWhCLFNBQUksR0FBSixJQUFJLENBQVk7UUFGcEMsWUFBTyxHQUFHLElBQUksZUFBZSxDQUE0QixFQUFFLENBQUMsQ0FBQTtJQUVyQixDQUFDO0lBRWpDLElBQUksQ0FBQyxPQUFlO1FBQ3pCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsTUFBTSxpQkFBaUIsR0FBb0IsY0FBYyxDQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLENBQzFFLENBQUE7WUFFRCxpQkFBaUI7aUJBQ2QsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDckIsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtvQkFDekIsT0FBTyxFQUFFLENBQUE7Z0JBQ1gsQ0FBQztZQUNILENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDWCxPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxDQUFDLENBQUE7Z0JBQy9DLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtZQUNYLENBQUMsQ0FBQyxDQUFBO1FBQ04sQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU0sV0FBVyxDQUFDLEdBQVc7UUFDNUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDdkMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFBO0lBQzFELENBQUM7SUFFTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ2hDLENBQUM7K0dBbkNVLGdCQUFnQjttSEFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJ0BvbmVjeC9pbnRlZ3JhdGlvbi1pbnRlcmZhY2UnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcydcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFwcENvbmZpZ1NlcnZpY2Uge1xuICBjb25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9Pih7fSlcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHt9XG5cbiAgcHVibGljIGluaXQoYmFzZVVybDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGxvYWRDb25maWdQcm9taXNlOiBQcm9taXNlPENvbmZpZz4gPSBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgdGhpcy5odHRwLmdldDxDb25maWc+KExvY2F0aW9uLmpvaW5XaXRoU2xhc2goYmFzZVVybCwgJ2Fzc2V0cy9lbnYuanNvbicpKVxuICAgICAgKVxuXG4gICAgICBsb2FkQ29uZmlnUHJvbWlzZVxuICAgICAgICAudGhlbihhc3luYyAoY29uZmlnKSA9PiB7XG4gICAgICAgICAgaWYgKGNvbmZpZykge1xuICAgICAgICAgICAgdGhpcy5jb25maWckLm5leHQoY29uZmlnKVxuICAgICAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhgRmFpbGVkIHRvIGxvYWQgZW52IGNvbmZpZ3VyYXRpb25gKVxuICAgICAgICAgIHJlamVjdChlKVxuICAgICAgICB9KVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgZ2V0UHJvcGVydHkoa2V5OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZyQuZ2V0VmFsdWUoKT8uW2tleV1cbiAgfVxuXG4gIHB1YmxpYyBzZXRQcm9wZXJ0eShrZXk6IHN0cmluZywgdmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpZyQubmV4dCh7IC4uLnRoaXMuY29uZmlnJC52YWx1ZSwgW2tleV06IHZhbCB9KVxuICB9XG5cbiAgcHVibGljIGdldENvbmZpZygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWckLmdldFZhbHVlKClcbiAgfVxufVxuIl19
|
@@ -1,45 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { GlobalErrorTopic, GlobalLoadingTopic, CurrentMfeTopic, CurrentPageTopic, CurrentWorkspaceTopic, IsAuthenticatedTopic, } from '@onecx/integration-interface';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class AppStateService {
|
5
|
-
constructor() {
|
6
|
-
this.globalError$ = new GlobalErrorTopic();
|
7
|
-
this.globalLoading$ = new GlobalLoadingTopic();
|
8
|
-
this.currentMfe$ = new CurrentMfeTopic();
|
9
|
-
/**
|
10
|
-
* This topic will only fire when pageInfo.path matches document.location.pathname,
|
11
|
-
* if not it will fire undefined.
|
12
|
-
*/
|
13
|
-
this.currentPage$ = new CurrentPageTopic();
|
14
|
-
this.currentWorkspace$ = new CurrentWorkspaceTopic();
|
15
|
-
/**
|
16
|
-
* This Topic is initialized as soon as the authentication is done
|
17
|
-
*/
|
18
|
-
this.isAuthenticated$ = new IsAuthenticatedTopic();
|
19
|
-
}
|
20
|
-
/**
|
21
|
-
* @deprecated Will be replaced by currentWorkspace$
|
22
|
-
*/
|
23
|
-
get currentPortal$() {
|
24
|
-
return this.currentWorkspace$;
|
25
|
-
}
|
26
|
-
set currentPortal$(value) {
|
27
|
-
this.currentWorkspace$ = value;
|
28
|
-
}
|
29
|
-
ngOnDestroy() {
|
30
|
-
this.globalError$.destroy();
|
31
|
-
this.globalLoading$.destroy();
|
32
|
-
this.currentMfe$.destroy();
|
33
|
-
this.currentPage$.destroy();
|
34
|
-
this.currentPortal$.destroy();
|
35
|
-
this.currentWorkspace$.destroy();
|
36
|
-
this.isAuthenticated$.destroy();
|
37
|
-
}
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AppStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
39
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AppStateService, providedIn: 'root' }); }
|
40
|
-
}
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: AppStateService, decorators: [{
|
42
|
-
type: Injectable,
|
43
|
-
args: [{ providedIn: 'root' }]
|
44
|
-
}] });
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItaW50ZWdyYXRpb24taW50ZXJmYWNlL3NyYy9saWIvc2VydmljZXMvYXBwLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQTtBQUNyRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixvQkFBb0IsR0FDckIsTUFBTSw4QkFBOEIsQ0FBQTs7QUFHckMsTUFBTSxPQUFPLGVBQWU7SUFENUI7UUFFRSxpQkFBWSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQTtRQUNyQyxtQkFBYyxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQTtRQUN6QyxnQkFBVyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUE7UUFFbkM7OztXQUdHO1FBQ0gsaUJBQVksR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUE7UUFDckMsc0JBQWlCLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFBO1FBWS9DOztXQUVHO1FBQ0gscUJBQWdCLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFBO0tBVzlDO0lBeEJDOztPQUVHO0lBQ0gsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFBO0lBQy9CLENBQUM7SUFDRCxJQUFJLGNBQWMsQ0FBQyxLQUE0QjtRQUM3QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFBO0lBQ2hDLENBQUM7SUFPRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUNoQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDakMsQ0FBQzsrR0FuQ1UsZUFBZTttSEFBZixlQUFlLGNBREYsTUFBTTs7NEZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIEdsb2JhbEVycm9yVG9waWMsXG4gIEdsb2JhbExvYWRpbmdUb3BpYyxcbiAgQ3VycmVudE1mZVRvcGljLFxuICBDdXJyZW50UGFnZVRvcGljLFxuICBDdXJyZW50V29ya3NwYWNlVG9waWMsXG4gIElzQXV0aGVudGljYXRlZFRvcGljLFxufSBmcm9tICdAb25lY3gvaW50ZWdyYXRpb24taW50ZXJmYWNlJ1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFwcFN0YXRlU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIGdsb2JhbEVycm9yJCA9IG5ldyBHbG9iYWxFcnJvclRvcGljKClcbiAgZ2xvYmFsTG9hZGluZyQgPSBuZXcgR2xvYmFsTG9hZGluZ1RvcGljKClcbiAgY3VycmVudE1mZSQgPSBuZXcgQ3VycmVudE1mZVRvcGljKClcblxuICAvKipcbiAgICogVGhpcyB0b3BpYyB3aWxsIG9ubHkgZmlyZSB3aGVuIHBhZ2VJbmZvLnBhdGggbWF0Y2hlcyBkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSxcbiAgICogaWYgbm90IGl0IHdpbGwgZmlyZSB1bmRlZmluZWQuXG4gICAqL1xuICBjdXJyZW50UGFnZSQgPSBuZXcgQ3VycmVudFBhZ2VUb3BpYygpXG4gIGN1cnJlbnRXb3Jrc3BhY2UkID0gbmV3IEN1cnJlbnRXb3Jrc3BhY2VUb3BpYygpXG4gIFxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZXBsYWNlZCBieSBjdXJyZW50V29ya3NwYWNlJFxuICAgKi9cbiAgZ2V0IGN1cnJlbnRQb3J0YWwkKCkge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRXb3Jrc3BhY2UkXG4gIH1cbiAgc2V0IGN1cnJlbnRQb3J0YWwkKHZhbHVlOiBDdXJyZW50V29ya3NwYWNlVG9waWMpIHtcbiAgICB0aGlzLmN1cnJlbnRXb3Jrc3BhY2UkID0gdmFsdWVcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIFRvcGljIGlzIGluaXRpYWxpemVkIGFzIHNvb24gYXMgdGhlIGF1dGhlbnRpY2F0aW9uIGlzIGRvbmVcbiAgICovXG4gIGlzQXV0aGVudGljYXRlZCQgPSBuZXcgSXNBdXRoZW50aWNhdGVkVG9waWMoKVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZ2xvYmFsRXJyb3IkLmRlc3Ryb3koKVxuICAgIHRoaXMuZ2xvYmFsTG9hZGluZyQuZGVzdHJveSgpXG4gICAgdGhpcy5jdXJyZW50TWZlJC5kZXN0cm95KClcbiAgICB0aGlzLmN1cnJlbnRQYWdlJC5kZXN0cm95KClcbiAgICB0aGlzLmN1cnJlbnRQb3J0YWwkLmRlc3Ryb3koKVxuICAgIHRoaXMuY3VycmVudFdvcmtzcGFjZSQuZGVzdHJveSgpXG4gICAgdGhpcy5pc0F1dGhlbnRpY2F0ZWQkLmRlc3Ryb3koKVxuICB9XG59XG4iXX0=
|
@@ -1,79 +0,0 @@
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
2
|
-
import { Inject, Injectable, Optional } from '@angular/core';
|
3
|
-
import { firstValueFrom } from 'rxjs';
|
4
|
-
import { ConfigurationTopic } from '@onecx/integration-interface';
|
5
|
-
import { APP_CONFIG } from '../api/injection-tokens';
|
6
|
-
import { CONFIG_KEY } from '../model/config-key.model';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "@angular/common/http";
|
9
|
-
export class ConfigurationService {
|
10
|
-
constructor(http, defaultConfig) {
|
11
|
-
this.http = http;
|
12
|
-
this.defaultConfig = defaultConfig;
|
13
|
-
this.config$ = new ConfigurationTopic();
|
14
|
-
}
|
15
|
-
ngOnDestroy() {
|
16
|
-
this.config$.destroy();
|
17
|
-
}
|
18
|
-
init() {
|
19
|
-
return new Promise((resolve, reject) => {
|
20
|
-
const skipRemoteConfigLoad = this.defaultConfig && this.defaultConfig['skipRemoteConfigLoad'];
|
21
|
-
let loadConfigPromise;
|
22
|
-
const inlinedConfig = window['APP_CONFIG'];
|
23
|
-
if (inlinedConfig) {
|
24
|
-
console.log(`ENV resolved from injected config`);
|
25
|
-
loadConfigPromise = Promise.resolve(inlinedConfig);
|
26
|
-
}
|
27
|
-
else {
|
28
|
-
if (skipRemoteConfigLoad) {
|
29
|
-
console.log('📢 TKA001: Remote config load is disabled. To enable it, remove the "skipRemoteConfigLoad" key in your environment.json');
|
30
|
-
loadConfigPromise = Promise.resolve(this.defaultConfig || {});
|
31
|
-
}
|
32
|
-
else {
|
33
|
-
loadConfigPromise = firstValueFrom(this.http.get((this.defaultConfig && this.defaultConfig['remoteConfigURL']) || 'assets/env.json'));
|
34
|
-
}
|
35
|
-
}
|
36
|
-
loadConfigPromise
|
37
|
-
.then(async (config) => {
|
38
|
-
if (config) {
|
39
|
-
await this.config$.publish({ ...this.defaultConfig, ...config }).then(() => {
|
40
|
-
resolve(true);
|
41
|
-
});
|
42
|
-
}
|
43
|
-
})
|
44
|
-
.catch((e) => {
|
45
|
-
console.log(`Failed to load env configuration`);
|
46
|
-
reject(e);
|
47
|
-
});
|
48
|
-
});
|
49
|
-
}
|
50
|
-
get isInitialized() {
|
51
|
-
return this.config$.isInitialized;
|
52
|
-
}
|
53
|
-
getProperty(key) {
|
54
|
-
if (!Object.values(CONFIG_KEY).includes(key)) {
|
55
|
-
console.error('Invalid config key ', key);
|
56
|
-
}
|
57
|
-
return this.config$.getValue()?.[key];
|
58
|
-
}
|
59
|
-
async setProperty(key, val) {
|
60
|
-
const currentValues = await firstValueFrom(this.config$.asObservable());
|
61
|
-
currentValues[key] = val;
|
62
|
-
await this.config$.publish(currentValues);
|
63
|
-
}
|
64
|
-
getConfig() {
|
65
|
-
return this.config$.getValue();
|
66
|
-
}
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ConfigurationService, deps: [{ token: i1.HttpClient }, { token: APP_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
68
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ConfigurationService, providedIn: 'root' }); }
|
69
|
-
}
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ConfigurationService, decorators: [{
|
71
|
-
type: Injectable,
|
72
|
-
args: [{ providedIn: 'root' }]
|
73
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
74
|
-
type: Optional
|
75
|
-
}, {
|
76
|
-
type: Inject,
|
77
|
-
args: [APP_CONFIG]
|
78
|
-
}] }] });
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWludGVncmF0aW9uLWludGVyZmFjZS9zcmMvbGliL3NlcnZpY2VzL2NvbmZpZ3VyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDckMsT0FBTyxFQUFVLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTs7O0FBR3RELE1BQU0sT0FBTyxvQkFBb0I7SUFHL0IsWUFDVSxJQUFnQixFQUNnQixhQUF5QztRQUR6RSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2dCLGtCQUFhLEdBQWIsYUFBYSxDQUE0QjtRQUpuRixZQUFPLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFBO0lBSy9CLENBQUM7SUFFSixXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRU0sSUFBSTtRQUNULE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtZQUM3RixJQUFJLGlCQUFrQyxDQUFBO1lBRXRDLE1BQU0sYUFBYSxHQUFJLE1BQWlELENBQUMsWUFBWSxDQUFDLENBQUE7WUFDdEYsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFBO2dCQUNoRCxpQkFBaUIsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1lBQ3BELENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLG9CQUFvQixFQUFFLENBQUM7b0JBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQ1QseUhBQXlILENBQzFILENBQUE7b0JBQ0QsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUMvRCxDQUFDO3FCQUFNLENBQUM7b0JBQ04saUJBQWlCLEdBQUcsY0FBYyxDQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksaUJBQWlCLENBQUMsQ0FDMUcsQ0FBQTtnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUVELGlCQUFpQjtpQkFDZCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNyQixJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUNYLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7d0JBQ3pFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQTtvQkFDZixDQUFDLENBQUMsQ0FBQTtnQkFDSixDQUFDO1lBQ0gsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQTtnQkFDL0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ1gsQ0FBQyxDQUFDLENBQUE7UUFDTixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFBO0lBQ25DLENBQUM7SUFFTSxXQUFXLENBQUMsR0FBZTtRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM3QyxPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQzNDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN2QyxDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFXLEVBQUUsR0FBVztRQUMvQyxNQUFNLGFBQWEsR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUE7UUFDdkUsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQTtRQUN4QixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQ2hDLENBQUM7K0dBcEVVLG9CQUFvQiw0Q0FLVCxVQUFVO21IQUxyQixvQkFBb0IsY0FEUCxNQUFNOzs0RkFDbkIsb0JBQW9CO2tCQURoQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBTTdCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBDb25maWcsIENvbmZpZ3VyYXRpb25Ub3BpYyB9IGZyb20gJ0BvbmVjeC9pbnRlZ3JhdGlvbi1pbnRlcmZhY2UnXG5pbXBvcnQgeyBBUFBfQ09ORklHIH0gZnJvbSAnLi4vYXBpL2luamVjdGlvbi10b2tlbnMnXG5pbXBvcnQgeyBDT05GSUdfS0VZIH0gZnJvbSAnLi4vbW9kZWwvY29uZmlnLWtleS5tb2RlbCdcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIGNvbmZpZyQgPSBuZXcgQ29uZmlndXJhdGlvblRvcGljKClcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBUFBfQ09ORklHKSBwcml2YXRlIGRlZmF1bHRDb25maWc/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gICkge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZyQuZGVzdHJveSgpXG4gIH1cblxuICBwdWJsaWMgaW5pdCgpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3Qgc2tpcFJlbW90ZUNvbmZpZ0xvYWQgPSB0aGlzLmRlZmF1bHRDb25maWcgJiYgdGhpcy5kZWZhdWx0Q29uZmlnWydza2lwUmVtb3RlQ29uZmlnTG9hZCddXG4gICAgICBsZXQgbG9hZENvbmZpZ1Byb21pc2U6IFByb21pc2U8Q29uZmlnPlxuXG4gICAgICBjb25zdCBpbmxpbmVkQ29uZmlnID0gKHdpbmRvdyBhcyB0eXBlb2Ygd2luZG93ICYgeyBBUFBfQ09ORklHOiBDb25maWcgfSlbJ0FQUF9DT05GSUcnXVxuICAgICAgaWYgKGlubGluZWRDb25maWcpIHtcbiAgICAgICAgY29uc29sZS5sb2coYEVOViByZXNvbHZlZCBmcm9tIGluamVjdGVkIGNvbmZpZ2ApXG4gICAgICAgIGxvYWRDb25maWdQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKGlubGluZWRDb25maWcpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoc2tpcFJlbW90ZUNvbmZpZ0xvYWQpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICfwn5OiIFRLQTAwMTogUmVtb3RlIGNvbmZpZyBsb2FkIGlzIGRpc2FibGVkLiBUbyBlbmFibGUgaXQsIHJlbW92ZSB0aGUgXCJza2lwUmVtb3RlQ29uZmlnTG9hZFwiIGtleSBpbiB5b3VyIGVudmlyb25tZW50Lmpzb24nXG4gICAgICAgICAgKVxuICAgICAgICAgIGxvYWRDb25maWdQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKHRoaXMuZGVmYXVsdENvbmZpZyB8fCB7fSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2FkQ29uZmlnUHJvbWlzZSA9IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5odHRwLmdldDxDb25maWc+KCh0aGlzLmRlZmF1bHRDb25maWcgJiYgdGhpcy5kZWZhdWx0Q29uZmlnWydyZW1vdGVDb25maWdVUkwnXSkgfHwgJ2Fzc2V0cy9lbnYuanNvbicpXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxvYWRDb25maWdQcm9taXNlXG4gICAgICAgIC50aGVuKGFzeW5jIChjb25maWcpID0+IHtcbiAgICAgICAgICBpZiAoY29uZmlnKSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmNvbmZpZyQucHVibGlzaCh7IC4uLnRoaXMuZGVmYXVsdENvbmZpZywgLi4uY29uZmlnIH0pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICByZXNvbHZlKHRydWUpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5sb2coYEZhaWxlZCB0byBsb2FkIGVudiBjb25maWd1cmF0aW9uYClcbiAgICAgICAgICByZWplY3QoZSlcbiAgICAgICAgfSlcbiAgICB9KVxuICB9XG5cbiAgZ2V0IGlzSW5pdGlhbGl6ZWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnJC5pc0luaXRpYWxpemVkXG4gIH1cblxuICBwdWJsaWMgZ2V0UHJvcGVydHkoa2V5OiBDT05GSUdfS0VZKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIU9iamVjdC52YWx1ZXMoQ09ORklHX0tFWSkuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgY29uc29sZS5lcnJvcignSW52YWxpZCBjb25maWcga2V5ICcsIGtleSlcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnJC5nZXRWYWx1ZSgpPy5ba2V5XVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHNldFByb3BlcnR5KGtleTogc3RyaW5nLCB2YWw6IHN0cmluZykge1xuICAgIGNvbnN0IGN1cnJlbnRWYWx1ZXMgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmNvbmZpZyQuYXNPYnNlcnZhYmxlKCkpXG4gICAgY3VycmVudFZhbHVlc1trZXldID0gdmFsXG4gICAgYXdhaXQgdGhpcy5jb25maWckLnB1Ymxpc2goY3VycmVudFZhbHVlcylcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb25maWcoKTogQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWckLmdldFZhbHVlKClcbiAgfVxufVxuIl19
|
@@ -1,60 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { TranslateService } from '@ngx-translate/core';
|
3
|
-
import { filter, from, isObservable, map, mergeMap, of, tap, zip } from 'rxjs';
|
4
|
-
import { AppStateService } from './app-state.service';
|
5
|
-
import { ConfigurationService } from './configuration.service';
|
6
|
-
import { UserService } from './user.service';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "@ngx-translate/core";
|
9
|
-
import * as i2 from "./configuration.service";
|
10
|
-
import * as i3 from "./app-state.service";
|
11
|
-
import * as i4 from "./user.service";
|
12
|
-
export class InitializeModuleGuard {
|
13
|
-
constructor(translateService, configService, appStateService, userService) {
|
14
|
-
this.translateService = translateService;
|
15
|
-
this.configService = configService;
|
16
|
-
this.appStateService = appStateService;
|
17
|
-
this.userService = userService;
|
18
|
-
this.SUPPORTED_LANGS = ['en', 'de'];
|
19
|
-
this.DEFAULT_LANG = 'en';
|
20
|
-
}
|
21
|
-
canActivate(_route, _state) {
|
22
|
-
console.time('InitializeModuleGuard');
|
23
|
-
return zip([
|
24
|
-
this.loadTranslations(),
|
25
|
-
from(this.configService.isInitialized),
|
26
|
-
from(this.userService.isInitialized),
|
27
|
-
from(this.appStateService.currentWorkspace$.isInitialized),
|
28
|
-
]).pipe(tap(() => {
|
29
|
-
console.timeEnd('InitializeModuleGuard');
|
30
|
-
}), map(() => true));
|
31
|
-
}
|
32
|
-
getBestMatchLanguage(lang) {
|
33
|
-
if (this.SUPPORTED_LANGS.includes(lang)) {
|
34
|
-
return lang;
|
35
|
-
}
|
36
|
-
else {
|
37
|
-
console.log(`${lang} is not supported. Using ${this.DEFAULT_LANG} as a fallback.`);
|
38
|
-
}
|
39
|
-
return this.DEFAULT_LANG;
|
40
|
-
}
|
41
|
-
loadTranslations() {
|
42
|
-
return this.userService.lang$.pipe(filter((v) => v !== undefined), mergeMap((lang) => {
|
43
|
-
const bestMatchLang = this.getBestMatchLanguage(lang);
|
44
|
-
return this.translateService.use(bestMatchLang);
|
45
|
-
}), mergeMap(() => of(true)));
|
46
|
-
}
|
47
|
-
toObservable(canActivateResult) {
|
48
|
-
if (isObservable(canActivateResult)) {
|
49
|
-
return canActivateResult;
|
50
|
-
}
|
51
|
-
return from(Promise.resolve(canActivateResult));
|
52
|
-
}
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: InitializeModuleGuard, deps: [{ token: i1.TranslateService }, { token: i2.ConfigurationService }, { token: i3.AppStateService }, { token: i4.UserService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
54
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: InitializeModuleGuard, providedIn: 'any' }); }
|
55
|
-
}
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: InitializeModuleGuard, decorators: [{
|
57
|
-
type: Injectable,
|
58
|
-
args: [{ providedIn: 'any' }]
|
59
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.ConfigurationService }, { type: i3.AppStateService }, { type: i4.UserService }] });
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS1tb2R1bGUtZ3VhcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2Uvc3JjL2xpYi9zZXJ2aWNlcy9pbml0aWFsaXplLW1vZHVsZS1ndWFyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQWMsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDMUYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBRzdDLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFDWSxnQkFBa0MsRUFDbEMsYUFBbUMsRUFDbkMsZUFBZ0MsRUFDaEMsV0FBd0I7UUFIeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxrQkFBYSxHQUFiLGFBQWEsQ0FBc0I7UUFDbkMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBTjVCLG9CQUFlLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDOUIsaUJBQVksR0FBRyxJQUFJLENBQUE7SUFNeEIsQ0FBQztJQUVKLFdBQVcsQ0FDVCxNQUE4QixFQUM5QixNQUEyQjtRQUUzQixPQUFPLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUE7UUFDckMsT0FBTyxHQUFHLENBQUM7WUFDVCxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7U0FDM0QsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsT0FBTyxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1FBQzFDLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDaEIsQ0FBQTtJQUNILENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxJQUFZO1FBQy9CLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksNEJBQTRCLElBQUksQ0FBQyxZQUFZLGlCQUFpQixDQUFDLENBQUE7UUFDcEYsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQTtJQUMxQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2hDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxFQUM5QixRQUFRLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBYyxDQUFDLENBQUE7WUFDL0QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQ2pELENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekIsQ0FBQTtJQUNILENBQUM7SUFFUyxZQUFZLENBQ3BCLGlCQUFpRztRQUVqRyxJQUFJLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7WUFDcEMsT0FBTyxpQkFBaUIsQ0FBQTtRQUMxQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUE7SUFDakQsQ0FBQzsrR0F2RFUscUJBQXFCO21IQUFyQixxQkFBcUIsY0FEUixLQUFLOzs0RkFDbEIscUJBQXFCO2tCQURqQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgQ2FuQWN0aXZhdGUsIFJvdXRlclN0YXRlU25hcHNob3QsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IGZpbHRlciwgZnJvbSwgaXNPYnNlcnZhYmxlLCBtYXAsIG1lcmdlTWFwLCBPYnNlcnZhYmxlLCBvZiwgdGFwLCB6aXAgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9hcHAtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdhbnknIH0pXG5leHBvcnQgY2xhc3MgSW5pdGlhbGl6ZU1vZHVsZUd1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xuICBwcml2YXRlIFNVUFBPUlRFRF9MQU5HUyA9IFsnZW4nLCAnZGUnXVxuICBwcml2YXRlIERFRkFVTFRfTEFORyA9ICdlbidcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBhcHBTdGF0ZVNlcnZpY2U6IEFwcFN0YXRlU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlXG4gICkge31cblxuICBjYW5BY3RpdmF0ZShcbiAgICBfcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsXG4gICAgX3N0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90XG4gICk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZSB7XG4gICAgY29uc29sZS50aW1lKCdJbml0aWFsaXplTW9kdWxlR3VhcmQnKVxuICAgIHJldHVybiB6aXAoW1xuICAgICAgdGhpcy5sb2FkVHJhbnNsYXRpb25zKCksXG4gICAgICBmcm9tKHRoaXMuY29uZmlnU2VydmljZS5pc0luaXRpYWxpemVkKSxcbiAgICAgIGZyb20odGhpcy51c2VyU2VydmljZS5pc0luaXRpYWxpemVkKSxcbiAgICAgIGZyb20odGhpcy5hcHBTdGF0ZVNlcnZpY2UuY3VycmVudFdvcmtzcGFjZSQuaXNJbml0aWFsaXplZCksXG4gICAgXSkucGlwZShcbiAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUudGltZUVuZCgnSW5pdGlhbGl6ZU1vZHVsZUd1YXJkJylcbiAgICAgIH0pLFxuICAgICAgbWFwKCgpID0+IHRydWUpXG4gICAgKVxuICB9XG5cbiAgZ2V0QmVzdE1hdGNoTGFuZ3VhZ2UobGFuZzogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuU1VQUE9SVEVEX0xBTkdTLmluY2x1ZGVzKGxhbmcpKSB7XG4gICAgICByZXR1cm4gbGFuZ1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhgJHtsYW5nfSBpcyBub3Qgc3VwcG9ydGVkLiBVc2luZyAke3RoaXMuREVGQVVMVF9MQU5HfSBhcyBhIGZhbGxiYWNrLmApXG4gICAgfVxuICAgIHJldHVybiB0aGlzLkRFRkFVTFRfTEFOR1xuICB9XG5cbiAgbG9hZFRyYW5zbGF0aW9ucygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5sYW5nJC5waXBlKFxuICAgICAgZmlsdGVyKCh2KSA9PiB2ICE9PSB1bmRlZmluZWQpLFxuICAgICAgbWVyZ2VNYXAoKGxhbmcpID0+IHtcbiAgICAgICAgY29uc3QgYmVzdE1hdGNoTGFuZyA9IHRoaXMuZ2V0QmVzdE1hdGNoTGFuZ3VhZ2UobGFuZyBhcyBzdHJpbmcpXG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGJlc3RNYXRjaExhbmcpXG4gICAgICB9KSxcbiAgICAgIG1lcmdlTWFwKCgpID0+IG9mKHRydWUpKVxuICAgIClcbiAgfVxuXG4gIHByb3RlY3RlZCB0b09ic2VydmFibGUoXG4gICAgY2FuQWN0aXZhdGVSZXN1bHQ6IE9ic2VydmFibGU8Ym9vbGVhbiB8IFVybFRyZWU+IHwgUHJvbWlzZTxib29sZWFuIHwgVXJsVHJlZT4gfCBib29sZWFuIHwgVXJsVHJlZVxuICApOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBVcmxUcmVlPiB7XG4gICAgaWYgKGlzT2JzZXJ2YWJsZShjYW5BY3RpdmF0ZVJlc3VsdCkpIHtcbiAgICAgIHJldHVybiBjYW5BY3RpdmF0ZVJlc3VsdFxuICAgIH1cbiAgICByZXR1cm4gZnJvbShQcm9taXNlLnJlc29sdmUoY2FuQWN0aXZhdGVSZXN1bHQpKVxuICB9XG59XG4iXX0=
|
@@ -1,49 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { TranslateService } from '@ngx-translate/core';
|
3
|
-
import { combineLatest, first, of } from 'rxjs';
|
4
|
-
import { MessageTopic } from '@onecx/integration-interface';
|
5
|
-
import * as i0 from "@angular/core";
|
6
|
-
import * as i1 from "@ngx-translate/core";
|
7
|
-
export class PortalMessageService {
|
8
|
-
constructor(translateService) {
|
9
|
-
this.translateService = translateService;
|
10
|
-
this.message$ = new MessageTopic();
|
11
|
-
}
|
12
|
-
success(msg) {
|
13
|
-
this.addTranslated('success', msg);
|
14
|
-
}
|
15
|
-
info(msg) {
|
16
|
-
this.addTranslated('info', msg);
|
17
|
-
}
|
18
|
-
error(msg) {
|
19
|
-
this.addTranslated('error', msg);
|
20
|
-
}
|
21
|
-
warning(msg) {
|
22
|
-
this.addTranslated('warning', msg);
|
23
|
-
}
|
24
|
-
addTranslated(severity, msg) {
|
25
|
-
combineLatest([
|
26
|
-
msg.summaryKey ? this.translateService.get(msg.summaryKey || '', msg.summaryParameters) : of(undefined),
|
27
|
-
msg.detailKey ? this.translateService.get(msg.detailKey, msg.detailParameters) : of(undefined),
|
28
|
-
])
|
29
|
-
.pipe(first())
|
30
|
-
.subscribe(([summaryTranslation, detailTranslation]) => {
|
31
|
-
this.message$.publish({
|
32
|
-
...msg,
|
33
|
-
severity: severity,
|
34
|
-
summary: summaryTranslation,
|
35
|
-
detail: detailTranslation,
|
36
|
-
});
|
37
|
-
});
|
38
|
-
}
|
39
|
-
ngOnDestroy() {
|
40
|
-
this.message$.destroy();
|
41
|
-
}
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PortalMessageService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
43
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PortalMessageService, providedIn: 'any' }); }
|
44
|
-
}
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: PortalMessageService, decorators: [{
|
46
|
-
type: Injectable,
|
47
|
-
args: [{ providedIn: 'any' }]
|
48
|
-
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLW1lc3NhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2Uvc3JjL2xpYi9zZXJ2aWNlcy9wb3J0YWwtbWVzc2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUE7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTs7O0FBbUIzRCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRXRELGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBRjRCLENBQUM7SUFJMUQsT0FBTyxDQUFDLEdBQVk7UUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFZO1FBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFZO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBWTtRQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRU8sYUFBYSxDQUFDLFFBQWdCLEVBQUUsR0FBWTtRQUNsRCxhQUFhLENBQUM7WUFDWixHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ3ZHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztTQUMvRixDQUFDO2FBQ0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxpQkFBaUIsQ0FBVyxFQUFFLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7Z0JBQ3BCLEdBQUcsR0FBRztnQkFDTixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsTUFBTSxFQUFFLGlCQUFpQjthQUMxQixDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN6QixDQUFDOytHQXZDVSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQURQLEtBQUs7OzRGQUNsQixvQkFBb0I7a0JBRGhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlyc3QsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IE1lc3NhZ2VUb3BpYyB9IGZyb20gJ0BvbmVjeC9pbnRlZ3JhdGlvbi1pbnRlcmZhY2UnXG5cbmV4cG9ydCB0eXBlIE1lc3NhZ2UgPSB7XG4gIHN1bW1hcnlLZXk/OiBzdHJpbmdcbiAgc3VtbWFyeVBhcmFtZXRlcnM/OiBvYmplY3RcbiAgZGV0YWlsS2V5Pzogc3RyaW5nXG4gIGRldGFpbFBhcmFtZXRlcnM/OiBvYmplY3RcbiAgaWQ/OiBhbnlcbiAga2V5Pzogc3RyaW5nXG4gIGxpZmU/OiBudW1iZXJcbiAgc3RpY2t5PzogYm9vbGVhblxuICBjbG9zYWJsZT86IGJvb2xlYW5cbiAgZGF0YT86IGFueVxuICBpY29uPzogc3RyaW5nXG4gIGNvbnRlbnRTdHlsZUNsYXNzPzogc3RyaW5nXG4gIHN0eWxlQ2xhc3M/OiBzdHJpbmdcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAnYW55JyB9KVxuZXhwb3J0IGNsYXNzIFBvcnRhbE1lc3NhZ2VTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIG1lc3NhZ2UkID0gbmV3IE1lc3NhZ2VUb3BpYygpXG5cbiAgc3VjY2Vzcyhtc2c6IE1lc3NhZ2UpIHtcbiAgICB0aGlzLmFkZFRyYW5zbGF0ZWQoJ3N1Y2Nlc3MnLCBtc2cpXG4gIH1cblxuICBpbmZvKG1zZzogTWVzc2FnZSkge1xuICAgIHRoaXMuYWRkVHJhbnNsYXRlZCgnaW5mbycsIG1zZylcbiAgfVxuXG4gIGVycm9yKG1zZzogTWVzc2FnZSkge1xuICAgIHRoaXMuYWRkVHJhbnNsYXRlZCgnZXJyb3InLCBtc2cpXG4gIH1cblxuICB3YXJuaW5nKG1zZzogTWVzc2FnZSkge1xuICAgIHRoaXMuYWRkVHJhbnNsYXRlZCgnd2FybmluZycsIG1zZylcbiAgfVxuXG4gIHByaXZhdGUgYWRkVHJhbnNsYXRlZChzZXZlcml0eTogc3RyaW5nLCBtc2c6IE1lc3NhZ2UpIHtcbiAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIG1zZy5zdW1tYXJ5S2V5ID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChtc2cuc3VtbWFyeUtleSB8fCAnJywgbXNnLnN1bW1hcnlQYXJhbWV0ZXJzKSA6IG9mKHVuZGVmaW5lZCksXG4gICAgICBtc2cuZGV0YWlsS2V5ID8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldChtc2cuZGV0YWlsS2V5LCBtc2cuZGV0YWlsUGFyYW1ldGVycykgOiBvZih1bmRlZmluZWQpLFxuICAgIF0pXG4gICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgLnN1YnNjcmliZSgoW3N1bW1hcnlUcmFuc2xhdGlvbiwgZGV0YWlsVHJhbnNsYXRpb25dOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2UkLnB1Ymxpc2goe1xuICAgICAgICAgIC4uLm1zZyxcbiAgICAgICAgICBzZXZlcml0eTogc2V2ZXJpdHksXG4gICAgICAgICAgc3VtbWFyeTogc3VtbWFyeVRyYW5zbGF0aW9uLFxuICAgICAgICAgIGRldGFpbDogZGV0YWlsVHJhbnNsYXRpb24sXG4gICAgICAgIH0pXG4gICAgICB9KVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5tZXNzYWdlJC5kZXN0cm95KClcbiAgfVxufVxuIl19
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import { Injectable } from '@angular/core';
|
2
|
-
import { RemoteComponentsTopic } from '@onecx/integration-interface';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
export class RemoteComponentsService {
|
5
|
-
constructor() {
|
6
|
-
this.remoteComponents$ = new RemoteComponentsTopic();
|
7
|
-
}
|
8
|
-
ngOnDestroy() {
|
9
|
-
this.remoteComponents$.destroy();
|
10
|
-
}
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RemoteComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
12
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RemoteComponentsService, providedIn: 'root' }); }
|
13
|
-
}
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: RemoteComponentsService, decorators: [{
|
15
|
-
type: Injectable,
|
16
|
-
args: [{ providedIn: 'root' }]
|
17
|
-
}] });
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWNvbXBvbmVudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2Uvc3JjL2xpYi9zZXJ2aWNlcy9yZW1vdGUtY29tcG9uZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUE7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUE7O0FBR3BFLE1BQU0sT0FBTyx1QkFBdUI7SUFEcEM7UUFFRSxzQkFBaUIsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUE7S0FLaEQ7SUFIQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFBO0lBQ2xDLENBQUM7K0dBTFUsdUJBQXVCO21IQUF2Qix1QkFBdUIsY0FEVixNQUFNOzs0RkFDbkIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBSZW1vdGVDb21wb25lbnRzVG9waWMgfSBmcm9tICdAb25lY3gvaW50ZWdyYXRpb24taW50ZXJmYWNlJ1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJlbW90ZUNvbXBvbmVudHNTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcmVtb3RlQ29tcG9uZW50cyQgPSBuZXcgUmVtb3RlQ29tcG9uZW50c1RvcGljKClcblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW90ZUNvbXBvbmVudHMkLmRlc3Ryb3koKVxuICB9XG59XG4iXX0=
|
@@ -1,48 +0,0 @@
|
|
1
|
-
import { HttpClient } from '@angular/common/http';
|
2
|
-
import { Injectable } from '@angular/core';
|
3
|
-
import { from, map, mergeMap } from 'rxjs';
|
4
|
-
import { CurrentThemeTopic } from '@onecx/integration-interface';
|
5
|
-
import { ConfigurationService } from './configuration.service';
|
6
|
-
import { CONFIG_KEY } from '../model/config-key.model';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "./configuration.service";
|
9
|
-
import * as i2 from "@angular/common/http";
|
10
|
-
const defaultThemeServerUrl = 'http://portal-theme-management:8080';
|
11
|
-
export class ThemeService {
|
12
|
-
constructor(configService, http) {
|
13
|
-
this.configService = configService;
|
14
|
-
this.http = http;
|
15
|
-
this.baseUrlV1 = './portal-api';
|
16
|
-
this.currentTheme$ = new CurrentThemeTopic();
|
17
|
-
}
|
18
|
-
getThemeHref(themeId) {
|
19
|
-
const themeServerUrl = this.configService.getProperty(CONFIG_KEY.TKIT_PORTAL_THEME_SERVER_URL) || defaultThemeServerUrl;
|
20
|
-
return `${themeServerUrl}/themes/${themeId}/${themeId}.min.css`;
|
21
|
-
}
|
22
|
-
loadAndApplyTheme(themeName) {
|
23
|
-
return this.http.get(`${this.baseUrlV1}/internal/themes/${encodeURI(themeName)}`).pipe(mergeMap((theme) => {
|
24
|
-
return from(this.apply(theme)).pipe(map(() => theme));
|
25
|
-
}));
|
26
|
-
}
|
27
|
-
async apply(theme) {
|
28
|
-
console.log(`🎨 Applying theme: ${theme.name}`);
|
29
|
-
await this.currentTheme$.publish(theme);
|
30
|
-
if (theme.properties) {
|
31
|
-
Object.values(theme.properties).forEach((group) => {
|
32
|
-
for (const [key, value] of Object.entries(group)) {
|
33
|
-
document.documentElement.style.setProperty(`--${key}`, value);
|
34
|
-
}
|
35
|
-
});
|
36
|
-
}
|
37
|
-
}
|
38
|
-
ngOnDestroy() {
|
39
|
-
this.currentTheme$.destroy();
|
40
|
-
}
|
41
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ThemeService, deps: [{ token: i1.ConfigurationService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
42
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
|
43
|
-
}
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: ThemeService, decorators: [{
|
45
|
-
type: Injectable,
|
46
|
-
args: [{ providedIn: 'root' }]
|
47
|
-
}], ctorParameters: () => [{ type: i1.ConfigurationService }, { type: i2.HttpClient }] });
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2Uvc3JjL2xpYi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFBO0FBQ3JELE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQVMsTUFBTSw4QkFBOEIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7Ozs7QUFFdEQsTUFBTSxxQkFBcUIsR0FBRyxxQ0FBcUMsQ0FBQTtBQUduRSxNQUFNLE9BQU8sWUFBWTtJQUl2QixZQUFvQixhQUFtQyxFQUFVLElBQWdCO1FBQTdELGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQVk7UUFIakYsY0FBUyxHQUFHLGNBQWMsQ0FBQTtRQUMxQixrQkFBYSxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQTtJQUU2QyxDQUFDO0lBRXJGLFlBQVksQ0FBQyxPQUFlO1FBQzFCLE1BQU0sY0FBYyxHQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsNEJBQTRCLENBQUMsSUFBSSxxQkFBcUIsQ0FBQTtRQUNsRyxPQUFPLEdBQUcsY0FBYyxXQUFXLE9BQU8sSUFBSSxPQUFPLFVBQVUsQ0FBQTtJQUNqRSxDQUFDO0lBRU0saUJBQWlCLENBQUMsU0FBaUI7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUSxHQUFHLElBQUksQ0FBQyxTQUFTLG9CQUFvQixTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDM0YsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUN2RCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBWTtRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUMvQyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZDLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNoRCxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNqRCxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQTtnQkFDL0QsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUM5QixDQUFDOytHQWxDVSxZQUFZO21IQUFaLFlBQVksY0FEQyxNQUFNOzs0RkFDbkIsWUFBWTtrQkFEeEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZnJvbSwgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBDdXJyZW50VGhlbWVUb3BpYywgVGhlbWUgfSBmcm9tICdAb25lY3gvaW50ZWdyYXRpb24taW50ZXJmYWNlJ1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uc2VydmljZSdcbmltcG9ydCB7IENPTkZJR19LRVkgfSBmcm9tICcuLi9tb2RlbC9jb25maWcta2V5Lm1vZGVsJ1xuXG5jb25zdCBkZWZhdWx0VGhlbWVTZXJ2ZXJVcmwgPSAnaHR0cDovL3BvcnRhbC10aGVtZS1tYW5hZ2VtZW50OjgwODAnXG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVGhlbWVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgYmFzZVVybFYxID0gJy4vcG9ydGFsLWFwaSdcbiAgY3VycmVudFRoZW1lJCA9IG5ldyBDdXJyZW50VGhlbWVUb3BpYygpXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBDb25maWd1cmF0aW9uU2VydmljZSwgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuXG4gIGdldFRoZW1lSHJlZih0aGVtZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRoZW1lU2VydmVyVXJsID1cbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5nZXRQcm9wZXJ0eShDT05GSUdfS0VZLlRLSVRfUE9SVEFMX1RIRU1FX1NFUlZFUl9VUkwpIHx8IGRlZmF1bHRUaGVtZVNlcnZlclVybFxuICAgIHJldHVybiBgJHt0aGVtZVNlcnZlclVybH0vdGhlbWVzLyR7dGhlbWVJZH0vJHt0aGVtZUlkfS5taW4uY3NzYFxuICB9XG5cbiAgcHVibGljIGxvYWRBbmRBcHBseVRoZW1lKHRoZW1lTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8VGhlbWU+KGAke3RoaXMuYmFzZVVybFYxfS9pbnRlcm5hbC90aGVtZXMvJHtlbmNvZGVVUkkodGhlbWVOYW1lKX1gKS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHRoZW1lKSA9PiB7XG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMuYXBwbHkodGhlbWUpKS5waXBlKG1hcCgoKSA9PiB0aGVtZSkpXG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBhcHBseSh0aGVtZTogVGhlbWUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zb2xlLmxvZyhg8J+OqCBBcHBseWluZyB0aGVtZTogJHt0aGVtZS5uYW1lfWApXG4gICAgYXdhaXQgdGhpcy5jdXJyZW50VGhlbWUkLnB1Ymxpc2godGhlbWUpXG4gICAgaWYgKHRoZW1lLnByb3BlcnRpZXMpIHtcbiAgICAgIE9iamVjdC52YWx1ZXModGhlbWUucHJvcGVydGllcykuZm9yRWFjaCgoZ3JvdXApID0+IHtcbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZ3JvdXApKSB7XG4gICAgICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KGAtLSR7a2V5fWAsIHZhbHVlKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFRoZW1lJC5kZXN0cm95KClcbiAgfVxufVxuIl19
|