barsa-novin-ray-core 0.0.2

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/README.md +25 -0
  2. package/esm2020/barsa-novin-ray-core.mjs +5 -0
  3. package/esm2020/lib/abstract-classes/application-base.mjs +24 -0
  4. package/esm2020/lib/abstract-classes/barsa-api.mjs +40 -0
  5. package/esm2020/lib/abstract-classes/field-base.mjs +167 -0
  6. package/esm2020/lib/abstract-classes/files-validation-helper.mjs +71 -0
  7. package/esm2020/lib/abstract-classes/form-base.mjs +101 -0
  8. package/esm2020/lib/abstract-classes/form-props.base.mjs +79 -0
  9. package/esm2020/lib/abstract-classes/form-toolbar-base.mjs +45 -0
  10. package/esm2020/lib/abstract-classes/index.mjs +21 -0
  11. package/esm2020/lib/abstract-classes/layout-item-base.mjs +33 -0
  12. package/esm2020/lib/abstract-classes/layout-panel-base.mjs +80 -0
  13. package/esm2020/lib/abstract-classes/models.mjs +172 -0
  14. package/esm2020/lib/abstract-classes/module-with-dynamic-components.mjs +2 -0
  15. package/esm2020/lib/abstract-classes/number-base.mjs +117 -0
  16. package/esm2020/lib/abstract-classes/page-base.mjs +97 -0
  17. package/esm2020/lib/abstract-classes/report-base.mjs +231 -0
  18. package/esm2020/lib/abstract-classes/report-item-base.mjs +53 -0
  19. package/esm2020/lib/abstract-classes/report-view-base.component.mjs +262 -0
  20. package/esm2020/lib/abstract-classes/system-base.mjs +24 -0
  21. package/esm2020/lib/auth-guard.mjs +37 -0
  22. package/esm2020/lib/barsa-novin-ray-core-routing.module.mjs +18 -0
  23. package/esm2020/lib/barsa-novin-ray-core.module.mjs +271 -0
  24. package/esm2020/lib/base-ulv-setting.component.mjs +37 -0
  25. package/esm2020/lib/base.component.mjs +59 -0
  26. package/esm2020/lib/base.module.mjs +28 -0
  27. package/esm2020/lib/constants.mjs +441 -0
  28. package/esm2020/lib/container.component.mjs +76 -0
  29. package/esm2020/lib/custom-route-reuse-strategy.mjs +32 -0
  30. package/esm2020/lib/date-services/date-hijri.service.mjs +127 -0
  31. package/esm2020/lib/date-services/date-info.mjs +2 -0
  32. package/esm2020/lib/date-services/date-miladi.service.mjs +124 -0
  33. package/esm2020/lib/date-services/date-shamsi.service.mjs +129 -0
  34. package/esm2020/lib/date-services/date.service.mjs +139 -0
  35. package/esm2020/lib/date-services/index.mjs +6 -0
  36. package/esm2020/lib/device.mjs +663 -0
  37. package/esm2020/lib/directives/anchor-scroll.directive.mjs +24 -0
  38. package/esm2020/lib/directives/attr-rtl.directive.mjs +35 -0
  39. package/esm2020/lib/directives/base.directive.mjs +51 -0
  40. package/esm2020/lib/directives/column-resizer.directive.mjs +39 -0
  41. package/esm2020/lib/directives/dynamic-command.directive.mjs +43 -0
  42. package/esm2020/lib/directives/ellipsify.directive.mjs +72 -0
  43. package/esm2020/lib/directives/field-binding.directive.mjs +17 -0
  44. package/esm2020/lib/directives/img-lazy.directive.mjs +75 -0
  45. package/esm2020/lib/directives/index.mjs +19 -0
  46. package/esm2020/lib/directives/intersection-observer.directive.mjs +49 -0
  47. package/esm2020/lib/directives/items-renderer.directive.mjs +59 -0
  48. package/esm2020/lib/directives/numbers-only-input.directive.mjs +26 -0
  49. package/esm2020/lib/directives/placeHolder.directive.mjs +15 -0
  50. package/esm2020/lib/directives/render-ulv-paging.directive.mjs +58 -0
  51. package/esm2020/lib/directives/render-ulv-viewer.directive.mjs +60 -0
  52. package/esm2020/lib/directives/table-resizer.directive.mjs +235 -0
  53. package/esm2020/lib/directives/ulv-command.directive.mjs +41 -0
  54. package/esm2020/lib/directives/until-inview.directive.mjs +51 -0
  55. package/esm2020/lib/dynamic-component/base-dynamic.component.mjs +89 -0
  56. package/esm2020/lib/dynamic-component/base-form-toolbaritem-props.mjs +50 -0
  57. package/esm2020/lib/dynamic-component/base-item-content-props.mjs +70 -0
  58. package/esm2020/lib/dynamic-component/base-view-content-props.mjs +26 -0
  59. package/esm2020/lib/dynamic-component/base-view-item-props.mjs +374 -0
  60. package/esm2020/lib/dynamic-component/base-view-props.mjs +127 -0
  61. package/esm2020/lib/dynamic-component/dynamic-form-toolbar-item.component.mjs +36 -0
  62. package/esm2020/lib/dynamic-component/dynamic-form.component.mjs +62 -0
  63. package/esm2020/lib/dynamic-component/dynamic-item.component.mjs +60 -0
  64. package/esm2020/lib/dynamic-component/index.mjs +10 -0
  65. package/esm2020/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.mjs +16 -0
  66. package/esm2020/lib/field-ui/field-ui.component.mjs +116 -0
  67. package/esm2020/lib/form/form.component.mjs +151 -0
  68. package/esm2020/lib/form-new/form-new.component.mjs +30 -0
  69. package/esm2020/lib/from-intersection-observer.mjs +53 -0
  70. package/esm2020/lib/global-error-handler.mjs +26 -0
  71. package/esm2020/lib/modal-root.component.mjs +31 -0
  72. package/esm2020/lib/not-found/not-found.component.mjs +16 -0
  73. package/esm2020/lib/pipes/barsa-icon-dict.pipe.mjs +18 -0
  74. package/esm2020/lib/pipes/bbb-translate.pipe.mjs +29 -0
  75. package/esm2020/lib/pipes/can-upload.pipe.mjs +30 -0
  76. package/esm2020/lib/pipes/context-menu.pipe.mjs +40 -0
  77. package/esm2020/lib/pipes/control-ui.pipe.mjs +31 -0
  78. package/esm2020/lib/pipes/convert-to-style.pipe.mjs +32 -0
  79. package/esm2020/lib/pipes/date-time-to-caption.pipe.mjs +34 -0
  80. package/esm2020/lib/pipes/fileinfo-count.pipe.mjs +20 -0
  81. package/esm2020/lib/pipes/filter-columns-by-details.pipe.mjs +20 -0
  82. package/esm2020/lib/pipes/filter-string.pipe.mjs +44 -0
  83. package/esm2020/lib/pipes/filter-tab.pipe.mjs +19 -0
  84. package/esm2020/lib/pipes/filter-toolbar-control.pipe.mjs +16 -0
  85. package/esm2020/lib/pipes/filter.pipe.mjs +33 -0
  86. package/esm2020/lib/pipes/find-column-by-db-name.pipe.mjs +17 -0
  87. package/esm2020/lib/pipes/fiori-icon.pipe.mjs +42 -0
  88. package/esm2020/lib/pipes/groupby.pipe.mjs +48 -0
  89. package/esm2020/lib/pipes/header-facet-value.pipe.mjs +22 -0
  90. package/esm2020/lib/pipes/index.mjs +33 -0
  91. package/esm2020/lib/pipes/list-count.pipe.mjs +17 -0
  92. package/esm2020/lib/pipes/merge-fields-to-columns.pipe.mjs +42 -0
  93. package/esm2020/lib/pipes/mo-info-ulv-data.pipe.mjs +24 -0
  94. package/esm2020/lib/pipes/mo-report-value-concat.pipe.mjs +35 -0
  95. package/esm2020/lib/pipes/mo-report-value.pipe.mjs +28 -0
  96. package/esm2020/lib/pipes/mo-value.pipe.mjs +31 -0
  97. package/esm2020/lib/pipes/multiple-groupby.pipe.mjs +97 -0
  98. package/esm2020/lib/pipes/numeral.pipe.mjs +40 -0
  99. package/esm2020/lib/pipes/picture-field-source.pipe.mjs +22 -0
  100. package/esm2020/lib/pipes/remove-newline.pipe.mjs +20 -0
  101. package/esm2020/lib/pipes/seperator-fix.pipe.mjs +23 -0
  102. package/esm2020/lib/pipes/sort.pipe.mjs +48 -0
  103. package/esm2020/lib/pipes/tlbButtons.pipe.mjs +58 -0
  104. package/esm2020/lib/pipes/total-summary.pipe.mjs +16 -0
  105. package/esm2020/lib/pipes/visible-value.pipe.mjs +24 -0
  106. package/esm2020/lib/portal-page/portal-page.component.mjs +13 -0
  107. package/esm2020/lib/redirect-home-guard.mjs +28 -0
  108. package/esm2020/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.mjs +33 -0
  109. package/esm2020/lib/report-container/report-container.component.mjs +52 -0
  110. package/esm2020/lib/resolvers/index.mjs +5 -0
  111. package/esm2020/lib/resolvers/portal-dynamic-page.resolver.mjs +49 -0
  112. package/esm2020/lib/resolvers/portal-form-page.resolver.mjs +18 -0
  113. package/esm2020/lib/resolvers/portal-page.resolver.mjs +30 -0
  114. package/esm2020/lib/resolvers/portal-report-page.resolver.mjs +37 -0
  115. package/esm2020/lib/root-page/root-page.component.mjs +21 -0
  116. package/esm2020/lib/root-portal/root-portal.component.mjs +51 -0
  117. package/esm2020/lib/services/api.service.mjs +60 -0
  118. package/esm2020/lib/services/barsa-dialog.service.mjs +80 -0
  119. package/esm2020/lib/services/breadcrumb.service.mjs +60 -0
  120. package/esm2020/lib/services/container.service.mjs +36 -0
  121. package/esm2020/lib/services/dynamic-component.service.mjs +55 -0
  122. package/esm2020/lib/services/form-panel.service.mjs +235 -0
  123. package/esm2020/lib/services/form.service.mjs +14 -0
  124. package/esm2020/lib/services/horizontal-layout.service.mjs +16 -0
  125. package/esm2020/lib/services/index.mjs +16 -0
  126. package/esm2020/lib/services/layout.service.mjs +42 -0
  127. package/esm2020/lib/services/log.service.mjs +50 -0
  128. package/esm2020/lib/services/network-status.service.mjs +15 -0
  129. package/esm2020/lib/services/portal.service.mjs +638 -0
  130. package/esm2020/lib/services/ui.service.mjs +23 -0
  131. package/esm2020/lib/services/ulvmain.service.mjs +594 -0
  132. package/esm2020/lib/services/upload.service.mjs +75 -0
  133. package/esm2020/public-api.mjs +33 -0
  134. package/fesm2015/barsa-novin-ray-core.mjs +9047 -0
  135. package/fesm2015/barsa-novin-ray-core.mjs.map +1 -0
  136. package/fesm2020/barsa-novin-ray-core.mjs +8945 -0
  137. package/fesm2020/barsa-novin-ray-core.mjs.map +1 -0
  138. package/index.d.ts +5 -0
  139. package/lib/abstract-classes/application-base.d.ts +53 -0
  140. package/lib/abstract-classes/barsa-api.d.ts +28 -0
  141. package/lib/abstract-classes/field-base.d.ts +81 -0
  142. package/lib/abstract-classes/files-validation-helper.d.ts +15 -0
  143. package/lib/abstract-classes/form-base.d.ts +59 -0
  144. package/lib/abstract-classes/form-props.base.d.ts +45 -0
  145. package/lib/abstract-classes/form-toolbar-base.d.ts +17 -0
  146. package/lib/abstract-classes/index.d.ts +20 -0
  147. package/lib/abstract-classes/layout-item-base.d.ts +15 -0
  148. package/lib/abstract-classes/layout-panel-base.d.ts +24 -0
  149. package/lib/abstract-classes/models.d.ts +660 -0
  150. package/lib/abstract-classes/module-with-dynamic-components.d.ts +4 -0
  151. package/lib/abstract-classes/number-base.d.ts +20 -0
  152. package/lib/abstract-classes/page-base.d.ts +31 -0
  153. package/lib/abstract-classes/report-base.d.ts +97 -0
  154. package/lib/abstract-classes/report-item-base.d.ts +33 -0
  155. package/lib/abstract-classes/report-view-base.component.d.ts +130 -0
  156. package/lib/abstract-classes/system-base.d.ts +45 -0
  157. package/lib/auth-guard.d.ts +12 -0
  158. package/lib/barsa-novin-ray-core-routing.module.d.ts +7 -0
  159. package/lib/barsa-novin-ray-core.module.d.ts +88 -0
  160. package/lib/base-ulv-setting.component.d.ts +18 -0
  161. package/lib/base.component.d.ts +15 -0
  162. package/lib/base.module.d.ts +13 -0
  163. package/lib/constants.d.ts +89 -0
  164. package/lib/container.component.d.ts +33 -0
  165. package/lib/custom-route-reuse-strategy.d.ts +11 -0
  166. package/lib/date-services/date-hijri.service.d.ts +40 -0
  167. package/lib/date-services/date-info.d.ts +15 -0
  168. package/lib/date-services/date-miladi.service.d.ts +39 -0
  169. package/lib/date-services/date-shamsi.service.d.ts +40 -0
  170. package/lib/date-services/date.service.d.ts +54 -0
  171. package/lib/date-services/index.d.ts +5 -0
  172. package/lib/device.d.ts +15 -0
  173. package/lib/directives/anchor-scroll.directive.d.ts +7 -0
  174. package/lib/directives/attr-rtl.directive.d.ts +13 -0
  175. package/lib/directives/base.directive.d.ts +13 -0
  176. package/lib/directives/column-resizer.directive.d.ts +13 -0
  177. package/lib/directives/dynamic-command.directive.d.ts +12 -0
  178. package/lib/directives/ellipsify.directive.d.ts +17 -0
  179. package/lib/directives/field-binding.directive.d.ts +7 -0
  180. package/lib/directives/img-lazy.directive.d.ts +20 -0
  181. package/lib/directives/index.d.ts +18 -0
  182. package/lib/directives/intersection-observer.directive.d.ts +17 -0
  183. package/lib/directives/items-renderer.directive.d.ts +17 -0
  184. package/lib/directives/numbers-only-input.directive.d.ts +9 -0
  185. package/lib/directives/placeHolder.directive.d.ts +6 -0
  186. package/lib/directives/render-ulv-paging.directive.d.ts +19 -0
  187. package/lib/directives/render-ulv-viewer.directive.d.ts +19 -0
  188. package/lib/directives/table-resizer.directive.d.ts +47 -0
  189. package/lib/directives/ulv-command.directive.d.ts +11 -0
  190. package/lib/directives/until-inview.directive.d.ts +17 -0
  191. package/lib/dynamic-component/base-dynamic.component.d.ts +26 -0
  192. package/lib/dynamic-component/base-form-toolbaritem-props.d.ts +28 -0
  193. package/lib/dynamic-component/base-item-content-props.d.ts +40 -0
  194. package/lib/dynamic-component/base-view-content-props.d.ts +11 -0
  195. package/lib/dynamic-component/base-view-item-props.d.ts +95 -0
  196. package/lib/dynamic-component/base-view-props.d.ts +65 -0
  197. package/lib/dynamic-component/dynamic-form-toolbar-item.component.d.ts +18 -0
  198. package/lib/dynamic-component/dynamic-form.component.d.ts +33 -0
  199. package/lib/dynamic-component/dynamic-item.component.d.ts +30 -0
  200. package/lib/dynamic-component/index.d.ts +9 -0
  201. package/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.d.ts +7 -0
  202. package/lib/field-ui/field-ui.component.d.ts +27 -0
  203. package/lib/form/form.component.d.ts +36 -0
  204. package/lib/form-new/form-new.component.d.ts +23 -0
  205. package/lib/from-intersection-observer.d.ts +7 -0
  206. package/lib/global-error-handler.d.ts +8 -0
  207. package/lib/modal-root.component.d.ts +15 -0
  208. package/lib/not-found/not-found.component.d.ts +8 -0
  209. package/lib/pipes/barsa-icon-dict.pipe.d.ts +9 -0
  210. package/lib/pipes/bbb-translate.pipe.d.ts +7 -0
  211. package/lib/pipes/can-upload.pipe.d.ts +8 -0
  212. package/lib/pipes/context-menu.pipe.d.ts +11 -0
  213. package/lib/pipes/control-ui.pipe.d.ts +9 -0
  214. package/lib/pipes/convert-to-style.pipe.d.ts +8 -0
  215. package/lib/pipes/date-time-to-caption.pipe.d.ts +9 -0
  216. package/lib/pipes/fileinfo-count.pipe.d.ts +10 -0
  217. package/lib/pipes/filter-columns-by-details.pipe.d.ts +8 -0
  218. package/lib/pipes/filter-string.pipe.d.ts +11 -0
  219. package/lib/pipes/filter-tab.pipe.d.ts +7 -0
  220. package/lib/pipes/filter-toolbar-control.pipe.d.ts +8 -0
  221. package/lib/pipes/filter.pipe.d.ts +10 -0
  222. package/lib/pipes/find-column-by-db-name.pipe.d.ts +8 -0
  223. package/lib/pipes/fiori-icon.pipe.d.ts +7 -0
  224. package/lib/pipes/groupby.pipe.d.ts +7 -0
  225. package/lib/pipes/header-facet-value.pipe.d.ts +8 -0
  226. package/lib/pipes/index.d.ts +32 -0
  227. package/lib/pipes/list-count.pipe.d.ts +8 -0
  228. package/lib/pipes/merge-fields-to-columns.pipe.d.ts +10 -0
  229. package/lib/pipes/mo-info-ulv-data.pipe.d.ts +7 -0
  230. package/lib/pipes/mo-report-value-concat.pipe.d.ts +9 -0
  231. package/lib/pipes/mo-report-value.pipe.d.ts +12 -0
  232. package/lib/pipes/mo-value.pipe.d.ts +9 -0
  233. package/lib/pipes/multiple-groupby.pipe.d.ts +23 -0
  234. package/lib/pipes/numeral.pipe.d.ts +9 -0
  235. package/lib/pipes/picture-field-source.pipe.d.ts +8 -0
  236. package/lib/pipes/remove-newline.pipe.d.ts +8 -0
  237. package/lib/pipes/seperator-fix.pipe.d.ts +7 -0
  238. package/lib/pipes/sort.pipe.d.ts +9 -0
  239. package/lib/pipes/tlbButtons.pipe.d.ts +9 -0
  240. package/lib/pipes/total-summary.pipe.d.ts +8 -0
  241. package/lib/pipes/visible-value.pipe.d.ts +8 -0
  242. package/lib/portal-page/portal-page.component.d.ts +6 -0
  243. package/lib/redirect-home-guard.d.ts +13 -0
  244. package/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.d.ts +14 -0
  245. package/lib/report-container/report-container.component.d.ts +24 -0
  246. package/lib/resolvers/index.d.ts +4 -0
  247. package/lib/resolvers/portal-dynamic-page.resolver.d.ts +12 -0
  248. package/lib/resolvers/portal-form-page.resolver.d.ts +8 -0
  249. package/lib/resolvers/portal-page.resolver.d.ts +12 -0
  250. package/lib/resolvers/portal-report-page.resolver.d.ts +12 -0
  251. package/lib/root-page/root-page.component.d.ts +10 -0
  252. package/lib/root-portal/root-portal.component.d.ts +14 -0
  253. package/lib/services/api.service.d.ts +18 -0
  254. package/lib/services/barsa-dialog.service.d.ts +31 -0
  255. package/lib/services/breadcrumb.service.d.ts +14 -0
  256. package/lib/services/container.service.d.ts +14 -0
  257. package/lib/services/dynamic-component.service.d.ts +13 -0
  258. package/lib/services/form-panel.service.d.ts +83 -0
  259. package/lib/services/form.service.d.ts +8 -0
  260. package/lib/services/horizontal-layout.service.d.ts +7 -0
  261. package/lib/services/index.d.ts +15 -0
  262. package/lib/services/layout.service.d.ts +23 -0
  263. package/lib/services/log.service.d.ts +17 -0
  264. package/lib/services/network-status.service.d.ts +7 -0
  265. package/lib/services/portal.service.d.ts +130 -0
  266. package/lib/services/ui.service.d.ts +14 -0
  267. package/lib/services/ulvmain.service.d.ts +178 -0
  268. package/lib/services/upload.service.d.ts +18 -0
  269. package/package.json +38 -0
  270. package/public-api.d.ts +29 -0
