@esfaenza/es-charts 13.3.3 → 13.3.4
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/components/specializations/es-line-chart.component.mjs +6 -3
- package/esm2020/lib/models/data/Vertical2DChartData.mjs +5 -5
- package/esm2020/lib/models/data/VerticalChartData.mjs +2 -2
- package/esm2020/lib/models/data/VerticalStackedChartData.mjs +2 -2
- package/esm2020/lib/models/data/base/KeyValueColor.mjs +3 -2
- package/esm2020/lib/models/data/base/LineSerie.mjs +6 -2
- package/esm2020/lib/models/settings/LineChartSettings.mjs +1 -1
- package/esm2020/lib/services/LineChartService.mjs +28 -21
- package/esm2020/lib/services/Vertical2DChartService.mjs +3 -3
- package/esm2020/lib/services/VerticalChartService.mjs +14 -6
- package/fesm2015/esfaenza-es-charts.mjs +63 -40
- package/fesm2015/esfaenza-es-charts.mjs.map +1 -1
- package/fesm2020/esfaenza-es-charts.mjs +60 -37
- package/fesm2020/esfaenza-es-charts.mjs.map +1 -1
- package/lib/components/specializations/es-line-chart.component.d.ts +5 -1
- package/lib/models/data/Vertical2DChartData.d.ts +6 -4
- package/lib/models/data/VerticalChartData.d.ts +4 -4
- package/lib/models/data/VerticalStackedChartData.d.ts +3 -1
- package/lib/models/data/base/KeyValueColor.d.ts +2 -1
- package/lib/models/data/base/LineSerie.d.ts +5 -1
- package/lib/models/settings/LineChartSettings.d.ts +4 -0
- package/lib/services/LineChartService.d.ts +2 -0
- package/package.json +1 -1
|
@@ -107,12 +107,12 @@ class Vertical2DChartData {
|
|
|
107
107
|
/**
|
|
108
108
|
* Costruttore
|
|
109
109
|
*
|
|
110
|
-
* @param {{ name: string; values: KeyValue[]
|
|
111
|
-
* @param {{ color: string }[]}
|
|
110
|
+
* @param {{ name: string; values: KeyValue[];, uom: string }[]} groups Gruppi di valori raggruppati per nome
|
|
111
|
+
* @param {{ color: string }[]} colorinfos Lista dei colori da utilizzare. Vanno a sovrascrivere quelli di default di amcharts
|
|
112
112
|
*/
|
|
113
|
-
constructor(groups = [],
|
|
113
|
+
constructor(groups = [], colorinfos) {
|
|
114
114
|
this.groups = groups;
|
|
115
|
-
this.
|
|
115
|
+
this.colorinfos = colorinfos;
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
118
|
|
|
@@ -123,7 +123,7 @@ class VerticalChartData {
|
|
|
123
123
|
/**
|
|
124
124
|
* Costruttore
|
|
125
125
|
*
|
|
126
|
-
* @param {
|
|
126
|
+
* @param {KeyValueColor[]} values Lista di Chiave-Valore-Colore che rappresentano ognuno una colonna
|
|
127
127
|
*/
|
|
128
128
|
constructor(values = []) {
|
|
129
129
|
this.values = values;
|
|
@@ -137,7 +137,7 @@ class VerticalStackedChartData {
|
|
|
137
137
|
/**
|
|
138
138
|
* Costruttore
|
|
139
139
|
*
|
|
140
|
-
* @param {{ name: string; values: KeyValue[]
|
|
140
|
+
* @param {{ name: string; values: KeyValue[], uom: string }[]} groups Gruppi di valori raggruppati per nome
|
|
141
141
|
*/
|
|
142
142
|
constructor(groups = []) {
|
|
143
143
|
this.groups = groups;
|
|
@@ -261,10 +261,11 @@ class KeyValue {
|
|
|
261
261
|
*/
|
|
262
262
|
class KeyValueColor {
|
|
263
263
|
/** @ignore */
|
|
264
|
-
constructor(k, v, c) {
|
|
264
|
+
constructor(k, v, c, t) {
|
|
265
265
|
this.k = k;
|
|
266
266
|
this.v = v;
|
|
267
267
|
this.c = c;
|
|
268
|
+
this.t = t;
|
|
268
269
|
}
|
|
269
270
|
}
|
|
270
271
|
|
|
@@ -281,14 +282,18 @@ class LineSerie {
|
|
|
281
282
|
* @param {string} color Colore della serie, verrà usato sia per la linea base che eventualmente per il riempimento (in caso si utilizzi l'Input **Fill** nel grafico)
|
|
282
283
|
* @param {string} uom Unità di misura da presentare nell'asse delle Y
|
|
283
284
|
* @param {boolean} fill Override della proprietà **Fill** del grafico, specifico per ogni serie
|
|
285
|
+
* @param {boolean} stacked Override della proprietà **Stacked** del grafico, specifico per ogni serie
|
|
286
|
+
* @param {boolean} hidden Indica se la serie deve partire nascosta di default
|
|
284
287
|
*/
|
|
285
|
-
constructor(name, values, interval, color, uom, fill) {
|
|
288
|
+
constructor(name, values, interval, color, uom, fill, stacked, hidden) {
|
|
286
289
|
this.name = name;
|
|
287
290
|
this.values = values;
|
|
288
291
|
this.interval = interval;
|
|
289
292
|
this.color = color;
|
|
290
293
|
this.uom = uom;
|
|
291
294
|
this.fill = fill;
|
|
295
|
+
this.stacked = stacked;
|
|
296
|
+
this.hidden = hidden;
|
|
292
297
|
}
|
|
293
298
|
}
|
|
294
299
|
|
|
@@ -1107,6 +1112,8 @@ class LineChartService {
|
|
|
1107
1112
|
/** @ignore */
|
|
1108
1113
|
this.OpacityOnSelected = 0.3;
|
|
1109
1114
|
/** @ignore */
|
|
1115
|
+
this.OpacityOnFill = 0.75;
|
|
1116
|
+
/** @ignore */
|
|
1110
1117
|
this.singleDataSet = false;
|
|
1111
1118
|
//******************** Funzione di throttling per non spammare richieste in caso di animazioni attivate
|
|
1112
1119
|
//TODO: spostarla in un metodo di utilità (esfaenza/extensions)
|
|
@@ -1222,15 +1229,8 @@ class LineChartService {
|
|
|
1222
1229
|
let seriesToPush = [];
|
|
1223
1230
|
let seriesColors = [];
|
|
1224
1231
|
let defaultIndex = 0;
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
this.ChartInstance.data = this.generateSingleDataset(dataConverted);
|
|
1228
|
-
;
|
|
1229
|
-
dateAxis.cursorTooltipEnabled = false;
|
|
1230
|
-
}
|
|
1231
|
-
//-- Fine generazione
|
|
1232
|
-
dataConverted.series.forEach((s, index) => {
|
|
1233
|
-
var _a, _b, _c;
|
|
1232
|
+
// Ordinamento dei dati se serve
|
|
1233
|
+
dataConverted.series.forEach((s) => {
|
|
1234
1234
|
if (s.values[0] && !(s.values[0].d instanceof Date)) {
|
|
1235
1235
|
for (let v = 0; v < s.values.length; v++)
|
|
1236
1236
|
s.values[v].d = new Date(s.values[v].d);
|
|
@@ -1247,21 +1247,32 @@ class LineChartService {
|
|
|
1247
1247
|
}
|
|
1248
1248
|
if (!correctOrder)
|
|
1249
1249
|
s.values.sort((d1, d2) => d1.d.getTime() - d2.d.getTime());
|
|
1250
|
-
|
|
1250
|
+
});
|
|
1251
|
+
// Generazione di un unico dataset invece che N, per poter gestire un unico tooltip
|
|
1252
|
+
if (this.singleDataSet) {
|
|
1253
|
+
this.ChartInstance.data = this.generateSingleDataset(dataConverted);
|
|
1254
|
+
;
|
|
1255
|
+
dateAxis.cursorTooltipEnabled = false;
|
|
1256
|
+
}
|
|
1257
|
+
dataConverted.series.forEach((s, index) => {
|
|
1258
|
+
var _a, _b, _c, _d;
|
|
1259
|
+
let stacked = s.stacked != null && s.stacked != undefined ? s.stacked : ((_a = settings === null || settings === void 0 ? void 0 : settings.Stacked) !== null && _a !== void 0 ? _a : false);
|
|
1260
|
+
let fill = stacked || (s.fill != null && s.fill != undefined ? s.fill : ((_b = settings === null || settings === void 0 ? void 0 : settings.Fill) !== null && _b !== void 0 ? _b : false));
|
|
1251
1261
|
let series = (settings === null || settings === void 0 ? void 0 : settings.Step) ? new am4charts.StepLineSeries() : new am4charts.LineSeries();
|
|
1252
1262
|
series.dataFields.valueY = "v" + (this.singleDataSet ? index : "");
|
|
1253
1263
|
series.dataFields.dateX = "d";
|
|
1254
|
-
series.
|
|
1264
|
+
series.measureUnit = s.uom;
|
|
1255
1265
|
series.name = s.name;
|
|
1256
|
-
series.strokeWidth = (
|
|
1266
|
+
series.strokeWidth = (_c = settings === null || settings === void 0 ? void 0 : settings.StrokeSize) !== null && _c !== void 0 ? _c : 1;
|
|
1257
1267
|
series.connect = !gapsAllowed;
|
|
1258
1268
|
series.minBulletDistance = 10;
|
|
1259
1269
|
series.tooltipText = this.singleDataSet ? "" : s.name ? "{name}: [bold]{valueY}[/]" : "[bold]{valueY}[/]";
|
|
1260
1270
|
series.tooltip.pointerOrientation = "vertical";
|
|
1261
1271
|
series.tooltip.background.fillOpacity = 0.5;
|
|
1262
1272
|
series.tooltip.label.padding(12, 12, 12, 12);
|
|
1263
|
-
series.fillOpacity = fill ?
|
|
1264
|
-
series.stacked =
|
|
1273
|
+
series.fillOpacity = fill ? this.OpacityOnFill : 0.0001;
|
|
1274
|
+
series.stacked = stacked;
|
|
1275
|
+
series.hidden = s.hidden;
|
|
1265
1276
|
//Dataset singolo, i dati sono registrati a livello di chart, creo il tooltip che permette di vederli tutti insieme
|
|
1266
1277
|
//altrimenti assegno i dati della serie direttamente alla serie
|
|
1267
1278
|
if (this.singleDataSet) {
|
|
@@ -1272,7 +1283,7 @@ class LineChartService {
|
|
|
1272
1283
|
series.tooltip.hiddenState.transitionDuration = 0;
|
|
1273
1284
|
//Utilizzo il mio dateService per la formattazione della data in modo che non debba mai gestire n formati fra n librerie... bellissimo
|
|
1274
1285
|
series.dateFormatter.format = (source) => {
|
|
1275
|
-
if (interval && finalInstant) {
|
|
1286
|
+
if (interval && finalInstant && ["hour", "minute", "second"].includes(interval.timeunit)) {
|
|
1276
1287
|
let timepart = null;
|
|
1277
1288
|
switch (interval.timeunit) {
|
|
1278
1289
|
case "hour":
|
|
@@ -1289,12 +1300,12 @@ class LineChartService {
|
|
|
1289
1300
|
return this.dateExts.adjustDateToFinalInstant(source, timepart, interval ? interval.timeunit == "second" : false);
|
|
1290
1301
|
}
|
|
1291
1302
|
else
|
|
1292
|
-
return this.dateExts.getFormatted(source, false, interval ? interval.timeunit == "second" : false);
|
|
1303
|
+
return this.dateExts.getFormatted(source, interval ? ["day", "week", "month", "year"].includes(interval.timeunit) : false, interval ? interval.timeunit == "second" : false);
|
|
1293
1304
|
};
|
|
1294
1305
|
series.adapter.add("tooltipText", () => {
|
|
1295
1306
|
var text = "[bold]{dateX.formatDate()}[/]\n";
|
|
1296
1307
|
this.ChartInstance.series.each((item) => {
|
|
1297
|
-
let uom = " [font-style: italic]" + series.
|
|
1308
|
+
let uom = " [font-style: italic]" + series.measureUnit || "" + "[/]";
|
|
1298
1309
|
text += "[" + item.stroke.hex + "]●[/] " + (item.name ? (item.name + ": ") : "") + "[bold]{" + item.dataFields.valueY + "}[/]" + uom + "\n";
|
|
1299
1310
|
});
|
|
1300
1311
|
return text;
|
|
@@ -1304,7 +1315,7 @@ class LineChartService {
|
|
|
1304
1315
|
series.data = s.values;
|
|
1305
1316
|
let segment = series.segments.template;
|
|
1306
1317
|
let hoverState = segment.states.create("hover");
|
|
1307
|
-
hoverState.properties.strokeWidth = ((
|
|
1318
|
+
hoverState.properties.strokeWidth = ((_d = settings === null || settings === void 0 ? void 0 : settings.StrokeSize) !== null && _d !== void 0 ? _d : 1) + 1;
|
|
1308
1319
|
let dimmed = segment.states.create("dimmed");
|
|
1309
1320
|
dimmed.properties.stroke = am4core.color("#dadada");
|
|
1310
1321
|
//Se la serie ha un colore, uso quello, altrimenti pesco dai colori di default andando in ordine
|
|
@@ -1416,8 +1427,8 @@ class LineChartService {
|
|
|
1416
1427
|
}
|
|
1417
1428
|
/** @ignore */
|
|
1418
1429
|
processOver(hoveredSeries) {
|
|
1419
|
-
hoveredSeries.
|
|
1420
|
-
let fill = hoveredSeries.
|
|
1430
|
+
hoveredSeries.zIndex = 999;
|
|
1431
|
+
let fill = hoveredSeries.fillOpacity == this.OpacityOnFill;
|
|
1421
1432
|
hoveredSeries.segments.each((segment) => {
|
|
1422
1433
|
segment.setState("hover");
|
|
1423
1434
|
if (!fill)
|
|
@@ -1427,7 +1438,7 @@ class LineChartService {
|
|
|
1427
1438
|
hoveredSeries.legendDataItem.marker.children.getIndex(1).fillOpacity = this.OpacityOnSelected;
|
|
1428
1439
|
this.ChartInstance.series.each((series) => {
|
|
1429
1440
|
if (series != hoveredSeries) {
|
|
1430
|
-
let fill = series.
|
|
1441
|
+
let fill = series.fillOpacity == this.OpacityOnFill;
|
|
1431
1442
|
series.segments.each((segment) => {
|
|
1432
1443
|
segment.setState("dimmed");
|
|
1433
1444
|
if (!fill)
|
|
@@ -1438,8 +1449,9 @@ class LineChartService {
|
|
|
1438
1449
|
}
|
|
1439
1450
|
/** @ignore */
|
|
1440
1451
|
processOut() {
|
|
1441
|
-
this.ChartInstance.series.each((series) => {
|
|
1442
|
-
|
|
1452
|
+
this.ChartInstance.series.each((series, i) => {
|
|
1453
|
+
series.zIndex = i;
|
|
1454
|
+
let fill = series.fillOpacity == this.OpacityOnFill;
|
|
1443
1455
|
series.segments.each((segment) => {
|
|
1444
1456
|
segment.setState("default");
|
|
1445
1457
|
if (!fill)
|
|
@@ -1605,6 +1617,7 @@ class VerticalChartService {
|
|
|
1605
1617
|
let ChartInstanceCasted = this.ChartInstance;
|
|
1606
1618
|
let dataConverted = this.Adapter ? this.Adapter.adaptDataForVerticalChart(data) : data;
|
|
1607
1619
|
ChartInstanceCasted.data = dataConverted.values;
|
|
1620
|
+
let noStrokes = dataConverted.values.some(t => !!t.c);
|
|
1608
1621
|
if (settings.Legend) {
|
|
1609
1622
|
ChartInstanceCasted.legend = new am4charts.Legend();
|
|
1610
1623
|
ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
|
|
@@ -1661,12 +1674,19 @@ class VerticalChartService {
|
|
|
1661
1674
|
series.dataFields.valueY = "v";
|
|
1662
1675
|
series.dataFields.categoryX = "k";
|
|
1663
1676
|
series.name = "";
|
|
1664
|
-
series.columns.template.tooltipText = "{categoryX}: [bold]{valueY}[/]";
|
|
1665
|
-
series.columns.template.fillOpacity = .8;
|
|
1666
|
-
series.columns.template.width = am4core.percent((_h = settings.ColumnWidthPercentage) !== null && _h !== void 0 ? _h : this.DefaultColumnWidthPercentage);
|
|
1667
1677
|
let columnTemplate = series.columns.template;
|
|
1668
|
-
columnTemplate.
|
|
1669
|
-
columnTemplate.
|
|
1678
|
+
columnTemplate.tooltipText = "{categoryX}: [bold]{valueY}[/] {t}";
|
|
1679
|
+
columnTemplate.fillOpacity = .8;
|
|
1680
|
+
columnTemplate.width = am4core.percent((_h = settings.ColumnWidthPercentage) !== null && _h !== void 0 ? _h : this.DefaultColumnWidthPercentage);
|
|
1681
|
+
if (noStrokes) {
|
|
1682
|
+
columnTemplate.strokeOpacity = 0;
|
|
1683
|
+
columnTemplate.strokeWidth = 0;
|
|
1684
|
+
columnTemplate.adapter.add("fill", (_, target) => am4core.color(target.dataItem.dataContext.c));
|
|
1685
|
+
}
|
|
1686
|
+
else {
|
|
1687
|
+
columnTemplate.strokeWidth = 2;
|
|
1688
|
+
columnTemplate.strokeOpacity = 1;
|
|
1689
|
+
}
|
|
1670
1690
|
return this;
|
|
1671
1691
|
}
|
|
1672
1692
|
/** @ignore */
|
|
@@ -1777,8 +1797,8 @@ class Vertical2DChartService {
|
|
|
1777
1797
|
dataConverted.push(obj);
|
|
1778
1798
|
}
|
|
1779
1799
|
ChartInstanceCasted.data = dataConverted;
|
|
1780
|
-
if (dataPreConverted.
|
|
1781
|
-
ChartInstanceCasted.colors.list = dataPreConverted.
|
|
1800
|
+
if (dataPreConverted.colorinfos)
|
|
1801
|
+
ChartInstanceCasted.colors.list = dataPreConverted.colorinfos.map(c => am4core.color(c.color));
|
|
1782
1802
|
//Prendo la prima categoria e mi baso sulle proprietà per dfeinire le serie
|
|
1783
1803
|
for (let prop in dataConverted[0])
|
|
1784
1804
|
if (prop !== "key")
|
|
@@ -2296,7 +2316,7 @@ class EsLineChartComponent extends BaseChartComponent {
|
|
|
2296
2316
|
* Ottiene le proprietà specifiche per questa tipologia di grafico per cui serve rigraficare
|
|
2297
2317
|
*/
|
|
2298
2318
|
getSpecificPropertiesToCheck() {
|
|
2299
|
-
return ["Data", "DataArray", "Step", "DataGroupBucketSize", "DataGroupingThreshold", "StrokeSize", "AllowGaps", "MergeDatasets", "FinalInstants", "Fill", "Min", "Max"];
|
|
2319
|
+
return ["Data", "DataArray", "Step", "DataGroupBucketSize", "DataGroupingThreshold", "StrokeSize", "Stacked", "AllowGaps", "MergeDatasets", "FinalInstants", "Fill", "Min", "Max"];
|
|
2300
2320
|
}
|
|
2301
2321
|
/**
|
|
2302
2322
|
* Ottiene i Settings (Ereditati dalla classe base, quindi del tipo generico **BaseSettings**) castati al tipo specifico per questo grafico
|
|
@@ -2323,6 +2343,7 @@ class EsLineChartComponent extends BaseChartComponent {
|
|
|
2323
2343
|
settingsCasted.Min = settingsCasted.Min != null ? settingsCasted.Min : this.Min;
|
|
2324
2344
|
settingsCasted.Max = settingsCasted.Max != null ? settingsCasted.Max : this.Max;
|
|
2325
2345
|
settingsCasted.Fill = settingsCasted.Fill != null ? settingsCasted.Fill : this.Fill;
|
|
2346
|
+
settingsCasted.Stacked = settingsCasted.Stacked != null ? settingsCasted.Stacked : this.Stacked;
|
|
2326
2347
|
}
|
|
2327
2348
|
/**
|
|
2328
2349
|
* Effettua il rendering di questo grafico in base ai Settings
|
|
@@ -2335,7 +2356,7 @@ class EsLineChartComponent extends BaseChartComponent {
|
|
|
2335
2356
|
}
|
|
2336
2357
|
}
|
|
2337
2358
|
EsLineChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EsLineChartComponent, deps: [{ token: i0.ElementRef }, { token: ChartLoader }, { token: ChartDispatcher }, { token: BaseAdapter }, { token: i3.DateService }, { token: i0.NgZone }, { token: PLATFORM_ID }, { token: ESC_LOGS }, { token: ESC_ANIMATIONS }, { token: ESC_LOCALE }, { token: ESC_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
2338
|
-
EsLineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", 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 });
|
|
2359
|
+
EsLineChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", 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", Stacked: "Stacked" }, usesInheritance: true, ngImport: i0, template: "<chart-pager *ngIf=\"isPaged\" (onPageChange)=\"changePage($event)\" [Items]=\"DataArray\" [Dtos]=\"DataDtos\" [StartIndex]=\"DataDtoStartIndex\"\r\n [BrowseDelayMs]=\"BrowseDelayMs\">\r\n <ng-template #header_inner let-headerItem>\r\n <ng-container *ngTemplateOutlet=\"header_tr; context : {$implicit: headerItem}\"></ng-container>\r\n </ng-template>\r\n</chart-pager>\r\n\r\n<ng-container *ngIf=\"loadingChart && loading_template\">\r\n <div style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <ng-container *ngTemplateOutlet=\"loading_template\"></ng-container>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"loadingChart && !loading_template\">\r\n <div class=\"esc-loading-overlay\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\">\r\n <p class=\"label\">Loading....</p>\r\n </div>\r\n</ng-container>\r\n\r\n<div [class.hide-block]=\"loadingChart\" id=\"{{name}}\" style=\"width: 100%;\" [style.height]=\"isPaged ? 'calc(100% - 44px)' : '100%'\"></div>", styles: [".esc-loading-overlay{background:#9999;text-transform:uppercase;font-size:30px;font-weight:700;color:#fff;text-align:center;font-family:monospace}.esc-loading-overlay .label{margin:0;padding-top:7%}.hide-block{display:none}\n"], 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 });
|
|
2339
2360
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: EsLineChartComponent, decorators: [{
|
|
2340
2361
|
type: Component,
|
|
2341
2362
|
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"] }]
|
|
@@ -2380,6 +2401,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
2380
2401
|
type: Input
|
|
2381
2402
|
}], Fill: [{
|
|
2382
2403
|
type: Input
|
|
2404
|
+
}], Stacked: [{
|
|
2405
|
+
type: Input
|
|
2383
2406
|
}] } });
|
|
2384
2407
|
|
|
2385
2408
|
/**
|