aril 0.0.30 → 0.0.32
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 +3 -4
- package/boot/mfe/src/loadStyles.d.ts +1 -1
- package/esm2022/boot/config/api/index.mjs +1 -1
- package/esm2022/boot/config/api/src/api.service.mjs +17 -14
- package/esm2022/boot/config/apps/index.mjs +1 -1
- package/esm2022/boot/config/apps/src/showdowDOMWrapper.mjs +1 -1
- package/esm2022/boot/config/plugins/index.mjs +1 -1
- package/esm2022/boot/host/index.mjs +1 -1
- package/esm2022/boot/host/src/app.component.mjs +1 -1
- package/esm2022/boot/host/src/bootstrap.mjs +2 -8
- package/esm2022/boot/mfe/src/bootstrap.mjs +3 -9
- package/esm2022/boot/mfe/src/loadStyles.mjs +4 -3
- package/esm2022/http/index.mjs +1 -1
- package/esm2022/keycloak/src/keycloak.manager.mjs +3 -6
- package/esm2022/theme/layout/service/app.menu.service.mjs +1 -1
- package/esm2022/ui/calendar/src/calendar.component.mjs +2 -2
- package/esm2022/ui/selectBox/src/interfaces.mjs +2 -0
- package/esm2022/ui/selectBox/src/select-box.component.mjs +31 -11
- package/fesm2022/aril-boot-config-api.mjs +17 -14
- package/fesm2022/aril-boot-config-api.mjs.map +1 -1
- package/fesm2022/aril-boot-config-apps.mjs.map +1 -1
- package/fesm2022/aril-boot-config-plugins.mjs.map +1 -1
- package/fesm2022/aril-boot-host.mjs +1 -7
- package/fesm2022/aril-boot-host.mjs.map +1 -1
- package/fesm2022/{aril-boot-mfe-app.component-LM18d1qs.mjs → aril-boot-mfe-app.component-j3vP23a4.mjs} +2 -2
- package/fesm2022/{aril-boot-mfe-app.component-LM18d1qs.mjs.map → aril-boot-mfe-app.component-j3vP23a4.mjs.map} +1 -1
- package/fesm2022/{aril-boot-mfe-aril-boot-mfe-PtTQpE6Z.mjs → aril-boot-mfe-aril-boot-mfe-882iQta6.mjs} +7 -12
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-882iQta6.mjs.map +1 -0
- package/fesm2022/aril-boot-mfe.mjs +1 -1
- package/fesm2022/aril-http.mjs.map +1 -1
- package/fesm2022/aril-keycloak.mjs +2 -5
- package/fesm2022/aril-keycloak.mjs.map +1 -1
- package/fesm2022/aril-theme-layout.mjs.map +1 -1
- package/fesm2022/aril-ui-calendar.mjs +1 -1
- package/fesm2022/aril-ui-calendar.mjs.map +1 -1
- package/fesm2022/aril-ui-selectBox.mjs +30 -10
- package/fesm2022/aril-ui-selectBox.mjs.map +1 -1
- package/fesm2022/aril.mjs +6 -17
- package/fesm2022/aril.mjs.map +1 -1
- package/keycloak/src/keycloak.manager.d.ts +1 -1
- package/package.json +13 -13
- package/theme/layout/service/app.menu.service.ts +59 -59
- package/ui/selectBox/src/interfaces.d.ts +32 -0
- package/ui/selectBox/src/select-box.component.d.ts +8 -4
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-PtTQpE6Z.mjs.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isDevMode } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { tap, firstValueFrom } from 'rxjs';
|
|
3
3
|
|
|
4
4
|
class ApiConfigsFactory {
|
|
5
5
|
constructor() {
|
|
@@ -12,22 +12,25 @@ class ApiConfigsFactory {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
const API_CONFIGS = new ApiConfigsFactory();
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
function loadApiConfigs(httpBackend, keycloak, appName) {
|
|
16
|
+
return () => {
|
|
17
|
+
const configDeps = [];
|
|
18
|
+
const observable$ = httpBackend.httpClient
|
|
19
|
+
.get(isDevMode() ? './assets/api.local.json' : './api.json')
|
|
20
|
+
.pipe(tap((configs) => {
|
|
21
|
+
Object.assign(API_CONFIGS, { ...configs });
|
|
22
|
+
globalThis.hostApi = API_CONFIGS.api;
|
|
23
|
+
configDeps.push(keycloak.init(API_CONFIGS.keycloak));
|
|
24
|
+
}));
|
|
25
|
+
return firstValueFrom(observable$).then(() => {
|
|
26
|
+
return Promise.all(configDeps);
|
|
27
|
+
});
|
|
28
|
+
};
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
28
31
|
* micro-app cannot access its own api.json file when opened in host
|
|
29
32
|
*/
|
|
30
|
-
function setApiConfigOnMFEMode(httpBackend, appName) {
|
|
33
|
+
function setApiConfigOnMFEMode(httpBackend, keycloak, appName) {
|
|
31
34
|
return () => {
|
|
32
35
|
if (isDevMode()) {
|
|
33
36
|
API_CONFIGS.api = globalThis.hostApi + '/' + appName + '/v1';
|
|
@@ -42,5 +45,5 @@ function setApiConfigOnMFEMode(httpBackend, appName) {
|
|
|
42
45
|
* Generated bundle index. Do not edit.
|
|
43
46
|
*/
|
|
44
47
|
|
|
45
|
-
export { API_CONFIGS, ApiConfigsFactory,
|
|
48
|
+
export { API_CONFIGS, ApiConfigsFactory, loadApiConfigs, setApiConfigOnMFEMode };
|
|
46
49
|
//# sourceMappingURL=aril-boot-config-api.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-boot-config-api.mjs","sources":["../../projects/aril/boot/config/api/src/api.service.ts","../../projects/aril/boot/config/api/aril-boot-config-api.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\r\nimport { isDevMode } from '@angular/core';\r\n\r\nimport {
|
|
1
|
+
{"version":3,"file":"aril-boot-config-api.mjs","sources":["../../projects/aril/boot/config/api/src/api.service.ts","../../projects/aril/boot/config/api/aril-boot-config-api.ts"],"sourcesContent":["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 { KeycloakConfig } from './interfaces';\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\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\t(<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 */\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\tAPI_CONFIGS.api = (<any>globalThis).hostApi + '/' + appName + '/v1';\r\n\t\t} else {\r\n\t\t\tAPI_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":";;;MASa,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,CAAA;AAEY,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,yBAAyB,GAAG,YAAY,CAAC;AAC9E,aAAA,IAAI,CACJ,GAAG,CAAC,CAAC,OAAO,KAAI;YACf,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACrC,YAAA,UAAW,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC;AAE5C,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;;AAEG;SACa,qBAAqB,CACpC,WAAuC,EACvC,QAAyB,EACzB,OAAe,EAAA;AAEf,IAAA,OAAO,MAAK;QACX,IAAI,SAAS,EAAE,EAAE;AAChB,YAAA,WAAW,CAAC,GAAG,GAAS,UAAW,CAAC,OAAO,GAAG,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC;SACpE;aAAM;AACN,YAAA,WAAW,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC;SACjE;AACF,KAAC,CAAC;AACH;;AC5DA;;AAEG;;;;"}
|
|
@@ -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';\n\nimport { WebComponentWrapper } from '@angular-architects/module-federation-tools';\n\n@Component({\n\tstandalone: true,\n\ttemplate: '<div #vc></div>',\n\tencapsulation: ViewEncapsulation.ShadowDom\n})\nexport class ShadowDOMWrapperComponent extends WebComponentWrapper implements OnInit {\n\t@ViewChild('vc', { read: ElementRef, static: true }) override vc!: ElementRef;\n\n\tprivate renderer = inject(Renderer2);\n\n\tngOnInit(): void {\n\t\tconst shadowRoot = this.vc.nativeElement.parentNode;\n\t\tconst styleUrls = this['route'].snapshot.data.styleUrls || [];\n\n\t\t// Inject styles into the Shadow DOM\n\t\tstyleUrls.forEach((url: string) => {\n\t\t\tconst link = this.renderer.createElement('link');\n\t\t\tlink.setAttribute('rel', 'stylesheet');\n\t\t\tlink.setAttribute('type', 'text/css');\n\t\t\tlink.setAttribute('href', url);\n\t\t\tthis.renderer.appendChild(shadowRoot, link);\n\t\t});\n\t}\n}\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 { Apps, CustomRemoteConfig, MicroAppConfigs } 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(appName: Apps, httpBackend: { httpClient: HttpClient }): () => Observable<MicroAppConfigs> {\r\n\t\treturn () =>\r\n\t\t\thttpBackend.httpClient.get<MicroAppConfigs>(isDevMode() ? './assets/app.local.json' : './app.json').pipe(\r\n\t\t\t\ttap((apps: MicroAppConfigs) => {\r\n\t\t\t\t\tconst routes = this.buildRoutes(apps[appName]);\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[appName]);\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: CustomRemoteConfig[]): 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: CustomRemoteConfig[]): 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 CustomRemoteConfig = 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\r\nexport type MicroAppConfigs = { [key in Apps]: CustomRemoteConfig[] };\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
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 { Apps, CustomRemoteConfig, MicroAppConfigs } 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(appName: Apps, httpBackend: { httpClient: HttpClient }): () => Observable<MicroAppConfigs> {\r\n\t\treturn () =>\r\n\t\t\thttpBackend.httpClient.get<MicroAppConfigs>(isDevMode() ? './assets/app.local.json' : './app.json').pipe(\r\n\t\t\t\ttap((apps: MicroAppConfigs) => {\r\n\t\t\t\t\tconst routes = this.buildRoutes(apps[appName]);\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[appName]);\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: CustomRemoteConfig[]): 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: CustomRemoteConfig[]): 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 CustomRemoteConfig = 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\r\nexport type MicroAppConfigs = { [key in Apps]: CustomRemoteConfig[] };\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-boot-config-plugins.mjs","sources":["../../projects/aril/boot/config/plugins/index.ts","../../projects/aril/boot/config/plugins/aril-boot-config-plugins.ts"],"sourcesContent":["// export * from './src/plugin.service';\nexport const pl = '';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AACO,MAAM,EAAE,GAAG;;ACDlB;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"aril-boot-config-plugins.mjs","sources":["../../projects/aril/boot/config/plugins/index.ts","../../projects/aril/boot/config/plugins/aril-boot-config-plugins.ts"],"sourcesContent":["// export * from './src/plugin.service';\r\nexport const pl = '';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AACO,MAAM,EAAE,GAAG;;ACDlB;;AAEG;;;;"}
|
|
@@ -54,13 +54,7 @@ const boot = (appName, routes) => {
|
|
|
54
54
|
provide: APP_INITIALIZER,
|
|
55
55
|
useFactory: loadApiConfigs,
|
|
56
56
|
multi: true,
|
|
57
|
-
deps: [HttpBackendService, i18nFolderName]
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
provide: APP_INITIALIZER,
|
|
61
|
-
useFactory: (keycloak) => () => keycloak.init(),
|
|
62
|
-
multi: true,
|
|
63
|
-
deps: [KeycloakManager]
|
|
57
|
+
deps: [HttpBackendService, KeycloakManager, i18nFolderName]
|
|
64
58
|
},
|
|
65
59
|
{
|
|
66
60
|
provide: APP_INITIALIZER,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-boot-host.mjs","sources":["../../projects/aril/boot/host/src/app.component.ts","../../projects/aril/boot/host/src/bootstrap.ts","../../projects/aril/boot/host/aril-boot-host.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component, NgZone, inject } from '@angular/core';\nimport { Router, RouterOutlet } from '@angular/router';\n\nimport { AppLayoutComponent } from 'aril/theme/layout';\nimport { PubSubService } from 'aril/util/pub-sub';\n\n@Component({\n\tstandalone: true,\n\tselector: 'aril-root',\n\ttemplate: ` <app-layout></app-layout> `,\n\timports: [RouterOutlet, AppLayoutComponent]\n})\nexport class AppComponent {\n\tconstructor(router: Router, pubSubService: PubSubService) {\n\t\t(<any>globalThis).ngZone = inject(NgZone);\n\t\t(<any>globalThis).isMFEMode = true;\n\n\t\tpubSubService.subscribe('navigateBetweenApps', (data: any) => {\n\t\t\trouter.navigateByUrl(data.path);\n\t\t\tpubSubService.publish({\n\t\t\t\tname: 'navigateInApps',\n\t\t\t\tdata: data\n\t\t\t});\n\t\t});\n\t}\n}\n","import { provideHttpClient, withInterceptors } from '@angular/common/http';\r\nimport { APP_INITIALIZER, ApplicationConfig, importProvidersFrom } from '@angular/core';\r\nimport { bootstrapApplication } from '@angular/platform-browser';\r\nimport { provideAnimations } from '@angular/platform-browser/animations';\r\nimport { Routes, provideRouter, withComponentInputBinding, withHashLocation } from '@angular/router';\r\n\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\n\r\nimport { KeycloakAngularModule } from 'keycloak-angular';\r\n\r\nimport { loadApiConfigs } from 'aril/boot/config/api';\r\nimport { Apps, MicroAppService } from 'aril/boot/config/apps';\r\nimport { HttpBackendService } from 'aril/http';\r\nimport { i18nFolderName, i18nModule } from 'aril/i18n';\r\nimport { KeycloakManager, authInterceptor } from 'aril/keycloak';\r\n\r\nimport { AppComponent } from './app.component';\r\n\r\nexport const boot = (appName: Apps.THOR | Apps.LENA | Apps.YEAP, routes: Routes) => {\r\n\tconst appConfig: ApplicationConfig = {\r\n\t\tproviders: [\r\n\t\t\tprovideAnimations(),\r\n\t\t\tprovideHttpClient(withInterceptors([authInterceptor])),\r\n\t\t\tprovideRouter(routes, withComponentInputBinding(), withHashLocation()),\r\n\t\t\timportProvidersFrom(i18nModule, KeycloakAngularModule),\r\n\t\t\tMessageService,\r\n\t\t\tConfirmationService,\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: loadApiConfigs,\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [HttpBackendService,
|
|
1
|
+
{"version":3,"file":"aril-boot-host.mjs","sources":["../../projects/aril/boot/host/src/app.component.ts","../../projects/aril/boot/host/src/bootstrap.ts","../../projects/aril/boot/host/aril-boot-host.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { Component, NgZone, inject } from '@angular/core';\r\nimport { Router, RouterOutlet } from '@angular/router';\r\n\r\nimport { AppLayoutComponent } from 'aril/theme/layout';\r\nimport { PubSubService } from 'aril/util/pub-sub';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-root',\r\n\ttemplate: ` <app-layout></app-layout> `,\r\n\timports: [RouterOutlet, AppLayoutComponent]\r\n})\r\nexport class AppComponent {\r\n\tconstructor(router: Router, pubSubService: PubSubService) {\r\n\t\t(<any>globalThis).ngZone = inject(NgZone);\r\n\t\t(<any>globalThis).isMFEMode = true;\r\n\r\n\t\tpubSubService.subscribe('navigateBetweenApps', (data: any) => {\r\n\t\t\trouter.navigateByUrl(data.path);\r\n\t\t\tpubSubService.publish({\r\n\t\t\t\tname: 'navigateInApps',\r\n\t\t\t\tdata: data\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n}\r\n","import { provideHttpClient, withInterceptors } from '@angular/common/http';\r\nimport { APP_INITIALIZER, ApplicationConfig, importProvidersFrom } from '@angular/core';\r\nimport { bootstrapApplication } from '@angular/platform-browser';\r\nimport { provideAnimations } from '@angular/platform-browser/animations';\r\nimport { Routes, provideRouter, withComponentInputBinding, withHashLocation } from '@angular/router';\r\n\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\n\r\nimport { KeycloakAngularModule } from 'keycloak-angular';\r\n\r\nimport { loadApiConfigs } from 'aril/boot/config/api';\r\nimport { Apps, MicroAppService } from 'aril/boot/config/apps';\r\nimport { HttpBackendService } from 'aril/http';\r\nimport { i18nFolderName, i18nModule } from 'aril/i18n';\r\nimport { KeycloakManager, authInterceptor } from 'aril/keycloak';\r\n\r\nimport { AppComponent } from './app.component';\r\n\r\nexport const boot = (appName: Apps.THOR | Apps.LENA | Apps.YEAP, routes: Routes) => {\r\n\tconst appConfig: ApplicationConfig = {\r\n\t\tproviders: [\r\n\t\t\tprovideAnimations(),\r\n\t\t\tprovideHttpClient(withInterceptors([authInterceptor])),\r\n\t\t\tprovideRouter(routes, withComponentInputBinding(), withHashLocation()),\r\n\t\t\timportProvidersFrom(i18nModule, KeycloakAngularModule),\r\n\t\t\tMessageService,\r\n\t\t\tConfirmationService,\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: loadApiConfigs,\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [HttpBackendService, KeycloakManager, i18nFolderName]\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: (mAppService: MicroAppService, httpBackend: HttpBackendService, appName: Apps) =>\r\n\t\t\t\t\tmAppService.init(appName, httpBackend),\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [MicroAppService, HttpBackendService, i18nFolderName]\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: i18nFolderName,\r\n\t\t\t\tuseValue: appName\r\n\t\t\t}\r\n\t\t]\r\n\t};\r\n\r\n\tbootstrapApplication(AppComponent, appConfig).catch((err) => console.error(err));\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;MAaa,YAAY,CAAA;IACxB,WAAY,CAAA,MAAc,EAAE,aAA4B,EAAA;AACjD,QAAA,UAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACpC,QAAA,UAAW,CAAC,SAAS,GAAG,IAAI,CAAC;QAEnC,aAAa,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC,IAAS,KAAI;AAC5D,YAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,aAAa,CAAC,OAAO,CAAC;AACrB,gBAAA,IAAI,EAAE,gBAAgB;AACtB,gBAAA,IAAI,EAAE,IAAI;AACV,aAAA,CAAC,CAAC;AACJ,SAAC,CAAC,CAAC;KACH;8GAZW,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAHd,CAA6B,2BAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE9B,YAAY,EAAA,UAAA,EAAA,CAAA;kBANxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,QAAQ,EAAE,CAA6B,2BAAA,CAAA;AACvC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,CAAC;AAC3C,iBAAA,CAAA;;;MCMY,IAAI,GAAG,CAAC,OAA0C,EAAE,MAAc,KAAI;AAClF,IAAA,MAAM,SAAS,GAAsB;AACpC,QAAA,SAAS,EAAE;AACV,YAAA,iBAAiB,EAAE;AACnB,YAAA,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YACtD,aAAa,CAAC,MAAM,EAAE,yBAAyB,EAAE,EAAE,gBAAgB,EAAE,CAAC;AACtE,YAAA,mBAAmB,CAAC,UAAU,EAAE,qBAAqB,CAAC;YACtD,cAAc;YACd,mBAAmB;AACnB,YAAA;AACC,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,UAAU,EAAE,cAAc;AAC1B,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,IAAI,EAAE,CAAC,kBAAkB,EAAE,eAAe,EAAE,cAAc,CAAC;AAC3D,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,UAAU,EAAE,CAAC,WAA4B,EAAE,WAA+B,EAAE,OAAa,KACxF,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;AACvC,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,IAAI,EAAE,CAAC,eAAe,EAAE,kBAAkB,EAAE,cAAc,CAAC;AAC3D,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,cAAc;AACvB,gBAAA,QAAQ,EAAE,OAAO;AACjB,aAAA;AACD,SAAA;KACD,CAAC;IAEF,oBAAoB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAClF;;AChDA;;AAEG;;;;"}
|
|
@@ -5,7 +5,7 @@ import { RouterOutlet } from '@angular/router';
|
|
|
5
5
|
import { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';
|
|
6
6
|
import * as i3 from 'aril/theme/layout';
|
|
7
7
|
import { AppLayoutComponent, MFELayoutComponent } from 'aril/theme/layout';
|
|
8
|
-
import { a as appName, m as menuItems } from './aril-boot-mfe-aril-boot-mfe-
|
|
8
|
+
import { a as appName, m as menuItems } from './aril-boot-mfe-aril-boot-mfe-882iQta6.mjs';
|
|
9
9
|
import * as i2 from 'aril/util/pub-sub';
|
|
10
10
|
import '@angular/common/http';
|
|
11
11
|
import '@angular/elements';
|
|
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
68
68
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.PubSubService }, { type: i3.AppMenuService }] });
|
|
69
69
|
|
|
70
70
|
export { AppComponent };
|
|
71
|
-
//# sourceMappingURL=aril-boot-mfe-app.component-
|
|
71
|
+
//# sourceMappingURL=aril-boot-mfe-app.component-j3vP23a4.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-boot-mfe-app.component-
|
|
1
|
+
{"version":3,"file":"aril-boot-mfe-app.component-j3vP23a4.mjs","sources":["../../projects/aril/boot/mfe/src/app.component.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Component } from '@angular/core';\nimport { Router, RouterOutlet } from '@angular/router';\n\nimport { ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';\n\nimport { AppLayoutComponent, AppMenuService, MFELayoutComponent } from 'aril/theme/layout';\nimport { PubSubService } from 'aril/util/pub-sub';\n\nimport { appName, menuItems } from './bootstrap';\n\n@Component({\n\tstandalone: true,\n\ttemplate: `\n\t\t@if (isMFEMode) {\n\t\t\t<mfe-layout></mfe-layout>\n\t\t} @else {\n\t\t\t<app-layout></app-layout>\n\t\t}\n\t`,\n\timports: [RouterOutlet, ModuleFederationToolsModule, AppLayoutComponent, MFELayoutComponent]\n})\nexport class AppComponent {\n\tconstructor(\n\t\tprivate router: Router,\n\t\tpubSubService: PubSubService,\n\t\tappMenuService: AppMenuService\n\t) {\n\t\tthis.connectRouter();\n\n\t\t(<any>globalThis).activeMF = appName;\n\n\t\tpubSubService.subscribe('navigateInApps', (data: any) => {\n\t\t\tif (data.path.startsWith(appName, 1)) router.navigateByUrl(data.path);\n\t\t});\n\n\t\tif (this.isMFEMode) {\n\t\t\tappMenuService.subMenuConfig.set({ items: structuredClone(menuItems), prefix: appName });\n\t\t} else {\n\t\t\tappMenuService.menuConfig.set({ items: structuredClone(menuItems), prefix: appName });\n\t\t}\n\t}\n\n\tisMFEMode = (<any>globalThis).isMFEMode;\n\n\tconnectRouter() {\n\t\tthis.router.initialNavigation();\n\n\t\twindow.addEventListener('popstate', () => {\n\t\t\tthis.router.initialNavigation();\n\t\t});\n\t}\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;MAsBa,YAAY,CAAA;AACxB,IAAA,WAAA,CACS,MAAc,EACtB,aAA4B,EAC5B,cAA8B,EAAA;QAFtB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AAmBvB,QAAA,IAAA,CAAA,SAAS,GAAS,UAAW,CAAC,SAAS,CAAC;QAfvC,IAAI,CAAC,aAAa,EAAE,CAAC;AAEf,QAAA,UAAW,CAAC,QAAQ,GAAG,OAAO,CAAC;QAErC,aAAa,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,IAAS,KAAI;YACvD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;AAAE,gBAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvE,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;SACzF;aAAM;AACN,YAAA,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;SACtF;KACD;IAID,aAAa,GAAA;AACZ,QAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;AAEhC,QAAA,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAK;AACxC,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;AACjC,SAAC,CAAC,CAAC;KACH;8GA7BW,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,EATd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;AAMT,CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACuB,2BAA2B,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE/E,YAAY,EAAA,UAAA,EAAA,CAAA;kBAXxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;;;;;AAMT,CAAA,CAAA;oBACD,OAAO,EAAE,CAAC,YAAY,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,kBAAkB,CAAC;AAC5F,iBAAA,CAAA;;;;;"}
|
|
@@ -13,7 +13,7 @@ import { authInterceptor, KeycloakManager } from 'aril/keycloak';
|
|
|
13
13
|
import { StyleLoaderService } from 'aril/util/loaders';
|
|
14
14
|
|
|
15
15
|
const appComponentLoader = async () => {
|
|
16
|
-
const { AppComponent } = await import('./aril-boot-mfe-app.component-
|
|
16
|
+
const { AppComponent } = await import('./aril-boot-mfe-app.component-j3vP23a4.mjs');
|
|
17
17
|
return AppComponent;
|
|
18
18
|
};
|
|
19
19
|
|
|
@@ -28,8 +28,9 @@ function loadStylesheets(styleLoaderService, appName) {
|
|
|
28
28
|
`assets/${appName}/styles/primeflex/primeflex.min.css`,
|
|
29
29
|
`assets/${appName}/styles/primeicons/primeicons.css`
|
|
30
30
|
];
|
|
31
|
-
if (
|
|
32
|
-
|
|
31
|
+
if (globalThis.isMFEMode)
|
|
32
|
+
return () => Promise.resolve();
|
|
33
|
+
return () => styleLoaderService.load(styles);
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
var appName;
|
|
@@ -50,17 +51,11 @@ const boot = (_appName, _routes, _menuItems, _plugins) => {
|
|
|
50
51
|
provide: APP_INITIALIZER,
|
|
51
52
|
useFactory: globalThis.isMFEMode ? setApiConfigOnMFEMode : loadApiConfigs,
|
|
52
53
|
multi: true,
|
|
53
|
-
deps: [HttpBackendService, i18nFolderName]
|
|
54
|
+
deps: [HttpBackendService, KeycloakManager, i18nFolderName]
|
|
54
55
|
},
|
|
55
56
|
{
|
|
56
57
|
provide: APP_INITIALIZER,
|
|
57
|
-
useFactory:
|
|
58
|
-
multi: true,
|
|
59
|
-
deps: [KeycloakManager]
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
provide: APP_INITIALIZER,
|
|
63
|
-
useFactory: (styleLoader, i18nFolderName) => () => loadStylesheets(styleLoader, i18nFolderName),
|
|
58
|
+
useFactory: loadStylesheets,
|
|
64
59
|
multi: true,
|
|
65
60
|
deps: [StyleLoaderService, i18nFolderName]
|
|
66
61
|
},
|
|
@@ -89,4 +84,4 @@ const boot = (_appName, _routes, _menuItems, _plugins) => {
|
|
|
89
84
|
*/
|
|
90
85
|
|
|
91
86
|
export { appName as a, boot as b, menuItems as m };
|
|
92
|
-
//# sourceMappingURL=aril-boot-mfe-aril-boot-mfe-
|
|
87
|
+
//# sourceMappingURL=aril-boot-mfe-aril-boot-mfe-882iQta6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aril-boot-mfe-aril-boot-mfe-882iQta6.mjs","sources":["../../projects/aril/boot/mfe/src/appComponentLoader.ts","../../projects/aril/boot/mfe/src/loadStyles.ts","../../projects/aril/boot/mfe/src/bootstrap.ts","../../projects/aril/boot/mfe/aril-boot-mfe.ts"],"sourcesContent":["export const appComponentLoader = async () => {\r\n\tconst { AppComponent } = await import('./app.component');\r\n\treturn AppComponent;\r\n};","import { Apps } from 'aril/boot/config/apps';\r\nimport { StyleLoaderService } from 'aril/util/loaders';\r\n\r\nexport function loadStylesheets(styleLoaderService: StyleLoaderService, appName: Apps): () => Promise<any> {\r\n\tconst styles = [\r\n\t\t'layout.css',\r\n\t\t'ui.common.css',\r\n\t\t'preloading.css',\r\n\t\t'primeng.min.css',\r\n\t\t'theme.light.indigo.css',\r\n\t\t'dx.fluent.saas.light.css',\r\n\t\t`assets/${appName}/styles/primeflex/primeflex.min.css`,\r\n\t\t`assets/${appName}/styles/primeicons/primeicons.css`\r\n\t];\r\n\r\n\tif ((<any>globalThis).isMFEMode) return () => Promise.resolve();\r\n\r\n\treturn () => styleLoaderService.load(styles);\r\n}\r\n","import { provideHttpClient, withInterceptors } from '@angular/common/http';\r\nimport { APP_INITIALIZER, ApplicationConfig, NgZone, Type, importProvidersFrom } from '@angular/core';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { createApplication } from '@angular/platform-browser';\r\nimport { provideAnimations } from '@angular/platform-browser/animations';\r\nimport { Routes, provideRouter, withComponentInputBinding, withHashLocation } from '@angular/router';\r\n\r\nimport { ConfirmationService, MenuItem, MessageService } from 'primeng/api';\r\n\r\nimport { KeycloakAngularModule } from 'keycloak-angular';\r\n\r\nimport { loadApiConfigs, setApiConfigOnMFEMode } from 'aril/boot/config/api';\r\nimport { Apps } from 'aril/boot/config/apps';\r\nimport { HttpBackendService } from 'aril/http';\r\nimport { i18nFolderName, i18nModule } from 'aril/i18n';\r\nimport { KeycloakManager, authInterceptor } from 'aril/keycloak';\r\nimport { StyleLoaderService } from 'aril/util/loaders';\r\n\r\nimport { appComponentLoader } from './appComponentLoader';\r\nimport { loadStylesheets } from './loadStyles';\r\n\r\nexport var appName: Apps | undefined;\r\nexport var menuItems: MenuItem[] = [];\r\n\r\nexport const boot = (\r\n\t_appName: Apps,\r\n\t_routes: Routes,\r\n\t_menuItems: MenuItem[],\r\n\t_plugins?: { [selector: string]: Type<any> }\r\n) => {\r\n\tappName = _appName;\r\n\tmenuItems = _menuItems;\r\n\r\n\tconst appBootConfig: ApplicationConfig = {\r\n\t\tproviders: [\r\n\t\t\tprovideAnimations(),\r\n\t\t\tprovideHttpClient(withInterceptors([authInterceptor])),\r\n\t\t\tprovideRouter(_routes, withComponentInputBinding(), withHashLocation()),\r\n\t\t\timportProvidersFrom(i18nModule, KeycloakAngularModule),\r\n\t\t\tMessageService,\r\n\t\t\tConfirmationService,\r\n\t\t\t(<any>globalThis).ngZone ? { provide: NgZone, useValue: (<any>globalThis).ngZone } : [],\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: (<any>globalThis).isMFEMode ? setApiConfigOnMFEMode : loadApiConfigs,\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [HttpBackendService, KeycloakManager, i18nFolderName]\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: loadStylesheets,\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [StyleLoaderService, i18nFolderName]\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: i18nFolderName,\r\n\t\t\t\tuseValue: _appName\r\n\t\t\t}\r\n\t\t]\r\n\t};\r\n\r\n\tcreateApplication(appBootConfig).then((appRef) => {\r\n\t\tappComponentLoader().then((AppComponent) => {\r\n\t\t\tconst app = createCustomElement(AppComponent, { injector: appRef.injector });\r\n\t\t\tcustomElements.define(`app-${appName}`, app);\r\n\r\n\t\t\tif (_plugins) {\r\n\t\t\t\tObject.entries(_plugins).forEach(([selector, component]) => {\r\n\t\t\t\t\tconst fdc = createCustomElement(component, { injector: appRef.injector });\r\n\t\t\t\t\tcustomElements.define(selector, fdc);\r\n\t\t\t\t});\r\n\t\t\t}\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":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-http.mjs","sources":["../../projects/aril/http/lib/enums.ts","../../projects/aril/http/lib/interfaces.ts","../../projects/aril/http/src/httpBackend.ts","../../projects/aril/http/src/httpClient.ts","../../projects/aril/http/src/serviceRequest.ts","../../projects/aril/http/src/serviceStateMethods.ts","../../projects/aril/http/src/serviceBase.ts","../../projects/aril/http/src/serviceMockBase.ts","../../projects/aril/http/index.ts","../../projects/aril/http/aril-http.ts"],"sourcesContent":["export enum HTTPMethods {\r\n\tGET = 'GET',\r\n\tGETBYPARAMS = 'GETBYPARAMS',\r\n\tPOST = 'POST',\r\n\tPUT = 'PUT',\r\n\tDELETE = 'DELETE',\r\n\tDELETEBYPARAMS = 'DELETEBYPARAMS'\r\n}\r\nexport enum ProxyTypes {\r\n\tNative,\r\n\tServerSide,\r\n\tClientSide\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/ban-types */\nimport { HttpErrorResponse } from '@angular/common/http';\n\nimport { ProxyTypes } from './enums';\n\nexport interface ServiceCallStates {\n\tserviceCalled: boolean;\n\twaitingForResponse: boolean;\n\tresponseIsRecieved: boolean;\n\tserviceCallFailed: boolean;\n}\n\nexport type ServiceCallStateMap<T> = {\n\t[K in keyof T]?: T[K] extends Function ? ServiceCallStates : never;\n};\n\nexport class ErrorResponse {\n\terror: HttpErrorResponse | undefined;\n\n\tconstructor(err: HttpErrorResponse | undefined) {\n\t\tthis.error = err;\n\t}\n}\n\nexport class ServiceResponse<T> extends ErrorResponse {\n\trequest: any;\n\tresponse: T;\n\tproxy: ProxyTypes;\n\n\tconstructor(request: any, response: T, proxy: ProxyTypes) {\n\t\tsuper(undefined);\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.proxy = proxy;\n\t}\n}\n","import { HttpBackend, HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n// WithoutInterceptorHttpClient\r\n@Injectable({ providedIn: 'root' })\r\nexport class HttpBackendService {\r\n\tpublic httpClient: HttpClient;\r\n\r\n\tconstructor(handler: HttpBackend) {\r\n\t\tthis.httpClient = new HttpClient(handler);\r\n\t}\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { HttpClient } from '@angular/common/http';\nimport { Injector, inject } from '@angular/core';\n\nimport { MessageService } from 'primeng/api';\n\nimport { TranslocoService } from '@ngneat/transloco';\n\n// import { KeycloakService } from 'keycloak-angular';\nimport { ServiceCallStateMap } from '../lib/interfaces';\n\nexport abstract class RestClient {\n\tprivate readonly httpClient = inject(HttpClient);\n\tprivate readonly injector = inject(Injector);\n\tprivate readonly messageService = inject(MessageService);\n\tprivate readonly translocoService = inject(TranslocoService);\n\t// private readonly keycloak = inject(KeycloakService);\n\n\tabstract states: ServiceCallStateMap<any>;\n}\n","import { HttpParams } from '@angular/common/http';\r\n\r\nimport { Interfaces } from 'aril/util/lib';\r\n\r\nimport { HTTPMethods } from '../lib/enums';\r\n\r\nexport function getRequest(\r\n\thttpMethod: HTTPMethods,\r\n\tfn: () => any,\r\n\targs: any[]\r\n): HttpParams | Interfaces.MapStringString | undefined {\r\n\tif (args.length) {\r\n\t\tconst source = fn.toString();\r\n\t\tconst match = source.match(/\\((.*?)\\)/);\r\n\t\tconst paramNames = match ? match[1].split(',').map((param) => param.trim()) : [];\r\n\r\n\t\tif (httpMethod === HTTPMethods.GETBYPARAMS || httpMethod === HTTPMethods.DELETEBYPARAMS) {\r\n\t\t\tlet queryParams = new HttpParams();\r\n\r\n\t\t\tparamNames.forEach((paramName, index) => {\r\n\t\t\t\tqueryParams = queryParams.append(paramName, args[index]);\r\n\t\t\t});\r\n\t\t\treturn queryParams;\r\n\t\t} else {\r\n\t\t\tconst params: Interfaces.MapStringString = {};\r\n\r\n\t\t\targs.forEach((arg, index) => {\r\n\t\t\t\tparams[paramNames[index]] = arg;\r\n\t\t\t});\r\n\r\n\t\t\treturn params;\r\n\t\t}\r\n\t} else return undefined;\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { HttpErrorResponse } from '@angular/common/http';\n\nimport { MessageService } from 'primeng/api';\n\nimport { TranslocoService } from '@ngneat/transloco';\n\nimport { ServiceCallStateMap } from '../lib/interfaces';\n\nexport const callState = (states: ServiceCallStateMap<any>, serviceName: any): void => {\n\tstates[serviceName] = {\n\t\tserviceCalled: true,\n\t\twaitingForResponse: true,\n\t\tresponseIsRecieved: false,\n\t\tserviceCallFailed: false\n\t};\n};\n\nexport const successState = (\n\tstates: ServiceCallStateMap<any>,\n\tserviceName: any,\n\ttranslocoService: TranslocoService,\n\tmessageService: MessageService,\n\tmessage?: { success?: string; error?: string },\n\tresponse?: any\n): void => {\n\tstates[serviceName] = {\n\t\tserviceCalled: true,\n\t\twaitingForResponse: false,\n\t\tresponseIsRecieved: true,\n\t\tserviceCallFailed: false\n\t};\n\n\tif (message?.success) {\n\t\tmessageService.add({\n\t\t\tkey: 'toast-root',\n\t\t\tseverity: 'success',\n\t\t\tsummary: getTranslatedMessage(<string>message.success, translocoService, response)\n\t\t});\n\t}\n};\n\nexport const errorState = (\n\tstates: ServiceCallStateMap<any>,\n\tserviceName: any,\n\terror: HttpErrorResponse,\n\ttranslocoService: TranslocoService,\n\tmessageService: MessageService,\n\tmessage?: { success?: string; error?: string }\n): void => {\n\tstates[serviceName] = {\n\t\tserviceCalled: true,\n\t\twaitingForResponse: false,\n\t\tresponseIsRecieved: true,\n\t\tserviceCallFailed: true\n\t};\n\n\tlet httpError: string;\n\n\tswitch (error.status) {\n\t\tcase 400:\n\t\t\thttpError = 'Bad Request';\n\t\t\tbreak;\n\t\tcase 401:\n\t\t\thttpError = 'Unauthorized';\n\t\t\tbreak;\n\t\tcase 403:\n\t\t\thttpError = 'Forbidden';\n\t\t\tbreak;\n\t\tcase 404:\n\t\t\thttpError = 'Not Found';\n\t\t\tbreak;\n\t\tcase 405:\n\t\t\thttpError = 'Method Not Allowed';\n\t\t\tbreak;\n\t\tcase 406:\n\t\t\thttpError = 'Not Acceptable';\n\t\t\tbreak;\n\t\tcase 408:\n\t\t\thttpError = 'Request Timeout';\n\t\t\tbreak;\n\t\tcase 409:\n\t\t\thttpError = 'Conflict';\n\t\t\tbreak;\n\t\tcase 500:\n\t\t\thttpError = 'Internal Server Error';\n\t\t\tbreak;\n\t\tcase 501:\n\t\t\thttpError = 'Not Implemented';\n\t\t\tbreak;\n\t\tcase 502:\n\t\t\thttpError = 'Bad Gateway';\n\t\t\tbreak;\n\t\tcase 503:\n\t\t\thttpError = 'Service Unavailable';\n\t\t\tbreak;\n\t\tcase 504:\n\t\t\thttpError = 'Gateway Timeout';\n\t\t\tbreak;\n\t\tcase 505:\n\t\t\thttpError = 'HTTP Version Not Supported';\n\t\t\tbreak;\n\t\tcase 511:\n\t\t\thttpError = 'Network Authentication Required';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\thttpError = error?.error?.message;\n\t\t\tbreak;\n\t}\n\n\tmessageService.add({\n\t\tkey: 'toast-root',\n\t\tseverity: 'error',\n\t\tsummary: httpError,\n\t\tdetail: error?.error?.message\n\t});\n\n\tif (message?.error) {\n\t\tmessageService.add({\n\t\t\tkey: 'toast-root',\n\t\t\tseverity: 'error',\n\t\t\tsummary: getTranslatedMessage(<string>message.error, translocoService)\n\t\t});\n\t}\n\n\tconsole.error(error);\n};\n\nconst getTranslatedMessage = (messageCode: string, translocoService: TranslocoService, response?: any): string => {\n\tconst translateObject = translocoService.getTranslation().get(translocoService.getActiveLang());\n\tlet translatedMessage = translateObject?.[messageCode] ?? messageCode;\n\n\tconst paramStartSymbol = '{{';\n\tconst paramEndSymbol = '}}';\n\n\tif (response && translatedMessage.includes(paramStartSymbol) && translatedMessage.includes(paramEndSymbol)) {\n\t\tdo {\n\t\t\tlet paramStartIndex = translatedMessage.indexOf(paramStartSymbol);\n\t\t\tlet paramEndIndex = translatedMessage.indexOf(paramEndSymbol);\n\t\t\tlet paramKey = translatedMessage.slice(paramStartIndex + paramStartSymbol.length, paramEndIndex);\n\n\t\t\t// Splitting the key to get nested object values\n\t\t\tlet paramKeyList = paramKey.split('.');\n\t\t\tlet paramValue;\n\n\t\t\tfor (let key of paramKeyList) {\n\t\t\t\tparamValue = paramValue ? paramValue[key] : response[key];\n\t\t\t}\n\n\t\t\tlet replacePattern = `${paramStartSymbol}${paramKey}${paramEndSymbol}`;\n\t\t\ttranslatedMessage = translatedMessage.replace(replacePattern, paramValue);\n\t\t} while (translatedMessage.includes(paramStartSymbol));\n\t}\n\n\treturn translatedMessage;\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\r\nimport { runInInjectionContext } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\n\r\nimport { HTTPMethods, ProxyTypes } from '../lib/enums';\r\nimport { ErrorResponse, ServiceCallStateMap, ServiceResponse } from '../lib/interfaces';\r\nimport { getRequest } from './serviceRequest';\r\nimport { callState, errorState, successState } from './serviceStateMethods';\r\n\r\nexport function ServiceCall(\r\n\thttpMethod: HTTPMethods,\r\n\tproxy: ProxyTypes,\r\n\tserviceURL: string,\r\n\tmessage?: { success?: string; error?: string },\r\n\tremoteAPI?: string,\r\n\tisMockAPI = false\r\n): MethodDecorator {\r\n\treturn function (serviceClass: object, serviceName: string | symbol, descriptor: PropertyDescriptor) {\r\n\t\tconst originalFunction = descriptor.value;\r\n\r\n\t\tdescriptor.value = function (...args: any[]) {\r\n\t\t\treturn runInInjectionContext((<any>this).injector, () => {\r\n\t\t\t\tconst httpClient: HttpClient = (<any>this).httpClient;\r\n\r\n\t\t\t\tlet api = '';\r\n\t\t\t\tif (isMockAPI) api = <string>remoteAPI;\r\n\t\t\t\telse if (remoteAPI) api = window.location.origin + '/' + remoteAPI;\r\n\t\t\t\telse api = API_CONFIGS.api;\r\n\r\n\t\t\t\tconst endPoint = api + '/' + serviceURL;\r\n\t\t\t\tconst request = getRequest(httpMethod, originalFunction, args);\r\n\t\t\t\tconst states: ServiceCallStateMap<any> = (<any>this).states;\r\n\r\n\t\t\t\t// TODO: keycloak check auth & refresh token\r\n\r\n\t\t\t\tcallState(states, serviceName);\r\n\r\n\t\t\t\tlet observable: Observable<any> = new Observable<any>();\r\n\r\n\t\t\t\tswitch (httpMethod) {\r\n\t\t\t\t\tcase HTTPMethods.GET:\r\n\t\t\t\t\t\tlet getReq = args.length ? '/' + args[0] : '';\r\n\t\t\t\t\t\tobservable = httpClient.get<any>(endPoint + getReq, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.GETBYPARAMS:\r\n\t\t\t\t\t\tobservable = httpClient.get<any>(endPoint, { params: request as HttpParams, responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.POST:\r\n\t\t\t\t\t\tobservable = httpClient.post<any>(endPoint, args[0], { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.PUT:\r\n\t\t\t\t\t\tobservable = httpClient.put<any>(endPoint + '/' + args[0], request, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.DELETE:\r\n\t\t\t\t\t\tobservable = httpClient.delete<any>(endPoint + '/' + args[0], { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.DELETEBYPARAMS:\r\n\t\t\t\t\t\tobservable = httpClient.delete<any>(endPoint, { params: request as HttpParams, responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tobservable = observable.pipe(\r\n\t\t\t\t\tmap((response) => new ServiceResponse(request, response, proxy)),\r\n\t\t\t\t\ttap((resp) =>\r\n\t\t\t\t\t\tsuccessState(\r\n\t\t\t\t\t\t\tstates,\r\n\t\t\t\t\t\t\tserviceName,\r\n\t\t\t\t\t\t\t(<any>this).translocoService,\r\n\t\t\t\t\t\t\t(<any>this).messageService,\r\n\t\t\t\t\t\t\tmessage,\r\n\t\t\t\t\t\t\tresp.response\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t),\r\n\t\t\t\t\tcatchError((error: HttpErrorResponse) => {\r\n\t\t\t\t\t\terrorState(states, serviceName, error, (<any>this).translocoService, (<any>this).messageService, message);\r\n\t\t\t\t\t\treturn of(new ErrorResponse(error));\r\n\t\t\t\t\t}),\r\n\t\t\t\t\ttakeUntilDestroyed()\r\n\t\t\t\t);\r\n\r\n\t\t\t\treturn observable;\r\n\t\t\t});\r\n\t\t};\r\n\t};\r\n}\r\n","import { HTTPMethods, ProxyTypes } from '../lib/enums';\r\nimport { ServiceCall } from './serviceBase';\r\n\r\nexport function ServiceCallMock(\r\n\thttpMethod: HTTPMethods,\r\n\tproxy: ProxyTypes,\r\n\tserviceURL: string,\r\n\tmockAPI: string,\r\n\tmessage?: { success?: string; error?: string; useDefault: boolean }\r\n) {\r\n\treturn ServiceCall(httpMethod, proxy, serviceURL, message, mockAPI, true);\r\n}\r\n","/* lib */\nexport * from './lib/enums';\nexport * from './lib/interfaces';\n\n/* src */\nexport * from './src/httpBackend';\nexport * from './src/httpClient';\nexport * from './src/serviceBase';\nexport * from './src/serviceMockBase';\nexport * from './src/serviceStateMethods';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aril-http.mjs","sources":["../../projects/aril/http/lib/enums.ts","../../projects/aril/http/lib/interfaces.ts","../../projects/aril/http/src/httpBackend.ts","../../projects/aril/http/src/httpClient.ts","../../projects/aril/http/src/serviceRequest.ts","../../projects/aril/http/src/serviceStateMethods.ts","../../projects/aril/http/src/serviceBase.ts","../../projects/aril/http/src/serviceMockBase.ts","../../projects/aril/http/index.ts","../../projects/aril/http/aril-http.ts"],"sourcesContent":["export enum HTTPMethods {\r\n\tGET = 'GET',\r\n\tGETBYPARAMS = 'GETBYPARAMS',\r\n\tPOST = 'POST',\r\n\tPUT = 'PUT',\r\n\tDELETE = 'DELETE',\r\n\tDELETEBYPARAMS = 'DELETEBYPARAMS'\r\n}\r\nexport enum ProxyTypes {\r\n\tNative,\r\n\tServerSide,\r\n\tClientSide\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/ban-types */\nimport { HttpErrorResponse } from '@angular/common/http';\n\nimport { ProxyTypes } from './enums';\n\nexport interface ServiceCallStates {\n\tserviceCalled: boolean;\n\twaitingForResponse: boolean;\n\tresponseIsRecieved: boolean;\n\tserviceCallFailed: boolean;\n}\n\nexport type ServiceCallStateMap<T> = {\n\t[K in keyof T]?: T[K] extends Function ? ServiceCallStates : never;\n};\n\nexport class ErrorResponse {\n\terror: HttpErrorResponse | undefined;\n\n\tconstructor(err: HttpErrorResponse | undefined) {\n\t\tthis.error = err;\n\t}\n}\n\nexport class ServiceResponse<T> extends ErrorResponse {\n\trequest: any;\n\tresponse: T;\n\tproxy: ProxyTypes;\n\n\tconstructor(request: any, response: T, proxy: ProxyTypes) {\n\t\tsuper(undefined);\n\t\tthis.request = request;\n\t\tthis.response = response;\n\t\tthis.proxy = proxy;\n\t}\n}\n","import { HttpBackend, HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n// WithoutInterceptorHttpClient\r\n@Injectable({ providedIn: 'root' })\r\nexport class HttpBackendService {\r\n\tpublic httpClient: HttpClient;\r\n\r\n\tconstructor(handler: HttpBackend) {\r\n\t\tthis.httpClient = new HttpClient(handler);\r\n\t}\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { HttpClient } from '@angular/common/http';\nimport { Injector, inject } from '@angular/core';\n\nimport { MessageService } from 'primeng/api';\n\nimport { TranslocoService } from '@ngneat/transloco';\n\n// import { KeycloakService } from 'keycloak-angular';\nimport { ServiceCallStateMap } from '../lib/interfaces';\n\nexport abstract class RestClient {\n\tprivate readonly httpClient = inject(HttpClient);\n\tprivate readonly injector = inject(Injector);\n\tprivate readonly messageService = inject(MessageService);\n\tprivate readonly translocoService = inject(TranslocoService);\n\t// private readonly keycloak = inject(KeycloakService);\n\n\tabstract states: ServiceCallStateMap<any>;\n}\n","import { HttpParams } from '@angular/common/http';\r\n\r\nimport { Interfaces } from 'aril/util/lib';\r\n\r\nimport { HTTPMethods } from '../lib/enums';\r\n\r\nexport function getRequest(\r\n\thttpMethod: HTTPMethods,\r\n\tfn: () => any,\r\n\targs: any[]\r\n): HttpParams | Interfaces.MapStringString | undefined {\r\n\tif (args.length) {\r\n\t\tconst source = fn.toString();\r\n\t\tconst match = source.match(/\\((.*?)\\)/);\r\n\t\tconst paramNames = match ? match[1].split(',').map((param) => param.trim()) : [];\r\n\r\n\t\tif (httpMethod === HTTPMethods.GETBYPARAMS || httpMethod === HTTPMethods.DELETEBYPARAMS) {\r\n\t\t\tlet queryParams = new HttpParams();\r\n\r\n\t\t\tparamNames.forEach((paramName, index) => {\r\n\t\t\t\tqueryParams = queryParams.append(paramName, args[index]);\r\n\t\t\t});\r\n\t\t\treturn queryParams;\r\n\t\t} else {\r\n\t\t\tconst params: Interfaces.MapStringString = {};\r\n\r\n\t\t\targs.forEach((arg, index) => {\r\n\t\t\t\tparams[paramNames[index]] = arg;\r\n\t\t\t});\r\n\r\n\t\t\treturn params;\r\n\t\t}\r\n\t} else return undefined;\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { HttpErrorResponse } from '@angular/common/http';\n\nimport { MessageService } from 'primeng/api';\n\nimport { TranslocoService } from '@ngneat/transloco';\n\nimport { ServiceCallStateMap } from '../lib/interfaces';\n\nexport const callState = (states: ServiceCallStateMap<any>, serviceName: any): void => {\n\tstates[serviceName] = {\n\t\tserviceCalled: true,\n\t\twaitingForResponse: true,\n\t\tresponseIsRecieved: false,\n\t\tserviceCallFailed: false\n\t};\n};\n\nexport const successState = (\n\tstates: ServiceCallStateMap<any>,\n\tserviceName: any,\n\ttranslocoService: TranslocoService,\n\tmessageService: MessageService,\n\tmessage?: { success?: string; error?: string },\n\tresponse?: any\n): void => {\n\tstates[serviceName] = {\n\t\tserviceCalled: true,\n\t\twaitingForResponse: false,\n\t\tresponseIsRecieved: true,\n\t\tserviceCallFailed: false\n\t};\n\n\tif (message?.success) {\n\t\tmessageService.add({\n\t\t\tkey: 'toast-root',\n\t\t\tseverity: 'success',\n\t\t\tsummary: getTranslatedMessage(<string>message.success, translocoService, response)\n\t\t});\n\t}\n};\n\nexport const errorState = (\n\tstates: ServiceCallStateMap<any>,\n\tserviceName: any,\n\terror: HttpErrorResponse,\n\ttranslocoService: TranslocoService,\n\tmessageService: MessageService,\n\tmessage?: { success?: string; error?: string }\n): void => {\n\tstates[serviceName] = {\n\t\tserviceCalled: true,\n\t\twaitingForResponse: false,\n\t\tresponseIsRecieved: true,\n\t\tserviceCallFailed: true\n\t};\n\n\tlet httpError: string;\n\n\tswitch (error.status) {\n\t\tcase 400:\n\t\t\thttpError = 'Bad Request';\n\t\t\tbreak;\n\t\tcase 401:\n\t\t\thttpError = 'Unauthorized';\n\t\t\tbreak;\n\t\tcase 403:\n\t\t\thttpError = 'Forbidden';\n\t\t\tbreak;\n\t\tcase 404:\n\t\t\thttpError = 'Not Found';\n\t\t\tbreak;\n\t\tcase 405:\n\t\t\thttpError = 'Method Not Allowed';\n\t\t\tbreak;\n\t\tcase 406:\n\t\t\thttpError = 'Not Acceptable';\n\t\t\tbreak;\n\t\tcase 408:\n\t\t\thttpError = 'Request Timeout';\n\t\t\tbreak;\n\t\tcase 409:\n\t\t\thttpError = 'Conflict';\n\t\t\tbreak;\n\t\tcase 500:\n\t\t\thttpError = 'Internal Server Error';\n\t\t\tbreak;\n\t\tcase 501:\n\t\t\thttpError = 'Not Implemented';\n\t\t\tbreak;\n\t\tcase 502:\n\t\t\thttpError = 'Bad Gateway';\n\t\t\tbreak;\n\t\tcase 503:\n\t\t\thttpError = 'Service Unavailable';\n\t\t\tbreak;\n\t\tcase 504:\n\t\t\thttpError = 'Gateway Timeout';\n\t\t\tbreak;\n\t\tcase 505:\n\t\t\thttpError = 'HTTP Version Not Supported';\n\t\t\tbreak;\n\t\tcase 511:\n\t\t\thttpError = 'Network Authentication Required';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\thttpError = error?.error?.message;\n\t\t\tbreak;\n\t}\n\n\tmessageService.add({\n\t\tkey: 'toast-root',\n\t\tseverity: 'error',\n\t\tsummary: httpError,\n\t\tdetail: error?.error?.message\n\t});\n\n\tif (message?.error) {\n\t\tmessageService.add({\n\t\t\tkey: 'toast-root',\n\t\t\tseverity: 'error',\n\t\t\tsummary: getTranslatedMessage(<string>message.error, translocoService)\n\t\t});\n\t}\n\n\tconsole.error(error);\n};\n\nconst getTranslatedMessage = (messageCode: string, translocoService: TranslocoService, response?: any): string => {\n\tconst translateObject = translocoService.getTranslation().get(translocoService.getActiveLang());\n\tlet translatedMessage = translateObject?.[messageCode] ?? messageCode;\n\n\tconst paramStartSymbol = '{{';\n\tconst paramEndSymbol = '}}';\n\n\tif (response && translatedMessage.includes(paramStartSymbol) && translatedMessage.includes(paramEndSymbol)) {\n\t\tdo {\n\t\t\tlet paramStartIndex = translatedMessage.indexOf(paramStartSymbol);\n\t\t\tlet paramEndIndex = translatedMessage.indexOf(paramEndSymbol);\n\t\t\tlet paramKey = translatedMessage.slice(paramStartIndex + paramStartSymbol.length, paramEndIndex);\n\n\t\t\t// Splitting the key to get nested object values\n\t\t\tlet paramKeyList = paramKey.split('.');\n\t\t\tlet paramValue;\n\n\t\t\tfor (let key of paramKeyList) {\n\t\t\t\tparamValue = paramValue ? paramValue[key] : response[key];\n\t\t\t}\n\n\t\t\tlet replacePattern = `${paramStartSymbol}${paramKey}${paramEndSymbol}`;\n\t\t\ttranslatedMessage = translatedMessage.replace(replacePattern, paramValue);\n\t\t} while (translatedMessage.includes(paramStartSymbol));\n\t}\n\n\treturn translatedMessage;\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\r\nimport { runInInjectionContext } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\n\r\nimport { HTTPMethods, ProxyTypes } from '../lib/enums';\r\nimport { ErrorResponse, ServiceCallStateMap, ServiceResponse } from '../lib/interfaces';\r\nimport { getRequest } from './serviceRequest';\r\nimport { callState, errorState, successState } from './serviceStateMethods';\r\n\r\nexport function ServiceCall(\r\n\thttpMethod: HTTPMethods,\r\n\tproxy: ProxyTypes,\r\n\tserviceURL: string,\r\n\tmessage?: { success?: string; error?: string },\r\n\tremoteAPI?: string,\r\n\tisMockAPI = false\r\n): MethodDecorator {\r\n\treturn function (serviceClass: object, serviceName: string | symbol, descriptor: PropertyDescriptor) {\r\n\t\tconst originalFunction = descriptor.value;\r\n\r\n\t\tdescriptor.value = function (...args: any[]) {\r\n\t\t\treturn runInInjectionContext((<any>this).injector, () => {\r\n\t\t\t\tconst httpClient: HttpClient = (<any>this).httpClient;\r\n\r\n\t\t\t\tlet api = '';\r\n\t\t\t\tif (isMockAPI) api = <string>remoteAPI;\r\n\t\t\t\telse if (remoteAPI) api = window.location.origin + '/' + remoteAPI;\r\n\t\t\t\telse api = API_CONFIGS.api;\r\n\r\n\t\t\t\tconst endPoint = api + '/' + serviceURL;\r\n\t\t\t\tconst request = getRequest(httpMethod, originalFunction, args);\r\n\t\t\t\tconst states: ServiceCallStateMap<any> = (<any>this).states;\r\n\r\n\t\t\t\t// TODO: keycloak check auth & refresh token\r\n\r\n\t\t\t\tcallState(states, serviceName);\r\n\r\n\t\t\t\tlet observable: Observable<any> = new Observable<any>();\r\n\r\n\t\t\t\tswitch (httpMethod) {\r\n\t\t\t\t\tcase HTTPMethods.GET:\r\n\t\t\t\t\t\tlet getReq = args.length ? '/' + args[0] : '';\r\n\t\t\t\t\t\tobservable = httpClient.get<any>(endPoint + getReq, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.GETBYPARAMS:\r\n\t\t\t\t\t\tobservable = httpClient.get<any>(endPoint, { params: request as HttpParams, responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.POST:\r\n\t\t\t\t\t\tobservable = httpClient.post<any>(endPoint, args[0], { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.PUT:\r\n\t\t\t\t\t\tobservable = httpClient.put<any>(endPoint + '/' + args[0], request, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.DELETE:\r\n\t\t\t\t\t\tobservable = httpClient.delete<any>(endPoint + '/' + args[0], { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.DELETEBYPARAMS:\r\n\t\t\t\t\t\tobservable = httpClient.delete<any>(endPoint, { params: request as HttpParams, responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tobservable = observable.pipe(\r\n\t\t\t\t\tmap((response) => new ServiceResponse(request, response, proxy)),\r\n\t\t\t\t\ttap((resp) =>\r\n\t\t\t\t\t\tsuccessState(\r\n\t\t\t\t\t\t\tstates,\r\n\t\t\t\t\t\t\tserviceName,\r\n\t\t\t\t\t\t\t(<any>this).translocoService,\r\n\t\t\t\t\t\t\t(<any>this).messageService,\r\n\t\t\t\t\t\t\tmessage,\r\n\t\t\t\t\t\t\tresp.response\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t),\r\n\t\t\t\t\tcatchError((error: HttpErrorResponse) => {\r\n\t\t\t\t\t\terrorState(states, serviceName, error, (<any>this).translocoService, (<any>this).messageService, message);\r\n\t\t\t\t\t\treturn of(new ErrorResponse(error));\r\n\t\t\t\t\t}),\r\n\t\t\t\t\ttakeUntilDestroyed()\r\n\t\t\t\t);\r\n\r\n\t\t\t\treturn observable;\r\n\t\t\t});\r\n\t\t};\r\n\t};\r\n}\r\n","import { HTTPMethods, ProxyTypes } from '../lib/enums';\r\nimport { ServiceCall } from './serviceBase';\r\n\r\nexport function ServiceCallMock(\r\n\thttpMethod: HTTPMethods,\r\n\tproxy: ProxyTypes,\r\n\tserviceURL: string,\r\n\tmockAPI: string,\r\n\tmessage?: { success?: string; error?: string; useDefault: boolean }\r\n) {\r\n\treturn ServiceCall(httpMethod, proxy, serviceURL, message, mockAPI, true);\r\n}\r\n","/* lib */\r\nexport * from './lib/enums';\r\nexport * from './lib/interfaces';\r\n\r\n/* src */\r\nexport * from './src/httpBackend';\r\nexport * from './src/httpClient';\r\nexport * from './src/serviceBase';\r\nexport * from './src/serviceMockBase';\r\nexport * from './src/serviceStateMethods';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { inject, Injectable } from '@angular/core';
|
|
3
3
|
import * as i2 from 'keycloak-angular';
|
|
4
4
|
import { KeycloakService, KeycloakAuthGuard } from 'keycloak-angular';
|
|
5
|
-
import { apiConfigLoaded$ } from 'aril/boot/config/api';
|
|
6
5
|
import * as i1 from '@angular/router';
|
|
7
6
|
|
|
8
7
|
class KeycloakManager {
|
|
@@ -33,10 +32,8 @@ class KeycloakManager {
|
|
|
33
32
|
// }
|
|
34
33
|
});
|
|
35
34
|
}
|
|
36
|
-
init() {
|
|
37
|
-
|
|
38
|
-
this.keycloak.init({ ...this.defaultOptions, config: configs.keycloak });
|
|
39
|
-
});
|
|
35
|
+
init(configs) {
|
|
36
|
+
return this.keycloak.init({ ...this.defaultOptions, config: configs });
|
|
40
37
|
}
|
|
41
38
|
login(options) {
|
|
42
39
|
return this.keycloak.login(options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-keycloak.mjs","sources":["../../projects/aril/keycloak/src/keycloak.manager.ts","../../projects/aril/keycloak/src/auth.interceptor.ts","../../projects/aril/keycloak/src/auth.guard.ts","../../projects/aril/keycloak/aril-keycloak.ts"],"sourcesContent":["import { HttpHeaders } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\n\nimport { KeycloakOptions, KeycloakService } from 'keycloak-angular';\nimport { KeycloakLoginOptions } from 'keycloak-js';\nimport { Observable } from 'rxjs';\
|
|
1
|
+
{"version":3,"file":"aril-keycloak.mjs","sources":["../../projects/aril/keycloak/src/keycloak.manager.ts","../../projects/aril/keycloak/src/auth.interceptor.ts","../../projects/aril/keycloak/src/auth.guard.ts","../../projects/aril/keycloak/aril-keycloak.ts"],"sourcesContent":["import { HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\n\r\nimport { KeycloakOptions, KeycloakService } from 'keycloak-angular';\r\nimport { KeycloakLoginOptions } from 'keycloak-js';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class KeycloakManager {\r\n\tconstructor() {\r\n\t\tthis.keycloak.keycloakEvents$.subscribe((event) => {\r\n\t\t\tconsole.log('keycloakEvents', event);\r\n\t\t\t// switch (event.type) {\r\n\t\t\t// \tcase KeycloakEventType.OnTokenExpired:\r\n\t\t\t// \t\tthis.keycloak.updateToken();\r\n\t\t\t// \t\tbreak;\r\n\t\t\t// \tcase KeycloakEventType.OnAuthSuccess:\r\n\t\t\t// \t\tthis.keycloak.loadUserProfile();\r\n\t\t\t// \t\tbreak;\r\n\t\t\t// \tcase KeycloakEventType.OnAuthError:\r\n\t\t\t// \tcase KeycloakEventType.OnAuthLogout:\r\n\t\t\t// \tcase KeycloakEventType.OnAuthRefreshError:\r\n\t\t\t// \t\tthis.keycloak.clearToken();\r\n\t\t\t// \t\tbreak;\r\n\t\t\t// \tcase KeycloakEventType.OnAuthRefreshSuccess:\r\n\t\t\t// \t\tthis.keycloak.loadUserProfile();\r\n\t\t\t// \t\tbreak;\r\n\t\t\t// }\r\n\t\t});\r\n\t}\r\n\tpublic readonly keycloak = inject(KeycloakService);\r\n\r\n\tprivate defaultOptions: KeycloakOptions = {\r\n\t\tloadUserProfileAtStartUp: true,\r\n\t\tinitOptions: { onLoad: 'login-required' },\r\n\t\tbearerExcludedUrls: ['/assets']\r\n\t};\r\n\r\n\tinit(configs: any): Promise<boolean> {\r\n\t\treturn this.keycloak.init({ ...this.defaultOptions, config: configs });\r\n\t}\r\n\r\n\tlogin(options?: KeycloakLoginOptions): Promise<void> {\r\n\t\treturn this.keycloak.login(options);\r\n\t}\r\n\r\n\tlogout(redirectUri?: string): Promise<void> {\r\n\t\treturn this.keycloak.logout(redirectUri); // window.location.origin\r\n\t}\r\n\r\n\tisUserInRole(role: string, resource?: string): boolean {\r\n\t\treturn this.keycloak.isUserInRole(role, resource);\r\n\t}\r\n\r\n\tgetUserRoles(realmRoles?: boolean, resource?: string): string[] {\r\n\t\treturn this.keycloak.getUserRoles(realmRoles, resource);\r\n\t}\r\n\r\n\tisLoggedIn(): boolean {\r\n\t\treturn this.keycloak.isLoggedIn();\r\n\t}\r\n\r\n\tisTokenExpired(minValidity?: number): boolean {\r\n\t\treturn this.keycloak.isTokenExpired(minValidity);\r\n\t}\r\n\r\n\tupdateToken(minValidity?: number): Promise<boolean> {\r\n\t\treturn this.keycloak.updateToken(minValidity);\r\n\t}\r\n\r\n\tloadUserProfile(forceReload?: boolean): Promise<any> {\r\n\t\treturn this.keycloak.loadUserProfile(forceReload);\r\n\t}\r\n\r\n\tgetToken(): Promise<string> {\r\n\t\treturn this.keycloak.getToken();\r\n\t}\r\n\r\n\tgetUsername(): string {\r\n\t\treturn this.keycloak.getUsername();\r\n\t}\r\n\r\n\tclearToken(): void {\r\n\t\tthis.keycloak.clearToken();\r\n\t}\r\n\r\n\taddTokenToHeader(headers?: HttpHeaders): Observable<HttpHeaders> {\r\n\t\treturn this.keycloak.addTokenToHeader(headers);\r\n\t}\r\n}\r\n","import { HttpHandlerFn, HttpInterceptorFn, HttpRequest } from '@angular/common/http';\nimport { inject } from '@angular/core';\n\nimport { KeycloakManager } from './keycloak.manager';\n\nexport const authInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next: HttpHandlerFn) => {\n\tconst keycloakManager = inject(KeycloakManager);\n\tconst token = keycloakManager.keycloak.getKeycloakInstance().token;\n\n\tconst authReq = req.clone({\n\t\tsetHeaders: {\n\t\t\tAuthorization: `Bearer ${token}`\n\t\t}\n\t});\n\n\treturn next(authReq);\n};\n","import { Injectable } from '@angular/core';\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\n\nimport { KeycloakAuthGuard, KeycloakService } from 'keycloak-angular';\n\n@Injectable({\n\tprovidedIn: 'root'\n})\nexport class AuthGuard extends KeycloakAuthGuard {\n\tconstructor(\n\t\tprotected override readonly router: Router,\n\t\tprotected readonly keycloak: KeycloakService\n\t) {\n\t\tsuper(router, keycloak);\n\t}\n\n\tpublic async isAccessAllowed(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n\t\tif (!this.authenticated) {\n\t\t\tawait this.keycloak.login({\n\t\t\t\tredirectUri: window.location.origin + state.url\n\t\t\t});\n\t\t}\n\n\t\tconst requiredRoles = route.data['roles'];\n\n\t\tif (!Array.isArray(requiredRoles) || requiredRoles.length === 0) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst authorized = requiredRoles.every((role) => this.roles.includes(role));\n\n\t\tif (!authorized) {\n\t\t\tconsole.error('User not authorized to access this route');\n\t\t\treturn false;\n\t\t} else return true;\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAQa,eAAe,CAAA;AAC3B,IAAA,WAAA,GAAA;AAqBgB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3C,QAAA,IAAA,CAAA,cAAc,GAAoB;AACzC,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,WAAW,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;YACzC,kBAAkB,EAAE,CAAC,SAAS,CAAC;SAC/B,CAAC;QA1BD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACjD,YAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;;;;;;;;;;;;;;;;;AAiBtC,SAAC,CAAC,CAAC;KACH;AASD,IAAA,IAAI,CAAC,OAAY,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;KACvE;AAED,IAAA,KAAK,CAAC,OAA8B,EAAA;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACpC;AAED,IAAA,MAAM,CAAC,WAAoB,EAAA;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KACzC;IAED,YAAY,CAAC,IAAY,EAAE,QAAiB,EAAA;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KAClD;IAED,YAAY,CAAC,UAAoB,EAAE,QAAiB,EAAA;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;KACxD;IAED,UAAU,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;KAClC;AAED,IAAA,cAAc,CAAC,WAAoB,EAAA;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KACjD;AAED,IAAA,WAAW,CAAC,WAAoB,EAAA;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;KAC9C;AAED,IAAA,eAAe,CAAC,WAAqB,EAAA;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;KAClD;IAED,QAAQ,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAChC;IAED,WAAW,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KACnC;IAED,UAAU,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;KAC3B;AAED,IAAA,gBAAgB,CAAC,OAAqB,EAAA;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;KAC/C;8GAhFW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCFrB,eAAe,GAAsB,CAAC,GAAyB,EAAE,IAAmB,KAAI;AACpG,IAAA,MAAM,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,KAAK,CAAC;AAEnE,IAAA,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;AACzB,QAAA,UAAU,EAAE;YACX,aAAa,EAAE,CAAU,OAAA,EAAA,KAAK,CAAE,CAAA;AAChC,SAAA;AACD,KAAA,CAAC,CAAC;AAEH,IAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;AACtB;;ACRM,MAAO,SAAU,SAAQ,iBAAiB,CAAA;IAC/C,WAC6B,CAAA,MAAc,EACvB,QAAyB,EAAA;AAE5C,QAAA,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAHI,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACvB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;KAG5C;AAEM,IAAA,MAAM,eAAe,CAAC,KAA6B,EAAE,KAA0B,EAAA;AACrF,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACxB,YAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACzB,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG;AAC/C,aAAA,CAAC,CAAC;SACH;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAE1C,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AAChE,YAAA,OAAO,IAAI,CAAC;SACZ;QAED,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5E,IAAI,CAAC,UAAU,EAAE;AAChB,YAAA,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAC1D,YAAA,OAAO,KAAK,CAAC;SACb;;AAAM,YAAA,OAAO,IAAI,CAAC;KACnB;8GA3BW,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,cAFT,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEN,SAAS,EAAA,UAAA,EAAA,CAAA;kBAHrB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;AAClB,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|