@esfaenza/core 15.2.49 → 15.2.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/components/error/404/pagenotfound.component.d.ts +3 -3
  2. package/components/error/500/servererror.component.d.ts +3 -1
  3. package/components/error/Angular/angularerror.component.d.ts +4 -3
  4. package/directives/draggable/draggable.directive.d.ts +3 -3
  5. package/directives/es-modal/es-modal.directive.d.ts +3 -3
  6. package/directives/es-routerLink/es-routerLink.directive.d.ts +3 -3
  7. package/esm2020/components/back-top/back-top.component.mjs +4 -4
  8. package/esm2020/components/base/base.component.mjs +7 -5
  9. package/esm2020/components/base/reactive.component.mjs +4 -4
  10. package/esm2020/components/breadcrumb/breadcrumb.component.mjs +4 -4
  11. package/esm2020/components/components.module.mjs +5 -5
  12. package/esm2020/components/error/404/pagenotfound.component.mjs +10 -10
  13. package/esm2020/components/error/500/servererror.component.mjs +11 -9
  14. package/esm2020/components/error/Angular/angularerror.component.mjs +10 -9
  15. package/esm2020/components/es-modal/es-modal-head/es-modal-head.component.mjs +4 -4
  16. package/esm2020/components/es-modal/es-modal.component.mjs +4 -4
  17. package/esm2020/components/external-page/external_pages.component.mjs +4 -4
  18. package/esm2020/components/jace-login/jace-login.component.mjs +4 -4
  19. package/esm2020/components/jace-resource/jace-resource.component.mjs +4 -4
  20. package/esm2020/components/navbar/modules-board/jace-modules-board.component.mjs +4 -4
  21. package/esm2020/components/navbar/navbar.component.loc.mjs +4 -4
  22. package/esm2020/components/navbar/navbar.component.mjs +4 -4
  23. package/esm2020/components/page/pages.component.mjs +4 -4
  24. package/esm2020/components/redirecter/redirecter.component.mjs +4 -4
  25. package/esm2020/components/sidebar/sidebar.component.mjs +4 -4
  26. package/esm2020/directives/componentHost/componentHost.directive.mjs +4 -4
  27. package/esm2020/directives/directives.module.mjs +5 -5
  28. package/esm2020/directives/draggable/draggable.directive.mjs +9 -9
  29. package/esm2020/directives/es-modal/es-modal.directive.mjs +13 -13
  30. package/esm2020/directives/es-routerLink/es-routerLink.directive.mjs +9 -9
  31. package/esm2020/directives/slim-scroll/slim-scroll.directive.mjs +4 -4
  32. package/esm2020/directives/widget/widget.directive.mjs +4 -4
  33. package/esm2020/lib/app.component.mjs +5 -5
  34. package/esm2020/lib/core.module.mjs +5 -5
  35. package/esm2020/modules/classes/_shared.module.mjs +5 -5
  36. package/esm2020/modules/classes/t_c.module.mjs +5 -5
  37. package/esm2020/pipes/classes/included_in.pipe.mjs +4 -4
  38. package/esm2020/pipes/classes/safe_html.pipe.mjs +4 -4
  39. package/esm2020/pipes/classes/safe_script.pipe.mjs +4 -4
  40. package/esm2020/pipes/classes/safe_style.pipe.mjs +4 -4
  41. package/esm2020/pipes/classes/safe_url.pipe.mjs +4 -4
  42. package/esm2020/pipes/pipes.module.mjs +5 -5
  43. package/esm2020/services/classes/app.accesstoken.mjs +4 -4
  44. package/esm2020/services/classes/app.completedjobredirection.mjs +4 -4
  45. package/esm2020/services/classes/app.errorhandler.mjs +4 -4
  46. package/esm2020/services/classes/app.event.mjs +4 -4
  47. package/esm2020/services/classes/app.globalsearch.mjs +4 -4
  48. package/esm2020/services/classes/app.httpextensions.loc.mjs +4 -4
  49. package/esm2020/services/classes/app.httpextensions.mjs +4 -4
  50. package/esm2020/services/classes/app.menufilter.mjs +4 -4
  51. package/esm2020/services/classes/app.routeguard.mjs +4 -4
  52. package/esm2020/services/classes/app.session.mjs +4 -4
  53. package/esm2020/services/classes/app.state.mjs +31 -19
  54. package/esm2020/services/classes/preferences/app.cache.persistor.mjs +4 -4
  55. package/esm2020/services/classes/preferences/app.preference.persistor.mjs +4 -4
  56. package/fesm2015/esfaenza-core-components.mjs +95 -92
  57. package/fesm2015/esfaenza-core-components.mjs.map +1 -1
  58. package/fesm2015/esfaenza-core-directives.mjs +39 -39
  59. package/fesm2015/esfaenza-core-directives.mjs.map +1 -1
  60. package/fesm2015/esfaenza-core-modules.mjs +8 -8
  61. package/fesm2015/esfaenza-core-modules.mjs.map +1 -1
  62. package/fesm2015/esfaenza-core-pipes.mjs +19 -19
  63. package/fesm2015/esfaenza-core-pipes.mjs.map +1 -1
  64. package/fesm2015/esfaenza-core-services.mjs +74 -62
  65. package/fesm2015/esfaenza-core-services.mjs.map +1 -1
  66. package/fesm2015/esfaenza-core.mjs +8 -8
  67. package/fesm2015/esfaenza-core.mjs.map +1 -1
  68. package/fesm2020/esfaenza-core-components.mjs +95 -92
  69. package/fesm2020/esfaenza-core-components.mjs.map +1 -1
  70. package/fesm2020/esfaenza-core-directives.mjs +39 -39
  71. package/fesm2020/esfaenza-core-directives.mjs.map +1 -1
  72. package/fesm2020/esfaenza-core-modules.mjs +8 -8
  73. package/fesm2020/esfaenza-core-modules.mjs.map +1 -1
  74. package/fesm2020/esfaenza-core-pipes.mjs +19 -19
  75. package/fesm2020/esfaenza-core-pipes.mjs.map +1 -1
  76. package/fesm2020/esfaenza-core-services.mjs +66 -54
  77. package/fesm2020/esfaenza-core-services.mjs.map +1 -1
  78. package/fesm2020/esfaenza-core.mjs +8 -8
  79. package/fesm2020/esfaenza-core.mjs.map +1 -1
  80. package/package.json +2 -2
  81. package/services/classes/app.state.d.ts +5 -5
@@ -1,20 +1,21 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, ViewEncapsulation, Input, ViewChild, HostListener, ChangeDetectionStrategy, Optional, Inject, Injectable, EventEmitter, Output, NgModule } from '@angular/core';
3
- import * as i2$1 from '@angular/common';
3
+ import * as i2 from '@angular/common';
4
4
  import { NgFor, NgIf, NgClass, NgTemplateOutlet, CommonModule } from '@angular/common';
5
- import * as i2 from '@esfaenza/core/services';
5
+ import * as i1 from '@esfaenza/core/services';
6
6
  import { AppState } from '@esfaenza/core/services';
7
- import * as i1 from '@angular/router';
7
+ import * as i1$1 from '@angular/router';
8
8
  import { NavigationEnd, RouterLinkActive, RouterLink, RouterOutlet, ActivatedRoute, Router, RouterModule } from '@angular/router';
9
9
  import * as i3 from '@angular/platform-browser';
10
- import * as i2$2 from '@esfaenza/httpservice';
10
+ import * as i4 from '@esfaenza/extensions';
11
+ import { AppEmbeddingExtensions } from '@esfaenza/extensions';
12
+ import * as i2$1 from '@esfaenza/httpservice';
11
13
  import { __awaiter } from 'tslib';
12
- import * as i1$1 from '@esfaenza/localizations';
14
+ import * as i1$2 from '@esfaenza/localizations';
13
15
  import { LocalizationModule, LocalizationService } from '@esfaenza/localizations';
14
16
  import { MENU_LOCALIZATION, MENU, CategoriesWithModules, NAVBAR_EXTENSIONS, REDIRECT_MAP, EMBEDDED_ROUTE, ROUTE } from '@esfaenza/core/domain';
15
17
  import { SlimScroll, ComponentHostDirective, EsModalDirective, Draggable, DirectivesModule } from '@esfaenza/core/directives';
16
18
  import { firstValueFrom, ReplaySubject, interval, startWith, takeUntil, takeWhile } from 'rxjs';
17
- import * as i4 from '@esfaenza/extensions';
18
19
  import * as i5 from '@esfaenza/access-control';
19
20
  import * as i10 from '@angular/material/slide-toggle';
20
21
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
@@ -26,7 +27,7 @@ import * as i11 from 'ngx-bootstrap/progressbar';
26
27
  import { ProgressbarModule } from 'ngx-bootstrap/progressbar';
27
28
  import * as i9 from 'ngx-bootstrap/dropdown';
28
29
  import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
29
- import * as i1$2 from '@esfaenza/preferences';
30
+ import * as i1$3 from '@esfaenza/preferences';
30
31
  import * as i3$1 from '@esfaenza/signalr-notifications';
31
32
  import { takeUntil as takeUntil$1 } from 'rxjs/operators';
32
33
  import { ModalModule } from 'ngx-bootstrap/modal';
@@ -50,9 +51,9 @@ class BackTop {
50
51
  window.scrollY > this.position ? $(el).fadeIn(this.showSpeed) : $(el).fadeOut(this.showSpeed);
51
52
  }
52
53
  }
53
- BackTop.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BackTop, deps: [], target: i0.ɵɵFactoryTarget.Component });
54
- BackTop.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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: [".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:#fff;background-color:#242d3abf;border-radius:50%;line-height:34px}.back-to-top:hover{opacity:.8}\n"], encapsulation: i0.ViewEncapsulation.None });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BackTop, decorators: [{
54
+ BackTop.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BackTop, deps: [], target: i0.ɵɵFactoryTarget.Component });
55
+ 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: [".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:#fff;background-color:#242d3abf;border-radius:50%;line-height:34px}.back-to-top:hover{opacity:.8}\n"], encapsulation: i0.ViewEncapsulation.None });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BackTop, decorators: [{
56
57
  type: Component,
57
58
  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: [".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:#fff;background-color:#242d3abf;border-radius:50%;line-height:34px}.back-to-top:hover{opacity:.8}\n"] }]
58
59
  }], propDecorators: { position: [{
@@ -119,18 +120,18 @@ class Breadcrumb {
119
120
  }
120
121
  }
121
122
  }
122
- Breadcrumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Breadcrumb, deps: [{ token: i2.AppState }, { token: i1.ActivatedRoute }, { token: i3.Title }], target: i0.ɵɵFactoryTarget.Component });
123
- Breadcrumb.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: Breadcrumb, isStandalone: true, selector: "breadcrumb", ngImport: i0, template: "<div class=\"clearfix\">\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item fa fa-home m-t-3\"></li>\r\n <li class=\"breadcrumb-item active text-uppercase\">{{ activePageTitle }}</li>\r\n <li class=\"breadcrumb-item active text-uppercase e2eLeafPage\" *ngFor=\"let link of subActiveLinks\">{{ link }}</li>\r\n </ol>\r\n</div>", styles: [".breadcrumb{padding:0;background:transparent;color:#242424;font-size:14px;margin-bottom:15px}.breadcrumb-item+.breadcrumb-item:before{color:#242424;content:\">\"}.breadcrumb-item{float:left}.breadcrumb-item.active{color:#242424;font-weight:700}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], encapsulation: i0.ViewEncapsulation.None });
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Breadcrumb, decorators: [{
123
+ Breadcrumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Breadcrumb, deps: [{ token: i1.AppState }, { token: i1$1.ActivatedRoute }, { token: i3.Title }], target: i0.ɵɵFactoryTarget.Component });
124
+ Breadcrumb.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: Breadcrumb, isStandalone: true, selector: "breadcrumb", ngImport: i0, template: "<div class=\"clearfix\">\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item fa fa-home m-t-3\"></li>\r\n <li class=\"breadcrumb-item active text-uppercase\">{{ activePageTitle }}</li>\r\n <li class=\"breadcrumb-item active text-uppercase e2eLeafPage\" *ngFor=\"let link of subActiveLinks\">{{ link }}</li>\r\n </ol>\r\n</div>", styles: [".breadcrumb{padding:0;background:transparent;color:#242424;font-size:14px;margin-bottom:15px}.breadcrumb-item+.breadcrumb-item:before{color:#242424;content:\">\"}.breadcrumb-item{float:left}.breadcrumb-item.active{color:#242424;font-weight:700}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], encapsulation: i0.ViewEncapsulation.None });
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Breadcrumb, decorators: [{
125
126
  type: Component,
126
127
  args: [{ selector: "breadcrumb", encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgFor], template: "<div class=\"clearfix\">\r\n <ol class=\"breadcrumb\">\r\n <li class=\"breadcrumb-item fa fa-home m-t-3\"></li>\r\n <li class=\"breadcrumb-item active text-uppercase\">{{ activePageTitle }}</li>\r\n <li class=\"breadcrumb-item active text-uppercase e2eLeafPage\" *ngFor=\"let link of subActiveLinks\">{{ link }}</li>\r\n </ol>\r\n</div>", styles: [".breadcrumb{padding:0;background:transparent;color:#242424;font-size:14px;margin-bottom:15px}.breadcrumb-item+.breadcrumb-item:before{color:#242424;content:\">\"}.breadcrumb-item{float:left}.breadcrumb-item.active{color:#242424;font-weight:700}\n"] }]
127
- }], ctorParameters: function () { return [{ type: i2.AppState }, { type: i1.ActivatedRoute }, { type: i3.Title }]; } });
128
+ }], ctorParameters: function () { return [{ type: i1.AppState }, { type: i1$1.ActivatedRoute }, { type: i3.Title }]; } });
128
129
 
129
130
  // Angular
130
131
  class PageNotFoundComponent {
131
- constructor(router, _location, as) {
132
+ constructor(router, _location, emb) {
132
133
  this._location = _location;
133
- this.as = as;
134
+ this.emb = emb;
134
135
  this.router = router;
135
136
  }
136
137
  goPreviousPage() {
@@ -138,24 +139,25 @@ class PageNotFoundComponent {
138
139
  }
139
140
  goDashboard() {
140
141
  let url = `/pages/dashboard`;
141
- if (this.as.Embedded)
142
- this.as.MainWindow.postMessage({ type: "navigate", url }, "*");
142
+ if (this.emb.Embedded)
143
+ this.emb.MainWindow.postMessage({ type: "navigate", url }, "*");
143
144
  else
144
145
  this.router.navigate([url]);
145
146
  }
146
147
  }
147
- PageNotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PageNotFoundComponent, deps: [{ token: i1.Router }, { token: i2$1.Location }, { token: i2.AppState }], target: i0.ɵɵFactoryTarget.Component });
148
- PageNotFoundComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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 &egrave; 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 });
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PageNotFoundComponent, decorators: [{
148
+ PageNotFoundComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PageNotFoundComponent, deps: [{ token: i1$1.Router }, { token: i2.Location }, { token: i4.AppEmbeddingExtensions }], target: i0.ɵɵFactoryTarget.Component });
149
+ 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 &egrave; 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 });
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PageNotFoundComponent, decorators: [{
150
151
  type: Component,
151
152
  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 &egrave; 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>" }]
152
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2$1.Location }, { type: i2.AppState }]; } });
153
+ }], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i2.Location }, { type: i4.AppEmbeddingExtensions }]; } });
153
154
 
154
155
  // Angular
155
156
  class ServerErrorComponent {
156
- constructor(router, route, as) {
157
+ constructor(router, route, emb, as) {
157
158
  this.router = router;
158
159
  this.route = route;
160
+ this.emb = emb;
159
161
  this.as = as;
160
162
  this.statusCode = this.route.snapshot.params["statusCode"];
161
163
  this.statusText = this.b64DecodeUnicode(this.route.snapshot.params["statusText"]);
@@ -172,27 +174,27 @@ class ServerErrorComponent {
172
174
  }
173
175
  goDashboard() {
174
176
  let url = `/pages/dashboard`;
175
- if (this.as.Embedded)
176
- this.as.MainWindow.postMessage({ type: "navigate", url }, "*");
177
+ if (this.emb.Embedded)
178
+ this.emb.MainWindow.postMessage({ type: "navigate", url }, "*");
177
179
  else
178
180
  this.router.navigate([url]);
179
181
  }
180
182
  }
181
- ServerErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ServerErrorComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.AppState }], target: i0.ɵɵFactoryTarget.Component });
182
- ServerErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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\">&nbsp;&nbsp;&nbsp;</h1>\r\n <h1 class=\"display-1\" *ngIf=\"statusCode\">{{statusCode}}</h1>\r\n <h6 class=\"card-title\" *ngIf=\"!statusText\">&nbsp;&nbsp;&nbsp;</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 });
183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ServerErrorComponent, decorators: [{
183
+ ServerErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServerErrorComponent, deps: [{ token: i1$1.Router }, { token: i1$1.ActivatedRoute }, { token: i4.AppEmbeddingExtensions }, { token: i1.AppState }], target: i0.ɵɵFactoryTarget.Component });
184
+ 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\">&nbsp;&nbsp;&nbsp;</h1>\r\n <h1 class=\"display-1\" *ngIf=\"statusCode\">{{statusCode}}</h1>\r\n <h6 class=\"card-title\" *ngIf=\"!statusText\">&nbsp;&nbsp;&nbsp;</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 });
185
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ServerErrorComponent, decorators: [{
184
186
  type: Component,
185
187
  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\">&nbsp;&nbsp;&nbsp;</h1>\r\n <h1 class=\"display-1\" *ngIf=\"statusCode\">{{statusCode}}</h1>\r\n <h6 class=\"card-title\" *ngIf=\"!statusText\">&nbsp;&nbsp;&nbsp;</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>" }]
