aril 1.1.97 → 1.2.1
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/base/index.d.ts +1 -0
- package/boot/base/src/create-base-app-config.d.ts +12 -0
- package/boot/config/api/index.d.ts +1 -0
- package/boot/config/api/src/api.service.d.ts +2 -2
- package/boot/config/api/src/interfaces.d.ts +1 -19
- package/boot/config/plugins/src/interfaces.d.ts +0 -37
- package/esm2022/boot/base/aril-boot-base.mjs +5 -0
- package/esm2022/boot/base/index.mjs +2 -0
- package/esm2022/boot/base/src/create-base-app-config.mjs +30 -0
- package/esm2022/boot/config/api/index.mjs +1 -1
- package/esm2022/boot/config/api/src/api.service.mjs +5 -4
- package/esm2022/boot/config/api/src/interfaces.mjs +2 -21
- package/esm2022/boot/config/apps/src/apps.service.mjs +2 -2
- package/esm2022/boot/config/plugins/src/interfaces.mjs +1 -60
- package/esm2022/boot/config/plugins/src/plugins.service.mjs +8 -22
- package/esm2022/boot/host/src/bootstrap.mjs +8 -23
- package/esm2022/boot/mfe/src/app.component.mjs +6 -6
- package/esm2022/boot/mfe/src/bootstrap.mjs +13 -33
- package/esm2022/boot/pages/aril-boot-pages.mjs +5 -0
- package/esm2022/boot/pages/index.mjs +3 -0
- package/esm2022/{util/custom_pages → boot/pages}/src/forbidden.component.mjs +1 -1
- package/esm2022/{util/custom_pages → boot/pages}/src/notFound.component.mjs +1 -1
- package/esm2022/keycloak/src/auth.interceptor.mjs +14 -78
- package/esm2022/provider/src/prodiveHost.mjs +4 -8
- package/esm2022/provider/src/provideHostKeycloak.mjs +10 -2
- package/esm2022/theme/layout/app/site-map/site-map-sidebar.component.mjs +1 -1
- package/esm2022/ui/chip/src/chip.component.mjs +11 -6
- package/esm2022/ui/form/src/form.component.mjs +22 -4
- package/esm2022/ui-business/assetPicker/src/asset-picker.component.mjs +14 -2
- package/esm2022/util/pipes/src/translate-json/translate-json.pipe.mjs +3 -4
- package/fesm2022/{aril-app.component-FxPod9bE.mjs → aril-app.component-wxP3y8dg.mjs} +8 -11
- package/fesm2022/aril-app.component-wxP3y8dg.mjs.map +1 -0
- package/fesm2022/aril-boot-base.mjs +37 -0
- package/fesm2022/aril-boot-base.mjs.map +1 -0
- package/fesm2022/aril-boot-config-api.mjs +3 -22
- package/fesm2022/aril-boot-config-api.mjs.map +1 -1
- package/fesm2022/aril-boot-config-apps.mjs +1 -1
- package/fesm2022/aril-boot-config-apps.mjs.map +1 -1
- package/fesm2022/aril-boot-config-plugins.mjs +7 -80
- package/fesm2022/aril-boot-config-plugins.mjs.map +1 -1
- package/fesm2022/aril-boot-host.mjs +7 -22
- package/fesm2022/aril-boot-host.mjs.map +1 -1
- package/fesm2022/{aril-boot-mfe-app.component-dZp2aSTk.mjs → aril-boot-mfe-app.component-7IjAmjz0.mjs} +8 -11
- package/fesm2022/aril-boot-mfe-app.component-7IjAmjz0.mjs.map +1 -0
- package/fesm2022/{aril-boot-mfe-aril-boot-mfe-mm6nhyRL.mjs → aril-boot-mfe-aril-boot-mfe-KXDpUyv7.mjs} +15 -71
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-KXDpUyv7.mjs.map +1 -0
- package/fesm2022/aril-boot-mfe.mjs +2 -6
- package/fesm2022/aril-boot-mfe.mjs.map +1 -1
- package/fesm2022/{aril-util-custom_pages.mjs → aril-boot-pages.mjs} +1 -1
- package/fesm2022/aril-boot-pages.mjs.map +1 -0
- package/fesm2022/aril-keycloak.mjs +13 -77
- package/fesm2022/aril-keycloak.mjs.map +1 -1
- package/fesm2022/aril-provider.mjs +12 -8
- package/fesm2022/aril-provider.mjs.map +1 -1
- package/fesm2022/aril-theme-layout.mjs.map +1 -1
- package/fesm2022/aril-ui-business-assetPicker.mjs +13 -1
- package/fesm2022/aril-ui-business-assetPicker.mjs.map +1 -1
- package/fesm2022/aril-ui-chip.mjs +10 -5
- package/fesm2022/aril-ui-chip.mjs.map +1 -1
- package/fesm2022/aril-ui-form.mjs +20 -3
- package/fesm2022/aril-ui-form.mjs.map +1 -1
- package/fesm2022/aril-util-pipes.mjs +2 -3
- package/fesm2022/aril-util-pipes.mjs.map +1 -1
- package/fesm2022/aril.mjs +14 -81
- package/fesm2022/aril.mjs.map +1 -1
- package/package.json +113 -113
- package/provider/src/prodiveHost.d.ts +2 -2
- package/theme/layout/app/site-map/site-map-sidebar.component.ts +1 -1
- package/theme/styles/layout/_fonts.scss +1 -13
- package/ui/form/src/form.component.d.ts +4 -1
- package/boot/mfe/src/loadStyles.d.ts +0 -3
- package/esm2022/boot/mfe/src/loadStyles.mjs +0 -38
- package/esm2022/util/custom_pages/aril-util-custom_pages.mjs +0 -5
- package/esm2022/util/custom_pages/index.mjs +0 -3
- package/esm2022/util/loaders/aril-util-loaders.mjs +0 -5
- package/esm2022/util/loaders/index.mjs +0 -2
- package/esm2022/util/loaders/style/style.loader.service.mjs +0 -61
- package/fesm2022/aril-app.component-FxPod9bE.mjs.map +0 -1
- package/fesm2022/aril-boot-mfe-app.component-dZp2aSTk.mjs.map +0 -1
- package/fesm2022/aril-boot-mfe-aril-boot-mfe-mm6nhyRL.mjs.map +0 -1
- package/fesm2022/aril-util-custom_pages.mjs.map +0 -1
- package/fesm2022/aril-util-loaders.mjs +0 -68
- package/fesm2022/aril-util-loaders.mjs.map +0 -1
- package/theme/fonts/Inter/Inter_18pt-Black.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-BlackItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-BoldItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-ExtraBoldItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-ExtraLight.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-ExtraLightItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-Italic.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-Light.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-LightItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-MediumItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-SemiBoldItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-Thin.ttf +0 -0
- package/theme/fonts/Inter/Inter_18pt-ThinItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-Black.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-BlackItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-Bold.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-BoldItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-ExtraBold.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-ExtraBoldItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-ExtraLight.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-ExtraLightItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-Italic.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-Light.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-LightItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-Medium.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-MediumItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-Regular.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-SemiBold.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-SemiBoldItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-Thin.ttf +0 -0
- package/theme/fonts/Inter/Inter_24pt-ThinItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-Black.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-BlackItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-Bold.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-BoldItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-ExtraBold.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-ExtraBoldItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-ExtraLight.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-ExtraLightItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-Italic.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-Light.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-LightItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-Medium.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-MediumItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-Regular.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-SemiBold.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-SemiBoldItalic.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-Thin.ttf +0 -0
- package/theme/fonts/Inter/Inter_28pt-ThinItalic.ttf +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-Black.woff +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-Black.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-BlackItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-BlackItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-BoldItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-BoldItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-ExtraBold.woff +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-ExtraBold.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-ExtraBoldItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-ExtraBoldItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-ExtraLight.woff +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-ExtraLight.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-ExtraLightItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-ExtraLightItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-Italic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-Italic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-Light.woff +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-Light.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-LightItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-LightItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-MediumItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-MediumItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-SemiBoldItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-SemiBoldItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-Thin.woff +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-Thin.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-ThinItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter18pt-ThinItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-Black.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-Black.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-BlackItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-BlackItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-Bold.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-Bold.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-BoldItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-BoldItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-ExtraBold.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-ExtraBold.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-ExtraBoldItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-ExtraBoldItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-ExtraLight.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-ExtraLight.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-ExtraLightItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-ExtraLightItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-Italic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-Italic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-LightItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-LightItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-Medium.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-Medium.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-MediumItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-MediumItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-Regular.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-Regular.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-SemiBold.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-SemiBold.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-SemiBoldItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-SemiBoldItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-Thin.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-Thin.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-ThinItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter24pt-ThinItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-Black.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-Black.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-BlackItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-BlackItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-Bold.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-Bold.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-BoldItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-BoldItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-ExtraBoldItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-ExtraBoldItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-ExtraLightItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-ExtraLightItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-Italic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-Italic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-Light.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-Light.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-LightItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-LightItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-Medium.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-Medium.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-MediumItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-MediumItalic.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-Regular.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-Regular.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-SemiBold.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-SemiBold.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-Thin.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-Thin.woff2 +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-ThinItalic.woff +0 -0
- package/theme/fonts/Inter/woff/Inter28pt-ThinItalic.woff2 +0 -0
- package/util/loaders/index.d.ts +0 -1
- package/util/loaders/style/style.loader.service.d.ts +0 -13
- /package/{util/custom_pages → boot/pages}/index.d.ts +0 -0
- /package/{util/custom_pages → boot/pages}/src/forbidden.component.d.ts +0 -0
- /package/{util/custom_pages → boot/pages}/src/notFound.component.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-boot-config-apps.mjs","sources":["../../projects/aril/boot/config/apps/src/route-permissions.ts","../../projects/aril/boot/config/apps/src/auth.guard.ts","../../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/src/reuse-strategy.ts","../../projects/aril/boot/config/apps/aril-boot-config-apps.ts"],"sourcesContent":["import { PluginMenuItem } from './interfaces';\r\n\r\nconst routePermissions = new Map<string, string[]>();\r\n\r\nexport function setRoutePermissions(menuItems: PluginMenuItem[]): void {\r\n\troutePermissions.clear();\r\n\tbuildPermissionsMap(menuItems);\r\n}\r\n\r\nexport function getRoutePermissions(url: string): string[] | undefined {\r\n\tconst normalizedUrl = url.split('?')[0].replace(/^\\//, '');\r\n return routePermissions.get(normalizedUrl);\r\n}\r\n\r\nfunction buildPermissionsMap(items: PluginMenuItem[]): void {\r\n\tfor (const item of items) {\r\n\t\tif (item.routerLink && item.permittedRoles?.length) {\r\n\t\t\tconst normalized = item.routerLink.replace(/^\\//, '');\r\n\t\t\troutePermissions.set(normalized, item.permittedRoles);\r\n\t\t}\r\n\r\n\t\tif (item.items?.length) {\r\n\t\t\tbuildPermissionsMap(item.items);\r\n\t\t}\r\n\t}\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\r\n\r\nimport { KeycloakAuthGuard, KeycloakService } from 'keycloak-angular';\r\n\r\nimport { getRoutePermissions } from './route-permissions';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard extends KeycloakAuthGuard {\r\n\tconstructor() {\r\n\t\tsuper(inject(Router), inject(KeycloakService));\r\n\t}\r\n\r\n\toverride async isAccessAllowed(\r\n\t\troute: ActivatedRouteSnapshot,\r\n\t\tstate: RouterStateSnapshot\r\n\t): Promise<boolean | UrlTree> {\r\n\t\tif (!this.authenticated) {\r\n\t\t\tawait this.keycloakAngular.login({ redirectUri: window.location.href });\r\n\t\t}\r\n\r\n\t\tconst permittedRoles = getRoutePermissions(state.url);\r\n\r\n\t\tif (permittedRoles?.length) {\r\n\t\t\tconst hasRole = permittedRoles.some((role) => this.roles.includes(role));\r\n\t\t\tif (!hasRole) {\r\n\t\t\t\treturn this.router.createUrlTree(['/forbidden']);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.authenticated;\r\n\t}\r\n}\r\n","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 {\r\n\tWebComponentWrapper,\r\n\tWebComponentWrapperOptions,\r\n\tstartsWith\r\n} from '@angular-architects/module-federation-tools';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { Observable, catchError, map, of } from 'rxjs';\r\n\r\nimport { ForbiddenComponent, NotFoundComponent } from 'aril/util/custom_pages';\r\n\r\nimport { AuthGuard } from './auth.guard';\r\nimport { AppsDTO, ExtensionConfig, PluginConfig, PluginMenuItem } from './interfaces';\r\nimport { setRoutePermissions } from './route-permissions';\r\nimport { ShadowDOMWrapperComponent } from './showdowDOMWrapper';\r\n\r\nexport interface MicroAppInitResult {\r\n\tmenuItems: PluginMenuItem[];\r\n\tplugins: Record<string, ExtensionConfig>;\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MicroAppService {\r\n\tprivate readonly router = inject(Router);\r\n\tprivate readonly keycloak = inject(KeycloakService);\r\n\r\n\tprivate userRoles: string[] = [];\r\n\r\n\tinit(httpClient: HttpClient, hostAPI: string): Observable<MicroAppInitResult> {\r\n\t\tthis.userRoles = this.keycloak.getUserRoles();\r\n\t\treturn httpClient\r\n\t\t\t.get<AppsDTO>(isDevMode() ? './assets/local-configs/app.local.json' : hostAPI + '/ui-sidebar-configs')\r\n\t\t\t.pipe(\r\n\t\t\t\tmap((apps) => {\r\n\t\t\t\t\tsetRoutePermissions(apps.menuItems);\r\n\t\t\t\t\tconst routes = this.buildRoutes([...apps.modules, ...apps.plugins]);\r\n\r\n\t\t\t\t\tthis.router.resetConfig([\r\n\t\t\t\t\t\t...this.router.config,\r\n\t\t\t\t\t\t...routes,\r\n\t\t\t\t\t\t{ path: 'forbidden', component: ForbiddenComponent },\r\n\t\t\t\t\t\t{ path: '**', component: NotFoundComponent }\r\n\t\t\t\t\t]);\r\n\r\n\t\t\t\t\tconst filteredMenuItems = this.filterMenuItemsByRole(apps.menuItems);\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tmenuItems: [\r\n\t\t\t\t\t\t\t{ root: true, label: { tr: 'Anasayfa', en: 'Home' }, icon: 'pi pi-fw pi-home', routerLink: '/' } as PluginMenuItem,\r\n\t\t\t\t\t\t\t...filteredMenuItems\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t\tplugins: apps.extensions || {}\r\n\t\t\t\t\t};\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<MicroAppInitResult>({ menuItems: [], plugins: {} });\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t}\r\n\r\n\tbuildRoutes(options: PluginConfig[]): Routes {\r\n\t\tconst routes: Routes = options.map((options) => {\r\n\t\t\treturn {\r\n\t\t\t\tmatcher: startsWith(options.remoteName),\r\n\t\t\t\tcomponent: options.shadowDomPassive ? WebComponentWrapper : ShadowDOMWrapperComponent,\r\n\t\t\t\tdata: options as WebComponentWrapperOptions,\r\n\t\t\t\tcanActivate: [AuthGuard]\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\treturn routes;\r\n\t}\r\n\r\n\tprivate filterMenuItemsByRole(items: PluginMenuItem[]): PluginMenuItem[] {\r\n\t\treturn items.reduce<PluginMenuItem[]>((acc, item) => {\r\n\t\t\tif (!this.hasPermission(item.permittedRoles)) {\r\n\t\t\t\treturn acc;\r\n\t\t\t}\r\n\r\n\t\t\tconst filteredItem = { ...item };\r\n\r\n\t\t\tif (filteredItem.items?.length) {\r\n\t\t\t\tfilteredItem.items = this.filterMenuItemsByRole(filteredItem.items);\r\n\r\n\t\t\t\tif (!filteredItem.items.length && !filteredItem.routerLink) {\r\n\t\t\t\t\treturn acc;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tacc.push(filteredItem);\r\n\t\t\treturn acc;\r\n\t\t}, []);\r\n\t}\r\n\r\n\tprivate hasPermission(permittedRoles?: string[]): boolean {\r\n\t\tif (!permittedRoles?.length) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn permittedRoles.some((role) => this.userRoles.includes(role));\r\n\t}\r\n}\r\n","import { MenuItemCommandEvent } from 'primeng/api';\r\n\r\nimport { WebComponentWrapperOptions } from '@angular-architects/module-federation-tools';\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\tMW = 'mw',\r\n\tLENA = 'lena',\r\n\tHES = 'hes',\r\n\tCTS = 'cts',\r\n\tSIS = 'sis',\r\n\tMNG = 'mng',\r\n\tMDM = 'mdm',\r\n\tSTATE_MACHINE = 'state-machine',\r\n\tREPORT = 'report',\r\n\tLGC = 'lgc',\r\n\tDMS = 'dms'\r\n}\r\n\r\nexport interface AppsDTO {\r\n\tversion: number;\r\n\tmodules: PluginConfig[];\r\n\tplugins: PluginConfig[];\r\n\textensions: Record<string, ExtensionConfig>;\r\n\tmenuItems: PluginMenuItem[];\r\n}\r\n\r\nexport interface ExtensionConfig {\r\n\toptions: PluginConfig;\r\n}\r\n\r\nexport type PluginConfig = WebComponentWrapperOptions & {\r\n\tid?: string;\r\n\tremoteName: string;\r\n\tshadowDomPassive: boolean;\r\n\tpermittedRoles?: string[];\r\n};\r\n\r\nexport interface MenuItemAction {\r\n\tmethod?: 'GET' | 'POST';\r\n\turl: string;\r\n\tbody?: any;\r\n\tsuccessRoute: string;\r\n\tsuccessRouteResponseKey?: string;\r\n}\r\n\r\nexport interface PluginMenuItem {\r\n\trouterLink?: string;\r\n\ticon?: string;\r\n\tlabel: {\r\n\t\t[languageCode: string]: string;\r\n\t};\r\n\titems?: PluginMenuItem[];\r\n\tpermittedRoles?: string[];\r\n\taction?: MenuItemAction;\r\n\r\n\t// UI fields\r\n\tseparator?: boolean;\r\n\troot?: boolean;\r\n\tpath?: string;\r\n\tdisabled?: boolean;\r\n\tcommand?(event: MenuItemCommandEvent): void;\r\n}\r\n","import { ActivatedRouteSnapshot, BaseRouteReuseStrategy } from '@angular/router';\r\n\r\nexport class ArilReuseStrategy extends BaseRouteReuseStrategy {\r\n\toverride shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {\r\n\t\tif (curr.firstChild?.routeConfig?.data?.['remoteEntry'] === future.firstChild?.routeConfig?.data?.['remoteEntry'])\r\n\t\t\treturn false;\r\n\r\n\t\treturn future?.routeConfig === curr?.routeConfig && JSON.stringify(future?.params) === JSON.stringify(curr?.params);\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
|
+
{"version":3,"file":"aril-boot-config-apps.mjs","sources":["../../projects/aril/boot/config/apps/src/route-permissions.ts","../../projects/aril/boot/config/apps/src/auth.guard.ts","../../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/src/reuse-strategy.ts","../../projects/aril/boot/config/apps/aril-boot-config-apps.ts"],"sourcesContent":["import { PluginMenuItem } from './interfaces';\r\n\r\nconst routePermissions = new Map<string, string[]>();\r\n\r\nexport function setRoutePermissions(menuItems: PluginMenuItem[]): void {\r\n\troutePermissions.clear();\r\n\tbuildPermissionsMap(menuItems);\r\n}\r\n\r\nexport function getRoutePermissions(url: string): string[] | undefined {\r\n\tconst normalizedUrl = url.split('?')[0].replace(/^\\//, '');\r\n return routePermissions.get(normalizedUrl);\r\n}\r\n\r\nfunction buildPermissionsMap(items: PluginMenuItem[]): void {\r\n\tfor (const item of items) {\r\n\t\tif (item.routerLink && item.permittedRoles?.length) {\r\n\t\t\tconst normalized = item.routerLink.replace(/^\\//, '');\r\n\t\t\troutePermissions.set(normalized, item.permittedRoles);\r\n\t\t}\r\n\r\n\t\tif (item.items?.length) {\r\n\t\t\tbuildPermissionsMap(item.items);\r\n\t\t}\r\n\t}\r\n}\r\n","import { Injectable, inject } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot, UrlTree } from '@angular/router';\r\n\r\nimport { KeycloakAuthGuard, KeycloakService } from 'keycloak-angular';\r\n\r\nimport { getRoutePermissions } from './route-permissions';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard extends KeycloakAuthGuard {\r\n\tconstructor() {\r\n\t\tsuper(inject(Router), inject(KeycloakService));\r\n\t}\r\n\r\n\toverride async isAccessAllowed(\r\n\t\troute: ActivatedRouteSnapshot,\r\n\t\tstate: RouterStateSnapshot\r\n\t): Promise<boolean | UrlTree> {\r\n\t\tif (!this.authenticated) {\r\n\t\t\tawait this.keycloakAngular.login({ redirectUri: window.location.href });\r\n\t\t}\r\n\r\n\t\tconst permittedRoles = getRoutePermissions(state.url);\r\n\r\n\t\tif (permittedRoles?.length) {\r\n\t\t\tconst hasRole = permittedRoles.some((role) => this.roles.includes(role));\r\n\t\t\tif (!hasRole) {\r\n\t\t\t\treturn this.router.createUrlTree(['/forbidden']);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this.authenticated;\r\n\t}\r\n}\r\n","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 {\r\n\tWebComponentWrapper,\r\n\tWebComponentWrapperOptions,\r\n\tstartsWith\r\n} from '@angular-architects/module-federation-tools';\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { Observable, catchError, map, of } from 'rxjs';\r\n\r\nimport { ForbiddenComponent, NotFoundComponent } from 'aril/boot/pages';\r\n\r\nimport { AuthGuard } from './auth.guard';\r\nimport { AppsDTO, ExtensionConfig, PluginConfig, PluginMenuItem } from './interfaces';\r\nimport { setRoutePermissions } from './route-permissions';\r\nimport { ShadowDOMWrapperComponent } from './showdowDOMWrapper';\r\n\r\nexport interface MicroAppInitResult {\r\n\tmenuItems: PluginMenuItem[];\r\n\tplugins: Record<string, ExtensionConfig>;\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class MicroAppService {\r\n\tprivate readonly router = inject(Router);\r\n\tprivate readonly keycloak = inject(KeycloakService);\r\n\r\n\tprivate userRoles: string[] = [];\r\n\r\n\tinit(httpClient: HttpClient, hostAPI: string): Observable<MicroAppInitResult> {\r\n\t\tthis.userRoles = this.keycloak.getUserRoles();\r\n\t\treturn httpClient\r\n\t\t\t.get<AppsDTO>(isDevMode() ? './assets/local-configs/app.local.json' : hostAPI + '/ui-sidebar-configs')\r\n\t\t\t.pipe(\r\n\t\t\t\tmap((apps) => {\r\n\t\t\t\t\tsetRoutePermissions(apps.menuItems);\r\n\t\t\t\t\tconst routes = this.buildRoutes([...apps.modules, ...apps.plugins]);\r\n\r\n\t\t\t\t\tthis.router.resetConfig([\r\n\t\t\t\t\t\t...this.router.config,\r\n\t\t\t\t\t\t...routes,\r\n\t\t\t\t\t\t{ path: 'forbidden', component: ForbiddenComponent },\r\n\t\t\t\t\t\t{ path: '**', component: NotFoundComponent }\r\n\t\t\t\t\t]);\r\n\r\n\t\t\t\t\tconst filteredMenuItems = this.filterMenuItemsByRole(apps.menuItems);\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tmenuItems: [\r\n\t\t\t\t\t\t\t{ root: true, label: { tr: 'Anasayfa', en: 'Home' }, icon: 'pi pi-fw pi-home', routerLink: '/' } as PluginMenuItem,\r\n\t\t\t\t\t\t\t...filteredMenuItems\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t\tplugins: apps.extensions || {}\r\n\t\t\t\t\t};\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<MicroAppInitResult>({ menuItems: [], plugins: {} });\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t}\r\n\r\n\tbuildRoutes(options: PluginConfig[]): Routes {\r\n\t\tconst routes: Routes = options.map((options) => {\r\n\t\t\treturn {\r\n\t\t\t\tmatcher: startsWith(options.remoteName),\r\n\t\t\t\tcomponent: options.shadowDomPassive ? WebComponentWrapper : ShadowDOMWrapperComponent,\r\n\t\t\t\tdata: options as WebComponentWrapperOptions,\r\n\t\t\t\tcanActivate: [AuthGuard]\r\n\t\t\t};\r\n\t\t});\r\n\r\n\t\treturn routes;\r\n\t}\r\n\r\n\tprivate filterMenuItemsByRole(items: PluginMenuItem[]): PluginMenuItem[] {\r\n\t\treturn items.reduce<PluginMenuItem[]>((acc, item) => {\r\n\t\t\tif (!this.hasPermission(item.permittedRoles)) {\r\n\t\t\t\treturn acc;\r\n\t\t\t}\r\n\r\n\t\t\tconst filteredItem = { ...item };\r\n\r\n\t\t\tif (filteredItem.items?.length) {\r\n\t\t\t\tfilteredItem.items = this.filterMenuItemsByRole(filteredItem.items);\r\n\r\n\t\t\t\tif (!filteredItem.items.length && !filteredItem.routerLink) {\r\n\t\t\t\t\treturn acc;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tacc.push(filteredItem);\r\n\t\t\treturn acc;\r\n\t\t}, []);\r\n\t}\r\n\r\n\tprivate hasPermission(permittedRoles?: string[]): boolean {\r\n\t\tif (!permittedRoles?.length) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn permittedRoles.some((role) => this.userRoles.includes(role));\r\n\t}\r\n}\r\n","import { MenuItemCommandEvent } from 'primeng/api';\r\n\r\nimport { WebComponentWrapperOptions } from '@angular-architects/module-federation-tools';\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\tMW = 'mw',\r\n\tLENA = 'lena',\r\n\tHES = 'hes',\r\n\tCTS = 'cts',\r\n\tSIS = 'sis',\r\n\tMNG = 'mng',\r\n\tMDM = 'mdm',\r\n\tSTATE_MACHINE = 'state-machine',\r\n\tREPORT = 'report',\r\n\tLGC = 'lgc',\r\n\tDMS = 'dms'\r\n}\r\n\r\nexport interface AppsDTO {\r\n\tversion: number;\r\n\tmodules: PluginConfig[];\r\n\tplugins: PluginConfig[];\r\n\textensions: Record<string, ExtensionConfig>;\r\n\tmenuItems: PluginMenuItem[];\r\n}\r\n\r\nexport interface ExtensionConfig {\r\n\toptions: PluginConfig;\r\n}\r\n\r\nexport type PluginConfig = WebComponentWrapperOptions & {\r\n\tid?: string;\r\n\tremoteName: string;\r\n\tshadowDomPassive: boolean;\r\n\tpermittedRoles?: string[];\r\n};\r\n\r\nexport interface MenuItemAction {\r\n\tmethod?: 'GET' | 'POST';\r\n\turl: string;\r\n\tbody?: any;\r\n\tsuccessRoute: string;\r\n\tsuccessRouteResponseKey?: string;\r\n}\r\n\r\nexport interface PluginMenuItem {\r\n\trouterLink?: string;\r\n\ticon?: string;\r\n\tlabel: {\r\n\t\t[languageCode: string]: string;\r\n\t};\r\n\titems?: PluginMenuItem[];\r\n\tpermittedRoles?: string[];\r\n\taction?: MenuItemAction;\r\n\r\n\t// UI fields\r\n\tseparator?: boolean;\r\n\troot?: boolean;\r\n\tpath?: string;\r\n\tdisabled?: boolean;\r\n\tcommand?(event: MenuItemCommandEvent): void;\r\n}\r\n","import { ActivatedRouteSnapshot, BaseRouteReuseStrategy } from '@angular/router';\r\n\r\nexport class ArilReuseStrategy extends BaseRouteReuseStrategy {\r\n\toverride shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {\r\n\t\tif (curr.firstChild?.routeConfig?.data?.['remoteEntry'] === future.firstChild?.routeConfig?.data?.['remoteEntry'])\r\n\t\t\treturn false;\r\n\r\n\t\treturn future?.routeConfig === curr?.routeConfig && JSON.stringify(future?.params) === JSON.stringify(curr?.params);\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,24 +1,20 @@
|
|
|
1
|
-
import { provideHttpClient, withInterceptors } from '@angular/common/http';
|
|
2
1
|
import { NgZone, importProvidersFrom, APP_INITIALIZER, isDevMode } from '@angular/core';
|
|
3
2
|
import { createCustomElement } from '@angular/elements';
|
|
4
3
|
import { createApplication } from '@angular/platform-browser';
|
|
5
|
-
import {
|
|
6
|
-
import { MessageService, ConfirmationService, PrimeNGConfig } from 'primeng/api';
|
|
4
|
+
import { PrimeNGConfig } from 'primeng/api';
|
|
7
5
|
import { ConfirmDialogModule } from 'primeng/confirmdialog';
|
|
8
6
|
import { ConfirmPopupModule } from 'primeng/confirmpopup';
|
|
9
7
|
import { DialogModule } from 'primeng/dialog';
|
|
10
8
|
import { MessagesModule } from 'primeng/messages';
|
|
11
9
|
import { ToastModule } from 'primeng/toast';
|
|
12
10
|
import { TranslocoService } from '@ngneat/transloco';
|
|
13
|
-
import { KeycloakBearerInterceptor, KeycloakAngularModule } from 'keycloak-angular';
|
|
14
11
|
import { tap, firstValueFrom } from 'rxjs';
|
|
15
|
-
import {
|
|
12
|
+
import { createBaseAppConfig, HOST_I18N_FOLDER } from 'aril/boot/base';
|
|
13
|
+
import { bridge } from 'aril/boot/bridge';
|
|
16
14
|
import { API_CONFIGS } from 'aril/boot/config/api';
|
|
17
15
|
import { LanguageCode, TR_TRANSLATIONS } from 'aril/boot/config/translate';
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import { authInterceptor, keycloakAuthInterceptor } from 'aril/keycloak';
|
|
21
|
-
import { provideHost, provideHostRouter, provideLocaleId } from 'aril/provider';
|
|
16
|
+
import { HttpBackendService } from 'aril/http';
|
|
17
|
+
import { provideHost, provideHostRouter } from 'aril/provider';
|
|
22
18
|
|
|
23
19
|
const getNgZone = () => {
|
|
24
20
|
if (bridge.hostNgZone) {
|
|
@@ -30,65 +26,6 @@ const getNgZone = () => {
|
|
|
30
26
|
|
|
31
27
|
class FactoryClass {
|
|
32
28
|
}
|
|
33
|
-
var Apps;
|
|
34
|
-
(function (Apps) {
|
|
35
|
-
Apps["THOR"] = "thor";
|
|
36
|
-
Apps["CRM"] = "crm";
|
|
37
|
-
Apps["WDM"] = "wdm";
|
|
38
|
-
Apps["BILLING"] = "billing";
|
|
39
|
-
Apps["PAYMENT"] = "payment";
|
|
40
|
-
Apps["YEAP"] = "yeap";
|
|
41
|
-
Apps["MW"] = "mw";
|
|
42
|
-
Apps["LENA"] = "lena";
|
|
43
|
-
Apps["HES"] = "hes";
|
|
44
|
-
Apps["CTS"] = "cts";
|
|
45
|
-
Apps["SIS"] = "sis";
|
|
46
|
-
Apps["MNG"] = "mng";
|
|
47
|
-
Apps["MDM"] = "mdm";
|
|
48
|
-
Apps["STATE_MACHINE"] = "state-machine";
|
|
49
|
-
Apps["LGC"] = "lgc";
|
|
50
|
-
Apps["DMS"] = "dms";
|
|
51
|
-
})(Apps || (Apps = {}));
|
|
52
|
-
var AppsRoutes;
|
|
53
|
-
(function (AppsRoutes) {
|
|
54
|
-
AppsRoutes["MNG_BASE_URL"] = "mngBaseUrl";
|
|
55
|
-
})(AppsRoutes || (AppsRoutes = {}));
|
|
56
|
-
class ApiConfigsFactory {
|
|
57
|
-
constructor() {
|
|
58
|
-
this.api = '';
|
|
59
|
-
this.fromMail = '';
|
|
60
|
-
this.mwApi = '';
|
|
61
|
-
this.aiApi = '';
|
|
62
|
-
this.statusApi = '';
|
|
63
|
-
this.environment = '';
|
|
64
|
-
this.routes = {
|
|
65
|
-
mngBaseUrl: '',
|
|
66
|
-
};
|
|
67
|
-
this.prefixMap = {
|
|
68
|
-
[Apps.THOR]: '',
|
|
69
|
-
[Apps.CRM]: '',
|
|
70
|
-
[Apps.WDM]: '',
|
|
71
|
-
[Apps.BILLING]: '',
|
|
72
|
-
[Apps.PAYMENT]: '',
|
|
73
|
-
[Apps.YEAP]: '',
|
|
74
|
-
[Apps.MW]: '',
|
|
75
|
-
[Apps.LENA]: '',
|
|
76
|
-
[Apps.HES]: '',
|
|
77
|
-
[Apps.CTS]: '',
|
|
78
|
-
[Apps.SIS]: '',
|
|
79
|
-
[Apps.MNG]: '',
|
|
80
|
-
[Apps.STATE_MACHINE]: '',
|
|
81
|
-
[Apps.MDM]: '',
|
|
82
|
-
[Apps.LGC]: '',
|
|
83
|
-
[Apps.DMS]: ''
|
|
84
|
-
};
|
|
85
|
-
this.keycloak = {
|
|
86
|
-
url: '',
|
|
87
|
-
realm: '',
|
|
88
|
-
clientId: ''
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
29
|
|
|
93
30
|
const PLUGINS = new FactoryClass();
|
|
94
31
|
function loadPlugins() {
|
|
@@ -107,17 +44,11 @@ async function bootPlugin(selector, component) {
|
|
|
107
44
|
return;
|
|
108
45
|
const config = {
|
|
109
46
|
providers: [
|
|
110
|
-
|
|
111
|
-
provideMfeBridge(),
|
|
47
|
+
createBaseAppConfig({ i18nFolder: HOST_I18N_FOLDER }),
|
|
112
48
|
provideHost(selector), // todo refactor
|
|
113
49
|
provideHostRouter(),
|
|
114
|
-
|
|
115
|
-
KeycloakBearerInterceptor,
|
|
116
|
-
provideHttpClient(withInterceptors([acceptLanguageInterceptor, authInterceptor, keycloakAuthInterceptor])),
|
|
117
|
-
importProvidersFrom(i18nModule, KeycloakAngularModule, ConfirmDialogModule, ConfirmPopupModule, DialogModule, MessagesModule, ToastModule),
|
|
50
|
+
importProvidersFrom(ConfirmDialogModule, ConfirmPopupModule, DialogModule, MessagesModule, ToastModule),
|
|
118
51
|
getNgZone(),
|
|
119
|
-
MessageService,
|
|
120
|
-
ConfirmationService,
|
|
121
52
|
{
|
|
122
53
|
provide: APP_INITIALIZER,
|
|
123
54
|
useFactory: (httpBackend, translocoService, primeNgConfig) => {
|
|
@@ -141,10 +72,6 @@ async function bootPlugin(selector, component) {
|
|
|
141
72
|
},
|
|
142
73
|
deps: [HttpBackendService, TranslocoService, PrimeNGConfig],
|
|
143
74
|
multi: true
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
provide: i18nFolderName,
|
|
147
|
-
useValue: 'host'
|
|
148
75
|
}
|
|
149
76
|
]
|
|
150
77
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-boot-config-plugins.mjs","sources":["../../projects/aril/boot/config/plugins/src/getNgZone.ts","../../projects/aril/boot/config/plugins/src/interfaces.ts","../../projects/aril/boot/config/plugins/src/plugins.service.ts","../../projects/aril/boot/config/plugins/aril-boot-config-plugins.ts"],"sourcesContent":["import { NgZone } from '@angular/core';\r\n\r\nimport { bridge } from 'aril/boot/bridge';\r\n\r\nexport const getNgZone = () => {\r\n\tif (bridge.hostNgZone) {\r\n\t\treturn { provide: NgZone, useValue: bridge.hostNgZone };\r\n\t} else return [];\r\n};\r\n","import { LoadRemoteModuleScriptOptions } from '@angular-architects/module-federation';\r\n\r\ninterface PluginItem {\r\n\toptions: LoadRemoteModuleScriptOptions & { elementName: string };\r\n\tprops: { [key in string]: any };\r\n\tevents: { [key in string]: Function };\r\n}\r\n\r\nexport type PluginConfigs = { [key in string]: PluginItem };\r\n\r\nexport class FactoryClass {}\r\n\r\nenum 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\tMW = 'mw',\r\n\tLENA = 'lena',\r\n\tHES = 'hes',\r\n\tCTS = 'cts',\r\n\tSIS = 'sis',\r\n\tMNG = 'mng',\r\n\tMDM = 'mdm',\r\n\tSTATE_MACHINE = 'state-machine',\r\n\tLGC = 'lgc',\r\n\tDMS = 'dms'\r\n}\r\n\r\nexport enum AppsRoutes {\r\n\tMNG_BASE_URL = 'mngBaseUrl',\r\n}\r\n\r\nexport interface KeycloakConfig {\r\n\turl: string;\r\n\trealm: string;\r\n\tclientId: string;\r\n}\r\n\r\nexport class ApiConfigsFactory {\r\n\tapi: string = '';\r\n\tfromMail: string = '';\r\n\tmwApi: string = '';\r\n\taiApi: string='';\r\n\tstatusApi: string='';\r\n\tenvironment: string = '';\r\n\troutes: Record<AppsRoutes, string> = {\r\n\t\tmngBaseUrl: '',\r\n\t};\r\n\tprefixMap: Record<Apps,string>= {\r\n\t\t[Apps.THOR]: '',\r\n\t\t[Apps.CRM]: '',\r\n\t\t[Apps.WDM]: '',\r\n\t\t[Apps.BILLING]: '',\r\n\t\t[Apps.PAYMENT]: '',\r\n\t\t[Apps.YEAP]: '',\r\n\t\t[Apps.MW]: '',\r\n\t\t[Apps.LENA]: '',\r\n\t\t[Apps.HES]: '',\r\n\t\t[Apps.CTS]: '',\r\n\t\t[Apps.SIS]: '',\r\n\t\t[Apps.MNG]: '',\r\n\t\t[Apps.STATE_MACHINE]: '',\r\n\t\t[Apps.MDM]:'',\r\n\t\t[Apps.LGC]: '',\r\n\t\t[Apps.DMS]: ''\r\n\t};\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, provideHttpClient, withInterceptors } from '@angular/common/http';\r\nimport { APP_INITIALIZER, ApplicationConfig, Type, importProvidersFrom, isDevMode } 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\n\r\nimport { ConfirmationService, MessageService, PrimeNGConfig } from 'primeng/api';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmPopupModule } from 'primeng/confirmpopup';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { ToastModule } from 'primeng/toast';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { KeycloakAngularModule, KeycloakBearerInterceptor } from 'keycloak-angular';\r\nimport { firstValueFrom, tap } from 'rxjs';\r\n\r\nimport { bridge, provideMfeBridge } from 'aril/boot/bridge';\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { LanguageCode, TR_TRANSLATIONS } from 'aril/boot/config/translate';\r\nimport { HttpBackendService, acceptLanguageInterceptor } from 'aril/http';\r\nimport { i18nFolderName, i18nModule } from 'aril/i18n';\r\nimport { authInterceptor, keycloakAuthInterceptor } from 'aril/keycloak';\r\nimport { provideHost, provideHostRouter, provideLocaleId } from 'aril/provider';\r\n\r\nimport { getNgZone } from './getNgZone';\r\nimport { ApiConfigsFactory, FactoryClass, PluginConfigs } from './interfaces';\r\n\r\nexport const PLUGINS = new FactoryClass() as FactoryClass & PluginConfigs;\r\n\r\nexport function loadPlugins(): () => void {\r\n\treturn () => {\r\n\t\ttry {\r\n\t\t\tconst pluginsData = bridge.pluginJson();\r\n\t\t\tObject.assign(PLUGINS, pluginsData);\r\n\t\t} catch (err) {\r\n\t\t\tconsole.log('Error Plugins Loading', err);\r\n\t\t}\r\n\t};\r\n}\r\n\r\nexport async function bootPlugin(selector: string, component: Type<any>) {\r\n\tif (customElements.get(selector)) return;\r\n\r\n\tconst config: ApplicationConfig = {\r\n\t\tproviders: [\r\n\t\t\tprovideAnimations(),\r\n\t\t\tprovideMfeBridge(),\r\n\t\t\tprovideHost(selector as any), // todo refactor\r\n\t\t\tprovideHostRouter(),\r\n\t\t\tprovideLocaleId(),\r\n\t\t\tKeycloakBearerInterceptor,\r\n\t\t\tprovideHttpClient(withInterceptors([acceptLanguageInterceptor, authInterceptor, keycloakAuthInterceptor])),\r\n\t\t\timportProvidersFrom(\r\n\t\t\t\ti18nModule,\r\n\t\t\t\tKeycloakAngularModule,\r\n\t\t\t\tConfirmDialogModule,\r\n\t\t\t\tConfirmPopupModule,\r\n\t\t\t\tDialogModule,\r\n\t\t\t\tMessagesModule,\r\n\t\t\t\tToastModule\r\n\t\t\t),\r\n\t\t\tgetNgZone(),\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: (\r\n\t\t\t\t\thttpBackend: { httpClient: HttpClient },\r\n\t\t\t\t\ttranslocoService: TranslocoService,\r\n\t\t\t\t\tprimeNgConfig: PrimeNGConfig\r\n\t\t\t\t) => {\r\n\t\t\t\t\treturn () => {\r\n\t\t\t\t\t\tconst activeLang: LanguageCode = (localStorage.getItem('lang') as LanguageCode) ?? LanguageCode.TR;\r\n\r\n\t\t\t\t\t\ttranslocoService.setActiveLang(activeLang);\r\n\r\n\t\t\t\t\t\tif (!activeLang?.length) {\r\n\t\t\t\t\t\t\tconsole.warn('No language selected');\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (activeLang === LanguageCode.TR) {\r\n\t\t\t\t\t\t\tprimeNgConfig.setTranslation(TR_TRANSLATIONS);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tconst observable$ = httpBackend.httpClient\r\n\t\t\t\t\t\t\t.get<ApiConfigsFactory>(isDevMode() ? './assets/local-configs/api.local.json' : './api.json')\r\n\t\t\t\t\t\t\t.pipe(\r\n\t\t\t\t\t\t\t\ttap((configs) => {\r\n\t\t\t\t\t\t\t\t\tObject.assign(API_CONFIGS, { ...configs });\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\treturn firstValueFrom(observable$);\r\n\t\t\t\t\t};\r\n\t\t\t\t},\r\n\t\t\t\tdeps: [HttpBackendService, TranslocoService, PrimeNGConfig],\r\n\t\t\t\tmulti: true\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: i18nFolderName,\r\n\t\t\t\tuseValue: 'host'\r\n\t\t\t}\r\n\t\t]\r\n\t};\r\n\r\n\tconst appRef = await createApplication(config);\r\n\tconst plugin = createCustomElement(component, { injector: appRef.injector });\r\n\r\n\tcustomElements.define(selector, plugin);\r\n}\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-plugins.mjs","sources":["../../projects/aril/boot/config/plugins/src/getNgZone.ts","../../projects/aril/boot/config/plugins/src/interfaces.ts","../../projects/aril/boot/config/plugins/src/plugins.service.ts","../../projects/aril/boot/config/plugins/aril-boot-config-plugins.ts"],"sourcesContent":["import { NgZone } from '@angular/core';\r\n\r\nimport { bridge } from 'aril/boot/bridge';\r\n\r\nexport const getNgZone = () => {\r\n\tif (bridge.hostNgZone) {\r\n\t\treturn { provide: NgZone, useValue: bridge.hostNgZone };\r\n\t} else return [];\r\n};\r\n","import { LoadRemoteModuleScriptOptions } from '@angular-architects/module-federation';\r\n\r\ninterface PluginItem {\r\n\toptions: LoadRemoteModuleScriptOptions & { elementName: string };\r\n\tprops: { [key in string]: any };\r\n\tevents: { [key in string]: Function };\r\n}\r\n\r\nexport type PluginConfigs = { [key in string]: PluginItem };\r\n\r\nexport class FactoryClass {}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { APP_INITIALIZER, ApplicationConfig, Type, importProvidersFrom, isDevMode } from '@angular/core';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { createApplication } from '@angular/platform-browser';\r\n\r\nimport { PrimeNGConfig } from 'primeng/api';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmPopupModule } from 'primeng/confirmpopup';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { ToastModule } from 'primeng/toast';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { firstValueFrom, tap } from 'rxjs';\r\n\r\nimport { HOST_I18N_FOLDER, createBaseAppConfig } from 'aril/boot/base';\r\nimport { bridge } from 'aril/boot/bridge';\r\nimport { API_CONFIGS, ApiConfigsFactory } from 'aril/boot/config/api';\r\nimport { LanguageCode, TR_TRANSLATIONS } from 'aril/boot/config/translate';\r\nimport { HttpBackendService } from 'aril/http';\r\nimport { provideHost, provideHostRouter } from 'aril/provider';\r\n\r\nimport { getNgZone } from './getNgZone';\r\nimport { FactoryClass, PluginConfigs } from './interfaces';\r\n\r\nexport const PLUGINS = new FactoryClass() as FactoryClass & PluginConfigs;\r\n\r\nexport function loadPlugins(): () => void {\r\n\treturn () => {\r\n\t\ttry {\r\n\t\t\tconst pluginsData = bridge.pluginJson();\r\n\t\t\tObject.assign(PLUGINS, pluginsData);\r\n\t\t} catch (err) {\r\n\t\t\tconsole.log('Error Plugins Loading', err);\r\n\t\t}\r\n\t};\r\n}\r\n\r\nexport async function bootPlugin(selector: string, component: Type<any>) {\r\n\tif (customElements.get(selector)) return;\r\n\r\n\tconst config: ApplicationConfig = {\r\n\t\tproviders: [\r\n\t\t\tcreateBaseAppConfig({ i18nFolder: HOST_I18N_FOLDER }),\r\n\t\t\tprovideHost(selector as any), // todo refactor\r\n\t\t\tprovideHostRouter(),\r\n\t\t\timportProvidersFrom(\r\n\t\t\t\tConfirmDialogModule,\r\n\t\t\t\tConfirmPopupModule,\r\n\t\t\t\tDialogModule,\r\n\t\t\t\tMessagesModule,\r\n\t\t\t\tToastModule\r\n\t\t\t),\r\n\t\t\tgetNgZone(),\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: (\r\n\t\t\t\t\thttpBackend: { httpClient: HttpClient },\r\n\t\t\t\t\ttranslocoService: TranslocoService,\r\n\t\t\t\t\tprimeNgConfig: PrimeNGConfig\r\n\t\t\t\t) => {\r\n\t\t\t\t\treturn () => {\r\n\t\t\t\t\t\tconst activeLang: LanguageCode = (localStorage.getItem('lang') as LanguageCode) ?? LanguageCode.TR;\r\n\r\n\t\t\t\t\t\ttranslocoService.setActiveLang(activeLang);\r\n\r\n\t\t\t\t\t\tif (!activeLang?.length) {\r\n\t\t\t\t\t\t\tconsole.warn('No language selected');\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (activeLang === LanguageCode.TR) {\r\n\t\t\t\t\t\t\tprimeNgConfig.setTranslation(TR_TRANSLATIONS);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tconst observable$ = httpBackend.httpClient\r\n\t\t\t\t\t\t\t.get<ApiConfigsFactory>(isDevMode() ? './assets/local-configs/api.local.json' : './api.json')\r\n\t\t\t\t\t\t\t.pipe(\r\n\t\t\t\t\t\t\t\ttap((configs) => {\r\n\t\t\t\t\t\t\t\t\tObject.assign(API_CONFIGS, { ...configs });\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\treturn firstValueFrom(observable$);\r\n\t\t\t\t\t};\r\n\t\t\t\t},\r\n\t\t\t\tdeps: [HttpBackendService, TranslocoService, PrimeNGConfig],\r\n\t\t\t\tmulti: true\r\n\t\t\t}\r\n\t\t]\r\n\t};\r\n\r\n\tconst appRef = await createApplication(config);\r\n\tconst plugin = createCustomElement(component, { injector: appRef.injector });\r\n\r\n\tcustomElements.define(selector, plugin);\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAIO,MAAM,SAAS,GAAG,MAAK;AAC7B,IAAA,IAAI,MAAM,CAAC,UAAU,EAAE;QACtB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;KACxD;;AAAM,QAAA,OAAO,EAAE,CAAC;AAClB;;MCEa,YAAY,CAAA;AAAG;;ACef,MAAA,OAAO,GAAG,IAAI,YAAY,GAAmC;SAE1D,WAAW,GAAA;AAC1B,IAAA,OAAO,MAAK;AACX,QAAA,IAAI;AACH,YAAA,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;AACxC,YAAA,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;SACpC;QAAC,OAAO,GAAG,EAAE;AACb,YAAA,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;SAC1C;AACF,KAAC,CAAC;AACH,CAAC;AAEM,eAAe,UAAU,CAAC,QAAgB,EAAE,SAAoB,EAAA;AACtE,IAAA,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO;AAEzC,IAAA,MAAM,MAAM,GAAsB;AACjC,QAAA,SAAS,EAAE;AACV,YAAA,mBAAmB,CAAC,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AACrD,YAAA,WAAW,CAAC,QAAe,CAAC;AAC5B,YAAA,iBAAiB,EAAE;YACnB,mBAAmB,CAClB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,WAAW,CACX;AACD,YAAA,SAAS,EAAE;AACX,YAAA;AACC,gBAAA,OAAO,EAAE,eAAe;gBACxB,UAAU,EAAE,CACX,WAAuC,EACvC,gBAAkC,EAClC,aAA4B,KACzB;AACH,oBAAA,OAAO,MAAK;AACX,wBAAA,MAAM,UAAU,GAAkB,YAAY,CAAC,OAAO,CAAC,MAAM,CAAkB,IAAI,YAAY,CAAC,EAAE,CAAC;AAEnG,wBAAA,gBAAgB,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;AAE3C,wBAAA,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE;AACxB,4BAAA,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;4BACrC,OAAO;yBACP;AAED,wBAAA,IAAI,UAAU,KAAK,YAAY,CAAC,EAAE,EAAE;AACnC,4BAAA,aAAa,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;yBAC9C;AAED,wBAAA,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU;6BACxC,GAAG,CAAoB,SAAS,EAAE,GAAG,uCAAuC,GAAG,YAAY,CAAC;AAC5F,6BAAA,IAAI,CACJ,GAAG,CAAC,CAAC,OAAO,KAAI;4BACf,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;yBAC3C,CAAC,CACF,CAAC;AAEH,wBAAA,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC;AACpC,qBAAC,CAAC;iBACF;AACD,gBAAA,IAAI,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,aAAa,CAAC;AAC3D,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA;KACD,CAAC;AAEF,IAAA,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC/C,IAAA,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAE7E,IAAA,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACzC;;AChGA;;AAEG;;;;"}
|
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { inject, NgZone, Component,
|
|
3
|
+
import { inject, NgZone, Component, APP_INITIALIZER } from '@angular/core';
|
|
4
4
|
import { bootstrapApplication } from '@angular/platform-browser';
|
|
5
|
-
import { provideAnimations } from '@angular/platform-browser/animations';
|
|
6
5
|
import { provideRouter, withComponentInputBinding, withHashLocation, withViewTransitions, withRouterConfig, RouteReuseStrategy, Router } from '@angular/router';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
6
|
+
import { KeycloakService } from 'keycloak-angular';
|
|
7
|
+
import { createBaseAppConfig, HOST_I18N_FOLDER } from 'aril/boot/base';
|
|
9
8
|
import * as i3 from 'aril/boot/bridge';
|
|
10
|
-
import {
|
|
9
|
+
import { bridge } from 'aril/boot/bridge';
|
|
11
10
|
import { loadApiConfigs, loadInitData } from 'aril/boot/config/api';
|
|
12
11
|
import { ArilReuseStrategy, MicroAppService } from 'aril/boot/config/apps';
|
|
13
12
|
import { loadPlugins } from 'aril/boot/config/plugins';
|
|
14
|
-
import {
|
|
15
|
-
import { i18nModule, i18nFolderName } from 'aril/i18n';
|
|
16
|
-
import { authInterceptor, keycloakAuthInterceptor } from 'aril/keycloak';
|
|
17
|
-
import { provideLocaleId } from 'aril/provider';
|
|
13
|
+
import { i18nFolderName } from 'aril/i18n';
|
|
18
14
|
import * as i1 from 'aril/theme/layout';
|
|
19
15
|
import { AppLayoutComponent } from 'aril/theme/layout';
|
|
20
16
|
import * as i2 from 'aril/util/pub-sub';
|
|
@@ -67,16 +63,9 @@ const boot = (_appName, routes) => {
|
|
|
67
63
|
appName = _appName;
|
|
68
64
|
const appConfig = {
|
|
69
65
|
providers: [
|
|
70
|
-
|
|
71
|
-
provideMfeBridge(),
|
|
72
|
-
provideLocaleId(),
|
|
73
|
-
KeycloakBearerInterceptor,
|
|
74
|
-
provideHttpClient(withInterceptors([acceptLanguageInterceptor, authInterceptor, keycloakAuthInterceptor])),
|
|
66
|
+
createBaseAppConfig({ i18nFolder: HOST_I18N_FOLDER }),
|
|
75
67
|
provideRouter(routes, withComponentInputBinding(), withHashLocation(), withViewTransitions(), withRouterConfig({ onSameUrlNavigation: 'reload' })),
|
|
76
68
|
{ provide: RouteReuseStrategy, useClass: ArilReuseStrategy },
|
|
77
|
-
importProvidersFrom(i18nModule, KeycloakAngularModule),
|
|
78
|
-
MessageService,
|
|
79
|
-
ConfirmationService,
|
|
80
69
|
{
|
|
81
70
|
provide: APP_INITIALIZER,
|
|
82
71
|
useFactory: (httpClient, keycloak, router, folderName, microAppService) => {
|
|
@@ -93,10 +82,6 @@ const boot = (_appName, routes) => {
|
|
|
93
82
|
},
|
|
94
83
|
multi: true,
|
|
95
84
|
deps: [HttpClient, KeycloakService, Router, i18nFolderName, MicroAppService]
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
provide: i18nFolderName,
|
|
99
|
-
useValue: 'host'
|
|
100
85
|
}
|
|
101
86
|
]
|
|
102
87
|
};
|
|
@@ -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":["import { Component, NgZone, inject } from '@angular/core';\r\n\r\nimport { MfeBridge } from 'aril/boot/bridge';\r\nimport { AppLayoutComponent, LayoutService } from 'aril/theme/layout';\r\nimport { PubSubService } from 'aril/util/pub-sub';\r\n\r\nimport { appName } from './bootstrap';\r\n\r\ntype MenuMode = 'static' | 'expandable';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-root',\r\n\ttemplate: ` <app-layout></app-layout> `,\r\n\timports: [AppLayoutComponent]\r\n})\r\nexport class AppComponent {\r\n\tconstructor(\r\n\t\tprivate readonly layoutService: LayoutService,\r\n\t\tprivate readonly pubSubService: PubSubService,\r\n\t\tprivate readonly bridgeSvc: MfeBridge\r\n\t) {\r\n\t\tthis.bridgeSvc.mirrorToWindow();\r\n\t\tthis.bridgeSvc.activeHost.set(appName);\r\n\t\tthis.bridgeSvc.isHostMode.set(true);\r\n\t\tthis.bridgeSvc.hostNgZone = inject(NgZone);\r\n\r\n\t\tthis.pubSubService.subscribe('menuModeChanged', (data) => {\r\n\t\t\tconst menuMode = data?.custom;\r\n\r\n\t\t\tif (menuMode && (menuMode === 'static' || menuMode === 'expandable')) {\r\n\t\t\t\tthis.layoutService.config.update((config) => {\r\n\t\t\t\t\tconst newConfig = {\r\n\t\t\t\t\t\t...config,\r\n\t\t\t\t\t\tmenuMode: menuMode as MenuMode\r\n\t\t\t\t\t};\r\n\t\t\t\t\treturn newConfig;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (menuMode === 'static') {\r\n\t\t\t\t\tthis.layoutService.state.staticSidebarVisible = true;\r\n\t\t\t\t} else if (menuMode === 'expandable') {\r\n\t\t\t\t\tthis.layoutService.state.staticSidebarVisible = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Always close mobile menu on mode change\r\n\t\t\t\tthis.layoutService.state.staticMenuMobileActive = false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","import { HttpClient
|
|
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":["import { Component, NgZone, inject } from '@angular/core';\r\n\r\nimport { MfeBridge } from 'aril/boot/bridge';\r\nimport { AppLayoutComponent, LayoutService } from 'aril/theme/layout';\r\nimport { PubSubService } from 'aril/util/pub-sub';\r\n\r\nimport { appName } from './bootstrap';\r\n\r\ntype MenuMode = 'static' | 'expandable';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-root',\r\n\ttemplate: ` <app-layout></app-layout> `,\r\n\timports: [AppLayoutComponent]\r\n})\r\nexport class AppComponent {\r\n\tconstructor(\r\n\t\tprivate readonly layoutService: LayoutService,\r\n\t\tprivate readonly pubSubService: PubSubService,\r\n\t\tprivate readonly bridgeSvc: MfeBridge\r\n\t) {\r\n\t\tthis.bridgeSvc.mirrorToWindow();\r\n\t\tthis.bridgeSvc.activeHost.set(appName);\r\n\t\tthis.bridgeSvc.isHostMode.set(true);\r\n\t\tthis.bridgeSvc.hostNgZone = inject(NgZone);\r\n\r\n\t\tthis.pubSubService.subscribe('menuModeChanged', (data) => {\r\n\t\t\tconst menuMode = data?.custom;\r\n\r\n\t\t\tif (menuMode && (menuMode === 'static' || menuMode === 'expandable')) {\r\n\t\t\t\tthis.layoutService.config.update((config) => {\r\n\t\t\t\t\tconst newConfig = {\r\n\t\t\t\t\t\t...config,\r\n\t\t\t\t\t\tmenuMode: menuMode as MenuMode\r\n\t\t\t\t\t};\r\n\t\t\t\t\treturn newConfig;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif (menuMode === 'static') {\r\n\t\t\t\t\tthis.layoutService.state.staticSidebarVisible = true;\r\n\t\t\t\t} else if (menuMode === 'expandable') {\r\n\t\t\t\t\tthis.layoutService.state.staticSidebarVisible = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Always close mobile menu on mode change\r\n\t\t\t\tthis.layoutService.state.staticMenuMobileActive = false;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { APP_INITIALIZER, ApplicationConfig } from '@angular/core';\r\nimport { bootstrapApplication } from '@angular/platform-browser';\r\nimport {\r\n\tRouteReuseStrategy,\r\n\tRouter,\r\n\tRoutes,\r\n\tprovideRouter,\r\n\twithComponentInputBinding,\r\n\twithHashLocation,\r\n\twithRouterConfig,\r\n\twithViewTransitions\r\n} from '@angular/router';\r\n\r\nimport { KeycloakService } from 'keycloak-angular';\r\n\r\nimport { HOST_I18N_FOLDER, createBaseAppConfig } from 'aril/boot/base';\r\nimport { bridge } from 'aril/boot/bridge';\r\nimport { loadApiConfigs, loadInitData } from 'aril/boot/config/api';\r\nimport { Apps, ArilReuseStrategy, MicroAppService } from 'aril/boot/config/apps';\r\nimport { loadPlugins } from 'aril/boot/config/plugins';\r\nimport { i18nFolderName } from 'aril/i18n';\r\n\r\nimport { AppComponent } from './app.component';\r\n\r\nexport var appName: Apps;\r\n\r\nexport const boot = (_appName: Apps, routes: Routes) => {\r\n\tappName = _appName;\r\n\tconst appConfig: ApplicationConfig = {\r\n\t\tproviders: [\r\n\t\t\tcreateBaseAppConfig({ i18nFolder: HOST_I18N_FOLDER }),\r\n\t\t\tprovideRouter(\r\n\t\t\t\troutes,\r\n\t\t\t\twithComponentInputBinding(),\r\n\t\t\t\twithHashLocation(),\r\n\t\t\t\twithViewTransitions(),\r\n\t\t\t\twithRouterConfig({ onSameUrlNavigation: 'reload' })\r\n\t\t\t),\r\n\t\t\t{ provide: RouteReuseStrategy, useClass: ArilReuseStrategy },\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: (\r\n\t\t\t\t\thttpClient: HttpClient,\r\n\t\t\t\t\tkeycloak: KeycloakService,\r\n\t\t\t\t\trouter: Router,\r\n\t\t\t\t\tfolderName: typeof i18nFolderName,\r\n\t\t\t\t\tmicroAppService: MicroAppService\r\n\t\t\t\t) => {\r\n\t\t\t\t\tif (router) bridge.hostRouter = router;\r\n\r\n\t\t\t\t\tconst runLoadApiConfigs = loadApiConfigs(\r\n\t\t\t\t\t\thttpClient,\r\n\t\t\t\t\t\tkeycloak,\r\n\t\t\t\t\t\tfolderName as unknown as string,\r\n\t\t\t\t\t\tmicroAppService\r\n\t\t\t\t\t);\r\n\t\t\t\t\tconst runLoadInitData = loadInitData(httpClient);\r\n\t\t\t\t\tconst runLoadPlugins = loadPlugins();\r\n\t\t\t\t\treturn async () => {\r\n\t\t\t\t\t\tawait runLoadApiConfigs();\r\n\t\t\t\t\t\tawait runLoadInitData();\r\n\t\t\t\t\t\trunLoadPlugins();\r\n\t\t\t\t\t};\r\n\t\t\t\t},\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [HttpClient, KeycloakService, Router, i18nFolderName, MicroAppService]\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":"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"}
|
|
@@ -3,8 +3,8 @@ import { inject, NgZone, Component } from '@angular/core';
|
|
|
3
3
|
import { connectRouter, ModuleFederationToolsModule } from '@angular-architects/module-federation-tools';
|
|
4
4
|
import { LanguageCode, TR_TRANSLATIONS } from 'aril/boot/config/translate';
|
|
5
5
|
import * as i3 from 'aril/theme/layout';
|
|
6
|
-
import {
|
|
7
|
-
import { a as appName, m as menuItems } from './aril-boot-mfe-aril-boot-mfe-
|
|
6
|
+
import { MFELayoutComponent } from 'aril/theme/layout';
|
|
7
|
+
import { a as appName, m as menuItems } from './aril-boot-mfe-aril-boot-mfe-KXDpUyv7.mjs';
|
|
8
8
|
import * as i1 from '@angular/router';
|
|
9
9
|
import * as i2 from '@ngneat/transloco';
|
|
10
10
|
import * as i4 from 'primeng/api';
|
|
@@ -12,17 +12,14 @@ import * as i5 from 'aril/boot/bridge';
|
|
|
12
12
|
import '@angular/common/http';
|
|
13
13
|
import '@angular/elements';
|
|
14
14
|
import '@angular/platform-browser';
|
|
15
|
-
import '@angular/platform-browser/animations';
|
|
16
15
|
import 'keycloak-angular';
|
|
17
16
|
import 'ngx-monaco-editor-v2';
|
|
17
|
+
import 'aril/boot/base';
|
|
18
18
|
import 'aril/boot/config/api';
|
|
19
19
|
import 'aril/boot/config/apps';
|
|
20
20
|
import 'aril/boot/config/plugins';
|
|
21
|
-
import 'aril/http';
|
|
22
21
|
import 'aril/i18n';
|
|
23
|
-
import 'aril/keycloak';
|
|
24
22
|
import 'aril/provider';
|
|
25
|
-
import 'aril/util/loaders';
|
|
26
23
|
|
|
27
24
|
class AppComponent {
|
|
28
25
|
constructor(router, translocoService, appMenuService, primeNgConfig, bridgeSvc) {
|
|
@@ -60,9 +57,9 @@ class AppComponent {
|
|
|
60
57
|
@if (isHostMode()) {
|
|
61
58
|
<mfe-layout></mfe-layout>
|
|
62
59
|
} @else {
|
|
63
|
-
|
|
60
|
+
Bu uygulama yalnızca host app içinden açılabilir
|
|
64
61
|
}
|
|
65
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ModuleFederationToolsModule }, { kind: "component", type:
|
|
62
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ModuleFederationToolsModule }, { kind: "component", type: MFELayoutComponent, selector: "mfe-layout" }] }); }
|
|
66
63
|
}
|
|
67
64
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppComponent, decorators: [{
|
|
68
65
|
type: Component,
|
|
@@ -72,12 +69,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
72
69
|
@if (isHostMode()) {
|
|
73
70
|
<mfe-layout></mfe-layout>
|
|
74
71
|
} @else {
|
|
75
|
-
|
|
72
|
+
Bu uygulama yalnızca host app içinden açılabilir
|
|
76
73
|
}
|
|
77
74
|
`,
|
|
78
|
-
imports: [ModuleFederationToolsModule,
|
|
75
|
+
imports: [ModuleFederationToolsModule, MFELayoutComponent]
|
|
79
76
|
}]
|
|
80
77
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.TranslocoService }, { type: i3.AppMenuService }, { type: i4.PrimeNGConfig }, { type: i5.MfeBridge }] });
|
|
81
78
|
|
|
82
79
|
export { AppComponent };
|
|
83
|
-
//# sourceMappingURL=aril-boot-mfe-app.component-
|
|
80
|
+
//# sourceMappingURL=aril-boot-mfe-app.component-7IjAmjz0.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aril-boot-mfe-app.component-7IjAmjz0.mjs","sources":["../../projects/aril/boot/mfe/src/app.component.ts"],"sourcesContent":["import { Component, NgZone, inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { PrimeNGConfig } from 'primeng/api';\r\n\r\nimport { ModuleFederationToolsModule, connectRouter } from '@angular-architects/module-federation-tools';\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { MfeBridge } from 'aril/boot/bridge';\r\nimport { LanguageCode, TR_TRANSLATIONS } from 'aril/boot/config/translate';\r\nimport { AppMenuService, MFELayoutComponent } from 'aril/theme/layout';\r\n\r\nimport { appName, menuItems } from './bootstrap';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\ttemplate: `\r\n\t\t@if (isHostMode()) {\r\n\t\t\t<mfe-layout></mfe-layout>\r\n\t\t} @else {\r\n\t\t\tBu uygulama yalnızca host app içinden açılabilir\r\n\t\t}\r\n\t`,\r\n\timports: [ModuleFederationToolsModule, MFELayoutComponent]\r\n})\r\nexport class AppComponent {\r\n\tconstructor(\r\n\t\tprivate readonly router: Router,\r\n\t\tprivate readonly translocoService: TranslocoService,\r\n\t\tprivate readonly appMenuService: AppMenuService,\r\n\t\tprivate readonly primeNgConfig: PrimeNGConfig,\r\n\t\tprivate readonly bridgeSvc: MfeBridge\r\n\t) {\r\n\t\tif (!this.bridgeSvc.isHostMode() && !this.bridgeSvc.hostNgZone) {\r\n\t\t\tthis.bridgeSvc.hostNgZone = inject(NgZone);\r\n\t\t}\r\n\r\n\t\tconnectRouter(this.router, true);\r\n\r\n\t\tthis.bridgeSvc.activeMF.set(appName);\r\n\t\tconst lang: LanguageCode = (localStorage.getItem('lang') as LanguageCode) ?? LanguageCode.TR;\r\n\r\n\t\tthis.translocoService.setActiveLang(lang);\r\n\r\n\t\tthis.setLocale(lang);\r\n\r\n\t\tif (!this.bridgeSvc.isHostMode()) {\r\n\t\t\tthis.appMenuService.menuConfig.set({ items: structuredClone(menuItems), prefix: appName });\r\n\t\t}\r\n\t}\r\n\r\n\tget isHostMode() {\r\n\t\treturn this.bridgeSvc.isHostMode;\r\n\t}\r\n\r\n\tsetLocale(lang: LanguageCode) {\r\n\t\tif (!lang?.length) {\r\n\t\t\tconsole.warn('No language selected');\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (lang === LanguageCode.TR) {\r\n\t\t\tthis.primeNgConfig.setTranslation(TR_TRANSLATIONS);\r\n\t\t}\r\n\t}\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1,64 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { APP_INITIALIZER, importProvidersFrom } from '@angular/core';
|
|
3
3
|
import { createCustomElement } from '@angular/elements';
|
|
4
4
|
import { createApplication } from '@angular/platform-browser';
|
|
5
|
-
import { provideAnimations } from '@angular/platform-browser/animations';
|
|
6
5
|
import { provideRouter, withComponentInputBinding, withHashLocation, withViewTransitions, withRouterConfig, RouteReuseStrategy } from '@angular/router';
|
|
7
|
-
import {
|
|
8
|
-
import { KeycloakBearerInterceptor, KeycloakAngularModule, KeycloakService } from 'keycloak-angular';
|
|
6
|
+
import { KeycloakService } from 'keycloak-angular';
|
|
9
7
|
import { MonacoEditorModule, NGX_MONACO_EDITOR_CONFIG } from 'ngx-monaco-editor-v2';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
8
|
+
import { createBaseAppConfig } from 'aril/boot/base';
|
|
9
|
+
import { bridge } from 'aril/boot/bridge';
|
|
10
|
+
import { setApiConfigOnMFEMode } from 'aril/boot/config/api';
|
|
12
11
|
import { ArilReuseStrategy } from 'aril/boot/config/apps';
|
|
13
12
|
import { getNgZone, loadPlugins } from 'aril/boot/config/plugins';
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import { authInterceptor, keycloakAuthInterceptor } from 'aril/keycloak';
|
|
17
|
-
import { provideHost, provideLocaleId } from 'aril/provider';
|
|
18
|
-
import { StyleLoaderService } from 'aril/util/loaders';
|
|
13
|
+
import { i18nFolderName } from 'aril/i18n';
|
|
14
|
+
import { provideHost } from 'aril/provider';
|
|
19
15
|
|
|
20
16
|
const appComponentLoader = async () => {
|
|
21
|
-
const { AppComponent } = await import('./aril-boot-mfe-app.component-
|
|
17
|
+
const { AppComponent } = await import('./aril-boot-mfe-app.component-7IjAmjz0.mjs');
|
|
22
18
|
return AppComponent;
|
|
23
19
|
};
|
|
24
20
|
|
|
25
|
-
function loadStyles(styleLoaderService, appName) {
|
|
26
|
-
const styles = [
|
|
27
|
-
'layout.css',
|
|
28
|
-
'ui.common.css',
|
|
29
|
-
'preloading.css',
|
|
30
|
-
'primeng.min.css',
|
|
31
|
-
'dx.fluent.saas.light.css',
|
|
32
|
-
`assets/${appName}/styles/primeflex/primeflex.min.css`,
|
|
33
|
-
`assets/${appName}/styles/primeicons/primeicons.css`
|
|
34
|
-
];
|
|
35
|
-
/*switch (appName) {
|
|
36
|
-
case Apps.HES:
|
|
37
|
-
case Apps.CTS:
|
|
38
|
-
case Apps.SIS:
|
|
39
|
-
styles.push('theme.light.lena.css');
|
|
40
|
-
break;
|
|
41
|
-
case Apps.CRM:
|
|
42
|
-
case Apps.BILLING:
|
|
43
|
-
case Apps.PAYMENT:
|
|
44
|
-
case Apps.WDM:
|
|
45
|
-
case Apps.MNG:
|
|
46
|
-
styles.push('theme.light.thor.css');
|
|
47
|
-
break;
|
|
48
|
-
case Apps.MW:
|
|
49
|
-
styles.push('theme.light.yeap.css');
|
|
50
|
-
break;
|
|
51
|
-
default:
|
|
52
|
-
styles.push('theme.light.indigo.css');
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
*/
|
|
56
|
-
styles.push('theme.light.custom.css');
|
|
57
|
-
if (bridge.isHostMode())
|
|
58
|
-
return () => Promise.resolve();
|
|
59
|
-
return () => styleLoaderService.load(styles);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
21
|
const monacoConfig = {
|
|
63
22
|
baseUrl: 'assets',
|
|
64
23
|
defaultOptions: { scrollBeyondLastLine: false },
|
|
@@ -315,23 +274,18 @@ const boot = (_appName, _routes, _menuItems) => {
|
|
|
315
274
|
menuItems = _menuItems;
|
|
316
275
|
const appBootConfig = {
|
|
317
276
|
providers: [
|
|
318
|
-
|
|
319
|
-
provideMfeBridge(),
|
|
277
|
+
createBaseAppConfig({ i18nFolder: _appName }),
|
|
320
278
|
provideHost(appName),
|
|
321
|
-
provideLocaleId(),
|
|
322
|
-
KeycloakBearerInterceptor,
|
|
323
|
-
provideHttpClient(withInterceptors([acceptLanguageInterceptor, authInterceptor, keycloakAuthInterceptor])),
|
|
324
279
|
provideRouter(_routes, withComponentInputBinding(), withHashLocation(), withViewTransitions(), withRouterConfig({ onSameUrlNavigation: 'reload' })),
|
|
325
280
|
{ provide: RouteReuseStrategy, useClass: ArilReuseStrategy },
|
|
326
|
-
importProvidersFrom(i18nModule, KeycloakAngularModule),
|
|
327
281
|
getNgZone(),
|
|
328
|
-
MessageService,
|
|
329
|
-
ConfirmationService,
|
|
330
282
|
{
|
|
331
283
|
provide: APP_INITIALIZER,
|
|
332
284
|
useFactory: (httpClient, keycloak, folderName) => {
|
|
333
|
-
|
|
334
|
-
|
|
285
|
+
if (!bridge.isHostMode()) {
|
|
286
|
+
return () => Promise.resolve();
|
|
287
|
+
}
|
|
288
|
+
const runApiInit = setApiConfigOnMFEMode(httpClient, keycloak, folderName);
|
|
335
289
|
const runLoadPlugins = loadPlugins();
|
|
336
290
|
return async () => {
|
|
337
291
|
await runApiInit();
|
|
@@ -341,16 +295,6 @@ const boot = (_appName, _routes, _menuItems) => {
|
|
|
341
295
|
multi: true,
|
|
342
296
|
deps: [HttpClient, KeycloakService, i18nFolderName]
|
|
343
297
|
},
|
|
344
|
-
{
|
|
345
|
-
provide: APP_INITIALIZER,
|
|
346
|
-
useFactory: loadStyles,
|
|
347
|
-
multi: true,
|
|
348
|
-
deps: [StyleLoaderService, i18nFolderName]
|
|
349
|
-
},
|
|
350
|
-
{
|
|
351
|
-
provide: i18nFolderName,
|
|
352
|
-
useValue: _appName
|
|
353
|
-
},
|
|
354
298
|
importProvidersFrom(MonacoEditorModule.forRoot()),
|
|
355
299
|
{ provide: NGX_MONACO_EDITOR_CONFIG, useValue: monacoConfig }
|
|
356
300
|
]
|
|
@@ -368,4 +312,4 @@ const boot = (_appName, _routes, _menuItems) => {
|
|
|
368
312
|
*/
|
|
369
313
|
|
|
370
314
|
export { appName as a, boot as b, menuItems as m };
|
|
371
|
-
//# sourceMappingURL=aril-boot-mfe-aril-boot-mfe-
|
|
315
|
+
//# sourceMappingURL=aril-boot-mfe-aril-boot-mfe-KXDpUyv7.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aril-boot-mfe-aril-boot-mfe-KXDpUyv7.mjs","sources":["../../projects/aril/boot/mfe/src/appComponentLoader.ts","../../projects/aril/boot/mfe/src/monaco.config.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};","declare const monaco: any;\r\n\r\nexport const monacoConfig = {\r\n\tbaseUrl: 'assets',\r\n\tdefaultOptions: { scrollBeyondLastLine: false },\r\n\tonMonacoLoad: () => {\r\n\t\t// JSON düzenleyici ayarları\r\n\t\tif (monaco && monaco.languages && monaco.languages.json) {\r\n\t\t\tmonaco.languages.json.jsonDefaults.setDiagnosticsOptions({\r\n\t\t\t\tvalidate: true,\r\n\t\t\t\tallowComments: false,\r\n\t\t\t\tschemas: []\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// JavaScript/TypeScript düzenleyici ayarları\r\n\t\tif (monaco && monaco.languages && monaco.languages.typescript) {\r\n\t\t\tmonaco.languages.typescript.javascriptDefaults.setCompilerOptions({\r\n\t\t\t\ttarget: monaco.languages.typescript.ScriptTarget.ES2016,\r\n\t\t\t\tallowNonTsExtensions: true,\r\n\t\t\t\tmoduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,\r\n\t\t\t\tmodule: monaco.languages.typescript.ModuleKind.CommonJS,\r\n\t\t\t\tnoEmit: true,\r\n\t\t\t\ttypeRoots: ['node_modules/@types']\r\n\t\t\t});\r\n\r\n\t\t\t// TypeScript düzenleyici ayarları\r\n\t\t\tmonaco.languages.typescript.typescriptDefaults.setCompilerOptions({\r\n\t\t\t\ttarget: monaco.languages.typescript.ScriptTarget.ES2016,\r\n\t\t\t\tallowNonTsExtensions: true,\r\n\t\t\t\tmoduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,\r\n\t\t\t\tmodule: monaco.languages.typescript.ModuleKind.CommonJS,\r\n\t\t\t\tnoEmit: true,\r\n\t\t\t\ttypeRoots: ['node_modules/@types']\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// HTML, XML ve diğer markup dilleri için ayarlar\r\n\t\tif (monaco && monaco.languages && monaco.languages.html) {\r\n\t\t\tmonaco.languages.html.htmlDefaults.setOptions({\r\n\t\t\t\tformat: {\r\n\t\t\t\t\ttabSize: 2,\r\n\t\t\t\t\tinsertSpaces: true\r\n\t\t\t\t},\r\n\t\t\t\tsuggest: {\r\n\t\t\t\t\thtml5: true\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Python için syntax highlighting ve özel formatlamalar\r\n\t\tif (monaco && monaco.languages) {\r\n\t\t\tmonaco.languages.registerDocumentFormattingEditProvider('python', {\r\n\t\t\t\tprovideDocumentFormattingEdits: function (model: any) {\r\n\t\t\t\t\tconst text = model.getValue();\r\n\t\t\t\t\treturn [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\trange: model.getFullModelRange(),\r\n\t\t\t\t\t\t\ttext: text\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t];\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// Python için özel linting kuralları\r\n\t\t\tmonaco.languages.registerCompletionItemProvider('python', {\r\n\t\t\t\tprovideCompletionItems: function (model: any, position: any) {\r\n\t\t\t\t\tconst suggestions = [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlabel: 'def',\r\n\t\t\t\t\t\t\tkind: monaco.languages.CompletionItemKind.Keyword,\r\n\t\t\t\t\t\t\tinsertText: 'def ${1:function_name}(${2:parameters}):\\n\\t${3:pass}',\r\n\t\t\t\t\t\t\tinsertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n\t\t\t\t\t\t\tdocumentation: 'Fonksiyon tanımlama'\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlabel: 'class',\r\n\t\t\t\t\t\t\tkind: monaco.languages.CompletionItemKind.Keyword,\r\n\t\t\t\t\t\t\tinsertText: 'class ${1:ClassName}:\\n\\tdef __init__(self, ${2:parameters}):\\n\\t\\t${3:pass}',\r\n\t\t\t\t\t\t\tinsertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n\t\t\t\t\t\t\tdocumentation: 'Sınıf tanımlama'\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlabel: 'if',\r\n\t\t\t\t\t\t\tkind: monaco.languages.CompletionItemKind.Keyword,\r\n\t\t\t\t\t\t\tinsertText: 'if ${1:condition}:\\n\\t${2:pass}',\r\n\t\t\t\t\t\t\tinsertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n\t\t\t\t\t\t\tdocumentation: 'If bloğu'\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlabel: 'for',\r\n\t\t\t\t\t\t\tkind: monaco.languages.CompletionItemKind.Keyword,\r\n\t\t\t\t\t\t\tinsertText: 'for ${1:item} in ${2:iterable}:\\n\\t${3:pass}',\r\n\t\t\t\t\t\t\tinsertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n\t\t\t\t\t\t\tdocumentation: 'For döngüsü'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t];\r\n\r\n\t\t\t\t\treturn { suggestions: suggestions };\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Lua için özel ayarlar\r\n\t\tif (monaco && monaco.languages) {\r\n\t\t\tmonaco.languages.registerDocumentFormattingEditProvider('lua', {\r\n\t\t\t\tprovideDocumentFormattingEdits: function (model: any) {\r\n\t\t\t\t\tconst text = model.getValue();\r\n\t\t\t\t\treturn [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\trange: model.getFullModelRange(),\r\n\t\t\t\t\t\t\ttext: text\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t];\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tmonaco.languages.registerCompletionItemProvider('lua', {\r\n\t\t\t\tprovideCompletionItems: function (model: any, position: any) {\r\n\t\t\t\t\tconst suggestions = [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlabel: 'function',\r\n\t\t\t\t\t\t\tkind: monaco.languages.CompletionItemKind.Keyword,\r\n\t\t\t\t\t\t\tinsertText: 'function ${1:name}(${2:params})\\n\\t${3:-- body}\\nend',\r\n\t\t\t\t\t\t\tinsertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n\t\t\t\t\t\t\tdocumentation: 'Fonksiyon tanımlama'\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlabel: 'if',\r\n\t\t\t\t\t\t\tkind: monaco.languages.CompletionItemKind.Keyword,\r\n\t\t\t\t\t\t\tinsertText: 'if ${1:condition} then\\n\\t${2:-- body}\\nend',\r\n\t\t\t\t\t\t\tinsertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n\t\t\t\t\t\t\tdocumentation: 'If bloğu'\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlabel: 'for',\r\n\t\t\t\t\t\t\tkind: monaco.languages.CompletionItemKind.Keyword,\r\n\t\t\t\t\t\t\tinsertText: 'for ${1:i}=${2:1},${3:10} do\\n\\t${4:-- body}\\nend',\r\n\t\t\t\t\t\t\tinsertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n\t\t\t\t\t\t\tdocumentation: 'For döngüsü'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t];\r\n\r\n\t\t\t\t\treturn { suggestions: suggestions };\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// Java için özel ayarlar\r\n\t\tif (monaco && monaco.languages) {\r\n\t\t\tmonaco.languages.registerDocumentFormattingEditProvider('java', {\r\n\t\t\t\tprovideDocumentFormattingEdits: function (model: any) {\r\n\t\t\t\t\tconst text = model.getValue();\r\n\t\t\t\t\t// Java formatlaması\r\n\t\t\t\t\treturn [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\trange: model.getFullModelRange(),\r\n\t\t\t\t\t\t\ttext: text // Formatlanmış metin\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t];\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// Java için özel öneriler\r\n\t\t\tmonaco.languages.registerCompletionItemProvider('java', {\r\n\t\t\t\tprovideCompletionItems: function (model: any, position: any) {\r\n\t\t\t\t\tconst suggestions = [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlabel: 'class',\r\n\t\t\t\t\t\t\tkind: monaco.languages.CompletionItemKind.Keyword,\r\n\t\t\t\t\t\t\tinsertText: 'public class ${1:ClassName} {\\n\\t${2}\\n}',\r\n\t\t\t\t\t\t\tinsertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n\t\t\t\t\t\t\tdocumentation: 'Sınıf tanımlama'\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlabel: 'main',\r\n\t\t\t\t\t\t\tkind: monaco.languages.CompletionItemKind.Snippet,\r\n\t\t\t\t\t\t\tinsertText: 'public static void main(String[] args) {\\n\\t${1}\\n}',\r\n\t\t\t\t\t\t\tinsertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n\t\t\t\t\t\t\tdocumentation: 'Main metodu'\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlabel: 'sout',\r\n\t\t\t\t\t\t\tkind: monaco.languages.CompletionItemKind.Snippet,\r\n\t\t\t\t\t\t\tinsertText: 'System.out.println(${1});',\r\n\t\t\t\t\t\t\tinsertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n\t\t\t\t\t\t\tdocumentation: 'Konsola yazdırma'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t];\r\n\r\n\t\t\t\t\treturn { suggestions: suggestions };\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// HTML için özel ayarlar\r\n\t\tif (monaco && monaco.languages) {\r\n\t\t\tmonaco.languages.registerCompletionItemProvider('html', {\r\n\t\t\t\tprovideCompletionItems: function (model: any, position: any) {\r\n\t\t\t\t\tconst suggestions = [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlabel: 'html5',\r\n\t\t\t\t\t\t\tkind: monaco.languages.CompletionItemKind.Snippet,\r\n\t\t\t\t\t\t\tinsertText:\r\n\t\t\t\t\t\t\t\t'<!DOCTYPE html>\\n<html lang=\"en\">\\n<head>\\n\\t<meta charset=\"UTF-8\">\\n\\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\\n\\t<title>${1:Document}</title>\\n</head>\\n<body>\\n\\t${2}\\n</body>\\n</html>',\r\n\t\t\t\t\t\t\tinsertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n\t\t\t\t\t\t\tdocumentation: 'HTML5 taslağı'\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlabel: 'div',\r\n\t\t\t\t\t\t\tkind: monaco.languages.CompletionItemKind.Snippet,\r\n\t\t\t\t\t\t\tinsertText: '<div class=\"${1:className}\">\\n\\t${2}\\n</div>',\r\n\t\t\t\t\t\t\tinsertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n\t\t\t\t\t\t\tdocumentation: 'Div elementi'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t];\r\n\r\n\t\t\t\t\treturn { suggestions: suggestions };\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// XML için özel ayarlar\r\n\t\tif (monaco && monaco.languages) {\r\n\t\t\tmonaco.languages.registerCompletionItemProvider('xml', {\r\n\t\t\t\tprovideCompletionItems: function (model: any, position: any) {\r\n\t\t\t\t\tconst suggestions = [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tlabel: 'xml',\r\n\t\t\t\t\t\t\tkind: monaco.languages.CompletionItemKind.Snippet,\r\n\t\t\t\t\t\t\tinsertText: '<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n<${1:root}>\\n\\t${2}\\n</${1:root}>',\r\n\t\t\t\t\t\t\tinsertTextRules: monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\r\n\t\t\t\t\t\t\tdocumentation: 'XML taslağı'\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t];\r\n\r\n\t\t\t\t\treturn { suggestions: suggestions };\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t// JSON için özel ayarlar ve şema doğrulama\r\n\t\tif (monaco && monaco.languages && monaco.languages.json) {\r\n\t\t\tmonaco.languages.json.jsonDefaults.setDiagnosticsOptions({\r\n\t\t\t\tvalidate: true,\r\n\t\t\t\tallowComments: false,\r\n\t\t\t\tschemas: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\turi: 'http://myserver/schema/package.schema.json',\r\n\t\t\t\t\t\tfileMatch: ['package.json'],\r\n\t\t\t\t\t\tschema: {\r\n\t\t\t\t\t\t\ttype: 'object',\r\n\t\t\t\t\t\t\tproperties: {\r\n\t\t\t\t\t\t\t\tname: { type: 'string' },\r\n\t\t\t\t\t\t\t\tversion: { type: 'string' },\r\n\t\t\t\t\t\t\t\tdependencies: {\r\n\t\t\t\t\t\t\t\t\ttype: 'object'\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n};\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { APP_INITIALIZER, ApplicationConfig, importProvidersFrom } from '@angular/core';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { createApplication } from '@angular/platform-browser';\r\nimport {\r\n\tRouteReuseStrategy,\r\n\tRoutes,\r\n\tprovideRouter,\r\n\twithComponentInputBinding,\r\n\twithHashLocation,\r\n\twithRouterConfig,\r\n\twithViewTransitions\r\n} from '@angular/router';\r\n\r\nimport { KeycloakService } from 'keycloak-angular';\r\nimport { MonacoEditorModule, NGX_MONACO_EDITOR_CONFIG } from 'ngx-monaco-editor-v2';\r\n\r\nimport { createBaseAppConfig } from 'aril/boot/base';\r\nimport { bridge } from 'aril/boot/bridge';\r\nimport { setApiConfigOnMFEMode } from 'aril/boot/config/api';\r\nimport { Apps, ArilReuseStrategy, PluginMenuItem } from 'aril/boot/config/apps';\r\nimport { getNgZone, loadPlugins } from 'aril/boot/config/plugins';\r\nimport { i18nFolderName } from 'aril/i18n';\r\nimport { provideHost } from 'aril/provider';\r\n\r\nimport { appComponentLoader } from './appComponentLoader';\r\nimport { monacoConfig } from './monaco.config';\r\n\r\nexport var appName: Apps;\r\nexport var menuItems: PluginMenuItem[] = [];\r\n\r\nexport const boot = (_appName: Apps, _routes: Routes, _menuItems: PluginMenuItem[]) => {\r\n\tif (customElements.get(`app-${_appName}`)) return;\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\tcreateBaseAppConfig({ i18nFolder: _appName }),\r\n\t\t\tprovideHost(appName),\r\n\t\t\tprovideRouter(\r\n\t\t\t\t_routes,\r\n\t\t\t\twithComponentInputBinding(),\r\n\t\t\t\twithHashLocation(),\r\n\t\t\t\twithViewTransitions(),\r\n\t\t\t\twithRouterConfig({ onSameUrlNavigation: 'reload' })\r\n\t\t\t),\r\n\t\t\t{ provide: RouteReuseStrategy, useClass: ArilReuseStrategy },\r\n\t\t\tgetNgZone(),\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: (httpClient: HttpClient, keycloak: KeycloakService, folderName: typeof i18nFolderName) => {\r\n\t\t\t\t\tif (!bridge.isHostMode()) {\r\n\t\t\t\t\t\treturn () => Promise.resolve();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tconst runApiInit = setApiConfigOnMFEMode(httpClient, keycloak, folderName as unknown as Apps);\r\n\t\t\t\t\tconst runLoadPlugins = loadPlugins();\r\n\t\t\t\t\treturn async () => {\r\n\t\t\t\t\t\tawait runApiInit();\r\n\t\t\t\t\t\trunLoadPlugins();\r\n\t\t\t\t\t};\r\n\t\t\t\t},\r\n\t\t\t\tmulti: true,\r\n\t\t\t\tdeps: [HttpClient, KeycloakService, i18nFolderName]\r\n\t\t\t},\r\n\t\t\timportProvidersFrom(MonacoEditorModule.forRoot()),\r\n\t\t\t{ provide: NGX_MONACO_EDITOR_CONFIG, useValue: monacoConfig }\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\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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"}
|