@esfaenza/es-charts 13.1.4 → 13.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/esm2020/lib/adapters/BaseAdapter.mjs +50 -0
  2. package/esm2020/lib/adapters/IBaseAdapter.mjs +2 -0
  3. package/esm2020/lib/components/base/base-chart.component.mjs +4 -3
  4. package/esm2020/lib/components/chart-pager/chart-pager.component.mjs +1 -1
  5. package/esm2020/lib/components/specializations/es-area-chart.component.mjs +11 -10
  6. package/esm2020/lib/components/specializations/es-chart.component.mjs +24 -11
  7. package/esm2020/lib/components/specializations/es-line-chart.component.mjs +12 -11
  8. package/esm2020/lib/components/specializations/es-pie-chart.component.mjs +11 -10
  9. package/esm2020/lib/components/specializations/es-vertical-2d-chart.component.mjs +11 -10
  10. package/esm2020/lib/components/specializations/es-vertical-chart.component.mjs +11 -10
  11. package/esm2020/lib/components/specializations/es-vertical-stacked-chart.component.mjs +11 -10
  12. package/esm2020/lib/es-charts.module.mjs +13 -5
  13. package/esm2020/lib/models/core/ChartDispatcher.mjs +91 -0
  14. package/esm2020/lib/models/core/ChartLoader.mjs +201 -0
  15. package/esm2020/lib/models/core/ChartThemes.mjs +61 -0
  16. package/esm2020/lib/models/data/AreaChartData.mjs +16 -0
  17. package/esm2020/lib/models/data/LineChartData.mjs +16 -0
  18. package/esm2020/lib/models/data/PagedChartData.mjs +20 -0
  19. package/esm2020/lib/models/data/PieChartData.mjs +14 -0
  20. package/esm2020/lib/models/data/Vertical2DChartData.mjs +16 -0
  21. package/esm2020/lib/models/data/VerticalChartData.mjs +14 -0
  22. package/esm2020/lib/models/data/VerticalStackedChartData.mjs +14 -0
  23. package/esm2020/lib/models/data/base/DateValue.mjs +11 -0
  24. package/esm2020/lib/models/data/base/KeyValue.mjs +11 -0
  25. package/esm2020/lib/models/data/base/KeyValueColor.mjs +12 -0
  26. package/esm2020/lib/models/data/base/Limit.mjs +15 -0
  27. package/esm2020/lib/models/data/base/LineSerie.mjs +24 -0
  28. package/esm2020/lib/models/settings/AreaChartSettings.mjs +11 -0
  29. package/esm2020/lib/models/settings/LineChartSettings.mjs +11 -0
  30. package/esm2020/lib/models/settings/PieChartSettings.mjs +7 -0
  31. package/esm2020/lib/models/settings/Vertical2DChartSettings.mjs +11 -0
  32. package/esm2020/lib/models/settings/VerticalChartSettings.mjs +11 -0
  33. package/esm2020/lib/models/settings/VerticalStackedChartSettings.mjs +11 -0
  34. package/esm2020/lib/models/settings/base/BaseInterval.mjs +6 -0
  35. package/esm2020/lib/models/settings/base/BaseSettings.mjs +6 -0
  36. package/esm2020/lib/models/settings/base/LegendPad.mjs +6 -0
  37. package/esm2020/lib/services/AreaChartService.mjs +134 -0
  38. package/esm2020/lib/services/LineChartService.mjs +337 -0
  39. package/esm2020/lib/services/PieChartService.mjs +111 -0
  40. package/esm2020/lib/services/Vertical2DChartService.mjs +160 -0
  41. package/esm2020/lib/services/VerticalChartService.mjs +103 -0
  42. package/esm2020/lib/services/VerticalStackedChartService.mjs +124 -0
  43. package/esm2020/lib/services/base/IBaseService.mjs +2 -0
  44. package/esm2020/public-api.mjs +25 -25
  45. package/fesm2015/esfaenza-es-charts.mjs +372 -391
  46. package/fesm2015/esfaenza-es-charts.mjs.map +1 -1
  47. package/fesm2020/esfaenza-es-charts.mjs +361 -380
  48. package/fesm2020/esfaenza-es-charts.mjs.map +1 -1
  49. package/lib/adapters/{classes/BaseAdapter.d.ts → BaseAdapter.d.ts} +6 -1
  50. package/lib/adapters/{classes/IBaseAdapter.d.ts → IBaseAdapter.d.ts} +6 -1
  51. package/lib/components/base/base-chart.component.d.ts +10 -4
  52. package/lib/components/chart-pager/chart-pager.component.d.ts +1 -1
  53. package/lib/components/specializations/es-area-chart.component.d.ts +6 -4
  54. package/lib/components/specializations/es-chart.component.d.ts +17 -5
  55. package/lib/components/specializations/es-line-chart.component.d.ts +6 -4
  56. package/lib/components/specializations/es-pie-chart.component.d.ts +6 -4
  57. package/lib/components/specializations/es-vertical-2d-chart.component.d.ts +6 -4
  58. package/lib/components/specializations/es-vertical-chart.component.d.ts +6 -4
  59. package/lib/components/specializations/es-vertical-stacked-chart.component.d.ts +6 -4
  60. package/lib/models/core/{classes/ChartDispatcher.d.ts → ChartDispatcher.d.ts} +0 -0
  61. package/lib/models/core/{classes/ChartLoader.d.ts → ChartLoader.d.ts} +0 -0
  62. package/lib/models/core/{classes/ChartThemes.d.ts → ChartThemes.d.ts} +0 -0
  63. package/lib/models/data/{classes/AreaChartData.d.ts → AreaChartData.d.ts} +1 -1
  64. package/lib/models/data/{classes/LineChartData.d.ts → LineChartData.d.ts} +0 -0
  65. package/lib/models/data/{classes/PagedChartData.d.ts → PagedChartData.d.ts} +0 -0
  66. package/lib/models/data/{classes/PieChartData.d.ts → PieChartData.d.ts} +0 -0
  67. package/lib/models/data/{classes/Vertical2DChartData.d.ts → Vertical2DChartData.d.ts} +0 -0
  68. package/lib/models/data/{classes/VerticalChartData.d.ts → VerticalChartData.d.ts} +0 -0
  69. package/lib/models/data/{classes/VerticalStackedChartData.d.ts → VerticalStackedChartData.d.ts} +0 -0
  70. package/lib/models/data/{classes/base → base}/DateValue.d.ts +0 -0
  71. package/lib/models/data/{classes/base → base}/KeyValue.d.ts +0 -0
  72. package/lib/models/data/{classes/base → base}/KeyValueColor.d.ts +0 -0
  73. package/lib/models/data/base/Limit.d.ts +13 -0
  74. package/lib/models/data/{classes/base → base}/LineSerie.d.ts +1 -1
  75. package/lib/models/settings/{classes/AreaChartSettings.d.ts → AreaChartSettings.d.ts} +0 -0
  76. package/lib/models/settings/{classes/LineChartSettings.d.ts → LineChartSettings.d.ts} +0 -0
  77. package/lib/models/settings/{classes/PieChartSettings.d.ts → PieChartSettings.d.ts} +0 -0
  78. package/lib/models/settings/{classes/Vertical2DChartSettings.d.ts → Vertical2DChartSettings.d.ts} +0 -0
  79. package/lib/models/settings/{classes/VerticalChartSettings.d.ts → VerticalChartSettings.d.ts} +0 -0
  80. package/lib/models/settings/{classes/VerticalStackedChartSettings.d.ts → VerticalStackedChartSettings.d.ts} +0 -0
  81. package/lib/models/settings/{classes/base → base}/BaseInterval.d.ts +0 -0
  82. package/lib/models/settings/{classes/base → base}/BaseSettings.d.ts +1 -1
  83. package/lib/models/settings/{classes/base → base}/LegendPad.d.ts +0 -0
  84. package/lib/services/{classes/AreaChartService.d.ts → AreaChartService.d.ts} +3 -3
  85. package/lib/services/{classes/LineChartService.d.ts → LineChartService.d.ts} +3 -3
  86. package/lib/services/{classes/PieChartService.d.ts → PieChartService.d.ts} +3 -3
  87. package/lib/services/{classes/Vertical2DChartService.d.ts → Vertical2DChartService.d.ts} +3 -3
  88. package/lib/services/{classes/VerticalChartService.d.ts → VerticalChartService.d.ts} +3 -3
  89. package/lib/services/{classes/VerticalStackedChartService.d.ts → VerticalStackedChartService.d.ts} +3 -3
  90. package/lib/services/{classes/base → base}/IBaseService.d.ts +1 -1
  91. package/package.json +1 -1
  92. package/public-api.d.ts +24 -24
  93. package/esm2020/lib/adapters/classes/BaseAdapter.mjs +0 -50
  94. package/esm2020/lib/adapters/classes/IBaseAdapter.mjs +0 -2
  95. package/esm2020/lib/adapters/index.mjs +0 -3
  96. package/esm2020/lib/components/index.mjs +0 -9
  97. package/esm2020/lib/models/core/classes/ChartDispatcher.mjs +0 -91
  98. package/esm2020/lib/models/core/classes/ChartLoader.mjs +0 -201
  99. package/esm2020/lib/models/core/classes/ChartThemes.mjs +0 -61
  100. package/esm2020/lib/models/core/index.mjs +0 -4
  101. package/esm2020/lib/models/data/classes/AreaChartData.mjs +0 -16
  102. package/esm2020/lib/models/data/classes/LineChartData.mjs +0 -16
  103. package/esm2020/lib/models/data/classes/PagedChartData.mjs +0 -20
  104. package/esm2020/lib/models/data/classes/PieChartData.mjs +0 -14
  105. package/esm2020/lib/models/data/classes/Vertical2DChartData.mjs +0 -16
  106. package/esm2020/lib/models/data/classes/VerticalChartData.mjs +0 -14
  107. package/esm2020/lib/models/data/classes/VerticalStackedChartData.mjs +0 -14
  108. package/esm2020/lib/models/data/classes/base/DateValue.mjs +0 -11
  109. package/esm2020/lib/models/data/classes/base/KeyValue.mjs +0 -11
  110. package/esm2020/lib/models/data/classes/base/KeyValueColor.mjs +0 -12
  111. package/esm2020/lib/models/data/classes/base/Limit.mjs +0 -15
  112. package/esm2020/lib/models/data/classes/base/LineSerie.mjs +0 -24
  113. package/esm2020/lib/models/data/index.mjs +0 -13
  114. package/esm2020/lib/models/settings/classes/AreaChartSettings.mjs +0 -11
  115. package/esm2020/lib/models/settings/classes/LineChartSettings.mjs +0 -11
  116. package/esm2020/lib/models/settings/classes/PieChartSettings.mjs +0 -7
  117. package/esm2020/lib/models/settings/classes/Vertical2DChartSettings.mjs +0 -11
  118. package/esm2020/lib/models/settings/classes/VerticalChartSettings.mjs +0 -11
  119. package/esm2020/lib/models/settings/classes/VerticalStackedChartSettings.mjs +0 -11
  120. package/esm2020/lib/models/settings/classes/base/BaseInterval.mjs +0 -6
  121. package/esm2020/lib/models/settings/classes/base/BaseSettings.mjs +0 -6
  122. package/esm2020/lib/models/settings/classes/base/LegendPad.mjs +0 -6
  123. package/esm2020/lib/models/settings/index.mjs +0 -10
  124. package/esm2020/lib/services/classes/AreaChartService.mjs +0 -134
  125. package/esm2020/lib/services/classes/LineChartService.mjs +0 -356
  126. package/esm2020/lib/services/classes/PieChartService.mjs +0 -111
  127. package/esm2020/lib/services/classes/Vertical2DChartService.mjs +0 -160
  128. package/esm2020/lib/services/classes/VerticalChartService.mjs +0 -103
  129. package/esm2020/lib/services/classes/VerticalStackedChartService.mjs +0 -124
  130. package/esm2020/lib/services/classes/base/IBaseService.mjs +0 -2
  131. package/esm2020/lib/services/index.mjs +0 -8
  132. package/lib/adapters/index.d.ts +0 -2
  133. package/lib/components/index.d.ts +0 -8
  134. package/lib/models/core/index.d.ts +0 -3
  135. package/lib/models/data/classes/base/Limit.d.ts +0 -13
  136. package/lib/models/data/index.d.ts +0 -12
  137. package/lib/models/settings/index.d.ts +0 -9
  138. package/lib/services/index.d.ts +0 -7
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, EventEmitter, Component, ChangeDetectionStrategy, Input, Output, ContentChild, InjectionToken, Inject, Directive, PLATFORM_ID, NgModule } from '@angular/core';
3
- import * as i4 from '@angular/common';
3
+ import * as i5 from '@angular/common';
4
4
  import { isPlatformBrowser, CommonModule } from '@angular/common';
