@esfaenza/es-charts 20.3.11 → 20.3.13

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.
@@ -3,6 +3,7 @@ import { EventEmitter, ContentChild, Output, Input, ChangeDetectionStrategy, Com
3
3
  import * as i4 from '@angular/common';
4
4
  import { isPlatformBrowser, CommonModule } from '@angular/common';
5
5
  import * as am5 from '@amcharts/amcharts5';
6
+ import am5themes_Animated from '@amcharts/amcharts5/themes/Animated';
6
7
  import * as am5xy from '@amcharts/amcharts5/xy';
7
8
  import am5locales_it_IT from '@amcharts/amcharts5/locales/it_IT';
8
9
  import * as am5percent from '@amcharts/amcharts5/percent';
@@ -317,10 +318,10 @@ class PageChartSelector {
317
318
  this.currentindex--;
318
319
  }, this.BrowseDelayMs);
319
320
  }
320
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: PageChartSelector, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
321
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.28", type: PageChartSelector, isStandalone: false, selector: "chart-pager", inputs: { Items: "Items", Dtos: "Dtos", BrowseDelayMs: "BrowseDelayMs", StartIndex: "StartIndex" }, outputs: { onPageChange: "onPageChange" }, queries: [{ propertyName: "headerInner_tr", first: true, predicate: ["header_inner"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"(Items || Dtos) && (Items || Dtos).length > 0\" class=\"pcs-no-selection\">\r\n <div class=\"pcs-button pcs-backward\">\r\n <svg class=\"pcs-svg-header\">\r\n <g class=\"pcs-svg-button-container\" role=\"button\" (click)=\"currentpage != 1 && Previous(); $event.stopPropagation(); $event.preventDefault();\">\r\n <!--Pulsante e freccettina all'interno-->\r\n <g class=\"pcs-svg-button\" [style.cursor]=\"currentpage == 1 ? 'not-allowed' : 'pointer'\"><path d=\"M3,0 L53.027,0 a3,3 0 0 1 3,3 L56.027,36.817 a3,3 0 0 1 -3,3 L3,39.817 a3,3 0 0 1 -3,-3 L0,3 a3,3 0 0 1 3,-3 Z\"></path></g>\r\n <g class=\"pcs-svg-arrow pcs-svg-arrow-left\"><path d=\"M26,14H10l5.17-6.79A2,2,0,0,0,12,4.79l-7.62,10a2,2,0,0,0,0,2.42l7.62,10a2,2,0,0,0,3.18-2.42L10,18H26a2,2,0,0,0,0-4Z\"></path></g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"pcs-infos\">\r\n <ng-container *ngIf=\"headerInner_tr\">\r\n <ng-container *ngTemplateOutlet=\"headerInner_tr; context : {$implicit: (Items || Dtos)[currentpage - 1]}\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"pcs-button pcs-forward\">\r\n <svg class=\"pcs-svg-header\">\r\n <g class=\"pcs-svg-button-container\" role=\"button\" (click)=\"(Items || Dtos)?.length != currentpage && Next(); $event.stopPropagation(); $event.preventDefault();\">\r\n <!--Pulsante e freccettina all'interno-->\r\n <g class=\"pcs-svg-button\" [style.cursor]=\"(Items || Dtos)?.length == currentpage ? 'not-allowed' : 'pointer'\"><path d=\"M3,0 L53.027,0 a3,3 0 0 1 3,3 L56.027,36.817 a3,3 0 0 1 -3,3 L3,39.817 a3,3 0 0 1 -3,-3 L0,3 a3,3 0 0 1 3,-3 Z\"></path></g>\r\n <g class=\"pcs-svg-arrow pcs-svg-arrow-right\"><path d=\"M26,14H10l5.17-6.79A2,2,0,0,0,12,4.79l-7.62,10a2,2,0,0,0,0,2.42l7.62,10a2,2,0,0,0,3.18-2.42L10,18H26a2,2,0,0,0,0-4Z\"></path></g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div style=\"clear: both;\"></div>\r\n</div>", styles: [".pcs-button{width:60px}.pcs-forward{float:right;text-align:end}.pcs-backward{float:left}.pcs-svg-header{width:57px;height:40px}.pcs-svg-button-container{outline:currentcolor none medium}.pcs-svg-arrow{pointer-events:none;fill:#555}.pcs-svg-arrow-right{transform:translate(44px,36px) rotate(180deg)}.pcs-svg-arrow-left{transform:translate(13px,4px)}.pcs-svg-button{fill:#d9d9d9;stroke:#fff;fill-opacity:1;stroke-opacity:1}.pcs-svg-button:hover{fill:#a3a3a3;cursor:pointer}.pcs-infos{width:calc(100% - 120px);height:44px;float:left}.pcs-no-selection{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
321
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PageChartSelector, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
322
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: PageChartSelector, isStandalone: false, selector: "chart-pager", inputs: { Items: "Items", Dtos: "Dtos", BrowseDelayMs: "BrowseDelayMs", StartIndex: "StartIndex" }, outputs: { onPageChange: "onPageChange" }, queries: [{ propertyName: "headerInner_tr", first: true, predicate: ["header_inner"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"(Items || Dtos) && (Items || Dtos).length > 0\" class=\"pcs-no-selection\">\r\n <div class=\"pcs-button pcs-backward\">\r\n <svg class=\"pcs-svg-header\">\r\n <g class=\"pcs-svg-button-container\" role=\"button\" (click)=\"currentpage != 1 && Previous(); $event.stopPropagation(); $event.preventDefault();\">\r\n <!--Pulsante e freccettina all'interno-->\r\n <g class=\"pcs-svg-button\" [style.cursor]=\"currentpage == 1 ? 'not-allowed' : 'pointer'\"><path d=\"M3,0 L53.027,0 a3,3 0 0 1 3,3 L56.027,36.817 a3,3 0 0 1 -3,3 L3,39.817 a3,3 0 0 1 -3,-3 L0,3 a3,3 0 0 1 3,-3 Z\"></path></g>\r\n <g class=\"pcs-svg-arrow pcs-svg-arrow-left\"><path d=\"M26,14H10l5.17-6.79A2,2,0,0,0,12,4.79l-7.62,10a2,2,0,0,0,0,2.42l7.62,10a2,2,0,0,0,3.18-2.42L10,18H26a2,2,0,0,0,0-4Z\"></path></g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"pcs-infos\">\r\n <ng-container *ngIf=\"headerInner_tr\">\r\n <ng-container *ngTemplateOutlet=\"headerInner_tr; context : {$implicit: (Items || Dtos)[currentpage - 1]}\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"pcs-button pcs-forward\">\r\n <svg class=\"pcs-svg-header\">\r\n <g class=\"pcs-svg-button-container\" role=\"button\" (click)=\"(Items || Dtos)?.length != currentpage && Next(); $event.stopPropagation(); $event.preventDefault();\">\r\n <!--Pulsante e freccettina all'interno-->\r\n <g class=\"pcs-svg-button\" [style.cursor]=\"(Items || Dtos)?.length == currentpage ? 'not-allowed' : 'pointer'\"><path d=\"M3,0 L53.027,0 a3,3 0 0 1 3,3 L56.027,36.817 a3,3 0 0 1 -3,3 L3,39.817 a3,3 0 0 1 -3,-3 L0,3 a3,3 0 0 1 3,-3 Z\"></path></g>\r\n <g class=\"pcs-svg-arrow pcs-svg-arrow-right\"><path d=\"M26,14H10l5.17-6.79A2,2,0,0,0,12,4.79l-7.62,10a2,2,0,0,0,0,2.42l7.62,10a2,2,0,0,0,3.18-2.42L10,18H26a2,2,0,0,0,0-4Z\"></path></g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div style=\"clear: both;\"></div>\r\n</div>", styles: [".pcs-button{width:60px}.pcs-forward{float:right;text-align:end}.pcs-backward{float:left}.pcs-svg-header{width:57px;height:40px}.pcs-svg-button-container{outline:currentcolor none medium}.pcs-svg-arrow{pointer-events:none;fill:#555}.pcs-svg-arrow-right{transform:translate(44px,36px) rotate(180deg)}.pcs-svg-arrow-left{transform:translate(13px,4px)}.pcs-svg-button{fill:#d9d9d9;stroke:#fff;fill-opacity:1;stroke-opacity:1}.pcs-svg-button:hover{fill:#a3a3a3;cursor:pointer}.pcs-infos{width:calc(100% - 120px);height:44px;float:left}.pcs-no-selection{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
322
323
  }
323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: PageChartSelector, decorators: [{
324
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PageChartSelector, decorators: [{
324
325
  type: Component,
325
326
  args: [{ selector: "chart-pager", changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div *ngIf=\"(Items || Dtos) && (Items || Dtos).length > 0\" class=\"pcs-no-selection\">\r\n <div class=\"pcs-button pcs-backward\">\r\n <svg class=\"pcs-svg-header\">\r\n <g class=\"pcs-svg-button-container\" role=\"button\" (click)=\"currentpage != 1 && Previous(); $event.stopPropagation(); $event.preventDefault();\">\r\n <!--Pulsante e freccettina all'interno-->\r\n <g class=\"pcs-svg-button\" [style.cursor]=\"currentpage == 1 ? 'not-allowed' : 'pointer'\"><path d=\"M3,0 L53.027,0 a3,3 0 0 1 3,3 L56.027,36.817 a3,3 0 0 1 -3,3 L3,39.817 a3,3 0 0 1 -3,-3 L0,3 a3,3 0 0 1 3,-3 Z\"></path></g>\r\n <g class=\"pcs-svg-arrow pcs-svg-arrow-left\"><path d=\"M26,14H10l5.17-6.79A2,2,0,0,0,12,4.79l-7.62,10a2,2,0,0,0,0,2.42l7.62,10a2,2,0,0,0,3.18-2.42L10,18H26a2,2,0,0,0,0-4Z\"></path></g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"pcs-infos\">\r\n <ng-container *ngIf=\"headerInner_tr\">\r\n <ng-container *ngTemplateOutlet=\"headerInner_tr; context : {$implicit: (Items || Dtos)[currentpage - 1]}\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"pcs-button pcs-forward\">\r\n <svg class=\"pcs-svg-header\">\r\n <g class=\"pcs-svg-button-container\" role=\"button\" (click)=\"(Items || Dtos)?.length != currentpage && Next(); $event.stopPropagation(); $event.preventDefault();\">\r\n <!--Pulsante e freccettina all'interno-->\r\n <g class=\"pcs-svg-button\" [style.cursor]=\"(Items || Dtos)?.length == currentpage ? 'not-allowed' : 'pointer'\"><path d=\"M3,0 L53.027,0 a3,3 0 0 1 3,3 L56.027,36.817 a3,3 0 0 1 -3,3 L3,39.817 a3,3 0 0 1 -3,-3 L0,3 a3,3 0 0 1 3,-3 Z\"></path></g>\r\n <g class=\"pcs-svg-arrow pcs-svg-arrow-right\"><path d=\"M26,14H10l5.17-6.79A2,2,0,0,0,12,4.79l-7.62,10a2,2,0,0,0,0,2.42l7.62,10a2,2,0,0,0,3.18-2.42L10,18H26a2,2,0,0,0,0-4Z\"></path></g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div style=\"clear: both;\"></div>\r\n</div>", styles: [".pcs-button{width:60px}.pcs-forward{float:right;text-align:end}.pcs-backward{float:left}.pcs-svg-header{width:57px;height:40px}.pcs-svg-button-container{outline:currentcolor none medium}.pcs-svg-arrow{pointer-events:none;fill:#555}.pcs-svg-arrow-right{transform:translate(44px,36px) rotate(180deg)}.pcs-svg-arrow-left{transform:translate(13px,4px)}.pcs-svg-button{fill:#d9d9d9;stroke:#fff;fill-opacity:1;stroke-opacity:1}.pcs-svg-button:hover{fill:#a3a3a3;cursor:pointer}.pcs-infos{width:calc(100% - 120px);height:44px;float:left}.pcs-no-selection{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}\n"] }]
326
327
  }], propDecorators: { Items: [{
@@ -561,10 +562,10 @@ class ChartLoader {
561
562
  if (this.logs)
562
563
  console.log("@esfaenza/es-charts: " + text);
563
564
  }
564
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: ChartLoader, deps: [{ token: ESC_DEBUG_MODE }], target: i0.ɵɵFactoryTarget.Injectable }); }
565
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: ChartLoader }); }
565
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ChartLoader, deps: [{ token: ESC_DEBUG_MODE }], target: i0.ɵɵFactoryTarget.Injectable }); }
566
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ChartLoader }); }
566
567
  }
