@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,111 +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 () { return [{ type: undefined, decorators: [{
481
- type: Inject,
482
- args: [ESC_LOGS]
483
- }] }]; } });
484
-
485
380
  /** @ignore */
486
381
  const _spiritedaway = 'spiritedaway';
487
382
  /** @ignore */
@@ -743,6 +638,111 @@ class ChartLoader {
743
638
  }
744
639
  }
745
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 () { return [{ type: undefined, decorators: [{
742
+ type: Inject,
743
+ args: [ESC_LOGS]
744
+ }] }]; } });
745
+
746
746
  /**
747
747
  * Componente Grafico Base che gestisce tutte le cose comuni dei vari grafici istanziabili, come la presenza o menu di una legenda,
748
748
  * il tema utilizzato, il locale del singolo grafico, ecc ecc...
@@ -1128,11 +1128,11 @@ class LineChartService {
1128
1128
  let range = yAxis.axisRanges.create();
1129
1129
  range.value = dataConverted.limit.upper;
1130
1130
  range.label.inside = true;
1131
- range.label.text = dataConverted.limit.upperLabel;
1131
+ range.label.text = dataConverted.limit.upperlabel;
1132
1132
  range.label.fill = range.grid.stroke;
1133
1133
  range.label.verticalCenter = "bottom";
1134
- range.label.stroke = am4core.color(dataConverted.limit.upperColor || "#F92200");
1135
- range.grid.stroke = am4core.color(dataConverted.limit.upperColor || "#F92200");
1134
+ range.label.stroke = am4core.color(dataConverted.limit.uppercolor || "#F92200");
1135
+ range.grid.stroke = am4core.color(dataConverted.limit.uppercolor || "#F92200");
1136
1136
  range.grid.strokeWidth = 2;
1137
1137
  range.grid.strokeOpacity = 1;
1138
1138
  }
@@ -1140,11 +1140,11 @@ class LineChartService {
1140
1140
  let range = yAxis.axisRanges.create();
1141
1141
  range.value = dataConverted.limit.lower;
1142
1142
  range.label.inside = true;
1143
- range.label.text = dataConverted.limit.lowerLabel;
1143
+ range.label.text = dataConverted.limit.lowerlabel;
1144
1144
  range.label.fill = range.grid.stroke;
1145
1145
  range.label.verticalCenter = "bottom";
1146
- range.label.stroke = am4core.color(dataConverted.limit.lowerColor || "#F92200");
1147
- range.grid.stroke = am4core.color(dataConverted.limit.lowerColor || "#F92200");
1146
+ range.label.stroke = am4core.color(dataConverted.limit.lowercolor || "#F92200");
1147
+ range.grid.stroke = am4core.color(dataConverted.limit.lowercolor || "#F92200");
1148
1148
  range.grid.strokeWidth = 2;
1149
1149
  range.grid.strokeOpacity = 1;
1150
1150
  }
@@ -1213,7 +1213,7 @@ class LineChartService {
1213
1213
  series.strokeWidth = settings?.StrokeSize ?? 1;
1214
1214
  series.connect = !gapsAllowed;
1215
1215
  series.minBulletDistance = 10;
1216
- series.tooltipText = this.singleDataSet ? "" : "{name}: [bold]{valueY}[/]";
1216
+ series.tooltipText = this.singleDataSet ? "" : s.name ? "{name}: [bold]{valueY}[/]" : "[bold]{valueY}[/]";
1217
1217
  series.tooltip.pointerOrientation = "vertical";
1218
1218
  series.tooltip.background.fillOpacity = 0.5;
1219
1219
  series.tooltip.label.padding(12, 12, 12, 12);
@@ -1252,7 +1252,7 @@ class LineChartService {
1252
1252
  var text = "[bold]{dateX.formatDate()}[/]\n";
1253
1253
  this.ChartInstance.series.each((item) => {
1254
1254
  let uom = " [font-style: italic]" + series.dataFields.measureUnit || "" + "[/]";
1255
- text += "[" + item.stroke.hex + "]●[/] " + item.name + ": [bold]{" + item.dataFields.valueY + "}[/]" + uom + "\n";
1255
+ text += "[" + item.stroke.hex + "]●[/] " + (item.name ? (item.name + ": ") : "") + "[bold]{" + item.dataFields.valueY + "}[/]" + uom + "\n";
1256
1256
  });
1257
1257
  return text;
1258
1258
  });
@@ -1326,26 +1326,7 @@ class LineChartService {
1326
1326
  this.ChartInstance.addData(data);
1327
1327
  return;
1328
1328
  }
1329
- this.ChartInstance.series.each(s => {
1330
- var relativeSerie = dataConverted.series.find(t => t.name == s.name);
1331
- // Una serie del grafico è stata ggiornata, ordino i datapoint e li aggiungo
1332
- var correctOrder = true;
1333
- var prevDate = null;
1334
- for (let v = 0; v < relativeSerie.values.length; v++) {
1335
- if (!prevDate)
1336
- prevDate = relativeSerie.values[v].d;
1337
- else if (relativeSerie.values[v].d < prevDate) {
1338
- correctOrder = false;
1339
- break;
1340
- }
1341
- }
1342
- if (!correctOrder)
1343
- relativeSerie.values.sort((d1, d2) => d1.d.getTime() - d2.d.getTime());
1344
- for (let v = 0; v < relativeSerie.values.length; v++) {
1345
- let obj = relativeSerie.values[v];
1346
- s.addData({ date: obj.d, value: obj.v });
1347
- }
1348
- });
1329
+ throw "Impossibile aggiornare i dati senza unire il dataset. Si prega di impostare [MergeDatasets] a true";
1349
1330
  }
1350
1331
  /** Partendo da dati divisi per seriue genera un dataset unito con la data come chiave e i vari valori dopo */
