@esfaenza/core 15.2.41 → 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/assets/fontawesome/css/all.css +27093 -0
- package/assets/fontawesome/css/all.min.css +9 -0
- package/assets/fontawesome/css/brands.css +1522 -0
- package/assets/fontawesome/css/brands.min.css +6 -0
- package/assets/fontawesome/css/duotone.css +12491 -0
- package/assets/fontawesome/css/duotone.min.css +6 -0
- package/assets/fontawesome/css/fontawesome.css +12984 -0
- package/assets/fontawesome/css/fontawesome.min.css +9 -0
- package/assets/fontawesome/css/light.css +19 -0
- package/assets/fontawesome/css/light.min.css +6 -0
- package/assets/fontawesome/css/regular.css +19 -0
- package/assets/fontawesome/css/regular.min.css +6 -0
- package/assets/fontawesome/css/sharp-regular.css +19 -0
- package/assets/fontawesome/css/sharp-regular.min.css +6 -0
- package/assets/fontawesome/css/sharp-solid.css +19 -0
- package/assets/fontawesome/css/sharp-solid.min.css +6 -0
- package/assets/fontawesome/css/solid.css +19 -0
- package/assets/fontawesome/css/solid.min.css +6 -0
- package/assets/fontawesome/css/svg-with-js.css +638 -0
- package/assets/fontawesome/css/svg-with-js.min.css +6 -0
- package/assets/fontawesome/css/thin.css +19 -0
- package/assets/fontawesome/css/thin.min.css +6 -0
- package/assets/fontawesome/css/v4-font-face.css +26 -0
- package/assets/fontawesome/css/v4-font-face.min.css +6 -0
- package/assets/fontawesome/css/v4-shims.css +2194 -0
- package/assets/fontawesome/css/v4-shims.min.css +6 -0
- package/assets/fontawesome/css/v5-font-face.css +34 -0
- package/assets/fontawesome/css/v5-font-face.min.css +6 -0
- package/assets/fontawesome/webfonts/fa-brands-400.ttf +0 -0
- package/assets/fontawesome/webfonts/fa-brands-400.woff2 +0 -0
- package/assets/fontawesome/webfonts/fa-duotone-900.ttf +0 -0
- package/assets/fontawesome/webfonts/fa-duotone-900.woff2 +0 -0
- package/assets/fontawesome/webfonts/fa-light-300.ttf +0 -0
- package/assets/fontawesome/webfonts/fa-light-300.woff2 +0 -0
- package/assets/fontawesome/webfonts/fa-regular-400.ttf +0 -0
- package/assets/fontawesome/webfonts/fa-regular-400.woff2 +0 -0
- package/assets/fontawesome/webfonts/fa-sharp-regular-400.ttf +0 -0
- package/assets/fontawesome/webfonts/fa-sharp-regular-400.woff2 +0 -0
- package/assets/fontawesome/webfonts/fa-sharp-solid-900.ttf +0 -0
- package/assets/fontawesome/webfonts/fa-sharp-solid-900.woff2 +0 -0
- package/assets/fontawesome/webfonts/fa-solid-900.ttf +0 -0
- package/assets/fontawesome/webfonts/fa-solid-900.woff2 +0 -0
- package/assets/fontawesome/webfonts/fa-thin-100.ttf +0 -0
- package/assets/fontawesome/webfonts/fa-thin-100.woff2 +0 -0
- package/assets/fontawesome/webfonts/fa-v4compatibility.ttf +0 -0
- package/assets/fontawesome/webfonts/fa-v4compatibility.woff2 +0 -0
- package/components/components.module.d.ts +22 -16
- package/components/page-structure/breadcrumb/breadcrumb.component.d.ts +23 -0
- package/components/{navbar → page-structure/navbar}/navbar.component.d.ts +6 -16
- package/components/{sidebar → page-structure/sidebar}/sidebar.component.d.ts +32 -5
- 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/jace/ActiveModuleView.d.ts +8 -8
- 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 +74 -20
- 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/{jace-login → page-structure/jace-login}/jace-login.component.mjs +1 -1
- 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/domain/models/decorators/decorators.mjs +6 -0
- package/esm2020/domain/models/jace/ActiveModuleView.mjs +1 -1
- 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 +3 -3
- package/esm2020/lib/core.module.mjs +1 -1
- 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 +532 -161
- package/fesm2015/esfaenza-core-components.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-services.mjs +85 -5
- package/fesm2015/esfaenza-core-services.mjs.map +1 -1
- package/fesm2015/esfaenza-core.mjs +2 -2
- package/fesm2015/esfaenza-core.mjs.map +1 -1
- package/fesm2020/esfaenza-core-components.mjs +527 -160
- package/fesm2020/esfaenza-core-components.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-services.mjs +72 -5
- package/fesm2020/esfaenza-core-services.mjs.map +1 -1
- package/fesm2020/esfaenza-core.mjs +2 -2
- package/fesm2020/esfaenza-core.mjs.map +1 -1
- package/lib/core.module.d.ts +2 -1
- package/package.json +2 -2
- package/services/classes/preferences/user/app.userpreferences.base.d.ts +23 -0
- package/services/public-api.d.ts +1 -0
- package/theme/styles/_base.scss +8 -23
- package/theme/styles/_bootstrap-override.scss +36 -62
- package/theme/styles/_libs-override.scss +43 -6
- package/theme/styles/_project-override.scss +66 -0
- package/theme/styles/_variables.scss +14 -42
- package/theme/styles/skins/enuma.scss +60 -0
- package/theme/styles/skins/etnograph.scss +52 -0
- package/theme/styles/skins/jace.scss +63 -0
- package/assets/fonts/fontawesome/FontAwesome.otf +0 -0
- package/assets/fonts/fontawesome/fontawesome-webfont.eot +0 -0
- package/assets/fonts/fontawesome/fontawesome-webfont.svg +0 -2671
- package/assets/fonts/fontawesome/fontawesome-webfont.ttf +0 -0
- package/assets/fonts/fontawesome/fontawesome-webfont.woff +0 -0
- package/assets/fonts/fontawesome/fontawesome-webfont.woff2 +0 -0
- package/assets/styles/font-awesome.min.css +0 -2929
- package/components/breadcrumb/breadcrumb.component.d.ts +0 -19
- 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 -60
- 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-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 -208
- 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 -210
- package/theme/styles/skins/_blue.scss +0 -16
- /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/{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.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
|
@@ -7,26 +7,32 @@ import { FormsModule } from "@angular/forms";
|
|
|
7
7
|
// Es faenza
|
|
8
8
|
import { LocalizationModule } from "@esfaenza/localizations";
|
|
9
9
|
import { EsTableModule } from "@esfaenza/es-table";
|
|
10
|
+
import { FormsAndValidationsModule } from "@esfaenza/forms-and-validations";
|
|
10
11
|
// Libs
|
|
11
12
|
import { ProgressbarModule } from "ngx-bootstrap/progressbar";
|
|
12
13
|
import { BsDropdownModule } from "ngx-bootstrap/dropdown";
|
|
13
14
|
import { ModalModule } from "ngx-bootstrap/modal";
|
|
14
15
|
// Componenti
|
|
15
|
-
import { BackTop } from "./back-top/back-top.component";
|
|
16
|
-
import { Breadcrumb } from "./breadcrumb/breadcrumb.component";
|
|
17
|
-
import { PageNotFoundComponent } from "./error/404/pagenotfound.component";
|
|
18
|
-
import { ServerErrorComponent } from "./error/500/servererror.component";
|
|
19
|
-
import { AngularErrorComponent } from "./error/Angular/angularerror.component";
|
|
20
|
-
import { PagesComponent } from "./page/pages.component";
|
|
21
|
-
import { ExternalPagesComponent } from "./external-page/external_pages.component";
|
|
22
|
-
import { JaceLoginComponent } from "./jace-login/jace-login.component";
|
|
23
|
-
import { JaceModulesBoardComponent } from "./navbar/modules-board/jace-modules-board.component";
|
|
24
|
-
import { Navbar } from "./navbar/navbar.component";
|
|
25
|
-
import { JaceResourceComponent } from "./jace-resource/jace-resource.component";
|
|
26
|
-
import { RedirecterComponent } from "./redirecter/redirecter.component";
|
|
27
|
-
import { Sidebar } from "./sidebar/sidebar.component";
|
|
16
|
+
import { BackTop } from "./page-structure/back-top/back-top.component";
|
|
17
|
+
import { Breadcrumb } from "./page-structure/breadcrumb/breadcrumb.component";
|
|
18
|
+
import { PageNotFoundComponent } from "./page-structure/error/404/pagenotfound.component";
|
|
19
|
+
import { ServerErrorComponent } from "./page-structure/error/500/servererror.component";
|
|
20
|
+
import { AngularErrorComponent } from "./page-structure/error/Angular/angularerror.component";
|
|
21
|
+
import { PagesComponent } from "./page-structure/page/pages.component";
|
|
22
|
+
import { ExternalPagesComponent } from "./page-structure/external-page/external_pages.component";
|
|
23
|
+
import { JaceLoginComponent } from "./page-structure/jace-login/jace-login.component";
|
|
24
|
+
import { JaceModulesBoardComponent } from "./page-structure/navbar/modules-board/jace-modules-board.component";
|
|
25
|
+
import { Navbar } from "./page-structure/navbar/navbar.component";
|
|
26
|
+
import { JaceResourceComponent } from "./page-structure/jace-resource/jace-resource.component";
|
|
27
|
+
import { RedirecterComponent } from "./page-structure/redirecter/redirecter.component";
|
|
28
|
+
import { Sidebar } from "./page-structure/sidebar/sidebar.component";
|
|
28
29
|
import { EsModalComponent } from "./es-modal/es-modal.component";
|
|
29
30
|
import { EsModalHeadComponent } from "./es-modal/es-modal-head/es-modal-head.component";
|
|
31
|
+
import { FiltersHorizontalComponent } from "./search/filters-topbar/filters-topbar.component";
|
|
32
|
+
import { FiltersVerticalComponent } from "./search/filters-sidebar/filters-sidebar.component";
|
|
33
|
+
import { FiltersVerticalSectionComponent } from "./search/filters-sidebar-section/filters-sidebar-section.component";
|
|
34
|
+
import { FiltersVerticalItemComponent } from "./search/filters-sidebar-item/filters-sidebar-item.component";
|
|
35
|
+
import { EsFiltersComponent } from "./search/es-filters/es-filters.component";
|
|
30
36
|
// Core
|
|
31
37
|
import { DirectivesModule } from "@esfaenza/core/directives";
|
|
32
38
|
import * as i0 from "@angular/core";
|
|
@@ -45,12 +51,27 @@ const COMPONENTS = [
|
|
|
45
51
|
Sidebar,
|
|
46
52
|
JaceResourceComponent,
|
|
47
53
|
EsModalComponent,
|
|
48
|
-
EsModalHeadComponent
|
|
54
|
+
EsModalHeadComponent,
|
|
55
|
+
FiltersHorizontalComponent,
|
|
56
|
+
FiltersVerticalComponent,
|
|
57
|
+
FiltersVerticalSectionComponent,
|
|
58
|
+
FiltersVerticalItemComponent,
|
|
59
|
+
EsFiltersComponent
|
|
49
60
|
];
|
|
50
61
|
export class ComponentsModule {
|
|
51
62
|
}
|
|
52
63
|
ComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
53
|
-
ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ComponentsModule, imports: [CommonModule,
|
|
64
|
+
ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ComponentsModule, imports: [CommonModule,
|
|
65
|
+
RouterModule,
|
|
66
|
+
FormsModule,
|
|
67
|
+
DirectivesModule,
|
|
68
|
+
LocalizationModule,
|
|
69
|
+
ProgressbarModule,
|
|
70
|
+
MatSlideToggleModule,
|
|
71
|
+
BsDropdownModule,
|
|
72
|
+
EsTableModule,
|
|
73
|
+
ModalModule,
|
|
74
|
+
FormsAndValidationsModule, BackTop,
|
|
54
75
|
Breadcrumb,
|
|
55
76
|
PageNotFoundComponent,
|
|
56
77
|
ServerErrorComponent,
|
|
@@ -64,7 +85,12 @@ ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
|
|
|
64
85
|
Sidebar,
|
|
65
86
|
JaceResourceComponent,
|
|
66
87
|
EsModalComponent,
|
|
67
|
-
EsModalHeadComponent
|
|
88
|
+
EsModalHeadComponent,
|
|
89
|
+
FiltersHorizontalComponent,
|
|
90
|
+
FiltersVerticalComponent,
|
|
91
|
+
FiltersVerticalSectionComponent,
|
|
92
|
+
FiltersVerticalItemComponent,
|
|
93
|
+
EsFiltersComponent], exports: [BackTop,
|
|
68
94
|
Breadcrumb,
|
|
69
95
|
PageNotFoundComponent,
|
|
70
96
|
ServerErrorComponent,
|
|
@@ -78,13 +104,41 @@ ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
|
|
|
78
104
|
Sidebar,
|
|
79
105
|
JaceResourceComponent,
|
|
80
106
|
EsModalComponent,
|
|
81
|
-
EsModalHeadComponent
|
|
82
|
-
|
|
107
|
+
EsModalHeadComponent,
|
|
108
|
+
FiltersHorizontalComponent,
|
|
109
|
+
FiltersVerticalComponent,
|
|
110
|
+
FiltersVerticalSectionComponent,
|
|
111
|
+
FiltersVerticalItemComponent,
|
|
112
|
+
EsFiltersComponent] });
|
|
113
|
+
ComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ComponentsModule, imports: [CommonModule,
|
|
114
|
+
RouterModule,
|
|
115
|
+
FormsModule,
|
|
116
|
+
DirectivesModule,
|
|
117
|
+
LocalizationModule,
|
|
118
|
+
ProgressbarModule,
|
|
119
|
+
MatSlideToggleModule,
|
|
120
|
+
BsDropdownModule,
|
|
121
|
+
EsTableModule,
|
|
122
|
+
ModalModule,
|
|
123
|
+
FormsAndValidationsModule, COMPONENTS] });
|
|
83
124
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ComponentsModule, decorators: [{
|
|
84
125
|
type: NgModule,
|
|
85
126
|
args: [{
|
|
86
|
-
imports: [
|
|
127
|
+
imports: [
|
|
128
|
+
CommonModule,
|
|
129
|
+
RouterModule,
|
|
130
|
+
FormsModule,
|
|
131
|
+
DirectivesModule,
|
|
132
|
+
LocalizationModule,
|
|
133
|
+
ProgressbarModule,
|
|
134
|
+
MatSlideToggleModule,
|
|
135
|
+
BsDropdownModule,
|
|
136
|
+
EsTableModule,
|
|
137
|
+
ModalModule,
|
|
138
|
+
FormsAndValidationsModule,
|
|
139
|
+
...COMPONENTS
|
|
140
|
+
],
|
|
87
141
|
exports: [...COMPONENTS]
|
|
88
142
|
}]
|
|
89
143
|
}] });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLFlBQVk7QUFDWixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUUsUUFBUTtBQUNSLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxhQUFhO0FBQ2IsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUM5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN4RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztB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VztRQUNYLHlCQUF5QixFQUN0QixVQUFVOzJGQUdSLGdCQUFnQjtrQkFoQjVCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixXQUFXO3dCQUNYLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gseUJBQXlCO3dCQUN6QixHQUFHLFVBQVU7cUJBQUM7b0JBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGVcIjtcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vLyBFcyBmYWVuemFcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uTW9kdWxlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IEVzVGFibGVNb2R1bGUgfSBmcm9tIFwiQGVzZmFlbnphL2VzLXRhYmxlXCI7XHJcbmltcG9ydCB7IEZvcm1zQW5kVmFsaWRhdGlvbnNNb2R1bGUgfSBmcm9tIFwiQGVzZmFlbnphL2Zvcm1zLWFuZC12YWxpZGF0aW9uc1wiO1xyXG5cclxuLy8gTGlicyBcclxuaW1wb3J0IHsgUHJvZ3Jlc3NiYXJNb2R1bGUgfSBmcm9tIFwibmd4LWJvb3RzdHJhcC9wcm9ncmVzc2JhclwiO1xyXG5pbXBvcnQgeyBCc0Ryb3Bkb3duTW9kdWxlIH0gZnJvbSBcIm5neC1ib290c3RyYXAvZHJvcGRvd25cIjtcclxuaW1wb3J0IHsgTW9kYWxNb2R1bGUgfSBmcm9tIFwibmd4LWJvb3RzdHJhcC9tb2RhbFwiO1xyXG5cclxuLy8gQ29tcG9uZW50aVxyXG5pbXBvcnQgeyBCYWNrVG9wIH0gZnJvbSBcIi4vcGFnZS1zdHJ1Y3R1cmUvYmFjay10b3AvYmFjay10b3AuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWIgfSBmcm9tIFwiLi9wYWdlLXN0cnVjdHVyZS9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFBhZ2VOb3RGb3VuZENvbXBvbmVudCB9IGZyb20gXCIuL3BhZ2Utc3RydWN0dXJlL2Vycm9yLzQwNC9wYWdlbm90Zm91bmQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFNlcnZlckVycm9yQ29tcG9uZW50IH0gZnJvbSBcIi4vcGFnZS1zdHJ1Y3R1cmUvZXJyb3IvNTAwL3NlcnZlcmVycm9yLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBbmd1bGFyRXJyb3JDb21wb25lbnQgfSBmcm9tIFwiLi9wYWdlLXN0cnVjdHVyZS9lcnJvci9Bbmd1bGFyL2FuZ3VsYXJlcnJvci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUGFnZXNDb21wb25lbnQgfSBmcm9tIFwiLi9wYWdlLXN0cnVjdHVyZS9wYWdlL3BhZ2VzLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBFeHRlcm5hbFBhZ2VzQ29tcG9uZW50IH0gZnJvbSBcIi4vcGFnZS1zdHJ1Y3R1cmUvZXh0ZXJuYWwtcGFnZS9leHRlcm5hbF9wYWdlcy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgSmFjZUxvZ2luQ29tcG9uZW50IH0gZnJvbSBcIi4vcGFnZS1zdHJ1Y3R1cmUvamFjZS1sb2dpbi9qYWNlLWxvZ2luLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBKYWNlTW9kdWxlc0JvYXJkQ29tcG9uZW50IH0gZnJvbSBcIi4vcGFnZS1zdHJ1Y3R1cmUvbmF2YmFyL21vZHVsZXMtYm9hcmQvamFjZS1tb2R1bGVzLWJvYXJkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBOYXZiYXIgfSBmcm9tIFwiLi9wYWdlLXN0cnVjdHVyZS9uYXZiYXIvbmF2YmFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBKYWNlUmVzb3VyY2VDb21wb25lbnQgfSBmcm9tIFwiLi9wYWdlLXN0cnVjdHVyZS9qYWNlLXJlc291cmNlL2phY2UtcmVzb3VyY2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFJlZGlyZWN0ZXJDb21wb25lbnQgfSBmcm9tIFwiLi9wYWdlLXN0cnVjdHVyZS9yZWRpcmVjdGVyL3JlZGlyZWN0ZXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFNpZGViYXIgfSBmcm9tIFwiLi9wYWdlLXN0cnVjdHVyZS9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEVzTW9kYWxDb21wb25lbnQgfSBmcm9tIFwiLi9lcy1tb2RhbC9lcy1tb2RhbC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRXNNb2RhbEhlYWRDb21wb25lbnQgfSBmcm9tIFwiLi9lcy1tb2RhbC9lcy1tb2RhbC1oZWFkL2VzLW1vZGFsLWhlYWQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEZpbHRlcnNIb3Jpem9udGFsQ29tcG9uZW50IH0gZnJvbSBcIi4vc2VhcmNoL2ZpbHRlcnMtdG9wYmFyL2ZpbHRlcnMtdG9wYmFyLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBGaWx0ZXJzVmVydGljYWxDb21wb25lbnQgfSBmcm9tIFwiLi9zZWFyY2gvZmlsdGVycy1zaWRlYmFyL2ZpbHRlcnMtc2lkZWJhci5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRmlsdGVyc1ZlcnRpY2FsU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gXCIuL3NlYXJjaC9maWx0ZXJzLXNpZGViYXItc2VjdGlvbi9maWx0ZXJzLXNpZGViYXItc2VjdGlvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRmlsdGVyc1ZlcnRpY2FsSXRlbUNvbXBvbmVudCB9IGZyb20gXCIuL3NlYXJjaC9maWx0ZXJzLXNpZGViYXItaXRlbS9maWx0ZXJzLXNpZGViYXItaXRlbS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRXNGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSBcIi4vc2VhcmNoL2VzLWZpbHRlcnMvZXMtZmlsdGVycy5jb21wb25lbnRcIjtcclxuXHJcbi8vIENvcmVcclxuaW1wb3J0IHsgRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kaXJlY3RpdmVzXCI7XHJcblxyXG5jb25zdCBDT01QT05FTlRTID0gW1xyXG4gICAgQmFja1RvcCxcclxuICAgIEJyZWFkY3J1bWIsXHJcbiAgICBQYWdlTm90Rm91bmRDb21wb25lbnQsXHJcbiAgICBTZXJ2ZXJFcnJvckNvbXBvbmVudCxcclxuICAgIEFuZ3VsYXJFcnJvckNvbXBvbmVudCxcclxuICAgIFBhZ2VzQ29tcG9uZW50LFxyXG4gICAgRXh0ZXJuYWxQYWdlc0NvbXBvbmVudCxcclxuICAgIEphY2VMb2dpbkNvbXBvbmVudCxcclxuICAgIEphY2VNb2R1bGVzQm9hcmRDb21wb25lbnQsXHJcbiAgICBOYXZiYXIsXHJcbiAgICBSZWRpcmVjdGVyQ29tcG9uZW50LFxyXG4gICAgU2lkZWJhcixcclxuICAgIEphY2VSZXNvdXJjZUNvbXBvbmVudCxcclxuICAgIEVzTW9kYWxDb21wb25lbnQsXHJcbiAgICBFc01vZGFsSGVhZENvbXBvbmVudCxcclxuICAgIEZpbHRlcnNIb3Jpem9udGFsQ29tcG9uZW50LFxyXG4gICAgRmlsdGVyc1ZlcnRpY2FsQ29tcG9uZW50LFxyXG4gICAgRmlsdGVyc1ZlcnRpY2FsU2VjdGlvbkNvbXBvbmVudCxcclxuICAgIEZpbHRlcnNWZXJ0aWNhbEl0ZW1Db21wb25lbnQsXHJcbiAgICBFc0ZpbHRlcnNDb21wb25lbnRcclxuXTtcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLCBcclxuICAgICAgICBSb3V0ZXJNb2R1bGUsIFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLCBcclxuICAgICAgICBEaXJlY3RpdmVzTW9kdWxlLCBcclxuICAgICAgICBMb2NhbGl6YXRpb25Nb2R1bGUsIFxyXG4gICAgICAgIFByb2dyZXNzYmFyTW9kdWxlLCBcclxuICAgICAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSwgXHJcbiAgICAgICAgQnNEcm9wZG93bk1vZHVsZSwgXHJcbiAgICAgICAgRXNUYWJsZU1vZHVsZSwgXHJcbiAgICAgICAgTW9kYWxNb2R1bGUsXHJcbiAgICAgICAgRm9ybXNBbmRWYWxpZGF0aW9uc01vZHVsZSxcclxuICAgICAgICAuLi5DT01QT05FTlRTXSxcclxuICAgIGV4cG9ydHM6IFsuLi5DT01QT05FTlRTXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50c01vZHVsZSB7IH0iXX0=
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3BhZ2Utc3RydWN0dXJlL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvc3JjL3BhZ2Utc3RydWN0dXJlL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBd0IsYUFBYSxFQUFVLFVBQVUsRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBSW5HLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFZdkQsTUFBTSxPQUFPLFVBQVU7SUFJbkIsWUFBbUIsTUFBZ0IsRUFBVSxNQUFjLEVBQVUsZUFBK0IsRUFBVSxhQUFvQjtRQUEvRyxXQUFNLEdBQU4sTUFBTSxDQUFVO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFPO1FBSDNILGFBQVEsR0FBbUIsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztRQUNwRixhQUFRLEdBQXFCLEVBQUUsQ0FBQztRQUduQyxJQUFJLENBQUMsTUFBTSxD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Q0FBQyxJQUFhLEVBQUUsS0FBYTtRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQzNFLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBYTtRQUMvQixJQUFJLElBQUksR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLFFBQVEsSUFBSSxFQUFFLENBQUM7UUFDN0QsSUFBSSxLQUFLLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQztRQUUvQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzNCLENBQUM7O3VHQXhEUSxVQUFVOzJGQUFWLFVBQVUsc0VDdEJ2QixpZkFJSyx5ZURnQlMsSUFBSSw2RkFBRSxLQUFLLG1IQUFFLFVBQVU7MkZBRXhCLFVBQVU7a0JBUnRCLFNBQVM7K0JBQ0ksWUFBWSxpQkFDUCxpQkFBaUIsQ0FBQyxJQUFJLGNBR3pCLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDOztBQTZEdEMsTUFBTSxPQUFPLGNBQWM7Q0FHMUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IE5nRm9yLCBOZ0lmIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVGl0bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlclwiO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgRGF0YSwgTmF2aWdhdGlvbkVuZCwgUm91dGVyLCBSb3V0ZXJMaW5rLCBVcmxUcmVlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBFbnZPcHRpb25zIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL2RvbWFpblwiO1xyXG5pbXBvcnQgeyBBcHBTdGF0ZSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9zZXJ2aWNlc1wiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgbWVyZ2VNYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuXHJcbmRlY2xhcmUgdmFyIG15Y29uZmlnOiBFbnZPcHRpb25zO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJicmVhZGNydW1iXCIsXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gICAgc3R5bGVVcmxzOiBbXCIuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3NcIl0sXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgICBpbXBvcnRzOiBbTmdJZiwgTmdGb3IsIFJvdXRlckxpbmtdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iIHtcclxuICAgIHB1YmxpYyBNYWluTGluazogQnJlYWRjcnVtYkl0ZW0gPSB7IHRpdGxlOiBcIkRhc2hib2FyZFwiLCByb3V0ZXJMaW5rOiBbXCIvcGFnZXMvZGFzaGJvYXJkXCJdIH07XHJcbiAgICBwdWJsaWMgU3ViTGlua3M6IEJyZWFkY3J1bWJJdGVtW10gPSBbXTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgX3N0YXRlOiBBcHBTdGF0ZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBfYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIF90aXRsZVNlcnZpY2U6IFRpdGxlKSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoXHJcbiAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxyXG4gICAgICAgICAgICBtYXAoKGV2ZW50OiBOYXZpZ2F0aW9uRW5kKSA9PiB7IHJldHVybiB7IGV2ZW50OiBldmVudCwgcm91dGU6IHRoaXMuX2FjdGl2YXRlZFJvdXRlIH0gfSksXHJcbiAgICAgICAgICAgIG1hcCgocm91dGVXaXRoRXZlbnQpID0+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=
|