@esfaenza/core 20.3.12 → 20.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/back-top/back-top.component.d.ts +12 -0
- package/components/base/base.component.d.ts +25 -0
- package/components/base/embedding.component.d.ts +18 -0
- package/components/base/reactive.component.d.ts +9 -0
- package/components/breadcrumb/breadcrumb.component.d.ts +26 -0
- package/components/components.module.d.ts +33 -0
- package/components/entity-feeds-widget/entity-feeds-widget.component.d.ts +65 -0
- package/components/error/errorpage.component.d.ts +37 -0
- package/components/es-image-cropper/es-image-cropper.component.d.ts +25 -0
- package/components/es-modal/es-modal-head/es-modal-head.component.d.ts +12 -0
- package/components/es-modal/es-modal.component.d.ts +18 -0
- package/components/external-page/external_pages.component.d.ts +13 -0
- package/components/index.d.ts +5 -660
- package/components/jace-login/jace-login.component.d.ts +8 -0
- package/components/jace-resource/jace-resource.component.d.ts +25 -0
- package/components/labeled-span/labeled-span.component.d.ts +11 -0
- package/components/navbar/navbar.component.d.ts +55 -0
- package/components/navbar/navbar.component.loc.d.ts +8 -0
- package/components/page/pages.component.d.ts +23 -0
- package/components/public-api.d.ts +25 -0
- package/components/redirecter/redirecter.component.d.ts +23 -0
- package/components/search/base-search.d.ts +38 -0
- package/components/selector/base/base-selector.component.d.ts +98 -0
- package/components/selector/base/models/BaseSelectorInitialization.d.ts +9 -0
- package/components/selector/form-selector/form-selector.component.d.ts +27 -0
- package/components/selector/form-selector-dialog/form-selector-dialog.component.d.ts +21 -0
- package/components/sidebar/sidebar.component.d.ts +64 -0
- package/components/sidebar/sidebar.component.loc.d.ts +8 -0
- package/components/user_infos/user_infos.component.d.ts +54 -0
- package/components/user_infos/user_infos.component.loc.d.ts +8 -0
- package/directives/componentHost/componentHost.directive.d.ts +12 -0
- package/directives/directives.module.d.ts +12 -0
- package/directives/draggable/draggable.directive.d.ts +13 -0
- package/directives/es-modal/es-modal.directive.d.ts +15 -0
- package/directives/es-routerLink/es-routerLink.directive.d.ts +14 -0
- package/directives/index.d.ts +5 -80
- package/directives/public-api.d.ts +7 -0
- package/directives/slim-scroll/slim-scroll.directive.d.ts +15 -0
- package/directives/widget/widget.directive.d.ts +9 -0
- package/domain/index.d.ts +5 -304
- package/domain/models/core/ApplicationJob.d.ts +12 -0
- package/domain/models/core/ApplicationMenu.d.ts +16 -0
- package/domain/models/core/ApplicationRoutes.d.ts +2 -0
- package/domain/models/core/EnvOptions.d.ts +15 -0
- package/domain/models/core/GenericItem.d.ts +10 -0
- package/domain/models/core/KeyValue.d.ts +5 -0
- package/domain/models/feeds/CreateUpdateFeedDto.d.ts +11 -0
- package/domain/models/feeds/EntityFeedsWidgetConfiguration.d.ts +14 -0
- package/domain/models/feeds/Feed.d.ts +24 -0
- package/domain/models/global_search/SaerchResultContainer.d.ts +5 -0
- package/domain/models/global_search/SearchResult.d.ts +10 -0
- package/domain/models/jace/AccountScope.d.ts +9 -0
- package/domain/models/jace/ActiveModuleView.d.ts +11 -0
- package/domain/models/jace/CategoriesWithModules.d.ts +6 -0
- package/domain/models/jace/JaceAccount.d.ts +17 -0
- package/domain/models/jace/JaceIdentity.d.ts +17 -0
- package/domain/models/jace/JaceModule.d.ts +8 -0
- package/domain/models/jace/JacePermission.d.ts +10 -0
- package/domain/models/jace/JaceRole.d.ts +13 -0
- package/domain/models/jace/JaceUser.d.ts +9 -0
- package/domain/models/user/UpdateAccountRecoverySettingsDto.d.ts +5 -0
- package/domain/models/user/UpdatePasswordDto.d.ts +9 -0
- package/domain/models/user/UpdateProfilePictureDto.d.ts +4 -0
- package/domain/models/user/UserAccount.d.ts +23 -0
- package/domain/public-api.d.ts +25 -0
- package/domain/tokens.d.ts +22 -0
- package/fesm2022/esfaenza-core-components.mjs +110 -105
- package/fesm2022/esfaenza-core-components.mjs.map +1 -1
- package/fesm2022/esfaenza-core-directives.mjs +22 -22
- package/fesm2022/esfaenza-core-directives.mjs.map +1 -1
- package/fesm2022/esfaenza-core-modules.mjs +12 -12
- package/fesm2022/esfaenza-core-pipes.mjs +19 -19
- package/fesm2022/esfaenza-core-services.mjs +45 -45
- package/fesm2022/esfaenza-core-services.mjs.map +1 -1
- package/fesm2022/esfaenza-core.mjs +8 -8
- package/fesm2022/esfaenza-core.mjs.map +1 -1
- package/helpers/classes/ResizeListener.d.ts +12 -0
- package/helpers/index.d.ts +5 -14
- package/helpers/public-api.d.ts +1 -0
- package/index.d.ts +5 -103
- package/lib/app.component.d.ts +12 -0
- package/lib/core.module.d.ts +93 -0
- package/modules/classes/_base.module.d.ts +4 -0
- package/modules/classes/_embedding.module.d.ts +11 -0
- package/modules/classes/_shared.module.d.ts +29 -0
- package/modules/classes/t_c.module.d.ts +13 -0
- package/modules/index.d.ts +5 -57
- package/modules/public-api.d.ts +4 -0
- package/package.json +2 -2
- package/pipes/classes/included_in.pipe.d.ts +7 -0
- package/pipes/classes/safe_html.pipe.d.ts +10 -0
- package/pipes/classes/safe_script.pipe.d.ts +10 -0
- package/pipes/classes/safe_style.pipe.d.ts +10 -0
- package/pipes/classes/safe_url.pipe.d.ts +10 -0
- package/pipes/index.d.ts +5 -50
- package/pipes/pipes.module.d.ts +11 -0
- package/pipes/public-api.d.ts +6 -0
- package/public-api.d.ts +2 -0
- package/services/classes/app.accesstoken.d.ts +17 -0
- package/services/classes/app.completedjobredirection.d.ts +12 -0
- package/services/classes/app.errorhandler.d.ts +12 -0
- package/services/classes/app.event.d.ts +10 -0
- package/services/classes/app.globalsearch.d.ts +25 -0
- package/services/classes/app.httpextensions.d.ts +34 -0
- package/services/classes/app.httpextensions.loc.d.ts +8 -0
- package/services/classes/app.menufilter.d.ts +14 -0
- package/services/classes/app.routeguard.d.ts +10 -0
- package/services/classes/app.session.d.ts +14 -0
- package/services/classes/app.state.d.ts +62 -0
- package/services/classes/preferences/app.cache.persistor.d.ts +25 -0
- package/services/classes/preferences/app.preference.persistor.d.ts +25 -0
- package/services/classes/preferences/user/app.userpreferences.base.d.ts +25 -0
- package/services/index.d.ts +5 -254
- package/services/public-api.d.ts +13 -0
|
@@ -32,6 +32,7 @@ import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
|
|
|
32
32
|
import * as i1$2 from '@esfaenza/preferences';
|
|
33
33
|
import { CacheService } from '@esfaenza/preferences';
|
|
34
34
|
import * as i2$2 from '@esfaenza/signalr-notifications';
|
|
35
|
+
import { EditorComponent } from '@esfaenza/text-editors';
|
|
35
36
|
import { ModalModule } from 'ngx-bootstrap/modal';
|
|
36
37
|
import { ImageCropperComponent } from 'ngx-image-cropper';
|
|
37
38
|
import * as i6 from '@esfaenza/forms-and-validations';
|
|
@@ -62,10 +63,10 @@ class BackTop {
|
|
|
62
63
|
let el = this._selector.nativeElement;
|
|
63
64
|
window.scrollY > this.position ? $(el).fadeIn(this.showSpeed) : $(el).fadeOut(this.showSpeed);
|
|
64
65
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
66
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
66
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BackTop, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
67
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", 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 }); }
|
|
67
68
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BackTop, decorators: [{
|
|
69
70
|
type: Component,
|
|
70
71
|
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"] }]
|
|
71
72
|
}], propDecorators: { position: [{
|
|
@@ -144,10 +145,10 @@ class Breadcrumb {
|
|
|
144
145
|
let params = segs[segs.length - 1]?.parameters;
|
|
145
146
|
return [route, params];
|
|
146
147
|
}
|
|
147
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
148
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
148
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Breadcrumb, deps: [{ token: i1.AppState }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.Title }, { token: i2$1.AppEmbeddingExtensions }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
149
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Breadcrumb, isStandalone: true, selector: "breadcrumb", ngImport: i0, template: "<ol class=\"breadcrumb app-no-selection\">\r\n <li class=\"breadcrumb-item text-uppercase breadcrumb-link\" [routerLink]=\"['/pages/dashboard']\">Dashboard</li>\r\n <li *ngIf=\"MainLink?.title != 'Dashboard'\" [routerLink]=\"MainLink.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\">{{MainLink.title}}</li>\r\n \r\n <ng-container *ngFor=\"let link of SubLinks\">\r\n <li *ngIf=\"link.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\" [routerLink]=\"link.routerLink\">{{link.title}}</li>\r\n <li *ngIf=\"!link.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\">{{link.title}}</li>\r\n </ng-container>\r\n</ol>", styles: [".breadcrumb{padding:0;margin:0;background:transparent;color:#344154;font-size:14px}.breadcrumb-item+.breadcrumb-item:before{font-weight:400!important;color:#fff;font-family:\"Font Awesome 6 Pro\";font-size:.6rem;line-height:1.4rem;content:\"\\f054\"}.breadcrumb-item{float:left}.breadcrumb-link{cursor:pointer;font-weight:500;color:#fff!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
149
150
|
}
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Breadcrumb, decorators: [{
|
|
151
152
|
type: Component,
|
|
152
153
|
args: [{ selector: "breadcrumb", encapsulation: ViewEncapsulation.None, imports: [NgIf, NgFor, RouterLink], template: "<ol class=\"breadcrumb app-no-selection\">\r\n <li class=\"breadcrumb-item text-uppercase breadcrumb-link\" [routerLink]=\"['/pages/dashboard']\">Dashboard</li>\r\n <li *ngIf=\"MainLink?.title != 'Dashboard'\" [routerLink]=\"MainLink.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\">{{MainLink.title}}</li>\r\n \r\n <ng-container *ngFor=\"let link of SubLinks\">\r\n <li *ngIf=\"link.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\" [routerLink]=\"link.routerLink\">{{link.title}}</li>\r\n <li *ngIf=\"!link.routerLink\" class=\"breadcrumb-item text-uppercase breadcrumb-link\">{{link.title}}</li>\r\n </ng-container>\r\n</ol>", styles: [".breadcrumb{padding:0;margin:0;background:transparent;color:#344154;font-size:14px}.breadcrumb-item+.breadcrumb-item:before{font-weight:400!important;color:#fff;font-family:\"Font Awesome 6 Pro\";font-size:.6rem;line-height:1.4rem;content:\"\\f054\"}.breadcrumb-item{float:left}.breadcrumb-link{cursor:pointer;font-weight:500;color:#fff!important}\n"] }]
|
|
153
154
|
}], ctorParameters: () => [{ type: i1.AppState }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.Title }, { type: i2$1.AppEmbeddingExtensions }] });
|
|
@@ -167,10 +168,10 @@ class EsModalComponent {
|
|
|
167
168
|
}
|
|
168
169
|
show() { this.Modal.show(); }
|
|
169
170
|
hide() { this.Modal.hide(); }
|
|
170
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
171
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
171
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EsModalComponent, deps: [{ token: i1.AppState }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
172
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: EsModalComponent, isStandalone: true, selector: "es-modal", inputs: { Size: "Size", IgnoreBackdrop: "IgnoreBackdrop", Backdrop: "Backdrop", 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: Backdrop, 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"] }] }); }
|
|
172
173
|
}
|
|
173
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
174
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EsModalComponent, decorators: [{
|
|
174
175
|
type: Component,
|
|
175
176
|
args: [{ selector: "es-modal", 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: Backdrop, 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>" }]
|
|
176
177
|
}], ctorParameters: () => [{ type: i1.AppState }], propDecorators: { Size: [{
|
|
@@ -200,10 +201,10 @@ class EsModalHeadComponent {
|
|
|
200
201
|
CloseFunction() {
|
|
201
202
|
this.Close.emit();
|
|
202
203
|
}
|
|
203
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
204
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
204
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EsModalHeadComponent, deps: [{ token: i1.AppState }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
205
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: EsModalHeadComponent, isStandalone: true, selector: "es-modal-head", inputs: { AllowClose: "AllowClose" }, 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 *ngIf=\"AllowClose\" class=\"close modal-close-button\"\r\n (click)=\"CloseFunction();\" \r\n aria-label=\"Close\">\r\n <span aria-hidden=\"true\">×</span>\r\n </div>\r\n</div>", styles: [".modal-head{font-size:1.25rem}.modal-close-button{margin:auto;padding:0 10px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
205
206
|
}
|
|
206
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
207
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EsModalHeadComponent, decorators: [{
|
|
207
208
|
type: Component,
|
|
208
209
|
args: [{ selector: "es-modal-head", imports: [NgIf], 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 *ngIf=\"AllowClose\" class=\"close modal-close-button\"\r\n (click)=\"CloseFunction();\" \r\n aria-label=\"Close\">\r\n <span aria-hidden=\"true\">×</span>\r\n </div>\r\n</div>", styles: [".modal-head{font-size:1.25rem}.modal-close-button{margin:auto;padding:0 10px}\n"] }]
|
|
209
210
|
}], ctorParameters: () => [{ type: i1.AppState }], propDecorators: { AllowClose: [{
|
|
@@ -288,10 +289,10 @@ class ErrorPageComponent {
|
|
|
288
289
|
});
|
|
289
290
|
this.dlgCreateTicket.hide();
|
|
290
291
|
}
|
|
291
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
292
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: ErrorPageComponent, isStandalone: true, selector: "errorpage", viewQueries: [{ propertyName: "dlgCreateTicket", first: true, predicate: ["dlgCreateTicket"], descendants: true }], 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 <!--Grafica per Sviluppatore-->\r\n <ng-container *ngIf=\"debugging\">\r\n <div class=\"card\">\r\n <div class=\"card-body text-center\">\r\n <h1 class=\"display-5\">Qualcosa \u00E8 andato storto.</h1>\r\n <h6>\r\n <small>\r\n Si \u00E8 verificato un errore interno all'applicazione. Questo non dovrebbe accadere.\r\n Prova a ricaricare la pagina precedente e rieffettuare le stesse operazioni, se il\r\n problema persiste invia una segnalazione allegando una breve descrizione delle\r\n operazioni che stavi eseguendo\r\n </small>\r\n </h6>\r\n <div style=\"margin-bottom: 10px;\">\r\n <div class=\"error-info\">\r\n <div class=\"info-item\">\r\n <div class=\"label\">Utente</div>\r\n <div class=\"value\">{{identityInfos}}</div>\r\n </div>\r\n \r\n <div class=\"info-item\">\r\n <div class=\"label\">Percorso Pagina</div>\r\n <div class=\"value\">{{errorFrom}}</div>\r\n </div>\r\n \r\n <div class=\"info-item\">\r\n <div class=\"label\">Ultime tre chiamate</div>\r\n <div class=\"value\">{{errorLastCalls}}</div>\r\n </div>\r\n </div>\r\n \r\n <!-- Errori Angular -->\r\n <div *ngIf=\"errorMessage\" class=\"error-details\">\r\n <div class=\"error-title\">Errore completo</div>\r\n <pre class=\"error-code\">{{errorMessage}}</pre>\r\n </div>\r\n\r\n <!-- Errori HTTP -->\r\n <ng-container *ngIf=\"statusCode || statusText\">\r\n <h1 class=\"display-1\" *ngIf=\"!statusCode\"> </h1>\r\n <h1 class=\"display-1\" *ngIf=\"statusCode\">{{statusCode == '404' ? 'Pagina non trovata' : ''}}</h1>\r\n <h6 class=\"card-title\" *ngIf=\"!statusText\"> </h6>\r\n <h6 class=\"card-title\" style=\"word-wrap:break-word; max-height: 500px; overflow: auto\" *ngIf=\"statusText\">{{statusText}}</h6>\r\n </ng-container>\r\n </div>\r\n <div style=\"display: flex;\" *ngIf=\"!ANONYMOUS_MODE\">\r\n <button [hidden]=\"!canReport\" type=\"button\" class=\"btn btn-warning\" (click)=\"onCreateTicket()\">Invia segnalazione</button>\r\n <button type=\"button\" class=\"btn btn-secondary\" style=\"margin-left: auto; margin-right: 10px;\" (click)=\"goPreviousPage()\">Torna alla pagina precedente</button>\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"goDashboard()\">Vai alla Dashboard</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!--Grafica per Utente-->\r\n <ng-container *ngIf=\"!debugging\">\r\n <div class=\"error-container\">\r\n <div class=\"emoji\">\uD83D\uDE15</div>\r\n <h1>Qualcosa \u00E8 andato storto</h1>\r\n <p>Si \u00E8 verificato un errore imprevisto. Puoi inviare una segnalazione per aiutarci a risolverlo. </p>\r\n <div *ngIf=\"!ANONYMOUS_MODE\" class=\"buttons\">\r\n <button [hidden]=\"!canReport\" class=\"report-btn btn-warning\" (click)=\"onCreateTicket()\">Invia segnalazione</button>\r\n <button class=\"home-btn btn-primary\" (click)=\"goDashboard()\">Torna alla Dashboard</button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<es-modal #dlgCreateTicket [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgCreateTicket.hide();\">\r\n <h5 class=\"modal-title pull-left\">Invio Segnalazione</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"CreateTicketDTO\" #formAddEdit=\"ngForm\" (ngSubmit)=\"formAddEdit.valid && doCreateTicket()\">\r\n <div class=\"modal-body\">\r\n <div class=\"card card-info app-padding-10 app-white-text\">\r\n Per inviare una segnalazione, si prega di inserire una descrizione dettagliata delle azioni effettuate.\r\n Non serve allegare nessun tipo di file/screenshot (in teoria...), tutte le informazioni richieste sono state gi\u00E0\r\n raccolte.\r\n </div>\r\n <textarea class=\"bugreport-textarea\" [(ngModel)]=\"CreateTicketDTO.userMessage\" #report=\"ngModel\" name=\"BugReportText\" placeholder=\"Stavo navigando nella pagina e...\" required minlength=\"50\"></textarea>\r\n <div class=\"validation-message\" *ngIf=\"report.invalid && formAddEdit.submitted\">\r\n La descrizione delle azioni effettuate \u00E8 obbligatoria e dev'essere almeno lunga una cinquantina di caratteri.\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgCreateTicket.hide();\">Annulla</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>", styles: ["@charset \"UTF-8\";.bugreport-textarea{width:100%;min-height:350px;padding:12px 14px;border:1px solid #d1d5db;border-radius:12px;font-size:14px;font-family:inherit;line-height:2;resize:none;transition:all .2s ease-in-out;background-color:#f9fafb;box-shadow:inset 0 1px 2px #0000000d;margin-top:5px}.bugreport-textarea:focus{outline:none;border-color:#3b82f6;background-color:#fff;box-shadow:0 0 0 3px #3b82f633}.error-container{text-align:center;max-width:500px;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:0 auto}.error-container .emoji{font-size:4rem;margin-bottom:1rem}.error-container h1{font-size:1.8rem;margin-bottom:.5rem;color:#333}.error-container p{font-size:1rem;color:#666;margin-bottom:2rem}.error-container .buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.error-container .buttons button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.error-container .report-btn{background-color:#f39c12;color:#fff}.error-container .report-btn:hover{background-color:#e08e0b}.error-container .home-btn{background-color:#3498db;color:#fff}.error-container .home-btn:hover{background-color:#2980b9}.validation-message{color:#e74c3c;background-color:#fdecea;border:1px solid #f5c6cb;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;margin-top:.5rem}.error-info{display:grid;grid-template-columns:1fr 1fr 2fr;gap:20px;padding:20px 0;background:#f8f9fb}.info-item{display:flex;flex-direction:column}.label{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;margin-bottom:6px;letter-spacing:.5px}.value{font-size:14px;font-weight:500;color:#222;word-break:break-word;white-space:pre-wrap}.error-details{margin-top:20px;padding:16px;background:#1e1e1e;border-radius:10px;border:1px solid #333}.error-title{font-size:12px;font-weight:600;color:#aaa;text-transform:uppercase;margin-bottom:10px;letter-spacing:.5px}.error-code{margin-bottom:0;max-height:250px;overflow-y:auto;padding:12px;background:#111;border-radius:6px;color:#e6e6e6;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EsModalComponent, selector: "es-modal", inputs: ["Size", "IgnoreBackdrop", "Backdrop", "HasOverlap"], outputs: ["onShow", "onHide"] }, { kind: "component", type: EsModalHeadComponent, selector: "es-modal-head", inputs: ["AllowClose"], outputs: ["Close"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
292
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ErrorPageComponent, deps: [{ token: i2.Router }, { token: i2.ActivatedRoute }, { token: i2$1.MessageService }, { token: i3$1.HTTPService }, { token: i1.TokenService }, { token: i2$1.AppEmbeddingExtensions }, { token: ANONYMOUS_MODE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
293
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ErrorPageComponent, isStandalone: true, selector: "errorpage", viewQueries: [{ propertyName: "dlgCreateTicket", first: true, predicate: ["dlgCreateTicket"], descendants: true }], 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 <!--Grafica per Sviluppatore-->\r\n <ng-container *ngIf=\"debugging\">\r\n <div class=\"card\">\r\n <div class=\"card-body text-center\">\r\n <h1 class=\"display-5\">Qualcosa \u00E8 andato storto.</h1>\r\n <h6>\r\n <small>\r\n Si \u00E8 verificato un errore interno all'applicazione. Questo non dovrebbe accadere.\r\n Prova a ricaricare la pagina precedente e rieffettuare le stesse operazioni, se il\r\n problema persiste invia una segnalazione allegando una breve descrizione delle\r\n operazioni che stavi eseguendo\r\n </small>\r\n </h6>\r\n <div style=\"margin-bottom: 10px;\">\r\n <div class=\"error-info\">\r\n <div class=\"info-item\">\r\n <div class=\"label\">Utente</div>\r\n <div class=\"value\">{{identityInfos}}</div>\r\n </div>\r\n \r\n <div class=\"info-item\">\r\n <div class=\"label\">Percorso Pagina</div>\r\n <div class=\"value\">{{errorFrom}}</div>\r\n </div>\r\n \r\n <div class=\"info-item\">\r\n <div class=\"label\">Ultime tre chiamate</div>\r\n <div class=\"value\">{{errorLastCalls}}</div>\r\n </div>\r\n </div>\r\n \r\n <!-- Errori Angular -->\r\n <div *ngIf=\"errorMessage\" class=\"error-details\">\r\n <div class=\"error-title\">Errore completo</div>\r\n <pre class=\"error-code\">{{errorMessage}}</pre>\r\n </div>\r\n\r\n <!-- Errori HTTP -->\r\n <ng-container *ngIf=\"statusCode || statusText\">\r\n <h1 class=\"display-1\" *ngIf=\"!statusCode\"> </h1>\r\n <h1 class=\"display-1\" *ngIf=\"statusCode\">{{statusCode == '404' ? 'Pagina non trovata' : ''}}</h1>\r\n <h6 class=\"card-title\" *ngIf=\"!statusText\"> </h6>\r\n <h6 class=\"card-title\" style=\"word-wrap:break-word; max-height: 500px; overflow: auto\" *ngIf=\"statusText\">{{statusText}}</h6>\r\n </ng-container>\r\n </div>\r\n <div style=\"display: flex;\" *ngIf=\"!ANONYMOUS_MODE\">\r\n <button [hidden]=\"!canReport\" type=\"button\" class=\"btn btn-warning\" (click)=\"onCreateTicket()\">Invia segnalazione</button>\r\n <button type=\"button\" class=\"btn btn-secondary\" style=\"margin-left: auto; margin-right: 10px;\" (click)=\"goPreviousPage()\">Torna alla pagina precedente</button>\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"goDashboard()\">Vai alla Dashboard</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!--Grafica per Utente-->\r\n <ng-container *ngIf=\"!debugging\">\r\n <div class=\"error-container\">\r\n <div class=\"emoji\">\uD83D\uDE15</div>\r\n <h1>Qualcosa \u00E8 andato storto</h1>\r\n <p>Si \u00E8 verificato un errore imprevisto. Puoi inviare una segnalazione per aiutarci a risolverlo. </p>\r\n <div *ngIf=\"!ANONYMOUS_MODE\" class=\"buttons\">\r\n <button [hidden]=\"!canReport\" class=\"report-btn btn-warning\" (click)=\"onCreateTicket()\">Invia segnalazione</button>\r\n <button class=\"home-btn btn-primary\" (click)=\"goDashboard()\">Torna alla Dashboard</button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<es-modal #dlgCreateTicket [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgCreateTicket.hide();\">\r\n <h5 class=\"modal-title pull-left\">Invio Segnalazione</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"CreateTicketDTO\" #formAddEdit=\"ngForm\" (ngSubmit)=\"formAddEdit.valid && doCreateTicket()\">\r\n <div class=\"modal-body\">\r\n <div class=\"card card-info app-padding-10 app-white-text\">\r\n Per inviare una segnalazione, si prega di inserire una descrizione dettagliata delle azioni effettuate.\r\n Non serve allegare nessun tipo di file/screenshot (in teoria...), tutte le informazioni richieste sono state gi\u00E0\r\n raccolte.\r\n </div>\r\n <textarea class=\"bugreport-textarea\" [(ngModel)]=\"CreateTicketDTO.userMessage\" #report=\"ngModel\" name=\"BugReportText\" placeholder=\"Stavo navigando nella pagina e...\" required minlength=\"50\"></textarea>\r\n <div class=\"validation-message\" *ngIf=\"report.invalid && formAddEdit.submitted\">\r\n La descrizione delle azioni effettuate \u00E8 obbligatoria e dev'essere almeno lunga una cinquantina di caratteri.\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgCreateTicket.hide();\">Annulla</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>", styles: ["@charset \"UTF-8\";.bugreport-textarea{width:100%;min-height:350px;padding:12px 14px;border:1px solid #d1d5db;border-radius:12px;font-size:14px;font-family:inherit;line-height:2;resize:none;transition:all .2s ease-in-out;background-color:#f9fafb;box-shadow:inset 0 1px 2px #0000000d;margin-top:5px}.bugreport-textarea:focus{outline:none;border-color:#3b82f6;background-color:#fff;box-shadow:0 0 0 3px #3b82f633}.error-container{text-align:center;max-width:500px;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:0 auto}.error-container .emoji{font-size:4rem;margin-bottom:1rem}.error-container h1{font-size:1.8rem;margin-bottom:.5rem;color:#333}.error-container p{font-size:1rem;color:#666;margin-bottom:2rem}.error-container .buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.error-container .buttons button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.error-container .report-btn{background-color:#f39c12;color:#fff}.error-container .report-btn:hover{background-color:#e08e0b}.error-container .home-btn{background-color:#3498db;color:#fff}.error-container .home-btn:hover{background-color:#2980b9}.validation-message{color:#e74c3c;background-color:#fdecea;border:1px solid #f5c6cb;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;margin-top:.5rem}.error-info{display:grid;grid-template-columns:1fr 1fr 2fr;gap:20px;padding:20px 0;background:#f8f9fb}.info-item{display:flex;flex-direction:column}.label{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;margin-bottom:6px;letter-spacing:.5px}.value{font-size:14px;font-weight:500;color:#222;word-break:break-word;white-space:pre-wrap}.error-details{margin-top:20px;padding:16px;background:#1e1e1e;border-radius:10px;border:1px solid #333}.error-title{font-size:12px;font-weight:600;color:#aaa;text-transform:uppercase;margin-bottom:10px;letter-spacing:.5px}.error-code{margin-bottom:0;max-height:250px;overflow-y:auto;padding:12px;background:#111;border-radius:6px;color:#e6e6e6;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EsModalComponent, selector: "es-modal", inputs: ["Size", "IgnoreBackdrop", "Backdrop", "HasOverlap"], outputs: ["onShow", "onHide"] }, { kind: "component", type: EsModalHeadComponent, selector: "es-modal-head", inputs: ["AllowClose"], outputs: ["Close"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
293
294
|
}
|
|
294
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
295
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ErrorPageComponent, decorators: [{
|
|
295
296
|
type: Component,
|
|
296
297
|
args: [{ selector: "errorpage", encapsulation: ViewEncapsulation.None, imports: [NgIf, EsModalComponent, EsModalHeadComponent, FormsModule], 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 <!--Grafica per Sviluppatore-->\r\n <ng-container *ngIf=\"debugging\">\r\n <div class=\"card\">\r\n <div class=\"card-body text-center\">\r\n <h1 class=\"display-5\">Qualcosa \u00E8 andato storto.</h1>\r\n <h6>\r\n <small>\r\n Si \u00E8 verificato un errore interno all'applicazione. Questo non dovrebbe accadere.\r\n Prova a ricaricare la pagina precedente e rieffettuare le stesse operazioni, se il\r\n problema persiste invia una segnalazione allegando una breve descrizione delle\r\n operazioni che stavi eseguendo\r\n </small>\r\n </h6>\r\n <div style=\"margin-bottom: 10px;\">\r\n <div class=\"error-info\">\r\n <div class=\"info-item\">\r\n <div class=\"label\">Utente</div>\r\n <div class=\"value\">{{identityInfos}}</div>\r\n </div>\r\n \r\n <div class=\"info-item\">\r\n <div class=\"label\">Percorso Pagina</div>\r\n <div class=\"value\">{{errorFrom}}</div>\r\n </div>\r\n \r\n <div class=\"info-item\">\r\n <div class=\"label\">Ultime tre chiamate</div>\r\n <div class=\"value\">{{errorLastCalls}}</div>\r\n </div>\r\n </div>\r\n \r\n <!-- Errori Angular -->\r\n <div *ngIf=\"errorMessage\" class=\"error-details\">\r\n <div class=\"error-title\">Errore completo</div>\r\n <pre class=\"error-code\">{{errorMessage}}</pre>\r\n </div>\r\n\r\n <!-- Errori HTTP -->\r\n <ng-container *ngIf=\"statusCode || statusText\">\r\n <h1 class=\"display-1\" *ngIf=\"!statusCode\"> </h1>\r\n <h1 class=\"display-1\" *ngIf=\"statusCode\">{{statusCode == '404' ? 'Pagina non trovata' : ''}}</h1>\r\n <h6 class=\"card-title\" *ngIf=\"!statusText\"> </h6>\r\n <h6 class=\"card-title\" style=\"word-wrap:break-word; max-height: 500px; overflow: auto\" *ngIf=\"statusText\">{{statusText}}</h6>\r\n </ng-container>\r\n </div>\r\n <div style=\"display: flex;\" *ngIf=\"!ANONYMOUS_MODE\">\r\n <button [hidden]=\"!canReport\" type=\"button\" class=\"btn btn-warning\" (click)=\"onCreateTicket()\">Invia segnalazione</button>\r\n <button type=\"button\" class=\"btn btn-secondary\" style=\"margin-left: auto; margin-right: 10px;\" (click)=\"goPreviousPage()\">Torna alla pagina precedente</button>\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"goDashboard()\">Vai alla Dashboard</button>\r\n <div class=\"clearfix\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!--Grafica per Utente-->\r\n <ng-container *ngIf=\"!debugging\">\r\n <div class=\"error-container\">\r\n <div class=\"emoji\">\uD83D\uDE15</div>\r\n <h1>Qualcosa \u00E8 andato storto</h1>\r\n <p>Si \u00E8 verificato un errore imprevisto. Puoi inviare una segnalazione per aiutarci a risolverlo. </p>\r\n <div *ngIf=\"!ANONYMOUS_MODE\" class=\"buttons\">\r\n <button [hidden]=\"!canReport\" class=\"report-btn btn-warning\" (click)=\"onCreateTicket()\">Invia segnalazione</button>\r\n <button class=\"home-btn btn-primary\" (click)=\"goDashboard()\">Torna alla Dashboard</button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<es-modal #dlgCreateTicket [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgCreateTicket.hide();\">\r\n <h5 class=\"modal-title pull-left\">Invio Segnalazione</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"CreateTicketDTO\" #formAddEdit=\"ngForm\" (ngSubmit)=\"formAddEdit.valid && doCreateTicket()\">\r\n <div class=\"modal-body\">\r\n <div class=\"card card-info app-padding-10 app-white-text\">\r\n Per inviare una segnalazione, si prega di inserire una descrizione dettagliata delle azioni effettuate.\r\n Non serve allegare nessun tipo di file/screenshot (in teoria...), tutte le informazioni richieste sono state gi\u00E0\r\n raccolte.\r\n </div>\r\n <textarea class=\"bugreport-textarea\" [(ngModel)]=\"CreateTicketDTO.userMessage\" #report=\"ngModel\" name=\"BugReportText\" placeholder=\"Stavo navigando nella pagina e...\" required minlength=\"50\"></textarea>\r\n <div class=\"validation-message\" *ngIf=\"report.invalid && formAddEdit.submitted\">\r\n La descrizione delle azioni effettuate \u00E8 obbligatoria e dev'essere almeno lunga una cinquantina di caratteri.\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgCreateTicket.hide();\">Annulla</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>", styles: ["@charset \"UTF-8\";.bugreport-textarea{width:100%;min-height:350px;padding:12px 14px;border:1px solid #d1d5db;border-radius:12px;font-size:14px;font-family:inherit;line-height:2;resize:none;transition:all .2s ease-in-out;background-color:#f9fafb;box-shadow:inset 0 1px 2px #0000000d;margin-top:5px}.bugreport-textarea:focus{outline:none;border-color:#3b82f6;background-color:#fff;box-shadow:0 0 0 3px #3b82f633}.error-container{text-align:center;max-width:500px;padding:2rem;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:0 auto}.error-container .emoji{font-size:4rem;margin-bottom:1rem}.error-container h1{font-size:1.8rem;margin-bottom:.5rem;color:#333}.error-container p{font-size:1rem;color:#666;margin-bottom:2rem}.error-container .buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.error-container .buttons button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.error-container .report-btn{background-color:#f39c12;color:#fff}.error-container .report-btn:hover{background-color:#e08e0b}.error-container .home-btn{background-color:#3498db;color:#fff}.error-container .home-btn:hover{background-color:#2980b9}.validation-message{color:#e74c3c;background-color:#fdecea;border:1px solid #f5c6cb;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;margin-top:.5rem}.error-info{display:grid;grid-template-columns:1fr 1fr 2fr;gap:20px;padding:20px 0;background:#f8f9fb}.info-item{display:flex;flex-direction:column}.label{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;margin-bottom:6px;letter-spacing:.5px}.value{font-size:14px;font-weight:500;color:#222;word-break:break-word;white-space:pre-wrap}.error-details{margin-top:20px;padding:16px;background:#1e1e1e;border-radius:10px;border:1px solid #333}.error-title{font-size:12px;font-weight:600;color:#aaa;text-transform:uppercase;margin-bottom:10px;letter-spacing:.5px}.error-code{margin-bottom:0;max-height:250px;overflow-y:auto;padding:12px;background:#111;border-radius:6px;color:#e6e6e6;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.5;white-space:pre-wrap;word-break:break-word}\n"] }]
|
|
297
298
|
}], ctorParameters: () => [{ type: i2.Router }, { type: i2.ActivatedRoute }, { type: i2$1.MessageService }, { type: i3$1.HTTPService }, { type: i1.TokenService }, { type: i2$1.AppEmbeddingExtensions }, { type: undefined, decorators: [{
|
|
@@ -331,10 +332,10 @@ class SideBarLoc extends LocalizationService {
|
|
|
331
332
|
super.set("it->en", "Job Completato", ["Job Completed"]);
|
|
332
333
|
super.set("it->en", "Scrivere almeno 3 caratteri per utilizzare la ricerca globale", ["You must write at least 3 characters in order to use the Global Research"]);
|
|
333
334
|
}
|
|
334
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
335
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
335
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SideBarLoc, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
336
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SideBarLoc }); }
|
|
336
337
|
}
|
|
337
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
338
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SideBarLoc, decorators: [{
|
|
338
339
|
type: Injectable
|
|
339
340
|
}], ctorParameters: () => [{ type: i0.Injector }] });
|
|
340
341
|
|
|
@@ -581,12 +582,12 @@ class Sidebar {
|
|
|
581
582
|
this.cdr.markForCheck();
|
|
582
583
|
});
|
|
583
584
|
}
|
|
584
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
585
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", 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 #sidebar class=\"app-sidebar\" [class.menu-collapsed]=\"isMenuCollapsed\" (mouseleave.out-zone)=\"sendAwayHoverElement();\">\r\n <!--Jace Logo-->\r\n <div class=\"app-logo-container\">\r\n <div class=\"app-pointer\" [routerLink]=\"['/pages/dashboard']\" style=\"margin-bottom: 10px; overflow: hidden\">\r\n <ng-container *ngIf=\"!isMenuCollapsed\">\r\n <img class=\"app-logo-img\" src=\"assets/img/logo/headlogo_small.png\" alt=\"\">\r\n <div class=\"app-logo-font-container\">\r\n <span class=\"app-logo-font\">{{applicationName}}</span>\r\n </div>\r\n </ng-container>\r\n \r\n <img *ngIf=\"isMenuCollapsed\" class=\"app-logo-img-sm\" src=\"assets/img/logo/headlogo_small.png\" alt=\"\">\r\n </div>\r\n </div>\r\n <!--Ricerca globale-->\r\n <div *ngIf=\"!isMenuCollapsed\" class=\"app-sidebar-search\">\r\n <form novalidate role=\"search\" class=\"app-search\" (ngSubmit)=\"onSearchRequest()\">\r\n <input type=\"text\" placeholder=\"Ricerca...\" [(ngModel)]=\"searchTerm\" (ngModelChange)=\"onSearchModelChanged()\" name=\"search\" class=\"form-control\" autocomplete=\"off\">\r\n <a><i class=\"far fa-magnifying-glass\"></i></a>\r\n </form>\r\n </div>\r\n <!--Barra laterale con tutte le voci di Menu-->\r\n <ul class=\"nav nav-sidebar flex-column flex-nowrap\" style=\"position: relative; zoom: 1\" slim-scroll [slimScrollOptions]=\"{height: menuHeight + (isMenuCollapsed ? 55 : 0)}\">\r\n <ng-container *ngFor=\"let item of menuItems; let last = last;\">\r\n <li *ngIf=\"item.visible\" class=\"sidebar-list-item level-{{item.level}}\" \r\n [style.margin-bottom]=\"last ? '42px' : '0px'\"\r\n [class.has-sub-menu]=\"item.subMenu\" \r\n [class.sidebar-item-expanded]=\"item.expanded\"\r\n [class.sidebar-item-wip]=\"item.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : { $implicit: item }\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <!--Selettore Barra dei Menu-->\r\n <div class=\"sidebar-hover-elem\"></div>\r\n <!--Footer *ngIf=\"!isMenuCollapsed\"-->\r\n <div class=\"app-sidebar-footer\">\r\n <!--Minuscolo fade tra sidebar e inizio footer-->\r\n <div class=\"app-sidebar-footer-fade\"></div>\r\n <div [style.padding.px]=\"isMenuCollapsed ? 5 : 15\">\r\n <!--Informazioni utente collegato-->\r\n <div class=\"app-sidebar-footer-user-container\">\r\n <!--Mentre sto ancora caricando la ProfilePic mi assicuro di mostrare un placeholder-->\r\n <div *ngIf=\"!profile.ProfilePicture\" class=\"app-sidebar-footer-user-img-placeholder\">\r\n <i class=\"far fa-2x fa-spinner fa-spin-pulse\" style=\"color: black; margin-top: 5px;\"></i>\r\n </div>\r\n <!--Una volta caricata la ProfilePic nascondo il placeholder e la mostro-->\r\n <ng-container *ngIf=\"profile.ProfilePicture\">\r\n <img [src]=\"profile.ProfilePicture\" alt=\"\" class=\"app-sidebar-footer-user-img app-pointer\" [routerLink]=\"['/pages/profile']\">\r\n <!-- Da valutare -->\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]=\"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]=\"undefined\" *ngIf=\"_state.halloweenTime()\"> -->\r\n <div class=\"app-sidebar-footer-user-status\"></div>\r\n </ng-container>\r\n <!--Username animato quando supera i 15 caratteri-->\r\n <div class=\"app-sidebar-footer-user-name-container\">\r\n <div class=\"username-text\" [class.username-text-animator]=\"user?.length > 15\">{{user}}</div>\r\n <div class=\"tenantname-text\">{{tenant}}</div>\r\n </div>\r\n </div>\r\n <!--Operazioni rapide (Logout, Cambia tenant, Guida, Supporto,...)-->\r\n <div class=\"app-sidebar-footer-quick-ops\" [style.display]=\"isMenuCollapsed ? 'inline' : 'flex'\">\r\n <div (click)=\"onChangeTenant();\" class=\"app-sidebar-footer-op app-no-selection\" [style.margin-top.px]=\"isMenuCollapsed ? 10 : 0\"><i class=\"far fa-right-left\"></i><span *ngIf=\"!isMenuCollapsed\"> Cambia Tenant</span></div>\r\n <div (click)=\"onLogout();\" class=\"app-sidebar-footer-op app-no-selection\" [style.margin-top.px]=\"isMenuCollapsed ? 10 : 0\"><i class=\"far fa-right-from-bracket\"></i><span *ngIf=\"!isMenuCollapsed\"> Logout</span></div>\r\n </div>\r\n <!--Versione corrente applicazione-->\r\n <div *ngIf=\"!isMenuCollapsed\" class=\"app-sidebar-footer-ver\">\r\n v{{applicationVersion}}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #menuItem let-item>\r\n <a [style.padding-left.px]=\"item.padding_left\" *ngIf=\"(!item.routerLink && !item.subMenu) || item.wip\" [href]=\"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 [style.padding-left.px]=\"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 [style.padding-left.px]=\"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 <ng-container *ngFor=\"let subitem of item.subMenu\" >\r\n <li *ngIf=\"subitem.visible\" class=\"sidebar-sublist-item level-{{item.level}}\" [class.sidebar-item-wip]=\"subitem.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: subitem}\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ul>\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: [".app-sidebar{background:#344154;box-shadow:8px 0 6px -6px #1313130a,12px 0 16px -16px #1313130d;height:100%;min-height:100%;width:230px;overflow:hidden;display:block;z-index:9}.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 rgb(71.5,89.375,115.5)}.sidebar-item-wip{cursor:default}a.sidebar-list-link{display:block;height:42px;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;transition:transform .2s linear}a.sidebar-list-link:hover{background-color:#2a3544}.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:#3e4d64}.sidebar-sublist .level-1{background-color:#364357}.sidebar-sublist .level-2{background-color:#2e3a4b}.sidebar-sublist li{display:block;float:none;padding:0;border-bottom:none;position:relative;border-top:1px solid rgb(71.5,89.375,115.5)}.sidebar-sublist li a{display:block;text-shadow:none;font-size:13px;text-decoration:none;height:42px;line-height:42px}.sidebar-sublist li a:before{font-family:\"Font Awesome 6 Pro\";content:\"\\f1db\";margin-right:10px;font-size:10px}.sidebar-sublist li a:hover{background-color:#2a3544}.sidebar-item-expanded>ul.sidebar-sublist{display:block;background-color:#3e4d64}.subitem-submenu-link .fa{top:14px}.sidebar-hover-elem{width:4px;background-color:#024a88;position:absolute;top:-90px;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:#677ea1!important}@media(max-width:544px){.sidebar.menu-collapsed{width:0}.sidebar-hover-elem,.sidebar-select-elem{display:none}}.app-logo-container{height:60px;background-color:#2a3544;display:flex;position:relative;z-index:10;margin-bottom:-1px;border-bottom:1px solid rgb(71.5,89.375,115.5);color:#fff;padding:10px 0 0 15px}.app-sidebar-search{height:39px;border-bottom:42px solid #344154}.app-logo-placeholder{text-align:center;font-size:1.2rem;text-transform:uppercase;font-weight:700;margin-top:15px!important}.app-logo-font{color:#fffac2;font-family:Work Sans;font-size:15px;line-height:1;text-transform:uppercase;font-weight:700;padding-left:5px;padding-bottom:2px;overflow:hidden}.app-logo-font-container{display:inline-block;vertical-align:bottom;width:calc(var(--sidebar-width) - 70px);margin:0;height:auto;overflow:hidden}.app-logo-img-sm{padding-top:10px}.app-sidebar-footer{position:relative;background-color:#344154}.app-sidebar-footer-fade{top:-42px;position:absolute;background-image:linear-gradient(to top,#344154,#34415400);height:42px;width:230px;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-sidebar-footer-user-container{position:relative;display:flex;margin-top:5px;color:#fff}.app-sidebar-footer-user-img-placeholder{height:40px;min-width:40px;width:40px;text-align:center}.app-sidebar-footer-user-img{height:40px;min-height:40px;min-width:40px;width:40px;border-radius:50%;border:1px solid rgb(71.5,89.375,115.5)}.app-sidebar-footer-user-status{background-color:#32cd32;border:1px solid green;border-radius:50%;position:absolute;left:29px;top:29px;height:11px;width:11px}.app-sidebar-footer-user-name-container{width:150px;white-space:nowrap;overflow:hidden;margin-left:10px}.username-text{z-index:1;min-width:140px;display:flex;font-size:16px}.username-text-animator:hover{transform:translate(100%);animation:my-animation 3s linear infinite}@keyframes my-animation{0%{transform:translate(0)}to{transform:translate(-50%)}}.tenantname-text{font-size:12px}.app-sidebar-footer-quick-ops{margin-top:10px;display:flex;justify-content:space-between}.app-sidebar-footer-op{color:#fff;font-weight:700;cursor:pointer}.app-sidebar-footer-ver{text-align:right;margin-top:30px;color:#fff}.app-search{position:relative}.app-search a{position:absolute;top:8px;right:14px;font-size:16px;color:#fff!important}.app-search .form-control{font-size:12px;letter-spacing:.03em;height:40px;color:#fff;padding:7px 40px 7px 20px;background:#3e4d64;box-shadow:none!important;border-top:none!important;border-left:none!important;border-right:none!important;border-bottom:1px solid rgb(71.5,89.375,115.5)}.app-sidebar.menu-collapsed .app-sidebar-footer-op{display:block;padding-left:12px;padding-top:5px;margin:0;width:16px}\n"], dependencies: [{ 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", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: EsTableModule }, { kind: "component", type: i7.EsTableComponent, selector: "es-table", inputs: ["globalCheck", "autoUpdate", "seconds", "researchInProgress", "globalColVisCheck", "EsThTdProvider", "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", "AutoSortHierarchy", "StartsExpanded", "SavePreferences", "DefaultAlignment", "PagingStyle", "RowGroupingPagingStyle", "ItemSourceProperty", "UseSelectionCache", "ShowItemGroupsColumns", "Editable", "RangeSelection", "SearchThrottle", "ArraymodeItemsPerPage"], outputs: ["globalCheckChange", "autoUpdateChange", "secondsChange", "researchInProgressChange", "globalColVisCheckChange", "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: SideBarLoc }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
585
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Sidebar, deps: [{ token: i1$1.LocalizationService }, { token: MENU_LOCALIZATION, optional: true }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i2.Router }, { token: i1.AppState }, { token: i0.NgZone }, { token: i2$1.UtilityService }, { token: i5$1.AccessControlService }, { token: MENU }, { token: i1.MenuFilteringService }, { token: i1.TokenService }, { token: i1.GlobalSearchService }, { token: i1.UserPreferencesService }, { token: i2$1.MessageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
586
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", 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 #sidebar class=\"app-sidebar\" [class.menu-collapsed]=\"isMenuCollapsed\" (mouseleave.out-zone)=\"sendAwayHoverElement();\">\r\n <!--Jace Logo-->\r\n <div class=\"app-logo-container\">\r\n <div class=\"app-pointer\" [routerLink]=\"['/pages/dashboard']\" style=\"margin-bottom: 10px; overflow: hidden\">\r\n <ng-container *ngIf=\"!isMenuCollapsed\">\r\n <img class=\"app-logo-img\" src=\"assets/img/logo/headlogo_small.png\" alt=\"\">\r\n <div class=\"app-logo-font-container\">\r\n <span class=\"app-logo-font\">{{applicationName}}</span>\r\n </div>\r\n </ng-container>\r\n \r\n <img *ngIf=\"isMenuCollapsed\" class=\"app-logo-img-sm\" src=\"assets/img/logo/headlogo_small.png\" alt=\"\">\r\n </div>\r\n </div>\r\n <!--Ricerca globale-->\r\n <div *ngIf=\"!isMenuCollapsed\" class=\"app-sidebar-search\">\r\n <form novalidate role=\"search\" class=\"app-search\" (ngSubmit)=\"onSearchRequest()\">\r\n <input type=\"text\" placeholder=\"Ricerca...\" [(ngModel)]=\"searchTerm\" (ngModelChange)=\"onSearchModelChanged()\" name=\"search\" class=\"form-control\" autocomplete=\"off\">\r\n <a><i class=\"far fa-magnifying-glass\"></i></a>\r\n </form>\r\n </div>\r\n <!--Barra laterale con tutte le voci di Menu-->\r\n <ul class=\"nav nav-sidebar flex-column flex-nowrap\" style=\"position: relative; zoom: 1\" slim-scroll [slimScrollOptions]=\"{height: menuHeight + (isMenuCollapsed ? 55 : 0)}\">\r\n <ng-container *ngFor=\"let item of menuItems; let last = last;\">\r\n <li *ngIf=\"item.visible\" class=\"sidebar-list-item level-{{item.level}}\" \r\n [style.margin-bottom]=\"last ? '42px' : '0px'\"\r\n [class.has-sub-menu]=\"item.subMenu\" \r\n [class.sidebar-item-expanded]=\"item.expanded\"\r\n [class.sidebar-item-wip]=\"item.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : { $implicit: item }\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <!--Selettore Barra dei Menu-->\r\n <div class=\"sidebar-hover-elem\"></div>\r\n <!--Footer *ngIf=\"!isMenuCollapsed\"-->\r\n <div class=\"app-sidebar-footer\">\r\n <!--Minuscolo fade tra sidebar e inizio footer-->\r\n <div class=\"app-sidebar-footer-fade\"></div>\r\n <div [style.padding.px]=\"isMenuCollapsed ? 5 : 15\">\r\n <!--Informazioni utente collegato-->\r\n <div class=\"app-sidebar-footer-user-container\">\r\n <!--Mentre sto ancora caricando la ProfilePic mi assicuro di mostrare un placeholder-->\r\n <div *ngIf=\"!profile.ProfilePicture\" class=\"app-sidebar-footer-user-img-placeholder\">\r\n <i class=\"far fa-2x fa-spinner fa-spin-pulse\" style=\"color: black; margin-top: 5px;\"></i>\r\n </div>\r\n <!--Una volta caricata la ProfilePic nascondo il placeholder e la mostro-->\r\n <ng-container *ngIf=\"profile.ProfilePicture\">\r\n <img [src]=\"profile.ProfilePicture\" alt=\"\" class=\"app-sidebar-footer-user-img app-pointer\" [routerLink]=\"['/pages/profile']\">\r\n <!-- Da valutare -->\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]=\"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]=\"undefined\" *ngIf=\"_state.halloweenTime()\"> -->\r\n <div class=\"app-sidebar-footer-user-status\"></div>\r\n </ng-container>\r\n <!--Username animato quando supera i 15 caratteri-->\r\n <div class=\"app-sidebar-footer-user-name-container\">\r\n <div class=\"username-text\" [class.username-text-animator]=\"user?.length > 15\">{{user}}</div>\r\n <div class=\"tenantname-text\">{{tenant}}</div>\r\n </div>\r\n </div>\r\n <!--Operazioni rapide (Logout, Cambia tenant, Guida, Supporto,...)-->\r\n <div class=\"app-sidebar-footer-quick-ops\" [style.display]=\"isMenuCollapsed ? 'inline' : 'flex'\">\r\n <div (click)=\"onChangeTenant();\" class=\"app-sidebar-footer-op app-no-selection\" [style.margin-top.px]=\"isMenuCollapsed ? 10 : 0\"><i class=\"far fa-right-left\"></i><span *ngIf=\"!isMenuCollapsed\"> Cambia Tenant</span></div>\r\n <div (click)=\"onLogout();\" class=\"app-sidebar-footer-op app-no-selection\" [style.margin-top.px]=\"isMenuCollapsed ? 10 : 0\"><i class=\"far fa-right-from-bracket\"></i><span *ngIf=\"!isMenuCollapsed\"> Logout</span></div>\r\n </div>\r\n <!--Versione corrente applicazione-->\r\n <div *ngIf=\"!isMenuCollapsed\" class=\"app-sidebar-footer-ver\">\r\n v{{applicationVersion}}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #menuItem let-item>\r\n <a [style.padding-left.px]=\"item.padding_left\" *ngIf=\"(!item.routerLink && !item.subMenu) || item.wip\" [href]=\"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 [style.padding-left.px]=\"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 [style.padding-left.px]=\"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 <ng-container *ngFor=\"let subitem of item.subMenu\" >\r\n <li *ngIf=\"subitem.visible\" class=\"sidebar-sublist-item level-{{item.level}}\" [class.sidebar-item-wip]=\"subitem.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: subitem}\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ul>\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: [".app-sidebar{background:#344154;box-shadow:8px 0 6px -6px #1313130a,12px 0 16px -16px #1313130d;height:100%;min-height:100%;width:230px;overflow:hidden;display:block;z-index:9}.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 rgb(71.5,89.375,115.5)}.sidebar-item-wip{cursor:default}a.sidebar-list-link{display:block;height:42px;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;transition:transform .2s linear}a.sidebar-list-link:hover{background-color:#2a3544}.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:#3e4d64}.sidebar-sublist .level-1{background-color:#364357}.sidebar-sublist .level-2{background-color:#2e3a4b}.sidebar-sublist li{display:block;float:none;padding:0;border-bottom:none;position:relative;border-top:1px solid rgb(71.5,89.375,115.5)}.sidebar-sublist li a{display:block;text-shadow:none;font-size:13px;text-decoration:none;height:42px;line-height:42px}.sidebar-sublist li a:before{font-family:\"Font Awesome 6 Pro\";content:\"\\f1db\";margin-right:10px;font-size:10px}.sidebar-sublist li a:hover{background-color:#2a3544}.sidebar-item-expanded>ul.sidebar-sublist{display:block;background-color:#3e4d64}.subitem-submenu-link .fa{top:14px}.sidebar-hover-elem{width:4px;background-color:#024a88;position:absolute;top:-90px;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:#677ea1!important}@media (max-width: 544px){.sidebar.menu-collapsed{width:0}.sidebar-hover-elem,.sidebar-select-elem{display:none}}.app-logo-container{height:60px;background-color:#2a3544;display:flex;position:relative;z-index:10;margin-bottom:-1px;border-bottom:1px solid rgb(71.5,89.375,115.5);color:#fff;padding:10px 0 0 15px}.app-sidebar-search{height:39px;border-bottom:42px solid #344154}.app-logo-placeholder{text-align:center;font-size:1.2rem;text-transform:uppercase;font-weight:700;margin-top:15px!important}.app-logo-font{color:#fffac2;font-family:Work Sans;font-size:15px;line-height:1;text-transform:uppercase;font-weight:700;padding-left:5px;padding-bottom:2px;overflow:hidden}.app-logo-font-container{display:inline-block;vertical-align:bottom;width:calc(var(--sidebar-width) - 70px);margin:0;height:auto;overflow:hidden}.app-logo-img-sm{padding-top:10px}.app-sidebar-footer{position:relative;background-color:#344154}.app-sidebar-footer-fade{top:-42px;position:absolute;background-image:linear-gradient(to top,#344154,#34415400);height:42px;width:230px;z-index:100;backdrop-filter:blur(2px)}.app-sidebar-footer-user-container{position:relative;display:flex;margin-top:5px;color:#fff}.app-sidebar-footer-user-img-placeholder{height:40px;min-width:40px;width:40px;text-align:center}.app-sidebar-footer-user-img{height:40px;min-height:40px;min-width:40px;width:40px;border-radius:50%;border:1px solid rgb(71.5,89.375,115.5)}.app-sidebar-footer-user-status{background-color:#32cd32;border:1px solid green;border-radius:50%;position:absolute;left:29px;top:29px;height:11px;width:11px}.app-sidebar-footer-user-name-container{width:150px;white-space:nowrap;overflow:hidden;margin-left:10px}.username-text{z-index:1;min-width:140px;display:flex;font-size:16px}.username-text-animator:hover{transform:translate(100%);animation:my-animation 3s linear infinite}@keyframes my-animation{0%{transform:translate(0)}to{transform:translate(-50%)}}.tenantname-text{font-size:12px}.app-sidebar-footer-quick-ops{margin-top:10px;display:flex;justify-content:space-between}.app-sidebar-footer-op{color:#fff;font-weight:700;cursor:pointer}.app-sidebar-footer-ver{text-align:right;margin-top:30px;color:#fff}.app-search{position:relative}.app-search a{position:absolute;top:8px;right:14px;font-size:16px;color:#fff!important}.app-search .form-control{font-size:12px;letter-spacing:.03em;height:40px;color:#fff;padding:7px 40px 7px 20px;background:#3e4d64;box-shadow:none!important;border-top:none!important;border-left:none!important;border-right:none!important;border-bottom:1px solid rgb(71.5,89.375,115.5)}.app-sidebar.menu-collapsed .app-sidebar-footer-op{display:block;padding-left:12px;padding-top:5px;margin:0;width:16px}\n"], dependencies: [{ 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", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: EsTableModule }, { kind: "component", type: i7.EsTableComponent, selector: "es-table", inputs: ["globalCheck", "autoUpdate", "seconds", "researchInProgress", "globalColVisCheck", "EsThTdProvider", "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", "AutoSortHierarchy", "StartsExpanded", "SavePreferences", "DefaultAlignment", "PagingStyle", "RowGroupingPagingStyle", "ItemSourceProperty", "UseSelectionCache", "ShowItemGroupsColumns", "Editable", "RangeSelection", "SearchThrottle", "ArraymodeItemsPerPage"], outputs: ["globalCheckChange", "autoUpdateChange", "secondsChange", "researchInProgressChange", "globalColVisCheckChange", "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: SideBarLoc }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
586
587
|
}
|
|
587
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
588
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Sidebar, decorators: [{
|
|
588
589
|
type: Component,
|
|
589
|
-
args: [{ selector: "sidebar", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [{ provide: LocalizationService, useClass: SideBarLoc }], imports: [SlimScroll, NgFor, NgTemplateOutlet, NgIf, RouterLinkActive, RouterLink, FormsModule, EsTableModule, LocalizationModule], template: "<div #sidebar class=\"app-sidebar\" [class.menu-collapsed]=\"isMenuCollapsed\" (mouseleave.out-zone)=\"sendAwayHoverElement();\">\r\n <!--Jace Logo-->\r\n <div class=\"app-logo-container\">\r\n <div class=\"app-pointer\" [routerLink]=\"['/pages/dashboard']\" style=\"margin-bottom: 10px; overflow: hidden\">\r\n <ng-container *ngIf=\"!isMenuCollapsed\">\r\n <img class=\"app-logo-img\" src=\"assets/img/logo/headlogo_small.png\" alt=\"\">\r\n <div class=\"app-logo-font-container\">\r\n <span class=\"app-logo-font\">{{applicationName}}</span>\r\n </div>\r\n </ng-container>\r\n \r\n <img *ngIf=\"isMenuCollapsed\" class=\"app-logo-img-sm\" src=\"assets/img/logo/headlogo_small.png\" alt=\"\">\r\n </div>\r\n </div>\r\n <!--Ricerca globale-->\r\n <div *ngIf=\"!isMenuCollapsed\" class=\"app-sidebar-search\">\r\n <form novalidate role=\"search\" class=\"app-search\" (ngSubmit)=\"onSearchRequest()\">\r\n <input type=\"text\" placeholder=\"Ricerca...\" [(ngModel)]=\"searchTerm\" (ngModelChange)=\"onSearchModelChanged()\" name=\"search\" class=\"form-control\" autocomplete=\"off\">\r\n <a><i class=\"far fa-magnifying-glass\"></i></a>\r\n </form>\r\n </div>\r\n <!--Barra laterale con tutte le voci di Menu-->\r\n <ul class=\"nav nav-sidebar flex-column flex-nowrap\" style=\"position: relative; zoom: 1\" slim-scroll [slimScrollOptions]=\"{height: menuHeight + (isMenuCollapsed ? 55 : 0)}\">\r\n <ng-container *ngFor=\"let item of menuItems; let last = last;\">\r\n <li *ngIf=\"item.visible\" class=\"sidebar-list-item level-{{item.level}}\" \r\n [style.margin-bottom]=\"last ? '42px' : '0px'\"\r\n [class.has-sub-menu]=\"item.subMenu\" \r\n [class.sidebar-item-expanded]=\"item.expanded\"\r\n [class.sidebar-item-wip]=\"item.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : { $implicit: item }\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <!--Selettore Barra dei Menu-->\r\n <div class=\"sidebar-hover-elem\"></div>\r\n <!--Footer *ngIf=\"!isMenuCollapsed\"-->\r\n <div class=\"app-sidebar-footer\">\r\n <!--Minuscolo fade tra sidebar e inizio footer-->\r\n <div class=\"app-sidebar-footer-fade\"></div>\r\n <div [style.padding.px]=\"isMenuCollapsed ? 5 : 15\">\r\n <!--Informazioni utente collegato-->\r\n <div class=\"app-sidebar-footer-user-container\">\r\n <!--Mentre sto ancora caricando la ProfilePic mi assicuro di mostrare un placeholder-->\r\n <div *ngIf=\"!profile.ProfilePicture\" class=\"app-sidebar-footer-user-img-placeholder\">\r\n <i class=\"far fa-2x fa-spinner fa-spin-pulse\" style=\"color: black; margin-top: 5px;\"></i>\r\n </div>\r\n <!--Una volta caricata la ProfilePic nascondo il placeholder e la mostro-->\r\n <ng-container *ngIf=\"profile.ProfilePicture\">\r\n <img [src]=\"profile.ProfilePicture\" alt=\"\" class=\"app-sidebar-footer-user-img app-pointer\" [routerLink]=\"['/pages/profile']\">\r\n <!-- Da valutare -->\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]=\"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]=\"undefined\" *ngIf=\"_state.halloweenTime()\"> -->\r\n <div class=\"app-sidebar-footer-user-status\"></div>\r\n </ng-container>\r\n <!--Username animato quando supera i 15 caratteri-->\r\n <div class=\"app-sidebar-footer-user-name-container\">\r\n <div class=\"username-text\" [class.username-text-animator]=\"user?.length > 15\">{{user}}</div>\r\n <div class=\"tenantname-text\">{{tenant}}</div>\r\n </div>\r\n </div>\r\n <!--Operazioni rapide (Logout, Cambia tenant, Guida, Supporto,...)-->\r\n <div class=\"app-sidebar-footer-quick-ops\" [style.display]=\"isMenuCollapsed ? 'inline' : 'flex'\">\r\n <div (click)=\"onChangeTenant();\" class=\"app-sidebar-footer-op app-no-selection\" [style.margin-top.px]=\"isMenuCollapsed ? 10 : 0\"><i class=\"far fa-right-left\"></i><span *ngIf=\"!isMenuCollapsed\"> Cambia Tenant</span></div>\r\n <div (click)=\"onLogout();\" class=\"app-sidebar-footer-op app-no-selection\" [style.margin-top.px]=\"isMenuCollapsed ? 10 : 0\"><i class=\"far fa-right-from-bracket\"></i><span *ngIf=\"!isMenuCollapsed\"> Logout</span></div>\r\n </div>\r\n <!--Versione corrente applicazione-->\r\n <div *ngIf=\"!isMenuCollapsed\" class=\"app-sidebar-footer-ver\">\r\n v{{applicationVersion}}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #menuItem let-item>\r\n <a [style.padding-left.px]=\"item.padding_left\" *ngIf=\"(!item.routerLink && !item.subMenu) || item.wip\" [href]=\"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 [style.padding-left.px]=\"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 [style.padding-left.px]=\"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 <ng-container *ngFor=\"let subitem of item.subMenu\" >\r\n <li *ngIf=\"subitem.visible\" class=\"sidebar-sublist-item level-{{item.level}}\" [class.sidebar-item-wip]=\"subitem.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: subitem}\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ul>\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: [".app-sidebar{background:#344154;box-shadow:8px 0 6px -6px #1313130a,12px 0 16px -16px #1313130d;height:100%;min-height:100%;width:230px;overflow:hidden;display:block;z-index:9}.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 rgb(71.5,89.375,115.5)}.sidebar-item-wip{cursor:default}a.sidebar-list-link{display:block;height:42px;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;transition:transform .2s linear}a.sidebar-list-link:hover{background-color:#2a3544}.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:#3e4d64}.sidebar-sublist .level-1{background-color:#364357}.sidebar-sublist .level-2{background-color:#2e3a4b}.sidebar-sublist li{display:block;float:none;padding:0;border-bottom:none;position:relative;border-top:1px solid rgb(71.5,89.375,115.5)}.sidebar-sublist li a{display:block;text-shadow:none;font-size:13px;text-decoration:none;height:42px;line-height:42px}.sidebar-sublist li a:before{font-family:\"Font Awesome 6 Pro\";content:\"\\f1db\";margin-right:10px;font-size:10px}.sidebar-sublist li a:hover{background-color:#2a3544}.sidebar-item-expanded>ul.sidebar-sublist{display:block;background-color:#3e4d64}.subitem-submenu-link .fa{top:14px}.sidebar-hover-elem{width:4px;background-color:#024a88;position:absolute;top:-90px;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:#677ea1!important}@media(max-width:544px){.sidebar.menu-collapsed{width:0}.sidebar-hover-elem,.sidebar-select-elem{display:none}}.app-logo-container{height:60px;background-color:#2a3544;display:flex;position:relative;z-index:10;margin-bottom:-1px;border-bottom:1px solid rgb(71.5,89.375,115.5);color:#fff;padding:10px 0 0 15px}.app-sidebar-search{height:39px;border-bottom:42px solid #344154}.app-logo-placeholder{text-align:center;font-size:1.2rem;text-transform:uppercase;font-weight:700;margin-top:15px!important}.app-logo-font{color:#fffac2;font-family:Work Sans;font-size:15px;line-height:1;text-transform:uppercase;font-weight:700;padding-left:5px;padding-bottom:2px;overflow:hidden}.app-logo-font-container{display:inline-block;vertical-align:bottom;width:calc(var(--sidebar-width) - 70px);margin:0;height:auto;overflow:hidden}.app-logo-img-sm{padding-top:10px}.app-sidebar-footer{position:relative;background-color:#344154}.app-sidebar-footer-fade{top:-42px;position:absolute;background-image:linear-gradient(to top,#344154,#34415400);height:42px;width:230px;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.app-sidebar-footer-user-container{position:relative;display:flex;margin-top:5px;color:#fff}.app-sidebar-footer-user-img-placeholder{height:40px;min-width:40px;width:40px;text-align:center}.app-sidebar-footer-user-img{height:40px;min-height:40px;min-width:40px;width:40px;border-radius:50%;border:1px solid rgb(71.5,89.375,115.5)}.app-sidebar-footer-user-status{background-color:#32cd32;border:1px solid green;border-radius:50%;position:absolute;left:29px;top:29px;height:11px;width:11px}.app-sidebar-footer-user-name-container{width:150px;white-space:nowrap;overflow:hidden;margin-left:10px}.username-text{z-index:1;min-width:140px;display:flex;font-size:16px}.username-text-animator:hover{transform:translate(100%);animation:my-animation 3s linear infinite}@keyframes my-animation{0%{transform:translate(0)}to{transform:translate(-50%)}}.tenantname-text{font-size:12px}.app-sidebar-footer-quick-ops{margin-top:10px;display:flex;justify-content:space-between}.app-sidebar-footer-op{color:#fff;font-weight:700;cursor:pointer}.app-sidebar-footer-ver{text-align:right;margin-top:30px;color:#fff}.app-search{position:relative}.app-search a{position:absolute;top:8px;right:14px;font-size:16px;color:#fff!important}.app-search .form-control{font-size:12px;letter-spacing:.03em;height:40px;color:#fff;padding:7px 40px 7px 20px;background:#3e4d64;box-shadow:none!important;border-top:none!important;border-left:none!important;border-right:none!important;border-bottom:1px solid rgb(71.5,89.375,115.5)}.app-sidebar.menu-collapsed .app-sidebar-footer-op{display:block;padding-left:12px;padding-top:5px;margin:0;width:16px}\n"] }]
|
|
590
|
+
args: [{ selector: "sidebar", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, viewProviders: [{ provide: LocalizationService, useClass: SideBarLoc }], imports: [SlimScroll, NgFor, NgTemplateOutlet, NgIf, RouterLinkActive, RouterLink, FormsModule, EsTableModule, LocalizationModule], template: "<div #sidebar class=\"app-sidebar\" [class.menu-collapsed]=\"isMenuCollapsed\" (mouseleave.out-zone)=\"sendAwayHoverElement();\">\r\n <!--Jace Logo-->\r\n <div class=\"app-logo-container\">\r\n <div class=\"app-pointer\" [routerLink]=\"['/pages/dashboard']\" style=\"margin-bottom: 10px; overflow: hidden\">\r\n <ng-container *ngIf=\"!isMenuCollapsed\">\r\n <img class=\"app-logo-img\" src=\"assets/img/logo/headlogo_small.png\" alt=\"\">\r\n <div class=\"app-logo-font-container\">\r\n <span class=\"app-logo-font\">{{applicationName}}</span>\r\n </div>\r\n </ng-container>\r\n \r\n <img *ngIf=\"isMenuCollapsed\" class=\"app-logo-img-sm\" src=\"assets/img/logo/headlogo_small.png\" alt=\"\">\r\n </div>\r\n </div>\r\n <!--Ricerca globale-->\r\n <div *ngIf=\"!isMenuCollapsed\" class=\"app-sidebar-search\">\r\n <form novalidate role=\"search\" class=\"app-search\" (ngSubmit)=\"onSearchRequest()\">\r\n <input type=\"text\" placeholder=\"Ricerca...\" [(ngModel)]=\"searchTerm\" (ngModelChange)=\"onSearchModelChanged()\" name=\"search\" class=\"form-control\" autocomplete=\"off\">\r\n <a><i class=\"far fa-magnifying-glass\"></i></a>\r\n </form>\r\n </div>\r\n <!--Barra laterale con tutte le voci di Menu-->\r\n <ul class=\"nav nav-sidebar flex-column flex-nowrap\" style=\"position: relative; zoom: 1\" slim-scroll [slimScrollOptions]=\"{height: menuHeight + (isMenuCollapsed ? 55 : 0)}\">\r\n <ng-container *ngFor=\"let item of menuItems; let last = last;\">\r\n <li *ngIf=\"item.visible\" class=\"sidebar-list-item level-{{item.level}}\" \r\n [style.margin-bottom]=\"last ? '42px' : '0px'\"\r\n [class.has-sub-menu]=\"item.subMenu\" \r\n [class.sidebar-item-expanded]=\"item.expanded\"\r\n [class.sidebar-item-wip]=\"item.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : { $implicit: item }\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n <!--Selettore Barra dei Menu-->\r\n <div class=\"sidebar-hover-elem\"></div>\r\n <!--Footer *ngIf=\"!isMenuCollapsed\"-->\r\n <div class=\"app-sidebar-footer\">\r\n <!--Minuscolo fade tra sidebar e inizio footer-->\r\n <div class=\"app-sidebar-footer-fade\"></div>\r\n <div [style.padding.px]=\"isMenuCollapsed ? 5 : 15\">\r\n <!--Informazioni utente collegato-->\r\n <div class=\"app-sidebar-footer-user-container\">\r\n <!--Mentre sto ancora caricando la ProfilePic mi assicuro di mostrare un placeholder-->\r\n <div *ngIf=\"!profile.ProfilePicture\" class=\"app-sidebar-footer-user-img-placeholder\">\r\n <i class=\"far fa-2x fa-spinner fa-spin-pulse\" style=\"color: black; margin-top: 5px;\"></i>\r\n </div>\r\n <!--Una volta caricata la ProfilePic nascondo il placeholder e la mostro-->\r\n <ng-container *ngIf=\"profile.ProfilePicture\">\r\n <img [src]=\"profile.ProfilePicture\" alt=\"\" class=\"app-sidebar-footer-user-img app-pointer\" [routerLink]=\"['/pages/profile']\">\r\n <!-- Da valutare -->\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]=\"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]=\"undefined\" *ngIf=\"_state.halloweenTime()\"> -->\r\n <div class=\"app-sidebar-footer-user-status\"></div>\r\n </ng-container>\r\n <!--Username animato quando supera i 15 caratteri-->\r\n <div class=\"app-sidebar-footer-user-name-container\">\r\n <div class=\"username-text\" [class.username-text-animator]=\"user?.length > 15\">{{user}}</div>\r\n <div class=\"tenantname-text\">{{tenant}}</div>\r\n </div>\r\n </div>\r\n <!--Operazioni rapide (Logout, Cambia tenant, Guida, Supporto,...)-->\r\n <div class=\"app-sidebar-footer-quick-ops\" [style.display]=\"isMenuCollapsed ? 'inline' : 'flex'\">\r\n <div (click)=\"onChangeTenant();\" class=\"app-sidebar-footer-op app-no-selection\" [style.margin-top.px]=\"isMenuCollapsed ? 10 : 0\"><i class=\"far fa-right-left\"></i><span *ngIf=\"!isMenuCollapsed\"> Cambia Tenant</span></div>\r\n <div (click)=\"onLogout();\" class=\"app-sidebar-footer-op app-no-selection\" [style.margin-top.px]=\"isMenuCollapsed ? 10 : 0\"><i class=\"far fa-right-from-bracket\"></i><span *ngIf=\"!isMenuCollapsed\"> Logout</span></div>\r\n </div>\r\n <!--Versione corrente applicazione-->\r\n <div *ngIf=\"!isMenuCollapsed\" class=\"app-sidebar-footer-ver\">\r\n v{{applicationVersion}}\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #menuItem let-item>\r\n <a [style.padding-left.px]=\"item.padding_left\" *ngIf=\"(!item.routerLink && !item.subMenu) || item.wip\" [href]=\"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 [style.padding-left.px]=\"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 [style.padding-left.px]=\"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 <ng-container *ngFor=\"let subitem of item.subMenu\" >\r\n <li *ngIf=\"subitem.visible\" class=\"sidebar-sublist-item level-{{item.level}}\" [class.sidebar-item-wip]=\"subitem.wip\">\r\n <ng-container *ngTemplateOutlet=\"menuItem; context : {$implicit: subitem}\"></ng-container>\r\n </li>\r\n </ng-container>\r\n </ul>\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: [".app-sidebar{background:#344154;box-shadow:8px 0 6px -6px #1313130a,12px 0 16px -16px #1313130d;height:100%;min-height:100%;width:230px;overflow:hidden;display:block;z-index:9}.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 rgb(71.5,89.375,115.5)}.sidebar-item-wip{cursor:default}a.sidebar-list-link{display:block;height:42px;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;transition:transform .2s linear}a.sidebar-list-link:hover{background-color:#2a3544}.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:#3e4d64}.sidebar-sublist .level-1{background-color:#364357}.sidebar-sublist .level-2{background-color:#2e3a4b}.sidebar-sublist li{display:block;float:none;padding:0;border-bottom:none;position:relative;border-top:1px solid rgb(71.5,89.375,115.5)}.sidebar-sublist li a{display:block;text-shadow:none;font-size:13px;text-decoration:none;height:42px;line-height:42px}.sidebar-sublist li a:before{font-family:\"Font Awesome 6 Pro\";content:\"\\f1db\";margin-right:10px;font-size:10px}.sidebar-sublist li a:hover{background-color:#2a3544}.sidebar-item-expanded>ul.sidebar-sublist{display:block;background-color:#3e4d64}.subitem-submenu-link .fa{top:14px}.sidebar-hover-elem{width:4px;background-color:#024a88;position:absolute;top:-90px;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:#677ea1!important}@media (max-width: 544px){.sidebar.menu-collapsed{width:0}.sidebar-hover-elem,.sidebar-select-elem{display:none}}.app-logo-container{height:60px;background-color:#2a3544;display:flex;position:relative;z-index:10;margin-bottom:-1px;border-bottom:1px solid rgb(71.5,89.375,115.5);color:#fff;padding:10px 0 0 15px}.app-sidebar-search{height:39px;border-bottom:42px solid #344154}.app-logo-placeholder{text-align:center;font-size:1.2rem;text-transform:uppercase;font-weight:700;margin-top:15px!important}.app-logo-font{color:#fffac2;font-family:Work Sans;font-size:15px;line-height:1;text-transform:uppercase;font-weight:700;padding-left:5px;padding-bottom:2px;overflow:hidden}.app-logo-font-container{display:inline-block;vertical-align:bottom;width:calc(var(--sidebar-width) - 70px);margin:0;height:auto;overflow:hidden}.app-logo-img-sm{padding-top:10px}.app-sidebar-footer{position:relative;background-color:#344154}.app-sidebar-footer-fade{top:-42px;position:absolute;background-image:linear-gradient(to top,#344154,#34415400);height:42px;width:230px;z-index:100;backdrop-filter:blur(2px)}.app-sidebar-footer-user-container{position:relative;display:flex;margin-top:5px;color:#fff}.app-sidebar-footer-user-img-placeholder{height:40px;min-width:40px;width:40px;text-align:center}.app-sidebar-footer-user-img{height:40px;min-height:40px;min-width:40px;width:40px;border-radius:50%;border:1px solid rgb(71.5,89.375,115.5)}.app-sidebar-footer-user-status{background-color:#32cd32;border:1px solid green;border-radius:50%;position:absolute;left:29px;top:29px;height:11px;width:11px}.app-sidebar-footer-user-name-container{width:150px;white-space:nowrap;overflow:hidden;margin-left:10px}.username-text{z-index:1;min-width:140px;display:flex;font-size:16px}.username-text-animator:hover{transform:translate(100%);animation:my-animation 3s linear infinite}@keyframes my-animation{0%{transform:translate(0)}to{transform:translate(-50%)}}.tenantname-text{font-size:12px}.app-sidebar-footer-quick-ops{margin-top:10px;display:flex;justify-content:space-between}.app-sidebar-footer-op{color:#fff;font-weight:700;cursor:pointer}.app-sidebar-footer-ver{text-align:right;margin-top:30px;color:#fff}.app-search{position:relative}.app-search a{position:absolute;top:8px;right:14px;font-size:16px;color:#fff!important}.app-search .form-control{font-size:12px;letter-spacing:.03em;height:40px;color:#fff;padding:7px 40px 7px 20px;background:#3e4d64;box-shadow:none!important;border-top:none!important;border-left:none!important;border-right:none!important;border-bottom:1px solid rgb(71.5,89.375,115.5)}.app-sidebar.menu-collapsed .app-sidebar-footer-op{display:block;padding-left:12px;padding-top:5px;margin:0;width:16px}\n"] }]
|
|
590
591
|
}], ctorParameters: () => [{ type: i1$1.LocalizationService }, { type: i0.Type, decorators: [{
|
|
591
592
|
type: Optional
|
|
592
593
|
}, {
|
|
@@ -634,10 +635,10 @@ class NavBarLoc extends LocalizationService {
|
|
|
634
635
|
super.set("it->en", "Ripulisci la Cache di tutti", ["Clear Caches of everyone"]);
|
|
635
636
|
super.set("it->en", "Ripulisci le Preferenze di tutti", ["Clear Preferences of everyone"]);
|
|
636
637
|
}
|
|
637
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
638
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
638
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: NavBarLoc, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
639
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: NavBarLoc }); }
|
|
639
640
|
}
|
|
640
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
641
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: NavBarLoc, decorators: [{
|
|
641
642
|
type: Injectable
|
|
642
643
|
}], ctorParameters: () => [{ type: i0.Injector }] });
|
|
643
644
|
|
|
@@ -657,10 +658,10 @@ class ReactiveComponent {
|
|
|
657
658
|
for (let i = 0; i < this.Subscriptions.length; i++)
|
|
658
659
|
this.Subscriptions[i].unsubscribe();
|
|
659
660
|
}
|
|
660
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
661
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
661
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ReactiveComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
662
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ReactiveComponent, isStandalone: false, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
|
|
662
663
|
}
|
|
663
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
664
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ReactiveComponent, decorators: [{
|
|
664
665
|
type: Component,
|
|
665
666
|
args: [{
|
|
666
667
|
template: '',
|
|
@@ -822,10 +823,10 @@ class Navbar extends ReactiveComponent {
|
|
|
822
823
|
completedJobClicked(job) {
|
|
823
824
|
this.cjrService.redirect(job);
|
|
824
825
|
}
|
|
825
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
826
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: Navbar, isStandalone: true, selector: "navbar", viewQueries: [{ propertyName: "navbar", first: true, predicate: ["navbar"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nav #navbar class=\"nav enuma-navbar\">\r\n <div class=\"d-flex\" style=\"width: 100%;\">\r\n <!-- Collapse men\u00F9 a sinistra -->\r\n <div><a (click)=\"toggleMenu()\" class=\"far fa-bars nav-icon app-padding-left-15\" style=\"padding-top: 8px;\"></a></div>\r\n\r\n <!-- Breadcrumb -->\r\n <div class=\"app-padding-left-15\" style=\"padding-top: 8px;\"><ng-content></ng-content></div>\r\n\r\n <div style=\"margin-left: auto; display: flex;\">\r\n <!--Notifications (Jobs)-->\r\n <div class=\"user-menu app-no-selection app-margin-right-15\" dropdown container=\"body\" placement=\"bottom right\">\r\n <div *ngIf=\"_state.jobsInProgress > 0\" class=\"fa-beat-fade nav-jobs-icon-notification\"></div>\r\n <a [class.fa-shake]=\"_state.jobsInProgress > 0\" class=\"far fa-bell module-nav-menu-link dropdown-toggle app-pointer\" style=\"--fa-animation-duration: 3s; --fa-animation-iteration-count: 1;\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"nav-jobs-menu\" role=\"menu\">\r\n <div class=\"nav-jobs-menu-header\">\r\n <span style=\"margin-right: auto;\">{{'Job Applicativi' | localize : lc}}</span>\r\n <span class=\"app-margin-right-5\">{{'Notifiche' | localize : lc}}:</span>\r\n <span class=\"m-b-min-5\">\r\n <p-toggleswitch [(ngModel)]=\"_state.notifyOnCompletedJobs\" (click)=\"clearMessages(); $event.stopPropagation();\"/>\r\n </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 <!--Other Modules-->\r\n <div *ngIf=\"!ANONYMOUS_MODE\" class=\"user-menu app-no-selection app-margin-right-15\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a class=\"far fa-cubes module-nav-menu-link dropdown-toggle app-pointer\" (click)=\"goToDashboard()\"></a>\r\n </div>\r\n\r\n <!--Quick Actions-->\r\n <div class=\"user-menu app-no-selection app-margin-right-15\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a class=\"far fa-folder-gear module-nav-menu-link dropdown-toggle app-pointer\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right-user app-no-padding\" role=\"menu\">\r\n <li class=\"d-flex dropdown-title-bg\">\r\n <div class=\"dropdown-title\">Gestisci Cache Utente</div>\r\n </li>\r\n <li class=\"dropdown-top\"></li>\r\n <li class=\"dropdown-item app-pointer\" (click)=\"clearUserPreferences()\">\r\n <i class=\"far fa-user-times app-margin-right-10\"></i>{{'Ripulisci le Preferenze Utente' | localize : lc}}\r\n </li>\r\n <li class=\"dropdown-item app-pointer\" (click)=\"clearAll()\">\r\n <i class=\"far fa-broom-wide app-margin-right-10\"></i>{{'Ripulisci la Cache' | localize : lc}}\r\n </li>\r\n <li *ac=\"'R:Jace Admin'\" class=\"dropdown-item app-pointer\" (click)=\"forceClearConnectedClientAssets('cache')\">\r\n <i class=\"far fa-broom-wide app-margin-right-10\"></i>{{'Ripulisci la Cache di tutti' | localize : lc}}\r\n </li>\r\n <li *ac=\"'R:Jace Admin'\" class=\"dropdown-item app-pointer\" (click)=\"forceClearConnectedClientAssets('preferences')\">\r\n <i class=\"far fa-broom-wide app-margin-right-10\"></i>{{'Ripulisci le Preferenze di tutti' | localize : lc}}\r\n </li>\r\n <li class=\"dropdown-bot\"></li>\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-15\" *ngFor=\"let comp of extensionComponents\">\r\n <ng-template [componentHost]=\"comp\"></ng-template>\r\n </div>\r\n </div>\r\n\r\n <!--Ambiente-->\r\n <div>\r\n <div class=\"nav-environment app-no-selection\">\r\n <ng-container *ngIf=\"['Dev', 2].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevA', 3].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevB', 4].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo B' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Stage', 5].includes(applicationEnvironment)\">{{'Ambiente di Staging' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['StageA', 6].includes(applicationEnvironment)\">{{'Ambiente di Staging A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Prod', 1].includes(applicationEnvironment)\">{{'Ambiente di Produzione' | localize : lc}}</ng-container>\r\n </div>\r\n </div>\r\n\r\n <!--Debugging ruoli e permessi-->\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 </div>\r\n</nav>\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 hidden>{{applicationEnvironment}}</div>\r\n <div class=\"text-sm-center\">\r\n <ng-container *ngIf=\"['Dev', 2].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevA', 3].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevB', 4].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo B' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Stage', 5].includes(applicationEnvironment)\">{{'Ambiente di Staging' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['StageA', 6].includes(applicationEnvironment)\">{{'Ambiente di Staging A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Prod', 1].includes(applicationEnvironment)\">{{'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>", styles: [".nav-jobs-icon{position:absolute;left:-20px;margin:0;padding:0;top:10px;color:#fff!important;font-size:20px}.nav-jobs-icon-notification{top:7px;left:-7px;position:absolute;background-color:#0056b3;border-radius:50%;height:8px;width:8px}.nav-jobs-menu{width:350px;height:250px;background:#fff;margin:2px 0 0;padding:5px;border:1px solid rgb(61.75,77.1875,99.75)}.nav-jobs-menu-header{background-color:#344154;padding:8px;font-size:14px;margin-top:-5px;margin-left:-5px;margin-right:-5px;display:flex;align-items:center}.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}.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;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;-o-transform:none!important;transform:none!important}.user-menu .dropdown-menu a{color:#024a88}.user-menu .dropdown-menu a:hover{color:#fff8a9;background-color:red}.user-menu .dropdown-menu a i{margin-right:8px}.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 11px!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}.module-nav-menu-link{color:#fff!important;font-size:20px;padding-top:8px;padding-right:5px;cursor:pointer}.module-board-menu{position:relative;top:1px;background-color:#1f1f1f;padding:15px}.dropdown-title-bg{background-color:#344154;border:1px solid rgb(61.75,77.1875,99.75);border-bottom:0px}.dropdown-title{color:#fff;margin:auto;padding:8px 0;font-size:18px}.dropdown-menu{background-color:#fff;border:none}.dropdown-divider{border-top:1px solid #eeeeee}.dropdown-item{background-color:#fff;color:#0056b3}.dropdown-item:hover{color:#004a9a!important;background-color:#eee}.dropdown-top{background-color:#fff;height:0;margin-bottom:.5rem;overflow:hidden;border-top:1px solid #eeeeee}.dropdown-bot{background-color:#fff;height:0;margin-top:.5rem;overflow:hidden;border-top:1px solid #eeeeee}.enuma-navbar{height:60px;align-items:center;background-color:#2a3544;box-shadow:0 8px 6px -6px #1313130a,0 12px 16px -16px #1313130d;margin-bottom:-1px;border-bottom:1px solid #191E29}.nav-environment{color:#fff;background-color:#3e4d64;text-align:center;padding:5px 10px;margin:2px 10px 0 0}.nav-icon{color:#fff!important;font-size:20px;cursor:pointer}.nav-right-section{position:absolute;right:10px;top:10px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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: "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: i10.ProgressbarComponent, selector: "progressbar", inputs: ["max", "animate", "striped", "type", "value"] }, { kind: "directive", type: ComponentHostDirective, selector: "[componentHost]", inputs: ["componentHost", "Inputs"] }, { kind: "ngmodule", type: EsTableModule }, { kind: "ngmodule", type: LocalizationModule }, { kind: "ngmodule", type: AccessControlModule }, { kind: "directive", type: i5$1.AccessControlDirective, selector: "[ac]", inputs: ["ac", "acAbsolute"] }, { kind: "ngmodule", type: ToggleSwitchModule }, { kind: "component", type: i12.ToggleSwitch, selector: "p-toggleswitch, p-toggleSwitch, p-toggle-switch", inputs: ["styleClass", "tabindex", "inputId", "readonly", "trueValue", "falseValue", "ariaLabel", "size", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "pipe", type: i1$1.LocalizePipe, name: "localize" }], viewProviders: [{ provide: LocalizationService, useClass: NavBarLoc }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
826
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Navbar, deps: [{ token: i1$2.PreferencesService }, { token: i1$2.CacheService }, { token: i2$2.BaseMessageService }, { token: i2$2.NotificationsService }, { token: i2$1.MessageService }, { token: i1$1.LocalizationService }, { token: i3$1.HTTPService }, { token: i0.ChangeDetectorRef }, { token: i1.AppState }, { token: i1.TokenService }, { token: i2.Router }, { token: i1.CompletedJobRedirectionService }, { token: NAVBAR_EXTENSIONS }, { token: LOGIN_URL_LEGACY }, { token: ANONYMOUS_MODE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
827
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: Navbar, isStandalone: true, selector: "navbar", viewQueries: [{ propertyName: "navbar", first: true, predicate: ["navbar"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nav #navbar class=\"nav enuma-navbar\">\r\n <div class=\"d-flex\" style=\"width: 100%;\">\r\n <!-- Collapse men\u00F9 a sinistra -->\r\n <div><a (click)=\"toggleMenu()\" class=\"far fa-bars nav-icon app-padding-left-15\" style=\"padding-top: 8px;\"></a></div>\r\n\r\n <!-- Breadcrumb -->\r\n <div class=\"app-padding-left-15\" style=\"padding-top: 8px;\"><ng-content></ng-content></div>\r\n\r\n <div style=\"margin-left: auto; display: flex;\">\r\n <!--Notifications (Jobs)-->\r\n <div class=\"user-menu app-no-selection app-margin-right-15\" dropdown container=\"body\" placement=\"bottom right\">\r\n <div *ngIf=\"_state.jobsInProgress > 0\" class=\"fa-beat-fade nav-jobs-icon-notification\"></div>\r\n <a [class.fa-shake]=\"_state.jobsInProgress > 0\" class=\"far fa-bell module-nav-menu-link dropdown-toggle app-pointer\" style=\"--fa-animation-duration: 3s; --fa-animation-iteration-count: 1;\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"nav-jobs-menu\" role=\"menu\">\r\n <div class=\"nav-jobs-menu-header\">\r\n <span style=\"margin-right: auto;\">{{'Job Applicativi' | localize : lc}}</span>\r\n <span class=\"app-margin-right-5\">{{'Notifiche' | localize : lc}}:</span>\r\n <span class=\"m-b-min-5\">\r\n <p-toggleswitch [(ngModel)]=\"_state.notifyOnCompletedJobs\" (click)=\"clearMessages(); $event.stopPropagation();\"/>\r\n </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 <!--Other Modules-->\r\n <div *ngIf=\"!ANONYMOUS_MODE\" class=\"user-menu app-no-selection app-margin-right-15\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a class=\"far fa-cubes module-nav-menu-link dropdown-toggle app-pointer\" (click)=\"goToDashboard()\"></a>\r\n </div>\r\n\r\n <!--Quick Actions-->\r\n <div class=\"user-menu app-no-selection app-margin-right-15\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a class=\"far fa-folder-gear module-nav-menu-link dropdown-toggle app-pointer\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right-user app-no-padding\" role=\"menu\">\r\n <li class=\"d-flex dropdown-title-bg\">\r\n <div class=\"dropdown-title\">Gestisci Cache Utente</div>\r\n </li>\r\n <li class=\"dropdown-top\"></li>\r\n <li class=\"dropdown-item app-pointer\" (click)=\"clearUserPreferences()\">\r\n <i class=\"far fa-user-times app-margin-right-10\"></i>{{'Ripulisci le Preferenze Utente' | localize : lc}}\r\n </li>\r\n <li class=\"dropdown-item app-pointer\" (click)=\"clearAll()\">\r\n <i class=\"far fa-broom-wide app-margin-right-10\"></i>{{'Ripulisci la Cache' | localize : lc}}\r\n </li>\r\n <li *ac=\"'R:Jace Admin'\" class=\"dropdown-item app-pointer\" (click)=\"forceClearConnectedClientAssets('cache')\">\r\n <i class=\"far fa-broom-wide app-margin-right-10\"></i>{{'Ripulisci la Cache di tutti' | localize : lc}}\r\n </li>\r\n <li *ac=\"'R:Jace Admin'\" class=\"dropdown-item app-pointer\" (click)=\"forceClearConnectedClientAssets('preferences')\">\r\n <i class=\"far fa-broom-wide app-margin-right-10\"></i>{{'Ripulisci le Preferenze di tutti' | localize : lc}}\r\n </li>\r\n <li class=\"dropdown-bot\"></li>\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-15\" *ngFor=\"let comp of extensionComponents\">\r\n <ng-template [componentHost]=\"comp\"></ng-template>\r\n </div>\r\n </div>\r\n\r\n <!--Ambiente-->\r\n <div>\r\n <div class=\"nav-environment app-no-selection\">\r\n <ng-container *ngIf=\"['Dev', 2].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevA', 3].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevB', 4].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo B' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Stage', 5].includes(applicationEnvironment)\">{{'Ambiente di Staging' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['StageA', 6].includes(applicationEnvironment)\">{{'Ambiente di Staging A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Prod', 1].includes(applicationEnvironment)\">{{'Ambiente di Produzione' | localize : lc}}</ng-container>\r\n </div>\r\n </div>\r\n\r\n <!--Debugging ruoli e permessi-->\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 </div>\r\n</nav>\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 hidden>{{applicationEnvironment}}</div>\r\n <div class=\"text-sm-center\">\r\n <ng-container *ngIf=\"['Dev', 2].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevA', 3].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevB', 4].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo B' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Stage', 5].includes(applicationEnvironment)\">{{'Ambiente di Staging' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['StageA', 6].includes(applicationEnvironment)\">{{'Ambiente di Staging A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Prod', 1].includes(applicationEnvironment)\">{{'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>", styles: [".nav-jobs-icon{position:absolute;left:-20px;margin:0;padding:0;top:10px;color:#fff!important;font-size:20px}.nav-jobs-icon-notification{top:7px;left:-7px;position:absolute;background-color:#0056b3;border-radius:50%;height:8px;width:8px}.nav-jobs-menu{width:350px;height:250px;background:#fff;margin:2px 0 0;padding:5px;border:1px solid rgb(61.75,77.1875,99.75)}.nav-jobs-menu-header{background-color:#344154;padding:8px;font-size:14px;margin-top:-5px;margin-left:-5px;margin-right:-5px;display:flex;align-items:center}.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}.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;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;-o-transform:none!important;transform:none!important}.user-menu .dropdown-menu a{color:#024a88}.user-menu .dropdown-menu a:hover{color:#fff8a9;background-color:red}.user-menu .dropdown-menu a i{margin-right:8px}.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 11px!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}.module-nav-menu-link{color:#fff!important;font-size:20px;padding-top:8px;padding-right:5px;cursor:pointer}.module-board-menu{position:relative;top:1px;background-color:#1f1f1f;padding:15px}.dropdown-title-bg{background-color:#344154;border:1px solid rgb(61.75,77.1875,99.75);border-bottom:0px}.dropdown-title{color:#fff;margin:auto;padding:8px 0;font-size:18px}.dropdown-menu{background-color:#fff;border:none}.dropdown-divider{border-top:1px solid #eeeeee}.dropdown-item{background-color:#fff;color:#0056b3}.dropdown-item:hover{color:#004a9a!important;background-color:#eee}.dropdown-top{background-color:#fff;height:0;margin-bottom:.5rem;overflow:hidden;border-top:1px solid #eeeeee}.dropdown-bot{background-color:#fff;height:0;margin-top:.5rem;overflow:hidden;border-top:1px solid #eeeeee}.enuma-navbar{height:60px;align-items:center;background-color:#2a3544;box-shadow:0 8px 6px -6px #1313130a,0 12px 16px -16px #1313130d;margin-bottom:-1px;border-bottom:1px solid #191E29}.nav-environment{color:#fff;background-color:#3e4d64;text-align:center;padding:5px 10px;margin:2px 10px 0 0}.nav-icon{color:#fff!important;font-size:20px;cursor:pointer}.nav-right-section{position:absolute;right:10px;top:10px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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: "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: i10.ProgressbarComponent, selector: "progressbar", inputs: ["max", "animate", "striped", "type", "value"] }, { kind: "directive", type: ComponentHostDirective, selector: "[componentHost]", inputs: ["componentHost", "Inputs"] }, { kind: "ngmodule", type: EsTableModule }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1$1.LocalizePipe, name: "localize" }, { kind: "ngmodule", type: AccessControlModule }, { kind: "directive", type: i5$1.AccessControlDirective, selector: "[ac]", inputs: ["ac", "acAbsolute"] }, { kind: "ngmodule", type: ToggleSwitchModule }, { kind: "component", type: i12.ToggleSwitch, selector: "p-toggleswitch, p-toggleSwitch, p-toggle-switch", inputs: ["style", "styleClass", "tabindex", "inputId", "name", "disabled", "readonly", "trueValue", "falseValue", "ariaLabel", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }], viewProviders: [{ provide: LocalizationService, useClass: NavBarLoc }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
827
828
|
}
|
|
828
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
829
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: Navbar, decorators: [{
|
|
829
830
|
type: Component,
|
|
830
831
|
args: [{ selector: "navbar", viewProviders: [{ provide: LocalizationService, useClass: NavBarLoc }], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [FormsModule, BsDropdownModule, NgIf, NgFor, ProgressbarModule, ComponentHostDirective, EsTableModule, LocalizationModule, AccessControlModule, ToggleSwitchModule], template: "<nav #navbar class=\"nav enuma-navbar\">\r\n <div class=\"d-flex\" style=\"width: 100%;\">\r\n <!-- Collapse men\u00F9 a sinistra -->\r\n <div><a (click)=\"toggleMenu()\" class=\"far fa-bars nav-icon app-padding-left-15\" style=\"padding-top: 8px;\"></a></div>\r\n\r\n <!-- Breadcrumb -->\r\n <div class=\"app-padding-left-15\" style=\"padding-top: 8px;\"><ng-content></ng-content></div>\r\n\r\n <div style=\"margin-left: auto; display: flex;\">\r\n <!--Notifications (Jobs)-->\r\n <div class=\"user-menu app-no-selection app-margin-right-15\" dropdown container=\"body\" placement=\"bottom right\">\r\n <div *ngIf=\"_state.jobsInProgress > 0\" class=\"fa-beat-fade nav-jobs-icon-notification\"></div>\r\n <a [class.fa-shake]=\"_state.jobsInProgress > 0\" class=\"far fa-bell module-nav-menu-link dropdown-toggle app-pointer\" style=\"--fa-animation-duration: 3s; --fa-animation-iteration-count: 1;\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"nav-jobs-menu\" role=\"menu\">\r\n <div class=\"nav-jobs-menu-header\">\r\n <span style=\"margin-right: auto;\">{{'Job Applicativi' | localize : lc}}</span>\r\n <span class=\"app-margin-right-5\">{{'Notifiche' | localize : lc}}:</span>\r\n <span class=\"m-b-min-5\">\r\n <p-toggleswitch [(ngModel)]=\"_state.notifyOnCompletedJobs\" (click)=\"clearMessages(); $event.stopPropagation();\"/>\r\n </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 <!--Other Modules-->\r\n <div *ngIf=\"!ANONYMOUS_MODE\" class=\"user-menu app-no-selection app-margin-right-15\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a class=\"far fa-cubes module-nav-menu-link dropdown-toggle app-pointer\" (click)=\"goToDashboard()\"></a>\r\n </div>\r\n\r\n <!--Quick Actions-->\r\n <div class=\"user-menu app-no-selection app-margin-right-15\" dropdown container=\"body\" placement=\"bottom right\">\r\n <a class=\"far fa-folder-gear module-nav-menu-link dropdown-toggle app-pointer\" dropdownToggle></a>\r\n <ul *dropdownMenu class=\"dropdown-menu dropdown-menu-right-user app-no-padding\" role=\"menu\">\r\n <li class=\"d-flex dropdown-title-bg\">\r\n <div class=\"dropdown-title\">Gestisci Cache Utente</div>\r\n </li>\r\n <li class=\"dropdown-top\"></li>\r\n <li class=\"dropdown-item app-pointer\" (click)=\"clearUserPreferences()\">\r\n <i class=\"far fa-user-times app-margin-right-10\"></i>{{'Ripulisci le Preferenze Utente' | localize : lc}}\r\n </li>\r\n <li class=\"dropdown-item app-pointer\" (click)=\"clearAll()\">\r\n <i class=\"far fa-broom-wide app-margin-right-10\"></i>{{'Ripulisci la Cache' | localize : lc}}\r\n </li>\r\n <li *ac=\"'R:Jace Admin'\" class=\"dropdown-item app-pointer\" (click)=\"forceClearConnectedClientAssets('cache')\">\r\n <i class=\"far fa-broom-wide app-margin-right-10\"></i>{{'Ripulisci la Cache di tutti' | localize : lc}}\r\n </li>\r\n <li *ac=\"'R:Jace Admin'\" class=\"dropdown-item app-pointer\" (click)=\"forceClearConnectedClientAssets('preferences')\">\r\n <i class=\"far fa-broom-wide app-margin-right-10\"></i>{{'Ripulisci le Preferenze di tutti' | localize : lc}}\r\n </li>\r\n <li class=\"dropdown-bot\"></li>\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-15\" *ngFor=\"let comp of extensionComponents\">\r\n <ng-template [componentHost]=\"comp\"></ng-template>\r\n </div>\r\n </div>\r\n\r\n <!--Ambiente-->\r\n <div>\r\n <div class=\"nav-environment app-no-selection\">\r\n <ng-container *ngIf=\"['Dev', 2].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevA', 3].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevB', 4].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo B' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Stage', 5].includes(applicationEnvironment)\">{{'Ambiente di Staging' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['StageA', 6].includes(applicationEnvironment)\">{{'Ambiente di Staging A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Prod', 1].includes(applicationEnvironment)\">{{'Ambiente di Produzione' | localize : lc}}</ng-container>\r\n </div>\r\n </div>\r\n\r\n <!--Debugging ruoli e permessi-->\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 </div>\r\n</nav>\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 hidden>{{applicationEnvironment}}</div>\r\n <div class=\"text-sm-center\">\r\n <ng-container *ngIf=\"['Dev', 2].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevA', 3].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['DevB', 4].includes(applicationEnvironment)\">{{'Ambiente di Sviluppo B' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Stage', 5].includes(applicationEnvironment)\">{{'Ambiente di Staging' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['StageA', 6].includes(applicationEnvironment)\">{{'Ambiente di Staging A' | localize : lc}}</ng-container>\r\n <ng-container *ngIf=\"['Prod', 1].includes(applicationEnvironment)\">{{'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>", styles: [".nav-jobs-icon{position:absolute;left:-20px;margin:0;padding:0;top:10px;color:#fff!important;font-size:20px}.nav-jobs-icon-notification{top:7px;left:-7px;position:absolute;background-color:#0056b3;border-radius:50%;height:8px;width:8px}.nav-jobs-menu{width:350px;height:250px;background:#fff;margin:2px 0 0;padding:5px;border:1px solid rgb(61.75,77.1875,99.75)}.nav-jobs-menu-header{background-color:#344154;padding:8px;font-size:14px;margin-top:-5px;margin-left:-5px;margin-right:-5px;display:flex;align-items:center}.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}.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;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;-o-transform:none!important;transform:none!important}.user-menu .dropdown-menu a{color:#024a88}.user-menu .dropdown-menu a:hover{color:#fff8a9;background-color:red}.user-menu .dropdown-menu a i{margin-right:8px}.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 11px!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}.module-nav-menu-link{color:#fff!important;font-size:20px;padding-top:8px;padding-right:5px;cursor:pointer}.module-board-menu{position:relative;top:1px;background-color:#1f1f1f;padding:15px}.dropdown-title-bg{background-color:#344154;border:1px solid rgb(61.75,77.1875,99.75);border-bottom:0px}.dropdown-title{color:#fff;margin:auto;padding:8px 0;font-size:18px}.dropdown-menu{background-color:#fff;border:none}.dropdown-divider{border-top:1px solid #eeeeee}.dropdown-item{background-color:#fff;color:#0056b3}.dropdown-item:hover{color:#004a9a!important;background-color:#eee}.dropdown-top{background-color:#fff;height:0;margin-bottom:.5rem;overflow:hidden;border-top:1px solid #eeeeee}.dropdown-bot{background-color:#fff;height:0;margin-top:.5rem;overflow:hidden;border-top:1px solid #eeeeee}.enuma-navbar{height:60px;align-items:center;background-color:#2a3544;box-shadow:0 8px 6px -6px #1313130a,0 12px 16px -16px #1313130d;margin-bottom:-1px;border-bottom:1px solid #191E29}.nav-environment{color:#fff;background-color:#3e4d64;text-align:center;padding:5px 10px;margin:2px 10px 0 0}.nav-icon{color:#fff!important;font-size:20px;cursor:pointer}.nav-right-section{position:absolute;right:10px;top:10px}\n"] }]
|
|
831
832
|
}], ctorParameters: () => [{ type: i1$2.PreferencesService }, { type: i1$2.CacheService }, { type: i2$2.BaseMessageService }, { type: i2$2.NotificationsService }, { type: i2$1.MessageService }, { type: i1$1.LocalizationService }, { type: i3$1.HTTPService }, { type: i0.ChangeDetectorRef }, { type: i1.AppState }, { type: i1.TokenService }, { type: i2.Router }, { type: i1.CompletedJobRedirectionService }, { type: undefined, decorators: [{
|
|
@@ -878,12 +879,12 @@ class PagesComponent {
|
|
|
878
879
|
onResize(event) {
|
|
879
880
|
this.getHeight();
|
|
880
881
|
}
|
|
881
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
882
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
882
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PagesComponent, deps: [{ token: i3.DomSanitizer }, { token: i1.AppState }, { token: i4.Location }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
883
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: PagesComponent, isStandalone: true, selector: "pages", host: { listeners: { "window:resize": "onResize($event)" } }, ngImport: i0, template: "<div class=\"pages-container\">\r\n <sidebar></sidebar>\r\n <div style=\"width: 100%;\">\r\n <navbar>\r\n <breadcrumb></breadcrumb>\r\n </navbar>\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 <div class=\"main\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <back-top [position]=\"200\"></back-top>\r\n </div>\r\n </div>\r\n</div>", styles: [".main-wrapper{padding:20px 40px;position:relative;width:calc(100vw - 230px);height:100%;overflow:auto}.main{height:100%;min-height:650px}.az-overlay{position:fixed;inset:0;z-index:8;background:#242d3a33;width:100%;height:100%;display:none}.pages-container{height:100vh;width:100vw;display:flex}@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){.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", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: BackTop, selector: "back-top", inputs: ["position", "showSpeed", "moveSpeed"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
883
884
|
}
|
|
884
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
885
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PagesComponent, decorators: [{
|
|
885
886
|
type: Component,
|
|
886
|
-
args: [{ selector: "pages", encapsulation: ViewEncapsulation.None, imports: [Navbar, Sidebar, NgClass, NgIf, Breadcrumb, RouterOutlet, BackTop], template: "<div class=\"pages-container\">\r\n <sidebar></sidebar>\r\n <div style=\"width: 100%;\">\r\n <navbar>\r\n <breadcrumb></breadcrumb>\r\n </navbar>\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 <div class=\"main\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <back-top [position]=\"200\"></back-top>\r\n </div>\r\n </div>\r\n</div>", styles: [".main-wrapper{padding:20px 40px;position:relative;width:calc(100vw - 230px);height:100%;overflow:auto}.main{height:100%;min-height:650px}.az-overlay{position:fixed;inset:0;z-index:8;background:#242d3a33;width:100%;height:100%;display:none}.pages-container{height:100vh;width:100vw;display:flex}@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){.az-overlay{display:block}}\n"] }]
|
|
887
|
+
args: [{ selector: "pages", encapsulation: ViewEncapsulation.None, imports: [Navbar, Sidebar, NgClass, NgIf, Breadcrumb, RouterOutlet, BackTop], template: "<div class=\"pages-container\">\r\n <sidebar></sidebar>\r\n <div style=\"width: 100%;\">\r\n <navbar>\r\n <breadcrumb></breadcrumb>\r\n </navbar>\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 <div class=\"main\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <back-top [position]=\"200\"></back-top>\r\n </div>\r\n </div>\r\n</div>", styles: [".main-wrapper{padding:20px 40px;position:relative;width:calc(100vw - 230px);height:100%;overflow:auto}.main{height:100%;min-height:650px}.az-overlay{position:fixed;inset:0;z-index:8;background:#242d3a33;width:100%;height:100%;display:none}.pages-container{height:100vh;width:100vw;display:flex}@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){.az-overlay{display:block}}\n"] }]
|
|
887
888
|
}], ctorParameters: () => [{ type: i3.DomSanitizer }, { type: i1.AppState }, { type: i4.Location }, { type: i2.Router }], propDecorators: { onResize: [{
|
|
888
889
|
type: HostListener,
|
|
889
890
|
args: ['window:resize', ['$event']]
|
|
@@ -902,10 +903,10 @@ class ExternalPagesComponent {
|
|
|
902
903
|
if (!anonymousMode)
|
|
903
904
|
emb.loadExternalPage(user, password, tenant, source, _state, bts.getJaceIdentity(), aac);
|
|
904
905
|
}
|
|
905
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
906
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
906
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ExternalPagesComponent, deps: [{ token: i2$1.AppEmbeddingExtensions }, { token: i1.AppState }, { token: i2.ActivatedRoute }, { token: i1.TokenService }, { token: i5$1.AccessControlService }, { token: ANONYMOUS_MODE }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
907
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ExternalPagesComponent, isStandalone: true, selector: "external-pages", ngImport: i0, template: "<!-- Creo il router outlet solo se sono una pagina embeddata, altrimenti vuol dire che avr\u00F2 un redirect al parent embeddato a dovere -->\r\n<router-outlet *ngIf=\"this.emb.Embedded || anonymousMode\"></router-outlet>", dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
907
908
|
}
|
|
908
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
909
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ExternalPagesComponent, decorators: [{
|
|
909
910
|
type: Component,
|
|
910
911
|
args: [{ selector: "external-pages", imports: [RouterOutlet, NgIf], template: "<!-- Creo il router outlet solo se sono una pagina embeddata, altrimenti vuol dire che avr\u00F2 un redirect al parent embeddato a dovere -->\r\n<router-outlet *ngIf=\"this.emb.Embedded || anonymousMode\"></router-outlet>" }]
|
|
911
912
|
}], ctorParameters: () => [{ type: i2$1.AppEmbeddingExtensions }, { type: i1.AppState }, { type: i2.ActivatedRoute }, { type: i1.TokenService }, { type: i5$1.AccessControlService }, { type: undefined, decorators: [{
|
|
@@ -930,10 +931,10 @@ class JaceLoginComponent {
|
|
|
930
931
|
else
|
|
931
932
|
console.error("myconfig.AuthUrl is not provided");
|
|
932
933
|
}
|
|
933
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
934
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
934
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: JaceLoginComponent, deps: [{ token: LOGIN_URL_LEGACY }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
935
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", 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 }); }
|
|
935
936
|
}
|
|
936
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
937
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: JaceLoginComponent, decorators: [{
|
|
937
938
|
type: Component,
|
|
938
939
|
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"] }]
|
|
939
940
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -985,10 +986,10 @@ class RedirecterComponent {
|
|
|
985
986
|
this.router.navigate([url, parObject]);
|
|
986
987
|
}
|
|
987
988
|
}
|
|
988
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
989
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
989
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: RedirecterComponent, deps: [{ token: i1.AppState }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: REDIRECT_MAP, optional: true }, { token: i2$1.AppEmbeddingExtensions }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
990
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", 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 }); }
|
|
990
991
|
}
|
|
991
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
992
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: RedirecterComponent, decorators: [{
|
|
992
993
|
type: Component,
|
|
993
994
|
args: [{ selector: "redirecter", encapsulation: ViewEncapsulation.None, imports: [NgIf], template: "<div *ngIf=\"Error\">{{Error}}</div>" }]
|
|
994
995
|
}], ctorParameters: () => [{ type: i1.AppState }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: undefined, decorators: [{
|
|
@@ -1033,10 +1034,10 @@ class BaseComponent extends ReactiveComponent {
|
|
|
1033
1034
|
back() {
|
|
1034
1035
|
this._emb.handleBack();
|
|
1035
1036
|
}
|
|
1036
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1037
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1037
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BaseComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1038
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BaseComponent, isStandalone: false, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
1038
1039
|
}
|
|
1039
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1040
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BaseComponent, decorators: [{
|
|
1040
1041
|
type: Component,
|
|
1041
1042
|
args: [{
|
|
1042
1043
|
template: '',
|
|
@@ -1090,10 +1091,10 @@ class JaceResourceComponent {
|
|
|
1090
1091
|
console.log("@esfaenza/core: Jace-resource navigating to " + finalUrl);
|
|
1091
1092
|
this.sanitizedSourceResource = this.sanitizer.bypassSecurityTrustResourceUrl(finalUrl);
|
|
1092
1093
|
}
|
|
1093
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1094
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1094
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: JaceResourceComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.AppState }, { token: i3.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1095
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: JaceResourceComponent, isStandalone: true, selector: "jace-resource", inputs: { Module: "Module", ModuleKeyType: "ModuleKeyType", Page: "Page", Localhost: "Localhost", Params: "Params" }, ngImport: i0, template: "<iframe *ngIf=\"!!sanitizedSourceResource && this.Height > 0\" 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 }); }
|
|
1095
1096
|
}
|
|
1096
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1097
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: JaceResourceComponent, decorators: [{
|
|
1097
1098
|
type: Component,
|
|
1098
1099
|
args: [{ selector: "jace-resource", encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf], template: "<iframe *ngIf=\"!!sanitizedSourceResource && this.Height > 0\" id=\"externalFrame\" style=\"width: 100%; border: none;\" [style.height.px]=\"Height\"\r\n [src]=\"sanitizedSourceResource\">\r\n</iframe>" }]
|
|
1099
1100
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.AppState }, { type: i3.DomSanitizer }], propDecorators: { Module: [{
|
|
@@ -1116,10 +1117,10 @@ class LabeledSpanComponent {
|
|
|
1116
1117
|
this.Label = "";
|
|
1117
1118
|
this.Display = "Horizontal";
|
|
1118
1119
|
}
|
|
1119
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1120
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1120
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: LabeledSpanComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1121
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: LabeledSpanComponent, isStandalone: true, selector: "labeled-span", inputs: { First: "First", Label: "Label", Display: "Display" }, ngImport: i0, template: "<div [class.app-margin-top-10]=\"First\" \r\n [style.display]=\"Display == V_MODE ? 'inline-grid' : 'block'\"\r\n [style.margin-right.px]=\"Display == V_MODE ? 10 : 0\">\r\n <strong class=\"text-uppercase\" style=\"font-size: .7rem !important;\">\r\n {{Label}}<span *ngIf=\"Display == H_MODE\">: </span>\r\n </strong>\r\n <span><ng-content></ng-content></span>\r\n</div>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
1121
1122
|
}
|
|
1122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: LabeledSpanComponent, decorators: [{
|
|
1123
1124
|
type: Component,
|
|
1124
1125
|
args: [{ selector: "labeled-span", imports: [NgIf], template: "<div [class.app-margin-top-10]=\"First\" \r\n [style.display]=\"Display == V_MODE ? 'inline-grid' : 'block'\"\r\n [style.margin-right.px]=\"Display == V_MODE ? 10 : 0\">\r\n <strong class=\"text-uppercase\" style=\"font-size: .7rem !important;\">\r\n {{Label}}<span *ngIf=\"Display == H_MODE\">: </span>\r\n </strong>\r\n <span><ng-content></ng-content></span>\r\n</div>" }]
|
|
1125
1126
|
}], ctorParameters: () => [], propDecorators: { First: [{
|
|
@@ -1192,10 +1193,10 @@ class EsImageCropperComponent {
|
|
|
1192
1193
|
scale: this.scale,
|
|
1193
1194
|
};
|
|
1194
1195
|
}
|
|
1195
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1196
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1196
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EsImageCropperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1197
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: EsImageCropperComponent, isStandalone: true, selector: "es-image-cropper", inputs: { Height: "Height", Width: "Width" }, ngImport: i0, template: "<div *ngIf=\"ProfileImage?.nativefiles?.length > 0\" [style.width.px]=\"Width\">\r\n <div class=\"d-flex\">\r\n <button (click)=\"onRotateLeft()\" class=\"btn btn-primary\"><i class=\"fa fa-undo\"></i></button>\r\n <button (click)=\"onRotateRight()\" class=\"btn btn-primary\"><i class=\"fa fa-repeat\"></i></button>\r\n <button (click)=\"onFlipHorizontal()\" class=\"btn btn-primary\"><i class=\"fa fa-arrows-h\"></i></button>\r\n <button (click)=\"onFlipVertical()\" class=\"btn btn-primary\"><i class=\"fa fa-arrows-v\"></i></button>\r\n <button (click)=\"onZoomIn()\" class=\"btn btn-primary\"><i class=\"fa fa-search-plus\"></i></button>\r\n <button (click)=\"onZoomOut()\" class=\"btn btn-primary\"><i class=\"fa fa-search-minus\"></i></button>\r\n <button (click)=\"onResetImage()\" class=\"btn btn-danger\" style=\"margin-left: auto; margin-right: 0px;\"><i class=\"fa fa-times\"></i></button>\r\n </div>\r\n</div>\r\n<div class=\"app-margin-top-10\" [style.max-height.px]=\"Height\" [style.width.px]=\"Width\">\r\n <form-file *ngIf=\"!(ProfileImage?.nativefiles?.length > 0)\" [LabelInputRatio]=\"'0 12'\" [FancyMode]=\"true\" [(ngModel)]=\"ProfileImage\" name=\"imageToCrop\"></form-file>\r\n <ng-container *ngIf=\"ProfileImage?.nativefiles?.length > 0\">\r\n <image-cropper style=\"--cropper-outline-color: rgba(0,0,0)\"\r\n [backgroundColor]=\"'#91a3b0'\"\r\n [imageFile]=\"ProfileImage.nativefiles[0]\"\r\n [aspectRatio]=\"4 / 3\"\r\n [maintainAspectRatio]=\"true\"\r\n [containWithinAspectRatio]=\"true\"\r\n [cropperStaticWidth]=\"320\"\r\n [cropperStaticHeight]=\"320\"\r\n [onlyScaleDown]=\"true\"\r\n [roundCropper]=\"true\"\r\n [canvasRotation]=\"canvasRotation\"\r\n [allowMoveImage]=\"true\"\r\n [(transform)]=\"transform\"\r\n (imageCropped)=\"onImageCropped($event)\">\r\n </image-cropper>\r\n </ng-container>\r\n</div>", styles: [".btn{width:40px;margin-right:10px}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ImageCropperComponent, selector: "image-cropper", inputs: ["imageChangedEvent", "imageURL", "imageBase64", "imageFile", "imageAltText", "options", "cropperFrameAriaLabel", "output", "format", "autoCrop", "cropper", "transform", "maintainAspectRatio", "aspectRatio", "resetCropOnAspectRatioChange", "resizeToWidth", "resizeToHeight", "cropperMinWidth", "cropperMinHeight", "cropperMaxHeight", "cropperMaxWidth", "cropperStaticWidth", "cropperStaticHeight", "canvasRotation", "initialStepSize", "roundCropper", "onlyScaleDown", "imageQuality", "backgroundColor", "containWithinAspectRatio", "hideResizeSquares", "allowMoveImage", "checkImageType", "alignImage", "disabled", "hidden"], outputs: ["imageCropped", "startCropImage", "imageLoaded", "cropperReady", "loadImageFailed", "transformChange", "cropperChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: FormsAndValidationsModule }, { kind: "component", type: i6.EsFormFileComponent, selector: "form-file", inputs: ["Multiple", "AllowDownload", "MaxSize", "FancyMode", "ReadFile"] }] }); }
|
|
1197
1198
|
}
|
|
1198
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EsImageCropperComponent, decorators: [{
|
|
1199
1200
|
type: Component,
|
|
1200
1201
|
args: [{ selector: "es-image-cropper", imports: [NgIf, ImageCropperComponent, FormsModule, FormsAndValidationsModule], template: "<div *ngIf=\"ProfileImage?.nativefiles?.length > 0\" [style.width.px]=\"Width\">\r\n <div class=\"d-flex\">\r\n <button (click)=\"onRotateLeft()\" class=\"btn btn-primary\"><i class=\"fa fa-undo\"></i></button>\r\n <button (click)=\"onRotateRight()\" class=\"btn btn-primary\"><i class=\"fa fa-repeat\"></i></button>\r\n <button (click)=\"onFlipHorizontal()\" class=\"btn btn-primary\"><i class=\"fa fa-arrows-h\"></i></button>\r\n <button (click)=\"onFlipVertical()\" class=\"btn btn-primary\"><i class=\"fa fa-arrows-v\"></i></button>\r\n <button (click)=\"onZoomIn()\" class=\"btn btn-primary\"><i class=\"fa fa-search-plus\"></i></button>\r\n <button (click)=\"onZoomOut()\" class=\"btn btn-primary\"><i class=\"fa fa-search-minus\"></i></button>\r\n <button (click)=\"onResetImage()\" class=\"btn btn-danger\" style=\"margin-left: auto; margin-right: 0px;\"><i class=\"fa fa-times\"></i></button>\r\n </div>\r\n</div>\r\n<div class=\"app-margin-top-10\" [style.max-height.px]=\"Height\" [style.width.px]=\"Width\">\r\n <form-file *ngIf=\"!(ProfileImage?.nativefiles?.length > 0)\" [LabelInputRatio]=\"'0 12'\" [FancyMode]=\"true\" [(ngModel)]=\"ProfileImage\" name=\"imageToCrop\"></form-file>\r\n <ng-container *ngIf=\"ProfileImage?.nativefiles?.length > 0\">\r\n <image-cropper style=\"--cropper-outline-color: rgba(0,0,0)\"\r\n [backgroundColor]=\"'#91a3b0'\"\r\n [imageFile]=\"ProfileImage.nativefiles[0]\"\r\n [aspectRatio]=\"4 / 3\"\r\n [maintainAspectRatio]=\"true\"\r\n [containWithinAspectRatio]=\"true\"\r\n [cropperStaticWidth]=\"320\"\r\n [cropperStaticHeight]=\"320\"\r\n [onlyScaleDown]=\"true\"\r\n [roundCropper]=\"true\"\r\n [canvasRotation]=\"canvasRotation\"\r\n [allowMoveImage]=\"true\"\r\n [(transform)]=\"transform\"\r\n (imageCropped)=\"onImageCropped($event)\">\r\n </image-cropper>\r\n </ng-container>\r\n</div>", styles: [".btn{width:40px;margin-right:10px}\n"] }]
|
|
1201
1202
|
}], ctorParameters: () => [], propDecorators: { Height: [{
|
|
@@ -1210,34 +1211,34 @@ class FormSelectorComponent {
|
|
|
1210
1211
|
// Validazione
|
|
1211
1212
|
this.SetValidationSubject = new Subject();
|
|
1212
1213
|
// Presentazione
|
|
1213
|
-
this.ModalOnly = input(false
|
|
1214
|
-
this.Valid = input(true
|
|
1215
|
-
this.SelectedLabel = model(null
|
|
1214
|
+
this.ModalOnly = input(false);
|
|
1215
|
+
this.Valid = input(true);
|
|
1216
|
+
this.SelectedLabel = model(null);
|
|
1216
1217
|
// Form
|
|
1217
|
-
this.Validation = input(
|
|
1218
|
-
this.Readonly = input(
|
|
1219
|
-
this.Form = input(null
|
|
1220
|
-
this.Name = input(
|
|
1221
|
-
this.ngModelOptions = input(
|
|
1222
|
-
this.Required = input(
|
|
1223
|
-
this.Placeholder = input(
|
|
1218
|
+
this.Validation = input();
|
|
1219
|
+
this.Readonly = input();
|
|
1220
|
+
this.Form = input(null);
|
|
1221
|
+
this.Name = input();
|
|
1222
|
+
this.ngModelOptions = input();
|
|
1223
|
+
this.Required = input();
|
|
1224
|
+
this.Placeholder = input();
|
|
1224
1225
|
// Navigazione
|
|
1225
|
-
this.HasExternalLink = input(
|
|
1226
|
+
this.HasExternalLink = input();
|
|
1226
1227
|
// Eventi
|
|
1227
1228
|
this.onChange = new EventEmitter();
|
|
1228
1229
|
this.onSearch = new EventEmitter();
|
|
1229
1230
|
this.onNavigation = new EventEmitter();
|
|
1230
1231
|
this.onClipboardCopy = new EventEmitter();
|
|
1231
1232
|
}
|
|
1232
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1233
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
1233
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1234
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.25", type: FormSelectorComponent, isStandalone: true, selector: "form-selector", inputs: { SetValidationSubject: { classPropertyName: "SetValidationSubject", publicName: "SetValidationSubject", isSignal: false, isRequired: false, transformFunction: null }, ModalOnly: { classPropertyName: "ModalOnly", publicName: "ModalOnly", isSignal: true, isRequired: false, transformFunction: null }, Valid: { classPropertyName: "Valid", publicName: "Valid", isSignal: true, isRequired: false, transformFunction: null }, SelectedLabel: { classPropertyName: "SelectedLabel", publicName: "SelectedLabel", isSignal: true, isRequired: false, transformFunction: null }, Validation: { classPropertyName: "Validation", publicName: "Validation", isSignal: true, isRequired: false, transformFunction: null }, Readonly: { classPropertyName: "Readonly", publicName: "Readonly", isSignal: true, isRequired: false, transformFunction: null }, Form: { classPropertyName: "Form", publicName: "Form", isSignal: true, isRequired: false, transformFunction: null }, Name: { classPropertyName: "Name", publicName: "Name", isSignal: true, isRequired: false, transformFunction: null }, ngModelOptions: { classPropertyName: "ngModelOptions", publicName: "ngModelOptions", isSignal: true, isRequired: false, transformFunction: null }, Required: { classPropertyName: "Required", publicName: "Required", isSignal: true, isRequired: false, transformFunction: null }, Placeholder: { classPropertyName: "Placeholder", publicName: "Placeholder", isSignal: true, isRequired: false, transformFunction: null }, HasExternalLink: { classPropertyName: "HasExternalLink", publicName: "HasExternalLink", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { SelectedLabel: "SelectedLabelChange", onChange: "onChange", onSearch: "onSearch", onNavigation: "onNavigation", onClipboardCopy: "onClipboardCopy" }, ngImport: i0, template: "<form-input *ngIf=\"!ModalOnly() && Name()\"\r\n [SetValidationSubject]=\"SetValidationSubject\"\r\n [class.app-selector-input-invalid]=\"!Valid()\"\r\n [class.app-selector-input]=\"!Readonly()\"\r\n [Form]=\"Form()\"\r\n readonly\r\n [disabled]=\"Readonly()\"\r\n [FormLayout]=\"false\"\r\n [Validation]=\"Validation()\"\r\n [(ngModel)]=\"SelectedLabel\"\r\n [ngModelOptions]=\"ngModelOptions()\"\r\n [required]=\"Required()\"\r\n [Placeholder]=\"Placeholder()\" \r\n type=\"text\"\r\n (inputChange)=\"onChange.emit()\"\r\n (contextmenu)=\"onClipboardCopy.emit(); false;\"\r\n name=\"{{Name()}}\">\r\n\r\n <ng-template #suffix>\r\n <span class=\"fa fa-search\" (click)=\"onSearch.emit();\"></span>\r\n </ng-template>\r\n</form-input>\r\n\r\n<span *ngIf=\"HasExternalLink()\" class=\"fa fa-external-link app-pointer\" style=\"position: absolute; right: 65px; bottom: 12px; z-index: 9999;\" (click)=\"onNavigation.emit()\"></span>", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsAndValidationsModule }, { kind: "component", type: i6.EsFormInputComponent, selector: "form-input", inputs: ["minlength", "maxlength", "pattern", "Password", "Type"] }] }); }
|
|
1234
1235
|
}
|
|
1235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1236
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormSelectorComponent, decorators: [{
|
|
1236
1237
|
type: Component,
|
|
1237
1238
|
args: [{ selector: "form-selector", imports: [FormsModule, CommonModule, FormsAndValidationsModule], template: "<form-input *ngIf=\"!ModalOnly() && Name()\"\r\n [SetValidationSubject]=\"SetValidationSubject\"\r\n [class.app-selector-input-invalid]=\"!Valid()\"\r\n [class.app-selector-input]=\"!Readonly()\"\r\n [Form]=\"Form()\"\r\n readonly\r\n [disabled]=\"Readonly()\"\r\n [FormLayout]=\"false\"\r\n [Validation]=\"Validation()\"\r\n [(ngModel)]=\"SelectedLabel\"\r\n [ngModelOptions]=\"ngModelOptions()\"\r\n [required]=\"Required()\"\r\n [Placeholder]=\"Placeholder()\" \r\n type=\"text\"\r\n (inputChange)=\"onChange.emit()\"\r\n (contextmenu)=\"onClipboardCopy.emit(); false;\"\r\n name=\"{{Name()}}\">\r\n\r\n <ng-template #suffix>\r\n <span class=\"fa fa-search\" (click)=\"onSearch.emit();\"></span>\r\n </ng-template>\r\n</form-input>\r\n\r\n<span *ngIf=\"HasExternalLink()\" class=\"fa fa-external-link app-pointer\" style=\"position: absolute; right: 65px; bottom: 12px; z-index: 9999;\" (click)=\"onNavigation.emit()\"></span>" }]
|
|
1238
1239
|
}], propDecorators: { SetValidationSubject: [{
|
|
1239
1240
|
type: Input
|
|
1240
|
-
}],
|
|
1241
|
+
}], onChange: [{
|
|
1241
1242
|
type: Output
|
|
1242
1243
|
}], onSearch: [{
|
|
1243
1244
|
type: Output
|
|
@@ -1263,10 +1264,10 @@ class FormSelectorDialogComponent {
|
|
|
1263
1264
|
hide() {
|
|
1264
1265
|
this.itemSearch.hide();
|
|
1265
1266
|
}
|
|
1266
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1267
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1267
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormSelectorDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1268
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: FormSelectorDialogComponent, isStandalone: true, selector: "form-selector-dialog", inputs: { Subject: "Subject", EsTableTemplate: "EsTableTemplate", TableClasses: "TableClasses", SingleSelection: "SingleSelection", searchView: "searchView" }, outputs: { onClearValue: "onClearValue", onCloseDialog: "onCloseDialog", onConfirmSelection: "onConfirmSelection", onSearchRequest: "onSearchRequest", onDialogVisibilityChange: "onDialogVisibilityChange" }, viewQueries: [{ propertyName: "itemSearch", first: true, predicate: ["itemSearch"], descendants: true }], ngImport: i0, template: "<es-modal #itemSearch [Size]=\"'XL'\" (onShow)=\"onDialogVisibilityChange.emit(true)\" (onHide)=\"onDialogVisibilityChange.emit(false)\">\r\n <es-modal-head (Close)=\"itemSearch.hide();\">\r\n <h5 class=\"modal-title pull-left\">Seleziona {{Subject}}</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body\">\r\n <form>\r\n <div class=\"row\">\r\n <div class=\"col-md-11\">\r\n <!--Parte specifica dei filtri-->\r\n <ng-content select=\"[filters]\"></ng-content>\r\n <!----------------------------->\r\n </div>\r\n <div class=\"col-md-1\" style=\"display: flex;\">\r\n <button class=\"input-group-addon btn app-btn-search\" [disabled]=\"searchView.searchinprogress\" (click)=\"onSearchRequest.emit(true)\" type=\"submit\" style=\"margin-left: auto;\">\r\n <i class=\"far\" [class.fa-search]=\"!searchView.searchinprogress\" [class.fa-spinner]=\"searchView.searchinprogress\" [class.fa-spin]=\"searchView.searchinprogress\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </form>\r\n\r\n <div class=\"app-margin-top-15\">\r\n <es-table [class]=\"TableClasses\" [(ngModel)]=\"searchView\" [Selection]=\"true\" [SingleSelection]=\"SingleSelection\" (onSearchRequest)=\"onSearchRequest.emit($event);\" [EsThTdProvider]=\"EsTableTemplate\"></es-table>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-danger\" style=\"margin-right: auto;\" (click)=\"onClearValue.emit();\">Rimuovi valore</button>\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"onCloseDialog.emit();\">Annulla</button>\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"onConfirmSelection.emit();\">Conferma</button>\r\n </div>\r\n</es-modal>", dependencies: [{ kind: "ngmodule", type: EsTableModule }, { kind: "component", type: i7.EsTableComponent, selector: "es-table", inputs: ["globalCheck", "autoUpdate", "seconds", "researchInProgress", "globalColVisCheck", "EsThTdProvider", "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", "AutoSortHierarchy", "StartsExpanded", "SavePreferences", "DefaultAlignment", "PagingStyle", "RowGroupingPagingStyle", "ItemSourceProperty", "UseSelectionCache", "ShowItemGroupsColumns", "Editable", "RangeSelection", "SearchThrottle", "ArraymodeItemsPerPage"], outputs: ["globalCheckChange", "autoUpdateChange", "secondsChange", "researchInProgressChange", "globalColVisCheckChange", "onOrderChanged", "onSearchRequest", "onSelectionChanged", "onRemoval", "onAbortRemoval", "onModelChange", "onOpenContextMenu", "onCornerAction", "onDynamicOperation"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CommonModule }, { kind: "component", type: EsModalComponent, selector: "es-modal", inputs: ["Size", "IgnoreBackdrop", "Backdrop", "HasOverlap"], outputs: ["onShow", "onHide"] }, { kind: "component", type: EsModalHeadComponent, selector: "es-modal-head", inputs: ["AllowClose"], outputs: ["Close"] }] }); }
|
|
1268
1269
|
}
|
|
1269
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1270
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: FormSelectorDialogComponent, decorators: [{
|
|
1270
1271
|
type: Component,
|
|
1271
1272
|
args: [{ selector: "form-selector-dialog", imports: [EsTableModule, FormsModule, CommonModule, EsModalComponent, EsModalHeadComponent], template: "<es-modal #itemSearch [Size]=\"'XL'\" (onShow)=\"onDialogVisibilityChange.emit(true)\" (onHide)=\"onDialogVisibilityChange.emit(false)\">\r\n <es-modal-head (Close)=\"itemSearch.hide();\">\r\n <h5 class=\"modal-title pull-left\">Seleziona {{Subject}}</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body\">\r\n <form>\r\n <div class=\"row\">\r\n <div class=\"col-md-11\">\r\n <!--Parte specifica dei filtri-->\r\n <ng-content select=\"[filters]\"></ng-content>\r\n <!----------------------------->\r\n </div>\r\n <div class=\"col-md-1\" style=\"display: flex;\">\r\n <button class=\"input-group-addon btn app-btn-search\" [disabled]=\"searchView.searchinprogress\" (click)=\"onSearchRequest.emit(true)\" type=\"submit\" style=\"margin-left: auto;\">\r\n <i class=\"far\" [class.fa-search]=\"!searchView.searchinprogress\" [class.fa-spinner]=\"searchView.searchinprogress\" [class.fa-spin]=\"searchView.searchinprogress\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </form>\r\n\r\n <div class=\"app-margin-top-15\">\r\n <es-table [class]=\"TableClasses\" [(ngModel)]=\"searchView\" [Selection]=\"true\" [SingleSelection]=\"SingleSelection\" (onSearchRequest)=\"onSearchRequest.emit($event);\" [EsThTdProvider]=\"EsTableTemplate\"></es-table>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-danger\" style=\"margin-right: auto;\" (click)=\"onClearValue.emit();\">Rimuovi valore</button>\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"onCloseDialog.emit();\">Annulla</button>\r\n <button type=\"button\" class=\"btn btn-primary\" (click)=\"onConfirmSelection.emit();\">Conferma</button>\r\n </div>\r\n</es-modal>" }]
|
|
1272
1273
|
}], propDecorators: { Subject: [{
|
|
@@ -1527,10 +1528,10 @@ class EntityFeedsWidgetComponent {
|
|
|
1527
1528
|
this.SelectedFeed = item;
|
|
1528
1529
|
return true;
|
|
1529
1530
|
}
|
|
1530
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1531
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: EntityFeedsWidgetComponent, isStandalone: true, selector: "entity-feeds-widget", inputs: { EntityType: "EntityType", EntityId: "EntityId", RefreshSubject: "RefreshSubject", GetFeedsAPI: "GetFeedsAPI", CreateFeedAPI: "CreateFeedAPI", UpdateFeedAPI: "UpdateFeedAPI", DeleteFeedAPI: "DeleteFeedAPI", ReactToFeedAPI: "ReactToFeedAPI", GetUserTagsAPI: "GetUserTagsAPI", GetFeedAttachmentAPI: "GetFeedAttachmentAPI", WidgetTitle: "WidgetTitle", MaxHeight: "MaxHeight", Readonly: "Readonly", AllowUserTags: "AllowUserTags", AllowReactions: "AllowReactions", AllowAttachments: "AllowAttachments", AllowComments: "AllowComments", AllowReplies: "AllowReplies", DebugMode: "DebugMode", ModuleConfig: "ModuleConfig" }, viewQueries: [{ propertyName: "dlgCreateUpdateFeed", first: true, predicate: ["dlgCreateUpdateFeed"], descendants: true }, { propertyName: "dlgFeedContentDetails", first: true, predicate: ["dlgFeedContent"], descendants: true }], ngImport: i0, template: "<h5 class=\"app-bold\">{{WidgetTitle}}</h5>\r\n<div class=\"es-card\">\r\n <div class=\"d-flex\" style=\"margin-bottom: 1rem;\">\r\n <ng-container *ngIf=\"AllowComments\">\r\n <div *ngIf=\"!Readonly\">\r\n <div class=\"feed-create-button app-no-selection app-pointer\" (click)=\"onCreateFeed()\">\r\n <div style=\"margin: auto;\"><i class=\"fa fa-plus\"></i></div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div style=\"width: 100%;\">\r\n <form-input [Validation]=\"false\" [FormLayout]=\"false\" [(ngModel)]=\"FeedContentFilter\" (keydown.enter)=\"doRefreshFeeds()\" name=\"feedcontentfilter\">\r\n <ng-template #suffix>\r\n <span class=\"fa fa-search\"></span>\r\n </ng-template>\r\n </form-input>\r\n </div>\r\n </div>\r\n <!--Feeds-->\r\n <div style=\"overflow: auto !important;\" [style.max-height]=\"MaxHeight\">\r\n <ng-container *ngFor=\"let item of Feeds; let first = first;\">\r\n <ng-container *ngTemplateOutlet=\"FeedsDisplay; context: { $implicit: item, 'childTemplate': FeedsDisplay ,'isChild': false, 'first': first };\"></ng-container>\r\n </ng-container>\r\n <div *ngIf=\"Feeds?.length == 0\">\r\n <em>Nessun feed disponibile...</em>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Grafica di un singolo Feed-->\r\n<ng-template #FeedsDisplay let-item let-childTemplate=\"childTemplate\" let-isChild=\"isChild\" let-first=\"first\">\r\n <div [class.feed-container]=\"!isChild\" [class.feed-child-container]=\"isChild\" [class.first]=\"first\">\r\n <!--Colonna Sinistra-->\r\n <div class=\"feed-left-col\">\r\n <div class=\"feed-owner-icon\">\r\n <img *ngIf=\"!item.systemgen\" class=\"feed-owner-icon-image\" alt=\"user-img\" src=\"assets/img/users/user_default.jpg\">\r\n <img *ngIf=\"item.systemgen && item.severityid == 'INFO'\" class=\"feed-owner-icon-image fill-info\" alt=\"info\" src=\"assets/img/users/user_severity.svg\">\r\n <img *ngIf=\"item.systemgen && item.severityid == 'WARNING'\" class=\"feed-owner-icon-image fill-warning\" alt=\"warning\" src=\"assets/img/users/user_severity.svg\">\r\n <img *ngIf=\"item.systemgen && item.severityid == 'ERROR'\" class=\"feed-owner-icon-image fill-danger\" alt=\"error\" src=\"assets/img/users/user_severity.svg\">\r\n </div>\r\n <div *ngIf=\"item.childfeeds?.length > 0\" class=\"feed-sideline\"></div>\r\n </div>\r\n <!--Colonna Centrale-->\r\n <div class=\"feed-mid-col\">\r\n <div class=\"feed-mid-col-content\">\r\n <!--Content-->\r\n <div class=\"width-90\">\r\n <!--Intestazione-->\r\n <div>\r\n <span class=\"app-bold\">{{item.systemgen ? 'SISTEMA' : item.user}} </span>\r\n <span class=\"feed-gray-text\">{{item.dateins | loc_date: 'DD/MM/YYYY'}} alle {{item.dateins | loc_date: 'HH:mm'}}</span>\r\n </div>\r\n <!--Allegato-->\r\n <div *ngIf=\"item.filename\">\r\n <div class=\"app-pointer feed-cta\" (click)=\"onDownloadFeedAttachment(item)\">\r\n <span><i class=\"fa fa-file\"></i> {{item.filename}} ({{item.filesize}}KB)</span>\r\n </div>\r\n </div>\r\n <!--Messaggio-->\r\n <div *ngIf=\"!item.systemgen\" class=\"app-markdown\" markdown emoji>{{item.content}}</div>\r\n <div *ngIf=\"item.systemgen\">\r\n <span class=\"app-markdown\" markdown emoji>{{item.user}}: {{item.title}}</span>\r\n <span *ngIf=\"item.content\" (click)=\"onShowFeedContent(item.content)\"> <i class=\"far fa-up-right-from-square text-info app-pointer\"></i></span>\r\n </div>\r\n <!--Operazioni-->\r\n <div class=\"feed-col-operations\">\r\n <ng-container *ngIf=\"AllowReactions\">\r\n <div [class.feed-reaction-sel]=\"item.liked\" class=\"app-pointer feed-reaction\" (click)=\"onReactToFeed(item, item.liked ? '' : '0')\"><span><i class=\"fa fa-thumbs-up\"></i> {{item.likes?.length}}</span></div>\r\n <div [class.feed-reaction-sel]=\"item.disliked\" class=\"app-pointer feed-reaction\" (click)=\"onReactToFeed(item, item.disliked ? '' : '1')\"><span><i class=\"fa fa-thumbs-down\"></i> {{item.dislikes?.length}}</span></div>\r\n </ng-container>\r\n <ng-container *ngIf=\"AllowReplies\">\r\n <div *ngIf=\"!Readonly && !isChild\" class=\"app-pointer feed-cta\" style=\"padding: 0.2rem;\" (click)=\"onSelectFeed(item) && onCreateFeed(true)\">Rispondi</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <!--Dropdown-->\r\n <div class=\"feed-operation-col\">\r\n <div *ngIf=\"LoggedUser == item.user && !item.systemgen && !Readonly && FeedsOperations?.length > 0\" class=\"app-pointer feed-cta\" (click)=\"onSelectFeed(item) && FeedsOperationsDropdown.Show($event)\">\r\n <i class=\"fa fa-ellipsis-h\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <!--Feeds figli-->\r\n <ng-container *ngFor=\"let childItem of item.childfeeds\">\r\n <ng-container *ngTemplateOutlet=\"childTemplate; context: { $implicit: childItem, 'isChild': true };\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!--Creazione/Aggiornamento Feed-->\r\n<es-modal #dlgCreateUpdateFeed [Size]=\"'M'\">\r\n <es-modal-head (Close)=\"dlgCreateUpdateFeed.hide();\">\r\n <h5 class=\"modal-title pull-left\">Aggiungi Feed</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"CreateUpdateFeedDTO\" #formCreateUpdateFeed=\"ngForm\" (ngSubmit)=\"formCreateUpdateFeed.valid && doCreateUpdateFeed()\">\r\n <div class=\"modal-body\">\r\n <!--TODO: Usato solo nel CRM, quando verra aggiornato a ng19 reintegrare-->\r\n <!-- <form-checkbox *ac=\"'!R:actor'\" [Label]=\"'Pubblico'\" [LabelInputRatio]=\"'2 10'\" [(ngModel)]=\"CreateUpdateFeedDTO.ispublic\" name=\"ispublic\"></form-checkbox> -->\r\n <es-editor [(ngModel)]=\"CreateUpdateFeedDTO.content\" Mode=\"markdown\" name=\"markdownEditor\"></es-editor>\r\n <form-file *ngIf=\"AllowAttachments\" [Label]=\"'Allegato'\" [LabelInputRatio]=\"'2 10'\" [(ngModel)]=\"AllegatoFile\" [Last]=\"true\" name=\"add_file\"></form-file>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgCreateUpdateFeed.hide();\">Annulla</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Contenuto Feed-->\r\n<es-modal #dlgFeedContent [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgFeedContent.hide();\">\r\n <h5 class=\"modal-title pull-left\">Dettaglio Feed di Sistema</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body\">\r\n <div *ngIf=\"FeedContentDetails\" class=\"app-markdown\" markdown emoji>{{FeedContentDetails}}</div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgFeedContent.hide();\">Chiudi</button>\r\n </div>\r\n</es-modal>\r\n\r\n<simple-dropdown #FeedsOperationsDropdown [Options]=\"FeedsOperations\"></simple-dropdown>", styles: [".feed-cta{color:#0275d8!important}.feed-container{position:relative;margin-top:15px;font-size:.8rem!important;display:flex}.feed-container.first{margin-top:0}.file-icon{background-color:#eee;border-radius:5px;font-size:.8rem;text-align:center}.feed-owner-icon{width:2rem;height:2rem}.feed-owner-icon-image{width:2rem;border-radius:1rem}.feed-sideline{height:calc(100% - 2rem);background-color:#eee;border-radius:1rem;width:.1rem;margin-top:.2rem!important;margin:auto}.feed-reaction{border-radius:5px;padding:.2rem .5rem;margin-right:.5rem;background-color:#eee!important}.feed-reaction-sel{background-color:#5599e5!important;color:#f8f9fa!important}.feed-create-button{border:1px solid #dfdfdf;border-radius:5px;height:39px;width:39px;margin-right:15px;display:flex}.feed-create-button:hover{background-color:#d4d4d4}.app-markdown{display:inline-block}.app-markdown p{margin-bottom:0!important;white-space:break-spaces!important}.app-ck-height-400{padding-bottom:15px!important}.app-ck-height-400 .ck-editor__editable{max-height:400px;min-height:200px}.feed-left-col{width:2rem}.feed-mid-col-content{display:flex;width:100%}.feed-mid-col{width:100%;padding-left:10px}.feed-operation-col{text-align:center;font-size:1rem;margin-left:auto;margin-right:1rem}.width-90{width:90%}.feed-gray-text{color:gray;font-size:.7rem}.feed-col-operations{display:flex;margin-top:.2rem}.feed-child-container{display:flex;margin-top:10px}.fill-info{filter:invert(69%) sepia(75%) saturate(6042%) hue-rotate(163deg) brightness(97%) contrast(103%)}.fill-warning{filter:invert(63%) sepia(87%) saturate(1749%) hue-rotate(351deg) brightness(103%) contrast(94%)}.fill-danger{filter:invert(15%) sepia(85%) saturate(2826%) hue-rotate(341deg) brightness(100%) contrast(103%)}::-webkit-scrollbar{width:4px;background-color:transparent}::-webkit-scrollbar-thumb{background-color:#ddd;border-radius:2px}::-webkit-scrollbar-track{background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: ExtensionsModule }, { kind: "ngmodule", type: FormsAndValidationsModule }, { kind: "component", type: i6.EsFormInputComponent, selector: "form-input", inputs: ["minlength", "maxlength", "pattern", "Password", "Type"] }, { kind: "component", type: i6.EsFormFileComponent, selector: "form-file", inputs: ["Multiple", "AllowDownload", "MaxSize", "FancyMode", "ReadFile"] }, { kind: "component", type: EsModalComponent, selector: "es-modal", inputs: ["Size", "IgnoreBackdrop", "Backdrop", "HasOverlap"], outputs: ["onShow", "onHide"] }, { kind: "component", type: EsModalHeadComponent, selector: "es-modal-head", inputs: ["AllowClose"], outputs: ["Close"] }, { kind: "ngmodule", type: UtilityComponentsModule }, { kind: "component", type: i7$1.SimpleDropdownComponent, selector: "simple-dropdown", inputs: ["Options"] }, { kind: "ngmodule", type: AccessControlModule }, { kind: "ngmodule", type: MarkdownModule }, { kind: "component", type: i8.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }, { kind: "pipe", type: i2$1.LocDatePipe, name: "loc_date" }] }); }
|
|
1531
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EntityFeedsWidgetComponent, deps: [{ token: i3$1.HTTPService }, { token: i2$1.UtilityService }, { token: i2$1.MessageService }, { token: i1.TokenService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1532
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: EntityFeedsWidgetComponent, isStandalone: true, selector: "entity-feeds-widget", inputs: { EntityType: "EntityType", EntityId: "EntityId", RefreshSubject: "RefreshSubject", GetFeedsAPI: "GetFeedsAPI", CreateFeedAPI: "CreateFeedAPI", UpdateFeedAPI: "UpdateFeedAPI", DeleteFeedAPI: "DeleteFeedAPI", ReactToFeedAPI: "ReactToFeedAPI", GetUserTagsAPI: "GetUserTagsAPI", GetFeedAttachmentAPI: "GetFeedAttachmentAPI", WidgetTitle: "WidgetTitle", MaxHeight: "MaxHeight", Readonly: "Readonly", AllowUserTags: "AllowUserTags", AllowReactions: "AllowReactions", AllowAttachments: "AllowAttachments", AllowComments: "AllowComments", AllowReplies: "AllowReplies", DebugMode: "DebugMode", ModuleConfig: "ModuleConfig" }, viewQueries: [{ propertyName: "dlgCreateUpdateFeed", first: true, predicate: ["dlgCreateUpdateFeed"], descendants: true }, { propertyName: "dlgFeedContentDetails", first: true, predicate: ["dlgFeedContent"], descendants: true }], ngImport: i0, template: "<h5 class=\"app-bold\">{{WidgetTitle}}</h5>\r\n<div class=\"es-card\">\r\n <div class=\"d-flex\" style=\"margin-bottom: 1rem;\">\r\n <ng-container *ngIf=\"AllowComments\">\r\n <div *ngIf=\"!Readonly\">\r\n <div class=\"feed-create-button app-no-selection app-pointer\" (click)=\"onCreateFeed()\">\r\n <div style=\"margin: auto;\"><i class=\"fa fa-plus\"></i></div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div style=\"width: 100%;\">\r\n <form-input [Validation]=\"false\" [FormLayout]=\"false\" [(ngModel)]=\"FeedContentFilter\" (keydown.enter)=\"doRefreshFeeds()\" name=\"feedcontentfilter\">\r\n <ng-template #suffix>\r\n <span class=\"fa fa-search\"></span>\r\n </ng-template>\r\n </form-input>\r\n </div>\r\n </div>\r\n <!--Feeds-->\r\n <div style=\"overflow: auto !important;\" [style.max-height]=\"MaxHeight\">\r\n <ng-container *ngFor=\"let item of Feeds; let first = first;\">\r\n <ng-container *ngTemplateOutlet=\"FeedsDisplay; context: { $implicit: item, 'childTemplate': FeedsDisplay ,'isChild': false, 'first': first };\"></ng-container>\r\n </ng-container>\r\n <div *ngIf=\"Feeds?.length == 0\">\r\n <em>Nessun feed disponibile...</em>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Grafica di un singolo Feed-->\r\n<ng-template #FeedsDisplay let-item let-childTemplate=\"childTemplate\" let-isChild=\"isChild\" let-first=\"first\">\r\n <div [class.feed-container]=\"!isChild\" [class.feed-child-container]=\"isChild\" [class.first]=\"first\">\r\n <!--Colonna Sinistra-->\r\n <div class=\"feed-left-col\">\r\n <div class=\"feed-owner-icon\">\r\n <img *ngIf=\"!item.systemgen\" class=\"feed-owner-icon-image\" alt=\"user-img\" src=\"assets/img/users/user_default.jpg\">\r\n <img *ngIf=\"item.systemgen && item.severityid == 'INFO'\" class=\"feed-owner-icon-image fill-info\" alt=\"info\" src=\"assets/img/users/user_severity.svg\">\r\n <img *ngIf=\"item.systemgen && item.severityid == 'WARNING'\" class=\"feed-owner-icon-image fill-warning\" alt=\"warning\" src=\"assets/img/users/user_severity.svg\">\r\n <img *ngIf=\"item.systemgen && item.severityid == 'ERROR'\" class=\"feed-owner-icon-image fill-danger\" alt=\"error\" src=\"assets/img/users/user_severity.svg\">\r\n </div>\r\n <div *ngIf=\"item.childfeeds?.length > 0\" class=\"feed-sideline\"></div>\r\n </div>\r\n <!--Colonna Centrale-->\r\n <div class=\"feed-mid-col\">\r\n <div class=\"feed-mid-col-content\">\r\n <!--Content-->\r\n <div class=\"width-90\">\r\n <!--Intestazione-->\r\n <div>\r\n <span class=\"app-bold\">{{item.systemgen ? 'SISTEMA' : item.user}} </span>\r\n <span class=\"feed-gray-text\">{{item.dateins | loc_date: 'DD/MM/YYYY'}} alle {{item.dateins | loc_date: 'HH:mm'}}</span>\r\n </div>\r\n <!--Allegato-->\r\n <div *ngIf=\"item.filename\">\r\n <div class=\"app-pointer feed-cta\" (click)=\"onDownloadFeedAttachment(item)\">\r\n <span><i class=\"fa fa-file\"></i> {{item.filename}} ({{item.filesize}}KB)</span>\r\n </div>\r\n </div>\r\n <!--Messaggio-->\r\n <div *ngIf=\"!item.systemgen\" class=\"app-markdown\" markdown emoji>{{item.content}}</div>\r\n <div *ngIf=\"item.systemgen\">\r\n <span class=\"app-markdown\" markdown emoji>{{item.user}}: {{item.title}}</span>\r\n <span *ngIf=\"item.content\" (click)=\"onShowFeedContent(item.content)\"> <i class=\"far fa-up-right-from-square text-info app-pointer\"></i></span>\r\n </div>\r\n <!--Operazioni-->\r\n <div class=\"feed-col-operations\">\r\n <ng-container *ngIf=\"AllowReactions\">\r\n <div [class.feed-reaction-sel]=\"item.liked\" class=\"app-pointer feed-reaction\" (click)=\"onReactToFeed(item, item.liked ? '' : '0')\"><span><i class=\"fa fa-thumbs-up\"></i> {{item.likes?.length}}</span></div>\r\n <div [class.feed-reaction-sel]=\"item.disliked\" class=\"app-pointer feed-reaction\" (click)=\"onReactToFeed(item, item.disliked ? '' : '1')\"><span><i class=\"fa fa-thumbs-down\"></i> {{item.dislikes?.length}}</span></div>\r\n </ng-container>\r\n <ng-container *ngIf=\"AllowReplies\">\r\n <div *ngIf=\"!Readonly && !isChild\" class=\"app-pointer feed-cta\" style=\"padding: 0.2rem;\" (click)=\"onSelectFeed(item) && onCreateFeed(true)\">Rispondi</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <!--Dropdown-->\r\n <div class=\"feed-operation-col\">\r\n <div *ngIf=\"LoggedUser == item.user && !item.systemgen && !Readonly && FeedsOperations?.length > 0\" class=\"app-pointer feed-cta\" (click)=\"onSelectFeed(item) && FeedsOperationsDropdown.Show($event)\">\r\n <i class=\"fa fa-ellipsis-h\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <!--Feeds figli-->\r\n <ng-container *ngFor=\"let childItem of item.childfeeds\">\r\n <ng-container *ngTemplateOutlet=\"childTemplate; context: { $implicit: childItem, 'isChild': true };\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!--Creazione/Aggiornamento Feed-->\r\n<es-modal #dlgCreateUpdateFeed [Size]=\"'M'\">\r\n <es-modal-head (Close)=\"dlgCreateUpdateFeed.hide();\">\r\n <h5 class=\"modal-title pull-left\">Aggiungi Feed</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"CreateUpdateFeedDTO\" #formCreateUpdateFeed=\"ngForm\" (ngSubmit)=\"formCreateUpdateFeed.valid && doCreateUpdateFeed()\">\r\n <div class=\"modal-body\">\r\n <!--TODO: Usato solo nel CRM, quando verra aggiornato a ng19 reintegrare-->\r\n <!-- <form-checkbox *ac=\"'!R:actor'\" [Label]=\"'Pubblico'\" [LabelInputRatio]=\"'2 10'\" [(ngModel)]=\"CreateUpdateFeedDTO.ispublic\" name=\"ispublic\"></form-checkbox> -->\r\n <es-editor [(ngModel)]=\"CreateUpdateFeedDTO.content\" Mode=\"markdown\" name=\"markdownEditor\"></es-editor>\r\n <form-file *ngIf=\"AllowAttachments\" [Label]=\"'Allegato'\" [LabelInputRatio]=\"'2 10'\" [(ngModel)]=\"AllegatoFile\" [Last]=\"true\" name=\"add_file\"></form-file>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgCreateUpdateFeed.hide();\">Annulla</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Contenuto Feed-->\r\n<es-modal #dlgFeedContent [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgFeedContent.hide();\">\r\n <h5 class=\"modal-title pull-left\">Dettaglio Feed di Sistema</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body\">\r\n <div *ngIf=\"FeedContentDetails\" class=\"app-markdown\" markdown emoji>{{FeedContentDetails}}</div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgFeedContent.hide();\">Chiudi</button>\r\n </div>\r\n</es-modal>\r\n\r\n<simple-dropdown #FeedsOperationsDropdown [Options]=\"FeedsOperations\"></simple-dropdown>", styles: [".feed-cta{color:#0275d8!important}.feed-container{position:relative;margin-top:15px;font-size:.8rem!important;display:flex}.feed-container.first{margin-top:0}.file-icon{background-color:#eee;border-radius:5px;font-size:.8rem;text-align:center}.feed-owner-icon{width:2rem;height:2rem}.feed-owner-icon-image{width:2rem;border-radius:1rem}.feed-sideline{height:calc(100% - 2rem);background-color:#eee;border-radius:1rem;width:.1rem;margin-top:.2rem!important;margin:auto}.feed-reaction{border-radius:5px;padding:.2rem .5rem;margin-right:.5rem;background-color:#eee!important}.feed-reaction-sel{background-color:#5599e5!important;color:#f8f9fa!important}.feed-create-button{border:1px solid #dfdfdf;border-radius:5px;height:39px;width:39px;margin-right:15px;display:flex}.feed-create-button:hover{background-color:#d4d4d4}.app-markdown{display:inline-block}.app-markdown p{margin-bottom:0!important;white-space:break-spaces!important}.app-ck-height-400{padding-bottom:15px!important}.app-ck-height-400 .ck-editor__editable{max-height:400px;min-height:200px}.feed-left-col{width:2rem}.feed-mid-col-content{display:flex;width:100%}.feed-mid-col{width:100%;padding-left:10px}.feed-operation-col{text-align:center;font-size:1rem;margin-left:auto;margin-right:1rem}.width-90{width:90%}.feed-gray-text{color:gray;font-size:.7rem}.feed-col-operations{display:flex;margin-top:.2rem}.feed-child-container{display:flex;margin-top:10px}.fill-info{filter:invert(69%) sepia(75%) saturate(6042%) hue-rotate(163deg) brightness(97%) contrast(103%)}.fill-warning{filter:invert(63%) sepia(87%) saturate(1749%) hue-rotate(351deg) brightness(103%) contrast(94%)}.fill-danger{filter:invert(15%) sepia(85%) saturate(2826%) hue-rotate(341deg) brightness(100%) contrast(103%)}::-webkit-scrollbar{width:4px;background-color:transparent}::-webkit-scrollbar-thumb{background-color:#ddd;border-radius:2px}::-webkit-scrollbar-track{background-color:transparent}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: ExtensionsModule }, { kind: "pipe", type: i2$1.LocDatePipe, name: "loc_date" }, { kind: "ngmodule", type: FormsAndValidationsModule }, { kind: "component", type: i6.EsFormInputComponent, selector: "form-input", inputs: ["minlength", "maxlength", "pattern", "Password", "Type"] }, { kind: "component", type: i6.EsFormFileComponent, selector: "form-file", inputs: ["Multiple", "AllowDownload", "MaxSize", "FancyMode", "ReadFile"] }, { kind: "component", type: EsModalComponent, selector: "es-modal", inputs: ["Size", "IgnoreBackdrop", "Backdrop", "HasOverlap"], outputs: ["onShow", "onHide"] }, { kind: "component", type: EsModalHeadComponent, selector: "es-modal-head", inputs: ["AllowClose"], outputs: ["Close"] }, { kind: "ngmodule", type: UtilityComponentsModule }, { kind: "component", type: i7$1.SimpleDropdownComponent, selector: "simple-dropdown", inputs: ["Options"] }, { kind: "ngmodule", type: AccessControlModule }, { kind: "ngmodule", type: MarkdownModule }, { kind: "component", type: i8.MarkdownComponent, selector: "markdown, [markdown]", inputs: ["data", "src", "disableSanitizer", "inline", "clipboard", "clipboardButtonComponent", "clipboardButtonTemplate", "emoji", "katex", "katexOptions", "mermaid", "mermaidOptions", "lineHighlight", "line", "lineOffset", "lineNumbers", "start", "commandLine", "filterOutput", "host", "prompt", "output", "user"], outputs: ["error", "load", "ready"] }] }); }
|
|
1532
1533
|
}
|
|
1533
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1534
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EntityFeedsWidgetComponent, decorators: [{
|
|
1534
1535
|
type: Component,
|
|
1535
1536
|
args: [{ selector: "entity-feeds-widget", imports: [CommonModule, NgIf, NgFor, NgTemplateOutlet, FormsModule, ExtensionsModule, FormsAndValidationsModule, EsModalComponent, EsModalHeadComponent, UtilityComponentsModule, AccessControlModule, MarkdownModule], template: "<h5 class=\"app-bold\">{{WidgetTitle}}</h5>\r\n<div class=\"es-card\">\r\n <div class=\"d-flex\" style=\"margin-bottom: 1rem;\">\r\n <ng-container *ngIf=\"AllowComments\">\r\n <div *ngIf=\"!Readonly\">\r\n <div class=\"feed-create-button app-no-selection app-pointer\" (click)=\"onCreateFeed()\">\r\n <div style=\"margin: auto;\"><i class=\"fa fa-plus\"></i></div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div style=\"width: 100%;\">\r\n <form-input [Validation]=\"false\" [FormLayout]=\"false\" [(ngModel)]=\"FeedContentFilter\" (keydown.enter)=\"doRefreshFeeds()\" name=\"feedcontentfilter\">\r\n <ng-template #suffix>\r\n <span class=\"fa fa-search\"></span>\r\n </ng-template>\r\n </form-input>\r\n </div>\r\n </div>\r\n <!--Feeds-->\r\n <div style=\"overflow: auto !important;\" [style.max-height]=\"MaxHeight\">\r\n <ng-container *ngFor=\"let item of Feeds; let first = first;\">\r\n <ng-container *ngTemplateOutlet=\"FeedsDisplay; context: { $implicit: item, 'childTemplate': FeedsDisplay ,'isChild': false, 'first': first };\"></ng-container>\r\n </ng-container>\r\n <div *ngIf=\"Feeds?.length == 0\">\r\n <em>Nessun feed disponibile...</em>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Grafica di un singolo Feed-->\r\n<ng-template #FeedsDisplay let-item let-childTemplate=\"childTemplate\" let-isChild=\"isChild\" let-first=\"first\">\r\n <div [class.feed-container]=\"!isChild\" [class.feed-child-container]=\"isChild\" [class.first]=\"first\">\r\n <!--Colonna Sinistra-->\r\n <div class=\"feed-left-col\">\r\n <div class=\"feed-owner-icon\">\r\n <img *ngIf=\"!item.systemgen\" class=\"feed-owner-icon-image\" alt=\"user-img\" src=\"assets/img/users/user_default.jpg\">\r\n <img *ngIf=\"item.systemgen && item.severityid == 'INFO'\" class=\"feed-owner-icon-image fill-info\" alt=\"info\" src=\"assets/img/users/user_severity.svg\">\r\n <img *ngIf=\"item.systemgen && item.severityid == 'WARNING'\" class=\"feed-owner-icon-image fill-warning\" alt=\"warning\" src=\"assets/img/users/user_severity.svg\">\r\n <img *ngIf=\"item.systemgen && item.severityid == 'ERROR'\" class=\"feed-owner-icon-image fill-danger\" alt=\"error\" src=\"assets/img/users/user_severity.svg\">\r\n </div>\r\n <div *ngIf=\"item.childfeeds?.length > 0\" class=\"feed-sideline\"></div>\r\n </div>\r\n <!--Colonna Centrale-->\r\n <div class=\"feed-mid-col\">\r\n <div class=\"feed-mid-col-content\">\r\n <!--Content-->\r\n <div class=\"width-90\">\r\n <!--Intestazione-->\r\n <div>\r\n <span class=\"app-bold\">{{item.systemgen ? 'SISTEMA' : item.user}} </span>\r\n <span class=\"feed-gray-text\">{{item.dateins | loc_date: 'DD/MM/YYYY'}} alle {{item.dateins | loc_date: 'HH:mm'}}</span>\r\n </div>\r\n <!--Allegato-->\r\n <div *ngIf=\"item.filename\">\r\n <div class=\"app-pointer feed-cta\" (click)=\"onDownloadFeedAttachment(item)\">\r\n <span><i class=\"fa fa-file\"></i> {{item.filename}} ({{item.filesize}}KB)</span>\r\n </div>\r\n </div>\r\n <!--Messaggio-->\r\n <div *ngIf=\"!item.systemgen\" class=\"app-markdown\" markdown emoji>{{item.content}}</div>\r\n <div *ngIf=\"item.systemgen\">\r\n <span class=\"app-markdown\" markdown emoji>{{item.user}}: {{item.title}}</span>\r\n <span *ngIf=\"item.content\" (click)=\"onShowFeedContent(item.content)\"> <i class=\"far fa-up-right-from-square text-info app-pointer\"></i></span>\r\n </div>\r\n <!--Operazioni-->\r\n <div class=\"feed-col-operations\">\r\n <ng-container *ngIf=\"AllowReactions\">\r\n <div [class.feed-reaction-sel]=\"item.liked\" class=\"app-pointer feed-reaction\" (click)=\"onReactToFeed(item, item.liked ? '' : '0')\"><span><i class=\"fa fa-thumbs-up\"></i> {{item.likes?.length}}</span></div>\r\n <div [class.feed-reaction-sel]=\"item.disliked\" class=\"app-pointer feed-reaction\" (click)=\"onReactToFeed(item, item.disliked ? '' : '1')\"><span><i class=\"fa fa-thumbs-down\"></i> {{item.dislikes?.length}}</span></div>\r\n </ng-container>\r\n <ng-container *ngIf=\"AllowReplies\">\r\n <div *ngIf=\"!Readonly && !isChild\" class=\"app-pointer feed-cta\" style=\"padding: 0.2rem;\" (click)=\"onSelectFeed(item) && onCreateFeed(true)\">Rispondi</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <!--Dropdown-->\r\n <div class=\"feed-operation-col\">\r\n <div *ngIf=\"LoggedUser == item.user && !item.systemgen && !Readonly && FeedsOperations?.length > 0\" class=\"app-pointer feed-cta\" (click)=\"onSelectFeed(item) && FeedsOperationsDropdown.Show($event)\">\r\n <i class=\"fa fa-ellipsis-h\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <!--Feeds figli-->\r\n <ng-container *ngFor=\"let childItem of item.childfeeds\">\r\n <ng-container *ngTemplateOutlet=\"childTemplate; context: { $implicit: childItem, 'isChild': true };\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<!--Creazione/Aggiornamento Feed-->\r\n<es-modal #dlgCreateUpdateFeed [Size]=\"'M'\">\r\n <es-modal-head (Close)=\"dlgCreateUpdateFeed.hide();\">\r\n <h5 class=\"modal-title pull-left\">Aggiungi Feed</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"CreateUpdateFeedDTO\" #formCreateUpdateFeed=\"ngForm\" (ngSubmit)=\"formCreateUpdateFeed.valid && doCreateUpdateFeed()\">\r\n <div class=\"modal-body\">\r\n <!--TODO: Usato solo nel CRM, quando verra aggiornato a ng19 reintegrare-->\r\n <!-- <form-checkbox *ac=\"'!R:actor'\" [Label]=\"'Pubblico'\" [LabelInputRatio]=\"'2 10'\" [(ngModel)]=\"CreateUpdateFeedDTO.ispublic\" name=\"ispublic\"></form-checkbox> -->\r\n <es-editor [(ngModel)]=\"CreateUpdateFeedDTO.content\" Mode=\"markdown\" name=\"markdownEditor\"></es-editor>\r\n <form-file *ngIf=\"AllowAttachments\" [Label]=\"'Allegato'\" [LabelInputRatio]=\"'2 10'\" [(ngModel)]=\"AllegatoFile\" [Last]=\"true\" name=\"add_file\"></form-file>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgCreateUpdateFeed.hide();\">Annulla</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Contenuto Feed-->\r\n<es-modal #dlgFeedContent [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgFeedContent.hide();\">\r\n <h5 class=\"modal-title pull-left\">Dettaglio Feed di Sistema</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body\">\r\n <div *ngIf=\"FeedContentDetails\" class=\"app-markdown\" markdown emoji>{{FeedContentDetails}}</div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgFeedContent.hide();\">Chiudi</button>\r\n </div>\r\n</es-modal>\r\n\r\n<simple-dropdown #FeedsOperationsDropdown [Options]=\"FeedsOperations\"></simple-dropdown>", styles: [".feed-cta{color:#0275d8!important}.feed-container{position:relative;margin-top:15px;font-size:.8rem!important;display:flex}.feed-container.first{margin-top:0}.file-icon{background-color:#eee;border-radius:5px;font-size:.8rem;text-align:center}.feed-owner-icon{width:2rem;height:2rem}.feed-owner-icon-image{width:2rem;border-radius:1rem}.feed-sideline{height:calc(100% - 2rem);background-color:#eee;border-radius:1rem;width:.1rem;margin-top:.2rem!important;margin:auto}.feed-reaction{border-radius:5px;padding:.2rem .5rem;margin-right:.5rem;background-color:#eee!important}.feed-reaction-sel{background-color:#5599e5!important;color:#f8f9fa!important}.feed-create-button{border:1px solid #dfdfdf;border-radius:5px;height:39px;width:39px;margin-right:15px;display:flex}.feed-create-button:hover{background-color:#d4d4d4}.app-markdown{display:inline-block}.app-markdown p{margin-bottom:0!important;white-space:break-spaces!important}.app-ck-height-400{padding-bottom:15px!important}.app-ck-height-400 .ck-editor__editable{max-height:400px;min-height:200px}.feed-left-col{width:2rem}.feed-mid-col-content{display:flex;width:100%}.feed-mid-col{width:100%;padding-left:10px}.feed-operation-col{text-align:center;font-size:1rem;margin-left:auto;margin-right:1rem}.width-90{width:90%}.feed-gray-text{color:gray;font-size:.7rem}.feed-col-operations{display:flex;margin-top:.2rem}.feed-child-container{display:flex;margin-top:10px}.fill-info{filter:invert(69%) sepia(75%) saturate(6042%) hue-rotate(163deg) brightness(97%) contrast(103%)}.fill-warning{filter:invert(63%) sepia(87%) saturate(1749%) hue-rotate(351deg) brightness(103%) contrast(94%)}.fill-danger{filter:invert(15%) sepia(85%) saturate(2826%) hue-rotate(341deg) brightness(100%) contrast(103%)}::-webkit-scrollbar{width:4px;background-color:transparent}::-webkit-scrollbar-thumb{background-color:#ddd;border-radius:2px}::-webkit-scrollbar-track{background-color:transparent}\n"] }]
|
|
1536
1537
|
}], ctorParameters: () => [{ type: i3$1.HTTPService }, { type: i2$1.UtilityService }, { type: i2$1.MessageService }, { type: i1.TokenService }], propDecorators: { EntityType: [{
|
|
@@ -1599,11 +1600,12 @@ const COMPONENTS = [
|
|
|
1599
1600
|
EsImageCropperComponent,
|
|
1600
1601
|
FormSelectorComponent,
|
|
1601
1602
|
FormSelectorDialogComponent,
|
|
1602
|
-
EntityFeedsWidgetComponent
|
|
1603
|
+
EntityFeedsWidgetComponent,
|
|
1604
|
+
EditorComponent
|
|
1603
1605
|
];
|
|
1604
1606
|
class ComponentsModule {
|
|
1605
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1606
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1607
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1608
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: ComponentsModule, imports: [CommonModule, RouterModule, FormsModule, DirectivesModule, LocalizationModule, ProgressbarModule, BsDropdownModule, ModalModule, EsTableModule, BackTop,
|
|
1607
1609
|
Breadcrumb,
|
|
1608
1610
|
ErrorPageComponent,
|
|
1609
1611
|
PagesComponent,
|
|
@@ -1619,7 +1621,8 @@ class ComponentsModule {
|
|
|
1619
1621
|
EsImageCropperComponent,
|
|
1620
1622
|
FormSelectorComponent,
|
|
1621
1623
|
FormSelectorDialogComponent,
|
|
1622
|
-
EntityFeedsWidgetComponent
|
|
1624
|
+
EntityFeedsWidgetComponent,
|
|
1625
|
+
EditorComponent], exports: [BackTop,
|
|
1623
1626
|
Breadcrumb,
|
|
1624
1627
|
ErrorPageComponent,
|
|
1625
1628
|
PagesComponent,
|
|
@@ -1635,17 +1638,19 @@ class ComponentsModule {
|
|
|
1635
1638
|
EsImageCropperComponent,
|
|
1636
1639
|
FormSelectorComponent,
|
|
1637
1640
|
FormSelectorDialogComponent,
|
|
1638
|
-
EntityFeedsWidgetComponent
|
|
1639
|
-
|
|
1641
|
+
EntityFeedsWidgetComponent,
|
|
1642
|
+
EditorComponent] }); }
|
|
1643
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ComponentsModule, imports: [CommonModule, RouterModule, FormsModule, DirectivesModule, LocalizationModule, ProgressbarModule, BsDropdownModule, ModalModule, EsTableModule, ErrorPageComponent,
|
|
1640
1644
|
PagesComponent,
|
|
1641
1645
|
Navbar,
|
|
1642
1646
|
Sidebar,
|
|
1643
1647
|
EsImageCropperComponent,
|
|
1644
1648
|
FormSelectorComponent,
|
|
1645
1649
|
FormSelectorDialogComponent,
|
|
1646
|
-
EntityFeedsWidgetComponent
|
|
1650
|
+
EntityFeedsWidgetComponent,
|
|
1651
|
+
EditorComponent] }); }
|
|
1647
1652
|
}
|
|
1648
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1653
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ComponentsModule, decorators: [{
|
|
1649
1654
|
type: NgModule,
|
|
1650
1655
|
args: [{
|
|
1651
1656
|
imports: [CommonModule, RouterModule, FormsModule, DirectivesModule, LocalizationModule, ProgressbarModule, BsDropdownModule, ModalModule, EsTableModule, ...COMPONENTS],
|
|
@@ -1676,10 +1681,10 @@ class EmbeddingComponent extends BaseComponent {
|
|
|
1676
1681
|
});
|
|
1677
1682
|
});
|
|
1678
1683
|
}
|
|
1679
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1680
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1684
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EmbeddingComponent, deps: [{ token: i0.Injector }, { token: i2$1.AppEmbeddingExtensions }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1685
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: EmbeddingComponent, isStandalone: true, selector: "embedding", usesInheritance: true, ngImport: i0, template: "<jace-resource *ngIf=\"EmbeddingSuccesfull && Page\" [Module]=\"Module\" [Localhost]=\"Localhost\" Page=\"{{Page}}{{Pars}}{{QueryPars}}\"></jace-resource>\r\n<div *ngIf=\"!EmbeddingSuccesfull\">\r\n Errori nell'embeddare risorsa {{Page}};{{Pars}} del modulo {{Module}} (Localhost {{Localhost}})\r\n</div>", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: JaceResourceComponent, selector: "jace-resource", inputs: ["Module", "ModuleKeyType", "Page", "Localhost", "Params"] }] }); }
|
|
1681
1686
|
}
|
|
1682
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1687
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EmbeddingComponent, decorators: [{
|
|
1683
1688
|
type: Component,
|
|
1684
1689
|
args: [{ selector: 'embedding', imports: [NgIf, JaceResourceComponent], template: "<jace-resource *ngIf=\"EmbeddingSuccesfull && Page\" [Module]=\"Module\" [Localhost]=\"Localhost\" Page=\"{{Page}}{{Pars}}{{QueryPars}}\"></jace-resource>\r\n<div *ngIf=\"!EmbeddingSuccesfull\">\r\n Errori nell'embeddare risorsa {{Page}};{{Pars}} del modulo {{Module}} (Localhost {{Localhost}})\r\n</div>" }]
|
|
1685
1690
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: i2$1.AppEmbeddingExtensions }] });
|
|
@@ -1717,10 +1722,10 @@ class UserInfoComponentLoc extends LocalizationService {
|
|
|
1717
1722
|
super.set("en->it", "Password", ["Password"]);
|
|
1718
1723
|
super.set("en->it", "Error", ["Errore"]);
|
|
1719
1724
|
}
|
|
1720
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1721
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
1725
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: UserInfoComponentLoc, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1726
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: UserInfoComponentLoc }); }
|
|
1722
1727
|
}
|
|
1723
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1728
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: UserInfoComponentLoc, decorators: [{
|
|
1724
1729
|
type: Injectable
|
|
1725
1730
|
}], ctorParameters: () => [{ type: i0.Injector }] });
|
|
1726
1731
|
|
|
@@ -1818,10 +1823,10 @@ class UserInfosComponent extends BaseComponent {
|
|
|
1818
1823
|
this.msgExts.manageCallResultResponse(res, "Password modificata con Successo", "Errori nella modifica della Password", () => { this.dlgUpdatePassword.hide(); });
|
|
1819
1824
|
}
|
|
1820
1825
|
}
|
|
1821
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1822
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: UserInfosComponent, isStandalone: true, selector: "user-infos", viewQueries: [{ propertyName: "dlgShowAccountRoles", first: true, predicate: ["dlgShowAccountRoles"], descendants: true }, { propertyName: "dlgUpdateProfilePicture", first: true, predicate: ["dlgUpdateProfilePicture"], descendants: true }, { propertyName: "imageCropper", first: true, predicate: ["imageCropper"], descendants: true }, { propertyName: "dlgUpdateRecoverySettings", first: true, predicate: ["dlgUpdateRecoverySettings"], descendants: true }, { propertyName: "dlgUpdatePassword", first: true, predicate: ["dlgUpdatePassword"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div style=\"height: 100%; width: 100%; display: flex;\">\r\n <div style=\"margin: auto;\">\r\n <div class=\"user-img-container\">\r\n <img [src]=\"profile.ProfilePicture\" alt=\"user-img\" class=\"user-img\" />\r\n <div class=\"app-pointer user-img-btn\">\r\n <div class=\"app-opacity user-img-btn-body\" (click)=\"onUpdateProfilePicture();\">\r\n <i class=\"far fa-pen\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-15\" style=\"position: relative;\" *ngIf=\"AccountDetails\">\r\n <div class=\"card card-body app-no-margin app-padding-15\">\r\n <div class=\"row\">\r\n <div *ac=\"'R:Jace Admin'\" class=\"user-roles-btn\" pTooltip=\"Visualizza Ruoli e Permessi\" matTooltipPosition=\"above\" (click)=\"onShowAccountRoles();\">\r\n <i class=\"far fa-book-user\"></i>\r\n </div>\r\n <div class=\"col-md-6\"><labeled-span [Label]=\"'Utente' | localize : lc\" Display=\"Vertical\">{{AccountDetails.username}}</labeled-span></div>\r\n <div class=\"col-md-6\"><labeled-span [Label]=\"'Tenant' | localize : lc\" Display=\"Vertical\">{{AccountDetails.tenantid}}</labeled-span></div>\r\n <div class=\"col-md-6 app-margin-top-10\"><labeled-span [Label]=\"'Nome' | localize : lc\" Display=\"Vertical\">{{AccountDetails.firstname}}</labeled-span></div>\r\n <div class=\"col-md-6 app-margin-top-10\"><labeled-span [Label]=\"'Cognome' | localize : lc\" Display=\"Vertical\">{{AccountDetails.lastname}}</labeled-span> </div>\r\n <div class=\"col-md-6 app-margin-top-10\"><labeled-span [Label]=\"'Email' | localize : lc\" Display=\"Vertical\">{{AccountDetails.recoveryemail || 'Non disponibile'}}</labeled-span></div>\r\n <div class=\"col-md-6 app-margin-top-15\"><form-checkbox [LabelInputRatio]=\"'8 4'\" [SliderMode]=\"true\" [Label]=\"'Disattiva effetti grafici' | localize: lc\" [(ngModel)]=\"GraphicEffectsDeactivated\" (inputChange)=\"effectsActiveChanged()\" name=\"gea\"></form-checkbox></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-10 row\">\r\n <div class=\"col-md-6\" style=\"padding-right: 5px;\">\r\n <button type=\"button\" style=\"width: 100%;\" class=\"btn btn-primary\" (click)=\"onUpdatePassword()\">Modifica Password</button>\r\n </div>\r\n <div class=\"col-md-6\" style=\"padding-left: 5px;\">\r\n <button type=\"button\" style=\"width: 100%;\" class=\"btn btn-primary\" (click)=\"onUpdateRecoverySettings()\">Modifica Email</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Update Password-->\r\n<es-modal #dlgUpdatePassword [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgUpdatePassword.hide();\">\r\n <h5 class=\"modal-title pull-left\">Modifica Password</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"UpdatePasswordDTO\" #formUpdatePassword=\"ngForm\" (ngSubmit)=\"formUpdatePassword.valid && doUpdatePassword()\">\r\n <div class=\"modal-body lastfix\">\r\n <form-input [Password]=\"true\" [Label]=\"'Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.oldpwd\" name=\"oldpw\" required></form-input>\r\n <form-input [Password]=\"true\" [Label]=\"'Nuova Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.newpwd\" name=\"newpw\" required></form-input>\r\n <form-input [Password]=\"true\" [Label]=\"'Conferma Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.confirmpwd\" name=\"confpw\" required></form-input>\r\n <!--Validazione Custom-->\r\n <div *ngIf=\"CustomError\" class=\"app-white-text app-margin-top-15 app-margin-bottom-0 card app-padding-10 card-danger\">\r\n <strong>{{'Error' | localize : lc}}: </strong>{{CustomError}}\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgUpdatePassword.hide();\">{{'Cancel' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Update Extra Info-->\r\n<es-modal #dlgUpdateRecoverySettings [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgUpdateRecoverySettings.hide();\">\r\n <h5 class=\"modal-title pull-left\">{{'Modifica Email' | localize : lc}}</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"UpdateRecoverySettingsDTO\" #formUpdateInfos=\"ngForm\" (ngSubmit)=\"formUpdateInfos.valid && doUpdateRecoverySettings()\">\r\n <div class=\"modal-body lastfix\">\r\n <form-input [LabelInputRatio]=\"'3 9'\" [Label]=\"'Email' | localize: lc\" [(ngModel)]=\"UpdateRecoverySettingsDTO.email\" name=\"email\"></form-input>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgUpdateRecoverySettings.hide();\">{{'Cancel' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Upload Picture-->\r\n<es-modal #dlgUpdateProfilePicture [Size]=\"'XL'\">\r\n <es-modal-head (Close)=\"dlgUpdateProfilePicture.hide();\">\r\n <h5 class=\"modal-title pull-left\">Carica immagine</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body d-flex\">\r\n <div style=\"margin: auto;\">\r\n <es-image-cropper #imageCropper [Height]=\"600\" [Width]=\"800\"></es-image-cropper>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"dlgUpdateProfilePicture.hide()\">Annulla</button>\r\n <button type=\"submit\" class=\"btn btn-primary\" (click)=\"doUpdateProfilePicture()\">Conferma</button>\r\n </div>\r\n</es-modal>\r\n\r\n<!--Ruoli e Permessi-->\r\n<es-modal #dlgShowAccountRoles [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgShowAccountRoles.hide();\">\r\n <h5 class=\"modal-title pull-left\">{{'Ruoli e Permessi' | localize : lc}}</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body\" style=\"max-height: 600px; overflow-y: auto;\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\" *ngIf=\"AccountRoles\">\r\n <labeled-span [Label]=\"'Ruoli'\" Display=\"Vertical\">\r\n <div *ngFor=\"let r of AccountRoles;\">{{r}}</div>\r\n </labeled-span>\r\n </div>\r\n <div class=\"col-md-6\" *ngIf=\"AccountPermissions\">\r\n <labeled-span [Label]=\"'Permessi'\" Display=\"Vertical\">\r\n <div *ngFor=\"let p of AccountPermissions;\">{{p}}</div>\r\n </labeled-span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"dlgShowAccountRoles.hide();\">{{'Chiudi' | localize : lc}}</button>\r\n </div>\r\n</es-modal>", styles: [".app-wideplus{width:100%;text-align:center;border:1px solid #ccc;border-radius:5px;padding:5px}.btn-outline-main-modified{color:#242d3a;border-color:#242d3a;background:transparent}.btn-outline-main-modified:hover{color:#fff;background:#242d3a;border-color:#242d3a}.user-img-container{position:relative;width:200px;margin:auto}.user-img{object-fit:cover;max-height:200px;min-height:200px;min-width:200px;max-width:200px;border-radius:50%;box-shadow:0 8px 6px #1313130a,0 12px 16px #1313130d}.user-img-btn{position:absolute;right:0;width:40px;height:40px;margin-top:-50px}.user-img-btn-body{background-color:#0056b3;color:#fff;border-radius:50%;text-align:center;height:100%;font-size:1.2rem;line-height:2.5rem}.user-roles-btn{position:absolute;top:0;right:2px;font-size:1.2rem;padding:5px;z-index:1;color:#0056b3;cursor:pointer;width:auto}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsAndValidationsModule }, { kind: "component", type: i6.EsFormInputComponent, selector: "form-input", inputs: ["minlength", "maxlength", "pattern", "Password", "Type"] }, { kind: "component", type: i6.EsFormCheckboxComponent, selector: "form-checkbox", inputs: ["SliderMode"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: LocalizationModule }, { kind: "component", type: EsModalComponent, selector: "es-modal", inputs: ["Size", "IgnoreBackdrop", "Backdrop", "HasOverlap"], outputs: ["onShow", "onHide"] }, { kind: "component", type: EsModalHeadComponent, selector: "es-modal-head", inputs: ["AllowClose"], outputs: ["Close"] }, { kind: "component", type: EsImageCropperComponent, selector: "es-image-cropper", inputs: ["Height", "Width"] }, { kind: "component", type: LabeledSpanComponent, selector: "labeled-span", inputs: ["First", "Label", "Display"] }, { kind: "ngmodule", type: ExtensionsModule }, { kind: "ngmodule", type: AccessControlModule }, { kind: "directive", type: i5$1.AccessControlDirective, selector: "[ac]", inputs: ["ac", "acAbsolute"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "pipe", type: i1$1.LocalizePipe, name: "localize" }], viewProviders: [{ provide: LocalizationService, useClass: UserInfoComponentLoc }] }); }
|
|
1826
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: UserInfosComponent, deps: [{ token: i0.Injector }, { token: i1.TokenService }, { token: i2$1.MessageService }, { token: i2$1.ExportService }, { token: i2$1.UtilityService }, { token: i1$1.LocalizationService }, { token: i1.AppState }, { token: i1.UserPreferencesService }, { token: i1$2.PreferencesService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1827
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: UserInfosComponent, isStandalone: true, selector: "user-infos", viewQueries: [{ propertyName: "dlgShowAccountRoles", first: true, predicate: ["dlgShowAccountRoles"], descendants: true }, { propertyName: "dlgUpdateProfilePicture", first: true, predicate: ["dlgUpdateProfilePicture"], descendants: true }, { propertyName: "imageCropper", first: true, predicate: ["imageCropper"], descendants: true }, { propertyName: "dlgUpdateRecoverySettings", first: true, predicate: ["dlgUpdateRecoverySettings"], descendants: true }, { propertyName: "dlgUpdatePassword", first: true, predicate: ["dlgUpdatePassword"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div style=\"height: 100%; width: 100%; display: flex;\">\r\n <div style=\"margin: auto;\">\r\n <div class=\"user-img-container\">\r\n <img [src]=\"profile.ProfilePicture\" alt=\"user-img\" class=\"user-img\" />\r\n <div class=\"app-pointer user-img-btn\">\r\n <div class=\"app-opacity user-img-btn-body\" (click)=\"onUpdateProfilePicture();\">\r\n <i class=\"far fa-pen\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-15\" style=\"position: relative;\" *ngIf=\"AccountDetails\">\r\n <div class=\"card card-body app-no-margin app-padding-15\">\r\n <div class=\"row\">\r\n <div *ac=\"'R:Jace Admin'\" class=\"user-roles-btn\" pTooltip=\"Visualizza Ruoli e Permessi\" matTooltipPosition=\"above\" (click)=\"onShowAccountRoles();\">\r\n <i class=\"far fa-book-user\"></i>\r\n </div>\r\n <div class=\"col-md-6\"><labeled-span [Label]=\"'Utente' | localize : lc\" Display=\"Vertical\">{{AccountDetails.username}}</labeled-span></div>\r\n <div class=\"col-md-6\"><labeled-span [Label]=\"'Tenant' | localize : lc\" Display=\"Vertical\">{{AccountDetails.tenantid}}</labeled-span></div>\r\n <div class=\"col-md-6 app-margin-top-10\"><labeled-span [Label]=\"'Nome' | localize : lc\" Display=\"Vertical\">{{AccountDetails.firstname}}</labeled-span></div>\r\n <div class=\"col-md-6 app-margin-top-10\"><labeled-span [Label]=\"'Cognome' | localize : lc\" Display=\"Vertical\">{{AccountDetails.lastname}}</labeled-span> </div>\r\n <div class=\"col-md-6 app-margin-top-10\"><labeled-span [Label]=\"'Email' | localize : lc\" Display=\"Vertical\">{{AccountDetails.recoveryemail || 'Non disponibile'}}</labeled-span></div>\r\n <div class=\"col-md-6 app-margin-top-15\"><form-checkbox [LabelInputRatio]=\"'8 4'\" [SliderMode]=\"true\" [Label]=\"'Disattiva effetti grafici' | localize: lc\" [(ngModel)]=\"GraphicEffectsDeactivated\" (inputChange)=\"effectsActiveChanged()\" name=\"gea\"></form-checkbox></div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"app-margin-top-10 row\">\r\n <div class=\"col-md-6\" style=\"padding-right: 5px;\">\r\n <button type=\"button\" style=\"width: 100%;\" class=\"btn btn-primary\" (click)=\"onUpdatePassword()\">Modifica Password</button>\r\n </div>\r\n <div class=\"col-md-6\" style=\"padding-left: 5px;\">\r\n <button type=\"button\" style=\"width: 100%;\" class=\"btn btn-primary\" (click)=\"onUpdateRecoverySettings()\">Modifica Email</button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!--Update Password-->\r\n<es-modal #dlgUpdatePassword [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgUpdatePassword.hide();\">\r\n <h5 class=\"modal-title pull-left\">Modifica Password</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"UpdatePasswordDTO\" #formUpdatePassword=\"ngForm\" (ngSubmit)=\"formUpdatePassword.valid && doUpdatePassword()\">\r\n <div class=\"modal-body lastfix\">\r\n <form-input [Password]=\"true\" [Label]=\"'Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.oldpwd\" name=\"oldpw\" required></form-input>\r\n <form-input [Password]=\"true\" [Label]=\"'Nuova Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.newpwd\" name=\"newpw\" required></form-input>\r\n <form-input [Password]=\"true\" [Label]=\"'Conferma Password' | localize: lc\" [(ngModel)]=\"UpdatePasswordDTO.confirmpwd\" name=\"confpw\" required></form-input>\r\n <!--Validazione Custom-->\r\n <div *ngIf=\"CustomError\" class=\"app-white-text app-margin-top-15 app-margin-bottom-0 card app-padding-10 card-danger\">\r\n <strong>{{'Error' | localize : lc}}: </strong>{{CustomError}}\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgUpdatePassword.hide();\">{{'Cancel' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Update Extra Info-->\r\n<es-modal #dlgUpdateRecoverySettings [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgUpdateRecoverySettings.hide();\">\r\n <h5 class=\"modal-title pull-left\">{{'Modifica Email' | localize : lc}}</h5>\r\n </es-modal-head>\r\n <form *ngIf=\"UpdateRecoverySettingsDTO\" #formUpdateInfos=\"ngForm\" (ngSubmit)=\"formUpdateInfos.valid && doUpdateRecoverySettings()\">\r\n <div class=\"modal-body lastfix\">\r\n <form-input [LabelInputRatio]=\"'3 9'\" [Label]=\"'Email' | localize: lc\" [(ngModel)]=\"UpdateRecoverySettingsDTO.email\" name=\"email\"></form-input>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary app-margin-right-10\" (click)=\"dlgUpdateRecoverySettings.hide();\">{{'Cancel' | localize : lc}}</button>\r\n <button type=\"submit\" class=\"btn btn-primary\">Conferma</button>\r\n </div>\r\n </form>\r\n</es-modal>\r\n\r\n<!--Upload Picture-->\r\n<es-modal #dlgUpdateProfilePicture [Size]=\"'XL'\">\r\n <es-modal-head (Close)=\"dlgUpdateProfilePicture.hide();\">\r\n <h5 class=\"modal-title pull-left\">Carica immagine</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body d-flex\">\r\n <div style=\"margin: auto;\">\r\n <es-image-cropper #imageCropper [Height]=\"600\" [Width]=\"800\"></es-image-cropper>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"dlgUpdateProfilePicture.hide()\">Annulla</button>\r\n <button type=\"submit\" class=\"btn btn-primary\" (click)=\"doUpdateProfilePicture()\">Conferma</button>\r\n </div>\r\n</es-modal>\r\n\r\n<!--Ruoli e Permessi-->\r\n<es-modal #dlgShowAccountRoles [Size]=\"'L'\">\r\n <es-modal-head (Close)=\"dlgShowAccountRoles.hide();\">\r\n <h5 class=\"modal-title pull-left\">{{'Ruoli e Permessi' | localize : lc}}</h5>\r\n </es-modal-head>\r\n <div class=\"modal-body\" style=\"max-height: 600px; overflow-y: auto;\">\r\n <div class=\"row\">\r\n <div class=\"col-md-6\" *ngIf=\"AccountRoles\">\r\n <labeled-span [Label]=\"'Ruoli'\" Display=\"Vertical\">\r\n <div *ngFor=\"let r of AccountRoles;\">{{r}}</div>\r\n </labeled-span>\r\n </div>\r\n <div class=\"col-md-6\" *ngIf=\"AccountPermissions\">\r\n <labeled-span [Label]=\"'Permessi'\" Display=\"Vertical\">\r\n <div *ngFor=\"let p of AccountPermissions;\">{{p}}</div>\r\n </labeled-span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"modal-footer\">\r\n <button type=\"button\" class=\"btn btn-secondary\" (click)=\"dlgShowAccountRoles.hide();\">{{'Chiudi' | localize : lc}}</button>\r\n </div>\r\n</es-modal>", styles: [".app-wideplus{width:100%;text-align:center;border:1px solid #ccc;border-radius:5px;padding:5px}.btn-outline-main-modified{color:#242d3a;border-color:#242d3a;background:transparent}.btn-outline-main-modified:hover{color:#fff;background:#242d3a;border-color:#242d3a}.user-img-container{position:relative;width:200px;margin:auto}.user-img{object-fit:cover;max-height:200px;min-height:200px;min-width:200px;max-width:200px;border-radius:50%;box-shadow:0 8px 6px #1313130a,0 12px 16px #1313130d}.user-img-btn{position:absolute;right:0;width:40px;height:40px;margin-top:-50px}.user-img-btn-body{background-color:#0056b3;color:#fff;border-radius:50%;text-align:center;height:100%;font-size:1.2rem;line-height:2.5rem}.user-roles-btn{position:absolute;top:0;right:2px;font-size:1.2rem;padding:5px;z-index:1;color:#0056b3;cursor:pointer;width:auto}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormsAndValidationsModule }, { kind: "component", type: i6.EsFormInputComponent, selector: "form-input", inputs: ["minlength", "maxlength", "pattern", "Password", "Type"] }, { kind: "component", type: i6.EsFormCheckboxComponent, selector: "form-checkbox", inputs: ["SliderMode"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1$1.LocalizePipe, name: "localize" }, { kind: "component", type: EsModalComponent, selector: "es-modal", inputs: ["Size", "IgnoreBackdrop", "Backdrop", "HasOverlap"], outputs: ["onShow", "onHide"] }, { kind: "component", type: EsModalHeadComponent, selector: "es-modal-head", inputs: ["AllowClose"], outputs: ["Close"] }, { kind: "component", type: EsImageCropperComponent, selector: "es-image-cropper", inputs: ["Height", "Width"] }, { kind: "component", type: LabeledSpanComponent, selector: "labeled-span", inputs: ["First", "Label", "Display"] }, { kind: "ngmodule", type: ExtensionsModule }, { kind: "ngmodule", type: AccessControlModule }, { kind: "directive", type: i5$1.AccessControlDirective, selector: "[ac]", inputs: ["ac", "acAbsolute"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i8$1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], viewProviders: [{ provide: LocalizationService, useClass: UserInfoComponentLoc }] }); }
|
|
1823
1828
|
}
|
|
1824
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1829
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: UserInfosComponent, decorators: [{
|
|
1825
1830
|
type: Component,
|
|
1826
1831
|
args: [{ selector: "user-infos", viewProviders: [{ provide: LocalizationService, useClass: UserInfoComponentLoc }], imports: [
|
|
1827
1832
|
FormsModule,
|
|
@@ -1878,10 +1883,10 @@ class BaseSelectorComponent {
|
|
|
1878
1883
|
this.injector = injector;
|
|
1879
1884
|
this.Initialized = new ReplaySubject();
|
|
1880
1885
|
// Per richiamare lo "Show" da fuori componente
|
|
1881
|
-
this.itemSearch = viewChild("itemSearch"
|
|
1882
|
-
this.EsTableTemplate = contentChild(ThTdProvider
|
|
1883
|
-
this.EsTableTemplateComponent = viewChild(ThTdProvider
|
|
1884
|
-
this.FiltersTemplate = contentChild("filtersTemplate"
|
|
1886
|
+
this.itemSearch = viewChild("itemSearch");
|
|
1887
|
+
this.EsTableTemplate = contentChild(ThTdProvider);
|
|
1888
|
+
this.EsTableTemplateComponent = viewChild(ThTdProvider);
|
|
1889
|
+
this.FiltersTemplate = contentChild("filtersTemplate");
|
|
1885
1890
|
this.ModalOnly = false;
|
|
1886
1891
|
this.EntityName = "";
|
|
1887
1892
|
this.inputChange = new EventEmitter();
|
|
@@ -2194,13 +2199,13 @@ class BaseSelectorComponent {
|
|
|
2194
2199
|
return items;
|
|
2195
2200
|
}));
|
|
2196
2201
|
}
|
|
2197
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2198
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
2202
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BaseSelectorComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2203
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.25", type: BaseSelectorComponent, isStandalone: true, selector: "base-selector", inputs: { ModalOnly: "ModalOnly", EntityName: "EntityName", DisplayMode: "DisplayMode", Readonly: "Readonly", Form: "Form", Placeholder: "Placeholder", ngModelOptions: "ngModelOptions", SingleSelection: "SingleSelection", Required: "Required", Validation: "Validation", PageSize: "PageSize", Navigation: "Navigation", EmitStartingValue: "EmitStartingValue", name: "name", ValidationSubject: "ValidationSubject" }, outputs: { inputChange: "inputChange", firstValueLoaded: "firstValueLoaded", dialogVisible: "dialogVisible", dialogHidden: "dialogHidden", inputFinalized: "inputFinalized" }, queries: [{ propertyName: "EsTableTemplate", first: true, predicate: ThTdProvider, descendants: true, isSignal: true }, { propertyName: "FiltersTemplate", first: true, predicate: ["filtersTemplate"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "itemSearch", first: true, predicate: ["itemSearch"], descendants: true, isSignal: true }, { propertyName: "EsTableTemplateComponent", first: true, predicate: ThTdProvider, descendants: true, isSignal: true }, { propertyName: "searchModal", first: true, predicate: ["searchView"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<form-selector *ngIf=\"Initialized | async\"\r\n [SetValidationSubject]=\"ValidationSubject\"\r\n [ModalOnly]=\"ModalOnly\"\r\n [Valid]=\"!((!Pristine || Form?.submitted) && !ngControl?.valid)\"\r\n [SelectedLabel]=\"SelectedLabel\"\r\n [Validation]=\"Validation\"\r\n [Readonly]=\"Readonly\"\r\n [Form]=\"Form\"\r\n [Name]=\"name\"\r\n [ngModelOptions]=\"ngModelOptions\"\r\n [Required]=\"Required\"\r\n [Placeholder]=\"Placeholder\"\r\n [HasExternalLink]=\"Navigation && (SelectedObjects?.length == 1 && !!navigationEntity)\"\r\n (onChange)=\"changed()\"\r\n (onSearch)=\"!Readonly && resetSearch() && sendSearch() && itemSearch().show();\"\r\n (onNavigation)=\"navigate()\"\r\n (onClipboardCopy)=\"copyToClipboard()\">\r\n</form-selector>\r\n\r\n<form-selector-dialog *ngIf=\"Initialized | async\"\r\n #itemSearch\r\n [Subject]=\"subject\"\r\n [EsTableTemplate]=\"EsTableTemplate() || EsTableTemplateComponent()\"\r\n [searchView]=\"searchView\"\r\n (onSearchRequest)=\"sendSearch($event)\"\r\n (onDialogVisibilityChange)=\"modalVisible($event);\"\r\n (onClearValue)=\"cleanSelection(); itemSearch.hide(); resetSearch();\"\r\n (onCloseDialog)=\"itemSearch.hide(); resetSearch();\"\r\n (onConfirmSelection)=\"confirmSelection(); itemSearch.hide(); resetSearch();\">\r\n <ng-container filters *ngIf=\"FiltersTemplate()\">\r\n <ng-container *ngTemplateOutlet=\"FiltersTemplate()\"></ng-container>\r\n </ng-container>\r\n\r\n</form-selector-dialog>", styles: [".app-selector-input-area{position:absolute;width:calc(100% - 30px);height:100%;margin:0 15px;right:0;top:0;z-index:999}\n"], dependencies: [{ kind: "component", type: FormSelectorComponent, selector: "form-selector", inputs: ["SetValidationSubject", "ModalOnly", "Valid", "SelectedLabel", "Validation", "Readonly", "Form", "Name", "ngModelOptions", "Required", "Placeholder", "HasExternalLink"], outputs: ["SelectedLabelChange", "onChange", "onSearch", "onNavigation", "onClipboardCopy"] }, { kind: "component", type: FormSelectorDialogComponent, selector: "form-selector-dialog", inputs: ["Subject", "EsTableTemplate", "TableClasses", "SingleSelection", "searchView"], outputs: ["onClearValue", "onCloseDialog", "onConfirmSelection", "onSearchRequest", "onDialogVisibilityChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
2199
2204
|
}
|
|
2200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BaseSelectorComponent, decorators: [{
|
|
2201
2206
|
type: Component,
|
|
2202
2207
|
args: [{ selector: "base-selector", imports: [FormSelectorComponent, FormSelectorDialogComponent, NgTemplateOutlet, NgIf, AsyncPipe], template: "<form-selector *ngIf=\"Initialized | async\"\r\n [SetValidationSubject]=\"ValidationSubject\"\r\n [ModalOnly]=\"ModalOnly\"\r\n [Valid]=\"!((!Pristine || Form?.submitted) && !ngControl?.valid)\"\r\n [SelectedLabel]=\"SelectedLabel\"\r\n [Validation]=\"Validation\"\r\n [Readonly]=\"Readonly\"\r\n [Form]=\"Form\"\r\n [Name]=\"name\"\r\n [ngModelOptions]=\"ngModelOptions\"\r\n [Required]=\"Required\"\r\n [Placeholder]=\"Placeholder\"\r\n [HasExternalLink]=\"Navigation && (SelectedObjects?.length == 1 && !!navigationEntity)\"\r\n (onChange)=\"changed()\"\r\n (onSearch)=\"!Readonly && resetSearch() && sendSearch() && itemSearch().show();\"\r\n (onNavigation)=\"navigate()\"\r\n (onClipboardCopy)=\"copyToClipboard()\">\r\n</form-selector>\r\n\r\n<form-selector-dialog *ngIf=\"Initialized | async\"\r\n #itemSearch\r\n [Subject]=\"subject\"\r\n [EsTableTemplate]=\"EsTableTemplate() || EsTableTemplateComponent()\"\r\n [searchView]=\"searchView\"\r\n (onSearchRequest)=\"sendSearch($event)\"\r\n (onDialogVisibilityChange)=\"modalVisible($event);\"\r\n (onClearValue)=\"cleanSelection(); itemSearch.hide(); resetSearch();\"\r\n (onCloseDialog)=\"itemSearch.hide(); resetSearch();\"\r\n (onConfirmSelection)=\"confirmSelection(); itemSearch.hide(); resetSearch();\">\r\n <ng-container filters *ngIf=\"FiltersTemplate()\">\r\n <ng-container *ngTemplateOutlet=\"FiltersTemplate()\"></ng-container>\r\n </ng-container>\r\n\r\n</form-selector-dialog>", styles: [".app-selector-input-area{position:absolute;width:calc(100% - 30px);height:100%;margin:0 15px;right:0;top:0;z-index:999}\n"] }]
|
|
2203
|
-
}], ctorParameters: () => [{ type: i0.Injector }], propDecorators: {
|
|
2208
|
+
}], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { ModalOnly: [{
|
|
2204
2209
|
type: Input
|
|
2205
2210
|
}], EntityName: [{
|
|
2206
2211
|
type: Input
|
|
@@ -2376,10 +2381,10 @@ class BaseSearchComponent extends BaseComponent {
|
|
|
2376
2381
|
;
|
|
2377
2382
|
canPerformSearch() { return true; }
|
|
2378
2383
|
;
|
|
2379
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2380
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
2384
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BaseSearchComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2385
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: BaseSearchComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
2381
2386
|
}
|
|
2382
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2387
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: BaseSearchComponent, decorators: [{
|
|
2383
2388
|
type: Component,
|
|
2384
2389
|
args: [{ template: '' }]
|
|
2385
2390
|
}], ctorParameters: () => [{ type: i0.Injector }] });
|