@onecx/angular-integration-interface 5.51.1 → 5.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/services/app-state.service.mjs +61 -25
- package/esm2022/lib/services/configuration.service.mjs +9 -3
- package/esm2022/lib/services/portal-message.service.mjs +9 -3
- package/esm2022/lib/services/remote-components.service.mjs +8 -4
- package/esm2022/lib/services/theme.service.mjs +9 -3
- package/esm2022/lib/services/user.service.mjs +9 -2
- package/fesm2022/onecx-angular-integration-interface.mjs +100 -35
- package/fesm2022/onecx-angular-integration-interface.mjs.map +1 -1
- package/lib/services/app-state.service.d.ts +21 -7
- package/lib/services/configuration.service.d.ts +3 -1
- package/lib/services/portal-message.service.d.ts +3 -1
- package/lib/services/remote-components.service.d.ts +3 -1
- package/lib/services/theme.service.d.ts +3 -1
- package/lib/services/user.service.d.ts +4 -2
- package/package.json +2 -2
|
@@ -2,21 +2,51 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import { GlobalErrorTopic, GlobalLoadingTopic, CurrentMfeTopic, CurrentPageTopic, CurrentWorkspaceTopic, IsAuthenticatedTopic, CurrentLocationTopic, } from '@onecx/integration-interface';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class AppStateService {
|
|
5
|
-
|
|
6
|
-
this.
|
|
7
|
-
this.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
5
|
+
get globalError$() {
|
|
6
|
+
this._globalError$ ??= new GlobalErrorTopic();
|
|
7
|
+
return this._globalError$;
|
|
8
|
+
}
|
|
9
|
+
set globalError$(value) {
|
|
10
|
+
this._globalError$ = value;
|
|
11
|
+
}
|
|
12
|
+
get globalLoading$() {
|
|
13
|
+
this._globalLoading$ ??= new GlobalLoadingTopic();
|
|
14
|
+
return this._globalLoading$;
|
|
15
|
+
}
|
|
16
|
+
set globalLoading$(value) {
|
|
17
|
+
this._globalLoading$ = value;
|
|
18
|
+
}
|
|
19
|
+
get currentMfe$() {
|
|
20
|
+
this._currentMfe$ ??= new CurrentMfeTopic();
|
|
21
|
+
return this._currentMfe$;
|
|
22
|
+
}
|
|
23
|
+
set currentMfe$(value) {
|
|
24
|
+
this._currentMfe$ = value;
|
|
25
|
+
}
|
|
26
|
+
get currentLocation$() {
|
|
27
|
+
this._currentLocation$ ??= new CurrentLocationTopic();
|
|
28
|
+
return this._currentLocation$;
|
|
29
|
+
}
|
|
30
|
+
set currentLocation$(value) {
|
|
31
|
+
this._currentLocation$ = value;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* This topic will only fire when pageInfo.path matches document.location.pathname,
|
|
35
|
+
* if not it will fire undefined.
|
|
36
|
+
*/
|
|
37
|
+
get currentPage$() {
|
|
38
|
+
this._currentPage$ ??= new CurrentPageTopic();
|
|
39
|
+
return this._currentPage$;
|
|
40
|
+
}
|
|
41
|
+
set currentPage$(value) {
|
|
42
|
+
this._currentPage$ = value;
|
|
43
|
+
}
|
|
44
|
+
get currentWorkspace$() {
|
|
45
|
+
this._currentWorkspace$ ??= new CurrentWorkspaceTopic();
|
|
46
|
+
return this._currentWorkspace$;
|
|
47
|
+
}
|
|
48
|
+
set currentWorkspace$(value) {
|
|
49
|
+
this._currentWorkspace$ = value;
|
|
20
50
|
}
|
|
21
51
|
/**
|
|
22
52
|
* @deprecated Will be replaced by currentWorkspace$
|
|
@@ -25,17 +55,23 @@ export class AppStateService {
|
|
|
25
55
|
return this.currentWorkspace$;
|
|
26
56
|
}
|
|
27
57
|
set currentPortal$(value) {
|
|
28
|
-
this.
|
|
58
|
+
this._currentWorkspace$ = value;
|
|
59
|
+
}
|
|
60
|
+
get isAuthenticated$() {
|
|
61
|
+
this._isAuthenticated$ ??= new IsAuthenticatedTopic();
|
|
62
|
+
return this._isAuthenticated$;
|
|
63
|
+
}
|
|
64
|
+
set isAuthenticated$(value) {
|
|
65
|
+
this._isAuthenticated$ = value;
|
|
29
66
|
}
|
|
30
67
|
ngOnDestroy() {
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
35
|
-
this.
|
|
36
|
-
this.
|
|
37
|
-
this.
|
|
38
|
-
this.isAuthenticated$.destroy();
|
|
68
|
+
this._globalError$?.destroy();
|
|
69
|
+
this._globalLoading$?.destroy();
|
|
70
|
+
this._currentMfe$?.destroy();
|
|
71
|
+
this._currentPage$?.destroy();
|
|
72
|
+
this._currentLocation$?.destroy();
|
|
73
|
+
this._currentWorkspace$?.destroy();
|
|
74
|
+
this._isAuthenticated$?.destroy();
|
|
39
75
|
}
|
|
40
76
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
41
77
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppStateService, providedIn: 'root' }); }
|
|
@@ -44,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
44
80
|
type: Injectable,
|
|
45
81
|
args: [{ providedIn: 'root' }]
|
|
46
82
|
}] });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItaW50ZWdyYXRpb24taW50ZXJmYWNlL3NyYy9saWIvc2VydmljZXMvYXBwLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQTtBQUNyRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsb0JBQW9CLEdBQ3JCLE1BQU0sOEJBQThCLENBQUE7O0FBR3JDLE1BQU0sT0FBTyxlQUFlO0lBRTFCLElBQUksWUFBWTtRQUNkLElBQUksQ0FBQyxhQUFhLEtBQUssSUFBSSxnQkFBZ0IsRUFBRSxDQUFBO1FBQzdDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQTtJQUMzQixDQUFDO0lBQ0QsSUFBSSxZQUFZLENBQUMsS0FBdUI7UUFDdEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUE7SUFDNUIsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksa0JBQWtCLEVBQUUsQ0FBQTtRQUNqRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUE7SUFDN0IsQ0FBQztJQUNELElBQUksY0FBYyxDQUFDLEtBQXlCO1FBQzFDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO0lBQzlCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksZUFBZSxFQUFFLENBQUE7UUFDM0MsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBQzFCLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFzQjtRQUNwQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQTtJQUMzQixDQUFDO0lBRUQsSUFBSSxnQkFBZ0I7UUFDbEIsSUFBSSxDQUFDLGlCQUFpQixLQUFLLElBQUksb0JBQW9CLEVBQUUsQ0FBQTtRQUNyRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQTtJQUMvQixDQUFDO0lBQ0QsSUFBSSxnQkFBZ0IsQ0FBQyxLQUEyQjtRQUM5QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFBO0lBQ2hDLENBQUM7SUFHRDs7O09BR0c7SUFDSCxJQUFJLFlBQVk7UUFDZCxJQUFJLENBQUMsYUFBYSxLQUFLLElBQUksZ0JBQWdCLEVBQUUsQ0FBQTtRQUM3QyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUE7SUFDM0IsQ0FBQztJQUNELElBQUksWUFBWSxDQUFDLEtBQXVCO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFBO0lBQzVCLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixJQUFJLENBQUMsa0JBQWtCLEtBQUssSUFBSSxxQkFBcUIsRUFBRSxDQUFBO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFBO0lBQ2hDLENBQUM7SUFDRCxJQUFJLGlCQUFpQixDQUFDLEtBQTRCO1FBQ2hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUE7SUFDakMsQ0FBQztJQUNEOztPQUVHO0lBQ0gsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFBO0lBQy9CLENBQUM7SUFDRCxJQUFJLGNBQWMsQ0FBQyxLQUE0QjtRQUM3QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFBO0lBQ2pDLENBQUM7SUFNRCxJQUFJLGdCQUFnQjtRQUNsQixJQUFJLENBQUMsaUJBQWlCLEtBQUssSUFBSSxvQkFBb0IsRUFBRSxDQUFBO1FBQ3JELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFBO0lBQy9CLENBQUM7SUFDRCxJQUFJLGdCQUFnQixDQUFDLEtBQTJCO1FBQzlDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUE7SUFDaEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxDQUFBO1FBQzdCLElBQUksQ0FBQyxlQUFlLEVBQUUsT0FBTyxFQUFFLENBQUE7UUFDL0IsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsQ0FBQTtRQUM1QixJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxDQUFBO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsQ0FBQTtRQUNqQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLENBQUE7UUFDbEMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxDQUFBO0lBQ25DLENBQUM7K0dBcEZVLGVBQWU7bUhBQWYsZUFBZSxjQURGLE1BQU07OzRGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQge1xuICBHbG9iYWxFcnJvclRvcGljLFxuICBHbG9iYWxMb2FkaW5nVG9waWMsXG4gIEN1cnJlbnRNZmVUb3BpYyxcbiAgQ3VycmVudFBhZ2VUb3BpYyxcbiAgQ3VycmVudFdvcmtzcGFjZVRvcGljLFxuICBJc0F1dGhlbnRpY2F0ZWRUb3BpYyxcbiAgQ3VycmVudExvY2F0aW9uVG9waWMsXG59IGZyb20gJ0BvbmVjeC9pbnRlZ3JhdGlvbi1pbnRlcmZhY2UnXG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQXBwU3RhdGVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfZ2xvYmFsRXJyb3IkOiBHbG9iYWxFcnJvclRvcGljIHwgdW5kZWZpbmVkXG4gIGdldCBnbG9iYWxFcnJvciQoKTogR2xvYmFsRXJyb3JUb3BpYyB7XG4gICAgdGhpcy5fZ2xvYmFsRXJyb3IkID8/PSBuZXcgR2xvYmFsRXJyb3JUb3BpYygpXG4gICAgcmV0dXJuIHRoaXMuX2dsb2JhbEVycm9yJFxuICB9XG4gIHNldCBnbG9iYWxFcnJvciQodmFsdWU6IEdsb2JhbEVycm9yVG9waWMpIHtcbiAgICB0aGlzLl9nbG9iYWxFcnJvciQgPSB2YWx1ZVxuICB9XG4gIHByaXZhdGUgX2dsb2JhbExvYWRpbmckOiBHbG9iYWxMb2FkaW5nVG9waWMgfCB1bmRlZmluZWRcbiAgZ2V0IGdsb2JhbExvYWRpbmckKCk6IEdsb2JhbExvYWRpbmdUb3BpYyB7XG4gICAgdGhpcy5fZ2xvYmFsTG9hZGluZyQgPz89IG5ldyBHbG9iYWxMb2FkaW5nVG9waWMoKVxuICAgIHJldHVybiB0aGlzLl9nbG9iYWxMb2FkaW5nJFxuICB9XG4gIHNldCBnbG9iYWxMb2FkaW5nJCh2YWx1ZTogR2xvYmFsTG9hZGluZ1RvcGljKSB7XG4gICAgdGhpcy5fZ2xvYmFsTG9hZGluZyQgPSB2YWx1ZVxuICB9XG4gIHByaXZhdGUgX2N1cnJlbnRNZmUkOiBDdXJyZW50TWZlVG9waWMgfCB1bmRlZmluZWRcbiAgZ2V0IGN1cnJlbnRNZmUkKCk6IEN1cnJlbnRNZmVUb3BpYyB7XG4gICAgdGhpcy5fY3VycmVudE1mZSQgPz89IG5ldyBDdXJyZW50TWZlVG9waWMoKVxuICAgIHJldHVybiB0aGlzLl9jdXJyZW50TWZlJFxuICB9XG4gIHNldCBjdXJyZW50TWZlJCh2YWx1ZTogQ3VycmVudE1mZVRvcGljKSB7XG4gICAgdGhpcy5fY3VycmVudE1mZSQgPSB2YWx1ZVxuICB9XG4gIHByaXZhdGUgX2N1cnJlbnRMb2NhdGlvbiQ6IEN1cnJlbnRMb2NhdGlvblRvcGljIHwgdW5kZWZpbmVkXG4gIGdldCBjdXJyZW50TG9jYXRpb24kKCk6IEN1cnJlbnRMb2NhdGlvblRvcGljIHtcbiAgICB0aGlzLl9jdXJyZW50TG9jYXRpb24kID8/PSBuZXcgQ3VycmVudExvY2F0aW9uVG9waWMoKVxuICAgIHJldHVybiB0aGlzLl9jdXJyZW50TG9jYXRpb24kXG4gIH1cbiAgc2V0IGN1cnJlbnRMb2NhdGlvbiQodmFsdWU6IEN1cnJlbnRMb2NhdGlvblRvcGljKSB7XG4gICAgdGhpcy5fY3VycmVudExvY2F0aW9uJCA9IHZhbHVlXG4gIH1cblxuICBwcml2YXRlIF9jdXJyZW50UGFnZSQ6IEN1cnJlbnRQYWdlVG9waWMgfCB1bmRlZmluZWRcbiAgLyoqXG4gICAqIFRoaXMgdG9waWMgd2lsbCBvbmx5IGZpcmUgd2hlbiBwYWdlSW5mby5wYXRoIG1hdGNoZXMgZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUsXG4gICAqIGlmIG5vdCBpdCB3aWxsIGZpcmUgdW5kZWZpbmVkLlxuICAgKi9cbiAgZ2V0IGN1cnJlbnRQYWdlJCgpOiBDdXJyZW50UGFnZVRvcGljIHtcbiAgICB0aGlzLl9jdXJyZW50UGFnZSQgPz89IG5ldyBDdXJyZW50UGFnZVRvcGljKClcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFBhZ2UkXG4gIH1cbiAgc2V0IGN1cnJlbnRQYWdlJCh2YWx1ZTogQ3VycmVudFBhZ2VUb3BpYykge1xuICAgIHRoaXMuX2N1cnJlbnRQYWdlJCA9IHZhbHVlXG4gIH1cbiAgX2N1cnJlbnRXb3Jrc3BhY2UkOiBDdXJyZW50V29ya3NwYWNlVG9waWMgfCB1bmRlZmluZWRcbiAgZ2V0IGN1cnJlbnRXb3Jrc3BhY2UkKCk6IEN1cnJlbnRXb3Jrc3BhY2VUb3BpYyB7XG4gICAgdGhpcy5fY3VycmVudFdvcmtzcGFjZSQgPz89IG5ldyBDdXJyZW50V29ya3NwYWNlVG9waWMoKVxuICAgIHJldHVybiB0aGlzLl9jdXJyZW50V29ya3NwYWNlJFxuICB9XG4gIHNldCBjdXJyZW50V29ya3NwYWNlJCh2YWx1ZTogQ3VycmVudFdvcmtzcGFjZVRvcGljKSB7XG4gICAgdGhpcy5fY3VycmVudFdvcmtzcGFjZSQgPSB2YWx1ZVxuICB9XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlcGxhY2VkIGJ5IGN1cnJlbnRXb3Jrc3BhY2UkXG4gICAqL1xuICBnZXQgY3VycmVudFBvcnRhbCQoKSB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFdvcmtzcGFjZSRcbiAgfVxuICBzZXQgY3VycmVudFBvcnRhbCQodmFsdWU6IEN1cnJlbnRXb3Jrc3BhY2VUb3BpYykge1xuICAgIHRoaXMuX2N1cnJlbnRXb3Jrc3BhY2UkID0gdmFsdWVcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIFRvcGljIGlzIGluaXRpYWxpemVkIGFzIHNvb24gYXMgdGhlIGF1dGhlbnRpY2F0aW9uIGlzIGRvbmVcbiAgICovXG4gIHByaXZhdGUgX2lzQXV0aGVudGljYXRlZCQ6IElzQXV0aGVudGljYXRlZFRvcGljIHwgdW5kZWZpbmVkXG4gIGdldCBpc0F1dGhlbnRpY2F0ZWQkKCk6IElzQXV0aGVudGljYXRlZFRvcGljIHtcbiAgICB0aGlzLl9pc0F1dGhlbnRpY2F0ZWQkID8/PSBuZXcgSXNBdXRoZW50aWNhdGVkVG9waWMoKVxuICAgIHJldHVybiB0aGlzLl9pc0F1dGhlbnRpY2F0ZWQkXG4gIH1cbiAgc2V0IGlzQXV0aGVudGljYXRlZCQodmFsdWU6IElzQXV0aGVudGljYXRlZFRvcGljKSB7XG4gICAgdGhpcy5faXNBdXRoZW50aWNhdGVkJCA9IHZhbHVlXG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9nbG9iYWxFcnJvciQ/LmRlc3Ryb3koKVxuICAgIHRoaXMuX2dsb2JhbExvYWRpbmckPy5kZXN0cm95KClcbiAgICB0aGlzLl9jdXJyZW50TWZlJD8uZGVzdHJveSgpXG4gICAgdGhpcy5fY3VycmVudFBhZ2UkPy5kZXN0cm95KClcbiAgICB0aGlzLl9jdXJyZW50TG9jYXRpb24kPy5kZXN0cm95KClcbiAgICB0aGlzLl9jdXJyZW50V29ya3NwYWNlJD8uZGVzdHJveSgpXG4gICAgdGhpcy5faXNBdXRoZW50aWNhdGVkJD8uZGVzdHJveSgpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -7,13 +7,19 @@ import { CONFIG_KEY } from '../model/config-key.model';
|
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
import * as i1 from "@angular/common/http";
|
|
9
9
|
export class ConfigurationService {
|
|
10
|
+
get config$() {
|
|
11
|
+
this._config$ ??= new ConfigurationTopic();
|
|
12
|
+
return this._config$;
|
|
13
|
+
}
|
|
14
|
+
set config$(value) {
|
|
15
|
+
this._config$ = value;
|
|
16
|
+
}
|
|
10
17
|
constructor(http, defaultConfig) {
|
|
11
18
|
this.http = http;
|
|
12
19
|
this.defaultConfig = defaultConfig;
|
|
13
|
-
this.config$ = new ConfigurationTopic();
|
|
14
20
|
}
|
|
15
21
|
ngOnDestroy() {
|
|
16
|
-
this.
|
|
22
|
+
this._config$?.destroy();
|
|
17
23
|
}
|
|
18
24
|
init() {
|
|
19
25
|
return new Promise((resolve, reject) => {
|
|
@@ -74,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
74
80
|
type: Inject,
|
|
75
81
|
args: [APP_CONFIG]
|
|
76
82
|
}] }] });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWludGVncmF0aW9uLWludGVyZmFjZS9zcmMvbGliL3NlcnZpY2VzL2NvbmZpZ3VyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDckMsT0FBTyxFQUFVLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTs7O0FBR3RELE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsSUFBSSxPQUFPO1FBQ1QsSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLGtCQUFrQixFQUFFLENBQUE7UUFDMUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUF5QjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtJQUN2QixDQUFDO0lBRUQsWUFDVSxJQUFnQixFQUNnQixhQUF5QztRQUR6RSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2dCLGtCQUFhLEdBQWIsYUFBYSxDQUE0QjtJQUNoRixDQUFDO0lBRUosV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUE7SUFDMUIsQ0FBQztJQUVNLElBQUk7UUFDVCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLE1B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bnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IENvbmZpZywgQ29uZmlndXJhdGlvblRvcGljIH0gZnJvbSAnQG9uZWN4L2ludGVncmF0aW9uLWludGVyZmFjZSdcbmltcG9ydCB7IEFQUF9DT05GSUcgfSBmcm9tICcuLi9hcGkvaW5qZWN0aW9uLXRva2VucydcbmltcG9ydCB7IENPTkZJR19LRVkgfSBmcm9tICcuLi9tb2RlbC9jb25maWcta2V5Lm1vZGVsJ1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb25TZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgX2NvbmZpZyQ6IENvbmZpZ3VyYXRpb25Ub3BpYyB8IHVuZGVmaW5lZFxuICBnZXQgY29uZmlnJCgpIHtcbiAgICB0aGlzLl9jb25maWckID8/PSBuZXcgQ29uZmlndXJhdGlvblRvcGljKClcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnJFxuICB9XG4gIHNldCBjb25maWckKHZhbHVlOiBDb25maWd1cmF0aW9uVG9waWMpIHtcbiAgICB0aGlzLl9jb25maWckID0gdmFsdWVcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9DT05GSUcpIHByaXZhdGUgZGVmYXVsdENvbmZpZz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cbiAgKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2NvbmZpZyQ/LmRlc3Ryb3koKVxuICB9XG5cbiAgcHVibGljIGluaXQoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHNraXBSZW1vdGVDb25maWdMb2FkID0gdGhpcy5kZWZhdWx0Q29uZmlnICYmIHRoaXMuZGVmYXVsdENvbmZpZ1snc2tpcFJlbW90ZUNvbmZpZ0xvYWQnXVxuICAgICAgbGV0IGxvYWRDb25maWdQcm9taXNlOiBQcm9taXNlPENvbmZpZz5cblxuICAgICAgY29uc3QgaW5saW5lZENvbmZpZyA9ICh3aW5kb3cgYXMgdHlwZW9mIHdpbmRvdyAmIHsgQVBQX0NPTkZJRzogQ29uZmlnIH0pWydBUFBfQ09ORklHJ11cbiAgICAgIGlmIChpbmxpbmVkQ29uZmlnKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGBFTlYgcmVzb2x2ZWQgZnJvbSBpbmplY3RlZCBjb25maWdgKVxuICAgICAgICBsb2FkQ29uZmlnUHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZShpbmxpbmVkQ29uZmlnKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHNraXBSZW1vdGVDb25maWdMb2FkKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coXG4gICAgICAgICAgICAn8J+ToiBUS0EwMDE6IFJlbW90ZSBjb25maWcgbG9hZCBpcyBkaXNhYmxlZC4gVG8gZW5hYmxlIGl0LCByZW1vdmUgdGhlIFwic2tpcFJlbW90ZUNvbmZpZ0xvYWRcIiBrZXkgaW4geW91ciBlbnZpcm9ubWVudC5qc29uJ1xuICAgICAgICAgIClcbiAgICAgICAgICBsb2FkQ29uZmlnUHJvbWlzZSA9IFByb21pc2UucmVzb2x2ZSh0aGlzLmRlZmF1bHRDb25maWcgfHwge30pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbG9hZENvbmZpZ1Byb21pc2UgPSBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMuaHR0cC5nZXQ8Q29uZmlnPigodGhpcy5kZWZhdWx0Q29uZmlnICYmIHRoaXMuZGVmYXVsdENvbmZpZ1sncmVtb3RlQ29uZmlnVVJMJ10pIHx8ICdhc3NldHMvZW52Lmpzb24nKVxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsb2FkQ29uZmlnUHJvbWlzZVxuICAgICAgICAudGhlbihhc3luYyAoY29uZmlnKSA9PiB7XG4gICAgICAgICAgYXdhaXQgdGhpcy5jb25maWckLnB1Ymxpc2goeyAuLi50aGlzLmRlZmF1bHRDb25maWcsIC4uLihjb25maWcgPz8ge30pIH0pLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZSkgPT4ge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBGYWlsZWQgdG8gbG9hZCBlbnYgY29uZmlndXJhdGlvbmApXG4gICAgICAgICAgcmVqZWN0KGUpXG4gICAgICAgIH0pXG4gICAgfSlcbiAgfVxuXG4gIGdldCBpc0luaXRpYWxpemVkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZyQuaXNJbml0aWFsaXplZFxuICB9XG5cbiAgcHVibGljIGdldFByb3BlcnR5KGtleTogQ09ORklHX0tFWSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFPYmplY3QudmFsdWVzKENPTkZJR19LRVkpLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ludmFsaWQgY29uZmlnIGtleSAnLCBrZXkpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbmZpZyQuZ2V0VmFsdWUoKT8uW2tleV1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzZXRQcm9wZXJ0eShrZXk6IHN0cmluZywgdmFsOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjdXJyZW50VmFsdWVzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5jb25maWckLmFzT2JzZXJ2YWJsZSgpKVxuICAgIGN1cnJlbnRWYWx1ZXNba2V5XSA9IHZhbFxuICAgIGF3YWl0IHRoaXMuY29uZmlnJC5wdWJsaXNoKGN1cnJlbnRWYWx1ZXMpXG4gIH1cblxuICBwdWJsaWMgZ2V0Q29uZmlnKCk6IENvbmZpZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnJC5nZXRWYWx1ZSgpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -7,7 +7,13 @@ import * as i1 from "@ngx-translate/core";
|
|
|
7
7
|
export class PortalMessageService {
|
|
8
8
|
constructor(translateService) {
|
|
9
9
|
this.translateService = translateService;
|
|
10
|
-
|
|
10
|
+
}
|
|
11
|
+
get message$() {
|
|
12
|
+
this._message$ ??= new MessageTopic();
|
|
13
|
+
return this._message$;
|
|
14
|
+
}
|
|
15
|
+
set message$(value) {
|
|
16
|
+
this._message$ = value;
|
|
11
17
|
}
|
|
12
18
|
success(msg) {
|
|
13
19
|
this.addTranslated('success', msg);
|
|
@@ -37,7 +43,7 @@ export class PortalMessageService {
|
|
|
37
43
|
});
|
|
38
44
|
}
|
|
39
45
|
ngOnDestroy() {
|
|
40
|
-
this.
|
|
46
|
+
this._message$?.destroy();
|
|
41
47
|
}
|
|
42
48
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PortalMessageService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
43
49
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PortalMessageService, providedIn: 'any' }); }
|
|
@@ -46,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
46
52
|
type: Injectable,
|
|
47
53
|
args: [{ providedIn: 'any' }]
|
|
48
54
|
}], ctorParameters: () => [{ type: i1.TranslateService }] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLW1lc3NhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2Uvc3JjL2xpYi9zZXJ2aWNlcy9wb3J0YWwtbWVzc2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUE7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTs7O0FBbUIzRCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO0lBQUcsQ0FBQztJQUcxRCxJQUFJLFFBQVE7UUFDVixJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksWUFBWSxFQUFFLENBQUE7UUFDckMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFBO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxLQUFtQjtRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQTtJQUN4QixDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQVk7UUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELElBQUksQ0FBQyxHQUFZO1FBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFZO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBQ2xDLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBWTtRQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUNwQyxDQUFDO0lBRU8sYUFBYSxDQUFDLFFBQWdCLEVBQUUsR0FBWTtRQUNsRCxhQUFhLENBQUM7WUFDWixHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ3ZHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQztTQUMvRixDQUFDO2FBQ0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxpQkFBaUIsQ0FBVyxFQUFFLEVBQUU7WUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7Z0JBQ3BCLEdBQUcsR0FBRztnQkFDTixRQUFRLEVBQUUsUUFBUTtnQkFDbEIsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsTUFBTSxFQUFFLGlCQUFpQjthQUMxQixDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQTtJQUMzQixDQUFDOytHQTlDVSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQURQLEtBQUs7OzRGQUNsQixvQkFBb0I7a0JBRGhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZmlyc3QsIG9mIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IE1lc3NhZ2VUb3BpYyB9IGZyb20gJ0BvbmVjeC9pbnRlZ3JhdGlvbi1pbnRlcmZhY2UnXG5cbmV4cG9ydCB0eXBlIE1lc3NhZ2UgPSB7XG4gIHN1bW1hcnlLZXk/OiBzdHJpbmdcbiAgc3VtbWFyeVBhcmFtZXRlcnM/OiBvYmplY3RcbiAgZGV0YWlsS2V5Pzogc3RyaW5nXG4gIGRldGFpbFBhcmFtZXRlcnM/OiBvYmplY3RcbiAgaWQ/OiBhbnlcbiAga2V5Pzogc3RyaW5nXG4gIGxpZmU/OiBudW1iZXJcbiAgc3RpY2t5PzogYm9vbGVhblxuICBjbG9zYWJsZT86IGJvb2xlYW5cbiAgZGF0YT86IGFueVxuICBpY29uPzogc3RyaW5nXG4gIGNvbnRlbnRTdHlsZUNsYXNzPzogc3RyaW5nXG4gIHN0eWxlQ2xhc3M/OiBzdHJpbmdcbn1cblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAnYW55JyB9KVxuZXhwb3J0IGNsYXNzIFBvcnRhbE1lc3NhZ2VTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gIF9tZXNzYWdlJDogTWVzc2FnZVRvcGljIHwgdW5kZWZpbmVkXG4gIGdldCBtZXNzYWdlJCgpIHtcbiAgICB0aGlzLl9tZXNzYWdlJCA/Pz0gbmV3IE1lc3NhZ2VUb3BpYygpXG4gICAgcmV0dXJuIHRoaXMuX21lc3NhZ2UkXG4gIH1cbiAgc2V0IG1lc3NhZ2UkKHZhbHVlOiBNZXNzYWdlVG9waWMpIHtcbiAgICB0aGlzLl9tZXNzYWdlJCA9IHZhbHVlXG4gIH1cblxuICBzdWNjZXNzKG1zZzogTWVzc2FnZSkge1xuICAgIHRoaXMuYWRkVHJhbnNsYXRlZCgnc3VjY2VzcycsIG1zZylcbiAgfVxuXG4gIGluZm8obXNnOiBNZXNzYWdlKSB7XG4gICAgdGhpcy5hZGRUcmFuc2xhdGVkKCdpbmZvJywgbXNnKVxuICB9XG5cbiAgZXJyb3IobXNnOiBNZXNzYWdlKSB7XG4gICAgdGhpcy5hZGRUcmFuc2xhdGVkKCdlcnJvcicsIG1zZylcbiAgfVxuXG4gIHdhcm5pbmcobXNnOiBNZXNzYWdlKSB7XG4gICAgdGhpcy5hZGRUcmFuc2xhdGVkKCd3YXJuaW5nJywgbXNnKVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRUcmFuc2xhdGVkKHNldmVyaXR5OiBzdHJpbmcsIG1zZzogTWVzc2FnZSkge1xuICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgbXNnLnN1bW1hcnlLZXkgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KG1zZy5zdW1tYXJ5S2V5IHx8ICcnLCBtc2cuc3VtbWFyeVBhcmFtZXRlcnMpIDogb2YodW5kZWZpbmVkKSxcbiAgICAgIG1zZy5kZXRhaWxLZXkgPyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KG1zZy5kZXRhaWxLZXksIG1zZy5kZXRhaWxQYXJhbWV0ZXJzKSA6IG9mKHVuZGVmaW5lZCksXG4gICAgXSlcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAuc3Vic2NyaWJlKChbc3VtbWFyeVRyYW5zbGF0aW9uLCBkZXRhaWxUcmFuc2xhdGlvbl06IHN0cmluZ1tdKSA9PiB7XG4gICAgICAgIHRoaXMubWVzc2FnZSQucHVibGlzaCh7XG4gICAgICAgICAgLi4ubXNnLFxuICAgICAgICAgIHNldmVyaXR5OiBzZXZlcml0eSxcbiAgICAgICAgICBzdW1tYXJ5OiBzdW1tYXJ5VHJhbnNsYXRpb24sXG4gICAgICAgICAgZGV0YWlsOiBkZXRhaWxUcmFuc2xhdGlvbixcbiAgICAgICAgfSlcbiAgICAgIH0pXG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZXNzYWdlJD8uZGVzdHJveSgpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -2,11 +2,15 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import { RemoteComponentsTopic } from '@onecx/integration-interface';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class RemoteComponentsService {
|
|
5
|
-
|
|
6
|
-
this.
|
|
5
|
+
get remoteComponents$() {
|
|
6
|
+
this._remoteComponents$ ??= new RemoteComponentsTopic();
|
|
7
|
+
return this._remoteComponents$;
|
|
8
|
+
}
|
|
9
|
+
set remoteComponents$(value) {
|
|
10
|
+
this._remoteComponents$ = value;
|
|
7
11
|
}
|
|
8
12
|
ngOnDestroy() {
|
|
9
|
-
this.
|
|
13
|
+
this._remoteComponents$?.destroy();
|
|
10
14
|
}
|
|
11
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RemoteComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
12
16
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RemoteComponentsService, providedIn: 'root' }); }
|
|
@@ -15,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
15
19
|
type: Injectable,
|
|
16
20
|
args: [{ providedIn: 'root' }]
|
|
17
21
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWNvbXBvbmVudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2Uvc3JjL2xpYi9zZXJ2aWNlcy9yZW1vdGUtY29tcG9uZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUE7QUFDckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUE7O0FBR3BFLE1BQU0sT0FBTyx1QkFBdUI7SUFFbEMsSUFBSSxpQkFBaUI7UUFDbkIsSUFBSSxDQUFDLGtCQUFrQixLQUFLLElBQUkscUJBQXFCLEVBQUUsQ0FBQTtRQUN2RCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQTtJQUNoQyxDQUFDO0lBQ0QsSUFBSSxpQkFBaUIsQ0FBQyxLQUE0QjtRQUNoRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFBO0lBQ2pDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxDQUFBO0lBQ3BDLENBQUM7K0dBWlUsdUJBQXVCO21IQUF2Qix1QkFBdUIsY0FEVixNQUFNOzs0RkFDbkIsdUJBQXVCO2tCQURuQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBSZW1vdGVDb21wb25lbnRzVG9waWMgfSBmcm9tICdAb25lY3gvaW50ZWdyYXRpb24taW50ZXJmYWNlJ1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJlbW90ZUNvbXBvbmVudHNTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgX3JlbW90ZUNvbXBvbmVudHMkOiBSZW1vdGVDb21wb25lbnRzVG9waWMgfCB1bmRlZmluZWRcbiAgZ2V0IHJlbW90ZUNvbXBvbmVudHMkKCkge1xuICAgIHRoaXMuX3JlbW90ZUNvbXBvbmVudHMkID8/PSBuZXcgUmVtb3RlQ29tcG9uZW50c1RvcGljKClcbiAgICByZXR1cm4gdGhpcy5fcmVtb3RlQ29tcG9uZW50cyRcbiAgfVxuICBzZXQgcmVtb3RlQ29tcG9uZW50cyQodmFsdWU6IFJlbW90ZUNvbXBvbmVudHNUb3BpYykge1xuICAgIHRoaXMuX3JlbW90ZUNvbXBvbmVudHMkID0gdmFsdWVcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3JlbW90ZUNvbXBvbmVudHMkPy5kZXN0cm95KClcbiAgfVxufVxuIl19
|
|
@@ -9,11 +9,17 @@ import * as i1 from "./configuration.service";
|
|
|
9
9
|
import * as i2 from "@angular/common/http";
|
|
10
10
|
const defaultThemeServerUrl = 'http://portal-theme-management:8080';
|
|
11
11
|
export class ThemeService {
|
|
12
|
+
get currentTheme$() {
|
|
13
|
+
this._currentTheme$ ??= new CurrentThemeTopic();
|
|
14
|
+
return this._currentTheme$;
|
|
15
|
+
}
|
|
16
|
+
set currentTheme$(value) {
|
|
17
|
+
this._currentTheme$ = value;
|
|
18
|
+
}
|
|
12
19
|
constructor(configService, http) {
|
|
13
20
|
this.configService = configService;
|
|
14
21
|
this.http = http;
|
|
15
22
|
this.baseUrlV1 = './portal-api';
|
|
16
|
-
this.currentTheme$ = new CurrentThemeTopic();
|
|
17
23
|
}
|
|
18
24
|
getThemeHref(themeId) {
|
|
19
25
|
const themeServerUrl = this.configService.getProperty(CONFIG_KEY.TKIT_PORTAL_THEME_SERVER_URL) || defaultThemeServerUrl;
|
|
@@ -36,7 +42,7 @@ export class ThemeService {
|
|
|
36
42
|
}
|
|
37
43
|
}
|
|
38
44
|
ngOnDestroy() {
|
|
39
|
-
this.
|
|
45
|
+
this._currentTheme$?.destroy();
|
|
40
46
|
}
|
|
41
47
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ThemeService, deps: [{ token: i1.ConfigurationService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
42
48
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
|
|
@@ -45,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
45
51
|
type: Injectable,
|
|
46
52
|
args: [{ providedIn: 'root' }]
|
|
47
53
|
}], ctorParameters: () => [{ type: i1.ConfigurationService }, { type: i2.HttpClient }] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci1pbnRlZ3JhdGlvbi1pbnRlcmZhY2Uvc3JjL2xpYi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFBO0FBQ3JELE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQVMsTUFBTSw4QkFBOEIsQ0FBQTtBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7Ozs7QUFFdEQsTUFBTSxxQkFBcUIsR0FBRyxxQ0FBcUMsQ0FBQTtBQUduRSxNQUFNLE9BQU8sWUFBWTtJQUd2QixJQUFJLGFBQWE7UUFDZixJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksaUJBQWlCLEVBQUUsQ0FBQTtRQUMvQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUE7SUFDNUIsQ0FBQztJQUNELElBQUksYUFBYSxDQUFDLEtBQXdCO1FBQ3hDLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFBO0lBQzdCLENBQUM7SUFFRCxZQUNVLGFBQW1DLEVBQ25DLElBQWdCO1FBRGhCLGtCQUFhLEdBQWIsYUFBYSxDQUFzQjtRQUNuQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBWjFCLGNBQVMsR0FBRyxjQUFjLENBQUE7SUFhdkIsQ0FBQztJQUVKLFlBQVksQ0FBQyxPQUFlO1FBQzFCLE1BQU0sY0FBYyxHQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsNEJBQTRCLENBQUMsSUFBSSxxQkFBcUIsQ0FBQTtRQUNsRyxPQUFPLEdBQUcsY0FBYyxXQUFXLE9BQU8sSUFBSSxPQUFPLFVBQVUsQ0FBQTtJQUNqRSxDQUFDO0lBRU0saUJBQWlCLENBQUMsU0FBaUI7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUSxHQUFHLElBQUksQ0FBQyxTQUFTLG9CQUFvQixTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDM0YsUUFBUSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUN2RCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBWTtRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUMvQyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3ZDLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNoRCxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUNqRCxRQUFRLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQTtnQkFDL0QsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQTtJQUNoQyxDQUFDOytHQTVDVSxZQUFZO21IQUFaLFlBQVksY0FEQyxNQUFNOzs0RkFDbkIsWUFBWTtrQkFEeEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgZnJvbSwgbWFwLCBtZXJnZU1hcCB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBDdXJyZW50VGhlbWVUb3BpYywgVGhlbWUgfSBmcm9tICdAb25lY3gvaW50ZWdyYXRpb24taW50ZXJmYWNlJ1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb24uc2VydmljZSdcbmltcG9ydCB7IENPTkZJR19LRVkgfSBmcm9tICcuLi9tb2RlbC9jb25maWcta2V5Lm1vZGVsJ1xuXG5jb25zdCBkZWZhdWx0VGhlbWVTZXJ2ZXJVcmwgPSAnaHR0cDovL3BvcnRhbC10aGVtZS1tYW5hZ2VtZW50OjgwODAnXG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVGhlbWVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgYmFzZVVybFYxID0gJy4vcG9ydGFsLWFwaSdcbiAgX2N1cnJlbnRUaGVtZSQ6IEN1cnJlbnRUaGVtZVRvcGljIHwgdW5kZWZpbmVkXG4gIGdldCBjdXJyZW50VGhlbWUkKCkge1xuICAgIHRoaXMuX2N1cnJlbnRUaGVtZSQgPz89IG5ldyBDdXJyZW50VGhlbWVUb3BpYygpXG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRUaGVtZSRcbiAgfVxuICBzZXQgY3VycmVudFRoZW1lJCh2YWx1ZTogQ3VycmVudFRoZW1lVG9waWMpIHtcbiAgICB0aGlzLl9jdXJyZW50VGhlbWUkID0gdmFsdWVcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlndXJhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50XG4gICkge31cblxuICBnZXRUaGVtZUhyZWYodGhlbWVJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCB0aGVtZVNlcnZlclVybCA9XG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0UHJvcGVydHkoQ09ORklHX0tFWS5US0lUX1BPUlRBTF9USEVNRV9TRVJWRVJfVVJMKSB8fCBkZWZhdWx0VGhlbWVTZXJ2ZXJVcmxcbiAgICByZXR1cm4gYCR7dGhlbWVTZXJ2ZXJVcmx9L3RoZW1lcy8ke3RoZW1lSWR9LyR7dGhlbWVJZH0ubWluLmNzc2BcbiAgfVxuXG4gIHB1YmxpYyBsb2FkQW5kQXBwbHlUaGVtZSh0aGVtZU5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFRoZW1lPihgJHt0aGlzLmJhc2VVcmxWMX0vaW50ZXJuYWwvdGhlbWVzLyR7ZW5jb2RlVVJJKHRoZW1lTmFtZSl9YCkucGlwZShcbiAgICAgIG1lcmdlTWFwKCh0aGVtZSkgPT4ge1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLmFwcGx5KHRoZW1lKSkucGlwZShtYXAoKCkgPT4gdGhlbWUpKVxuICAgICAgfSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgYXN5bmMgYXBwbHkodGhlbWU6IFRoZW1lKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc29sZS5sb2coYPCfjqggQXBwbHlpbmcgdGhlbWU6ICR7dGhlbWUubmFtZX1gKVxuICAgIGF3YWl0IHRoaXMuY3VycmVudFRoZW1lJC5wdWJsaXNoKHRoZW1lKVxuICAgIGlmICh0aGVtZS5wcm9wZXJ0aWVzKSB7XG4gICAgICBPYmplY3QudmFsdWVzKHRoZW1lLnByb3BlcnRpZXMpLmZvckVhY2goKGdyb3VwKSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGdyb3VwKSkge1xuICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eShgLS0ke2tleX1gLCB2YWx1ZSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9jdXJyZW50VGhlbWUkPy5kZXN0cm95KClcbiAgfVxufVxuIl19
|
|
@@ -5,11 +5,17 @@ import { DEFAULT_LANG } from '../api/constants';
|
|
|
5
5
|
import { getNormalizedBrowserLocales } from '@onecx/accelerator';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class UserService {
|
|
8
|
+
get permissionsTopic$() {
|
|
9
|
+
this._permissionsTopic$ ??= new PermissionsTopic();
|
|
10
|
+
return this._permissionsTopic$;
|
|
11
|
+
}
|
|
12
|
+
set permissionsTopic$(value) {
|
|
13
|
+
this._permissionsTopic$ = value;
|
|
14
|
+
}
|
|
8
15
|
constructor() {
|
|
9
16
|
this.profile$ = new UserProfileTopic();
|
|
10
17
|
this.permissions$ = new BehaviorSubject([]);
|
|
11
18
|
this.lang$ = new BehaviorSubject(this.determineLanguage() ?? DEFAULT_LANG);
|
|
12
|
-
this.permissionsTopic$ = new PermissionsTopic();
|
|
13
19
|
this.profile$
|
|
14
20
|
.pipe(map((profile) => {
|
|
15
21
|
let locales = profile.settings?.locales;
|
|
@@ -34,6 +40,7 @@ export class UserService {
|
|
|
34
40
|
}
|
|
35
41
|
ngOnDestroy() {
|
|
36
42
|
this.profile$.destroy();
|
|
43
|
+
this._permissionsTopic$?.destroy();
|
|
37
44
|
}
|
|
38
45
|
useOldLangSetting(profile) {
|
|
39
46
|
return profile.accountSettings?.localeAndTimeSettings?.locale ?? this.determineLanguage() ?? DEFAULT_LANG;
|
|
@@ -107,4 +114,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
107
114
|
type: Injectable,
|
|
108
115
|
args: [{ providedIn: 'root' }]
|
|
109
116
|
}], ctorParameters: () => [] });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWludGVncmF0aW9uLWludGVyZmFjZS9zcmMvbGliL3NlcnZpY2VzL3VzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFBO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFjLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQWUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7O0FBR2hFLE1BQU0sT0FBTyxXQUFXO0lBU3RCO1FBUkEsYUFBUSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQTtRQUNqQyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFBO1FBQ2hELFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQTtRQUc3RCxzQkFBaUIsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUE7UUFJaEQsSUFBSSxDQUFDLFFBQVE7YUFDVixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDZCxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQTtZQUV2QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDeEMsQ0FBQztZQUVELElBQUksT0FBTyxD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LENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dDQUN6QixDQUFDOzRCQUNILENBQUM7d0JBQ0gsQ0FBQyxDQUFDLENBQUE7b0JBQ0osQ0FBQyxDQUFDLENBQUE7Z0JBQ0osQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsT0FBTyxXQUFXLENBQUE7WUFDcEIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDekYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhO1lBQzNCLGdFQUFnRTtTQUNqRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ25CLENBQUM7K0dBekhVLFdBQVc7bUhBQVgsV0FBVyxjQURFLE1BQU07OzRGQUNuQixXQUFXO2tCQUR2QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgZmlsdGVyLCBmaXJzdFZhbHVlRnJvbSwgc2tpcCwgT2JzZXJ2YWJsZSwgbWVyZ2UgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgUGVybWlzc2lvbnNUb3BpYywgVXNlclByb2ZpbGUsIFVzZXJQcm9maWxlVG9waWMgfSBmcm9tICdAb25lY3gvaW50ZWdyYXRpb24taW50ZXJmYWNlJ1xuaW1wb3J0IHsgREVGQVVMVF9MQU5HIH0gZnJvbSAnLi4vYXBpL2NvbnN0YW50cydcbmltcG9ydCB7IGdldE5vcm1hbGl6ZWRCcm93c2VyTG9jYWxlcyB9IGZyb20gJ0BvbmVjeC9hY2NlbGVyYXRvcidcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByb2ZpbGUkID0gbmV3IFVzZXJQcm9maWxlVG9waWMoKVxuICBwZXJtaXNzaW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSlcbiAgbGFuZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuZGV0ZXJtaW5lTGFuZ3VhZ2UoKSA/PyBERUZBVUxUX0xBTkcpXG5cbiAgcHJpdmF0ZSBlZmZlY3RpdmVQZXJtaXNzaW9ucyQ6IE9ic2VydmFibGU8c3RyaW5nW10+XG4gIHByaXZhdGUgcGVybWlzc2lvbnNUb3BpYyQgPSBuZXcgUGVybWlzc2lvbnNUb3BpYygpXG4gIHByaXZhdGUgb2xkU3R5bGVQZXJtaXNzaW9uc0luaXRpYWxpemVkOiBQcm9taXNlPHN0cmluZ1tdPlxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMucHJvZmlsZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHByb2ZpbGUpID0+IHtcbiAgICAgICAgICBsZXQgbG9jYWxlcyA9IHByb2ZpbGUuc2V0dGluZ3M/LmxvY2FsZXNcblxuICAgICAgICAgIGlmICghbG9jYWxlcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudXNlT2xkTGFuZ1NldHRpbmcocHJvZmlsZSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobG9jYWxlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGxvY2FsZXMgPSBnZXROb3JtYWxpemVkQnJvd3NlckxvY2FsZXMoKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHRoZSBsYW5nJCBzaG91bGQgY29udGFpbiB0aGUgZmlyc3QgbGFuZ3VhZ2UsIGJlY2F1c2UgbG9jYWxlcyBpcyBhbiBvcmRlcmVkIGxpc3RcbiAgICAgICAgICAvLyBsZW5ndGggb2YgMiBpcyBjaGVja2VkIGJlY2F1c2Ugd2UgbmVlZCB0aGUgZ2VuZXJhbCBsYW5ndWFnZVxuICAgICAgICAgIC8vIG5ldmVyIGNob29zZSAnZW4tVVMnLCBidXQgY2hvb3NlICdlbidcbiAgICAgICAgICBjb25zdCBmaXJzdExhbmcgPSBsb2NhbGVzLmZpbmQoKGwpID0+IGwubGVuZ3RoID09PSAyKSA/PyBERUZBVUxUX0xBTkdcbiAgICAgICAgICByZXR1cm4gZmlyc3RMYW5nXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMubGFuZyQpXG5cbiAgICB0aGlzLm9sZFN0eWxlUGVybWlzc2lvbnNJbml0aWFsaXplZCA9IGZpcnN0VmFsdWVGcm9tKHRoaXMucGVybWlzc2lvbnMkLnBpcGUoc2tpcCgxKSkpXG4gICAgdGhpcy5lZmZlY3RpdmVQZXJtaXNzaW9ucyQgPSBtZXJnZSh0aGlzLnBlcm1pc3Npb25zJC5waXBlKHNraXAoMSkpLCB0aGlzLnBlcm1pc3Npb25zVG9waWMkLmFzT2JzZXJ2YWJsZSgpKVxuICAgIHRoaXMucHJvZmlsZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHByb2ZpbGUpID0+IHRoaXMuZXh0cmFjdFBlcm1pc3Npb25zKHByb2ZpbGUpKSxcbiAgICAgICAgZmlsdGVyKChwZXJtaXNzaW9ucyk6IHBlcm1pc3Npb25zIGlzIHN0cmluZ1tdID0+ICEhcGVybWlzc2lvbnMpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMucGVybWlzc2lvbnMkKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5wcm9maWxlJC5kZXN0cm95KClcbiAgfVxuXG4gIHVzZU9sZExhbmdTZXR0aW5nKHByb2ZpbGU6IFVzZXJQcm9maWxlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcHJvZmlsZS5hY2NvdW50U2V0dGluZ3M/LmxvY2FsZUFuZFRpbWVTZXR0aW5ncz8ubG9jYWxlID8/IHRoaXMuZGV0ZXJtaW5lTGFuZ3VhZ2UoKSA/PyBERUZBVUxUX0xBTkdcbiAgfVxuXG4gIGdldFBlcm1pc3Npb25zKCkge1xuICAgIHJldHVybiB0aGlzLmVmZmVjdGl2ZVBlcm1pc3Npb25zJFxuICB9XG5cbiAgaGFzUGVybWlzc2lvbihwZXJtaXNzaW9uS2V5OiBzdHJpbmcgfCBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHBlcm1pc3Npb25LZXkpKSB7XG4gICAgICByZXR1cm4gcGVybWlzc2lvbktleS5ldmVyeSgoa2V5KSA9PiB0aGlzLmhhc1Blcm1pc3Npb24oa2V5KSlcbiAgICB9XG4gICAgY29uc3Qgb2xkQ29uY2VwdFJlc3VsdCA9IHRoaXMucGVybWlzc2lvbnMkLmdldFZhbHVlKClcbiAgICAgID8gdGhpcy5wZXJtaXNzaW9ucyQuZ2V0VmFsdWUoKT8uaW5jbHVkZXMocGVybWlzc2lvbktleSlcbiAgICAgIDogZmFsc2VcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLnBlcm1pc3Npb25zVG9waWMkLmdldFZhbHVlKClcbiAgICAgID8gdGhpcy5wZXJtaXNzaW9uc1RvcGljJC5nZXRWYWx1ZSgpPy5pbmNsdWRlcyhwZXJtaXNzaW9uS2V5KVxuICAgICAgOiBvbGRDb25jZXB0UmVzdWx0XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgY29uc29sZS5sb2coYPCfka7igI3imYDvuI8gTm8gcGVybWlzc2lvbiBmb3I6ICR7cGVybWlzc2lvbktleX1gKVxuICAgIH1cbiAgICByZXR1cm4gISFyZXN1bHRcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZXJtaW5lTGFuZ3VhZ2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgfHwgdHlwZW9mIHdpbmRvdy5uYXZpZ2F0b3IgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgbGV0IGJyb3dzZXJMYW5nOiBhbnkgPSB3aW5kb3cubmF2aWdhdG9yLmxhbmd1YWdlcyA/IHdpbmRvdy5uYXZpZ2F0b3IubGFuZ3VhZ2VzWzBdIDogbnVsbFxuICAgIGJyb3dzZXJMYW5nID0gYnJvd3NlckxhbmcgfHwgd2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZVxuXG4gICAgaWYgKHR5cGVvZiBicm93c2VyTGFuZyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBpZiAoYnJvd3NlckxhbmcuaW5kZXhPZignLScpICE9PSAtMSkge1xuICAgICAgYnJvd3NlckxhbmcgPSBicm93c2VyTGFuZy5zcGxpdCgnLScpWzBdXG4gICAgfVxuXG4gICAgaWYgKGJyb3dzZXJMYW5nLmluZGV4T2YoJ18nKSAhPT0gLTEpIHtcbiAgICAgIGJyb3dzZXJMYW5nID0gYnJvd3Nlckxhbmcuc3BsaXQoJ18nKVswXVxuICAgIH1cblxuICAgIHJldHVybiBicm93c2VyTGFuZ1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0UGVybWlzc2lvbnModXNlclByb2ZpbGU6IFVzZXJQcm9maWxlKSB7XG4gICAgaWYgKHVzZXJQcm9maWxlKSB7XG4gICAgICBpZiAodXNlclByb2ZpbGUubWVtYmVyc2hpcHMpIHtcbiAgICAgICAgY29uc3QgcGVybWlzc2lvbnM6IHN0cmluZ1tdID0gW11cbiAgICAgICAgdXNlclByb2ZpbGUubWVtYmVyc2hpcHMuZm9yRWFjaCgobSkgPT4ge1xuICAgICAgICAgIG0ucm9sZU1lbWJlcnNoaXBzPy5mb3JFYWNoKChyKSA9PiB7XG4gICAgICAgICAgICByLnBlcm1pc3Npb25zPy5mb3JFYWNoKChwKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChwKSB7XG4gICAgICAgICAgICAgICAgaWYgKHAua2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zLnB1c2gocC5rZXkpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgICAgIHJldHVybiBwZXJtaXNzaW9uc1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgZ2V0IGlzSW5pdGlhbGl6ZWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgIFByb21pc2UucmFjZShbdGhpcy5wZXJtaXNzaW9uc1RvcGljJC5pc0luaXRpYWxpemVkLCB0aGlzLm9sZFN0eWxlUGVybWlzc2lvbnNJbml0aWFsaXplZF0pLFxuICAgICAgdGhpcy5wcm9maWxlJC5pc0luaXRpYWxpemVkLFxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgIF0pLnRoZW4oKCkgPT4ge30pXG4gIH1cbn1cbiJdfQ==
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWludGVncmF0aW9uLWludGVyZmFjZS9zcmMvbGliL3NlcnZpY2VzL3VzZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFBO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFjLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQWUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDL0MsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7O0FBR2hFLE1BQU0sT0FBTyxXQUFXO0lBT3RCLElBQUksaUJBQWlCO1FBQ25CLElBQUksQ0FBQyxrQkFBa0IsS0FBSyxJQUFJLGdCQUFnQixFQUFFLENBQUE7UUFDbEQsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUE7SUFDaEMsQ0FBQztJQUNELElBQUksaUJBQWlCLENBQUMsS0FBdUI7UUFDM0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQTtJQUNqQyxDQUFDO0lBSUQ7UUFoQkEsYUFBUSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQTtRQUNqQyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFBO1FBQ2hELFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxZQUFZLENBQUMsQ0FBQTtRQWVuRSxJQUFJLENBQUMsUUFBUTthQUNWLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNkLElB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LGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTt3QkFDL0IsQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTs0QkFDM0IsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQ0FDTixJQUFJLENBQUMsQ0FBQyxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7b0NBQ3hCLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFBO2dDQUN6QixDQUFDOzRCQUNILENBQUM7d0JBQ0gsQ0FBQyxDQUFDLENBQUE7b0JBQ0osQ0FBQyxDQUFDLENBQUE7Z0JBQ0osQ0FBQyxDQUFDLENBQUE7Z0JBQ0YsT0FBTyxXQUFXLENBQUE7WUFDcEIsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDekYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhO1lBQzNCLGdFQUFnRTtTQUNqRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFBO0lBQ25CLENBQUM7K0dBbElVLFdBQVc7bUhBQVgsV0FBVyxjQURFLE1BQU07OzRGQUNuQixXQUFXO2tCQUR2QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIG1hcCwgZmlsdGVyLCBmaXJzdFZhbHVlRnJvbSwgc2tpcCwgT2JzZXJ2YWJsZSwgbWVyZ2UgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgUGVybWlzc2lvbnNUb3BpYywgVXNlclByb2ZpbGUsIFVzZXJQcm9maWxlVG9waWMgfSBmcm9tICdAb25lY3gvaW50ZWdyYXRpb24taW50ZXJmYWNlJ1xuaW1wb3J0IHsgREVGQVVMVF9MQU5HIH0gZnJvbSAnLi4vYXBpL2NvbnN0YW50cydcbmltcG9ydCB7IGdldE5vcm1hbGl6ZWRCcm93c2VyTG9jYWxlcyB9IGZyb20gJ0BvbmVjeC9hY2NlbGVyYXRvcidcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByb2ZpbGUkID0gbmV3IFVzZXJQcm9maWxlVG9waWMoKVxuICBwZXJtaXNzaW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSlcbiAgbGFuZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuZGV0ZXJtaW5lTGFuZ3VhZ2UoKSA/PyBERUZBVUxUX0xBTkcpXG5cbiAgcHJpdmF0ZSBlZmZlY3RpdmVQZXJtaXNzaW9ucyQ6IE9ic2VydmFibGU8c3RyaW5nW10+XG4gIF9wZXJtaXNzaW9uc1RvcGljJDogUGVybWlzc2lvbnNUb3BpYyB8IHVuZGVmaW5lZFxuICBnZXQgcGVybWlzc2lvbnNUb3BpYyQoKSB7XG4gICAgdGhpcy5fcGVybWlzc2lvbnNUb3BpYyQgPz89IG5ldyBQZXJtaXNzaW9uc1RvcGljKClcbiAgICByZXR1cm4gdGhpcy5fcGVybWlzc2lvbnNUb3BpYyRcbiAgfVxuICBzZXQgcGVybWlzc2lvbnNUb3BpYyQodmFsdWU6IFBlcm1pc3Npb25zVG9waWMpIHtcbiAgICB0aGlzLl9wZXJtaXNzaW9uc1RvcGljJCA9IHZhbHVlXG4gIH1cblxuICBwcml2YXRlIG9sZFN0eWxlUGVybWlzc2lvbnNJbml0aWFsaXplZDogUHJvbWlzZTxzdHJpbmdbXT5cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnByb2ZpbGUkXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChwcm9maWxlKSA9PiB7XG4gICAgICAgICAgbGV0IGxvY2FsZXMgPSBwcm9maWxlLnNldHRpbmdzPy5sb2NhbGVzXG5cbiAgICAgICAgICBpZiAoIWxvY2FsZXMpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnVzZU9sZExhbmdTZXR0aW5nKHByb2ZpbGUpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGxvY2FsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBsb2NhbGVzID0gZ2V0Tm9ybWFsaXplZEJyb3dzZXJMb2NhbGVzKClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyB0aGUgbGFuZyQgc2hvdWxkIGNvbnRhaW4gdGhlIGZpcnN0IGxhbmd1YWdlLCBiZWNhdXNlIGxvY2FsZXMgaXMgYW4gb3JkZXJlZCBsaXN0XG4gICAgICAgICAgLy8gbGVuZ3RoIG9mIDIgaXMgY2hlY2tlZCBiZWNhdXNlIHdlIG5lZWQgdGhlIGdlbmVyYWwgbGFuZ3VhZ2VcbiAgICAgICAgICAvLyBuZXZlciBjaG9vc2UgJ2VuLVVTJywgYnV0IGNob29zZSAnZW4nXG4gICAgICAgICAgY29uc3QgZmlyc3RMYW5nID0gbG9jYWxlcy5maW5kKChsKSA9PiBsLmxlbmd0aCA9PT0gMikgPz8gREVGQVVMVF9MQU5HXG4gICAgICAgICAgcmV0dXJuIGZpcnN0TGFuZ1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLmxhbmckKVxuXG4gICAgdGhpcy5vbGRTdHlsZVBlcm1pc3Npb25zSW5pdGlhbGl6ZWQgPSBmaXJzdFZhbHVlRnJvbSh0aGlzLnBlcm1pc3Npb25zJC5waXBlKHNraXAoMSkpKVxuICAgIHRoaXMuZWZmZWN0aXZlUGVybWlzc2lvbnMkID0gbWVyZ2UodGhpcy5wZXJtaXNzaW9ucyQucGlwZShza2lwKDEpKSwgdGhpcy5wZXJtaXNzaW9uc1RvcGljJC5hc09ic2VydmFibGUoKSlcbiAgICB0aGlzLnByb2ZpbGUkXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChwcm9maWxlKSA9PiB0aGlzLmV4dHJhY3RQZXJtaXNzaW9ucyhwcm9maWxlKSksXG4gICAgICAgIGZpbHRlcigocGVybWlzc2lvbnMpOiBwZXJtaXNzaW9ucyBpcyBzdHJpbmdbXSA9PiAhIXBlcm1pc3Npb25zKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLnBlcm1pc3Npb25zJClcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucHJvZmlsZSQuZGVzdHJveSgpXG4gICAgdGhpcy5fcGVybWlzc2lvbnNUb3BpYyQ/LmRlc3Ryb3koKVxuICB9XG5cbiAgdXNlT2xkTGFuZ1NldHRpbmcocHJvZmlsZTogVXNlclByb2ZpbGUpOiBzdHJpbmcge1xuICAgIHJldHVybiBwcm9maWxlLmFjY291bnRTZXR0aW5ncz8ubG9jYWxlQW5kVGltZVNldHRpbmdzPy5sb2NhbGUgPz8gdGhpcy5kZXRlcm1pbmVMYW5ndWFnZSgpID8/IERFRkFVTFRfTEFOR1xuICB9XG5cbiAgZ2V0UGVybWlzc2lvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWZmZWN0aXZlUGVybWlzc2lvbnMkXG4gIH1cblxuICBoYXNQZXJtaXNzaW9uKHBlcm1pc3Npb25LZXk6IHN0cmluZyB8IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocGVybWlzc2lvbktleSkpIHtcbiAgICAgIHJldHVybiBwZXJtaXNzaW9uS2V5LmV2ZXJ5KChrZXkpID0+IHRoaXMuaGFzUGVybWlzc2lvbihrZXkpKVxuICAgIH1cbiAgICBjb25zdCBvbGRDb25jZXB0UmVzdWx0ID0gdGhpcy5wZXJtaXNzaW9ucyQuZ2V0VmFsdWUoKVxuICAgICAgPyB0aGlzLnBlcm1pc3Npb25zJC5nZXRWYWx1ZSgpPy5pbmNsdWRlcyhwZXJtaXNzaW9uS2V5KVxuICAgICAgOiBmYWxzZVxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMucGVybWlzc2lvbnNUb3BpYyQuZ2V0VmFsdWUoKVxuICAgICAgPyB0aGlzLnBlcm1pc3Npb25zVG9waWMkLmdldFZhbHVlKCk/LmluY2x1ZGVzKHBlcm1pc3Npb25LZXkpXG4gICAgICA6IG9sZENvbmNlcHRSZXN1bHRcblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICBjb25zb2xlLmxvZyhg8J+RruKAjeKZgO+4jyBObyBwZXJtaXNzaW9uIGZvcjogJHtwZXJtaXNzaW9uS2V5fWApXG4gICAgfVxuICAgIHJldHVybiAhIXJlc3VsdFxuICB9XG5cbiAgcHJpdmF0ZSBkZXRlcm1pbmVMYW5ndWFnZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJyB8fCB0eXBlb2Ygd2luZG93Lm5hdmlnYXRvciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBsZXQgYnJvd3Nlckxhbmc6IGFueSA9IHdpbmRvdy5uYXZpZ2F0b3IubGFuZ3VhZ2VzID8gd2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZXNbMF0gOiBudWxsXG4gICAgYnJvd3NlckxhbmcgPSBicm93c2VyTGFuZyB8fCB3aW5kb3cubmF2aWdhdG9yLmxhbmd1YWdlXG5cbiAgICBpZiAodHlwZW9mIGJyb3dzZXJMYW5nID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGlmIChicm93c2VyTGFuZy5pbmRleE9mKCctJykgIT09IC0xKSB7XG4gICAgICBicm93c2VyTGFuZyA9IGJyb3dzZXJMYW5nLnNwbGl0KCctJylbMF1cbiAgICB9XG5cbiAgICBpZiAoYnJvd3NlckxhbmcuaW5kZXhPZignXycpICE9PSAtMSkge1xuICAgICAgYnJvd3NlckxhbmcgPSBicm93c2VyTGFuZy5zcGxpdCgnXycpWzBdXG4gICAgfVxuXG4gICAgcmV0dXJuIGJyb3dzZXJMYW5nXG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RQZXJtaXNzaW9ucyh1c2VyUHJvZmlsZTogVXNlclByb2ZpbGUpIHtcbiAgICBpZiAodXNlclByb2ZpbGUpIHtcbiAgICAgIGlmICh1c2VyUHJvZmlsZS5tZW1iZXJzaGlwcykge1xuICAgICAgICBjb25zdCBwZXJtaXNzaW9uczogc3RyaW5nW10gPSBbXVxuICAgICAgICB1c2VyUHJvZmlsZS5tZW1iZXJzaGlwcy5mb3JFYWNoKChtKSA9PiB7XG4gICAgICAgICAgbS5yb2xlTWVtYmVyc2hpcHM/LmZvckVhY2goKHIpID0+IHtcbiAgICAgICAgICAgIHIucGVybWlzc2lvbnM/LmZvckVhY2goKHApID0+IHtcbiAgICAgICAgICAgICAgaWYgKHApIHtcbiAgICAgICAgICAgICAgICBpZiAocC5rZXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgcGVybWlzc2lvbnMucHVzaChwLmtleSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIHBlcm1pc3Npb25zXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBnZXQgaXNJbml0aWFsaXplZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoW1xuICAgICAgUHJvbWlzZS5yYWNlKFt0aGlzLnBlcm1pc3Npb25zVG9waWMkLmlzSW5pdGlhbGl6ZWQsIHRoaXMub2xkU3R5bGVQZXJtaXNzaW9uc0luaXRpYWxpemVkXSksXG4gICAgICB0aGlzLnByb2ZpbGUkLmlzSW5pdGlhbGl6ZWQsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgXSkudGhlbigoKSA9PiB7fSlcbiAgfVxufVxuIl19
|
|
@@ -3,7 +3,7 @@ import * as i1 from '@angular/common/http';
|
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Injectable, InjectionToken, Optional, Inject } from '@angular/core';
|
|
5
5
|
import { BehaviorSubject, firstValueFrom, map, skip, merge, filter, combineLatest, of, first, mergeMap, from, zip, tap, isObservable } from 'rxjs';
|
|
6
|
-
import { GlobalErrorTopic, GlobalLoadingTopic, CurrentMfeTopic, CurrentLocationTopic, CurrentPageTopic, CurrentWorkspaceTopic, IsAuthenticatedTopic, ConfigurationTopic,
|
|
6
|
+
import { GlobalErrorTopic, GlobalLoadingTopic, CurrentMfeTopic, CurrentLocationTopic, CurrentPageTopic, CurrentWorkspaceTopic, IsAuthenticatedTopic, ConfigurationTopic, PermissionsTopic, UserProfileTopic, MessageTopic, CurrentThemeTopic, RemoteComponentsTopic } from '@onecx/integration-interface';
|
|
7
7
|
import { getNormalizedBrowserLocales } from '@onecx/accelerator';
|
|
8
8
|
import * as i1$1 from '@ngx-translate/core';
|
|
9
9
|
|
|
@@ -45,21 +45,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
45
45
|
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
46
46
|
|
|
47
47
|
class AppStateService {
|
|
48
|
-
|
|
49
|
-
this.
|
|
50
|
-
this.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
this.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
48
|
+
get globalError$() {
|
|
49
|
+
this._globalError$ ??= new GlobalErrorTopic();
|
|
50
|
+
return this._globalError$;
|
|
51
|
+
}
|
|
52
|
+
set globalError$(value) {
|
|
53
|
+
this._globalError$ = value;
|
|
54
|
+
}
|
|
55
|
+
get globalLoading$() {
|
|
56
|
+
this._globalLoading$ ??= new GlobalLoadingTopic();
|
|
57
|
+
return this._globalLoading$;
|
|
58
|
+
}
|
|
59
|
+
set globalLoading$(value) {
|
|
60
|
+
this._globalLoading$ = value;
|
|
61
|
+
}
|
|
62
|
+
get currentMfe$() {
|
|
63
|
+
this._currentMfe$ ??= new CurrentMfeTopic();
|
|
64
|
+
return this._currentMfe$;
|
|
65
|
+
}
|
|
66
|
+
set currentMfe$(value) {
|
|
67
|
+
this._currentMfe$ = value;
|
|
68
|
+
}
|
|
69
|
+
get currentLocation$() {
|
|
70
|
+
this._currentLocation$ ??= new CurrentLocationTopic();
|
|
71
|
+
return this._currentLocation$;
|
|
72
|
+
}
|
|
73
|
+
set currentLocation$(value) {
|
|
74
|
+
this._currentLocation$ = value;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* This topic will only fire when pageInfo.path matches document.location.pathname,
|
|
78
|
+
* if not it will fire undefined.
|
|
79
|
+
*/
|
|
80
|
+
get currentPage$() {
|
|
81
|
+
this._currentPage$ ??= new CurrentPageTopic();
|
|
82
|
+
return this._currentPage$;
|
|
83
|
+
}
|
|
84
|
+
set currentPage$(value) {
|
|
85
|
+
this._currentPage$ = value;
|
|
86
|
+
}
|
|
87
|
+
get currentWorkspace$() {
|
|
88
|
+
this._currentWorkspace$ ??= new CurrentWorkspaceTopic();
|
|
89
|
+
return this._currentWorkspace$;
|
|
90
|
+
}
|
|
91
|
+
set currentWorkspace$(value) {
|
|
92
|
+
this._currentWorkspace$ = value;
|
|
63
93
|
}
|
|
64
94
|
/**
|
|
65
95
|
* @deprecated Will be replaced by currentWorkspace$
|
|
@@ -68,17 +98,23 @@ class AppStateService {
|
|
|
68
98
|
return this.currentWorkspace$;
|
|
69
99
|
}
|
|
70
100
|
set currentPortal$(value) {
|
|
71
|
-
this.
|
|
101
|
+
this._currentWorkspace$ = value;
|
|
102
|
+
}
|
|
103
|
+
get isAuthenticated$() {
|
|
104
|
+
this._isAuthenticated$ ??= new IsAuthenticatedTopic();
|
|
105
|
+
return this._isAuthenticated$;
|
|
106
|
+
}
|
|
107
|
+
set isAuthenticated$(value) {
|
|
108
|
+
this._isAuthenticated$ = value;
|
|
72
109
|
}
|
|
73
110
|
ngOnDestroy() {
|
|
74
|
-
this.
|
|
75
|
-
this.
|
|
76
|
-
this.
|
|
77
|
-
this.
|
|
78
|
-
this.
|
|
79
|
-
this.
|
|
80
|
-
this.
|
|
81
|
-
this.isAuthenticated$.destroy();
|
|
111
|
+
this._globalError$?.destroy();
|
|
112
|
+
this._globalLoading$?.destroy();
|
|
113
|
+
this._currentMfe$?.destroy();
|
|
114
|
+
this._currentPage$?.destroy();
|
|
115
|
+
this._currentLocation$?.destroy();
|
|
116
|
+
this._currentWorkspace$?.destroy();
|
|
117
|
+
this._isAuthenticated$?.destroy();
|
|
82
118
|
}
|
|
83
119
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
84
120
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppStateService, providedIn: 'root' }); }
|
|
@@ -130,13 +166,19 @@ var CONFIG_KEY;
|
|
|
130
166
|
})(CONFIG_KEY || (CONFIG_KEY = {}));
|
|
131
167
|
|
|
132
168
|
class ConfigurationService {
|
|
169
|
+
get config$() {
|
|
170
|
+
this._config$ ??= new ConfigurationTopic();
|
|
171
|
+
return this._config$;
|
|
172
|
+
}
|
|
173
|
+
set config$(value) {
|
|
174
|
+
this._config$ = value;
|
|
175
|
+
}
|
|
133
176
|
constructor(http, defaultConfig) {
|
|
134
177
|
this.http = http;
|
|
135
178
|
this.defaultConfig = defaultConfig;
|
|
136
|
-
this.config$ = new ConfigurationTopic();
|
|
137
179
|
}
|
|
138
180
|
ngOnDestroy() {
|
|
139
|
-
this.
|
|
181
|
+
this._config$?.destroy();
|
|
140
182
|
}
|
|
141
183
|
init() {
|
|
142
184
|
return new Promise((resolve, reject) => {
|
|
@@ -202,11 +244,17 @@ const API_PREFIX = 'portal-api';
|
|
|
202
244
|
const DEFAULT_LANG = 'en';
|
|
203
245
|
|
|
204
246
|
class UserService {
|
|
247
|
+
get permissionsTopic$() {
|
|
248
|
+
this._permissionsTopic$ ??= new PermissionsTopic();
|
|
249
|
+
return this._permissionsTopic$;
|
|
250
|
+
}
|
|
251
|
+
set permissionsTopic$(value) {
|
|
252
|
+
this._permissionsTopic$ = value;
|
|
253
|
+
}
|
|
205
254
|
constructor() {
|
|
206
255
|
this.profile$ = new UserProfileTopic();
|
|
207
256
|
this.permissions$ = new BehaviorSubject([]);
|
|
208
257
|
this.lang$ = new BehaviorSubject(this.determineLanguage() ?? DEFAULT_LANG);
|
|
209
|
-
this.permissionsTopic$ = new PermissionsTopic();
|
|
210
258
|
this.profile$
|
|
211
259
|
.pipe(map((profile) => {
|
|
212
260
|
let locales = profile.settings?.locales;
|
|
@@ -231,6 +279,7 @@ class UserService {
|
|
|
231
279
|
}
|
|
232
280
|
ngOnDestroy() {
|
|
233
281
|
this.profile$.destroy();
|
|
282
|
+
this._permissionsTopic$?.destroy();
|
|
234
283
|
}
|
|
235
284
|
useOldLangSetting(profile) {
|
|
236
285
|
return profile.accountSettings?.localeAndTimeSettings?.locale ?? this.determineLanguage() ?? DEFAULT_LANG;
|
|
@@ -308,7 +357,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
308
357
|
class PortalMessageService {
|
|
309
358
|
constructor(translateService) {
|
|
310
359
|
this.translateService = translateService;
|
|
311
|
-
|
|
360
|
+
}
|
|
361
|
+
get message$() {
|
|
362
|
+
this._message$ ??= new MessageTopic();
|
|
363
|
+
return this._message$;
|
|
364
|
+
}
|
|
365
|
+
set message$(value) {
|
|
366
|
+
this._message$ = value;
|
|
312
367
|
}
|
|
313
368
|
success(msg) {
|
|
314
369
|
this.addTranslated('success', msg);
|
|
@@ -338,7 +393,7 @@ class PortalMessageService {
|
|
|
338
393
|
});
|
|
339
394
|
}
|
|
340
395
|
ngOnDestroy() {
|
|
341
|
-
this.
|
|
396
|
+
this._message$?.destroy();
|
|
342
397
|
}
|
|
343
398
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PortalMessageService, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
344
399
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PortalMessageService, providedIn: 'any' }); }
|
|
@@ -350,11 +405,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
350
405
|
|
|
351
406
|
const defaultThemeServerUrl = 'http://portal-theme-management:8080';
|
|
352
407
|
class ThemeService {
|
|
408
|
+
get currentTheme$() {
|
|
409
|
+
this._currentTheme$ ??= new CurrentThemeTopic();
|
|
410
|
+
return this._currentTheme$;
|
|
411
|
+
}
|
|
412
|
+
set currentTheme$(value) {
|
|
413
|
+
this._currentTheme$ = value;
|
|
414
|
+
}
|
|
353
415
|
constructor(configService, http) {
|
|
354
416
|
this.configService = configService;
|
|
355
417
|
this.http = http;
|
|
356
418
|
this.baseUrlV1 = './portal-api';
|
|
357
|
-
this.currentTheme$ = new CurrentThemeTopic();
|
|
358
419
|
}
|
|
359
420
|
getThemeHref(themeId) {
|
|
360
421
|
const themeServerUrl = this.configService.getProperty(CONFIG_KEY.TKIT_PORTAL_THEME_SERVER_URL) || defaultThemeServerUrl;
|
|
@@ -377,7 +438,7 @@ class ThemeService {
|
|
|
377
438
|
}
|
|
378
439
|
}
|
|
379
440
|
ngOnDestroy() {
|
|
380
|
-
this.
|
|
441
|
+
this._currentTheme$?.destroy();
|
|
381
442
|
}
|
|
382
443
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ThemeService, deps: [{ token: ConfigurationService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
383
444
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
|
|
@@ -388,11 +449,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
388
449
|
}], ctorParameters: () => [{ type: ConfigurationService }, { type: i1.HttpClient }] });
|
|
389
450
|
|
|
390
451
|
class RemoteComponentsService {
|
|
391
|
-
|
|
392
|
-
this.
|
|
452
|
+
get remoteComponents$() {
|
|
453
|
+
this._remoteComponents$ ??= new RemoteComponentsTopic();
|
|
454
|
+
return this._remoteComponents$;
|
|
455
|
+
}
|
|
456
|
+
set remoteComponents$(value) {
|
|
457
|
+
this._remoteComponents$ = value;
|
|
393
458
|
}
|
|
394
459
|
ngOnDestroy() {
|
|
395
|
-
this.
|
|
460
|
+
this._remoteComponents$?.destroy();
|
|
396
461
|
}
|
|
397
462
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RemoteComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
398
463
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RemoteComponentsService, providedIn: 'root' }); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onecx-angular-integration-interface.mjs","sources":["../../../../libs/angular-integration-interface/src/lib/services/app-config-service.ts","../../../../libs/angular-integration-interface/src/lib/services/app-state.service.ts","../../../../libs/angular-integration-interface/src/lib/api/injection-tokens.ts","../../../../libs/angular-integration-interface/src/lib/model/config-key.model.ts","../../../../libs/angular-integration-interface/src/lib/services/configuration.service.ts","../../../../libs/angular-integration-interface/src/lib/api/constants.ts","../../../../libs/angular-integration-interface/src/lib/services/user.service.ts","../../../../libs/angular-integration-interface/src/lib/services/portal-message.service.ts","../../../../libs/angular-integration-interface/src/lib/services/theme.service.ts","../../../../libs/angular-integration-interface/src/lib/services/remote-components.service.ts","../../../../libs/angular-integration-interface/src/lib/services/initialize-module-guard.service.ts","../../../../libs/angular-integration-interface/src/lib/services/workspace.service.ts","../../../../libs/angular-integration-interface/src/lib/services/shell-capability.service.ts","../../../../libs/angular-integration-interface/src/lib/utils/add-initialize-module-guard.utils.ts","../../../../libs/angular-integration-interface/src/index.ts","../../../../libs/angular-integration-interface/src/onecx-angular-integration-interface.ts"],"sourcesContent":["import { Location } from '@angular/common'\nimport { HttpClient } from '@angular/common/http'\nimport { Injectable } from '@angular/core'\nimport { Config } from '@onecx/integration-interface'\nimport { BehaviorSubject, firstValueFrom } from 'rxjs'\n\n@Injectable()\nexport class AppConfigService {\n config$ = new BehaviorSubject<{ [key: string]: string }>({})\n\n constructor(private http: HttpClient) {}\n\n public init(baseUrl: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const loadConfigPromise: Promise<Config> = firstValueFrom(\n this.http.get<Config>(Location.joinWithSlash(baseUrl, 'assets/env.json'))\n )\n\n loadConfigPromise\n .then(async (config) => {\n if (config) {\n this.config$.next(config)\n resolve()\n }\n })\n .catch((e) => {\n console.log(`Failed to load env configuration`)\n reject(e)\n })\n })\n }\n\n public getProperty(key: string): string | undefined {\n return this.config$.getValue()?.[key]\n }\n\n public setProperty(key: string, val: string) {\n this.config$.next({ ...this.config$.value, [key]: val })\n }\n\n public getConfig(): { [key: string]: string } {\n return this.config$.getValue()\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core'\nimport {\n GlobalErrorTopic,\n GlobalLoadingTopic,\n CurrentMfeTopic,\n CurrentPageTopic,\n CurrentWorkspaceTopic,\n IsAuthenticatedTopic,\n CurrentLocationTopic,\n} from '@onecx/integration-interface'\n\n@Injectable({ providedIn: 'root' })\nexport class AppStateService implements OnDestroy {\n globalError$ = new GlobalErrorTopic()\n globalLoading$ = new GlobalLoadingTopic()\n currentMfe$ = new CurrentMfeTopic()\n currentLocation$ = new CurrentLocationTopic()\n\n /**\n * This topic will only fire when pageInfo.path matches document.location.pathname,\n * if not it will fire undefined.\n */\n currentPage$ = new CurrentPageTopic()\n currentWorkspace$ = new CurrentWorkspaceTopic()\n \n /**\n * @deprecated Will be replaced by currentWorkspace$\n */\n get currentPortal$() {\n return this.currentWorkspace$\n }\n set currentPortal$(value: CurrentWorkspaceTopic) {\n this.currentWorkspace$ = value\n }\n\n /**\n * This Topic is initialized as soon as the authentication is done\n */\n isAuthenticated$ = new IsAuthenticatedTopic()\n\n ngOnDestroy(): void {\n this.globalError$.destroy()\n this.globalLoading$.destroy()\n this.currentMfe$.destroy()\n this.currentPage$.destroy()\n this.currentPortal$.destroy()\n this.currentLocation$.destroy()\n this.currentWorkspace$.destroy()\n this.isAuthenticated$.destroy()\n }\n}\n","import { InjectionToken } from '@angular/core'\nimport { IAuthService } from './iauth.service'\n\nexport interface LibConfig {\n appId: string\n portalId: string\n /**\n * If true, the tkit-module will not try to load remote env values from server(GET /assets/env.json)\n */\n skipRemoteConfigLoad: boolean\n /**\n * URL from which the remote config will be loaded, default: '/assets/env.json'\n */\n remoteConfigURL: string\n}\nexport const APP_CONFIG = new InjectionToken<LibConfig>('APP_CONFIG')\n\n/**\n * @deprecated\n * Please do not inject the auth service at all.\n * There are better ways to achieve what you want. Please use permission service or user service.\n */\nexport const AUTH_SERVICE = new InjectionToken<IAuthService>('AUTH_SERVICE')\n\nexport const SANITY_CHECK = new InjectionToken<string>('OCXSANITY_CHECK')\n\nexport const APPLICATION_NAME = new InjectionToken<string>('APPLICATION_NAME')\n","export enum CONFIG_KEY {\n TKIT_PORTAL_DEFAULT_THEME = 'TKIT_PORTAL_DEFAULT_THEME',\n TKIT_PORTAL_DISABLE_THEME_MANAGEMENT = 'TKIT_PORTAL_DISABLE_THEME_MANAGEMENT',\n TKIT_PORTAL_THEME_SERVER_URL = 'TKIT_PORTAL_THEME_SERVER_URL',\n TKIT_TOKEN_ROLE_CLAIM_NAME = 'TKIT_TOKEN_ROLE_CLAIM_NAME',\n TKIT_PORTAL_ID = 'TKIT_PORTAL_ID',\n TKIT_SUPPORTED_LANGUAGES = 'TKIT_SUPPORTED_LANGUAGES',\n TKIT_SEARCH_BASE_URL = 'TKIT_SEARCH_BASE_URL',\n APP_BASE_HREF = 'APP_BASE_HREF',\n KEYCLOAK_REALM = 'KEYCLOAK_REALM',\n KEYCLOAK_ENABLE_SILENT_SSO = 'KEYCLOAK_ENABLE_SILENT_SSO',\n KEYCLOAK_URL = 'KEYCLOAK_URL',\n KEYCLOAK_CLIENT_ID = 'KEYCLOAK_CLIENT_ID',\n ONECX_PORTAL_FAVORITES_DISABLED = 'ONECX_PORTAL_FAVORITES_DISABLED',\n ONECX_PORTAL_FEEDBACK_DISABLED = 'ONECX_PORTAL_FEEDBACK_DISABLED',\n ONECX_PORTAL_SEARCH_DISABLED = 'ONECX_PORTAL_SEARCH_DISABLED',\n ONECX_PORTAL_SUPPORT_TICKET_DISABLED = 'ONECX_PORTAL_SUPPORT_TICKET_DISABLED',\n ONECX_PORTAL_ANNOUNCEMENTS_DISABLED = 'ONECX_PORTAL_ANNOUNCEMENTS_DISABLED',\n ONECX_PORTAL_PASSWORD_CHANGE_DISABLED = 'ONECX_PORTAL_PASSWORD_CHANGE_DISABLED',\n ONECX_PORTAL_SETTINGS_DISABLED = 'ONECX_PORTAL_SETTINGS_DISABLED',\n ONECX_PORTAL_MY_ROLES_PERMISSIONS_DISABLED = 'ONECX_PORTAL_MY_ROLES_PERMISSIONS_DISABLED',\n ONECX_PORTAL_HELP_DISABLED = 'ONECX_PORTAL_HELP_DISABLED',\n ONECX_PORTAL_SEARCH_BUTTONS_REVERSED = 'ONECX_PORTAL_SEARCH_BUTTONS_REVERSED',\n APP_VERSION = 'APP_VERSION',\n IS_SHELL = 'IS_SHELL',\n AUTH_SERVICE = 'AUTH_SERVICE',\n AUTH_SERVICE_CUSTOM_URL = 'AUTH_SERVICE_CUSTOM_URL',\n AUTH_SERVICE_CUSTOM_MODULE_NAME = 'AUTH_SERVICE_CUSTOM_MODULE_NAME',\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable, OnDestroy, Optional } from '@angular/core'\nimport { firstValueFrom } from 'rxjs'\nimport { Config, ConfigurationTopic } from '@onecx/integration-interface'\nimport { APP_CONFIG } from '../api/injection-tokens'\nimport { CONFIG_KEY } from '../model/config-key.model'\n\n@Injectable({ providedIn: 'root' })\nexport class ConfigurationService implements OnDestroy {\n config$ = new ConfigurationTopic()\n\n constructor(\n private http: HttpClient,\n @Optional() @Inject(APP_CONFIG) private defaultConfig?: { [key: string]: string }\n ) {}\n\n ngOnDestroy(): void {\n this.config$.destroy()\n }\n\n public init(): Promise<boolean> {\n return new Promise((resolve, reject) => {\n const skipRemoteConfigLoad = this.defaultConfig && this.defaultConfig['skipRemoteConfigLoad']\n let loadConfigPromise: Promise<Config>\n\n const inlinedConfig = (window as typeof window & { APP_CONFIG: Config })['APP_CONFIG']\n if (inlinedConfig) {\n console.log(`ENV resolved from injected config`)\n loadConfigPromise = Promise.resolve(inlinedConfig)\n } else {\n if (skipRemoteConfigLoad) {\n console.log(\n '📢 TKA001: Remote config load is disabled. To enable it, remove the \"skipRemoteConfigLoad\" key in your environment.json'\n )\n loadConfigPromise = Promise.resolve(this.defaultConfig || {})\n } else {\n loadConfigPromise = firstValueFrom(\n this.http.get<Config>((this.defaultConfig && this.defaultConfig['remoteConfigURL']) || 'assets/env.json')\n )\n }\n }\n\n loadConfigPromise\n .then(async (config) => {\n await this.config$.publish({ ...this.defaultConfig, ...(config ?? {}) }).then(() => {\n resolve(true)\n })\n })\n .catch((e) => {\n console.log(`Failed to load env configuration`)\n reject(e)\n })\n })\n }\n\n get isInitialized(): Promise<void> {\n return this.config$.isInitialized\n }\n\n public getProperty(key: CONFIG_KEY): string | undefined {\n if (!Object.values(CONFIG_KEY).includes(key)) {\n console.error('Invalid config key ', key)\n }\n return this.config$.getValue()?.[key]\n }\n\n public async setProperty(key: string, val: string): Promise<void> {\n const currentValues = await firstValueFrom(this.config$.asObservable())\n currentValues[key] = val\n await this.config$.publish(currentValues)\n }\n\n public getConfig(): Config | undefined {\n return this.config$.getValue()\n }\n}\n","export const API_PREFIX = 'portal-api'\n\nexport const DEFAULT_LANG = 'en'\n","import { Injectable, OnDestroy } from '@angular/core'\nimport { BehaviorSubject, map, filter, firstValueFrom, skip, Observable, merge } from 'rxjs'\nimport { PermissionsTopic, UserProfile, UserProfileTopic } from '@onecx/integration-interface'\nimport { DEFAULT_LANG } from '../api/constants'\nimport { getNormalizedBrowserLocales } from '@onecx/accelerator'\n\n@Injectable({ providedIn: 'root' })\nexport class UserService implements OnDestroy {\n profile$ = new UserProfileTopic()\n permissions$ = new BehaviorSubject<string[]>([])\n lang$ = new BehaviorSubject(this.determineLanguage() ?? DEFAULT_LANG)\n\n private effectivePermissions$: Observable<string[]>\n private permissionsTopic$ = new PermissionsTopic()\n private oldStylePermissionsInitialized: Promise<string[]>\n\n constructor() {\n this.profile$\n .pipe(\n map((profile) => {\n let locales = profile.settings?.locales\n\n if (!locales) {\n return this.useOldLangSetting(profile)\n }\n\n if (locales.length === 0) {\n locales = getNormalizedBrowserLocales()\n }\n\n // the lang$ should contain the first language, because locales is an ordered list\n // length of 2 is checked because we need the general language\n // never choose 'en-US', but choose 'en'\n const firstLang = locales.find((l) => l.length === 2) ?? DEFAULT_LANG\n return firstLang\n })\n )\n .subscribe(this.lang$)\n\n this.oldStylePermissionsInitialized = firstValueFrom(this.permissions$.pipe(skip(1)))\n this.effectivePermissions$ = merge(this.permissions$.pipe(skip(1)), this.permissionsTopic$.asObservable())\n this.profile$\n .pipe(\n map((profile) => this.extractPermissions(profile)),\n filter((permissions): permissions is string[] => !!permissions)\n )\n .subscribe(this.permissions$)\n }\n\n ngOnDestroy(): void {\n this.profile$.destroy()\n }\n\n useOldLangSetting(profile: UserProfile): string {\n return profile.accountSettings?.localeAndTimeSettings?.locale ?? this.determineLanguage() ?? DEFAULT_LANG\n }\n\n getPermissions() {\n return this.effectivePermissions$\n }\n\n hasPermission(permissionKey: string | string[]): boolean {\n if (Array.isArray(permissionKey)) {\n return permissionKey.every((key) => this.hasPermission(key))\n }\n const oldConceptResult = this.permissions$.getValue()\n ? this.permissions$.getValue()?.includes(permissionKey)\n : false\n const result = this.permissionsTopic$.getValue()\n ? this.permissionsTopic$.getValue()?.includes(permissionKey)\n : oldConceptResult\n\n if (!result) {\n console.log(`👮♀️ No permission for: ${permissionKey}`)\n }\n return !!result\n }\n\n private determineLanguage(): string | undefined {\n if (typeof window === 'undefined' || typeof window.navigator === 'undefined') {\n return undefined\n }\n\n let browserLang: any = window.navigator.languages ? window.navigator.languages[0] : null\n browserLang = browserLang || window.navigator.language\n\n if (typeof browserLang === 'undefined') {\n return undefined\n }\n\n if (browserLang.indexOf('-') !== -1) {\n browserLang = browserLang.split('-')[0]\n }\n\n if (browserLang.indexOf('_') !== -1) {\n browserLang = browserLang.split('_')[0]\n }\n\n return browserLang\n }\n\n private extractPermissions(userProfile: UserProfile) {\n if (userProfile) {\n if (userProfile.memberships) {\n const permissions: string[] = []\n userProfile.memberships.forEach((m) => {\n m.roleMemberships?.forEach((r) => {\n r.permissions?.forEach((p) => {\n if (p) {\n if (p.key !== undefined) {\n permissions.push(p.key)\n }\n }\n })\n })\n })\n return permissions\n }\n }\n return null\n }\n\n get isInitialized(): Promise<void> {\n return Promise.all([\n Promise.race([this.permissionsTopic$.isInitialized, this.oldStylePermissionsInitialized]),\n this.profile$.isInitialized,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n ]).then(() => {})\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core'\nimport { TranslateService } from '@ngx-translate/core'\nimport { combineLatest, first, of } from 'rxjs'\nimport { MessageTopic } from '@onecx/integration-interface'\n\nexport type Message = {\n summaryKey?: string\n summaryParameters?: object\n detailKey?: string\n detailParameters?: object\n id?: any\n key?: string\n life?: number\n sticky?: boolean\n closable?: boolean\n data?: any\n icon?: string\n contentStyleClass?: string\n styleClass?: string\n}\n\n@Injectable({ providedIn: 'any' })\nexport class PortalMessageService implements OnDestroy {\n constructor(private translateService: TranslateService) {}\n\n message$ = new MessageTopic()\n\n success(msg: Message) {\n this.addTranslated('success', msg)\n }\n\n info(msg: Message) {\n this.addTranslated('info', msg)\n }\n\n error(msg: Message) {\n this.addTranslated('error', msg)\n }\n\n warning(msg: Message) {\n this.addTranslated('warning', msg)\n }\n\n private addTranslated(severity: string, msg: Message) {\n combineLatest([\n msg.summaryKey ? this.translateService.get(msg.summaryKey || '', msg.summaryParameters) : of(undefined),\n msg.detailKey ? this.translateService.get(msg.detailKey, msg.detailParameters) : of(undefined),\n ])\n .pipe(first())\n .subscribe(([summaryTranslation, detailTranslation]: string[]) => {\n this.message$.publish({\n ...msg,\n severity: severity,\n summary: summaryTranslation,\n detail: detailTranslation,\n })\n })\n }\n\n ngOnDestroy(): void {\n this.message$.destroy()\n }\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Injectable, OnDestroy } from '@angular/core'\nimport { from, map, mergeMap } from 'rxjs'\nimport { CurrentThemeTopic, Theme } from '@onecx/integration-interface'\nimport { ConfigurationService } from './configuration.service'\nimport { CONFIG_KEY } from '../model/config-key.model'\n\nconst defaultThemeServerUrl = 'http://portal-theme-management:8080'\n\n@Injectable({ providedIn: 'root' })\nexport class ThemeService implements OnDestroy {\n baseUrlV1 = './portal-api'\n currentTheme$ = new CurrentThemeTopic()\n\n constructor(private configService: ConfigurationService, private http: HttpClient) {}\n\n getThemeHref(themeId: string): string {\n const themeServerUrl =\n this.configService.getProperty(CONFIG_KEY.TKIT_PORTAL_THEME_SERVER_URL) || defaultThemeServerUrl\n return `${themeServerUrl}/themes/${themeId}/${themeId}.min.css`\n }\n\n public loadAndApplyTheme(themeName: string) {\n return this.http.get<Theme>(`${this.baseUrlV1}/internal/themes/${encodeURI(themeName)}`).pipe(\n mergeMap((theme) => {\n return from(this.apply(theme)).pipe(map(() => theme))\n })\n )\n }\n\n public async apply(theme: Theme): Promise<void> {\n console.log(`🎨 Applying theme: ${theme.name}`)\n await this.currentTheme$.publish(theme)\n if (theme.properties) {\n Object.values(theme.properties).forEach((group) => {\n for (const [key, value] of Object.entries(group)) {\n document.documentElement.style.setProperty(`--${key}`, value)\n }\n })\n }\n }\n\n ngOnDestroy(): void {\n this.currentTheme$.destroy()\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core'\nimport { RemoteComponentsTopic } from '@onecx/integration-interface'\n\n@Injectable({ providedIn: 'root' })\nexport class RemoteComponentsService implements OnDestroy {\n remoteComponents$ = new RemoteComponentsTopic()\n\n ngOnDestroy(): void {\n this.remoteComponents$.destroy()\n }\n}\n","import { Injectable } from '@angular/core'\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router'\nimport { TranslateService } from '@ngx-translate/core'\nimport { filter, from, isObservable, map, mergeMap, Observable, of, tap, zip } from 'rxjs'\nimport { AppStateService } from './app-state.service';\nimport { ConfigurationService } from './configuration.service';\nimport { UserService } from './user.service';\n\n@Injectable({ providedIn: 'any' })\nexport class InitializeModuleGuard implements CanActivate {\n private SUPPORTED_LANGS = ['en', 'de']\n private DEFAULT_LANG = 'en'\n constructor(\n protected translateService: TranslateService,\n protected configService: ConfigurationService,\n protected appStateService: AppStateService,\n protected userService: UserService\n ) {}\n\n canActivate(\n _route: ActivatedRouteSnapshot,\n _state: RouterStateSnapshot\n ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n console.time('InitializeModuleGuard')\n return zip([\n this.loadTranslations(),\n from(this.configService.isInitialized),\n from(this.userService.isInitialized),\n from(this.appStateService.currentWorkspace$.isInitialized),\n ]).pipe(\n tap(() => {\n console.timeEnd('InitializeModuleGuard')\n }),\n map(() => true)\n )\n }\n\n getBestMatchLanguage(lang: string) {\n if (this.SUPPORTED_LANGS.includes(lang)) {\n return lang\n } else {\n console.log(`${lang} is not supported. Using ${this.DEFAULT_LANG} as a fallback.`)\n }\n return this.DEFAULT_LANG\n }\n\n loadTranslations(): Observable<boolean> {\n return this.userService.lang$.pipe(\n filter((v) => v !== undefined),\n mergeMap((lang) => {\n const bestMatchLang = this.getBestMatchLanguage(lang as string)\n return this.translateService.use(bestMatchLang)\n }),\n mergeMap(() => of(true))\n )\n }\n\n protected toObservable(\n canActivateResult: Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree\n ): Observable<boolean | UrlTree> {\n if (isObservable(canActivateResult)) {\n return canActivateResult\n }\n return from(Promise.resolve(canActivateResult))\n }\n}\n","import { Injectable } from '@angular/core'\nimport { AppStateService } from './app-state.service'\nimport { Observable, map } from 'rxjs'\nimport { Route } from '@onecx/integration-interface'\nimport { Endpoint } from '@onecx/integration-interface'\nimport { Location } from '@angular/common'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WorkspaceService {\n private aliasStart = '[['\n private aliasEnd = ']]'\n private paramStart = '{'\n private paramEnd = '}'\n\n constructor(protected appStateService: AppStateService) {}\n\n getUrl(\n productName: string,\n appId: string,\n endpointName?: string,\n endpointParameters?: Record<string, unknown>\n ): Observable<string> {\n return this.appStateService.currentWorkspace$.pipe(\n map((workspace) => {\n const finalUrl = this.constructRouteUrl(workspace, appId, productName, endpointName, endpointParameters)\n return finalUrl\n })\n )\n }\n\n doesUrlExistFor(productName: string, appId: string, endpointName?: string): Observable<boolean> {\n return this.appStateService.currentWorkspace$.pipe(\n map((workspace) => {\n const checkEndpoint = endpointName !== undefined && endpointName.length > 0\n\n if (workspace.routes == undefined) {\n return false\n }\n const route = this.filterRouteFromList(workspace.routes, appId, productName)\n\n if (checkEndpoint) {\n if (!route || route.endpoints === undefined || route.endpoints.length == 0) {\n return false\n }\n\n const endpoint = route.endpoints.find((ep) => ep.name === endpointName)\n return !!(endpoint && endpoint.path && endpoint.path.length > 0)\n } else {\n return !!(route && route.baseUrl && route.baseUrl.length > 0)\n }\n })\n )\n }\n\n private constructBaseUrlFromWorkspace(workspace: any): string {\n if (workspace.baseUrl === undefined) {\n console.log('WARNING: There was no baseUrl for received workspace.')\n return ''\n }\n return workspace.baseUrl\n }\n\n private constructRouteUrl(\n workspace: any,\n appId: string,\n productName: string,\n endpointName?: string,\n endpointParameters?: Record<string, unknown>\n ): string {\n const route = this.filterRouteFromList(workspace.routes, appId, productName)\n let url = this.constructBaseUrlFromWorkspace(workspace)\n if (!route) {\n console.log(\n `WARNING: No route.baseUrl could be found for given appId \"${appId}\" and productName \"${productName}\"`\n )\n\n return url\n }\n\n if (route.baseUrl !== undefined && route.baseUrl.length > 0) {\n url = route.baseUrl\n }\n if (endpointName == undefined) {\n return url\n }\n\n url = Location.joinWithSlash(url, this.constructEndpointUrl(route, endpointName, endpointParameters))\n return url\n }\n\n private constructEndpointUrl(\n route: any,\n endpointName: string,\n endpointParameters: Record<string, unknown> = {}\n ): string {\n if (!route.endpoints) {\n return ''\n }\n const finalEndpoint = this.dissolveEndpoint(endpointName, route.endpoints)\n if (!finalEndpoint || finalEndpoint.path === undefined) {\n console.log('WARNING: No endpoint or endpoint.path could be found')\n return ''\n }\n\n const paramsFilled = this.fillParamsForPath(finalEndpoint.path, endpointParameters)\n if (paramsFilled === undefined) {\n console.log('WARNING: Params could not be filled correctly')\n return ''\n }\n\n return paramsFilled\n }\n\n private filterRouteFromList(routes: Array<Route>, appId: string, productName: string): Route | undefined {\n if (!routes) {\n return undefined\n }\n\n const productRoutes = routes.filter((route) => route.appId === appId && route.productName === productName)\n\n if (productRoutes.length === 0) {\n return undefined\n }\n\n if (productRoutes.length > 1) {\n console.log('WARNING: There were more than one route. First route has been used.')\n }\n\n return productRoutes[0]\n }\n\n private dissolveEndpoint(endpointName: string, endpoints: Array<Endpoint>): Endpoint | undefined {\n let endpoint = endpoints.find((ep) => ep.name === endpointName)\n\n if (!endpoint) {\n return undefined\n }\n\n while (endpoint.path?.includes(this.aliasStart)) {\n const path: string = endpoint.path\n const startIdx = path.indexOf(this.aliasStart) + this.aliasStart.length\n const endIdx = path.lastIndexOf(this.aliasEnd)\n if (endIdx <= startIdx) {\n return undefined\n }\n const aliasName = path.substring(startIdx, endIdx)\n endpoint = endpoints.find((ep) => ep.name === aliasName)\n\n if (!endpoint) {\n return undefined\n }\n }\n\n return endpoint\n }\n\n private fillParamsForPath(path: string, endpointParameters: Record<string, unknown>): string {\n while (path.includes(this.paramStart)) {\n const paramName = path.substring(\n path.indexOf(this.paramStart) + this.paramStart.length,\n path.indexOf(this.paramEnd)\n )\n const paramValue = this.getStringFromUnknown(endpointParameters[paramName])\n if (paramValue != undefined && paramValue.length > 0) {\n path = path.replace(this.paramStart.concat(paramName).concat(this.paramEnd), paramValue)\n } else {\n console.log(`WARNING: Searched param \"${paramName}\" was not found in given param list `)\n return ''\n }\n }\n return path\n }\n\n private getStringFromUnknown(value: unknown): string {\n if (value === null || value === undefined) {\n return ''\n } else if (typeof value === 'string') {\n return value\n } else {\n return String(value)\n }\n }\n}\n","import { Injectable } from '@angular/core'\n\ndeclare global {\n interface Window {\n 'onecx-shell-capabilities': Capability[]\n }\n}\n\nexport enum Capability {\n CURRENT_LOCATION_TOPIC = 'currentLocationTopic',\n PARAMETERS_TOPIC = 'parametersTopic',\n ACTIVENESS_AWARE_MENUS = 'activenessAwareMenus',\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ShellCapabilityService {\n static setCapabilities(capabilities: Capability[]): void {\n window['onecx-shell-capabilities'] = capabilities\n }\n\n hasCapability(capability: Capability): boolean {\n return window['onecx-shell-capabilities']?.includes(capability) ?? false\n }\n}\n","import { CanActivateFn, Route } from '@angular/router'\nimport { InitializeModuleGuard } from '../services/initialize-module-guard.service'\n\nexport function addInitializeModuleGuard(\n routes: Route[],\n initializeModuleGuard: typeof InitializeModuleGuard | CanActivateFn = InitializeModuleGuard\n): Route[] {\n return routes.map((r) => {\n if (r.redirectTo) {\n return r\n }\n const route = {\n canActivate: [],\n ...r,\n }\n if (!route.canActivate.includes(initializeModuleGuard)) {\n route.canActivate.push(initializeModuleGuard)\n }\n return route\n })\n}","// services\nexport * from './lib/services/app-config-service'\nexport * from './lib/services/app-state.service'\nexport * from './lib/services/configuration.service'\nexport * from './lib/services/user.service'\nexport * from './lib/services/portal-message.service'\nexport * from './lib/services/theme.service'\nexport * from './lib/services/remote-components.service'\nexport * from './lib/services/initialize-module-guard.service'\nexport * from './lib/services/workspace.service'\nexport * from './lib/services/shell-capability.service'\n\n// models\nexport * from './lib/model/config-key.model'\n\n// core\nexport * from './lib/api/iauth.service'\nexport * from './lib/api/injection-tokens'\n\n// utils\nexport * from './lib/utils/add-initialize-module-guard.utils'\n\nexport { MfeInfo, Theme } from '@onecx/integration-interface'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.ConfigurationService","i2","i2.ConfigurationService","i3.AppStateService","i4.UserService","i1.AppStateService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"onecx-angular-integration-interface.mjs","sources":["../../../../libs/angular-integration-interface/src/lib/services/app-config-service.ts","../../../../libs/angular-integration-interface/src/lib/services/app-state.service.ts","../../../../libs/angular-integration-interface/src/lib/api/injection-tokens.ts","../../../../libs/angular-integration-interface/src/lib/model/config-key.model.ts","../../../../libs/angular-integration-interface/src/lib/services/configuration.service.ts","../../../../libs/angular-integration-interface/src/lib/api/constants.ts","../../../../libs/angular-integration-interface/src/lib/services/user.service.ts","../../../../libs/angular-integration-interface/src/lib/services/portal-message.service.ts","../../../../libs/angular-integration-interface/src/lib/services/theme.service.ts","../../../../libs/angular-integration-interface/src/lib/services/remote-components.service.ts","../../../../libs/angular-integration-interface/src/lib/services/initialize-module-guard.service.ts","../../../../libs/angular-integration-interface/src/lib/services/workspace.service.ts","../../../../libs/angular-integration-interface/src/lib/services/shell-capability.service.ts","../../../../libs/angular-integration-interface/src/lib/utils/add-initialize-module-guard.utils.ts","../../../../libs/angular-integration-interface/src/index.ts","../../../../libs/angular-integration-interface/src/onecx-angular-integration-interface.ts"],"sourcesContent":["import { Location } from '@angular/common'\nimport { HttpClient } from '@angular/common/http'\nimport { Injectable } from '@angular/core'\nimport { Config } from '@onecx/integration-interface'\nimport { BehaviorSubject, firstValueFrom } from 'rxjs'\n\n@Injectable()\nexport class AppConfigService {\n config$ = new BehaviorSubject<{ [key: string]: string }>({})\n\n constructor(private http: HttpClient) {}\n\n public init(baseUrl: string): Promise<void> {\n return new Promise((resolve, reject) => {\n const loadConfigPromise: Promise<Config> = firstValueFrom(\n this.http.get<Config>(Location.joinWithSlash(baseUrl, 'assets/env.json'))\n )\n\n loadConfigPromise\n .then(async (config) => {\n if (config) {\n this.config$.next(config)\n resolve()\n }\n })\n .catch((e) => {\n console.log(`Failed to load env configuration`)\n reject(e)\n })\n })\n }\n\n public getProperty(key: string): string | undefined {\n return this.config$.getValue()?.[key]\n }\n\n public setProperty(key: string, val: string) {\n this.config$.next({ ...this.config$.value, [key]: val })\n }\n\n public getConfig(): { [key: string]: string } {\n return this.config$.getValue()\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core'\nimport {\n GlobalErrorTopic,\n GlobalLoadingTopic,\n CurrentMfeTopic,\n CurrentPageTopic,\n CurrentWorkspaceTopic,\n IsAuthenticatedTopic,\n CurrentLocationTopic,\n} from '@onecx/integration-interface'\n\n@Injectable({ providedIn: 'root' })\nexport class AppStateService implements OnDestroy {\n private _globalError$: GlobalErrorTopic | undefined\n get globalError$(): GlobalErrorTopic {\n this._globalError$ ??= new GlobalErrorTopic()\n return this._globalError$\n }\n set globalError$(value: GlobalErrorTopic) {\n this._globalError$ = value\n }\n private _globalLoading$: GlobalLoadingTopic | undefined\n get globalLoading$(): GlobalLoadingTopic {\n this._globalLoading$ ??= new GlobalLoadingTopic()\n return this._globalLoading$\n }\n set globalLoading$(value: GlobalLoadingTopic) {\n this._globalLoading$ = value\n }\n private _currentMfe$: CurrentMfeTopic | undefined\n get currentMfe$(): CurrentMfeTopic {\n this._currentMfe$ ??= new CurrentMfeTopic()\n return this._currentMfe$\n }\n set currentMfe$(value: CurrentMfeTopic) {\n this._currentMfe$ = value\n }\n private _currentLocation$: CurrentLocationTopic | undefined\n get currentLocation$(): CurrentLocationTopic {\n this._currentLocation$ ??= new CurrentLocationTopic()\n return this._currentLocation$\n }\n set currentLocation$(value: CurrentLocationTopic) {\n this._currentLocation$ = value\n }\n\n private _currentPage$: CurrentPageTopic | undefined\n /**\n * This topic will only fire when pageInfo.path matches document.location.pathname,\n * if not it will fire undefined.\n */\n get currentPage$(): CurrentPageTopic {\n this._currentPage$ ??= new CurrentPageTopic()\n return this._currentPage$\n }\n set currentPage$(value: CurrentPageTopic) {\n this._currentPage$ = value\n }\n _currentWorkspace$: CurrentWorkspaceTopic | undefined\n get currentWorkspace$(): CurrentWorkspaceTopic {\n this._currentWorkspace$ ??= new CurrentWorkspaceTopic()\n return this._currentWorkspace$\n }\n set currentWorkspace$(value: CurrentWorkspaceTopic) {\n this._currentWorkspace$ = value\n }\n /**\n * @deprecated Will be replaced by currentWorkspace$\n */\n get currentPortal$() {\n return this.currentWorkspace$\n }\n set currentPortal$(value: CurrentWorkspaceTopic) {\n this._currentWorkspace$ = value\n }\n\n /**\n * This Topic is initialized as soon as the authentication is done\n */\n private _isAuthenticated$: IsAuthenticatedTopic | undefined\n get isAuthenticated$(): IsAuthenticatedTopic {\n this._isAuthenticated$ ??= new IsAuthenticatedTopic()\n return this._isAuthenticated$\n }\n set isAuthenticated$(value: IsAuthenticatedTopic) {\n this._isAuthenticated$ = value\n }\n\n ngOnDestroy(): void {\n this._globalError$?.destroy()\n this._globalLoading$?.destroy()\n this._currentMfe$?.destroy()\n this._currentPage$?.destroy()\n this._currentLocation$?.destroy()\n this._currentWorkspace$?.destroy()\n this._isAuthenticated$?.destroy()\n }\n}\n","import { InjectionToken } from '@angular/core'\nimport { IAuthService } from './iauth.service'\n\nexport interface LibConfig {\n appId: string\n portalId: string\n /**\n * If true, the tkit-module will not try to load remote env values from server(GET /assets/env.json)\n */\n skipRemoteConfigLoad: boolean\n /**\n * URL from which the remote config will be loaded, default: '/assets/env.json'\n */\n remoteConfigURL: string\n}\nexport const APP_CONFIG = new InjectionToken<LibConfig>('APP_CONFIG')\n\n/**\n * @deprecated\n * Please do not inject the auth service at all.\n * There are better ways to achieve what you want. Please use permission service or user service.\n */\nexport const AUTH_SERVICE = new InjectionToken<IAuthService>('AUTH_SERVICE')\n\nexport const SANITY_CHECK = new InjectionToken<string>('OCXSANITY_CHECK')\n\nexport const APPLICATION_NAME = new InjectionToken<string>('APPLICATION_NAME')\n","export enum CONFIG_KEY {\n TKIT_PORTAL_DEFAULT_THEME = 'TKIT_PORTAL_DEFAULT_THEME',\n TKIT_PORTAL_DISABLE_THEME_MANAGEMENT = 'TKIT_PORTAL_DISABLE_THEME_MANAGEMENT',\n TKIT_PORTAL_THEME_SERVER_URL = 'TKIT_PORTAL_THEME_SERVER_URL',\n TKIT_TOKEN_ROLE_CLAIM_NAME = 'TKIT_TOKEN_ROLE_CLAIM_NAME',\n TKIT_PORTAL_ID = 'TKIT_PORTAL_ID',\n TKIT_SUPPORTED_LANGUAGES = 'TKIT_SUPPORTED_LANGUAGES',\n TKIT_SEARCH_BASE_URL = 'TKIT_SEARCH_BASE_URL',\n APP_BASE_HREF = 'APP_BASE_HREF',\n KEYCLOAK_REALM = 'KEYCLOAK_REALM',\n KEYCLOAK_ENABLE_SILENT_SSO = 'KEYCLOAK_ENABLE_SILENT_SSO',\n KEYCLOAK_URL = 'KEYCLOAK_URL',\n KEYCLOAK_CLIENT_ID = 'KEYCLOAK_CLIENT_ID',\n ONECX_PORTAL_FAVORITES_DISABLED = 'ONECX_PORTAL_FAVORITES_DISABLED',\n ONECX_PORTAL_FEEDBACK_DISABLED = 'ONECX_PORTAL_FEEDBACK_DISABLED',\n ONECX_PORTAL_SEARCH_DISABLED = 'ONECX_PORTAL_SEARCH_DISABLED',\n ONECX_PORTAL_SUPPORT_TICKET_DISABLED = 'ONECX_PORTAL_SUPPORT_TICKET_DISABLED',\n ONECX_PORTAL_ANNOUNCEMENTS_DISABLED = 'ONECX_PORTAL_ANNOUNCEMENTS_DISABLED',\n ONECX_PORTAL_PASSWORD_CHANGE_DISABLED = 'ONECX_PORTAL_PASSWORD_CHANGE_DISABLED',\n ONECX_PORTAL_SETTINGS_DISABLED = 'ONECX_PORTAL_SETTINGS_DISABLED',\n ONECX_PORTAL_MY_ROLES_PERMISSIONS_DISABLED = 'ONECX_PORTAL_MY_ROLES_PERMISSIONS_DISABLED',\n ONECX_PORTAL_HELP_DISABLED = 'ONECX_PORTAL_HELP_DISABLED',\n ONECX_PORTAL_SEARCH_BUTTONS_REVERSED = 'ONECX_PORTAL_SEARCH_BUTTONS_REVERSED',\n APP_VERSION = 'APP_VERSION',\n IS_SHELL = 'IS_SHELL',\n AUTH_SERVICE = 'AUTH_SERVICE',\n AUTH_SERVICE_CUSTOM_URL = 'AUTH_SERVICE_CUSTOM_URL',\n AUTH_SERVICE_CUSTOM_MODULE_NAME = 'AUTH_SERVICE_CUSTOM_MODULE_NAME',\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Inject, Injectable, OnDestroy, Optional } from '@angular/core'\nimport { firstValueFrom } from 'rxjs'\nimport { Config, ConfigurationTopic } from '@onecx/integration-interface'\nimport { APP_CONFIG } from '../api/injection-tokens'\nimport { CONFIG_KEY } from '../model/config-key.model'\n\n@Injectable({ providedIn: 'root' })\nexport class ConfigurationService implements OnDestroy {\n _config$: ConfigurationTopic | undefined\n get config$() {\n this._config$ ??= new ConfigurationTopic()\n return this._config$\n }\n set config$(value: ConfigurationTopic) {\n this._config$ = value\n }\n\n constructor(\n private http: HttpClient,\n @Optional() @Inject(APP_CONFIG) private defaultConfig?: { [key: string]: string }\n ) {}\n\n ngOnDestroy(): void {\n this._config$?.destroy()\n }\n\n public init(): Promise<boolean> {\n return new Promise((resolve, reject) => {\n const skipRemoteConfigLoad = this.defaultConfig && this.defaultConfig['skipRemoteConfigLoad']\n let loadConfigPromise: Promise<Config>\n\n const inlinedConfig = (window as typeof window & { APP_CONFIG: Config })['APP_CONFIG']\n if (inlinedConfig) {\n console.log(`ENV resolved from injected config`)\n loadConfigPromise = Promise.resolve(inlinedConfig)\n } else {\n if (skipRemoteConfigLoad) {\n console.log(\n '📢 TKA001: Remote config load is disabled. To enable it, remove the \"skipRemoteConfigLoad\" key in your environment.json'\n )\n loadConfigPromise = Promise.resolve(this.defaultConfig || {})\n } else {\n loadConfigPromise = firstValueFrom(\n this.http.get<Config>((this.defaultConfig && this.defaultConfig['remoteConfigURL']) || 'assets/env.json')\n )\n }\n }\n\n loadConfigPromise\n .then(async (config) => {\n await this.config$.publish({ ...this.defaultConfig, ...(config ?? {}) }).then(() => {\n resolve(true)\n })\n })\n .catch((e) => {\n console.log(`Failed to load env configuration`)\n reject(e)\n })\n })\n }\n\n get isInitialized(): Promise<void> {\n return this.config$.isInitialized\n }\n\n public getProperty(key: CONFIG_KEY): string | undefined {\n if (!Object.values(CONFIG_KEY).includes(key)) {\n console.error('Invalid config key ', key)\n }\n return this.config$.getValue()?.[key]\n }\n\n public async setProperty(key: string, val: string): Promise<void> {\n const currentValues = await firstValueFrom(this.config$.asObservable())\n currentValues[key] = val\n await this.config$.publish(currentValues)\n }\n\n public getConfig(): Config | undefined {\n return this.config$.getValue()\n }\n}\n","export const API_PREFIX = 'portal-api'\n\nexport const DEFAULT_LANG = 'en'\n","import { Injectable, OnDestroy } from '@angular/core'\nimport { BehaviorSubject, map, filter, firstValueFrom, skip, Observable, merge } from 'rxjs'\nimport { PermissionsTopic, UserProfile, UserProfileTopic } from '@onecx/integration-interface'\nimport { DEFAULT_LANG } from '../api/constants'\nimport { getNormalizedBrowserLocales } from '@onecx/accelerator'\n\n@Injectable({ providedIn: 'root' })\nexport class UserService implements OnDestroy {\n profile$ = new UserProfileTopic()\n permissions$ = new BehaviorSubject<string[]>([])\n lang$ = new BehaviorSubject(this.determineLanguage() ?? DEFAULT_LANG)\n\n private effectivePermissions$: Observable<string[]>\n _permissionsTopic$: PermissionsTopic | undefined\n get permissionsTopic$() {\n this._permissionsTopic$ ??= new PermissionsTopic()\n return this._permissionsTopic$\n }\n set permissionsTopic$(value: PermissionsTopic) {\n this._permissionsTopic$ = value\n }\n\n private oldStylePermissionsInitialized: Promise<string[]>\n\n constructor() {\n this.profile$\n .pipe(\n map((profile) => {\n let locales = profile.settings?.locales\n\n if (!locales) {\n return this.useOldLangSetting(profile)\n }\n\n if (locales.length === 0) {\n locales = getNormalizedBrowserLocales()\n }\n\n // the lang$ should contain the first language, because locales is an ordered list\n // length of 2 is checked because we need the general language\n // never choose 'en-US', but choose 'en'\n const firstLang = locales.find((l) => l.length === 2) ?? DEFAULT_LANG\n return firstLang\n })\n )\n .subscribe(this.lang$)\n\n this.oldStylePermissionsInitialized = firstValueFrom(this.permissions$.pipe(skip(1)))\n this.effectivePermissions$ = merge(this.permissions$.pipe(skip(1)), this.permissionsTopic$.asObservable())\n this.profile$\n .pipe(\n map((profile) => this.extractPermissions(profile)),\n filter((permissions): permissions is string[] => !!permissions)\n )\n .subscribe(this.permissions$)\n }\n\n ngOnDestroy(): void {\n this.profile$.destroy()\n this._permissionsTopic$?.destroy()\n }\n\n useOldLangSetting(profile: UserProfile): string {\n return profile.accountSettings?.localeAndTimeSettings?.locale ?? this.determineLanguage() ?? DEFAULT_LANG\n }\n\n getPermissions() {\n return this.effectivePermissions$\n }\n\n hasPermission(permissionKey: string | string[]): boolean {\n if (Array.isArray(permissionKey)) {\n return permissionKey.every((key) => this.hasPermission(key))\n }\n const oldConceptResult = this.permissions$.getValue()\n ? this.permissions$.getValue()?.includes(permissionKey)\n : false\n const result = this.permissionsTopic$.getValue()\n ? this.permissionsTopic$.getValue()?.includes(permissionKey)\n : oldConceptResult\n\n if (!result) {\n console.log(`👮♀️ No permission for: ${permissionKey}`)\n }\n return !!result\n }\n\n private determineLanguage(): string | undefined {\n if (typeof window === 'undefined' || typeof window.navigator === 'undefined') {\n return undefined\n }\n\n let browserLang: any = window.navigator.languages ? window.navigator.languages[0] : null\n browserLang = browserLang || window.navigator.language\n\n if (typeof browserLang === 'undefined') {\n return undefined\n }\n\n if (browserLang.indexOf('-') !== -1) {\n browserLang = browserLang.split('-')[0]\n }\n\n if (browserLang.indexOf('_') !== -1) {\n browserLang = browserLang.split('_')[0]\n }\n\n return browserLang\n }\n\n private extractPermissions(userProfile: UserProfile) {\n if (userProfile) {\n if (userProfile.memberships) {\n const permissions: string[] = []\n userProfile.memberships.forEach((m) => {\n m.roleMemberships?.forEach((r) => {\n r.permissions?.forEach((p) => {\n if (p) {\n if (p.key !== undefined) {\n permissions.push(p.key)\n }\n }\n })\n })\n })\n return permissions\n }\n }\n return null\n }\n\n get isInitialized(): Promise<void> {\n return Promise.all([\n Promise.race([this.permissionsTopic$.isInitialized, this.oldStylePermissionsInitialized]),\n this.profile$.isInitialized,\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n ]).then(() => {})\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core'\nimport { TranslateService } from '@ngx-translate/core'\nimport { combineLatest, first, of } from 'rxjs'\nimport { MessageTopic } from '@onecx/integration-interface'\n\nexport type Message = {\n summaryKey?: string\n summaryParameters?: object\n detailKey?: string\n detailParameters?: object\n id?: any\n key?: string\n life?: number\n sticky?: boolean\n closable?: boolean\n data?: any\n icon?: string\n contentStyleClass?: string\n styleClass?: string\n}\n\n@Injectable({ providedIn: 'any' })\nexport class PortalMessageService implements OnDestroy {\n constructor(private translateService: TranslateService) {}\n\n _message$: MessageTopic | undefined\n get message$() {\n this._message$ ??= new MessageTopic()\n return this._message$\n }\n set message$(value: MessageTopic) {\n this._message$ = value\n }\n\n success(msg: Message) {\n this.addTranslated('success', msg)\n }\n\n info(msg: Message) {\n this.addTranslated('info', msg)\n }\n\n error(msg: Message) {\n this.addTranslated('error', msg)\n }\n\n warning(msg: Message) {\n this.addTranslated('warning', msg)\n }\n\n private addTranslated(severity: string, msg: Message) {\n combineLatest([\n msg.summaryKey ? this.translateService.get(msg.summaryKey || '', msg.summaryParameters) : of(undefined),\n msg.detailKey ? this.translateService.get(msg.detailKey, msg.detailParameters) : of(undefined),\n ])\n .pipe(first())\n .subscribe(([summaryTranslation, detailTranslation]: string[]) => {\n this.message$.publish({\n ...msg,\n severity: severity,\n summary: summaryTranslation,\n detail: detailTranslation,\n })\n })\n }\n\n ngOnDestroy(): void {\n this._message$?.destroy()\n }\n}\n","import { HttpClient } from '@angular/common/http'\nimport { Injectable, OnDestroy } from '@angular/core'\nimport { from, map, mergeMap } from 'rxjs'\nimport { CurrentThemeTopic, Theme } from '@onecx/integration-interface'\nimport { ConfigurationService } from './configuration.service'\nimport { CONFIG_KEY } from '../model/config-key.model'\n\nconst defaultThemeServerUrl = 'http://portal-theme-management:8080'\n\n@Injectable({ providedIn: 'root' })\nexport class ThemeService implements OnDestroy {\n baseUrlV1 = './portal-api'\n _currentTheme$: CurrentThemeTopic | undefined\n get currentTheme$() {\n this._currentTheme$ ??= new CurrentThemeTopic()\n return this._currentTheme$\n }\n set currentTheme$(value: CurrentThemeTopic) {\n this._currentTheme$ = value\n }\n\n constructor(\n private configService: ConfigurationService,\n private http: HttpClient\n ) {}\n\n getThemeHref(themeId: string): string {\n const themeServerUrl =\n this.configService.getProperty(CONFIG_KEY.TKIT_PORTAL_THEME_SERVER_URL) || defaultThemeServerUrl\n return `${themeServerUrl}/themes/${themeId}/${themeId}.min.css`\n }\n\n public loadAndApplyTheme(themeName: string) {\n return this.http.get<Theme>(`${this.baseUrlV1}/internal/themes/${encodeURI(themeName)}`).pipe(\n mergeMap((theme) => {\n return from(this.apply(theme)).pipe(map(() => theme))\n })\n )\n }\n\n public async apply(theme: Theme): Promise<void> {\n console.log(`🎨 Applying theme: ${theme.name}`)\n await this.currentTheme$.publish(theme)\n if (theme.properties) {\n Object.values(theme.properties).forEach((group) => {\n for (const [key, value] of Object.entries(group)) {\n document.documentElement.style.setProperty(`--${key}`, value)\n }\n })\n }\n }\n\n ngOnDestroy(): void {\n this._currentTheme$?.destroy()\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core'\nimport { RemoteComponentsTopic } from '@onecx/integration-interface'\n\n@Injectable({ providedIn: 'root' })\nexport class RemoteComponentsService implements OnDestroy {\n _remoteComponents$: RemoteComponentsTopic | undefined\n get remoteComponents$() {\n this._remoteComponents$ ??= new RemoteComponentsTopic()\n return this._remoteComponents$\n }\n set remoteComponents$(value: RemoteComponentsTopic) {\n this._remoteComponents$ = value\n }\n\n ngOnDestroy(): void {\n this._remoteComponents$?.destroy()\n }\n}\n","import { Injectable } from '@angular/core'\nimport { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, UrlTree } from '@angular/router'\nimport { TranslateService } from '@ngx-translate/core'\nimport { filter, from, isObservable, map, mergeMap, Observable, of, tap, zip } from 'rxjs'\nimport { AppStateService } from './app-state.service';\nimport { ConfigurationService } from './configuration.service';\nimport { UserService } from './user.service';\n\n@Injectable({ providedIn: 'any' })\nexport class InitializeModuleGuard implements CanActivate {\n private SUPPORTED_LANGS = ['en', 'de']\n private DEFAULT_LANG = 'en'\n constructor(\n protected translateService: TranslateService,\n protected configService: ConfigurationService,\n protected appStateService: AppStateService,\n protected userService: UserService\n ) {}\n\n canActivate(\n _route: ActivatedRouteSnapshot,\n _state: RouterStateSnapshot\n ): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {\n console.time('InitializeModuleGuard')\n return zip([\n this.loadTranslations(),\n from(this.configService.isInitialized),\n from(this.userService.isInitialized),\n from(this.appStateService.currentWorkspace$.isInitialized),\n ]).pipe(\n tap(() => {\n console.timeEnd('InitializeModuleGuard')\n }),\n map(() => true)\n )\n }\n\n getBestMatchLanguage(lang: string) {\n if (this.SUPPORTED_LANGS.includes(lang)) {\n return lang\n } else {\n console.log(`${lang} is not supported. Using ${this.DEFAULT_LANG} as a fallback.`)\n }\n return this.DEFAULT_LANG\n }\n\n loadTranslations(): Observable<boolean> {\n return this.userService.lang$.pipe(\n filter((v) => v !== undefined),\n mergeMap((lang) => {\n const bestMatchLang = this.getBestMatchLanguage(lang as string)\n return this.translateService.use(bestMatchLang)\n }),\n mergeMap(() => of(true))\n )\n }\n\n protected toObservable(\n canActivateResult: Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree\n ): Observable<boolean | UrlTree> {\n if (isObservable(canActivateResult)) {\n return canActivateResult\n }\n return from(Promise.resolve(canActivateResult))\n }\n}\n","import { Injectable } from '@angular/core'\nimport { AppStateService } from './app-state.service'\nimport { Observable, map } from 'rxjs'\nimport { Route } from '@onecx/integration-interface'\nimport { Endpoint } from '@onecx/integration-interface'\nimport { Location } from '@angular/common'\n\n@Injectable({\n providedIn: 'root',\n})\nexport class WorkspaceService {\n private aliasStart = '[['\n private aliasEnd = ']]'\n private paramStart = '{'\n private paramEnd = '}'\n\n constructor(protected appStateService: AppStateService) {}\n\n getUrl(\n productName: string,\n appId: string,\n endpointName?: string,\n endpointParameters?: Record<string, unknown>\n ): Observable<string> {\n return this.appStateService.currentWorkspace$.pipe(\n map((workspace) => {\n const finalUrl = this.constructRouteUrl(workspace, appId, productName, endpointName, endpointParameters)\n return finalUrl\n })\n )\n }\n\n doesUrlExistFor(productName: string, appId: string, endpointName?: string): Observable<boolean> {\n return this.appStateService.currentWorkspace$.pipe(\n map((workspace) => {\n const checkEndpoint = endpointName !== undefined && endpointName.length > 0\n\n if (workspace.routes == undefined) {\n return false\n }\n const route = this.filterRouteFromList(workspace.routes, appId, productName)\n\n if (checkEndpoint) {\n if (!route || route.endpoints === undefined || route.endpoints.length == 0) {\n return false\n }\n\n const endpoint = route.endpoints.find((ep) => ep.name === endpointName)\n return !!(endpoint && endpoint.path && endpoint.path.length > 0)\n } else {\n return !!(route && route.baseUrl && route.baseUrl.length > 0)\n }\n })\n )\n }\n\n private constructBaseUrlFromWorkspace(workspace: any): string {\n if (workspace.baseUrl === undefined) {\n console.log('WARNING: There was no baseUrl for received workspace.')\n return ''\n }\n return workspace.baseUrl\n }\n\n private constructRouteUrl(\n workspace: any,\n appId: string,\n productName: string,\n endpointName?: string,\n endpointParameters?: Record<string, unknown>\n ): string {\n const route = this.filterRouteFromList(workspace.routes, appId, productName)\n let url = this.constructBaseUrlFromWorkspace(workspace)\n if (!route) {\n console.log(\n `WARNING: No route.baseUrl could be found for given appId \"${appId}\" and productName \"${productName}\"`\n )\n\n return url\n }\n\n if (route.baseUrl !== undefined && route.baseUrl.length > 0) {\n url = route.baseUrl\n }\n if (endpointName == undefined) {\n return url\n }\n\n url = Location.joinWithSlash(url, this.constructEndpointUrl(route, endpointName, endpointParameters))\n return url\n }\n\n private constructEndpointUrl(\n route: any,\n endpointName: string,\n endpointParameters: Record<string, unknown> = {}\n ): string {\n if (!route.endpoints) {\n return ''\n }\n const finalEndpoint = this.dissolveEndpoint(endpointName, route.endpoints)\n if (!finalEndpoint || finalEndpoint.path === undefined) {\n console.log('WARNING: No endpoint or endpoint.path could be found')\n return ''\n }\n\n const paramsFilled = this.fillParamsForPath(finalEndpoint.path, endpointParameters)\n if (paramsFilled === undefined) {\n console.log('WARNING: Params could not be filled correctly')\n return ''\n }\n\n return paramsFilled\n }\n\n private filterRouteFromList(routes: Array<Route>, appId: string, productName: string): Route | undefined {\n if (!routes) {\n return undefined\n }\n\n const productRoutes = routes.filter((route) => route.appId === appId && route.productName === productName)\n\n if (productRoutes.length === 0) {\n return undefined\n }\n\n if (productRoutes.length > 1) {\n console.log('WARNING: There were more than one route. First route has been used.')\n }\n\n return productRoutes[0]\n }\n\n private dissolveEndpoint(endpointName: string, endpoints: Array<Endpoint>): Endpoint | undefined {\n let endpoint = endpoints.find((ep) => ep.name === endpointName)\n\n if (!endpoint) {\n return undefined\n }\n\n while (endpoint.path?.includes(this.aliasStart)) {\n const path: string = endpoint.path\n const startIdx = path.indexOf(this.aliasStart) + this.aliasStart.length\n const endIdx = path.lastIndexOf(this.aliasEnd)\n if (endIdx <= startIdx) {\n return undefined\n }\n const aliasName = path.substring(startIdx, endIdx)\n endpoint = endpoints.find((ep) => ep.name === aliasName)\n\n if (!endpoint) {\n return undefined\n }\n }\n\n return endpoint\n }\n\n private fillParamsForPath(path: string, endpointParameters: Record<string, unknown>): string {\n while (path.includes(this.paramStart)) {\n const paramName = path.substring(\n path.indexOf(this.paramStart) + this.paramStart.length,\n path.indexOf(this.paramEnd)\n )\n const paramValue = this.getStringFromUnknown(endpointParameters[paramName])\n if (paramValue != undefined && paramValue.length > 0) {\n path = path.replace(this.paramStart.concat(paramName).concat(this.paramEnd), paramValue)\n } else {\n console.log(`WARNING: Searched param \"${paramName}\" was not found in given param list `)\n return ''\n }\n }\n return path\n }\n\n private getStringFromUnknown(value: unknown): string {\n if (value === null || value === undefined) {\n return ''\n } else if (typeof value === 'string') {\n return value\n } else {\n return String(value)\n }\n }\n}\n","import { Injectable } from '@angular/core'\n\ndeclare global {\n interface Window {\n 'onecx-shell-capabilities': Capability[]\n }\n}\n\nexport enum Capability {\n CURRENT_LOCATION_TOPIC = 'currentLocationTopic',\n PARAMETERS_TOPIC = 'parametersTopic',\n ACTIVENESS_AWARE_MENUS = 'activenessAwareMenus',\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ShellCapabilityService {\n static setCapabilities(capabilities: Capability[]): void {\n window['onecx-shell-capabilities'] = capabilities\n }\n\n hasCapability(capability: Capability): boolean {\n return window['onecx-shell-capabilities']?.includes(capability) ?? false\n }\n}\n","import { CanActivateFn, Route } from '@angular/router'\nimport { InitializeModuleGuard } from '../services/initialize-module-guard.service'\n\nexport function addInitializeModuleGuard(\n routes: Route[],\n initializeModuleGuard: typeof InitializeModuleGuard | CanActivateFn = InitializeModuleGuard\n): Route[] {\n return routes.map((r) => {\n if (r.redirectTo) {\n return r\n }\n const route = {\n canActivate: [],\n ...r,\n }\n if (!route.canActivate.includes(initializeModuleGuard)) {\n route.canActivate.push(initializeModuleGuard)\n }\n return route\n })\n}","// services\nexport * from './lib/services/app-config-service'\nexport * from './lib/services/app-state.service'\nexport * from './lib/services/configuration.service'\nexport * from './lib/services/user.service'\nexport * from './lib/services/portal-message.service'\nexport * from './lib/services/theme.service'\nexport * from './lib/services/remote-components.service'\nexport * from './lib/services/initialize-module-guard.service'\nexport * from './lib/services/workspace.service'\nexport * from './lib/services/shell-capability.service'\n\n// models\nexport * from './lib/model/config-key.model'\n\n// core\nexport * from './lib/api/iauth.service'\nexport * from './lib/api/injection-tokens'\n\n// utils\nexport * from './lib/utils/add-initialize-module-guard.utils'\n\nexport { MfeInfo, Theme } from '@onecx/integration-interface'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.ConfigurationService","i2","i2.ConfigurationService","i3.AppStateService","i4.UserService","i1.AppStateService"],"mappings":"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"}
|
|
@@ -2,16 +2,28 @@ import { OnDestroy } from '@angular/core';
|
|
|
2
2
|
import { GlobalErrorTopic, GlobalLoadingTopic, CurrentMfeTopic, CurrentPageTopic, CurrentWorkspaceTopic, IsAuthenticatedTopic, CurrentLocationTopic } from '@onecx/integration-interface';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class AppStateService implements OnDestroy {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
private _globalError$;
|
|
6
|
+
get globalError$(): GlobalErrorTopic;
|
|
7
|
+
set globalError$(value: GlobalErrorTopic);
|
|
8
|
+
private _globalLoading$;
|
|
9
|
+
get globalLoading$(): GlobalLoadingTopic;
|
|
10
|
+
set globalLoading$(value: GlobalLoadingTopic);
|
|
11
|
+
private _currentMfe$;
|
|
12
|
+
get currentMfe$(): CurrentMfeTopic;
|
|
13
|
+
set currentMfe$(value: CurrentMfeTopic);
|
|
14
|
+
private _currentLocation$;
|
|
15
|
+
get currentLocation$(): CurrentLocationTopic;
|
|
16
|
+
set currentLocation$(value: CurrentLocationTopic);
|
|
17
|
+
private _currentPage$;
|
|
9
18
|
/**
|
|
10
19
|
* This topic will only fire when pageInfo.path matches document.location.pathname,
|
|
11
20
|
* if not it will fire undefined.
|
|
12
21
|
*/
|
|
13
|
-
currentPage
|
|
14
|
-
|
|
22
|
+
get currentPage$(): CurrentPageTopic;
|
|
23
|
+
set currentPage$(value: CurrentPageTopic);
|
|
24
|
+
_currentWorkspace$: CurrentWorkspaceTopic | undefined;
|
|
25
|
+
get currentWorkspace$(): CurrentWorkspaceTopic;
|
|
26
|
+
set currentWorkspace$(value: CurrentWorkspaceTopic);
|
|
15
27
|
/**
|
|
16
28
|
* @deprecated Will be replaced by currentWorkspace$
|
|
17
29
|
*/
|
|
@@ -20,7 +32,9 @@ export declare class AppStateService implements OnDestroy {
|
|
|
20
32
|
/**
|
|
21
33
|
* This Topic is initialized as soon as the authentication is done
|
|
22
34
|
*/
|
|
23
|
-
|
|
35
|
+
private _isAuthenticated$;
|
|
36
|
+
get isAuthenticated$(): IsAuthenticatedTopic;
|
|
37
|
+
set isAuthenticated$(value: IsAuthenticatedTopic);
|
|
24
38
|
ngOnDestroy(): void;
|
|
25
39
|
static ɵfac: i0.ɵɵFactoryDeclaration<AppStateService, never>;
|
|
26
40
|
static ɵprov: i0.ɵɵInjectableDeclaration<AppStateService>;
|
|
@@ -6,7 +6,9 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
export declare class ConfigurationService implements OnDestroy {
|
|
7
7
|
private http;
|
|
8
8
|
private defaultConfig?;
|
|
9
|
-
|
|
9
|
+
_config$: ConfigurationTopic | undefined;
|
|
10
|
+
get config$(): ConfigurationTopic;
|
|
11
|
+
set config$(value: ConfigurationTopic);
|
|
10
12
|
constructor(http: HttpClient, defaultConfig?: {
|
|
11
13
|
[key: string]: string;
|
|
12
14
|
} | undefined);
|
|
@@ -20,7 +20,9 @@ export type Message = {
|
|
|
20
20
|
export declare class PortalMessageService implements OnDestroy {
|
|
21
21
|
private translateService;
|
|
22
22
|
constructor(translateService: TranslateService);
|
|
23
|
-
|
|
23
|
+
_message$: MessageTopic | undefined;
|
|
24
|
+
get message$(): MessageTopic;
|
|
25
|
+
set message$(value: MessageTopic);
|
|
24
26
|
success(msg: Message): void;
|
|
25
27
|
info(msg: Message): void;
|
|
26
28
|
error(msg: Message): void;
|
|
@@ -2,7 +2,9 @@ import { OnDestroy } from '@angular/core';
|
|
|
2
2
|
import { RemoteComponentsTopic } from '@onecx/integration-interface';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class RemoteComponentsService implements OnDestroy {
|
|
5
|
-
|
|
5
|
+
_remoteComponents$: RemoteComponentsTopic | undefined;
|
|
6
|
+
get remoteComponents$(): RemoteComponentsTopic;
|
|
7
|
+
set remoteComponents$(value: RemoteComponentsTopic);
|
|
6
8
|
ngOnDestroy(): void;
|
|
7
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<RemoteComponentsService, never>;
|
|
8
10
|
static ɵprov: i0.ɵɵInjectableDeclaration<RemoteComponentsService>;
|
|
@@ -7,7 +7,9 @@ export declare class ThemeService implements OnDestroy {
|
|
|
7
7
|
private configService;
|
|
8
8
|
private http;
|
|
9
9
|
baseUrlV1: string;
|
|
10
|
-
|
|
10
|
+
_currentTheme$: CurrentThemeTopic | undefined;
|
|
11
|
+
get currentTheme$(): CurrentThemeTopic;
|
|
12
|
+
set currentTheme$(value: CurrentThemeTopic);
|
|
11
13
|
constructor(configService: ConfigurationService, http: HttpClient);
|
|
12
14
|
getThemeHref(themeId: string): string;
|
|
13
15
|
loadAndApplyTheme(themeName: string): import("rxjs").Observable<Theme>;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { OnDestroy } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
3
|
-
import { UserProfile, UserProfileTopic } from '@onecx/integration-interface';
|
|
3
|
+
import { PermissionsTopic, UserProfile, UserProfileTopic } from '@onecx/integration-interface';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class UserService implements OnDestroy {
|
|
6
6
|
profile$: UserProfileTopic;
|
|
7
7
|
permissions$: BehaviorSubject<string[]>;
|
|
8
8
|
lang$: BehaviorSubject<string>;
|
|
9
9
|
private effectivePermissions$;
|
|
10
|
-
|
|
10
|
+
_permissionsTopic$: PermissionsTopic | undefined;
|
|
11
|
+
get permissionsTopic$(): PermissionsTopic;
|
|
12
|
+
set permissionsTopic$(value: PermissionsTopic);
|
|
11
13
|
private oldStylePermissionsInitialized;
|
|
12
14
|
constructor();
|
|
13
15
|
ngOnDestroy(): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onecx/angular-integration-interface",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.52.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"peerDependencies": {
|
|
10
10
|
"@angular/core": "^18.0.5",
|
|
11
|
-
"@onecx/integration-interface": "^5.
|
|
11
|
+
"@onecx/integration-interface": "^5.52.0",
|
|
12
12
|
"rxjs": "~7.8.1"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|