186
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.AppState }]; } });
188
+ }], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i1$1.ActivatedRoute }, { type: i4.AppEmbeddingExtensions }, { type: i1.AppState }]; } });
187
189
 
188
190
  // Angular
189
191
  class AngularErrorComponent {
190
- constructor(router, route, http, bts, as) {
192
+ constructor(router, route, http, bts, emb) {
191
193
  this.router = router;
192
194
  this.route = route;
193
195
  this.http = http;
194
196
  this.bts = bts;
195
- this.as = as;
197
+ this.emb = emb;
196
198
  let identity = this.bts.getJaceIdentity();
197
199
  this.previousUrl = this.route.snapshot.params["fromUrl"];
198
200
  let calls = (this.http.LastThreeCompletedCalls[0] || "<empty>") + ", " + (this.http.LastThreeCompletedCalls[1] || "<empty>") + ", " + (this.http.LastThreeCompletedCalls[2] || "<empty>");
@@ -221,18 +223,18 @@ class AngularErrorComponent {
221
223
  }
222
224
  goDashboard() {
223
225
  let url = `/pages/dashboard`;
224
- if (this.as.Embedded)
225
- this.as.MainWindow.postMessage({ type: "navigate", url }, "*");
226
+ if (this.emb.Embedded)
227
+ this.emb.MainWindow.postMessage({ type: "navigate", url }, "*");
226
228
  else
227
229
  this.router.navigate([url]);
228
230
  }
229
231
  }
230
- AngularErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AngularErrorComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2$2.HTTPService }, { token: i2.TokenService }, { token: i2.AppState }], target: i0.ɵɵFactoryTarget.Component });
231
- AngularErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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 &egrave; andato storto.</h1>\r\n <h6>\r\n <small>\r\n Si &egrave; 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 });
232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AngularErrorComponent, decorators: [{
232
+ AngularErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AngularErrorComponent, deps: [{ token: i1$1.Router }, { token: i1$1.ActivatedRoute }, { token: i2$1.HTTPService }, { token: i1.TokenService }, { token: i4.AppEmbeddingExtensions }], target: i0.ɵɵFactoryTarget.Component });
233
+ 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 &egrave; andato storto.</h1>\r\n <h6>\r\n <small>\r\n Si &egrave; 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 });
234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AngularErrorComponent, decorators: [{
233
235
  type: Component,
234
236
  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 &egrave; andato storto.</h1>\r\n <h6>\r\n <small>\r\n Si &egrave; 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>" }]
235
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2$2.HTTPService }, { type: i2.TokenService }, { type: i2.AppState }]; } });
237
+ }], ctorParameters: function () { return [{ type: i1$1.Router }, { type: i1$1.ActivatedRoute }, { type: i2$1.HTTPService }, { type: i1.TokenService }, { type: i4.AppEmbeddingExtensions }]; } });
236
238
 
237
239
  class Sidebar {
238
240
  constructor(lc, lcMenu, cdr, _elementRef, _router, _state, zone, utiExts, aac, menuItemsRaw, menuFilteringService) {
@@ -408,21 +410,21 @@ class Sidebar {
408
410
  }
409
411
  }
410
412
  }
