ng-inail-common 2.0.30 → 2.0.31-beta.11

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.
@@ -107,20 +107,20 @@
107
107
  }
108
108
  };
109
109
  BaseComponent.prototype.ngOnChanges = function (changes) {
110
- this.emitDebug('ngOnChanges');
110
+ this.emitDebug(this.logPrefix + " ngOnChanges");
111
111
  this.emitDebug(changes);
112
112
  };
113
113
  BaseComponent.prototype.ngOnInit = function () {
114
114
  var _this = this;
115
- this.emitDebug("ngOnInit");
116
- this.emitDebug("this");
115
+ this.emitDebug(this.logPrefix + " ngOnInit");
116
+ this.emitDebug(this.logPrefix + " this");
117
117
  this.emitDebug(this);
118
118
  if (this.detectChange) {
119
119
  this.push(this.detectChange.subscribe(function () { return _this.baseComponentCdr.detectChanges(); }));
120
120
  }
121
121
  };
122
122
  BaseComponent.prototype.ngOnDestroy = function () {
123
- this.emitDebug('ngOnDestroy');
123
+ this.emitDebug(this.logPrefix + " ngOnDestroy");
124
124
  this.subcriptions.forEach(function (s) { return s === null || s === void 0 ? void 0 : s.unsubscribe(); });
125
125
  };
