aril 1.1.96 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/boot/base/index.d.ts +1 -0
  2. package/boot/base/src/create-base-app-config.d.ts +12 -0
  3. package/boot/bridge/index.d.ts +2 -0
  4. package/boot/bridge/src/mfe-bridge.d.ts +33 -0
  5. package/boot/bridge/src/provide-mfe-bridge.d.ts +1 -0
  6. package/boot/config/api/index.d.ts +1 -0
  7. package/boot/config/api/src/api.service.d.ts +2 -2
  8. package/boot/config/api/src/interfaces.d.ts +1 -19
  9. package/boot/config/apps/src/apps.service.d.ts +7 -4
  10. package/boot/config/plugins/src/getNgZone.d.ts +1 -1
  11. package/boot/config/plugins/src/interfaces.d.ts +0 -37
  12. package/boot/host/src/app.component.d.ts +5 -3
  13. package/boot/mfe/src/app.component.d.ts +4 -2
  14. package/esm2022/boot/base/aril-boot-base.mjs +5 -0
  15. package/esm2022/boot/base/index.mjs +2 -0
  16. package/esm2022/boot/base/src/create-base-app-config.mjs +30 -0
  17. package/esm2022/boot/bridge/aril-boot-bridge.mjs +5 -0
  18. package/esm2022/boot/bridge/index.mjs +3 -0
  19. package/esm2022/boot/bridge/src/mfe-bridge.mjs +59 -0
  20. package/esm2022/boot/bridge/src/provide-mfe-bridge.mjs +6 -0
  21. package/esm2022/boot/config/api/index.mjs +1 -1
  22. package/esm2022/boot/config/api/src/api.service.mjs +14 -9
  23. package/esm2022/boot/config/api/src/interfaces.mjs +2 -21
  24. package/esm2022/boot/config/apps/src/apps.service.mjs +13 -16
  25. package/esm2022/boot/config/plugins/src/getNgZone.mjs +4 -3
  26. package/esm2022/boot/config/plugins/src/interfaces.mjs +1 -60
  27. package/esm2022/boot/config/plugins/src/plugins.service.mjs +9 -21
  28. package/esm2022/boot/host/src/app.component.mjs +11 -10
  29. package/esm2022/boot/host/src/bootstrap.mjs +9 -22
  30. package/esm2022/boot/mfe/src/app.component.mjs +20 -17
  31. package/esm2022/boot/mfe/src/bootstrap.mjs +13 -31
  32. package/esm2022/boot/pages/aril-boot-pages.mjs +5 -0
  33. package/esm2022/boot/pages/index.mjs +3 -0
  34. package/esm2022/{util/custom_pages → boot/pages}/src/forbidden.component.mjs +1 -1
  35. package/esm2022/{util/custom_pages → boot/pages}/src/notFound.component.mjs +1 -1
  36. package/esm2022/keycloak/src/auth.interceptor.mjs +15 -78
  37. package/esm2022/provider/src/prodiveHost.mjs +5 -8
  38. package/esm2022/provider/src/prodiveHostRouter.mjs +4 -3
  39. package/esm2022/provider/src/provideHostKeycloak.mjs +10 -2
  40. package/esm2022/theme/layout/app/breadcrumb/app.breadcrumb.component.mjs +4 -3
  41. package/esm2022/theme/layout/app/expandableMenu/expandable-menu.component.mjs +3 -4
  42. package/esm2022/theme/layout/app/general-search/general-search.component.mjs +3 -2
  43. package/esm2022/theme/layout/app/history/history.service.mjs +3 -2
  44. package/esm2022/theme/layout/app/layout/app.layout.component.mjs +1 -2
  45. package/esm2022/theme/layout/app/site-map/site-map-sidebar.component.mjs +5 -4
  46. package/esm2022/theme/layout/app/static-sidebar/static-sidebar.component.mjs +3 -4
  47. package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +7 -4
  48. package/esm2022/ui/form/src/form.component.mjs +22 -4
  49. package/esm2022/ui-business/assetPicker/src/asset-picker.component.mjs +14 -2
  50. package/esm2022/util/directives/src/detail-page-customization/detail-page-customization.directive.mjs +4 -3
  51. package/esm2022/util/pipes/src/translate-json/translate-json.pipe.mjs +3 -4
  52. package/esm2022/util/sync-active-tab-route/src/sync-active-tab-route.directive.mjs +1 -1
  53. package/fesm2022/{aril-app.component-hxaLgwmC.mjs → aril-app.component-wxP3y8dg.mjs} +22 -22
  54. package/fesm2022/aril-app.component-wxP3y8dg.mjs.map +1 -0
  55. package/fesm2022/aril-boot-base.mjs +37 -0
  56. package/fesm2022/aril-boot-base.mjs.map +1 -0
  57. package/fesm2022/aril-boot-bridge.mjs +70 -0
  58. package/fesm2022/aril-boot-bridge.mjs.map +1 -0
  59. package/fesm2022/aril-boot-config-api.mjs +12 -27
  60. package/fesm2022/aril-boot-config-api.mjs.map +1 -1
  61. package/fesm2022/aril-boot-config-apps.mjs +12 -15
  62. package/fesm2022/aril-boot-config-apps.mjs.map +1 -1
  63. package/fesm2022/aril-boot-config-plugins.mjs +10 -81
  64. package/fesm2022/aril-boot-config-plugins.mjs.map +1 -1
  65. package/fesm2022/aril-boot-host.mjs +17 -29
  66. package/fesm2022/aril-boot-host.mjs.map +1 -1
  67. package/fesm2022/{aril-boot-mfe-app.component-s1a-tkOD.mjs → aril-boot-mfe-app.component-7IjAmjz0.mjs} +22 -22
  68. package/fesm2022/aril-boot-mfe-app.component-7IjAmjz0.mjs.map +1 -0
  69. package/fesm2022/{aril-boot-mfe-aril-boot-mfe-wLTqwDtz.mjs → aril-boot-mfe-aril-boot-mfe-KXDpUyv7.mjs} +15 -69
  70. package/fesm2022/aril-boot-mfe-aril-boot-mfe-KXDpUyv7.mjs.map +1 -0
  71. package/fesm2022/aril-boot-mfe.mjs +3 -6
  72. package/fesm2022/aril-boot-mfe.mjs.map +1 -1
  73. package/fesm2022/{aril-util-custom_pages.mjs → aril-boot-pages.mjs} +1 -1
  74. package/fesm2022/aril-boot-pages.mjs.map +1 -0
  75. package/fesm2022/aril-keycloak.mjs +14 -77
  76. package/fesm2022/aril-keycloak.mjs.map +1 -1
  77. package/fesm2022/aril-provider.mjs +15 -10
  78. package/fesm2022/aril-provider.mjs.map +1 -1
  79. package/fesm2022/aril-theme-layout.mjs +15 -17
  80. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  81. package/fesm2022/aril-ui-business-assetPicker.mjs +13 -1
  82. package/fesm2022/aril-ui-business-assetPicker.mjs.map +1 -1
  83. package/fesm2022/aril-ui-form.mjs +20 -3
  84. package/fesm2022/aril-ui-form.mjs.map +1 -1
  85. package/fesm2022/aril-util-directives.mjs +3 -2
  86. package/fesm2022/aril-util-directives.mjs.map +1 -1
  87. package/fesm2022/aril-util-pipes.mjs +2 -3
  88. package/fesm2022/aril-util-pipes.mjs.map +1 -1
  89. package/fesm2022/aril-util-sync-active-tab-route.mjs.map +1 -1
  90. package/fesm2022/aril.mjs +24 -87
  91. package/fesm2022/aril.mjs.map +1 -1
  92. package/package.json +111 -105
  93. package/provider/src/prodiveHost.d.ts +2 -2
  94. package/theme/layout/app/breadcrumb/app.breadcrumb.component.ts +3 -2
  95. package/theme/layout/app/expandableMenu/expandable-menu.component.d.ts +0 -2
  96. package/theme/layout/app/expandableMenu/expandable-menu.component.ts +373 -374
  97. package/theme/layout/app/general-search/general-search.component.ts +2 -1
  98. package/theme/layout/app/history/history.service.ts +2 -1
  99. package/theme/layout/app/layout/app.layout.component.d.ts +0 -1
  100. package/theme/layout/app/layout/app.layout.component.ts +0 -1
  101. package/theme/layout/app/site-map/site-map-sidebar.component.html +121 -121
  102. package/theme/layout/app/site-map/site-map-sidebar.component.ts +3 -2
  103. package/theme/layout/app/static-sidebar/static-sidebar.component.ts +336 -337
  104. package/theme/layout/app/topbar/app.topbar.component.ts +6 -3
  105. package/theme/styles/layout/_fonts.scss +1 -13
  106. package/ui/form/src/form.component.d.ts +4 -1
  107. package/boot/mfe/src/loadStyles.d.ts +0 -3
  108. package/esm2022/boot/mfe/src/loadStyles.mjs +0 -37
  109. package/esm2022/util/custom_pages/aril-util-custom_pages.mjs +0 -5
  110. package/esm2022/util/custom_pages/index.mjs +0 -3
  111. package/esm2022/util/loaders/aril-util-loaders.mjs +0 -5
  112. package/esm2022/util/loaders/index.mjs +0 -2
  113. package/esm2022/util/loaders/style/style.loader.service.mjs +0 -61
  114. package/fesm2022/aril-app.component-hxaLgwmC.mjs.map +0 -1
  115. package/fesm2022/aril-boot-mfe-app.component-s1a-tkOD.mjs.map +0 -1
  116. package/fesm2022/aril-boot-mfe-aril-boot-mfe-wLTqwDtz.mjs.map +0 -1
  117. package/fesm2022/aril-util-custom_pages.mjs.map +0 -1
  118. package/fesm2022/aril-util-loaders.mjs +0 -68
  119. package/fesm2022/aril-util-loaders.mjs.map +0 -1
  120. package/theme/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  121. package/theme/fonts/Inter/Inter_18pt-BlackItalic.ttf +0 -0
  122. package/theme/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  123. package/theme/fonts/Inter/Inter_18pt-BoldItalic.ttf +0 -0
  124. package/theme/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  125. package/theme/fonts/Inter/Inter_18pt-ExtraBoldItalic.ttf +0 -0
  126. package/theme/fonts/Inter/Inter_18pt-ExtraLight.ttf +0 -0
  127. package/theme/fonts/Inter/Inter_18pt-ExtraLightItalic.ttf +0 -0
  128. package/theme/fonts/Inter/Inter_18pt-Italic.ttf +0 -0
  129. package/theme/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  130. package/theme/fonts/Inter/Inter_18pt-LightItalic.ttf +0 -0
  131. package/theme/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  132. package/theme/fonts/Inter/Inter_18pt-MediumItalic.ttf +0 -0
  133. package/theme/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  134. package/theme/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  135. package/theme/fonts/Inter/Inter_18pt-SemiBoldItalic.ttf +0 -0
  136. package/theme/fonts/Inter/Inter_18pt-Thin.ttf +0 -0
  137. package/theme/fonts/Inter/Inter_18pt-ThinItalic.ttf +0 -0
  138. package/theme/fonts/Inter/Inter_24pt-Black.ttf +0 -0
  139. package/theme/fonts/Inter/Inter_24pt-BlackItalic.ttf +0 -0
  140. package/theme/fonts/Inter/Inter_24pt-Bold.ttf +0 -0
  141. package/theme/fonts/Inter/Inter_24pt-BoldItalic.ttf +0 -0
  142. package/theme/fonts/Inter/Inter_24pt-ExtraBold.ttf +0 -0
  143. package/theme/fonts/Inter/Inter_24pt-ExtraBoldItalic.ttf +0 -0
  144. package/theme/fonts/Inter/Inter_24pt-ExtraLight.ttf +0 -0
  145. package/theme/fonts/Inter/Inter_24pt-ExtraLightItalic.ttf +0 -0
  146. package/theme/fonts/Inter/Inter_24pt-Italic.ttf +0 -0
  147. package/theme/fonts/Inter/Inter_24pt-Light.ttf +0 -0
  148. package/theme/fonts/Inter/Inter_24pt-LightItalic.ttf +0 -0
  149. package/theme/fonts/Inter/Inter_24pt-Medium.ttf +0 -0
  150. package/theme/fonts/Inter/Inter_24pt-MediumItalic.ttf +0 -0
  151. package/theme/fonts/Inter/Inter_24pt-Regular.ttf +0 -0
  152. package/theme/fonts/Inter/Inter_24pt-SemiBold.ttf +0 -0
  153. package/theme/fonts/Inter/Inter_24pt-SemiBoldItalic.ttf +0 -0
  154. package/theme/fonts/Inter/Inter_24pt-Thin.ttf +0 -0
  155. package/theme/fonts/Inter/Inter_24pt-ThinItalic.ttf +0 -0
  156. package/theme/fonts/Inter/Inter_28pt-Black.ttf +0 -0
  157. package/theme/fonts/Inter/Inter_28pt-BlackItalic.ttf +0 -0
  158. package/theme/fonts/Inter/Inter_28pt-Bold.ttf +0 -0
  159. package/theme/fonts/Inter/Inter_28pt-BoldItalic.ttf +0 -0
  160. package/theme/fonts/Inter/Inter_28pt-ExtraBold.ttf +0 -0
  161. package/theme/fonts/Inter/Inter_28pt-ExtraBoldItalic.ttf +0 -0
  162. package/theme/fonts/Inter/Inter_28pt-ExtraLight.ttf +0 -0
  163. package/theme/fonts/Inter/Inter_28pt-ExtraLightItalic.ttf +0 -0
  164. package/theme/fonts/Inter/Inter_28pt-Italic.ttf +0 -0
  165. package/theme/fonts/Inter/Inter_28pt-Light.ttf +0 -0
  166. package/theme/fonts/Inter/Inter_28pt-LightItalic.ttf +0 -0
  167. package/theme/fonts/Inter/Inter_28pt-Medium.ttf +0 -0
  168. package/theme/fonts/Inter/Inter_28pt-MediumItalic.ttf +0 -0
  169. package/theme/fonts/Inter/Inter_28pt-Regular.ttf +0 -0
  170. package/theme/fonts/Inter/Inter_28pt-SemiBold.ttf +0 -0
  171. package/theme/fonts/Inter/Inter_28pt-SemiBoldItalic.ttf +0 -0
  172. package/theme/fonts/Inter/Inter_28pt-Thin.ttf +0 -0
  173. package/theme/fonts/Inter/Inter_28pt-ThinItalic.ttf +0 -0
  174. package/theme/fonts/Inter/woff/Inter18pt-Black.woff +0 -0
  175. package/theme/fonts/Inter/woff/Inter18pt-Black.woff2 +0 -0
  176. package/theme/fonts/Inter/woff/Inter18pt-BlackItalic.woff +0 -0
  177. package/theme/fonts/Inter/woff/Inter18pt-BlackItalic.woff2 +0 -0
  178. package/theme/fonts/Inter/woff/Inter18pt-BoldItalic.woff +0 -0
  179. package/theme/fonts/Inter/woff/Inter18pt-BoldItalic.woff2 +0 -0
  180. package/theme/fonts/Inter/woff/Inter18pt-ExtraBold.woff +0 -0
  181. package/theme/fonts/Inter/woff/Inter18pt-ExtraBold.woff2 +0 -0
  182. package/theme/fonts/Inter/woff/Inter18pt-ExtraBoldItalic.woff +0 -0
  183. package/theme/fonts/Inter/woff/Inter18pt-ExtraBoldItalic.woff2 +0 -0
  184. package/theme/fonts/Inter/woff/Inter18pt-ExtraLight.woff +0 -0
  185. package/theme/fonts/Inter/woff/Inter18pt-ExtraLight.woff2 +0 -0
  186. package/theme/fonts/Inter/woff/Inter18pt-ExtraLightItalic.woff +0 -0
  187. package/theme/fonts/Inter/woff/Inter18pt-ExtraLightItalic.woff2 +0 -0
  188. package/theme/fonts/Inter/woff/Inter18pt-Italic.woff +0 -0
  189. package/theme/fonts/Inter/woff/Inter18pt-Italic.woff2 +0 -0
  190. package/theme/fonts/Inter/woff/Inter18pt-Light.woff +0 -0
  191. package/theme/fonts/Inter/woff/Inter18pt-Light.woff2 +0 -0
  192. package/theme/fonts/Inter/woff/Inter18pt-LightItalic.woff +0 -0
  193. package/theme/fonts/Inter/woff/Inter18pt-LightItalic.woff2 +0 -0
  194. package/theme/fonts/Inter/woff/Inter18pt-MediumItalic.woff +0 -0
  195. package/theme/fonts/Inter/woff/Inter18pt-MediumItalic.woff2 +0 -0
  196. package/theme/fonts/Inter/woff/Inter18pt-SemiBoldItalic.woff +0 -0
  197. package/theme/fonts/Inter/woff/Inter18pt-SemiBoldItalic.woff2 +0 -0
  198. package/theme/fonts/Inter/woff/Inter18pt-Thin.woff +0 -0
  199. package/theme/fonts/Inter/woff/Inter18pt-Thin.woff2 +0 -0
  200. package/theme/fonts/Inter/woff/Inter18pt-ThinItalic.woff +0 -0
  201. package/theme/fonts/Inter/woff/Inter18pt-ThinItalic.woff2 +0 -0
  202. package/theme/fonts/Inter/woff/Inter24pt-Black.woff +0 -0
  203. package/theme/fonts/Inter/woff/Inter24pt-Black.woff2 +0 -0
  204. package/theme/fonts/Inter/woff/Inter24pt-BlackItalic.woff +0 -0
  205. package/theme/fonts/Inter/woff/Inter24pt-BlackItalic.woff2 +0 -0
  206. package/theme/fonts/Inter/woff/Inter24pt-Bold.woff +0 -0
  207. package/theme/fonts/Inter/woff/Inter24pt-Bold.woff2 +0 -0
  208. package/theme/fonts/Inter/woff/Inter24pt-BoldItalic.woff +0 -0
  209. package/theme/fonts/Inter/woff/Inter24pt-BoldItalic.woff2 +0 -0
  210. package/theme/fonts/Inter/woff/Inter24pt-ExtraBold.woff +0 -0
  211. package/theme/fonts/Inter/woff/Inter24pt-ExtraBold.woff2 +0 -0
  212. package/theme/fonts/Inter/woff/Inter24pt-ExtraBoldItalic.woff +0 -0
  213. package/theme/fonts/Inter/woff/Inter24pt-ExtraBoldItalic.woff2 +0 -0
  214. package/theme/fonts/Inter/woff/Inter24pt-ExtraLight.woff +0 -0
  215. package/theme/fonts/Inter/woff/Inter24pt-ExtraLight.woff2 +0 -0
  216. package/theme/fonts/Inter/woff/Inter24pt-ExtraLightItalic.woff +0 -0
  217. package/theme/fonts/Inter/woff/Inter24pt-ExtraLightItalic.woff2 +0 -0
  218. package/theme/fonts/Inter/woff/Inter24pt-Italic.woff +0 -0
  219. package/theme/fonts/Inter/woff/Inter24pt-Italic.woff2 +0 -0
  220. package/theme/fonts/Inter/woff/Inter24pt-LightItalic.woff +0 -0
  221. package/theme/fonts/Inter/woff/Inter24pt-LightItalic.woff2 +0 -0
  222. package/theme/fonts/Inter/woff/Inter24pt-Medium.woff +0 -0
  223. package/theme/fonts/Inter/woff/Inter24pt-Medium.woff2 +0 -0
  224. package/theme/fonts/Inter/woff/Inter24pt-MediumItalic.woff +0 -0
  225. package/theme/fonts/Inter/woff/Inter24pt-MediumItalic.woff2 +0 -0
  226. package/theme/fonts/Inter/woff/Inter24pt-Regular.woff +0 -0
  227. package/theme/fonts/Inter/woff/Inter24pt-Regular.woff2 +0 -0
  228. package/theme/fonts/Inter/woff/Inter24pt-SemiBold.woff +0 -0
  229. package/theme/fonts/Inter/woff/Inter24pt-SemiBold.woff2 +0 -0
  230. package/theme/fonts/Inter/woff/Inter24pt-SemiBoldItalic.woff +0 -0
  231. package/theme/fonts/Inter/woff/Inter24pt-SemiBoldItalic.woff2 +0 -0
  232. package/theme/fonts/Inter/woff/Inter24pt-Thin.woff +0 -0
  233. package/theme/fonts/Inter/woff/Inter24pt-Thin.woff2 +0 -0
  234. package/theme/fonts/Inter/woff/Inter24pt-ThinItalic.woff +0 -0
  235. package/theme/fonts/Inter/woff/Inter24pt-ThinItalic.woff2 +0 -0
  236. package/theme/fonts/Inter/woff/Inter28pt-Black.woff +0 -0
  237. package/theme/fonts/Inter/woff/Inter28pt-Black.woff2 +0 -0
  238. package/theme/fonts/Inter/woff/Inter28pt-BlackItalic.woff +0 -0
  239. package/theme/fonts/Inter/woff/Inter28pt-BlackItalic.woff2 +0 -0
  240. package/theme/fonts/Inter/woff/Inter28pt-Bold.woff +0 -0
  241. package/theme/fonts/Inter/woff/Inter28pt-Bold.woff2 +0 -0
  242. package/theme/fonts/Inter/woff/Inter28pt-BoldItalic.woff +0 -0
  243. package/theme/fonts/Inter/woff/Inter28pt-BoldItalic.woff2 +0 -0
  244. package/theme/fonts/Inter/woff/Inter28pt-ExtraBoldItalic.woff +0 -0
  245. package/theme/fonts/Inter/woff/Inter28pt-ExtraBoldItalic.woff2 +0 -0
  246. package/theme/fonts/Inter/woff/Inter28pt-ExtraLightItalic.woff +0 -0
  247. package/theme/fonts/Inter/woff/Inter28pt-ExtraLightItalic.woff2 +0 -0
  248. package/theme/fonts/Inter/woff/Inter28pt-Italic.woff +0 -0
  249. package/theme/fonts/Inter/woff/Inter28pt-Italic.woff2 +0 -0
  250. package/theme/fonts/Inter/woff/Inter28pt-Light.woff +0 -0
  251. package/theme/fonts/Inter/woff/Inter28pt-Light.woff2 +0 -0
  252. package/theme/fonts/Inter/woff/Inter28pt-LightItalic.woff +0 -0
  253. package/theme/fonts/Inter/woff/Inter28pt-LightItalic.woff2 +0 -0
  254. package/theme/fonts/Inter/woff/Inter28pt-Medium.woff +0 -0
  255. package/theme/fonts/Inter/woff/Inter28pt-Medium.woff2 +0 -0
  256. package/theme/fonts/Inter/woff/Inter28pt-MediumItalic.woff +0 -0
  257. package/theme/fonts/Inter/woff/Inter28pt-MediumItalic.woff2 +0 -0
  258. package/theme/fonts/Inter/woff/Inter28pt-Regular.woff +0 -0
  259. package/theme/fonts/Inter/woff/Inter28pt-Regular.woff2 +0 -0
  260. package/theme/fonts/Inter/woff/Inter28pt-SemiBold.woff +0 -0
  261. package/theme/fonts/Inter/woff/Inter28pt-SemiBold.woff2 +0 -0
  262. package/theme/fonts/Inter/woff/Inter28pt-Thin.woff +0 -0
  263. package/theme/fonts/Inter/woff/Inter28pt-Thin.woff2 +0 -0
  264. package/theme/fonts/Inter/woff/Inter28pt-ThinItalic.woff +0 -0
  265. package/theme/fonts/Inter/woff/Inter28pt-ThinItalic.woff2 +0 -0
  266. package/util/loaders/index.d.ts +0 -1
  267. package/util/loaders/style/style.loader.service.d.ts +0 -13
  268. /package/{util/custom_pages → boot/pages}/index.d.ts +0 -0
  269. /package/{util/custom_pages → boot/pages}/src/forbidden.component.d.ts +0 -0
  270. /package/{util/custom_pages → boot/pages}/src/notFound.component.d.ts +0 -0