411
- Sidebar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Sidebar, deps: [{ token: i1$1.LocalizationService }, { token: MENU_LOCALIZATION, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.Router }, { token: i2.AppState }, { token: i0.NgZone }, { token: i4.UtilityService }, { token: i5.AccessControlService }, { token: MENU }, { token: i2.MenuFilteringService }], target: i0.ɵɵFactoryTarget.Component });
412
- Sidebar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: Sidebar, isStandalone: true, selector: "sidebar", host: { listeners: { "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "sidebar", first: true, predicate: ["sidebar"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"app-sidebar\" #sidebar [ngClass]=\"{'menu-collapsed': isMenuCollapsed}\" (mouseleave.out-zone)=\"sendAwayHoverElement();\">\r\n <ul class=\"nav nav-sidebar flex-column flex-nowrap\" slim-scroll [slimScrollOptions]=\"{height: menuHeight}\" style=\"position:relative; zoom:1\">\r\n\r\n <li *ngFor=\"let item of menuItems\" class=\"sidebar-list-item level-{{item.level}}\" [ngClass]=\"{'has-sub-menu': item.subMenu, 'sidebar-item-expanded': item.expanded}\" [class.sidebar-item-wip]=\"item.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: item}\"></ng-container>\r\n </li>\r\n </ul>\r\n\r\n <div class=\"sidebar-hover-elem\"></div>\r\n</div>\r\n\r\n<ng-template #menuItem let-item>\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"(!item.routerLink && !item.subMenu) || item.wip\" [href]=\"item.link ? item.link : '#'\" (click)=\"item.wip && $event.preventDefault()\" target=\"_blank\" class=\"sidebar-list-link {{item.cssClass || ''}}\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n </a>\r\n\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"item.routerLink && !item.subMenu && !item.wip\" class=\"sidebar-list-link {{item.cssClass || ''}}\" [routerLink]=\"[item.routerLink]\" [queryParams]=\"item.queryParams\" routerLinkActive=\"active-link\" (click.out-zone)=\"collapseMenu($event, item)\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n </a>\r\n\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"item.subMenu && !item.wip\" (click.out-zone)=\"collapseMenu($event, item)\" [attr.href]=\"''\" class=\"sidebar-list-link {{item.cssClass || ''}}\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n <b class=\"fa fa-angle-down\"></b>\r\n </a>\r\n\r\n <ul *ngIf=\"item.subMenu\" class=\"sidebar-sublist\">\r\n <li *ngFor=\"let subitem of item.subMenu\" class=\"sidebar-sublist-item level-{{subitem.level}}\" [class.sidebar-item-wip]=\"subitem.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: subitem}\"></ng-container>\r\n </li>\r\n </ul>\r\n</ng-template>", styles: [".app-sidebar{background:#344154;height:100%;min-height:100%;position:fixed;width:230px;overflow:hidden;display:block;z-index:9;margin-top:60px}.app-sidebar.menu-collapsed{width:50px}.app-sidebar.menu-collapsed a.sidebar-list-link b{display:none}.app-sidebar.menu-collapsed .sidebar-sublist{position:absolute;top:-1px;left:52px;width:0;display:block;overflow:hidden}.sidebar-list-item{display:block;position:relative;float:none;padding:0;border-bottom:1px solid rgba(36,45,58,.5);box-shadow:0 1px #ffffff1a}.sidebar-item-wip{cursor:default}.sidebar-item-wip a{color:#999!important}a.sidebar-list-link{display:block;height:42px;padding-left:18px!important;padding-top:0!important;text-shadow:none;font-size:13px;letter-spacing:.02em;text-decoration:none;color:#fff;line-height:42px;white-space:nowrap;overflow:hidden;cursor:pointer;transition:all .2s ease}a.sidebar-list-link i{margin-right:16px;width:16px;display:inline-block}a.sidebar-list-link b{display:block;opacity:1;width:14px;height:14px;line-height:14px;text-shadow:none;font-size:18px;position:absolute;right:10px;top:14px;padding:0;text-align:center;color:#fff;transition:transform .2s linear}a.sidebar-list-link:hover{background-color:#242d3a}.sidebar-list-item.sidebar-item-expanded>.sidebar-list-link b,.sidebar-sublist-item.sidebar-item-expanded>.sidebar-list-link b{transform:rotate(180deg)}.sidebar-sublist{display:none;padding:0;list-style:none;position:relative;background-color:#242d3a80}.sidebar-sublist li{display:block;float:none;padding:0;border-bottom:none;position:relative;border-bottom:1px solid rgba(36,45,58,.7)}.sidebar-sublist li:last-child{border-bottom:none}.sidebar-sublist li a{display:block;text-shadow:none;font-size:13px;text-decoration:none;color:#fff;padding-left:40px!important;height:42px;line-height:42px}.sidebar-sublist li a:before{font-family:FontAwesome;content:\"\\f1db\";margin-right:10px;font-size:10px}.sidebar-sublist li a:hover{background-color:#242d3a}.sidebar-sublist .subitem-submenu-list li{border-top:1px solid rgba(36,45,58,.7)}.sidebar-item-expanded>ul.sidebar-sublist{display:block;background-color:#242d3a80}.subitem-submenu-link .fa{top:14px}.sidebar-hover-elem{width:4px;background:#637CA0;position:absolute;top:-150px;left:226px;transition:all .2s ease;transition-property:top,height;height:36px;display:block}.sidebar.menu-collapsed .sidebar-hover-elem{left:46px}.active-link{background-color:#637ca0}@media (max-width: 544px){.sidebar.menu-collapsed{width:0}.sidebar-hover-elem,.sidebar-select-elem{display:none}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: SlimScroll, selector: "[slim-scroll]", inputs: ["slimScrollOptions"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1$1.LocalizePipe, name: "localize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
413
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Sidebar, decorators: [{
413
+ Sidebar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Sidebar, deps: [{ token: i1$2.LocalizationService }, { token: MENU_LOCALIZATION, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1$1.Router }, { token: i1.AppState }, { token: i0.NgZone }, { token: i4.UtilityService }, { token: i5.AccessControlService }, { token: MENU }, { token: i1.MenuFilteringService }], target: i0.ɵɵFactoryTarget.Component });
414
+ Sidebar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: Sidebar, isStandalone: true, selector: "sidebar", host: { listeners: { "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "sidebar", first: true, predicate: ["sidebar"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"app-sidebar\" #sidebar [ngClass]=\"{'menu-collapsed': isMenuCollapsed}\" (mouseleave.out-zone)=\"sendAwayHoverElement();\">\r\n <ul class=\"nav nav-sidebar flex-column flex-nowrap\" slim-scroll [slimScrollOptions]=\"{height: menuHeight}\" style=\"position:relative; zoom:1\">\r\n\r\n <li *ngFor=\"let item of menuItems\" class=\"sidebar-list-item level-{{item.level}}\" [ngClass]=\"{'has-sub-menu': item.subMenu, 'sidebar-item-expanded': item.expanded}\" [class.sidebar-item-wip]=\"item.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: item}\"></ng-container>\r\n </li>\r\n </ul>\r\n\r\n <div class=\"sidebar-hover-elem\"></div>\r\n</div>\r\n\r\n<ng-template #menuItem let-item>\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"(!item.routerLink && !item.subMenu) || item.wip\" [href]=\"item.link ? item.link : '#'\" (click)=\"item.wip && $event.preventDefault()\" target=\"_blank\" class=\"sidebar-list-link {{item.cssClass || ''}}\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n </a>\r\n\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"item.routerLink && !item.subMenu && !item.wip\" class=\"sidebar-list-link {{item.cssClass || ''}}\" [routerLink]=\"[item.routerLink]\" [queryParams]=\"item.queryParams\" routerLinkActive=\"active-link\" (click.out-zone)=\"collapseMenu($event, item)\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n </a>\r\n\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"item.subMenu && !item.wip\" (click.out-zone)=\"collapseMenu($event, item)\" [attr.href]=\"''\" class=\"sidebar-list-link {{item.cssClass || ''}}\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n <b class=\"fa fa-angle-down\"></b>\r\n </a>\r\n\r\n <ul *ngIf=\"item.subMenu\" class=\"sidebar-sublist\">\r\n <li *ngFor=\"let subitem of item.subMenu\" class=\"sidebar-sublist-item level-{{subitem.level}}\" [class.sidebar-item-wip]=\"subitem.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: subitem}\"></ng-container>\r\n </li>\r\n </ul>\r\n</ng-template>", styles: [".app-sidebar{background:#344154;height:100%;min-height:100%;position:fixed;width:230px;overflow:hidden;display:block;z-index:9;margin-top:60px}.app-sidebar.menu-collapsed{width:50px}.app-sidebar.menu-collapsed a.sidebar-list-link b{display:none}.app-sidebar.menu-collapsed .sidebar-sublist{position:absolute;top:-1px;left:52px;width:0;display:block;overflow:hidden}.sidebar-list-item{display:block;position:relative;float:none;padding:0;border-bottom:1px solid rgba(36,45,58,.5);box-shadow:0 1px #ffffff1a}.sidebar-item-wip{cursor:default}.sidebar-item-wip a{color:#999!important}a.sidebar-list-link{display:block;height:42px;padding-left:18px!important;padding-top:0!important;text-shadow:none;font-size:13px;letter-spacing:.02em;text-decoration:none;color:#fff;line-height:42px;white-space:nowrap;overflow:hidden;cursor:pointer;transition:all .2s ease}a.sidebar-list-link i{margin-right:16px;width:16px;display:inline-block}a.sidebar-list-link b{display:block;opacity:1;width:14px;height:14px;line-height:14px;text-shadow:none;font-size:18px;position:absolute;right:10px;top:14px;padding:0;text-align:center;color:#fff;transition:transform .2s linear}a.sidebar-list-link:hover{background-color:#242d3a}.sidebar-list-item.sidebar-item-expanded>.sidebar-list-link b,.sidebar-sublist-item.sidebar-item-expanded>.sidebar-list-link b{transform:rotate(180deg)}.sidebar-sublist{display:none;padding:0;list-style:none;position:relative;background-color:#242d3a80}.sidebar-sublist li{display:block;float:none;padding:0;border-bottom:none;position:relative;border-bottom:1px solid rgba(36,45,58,.7)}.sidebar-sublist li:last-child{border-bottom:none}.sidebar-sublist li a{display:block;text-shadow:none;font-size:13px;text-decoration:none;color:#fff;padding-left:40px!important;height:42px;line-height:42px}.sidebar-sublist li a:before{font-family:FontAwesome;content:\"\\f1db\";margin-right:10px;font-size:10px}.sidebar-sublist li a:hover{background-color:#242d3a}.sidebar-sublist .subitem-submenu-list li{border-top:1px solid rgba(36,45,58,.7)}.sidebar-item-expanded>ul.sidebar-sublist{display:block;background-color:#242d3a80}.subitem-submenu-link .fa{top:14px}.sidebar-hover-elem{width:4px;background:#637CA0;position:absolute;top:-150px;left:226px;transition:all .2s ease;transition-property:top,height;height:36px;display:block}.sidebar.menu-collapsed .sidebar-hover-elem{left:46px}.active-link{background-color:#637ca0}@media (max-width: 544px){.sidebar.menu-collapsed{width:0}.sidebar-hover-elem,.sidebar-select-elem{display:none}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: SlimScroll, selector: "[slim-scroll]", inputs: ["slimScrollOptions"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1$2.LocalizePipe, name: "localize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
415
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Sidebar, decorators: [{
414
416
  type: Component,
415
417
  args: [{ selector: "sidebar", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass, SlimScroll, NgFor, NgTemplateOutlet, NgIf, RouterLinkActive, RouterLink, LocalizationModule], template: "<div class=\"app-sidebar\" #sidebar [ngClass]=\"{'menu-collapsed': isMenuCollapsed}\" (mouseleave.out-zone)=\"sendAwayHoverElement();\">\r\n <ul class=\"nav nav-sidebar flex-column flex-nowrap\" slim-scroll [slimScrollOptions]=\"{height: menuHeight}\" style=\"position:relative; zoom:1\">\r\n\r\n <li *ngFor=\"let item of menuItems\" class=\"sidebar-list-item level-{{item.level}}\" [ngClass]=\"{'has-sub-menu': item.subMenu, 'sidebar-item-expanded': item.expanded}\" [class.sidebar-item-wip]=\"item.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: item}\"></ng-container>\r\n </li>\r\n </ul>\r\n\r\n <div class=\"sidebar-hover-elem\"></div>\r\n</div>\r\n\r\n<ng-template #menuItem let-item>\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"(!item.routerLink && !item.subMenu) || item.wip\" [href]=\"item.link ? item.link : '#'\" (click)=\"item.wip && $event.preventDefault()\" target=\"_blank\" class=\"sidebar-list-link {{item.cssClass || ''}}\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n </a>\r\n\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"item.routerLink && !item.subMenu && !item.wip\" class=\"sidebar-list-link {{item.cssClass || ''}}\" [routerLink]=\"[item.routerLink]\" [queryParams]=\"item.queryParams\" routerLinkActive=\"active-link\" (click.out-zone)=\"collapseMenu($event, item)\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n </a>\r\n\r\n <a [attr.style.padding_left]=\"item.padding_left\" *ngIf=\"item.subMenu && !item.wip\" (click.out-zone)=\"collapseMenu($event, item)\" [attr.href]=\"''\" class=\"sidebar-list-link {{item.cssClass || ''}}\" (mouseenter.out-zone)=\"hoverItem($event)\">\r\n <i *ngIf=\"item.icon\" class=\"{{ item.icon }}\"></i><span>{{ item.title | localize : lc }}</span>\r\n <b class=\"fa fa-angle-down\"></b>\r\n </a>\r\n\r\n <ul *ngIf=\"item.subMenu\" class=\"sidebar-sublist\">\r\n <li *ngFor=\"let subitem of item.subMenu\" class=\"sidebar-sublist-item level-{{subitem.level}}\" [class.sidebar-item-wip]=\"subitem.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: subitem}\"></ng-container>\r\n </li>\r\n </ul>\r\n</ng-template>", styles: [".app-sidebar{background:#344154;height:100%;min-height:100%;position:fixed;width:230px;overflow:hidden;display:block;z-index:9;margin-top:60px}.app-sidebar.menu-collapsed{width:50px}.app-sidebar.menu-collapsed a.sidebar-list-link b{display:none}.app-sidebar.menu-collapsed .sidebar-sublist{position:absolute;top:-1px;left:52px;width:0;display:block;overflow:hidden}.sidebar-list-item{display:block;position:relative;float:none;padding:0;border-bottom:1px solid rgba(36,45,58,.5);box-shadow:0 1px #ffffff1a}.sidebar-item-wip{cursor:default}.sidebar-item-wip a{color:#999!important}a.sidebar-list-link{display:block;height:42px;padding-left:18px!important;padding-top:0!important;text-shadow:none;font-size:13px;letter-spacing:.02em;text-decoration:none;color:#fff;line-height:42px;white-space:nowrap;overflow:hidden;cursor:pointer;transition:all .2s ease}a.sidebar-list-link i{margin-right:16px;width:16px;display:inline-block}a.sidebar-list-link b{display:block;opacity:1;width:14px;height:14px;line-height:14px;text-shadow:none;font-size:18px;position:absolute;right:10px;top:14px;padding:0;text-align:center;color:#fff;transition:transform .2s linear}a.sidebar-list-link:hover{background-color:#242d3a}.sidebar-list-item.sidebar-item-expanded>.sidebar-list-link b,.sidebar-sublist-item.sidebar-item-expanded>.sidebar-list-link b{transform:rotate(180deg)}.sidebar-sublist{display:none;padding:0;list-style:none;position:relative;background-color:#242d3a80}.sidebar-sublist li{display:block;float:none;padding:0;border-bottom:none;position:relative;border-bottom:1px solid rgba(36,45,58,.7)}.sidebar-sublist li:last-child{border-bottom:none}.sidebar-sublist li a{display:block;text-shadow:none;font-size:13px;text-decoration:none;color:#fff;padding-left:40px!important;height:42px;line-height:42px}.sidebar-sublist li a:before{font-family:FontAwesome;content:\"\\f1db\";margin-right:10px;font-size:10px}.sidebar-sublist li a:hover{background-color:#242d3a}.sidebar-sublist .subitem-submenu-list li{border-top:1px solid rgba(36,45,58,.7)}.sidebar-item-expanded>ul.sidebar-sublist{display:block;background-color:#242d3a80}.subitem-submenu-link .fa{top:14px}.sidebar-hover-elem{width:4px;background:#637CA0;position:absolute;top:-150px;left:226px;transition:all .2s ease;transition-property:top,height;height:36px;display:block}.sidebar.menu-collapsed .sidebar-hover-elem{left:46px}.active-link{background-color:#637ca0}@media (max-width: 544px){.sidebar.menu-collapsed{width:0}.sidebar-hover-elem,.sidebar-select-elem{display:none}}\n"] }]
416
418
  }], ctorParameters: function () {
417
- return [{ type: i1$1.LocalizationService }, { type: i0.Type, decorators: [{
419
+ return [{ type: i1$2.LocalizationService }, { type: i0.Type, decorators: [{
418
420
  type: Optional
419
421
  }, {
420
422
  type: Inject,
421
423
  args: [MENU_LOCALIZATION]
422
- }] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.Router }, { type: i2.AppState }, { type: i0.NgZone }, { type: i4.UtilityService }, { type: i5.AccessControlService }, { type: undefined, decorators: [{
424
+ }] }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1$1.Router }, { type: i1.AppState }, { type: i0.NgZone }, { type: i4.UtilityService }, { type: i5.AccessControlService }, { type: undefined, decorators: [{
423
425
  type: Inject,
424
426
  args: [MENU]
425
- }] }, { type: i2.MenuFilteringService }];
427
+ }] }, { type: i1.MenuFilteringService }];
426
428
  }, propDecorators: { sidebar: [{
427
429
  type: ViewChild,
428
430
  args: ["sidebar", { static: true }]
@@ -458,9 +460,9 @@ class NavBarLoc extends LocalizationService {
458
460
  super.set("it->en", "Job Completato", ["Job Completed"]);
459
461
  }
460
462
  }
461
- NavBarLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavBarLoc, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
462
- NavBarLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavBarLoc });
463
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavBarLoc, decorators: [{
463
+ NavBarLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavBarLoc, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
464
+ NavBarLoc.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavBarLoc });
465
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavBarLoc, decorators: [{
464
466
  type: Injectable
465
467
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
466
468
 
@@ -479,9 +481,9 @@ class ReactiveComponent {
479
481
  this.Subscriptions[i].unsubscribe();
480
482
  }
481
483
  }
482
- ReactiveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ReactiveComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
483
- ReactiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ReactiveComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
484
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ReactiveComponent, decorators: [{
484
+ ReactiveComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ReactiveComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
485
+ ReactiveComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ReactiveComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
486
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ReactiveComponent, decorators: [{
485
487
  type: Component,
486
488
  args: [{ template: '' }]
487
489
  }] });
@@ -512,12 +514,12 @@ class JaceModulesBoardComponent {
512
514
  });
513
515
  }
514
516
  }
515
- JaceModulesBoardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: JaceModulesBoardComponent, deps: [{ token: i2.TokenService }], target: i0.ɵɵFactoryTarget.Component });
516
- JaceModulesBoardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: JaceModulesBoardComponent, isStandalone: true, selector: "jace-modules-board", inputs: { Modules: "Modules" }, ngImport: i0, template: "<div *ngIf=\"Categories\">\r\n <div *ngFor=\"let cat of Categories\">\r\n <div class=\"row\">\r\n <div class=\"section-title app-padding-left-0 app-padding-top-0\">\r\n {{cat.category}}\r\n </div>\r\n </div>\r\n <div *ngFor=\"let modRow of cat.module_rows\" class=\"row app-padding-left-10 app-padding-right-15\">\r\n <div class=\"module\" [class.module-available]=\"module.href\" [class.module-unavailable]=\"!module.href\" *ngFor=\"let module of modRow\">\r\n <a [href]=\"module.href\">\r\n <div class=\"module-name\"><span>{{module.name}}</span></div>\r\n <div class=\"module-footer\">\r\n <span class=\"fa-stack\"><i class=\"fa fa-circle-thin fa-stack-2x\"></i><i class=\"fa fa-chevron-right fa-stack-1x\"></i></span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".module{padding:.4em .4em .4em .7em;height:6em;width:11.5em;background:#3d3d3d;border:1px solid #383737;border-radius:5px;text-align:center;color:#f7ca26;border-top:3px solid transparent;border-bottom:3px solid transparent;margin-left:5px;margin-bottom:5px}.module-name{color:#fcf9cf;font-family:Passion One,cursive;font-size:18px;text-transform:uppercase;text-align:left;height:65%;white-space:pre-line}.module-footer{height:25%;text-align:right;color:#f7ca26}.module-available{cursor:pointer}.module-available:hover{border-top:3px solid #8e9aaf;border-bottom:3px solid #8e9aaf;background-color:#242d3a;box-shadow:3px 3px 2px #151515}.module-available:hover .module-name{color:#fff}.module-available:hover .module-footer{color:#f7ca26}.module-unavailable,.module-unavailable .module-name,.module-unavailable .module-footer{cursor:not-allowed}.module-unavailable .module-name,.module-unavailable .module-footer{color:#7d7d7d!important}.section-title{margin-left:15px;margin-right:15px;text-align:left;color:#f7ca26;padding:.4em .4em .4em .7em;border-radius:5px;font-family:Passion One,cursive;font-size:20px;text-transform:uppercase}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
517
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: JaceModulesBoardComponent, decorators: [{
517
+ JaceModulesBoardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JaceModulesBoardComponent, deps: [{ token: i1.TokenService }], target: i0.ɵɵFactoryTarget.Component });
518
+ JaceModulesBoardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: JaceModulesBoardComponent, isStandalone: true, selector: "jace-modules-board", inputs: { Modules: "Modules" }, ngImport: i0, template: "<div *ngIf=\"Categories\">\r\n <div *ngFor=\"let cat of Categories\">\r\n <div class=\"row\">\r\n <div class=\"section-title app-padding-left-0 app-padding-top-0\">\r\n {{cat.category}}\r\n </div>\r\n </div>\r\n <div *ngFor=\"let modRow of cat.module_rows\" class=\"row app-padding-left-10 app-padding-right-15\">\r\n <div class=\"module\" [class.module-available]=\"module.href\" [class.module-unavailable]=\"!module.href\" *ngFor=\"let module of modRow\">\r\n <a [href]=\"module.href\">\r\n <div class=\"module-name\"><span>{{module.name}}</span></div>\r\n <div class=\"module-footer\">\r\n <span class=\"fa-stack\"><i class=\"fa fa-circle-thin fa-stack-2x\"></i><i class=\"fa fa-chevron-right fa-stack-1x\"></i></span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".module{padding:.4em .4em .4em .7em;height:6em;width:11.5em;background:#3d3d3d;border:1px solid #383737;border-radius:5px;text-align:center;color:#f7ca26;border-top:3px solid transparent;border-bottom:3px solid transparent;margin-left:5px;margin-bottom:5px}.module-name{color:#fcf9cf;font-family:Passion One,cursive;font-size:18px;text-transform:uppercase;text-align:left;height:65%;white-space:pre-line}.module-footer{height:25%;text-align:right;color:#f7ca26}.module-available{cursor:pointer}.module-available:hover{border-top:3px solid #8e9aaf;border-bottom:3px solid #8e9aaf;background-color:#242d3a;box-shadow:3px 3px 2px #151515}.module-available:hover .module-name{color:#fff}.module-available:hover .module-footer{color:#f7ca26}.module-unavailable,.module-unavailable .module-name,.module-unavailable .module-footer{cursor:not-allowed}.module-unavailable .module-name,.module-unavailable .module-footer{color:#7d7d7d!important}.section-title{margin-left:15px;margin-right:15px;text-align:left;color:#f7ca26;padding:.4em .4em .4em .7em;border-radius:5px;font-family:Passion One,cursive;font-size:20px;text-transform:uppercase}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
519
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JaceModulesBoardComponent, decorators: [{
518
520
  type: Component,
519
521
  args: [{ selector: "jace-modules-board", changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf, NgFor], template: "<div *ngIf=\"Categories\">\r\n <div *ngFor=\"let cat of Categories\">\r\n <div class=\"row\">\r\n <div class=\"section-title app-padding-left-0 app-padding-top-0\">\r\n {{cat.category}}\r\n </div>\r\n </div>\r\n <div *ngFor=\"let modRow of cat.module_rows\" class=\"row app-padding-left-10 app-padding-right-15\">\r\n <div class=\"module\" [class.module-available]=\"module.href\" [class.module-unavailable]=\"!module.href\" *ngFor=\"let module of modRow\">\r\n <a [href]=\"module.href\">\r\n <div class=\"module-name\"><span>{{module.name}}</span></div>\r\n <div class=\"module-footer\">\r\n <span class=\"fa-stack\"><i class=\"fa fa-circle-thin fa-stack-2x\"></i><i class=\"fa fa-chevron-right fa-stack-1x\"></i></span>\r\n </div>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n</div>", styles: [".module{padding:.4em .4em .4em .7em;height:6em;width:11.5em;background:#3d3d3d;border:1px solid #383737;border-radius:5px;text-align:center;color:#f7ca26;border-top:3px solid transparent;border-bottom:3px solid transparent;margin-left:5px;margin-bottom:5px}.module-name{color:#fcf9cf;font-family:Passion One,cursive;font-size:18px;text-transform:uppercase;text-align:left;height:65%;white-space:pre-line}.module-footer{height:25%;text-align:right;color:#f7ca26}.module-available{cursor:pointer}.module-available:hover{border-top:3px solid #8e9aaf;border-bottom:3px solid #8e9aaf;background-color:#242d3a;box-shadow:3px 3px 2px #151515}.module-available:hover .module-name{color:#fff}.module-available:hover .module-footer{color:#f7ca26}.module-unavailable,.module-unavailable .module-name,.module-unavailable .module-footer{cursor:not-allowed}.module-unavailable .module-name,.module-unavailable .module-footer{color:#7d7d7d!important}.section-title{margin-left:15px;margin-right:15px;text-align:left;color:#f7ca26;padding:.4em .4em .4em .7em;border-radius:5px;font-family:Passion One,cursive;font-size:20px;text-transform:uppercase}\n"] }]
520
- }], ctorParameters: function () { return [{ type: i2.TokenService }]; }, propDecorators: { Modules: [{
522
+ }], ctorParameters: function () { return [{ type: i1.TokenService }]; }, propDecorators: { Modules: [{
521
523
  type: Input
522
524
  }] } });
523
525
 
@@ -685,13 +687,13 @@ class Navbar extends ReactiveComponent {
685
687
  });
686
688
  }
687
689
  }