567
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: ChartLoader, decorators: [{
568
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ChartLoader, decorators: [{
568
569
  type: Injectable
569
570
  }], ctorParameters: () => [{ type: undefined, decorators: [{
570
571
  type: Inject,
@@ -649,10 +650,10 @@ class ChartDispatcher {
649
650
  if (this.logs)
650
651
  console.log("@esfaenza/es-charts: " + text);
651
652
  }
652
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: ChartDispatcher, deps: [{ token: ESC_DEBUG_MODE }], target: i0.ɵɵFactoryTarget.Injectable }); }
653
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: ChartDispatcher }); }
653
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ChartDispatcher, deps: [{ token: ESC_DEBUG_MODE }], target: i0.ɵɵFactoryTarget.Injectable }); }
654
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ChartDispatcher }); }
654
655
  }
655
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: ChartDispatcher, decorators: [{
656
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ChartDispatcher, decorators: [{
656
657
  type: Injectable
657
658
  }], ctorParameters: () => [{ type: undefined, decorators: [{
658
659
  type: Inject,
@@ -944,10 +945,10 @@ class BaseChartComponent {
944
945
  });
945
946
  }
946
947
  }
947
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: BaseChartComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
948
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.28", type: BaseChartComponent, isStandalone: true, inputs: { XTitle: "XTitle", YTitle: "YTitle", Settings: "Settings", Legend: "Legend", LegendPosition: "LegendPosition", Timeline: "Timeline", name: "name", Animations: "Animations", Theme: "Theme", Locale: "Locale", HideSeriesOnLabelClick: "HideSeriesOnLabelClick", MinGridDistance: "MinGridDistance", AdaptLabelSizeAndOrientation: "AdaptLabelSizeAndOrientation", LegendPadding: "LegendPadding", DataDtos: "DataDtos", DataDtoStartIndex: "DataDtoStartIndex", DataRetrieve: "DataRetrieve", BrowseDelayMs: "BrowseDelayMs" }, outputs: { onSelectionChanged: "onSelectionChanged", onSeriesClicked: "onSeriesClicked", onLoadStart: "onLoadStart", onLoadEnd: "onLoadEnd", chartLoaded: "chartLoaded" }, queries: [{ propertyName: "header_tr", first: true, predicate: ["header"], descendants: true }, { propertyName: "loading_template", first: true, predicate: ["loading"], descendants: true }], usesOnChanges: true, ngImport: i0 }); }
948
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BaseChartComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
949
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: BaseChartComponent, isStandalone: true, inputs: { XTitle: "XTitle", YTitle: "YTitle", Settings: "Settings", Legend: "Legend", LegendPosition: "LegendPosition", Timeline: "Timeline", name: "name", Animations: "Animations", Theme: "Theme", Locale: "Locale", HideSeriesOnLabelClick: "HideSeriesOnLabelClick", MinGridDistance: "MinGridDistance", AdaptLabelSizeAndOrientation: "AdaptLabelSizeAndOrientation", LegendPadding: "LegendPadding", DataDtos: "DataDtos", DataDtoStartIndex: "DataDtoStartIndex", DataRetrieve: "DataRetrieve", BrowseDelayMs: "BrowseDelayMs" }, outputs: { onSelectionChanged: "onSelectionChanged", onSeriesClicked: "onSeriesClicked", onLoadStart: "onLoadStart", onLoadEnd: "onLoadEnd", chartLoaded: "chartLoaded" }, queries: [{ propertyName: "header_tr", first: true, predicate: ["header"], descendants: true }, { propertyName: "loading_template", first: true, predicate: ["loading"], descendants: true }], usesOnChanges: true, ngImport: i0 }); }
949
950
  }