5
5
  import * as am4core from '@amcharts/amcharts4/core';
6
6
  import * as am4charts from '@amcharts/amcharts4/charts';
7
- import * as i2 from '@esfaenza/extensions';
7
+ import * as i3 from '@esfaenza/extensions';
8
8
 
9
9
  /**
10
10
  * Adapter Base da reimplementare per trasformare i dati da una libreria di grafici a questa per evitare di riscrivere tutto il codice di
@@ -223,13 +223,13 @@ class LegendPad {
223
223
  */
224
224
  class Limit {
225
225
  /** @ignore */
226
- constructor(upper, upperLabel, upperColor, lower, lowerLabel, lowerColor) {
226
+ constructor(upper, upperlabel, uppercolor, lower, lowerlabel, lowercolor) {
227
227
  this.upper = upper;
228
- this.upperLabel = upperLabel;
229
- this.upperColor = upperColor;
228
+ this.upperlabel = upperlabel;
229
+ this.uppercolor = uppercolor;
230
230
  this.lower = lower;
231
- this.lowerLabel = lowerLabel;
232
- this.lowerColor = lowerColor;
231
+ this.lowerlabel = lowerlabel;
232
+ this.lowercolor = lowercolor;
233
233
  }
234
234
  }
235
235
 
@@ -358,7 +358,7 @@ class PageChartSelector {
358
358
  }
359
359
  }
360
360
  PageChartSelector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageChartSelector, deps: [], target: i0.ɵɵFactoryTarget.Component });
361
- PageChartSelector.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: PageChartSelector, 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"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
361
+ PageChartSelector.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: PageChartSelector, 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"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
362
362
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageChartSelector, decorators: [{
363
363
  type: Component,
364
364
  args: [{ selector: "chart-pager", changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]
@@ -377,113 +377,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
377
377
  args: ['header_inner', { static: false }]
378
378
  }] } });
379
379
 