688
- Navbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Navbar, deps: [{ token: i1$2.PreferencesService }, { token: i1$2.CacheService }, { token: i2.GlobalSearchService }, { token: i3$1.BaseMessageService }, { token: i3$1.NotificationsService }, { token: i4.MessageService }, { token: i1$1.LocalizationService }, { token: i2$2.HTTPService }, { token: i0.ChangeDetectorRef }, { token: i2.AppState }, { token: i2.TokenService }, { token: i1.Router }, { token: i2.CompletedJobRedirectionService }, { token: NAVBAR_EXTENSIONS }], target: i0.ɵɵFactoryTarget.Component });
689
- Navbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: Navbar, isStandalone: true, selector: "navbar", viewQueries: [{ propertyName: "navbar", first: true, predicate: ["navbar"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nav #navbar class=\"nav az-navbar fixed-top\">\r\n <!-- Logo -->\r\n <a class=\"navbar-brand\" routerLink=\"/pages/dashboard\">\r\n <img src=\"../assets/img/logo/logo.png\" class=\"d-md-block d-none\" style=\"margin-top: 10px; margin-bottom: -10px;\">\r\n <div class=\"app-fe-v d-md-block d-none\">{{ applicationVersion }}</div>\r\n\r\n <img src=\"../assets/img/logo/logo_sm.png\" class=\"d-md-none\" style=\"margin-top: 10px; margin-bottom: -10px;\">\r\n <div class=\"app-fe-sm-v d-md-none\">{{ applicationVersion }}</div>\r\n </a>\r\n\r\n <ul class=\"nav navbar-nav navbar-fillable\" style=\"display: flex;\">\r\n <!-- Collapse men\u00F9 a sinistra -->\r\n <li style=\"display: flex;\">\r\n <a (click)=\"toggleMenu()\" style=\"color: white; font-size: 20px; align-self: center;\" class=\"fa fa-navicon\"></a>\r\n </li>\r\n\r\n <!-- Search -->\r\n <li style=\"display: flex;\">\r\n <form class=\"app-search\" style=\"align-self: center;\" role=\"search\" (ngSubmit)=\"searchRequest()\">\r\n <input type=\"text\" placeholder=\"Search...\" [(ngModel)]=\"searchTerm\" (ngModelChange)=\"searchModelChanged()\" [ngModelOptions]=\"{standalone : true}\" class=\"form-control\" autocomplete=\"off\">\r\n <a><i class=\"ion-ios-search-strong\"></i></a>\r\n <button hidden></button>\r\n </form>\r\n </li>\r\n\r\n <ul class=\"nav\" style=\"margin-left: auto; padding-top: 5px; padding-right: 10px;\">\r\n\r\n <!--Dropdown job in esecuzione-->\r\n <div class=\"user-menu app-no-selection app-margin-right-10\" style=\"display: flex;\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a [class.fa-spin]=\"_state.jobsInProgress > 0\" class=\"fa fa-cog dropdown-toggle app-pointer\" style=\"color: white; font-size: 20px; align-self: center;\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"nav-jobs-menu\" role=\"menu\">\r\n <div class=\"nav-jobs-menu-header\">\r\n <span>{{'Job Applicativi' | localize : lc}}</span>\r\n <span class=\"pull-right m-t-min-2\"><mat-slide-toggle [(ngModel)]=\"_state.notifyOnCompletedJobs\" (click)=\"clearMessages(); $event.stopPropagation();\"></mat-slide-toggle></span>\r\n <span class=\"pull-right app-margin-right-5\">{{'Notifiche' | localize : lc}}:</span>\r\n </div>\r\n <div class=\"nav-jobs-menu-list\">\r\n <div *ngIf=\"_state.allJobs.length == 0\" class=\"nav-jobs-menu-list-empty\">\r\n <div>{{\"Al momento non c'\u00E8 nulla in esecuzione\" | localize : lc}}</div>\r\n </div>\r\n <div *ngFor=\"let job of _state.allJobs; let last = last\" [class.app-margin-bottom-5]=\"!last\">\r\n <span class=\"nav-jobs-menu-list-description\">\r\n <span *ngIf=\"!job.completed\" title=\"{{job.description}}\">{{job.smalldescription}}</span>\r\n <span *ngIf=\"job.completed\" title=\"{{job.description}}\" class=\"app-link app-no-selection app-inline app-pointer\" (click)=\"completedJobClicked(job); $event.stopPropagation();\">{{job.smalldescription}}</span>\r\n <strong class=\"pull-right\" *ngIf=\"!job.completed\">{{job.percentage}}%</strong>\r\n <strong class=\"pull-right\" *ngIf=\"job.completed\">{{ 'Completed' | localize : lc }}</strong>\r\n </span>\r\n <div class=\"progress progress-sm\">\r\n <progressbar *ngIf=\"!job.completed\" [max]=\"100\" [value]=\"job.percentage\" [striped]=\"true\" [animate]=\"true\"></progressbar>\r\n <progressbar *ngIf=\"job.completed\" type=\"success\" [max]=\"100\" [value]=\"100\" [striped]=\"false\" [animate]=\"false\"></progressbar>\r\n </div>\r\n </div>\r\n </div>\r\n </ul>\r\n </div>\r\n\r\n <!--Dropdown moduli-->\r\n <div class=\"user-menu app-no-selection app-margin-right-10\" style=\"display: flex;\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a class=\"fa fa-th dropdown-toggle app-pointer\" style=\"color: white !important; font-size: 20px; align-self: center;\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"module-board-menu container\" role=\"menu\">\r\n <div class=\"app-relative\"><jace-modules-board [Modules]=\"Modules\"></jace-modules-board></div>\r\n </ul>\r\n </div>\r\n\r\n <!-- Punti di estensione per Calendar, Chatroom e chi pi\u00F9 ne ha pi\u00F9 ne metta... -->\r\n <div class=\"user-menu app-no-selection app-margin-right-10\" *ngFor=\"let comp of extensionComponents\">\r\n <ng-template [componentHost]=\"comp\"></ng-template>\r\n </div>\r\n\r\n <!--Dropdown User Menu-->\r\n <div class=\"user-menu app-no-selection\" dropdown container=\"body\" placement=\"bottom right\" style=\"height:45px; padding-right: 10px;\">\r\n <a class=\"dropdown-toggle user-link app-pointer\" dropdownToggle>\r\n <div class=\"pull-left app-margin-right-10 app-relative\">\r\n <ng-container *ngTemplateOutlet=\"userIcon;\"></ng-container>\r\n </div>\r\n <div class=\"app-white-text pull-right d-none d-sm-block\">\r\n <ng-container *ngTemplateOutlet=\"debugInfos\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </a>\r\n\r\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right-user app-no-padding\" role=\"menu\">\r\n <li class=\"user-info\">\r\n <div class=\"app-relative\">\r\n <ng-container *ngTemplateOutlet=\"userIcon; context: { $implicit: {right: 62} }\"></ng-container>\r\n </div>\r\n <div class=\"app-white-text app-margin-top-10 app-margin-bottom-10\">\r\n <ng-container *ngTemplateOutlet=\"debugInfos\"></ng-container>\r\n </div>\r\n </li>\r\n <a class=\"dropdown-item app-pointer\" *ngIf=\"lc.Locale == 'en-US'\" (click)=\"lc.changeLocale('it-IT')\"><i class=\"fa fa-globe\">&nbsp;</i>Switch to Italian Site</a>\r\n <a class=\"dropdown-item app-pointer\" *ngIf=\"lc.Locale == 'it-IT'\" (click)=\"lc.changeLocale('en-US')\"><i class=\"fa fa-globe\">&nbsp;</i>Passa al Sito in Inglese</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"changeModule()\"><i class=\"fa fa-th\">&nbsp;</i>{{'Cambia Modulo' | localize : lc}}</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"changeTenant()\"><i class=\"fa fa-building\">&nbsp;</i>{{'Cambia Tenant' | localize : lc}}</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"clearUserPreferences()\"><i class=\"fa fa-user-times\">&nbsp;</i>{{'Ripulisci le Preferenze Utente' | localize : lc}}</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"clearAll()\"><i class=\"fa fa-recycle \">&nbsp;</i>{{'Ripulisci la Cache' | localize : lc}}</a>\r\n <div class=\"dropdown-divider\"></div>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"logout()\"><i class=\"fa fa-power-off\">&nbsp;</i>Log out</a>\r\n </ul>\r\n </div>\r\n </ul>\r\n </ul>\r\n</nav>\r\n\r\n<!-- Template per l'icona dell'utente -->\r\n<ng-template #userIcon let-context>\r\n <img src='../assets/img/users/user.jpg' alt=\"user-img\" class=\"img-circle user-img\">\r\n <img src='../assets/img/events/christmas.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.christmasTime\">\r\n <img src='../assets/img/events/halloween.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.halloweenTime\">\r\n</ng-template>\r\n\r\n<!-- Template per le informaizoni di debug: Ambiente, ruoli, permessi ecc -->\r\n<ng-template #debugInfos>\r\n <div>{{CurrentIdentity?.FullName}} - ({{CurrentIdentity?.TenantName}})</div>\r\n <div class=\"text-sm-center\">\r\n <ng-container *ngIf=\"applicationEnvironment == 2\">{{'Ambiente di Sviluppo' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"applicationEnvironment == 5\">{{'Ambiente di Staging' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"applicationEnvironment == 6\">{{'Ambiente di Staging A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"applicationEnvironment == 1\">{{'Ambiente di Produzione' | localize : lc}}</ng-container>\r\n </div>\r\n <div [hidden]=\"true\">\r\n <div>Permissions:</div>\r\n <div *ngFor=\"let p of CurrentIdentity.Permissions\">{{p}}</div>\r\n <div>Roles:</div>\r\n <div *ngFor=\"let r of CurrentIdentity.Roles\">{{r}}</div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Overlay per la ricerca globale -->\r\n<ng-container *ngIf=\"searchingTerm || searchResult\">\r\n <div class=\"app-absolute app-search-background\">\r\n <div class=\"app-search-result-box\">\r\n <ng-container *ngIf=\"searchingTerm\">\r\n <div class=\"app-search-card\"><i class=\"fa fa-spinner fa-spin\"></i>Sto effettuando la ricerca...</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"searchResult && !searchingTerm\">\r\n <div class=\"row\" style=\"height: 100%;\">\r\n <!-- Spazio a sinistra -->\r\n <div class=\"col-md-1\"></div>\r\n <!-- Blocco con le categorie dei risultati -->\r\n <div class=\"col-md-3\">\r\n <div class=\"app-search-card\">\r\n <div class=\"app-relative\"><a class=\"fa fa-times text-danger app-absolute app-right-0 app-fs-20 app-pointer\" (click)=\"closeSearch();\"></a></div>\r\n <h4>Categorie di Ricerca</h4>\r\n <div class=\"app-pointer app-link\" [class.app-bold]=\"!SelectedResult && !ShowSingleTable\">\r\n <span (click)=\"FilterSearchResults()\">{{SelectedResult ? '-' : '>'}} Mostra Tutto</span>\r\n </div>\r\n <div *ngFor=\"let item of searchResult.results\" class=\"app-pointer app-link\" [class.app-bold]=\"SelectedResult?.description == item.description\">\r\n <span (click)=\"FilterSearchResults(item)\">{{SelectedResult?.description == item.description ? '>' : '-'}} Mostra {{item.description}} ({{item.items?.length}})</span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Dettaglio risultati -->\r\n <div class=\"col-md-7\" style=\"overflow: auto; height: 100%;\">\r\n <ng-container *ngIf=\"!SelectedResult && !ShowSingleTable\">\r\n <div *ngFor=\"let res of searchResult.results; let i = index;\" class=\"app-search-card\" [style.margin-bottom.px]=\"i == (searchResult.results?.length - 1) ? 2 : 10\">\r\n <h4>{{res.description}}</h4>\r\n <es-table [(ngModel)]=\"res.items\" [DynamicRowColumnsDefinition]=\"res.est_cols\" [ArraymodeItemsPerPage]=\"10\"></es-table>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"SelectedResult && ShowSingleTable\">\r\n <div class=\"app-search-card\">\r\n <h4>{{SelectedResult.description}}</h4>\r\n <es-table [(ngModel)]=\"SelectedResult.items\" [DynamicRowColumnsDefinition]=\"SelectedResult.est_cols\" [ArraymodeItemsPerPage]=\"10\"></es-table>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <!-- Spazio a destra -->\r\n <div class=\"col-md-1\"></div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-container>", styles: [".nav-jobs-icon{position:absolute;left:-20px;margin:0;padding:0;top:10px;color:#fff!important;font-size:20px}.nav-jobs-menu{width:350px;height:250px;background:white;margin:2px 0 0;padding:5px;border:1px solid #ccc}.nav-jobs-menu-header{padding:8px;font-size:14px;background-color:#242d3a;margin-top:-5px;margin-left:-5px;margin-right:-5px}.nav-jobs-menu-header span{color:#fffc}.nav-jobs-menu-list{position:relative;overflow:auto;width:auto;height:203px;padding:5px}.nav-jobs-menu-list-description{font-size:13px;color:#666}.nav-jobs-menu-list-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:15px;text-align:center}.nav.az-navbar{height:60px;align-items:center;background-color:#242d3a}.nav.az-navbar .navbar-brand{width:205px;padding-top:0;font-size:0;margin-left:10px}.navbar-nav{flex-direction:row}#lines{border-bottom:7px double;border-top:2px solid;border-color:#ffffffe6;content:\"\";height:3px;width:20px;box-sizing:content-box;cursor:pointer}#lines:hover{opacity:.8}.app-search{position:relative;margin-left:20px}.app-search a{position:absolute;top:3px;right:14px;font-size:16px;color:#ffffff4d}.app-search .form-control{border:1px solid rgba(255,255,255,.1);font-size:11px;letter-spacing:.03em;height:30px;color:#fff;padding:7px 40px 7px 20px;background:rgba(255,255,255,.05);box-shadow:none;border-radius:30px;width:190px}.app-search input{border:1px solid rgba(255,255,255,.1);font-size:12px;letter-spacing:.03em;height:30px;color:#fff;padding:7px 40px 7px 20px;background:rgba(255,255,255,.05);box-shadow:none;border-radius:30px;width:240px}.completer-selected-row{background-color:#0275d8!important;color:#fff!important;width:100%!important}.completer-row{width:100%!important;color:#fff!important}.completer-dropdown{margin-top:2px!important;background-color:#344154f7!important;color:#fff;border-color:#111!important;box-shadow:0 6px 12px #0003}.search-results{left:-85px;top:-2px;z-index:1050;color:#fff;background-color:#344154f7}.search-results .btn-sm{padding:.15rem .25rem;font-size:.5rem}.search-results:before{content:\"\";border:0px}.search-results a{color:#242d3a}.search-results a:hover{color:#fff;background-color:#0275d8;cursor:pointer}.search-results a i{margin-right:8px}.right-section{position:absolute;right:10px;top:10px}.user-menu{font-size:14px}.user-menu .dropdown-toggle:after{display:none}.user-menu .dropdown-menu{right:0;top:auto!important;left:auto!important;margin-top:10px;padding-top:0;overflow:hidden;border-radius:0;font-size:14px;box-shadow:0 6px 12px #0003;transform:none!important}.user-menu .dropdown-menu a{color:#242d3a}.user-menu .dropdown-menu a:hover{color:#fff;background-color:#242d3a}.user-menu .dropdown-menu a i{margin-right:8px}.user-link{margin-right:6px}.user-link span{color:#fff;margin-left:7px;letter-spacing:.02em}.user-link img{width:40px;border-radius:50%}.user-link:hover,.user-link:focus{text-decoration:none}.user-info{background-color:#242d3a;padding:8px;text-align:center;width:240px;margin-bottom:5px}.user-info img{width:100px;margin-top:5px;border-radius:50%}.user-info p{color:#ebebeb;margin-top:10px}.user-info small{display:block}@media (max-width: 767px){.nav.az-navbar .navbar-brand{width:auto}}.navbar-search{color:#ffffff80!important}.navbar-help{font-size:20px!important;color:#ffffff80!important;border:1px solid rgba(255,255,255,.1);margin-left:5px!important;padding:5px 10px 2px 8px!important;border-radius:50%;background-color:#ffffff0d;cursor:pointer;width:31px;height:31px}.navbar-fill{margin-top:-5px;margin-bottom:-5px;margin-left:10px;width:calc(100% - 530px)}.navbar-fillable{width:calc(100% - 231px)}.navbar-floating-label{position:absolute;top:-9px;left:-5px;background:#242D3A;padding-left:5px;padding-right:5px;color:#ffffffe6!important}.collapse-menu-link{color:#fff!important;font-size:20px;padding-top:5px;cursor:pointer}.module-nav-menu-link{color:#fff!important;font-size:20px;padding-top:10px;padding-right:5px;cursor:pointer}.module-board-menu{position:relative;top:1px;background-color:#1f1f1f;padding:15px}.overlay{height:100%;width:100%;display:none;padding-left:10%;padding-right:10%;position:fixed;z-index:999999;left:0;top:0;background-color:#000;background-color:#000000e6;overflow-x:hidden;transition:.5s}.overlay-content{position:relative;top:25%;width:100%;text-align:center;margin-top:30px}.overlay p{padding:8px;text-decoration:none;font-size:36px;color:#818181;display:block;transition:.3s}.overlay a:hover,.overlay a:focus{color:#f1f1f1}.overlay .closebtn{position:absolute;top:20px;right:45px;font-size:60px}@media screen and (max-height: 450px){.overlay a{font-size:20px}.overlay .closebtn{font-size:40px;top:15px;right:35px}}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i8.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: BsDropdownModule }, { kind: "directive", type: i9.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i9.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i9.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i10.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ProgressbarModule }, { kind: "component", type: i11.ProgressbarComponent, selector: "progressbar", inputs: ["max", "animate", "striped", "type", "value"] }, { kind: "component", type: JaceModulesBoardComponent, selector: "jace-modules-board", inputs: ["Modules"] }, { kind: "directive", type: ComponentHostDirective, selector: "[componentHost]", inputs: ["componentHost", "Inputs"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: EsTableModule }, { kind: "component", type: i12.EsTableComponent, selector: "es-table", inputs: ["EsTableTemplate", "CornerMenuOptions", "ColumnsResizable", "ColumnsPinnable", "AutoUpdate", "Height", "EmptySpaceBackgroundColor", "EsTableHandledSearch", "MaxHeight", "ContainerClass", "XLSXExport", "CSVExport", "AllSearch", "HighCellDensity", "Selection", "ShowLoadingOnBootstrap", "Removal", "RemovalCondition", "Export", "ShiftClick", "CountLabel", "HidePaging", "HidePagingCount", "HidePagingButtons", "ContextMenu", "ExportFileName", "TableClass", "ExportFunction", "ExportOnlyVisibleColumns", "HasHeaderGroup", "HasSecondaryHeaderGroup", "HeaderHidden", "BodyHidden", "SelectionDisabled", "SingleSelection", "RowClassAssigner", "OrderByColumn", "MultipleOrderingDirectives", "HiddenColumns", "ColumnsOrdering", "SearchView", "SelectAll", "UseArrayModePaging", "DynamicRowColumnsDefinition", "DynamicOperations", "Hierarchy", "ParentKey", "OwnKey", "StartsExpanded", "SavePreferences", "DefaultAlignment", "PagingStyle", "RowGroupingPagingStyle", "ItemSourceProperty", "UseSelectionCache", "ShowItemGroupsColumns", "Editable", "RangeSelection", "SearchThrottle", "ArraymodeItemsPerPage"], outputs: ["onOrderChanged", "onSearchRequest", "onSelectionChanged", "onRemoval", "onAbortRemoval", "onModelChange", "onOpenContextMenu", "onCornerAction", "onDynamicOperation"] }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1$1.LocalizePipe, name: "localize" }], viewProviders: [{ provide: LocalizationService, useClass: NavBarLoc }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
690
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Navbar, decorators: [{
690
+ Navbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Navbar, deps: [{ token: i1$3.PreferencesService }, { token: i1$3.CacheService }, { token: i1.GlobalSearchService }, { token: i3$1.BaseMessageService }, { token: i3$1.NotificationsService }, { token: i4.MessageService }, { token: i1$2.LocalizationService }, { token: i2$1.HTTPService }, { token: i0.ChangeDetectorRef }, { token: i1.AppState }, { token: i1.TokenService }, { token: i1$1.Router }, { token: i1.CompletedJobRedirectionService }, { token: NAVBAR_EXTENSIONS }], target: i0.ɵɵFactoryTarget.Component });
691
+ Navbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: Navbar, isStandalone: true, selector: "navbar", viewQueries: [{ propertyName: "navbar", first: true, predicate: ["navbar"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nav #navbar class=\"nav az-navbar fixed-top\">\r\n <!-- Logo -->\r\n <a class=\"navbar-brand\" routerLink=\"/pages/dashboard\">\r\n <img src=\"../assets/img/logo/logo.png\" class=\"d-md-block d-none\" style=\"margin-top: 10px; margin-bottom: -10px;\">\r\n <div class=\"app-fe-v d-md-block d-none\">{{ applicationVersion }}</div>\r\n\r\n <img src=\"../assets/img/logo/logo_sm.png\" class=\"d-md-none\" style=\"margin-top: 10px; margin-bottom: -10px;\">\r\n <div class=\"app-fe-sm-v d-md-none\">{{ applicationVersion }}</div>\r\n </a>\r\n\r\n <ul class=\"nav navbar-nav navbar-fillable\" style=\"display: flex;\">\r\n <!-- Collapse men\u00F9 a sinistra -->\r\n <li style=\"display: flex;\">\r\n <a (click)=\"toggleMenu()\" style=\"color: white; font-size: 20px; align-self: center;\" class=\"fa fa-navicon\"></a>\r\n </li>\r\n\r\n <!-- Search -->\r\n <li style=\"display: flex;\">\r\n <form class=\"app-search\" style=\"align-self: center;\" role=\"search\" (ngSubmit)=\"searchRequest()\">\r\n <input type=\"text\" placeholder=\"Search...\" [(ngModel)]=\"searchTerm\" (ngModelChange)=\"searchModelChanged()\" [ngModelOptions]=\"{standalone : true}\" class=\"form-control\" autocomplete=\"off\">\r\n <a><i class=\"ion-ios-search-strong\"></i></a>\r\n <button hidden></button>\r\n </form>\r\n </li>\r\n\r\n <ul class=\"nav\" style=\"margin-left: auto; padding-top: 5px; padding-right: 10px;\">\r\n\r\n <!--Dropdown job in esecuzione-->\r\n <div class=\"user-menu app-no-selection app-margin-right-10\" style=\"display: flex;\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a [class.fa-spin]=\"_state.jobsInProgress > 0\" class=\"fa fa-cog dropdown-toggle app-pointer\" style=\"color: white; font-size: 20px; align-self: center;\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"nav-jobs-menu\" role=\"menu\">\r\n <div class=\"nav-jobs-menu-header\">\r\n <span>{{'Job Applicativi' | localize : lc}}</span>\r\n <span class=\"pull-right m-t-min-2\"><mat-slide-toggle [(ngModel)]=\"_state.notifyOnCompletedJobs\" (click)=\"clearMessages(); $event.stopPropagation();\"></mat-slide-toggle></span>\r\n <span class=\"pull-right app-margin-right-5\">{{'Notifiche' | localize : lc}}:</span>\r\n </div>\r\n <div class=\"nav-jobs-menu-list\">\r\n <div *ngIf=\"_state.allJobs.length == 0\" class=\"nav-jobs-menu-list-empty\">\r\n <div>{{\"Al momento non c'\u00E8 nulla in esecuzione\" | localize : lc}}</div>\r\n </div>\r\n <div *ngFor=\"let job of _state.allJobs; let last = last\" [class.app-margin-bottom-5]=\"!last\">\r\n <span class=\"nav-jobs-menu-list-description\">\r\n <span *ngIf=\"!job.completed\" title=\"{{job.description}}\">{{job.smalldescription}}</span>\r\n <span *ngIf=\"job.completed\" title=\"{{job.description}}\" class=\"app-link app-no-selection app-inline app-pointer\" (click)=\"completedJobClicked(job); $event.stopPropagation();\">{{job.smalldescription}}</span>\r\n <strong class=\"pull-right\" *ngIf=\"!job.completed\">{{job.percentage}}%</strong>\r\n <strong class=\"pull-right\" *ngIf=\"job.completed\">{{ 'Completed' | localize : lc }}</strong>\r\n </span>\r\n <div class=\"progress progress-sm\">\r\n <progressbar *ngIf=\"!job.completed\" [max]=\"100\" [value]=\"job.percentage\" [striped]=\"true\" [animate]=\"true\"></progressbar>\r\n <progressbar *ngIf=\"job.completed\" type=\"success\" [max]=\"100\" [value]=\"100\" [striped]=\"false\" [animate]=\"false\"></progressbar>\r\n </div>\r\n </div>\r\n </div>\r\n </ul>\r\n </div>\r\n\r\n <!--Dropdown moduli-->\r\n <div class=\"user-menu app-no-selection app-margin-right-10\" style=\"display: flex;\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a class=\"fa fa-th dropdown-toggle app-pointer\" style=\"color: white !important; font-size: 20px; align-self: center;\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"module-board-menu container\" role=\"menu\">\r\n <div class=\"app-relative\"><jace-modules-board [Modules]=\"Modules\"></jace-modules-board></div>\r\n </ul>\r\n </div>\r\n\r\n <!-- Punti di estensione per Calendar, Chatroom e chi pi\u00F9 ne ha pi\u00F9 ne metta... -->\r\n <div class=\"user-menu app-no-selection app-margin-right-10\" *ngFor=\"let comp of extensionComponents\">\r\n <ng-template [componentHost]=\"comp\"></ng-template>\r\n </div>\r\n\r\n <!--Dropdown User Menu-->\r\n <div class=\"user-menu app-no-selection\" dropdown container=\"body\" placement=\"bottom right\" style=\"height:45px; padding-right: 10px;\">\r\n <a class=\"dropdown-toggle user-link app-pointer\" dropdownToggle>\r\n <div class=\"pull-left app-margin-right-10 app-relative\">\r\n <ng-container *ngTemplateOutlet=\"userIcon;\"></ng-container>\r\n </div>\r\n <div class=\"app-white-text pull-right d-none d-sm-block\">\r\n <ng-container *ngTemplateOutlet=\"debugInfos\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </a>\r\n\r\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right-user app-no-padding\" role=\"menu\">\r\n <li class=\"user-info\">\r\n <div class=\"app-relative\">\r\n <ng-container *ngTemplateOutlet=\"userIcon; context: { $implicit: {right: 62} }\"></ng-container>\r\n </div>\r\n <div class=\"app-white-text app-margin-top-10 app-margin-bottom-10\">\r\n <ng-container *ngTemplateOutlet=\"debugInfos\"></ng-container>\r\n </div>\r\n </li>\r\n <a class=\"dropdown-item app-pointer\" *ngIf=\"lc.Locale == 'en-US'\" (click)=\"lc.changeLocale('it-IT')\"><i class=\"fa fa-globe\">&nbsp;</i>Switch to Italian Site</a>\r\n <a class=\"dropdown-item app-pointer\" *ngIf=\"lc.Locale == 'it-IT'\" (click)=\"lc.changeLocale('en-US')\"><i class=\"fa fa-globe\">&nbsp;</i>Passa al Sito in Inglese</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"changeModule()\"><i class=\"fa fa-th\">&nbsp;</i>{{'Cambia Modulo' | localize : lc}}</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"changeTenant()\"><i class=\"fa fa-building\">&nbsp;</i>{{'Cambia Tenant' | localize : lc}}</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"clearUserPreferences()\"><i class=\"fa fa-user-times\">&nbsp;</i>{{'Ripulisci le Preferenze Utente' | localize : lc}}</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"clearAll()\"><i class=\"fa fa-recycle \">&nbsp;</i>{{'Ripulisci la Cache' | localize : lc}}</a>\r\n <div class=\"dropdown-divider\"></div>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"logout()\"><i class=\"fa fa-power-off\">&nbsp;</i>Log out</a>\r\n </ul>\r\n </div>\r\n </ul>\r\n </ul>\r\n</nav>\r\n\r\n<!-- Template per l'icona dell'utente -->\r\n<ng-template #userIcon let-context>\r\n <img src='../assets/img/users/user.jpg' alt=\"user-img\" class=\"img-circle user-img\">\r\n <img src='../assets/img/events/christmas.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.christmasTime\">\r\n <img src='../assets/img/events/halloween.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.halloweenTime\">\r\n</ng-template>\r\n\r\n<!-- Template per le informaizoni di debug: Ambiente, ruoli, permessi ecc -->\r\n<ng-template #debugInfos>\r\n <div>{{CurrentIdentity?.FullName}} - ({{CurrentIdentity?.TenantName}})</div>\r\n <div class=\"text-sm-center\">\r\n <ng-container *ngIf=\"applicationEnvironment == 2\">{{'Ambiente di Sviluppo' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"applicationEnvironment == 5\">{{'Ambiente di Staging' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"applicationEnvironment == 6\">{{'Ambiente di Staging A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"applicationEnvironment == 1\">{{'Ambiente di Produzione' | localize : lc}}</ng-container>\r\n </div>\r\n <div [hidden]=\"true\">\r\n <div>Permissions:</div>\r\n <div *ngFor=\"let p of CurrentIdentity.Permissions\">{{p}}</div>\r\n <div>Roles:</div>\r\n <div *ngFor=\"let r of CurrentIdentity.Roles\">{{r}}</div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Overlay per la ricerca globale -->\r\n<ng-container *ngIf=\"searchingTerm || searchResult\">\r\n <div class=\"app-absolute app-search-background\">\r\n <div class=\"app-search-result-box\">\r\n <ng-container *ngIf=\"searchingTerm\">\r\n <div class=\"app-search-card\"><i class=\"fa fa-spinner fa-spin\"></i>Sto effettuando la ricerca...</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"searchResult && !searchingTerm\">\r\n <div class=\"row\" style=\"height: 100%;\">\r\n <!-- Spazio a sinistra -->\r\n <div class=\"col-md-1\"></div>\r\n <!-- Blocco con le categorie dei risultati -->\r\n <div class=\"col-md-3\">\r\n <div class=\"app-search-card\">\r\n <div class=\"app-relative\"><a class=\"fa fa-times text-danger app-absolute app-right-0 app-fs-20 app-pointer\" (click)=\"closeSearch();\"></a></div>\r\n <h4>Categorie di Ricerca</h4>\r\n <div class=\"app-pointer app-link\" [class.app-bold]=\"!SelectedResult && !ShowSingleTable\">\r\n <span (click)=\"FilterSearchResults()\">{{SelectedResult ? '-' : '>'}} Mostra Tutto</span>\r\n </div>\r\n <div *ngFor=\"let item of searchResult.results\" class=\"app-pointer app-link\" [class.app-bold]=\"SelectedResult?.description == item.description\">\r\n <span (click)=\"FilterSearchResults(item)\">{{SelectedResult?.description == item.description ? '>' : '-'}} Mostra {{item.description}} ({{item.items?.length}})</span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Dettaglio risultati -->\r\n <div class=\"col-md-7\" style=\"overflow: auto; height: 100%;\">\r\n <ng-container *ngIf=\"!SelectedResult && !ShowSingleTable\">\r\n <div *ngFor=\"let res of searchResult.results; let i = index;\" class=\"app-search-card\" [style.margin-bottom.px]=\"i == (searchResult.results?.length - 1) ? 2 : 10\">\r\n <h4>{{res.description}}</h4>\r\n <es-table [(ngModel)]=\"res.items\" [DynamicRowColumnsDefinition]=\"res.est_cols\" [ArraymodeItemsPerPage]=\"10\"></es-table>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"SelectedResult && ShowSingleTable\">\r\n <div class=\"app-search-card\">\r\n <h4>{{SelectedResult.description}}</h4>\r\n <es-table [(ngModel)]=\"SelectedResult.items\" [DynamicRowColumnsDefinition]=\"SelectedResult.est_cols\" [ArraymodeItemsPerPage]=\"10\"></es-table>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <!-- Spazio a destra -->\r\n <div class=\"col-md-1\"></div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-container>", styles: [".nav-jobs-icon{position:absolute;left:-20px;margin:0;padding:0;top:10px;color:#fff!important;font-size:20px}.nav-jobs-menu{width:350px;height:250px;background:white;margin:2px 0 0;padding:5px;border:1px solid #ccc}.nav-jobs-menu-header{padding:8px;font-size:14px;background-color:#242d3a;margin-top:-5px;margin-left:-5px;margin-right:-5px}.nav-jobs-menu-header span{color:#fffc}.nav-jobs-menu-list{position:relative;overflow:auto;width:auto;height:203px;padding:5px}.nav-jobs-menu-list-description{font-size:13px;color:#666}.nav-jobs-menu-list-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:15px;text-align:center}.nav.az-navbar{height:60px;align-items:center;background-color:#242d3a}.nav.az-navbar .navbar-brand{width:205px;padding-top:0;font-size:0;margin-left:10px}.navbar-nav{flex-direction:row}#lines{border-bottom:7px double;border-top:2px solid;border-color:#ffffffe6;content:\"\";height:3px;width:20px;box-sizing:content-box;cursor:pointer}#lines:hover{opacity:.8}.app-search{position:relative;margin-left:20px}.app-search a{position:absolute;top:3px;right:14px;font-size:16px;color:#ffffff4d}.app-search .form-control{border:1px solid rgba(255,255,255,.1);font-size:11px;letter-spacing:.03em;height:30px;color:#fff;padding:7px 40px 7px 20px;background:rgba(255,255,255,.05);box-shadow:none;border-radius:30px;width:190px}.app-search input{border:1px solid rgba(255,255,255,.1);font-size:12px;letter-spacing:.03em;height:30px;color:#fff;padding:7px 40px 7px 20px;background:rgba(255,255,255,.05);box-shadow:none;border-radius:30px;width:240px}.completer-selected-row{background-color:#0275d8!important;color:#fff!important;width:100%!important}.completer-row{width:100%!important;color:#fff!important}.completer-dropdown{margin-top:2px!important;background-color:#344154f7!important;color:#fff;border-color:#111!important;box-shadow:0 6px 12px #0003}.search-results{left:-85px;top:-2px;z-index:1050;color:#fff;background-color:#344154f7}.search-results .btn-sm{padding:.15rem .25rem;font-size:.5rem}.search-results:before{content:\"\";border:0px}.search-results a{color:#242d3a}.search-results a:hover{color:#fff;background-color:#0275d8;cursor:pointer}.search-results a i{margin-right:8px}.right-section{position:absolute;right:10px;top:10px}.user-menu{font-size:14px}.user-menu .dropdown-toggle:after{display:none}.user-menu .dropdown-menu{right:0;top:auto!important;left:auto!important;margin-top:10px;padding-top:0;overflow:hidden;border-radius:0;font-size:14px;box-shadow:0 6px 12px #0003;transform:none!important}.user-menu .dropdown-menu a{color:#242d3a}.user-menu .dropdown-menu a:hover{color:#fff;background-color:#242d3a}.user-menu .dropdown-menu a i{margin-right:8px}.user-link{margin-right:6px}.user-link span{color:#fff;margin-left:7px;letter-spacing:.02em}.user-link img{width:40px;border-radius:50%}.user-link:hover,.user-link:focus{text-decoration:none}.user-info{background-color:#242d3a;padding:8px;text-align:center;width:240px;margin-bottom:5px}.user-info img{width:100px;margin-top:5px;border-radius:50%}.user-info p{color:#ebebeb;margin-top:10px}.user-info small{display:block}@media (max-width: 767px){.nav.az-navbar .navbar-brand{width:auto}}.navbar-search{color:#ffffff80!important}.navbar-help{font-size:20px!important;color:#ffffff80!important;border:1px solid rgba(255,255,255,.1);margin-left:5px!important;padding:5px 10px 2px 8px!important;border-radius:50%;background-color:#ffffff0d;cursor:pointer;width:31px;height:31px}.navbar-fill{margin-top:-5px;margin-bottom:-5px;margin-left:10px;width:calc(100% - 530px)}.navbar-fillable{width:calc(100% - 231px)}.navbar-floating-label{position:absolute;top:-9px;left:-5px;background:#242D3A;padding-left:5px;padding-right:5px;color:#ffffffe6!important}.collapse-menu-link{color:#fff!important;font-size:20px;padding-top:5px;cursor:pointer}.module-nav-menu-link{color:#fff!important;font-size:20px;padding-top:10px;padding-right:5px;cursor:pointer}.module-board-menu{position:relative;top:1px;background-color:#1f1f1f;padding:15px}.overlay{height:100%;width:100%;display:none;padding-left:10%;padding-right:10%;position:fixed;z-index:999999;left:0;top:0;background-color:#000;background-color:#000000e6;overflow-x:hidden;transition:.5s}.overlay-content{position:relative;top:25%;width:100%;text-align:center;margin-top:30px}.overlay p{padding:8px;text-decoration:none;font-size:36px;color:#818181;display:block;transition:.3s}.overlay a:hover,.overlay a:focus{color:#f1f1f1}.overlay .closebtn{position:absolute;top:20px;right:45px;font-size:60px}@media screen and (max-height: 450px){.overlay a{font-size:20px}.overlay .closebtn{font-size:40px;top:15px;right:35px}}\n"], dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i8.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: BsDropdownModule }, { kind: "directive", type: i9.BsDropdownMenuDirective, selector: "[bsDropdownMenu],[dropdownMenu]", exportAs: ["bs-dropdown-menu"] }, { kind: "directive", type: i9.BsDropdownToggleDirective, selector: "[bsDropdownToggle],[dropdownToggle]", exportAs: ["bs-dropdown-toggle"] }, { kind: "directive", type: i9.BsDropdownDirective, selector: "[bsDropdown], [dropdown]", inputs: ["placement", "triggers", "container", "dropup", "autoClose", "isAnimated", "insideClick", "isDisabled", "isOpen"], outputs: ["isOpenChange", "onShown", "onHidden"], exportAs: ["bs-dropdown"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i10.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ProgressbarModule }, { kind: "component", type: i11.ProgressbarComponent, selector: "progressbar", inputs: ["max", "animate", "striped", "type", "value"] }, { kind: "component", type: JaceModulesBoardComponent, selector: "jace-modules-board", inputs: ["Modules"] }, { kind: "directive", type: ComponentHostDirective, selector: "[componentHost]", inputs: ["componentHost", "Inputs"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: EsTableModule }, { kind: "component", type: i12.EsTableComponent, selector: "es-table", inputs: ["EsTableTemplate", "CornerMenuOptions", "ColumnsResizable", "ColumnsPinnable", "AutoUpdate", "Height", "EmptySpaceBackgroundColor", "EsTableHandledSearch", "MaxHeight", "ContainerClass", "XLSXExport", "CSVExport", "AllSearch", "HighCellDensity", "Selection", "ShowLoadingOnBootstrap", "Removal", "RemovalCondition", "Export", "ShiftClick", "CountLabel", "HidePaging", "HidePagingCount", "HidePagingButtons", "ContextMenu", "ExportFileName", "TableClass", "ExportFunction", "ExportOnlyVisibleColumns", "HasHeaderGroup", "HasSecondaryHeaderGroup", "HeaderHidden", "BodyHidden", "SelectionDisabled", "SingleSelection", "RowClassAssigner", "OrderByColumn", "MultipleOrderingDirectives", "HiddenColumns", "ColumnsOrdering", "SearchView", "SelectAll", "UseArrayModePaging", "DynamicRowColumnsDefinition", "DynamicOperations", "Hierarchy", "ParentKey", "OwnKey", "StartsExpanded", "SavePreferences", "DefaultAlignment", "PagingStyle", "RowGroupingPagingStyle", "ItemSourceProperty", "UseSelectionCache", "ShowItemGroupsColumns", "Editable", "RangeSelection", "SearchThrottle", "ArraymodeItemsPerPage"], outputs: ["onOrderChanged", "onSearchRequest", "onSelectionChanged", "onRemoval", "onAbortRemoval", "onModelChange", "onOpenContextMenu", "onCornerAction", "onDynamicOperation"] }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1$2.LocalizePipe, name: "localize" }], viewProviders: [{ provide: LocalizationService, useClass: NavBarLoc }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
692
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Navbar, decorators: [{
691
693
  type: Component,
692
694
  args: [{ selector: "navbar", viewProviders: [{ provide: LocalizationService, useClass: NavBarLoc }], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [RouterLink, FormsModule, BsDropdownModule, MatSlideToggleModule, NgIf, NgFor, ProgressbarModule, JaceModulesBoardComponent, ComponentHostDirective, NgTemplateOutlet, EsTableModule, LocalizationModule], template: "<nav #navbar class=\"nav az-navbar fixed-top\">\r\n <!-- Logo -->\r\n <a class=\"navbar-brand\" routerLink=\"/pages/dashboard\">\r\n <img src=\"../assets/img/logo/logo.png\" class=\"d-md-block d-none\" style=\"margin-top: 10px; margin-bottom: -10px;\">\r\n <div class=\"app-fe-v d-md-block d-none\">{{ applicationVersion }}</div>\r\n\r\n <img src=\"../assets/img/logo/logo_sm.png\" class=\"d-md-none\" style=\"margin-top: 10px; margin-bottom: -10px;\">\r\n <div class=\"app-fe-sm-v d-md-none\">{{ applicationVersion }}</div>\r\n </a>\r\n\r\n <ul class=\"nav navbar-nav navbar-fillable\" style=\"display: flex;\">\r\n <!-- Collapse men\u00F9 a sinistra -->\r\n <li style=\"display: flex;\">\r\n <a (click)=\"toggleMenu()\" style=\"color: white; font-size: 20px; align-self: center;\" class=\"fa fa-navicon\"></a>\r\n </li>\r\n\r\n <!-- Search -->\r\n <li style=\"display: flex;\">\r\n <form class=\"app-search\" style=\"align-self: center;\" role=\"search\" (ngSubmit)=\"searchRequest()\">\r\n <input type=\"text\" placeholder=\"Search...\" [(ngModel)]=\"searchTerm\" (ngModelChange)=\"searchModelChanged()\" [ngModelOptions]=\"{standalone : true}\" class=\"form-control\" autocomplete=\"off\">\r\n <a><i class=\"ion-ios-search-strong\"></i></a>\r\n <button hidden></button>\r\n </form>\r\n </li>\r\n\r\n <ul class=\"nav\" style=\"margin-left: auto; padding-top: 5px; padding-right: 10px;\">\r\n\r\n <!--Dropdown job in esecuzione-->\r\n <div class=\"user-menu app-no-selection app-margin-right-10\" style=\"display: flex;\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a [class.fa-spin]=\"_state.jobsInProgress > 0\" class=\"fa fa-cog dropdown-toggle app-pointer\" style=\"color: white; font-size: 20px; align-self: center;\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"nav-jobs-menu\" role=\"menu\">\r\n <div class=\"nav-jobs-menu-header\">\r\n <span>{{'Job Applicativi' | localize : lc}}</span>\r\n <span class=\"pull-right m-t-min-2\"><mat-slide-toggle [(ngModel)]=\"_state.notifyOnCompletedJobs\" (click)=\"clearMessages(); $event.stopPropagation();\"></mat-slide-toggle></span>\r\n <span class=\"pull-right app-margin-right-5\">{{'Notifiche' | localize : lc}}:</span>\r\n </div>\r\n <div class=\"nav-jobs-menu-list\">\r\n <div *ngIf=\"_state.allJobs.length == 0\" class=\"nav-jobs-menu-list-empty\">\r\n <div>{{\"Al momento non c'\u00E8 nulla in esecuzione\" | localize : lc}}</div>\r\n </div>\r\n <div *ngFor=\"let job of _state.allJobs; let last = last\" [class.app-margin-bottom-5]=\"!last\">\r\n <span class=\"nav-jobs-menu-list-description\">\r\n <span *ngIf=\"!job.completed\" title=\"{{job.description}}\">{{job.smalldescription}}</span>\r\n <span *ngIf=\"job.completed\" title=\"{{job.description}}\" class=\"app-link app-no-selection app-inline app-pointer\" (click)=\"completedJobClicked(job); $event.stopPropagation();\">{{job.smalldescription}}</span>\r\n <strong class=\"pull-right\" *ngIf=\"!job.completed\">{{job.percentage}}%</strong>\r\n <strong class=\"pull-right\" *ngIf=\"job.completed\">{{ 'Completed' | localize : lc }}</strong>\r\n </span>\r\n <div class=\"progress progress-sm\">\r\n <progressbar *ngIf=\"!job.completed\" [max]=\"100\" [value]=\"job.percentage\" [striped]=\"true\" [animate]=\"true\"></progressbar>\r\n <progressbar *ngIf=\"job.completed\" type=\"success\" [max]=\"100\" [value]=\"100\" [striped]=\"false\" [animate]=\"false\"></progressbar>\r\n </div>\r\n </div>\r\n </div>\r\n </ul>\r\n </div>\r\n\r\n <!--Dropdown moduli-->\r\n <div class=\"user-menu app-no-selection app-margin-right-10\" style=\"display: flex;\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a class=\"fa fa-th dropdown-toggle app-pointer\" style=\"color: white !important; font-size: 20px; align-self: center;\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"module-board-menu container\" role=\"menu\">\r\n <div class=\"app-relative\"><jace-modules-board [Modules]=\"Modules\"></jace-modules-board></div>\r\n </ul>\r\n </div>\r\n\r\n <!-- Punti di estensione per Calendar, Chatroom e chi pi\u00F9 ne ha pi\u00F9 ne metta... -->\r\n <div class=\"user-menu app-no-selection app-margin-right-10\" *ngFor=\"let comp of extensionComponents\">\r\n <ng-template [componentHost]=\"comp\"></ng-template>\r\n </div>\r\n\r\n <!--Dropdown User Menu-->\r\n <div class=\"user-menu app-no-selection\" dropdown container=\"body\" placement=\"bottom right\" style=\"height:45px; padding-right: 10px;\">\r\n <a class=\"dropdown-toggle user-link app-pointer\" dropdownToggle>\r\n <div class=\"pull-left app-margin-right-10 app-relative\">\r\n <ng-container *ngTemplateOutlet=\"userIcon;\"></ng-container>\r\n </div>\r\n <div class=\"app-white-text pull-right d-none d-sm-block\">\r\n <ng-container *ngTemplateOutlet=\"debugInfos\"></ng-container>\r\n </div>\r\n <div class=\"clearfix\"></div>\r\n </a>\r\n\r\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right-user app-no-padding\" role=\"menu\">\r\n <li class=\"user-info\">\r\n <div class=\"app-relative\">\r\n <ng-container *ngTemplateOutlet=\"userIcon; context: { $implicit: {right: 62} }\"></ng-container>\r\n </div>\r\n <div class=\"app-white-text app-margin-top-10 app-margin-bottom-10\">\r\n <ng-container *ngTemplateOutlet=\"debugInfos\"></ng-container>\r\n </div>\r\n </li>\r\n <a class=\"dropdown-item app-pointer\" *ngIf=\"lc.Locale == 'en-US'\" (click)=\"lc.changeLocale('it-IT')\"><i class=\"fa fa-globe\">&nbsp;</i>Switch to Italian Site</a>\r\n <a class=\"dropdown-item app-pointer\" *ngIf=\"lc.Locale == 'it-IT'\" (click)=\"lc.changeLocale('en-US')\"><i class=\"fa fa-globe\">&nbsp;</i>Passa al Sito in Inglese</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"changeModule()\"><i class=\"fa fa-th\">&nbsp;</i>{{'Cambia Modulo' | localize : lc}}</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"changeTenant()\"><i class=\"fa fa-building\">&nbsp;</i>{{'Cambia Tenant' | localize : lc}}</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"clearUserPreferences()\"><i class=\"fa fa-user-times\">&nbsp;</i>{{'Ripulisci le Preferenze Utente' | localize : lc}}</a>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"clearAll()\"><i class=\"fa fa-recycle \">&nbsp;</i>{{'Ripulisci la Cache' | localize : lc}}</a>\r\n <div class=\"dropdown-divider\"></div>\r\n <a class=\"dropdown-item app-pointer\" (click)=\"logout()\"><i class=\"fa fa-power-off\">&nbsp;</i>Log out</a>\r\n </ul>\r\n </div>\r\n </ul>\r\n </ul>\r\n</nav>\r\n\r\n<!-- Template per l'icona dell'utente -->\r\n<ng-template #userIcon let-context>\r\n <img src='../assets/img/users/user.jpg' alt=\"user-img\" class=\"img-circle user-img\">\r\n <img src='../assets/img/events/christmas.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.christmasTime\">\r\n <img src='../assets/img/events/halloween.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.halloweenTime\">\r\n</ng-template>\r\n\r\n<!-- Template per le informaizoni di debug: Ambiente, ruoli, permessi ecc -->\r\n<ng-template #debugInfos>\r\n <div>{{CurrentIdentity?.FullName}} - ({{CurrentIdentity?.TenantName}})</div>\r\n <div class=\"text-sm-center\">\r\n <ng-container *ngIf=\"applicationEnvironment == 2\">{{'Ambiente di Sviluppo' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"applicationEnvironment == 5\">{{'Ambiente di Staging' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"applicationEnvironment == 6\">{{'Ambiente di Staging A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"applicationEnvironment == 1\">{{'Ambiente di Produzione' | localize : lc}}</ng-container>\r\n </div>\r\n <div [hidden]=\"true\">\r\n <div>Permissions:</div>\r\n <div *ngFor=\"let p of CurrentIdentity.Permissions\">{{p}}</div>\r\n <div>Roles:</div>\r\n <div *ngFor=\"let r of CurrentIdentity.Roles\">{{r}}</div>\r\n </div>\r\n</ng-template>\r\n\r\n<!-- Overlay per la ricerca globale -->\r\n<ng-container *ngIf=\"searchingTerm || searchResult\">\r\n <div class=\"app-absolute app-search-background\">\r\n <div class=\"app-search-result-box\">\r\n <ng-container *ngIf=\"searchingTerm\">\r\n <div class=\"app-search-card\"><i class=\"fa fa-spinner fa-spin\"></i>Sto effettuando la ricerca...</div>\r\n </ng-container>\r\n <ng-container *ngIf=\"searchResult && !searchingTerm\">\r\n <div class=\"row\" style=\"height: 100%;\">\r\n <!-- Spazio a sinistra -->\r\n <div class=\"col-md-1\"></div>\r\n <!-- Blocco con le categorie dei risultati -->\r\n <div class=\"col-md-3\">\r\n <div class=\"app-search-card\">\r\n <div class=\"app-relative\"><a class=\"fa fa-times text-danger app-absolute app-right-0 app-fs-20 app-pointer\" (click)=\"closeSearch();\"></a></div>\r\n <h4>Categorie di Ricerca</h4>\r\n <div class=\"app-pointer app-link\" [class.app-bold]=\"!SelectedResult && !ShowSingleTable\">\r\n <span (click)=\"FilterSearchResults()\">{{SelectedResult ? '-' : '>'}} Mostra Tutto</span>\r\n </div>\r\n <div *ngFor=\"let item of searchResult.results\" class=\"app-pointer app-link\" [class.app-bold]=\"SelectedResult?.description == item.description\">\r\n <span (click)=\"FilterSearchResults(item)\">{{SelectedResult?.description == item.description ? '>' : '-'}} Mostra {{item.description}} ({{item.items?.length}})</span>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Dettaglio risultati -->\r\n <div class=\"col-md-7\" style=\"overflow: auto; height: 100%;\">\r\n <ng-container *ngIf=\"!SelectedResult && !ShowSingleTable\">\r\n <div *ngFor=\"let res of searchResult.results; let i = index;\" class=\"app-search-card\" [style.margin-bottom.px]=\"i == (searchResult.results?.length - 1) ? 2 : 10\">\r\n <h4>{{res.description}}</h4>\r\n <es-table [(ngModel)]=\"res.items\" [DynamicRowColumnsDefinition]=\"res.est_cols\" [ArraymodeItemsPerPage]=\"10\"></es-table>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"SelectedResult && ShowSingleTable\">\r\n <div class=\"app-search-card\">\r\n <h4>{{SelectedResult.description}}</h4>\r\n <es-table [(ngModel)]=\"SelectedResult.items\" [DynamicRowColumnsDefinition]=\"SelectedResult.est_cols\" [ArraymodeItemsPerPage]=\"10\"></es-table>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <!-- Spazio a destra -->\r\n <div class=\"col-md-1\"></div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-container>", styles: [".nav-jobs-icon{position:absolute;left:-20px;margin:0;padding:0;top:10px;color:#fff!important;font-size:20px}.nav-jobs-menu{width:350px;height:250px;background:white;margin:2px 0 0;padding:5px;border:1px solid #ccc}.nav-jobs-menu-header{padding:8px;font-size:14px;background-color:#242d3a;margin-top:-5px;margin-left:-5px;margin-right:-5px}.nav-jobs-menu-header span{color:#fffc}.nav-jobs-menu-list{position:relative;overflow:auto;width:auto;height:203px;padding:5px}.nav-jobs-menu-list-description{font-size:13px;color:#666}.nav-jobs-menu-list-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:15px;text-align:center}.nav.az-navbar{height:60px;align-items:center;background-color:#242d3a}.nav.az-navbar .navbar-brand{width:205px;padding-top:0;font-size:0;margin-left:10px}.navbar-nav{flex-direction:row}#lines{border-bottom:7px double;border-top:2px solid;border-color:#ffffffe6;content:\"\";height:3px;width:20px;box-sizing:content-box;cursor:pointer}#lines:hover{opacity:.8}.app-search{position:relative;margin-left:20px}.app-search a{position:absolute;top:3px;right:14px;font-size:16px;color:#ffffff4d}.app-search .form-control{border:1px solid rgba(255,255,255,.1);font-size:11px;letter-spacing:.03em;height:30px;color:#fff;padding:7px 40px 7px 20px;background:rgba(255,255,255,.05);box-shadow:none;border-radius:30px;width:190px}.app-search input{border:1px solid rgba(255,255,255,.1);font-size:12px;letter-spacing:.03em;height:30px;color:#fff;padding:7px 40px 7px 20px;background:rgba(255,255,255,.05);box-shadow:none;border-radius:30px;width:240px}.completer-selected-row{background-color:#0275d8!important;color:#fff!important;width:100%!important}.completer-row{width:100%!important;color:#fff!important}.completer-dropdown{margin-top:2px!important;background-color:#344154f7!important;color:#fff;border-color:#111!important;box-shadow:0 6px 12px #0003}.search-results{left:-85px;top:-2px;z-index:1050;color:#fff;background-color:#344154f7}.search-results .btn-sm{padding:.15rem .25rem;font-size:.5rem}.search-results:before{content:\"\";border:0px}.search-results a{color:#242d3a}.search-results a:hover{color:#fff;background-color:#0275d8;cursor:pointer}.search-results a i{margin-right:8px}.right-section{position:absolute;right:10px;top:10px}.user-menu{font-size:14px}.user-menu .dropdown-toggle:after{display:none}.user-menu .dropdown-menu{right:0;top:auto!important;left:auto!important;margin-top:10px;padding-top:0;overflow:hidden;border-radius:0;font-size:14px;box-shadow:0 6px 12px #0003;transform:none!important}.user-menu .dropdown-menu a{color:#242d3a}.user-menu .dropdown-menu a:hover{color:#fff;background-color:#242d3a}.user-menu .dropdown-menu a i{margin-right:8px}.user-link{margin-right:6px}.user-link span{color:#fff;margin-left:7px;letter-spacing:.02em}.user-link img{width:40px;border-radius:50%}.user-link:hover,.user-link:focus{text-decoration:none}.user-info{background-color:#242d3a;padding:8px;text-align:center;width:240px;margin-bottom:5px}.user-info img{width:100px;margin-top:5px;border-radius:50%}.user-info p{color:#ebebeb;margin-top:10px}.user-info small{display:block}@media (max-width: 767px){.nav.az-navbar .navbar-brand{width:auto}}.navbar-search{color:#ffffff80!important}.navbar-help{font-size:20px!important;color:#ffffff80!important;border:1px solid rgba(255,255,255,.1);margin-left:5px!important;padding:5px 10px 2px 8px!important;border-radius:50%;background-color:#ffffff0d;cursor:pointer;width:31px;height:31px}.navbar-fill{margin-top:-5px;margin-bottom:-5px;margin-left:10px;width:calc(100% - 530px)}.navbar-fillable{width:calc(100% - 231px)}.navbar-floating-label{position:absolute;top:-9px;left:-5px;background:#242D3A;padding-left:5px;padding-right:5px;color:#ffffffe6!important}.collapse-menu-link{color:#fff!important;font-size:20px;padding-top:5px;cursor:pointer}.module-nav-menu-link{color:#fff!important;font-size:20px;padding-top:10px;padding-right:5px;cursor:pointer}.module-board-menu{position:relative;top:1px;background-color:#1f1f1f;padding:15px}.overlay{height:100%;width:100%;display:none;padding-left:10%;padding-right:10%;position:fixed;z-index:999999;left:0;top:0;background-color:#000;background-color:#000000e6;overflow-x:hidden;transition:.5s}.overlay-content{position:relative;top:25%;width:100%;text-align:center;margin-top:30px}.overlay p{padding:8px;text-decoration:none;font-size:36px;color:#818181;display:block;transition:.3s}.overlay a:hover,.overlay a:focus{color:#f1f1f1}.overlay .closebtn{position:absolute;top:20px;right:45px;font-size:60px}@media screen and (max-height: 450px){.overlay a{font-size:20px}.overlay .closebtn{font-size:40px;top:15px;right:35px}}\n"] }]
693
695
  }], ctorParameters: function () {
694
- return [{ type: i1$2.PreferencesService }, { type: i1$2.CacheService }, { type: i2.GlobalSearchService }, { type: i3$1.BaseMessageService }, { type: i3$1.NotificationsService }, { type: i4.MessageService }, { type: i1$1.LocalizationService }, { type: i2$2.HTTPService }, { type: i0.ChangeDetectorRef }, { type: i2.AppState }, { type: i2.TokenService }, { type: i1.Router }, { type: i2.CompletedJobRedirectionService }, { type: undefined, decorators: [{
696
+ return [{ type: i1$3.PreferencesService }, { type: i1$3.CacheService }, { type: i1.GlobalSearchService }, { type: i3$1.BaseMessageService }, { type: i3$1.NotificationsService }, { type: i4.MessageService }, { type: i1$2.LocalizationService }, { type: i2$1.HTTPService }, { type: i0.ChangeDetectorRef }, { type: i1.AppState }, { type: i1.TokenService }, { type: i1$1.Router }, { type: i1.CompletedJobRedirectionService }, { type: undefined, decorators: [{
695
697
  type: Inject,
696
698
  args: [NAVBAR_EXTENSIONS]
697
699
  }] }];
@@ -737,12 +739,12 @@ class PagesComponent {
737
739
  this.getHeight();
738
740
  }
739
741
  }
740
- PagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PagesComponent, deps: [{ token: i3.DomSanitizer }, { token: i2.AppState }, { token: i2$1.Location }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
741
- PagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: PagesComponent, isStandalone: true, selector: "pages", host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0, template: "<navbar></navbar>\r\n<div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <sidebar></sidebar>\r\n <div class=\"main-wrapper\" [style.max-height.px]=\"maxHeight\" [ngClass]=\"{'menu-collapsed': isMenuCollapsed}\">\r\n <div class=\"az-overlay\" *ngIf=\"!isMenuCollapsed\" (click)=\"hideMenu()\"></div>\r\n\r\n <div class=\"main\">\r\n <breadcrumb></breadcrumb>\r\n <router-outlet></router-outlet>\r\n </div>\r\n\r\n <back-top [position]=\"200\"></back-top>\r\n </div>\r\n </div>\r\n</div>", styles: [".main-wrapper{margin-left:230px;padding:20px 40px;margin-top:60px;position:relative;width:100%;overflow:auto}.main-wrapper.menu-collapsed{margin-left:50px}.main{height:100%;min-height:500px}.footer{padding-top:20px}.footer .footer-main{display:inline-block}.footer .footer-main .copyright{color:#242424;font-size:14px}.footer .footer-main .copyright a{color:#242d3a}.footer .footer-main .share{padding-left:5px;margin:0}.footer .footer-main .share li{list-style:none;float:left;margin-left:10px}.footer .footer-main .share li i{cursor:pointer;transition:all .1s ease;color:#fff;padding:9px 9px 6px;font-size:12px;border-radius:50%;background-color:#242d3a}.footer .footer-main .share li i.socicon-facebook{background-color:#3b5998}.footer .footer-main .share li i.socicon-twitter{background-color:#55acee}.footer .footer-main .share li i.socicon-instagram{background-color:#8a3ab9}.footer .footer-main .share li i.socicon-pinterest{background-color:#c92228}.footer .footer-main .share li i:hover{opacity:.9}.footer .created{color:#242424;font-size:14px}.footer .created i{color:red}.az-overlay{position:fixed;inset:0;z-index:8;background:rgba(36,45,58,.2);width:100%;height:100%;display:none}@media (max-width: 544px){.main-wrapper,.main-wrapper.menu-collapsed{margin-left:0;padding:30px 20px}.az-overlay{display:block}.footer .footer-main,.footer .created{float:none}}@media (min-width: 544px) and (max-width: 768px){.main-wrapper,.main-wrapper.menu-collapsed{margin-left:50px}.az-overlay{display:block}}\n"], dependencies: [{ kind: "component", type: Navbar, selector: "navbar" }, { kind: "component", type: Sidebar, selector: "sidebar" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: Breadcrumb, selector: "breadcrumb" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: BackTop, selector: "back-top", inputs: ["position", "showSpeed", "moveSpeed"] }], encapsulation: i0.ViewEncapsulation.None });
742
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PagesComponent, decorators: [{
742
+ PagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PagesComponent, deps: [{ token: i3.DomSanitizer }, { token: i1.AppState }, { token: i2.Location }, { token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Component });
743
+ PagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: PagesComponent, isStandalone: true, selector: "pages", host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0, template: "<navbar></navbar>\r\n<div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <sidebar></sidebar>\r\n <div class=\"main-wrapper\" [style.max-height.px]=\"maxHeight\" [ngClass]=\"{'menu-collapsed': isMenuCollapsed}\">\r\n <div class=\"az-overlay\" *ngIf=\"!isMenuCollapsed\" (click)=\"hideMenu()\"></div>\r\n\r\n <div class=\"main\">\r\n <breadcrumb></breadcrumb>\r\n <router-outlet></router-outlet>\r\n </div>\r\n\r\n <back-top [position]=\"200\"></back-top>\r\n </div>\r\n </div>\r\n</div>", styles: [".main-wrapper{margin-left:230px;padding:20px 40px;margin-top:60px;position:relative;width:100%;overflow:auto}.main-wrapper.menu-collapsed{margin-left:50px}.main{height:100%;min-height:500px}.footer{padding-top:20px}.footer .footer-main{display:inline-block}.footer .footer-main .copyright{color:#242424;font-size:14px}.footer .footer-main .copyright a{color:#242d3a}.footer .footer-main .share{padding-left:5px;margin:0}.footer .footer-main .share li{list-style:none;float:left;margin-left:10px}.footer .footer-main .share li i{cursor:pointer;transition:all .1s ease;color:#fff;padding:9px 9px 6px;font-size:12px;border-radius:50%;background-color:#242d3a}.footer .footer-main .share li i.socicon-facebook{background-color:#3b5998}.footer .footer-main .share li i.socicon-twitter{background-color:#55acee}.footer .footer-main .share li i.socicon-instagram{background-color:#8a3ab9}.footer .footer-main .share li i.socicon-pinterest{background-color:#c92228}.footer .footer-main .share li i:hover{opacity:.9}.footer .created{color:#242424;font-size:14px}.footer .created i{color:red}.az-overlay{position:fixed;inset:0;z-index:8;background:rgba(36,45,58,.2);width:100%;height:100%;display:none}@media (max-width: 544px){.main-wrapper,.main-wrapper.menu-collapsed{margin-left:0;padding:30px 20px}.az-overlay{display:block}.footer .footer-main,.footer .created{float:none}}@media (min-width: 544px) and (max-width: 768px){.main-wrapper,.main-wrapper.menu-collapsed{margin-left:50px}.az-overlay{display:block}}\n"], dependencies: [{ kind: "component", type: Navbar, selector: "navbar" }, { kind: "component", type: Sidebar, selector: "sidebar" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: Breadcrumb, selector: "breadcrumb" }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: BackTop, selector: "back-top", inputs: ["position", "showSpeed", "moveSpeed"] }], encapsulation: i0.ViewEncapsulation.None });
744
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: PagesComponent, decorators: [{
743
745
  type: Component,
744
746
  args: [{ selector: "pages", encapsulation: ViewEncapsulation.None, standalone: true, imports: [Navbar, Sidebar, NgClass, NgIf, Breadcrumb, RouterOutlet, BackTop], template: "<navbar></navbar>\r\n<div class=\"container-fluid\">\r\n <div class=\"row\">\r\n <sidebar></sidebar>\r\n <div class=\"main-wrapper\" [style.max-height.px]=\"maxHeight\" [ngClass]=\"{'menu-collapsed': isMenuCollapsed}\">\r\n <div class=\"az-overlay\" *ngIf=\"!isMenuCollapsed\" (click)=\"hideMenu()\"></div>\r\n\r\n <div class=\"main\">\r\n <breadcrumb></breadcrumb>\r\n <router-outlet></router-outlet>\r\n </div>\r\n\r\n <back-top [position]=\"200\"></back-top>\r\n </div>\r\n </div>\r\n</div>", styles: [".main-wrapper{margin-left:230px;padding:20px 40px;margin-top:60px;position:relative;width:100%;overflow:auto}.main-wrapper.menu-collapsed{margin-left:50px}.main{height:100%;min-height:500px}.footer{padding-top:20px}.footer .footer-main{display:inline-block}.footer .footer-main .copyright{color:#242424;font-size:14px}.footer .footer-main .copyright a{color:#242d3a}.footer .footer-main .share{padding-left:5px;margin:0}.footer .footer-main .share li{list-style:none;float:left;margin-left:10px}.footer .footer-main .share li i{cursor:pointer;transition:all .1s ease;color:#fff;padding:9px 9px 6px;font-size:12px;border-radius:50%;background-color:#242d3a}.footer .footer-main .share li i.socicon-facebook{background-color:#3b5998}.footer .footer-main .share li i.socicon-twitter{background-color:#55acee}.footer .footer-main .share li i.socicon-instagram{background-color:#8a3ab9}.footer .footer-main .share li i.socicon-pinterest{background-color:#c92228}.footer .footer-main .share li i:hover{opacity:.9}.footer .created{color:#242424;font-size:14px}.footer .created i{color:red}.az-overlay{position:fixed;inset:0;z-index:8;background:rgba(36,45,58,.2);width:100%;height:100%;display:none}@media (max-width: 544px){.main-wrapper,.main-wrapper.menu-collapsed{margin-left:0;padding:30px 20px}.az-overlay{display:block}.footer .footer-main,.footer .created{float:none}}@media (min-width: 544px) and (max-width: 768px){.main-wrapper,.main-wrapper.menu-collapsed{margin-left:50px}.az-overlay{display:block}}\n"] }]
745
- }], ctorParameters: function () { return [{ type: i3.DomSanitizer }, { type: i2.AppState }, { type: i2$1.Location }, { type: i1.Router }]; }, propDecorators: { onResize: [{
747
+ }], ctorParameters: function () { return [{ type: i3.DomSanitizer }, { type: i1.AppState }, { type: i2.Location }, { type: i1$1.Router }]; }, propDecorators: { onResize: [{
746
748
  type: HostListener,
747
749
  args: ['window:resize', ['$event']]
748
750
  }] } });
@@ -779,12 +781,12 @@ class ExternalPagesComponent {
779
781
  });
780
782
  }
781
783
  }
782
- ExternalPagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ExternalPagesComponent, deps: [{ token: i5.AccessControlService }, { token: i1$1.LocalizationService }, { token: i2$2.HTTPService }, { token: i2.AppState }, { token: i1.ActivatedRoute }, { token: i2.TokenService }], target: i0.ɵɵFactoryTarget.Component });
783
- ExternalPagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ExternalPagesComponent, isStandalone: true, selector: "external-pages", ngImport: i0, template: "<router-outlet></router-outlet>", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
784
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ExternalPagesComponent, decorators: [{
784
+ ExternalPagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExternalPagesComponent, deps: [{ token: i5.AccessControlService }, { token: i1$2.LocalizationService }, { token: i2$1.HTTPService }, { token: i1.AppState }, { token: i1$1.ActivatedRoute }, { token: i1.TokenService }], target: i0.ɵɵFactoryTarget.Component });
785
+ ExternalPagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ExternalPagesComponent, isStandalone: true, selector: "external-pages", ngImport: i0, template: "<router-outlet></router-outlet>", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
786
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ExternalPagesComponent, decorators: [{
785
787
  type: Component,
786
788
  args: [{ selector: "external-pages", standalone: true, imports: [RouterOutlet], template: "<router-outlet></router-outlet>" }]
787
- }], ctorParameters: function () { return [{ type: i5.AccessControlService }, { type: i1$1.LocalizationService }, { type: i2$2.HTTPService }, { type: i2.AppState }, { type: i1.ActivatedRoute }, { type: i2.TokenService }]; } });
789
+ }], ctorParameters: function () { return [{ type: i5.AccessControlService }, { type: i1$2.LocalizationService }, { type: i2$1.HTTPService }, { type: i1.AppState }, { type: i1$1.ActivatedRoute }, { type: i1.TokenService }]; } });
788
790
 
