aril 0.0.34 → 0.0.35
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/boot/config/api/src/api.service.d.ts +1 -0
- package/boot/config/plugins/index.d.ts +1 -0
- package/boot/config/plugins/src/plugins.service.d.ts +2 -0
- package/boot/mfe/src/bootstrap.d.ts +2 -5
- package/boot/mfe/src/loadStyles.d.ts +1 -1
- package/esm2022/boot/config/api/src/api.service.mjs +14 -5
- package/esm2022/boot/config/apps/src/apps.service.mjs +4 -2
- package/esm2022/boot/config/plugins/index.mjs +2 -1
- package/esm2022/boot/config/plugins/src/getNgZone.mjs +12 -0
- package/esm2022/boot/config/plugins/src/plugins.service.mjs +53 -3
- package/esm2022/boot/mfe/src/bootstrap.mjs +9 -18
- package/esm2022/boot/mfe/src/loadStyles.mjs +2 -2
- package/esm2022/keycloak/src/auth.interceptor.mjs +2 -5
- package/esm2022/keycloak/src/keycloak.manager.mjs +16 -18
- package/fesm2022/aril-boot-config-api.mjs +13 -4
- package/fesm2022/aril-boot-config-api.mjs.map +1 -1
- package/fesm2022/aril-boot-config-apps.mjs +3 -1
- package/fesm2022/aril-boot-config-apps.mjs.map +1 -1
- package/fesm2022/aril-boot-config-plugins.mjs +63 -3
- package/fesm2022/aril-boot-config-plugins.mjs.map +1 -1
- package/fesm2022/{aril-boot-mfe-app.component-dj9I51Tq.mjs → aril-boot-mfe-app.component-ECfwHDdL.mjs} +2 -2
- package/fesm2022/{aril-boot-mfe-app.component-dj9I51Tq.mjs.map → aril-boot-mfe-app.component-ECfwHDdL.mjs.map} +1 -1
- package/fesm2022/{aril-boot-mfe-aril-boot-mfe-dEJYnB0r.mjs → aril-boot-mfe-aril-boot-mfe-SUfb9JsK.mjs} +11 -30
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-SUfb9JsK.mjs.map +1 -0
- package/fesm2022/aril-boot-mfe.mjs +1 -1
- package/fesm2022/aril-keycloak.mjs +16 -19
- package/fesm2022/aril-keycloak.mjs.map +1 -1
- package/fesm2022/aril.mjs +8 -27
- package/fesm2022/aril.mjs.map +1 -1
- package/package.json +7 -7
- package/esm2022/boot/mfe/src/getNgZone.mjs +0 -12
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-dEJYnB0r.mjs.map +0 -1
- /package/boot/{mfe → config/plugins}/src/getNgZone.d.ts +0 -0
|
@@ -7,6 +7,7 @@ export declare function loadApiConfigs(httpBackend: {
|
|
|
7
7
|
}, keycloak: KeycloakManager, appName: string): () => Promise<any>;
|
|
8
8
|
/**
|
|
9
9
|
* micro-app cannot access its own api.json file when opened in host
|
|
10
|
+
* MNG has different controller (host, state-machine etc.)
|
|
10
11
|
*/
|
|
11
12
|
export declare function setApiConfigOnMFEMode(httpBackend: {
|
|
12
13
|
httpClient: HttpClient;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Type } from '@angular/core';
|
|
2
3
|
import { Observable } from 'rxjs';
|
|
3
4
|
import { FactoryClass, PluginConfigs } from './interfaces';
|
|
4
5
|
export declare const PLUGINS: FactoryClass & PluginConfigs;
|
|
5
6
|
export declare function loadPlugins(httpBackend: {
|
|
6
7
|
httpClient: HttpClient;
|
|
7
8
|
}): () => Observable<any>;
|
|
9
|
+
export declare function bootPlugin(selector: string, component: Type<any>): Promise<void>;
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { Type } from '@angular/core';
|
|
2
1
|
import { Routes } from '@angular/router';
|
|
3
2
|
import { MenuItem } from 'primeng/api';
|
|
4
3
|
import { Apps } from 'aril/boot/config/apps';
|
|
5
|
-
export declare var appName: Apps
|
|
4
|
+
export declare var appName: Apps;
|
|
6
5
|
export declare var menuItems: MenuItem[];
|
|
7
|
-
export declare const boot: (_appName: Apps, _routes: Routes, _menuItems: MenuItem[]
|
|
8
|
-
[selector: string]: Type<any>;
|
|
9
|
-
} | undefined) => void;
|
|
6
|
+
export declare const boot: (_appName: Apps, _routes: Routes, _menuItems: MenuItem[]) => void;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Apps } from 'aril/boot/config/apps';
|
|
2
2
|
import { StyleLoaderService } from 'aril/util/loaders';
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function loadStyles(styleLoaderService: StyleLoaderService, appName: Apps): () => Promise<any>;
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { isDevMode } from '@angular/core';
|
|
2
2
|
import { firstValueFrom, tap } from 'rxjs';
|
|
3
|
+
import { Apps } from 'aril/boot/config/apps';
|
|
3
4
|
import { ApiConfigsFactory } from './interfaces';
|
|
4
5
|
export const API_CONFIGS = new ApiConfigsFactory();
|
|
5
6
|
export function loadApiConfigs(httpBackend, keycloak, appName) {
|
|
6
7
|
return () => {
|
|
7
8
|
const configDeps = [];
|
|
8
9
|
const observable$ = httpBackend.httpClient
|
|
9
|
-
.get(isDevMode() ? './assets/api.local.json' : './api.json')
|
|
10
|
+
.get(isDevMode() ? './assets/local-configs/api.local.json' : './assets/api.json')
|
|
10
11
|
.pipe(tap((configs) => {
|
|
11
12
|
Object.assign(API_CONFIGS, { ...configs });
|
|
12
|
-
|
|
13
|
+
if (isDevMode())
|
|
14
|
+
globalThis.hostAPI = API_CONFIGS.api;
|
|
13
15
|
configDeps.push(keycloak.init(API_CONFIGS.keycloak));
|
|
14
16
|
}));
|
|
15
17
|
return firstValueFrom(observable$).then(() => {
|
|
@@ -19,15 +21,22 @@ export function loadApiConfigs(httpBackend, keycloak, appName) {
|
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
21
23
|
* micro-app cannot access its own api.json file when opened in host
|
|
24
|
+
* MNG has different controller (host, state-machine etc.)
|
|
22
25
|
*/
|
|
23
26
|
export function setApiConfigOnMFEMode(httpBackend, keycloak, appName) {
|
|
24
27
|
return () => {
|
|
25
28
|
if (isDevMode()) {
|
|
26
|
-
|
|
29
|
+
if (appName === Apps.MNG)
|
|
30
|
+
API_CONFIGS.api = globalThis.hostAPI;
|
|
31
|
+
else
|
|
32
|
+
API_CONFIGS.api = globalThis.hostAPI + '/' + appName + '/v1';
|
|
27
33
|
}
|
|
28
34
|
else {
|
|
29
|
-
|
|
35
|
+
if (appName === Apps.MNG)
|
|
36
|
+
API_CONFIGS.api = window.location.origin;
|
|
37
|
+
else
|
|
38
|
+
API_CONFIGS.api = window.location.origin + '/' + appName + '/v1';
|
|
30
39
|
}
|
|
31
40
|
};
|
|
32
41
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL2Jvb3QvY29uZmlnL2FwaS9zcmMvYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7QUFFbkQsTUFBTSxVQUFVLGNBQWMsQ0FDN0IsV0FBdUMsRUFDdkMsUUFBeUIsRUFDekIsT0FBZTtJQUVmLE9BQU8sR0FBRyxFQUFFO1FBQ1gsTUFBTSxVQUFVLEdBQW1CLEVBQUUsQ0FBQztRQUV0QyxNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsVUFBVTthQUN4QyxHQUFHLENBQW9CLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyx1Q0FBdUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7YUFDbkcsSUFBSSxDQUNKLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFFM0MsSUFBSSxTQUFTLEVBQUU7Z0JBQVEsVUFBVyxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDO1lBRTdELFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FDRixDQUFDO1FBRUgsT0FBTyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUM1QyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7QUFDSCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNwQyxXQUF1QyxFQUN2QyxRQUF5QixFQUN6QixPQUFlO0lBRWYsT0FBTyxHQUFHLEVBQUU7UUFDWCxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDakIsSUFBSSxPQUFPLEtBQUssSUFBSSxDQUFDLEdBQUc7Z0JBQUUsV0FBVyxDQUFDLEdBQUcsR0FBUyxVQUFXLENBQUMsT0FBTyxDQUFDOztnQkFDakUsV0FBVyxDQUFDLEdBQUcsR0FBUyxVQUFXLENBQUMsT0FBTyxHQUFHLEdBQUcsR0FBRyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzFFLENBQUM7YUFBTSxDQUFDO1lBQ1AsSUFBSSxPQUFPLEtBQUssSUFBSSxDQUFDLEdBQUc7Z0JBQUUsV0FBVyxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQzs7Z0JBQzlELFdBQVcsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDdkUsQ0FBQztJQUNGLENBQUMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCB0YXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEFwcHMgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xyXG5pbXBvcnQgeyBLZXljbG9ha01hbmFnZXIgfSBmcm9tICdhcmlsL2tleWNsb2FrJztcclxuXHJcbmltcG9ydCB7IEFwaUNvbmZpZ3NGYWN0b3J5IH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcclxuXHJcbmV4cG9ydCBjb25zdCBBUElfQ09ORklHUyA9IG5ldyBBcGlDb25maWdzRmFjdG9yeSgpO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBcGlDb25maWdzKFxyXG5cdGh0dHBCYWNrZW5kOiB7IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQgfSxcclxuXHRrZXljbG9hazogS2V5Y2xvYWtNYW5hZ2VyLFxyXG5cdGFwcE5hbWU6IHN0cmluZ1xyXG4pOiAoKSA9PiBQcm9taXNlPGFueT4ge1xyXG5cdHJldHVybiAoKSA9PiB7XHJcblx0XHRjb25zdCBjb25maWdEZXBzOiBQcm9taXNlPGFueT5bXSA9IFtdO1xyXG5cclxuXHRcdGNvbnN0IG9ic2VydmFibGUkID0gaHR0cEJhY2tlbmQuaHR0cENsaWVudFxyXG5cdFx0XHQuZ2V0PEFwaUNvbmZpZ3NGYWN0b3J5Pihpc0Rldk1vZGUoKSA/ICcuL2Fzc2V0cy9sb2NhbC1jb25maWdzL2FwaS5sb2NhbC5qc29uJyA6ICcuL2Fzc2V0cy9hcGkuanNvbicpXHJcblx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdHRhcCgoY29uZmlncykgPT4ge1xyXG5cdFx0XHRcdFx0T2JqZWN0LmFzc2lnbihBUElfQ09ORklHUywgeyAuLi5jb25maWdzIH0pO1xyXG5cclxuXHRcdFx0XHRcdGlmIChpc0Rldk1vZGUoKSkgKDxhbnk+Z2xvYmFsVGhpcykuaG9zdEFQSSA9IEFQSV9DT05GSUdTLmFwaTtcclxuXHJcblx0XHRcdFx0XHRjb25maWdEZXBzLnB1c2goa2V5Y2xvYWsuaW5pdChBUElfQ09ORklHUy5rZXljbG9haykpO1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdCk7XHJcblxyXG5cdFx0cmV0dXJuIGZpcnN0VmFsdWVGcm9tKG9ic2VydmFibGUkKS50aGVuKCgpID0+IHtcclxuXHRcdFx0cmV0dXJuIFByb21pc2UuYWxsKGNvbmZpZ0RlcHMpO1xyXG5cdFx0fSk7XHJcblx0fTtcclxufVxyXG5cclxuLyoqXHJcbiAqIG1pY3JvLWFwcCBjYW5ub3QgYWNjZXNzIGl0cyBvd24gYXBpLmpzb24gZmlsZSB3aGVuIG9wZW5lZCBpbiBob3N0XHJcbiAqIE1ORyBoYXMgZGlmZmVyZW50IGNvbnRyb2xsZXIgKGhvc3QsIHN0YXRlLW1hY2hpbmUgZXRjLilcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXRBcGlDb25maWdPbk1GRU1vZGUoXHJcblx0aHR0cEJhY2tlbmQ6IHsgaHR0cENsaWVudDogSHR0cENsaWVudCB9LFxyXG5cdGtleWNsb2FrOiBLZXljbG9ha01hbmFnZXIsXHJcblx0YXBwTmFtZTogc3RyaW5nXHJcbik6ICgpID0+IHZvaWQge1xyXG5cdHJldHVybiAoKSA9PiB7XHJcblx0XHRpZiAoaXNEZXZNb2RlKCkpIHtcclxuXHRcdFx0aWYgKGFwcE5hbWUgPT09IEFwcHMuTU5HKSBBUElfQ09ORklHUy5hcGkgPSAoPGFueT5nbG9iYWxUaGlzKS5ob3N0QVBJO1xyXG5cdFx0XHRlbHNlIEFQSV9DT05GSUdTLmFwaSA9ICg8YW55Pmdsb2JhbFRoaXMpLmhvc3RBUEkgKyAnLycgKyBhcHBOYW1lICsgJy92MSc7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHRpZiAoYXBwTmFtZSA9PT0gQXBwcy5NTkcpIEFQSV9DT05GSUdTLmFwaSA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XHJcblx0XHRcdGVsc2UgQVBJX0NPTkZJR1MuYXBpID0gd2luZG93LmxvY2F0aW9uLm9yaWdpbiArICcvJyArIGFwcE5hbWUgKyAnL3YxJztcclxuXHRcdH1cclxuXHR9O1xyXG59XHJcbiJdfQ==
|
|
@@ -12,7 +12,9 @@ export class MicroAppService {
|
|
|
12
12
|
this.appMenuService = inject(AppMenuService);
|
|
13
13
|
}
|
|
14
14
|
init(httpBackend) {
|
|
15
|
-
return () => httpBackend.httpClient
|
|
15
|
+
return () => httpBackend.httpClient
|
|
16
|
+
.get(isDevMode() ? './assets/local-configs/app.local.json' : './app.json')
|
|
17
|
+
.pipe(tap((apps) => {
|
|
16
18
|
const routes = this.buildRoutes(apps);
|
|
17
19
|
this.router.resetConfig([...this.router.config, ...routes, { path: '**', component: NotFoundComponent }]);
|
|
18
20
|
this.setMenuItems(apps);
|
|
@@ -46,4 +48,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
46
48
|
type: Injectable,
|
|
47
49
|
args: [{ providedIn: 'root' }]
|
|
48
50
|
}] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC9ib290L2NvbmZpZy9hcHBzL3NyYy9hcHBzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxNQUFNLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUlqRCxPQUFPLEVBQ04sbUJBQW1CLEVBRW5CLFVBQVUsRUFDVixNQUFNLDZDQUE2QyxDQUFDO0FBQ3JELE9BQU8sRUFBYyxVQUFVLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFHM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBR2hFLE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRVMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQXlDaEQ7SUF2Q0EsSUFBSSxDQUFDLFdBQXVDO1FBQzNDLE9BQU8sR0FBRyxFQUFFLENBQ1gsV0FBVyxDQUFDLFVBQVU7YUFDcEIsR0FBRyxDQUFtQixTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQzthQUMzRixJQUFJLENBQ0osR0FBRyxDQUFDLENBQUMsSUFBc0IsRUFBRSxFQUFFO1lBQzlCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFdEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQzdDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDYixDQUFDLENBQUMsQ0FDRixDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFzQjtRQUNqQyxNQUFNLE1BQU0sR0FBVyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLE9BQU8sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUN0QyxTQUFTLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMseUJBQXlCO1lBQ3BGLElBQUksRUFBRSxNQUFvQztTQUMxQyxDQUFDLENBQUMsQ0FBQztRQUVKLE9BQU8sTUFBTSxDQUFDO0lBQ2YsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFzQjtRQUNsQyxNQUFNLFNBQVMsR0FBZSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDakQsT0FBTztnQkFDTixLQUFLLEVBQUUsTUFBTSxDQUFDLFVBQVU7Z0JBQ3hCLElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVTthQUM3QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUMxRCxDQUFDOzhHQTFDVyxlQUFlO2tIQUFmLGVBQWUsY0FERixNQUFNOzsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QsIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuXHJcbmltcG9ydCB7XHJcblx0V2ViQ29tcG9uZW50V3JhcHBlcixcclxuXHRXZWJDb21wb25lbnRXcmFwcGVyT3B0aW9ucyxcclxuXHRzdGFydHNXaXRoXHJcbn0gZnJvbSAnQGFuZ3VsYXItYXJjaGl0ZWN0cy9tb2R1bGUtZmVkZXJhdGlvbi10b29scyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIG9mLCB0YXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEFwcE1lbnVTZXJ2aWNlIH0gZnJvbSAnYXJpbC90aGVtZS9sYXlvdXQnO1xyXG5pbXBvcnQgeyBOb3RGb3VuZENvbXBvbmVudCB9IGZyb20gJ2FyaWwvdXRpbC9jdXN0b21fcGFnZXMnO1xyXG5cclxuaW1wb3J0IHsgTWljcm9BcHBDb25maWcgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBTaGFkb3dET01XcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9zaG93ZG93RE9NV3JhcHBlcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgTWljcm9BcHBTZXJ2aWNlIHtcclxuXHRwcml2YXRlIHJvdXRlciA9IGluamVjdChSb3V0ZXIpO1xyXG5cdHByaXZhdGUgYXBwTWVudVNlcnZpY2UgPSBpbmplY3QoQXBwTWVudVNlcnZpY2UpO1xyXG5cclxuXHRpbml0KGh0dHBCYWNrZW5kOiB7IGh0dHBDbGllbnQ6IEh0dHBDbGllbnQgfSk6ICgpID0+IE9ic2VydmFibGU8TWljcm9BcHBDb25maWdbXT4ge1xyXG5cdFx0cmV0dXJuICgpID0+XHJcblx0XHRcdGh0dHBCYWNrZW5kLmh0dHBDbGllbnRcclxuXHRcdFx0XHQuZ2V0PE1pY3JvQXBwQ29uZmlnW10+KGlzRGV2TW9kZSgpID8gJy4vYXNzZXRzL2xvY2FsLWNvbmZpZ3MvYXBwLmxvY2FsLmpzb24nIDogJy4vYXBwLmpzb24nKVxyXG5cdFx0XHRcdC5waXBlKFxyXG5cdFx0XHRcdFx0dGFwKChhcHBzOiBNaWNyb0FwcENvbmZpZ1tdKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnN0IHJvdXRlcyA9IHRoaXMuYnVpbGRSb3V0ZXMoYXBwcyk7XHJcblxyXG5cdFx0XHRcdFx0XHR0aGlzLnJvdXRlci5yZXNldENvbmZpZyhbLi4udGhpcy5yb3V0ZXIuY29uZmlnLCAuLi5yb3V0ZXMsIHsgcGF0aDogJyoqJywgY29tcG9uZW50OiBOb3RGb3VuZENvbXBvbmVudCB9XSk7XHJcblx0XHRcdFx0XHRcdHRoaXMuc2V0TWVudUl0ZW1zKGFwcHMpO1xyXG5cdFx0XHRcdFx0fSksXHJcblx0XHRcdFx0XHRjYXRjaEVycm9yKChlcnIpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ0Vycm9yIE1pY3JvIEFwcHMgTG9hZGluZycsIGVycik7XHJcblx0XHRcdFx0XHRcdHJldHVybiBvZigpO1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHQpO1xyXG5cdH1cclxuXHJcblx0YnVpbGRSb3V0ZXMoYXBwczogTWljcm9BcHBDb25maWdbXSk6IFJvdXRlcyB7XHJcblx0XHRjb25zdCByb3V0ZXM6IFJvdXRlcyA9IGFwcHMubWFwKChjb25maWcpID0+ICh7XHJcblx0XHRcdG1hdGNoZXI6IHN0YXJ0c1dpdGgoY29uZmlnLnJlbW90ZU5hbWUpLFxyXG5cdFx0XHRjb21wb25lbnQ6IGNvbmZpZy5zaGFkb3dEb21QYXNzaXZlID8gV2ViQ29tcG9uZW50V3JhcHBlciA6IFNoYWRvd0RPTVdyYXBwZXJDb21wb25lbnQsXHJcblx0XHRcdGRhdGE6IGNvbmZpZyBhcyBXZWJDb21wb25lbnRXcmFwcGVyT3B0aW9uc1xyXG5cdFx0fSkpO1xyXG5cclxuXHRcdHJldHVybiByb3V0ZXM7XHJcblx0fVxyXG5cclxuXHRzZXRNZW51SXRlbXMoYXBwczogTWljcm9BcHBDb25maWdbXSk6IHZvaWQge1xyXG5cdFx0Y29uc3QgbWVudUl0ZW1zOiBNZW51SXRlbVtdID0gYXBwcy5tYXAoKGNvbmZpZykgPT4ge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGxhYmVsOiBjb25maWcucmVtb3RlTmFtZSxcclxuXHRcdFx0XHRpY29uOiAncGkgcGktZncgcGktYmFycycsXHJcblx0XHRcdFx0cm91dGVyTGluazogY29uZmlnLnJlbW90ZU5hbWVcclxuXHRcdFx0fTtcclxuXHRcdH0pO1xyXG5cclxuXHRcdHRoaXMuYXBwTWVudVNlcnZpY2UubWVudUNvbmZpZy5zZXQoeyBpdGVtczogbWVudUl0ZW1zIH0pO1xyXG5cdH1cclxufVxyXG4iXX0=
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './src/plugins.service';
|
|
2
|
-
|
|
2
|
+
export * from './src/getNgZone';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL2Jvb3QvY29uZmlnL3BsdWdpbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvcGx1Z2lucy5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvZ2V0Tmdab25lJztcclxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { NgZone } from '@angular/core';
|
|
2
|
+
export const getNgZone = () => {
|
|
3
|
+
if (globalThis.hostZone) {
|
|
4
|
+
return { provide: NgZone, useValue: globalThis.hostZone };
|
|
5
|
+
}
|
|
6
|
+
else if (globalThis.mfeZone) {
|
|
7
|
+
return { provide: NgZone, useValue: globalThis.mfeZone };
|
|
8
|
+
}
|
|
9
|
+
else
|
|
10
|
+
return [];
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Tmdab25lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC9ib290L2NvbmZpZy9wbHVnaW5zL3NyYy9nZXROZ1pvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2QyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFO0lBQzdCLElBQVUsVUFBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBUSxVQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEUsQ0FBQztTQUFNLElBQVUsVUFBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBUSxVQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakUsQ0FBQzs7UUFBTSxPQUFPLEVBQUUsQ0FBQztBQUNsQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBjb25zdCBnZXROZ1pvbmUgPSAoKSA9PiB7XHJcblx0aWYgKCg8YW55Pmdsb2JhbFRoaXMpLmhvc3Rab25lKSB7XHJcblx0XHRyZXR1cm4geyBwcm92aWRlOiBOZ1pvbmUsIHVzZVZhbHVlOiAoPGFueT5nbG9iYWxUaGlzKS5ob3N0Wm9uZSB9O1xyXG5cdH0gZWxzZSBpZiAoKDxhbnk+Z2xvYmFsVGhpcykubWZlWm9uZSkge1xyXG5cdFx0cmV0dXJuIHsgcHJvdmlkZTogTmdab25lLCB1c2VWYWx1ZTogKDxhbnk+Z2xvYmFsVGhpcykubWZlWm9uZSB9O1xyXG5cdH0gZWxzZSByZXR1cm4gW107XHJcbn07XHJcbiJdfQ==
|
|
@@ -1,10 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { provideHttpClient, withInterceptors } from '@angular/common/http';
|
|
2
|
+
import { APP_INITIALIZER, importProvidersFrom, isDevMode } from '@angular/core';
|
|
3
|
+
import { createCustomElement } from '@angular/elements';
|
|
4
|
+
import { createApplication } from '@angular/platform-browser';
|
|
5
|
+
import { provideAnimations } from '@angular/platform-browser/animations';
|
|
6
|
+
import { ConfirmationService, MessageService } from 'primeng/api';
|
|
7
|
+
import { ConfirmDialogModule } from 'primeng/confirmdialog';
|
|
8
|
+
import { ConfirmPopupModule } from 'primeng/confirmpopup';
|
|
9
|
+
import { DialogModule } from 'primeng/dialog';
|
|
10
|
+
import { MessagesModule } from 'primeng/messages';
|
|
11
|
+
import { ToastModule } from 'primeng/toast';
|
|
12
|
+
import { KeycloakAngularModule } from 'keycloak-angular';
|
|
2
13
|
import { catchError, of, tap } from 'rxjs';
|
|
14
|
+
import { API_CONFIGS } from 'aril/boot/config/api';
|
|
15
|
+
import { i18nFolderName, i18nModule } from 'aril/i18n';
|
|
16
|
+
import { authInterceptor } from 'aril/keycloak';
|
|
17
|
+
import { getNgZone } from './getNgZone';
|
|
3
18
|
import { FactoryClass } from './interfaces';
|
|
4
19
|
export const PLUGINS = new FactoryClass();
|
|
5
20
|
export function loadPlugins(httpBackend) {
|
|
6
21
|
return () => {
|
|
7
|
-
return httpBackend.httpClient
|
|
22
|
+
return httpBackend.httpClient
|
|
23
|
+
.get(isDevMode() ? './assets/local-configs/plugin.local.json' : './assets/plugin.json')
|
|
24
|
+
.pipe(tap((configs) => {
|
|
8
25
|
Object.assign(PLUGINS, { ...configs });
|
|
9
26
|
}), catchError((err) => {
|
|
10
27
|
console.log('Error Plugins Loading', err);
|
|
@@ -12,4 +29,37 @@ export function loadPlugins(httpBackend) {
|
|
|
12
29
|
}));
|
|
13
30
|
};
|
|
14
31
|
}
|
|
15
|
-
|
|
32
|
+
export async function bootPlugin(selector, component) {
|
|
33
|
+
if (customElements.get(selector))
|
|
34
|
+
return;
|
|
35
|
+
const config = {
|
|
36
|
+
providers: [
|
|
37
|
+
provideAnimations(),
|
|
38
|
+
provideHttpClient(withInterceptors([authInterceptor])),
|
|
39
|
+
importProvidersFrom(i18nModule, KeycloakAngularModule, ConfirmDialogModule, ConfirmPopupModule, DialogModule, MessagesModule, ToastModule),
|
|
40
|
+
getNgZone(),
|
|
41
|
+
MessageService,
|
|
42
|
+
ConfirmationService,
|
|
43
|
+
{
|
|
44
|
+
provide: APP_INITIALIZER,
|
|
45
|
+
useFactory: () => {
|
|
46
|
+
return () => {
|
|
47
|
+
if (isDevMode())
|
|
48
|
+
API_CONFIGS.api = globalThis.hostAPI;
|
|
49
|
+
else
|
|
50
|
+
API_CONFIGS.api = window.location.origin;
|
|
51
|
+
};
|
|
52
|
+
},
|
|
53
|
+
multi: true
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
provide: i18nFolderName,
|
|
57
|
+
useValue: 'host'
|
|
58
|
+
}
|
|
59
|
+
]
|
|
60
|
+
};
|
|
61
|
+
const appRef = await createApplication(config);
|
|
62
|
+
const plugin = createCustomElement(component, { injector: appRef.injector });
|
|
63
|
+
customElements.define(selector, plugin);
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2lucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC9ib290L2NvbmZpZy9wbHVnaW5zL3NyYy9wbHVnaW5zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGVBQWUsRUFBMkIsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTVDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBYyxVQUFVLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQWlCLE1BQU0sY0FBYyxDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBa0MsQ0FBQztBQUUxRSxNQUFNLFVBQVUsV0FBVyxDQUFDLFdBQXVDO0lBQ2xFLE9BQU8sR0FBRyxFQUFFO1FBQ1gsT0FBTyxXQUFXLENBQUMsVUFBVTthQUMzQixHQUFHLENBQWdCLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUM7YUFDckcsSUFBSSxDQUNKLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ2YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMxQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNILENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLFVBQVUsQ0FBQyxRQUFnQixFQUFFLFNBQW9CO0lBQ3RFLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7UUFBRSxPQUFPO0lBRXpDLE1BQU0sTUFBTSxHQUFzQjtRQUNqQyxTQUFTLEVBQUU7WUFDVixpQkFBaUIsRUFBRTtZQUNuQixpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7WUFDdEQsbUJBQW1CLENBQ2xCLFVBQVUsRUFDVixxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixZQUFZLEVBQ1osY0FBYyxFQUNkLFdBQVcsQ0FDWDtZQUNELFNBQVMsRUFBRTtZQUNYLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkI7Z0JBQ0MsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFVBQVUsRUFBRSxHQUFHLEVBQUU7b0JBQ2hCLE9BQU8sR0FBRyxFQUFFO3dCQUNYLElBQUksU0FBUyxFQUFFOzRCQUFFLFdBQVcsQ0FBQyxHQUFHLEdBQVMsVUFBVyxDQUFDLE9BQU8sQ0FBQzs7NEJBQ3hELFdBQVcsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7b0JBQy9DLENBQUMsQ0FBQztnQkFDSCxDQUFDO2dCQUNELEtBQUssRUFBRSxJQUFJO2FBQ1g7WUFDRDtnQkFDQyxPQUFPLEVBQUUsY0FBYztnQkFDdkIsUUFBUSxFQUFFLE1BQU07YUFDaEI7U0FDRDtLQUNELENBQUM7SUFFRixNQUFNLE1BQU0sR0FBRyxNQUFNLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUU3RSxjQUFjLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgcHJvdmlkZUh0dHBDbGllbnQsIHdpdGhJbnRlcmNlcHRvcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgQXBwbGljYXRpb25Db25maWcsIFR5cGUsIGltcG9ydFByb3ZpZGVyc0Zyb20sIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjcmVhdGVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvZWxlbWVudHMnO1xyXG5pbXBvcnQgeyBjcmVhdGVBcHBsaWNhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBwcm92aWRlQW5pbWF0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XHJcblxyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgQ29uZmlybURpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybWRpYWxvZyc7XHJcbmltcG9ydCB7IENvbmZpcm1Qb3B1cE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvY29uZmlybXBvcHVwJztcclxuaW1wb3J0IHsgRGlhbG9nTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNZXNzYWdlc01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvbWVzc2FnZXMnO1xyXG5pbXBvcnQgeyBUb2FzdE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9hc3QnO1xyXG5cclxuaW1wb3J0IHsgS2V5Y2xvYWtBbmd1bGFyTW9kdWxlIH0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIG9mLCB0YXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEFQSV9DT05GSUdTIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcGknO1xyXG5pbXBvcnQgeyBpMThuRm9sZGVyTmFtZSwgaTE4bk1vZHVsZSB9IGZyb20gJ2FyaWwvaTE4bic7XHJcbmltcG9ydCB7IGF1dGhJbnRlcmNlcHRvciB9IGZyb20gJ2FyaWwva2V5Y2xvYWsnO1xyXG5cclxuaW1wb3J0IHsgZ2V0Tmdab25lIH0gZnJvbSAnLi9nZXROZ1pvbmUnO1xyXG5pbXBvcnQgeyBGYWN0b3J5Q2xhc3MsIFBsdWdpbkNvbmZpZ3MgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBMVUdJTlMgPSBuZXcgRmFjdG9yeUNsYXNzKCkgYXMgRmFjdG9yeUNsYXNzICYgUGx1Z2luQ29uZmlncztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBsb2FkUGx1Z2lucyhodHRwQmFja2VuZDogeyBodHRwQ2xpZW50OiBIdHRwQ2xpZW50IH0pOiAoKSA9PiBPYnNlcnZhYmxlPGFueT4ge1xyXG5cdHJldHVybiAoKSA9PiB7XHJcblx0XHRyZXR1cm4gaHR0cEJhY2tlbmQuaHR0cENsaWVudFxyXG5cdFx0XHQuZ2V0PFBsdWdpbkNvbmZpZ3M+KGlzRGV2TW9kZSgpID8gJy4vYXNzZXRzL2xvY2FsLWNvbmZpZ3MvcGx1Z2luLmxvY2FsLmpzb24nIDogJy4vYXNzZXRzL3BsdWdpbi5qc29uJylcclxuXHRcdFx0LnBpcGUoXHJcblx0XHRcdFx0dGFwKChjb25maWdzKSA9PiB7XHJcblx0XHRcdFx0XHRPYmplY3QuYXNzaWduKFBMVUdJTlMsIHsgLi4uY29uZmlncyB9KTtcclxuXHRcdFx0XHR9KSxcclxuXHRcdFx0XHRjYXRjaEVycm9yKChlcnIpID0+IHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCdFcnJvciBQbHVnaW5zIExvYWRpbmcnLCBlcnIpO1xyXG5cdFx0XHRcdFx0cmV0dXJuIG9mKCk7XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0KTtcclxuXHR9O1xyXG59XHJcblxyXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYm9vdFBsdWdpbihzZWxlY3Rvcjogc3RyaW5nLCBjb21wb25lbnQ6IFR5cGU8YW55Pikge1xyXG5cdGlmIChjdXN0b21FbGVtZW50cy5nZXQoc2VsZWN0b3IpKSByZXR1cm47XHJcblxyXG5cdGNvbnN0IGNvbmZpZzogQXBwbGljYXRpb25Db25maWcgPSB7XHJcblx0XHRwcm92aWRlcnM6IFtcclxuXHRcdFx0cHJvdmlkZUFuaW1hdGlvbnMoKSxcclxuXHRcdFx0cHJvdmlkZUh0dHBDbGllbnQod2l0aEludGVyY2VwdG9ycyhbYXV0aEludGVyY2VwdG9yXSkpLFxyXG5cdFx0XHRpbXBvcnRQcm92aWRlcnNGcm9tKFxyXG5cdFx0XHRcdGkxOG5Nb2R1bGUsXHJcblx0XHRcdFx0S2V5Y2xvYWtBbmd1bGFyTW9kdWxlLFxyXG5cdFx0XHRcdENvbmZpcm1EaWFsb2dNb2R1bGUsXHJcblx0XHRcdFx0Q29uZmlybVBvcHVwTW9kdWxlLFxyXG5cdFx0XHRcdERpYWxvZ01vZHVsZSxcclxuXHRcdFx0XHRNZXNzYWdlc01vZHVsZSxcclxuXHRcdFx0XHRUb2FzdE1vZHVsZVxyXG5cdFx0XHQpLFxyXG5cdFx0XHRnZXROZ1pvbmUoKSxcclxuXHRcdFx0TWVzc2FnZVNlcnZpY2UsXHJcblx0XHRcdENvbmZpcm1hdGlvblNlcnZpY2UsXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXHJcblx0XHRcdFx0dXNlRmFjdG9yeTogKCkgPT4ge1xyXG5cdFx0XHRcdFx0cmV0dXJuICgpID0+IHtcclxuXHRcdFx0XHRcdFx0aWYgKGlzRGV2TW9kZSgpKSBBUElfQ09ORklHUy5hcGkgPSAoPGFueT5nbG9iYWxUaGlzKS5ob3N0QVBJO1xyXG5cdFx0XHRcdFx0XHRlbHNlIEFQSV9DT05GSUdTLmFwaSA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XHJcblx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdFx0fSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHByb3ZpZGU6IGkxOG5Gb2xkZXJOYW1lLFxyXG5cdFx0XHRcdHVzZVZhbHVlOiAnaG9zdCdcclxuXHRcdFx0fVxyXG5cdFx0XVxyXG5cdH07XHJcblxyXG5cdGNvbnN0IGFwcFJlZiA9IGF3YWl0IGNyZWF0ZUFwcGxpY2F0aW9uKGNvbmZpZyk7XHJcblx0Y29uc3QgcGx1Z2luID0gY3JlYXRlQ3VzdG9tRWxlbWVudChjb21wb25lbnQsIHsgaW5qZWN0b3I6IGFwcFJlZi5pbmplY3RvciB9KTtcclxuXHJcblx0Y3VzdG9tRWxlbWVudHMuZGVmaW5lKHNlbGVjdG9yLCBwbHVnaW4pO1xyXG59XHJcbiJdfQ==
|
|
@@ -7,17 +7,18 @@ import { provideRouter, withComponentInputBinding, withHashLocation } from '@ang
|
|
|
7
7
|
import { ConfirmationService, MessageService } from 'primeng/api';
|
|
8
8
|
import { KeycloakAngularModule } from 'keycloak-angular';
|
|
9
9
|
import { loadApiConfigs, setApiConfigOnMFEMode } from 'aril/boot/config/api';
|
|
10
|
-
import { loadPlugins } from 'aril/boot/config/plugins';
|
|
10
|
+
import { getNgZone, loadPlugins } from 'aril/boot/config/plugins';
|
|
11
11
|
import { HttpBackendService } from 'aril/http';
|
|
12
12
|
import { i18nFolderName, i18nModule } from 'aril/i18n';
|
|
13
13
|
import { KeycloakManager, authInterceptor } from 'aril/keycloak';
|
|
14
14
|
import { StyleLoaderService } from 'aril/util/loaders';
|
|
15
15
|
import { appComponentLoader } from './appComponentLoader';
|
|
16
|
-
import {
|
|
17
|
-
import { loadStylesheets } from './loadStyles';
|
|
16
|
+
import { loadStyles } from './loadStyles';
|
|
18
17
|
export var appName;
|
|
19
18
|
export var menuItems = [];
|
|
20
|
-
export const boot = (_appName, _routes, _menuItems
|
|
19
|
+
export const boot = (_appName, _routes, _menuItems) => {
|
|
20
|
+
if (customElements.get(`app-${_appName}`))
|
|
21
|
+
return;
|
|
21
22
|
appName = _appName;
|
|
22
23
|
menuItems = _menuItems;
|
|
23
24
|
const appBootConfig = {
|
|
@@ -26,9 +27,9 @@ export const boot = (_appName, _routes, _menuItems, _plugins) => {
|
|
|
26
27
|
provideHttpClient(withInterceptors([authInterceptor])),
|
|
27
28
|
provideRouter(_routes, withComponentInputBinding(), withHashLocation()),
|
|
28
29
|
importProvidersFrom(i18nModule, KeycloakAngularModule),
|
|
30
|
+
getNgZone(),
|
|
29
31
|
MessageService,
|
|
30
32
|
ConfirmationService,
|
|
31
|
-
getNgZone(),
|
|
32
33
|
{
|
|
33
34
|
provide: APP_INITIALIZER,
|
|
34
35
|
useFactory: globalThis.isHostMode ? setApiConfigOnMFEMode : loadApiConfigs,
|
|
@@ -43,7 +44,7 @@ export const boot = (_appName, _routes, _menuItems, _plugins) => {
|
|
|
43
44
|
},
|
|
44
45
|
{
|
|
45
46
|
provide: APP_INITIALIZER,
|
|
46
|
-
useFactory:
|
|
47
|
+
useFactory: loadStyles,
|
|
47
48
|
multi: true,
|
|
48
49
|
deps: [StyleLoaderService, i18nFolderName]
|
|
49
50
|
},
|
|
@@ -56,18 +57,8 @@ export const boot = (_appName, _routes, _menuItems, _plugins) => {
|
|
|
56
57
|
createApplication(appBootConfig).then((appRef) => {
|
|
57
58
|
appComponentLoader().then((AppComponent) => {
|
|
58
59
|
const app = createCustomElement(AppComponent, { injector: appRef.injector });
|
|
59
|
-
|
|
60
|
-
customElements.define(`app-${appName}`, app);
|
|
61
|
-
}
|
|
62
|
-
if (_plugins) {
|
|
63
|
-
Object.entries(_plugins).forEach(([selector, component]) => {
|
|
64
|
-
const plugin = createCustomElement(component, { injector: appRef.injector });
|
|
65
|
-
if (!customElements.get(selector)) {
|
|
66
|
-
customElements.define(selector, plugin);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
}
|
|
60
|
+
customElements.define(`app-${appName}`, app);
|
|
70
61
|
});
|
|
71
62
|
});
|
|
72
63
|
};
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC9ib290L21mZS9zcmMvYm9vdHN0cmFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQXFCLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pFLE9BQU8sRUFBVSxhQUFhLEVBQUUseUJBQXlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVyRyxPQUFPLEVBQUUsbUJBQW1CLEVBQVksY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpELE9BQU8sRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUU3RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFDLE1BQU0sQ0FBQyxJQUFJLE9BQWEsQ0FBQztBQUN6QixNQUFNLENBQUMsSUFBSSxTQUFTLEdBQWUsRUFBRSxDQUFDO0FBRXRDLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLFFBQWMsRUFBRSxPQUFlLEVBQUUsVUFBc0IsRUFBRSxFQUFFO0lBQy9FLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxPQUFPLFFBQVEsRUFBRSxDQUFDO1FBQUUsT0FBTztJQUVsRCxPQUFPLEdBQUcsUUFBUSxDQUFDO0lBQ25CLFNBQVMsR0FBRyxVQUFVLENBQUM7SUFFdkIsTUFBTSxhQUFhLEdBQXNCO1FBQ3hDLFNBQVMsRUFBRTtZQUNWLGlCQUFpQixFQUFFO1lBQ25CLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztZQUN0RCxhQUFhLENBQUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztZQUN2RSxtQkFBbUIsQ0FBQyxVQUFVLEVBQUUscUJBQXFCLENBQUM7WUFDdEQsU0FBUyxFQUFFO1lBQ1gsY0FBYztZQUNkLG1CQUFtQjtZQUNuQjtnQkFDQyxPQUFPLEVBQUUsZUFBZTtnQkFDeEIsVUFBVSxFQUFRLFVBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxjQUFjO2dCQUNqRixLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsY0FBYyxDQUFDO2FBQzNEO1lBQ0Q7Z0JBQ0MsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFVBQVUsRUFBRSxXQUFXO2dCQUN2QixLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzthQUMxQjtZQUNEO2dCQUNDLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixVQUFVLEVBQUUsVUFBVTtnQkFDdEIsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsSUFBSSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxDQUFDO2FBQzFDO1lBQ0Q7Z0JBQ0MsT0FBTyxFQUFFLGNBQWM7Z0JBQ3ZCLFFBQVEsRUFBRSxRQUFRO2FBQ2xCO1NBQ0Q7S0FDRCxDQUFDO0lBRUYsaUJBQWlCLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDaEQsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRTtZQUMxQyxNQUFNLEdBQUcsR0FBRyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDN0UsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm92aWRlSHR0cENsaWVudCwgd2l0aEludGVyY2VwdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBBcHBsaWNhdGlvbkNvbmZpZywgaW1wb3J0UHJvdmlkZXJzRnJvbSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjcmVhdGVDdXN0b21FbGVtZW50IH0gZnJvbSAnQGFuZ3VsYXIvZWxlbWVudHMnO1xyXG5pbXBvcnQgeyBjcmVhdGVBcHBsaWNhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQgeyBwcm92aWRlQW5pbWF0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFJvdXRlcywgcHJvdmlkZVJvdXRlciwgd2l0aENvbXBvbmVudElucHV0QmluZGluZywgd2l0aEhhc2hMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBDb25maXJtYXRpb25TZXJ2aWNlLCBNZW51SXRlbSwgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcblxyXG5pbXBvcnQgeyBLZXljbG9ha0FuZ3VsYXJNb2R1bGUgfSBmcm9tICdrZXljbG9hay1hbmd1bGFyJztcclxuXHJcbmltcG9ydCB7IGxvYWRBcGlDb25maWdzLCBzZXRBcGlDb25maWdPbk1GRU1vZGUgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwaSc7XHJcbmltcG9ydCB7IEFwcHMgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xyXG5pbXBvcnQgeyBnZXROZ1pvbmUsIGxvYWRQbHVnaW5zIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9wbHVnaW5zJztcclxuaW1wb3J0IHsgSHR0cEJhY2tlbmRTZXJ2aWNlIH0gZnJvbSAnYXJpbC9odHRwJztcclxuaW1wb3J0IHsgaTE4bkZvbGRlck5hbWUsIGkxOG5Nb2R1bGUgfSBmcm9tICdhcmlsL2kxOG4nO1xyXG5pbXBvcnQgeyBLZXljbG9ha01hbmFnZXIsIGF1dGhJbnRlcmNlcHRvciB9IGZyb20gJ2FyaWwva2V5Y2xvYWsnO1xyXG5pbXBvcnQgeyBTdHlsZUxvYWRlclNlcnZpY2UgfSBmcm9tICdhcmlsL3V0aWwvbG9hZGVycyc7XHJcblxyXG5pbXBvcnQgeyBhcHBDb21wb25lbnRMb2FkZXIgfSBmcm9tICcuL2FwcENvbXBvbmVudExvYWRlcic7XHJcbmltcG9ydCB7IGxvYWRTdHlsZXMgfSBmcm9tICcuL2xvYWRTdHlsZXMnO1xyXG5cclxuZXhwb3J0IHZhciBhcHBOYW1lOiBBcHBzO1xyXG5leHBvcnQgdmFyIG1lbnVJdGVtczogTWVudUl0ZW1bXSA9IFtdO1xyXG5cclxuZXhwb3J0IGNvbnN0IGJvb3QgPSAoX2FwcE5hbWU6IEFwcHMsIF9yb3V0ZXM6IFJvdXRlcywgX21lbnVJdGVtczogTWVudUl0ZW1bXSkgPT4ge1xyXG5cdGlmIChjdXN0b21FbGVtZW50cy5nZXQoYGFwcC0ke19hcHBOYW1lfWApKSByZXR1cm47XHJcblxyXG5cdGFwcE5hbWUgPSBfYXBwTmFtZTtcclxuXHRtZW51SXRlbXMgPSBfbWVudUl0ZW1zO1xyXG5cclxuXHRjb25zdCBhcHBCb290Q29uZmlnOiBBcHBsaWNhdGlvbkNvbmZpZyA9IHtcclxuXHRcdHByb3ZpZGVyczogW1xyXG5cdFx0XHRwcm92aWRlQW5pbWF0aW9ucygpLFxyXG5cdFx0XHRwcm92aWRlSHR0cENsaWVudCh3aXRoSW50ZXJjZXB0b3JzKFthdXRoSW50ZXJjZXB0b3JdKSksXHJcblx0XHRcdHByb3ZpZGVSb3V0ZXIoX3JvdXRlcywgd2l0aENvbXBvbmVudElucHV0QmluZGluZygpLCB3aXRoSGFzaExvY2F0aW9uKCkpLFxyXG5cdFx0XHRpbXBvcnRQcm92aWRlcnNGcm9tKGkxOG5Nb2R1bGUsIEtleWNsb2FrQW5ndWxhck1vZHVsZSksXHJcblx0XHRcdGdldE5nWm9uZSgpLFxyXG5cdFx0XHRNZXNzYWdlU2VydmljZSxcclxuXHRcdFx0Q29uZmlybWF0aW9uU2VydmljZSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuXHRcdFx0XHR1c2VGYWN0b3J5OiAoPGFueT5nbG9iYWxUaGlzKS5pc0hvc3RNb2RlID8gc2V0QXBpQ29uZmlnT25NRkVNb2RlIDogbG9hZEFwaUNvbmZpZ3MsXHJcblx0XHRcdFx0bXVsdGk6IHRydWUsXHJcblx0XHRcdFx0ZGVwczogW0h0dHBCYWNrZW5kU2VydmljZSwgS2V5Y2xvYWtNYW5hZ2VyLCBpMThuRm9sZGVyTmFtZV1cclxuXHRcdFx0fSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcclxuXHRcdFx0XHR1c2VGYWN0b3J5OiBsb2FkUGx1Z2lucyxcclxuXHRcdFx0XHRtdWx0aTogdHJ1ZSxcclxuXHRcdFx0XHRkZXBzOiBbSHR0cEJhY2tlbmRTZXJ2aWNlXVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxyXG5cdFx0XHRcdHVzZUZhY3Rvcnk6IGxvYWRTdHlsZXMsXHJcblx0XHRcdFx0bXVsdGk6IHRydWUsXHJcblx0XHRcdFx0ZGVwczogW1N0eWxlTG9hZGVyU2VydmljZSwgaTE4bkZvbGRlck5hbWVdXHJcblx0XHRcdH0sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwcm92aWRlOiBpMThuRm9sZGVyTmFtZSxcclxuXHRcdFx0XHR1c2VWYWx1ZTogX2FwcE5hbWVcclxuXHRcdFx0fVxyXG5cdFx0XVxyXG5cdH07XHJcblxyXG5cdGNyZWF0ZUFwcGxpY2F0aW9uKGFwcEJvb3RDb25maWcpLnRoZW4oKGFwcFJlZikgPT4ge1xyXG5cdFx0YXBwQ29tcG9uZW50TG9hZGVyKCkudGhlbigoQXBwQ29tcG9uZW50KSA9PiB7XHJcblx0XHRcdGNvbnN0IGFwcCA9IGNyZWF0ZUN1c3RvbUVsZW1lbnQoQXBwQ29tcG9uZW50LCB7IGluamVjdG9yOiBhcHBSZWYuaW5qZWN0b3IgfSk7XHJcblx0XHRcdGN1c3RvbUVsZW1lbnRzLmRlZmluZShgYXBwLSR7YXBwTmFtZX1gLCBhcHApO1xyXG5cdFx0fSk7XHJcblx0fSk7XHJcbn07XHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export function
|
|
1
|
+
export function loadStyles(styleLoaderService, appName) {
|
|
2
2
|
const styles = [
|
|
3
3
|
'layout.css',
|
|
4
4
|
'ui.common.css',
|
|
@@ -13,4 +13,4 @@ export function loadStylesheets(styleLoaderService, appName) {
|
|
|
13
13
|
return () => Promise.resolve();
|
|
14
14
|
return () => styleLoaderService.load(styles);
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZFN0eWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvYm9vdC9tZmUvc3JjL2xvYWRTdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLFVBQVUsQ0FBQyxrQkFBc0MsRUFBRSxPQUFhO0lBQy9FLE1BQU0sTUFBTSxHQUFHO1FBQ2QsWUFBWTtRQUNaLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsaUJBQWlCO1FBQ2pCLHdCQUF3QjtRQUN4QiwwQkFBMEI7UUFDMUIsVUFBVSxPQUFPLHFDQUFxQztRQUN0RCxVQUFVLE9BQU8sbUNBQW1DO0tBQ3BELENBQUM7SUFFRixJQUFVLFVBQVcsQ0FBQyxVQUFVO1FBQUUsT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFakUsT0FBTyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcHMgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xyXG5pbXBvcnQgeyBTdHlsZUxvYWRlclNlcnZpY2UgfSBmcm9tICdhcmlsL3V0aWwvbG9hZGVycyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gbG9hZFN0eWxlcyhzdHlsZUxvYWRlclNlcnZpY2U6IFN0eWxlTG9hZGVyU2VydmljZSwgYXBwTmFtZTogQXBwcyk6ICgpID0+IFByb21pc2U8YW55PiB7XHJcblx0Y29uc3Qgc3R5bGVzID0gW1xyXG5cdFx0J2xheW91dC5jc3MnLFxyXG5cdFx0J3VpLmNvbW1vbi5jc3MnLFxyXG5cdFx0J3ByZWxvYWRpbmcuY3NzJyxcclxuXHRcdCdwcmltZW5nLm1pbi5jc3MnLFxyXG5cdFx0J3RoZW1lLmxpZ2h0LmluZGlnby5jc3MnLFxyXG5cdFx0J2R4LmZsdWVudC5zYWFzLmxpZ2h0LmNzcycsXHJcblx0XHRgYXNzZXRzLyR7YXBwTmFtZX0vc3R5bGVzL3ByaW1lZmxleC9wcmltZWZsZXgubWluLmNzc2AsXHJcblx0XHRgYXNzZXRzLyR7YXBwTmFtZX0vc3R5bGVzL3ByaW1laWNvbnMvcHJpbWVpY29ucy5jc3NgXHJcblx0XTtcclxuXHJcblx0aWYgKCg8YW55Pmdsb2JhbFRoaXMpLmlzSG9zdE1vZGUpIHJldHVybiAoKSA9PiBQcm9taXNlLnJlc29sdmUoKTtcclxuXHJcblx0cmV0dXJuICgpID0+IHN0eWxlTG9hZGVyU2VydmljZS5sb2FkKHN0eWxlcyk7XHJcbn1cclxuIl19
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { inject } from '@angular/core';
|
|
2
|
-
import { KeycloakManager } from './keycloak.manager';
|
|
3
1
|
export const authInterceptor = (req, next) => {
|
|
4
|
-
const
|
|
5
|
-
const token = keycloakManager.keycloak.getKeycloakInstance().token;
|
|
2
|
+
const token = globalThis.keycloakService?._instance?.token;
|
|
6
3
|
const authReq = req.clone({
|
|
7
4
|
setHeaders: {
|
|
8
5
|
Authorization: `Bearer ${token}`
|
|
@@ -10,4 +7,4 @@ export const authInterceptor = (req, next) => {
|
|
|
10
7
|
});
|
|
11
8
|
return next(authReq);
|
|
12
9
|
};
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2F1dGguaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFzQixDQUFDLEdBQXlCLEVBQUUsSUFBbUIsRUFBRSxFQUFFO0lBQ3BHLE1BQU0sS0FBSyxHQUFTLFVBQVcsQ0FBQyxlQUFlLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQztJQUVsRSxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO1FBQ3pCLFVBQVUsRUFBRTtZQUNYLGFBQWEsRUFBRSxVQUFVLEtBQUssRUFBRTtTQUNoQztLQUNELENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIYW5kbGVyRm4sIEh0dHBJbnRlcmNlcHRvckZuLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbmV4cG9ydCBjb25zdCBhdXRoSW50ZXJjZXB0b3I6IEh0dHBJbnRlcmNlcHRvckZuID0gKHJlcTogSHR0cFJlcXVlc3Q8dW5rbm93bj4sIG5leHQ6IEh0dHBIYW5kbGVyRm4pID0+IHtcclxuXHRjb25zdCB0b2tlbiA9ICg8YW55Pmdsb2JhbFRoaXMpLmtleWNsb2FrU2VydmljZT8uX2luc3RhbmNlPy50b2tlbjtcclxuXHJcblx0Y29uc3QgYXV0aFJlcSA9IHJlcS5jbG9uZSh7XHJcblx0XHRzZXRIZWFkZXJzOiB7XHJcblx0XHRcdEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gXHJcblx0XHR9XHJcblx0fSk7XHJcblxyXG5cdHJldHVybiBuZXh0KGF1dGhSZXEpO1xyXG59O1xyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import { KeycloakService } from 'keycloak-angular';
|
|
2
|
+
import { KeycloakEventType, KeycloakService } from 'keycloak-angular';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class KeycloakManager {
|
|
5
5
|
constructor() {
|
|
@@ -11,22 +11,20 @@ export class KeycloakManager {
|
|
|
11
11
|
};
|
|
12
12
|
this.keycloak.keycloakEvents$.subscribe((event) => {
|
|
13
13
|
console.log('keycloakEvents', event);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
// break;
|
|
29
|
-
// }
|
|
14
|
+
switch (event.type) {
|
|
15
|
+
case KeycloakEventType.OnReady:
|
|
16
|
+
globalThis.keycloakService = this.keycloak;
|
|
17
|
+
break;
|
|
18
|
+
case KeycloakEventType.OnAuthError:
|
|
19
|
+
case KeycloakEventType.OnAuthLogout:
|
|
20
|
+
case KeycloakEventType.OnAuthRefreshError:
|
|
21
|
+
globalThis.keycloakService = null;
|
|
22
|
+
// this.keycloak.clearToken();
|
|
23
|
+
break;
|
|
24
|
+
// case KeycloakEventType.OnTokenExpired:
|
|
25
|
+
// this.keycloak.updateToken();
|
|
26
|
+
// break;
|
|
27
|
+
}
|
|
30
28
|
});
|
|
31
29
|
}
|
|
32
30
|
init(configs) {
|
|
@@ -75,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
75
73
|
type: Injectable,
|
|
76
74
|
args: [{ providedIn: 'root' }]
|
|
77
75
|
}], ctorParameters: () => [] });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWsubWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2tleWNsb2FrLm1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFtQixlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFLdkYsTUFBTSxPQUFPLGVBQWU7SUFDM0I7UUFvQmdCLGFBQVEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFM0MsbUJBQWMsR0FBb0I7WUFDekMsd0JBQXdCLEVBQUUsSUFBSTtZQUM5QixXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUU7WUFDekMsa0JBQWtCLEVBQUUsQ0FBQyxTQUFTLENBQUM7U0FDL0IsQ0FBQztRQXpCRCxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqRCxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRXJDLFFBQVEsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNwQixLQUFLLGlCQUFpQixDQUFDLE9BQU87b0JBQ3ZCLFVBQVcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDbEQsTUFBTTtnQkFDUCxLQUFLLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztnQkFDbkMsS0FBSyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7Z0JBQ3BDLEtBQUssaUJBQWlCLENBQUMsa0JBQWtCO29CQUNsQyxVQUFXLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztvQkFDekMsOEJBQThCO29CQUM5QixNQUFNO2dCQUNQLHlDQUF5QztnQkFDekMsZ0NBQWdDO2dCQUNoQyxVQUFVO1lBQ1gsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQVNELElBQUksQ0FBQyxPQUFZO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUE4QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLENBQUMsV0FBb0I7UUFDMUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLHlCQUF5QjtJQUNwRSxDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVksRUFBRSxRQUFpQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsWUFBWSxDQUFDLFVBQW9CLEVBQUUsUUFBaUI7UUFDbkQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELFVBQVU7UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUFvQjtRQUNsQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxXQUFXLENBQUMsV0FBb0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZUFBZSxDQUFDLFdBQXFCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFFBQVE7UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFdBQVc7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFVBQVU7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUFxQjtRQUNyQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs4R0EvRVcsZUFBZTtrSEFBZixlQUFlLGNBREYsTUFBTTs7MkZBQ25CLGVBQWU7a0JBRDNCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgS2V5Y2xvYWtFdmVudFR5cGUsIEtleWNsb2FrT3B0aW9ucywgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcic7XHJcbmltcG9ydCB7IEtleWNsb2FrTG9naW5PcHRpb25zIH0gZnJvbSAna2V5Y2xvYWstanMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgS2V5Y2xvYWtNYW5hZ2VyIHtcclxuXHRjb25zdHJ1Y3RvcigpIHtcclxuXHRcdHRoaXMua2V5Y2xvYWsua2V5Y2xvYWtFdmVudHMkLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuXHRcdFx0Y29uc29sZS5sb2coJ2tleWNsb2FrRXZlbnRzJywgZXZlbnQpO1xyXG5cclxuXHRcdFx0c3dpdGNoIChldmVudC50eXBlKSB7XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PblJlYWR5OlxyXG5cdFx0XHRcdFx0KDxhbnk+Z2xvYmFsVGhpcykua2V5Y2xvYWtTZXJ2aWNlID0gdGhpcy5rZXljbG9haztcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgS2V5Y2xvYWtFdmVudFR5cGUuT25BdXRoRXJyb3I6XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhMb2dvdXQ6XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhSZWZyZXNoRXJyb3I6XHJcblx0XHRcdFx0XHQoPGFueT5nbG9iYWxUaGlzKS5rZXljbG9ha1NlcnZpY2UgPSBudWxsO1xyXG5cdFx0XHRcdFx0Ly8gdGhpcy5rZXljbG9hay5jbGVhclRva2VuKCk7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHQvLyBjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uVG9rZW5FeHBpcmVkOlxyXG5cdFx0XHRcdC8vIFx0dGhpcy5rZXljbG9hay51cGRhdGVUb2tlbigpO1xyXG5cdFx0XHRcdC8vIFx0YnJlYWs7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH1cclxuXHRwdWJsaWMgcmVhZG9ubHkga2V5Y2xvYWsgPSBpbmplY3QoS2V5Y2xvYWtTZXJ2aWNlKTtcclxuXHJcblx0cHJpdmF0ZSBkZWZhdWx0T3B0aW9uczogS2V5Y2xvYWtPcHRpb25zID0ge1xyXG5cdFx0bG9hZFVzZXJQcm9maWxlQXRTdGFydFVwOiB0cnVlLFxyXG5cdFx0aW5pdE9wdGlvbnM6IHsgb25Mb2FkOiAnbG9naW4tcmVxdWlyZWQnIH0sXHJcblx0XHRiZWFyZXJFeGNsdWRlZFVybHM6IFsnL2Fzc2V0cyddXHJcblx0fTtcclxuXHJcblx0aW5pdChjb25maWdzOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmluaXQoeyAuLi50aGlzLmRlZmF1bHRPcHRpb25zLCBjb25maWc6IGNvbmZpZ3MgfSk7XHJcblx0fVxyXG5cclxuXHRsb2dpbihvcHRpb25zPzogS2V5Y2xvYWtMb2dpbk9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmxvZ2luKG9wdGlvbnMpO1xyXG5cdH1cclxuXHJcblx0bG9nb3V0KHJlZGlyZWN0VXJpPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5sb2dvdXQocmVkaXJlY3RVcmkpOyAvLyB3aW5kb3cubG9jYXRpb24ub3JpZ2luXHJcblx0fVxyXG5cclxuXHRpc1VzZXJJblJvbGUocm9sZTogc3RyaW5nLCByZXNvdXJjZT86IHN0cmluZyk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuaXNVc2VySW5Sb2xlKHJvbGUsIHJlc291cmNlKTtcclxuXHR9XHJcblxyXG5cdGdldFVzZXJSb2xlcyhyZWFsbVJvbGVzPzogYm9vbGVhbiwgcmVzb3VyY2U/OiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5nZXRVc2VyUm9sZXMocmVhbG1Sb2xlcywgcmVzb3VyY2UpO1xyXG5cdH1cclxuXHJcblx0aXNMb2dnZWRJbigpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmlzTG9nZ2VkSW4oKTtcclxuXHR9XHJcblxyXG5cdGlzVG9rZW5FeHBpcmVkKG1pblZhbGlkaXR5PzogbnVtYmVyKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5pc1Rva2VuRXhwaXJlZChtaW5WYWxpZGl0eSk7XHJcblx0fVxyXG5cclxuXHR1cGRhdGVUb2tlbihtaW5WYWxpZGl0eT86IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsudXBkYXRlVG9rZW4obWluVmFsaWRpdHkpO1xyXG5cdH1cclxuXHJcblx0bG9hZFVzZXJQcm9maWxlKGZvcmNlUmVsb2FkPzogYm9vbGVhbik6IFByb21pc2U8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5sb2FkVXNlclByb2ZpbGUoZm9yY2VSZWxvYWQpO1xyXG5cdH1cclxuXHJcblx0Z2V0VG9rZW4oKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmdldFRva2VuKCk7XHJcblx0fVxyXG5cclxuXHRnZXRVc2VybmFtZSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuZ2V0VXNlcm5hbWUoKTtcclxuXHR9XHJcblxyXG5cdGNsZWFyVG9rZW4oKTogdm9pZCB7XHJcblx0XHR0aGlzLmtleWNsb2FrLmNsZWFyVG9rZW4oKTtcclxuXHR9XHJcblxyXG5cdGFkZFRva2VuVG9IZWFkZXIoaGVhZGVycz86IEh0dHBIZWFkZXJzKTogT2JzZXJ2YWJsZTxIdHRwSGVhZGVycz4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuYWRkVG9rZW5Ub0hlYWRlcihoZWFkZXJzKTtcclxuXHR9XHJcbn1cclxuIl19
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isDevMode } from '@angular/core';
|
|
2
2
|
import { tap, firstValueFrom } from 'rxjs';
|
|
3
|
+
import { Apps } from 'aril/boot/config/apps';
|
|
3
4
|
|
|
4
5
|
class ApiConfigsFactory {
|
|
5
6
|
constructor() {
|
|
@@ -17,10 +18,11 @@ function loadApiConfigs(httpBackend, keycloak, appName) {
|
|
|
17
18
|
return () => {
|
|
18
19
|
const configDeps = [];
|
|
19
20
|
const observable$ = httpBackend.httpClient
|
|
20
|
-
.get(isDevMode() ? './assets/api.local.json' : './api.json')
|
|
21
|
+
.get(isDevMode() ? './assets/local-configs/api.local.json' : './assets/api.json')
|
|
21
22
|
.pipe(tap((configs) => {
|
|
22
23
|
Object.assign(API_CONFIGS, { ...configs });
|
|
23
|
-
|
|
24
|
+
if (isDevMode())
|
|
25
|
+
globalThis.hostAPI = API_CONFIGS.api;
|
|
24
26
|
configDeps.push(keycloak.init(API_CONFIGS.keycloak));
|
|
25
27
|
}));
|
|
26
28
|
return firstValueFrom(observable$).then(() => {
|
|
@@ -30,14 +32,21 @@ function loadApiConfigs(httpBackend, keycloak, appName) {
|
|
|
30
32
|
}
|
|
31
33
|
/**
|
|
32
34
|
* micro-app cannot access its own api.json file when opened in host
|
|
35
|
+
* MNG has different controller (host, state-machine etc.)
|
|
33
36
|
*/
|
|
34
37
|
function setApiConfigOnMFEMode(httpBackend, keycloak, appName) {
|
|
35
38
|
return () => {
|
|
36
39
|
if (isDevMode()) {
|
|
37
|
-
|
|
40
|
+
if (appName === Apps.MNG)
|
|
41
|
+
API_CONFIGS.api = globalThis.hostAPI;
|
|
42
|
+
else
|
|
43
|
+
API_CONFIGS.api = globalThis.hostAPI + '/' + appName + '/v1';
|
|
38
44
|
}
|
|
39
45
|
else {
|
|
40
|
-
|
|
46
|
+
if (appName === Apps.MNG)
|
|
47
|
+
API_CONFIGS.api = window.location.origin;
|
|
48
|
+
else
|
|
49
|
+
API_CONFIGS.api = window.location.origin + '/' + appName + '/v1';
|
|
41
50
|
}
|
|
42
51
|
};
|
|
43
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-boot-config-api.mjs","sources":["../../projects/aril/boot/config/api/src/interfaces.ts","../../projects/aril/boot/config/api/src/api.service.ts","../../projects/aril/boot/config/api/aril-boot-config-api.ts"],"sourcesContent":["export interface KeycloakConfig {\r\n\turl: string;\r\n\trealm: string;\r\n\tclientId: string;\r\n}\r\nexport class ApiConfigsFactory {\r\n\tapi: string = '';\r\n\tkeycloak: KeycloakConfig = {\r\n\t\turl: '',\r\n\t\trealm: '',\r\n\t\tclientId: ''\r\n\t};\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { isDevMode } from '@angular/core';\r\n\r\nimport { firstValueFrom, tap } from 'rxjs';\r\n\r\nimport { KeycloakManager } from 'aril/keycloak';\r\n\r\nimport { ApiConfigsFactory } from './interfaces';\r\n\r\nexport const API_CONFIGS = new ApiConfigsFactory();\r\n\r\nexport function loadApiConfigs(\r\n\thttpBackend: { httpClient: HttpClient },\r\n\tkeycloak: KeycloakManager,\r\n\tappName: string\r\n): () => Promise<any> {\r\n\treturn () => {\r\n\t\tconst configDeps: Promise<any>[] = [];\r\n\r\n\t\tconst observable$ = httpBackend.httpClient\r\n\t\t\t.get<ApiConfigsFactory>(isDevMode() ? './assets/api.local.json' : './api.json')\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((configs) => {\r\n\t\t\t\t\tObject.assign(API_CONFIGS, { ...configs });\r\n\t\t\t\t\
|
|
1
|
+
{"version":3,"file":"aril-boot-config-api.mjs","sources":["../../projects/aril/boot/config/api/src/interfaces.ts","../../projects/aril/boot/config/api/src/api.service.ts","../../projects/aril/boot/config/api/aril-boot-config-api.ts"],"sourcesContent":["export interface KeycloakConfig {\r\n\turl: string;\r\n\trealm: string;\r\n\tclientId: string;\r\n}\r\nexport class ApiConfigsFactory {\r\n\tapi: string = '';\r\n\tkeycloak: KeycloakConfig = {\r\n\t\turl: '',\r\n\t\trealm: '',\r\n\t\tclientId: ''\r\n\t};\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { isDevMode } from '@angular/core';\r\n\r\nimport { firstValueFrom, tap } from 'rxjs';\r\n\r\nimport { Apps } from 'aril/boot/config/apps';\r\nimport { KeycloakManager } from 'aril/keycloak';\r\n\r\nimport { ApiConfigsFactory } from './interfaces';\r\n\r\nexport const API_CONFIGS = new ApiConfigsFactory();\r\n\r\nexport function loadApiConfigs(\r\n\thttpBackend: { httpClient: HttpClient },\r\n\tkeycloak: KeycloakManager,\r\n\tappName: string\r\n): () => Promise<any> {\r\n\treturn () => {\r\n\t\tconst configDeps: Promise<any>[] = [];\r\n\r\n\t\tconst observable$ = httpBackend.httpClient\r\n\t\t\t.get<ApiConfigsFactory>(isDevMode() ? './assets/local-configs/api.local.json' : './assets/api.json')\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((configs) => {\r\n\t\t\t\t\tObject.assign(API_CONFIGS, { ...configs });\r\n\r\n\t\t\t\t\tif (isDevMode()) (<any>globalThis).hostAPI = API_CONFIGS.api;\r\n\r\n\t\t\t\t\tconfigDeps.push(keycloak.init(API_CONFIGS.keycloak));\r\n\t\t\t\t})\r\n\t\t\t);\r\n\r\n\t\treturn firstValueFrom(observable$).then(() => {\r\n\t\t\treturn Promise.all(configDeps);\r\n\t\t});\r\n\t};\r\n}\r\n\r\n/**\r\n * micro-app cannot access its own api.json file when opened in host\r\n * MNG has different controller (host, state-machine etc.)\r\n */\r\nexport function setApiConfigOnMFEMode(\r\n\thttpBackend: { httpClient: HttpClient },\r\n\tkeycloak: KeycloakManager,\r\n\tappName: string\r\n): () => void {\r\n\treturn () => {\r\n\t\tif (isDevMode()) {\r\n\t\t\tif (appName === Apps.MNG) API_CONFIGS.api = (<any>globalThis).hostAPI;\r\n\t\t\telse API_CONFIGS.api = (<any>globalThis).hostAPI + '/' + appName + '/v1';\r\n\t\t} else {\r\n\t\t\tif (appName === Apps.MNG) API_CONFIGS.api = window.location.origin;\r\n\t\t\telse API_CONFIGS.api = window.location.origin + '/' + appName + '/v1';\r\n\t\t}\r\n\t};\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAKa,iBAAiB,CAAA;AAA9B,IAAA,WAAA,GAAA;QACC,IAAG,CAAA,GAAA,GAAW,EAAE,CAAC;AACjB,QAAA,IAAA,CAAA,QAAQ,GAAmB;AAC1B,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,QAAQ,EAAE,EAAE;SACZ,CAAC;KACF;AAAA;;ACFY,MAAA,WAAW,GAAG,IAAI,iBAAiB,GAAG;SAEnC,cAAc,CAC7B,WAAuC,EACvC,QAAyB,EACzB,OAAe,EAAA;AAEf,IAAA,OAAO,MAAK;QACX,MAAM,UAAU,GAAmB,EAAE,CAAC;AAEtC,QAAA,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU;aACxC,GAAG,CAAoB,SAAS,EAAE,GAAG,uCAAuC,GAAG,mBAAmB,CAAC;AACnG,aAAA,IAAI,CACJ,GAAG,CAAC,CAAC,OAAO,KAAI;YACf,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AAE3C,YAAA,IAAI,SAAS,EAAE;AAAQ,gBAAA,UAAW,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC;AAE7D,YAAA,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;SACrD,CAAC,CACF,CAAC;QAEH,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAK;AAC5C,YAAA,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAChC,SAAC,CAAC,CAAC;AACJ,KAAC,CAAC;AACH,CAAC;AAED;;;AAGG;SACa,qBAAqB,CACpC,WAAuC,EACvC,QAAyB,EACzB,OAAe,EAAA;AAEf,IAAA,OAAO,MAAK;QACX,IAAI,SAAS,EAAE,EAAE;AAChB,YAAA,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG;AAAE,gBAAA,WAAW,CAAC,GAAG,GAAS,UAAW,CAAC,OAAO,CAAC;;AACjE,gBAAA,WAAW,CAAC,GAAG,GAAS,UAAW,CAAC,OAAO,GAAG,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC;SACzE;aAAM;AACN,YAAA,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG;gBAAE,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;;AAC9D,gBAAA,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC;SACtE;AACF,KAAC,CAAC;AACH;;ACxDA;;AAEG;;;;"}
|
|
@@ -44,7 +44,9 @@ class MicroAppService {
|
|
|
44
44
|
this.appMenuService = inject(AppMenuService);
|
|
45
45
|
}
|
|
46
46
|
init(httpBackend) {
|
|
47
|
-
return () => httpBackend.httpClient
|
|
47
|
+
return () => httpBackend.httpClient
|
|
48
|
+
.get(isDevMode() ? './assets/local-configs/app.local.json' : './app.json')
|
|
49
|
+
.pipe(tap((apps) => {
|
|
48
50
|
const routes = this.buildRoutes(apps);
|
|
49
51
|
this.router.resetConfig([...this.router.config, ...routes, { path: '**', component: NotFoundComponent }]);
|
|
50
52
|
this.setMenuItems(apps);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-boot-config-apps.mjs","sources":["../../projects/aril/boot/config/apps/src/showdowDOMWrapper.ts","../../projects/aril/boot/config/apps/src/apps.service.ts","../../projects/aril/boot/config/apps/src/interfaces.ts","../../projects/aril/boot/config/apps/aril-boot-config-apps.ts"],"sourcesContent":["import { Component, ElementRef, OnInit, Renderer2, ViewChild, ViewEncapsulation, inject } from '@angular/core';\r\n\r\nimport { WebComponentWrapper } from '@angular-architects/module-federation-tools';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\ttemplate: '<div #vc></div>',\r\n\tencapsulation: ViewEncapsulation.ShadowDom\r\n})\r\nexport class ShadowDOMWrapperComponent extends WebComponentWrapper implements OnInit {\r\n\t@ViewChild('vc', { read: ElementRef, static: true }) override vc!: ElementRef;\r\n\r\n\tprivate renderer = inject(Renderer2);\r\n\r\n\tngOnInit(): void {\r\n\t\tconst shadowRoot = this.vc.nativeElement.parentNode;\r\n\t\tconst styleUrls = this['route'].snapshot.data.styleUrls || [];\r\n\r\n\t\t// Inject styles into the Shadow DOM\r\n\t\tstyleUrls.forEach((url: string) => {\r\n\t\t\tconst link = this.renderer.createElement('link');\r\n\t\t\tlink.setAttribute('rel', 'stylesheet');\r\n\t\t\tlink.setAttribute('type', 'text/css');\r\n\t\t\tlink.setAttribute('href', url);\r\n\t\t\tthis.renderer.appendChild(shadowRoot, link);\r\n\t\t});\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, inject, isDevMode } from '@angular/core';\r\nimport { Router, Routes } from '@angular/router';\r\n\r\nimport { MenuItem } from 'primeng/api';\r\n\r\nimport {\r\n\tWebComponentWrapper,\r\n\tWebComponentWrapperOptions,\r\n\tstartsWith\r\n} from '@angular-architects/module-federation-tools';\r\nimport { Observable, catchError, of, tap } from 'rxjs';\r\n\r\nimport { AppMenuService } from 'aril/theme/layout';\r\nimport { NotFoundComponent } from 'aril/util/custom_pages';\r\n\r\nimport { MicroAppConfig } from './interfaces';\r\nimport { ShadowDOMWrapperComponent } from './showdowDOMWrapper';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MicroAppService {\r\n\tprivate router = inject(Router);\r\n\tprivate appMenuService = inject(AppMenuService);\r\n\r\n\tinit(httpBackend: { httpClient: HttpClient }): () => Observable<MicroAppConfig[]> {\r\n\t\treturn () =>\r\n\t\t\thttpBackend.httpClient.get<MicroAppConfig[]>(isDevMode() ? './assets/app.local.json' : './app.json').pipe(\r\n\t\t\t\ttap((apps: MicroAppConfig[]) => {\r\n\t\t\t\t\tconst routes = this.buildRoutes(apps);\r\n\r\n\t\t\t\t\tthis.router.resetConfig([...this.router.config, ...routes, { path: '**', component: NotFoundComponent }]);\r\n\t\t\t\t\tthis.setMenuItems(apps);\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((err) => {\r\n\t\t\t\t\tconsole.log('Error Micro Apps Loading', err);\r\n\t\t\t\t\treturn of();\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t}\r\n\r\n\tbuildRoutes(apps: MicroAppConfig[]): Routes {\r\n\t\tconst routes: Routes = apps.map((config) => ({\r\n\t\t\tmatcher: startsWith(config.remoteName),\r\n\t\t\tcomponent: config.shadowDomPassive ? WebComponentWrapper : ShadowDOMWrapperComponent,\r\n\t\t\tdata: config as WebComponentWrapperOptions\r\n\t\t}));\r\n\r\n\t\treturn routes;\r\n\t}\r\n\r\n\tsetMenuItems(apps: MicroAppConfig[]): void {\r\n\t\tconst menuItems: MenuItem[] = apps.map((config) => {\r\n\t\t\treturn {\r\n\t\t\t\tlabel: config.remoteName,\r\n\t\t\t\ticon: 'pi pi-fw pi-bars',\r\n\t\t\t\trouterLink: config.remoteName\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\tthis.appMenuService.menuConfig.set({ items: menuItems });\r\n\t}\r\n}\r\n","import { RemoteConfig } from '@angular-architects/module-federation';\r\n\r\nexport enum Apps {\r\n\tTHOR = 'thor',\r\n\tCRM = 'crm',\r\n\tWDM = 'wdm',\r\n\tBILLING = 'billing',\r\n\tPAYMENT = 'payment',\r\n\tYEAP = 'yeap',\r\n\tMD = 'md',\r\n\tMW = 'mw',\r\n\tLENA = 'lena',\r\n\tHES = 'hes',\r\n\tMTH = 'mth',\r\n\tSIS = 'sis',\r\n\tMNG = 'mng'\r\n}\r\n\r\nexport type MicroAppConfig = RemoteConfig & {\r\n\tremoteName: string;\r\n\texposedModule: string;\r\n\telementName: string;\r\n\tshadowDomPassive?: boolean;\r\n\tstyleUrls?: string[];\r\n\t// route: string;\r\n\t// displayName: string;\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AASM,MAAO,yBAA0B,SAAQ,mBAAmB,CAAA;AALlE,IAAA,WAAA,GAAA;;AAQS,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAerC,KAAA;IAbA,QAAQ,GAAA;QACP,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC;AACpD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;;AAG9D,QAAA,SAAS,CAAC,OAAO,CAAC,CAAC,GAAW,KAAI;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AACjD,YAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AACvC,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACtC,YAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC7C,SAAC,CAAC,CAAC;KACH;8GAjBW,yBAAyB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,IAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EACZ,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAJzB,iBAAiB,EAAA,QAAA,EAAA,IAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;;2FAGf,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBALrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,iBAAiB;oBAC3B,aAAa,EAAE,iBAAiB,CAAC,SAAS;AAC1C,iBAAA,CAAA;8BAE8D,EAAE,EAAA,CAAA;sBAA/D,SAAS;uBAAC,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MCUvC,eAAe,CAAA;AAD5B,IAAA,WAAA,GAAA;AAES,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"aril-boot-config-apps.mjs","sources":["../../projects/aril/boot/config/apps/src/showdowDOMWrapper.ts","../../projects/aril/boot/config/apps/src/apps.service.ts","../../projects/aril/boot/config/apps/src/interfaces.ts","../../projects/aril/boot/config/apps/aril-boot-config-apps.ts"],"sourcesContent":["import { Component, ElementRef, OnInit, Renderer2, ViewChild, ViewEncapsulation, inject } from '@angular/core';\r\n\r\nimport { WebComponentWrapper } from '@angular-architects/module-federation-tools';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\ttemplate: '<div #vc></div>',\r\n\tencapsulation: ViewEncapsulation.ShadowDom\r\n})\r\nexport class ShadowDOMWrapperComponent extends WebComponentWrapper implements OnInit {\r\n\t@ViewChild('vc', { read: ElementRef, static: true }) override vc!: ElementRef;\r\n\r\n\tprivate renderer = inject(Renderer2);\r\n\r\n\tngOnInit(): void {\r\n\t\tconst shadowRoot = this.vc.nativeElement.parentNode;\r\n\t\tconst styleUrls = this['route'].snapshot.data.styleUrls || [];\r\n\r\n\t\t// Inject styles into the Shadow DOM\r\n\t\tstyleUrls.forEach((url: string) => {\r\n\t\t\tconst link = this.renderer.createElement('link');\r\n\t\t\tlink.setAttribute('rel', 'stylesheet');\r\n\t\t\tlink.setAttribute('type', 'text/css');\r\n\t\t\tlink.setAttribute('href', url);\r\n\t\t\tthis.renderer.appendChild(shadowRoot, link);\r\n\t\t});\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable, inject, isDevMode } from '@angular/core';\r\nimport { Router, Routes } from '@angular/router';\r\n\r\nimport { MenuItem } from 'primeng/api';\r\n\r\nimport {\r\n\tWebComponentWrapper,\r\n\tWebComponentWrapperOptions,\r\n\tstartsWith\r\n} from '@angular-architects/module-federation-tools';\r\nimport { Observable, catchError, of, tap } from 'rxjs';\r\n\r\nimport { AppMenuService } from 'aril/theme/layout';\r\nimport { NotFoundComponent } from 'aril/util/custom_pages';\r\n\r\nimport { MicroAppConfig } from './interfaces';\r\nimport { ShadowDOMWrapperComponent } from './showdowDOMWrapper';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MicroAppService {\r\n\tprivate router = inject(Router);\r\n\tprivate appMenuService = inject(AppMenuService);\r\n\r\n\tinit(httpBackend: { httpClient: HttpClient }): () => Observable<MicroAppConfig[]> {\r\n\t\treturn () =>\r\n\t\t\thttpBackend.httpClient\r\n\t\t\t\t.get<MicroAppConfig[]>(isDevMode() ? './assets/local-configs/app.local.json' : './app.json')\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\ttap((apps: MicroAppConfig[]) => {\r\n\t\t\t\t\t\tconst routes = this.buildRoutes(apps);\r\n\r\n\t\t\t\t\t\tthis.router.resetConfig([...this.router.config, ...routes, { path: '**', component: NotFoundComponent }]);\r\n\t\t\t\t\t\tthis.setMenuItems(apps);\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tcatchError((err) => {\r\n\t\t\t\t\t\tconsole.log('Error Micro Apps Loading', err);\r\n\t\t\t\t\t\treturn of();\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t}\r\n\r\n\tbuildRoutes(apps: MicroAppConfig[]): Routes {\r\n\t\tconst routes: Routes = apps.map((config) => ({\r\n\t\t\tmatcher: startsWith(config.remoteName),\r\n\t\t\tcomponent: config.shadowDomPassive ? WebComponentWrapper : ShadowDOMWrapperComponent,\r\n\t\t\tdata: config as WebComponentWrapperOptions\r\n\t\t}));\r\n\r\n\t\treturn routes;\r\n\t}\r\n\r\n\tsetMenuItems(apps: MicroAppConfig[]): void {\r\n\t\tconst menuItems: MenuItem[] = apps.map((config) => {\r\n\t\t\treturn {\r\n\t\t\t\tlabel: config.remoteName,\r\n\t\t\t\ticon: 'pi pi-fw pi-bars',\r\n\t\t\t\trouterLink: config.remoteName\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\tthis.appMenuService.menuConfig.set({ items: menuItems });\r\n\t}\r\n}\r\n","import { RemoteConfig } from '@angular-architects/module-federation';\r\n\r\nexport enum Apps {\r\n\tTHOR = 'thor',\r\n\tCRM = 'crm',\r\n\tWDM = 'wdm',\r\n\tBILLING = 'billing',\r\n\tPAYMENT = 'payment',\r\n\tYEAP = 'yeap',\r\n\tMD = 'md',\r\n\tMW = 'mw',\r\n\tLENA = 'lena',\r\n\tHES = 'hes',\r\n\tMTH = 'mth',\r\n\tSIS = 'sis',\r\n\tMNG = 'mng'\r\n}\r\n\r\nexport type MicroAppConfig = RemoteConfig & {\r\n\tremoteName: string;\r\n\texposedModule: string;\r\n\telementName: string;\r\n\tshadowDomPassive?: boolean;\r\n\tstyleUrls?: string[];\r\n\t// route: string;\r\n\t// displayName: string;\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|