1351
1332
  generateSingleDataset(data) {
@@ -1432,153 +1413,21 @@ class LineChartService {
1432
1413
  }
1433
1414
 
1434
1415
  /**
1435
- * Classe il cui unico scopo è gestire il setup e rendering di un AreaChart
1416
+ * Classe il cui unico scopo è gestire il setup e rendering di un PieChart
1436
1417
  */
1437
- class AreaChartService {
1418
+ class PieChartService {
1438
1419
  /** @ignore */
1439
1420
  constructor(Adapter) {
1440
1421
  this.Adapter = Adapter;
1441
- //******************** Funzione di throttling per non spammare richieste in caso di animazioni attivate
1442
- //TODO: spostarla in un metodo di utilità (esfaenza/extensions)
1443
1422
  /** @ignore */
1444
- this.executionTimers = {};
1423
+ this.ViewAbsoluteValues = true;
1445
1424
  }
1446
1425
  /**
1447
- * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un AreaChart
1426
+ * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un PieChart
1448
1427
  */
1449
1428
  graphicate(data, settings) {
1450
1429
  if (settings.Timeline) {
1451
- console.error("Timeline not supported for area chart");
1452
- return null;
1453
- }
1454
- let dataConverted = this.Adapter ? this.Adapter.adaptDataForAreaChart(data) : data;
1455
- let showTicks = settings.ShowTicks == null ? true : settings?.ShowTicks;
1456
- let interval = dataConverted.interval;
1457
- //Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
1458
- am4core.options.autoDispose = true;
1459
- this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
1460
- let ChartInstanceCasted = this.ChartInstance;
1461
- if (settings.Legend) {
1462
- ChartInstanceCasted.legend = new am4charts.Legend();
1463
- ChartInstanceCasted.legend.position = settings?.LegendPosition ?? 'right';
1464
- ChartInstanceCasted.legend.itemContainers.template.tooltipText = "{category}";
1465
- if (settings.LegendPadding) {
1466
- let template = this.ChartInstance.legend.itemContainers.template;
1467
- template.paddingTop = settings.LegendPadding.top ?? 0;
1468
- template.paddingBottom = settings.LegendPadding.bottom ?? 0;
1469
- template.paddingLeft = settings.LegendPadding.left ?? 0;
1470
- template.paddingRight = settings.LegendPadding.right ?? 0;
1471
- }
1472
- }
1473
- let yAxis = ChartInstanceCasted.yAxes.push(new am4charts.ValueAxis());
1474
- yAxis.tooltip.disabled = true;
1475
- if (settings.YAxisTitle) {
1476
- yAxis.title.text = settings.YAxisTitle;
1477
- yAxis.title.fontWeight = "bold";
1478
- }
1479
- yAxis.min = 0;
1480
- let dateAxis = ChartInstanceCasted.xAxes.push(new am4charts.DateAxis());
1481
- dateAxis.renderer.minGridDistance = settings?.MinGridDistance ?? 50;
1482
- dateAxis.startLocation = 0.5;
1483
- dateAxis.endLocation = 0.5;
1484
- if (settings.XAxisTitle) {
1485
- dateAxis.title.text = settings.XAxisTitle;
1486
- dateAxis.title.fontWeight = "bold";
1487
- }
1488
- if (showTicks) {
1489
- dateAxis.renderer.ticks.template.disabled = false;
1490
- dateAxis.renderer.ticks.template.strokeOpacity = 1;
1491
- dateAxis.renderer.ticks.template.stroke = am4core.color("#495C43");
1492
- dateAxis.renderer.ticks.template.strokeWidth = 2;
1493
- dateAxis.renderer.ticks.template.length = 10;
1494
- dateAxis.renderer.ticks.template.location = 0;
1495
- }
1496
- if (!!interval)
1497
- dateAxis.baseInterval = { count: interval.count, timeUnit: interval.timeunit };
1498
- // Unisco il dataset e tiro fuori i dati
1499
- let chartData = [];
1500
- let seriesToMakeCache = {};
1501
- let seriesToMake = [];
1502
- for (let i = 0; i < dataConverted.groups.length; i++) {
1503
- let group = dataConverted.groups[i];
1504
- let dataItem = { date: group.name };
1505
- for (let ii = 0; ii < group.values.length; ii++) {
1506
- let val = group.values[ii];
1507
- dataItem[val.k] = val.v;
1508
- if (!seriesToMakeCache[val.k]) {
1509
- seriesToMakeCache[val.k] = true;
1510
- seriesToMake.push(val.k);
1511
- }
1512
- }
1513
- chartData.push(dataItem);
1514
- }
1515
- ChartInstanceCasted.data = chartData;
1516
- //---------------------------------------------------------
1517
- seriesToMake.forEach(s => { this.createSeries(ChartInstanceCasted, s); });
1518
- ChartInstanceCasted.cursor = new am4charts.XYCursor();
1519
- ChartInstanceCasted.cursor.xAxis = dateAxis;
1520
- dateAxis.events.on("startchanged", t => this.emitSelectionChanged(t, settings));
1521
- dateAxis.events.on("endchanged", t => this.emitSelectionChanged(t, settings));
1522
- return this;
1523
- }
1524
- /** @ignore */
1525
- refreshData(data) {
1526
- //TODO:IMPL
1527
- }
1528
- /** @ignore */
1529
- emitSelectionChanged(ev, settings) {
1530
- if (settings.OnSelectionChangedCallback) {
1531
- this.throttla("selchange", () => {
1532
- var axis = ev.target;
1533
- var start = new Date(axis.minZoomed);
1534
- var end = new Date(axis.maxZoomed);
1535
- var initial = axis.min == axis.minZoomed && axis.max == axis.maxZoomed;
1536
- settings.OnSelectionChangedCallback({ from: start, to: end, initial: initial });
1537
- }, 150);
1538
- }
1539
- }
1540
- /** @ignore */
1541
- createSeries(chart, name) {
1542
- let series = chart.series.push(new am4charts.LineSeries());
1543
- series.dataFields.dateX = "date";
1544
- series.name = name[0].toUpperCase() + name.slice(1);
1545
- series.dataFields.valueY = name;
1546
- series.tooltipText = "[#000]{valueY.value}[/]";
1547
- //series.tooltip.background.fill = am4core.color("#FFF");
1548
- series.tooltip.getStrokeFromObject = true;
1549
- series.tooltip.background.strokeWidth = 3;
1550
- series.tooltip.getFillFromObject = false;
1551
- series.fillOpacity = 0.6;
1552
- series.strokeWidth = 2;
1553
- series.stacked = true;
1554
- return series;
1555
- }
1556
- /** @ignore */
1557
- throttla(id, func, throttleTime) {
1558
- //Se ho la funzione che vuole eseguire ripulisco quel timeout
1559
- if (this.executionTimers[id])
1560
- clearTimeout(this.executionTimers[id]);
1561
- //Ricreo il timeout per eseguire quella funzione dopo throttleTime millisecondi
1562
- this.executionTimers[id] = setTimeout(() => { func(); this.executionTimers[id] = null; }, throttleTime);
1563
- }
1564
- }
1565
-
1566
- /**
1567
- * Classe il cui unico scopo è gestire il setup e rendering di un PieChart
1568
- */
1569
- class PieChartService {
1570
- /** @ignore */
1571
- constructor(Adapter) {
1572
- this.Adapter = Adapter;
1573
- /** @ignore */
1574
- this.ViewAbsoluteValues = true;
1575
- }
1576
- /**
1577
- * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un PieChart
1578
- */
1579
- graphicate(data, settings) {
1580
- if (settings.Timeline) {
1581
- console.error("Timeline not supported for pie chart");
1430
+ console.error("Timeline not supported for pie chart");
1582
1431
  return null;
1583
1432
  }
1584
1433
  //Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
@@ -1673,15 +1522,13 @@ class PieChartService {
1673
1522
  }
1674
1523
 
1675
1524
  /**
1676
- * Classe il cui unico scopo è gestire il setup e rendering di un Vertical2DChart
1525
+ * Classe il cui unico scopo è gestire il setup e rendering di un VerticalChart
1677
1526
  */
1678
- class Vertical2DChartService {
1527
+ class VerticalChartService {
1679
1528
  /** @ignore */
1680
1529
  constructor(Adapter) {
1681
1530
  this.Adapter = Adapter;
1682
1531
  /** @ignore */
1683
- this.DefaultGroupPaddingPercentage = 5;
1684
- /** @ignore */
1685
1532
  this.dangerZone = 50;
1686
1533
  /** @ignore */
1687
1534
  this.LabelWidth = 150;
@@ -1693,7 +1540,7 @@ class Vertical2DChartService {
1693
1540
  this.DefaultColumnWidthPercentage = 85;
1694
1541
  }
1695
1542
  /**
1696
- * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un Vertical2DChart
1543
+ * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un VerticalChart
1697
1544
  */
1698
1545
  graphicate(data, settings) {
1699
1546
  if (settings.Timeline) {
@@ -1704,6 +1551,8 @@ class Vertical2DChartService {
1704
1551
  am4core.options.autoDispose = true;
1705
1552
  this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
1706
1553
  let ChartInstanceCasted = this.ChartInstance;
1554
+ let dataConverted = this.Adapter ? this.Adapter.adaptDataForVerticalChart(data) : data;
1555
+ ChartInstanceCasted.data = dataConverted.values;
1707
1556
  if (settings.Legend) {
1708
1557
  ChartInstanceCasted.legend = new am4charts.Legend();
1709
1558
  ChartInstanceCasted.legend.position = settings?.LegendPosition ?? 'right';
@@ -1726,10 +1575,7 @@ class Vertical2DChartService {
1726
1575
  categoryAxis.title.text = settings.XAxisTitle;
1727
1576
  categoryAxis.title.fontWeight = "bold";
1728
1577
  }
1729
- yAxis.min = 0;
1730
- categoryAxis.dataFields.category = 'key';
1731
- categoryAxis.renderer.cellStartLocation = am4core.percent(settings.GroupPaddingPercentage ?? this.DefaultGroupPaddingPercentage).value;
1732
- categoryAxis.renderer.cellEndLocation = am4core.percent(100 - (settings.GroupPaddingPercentage ?? this.DefaultGroupPaddingPercentage)).value;
1578
+ categoryAxis.dataFields.category = "k";
1733
1579
  categoryAxis.renderer.grid.template.location = 0;
1734
1580
  categoryAxis.renderer.minGridDistance = settings?.MinGridDistance ?? 30;
1735
1581
  let label = categoryAxis.renderer.labels.template;
@@ -1757,87 +1603,35 @@ class Vertical2DChartService {
1757
1603
  }
1758
1604
  });
1759
1605
  }
1760
- let dataPreConverted = this.Adapter ? this.Adapter.adaptDataForVertical2DChart(data) : data;
1761
- let dataConverted = [];
1762
- for (let i = 0; i < dataPreConverted.groups.length; i++) {
1763
- let item = dataPreConverted.groups[i];
1764
- let obj = { key: item.name };
1765
- for (let p = 0; p < item.values.length; p++) {
1766
- let value = item.values[p];
1767
- obj[value.k] = value.v;
1768
- }
1769
- dataConverted.push(obj);
1770
- }
1771
- ChartInstanceCasted.data = dataConverted;
1772
- if (dataPreConverted.colorInfos)
1773
- ChartInstanceCasted.colors.list = dataPreConverted.colorInfos.map(c => am4core.color(c.color));
1774
- //Prendo la prima categoria e mi baso sulle proprietà per dfeinire le serie
1775
- for (let prop in dataConverted[0])
1776
- if (prop !== "key")
1777
- this.createSeries(ChartInstanceCasted, settings, prop, prop);
1606
+ // Create series
1607
+ let series = ChartInstanceCasted.series.push(new am4charts.ColumnSeries());
1608
+ series.dataFields.valueY = "v";
1609
+ series.dataFields.categoryX = "k";
1610
+ series.name = "";
1611
+ series.columns.template.tooltipText = "{categoryX}: [bold]{valueY}[/]";
1612
+ series.columns.template.fillOpacity = .8;
1613
+ series.columns.template.width = am4core.percent(settings.ColumnWidthPercentage ?? this.DefaultColumnWidthPercentage);
1614
+ let columnTemplate = series.columns.template;
1615
+ columnTemplate.strokeWidth = 2;
1616
+ columnTemplate.strokeOpacity = 1;
1778
1617
  return this;
1779
1618
  }
1780
1619
  /** @ignore */
1781
1620
  refreshData(data) {
1782
1621
  //TODO:IMPL
1783
1622
  }
1784
- /** @ignore */
1785
- createSeries(chart, settings, value, name) {
1786
- let series = chart.series.push(new am4charts.ColumnSeries());
1787
- series.dataFields.valueY = value;
1788
- series.dataFields.categoryX = 'key';
1789
- series.name = name;
1790
- series.columns.template.tooltipText = "{name} {categoryX}: [bold]{valueY}[/]";
1791
- series.columns.template.fillOpacity = .8;
1792
- series.columns.template.width = am4core.percent(settings.ColumnWidthPercentage ?? this.DefaultColumnWidthPercentage);
1793
- series.events.on("hidden", () => this.arrangeColumns);
1794
- series.events.on("shown", () => this.arrangeColumns);
1795
- return series;
1796
- }
1797
- /** @ignore */
1798
- arrangeColumns() {
1799
- let ChartInstanceCasted = this.ChartInstance;
1800
- let series = ChartInstanceCasted.series.getIndex(0);
1801
- let xAxis = ChartInstanceCasted.xAxes.getIndex(0);
1802
- let w = 1 - xAxis.renderer.cellStartLocation - (1 - xAxis.renderer.cellEndLocation);
1803
- if (series.dataItems.length > 1) {
1804
- let x0 = xAxis.getX(series.dataItems.getIndex(0), "categoryX");
1805
- let x1 = xAxis.getX(series.dataItems.getIndex(1), "categoryX");
1806
- let delta = ((x1 - x0) / ChartInstanceCasted.series.length) * w;
1807
- if (am4core.isNumber(delta)) {
1808
- let middle = ChartInstanceCasted.series.length / 2;
1809
- let newIndex = 0;
1810
- ChartInstanceCasted.series.each((series) => {
1811
- if (!series.isHidden && !series.isHiding) {
1812
- series.dummyData = newIndex;
1813
- newIndex++;
1814
- }
1815
- else {
1816
- series.dummyData = ChartInstanceCasted.series.indexOf(series);
1817
- }
1818
- });
1819
- let visibleCount = newIndex;
1820
- let newMiddle = visibleCount / 2;
1821
- ChartInstanceCasted.series.each((series) => {
1822
- let trueIndex = ChartInstanceCasted.series.indexOf(series);
1823
- let newIndex = series.dummyData;
1824
- let dx = (newIndex - trueIndex + middle - newMiddle) * delta;
1825
- series.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
1826
- series.bulletsContainer.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
1827
- });
1828
- }
1829
- }
1830
- }
1831
1623
  }
1832
1624
 
1833
1625
  /**
1834
- * Classe il cui unico scopo è gestire il setup e rendering di un VerticalChart
1626
+ * Classe il cui unico scopo è gestire il setup e rendering di un Vertical2DChart
1835
1627
  */
1836
- class VerticalChartService {
1628
+ class Vertical2DChartService {
1837
1629
  /** @ignore */
1838
1630
  constructor(Adapter) {
1839
1631
  this.Adapter = Adapter;
1840
1632
  /** @ignore */
1633
+ this.DefaultGroupPaddingPercentage = 5;
1634
+ /** @ignore */
1841
1635
  this.dangerZone = 50;
1842
1636
  /** @ignore */
1843
1637
  this.LabelWidth = 150;
@@ -1849,7 +1643,7 @@ class VerticalChartService {
1849
1643
  this.DefaultColumnWidthPercentage = 85;
1850
1644
  }
1851
1645
  /**
1852
- * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un VerticalChart
1646
+ * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un Vertical2DChart
1853
1647
  */
1854
1648
  graphicate(data, settings) {
1855
1649
  if (settings.Timeline) {
@@ -1860,8 +1654,6 @@ class VerticalChartService {
1860
1654
  am4core.options.autoDispose = true;
1861
1655
  this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
1862
1656
  let ChartInstanceCasted = this.ChartInstance;
1863
- let dataConverted = this.Adapter ? this.Adapter.adaptDataForVerticalChart(data) : data;
1864
- ChartInstanceCasted.data = dataConverted.values;
1865
1657
  if (settings.Legend) {
1866
1658
  ChartInstanceCasted.legend = new am4charts.Legend();
1867
1659
  ChartInstanceCasted.legend.position = settings?.LegendPosition ?? 'right';
@@ -1884,7 +1676,10 @@ class VerticalChartService {
1884
1676
  categoryAxis.title.text = settings.XAxisTitle;
1885
1677
  categoryAxis.title.fontWeight = "bold";
1886
1678
  }
1887
- categoryAxis.dataFields.category = "k";
1679
+ yAxis.min = 0;
1680
+ categoryAxis.dataFields.category = 'key';
1681
+ categoryAxis.renderer.cellStartLocation = am4core.percent(settings.GroupPaddingPercentage ?? this.DefaultGroupPaddingPercentage).value;
1682
+ categoryAxis.renderer.cellEndLocation = am4core.percent(100 - (settings.GroupPaddingPercentage ?? this.DefaultGroupPaddingPercentage)).value;
1888
1683
  categoryAxis.renderer.grid.template.location = 0;
1889
1684
  categoryAxis.renderer.minGridDistance = settings?.MinGridDistance ?? 30;
1890
1685
  let label = categoryAxis.renderer.labels.template;
@@ -1912,23 +1707,77 @@ class VerticalChartService {
1912
1707
  }
1913
1708
  });
1914
1709
  }
1915
- // Create series
1916
- let series = ChartInstanceCasted.series.push(new am4charts.ColumnSeries());
1917
- series.dataFields.valueY = "v";
1918
- series.dataFields.categoryX = "k";
1919
- series.name = "";
1920
- series.columns.template.tooltipText = "{categoryX}: [bold]{valueY}[/]";
1921
- series.columns.template.fillOpacity = .8;
1922
- series.columns.template.width = am4core.percent(settings.ColumnWidthPercentage ?? this.DefaultColumnWidthPercentage);
1923
- let columnTemplate = series.columns.template;
1924
- columnTemplate.strokeWidth = 2;
1925
- columnTemplate.strokeOpacity = 1;
1710
+ let dataPreConverted = this.Adapter ? this.Adapter.adaptDataForVertical2DChart(data) : data;
1711
+ let dataConverted = [];
1712
+ for (let i = 0; i < dataPreConverted.groups.length; i++) {
1713
+ let item = dataPreConverted.groups[i];
1714
+ let obj = { key: item.name };
1715
+ for (let p = 0; p < item.values.length; p++) {
1716
+ let value = item.values[p];
1717
+ obj[value.k] = value.v;
1718
+ }
1719
+ dataConverted.push(obj);
1720
+ }
1721
+ ChartInstanceCasted.data = dataConverted;
1722
+ if (dataPreConverted.colorInfos)
1723
+ ChartInstanceCasted.colors.list = dataPreConverted.colorInfos.map(c => am4core.color(c.color));
1724
+ //Prendo la prima categoria e mi baso sulle proprietà per dfeinire le serie
1725
+ for (let prop in dataConverted[0])
1726
+ if (prop !== "key")
1727
+ this.createSeries(ChartInstanceCasted, settings, prop, prop);
1926
1728
  return this;
1927
1729
  }
1928
1730
  /** @ignore */
1929
1731
  refreshData(data) {
1930
1732
  //TODO:IMPL
1931
1733
  }
1734
+ /** @ignore */
1735
+ createSeries(chart, settings, value, name) {
1736
+ let series = chart.series.push(new am4charts.ColumnSeries());
1737
+ series.dataFields.valueY = value;
1738
+ series.dataFields.categoryX = 'key';
1739
+ series.name = name;
1740
+ series.columns.template.tooltipText = "{name} {categoryX}: [bold]{valueY}[/]";
1741
+ series.columns.template.fillOpacity = .8;
1742
+ series.columns.template.width = am4core.percent(settings.ColumnWidthPercentage ?? this.DefaultColumnWidthPercentage);
1743
+ series.events.on("hidden", () => this.arrangeColumns);
1744
+ series.events.on("shown", () => this.arrangeColumns);
1745
+ return series;
1746
+ }
1747
+ /** @ignore */
1748
+ arrangeColumns() {
1749
+ let ChartInstanceCasted = this.ChartInstance;
1750
+ let series = ChartInstanceCasted.series.getIndex(0);
1751
+ let xAxis = ChartInstanceCasted.xAxes.getIndex(0);
1752
+ let w = 1 - xAxis.renderer.cellStartLocation - (1 - xAxis.renderer.cellEndLocation);
1753
+ if (series.dataItems.length > 1) {
1754
+ let x0 = xAxis.getX(series.dataItems.getIndex(0), "categoryX");
1755
+ let x1 = xAxis.getX(series.dataItems.getIndex(1), "categoryX");
1756
+ let delta = ((x1 - x0) / ChartInstanceCasted.series.length) * w;
1757
+ if (am4core.isNumber(delta)) {
1758
+ let middle = ChartInstanceCasted.series.length / 2;
1759
+ let newIndex = 0;
1760
+ ChartInstanceCasted.series.each((series) => {
1761
+ if (!series.isHidden && !series.isHiding) {
1762
+ series.dummyData = newIndex;
1763
+ newIndex++;
1764
+ }
1765
+ else {
1766
+ series.dummyData = ChartInstanceCasted.series.indexOf(series);
1767
+ }
1768
+ });
1769
+ let visibleCount = newIndex;
1770
+ let newMiddle = visibleCount / 2;
1771
+ ChartInstanceCasted.series.each((series) => {
1772
+ let trueIndex = ChartInstanceCasted.series.indexOf(series);
1773
+ let newIndex = series.dummyData;
1774
+ let dx = (newIndex - trueIndex + middle - newMiddle) * delta;
1775
+ series.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
1776
+ series.bulletsContainer.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
1777
+ });
1778
+ }
1779
+ }
1780
+ }
1932
1781
  }
1933
1782
 
1934
1783
  /**
@@ -2053,6 +1902,138 @@ class VerticalStackedChartService {
2053
1902
  }
2054
1903
  }
2055
1904
 
1905
+ /**
1906
+ * Classe il cui unico scopo è gestire il setup e rendering di un AreaChart
1907
+ */
1908
+ class AreaChartService {
1909
+ /** @ignore */
1910
+ constructor(Adapter) {
1911
+ this.Adapter = Adapter;
1912
+ //******************** Funzione di throttling per non spammare richieste in caso di animazioni attivate
1913
+ //TODO: spostarla in un metodo di utilità (esfaenza/extensions)
1914
+ /** @ignore */
1915
+ this.executionTimers = {};
1916
+ }
1917
+ /**
1918
+ * Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un AreaChart
1919
+ */
1920
+ graphicate(data, settings) {
1921
+ if (settings.Timeline) {
1922
+ console.error("Timeline not supported for area chart");
1923
+ return null;
1924
+ }
1925
+ let dataConverted = this.Adapter ? this.Adapter.adaptDataForAreaChart(data) : data;
1926
+ let showTicks = settings.ShowTicks == null ? true : settings?.ShowTicks;
1927
+ let interval = dataConverted.interval;
1928
+ //Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
1929
+ am4core.options.autoDispose = true;
1930
+ this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
1931
+ let ChartInstanceCasted = this.ChartInstance;
1932
+ if (settings.Legend) {
1933
+ ChartInstanceCasted.legend = new am4charts.Legend();
1934
+ ChartInstanceCasted.legend.position = settings?.LegendPosition ?? 'right';
1935
+ ChartInstanceCasted.legend.itemContainers.template.tooltipText = "{category}";
1936
+ if (settings.LegendPadding) {
1937
+ let template = this.ChartInstance.legend.itemContainers.template;
1938
+ template.paddingTop = settings.LegendPadding.top ?? 0;
1939
+ template.paddingBottom = settings.LegendPadding.bottom ?? 0;
1940
+ template.paddingLeft = settings.LegendPadding.left ?? 0;
1941
+ template.paddingRight = settings.LegendPadding.right ?? 0;
1942
+ }
1943
+ }
1944
+ let yAxis = ChartInstanceCasted.yAxes.push(new am4charts.ValueAxis());
1945
+ yAxis.tooltip.disabled = true;
1946
+ if (settings.YAxisTitle) {
1947
+ yAxis.title.text = settings.YAxisTitle;
1948
+ yAxis.title.fontWeight = "bold";
1949
+ }
1950
+ yAxis.min = 0;
1951
+ let dateAxis = ChartInstanceCasted.xAxes.push(new am4charts.DateAxis());
1952
+ dateAxis.renderer.minGridDistance = settings?.MinGridDistance ?? 50;
1953
+ dateAxis.startLocation = 0.5;
1954
+ dateAxis.endLocation = 0.5;
1955
+ if (settings.XAxisTitle) {
1956
+ dateAxis.title.text = settings.XAxisTitle;
1957
+ dateAxis.title.fontWeight = "bold";
1958
+ }
1959
+ if (showTicks) {
1960
+ dateAxis.renderer.ticks.template.disabled = false;
1961
+ dateAxis.renderer.ticks.template.strokeOpacity = 1;
1962
+ dateAxis.renderer.ticks.template.stroke = am4core.color("#495C43");
1963
+ dateAxis.renderer.ticks.template.strokeWidth = 2;
1964
+ dateAxis.renderer.ticks.template.length = 10;
1965
+ dateAxis.renderer.ticks.template.location = 0;
1966
+ }
1967
+ if (!!interval)
1968
+ dateAxis.baseInterval = { count: interval.count, timeUnit: interval.timeunit };
1969
+ // Unisco il dataset e tiro fuori i dati
1970
+ let chartData = [];
1971
+ let seriesToMakeCache = {};
1972
+ let seriesToMake = [];
1973
+ for (let i = 0; i < dataConverted.groups.length; i++) {
1974
+ let group = dataConverted.groups[i];
1975
+ let dataItem = { date: group.name };
1976
+ for (let ii = 0; ii < group.values.length; ii++) {
1977
+ let val = group.values[ii];
1978
+ dataItem[val.k] = val.v;
1979
+ if (!seriesToMakeCache[val.k]) {
1980
+ seriesToMakeCache[val.k] = true;
1981
+ seriesToMake.push(val.k);
1982
+ }
1983
+ }
1984
+ chartData.push(dataItem);
1985
+ }
1986
+ ChartInstanceCasted.data = chartData;
1987
+ //---------------------------------------------------------
1988
+ seriesToMake.forEach(s => { this.createSeries(ChartInstanceCasted, s); });
1989
+ ChartInstanceCasted.cursor = new am4charts.XYCursor();
1990
+ ChartInstanceCasted.cursor.xAxis = dateAxis;
1991
+ dateAxis.events.on("startchanged", t => this.emitSelectionChanged(t, settings));
1992
+ dateAxis.events.on("endchanged", t => this.emitSelectionChanged(t, settings));
1993
+ return this;
1994
+ }
1995
+ /** @ignore */
1996
+ refreshData(data) {
1997
+ //TODO:IMPL
1998
+ }
1999
+ /** @ignore */
2000
+ emitSelectionChanged(ev, settings) {
2001
+ if (settings.OnSelectionChangedCallback) {
2002
+ this.throttla("selchange", () => {
2003
+ var axis = ev.target;
2004
+ var start = new Date(axis.minZoomed);
2005
+ var end = new Date(axis.maxZoomed);
2006
+ var initial = axis.min == axis.minZoomed && axis.max == axis.maxZoomed;
2007
+ settings.OnSelectionChangedCallback({ from: start, to: end, initial: initial });
2008
+ }, 150);
2009
+ }
2010
+ }
2011
+ /** @ignore */
2012
+ createSeries(chart, name) {
2013
+ let series = chart.series.push(new am4charts.LineSeries());
2014
+ series.dataFields.dateX = "date";
2015
+ series.name = name[0].toUpperCase() + name.slice(1);
2016
+ series.dataFields.valueY = name;
2017
+ series.tooltipText = "[#000]{valueY.value}[/]";
2018
+ //series.tooltip.background.fill = am4core.color("#FFF");
2019
+ series.tooltip.getStrokeFromObject = true;
2020
+ series.tooltip.background.strokeWidth = 3;
2021
+ series.tooltip.getFillFromObject = false;
2022
+ series.fillOpacity = 0.6;
2023
+ series.strokeWidth = 2;
2024
+ series.stacked = true;
2025
+ return series;
2026
+ }
2027
+ /** @ignore */
2028
+ throttla(id, func, throttleTime) {
2029
+ //Se ho la funzione che vuole eseguire ripulisco quel timeout
2030
+ if (this.executionTimers[id])
2031
+ clearTimeout(this.executionTimers[id]);
2032
+ //Ricreo il timeout per eseguire quella funzione dopo throttleTime millisecondi
2033
+ this.executionTimers[id] = setTimeout(() => { func(); this.executionTimers[id] = null; }, throttleTime);
2034
+ }
2035
+ }
2036
+
2056
2037
  /**
2057
2038
  * Componente specifico per la graficazione di un qualsiasi tipo di grafico.
2058
2039
  *
@@ -2125,12 +2106,12 @@ class EsChartComponent extends BaseChartComponent {
2125
2106
  }
2126
2107
  }
2127
2108
  }
2128
- 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 });
2129
- 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 });
2109
+ 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 });
2110
+ 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 });
2130
2111
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsChartComponent, decorators: [{
2131
2112
  type: Component,
2132
2113
  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"] }]
2133
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: i2.DateService }, { type: BaseAdapter }, { type: i0.NgZone }, { type: Object, decorators: [{
2114
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: i3.DateService }, { type: BaseAdapter }, { type: i0.NgZone }, { type: Object, decorators: [{
2134
2115
  type: Inject,
2135
2116
  args: [PLATFORM_ID]
2136
2117
  }] }, { type: undefined, decorators: [{
@@ -2196,7 +2177,7 @@ class EsAreaChartComponent extends BaseChartComponent {
2196
2177
  }
2197
2178
  }
2198
2179
  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 });
2199
- 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 });
2180
+ 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 });
2200
2181
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsAreaChartComponent, decorators: [{
2201
2182
  type: Component,
2202
2183
  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"] }]
@@ -2274,12 +2255,12 @@ class EsLineChartComponent extends BaseChartComponent {
2274
2255
  return new LineChartService(this.adapter, this.dateService).graphicate(this.Data, settingsCasted);
2275
2256
  }
2276
2257
  }
2277
- 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 });
2278
- 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 });
2258
+ 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 });
2259
+ 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 });
2279
2260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsLineChartComponent, decorators: [{
2280
2261
  type: Component,
2281
2262
  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"] }]
2282
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: BaseAdapter }, { type: i2.DateService }, { type: i0.NgZone }, { type: Object, decorators: [{
2263
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: BaseAdapter }, { type: i3.DateService }, { type: i0.NgZone }, { type: Object, decorators: [{
2283
2264
  type: Inject,
2284
2265
  args: [PLATFORM_ID]
2285
2266
  }] }, { type: undefined, decorators: [{
@@ -2370,7 +2351,7 @@ class EsPieChartComponent extends BaseChartComponent {
2370
2351
  }
2371
2352
  }
2372
2353
  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 });
2373
- 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 });
2354
+ 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 });
2374
2355
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsPieChartComponent, decorators: [{
2375
2356
  type: Component,
2376
2357
  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"] }]
@@ -2458,7 +2439,7 @@ class EsVertical2DChartComponent extends BaseChartComponent {
2458
2439
  }
2459
2440
  }
2460
2441
  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 });
2461
- 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 });
2442
+ 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 });
2462
2443
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVertical2DChartComponent, decorators: [{
2463
2444
  type: Component,
2464
2445
  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"] }]
@@ -2543,7 +2524,7 @@ class EsVerticalChartComponent extends BaseChartComponent {
2543
2524
  }
2544
2525
  }
2545
2526
  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 });
2546
- 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 });
2527
+ 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 });
2547
2528
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalChartComponent, decorators: [{
2548
2529
  type: Component,
2549
2530
  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"] }]
@@ -2626,7 +2607,7 @@ class EsVerticalStackedChartComponent extends BaseChartComponent {
2626
2607
  }
2627
2608
  }
2628
2609
  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 });
2629
- 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 });
2610
+ 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 });
2630
2611
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalStackedChartComponent, decorators: [{
2631
2612
  type: Component,
2632
2613
  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"] }]