@@ -1,63 +1,23 @@
1
- import { provideHttpClient, withInterceptors, HttpClient } from '@angular/common/http';
2
- import { importProvidersFrom, APP_INITIALIZER } from '@angular/core';
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 { MessageService, ConfirmationService } from 'primeng/api';
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 { setApiConfigOnMFEMode, loadApiConfigs } from 'aril/boot/config/api';
8
+ import { createBaseAppConfig } from 'aril/boot/base';
9
+ import { bridge } from 'aril/boot/bridge';
10
+ import { setApiConfigOnMFEMode } from 'aril/boot/config/api';
11
11
  import { ArilReuseStrategy } from 'aril/boot/config/apps';
12
12
  import { getNgZone, loadPlugins } from 'aril/boot/config/plugins';
13
- import { acceptLanguageInterceptor } from 'aril/http';
14
- import { i18nModule, i18nFolderName } from 'aril/i18n';
15
- import { authInterceptor, keycloakAuthInterceptor } from 'aril/keycloak';
16
- import { provideHost, provideLocaleId } from 'aril/provider';
17
- import { StyleLoaderService } from 'aril/util/loaders';
13
+ import { i18nFolderName } from 'aril/i18n';
14
+ import { provideHost } from 'aril/provider';
18
15
 
19
16
  const appComponentLoader = async () => {
20
- const { AppComponent } = await import('./aril-boot-mfe-app.component-s1a-tkOD.mjs');
17
+ const { AppComponent } = await import('./aril-boot-mfe-app.component-7IjAmjz0.mjs');
21
18
  return AppComponent;
22
19
  };
