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.
- package/README.md +25 -0
- package/esm2020/barsa-novin-ray-core.mjs +5 -0
- package/esm2020/lib/abstract-classes/application-base.mjs +24 -0
- package/esm2020/lib/abstract-classes/barsa-api.mjs +40 -0
- package/esm2020/lib/abstract-classes/field-base.mjs +167 -0
- package/esm2020/lib/abstract-classes/files-validation-helper.mjs +71 -0
- package/esm2020/lib/abstract-classes/form-base.mjs +101 -0
- package/esm2020/lib/abstract-classes/form-props.base.mjs +79 -0
- package/esm2020/lib/abstract-classes/form-toolbar-base.mjs +45 -0
- package/esm2020/lib/abstract-classes/index.mjs +21 -0
- package/esm2020/lib/abstract-classes/layout-item-base.mjs +33 -0
- package/esm2020/lib/abstract-classes/layout-panel-base.mjs +80 -0
- package/esm2020/lib/abstract-classes/models.mjs +172 -0
- package/esm2020/lib/abstract-classes/module-with-dynamic-components.mjs +2 -0
- package/esm2020/lib/abstract-classes/number-base.mjs +117 -0
- package/esm2020/lib/abstract-classes/page-base.mjs +97 -0
- package/esm2020/lib/abstract-classes/report-base.mjs +231 -0
- package/esm2020/lib/abstract-classes/report-item-base.mjs +53 -0
- package/esm2020/lib/abstract-classes/report-view-base.component.mjs +262 -0
- package/esm2020/lib/abstract-classes/system-base.mjs +24 -0
- package/esm2020/lib/auth-guard.mjs +37 -0
- package/esm2020/lib/barsa-novin-ray-core-routing.module.mjs +18 -0
- package/esm2020/lib/barsa-novin-ray-core.module.mjs +271 -0
- package/esm2020/lib/base-ulv-setting.component.mjs +37 -0
- package/esm2020/lib/base.component.mjs +59 -0
- package/esm2020/lib/base.module.mjs +28 -0
- package/esm2020/lib/constants.mjs +441 -0
- package/esm2020/lib/container.component.mjs +76 -0
- package/esm2020/lib/custom-route-reuse-strategy.mjs +32 -0
- package/esm2020/lib/date-services/date-hijri.service.mjs +127 -0
- package/esm2020/lib/date-services/date-info.mjs +2 -0
- package/esm2020/lib/date-services/date-miladi.service.mjs +124 -0
- package/esm2020/lib/date-services/date-shamsi.service.mjs +129 -0
- package/esm2020/lib/date-services/date.service.mjs +139 -0
- package/esm2020/lib/date-services/index.mjs +6 -0
- package/esm2020/lib/device.mjs +663 -0
- package/esm2020/lib/directives/anchor-scroll.directive.mjs +24 -0
- package/esm2020/lib/directives/attr-rtl.directive.mjs +35 -0
- package/esm2020/lib/directives/base.directive.mjs +51 -0
- package/esm2020/lib/directives/column-resizer.directive.mjs +39 -0
- package/esm2020/lib/directives/dynamic-command.directive.mjs +43 -0
- package/esm2020/lib/directives/ellipsify.directive.mjs +72 -0
- package/esm2020/lib/directives/field-binding.directive.mjs +17 -0
- package/esm2020/lib/directives/img-lazy.directive.mjs +75 -0
- package/esm2020/lib/directives/index.mjs +19 -0
- package/esm2020/lib/directives/intersection-observer.directive.mjs +49 -0
- package/esm2020/lib/directives/items-renderer.directive.mjs +59 -0
- package/esm2020/lib/directives/numbers-only-input.directive.mjs +26 -0
- package/esm2020/lib/directives/placeHolder.directive.mjs +15 -0
- package/esm2020/lib/directives/render-ulv-paging.directive.mjs +58 -0
- package/esm2020/lib/directives/render-ulv-viewer.directive.mjs +60 -0
- package/esm2020/lib/directives/table-resizer.directive.mjs +235 -0
- package/esm2020/lib/directives/ulv-command.directive.mjs +41 -0
- package/esm2020/lib/directives/until-inview.directive.mjs +51 -0
- package/esm2020/lib/dynamic-component/base-dynamic.component.mjs +89 -0
- package/esm2020/lib/dynamic-component/base-form-toolbaritem-props.mjs +50 -0
- package/esm2020/lib/dynamic-component/base-item-content-props.mjs +70 -0
- package/esm2020/lib/dynamic-component/base-view-content-props.mjs +26 -0
- package/esm2020/lib/dynamic-component/base-view-item-props.mjs +374 -0
- package/esm2020/lib/dynamic-component/base-view-props.mjs +127 -0
- package/esm2020/lib/dynamic-component/dynamic-form-toolbar-item.component.mjs +36 -0
- package/esm2020/lib/dynamic-component/dynamic-form.component.mjs +62 -0
- package/esm2020/lib/dynamic-component/dynamic-item.component.mjs +60 -0
- package/esm2020/lib/dynamic-component/index.mjs +10 -0
- package/esm2020/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.mjs +16 -0
- package/esm2020/lib/field-ui/field-ui.component.mjs +116 -0
- package/esm2020/lib/form/form.component.mjs +151 -0
- package/esm2020/lib/form-new/form-new.component.mjs +30 -0
- package/esm2020/lib/from-intersection-observer.mjs +53 -0
- package/esm2020/lib/global-error-handler.mjs +26 -0
- package/esm2020/lib/modal-root.component.mjs +31 -0
- package/esm2020/lib/not-found/not-found.component.mjs +16 -0
- package/esm2020/lib/pipes/barsa-icon-dict.pipe.mjs +18 -0
- package/esm2020/lib/pipes/bbb-translate.pipe.mjs +29 -0
- package/esm2020/lib/pipes/can-upload.pipe.mjs +30 -0
- package/esm2020/lib/pipes/context-menu.pipe.mjs +40 -0
- package/esm2020/lib/pipes/control-ui.pipe.mjs +31 -0
- package/esm2020/lib/pipes/convert-to-style.pipe.mjs +32 -0
- package/esm2020/lib/pipes/date-time-to-caption.pipe.mjs +34 -0
- package/esm2020/lib/pipes/fileinfo-count.pipe.mjs +20 -0
- package/esm2020/lib/pipes/filter-columns-by-details.pipe.mjs +20 -0
- package/esm2020/lib/pipes/filter-string.pipe.mjs +44 -0
- package/esm2020/lib/pipes/filter-tab.pipe.mjs +19 -0
- package/esm2020/lib/pipes/filter-toolbar-control.pipe.mjs +16 -0
- package/esm2020/lib/pipes/filter.pipe.mjs +33 -0
- package/esm2020/lib/pipes/find-column-by-db-name.pipe.mjs +17 -0
- package/esm2020/lib/pipes/fiori-icon.pipe.mjs +42 -0
- package/esm2020/lib/pipes/groupby.pipe.mjs +48 -0
- package/esm2020/lib/pipes/header-facet-value.pipe.mjs +22 -0
- package/esm2020/lib/pipes/index.mjs +33 -0
- package/esm2020/lib/pipes/list-count.pipe.mjs +17 -0
- package/esm2020/lib/pipes/merge-fields-to-columns.pipe.mjs +42 -0
- package/esm2020/lib/pipes/mo-info-ulv-data.pipe.mjs +24 -0
- package/esm2020/lib/pipes/mo-report-value-concat.pipe.mjs +35 -0
- package/esm2020/lib/pipes/mo-report-value.pipe.mjs +28 -0
- package/esm2020/lib/pipes/mo-value.pipe.mjs +31 -0
- package/esm2020/lib/pipes/multiple-groupby.pipe.mjs +97 -0
- package/esm2020/lib/pipes/numeral.pipe.mjs +40 -0
- package/esm2020/lib/pipes/picture-field-source.pipe.mjs +22 -0
- package/esm2020/lib/pipes/remove-newline.pipe.mjs +20 -0
- package/esm2020/lib/pipes/seperator-fix.pipe.mjs +23 -0
- package/esm2020/lib/pipes/sort.pipe.mjs +48 -0
- package/esm2020/lib/pipes/tlbButtons.pipe.mjs +58 -0
- package/esm2020/lib/pipes/total-summary.pipe.mjs +16 -0
- package/esm2020/lib/pipes/visible-value.pipe.mjs +24 -0
- package/esm2020/lib/portal-page/portal-page.component.mjs +13 -0
- package/esm2020/lib/redirect-home-guard.mjs +28 -0
- package/esm2020/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.mjs +33 -0
- package/esm2020/lib/report-container/report-container.component.mjs +52 -0
- package/esm2020/lib/resolvers/index.mjs +5 -0
- package/esm2020/lib/resolvers/portal-dynamic-page.resolver.mjs +49 -0
- package/esm2020/lib/resolvers/portal-form-page.resolver.mjs +18 -0
- package/esm2020/lib/resolvers/portal-page.resolver.mjs +30 -0
- package/esm2020/lib/resolvers/portal-report-page.resolver.mjs +37 -0
- package/esm2020/lib/root-page/root-page.component.mjs +21 -0
- package/esm2020/lib/root-portal/root-portal.component.mjs +51 -0
- package/esm2020/lib/services/api.service.mjs +60 -0
- package/esm2020/lib/services/barsa-dialog.service.mjs +80 -0
- package/esm2020/lib/services/breadcrumb.service.mjs +60 -0
- package/esm2020/lib/services/container.service.mjs +36 -0
- package/esm2020/lib/services/dynamic-component.service.mjs +55 -0
- package/esm2020/lib/services/form-panel.service.mjs +235 -0
- package/esm2020/lib/services/form.service.mjs +14 -0
- package/esm2020/lib/services/horizontal-layout.service.mjs +16 -0
- package/esm2020/lib/services/index.mjs +16 -0
- package/esm2020/lib/services/layout.service.mjs +42 -0
- package/esm2020/lib/services/log.service.mjs +50 -0
- package/esm2020/lib/services/network-status.service.mjs +15 -0
- package/esm2020/lib/services/portal.service.mjs +638 -0
- package/esm2020/lib/services/ui.service.mjs +23 -0
- package/esm2020/lib/services/ulvmain.service.mjs +594 -0
- package/esm2020/lib/services/upload.service.mjs +75 -0
- package/esm2020/public-api.mjs +33 -0
- package/fesm2015/barsa-novin-ray-core.mjs +9047 -0
- package/fesm2015/barsa-novin-ray-core.mjs.map +1 -0
- package/fesm2020/barsa-novin-ray-core.mjs +8945 -0
- package/fesm2020/barsa-novin-ray-core.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/abstract-classes/application-base.d.ts +53 -0
- package/lib/abstract-classes/barsa-api.d.ts +28 -0
- package/lib/abstract-classes/field-base.d.ts +81 -0
- package/lib/abstract-classes/files-validation-helper.d.ts +15 -0
- package/lib/abstract-classes/form-base.d.ts +59 -0
- package/lib/abstract-classes/form-props.base.d.ts +45 -0
- package/lib/abstract-classes/form-toolbar-base.d.ts +17 -0
- package/lib/abstract-classes/index.d.ts +20 -0
- package/lib/abstract-classes/layout-item-base.d.ts +15 -0
- package/lib/abstract-classes/layout-panel-base.d.ts +24 -0
- package/lib/abstract-classes/models.d.ts +660 -0
- package/lib/abstract-classes/module-with-dynamic-components.d.ts +4 -0
- package/lib/abstract-classes/number-base.d.ts +20 -0
- package/lib/abstract-classes/page-base.d.ts +31 -0
- package/lib/abstract-classes/report-base.d.ts +97 -0
- package/lib/abstract-classes/report-item-base.d.ts +33 -0
- package/lib/abstract-classes/report-view-base.component.d.ts +130 -0
- package/lib/abstract-classes/system-base.d.ts +45 -0
- package/lib/auth-guard.d.ts +12 -0
- package/lib/barsa-novin-ray-core-routing.module.d.ts +7 -0
- package/lib/barsa-novin-ray-core.module.d.ts +88 -0
- package/lib/base-ulv-setting.component.d.ts +18 -0
- package/lib/base.component.d.ts +15 -0
- package/lib/base.module.d.ts +13 -0
- package/lib/constants.d.ts +89 -0
- package/lib/container.component.d.ts +33 -0
- package/lib/custom-route-reuse-strategy.d.ts +11 -0
- package/lib/date-services/date-hijri.service.d.ts +40 -0
- package/lib/date-services/date-info.d.ts +15 -0
- package/lib/date-services/date-miladi.service.d.ts +39 -0
- package/lib/date-services/date-shamsi.service.d.ts +40 -0
- package/lib/date-services/date.service.d.ts +54 -0
- package/lib/date-services/index.d.ts +5 -0
- package/lib/device.d.ts +15 -0
- package/lib/directives/anchor-scroll.directive.d.ts +7 -0
- package/lib/directives/attr-rtl.directive.d.ts +13 -0
- package/lib/directives/base.directive.d.ts +13 -0
- package/lib/directives/column-resizer.directive.d.ts +13 -0
- package/lib/directives/dynamic-command.directive.d.ts +12 -0
- package/lib/directives/ellipsify.directive.d.ts +17 -0
- package/lib/directives/field-binding.directive.d.ts +7 -0
- package/lib/directives/img-lazy.directive.d.ts +20 -0
- package/lib/directives/index.d.ts +18 -0
- package/lib/directives/intersection-observer.directive.d.ts +17 -0
- package/lib/directives/items-renderer.directive.d.ts +17 -0
- package/lib/directives/numbers-only-input.directive.d.ts +9 -0
- package/lib/directives/placeHolder.directive.d.ts +6 -0
- package/lib/directives/render-ulv-paging.directive.d.ts +19 -0
- package/lib/directives/render-ulv-viewer.directive.d.ts +19 -0
- package/lib/directives/table-resizer.directive.d.ts +47 -0
- package/lib/directives/ulv-command.directive.d.ts +11 -0
- package/lib/directives/until-inview.directive.d.ts +17 -0
- package/lib/dynamic-component/base-dynamic.component.d.ts +26 -0
- package/lib/dynamic-component/base-form-toolbaritem-props.d.ts +28 -0
- package/lib/dynamic-component/base-item-content-props.d.ts +40 -0
- package/lib/dynamic-component/base-view-content-props.d.ts +11 -0
- package/lib/dynamic-component/base-view-item-props.d.ts +95 -0
- package/lib/dynamic-component/base-view-props.d.ts +65 -0
- package/lib/dynamic-component/dynamic-form-toolbar-item.component.d.ts +18 -0
- package/lib/dynamic-component/dynamic-form.component.d.ts +33 -0
- package/lib/dynamic-component/dynamic-item.component.d.ts +30 -0
- package/lib/dynamic-component/index.d.ts +9 -0
- package/lib/empty-page-with-router-and-router-outlet/empty-page-with-router-and-router-outlet.component.d.ts +7 -0
- package/lib/field-ui/field-ui.component.d.ts +27 -0
- package/lib/form/form.component.d.ts +36 -0
- package/lib/form-new/form-new.component.d.ts +23 -0
- package/lib/from-intersection-observer.d.ts +7 -0
- package/lib/global-error-handler.d.ts +8 -0
- package/lib/modal-root.component.d.ts +15 -0
- package/lib/not-found/not-found.component.d.ts +8 -0
- package/lib/pipes/barsa-icon-dict.pipe.d.ts +9 -0
- package/lib/pipes/bbb-translate.pipe.d.ts +7 -0
- package/lib/pipes/can-upload.pipe.d.ts +8 -0
- package/lib/pipes/context-menu.pipe.d.ts +11 -0
- package/lib/pipes/control-ui.pipe.d.ts +9 -0
- package/lib/pipes/convert-to-style.pipe.d.ts +8 -0
- package/lib/pipes/date-time-to-caption.pipe.d.ts +9 -0
- package/lib/pipes/fileinfo-count.pipe.d.ts +10 -0
- package/lib/pipes/filter-columns-by-details.pipe.d.ts +8 -0
- package/lib/pipes/filter-string.pipe.d.ts +11 -0
- package/lib/pipes/filter-tab.pipe.d.ts +7 -0
- package/lib/pipes/filter-toolbar-control.pipe.d.ts +8 -0
- package/lib/pipes/filter.pipe.d.ts +10 -0
- package/lib/pipes/find-column-by-db-name.pipe.d.ts +8 -0
- package/lib/pipes/fiori-icon.pipe.d.ts +7 -0
- package/lib/pipes/groupby.pipe.d.ts +7 -0
- package/lib/pipes/header-facet-value.pipe.d.ts +8 -0
- package/lib/pipes/index.d.ts +32 -0
- package/lib/pipes/list-count.pipe.d.ts +8 -0
- package/lib/pipes/merge-fields-to-columns.pipe.d.ts +10 -0
- package/lib/pipes/mo-info-ulv-data.pipe.d.ts +7 -0
- package/lib/pipes/mo-report-value-concat.pipe.d.ts +9 -0
- package/lib/pipes/mo-report-value.pipe.d.ts +12 -0
- package/lib/pipes/mo-value.pipe.d.ts +9 -0
- package/lib/pipes/multiple-groupby.pipe.d.ts +23 -0
- package/lib/pipes/numeral.pipe.d.ts +9 -0
- package/lib/pipes/picture-field-source.pipe.d.ts +8 -0
- package/lib/pipes/remove-newline.pipe.d.ts +8 -0
- package/lib/pipes/seperator-fix.pipe.d.ts +7 -0
- package/lib/pipes/sort.pipe.d.ts +9 -0
- package/lib/pipes/tlbButtons.pipe.d.ts +9 -0
- package/lib/pipes/total-summary.pipe.d.ts +8 -0
- package/lib/pipes/visible-value.pipe.d.ts +8 -0
- package/lib/portal-page/portal-page.component.d.ts +6 -0
- package/lib/redirect-home-guard.d.ts +13 -0
- package/lib/redirect-report-navigator-command/redirect-report-navigator-command.component.d.ts +14 -0
- package/lib/report-container/report-container.component.d.ts +24 -0
- package/lib/resolvers/index.d.ts +4 -0
- package/lib/resolvers/portal-dynamic-page.resolver.d.ts +12 -0
- package/lib/resolvers/portal-form-page.resolver.d.ts +8 -0
- package/lib/resolvers/portal-page.resolver.d.ts +12 -0
- package/lib/resolvers/portal-report-page.resolver.d.ts +12 -0
- package/lib/root-page/root-page.component.d.ts +10 -0
- package/lib/root-portal/root-portal.component.d.ts +14 -0
- package/lib/services/api.service.d.ts +18 -0
- package/lib/services/barsa-dialog.service.d.ts +31 -0
- package/lib/services/breadcrumb.service.d.ts +14 -0
- package/lib/services/container.service.d.ts +14 -0
- package/lib/services/dynamic-component.service.d.ts +13 -0
- package/lib/services/form-panel.service.d.ts +83 -0
- package/lib/services/form.service.d.ts +8 -0
- package/lib/services/horizontal-layout.service.d.ts +7 -0
- package/lib/services/index.d.ts +15 -0
- package/lib/services/layout.service.d.ts +23 -0
- package/lib/services/log.service.d.ts +17 -0
- package/lib/services/network-status.service.d.ts +7 -0
- package/lib/services/portal.service.d.ts +130 -0
- package/lib/services/ui.service.d.ts +14 -0
- package/lib/services/ulvmain.service.d.ts +178 -0
- package/lib/services/upload.service.d.ts +18 -0
- package/package.json +38 -0
- 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
|