380
- /**
381
- * Token che identifica il Locale di default per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
382
- */
383
- const ESC_LOCALE = new InjectionToken('ESC_LOCALE');
384
- /**
385
- * Token che identifica il default per l'utilizzo o meno delle Animazioni per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
386
- */
387
- const ESC_ANIMATIONS = new InjectionToken('ESC_ANIMATIONS');
388
- /**
389
- * Token che identifica il Tema di default per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
390
- */
391
- const ESC_THEME = new InjectionToken('ESC_THEME');
392
- /**
393
- * Token che identifica l'utilizzo o meno del sistema di Log per l'intera libreria
394
- */
395
- const ESC_LOGS = new InjectionToken('ESC_LOGS');
396
-
397
- /**
398
- * Classe che si occupa del dispatch delle operazioni di rendering dei grafici utilizzando una coda per permettere ad ogni grafico di avere temi e localizzazione custom
399
- */
400
- class ChartDispatcher {
401
- /**
402
- * @ignore
403
- */
404
- constructor(logs) {
405
- this.logs = logs;
406
- /**
407
- * Coda di inizializzazioni ancora da eseguire. Quando questa è vuota significa che nessuno sta creando grafici
408
- */
409
- this.Initializations = [];
410
- /**
411
- * Lista dei grafici inizializzati e attivi in un dato momento (viene registrata la proprietà **name**). Non è possibile registrare due grafici con lo stesso identificativo
412
- */
413
- this.InitializedGraphs = [];
414
- }
415
- /**
416
- * Registra un grafico da visualizzare insieme alla propria funzione di creazione. Quest'ultima sarà differita fino a che tutti i grafici
417
- * precedentemente registati non hanno finito la fase di inizializzazione
418
- *
419
- * @param {string} name Identificativo del grafico da registrare
420
- * @param {Function} chartCreationFunction Funzione che fisicamente dovrà occuparsi della creazione del grafico
421
- */
422
- register(name, chartCreationFunction) {
423
- if (this.InitializedGraphs.indexOf(name) != -1)
424
- throw "Attempting to register a duplicate chart '" + name + "'. Make sure the 'name' properties of your charts are univoque";
425
- this.log("DISPATCHER: Registering chart creation function execution for " + name);
426
- this.Initializations.push({ name: name, function: chartCreationFunction });
427
- if (this.Initializations.length == 1) {
428
- this.log("DISPATCHER: Initial drain started");
429
- this.drainInitQueues();
430
- }
431
- }
432
- /**
433
- * Deregistra un grafico presente. Chiamata generalmente al dispose del grafico in questione quando non dev'essere più mostrato nella pagina corrente
434
- *
435
- * @param {string} name Identificativo del grafico da deregistrare
436
- */
437
- deregisterGraph(name) {
438
- let index = this.InitializedGraphs.indexOf(name);
439
- if (index == -1) {
440
- //Questo succede quando si cerca di distruggere il grafico mentre sta venendo graficato
441
- this.log("DISPATCHER: Registration missing for chart " + name + " it was probably destroyed during load");
442
- return;
443
- }
444
- this.log("DISPATCHER: Chart deregistered " + name);
445
- this.InitializedGraphs.splice(index, 1);
446
- }
447
- /**
448
- * Metodo che esegue in maniera sequenziale le funzioni di inizializzazione dei grafici finché presenti
449
- * in modo che nessun grafico possa essere inizializzato contemporaneamente ad un altro.
450
- *
451
- * Questo è il punto chiave che permette di avere per ogni grafico temi e locale differenti
452
- */
453
- drainInitQueues() {
454
- let toExecute = this.Initializations[0];
455
- this.log("DISPATCHER: Executing initialization function for chart " + toExecute.name);
456
- toExecute.function().then(() => {
457
- this.log("DISPATCHER: initialization for chart " + toExecute.name + " is done");
458
- this.InitializedGraphs.push(toExecute.name);
459
- this.Initializations.splice(0, 1);
460
- if (this.Initializations.length >= 1) {
461
- this.log("DISPATCHER: Found queued initializations. Continuing");
462
- this.drainInitQueues();
463
- }
464
- else
465
- this.log("DISPATCHER: queue is over, nothing more to do");
466
- });
467
- }
468
- /**
469
- * @ignore
470
- */
471
- log(text) {
472
- if (this.logs)
473
- console.log("@esfaenza/es-charts: " + text);
474
- }
475
- }
476
- ChartDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher, deps: [{ token: ESC_LOGS }], target: i0.ɵɵFactoryTarget.Injectable });
477
- ChartDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher });
478
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher, decorators: [{
479
- type: Injectable
480
- }], ctorParameters: function () {
481
- return [{ type: undefined, decorators: [{
482
- type: Inject,
483
- args: [ESC_LOGS]
484
- }] }];
485
- } });
486
-
487
380
  /** @ignore */
488
381
  const _spiritedaway = 'spiritedaway';
489
382
  /** @ignore */
@@ -745,6 +638,113 @@ class ChartLoader {
745
638
  }
746
639
  }
747
640
 
641
+ /**
642
+ * Token che identifica il Locale di default per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
643
+ */
644
+ const ESC_LOCALE = new InjectionToken('ESC_LOCALE');
645
+ /**
646
+ * Token che identifica il default per l'utilizzo o meno delle Animazioni per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
647
+ */
648
+ const ESC_ANIMATIONS = new InjectionToken('ESC_ANIMATIONS');
649
+ /**
650
+ * Token che identifica il Tema di default per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
651
+ */
652
+ const ESC_THEME = new InjectionToken('ESC_THEME');
653
+ /**
654
+ * Token che identifica l'utilizzo o meno del sistema di Log per l'intera libreria
655
+ */
656
+ const ESC_LOGS = new InjectionToken('ESC_LOGS');
657
+
658
+ /**
659
+ * Classe che si occupa del dispatch delle operazioni di rendering dei grafici utilizzando una coda per permettere ad ogni grafico di avere temi e localizzazione custom
660
+ */
661
+ class ChartDispatcher {
662
+ /**
663
+ * @ignore
664
+ */
665
+ constructor(logs) {
666
+ this.logs = logs;
667
+ /**
668
+ * Coda di inizializzazioni ancora da eseguire. Quando questa è vuota significa che nessuno sta creando grafici
669
+ */
670
+ this.Initializations = [];
671
+ /**
672
+ * Lista dei grafici inizializzati e attivi in un dato momento (viene registrata la proprietà **name**). Non è possibile registrare due grafici con lo stesso identificativo
673
+ */
674
+ this.InitializedGraphs = [];
675
+ }
676
+ /**
677
+ * Registra un grafico da visualizzare insieme alla propria funzione di creazione. Quest'ultima sarà differita fino a che tutti i grafici
678
+ * precedentemente registati non hanno finito la fase di inizializzazione
679
+ *
680
+ * @param {string} name Identificativo del grafico da registrare
681
+ * @param {Function} chartCreationFunction Funzione che fisicamente dovrà occuparsi della creazione del grafico
682
+ */
683
+ register(name, chartCreationFunction) {
684
+ if (this.InitializedGraphs.indexOf(name) != -1)
685
+ throw "Attempting to register a duplicate chart '" + name + "'. Make sure the 'name' properties of your charts are univoque";
686
+ this.log("DISPATCHER: Registering chart creation function execution for " + name);
687
+ this.Initializations.push({ name: name, function: chartCreationFunction });
688
+ if (this.Initializations.length == 1) {
689
+ this.log("DISPATCHER: Initial drain started");
690
+ this.drainInitQueues();
691
+ }
692
+ }
693
+ /**
694
+ * Deregistra un grafico presente. Chiamata generalmente al dispose del grafico in questione quando non dev'essere più mostrato nella pagina corrente
695
+ *
696
+ * @param {string} name Identificativo del grafico da deregistrare
697
+ */
698
+ deregisterGraph(name) {
699
+ let index = this.InitializedGraphs.indexOf(name);
700
+ if (index == -1) {
701
+ //Questo succede quando si cerca di distruggere il grafico mentre sta venendo graficato
702
+ this.log("DISPATCHER: Registration missing for chart " + name + " it was probably destroyed during load");
703
+ return;
704
+ }
705
+ this.log("DISPATCHER: Chart deregistered " + name);
706
+ this.InitializedGraphs.splice(index, 1);
707
+ }
708
+ /**
709
+ * Metodo che esegue in maniera sequenziale le funzioni di inizializzazione dei grafici finché presenti
710
+ * in modo che nessun grafico possa essere inizializzato contemporaneamente ad un altro.
711
+ *
712
+ * Questo è il punto chiave che permette di avere per ogni grafico temi e locale differenti
713
+ */
714
+ drainInitQueues() {
715
+ let toExecute = this.Initializations[0];
716
+ this.log("DISPATCHER: Executing initialization function for chart " + toExecute.name);
717
+ toExecute.function().then(() => {
718
+ this.log("DISPATCHER: initialization for chart " + toExecute.name + " is done");
719
+ this.InitializedGraphs.push(toExecute.name);
720
+ this.Initializations.splice(0, 1);
721
+ if (this.Initializations.length >= 1) {
722
+ this.log("DISPATCHER: Found queued initializations. Continuing");
723
+ this.drainInitQueues();
724
+ }
725
+ else
726
+ this.log("DISPATCHER: queue is over, nothing more to do");
727
+ });
728
+ }
729
+ /**
730
+ * @ignore
731
+ */
732
+ log(text) {
733
+ if (this.logs)
734
+ console.log("@esfaenza/es-charts: " + text);
735
+ }
736
+ }
737
+ ChartDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher, deps: [{ token: ESC_LOGS }], target: i0.ɵɵFactoryTarget.Injectable });
738
+ ChartDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher });
739
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher, decorators: [{
740
+ type: Injectable
741
+ }], ctorParameters: function () {
742
+ return [{ type: undefined, decorators: [{
743
+ type: Inject,
744
+ args: [ESC_LOGS]
745
+ }] }];
746
+ } });
747
+
748
748
  /**
749
749
  * Componente Grafico Base che gestisce tutte le cose comuni dei vari grafici istanziabili, come la presenza o menu di una legenda,
750
750
  * il tema utilizzato, il locale del singolo grafico, ecc ecc...
@@ -1136,11 +1136,11 @@ class LineChartService {
1136
1136
  let range = yAxis.axisRanges.create();
1137
1137
  range.value = dataConverted.limit.upper;
1138
1138
  range.label.inside = true;
1139
- range.label.text = dataConverted.limit.upperLabel;
1139
+ range.label.text = dataConverted.limit.upperlabel;
1140
1140
  range.label.fill = range.grid.stroke;
1141
1141
  range.label.verticalCenter = "bottom";
1142
- range.label.stroke = am4core.color(dataConverted.limit.upperColor || "#F92200");
1143
- range.grid.stroke = am4core.color(dataConverted.limit.upperColor || "#F92200");
1142
+ range.label.stroke = am4core.color(dataConverted.limit.uppercolor || "#F92200");
1143
+ range.grid.stroke = am4core.color(dataConverted.limit.uppercolor || "#F92200");
1144
1144
  range.grid.strokeWidth = 2;
1145
1145
  range.grid.strokeOpacity = 1;
1146
1146
  }
@@ -1148,11 +1148,11 @@ class LineChartService {
1148
1148
  let range = yAxis.axisRanges.create();
1149
1149
  range.value = dataConverted.limit.lower;
1150
1150
  range.label.inside = true;
1151
- range.label.text = dataConverted.limit.lowerLabel;
1151
+ range.label.text = dataConverted.limit.lowerlabel;
1152
1152
  range.label.fill = range.grid.stroke;
1153
1153
  range.label.verticalCenter = "bottom";
1154
- range.label.stroke = am4core.color(dataConverted.limit.lowerColor || "#F92200");
1155
- range.grid.stroke = am4core.color(dataConverted.limit.lowerColor || "#F92200");
1154
+ range.label.stroke = am4core.color(dataConverted.limit.lowercolor || "#F92200");
1155
+ range.grid.stroke = am4core.color(dataConverted.limit.lowercolor || "#F92200");
1156
1156
  range.grid.strokeWidth = 2;
1157
1157
  range.grid.strokeOpacity = 1;
1158
1158
  }
@@ -1222,7 +1222,7 @@ class LineChartService {
1222
1222
  series.strokeWidth = (_b = settings === null || settings === void 0 ? void 0 : settings.StrokeSize) !== null && _b !== void 0 ? _b : 1;
1223
1223
  series.connect = !gapsAllowed;
1224
1224
  series.minBulletDistance = 10;
1225
- series.tooltipText = this.singleDataSet ? "" : "{name}: [bold]{valueY}[/]";
1225
+ series.tooltipText = this.singleDataSet ? "" : s.name ? "{name}: [bold]{valueY}[/]" : "[bold]{valueY}[/]";
1226
1226
  series.tooltip.pointerOrientation = "vertical";
1227
1227
  series.tooltip.background.fillOpacity = 0.5;
1228
1228
  series.tooltip.label.padding(12, 12, 12, 12);
@@ -1261,7 +1261,7 @@ class LineChartService {
1261
1261
  var text = "[bold]{dateX.formatDate()}[/]\n";
1262
1262
  this.ChartInstance.series.each((item) => {
1263
1263
  let uom = " [font-style: italic]" + series.dataFields.measureUnit || "" + "[/]";
1264
- text += "[" + item.stroke.hex + "]●[/] " + item.name + ": [bold]{" + item.dataFields.valueY + "}[/]" + uom + "\n";
1264
+ text += "[" + item.stroke.hex + "]●[/] " + (item.name ? (item.name + ": ") : "") + "[bold]{" + item.dataFields.valueY + "}[/]" + uom + "\n";
1265
1265
  });
1266
1266
  return text;
1267
1267
  });
@@ -1335,26 +1335,7 @@ class LineChartService {
1335
1335
  this.ChartInstance.addData(data);
1336
1336
  return;
1337
1337
  }
1338
- this.ChartInstance.series.each(s => {
1339
- var relativeSerie = dataConverted.series.find(t => t.name == s.name);
1340
- // Una serie del grafico è stata ggiornata, ordino i datapoint e li aggiungo
1341
- var correctOrder = true;
1342
- var prevDate = null;
1343
- for (let v = 0; v < relativeSerie.values.length; v++) {
1344
- if (!prevDate)
1345
- prevDate = relativeSerie.values[v].d;
1346
- else if (relativeSerie.values[v].d < prevDate) {
1347
- correctOrder = false;
1348
- break;
1349
- }
1350
- }
1351
- if (!correctOrder)
1352
- relativeSerie.values.sort((d1, d2) => d1.d.getTime() - d2.d.getTime());
1353
- for (let v = 0; v < relativeSerie.values.length; v++) {
1354
- let obj = relativeSerie.values[v];
1355
- s.addData({ date: obj.d, value: obj.v });
1356
- }
1357
- });
1338
+ throw "Impossibile aggiornare i dati senza unire il dataset. Si prega di impostare [MergeDatasets] a true";
1358
1339
  }
1359
1340
  /** Partendo da dati divisi per seriue genera un dataset unito con la data come chiave e i vari valori dopo */
