@esfaenza/es-charts 13.1.5 → 13.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/adapters/BaseAdapter.mjs +50 -0
- package/esm2020/lib/adapters/IBaseAdapter.mjs +2 -0
- package/esm2020/lib/components/base/base-chart.component.mjs +13 -3
- package/esm2020/lib/components/chart-pager/chart-pager.component.mjs +1 -1
- package/esm2020/lib/components/specializations/es-area-chart.component.mjs +11 -10
- package/esm2020/lib/components/specializations/es-chart.component.mjs +24 -11
- package/esm2020/lib/components/specializations/es-line-chart.component.mjs +12 -11
- package/esm2020/lib/components/specializations/es-pie-chart.component.mjs +11 -10
- package/esm2020/lib/components/specializations/es-vertical-2d-chart.component.mjs +11 -10
- package/esm2020/lib/components/specializations/es-vertical-chart.component.mjs +11 -10
- package/esm2020/lib/components/specializations/es-vertical-stacked-chart.component.mjs +11 -10
- package/esm2020/lib/es-charts.module.mjs +13 -5
- package/esm2020/lib/models/core/ChartDispatcher.mjs +91 -0
- package/esm2020/lib/models/core/ChartLoader.mjs +201 -0
- package/esm2020/lib/models/core/ChartThemes.mjs +61 -0
- package/esm2020/lib/models/data/AreaChartData.mjs +16 -0
- package/esm2020/lib/models/data/LineChartData.mjs +16 -0
- package/esm2020/lib/models/data/PagedChartData.mjs +20 -0
- package/esm2020/lib/models/data/PieChartData.mjs +14 -0
- package/esm2020/lib/models/data/Vertical2DChartData.mjs +16 -0
- package/esm2020/lib/models/data/VerticalChartData.mjs +14 -0
- package/esm2020/lib/models/data/VerticalStackedChartData.mjs +14 -0
- package/esm2020/lib/models/data/base/DateValue.mjs +11 -0
- package/esm2020/lib/models/data/base/KeyValue.mjs +11 -0
- package/esm2020/lib/models/data/base/KeyValueColor.mjs +12 -0
- package/esm2020/lib/models/data/base/Limit.mjs +16 -0
- package/esm2020/lib/models/data/base/LineSerie.mjs +24 -0
- package/esm2020/lib/models/settings/AreaChartSettings.mjs +11 -0
- package/esm2020/lib/models/settings/LineChartSettings.mjs +11 -0
- package/esm2020/lib/models/settings/PieChartSettings.mjs +7 -0
- package/esm2020/lib/models/settings/Vertical2DChartSettings.mjs +11 -0
- package/esm2020/lib/models/settings/VerticalChartSettings.mjs +11 -0
- package/esm2020/lib/models/settings/VerticalStackedChartSettings.mjs +11 -0
- package/esm2020/lib/models/settings/base/BaseInterval.mjs +6 -0
- package/esm2020/lib/models/settings/base/BaseSettings.mjs +6 -0
- package/esm2020/lib/models/settings/base/LegendPad.mjs +6 -0
- package/esm2020/lib/services/AreaChartService.mjs +137 -0
- package/esm2020/lib/services/LineChartService.mjs +365 -0
- package/esm2020/lib/services/PieChartService.mjs +114 -0
- package/esm2020/lib/services/Vertical2DChartService.mjs +163 -0
- package/esm2020/lib/services/VerticalChartService.mjs +106 -0
- package/esm2020/lib/services/VerticalStackedChartService.mjs +127 -0
- package/esm2020/lib/services/base/IBaseService.mjs +2 -0
- package/esm2020/public-api.mjs +25 -25
- package/fesm2015/esfaenza-es-charts.mjs +442 -408
- package/fesm2015/esfaenza-es-charts.mjs.map +1 -1
- package/fesm2020/esfaenza-es-charts.mjs +431 -397
- package/fesm2020/esfaenza-es-charts.mjs.map +1 -1
- package/lib/adapters/{classes/BaseAdapter.d.ts → BaseAdapter.d.ts} +6 -1
- package/lib/adapters/{classes/IBaseAdapter.d.ts → IBaseAdapter.d.ts} +6 -1
- package/lib/components/base/base-chart.component.d.ts +17 -4
- package/lib/components/chart-pager/chart-pager.component.d.ts +1 -1
- package/lib/components/specializations/es-area-chart.component.d.ts +6 -4
- package/lib/components/specializations/es-chart.component.d.ts +17 -5
- package/lib/components/specializations/es-line-chart.component.d.ts +6 -4
- package/lib/components/specializations/es-pie-chart.component.d.ts +6 -4
- package/lib/components/specializations/es-vertical-2d-chart.component.d.ts +6 -4
- package/lib/components/specializations/es-vertical-chart.component.d.ts +6 -4
- package/lib/components/specializations/es-vertical-stacked-chart.component.d.ts +6 -4
- package/lib/models/core/{classes/ChartDispatcher.d.ts → ChartDispatcher.d.ts} +0 -0
- package/lib/models/core/{classes/ChartLoader.d.ts → ChartLoader.d.ts} +0 -0
- package/lib/models/core/{classes/ChartThemes.d.ts → ChartThemes.d.ts} +0 -0
- package/lib/models/data/{classes/AreaChartData.d.ts → AreaChartData.d.ts} +1 -1
- package/lib/models/data/{classes/LineChartData.d.ts → LineChartData.d.ts} +2 -2
- package/lib/models/data/{classes/PagedChartData.d.ts → PagedChartData.d.ts} +0 -0
- package/lib/models/data/{classes/PieChartData.d.ts → PieChartData.d.ts} +0 -0
- package/lib/models/data/{classes/Vertical2DChartData.d.ts → Vertical2DChartData.d.ts} +0 -0
- package/lib/models/data/{classes/VerticalChartData.d.ts → VerticalChartData.d.ts} +0 -0
- package/lib/models/data/{classes/VerticalStackedChartData.d.ts → VerticalStackedChartData.d.ts} +0 -0
- package/lib/models/data/{classes/base → base}/DateValue.d.ts +0 -0
- package/lib/models/data/{classes/base → base}/KeyValue.d.ts +0 -0
- package/lib/models/data/{classes/base → base}/KeyValueColor.d.ts +0 -0
- package/lib/models/data/base/Limit.d.ts +14 -0
- package/lib/models/data/{classes/base → base}/LineSerie.d.ts +1 -1
- package/lib/models/settings/{classes/AreaChartSettings.d.ts → AreaChartSettings.d.ts} +0 -0
- package/lib/models/settings/{classes/LineChartSettings.d.ts → LineChartSettings.d.ts} +0 -0
- package/lib/models/settings/{classes/PieChartSettings.d.ts → PieChartSettings.d.ts} +0 -0
- package/lib/models/settings/{classes/Vertical2DChartSettings.d.ts → Vertical2DChartSettings.d.ts} +0 -0
- package/lib/models/settings/{classes/VerticalChartSettings.d.ts → VerticalChartSettings.d.ts} +0 -0
- package/lib/models/settings/{classes/VerticalStackedChartSettings.d.ts → VerticalStackedChartSettings.d.ts} +0 -0
- package/lib/models/settings/{classes/base → base}/BaseInterval.d.ts +0 -0
- package/lib/models/settings/{classes/base → base}/BaseSettings.d.ts +1 -1
- package/lib/models/settings/{classes/base → base}/LegendPad.d.ts +0 -0
- package/lib/services/{classes/AreaChartService.d.ts → AreaChartService.d.ts} +5 -3
- package/lib/services/{classes/LineChartService.d.ts → LineChartService.d.ts} +7 -3
- package/lib/services/{classes/PieChartService.d.ts → PieChartService.d.ts} +5 -3
- package/lib/services/{classes/Vertical2DChartService.d.ts → Vertical2DChartService.d.ts} +5 -3
- package/lib/services/{classes/VerticalChartService.d.ts → VerticalChartService.d.ts} +5 -3
- package/lib/services/{classes/VerticalStackedChartService.d.ts → VerticalStackedChartService.d.ts} +5 -3
- package/lib/services/{classes/base → base}/IBaseService.d.ts +8 -1
- package/package.json +1 -1
- package/public-api.d.ts +24 -24
- package/esm2020/lib/adapters/classes/BaseAdapter.mjs +0 -50
- package/esm2020/lib/adapters/classes/IBaseAdapter.mjs +0 -2
- package/esm2020/lib/adapters/index.mjs +0 -3
- package/esm2020/lib/components/index.mjs +0 -9
- package/esm2020/lib/models/core/classes/ChartDispatcher.mjs +0 -91
- package/esm2020/lib/models/core/classes/ChartLoader.mjs +0 -201
- package/esm2020/lib/models/core/classes/ChartThemes.mjs +0 -61
- package/esm2020/lib/models/core/index.mjs +0 -4
- package/esm2020/lib/models/data/classes/AreaChartData.mjs +0 -16
- package/esm2020/lib/models/data/classes/LineChartData.mjs +0 -16
- package/esm2020/lib/models/data/classes/PagedChartData.mjs +0 -20
- package/esm2020/lib/models/data/classes/PieChartData.mjs +0 -14
- package/esm2020/lib/models/data/classes/Vertical2DChartData.mjs +0 -16
- package/esm2020/lib/models/data/classes/VerticalChartData.mjs +0 -14
- package/esm2020/lib/models/data/classes/VerticalStackedChartData.mjs +0 -14
- package/esm2020/lib/models/data/classes/base/DateValue.mjs +0 -11
- package/esm2020/lib/models/data/classes/base/KeyValue.mjs +0 -11
- package/esm2020/lib/models/data/classes/base/KeyValueColor.mjs +0 -12
- package/esm2020/lib/models/data/classes/base/Limit.mjs +0 -15
- package/esm2020/lib/models/data/classes/base/LineSerie.mjs +0 -24
- package/esm2020/lib/models/data/index.mjs +0 -13
- package/esm2020/lib/models/settings/classes/AreaChartSettings.mjs +0 -11
- package/esm2020/lib/models/settings/classes/LineChartSettings.mjs +0 -11
- package/esm2020/lib/models/settings/classes/PieChartSettings.mjs +0 -7
- package/esm2020/lib/models/settings/classes/Vertical2DChartSettings.mjs +0 -11
- package/esm2020/lib/models/settings/classes/VerticalChartSettings.mjs +0 -11
- package/esm2020/lib/models/settings/classes/VerticalStackedChartSettings.mjs +0 -11
- package/esm2020/lib/models/settings/classes/base/BaseInterval.mjs +0 -6
- package/esm2020/lib/models/settings/classes/base/BaseSettings.mjs +0 -6
- package/esm2020/lib/models/settings/classes/base/LegendPad.mjs +0 -6
- package/esm2020/lib/models/settings/index.mjs +0 -10
- package/esm2020/lib/services/classes/AreaChartService.mjs +0 -134
- package/esm2020/lib/services/classes/LineChartService.mjs +0 -356
- package/esm2020/lib/services/classes/PieChartService.mjs +0 -111
- package/esm2020/lib/services/classes/Vertical2DChartService.mjs +0 -160
- package/esm2020/lib/services/classes/VerticalChartService.mjs +0 -103
- package/esm2020/lib/services/classes/VerticalStackedChartService.mjs +0 -124
- package/esm2020/lib/services/classes/base/IBaseService.mjs +0 -2
- package/esm2020/lib/services/index.mjs +0 -8
- package/lib/adapters/index.d.ts +0 -2
- package/lib/components/index.d.ts +0 -8
- package/lib/models/core/index.d.ts +0 -3
- package/lib/models/data/classes/base/Limit.d.ts +0 -13
- package/lib/models/data/index.d.ts +0 -12
- package/lib/models/settings/index.d.ts +0 -9
- 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
|
|
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
|
|
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,14 @@ class LegendPad {
|
|
|
223
223
|
*/
|
|
224
224
|
class Limit {
|
|
225
225
|
/** @ignore */
|
|
226
|
-
constructor(upper,
|
|
226
|
+
constructor(upper, upperlabel, uppercolor, lower, lowerlabel, lowercolor, fillColor = "") {
|
|
227
227
|
this.upper = upper;
|
|
228
|
-
this.
|
|
229
|
-
this.
|
|
228
|
+
this.upperlabel = upperlabel;
|
|
229
|
+
this.uppercolor = uppercolor;
|
|
230
230
|
this.lower = lower;
|
|
231
|
-
this.
|
|
232
|
-
this.
|
|
231
|
+
this.lowerlabel = lowerlabel;
|
|
232
|
+
this.lowercolor = lowercolor;
|
|
233
|
+
this.fillColor = fillColor;
|
|
233
234
|
}
|
|
234
235
|
}
|
|
235
236
|
|
|
@@ -358,7 +359,7 @@ class PageChartSelector {
|
|
|
358
359
|
}
|
|
359
360
|
}
|
|
360
361
|
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:
|
|
362
|
+
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
363
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageChartSelector, decorators: [{
|
|
363
364
|
type: Component,
|
|
364
365
|
args: [{ selector: "chart-pager", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"(Items || Dtos) && (Items || Dtos).length > 0\" class=\"pcs-no-selection\">\r\n <div class=\"pcs-button pcs-backward\">\r\n <svg class=\"pcs-svg-header\">\r\n <g class=\"pcs-svg-button-container\" role=\"button\" (click)=\"currentpage != 1 && Previous(); $event.stopPropagation(); $event.preventDefault();\">\r\n <!--Pulsante e freccettina all'interno-->\r\n <g class=\"pcs-svg-button\" [style.cursor]=\"currentpage == 1 ? 'not-allowed' : 'pointer'\"><path d=\"M3,0 L53.027,0 a3,3 0 0 1 3,3 L56.027,36.817 a3,3 0 0 1 -3,3 L3,39.817 a3,3 0 0 1 -3,-3 L0,3 a3,3 0 0 1 3,-3 Z\"></path></g>\r\n <g class=\"pcs-svg-arrow pcs-svg-arrow-left\"><path d=\"M26,14H10l5.17-6.79A2,2,0,0,0,12,4.79l-7.62,10a2,2,0,0,0,0,2.42l7.62,10a2,2,0,0,0,3.18-2.42L10,18H26a2,2,0,0,0,0-4Z\"></path></g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"pcs-infos\">\r\n <ng-container *ngIf=\"headerInner_tr\">\r\n <ng-container *ngTemplateOutlet=\"headerInner_tr; context : {$implicit: (Items || Dtos)[currentpage - 1]}\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"pcs-button pcs-forward\">\r\n <svg class=\"pcs-svg-header\">\r\n <g class=\"pcs-svg-button-container\" role=\"button\" (click)=\"(Items || Dtos).length != currentpage && Next(); $event.stopPropagation(); $event.preventDefault();\">\r\n <!--Pulsante e freccettina all'interno-->\r\n <g class=\"pcs-svg-button\" [style.cursor]=\"(Items || Dtos).length == currentpage ? 'not-allowed' : 'pointer'\"><path d=\"M3,0 L53.027,0 a3,3 0 0 1 3,3 L56.027,36.817 a3,3 0 0 1 -3,3 L3,39.817 a3,3 0 0 1 -3,-3 L0,3 a3,3 0 0 1 3,-3 Z\"></path></g>\r\n <g class=\"pcs-svg-arrow pcs-svg-arrow-right\"><path d=\"M26,14H10l5.17-6.79A2,2,0,0,0,12,4.79l-7.62,10a2,2,0,0,0,0,2.42l7.62,10a2,2,0,0,0,3.18-2.42L10,18H26a2,2,0,0,0,0-4Z\"></path></g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div style=\"clear: both;\"></div>\r\n</div>", styles: [".pcs-button{width:60px}.pcs-forward{float:right;text-align:end}.pcs-backward{float:left}.pcs-svg-header{width:57px;height:40px}.pcs-svg-button-container{outline:currentcolor none medium}.pcs-svg-arrow{pointer-events:none;fill:#555}.pcs-svg-arrow-right{transform:translate(44px,36px) rotate(180deg)}.pcs-svg-arrow-left{transform:translate(13px,4px)}.pcs-svg-button{fill:#d9d9d9;stroke:#fff;fill-opacity:1;stroke-opacity:1}.pcs-svg-button:hover{fill:#a3a3a3;cursor:pointer}.pcs-infos{width:calc(100% - 120px);height:44px;float:left}.pcs-no-selection{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}\n"] }]
|
|
@@ -377,113 +378,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
377
378
|
args: ['header_inner', { static: false }]
|
|
378
379
|
}] } });
|
|
379
380
|
|
|
380
|
-
/**
|
|
381
|
-
* Token che identifica il Locale di default per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
|
|
382
|
-
*/
|
|
383
|
-
const ESC_LOCALE = new InjectionToken('ESC_LOCALE');
|
|
384
|
-
/**
|
|
385
|
-
* Token che identifica il default per l'utilizzo o meno delle Animazioni per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
|
|
386
|
-
*/
|
|
387
|
-
const ESC_ANIMATIONS = new InjectionToken('ESC_ANIMATIONS');
|
|
388
|
-
/**
|
|
389
|
-
* Token che identifica il Tema di default per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
|
|
390
|
-
*/
|
|
391
|
-
const ESC_THEME = new InjectionToken('ESC_THEME');
|
|
392
|
-
/**
|
|
393
|
-
* Token che identifica l'utilizzo o meno del sistema di Log per l'intera libreria
|
|
394
|
-
*/
|
|
395
|
-
const ESC_LOGS = new InjectionToken('ESC_LOGS');
|
|
396
|
-
|
|
397
|
-
/**
|
|
398
|
-
* Classe che si occupa del dispatch delle operazioni di rendering dei grafici utilizzando una coda per permettere ad ogni grafico di avere temi e localizzazione custom
|
|
399
|
-
*/
|
|
400
|
-
class ChartDispatcher {
|
|
401
|
-
/**
|
|
402
|
-
* @ignore
|
|
403
|
-
*/
|
|
404
|
-
constructor(logs) {
|
|
405
|
-
this.logs = logs;
|
|
406
|
-
/**
|
|
407
|
-
* Coda di inizializzazioni ancora da eseguire. Quando questa è vuota significa che nessuno sta creando grafici
|
|
408
|
-
*/
|
|
409
|
-
this.Initializations = [];
|
|
410
|
-
/**
|
|
411
|
-
* Lista dei grafici inizializzati e attivi in un dato momento (viene registrata la proprietà **name**). Non è possibile registrare due grafici con lo stesso identificativo
|
|
412
|
-
*/
|
|
413
|
-
this.InitializedGraphs = [];
|
|
414
|
-
}
|
|
415
|
-
/**
|
|
416
|
-
* Registra un grafico da visualizzare insieme alla propria funzione di creazione. Quest'ultima sarà differita fino a che tutti i grafici
|
|
417
|
-
* precedentemente registati non hanno finito la fase di inizializzazione
|
|
418
|
-
*
|
|
419
|
-
* @param {string} name Identificativo del grafico da registrare
|
|
420
|
-
* @param {Function} chartCreationFunction Funzione che fisicamente dovrà occuparsi della creazione del grafico
|
|
421
|
-
*/
|
|
422
|
-
register(name, chartCreationFunction) {
|
|
423
|
-
if (this.InitializedGraphs.indexOf(name) != -1)
|
|
424
|
-
throw "Attempting to register a duplicate chart '" + name + "'. Make sure the 'name' properties of your charts are univoque";
|
|
425
|
-
this.log("DISPATCHER: Registering chart creation function execution for " + name);
|
|
426
|
-
this.Initializations.push({ name: name, function: chartCreationFunction });
|
|
427
|
-
if (this.Initializations.length == 1) {
|
|
428
|
-
this.log("DISPATCHER: Initial drain started");
|
|
429
|
-
this.drainInitQueues();
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
/**
|
|
433
|
-
* Deregistra un grafico presente. Chiamata generalmente al dispose del grafico in questione quando non dev'essere più mostrato nella pagina corrente
|
|
434
|
-
*
|
|
435
|
-
* @param {string} name Identificativo del grafico da deregistrare
|
|
436
|
-
*/
|
|
437
|
-
deregisterGraph(name) {
|
|
438
|
-
let index = this.InitializedGraphs.indexOf(name);
|
|
439
|
-
if (index == -1) {
|
|
440
|
-
//Questo succede quando si cerca di distruggere il grafico mentre sta venendo graficato
|
|
441
|
-
this.log("DISPATCHER: Registration missing for chart " + name + " it was probably destroyed during load");
|
|
442
|
-
return;
|
|
443
|
-
}
|
|
444
|
-
this.log("DISPATCHER: Chart deregistered " + name);
|
|
445
|
-
this.InitializedGraphs.splice(index, 1);
|
|
446
|
-
}
|
|
447
|
-
/**
|
|
448
|
-
* Metodo che esegue in maniera sequenziale le funzioni di inizializzazione dei grafici finché presenti
|
|
449
|
-
* in modo che nessun grafico possa essere inizializzato contemporaneamente ad un altro.
|
|
450
|
-
*
|
|
451
|
-
* Questo è il punto chiave che permette di avere per ogni grafico temi e locale differenti
|
|
452
|
-
*/
|
|
453
|
-
drainInitQueues() {
|
|
454
|
-
let toExecute = this.Initializations[0];
|
|
455
|
-
this.log("DISPATCHER: Executing initialization function for chart " + toExecute.name);
|
|
456
|
-
toExecute.function().then(() => {
|
|
457
|
-
this.log("DISPATCHER: initialization for chart " + toExecute.name + " is done");
|
|
458
|
-
this.InitializedGraphs.push(toExecute.name);
|
|
459
|
-
this.Initializations.splice(0, 1);
|
|
460
|
-
if (this.Initializations.length >= 1) {
|
|
461
|
-
this.log("DISPATCHER: Found queued initializations. Continuing");
|
|
462
|
-
this.drainInitQueues();
|
|
463
|
-
}
|
|
464
|
-
else
|
|
465
|
-
this.log("DISPATCHER: queue is over, nothing more to do");
|
|
466
|
-
});
|
|
467
|
-
}
|
|
468
|
-
/**
|
|
469
|
-
* @ignore
|
|
470
|
-
*/
|
|
471
|
-
log(text) {
|
|
472
|
-
if (this.logs)
|
|
473
|
-
console.log("@esfaenza/es-charts: " + text);
|
|
474
|
-
}
|
|
475
|
-
}
|
|
476
|
-
ChartDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher, deps: [{ token: ESC_LOGS }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
477
|
-
ChartDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher });
|
|
478
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher, decorators: [{
|
|
479
|
-
type: Injectable
|
|
480
|
-
}], ctorParameters: function () {
|
|
481
|
-
return [{ type: undefined, decorators: [{
|
|
482
|
-
type: Inject,
|
|
483
|
-
args: [ESC_LOGS]
|
|
484
|
-
}] }];
|
|
485
|
-
} });
|
|
486
|
-
|
|
487
381
|
/** @ignore */
|
|
488
382
|
const _spiritedaway = 'spiritedaway';
|
|
489
383
|
/** @ignore */
|
|
@@ -745,6 +639,113 @@ class ChartLoader {
|
|
|
745
639
|
}
|
|
746
640
|
}
|
|
747
641
|
|
|
642
|
+
/**
|
|
643
|
+
* Token che identifica il Locale di default per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
|
|
644
|
+
*/
|
|
645
|
+
const ESC_LOCALE = new InjectionToken('ESC_LOCALE');
|
|
646
|
+
/**
|
|
647
|
+
* 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)
|
|
648
|
+
*/
|
|
649
|
+
const ESC_ANIMATIONS = new InjectionToken('ESC_ANIMATIONS');
|
|
650
|
+
/**
|
|
651
|
+
* Token che identifica il Tema di default per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
|
|
652
|
+
*/
|
|
653
|
+
const ESC_THEME = new InjectionToken('ESC_THEME');
|
|
654
|
+
/**
|
|
655
|
+
* Token che identifica l'utilizzo o meno del sistema di Log per l'intera libreria
|
|
656
|
+
*/
|
|
657
|
+
const ESC_LOGS = new InjectionToken('ESC_LOGS');
|
|
658
|
+
|
|
659
|
+
/**
|
|
660
|
+
* 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
|
|
661
|
+
*/
|
|
662
|
+
class ChartDispatcher {
|
|
663
|
+
/**
|
|
664
|
+
* @ignore
|
|
665
|
+
*/
|
|
666
|
+
constructor(logs) {
|
|
667
|
+
this.logs = logs;
|
|
668
|
+
/**
|
|
669
|
+
* Coda di inizializzazioni ancora da eseguire. Quando questa è vuota significa che nessuno sta creando grafici
|
|
670
|
+
*/
|
|
671
|
+
this.Initializations = [];
|
|
672
|
+
/**
|
|
673
|
+
* Lista dei grafici inizializzati e attivi in un dato momento (viene registrata la proprietà **name**). Non è possibile registrare due grafici con lo stesso identificativo
|
|
674
|
+
*/
|
|
675
|
+
this.InitializedGraphs = [];
|
|
676
|
+
}
|
|
677
|
+
/**
|
|
678
|
+
* Registra un grafico da visualizzare insieme alla propria funzione di creazione. Quest'ultima sarà differita fino a che tutti i grafici
|
|
679
|
+
* precedentemente registati non hanno finito la fase di inizializzazione
|
|
680
|
+
*
|
|
681
|
+
* @param {string} name Identificativo del grafico da registrare
|
|
682
|
+
* @param {Function} chartCreationFunction Funzione che fisicamente dovrà occuparsi della creazione del grafico
|
|
683
|
+
*/
|
|
684
|
+
register(name, chartCreationFunction) {
|
|
685
|
+
if (this.InitializedGraphs.indexOf(name) != -1)
|
|
686
|
+
throw "Attempting to register a duplicate chart '" + name + "'. Make sure the 'name' properties of your charts are univoque";
|
|
687
|
+
this.log("DISPATCHER: Registering chart creation function execution for " + name);
|
|
688
|
+
this.Initializations.push({ name: name, function: chartCreationFunction });
|
|
689
|
+
if (this.Initializations.length == 1) {
|
|
690
|
+
this.log("DISPATCHER: Initial drain started");
|
|
691
|
+
this.drainInitQueues();
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
/**
|
|
695
|
+
* Deregistra un grafico presente. Chiamata generalmente al dispose del grafico in questione quando non dev'essere più mostrato nella pagina corrente
|
|
696
|
+
*
|
|
697
|
+
* @param {string} name Identificativo del grafico da deregistrare
|
|
698
|
+
*/
|
|
699
|
+
deregisterGraph(name) {
|
|
700
|
+
let index = this.InitializedGraphs.indexOf(name);
|
|
701
|
+
if (index == -1) {
|
|
702
|
+
//Questo succede quando si cerca di distruggere il grafico mentre sta venendo graficato
|
|
703
|
+
this.log("DISPATCHER: Registration missing for chart " + name + " it was probably destroyed during load");
|
|
704
|
+
return;
|
|
705
|
+
}
|
|
706
|
+
this.log("DISPATCHER: Chart deregistered " + name);
|
|
707
|
+
this.InitializedGraphs.splice(index, 1);
|
|
708
|
+
}
|
|
709
|
+
/**
|
|
710
|
+
* Metodo che esegue in maniera sequenziale le funzioni di inizializzazione dei grafici finché presenti
|
|
711
|
+
* in modo che nessun grafico possa essere inizializzato contemporaneamente ad un altro.
|
|
712
|
+
*
|
|
713
|
+
* Questo è il punto chiave che permette di avere per ogni grafico temi e locale differenti
|
|
714
|
+
*/
|
|
715
|
+
drainInitQueues() {
|
|
716
|
+
let toExecute = this.Initializations[0];
|
|
717
|
+
this.log("DISPATCHER: Executing initialization function for chart " + toExecute.name);
|
|
718
|
+
toExecute.function().then(() => {
|
|
719
|
+
this.log("DISPATCHER: initialization for chart " + toExecute.name + " is done");
|
|
720
|
+
this.InitializedGraphs.push(toExecute.name);
|
|
721
|
+
this.Initializations.splice(0, 1);
|
|
722
|
+
if (this.Initializations.length >= 1) {
|
|
723
|
+
this.log("DISPATCHER: Found queued initializations. Continuing");
|
|
724
|
+
this.drainInitQueues();
|
|
725
|
+
}
|
|
726
|
+
else
|
|
727
|
+
this.log("DISPATCHER: queue is over, nothing more to do");
|
|
728
|
+
});
|
|
729
|
+
}
|
|
730
|
+
/**
|
|
731
|
+
* @ignore
|
|
732
|
+
*/
|
|
733
|
+
log(text) {
|
|
734
|
+
if (this.logs)
|
|
735
|
+
console.log("@esfaenza/es-charts: " + text);
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
ChartDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher, deps: [{ token: ESC_LOGS }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
739
|
+
ChartDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher });
|
|
740
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher, decorators: [{
|
|
741
|
+
type: Injectable
|
|
742
|
+
}], ctorParameters: function () {
|
|
743
|
+
return [{ type: undefined, decorators: [{
|
|
744
|
+
type: Inject,
|
|
745
|
+
args: [ESC_LOGS]
|
|
746
|
+
}] }];
|
|
747
|
+
} });
|
|
748
|
+
|
|
748
749
|
/**
|
|
749
750
|
* Componente Grafico Base che gestisce tutte le cose comuni dei vari grafici istanziabili, come la presenza o menu di una legenda,
|
|
750
751
|
* il tema utilizzato, il locale del singolo grafico, ecc ecc...
|
|
@@ -1015,6 +1016,15 @@ class BaseChartComponent {
|
|
|
1015
1016
|
if (this.logs)
|
|
1016
1017
|
console.log("@esfaenza/es-charts: " + log);
|
|
1017
1018
|
}
|
|
1019
|
+
/**
|
|
1020
|
+
* Imposta lo zoom dal **from** al **to**
|
|
1021
|
+
*
|
|
1022
|
+
* @param {Date} from Inizio dello zoom
|
|
1023
|
+
* @param {Date} to Fine dello zoom
|
|
1024
|
+
*/
|
|
1025
|
+
setSelection(from, to) {
|
|
1026
|
+
this.ChartService.setSelection(from, to);
|
|
1027
|
+
}
|
|
1018
1028
|
/**
|
|
1019
1029
|
* @ignore
|
|
1020
1030
|
*/
|
|
@@ -1131,33 +1141,57 @@ class LineChartService {
|
|
|
1131
1141
|
yAxis.min = settings.Min;
|
|
1132
1142
|
if (settings.Max)
|
|
1133
1143
|
yAxis.max = settings.Max;
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1144
|
+
let limitNullOrUndef = dataConverted.limit == null || dataConverted.limit == undefined;
|
|
1145
|
+
let limits = limitNullOrUndef ? [] : !dataConverted.limit.length ? [dataConverted.limit] : dataConverted.limit;
|
|
1146
|
+
if (limits.length > 0) {
|
|
1147
|
+
for (let i = 0; i < limits.length; i++) {
|
|
1148
|
+
let limit = limits[i];
|
|
1149
|
+
if (limit.upper != null && limit.upper != undefined && limit.lower != null && limit.lower != undefined) {
|
|
1150
|
+
let range = yAxis.axisRanges.create();
|
|
1151
|
+
range.value = limit.lower;
|
|
1152
|
+
range.endValue = limit.upper;
|
|
1153
|
+
if (limit.fillColor) {
|
|
1154
|
+
range.contents.stroke = am4core.color(limit.fillColor);
|
|
1155
|
+
range.contents.fill = range.contents.stroke;
|
|
1156
|
+
}
|
|
1157
|
+
range.label.inside = true;
|
|
1158
|
+
range.label.text = limit.upperlabel;
|
|
1159
|
+
range.label.fill = range.grid.stroke;
|
|
1160
|
+
range.label.verticalCenter = "bottom";
|
|
1161
|
+
range.label.stroke = am4core.color(limit.uppercolor || "#F92200");
|
|
1162
|
+
range.grid.stroke = am4core.color(limit.uppercolor || "#F92200");
|
|
1163
|
+
range.grid.strokeWidth = 2;
|
|
1164
|
+
range.grid.strokeOpacity = 1;
|
|
1165
|
+
}
|
|
1166
|
+
else if ((limit.lower == null || limit.lower == undefined) && limit.upper != null && limit.upper != undefined) {
|
|
1167
|
+
let range = yAxis.axisRanges.create();
|
|
1168
|
+
range.value = limit.upper;
|
|
1169
|
+
range.label.inside = true;
|
|
1170
|
+
range.label.text = limit.upperlabel;
|
|
1171
|
+
range.label.fill = range.grid.stroke;
|
|
1172
|
+
range.label.verticalCenter = "bottom";
|
|
1173
|
+
range.label.stroke = am4core.color(limit.uppercolor || "#F92200");
|
|
1174
|
+
range.grid.stroke = am4core.color(limit.uppercolor || "#F92200");
|
|
1175
|
+
range.grid.strokeWidth = 2;
|
|
1176
|
+
range.grid.strokeOpacity = 1;
|
|
1177
|
+
}
|
|
1178
|
+
else if ((limit.upper == null || limit.upper == undefined) && limit.lower != null && limit.lower != undefined) {
|
|
1179
|
+
let range = yAxis.axisRanges.create();
|
|
1180
|
+
range.value = limit.lower;
|
|
1181
|
+
range.label.inside = true;
|
|
1182
|
+
range.label.text = limit.lowerlabel;
|
|
1183
|
+
range.label.fill = range.grid.stroke;
|
|
1184
|
+
range.label.verticalCenter = "bottom";
|
|
1185
|
+
range.label.stroke = am4core.color(limit.lowercolor || "#F92200");
|
|
1186
|
+
range.grid.stroke = am4core.color(limit.lowercolor || "#F92200");
|
|
1187
|
+
range.grid.strokeWidth = 2;
|
|
1188
|
+
range.grid.strokeOpacity = 1;
|
|
1189
|
+
}
|
|
1158
1190
|
}
|
|
1159
1191
|
}
|
|
1160
|
-
|
|
1192
|
+
this.dateAxis = ChartInstanceCasted.xAxes.push(new am4charts.DateAxis());
|
|
1193
|
+
// Per comatibilità col codice scritto quando non era a livello globale, mi scoccia sostituire
|
|
1194
|
+
let dateAxis = this.dateAxis;
|
|
1161
1195
|
if (settings.XAxisTitle) {
|
|
1162
1196
|
dateAxis.title.text = settings.XAxisTitle;
|
|
1163
1197
|
dateAxis.title.fontWeight = "bold";
|
|
@@ -1328,6 +1362,10 @@ class LineChartService {
|
|
|
1328
1362
|
return this;
|
|
1329
1363
|
}
|
|
1330
1364
|
/** @ignore */
|
|
1365
|
+
setSelection(from, to) {
|
|
1366
|
+
this.dateAxis.zoomToDates(from, to, true, true);
|
|
1367
|
+
}
|
|
1368
|
+
/** @ignore */
|
|
1331
1369
|
refreshData(data) {
|
|
1332
1370
|
let dataConverted = this.Adapter ? this.Adapter.adaptDataForLineChart(data) : data;
|
|
1333
1371
|
if (this.singleDataSet) {
|
|
@@ -1335,26 +1373,7 @@ class LineChartService {
|
|
|
1335
1373
|
this.ChartInstance.addData(data);
|
|
1336
1374
|
return;
|
|
1337
1375
|
}
|
|
1338
|
-
|
|
1339
|
-
var relativeSerie = dataConverted.series.find(t => t.name == s.name);
|
|
1340
|
-
// Una serie del grafico è stata ggiornata, ordino i datapoint e li aggiungo
|
|
1341
|
-
var correctOrder = true;
|
|
1342
|
-
var prevDate = null;
|
|
1343
|
-
for (let v = 0; v < relativeSerie.values.length; v++) {
|
|
1344
|
-
if (!prevDate)
|
|
1345
|
-
prevDate = relativeSerie.values[v].d;
|
|
1346
|
-
else if (relativeSerie.values[v].d < prevDate) {
|
|
1347
|
-
correctOrder = false;
|
|
1348
|
-
break;
|
|
1349
|
-
}
|
|
1350
|
-
}
|
|
1351
|
-
if (!correctOrder)
|
|
1352
|
-
relativeSerie.values.sort((d1, d2) => d1.d.getTime() - d2.d.getTime());
|
|
1353
|
-
for (let v = 0; v < relativeSerie.values.length; v++) {
|
|
1354
|
-
let obj = relativeSerie.values[v];
|
|
1355
|
-
s.addData({ date: obj.d, value: obj.v });
|
|
1356
|
-
}
|
|
1357
|
-
});
|
|
1376
|
+
throw "Impossibile aggiornare i dati senza unire il dataset. Si prega di impostare [MergeDatasets] a true";
|
|
1358
1377
|
}
|
|
1359
1378
|
/** Partendo da dati divisi per seriue genera un dataset unito con la data come chiave e i vari valori dopo */
|
|
1360
1379
|
generateSingleDataset(data) {
|
|
@@ -1441,155 +1460,22 @@ class LineChartService {
|
|
|
1441
1460
|
}
|
|
1442
1461
|
|
|
1443
1462
|
/**
|
|
1444
|
-
* Classe il cui unico scopo è gestire il setup e rendering di un
|
|
1463
|
+
* Classe il cui unico scopo è gestire il setup e rendering di un PieChart
|
|
1445
1464
|
*/
|
|
1446
|
-
class
|
|
1465
|
+
class PieChartService {
|
|
1447
1466
|
/** @ignore */
|
|
1448
1467
|
constructor(Adapter) {
|
|
1449
1468
|
this.Adapter = Adapter;
|
|
1450
|
-
//******************** Funzione di throttling per non spammare richieste in caso di animazioni attivate
|
|
1451
|
-
//TODO: spostarla in un metodo di utilità (esfaenza/extensions)
|
|
1452
1469
|
/** @ignore */
|
|
1453
|
-
this.
|
|
1470
|
+
this.ViewAbsoluteValues = true;
|
|
1454
1471
|
}
|
|
1455
1472
|
/**
|
|
1456
|
-
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un
|
|
1473
|
+
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un PieChart
|
|
1457
1474
|
*/
|
|
1458
1475
|
graphicate(data, settings) {
|
|
1459
|
-
var _a, _b, _c, _d
|
|
1476
|
+
var _a, _b, _c, _d;
|
|
1460
1477
|
if (settings.Timeline) {
|
|
1461
|
-
console.error("Timeline not supported for
|
|
1462
|
-
return null;
|
|
1463
|
-
}
|
|
1464
|
-
let dataConverted = this.Adapter ? this.Adapter.adaptDataForAreaChart(data) : data;
|
|
1465
|
-
let showTicks = settings.ShowTicks == null ? true : settings === null || settings === void 0 ? void 0 : settings.ShowTicks;
|
|
1466
|
-
let interval = dataConverted.interval;
|
|
1467
|
-
//Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
|
|
1468
|
-
am4core.options.autoDispose = true;
|
|
1469
|
-
this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
|
|
1470
|
-
let ChartInstanceCasted = this.ChartInstance;
|
|
1471
|
-
if (settings.Legend) {
|
|
1472
|
-
ChartInstanceCasted.legend = new am4charts.Legend();
|
|
1473
|
-
ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
|
|
1474
|
-
ChartInstanceCasted.legend.itemContainers.template.tooltipText = "{category}";
|
|
1475
|
-
if (settings.LegendPadding) {
|
|
1476
|
-
let template = this.ChartInstance.legend.itemContainers.template;
|
|
1477
|
-
template.paddingTop = (_b = settings.LegendPadding.top) !== null && _b !== void 0 ? _b : 0;
|
|
1478
|
-
template.paddingBottom = (_c = settings.LegendPadding.bottom) !== null && _c !== void 0 ? _c : 0;
|
|
1479
|
-
template.paddingLeft = (_d = settings.LegendPadding.left) !== null && _d !== void 0 ? _d : 0;
|
|
1480
|
-
template.paddingRight = (_e = settings.LegendPadding.right) !== null && _e !== void 0 ? _e : 0;
|
|
1481
|
-
}
|
|
1482
|
-
}
|
|
1483
|
-
let yAxis = ChartInstanceCasted.yAxes.push(new am4charts.ValueAxis());
|
|
1484
|
-
yAxis.tooltip.disabled = true;
|
|
1485
|
-
if (settings.YAxisTitle) {
|
|
1486
|
-
yAxis.title.text = settings.YAxisTitle;
|
|
1487
|
-
yAxis.title.fontWeight = "bold";
|
|
1488
|
-
}
|
|
1489
|
-
yAxis.min = 0;
|
|
1490
|
-
let dateAxis = ChartInstanceCasted.xAxes.push(new am4charts.DateAxis());
|
|
1491
|
-
dateAxis.renderer.minGridDistance = (_f = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _f !== void 0 ? _f : 50;
|
|
1492
|
-
dateAxis.startLocation = 0.5;
|
|
1493
|
-
dateAxis.endLocation = 0.5;
|
|
1494
|
-
if (settings.XAxisTitle) {
|
|
1495
|
-
dateAxis.title.text = settings.XAxisTitle;
|
|
1496
|
-
dateAxis.title.fontWeight = "bold";
|
|
1497
|
-
}
|
|
1498
|
-
if (showTicks) {
|
|
1499
|
-
dateAxis.renderer.ticks.template.disabled = false;
|
|
1500
|
-
dateAxis.renderer.ticks.template.strokeOpacity = 1;
|
|
1501
|
-
dateAxis.renderer.ticks.template.stroke = am4core.color("#495C43");
|
|
1502
|
-
dateAxis.renderer.ticks.template.strokeWidth = 2;
|
|
1503
|
-
dateAxis.renderer.ticks.template.length = 10;
|
|
1504
|
-
dateAxis.renderer.ticks.template.location = 0;
|
|
1505
|
-
}
|
|
1506
|
-
if (!!interval)
|
|
1507
|
-
dateAxis.baseInterval = { count: interval.count, timeUnit: interval.timeunit };
|
|
1508
|
-
// Unisco il dataset e tiro fuori i dati
|
|
1509
|
-
let chartData = [];
|
|
1510
|
-
let seriesToMakeCache = {};
|
|
1511
|
-
let seriesToMake = [];
|
|
1512
|
-
for (let i = 0; i < dataConverted.groups.length; i++) {
|
|
1513
|
-
let group = dataConverted.groups[i];
|
|
1514
|
-
let dataItem = { date: group.name };
|
|
1515
|
-
for (let ii = 0; ii < group.values.length; ii++) {
|
|
1516
|
-
let val = group.values[ii];
|
|
1517
|
-
dataItem[val.k] = val.v;
|
|
1518
|
-
if (!seriesToMakeCache[val.k]) {
|
|
1519
|
-
seriesToMakeCache[val.k] = true;
|
|
1520
|
-
seriesToMake.push(val.k);
|
|
1521
|
-
}
|
|
1522
|
-
}
|
|
1523
|
-
chartData.push(dataItem);
|
|
1524
|
-
}
|
|
1525
|
-
ChartInstanceCasted.data = chartData;
|
|
1526
|
-
//---------------------------------------------------------
|
|
1527
|
-
seriesToMake.forEach(s => { this.createSeries(ChartInstanceCasted, s); });
|
|
1528
|
-
ChartInstanceCasted.cursor = new am4charts.XYCursor();
|
|
1529
|
-
ChartInstanceCasted.cursor.xAxis = dateAxis;
|
|
1530
|
-
dateAxis.events.on("startchanged", t => this.emitSelectionChanged(t, settings));
|
|
1531
|
-
dateAxis.events.on("endchanged", t => this.emitSelectionChanged(t, settings));
|
|
1532
|
-
return this;
|
|
1533
|
-
}
|
|
1534
|
-
/** @ignore */
|
|
1535
|
-
refreshData(data) {
|
|
1536
|
-
//TODO:IMPL
|
|
1537
|
-
}
|
|
1538
|
-
/** @ignore */
|
|
1539
|
-
emitSelectionChanged(ev, settings) {
|
|
1540
|
-
if (settings.OnSelectionChangedCallback) {
|
|
1541
|
-
this.throttla("selchange", () => {
|
|
1542
|
-
var axis = ev.target;
|
|
1543
|
-
var start = new Date(axis.minZoomed);
|
|
1544
|
-
var end = new Date(axis.maxZoomed);
|
|
1545
|
-
var initial = axis.min == axis.minZoomed && axis.max == axis.maxZoomed;
|
|
1546
|
-
settings.OnSelectionChangedCallback({ from: start, to: end, initial: initial });
|
|
1547
|
-
}, 150);
|
|
1548
|
-
}
|
|
1549
|
-
}
|
|
1550
|
-
/** @ignore */
|
|
1551
|
-
createSeries(chart, name) {
|
|
1552
|
-
let series = chart.series.push(new am4charts.LineSeries());
|
|
1553
|
-
series.dataFields.dateX = "date";
|
|
1554
|
-
series.name = name[0].toUpperCase() + name.slice(1);
|
|
1555
|
-
series.dataFields.valueY = name;
|
|
1556
|
-
series.tooltipText = "[#000]{valueY.value}[/]";
|
|
1557
|
-
//series.tooltip.background.fill = am4core.color("#FFF");
|
|
1558
|
-
series.tooltip.getStrokeFromObject = true;
|
|
1559
|
-
series.tooltip.background.strokeWidth = 3;
|
|
1560
|
-
series.tooltip.getFillFromObject = false;
|
|
1561
|
-
series.fillOpacity = 0.6;
|
|
1562
|
-
series.strokeWidth = 2;
|
|
1563
|
-
series.stacked = true;
|
|
1564
|
-
return series;
|
|
1565
|
-
}
|
|
1566
|
-
/** @ignore */
|
|
1567
|
-
throttla(id, func, throttleTime) {
|
|
1568
|
-
//Se ho la funzione che vuole eseguire ripulisco quel timeout
|
|
1569
|
-
if (this.executionTimers[id])
|
|
1570
|
-
clearTimeout(this.executionTimers[id]);
|
|
1571
|
-
//Ricreo il timeout per eseguire quella funzione dopo throttleTime millisecondi
|
|
1572
|
-
this.executionTimers[id] = setTimeout(() => { func(); this.executionTimers[id] = null; }, throttleTime);
|
|
1573
|
-
}
|
|
1574
|
-
}
|
|
1575
|
-
|
|
1576
|
-
/**
|
|
1577
|
-
* Classe il cui unico scopo è gestire il setup e rendering di un PieChart
|
|
1578
|
-
*/
|
|
1579
|
-
class PieChartService {
|
|
1580
|
-
/** @ignore */
|
|
1581
|
-
constructor(Adapter) {
|
|
1582
|
-
this.Adapter = Adapter;
|
|
1583
|
-
/** @ignore */
|
|
1584
|
-
this.ViewAbsoluteValues = true;
|
|
1585
|
-
}
|
|
1586
|
-
/**
|
|
1587
|
-
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un PieChart
|
|
1588
|
-
*/
|
|
1589
|
-
graphicate(data, settings) {
|
|
1590
|
-
var _a, _b, _c, _d;
|
|
1591
|
-
if (settings.Timeline) {
|
|
1592
|
-
console.error("Timeline not supported for pie chart");
|
|
1478
|
+
console.error("Timeline not supported for pie chart");
|
|
1593
1479
|
return null;
|
|
1594
1480
|
}
|
|
1595
1481
|
//Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
|
|
@@ -1671,6 +1557,9 @@ class PieChartService {
|
|
|
1671
1557
|
return this;
|
|
1672
1558
|
}
|
|
1673
1559
|
/** @ignore */
|
|
1560
|
+
setSelection(from, to) {
|
|
1561
|
+
}
|
|
1562
|
+
/** @ignore */
|
|
1674
1563
|
refreshData(data) {
|
|
1675
1564
|
//TODO:IMPL
|
|
1676
1565
|
}
|
|
@@ -1684,15 +1573,13 @@ class PieChartService {
|
|
|
1684
1573
|
}
|
|
1685
1574
|
|
|
1686
1575
|
/**
|
|
1687
|
-
* Classe il cui unico scopo è gestire il setup e rendering di un
|
|
1576
|
+
* Classe il cui unico scopo è gestire il setup e rendering di un VerticalChart
|
|
1688
1577
|
*/
|
|
1689
|
-
class
|
|
1578
|
+
class VerticalChartService {
|
|
1690
1579
|
/** @ignore */
|
|
1691
1580
|
constructor(Adapter) {
|
|
1692
1581
|
this.Adapter = Adapter;
|
|
1693
1582
|
/** @ignore */
|
|
1694
|
-
this.DefaultGroupPaddingPercentage = 5;
|
|
1695
|
-
/** @ignore */
|
|
1696
1583
|
this.dangerZone = 50;
|
|
1697
1584
|
/** @ignore */
|
|
1698
1585
|
this.LabelWidth = 150;
|
|
@@ -1704,10 +1591,10 @@ class Vertical2DChartService {
|
|
|
1704
1591
|
this.DefaultColumnWidthPercentage = 85;
|
|
1705
1592
|
}
|
|
1706
1593
|
/**
|
|
1707
|
-
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un
|
|
1594
|
+
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un VerticalChart
|
|
1708
1595
|
*/
|
|
1709
1596
|
graphicate(data, settings) {
|
|
1710
|
-
var _a, _b, _c, _d, _e, _f, _g, _h
|
|
1597
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
1711
1598
|
if (settings.Timeline) {
|
|
1712
1599
|
console.error("Timeline not supported for vertical chart");
|
|
1713
1600
|
return null;
|
|
@@ -1716,6 +1603,8 @@ class Vertical2DChartService {
|
|
|
1716
1603
|
am4core.options.autoDispose = true;
|
|
1717
1604
|
this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
|
|
1718
1605
|
let ChartInstanceCasted = this.ChartInstance;
|
|
1606
|
+
let dataConverted = this.Adapter ? this.Adapter.adaptDataForVerticalChart(data) : data;
|
|
1607
|
+
ChartInstanceCasted.data = dataConverted.values;
|
|
1719
1608
|
if (settings.Legend) {
|
|
1720
1609
|
ChartInstanceCasted.legend = new am4charts.Legend();
|
|
1721
1610
|
ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
|
|
@@ -1738,15 +1627,12 @@ class Vertical2DChartService {
|
|
|
1738
1627
|
categoryAxis.title.text = settings.XAxisTitle;
|
|
1739
1628
|
categoryAxis.title.fontWeight = "bold";
|
|
1740
1629
|
}
|
|
1741
|
-
|
|
1742
|
-
categoryAxis.dataFields.category = 'key';
|
|
1743
|
-
categoryAxis.renderer.cellStartLocation = am4core.percent((_f = settings.GroupPaddingPercentage) !== null && _f !== void 0 ? _f : this.DefaultGroupPaddingPercentage).value;
|
|
1744
|
-
categoryAxis.renderer.cellEndLocation = am4core.percent(100 - ((_g = settings.GroupPaddingPercentage) !== null && _g !== void 0 ? _g : this.DefaultGroupPaddingPercentage)).value;
|
|
1630
|
+
categoryAxis.dataFields.category = "k";
|
|
1745
1631
|
categoryAxis.renderer.grid.template.location = 0;
|
|
1746
|
-
categoryAxis.renderer.minGridDistance = (
|
|
1632
|
+
categoryAxis.renderer.minGridDistance = (_f = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _f !== void 0 ? _f : 30;
|
|
1747
1633
|
let label = categoryAxis.renderer.labels.template;
|
|
1748
1634
|
label.truncate = true;
|
|
1749
|
-
label.maxWidth = (
|
|
1635
|
+
label.maxWidth = (_g = settings.LabelWidth) !== null && _g !== void 0 ? _g : this.LabelWidth;
|
|
1750
1636
|
label.tooltipText = "{category}";
|
|
1751
1637
|
if ((settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) == null ? true : settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) {
|
|
1752
1638
|
categoryAxis.events.on("sizechanged", (ev) => {
|
|
@@ -1770,88 +1656,38 @@ class Vertical2DChartService {
|
|
|
1770
1656
|
}
|
|
1771
1657
|
});
|
|
1772
1658
|
}
|
|
1773
|
-
|
|
1774
|
-
let
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
ChartInstanceCasted.data = dataConverted;
|
|
1785
|
-
if (dataPreConverted.colorInfos)
|
|
1786
|
-
ChartInstanceCasted.colors.list = dataPreConverted.colorInfos.map(c => am4core.color(c.color));
|
|
1787
|
-
//Prendo la prima categoria e mi baso sulle proprietà per dfeinire le serie
|
|
1788
|
-
for (let prop in dataConverted[0])
|
|
1789
|
-
if (prop !== "key")
|
|
1790
|
-
this.createSeries(ChartInstanceCasted, settings, prop, prop);
|
|
1659
|
+
// Create series
|
|
1660
|
+
let series = ChartInstanceCasted.series.push(new am4charts.ColumnSeries());
|
|
1661
|
+
series.dataFields.valueY = "v";
|
|
1662
|
+
series.dataFields.categoryX = "k";
|
|
1663
|
+
series.name = "";
|
|
1664
|
+
series.columns.template.tooltipText = "{categoryX}: [bold]{valueY}[/]";
|
|
1665
|
+
series.columns.template.fillOpacity = .8;
|
|
1666
|
+
series.columns.template.width = am4core.percent((_h = settings.ColumnWidthPercentage) !== null && _h !== void 0 ? _h : this.DefaultColumnWidthPercentage);
|
|
1667
|
+
let columnTemplate = series.columns.template;
|
|
1668
|
+
columnTemplate.strokeWidth = 2;
|
|
1669
|
+
columnTemplate.strokeOpacity = 1;
|
|
1791
1670
|
return this;
|
|
1792
1671
|
}
|
|
1793
1672
|
/** @ignore */
|
|
1794
|
-
|
|
1795
|
-
//TODO:IMPL
|
|
1673
|
+
setSelection(from, to) {
|
|
1796
1674
|
}
|
|
1797
1675
|
/** @ignore */
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
let series = chart.series.push(new am4charts.ColumnSeries());
|
|
1801
|
-
series.dataFields.valueY = value;
|
|
1802
|
-
series.dataFields.categoryX = 'key';
|
|
1803
|
-
series.name = name;
|
|
1804
|
-
series.columns.template.tooltipText = "{name} {categoryX}: [bold]{valueY}[/]";
|
|
1805
|
-
series.columns.template.fillOpacity = .8;
|
|
1806
|
-
series.columns.template.width = am4core.percent((_a = settings.ColumnWidthPercentage) !== null && _a !== void 0 ? _a : this.DefaultColumnWidthPercentage);
|
|
1807
|
-
series.events.on("hidden", () => this.arrangeColumns);
|
|
1808
|
-
series.events.on("shown", () => this.arrangeColumns);
|
|
1809
|
-
return series;
|
|
1810
|
-
}
|
|
1811
|
-
/** @ignore */
|
|
1812
|
-
arrangeColumns() {
|
|
1813
|
-
let ChartInstanceCasted = this.ChartInstance;
|
|
1814
|
-
let series = ChartInstanceCasted.series.getIndex(0);
|
|
1815
|
-
let xAxis = ChartInstanceCasted.xAxes.getIndex(0);
|
|
1816
|
-
let w = 1 - xAxis.renderer.cellStartLocation - (1 - xAxis.renderer.cellEndLocation);
|
|
1817
|
-
if (series.dataItems.length > 1) {
|
|
1818
|
-
let x0 = xAxis.getX(series.dataItems.getIndex(0), "categoryX");
|
|
1819
|
-
let x1 = xAxis.getX(series.dataItems.getIndex(1), "categoryX");
|
|
1820
|
-
let delta = ((x1 - x0) / ChartInstanceCasted.series.length) * w;
|
|
1821
|
-
if (am4core.isNumber(delta)) {
|
|
1822
|
-
let middle = ChartInstanceCasted.series.length / 2;
|
|
1823
|
-
let newIndex = 0;
|
|
1824
|
-
ChartInstanceCasted.series.each((series) => {
|
|
1825
|
-
if (!series.isHidden && !series.isHiding) {
|
|
1826
|
-
series.dummyData = newIndex;
|
|
1827
|
-
newIndex++;
|
|
1828
|
-
}
|
|
1829
|
-
else {
|
|
1830
|
-
series.dummyData = ChartInstanceCasted.series.indexOf(series);
|
|
1831
|
-
}
|
|
1832
|
-
});
|
|
1833
|
-
let visibleCount = newIndex;
|
|
1834
|
-
let newMiddle = visibleCount / 2;
|
|
1835
|
-
ChartInstanceCasted.series.each((series) => {
|
|
1836
|
-
let trueIndex = ChartInstanceCasted.series.indexOf(series);
|
|
1837
|
-
let newIndex = series.dummyData;
|
|
1838
|
-
let dx = (newIndex - trueIndex + middle - newMiddle) * delta;
|
|
1839
|
-
series.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
|
|
1840
|
-
series.bulletsContainer.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
|
|
1841
|
-
});
|
|
1842
|
-
}
|
|
1843
|
-
}
|
|
1676
|
+
refreshData(data) {
|
|
1677
|
+
//TODO:IMPL
|
|
1844
1678
|
}
|
|
1845
1679
|
}
|
|
1846
1680
|
|
|
1847
1681
|
/**
|
|
1848
|
-
* Classe il cui unico scopo è gestire il setup e rendering di un
|
|
1682
|
+
* Classe il cui unico scopo è gestire il setup e rendering di un Vertical2DChart
|
|
1849
1683
|
*/
|
|
1850
|
-
class
|
|
1684
|
+
class Vertical2DChartService {
|
|
1851
1685
|
/** @ignore */
|
|
1852
1686
|
constructor(Adapter) {
|
|
1853
1687
|
this.Adapter = Adapter;
|
|
1854
1688
|
/** @ignore */
|
|
1689
|
+
this.DefaultGroupPaddingPercentage = 5;
|
|
1690
|
+
/** @ignore */
|
|
1855
1691
|
this.dangerZone = 50;
|
|
1856
1692
|
/** @ignore */
|
|
1857
1693
|
this.LabelWidth = 150;
|
|
@@ -1863,10 +1699,10 @@ class VerticalChartService {
|
|
|
1863
1699
|
this.DefaultColumnWidthPercentage = 85;
|
|
1864
1700
|
}
|
|
1865
1701
|
/**
|
|
1866
|
-
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un
|
|
1702
|
+
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un Vertical2DChart
|
|
1867
1703
|
*/
|
|
1868
1704
|
graphicate(data, settings) {
|
|
1869
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
1705
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
1870
1706
|
if (settings.Timeline) {
|
|
1871
1707
|
console.error("Timeline not supported for vertical chart");
|
|
1872
1708
|
return null;
|
|
@@ -1875,8 +1711,6 @@ class VerticalChartService {
|
|
|
1875
1711
|
am4core.options.autoDispose = true;
|
|
1876
1712
|
this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
|
|
1877
1713
|
let ChartInstanceCasted = this.ChartInstance;
|
|
1878
|
-
let dataConverted = this.Adapter ? this.Adapter.adaptDataForVerticalChart(data) : data;
|
|
1879
|
-
ChartInstanceCasted.data = dataConverted.values;
|
|
1880
1714
|
if (settings.Legend) {
|
|
1881
1715
|
ChartInstanceCasted.legend = new am4charts.Legend();
|
|
1882
1716
|
ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
|
|
@@ -1899,12 +1733,15 @@ class VerticalChartService {
|
|
|
1899
1733
|
categoryAxis.title.text = settings.XAxisTitle;
|
|
1900
1734
|
categoryAxis.title.fontWeight = "bold";
|
|
1901
1735
|
}
|
|
1902
|
-
|
|
1736
|
+
yAxis.min = 0;
|
|
1737
|
+
categoryAxis.dataFields.category = 'key';
|
|
1738
|
+
categoryAxis.renderer.cellStartLocation = am4core.percent((_f = settings.GroupPaddingPercentage) !== null && _f !== void 0 ? _f : this.DefaultGroupPaddingPercentage).value;
|
|
1739
|
+
categoryAxis.renderer.cellEndLocation = am4core.percent(100 - ((_g = settings.GroupPaddingPercentage) !== null && _g !== void 0 ? _g : this.DefaultGroupPaddingPercentage)).value;
|
|
1903
1740
|
categoryAxis.renderer.grid.template.location = 0;
|
|
1904
|
-
categoryAxis.renderer.minGridDistance = (
|
|
1741
|
+
categoryAxis.renderer.minGridDistance = (_h = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _h !== void 0 ? _h : 30;
|
|
1905
1742
|
let label = categoryAxis.renderer.labels.template;
|
|
1906
1743
|
label.truncate = true;
|
|
1907
|
-
label.maxWidth = (
|
|
1744
|
+
label.maxWidth = (_j = settings.LabelWidth) !== null && _j !== void 0 ? _j : this.LabelWidth;
|
|
1908
1745
|
label.tooltipText = "{category}";
|
|
1909
1746
|
if ((settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) == null ? true : settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) {
|
|
1910
1747
|
categoryAxis.events.on("sizechanged", (ev) => {
|
|
@@ -1928,23 +1765,81 @@ class VerticalChartService {
|
|
|
1928
1765
|
}
|
|
1929
1766
|
});
|
|
1930
1767
|
}
|
|
1931
|
-
|
|
1932
|
-
let
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1768
|
+
let dataPreConverted = this.Adapter ? this.Adapter.adaptDataForVertical2DChart(data) : data;
|
|
1769
|
+
let dataConverted = [];
|
|
1770
|
+
for (let i = 0; i < dataPreConverted.groups.length; i++) {
|
|
1771
|
+
let item = dataPreConverted.groups[i];
|
|
1772
|
+
let obj = { key: item.name };
|
|
1773
|
+
for (let p = 0; p < item.values.length; p++) {
|
|
1774
|
+
let value = item.values[p];
|
|
1775
|
+
obj[value.k] = value.v;
|
|
1776
|
+
}
|
|
1777
|
+
dataConverted.push(obj);
|
|
1778
|
+
}
|
|
1779
|
+
ChartInstanceCasted.data = dataConverted;
|
|
1780
|
+
if (dataPreConverted.colorInfos)
|
|
1781
|
+
ChartInstanceCasted.colors.list = dataPreConverted.colorInfos.map(c => am4core.color(c.color));
|
|
1782
|
+
//Prendo la prima categoria e mi baso sulle proprietà per dfeinire le serie
|
|
1783
|
+
for (let prop in dataConverted[0])
|
|
1784
|
+
if (prop !== "key")
|
|
1785
|
+
this.createSeries(ChartInstanceCasted, settings, prop, prop);
|
|
1942
1786
|
return this;
|
|
1943
1787
|
}
|
|
1944
1788
|
/** @ignore */
|
|
1789
|
+
setSelection(from, to) {
|
|
1790
|
+
}
|
|
1791
|
+
/** @ignore */
|
|
1945
1792
|
refreshData(data) {
|
|
1946
1793
|
//TODO:IMPL
|
|
1947
1794
|
}
|
|
1795
|
+
/** @ignore */
|
|
1796
|
+
createSeries(chart, settings, value, name) {
|
|
1797
|
+
var _a;
|
|
1798
|
+
let series = chart.series.push(new am4charts.ColumnSeries());
|
|
1799
|
+
series.dataFields.valueY = value;
|
|
1800
|
+
series.dataFields.categoryX = 'key';
|
|
1801
|
+
series.name = name;
|
|
1802
|
+
series.columns.template.tooltipText = "{name} {categoryX}: [bold]{valueY}[/]";
|
|
1803
|
+
series.columns.template.fillOpacity = .8;
|
|
1804
|
+
series.columns.template.width = am4core.percent((_a = settings.ColumnWidthPercentage) !== null && _a !== void 0 ? _a : this.DefaultColumnWidthPercentage);
|
|
1805
|
+
series.events.on("hidden", () => this.arrangeColumns);
|
|
1806
|
+
series.events.on("shown", () => this.arrangeColumns);
|
|
1807
|
+
return series;
|
|
1808
|
+
}
|
|
1809
|
+
/** @ignore */
|
|
1810
|
+
arrangeColumns() {
|
|
1811
|
+
let ChartInstanceCasted = this.ChartInstance;
|
|
1812
|
+
let series = ChartInstanceCasted.series.getIndex(0);
|
|
1813
|
+
let xAxis = ChartInstanceCasted.xAxes.getIndex(0);
|
|
1814
|
+
let w = 1 - xAxis.renderer.cellStartLocation - (1 - xAxis.renderer.cellEndLocation);
|
|
1815
|
+
if (series.dataItems.length > 1) {
|
|
1816
|
+
let x0 = xAxis.getX(series.dataItems.getIndex(0), "categoryX");
|
|
1817
|
+
let x1 = xAxis.getX(series.dataItems.getIndex(1), "categoryX");
|
|
1818
|
+
let delta = ((x1 - x0) / ChartInstanceCasted.series.length) * w;
|
|
1819
|
+
if (am4core.isNumber(delta)) {
|
|
1820
|
+
let middle = ChartInstanceCasted.series.length / 2;
|
|
1821
|
+
let newIndex = 0;
|
|
1822
|
+
ChartInstanceCasted.series.each((series) => {
|
|
1823
|
+
if (!series.isHidden && !series.isHiding) {
|
|
1824
|
+
series.dummyData = newIndex;
|
|
1825
|
+
newIndex++;
|
|
1826
|
+
}
|
|
1827
|
+
else {
|
|
1828
|
+
series.dummyData = ChartInstanceCasted.series.indexOf(series);
|
|
1829
|
+
}
|
|
1830
|
+
});
|
|
1831
|
+
let visibleCount = newIndex;
|
|
1832
|
+
let newMiddle = visibleCount / 2;
|
|
1833
|
+
ChartInstanceCasted.series.each((series) => {
|
|
1834
|
+
let trueIndex = ChartInstanceCasted.series.indexOf(series);
|
|
1835
|
+
let newIndex = series.dummyData;
|
|
1836
|
+
let dx = (newIndex - trueIndex + middle - newMiddle) * delta;
|
|
1837
|
+
series.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
|
|
1838
|
+
series.bulletsContainer.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
|
|
1839
|
+
});
|
|
1840
|
+
}
|
|
1841
|
+
}
|
|
1842
|
+
}
|
|
1948
1843
|
}
|
|
1949
1844
|
|
|
1950
1845
|
/**
|
|
@@ -2051,6 +1946,9 @@ class VerticalStackedChartService {
|
|
|
2051
1946
|
return this;
|
|
2052
1947
|
}
|
|
2053
1948
|
/** @ignore */
|
|
1949
|
+
setSelection(from, to) {
|
|
1950
|
+
}
|
|
1951
|
+
/** @ignore */
|
|
2054
1952
|
refreshData(data) {
|
|
2055
1953
|
//TODO:IMPL
|
|
2056
1954
|
}
|
|
@@ -2072,6 +1970,142 @@ class VerticalStackedChartService {
|
|
|
2072
1970
|
}
|
|
2073
1971
|
}
|
|
2074
1972
|
|
|
1973
|
+
/**
|
|
1974
|
+
* Classe il cui unico scopo è gestire il setup e rendering di un AreaChart
|
|
1975
|
+
*/
|
|
1976
|
+
class AreaChartService {
|
|
1977
|
+
/** @ignore */
|
|
1978
|
+
constructor(Adapter) {
|
|
1979
|
+
this.Adapter = Adapter;
|
|
1980
|
+
//******************** Funzione di throttling per non spammare richieste in caso di animazioni attivate
|
|
1981
|
+
//TODO: spostarla in un metodo di utilità (esfaenza/extensions)
|
|
1982
|
+
/** @ignore */
|
|
1983
|
+
this.executionTimers = {};
|
|
1984
|
+
}
|
|
1985
|
+
/**
|
|
1986
|
+
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un AreaChart
|
|
1987
|
+
*/
|
|
1988
|
+
graphicate(data, settings) {
|
|
1989
|
+
var _a, _b, _c, _d, _e, _f;
|
|
1990
|
+
if (settings.Timeline) {
|
|
1991
|
+
console.error("Timeline not supported for area chart");
|
|
1992
|
+
return null;
|
|
1993
|
+
}
|
|
1994
|
+
let dataConverted = this.Adapter ? this.Adapter.adaptDataForAreaChart(data) : data;
|
|
1995
|
+
let showTicks = settings.ShowTicks == null ? true : settings === null || settings === void 0 ? void 0 : settings.ShowTicks;
|
|
1996
|
+
let interval = dataConverted.interval;
|
|
1997
|
+
//Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
|
|
1998
|
+
am4core.options.autoDispose = true;
|
|
1999
|
+
this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
|
|
2000
|
+
let ChartInstanceCasted = this.ChartInstance;
|
|
2001
|
+
if (settings.Legend) {
|
|
2002
|
+
ChartInstanceCasted.legend = new am4charts.Legend();
|
|
2003
|
+
ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
|
|
2004
|
+
ChartInstanceCasted.legend.itemContainers.template.tooltipText = "{category}";
|
|
2005
|
+
if (settings.LegendPadding) {
|
|
2006
|
+
let template = this.ChartInstance.legend.itemContainers.template;
|
|
2007
|
+
template.paddingTop = (_b = settings.LegendPadding.top) !== null && _b !== void 0 ? _b : 0;
|
|
2008
|
+
template.paddingBottom = (_c = settings.LegendPadding.bottom) !== null && _c !== void 0 ? _c : 0;
|
|
2009
|
+
template.paddingLeft = (_d = settings.LegendPadding.left) !== null && _d !== void 0 ? _d : 0;
|
|
2010
|
+
template.paddingRight = (_e = settings.LegendPadding.right) !== null && _e !== void 0 ? _e : 0;
|
|
2011
|
+
}
|
|
2012
|
+
}
|
|
2013
|
+
let yAxis = ChartInstanceCasted.yAxes.push(new am4charts.ValueAxis());
|
|
2014
|
+
yAxis.tooltip.disabled = true;
|
|
2015
|
+
if (settings.YAxisTitle) {
|
|
2016
|
+
yAxis.title.text = settings.YAxisTitle;
|
|
2017
|
+
yAxis.title.fontWeight = "bold";
|
|
2018
|
+
}
|
|
2019
|
+
yAxis.min = 0;
|
|
2020
|
+
let dateAxis = ChartInstanceCasted.xAxes.push(new am4charts.DateAxis());
|
|
2021
|
+
dateAxis.renderer.minGridDistance = (_f = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _f !== void 0 ? _f : 50;
|
|
2022
|
+
dateAxis.startLocation = 0.5;
|
|
2023
|
+
dateAxis.endLocation = 0.5;
|
|
2024
|
+
if (settings.XAxisTitle) {
|
|
2025
|
+
dateAxis.title.text = settings.XAxisTitle;
|
|
2026
|
+
dateAxis.title.fontWeight = "bold";
|
|
2027
|
+
}
|
|
2028
|
+
if (showTicks) {
|
|
2029
|
+
dateAxis.renderer.ticks.template.disabled = false;
|
|
2030
|
+
dateAxis.renderer.ticks.template.strokeOpacity = 1;
|
|
2031
|
+
dateAxis.renderer.ticks.template.stroke = am4core.color("#495C43");
|
|
2032
|
+
dateAxis.renderer.ticks.template.strokeWidth = 2;
|
|
2033
|
+
dateAxis.renderer.ticks.template.length = 10;
|
|
2034
|
+
dateAxis.renderer.ticks.template.location = 0;
|
|
2035
|
+
}
|
|
2036
|
+
if (!!interval)
|
|
2037
|
+
dateAxis.baseInterval = { count: interval.count, timeUnit: interval.timeunit };
|
|
2038
|
+
// Unisco il dataset e tiro fuori i dati
|
|
2039
|
+
let chartData = [];
|
|
2040
|
+
let seriesToMakeCache = {};
|
|
2041
|
+
let seriesToMake = [];
|
|
2042
|
+
for (let i = 0; i < dataConverted.groups.length; i++) {
|
|
2043
|
+
let group = dataConverted.groups[i];
|
|
2044
|
+
let dataItem = { date: group.name };
|
|
2045
|
+
for (let ii = 0; ii < group.values.length; ii++) {
|
|
2046
|
+
let val = group.values[ii];
|
|
2047
|
+
dataItem[val.k] = val.v;
|
|
2048
|
+
if (!seriesToMakeCache[val.k]) {
|
|
2049
|
+
seriesToMakeCache[val.k] = true;
|
|
2050
|
+
seriesToMake.push(val.k);
|
|
2051
|
+
}
|
|
2052
|
+
}
|
|
2053
|
+
chartData.push(dataItem);
|
|
2054
|
+
}
|
|
2055
|
+
ChartInstanceCasted.data = chartData;
|
|
2056
|
+
//---------------------------------------------------------
|
|
2057
|
+
seriesToMake.forEach(s => { this.createSeries(ChartInstanceCasted, s); });
|
|
2058
|
+
ChartInstanceCasted.cursor = new am4charts.XYCursor();
|
|
2059
|
+
ChartInstanceCasted.cursor.xAxis = dateAxis;
|
|
2060
|
+
dateAxis.events.on("startchanged", t => this.emitSelectionChanged(t, settings));
|
|
2061
|
+
dateAxis.events.on("endchanged", t => this.emitSelectionChanged(t, settings));
|
|
2062
|
+
return this;
|
|
2063
|
+
}
|
|
2064
|
+
/** @ignore */
|
|
2065
|
+
setSelection(from, to) {
|
|
2066
|
+
}
|
|
2067
|
+
/** @ignore */
|
|
2068
|
+
refreshData(data) {
|
|
2069
|
+
//TODO:IMPL
|
|
2070
|
+
}
|
|
2071
|
+
/** @ignore */
|
|
2072
|
+
emitSelectionChanged(ev, settings) {
|
|
2073
|
+
if (settings.OnSelectionChangedCallback) {
|
|
2074
|
+
this.throttla("selchange", () => {
|
|
2075
|
+
var axis = ev.target;
|
|
2076
|
+
var start = new Date(axis.minZoomed);
|
|
2077
|
+
var end = new Date(axis.maxZoomed);
|
|
2078
|
+
var initial = axis.min == axis.minZoomed && axis.max == axis.maxZoomed;
|
|
2079
|
+
settings.OnSelectionChangedCallback({ from: start, to: end, initial: initial });
|
|
2080
|
+
}, 150);
|
|
2081
|
+
}
|
|
2082
|
+
}
|
|
2083
|
+
/** @ignore */
|
|
2084
|
+
createSeries(chart, name) {
|
|
2085
|
+
let series = chart.series.push(new am4charts.LineSeries());
|
|
2086
|
+
series.dataFields.dateX = "date";
|
|
2087
|
+
series.name = name[0].toUpperCase() + name.slice(1);
|
|
2088
|
+
series.dataFields.valueY = name;
|
|
2089
|
+
series.tooltipText = "[#000]{valueY.value}[/]";
|
|
2090
|
+
//series.tooltip.background.fill = am4core.color("#FFF");
|
|
2091
|
+
series.tooltip.getStrokeFromObject = true;
|
|
2092
|
+
series.tooltip.background.strokeWidth = 3;
|
|
2093
|
+
series.tooltip.getFillFromObject = false;
|
|
2094
|
+
series.fillOpacity = 0.6;
|
|
2095
|
+
series.strokeWidth = 2;
|
|
2096
|
+
series.stacked = true;
|
|
2097
|
+
return series;
|
|
2098
|
+
}
|
|
2099
|
+
/** @ignore */
|
|
2100
|
+
throttla(id, func, throttleTime) {
|
|
2101
|
+
//Se ho la funzione che vuole eseguire ripulisco quel timeout
|
|
2102
|
+
if (this.executionTimers[id])
|
|
2103
|
+
clearTimeout(this.executionTimers[id]);
|
|
2104
|
+
//Ricreo il timeout per eseguire quella funzione dopo throttleTime millisecondi
|
|
2105
|
+
this.executionTimers[id] = setTimeout(() => { func(); this.executionTimers[id] = null; }, throttleTime);
|
|
2106
|
+
}
|
|
2107
|
+
}
|
|
2108
|
+
|
|
2075
2109
|
/**
|
|
2076
2110
|
* Componente specifico per la graficazione di un qualsiasi tipo di grafico.
|
|
2077
2111
|
*
|
|
@@ -2145,13 +2179,13 @@ class EsChartComponent extends BaseChartComponent {
|
|
|
2145
2179
|
}
|
|
2146
2180
|
}
|
|
2147
2181
|
}
|
|
2148
|
-
EsChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token:
|
|
2149
|
-
EsChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsChartComponent, selector: "es-chart", inputs: { Type: "Type", Data: "Data", DataArray: "DataArray" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type:
|
|
2182
|
+
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 });
|
|
2183
|
+
EsChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsChartComponent, selector: "es-chart", inputs: { Type: "Type", Data: "Data", DataArray: "DataArray" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2150
2184
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsChartComponent, decorators: [{
|
|
2151
2185
|
type: Component,
|
|
2152
2186
|
args: [{ selector: 'es-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
|
|
2153
2187
|
}], ctorParameters: function () {
|
|
2154
|
-
return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type:
|
|
2188
|
+
return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: i3.DateService }, { type: BaseAdapter }, { type: i0.NgZone }, { type: Object, decorators: [{
|
|
2155
2189
|
type: Inject,
|
|
2156
2190
|
args: [PLATFORM_ID]
|
|
2157
2191
|
}] }, { type: undefined, decorators: [{
|
|
@@ -2219,7 +2253,7 @@ class EsAreaChartComponent extends BaseChartComponent {
|
|
|
2219
2253
|
}
|
|
2220
2254
|
}
|
|
2221
2255
|
EsAreaChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsAreaChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
2222
|
-
EsAreaChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsAreaChartComponent, selector: "es-area-chart", inputs: { Data: "Data", DataArray: "DataArray" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type:
|
|
2256
|
+
EsAreaChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsAreaChartComponent, selector: "es-area-chart", inputs: { Data: "Data", DataArray: "DataArray" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2223
2257
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsAreaChartComponent, decorators: [{
|
|
2224
2258
|
type: Component,
|
|
2225
2259
|
args: [{ selector: 'es-area-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
|
|
@@ -2300,13 +2334,13 @@ class EsLineChartComponent extends BaseChartComponent {
|
|
|
2300
2334
|
return new LineChartService(this.adapter, this.dateService).graphicate(this.Data, settingsCasted);
|
|
2301
2335
|
}
|
|
2302
2336
|
}
|
|
2303
|
-
EsLineChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsLineChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token:
|
|
2304
|
-
EsLineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsLineChartComponent, selector: "es-line-chart", inputs: { Data: "Data", DataArray: "DataArray", Step: "Step", DataGroupBucketSize: "DataGroupBucketSize", DataGroupingThreshold: "DataGroupingThreshold", StrokeSize: "StrokeSize", AllowGaps: "AllowGaps", MergeDatasets: "MergeDatasets", FinalInstants: "FinalInstants", Min: "Min", Max: "Max", Fill: "Fill" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type:
|
|
2337
|
+
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 });
|
|
2338
|
+
EsLineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsLineChartComponent, selector: "es-line-chart", inputs: { Data: "Data", DataArray: "DataArray", Step: "Step", DataGroupBucketSize: "DataGroupBucketSize", DataGroupingThreshold: "DataGroupingThreshold", StrokeSize: "StrokeSize", AllowGaps: "AllowGaps", MergeDatasets: "MergeDatasets", FinalInstants: "FinalInstants", Min: "Min", Max: "Max", Fill: "Fill" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2305
2339
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsLineChartComponent, decorators: [{
|
|
2306
2340
|
type: Component,
|
|
2307
2341
|
args: [{ selector: 'es-line-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
|
|
2308
2342
|
}], ctorParameters: function () {
|
|
2309
|
-
return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: BaseAdapter }, { type:
|
|
2343
|
+
return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: BaseAdapter }, { type: i3.DateService }, { type: i0.NgZone }, { type: Object, decorators: [{
|
|
2310
2344
|
type: Inject,
|
|
2311
2345
|
args: [PLATFORM_ID]
|
|
2312
2346
|
}] }, { type: undefined, decorators: [{
|
|
@@ -2399,7 +2433,7 @@ class EsPieChartComponent extends BaseChartComponent {
|
|
|
2399
2433
|
}
|
|
2400
2434
|
}
|
|
2401
2435
|
EsPieChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsPieChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
2402
|
-
EsPieChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsPieChartComponent, selector: "es-pie-chart", inputs: { Data: "Data", DataArray: "DataArray", HideZeroes: "HideZeroes", Mode3D: "Mode3D", DonutRadiusPercentage: "DonutRadiusPercentage", LabelsWrap: "LabelsWrap", LabelsTruncate: "LabelsTruncate", LabelsWidth: "LabelsWidth", LabelsVisible: "LabelsVisible" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type:
|
|
2436
|
+
EsPieChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsPieChartComponent, selector: "es-pie-chart", inputs: { Data: "Data", DataArray: "DataArray", HideZeroes: "HideZeroes", Mode3D: "Mode3D", DonutRadiusPercentage: "DonutRadiusPercentage", LabelsWrap: "LabelsWrap", LabelsTruncate: "LabelsTruncate", LabelsWidth: "LabelsWidth", LabelsVisible: "LabelsVisible" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2403
2437
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsPieChartComponent, decorators: [{
|
|
2404
2438
|
type: Component,
|
|
2405
2439
|
args: [{ selector: 'es-pie-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
|
|
@@ -2490,7 +2524,7 @@ class EsVertical2DChartComponent extends BaseChartComponent {
|
|
|
2490
2524
|
}
|
|
2491
2525
|
}
|
|
2492
2526
|
EsVertical2DChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVertical2DChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
2493
|
-
EsVertical2DChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVertical2DChartComponent, selector: "es-vertical-2d-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", GroupPaddingPercentage: "GroupPaddingPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type:
|
|
2527
|
+
EsVertical2DChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVertical2DChartComponent, selector: "es-vertical-2d-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", GroupPaddingPercentage: "GroupPaddingPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2494
2528
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVertical2DChartComponent, decorators: [{
|
|
2495
2529
|
type: Component,
|
|
2496
2530
|
args: [{ selector: 'es-vertical-2d-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
|
|
@@ -2578,7 +2612,7 @@ class EsVerticalChartComponent extends BaseChartComponent {
|
|
|
2578
2612
|
}
|
|
2579
2613
|
}
|
|
2580
2614
|
EsVerticalChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
2581
|
-
EsVerticalChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVerticalChartComponent, selector: "es-vertical-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type:
|
|
2615
|
+
EsVerticalChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVerticalChartComponent, selector: "es-vertical-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2582
2616
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalChartComponent, decorators: [{
|
|
2583
2617
|
type: Component,
|
|
2584
2618
|
args: [{ selector: 'es-vertical-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
|
|
@@ -2664,7 +2698,7 @@ class EsVerticalStackedChartComponent extends BaseChartComponent {
|
|
|
2664
2698
|
}
|
|
2665
2699
|
}
|
|
2666
2700
|
EsVerticalStackedChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalStackedChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
2667
|
-
EsVerticalStackedChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVerticalStackedChartComponent, selector: "es-vertical-stacked-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type:
|
|
2701
|
+
EsVerticalStackedChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVerticalStackedChartComponent, selector: "es-vertical-stacked-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2668
2702
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalStackedChartComponent, decorators: [{
|
|
2669
2703
|
type: Component,
|
|
2670
2704
|
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"] }]
|