950
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: BaseChartComponent, decorators: [{
951
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BaseChartComponent, decorators: [{
951
952
  type: Directive
952
953
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: Object }, { type: i0.NgZone }, { type: ChartLoader }, { type: ChartDispatcher }, { type: undefined }, { type: undefined }, { type: undefined }, { type: undefined }], propDecorators: { XTitle: [{
953
954
  type: Input
@@ -1003,6 +1004,65 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.28", ngImpo
1003
1004
  type: Output
1004
1005
  }] } });
1005
1006
 
1007
+ /**
1008
+ * Palette storica "Spirited Away" ereditata da amCharts4.
1009
+ *
1010
+ * In amCharts4 il tema di default della libreria ('spiritedaway') veniva applicato globalmente
1011
+ * (am4core.useTheme) e impostava questa esatta lista di colori sul ColorSet di ogni grafico.
1012
+ * Le serie/colonne prive di un colore esplicito pescavano da qui in ordine.
1013
+ *
1014
+ * Con la migrazione ad amCharts5 il sistema dei temi e stato disabilitato, percio i grafici
1015
+ * mostravano la palette di default di amCharts5. Questa costante ripristina i colori originali.
1016
+ *
1017
+ * Valori estratti dal tema Spirited di @amcharts/amcharts4@4.10.40
1018
+ * (.internal/themes/spiritedaway.js, "Color set from Spirited away movie").
1019
+ */
1020
+ const SPIRITED_PALETTE = [
1021
+ 0x65738e,
1022
+ 0x766c91,
1023
+ 0x78566f,
1024
+ 0x523b58,
1025
+ 0x813b3d,
1026
+ 0xbc5e52,
1027
+ 0xee8b78,
1028
+ 0xf9c885,
1029
+ 0xeba05c,
1030
+ 0x9b5134
1031
+ ];
1032
+ /**
1033
+ * Crea un ColorSet con la palette storica {@link SPIRITED_PALETTE} da applicare a un grafico
1034
+ * tramite `chart.set("colors", createSpiritedColorSet(root))`.
1035
+ *
1036
+ * `reuse: true` replica il comportamento del tema amCharts4: quando le serie superano i colori
1037
+ * disponibili, la palette viene riciclata invece di generare tinte arbitrarie.
1038
+ *
1039
+ * @param {am5.Root} root Root del grafico a cui il ColorSet appartiene
1040
+ * @returns {am5.ColorSet} ColorSet pronto da assegnare al setting "colors" del grafico
1041
+ */
1042
+ function createSpiritedColorSet(root) {
1043
+ return am5.ColorSet.new(root, {
1044
+ colors: SPIRITED_PALETTE.map(c => am5.color(c)),
1045
+ reuse: true
1046
+ });
1047
+ }
1048
+
1049
+ /**
1050
+ * Applica il tema "Animated" di amCharts5 al root del grafico.
1051
+ *
1052
+ * Replica il comportamento della versione amCharts4 della libreria, dove il tema animated veniva applicato
1053
+ * globalmente quando l'input/Setting `Animations` era attivo, fornendo transizioni fluide (zoom, hover,
1054
+ * mostra/nascondi serie, cursore).
1055
+ *
1056
+ * Va invocato subito dopo la creazione del root, prima di costruire il grafico e le serie, in modo che il
1057
+ * tema venga applicato a tutti gli elementi. La comparsa animata iniziale va invece innescata a parte con
1058
+ * le chiamate `appear()` su grafico e serie (in amCharts5 il tema non anima piu automaticamente il primo disegno).
1059
+ *
1060
+ * @param {am5.Root} root Root del grafico
1061
+ */
1062
+ function applyAnimatedTheme(root) {
1063
+ root.setThemes([am5themes_Animated.new(root)]);
1064
+ }
1065
+
1006
1066
  /**
1007
1067
  * Classe il cui unico scopo e gestire il setup e rendering di un LineChart
1008
1068
  */
