@esfaenza/es-charts 13.1.2 → 13.1.6
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 +20 -5
- 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 +15 -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 +134 -0
- package/esm2020/lib/services/LineChartService.mjs +337 -0
- package/esm2020/lib/services/PieChartService.mjs +111 -0
- package/esm2020/lib/services/Vertical2DChartService.mjs +160 -0
- package/esm2020/lib/services/VerticalChartService.mjs +103 -0
- package/esm2020/lib/services/VerticalStackedChartService.mjs +124 -0
- package/esm2020/lib/services/base/IBaseService.mjs +2 -0
- package/esm2020/public-api.mjs +26 -25
- package/fesm2015/esfaenza-es-charts.mjs +420 -393
- package/fesm2015/esfaenza-es-charts.mjs.map +1 -1
- package/fesm2020/esfaenza-es-charts.mjs +409 -382
- 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 +20 -5
- 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} +0 -0
- 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/{classes/base → base}/Limit.d.ts +0 -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} +3 -3
- package/lib/services/{classes/LineChartService.d.ts → LineChartService.d.ts} +7 -3
- package/lib/services/{classes/PieChartService.d.ts → PieChartService.d.ts} +3 -3
- package/lib/services/{classes/Vertical2DChartService.d.ts → Vertical2DChartService.d.ts} +3 -3
- package/lib/services/{classes/VerticalChartService.d.ts → VerticalChartService.d.ts} +3 -3
- package/lib/services/{classes/VerticalStackedChartService.d.ts → VerticalStackedChartService.d.ts} +3 -3
- package/lib/services/{classes/base → base}/IBaseService.d.ts +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +25 -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 -324
- 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/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
|
|
@@ -358,7 +358,7 @@ class PageChartSelector {
|
|
|
358
358
|
}
|
|
359
359
|
}
|
|
360
360
|
PageChartSelector.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageChartSelector, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
361
|
-
PageChartSelector.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: PageChartSelector, selector: "chart-pager", inputs: { Items: "Items", Dtos: "Dtos", BrowseDelayMs: "BrowseDelayMs", StartIndex: "StartIndex" }, outputs: { onPageChange: "onPageChange" }, queries: [{ propertyName: "headerInner_tr", first: true, predicate: ["header_inner"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"(Items || Dtos) && (Items || Dtos).length > 0\" class=\"pcs-no-selection\">\r\n <div class=\"pcs-button pcs-backward\">\r\n <svg class=\"pcs-svg-header\">\r\n <g class=\"pcs-svg-button-container\" role=\"button\" (click)=\"currentpage != 1 && Previous(); $event.stopPropagation(); $event.preventDefault();\">\r\n <!--Pulsante e freccettina all'interno-->\r\n <g class=\"pcs-svg-button\" [style.cursor]=\"currentpage == 1 ? 'not-allowed' : 'pointer'\"><path d=\"M3,0 L53.027,0 a3,3 0 0 1 3,3 L56.027,36.817 a3,3 0 0 1 -3,3 L3,39.817 a3,3 0 0 1 -3,-3 L0,3 a3,3 0 0 1 3,-3 Z\"></path></g>\r\n <g class=\"pcs-svg-arrow pcs-svg-arrow-left\"><path d=\"M26,14H10l5.17-6.79A2,2,0,0,0,12,4.79l-7.62,10a2,2,0,0,0,0,2.42l7.62,10a2,2,0,0,0,3.18-2.42L10,18H26a2,2,0,0,0,0-4Z\"></path></g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"pcs-infos\">\r\n <ng-container *ngIf=\"headerInner_tr\">\r\n <ng-container *ngTemplateOutlet=\"headerInner_tr; context : {$implicit: (Items || Dtos)[currentpage - 1]}\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"pcs-button pcs-forward\">\r\n <svg class=\"pcs-svg-header\">\r\n <g class=\"pcs-svg-button-container\" role=\"button\" (click)=\"(Items || Dtos).length != currentpage && Next(); $event.stopPropagation(); $event.preventDefault();\">\r\n <!--Pulsante e freccettina all'interno-->\r\n <g class=\"pcs-svg-button\" [style.cursor]=\"(Items || Dtos).length == currentpage ? 'not-allowed' : 'pointer'\"><path d=\"M3,0 L53.027,0 a3,3 0 0 1 3,3 L56.027,36.817 a3,3 0 0 1 -3,3 L3,39.817 a3,3 0 0 1 -3,-3 L0,3 a3,3 0 0 1 3,-3 Z\"></path></g>\r\n <g class=\"pcs-svg-arrow pcs-svg-arrow-right\"><path d=\"M26,14H10l5.17-6.79A2,2,0,0,0,12,4.79l-7.62,10a2,2,0,0,0,0,2.42l7.62,10a2,2,0,0,0,3.18-2.42L10,18H26a2,2,0,0,0,0-4Z\"></path></g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div style=\"clear: both;\"></div>\r\n</div>", styles: [".pcs-button{width:60px}.pcs-forward{float:right;text-align:end}.pcs-backward{float:left}.pcs-svg-header{width:57px;height:40px}.pcs-svg-button-container{outline:currentcolor none medium}.pcs-svg-arrow{pointer-events:none;fill:#555}.pcs-svg-arrow-right{transform:translate(44px,36px) rotate(180deg)}.pcs-svg-arrow-left{transform:translate(13px,4px)}.pcs-svg-button{fill:#d9d9d9;stroke:#fff;fill-opacity:1;stroke-opacity:1}.pcs-svg-button:hover{fill:#a3a3a3;cursor:pointer}.pcs-infos{width:calc(100% - 120px);height:44px;float:left}.pcs-no-selection{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}\n"], directives: [{ type:
|
|
361
|
+
PageChartSelector.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: PageChartSelector, selector: "chart-pager", inputs: { Items: "Items", Dtos: "Dtos", BrowseDelayMs: "BrowseDelayMs", StartIndex: "StartIndex" }, outputs: { onPageChange: "onPageChange" }, queries: [{ propertyName: "headerInner_tr", first: true, predicate: ["header_inner"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"(Items || Dtos) && (Items || Dtos).length > 0\" class=\"pcs-no-selection\">\r\n <div class=\"pcs-button pcs-backward\">\r\n <svg class=\"pcs-svg-header\">\r\n <g class=\"pcs-svg-button-container\" role=\"button\" (click)=\"currentpage != 1 && Previous(); $event.stopPropagation(); $event.preventDefault();\">\r\n <!--Pulsante e freccettina all'interno-->\r\n <g class=\"pcs-svg-button\" [style.cursor]=\"currentpage == 1 ? 'not-allowed' : 'pointer'\"><path d=\"M3,0 L53.027,0 a3,3 0 0 1 3,3 L56.027,36.817 a3,3 0 0 1 -3,3 L3,39.817 a3,3 0 0 1 -3,-3 L0,3 a3,3 0 0 1 3,-3 Z\"></path></g>\r\n <g class=\"pcs-svg-arrow pcs-svg-arrow-left\"><path d=\"M26,14H10l5.17-6.79A2,2,0,0,0,12,4.79l-7.62,10a2,2,0,0,0,0,2.42l7.62,10a2,2,0,0,0,3.18-2.42L10,18H26a2,2,0,0,0,0-4Z\"></path></g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"pcs-infos\">\r\n <ng-container *ngIf=\"headerInner_tr\">\r\n <ng-container *ngTemplateOutlet=\"headerInner_tr; context : {$implicit: (Items || Dtos)[currentpage - 1]}\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"pcs-button pcs-forward\">\r\n <svg class=\"pcs-svg-header\">\r\n <g class=\"pcs-svg-button-container\" role=\"button\" (click)=\"(Items || Dtos).length != currentpage && Next(); $event.stopPropagation(); $event.preventDefault();\">\r\n <!--Pulsante e freccettina all'interno-->\r\n <g class=\"pcs-svg-button\" [style.cursor]=\"(Items || Dtos).length == currentpage ? 'not-allowed' : 'pointer'\"><path d=\"M3,0 L53.027,0 a3,3 0 0 1 3,3 L56.027,36.817 a3,3 0 0 1 -3,3 L3,39.817 a3,3 0 0 1 -3,-3 L0,3 a3,3 0 0 1 3,-3 Z\"></path></g>\r\n <g class=\"pcs-svg-arrow pcs-svg-arrow-right\"><path d=\"M26,14H10l5.17-6.79A2,2,0,0,0,12,4.79l-7.62,10a2,2,0,0,0,0,2.42l7.62,10a2,2,0,0,0,3.18-2.42L10,18H26a2,2,0,0,0,0-4Z\"></path></g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div style=\"clear: both;\"></div>\r\n</div>", styles: [".pcs-button{width:60px}.pcs-forward{float:right;text-align:end}.pcs-backward{float:left}.pcs-svg-header{width:57px;height:40px}.pcs-svg-button-container{outline:currentcolor none medium}.pcs-svg-arrow{pointer-events:none;fill:#555}.pcs-svg-arrow-right{transform:translate(44px,36px) rotate(180deg)}.pcs-svg-arrow-left{transform:translate(13px,4px)}.pcs-svg-button{fill:#d9d9d9;stroke:#fff;fill-opacity:1;stroke-opacity:1}.pcs-svg-button:hover{fill:#a3a3a3;cursor:pointer}.pcs-infos{width:calc(100% - 120px);height:44px;float:left}.pcs-no-selection{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
362
362
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: PageChartSelector, decorators: [{
|
|
363
363
|
type: Component,
|
|
364
364
|
args: [{ selector: "chart-pager", changeDetection: ChangeDetectionStrategy.OnPush, template: "<div *ngIf=\"(Items || Dtos) && (Items || Dtos).length > 0\" class=\"pcs-no-selection\">\r\n <div class=\"pcs-button pcs-backward\">\r\n <svg class=\"pcs-svg-header\">\r\n <g class=\"pcs-svg-button-container\" role=\"button\" (click)=\"currentpage != 1 && Previous(); $event.stopPropagation(); $event.preventDefault();\">\r\n <!--Pulsante e freccettina all'interno-->\r\n <g class=\"pcs-svg-button\" [style.cursor]=\"currentpage == 1 ? 'not-allowed' : 'pointer'\"><path d=\"M3,0 L53.027,0 a3,3 0 0 1 3,3 L56.027,36.817 a3,3 0 0 1 -3,3 L3,39.817 a3,3 0 0 1 -3,-3 L0,3 a3,3 0 0 1 3,-3 Z\"></path></g>\r\n <g class=\"pcs-svg-arrow pcs-svg-arrow-left\"><path d=\"M26,14H10l5.17-6.79A2,2,0,0,0,12,4.79l-7.62,10a2,2,0,0,0,0,2.42l7.62,10a2,2,0,0,0,3.18-2.42L10,18H26a2,2,0,0,0,0-4Z\"></path></g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div class=\"pcs-infos\">\r\n <ng-container *ngIf=\"headerInner_tr\">\r\n <ng-container *ngTemplateOutlet=\"headerInner_tr; context : {$implicit: (Items || Dtos)[currentpage - 1]}\"></ng-container>\r\n </ng-container>\r\n </div>\r\n <div class=\"pcs-button pcs-forward\">\r\n <svg class=\"pcs-svg-header\">\r\n <g class=\"pcs-svg-button-container\" role=\"button\" (click)=\"(Items || Dtos).length != currentpage && Next(); $event.stopPropagation(); $event.preventDefault();\">\r\n <!--Pulsante e freccettina all'interno-->\r\n <g class=\"pcs-svg-button\" [style.cursor]=\"(Items || Dtos).length == currentpage ? 'not-allowed' : 'pointer'\"><path d=\"M3,0 L53.027,0 a3,3 0 0 1 3,3 L56.027,36.817 a3,3 0 0 1 -3,3 L3,39.817 a3,3 0 0 1 -3,-3 L0,3 a3,3 0 0 1 3,-3 Z\"></path></g>\r\n <g class=\"pcs-svg-arrow pcs-svg-arrow-right\"><path d=\"M26,14H10l5.17-6.79A2,2,0,0,0,12,4.79l-7.62,10a2,2,0,0,0,0,2.42l7.62,10a2,2,0,0,0,3.18-2.42L10,18H26a2,2,0,0,0,0-4Z\"></path></g>\r\n </g>\r\n </svg>\r\n </div>\r\n <div style=\"clear: both;\"></div>\r\n</div>", styles: [".pcs-button{width:60px}.pcs-forward{float:right;text-align:end}.pcs-backward{float:left}.pcs-svg-header{width:57px;height:40px}.pcs-svg-button-container{outline:currentcolor none medium}.pcs-svg-arrow{pointer-events:none;fill:#555}.pcs-svg-arrow-right{transform:translate(44px,36px) rotate(180deg)}.pcs-svg-arrow-left{transform:translate(13px,4px)}.pcs-svg-button{fill:#d9d9d9;stroke:#fff;fill-opacity:1;stroke-opacity:1}.pcs-svg-button:hover{fill:#a3a3a3;cursor:pointer}.pcs-infos{width:calc(100% - 120px);height:44px;float:left}.pcs-no-selection{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}\n"] }]
|
|
@@ -377,113 +377,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
377
377
|
args: ['header_inner', { static: false }]
|
|
378
378
|
}] } });
|
|
379
379
|
|
|
380
|
-
/**
|
|
381
|
-
* Token che identifica il Locale di default per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
|
|
382
|
-
*/
|
|
383
|
-
const ESC_LOCALE = new InjectionToken('ESC_LOCALE');
|
|
384
|
-
/**
|
|
385
|
-
* Token che identifica il default per l'utilizzo o meno delle Animazioni per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
|
|
386
|
-
*/
|
|
387
|
-
const ESC_ANIMATIONS = new InjectionToken('ESC_ANIMATIONS');
|
|
388
|
-
/**
|
|
389
|
-
* Token che identifica il Tema di default per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
|
|
390
|
-
*/
|
|
391
|
-
const ESC_THEME = new InjectionToken('ESC_THEME');
|
|
392
|
-
/**
|
|
393
|
-
* Token che identifica l'utilizzo o meno del sistema di Log per l'intera libreria
|
|
394
|
-
*/
|
|
395
|
-
const ESC_LOGS = new InjectionToken('ESC_LOGS');
|
|
396
|
-
|
|
397
|
-
/**
|
|
398
|
-
* Classe che si occupa del dispatch delle operazioni di rendering dei grafici utilizzando una coda per permettere ad ogni grafico di avere temi e localizzazione custom
|
|
399
|
-
*/
|
|
400
|
-
class ChartDispatcher {
|
|
401
|
-
/**
|
|
402
|
-
* @ignore
|
|
403
|
-
*/
|
|
404
|
-
constructor(logs) {
|
|
405
|
-
this.logs = logs;
|
|
406
|
-
/**
|
|
407
|
-
* Coda di inizializzazioni ancora da eseguire. Quando questa è vuota significa che nessuno sta creando grafici
|
|
408
|
-
*/
|
|
409
|
-
this.Initializations = [];
|
|
410
|
-
/**
|
|
411
|
-
* Lista dei grafici inizializzati e attivi in un dato momento (viene registrata la proprietà **name**). Non è possibile registrare due grafici con lo stesso identificativo
|
|
412
|
-
*/
|
|
413
|
-
this.InitializedGraphs = [];
|
|
414
|
-
}
|
|
415
|
-
/**
|
|
416
|
-
* Registra un grafico da visualizzare insieme alla propria funzione di creazione. Quest'ultima sarà differita fino a che tutti i grafici
|
|
417
|
-
* precedentemente registati non hanno finito la fase di inizializzazione
|
|
418
|
-
*
|
|
419
|
-
* @param {string} name Identificativo del grafico da registrare
|
|
420
|
-
* @param {Function} chartCreationFunction Funzione che fisicamente dovrà occuparsi della creazione del grafico
|
|
421
|
-
*/
|
|
422
|
-
register(name, chartCreationFunction) {
|
|
423
|
-
if (this.InitializedGraphs.indexOf(name) != -1)
|
|
424
|
-
throw "Attempting to register a duplicate chart '" + name + "'. Make sure the 'name' properties of your charts are univoque";
|
|
425
|
-
this.log("DISPATCHER: Registering chart creation function execution for " + name);
|
|
426
|
-
this.Initializations.push({ name: name, function: chartCreationFunction });
|
|
427
|
-
if (this.Initializations.length == 1) {
|
|
428
|
-
this.log("DISPATCHER: Initial drain started");
|
|
429
|
-
this.drainInitQueues();
|
|
430
|
-
}
|
|
431
|
-
}
|
|
432
|
-
/**
|
|
433
|
-
* Deregistra un grafico presente. Chiamata generalmente al dispose del grafico in questione quando non dev'essere più mostrato nella pagina corrente
|
|
434
|
-
*
|
|
435
|
-
* @param {string} name Identificativo del grafico da deregistrare
|
|
436
|
-
*/
|
|
437
|
-
deregisterGraph(name) {
|
|
438
|
-
let index = this.InitializedGraphs.indexOf(name);
|
|
439
|
-
if (index == -1) {
|
|
440
|
-
//Questo succede quando si cerca di distruggere il grafico mentre sta venendo graficato
|
|
441
|
-
this.log("DISPATCHER: Registration missing for chart " + name + " it was probably destroyed during load");
|
|
442
|
-
return;
|
|
443
|
-
}
|
|
444
|
-
this.log("DISPATCHER: Chart deregistered " + name);
|
|
445
|
-
this.InitializedGraphs.splice(index, 1);
|
|
446
|
-
}
|
|
447
|
-
/**
|
|
448
|
-
* Metodo che esegue in maniera sequenziale le funzioni di inizializzazione dei grafici finché presenti
|
|
449
|
-
* in modo che nessun grafico possa essere inizializzato contemporaneamente ad un altro.
|
|
450
|
-
*
|
|
451
|
-
* Questo è il punto chiave che permette di avere per ogni grafico temi e locale differenti
|
|
452
|
-
*/
|
|
453
|
-
drainInitQueues() {
|
|
454
|
-
let toExecute = this.Initializations[0];
|
|
455
|
-
this.log("DISPATCHER: Executing initialization function for chart " + toExecute.name);
|
|
456
|
-
toExecute.function().then(() => {
|
|
457
|
-
this.log("DISPATCHER: initialization for chart " + toExecute.name + " is done");
|
|
458
|
-
this.InitializedGraphs.push(toExecute.name);
|
|
459
|
-
this.Initializations.splice(0, 1);
|
|
460
|
-
if (this.Initializations.length >= 1) {
|
|
461
|
-
this.log("DISPATCHER: Found queued initializations. Continuing");
|
|
462
|
-
this.drainInitQueues();
|
|
463
|
-
}
|
|
464
|
-
else
|
|
465
|
-
this.log("DISPATCHER: queue is over, nothing more to do");
|
|
466
|
-
});
|
|
467
|
-
}
|
|
468
|
-
/**
|
|
469
|
-
* @ignore
|
|
470
|
-
*/
|
|
471
|
-
log(text) {
|
|
472
|
-
if (this.logs)
|
|
473
|
-
console.log("@esfaenza/es-charts: " + text);
|
|
474
|
-
}
|
|
475
|
-
}
|
|
476
|
-
ChartDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher, deps: [{ token: ESC_LOGS }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
477
|
-
ChartDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher });
|
|
478
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher, decorators: [{
|
|
479
|
-
type: Injectable
|
|
480
|
-
}], ctorParameters: function () {
|
|
481
|
-
return [{ type: undefined, decorators: [{
|
|
482
|
-
type: Inject,
|
|
483
|
-
args: [ESC_LOGS]
|
|
484
|
-
}] }];
|
|
485
|
-
} });
|
|
486
|
-
|
|
487
380
|
/** @ignore */
|
|
488
381
|
const _spiritedaway = 'spiritedaway';
|
|
489
382
|
/** @ignore */
|
|
@@ -745,6 +638,113 @@ class ChartLoader {
|
|
|
745
638
|
}
|
|
746
639
|
}
|
|
747
640
|
|
|
641
|
+
/**
|
|
642
|
+
* Token che identifica il Locale di default per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
|
|
643
|
+
*/
|
|
644
|
+
const ESC_LOCALE = new InjectionToken('ESC_LOCALE');
|
|
645
|
+
/**
|
|
646
|
+
* Token che identifica il default per l'utilizzo o meno delle Animazioni per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
|
|
647
|
+
*/
|
|
648
|
+
const ESC_ANIMATIONS = new InjectionToken('ESC_ANIMATIONS');
|
|
649
|
+
/**
|
|
650
|
+
* Token che identifica il Tema di default per tutti i grafici, può essere sovrascritto dalle impostazioni locali (Settings e Input)
|
|
651
|
+
*/
|
|
652
|
+
const ESC_THEME = new InjectionToken('ESC_THEME');
|
|
653
|
+
/**
|
|
654
|
+
* Token che identifica l'utilizzo o meno del sistema di Log per l'intera libreria
|
|
655
|
+
*/
|
|
656
|
+
const ESC_LOGS = new InjectionToken('ESC_LOGS');
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
* Classe che si occupa del dispatch delle operazioni di rendering dei grafici utilizzando una coda per permettere ad ogni grafico di avere temi e localizzazione custom
|
|
660
|
+
*/
|
|
661
|
+
class ChartDispatcher {
|
|
662
|
+
/**
|
|
663
|
+
* @ignore
|
|
664
|
+
*/
|
|
665
|
+
constructor(logs) {
|
|
666
|
+
this.logs = logs;
|
|
667
|
+
/**
|
|
668
|
+
* Coda di inizializzazioni ancora da eseguire. Quando questa è vuota significa che nessuno sta creando grafici
|
|
669
|
+
*/
|
|
670
|
+
this.Initializations = [];
|
|
671
|
+
/**
|
|
672
|
+
* Lista dei grafici inizializzati e attivi in un dato momento (viene registrata la proprietà **name**). Non è possibile registrare due grafici con lo stesso identificativo
|
|
673
|
+
*/
|
|
674
|
+
this.InitializedGraphs = [];
|
|
675
|
+
}
|
|
676
|
+
/**
|
|
677
|
+
* Registra un grafico da visualizzare insieme alla propria funzione di creazione. Quest'ultima sarà differita fino a che tutti i grafici
|
|
678
|
+
* precedentemente registati non hanno finito la fase di inizializzazione
|
|
679
|
+
*
|
|
680
|
+
* @param {string} name Identificativo del grafico da registrare
|
|
681
|
+
* @param {Function} chartCreationFunction Funzione che fisicamente dovrà occuparsi della creazione del grafico
|
|
682
|
+
*/
|
|
683
|
+
register(name, chartCreationFunction) {
|
|
684
|
+
if (this.InitializedGraphs.indexOf(name) != -1)
|
|
685
|
+
throw "Attempting to register a duplicate chart '" + name + "'. Make sure the 'name' properties of your charts are univoque";
|
|
686
|
+
this.log("DISPATCHER: Registering chart creation function execution for " + name);
|
|
687
|
+
this.Initializations.push({ name: name, function: chartCreationFunction });
|
|
688
|
+
if (this.Initializations.length == 1) {
|
|
689
|
+
this.log("DISPATCHER: Initial drain started");
|
|
690
|
+
this.drainInitQueues();
|
|
691
|
+
}
|
|
692
|
+
}
|
|
693
|
+
/**
|
|
694
|
+
* Deregistra un grafico presente. Chiamata generalmente al dispose del grafico in questione quando non dev'essere più mostrato nella pagina corrente
|
|
695
|
+
*
|
|
696
|
+
* @param {string} name Identificativo del grafico da deregistrare
|
|
697
|
+
*/
|
|
698
|
+
deregisterGraph(name) {
|
|
699
|
+
let index = this.InitializedGraphs.indexOf(name);
|
|
700
|
+
if (index == -1) {
|
|
701
|
+
//Questo succede quando si cerca di distruggere il grafico mentre sta venendo graficato
|
|
702
|
+
this.log("DISPATCHER: Registration missing for chart " + name + " it was probably destroyed during load");
|
|
703
|
+
return;
|
|
704
|
+
}
|
|
705
|
+
this.log("DISPATCHER: Chart deregistered " + name);
|
|
706
|
+
this.InitializedGraphs.splice(index, 1);
|
|
707
|
+
}
|
|
708
|
+
/**
|
|
709
|
+
* Metodo che esegue in maniera sequenziale le funzioni di inizializzazione dei grafici finché presenti
|
|
710
|
+
* in modo che nessun grafico possa essere inizializzato contemporaneamente ad un altro.
|
|
711
|
+
*
|
|
712
|
+
* Questo è il punto chiave che permette di avere per ogni grafico temi e locale differenti
|
|
713
|
+
*/
|
|
714
|
+
drainInitQueues() {
|
|
715
|
+
let toExecute = this.Initializations[0];
|
|
716
|
+
this.log("DISPATCHER: Executing initialization function for chart " + toExecute.name);
|
|
717
|
+
toExecute.function().then(() => {
|
|
718
|
+
this.log("DISPATCHER: initialization for chart " + toExecute.name + " is done");
|
|
719
|
+
this.InitializedGraphs.push(toExecute.name);
|
|
720
|
+
this.Initializations.splice(0, 1);
|
|
721
|
+
if (this.Initializations.length >= 1) {
|
|
722
|
+
this.log("DISPATCHER: Found queued initializations. Continuing");
|
|
723
|
+
this.drainInitQueues();
|
|
724
|
+
}
|
|
725
|
+
else
|
|
726
|
+
this.log("DISPATCHER: queue is over, nothing more to do");
|
|
727
|
+
});
|
|
728
|
+
}
|
|
729
|
+
/**
|
|
730
|
+
* @ignore
|
|
731
|
+
*/
|
|
732
|
+
log(text) {
|
|
733
|
+
if (this.logs)
|
|
734
|
+
console.log("@esfaenza/es-charts: " + text);
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
ChartDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher, deps: [{ token: ESC_LOGS }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
738
|
+
ChartDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher });
|
|
739
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ChartDispatcher, decorators: [{
|
|
740
|
+
type: Injectable
|
|
741
|
+
}], ctorParameters: function () {
|
|
742
|
+
return [{ type: undefined, decorators: [{
|
|
743
|
+
type: Inject,
|
|
744
|
+
args: [ESC_LOGS]
|
|
745
|
+
}] }];
|
|
746
|
+
} });
|
|
747
|
+
|
|
748
748
|
/**
|
|
749
749
|
* Componente Grafico Base che gestisce tutte le cose comuni dei vari grafici istanziabili, come la presenza o menu di una legenda,
|
|
750
750
|
* il tema utilizzato, il locale del singolo grafico, ecc ecc...
|
|
@@ -799,6 +799,11 @@ class BaseChartComponent {
|
|
|
799
799
|
* Evento lanciato al termine del caricamento di una nuova pagina del grafico
|
|
800
800
|
*/
|
|
801
801
|
this.onLoadEnd = new EventEmitter();
|
|
802
|
+
/**
|
|
803
|
+
* Evento lanciato al termine della creazione del grafico referenziando l'istanza nativa del grafico creato in modo da poter effettuare modifiche
|
|
804
|
+
* post inizializzazione lato applicativo
|
|
805
|
+
*/
|
|
806
|
+
this.chartLoaded = new EventEmitter();
|
|
802
807
|
/**
|
|
803
808
|
* Serve a decidere se sarà presente l'interfaccia di paginazione
|
|
804
809
|
*/
|
|
@@ -887,7 +892,7 @@ class BaseChartComponent {
|
|
|
887
892
|
this.Chart = this.ChartService.ChartInstance;
|
|
888
893
|
if (!this.Chart)
|
|
889
894
|
this.log("Chart " + this.name + ": Could not create graph");
|
|
890
|
-
return this.Charter.applyLocale(this.Chart, this.Locale).then(() => this.initDone = true);
|
|
895
|
+
return this.Charter.applyLocale(this.Chart, this.Locale).then(() => { this.initDone = true; this.chartLoaded.emit(this); });
|
|
891
896
|
})
|
|
892
897
|
]);
|
|
893
898
|
}
|
|
@@ -986,6 +991,13 @@ class BaseChartComponent {
|
|
|
986
991
|
});
|
|
987
992
|
this.Dispatcher.register(this.name, () => { return this.loadChart(); });
|
|
988
993
|
}
|
|
994
|
+
/**
|
|
995
|
+
* Permette di aggiungere un blocco di dati in maniera "live" ad un grafico
|
|
996
|
+
*/
|
|
997
|
+
addData(chartData) {
|
|
998
|
+
this.ChartService.refreshData(chartData);
|
|
999
|
+
}
|
|
1000
|
+
;
|
|
989
1001
|
/**
|
|
990
1002
|
* Funzione che si occupa di caricare i temi necessari per il grafico in oggetto. Prima applica il tema, poi, se serve, applica le animazioni
|
|
991
1003
|
*/
|
|
@@ -1015,7 +1027,7 @@ class BaseChartComponent {
|
|
|
1015
1027
|
}
|
|
1016
1028
|
}
|
|
1017
1029
|
BaseChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaseChartComponent, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
1018
|
-
BaseChartComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BaseChartComponent, inputs: { XTitle: "XTitle", YTitle: "YTitle", Settings: "Settings", Legend: "Legend", LegendPosition: "LegendPosition", Timeline: "Timeline", name: "name", Animations: "Animations", Theme: "Theme", Locale: "Locale", HideSeriesOnLabelClick: "HideSeriesOnLabelClick", MinGridDistance: "MinGridDistance", AdaptLabelSizeAndOrientation: "AdaptLabelSizeAndOrientation", LegendPadding: "LegendPadding", DataDtos: "DataDtos", DataDtoStartIndex: "DataDtoStartIndex", DataRetrieve: "DataRetrieve", BrowseDelayMs: "BrowseDelayMs" }, outputs: { onSelectionChanged: "onSelectionChanged", onSeriesClicked: "onSeriesClicked", onLoadStart: "onLoadStart", onLoadEnd: "onLoadEnd" }, queries: [{ propertyName: "header_tr", first: true, predicate: ["header"], descendants: true }, { propertyName: "loading_template", first: true, predicate: ["loading"], descendants: true }], usesOnChanges: true, ngImport: i0 });
|
|
1030
|
+
BaseChartComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.1", type: BaseChartComponent, inputs: { XTitle: "XTitle", YTitle: "YTitle", Settings: "Settings", Legend: "Legend", LegendPosition: "LegendPosition", Timeline: "Timeline", name: "name", Animations: "Animations", Theme: "Theme", Locale: "Locale", HideSeriesOnLabelClick: "HideSeriesOnLabelClick", MinGridDistance: "MinGridDistance", AdaptLabelSizeAndOrientation: "AdaptLabelSizeAndOrientation", LegendPadding: "LegendPadding", DataDtos: "DataDtos", DataDtoStartIndex: "DataDtoStartIndex", DataRetrieve: "DataRetrieve", BrowseDelayMs: "BrowseDelayMs" }, outputs: { onSelectionChanged: "onSelectionChanged", onSeriesClicked: "onSeriesClicked", onLoadStart: "onLoadStart", onLoadEnd: "onLoadEnd", chartLoaded: "chartLoaded" }, queries: [{ propertyName: "header_tr", first: true, predicate: ["header"], descendants: true }, { propertyName: "loading_template", first: true, predicate: ["loading"], descendants: true }], usesOnChanges: true, ngImport: i0 });
|
|
1019
1031
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BaseChartComponent, decorators: [{
|
|
1020
1032
|
type: Directive
|
|
1021
1033
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: Object }, { type: i0.NgZone }, { type: ChartLoader }, { type: ChartDispatcher }, { type: undefined }, { type: undefined }, { type: undefined }, { type: undefined }]; }, propDecorators: { XTitle: [{
|
|
@@ -1068,6 +1080,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
1068
1080
|
type: Output
|
|
1069
1081
|
}], onLoadEnd: [{
|
|
1070
1082
|
type: Output
|
|
1083
|
+
}], chartLoaded: [{
|
|
1084
|
+
type: Output
|
|
1071
1085
|
}] } });
|
|
1072
1086
|
|
|
1073
1087
|
/**
|
|
@@ -1082,6 +1096,8 @@ class LineChartService {
|
|
|
1082
1096
|
this.DataGroupBucketSize = 1500;
|
|
1083
1097
|
/** @ignore */
|
|
1084
1098
|
this.OpacityOnSelected = 0.3;
|
|
1099
|
+
/** @ignore */
|
|
1100
|
+
this.singleDataSet = false;
|
|
1085
1101
|
//******************** Funzione di throttling per non spammare richieste in caso di animazioni attivate
|
|
1086
1102
|
//TODO: spostarla in un metodo di utilità (esfaenza/extensions)
|
|
1087
1103
|
/** @ignore */
|
|
@@ -1094,7 +1110,7 @@ class LineChartService {
|
|
|
1094
1110
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
1095
1111
|
let dataConverted = this.Adapter ? this.Adapter.adaptDataForLineChart(data) : data;
|
|
1096
1112
|
let threshold = (_a = settings.DataGroupingThreshold) !== null && _a !== void 0 ? _a : 3000;
|
|
1097
|
-
|
|
1113
|
+
this.singleDataSet = (_b = settings.MergeDatasets) !== null && _b !== void 0 ? _b : false;
|
|
1098
1114
|
let showTicks = settings.ShowTicks == null ? true : settings === null || settings === void 0 ? void 0 : settings.ShowTicks;
|
|
1099
1115
|
let dataShouldBeGrouped = Math.max(...dataConverted.series.map(t => t.values.length)) > threshold;
|
|
1100
1116
|
let showTimeline = settings.Timeline || dataShouldBeGrouped;
|
|
@@ -1173,31 +1189,9 @@ class LineChartService {
|
|
|
1173
1189
|
let seriesColors = [];
|
|
1174
1190
|
let defaultIndex = 0;
|
|
1175
1191
|
//-- Generazione di un unico dataset invece che N, per poter gestire un unico tooltip
|
|
1176
|
-
if (singleDataSet) {
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
for (let i = 0; i < vs.values.length; i++) {
|
|
1180
|
-
var dataitem = vs.values[i];
|
|
1181
|
-
var indexer = new Date(dataitem.d).valueOf();
|
|
1182
|
-
if (!dto[indexer])
|
|
1183
|
-
dto[indexer] = {};
|
|
1184
|
-
dto[indexer]['v' + index] = dataitem.v;
|
|
1185
|
-
}
|
|
1186
|
-
});
|
|
1187
|
-
var dates = Object.keys(dto);
|
|
1188
|
-
let singleDS = [];
|
|
1189
|
-
for (let i = 0; i < dates.length; i++) {
|
|
1190
|
-
let values = dto[dates[i]];
|
|
1191
|
-
let item = { d: new Date(parseInt(dates[i])) };
|
|
1192
|
-
var vals = Object.keys(values);
|
|
1193
|
-
for (let ii = 0; ii < vals.length; ii++) {
|
|
1194
|
-
let series = vals[ii];
|
|
1195
|
-
let singleVal = values[series];
|
|
1196
|
-
item[series] = singleVal;
|
|
1197
|
-
}
|
|
1198
|
-
singleDS.push(item);
|
|
1199
|
-
}
|
|
1200
|
-
this.ChartInstance.data = singleDS;
|
|
1192
|
+
if (this.singleDataSet) {
|
|
1193
|
+
this.ChartInstance.data = this.generateSingleDataset(dataConverted);
|
|
1194
|
+
;
|
|
1201
1195
|
dateAxis.cursorTooltipEnabled = false;
|
|
1202
1196
|
}
|
|
1203
1197
|
//-- Fine generazione
|
|
@@ -1221,14 +1215,14 @@ class LineChartService {
|
|
|
1221
1215
|
s.values.sort((d1, d2) => d1.d.getTime() - d2.d.getTime());
|
|
1222
1216
|
let fill = s.fill != null && s.fill != undefined ? s.fill : ((_a = settings === null || settings === void 0 ? void 0 : settings.Fill) !== null && _a !== void 0 ? _a : false);
|
|
1223
1217
|
let series = (settings === null || settings === void 0 ? void 0 : settings.Step) ? new am4charts.StepLineSeries() : new am4charts.LineSeries();
|
|
1224
|
-
series.dataFields.valueY = "v" + (singleDataSet ? index : "");
|
|
1218
|
+
series.dataFields.valueY = "v" + (this.singleDataSet ? index : "");
|
|
1225
1219
|
series.dataFields.dateX = "d";
|
|
1226
1220
|
series.dataFields.measureUnit = s.uom;
|
|
1227
1221
|
series.name = s.name;
|
|
1228
1222
|
series.strokeWidth = (_b = settings === null || settings === void 0 ? void 0 : settings.StrokeSize) !== null && _b !== void 0 ? _b : 1;
|
|
1229
1223
|
series.connect = !gapsAllowed;
|
|
1230
1224
|
series.minBulletDistance = 10;
|
|
1231
|
-
series.tooltipText = singleDataSet ? "" : "{name}: [bold]{valueY}[/]";
|
|
1225
|
+
series.tooltipText = this.singleDataSet ? "" : s.name ? "{name}: [bold]{valueY}[/]" : "[bold]{valueY}[/]";
|
|
1232
1226
|
series.tooltip.pointerOrientation = "vertical";
|
|
1233
1227
|
series.tooltip.background.fillOpacity = 0.5;
|
|
1234
1228
|
series.tooltip.label.padding(12, 12, 12, 12);
|
|
@@ -1236,7 +1230,7 @@ class LineChartService {
|
|
|
1236
1230
|
series.stacked = fill;
|
|
1237
1231
|
//Dataset singolo, i dati sono registrati a livello di chart, creo il tooltip che permette di vederli tutti insieme
|
|
1238
1232
|
//altrimenti assegno i dati della serie direttamente alla serie
|
|
1239
|
-
if (singleDataSet) {
|
|
1233
|
+
if (this.singleDataSet) {
|
|
1240
1234
|
series.tooltip.getFillFromObject = false;
|
|
1241
1235
|
series.tooltip.background.fill = am4core.color("#eee");
|
|
1242
1236
|
series.tooltip.label.fill = am4core.color("#00");
|
|
@@ -1267,7 +1261,7 @@ class LineChartService {
|
|
|
1267
1261
|
var text = "[bold]{dateX.formatDate()}[/]\n";
|
|
1268
1262
|
this.ChartInstance.series.each((item) => {
|
|
1269
1263
|
let uom = " [font-style: italic]" + series.dataFields.measureUnit || "" + "[/]";
|
|
1270
|
-
text += "[" + item.stroke.hex + "]●[/] " + item.name + ": [bold]{" + item.dataFields.valueY + "}[/]" + uom + "\n";
|
|
1264
|
+
text += "[" + item.stroke.hex + "]●[/] " + (item.name ? (item.name + ": ") : "") + "[bold]{" + item.dataFields.valueY + "}[/]" + uom + "\n";
|
|
1271
1265
|
});
|
|
1272
1266
|
return text;
|
|
1273
1267
|
});
|
|
@@ -1326,7 +1320,7 @@ class LineChartService {
|
|
|
1326
1320
|
//******************************************************************************************************************************
|
|
1327
1321
|
this.ChartInstance.cursor.xAxis = dateAxis;
|
|
1328
1322
|
this.ChartInstance.cursor.yAxis = yAxis;
|
|
1329
|
-
if (singleDataSet)
|
|
1323
|
+
if (this.singleDataSet)
|
|
1330
1324
|
this.ChartInstance.cursor.maxTooltipDistance = -1;
|
|
1331
1325
|
//TODO: Cercare di capire perché è figlio di puttana......
|
|
1332
1326
|
dateAxis.events.on("startchanged", t => this.emitSelectionChanged(t, settings));
|
|
@@ -1335,7 +1329,40 @@ class LineChartService {
|
|
|
1335
1329
|
}
|
|
1336
1330
|
/** @ignore */
|
|
1337
1331
|
refreshData(data) {
|
|
1338
|
-
|
|
1332
|
+
let dataConverted = this.Adapter ? this.Adapter.adaptDataForLineChart(data) : data;
|
|
1333
|
+
if (this.singleDataSet) {
|
|
1334
|
+
var data = this.generateSingleDataset(dataConverted);
|
|
1335
|
+
this.ChartInstance.addData(data);
|
|
1336
|
+
return;
|
|
1337
|
+
}
|
|
1338
|
+
throw "Impossibile aggiornare i dati senza unire il dataset. Si prega di impostare [MergeDatasets] a true";
|
|
1339
|
+
}
|
|
1340
|
+
/** Partendo da dati divisi per seriue genera un dataset unito con la data come chiave e i vari valori dopo */
|
|
1341
|
+
generateSingleDataset(data) {
|
|
1342
|
+
let dto = {};
|
|
1343
|
+
data.series.forEach((vs, index) => {
|
|
1344
|
+
for (let i = 0; i < vs.values.length; i++) {
|
|
1345
|
+
var dataitem = vs.values[i];
|
|
1346
|
+
var indexer = new Date(dataitem.d).valueOf();
|
|
1347
|
+
if (!dto[indexer])
|
|
1348
|
+
dto[indexer] = {};
|
|
1349
|
+
dto[indexer]['v' + index] = dataitem.v;
|
|
1350
|
+
}
|
|
1351
|
+
});
|
|
1352
|
+
var dates = Object.keys(dto);
|
|
1353
|
+
var ret = [];
|
|
1354
|
+
for (let i = 0; i < dates.length; i++) {
|
|
1355
|
+
let values = dto[dates[i]];
|
|
1356
|
+
let item = { d: new Date(parseInt(dates[i])) };
|
|
1357
|
+
var vals = Object.keys(values);
|
|
1358
|
+
for (let ii = 0; ii < vals.length; ii++) {
|
|
1359
|
+
let series = vals[ii];
|
|
1360
|
+
let singleVal = values[series];
|
|
1361
|
+
item[series] = singleVal;
|
|
1362
|
+
}
|
|
1363
|
+
ret.push(item);
|
|
1364
|
+
}
|
|
1365
|
+
return ret;
|
|
1339
1366
|
}
|
|
1340
1367
|
/** @ignore */
|
|
1341
1368
|
emitSelectionChanged(ev, settings) {
|
|
@@ -1395,155 +1422,22 @@ class LineChartService {
|
|
|
1395
1422
|
}
|
|
1396
1423
|
|
|
1397
1424
|
/**
|
|
1398
|
-
* Classe il cui unico scopo è gestire il setup e rendering di un
|
|
1425
|
+
* Classe il cui unico scopo è gestire il setup e rendering di un PieChart
|
|
1399
1426
|
*/
|
|
1400
|
-
class
|
|
1427
|
+
class PieChartService {
|
|
1401
1428
|
/** @ignore */
|
|
1402
1429
|
constructor(Adapter) {
|
|
1403
1430
|
this.Adapter = Adapter;
|
|
1404
|
-
//******************** Funzione di throttling per non spammare richieste in caso di animazioni attivate
|
|
1405
|
-
//TODO: spostarla in un metodo di utilità (esfaenza/extensions)
|
|
1406
1431
|
/** @ignore */
|
|
1407
|
-
this.
|
|
1432
|
+
this.ViewAbsoluteValues = true;
|
|
1408
1433
|
}
|
|
1409
1434
|
/**
|
|
1410
|
-
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un
|
|
1435
|
+
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un PieChart
|
|
1411
1436
|
*/
|
|
1412
1437
|
graphicate(data, settings) {
|
|
1413
|
-
var _a, _b, _c, _d
|
|
1438
|
+
var _a, _b, _c, _d;
|
|
1414
1439
|
if (settings.Timeline) {
|
|
1415
|
-
console.error("Timeline not supported for
|
|
1416
|
-
return null;
|
|
1417
|
-
}
|
|
1418
|
-
let dataConverted = this.Adapter ? this.Adapter.adaptDataForAreaChart(data) : data;
|
|
1419
|
-
let showTicks = settings.ShowTicks == null ? true : settings === null || settings === void 0 ? void 0 : settings.ShowTicks;
|
|
1420
|
-
let interval = dataConverted.interval;
|
|
1421
|
-
//Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
|
|
1422
|
-
am4core.options.autoDispose = true;
|
|
1423
|
-
this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
|
|
1424
|
-
let ChartInstanceCasted = this.ChartInstance;
|
|
1425
|
-
if (settings.Legend) {
|
|
1426
|
-
ChartInstanceCasted.legend = new am4charts.Legend();
|
|
1427
|
-
ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
|
|
1428
|
-
ChartInstanceCasted.legend.itemContainers.template.tooltipText = "{category}";
|
|
1429
|
-
if (settings.LegendPadding) {
|
|
1430
|
-
let template = this.ChartInstance.legend.itemContainers.template;
|
|
1431
|
-
template.paddingTop = (_b = settings.LegendPadding.top) !== null && _b !== void 0 ? _b : 0;
|
|
1432
|
-
template.paddingBottom = (_c = settings.LegendPadding.bottom) !== null && _c !== void 0 ? _c : 0;
|
|
1433
|
-
template.paddingLeft = (_d = settings.LegendPadding.left) !== null && _d !== void 0 ? _d : 0;
|
|
1434
|
-
template.paddingRight = (_e = settings.LegendPadding.right) !== null && _e !== void 0 ? _e : 0;
|
|
1435
|
-
}
|
|
1436
|
-
}
|
|
1437
|
-
let yAxis = ChartInstanceCasted.yAxes.push(new am4charts.ValueAxis());
|
|
1438
|
-
yAxis.tooltip.disabled = true;
|
|
1439
|
-
if (settings.YAxisTitle) {
|
|
1440
|
-
yAxis.title.text = settings.YAxisTitle;
|
|
1441
|
-
yAxis.title.fontWeight = "bold";
|
|
1442
|
-
}
|
|
1443
|
-
yAxis.min = 0;
|
|
1444
|
-
let dateAxis = ChartInstanceCasted.xAxes.push(new am4charts.DateAxis());
|
|
1445
|
-
dateAxis.renderer.minGridDistance = (_f = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _f !== void 0 ? _f : 50;
|
|
1446
|
-
dateAxis.startLocation = 0.5;
|
|
1447
|
-
dateAxis.endLocation = 0.5;
|
|
1448
|
-
if (settings.XAxisTitle) {
|
|
1449
|
-
dateAxis.title.text = settings.XAxisTitle;
|
|
1450
|
-
dateAxis.title.fontWeight = "bold";
|
|
1451
|
-
}
|
|
1452
|
-
if (showTicks) {
|
|
1453
|
-
dateAxis.renderer.ticks.template.disabled = false;
|
|
1454
|
-
dateAxis.renderer.ticks.template.strokeOpacity = 1;
|
|
1455
|
-
dateAxis.renderer.ticks.template.stroke = am4core.color("#495C43");
|
|
1456
|
-
dateAxis.renderer.ticks.template.strokeWidth = 2;
|
|
1457
|
-
dateAxis.renderer.ticks.template.length = 10;
|
|
1458
|
-
dateAxis.renderer.ticks.template.location = 0;
|
|
1459
|
-
}
|
|
1460
|
-
if (!!interval)
|
|
1461
|
-
dateAxis.baseInterval = { count: interval.count, timeUnit: interval.timeunit };
|
|
1462
|
-
// Unisco il dataset e tiro fuori i dati
|
|
1463
|
-
let chartData = [];
|
|
1464
|
-
let seriesToMakeCache = {};
|
|
1465
|
-
let seriesToMake = [];
|
|
1466
|
-
for (let i = 0; i < dataConverted.groups.length; i++) {
|
|
1467
|
-
let group = dataConverted.groups[i];
|
|
1468
|
-
let dataItem = { date: group.name };
|
|
1469
|
-
for (let ii = 0; ii < group.values.length; ii++) {
|
|
1470
|
-
let val = group.values[ii];
|
|
1471
|
-
dataItem[val.k] = val.v;
|
|
1472
|
-
if (!seriesToMakeCache[val.k]) {
|
|
1473
|
-
seriesToMakeCache[val.k] = true;
|
|
1474
|
-
seriesToMake.push(val.k);
|
|
1475
|
-
}
|
|
1476
|
-
}
|
|
1477
|
-
chartData.push(dataItem);
|
|
1478
|
-
}
|
|
1479
|
-
ChartInstanceCasted.data = chartData;
|
|
1480
|
-
//---------------------------------------------------------
|
|
1481
|
-
seriesToMake.forEach(s => { this.createSeries(ChartInstanceCasted, s); });
|
|
1482
|
-
ChartInstanceCasted.cursor = new am4charts.XYCursor();
|
|
1483
|
-
ChartInstanceCasted.cursor.xAxis = dateAxis;
|
|
1484
|
-
dateAxis.events.on("startchanged", t => this.emitSelectionChanged(t, settings));
|
|
1485
|
-
dateAxis.events.on("endchanged", t => this.emitSelectionChanged(t, settings));
|
|
1486
|
-
return this;
|
|
1487
|
-
}
|
|
1488
|
-
/** @ignore */
|
|
1489
|
-
refreshData(data) {
|
|
1490
|
-
//TODO:IMPL
|
|
1491
|
-
}
|
|
1492
|
-
/** @ignore */
|
|
1493
|
-
emitSelectionChanged(ev, settings) {
|
|
1494
|
-
if (settings.OnSelectionChangedCallback) {
|
|
1495
|
-
this.throttla("selchange", () => {
|
|
1496
|
-
var axis = ev.target;
|
|
1497
|
-
var start = new Date(axis.minZoomed);
|
|
1498
|
-
var end = new Date(axis.maxZoomed);
|
|
1499
|
-
var initial = axis.min == axis.minZoomed && axis.max == axis.maxZoomed;
|
|
1500
|
-
settings.OnSelectionChangedCallback({ from: start, to: end, initial: initial });
|
|
1501
|
-
}, 150);
|
|
1502
|
-
}
|
|
1503
|
-
}
|
|
1504
|
-
/** @ignore */
|
|
1505
|
-
createSeries(chart, name) {
|
|
1506
|
-
let series = chart.series.push(new am4charts.LineSeries());
|
|
1507
|
-
series.dataFields.dateX = "date";
|
|
1508
|
-
series.name = name[0].toUpperCase() + name.slice(1);
|
|
1509
|
-
series.dataFields.valueY = name;
|
|
1510
|
-
series.tooltipText = "[#000]{valueY.value}[/]";
|
|
1511
|
-
//series.tooltip.background.fill = am4core.color("#FFF");
|
|
1512
|
-
series.tooltip.getStrokeFromObject = true;
|
|
1513
|
-
series.tooltip.background.strokeWidth = 3;
|
|
1514
|
-
series.tooltip.getFillFromObject = false;
|
|
1515
|
-
series.fillOpacity = 0.6;
|
|
1516
|
-
series.strokeWidth = 2;
|
|
1517
|
-
series.stacked = true;
|
|
1518
|
-
return series;
|
|
1519
|
-
}
|
|
1520
|
-
/** @ignore */
|
|
1521
|
-
throttla(id, func, throttleTime) {
|
|
1522
|
-
//Se ho la funzione che vuole eseguire ripulisco quel timeout
|
|
1523
|
-
if (this.executionTimers[id])
|
|
1524
|
-
clearTimeout(this.executionTimers[id]);
|
|
1525
|
-
//Ricreo il timeout per eseguire quella funzione dopo throttleTime millisecondi
|
|
1526
|
-
this.executionTimers[id] = setTimeout(() => { func(); this.executionTimers[id] = null; }, throttleTime);
|
|
1527
|
-
}
|
|
1528
|
-
}
|
|
1529
|
-
|
|
1530
|
-
/**
|
|
1531
|
-
* Classe il cui unico scopo è gestire il setup e rendering di un PieChart
|
|
1532
|
-
*/
|
|
1533
|
-
class PieChartService {
|
|
1534
|
-
/** @ignore */
|
|
1535
|
-
constructor(Adapter) {
|
|
1536
|
-
this.Adapter = Adapter;
|
|
1537
|
-
/** @ignore */
|
|
1538
|
-
this.ViewAbsoluteValues = true;
|
|
1539
|
-
}
|
|
1540
|
-
/**
|
|
1541
|
-
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un PieChart
|
|
1542
|
-
*/
|
|
1543
|
-
graphicate(data, settings) {
|
|
1544
|
-
var _a, _b, _c, _d;
|
|
1545
|
-
if (settings.Timeline) {
|
|
1546
|
-
console.error("Timeline not supported for pie chart");
|
|
1440
|
+
console.error("Timeline not supported for pie chart");
|
|
1547
1441
|
return null;
|
|
1548
1442
|
}
|
|
1549
1443
|
//Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
|
|
@@ -1638,15 +1532,13 @@ class PieChartService {
|
|
|
1638
1532
|
}
|
|
1639
1533
|
|
|
1640
1534
|
/**
|
|
1641
|
-
* Classe il cui unico scopo è gestire il setup e rendering di un
|
|
1535
|
+
* Classe il cui unico scopo è gestire il setup e rendering di un VerticalChart
|
|
1642
1536
|
*/
|
|
1643
|
-
class
|
|
1537
|
+
class VerticalChartService {
|
|
1644
1538
|
/** @ignore */
|
|
1645
1539
|
constructor(Adapter) {
|
|
1646
1540
|
this.Adapter = Adapter;
|
|
1647
1541
|
/** @ignore */
|
|
1648
|
-
this.DefaultGroupPaddingPercentage = 5;
|
|
1649
|
-
/** @ignore */
|
|
1650
1542
|
this.dangerZone = 50;
|
|
1651
1543
|
/** @ignore */
|
|
1652
1544
|
this.LabelWidth = 150;
|
|
@@ -1658,10 +1550,10 @@ class Vertical2DChartService {
|
|
|
1658
1550
|
this.DefaultColumnWidthPercentage = 85;
|
|
1659
1551
|
}
|
|
1660
1552
|
/**
|
|
1661
|
-
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un
|
|
1553
|
+
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un VerticalChart
|
|
1662
1554
|
*/
|
|
1663
1555
|
graphicate(data, settings) {
|
|
1664
|
-
var _a, _b, _c, _d, _e, _f, _g, _h
|
|
1556
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
1665
1557
|
if (settings.Timeline) {
|
|
1666
1558
|
console.error("Timeline not supported for vertical chart");
|
|
1667
1559
|
return null;
|
|
@@ -1670,6 +1562,8 @@ class Vertical2DChartService {
|
|
|
1670
1562
|
am4core.options.autoDispose = true;
|
|
1671
1563
|
this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
|
|
1672
1564
|
let ChartInstanceCasted = this.ChartInstance;
|
|
1565
|
+
let dataConverted = this.Adapter ? this.Adapter.adaptDataForVerticalChart(data) : data;
|
|
1566
|
+
ChartInstanceCasted.data = dataConverted.values;
|
|
1673
1567
|
if (settings.Legend) {
|
|
1674
1568
|
ChartInstanceCasted.legend = new am4charts.Legend();
|
|
1675
1569
|
ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
|
|
@@ -1692,15 +1586,12 @@ class Vertical2DChartService {
|
|
|
1692
1586
|
categoryAxis.title.text = settings.XAxisTitle;
|
|
1693
1587
|
categoryAxis.title.fontWeight = "bold";
|
|
1694
1588
|
}
|
|
1695
|
-
|
|
1696
|
-
categoryAxis.dataFields.category = 'key';
|
|
1697
|
-
categoryAxis.renderer.cellStartLocation = am4core.percent((_f = settings.GroupPaddingPercentage) !== null && _f !== void 0 ? _f : this.DefaultGroupPaddingPercentage).value;
|
|
1698
|
-
categoryAxis.renderer.cellEndLocation = am4core.percent(100 - ((_g = settings.GroupPaddingPercentage) !== null && _g !== void 0 ? _g : this.DefaultGroupPaddingPercentage)).value;
|
|
1589
|
+
categoryAxis.dataFields.category = "k";
|
|
1699
1590
|
categoryAxis.renderer.grid.template.location = 0;
|
|
1700
|
-
categoryAxis.renderer.minGridDistance = (
|
|
1591
|
+
categoryAxis.renderer.minGridDistance = (_f = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _f !== void 0 ? _f : 30;
|
|
1701
1592
|
let label = categoryAxis.renderer.labels.template;
|
|
1702
1593
|
label.truncate = true;
|
|
1703
|
-
label.maxWidth = (
|
|
1594
|
+
label.maxWidth = (_g = settings.LabelWidth) !== null && _g !== void 0 ? _g : this.LabelWidth;
|
|
1704
1595
|
label.tooltipText = "{category}";
|
|
1705
1596
|
if ((settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) == null ? true : settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) {
|
|
1706
1597
|
categoryAxis.events.on("sizechanged", (ev) => {
|
|
@@ -1724,88 +1615,35 @@ class Vertical2DChartService {
|
|
|
1724
1615
|
}
|
|
1725
1616
|
});
|
|
1726
1617
|
}
|
|
1727
|
-
|
|
1728
|
-
let
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
ChartInstanceCasted.data = dataConverted;
|
|
1739
|
-
if (dataPreConverted.colorInfos)
|
|
1740
|
-
ChartInstanceCasted.colors.list = dataPreConverted.colorInfos.map(c => am4core.color(c.color));
|
|
1741
|
-
//Prendo la prima categoria e mi baso sulle proprietà per dfeinire le serie
|
|
1742
|
-
for (let prop in dataConverted[0])
|
|
1743
|
-
if (prop !== "key")
|
|
1744
|
-
this.createSeries(ChartInstanceCasted, settings, prop, prop);
|
|
1618
|
+
// Create series
|
|
1619
|
+
let series = ChartInstanceCasted.series.push(new am4charts.ColumnSeries());
|
|
1620
|
+
series.dataFields.valueY = "v";
|
|
1621
|
+
series.dataFields.categoryX = "k";
|
|
1622
|
+
series.name = "";
|
|
1623
|
+
series.columns.template.tooltipText = "{categoryX}: [bold]{valueY}[/]";
|
|
1624
|
+
series.columns.template.fillOpacity = .8;
|
|
1625
|
+
series.columns.template.width = am4core.percent((_h = settings.ColumnWidthPercentage) !== null && _h !== void 0 ? _h : this.DefaultColumnWidthPercentage);
|
|
1626
|
+
let columnTemplate = series.columns.template;
|
|
1627
|
+
columnTemplate.strokeWidth = 2;
|
|
1628
|
+
columnTemplate.strokeOpacity = 1;
|
|
1745
1629
|
return this;
|
|
1746
1630
|
}
|
|
1747
1631
|
/** @ignore */
|
|
1748
1632
|
refreshData(data) {
|
|
1749
1633
|
//TODO:IMPL
|
|
1750
1634
|
}
|
|
1751
|
-
/** @ignore */
|
|
1752
|
-
createSeries(chart, settings, value, name) {
|
|
1753
|
-
var _a;
|
|
1754
|
-
let series = chart.series.push(new am4charts.ColumnSeries());
|
|
1755
|
-
series.dataFields.valueY = value;
|
|
1756
|
-
series.dataFields.categoryX = 'key';
|
|
1757
|
-
series.name = name;
|
|
1758
|
-
series.columns.template.tooltipText = "{name} {categoryX}: [bold]{valueY}[/]";
|
|
1759
|
-
series.columns.template.fillOpacity = .8;
|
|
1760
|
-
series.columns.template.width = am4core.percent((_a = settings.ColumnWidthPercentage) !== null && _a !== void 0 ? _a : this.DefaultColumnWidthPercentage);
|
|
1761
|
-
series.events.on("hidden", () => this.arrangeColumns);
|
|
1762
|
-
series.events.on("shown", () => this.arrangeColumns);
|
|
1763
|
-
return series;
|
|
1764
|
-
}
|
|
1765
|
-
/** @ignore */
|
|
1766
|
-
arrangeColumns() {
|
|
1767
|
-
let ChartInstanceCasted = this.ChartInstance;
|
|
1768
|
-
let series = ChartInstanceCasted.series.getIndex(0);
|
|
1769
|
-
let xAxis = ChartInstanceCasted.xAxes.getIndex(0);
|
|
1770
|
-
let w = 1 - xAxis.renderer.cellStartLocation - (1 - xAxis.renderer.cellEndLocation);
|
|
1771
|
-
if (series.dataItems.length > 1) {
|
|
1772
|
-
let x0 = xAxis.getX(series.dataItems.getIndex(0), "categoryX");
|
|
1773
|
-
let x1 = xAxis.getX(series.dataItems.getIndex(1), "categoryX");
|
|
1774
|
-
let delta = ((x1 - x0) / ChartInstanceCasted.series.length) * w;
|
|
1775
|
-
if (am4core.isNumber(delta)) {
|
|
1776
|
-
let middle = ChartInstanceCasted.series.length / 2;
|
|
1777
|
-
let newIndex = 0;
|
|
1778
|
-
ChartInstanceCasted.series.each((series) => {
|
|
1779
|
-
if (!series.isHidden && !series.isHiding) {
|
|
1780
|
-
series.dummyData = newIndex;
|
|
1781
|
-
newIndex++;
|
|
1782
|
-
}
|
|
1783
|
-
else {
|
|
1784
|
-
series.dummyData = ChartInstanceCasted.series.indexOf(series);
|
|
1785
|
-
}
|
|
1786
|
-
});
|
|
1787
|
-
let visibleCount = newIndex;
|
|
1788
|
-
let newMiddle = visibleCount / 2;
|
|
1789
|
-
ChartInstanceCasted.series.each((series) => {
|
|
1790
|
-
let trueIndex = ChartInstanceCasted.series.indexOf(series);
|
|
1791
|
-
let newIndex = series.dummyData;
|
|
1792
|
-
let dx = (newIndex - trueIndex + middle - newMiddle) * delta;
|
|
1793
|
-
series.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
|
|
1794
|
-
series.bulletsContainer.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
|
|
1795
|
-
});
|
|
1796
|
-
}
|
|
1797
|
-
}
|
|
1798
|
-
}
|
|
1799
1635
|
}
|
|
1800
1636
|
|
|
1801
1637
|
/**
|
|
1802
|
-
* Classe il cui unico scopo è gestire il setup e rendering di un
|
|
1638
|
+
* Classe il cui unico scopo è gestire il setup e rendering di un Vertical2DChart
|
|
1803
1639
|
*/
|
|
1804
|
-
class
|
|
1640
|
+
class Vertical2DChartService {
|
|
1805
1641
|
/** @ignore */
|
|
1806
1642
|
constructor(Adapter) {
|
|
1807
1643
|
this.Adapter = Adapter;
|
|
1808
1644
|
/** @ignore */
|
|
1645
|
+
this.DefaultGroupPaddingPercentage = 5;
|
|
1646
|
+
/** @ignore */
|
|
1809
1647
|
this.dangerZone = 50;
|
|
1810
1648
|
/** @ignore */
|
|
1811
1649
|
this.LabelWidth = 150;
|
|
@@ -1817,10 +1655,10 @@ class VerticalChartService {
|
|
|
1817
1655
|
this.DefaultColumnWidthPercentage = 85;
|
|
1818
1656
|
}
|
|
1819
1657
|
/**
|
|
1820
|
-
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un
|
|
1658
|
+
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un Vertical2DChart
|
|
1821
1659
|
*/
|
|
1822
1660
|
graphicate(data, settings) {
|
|
1823
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
1661
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
1824
1662
|
if (settings.Timeline) {
|
|
1825
1663
|
console.error("Timeline not supported for vertical chart");
|
|
1826
1664
|
return null;
|
|
@@ -1829,8 +1667,6 @@ class VerticalChartService {
|
|
|
1829
1667
|
am4core.options.autoDispose = true;
|
|
1830
1668
|
this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
|
|
1831
1669
|
let ChartInstanceCasted = this.ChartInstance;
|
|
1832
|
-
let dataConverted = this.Adapter ? this.Adapter.adaptDataForVerticalChart(data) : data;
|
|
1833
|
-
ChartInstanceCasted.data = dataConverted.values;
|
|
1834
1670
|
if (settings.Legend) {
|
|
1835
1671
|
ChartInstanceCasted.legend = new am4charts.Legend();
|
|
1836
1672
|
ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
|
|
@@ -1853,12 +1689,15 @@ class VerticalChartService {
|
|
|
1853
1689
|
categoryAxis.title.text = settings.XAxisTitle;
|
|
1854
1690
|
categoryAxis.title.fontWeight = "bold";
|
|
1855
1691
|
}
|
|
1856
|
-
|
|
1692
|
+
yAxis.min = 0;
|
|
1693
|
+
categoryAxis.dataFields.category = 'key';
|
|
1694
|
+
categoryAxis.renderer.cellStartLocation = am4core.percent((_f = settings.GroupPaddingPercentage) !== null && _f !== void 0 ? _f : this.DefaultGroupPaddingPercentage).value;
|
|
1695
|
+
categoryAxis.renderer.cellEndLocation = am4core.percent(100 - ((_g = settings.GroupPaddingPercentage) !== null && _g !== void 0 ? _g : this.DefaultGroupPaddingPercentage)).value;
|
|
1857
1696
|
categoryAxis.renderer.grid.template.location = 0;
|
|
1858
|
-
categoryAxis.renderer.minGridDistance = (
|
|
1697
|
+
categoryAxis.renderer.minGridDistance = (_h = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _h !== void 0 ? _h : 30;
|
|
1859
1698
|
let label = categoryAxis.renderer.labels.template;
|
|
1860
1699
|
label.truncate = true;
|
|
1861
|
-
label.maxWidth = (
|
|
1700
|
+
label.maxWidth = (_j = settings.LabelWidth) !== null && _j !== void 0 ? _j : this.LabelWidth;
|
|
1862
1701
|
label.tooltipText = "{category}";
|
|
1863
1702
|
if ((settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) == null ? true : settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) {
|
|
1864
1703
|
categoryAxis.events.on("sizechanged", (ev) => {
|
|
@@ -1882,23 +1721,78 @@ class VerticalChartService {
|
|
|
1882
1721
|
}
|
|
1883
1722
|
});
|
|
1884
1723
|
}
|
|
1885
|
-
|
|
1886
|
-
let
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1724
|
+
let dataPreConverted = this.Adapter ? this.Adapter.adaptDataForVertical2DChart(data) : data;
|
|
1725
|
+
let dataConverted = [];
|
|
1726
|
+
for (let i = 0; i < dataPreConverted.groups.length; i++) {
|
|
1727
|
+
let item = dataPreConverted.groups[i];
|
|
1728
|
+
let obj = { key: item.name };
|
|
1729
|
+
for (let p = 0; p < item.values.length; p++) {
|
|
1730
|
+
let value = item.values[p];
|
|
1731
|
+
obj[value.k] = value.v;
|
|
1732
|
+
}
|
|
1733
|
+
dataConverted.push(obj);
|
|
1734
|
+
}
|
|
1735
|
+
ChartInstanceCasted.data = dataConverted;
|
|
1736
|
+
if (dataPreConverted.colorInfos)
|
|
1737
|
+
ChartInstanceCasted.colors.list = dataPreConverted.colorInfos.map(c => am4core.color(c.color));
|
|
1738
|
+
//Prendo la prima categoria e mi baso sulle proprietà per dfeinire le serie
|
|
1739
|
+
for (let prop in dataConverted[0])
|
|
1740
|
+
if (prop !== "key")
|
|
1741
|
+
this.createSeries(ChartInstanceCasted, settings, prop, prop);
|
|
1896
1742
|
return this;
|
|
1897
1743
|
}
|
|
1898
1744
|
/** @ignore */
|
|
1899
1745
|
refreshData(data) {
|
|
1900
1746
|
//TODO:IMPL
|
|
1901
1747
|
}
|
|
1748
|
+
/** @ignore */
|
|
1749
|
+
createSeries(chart, settings, value, name) {
|
|
1750
|
+
var _a;
|
|
1751
|
+
let series = chart.series.push(new am4charts.ColumnSeries());
|
|
1752
|
+
series.dataFields.valueY = value;
|
|
1753
|
+
series.dataFields.categoryX = 'key';
|
|
1754
|
+
series.name = name;
|
|
1755
|
+
series.columns.template.tooltipText = "{name} {categoryX}: [bold]{valueY}[/]";
|
|
1756
|
+
series.columns.template.fillOpacity = .8;
|
|
1757
|
+
series.columns.template.width = am4core.percent((_a = settings.ColumnWidthPercentage) !== null && _a !== void 0 ? _a : this.DefaultColumnWidthPercentage);
|
|
1758
|
+
series.events.on("hidden", () => this.arrangeColumns);
|
|
1759
|
+
series.events.on("shown", () => this.arrangeColumns);
|
|
1760
|
+
return series;
|
|
1761
|
+
}
|
|
1762
|
+
/** @ignore */
|
|
1763
|
+
arrangeColumns() {
|
|
1764
|
+
let ChartInstanceCasted = this.ChartInstance;
|
|
1765
|
+
let series = ChartInstanceCasted.series.getIndex(0);
|
|
1766
|
+
let xAxis = ChartInstanceCasted.xAxes.getIndex(0);
|
|
1767
|
+
let w = 1 - xAxis.renderer.cellStartLocation - (1 - xAxis.renderer.cellEndLocation);
|
|
1768
|
+
if (series.dataItems.length > 1) {
|
|
1769
|
+
let x0 = xAxis.getX(series.dataItems.getIndex(0), "categoryX");
|
|
1770
|
+
let x1 = xAxis.getX(series.dataItems.getIndex(1), "categoryX");
|
|
1771
|
+
let delta = ((x1 - x0) / ChartInstanceCasted.series.length) * w;
|
|
1772
|
+
if (am4core.isNumber(delta)) {
|
|
1773
|
+
let middle = ChartInstanceCasted.series.length / 2;
|
|
1774
|
+
let newIndex = 0;
|
|
1775
|
+
ChartInstanceCasted.series.each((series) => {
|
|
1776
|
+
if (!series.isHidden && !series.isHiding) {
|
|
1777
|
+
series.dummyData = newIndex;
|
|
1778
|
+
newIndex++;
|
|
1779
|
+
}
|
|
1780
|
+
else {
|
|
1781
|
+
series.dummyData = ChartInstanceCasted.series.indexOf(series);
|
|
1782
|
+
}
|
|
1783
|
+
});
|
|
1784
|
+
let visibleCount = newIndex;
|
|
1785
|
+
let newMiddle = visibleCount / 2;
|
|
1786
|
+
ChartInstanceCasted.series.each((series) => {
|
|
1787
|
+
let trueIndex = ChartInstanceCasted.series.indexOf(series);
|
|
1788
|
+
let newIndex = series.dummyData;
|
|
1789
|
+
let dx = (newIndex - trueIndex + middle - newMiddle) * delta;
|
|
1790
|
+
series.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
|
|
1791
|
+
series.bulletsContainer.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
|
|
1792
|
+
});
|
|
1793
|
+
}
|
|
1794
|
+
}
|
|
1795
|
+
}
|
|
1902
1796
|
}
|
|
1903
1797
|
|
|
1904
1798
|
/**
|
|
@@ -2026,6 +1920,139 @@ class VerticalStackedChartService {
|
|
|
2026
1920
|
}
|
|
2027
1921
|
}
|
|
2028
1922
|
|
|
1923
|
+
/**
|
|
1924
|
+
* Classe il cui unico scopo è gestire il setup e rendering di un AreaChart
|
|
1925
|
+
*/
|
|
1926
|
+
class AreaChartService {
|
|
1927
|
+
/** @ignore */
|
|
1928
|
+
constructor(Adapter) {
|
|
1929
|
+
this.Adapter = Adapter;
|
|
1930
|
+
//******************** Funzione di throttling per non spammare richieste in caso di animazioni attivate
|
|
1931
|
+
//TODO: spostarla in un metodo di utilità (esfaenza/extensions)
|
|
1932
|
+
/** @ignore */
|
|
1933
|
+
this.executionTimers = {};
|
|
1934
|
+
}
|
|
1935
|
+
/**
|
|
1936
|
+
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un AreaChart
|
|
1937
|
+
*/
|
|
1938
|
+
graphicate(data, settings) {
|
|
1939
|
+
var _a, _b, _c, _d, _e, _f;
|
|
1940
|
+
if (settings.Timeline) {
|
|
1941
|
+
console.error("Timeline not supported for area chart");
|
|
1942
|
+
return null;
|
|
1943
|
+
}
|
|
1944
|
+
let dataConverted = this.Adapter ? this.Adapter.adaptDataForAreaChart(data) : data;
|
|
1945
|
+
let showTicks = settings.ShowTicks == null ? true : settings === null || settings === void 0 ? void 0 : settings.ShowTicks;
|
|
1946
|
+
let interval = dataConverted.interval;
|
|
1947
|
+
//Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
|
|
1948
|
+
am4core.options.autoDispose = true;
|
|
1949
|
+
this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
|
|
1950
|
+
let ChartInstanceCasted = this.ChartInstance;
|
|
1951
|
+
if (settings.Legend) {
|
|
1952
|
+
ChartInstanceCasted.legend = new am4charts.Legend();
|
|
1953
|
+
ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
|
|
1954
|
+
ChartInstanceCasted.legend.itemContainers.template.tooltipText = "{category}";
|
|
1955
|
+
if (settings.LegendPadding) {
|
|
1956
|
+
let template = this.ChartInstance.legend.itemContainers.template;
|
|
1957
|
+
template.paddingTop = (_b = settings.LegendPadding.top) !== null && _b !== void 0 ? _b : 0;
|
|
1958
|
+
template.paddingBottom = (_c = settings.LegendPadding.bottom) !== null && _c !== void 0 ? _c : 0;
|
|
1959
|
+
template.paddingLeft = (_d = settings.LegendPadding.left) !== null && _d !== void 0 ? _d : 0;
|
|
1960
|
+
template.paddingRight = (_e = settings.LegendPadding.right) !== null && _e !== void 0 ? _e : 0;
|
|
1961
|
+
}
|
|
1962
|
+
}
|
|
1963
|
+
let yAxis = ChartInstanceCasted.yAxes.push(new am4charts.ValueAxis());
|
|
1964
|
+
yAxis.tooltip.disabled = true;
|
|
1965
|
+
if (settings.YAxisTitle) {
|
|
1966
|
+
yAxis.title.text = settings.YAxisTitle;
|
|
1967
|
+
yAxis.title.fontWeight = "bold";
|
|
1968
|
+
}
|
|
1969
|
+
yAxis.min = 0;
|
|
1970
|
+
let dateAxis = ChartInstanceCasted.xAxes.push(new am4charts.DateAxis());
|
|
1971
|
+
dateAxis.renderer.minGridDistance = (_f = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _f !== void 0 ? _f : 50;
|
|
1972
|
+
dateAxis.startLocation = 0.5;
|
|
1973
|
+
dateAxis.endLocation = 0.5;
|
|
1974
|
+
if (settings.XAxisTitle) {
|
|
1975
|
+
dateAxis.title.text = settings.XAxisTitle;
|
|
1976
|
+
dateAxis.title.fontWeight = "bold";
|
|
1977
|
+
}
|
|
1978
|
+
if (showTicks) {
|
|
1979
|
+
dateAxis.renderer.ticks.template.disabled = false;
|
|
1980
|
+
dateAxis.renderer.ticks.template.strokeOpacity = 1;
|
|
1981
|
+
dateAxis.renderer.ticks.template.stroke = am4core.color("#495C43");
|
|
1982
|
+
dateAxis.renderer.ticks.template.strokeWidth = 2;
|
|
1983
|
+
dateAxis.renderer.ticks.template.length = 10;
|
|
1984
|
+
dateAxis.renderer.ticks.template.location = 0;
|
|
1985
|
+
}
|
|
1986
|
+
if (!!interval)
|
|
1987
|
+
dateAxis.baseInterval = { count: interval.count, timeUnit: interval.timeunit };
|
|
1988
|
+
// Unisco il dataset e tiro fuori i dati
|
|
1989
|
+
let chartData = [];
|
|
1990
|
+
let seriesToMakeCache = {};
|
|
1991
|
+
let seriesToMake = [];
|
|
1992
|
+
for (let i = 0; i < dataConverted.groups.length; i++) {
|
|
1993
|
+
let group = dataConverted.groups[i];
|
|
1994
|
+
let dataItem = { date: group.name };
|
|
1995
|
+
for (let ii = 0; ii < group.values.length; ii++) {
|
|
1996
|
+
let val = group.values[ii];
|
|
1997
|
+
dataItem[val.k] = val.v;
|
|
1998
|
+
if (!seriesToMakeCache[val.k]) {
|
|
1999
|
+
seriesToMakeCache[val.k] = true;
|
|
2000
|
+
seriesToMake.push(val.k);
|
|
2001
|
+
}
|
|
2002
|
+
}
|
|
2003
|
+
chartData.push(dataItem);
|
|
2004
|
+
}
|
|
2005
|
+
ChartInstanceCasted.data = chartData;
|
|
2006
|
+
//---------------------------------------------------------
|
|
2007
|
+
seriesToMake.forEach(s => { this.createSeries(ChartInstanceCasted, s); });
|
|
2008
|
+
ChartInstanceCasted.cursor = new am4charts.XYCursor();
|
|
2009
|
+
ChartInstanceCasted.cursor.xAxis = dateAxis;
|
|
2010
|
+
dateAxis.events.on("startchanged", t => this.emitSelectionChanged(t, settings));
|
|
2011
|
+
dateAxis.events.on("endchanged", t => this.emitSelectionChanged(t, settings));
|
|
2012
|
+
return this;
|
|
2013
|
+
}
|
|
2014
|
+
/** @ignore */
|
|
2015
|
+
refreshData(data) {
|
|
2016
|
+
//TODO:IMPL
|
|
2017
|
+
}
|
|
2018
|
+
/** @ignore */
|
|
2019
|
+
emitSelectionChanged(ev, settings) {
|
|
2020
|
+
if (settings.OnSelectionChangedCallback) {
|
|
2021
|
+
this.throttla("selchange", () => {
|
|
2022
|
+
var axis = ev.target;
|
|
2023
|
+
var start = new Date(axis.minZoomed);
|
|
2024
|
+
var end = new Date(axis.maxZoomed);
|
|
2025
|
+
var initial = axis.min == axis.minZoomed && axis.max == axis.maxZoomed;
|
|
2026
|
+
settings.OnSelectionChangedCallback({ from: start, to: end, initial: initial });
|
|
2027
|
+
}, 150);
|
|
2028
|
+
}
|
|
2029
|
+
}
|
|
2030
|
+
/** @ignore */
|
|
2031
|
+
createSeries(chart, name) {
|
|
2032
|
+
let series = chart.series.push(new am4charts.LineSeries());
|
|
2033
|
+
series.dataFields.dateX = "date";
|
|
2034
|
+
series.name = name[0].toUpperCase() + name.slice(1);
|
|
2035
|
+
series.dataFields.valueY = name;
|
|
2036
|
+
series.tooltipText = "[#000]{valueY.value}[/]";
|
|
2037
|
+
//series.tooltip.background.fill = am4core.color("#FFF");
|
|
2038
|
+
series.tooltip.getStrokeFromObject = true;
|
|
2039
|
+
series.tooltip.background.strokeWidth = 3;
|
|
2040
|
+
series.tooltip.getFillFromObject = false;
|
|
2041
|
+
series.fillOpacity = 0.6;
|
|
2042
|
+
series.strokeWidth = 2;
|
|
2043
|
+
series.stacked = true;
|
|
2044
|
+
return series;
|
|
2045
|
+
}
|
|
2046
|
+
/** @ignore */
|
|
2047
|
+
throttla(id, func, throttleTime) {
|
|
2048
|
+
//Se ho la funzione che vuole eseguire ripulisco quel timeout
|
|
2049
|
+
if (this.executionTimers[id])
|
|
2050
|
+
clearTimeout(this.executionTimers[id]);
|
|
2051
|
+
//Ricreo il timeout per eseguire quella funzione dopo throttleTime millisecondi
|
|
2052
|
+
this.executionTimers[id] = setTimeout(() => { func(); this.executionTimers[id] = null; }, throttleTime);
|
|
2053
|
+
}
|
|
2054
|
+
}
|
|
2055
|
+
|
|
2029
2056
|
/**
|
|
2030
2057
|
* Componente specifico per la graficazione di un qualsiasi tipo di grafico.
|
|
2031
2058
|
*
|
|
@@ -2099,13 +2126,13 @@ class EsChartComponent extends BaseChartComponent {
|
|
|
2099
2126
|
}
|
|
2100
2127
|
}
|
|
2101
2128
|
}
|
|
2102
|
-
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:
|
|
2103
|
-
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:
|
|
2129
|
+
EsChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: i3.DateService }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
2130
|
+
EsChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsChartComponent, selector: "es-chart", inputs: { Type: "Type", Data: "Data", DataArray: "DataArray" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2104
2131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsChartComponent, decorators: [{
|
|
2105
2132
|
type: Component,
|
|
2106
2133
|
args: [{ selector: 'es-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
|
|
2107
2134
|
}], ctorParameters: function () {
|
|
2108
|
-
return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type:
|
|
2135
|
+
return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: i3.DateService }, { type: BaseAdapter }, { type: i0.NgZone }, { type: Object, decorators: [{
|
|
2109
2136
|
type: Inject,
|
|
2110
2137
|
args: [PLATFORM_ID]
|
|
2111
2138
|
}] }, { type: undefined, decorators: [{
|
|
@@ -2173,7 +2200,7 @@ class EsAreaChartComponent extends BaseChartComponent {
|
|
|
2173
2200
|
}
|
|
2174
2201
|
}
|
|
2175
2202
|
EsAreaChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsAreaChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
2176
|
-
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:
|
|
2203
|
+
EsAreaChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsAreaChartComponent, selector: "es-area-chart", inputs: { Data: "Data", DataArray: "DataArray" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2177
2204
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsAreaChartComponent, decorators: [{
|
|
2178
2205
|
type: Component,
|
|
2179
2206
|
args: [{ selector: 'es-area-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
|
|
@@ -2254,13 +2281,13 @@ class EsLineChartComponent extends BaseChartComponent {
|
|
|
2254
2281
|
return new LineChartService(this.adapter, this.dateService).graphicate(this.Data, settingsCasted);
|
|
2255
2282
|
}
|
|
2256
2283
|
}
|
|
2257
|
-
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:
|
|
2258
|
-
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:
|
|
2284
|
+
EsLineChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsLineChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i3.DateService }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
2285
|
+
EsLineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsLineChartComponent, selector: "es-line-chart", inputs: { Data: "Data", DataArray: "DataArray", Step: "Step", DataGroupBucketSize: "DataGroupBucketSize", DataGroupingThreshold: "DataGroupingThreshold", StrokeSize: "StrokeSize", AllowGaps: "AllowGaps", MergeDatasets: "MergeDatasets", FinalInstants: "FinalInstants", Min: "Min", Max: "Max", Fill: "Fill" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2259
2286
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsLineChartComponent, decorators: [{
|
|
2260
2287
|
type: Component,
|
|
2261
2288
|
args: [{ selector: 'es-line-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
|
|
2262
2289
|
}], ctorParameters: function () {
|
|
2263
|
-
return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: BaseAdapter }, { type:
|
|
2290
|
+
return [{ type: i0.ElementRef }, { type: ChartLoader }, { type: ChartDispatcher }, { type: BaseAdapter }, { type: i3.DateService }, { type: i0.NgZone }, { type: Object, decorators: [{
|
|
2264
2291
|
type: Inject,
|
|
2265
2292
|
args: [PLATFORM_ID]
|
|
2266
2293
|
}] }, { type: undefined, decorators: [{
|
|
@@ -2353,7 +2380,7 @@ class EsPieChartComponent extends BaseChartComponent {
|
|
|
2353
2380
|
}
|
|
2354
2381
|
}
|
|
2355
2382
|
EsPieChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsPieChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
2356
|
-
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:
|
|
2383
|
+
EsPieChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsPieChartComponent, selector: "es-pie-chart", inputs: { Data: "Data", DataArray: "DataArray", HideZeroes: "HideZeroes", Mode3D: "Mode3D", DonutRadiusPercentage: "DonutRadiusPercentage", LabelsWrap: "LabelsWrap", LabelsTruncate: "LabelsTruncate", LabelsWidth: "LabelsWidth", LabelsVisible: "LabelsVisible" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2357
2384
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsPieChartComponent, decorators: [{
|
|
2358
2385
|
type: Component,
|
|
2359
2386
|
args: [{ selector: 'es-pie-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
|
|
@@ -2444,7 +2471,7 @@ class EsVertical2DChartComponent extends BaseChartComponent {
|
|
|
2444
2471
|
}
|
|
2445
2472
|
}
|
|
2446
2473
|
EsVertical2DChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVertical2DChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
2447
|
-
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:
|
|
2474
|
+
EsVertical2DChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVertical2DChartComponent, selector: "es-vertical-2d-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", GroupPaddingPercentage: "GroupPaddingPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2448
2475
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVertical2DChartComponent, decorators: [{
|
|
2449
2476
|
type: Component,
|
|
2450
2477
|
args: [{ selector: 'es-vertical-2d-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
|
|
@@ -2532,7 +2559,7 @@ class EsVerticalChartComponent extends BaseChartComponent {
|
|
|
2532
2559
|
}
|
|
2533
2560
|
}
|
|
2534
2561
|
EsVerticalChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
2535
|
-
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:
|
|
2562
|
+
EsVerticalChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVerticalChartComponent, selector: "es-vertical-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2536
2563
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalChartComponent, decorators: [{
|
|
2537
2564
|
type: Component,
|
|
2538
2565
|
args: [{ selector: 'es-vertical-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
|
|
@@ -2618,7 +2645,7 @@ class EsVerticalStackedChartComponent extends BaseChartComponent {
|
|
|
2618
2645
|
}
|
|
2619
2646
|
}
|
|
2620
2647
|
EsVerticalStackedChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalStackedChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
2621
|
-
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:
|
|
2648
|
+
EsVerticalStackedChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: EsVerticalStackedChartComponent, selector: "es-vertical-stacked-chart", inputs: { Data: "Data", DataArray: "DataArray", ColumnWidthPercentage: "ColumnWidthPercentage", LabelWidth: "LabelWidth", LabelVerticalOrientationCutoffWidth: "LabelVerticalOrientationCutoffWidth", LabelRightWhenCompressed: "LabelRightWhenCompressed", LabelTopWhenCompressed: "LabelTopWhenCompressed" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], components: [{ type: PageChartSelector, selector: "chart-pager", inputs: ["Items", "Dtos", "BrowseDelayMs", "StartIndex"], outputs: ["onPageChange"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2622
2649
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: EsVerticalStackedChartComponent, decorators: [{
|
|
2623
2650
|
type: Component,
|
|
2624
2651
|
args: [{ selector: 'es-vertical-stacked-chart', changeDetection: ChangeDetectionStrategy.OnPush, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"] }]
|
|
@@ -2737,5 +2764,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
2737
2764
|
* Generated bundle index. Do not edit.
|
|
2738
2765
|
*/
|
|
2739
2766
|
|
|
2740
|
-
export { AreaChartData, AreaChartSettings, BaseAdapter, BaseInterval, BaseSettings, ChartThemes, DateValue, EsAreaChartComponent, EsChartComponent, EsChartsModule, EsLineChartComponent, EsPieChartComponent, EsVertical2DChartComponent, EsVerticalChartComponent, EsVerticalStackedChartComponent, KeyValue, KeyValueColor, LegendPad, Limit, LineChartData, LineChartSettings, LineSerie, PageChartSelector, PagedChartData, PieChartData, PieChartSettings, Vertical2DChartData, Vertical2DChartSettings, VerticalChartData, VerticalChartSettings, VerticalStackedChartData, VerticalStackedChartSettings };
|
|
2767
|
+
export { AreaChartData, AreaChartSettings, BaseAdapter, BaseChartComponent, BaseInterval, BaseSettings, ChartThemes, DateValue, EsAreaChartComponent, EsChartComponent, EsChartsModule, EsLineChartComponent, EsPieChartComponent, EsVertical2DChartComponent, EsVerticalChartComponent, EsVerticalStackedChartComponent, KeyValue, KeyValueColor, LegendPad, Limit, LineChartData, LineChartSettings, LineSerie, PageChartSelector, PagedChartData, PieChartData, PieChartSettings, Vertical2DChartData, Vertical2DChartSettings, VerticalChartData, VerticalChartSettings, VerticalStackedChartData, VerticalStackedChartSettings };
|
|
2741
2768
|
//# sourceMappingURL=esfaenza-es-charts.mjs.map
|