@esfaenza/core 15.2.42-beta1 → 15.2.42-beta2
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 +24 -24
- package/components/components.module.d.ts +22 -16
- package/components/{sidebar → page-structure/sidebar}/sidebar.component.d.ts +1 -0
- package/components/public-api.d.ts +20 -15
- package/components/search/es-filters/es-filters.component.d.ts +27 -0
- package/components/search/es-filters/es-filters.service.d.ts +6 -0
- package/components/search/filters-sidebar/filters-sidebar.component.d.ts +20 -0
- package/components/search/filters-sidebar-item/filters-sidebar-item.component.d.ts +16 -0
- package/components/search/filters-sidebar-section/filters-sidebar-section.component.d.ts +9 -0
- package/components/search/filters-topbar/filters-topbar.component.d.ts +38 -0
- package/domain/models/decorators/decorators.d.ts +1 -0
- package/domain/models/user/ChangePasswordDto.d.ts +9 -0
- package/domain/models/user/ChangeProfilePictureDto.d.ts +4 -0
- package/domain/models/user/UpdateAccountRecoverySettingsDto.d.ts +6 -0
- package/domain/public-api.d.ts +4 -0
- package/esm2020/components/components.module.mjs +76 -22
- package/esm2020/components/es-modal/es-modal-head/es-modal-head.component.mjs +4 -4
- package/esm2020/components/es-modal/es-modal.component.mjs +4 -4
- package/esm2020/components/page-structure/back-top/back-top.component.mjs +43 -0
- package/esm2020/components/page-structure/base/base.component.mjs +55 -0
- package/esm2020/components/page-structure/base/reactive.component.mjs +26 -0
- package/esm2020/components/page-structure/breadcrumb/breadcrumb.component.mjs +70 -0
- package/esm2020/components/page-structure/error/404/pagenotfound.component.mjs +30 -0
- package/esm2020/components/page-structure/error/500/servererror.component.mjs +39 -0
- package/esm2020/components/page-structure/error/Angular/angularerror.component.mjs +55 -0
- package/esm2020/components/page-structure/external-page/external_pages.component.mjs +47 -0
- package/esm2020/components/page-structure/jace-login/jace-login.component.mjs +18 -0
- package/esm2020/components/page-structure/jace-resource/jace-resource.component.mjs +65 -0
- package/esm2020/components/page-structure/navbar/modules-board/jace-modules-board.component.mjs +40 -0
- package/esm2020/components/page-structure/navbar/navbar.component.loc.mjs +36 -0
- package/esm2020/components/page-structure/navbar/navbar.component.mjs +161 -0
- package/esm2020/components/page-structure/page/pages.component.mjs +60 -0
- package/esm2020/components/page-structure/redirecter/redirecter.component.mjs +53 -0
- package/esm2020/components/page-structure/sidebar/sidebar.component.mjs +302 -0
- package/esm2020/components/public-api.mjs +21 -16
- package/esm2020/components/search/es-filters/es-filters.component.mjs +56 -0
- package/esm2020/components/search/es-filters/es-filters.service.mjs +19 -0
- package/esm2020/components/search/filters-sidebar/filters-sidebar.component.mjs +65 -0
- package/esm2020/components/search/filters-sidebar-item/filters-sidebar-item.component.mjs +39 -0
- package/esm2020/components/search/filters-sidebar-section/filters-sidebar-section.component.mjs +22 -0
- package/esm2020/components/search/filters-topbar/filters-topbar.component.mjs +94 -0
- package/esm2020/directives/componentHost/componentHost.directive.mjs +4 -4
- package/esm2020/directives/directives.module.mjs +5 -5
- package/esm2020/directives/draggable/draggable.directive.mjs +4 -4
- package/esm2020/directives/es-modal/es-modal.directive.mjs +4 -4
- package/esm2020/directives/es-routerLink/es-routerLink.directive.mjs +4 -4
- package/esm2020/directives/slim-scroll/slim-scroll.directive.mjs +4 -4
- package/esm2020/directives/widget/widget.directive.mjs +4 -4
- package/esm2020/domain/models/decorators/decorators.mjs +6 -0
- package/esm2020/domain/models/user/ChangePasswordDto.mjs +11 -0
- package/esm2020/domain/models/user/ChangeProfilePictureDto.mjs +6 -0
- package/esm2020/domain/models/user/UpdateAccountRecoverySettingsDto.mjs +8 -0
- package/esm2020/domain/public-api.mjs +5 -1
- package/esm2020/lib/app.component.mjs +5 -5
- package/esm2020/lib/core.module.mjs +5 -5
- package/esm2020/modules/classes/_shared.module.mjs +5 -5
- package/esm2020/modules/classes/t_c.module.mjs +5 -5
- package/esm2020/pipes/classes/included_in.pipe.mjs +4 -4
- package/esm2020/pipes/classes/safe_html.pipe.mjs +4 -4
- package/esm2020/pipes/classes/safe_script.pipe.mjs +4 -4
- package/esm2020/pipes/classes/safe_style.pipe.mjs +4 -4
- package/esm2020/pipes/classes/safe_url.pipe.mjs +4 -4
- package/esm2020/pipes/pipes.module.mjs +5 -5
- package/esm2020/public-api.mjs +1 -1
- package/esm2020/services/classes/app.accesstoken.mjs +4 -4
- package/esm2020/services/classes/app.completedjobredirection.mjs +4 -4
- package/esm2020/services/classes/app.errorhandler.mjs +4 -4
- package/esm2020/services/classes/app.event.mjs +4 -4
- package/esm2020/services/classes/app.globalsearch.mjs +4 -4
- package/esm2020/services/classes/app.httpextensions.loc.mjs +4 -4
- package/esm2020/services/classes/app.httpextensions.mjs +4 -4
- package/esm2020/services/classes/app.menufilter.mjs +4 -4
- package/esm2020/services/classes/app.routeguard.mjs +4 -4
- package/esm2020/services/classes/app.session.mjs +4 -4
- package/esm2020/services/classes/app.state.mjs +4 -4
- package/esm2020/services/classes/preferences/app.cache.persistor.mjs +4 -4
- package/esm2020/services/classes/preferences/app.preference.persistor.mjs +4 -4
- package/esm2020/services/classes/preferences/user/app.userpreferences.base.mjs +76 -0
- package/esm2020/services/public-api.mjs +2 -1
- package/fesm2015/esfaenza-core-components.mjs +413 -82
- package/fesm2015/esfaenza-core-components.mjs.map +1 -1
- package/fesm2015/esfaenza-core-directives.mjs +22 -22
- package/fesm2015/esfaenza-core-directives.mjs.map +1 -1
- package/fesm2015/esfaenza-core-domain.mjs +32 -1
- package/fesm2015/esfaenza-core-domain.mjs.map +1 -1
- package/fesm2015/esfaenza-core-modules.mjs +8 -8
- package/fesm2015/esfaenza-core-modules.mjs.map +1 -1
- package/fesm2015/esfaenza-core-pipes.mjs +19 -19
- package/fesm2015/esfaenza-core-pipes.mjs.map +1 -1
- package/fesm2015/esfaenza-core-services.mjs +124 -44
- package/fesm2015/esfaenza-core-services.mjs.map +1 -1
- package/fesm2015/esfaenza-core.mjs +8 -8
- package/fesm2015/esfaenza-core.mjs.map +1 -1
- package/fesm2020/esfaenza-core-components.mjs +410 -82
- package/fesm2020/esfaenza-core-components.mjs.map +1 -1
- package/fesm2020/esfaenza-core-directives.mjs +22 -22
- package/fesm2020/esfaenza-core-directives.mjs.map +1 -1
- package/fesm2020/esfaenza-core-domain.mjs +32 -1
- package/fesm2020/esfaenza-core-domain.mjs.map +1 -1
- package/fesm2020/esfaenza-core-modules.mjs +8 -8
- package/fesm2020/esfaenza-core-modules.mjs.map +1 -1
- package/fesm2020/esfaenza-core-pipes.mjs +19 -19
- package/fesm2020/esfaenza-core-pipes.mjs.map +1 -1
- package/fesm2020/esfaenza-core-services.mjs +111 -44
- package/fesm2020/esfaenza-core-services.mjs.map +1 -1
- package/fesm2020/esfaenza-core.mjs +8 -8
- package/fesm2020/esfaenza-core.mjs.map +1 -1
- package/lib/core.module.d.ts +2 -1
- package/package.json +1 -1
- package/services/classes/preferences/user/app.userpreferences.base.d.ts +23 -0
- package/services/public-api.d.ts +1 -0
- package/theme/styles/_project-override.scss +63 -1
- package/theme/styles/_variables.scss +1 -1
- package/theme/styles/skins/enuma.scss +1 -0
- package/theme/styles/skins/jace.scss +63 -0
- package/esm2020/components/back-top/back-top.component.mjs +0 -43
- package/esm2020/components/base/base.component.mjs +0 -55
- package/esm2020/components/base/reactive.component.mjs +0 -26
- package/esm2020/components/breadcrumb/breadcrumb.component.mjs +0 -70
- package/esm2020/components/error/404/pagenotfound.component.mjs +0 -30
- package/esm2020/components/error/500/servererror.component.mjs +0 -39
- package/esm2020/components/error/Angular/angularerror.component.mjs +0 -55
- package/esm2020/components/external-page/external_pages.component.mjs +0 -47
- package/esm2020/components/jace-login/jace-login.component.mjs +0 -18
- package/esm2020/components/jace-resource/jace-resource.component.mjs +0 -65
- package/esm2020/components/navbar/modules-board/jace-modules-board.component.mjs +0 -40
- package/esm2020/components/navbar/navbar.component.loc.mjs +0 -36
- package/esm2020/components/navbar/navbar.component.mjs +0 -161
- package/esm2020/components/page/pages.component.mjs +0 -60
- package/esm2020/components/redirecter/redirecter.component.mjs +0 -53
- package/esm2020/components/sidebar/sidebar.component.mjs +0 -293
- /package/components/{back-top → page-structure/back-top}/back-top.component.d.ts +0 -0
- /package/components/{base → page-structure/base}/base.component.d.ts +0 -0
- /package/components/{base → page-structure/base}/reactive.component.d.ts +0 -0
- /package/components/{breadcrumb → page-structure/breadcrumb}/breadcrumb.component.d.ts +0 -0
- /package/components/{error → page-structure/error}/404/pagenotfound.component.d.ts +0 -0
- /package/components/{error → page-structure/error}/500/servererror.component.d.ts +0 -0
- /package/components/{error → page-structure/error}/Angular/angularerror.component.d.ts +0 -0
- /package/components/{external-page → page-structure/external-page}/external_pages.component.d.ts +0 -0
- /package/components/{jace-login → page-structure/jace-login}/jace-login.component.d.ts +0 -0
- /package/components/{jace-resource → page-structure/jace-resource}/jace-resource.component.d.ts +0 -0
- /package/components/{navbar → page-structure/navbar}/modules-board/jace-modules-board.component.d.ts +0 -0
- /package/components/{navbar → page-structure/navbar}/navbar.component.d.ts +0 -0
- /package/components/{navbar → page-structure/navbar}/navbar.component.loc.d.ts +0 -0
- /package/components/{page → page-structure/page}/pages.component.d.ts +0 -0
- /package/components/{redirecter → page-structure/redirecter}/redirecter.component.d.ts +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// Angular
|
|
2
|
+
import { Component, HostListener, Input, ViewChild, ViewEncapsulation } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BackTop {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.position = 400;
|
|
7
|
+
this.showSpeed = 500;
|
|
8
|
+
this.moveSpeed = 1000;
|
|
9
|
+
}
|
|
10
|
+
ngAfterViewInit() {
|
|
11
|
+
this._onWindowScroll();
|
|
12
|
+
}
|
|
13
|
+
_onClick() {
|
|
14
|
+
$("html, body").animate({ scrollTop: 0 }, { duration: this.moveSpeed });
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
_onWindowScroll() {
|
|
18
|
+
let el = this._selector.nativeElement;
|
|
19
|
+
window.scrollY > this.position ? $(el).fadeIn(this.showSpeed) : $(el).fadeOut(this.showSpeed);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
BackTop.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BackTop, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
BackTop.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: BackTop, isStandalone: true, selector: "back-top", inputs: { position: "position", showSpeed: "showSpeed", moveSpeed: "moveSpeed" }, host: { listeners: { "click": "_onClick()", "window:scroll.out-zone": "_onWindowScroll()" } }, viewQueries: [{ propertyName: "_selector", first: true, predicate: ["backTop"], descendants: true }], ngImport: i0, template: "<i #backTop class=\"fa fa-angle-up back-to-top\" title=\"Back to Top\"></i>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Lato&family=Sora&display=swap\";.back-to-top{position:fixed;width:40px;height:40px;cursor:pointer;z-index:9999;display:none;text-decoration:none;right:40px;bottom:40px!important;font-size:30px;text-align:center;opacity:.4;color:#191e29;background-color:#0056b3bf;border-radius:50%;line-height:34px}.back-to-top:hover{opacity:.8}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BackTop, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: "back-top", encapsulation: ViewEncapsulation.None, standalone: true, template: "<i #backTop class=\"fa fa-angle-up back-to-top\" title=\"Back to Top\"></i>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Lato&family=Sora&display=swap\";.back-to-top{position:fixed;width:40px;height:40px;cursor:pointer;z-index:9999;display:none;text-decoration:none;right:40px;bottom:40px!important;font-size:30px;text-align:center;opacity:.4;color:#191e29;background-color:#0056b3bf;border-radius:50%;line-height:34px}.back-to-top:hover{opacity:.8}\n"] }]
|
|
27
|
+
}], propDecorators: { position: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], showSpeed: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], moveSpeed: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], _selector: [{
|
|
34
|
+
type: ViewChild,
|
|
35
|
+
args: ["backTop", { static: false }]
|
|
36
|
+
}], _onClick: [{
|
|
37
|
+
type: HostListener,
|
|
38
|
+
args: ["click"]
|
|
39
|
+
}], _onWindowScroll: [{
|
|
40
|
+
type: HostListener,
|
|
41
|
+
args: ["window:scroll.out-zone"]
|
|
42
|
+
}] } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL3NyYy9wYWdlLXN0cnVjdHVyZS9iYWNrLXRvcC9iYWNrLXRvcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3BhZ2Utc3RydWN0dXJlL2JhY2stdG9wL2JhY2stdG9wLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVd6RyxNQUFNLE9BQU8sT0FBTztJQVBwQjtRQVFhLGFBQVEsR0FBVyxHQUFHLENBQUM7UUFDdkIsY0FBUyxHQUFXLEdBQUcsQ0FBQztRQUN4QixjQUFTLEdBQVcsSUFBSSxDQUFDO0tBbUJyQztJQWZHLGVBQWU7UUFDWCxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUdELFFBQVE7UUFDSixDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFHRCxlQUFlO1FBQ1gsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEcsQ0FBQzs7b0dBckJRLE9BQU87d0ZBQVAsT0FBTywyVkNacEIsNkVBQXVFOzJGRFkxRCxPQUFPO2tCQVBuQixTQUFTOytCQUNJLFVBQVUsaUJBQ0wsaUJBQWlCLENBQUMsSUFBSSxjQUd6QixJQUFJOzhCQUdQLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUUyQyxTQUFTO3NCQUF6RCxTQUFTO3VCQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBT3ZDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxPQUFPO2dCQU9yQixlQUFlO3NCQURkLFlBQVk7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuZGVjbGFyZSB2YXIgJDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYmFjay10b3BcIixcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vYmFjay10b3AuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2JhY2stdG9wLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCYWNrVG9wIHtcclxuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiBudW1iZXIgPSA0MDA7XHJcbiAgICBASW5wdXQoKSBzaG93U3BlZWQ6IG51bWJlciA9IDUwMDtcclxuICAgIEBJbnB1dCgpIG1vdmVTcGVlZDogbnVtYmVyID0gMTAwMDtcclxuXHJcbiAgICBAVmlld0NoaWxkKFwiYmFja1RvcFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgcHJpdmF0ZSBfc2VsZWN0b3I6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuX29uV2luZG93U2Nyb2xsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RMaXN0ZW5lcihcImNsaWNrXCIpXHJcbiAgICBfb25DbGljaygpOiBib29sZWFuIHtcclxuICAgICAgICAkKFwiaHRtbCwgYm9keVwiKS5hbmltYXRlKHsgc2Nyb2xsVG9wOiAwIH0sIHsgZHVyYXRpb246IHRoaXMubW92ZVNwZWVkIH0pO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdExpc3RlbmVyKFwid2luZG93OnNjcm9sbC5vdXQtem9uZVwiKVxyXG4gICAgX29uV2luZG93U2Nyb2xsKCk6IHZvaWQge1xyXG4gICAgICAgIGxldCBlbCA9IHRoaXMuX3NlbGVjdG9yLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgd2luZG93LnNjcm9sbFkgPiB0aGlzLnBvc2l0aW9uID8gJChlbCkuZmFkZUluKHRoaXMuc2hvd1NwZWVkKSA6ICQoZWwpLmZhZGVPdXQodGhpcy5zaG93U3BlZWQpO1xyXG4gICAgfVxyXG59IiwiPGkgI2JhY2tUb3AgY2xhc3M9XCJmYSBmYS1hbmdsZS11cCBiYWNrLXRvLXRvcFwiIHRpdGxlPVwiQmFjayB0byBUb3BcIj48L2k+Il19
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// Angular
|
|
2
|
+
import { Component } from "@angular/core";
|
|
3
|
+
import { ActivatedRoute, Router } from "@angular/router";
|
|
4
|
+
// Direttive, Componenti, Librerie
|
|
5
|
+
import { takeUntil } from "rxjs/operators";
|
|
6
|
+
// Core
|
|
7
|
+
import { AppState } from "@esfaenza/core/services";
|
|
8
|
+
import { ReactiveComponent } from "./reactive.component";
|
|
9
|
+
import { EMBEDDED_ROUTE, ROUTE } from "@esfaenza/core/domain";
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
export class BaseComponent extends ReactiveComponent {
|
|
12
|
+
constructor(injector) {
|
|
13
|
+
super();
|
|
14
|
+
this.NavigationParameters = null;
|
|
15
|
+
let _activatedRoute = injector.get(ActivatedRoute);
|
|
16
|
+
let _state = injector.get(AppState);
|
|
17
|
+
this._router = injector.get(Router);
|
|
18
|
+
_state.registerNavigationIfMeaningful(_activatedRoute.snapshot);
|
|
19
|
+
// Parametri in maniera "dinamica"
|
|
20
|
+
_activatedRoute.params.pipe(takeUntil(this.destroyed$)).subscribe(t => { this.NavigationParameters = t; });
|
|
21
|
+
// Tutto il resto in maniera statica tanto non cambia
|
|
22
|
+
let segs = _activatedRoute.snapshot._urlSegment.segments;
|
|
23
|
+
this.CompletePath = "/" + segs.map(t => t.path).join('/');
|
|
24
|
+
this.ComponentPath = "/" + segs.filter((t, i) => i != 0).map(t => t.path).join('/');
|
|
25
|
+
this.BasePath = "/" + segs[0].path;
|
|
26
|
+
this.InternalNavigation = _activatedRoute.snapshot.data["internalNavigation"] || false;
|
|
27
|
+
this.NavigationTitle = _activatedRoute.snapshot.data["title"] || "";
|
|
28
|
+
// Per i componenti navigabili non embeddati è inutile mandare il messaggio di navigazione
|
|
29
|
+
// Così come per quelli per cui non esiste un titolo (cioè compoennti verso cui non si è navigato direttamente)
|
|
30
|
+
if (!_state.Embedded || !this.NavigationTitle)
|
|
31
|
+
return;
|
|
32
|
+
// Se sono dentro un iframe risalgo a quello di livello più alto in assoluto
|
|
33
|
+
let tmpWindow = window;
|
|
34
|
+
// Quando il parent non esiste window. parent è un riferimento a se stesso
|
|
35
|
+
while (tmpWindow.parent != tmpWindow)
|
|
36
|
+
tmpWindow = tmpWindow.parent;
|
|
37
|
+
tmpWindow.postMessage({ type: "navigation", url: this.CompletePath, internalNavigation: this.InternalNavigation, title: this.NavigationTitle }, "*");
|
|
38
|
+
}
|
|
39
|
+
navigate(command, extras) {
|
|
40
|
+
let commands = command;
|
|
41
|
+
// Fix della path esattamente come in esRouterLink
|
|
42
|
+
commands = Array.isArray(commands) ? commands : [commands];
|
|
43
|
+
let route = commands[0];
|
|
44
|
+
if (!route.startsWith("/" + EMBEDDED_ROUTE) && !route.startsWith("/" + ROUTE))
|
|
45
|
+
commands[0] = this.BasePath + commands[0];
|
|
46
|
+
this._router.navigate(command, extras);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: BaseComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseComponent, decorators: [{
|
|
52
|
+
type: Component,
|
|
53
|
+
args: [{ template: '' }]
|
|
54
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3BhZ2Utc3RydWN0dXJlL2Jhc2UvYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxTQUFTLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQW1CLE1BQU0saUJBQWlCLENBQUM7QUFFMUUsa0NBQWtDO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPO0FBQ1AsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBRzlELE1BQU0sT0FBZ0IsYUFBYyxTQUFRLGlCQUFpQjtJQXNCekQsWUFBWSxRQUFrQjtRQUMxQixLQUFLLEVBQUUsQ0FBQztRQVRGLHlCQUFvQixHQUErQixJQUFJLENBQUM7UUFXOUQsSUFBSSxlQUFlLEdBQW1CLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkUsSUFBSSxNQUFNLEdBQWEsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFcEMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVoRSxrQ0FBa0M7UUFDbEMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUxRyxxREFBcUQ7UUFDckQsSUFBSSxJQUFJLEdBQTJCLGVBQWUsQ0FBQyxRQUFTLENBQUMsV0FBWSxDQUFDLFFBQVEsQ0FBQztRQUNuRixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUVuQyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxLQUFLLENBQUM7UUFDdkYsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFcEUsMEZBQTBGO1FBQzFGLCtHQUErRztRQUMvRyxJQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlO1lBQ3hDLE9BQU87UUFFWCw0RUFBNEU7UUFDNUUsSUFBSSxTQUFTLEdBQTJDLE1BQU0sQ0FBQztRQUMvRCwwRUFBMEU7UUFDMUUsT0FBTyxTQUFTLENBQUMsTUFBTSxJQUFJLFNBQVM7WUFDaEMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFFakMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekosQ0FBQztJQUVTLFFBQVEsQ0FBQyxPQUFjLEVBQUUsTUFBWTtRQUMzQyxJQUFJLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFFdkIsa0RBQWtEO1FBQ2xELFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0QsSUFBSSxLQUFLLEdBQUksUUFBUSxDQUFDLENBQUMsQ0FBWSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztZQUN6RSxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7OzBHQW5FaUIsYUFBYTs4RkFBYixhQUFhLDJFQURaLEVBQUU7MkZBQ0gsYUFBYTtrQkFEbEMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyLCBVcmxTZWdtZW50R3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG4vLyBEaXJldHRpdmUsIENvbXBvbmVudGksIExpYnJlcmllXHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLy8gQ29yZVxyXG5pbXBvcnQgeyBBcHBTdGF0ZSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9zZXJ2aWNlc1wiO1xyXG5cclxuaW1wb3J0IHsgUmVhY3RpdmVDb21wb25lbnQgfSBmcm9tIFwiLi9yZWFjdGl2ZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRU1CRURERURfUk9VVEUsIFJPVVRFIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL2RvbWFpblwiO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUNvbXBvbmVudCBleHRlbmRzIFJlYWN0aXZlQ29tcG9uZW50IHtcclxuXHJcbiAgICAvKlxyXG4gICAgICogQmxvY2NvIGRpIGluZm9ybWF6aW9uaSBzdWxsYSByb3V0ZSBhdHR1YWxlXHJcbiAgICAgKiAgICAgIFJvdXRlOiAvcGFnZXMvbW9kdWxlL2NvbXBvbmVudDtpZE1vZGVsPTEyM1xyXG4gICAgICogICAgICBcclxuICAgICAqICAgICAgQ29tcGxldGVQYXRoOiAvcGFnZXMvbW9kdWxlL2NvbXBvbmVudFxyXG4gICAgICogICAgICBDb21wb25lbnRQYXRoOiBtb2R1bGUvY29tcG9uZW50XHJcbiAgICAgKiAgICAgIEJhc2VQYXRoOiAvcGFnZXMgKGVxdWl2YWxlbnRlIGEgUk9VVEUgbyBFTUJFRERFRF9ST1VURSlcclxuICAgICAqICAgICAgUGFyYW1ldGVyczogeyBcImlkTW9kZWxcIiA6IFwiMTIzXCIgfVxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgQ29tcGxldGVQYXRoOiBzdHJpbmc7XHJcbiAgICBwcm90ZWN0ZWQgQ29tcG9uZW50UGF0aDogc3RyaW5nO1xyXG4gICAgcHJvdGVjdGVkIEJhc2VQYXRoOiBzdHJpbmc7XHJcbiAgICBwcm90ZWN0ZWQgTmF2aWdhdGlvblBhcmFtZXRlcnM6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9ID0gbnVsbDtcclxuXHJcbiAgICAvLyBJbmZvcm1hemlvbmkgcHJlc2UgZGFpIGRhdGkgZXh0cmEgZGVsbGEgcm91dGVcclxuICAgIHByb3RlY3RlZCBJbnRlcm5hbE5hdmlnYXRpb246IGJvb2xlYW47XHJcbiAgICBwcm90ZWN0ZWQgTmF2aWdhdGlvblRpdGxlOiBzdHJpbmc7XHJcblxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXI7XHJcbiAgICBcclxuICAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3Rvcikge1xyXG4gICAgICAgIHN1cGVyKCk7XHJcblxyXG4gICAgICAgIGxldCBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlID0gaW5qZWN0b3IuZ2V0KEFjdGl2YXRlZFJvdXRlKTtcclxuICAgICAgICBsZXQgX3N0YXRlOiBBcHBTdGF0ZSA9IGluamVjdG9yLmdldChBcHBTdGF0ZSk7XHJcbiAgICAgICAgdGhpcy5fcm91dGVyID0gaW5qZWN0b3IuZ2V0KFJvdXRlcik7XHJcblxyXG4gICAgICAgIF9zdGF0ZS5yZWdpc3Rlck5hdmlnYXRpb25JZk1lYW5pbmdmdWwoX2FjdGl2YXRlZFJvdXRlLnNuYXBzaG90KTtcclxuXHJcbiAgICAgICAgLy8gUGFyYW1ldHJpIGluIG1hbmllcmEgXCJkaW5hbWljYVwiXHJcbiAgICAgICAgX2FjdGl2YXRlZFJvdXRlLnBhcmFtcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUodCA9PiB7IHRoaXMuTmF2aWdhdGlvblBhcmFtZXRlcnMgPSB0OyB9KVxyXG5cclxuICAgICAgICAvLyBUdXR0byBpbCByZXN0byBpbiBtYW5pZXJhIHN0YXRpY2EgdGFudG8gbm9uIGNhbWJpYVxyXG4gICAgICAgIGxldCBzZWdzID0gKDxVcmxTZWdtZW50R3JvdXA+KDxhbnk+X2FjdGl2YXRlZFJvdXRlLnNuYXBzaG90KS5fdXJsU2VnbWVudCkuc2VnbWVudHM7XHJcbiAgICAgICAgdGhpcy5Db21wbGV0ZVBhdGggPSBcIi9cIiArIHNlZ3MubWFwKHQgPT4gdC5wYXRoKS5qb2luKCcvJyk7XHJcbiAgICAgICAgdGhpcy5Db21wb25lbnRQYXRoID0gXCIvXCIgKyBzZWdzLmZpbHRlcigodCwgaSkgPT4gaSAhPSAwKS5tYXAodCA9PiB0LnBhdGgpLmpvaW4oJy8nKTtcclxuICAgICAgICB0aGlzLkJhc2VQYXRoID0gXCIvXCIgKyBzZWdzWzBdLnBhdGg7XHJcblxyXG4gICAgICAgIHRoaXMuSW50ZXJuYWxOYXZpZ2F0aW9uID0gX2FjdGl2YXRlZFJvdXRlLnNuYXBzaG90LmRhdGFbXCJpbnRlcm5hbE5hdmlnYXRpb25cIl0gfHwgZmFsc2U7XHJcbiAgICAgICAgdGhpcy5OYXZpZ2F0aW9uVGl0bGUgPSBfYWN0aXZhdGVkUm91dGUuc25hcHNob3QuZGF0YVtcInRpdGxlXCJdIHx8IFwiXCI7XHJcblxyXG4gICAgICAgIC8vIFBlciBpIGNvbXBvbmVudGkgbmF2aWdhYmlsaSBub24gZW1iZWRkYXRpIMOoIGludXRpbGUgbWFuZGFyZSBpbCBtZXNzYWdnaW8gZGkgbmF2aWdhemlvbmVcclxuICAgICAgICAvLyBDb3PDrCBjb21lIHBlciBxdWVsbGkgcGVyIGN1aSBub24gZXNpc3RlIHVuIHRpdG9sbyAoY2lvw6ggY29tcG9lbm50aSB2ZXJzbyBjdWkgbm9uIHNpIMOoIG5hdmlnYXRvIGRpcmV0dGFtZW50ZSlcclxuICAgICAgICBpZighX3N0YXRlLkVtYmVkZGVkIHx8ICF0aGlzLk5hdmlnYXRpb25UaXRsZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICAvLyBTZSBzb25vIGRlbnRybyB1biBpZnJhbWUgcmlzYWxnbyBhIHF1ZWxsbyBkaSBsaXZlbGxvIHBpw7kgYWx0byBpbiBhc3NvbHV0b1xyXG4gICAgICAgIGxldCB0bXBXaW5kb3cgPSA8eyBwYXJlbnQ6IGFueSwgcG9zdE1lc3NhZ2U6IEZ1bmN0aW9uIH0+d2luZG93O1xyXG4gICAgICAgIC8vIFF1YW5kbyBpbCBwYXJlbnQgbm9uIGVzaXN0ZSB3aW5kb3cuIHBhcmVudCDDqCB1biByaWZlcmltZW50byBhIHNlIHN0ZXNzb1xyXG4gICAgICAgIHdoaWxlICh0bXBXaW5kb3cucGFyZW50ICE9IHRtcFdpbmRvdylcclxuICAgICAgICAgICAgdG1wV2luZG93ID0gdG1wV2luZG93LnBhcmVudDtcclxuXHJcbiAgICAgICAgdG1wV2luZG93LnBvc3RNZXNzYWdlKHsgdHlwZTogXCJuYXZpZ2F0aW9uXCIsIHVybDogdGhpcy5Db21wbGV0ZVBhdGgsIGludGVybmFsTmF2aWdhdGlvbjogdGhpcy5JbnRlcm5hbE5hdmlnYXRpb24sIHRpdGxlOiB0aGlzLk5hdmlnYXRpb25UaXRsZSB9LCBcIipcIik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIG5hdmlnYXRlKGNvbW1hbmQ6IGFueVtdLCBleHRyYXM/OiBhbnkpIHtcclxuICAgICAgICBsZXQgY29tbWFuZHMgPSBjb21tYW5kO1xyXG5cclxuICAgICAgICAvLyBGaXggZGVsbGEgcGF0aCBlc2F0dGFtZW50ZSBjb21lIGluIGVzUm91dGVyTGlua1xyXG4gICAgICAgIGNvbW1hbmRzID0gQXJyYXkuaXNBcnJheShjb21tYW5kcykgPyBjb21tYW5kcyA6IFtjb21tYW5kc107XHJcbiAgICAgICAgbGV0IHJvdXRlID0gKGNvbW1hbmRzWzBdIGFzIHN0cmluZyk7XHJcbiAgICAgICAgaWYgKCFyb3V0ZS5zdGFydHNXaXRoKFwiL1wiICsgRU1CRURERURfUk9VVEUpICYmICFyb3V0ZS5zdGFydHNXaXRoKFwiL1wiICsgUk9VVEUpKVxyXG4gICAgICAgICAgICBjb21tYW5kc1swXSA9IHRoaXMuQmFzZVBhdGggKyBjb21tYW5kc1swXTtcclxuXHJcbiAgICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKGNvbW1hbmQsIGV4dHJhcyk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Angular
|
|
2
|
+
import { Component } from "@angular/core";
|
|
3
|
+
// Direttive, Componenti, Librerie
|
|
4
|
+
import { ReplaySubject } from "rxjs";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ReactiveComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.Subscriptions = [];
|
|
9
|
+
this.destroyed$ = new ReplaySubject(1);
|
|
10
|
+
}
|
|
11
|
+
ngOnDestroy() {
|
|
12
|
+
this.destroyed$.next(true);
|
|
13
|
+
this.destroyed$.complete();
|
|
14
|
+
if (!this.Subscriptions)
|
|
15
|
+
return;
|
|
16
|
+
for (let i = 0; i < this.Subscriptions.length; i++)
|
|
17
|
+
this.Subscriptions[i].unsubscribe();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
ReactiveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ReactiveComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
+
ReactiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ReactiveComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ReactiveComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ template: '' }]
|
|
25
|
+
}] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL3NyYy9wYWdlLXN0cnVjdHVyZS9iYXNlL3JlYWN0aXZlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxrQ0FBa0M7QUFDbEMsT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSxNQUFNLENBQUM7O0FBR25ELE1BQU0sT0FBZ0IsaUJBQWlCO0lBRHZDO1FBR2Msa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQ25DLGVBQVUsR0FBMkIsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FZdkU7SUFWRyxXQUFXO1FBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFDbkIsT0FBTztRQUVYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxDQUFDOzs4R0FkaUIsaUJBQWlCO2tHQUFqQixpQkFBaUIsb0RBRGhCLEVBQUU7MkZBQ0gsaUJBQWlCO2tCQUR0QyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vIERpcmV0dGl2ZSwgQ29tcG9uZW50aSwgTGlicmVyaWVcclxuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlYWN0aXZlQ29tcG9uZW50IHtcclxuXHJcbiAgICBwcm90ZWN0ZWQgU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICAgIHByb3RlY3RlZCBkZXN0cm95ZWQkOiBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFJlcGxheVN1YmplY3QoMSk7XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQkLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5TdWJzY3JpcHRpb25zKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5TdWJzY3JpcHRpb25zLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICB0aGlzLlN1YnNjcmlwdGlvbnNbaV0udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// Angular
|
|
2
|
+
import { NgFor, NgIf } from "@angular/common";
|
|
3
|
+
import { Component, ViewEncapsulation } from "@angular/core";
|
|
4
|
+
import { NavigationEnd, RouterLink } from "@angular/router";
|
|
5
|
+
// Configurazioni
|
|
6
|
+
import { combineLatest, of } from "rxjs";
|
|
7
|
+
import { filter, map, mergeMap } from "rxjs/operators";
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@esfaenza/core/services";
|
|
10
|
+
import * as i2 from "@angular/router";
|
|
11
|
+
import * as i3 from "@angular/platform-browser";
|
|
12
|
+
export class Breadcrumb {
|
|
13
|
+
constructor(_state, router, _activatedRoute, _titleService) {
|
|
14
|
+
this._state = _state;
|
|
15
|
+
this.router = router;
|
|
16
|
+
this._activatedRoute = _activatedRoute;
|
|
17
|
+
this._titleService = _titleService;
|
|
18
|
+
this.MainLink = { title: "Dashboard", routerLink: ["/pages/dashboard"] };
|
|
19
|
+
this.SubLinks = [];
|
|
20
|
+
this.router.events.pipe(filter(event => event instanceof NavigationEnd), map((event) => { return { event: event, route: this._activatedRoute }; }), map((routeWithEvent) => {
|
|
21
|
+
while (routeWithEvent.route.firstChild)
|
|
22
|
+
routeWithEvent.route = routeWithEvent.route.firstChild;
|
|
23
|
+
return routeWithEvent;
|
|
24
|
+
}), mergeMap(routeWithEvent => combineLatest(of(routeWithEvent.event.url).pipe(map(url => this.router.parseUrl(url))), routeWithEvent.route.data))).subscribe((treePlusData) => {
|
|
25
|
+
let data = treePlusData[1];
|
|
26
|
+
let tree = treePlusData[0];
|
|
27
|
+
// true = SUB - dettaglio
|
|
28
|
+
// false = MAIN - ricerca/dashboard
|
|
29
|
+
let internalNavigation = data["InternalNavigation"];
|
|
30
|
+
let title = data["title"];
|
|
31
|
+
if (internalNavigation) {
|
|
32
|
+
this.onSubNavigation(tree, title);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
this.onMainNavigation(tree, title);
|
|
36
|
+
}
|
|
37
|
+
this._titleService.setTitle(myconfig.AppData.ModuleDescription + " > " + title);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
ngOnInit() { }
|
|
41
|
+
onSubNavigation(tree, title) {
|
|
42
|
+
let index = this.SubLinks.indexOf(this.SubLinks.find(f => f.title == title));
|
|
43
|
+
let difference = this.SubLinks.length - (index + 1);
|
|
44
|
+
if (index != -1 && (index + 1) != this.SubLinks.length) {
|
|
45
|
+
for (let i = 0; i < difference; i++)
|
|
46
|
+
this.SubLinks.pop();
|
|
47
|
+
}
|
|
48
|
+
if (index == -1 && this.MainLink.title != title)
|
|
49
|
+
this.SubLinks.push({ title: title, routerLink: this.getRouterLink(tree) });
|
|
50
|
+
}
|
|
51
|
+
onMainNavigation(tree, title) {
|
|
52
|
+
this.SubLinks = [];
|
|
53
|
+
this.MainLink = { title: title, routerLink: this.getRouterLink(tree) };
|
|
54
|
+
}
|
|
55
|
+
getRouterLink(tree) {
|
|
56
|
+
let segs = tree?.root?.children?.["primary"]?.segments ?? [];
|
|
57
|
+
let route = "/" + segs.map(t => t.path).join('/');
|
|
58
|
+
let params = segs[segs.length - 1]?.parameters;
|
|
59
|
+
return [route, params];
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
Breadcrumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Breadcrumb, deps: [{ token: i1.AppState }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.Title }], target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
+
Breadcrumb.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: Breadcrumb, isStandalone: true, selector: "breadcrumb", ngImport: i0, template: "<ol class=\"breadcrumb app-no-selection\">\r\n <li class=\"breadcrumb-item text-uppercase breadcrumb-link\" [routerLink]=\"['/pages/dashboard']\">Dashboard</li>\r\n <li *ngIf=\"MainLink?.title != 'Dashboard'\" [routerLink]=\"MainLink.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\">{{MainLink.title}}</li>\r\n <li *ngFor=\"let link of SubLinks\" class=\"breadcrumb-item text-uppercase breadcrumb-link\" [routerLink]=\"link.routerLink\">{{link.title}}</li>\r\n</ol>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Lato&family=Sora&display=swap\";.breadcrumb{padding:0;margin:0;background:transparent;color:#344154;font-size:14px}.breadcrumb-item+.breadcrumb-item:before{font-weight:400!important;color:#fff;font-family:\"Font Awesome 6 Pro\";font-size:.6rem;line-height:1.4rem;content:\"\\f054\"}.breadcrumb-item{float:left}.breadcrumb-link{cursor:pointer;font-weight:500;color:#fff!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Breadcrumb, decorators: [{
|
|
65
|
+
type: Component,
|
|
66
|
+
args: [{ selector: "breadcrumb", encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgIf, NgFor, RouterLink], template: "<ol class=\"breadcrumb app-no-selection\">\r\n <li class=\"breadcrumb-item text-uppercase breadcrumb-link\" [routerLink]=\"['/pages/dashboard']\">Dashboard</li>\r\n <li *ngIf=\"MainLink?.title != 'Dashboard'\" [routerLink]=\"MainLink.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\">{{MainLink.title}}</li>\r\n <li *ngFor=\"let link of SubLinks\" class=\"breadcrumb-item text-uppercase breadcrumb-link\" [routerLink]=\"link.routerLink\">{{link.title}}</li>\r\n</ol>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Lato&family=Sora&display=swap\";.breadcrumb{padding:0;margin:0;background:transparent;color:#344154;font-size:14px}.breadcrumb-item+.breadcrumb-item:before{font-weight:400!important;color:#fff;font-family:\"Font Awesome 6 Pro\";font-size:.6rem;line-height:1.4rem;content:\"\\f054\"}.breadcrumb-item{float:left}.breadcrumb-link{cursor:pointer;font-weight:500;color:#fff!important}\n"] }]
|
|
67
|
+
}], ctorParameters: function () { return [{ type: i1.AppState }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.Title }]; } });
|
|
68
|
+
export class BreadcrumbItem {
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3BhZ2Utc3RydWN0dXJlL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3BhZ2Utc3RydWN0dXJlL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBd0IsYUFBYSxFQUFVLFVBQVUsRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBSW5HLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFZdkQsTUFBTSxPQUFPLFVBQVU7SUFJbkIsWUFBbUIsTUFBZ0IsRUFBVSxNQUFjLEVBQVUsZUFBK0IsRUFBVSxhQUFvQjtRQUEvRyxXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFPO1FBSDNILGFBQVEsR0FBbUIsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztRQUNwRixhQUFRLEdBQXFCLEVBQUUsQ0FBQztRQUduQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ25CLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsRUFDL0MsR0FBRyxDQUFDLENBQUMsS0FBb0IsRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQSxDQUFDLENBQUMsQ0FBQyxFQUN2RixHQUFHLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUNuQixPQUFPLGNBQWMsQ0FBQyxLQUFLLENBQUMsVUFBVTtnQkFDbEMsY0FBYyxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztZQUMzRCxPQUFPLGNBQWMsQ0FBQztRQUMxQixDQUFDLENBQUMsRUFDRixRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FDdEIsYUFBYSxDQUNULEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQ3hFLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQ2pDLENBQ0osQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUE2QixFQUFFLEVBQUU7WUFDMUMsSUFBSSxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLElBQUksSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUUzQix5QkFBeUI7WUFDekIsbUNBQW1DO1lBQ25DLElBQUksa0JBQWtCLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDcEQsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFCLElBQUksa0JBQWtCLEVBQUU7Z0JBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFBRTtpQkFDekQ7Z0JBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUFFO1lBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ3BGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFFBQVEsS0FBSyxDQUFDO0lBRWQsZUFBZSxDQUFDLElBQWEsRUFBRSxLQUFhO1FBQ3hDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdFLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQ25ELElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFO1lBQ3BELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxFQUFFO2dCQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksS0FBSztZQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFhLEVBQUUsS0FBYTtRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBYTtRQUMvQixJQUFJLElBQUksR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDN0QsSUFBSSxLQUFLLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQztRQUUvQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7O3VHQXhEUSxVQUFVOzJGQUFWLFVBQVUsc0VDdEJ2QixpZkFJSyx5ZURnQlMsSUFBSSw2RkFBRSxLQUFLLG1IQUFFLFVBQVU7MkZBRXhCLFVBQVU7a0JBUnRCLFNBQVM7K0JBQ0ksWUFBWSxpQkFDUCxpQkFBaUIsQ0FBQyxJQUFJLGNBR3pCLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDOztBQTZEdEMsTUFBTSxPQUFPLGNBQWM7Q0FHMUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IE5nRm9yLCBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVGl0bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgRGF0YSwgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJMaW5rLCBVcmxUcmVlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBFbnZPcHRpb25zIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL2RvbWFpblwiO1xyXG5pbXBvcnQgeyBBcHBTdGF0ZSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9zZXJ2aWNlc1wiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuXHJcbmRlY2xhcmUgdmFyIG15Y29uZmlnOiBFbnZPcHRpb25zO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJicmVhZGNydW1iXCIsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgc3R5bGVVcmxzOiBbXCIuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdGb3IsIFJvdXRlckxpbmtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iIHtcclxuICAgIHB1YmxpYyBNYWluTGluazogQnJlYWRjcnVtYkl0ZW0gPSB7IHRpdGxlOiBcIkRhc2hib2FyZFwiLCByb3V0ZXJMaW5rOiBbXCIvcGFnZXMvZGFzaGJvYXJkXCJdIH07XHJcbiAgICBwdWJsaWMgU3ViTGlua3M6IEJyZWFkY3J1bWJJdGVtW10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgX3N0YXRlOiBBcHBTdGF0ZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIF90aXRsZVNlcnZpY2U6IFRpdGxlKSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXHJcbiAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxyXG4gICAgICAgICAgICBtYXAoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7IHJldHVybiB7IGV2ZW50OiBldmVudCwgcm91dGU6IHRoaXMuX2FjdGl2YXRlZFJvdXRlIH0gfSksXHJcbiAgICAgICAgICAgIG1hcCgocm91dGVXaXRoRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgIHdoaWxlIChyb3V0ZVdpdGhFdmVudC5yb3V0ZS5maXJzdENoaWxkKVxyXG4gICAgICAgICAgICAgICAgICAgIHJvdXRlV2l0aEV2ZW50LnJvdXRlID0gcm91dGVXaXRoRXZlbnQucm91dGUuZmlyc3RDaGlsZDtcclxuICAgICAgICAgICAgICAgIHJldHVybiByb3V0ZVdpdGhFdmVudDtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgIG1lcmdlTWFwKHJvdXRlV2l0aEV2ZW50ID0+XHJcbiAgICAgICAgICAgICAgICBjb21iaW5lTGF0ZXN0KFxyXG4gICAgICAgICAgICAgICAgICAgIG9mKHJvdXRlV2l0aEV2ZW50LmV2ZW50LnVybCkucGlwZShtYXAodXJsID0+IHRoaXMucm91dGVyLnBhcnNlVXJsKHVybCkpKSxcclxuICAgICAgICAgICAgICAgICAgICByb3V0ZVdpdGhFdmVudC5yb3V0ZS5kYXRhKVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKS5zdWJzY3JpYmUoKHRyZWVQbHVzRGF0YTogW1VybFRyZWUsIERhdGFdKSA9PiB7XHJcbiAgICAgICAgICAgIGxldCBkYXRhID0gdHJlZVBsdXNEYXRhWzFdO1xyXG4gICAgICAgICAgICBsZXQgdHJlZSA9IHRyZWVQbHVzRGF0YVswXTtcclxuXHJcbiAgICAgICAgICAgIC8vIHRydWUgPSBTVUIgLSBkZXR0YWdsaW9cclxuICAgICAgICAgICAgLy8gZmFsc2UgPSBNQUlOIC0gcmljZXJjYS9kYXNoYm9hcmRcclxuICAgICAgICAgICAgbGV0IGludGVybmFsTmF2aWdhdGlvbiA9IGRhdGFbXCJJbnRlcm5hbE5hdmlnYXRpb25cIl07XHJcbiAgICAgICAgICAgIGxldCB0aXRsZSA9IGRhdGFbXCJ0aXRsZVwiXTtcclxuICAgICAgICAgICAgaWYgKGludGVybmFsTmF2aWdhdGlvbikgeyB0aGlzLm9uU3ViTmF2aWdhdGlvbih0cmVlLCB0aXRsZSk7IH1cclxuICAgICAgICAgICAgZWxzZSB7IHRoaXMub25NYWluTmF2aWdhdGlvbih0cmVlLCB0aXRsZSk7IH1cclxuICAgICAgICAgICAgdGhpcy5fdGl0bGVTZXJ2aWNlLnNldFRpdGxlKG15Y29uZmlnLkFwcERhdGEuTW9kdWxlRGVzY3JpcHRpb24gKyBcIiA+IFwiICsgdGl0bGUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkgeyB9XHJcblxyXG4gICAgb25TdWJOYXZpZ2F0aW9uKHRyZWU6IFVybFRyZWUsIHRpdGxlOiBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgaW5kZXggPSB0aGlzLlN1YkxpbmtzLmluZGV4T2YodGhpcy5TdWJMaW5rcy5maW5kKGYgPT4gZi50aXRsZSA9PSB0aXRsZSkpO1xyXG4gICAgICAgIGxldCBkaWZmZXJlbmNlID0gdGhpcy5TdWJMaW5rcy5sZW5ndGggLSAoaW5kZXggKyAxKVxyXG4gICAgICAgIGlmIChpbmRleCAhPSAtMSAmJiAoaW5kZXggKyAxKSAhPSB0aGlzLlN1YkxpbmtzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpZmZlcmVuY2U7IGkrKylcclxuICAgICAgICAgICAgICAgIHRoaXMuU3ViTGlua3MucG9wKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpbmRleCA9PSAtMSAmJiB0aGlzLk1haW5MaW5rLnRpdGxlICE9IHRpdGxlKVxyXG4gICAgICAgICAgICB0aGlzLlN1YkxpbmtzLnB1c2goeyB0aXRsZTogdGl0bGUsIHJvdXRlckxpbms6IHRoaXMuZ2V0Um91dGVyTGluayh0cmVlKSB9KTtcclxuICAgIH1cclxuXHJcbiAgICBvbk1haW5OYXZpZ2F0aW9uKHRyZWU6IFVybFRyZWUsIHRpdGxlOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLlN1YkxpbmtzID0gW107XHJcbiAgICAgICAgdGhpcy5NYWluTGluayA9IHsgdGl0bGU6IHRpdGxlLCByb3V0ZXJMaW5rOiB0aGlzLmdldFJvdXRlckxpbmsodHJlZSkgfTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFJvdXRlckxpbmsodHJlZTogVXJsVHJlZSkge1xyXG4gICAgICAgIGxldCBzZWdzID0gdHJlZT8ucm9vdD8uY2hpbGRyZW4/LltcInByaW1hcnlcIl0/LnNlZ21lbnRzID8/IFtdO1xyXG4gICAgICAgIGxldCByb3V0ZSA9IFwiL1wiICsgc2Vncy5tYXAodCA9PiB0LnBhdGgpLmpvaW4oJy8nKTtcclxuICAgICAgICBsZXQgcGFyYW1zID0gc2Vnc1tzZWdzLmxlbmd0aCAtIDFdPy5wYXJhbWV0ZXJzO1xyXG5cclxuICAgICAgICByZXR1cm4gW3JvdXRlLCBwYXJhbXNdO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYkl0ZW0ge1xyXG4gICAgdGl0bGU6IHN0cmluZztcclxuICAgIHJvdXRlckxpbms6IGFueVtdO1xyXG59IiwiPG9sIGNsYXNzPVwiYnJlYWRjcnVtYiBhcHAtbm8tc2VsZWN0aW9uXCI+XHJcbiAgICA8bGkgY2xhc3M9XCJicmVhZGNydW1iLWl0ZW0gdGV4dC11cHBlcmNhc2UgYnJlYWRjcnVtYi1saW5rXCIgW3JvdXRlckxpbmtdPVwiWycvcGFnZXMvZGFzaGJvYXJkJ11cIj5EYXNoYm9hcmQ8L2xpPlxyXG4gICAgPGxpICpuZ0lmPVwiTWFpbkxpbms/LnRpdGxlICE9ICdEYXNoYm9hcmQnXCIgW3JvdXRlckxpbmtdPVwiTWFpbkxpbmsucm91dGVyTGlua1wiIGNsYXNzPVwiYnJlYWRjcnVtYi1pdGVtIHRleHQtdXBwZXJjYXNlIGJyZWFkY3J1bWItbGlua1wiPnt7TWFpbkxpbmsudGl0bGV9fTwvbGk+XHJcbiAgICA8bGkgKm5nRm9yPVwibGV0IGxpbmsgb2YgU3ViTGlua3NcIiBjbGFzcz1cImJyZWFkY3J1bWItaXRlbSB0ZXh0LXVwcGVyY2FzZSBicmVhZGNydW1iLWxpbmtcIiBbcm91dGVyTGlua109XCJsaW5rLnJvdXRlckxpbmtcIj57e2xpbmsudGl0bGV9fTwvbGk+XHJcbjwvb2w+Il19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Angular
|
|
2
|
+
import { Component, ViewEncapsulation } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/router";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@esfaenza/core/services";
|
|
7
|
+
export class PageNotFoundComponent {
|
|
8
|
+
constructor(router, _location, as) {
|
|
9
|
+
this._location = _location;
|
|
10
|
+
this.as = as;
|
|
11
|
+
this.router = router;
|
|
12
|
+
}
|
|
13
|
+
goPreviousPage() {
|
|
14
|
+
this._location.back();
|
|
15
|
+
}
|
|
16
|
+
goDashboard() {
|
|
17
|
+
let url = `/pages/dashboard`;
|
|
18
|
+
if (this.as.Embedded)
|
|
19
|
+
this.as.MainWindow.postMessage({ type: "navigate", url }, "*");
|
|
20
|
+
else
|
|
21
|
+
this.router.navigate([url]);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
PageNotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PageNotFoundComponent, deps: [{ token: i1.Router }, { token: i2.Location }, { token: i3.AppState }], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
PageNotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PageNotFoundComponent, isStandalone: true, selector: "pagenotfound", ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-xl-6 col-md-6 col-10 offset-xl-3 offset-md-3 offset-xs-1 p-t-10\">\r\n <div class=\"card\">\r\n <div class=\"card-body text-center\">\r\n <h1 class=\"display-1\">404</h1>\r\n <h6 class=\"card-title\">La risorsa richiesta non è stata trovata ma in futuro potrebbe essere disponibile.</h6>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-secondary pull-right\" (click)=\"goDashboard()\">Vai alla Dashboard</button>\r\n <button type=\"button\" class=\"btn btn-secondary pull-left\" (click)=\"goPreviousPage()\">Torna alla pagina precedente</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", encapsulation: i0.ViewEncapsulation.None });
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PageNotFoundComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{ selector: "pagenotfound", encapsulation: ViewEncapsulation.None, standalone: true, template: "<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-xl-6 col-md-6 col-10 offset-xl-3 offset-md-3 offset-xs-1 p-t-10\">\r\n <div class=\"card\">\r\n <div class=\"card-body text-center\">\r\n <h1 class=\"display-1\">404</h1>\r\n <h6 class=\"card-title\">La risorsa richiesta non è stata trovata ma in futuro potrebbe essere disponibile.</h6>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-secondary pull-right\" (click)=\"goDashboard()\">Vai alla Dashboard</button>\r\n <button type=\"button\" class=\"btn btn-secondary pull-left\" (click)=\"goPreviousPage()\">Torna alla pagina precedente</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
29
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.Location }, { type: i3.AppState }]; } });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZW5vdGZvdW5kLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zcmMvcGFnZS1zdHJ1Y3R1cmUvZXJyb3IvNDA0L3BhZ2Vub3Rmb3VuZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3BhZ2Utc3RydWN0dXJlL2Vycm9yLzQwNC9wYWdlbm90Zm91bmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBWTdELE1BQU0sT0FBTyxxQkFBcUI7SUFHOUIsWUFBWSxNQUFjLEVBQVUsU0FBbUIsRUFBVSxFQUFZO1FBQXpDLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFVO1FBQ3pFLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksR0FBRyxHQUFHLGtCQUFrQixDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRO1lBQ2hCLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7O1lBRS9ELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVwQyxDQUFDOztrSEFsQlEscUJBQXFCO3NHQUFyQixxQkFBcUIsd0VDYmxDLG83QkFnQk07MkZESE8scUJBQXFCO2tCQU5qQyxTQUFTOytCQUNJLGNBQWMsaUJBQ1QsaUJBQWlCLENBQUMsSUFBSSxjQUV6QixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbmltcG9ydCB7IEFwcFN0YXRlIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL3NlcnZpY2VzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcInBhZ2Vub3Rmb3VuZFwiLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vcGFnZW5vdGZvdW5kLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlTm90Rm91bmRDb21wb25lbnQge1xyXG4gICAgcm91dGVyOiBSb3V0ZXI7XHJcblxyXG4gICAgY29uc3RydWN0b3Iocm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgX2xvY2F0aW9uOiBMb2NhdGlvbiwgcHJpdmF0ZSBhczogQXBwU3RhdGUpIHtcclxuICAgICAgICB0aGlzLnJvdXRlciA9IHJvdXRlcjtcclxuICAgIH1cclxuXHJcbiAgICBnb1ByZXZpb3VzUGFnZSgpIHtcclxuICAgICAgICB0aGlzLl9sb2NhdGlvbi5iYWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ29EYXNoYm9hcmQoKSB7XHJcbiAgICAgICAgbGV0IHVybCA9IGAvcGFnZXMvZGFzaGJvYXJkYDtcclxuICAgICAgICBpZiAodGhpcy5hcy5FbWJlZGRlZClcclxuICAgICAgICAgICAgdGhpcy5hcy5NYWluV2luZG93LnBvc3RNZXNzYWdlKHsgdHlwZTogXCJuYXZpZ2F0ZVwiLCB1cmwgfSwgXCIqXCIpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybF0pO1xyXG5cclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXhsLTYgY29sLW1kLTYgY29sLTEwIG9mZnNldC14bC0zIG9mZnNldC1tZC0zIG9mZnNldC14cy0xIHAtdC0xMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzcz1cImRpc3BsYXktMVwiPjQwNDwvaDE+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwiY2FyZC10aXRsZVwiPkxhIHJpc29yc2EgcmljaGllc3RhIG5vbiAmZWdyYXZlOyBzdGF0YSB0cm92YXRhIG1hIGluIGZ1dHVybyBwb3RyZWJiZSBlc3NlcmUgZGlzcG9uaWJpbGUuPC9oNj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IHB1bGwtcmlnaHRcIiAoY2xpY2spPVwiZ29EYXNoYm9hcmQoKVwiPlZhaSBhbGxhIERhc2hib2FyZDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IHB1bGwtbGVmdFwiIChjbGljayk9XCJnb1ByZXZpb3VzUGFnZSgpXCI+VG9ybmEgYWxsYSBwYWdpbmEgcHJlY2VkZW50ZTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Angular
|
|
2
|
+
import { Component, ViewEncapsulation } from "@angular/core";
|
|
3
|
+
import { NgIf } from "@angular/common";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
import * as i2 from "@esfaenza/core/services";
|
|
7
|
+
export class ServerErrorComponent {
|
|
8
|
+
constructor(router, route, as) {
|
|
9
|
+
this.router = router;
|
|
10
|
+
this.route = route;
|
|
11
|
+
this.as = as;
|
|
12
|
+
this.statusCode = this.route.snapshot.params["statusCode"];
|
|
13
|
+
this.statusText = this.b64DecodeUnicode(this.route.snapshot.params["statusText"]);
|
|
14
|
+
this.previousUrl = this.route.snapshot.params["fromUrl"];
|
|
15
|
+
//Dopo 1 secondo considero la sfilza di errori finita
|
|
16
|
+
setTimeout(() => { this.as.handlingError = false; }, 1000);
|
|
17
|
+
}
|
|
18
|
+
b64DecodeUnicode(str) {
|
|
19
|
+
// Going backwards: from bytestream, to percent-encoding, to original string.
|
|
20
|
+
return decodeURIComponent(atob(str).split("").map(c => "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2)).join(""));
|
|
21
|
+
}
|
|
22
|
+
goPreviousPage() {
|
|
23
|
+
this.router.navigateByUrl(this.previousUrl);
|
|
24
|
+
}
|
|
25
|
+
goDashboard() {
|
|
26
|
+
let url = `/pages/dashboard`;
|
|
27
|
+
if (this.as.Embedded)
|
|
28
|
+
this.as.MainWindow.postMessage({ type: "navigate", url }, "*");
|
|
29
|
+
else
|
|
30
|
+
this.router.navigate([url]);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
ServerErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServerErrorComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.AppState }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
ServerErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ServerErrorComponent, isStandalone: true, selector: "servererror", ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-xl-6 col-md-6 col-10 offset-xl-3 offset-md-3 offset-xs-1 p-t-10\">\r\n <div class=\"card\">\r\n <div class=\"card-body text-center\">\r\n <h1 class=\"display-1\" *ngIf=\"!statusCode\"> </h1>\r\n <h1 class=\"display-1\" *ngIf=\"statusCode\">{{statusCode}}</h1>\r\n <h6 class=\"card-title\" *ngIf=\"!statusText\"> </h6>\r\n <h6 class=\"card-title\" style=\"word-wrap:break-word; max-height: 500px; overflow: auto\" *ngIf=\"statusText\">{{statusText}}</h6>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-secondary pull-right\" (click)=\"goDashboard()\">Vai alla Dashboard</button>\r\n <button type=\"button\" class=\"btn btn-secondary pull-left\" (click)=\"goPreviousPage()\">Torna alla pagina precedente</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServerErrorComponent, decorators: [{
|
|
36
|
+
type: Component,
|
|
37
|
+
args: [{ selector: "servererror", encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgIf], template: "<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-xl-6 col-md-6 col-10 offset-xl-3 offset-md-3 offset-xs-1 p-t-10\">\r\n <div class=\"card\">\r\n <div class=\"card-body text-center\">\r\n <h1 class=\"display-1\" *ngIf=\"!statusCode\"> </h1>\r\n <h1 class=\"display-1\" *ngIf=\"statusCode\">{{statusCode}}</h1>\r\n <h6 class=\"card-title\" *ngIf=\"!statusText\"> </h6>\r\n <h6 class=\"card-title\" style=\"word-wrap:break-word; max-height: 500px; overflow: auto\" *ngIf=\"statusText\">{{statusText}}</h6>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-secondary pull-right\" (click)=\"goDashboard()\">Vai alla Dashboard</button>\r\n <button type=\"button\" class=\"btn btn-secondary pull-left\" (click)=\"goPreviousPage()\">Torna alla pagina precedente</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.AppState }]; } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyZXJyb3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL3NyYy9wYWdlLXN0cnVjdHVyZS9lcnJvci81MDAvc2VydmVyZXJyb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL3NyYy9wYWdlLXN0cnVjdHVyZS9lcnJvci81MDAvc2VydmVyZXJyb3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBYXZDLE1BQU0sT0FBTyxvQkFBb0I7SUFLN0IsWUFBb0IsTUFBYyxFQUFVLEtBQXFCLEVBQVUsRUFBWTtRQUFuRSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFVO1FBQ25GLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXpELHFEQUFxRDtRQUNyRCxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFHO1FBQ2hCLDZFQUE2RTtRQUM3RSxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1SCxDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksR0FBRyxHQUFHLGtCQUFrQixDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRO1lBQ2hCLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7O1lBRS9ELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDOztpSEE3QlEsb0JBQW9CO3FHQUFwQixvQkFBb0IsdUVDaEJqQywycENBa0JNLDRDREpRLElBQUk7MkZBRUwsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNJLGFBQWEsaUJBQ1IsaUJBQWlCLENBQUMsSUFBSSxjQUV6QixJQUFJLFdBQ1AsQ0FBQyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQXBwU3RhdGUgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvc2VydmljZXNcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcInNlcnZlcmVycm9yXCIsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9zZXJ2ZXJlcnJvci5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICAgIGltcG9ydHM6IFtOZ0lmXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2VydmVyRXJyb3JDb21wb25lbnQge1xyXG4gICAgc3RhdHVzQ29kZTogc3RyaW5nO1xyXG4gICAgc3RhdHVzVGV4dDogc3RyaW5nO1xyXG4gICAgcHJldmlvdXNVcmw6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSBhczogQXBwU3RhdGUpIHtcclxuICAgICAgICB0aGlzLnN0YXR1c0NvZGUgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtc1tcInN0YXR1c0NvZGVcIl07XHJcbiAgICAgICAgdGhpcy5zdGF0dXNUZXh0ID0gdGhpcy5iNjREZWNvZGVVbmljb2RlKHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zW1wic3RhdHVzVGV4dFwiXSk7XHJcbiAgICAgICAgdGhpcy5wcmV2aW91c1VybCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zW1wiZnJvbVVybFwiXTtcclxuXHJcbiAgICAgICAgLy9Eb3BvIDEgc2Vjb25kbyBjb25zaWRlcm8gbGEgc2ZpbHphIGRpIGVycm9yaSBmaW5pdGFcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5hcy5oYW5kbGluZ0Vycm9yID0gZmFsc2U7IH0sIDEwMDApO1xyXG4gICAgfVxyXG5cclxuICAgIGI2NERlY29kZVVuaWNvZGUoc3RyKSB7XHJcbiAgICAgICAgLy8gR29pbmcgYmFja3dhcmRzOiBmcm9tIGJ5dGVzdHJlYW0sIHRvIHBlcmNlbnQtZW5jb2RpbmcsIHRvIG9yaWdpbmFsIHN0cmluZy5cclxuICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGF0b2Ioc3RyKS5zcGxpdChcIlwiKS5tYXAoYyA9PiBcIiVcIiArIChcIjAwXCIgKyBjLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpKS5zbGljZSgtMikpLmpvaW4oXCJcIikpO1xyXG4gICAgfVxyXG5cclxuICAgIGdvUHJldmlvdXNQYWdlKCkge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5wcmV2aW91c1VybCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ29EYXNoYm9hcmQoKSB7XHJcbiAgICAgICAgbGV0IHVybCA9IGAvcGFnZXMvZGFzaGJvYXJkYDtcclxuICAgICAgICBpZiAodGhpcy5hcy5FbWJlZGRlZClcclxuICAgICAgICAgICAgdGhpcy5hcy5NYWluV2luZG93LnBvc3RNZXNzYWdlKHsgdHlwZTogXCJuYXZpZ2F0ZVwiLCB1cmwgfSwgXCIqXCIpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybF0pO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtNiBjb2wtbWQtNiBjb2wtMTAgb2Zmc2V0LXhsLTMgb2Zmc2V0LW1kLTMgb2Zmc2V0LXhzLTEgcC10LTEwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPVwiZGlzcGxheS0xXCIgKm5nSWY9XCIhc3RhdHVzQ29kZVwiPiZuYnNwOyZuYnNwOyZuYnNwOzwvaDE+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgxIGNsYXNzPVwiZGlzcGxheS0xXCIgKm5nSWY9XCJzdGF0dXNDb2RlXCI+e3tzdGF0dXNDb2RlfX08L2gxPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cImNhcmQtdGl0bGVcIiAqbmdJZj1cIiFzdGF0dXNUZXh0XCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7PC9oNj5cclxuICAgICAgICAgICAgICAgICAgICA8aDYgY2xhc3M9XCJjYXJkLXRpdGxlXCIgc3R5bGU9XCJ3b3JkLXdyYXA6YnJlYWstd29yZDsgbWF4LWhlaWdodDogNTAwcHg7IG92ZXJmbG93OiBhdXRvXCIgKm5nSWY9XCJzdGF0dXNUZXh0XCI+e3tzdGF0dXNUZXh0fX08L2g2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgcHVsbC1yaWdodFwiIChjbGljayk9XCJnb0Rhc2hib2FyZCgpXCI+VmFpIGFsbGEgRGFzaGJvYXJkPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgcHVsbC1sZWZ0XCIgKGNsaWNrKT1cImdvUHJldmlvdXNQYWdlKClcIj5Ub3JuYSBhbGxhIHBhZ2luYSBwcmVjZWRlbnRlPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbGVhcmZpeFwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// Angular
|
|
2
|
+
import { Component, ViewEncapsulation } from "@angular/core";
|
|
3
|
+
import { NgIf } from "@angular/common";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/router";
|
|
6
|
+
import * as i2 from "@esfaenza/httpservice";
|
|
7
|
+
import * as i3 from "@esfaenza/core/services";
|
|
8
|
+
export class AngularErrorComponent {
|
|
9
|
+
constructor(router, route, http, bts, as) {
|
|
10
|
+
this.router = router;
|
|
11
|
+
this.route = route;
|
|
12
|
+
this.http = http;
|
|
13
|
+
this.bts = bts;
|
|
14
|
+
this.as = as;
|
|
15
|
+
let identity = this.bts.getJaceIdentity();
|
|
16
|
+
this.previousUrl = this.route.snapshot.params["fromUrl"];
|
|
17
|
+
let calls = (this.http.LastThreeCompletedCalls[0] || "<empty>") + ", " + (this.http.LastThreeCompletedCalls[1] || "<empty>") + ", " + (this.http.LastThreeCompletedCalls[2] || "<empty>");
|
|
18
|
+
this.errorFrom = "From page: " + (this.previousUrl || "<missing>");
|
|
19
|
+
this.errorLastCalls = "Last three calls: " + calls;
|
|
20
|
+
this.identityInfos = "Logged user: " + (identity?.Idtenant || '??') + "-" + (identity?.DsUser || '???????');
|
|
21
|
+
this.errorMessage = this.b64DecodeUnicode(this.route.snapshot.params["errorMessage"]);
|
|
22
|
+
console.error(this.errorMessage);
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
var item = localStorage.getItem("Reload");
|
|
26
|
+
if (item) {
|
|
27
|
+
localStorage.removeItem("Reload");
|
|
28
|
+
this.router.navigateByUrl(item);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
b64DecodeUnicode(str) {
|
|
32
|
+
// Bytestream -> Encoding % -> Stringa originale
|
|
33
|
+
return decodeURIComponent(atob(str).split("").map(c => "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2)).join(""));
|
|
34
|
+
}
|
|
35
|
+
goPreviousPage() {
|
|
36
|
+
// Reload per forzare il ricaricamento del javascript (in modo che lo stato dell'applicazione sia a posto)
|
|
37
|
+
// all'onInit la pagina prenderà la root a cui navigare dal localStorage
|
|
38
|
+
localStorage.setItem("Reload", this.previousUrl);
|
|
39
|
+
location.reload();
|
|
40
|
+
}
|
|
41
|
+
goDashboard() {
|
|
42
|
+
let url = `/pages/dashboard`;
|
|
43
|
+
if (this.as.Embedded)
|
|
44
|
+
this.as.MainWindow.postMessage({ type: "navigate", url }, "*");
|
|
45
|
+
else
|
|
46
|
+
this.router.navigate([url]);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
AngularErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AngularErrorComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.HTTPService }, { token: i3.TokenService }, { token: i3.AppState }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
+
AngularErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: AngularErrorComponent, isStandalone: true, selector: "angularerror", ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-xl-8 col-md-10 col-10 offset-xl-2 offset-xs-1 p-t-10\">\r\n <div class=\"card\">\r\n <div class=\"card-body text-center\">\r\n <h1 class=\"display-4\">Qualcosa è andato storto.</h1>\r\n <h6>\r\n <small>\r\n Si è verificato un errore interno all'applicazione. Questo non dovrebbe accadere. Prova a ricaricare la pagina precedente e rieffettuare le stesse operazioni, se il problema persiste contatta il service desk allegando una breve descrizione delle operazioni che stavi eseguendo e questo messaggio d'errore:\r\n </small>\r\n </h6>\r\n <h6 class=\"card-title text-danger app-margin-top-10 text-left\" style=\"word-wrap:break-word\" *ngIf=\"identityInfos\"><em>{{identityInfos}}</em></h6>\r\n <h6 class=\"card-title text-danger app-margin-top-10 text-left\" style=\"word-wrap:break-word\" *ngIf=\"errorFrom\"><em>{{errorFrom}}</em></h6>\r\n <h6 class=\"card-title text-danger app-margin-top-10 text-left\" style=\"word-wrap:break-word\" *ngIf=\"errorLastCalls\"><em>{{errorLastCalls}}</em></h6>\r\n <h6 class=\"card-title text-danger app-margin-top-10 text-left\" style=\"word-wrap:break-word\" *ngIf=\"errorMessage\"><em>{{errorMessage}}</em></h6>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-secondary pull-right\" (click)=\"goDashboard()\">Vai alla Dashboard</button>\r\n <button type=\"button\" class=\"btn btn-secondary pull-right app-margin-right-10\" (click)=\"goPreviousPage()\">Torna alla pagina precedente</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AngularErrorComponent, decorators: [{
|
|
52
|
+
type: Component,
|
|
53
|
+
args: [{ selector: "angularerror", encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgIf], template: "<div class=\"container\">\r\n <div class=\"row\">\r\n <div class=\"col-xl-8 col-md-10 col-10 offset-xl-2 offset-xs-1 p-t-10\">\r\n <div class=\"card\">\r\n <div class=\"card-body text-center\">\r\n <h1 class=\"display-4\">Qualcosa è andato storto.</h1>\r\n <h6>\r\n <small>\r\n Si è verificato un errore interno all'applicazione. Questo non dovrebbe accadere. Prova a ricaricare la pagina precedente e rieffettuare le stesse operazioni, se il problema persiste contatta il service desk allegando una breve descrizione delle operazioni che stavi eseguendo e questo messaggio d'errore:\r\n </small>\r\n </h6>\r\n <h6 class=\"card-title text-danger app-margin-top-10 text-left\" style=\"word-wrap:break-word\" *ngIf=\"identityInfos\"><em>{{identityInfos}}</em></h6>\r\n <h6 class=\"card-title text-danger app-margin-top-10 text-left\" style=\"word-wrap:break-word\" *ngIf=\"errorFrom\"><em>{{errorFrom}}</em></h6>\r\n <h6 class=\"card-title text-danger app-margin-top-10 text-left\" style=\"word-wrap:break-word\" *ngIf=\"errorLastCalls\"><em>{{errorLastCalls}}</em></h6>\r\n <h6 class=\"card-title text-danger app-margin-top-10 text-left\" style=\"word-wrap:break-word\" *ngIf=\"errorMessage\"><em>{{errorMessage}}</em></h6>\r\n <div>\r\n <button type=\"button\" class=\"btn btn-secondary pull-right\" (click)=\"goDashboard()\">Vai alla Dashboard</button>\r\n <button type=\"button\" class=\"btn btn-secondary pull-right app-margin-right-10\" (click)=\"goPreviousPage()\">Torna alla pagina precedente</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>" }]
|
|
54
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.HTTPService }, { type: i3.TokenService }, { type: i3.AppState }]; } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcmVycm9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zcmMvcGFnZS1zdHJ1Y3R1cmUvZXJyb3IvQW5ndWxhci9hbmd1bGFyZXJyb3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL3NyYy9wYWdlLXN0cnVjdHVyZS9lcnJvci9Bbmd1bGFyL2FuZ3VsYXJlcnJvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBYXZDLE1BQU0sT0FBTyxxQkFBcUI7SUFROUIsWUFBb0IsTUFBYyxFQUFVLEtBQXFCLEVBQVUsSUFBaUIsRUFBVSxHQUFpQixFQUFVLEVBQVk7UUFBekgsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQWM7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFVO1FBRXpJLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDekQsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQztRQUMxTCxJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLGNBQWMsR0FBRyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDbkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxlQUFlLEdBQUcsQ0FBQyxRQUFRLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxNQUFNLElBQUksU0FBUyxDQUFDLENBQUM7UUFDNUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFFdEYsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFDLElBQUksSUFBSSxFQUFFO1lBQ04sWUFBWSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFHO1FBQ2hCLGdEQUFnRDtRQUNoRCxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1SCxDQUFDO0lBRUQsY0FBYztRQUNWLDBHQUEwRztRQUMxRyx3RUFBd0U7UUFDeEUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksR0FBRyxHQUFHLGtCQUFrQixDQUFDO1FBQzdCLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRO1lBQ2hCLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7O1lBRS9ELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDOztrSEEvQ1EscUJBQXFCO3NHQUFyQixxQkFBcUIsd0VDaEJsQyx3OURBd0JNLDRDRFZRLElBQUk7MkZBRUwscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNJLGNBQWMsaUJBQ1QsaUJBQWlCLENBQUMsSUFBSSxjQUV6QixJQUFJLFdBQ1AsQ0FBQyxJQUFJLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgSFRUUFNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFwcFN0YXRlLCBUb2tlblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvc2VydmljZXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiYW5ndWxhcmVycm9yXCIsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9hbmd1bGFyZXJyb3IuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdJZl1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJFcnJvckNvbXBvbmVudCB7XHJcblxyXG4gICAgZXJyb3JNZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBlcnJvckZyb206IHN0cmluZztcclxuICAgIGVycm9yTGFzdENhbGxzOiBzdHJpbmc7XHJcbiAgICBwcmV2aW91c1VybDogc3RyaW5nO1xyXG4gICAgaWRlbnRpdHlJbmZvczogc3RyaW5nO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIGh0dHA6IEhUVFBTZXJ2aWNlLCBwcml2YXRlIGJ0czogVG9rZW5TZXJ2aWNlLCBwcml2YXRlIGFzOiBBcHBTdGF0ZSkge1xyXG5cclxuICAgICAgICBsZXQgaWRlbnRpdHkgPSB0aGlzLmJ0cy5nZXRKYWNlSWRlbnRpdHkoKTtcclxuICAgICAgICB0aGlzLnByZXZpb3VzVXJsID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXNbXCJmcm9tVXJsXCJdO1xyXG4gICAgICAgIGxldCBjYWxscyA9ICh0aGlzLmh0dHAuTGFzdFRocmVlQ29tcGxldGVkQ2FsbHNbMF0gfHwgXCI8ZW1wdHk+XCIpICsgXCIsIFwiICsgKHRoaXMuaHR0cC5MYXN0VGhyZWVDb21wbGV0ZWRDYWxsc1sxXSB8fCBcIjxlbXB0eT5cIikgKyBcIiwgXCIgKyAodGhpcy5odHRwLkxhc3RUaHJlZUNvbXBsZXRlZENhbGxzWzJdIHx8IFwiPGVtcHR5PlwiKTtcclxuICAgICAgICB0aGlzLmVycm9yRnJvbSA9IFwiRnJvbSBwYWdlOiBcIiArICh0aGlzLnByZXZpb3VzVXJsIHx8IFwiPG1pc3Npbmc+XCIpO1xyXG4gICAgICAgIHRoaXMuZXJyb3JMYXN0Q2FsbHMgPSBcIkxhc3QgdGhyZWUgY2FsbHM6IFwiICsgY2FsbHM7XHJcbiAgICAgICAgdGhpcy5pZGVudGl0eUluZm9zID0gXCJMb2dnZWQgdXNlcjogXCIgKyAoaWRlbnRpdHk/LklkdGVuYW50IHx8ICc/PycpICsgXCItXCIgKyAoaWRlbnRpdHk/LkRzVXNlciB8fCAnPz8/Pz8/PycpO1xyXG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5iNjREZWNvZGVVbmljb2RlKHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zW1wiZXJyb3JNZXNzYWdlXCJdKTtcclxuXHJcbiAgICAgICAgY29uc29sZS5lcnJvcih0aGlzLmVycm9yTWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdmFyIGl0ZW0gPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcIlJlbG9hZFwiKTtcclxuICAgICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShcIlJlbG9hZFwiKTtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChpdGVtKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYjY0RGVjb2RlVW5pY29kZShzdHIpIHtcclxuICAgICAgICAvLyBCeXRlc3RyZWFtIC0+IEVuY29kaW5nICUgLT4gU3RyaW5nYSBvcmlnaW5hbGVcclxuICAgICAgICByZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGF0b2Ioc3RyKS5zcGxpdChcIlwiKS5tYXAoYyA9PiBcIiVcIiArIChcIjAwXCIgKyBjLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpKS5zbGljZSgtMikpLmpvaW4oXCJcIikpO1xyXG4gICAgfVxyXG5cclxuICAgIGdvUHJldmlvdXNQYWdlKCkge1xyXG4gICAgICAgIC8vIFJlbG9hZCBwZXIgZm9yemFyZSBpbCByaWNhcmljYW1lbnRvIGRlbCBqYXZhc2NyaXB0IChpbiBtb2RvIGNoZSBsbyBzdGF0byBkZWxsJ2FwcGxpY2F6aW9uZSBzaWEgYSBwb3N0bylcclxuICAgICAgICAvLyBhbGwnb25Jbml0IGxhIHBhZ2luYSBwcmVuZGVyw6AgbGEgcm9vdCBhIGN1aSBuYXZpZ2FyZSBkYWwgbG9jYWxTdG9yYWdlXHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJSZWxvYWRcIiwgdGhpcy5wcmV2aW91c1VybCk7XHJcbiAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgZ29EYXNoYm9hcmQoKSB7XHJcbiAgICAgICAgbGV0IHVybCA9IGAvcGFnZXMvZGFzaGJvYXJkYDtcclxuICAgICAgICBpZiAodGhpcy5hcy5FbWJlZGRlZClcclxuICAgICAgICAgICAgdGhpcy5hcy5NYWluV2luZG93LnBvc3RNZXNzYWdlKHsgdHlwZTogXCJuYXZpZ2F0ZVwiLCB1cmwgfSwgXCIqXCIpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3VybF0pO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wteGwtOCBjb2wtbWQtMTAgY29sLTEwIG9mZnNldC14bC0yIG9mZnNldC14cy0xIHAtdC0xMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzcz1cImRpc3BsYXktNFwiPlF1YWxjb3NhICZlZ3JhdmU7IGFuZGF0byBzdG9ydG8uPC9oMT5cclxuICAgICAgICAgICAgICAgICAgICA8aDY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzbWFsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpICZlZ3JhdmU7IHZlcmlmaWNhdG8gdW4gZXJyb3JlIGludGVybm8gYWxsJ2FwcGxpY2F6aW9uZS4gUXVlc3RvIG5vbiBkb3ZyZWJiZSBhY2NhZGVyZS4gUHJvdmEgYSByaWNhcmljYXJlIGxhIHBhZ2luYSBwcmVjZWRlbnRlIGUgcmllZmZldHR1YXJlIGxlIHN0ZXNzZSBvcGVyYXppb25pLCBzZSBpbCBwcm9ibGVtYSBwZXJzaXN0ZSBjb250YXR0YSBpbCBzZXJ2aWNlIGRlc2sgYWxsZWdhbmRvIHVuYSBicmV2ZSBkZXNjcml6aW9uZSBkZWxsZSBvcGVyYXppb25pIGNoZSBzdGF2aSBlc2VndWVuZG8gZSBxdWVzdG8gbWVzc2FnZ2lvIGQnZXJyb3JlOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NtYWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaDY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwiY2FyZC10aXRsZSB0ZXh0LWRhbmdlciBhcHAtbWFyZ2luLXRvcC0xMCB0ZXh0LWxlZnRcIiBzdHlsZT1cIndvcmQtd3JhcDpicmVhay13b3JkXCIgKm5nSWY9XCJpZGVudGl0eUluZm9zXCI+PGVtPnt7aWRlbnRpdHlJbmZvc319PC9lbT48L2g2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxoNiBjbGFzcz1cImNhcmQtdGl0bGUgdGV4dC1kYW5nZXIgYXBwLW1hcmdpbi10b3AtMTAgdGV4dC1sZWZ0XCIgc3R5bGU9XCJ3b3JkLXdyYXA6YnJlYWstd29yZFwiICpuZ0lmPVwiZXJyb3JGcm9tXCI+PGVtPnt7ZXJyb3JGcm9tfX08L2VtPjwvaDY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwiY2FyZC10aXRsZSB0ZXh0LWRhbmdlciBhcHAtbWFyZ2luLXRvcC0xMCB0ZXh0LWxlZnRcIiBzdHlsZT1cIndvcmQtd3JhcDpicmVhay13b3JkXCIgKm5nSWY9XCJlcnJvckxhc3RDYWxsc1wiPjxlbT57e2Vycm9yTGFzdENhbGxzfX08L2VtPjwvaDY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGg2IGNsYXNzPVwiY2FyZC10aXRsZSB0ZXh0LWRhbmdlciBhcHAtbWFyZ2luLXRvcC0xMCB0ZXh0LWxlZnRcIiBzdHlsZT1cIndvcmQtd3JhcDpicmVhay13b3JkXCIgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj48ZW0+e3tlcnJvck1lc3NhZ2V9fTwvZW0+PC9oNj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IHB1bGwtcmlnaHRcIiAoY2xpY2spPVwiZ29EYXNoYm9hcmQoKVwiPlZhaSBhbGxhIERhc2hib2FyZDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IHB1bGwtcmlnaHQgYXBwLW1hcmdpbi1yaWdodC0xMFwiIChjbGljayk9XCJnb1ByZXZpb3VzUGFnZSgpXCI+VG9ybmEgYWxsYSBwYWdpbmEgcHJlY2VkZW50ZTwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2xlYXJmaXhcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// Angular
|
|
2
|
+
import { RouterOutlet } from "@angular/router";
|
|
3
|
+
import { Component } from "@angular/core";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@esfaenza/access-control";
|
|
6
|
+
import * as i2 from "@esfaenza/localizations";
|
|
7
|
+
import * as i3 from "@esfaenza/httpservice";
|
|
8
|
+
import * as i4 from "@esfaenza/core/services";
|
|
9
|
+
import * as i5 from "@angular/router";
|
|
10
|
+
export class ExternalPagesComponent {
|
|
11
|
+
constructor(aac, lc, http, _state, route, bts) {
|
|
12
|
+
this.aac = aac;
|
|
13
|
+
this.lc = lc;
|
|
14
|
+
this.http = http;
|
|
15
|
+
this._state = _state;
|
|
16
|
+
this.route = route;
|
|
17
|
+
this.bts = bts;
|
|
18
|
+
this.Username = "";
|
|
19
|
+
this.Password = "";
|
|
20
|
+
this.Tenant = "";
|
|
21
|
+
this.Username = this.route.snapshot.params["user"];
|
|
22
|
+
this.Password = this.route.snapshot.params["pswd"];
|
|
23
|
+
this.Tenant = this.route.snapshot.params["tnt"];
|
|
24
|
+
}
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
console.log("Caricamento pagina nell'IFRAME completato!");
|
|
27
|
+
console.log("[" + this.Tenant + "]" + this.Username + " - " + this.Password);
|
|
28
|
+
// Le info di login che ho passato sono le stesse delle info di login salvate nel token --> È un redirect da un sito esterno ma il token c'è già. Esco
|
|
29
|
+
// Ho un token di login e non ho nessuna info sull'utente da usare --> È un redirect da Jace, quindi sono a posto. Esco
|
|
30
|
+
let currentIdentity = this.bts.getJaceIdentity();
|
|
31
|
+
if (currentIdentity && (!(this.Tenant + this.Username + this.Password) || currentIdentity.Idtenant == this.Tenant && currentIdentity.DsUser == this.Username)) {
|
|
32
|
+
this.aac.initializeIdentity(currentIdentity);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
// Altrimenti devo effettuare il login
|
|
36
|
+
let LoginDTO = { tenant: "FX", username: this.Username, password: this.Password, client_id: "jacedev" };
|
|
37
|
+
this.http.post(`${myconfig.AuthUrl}/api/login/dologin`, LoginDTO).subscribe(t => {
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
ExternalPagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExternalPagesComponent, deps: [{ token: i1.AccessControlService }, { token: i2.LocalizationService }, { token: i3.HTTPService }, { token: i4.AppState }, { token: i5.ActivatedRoute }, { token: i4.TokenService }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
ExternalPagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ExternalPagesComponent, isStandalone: true, selector: "external-pages", ngImport: i0, template: "<router-outlet></router-outlet>", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExternalPagesComponent, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{ selector: "external-pages", standalone: true, imports: [RouterOutlet], template: "<router-outlet></router-outlet>" }]
|
|
46
|
+
}], ctorParameters: function () { return [{ type: i1.AccessControlService }, { type: i2.LocalizationService }, { type: i3.HTTPService }, { type: i4.AppState }, { type: i5.ActivatedRoute }, { type: i4.TokenService }]; } });
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWxfcGFnZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL3NyYy9wYWdlLXN0cnVjdHVyZS9leHRlcm5hbC1wYWdlL2V4dGVybmFsX3BhZ2VzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY29tcG9uZW50cy9zcmMvcGFnZS1zdHJ1Y3R1cmUvZXh0ZXJuYWwtcGFnZS9leHRlcm5hbF9wYWdlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFrQixZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBa0IxQyxNQUFNLE9BQU8sc0JBQXNCO0lBSy9CLFlBQW9CLEdBQXlCLEVBQVMsRUFBdUIsRUFBVSxJQUFpQixFQUFVLE1BQWdCLEVBQVUsS0FBcUIsRUFBVSxHQUFpQjtRQUF4SyxRQUFHLEdBQUgsR0FBRyxDQUFzQjtRQUFTLE9BQUUsR0FBRixFQUFFLENBQXFCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVU7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQWM7UUFKcEwsYUFBUSxHQUFXLEVBQUUsQ0FBQztRQUN0QixhQUFRLEdBQVcsRUFBRSxDQUFDO1FBQ3RCLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFHeEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLENBQUMsR0FBRyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDMUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTdFLHNKQUFzSjtRQUN0Six1SEFBdUg7UUFDdkgsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNqRCxJQUFJLGVBQWUsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxlQUFlLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUMzSixJQUFJLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzdDLE9BQU87U0FDVjtRQUVELHNDQUFzQztRQUN0QyxJQUFJLFFBQVEsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQ3hHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sb0JBQW9CLEVBQUUsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ2hGLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUhBM0JRLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDBFQ3BCbkMsaUNBQStCLDRDRGtCakIsWUFBWTsyRkFFYixzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0ksZ0JBQWdCLGNBRWQsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyT3V0bGV0IH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbFNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2FjY2Vzcy1jb250cm9sXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgSFRUUFNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcblxyXG5pbXBvcnQgeyBBcHBTdGF0ZSwgVG9rZW5TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL3NlcnZpY2VzXCI7XHJcbmltcG9ydCB7IEVudk9wdGlvbnMgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCI7XHJcblxyXG5kZWNsYXJlIHZhciBteWNvbmZpZzogRW52T3B0aW9ucztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiZXh0ZXJuYWwtcGFnZXNcIixcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZXh0ZXJuYWxfcGFnZXMuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbUm91dGVyT3V0bGV0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxQYWdlc0NvbXBvbmVudCB7XHJcbiAgICBwcml2YXRlIFVzZXJuYW1lOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgcHJpdmF0ZSBQYXNzd29yZDogc3RyaW5nID0gXCJcIjtcclxuICAgIHByaXZhdGUgVGVuYW50OiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWFjOiBBY2Nlc3NDb250cm9sU2VydmljZSwgcHVibGljIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBwcml2YXRlIGh0dHA6IEhUVFBTZXJ2aWNlLCBwcml2YXRlIF9zdGF0ZTogQXBwU3RhdGUsIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIGJ0czogVG9rZW5TZXJ2aWNlKSB7XHJcbiAgICAgICAgdGhpcy5Vc2VybmFtZSA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zW1widXNlclwiXTtcclxuICAgICAgICB0aGlzLlBhc3N3b3JkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXNbXCJwc3dkXCJdO1xyXG4gICAgICAgIHRoaXMuVGVuYW50ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXNbXCJ0bnRcIl07XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJDYXJpY2FtZW50byBwYWdpbmEgbmVsbCdJRlJBTUUgY29tcGxldGF0byFcIik7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJbXCIgKyB0aGlzLlRlbmFudCArIFwiXVwiICsgdGhpcy5Vc2VybmFtZSArIFwiIC0gXCIgKyB0aGlzLlBhc3N3b3JkKTtcclxuXHJcbiAgICAgICAgLy8gTGUgaW5mbyBkaSBsb2dpbiBjaGUgaG8gcGFzc2F0byBzb25vIGxlIHN0ZXNzZSBkZWxsZSBpbmZvIGRpIGxvZ2luIHNhbHZhdGUgbmVsIHRva2VuIC0tPiDDiCB1biByZWRpcmVjdCBkYSB1biBzaXRvIGVzdGVybm8gbWEgaWwgdG9rZW4gYyfDqCBnacOgLiBFc2NvXHJcbiAgICAgICAgLy8gSG8gdW4gdG9rZW4gZGkgbG9naW4gZSBub24gaG8gbmVzc3VuYSBpbmZvIHN1bGwndXRlbnRlIGRhIHVzYXJlIC0tPiDDiCB1biByZWRpcmVjdCBkYSBKYWNlLCBxdWluZGkgc29ubyBhIHBvc3RvLiBFc2NvXHJcbiAgICAgICAgbGV0IGN1cnJlbnRJZGVudGl0eSA9IHRoaXMuYnRzLmdldEphY2VJZGVudGl0eSgpO1xyXG4gICAgICAgIGlmIChjdXJyZW50SWRlbnRpdHkgJiYgKCEodGhpcy5UZW5hbnQgKyB0aGlzLlVzZXJuYW1lICsgdGhpcy5QYXNzd29yZCkgfHwgY3VycmVudElkZW50aXR5LklkdGVuYW50ID09IHRoaXMuVGVuYW50ICYmIGN1cnJlbnRJZGVudGl0eS5Ec1VzZXIgPT0gdGhpcy5Vc2VybmFtZSkpIHtcclxuICAgICAgICAgICAgdGhpcy5hYWMuaW5pdGlhbGl6ZUlkZW50aXR5KGN1cnJlbnRJZGVudGl0eSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEFsdHJpbWVudGkgZGV2byBlZmZldHR1YXJlIGlsIGxvZ2luXHJcbiAgICAgICAgbGV0IExvZ2luRFRPID0geyB0ZW5hbnQ6IFwiRlhcIiwgdXNlcm5hbWU6IHRoaXMuVXNlcm5hbWUsIHBhc3N3b3JkOiB0aGlzLlBhc3N3b3JkLCBjbGllbnRfaWQ6IFwiamFjZWRldlwiIH07XHJcbiAgICAgICAgdGhpcy5odHRwLnBvc3QoYCR7bXljb25maWcuQXV0aFVybH0vYXBpL2xvZ2luL2RvbG9naW5gLCBMb2dpbkRUTykuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59IiwiPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// Angular
|
|
2
|
+
import { Component, ViewEncapsulation } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class JaceLoginComponent {
|
|
5
|
+
ngOnInit() {
|
|
6
|
+
if (myconfig.AuthUrl)
|
|
7
|
+
window.location.href = `${myconfig.AuthUrl}/login/form?client=${myconfig.Client}`;
|
|
8
|
+
else
|
|
9
|
+
console.error("myconfig.AuthUrl is not provided");
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
JaceLoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JaceLoginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
+
JaceLoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: JaceLoginComponent, isStandalone: true, selector: "login", ngImport: i0, template: "<div class=\"login-container\">\r\n <div class=\"redirecting-div\">\r\n <div class=\"redirecting-message\"><h1>Redirecting to login...</h1></div>\r\n <div class=\"signal\"></div>\r\n </div>\r\n</div>\r\n", styles: [".redirecting-div{background:#3d3d3d!important;display:flex;align-items:center;justify-content:center;min-height:100vh}.redirecting-div h1{color:#fbc925;font-family:Passion One}.redirecting-message{align-self:center}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JaceLoginComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: "login", encapsulation: ViewEncapsulation.None, standalone: true, template: "<div class=\"login-container\">\r\n <div class=\"redirecting-div\">\r\n <div class=\"redirecting-message\"><h1>Redirecting to login...</h1></div>\r\n <div class=\"signal\"></div>\r\n </div>\r\n</div>\r\n", styles: [".redirecting-div{background:#3d3d3d!important;display:flex;align-items:center;justify-content:center;min-height:100vh}.redirecting-div h1{color:#fbc925;font-family:Passion One}.redirecting-message{align-self:center}\n"] }]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamFjZS1sb2dpbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3BhZ2Utc3RydWN0dXJlL2phY2UtbG9naW4vamFjZS1sb2dpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3BhZ2Utc3RydWN0dXJlL2phY2UtbG9naW4vamFjZS1sb2dpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFhN0QsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixRQUFRO1FBRUosSUFBSSxRQUFRLENBQUMsT0FBTztZQUNoQixNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxHQUFHLFFBQVEsQ0FBQyxPQUFPLHNCQUFzQixRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7O1lBRWxGLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztJQUMxRCxDQUFDOzsrR0FSUSxrQkFBa0I7bUdBQWxCLGtCQUFrQixpRUNkL0IsaU9BTUE7MkZEUWEsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNJLE9BQU8saUJBQ0YsaUJBQWlCLENBQUMsSUFBSSxjQUd6QixJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7IEVudk9wdGlvbnMgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCI7XHJcblxyXG5kZWNsYXJlIHZhciBteWNvbmZpZzogRW52T3B0aW9ucztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwibG9naW5cIixcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBzdHlsZVVybHM6IFtcIi4vamFjZS1sb2dpbi5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vamFjZS1sb2dpbi5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSmFjZUxvZ2luQ29tcG9uZW50IHtcclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgICAgICAgaWYgKG15Y29uZmlnLkF1dGhVcmwpXHJcbiAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYCR7bXljb25maWcuQXV0aFVybH0vbG9naW4vZm9ybT9jbGllbnQ9JHtteWNvbmZpZy5DbGllbnR9YDtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJteWNvbmZpZy5BdXRoVXJsIGlzIG5vdCBwcm92aWRlZFwiKTtcclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibG9naW4tY29udGFpbmVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicmVkaXJlY3RpbmctZGl2XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlZGlyZWN0aW5nLW1lc3NhZ2VcIj48aDE+UmVkaXJlY3RpbmcgdG8gbG9naW4uLi48L2gxPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaWduYWxcIj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|