@@ -1020,6 +1080,10 @@ class LineChartService {
1020
1080
  this.singleDataSet = false;
1021
1081
  /** @ignore */
1022
1082
  this.mergedData = [];
1083
+ /** Flag "istante finale" corrente, memorizzato per riformattare le date nei refresh */
1084
+ this.currentFinalInstant = true;
1085
+ /** Colori assegnati a ciascuna serie, usati anche per i pallini nel tooltip unificato */
1086
+ this.seriesColors = [];
1023
1087
  //******************** Funzione di throttling per non spammare richieste in caso di animazioni attivate
1024
1088
  //TODO: spostarla in un metodo di utilita (esfaenza/extensions)
1025
1089
  /** @ignore */
@@ -1050,7 +1114,12 @@ class LineChartService {
1050
1114
  this.ChartRoot?.dispose();
1051
1115
  this.ChartRoot = am5.Root.new(settings.Name);
1052
1116
  this.applyLocale(settings);
1117
+ // Tema Animated (transizioni fluide) come nella versione amCharts4, se le animazioni sono attive
1118
+ if (settings.Animations)
1119
+ applyAnimatedTheme(this.ChartRoot);
1053
1120
  this.ChartInstance = this.ChartRoot.container.children.push(am5xy.XYChart.new(this.ChartRoot, {}));
1121
+ // Ripristina la palette storica ereditata da amCharts4 per le serie prive di colore esplicito
1122
+ this.ChartInstance.set("colors", createSpiritedColorSet(this.ChartRoot));
1054
1123
  //#endregion
1055
1124
  // Carico l'Asse Y
1056
1125
  let yRenderer = am5xy.AxisRendererY.new(this.ChartRoot, {});
@@ -1113,15 +1182,23 @@ class LineChartService {
1113
1182
  centerX: am5.p50
1114
1183
  }));
1115
1184
  }
1185
+ this.currentInterval = interval;
1186
+ this.currentFinalInstant = finalInstant;
1116
1187
  if (this.singleDataSet)
1117
1188
  this.mergedData = this.generateSingleDataset(dataConverted);
1189
+ // Pre-calcolo i colori di tutte le serie prima di crearle: il tooltip unificato mostra un pallino
1190
+ // colorato per ogni serie, quindi ha bisogno dell'intera lista di colori gia al primo createSeries
1118
1191
  let seriesColors = [];
1119
1192
  let defaultIndex = 0;