23
20
 
24
- function loadStyles(styleLoaderService, appName) {
25
- const styles = [
26
- 'layout.css',
27
- 'ui.common.css',
28
- 'preloading.css',
29
- 'primeng.min.css',
30
- 'dx.fluent.saas.light.css',
31
- `assets/${appName}/styles/primeflex/primeflex.min.css`,
32
- `assets/${appName}/styles/primeicons/primeicons.css`
33
- ];
34
- /*switch (appName) {
35
- case Apps.HES:
36
- case Apps.CTS:
37
- case Apps.SIS:
38
- styles.push('theme.light.lena.css');
39
- break;
40
- case Apps.CRM:
41
- case Apps.BILLING:
42
- case Apps.PAYMENT:
43
- case Apps.WDM:
44
- case Apps.MNG:
45
- styles.push('theme.light.thor.css');
46
- break;
47
- case Apps.MW:
48
- styles.push('theme.light.yeap.css');
49
- break;
50
- default:
51
- styles.push('theme.light.indigo.css');
52
-
53
- }
54
- */
55
- styles.push('theme.light.custom.css');
56
- if (globalThis.isHostMode)
57
- return () => Promise.resolve();
58
- return () => styleLoaderService.load(styles);
59
- }
60
-
61
21
  const monacoConfig = {
62
22
  baseUrl: 'assets',
63
23
  defaultOptions: { scrollBeyondLastLine: false },
@@ -314,22 +274,18 @@ const boot = (_appName, _routes, _menuItems) => {
314
274
  menuItems = _menuItems;
315
275
  const appBootConfig = {
316
276
  providers: [
317
- provideAnimations(),
277
+ createBaseAppConfig({ i18nFolder: _appName }),
318
278
  provideHost(appName),
319
- provideLocaleId(),
320
- KeycloakBearerInterceptor,
321
- provideHttpClient(withInterceptors([acceptLanguageInterceptor, authInterceptor, keycloakAuthInterceptor])),
322
279
  provideRouter(_routes, withComponentInputBinding(), withHashLocation(), withViewTransitions(), withRouterConfig({ onSameUrlNavigation: 'reload' })),
323
280
  { provide: RouteReuseStrategy, useClass: ArilReuseStrategy },
324
- importProvidersFrom(i18nModule, KeycloakAngularModule),
325
281
  getNgZone(),
326
- MessageService,
327
- ConfirmationService,
328
282
  {
329
283
  provide: APP_INITIALIZER,
330
284
  useFactory: (httpClient, keycloak, folderName) => {
331
- const apiFactory = globalThis.isHostMode ? setApiConfigOnMFEMode : loadApiConfigs;
332
- const runApiInit = apiFactory(httpClient, keycloak, folderName);
285
+ if (!bridge.isHostMode()) {
286
+ return () => Promise.resolve();
287
+ }
288
+ const runApiInit = setApiConfigOnMFEMode(httpClient, keycloak, folderName);
333
289
  const runLoadPlugins = loadPlugins();
334
290
  return async () => {
335
291
  await runApiInit();
@@ -339,16 +295,6 @@ const boot = (_appName, _routes, _menuItems) => {
339
295
  multi: true,
340
296
  deps: [HttpClient, KeycloakService, i18nFolderName]
341
297
  },
342
- {
343
- provide: APP_INITIALIZER,
344
- useFactory: loadStyles,
345
- multi: true,
346
- deps: [StyleLoaderService, i18nFolderName]
347
- },
348
- {
349
- provide: i18nFolderName,
350
- useValue: _appName
351
- },
352
298
  importProvidersFrom(MonacoEditorModule.forRoot()),
353
299
  { provide: NGX_MONACO_EDITOR_CONFIG, useValue: monacoConfig }
354
300
  ]
@@ -366,4 +312,4 @@ const boot = (_appName, _routes, _menuItems) => {
366
312
  */
367
313
 
368
314
  export { appName as a, boot as b, menuItems as m };
369
- //# sourceMappingURL=aril-boot-mfe-aril-boot-mfe-wLTqwDtz.mjs.map
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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"}
@@ -1,19 +1,16 @@
1
- export { b as boot } from './aril-boot-mfe-aril-boot-mfe-wLTqwDtz.mjs';
1
+ export { b as boot } from './aril-boot-mfe-aril-boot-mfe-KXDpUyv7.mjs';
2
2
  import '@angular/common/http';
3
3
  import '@angular/core';
4
4
  import '@angular/elements';
5
5
  import '@angular/platform-browser';
6
- import '@angular/platform-browser/animations';
7
6
  import '@angular/router';
8
- import 'primeng/api';
9
7
  import 'keycloak-angular';
10
8
  import 'ngx-monaco-editor-v2';
9
+ import 'aril/boot/base';
10
+ import 'aril/boot/bridge';
11
11
  import 'aril/boot/config/api';
12
12
  import 'aril/boot/config/apps';
13
13
  import 'aril/boot/config/plugins';
14
- import 'aril/http';
15
14
  import 'aril/i18n';
16
- import 'aril/keycloak';
17
15
  import 'aril/provider';
18
- import 'aril/util/loaders';
19
16
  //# sourceMappingURL=aril-boot-mfe.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"aril-boot-mfe.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"aril-boot-mfe.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -134,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
134
134
  */
135
135
 
136
136
  export { ForbiddenComponent, NotFoundComponent };
137
- //# sourceMappingURL=aril-util-custom_pages.mjs.map
137
+ //# sourceMappingURL=aril-boot-pages.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aril-boot-pages.mjs","sources":["../../projects/aril/boot/pages/src/notFound.component.ts","../../projects/aril/boot/pages/src/forbidden.component.ts","../../projects/aril/boot/pages/aril-boot-pages.ts"],"sourcesContent":["import { Component } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { ButtonModule } from 'primeng/button';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\timports: [ButtonModule, RouterModule],\r\n\ttemplate: `\r\n\t\t<svg\r\n\t\t\tviewBox=\"0 0 960 540\"\r\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\txmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n\t\t\tversion=\"1.1\"\r\n\t\t\tclass=\"min-h-screen min-w-screen fixed left-0\"\r\n\t\t\tstyle=\"bottom:-10rem\"\r\n\t\t\tpreserveAspectRatio=\"none\">\r\n\t\t\t<rect x=\"0\" y=\"0\" width=\"960\" height=\"540\" fill=\"var(--surface-ground)\"></rect>\r\n\t\t\t<path\r\n\t\t\t\td=\"M0 331L26.7 321C53.3 311 106.7 291 160 291C213.3 291 266.7 311 320 329.5C373.3 348 426.7 365 480 373.2C533.3 381.3 586.7 380.7 640 373.8C693.3 367 746.7 354 800 341.2C853.3 328.3 906.7 315.7 933.3 309.3L960 303L960 541L933.3 541C906.7 541 853.3 541 800 541C746.7 541 693.3 541 640 541C586.7 541 533.3 541 480 541C426.7 541 373.3 541 320 541C266.7 541 213.3 541 160 541C106.7 541 53.3 541 26.7 541L0 541Z\"\r\n\t\t\t\tfill=\"var(--primary-color)\"\r\n\t\t\t\tstroke-linecap=\"round\"\r\n\t\t\t\tstroke-linejoin=\"miter\"></path>\r\n\t\t</svg>\r\n\t\t<div class=\"px-5 min-h-screen flex justify-content-center align-items-center\">\r\n\t\t\t<div class=\"z-1 text-center\">\r\n\t\t\t\t<div class=\"text-900 font-bold text-8xl mb-4\">Oops!</div>\r\n\t\t\t\t<p class=\"line-height-3 mt-0 mb-5 text-700 text-xl font-medium\">Sayfa Bulunamadı</p>\r\n\t\t\t\t<p-button routerLink=\"/\" styleClass=\"p-button-dark font-medium p-button-raised\">Anasayfaya Git</p-button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t`\r\n})\r\nexport class NotFoundComponent {}\r\n","import { Component } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { ButtonModule } from 'primeng/button';\r\n\r\nimport { TranslocoModule } from '@ngneat/transloco';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\timports: [ButtonModule, RouterModule, TranslocoModule],\r\n\ttemplate: `\r\n\t\t<ng-container *transloco=\"let t\">\r\n\t\t\t<svg\r\n\t\t\t\tviewBox=\"0 0 960 540\"\r\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\t\txmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n\t\t\t\tversion=\"1.1\"\r\n\t\t\t\tclass=\"min-h-screen min-w-screen fixed left-0\"\r\n\t\t\t\tstyle=\"bottom:-10rem\"\r\n\t\t\t\tpreserveAspectRatio=\"none\">\r\n\t\t\t\t<rect x=\"0\" y=\"0\" width=\"960\" height=\"540\" fill=\"var(--surface-ground)\"></rect>\r\n\t\t\t\t<path\r\n\t\t\t\t\td=\"M0 331L26.7 321C53.3 311 106.7 291 160 291C213.3 291 266.7 311 320 329.5C373.3 348 426.7 365 480 373.2C533.3 381.3 586.7 380.7 640 373.8C693.3 367 746.7 354 800 341.2C853.3 328.3 906.7 315.7 933.3 309.3L960 303L960 541L933.3 541C906.7 541 853.3 541 800 541C746.7 541 693.3 541 640 541C586.7 541 533.3 541 480 541C426.7 541 373.3 541 320 541C266.7 541 213.3 541 160 541C106.7 541 53.3 541 26.7 541L0 541Z\"\r\n\t\t\t\t\tfill=\"var(--primary-color)\"\r\n\t\t\t\t\tstroke-linecap=\"round\"\r\n\t\t\t\t\tstroke-linejoin=\"miter\"></path>\r\n\t\t\t</svg>\r\n\t\t\t<div class=\"px-5 min-h-screen flex justify-content-center align-items-center\">\r\n\t\t\t\t<div class=\"z-1 text-center\">\r\n\t\t\t\t\t<div class=\"text-900 font-bold text-8xl mb-4\">{{ t('forbidden.title') }}</div>\r\n\t\t\t\t\t<p class=\"line-height-3 mt-0 mb-5 text-700 text-xl font-medium\">{{ t('forbidden.message') }}</p>\r\n\t\t\t\t\t<p-button routerLink=\"/\" styleClass=\"p-button-dark font-medium p-button-raised\">{{ t('forbidden.goHome') }}</p-button>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t`\r\n})\r\nexport class ForbiddenComponent {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,89 +1,26 @@
1
1
  import { inject } from '@angular/core';
2
2
  import { KeycloakBearerInterceptor } from 'keycloak-angular';
3
+ import { bridge } from 'aril/boot/bridge';
3
4
  import { Apps } from 'aril/boot/config/apps';
4
5
 
5
- const getCurrentAppName = (host, mf) => {
6
- let appName = '';
7
- if (host) {
8
- switch (host) {
9
- case Apps.YEAP:
10
- appName = Apps.YEAP;
11
- break;
12
- case Apps.LENA:
13
- appName = Apps.LENA;
14
- break;
15
- case Apps.THOR:
16
- appName = Apps.THOR;
17
- break;
18
- }
19
- }
20
- else {
21
- switch (mf) {
22
- case Apps.HES:
23
- case Apps.CTS:
24
- case Apps.SIS:
25
- appName = Apps.LENA;
26
- break;
27
- case Apps.CRM:
28
- case Apps.BILLING:
29
- case Apps.PAYMENT:
30
- case Apps.WDM:
31
- case Apps.MDM:
32
- case Apps.DMS:
33
- case Apps.MNG:
34
- appName = Apps.THOR;
35
- break;
36
- case Apps.MW:
37
- appName = Apps.YEAP;
38
- break;
39
- default:
40
- appName = Apps.YEAP;
41
- }
42
- }
43
- return appName;
44
- };
45
- const getAppHeader = (appName) => {
46
- let appHeader = {};
47
- switch (appName) {
48
- case Apps.YEAP:
49
- appHeader = {
50
- 'x-yeap-application': 'yeap',
51
- 'x-application': 'yeap',
52
- 'x-module': 'yeap-fe'
53
- };
54
- break;
55
- case Apps.LENA:
56
- appHeader = {
57
- 'x-yeap-application': 'lena',
58
- 'x-application': 'lena',
59
- 'x-module': 'lena-fe'
60
- };
61
- break;
62
- case Apps.THOR:
63
- appHeader = {
64
- 'x-yeap-application': 'thor',
65
- 'x-application': 'thor',
66
- 'x-module': 'thor-fe'
67
- };
68
- break;
69
- }
70
- return appHeader;
71
- };
72
- const getCsrfToken = () => {
73
- return document.cookie
74
- .split('; ')
75
- .find((row) => row.startsWith('csrf_token='))
76
- ?.split('=')[1];
6
+ const HOST_APP_HEADERS = {
7
+ [Apps.THOR]: { 'x-yeap-application': 'thor', 'x-application': 'thor', 'x-module': 'thor-fe' },
8
+ [Apps.LENA]: { 'x-yeap-application': 'lena', 'x-application': 'lena', 'x-module': 'lena-fe' },
9
+ [Apps.YEAP]: { 'x-yeap-application': 'yeap', 'x-application': 'yeap', 'x-module': 'yeap-fe' }
77
10
  };
11
+ const isHostApp = (value) => value === Apps.THOR || value === Apps.LENA || value === Apps.YEAP;
12
+ const getCsrfToken = () => document.cookie
13
+ .split('; ')
14
+ .find((row) => row.startsWith('csrf_token='))
15
+ ?.split('=')[1];
78
16
  const authInterceptor = (req, next) => {
79
- const currentApp = getCurrentAppName(globalThis.activeHost, globalThis.activeMF);
80
- const appNameHeader = getAppHeader(currentApp);
17
+ const activeHost = bridge.activeHost();
18
+ const headers = isHostApp(activeHost) ? HOST_APP_HEADERS[activeHost] : {};
81
19
  const csrfToken = getCsrfToken();
82
- // if (isDevMode()) return next(req);
83
20
  const authReq = req.clone({
84
21
  setHeaders: {
85
- csrf_token: csrfToken || '',
86
- ...appNameHeader
22
+ csrf_token: csrfToken ?? '',
23
+ ...headers
87
24
  }
88
25
  });
89
26
  return next(authReq);
@@ -1 +1 @@
1
- {"version":3,"file":"aril-keycloak.mjs","sources":["../../projects/aril/keycloak/src/auth.interceptor.ts","../../projects/aril/keycloak/aril-keycloak.ts"],"sourcesContent":["import { HttpHandlerFn, HttpInterceptorFn, HttpRequest } from '@angular/common/http';\r\nimport { inject, isDevMode } from '@angular/core';\r\n\r\nimport { KeycloakBearerInterceptor } from 'keycloak-angular';\r\n\r\nimport { Apps } from 'aril/boot/config/apps';\r\n\r\nconst getCurrentAppName = (host: string, mf: string) => {\r\n\tlet appName = '';\r\n\tif (host) {\r\n\t\tswitch (host) {\r\n\t\t\tcase Apps.YEAP:\r\n\t\t\t\tappName = Apps.YEAP;\r\n\t\t\t\tbreak;\r\n\t\t\tcase Apps.LENA:\r\n\t\t\t\tappName = Apps.LENA;\r\n\t\t\t\tbreak;\r\n\t\t\tcase Apps.THOR:\r\n\t\t\t\tappName = Apps.THOR;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t} else {\r\n\t\tswitch (mf) {\r\n\t\t\tcase Apps.HES:\r\n\t\t\tcase Apps.CTS:\r\n\t\t\tcase Apps.SIS:\r\n\t\t\t\tappName = Apps.LENA;\r\n\t\t\t\tbreak;\r\n\t\t\tcase Apps.CRM:\r\n\t\t\tcase Apps.BILLING:\r\n\t\t\tcase Apps.PAYMENT:\r\n\t\t\tcase Apps.WDM:\r\n\t\t\tcase Apps.MDM:\r\n\t\t\tcase Apps.DMS:\r\n\t\t\tcase Apps.MNG:\r\n\t\t\t\tappName = Apps.THOR;\r\n\t\t\t\tbreak;\r\n\t\t\tcase Apps.MW:\r\n\t\t\t\tappName = Apps.YEAP;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tappName = Apps.YEAP;\r\n\t\t}\r\n\t}\r\n\treturn appName;\r\n};\r\n\r\nconst getAppHeader = (appName: string) => {\r\n\tlet appHeader = {};\r\n\tswitch (appName) {\r\n\t\tcase Apps.YEAP:\r\n\t\t\tappHeader = {\r\n\t\t\t\t'x-yeap-application': 'yeap',\r\n\t\t\t\t'x-application': 'yeap',\r\n\t\t\t\t'x-module': 'yeap-fe'\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\tcase Apps.LENA:\r\n\t\t\tappHeader = {\r\n\t\t\t\t'x-yeap-application': 'lena',\r\n\t\t\t\t'x-application': 'lena',\r\n\t\t\t\t'x-module': 'lena-fe'\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\tcase Apps.THOR:\r\n\t\t\tappHeader = {\r\n\t\t\t\t'x-yeap-application': 'thor',\r\n\t\t\t\t'x-application': 'thor',\r\n\t\t\t\t'x-module': 'thor-fe'\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t}\r\n\treturn appHeader;\r\n};\r\n\r\nconst getCsrfToken = (): string | undefined => {\r\n\treturn document.cookie\r\n\t\t.split('; ')\r\n\t\t.find((row) => row.startsWith('csrf_token='))\r\n\t\t?.split('=')[1];\r\n};\r\n\r\nexport const authInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next: HttpHandlerFn) => {\r\n\tconst currentApp = getCurrentAppName((<any>globalThis).activeHost, (<any>globalThis).activeMF);\r\n\tconst appNameHeader = getAppHeader(currentApp);\r\n\tconst csrfToken = getCsrfToken();\r\n\r\n\t// if (isDevMode()) return next(req);\r\n\r\n\tconst authReq = req.clone({\r\n\t\tsetHeaders: {\r\n\t\t\tcsrf_token: csrfToken || '',\r\n\t\t\t...appNameHeader\r\n\t\t}\r\n\t});\r\n\r\n\treturn next(authReq);\r\n};\r\n\r\nexport const keycloakAuthInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next: HttpHandlerFn) =>\r\n\tinject(KeycloakBearerInterceptor).intercept(req, { handle: next });\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-keycloak.mjs","sources":["../../projects/aril/keycloak/src/auth.interceptor.ts","../../projects/aril/keycloak/aril-keycloak.ts"],"sourcesContent":["import { HttpHandlerFn, HttpInterceptorFn, HttpRequest } from '@angular/common/http';\r\nimport { inject } from '@angular/core';\r\n\r\nimport { KeycloakBearerInterceptor } from 'keycloak-angular';\r\n\r\nimport { bridge } from 'aril/boot/bridge';\r\nimport { Apps } from 'aril/boot/config/apps';\r\n\r\ntype HostApp = Apps.THOR | Apps.YEAP | Apps.LENA;\r\n\r\nconst HOST_APP_HEADERS: Record<HostApp, Readonly<Record<string, string>>> = {\r\n\t[Apps.THOR]: { 'x-yeap-application': 'thor', 'x-application': 'thor', 'x-module': 'thor-fe' },\r\n\t[Apps.LENA]: { 'x-yeap-application': 'lena', 'x-application': 'lena', 'x-module': 'lena-fe' },\r\n\t[Apps.YEAP]: { 'x-yeap-application': 'yeap', 'x-application': 'yeap', 'x-module': 'yeap-fe' }\r\n};\r\n\r\nconst isHostApp = (value: string | null | undefined): value is HostApp =>\r\n\tvalue === Apps.THOR || value === Apps.LENA || value === Apps.YEAP;\r\n\r\nconst getCsrfToken = (): string | undefined =>\r\n\tdocument.cookie\r\n\t\t.split('; ')\r\n\t\t.find((row) => row.startsWith('csrf_token='))\r\n\t\t?.split('=')[1];\r\n\r\nexport const authInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next: HttpHandlerFn) => {\r\n\tconst activeHost = bridge.activeHost();\r\n\tconst headers = isHostApp(activeHost) ? HOST_APP_HEADERS[activeHost] : {};\r\n\tconst csrfToken = getCsrfToken();\r\n\r\n\tconst authReq = req.clone({\r\n\t\tsetHeaders: {\r\n\t\t\tcsrf_token: csrfToken ?? '',\r\n\t\t\t...headers\r\n\t\t}\r\n\t});\r\n\r\n\treturn next(authReq);\r\n};\r\n\r\nexport const keycloakAuthInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next: HttpHandlerFn) =>\r\n\tinject(KeycloakBearerInterceptor).intercept(req, { handle: next });\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAUA,MAAM,gBAAgB,GAAsD;AAC3E,IAAA,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,oBAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE;AAC7F,IAAA,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,oBAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE;AAC7F,IAAA,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,oBAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE;CAC7F,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,KAAgC,KAClD,KAAK,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,IAAI,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC;AAEnE,MAAM,YAAY,GAAG,MACpB,QAAQ,CAAC,MAAM;KACb,KAAK,CAAC,IAAI,CAAC;AACX,KAAA,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAC7C,MAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MAEL,eAAe,GAAsB,CAAC,GAAyB,EAAE,IAAmB,KAAI;AACpG,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;AACvC,IAAA,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;AAC1E,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;AAEjC,IAAA,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;AACzB,QAAA,UAAU,EAAE;YACX,UAAU,EAAE,SAAS,IAAI,EAAE;AAC3B,YAAA,GAAG,OAAO;AACV,SAAA;AACD,KAAA,CAAC,CAAC;AAEH,IAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;AACtB,EAAE;AAEW,MAAA,uBAAuB,GAAsB,CAAC,GAAyB,EAAE,IAAmB,KACxG,MAAM,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;ACzClE;;AAEG;;;;"}
@@ -1,3 +1,4 @@
1
+ import { bridge } from 'aril/boot/bridge';
1
2
  import { APP_INITIALIZER, LOCALE_ID } from '@angular/core';
2
3
  import { KeycloakService } from 'keycloak-angular';
3
4
  import { provideRouter, withComponentInputBinding, withHashLocation, withViewTransitions, Router } from '@angular/router';
@@ -5,6 +6,8 @@ import { registerLocaleData } from '@angular/common';
5
6
  import localeEn from '@angular/common/locales/en';
6
7
  import localeTr from '@angular/common/locales/tr';
7
8
 
9
+ // Covers host bootstrap + Keycloak login redirect + token exchange + slow network buffer.
10
+ const HOST_KEYCLOAK_INIT_TIMEOUT_MS = 30000;
8
11
  const provideHostKeycloak = (app) => {
9
12
  return [
10
13
  KeycloakService,
@@ -17,34 +20,36 @@ const provideHostKeycloak = (app) => {
17
20
  ];
18
21
  };
19
22
  const hostKeycloakInitializer = (keycloakService, app) => () => new Promise((resolve, reject) => {
23
+ let timeoutHandle;
20
24
  const eventListener = (event) => {
25
+ removeEventListener(`${app}:init-keycloak`, eventListener);
26
+ clearTimeout(timeoutHandle);
21
27
  try {
22
28
  Object.assign(keycloakService, event.detail);
23
- removeEventListener(`${app}:init-keycloak`, eventListener);
24
29
  resolve();
25
30
  }
26
31
  catch (error) {
27
32
  reject(error);
28
33
  }
29
34
  };
35
+ timeoutHandle = setTimeout(() => {
36
+ removeEventListener(`${app}:init-keycloak`, eventListener);
37
+ reject(new Error(`Host keycloak init for "${app}" did not complete within ${HOST_KEYCLOAK_INIT_TIMEOUT_MS}ms — host may not be mounted or the module-ready bridge is broken`));
38
+ }, HOST_KEYCLOAK_INIT_TIMEOUT_MS);
30
39
  addEventListener(`${app}:init-keycloak`, eventListener);
31
40
  dispatchEvent(new CustomEvent('module-ready', { detail: app }));
32
41
  });
33
42
 
34
- const provideHost = (app) => {
35
- const providers = [];
36
- if (globalThis.ngZone) {
37
- providers.push(provideHostKeycloak(app));
38
- }
39
- return providers;
40
- };
43
+ // Host altında çağrıldığında shared keycloak ekler; MFE standalone'da
44
+ // (bridge.hostNgZone null) bu path zaten boot olmuyor, güvenli fallback.
45
+ const provideHost = (app) => bridge.hostNgZone ? [provideHostKeycloak(app)] : [];
41
46
 
42
47
  const provideHostRouter = () => {
43
48
  const providers = [];
44
- if (globalThis.hostRouter) {
49
+ if (bridge.hostRouter) {
45
50
  return [
46
51
  provideRouter([], withComponentInputBinding(), withHashLocation(), withViewTransitions()),
47
- { provide: Router, useValue: globalThis.hostRouter }
52
+ { provide: Router, useValue: bridge.hostRouter }
48
53
  ];
49
54
  }
50
55
  return providers;
@@ -1 +1 @@
1
- {"version":3,"file":"aril-provider.mjs","sources":["../../projects/aril/provider/src/provideHostKeycloak.ts","../../projects/aril/provider/src/prodiveHost.ts","../../projects/aril/provider/src/prodiveHostRouter.ts","../../projects/aril/provider/src/provideLocaleId.ts","../../projects/aril/provider/aril-provider.ts"],"sourcesContent":["import { APP_INITIALIZER, Provider } from '@angular/core';\r\n\r\nimport { KeycloakService } from 'keycloak-angular';\r\n\r\nimport { Apps } from 'aril/boot/config/apps';\r\n\r\nexport const provideHostKeycloak = (app: Apps): Provider => {\r\n\treturn [\r\n\t\tKeycloakService,\r\n\t\t{\r\n\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\tuseFactory: (keycloak: KeycloakService) => hostKeycloakInitializer(keycloak, app),\r\n\t\t\tdeps: [KeycloakService],\r\n\t\t\tmulti: true\r\n\t\t}\r\n\t];\r\n};\r\n\r\nexport const hostKeycloakInitializer = (keycloakService: KeycloakService, app: Apps) => () =>\r\n\tnew Promise<void>((resolve, reject) => {\r\n\t\tconst eventListener = (event: Event) => {\r\n\t\t\ttry {\r\n\t\t\t\tObject.assign(keycloakService, (event as CustomEvent).detail as KeycloakService);\r\n\t\t\t\tremoveEventListener(`${app}:init-keycloak`, eventListener);\r\n\t\t\t\tresolve();\r\n\t\t\t} catch (error) {\r\n\t\t\t\treject(error);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\taddEventListener(`${app}:init-keycloak`, eventListener);\r\n\r\n\t\tdispatchEvent(new CustomEvent('module-ready', { detail: app }));\r\n\t});\r\n","import { EnvironmentProviders, Provider } from '@angular/core';\r\n\r\nimport { Apps } from 'aril/boot/config/apps';\r\n\r\nimport { provideHostKeycloak } from './provideHostKeycloak';\r\n\r\nexport const provideHost = (app: Apps): Provider => {\r\n\tconst providers: Array<Provider | EnvironmentProviders> = [];\r\n\r\n\tif ((globalThis as any).ngZone) {\r\n\t\tproviders.push(provideHostKeycloak(app));\r\n\t}\r\n\r\n\treturn providers;\r\n};\r\n","import { EnvironmentProviders, Provider } from '@angular/core';\r\nimport {\r\n\tRouter,\r\n\tprovideRouter,\r\n\twithComponentInputBinding,\r\n\twithHashLocation,\r\n\twithViewTransitions\r\n} from '@angular/router';\r\n\r\nexport const provideHostRouter = (): Provider => {\r\n\tconst providers: Array<Provider | EnvironmentProviders> = [];\r\n\r\n\tif ((globalThis as any).hostRouter) {\r\n\t\treturn [\r\n\t\t\tprovideRouter([], withComponentInputBinding(), withHashLocation(), withViewTransitions()),\r\n\t\t\t{ provide: Router, useValue: (<any>globalThis).hostRouter }\r\n\t\t];\r\n\t}\r\n\r\n\treturn providers;\r\n};\r\n","import { registerLocaleData } from '@angular/common';\r\nimport localeEn from '@angular/common/locales/en';\r\nimport localeTr from '@angular/common/locales/tr';\r\nimport { LOCALE_ID, Provider } from '@angular/core';\r\n\r\nregisterLocaleData(localeTr, 'tr');\r\nregisterLocaleData(localeEn, 'en');\r\n\r\nexport const provideLocaleId = (): Provider => ({\r\n\tprovide: LOCALE_ID,\r\n\tuseFactory: () => {\r\n\t\tconst userLang = localStorage.getItem('lang');\r\n\t\tif (userLang) return userLang;\r\n\r\n\t\tconst browserLang = navigator.language?.split('-')[0];\r\n\t\tif (browserLang && ['tr', 'en'].includes(browserLang)) {\r\n\t\t\treturn browserLang;\r\n\t\t}\r\n\r\n\t\treturn 'tr';\r\n\t}\r\n}); ","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAMa,MAAA,mBAAmB,GAAG,CAAC,GAAS,KAAc;IAC1D,OAAO;QACN,eAAe;AACf,QAAA;AACC,YAAA,OAAO,EAAE,eAAe;YACxB,UAAU,EAAE,CAAC,QAAyB,KAAK,uBAAuB,CAAC,QAAQ,EAAE,GAAG,CAAC;YACjF,IAAI,EAAE,CAAC,eAAe,CAAC;AACvB,YAAA,KAAK,EAAE,IAAI;AACX,SAAA;KACD,CAAC;AACH,EAAE;MAEW,uBAAuB,GAAG,CAAC,eAAgC,EAAE,GAAS,KAAK,MACvF,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,IAAA,MAAM,aAAa,GAAG,CAAC,KAAY,KAAI;AACtC,QAAA,IAAI;YACH,MAAM,CAAC,MAAM,CAAC,eAAe,EAAG,KAAqB,CAAC,MAAyB,CAAC,CAAC;AACjF,YAAA,mBAAmB,CAAC,CAAG,EAAA,GAAG,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAC3D,YAAA,OAAO,EAAE,CAAC;SACV;QAAC,OAAO,KAAK,EAAE;YACf,MAAM,CAAC,KAAK,CAAC,CAAC;SACd;AACF,KAAC,CAAC;AAEF,IAAA,gBAAgB,CAAC,CAAG,EAAA,GAAG,gBAAgB,EAAE,aAAa,CAAC,CAAC;AAExD,IAAA,aAAa,CAAC,IAAI,WAAW,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;AACjE,CAAC;;AC3BW,MAAA,WAAW,GAAG,CAAC,GAAS,KAAc;IAClD,MAAM,SAAS,GAA2C,EAAE,CAAC;AAE7D,IAAA,IAAK,UAAkB,CAAC,MAAM,EAAE;QAC/B,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;KACzC;AAED,IAAA,OAAO,SAAS,CAAC;AAClB;;ACLO,MAAM,iBAAiB,GAAG,MAAe;IAC/C,MAAM,SAAS,GAA2C,EAAE,CAAC;AAE7D,IAAA,IAAK,UAAkB,CAAC,UAAU,EAAE;QACnC,OAAO;YACN,aAAa,CAAC,EAAE,EAAE,yBAAyB,EAAE,EAAE,gBAAgB,EAAE,EAAE,mBAAmB,EAAE,CAAC;YACzF,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAQ,UAAW,CAAC,UAAU,EAAE;SAC3D,CAAC;KACF;AAED,IAAA,OAAO,SAAS,CAAC;AAClB;;ACfA,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACnC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAEtB,MAAA,eAAe,GAAG,OAAiB;AAC/C,IAAA,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,MAAK;QAChB,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC9C,QAAA,IAAI,QAAQ;AAAE,YAAA,OAAO,QAAQ,CAAC;AAE9B,QAAA,MAAM,WAAW,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,QAAA,IAAI,WAAW,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AACtD,YAAA,OAAO,WAAW,CAAC;SACnB;AAED,QAAA,OAAO,IAAI,CAAC;KACZ;AACD,CAAA;;ACrBD;;AAEG;;;;"}
1
+ {"version":3,"file":"aril-provider.mjs","sources":["../../projects/aril/provider/src/provideHostKeycloak.ts","../../projects/aril/provider/src/prodiveHost.ts","../../projects/aril/provider/src/prodiveHostRouter.ts","../../projects/aril/provider/src/provideLocaleId.ts","../../projects/aril/provider/aril-provider.ts"],"sourcesContent":["import { APP_INITIALIZER, Provider } from '@angular/core';\r\n\r\nimport { KeycloakService } from 'keycloak-angular';\r\n\r\nimport { Apps } from 'aril/boot/config/apps';\r\n\r\n// Covers host bootstrap + Keycloak login redirect + token exchange + slow network buffer.\r\nconst HOST_KEYCLOAK_INIT_TIMEOUT_MS = 30_000;\r\n\r\nexport const provideHostKeycloak = (app: Apps): Provider => {\r\n\treturn [\r\n\t\tKeycloakService,\r\n\t\t{\r\n\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\tuseFactory: (keycloak: KeycloakService) => hostKeycloakInitializer(keycloak, app),\r\n\t\t\tdeps: [KeycloakService],\r\n\t\t\tmulti: true\r\n\t\t}\r\n\t];\r\n};\r\n\r\nexport const hostKeycloakInitializer = (keycloakService: KeycloakService, app: Apps) => () =>\r\n\tnew Promise<void>((resolve, reject) => {\r\n\t\tlet timeoutHandle: ReturnType<typeof setTimeout>;\r\n\r\n\t\tconst eventListener = (event: Event) => {\r\n\t\t\tremoveEventListener(`${app}:init-keycloak`, eventListener);\r\n\t\t\tclearTimeout(timeoutHandle);\r\n\t\t\ttry {\r\n\t\t\t\tObject.assign(keycloakService, (event as CustomEvent).detail as KeycloakService);\r\n\t\t\t\tresolve();\r\n\t\t\t} catch (error) {\r\n\t\t\t\treject(error);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\ttimeoutHandle = setTimeout(() => {\r\n\t\t\tremoveEventListener(`${app}:init-keycloak`, eventListener);\r\n\t\t\treject(\r\n\t\t\t\tnew Error(\r\n\t\t\t\t\t`Host keycloak init for \"${app}\" did not complete within ${HOST_KEYCLOAK_INIT_TIMEOUT_MS}ms — host may not be mounted or the module-ready bridge is broken`\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\t}, HOST_KEYCLOAK_INIT_TIMEOUT_MS);\r\n\r\n\t\taddEventListener(`${app}:init-keycloak`, eventListener);\r\n\r\n\t\tdispatchEvent(new CustomEvent('module-ready', { detail: app }));\r\n\t});\r\n","import { EnvironmentProviders, Provider } from '@angular/core';\r\n\r\nimport { bridge } from 'aril/boot/bridge';\r\nimport { Apps } from 'aril/boot/config/apps';\r\n\r\nimport { provideHostKeycloak } from './provideHostKeycloak';\r\n\r\n// Host altında çağrıldığında shared keycloak ekler; MFE standalone'da\r\n// (bridge.hostNgZone null) bu path zaten boot olmuyor, güvenli fallback.\r\nexport const provideHost = (app: Apps): Array<Provider | EnvironmentProviders> =>\r\n\tbridge.hostNgZone ? [provideHostKeycloak(app)] : [];\r\n","import { EnvironmentProviders, Provider } from '@angular/core';\r\nimport {\r\n\tRouter,\r\n\tprovideRouter,\r\n\twithComponentInputBinding,\r\n\twithHashLocation,\r\n\twithViewTransitions\r\n} from '@angular/router';\r\n\r\nimport { bridge } from 'aril/boot/bridge';\r\n\r\nexport const provideHostRouter = (): Provider => {\r\n\tconst providers: Array<Provider | EnvironmentProviders> = [];\r\n\r\n\tif (bridge.hostRouter) {\r\n\t\treturn [\r\n\t\t\tprovideRouter([], withComponentInputBinding(), withHashLocation(), withViewTransitions()),\r\n\t\t\t{ provide: Router, useValue: bridge.hostRouter }\r\n\t\t];\r\n\t}\r\n\r\n\treturn providers;\r\n};\r\n","import { registerLocaleData } from '@angular/common';\r\nimport localeEn from '@angular/common/locales/en';\r\nimport localeTr from '@angular/common/locales/tr';\r\nimport { LOCALE_ID, Provider } from '@angular/core';\r\n\r\nregisterLocaleData(localeTr, 'tr');\r\nregisterLocaleData(localeEn, 'en');\r\n\r\nexport const provideLocaleId = (): Provider => ({\r\n\tprovide: LOCALE_ID,\r\n\tuseFactory: () => {\r\n\t\tconst userLang = localStorage.getItem('lang');\r\n\t\tif (userLang) return userLang;\r\n\r\n\t\tconst browserLang = navigator.language?.split('-')[0];\r\n\t\tif (browserLang && ['tr', 'en'].includes(browserLang)) {\r\n\t\t\treturn browserLang;\r\n\t\t}\r\n\r\n\t\treturn 'tr';\r\n\t}\r\n}); ","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}