@esfaenza/core 15.2.283 → 16.2.25
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/components/back-top/back-top.component.d.ts +1 -1
- package/components/error/404/pagenotfound.component.d.ts +2 -1
- package/components/error/500/servererror.component.d.ts +2 -1
- package/components/error/Angular/angularerror.component.d.ts +2 -1
- package/components/es-image-cropper/es-image-cropper.component.d.ts +1 -1
- package/components/es-modal/es-modal.component.d.ts +1 -1
- package/components/jace-resource/jace-resource.component.d.ts +1 -1
- package/components/labeled-span/labeled-span.component.d.ts +1 -1
- package/components/navbar/navbar.component.d.ts +2 -1
- package/directives/componentHost/componentHost.directive.d.ts +1 -1
- package/directives/draggable/draggable.directive.d.ts +1 -1
- package/directives/es-routerLink/es-routerLink.directive.d.ts +1 -1
- package/directives/slim-scroll/slim-scroll.directive.d.ts +1 -1
- package/domain/tokens.d.ts +2 -0
- package/{esm2020 → esm2022}/components/back-top/back-top.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/base/base.component.mjs +6 -5
- package/esm2022/components/base/embedding.component.mjs +64 -0
- package/{esm2020 → esm2022}/components/base/reactive.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/breadcrumb/breadcrumb.component.mjs +4 -4
- package/esm2022/components/components.module.mjs +97 -0
- package/esm2022/components/error/404/pagenotfound.component.mjs +36 -0
- package/esm2022/components/error/500/servererror.component.mjs +47 -0
- package/esm2022/components/error/Angular/angularerror.component.mjs +62 -0
- package/esm2022/components/es-image-cropper/es-image-cropper.component.mjs +82 -0
- package/{esm2020 → esm2022}/components/es-modal/es-modal-head/es-modal-head.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/es-modal/es-modal.component.mjs +4 -4
- package/esm2022/components/external-page/external_pages.component.mjs +48 -0
- package/{esm2020 → esm2022}/components/jace-login/jace-login.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/jace-resource/jace-resource.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/labeled-span/labeled-span.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/navbar/navbar.component.loc.mjs +4 -4
- package/esm2022/components/navbar/navbar.component.mjs +223 -0
- package/{esm2020 → esm2022}/components/page/pages.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/redirecter/redirecter.component.mjs +4 -4
- package/{esm2020 → esm2022}/components/sidebar/sidebar.component.loc.mjs +4 -4
- package/{esm2020 → esm2022}/components/sidebar/sidebar.component.mjs +5 -5
- package/{esm2020 → esm2022}/components/user_infos/user_infos.component.loc.mjs +4 -4
- package/esm2022/components/user_infos/user_infos.component.mjs +148 -0
- package/{esm2020 → esm2022}/directives/componentHost/componentHost.directive.mjs +4 -4
- package/{esm2020 → esm2022}/directives/directives.module.mjs +5 -5
- package/{esm2020 → esm2022}/directives/draggable/draggable.directive.mjs +4 -4
- package/{esm2020 → esm2022}/directives/es-modal/es-modal.directive.mjs +4 -4
- package/{esm2020 → esm2022}/directives/es-routerLink/es-routerLink.directive.mjs +4 -4
- package/{esm2020 → esm2022}/directives/slim-scroll/slim-scroll.directive.mjs +4 -4
- package/{esm2020 → esm2022}/directives/widget/widget.directive.mjs +4 -4
- package/{esm2020 → esm2022}/domain/models/core/ApplicationMenu.mjs +2 -2
- package/esm2022/domain/tokens.mjs +17 -0
- package/esm2022/lib/app.component.mjs +34 -0
- package/esm2022/lib/core.module.mjs +258 -0
- package/{esm2020 → esm2022}/modules/classes/_embedding.module.mjs +5 -5
- package/{esm2020 → esm2022}/modules/classes/_shared.module.mjs +11 -11
- package/{esm2020 → esm2022}/modules/classes/t_c.module.mjs +44 -44
- package/{esm2020 → esm2022}/pipes/classes/included_in.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/pipes/classes/safe_html.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/pipes/classes/safe_script.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/pipes/classes/safe_style.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/pipes/classes/safe_url.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/pipes/pipes.module.mjs +5 -5
- package/esm2022/services/classes/app.accesstoken.mjs +1042 -0
- package/{esm2020 → esm2022}/services/classes/app.completedjobredirection.mjs +4 -4
- package/{esm2020 → esm2022}/services/classes/app.errorhandler.mjs +4 -4
- package/{esm2020 → esm2022}/services/classes/app.event.mjs +4 -4
- package/{esm2020 → esm2022}/services/classes/app.globalsearch.mjs +4 -4
- package/{esm2020 → esm2022}/services/classes/app.httpextensions.loc.mjs +4 -4
- package/{esm2020 → esm2022}/services/classes/app.httpextensions.mjs +4 -4
- package/{esm2020 → esm2022}/services/classes/app.menufilter.mjs +4 -4
- package/esm2022/services/classes/app.routeguard.mjs +23 -0
- package/esm2022/services/classes/app.session.mjs +40 -0
- package/esm2022/services/classes/app.state.mjs +229 -0
- package/{esm2020 → esm2022}/services/classes/preferences/app.cache.persistor.mjs +4 -4
- package/{esm2020 → esm2022}/services/classes/preferences/app.preference.persistor.mjs +4 -4
- package/esm2022/services/classes/preferences/user/app.userpreferences.base.mjs +101 -0
- package/{fesm2020 → fesm2022}/esfaenza-core-components.mjs +169 -149
- package/fesm2022/esfaenza-core-components.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/esfaenza-core-directives.mjs +22 -22
- package/{fesm2015 → fesm2022}/esfaenza-core-directives.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/esfaenza-core-domain.mjs +5 -3
- package/{fesm2020 → fesm2022}/esfaenza-core-domain.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/esfaenza-core-modules.mjs +57 -57
- package/{fesm2020 → fesm2022}/esfaenza-core-modules.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/esfaenza-core-pipes.mjs +19 -19
- package/{fesm2020 → fesm2022}/esfaenza-core-pipes.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/esfaenza-core-services.mjs +81 -53
- package/fesm2022/esfaenza-core-services.mjs.map +1 -0
- package/fesm2022/esfaenza-core.mjs +287 -0
- package/fesm2022/esfaenza-core.mjs.map +1 -0
- package/lib/app.component.d.ts +1 -1
- package/lib/core.module.d.ts +1 -0
- package/package.json +95 -115
- package/services/classes/app.accesstoken.d.ts +3 -2
- package/services/classes/app.session.d.ts +2 -1
- package/services/classes/app.state.d.ts +2 -1
- package/theme/styles/_mat_datepicker_bugfix.scss +933 -0
- package/theme/styles/_material-override.scss +17 -7
- package/esm2020/components/base/embedding.component.mjs +0 -68
- package/esm2020/components/components.module.mjs +0 -94
- package/esm2020/components/error/404/pagenotfound.component.mjs +0 -30
- package/esm2020/components/error/500/servererror.component.mjs +0 -41
- package/esm2020/components/error/Angular/angularerror.component.mjs +0 -56
- package/esm2020/components/es-image-cropper/es-image-cropper.component.mjs +0 -83
- package/esm2020/components/external-page/external_pages.component.mjs +0 -48
- package/esm2020/components/navbar/navbar.component.mjs +0 -219
- package/esm2020/components/user_infos/user_infos.component.mjs +0 -146
- package/esm2020/domain/tokens.mjs +0 -15
- package/esm2020/lib/app.component.mjs +0 -30
- package/esm2020/lib/core.module.mjs +0 -241
- package/esm2020/services/classes/app.accesstoken.mjs +0 -1032
- package/esm2020/services/classes/app.routeguard.mjs +0 -22
- package/esm2020/services/classes/app.session.mjs +0 -32
- package/esm2020/services/classes/app.state.mjs +0 -219
- package/esm2020/services/classes/preferences/user/app.userpreferences.base.mjs +0 -98
- package/fesm2015/esfaenza-core-components.mjs +0 -1549
- package/fesm2015/esfaenza-core-components.mjs.map +0 -1
- package/fesm2015/esfaenza-core-directives.mjs +0 -300
- package/fesm2015/esfaenza-core-domain.mjs +0 -200
- package/fesm2015/esfaenza-core-domain.mjs.map +0 -1
- package/fesm2015/esfaenza-core-helpers.mjs.map +0 -1
- package/fesm2015/esfaenza-core-modules.mjs +0 -183
- package/fesm2015/esfaenza-core-modules.mjs.map +0 -1
- package/fesm2015/esfaenza-core-pipes.mjs.map +0 -1
- package/fesm2015/esfaenza-core-services.mjs +0 -1794
- package/fesm2015/esfaenza-core-services.mjs.map +0 -1
- package/fesm2015/esfaenza-core.mjs +0 -267
- package/fesm2015/esfaenza-core.mjs.map +0 -1
- package/fesm2020/esfaenza-core-components.mjs.map +0 -1
- package/fesm2020/esfaenza-core-directives.mjs.map +0 -1
- package/fesm2020/esfaenza-core-helpers.mjs +0 -44
- package/fesm2020/esfaenza-core-pipes.mjs +0 -112
- package/fesm2020/esfaenza-core-services.mjs.map +0 -1
- package/fesm2020/esfaenza-core.mjs +0 -267
- package/fesm2020/esfaenza-core.mjs.map +0 -1
- /package/{esm2020 → esm2022}/components/esfaenza-core-components.mjs +0 -0
- /package/{esm2020 → esm2022}/components/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/directives/esfaenza-core-directives.mjs +0 -0
- /package/{esm2020 → esm2022}/directives/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/esfaenza-core-domain.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/core/ApplicationJob.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/core/ApplicationRoutes.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/core/EnvOptions.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/core/GenericItem.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/core/KeyValue.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/global_search/SaerchResultContainer.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/global_search/SearchResult.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/jace/AccountScope.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/jace/ActiveModuleView.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/jace/CategoriesWithModules.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/jace/JaceAccount.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/jace/JaceIdentity.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/jace/JaceModule.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/jace/JacePermission.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/jace/JaceRole.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/jace/JaceUser.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/user/UpdateAccountRecoverySettingsDto.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/user/UpdatePasswordDto.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/user/UpdateProfilePictureDto.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/models/user/UserAccount.mjs +0 -0
- /package/{esm2020 → esm2022}/domain/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/esfaenza-core.mjs +0 -0
- /package/{esm2020 → esm2022}/helpers/classes/ResizeListener.mjs +0 -0
- /package/{esm2020 → esm2022}/helpers/esfaenza-core-helpers.mjs +0 -0
- /package/{esm2020 → esm2022}/helpers/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/modules/classes/_base.module.mjs +0 -0
- /package/{esm2020 → esm2022}/modules/esfaenza-core-modules.mjs +0 -0
- /package/{esm2020 → esm2022}/modules/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/pipes/esfaenza-core-pipes.mjs +0 -0
- /package/{esm2020 → esm2022}/pipes/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/services/esfaenza-core-services.mjs +0 -0
- /package/{esm2020 → esm2022}/services/public-api.mjs +0 -0
- /package/{fesm2015 → fesm2022}/esfaenza-core-helpers.mjs +0 -0
- /package/{fesm2020 → fesm2022}/esfaenza-core-helpers.mjs.map +0 -0
|
@@ -9,10 +9,10 @@ export class CompletedJobRedirectionService {
|
|
|
9
9
|
*/
|
|
10
10
|
redirect(completedJob) {
|
|
11
11
|
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CompletedJobRedirectionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
13
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CompletedJobRedirectionService }); }
|
|
12
14
|
}
|
|
13
|
-
|
|
14
|
-
CompletedJobRedirectionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CompletedJobRedirectionService });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CompletedJobRedirectionService, decorators: [{
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CompletedJobRedirectionService, decorators: [{
|
|
16
16
|
type: Injectable
|
|
17
17
|
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBsZXRlZGpvYnJlZGlyZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9zcmMvY2xhc3Nlcy9hcHAuY29tcGxldGVkam9icmVkaXJlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyw4QkFBOEI7SUFDdkM7Ozs7T0FJRztJQUNJLFFBQVEsQ0FBQyxZQUE0QjtJQUU1QyxDQUFDOytHQVJRLDhCQUE4QjttSEFBOUIsOEJBQThCOzs0RkFBOUIsOEJBQThCO2tCQUQxQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vIENvcmVcclxuaW1wb3J0IHsgQXBwbGljYXRpb25Kb2IgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDb21wbGV0ZWRKb2JSZWRpcmVjdGlvblNlcnZpY2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBFZmZldHR1YSB1bidvcGVyYXppb25lIGRpIHJlZGlyZWN0IGJhc2F0YSBzdWwgSm9iIENvbXBsZXRhdG9cclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGNvbXBsZXRlZEpvYiBKb2IgYXBwZW5hIGNvbXBsZXRhdG8gcGVyIGN1aSBlZmZldHR1YXJlIHVuIHJlZGlyZWN0XHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWRpcmVjdChjb21wbGV0ZWRKb2I6IEFwcGxpY2F0aW9uSm9iKTogdm9pZCB7XHJcblxyXG4gICAgfVxyXG59Il19
|
|
@@ -32,10 +32,10 @@ export class APPErrorHandler {
|
|
|
32
32
|
// can be fed into btoa.
|
|
33
33
|
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode(("0x" + p1))));
|
|
34
34
|
}
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: APPErrorHandler, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
36
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: APPErrorHandler }); }
|
|
35
37
|
}
|
|
36
|
-
|
|
37
|
-
APPErrorHandler.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APPErrorHandler });
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: APPErrorHandler, decorators: [{
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: APPErrorHandler, decorators: [{
|
|
39
39
|
type: Injectable
|
|
40
40
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmVycm9yaGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VydmljZXMvc3JjL2NsYXNzZXMvYXBwLmVycm9yaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFnQixVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQU96QyxNQUFNLE9BQU8sZUFBZTtJQUd4QixZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO0lBQUksQ0FBQztJQUUzQyxXQUFXLENBQUMsS0FBSztRQUNiLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJO1lBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFNUMsbUVBQW1FO1FBQ25FLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLCtEQUErRCxDQUFDLENBQUM7WUFDN0UsT0FBTztTQUNWO1FBRUQsMkpBQTJKO1FBQzNKLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLO1lBQzlCLFFBQVEsR0FBRyxLQUFLLENBQUE7YUFDZixJQUFJLEtBQUssWUFBWSxpQkFBaUI7WUFDdkMsUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7O1lBRXpCLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUVoSCxJQUFJLElBQUksR0FBRyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdkYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsR0FBRztRQUNoQixnRUFBZ0U7UUFDaEUsNkRBQTZEO1FBQzdELHdCQUF3QjtRQUN4QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFNLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFILENBQUM7K0dBakNRLGVBQWU7bUhBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbmltcG9ydCB7IEVudk9wdGlvbnMgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCI7XHJcblxyXG5kZWNsYXJlIHZhciBteWNvbmZpZzogRW52T3B0aW9uc1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQVBQRXJyb3JIYW5kbGVyIGltcGxlbWVudHMgRXJyb3JIYW5kbGVyIHtcclxuICAgIHByaXZhdGUgcm91dGVyO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7IH1cclxuXHJcbiAgICBoYW5kbGVFcnJvcihlcnJvcikge1xyXG4gICAgICAgIGlmICh0aGlzLnJvdXRlciA9PSBudWxsKVxyXG4gICAgICAgICAgICB0aGlzLnJvdXRlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KFJvdXRlcik7XHJcblxyXG4gICAgICAgIC8vSWdub3JvIGV2ZW50dWFsaSBlcnJvcmkgZGkgamF2YXNjcmlwdCBxdWFuZG8gaWwgcmVkaXJlY3Qgw6ggYXR0aXZvXHJcbiAgICAgICAgaWYgKG15Y29uZmlnICYmIG15Y29uZmlnLnJlZGlyZWN0SW5Qcm9ncmVzcykge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkphdmFzY3JpcHQgZXJyb3Igb24gcmVkaXJlY3QgaW4gcHJvZ3Jlc3MsIGlnbm9yaW5nIHRoaXMgZXZlbnRcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vSW4gY2FzbyBpbyBhYmJpYSBpbXBvc3RhdG8gc3VjY2VzcmVzdWx0bWFuZGF0b3J5IG5lbGwnaHR0cHJlcXVlc3QgZSBxdWVzdGEgYWJiaWEgZGF0byBlcnJvcmUgdGlybyBmdW9yaSB1biBleGNlcHRpb24gY2hlIGRldidlc3NlcmUgbW9zdHJhdGEgY29tZSBzaSBkZXZlXHJcbiAgICAgICAgdmFyIG5ld0Vycm9yID0gXCJcIjtcclxuICAgICAgICBpZiAoIWVycm9yLm1lc3NhZ2UgJiYgIWVycm9yLnN0YWNrKVxyXG4gICAgICAgICAgICBuZXdFcnJvciA9IGVycm9yXHJcbiAgICAgICAgZWxzZSBpZiAoZXJyb3IgaW5zdGFuY2VvZiBIdHRwRXJyb3JSZXNwb25zZSlcclxuICAgICAgICAgICAgbmV3RXJyb3IgPSBlcnJvci5tZXNzYWdlO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgbmV3RXJyb3IgPSBlcnJvci5zdGFjayAmJiBlcnJvci5zdGFjay5sZW5ndGggPiAxMDAwID8gZXJyb3Iuc3RhY2suc3Vic3RyaW5nKDAsIDk5OSkgKyBcIlsuLi5dXCIgOiBlcnJvci5zdGFjaztcclxuXHJcbiAgICAgICAgdmFyIHBhcnMgPSB7IGVycm9yTWVzc2FnZTogdGhpcy5iNjRFbmNvZGVVbmljb2RlKG5ld0Vycm9yKSwgZnJvbVVybDogdGhpcy5yb3V0ZXIudXJsIH07XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wiL2FuZXJyXCIsIHBhcnNdKTtcclxuICAgIH1cclxuXHJcbiAgICBiNjRFbmNvZGVVbmljb2RlKHN0cikge1xyXG4gICAgICAgIC8vIGZpcnN0IHdlIHVzZSBlbmNvZGVVUklDb21wb25lbnQgdG8gZ2V0IHBlcmNlbnQtZW5jb2RlZCBVVEYtOCxcclxuICAgICAgICAvLyB0aGVuIHdlIGNvbnZlcnQgdGhlIHBlcmNlbnQgZW5jb2RpbmdzIGludG8gcmF3IGJ5dGVzIHdoaWNoXHJcbiAgICAgICAgLy8gY2FuIGJlIGZlZCBpbnRvIGJ0b2EuXHJcbiAgICAgICAgcmV0dXJuIGJ0b2EoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikucmVwbGFjZSgvJShbMC05QS1GXXsyfSkvZywgKG1hdGNoLCBwMSkgPT4gU3RyaW5nLmZyb21DaGFyQ29kZSg8YW55PihcIjB4XCIgKyBwMSkpKSk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -17,11 +17,11 @@ export class OutZoneEventPlugin {
|
|
|
17
17
|
element.addEventListener(eventOriginalName, standardHandler);
|
|
18
18
|
return () => element.removeEventListener(eventOriginalName, standardHandler);
|
|
19
19
|
}
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OutZoneEventPlugin, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
21
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OutZoneEventPlugin, providedIn: 'root' }); }
|
|
20
22
|
}
|
|
21
|
-
|
|
22
|
-
OutZoneEventPlugin.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OutZoneEventPlugin, providedIn: 'root' });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OutZoneEventPlugin, decorators: [{
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OutZoneEventPlugin, decorators: [{
|
|
24
24
|
type: Injectable,
|
|
25
25
|
args: [{ providedIn: 'root' }]
|
|
26
26
|
}], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9zcmMvY2xhc3Nlcy9hcHAuZXZlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBR25ELE1BQU0sT0FBTyxrQkFBa0I7SUFFM0IsWUFBb0IsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7SUFBSSxDQUFDO0lBRXJDLFFBQVEsQ0FBQyxTQUFpQjtRQUN0QixPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQW9CLEVBQUUsU0FBaUIsRUFBRSxlQUF5QjtRQUMvRSxJQUFJLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEQsSUFBSSxlQUFlLEdBQUcsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM5RCxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7O1lBRXJHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsQ0FBQTtRQUVoRSxPQUFPLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsRUFBRSxlQUFlLENBQUMsQ0FBQztJQUNqRixDQUFDOytHQWpCUSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQURMLE1BQU07OzRGQUNuQixrQkFBa0I7a0JBRDlCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBOZ1pvbmUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIE91dFpvbmVFdmVudFBsdWdpbiB7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHsgfVxyXG5cclxuICAgIHN1cHBvcnRzKGV2ZW50TmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGV2ZW50TmFtZS5lbmRzV2l0aCgnb3V0LXpvbmUnKTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRFdmVudExpc3RlbmVyKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBldmVudE5hbWU6IHN0cmluZywgb3JpZ2luYWxIYW5kbGVyOiBGdW5jdGlvbik6IEZ1bmN0aW9uIHtcclxuICAgICAgICBsZXQgZXZlbnRPcmlnaW5hbE5hbWUgPSBldmVudE5hbWUuc3BsaXQoJy4nKVswXTtcclxuICAgICAgICBsZXQgc3RhbmRhcmRIYW5kbGVyID0gKGV2ZW50OiBFdmVudCkgPT4gb3JpZ2luYWxIYW5kbGVyKGV2ZW50KVxyXG4gICAgICAgIGlmIChldmVudE5hbWUuZW5kc1dpdGgoJ291dC16b25lJykpXHJcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7IGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudE9yaWdpbmFsTmFtZSwgc3RhbmRhcmRIYW5kbGVyKTsgfSk7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRPcmlnaW5hbE5hbWUsIHN0YW5kYXJkSGFuZGxlcilcclxuXHJcbiAgICAgICAgcmV0dXJuICgpID0+IGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE9yaWdpbmFsTmFtZSwgc3RhbmRhcmRIYW5kbGVyKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -25,10 +25,10 @@ export class GlobalSearchService {
|
|
|
25
25
|
generateColumnLink(column) {
|
|
26
26
|
return null;
|
|
27
27
|
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalSearchService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalSearchService }); }
|
|
28
30
|
}
|
|
29
|
-
|
|
30
|
-
GlobalSearchService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GlobalSearchService });
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: GlobalSearchService, decorators: [{
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GlobalSearchService, decorators: [{
|
|
32
32
|
type: Injectable
|
|
33
33
|
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmdsb2JhbHNlYXJjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VydmljZXMvc3JjL2NsYXNzZXMvYXBwLmdsb2JhbHNlYXJjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUszQyxPQUFPO0FBQ1AsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHdEMsTUFBTSxPQUFPLG1CQUFtQjtJQURoQztRQUVXLFlBQU8sR0FBWSxLQUFLLENBQUM7S0FxQm5DO0lBbkJHOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLElBQVk7UUFDdEIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksa0JBQWtCLENBQUMsTUFBZ0I7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzsrR0FyQlEsbUJBQW1CO21IQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQ29yZVxyXG5pbXBvcnQgeyBLZXlWYWx1ZSwgU2VhcmNoUmVzdWx0Q29udGFpbmVyIH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL2RvbWFpblwiO1xyXG5cclxuLy8gUnhqc1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBHbG9iYWxTZWFyY2hTZXJ2aWNlIHtcclxuICAgIHB1YmxpYyBFbmFibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFZmZldHR1YSB1bmEgcmljZXJjYSBpbiBiYXNlIGEgdW4gdGVybWluZSBnZW5lcmljb1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0gdGVybSBUZXJtaW5lIGRhIGNlcmNhcmVcclxuICAgICAqIEByZXR1cm5zIHtTZWFyY2hSZXN1bHRDb250YWluZXJ9IENvbnRlbml0b3JlIGRlbGxhIHJpY2VyY2FcclxuICAgICAqL1xyXG4gICAgcHVibGljIHNlYXJjaCh0ZXJtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNlYXJjaFJlc3VsdENvbnRhaW5lcj4ge1xyXG4gICAgICAgIHJldHVybiBvZihudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIERhdGEgbGEgZGVmaW5pemlvbmUgc2VtcGxpY2UgZGkgdW5hIGNvbG9ubmEgcmVzdGl0dWlzY2UgdW4gb2dnZXR0byBjaGUgaW5kaWNhIHNlIGJpc29nbmEgcHJlc2VudGVyZSB1biBsaW5rIHN1IGRpIGVzc2FcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGNvbHVtbiBDb2xvbm5hIHBlciBjdWkgdmVyaWZpY2FyZSBsYSBwcmVzZW50YXppb25lIGRpIHVuIGxpbmsuIEVzZW1waW86IHtpZDogXCJJRFBBUlRZXCIsIGRlc2NyaXB0aW9uOiBcIkNvZC4gQ29udHJvcGFydGVcIn1cclxuICAgICAqIEByZXR1cm5zIHt7IHJvdXRlUGF0aDogc3RyaW5nLCByb3V0ZVByb3BlcnRpZXM6IHN0cmluZ1tdIH19IE9nZ2V0dG8gY2hlIGluZGljYSB1biBsaW5rIGNvbiBpIHByb3ByaSBiaW5kaW5nLiBBZCBlc2VtcGlvOiB7cm91dGVQYXRoOiBcIlsnL3BhZ2VzL3BhcnRpZXMvcGFydGllc19kZXRhaWxzJywgeyAnaWRNb2RlbCc6ICd7MH0nIH1dXCIsIHJvdXRlUHJvcGVydGllczogW1wiSURQQVJUWVwiXX1cclxuICAgICAqL1xyXG4gICAgcHVibGljIGdlbmVyYXRlQ29sdW1uTGluayhjb2x1bW46IEtleVZhbHVlKTogeyByb3V0ZVBhdGg6IHN0cmluZywgcm91dGVQcm9wZXJ0aWVzOiBzdHJpbmdbXSB9IHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -6,10 +6,10 @@ export class HTTPServiceExtensionsLoc extends LocalizationService {
|
|
|
6
6
|
super(injector);
|
|
7
7
|
super.set("it->en", "Il Server sembra essere offline, prova a ricaricare la pagina", ["Server seems to be offline, try to reload this page"]);
|
|
8
8
|
}
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HTTPServiceExtensionsLoc, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HTTPServiceExtensionsLoc }); }
|
|
9
11
|
}
|
|
10
|
-
|
|
11
|
-
HTTPServiceExtensionsLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HTTPServiceExtensionsLoc });
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HTTPServiceExtensionsLoc, decorators: [{
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HTTPServiceExtensionsLoc, decorators: [{
|
|
13
13
|
type: Injectable
|
|
14
14
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmh0dHBleHRlbnNpb25zLmxvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc2VydmljZXMvc3JjL2NsYXNzZXMvYXBwLmh0dHBleHRlbnNpb25zLmxvYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUc5RCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsbUJBQW1CO0lBQzdELFlBQVksUUFBa0I7UUFDMUIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hCLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLCtEQUErRCxFQUFFLENBQUMscURBQXFELENBQUMsQ0FBQyxDQUFDO0lBQ2xKLENBQUM7K0dBSlEsd0JBQXdCO21IQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEhUVFBTZXJ2aWNlRXh0ZW5zaW9uc0xvYyBleHRlbmRzIExvY2FsaXphdGlvblNlcnZpY2Uge1xyXG4gICAgY29uc3RydWN0b3IoaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xyXG4gICAgICAgIHN1cGVyLnNldChcIml0LT5lblwiLCBcIklsIFNlcnZlciBzZW1icmEgZXNzZXJlIG9mZmxpbmUsIHByb3ZhIGEgcmljYXJpY2FyZSBsYSBwYWdpbmFcIiwgW1wiU2VydmVyIHNlZW1zIHRvIGJlIG9mZmxpbmUsIHRyeSB0byByZWxvYWQgdGhpcyBwYWdlXCJdKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -81,10 +81,10 @@ export class HTTPServiceExtensions {
|
|
|
81
81
|
this.router.navigate(["iserr", pars]);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HTTPServiceExtensions, deps: [{ token: i1.LocalizationService }, { token: i2.TokenService }, { token: i3.AppState }, { token: i4.Router }, { token: i5.AccessControlService }, { token: i6.MessageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
85
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HTTPServiceExtensions }); }
|
|
84
86
|
}
|
|
85
|
-
|
|
86
|
-
HTTPServiceExtensions.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HTTPServiceExtensions });
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: HTTPServiceExtensions, decorators: [{
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HTTPServiceExtensions, decorators: [{
|
|
88
88
|
type: Injectable
|
|
89
89
|
}], ctorParameters: function () { return [{ type: i1.LocalizationService }, { type: i2.TokenService }, { type: i3.AppState }, { type: i4.Router }, { type: i5.AccessControlService }, { type: i6.MessageService }]; } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmh0dHBleHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9zcmMvY2xhc3Nlcy9hcHAuaHR0cGV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0MsZUFBZTtBQUNmLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQVNwRSxNQUFNLE9BQU8scUJBQXFCO0lBRTlCLFlBQW9CLEVBQXVCLEVBQVUsR0FBaUIsRUFBVSxFQUFZLEVBQVUsTUFBYyxFQUFVLEVBQXdCLEVBQVUsSUFBb0I7UUFBaEssT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFjO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBVTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFzQjtRQUFVLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQ2hMLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO0lBQ2hFLENBQUM7SUFFRCxlQUFlO0lBQ2YsbUJBQW1CO1FBQ2YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxnQkFBZ0I7UUFDWixPQUFZLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELDhDQUE4QztJQUM5QyxzQkFBc0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO0lBQ3RDLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxNQUFlO1FBQ25DLElBQUksQ0FBQyxFQUFFLENB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YW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbi8vIENvbmZpZ3VyYXppb25pXHJcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9hY2Nlc3MtY29udHJvbFwiO1xyXG5pbXBvcnQgeyBIdHRwU2VydmljZUV4dGVuc2lvbnMgfSBmcm9tIFwiQGVzZmFlbnphL2h0dHBzZXJ2aWNlXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2V4dGVuc2lvbnNcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBIVFRQU2VydmljZUV4dGVuc2lvbnNMb2MgfSBmcm9tIFwiLi9hcHAuaHR0cGV4dGVuc2lvbnMubG9jXCI7XHJcbmltcG9ydCB7IEFwcFN0YXRlIH0gZnJvbSBcIi4vYXBwLnN0YXRlXCI7XHJcbmltcG9ydCB7IFRva2VuU2VydmljZSB9IGZyb20gXCIuL2FwcC5hY2Nlc3N0b2tlblwiO1xyXG5cclxuaW1wb3J0IHsgRW52T3B0aW9ucyB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kb21haW5cIjtcclxuXHJcbmRlY2xhcmUgdmFyIG15Y29uZmlnOiBFbnZPcHRpb25zO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSFRUUFNlcnZpY2VFeHRlbnNpb25zIGltcGxlbWVudHMgSHR0cFNlcnZpY2VFeHRlbnNpb25zIHtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBwcml2YXRlIHRrczogVG9rZW5TZXJ2aWNlLCBwcml2YXRlIGFzOiBBcHBTdGF0ZSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBhYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIHByaXZhdGUgbXNnczogTWVzc2FnZVNlcnZpY2UpIHtcclxuICAgICAgICB0aGlzLmxjID0gdGhpcy5sYy5nZW5lcmF0ZUZyb21UeXBlKEhUVFBTZXJ2aWNlRXh0ZW5zaW9uc0xvYylcclxuICAgIH1cclxuXHJcbiAgICAvL0dlc3Rpb25lIEF1dGhcclxuICAgIHJldHJpZXZlQWNjZXNzVG9rZW4oKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50a3MuZ2V0QWNjZXNzVG9rZW4oKS50b1N0cmluZygpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHJpZXZlSWRlbnRpdHkoKTogeyBJZFVzZXI6IHN0cmluZzsgSWR0ZW5hbnQ6IHN0cmluZzsgfSB7XHJcbiAgICAgICAgcmV0dXJuIDxhbnk+dGhpcy50a3MuZ2V0SmFjZUlkZW50aXR5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy9HZXN0aW9uZSByaWRpcmV6aW9uZSBhbCBsb2dpbiAvIGFsdHJlIHBhZ2luZVxyXG4gICAgcmVhZFJlZGlyZWN0aW5nVG9Mb2dpbigpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcy5yZWRpcmVjdGluZ1RvTG9naW47XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVSZWRpcmVjdGluZ1RvTG9naW4oc3RhdHVzOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5hcy5yZWRpcmVjdGluZ1RvTG9naW4gPSBzdGF0dXM7XHJcbiAgICB9XHJcblxyXG4gICAgcmVkaXJlY3RUb0xvZ2luKCk6IHZvaWQge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiSFRUUFNlcnZpY2VFeHRlbnNpb25zIC0gcmVkaXJlY3RpbmcgdG8gbG9naW5cIik7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1wibG9naW5cIiwgeyBmcm9tVXJsOiB0aGlzLnJvdXRlci51cmwgfV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJlYWRSZWRpcmVjdGlvblN0YXR1cygpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gbXljb25maWc/LnJlZGlyZWN0SW5Qcm9ncmVzcztcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVJlZGlyZWN0aW9uU3RhdHVzKHN0YXR1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIG15Y29uZmlnLnJlZGlyZWN0SW5Qcm9ncmVzcyA9IHN0YXR1cztcclxuICAgIH1cclxuXHJcbiAgICAvL0dlc3Rpb25lIGVycm9yIGhhbmRsaW5nIGZsYWdcclxuICAgIHJlYWRIYW5kbGluZ0Vycm9yU3RhdHVzKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFzLmhhbmRsaW5nRXJyb3I7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVIYW5kbGluZ0Vycm9yU3RhdHVzKHN0YXR1czogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuYXMuaGFuZGxpbmdFcnJvciA9IHN0YXR1cztcclxuICAgIH1cclxuXHJcbiAgICAvLyA0NDQsIHNlIGZhbHNlIHBhc3NhIGEgaGFuZGxlQmxvY2tpbmdFeGNlcHRpb25cclxuICAgIGhhbmRsZU5vdENvbmZpZ3VyZWRFeGNlcHRpb24oKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKHRoaXMuYWMuaGFzKFwiUDptZG1fY3VzdG9taXplXCIpKSB7XHJcbiAgICAgICAgICAgIG15Y29uZmlnLnJlZGlyZWN0SW5Qcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuYXMuaGFuZGxpbmdFcnJvciA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJwYWdlcy9hZG0vdGVuYW50Y29uZmlnXCJdKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gNDAwLCA0MDMsIDQwNCwgNDQ0XHJcbiAgICBoYW5kbGVCbG9ja2luZ0V4Y2VwdGlvbihzdGF0dXM6IG51bWJlciwgdGV4dDogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5tc2dzLnNpbXBsZUVycm9yKHN0YXR1cyArIFwiOiBcIiArIHRleHQpXHJcbiAgICAgICAgdGhpcy5hcy5oYW5kbGluZ0Vycm9yID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVHV0dG8gcXVlbGxvIGNoZSBub24gw6ggZ2VzdGl0byBkYSBoYW5kbGVCbG9ja2luZ0V4Y2VwdGlvblxyXG4gICAgaGFuZGxlRXhjZXB0aW9uKHN0YXR1czogbnVtYmVyLCB0ZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICBpZiAoc3RhdHVzID09IDUwMykge1xyXG4gICAgICAgICAgICB0aGlzLm1zZ3Muc2ltcGxlRXJyb3IodGhpcy5sYy5sb2MoXCJJbCBTZXJ2ZXIgc2VtYnJhIGVzc2VyZSBvZmZsaW5lLCBwcm92YSBhIHJpY2FyaWNhcmUgbGEgcGFnaW5hXCIpKTtcclxuICAgICAgICAgICAgdGhpcy5hcy5oYW5kbGluZ0Vycm9yID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHN0YXR1cyA9PSA1NDIpIHtcclxuICAgICAgICAgICAgdGhpcy5tc2dzLnNpbXBsZUVycm9yKHRleHQpO1xyXG4gICAgICAgICAgICB0aGlzLmFzLmhhbmRsaW5nRXJyb3IgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHZhciBzdCA9IGJ0b2EoZW5jb2RlVVJJQ29tcG9uZW50KHRleHQpLnJlcGxhY2UoLyUoWzAtOUEtRl17Mn0pL2csIChtYXRjaCwgcDEpID0+IFN0cmluZy5mcm9tQ2hhckNvZGUoPGFueT4oXCIweFwiICsgcDEpKSkpO1xyXG4gICAgICAgICAgICB2YXIgcGFycyA9IHsgc3RhdHVzQ29kZTogc3RhdHVzLCBzdGF0dXNUZXh0OiBzdCwgZnJvbVVybDogdGhpcy5yb3V0ZXIudXJsIH07XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImlzZXJyXCIsIHBhcnNdKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -12,10 +12,10 @@ export class MenuFilteringService {
|
|
|
12
12
|
filter(rawMenus) {
|
|
13
13
|
return of(rawMenus);
|
|
14
14
|
}
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuFilteringService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuFilteringService }); }
|
|
15
17
|
}
|
|
16
|
-
|
|
17
|
-
MenuFilteringService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuFilteringService });
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MenuFilteringService, decorators: [{
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: MenuFilteringService, decorators: [{
|
|
19
19
|
type: Injectable
|
|
20
20
|
}] });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1lbnVmaWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL3NyYy9jbGFzc2VzL2FwcC5tZW51ZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBR3RDLE1BQU0sT0FBTyxvQkFBb0I7SUFDN0I7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsUUFBMkI7UUFDckMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEIsQ0FBQzsrR0FUUSxvQkFBb0I7bUhBQXBCLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb3JlXHJcbmltcG9ydCB7IEFwcGxpY2F0aW9uTWVudSB9IGZyb20gXCJAZXNmYWVuemEvY29yZS9kb21haW5cIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTWVudUZpbHRlcmluZ1NlcnZpY2Uge1xyXG4gICAgLyoqXHJcbiAgICAgKiBBcHBsaWNhIHVuIGZpbHRybyBhZ2xpIGVsZW1lbnRpIGRpIG1lbsO5IGluIG1vZG8gZGEgcG90ZXJsaSBmaWx0cmFyZSBpbiBiYXNlIGEgY29uZGl6aW9uaSBhcmJpdHJhcmllIChpbmNsdXNpIGNoZWNrIGxhdG8gQkUpXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSByYXdNZW51cyBNZW7DuSBvcmlnaW5hbGksIG5vbiBmaWx0cmF0aVxyXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8QXBwbGljYXRpb25NZW51W10+fSBNZW7DuSBmaWx0cmF0aVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZmlsdGVyKHJhd01lbnVzOiBBcHBsaWNhdGlvbk1lbnVbXSk6IE9ic2VydmFibGU8QXBwbGljYXRpb25NZW51W10+IHtcclxuICAgICAgICByZXR1cm4gb2YocmF3TWVudXMpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Angular
|
|
2
|
+
import { Injectable } from "@angular/core";
|
|
3
|
+
// Configurazioni
|
|
4
|
+
import { AccessControlRouteGuard } from "@esfaenza/access-control";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@esfaenza/extensions";
|
|
7
|
+
import * as i2 from "@esfaenza/access-control";
|
|
8
|
+
import * as i3 from "@angular/router";
|
|
9
|
+
import * as i4 from "./app.accesstoken";
|
|
10
|
+
export class BaseRouterGuard extends AccessControlRouteGuard {
|
|
11
|
+
constructor(ms, acc, router, ts) {
|
|
12
|
+
super(ms, acc, router);
|
|
13
|
+
let identity = ts.getJaceIdentity();
|
|
14
|
+
if (!acc.Initialized)
|
|
15
|
+
acc.initializeIdentity(identity);
|
|
16
|
+
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseRouterGuard, deps: [{ token: i1.MessageService }, { token: i2.AccessControlService }, { token: i3.Router }, { token: i4.TokenService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
18
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseRouterGuard }); }
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BaseRouterGuard, decorators: [{
|
|
21
|
+
type: Injectable
|
|
22
|
+
}], ctorParameters: function () { return [{ type: i1.MessageService }, { type: i2.AccessControlService }, { type: i3.Router }, { type: i4.TokenService }]; } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnJvdXRlZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL3NyYy9jbGFzc2VzL2FwcC5yb3V0ZWd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLGlCQUFpQjtBQUNqQixPQUFPLEVBQUUsdUJBQXVCLEVBQXdCLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztBQU16RixNQUFNLE9BQU8sZUFBZ0IsU0FBUSx1QkFBdUI7SUFDeEQsWUFBWSxFQUFrQixFQUFFLEdBQXlCLEVBQUUsTUFBYyxFQUFFLEVBQWdCO1FBQ3ZGLEtBQUssQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXZCLElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVc7WUFDaEIsR0FBRyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7K0dBUFEsZUFBZTttSEFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgQWNjZXNzQ29udHJvbFJvdXRlR3VhcmQsIEFjY2Vzc0NvbnRyb2xTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9hY2Nlc3MtY29udHJvbFwiO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5cclxuaW1wb3J0IHsgVG9rZW5TZXJ2aWNlIH0gZnJvbSBcIi4vYXBwLmFjY2Vzc3Rva2VuXCI7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlUm91dGVyR3VhcmQgZXh0ZW5kcyBBY2Nlc3NDb250cm9sUm91dGVHdWFyZCB7XHJcbiAgICBjb25zdHJ1Y3RvcihtczogTWVzc2FnZVNlcnZpY2UsIGFjYzogQWNjZXNzQ29udHJvbFNlcnZpY2UsIHJvdXRlcjogUm91dGVyLCB0czogVG9rZW5TZXJ2aWNlKSB7XHJcbiAgICAgICAgc3VwZXIobXMsIGFjYywgcm91dGVyKTtcclxuXHJcbiAgICAgICAgbGV0IGlkZW50aXR5ID0gdHMuZ2V0SmFjZUlkZW50aXR5KCk7XHJcbiAgICAgICAgaWYgKCFhY2MuSW5pdGlhbGl6ZWQpXHJcbiAgICAgICAgICAgIGFjYy5pbml0aWFsaXplSWRlbnRpdHkoaWRlbnRpdHkpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
// Angular
|
|
2
|
+
import { Injectable, Inject } from "@angular/core";
|
|
3
|
+
// Core
|
|
4
|
+
import { ANONYMOUS_MODE } from "@esfaenza/core/domain";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "./app.accesstoken";
|
|
7
|
+
import * as i2 from "@angular/router";
|
|
8
|
+
export class SessionRetriever {
|
|
9
|
+
constructor(bts, router, anonymousMode) {
|
|
10
|
+
this.bts = bts;
|
|
11
|
+
this.router = router;
|
|
12
|
+
this.anonymousMode = anonymousMode;
|
|
13
|
+
}
|
|
14
|
+
/** Tenant§Account§User§ModuleId */
|
|
15
|
+
getSessionKey() {
|
|
16
|
+
if (this.SessionIdentity)
|
|
17
|
+
return this.SessionIdentity;
|
|
18
|
+
// Se non ho un id mi manca il login, quindi via di qua
|
|
19
|
+
var id = this.bts.getJaceIdentity();
|
|
20
|
+
if (!id) {
|
|
21
|
+
if (this.anonymousMode)
|
|
22
|
+
return "";
|
|
23
|
+
console.log("SessionRetriever - no identity, redirecting to login");
|
|
24
|
+
this.router.navigate(["login"]);
|
|
25
|
+
return "";
|
|
26
|
+
}
|
|
27
|
+
this.SessionIdentity = "" + id.Idtenant + "§" + id.IdAccount + "§" + id.IdUser + "§" + myconfig?.AppData?.ModuleId;
|
|
28
|
+
return this.SessionIdentity;
|
|
29
|
+
}
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionRetriever, deps: [{ token: i1.TokenService }, { token: i2.Router }, { token: ANONYMOUS_MODE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
31
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionRetriever, providedIn: "root" }); }
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SessionRetriever, decorators: [{
|
|
34
|
+
type: Injectable,
|
|
35
|
+
args: [{ providedIn: "root" }]
|
|
36
|
+
}], ctorParameters: function () { return [{ type: i1.TokenService }, { type: i2.Router }, { type: undefined, decorators: [{
|
|
37
|
+
type: Inject,
|
|
38
|
+
args: [ANONYMOUS_MODE]
|
|
39
|
+
}] }]; } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnNlc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NlcnZpY2VzL3NyYy9jbGFzc2VzL2FwcC5zZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQVNuRCxPQUFPO0FBQ1AsT0FBTyxFQUFFLGNBQWMsRUFBYyxNQUFNLHVCQUF1QixDQUFDOzs7O0FBS25FLE1BQU0sT0FBTyxnQkFBZ0I7SUFJekIsWUFBb0IsR0FBaUIsRUFBVSxNQUFjLEVBQWtDLGFBQXNCO1FBQWpHLFFBQUcsR0FBSCxHQUFHLENBQWM7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQWtDLGtCQUFhLEdBQWIsYUFBYSxDQUFTO0lBQUksQ0FBQztJQUUxSCxtQ0FBbUM7SUFDbkMsYUFBYTtRQUNULElBQUksSUFBSSxDQUFDLGVBQWU7WUFDcEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRWhDLHVEQUF1RDtRQUN2RCxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDTCxJQUFJLElBQUksQ0FBQyxhQUFhO2dCQUNsQixPQUFPLEVBQUUsQ0FBQztZQUVkLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0RBQXNELENBQUMsQ0FBQTtZQUNuRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDaEMsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEdBQUcsR0FBRyxHQUFHLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDO1FBQ25ILE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDOytHQXhCUSxnQkFBZ0Isb0VBSThDLGNBQWM7bUhBSjVFLGdCQUFnQixjQURILE1BQU07OzRGQUNuQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFLa0MsTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBCYXNlU2Vzc2lvblJldHJpZXZlciB9IGZyb20gXCJAZXNmYWVuemEvcHJlZmVyZW5jZXNcIjtcclxuXHJcbi8vIEFwcGxpY2F6aW9uZVxyXG5pbXBvcnQgeyBUb2tlblNlcnZpY2UgfSBmcm9tIFwiLi9hcHAuYWNjZXNzdG9rZW5cIjtcclxuXHJcbi8vIENvcmVcclxuaW1wb3J0IHsgQU5PTllNT1VTX01PREUsIEVudk9wdGlvbnMgfSBmcm9tIFwiQGVzZmFlbnphL2NvcmUvZG9tYWluXCI7XHJcblxyXG5kZWNsYXJlIHZhciBteWNvbmZpZzogRW52T3B0aW9ucztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogXCJyb290XCIgfSlcclxuZXhwb3J0IGNsYXNzIFNlc3Npb25SZXRyaWV2ZXIgaW1wbGVtZW50cyBCYXNlU2Vzc2lvblJldHJpZXZlciB7XHJcblxyXG4gICAgcHJpdmF0ZSBTZXNzaW9uSWRlbnRpdHk6IHN0cmluZztcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJ0czogVG9rZW5TZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBASW5qZWN0KEFOT05ZTU9VU19NT0RFKSBwcml2YXRlIGFub255bW91c01vZGU6IGJvb2xlYW4pIHsgfVxyXG5cclxuICAgIC8qKiBUZW5hbnTCp0FjY291bnTCp1VzZXLCp01vZHVsZUlkICovXHJcbiAgICBnZXRTZXNzaW9uS2V5KCk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKHRoaXMuU2Vzc2lvbklkZW50aXR5KVxyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5TZXNzaW9uSWRlbnRpdHk7XHJcblxyXG4gICAgICAgIC8vIFNlIG5vbiBobyB1biBpZCBtaSBtYW5jYSBpbCBsb2dpbiwgcXVpbmRpIHZpYSBkaSBxdWFcclxuICAgICAgICB2YXIgaWQgPSB0aGlzLmJ0cy5nZXRKYWNlSWRlbnRpdHkoKTtcclxuICAgICAgICBpZiAoIWlkKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmFub255bW91c01vZGUpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuXHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiU2Vzc2lvblJldHJpZXZlciAtIG5vIGlkZW50aXR5LCByZWRpcmVjdGluZyB0byBsb2dpblwiKVxyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJsb2dpblwiXSk7XHJcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5TZXNzaW9uSWRlbnRpdHkgPSBcIlwiICsgaWQuSWR0ZW5hbnQgKyBcIsKnXCIgKyBpZC5JZEFjY291bnQgKyBcIsKnXCIgKyBpZC5JZFVzZXIgKyBcIsKnXCIgKyBteWNvbmZpZz8uQXBwRGF0YT8uTW9kdWxlSWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuU2Vzc2lvbklkZW50aXR5O1xyXG4gICAgfVxyXG59Il19
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { Inject, Injectable } from "@angular/core";
|
|
2
|
+
import { InboundMessageTypes } from "@esfaenza/extensions";
|
|
3
|
+
// Core
|
|
4
|
+
import { ANONYMOUS_MODE } from "@esfaenza/core/domain";
|
|
5
|
+
// Direttive, Componenti, Librerie
|
|
6
|
+
import * as customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
7
|
+
import * as isSameOrBefore from 'dayjs/plugin/isSameOrBefore';
|
|
8
|
+
import * as isSameOrAfter from 'dayjs/plugin/isSameOrAfter';
|
|
9
|
+
import * as isBetween from 'dayjs/plugin/isBetween';
|
|
10
|
+
import * as duration from 'dayjs/plugin/duration';
|
|
11
|
+
import * as minMax from 'dayjs/plugin/minMax';
|
|
12
|
+
import * as utc from 'dayjs/plugin/utc';
|
|
13
|
+
import { Subject, filter } from "rxjs";
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "@angular/router";
|
|
16
|
+
import * as i2 from "@esfaenza/localizations";
|
|
17
|
+
import * as i3 from "./app.accesstoken";
|
|
18
|
+
import * as i4 from "@esfaenza/signalr-notifications";
|
|
19
|
+
import * as i5 from "@esfaenza/extensions";
|
|
20
|
+
export class AppState {
|
|
21
|
+
set Modules(modules) {
|
|
22
|
+
this._modules = modules;
|
|
23
|
+
this.notifyDataChanged("modules.Retrieved", this._modules);
|
|
24
|
+
}
|
|
25
|
+
get Modules() { return this._modules; }
|
|
26
|
+
constructor(router, lc, bts, notifications, MessageDef, intercom, emb, anonymousMode) {
|
|
27
|
+
this.router = router;
|
|
28
|
+
this.lc = lc;
|
|
29
|
+
this.bts = bts;
|
|
30
|
+
this.notifications = notifications;
|
|
31
|
+
this.MessageDef = MessageDef;
|
|
32
|
+
this.intercom = intercom;
|
|
33
|
+
this.emb = emb;
|
|
34
|
+
this.anonymousMode = anonymousMode;
|
|
35
|
+
this.redirectingToLogin = false;
|
|
36
|
+
this.handlingError = false;
|
|
37
|
+
this.christmasTime = false;
|
|
38
|
+
this.halloweenTime = false;
|
|
39
|
+
this.jobsInProgress = 0;
|
|
40
|
+
this.allJobs = [];
|
|
41
|
+
this.jobWithIdsCache = {};
|
|
42
|
+
this.notifyOnCompletedJobs = true;
|
|
43
|
+
this._data = new Subject();
|
|
44
|
+
this._subscriptions = new Map();
|
|
45
|
+
this.ModulesLocalizations = {};
|
|
46
|
+
this.hookEmbedding();
|
|
47
|
+
this.setupDayjs();
|
|
48
|
+
this.setupSignalRJobListening();
|
|
49
|
+
this.JaceIdentity = null;
|
|
50
|
+
this._data.subscribe((data) => this._onEvent(data));
|
|
51
|
+
//Decide se siamo attorno a natale
|
|
52
|
+
var today = dayjs();
|
|
53
|
+
var thisYear = today.year();
|
|
54
|
+
var lowerBound = dayjs("18/12/" + thisYear, "DD/MM/YYYY");
|
|
55
|
+
var upperBound = dayjs("07/01/" + (thisYear + 1), "DD/MM/YYYY");
|
|
56
|
+
this.christmasTime = today > lowerBound && today < upperBound;
|
|
57
|
+
//Decide se siamo attorno ad halloween
|
|
58
|
+
var lowerBound = dayjs("28/10/" + thisYear, "DD/MM/YYYY");
|
|
59
|
+
var upperBound = dayjs("05/11/" + thisYear, "DD/MM/YYYY");
|
|
60
|
+
this.halloweenTime = today > lowerBound && today < upperBound;
|
|
61
|
+
this.intercom.inbounds.subscribe((t) => { this.handleInboundMessage(t); });
|
|
62
|
+
}
|
|
63
|
+
// Collego le informazioni dell'embedding che devono appoggiarsi all'app state in modo che possano comunicare col resto dell'applicazione
|
|
64
|
+
hookEmbedding() {
|
|
65
|
+
this.emb.MessageObserver.pipe(filter(ev => ev.event == "navigation")).subscribe(event => {
|
|
66
|
+
var navigationOp = event?.data?.internalNavigation ? "menu.adjustSubNavigationTo" : "menu.adjustNavigationTo";
|
|
67
|
+
this.notifyDataChanged(navigationOp, event?.data?.title);
|
|
68
|
+
});
|
|
69
|
+
this.emb.MessageObserver.pipe(filter(ev => ev.event == "window-message")).subscribe(event => {
|
|
70
|
+
this.notifyDataChanged("window-message", event?.data);
|
|
71
|
+
});
|
|
72
|
+
this._data.pipe(filter(e => e.event == "menu.isCollapsed")).subscribe(_ => {
|
|
73
|
+
this.emb.refreshBoundariesOnMenuCollapse();
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
/** Tenant§Account§User§APPNAME */
|
|
77
|
+
getSessionIdentity() {
|
|
78
|
+
if (this.SessionIdentity)
|
|
79
|
+
return this.SessionIdentity;
|
|
80
|
+
// Se non ho un id mi manca il login, quindi via di qua
|
|
81
|
+
var id = this.getJaceIDentity();
|
|
82
|
+
if (!id) {
|
|
83
|
+
if (this.anonymousMode)
|
|
84
|
+
return "";
|
|
85
|
+
this.router.navigate(["login"]);
|
|
86
|
+
return "";
|
|
87
|
+
}
|
|
88
|
+
this.SessionIdentity = "" + id.Idtenant + "§" + id.IdAccount + "§" + id.IdUser + "§" + myconfig.AppData.ModuleId;
|
|
89
|
+
return this.SessionIdentity;
|
|
90
|
+
}
|
|
91
|
+
registerNavigationIfMeaningful(route) {
|
|
92
|
+
let title = route.data["title"];
|
|
93
|
+
let internal = route.data["internalNavigation"];
|
|
94
|
+
// Permette di chiamare sto registerNavigation a prescindere e fare opt out se non è una route navigabile
|
|
95
|
+
if (!title)
|
|
96
|
+
return;
|
|
97
|
+
/*
|
|
98
|
+
* Parent ({url: [{path: "{module}"}]})
|
|
99
|
+
* Parent ({url: [{path: ""}]}) (Root del modulo lazy)
|
|
100
|
+
* -> Navigazione attuale <-
|
|
101
|
+
*/
|
|
102
|
+
let module = route.parent?.parent?.url[0]?.path;
|
|
103
|
+
let loc = module ? this.ModulesLocalizations[module] : null;
|
|
104
|
+
if (!module)
|
|
105
|
+
console.error("Impossibile estrapolare il modulo dalla navigazione (Atteso Modulo al secondo livello di parentela partendo dal componente attuale): " + route.pathFromRoot.map(v => v.url.map(segment => segment.toString()).join('/')).join('/'));
|
|
106
|
+
this.notifyDataChanged(internal ? "menu.adjustSubNavigationTo" : "menu.adjustNavigationTo", loc ? loc.loc(title) : title);
|
|
107
|
+
}
|
|
108
|
+
handleInboundMessage(t) {
|
|
109
|
+
switch (t.type) {
|
|
110
|
+
case InboundMessageTypes.Navigation:
|
|
111
|
+
this.notifyDataChanged(t.message.sub ? "menu.adjustSubNavigationTo" : "menu.adjustNavigationTo", t.message.routeTitle);
|
|
112
|
+
// export const MK_ADM = "EsAdminModule";
|
|
113
|
+
// AdmMessageTypes.Message = 0;
|
|
114
|
+
// definita in admin-module.
|
|
115
|
+
// admin-module usa core quindi referenze circolari no-no-no
|
|
116
|
+
this.intercom.send(0, "Navigation Message Received", "EsAdminModule");
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
setupDayjs() {
|
|
121
|
+
dayjs.extend(customParseFormat.default || customParseFormat);
|
|
122
|
+
dayjs.extend(minMax.default || minMax);
|
|
123
|
+
dayjs.extend(isBetween.default || isBetween);
|
|
124
|
+
dayjs.extend(isSameOrBefore.default || isSameOrBefore);
|
|
125
|
+
dayjs.extend(isSameOrAfter.default || isSameOrAfter);
|
|
126
|
+
dayjs.extend(duration.default || duration);
|
|
127
|
+
dayjs.extend(utc.default || utc);
|
|
128
|
+
// Require e collegamento con la localizzazione per dayjs
|
|
129
|
+
import("dayjs/locale/" + this.lc.SmallLocale + ".js").then(locale => { dayjs.locale(locale); });
|
|
130
|
+
}
|
|
131
|
+
setupSignalRJobListening() {
|
|
132
|
+
this.notifications.observe(this.MessageDef.IN_JobProgressNotification).subscribe((ev) => {
|
|
133
|
+
var identity = this.getJaceIDentity();
|
|
134
|
+
if (!identity)
|
|
135
|
+
return;
|
|
136
|
+
var desc = (ev.description || ev.actionid) + " (" + (ev.user || identity.DsUser) + ")";
|
|
137
|
+
let job = {
|
|
138
|
+
id: ev.instance,
|
|
139
|
+
description: desc,
|
|
140
|
+
smalldescription: desc.length > 35 ? desc.substring(0, 30) + "..." : desc,
|
|
141
|
+
percentage: this.roundToTwo(ev.progress),
|
|
142
|
+
completed: ev.type == 'Completed',
|
|
143
|
+
fileid: ev.resultfile,
|
|
144
|
+
reportid: ev.resultreport,
|
|
145
|
+
reportpars: ev.resultreportparams,
|
|
146
|
+
complexreportid: ev.resultcomplexreport
|
|
147
|
+
};
|
|
148
|
+
switch (ev.type) {
|
|
149
|
+
case "Started":
|
|
150
|
+
if (this.jobWithIdsCache[ev.instance]) {
|
|
151
|
+
console.warn("Job already registered on the 'Started' callback");
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
this.jobWithIdsCache[ev.instance] = job;
|
|
155
|
+
this.allJobs.splice(0, 0, job);
|
|
156
|
+
this.notifyDataChanged("app.startedJob", job.description);
|
|
157
|
+
break;
|
|
158
|
+
case "Progress":
|
|
159
|
+
// Se mi arriva un progress di un job che non ho significa che mi sono loggato ora con dei Job in corso
|
|
160
|
+
// quindi per prima cosa devo metterlo in lista
|
|
161
|
+
if (!this.jobWithIdsCache[ev.instance]) {
|
|
162
|
+
this.jobWithIdsCache[ev.instance] = job;
|
|
163
|
+
this.allJobs.splice(0, 0, job);
|
|
164
|
+
}
|
|
165
|
+
this.jobWithIdsCache[ev.instance].percentage = this.roundToTwo(ev.progress);
|
|
166
|
+
this.notifyDataChanged("app.progressJob", { description: job.description, progress: this.jobWithIdsCache[ev.instance].percentage });
|
|
167
|
+
break;
|
|
168
|
+
case "Completed":
|
|
169
|
+
if (!this.jobWithIdsCache[ev.instance]) {
|
|
170
|
+
this.jobWithIdsCache[ev.instance] = job;
|
|
171
|
+
this.allJobs.splice(0, 0, job);
|
|
172
|
+
}
|
|
173
|
+
var jobToUpdate = this.jobWithIdsCache[ev.instance];
|
|
174
|
+
jobToUpdate.percentage = 100;
|
|
175
|
+
jobToUpdate.fileid = ev.resultfile;
|
|
176
|
+
jobToUpdate.reportid = ev.resultreport;
|
|
177
|
+
jobToUpdate.reportpars = ev.resultreportparams;
|
|
178
|
+
jobToUpdate.completed = true;
|
|
179
|
+
if (this.notifyOnCompletedJobs)
|
|
180
|
+
this.notifyDataChanged("app.completedJob", jobToUpdate.description);
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
this.jobsInProgress = this.allJobs.filter(t => !t.completed).length;
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
roundToTwo(num) {
|
|
187
|
+
return Math.round(num * 100) / 100;
|
|
188
|
+
}
|
|
189
|
+
getJaceIDentity() {
|
|
190
|
+
if (this.JaceIdentity)
|
|
191
|
+
return this.JaceIdentity;
|
|
192
|
+
this.JaceIdentity = this.bts.getJaceIdentity();
|
|
193
|
+
return this.JaceIdentity;
|
|
194
|
+
}
|
|
195
|
+
notifyDataChanged(event, value) {
|
|
196
|
+
this._data[event] = value;
|
|
197
|
+
this._data.next({
|
|
198
|
+
event: event,
|
|
199
|
+
data: this._data[event]
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
subscribe(event, callback) {
|
|
203
|
+
var subscribers = this._subscriptions.get(event) || [];
|
|
204
|
+
subscribers.push(callback);
|
|
205
|
+
this._subscriptions.set(event, subscribers);
|
|
206
|
+
}
|
|
207
|
+
_onEvent(data) {
|
|
208
|
+
var subscribers = this._subscriptions.get(data["event"]) || [];
|
|
209
|
+
subscribers.forEach((callback) => {
|
|
210
|
+
callback.call(null, data["data"]);
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
setSidebarWidth(width) {
|
|
214
|
+
this.sidebarWidth = width;
|
|
215
|
+
}
|
|
216
|
+
setHeaderHeight(height) {
|
|
217
|
+
this.headerHeight = height;
|
|
218
|
+
}
|
|
219
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppState, deps: [{ token: i1.Router }, { token: i2.LocalizationService }, { token: i3.TokenService }, { token: i4.NotificationsService }, { token: i4.BaseMessageService }, { token: i5.InterComService }, { token: i5.AppEmbeddingExtensions }, { token: ANONYMOUS_MODE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
220
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppState, providedIn: "root" }); }
|
|
221
|
+
}
|
|
222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppState, decorators: [{
|
|
223
|
+
type: Injectable,
|
|
224
|
+
args: [{ providedIn: "root" }]
|
|
225
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.LocalizationService }, { type: i3.TokenService }, { type: i4.NotificationsService }, { type: i4.BaseMessageService }, { type: i5.InterComService }, { type: i5.AppEmbeddingExtensions }, { type: undefined, decorators: [{
|
|
226
|
+
type: Inject,
|
|
227
|
+
args: [ANONYMOUS_MODE]
|
|
228
|
+
}] }]; } });
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLnN0YXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zZXJ2aWNlcy9zcmMvY2xhc3Nlcy9hcHAuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFvQyxNQUFNLHNCQUFzQixDQUFDO0FBTTdGLE9BQU87QUFDUCxPQUFPLEVBQW9CLGNBQWMsRUFBNEMsTUFBTSx1QkFBdUIsQ0FBQztBQUVuSCxrQ0FBa0M7QUFDbEMsT0FBTyxLQUFLLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sS0FBSyxjQUFjLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxLQUFLLGFBQWEsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEtBQUssU0FBUyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxRQUFRLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxLQUFLLE1BQU0sTUFBTSxxQkFBcUIsQ0FBQztBQUM5QyxPQUFPLEtBQUssR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBTXZDLE1BQU0sT0FBTyxRQUFRO0lBd0JqQixJQUFXLE9BQU8sQ0FBQyxPQUEyQjtRQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFDRCxJQUFXLE9BQU8sS0FBeUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUVsRSxZQUFvQixNQUFjLEVBQVUsRUFBdUIsRUFBVSxHQUFpQixFQUFV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QjFRLFFBQVEsY0FESyxNQUFNOzs0RkFDbkIsUUFBUTtrQkFEcEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQStCZ08sTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG4vLyBDb25maWd1cmF6aW9uaVxyXG5pbXBvcnQgeyBCYXNlTWVzc2FnZVNlcnZpY2UsIE5vdGlmaWNhdGlvbnNTZXJ2aWNlLCBKb2JQcm9ncmVzc0R0byB9IGZyb20gXCJAZXNmYWVuemEvc2lnbmFsci1ub3RpZmljYXRpb25zXCI7XHJcbmltcG9ydCB7IEluYm91bmRNZXNzYWdlVHlwZXMsIEludGVyQ29tTWVzc2FnZSwgSW50ZXJDb21TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgVG9rZW5TZXJ2aWNlIH0gZnJvbSBcIi4vYXBwLmFjY2Vzc3Rva2VuXCI7XHJcblxyXG5pbXBvcnQgeyBBcHBFbWJlZGRpbmdFeHRlbnNpb25zIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG4vLyBDb3JlXHJcbmltcG9ydCB7IEFjdGl2ZU1vZHVsZVZpZXcsIEFOT05ZTU9VU19NT0RFLCBBcHBsaWNhdGlvbkpvYiwgRW52T3B0aW9ucywgSmFjZUlkZW50aXR5IH0gZnJvbSBcIkBlc2ZhZW56YS9jb3JlL2RvbWFpblwiO1xyXG5cclxuLy8gRGlyZXR0aXZlLCBDb21wb25lbnRpLCBMaWJyZXJpZVxyXG5pbXBvcnQgKiBhcyBjdXN0b21QYXJzZUZvcm1hdCBmcm9tICdkYXlqcy9wbHVnaW4vY3VzdG9tUGFyc2VGb3JtYXQnO1xyXG5pbXBvcnQgKiBhcyBpc1NhbWVPckJlZm9yZSBmcm9tICdkYXlqcy9wbHVnaW4vaXNTYW1lT3JCZWZvcmUnO1xyXG5pbXBvcnQgKiBhcyBpc1NhbWVPckFmdGVyIGZyb20gJ2RheWpzL3BsdWdpbi9pc1NhbWVPckFmdGVyJztcclxuaW1wb3J0ICogYXMgaXNCZXR3ZWVuIGZyb20gJ2RheWpzL3BsdWdpbi9pc0JldHdlZW4nO1xyXG5pbXBvcnQgKiBhcyBkdXJhdGlvbiBmcm9tICdkYXlqcy9wbHVnaW4vZHVyYXRpb24nO1xyXG5pbXBvcnQgKiBhcyBtaW5NYXggZnJvbSAnZGF5anMvcGx1Z2luL21pbk1heCc7XHJcbmltcG9ydCAqIGFzIHV0YyBmcm9tICdkYXlqcy9wbHVnaW4vdXRjJztcclxuaW1wb3J0IHsgU3ViamVjdCwgZmlsdGVyIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbmRlY2xhcmUgdmFyIGRheWpzOiBhbnk7XHJcbmRlY2xhcmUgdmFyIG15Y29uZmlnOiBFbnZPcHRpb25zO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiBcInJvb3RcIiB9KVxyXG5leHBvcnQgY2xhc3MgQXBwU3RhdGUge1xyXG5cclxuICAgIHB1YmxpYyBzaWRlYmFyV2lkdGg6IG51bWJlcjtcclxuICAgIHB1YmxpYyBoZWFkZXJIZWlnaHQ6IG51bWJlcjtcclxuXHJcbiAgICBwdWJsaWMgcmVkaXJlY3RpbmdUb0xvZ2luOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaGFuZGxpbmdFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGNocmlzdG1hc1RpbWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBoYWxsb3dlZW5UaW1lOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgcHJpdmF0ZSBTZXNzaW9uSWRlbnRpdHk6IHN0cmluZztcclxuICAgIHByaXZhdGUgSmFjZUlkZW50aXR5OiBKYWNlSWRlbnRpdHk7XHJcblxyXG4gICAgcHVibGljIGpvYnNJblByb2dyZXNzOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGFsbEpvYnM6IEFwcGxpY2F0aW9uSm9iW10gPSBbXTtcclxuICAgIHByaXZhdGUgam9iV2l0aElkc0NhY2hlOiB7IFtpbmRleDogc3RyaW5nXTogQXBwbGljYXRpb25Kb2IgfSA9IHt9O1xyXG4gICAgcHVibGljIG5vdGlmeU9uQ29tcGxldGVkSm9iczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgcHJpdmF0ZSBfZGF0YSA9IG5ldyBTdWJqZWN0PE9iamVjdD4oKTtcclxuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnM6IE1hcDxzdHJpbmcsIEFycmF5PEZ1bmN0aW9uPj4gPSBuZXcgTWFwPHN0cmluZywgQXJyYXk8RnVuY3Rpb24+PigpO1xyXG5cclxuICAgIHB1YmxpYyBNb2R1bGVzTG9jYWxpemF0aW9uczogeyBbaWQ6IHN0cmluZ106IExvY2FsaXphdGlvblNlcnZpY2UgfSA9IHt9O1xyXG5cclxuICAgIHByaXZhdGUgX21vZHVsZXM6IEFjdGl2ZU1vZHVsZVZpZXdbXTtcclxuICAgIHB1YmxpYyBzZXQgTW9kdWxlcyhtb2R1bGVzOiBBY3RpdmVNb2R1bGVWaWV3W10pIHtcclxuICAgICAgICB0aGlzLl9tb2R1bGVzID0gbW9kdWxlcztcclxuICAgICAgICB0aGlzLm5vdGlmeURhdGFDaGFuZ2VkKFwibW9kdWxlcy5SZXRyaWV2ZWRcIiwgdGhpcy5fbW9kdWxlcyk7XHJcbiAgICB9XHJcbiAgICBwdWJsaWMgZ2V0IE1vZHVsZXMoKTogQWN0aXZlTW9kdWxlVmlld1tdIHsgcmV0dXJuIHRoaXMuX21vZHVsZXM7IH1cclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGxjOiBMb2NhbGl6YXRpb25TZXJ2aWNlLCBwcml2YXRlIGJ0czogVG9rZW5TZXJ2aWNlLCBwcml2YXRlIG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbnNTZXJ2aWNlLCBwcml2YXRlIE1lc3NhZ2VEZWY6IEJhc2VNZXNzYWdlU2VydmljZSwgcHJpdmF0ZSBpbnRlcmNvbTogSW50ZXJDb21TZXJ2aWNlLCBwcml2YXRlIGVtYjogQXBwRW1iZWRkaW5nRXh0ZW5zaW9ucywgQEluamVjdChBTk9OWU1PVVNfTU9ERSkgcHJpdmF0ZSBhbm9ueW1vdXNNb2RlIDogYm9vbGVhbikge1xyXG5cclxuICAgICAgICB0aGlzLmhvb2tFbWJlZGRpbmcoKTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXR1cERheWpzKCk7XHJcbiAgICAgICAgdGhpcy5zZXR1cFNpZ25hbFJKb2JMaXN0ZW5pbmcoKTtcclxuXHJcbiAgICAgICAgdGhpcy5KYWNlSWRlbnRpdHkgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuX2RhdGEuc3Vic2NyaWJlKChkYXRhKSA9PiB0aGlzLl9vbkV2ZW50KGRhdGEpKTtcclxuXHJcbiAgICAgICAgLy9EZWNpZGUgc2Ugc2lhbW8gYXR0b3JubyBhIG5hdGFsZVxyXG4gICAgICAgIHZhciB0b2RheSA9IGRheWpzKCk7XHJcbiAgICAgICAgdmFyIHRoaXNZZWFyID0gdG9kYXkueWVhcigpO1xyXG4gICAgICAgIHZhciBsb3dlckJvdW5kID0gZGF5anMoXCIxOC8xMi9cIiArIHRoaXNZZWFyLCBcIkREL01NL1lZWVlcIik7XHJcbiAgICAgICAgdmFyIHVwcGVyQm91bmQgPSBkYXlqcyhcIjA3LzAxL1wiICsgKHRoaXNZZWFyICsgMSksIFwiREQvTU0vWVlZWVwiKTtcclxuICAgICAgICB0aGlzLmNocmlzdG1hc1RpbWUgPSB0b2RheSA+IGxvd2VyQm91bmQgJiYgdG9kYXkgPCB1cHBlckJvdW5kO1xyXG5cclxuICAgICAgICAvL0RlY2lkZSBzZSBzaWFtbyBhdHRvcm5vIGFkIGhhbGxvd2VlblxyXG4gICAgICAgIHZhciBsb3dlckJvdW5kID0gZGF5anMoXCIyOC8xMC9cIiArIHRoaXNZZWFyLCBcIkREL01NL1lZWVlcIik7XHJcbiAgICAgICAgdmFyIHVwcGVyQm91bmQgPSBkYXlqcyhcIjA1LzExL1wiICsgdGhpc1llYXIsIFwiREQvTU0vWVlZWVwiKTtcclxuICAgICAgICB0aGlzLmhhbGxvd2VlblRpbWUgPSB0b2RheSA+IGxvd2VyQm91bmQgJiYgdG9kYXkgPCB1cHBlckJvdW5kO1xyXG5cclxuICAgICAgICB0aGlzLmludGVyY29tLmluYm91bmRzLnN1YnNjcmliZSgodDogSW50ZXJDb21NZXNzYWdlKSA9PiB7IHRoaXMuaGFuZGxlSW5ib3VuZE1lc3NhZ2UodCk7IH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIENvbGxlZ28gbGUgaW5mb3JtYXppb25pIGRlbGwnZW1iZWRkaW5nIGNoZSBkZXZvbm8gYXBwb2dnaWFyc2kgYWxsJ2FwcCBzdGF0ZSBpbiBtb2RvIGNoZSBwb3NzYW5vIGNvbXVuaWNhcmUgY29sIHJlc3RvIGRlbGwnYXBwbGljYXppb25lXHJcbiAgICBob29rRW1iZWRkaW5nKCkge1xyXG4gICAgICAgIHRoaXMuZW1iLk1lc3NhZ2VPYnNlcnZlci5waXBlKGZpbHRlcihldiA9PiBldi5ldmVudCA9PSBcIm5hdmlnYXRpb25cIikpLnN1YnNjcmliZShldmVudCA9PiB7XHJcbiAgICAgICAgICAgIHZhciBuYXZpZ2F0aW9uT3AgPSBldmVudD8uZGF0YT8uaW50ZXJuYWxOYXZpZ2F0aW9uID8gXCJtZW51LmFkanVzdFN1Yk5hdmlnYXRpb25Ub1wiIDogXCJtZW51LmFkanVzdE5hdmlnYXRpb25Ub1wiO1xyXG4gICAgICAgICAgICB0aGlzLm5vdGlmeURhdGFDaGFuZ2VkKG5hdmlnYXRpb25PcCwgZXZlbnQ/LmRhdGE/LnRpdGxlKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5lbWIuTWVzc2FnZU9ic2VydmVyLnBpcGUoZmlsdGVyKGV2ID0+IGV2LmV2ZW50ID09IFwid2luZG93LW1lc3NhZ2VcIikpLnN1YnNjcmliZShldmVudCA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubm90aWZ5RGF0YUNoYW5nZWQoXCJ3aW5kb3ctbWVzc2FnZVwiLCBldmVudD8uZGF0YSk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHRoaXMuX2RhdGEucGlwZShmaWx0ZXIoZSA9PiAoZSBhcyBhbnkpLmV2ZW50ID09IFwibWVudS5pc0NvbGxhcHNlZFwiKSkuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmVtYi5yZWZyZXNoQm91bmRhcmllc09uTWVudUNvbGxhcHNlKClcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogVGVuYW50wqdBY2NvdW50wqdVc2VywqdBUFBOQU1FICovXHJcbiAgICBnZXRTZXNzaW9uSWRlbnRpdHkoKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAodGhpcy5TZXNzaW9uSWRlbnRpdHkpXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLlNlc3Npb25JZGVudGl0eTtcclxuXHJcbiAgICAgICAgLy8gU2Ugbm9uIGhvIHVuIGlkIG1pIG1hbmNhIGlsIGxvZ2luLCBxdWluZGkgdmlhIGRpIHF1YVxyXG4gICAgICAgIHZhciBpZCA9IHRoaXMuZ2V0SmFjZUlEZW50aXR5KCk7XHJcbiAgICAgICAgaWYgKCFpZCkge1xyXG4gICAgICAgICAgICBpZih0aGlzLmFub255bW91c01vZGUpXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJcIjtcclxuXHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImxvZ2luXCJdKTtcclxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLlNlc3Npb25JZGVudGl0eSA9IFwiXCIgKyBpZC5JZHRlbmFudCArIFwiwqdcIiArIGlkLklkQWNjb3VudCArIFwiwqdcIiArIGlkLklkVXNlciArIFwiwqdcIiArIG15Y29uZmlnLkFwcERhdGEuTW9kdWxlSWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuU2Vzc2lvbklkZW50aXR5O1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyTmF2aWdhdGlvbklmTWVhbmluZ2Z1bChyb3V0ZT86IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpIHtcclxuICAgICAgICBsZXQgdGl0bGUgPSByb3V0ZS5kYXRhW1widGl0bGVcIl07XHJcbiAgICAgICAgbGV0IGludGVybmFsID0gcm91dGUuZGF0YVtcImludGVybmFsTmF2aWdhdGlvblwiXVxyXG5cclxuICAgICAgICAvLyBQZXJtZXR0ZSBkaSBjaGlhbWFyZSBzdG8gcmVnaXN0ZXJOYXZpZ2F0aW9uIGEgcHJlc2NpbmRlcmUgZSBmYXJlIG9wdCBvdXQgc2Ugbm9uIMOoIHVuYSByb3V0ZSBuYXZpZ2FiaWxlXHJcbiAgICAgICAgaWYoIXRpdGxlKSByZXR1cm47XHJcblxyXG4gICAgICAgIC8qXHJcbiAgICAgICAgICogIFBhcmVudCAoe3VybDogW3twYXRoOiBcInttb2R1bGV9XCJ9XX0pXHJcbiAgICAgICAgICogICAgICBQYXJlbnQgKHt1cmw6IFt7cGF0aDogXCJcIn1dfSkgKFJvb3QgZGVsIG1vZHVsbyBsYXp5KVxyXG4gICAgICAgICAqICAgICAgICAgIC0+IE5hdmlnYXppb25lIGF0dHVhbGUgPC1cclxuICAgICAgICAgKi9cclxuICAgICAgICBsZXQgbW9kdWxlID0gcm91dGUucGFyZW50Py5wYXJlbnQ/LnVybFswXT8ucGF0aDtcclxuICAgICAgICBsZXQgbG9jID0gbW9kdWxlID8gdGhpcy5Nb2R1bGVzTG9jYWxpemF0aW9uc1ttb2R1bGVdIDogbnVsbDtcclxuXHJcbiAgICAgICAgaWYgKCFtb2R1bGUpXHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJJbXBvc3NpYmlsZSBlc3RyYXBvbGFyZSBpbCBtb2R1bG8gZGFsbGEgbmF2aWdhemlvbmUgKEF0dGVzbyBNb2R1bG8gYWwgc2Vjb25kbyBsaXZlbGxvIGRpIHBhcmVudGVsYSBwYXJ0ZW5kbyBkYWwgY29tcG9uZW50ZSBhdHR1YWxlKTogXCIgKyByb3V0ZS5wYXRoRnJvbVJvb3QubWFwKHYgPT4gdi51cmwubWFwKHNlZ21lbnQgPT4gc2VnbWVudC50b1N0cmluZygpKS5qb2luKCcvJykpLmpvaW4oJy8nKSk7XHJcblxyXG4gICAgICAgIHRoaXMubm90aWZ5RGF0YUNoYW5nZWQoaW50ZXJuYWwgPyBcIm1lbnUuYWRqdXN0U3ViTmF2aWdhdGlvblRvXCIgOiBcIm1lbnUuYWRqdXN0TmF2aWdhdGlvblRvXCIsIGxvYyA/IGxvYy5sb2ModGl0bGUpIDogdGl0bGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZUluYm91bmRNZXNzYWdlKHQ6IEludGVyQ29tTWVzc2FnZSkge1xyXG4gICAgICAgIHN3aXRjaCAodC50eXBlKSB7XHJcbiAgICAgICAgICAgIGNhc2UgSW5ib3VuZE1lc3NhZ2VUeXBlcy5OYXZpZ2F0aW9uOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5ub3RpZnlEYXRhQ2hhbmdlZCh0Lm1lc3NhZ2Uuc3ViID8gXCJtZW51LmFkanVzdFN1Yk5hdmlnYXRpb25Ub1wiIDogXCJtZW51LmFkanVzdE5hdmlnYXRpb25Ub1wiLCB0Lm1lc3NhZ2Uucm91dGVUaXRsZSk7XHJcbiAgICAgICAgICAgICAgICAvLyBleHBvcnQgY29uc3QgTUtfQURNID0gXCJFc0FkbWluTW9kdWxlXCI7XHJcbiAgICAgICAgICAgICAgICAvLyBBZG1NZXNzYWdlVHlwZXMuTWVzc2FnZSA9IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gZGVmaW5pdGEgaW4gYWRtaW4tbW9kdWxlLlxyXG4gICAgICAgICAgICAgICAgLy8gYWRtaW4tbW9kdWxlIHVzYSBjb3JlIHF1aW5kaSByZWZlcmVuemUgY2lyY29sYXJpIG5vLW5vLW5vXHJcbiAgICAgICAgICAgICAgICB0aGlzLmludGVyY29tLnNlbmQoMCwgXCJOYXZpZ2F0aW9uIE1lc3NhZ2UgUmVjZWl2ZWRcIiwgXCJFc0FkbWluTW9kdWxlXCIpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNldHVwRGF5anMoKSB7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKCg8YW55PmN1c3RvbVBhcnNlRm9ybWF0KS5kZWZhdWx0IHx8IGN1c3RvbVBhcnNlRm9ybWF0KTtcclxuICAgICAgICBkYXlqcy5leHRlbmQoKDxhbnk+bWluTWF4KS5kZWZhdWx0IHx8IG1pbk1heCk7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKCg8YW55PmlzQmV0d2VlbikuZGVmYXVsdCB8fCBpc0JldHdlZW4pO1xyXG4gICAgICAgIGRheWpzLmV4dGVuZCgoPGFueT5pc1NhbWVPckJlZm9yZSkuZGVmYXVsdCB8fCBpc1NhbWVPckJlZm9yZSk7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKCg8YW55PmlzU2FtZU9yQWZ0ZXIpLmRlZmF1bHQgfHwgaXNTYW1lT3JBZnRlcik7XHJcbiAgICAgICAgZGF5anMuZXh0ZW5kKCg8YW55PmR1cmF0aW9uKS5kZWZhdWx0IHx8IGR1cmF0aW9uKTtcclxuICAgICAgICBkYXlqcy5leHRlbmQoKDxhbnk+dXRjKS5kZWZhdWx0IHx8IHV0Yyk7XHJcblxyXG4gICAgICAgIC8vIFJlcXVpcmUgZSBjb2xsZWdhbWVudG8gY29uIGxhIGxvY2FsaXp6YXppb25lIHBlciBkYXlqc1xyXG4gICAgICAgIGltcG9ydChcImRheWpzL2xvY2FsZS9cIiArIHRoaXMubGMuU21hbGxMb2NhbGUgKyBcIi5qc1wiKS50aGVuKGxvY2FsZSA9PiB7IGRheWpzLmxvY2FsZShsb2NhbGUpOyB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzZXR1cFNpZ25hbFJKb2JMaXN0ZW5pbmcoKSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zLm9ic2VydmUodGhpcy5NZXNzYWdlRGVmLklOX0pvYlByb2dyZXNzTm90aWZpY2F0aW9uKS5zdWJzY3JpYmUoKGV2OiBKb2JQcm9ncmVzc0R0bykgPT4ge1xyXG5cclxuICAgICAgICAgICAgdmFyIGlkZW50aXR5ID0gdGhpcy5nZXRKYWNlSURlbnRpdHkoKTtcclxuICAgICAgICAgICAgaWYgKCFpZGVudGl0eSlcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgdmFyIGRlc2MgPSAoZXYuZGVzY3JpcHRpb24gfHwgZXYuYWN0aW9uaWQpICsgXCIgKFwiICsgKGV2LnVzZXIgfHwgaWRlbnRpdHkuRHNVc2VyKSArIFwiKVwiO1xyXG4gICAgICAgICAgICBsZXQgam9iOiBBcHBsaWNhdGlvbkpvYiA9IHtcclxuICAgICAgICAgICAgICAgIGlkOiBldi5pbnN0YW5jZSxcclxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBkZXNjLFxyXG4gICAgICAgICAgICAgICAgc21hbGxkZXNjcmlwdGlvbjogZGVzYy5sZW5ndGggPiAzNSA/IGRlc2Muc3Vic3RyaW5nKDAsIDMwKSArIFwiLi4uXCIgOiBkZXNjLFxyXG4gICAgICAgICAgICAgICAgcGVyY2VudGFnZTogdGhpcy5yb3VuZFRvVHdvKGV2LnByb2dyZXNzKSxcclxuICAgICAgICAgICAgICAgIGNvbXBsZXRlZDogZXYudHlwZSA9PSAnQ29tcGxldGVkJyxcclxuICAgICAgICAgICAgICAgIGZpbGVpZDogZXYucmVzdWx0ZmlsZSxcclxuICAgICAgICAgICAgICAgIHJlcG9ydGlkOiBldi5yZXN1bHRyZXBvcnQsXHJcbiAgICAgICAgICAgICAgICByZXBvcnRwYXJzOiBldi5yZXN1bHRyZXBvcnRwYXJhbXMsXHJcbiAgICAgICAgICAgICAgICBjb21wbGV4cmVwb3J0aWQ6IGV2LnJlc3VsdGNvbXBsZXhyZXBvcnRcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgIHN3aXRjaCAoZXYudHlwZSkge1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcIlN0YXJ0ZWRcIjpcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5qb2JXaXRoSWRzQ2FjaGVbZXYuaW5zdGFuY2VdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkpvYiBhbHJlYWR5IHJlZ2lzdGVyZWQgb24gdGhlICdTdGFydGVkJyBjYWxsYmFja1wiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmpvYldpdGhJZHNDYWNoZVtldi5pbnN0YW5jZV0gPSBqb2I7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGxKb2JzLnNwbGljZSgwLCAwLCBqb2IpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubm90aWZ5RGF0YUNoYW5nZWQoXCJhcHAuc3RhcnRlZEpvYlwiLCBqb2IuZGVzY3JpcHRpb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcIlByb2dyZXNzXCI6XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gU2UgbWkgYXJyaXZhIHVuIHByb2dyZXNzIGRpIHVuIGpvYiBjaGUgbm9uIGhvIHNpZ25pZmljYSBjaGUgbWkgc29ubyBsb2dnYXRvIG9yYSBjb24gZGVpIEpvYiBpbiBjb3Jzb1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHF1aW5kaSBwZXIgcHJpbWEgY29zYSBkZXZvIG1ldHRlcmxvIGluIGxpc3RhXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmpvYldpdGhJZHNDYWNoZVtldi5pbnN0YW5jZV0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5qb2JXaXRoSWRzQ2FjaGVbZXYuaW5zdGFuY2VdID0gam9iO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFsbEpvYnMuc3BsaWNlKDAsIDAsIGpvYik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuam9iV2l0aElkc0NhY2hlW2V2Lmluc3RhbmNlXS5wZXJjZW50YWdlID0gdGhpcy5yb3VuZFRvVHdvKGV2LnByb2dyZXNzKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmeURhdGFDaGFuZ2VkKFwiYXBwLnByb2dyZXNzSm9iXCIsIHsgZGVzY3JpcHRpb246IGpvYi5kZXNjcmlwdGlvbiwgcHJvZ3Jlc3M6IHRoaXMuam9iV2l0aElkc0NhY2hlW2V2Lmluc3RhbmNlXS5wZXJjZW50YWdlIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgY2FzZSBcIkNvbXBsZXRlZFwiOlxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5qb2JXaXRoSWRzQ2FjaGVbZXYuaW5zdGFuY2VdKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuam9iV2l0aElkc0NhY2hlW2V2Lmluc3RhbmNlXSA9IGpvYjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGxKb2JzLnNwbGljZSgwLCAwLCBqb2IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB2YXIgam9iVG9VcGRhdGUgPSB0aGlzLmpvYldpdGhJZHNDYWNoZVtldi5pbnN0YW5jZV07XHJcbiAgICAgICAgICAgICAgICAgICAgam9iVG9VcGRhdGUucGVyY2VudGFnZSA9IDEwMDtcclxuICAgICAgICAgICAgICAgICAgICBqb2JUb1VwZGF0ZS5maWxlaWQgPSBldi5yZXN1bHRmaWxlO1xyXG4gICAgICAgICAgICAgICAgICAgIGpvYlRvVXBkYXRlLnJlcG9ydGlkID0gZXYucmVzdWx0cmVwb3J0O1xyXG4gICAgICAgICAgICAgICAgICAgIGpvYlRvVXBkYXRlLnJlcG9ydHBhcnMgPSBldi5yZXN1bHRyZXBvcnRwYXJhbXM7XHJcbiAgICAgICAgICAgICAgICAgICAgam9iVG9VcGRhdGUuY29tcGxldGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubm90aWZ5T25Db21wbGV0ZWRKb2JzKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5vdGlmeURhdGFDaGFuZ2VkKFwiYXBwLmNvbXBsZXRlZEpvYlwiLCBqb2JUb1VwZGF0ZS5kZXNjcmlwdGlvbik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLmpvYnNJblByb2dyZXNzID0gdGhpcy5hbGxKb2JzLmZpbHRlcih0ID0+ICF0LmNvbXBsZXRlZCkubGVuZ3RoO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJvdW5kVG9Ud28obnVtKSB7XHJcbiAgICAgICAgcmV0dXJuIE1hdGgucm91bmQobnVtICogMTAwKSAvIDEwMDtcclxuICAgIH1cclxuXHJcbiAgICBnZXRKYWNlSURlbnRpdHkoKTogSmFjZUlkZW50aXR5IHtcclxuICAgICAgICBpZiAodGhpcy5KYWNlSWRlbnRpdHkpXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkphY2VJZGVudGl0eTtcclxuICAgICAgICB0aGlzLkphY2VJZGVudGl0eSA9IHRoaXMuYnRzLmdldEphY2VJZGVudGl0eSgpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLkphY2VJZGVudGl0eTtcclxuICAgIH1cclxuXHJcbiAgICBub3RpZnlEYXRhQ2hhbmdlZChldmVudCwgdmFsdWUpIHtcclxuICAgICAgICB0aGlzLl9kYXRhW2V2ZW50XSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuX2RhdGEubmV4dCh7XHJcbiAgICAgICAgICAgIGV2ZW50OiBldmVudCxcclxuICAgICAgICAgICAgZGF0YTogdGhpcy5fZGF0YVtldmVudF1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBzdWJzY3JpYmUoZXZlbnQ6IHN0cmluZywgY2FsbGJhY2s6IEZ1bmN0aW9uKSB7XHJcbiAgICAgICAgdmFyIHN1YnNjcmliZXJzID0gdGhpcy5fc3Vic2NyaXB0aW9ucy5nZXQoZXZlbnQpIHx8IFtdO1xyXG4gICAgICAgIHN1YnNjcmliZXJzLnB1c2goY2FsbGJhY2spO1xyXG5cclxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnNldChldmVudCwgc3Vic2NyaWJlcnMpO1xyXG4gICAgfVxyXG5cclxuICAgIF9vbkV2ZW50KGRhdGE6IGFueSkge1xyXG4gICAgICAgIHZhciBzdWJzY3JpYmVycyA9IHRoaXMuX3N1YnNjcmlwdGlvbnMuZ2V0KGRhdGFbXCJldmVudFwiXSkgfHwgW107XHJcblxyXG4gICAgICAgIHN1YnNjcmliZXJzLmZvckVhY2goKGNhbGxiYWNrKSA9PiB7XHJcbiAgICAgICAgICAgIGNhbGxiYWNrLmNhbGwobnVsbCwgZGF0YVtcImRhdGFcIl0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzZXRTaWRlYmFyV2lkdGgod2lkdGg6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuc2lkZWJhcldpZHRoID0gd2lkdGg7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHNldEhlYWRlckhlaWdodChoZWlnaHQ6IG51bWJlcikge1xyXG4gICAgICAgIHRoaXMuaGVhZGVySGVpZ2h0ID0gaGVpZ2h0O1xyXG4gICAgfVxyXG59Il19
|