1193
+ dataConverted.series.forEach(s => {
1194
+ let color = s.color ? am5.color(s.color) : this.ChartInstance.get("colors").getIndex(defaultIndex++);
1195
+ seriesColors.push(color);
1196
+ });
1197
+ this.seriesColors = seriesColors;
1120
1198
  dataConverted.series.forEach((s, index) => {
1121
1199
  let stacked = s.stacked != null && s.stacked != undefined ? s.stacked : (settings?.Stacked ?? false);
1122
1200
  let fill = stacked || (s.fill != null && s.fill != undefined ? s.fill : (settings?.Fill ?? false));
1123
- let color = s.color ? am5.color(s.color) : this.ChartInstance.get("colors").getIndex(defaultIndex++);
1124
- seriesColors.push(color);
1201
+ let color = seriesColors[index];
1125
1202
  let series = this.createSeries(s, index, dateAxis, yAxis, settings, gapsAllowed, fill, stacked, color, interval, finalInstant);
1126
1203
  if (showTimeline)
1127
1204
  this.addSeriesToScrollbar(series, s, index, dateAxis, yAxis, settings, gapsAllowed, color);
@@ -1186,13 +1263,22 @@ class LineChartService {
1186
1263
  //#endregion
1187
1264
  let cursor = am5xy.XYCursor.new(this.ChartRoot, {
1188
1265
  xAxis: dateAxis,
1189
- yAxis
1266
+ yAxis,
1267
+ // Ripristina lo zoom con click-and-drag su un range di date (comportamento di default di amCharts4,
1268
+ // perso nella migrazione ad amCharts5 dove il behavior di default del cursore e "none").
1269
+ // "zoomX" gestisce nativamente il drag in entrambe le direzioni (destra->sinistra e sinistra->destra)
1270
+ behavior: "zoomX"
1190
1271
  });
1191
1272
  this.ChartInstance.set("cursor", cursor);
1192
1273
  if (this.singleDataSet)
1193
1274
  this.ChartInstance.set("maxTooltipDistance", -1);
1194
1275
  dateAxis.on("start", () => this.emitSelectionChanged(dateAxis, settings));
1195
1276
  dateAxis.on("end", () => this.emitSelectionChanged(dateAxis, settings));
1277
+ // Comparsa animata iniziale di serie e grafico, come nella versione amCharts4
1278
+ if (settings.Animations) {
1279
+ this.ChartInstance.series.each(s => s.appear(1000));
1280
+ this.ChartInstance.appear(1000, 100);
1281
+ }
1196
1282
  return this;
1197
1283
  }
1198
1284
  fixTimeUnit(tu) {
@@ -1254,10 +1340,42 @@ class LineChartService {
1254
1340
  let singleVal = values[series];
1255
1341
  item[series] = singleVal;
1256
1342
  }
1343
+ // Data gia formattata col DateService applicativo, cosi il tooltip non dipende dal formatter di amCharts
1344
+ item.dl = this.formatTooltipDate(new Date(item.d), this.currentInterval, this.currentFinalInstant);
1257
1345
  ret.push(item);
1258
1346
  }
1259
1347
  return ret;
1260
1348
  }
1349
+ /**
1350
+ * Formatta una data per il tooltip usando il DateService applicativo, replicando il comportamento di amCharts4.
1351
+ *
1352
+ * Con "istante finale" attivo e intervalli a livello di ora/minuto/secondo la data viene riportata alla fine
1353
+ * del periodo; negli altri casi si usa la formattazione standard (senza orario per intervalli giornalieri o piu ampi).
1354
+ *
1355
+ * @param {Date} date Data da formattare
1356
+ * @param {any} interval Intervallo delle serie (puo essere null)
1357
+ * @param {boolean} finalInstant Indica se le date rappresentano l'istante finale del periodo
1358
+ * @returns {string} Data formattata (es. "25/08/2026 09:29", con o senza orario in base all'intervallo)
1359
+ */
1360
+ formatTooltipDate(date, interval, finalInstant) {
1361
+ if (interval && finalInstant && ["hour", "minute", "second"].includes(interval.timeunit)) {
1362
+ let timepart = null;
1363
+ switch (interval.timeunit) {
1364
+ case "hour":
1365
+ timepart = 'day';
1366
+ break;
1367
+ case "minute":
1368
+ timepart = 'hour';
1369
+ break;
1370
+ case "second":
1371
+ timepart = 'minute';
1372
+ break;
1373
+ }
1374
+ if (timepart)
1375
+ return this.dateExts.adjustDateToFinalInstant(date, timepart, interval.timeunit == "second");
1376
+ }
1377
+ return this.dateExts.getFormatted(date, interval ? ["day", "week", "month", "year"].includes(interval.timeunit) : false, interval ? interval.timeunit == "second" : false);
1378
+ }
1261
1379
  /** @ignore */
1262
1380
  createSeries(source, index, dateAxis, yAxis, settings, gapsAllowed, fill, stacked, color, interval, finalInstant) {
1263
1381
  let SeriesClass = settings?.Step ? am5xy.StepLineSeries : am5xy.LineSeries;
@@ -1282,14 +1400,28 @@ class LineChartService {
1282
1400
  visible: true
1283
1401
  });
1284
1402
  series.set("minBulletDistance", 10);
1285
- series.set("tooltip", am5.Tooltip.new(this.ChartRoot, {
1403
+ let tooltip = am5.Tooltip.new(this.ChartRoot, {
1286
1404
  pointerOrientation: "vertical",
1287
1405
  labelText: this.getTooltipText(source, index, interval, finalInstant)
1288
- }));
1289
- series.get("tooltip")?.get("background")?.setAll({
1290
- fillOpacity: this.singleDataSet ? 1 : 0.5,
1291
- fill: this.singleDataSet ? am5.color(0xeeeeee) : undefined
1292
1406
  });
1407
+ series.set("tooltip", tooltip);
1408
+ if (this.singleDataSet) {
1409
+ // Comportamento ereditato da amCharts4: tooltip unico grigio con testo scuro, indipendente dal
1410
+ // colore della serie (altrimenti amCharts5 lo colorerebbe con il colore della serie attiva)
1411
+ tooltip.set("getFillFromSprite", false);
1412
+ tooltip.get("background")?.setAll({
1413
+ fillOpacity: 1,
1414
+ fill: am5.color(0xeeeeee)
1415
+ });
1416
+ // Adapter e non set: amCharts5 reimposta il colore del testo del tooltip ad ogni aggiornamento
1417
+ // interno, quindi un semplice set verrebbe sovrascritto. L'adapter forza sempre il testo scuro.
1418
+ tooltip.label.adapters.add("fill", () => am5.color(0x000000));
1419
+ }
1420
+ else {
1421
+ tooltip.get("background")?.setAll({
1422
+ fillOpacity: 0.5
1423
+ });
1424
+ }
1293
1425
  if (this.singleDataSet)
1294
1426
  series.data.setAll(this.mergedData);
1295
1427
  else
@@ -1302,10 +1434,11 @@ class LineChartService {
1302
1434
  getTooltipText(source, index, interval, finalInstant) {
1303
1435
  if (!this.singleDataSet)
1304
1436
  return source.name ? "{name}: [bold]{valueY}[/]" : "[bold]{valueY}[/]";
1305
- let text = "[bold]{valueX.formatDate()}[/]\n";
1437
+ let text = "[bold]{dl}[/]\n";
1306
1438
  this.currentSeriesData.series.forEach((serie, sindex) => {
1307
1439
  let uom = serie.uom ? " [fontStyle: italic]" + serie.uom + "[/]" : "";
1308
- text += (serie.name ? (serie.name + ": ") : "") + "[bold]{v" + sindex + "}[/]" + uom + "\n";
1440
+ let bullet = this.seriesColors[sindex] ? "[" + this.seriesColors[sindex].toString() + "]●[/] " : "";
1441
+ text += bullet + (serie.name ? (serie.name + ": ") : "") + "[bold]{v" + sindex + "}[/]" + uom + "\n";
1309
1442
  });
1310
1443
  return text;
1311
1444
  }
@@ -1412,21 +1545,118 @@ class LineChartService {
1412
1545
  }
1413
1546
  /** @ignore */
1414
1547
  getGridIntervals(baseTimeUnit) {
1415
- if (baseTimeUnit == "hour") {
1416
- return [
1417
- { timeUnit: "hour", count: 1 },
1418
- { timeUnit: "hour", count: 3 },
1419
- { timeUnit: "hour", count: 6 },
1420
- { timeUnit: "hour", count: 12 },
1421
- { timeUnit: "day", count: 1 },
1422
- { timeUnit: "day", count: 2 },
1423
- { timeUnit: "day", count: 3 },
1424
- { timeUnit: "week", count: 1 },
1425
- { timeUnit: "month", count: 1 },
1426
- { timeUnit: "year", count: 1 }
1427
- ];
1428
- }
1429
- return undefined;
1548
+ switch (baseTimeUnit) {
1549
+ case "millisecond":
1550
+ return [
1551
+ { timeUnit: "millisecond", count: 1 },
1552
+ { timeUnit: "millisecond", count: 5 },
1553
+ { timeUnit: "millisecond", count: 10 },
1554
+ { timeUnit: "millisecond", count: 50 },
1555
+ { timeUnit: "millisecond", count: 100 },
1556
+ { timeUnit: "millisecond", count: 500 },
1557
+ { timeUnit: "second", count: 1 },
1558
+ { timeUnit: "second", count: 5 },
1559
+ { timeUnit: "second", count: 10 },
1560
+ { timeUnit: "second", count: 30 },
1561
+ { timeUnit: "minute", count: 1 },
1562
+ { timeUnit: "minute", count: 5 },
1563
+ { timeUnit: "minute", count: 10 },
1564
+ { timeUnit: "minute", count: 30 },
1565
+ { timeUnit: "hour", count: 1 },
1566
+ { timeUnit: "hour", count: 3 },
1567
+ { timeUnit: "hour", count: 6 },
1568
+ { timeUnit: "hour", count: 12 },
1569
+ { timeUnit: "day", count: 1 },
1570
+ { timeUnit: "day", count: 2 },
1571
+ { timeUnit: "day", count: 3 },
1572
+ { timeUnit: "week", count: 1 },
1573
+ { timeUnit: "month", count: 1 },
1574
+ { timeUnit: "year", count: 1 }
1575
+ ];
1576
+ case "second":
1577
+ return [
1578
+ { timeUnit: "second", count: 1 },
1579
+ { timeUnit: "second", count: 5 },
1580
+ { timeUnit: "second", count: 10 },
1581
+ { timeUnit: "second", count: 30 },
1582
+ { timeUnit: "minute", count: 1 },
1583
+ { timeUnit: "minute", count: 5 },
1584
+ { timeUnit: "minute", count: 10 },
1585
+ { timeUnit: "minute", count: 30 },
1586
+ { timeUnit: "hour", count: 1 },
1587
+ { timeUnit: "hour", count: 3 },
1588
+ { timeUnit: "hour", count: 6 },
1589
+ { timeUnit: "hour", count: 12 },
1590
+ { timeUnit: "day", count: 1 },
1591
+ { timeUnit: "day", count: 2 },
1592
+ { timeUnit: "day", count: 3 },
1593
+ { timeUnit: "week", count: 1 },
1594
+ { timeUnit: "month", count: 1 },
1595
+ { timeUnit: "year", count: 1 }
1596
+ ];
1597
+ case "minute":
1598
+ return [
1599
+ { timeUnit: "minute", count: 1 },
1600
+ { timeUnit: "minute", count: 5 },
1601
+ { timeUnit: "minute", count: 10 },
1602
+ { timeUnit: "minute", count: 30 },
1603
+ { timeUnit: "hour", count: 1 },
1604
+ { timeUnit: "hour", count: 3 },
1605
+ { timeUnit: "hour", count: 6 },
1606
+ { timeUnit: "hour", count: 12 },
1607
+ { timeUnit: "day", count: 1 },
1608
+ { timeUnit: "day", count: 2 },
1609
+ { timeUnit: "day", count: 3 },
1610
+ { timeUnit: "week", count: 1 },
1611
+ { timeUnit: "month", count: 1 },
1612
+ { timeUnit: "year", count: 1 }
1613
+ ];
1614
+ case "hour":
1615
+ return [
1616
+ { timeUnit: "hour", count: 1 },
1617
+ { timeUnit: "hour", count: 3 },
1618
+ { timeUnit: "hour", count: 6 },
1619
+ { timeUnit: "hour", count: 12 },
1620
+ { timeUnit: "day", count: 1 },
1621
+ { timeUnit: "day", count: 2 },
1622
+ { timeUnit: "day", count: 3 },
1623
+ { timeUnit: "week", count: 1 },
1624
+ { timeUnit: "month", count: 1 },
1625
+ { timeUnit: "year", count: 1 }
1626
+ ];
1627
+ case "day":
1628
+ return [
1629
+ { timeUnit: "day", count: 1 },
1630
+ { timeUnit: "day", count: 2 },
1631
+ { timeUnit: "day", count: 3 },
1632
+ { timeUnit: "week", count: 1 },
1633
+ { timeUnit: "month", count: 1 },
1634
+ { timeUnit: "year", count: 1 }
1635
+ ];
1636
+ case "week":
1637
+ return [
1638
+ { timeUnit: "week", count: 1 },
1639
+ { timeUnit: "week", count: 2 },
1640
+ { timeUnit: "month", count: 1 },
1641
+ { timeUnit: "month", count: 3 },
1642
+ { timeUnit: "year", count: 1 }
1643
+ ];
1644
+ case "month":
1645
+ return [
1646
+ { timeUnit: "month", count: 1 },
1647
+ { timeUnit: "month", count: 2 },
1648
+ { timeUnit: "month", count: 3 },
1649
+ { timeUnit: "month", count: 6 },
1650
+ { timeUnit: "year", count: 1 }
1651
+ ];
1652
+ case "year":
1653
+ return [
1654
+ { timeUnit: "year", count: 1 },
1655
+ { timeUnit: "year", count: 2 },
1656
+ { timeUnit: "year", count: 5 },
1657
+ { timeUnit: "year", count: 10 }
1658
+ ];
1659
+ }
1430
1660
  }
1431
1661
  /** @ignore */
1432
1662
  getTooltipDateFormat(baseTimeUnit) {
@@ -1595,6 +1825,11 @@ class PieChartService {
1595
1825
  layout: this.ChartRoot.verticalLayout
1596
1826
  }));
1597
1827
  this.ChartInstance = ChartContainer.children.push(am5percent.PieChart.new(this.ChartRoot, {}));
1828
+ // Ripristina la palette storica ereditata da amCharts4 per le fette prive di colore esplicito
1829
+ this.ChartInstance.set("colors", createSpiritedColorSet(this.ChartRoot));
1830
+ // Tema Animated (transizioni fluide) come nella versione amCharts4, se le animazioni sono attive
1831
+ if (settings.Animations)
1832
+ applyAnimatedTheme(this.ChartRoot);
1598
1833
  //#endregion
1599
1834
  // Raggio Torta
1600
1835
  // In am4 non c'era un modo automatico di calcolare il raggio sulle dimensioni del grafico, quindi si era fatto
@@ -1763,6 +1998,11 @@ class PieChartService {
1763
1998
  });
1764
1999
  this.ChartLegend.data.setAll(series.dataItems);
1765
2000
  }
2001
+ // Comparsa animata iniziale di fette e grafico, come nella versione amCharts4
2002
+ if (settings.Animations) {
2003
+ this.ChartInstance.series.each(s => s.appear(1000));
2004
+ this.ChartInstance.appear(1000, 100);
2005
+ }
1766
2006
  return this;
1767
2007
  }
