@esfaenza/core 15.2.194 → 15.2.196
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/navbar/navbar.component.d.ts +2 -2
- package/esm2020/components/navbar/navbar.component.loc.mjs +3 -3
- package/esm2020/components/navbar/navbar.component.mjs +15 -9
- package/esm2020/lib/app.component.mjs +2 -2
- package/fesm2015/esfaenza-core-components.mjs +16 -10
- package/fesm2015/esfaenza-core-components.mjs.map +1 -1
- package/fesm2015/esfaenza-core.mjs +2 -2
- package/fesm2015/esfaenza-core.mjs.map +1 -1
- package/fesm2020/esfaenza-core-components.mjs +16 -10
- package/fesm2020/esfaenza-core-components.mjs.map +1 -1
- package/fesm2020/esfaenza-core.mjs +2 -2
- package/fesm2020/esfaenza-core.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -585,8 +585,8 @@ class NavBarLoc extends LocalizationService {
|
|
|
585
585
|
super.set("it->en", "Al momento non c'è nulla in esecuzione", ["Nothing being executed at the moment"]);
|
|
586
586
|
super.set("it->en", "Job Completato", ["Job Completed"]);
|
|
587
587
|
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"]);
|
|
588
|
-
super.set("it->en", "Ripulisci la Cache di tutti
|
|
589
|
-
super.set("it->en", "Ripulisci le Preferenze
|
|
588
|
+
super.set("it->en", "Ripulisci la Cache di tutti", ["Clear Caches of everyone"]);
|
|
589
|
+
super.set("it->en", "Ripulisci le Preferenze di tutti", ["Clear Preferences of everyone"]);
|
|
590
590
|
}
|
|
591
591
|
}
|
|
592
592
|
NavBarLoc.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NavBarLoc, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -675,10 +675,10 @@ class Navbar extends ReactiveComponent {
|
|
|
675
675
|
}
|
|
676
676
|
});
|
|
677
677
|
this.notifications.observe(this.MessageDef.IN_ClearCache).pipe(takeUntil(this.destroyed$)).subscribe((message) => {
|
|
678
|
-
this.clearCacheClient();
|
|
678
|
+
this.clearCacheClient(false);
|
|
679
679
|
});
|
|
680
680
|
this.notifications.observe(this.MessageDef.IN_ClearPreferecnes).pipe(takeUntil(this.destroyed$)).subscribe((message) => {
|
|
681
|
-
this.clearUserPreferences();
|
|
681
|
+
this.clearUserPreferences(false);
|
|
682
682
|
});
|
|
683
683
|
}
|
|
684
684
|
checkIdentity() {
|
|
@@ -734,15 +734,21 @@ class Navbar extends ReactiveComponent {
|
|
|
734
734
|
else
|
|
735
735
|
window.location.href = `${myconfig.AuthUrl}/#/login;client=${myconfig.Client}`;
|
|
736
736
|
}
|
|
737
|
-
clearUserPreferences() {
|
|
737
|
+
clearUserPreferences(warn = true) {
|
|
738
738
|
this.prefsService.clear().subscribe();
|
|
739
|
-
|
|
739
|
+
if (warn)
|
|
740
|
+
this.msgExts.simpleSuccess(this.lc.loc("Preferenze utente ripulite"));
|
|
741
|
+
else
|
|
742
|
+
console.info("@esfaenza/core: Forceful preferecnes clear request received");
|
|
740
743
|
}
|
|
741
|
-
clearCacheClient() {
|
|
744
|
+
clearCacheClient(warn = true) {
|
|
742
745
|
this.cacheService.clear().subscribe();
|
|
743
746
|
this.http.resetHttpUntimedCacheStorage();
|
|
744
747
|
this.http.resetHttpTimedCacheStorage();
|
|
745
|
-
|
|
748
|
+
if (warn)
|
|
749
|
+
this.msgExts.simpleSuccess(this.lc.loc("Cache Ripulita"));
|
|
750
|
+
else
|
|
751
|
+
console.info("@esfaenza/core: Forceful cache clear request received");
|
|
746
752
|
}
|
|
747
753
|
clearCacheServer() {
|
|
748
754
|
this.http.get(GET_Cache_ClearAllCaches).subscribe(_ => {
|
|
@@ -777,10 +783,10 @@ class Navbar extends ReactiveComponent {
|
|
|
777
783
|
}
|
|
778
784
|
}
|
|
779
785
|
Navbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Navbar, deps: [{ token: i1$3.PreferencesService }, { token: i1$3.CacheService }, { token: i2$3.BaseMessageService }, { token: i2$3.NotificationsService }, { token: i2$1.MessageService }, { token: i1$2.LocalizationService }, { token: i2$2.HTTPService }, { token: i0.ChangeDetectorRef }, { token: i1.AppState }, { token: i1.TokenService }, { token: i1$1.Router }, { token: i1.CompletedJobRedirectionService }, { token: NAVBAR_EXTENSIONS }, { token: LOGIN_URL_LEGACY }], target: i0.ɵɵFactoryTarget.Component });
|
|
780
|
-
Navbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: Navbar, isStandalone: true, selector: "navbar", viewQueries: [{ propertyName: "navbar", first: true, predicate: ["navbar"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nav #navbar class=\"nav 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: 9px;\"></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-t-min-2\"><mat-slide-toggle [(ngModel)]=\"_state.notifyOnCompletedJobs\" (click)=\"clearMessages(); $event.stopPropagation();\"></mat-slide-toggle></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 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 i Client Connessi' | 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 Utente di tutti i Client Connessi' | 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 l'icona dell'utente -->\r\n<ng-template #userIcon let-context>\r\n <img src='../assets/img/users/user.jpg' alt=\"user-img\" class=\"img-circle user-img\">\r\n <img src='../assets/img/events/christmas.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.christmasTime\">\r\n <img src='../assets/img/events/halloween.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.halloweenTime\">\r\n</ng-template>\r\n\r\n<!-- Template per le informaizoni di debug: Ambiente, ruoli, permessi ecc -->\r\n<ng-template #debugInfos>\r\n <div>{{CurrentIdentity?.FullName}} - ({{CurrentIdentity?.TenantName}})</div>\r\n <div 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:white;margin:2px 0 0;padding:5px;border:1px solid #3e4d64}.nav-jobs-menu-header{background-color:#344154;padding:8px;font-size:14px;margin-top:-5px;margin-left:-5px;margin-right:-5px;display:flex}.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;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 #3e4d64;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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.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: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i10.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ProgressbarModule }, { kind: "component", type: i11.ProgressbarComponent, selector: "progressbar", inputs: ["max", "animate", "striped", "type", "value"] }, { kind: "directive", type: ComponentHostDirective, selector: "[componentHost]", inputs: ["componentHost", "Inputs"] }, { kind: "ngmodule", type: EsTableModule }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1$2.LocalizePipe, name: "localize" }, { kind: "ngmodule", type: AccessControlModule }, { kind: "directive", type: i5.AccessControlDirective, selector: "[ac]", inputs: ["ac", "acAbsolute"] }], viewProviders: [{ provide: LocalizationService, useClass: NavBarLoc }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
786
|
+
Navbar.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: Navbar, isStandalone: true, selector: "navbar", viewQueries: [{ propertyName: "navbar", first: true, predicate: ["navbar"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<nav #navbar class=\"nav 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: 9px;\"></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-t-min-2\"><mat-slide-toggle [(ngModel)]=\"_state.notifyOnCompletedJobs\" (click)=\"clearMessages(); $event.stopPropagation();\"></mat-slide-toggle></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 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 l'icona dell'utente -->\r\n<ng-template #userIcon let-context>\r\n <img src='../assets/img/users/user.jpg' alt=\"user-img\" class=\"img-circle user-img\">\r\n <img src='../assets/img/events/christmas.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.christmasTime\">\r\n <img src='../assets/img/events/halloween.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.halloweenTime\">\r\n</ng-template>\r\n\r\n<!-- Template per le informaizoni di debug: Ambiente, ruoli, permessi ecc -->\r\n<ng-template #debugInfos>\r\n <div>{{CurrentIdentity?.FullName}} - ({{CurrentIdentity?.TenantName}})</div>\r\n <div 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:white;margin:2px 0 0;padding:5px;border:1px solid #3e4d64}.nav-jobs-menu-header{background-color:#344154;padding:8px;font-size:14px;margin-top:-5px;margin-left:-5px;margin-right:-5px;display:flex}.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;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 #3e4d64;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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.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: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i10.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: ProgressbarModule }, { kind: "component", type: i11.ProgressbarComponent, selector: "progressbar", inputs: ["max", "animate", "striped", "type", "value"] }, { kind: "directive", type: ComponentHostDirective, selector: "[componentHost]", inputs: ["componentHost", "Inputs"] }, { kind: "ngmodule", type: EsTableModule }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1$2.LocalizePipe, name: "localize" }, { kind: "ngmodule", type: AccessControlModule }, { kind: "directive", type: i5.AccessControlDirective, selector: "[ac]", inputs: ["ac", "acAbsolute"] }], viewProviders: [{ provide: LocalizationService, useClass: NavBarLoc }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
781
787
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: Navbar, decorators: [{
|
|
782
788
|
type: Component,
|
|
783
|
-
args: [{ selector: "navbar", viewProviders: [{ provide: LocalizationService, useClass: NavBarLoc }], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [RouterLink, FormsModule, BsDropdownModule, MatSlideToggleModule, NgIf, NgFor, ProgressbarModule, ComponentHostDirective, NgTemplateOutlet, EsTableModule, LocalizationModule, AccessControlModule], 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: 9px;\"></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-t-min-2\"><mat-slide-toggle [(ngModel)]=\"_state.notifyOnCompletedJobs\" (click)=\"clearMessages(); $event.stopPropagation();\"></mat-slide-toggle></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 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 i Client Connessi' | 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 Utente di tutti i Client Connessi' | 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 l'icona dell'utente -->\r\n<ng-template #userIcon let-context>\r\n <img src='../assets/img/users/user.jpg' alt=\"user-img\" class=\"img-circle user-img\">\r\n <img src='../assets/img/events/christmas.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.christmasTime\">\r\n <img src='../assets/img/events/halloween.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.halloweenTime\">\r\n</ng-template>\r\n\r\n<!-- Template per le informaizoni di debug: Ambiente, ruoli, permessi ecc -->\r\n<ng-template #debugInfos>\r\n <div>{{CurrentIdentity?.FullName}} - ({{CurrentIdentity?.TenantName}})</div>\r\n <div 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:white;margin:2px 0 0;padding:5px;border:1px solid #3e4d64}.nav-jobs-menu-header{background-color:#344154;padding:8px;font-size:14px;margin-top:-5px;margin-left:-5px;margin-right:-5px;display:flex}.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;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 #3e4d64;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"] }]
|
|
789
|
+
args: [{ selector: "navbar", viewProviders: [{ provide: LocalizationService, useClass: NavBarLoc }], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [RouterLink, FormsModule, BsDropdownModule, MatSlideToggleModule, NgIf, NgFor, ProgressbarModule, ComponentHostDirective, NgTemplateOutlet, EsTableModule, LocalizationModule, AccessControlModule], 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: 9px;\"></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-t-min-2\"><mat-slide-toggle [(ngModel)]=\"_state.notifyOnCompletedJobs\" (click)=\"clearMessages(); $event.stopPropagation();\"></mat-slide-toggle></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 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 l'icona dell'utente -->\r\n<ng-template #userIcon let-context>\r\n <img src='../assets/img/users/user.jpg' alt=\"user-img\" class=\"img-circle user-img\">\r\n <img src='../assets/img/events/christmas.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.christmasTime\">\r\n <img src='../assets/img/events/halloween.png' alt=\"user-img\" class=\"img-circle user-img app-absolute app-right-0\" [style.right.px]=\"context?.right || undefined\" *ngIf=\"_state.halloweenTime\">\r\n</ng-template>\r\n\r\n<!-- Template per le informaizoni di debug: Ambiente, ruoli, permessi ecc -->\r\n<ng-template #debugInfos>\r\n <div>{{CurrentIdentity?.FullName}} - ({{CurrentIdentity?.TenantName}})</div>\r\n <div 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:white;margin:2px 0 0;padding:5px;border:1px solid #3e4d64}.nav-jobs-menu-header{background-color:#344154;padding:8px;font-size:14px;margin-top:-5px;margin-left:-5px;margin-right:-5px;display:flex}.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;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 #3e4d64;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"] }]
|
|
784
790
|
}], ctorParameters: function () {
|
|
785
791
|
return [{ type: i1$3.PreferencesService }, { type: i1$3.CacheService }, { type: i2$3.BaseMessageService }, { type: i2$3.NotificationsService }, { type: i2$1.MessageService }, { type: i1$2.LocalizationService }, { type: i2$2.HTTPService }, { type: i0.ChangeDetectorRef }, { type: i1.AppState }, { type: i1.TokenService }, { type: i1$1.Router }, { type: i1.CompletedJobRedirectionService }, { type: undefined, decorators: [{
|
|
786
792
|
type: Inject,
|