789
791
  // Angular
790
792
  class JaceLoginComponent {
@@ -795,9 +797,9 @@ class JaceLoginComponent {
795
797
  console.error("myconfig.AuthUrl is not provided");
796
798
  }
797
799
  }
798
- JaceLoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: JaceLoginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
799
- JaceLoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: JaceLoginComponent, isStandalone: true, selector: "login", ngImport: i0, template: "<div class=\"login-container\">\r\n <div class=\"redirecting-div\">\r\n <div class=\"redirecting-message\"><h1>Redirecting to login...</h1></div>\r\n <div class=\"signal\"></div>\r\n </div>\r\n</div>\r\n", styles: [".redirecting-div{background:#3d3d3d!important;display:flex;align-items:center;justify-content:center;min-height:100vh}.redirecting-div h1{color:#fbc925;font-family:Passion One}.redirecting-message{align-self:center}\n"], encapsulation: i0.ViewEncapsulation.None });
800
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: JaceLoginComponent, decorators: [{
800
+ JaceLoginComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JaceLoginComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
801
+ JaceLoginComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: JaceLoginComponent, isStandalone: true, selector: "login", ngImport: i0, template: "<div class=\"login-container\">\r\n <div class=\"redirecting-div\">\r\n <div class=\"redirecting-message\"><h1>Redirecting to login...</h1></div>\r\n <div class=\"signal\"></div>\r\n </div>\r\n</div>\r\n", styles: [".redirecting-div{background:#3d3d3d!important;display:flex;align-items:center;justify-content:center;min-height:100vh}.redirecting-div h1{color:#fbc925;font-family:Passion One}.redirecting-message{align-self:center}\n"], encapsulation: i0.ViewEncapsulation.None });
802
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JaceLoginComponent, decorators: [{
801
803
  type: Component,
802
804
  args: [{ selector: "login", encapsulation: ViewEncapsulation.None, standalone: true, template: "<div class=\"login-container\">\r\n <div class=\"redirecting-div\">\r\n <div class=\"redirecting-message\"><h1>Redirecting to login...</h1></div>\r\n <div class=\"signal\"></div>\r\n </div>\r\n</div>\r\n", styles: [".redirecting-div{background:#3d3d3d!important;display:flex;align-items:center;justify-content:center;min-height:100vh}.redirecting-div h1{color:#fbc925;font-family:Passion One}.redirecting-message{align-self:center}\n"] }]
803
805
  }] });