1768
2008
  /** @ignore */
@@ -1802,6 +2042,11 @@ class VerticalChartService {
1802
2042
  this.ChartRoot?.dispose();
1803
2043
  this.ChartRoot = am5.Root.new(settings.Name);
1804
2044
  this.ChartInstance = this.ChartRoot.container.children.push(am5xy.XYChart.new(this.ChartRoot, {}));
2045
+ // Ripristina la palette storica ereditata da amCharts4 per le colonne prive di colore esplicito
2046
+ this.ChartInstance.set("colors", createSpiritedColorSet(this.ChartRoot));
2047
+ // Tema Animated (transizioni fluide) come nella versione amCharts4, se le animazioni sono attive
2048
+ if (settings.Animations)
2049
+ applyAnimatedTheme(this.ChartRoot);
1805
2050
  //#endregion
1806
2051
  let chartData = dataConverted.values.map(value => ({
1807
2052
  ...value,
@@ -1953,6 +2198,11 @@ class VerticalChartService {
1953
2198
  if (settings.Legend) {
1954
2199
  this.ChartLegend.data.setAll(this.ChartInstance.series.values);
1955
2200
  }
2201
+ // Comparsa animata iniziale di colonne e grafico, come nella versione amCharts4
2202
+ if (settings.Animations) {
2203
+ this.ChartInstance.series.each(s => s.appear(1000));
2204
+ this.ChartInstance.appear(1000, 100);
2205
+ }
1956
2206
  return this;
1957
2207
  }
1958
2208
  /** @ignore */
@@ -1998,6 +2248,11 @@ class Vertical2DChartService {
1998
2248
  this.ChartRoot?.dispose();
1999
2249
  this.ChartRoot = am5.Root.new(settings.Name);
2000
2250
  this.ChartInstance = this.ChartRoot.container.children.push(am5xy.XYChart.new(this.ChartRoot, {}));
2251
+ // Ripristina la palette storica ereditata da amCharts4 per le colonne prive di colore esplicito
2252
+ this.ChartInstance.set("colors", createSpiritedColorSet(this.ChartRoot));
2253
+ // Tema Animated (transizioni fluide) come nella versione amCharts4, se le animazioni sono attive
2254
+ if (settings.Animations)
2255
+ applyAnimatedTheme(this.ChartRoot);
2001
2256
  //#endregion
2002
2257
  //#region Carico la Legenda
2003
2258
  if (settings.Legend) {
@@ -2131,6 +2386,11 @@ class Vertical2DChartService {
2131
2386
  if (settings.Legend) {
2132
2387
  this.ChartLegend.data.setAll(this.ChartInstance.series.values);
2133
2388
  }
2389
+ // Comparsa animata iniziale di colonne e grafico, come nella versione amCharts4
2390
+ if (settings.Animations) {
2391
+ this.ChartInstance.series.each(s => s.appear(1000));
2392
+ this.ChartInstance.appear(1000, 100);
2393
+ }
2134
2394
  return this;
2135
2395
  }
2136
2396
  /** @ignore */
@@ -2219,6 +2479,11 @@ class VerticalStackedChartService {
2219
2479
  this.ChartRoot?.dispose();
2220
2480
  this.ChartRoot = am5.Root.new(settings.Name);
2221
2481
  this.ChartInstance = this.ChartRoot.container.children.push(am5xy.XYChart.new(this.ChartRoot, {}));
2482
+ // Ripristina la palette storica ereditata da amCharts4 per le colonne prive di colore esplicito
2483
+ this.ChartInstance.set("colors", createSpiritedColorSet(this.ChartRoot));
2484
+ // Tema Animated (transizioni fluide) come nella versione amCharts4, se le animazioni sono attive
2485
+ if (settings.Animations)
2486
+ applyAnimatedTheme(this.ChartRoot);
2222
2487
  //#endregion
2223
2488
  //#region Carico la Legenda
2224
2489
  if (settings.Legend) {
@@ -2347,6 +2612,11 @@ class VerticalStackedChartService {
2347
2612
  if (settings.Legend) {
2348
2613
  this.ChartLegend.data.setAll(this.ChartInstance.series.values);
2349
2614
  }
2615
+ // Comparsa animata iniziale di colonne e grafico, come nella versione amCharts4
2616
+ if (settings.Animations) {
2617
+ this.ChartInstance.series.each(s => s.appear(1000));
2618
+ this.ChartInstance.appear(1000, 100);
2619
+ }
2350
2620
  return this;
2351
2621
  }
2352
2622
  /** @ignore */
@@ -2421,6 +2691,11 @@ class AreaChartService {
2421
2691
  this.ChartRoot?.dispose();
2422
2692
  this.ChartRoot = am5.Root.new(settings.Name);
2423
2693
  this.ChartInstance = this.ChartRoot.container.children.push(am5xy.XYChart.new(this.ChartRoot, {}));
2694
+ // Ripristina la palette storica ereditata da amCharts4 per le serie prive di colore esplicito
2695
+ this.ChartInstance.set("colors", createSpiritedColorSet(this.ChartRoot));
2696
+ // Tema Animated (transizioni fluide) come nella versione amCharts4, se le animazioni sono attive
2697
+ if (settings.Animations)
2698
+ applyAnimatedTheme(this.ChartRoot);
2424
2699
  //#endregion
2425
2700
  //#region Carico la Legenda
2426
2701
  if (settings.Legend) {
@@ -2544,6 +2819,11 @@ class AreaChartService {
2544
2819
  // let cursor = ^, cursor.lineY.set("visible", false), per cursore verticale
2545
2820
  dateAxis.on("start", () => { this.emitSelectionChanged(dateAxis, settings); });
2546
2821
  dateAxis.on("end", () => { this.emitSelectionChanged(dateAxis, settings); });
2822
+ // Comparsa animata iniziale di serie e grafico, come nella versione amCharts4
2823
+ if (settings.Animations) {
2824
+ this.ChartInstance.series.each(s => s.appear(1000));
2825
+ this.ChartInstance.appear(1000, 100);
2826
+ }
2547
2827
  return this;
2548
2828
  }
2549
2829
  fixTimeUnit(tu) {
@@ -2690,10 +2970,10 @@ class EsChartComponent extends BaseChartComponent {
2690
2970
  return new VerticalStackedChartService().graphicate(this.Data, settings);
2691
2971
  }
2692
2972
  }
2693
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i3.DateService }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i3$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
2694
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.28", type: EsChartComponent, isStandalone: false, selector: "es-chart", inputs: { Type: "Type", Data: "Data", DataArray: "DataArray" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2973
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i3.DateService }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i3$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
2974
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: EsChartComponent, isStandalone: false, selector: "es-chart", inputs: { Type: "Type", Data: "Data", DataArray: "DataArray" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2695
2975
  }
2696
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsChartComponent, decorators: [{
2976
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsChartComponent, decorators: [{
2697
2977
  type: Component,
2698
2978
  args: [{ selector: 'es-chart', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
2699
2979
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: i3.DateService }, { type: i0.NgZone }, { type: Object, decorators: [{
@@ -2756,10 +3036,10 @@ class EsAreaChartComponent extends BaseChartComponent {
2756
3036
  graphicate(settingsCasted) {
2757
3037
  return new AreaChartService().graphicate(this.Data, settingsCasted);
2758
3038
  }
2759
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsAreaChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i3$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
2760
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.28", type: EsAreaChartComponent, isStandalone: false, selector: "es-area-chart", inputs: { Data: "Data", DataArray: "DataArray" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3039
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsAreaChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i3$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
3040
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: EsAreaChartComponent, isStandalone: false, selector: "es-area-chart", inputs: { Data: "Data", DataArray: "DataArray" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2761
3041
  }
2762
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsAreaChartComponent, decorators: [{
3042
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsAreaChartComponent, decorators: [{
2763
3043
  type: Component,
2764
3044
  args: [{ selector: 'es-area-chart', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
2765
3045
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: i0.NgZone }, { type: Object, decorators: [{
@@ -2832,10 +3112,10 @@ class EsLineChartComponent extends BaseChartComponent {
2832
3112
  graphicate(settingsCasted) {
2833
3113
  return new LineChartService(this.dateService).graphicate(this.Data, settingsCasted);
2834
3114
  }
2835
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsLineChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i3.DateService }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i3$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
2836
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.28", type: EsLineChartComponent, isStandalone: false, selector: "es-line-chart", inputs: { Data: "Data", DataArray: "DataArray", Step: "Step", DataGroupBucketSize: "DataGroupBucketSize", DataGroupingThreshold: "DataGroupingThreshold", StrokeSize: "StrokeSize", AllowGaps: "AllowGaps", MergeDatasets: "MergeDatasets", FinalInstants: "FinalInstants", Min: "Min", Max: "Max", Fill: "Fill", Stacked: "Stacked" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3115
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsLineChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i3.DateService }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i3$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
3116
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: EsLineChartComponent, isStandalone: false, selector: "es-line-chart", inputs: { Data: "Data", DataArray: "DataArray", Step: "Step", DataGroupBucketSize: "DataGroupBucketSize", DataGroupingThreshold: "DataGroupingThreshold", StrokeSize: "StrokeSize", AllowGaps: "AllowGaps", MergeDatasets: "MergeDatasets", FinalInstants: "FinalInstants", Min: "Min", Max: "Max", Fill: "Fill", Stacked: "Stacked" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2837
3117
  }
2838
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsLineChartComponent, decorators: [{
3118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsLineChartComponent, decorators: [{
2839
3119
  type: Component,
2840
3120
  args: [{ selector: 'es-line-chart', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
2841
3121
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: i3.DateService }, { type: i0.NgZone }, { type: Object, decorators: [{
@@ -2925,10 +3205,10 @@ class EsPieChartComponent extends BaseChartComponent {
2925
3205
  graphicate(settingsCasted) {
2926
3206
  return new PieChartService().graphicate(this.Data, settingsCasted);
2927
3207
  }
2928
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsPieChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i3$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
2929
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.28", type: EsPieChartComponent, isStandalone: false, selector: "es-pie-chart", inputs: { Data: "Data", DataArray: "DataArray", HideZeroes: "HideZeroes", Mode3D: "Mode3D", DonutRadiusPercentage: "DonutRadiusPercentage", LabelsWrap: "LabelsWrap", LabelsTruncate: "LabelsTruncate", LabelsWidth: "LabelsWidth", LabelsVisible: "LabelsVisible", Total: "Total" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3208
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsPieChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i3$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
3209
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: EsPieChartComponent, isStandalone: false, selector: "es-pie-chart", inputs: { Data: "Data", DataArray: "DataArray", HideZeroes: "HideZeroes", Mode3D: "Mode3D", DonutRadiusPercentage: "DonutRadiusPercentage", LabelsWrap: "LabelsWrap", LabelsTruncate: "LabelsTruncate", LabelsWidth: "LabelsWidth", LabelsVisible: "LabelsVisible", Total: "Total" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2930
3210
  }
2931
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsPieChartComponent, decorators: [{
3211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsPieChartComponent, decorators: [{
2932
3212
  type: Component,
2933
3213
  args: [{ selector: 'es-pie-chart', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
2934
3214
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: i0.NgZone }, { type: Object, decorators: [{
@@ -3011,10 +3291,10 @@ class EsVertical2DChartComponent extends BaseChartComponent {
3011
3291
  graphicate(settingsCasted) {
3012
3292
  return new Vertical2DChartService().graphicate(this.Data, settingsCasted);
3013
3293
  }
3014
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsVertical2DChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i3$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
3015
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.28", type: EsVertical2DChartComponent, isStandalone: false, selector: "es-vertical-2d-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", GroupPaddingPercentage: "GroupPaddingPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3294
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsVertical2DChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i3$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
3295
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: EsVertical2DChartComponent, isStandalone: false, selector: "es-vertical-2d-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", GroupPaddingPercentage: "GroupPaddingPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3016
3296
  }
3017
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsVertical2DChartComponent, decorators: [{
3297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsVertical2DChartComponent, decorators: [{
3018
3298
  type: Component,
3019
3299
  args: [{ selector: 'es-vertical-2d-chart', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
3020
3300
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: i0.NgZone }, { type: Object, decorators: [{
@@ -3092,10 +3372,10 @@ class EsVerticalChartComponent extends BaseChartComponent {
3092
3372
  graphicate(settingsCasted) {
3093
3373
  return new VerticalChartService().graphicate(this.Data, settingsCasted);
3094
3374
  }
3095
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsVerticalChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i3$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
3096
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.28", type: EsVerticalChartComponent, isStandalone: false, selector: "es-vertical-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3375
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsVerticalChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i3$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
3376
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: EsVerticalChartComponent, isStandalone: false, selector: "es-vertical-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3097
3377
  }
3098
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsVerticalChartComponent, decorators: [{
3378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsVerticalChartComponent, decorators: [{
3099
3379
  type: Component,
3100
3380
  args: [{ selector: 'es-vertical-chart', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
3101
3381
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: i0.NgZone }, { type: Object, decorators: [{
@@ -3171,10 +3451,10 @@ class EsVerticalStackedChartComponent extends BaseChartComponent {
3171
3451
  graphicate(settingsCasted) {
3172
3452
  return new VerticalStackedChartService().graphicate(this.Data, settingsCasted);
3173
3453
  }
3174
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsVerticalStackedChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i3$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
3175
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.28", type: EsVerticalStackedChartComponent, isStandalone: false, selector: "es-vertical-stacked-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3454
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsVerticalStackedChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_DEBUG_MODE }, { token: ESC_ANIMATIONS }, { token: ESC_THEME }, { token: i3$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component }); }
3455
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: EsVerticalStackedChartComponent, isStandalone: false, selector: "es-vertical-stacked-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3176
3456
  }
3177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsVerticalStackedChartComponent, decorators: [{
3457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsVerticalStackedChartComponent, decorators: [{
3178
3458
  type: Component,
3179
3459
  args: [{ selector: 'es-vertical-stacked-chart', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
3180
3460
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: i0.NgZone }, { type: Object, decorators: [{
@@ -3249,8 +3529,8 @@ class EsChartsModule {
3249
3529
  ]
3250
3530
  };
3251
3531
  }
3252
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsChartsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3253
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.28", ngImport: i0, type: EsChartsModule, declarations: [EsChartComponent,
3532
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsChartsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3533
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: EsChartsModule, declarations: [EsChartComponent,
3254
3534
  EsLineChartComponent,
3255
3535
  EsPieChartComponent,
3256
3536
  EsVertical2DChartComponent,
@@ -3265,9 +3545,9 @@ class EsChartsModule {
3265
3545
  EsVerticalStackedChartComponent,
3266
3546
  PageChartSelector,
3267
3547
  EsAreaChartComponent] }); }
3268
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsChartsModule, imports: [CommonModule] }); }
3548
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsChartsModule, imports: [CommonModule] }); }
3269
3549
  }
3270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.28", ngImport: i0, type: EsChartsModule, decorators: [{
3550
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EsChartsModule, decorators: [{
3271
3551
  type: NgModule,
3272
3552
  args: [{
3273
3553
  imports: [CommonModule],