@onecx/angular-integration-interface 5.37.0 → 6.0.0-rc.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/onecx-angular-integration-interface-mocks.mjs +42 -72
- package/fesm2022/onecx-angular-integration-interface-mocks.mjs.map +1 -1
- package/fesm2022/onecx-angular-integration-interface.mjs +66 -91
- package/fesm2022/onecx-angular-integration-interface.mjs.map +1 -1
- package/lib/services/app-config-service.d.ts +0 -2
- package/lib/services/configuration.service.d.ts +7 -10
- package/lib/services/initialize-module-guard.service.d.ts +0 -1
- package/lib/services/portal-message.service.d.ts +0 -2
- package/lib/services/theme.service.d.ts +1 -10
- package/lib/services/workspace.service.d.ts +1 -2
- package/migrations.json +26 -0
- package/mocks/app-state-service-mock.d.ts +1 -1
- package/mocks/configuration-service-mock.d.ts +1 -1
- package/mocks/index.d.ts +2 -2
- package/mocks/portal-message-service-mock.d.ts +1 -1
- package/mocks/remote-components-service-mock.d.ts +1 -1
- package/mocks/user-service-mock.d.ts +1 -1
- package/package.json +10 -8
- package/esm2022/index.mjs +0 -19
- package/esm2022/lib/api/constants.mjs +0 -3
- package/esm2022/lib/api/iauth.service.mjs +0 -2
- package/esm2022/lib/api/injection-tokens.mjs +0 -11
- package/esm2022/lib/model/config-key.model.mjs +0 -31
- package/esm2022/lib/services/app-config-service.mjs +0 -43
- package/esm2022/lib/services/app-state.service.mjs +0 -47
- package/esm2022/lib/services/configuration.service.mjs +0 -77
- package/esm2022/lib/services/initialize-module-guard.service.mjs +0 -60
- package/esm2022/lib/services/portal-message.service.mjs +0 -49
- package/esm2022/lib/services/remote-components.service.mjs +0 -18
- package/esm2022/lib/services/shell-capability.service.mjs +0 -22
- package/esm2022/lib/services/theme.service.mjs +0 -48
- package/esm2022/lib/services/user.service.mjs +0 -93
- package/esm2022/lib/services/workspace.service.mjs +0 -146
- package/esm2022/lib/utils/add-initialize-module-guard.utils.mjs +0 -17
- package/esm2022/mocks/app-config-service-mock.mjs +0 -35
- package/esm2022/mocks/app-state-service-mock.mjs +0 -45
- package/esm2022/mocks/configuration-service-mock.mjs +0 -47
- package/esm2022/mocks/fake-topic.mjs +0 -33
- package/esm2022/mocks/index.mjs +0 -9
- package/esm2022/mocks/onecx-angular-integration-interface-mocks.mjs +0 -5
- package/esm2022/mocks/portal-message-service-mock.mjs +0 -38
- package/esm2022/mocks/remote-components-service-mock.mjs +0 -19
- package/esm2022/mocks/shell-capability-service-mock.mjs +0 -21
- package/esm2022/mocks/user-service-mock.mjs +0 -38
- package/esm2022/onecx-angular-integration-interface.mjs +0 -5
- package/mocks/fake-topic.d.ts +0 -11
@@ -1,7 +1,9 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { Injectable } from '@angular/core';
|
3
|
-
import { BehaviorSubject
|
4
|
-
import { AppConfigService, AppStateService, ConfigurationService, PortalMessageService, RemoteComponentsService,
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
4
|
+
import { AppConfigService, AppStateService, ConfigurationService, PortalMessageService, RemoteComponentsService, UserService, ShellCapabilityService } from '@onecx/angular-integration-interface';
|
5
|
+
import { FakeTopic } from '@onecx/accelerator';
|
6
|
+
export * from '@onecx/accelerator';
|
5
7
|
import { firstValueFrom } from 'rxjs/internal/firstValueFrom';
|
6
8
|
|
7
9
|
function provideAppConfigServiceMock() {
|
@@ -28,45 +30,13 @@ class AppConfigServiceMock {
|
|
28
30
|
getConfig() {
|
29
31
|
return this.config$.getValue();
|
30
32
|
}
|
31
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
32
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AppConfigServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
34
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AppConfigServiceMock }); }
|
33
35
|
}
|
34
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AppConfigServiceMock, decorators: [{
|
35
37
|
type: Injectable
|
36
38
|
}] });
|
37
39
|
|
38
|
-
class FakeTopic {
|
39
|
-
constructor(initialValue = undefined) {
|
40
|
-
if (initialValue !== undefined) {
|
41
|
-
this.state = new BehaviorSubject(initialValue);
|
42
|
-
}
|
43
|
-
else {
|
44
|
-
this.state = new ReplaySubject(1);
|
45
|
-
}
|
46
|
-
}
|
47
|
-
asObservable() {
|
48
|
-
return this.state.asObservable();
|
49
|
-
}
|
50
|
-
subscribe(observerOrNext, error, complete) {
|
51
|
-
return this.asObservable().subscribe(observerOrNext, error, complete);
|
52
|
-
}
|
53
|
-
pipe(...operations) {
|
54
|
-
return this.asObservable().pipe(...operations);
|
55
|
-
}
|
56
|
-
publish(value) {
|
57
|
-
this.state.next(value);
|
58
|
-
return Promise.resolve();
|
59
|
-
}
|
60
|
-
getValue() {
|
61
|
-
if (this.state instanceof BehaviorSubject) {
|
62
|
-
return this.state.getValue();
|
63
|
-
}
|
64
|
-
throw new Error('Only possible for FakeTopic with initial value');
|
65
|
-
}
|
66
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
67
|
-
destroy() { }
|
68
|
-
}
|
69
|
-
|
70
40
|
/**
|
71
41
|
* @deprecated use provideAppStateServiceMock()
|
72
42
|
*/
|
@@ -100,10 +70,10 @@ class AppStateServiceMock {
|
|
100
70
|
});
|
101
71
|
this.isAuthenticated$ = new FakeTopic(null);
|
102
72
|
}
|
103
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
104
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
73
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AppStateServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
74
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AppStateServiceMock }); }
|
105
75
|
}
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AppStateServiceMock, decorators: [{
|
107
77
|
type: Injectable
|
108
78
|
}] });
|
109
79
|
|
@@ -112,7 +82,7 @@ function provideConfigurationServiceMock() {
|
|
112
82
|
}
|
113
83
|
class ConfigurationServiceMock {
|
114
84
|
constructor() {
|
115
|
-
this.config$ = new FakeTopic(
|
85
|
+
this.config$ = new FakeTopic();
|
116
86
|
this.isInitializedPromise = new Promise((resolve) => {
|
117
87
|
this.resolveInitPromise = resolve;
|
118
88
|
});
|
@@ -141,10 +111,10 @@ class ConfigurationServiceMock {
|
|
141
111
|
getConfig() {
|
142
112
|
return this.config$.getValue();
|
143
113
|
}
|
144
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
145
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
114
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ConfigurationServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
115
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ConfigurationServiceMock, providedIn: 'root' }); }
|
146
116
|
}
|
147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ConfigurationServiceMock, decorators: [{
|
148
118
|
type: Injectable,
|
149
119
|
args: [{ providedIn: 'root' }]
|
150
120
|
}], ctorParameters: () => [] });
|
@@ -175,10 +145,10 @@ class PortalMessageServiceMock {
|
|
175
145
|
severity: severity,
|
176
146
|
});
|
177
147
|
}
|
178
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
179
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
148
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PortalMessageServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
149
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PortalMessageServiceMock, providedIn: 'any' }); }
|
180
150
|
}
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PortalMessageServiceMock, decorators: [{
|
182
152
|
type: Injectable,
|
183
153
|
args: [{ providedIn: 'any' }]
|
184
154
|
}] });
|
@@ -190,32 +160,14 @@ class RemoteComponentsServiceMock {
|
|
190
160
|
constructor() {
|
191
161
|
this.remoteComponents$ = new FakeTopic();
|
192
162
|
}
|
193
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
194
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
163
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RemoteComponentsServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
164
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RemoteComponentsServiceMock, providedIn: 'root' }); }
|
195
165
|
}
|
196
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RemoteComponentsServiceMock, decorators: [{
|
197
167
|
type: Injectable,
|
198
168
|
args: [{ providedIn: 'root' }]
|
199
169
|
}] });
|
200
170
|
|
201
|
-
function provideShellCapabilityServiceMock() {
|
202
|
-
return [ShellCapabilityServiceMock, { provide: ShellCapabilityService, useExisting: ShellCapabilityServiceMock }];
|
203
|
-
}
|
204
|
-
class ShellCapabilityServiceMock {
|
205
|
-
static { this.capabilities = []; }
|
206
|
-
static setCapabilities(capabilities) {
|
207
|
-
ShellCapabilityServiceMock.capabilities = capabilities;
|
208
|
-
}
|
209
|
-
hasCapability(capability) {
|
210
|
-
return ShellCapabilityServiceMock.capabilities?.includes(capability) ?? false;
|
211
|
-
}
|
212
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCapabilityServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
213
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCapabilityServiceMock }); }
|
214
|
-
}
|
215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShellCapabilityServiceMock, decorators: [{
|
216
|
-
type: Injectable
|
217
|
-
}] });
|
218
|
-
|
219
171
|
function provideUserServiceMock() {
|
220
172
|
return [UserServiceMock, { provide: UserService, useExisting: UserServiceMock }];
|
221
173
|
}
|
@@ -241,17 +193,35 @@ class UserServiceMock {
|
|
241
193
|
get isInitialized() {
|
242
194
|
return Promise.resolve();
|
243
195
|
}
|
244
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
245
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
196
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: UserServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
197
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: UserServiceMock, providedIn: 'root' }); }
|
246
198
|
}
|
247
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: UserServiceMock, decorators: [{
|
248
200
|
type: Injectable,
|
249
201
|
args: [{ providedIn: 'root' }]
|
250
202
|
}] });
|
251
203
|
|
204
|
+
function provideShellCapabilityServiceMock() {
|
205
|
+
return [ShellCapabilityServiceMock, { provide: ShellCapabilityService, useExisting: ShellCapabilityServiceMock }];
|
206
|
+
}
|
207
|
+
class ShellCapabilityServiceMock {
|
208
|
+
static { this.capabilities = []; }
|
209
|
+
static setCapabilities(capabilities) {
|
210
|
+
ShellCapabilityServiceMock.capabilities = capabilities;
|
211
|
+
}
|
212
|
+
hasCapability(capability) {
|
213
|
+
return ShellCapabilityServiceMock.capabilities?.includes(capability) ?? false;
|
214
|
+
}
|
215
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ShellCapabilityServiceMock, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
216
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ShellCapabilityServiceMock }); }
|
217
|
+
}
|
218
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ShellCapabilityServiceMock, decorators: [{
|
219
|
+
type: Injectable
|
220
|
+
}] });
|
221
|
+
|
252
222
|
/**
|
253
223
|
* Generated bundle index. Do not edit.
|
254
224
|
*/
|
255
225
|
|
256
|
-
export { AppConfigServiceMock, AppStateServiceMock, ConfigurationServiceMock,
|
226
|
+
export { AppConfigServiceMock, AppStateServiceMock, ConfigurationServiceMock, PortalMessageServiceMock, RemoteComponentsServiceMock, ShellCapabilityServiceMock, UserServiceMock, provideAppConfigServiceMock, provideAppServiceMock, provideAppStateServiceMock, provideConfigurationServiceMock, providePortalMessageServiceMock, provideRemoteComponentsServiceMock, provideShellCapabilityServiceMock, provideUserServiceMock };
|
257
227
|
//# sourceMappingURL=onecx-angular-integration-interface-mocks.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"onecx-angular-integration-interface-mocks.mjs","sources":["../../../../libs/angular-integration-interface/mocks/app-config-service-mock.ts","../../../../libs/angular-integration-interface/mocks/fake-topic.ts","../../../../libs/angular-integration-interface/mocks/app-state-service-mock.ts","../../../../libs/angular-integration-interface/mocks/configuration-service-mock.ts","../../../../libs/angular-integration-interface/mocks/portal-message-service-mock.ts","../../../../libs/angular-integration-interface/mocks/remote-components-service-mock.ts","../../../../libs/angular-integration-interface/mocks/shell-capability-service-mock.ts","../../../../libs/angular-integration-interface/mocks/user-service-mock.ts","../../../../libs/angular-integration-interface/mocks/onecx-angular-integration-interface-mocks.ts"],"sourcesContent":["import { Injectable } from '@angular/core'\nimport { BehaviorSubject } from 'rxjs'\nimport { Config } from '@onecx/integration-interface'\nimport { AppConfigService } from '@onecx/angular-integration-interface'\n\nexport function provideAppConfigServiceMock() {\n return [AppConfigServiceMock, { provide: AppConfigService, useExisting: AppConfigServiceMock }]\n}\n@Injectable()\nexport class AppConfigServiceMock {\n config$ = new BehaviorSubject<{ [key: string]: string }>({})\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public init(baseUrl: string): Promise<void> {\n return new Promise((resolve) => {\n const mockConfig: Config = { key: 'config' }\n this.config$.next(mockConfig)\n resolve()\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 { Subject, Observable, Observer, Subscription, UnaryFunction, BehaviorSubject, ReplaySubject } from 'rxjs'\n\nexport class FakeTopic<T> {\n private state: Subject<T>\n constructor(initialValue: T | undefined = undefined) {\n if (initialValue !== undefined) {\n this.state = new BehaviorSubject<T>(initialValue)\n } else {\n this.state = new ReplaySubject<T>(1)\n }\n }\n asObservable(): Observable<T> {\n return this.state.asObservable()\n }\n\n subscribe(\n observerOrNext?: Partial<Observer<T>> | ((value: T) => void),\n error?: (error: any) => void,\n complete?: () => void\n ): Subscription {\n return (<any>this.asObservable()).subscribe(observerOrNext, error, complete)\n }\n\n pipe(...operations: UnaryFunction<any, any>[]): unknown {\n return (<any>this.asObservable()).pipe(...operations)\n }\n\n publish(value: T): Promise<void> {\n this.state.next(value)\n return Promise.resolve()\n }\n\n getValue(): T | undefined {\n if (this.state instanceof BehaviorSubject) {\n return this.state.getValue()\n }\n throw new Error('Only possible for FakeTopic with initial value')\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n destroy(): void {}\n}\n","import { Injectable } from '@angular/core'\nimport { CurrentLocationTopicPayload, MfeInfo, PageInfo, Workspace } from '@onecx/integration-interface'\n// eslint-disable-next-line\nimport { AppStateService } from '@onecx/angular-integration-interface'\nimport { FakeTopic } from './fake-topic'\n\n/**\n * @deprecated use provideAppStateServiceMock()\n */\nexport function provideAppServiceMock() {\n return provideAppStateServiceMock()\n}\n\nexport function provideAppStateServiceMock() {\n return [AppStateServiceMock, { provide: AppStateService, useExisting: AppStateServiceMock }]\n}\n\n@Injectable()\nexport class AppStateServiceMock {\n globalError$ = new FakeTopic()\n globalLoading$ = new FakeTopic(false)\n currentMfe$ = new FakeTopic<MfeInfo>({ mountPath: '/', remoteBaseUrl: '.', baseHref: '/', shellName: 'test', appId: 'test', productName: 'test' })\n currentPage$ = new FakeTopic<PageInfo | undefined>(undefined)\n currentPortal$ = new FakeTopic<Workspace>({\n baseUrl: '/',\n microfrontendRegistrations: [],\n portalName: 'Test portal',\n workspaceName: 'Test portal',\n })\n currentWorkspace$ = new FakeTopic<Workspace>({\n baseUrl: '/',\n microfrontendRegistrations: [],\n portalName: 'Test workspace',\n workspaceName: 'Test workspace',\n })\n currentLocation$ = new FakeTopic<CurrentLocationTopicPayload>({\n url: '/',\n isFirst: true,\n })\n isAuthenticated$ = new FakeTopic<null>(null)\n}\n","import { Injectable } from '@angular/core'\nimport { Config } from '@onecx/integration-interface'\nimport { CONFIG_KEY } from '@onecx/angular-integration-interface'\nimport { FakeTopic } from './fake-topic'\nimport { firstValueFrom } from 'rxjs/internal/firstValueFrom'\nimport { ConfigurationService } from '@onecx/angular-integration-interface'\n\nexport function provideConfigurationServiceMock() {\n return [ConfigurationServiceMock, { provide: ConfigurationService, useExisting: ConfigurationServiceMock }]\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ConfigurationServiceMock {\n config$ = new FakeTopic<Config>({})\n\n private resolveInitPromise!: (value: void | PromiseLike<void>) => void\n private isInitializedPromise: Promise<void>\n\n constructor() {\n this.isInitializedPromise = new Promise<void>((resolve) => {\n this.resolveInitPromise = resolve\n })\n }\n\n public init(config?: Config): Promise<boolean> {\n return this.config$.publish(config ?? {}).then(() => {\n this.resolveInitPromise()\n return true\n })\n }\n\n get isInitialized(): Promise<void> {\n return this.isInitializedPromise\n }\n\n public getProperty(key: CONFIG_KEY): string | undefined {\n const config = this.config$.getValue()\n if (config && typeof config[key] === 'string') {\n return config[key]\n }\n return undefined\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","import { Injectable } from '@angular/core'\nimport { FakeTopic } from './fake-topic'\nimport { Message as PortalMessage, PortalMessageService } from '@onecx/angular-integration-interface'\nimport { Message } from '@onecx/integration-interface'\n\nexport function providePortalMessageServiceMock() {\n return [PortalMessageServiceMock, { provide: PortalMessageService, useExisting: PortalMessageServiceMock }]\n}\n@Injectable({ providedIn: 'any' })\nexport class PortalMessageServiceMock {\n message$ = new FakeTopic<Message>()\n\n success(msg: PortalMessage) {\n this.addTranslated('success', msg)\n }\n\n info(msg: PortalMessage) {\n this.addTranslated('info', msg)\n }\n\n error(msg: PortalMessage) {\n this.addTranslated('error', msg)\n }\n\n warning(msg: PortalMessage) {\n this.addTranslated('warning', msg)\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n private addTranslated(severity: string, msg: PortalMessage) {\n this.message$.publish({\n ...msg,\n severity: severity,\n })\n }\n}\n","import { Injectable } from '@angular/core'\nimport { FakeTopic } from './fake-topic'\nimport { RemoteComponentsInfo } from '@onecx/integration-interface'\nimport { RemoteComponentsService } from '@onecx/angular-integration-interface'\n\nexport function provideRemoteComponentsServiceMock() {\n return [RemoteComponentsServiceMock, { provide: RemoteComponentsService, useExisting: RemoteComponentsServiceMock }]\n}\n@Injectable({ providedIn: 'root' })\nexport class RemoteComponentsServiceMock {\n remoteComponents$ = new FakeTopic<RemoteComponentsInfo>()\n}\n","import { Injectable } from '@angular/core'\nimport { Capability, ShellCapabilityService } from '@onecx/angular-integration-interface'\n\nexport function provideShellCapabilityServiceMock() {\n return [ShellCapabilityServiceMock, { provide: ShellCapabilityService, useExisting: ShellCapabilityServiceMock }]\n}\n\n@Injectable()\nexport class ShellCapabilityServiceMock {\n static capabilities: Capability[] = []\n\n static setCapabilities(capabilities: Capability[]): void {\n ShellCapabilityServiceMock.capabilities = capabilities\n }\n\n hasCapability(capability: Capability): boolean {\n return ShellCapabilityServiceMock.capabilities?.includes(capability) ?? false\n }\n}\n","import { Injectable } from '@angular/core'\nimport { BehaviorSubject } from 'rxjs'\nimport { UserProfile } from '@onecx/integration-interface'\nimport { FakeTopic } from './fake-topic'\nimport { UserService } from '@onecx/angular-integration-interface'\n\nexport function provideUserServiceMock() {\n return [UserServiceMock, { provide: UserService, useExisting: UserServiceMock }]\n}\n\n@Injectable({ providedIn: 'root' })\nexport class UserServiceMock {\n profile$ = new FakeTopic<UserProfile>()\n permissions$ = new BehaviorSubject<string[]>(['mocked-permission'])\n lang$ = new BehaviorSubject('en')\n\n hasPermission(permissionKey: string | string[]): boolean {\n if (Array.isArray(permissionKey)) {\n return permissionKey.every((key) => this.permissions$.getValue().includes(key))\n }\n return this.permissions$.getValue().includes(permissionKey)\n }\n\n determineLanguage(): string | undefined {\n return 'mocked-lang'\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n extractPermissions(userProfile: UserProfile): string[] | null {\n return ['mocked-permission']\n }\n\n get isInitialized(): Promise<void> {\n return Promise.resolve()\n }\n}\n\nexport type MockUserService = UserServiceMock\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"onecx-angular-integration-interface-mocks.mjs","sources":["../../../../libs/angular-integration-interface/mocks/app-config-service-mock.ts","../../../../libs/angular-integration-interface/mocks/app-state-service-mock.ts","../../../../libs/angular-integration-interface/mocks/configuration-service-mock.ts","../../../../libs/angular-integration-interface/mocks/portal-message-service-mock.ts","../../../../libs/angular-integration-interface/mocks/remote-components-service-mock.ts","../../../../libs/angular-integration-interface/mocks/user-service-mock.ts","../../../../libs/angular-integration-interface/mocks/shell-capability-service-mock.ts","../../../../libs/angular-integration-interface/mocks/onecx-angular-integration-interface-mocks.ts"],"sourcesContent":["import { Injectable } from '@angular/core'\nimport { BehaviorSubject } from 'rxjs'\nimport { Config } from '@onecx/integration-interface'\nimport { AppConfigService } from '@onecx/angular-integration-interface'\n\nexport function provideAppConfigServiceMock() {\n return [AppConfigServiceMock, { provide: AppConfigService, useExisting: AppConfigServiceMock }]\n}\n@Injectable()\nexport class AppConfigServiceMock {\n config$ = new BehaviorSubject<{ [key: string]: string }>({})\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n public init(baseUrl: string): Promise<void> {\n return new Promise((resolve) => {\n const mockConfig: Config = { key: 'config' }\n this.config$.next(mockConfig)\n resolve()\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 } from '@angular/core'\nimport { CurrentLocationTopicPayload, MfeInfo, PageInfo, Workspace } from '@onecx/integration-interface'\n// eslint-disable-next-line\nimport { AppStateService } from '@onecx/angular-integration-interface'\nimport { FakeTopic } from '@onecx/accelerator'\n\n/**\n * @deprecated use provideAppStateServiceMock()\n */\nexport function provideAppServiceMock() {\n return provideAppStateServiceMock()\n}\n\nexport function provideAppStateServiceMock() {\n return [AppStateServiceMock, { provide: AppStateService, useExisting: AppStateServiceMock }]\n}\n\n@Injectable()\nexport class AppStateServiceMock {\n globalError$ = new FakeTopic()\n globalLoading$ = new FakeTopic(false)\n currentMfe$ = new FakeTopic<MfeInfo>({ mountPath: '/', remoteBaseUrl: '.', baseHref: '/', shellName: 'test', appId: 'test', productName: 'test' })\n currentPage$ = new FakeTopic<PageInfo | undefined>(undefined)\n currentPortal$ = new FakeTopic<Workspace>({\n baseUrl: '/',\n microfrontendRegistrations: [],\n portalName: 'Test portal',\n workspaceName: 'Test portal',\n })\n currentWorkspace$ = new FakeTopic<Workspace>({\n baseUrl: '/',\n microfrontendRegistrations: [],\n portalName: 'Test workspace',\n workspaceName: 'Test workspace',\n })\n currentLocation$ = new FakeTopic<CurrentLocationTopicPayload>({\n url: '/',\n isFirst: true,\n })\n isAuthenticated$ = new FakeTopic<null>(null)\n}\n","import { Injectable } from '@angular/core'\nimport { Config } from '@onecx/integration-interface'\nimport { CONFIG_KEY } from '@onecx/angular-integration-interface'\nimport { firstValueFrom } from 'rxjs/internal/firstValueFrom'\nimport { ConfigurationService } from '@onecx/angular-integration-interface'\nimport { FakeTopic } from '@onecx/accelerator'\n\nexport function provideConfigurationServiceMock() {\n return [ConfigurationServiceMock, { provide: ConfigurationService, useExisting: ConfigurationServiceMock }]\n}\n\n@Injectable({ providedIn: 'root' })\nexport class ConfigurationServiceMock {\n config$ = new FakeTopic<Config>()\n\n private resolveInitPromise!: (value: void | PromiseLike<void>) => void\n private isInitializedPromise: Promise<void>\n\n constructor() {\n this.isInitializedPromise = new Promise<void>((resolve) => {\n this.resolveInitPromise = resolve\n })\n }\n\n public init(config?: Config): Promise<boolean> {\n return this.config$.publish(config ?? {}).then(() => {\n this.resolveInitPromise()\n return true\n })\n }\n\n get isInitialized(): Promise<void> {\n return this.isInitializedPromise\n }\n\n public getProperty(key: CONFIG_KEY): string | undefined {\n const config = this.config$.getValue()\n if (config && typeof config[key] === 'string') {\n return config[key]\n }\n return undefined\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","import { Injectable } from '@angular/core'\nimport { FakeTopic } from '@onecx/accelerator'\nimport { Message as PortalMessage, PortalMessageService } from '@onecx/angular-integration-interface'\nimport { Message } from '@onecx/integration-interface'\n\nexport function providePortalMessageServiceMock() {\n return [PortalMessageServiceMock, { provide: PortalMessageService, useExisting: PortalMessageServiceMock }]\n}\n@Injectable({ providedIn: 'any' })\nexport class PortalMessageServiceMock {\n message$ = new FakeTopic<Message>()\n\n success(msg: PortalMessage) {\n this.addTranslated('success', msg)\n }\n\n info(msg: PortalMessage) {\n this.addTranslated('info', msg)\n }\n\n error(msg: PortalMessage) {\n this.addTranslated('error', msg)\n }\n\n warning(msg: PortalMessage) {\n this.addTranslated('warning', msg)\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n private addTranslated(severity: string, msg: PortalMessage) {\n this.message$.publish({\n ...msg,\n severity: severity,\n })\n }\n}\n","import { Injectable } from '@angular/core'\nimport { RemoteComponentsInfo } from '@onecx/integration-interface'\nimport { RemoteComponentsService } from '@onecx/angular-integration-interface'\nimport { FakeTopic } from '@onecx/accelerator'\n\nexport function provideRemoteComponentsServiceMock() {\n return [RemoteComponentsServiceMock, { provide: RemoteComponentsService, useExisting: RemoteComponentsServiceMock }]\n}\n@Injectable({ providedIn: 'root' })\nexport class RemoteComponentsServiceMock {\n remoteComponents$ = new FakeTopic<RemoteComponentsInfo>()\n}\n","import { Injectable } from '@angular/core'\nimport { BehaviorSubject } from 'rxjs'\nimport { UserProfile } from '@onecx/integration-interface'\nimport { FakeTopic } from '@onecx/accelerator'\nimport { UserService } from '@onecx/angular-integration-interface'\n\nexport function provideUserServiceMock() {\n return [UserServiceMock, { provide: UserService, useExisting: UserServiceMock }]\n}\n\n@Injectable({ providedIn: 'root' })\nexport class UserServiceMock {\n profile$ = new FakeTopic<UserProfile>()\n permissions$ = new BehaviorSubject<string[]>(['mocked-permission'])\n lang$ = new BehaviorSubject('en')\n\n hasPermission(permissionKey: string | string[]): boolean {\n if (Array.isArray(permissionKey)) {\n return permissionKey.every((key) => this.permissions$.getValue().includes(key))\n }\n return this.permissions$.getValue().includes(permissionKey)\n }\n\n determineLanguage(): string | undefined {\n return 'mocked-lang'\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n extractPermissions(userProfile: UserProfile): string[] | null {\n return ['mocked-permission']\n }\n\n get isInitialized(): Promise<void> {\n return Promise.resolve()\n }\n}\n\nexport type MockUserService = UserServiceMock\n","import { Injectable } from '@angular/core'\nimport { Capability, ShellCapabilityService } from '@onecx/angular-integration-interface'\n\nexport function provideShellCapabilityServiceMock() {\n return [ShellCapabilityServiceMock, { provide: ShellCapabilityService, useExisting: ShellCapabilityServiceMock }]\n}\n\n@Injectable()\nexport class ShellCapabilityServiceMock {\n static capabilities: Capability[] = []\n\n static setCapabilities(capabilities: Capability[]): void {\n ShellCapabilityServiceMock.capabilities = capabilities\n }\n\n hasCapability(capability: Capability): boolean {\n return ShellCapabilityServiceMock.capabilities?.includes(capability) ?? false\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -1,14 +1,15 @@
|
|
1
1
|
import { Location } from '@angular/common';
|
2
|
-
import
|
2
|
+
import { HttpClient } from '@angular/common/http';
|
3
3
|
import * as i0 from '@angular/core';
|
4
|
-
import { Injectable, InjectionToken
|
5
|
-
import { BehaviorSubject, firstValueFrom, map, skip, merge, filter, combineLatest, of, first,
|
4
|
+
import { inject, Injectable, InjectionToken } from '@angular/core';
|
5
|
+
import { BehaviorSubject, firstValueFrom, map, skip, merge, filter, combineLatest, of, first, zip, from, tap, mergeMap, isObservable } from 'rxjs';
|
6
6
|
import { GlobalErrorTopic, GlobalLoadingTopic, CurrentMfeTopic, CurrentLocationTopic, CurrentPageTopic, CurrentWorkspaceTopic, IsAuthenticatedTopic, ConfigurationTopic, UserProfileTopic, PermissionsTopic, MessageTopic, CurrentThemeTopic, RemoteComponentsTopic } from '@onecx/integration-interface';
|
7
|
-
import
|
7
|
+
import Semaphore from 'ts-semaphore';
|
8
|
+
import { TranslateService } from '@ngx-translate/core';
|
8
9
|
|
9
10
|
class AppConfigService {
|
10
|
-
constructor(
|
11
|
-
this.http =
|
11
|
+
constructor() {
|
12
|
+
this.http = inject(HttpClient);
|
12
13
|
this.config$ = new BehaviorSubject({});
|
13
14
|
}
|
14
15
|
init(baseUrl) {
|
@@ -36,12 +37,12 @@ class AppConfigService {
|
|
36
37
|
getConfig() {
|
37
38
|
return this.config$.getValue();
|
38
39
|
}
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
40
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AppConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
41
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AppConfigService }); }
|
41
42
|
}
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AppConfigService, decorators: [{
|
43
44
|
type: Injectable
|
44
|
-
}]
|
45
|
+
}] });
|
45
46
|
|
46
47
|
class AppStateService {
|
47
48
|
constructor() {
|
@@ -79,10 +80,10 @@ class AppStateService {
|
|
79
80
|
this.currentWorkspace$.destroy();
|
80
81
|
this.isAuthenticated$.destroy();
|
81
82
|
}
|
82
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
83
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
83
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AppStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
84
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AppStateService, providedIn: 'root' }); }
|
84
85
|
}
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: AppStateService, decorators: [{
|
86
87
|
type: Injectable,
|
87
88
|
args: [{ providedIn: 'root' }]
|
88
89
|
}] });
|
@@ -129,10 +130,11 @@ var CONFIG_KEY;
|
|
129
130
|
})(CONFIG_KEY || (CONFIG_KEY = {}));
|
130
131
|
|
131
132
|
class ConfigurationService {
|
132
|
-
constructor(
|
133
|
-
this.http =
|
134
|
-
this.defaultConfig =
|
133
|
+
constructor() {
|
134
|
+
this.http = inject(HttpClient);
|
135
|
+
this.defaultConfig = inject(APP_CONFIG, { optional: true });
|
135
136
|
this.config$ = new ConfigurationTopic();
|
137
|
+
this.semaphore = new Semaphore(1);
|
136
138
|
}
|
137
139
|
ngOnDestroy() {
|
138
140
|
this.config$.destroy();
|
@@ -170,32 +172,29 @@ class ConfigurationService {
|
|
170
172
|
get isInitialized() {
|
171
173
|
return this.config$.isInitialized;
|
172
174
|
}
|
173
|
-
getProperty(key) {
|
175
|
+
async getProperty(key) {
|
174
176
|
if (!Object.values(CONFIG_KEY).includes(key)) {
|
175
177
|
console.error('Invalid config key ', key);
|
176
178
|
}
|
177
|
-
return this.config$.
|
179
|
+
return firstValueFrom(this.config$.pipe(map((config) => config[key])));
|
178
180
|
}
|
179
181
|
async setProperty(key, val) {
|
180
|
-
|
181
|
-
|
182
|
-
|
182
|
+
return this.semaphore.use(async () => {
|
183
|
+
const currentValues = await firstValueFrom(this.config$.asObservable());
|
184
|
+
currentValues[key] = val;
|
185
|
+
await this.config$.publish(currentValues);
|
186
|
+
});
|
183
187
|
}
|
184
|
-
getConfig() {
|
185
|
-
return this.config$.
|
188
|
+
async getConfig() {
|
189
|
+
return firstValueFrom(this.config$.asObservable());
|
186
190
|
}
|
187
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
188
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
191
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ConfigurationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
192
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ConfigurationService, providedIn: 'root' }); }
|
189
193
|
}
|
190
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
194
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ConfigurationService, decorators: [{
|
191
195
|
type: Injectable,
|
192
196
|
args: [{ providedIn: 'root' }]
|
193
|
-
}]
|
194
|
-
type: Optional
|
195
|
-
}, {
|
196
|
-
type: Inject,
|
197
|
-
args: [APP_CONFIG]
|
198
|
-
}] }] });
|
197
|
+
}] });
|
199
198
|
|
200
199
|
const API_PREFIX = 'portal-api';
|
201
200
|
const DEFAULT_LANG = 'en';
|
@@ -280,17 +279,17 @@ class UserService {
|
|
280
279
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
281
280
|
]).then(() => { });
|
282
281
|
}
|
283
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
284
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
282
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: UserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
283
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: UserService, providedIn: 'root' }); }
|
285
284
|
}
|
286
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
285
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: UserService, decorators: [{
|
287
286
|
type: Injectable,
|
288
287
|
args: [{ providedIn: 'root' }]
|
289
288
|
}], ctorParameters: () => [] });
|
290
289
|
|
291
290
|
class PortalMessageService {
|
292
|
-
constructor(
|
293
|
-
this.translateService =
|
291
|
+
constructor() {
|
292
|
+
this.translateService = inject(TranslateService);
|
294
293
|
this.message$ = new MessageTopic();
|
295
294
|
}
|
296
295
|
success(msg) {
|
@@ -323,52 +322,28 @@ class PortalMessageService {
|
|
323
322
|
ngOnDestroy() {
|
324
323
|
this.message$.destroy();
|
325
324
|
}
|
326
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
327
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
325
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PortalMessageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
326
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PortalMessageService, providedIn: 'any' }); }
|
328
327
|
}
|
329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
328
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: PortalMessageService, decorators: [{
|
330
329
|
type: Injectable,
|
331
330
|
args: [{ providedIn: 'any' }]
|
332
|
-
}]
|
331
|
+
}] });
|
333
332
|
|
334
|
-
const defaultThemeServerUrl = 'http://portal-theme-management:8080';
|
335
333
|
class ThemeService {
|
336
|
-
constructor(
|
337
|
-
this.configService = configService;
|
338
|
-
this.http = http;
|
339
|
-
this.baseUrlV1 = './portal-api';
|
334
|
+
constructor() {
|
340
335
|
this.currentTheme$ = new CurrentThemeTopic();
|
341
336
|
}
|
342
|
-
getThemeHref(themeId) {
|
343
|
-
const themeServerUrl = this.configService.getProperty(CONFIG_KEY.TKIT_PORTAL_THEME_SERVER_URL) || defaultThemeServerUrl;
|
344
|
-
return `${themeServerUrl}/themes/${themeId}/${themeId}.min.css`;
|
345
|
-
}
|
346
|
-
loadAndApplyTheme(themeName) {
|
347
|
-
return this.http.get(`${this.baseUrlV1}/internal/themes/${encodeURI(themeName)}`).pipe(mergeMap((theme) => {
|
348
|
-
return from(this.apply(theme)).pipe(map(() => theme));
|
349
|
-
}));
|
350
|
-
}
|
351
|
-
async apply(theme) {
|
352
|
-
console.log(`🎨 Applying theme: ${theme.name}`);
|
353
|
-
await this.currentTheme$.publish(theme);
|
354
|
-
if (theme.properties) {
|
355
|
-
Object.values(theme.properties).forEach((group) => {
|
356
|
-
for (const [key, value] of Object.entries(group)) {
|
357
|
-
document.documentElement.style.setProperty(`--${key}`, value);
|
358
|
-
}
|
359
|
-
});
|
360
|
-
}
|
361
|
-
}
|
362
337
|
ngOnDestroy() {
|
363
338
|
this.currentTheme$.destroy();
|
364
339
|
}
|
365
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
366
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
340
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ThemeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
341
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ThemeService, providedIn: 'root' }); }
|
367
342
|
}
|
368
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
343
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ThemeService, decorators: [{
|
369
344
|
type: Injectable,
|
370
345
|
args: [{ providedIn: 'root' }]
|
371
|
-
}]
|
346
|
+
}] });
|
372
347
|
|
373
348
|
class RemoteComponentsService {
|
374
349
|
constructor() {
|
@@ -377,20 +352,20 @@ class RemoteComponentsService {
|
|
377
352
|
ngOnDestroy() {
|
378
353
|
this.remoteComponents$.destroy();
|
379
354
|
}
|
380
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
381
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
355
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RemoteComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
356
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RemoteComponentsService, providedIn: 'root' }); }
|
382
357
|
}
|
383
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
358
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: RemoteComponentsService, decorators: [{
|
384
359
|
type: Injectable,
|
385
360
|
args: [{ providedIn: 'root' }]
|
386
361
|
}] });
|
387
362
|
|
388
363
|
class InitializeModuleGuard {
|
389
|
-
constructor(
|
390
|
-
this.translateService =
|
391
|
-
this.configService =
|
392
|
-
this.appStateService =
|
393
|
-
this.userService =
|
364
|
+
constructor() {
|
365
|
+
this.translateService = inject(TranslateService);
|
366
|
+
this.configService = inject(ConfigurationService);
|
367
|
+
this.appStateService = inject(AppStateService);
|
368
|
+
this.userService = inject(UserService);
|
394
369
|
this.SUPPORTED_LANGS = ['en', 'de'];
|
395
370
|
this.DEFAULT_LANG = 'en';
|
396
371
|
}
|
@@ -426,17 +401,17 @@ class InitializeModuleGuard {
|
|
426
401
|
}
|
427
402
|
return from(Promise.resolve(canActivateResult));
|
428
403
|
}
|
429
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
430
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
404
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: InitializeModuleGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
405
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: InitializeModuleGuard, providedIn: 'any' }); }
|
431
406
|
}
|
432
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
407
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: InitializeModuleGuard, decorators: [{
|
433
408
|
type: Injectable,
|
434
409
|
args: [{ providedIn: 'any' }]
|
435
|
-
}]
|
410
|
+
}] });
|
436
411
|
|
437
412
|
class WorkspaceService {
|
438
|
-
constructor(
|
439
|
-
this.appStateService =
|
413
|
+
constructor() {
|
414
|
+
this.appStateService = inject(AppStateService);
|
440
415
|
this.aliasStart = '[[';
|
441
416
|
this.aliasEnd = ']]';
|
442
417
|
this.paramStart = '{';
|
@@ -564,15 +539,15 @@ class WorkspaceService {
|
|
564
539
|
return String(value);
|
565
540
|
}
|
566
541
|
}
|
567
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
568
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
542
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: WorkspaceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
543
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: WorkspaceService, providedIn: 'root' }); }
|
569
544
|
}
|
570
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
545
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: WorkspaceService, decorators: [{
|
571
546
|
type: Injectable,
|
572
547
|
args: [{
|
573
548
|
providedIn: 'root',
|
574
549
|
}]
|
575
|
-
}]
|
550
|
+
}] });
|
576
551
|
|
577
552
|
var Capability;
|
578
553
|
(function (Capability) {
|
@@ -586,10 +561,10 @@ class ShellCapabilityService {
|
|
586
561
|
hasCapability(capability) {
|
587
562
|
return window['onecx-shell-capabilities']?.includes(capability) ?? false;
|
588
563
|
}
|
589
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
590
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
564
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ShellCapabilityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
565
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ShellCapabilityService, providedIn: 'root' }); }
|
591
566
|
}
|
592
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
567
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: ShellCapabilityService, decorators: [{
|
593
568
|
type: Injectable,
|
594
569
|
args: [{ providedIn: 'root' }]
|
595
570
|
}] });
|