@@ -836,13 +838,13 @@ class RedirecterComponent {
836
838
  }
837
839
  }
838
840
  }
839
- RedirecterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RedirecterComponent, deps: [{ token: i2.AppState }, { token: i1.ActivatedRoute }, { token: i1.Router }, { token: REDIRECT_MAP, optional: true }], target: i0.ɵɵFactoryTarget.Component });
840
- RedirecterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RedirecterComponent, isStandalone: true, selector: "redirecter", ngImport: i0, template: "<div *ngIf=\"Error\">{{Error}}</div>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
841
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RedirecterComponent, decorators: [{
841
+ RedirecterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RedirecterComponent, deps: [{ token: i1.AppState }, { token: i1$1.ActivatedRoute }, { token: i1$1.Router }, { token: REDIRECT_MAP, optional: true }], target: i0.ɵɵFactoryTarget.Component });
842
+ RedirecterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: RedirecterComponent, isStandalone: true, selector: "redirecter", ngImport: i0, template: "<div *ngIf=\"Error\">{{Error}}</div>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
843
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RedirecterComponent, decorators: [{
842
844
  type: Component,
843
845
  args: [{ selector: "redirecter", encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgIf], template: "<div *ngIf=\"Error\">{{Error}}</div>" }]
844
846
  }], ctorParameters: function () {
845
- return [{ type: i2.AppState }, { type: i1.ActivatedRoute }, { type: i1.Router }, { type: undefined, decorators: [{
847
+ return [{ type: i1.AppState }, { type: i1$1.ActivatedRoute }, { type: i1$1.Router }, { type: undefined, decorators: [{
846
848
  type: Optional
847
849
  }, {
848
850
  type: Inject,
@@ -857,6 +859,7 @@ class BaseComponent extends ReactiveComponent {
857
859
  this.NavigationParameters = null;
858
860
  let _activatedRoute = injector.get(ActivatedRoute);
859
861
  let _state = injector.get(AppState);
862
+ let emb = injector.get(AppEmbeddingExtensions);
860
863
  this._router = injector.get(Router);
861
864
  _state.registerNavigationIfMeaningful(_activatedRoute.snapshot);
862
865
  // Parametri in maniera "dinamica"
@@ -870,7 +873,7 @@ class BaseComponent extends ReactiveComponent {
870
873
  this.NavigationTitle = _activatedRoute.snapshot.data["title"] || "";
871
874
  // Per i componenti navigabili non embeddati è inutile mandare il messaggio di navigazione
872
875
  // Così come per quelli per cui non esiste un titolo (cioè compoennti verso cui non si è navigato direttamente)
873
- if (!_state.Embedded || !this.NavigationTitle)
876
+ if (!emb.Embedded || !this.NavigationTitle)
874
877
  return;
875
878
  // Se sono dentro un iframe risalgo a quello di livello più alto in assoluto
876
879
  let tmpWindow = window;
@@ -889,9 +892,9 @@ class BaseComponent extends ReactiveComponent {
889
892
  this._router.navigate(command, extras);
890
893
  }
891
894
  }
892
- BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
893
- BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BaseComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
894
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BaseComponent, decorators: [{
895
+ BaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
896
+ BaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: BaseComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true });
897
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseComponent, decorators: [{
895
898
  type: Component,
896
899
  args: [{ template: '' }]
897
900
  }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
@@ -942,12 +945,12 @@ class JaceResourceComponent {
942
945
  this.sanitizedSourceResource = this.sanitizer.bypassSecurityTrustResourceUrl(finalUrl);
943
946
  }
944
947
  }
945
- JaceResourceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: JaceResourceComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2.AppState }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
946
- JaceResourceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: JaceResourceComponent, isStandalone: true, selector: "jace-resource", inputs: { Module: "Module", ModuleKeyType: "ModuleKeyType", Page: "Page", Localhost: "Localhost" }, ngImport: i0, template: "<iframe *ngIf=\"!!sanitizedSourceResource\" id=\"externalFrame\" style=\"width: 100%; border: none;\" [style.height.px]=\"Height\" \r\n [src]=\"sanitizedSourceResource\">\r\n</iframe>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
947
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: JaceResourceComponent, decorators: [{
948
+ JaceResourceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JaceResourceComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AppState }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
949
+ JaceResourceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: JaceResourceComponent, isStandalone: true, selector: "jace-resource", inputs: { Module: "Module", ModuleKeyType: "ModuleKeyType", Page: "Page", Localhost: "Localhost" }, ngImport: i0, template: "<iframe *ngIf=\"!!sanitizedSourceResource\" id=\"externalFrame\" style=\"width: 100%; border: none;\" [style.height.px]=\"Height\" \r\n [src]=\"sanitizedSourceResource\">\r\n</iframe>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
950
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: JaceResourceComponent, decorators: [{
948
951
  type: Component,
949
952
  args: [{ selector: "jace-resource", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf], template: "<iframe *ngIf=\"!!sanitizedSourceResource\" id=\"externalFrame\" style=\"width: 100%; border: none;\" [style.height.px]=\"Height\" \r\n [src]=\"sanitizedSourceResource\">\r\n</iframe>" }]
950
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i2.AppState }, { type: i3.DomSanitizer }]; }, propDecorators: { Module: [{
953
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.AppState }, { type: i3.DomSanitizer }]; }, propDecorators: { Module: [{
951
954
  type: Input
952
955
  }], ModuleKeyType: [{
953
956
  type: Input
@@ -970,12 +973,12 @@ class EsModalComponent {
970
973
  show() { this.Modal.show(); }
971
974
  hide() { this.Modal.hide(); }
972
975
  }
973
- EsModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EsModalComponent, deps: [{ token: i2.AppState }], target: i0.ɵɵFactoryTarget.Component });
974
- EsModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EsModalComponent, isStandalone: true, selector: "es-modal", inputs: { Size: "Size", IgnoreBackdrop: "IgnoreBackdrop", HasOverlap: "HasOverlap" }, outputs: { onShow: "onShow", onHide: "onHide" }, viewQueries: [{ propertyName: "Modal", first: true, predicate: ["modalRef"], descendants: true }], ngImport: i0, template: "<div esModal #modalRef=\"es-modal\"\r\n class=\"modal fade\"\r\n role=\"dialog\"\r\n aria-hidden=\"true\"\r\n (onShow)=\"onShow.emit()\"\r\n (onHide)=\"onHide.emit()\"\r\n [config]=\"{backdrop: true, ignoreBackdropClick: IgnoreBackdrop}\">\r\n <div class=\"modal-dialog\"\r\n [class.modal-sm]=\"Size == 'S'\"\r\n [class.modal-md]=\"Size == 'M'\"\r\n [class.modal-lg]=\"Size == 'L'\"\r\n [class.modal-xl]=\"Size == 'XL'\"\r\n [class.modal-xxl]=\"Size == 'XXL'\"\r\n [class.modal-feminist]=\"Size == 'HOLYSHIT'\"\r\n emaDraggable>\r\n <div class=\"modal-content\" [class.app-bg-lightgrey]=\"HasOverlap\"\r\n style=\"cursor: default;\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: EsModalDirective, selector: "[esModal]", exportAs: ["es-modal"] }, { kind: "directive", type: Draggable, selector: "[emaDraggable]", inputs: ["emaDraggable"] }] });
975
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EsModalComponent, decorators: [{
976
+ EsModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EsModalComponent, deps: [{ token: i1.AppState }], target: i0.ɵɵFactoryTarget.Component });
977
+ EsModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: EsModalComponent, isStandalone: true, selector: "es-modal", inputs: { Size: "Size", IgnoreBackdrop: "IgnoreBackdrop", HasOverlap: "HasOverlap" }, outputs: { onShow: "onShow", onHide: "onHide" }, viewQueries: [{ propertyName: "Modal", first: true, predicate: ["modalRef"], descendants: true }], ngImport: i0, template: "<div esModal #modalRef=\"es-modal\"\r\n class=\"modal fade\"\r\n role=\"dialog\"\r\n aria-hidden=\"true\"\r\n (onShow)=\"onShow.emit()\"\r\n (onHide)=\"onHide.emit()\"\r\n [config]=\"{backdrop: true, ignoreBackdropClick: IgnoreBackdrop}\">\r\n <div class=\"modal-dialog\"\r\n [class.modal-sm]=\"Size == 'S'\"\r\n [class.modal-md]=\"Size == 'M'\"\r\n [class.modal-lg]=\"Size == 'L'\"\r\n [class.modal-xl]=\"Size == 'XL'\"\r\n [class.modal-xxl]=\"Size == 'XXL'\"\r\n [class.modal-feminist]=\"Size == 'HOLYSHIT'\"\r\n emaDraggable>\r\n <div class=\"modal-content\" [class.app-bg-lightgrey]=\"HasOverlap\"\r\n style=\"cursor: default;\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: EsModalDirective, selector: "[esModal]", exportAs: ["es-modal"] }, { kind: "directive", type: Draggable, selector: "[emaDraggable]", inputs: ["emaDraggable"] }] });
978
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EsModalComponent, decorators: [{
976
979
  type: Component,
977
980
  args: [{ selector: "es-modal", standalone: true, imports: [EsModalDirective, Draggable], template: "<div esModal #modalRef=\"es-modal\"\r\n class=\"modal fade\"\r\n role=\"dialog\"\r\n aria-hidden=\"true\"\r\n (onShow)=\"onShow.emit()\"\r\n (onHide)=\"onHide.emit()\"\r\n [config]=\"{backdrop: true, ignoreBackdropClick: IgnoreBackdrop}\">\r\n <div class=\"modal-dialog\"\r\n [class.modal-sm]=\"Size == 'S'\"\r\n [class.modal-md]=\"Size == 'M'\"\r\n [class.modal-lg]=\"Size == 'L'\"\r\n [class.modal-xl]=\"Size == 'XL'\"\r\n [class.modal-xxl]=\"Size == 'XXL'\"\r\n [class.modal-feminist]=\"Size == 'HOLYSHIT'\"\r\n emaDraggable>\r\n <div class=\"modal-content\" [class.app-bg-lightgrey]=\"HasOverlap\"\r\n style=\"cursor: default;\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n</div>" }]
978
- }], ctorParameters: function () { return [{ type: i2.AppState }]; }, propDecorators: { Size: [{
981
+ }], ctorParameters: function () { return [{ type: i1.AppState }]; }, propDecorators: { Size: [{
979
982
  type: Input
980
983
  }], IgnoreBackdrop: [{
981
984
  type: Input
@@ -1000,12 +1003,12 @@ class EsModalHeadComponent {
1000
1003
  this.Close.emit();
1001
1004
  }
1002
1005
  }
1003
- EsModalHeadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EsModalHeadComponent, deps: [{ token: i2.AppState }], target: i0.ɵɵFactoryTarget.Component });
1004
- EsModalHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: EsModalHeadComponent, isStandalone: true, selector: "es-modal-head", outputs: { Close: "Close" }, ngImport: i0, template: "<div class=\"modal-header\">\r\n <div class=\"modal-title modal-head pull-left\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"close modal-close-button\"\r\n (click)=\"CloseFunction();\" \r\n aria-label=\"Close\">\r\n <span aria-hidden=\"true\">&times;</span>\r\n </div>\r\n</div>", styles: [".modal-head{font-size:1.25rem}.modal-close-button{margin:auto;padding:0 10px}\n"] });
1005
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: EsModalHeadComponent, decorators: [{
1006
+ EsModalHeadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EsModalHeadComponent, deps: [{ token: i1.AppState }], target: i0.ɵɵFactoryTarget.Component });
1007
+ EsModalHeadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: EsModalHeadComponent, isStandalone: true, selector: "es-modal-head", outputs: { Close: "Close" }, ngImport: i0, template: "<div class=\"modal-header\">\r\n <div class=\"modal-title modal-head pull-left\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"close modal-close-button\"\r\n (click)=\"CloseFunction();\" \r\n aria-label=\"Close\">\r\n <span aria-hidden=\"true\">&times;</span>\r\n </div>\r\n</div>", styles: [".modal-head{font-size:1.25rem}.modal-close-button{margin:auto;padding:0 10px}\n"] });
1008
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: EsModalHeadComponent, decorators: [{
1006
1009
  type: Component,
1007
1010
  args: [{ selector: "es-modal-head", standalone: true, template: "<div class=\"modal-header\">\r\n <div class=\"modal-title modal-head pull-left\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div class=\"close modal-close-button\"\r\n (click)=\"CloseFunction();\" \r\n aria-label=\"Close\">\r\n <span aria-hidden=\"true\">&times;</span>\r\n </div>\r\n</div>", styles: [".modal-head{font-size:1.25rem}.modal-close-button{margin:auto;padding:0 10px}\n"] }]
1008
- }], ctorParameters: function () { return [{ type: i2.AppState }]; }, propDecorators: { Close: [{
1011
+ }], ctorParameters: function () { return [{ type: i1.AppState }]; }, propDecorators: { Close: [{
1009
1012
  type: Output
1010
1013
  }] } });
1011
1014
 
@@ -1029,8 +1032,8 @@ const COMPONENTS = [
1029
1032
  ];
1030
1033
  class ComponentsModule {
1031
1034
  }
1032
- ComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1033
- ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: ComponentsModule, imports: [CommonModule, RouterModule, FormsModule, DirectivesModule, LocalizationModule, ProgressbarModule, MatSlideToggleModule, BsDropdownModule, EsTableModule, ModalModule, BackTop,
1035
+ ComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1036
+ ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ComponentsModule, imports: [CommonModule, RouterModule, FormsModule, DirectivesModule, LocalizationModule, ProgressbarModule, MatSlideToggleModule, BsDropdownModule, EsTableModule, ModalModule, BackTop,
1034
1037
  Breadcrumb,
1035
1038
  PageNotFoundComponent,
1036
1039
  ServerErrorComponent,
@@ -1059,8 +1062,8 @@ ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
1059
1062
  JaceResourceComponent,
1060
1063
  EsModalComponent,
1061
1064
  EsModalHeadComponent] });
1062
- ComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ComponentsModule, imports: [CommonModule, RouterModule, FormsModule, DirectivesModule, LocalizationModule, ProgressbarModule, MatSlideToggleModule, BsDropdownModule, EsTableModule, ModalModule, COMPONENTS] });
1063
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ComponentsModule, decorators: [{
1065
+ ComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ComponentsModule, imports: [CommonModule, RouterModule, FormsModule, DirectivesModule, LocalizationModule, ProgressbarModule, MatSlideToggleModule, BsDropdownModule, EsTableModule, ModalModule, COMPONENTS] });
1066
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ComponentsModule, decorators: [{
1064
1067
  type: NgModule,
1065
1068
  args: [{
1066
1069
  imports: [CommonModule, RouterModule, FormsModule, DirectivesModule, LocalizationModule, ProgressbarModule, MatSlideToggleModule, BsDropdownModule, EsTableModule, ModalModule, ...COMPONENTS],