1360
1341
  generateSingleDataset(data) {
@@ -1441,155 +1422,22 @@ class LineChartService {
1441
1422
  }
1442
1423
 
1443
1424
  /**
1444
- * Classe il cui unico scopo è gestire il setup e rendering di un AreaChart
1425
+ * Classe il cui unico scopo è gestire il setup e rendering di un PieChart
1445
1426
  */
1446
- class AreaChartService {
1427
+ class PieChartService {
1447
1428
  /** @ignore */
1448
1429
  constructor(Adapter) {
1449
1430
  this.Adapter = Adapter;
1450
- //******************** Funzione di throttling per non spammare richieste in caso di animazioni attivate
1451
- //TODO: spostarla in un metodo di utilità (esfaenza/extensions)
1452
1431
  /** @ignore */
1453
- this.executionTimers = {};
1432
+ this.ViewAbsoluteValues = true;
1454
1433
  }
1455
1434
  /**
1456
- * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un AreaChart
1435
+ * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un PieChart
1457
1436
  */
1458
1437
  graphicate(data, settings) {
1459
- var _a, _b, _c, _d, _e, _f;
1438
+ var _a, _b, _c, _d;
1460
1439
  if (settings.Timeline) {
1461
- console.error("Timeline not supported for area chart");
1462
- return null;
1463
- }
1464
- let dataConverted = this.Adapter ? this.Adapter.adaptDataForAreaChart(data) : data;
1465
- let showTicks = settings.ShowTicks == null ? true : settings === null || settings === void 0 ? void 0 : settings.ShowTicks;
1466
- let interval = dataConverted.interval;
1467
- //Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
1468
- am4core.options.autoDispose = true;
1469
- this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
1470
- let ChartInstanceCasted = this.ChartInstance;
1471
- if (settings.Legend) {
1472
- ChartInstanceCasted.legend = new am4charts.Legend();
1473
- ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
1474
- ChartInstanceCasted.legend.itemContainers.template.tooltipText = "{category}";
1475
- if (settings.LegendPadding) {
1476
- let template = this.ChartInstance.legend.itemContainers.template;
1477
- template.paddingTop = (_b = settings.LegendPadding.top) !== null && _b !== void 0 ? _b : 0;
1478
- template.paddingBottom = (_c = settings.LegendPadding.bottom) !== null && _c !== void 0 ? _c : 0;
1479
- template.paddingLeft = (_d = settings.LegendPadding.left) !== null && _d !== void 0 ? _d : 0;
1480
- template.paddingRight = (_e = settings.LegendPadding.right) !== null && _e !== void 0 ? _e : 0;
1481
- }
1482
- }
1483
- let yAxis = ChartInstanceCasted.yAxes.push(new am4charts.ValueAxis());
1484
- yAxis.tooltip.disabled = true;
1485
- if (settings.YAxisTitle) {
1486
- yAxis.title.text = settings.YAxisTitle;
1487
- yAxis.title.fontWeight = "bold";
1488
- }
1489
- yAxis.min = 0;
1490
- let dateAxis = ChartInstanceCasted.xAxes.push(new am4charts.DateAxis());
1491
- dateAxis.renderer.minGridDistance = (_f = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _f !== void 0 ? _f : 50;
1492
- dateAxis.startLocation = 0.5;
1493
- dateAxis.endLocation = 0.5;
1494
- if (settings.XAxisTitle) {
1495
- dateAxis.title.text = settings.XAxisTitle;
1496
- dateAxis.title.fontWeight = "bold";
1497
- }
1498
- if (showTicks) {
1499
- dateAxis.renderer.ticks.template.disabled = false;
1500
- dateAxis.renderer.ticks.template.strokeOpacity = 1;
1501
- dateAxis.renderer.ticks.template.stroke = am4core.color("#495C43");
1502
- dateAxis.renderer.ticks.template.strokeWidth = 2;
1503
- dateAxis.renderer.ticks.template.length = 10;
1504
- dateAxis.renderer.ticks.template.location = 0;
1505
- }
1506
- if (!!interval)
1507
- dateAxis.baseInterval = { count: interval.count, timeUnit: interval.timeunit };
1508
- // Unisco il dataset e tiro fuori i dati
1509
- let chartData = [];
1510
- let seriesToMakeCache = {};
1511
- let seriesToMake = [];
1512
- for (let i = 0; i < dataConverted.groups.length; i++) {
1513
- let group = dataConverted.groups[i];
1514
- let dataItem = { date: group.name };
1515
- for (let ii = 0; ii < group.values.length; ii++) {
1516
- let val = group.values[ii];
1517
- dataItem[val.k] = val.v;
1518
- if (!seriesToMakeCache[val.k]) {
1519
- seriesToMakeCache[val.k] = true;
1520
- seriesToMake.push(val.k);
1521
- }
1522
- }
1523
- chartData.push(dataItem);
1524
- }
1525
- ChartInstanceCasted.data = chartData;
1526
- //---------------------------------------------------------
1527
- seriesToMake.forEach(s => { this.createSeries(ChartInstanceCasted, s); });
1528
- ChartInstanceCasted.cursor = new am4charts.XYCursor();
1529
- ChartInstanceCasted.cursor.xAxis = dateAxis;
1530
- dateAxis.events.on("startchanged", t => this.emitSelectionChanged(t, settings));
1531
- dateAxis.events.on("endchanged", t => this.emitSelectionChanged(t, settings));
1532
- return this;
1533
- }
1534
- /** @ignore */
1535
- refreshData(data) {
1536
- //TODO:IMPL
1537
- }
1538
- /** @ignore */
1539
- emitSelectionChanged(ev, settings) {
1540
- if (settings.OnSelectionChangedCallback) {
1541
- this.throttla("selchange", () => {
1542
- var axis = ev.target;
1543
- var start = new Date(axis.minZoomed);
1544
- var end = new Date(axis.maxZoomed);
1545
- var initial = axis.min == axis.minZoomed && axis.max == axis.maxZoomed;
1546
- settings.OnSelectionChangedCallback({ from: start, to: end, initial: initial });
1547
- }, 150);
1548
- }
1549
- }
1550
- /** @ignore */
1551
- createSeries(chart, name) {
1552
- let series = chart.series.push(new am4charts.LineSeries());
1553
- series.dataFields.dateX = "date";
1554
- series.name = name[0].toUpperCase() + name.slice(1);
1555
- series.dataFields.valueY = name;
1556
- series.tooltipText = "[#000]{valueY.value}[/]";
1557
- //series.tooltip.background.fill = am4core.color("#FFF");
1558
- series.tooltip.getStrokeFromObject = true;
1559
- series.tooltip.background.strokeWidth = 3;
1560
- series.tooltip.getFillFromObject = false;
1561
- series.fillOpacity = 0.6;
1562
- series.strokeWidth = 2;
1563
- series.stacked = true;
1564
- return series;
1565
- }
1566
- /** @ignore */
1567
- throttla(id, func, throttleTime) {
1568
- //Se ho la funzione che vuole eseguire ripulisco quel timeout
1569
- if (this.executionTimers[id])
1570
- clearTimeout(this.executionTimers[id]);
1571
- //Ricreo il timeout per eseguire quella funzione dopo throttleTime millisecondi
1572
- this.executionTimers[id] = setTimeout(() => { func(); this.executionTimers[id] = null; }, throttleTime);
1573
- }
1574
- }
1575
-
1576
- /**
1577
- * Classe il cui unico scopo è gestire il setup e rendering di un PieChart
1578
- */
1579
- class PieChartService {
1580
- /** @ignore */
1581
- constructor(Adapter) {
1582
- this.Adapter = Adapter;
1583
- /** @ignore */
1584
- this.ViewAbsoluteValues = true;
1585
- }
1586
- /**
1587
- * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un PieChart
1588
- */
1589
- graphicate(data, settings) {
1590
- var _a, _b, _c, _d;
1591
- if (settings.Timeline) {
1592
- console.error("Timeline not supported for pie chart");
1440
+ console.error("Timeline not supported for pie chart");
1593
1441
  return null;
1594
1442
  }
1595
1443
  //Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
@@ -1684,15 +1532,13 @@ class PieChartService {
1684
1532
  }
1685
1533
 
1686
1534
  /**
1687
- * Classe il cui unico scopo è gestire il setup e rendering di un Vertical2DChart
1535
+ * Classe il cui unico scopo è gestire il setup e rendering di un VerticalChart
1688
1536
  */
1689
- class Vertical2DChartService {
1537
+ class VerticalChartService {
1690
1538
  /** @ignore */
1691
1539
  constructor(Adapter) {
1692
1540
  this.Adapter = Adapter;
1693
1541
  /** @ignore */
1694
- this.DefaultGroupPaddingPercentage = 5;
1695
- /** @ignore */
1696
1542
  this.dangerZone = 50;
1697
1543
  /** @ignore */
1698
1544
  this.LabelWidth = 150;
@@ -1704,10 +1550,10 @@ class Vertical2DChartService {
1704
1550
  this.DefaultColumnWidthPercentage = 85;
1705
1551
  }
1706
1552
  /**
1707
- * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un Vertical2DChart
1553
+ * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un VerticalChart
1708
1554
  */
1709
1555
  graphicate(data, settings) {
1710
- var _a, _b, _c, _d, _e, _f, _g, _h, _j;
1556
+ var _a, _b, _c, _d, _e, _f, _g, _h;
1711
1557
  if (settings.Timeline) {
1712
1558
  console.error("Timeline not supported for vertical chart");
1713
1559
  return null;
@@ -1716,6 +1562,8 @@ class Vertical2DChartService {
1716
1562
  am4core.options.autoDispose = true;
1717
1563
  this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
1718
1564
  let ChartInstanceCasted = this.ChartInstance;
1565
+ let dataConverted = this.Adapter ? this.Adapter.adaptDataForVerticalChart(data) : data;
1566
+ ChartInstanceCasted.data = dataConverted.values;
1719
1567
  if (settings.Legend) {
1720
1568
  ChartInstanceCasted.legend = new am4charts.Legend();
1721
1569
  ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
@@ -1738,15 +1586,12 @@ class Vertical2DChartService {
1738
1586
  categoryAxis.title.text = settings.XAxisTitle;
1739
1587
  categoryAxis.title.fontWeight = "bold";
1740
1588
  }
1741
- yAxis.min = 0;
1742
- categoryAxis.dataFields.category = 'key';
1743
- categoryAxis.renderer.cellStartLocation = am4core.percent((_f = settings.GroupPaddingPercentage) !== null && _f !== void 0 ? _f : this.DefaultGroupPaddingPercentage).value;
1744
- categoryAxis.renderer.cellEndLocation = am4core.percent(100 - ((_g = settings.GroupPaddingPercentage) !== null && _g !== void 0 ? _g : this.DefaultGroupPaddingPercentage)).value;
1589
+ categoryAxis.dataFields.category = "k";
1745
1590
  categoryAxis.renderer.grid.template.location = 0;
1746
- categoryAxis.renderer.minGridDistance = (_h = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _h !== void 0 ? _h : 30;
1591
+ categoryAxis.renderer.minGridDistance = (_f = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _f !== void 0 ? _f : 30;
1747
1592
  let label = categoryAxis.renderer.labels.template;
1748
1593
  label.truncate = true;
1749
- label.maxWidth = (_j = settings.LabelWidth) !== null && _j !== void 0 ? _j : this.LabelWidth;
1594
+ label.maxWidth = (_g = settings.LabelWidth) !== null && _g !== void 0 ? _g : this.LabelWidth;
1750
1595
  label.tooltipText = "{category}";
1751
1596
  if ((settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) == null ? true : settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) {
1752
1597
  categoryAxis.events.on("sizechanged", (ev) => {
@@ -1770,88 +1615,35 @@ class Vertical2DChartService {
1770
1615
  }
1771
1616
  });
1772
1617
  }
1773
- let dataPreConverted = this.Adapter ? this.Adapter.adaptDataForVertical2DChart(data) : data;
1774
- let dataConverted = [];
1775
- for (let i = 0; i < dataPreConverted.groups.length; i++) {
1776
- let item = dataPreConverted.groups[i];
1777
- let obj = { key: item.name };
1778
- for (let p = 0; p < item.values.length; p++) {
1779
- let value = item.values[p];
1780
- obj[value.k] = value.v;
1781
- }
1782
- dataConverted.push(obj);
1783
- }
1784
- ChartInstanceCasted.data = dataConverted;
1785
- if (dataPreConverted.colorInfos)
1786
- ChartInstanceCasted.colors.list = dataPreConverted.colorInfos.map(c => am4core.color(c.color));
1787
- //Prendo la prima categoria e mi baso sulle proprietà per dfeinire le serie
1788
- for (let prop in dataConverted[0])
1789
- if (prop !== "key")
1790
- this.createSeries(ChartInstanceCasted, settings, prop, prop);
1618
+ // Create series
1619
+ let series = ChartInstanceCasted.series.push(new am4charts.ColumnSeries());
1620
+ series.dataFields.valueY = "v";
1621
+ series.dataFields.categoryX = "k";
1622
+ series.name = "";
1623
+ series.columns.template.tooltipText = "{categoryX}: [bold]{valueY}[/]";
1624
+ series.columns.template.fillOpacity = .8;
1625
+ series.columns.template.width = am4core.percent((_h = settings.ColumnWidthPercentage) !== null && _h !== void 0 ? _h : this.DefaultColumnWidthPercentage);
1626
+ let columnTemplate = series.columns.template;
1627
+ columnTemplate.strokeWidth = 2;
1628
+ columnTemplate.strokeOpacity = 1;
1791
1629
  return this;
1792
1630
  }
1793
1631
  /** @ignore */
1794
1632
  refreshData(data) {
1795
1633
  //TODO:IMPL
1796
1634
  }
1797
- /** @ignore */
1798
- createSeries(chart, settings, value, name) {
1799
- var _a;
1800
- let series = chart.series.push(new am4charts.ColumnSeries());
1801
- series.dataFields.valueY = value;
1802
- series.dataFields.categoryX = 'key';
1803
- series.name = name;
1804
- series.columns.template.tooltipText = "{name} {categoryX}: [bold]{valueY}[/]";
1805
- series.columns.template.fillOpacity = .8;
1806
- series.columns.template.width = am4core.percent((_a = settings.ColumnWidthPercentage) !== null && _a !== void 0 ? _a : this.DefaultColumnWidthPercentage);
1807
- series.events.on("hidden", () => this.arrangeColumns);
1808
- series.events.on("shown", () => this.arrangeColumns);
1809
- return series;
1810
- }
1811
- /** @ignore */
1812
- arrangeColumns() {
1813
- let ChartInstanceCasted = this.ChartInstance;
1814
- let series = ChartInstanceCasted.series.getIndex(0);
1815
- let xAxis = ChartInstanceCasted.xAxes.getIndex(0);
1816
- let w = 1 - xAxis.renderer.cellStartLocation - (1 - xAxis.renderer.cellEndLocation);
1817
- if (series.dataItems.length > 1) {
1818
- let x0 = xAxis.getX(series.dataItems.getIndex(0), "categoryX");
1819
- let x1 = xAxis.getX(series.dataItems.getIndex(1), "categoryX");
1820
- let delta = ((x1 - x0) / ChartInstanceCasted.series.length) * w;
1821
- if (am4core.isNumber(delta)) {
1822
- let middle = ChartInstanceCasted.series.length / 2;
1823
- let newIndex = 0;
1824
- ChartInstanceCasted.series.each((series) => {
1825
- if (!series.isHidden && !series.isHiding) {
1826
- series.dummyData = newIndex;
1827
- newIndex++;
1828
- }
1829
- else {
1830
- series.dummyData = ChartInstanceCasted.series.indexOf(series);
1831
- }
1832
- });
1833
- let visibleCount = newIndex;
1834
- let newMiddle = visibleCount / 2;
1835
- ChartInstanceCasted.series.each((series) => {
1836
- let trueIndex = ChartInstanceCasted.series.indexOf(series);
1837
- let newIndex = series.dummyData;
1838
- let dx = (newIndex - trueIndex + middle - newMiddle) * delta;
1839
- series.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
1840
- series.bulletsContainer.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
1841
- });
1842
- }
1843
- }
1844
- }
1845
1635
  }
1846
1636
 
1847
1637
  /**
1848
- * Classe il cui unico scopo è gestire il setup e rendering di un VerticalChart
1638
+ * Classe il cui unico scopo è gestire il setup e rendering di un Vertical2DChart
1849
1639
  */
1850
- class VerticalChartService {
1640
+ class Vertical2DChartService {
1851
1641
  /** @ignore */
1852
1642
  constructor(Adapter) {
1853
1643
  this.Adapter = Adapter;
1854
1644
  /** @ignore */
1645
+ this.DefaultGroupPaddingPercentage = 5;
1646
+ /** @ignore */
1855
1647
  this.dangerZone = 50;
1856
1648
  /** @ignore */
1857
1649
  this.LabelWidth = 150;
@@ -1863,10 +1655,10 @@ class VerticalChartService {
1863
1655
  this.DefaultColumnWidthPercentage = 85;
1864
1656
  }
1865
1657
  /**
1866
- * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un VerticalChart
1658
+ * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un Vertical2DChart
1867
1659
  */
1868
1660
  graphicate(data, settings) {
1869
- var _a, _b, _c, _d, _e, _f, _g, _h;
1661
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
1870
1662
  if (settings.Timeline) {
1871
1663
  console.error("Timeline not supported for vertical chart");
1872
1664
  return null;
@@ -1875,8 +1667,6 @@ class VerticalChartService {
1875
1667
  am4core.options.autoDispose = true;
1876
1668
  this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
1877
1669
  let ChartInstanceCasted = this.ChartInstance;
1878
- let dataConverted = this.Adapter ? this.Adapter.adaptDataForVerticalChart(data) : data;
1879
- ChartInstanceCasted.data = dataConverted.values;
1880
1670
  if (settings.Legend) {
1881
1671
  ChartInstanceCasted.legend = new am4charts.Legend();
1882
1672
  ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
@@ -1899,12 +1689,15 @@ class VerticalChartService {
1899
1689
  categoryAxis.title.text = settings.XAxisTitle;
1900
1690
  categoryAxis.title.fontWeight = "bold";
1901
1691
  }
1902
- categoryAxis.dataFields.category = "k";
1692
+ yAxis.min = 0;
1693
+ categoryAxis.dataFields.category = 'key';
1694
+ categoryAxis.renderer.cellStartLocation = am4core.percent((_f = settings.GroupPaddingPercentage) !== null && _f !== void 0 ? _f : this.DefaultGroupPaddingPercentage).value;
1695
+ categoryAxis.renderer.cellEndLocation = am4core.percent(100 - ((_g = settings.GroupPaddingPercentage) !== null && _g !== void 0 ? _g : this.DefaultGroupPaddingPercentage)).value;
1903
1696
  categoryAxis.renderer.grid.template.location = 0;
1904
- categoryAxis.renderer.minGridDistance = (_f = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _f !== void 0 ? _f : 30;
1697
+ categoryAxis.renderer.minGridDistance = (_h = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _h !== void 0 ? _h : 30;
1905
1698
  let label = categoryAxis.renderer.labels.template;
1906
1699
  label.truncate = true;
1907
- label.maxWidth = (_g = settings.LabelWidth) !== null && _g !== void 0 ? _g : this.LabelWidth;
1700
+ label.maxWidth = (_j = settings.LabelWidth) !== null && _j !== void 0 ? _j : this.LabelWidth;
1908
1701
  label.tooltipText = "{category}";
1909
1702
  if ((settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) == null ? true : settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) {
1910
1703
  categoryAxis.events.on("sizechanged", (ev) => {
@@ -1928,23 +1721,78 @@ class VerticalChartService {
1928
1721
  }
1929
1722
  });
1930
1723
  }
1931
- // Create series
1932
- let series = ChartInstanceCasted.series.push(new am4charts.ColumnSeries());
1933
- series.dataFields.valueY = "v";
1934
- series.dataFields.categoryX = "k";
1935
- series.name = "";
1936
- series.columns.template.tooltipText = "{categoryX}: [bold]{valueY}[/]";
1937
- series.columns.template.fillOpacity = .8;
1938
- series.columns.template.width = am4core.percent((_h = settings.ColumnWidthPercentage) !== null && _h !== void 0 ? _h : this.DefaultColumnWidthPercentage);
1939
- let columnTemplate = series.columns.template;
1940
- columnTemplate.strokeWidth = 2;
1941
- columnTemplate.strokeOpacity = 1;
1724
+ let dataPreConverted = this.Adapter ? this.Adapter.adaptDataForVertical2DChart(data) : data;
1725
+ let dataConverted = [];
1726
+ for (let i = 0; i < dataPreConverted.groups.length; i++) {
1727
+ let item = dataPreConverted.groups[i];
1728
+ let obj = { key: item.name };
1729
+ for (let p = 0; p < item.values.length; p++) {
1730
+ let value = item.values[p];
1731
+ obj[value.k] = value.v;
1732
+ }
1733
+ dataConverted.push(obj);
1734
+ }
1735
+ ChartInstanceCasted.data = dataConverted;
1736
+ if (dataPreConverted.colorInfos)
1737
+ ChartInstanceCasted.colors.list = dataPreConverted.colorInfos.map(c => am4core.color(c.color));
1738
+ //Prendo la prima categoria e mi baso sulle proprietà per dfeinire le serie
1739
+ for (let prop in dataConverted[0])
1740
+ if (prop !== "key")
1741
+ this.createSeries(ChartInstanceCasted, settings, prop, prop);
1942
1742
  return this;
1943
1743
  }
1944
1744
  /** @ignore */
1945
1745
  refreshData(data) {
1946
1746
  //TODO:IMPL
1947
1747
  }
1748
+ /** @ignore */
1749
+ createSeries(chart, settings, value, name) {
1750
+ var _a;
1751
+ let series = chart.series.push(new am4charts.ColumnSeries());
1752
+ series.dataFields.valueY = value;
1753
+ series.dataFields.categoryX = 'key';
1754
+ series.name = name;
1755
+ series.columns.template.tooltipText = "{name} {categoryX}: [bold]{valueY}[/]";
1756
+ series.columns.template.fillOpacity = .8;
1757
+ series.columns.template.width = am4core.percent((_a = settings.ColumnWidthPercentage) !== null && _a !== void 0 ? _a : this.DefaultColumnWidthPercentage);
1758
+ series.events.on("hidden", () => this.arrangeColumns);
1759
+ series.events.on("shown", () => this.arrangeColumns);
1760
+ return series;
1761
+ }
1762
+ /** @ignore */
1763
+ arrangeColumns() {
1764
+ let ChartInstanceCasted = this.ChartInstance;
1765
+ let series = ChartInstanceCasted.series.getIndex(0);
1766
+ let xAxis = ChartInstanceCasted.xAxes.getIndex(0);
1767
+ let w = 1 - xAxis.renderer.cellStartLocation - (1 - xAxis.renderer.cellEndLocation);
1768
+ if (series.dataItems.length > 1) {
1769
+ let x0 = xAxis.getX(series.dataItems.getIndex(0), "categoryX");
1770
+ let x1 = xAxis.getX(series.dataItems.getIndex(1), "categoryX");
1771
+ let delta = ((x1 - x0) / ChartInstanceCasted.series.length) * w;
1772
+ if (am4core.isNumber(delta)) {
1773
+ let middle = ChartInstanceCasted.series.length / 2;
1774
+ let newIndex = 0;
1775
+ ChartInstanceCasted.series.each((series) => {
1776
+ if (!series.isHidden && !series.isHiding) {
1777
+ series.dummyData = newIndex;
1778
+ newIndex++;
1779
+ }
1780
+ else {
1781
+ series.dummyData = ChartInstanceCasted.series.indexOf(series);
1782
+ }
1783
+ });
1784
+ let visibleCount = newIndex;
1785
+ let newMiddle = visibleCount / 2;
1786
+ ChartInstanceCasted.series.each((series) => {
1787
+ let trueIndex = ChartInstanceCasted.series.indexOf(series);
1788
+ let newIndex = series.dummyData;
1789
+ let dx = (newIndex - trueIndex + middle - newMiddle) * delta;
1790
+ series.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
1791
+ series.bulletsContainer.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
1792
+ });
1793
+ }
1794
+ }
1795
+ }
1948
1796
  }
1949
1797
 
1950
1798
  /**
@@ -2072,6 +1920,139 @@ class VerticalStackedChartService {
2072
1920
  }
2073
1921
  }
2074
1922
 
1923
+ /**
1924
+ * Classe il cui unico scopo è gestire il setup e rendering di un AreaChart
1925
+ */
1926
+ class AreaChartService {
1927
+ /** @ignore */
1928
+ constructor(Adapter) {
1929
+ this.Adapter = Adapter;
1930
+ //******************** Funzione di throttling per non spammare richieste in caso di animazioni attivate
1931
+ //TODO: spostarla in un metodo di utilità (esfaenza/extensions)
1932
+ /** @ignore */
1933
+ this.executionTimers = {};
1934
+ }
1935
+ /**
1936
+ * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un AreaChart
1937
+ */
1938
+ graphicate(data, settings) {
1939
+ var _a, _b, _c, _d, _e, _f;
1940
+ if (settings.Timeline) {
1941
+ console.error("Timeline not supported for area chart");
1942
+ return null;
1943
+ }
1944
+ let dataConverted = this.Adapter ? this.Adapter.adaptDataForAreaChart(data) : data;
1945
+ let showTicks = settings.ShowTicks == null ? true : settings === null || settings === void 0 ? void 0 : settings.ShowTicks;
1946
+ let interval = dataConverted.interval;
1947
+ //Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
1948
+ am4core.options.autoDispose = true;
1949
+ this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
1950
+ let ChartInstanceCasted = this.ChartInstance;
1951
+ if (settings.Legend) {
1952
+ ChartInstanceCasted.legend = new am4charts.Legend();
1953
+ ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
1954
+ ChartInstanceCasted.legend.itemContainers.template.tooltipText = "{category}";
1955
+ if (settings.LegendPadding) {
1956
+ let template = this.ChartInstance.legend.itemContainers.template;
1957
+ template.paddingTop = (_b = settings.LegendPadding.top) !== null && _b !== void 0 ? _b : 0;
1958
+ template.paddingBottom = (_c = settings.LegendPadding.bottom) !== null && _c !== void 0 ? _c : 0;
1959
+ template.paddingLeft = (_d = settings.LegendPadding.left) !== null && _d !== void 0 ? _d : 0;
1960
+ template.paddingRight = (_e = settings.LegendPadding.right) !== null && _e !== void 0 ? _e : 0;
1961
+ }
1962
+ }
1963
+ let yAxis = ChartInstanceCasted.yAxes.push(new am4charts.ValueAxis());
1964
+ yAxis.tooltip.disabled = true;
1965
+ if (settings.YAxisTitle) {
1966
+ yAxis.title.text = settings.YAxisTitle;
1967
+ yAxis.title.fontWeight = "bold";
1968
+ }
1969
+ yAxis.min = 0;
1970
+ let dateAxis = ChartInstanceCasted.xAxes.push(new am4charts.DateAxis());
1971
+ dateAxis.renderer.minGridDistance = (_f = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _f !== void 0 ? _f : 50;
1972
+ dateAxis.startLocation = 0.5;
1973
+ dateAxis.endLocation = 0.5;
1974
+ if (settings.XAxisTitle) {
1975
+ dateAxis.title.text = settings.XAxisTitle;
1976
+ dateAxis.title.fontWeight = "bold";
1977
+ }
1978
+ if (showTicks) {
1979
+ dateAxis.renderer.ticks.template.disabled = false;
1980
+ dateAxis.renderer.ticks.template.strokeOpacity = 1;
1981
+ dateAxis.renderer.ticks.template.stroke = am4core.color("#495C43");
1982
+ dateAxis.renderer.ticks.template.strokeWidth = 2;
1983
+ dateAxis.renderer.ticks.template.length = 10;
1984
+ dateAxis.renderer.ticks.template.location = 0;
1985
+ }
1986
+ if (!!interval)
1987
+ dateAxis.baseInterval = { count: interval.count, timeUnit: interval.timeunit };
1988
+ // Unisco il dataset e tiro fuori i dati
1989
+ let chartData = [];
1990
+ let seriesToMakeCache = {};
1991
+ let seriesToMake = [];
1992
+ for (let i = 0; i < dataConverted.groups.length; i++) {
1993
+ let group = dataConverted.groups[i];
1994
+ let dataItem = { date: group.name };
1995
+ for (let ii = 0; ii < group.values.length; ii++) {
1996
+ let val = group.values[ii];
1997
+ dataItem[val.k] = val.v;
1998
+ if (!seriesToMakeCache[val.k]) {
1999
+ seriesToMakeCache[val.k] = true;
2000
+ seriesToMake.push(val.k);
2001
+ }
2002
+ }
2003
+ chartData.push(dataItem);
2004
+ }
2005
+ ChartInstanceCasted.data = chartData;
2006
+ //---------------------------------------------------------
2007
+ seriesToMake.forEach(s => { this.createSeries(ChartInstanceCasted, s); });
2008
+ ChartInstanceCasted.cursor = new am4charts.XYCursor();
2009
+ ChartInstanceCasted.cursor.xAxis = dateAxis;
2010
+ dateAxis.events.on("startchanged", t => this.emitSelectionChanged(t, settings));
2011
+ dateAxis.events.on("endchanged", t => this.emitSelectionChanged(t, settings));
2012
+ return this;
2013
+ }
2014
+ /** @ignore */
2015
+ refreshData(data) {
2016
+ //TODO:IMPL
2017
+ }
2018
+ /** @ignore */
2019
+ emitSelectionChanged(ev, settings) {
2020
+ if (settings.OnSelectionChangedCallback) {
2021
+ this.throttla("selchange", () => {
2022
+ var axis = ev.target;
2023
+ var start = new Date(axis.minZoomed);
2024
+ var end = new Date(axis.maxZoomed);
2025
+ var initial = axis.min == axis.minZoomed && axis.max == axis.maxZoomed;
2026
+ settings.OnSelectionChangedCallback({ from: start, to: end, initial: initial });
2027
+ }, 150);
2028
+ }
2029
+ }
2030
+ /** @ignore */
2031
+ createSeries(chart, name) {
2032
+ let series = chart.series.push(new am4charts.LineSeries());
2033
+ series.dataFields.dateX = "date";
2034
+ series.name = name[0].toUpperCase() + name.slice(1);
2035
+ series.dataFields.valueY = name;
2036
+ series.tooltipText = "[#000]{valueY.value}[/]";
2037
+ //series.tooltip.background.fill = am4core.color("#FFF");
2038
+ series.tooltip.getStrokeFromObject = true;
2039
+ series.tooltip.background.strokeWidth = 3;
2040
+ series.tooltip.getFillFromObject = false;
2041
+ series.fillOpacity = 0.6;
2042
+ series.strokeWidth = 2;
2043
+ series.stacked = true;
2044
+ return series;
2045
+ }
2046
+ /** @ignore */
2047
+ throttla(id, func, throttleTime) {
2048
+ //Se ho la funzione che vuole eseguire ripulisco quel timeout
2049
+ if (this.executionTimers[id])
2050
+ clearTimeout(this.executionTimers[id]);
2051
+ //Ricreo il timeout per eseguire quella funzione dopo throttleTime millisecondi
2052
+ this.executionTimers[id] = setTimeout(() => { func(); this.executionTimers[id] = null; }, throttleTime);
2053
+ }
2054
+ }
2055
+
2075
2056
  /**
2076
2057
  * Componente specifico per la graficazione di un qualsiasi tipo di grafico.
2077
2058
  *
@@ -2145,13 +2126,13 @@ class EsChartComponent extends BaseChartComponent {
2145
2126
  }
2146
2127
  }
2147
2128
  }
2148
- EsChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i2.DateService }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
2149
- EsChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsChartComponent, 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"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2129
+ EsChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i3.DateService }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
2130
+ EsChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsChartComponent, 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"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2150
2131
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsChartComponent, decorators: [{
2151
2132
  type: Component,
2152
2133
  args: [{ selector: 'es-chart', changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]
2153
2134
  }], ctorParameters: function () {
2154
- return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: i2.DateService }, { type: BaseAdapter }, { type: i0.NgZone }, { type: Object, decorators: [{
2135
+ return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: i3.DateService }, { type: BaseAdapter }, { type: i0.NgZone }, { type: Object, decorators: [{
2155
2136
  type: Inject,
2156
2137
  args: [PLATFORM_ID]
2157
2138
  }] }, { type: undefined, decorators: [{
@@ -2219,7 +2200,7 @@ class EsAreaChartComponent extends BaseChartComponent {
2219
2200
  }
2220
2201
  }
2221
2202
  EsAreaChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsAreaChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
2222
- EsAreaChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsAreaChartComponent, 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"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2203
+ EsAreaChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsAreaChartComponent, 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"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2223
2204
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsAreaChartComponent, decorators: [{
2224
2205
  type: Component,
2225
2206
  args: [{ selector: 'es-area-chart', changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]
@@ -2300,13 +2281,13 @@ class EsLineChartComponent extends BaseChartComponent {
2300
2281
  return new LineChartService(this.adapter, this.dateService).graphicate(this.Data, settingsCasted);
2301
2282
  }
2302
2283
  }
2303
- EsLineChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsLineChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i2.DateService }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
2304
- EsLineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsLineChartComponent, 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" }, 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"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2284
+ EsLineChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsLineChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i3.DateService }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
2285
+ EsLineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsLineChartComponent, 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" }, 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"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2305
2286
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsLineChartComponent, decorators: [{
2306
2287
  type: Component,
2307
2288
  args: [{ selector: 'es-line-chart', changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]
2308
2289
  }], ctorParameters: function () {
2309
- return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: BaseAdapter }, { type: i2.DateService }, { type: i0.NgZone }, { type: Object, decorators: [{
2290
+ return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: BaseAdapter }, { type: i3.DateService }, { type: i0.NgZone }, { type: Object, decorators: [{
2310
2291
  type: Inject,
2311
2292
  args: [PLATFORM_ID]
2312
2293
  }] }, { type: undefined, decorators: [{
@@ -2399,7 +2380,7 @@ class EsPieChartComponent extends BaseChartComponent {
2399
2380
  }
2400
2381
  }
2401
2382
  EsPieChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsPieChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
2402
- EsPieChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsPieChartComponent, selector: "es-pie-chart", inputs: { Data: "Data", DataArray: "DataArray", HideZeroes: "HideZeroes", Mode3D: "Mode3D", DonutRadiusPercentage: "DonutRadiusPercentage", LabelsWrap: "LabelsWrap", LabelsTruncate: "LabelsTruncate", LabelsWidth: "LabelsWidth", LabelsVisible: "LabelsVisible" }, 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"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2383
+ EsPieChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsPieChartComponent, selector: "es-pie-chart", inputs: { Data: "Data", DataArray: "DataArray", HideZeroes: "HideZeroes", Mode3D: "Mode3D", DonutRadiusPercentage: "DonutRadiusPercentage", LabelsWrap: "LabelsWrap", LabelsTruncate: "LabelsTruncate", LabelsWidth: "LabelsWidth", LabelsVisible: "LabelsVisible" }, 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"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2403
2384
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsPieChartComponent, decorators: [{
2404
2385
  type: Component,
2405
2386
  args: [{ selector: 'es-pie-chart', changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]
@@ -2490,7 +2471,7 @@ class EsVertical2DChartComponent extends BaseChartComponent {
2490
2471
  }
2491
2472
  }
2492
2473
  EsVertical2DChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVertical2DChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
2493
- EsVertical2DChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVertical2DChartComponent, 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"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2474
+ EsVertical2DChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVertical2DChartComponent, 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"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2494
2475
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVertical2DChartComponent, decorators: [{
2495
2476
  type: Component,
2496
2477
  args: [{ selector: 'es-vertical-2d-chart', changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]
@@ -2578,7 +2559,7 @@ class EsVerticalChartComponent extends BaseChartComponent {
2578
2559
  }
2579
2560
  }
2580
2561
  EsVerticalChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
2581
- EsVerticalChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVerticalChartComponent, 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"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2562
+ EsVerticalChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVerticalChartComponent, 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"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2582
2563
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalChartComponent, decorators: [{
2583
2564
  type: Component,
2584
2565
  args: [{ selector: 'es-vertical-chart', changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]
@@ -2664,7 +2645,7 @@ class EsVerticalStackedChartComponent extends BaseChartComponent {
2664
2645
  }
2665
2646
  }
2666
2647
  EsVerticalStackedChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalStackedChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
2667
- EsVerticalStackedChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVerticalStackedChartComponent, 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"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2648
+ EsVerticalStackedChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVerticalStackedChartComponent, 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"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2668
2649
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalStackedChartComponent, decorators: [{
2669
2650
  type: Component,
2670
2651
  args: [{ selector: 'es-vertical-stacked-chart', changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]