@@ -0,0 +1,49 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../services/portal.service";
4
+ export class PortalDynamicPageResolver {
5
+ constructor(portalService) {
6
+ this.portalService = portalService;
7
+ }
8
+ resolve(route
9
+ // state: RouterStateSnapshot
10
+ ) {
11
+ // const url = decodeURI(route['_routerState'].url);
12
+ // let url2=route.routeConfig?.path;
13
+ // if(route.params.path)
14
+ // url2=route.params.path;
15
+ // if(route.url.length==0)
16
+ // return of(null);
17
+ // if(route.routeConfig?.path=='')
18
+ // {
19
+ // url2 = url.split('/').find((c) => c && !c.startsWith('(')) ?? '';
20
+ // }
21
+ // else if(url2=='**'){
22
+ // url2=route.url[0].path;
23
+ // }
24
+ // url2 = '/' + url2;
25
+ // const url=route.params.path;
26
+ const _route = route;
27
+ let pageData = route.data?.pageData;
28
+ // if (!pageData && url) {
29
+ // pageData = this.portalService.pages.find((c) => c.Route == '/' + url);
30
+ // }
31
+ const urlSegments = _route._urlSegment.segments;
32
+ const lastUrlSegment = urlSegments[urlSegments.length - 1];
33
+ if (urlSegments.length === 1) {
34
+ pageData = this.portalService.pages.find((c) => c.ParentRoute === '/' + lastUrlSegment.path && c.IsDefaultRoute);
35
+ }
36
+ else {
37
+ pageData = this.portalService.pages.find((c) => c.Route === '/' + lastUrlSegment.path);
38
+ }
39
+ // }
40
+ return this.portalService.resolveData(pageData);
41
+ }
42
+ }
43
+ PortalDynamicPageResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PortalDynamicPageResolver, deps: [{ token: i1.PortalService }], target: i0.ɵɵFactoryTarget.Injectable });
44
+ PortalDynamicPageResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PortalDynamicPageResolver, providedIn: 'root' });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PortalDynamicPageResolver, decorators: [{
46
+ type: Injectable,
47
+ args: [{ providedIn: 'root' }]
48
+ }], ctorParameters: function () { return [{ type: i1.PortalService }]; } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLWR5bmFtaWMtcGFnZS5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvcmVzb2x2ZXJzL3BvcnRhbC1keW5hbWljLXBhZ2UucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTNDLE1BQU0sT0FBTyx5QkFBeUI7SUFDbEMsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBRyxDQUFDO0lBRXBELE9BQU8sQ0FDSCxLQUE2QjtJQUM3Qiw2QkFBNkI7O1FBRTdCLG9EQUFvRDtRQUNwRCxvQ0FBb0M7UUFDcEMsd0JBQXdCO1FBQ3hCLDRCQUE0QjtRQUU1QiwwQkFBMEI7UUFDMUIscUJBQXFCO1FBQ3JCLGtDQUFrQztRQUNsQyxJQUFJO1FBQ0osdUVBQXVFO1FBQ3ZFLElBQUk7UUFDSix1QkFBdUI7UUFDdkIsNEJBQTRCO1FBQzVCLElBQUk7UUFDSixxQkFBcUI7UUFDckIsK0JBQStCO1FBQy9CLE1BQU0sTUFBTSxHQUFRLEtBQUssQ0FBQztRQUMxQixJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQztRQUNwQywwQkFBMEI7UUFDMUIsMkVBQTJFO1FBQzNFLElBQUk7UUFDSixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUNoRCxNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzFCLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3BDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxLQUFLLEdBQUcsR0FBRyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQ3pFLENBQUM7U0FDTDthQUFNO1lBQ0gsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxHQUFHLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFGO1FBRUQsSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7c0hBeENRLHlCQUF5QjswSEFBekIseUJBQXlCLGNBRFosTUFBTTsyRkFDbkIseUJBQXlCO2tCQURyQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJlc29sdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBQYWdlRGF0YU1vZGVsIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcyc7XG5pbXBvcnQgeyBQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcG9ydGFsLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFBvcnRhbER5bmFtaWNQYWdlUmVzb2x2ZXIgaW1wbGVtZW50cyBSZXNvbHZlPFBhZ2VEYXRhTW9kZWwgfCBudWxsPiB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlKSB7fVxuXG4gICAgcmVzb2x2ZShcbiAgICAgICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3RcbiAgICAgICAgLy8gc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3RcbiAgICApOiBPYnNlcnZhYmxlPFBhZ2VEYXRhTW9kZWwgfCBudWxsPiB7XG4gICAgICAgIC8vIGNvbnN0IHVybCA9IGRlY29kZVVSSShyb3V0ZVsnX3JvdXRlclN0YXRlJ10udXJsKTtcbiAgICAgICAgLy8gbGV0IHVybDI9cm91dGUucm91dGVDb25maWc/LnBhdGg7XG4gICAgICAgIC8vIGlmKHJvdXRlLnBhcmFtcy5wYXRoKVxuICAgICAgICAvLyAgIHVybDI9cm91dGUucGFyYW1zLnBhdGg7XG5cbiAgICAgICAgLy8gaWYocm91dGUudXJsLmxlbmd0aD09MClcbiAgICAgICAgLy8gICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIC8vIGlmKHJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoPT0nJylcbiAgICAgICAgLy8ge1xuICAgICAgICAvLyAgICB1cmwyID0gdXJsLnNwbGl0KCcvJykuZmluZCgoYykgPT4gYyAmJiAhYy5zdGFydHNXaXRoKCcoJykpID8/ICcnO1xuICAgICAgICAvLyB9XG4gICAgICAgIC8vIGVsc2UgaWYodXJsMj09JyoqJyl7XG4gICAgICAgIC8vICAgdXJsMj1yb3V0ZS51cmxbMF0ucGF0aDtcbiAgICAgICAgLy8gfVxuICAgICAgICAvLyB1cmwyID0gJy8nICsgdXJsMjtcbiAgICAgICAgLy8gY29uc3QgdXJsPXJvdXRlLnBhcmFtcy5wYXRoO1xuICAgICAgICBjb25zdCBfcm91dGU6IGFueSA9IHJvdXRlO1xuICAgICAgICBsZXQgcGFnZURhdGEgPSByb3V0ZS5kYXRhPy5wYWdlRGF0YTtcbiAgICAgICAgLy8gaWYgKCFwYWdlRGF0YSAmJiB1cmwpIHtcbiAgICAgICAgLy8gICBwYWdlRGF0YSA9IHRoaXMucG9ydGFsU2VydmljZS5wYWdlcy5maW5kKChjKSA9PiBjLlJvdXRlID09ICcvJyArIHVybCk7XG4gICAgICAgIC8vIH1cbiAgICAgICAgY29uc3QgdXJsU2VnbWVudHMgPSBfcm91dGUuX3VybFNlZ21lbnQuc2VnbWVudHM7XG4gICAgICAgIGNvbnN0IGxhc3RVcmxTZWdtZW50ID0gdXJsU2VnbWVudHNbdXJsU2VnbWVudHMubGVuZ3RoIC0gMV07XG4gICAgICAgIGlmICh1cmxTZWdtZW50cy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIHBhZ2VEYXRhID0gdGhpcy5wb3J0YWxTZXJ2aWNlLnBhZ2VzLmZpbmQoXG4gICAgICAgICAgICAgICAgKGMpID0+IGMuUGFyZW50Um91dGUgPT09ICcvJyArIGxhc3RVcmxTZWdtZW50LnBhdGggJiYgYy5Jc0RlZmF1bHRSb3V0ZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhZ2VEYXRhID0gdGhpcy5wb3J0YWxTZXJ2aWNlLnBhZ2VzLmZpbmQoKGMpID0+IGMuUm91dGUgPT09ICcvJyArIGxhc3RVcmxTZWdtZW50LnBhdGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gfVxuICAgICAgICByZXR1cm4gdGhpcy5wb3J0YWxTZXJ2aWNlLnJlc29sdmVEYXRhKHBhZ2VEYXRhKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class PortalFormPageResolver {
4
+ constructor() { }
5
+ resolve(route
6
+ // state: RouterStateSnapshot
7
+ ) {
8
+ const breadcrumb = route.params.bc; // means breadCrumb
9
+ return breadcrumb;
10
+ }
11
+ }
12
+ PortalFormPageResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PortalFormPageResolver, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
13
+ PortalFormPageResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PortalFormPageResolver, providedIn: 'root' });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PortalFormPageResolver, decorators: [{
15
+ type: Injectable,
16
+ args: [{ providedIn: 'root' }]
17
+ }], ctorParameters: function () { return []; } });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLWZvcm0tcGFnZS5yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvcmVzb2x2ZXJzL3BvcnRhbC1mb3JtLXBhZ2UucmVzb2x2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQixnQkFBZSxDQUFDO0lBQ2hCLE9BQU8sQ0FDSCxLQUE2QjtJQUM3Qiw2QkFBNkI7O1FBRTdCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsbUJBQW1CO1FBQ3ZELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7O21IQVJRLHNCQUFzQjt1SEFBdEIsc0JBQXNCLGNBRFQsTUFBTTsyRkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJlc29sdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQb3J0YWxGb3JtUGFnZVJlc29sdmVyIGltcGxlbWVudHMgUmVzb2x2ZTxzdHJpbmc+IHtcbiAgICBjb25zdHJ1Y3RvcigpIHt9XG4gICAgcmVzb2x2ZShcbiAgICAgICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3RcbiAgICAgICAgLy8gc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3RcbiAgICApOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBicmVhZGNydW1iID0gcm91dGUucGFyYW1zLmJjOyAvLyBtZWFucyBicmVhZENydW1iXG4gICAgICAgIHJldHVybiBicmVhZGNydW1iO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,30 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../services/portal.service";
4
+ export class PortalPageResolver {
5
+ constructor(portalService) {
6
+ this.portalService = portalService;
7
+ }
8
+ resolve(route
9
+ // state: RouterStateSnapshot
10
+ ) {
11
+ // const url = decodeURI(route['_routerState'].url);
12
+ // let url2=route.routeConfig?.path;
13
+ // if(route.routeConfig?.path=='')
14
+ // {
15
+ // url2 = url.split('/').find((c) => c && !c.startsWith('(')) ?? '';
16
+ // }
17
+ // if(url2=='**'){
18
+ // url2=route.url[0].path;
19
+ // }
20
+ // url2 = '/' + url2;
21
+ return this.portalService.resolveData(route.data.pageData);
22
+ }
23
+ }
24
+ PortalPageResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PortalPageResolver, deps: [{ token: i1.PortalService }], target: i0.ɵɵFactoryTarget.Injectable });
25
+ PortalPageResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PortalPageResolver, providedIn: 'root' });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PortalPageResolver, decorators: [{
27
+ type: Injectable,
28
+ args: [{ providedIn: 'root' }]
29
+ }], ctorParameters: function () { return [{ type: i1.PortalService }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLXBhZ2UucmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3Jlc29sdmVycy9wb3J0YWwtcGFnZS5yZXNvbHZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRM0MsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQixZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7SUFFcEQsT0FBTyxDQUNILEtBQTZCO0lBQzdCLDZCQUE2Qjs7UUFFN0Isb0RBQW9EO1FBQ3BELG9DQUFvQztRQUNwQyxrQ0FBa0M7UUFDbEMsSUFBSTtRQUNKLHVFQUF1RTtRQUN2RSxJQUFJO1FBQ0osa0JBQWtCO1FBQ2xCLDRCQUE0QjtRQUM1QixJQUFJO1FBQ0oscUJBQXFCO1FBRXJCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvRCxDQUFDOzsrR0FuQlEsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FETCxNQUFNOzJGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUmVzb2x2ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFBhZ2VEYXRhTW9kZWwgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscyc7XG5pbXBvcnQgeyBQb3J0YWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcG9ydGFsLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFBvcnRhbFBhZ2VSZXNvbHZlciBpbXBsZW1lbnRzIFJlc29sdmU8UGFnZURhdGFNb2RlbCB8IG51bGw+IHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UpIHt9XG5cbiAgICByZXNvbHZlKFxuICAgICAgICByb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdFxuICAgICAgICAvLyBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdFxuICAgICk6IE9ic2VydmFibGU8UGFnZURhdGFNb2RlbCB8IG51bGw+IHtcbiAgICAgICAgLy8gY29uc3QgdXJsID0gZGVjb2RlVVJJKHJvdXRlWydfcm91dGVyU3RhdGUnXS51cmwpO1xuICAgICAgICAvLyBsZXQgdXJsMj1yb3V0ZS5yb3V0ZUNvbmZpZz8ucGF0aDtcbiAgICAgICAgLy8gaWYocm91dGUucm91dGVDb25maWc/LnBhdGg9PScnKVxuICAgICAgICAvLyB7XG4gICAgICAgIC8vICAgIHVybDIgPSB1cmwuc3BsaXQoJy8nKS5maW5kKChjKSA9PiBjICYmICFjLnN0YXJ0c1dpdGgoJygnKSkgPz8gJyc7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gaWYodXJsMj09JyoqJyl7XG4gICAgICAgIC8vICAgdXJsMj1yb3V0ZS51cmxbMF0ucGF0aDtcbiAgICAgICAgLy8gfVxuICAgICAgICAvLyB1cmwyID0gJy8nICsgdXJsMjtcblxuICAgICAgICByZXR1cm4gdGhpcy5wb3J0YWxTZXJ2aWNlLnJlc29sdmVEYXRhKHJvdXRlLmRhdGEucGFnZURhdGEpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,37 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../services/portal.service";
5
+ export class PortalReportPageResolver {
6
+ constructor(portalService) {
7
+ this.portalService = portalService;
8
+ }
9
+ resolve(route
10
+ // state: RouterStateSnapshot
11
+ ) {
12
+ // const url = decodeURI(route['_routerState'].url);
13
+ // let url2=route.routeConfig?.path;
14
+ // if(route.routeConfig?.path=='')
15
+ // {
16
+ // url2 = url.split('/').find((c) => c && !c.startsWith('(')) ?? '';
17
+ // }
18
+ // if(url2=='**'){
19
+ // url2=route.url[0].path;
20
+ // }
21
+ // url2 = '/' + url2;
22
+ const caption = route.params.id.split('__')[1];
23
+ return this.portalService.resolveData(route.data.pageData).pipe(map((pageData) => {
24
+ if (pageData) {
25
+ pageData.BreadCrumb = caption;
26
+ }
27
+ return pageData;
28
+ }));
29
+ }
30
+ }
31
+ PortalReportPageResolver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PortalReportPageResolver, deps: [{ token: i1.PortalService }], target: i0.ɵɵFactoryTarget.Injectable });
32
+ PortalReportPageResolver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PortalReportPageResolver, providedIn: 'root' });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: PortalReportPageResolver, decorators: [{
34
+ type: Injectable,
35
+ args: [{ providedIn: 'root' }]
36
+ }], ctorParameters: function () { return [{ type: i1.PortalService }]; } });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsLXJlcG9ydC1wYWdlLnJlc29sdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9yZXNvbHZlcnMvcG9ydGFsLXJlcG9ydC1wYWdlLnJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFNckMsTUFBTSxPQUFPLHdCQUF3QjtJQUNqQyxZQUFvQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtJQUFHLENBQUM7SUFFcEQsT0FBTyxDQUNILEtBQTZCO0lBQzdCLDZCQUE2Qjs7UUFFN0Isb0RBQW9EO1FBQ3BELG9DQUFvQztRQUNwQyxrQ0FBa0M7UUFDbEMsSUFBSTtRQUNKLHVFQUF1RTtRQUN2RSxJQUFJO1FBQ0osa0JBQWtCO1FBQ2xCLDRCQUE0QjtRQUM1QixJQUFJO1FBQ0oscUJBQXFCO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUMzRCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLElBQUksUUFBUSxFQUFFO2dCQUNWLFFBQVEsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDO2FBQ2pDO1lBQ0QsT0FBTyxRQUFRLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7O3FIQTFCUSx3QkFBd0I7eUhBQXhCLHdCQUF3QixjQURYLE1BQU07MkZBQ25CLHdCQUF3QjtrQkFEcEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSZXNvbHZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgUGFnZURhdGFNb2RlbCB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMnO1xuaW1wb3J0IHsgUG9ydGFsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3BvcnRhbC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBQb3J0YWxSZXBvcnRQYWdlUmVzb2x2ZXIgaW1wbGVtZW50cyBSZXNvbHZlPFBhZ2VEYXRhTW9kZWwgfCBudWxsPiB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlKSB7fVxuXG4gICAgcmVzb2x2ZShcbiAgICAgICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3RcbiAgICAgICAgLy8gc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3RcbiAgICApOiBPYnNlcnZhYmxlPFBhZ2VEYXRhTW9kZWwgfCBudWxsPiB7XG4gICAgICAgIC8vIGNvbnN0IHVybCA9IGRlY29kZVVSSShyb3V0ZVsnX3JvdXRlclN0YXRlJ10udXJsKTtcbiAgICAgICAgLy8gbGV0IHVybDI9cm91dGUucm91dGVDb25maWc/LnBhdGg7XG4gICAgICAgIC8vIGlmKHJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoPT0nJylcbiAgICAgICAgLy8ge1xuICAgICAgICAvLyAgICB1cmwyID0gdXJsLnNwbGl0KCcvJykuZmluZCgoYykgPT4gYyAmJiAhYy5zdGFydHNXaXRoKCcoJykpID8/ICcnO1xuICAgICAgICAvLyB9XG4gICAgICAgIC8vIGlmKHVybDI9PScqKicpe1xuICAgICAgICAvLyAgIHVybDI9cm91dGUudXJsWzBdLnBhdGg7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy8gdXJsMiA9ICcvJyArIHVybDI7XG4gICAgICAgIGNvbnN0IGNhcHRpb24gPSByb3V0ZS5wYXJhbXMuaWQuc3BsaXQoJ19fJylbMV07XG4gICAgICAgIHJldHVybiB0aGlzLnBvcnRhbFNlcnZpY2UucmVzb2x2ZURhdGEocm91dGUuZGF0YS5wYWdlRGF0YSkucGlwZShcbiAgICAgICAgICAgIG1hcCgocGFnZURhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocGFnZURhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFnZURhdGEuQnJlYWRDcnVtYiA9IGNhcHRpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBwYWdlRGF0YTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,21 @@
1
+ import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';
2
+ import { BaseComponent } from '../base.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/router";
5
+ export class RootPageComponent extends BaseComponent {
6
+ constructor(viewContainerRef) {
7
+ super();
8
+ this.viewContainerRef = viewContainerRef;
9
+ this._pageContent = true;
10
+ }
11
+ }
12
+ RootPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: RootPageComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
13
+ RootPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: RootPageComponent, selector: "bnrc-root-page", host: { properties: { "class.page-content": "this._pageContent" } }, usesInheritance: true, ngImport: i0, template: "<router-outlet></router-outlet>\r\n<router-outlet name=\"main\"></router-outlet>\r\n", styles: [":host{position:relative;display:block}\n"], dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: RootPageComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'bnrc-root-page', changeDetection: ChangeDetectionStrategy.OnPush, template: "<router-outlet></router-outlet>\r\n<router-outlet name=\"main\"></router-outlet>\r\n", styles: [":host{position:relative;display:block}\n"] }]
17
+ }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { _pageContent: [{
18
+ type: HostBinding,
19
+ args: ['class.page-content']
20
+ }] } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvcm9vdC1wYWdlL3Jvb3QtcGFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3Jvb3QtcGFnZS9yb290LXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBb0IsV0FBVyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBUWxELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBRWhELFlBQXNCLGdCQUFrQztRQUNwRCxLQUFLLEVBQUUsQ0FBQztRQURVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFEckIsaUJBQVksR0FBRyxJQUFJLENBQUM7SUFHdkQsQ0FBQzs7OEdBSlEsaUJBQWlCO2tHQUFqQixpQkFBaUIsa0pDVDlCLHNGQUVBOzJGRE9hLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDSSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTTt1R0FHWixZQUFZO3NCQUE5QyxXQUFXO3VCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NvbnRhaW5lclJlZiwgSG9zdEJpbmRpbmcsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JucmMtcm9vdC1wYWdlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcm9vdC1wYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yb290LXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSb290UGFnZUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MucGFnZS1jb250ZW50JykgX3BhZ2VDb250ZW50ID0gdHJ1ZTtcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbn1cbiIsIjxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuPHJvdXRlci1vdXRsZXQgbmFtZT1cIm1haW5cIj48L3JvdXRlci1vdXRsZXQ+XHJcbiJdfQ==
@@ -0,0 +1,51 @@
1
+ import { ChangeDetectionStrategy, Component, ViewChild } from '@angular/core';
2
+ import { NavigationEnd, NavigationStart, RouterEvent } from '@angular/router';
3
+ import { PageBaseComponent } from '../abstract-classes';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/router";
6
+ export class RootPortalComponent extends PageBaseComponent {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.isRoot = true;
10
+ }
11
+ ngOnInit() {
12
+ super.ngOnInit();
13
+ this._router.events.subscribe((event) => {
14
+ if (event instanceof NavigationStart && event instanceof RouterEvent) {
15
+ this._portalService.naviationStart(event);
16
+ }
17
+ if (event instanceof NavigationEnd && event instanceof RouterEvent) {
18
+ this._portalService.naviationEnd(event);
19
+ }
20
+ });
21
+ }
22
+ }
23
+ RootPortalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: RootPortalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
24
+ RootPortalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: RootPortalComponent, selector: "bnrc-root-portal", viewQueries: [{ propertyName: "sectionRef", first: true, predicate: ["sectionRef"], descendants: true }, { propertyName: "footerRef", first: true, predicate: ["footerRef"], descendants: true }], usesInheritance: true, ngImport: i0, template: `<section class="section" id="mainpage" #sectionRef>
25
+ <div #containerRef></div>
26
+ </section>
27
+ <div class="page-wrapper">
28
+ <router-outlet></router-outlet>
29
+ </div>
30
+ <footer #footerRef></footer> `, isInline: true, dependencies: [{ kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: RootPortalComponent, decorators: [{
32
+ type: Component,
33
+ args: [{
34
+ selector: 'bnrc-root-portal',
35
+ template: `<section class="section" id="mainpage" #sectionRef>
36
+ <div #containerRef></div>
37
+ </section>
38
+ <div class="page-wrapper">
39
+ <router-outlet></router-outlet>
40
+ </div>
41
+ <footer #footerRef></footer> `,
42
+ changeDetection: ChangeDetectionStrategy.OnPush
43
+ }]
44
+ }], propDecorators: { sectionRef: [{
45
+ type: ViewChild,
46
+ args: ['sectionRef']
47
+ }], footerRef: [{
48
+ type: ViewChild,
49
+ args: ['footerRef']
50
+ }] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wb3J0YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9yb290LXBvcnRhbC9yb290LXBvcnRhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBc0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxHLE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzlFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7QUFheEQsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGlCQUFpQjtJQVgxRDs7UUFnQkksV0FBTSxHQUFHLElBQUksQ0FBQztLQVlqQjtJQVhHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxLQUFLLFlBQVksZUFBZSxJQUFJLEtBQUssWUFBWSxXQUFXLEVBQUU7Z0JBQ2xFLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzdDO1lBQ0QsSUFBSSxLQUFLLFlBQVksYUFBYSxJQUFJLEtBQUssWUFBWSxXQUFXLEVBQUU7Z0JBQ2hFLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzNDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztnSEFoQlEsbUJBQW1CO29HQUFuQixtQkFBbUIsa1JBVGxCOzs7Ozs7c0NBTXdCOzJGQUd6QixtQkFBbUI7a0JBWC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFOzs7Ozs7c0NBTXdCO29CQUNsQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDbEQ7OEJBRTRCLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWTtnQkFDQyxTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlckV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgUGFnZUJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLXJvb3QtcG9ydGFsJyxcbiAgICB0ZW1wbGF0ZTogYDxzZWN0aW9uIGNsYXNzPVwic2VjdGlvblwiIGlkPVwibWFpbnBhZ2VcIiAjc2VjdGlvblJlZj5cbiAgICAgICAgICAgIDxkaXYgI2NvbnRhaW5lclJlZj48L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS13cmFwcGVyXCI+XG4gICAgICAgICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8Zm9vdGVyICNmb290ZXJSZWY+PC9mb290ZXI+IGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUm9vdFBvcnRhbENvbXBvbmVudCBleHRlbmRzIFBhZ2VCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdzZWN0aW9uUmVmJykgc2VjdGlvblJlZjogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdmb290ZXJSZWYnKSBmb290ZXJSZWY6IEVsZW1lbnRSZWY7XG4gICAgcG9ydGFsTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgbW9kdWxlczogYW55O1xuICAgIGlzUm9vdCA9IHRydWU7XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuX3JvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0ICYmIGV2ZW50IGluc3RhbmNlb2YgUm91dGVyRXZlbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLm5hdmlhdGlvblN0YXJ0KGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgJiYgZXZlbnQgaW5zdGFuY2VvZiBSb3V0ZXJFdmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWF0aW9uRW5kKGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,60 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { from } from 'rxjs';
3
+ import { BarsaApi } from '../abstract-classes/barsa-api';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common/http";
6
+ export class ApiService {
7
+ constructor(httpClient) {
8
+ this.httpClient = httpClient;
9
+ this.portalLoginUrl = `/api/auth/portal/login`;
10
+ this.executeUrl = `api/base/execute`;
11
+ }
12
+ loginPortal() {
13
+ return this.httpClient.get(this.portalLoginUrl);
14
+ }
15
+ loadPortalPageData(pageId, typeDefId) {
16
+ return from(this.loadFormAjax({
17
+ formParam: {
18
+ IsNew: false,
19
+ Mo: { Id: pageId, $TypeDefId: typeDefId }
20
+ }
21
+ }, 'Form94.GetPortal'));
22
+ }
23
+ loadPortal(portalId, typeDefId) {
24
+ return from(this.loadFormAjax({
25
+ formParam: {
26
+ IsNew: false,
27
+ Mo: { Id: portalId, $TypeDefId: typeDefId }
28
+ }
29
+ }, 'Form94.GetPortal'));
30
+ }
31
+ loadPortalSync(portalId, typeDefId) {
32
+ return this.getServerDataSync({
33
+ formParam: {
34
+ IsNew: false,
35
+ Mo: { Id: portalId, $TypeDefId: typeDefId }
36
+ }
37
+ }, 'Form94.GetPortal');
38
+ }
39
+ getServerDataSync(param, action) {
40
+ return BarsaApi.Common.Ajax.GetServerData_SyncReturn(action, param, false);
41
+ }
42
+ loadFormAjax(param, action) {
43
+ return new Promise((resolve, reject) => {
44
+ BarsaApi.Common.Ajax.GetServerData(action, param, (m) => {
45
+ resolve(m);
46
+ }, (err) => {
47
+ reject(err);
48
+ });
49
+ });
50
+ }
51
+ }
52
+ ApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ApiService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
53
+ ApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ApiService, providedIn: 'root' });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ApiService, decorators: [{
55
+ type: Injectable,
56
+ args: [{
57
+ providedIn: 'root'
58
+ }]
59
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3NlcnZpY2VzL2FwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQU16RCxNQUFNLE9BQU8sVUFBVTtJQUduQixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBRjFDLG1CQUFjLEdBQUcsd0JBQXdCLENBQUM7UUFDMUMsZUFBVSxHQUFHLGtCQUFrQixDQUFDO0lBQ2EsQ0FBQztJQUV2QyxXQUFXO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBYyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUNNLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxTQUFTO1FBQ3ZDLE9BQU8sSUFBSSxDQUNQLElBQUksQ0FBQyxZQUFZLENBQ2I7WUFDSSxTQUFTLEVBQUU7Z0JBQ1AsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFO2FBQzVDO1NBQ0osRUFDRCxrQkFBa0IsQ0FDckIsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUNNLFVBQVUsQ0FBQyxRQUFRLEVBQUUsU0FBUztRQUNqQyxPQUFPLElBQUksQ0FDUCxJQUFJLENBQUMsWUFBWSxDQUNiO1lBQ0ksU0FBUyxFQUFFO2dCQUNQLEtBQUssRUFBRSxLQUFLO2dCQUNaLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTthQUM5QztTQUNKLEVBQ0Qsa0JBQWtCLENBQ3JCLENBQ0osQ0FBQztJQUNOLENBQUM7SUFDTSxjQUFjLENBQUMsUUFBUSxFQUFFLFNBQVM7UUFDckMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQ3pCO1lBQ0ksU0FBUyxFQUFFO2dCQUNQLEtBQUssRUFBRSxLQUFLO2dCQUNaLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRTthQUM5QztTQUNKLEVBQ0Qsa0JBQWtCLENBQ3JCLENBQUM7SUFDTixDQUFDO0lBQ08saUJBQWlCLENBQUMsS0FBSyxFQUFFLE1BQU07UUFDbkMsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFDTyxZQUFZLENBQUMsS0FBSyxFQUFFLE1BQU07UUFDOUIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQzlCLE1BQU0sRUFDTixLQUFLLEVBQ0wsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDRixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDZixDQUFDLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDSixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEIsQ0FBQyxDQUNKLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O3VHQTdEUSxVQUFVOzJHQUFWLFVBQVUsY0FGUCxNQUFNOzJGQUVULFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQmFyc2FBcGkgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzL2JhcnNhLWFwaSc7XG5pbXBvcnQgeyBMb2dpblJlc3VsdCwgUG9ydGFsRGF0YU1vZGVsIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcy9tb2RlbHMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFwaVNlcnZpY2Uge1xuICAgIHBvcnRhbExvZ2luVXJsID0gYC9hcGkvYXV0aC9wb3J0YWwvbG9naW5gO1xuICAgIGV4ZWN1dGVVcmwgPSBgYXBpL2Jhc2UvZXhlY3V0ZWA7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwQ2xpZW50OiBIdHRwQ2xpZW50KSB7fVxuXG4gICAgcHVibGljIGxvZ2luUG9ydGFsKCk6IE9ic2VydmFibGU8TG9naW5SZXN1bHQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5nZXQ8TG9naW5SZXN1bHQ+KHRoaXMucG9ydGFsTG9naW5VcmwpO1xuICAgIH1cbiAgICBwdWJsaWMgbG9hZFBvcnRhbFBhZ2VEYXRhKHBhZ2VJZCwgdHlwZURlZklkKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20oXG4gICAgICAgICAgICB0aGlzLmxvYWRGb3JtQWpheChcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZvcm1QYXJhbToge1xuICAgICAgICAgICAgICAgICAgICAgICAgSXNOZXc6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgTW86IHsgSWQ6IHBhZ2VJZCwgJFR5cGVEZWZJZDogdHlwZURlZklkIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgJ0Zvcm05NC5HZXRQb3J0YWwnXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuICAgIHB1YmxpYyBsb2FkUG9ydGFsKHBvcnRhbElkLCB0eXBlRGVmSWQpOiBPYnNlcnZhYmxlPFBvcnRhbERhdGFNb2RlbD4ge1xuICAgICAgICByZXR1cm4gZnJvbShcbiAgICAgICAgICAgIHRoaXMubG9hZEZvcm1BamF4KFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZm9ybVBhcmFtOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBJc05ldzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBNbzogeyBJZDogcG9ydGFsSWQsICRUeXBlRGVmSWQ6IHR5cGVEZWZJZCB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICdGb3JtOTQuR2V0UG9ydGFsJ1xuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbiAgICBwdWJsaWMgbG9hZFBvcnRhbFN5bmMocG9ydGFsSWQsIHR5cGVEZWZJZCk6IFBvcnRhbERhdGFNb2RlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFNlcnZlckRhdGFTeW5jKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZvcm1QYXJhbToge1xuICAgICAgICAgICAgICAgICAgICBJc05ldzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIE1vOiB7IElkOiBwb3J0YWxJZCwgJFR5cGVEZWZJZDogdHlwZURlZklkIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgJ0Zvcm05NC5HZXRQb3J0YWwnXG4gICAgICAgICk7XG4gICAgfVxuICAgIHByaXZhdGUgZ2V0U2VydmVyRGF0YVN5bmMocGFyYW0sIGFjdGlvbik6IFBvcnRhbERhdGFNb2RlbCB7XG4gICAgICAgIHJldHVybiBCYXJzYUFwaS5Db21tb24uQWpheC5HZXRTZXJ2ZXJEYXRhX1N5bmNSZXR1cm4oYWN0aW9uLCBwYXJhbSwgZmFsc2UpO1xuICAgIH1cbiAgICBwcml2YXRlIGxvYWRGb3JtQWpheChwYXJhbSwgYWN0aW9uKTogUHJvbWlzZTxQb3J0YWxEYXRhTW9kZWw+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5BamF4LkdldFNlcnZlckRhdGEoXG4gICAgICAgICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgICAgICAgIHBhcmFtLFxuICAgICAgICAgICAgICAgIChtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUobSk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,80 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { ActivatedRoute } from '@angular/router';
3
+ import { Subject } from 'rxjs';
4
+ import { ModalRootComponent } from '../modal-root.component';
5
+ import * as i0 from "@angular/core";
6
+ export class CustomInjector {
7
+ constructor(parentInjector, additionalTokens, activatedRoute) {
8
+ this.parentInjector = parentInjector;
9
+ this.additionalTokens = additionalTokens;
10
+ this.activatedRoute = activatedRoute;
11
+ }
12
+ get(token, notFoundValue) {
13
+ if (token === ActivatedRoute && this.activatedRoute) {
14
+ return this.activatedRoute;
15
+ }
16
+ const value = this.additionalTokens.get(token);
17
+ if (value) {
18
+ return value;
19
+ }
20
+ return this.parentInjector.get(token, notFoundValue);
21
+ }
22
+ }
23
+ export class DialogParams {
24
+ constructor() {
25
+ this.afterClosed = new Subject();
26
+ this.afterClosed$ = this.afterClosed?.asObservable();
27
+ }
28
+ close(result) {
29
+ if (this.afterClosed != null) {
30
+ this.afterClosed.next(result);
31
+ }
32
+ }
33
+ ngOnDestroy() {
34
+ this.afterClosed.unsubscribe();
35
+ }
36
+ }
37
+ DialogParams.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: DialogParams, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
38
+ DialogParams.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: DialogParams });
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: DialogParams, decorators: [{
40
+ type: Injectable
41
+ }], ctorParameters: function () { return []; } });
42
+ export class BarsaDialogService {
43
+ constructor(factoryResolver, injector) {
44
+ this.factoryResolver = factoryResolver;
45
+ this.injector = injector;
46
+ }
47
+ showForm(component, context, container) {
48
+ const weakMap = new WeakMap();
49
+ const dialogParams = new DialogParams();
50
+ dialogParams.context = context;
51
+ weakMap.set(DialogParams, dialogParams);
52
+ const viewContainerRef = container ?? this.containerComponent.vcr;
53
+ const factory = this.factoryResolver.resolveComponentFactory(ModalRootComponent);
54
+ const modalRootComponentRef = factory.create(new CustomInjector(viewContainerRef.injector, weakMap));
55
+ modalRootComponentRef.instance.componentType = component;
56
+ if (!context.inDialog) {
57
+ // viewContainerRef.element.nativeElement.classList.add('deactive');
58
+ }
59
+ viewContainerRef.insert(modalRootComponentRef.hostView, 0);
60
+ this.containerComponent.cdr.detectChanges();
61
+ const sub = dialogParams.afterClosed$?.subscribe(() => {
62
+ modalRootComponentRef.instance.close();
63
+ viewContainerRef.remove(0);
64
+ sub?.unsubscribe();
65
+ // viewContainerRef.element.nativeElement.classList.remove('deactive');
66
+ });
67
+ this.containerComponent.cdr.detectChanges();
68
+ // this.modalRootComponentRef.instance.navigate();
69
+ return dialogParams.afterClosed$;
70
+ }
71
+ }
72
+ BarsaDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaDialogService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
73
+ BarsaDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaDialogService, providedIn: 'root' });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaDialogService, decorators: [{
75
+ type: Injectable,
76
+ args: [{
77
+ providedIn: 'root'
78
+ }]
79
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }]; } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3NlcnZpY2VzL2JhcnNhLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxVQUFVLEVBT2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHM0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRTdELE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLFlBQ1ksY0FBd0IsRUFDeEIsZ0JBQW1DLEVBQ25DLGNBQStCO1FBRi9CLG1CQUFjLEdBQWQsY0FBYyxDQUFVO1FBQ3hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBbUI7UUFDbkMsbUJBQWMsR0FBZCxjQUFjLENBQWlCO0lBQ3hDLENBQUM7SUFHSixHQUFHLENBQUMsS0FBVSxFQUFFLGFBQW1CO1FBQy9CLElBQUksS0FBSyxLQUFLLGNBQWMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUM5QjtRQUNELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsSUFBSSxLQUFLLEVBQUU7WUFDUCxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQU0sS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxZQUFZO0lBSXJCO1FBRFEsZ0JBQVcsR0FBaUIsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUVuRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUNELEtBQUssQ0FBQyxNQUFZO1FBQ2QsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksRUFBRTtZQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNqQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzt5R0FmUSxZQUFZOzZHQUFaLFlBQVk7MkZBQVosWUFBWTtrQkFEeEIsVUFBVTs7QUFzQlgsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixZQUFzQixlQUF5QyxFQUFZLFFBQWtCO1FBQXZFLG9CQUFlLEdBQWYsZUFBZSxDQUEwQjtRQUFZLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRWpHLFFBQVEsQ0FBQyxTQUFvQixFQUFFLE9BQVksRUFBRSxTQUE0QjtRQUNyRSxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRTlCLE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDeEMsWUFBWSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDL0IsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFFeEMsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQztRQUNsRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDakYsTUFBTSxxQkFBcUIsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBRXJHLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO1FBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ25CLG9FQUFvRTtTQUN2RTtRQUNELGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM1QyxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbEQscUJBQXFCLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQixHQUFHLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDbkIsdUVBQXVFO1FBQzNFLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM1QyxrREFBa0Q7UUFDbEQsT0FBTyxZQUFZLENBQUMsWUFBWSxDQUFDO0lBQ3JDLENBQUM7OytHQTlCUSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZmLE1BQU07MkZBRVQsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBJbmplY3RhYmxlLFxyXG4gICAgSW5qZWN0RmxhZ3MsXHJcbiAgICBJbmplY3Rpb25Ub2tlbixcclxuICAgIEluamVjdG9yLFxyXG4gICAgT25EZXN0cm95LFxyXG4gICAgVHlwZSxcclxuICAgIFZpZXdDb250YWluZXJSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbnRhaW5lci5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgTW9kYWxSb290Q29tcG9uZW50IH0gZnJvbSAnLi4vbW9kYWwtcm9vdC5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEN1c3RvbUluamVjdG9yIGltcGxlbWVudHMgSW5qZWN0b3Ige1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBwYXJlbnRJbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSBhZGRpdGlvbmFsVG9rZW5zOiBXZWFrTWFwPGFueSwgYW55PixcclxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlPzogQWN0aXZhdGVkUm91dGVcclxuICAgICkge31cclxuXHJcbiAgICBnZXQ8VD4odG9rZW46IFR5cGU8VD4gfCBJbmplY3Rpb25Ub2tlbjxUPiwgbm90Rm91bmRWYWx1ZT86IFQsIGZsYWdzPzogSW5qZWN0RmxhZ3MpOiBUO1xyXG4gICAgZ2V0KHRva2VuOiBhbnksIG5vdEZvdW5kVmFsdWU/OiBhbnkpOiBhbnkge1xyXG4gICAgICAgIGlmICh0b2tlbiA9PT0gQWN0aXZhdGVkUm91dGUgJiYgdGhpcy5hY3RpdmF0ZWRSb3V0ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hY3RpdmF0ZWRSb3V0ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmFkZGl0aW9uYWxUb2tlbnMuZ2V0KHRva2VuKTtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5wYXJlbnRJbmplY3Rvci5nZXQ8YW55Pih0b2tlbiwgbm90Rm91bmRWYWx1ZSk7XHJcbiAgICB9XHJcbn1cclxuQEluamVjdGFibGUoKSAvLyBjaGVjayBpdCBsYXRlclxyXG5leHBvcnQgY2xhc3MgRGlhbG9nUGFyYW1zIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIGNvbnRleHQ6IGFueTtcclxuICAgIGFmdGVyQ2xvc2VkJDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgcHJpdmF0ZSBhZnRlckNsb3NlZDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5hZnRlckNsb3NlZCQgPSB0aGlzLmFmdGVyQ2xvc2VkPy5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuICAgIGNsb3NlKHJlc3VsdD86IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmFmdGVyQ2xvc2VkICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5hZnRlckNsb3NlZC5uZXh0KHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYWZ0ZXJDbG9zZWQudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYXJzYURpYWxvZ1NlcnZpY2Uge1xyXG4gICAgY29udGFpbmVyQ29tcG9uZW50OiBDb250YWluZXJDb21wb25lbnQ7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgZmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IpIHt9XHJcblxyXG4gICAgc2hvd0Zvcm0oY29tcG9uZW50OiBUeXBlPGFueT4sIGNvbnRleHQ6IGFueSwgY29udGFpbmVyPzogVmlld0NvbnRhaW5lclJlZik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgY29uc3Qgd2Vha01hcCA9IG5ldyBXZWFrTWFwKCk7XHJcblxyXG4gICAgICAgIGNvbnN0IGRpYWxvZ1BhcmFtcyA9IG5ldyBEaWFsb2dQYXJhbXMoKTtcclxuICAgICAgICBkaWFsb2dQYXJhbXMuY29udGV4dCA9IGNvbnRleHQ7XHJcbiAgICAgICAgd2Vha01hcC5zZXQoRGlhbG9nUGFyYW1zLCBkaWFsb2dQYXJhbXMpO1xyXG5cclxuICAgICAgICBjb25zdCB2aWV3Q29udGFpbmVyUmVmID0gY29udGFpbmVyID8/IHRoaXMuY29udGFpbmVyQ29tcG9uZW50LnZjcjtcclxuICAgICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5mYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTW9kYWxSb290Q29tcG9uZW50KTtcclxuICAgICAgICBjb25zdCBtb2RhbFJvb3RDb21wb25lbnRSZWYgPSBmYWN0b3J5LmNyZWF0ZShuZXcgQ3VzdG9tSW5qZWN0b3Iodmlld0NvbnRhaW5lclJlZi5pbmplY3Rvciwgd2Vha01hcCkpO1xyXG5cclxuICAgICAgICBtb2RhbFJvb3RDb21wb25lbnRSZWYuaW5zdGFuY2UuY29tcG9uZW50VHlwZSA9IGNvbXBvbmVudDtcclxuICAgICAgICBpZiAoIWNvbnRleHQuaW5EaWFsb2cpIHtcclxuICAgICAgICAgICAgLy8gdmlld0NvbnRhaW5lclJlZi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnZGVhY3RpdmUnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdmlld0NvbnRhaW5lclJlZi5pbnNlcnQobW9kYWxSb290Q29tcG9uZW50UmVmLmhvc3RWaWV3LCAwKTtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lckNvbXBvbmVudC5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIGNvbnN0IHN1YiA9IGRpYWxvZ1BhcmFtcy5hZnRlckNsb3NlZCQ/LnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIG1vZGFsUm9vdENvbXBvbmVudFJlZi5pbnN0YW5jZS5jbG9zZSgpO1xyXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmLnJlbW92ZSgwKTtcclxuICAgICAgICAgICAgc3ViPy51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgICAvLyB2aWV3Q29udGFpbmVyUmVmLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCdkZWFjdGl2ZScpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29udGFpbmVyQ29tcG9uZW50LmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgLy8gdGhpcy5tb2RhbFJvb3RDb21wb25lbnRSZWYuaW5zdGFuY2UubmF2aWdhdGUoKTtcclxuICAgICAgICByZXR1cm4gZGlhbG9nUGFyYW1zLmFmdGVyQ2xvc2VkJDtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,60 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { NavigationEnd } from '@angular/router';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { filter, map, startWith } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ export class BreadcrumbService {
8
+ constructor(router) {
9
+ this.router = router;
10
+ // Subject emitting the breadcrumb hierarchy
11
+ this._breadcrumbs$ = new BehaviorSubject([]);
12
+ this.breadcrumbs$ = this._breadcrumbs$.asObservable();
13
+ this.router.events
14
+ .pipe(
15
+ // Filter the NavigationEnd events as the breadcrumb is updated only when the route reaches its end
16
+ filter((event) => event instanceof NavigationEnd), startWith(this.router), map(() => this.router.routerState.root))
17
+ .subscribe((root) => {
18
+ // Construct the breadcrumb hierarchy
19
+ // const root = this.router.routerState.snapshot.root;
20
+ const breadcrumbs = [];
21
+ this.addBreadcrumb(root, breadcrumbs);
22
+ // Emit the new hierarchy
23
+ this._breadcrumbs$.next(breadcrumbs);
24
+ });
25
+ }
26
+ addBreadcrumb(route, breadcrumbs) {
27
+ if (route) {
28
+ // Add an element for the current route part
29
+ if (route.snapshot.data?.breadcrumb || route.snapshot.data?.pageData?.BreadCrumb) {
30
+ let url = '';
31
+ const routeURL = route.snapshot.url.map((segment) => segment.path).join('/');
32
+ if (routeURL !== '') {
33
+ url += `/${routeURL}`;
34
+ }
35
+ const breadcrumb = {
36
+ label: this.getLabel(route.snapshot.data),
37
+ url,
38
+ route
39
+ };
40
+ breadcrumbs.push(breadcrumb);
41
+ }
42
+ // Add another element for the next route part
43
+ this.addBreadcrumb(route.firstChild, breadcrumbs);
44
+ }
45
+ }
46
+ getLabel(data) {
47
+ // The breadcrumb can be defined as a static string or as a function to construct the breadcrumb element out of the route data
48
+ const breadcrumb = data.breadcrumb || data.pageData.BreadCrumb;
49
+ return typeof breadcrumb === 'function' ? data.breadcrumb(data) : breadcrumb;
50
+ }
51
+ }
52
+ BreadcrumbService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
53
+ BreadcrumbService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BreadcrumbService, decorators: [{
55
+ type: Injectable,
56
+ args: [{
57
+ providedIn: 'root'
58
+ }]
59
+ }], ctorParameters: function () { return [{ type: i1.Router }]; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9icmVhZGNydW1iLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXdCLGFBQWEsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQU14RCxNQUFNLE9BQU8saUJBQWlCO0lBTzFCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBSGxDLDRDQUE0QztRQUMzQixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFtQixFQUFFLENBQUMsQ0FBQztRQUd2RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNO2FBQ2IsSUFBSTtRQUNELG1HQUFtRztRQUNuRyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsRUFDakQsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDdEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUMxQzthQUNBLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hCLHFDQUFxQztZQUNyQyxzREFBc0Q7WUFDdEQsTUFBTSxXQUFXLEdBQXFCLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUV0Qyx5QkFBeUI7WUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQTRCLEVBQUUsV0FBNkI7UUFDN0UsSUFBSSxLQUFLLEVBQUU7WUFDUCw0Q0FBNEM7WUFDNUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxVQUFVLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtnQkFDOUUsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO2dCQUNiLE1BQU0sUUFBUSxHQUFXLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDckYsSUFBSSxRQUFRLEtBQUssRUFBRSxFQUFFO29CQUNqQixHQUFHLElBQUksSUFBSSxRQUFRLEVBQUUsQ0FBQztpQkFDekI7Z0JBQ0QsTUFBTSxVQUFVLEdBQUc7b0JBQ2YsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7b0JBQ3pDLEdBQUc7b0JBQ0gsS0FBSztpQkFDUixDQUFDO2dCQUNGLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEM7WUFDRCw4Q0FBOEM7WUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQ3JEO0lBQ0wsQ0FBQztJQUVPLFFBQVEsQ0FBQyxJQUFVO1FBQ3ZCLDhIQUE4SDtRQUM5SCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1FBRS9ELE9BQU8sT0FBTyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDakYsQ0FBQzs7OEdBckRRLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmQsTUFBTTsyRkFFVCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIERhdGEsIE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCcmVhZENydW1iSW5mbyB9IGZyb20gJy4vcG9ydGFsLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJTZXJ2aWNlIHtcbiAgICAvLyBPYnNlcnZhYmxlIGV4cG9zaW5nIHRoZSBicmVhZGNydW1iIGhpZXJhcmNoeVxuICAgIHJlYWRvbmx5IGJyZWFkY3J1bWJzJDogT2JzZXJ2YWJsZTxCcmVhZENydW1iSW5mb1tdPjtcblxuICAgIC8vIFN1YmplY3QgZW1pdHRpbmcgdGhlIGJyZWFkY3J1bWIgaGllcmFyY2h5XG4gICAgcHJpdmF0ZSByZWFkb25seSBfYnJlYWRjcnVtYnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxCcmVhZENydW1iSW5mb1tdPihbXSk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7XG4gICAgICAgIHRoaXMuYnJlYWRjcnVtYnMkID0gdGhpcy5fYnJlYWRjcnVtYnMkLmFzT2JzZXJ2YWJsZSgpO1xuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIC8vIEZpbHRlciB0aGUgTmF2aWdhdGlvbkVuZCBldmVudHMgYXMgdGhlIGJyZWFkY3J1bWIgaXMgdXBkYXRlZCBvbmx5IHdoZW4gdGhlIHJvdXRlIHJlYWNoZXMgaXRzIGVuZFxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMucm91dGVyKSxcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUucm9vdClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJvb3QpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBDb25zdHJ1Y3QgdGhlIGJyZWFkY3J1bWIgaGllcmFyY2h5XG4gICAgICAgICAgICAgICAgLy8gY29uc3Qgcm9vdCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3Q7XG4gICAgICAgICAgICAgICAgY29uc3QgYnJlYWRjcnVtYnM6IEJyZWFkQ3J1bWJJbmZvW10gPSBbXTtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZEJyZWFkY3J1bWIocm9vdCwgYnJlYWRjcnVtYnMpO1xuXG4gICAgICAgICAgICAgICAgLy8gRW1pdCB0aGUgbmV3IGhpZXJhcmNoeVxuICAgICAgICAgICAgICAgIHRoaXMuX2JyZWFkY3J1bWJzJC5uZXh0KGJyZWFkY3J1bWJzKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgYWRkQnJlYWRjcnVtYihyb3V0ZTogQWN0aXZhdGVkUm91dGUgfCBudWxsLCBicmVhZGNydW1iczogQnJlYWRDcnVtYkluZm9bXSk6IHZvaWQge1xuICAgICAgICBpZiAocm91dGUpIHtcbiAgICAgICAgICAgIC8vIEFkZCBhbiBlbGVtZW50IGZvciB0aGUgY3VycmVudCByb3V0ZSBwYXJ0XG4gICAgICAgICAgICBpZiAocm91dGUuc25hcHNob3QuZGF0YT8uYnJlYWRjcnVtYiB8fCByb3V0ZS5zbmFwc2hvdC5kYXRhPy5wYWdlRGF0YT8uQnJlYWRDcnVtYikge1xuICAgICAgICAgICAgICAgIGxldCB1cmwgPSAnJztcbiAgICAgICAgICAgICAgICBjb25zdCByb3V0ZVVSTDogc3RyaW5nID0gcm91dGUuc25hcHNob3QudXJsLm1hcCgoc2VnbWVudCkgPT4gc2VnbWVudC5wYXRoKS5qb2luKCcvJyk7XG4gICAgICAgICAgICAgICAgaWYgKHJvdXRlVVJMICE9PSAnJykge1xuICAgICAgICAgICAgICAgICAgICB1cmwgKz0gYC8ke3JvdXRlVVJMfWA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGJyZWFkY3J1bWIgPSB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmdldExhYmVsKHJvdXRlLnNuYXBzaG90LmRhdGEpLFxuICAgICAgICAgICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBicmVhZGNydW1icy5wdXNoKGJyZWFkY3J1bWIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQWRkIGFub3RoZXIgZWxlbWVudCBmb3IgdGhlIG5leHQgcm91dGUgcGFydFxuICAgICAgICAgICAgdGhpcy5hZGRCcmVhZGNydW1iKHJvdXRlLmZpcnN0Q2hpbGQsIGJyZWFkY3J1bWJzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TGFiZWwoZGF0YTogRGF0YSk6IHN0cmluZyB7XG4gICAgICAgIC8vIFRoZSBicmVhZGNydW1iIGNhbiBiZSBkZWZpbmVkIGFzIGEgc3RhdGljIHN0cmluZyBvciBhcyBhIGZ1bmN0aW9uIHRvIGNvbnN0cnVjdCB0aGUgYnJlYWRjcnVtYiBlbGVtZW50IG91dCBvZiB0aGUgcm91dGUgZGF0YVxuICAgICAgICBjb25zdCBicmVhZGNydW1iID0gZGF0YS5icmVhZGNydW1iIHx8IGRhdGEucGFnZURhdGEuQnJlYWRDcnVtYjtcblxuICAgICAgICByZXR1cm4gdHlwZW9mIGJyZWFkY3J1bWIgPT09ICdmdW5jdGlvbicgPyBkYXRhLmJyZWFkY3J1bWIoZGF0YSkgOiBicmVhZGNydW1iO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,36 @@
1
+ import { Injectable, Optional, SkipSelf } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ContainerService {
4
+ constructor(_parentService) {
5
+ this._parentService = _parentService;
6
+ }
7
+ ngOnDestroy() {
8
+ if (this._parentService) {
9
+ this._parentService.insert();
10
+ }
11
+ }
12
+ setViewContainerRef(viewContainerRef) {
13
+ this._viewContainerRef = viewContainerRef;
14
+ if (this._parentService) {
15
+ this._parentService.detach();
16
+ }
17
+ }
18
+ detach() {
19
+ this._viewRef = this._viewContainerRef.detach();
20
+ }
21
+ insert() {
22
+ if (this._viewRef) {
23
+ this._viewContainerRef.insert(this._viewRef);
24
+ }
25
+ }
26
+ }
27
+ ContainerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ContainerService, deps: [{ token: ContainerService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable });
28
+ ContainerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ContainerService });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ContainerService, decorators: [{
30
+ type: Injectable
31
+ }], ctorParameters: function () { return [{ type: ContainerService, decorators: [{
32
+ type: SkipSelf
33
+ }, {
34
+ type: Optional
35
+ }] }]; } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3NlcnZpY2VzL2NvbnRhaW5lci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsUUFBUSxFQUFFLFFBQVEsRUFBNkIsTUFBTSxlQUFlLENBQUM7O0FBRXJHLE1BQU0sT0FBTyxnQkFBZ0I7SUFJekIsWUFBNEMsY0FBZ0M7UUFBaEMsbUJBQWMsR0FBZCxjQUFjLENBQWtCO0lBQUcsQ0FBQztJQUNoRixXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDaEM7SUFDTCxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsZ0JBQWtDO1FBQ2xELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUMxQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNoQztJQUNMLENBQUM7SUFDTyxNQUFNO1FBQ1YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUNPLE1BQU07UUFDVixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNoRDtJQUNMLENBQUM7OzZHQXZCUSxnQkFBZ0I7aUhBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVOzswQkFLTSxRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBPcHRpb25hbCwgU2tpcFNlbGYsIFZpZXdDb250YWluZXJSZWYsIFZpZXdSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb250YWluZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIF92aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmO1xuICAgIHByaXZhdGUgX3ZpZXdSZWY6IFZpZXdSZWYgfCBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoQFNraXBTZWxmKCkgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcGFyZW50U2VydmljZTogQ29udGFpbmVyU2VydmljZSkge31cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3BhcmVudFNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuX3BhcmVudFNlcnZpY2UuaW5zZXJ0KCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2V0Vmlld0NvbnRhaW5lclJlZih2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZpZXdDb250YWluZXJSZWYgPSB2aWV3Q29udGFpbmVyUmVmO1xuICAgICAgICBpZiAodGhpcy5fcGFyZW50U2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5fcGFyZW50U2VydmljZS5kZXRhY2goKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIGRldGFjaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdmlld1JlZiA9IHRoaXMuX3ZpZXdDb250YWluZXJSZWYuZGV0YWNoKCk7XG4gICAgfVxuICAgIHByaXZhdGUgaW5zZXJ0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fdmlld1JlZikge1xuICAgICAgICAgICAgdGhpcy5fdmlld0NvbnRhaW5lclJlZi5pbnNlcnQodGhpcy5fdmlld1JlZik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import { NotFoundComponent } from '../not-found/not-found.component';
4
+ import * as i0 from "@angular/core";
5
+ export class DynamicComponentService {
6
+ constructor(cfr) {
7
+ this.cfr = cfr;
8
+ this._dynamicModuleWithComponents = {};
9
+ }
10
+ addModuleWithComponents(moduleName, ngModuleRef) {
11
+ if (!this._dynamicModuleWithComponents[moduleName]) {
12
+ this._dynamicModuleWithComponents[moduleName] = {
13
+ ngModuleRef
14
+ };
15
+ }
16
+ }
17
+ getComponentBySelector(selector, moduleName, injector) {
18
+ const moName = moduleName + 'Module';
19
+ const module = this._dynamicModuleWithComponents[moName];
20
+ if (module && module.ngModuleRef.getComponentFactory) {
21
+ const componentFactory = module.ngModuleRef.getComponentFactory(selector);
22
+ if (componentFactory) {
23
+ return of(componentFactory.create(injector));
24
+ }
25
+ }
26
+ const componentRef = this.cfr.resolveComponentFactory(NotFoundComponent).create(injector);
27
+ componentRef.instance.componentName = selector;
28
+ componentRef.instance.moduleName = moduleName;
29
+ return of(componentRef);
30
+ }
31
+ getComponentByName(componentName, moduleName, injector) {
32
+ const cmpName = componentName + 'Component';
33
+ const moName = moduleName + 'Module';
34
+ const module = this._dynamicModuleWithComponents[moName];
35
+ if (module && module.ngModuleRef.getComponentFactory) {
36
+ const componentFactory = module.ngModuleRef.getComponentFactory(cmpName);
37
+ if (componentFactory) {
38
+ return of(componentFactory.create(injector));
39
+ }
40
+ }
41
+ const componentRef = this.cfr.resolveComponentFactory(NotFoundComponent).create(injector);
42
+ componentRef.instance.componentName = componentName;
43
+ componentRef.instance.moduleName = moduleName;
44
+ return of(componentRef);
45
+ }
46
+ }
47
+ DynamicComponentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: DynamicComponentService, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable });
48
+ DynamicComponentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: DynamicComponentService, providedIn: 'root' });
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: DynamicComponentService, decorators: [{
50
+ type: Injectable,
51
+ args: [{
52
+ providedIn: 'root'
53
+ }]
54
+ }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }]; } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb21wb25lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvc2VydmljZXMvZHluYW1pYy1jb21wb25lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFvRCxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQUtyRSxNQUFNLE9BQU8sdUJBQXVCO0lBTWhDLFlBQW9CLEdBQTZCO1FBQTdCLFFBQUcsR0FBSCxHQUFHLENBQTBCO1FBTHpDLGlDQUE0QixHQUloQyxFQUFFLENBQUM7SUFDNkMsQ0FBQztJQUNyRCx1QkFBdUIsQ0FBQyxVQUFrQixFQUFFLFdBQWdCO1FBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDaEQsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxHQUFHO2dCQUM1QyxXQUFXO2FBQ2QsQ0FBQztTQUNMO0lBQ0wsQ0FBQztJQUNELHNCQUFzQixDQUNsQixRQUFnQixFQUNoQixVQUFrQixFQUNsQixRQUFrQjtRQUVsQixNQUFNLE1BQU0sR0FBRyxVQUFVLEdBQUcsUUFBUSxDQUFDO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RCxJQUFJLE1BQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFO1lBQ2xELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxRSxJQUFJLGdCQUFnQixFQUFFO2dCQUNsQixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQzthQUNoRDtTQUNKO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRixZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7UUFDL0MsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzlDLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxrQkFBa0IsQ0FDZCxhQUFxQixFQUNyQixVQUFrQixFQUNsQixRQUFrQjtRQUVsQixNQUFNLE9BQU8sR0FBRyxhQUFhLEdBQUcsV0FBVyxDQUFDO1FBQzVDLE1BQU0sTUFBTSxHQUFHLFVBQVUsR0FBRyxRQUFRLENBQUM7UUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUU7WUFDbEQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pFLElBQUksZ0JBQWdCLEVBQUU7Z0JBQ2xCLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQ2hEO1NBQ0o7UUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLGlCQUFpQixDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFGLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNwRCxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDOUMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7b0hBbERRLHVCQUF1Qjt3SEFBdkIsdUJBQXVCLGNBRnBCLE1BQU07MkZBRVQsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBDb21wb25lbnRSZWYsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5vdEZvdW5kQ29tcG9uZW50IH0gZnJvbSAnLi4vbm90LWZvdW5kL25vdC1mb3VuZC5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9keW5hbWljTW9kdWxlV2l0aENvbXBvbmVudHM6IHtcbiAgICAgICAgW2tleTogc3RyaW5nXToge1xuICAgICAgICAgICAgbmdNb2R1bGVSZWY6IGFueTtcbiAgICAgICAgfTtcbiAgICB9ID0ge307XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZnI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge31cbiAgICBhZGRNb2R1bGVXaXRoQ29tcG9uZW50cyhtb2R1bGVOYW1lOiBzdHJpbmcsIG5nTW9kdWxlUmVmOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9keW5hbWljTW9kdWxlV2l0aENvbXBvbmVudHNbbW9kdWxlTmFtZV0pIHtcbiAgICAgICAgICAgIHRoaXMuX2R5bmFtaWNNb2R1bGVXaXRoQ29tcG9uZW50c1ttb2R1bGVOYW1lXSA9IHtcbiAgICAgICAgICAgICAgICBuZ01vZHVsZVJlZlxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBnZXRDb21wb25lbnRCeVNlbGVjdG9yKFxuICAgICAgICBzZWxlY3Rvcjogc3RyaW5nLFxuICAgICAgICBtb2R1bGVOYW1lOiBzdHJpbmcsXG4gICAgICAgIGluamVjdG9yOiBJbmplY3RvclxuICAgICk6IE9ic2VydmFibGU8Q29tcG9uZW50UmVmPHVua25vd24+PiB7XG4gICAgICAgIGNvbnN0IG1vTmFtZSA9IG1vZHVsZU5hbWUgKyAnTW9kdWxlJztcbiAgICAgICAgY29uc3QgbW9kdWxlID0gdGhpcy5fZHluYW1pY01vZHVsZVdpdGhDb21wb25lbnRzW21vTmFtZV07XG4gICAgICAgIGlmIChtb2R1bGUgJiYgbW9kdWxlLm5nTW9kdWxlUmVmLmdldENvbXBvbmVudEZhY3RvcnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEZhY3RvcnkgPSBtb2R1bGUubmdNb2R1bGVSZWYuZ2V0Q29tcG9uZW50RmFjdG9yeShzZWxlY3Rvcik7XG4gICAgICAgICAgICBpZiAoY29tcG9uZW50RmFjdG9yeSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBvZihjb21wb25lbnRGYWN0b3J5LmNyZWF0ZShpbmplY3RvcikpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY2ZyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KE5vdEZvdW5kQ29tcG9uZW50KS5jcmVhdGUoaW5qZWN0b3IpO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29tcG9uZW50TmFtZSA9IHNlbGVjdG9yO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UubW9kdWxlTmFtZSA9IG1vZHVsZU5hbWU7XG4gICAgICAgIHJldHVybiBvZihjb21wb25lbnRSZWYpO1xuICAgIH1cbiAgICBnZXRDb21wb25lbnRCeU5hbWUoXG4gICAgICAgIGNvbXBvbmVudE5hbWU6IHN0cmluZyxcbiAgICAgICAgbW9kdWxlTmFtZTogc3RyaW5nLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApOiBPYnNlcnZhYmxlPENvbXBvbmVudFJlZjx1bmtub3duPj4ge1xuICAgICAgICBjb25zdCBjbXBOYW1lID0gY29tcG9uZW50TmFtZSArICdDb21wb25lbnQnO1xuICAgICAgICBjb25zdCBtb05hbWUgPSBtb2R1bGVOYW1lICsgJ01vZHVsZSc7XG4gICAgICAgIGNvbnN0IG1vZHVsZSA9IHRoaXMuX2R5bmFtaWNNb2R1bGVXaXRoQ29tcG9uZW50c1ttb05hbWVdO1xuICAgICAgICBpZiAobW9kdWxlICYmIG1vZHVsZS5uZ01vZHVsZVJlZi5nZXRDb21wb25lbnRGYWN0b3J5KSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gbW9kdWxlLm5nTW9kdWxlUmVmLmdldENvbXBvbmVudEZhY3RvcnkoY21wTmFtZSk7XG4gICAgICAgICAgICBpZiAoY29tcG9uZW50RmFjdG9yeSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBvZihjb21wb25lbnRGYWN0b3J5LmNyZWF0ZShpbmplY3RvcikpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY2ZyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KE5vdEZvdW5kQ29tcG9uZW50KS5jcmVhdGUoaW5qZWN0b3IpO1xuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuY29tcG9uZW50TmFtZSA9IGNvbXBvbmVudE5hbWU7XG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5tb2R1bGVOYW1lID0gbW9kdWxlTmFtZTtcbiAgICAgICAgcmV0dXJuIG9mKGNvbXBvbmVudFJlZik7XG4gICAgfVxufVxuIl19