126
126
  BaseComponent.prototype.emitLog = function (message) {
@@ -1098,6 +1098,7 @@
1098
1098
  return __generator(this, function (_d) {
1099
1099
  switch (_d.label) {
1100
1100
  case 0:
1101
+ this.emitDebug(this.logPrefix + " init");
1101
1102
  if (this.config.assetsUrl == undefined) {
1102
1103
  this.config.assetsUrl = this.config.intranet ? DEFAULT_ASSETS_INTRA_URL : DEFAULT_ASSETS_URL;
1103
1104
  }
@@ -1177,7 +1178,7 @@
1177
1178
  case 0:
1178
1179
  _c.trys.push([0, 2, , 3]);
1179
1180
  url = this.config.apiGatewayUrl + CHECKSESSION_URL;
1180
- this.emitDebug("Recupero matricola dipendente per Navigazione utente da " + url);
1181
+ this.emitDebug(this.logPrefix + " Recupero matricola dipendente per Navigazione utente da " + url);
1181
1182
  return [4 /*yield*/, this.get(url).toPromise()];
1182
1183
  case 1:
1183
1184
  response = _c.sent();
@@ -1186,15 +1187,15 @@
1186
1187
  matricola = response.User;
1187
1188
  }
1188
1189
  else if ((response === null || response === void 0 ? void 0 : response["http-status"]) === 403) {
1189
- this.emitWarn('Utente non autenticato!');
1190
+ this.emitWarn(this.logPrefix + " Utente non autenticato!");
1190
1191
  }
1191
1192
  else {
1192
- this.emitError("Errore nel recupero della matricola dipendente");
1193
+ this.emitError(this.logPrefix + " Errore nel recupero della matricola dipendente");
1193
1194
  }
1194
1195
  return [3 /*break*/, 3];
1195
1196
  case 2:
1196
1197
  e_1 = _c.sent();
1197
- this.emitError("Errore nel recupero della matricola dipendente");
1198
+ this.emitError(this.logPrefix + " Errore nel recupero della matricola dipendente");
1198
1199
  this.emitError(e_1);
1199
1200
  return [3 /*break*/, 3];
1200
1201
  case 3: return [2 /*return*/, matricola];
@@ -1215,12 +1216,12 @@
1215
1216
  _c.label = 2;
1216
1217
  case 2:
1217
1218
  _c.trys.push([2, 4, , 5]);
1218
- this.emitDebug("Recupero dati dipendente per Navigazione utente da " + url);
1219
+ this.emitDebug(this.logPrefix + " Recupero dati dipendente per Navigazione utente da " + url);
1219
1220
  return [4 /*yield*/, this.get(url).toPromise()];
1220
1221
  case 3:
1221
1222
  response = _c.sent();
1222
1223
  if (!response || !response.dipendente || response.dipendente.length == 0 || !response.dipendente[0]) {
1223
- this.emitError("Dipendente non trovato");
1224
+ this.emitError(this.logPrefix + " Dipendente non trovato");
1224
1225
  }
1225
1226
  else {
1226
1227
  datiDipendente = response.dipendente[0];
@@ -1228,7 +1229,7 @@
1228
1229
  return [3 /*break*/, 5];
1229
1230
  case 4:
1230
1231
  e_2 = _c.sent();
1231
- this.emitError("Errore nel recupero dei dati dipendente");
1232
+ this.emitError(this.logPrefix + " Errore nel recupero dei dati dipendente");
1232
1233
  this.emitError(e_2);
1233
1234
  return [3 /*break*/, 5];
1234
1235
  case 5: return [2 /*return*/, datiDipendente];
@@ -1584,11 +1585,6 @@
1584
1585
  var COLLAPSING_DURATION = 350;
1585
1586
  var AUTO_SHOW = 'auto';
1586
1587
  var FOCUSABLE_ITEMS_SELECTOR = 'ul.inail-menu > li > a:not([tabindex="-1"])';
1587
- var MenuItem = /** @class */ (function () {
1588
- function MenuItem() {
1589
- }
1590
- return MenuItem;
1591
- }());
1592
1588
  /**
1593
1589
  * Deep copy dell'oggetto MenuItem
1594
1590
  *
@@ -1747,9 +1743,17 @@
1747
1743
  && (_this.isCurrentPageItem(item)
1748
1744
  || (item.subItems && item.subItems.some(_this.isAutoShowItem))); };
1749
1745
  // -------------------------- Operatori recupero info item --------------------------
1750
- _this.getItemLink = function (item) { return internalCompatibility.isFunction(item.link) ? item.link() : item.link; };
1751
- _this.getItemLinkRegex = function (item) { return internalCompatibility.isFunction(item.linkRegex) ? item.linkRegex() : item.linkRegex; };
1752
- _this.getItemLabel = function (item) { return internalCompatibility.isFunction(item.label) ? item.label() : item.label; };
1746
+ _this.getPropertyValue = function (property) { return internalCompatibility.isFunction(property) ? property() : property; };
1747
+ // getItemLink = (item: MenuItem): string => isFunction(item.link) ? (item.link as GetStringFn)() : item.link;
1748
+ // getItemLinkRegex = (item: MenuItem): string => isFunction(item.linkRegex) ? (item.linkRegex as GetStringFn)() : item.linkRegex;
1749
+ // getItemLabel = (item: MenuItem): string => isFunction(item.label) ? (item.label as GetStringFn)() : item.label;
1750
+ // getItemTitle = (item: MenuItem): string => isFunction(item.title) ? (item.title as GetStringFn)() : item.title;
1751
+ // getItemAriaLabel = (item: MenuItem): string => isFunction(item.ariaLabel) ? (item.ariaLabel as GetStringFn)() : item.ariaLabel;
1752
+ _this.getItemLink = function (item) { return _this.getPropertyValue(item.link); };
1753
+ _this.getItemLinkRegex = function (item) { return _this.getPropertyValue(item.linkRegex); };
1754
+ _this.getItemLabel = function (item) { return _this.getPropertyValue(item.label); };
1755
+ _this.getItemTitle = function (item) { return _this.getPropertyValue(item.title); };
1756
+ _this.getItemAriaLabel = function (item) { return _this.getPropertyValue(item.ariaLabel); };
1753
1757
  // -------------------------- Operatori di utilita --------------------------
1754
1758
  /**
1755
1759
  * Verifica che l'url dato in input
@@ -2086,7 +2090,7 @@
2086
2090
  MenuComponent.decorators = [
2087
2091
  { type: core.Component, args: [{
2088
2092
  selector: 'inail-menu',
2089
- template: "<ng-container *ngIf=\"inizializzazioneCompletata\">\n\n <ul #menu\n id=\"{{id}}\"\n [attr.role]=\"'menu'\"\n class=\"inail-menu {{class}}\"\n [ngStyle]=\"{'height.px': (menuHeight$ | async)}\"\n [ngClass]=\"{'livello_2': innerMenu, 'collapsed': isCollapsed()}\">\n\n <debug-pre *ngIf=\"showState\">[inail-menu-intranet]<br>\n <state-propertie [label]=\"'id'\" [propertie]=\"id\"></state-propertie>\n <state-propertie [label]=\"'innerMenu'\" [propertie]=\"innerMenu\"></state-propertie>\n <state-propertie [label]=\"'collapsible'\" [propertie]=\"collapsible\"></state-propertie>\n <state-propertie [label]=\"'collapsed'\" [propertie]=\"collapsed\"></state-propertie>\n <state-propertie [label]=\"'collapseOther'\" [propertie]=\"collapseOther\"></state-propertie>\n <!-- {{elements | json}}-->\n </debug-pre>\n\n <ng-container *ngFor=\"let item of items\">\n\n <li *ngIf=\"showItem(item)\"\n [attr.role]=\"item.link ? 'menuitem' : undefined\"\n [ngClass]=\"{selected: isActive(item)}\"\n class=\"livello_1\">\n <a *ngIf=\"item.link\"\n [id]=\"item.id\"\n [attr.tabindex]=\"isCollapsed() ? '-1' : '0'\"\n [routerLink]=\"getItemLink(item)\"\n [queryParams]=\"item.queryParams\"\n [innerHTML]=\"getItemLabel(item)\"\n [attr.aria-expanded]=\"isItemCollapsible(item) ? !item.collapsed : undefined\"\n (click)=\"itemOnClick(item)\"\n (keyup.arrowUp)=\"itemOnArrowUp()\"\n (keyup.arrowDown)=\"itemOnArrowDown()\"\n (keyup.space)=\"itemOnClick($event)\">\n </a>\n <a *ngIf=\"!item.link\"\n [id]=\"item.id\"\n [attr.tabindex]=\"isCollapsed() ? '-1' : '0'\"\n role=\"button\"\n [innerHTML]=\"getItemLabel(item)\"\n [attr.aria-expanded]=\"isItemCollapsible(item) ? !item.collapsed : undefined\"\n (click)=\"itemOnClick(item)\"\n (keyup.arrowUp)=\"itemOnArrowUp()\"\n (keyup.arrowDown)=\"itemOnArrowDown()\"\n (keyup.enter)=\"itemOnClick(item)\"\n (keyup.space)=\"itemOnClick(item)\">\n </a>\n <debug-pre *ngIf=\"showState\">[menu-item]<br>\n <state-propertie [label]=\"'id'\" [propertie]=\"item.id\"></state-propertie>\n <state-propertie [label]=\"'collapsible'\" [propertie]=\"item.collapsible\"></state-propertie>\n <state-propertie [label]=\"'collapsed'\" [propertie]=\"item.collapsed\"></state-propertie>\n <!-- {{element | json}}-->\n </debug-pre>\n <inail-menu *ngIf=\"hasSubItems(item)\"\n [id]=\"item.id+'-items'\"\n [activeItem]=\"activeItem\"\n [items]=\"item.subItems\"\n [parent]=\"item\"\n [innerMenu]=\"true\"\n [emitCurrent]=\"emitCurrent\"\n [collapsible]=\"item.collapsible\"\n [collapsed]=\"item.collapsed\"\n [collapseOther]=\"collapseOther\"\n [collapse]=\"collapse\"\n [toggle]=\"toggle\"\n [show]=\"mostraItem\"\n [showState]=\"showState\"\n (select)=\"select.emit($event)\"\n (currentItem)=\"currentItemHandler($event, item)\">\n </inail-menu>\n </li>\n </ng-container>\n </ul>\n</ng-container>\n\n\n",
2093
+ template: "<ng-container *ngIf=\"inizializzazioneCompletata\">\n\n <ul #menu\n id=\"{{id}}\"\n [attr.role]=\"'menu'\"\n class=\"inail-menu {{class}}\"\n [ngStyle]=\"{'height.px': (menuHeight$ | async)}\"\n [ngClass]=\"{'livello_2': innerMenu, 'collapsed': isCollapsed()}\">\n\n <debug-pre *ngIf=\"showState\">[inail-menu-intranet]<br>\n <state-propertie [label]=\"'id'\" [propertie]=\"id\"></state-propertie>\n <state-propertie [label]=\"'innerMenu'\" [propertie]=\"innerMenu\"></state-propertie>\n <state-propertie [label]=\"'collapsible'\" [propertie]=\"collapsible\"></state-propertie>\n <state-propertie [label]=\"'collapsed'\" [propertie]=\"collapsed\"></state-propertie>\n <state-propertie [label]=\"'collapseOther'\" [propertie]=\"collapseOther\"></state-propertie>\n <!-- {{elements | json}}-->\n </debug-pre>\n\n <ng-container *ngFor=\"let item of items\">\n\n <li *ngIf=\"showItem(item)\"\n [attr.role]=\"item.link ? 'menuitem' : undefined\"\n [ngClass]=\"{seleacted: isActive(item)}\"\n class=\"livello_1\">\n <a *ngIf=\"item.link\"\n [id]=\"item.id\"\n [attr.title]=\"getItemTitle(item)\"\n [attr.aria-label]=\"getItemAriaLabel(item)\"\n [attr.tabindex]=\"isCollapsed() ? '-1' : '0'\"\n [routerLink]=\"getItemLink(item)\"\n [queryParams]=\"item.queryParams\"\n [innerHTML]=\"getItemLabel(item)\"\n [attr.aria-expanded]=\"isItemCollapsible(item) ? !item.collapsed : undefined\"\n (click)=\"itemOnClick(item)\"\n (keyup.arrowUp)=\"itemOnArrowUp()\"\n (keyup.arrowDown)=\"itemOnArrowDown()\"\n (keyup.space)=\"itemOnClick($event)\">\n </a>\n <a *ngIf=\"!item.link\"\n [id]=\"item.id\"\n [attr.title]=\"getItemTitle(item)\"\n [attr.aria-label]=\"getItemAriaLabel(item)\"\n [attr.tabindex]=\"isCollapsed() ? '-1' : '0'\"\n role=\"button\"\n [innerHTML]=\"getItemLabel(item)\"\n [attr.aria-expanded]=\"isItemCollapsible(item) ? !item.collapsed : undefined\"\n (click)=\"itemOnClick(item)\"\n (keyup.arrowUp)=\"itemOnArrowUp()\"\n (keyup.arrowDown)=\"itemOnArrowDown()\"\n (keyup.enter)=\"itemOnClick(item)\"\n (keyup.space)=\"itemOnClick(item)\">\n </a>\n <debug-pre *ngIf=\"showState\">[menu-item]<br>\n <state-propertie [label]=\"'id'\" [propertie]=\"item.id\"></state-propertie>\n <state-propertie [label]=\"'collapsible'\" [propertie]=\"item.collapsible\"></state-propertie>\n <state-propertie [label]=\"'collapsed'\" [propertie]=\"item.collapsed\"></state-propertie>\n <!-- {{element | json}}-->\n </debug-pre>\n <inail-menu *ngIf=\"hasSubItems(item)\"\n [id]=\"item.id+'-items'\"\n [activeItem]=\"activeItem\"\n [items]=\"item.subItems\"\n [parent]=\"item\"\n [innerMenu]=\"true\"\n [emitCurrent]=\"emitCurrent\"\n [collapsible]=\"item.collapsible\"\n [collapsed]=\"item.collapsed\"\n [collapseOther]=\"collapseOther\"\n [collapse]=\"collapse\"\n [toggle]=\"toggle\"\n [show]=\"mostraItem\"\n [showState]=\"showState\"\n (select)=\"select.emit($event)\"\n (currentItem)=\"currentItemHandler($event, item)\">\n </inail-menu>\n </li>\n </ng-container>\n </ul>\n</ng-container>\n\n\n",
2090
2094
  encapsulation: core.ViewEncapsulation.None,
2091
2095
  styles: ["ul.inail-menu{padding:0 10px!important;overflow:hidden;transition:height .3s ease-out}ul.inail-menu.collapsed{height:0}ul.inail-menu ul{padding:0!important}"]
2092
2096
  },] }
@@ -2266,6 +2270,7 @@
2266
2270
  */
2267
2271
  _this.datiDipendente = new core.EventEmitter();
2268
2272
  _this.breadcrumbEsterno = true;
2273
+ _this.pleaseWaitEsterno = true;
2269
2274
  // Gestione risorse e script esterni
2270
2275
  _this.risorseEsterneCounter = 0;
2271
2276
  _this.scriptEsterniCounter = 0;
@@ -2382,6 +2387,7 @@
2382
2387
  var _this = this;
2383
2388
  var _a;
2384
2389
  this.breadcrumbEsterno = this.breadcrumbContainer ? this.breadcrumbContainer.nativeElement.childElementCount > 0 : false;
2390
+ this.pleaseWaitEsterno = this.pleaseWaitContainer ? isNotBlankOrNull(this.pleaseWaitContainer.nativeElement.innerHTML) : false;
2385
2391
  if (((_a = this.menuList) === null || _a === void 0 ? void 0 : _a.length) > 0) {
2386
2392
  this.menuList.forEach(function (menu) {
2387
2393
  _this.push(menu.currentItem.subscribe(function (currentElement) {
@@ -2428,7 +2434,8 @@
2428
2434
  _c.trys.push([0, 2, , 3]);
2429
2435
  url = (!isAbsolute(this.config.apiGatewayUrl) ? (this.config.domainUrl || '') : '')
2430
2436
  + (this.config.apiGatewayUrl || API_DEFAULT_URL)
2431
- + '/.well-known/inail-configuration';
2437
+ + '/global-config';
2438
+ // + '/.well-known/inail-configuration'; // deprecato
2432
2439
  this.emitDebug("Recupero cdn endpoint da: " + url);
2433
2440
  return [4 /*yield*/, this.http.get(url, { withCredentials: true }).toPromise()];
2434
2441
  case 1:
@@ -2634,10 +2641,10 @@
2634
2641
  InailLayoutComponent.decorators = [
2635
2642
  { type: core.Component, args: [{
2636
2643
  selector: 'inail-layout',
2637
- template: "<inail-loader [show]=\"showLoader\"></inail-loader>\n<debug-pre *ngIf=\"showState\">[inail-layout]<br>\n <state-propertie [label]=\"'config'\" [propertie]=\"config\"></state-propertie>\n <state-propertie [label]=\"'infoDipendente'\" [propertie]=\"infoDipendente\"></state-propertie>\n <state-propertie [label]=\"'inizializzazioneTerminata'\" [propertie]=\"inizializzazioneTerminata\"></state-propertie>\n <state-propertie [label]=\"'caricamentoRisorseEsterneTerminato'\" [propertie]=\"caricamentoRisorseEsterneTerminato\"></state-propertie>\n <state-propertie [label]=\"'caricamentoScriptEsterniTerminato'\" [propertie]=\"caricamentoScriptEsterniTerminato\"></state-propertie>\n <state-propertie [label]=\"'itsReady'\" [propertie]=\"itsReady()\"></state-propertie>\n <state-propertie [label]=\"'breadcrumbEsterno'\" [propertie]=\"breadcrumbEsterno\"></state-propertie>\n <state-propertie [label]=\"'paginaCorrente'\" [propertie]=\"paginaCorrente\"></state-propertie>\n</debug-pre>\n<div *ngIf=\"!itsReady()\" class=\"please-wait\">\n <div *ngIf=\"config?.appName\" class=\"app-name\">{{config.appName}}</div>\n <div>Caricamento in corso ...</div>\n</div>\n<ng-content *ngIf=\"!itsReady()\"\n select=\"[please-wait]\">\n</ng-content>\n<div class=\"container\"\n [hidden]=\"!itsReady()\"\n [ngClass]=\"{'wide' : config && config.containerWide}\">\n\n <header id=\"inail-header\"\n *ngIf=\"inizializzazioneTerminata\"\n [config]=\"headerConfig\"\n [showState]=\"false\"\n [infoDipendente]=\"this.infoDipendente\"\n [logOnConsole]=\"this.logOnConsole\"\n (checksession)=\"checksession.emit($event)\"\n (datiDipendente)=\"datiDipendente.emit($event)\"\n (log)=\"emit($event)\">\n </header>\n\n <!-- Breadcrumb -->\n <div class=\"row breadcrumbs internet-breadcrumb\"\n aria-label=\"Breadcrumb\"\n #breadcrumbContainer>\n <ng-container *ngIf=\"breadcrumbEsterno\" breadcrumb>\n <ng-content select=\"[breadcrumb]\"></ng-content>\n </ng-container>\n <inail-breadcrumb *ngIf=\"!breadcrumbEsterno\"\n [logOnConsole]=\"this.logOnConsole\"\n [currentPage]=\"paginaCorrente\"\n (log)=\"emit($event)\">\n </inail-breadcrumb>\n </div>\n\n <inail-trigger-slider-menu-button (click)=\"toggleNavSecondaria.emit()\"></inail-trigger-slider-menu-button>\n\n <div class=\"row\">\n\n <inail-navigazione-secondaria [toggle]=\"toggleNavSecondaria\"\n [logOnConsole]=\"logOnConsole\"\n (log)=\"emit($event)\">\n\n <ng-container sidebar-superiore>\n <ng-content select=\"[sidebar-superiore]\"></ng-content>\n </ng-container>\n\n <ng-container sidebar-inferiore>\n <ng-content select=\"[sidebar-inferiore]\"></ng-content>\n </ng-container>\n\n </inail-navigazione-secondaria>\n\n <main *ngIf=\"inizializzazioneTerminata\"\n id=\"contenutoprincipale\" class=\"col-xs-12 col-sm-8 col-lg-9\">\n\n <div class=\"row\">\n <div class=\"content\">\n\n <ng-content select=\"[main-content]\"></ng-content>\n\n </div>\n </div>\n\n </main>\n\n </div>\n <inail-footer *ngIf=\"inizializzazioneTerminata\"\n [url]=\"config?.footerUrl\"\n [html]=\"config?.footerHtml\"\n [domainUrl]=\"config?.domainUrl\"\n [cdnEndpoint]=\"config?.cdnEndpoint\"\n [assetsUrl]=\"config?.assetsUrl\"\n [logOnConsole]=\"this.logOnConsole\"\n (log)=\"emit($event)\">\n </inail-footer>\n</div>\n",
2644
+ template: "<inail-loader [show]=\"showLoader\"></inail-loader>\n<debug-pre *ngIf=\"showState\">[inail-layout]<br>\n <state-propertie [label]=\"'config'\" [propertie]=\"config\"></state-propertie>\n <state-propertie [label]=\"'infoDipendente'\" [propertie]=\"infoDipendente\"></state-propertie>\n <state-propertie [label]=\"'inizializzazioneTerminata'\" [propertie]=\"inizializzazioneTerminata\"></state-propertie>\n <state-propertie [label]=\"'caricamentoRisorseEsterneTerminato'\" [propertie]=\"caricamentoRisorseEsterneTerminato\"></state-propertie>\n <state-propertie [label]=\"'caricamentoScriptEsterniTerminato'\" [propertie]=\"caricamentoScriptEsterniTerminato\"></state-propertie>\n <state-propertie [label]=\"'itsReady'\" [propertie]=\"itsReady()\"></state-propertie>\n <state-propertie [label]=\"'breadcrumbEsterno'\" [propertie]=\"breadcrumbEsterno\"></state-propertie>\n <state-propertie [label]=\"'paginaCorrente'\" [propertie]=\"paginaCorrente\"></state-propertie>\n</debug-pre>\n<div class=\"inail-layout\">\n <div *ngIf=\"!itsReady()\" #pleaseWaitContainer>\n <ng-container *ngIf=\"pleaseWaitEsterno; else defaultPleaseWait\">\n <ng-content select=\"[please-wait]\"></ng-content>\n </ng-container>\n <ng-template #defaultPleaseWait>\n <div *ngIf=\"!pleaseWaitEsterno\" class=\"please-wait\">\n <div *ngIf=\"config?.appName\" class=\"app-name\">{{config.appName}}</div>\n <div>Caricamento...</div>\n </div>\n </ng-template>\n </div>\n <div class=\"container\"\n [hidden]=\"!itsReady()\"\n [ngClass]=\"{'wide' : config && config.containerWide}\">\n\n <header id=\"inail-header\"\n *ngIf=\"inizializzazioneTerminata\"\n [config]=\"headerConfig\"\n [showState]=\"false\"\n [infoDipendente]=\"this.infoDipendente\"\n [logOnConsole]=\"this.logOnConsole\"\n (checksession)=\"checksession.emit($event)\"\n (datiDipendente)=\"datiDipendente.emit($event)\"\n (log)=\"emit($event)\">\n </header>\n\n <!-- Breadcrumb -->\n <div class=\"row breadcrumbs internet-breadcrumb\"\n aria-label=\"Breadcrumb\"\n #breadcrumbContainer>\n <ng-container *ngIf=\"breadcrumbEsterno\">\n <ng-content select=\"[breadcrumb]\"></ng-content>\n </ng-container>\n <inail-breadcrumb *ngIf=\"!breadcrumbEsterno\"\n [logOnConsole]=\"this.logOnConsole\"\n [currentPage]=\"paginaCorrente\"\n (log)=\"emit($event)\">\n </inail-breadcrumb>\n </div>\n\n <inail-trigger-slider-menu-button (click)=\"toggleNavSecondaria.emit()\"></inail-trigger-slider-menu-button>\n\n <div class=\"row\">\n\n <inail-navigazione-secondaria [toggle]=\"toggleNavSecondaria\"\n [logOnConsole]=\"logOnConsole\"\n (log)=\"emit($event)\">\n\n <ng-container sidebar-superiore>\n <ng-content select=\"[sidebar-superiore]\"></ng-content>\n </ng-container>\n\n <ng-container sidebar-inferiore>\n <ng-content select=\"[sidebar-inferiore]\"></ng-content>\n </ng-container>\n\n </inail-navigazione-secondaria>\n\n <main *ngIf=\"inizializzazioneTerminata\"\n id=\"contenutoprincipale\" class=\"col-xs-12 col-sm-8 col-lg-9\">\n\n <div class=\"row\">\n <div class=\"content\">\n\n <ng-content select=\"[main-content]\"></ng-content>\n\n </div>\n </div>\n\n </main>\n\n </div>\n <inail-footer *ngIf=\"inizializzazioneTerminata\"\n [url]=\"config?.footerUrl\"\n [html]=\"config?.footerHtml\"\n [domainUrl]=\"config?.domainUrl\"\n [cdnEndpoint]=\"config?.cdnEndpoint\"\n [assetsUrl]=\"config?.assetsUrl\"\n [logOnConsole]=\"this.logOnConsole\"\n (log)=\"emit($event)\">\n </inail-footer>\n </div>\n</div>\n",
2638
2645
  changeDetection: CHANGE_DETECTION_STRATEGY,
2639
2646
  encapsulation: core.ViewEncapsulation.None,
2640
- styles: [".container.wide{max-width:100%!important}.please-wait div{text-align:center;font-size:14.4333px!important;line-height:1.42857143;font-family:sans-serif!important}div.please-wait div.app-name{margin-top:100px;color:#002e5f!important;font-size:24px!important}"]
2647
+ styles: [".inail-layout .container.wide{max-width:100%!important}.inail-layout .please-wait div{text-align:center;font-size:14.4333px!important;line-height:1.42857143;font-family:sans-serif!important}.inail-layout div.please-wait div.app-name{margin-top:100px;color:#002e5f!important;font-size:24px!important}.inail-layout div.please-wait .spinner-container{display:flex;justify-content:center}"]
2641
2648
  },] }
2642
2649
  ];
2643
2650
  InailLayoutComponent.ctorParameters = function () { return [
@@ -2655,6 +2662,7 @@
2655
2662
  checksession: [{ type: core.Output }],
2656
2663
  datiDipendente: [{ type: core.Output }],
2657
2664
  breadcrumbContainer: [{ type: core.ViewChild, args: ['breadcrumbContainer',] }],
2665
+ pleaseWaitContainer: [{ type: core.ViewChild, args: ['pleaseWaitContainer',] }],
2658
2666
  menuList: [{ type: core.ContentChildren, args: [MenuComponent,] }],
2659
2667
  onClick: [{ type: core.HostListener, args: ['click', ['$event.target'],] }]
2660
2668
  };
@@ -5264,7 +5272,7 @@
5264
5272
  __extends(TableComponent, _super);
5265
5273
  function TableComponent(cdr, renderer, libConfig) {
5266
5274
  var _this = this;
5267
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
5275
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
5268
5276
  _this = _super.call(this, cdr, libConfig) || this;
5269
5277
  _this.cdr = cdr;
5270
5278
  _this.renderer = renderer;
@@ -5284,7 +5292,9 @@
5284
5292
  _this.pagination = new core.EventEmitter();
5285
5293
  _this.tallRows = getConfigValue((_h = (_g = _this.libConfig) === null || _g === void 0 ? void 0 : _g.tableComponent) === null || _h === void 0 ? void 0 : _h.tallRows, false);
5286
5294
  _this.captionHidden = getConfigValue((_k = (_j = _this.libConfig) === null || _j === void 0 ? void 0 : _j.tableComponent) === null || _k === void 0 ? void 0 : _k.captionHidden, false);
5287
- _this.bgWhite = getConfigValue((_m = (_l = _this.libConfig) === null || _l === void 0 ? void 0 : _l.tableComponent) === null || _m === void 0 ? void 0 : _m.bgWhite, true);
5295
+ _this.showFullListSize = getConfigValue((_m = (_l = _this.libConfig) === null || _l === void 0 ? void 0 : _l.tableComponent) === null || _m === void 0 ? void 0 : _m.showFullListSize, false);
5296
+ _this.fullListSizeText = getConfigValue((_p = (_o = _this.libConfig) === null || _o === void 0 ? void 0 : _o.tableComponent) === null || _p === void 0 ? void 0 : _p.fullListSizeText, "Elementi totali:");
5297
+ _this.bgWhite = getConfigValue((_r = (_q = _this.libConfig) === null || _q === void 0 ? void 0 : _q.tableComponent) === null || _r === void 0 ? void 0 : _r.bgWhite, true);
5288
5298
  _this.detailsClick = new core.EventEmitter();
5289
5299
  _this.checkedRowsChange = new core.EventEmitter();
5290
5300
  _this.visualizzaBaseFooter = true;
@@ -5297,6 +5307,7 @@
5297
5307
  _this.getPageSize = function () { return _this.externalPaginationSorting ? _this.paginationState.pageSize : _this.tableLength; };
5298
5308
  _this.getListSize = function () { return _this.externalPaginationSorting ? _this.paginationState.fullListSize : _this.dataSource.length; };
5299
5309
  _this.getCurrentPage = function () { return _this.externalPaginationSorting && _this.paginationState ? _this.paginationState.pageNumber : _this.currentPage; };
5310
+ _this.getFullListSize = function () { var _a, _b; return _this.externalPaginationSorting ? (_a = _this.paginationState) === null || _a === void 0 ? void 0 : _a.fullListSize : (_b = _this.dataSource) === null || _b === void 0 ? void 0 : _b.length; };
5300
5311
  // Operatori per gestione selezione righe
5301
5312
  _this.isChecked = function (trcbValue) { return _this.righeSelezionate.some(function (value) { return value == trcbValue; }); };
5302
5313
  _this.isAllChecked = function () { return _this.righeSelezionabili.length > 0 && _this.righeSelezionabili.every(_this.isChecked); };
@@ -5777,10 +5788,10 @@
5777
5788
  TableComponent.decorators = [
5778
5789
  { type: core.Component, args: [{
5779
5790
  selector: 'inail-table',
5780
- template: "<div class=\"tabella table-responsive inail-table {{getResponsiveClass()}} noPaddingLeft {{class}} noPaddingRight\">\n\n <h3 *ngIf=\"title\"\n class=\"col-xs-9 table-title pull-left noPaddingLeft {{titleClass}}\"\n [innerHTML]=\"title\">\n </h3>\n\n <a *ngIf=\"detailsLink\"\n href=\"javascript:void(0)\"\n (click)=\"detailsClick.emit()\"\n class=\"col-xs-3 col-sm-2 linkDettagli pull-right\"\n [innerHTML]=\"detailsLink\">\n </a>\n\n <div *ngIf=\"description\"\n class=\"col-xs-12 caption marginBottom noPaddingLeft\"\n [innerHTML]=\"description\">\n </div>\n\n <inail-table-page-length-selector *ngIf=\"visualizzaPaginazione()\"\n [value]=\"getPageSize()\"\n [tableId]=\"id\"\n [options]=\"elementsPerPageOptions\"\n (valueChange)=\"lengthOnChange($event)\"\n [logOnConsole]=\"logOnConsole\"\n (log)=\"log.emit($event)\">\n </inail-table-page-length-selector>\n\n <ng-container *ngIf=\"true\">\n\n <table id=\"{{id}}\"\n class=\"table display dataTable {{tableClass}}\"\n [ngClass]=\"{'tabella-base': !tallRows, 'bg-white': bgWhite, 'bg-transparent': !bgWhite}\">\n\n <caption *ngIf=\"caption\"\n [ngClass]=\"{'sr-only': captionHidden}\"\n [innerHTML]=\"caption\">\n </caption>\n\n <ng-content select=\"thead\"></ng-content>\n\n <ng-container *ngIf=\"!noDataFound\">\n <ng-content select=\"tbody\"></ng-content>\n </ng-container>\n\n <tbody *ngIf=\"noDataFound\">\n <tr role=\"row\">\n <td class=\"content-text\"\n style=\"padding: 30px; text-align: center\"\n [colSpan]=\"numeroColonne\"\n [innerHTML]=\"noDataFoundText\">\n </td>\n </tr>\n </tbody>\n </table>\n\n <div #baseFooter\n class=\"col-xs-12 baseFooter noPaddingLeft\"\n *ngIf=\"visualizzaBaseFooter\">\n <ng-content select=\"[baseFooter]\"></ng-content>\n </div>\n\n </ng-container>\n\n <inail-table-page-selector *ngIf=\"visualizzaPaginazione() && !this.noDataFound\"\n [listSize]=\"getListSize()\"\n [pageSize]=\"getPageSize()\"\n [currentPage]=\"getCurrentPage()\"\n [tableId]=\"id\"\n (select)=\"pageOnChange($event)\"\n [logOnConsole]=\"logOnConsole\"\n (log)=\"log.emit($event)\">\n </inail-table-page-selector>\n\n</div>\n",
5791
+ template: "<div class=\"tabella table-responsive inail-table {{getResponsiveClass()}} noPaddingLeft {{class}} noPaddingRight\">\n\n <h3 *ngIf=\"title\"\n class=\"col-xs-9 table-title pull-left noPaddingLeft {{titleClass}}\"\n [innerHTML]=\"title\">\n </h3>\n\n <a *ngIf=\"detailsLink\"\n href=\"javascript:void(0)\"\n (click)=\"detailsClick.emit()\"\n class=\"col-xs-3 col-sm-2 linkDettagli pull-right\"\n [innerHTML]=\"detailsLink\">\n </a>\n\n <div *ngIf=\"description\"\n class=\"col-xs-12 caption marginBottom noPaddingLeft\"\n [innerHTML]=\"description\">\n </div>\n\n <div *ngIf=\"showFullListSize\"\n class=\"total-elements\">\n <span [innerHTML]=\"fullListSizeText\"></span> {{getFullListSize() || 0}}\n </div>\n\n <inail-table-page-length-selector *ngIf=\"visualizzaPaginazione()\"\n [value]=\"getPageSize()\"\n [tableId]=\"id\"\n [options]=\"elementsPerPageOptions\"\n (valueChange)=\"lengthOnChange($event)\"\n [logOnConsole]=\"logOnConsole\"\n (log)=\"log.emit($event)\">\n </inail-table-page-length-selector>\n\n <ng-container *ngIf=\"true\">\n\n <table id=\"{{id}}\"\n class=\"table display dataTable {{tableClass}}\"\n [ngClass]=\"{'tabella-base': !tallRows, 'bg-white': bgWhite, 'bg-transparent': !bgWhite}\">\n\n <caption *ngIf=\"caption\"\n [ngClass]=\"{'sr-only': captionHidden}\"\n [innerHTML]=\"caption\">\n </caption>\n\n <ng-content select=\"thead\"></ng-content>\n\n <ng-container *ngIf=\"!noDataFound\">\n <ng-content select=\"tbody\"></ng-content>\n </ng-container>\n\n <tbody *ngIf=\"noDataFound\">\n <tr role=\"row\">\n <td class=\"content-text\"\n style=\"padding: 30px; text-align: center\"\n [colSpan]=\"numeroColonne\"\n [innerHTML]=\"noDataFoundText\">\n </td>\n </tr>\n </tbody>\n </table>\n\n <div #baseFooter\n class=\"col-xs-12 baseFooter noPaddingLeft\"\n *ngIf=\"visualizzaBaseFooter\">\n <ng-content select=\"[baseFooter]\"></ng-content>\n </div>\n\n </ng-container>\n\n <inail-table-page-selector *ngIf=\"visualizzaPaginazione() && !this.noDataFound\"\n [listSize]=\"getListSize()\"\n [pageSize]=\"getPageSize()\"\n [currentPage]=\"getCurrentPage()\"\n [tableId]=\"id\"\n (select)=\"pageOnChange($event)\"\n [logOnConsole]=\"logOnConsole\"\n (log)=\"log.emit($event)\">\n </inail-table-page-selector>\n\n</div>\n",
5781
5792
  changeDetection: CHANGE_DETECTION_STRATEGY,
5782
5793
  encapsulation: core.ViewEncapsulation.None,
5783
- styles: [".inail-table a.linkDettagli{color:#106cdb;-webkit-text-decoration-line:none;text-decoration-line:none}.inail-table a.linkDettagli:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.inail-table table.table.dataTable.bg-white>tbody>tr:not(:hover){background-color:#fff}.inail-table table.table.dataTable.bg-transparent>tbody>tr:not(:hover){background-color:initial}"]
5794
+ styles: [".inail-table a.linkDettagli{color:#106cdb;-webkit-text-decoration-line:none;text-decoration-line:none}.inail-table a.linkDettagli:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.inail-table table.table.dataTable.bg-white>tbody>tr:not(:hover){background-color:#fff}.inail-table table.table.dataTable.bg-transparent>tbody>tr:not(:hover){background-color:initial}.inail-table .total-elements{float:left;padding-top:12px}"]
5784
5795
  },] }
5785
5796
  ];
5786
5797
  TableComponent.ctorParameters = function () { return [
@@ -5804,6 +5815,8 @@
5804
5815
  tallRows: [{ type: core.Input }],
5805
5816
  caption: [{ type: core.Input }],
5806
5817
  captionHidden: [{ type: core.Input }],
5818
+ showFullListSize: [{ type: core.Input }],
5819
+ fullListSizeText: [{ type: core.Input }],
5807
5820
  bgWhite: [{ type: core.Input }],
5808
5821
  description: [{ type: core.Input }],
5809
5822
  tableClass: [{ type: core.Input }],
@@ -6742,6 +6755,34 @@
6742
6755
  ev.preventDefault();
6743
6756
  }
6744
6757
  };
6758
+ InputTimeComponent.prototype.onFocusOut = function () {
6759
+ this.completaValoreInInput();
6760
+ };
6761
+ InputTimeComponent.prototype.completaParteOrario = function (value) {
6762
+ if (isBlankOrNull(value)) {
6763
+ value = '00';
6764
+ }
6765
+ else if (value.length == 1) {
6766
+ value = "0" + value;
6767
+ }
6768
+ return value;
6769
+ };
6770
+ InputTimeComponent.prototype.completaValoreInInput = function () {
6771
+ if (isNotBlankOrNull(this.inputValue) && (this.inputValue.length < 5 || (this.withSeconds && this.inputValue.length < 8))) {
6772
+ var partiOrario = this.inputValue.split(':');
6773
+ var numeroParti = this.withSeconds ? 3 : 2;
6774
+ for (var i = 0; i < numeroParti; i++) {
6775
+ partiOrario[i] = this.completaParteOrario(partiOrario[i]);
6776
+ }
6777
+ var value = partiOrario[0] + ":" + partiOrario[1];
6778
+ if (partiOrario[2]) {
6779
+ value = value + ":" + partiOrario[2];
6780
+ }
6781
+ if (value && this.isValidValue(value)) {
6782
+ this.setValue(value);
6783
+ }
6784
+ }
6785
+ };
6745
6786
  InputTimeComponent.prototype.ngOnDestroy = function () {
6746
6787
  _super.prototype.ngOnDestroy.call(this);
6747
6788
  };
@@ -6750,7 +6791,7 @@
6750
6791
  InputTimeComponent.decorators = [
6751
6792
  { type: core.Component, args: [{
6752
6793
  selector: 'inail-input-time',
6753
- template: "<div class=\"form-group {{getResponsiveClass()}} noPaddingLeft {{class}} inail-input-time\"\n [ngClass]=\"{'has-error': isThereError()}\">\n <label *ngIf=\"label\"\n class=\"control-label {{labelClass}}\"\n [ngClass]=\"{'sr-only': hiddenLabel}\"\n [attr.title]=\"labelTitle\"\n [for]=\"id\"\n [innerHTML]=\"getLabel()\"></label>\n <span *ngIf=\"showPopover()\"\n [style.padding-left.px]=\"5\">\n <inail-popover [iconClass]=\"popoverButtonIcon\"\n [buttonTitle]=\"popoverButtonTitle\"\n [header]=\"popoverHeader\"\n [content]=\"popoverContent\">\n </inail-popover>\n </span>\n <div class=\"form-control-wrapper\"\n [ngClass]=\"{'no-label' : hiddenLabel || !label}\">\n <input #formControl\n [id]=\"id\"\n [attr.type]=\"getType()\"\n [attr.step]=\"getStep()\"\n class=\"form-control {{inputClass}}\"\n [ngClass]=\"{'disabled': disabled}\"\n [attr.name]=\"name\"\n [attr.title]=\"title\"\n [attr.maxlength]=\"getMaxLength()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.placeholder]=\"placeholderVisualizzato\"\n [attr.aria-required]=\"required === true ? true : undefined\"\n [attr.aria-invalid]=\"isThereError() === true ? true : undefined\"\n [attr.aria-describedBy]=\"getAriaDescribedBy()\"\n (blur)=\"onBlur()\"\n (keydown)=\"onKeyDown($event)\"\n (paste)=\"onPaste($event)\"\n (keyup.enter)=\"enterUp.emit()\"\n [(ngModel)]=\"value\">\n </div>\n <div *ngIf=\"showError()\" [id]=\"id+'-description'\">\n <div class=\"msg msg-errore\">\n <strong [innerHTML]=\"'ERRORE: '+this.error\"></strong>\n </div>\n <div *ngIf=\"description\" [innerHTML]=\"this.description\"></div>\n </div>\n <div *ngIf=\"description && !showError()\"\n [id]=\"id+'-description'\"\n [innerHTML]=\"this.description\">\n </div>\n <debug-pre *ngIf=\"showState\">\n <state-propertie [label]=\"'id'\" [propertie]=\"id\"></state-propertie>\n <state-propertie [label]=\"'label'\" [propertie]=\"label\"></state-propertie>\n <state-propertie [label]=\"'inputValue'\" [propertie]=\"inputValue\"></state-propertie>\n <state-propertie [label]=\"'placeholder'\" [propertie]=\"placeholder\"></state-propertie>\n <state-propertie [label]=\"'defaultPlaceholder'\" [propertie]=\"defaultPlaceholder\"></state-propertie>\n <inail-form-element-state-properties [formElement]=\"this\"></inail-form-element-state-properties>\n </debug-pre>\n</div>\n",
6794
+ template: "<div class=\"form-group {{getResponsiveClass()}} noPaddingLeft {{class}} inail-input-time\"\n [ngClass]=\"{'has-error': isThereError()}\">\n <label *ngIf=\"label\"\n class=\"control-label {{labelClass}}\"\n [ngClass]=\"{'sr-only': hiddenLabel}\"\n [attr.title]=\"labelTitle\"\n [for]=\"id\"\n [innerHTML]=\"getLabel()\"></label>\n <span *ngIf=\"showPopover()\"\n [style.padding-left.px]=\"5\">\n <inail-popover [iconClass]=\"popoverButtonIcon\"\n [buttonTitle]=\"popoverButtonTitle\"\n [header]=\"popoverHeader\"\n [content]=\"popoverContent\">\n </inail-popover>\n </span>\n <div class=\"form-control-wrapper\"\n [ngClass]=\"{'no-label' : hiddenLabel || !label}\">\n <input #formControl\n [id]=\"id\"\n [attr.type]=\"getType()\"\n [attr.step]=\"getStep()\"\n class=\"form-control {{inputClass}}\"\n [ngClass]=\"{'disabled': disabled}\"\n [attr.name]=\"name\"\n [attr.title]=\"title\"\n [attr.maxlength]=\"getMaxLength()\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.placeholder]=\"placeholderVisualizzato\"\n [attr.aria-required]=\"required === true ? true : undefined\"\n [attr.aria-invalid]=\"isThereError() === true ? true : undefined\"\n [attr.aria-describedBy]=\"getAriaDescribedBy()\"\n (blur)=\"onBlur()\"\n (focusout)=\"onFocusOut()\"\n (keydown)=\"onKeyDown($event)\"\n (paste)=\"onPaste($event)\"\n (keyup.enter)=\"enterUp.emit()\"\n [(ngModel)]=\"value\">\n </div>\n <div *ngIf=\"showError()\" [id]=\"id+'-description'\">\n <div class=\"msg msg-errore\">\n <strong [innerHTML]=\"'ERRORE: '+this.error\"></strong>\n </div>\n <div *ngIf=\"description\" [innerHTML]=\"this.description\"></div>\n </div>\n <div *ngIf=\"description && !showError()\"\n [id]=\"id+'-description'\"\n [innerHTML]=\"this.description\">\n </div>\n <debug-pre *ngIf=\"showState\">\n <state-propertie [label]=\"'id'\" [propertie]=\"id\"></state-propertie>\n <state-propertie [label]=\"'label'\" [propertie]=\"label\"></state-propertie>\n <state-propertie [label]=\"'inputValue'\" [propertie]=\"inputValue\"></state-propertie>\n <state-propertie [label]=\"'placeholder'\" [propertie]=\"placeholder\"></state-propertie>\n <state-propertie [label]=\"'defaultPlaceholder'\" [propertie]=\"defaultPlaceholder\"></state-propertie>\n <inail-form-element-state-properties [formElement]=\"this\"></inail-form-element-state-properties>\n </debug-pre>\n</div>\n",
6754
6795
  changeDetection: CHANGE_DETECTION_STRATEGY,
6755
6796
  encapsulation: core.ViewEncapsulation.None,
6756
6797
  providers: [
@@ -6939,7 +6980,6 @@
6939
6980
  exports.LoaderComponent = LoaderComponent;
6940
6981
  exports.MenuComponent = MenuComponent;
6941
6982
  exports.MenuIntranetComponent = MenuIntranetComponent;
6942
- exports.MenuItem = MenuItem;
6943
6983
  exports.ModalComponent = ModalComponent;
6944
6984
  exports.MultiSelectComponent = MultiSelectComponent;
6945
6985
  exports.NG_INAIL_COMMON_CONFIG = NG_INAIL_COMMON_CONFIG;