@esfaenza/es-charts 12.2.13 → 13.1.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/esfaenza-es-charts.d.ts +1 -6
- package/esm2020/esfaenza-es-charts.mjs +5 -0
- package/esm2020/lib/adapters/classes/BaseAdapter.mjs +50 -0
- package/{esm2015/lib/adapters/classes/IBaseAdapter.js → esm2020/lib/adapters/classes/IBaseAdapter.mjs} +0 -0
- package/{esm2015/lib/adapters/index.js → esm2020/lib/adapters/index.mjs} +0 -0
- package/esm2020/lib/components/base/base-chart.component.mjs +339 -0
- package/esm2020/lib/components/chart-pager/chart-pager.component.mjs +89 -0
- package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
- package/esm2020/lib/components/specializations/es-area-chart.component.mjs +78 -0
- package/esm2020/lib/components/specializations/es-chart.component.mjs +111 -0
- package/esm2020/lib/components/specializations/es-line-chart.component.mjs +110 -0
- package/esm2020/lib/components/specializations/es-pie-chart.component.mjs +99 -0
- package/esm2020/lib/components/specializations/es-vertical-2d-chart.component.mjs +96 -0
- package/esm2020/lib/components/specializations/es-vertical-chart.component.mjs +93 -0
- package/esm2020/lib/components/specializations/es-vertical-stacked-chart.component.mjs +93 -0
- package/esm2020/lib/es-charts.module.mjs +61 -0
- package/{esm2015/lib/models/EsChaartsModuleConfig.js → esm2020/lib/models/EsChaartsModuleConfig.mjs} +0 -0
- package/esm2020/lib/models/core/classes/ChartDispatcher.mjs +91 -0
- package/{esm2015/lib/models/core/classes/ChartLoader.js → esm2020/lib/models/core/classes/ChartLoader.mjs} +0 -0
- package/{esm2015/lib/models/core/classes/ChartThemes.js → esm2020/lib/models/core/classes/ChartThemes.mjs} +0 -0
- package/{esm2015/lib/models/core/index.js → esm2020/lib/models/core/index.mjs} +0 -0
- package/{esm2015/lib/models/data/classes/AreaChartData.js → esm2020/lib/models/data/classes/AreaChartData.mjs} +0 -0
- package/{esm2015/lib/models/data/classes/LineChartData.js → esm2020/lib/models/data/classes/LineChartData.mjs} +0 -0
- package/{esm2015/lib/models/data/classes/PagedChartData.js → esm2020/lib/models/data/classes/PagedChartData.mjs} +0 -0
- package/{esm2015/lib/models/data/classes/PieChartData.js → esm2020/lib/models/data/classes/PieChartData.mjs} +0 -0
- package/{esm2015/lib/models/data/classes/Vertical2DChartData.js → esm2020/lib/models/data/classes/Vertical2DChartData.mjs} +0 -0
- package/{esm2015/lib/models/data/classes/VerticalChartData.js → esm2020/lib/models/data/classes/VerticalChartData.mjs} +0 -0
- package/{esm2015/lib/models/data/classes/VerticalStackedChartData.js → esm2020/lib/models/data/classes/VerticalStackedChartData.mjs} +0 -0
- package/{esm2015/lib/models/data/classes/base/DateValue.js → esm2020/lib/models/data/classes/base/DateValue.mjs} +0 -0
- package/{esm2015/lib/models/data/classes/base/KeyValue.js → esm2020/lib/models/data/classes/base/KeyValue.mjs} +0 -0
- package/{esm2015/lib/models/data/classes/base/KeyValueColor.js → esm2020/lib/models/data/classes/base/KeyValueColor.mjs} +0 -0
- package/{esm2015/lib/models/data/classes/base/Limit.js → esm2020/lib/models/data/classes/base/Limit.mjs} +0 -0
- package/{esm2015/lib/models/data/classes/base/LineSerie.js → esm2020/lib/models/data/classes/base/LineSerie.mjs} +0 -0
- package/{esm2015/lib/models/data/index.js → esm2020/lib/models/data/index.mjs} +0 -0
- package/{esm2015/lib/models/settings/classes/AreaChartSettings.js → esm2020/lib/models/settings/classes/AreaChartSettings.mjs} +0 -0
- package/{esm2015/lib/models/settings/classes/LineChartSettings.js → esm2020/lib/models/settings/classes/LineChartSettings.mjs} +0 -0
- package/{esm2015/lib/models/settings/classes/PieChartSettings.js → esm2020/lib/models/settings/classes/PieChartSettings.mjs} +0 -0
- package/{esm2015/lib/models/settings/classes/Vertical2DChartSettings.js → esm2020/lib/models/settings/classes/Vertical2DChartSettings.mjs} +0 -0
- package/{esm2015/lib/models/settings/classes/VerticalChartSettings.js → esm2020/lib/models/settings/classes/VerticalChartSettings.mjs} +0 -0
- package/{esm2015/lib/models/settings/classes/VerticalStackedChartSettings.js → esm2020/lib/models/settings/classes/VerticalStackedChartSettings.mjs} +0 -0
- package/{esm2015/lib/models/settings/classes/base/BaseInterval.js → esm2020/lib/models/settings/classes/base/BaseInterval.mjs} +0 -0
- package/{esm2015/lib/models/settings/classes/base/BaseSettings.js → esm2020/lib/models/settings/classes/base/BaseSettings.mjs} +0 -0
- package/{esm2015/lib/models/settings/classes/base/LegendPad.js → esm2020/lib/models/settings/classes/base/LegendPad.mjs} +0 -0
- package/{esm2015/lib/models/settings/index.js → esm2020/lib/models/settings/index.mjs} +0 -0
- package/esm2020/lib/services/classes/AreaChartService.mjs +134 -0
- package/esm2020/lib/services/classes/LineChartService.mjs +356 -0
- package/esm2020/lib/services/classes/PieChartService.mjs +111 -0
- package/esm2020/lib/services/classes/Vertical2DChartService.mjs +160 -0
- package/esm2020/lib/services/classes/VerticalChartService.mjs +103 -0
- package/esm2020/lib/services/classes/VerticalStackedChartService.mjs +124 -0
- package/{esm2015/lib/services/classes/base/IBaseService.js → esm2020/lib/services/classes/base/IBaseService.mjs} +0 -0
- package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +0 -0
- package/{esm2015/lib/tokens.js → esm2020/lib/tokens.mjs} +0 -0
- package/esm2020/public-api.mjs +38 -0
- package/fesm2015/{esfaenza-es-charts.js → esfaenza-es-charts.mjs} +530 -384
- package/fesm2015/esfaenza-es-charts.mjs.map +1 -0
- package/fesm2020/esfaenza-es-charts.mjs +2747 -0
- package/fesm2020/esfaenza-es-charts.mjs.map +1 -0
- package/lib/adapters/classes/BaseAdapter.d.ts +3 -0
- package/lib/components/base/base-chart.component.d.ts +12 -0
- package/lib/components/chart-pager/chart-pager.component.d.ts +3 -0
- package/lib/components/specializations/es-area-chart.component.d.ts +3 -0
- package/lib/components/specializations/es-chart.component.d.ts +3 -0
- package/lib/components/specializations/es-line-chart.component.d.ts +3 -0
- package/lib/components/specializations/es-pie-chart.component.d.ts +3 -0
- package/lib/components/specializations/es-vertical-2d-chart.component.d.ts +3 -0
- package/lib/components/specializations/es-vertical-chart.component.d.ts +3 -0
- package/lib/components/specializations/es-vertical-stacked-chart.component.d.ts +3 -0
- package/lib/es-charts.module.d.ts +13 -0
- package/lib/models/core/classes/ChartDispatcher.d.ts +3 -0
- package/lib/services/classes/LineChartService.d.ts +4 -0
- package/package.json +22 -10
- package/public-api.d.ts +2 -0
- package/bundles/esfaenza-es-charts.umd.js +0 -3212
- package/bundles/esfaenza-es-charts.umd.js.map +0 -1
- package/esfaenza-es-charts.metadata.json +0 -1
- package/esm2015/esfaenza-es-charts.js +0 -11
- package/esm2015/lib/adapters/classes/BaseAdapter.js +0 -47
- package/esm2015/lib/components/base/base-chart.component.js +0 -311
- package/esm2015/lib/components/chart-pager/chart-pager.component.js +0 -84
- package/esm2015/lib/components/specializations/es-area-chart.component.js +0 -75
- package/esm2015/lib/components/specializations/es-chart.component.js +0 -108
- package/esm2015/lib/components/specializations/es-line-chart.component.js +0 -98
- package/esm2015/lib/components/specializations/es-pie-chart.component.js +0 -89
- package/esm2015/lib/components/specializations/es-vertical-2d-chart.component.js +0 -87
- package/esm2015/lib/components/specializations/es-vertical-chart.component.js +0 -85
- package/esm2015/lib/components/specializations/es-vertical-stacked-chart.component.js +0 -85
- package/esm2015/lib/es-charts.module.js +0 -42
- package/esm2015/lib/models/core/classes/ChartDispatcher.js +0 -88
- package/esm2015/lib/services/classes/AreaChartService.js +0 -135
- package/esm2015/lib/services/classes/LineChartService.js +0 -326
- package/esm2015/lib/services/classes/PieChartService.js +0 -112
- package/esm2015/lib/services/classes/Vertical2DChartService.js +0 -163
- package/esm2015/lib/services/classes/VerticalChartService.js +0 -105
- package/esm2015/lib/services/classes/VerticalStackedChartService.js +0 -127
- package/esm2015/public-api.js +0 -36
- package/fesm2015/esfaenza-es-charts.js.map +0 -1
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import * as am4core from "@amcharts/amcharts4/core";
|
|
2
|
-
import * as am4charts from "@amcharts/amcharts4/charts";
|
|
3
|
-
/**
|
|
4
|
-
* Classe il cui unico scopo è gestire il setup e rendering di un Vertical2DChart
|
|
5
|
-
*/
|
|
6
|
-
export class Vertical2DChartService {
|
|
7
|
-
/** @ignore */
|
|
8
|
-
constructor(Adapter) {
|
|
9
|
-
this.Adapter = Adapter;
|
|
10
|
-
/** @ignore */
|
|
11
|
-
this.DefaultGroupPaddingPercentage = 5;
|
|
12
|
-
/** @ignore */
|
|
13
|
-
this.dangerZone = 50;
|
|
14
|
-
/** @ignore */
|
|
15
|
-
this.LabelWidth = 150;
|
|
16
|
-
/** @ignore */
|
|
17
|
-
this.LabelRightWhenCompressed = 20;
|
|
18
|
-
/** @ignore */
|
|
19
|
-
this.LabelTopWhenCompressed = -5;
|
|
20
|
-
/** @ignore */
|
|
21
|
-
this.DefaultColumnWidthPercentage = 85;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un Vertical2DChart
|
|
25
|
-
*/
|
|
26
|
-
graphicate(data, settings) {
|
|
27
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
28
|
-
if (settings.Timeline) {
|
|
29
|
-
console.error("Timeline not supported for vertical chart");
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
//Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
|
|
33
|
-
am4core.options.autoDispose = true;
|
|
34
|
-
this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
|
|
35
|
-
let ChartInstanceCasted = this.ChartInstance;
|
|
36
|
-
if (settings.Legend) {
|
|
37
|
-
ChartInstanceCasted.legend = new am4charts.Legend();
|
|
38
|
-
ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
|
|
39
|
-
ChartInstanceCasted.legend.itemContainers.template.tooltipText = "{category}";
|
|
40
|
-
if (settings.LegendPadding) {
|
|
41
|
-
let template = this.ChartInstance.legend.itemContainers.template;
|
|
42
|
-
template.paddingTop = (_b = settings.LegendPadding.top) !== null && _b !== void 0 ? _b : 0;
|
|
43
|
-
template.paddingBottom = (_c = settings.LegendPadding.bottom) !== null && _c !== void 0 ? _c : 0;
|
|
44
|
-
template.paddingLeft = (_d = settings.LegendPadding.left) !== null && _d !== void 0 ? _d : 0;
|
|
45
|
-
template.paddingRight = (_e = settings.LegendPadding.right) !== null && _e !== void 0 ? _e : 0;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
let yAxis = ChartInstanceCasted.yAxes.push(new am4charts.ValueAxis());
|
|
49
|
-
if (settings.YAxisTitle) {
|
|
50
|
-
yAxis.title.text = settings.YAxisTitle;
|
|
51
|
-
yAxis.title.fontWeight = "bold";
|
|
52
|
-
}
|
|
53
|
-
let categoryAxis = ChartInstanceCasted.xAxes.push(new am4charts.CategoryAxis());
|
|
54
|
-
if (settings.XAxisTitle) {
|
|
55
|
-
categoryAxis.title.text = settings.XAxisTitle;
|
|
56
|
-
categoryAxis.title.fontWeight = "bold";
|
|
57
|
-
}
|
|
58
|
-
yAxis.min = 0;
|
|
59
|
-
categoryAxis.dataFields.category = 'key';
|
|
60
|
-
categoryAxis.renderer.cellStartLocation = am4core.percent((_f = settings.GroupPaddingPercentage) !== null && _f !== void 0 ? _f : this.DefaultGroupPaddingPercentage).value;
|
|
61
|
-
categoryAxis.renderer.cellEndLocation = am4core.percent(100 - ((_g = settings.GroupPaddingPercentage) !== null && _g !== void 0 ? _g : this.DefaultGroupPaddingPercentage)).value;
|
|
62
|
-
categoryAxis.renderer.grid.template.location = 0;
|
|
63
|
-
categoryAxis.renderer.minGridDistance = (_h = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _h !== void 0 ? _h : 30;
|
|
64
|
-
let label = categoryAxis.renderer.labels.template;
|
|
65
|
-
label.truncate = true;
|
|
66
|
-
label.maxWidth = (_j = settings.LabelWidth) !== null && _j !== void 0 ? _j : this.LabelWidth;
|
|
67
|
-
label.tooltipText = "{category}";
|
|
68
|
-
if ((settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) == null ? true : settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) {
|
|
69
|
-
categoryAxis.events.on("sizechanged", (ev) => {
|
|
70
|
-
var _a, _b, _c;
|
|
71
|
-
let axis = ev.target;
|
|
72
|
-
var cellWidth = axis.pixelWidth / (axis.endIndex - axis.startIndex);
|
|
73
|
-
if (cellWidth < axis.renderer.labels.template.maxWidth) {
|
|
74
|
-
let areWeInDangerZone = cellWidth < ((_a = settings === null || settings === void 0 ? void 0 : settings.LabelVerticalOrientationCutoffWidth) !== null && _a !== void 0 ? _a : this.dangerZone);
|
|
75
|
-
axis.renderer.labels.template.rotation = areWeInDangerZone ? -90 : -45;
|
|
76
|
-
axis.renderer.labels.template.dx = ((_b = settings.LabelRightWhenCompressed) !== null && _b !== void 0 ? _b : areWeInDangerZone) ? 0 : this.LabelRightWhenCompressed;
|
|
77
|
-
axis.renderer.labels.template.dy = (_c = settings.LabelTopWhenCompressed) !== null && _c !== void 0 ? _c : this.LabelTopWhenCompressed;
|
|
78
|
-
axis.renderer.labels.template.horizontalCenter = "right";
|
|
79
|
-
axis.renderer.labels.template.verticalCenter = "middle";
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
axis.renderer.labels.template.rotation = 0;
|
|
83
|
-
axis.renderer.labels.template.dx = 0;
|
|
84
|
-
axis.renderer.labels.template.dy = 0;
|
|
85
|
-
axis.renderer.labels.template.horizontalCenter = "middle";
|
|
86
|
-
axis.renderer.labels.template.verticalCenter = "top";
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
let dataPreConverted = this.Adapter ? this.Adapter.adaptDataForVertical2DChart(data) : data;
|
|
91
|
-
let dataConverted = [];
|
|
92
|
-
for (let i = 0; i < dataPreConverted.groups.length; i++) {
|
|
93
|
-
let item = dataPreConverted.groups[i];
|
|
94
|
-
let obj = { key: item.name };
|
|
95
|
-
for (let p = 0; p < item.values.length; p++) {
|
|
96
|
-
let value = item.values[p];
|
|
97
|
-
obj[value.k] = value.v;
|
|
98
|
-
}
|
|
99
|
-
dataConverted.push(obj);
|
|
100
|
-
}
|
|
101
|
-
ChartInstanceCasted.data = dataConverted;
|
|
102
|
-
if (dataPreConverted.colorInfos)
|
|
103
|
-
ChartInstanceCasted.colors.list = dataPreConverted.colorInfos.map(c => am4core.color(c.color));
|
|
104
|
-
//Prendo la prima categoria e mi baso sulle proprietà per dfeinire le serie
|
|
105
|
-
for (let prop in dataConverted[0])
|
|
106
|
-
if (prop !== "key")
|
|
107
|
-
this.createSeries(ChartInstanceCasted, settings, prop, prop);
|
|
108
|
-
return this;
|
|
109
|
-
}
|
|
110
|
-
/** @ignore */
|
|
111
|
-
refreshData(data) {
|
|
112
|
-
//TODO:IMPL
|
|
113
|
-
}
|
|
114
|
-
/** @ignore */
|
|
115
|
-
createSeries(chart, settings, value, name) {
|
|
116
|
-
var _a;
|
|
117
|
-
let series = chart.series.push(new am4charts.ColumnSeries());
|
|
118
|
-
series.dataFields.valueY = value;
|
|
119
|
-
series.dataFields.categoryX = 'key';
|
|
120
|
-
series.name = name;
|
|
121
|
-
series.columns.template.tooltipText = "{name} {categoryX}: [bold]{valueY}[/]";
|
|
122
|
-
series.columns.template.fillOpacity = .8;
|
|
123
|
-
series.columns.template.width = am4core.percent((_a = settings.ColumnWidthPercentage) !== null && _a !== void 0 ? _a : this.DefaultColumnWidthPercentage);
|
|
124
|
-
series.events.on("hidden", () => this.arrangeColumns);
|
|
125
|
-
series.events.on("shown", () => this.arrangeColumns);
|
|
126
|
-
return series;
|
|
127
|
-
}
|
|
128
|
-
/** @ignore */
|
|
129
|
-
arrangeColumns() {
|
|
130
|
-
let ChartInstanceCasted = this.ChartInstance;
|
|
131
|
-
let series = ChartInstanceCasted.series.getIndex(0);
|
|
132
|
-
let xAxis = ChartInstanceCasted.xAxes.getIndex(0);
|
|
133
|
-
let w = 1 - xAxis.renderer.cellStartLocation - (1 - xAxis.renderer.cellEndLocation);
|
|
134
|
-
if (series.dataItems.length > 1) {
|
|
135
|
-
let x0 = xAxis.getX(series.dataItems.getIndex(0), "categoryX");
|
|
136
|
-
let x1 = xAxis.getX(series.dataItems.getIndex(1), "categoryX");
|
|
137
|
-
let delta = ((x1 - x0) / ChartInstanceCasted.series.length) * w;
|
|
138
|
-
if (am4core.isNumber(delta)) {
|
|
139
|
-
let middle = ChartInstanceCasted.series.length / 2;
|
|
140
|
-
let newIndex = 0;
|
|
141
|
-
ChartInstanceCasted.series.each((series) => {
|
|
142
|
-
if (!series.isHidden && !series.isHiding) {
|
|
143
|
-
series.dummyData = newIndex;
|
|
144
|
-
newIndex++;
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
series.dummyData = ChartInstanceCasted.series.indexOf(series);
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
let visibleCount = newIndex;
|
|
151
|
-
let newMiddle = visibleCount / 2;
|
|
152
|
-
ChartInstanceCasted.series.each((series) => {
|
|
153
|
-
let trueIndex = ChartInstanceCasted.series.indexOf(series);
|
|
154
|
-
let newIndex = series.dummyData;
|
|
155
|
-
let dx = (newIndex - trueIndex + middle - newMiddle) * delta;
|
|
156
|
-
series.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
|
|
157
|
-
series.bulletsContainer.animate({ property: "dx", to: dx }, series.interpolationDuration, series.interpolationEasing);
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVydGljYWwyRENoYXJ0U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvbGliL3NlcnZpY2VzL2NsYXNzZXMvVmVydGljYWwyRENoYXJ0U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEtBQUssT0FBTyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxTQUFTLE1BQU0sNEJBQTRCLENBQUM7QUFFeEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBZ0JqQyxjQUFjO0lBQ2QsWUFBbUIsT0FBb0I7UUFBcEIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQWR2QyxjQUFjO1FBQ04sa0NBQTZCLEdBQVcsQ0FBQyxDQUFDO1FBQ2xELGNBQWM7UUFDTixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ2hDLGNBQWM7UUFDTixlQUFVLEdBQVcsR0FBRyxDQUFDO1FBQ2pDLGNBQWM7UUFDTiw2QkFBd0IsR0FBVyxFQUFFLENBQUM7UUFDOUMsY0FBYztRQUNOLDJCQUFzQixHQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzVDLGNBQWM7UUFDTixpQ0FBNEIsR0FBVyxFQUFFLENBQUM7SUFHUCxDQUFDO0lBRTVDOztPQUVHO0lBQ0ksVUFBVSxDQUFDLElBQStCLEVBQUUsUUFBaUM7O1FBRWxGLElBQUksUUFBUSxDQUFDLFFBQVEsRUFBRTtZQUNyQixPQUFPLENBQUMsS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7WUFDM0QsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELHVFQUF1RTtRQUN2RSxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFFbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RFLElBQUksbUJB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QUN6QyxJQUFJLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUMzRCxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO29CQUVoQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFFBQVEsR0FBRyxTQUFTLEdBQUcsTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQTtvQkFFNUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztvQkFDckcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztnQkFDeEgsQ0FBQyxDQUFDLENBQUE7YUFDSDtTQUNGO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUJhc2VTZXJ2aWNlIH0gZnJvbSAnLi9iYXNlL0lCYXNlU2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VBZGFwdGVyIH0gZnJvbSAnLi4vLi4vYWRhcHRlcnMnO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbDJEQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGEnO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbDJEQ2hhcnRTZXR0aW5ncyB9IGZyb20gJy4uLy4uL21vZGVscy9zZXR0aW5ncyc7XHJcblxyXG5pbXBvcnQgKiBhcyBhbTRjb3JlIGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM0L2NvcmVcIjtcclxuaW1wb3J0ICogYXMgYW00Y2hhcnRzIGZyb20gXCJAYW1jaGFydHMvYW1jaGFydHM0L2NoYXJ0c1wiO1xyXG5cclxuLyoqXHJcbiAqIENsYXNzZSBpbCBjdWkgdW5pY28gc2NvcG8gw6ggZ2VzdGlyZSBpbCBzZXR1cCBlIHJlbmRlcmluZyBkaSB1biBWZXJ0aWNhbDJEQ2hhcnRcclxuICovXHJcbmV4cG9ydCBjbGFzcyBWZXJ0aWNhbDJEQ2hhcnRTZXJ2aWNlIGltcGxlbWVudHMgSUJhc2VTZXJ2aWNlPGFtNGNoYXJ0cy5YWUNoYXJ0PntcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHB1YmxpYyBDaGFydEluc3RhbmNlOiBhbTRjaGFydHMuWFlDaGFydDtcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgRGVmYXVsdEdyb3VwUGFkZGluZ1BlcmNlbnRhZ2U6IG51bWJlciA9IDU7XHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIGRhbmdlclpvbmU6IG51bWJlciA9IDUwO1xyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJpdmF0ZSBMYWJlbFdpZHRoOiBudW1iZXIgPSAxNTA7XHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIExhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZDogbnVtYmVyID0gMjA7XHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIExhYmVsVG9wV2hlbkNvbXByZXNzZWQ6IG51bWJlciA9IC01O1xyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJpdmF0ZSBEZWZhdWx0Q29sdW1uV2lkdGhQZXJjZW50YWdlOiBudW1iZXIgPSA4NTtcclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgQWRhcHRlcjogQmFzZUFkYXB0ZXIpIHsgfVxyXG5cclxuICAvKipcclxuICAgKiBNZXRvZG8gY2hlIGRhdGEgdW5hIGNvcHBpYSBEYXRpIC0gSW1wb3N0YXppb25pIGxpIHV0aWxpenphIHBlciBjcmVhcmUgZSB2aXN1YWxpenphcmUgdW4gVmVydGljYWwyRENoYXJ0XHJcbiAgICovXHJcbiAgcHVibGljIGdyYXBoaWNhdGUoZGF0YTogVmVydGljYWwyRENoYXJ0RGF0YSB8IGFueSwgc2V0dGluZ3M6IFZlcnRpY2FsMkRDaGFydFNldHRpbmdzKTogSUJhc2VTZXJ2aWNlPGFtNGNoYXJ0cy5YWUNoYXJ0PiB7XHJcblxyXG4gICAgaWYgKHNldHRpbmdzLlRpbWVsaW5lKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJUaW1lbGluZSBub3Qgc3VwcG9ydGVkIGZvciB2ZXJ0aWNhbCBjaGFydFwiKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLy9QZXIgZXZpdGFyZSBkaSBkaW1lbnRpY2FybWVsaSBlIGdlc3RpcmUgY29tdW5xdWUgYmVuZSBnbGkgbmdpZiBlY2MuLi5cclxuICAgIGFtNGNvcmUub3B0aW9ucy5hdXRvRGlzcG9zZSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5DaGFydEluc3RhbmNlID0gYW00Y29yZS5jcmVhdGUoc2V0dGluZ3MuTmFtZSwgYW00Y2hhcnRzLlhZQ2hhcnQpO1xyXG4gICAgbGV0IENoYXJ0SW5zdGFuY2VDYXN0ZWQgPSA8YW00Y2hhcnRzLlhZQ2hhcnQ+dGhpcy5DaGFydEluc3RhbmNlO1xyXG5cclxuICAgIGlmIChzZXR0aW5ncy5MZWdlbmQpIHtcclxuICAgICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5sZWdlbmQgPSBuZXcgYW00Y2hhcnRzLkxlZ2VuZCgpO1xyXG4gICAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmxlZ2VuZC5wb3NpdGlvbiA9IHNldHRpbmdzPy5MZWdlbmRQb3NpdGlvbiA/PyAncmlnaHQnO1xyXG4gICAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmxlZ2VuZC5pdGVtQ29udGFpbmVycy50ZW1wbGF0ZS50b29sdGlwVGV4dCA9IFwie2NhdGVnb3J5fVwiO1xyXG4gICAgICBcclxuICAgICAgaWYgKHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcpIHtcclxuICAgICAgICBsZXQgdGVtcGxhdGUgPSB0aGlzLkNoYXJ0SW5zdGFuY2UubGVnZW5kLml0ZW1Db250YWluZXJzLnRlbXBsYXRlO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdUb3AgPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nLnRvcCA/PyAwO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdCb3R0b20gPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nLmJvdHRvbSA/PyAwO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdMZWZ0ID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5sZWZ0ID8/IDA7XHJcbiAgICAgICAgdGVtcGxhdGUucGFkZGluZ1JpZ2h0ID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5yaWdodCA/PyAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHlBeGlzID0gQ2hhcnRJbnN0YW5jZUNhc3RlZC55QXhlcy5wdXNoKG5ldyBhbTRjaGFydHMuVmFsdWVBeGlzKCkpO1xyXG4gICAgaWYgKHNldHRpbmdzLllBeGlzVGl0bGUpIHtcclxuICAgICAgeUF4aXMudGl0bGUudGV4dCA9IHNldHRpbmdzLllBeGlzVGl0bGVcclxuICAgICAgeUF4aXMudGl0bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xyXG4gICAgfVxyXG4gICAgbGV0IGNhdGVnb3J5QXhpczogYW00Y2hhcnRzLkNhdGVnb3J5QXhpcyA9IENoYXJ0SW5zdGFuY2VDYXN0ZWQueEF4ZXMucHVzaChuZXcgYW00Y2hhcnRzLkNhdGVnb3J5QXhpcygpKVxyXG4gICAgaWYgKHNldHRpbmdzLlhBeGlzVGl0bGUpIHtcclxuICAgICAgY2F0ZWdvcnlBeGlzLnRpdGxlLnRleHQgPSBzZXR0aW5ncy5YQXhpc1RpdGxlXHJcbiAgICAgIGNhdGVnb3J5QXhpcy50aXRsZS5mb250V2VpZ2h0ID0gXCJib2xkXCI7XHJcbiAgICB9XHJcblxyXG4gICAgeUF4aXMubWluID0gMDtcclxuICAgIGNhdGVnb3J5QXhpcy5kYXRhRmllbGRzLmNhdGVnb3J5ID0gJ2tleSdcclxuICAgIGNhdGVnb3J5QXhpcy5yZW5kZXJlci5jZWxsU3RhcnRMb2NhdGlvbiA9IGFtNGNvcmUucGVyY2VudChzZXR0aW5ncy5Hcm91cFBhZGRpbmdQZXJjZW50YWdlID8/IHRoaXMuRGVmYXVsdEdyb3VwUGFkZGluZ1BlcmNlbnRhZ2UpLnZhbHVlXHJcbiAgICBjYXRlZ29yeUF4aXMucmVuZGVyZXIuY2VsbEVuZExvY2F0aW9uID0gYW00Y29yZS5wZXJjZW50KDEwMCAtIChzZXR0aW5ncy5Hcm91cFBhZGRpbmdQZXJjZW50YWdlID8/IHRoaXMuRGVmYXVsdEdyb3VwUGFkZGluZ1BlcmNlbnRhZ2UpKS52YWx1ZVxyXG4gICAgY2F0ZWdvcnlBeGlzLnJlbmRlcmVyLmdyaWQudGVtcGxhdGUubG9jYXRpb24gPSAwO1xyXG4gICAgY2F0ZWdvcnlBeGlzLnJlbmRlcmVyLm1pbkdyaWREaXN0YW5jZSA9IHNldHRpbmdzPy5NaW5HcmlkRGlzdGFuY2UgPz8gMzA7XHJcblxyXG4gICAgbGV0IGxhYmVsID0gY2F0ZWdvcnlBeGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZTtcclxuICAgIGxhYmVsLnRydW5jYXRlID0gdHJ1ZTtcclxuICAgIGxhYmVsLm1heFdpZHRoID0gc2V0dGluZ3MuTGFiZWxXaWR0aCA/PyB0aGlzLkxhYmVsV2lkdGg7XHJcbiAgICBsYWJlbC50b29sdGlwVGV4dCA9IFwie2NhdGVnb3J5fVwiO1xyXG5cclxuICAgIGlmIChzZXR0aW5ncz8uQWRhcHRMYWJlbFNpemVBbmRPcmllbnRhdGlvbiA9PSBudWxsID8gdHJ1ZSA6IHNldHRpbmdzPy5BZGFwdExhYmVsU2l6ZUFuZE9yaWVudGF0aW9uKSB7XHJcbiAgICAgIGNhdGVnb3J5QXhpcy5ldmVudHMub24oXCJzaXplY2hhbmdlZFwiLCAoZXYpID0+IHtcclxuICAgICAgICBsZXQgYXhpcyA9IGV2LnRhcmdldDtcclxuICAgICAgICB2YXIgY2VsbFdpZHRoID0gYXhpcy5waXhlbFdpZHRoIC8gKGF4aXMuZW5kSW5kZXggLSBheGlzLnN0YXJ0SW5kZXgpO1xyXG4gICAgICAgIGlmIChjZWxsV2lkdGggPCBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5tYXhXaWR0aCkge1xyXG4gICAgICAgICAgbGV0IGFyZVdlSW5EYW5nZXJab25lID0gY2VsbFdpZHRoIDwgKHNldHRpbmdzPy5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aCA/PyB0aGlzLmRhbmdlclpvbmUpO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUucm90YXRpb24gPSBhcmVXZUluRGFuZ2VyWm9uZSA/IC05MCA6IC00NTtcclxuICAgICAgICAgIGF4aXMucmVuZGVyZXIubGFiZWxzLnRlbXBsYXRlLmR4ID0gc2V0dGluZ3MuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkID8/IGFyZVdlSW5EYW5nZXJab25lID8gMCA6IHRoaXMuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuZHkgPSBzZXR0aW5ncy5MYWJlbFRvcFdoZW5Db21wcmVzc2VkID8/IHRoaXMuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZDtcclxuICAgICAgICAgIGF4aXMucmVuZGVyZXIubGFiZWxzLnRlbXBsYXRlLmhvcml6b250YWxDZW50ZXIgPSBcInJpZ2h0XCI7XHJcbiAgICAgICAgICBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS52ZXJ0aWNhbENlbnRlciA9IFwibWlkZGxlXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUucm90YXRpb24gPSAwO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuZHggPSAwO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuZHkgPSAwO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuaG9yaXpvbnRhbENlbnRlciA9IFwibWlkZGxlXCI7XHJcbiAgICAgICAgICBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS52ZXJ0aWNhbENlbnRlciA9IFwidG9wXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZGF0YVByZUNvbnZlcnRlZDogVmVydGljYWwyRENoYXJ0RGF0YSA9IHRoaXMuQWRhcHRlciA/IHRoaXMuQWRhcHRlci5hZGFwdERhdGFGb3JWZXJ0aWNhbDJEQ2hhcnQoZGF0YSkgOiBkYXRhO1xyXG5cclxuICAgIGxldCBkYXRhQ29udmVydGVkID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFQcmVDb252ZXJ0ZWQuZ3JvdXBzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBpdGVtID0gZGF0YVByZUNvbnZlcnRlZC5ncm91cHNbaV07XHJcbiAgICAgIGxldCBvYmogPSB7IGtleTogaXRlbS5uYW1lIH07XHJcbiAgICAgIGZvciAobGV0IHAgPSAwOyBwIDwgaXRlbS52YWx1ZXMubGVuZ3RoOyBwKyspIHtcclxuICAgICAgICBsZXQgdmFsdWUgPSBpdGVtLnZhbHVlc1twXTtcclxuICAgICAgICBvYmpbdmFsdWUua10gPSB2YWx1ZS52O1xyXG4gICAgICB9XHJcbiAgICAgIGRhdGFDb252ZXJ0ZWQucHVzaChvYmopO1xyXG4gICAgfVxyXG5cclxuICAgIENoYXJ0SW5zdGFuY2VDYXN0ZWQuZGF0YSA9IGRhdGFDb252ZXJ0ZWQ7XHJcbiAgICBpZiAoZGF0YVByZUNvbnZlcnRlZC5jb2xvckluZm9zKVxyXG4gICAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmNvbG9ycy5saXN0ID0gZGF0YVByZUNvbnZlcnRlZC5jb2xvckluZm9zLm1hcChjID0+IGFtNGNvcmUuY29sb3IoYy5jb2xvcikpO1xyXG5cclxuICAgIC8vUHJlbmRvIGxhIHByaW1hIGNhdGVnb3JpYSBlIG1pIGJhc28gc3VsbGUgcHJvcHJpZXTDoCBwZXIgZGZlaW5pcmUgbGUgc2VyaWVcclxuICAgIGZvciAobGV0IHByb3AgaW4gZGF0YUNvbnZlcnRlZFswXSlcclxuICAgICAgaWYgKHByb3AgIT09IFwia2V5XCIpXHJcbiAgICAgICAgdGhpcy5jcmVhdGVTZXJpZXMoQ2hhcnRJbnN0YW5jZUNhc3RlZCwgc2V0dGluZ3MsIHByb3AsIHByb3ApO1xyXG5cclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwdWJsaWMgcmVmcmVzaERhdGEoZGF0YTogVmVydGljYWwyRENoYXJ0RGF0YSB8IGFueSkge1xyXG4gICAgLy9UT0RPOklNUExcclxuICB9XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVTZXJpZXMoY2hhcnQsIHNldHRpbmdzOiBWZXJ0aWNhbDJEQ2hhcnRTZXR0aW5ncywgdmFsdWUsIG5hbWUpIHtcclxuICAgIGxldCBzZXJpZXM6IGFtNGNoYXJ0cy5Db2x1bW5TZXJpZXMgPSBjaGFydC5zZXJpZXMucHVzaChuZXcgYW00Y2hhcnRzLkNvbHVtblNlcmllcygpKVxyXG4gICAgc2VyaWVzLmRhdGFGaWVsZHMudmFsdWVZID0gdmFsdWU7XHJcbiAgICBzZXJpZXMuZGF0YUZpZWxkcy5jYXRlZ29yeVggPSAna2V5JztcclxuICAgIHNlcmllcy5uYW1lID0gbmFtZTtcclxuICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnRvb2x0aXBUZXh0ID0gXCJ7bmFtZX0ge2NhdGVnb3J5WH06IFtib2xkXXt2YWx1ZVl9Wy9dXCI7XHJcbiAgICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5maWxsT3BhY2l0eSA9IC44O1xyXG4gICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUud2lkdGggPSBhbTRjb3JlLnBlcmNlbnQoc2V0dGluZ3MuQ29sdW1uV2lkdGhQZXJjZW50YWdlID8/IHRoaXMuRGVmYXVsdENvbHVtbldpZHRoUGVyY2VudGFnZSk7XHJcblxyXG4gICAgc2VyaWVzLmV2ZW50cy5vbihcImhpZGRlblwiLCAoKSA9PiB0aGlzLmFycmFuZ2VDb2x1bW5zKTtcclxuICAgIHNlcmllcy5ldmVudHMub24oXCJzaG93blwiLCAoKSA9PiB0aGlzLmFycmFuZ2VDb2x1bW5zKTtcclxuXHJcbiAgICByZXR1cm4gc2VyaWVzO1xyXG4gIH1cclxuXHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIGFycmFuZ2VDb2x1bW5zKCkge1xyXG4gICAgbGV0IENoYXJ0SW5zdGFuY2VDYXN0ZWQgPSA8YW00Y2hhcnRzLlhZQ2hhcnQ+dGhpcy5DaGFydEluc3RhbmNlO1xyXG4gICAgbGV0IHNlcmllcyA9IENoYXJ0SW5zdGFuY2VDYXN0ZWQuc2VyaWVzLmdldEluZGV4KDApO1xyXG4gICAgbGV0IHhBeGlzID0gQ2hhcnRJbnN0YW5jZUNhc3RlZC54QXhlcy5nZXRJbmRleCgwKTtcclxuXHJcbiAgICBsZXQgdyA9IDEgLSB4QXhpcy5yZW5kZXJlci5jZWxsU3RhcnRMb2NhdGlvbiAtICgxIC0geEF4aXMucmVuZGVyZXIuY2VsbEVuZExvY2F0aW9uKTtcclxuICAgIGlmIChzZXJpZXMuZGF0YUl0ZW1zLmxlbmd0aCA+IDEpIHtcclxuICAgICAgbGV0IHgwID0geEF4aXMuZ2V0WChzZXJpZXMuZGF0YUl0ZW1zLmdldEluZGV4KDApLCBcImNhdGVnb3J5WFwiKTtcclxuICAgICAgbGV0IHgxID0geEF4aXMuZ2V0WChzZXJpZXMuZGF0YUl0ZW1zLmdldEluZGV4KDEpLCBcImNhdGVnb3J5WFwiKTtcclxuICAgICAgbGV0IGRlbHRhID0gKCh4MSAtIHgwKSAvIENoYXJ0SW5zdGFuY2VDYXN0ZWQuc2VyaWVzLmxlbmd0aCkgKiB3O1xyXG4gICAgICBpZiAoYW00Y29yZS5pc051bWJlcihkZWx0YSkpIHtcclxuICAgICAgICBsZXQgbWlkZGxlID0gQ2hhcnRJbnN0YW5jZUNhc3RlZC5zZXJpZXMubGVuZ3RoIC8gMjtcclxuXHJcbiAgICAgICAgbGV0IG5ld0luZGV4ID0gMDtcclxuICAgICAgICBDaGFydEluc3RhbmNlQ2FzdGVkLnNlcmllcy5lYWNoKChzZXJpZXMpID0+IHtcclxuICAgICAgICAgIGlmICghc2VyaWVzLmlzSGlkZGVuICYmICFzZXJpZXMuaXNIaWRpbmcpIHtcclxuICAgICAgICAgICAgc2VyaWVzLmR1bW15RGF0YSA9IG5ld0luZGV4O1xyXG4gICAgICAgICAgICBuZXdJbmRleCsrO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHNlcmllcy5kdW1teURhdGEgPSBDaGFydEluc3RhbmNlQ2FzdGVkLnNlcmllcy5pbmRleE9mKHNlcmllcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICBsZXQgdmlzaWJsZUNvdW50ID0gbmV3SW5kZXg7XHJcbiAgICAgICAgbGV0IG5ld01pZGRsZSA9IHZpc2libGVDb3VudCAvIDI7XHJcblxyXG4gICAgICAgIENoYXJ0SW5zdGFuY2VDYXN0ZWQuc2VyaWVzLmVhY2goKHNlcmllcykgPT4ge1xyXG4gICAgICAgICAgbGV0IHRydWVJbmRleCA9IENoYXJ0SW5zdGFuY2VDYXN0ZWQuc2VyaWVzLmluZGV4T2Yoc2VyaWVzKTtcclxuICAgICAgICAgIGxldCBuZXdJbmRleCA9IHNlcmllcy5kdW1teURhdGE7XHJcblxyXG4gICAgICAgICAgbGV0IGR4ID0gKG5ld0luZGV4IC0gdHJ1ZUluZGV4ICsgbWlkZGxlIC0gbmV3TWlkZGxlKSAqIGRlbHRhXHJcblxyXG4gICAgICAgICAgc2VyaWVzLmFuaW1hdGUoeyBwcm9wZXJ0eTogXCJkeFwiLCB0bzogZHggfSwgc2VyaWVzLmludGVycG9sYXRpb25EdXJhdGlvbiwgc2VyaWVzLmludGVycG9sYXRpb25FYXNpbmcpO1xyXG4gICAgICAgICAgc2VyaWVzLmJ1bGxldHNDb250YWluZXIuYW5pbWF0ZSh7IHByb3BlcnR5OiBcImR4XCIsIHRvOiBkeCB9LCBzZXJpZXMuaW50ZXJwb2xhdGlvbkR1cmF0aW9uLCBzZXJpZXMuaW50ZXJwb2xhdGlvbkVhc2luZyk7XHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSJdfQ==
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import * as am4core from "@amcharts/amcharts4/core";
|
|
2
|
-
import * as am4charts from "@amcharts/amcharts4/charts";
|
|
3
|
-
/**
|
|
4
|
-
* Classe il cui unico scopo è gestire il setup e rendering di un VerticalChart
|
|
5
|
-
*/
|
|
6
|
-
export class VerticalChartService {
|
|
7
|
-
/** @ignore */
|
|
8
|
-
constructor(Adapter) {
|
|
9
|
-
this.Adapter = Adapter;
|
|
10
|
-
/** @ignore */
|
|
11
|
-
this.dangerZone = 50;
|
|
12
|
-
/** @ignore */
|
|
13
|
-
this.LabelWidth = 150;
|
|
14
|
-
/** @ignore */
|
|
15
|
-
this.LabelRightWhenCompressed = 20;
|
|
16
|
-
/** @ignore */
|
|
17
|
-
this.LabelTopWhenCompressed = -5;
|
|
18
|
-
/** @ignore */
|
|
19
|
-
this.DefaultColumnWidthPercentage = 85;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un VerticalChart
|
|
23
|
-
*/
|
|
24
|
-
graphicate(data, settings) {
|
|
25
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
26
|
-
if (settings.Timeline) {
|
|
27
|
-
console.error("Timeline not supported for vertical chart");
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
//Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
|
|
31
|
-
am4core.options.autoDispose = true;
|
|
32
|
-
this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
|
|
33
|
-
let ChartInstanceCasted = this.ChartInstance;
|
|
34
|
-
let dataConverted = this.Adapter ? this.Adapter.adaptDataForVerticalChart(data) : data;
|
|
35
|
-
ChartInstanceCasted.data = dataConverted.values;
|
|
36
|
-
if (settings.Legend) {
|
|
37
|
-
ChartInstanceCasted.legend = new am4charts.Legend();
|
|
38
|
-
ChartInstanceCasted.legend.position = (_a = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _a !== void 0 ? _a : 'right';
|
|
39
|
-
ChartInstanceCasted.legend.itemContainers.template.tooltipText = "{category}";
|
|
40
|
-
if (settings.LegendPadding) {
|
|
41
|
-
let template = this.ChartInstance.legend.itemContainers.template;
|
|
42
|
-
template.paddingTop = (_b = settings.LegendPadding.top) !== null && _b !== void 0 ? _b : 0;
|
|
43
|
-
template.paddingBottom = (_c = settings.LegendPadding.bottom) !== null && _c !== void 0 ? _c : 0;
|
|
44
|
-
template.paddingLeft = (_d = settings.LegendPadding.left) !== null && _d !== void 0 ? _d : 0;
|
|
45
|
-
template.paddingRight = (_e = settings.LegendPadding.right) !== null && _e !== void 0 ? _e : 0;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
let yAxis = ChartInstanceCasted.yAxes.push(new am4charts.ValueAxis());
|
|
49
|
-
if (settings.YAxisTitle) {
|
|
50
|
-
yAxis.title.text = settings.YAxisTitle;
|
|
51
|
-
yAxis.title.fontWeight = "bold";
|
|
52
|
-
}
|
|
53
|
-
let categoryAxis = ChartInstanceCasted.xAxes.push(new am4charts.CategoryAxis());
|
|
54
|
-
if (settings.XAxisTitle) {
|
|
55
|
-
categoryAxis.title.text = settings.XAxisTitle;
|
|
56
|
-
categoryAxis.title.fontWeight = "bold";
|
|
57
|
-
}
|
|
58
|
-
categoryAxis.dataFields.category = "k";
|
|
59
|
-
categoryAxis.renderer.grid.template.location = 0;
|
|
60
|
-
categoryAxis.renderer.minGridDistance = (_f = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _f !== void 0 ? _f : 30;
|
|
61
|
-
let label = categoryAxis.renderer.labels.template;
|
|
62
|
-
label.truncate = true;
|
|
63
|
-
label.maxWidth = (_g = settings.LabelWidth) !== null && _g !== void 0 ? _g : this.LabelWidth;
|
|
64
|
-
label.tooltipText = "{category}";
|
|
65
|
-
if ((settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) == null ? true : settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) {
|
|
66
|
-
categoryAxis.events.on("sizechanged", (ev) => {
|
|
67
|
-
var _a, _b, _c;
|
|
68
|
-
let axis = ev.target;
|
|
69
|
-
var cellWidth = axis.pixelWidth / (axis.endIndex - axis.startIndex);
|
|
70
|
-
if (cellWidth < axis.renderer.labels.template.maxWidth) {
|
|
71
|
-
let areWeInDangerZone = cellWidth < ((_a = settings === null || settings === void 0 ? void 0 : settings.LabelVerticalOrientationCutoffWidth) !== null && _a !== void 0 ? _a : this.dangerZone);
|
|
72
|
-
axis.renderer.labels.template.rotation = areWeInDangerZone ? -90 : -45;
|
|
73
|
-
axis.renderer.labels.template.dx = ((_b = settings.LabelRightWhenCompressed) !== null && _b !== void 0 ? _b : areWeInDangerZone) ? 0 : this.LabelRightWhenCompressed;
|
|
74
|
-
axis.renderer.labels.template.dy = (_c = settings.LabelTopWhenCompressed) !== null && _c !== void 0 ? _c : this.LabelTopWhenCompressed;
|
|
75
|
-
axis.renderer.labels.template.horizontalCenter = "right";
|
|
76
|
-
axis.renderer.labels.template.verticalCenter = "middle";
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
axis.renderer.labels.template.rotation = 0;
|
|
80
|
-
axis.renderer.labels.template.dx = 0;
|
|
81
|
-
axis.renderer.labels.template.dy = 0;
|
|
82
|
-
axis.renderer.labels.template.horizontalCenter = "middle";
|
|
83
|
-
axis.renderer.labels.template.verticalCenter = "top";
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
// Create series
|
|
88
|
-
let series = ChartInstanceCasted.series.push(new am4charts.ColumnSeries());
|
|
89
|
-
series.dataFields.valueY = "v";
|
|
90
|
-
series.dataFields.categoryX = "k";
|
|
91
|
-
series.name = "";
|
|
92
|
-
series.columns.template.tooltipText = "{categoryX}: [bold]{valueY}[/]";
|
|
93
|
-
series.columns.template.fillOpacity = .8;
|
|
94
|
-
series.columns.template.width = am4core.percent((_h = settings.ColumnWidthPercentage) !== null && _h !== void 0 ? _h : this.DefaultColumnWidthPercentage);
|
|
95
|
-
let columnTemplate = series.columns.template;
|
|
96
|
-
columnTemplate.strokeWidth = 2;
|
|
97
|
-
columnTemplate.strokeOpacity = 1;
|
|
98
|
-
return this;
|
|
99
|
-
}
|
|
100
|
-
/** @ignore */
|
|
101
|
-
refreshData(data) {
|
|
102
|
-
//TODO:IMPL
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVydGljYWxDaGFydFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy1jaGFydHMvc3JjL2xpYi9zZXJ2aWNlcy9jbGFzc2VzL1ZlcnRpY2FsQ2hhcnRTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sS0FBSyxPQUFPLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxLQUFLLFNBQVMsTUFBTSw0QkFBNEIsQ0FBQztBQUV4RDs7R0FFRztBQUNILE1BQU0sT0FBTyxvQkFBb0I7SUFjN0IsY0FBYztJQUNkLFlBQW1CLE9BQW9CO1FBQXBCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFadkMsY0FBYztRQUNOLGVBQVUsR0FBVyxFQUFFLENBQUM7UUFDaEMsY0FBYztRQUNOLGVBQVUsR0FBVyxHQUFHLENBQUM7UUFDakMsY0FBYztRQUNOLDZCQUF3QixHQUFXLEVBQUUsQ0FBQztRQUM5QyxjQUFjO1FBQ04sMkJBQXNCLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDNUMsY0FBYztRQUNOLGlDQUE0QixHQUFXLEVBQUUsQ0FBQztJQUdQLENBQUM7SUFFNUM7O09BRUc7SUFDSSxVQUFVLENBQUMsSUFBNkIsRUFBRSxRQUErQjs7UUFFNUUsSUFBSSxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ25CLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztZQUMzRCxPQUFPLElBQUksQ0FBQztTQUNmO1FBRUQsdUVBQXVFO1FBQ3ZFLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUVuQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEUsSUFBSSxtQkFBbUIsR0FBc0IsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUVoRSxJQUFJLGFB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QUMsUUFBUSxDQUFDO1FBQzdDLGNBQWMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLGNBQWMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDO1FBRWpDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxjQUFjO0lBQ1AsV0FBVyxDQUFDLElBQTZCO1FBQzVDLFdBQVc7SUFDZixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQmFzZVNlcnZpY2UgfSBmcm9tICcuL2Jhc2UvSUJhc2VTZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZUFkYXB0ZXIgfSBmcm9tICcuLi8uLi9hZGFwdGVycyc7XHJcbmltcG9ydCB7IFZlcnRpY2FsQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGEnO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbENoYXJ0U2V0dGluZ3MgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2V0dGluZ3MnO1xyXG5cclxuaW1wb3J0ICogYXMgYW00Y29yZSBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNC9jb3JlXCI7XHJcbmltcG9ydCAqIGFzIGFtNGNoYXJ0cyBmcm9tIFwiQGFtY2hhcnRzL2FtY2hhcnRzNC9jaGFydHNcIjtcclxuXHJcbi8qKlxyXG4gKiBDbGFzc2UgaWwgY3VpIHVuaWNvIHNjb3BvIMOoIGdlc3RpcmUgaWwgc2V0dXAgZSByZW5kZXJpbmcgZGkgdW4gVmVydGljYWxDaGFydFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFZlcnRpY2FsQ2hhcnRTZXJ2aWNlIGltcGxlbWVudHMgSUJhc2VTZXJ2aWNlPGFtNGNoYXJ0cy5YWUNoYXJ0PntcclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwdWJsaWMgQ2hhcnRJbnN0YW5jZTogYW00Y2hhcnRzLlhZQ2hhcnQ7XHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcHJpdmF0ZSBkYW5nZXJab25lOiBudW1iZXIgPSA1MDtcclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIExhYmVsV2lkdGg6IG51bWJlciA9IDE1MDtcclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIExhYmVsUmlnaHRXaGVuQ29tcHJlc3NlZDogbnVtYmVyID0gMjA7XHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcHJpdmF0ZSBMYWJlbFRvcFdoZW5Db21wcmVzc2VkOiBudW1iZXIgPSAtNTtcclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBwcml2YXRlIERlZmF1bHRDb2x1bW5XaWR0aFBlcmNlbnRhZ2U6IG51bWJlciA9IDg1O1xyXG5cclxuICAgIC8qKiBAaWdub3JlICovXHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgQWRhcHRlcjogQmFzZUFkYXB0ZXIpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0b2RvIGNoZSBkYXRhIHVuYSBjb3BwaWEgRGF0aSAtIEltcG9zdGF6aW9uaSBsaSB1dGlsaXp6YSBwZXIgY3JlYXJlIGUgdmlzdWFsaXp6YXJlIHVuIFZlcnRpY2FsQ2hhcnRcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdyYXBoaWNhdGUoZGF0YTogVmVydGljYWxDaGFydERhdGEgfCBhbnksIHNldHRpbmdzOiBWZXJ0aWNhbENoYXJ0U2V0dGluZ3MpOiBJQmFzZVNlcnZpY2U8YW00Y2hhcnRzLlhZQ2hhcnQ+IHtcclxuXHJcbiAgICAgICAgaWYgKHNldHRpbmdzLlRpbWVsaW5lKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJUaW1lbGluZSBub3Qgc3VwcG9ydGVkIGZvciB2ZXJ0aWNhbCBjaGFydFwiKTtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvL1BlciBldml0YXJlIGRpIGRpbWVudGljYXJtZWxpIGUgZ2VzdGlyZSBjb211bnF1ZSBiZW5lIGdsaSBuZ2lmIGVjYy4uLlxyXG4gICAgICAgIGFtNGNvcmUub3B0aW9ucy5hdXRvRGlzcG9zZSA9IHRydWU7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdGhpcy5DaGFydEluc3RhbmNlID0gYW00Y29yZS5jcmVhdGUoc2V0dGluZ3MuTmFtZSwgYW00Y2hhcnRzLlhZQ2hhcnQpO1xyXG4gICAgICAgIGxldCBDaGFydEluc3RhbmNlQ2FzdGVkID0gPGFtNGNoYXJ0cy5YWUNoYXJ0PnRoaXMuQ2hhcnRJbnN0YW5jZTtcclxuXHJcbiAgICAgICAgbGV0IGRhdGFDb252ZXJ0ZWQ6IFZlcnRpY2FsQ2hhcnREYXRhID0gdGhpcy5BZGFwdGVyID8gdGhpcy5BZGFwdGVyLmFkYXB0RGF0YUZvclZlcnRpY2FsQ2hhcnQoZGF0YSkgOiBkYXRhO1xyXG4gICAgICAgIENoYXJ0SW5zdGFuY2VDYXN0ZWQuZGF0YSA9IGRhdGFDb252ZXJ0ZWQudmFsdWVzO1xyXG5cclxuICAgICAgICBpZiAoc2V0dGluZ3MuTGVnZW5kKSB7XHJcbiAgICAgICAgICAgIENoYXJ0SW5zdGFuY2VDYXN0ZWQubGVnZW5kID0gbmV3IGFtNGNoYXJ0cy5MZWdlbmQoKTtcclxuICAgICAgICAgICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5sZWdlbmQucG9zaXRpb24gPSBzZXR0aW5ncz8uTGVnZW5kUG9zaXRpb24gPz8gJ3JpZ2h0JztcclxuICAgICAgICAgICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5sZWdlbmQuaXRlbUNvbnRhaW5lcnMudGVtcGxhdGUudG9vbHRpcFRleHQgPSBcIntjYXRlZ29yeX1cIjtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmIChzZXR0aW5ncy5MZWdlbmRQYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGVtcGxhdGUgPSB0aGlzLkNoYXJ0SW5zdGFuY2UubGVnZW5kLml0ZW1Db250YWluZXJzLnRlbXBsYXRlO1xyXG4gICAgICAgICAgICAgICAgdGVtcGxhdGUucGFkZGluZ1RvcCA9IHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcudG9wID8/IDA7XHJcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZS5wYWRkaW5nQm90dG9tID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5ib3R0b20gPz8gMDtcclxuICAgICAgICAgICAgICAgIHRlbXBsYXRlLnBhZGRpbmdMZWZ0ID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5sZWZ0ID8/IDA7XHJcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZS5wYWRkaW5nUmlnaHQgPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nLnJpZ2h0ID8/IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCB5QXhpcyA9IENoYXJ0SW5zdGFuY2VDYXN0ZWQueUF4ZXMucHVzaChuZXcgYW00Y2hhcnRzLlZhbHVlQXhpcygpKTtcclxuICAgICAgICBpZiAoc2V0dGluZ3MuWUF4aXNUaXRsZSkge1xyXG4gICAgICAgICAgICB5QXhpcy50aXRsZS50ZXh0ID0gc2V0dGluZ3MuWUF4aXNUaXRsZVxyXG4gICAgICAgICAgICB5QXhpcy50aXRsZS5mb250V2VpZ2h0ID0gXCJib2xkXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCBjYXRlZ29yeUF4aXM6IGFtNGNoYXJ0cy5DYXRlZ29yeUF4aXMgPSBDaGFydEluc3RhbmNlQ2FzdGVkLnhBeGVzLnB1c2gobmV3IGFtNGNoYXJ0cy5DYXRlZ29yeUF4aXMoKSlcclxuICAgICAgICBpZiAoc2V0dGluZ3MuWEF4aXNUaXRsZSkge1xyXG4gICAgICAgICAgICBjYXRlZ29yeUF4aXMudGl0bGUudGV4dCA9IHNldHRpbmdzLlhBeGlzVGl0bGVcclxuICAgICAgICAgICAgY2F0ZWdvcnlBeGlzLnRpdGxlLmZvbnRXZWlnaHQgPSBcImJvbGRcIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNhdGVnb3J5QXhpcy5kYXRhRmllbGRzLmNhdGVnb3J5ID0gXCJrXCI7XHJcbiAgICAgICAgY2F0ZWdvcnlBeGlzLnJlbmRlcmVyLmdyaWQudGVtcGxhdGUubG9jYXRpb24gPSAwO1xyXG4gICAgICAgIGNhdGVnb3J5QXhpcy5yZW5kZXJlci5taW5HcmlkRGlzdGFuY2UgPSBzZXR0aW5ncz8uTWluR3JpZERpc3RhbmNlID8/IDMwO1xyXG5cclxuICAgICAgICBsZXQgbGFiZWwgPSBjYXRlZ29yeUF4aXMucmVuZGVyZXIubGFiZWxzLnRlbXBsYXRlO1xyXG4gICAgICAgIGxhYmVsLnRydW5jYXRlID0gdHJ1ZTtcclxuICAgICAgICBsYWJlbC5tYXhXaWR0aCA9IHNldHRpbmdzLkxhYmVsV2lkdGggPz8gdGhpcy5MYWJlbFdpZHRoO1xyXG4gICAgICAgIGxhYmVsLnRvb2x0aXBUZXh0ID0gXCJ7Y2F0ZWdvcnl9XCI7XHJcblxyXG4gICAgICAgIGlmIChzZXR0aW5ncz8uQWRhcHRMYWJlbFNpemVBbmRPcmllbnRhdGlvbiA9PSBudWxsID8gdHJ1ZSA6IHNldHRpbmdzPy5BZGFwdExhYmVsU2l6ZUFuZE9yaWVudGF0aW9uKSB7XHJcbiAgICAgICAgICAgIGNhdGVnb3J5QXhpcy5ldmVudHMub24oXCJzaXplY2hhbmdlZFwiLCAoZXYpID0+IHtcclxuICAgICAgICAgICAgICAgIGxldCBheGlzID0gZXYudGFyZ2V0O1xyXG4gICAgICAgICAgICAgICAgdmFyIGNlbGxXaWR0aCA9IGF4aXMucGl4ZWxXaWR0aCAvIChheGlzLmVuZEluZGV4IC0gYXhpcy5zdGFydEluZGV4KTtcclxuICAgICAgICAgICAgICAgIGlmIChjZWxsV2lkdGggPCBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5tYXhXaWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBhcmVXZUluRGFuZ2VyWm9uZSA9IGNlbGxXaWR0aCA8IChzZXR0aW5ncz8uTGFiZWxWZXJ0aWNhbE9yaWVudGF0aW9uQ3V0b2ZmV2lkdGggPz8gdGhpcy5kYW5nZXJab25lKTtcclxuICAgICAgICAgICAgICAgICAgICBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5yb3RhdGlvbiA9IGFyZVdlSW5EYW5nZXJab25lID8gLTkwIDogLTQ1O1xyXG4gICAgICAgICAgICAgICAgICAgIGF4aXMucmVuZGVyZXIubGFiZWxzLnRlbXBsYXRlLmR4ID0gc2V0dGluZ3MuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkID8/IGFyZVdlSW5EYW5nZXJab25lID8gMCA6IHRoaXMuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkO1xyXG4gICAgICAgICAgICAgICAgICAgIGF4aXMucmVuZGVyZXIubGFiZWxzLnRlbXBsYXRlLmR5ID0gc2V0dGluZ3MuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZCA/PyB0aGlzLkxhYmVsVG9wV2hlbkNvbXByZXNzZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuaG9yaXpvbnRhbENlbnRlciA9IFwicmlnaHRcIjtcclxuICAgICAgICAgICAgICAgICAgICBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS52ZXJ0aWNhbENlbnRlciA9IFwibWlkZGxlXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5yb3RhdGlvbiA9IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuZHggPSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGF4aXMucmVuZGVyZXIubGFiZWxzLnRlbXBsYXRlLmR5ID0gMDtcclxuICAgICAgICAgICAgICAgICAgICBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5ob3Jpem9udGFsQ2VudGVyID0gXCJtaWRkbGVcIjtcclxuICAgICAgICAgICAgICAgICAgICBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS52ZXJ0aWNhbENlbnRlciA9IFwidG9wXCI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ3JlYXRlIHNlcmllc1xyXG4gICAgICAgIGxldCBzZXJpZXMgPSBDaGFydEluc3RhbmNlQ2FzdGVkLnNlcmllcy5wdXNoKG5ldyBhbTRjaGFydHMuQ29sdW1uU2VyaWVzKCkpO1xyXG4gICAgICAgIHNlcmllcy5kYXRhRmllbGRzLnZhbHVlWSA9IFwidlwiO1xyXG4gICAgICAgIHNlcmllcy5kYXRhRmllbGRzLmNhdGVnb3J5WCA9IFwia1wiO1xyXG4gICAgICAgIHNlcmllcy5uYW1lID0gXCJcIjtcclxuICAgICAgICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS50b29sdGlwVGV4dCA9IFwie2NhdGVnb3J5WH06IFtib2xkXXt2YWx1ZVl9Wy9dXCI7XHJcbiAgICAgICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUuZmlsbE9wYWNpdHkgPSAuODtcclxuICAgICAgICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS53aWR0aCA9IGFtNGNvcmUucGVyY2VudChzZXR0aW5ncy5Db2x1bW5XaWR0aFBlcmNlbnRhZ2UgPz8gdGhpcy5EZWZhdWx0Q29sdW1uV2lkdGhQZXJjZW50YWdlKTtcclxuXHJcbiAgICAgICAgbGV0IGNvbHVtblRlbXBsYXRlID0gc2VyaWVzLmNvbHVtbnMudGVtcGxhdGU7XHJcbiAgICAgICAgY29sdW1uVGVtcGxhdGUuc3Ryb2tlV2lkdGggPSAyO1xyXG4gICAgICAgIGNvbHVtblRlbXBsYXRlLnN0cm9rZU9wYWNpdHkgPSAxO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSAqL1xyXG4gICAgcHVibGljIHJlZnJlc2hEYXRhKGRhdGE6IFZlcnRpY2FsQ2hhcnREYXRhIHwgYW55KSB7XHJcbiAgICAgICAgLy9UT0RPOklNUExcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import * as am4core from "@amcharts/amcharts4/core";
|
|
2
|
-
import * as am4charts from "@amcharts/amcharts4/charts";
|
|
3
|
-
/**
|
|
4
|
-
* Classe il cui unico scopo è gestire il setup e rendering di un VerticalStackedChart
|
|
5
|
-
*/
|
|
6
|
-
export class VerticalStackedChartService {
|
|
7
|
-
/** @ignore */
|
|
8
|
-
constructor(Adapter) {
|
|
9
|
-
this.Adapter = Adapter;
|
|
10
|
-
/** @ignore */
|
|
11
|
-
this.dangerZone = 50;
|
|
12
|
-
/** @ignore */
|
|
13
|
-
this.LabelWidth = 150;
|
|
14
|
-
/** @ignore */
|
|
15
|
-
this.LabelRightWhenCompressed = 20;
|
|
16
|
-
/** @ignore */
|
|
17
|
-
this.LabelTopWhenCompressed = -5;
|
|
18
|
-
/** @ignore */
|
|
19
|
-
this.DefaultColumnWidthPercentage = 85;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Metodo che data una coppia Dati - Impostazioni li utilizza per creare e visualizzare un VerticalStackedChart
|
|
23
|
-
*/
|
|
24
|
-
graphicate(data, settings) {
|
|
25
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
26
|
-
if (settings.Timeline) {
|
|
27
|
-
console.error("Timeline not supported for vertical chart");
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
//Per evitare di dimenticarmeli e gestire comunque bene gli ngif ecc...
|
|
31
|
-
am4core.options.autoDispose = true;
|
|
32
|
-
this.ChartInstance = am4core.create(settings.Name, am4charts.XYChart);
|
|
33
|
-
let ChartInstanceCasted = this.ChartInstance;
|
|
34
|
-
// Create axes
|
|
35
|
-
let yAxis = ChartInstanceCasted.yAxes.push(new am4charts.ValueAxis());
|
|
36
|
-
if (settings.YAxisTitle) {
|
|
37
|
-
yAxis.title.text = settings.YAxisTitle;
|
|
38
|
-
yAxis.title.fontWeight = "bold";
|
|
39
|
-
}
|
|
40
|
-
let categoryAxis = ChartInstanceCasted.xAxes.push(new am4charts.CategoryAxis());
|
|
41
|
-
if (settings.XAxisTitle) {
|
|
42
|
-
categoryAxis.title.text = settings.XAxisTitle;
|
|
43
|
-
categoryAxis.title.fontWeight = "bold";
|
|
44
|
-
}
|
|
45
|
-
yAxis.min = 0;
|
|
46
|
-
categoryAxis.dataFields.category = "key";
|
|
47
|
-
categoryAxis.renderer.grid.template.location = 0;
|
|
48
|
-
categoryAxis.renderer.minGridDistance = (_a = settings === null || settings === void 0 ? void 0 : settings.MinGridDistance) !== null && _a !== void 0 ? _a : 30;
|
|
49
|
-
let label = categoryAxis.renderer.labels.template;
|
|
50
|
-
label.truncate = true;
|
|
51
|
-
label.maxWidth = (_b = settings.LabelWidth) !== null && _b !== void 0 ? _b : this.LabelWidth;
|
|
52
|
-
label.tooltipText = "{category}";
|
|
53
|
-
if ((settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) == null ? true : settings === null || settings === void 0 ? void 0 : settings.AdaptLabelSizeAndOrientation) {
|
|
54
|
-
categoryAxis.events.on("sizechanged", (ev) => {
|
|
55
|
-
var _a, _b, _c;
|
|
56
|
-
let axis = ev.target;
|
|
57
|
-
var cellWidth = axis.pixelWidth / (axis.endIndex - axis.startIndex);
|
|
58
|
-
if (cellWidth < axis.renderer.labels.template.maxWidth) {
|
|
59
|
-
let areWeInDangerZone = cellWidth < ((_a = settings === null || settings === void 0 ? void 0 : settings.LabelVerticalOrientationCutoffWidth) !== null && _a !== void 0 ? _a : this.dangerZone);
|
|
60
|
-
axis.renderer.labels.template.rotation = areWeInDangerZone ? -90 : -45;
|
|
61
|
-
axis.renderer.labels.template.dx = ((_b = settings.LabelRightWhenCompressed) !== null && _b !== void 0 ? _b : areWeInDangerZone) ? 0 : this.LabelRightWhenCompressed;
|
|
62
|
-
axis.renderer.labels.template.dy = (_c = settings.LabelTopWhenCompressed) !== null && _c !== void 0 ? _c : this.LabelTopWhenCompressed;
|
|
63
|
-
axis.renderer.labels.template.horizontalCenter = "right";
|
|
64
|
-
axis.renderer.labels.template.verticalCenter = "middle";
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
axis.renderer.labels.template.rotation = 0;
|
|
68
|
-
axis.renderer.labels.template.dx = 0;
|
|
69
|
-
axis.renderer.labels.template.dy = 0;
|
|
70
|
-
axis.renderer.labels.template.horizontalCenter = "middle";
|
|
71
|
-
axis.renderer.labels.template.verticalCenter = "top";
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
let dataPreConverted = this.Adapter ? this.Adapter.adaptDataForVerticalStackedChart(data) : data;
|
|
76
|
-
let dataConverted = [];
|
|
77
|
-
for (let i = 0; i < dataPreConverted.groups.length; i++) {
|
|
78
|
-
let item = dataPreConverted.groups[i];
|
|
79
|
-
let obj = { key: item.name };
|
|
80
|
-
for (let p = 0; p < item.values.length; p++) {
|
|
81
|
-
let value = item.values[p];
|
|
82
|
-
obj[value.k] = value.v;
|
|
83
|
-
}
|
|
84
|
-
dataConverted.push(obj);
|
|
85
|
-
}
|
|
86
|
-
ChartInstanceCasted.data = dataConverted;
|
|
87
|
-
//Prendo la prima categoria e mi baso sulle proprietà per dfeinire le serie
|
|
88
|
-
for (let prop in dataConverted[0]) {
|
|
89
|
-
if (prop !== "key")
|
|
90
|
-
this.createSeriesStacked(ChartInstanceCasted, settings, prop, prop);
|
|
91
|
-
}
|
|
92
|
-
if (settings.Legend) {
|
|
93
|
-
ChartInstanceCasted.legend = new am4charts.Legend();
|
|
94
|
-
ChartInstanceCasted.legend.position = (_c = settings === null || settings === void 0 ? void 0 : settings.LegendPosition) !== null && _c !== void 0 ? _c : 'right';
|
|
95
|
-
ChartInstanceCasted.legend.itemContainers.template.tooltipText = "{category}";
|
|
96
|
-
if (settings.LegendPadding) {
|
|
97
|
-
let template = this.ChartInstance.legend.itemContainers.template;
|
|
98
|
-
template.paddingTop = (_d = settings.LegendPadding.top) !== null && _d !== void 0 ? _d : 0;
|
|
99
|
-
template.paddingBottom = (_e = settings.LegendPadding.bottom) !== null && _e !== void 0 ? _e : 0;
|
|
100
|
-
template.paddingLeft = (_f = settings.LegendPadding.left) !== null && _f !== void 0 ? _f : 0;
|
|
101
|
-
template.paddingRight = (_g = settings.LegendPadding.right) !== null && _g !== void 0 ? _g : 0;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
return this;
|
|
105
|
-
}
|
|
106
|
-
/** @ignore */
|
|
107
|
-
refreshData(data) {
|
|
108
|
-
//TODO:IMPL
|
|
109
|
-
}
|
|
110
|
-
/** @ignore */
|
|
111
|
-
createSeriesStacked(chart, settings, field, name) {
|
|
112
|
-
var _a;
|
|
113
|
-
// Set up series
|
|
114
|
-
let series = chart.series.push(new am4charts.ColumnSeries());
|
|
115
|
-
series.name = name;
|
|
116
|
-
series.dataFields.valueY = field;
|
|
117
|
-
series.dataFields.categoryX = "key";
|
|
118
|
-
series.sequencedInterpolation = true;
|
|
119
|
-
series.columns.template.tooltipText = "{name} {categoryX}: [bold]{valueY}[/]";
|
|
120
|
-
series.columns.template.fillOpacity = .8;
|
|
121
|
-
series.columns.template.width = am4core.percent((_a = settings.ColumnWidthPercentage) !== null && _a !== void 0 ? _a : this.DefaultColumnWidthPercentage);
|
|
122
|
-
// Make it stacked
|
|
123
|
-
series.stacked = true;
|
|
124
|
-
return series;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVydGljYWxTdGFja2VkQ2hhcnRTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtY2hhcnRzL3NyYy9saWIvc2VydmljZXMvY2xhc3Nlcy9WZXJ0aWNhbFN0YWNrZWRDaGFydFNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxLQUFLLE9BQU8sTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEtBQUssU0FBUyxNQUFNLDRCQUE0QixDQUFDO0FBRXhEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLDJCQUEyQjtJQWN0QyxjQUFjO0lBQ2QsWUFBbUIsT0FBb0I7UUFBcEIsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQVp2QyxjQUFjO1FBQ04sZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUNoQyxjQUFjO1FBQ04sZUFBVSxHQUFXLEdBQUcsQ0FBQztRQUNqQyxjQUFjO1FBQ04sNkJBQXdCLEdBQVcsRUFBRSxDQUFDO1FBQzlDLGNBQWM7UUFDTiwyQkFBc0IsR0FBVyxDQUFDLENBQUMsQ0FBQztRQUM1QyxjQUFjO1FBQ04saUNBQTRCLEdBQVcsRUFBRSxDQUFDO0lBR1AsQ0FBQztJQUU1Qzs7T0FFRztJQUNJLFVBQVUsQ0FBQyxJQUFvQyxFQUFFLFFBQXNDOztRQUU1RixJQUFJLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1lBQzNELE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCx1RUFBdUU7UUFDdkUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBRW5DLElBQUksQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RSxJQUFJLG1CQUFtQixHQUFzQixJQUFJLENBQUMsYUFBYSxDQUFD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QUFPLEdBQUcsSUFBSSxDQUFDO1FBRXRCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElCYXNlU2VydmljZSB9IGZyb20gJy4vYmFzZS9JQmFzZVNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCYXNlQWRhcHRlciB9IGZyb20gJy4uLy4uL2FkYXB0ZXJzJztcclxuaW1wb3J0IHsgVmVydGljYWxTdGFja2VkQ2hhcnREYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGEnO1xyXG5pbXBvcnQgeyBWZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NldHRpbmdzJztcclxuXHJcbmltcG9ydCAqIGFzIGFtNGNvcmUgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY29yZVwiO1xyXG5pbXBvcnQgKiBhcyBhbTRjaGFydHMgZnJvbSBcIkBhbWNoYXJ0cy9hbWNoYXJ0czQvY2hhcnRzXCI7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGlsIGN1aSB1bmljbyBzY29wbyDDqCBnZXN0aXJlIGlsIHNldHVwIGUgcmVuZGVyaW5nIGRpIHVuIFZlcnRpY2FsU3RhY2tlZENoYXJ0XHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVmVydGljYWxTdGFja2VkQ2hhcnRTZXJ2aWNlIGltcGxlbWVudHMgSUJhc2VTZXJ2aWNlPGFtNGNoYXJ0cy5YWUNoYXJ0PntcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHB1YmxpYyBDaGFydEluc3RhbmNlOiBhbTRjaGFydHMuWFlDaGFydDtcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgZGFuZ2VyWm9uZTogbnVtYmVyID0gNTA7XHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIExhYmVsV2lkdGg6IG51bWJlciA9IDE1MDtcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkOiBudW1iZXIgPSAyMDtcclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIHByaXZhdGUgTGFiZWxUb3BXaGVuQ29tcHJlc3NlZDogbnVtYmVyID0gLTU7XHJcbiAgLyoqIEBpZ25vcmUgKi9cclxuICBwcml2YXRlIERlZmF1bHRDb2x1bW5XaWR0aFBlcmNlbnRhZ2U6IG51bWJlciA9IDg1O1xyXG5cclxuICAvKiogQGlnbm9yZSAqL1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBBZGFwdGVyOiBCYXNlQWRhcHRlcikgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ldG9kbyBjaGUgZGF0YSB1bmEgY29wcGlhIERhdGkgLSBJbXBvc3RhemlvbmkgbGkgdXRpbGl6emEgcGVyIGNyZWFyZSBlIHZpc3VhbGl6emFyZSB1biBWZXJ0aWNhbFN0YWNrZWRDaGFydFxyXG4gICAqL1xyXG4gIHB1YmxpYyBncmFwaGljYXRlKGRhdGE6IFZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YSB8IGFueSwgc2V0dGluZ3M6IFZlcnRpY2FsU3RhY2tlZENoYXJ0U2V0dGluZ3MpOiBJQmFzZVNlcnZpY2U8YW00Y2hhcnRzLlhZQ2hhcnQ+IHtcclxuICAgIFxyXG4gICAgaWYgKHNldHRpbmdzLlRpbWVsaW5lKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJUaW1lbGluZSBub3Qgc3VwcG9ydGVkIGZvciB2ZXJ0aWNhbCBjaGFydFwiKTtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgLy9QZXIgZXZpdGFyZSBkaSBkaW1lbnRpY2FybWVsaSBlIGdlc3RpcmUgY29tdW5xdWUgYmVuZSBnbGkgbmdpZiBlY2MuLi5cclxuICAgIGFtNGNvcmUub3B0aW9ucy5hdXRvRGlzcG9zZSA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5DaGFydEluc3RhbmNlID0gYW00Y29yZS5jcmVhdGUoc2V0dGluZ3MuTmFtZSwgYW00Y2hhcnRzLlhZQ2hhcnQpO1xyXG4gICAgbGV0IENoYXJ0SW5zdGFuY2VDYXN0ZWQgPSA8YW00Y2hhcnRzLlhZQ2hhcnQ+dGhpcy5DaGFydEluc3RhbmNlO1xyXG5cclxuICAgIC8vIENyZWF0ZSBheGVzIFxyXG4gICAgbGV0IHlBeGlzID0gQ2hhcnRJbnN0YW5jZUNhc3RlZC55QXhlcy5wdXNoKG5ldyBhbTRjaGFydHMuVmFsdWVBeGlzKCkpO1xyXG4gICAgaWYgKHNldHRpbmdzLllBeGlzVGl0bGUpIHtcclxuICAgICAgeUF4aXMudGl0bGUudGV4dCA9IHNldHRpbmdzLllBeGlzVGl0bGVcclxuICAgICAgeUF4aXMudGl0bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xyXG4gICAgfVxyXG4gICAgbGV0IGNhdGVnb3J5QXhpcyA9IENoYXJ0SW5zdGFuY2VDYXN0ZWQueEF4ZXMucHVzaChuZXcgYW00Y2hhcnRzLkNhdGVnb3J5QXhpcygpKTtcclxuICAgIGlmIChzZXR0aW5ncy5YQXhpc1RpdGxlKSB7XHJcbiAgICAgIGNhdGVnb3J5QXhpcy50aXRsZS50ZXh0ID0gc2V0dGluZ3MuWEF4aXNUaXRsZVxyXG4gICAgICBjYXRlZ29yeUF4aXMudGl0bGUuZm9udFdlaWdodCA9IFwiYm9sZFwiO1xyXG4gICAgfVxyXG5cclxuICAgIHlBeGlzLm1pbiA9IDA7XHJcblxyXG4gICAgY2F0ZWdvcnlBeGlzLmRhdGFGaWVsZHMuY2F0ZWdvcnkgPSBcImtleVwiO1xyXG4gICAgY2F0ZWdvcnlBeGlzLnJlbmRlcmVyLmdyaWQudGVtcGxhdGUubG9jYXRpb24gPSAwO1xyXG4gICAgY2F0ZWdvcnlBeGlzLnJlbmRlcmVyLm1pbkdyaWREaXN0YW5jZSA9IHNldHRpbmdzPy5NaW5HcmlkRGlzdGFuY2UgPz8gMzA7XHJcblxyXG4gICAgbGV0IGxhYmVsID0gY2F0ZWdvcnlBeGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZTtcclxuICAgIGxhYmVsLnRydW5jYXRlID0gdHJ1ZTtcclxuICAgIGxhYmVsLm1heFdpZHRoID0gc2V0dGluZ3MuTGFiZWxXaWR0aCA/PyB0aGlzLkxhYmVsV2lkdGg7XHJcbiAgICBsYWJlbC50b29sdGlwVGV4dCA9IFwie2NhdGVnb3J5fVwiO1xyXG5cclxuICAgIGlmIChzZXR0aW5ncz8uQWRhcHRMYWJlbFNpemVBbmRPcmllbnRhdGlvbiA9PSBudWxsID8gdHJ1ZSA6IHNldHRpbmdzPy5BZGFwdExhYmVsU2l6ZUFuZE9yaWVudGF0aW9uKSB7XHJcbiAgICAgIGNhdGVnb3J5QXhpcy5ldmVudHMub24oXCJzaXplY2hhbmdlZFwiLCAoZXYpID0+IHtcclxuICAgICAgICBsZXQgYXhpcyA9IGV2LnRhcmdldDtcclxuICAgICAgICB2YXIgY2VsbFdpZHRoID0gYXhpcy5waXhlbFdpZHRoIC8gKGF4aXMuZW5kSW5kZXggLSBheGlzLnN0YXJ0SW5kZXgpO1xyXG4gICAgICAgIGlmIChjZWxsV2lkdGggPCBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS5tYXhXaWR0aCkge1xyXG4gICAgICAgICAgbGV0IGFyZVdlSW5EYW5nZXJab25lID0gY2VsbFdpZHRoIDwgKHNldHRpbmdzPy5MYWJlbFZlcnRpY2FsT3JpZW50YXRpb25DdXRvZmZXaWR0aCA/PyB0aGlzLmRhbmdlclpvbmUpO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUucm90YXRpb24gPSBhcmVXZUluRGFuZ2VyWm9uZSA/IC05MCA6IC00NTtcclxuICAgICAgICAgIGF4aXMucmVuZGVyZXIubGFiZWxzLnRlbXBsYXRlLmR4ID0gc2V0dGluZ3MuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkID8/IGFyZVdlSW5EYW5nZXJab25lID8gMCA6IHRoaXMuTGFiZWxSaWdodFdoZW5Db21wcmVzc2VkO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuZHkgPSBzZXR0aW5ncy5MYWJlbFRvcFdoZW5Db21wcmVzc2VkID8/IHRoaXMuTGFiZWxUb3BXaGVuQ29tcHJlc3NlZDtcclxuICAgICAgICAgIGF4aXMucmVuZGVyZXIubGFiZWxzLnRlbXBsYXRlLmhvcml6b250YWxDZW50ZXIgPSBcInJpZ2h0XCI7XHJcbiAgICAgICAgICBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS52ZXJ0aWNhbENlbnRlciA9IFwibWlkZGxlXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUucm90YXRpb24gPSAwO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuZHggPSAwO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuZHkgPSAwO1xyXG4gICAgICAgICAgYXhpcy5yZW5kZXJlci5sYWJlbHMudGVtcGxhdGUuaG9yaXpvbnRhbENlbnRlciA9IFwibWlkZGxlXCI7XHJcbiAgICAgICAgICBheGlzLnJlbmRlcmVyLmxhYmVscy50ZW1wbGF0ZS52ZXJ0aWNhbENlbnRlciA9IFwidG9wXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZGF0YVByZUNvbnZlcnRlZDogVmVydGljYWxTdGFja2VkQ2hhcnREYXRhID0gdGhpcy5BZGFwdGVyID8gdGhpcy5BZGFwdGVyLmFkYXB0RGF0YUZvclZlcnRpY2FsU3RhY2tlZENoYXJ0KGRhdGEpIDogZGF0YTtcclxuXHJcbiAgICBsZXQgZGF0YUNvbnZlcnRlZCA9IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhUHJlQ29udmVydGVkLmdyb3Vwcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgaXRlbSA9IGRhdGFQcmVDb252ZXJ0ZWQuZ3JvdXBzW2ldO1xyXG4gICAgICBsZXQgb2JqID0geyBrZXk6IGl0ZW0ubmFtZSB9O1xyXG4gICAgICBmb3IgKGxldCBwID0gMDsgcCA8IGl0ZW0udmFsdWVzLmxlbmd0aDsgcCsrKSB7XHJcbiAgICAgICAgbGV0IHZhbHVlID0gaXRlbS52YWx1ZXNbcF07XHJcbiAgICAgICAgb2JqW3ZhbHVlLmtdID0gdmFsdWUudjtcclxuICAgICAgfVxyXG4gICAgICBkYXRhQ29udmVydGVkLnB1c2gob2JqKTtcclxuICAgIH1cclxuXHJcbiAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmRhdGEgPSBkYXRhQ29udmVydGVkO1xyXG5cclxuICAgIC8vUHJlbmRvIGxhIHByaW1hIGNhdGVnb3JpYSBlIG1pIGJhc28gc3VsbGUgcHJvcHJpZXTDoCBwZXIgZGZlaW5pcmUgbGUgc2VyaWVcclxuICAgIGZvciAobGV0IHByb3AgaW4gZGF0YUNvbnZlcnRlZFswXSkge1xyXG4gICAgICBpZiAocHJvcCAhPT0gXCJrZXlcIilcclxuICAgICAgICB0aGlzLmNyZWF0ZVNlcmllc1N0YWNrZWQoQ2hhcnRJbnN0YW5jZUNhc3RlZCwgc2V0dGluZ3MsIHByb3AsIHByb3ApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzZXR0aW5ncy5MZWdlbmQpIHtcclxuICAgICAgQ2hhcnRJbnN0YW5jZUNhc3RlZC5sZWdlbmQgPSBuZXcgYW00Y2hhcnRzLkxlZ2VuZCgpO1xyXG4gICAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmxlZ2VuZC5wb3NpdGlvbiA9IHNldHRpbmdzPy5MZWdlbmRQb3NpdGlvbiA/PyAncmlnaHQnO1xyXG4gICAgICBDaGFydEluc3RhbmNlQ2FzdGVkLmxlZ2VuZC5pdGVtQ29udGFpbmVycy50ZW1wbGF0ZS50b29sdGlwVGV4dCA9IFwie2NhdGVnb3J5fVwiO1xyXG5cclxuICAgICAgaWYgKHNldHRpbmdzLkxlZ2VuZFBhZGRpbmcpIHtcclxuICAgICAgICBsZXQgdGVtcGxhdGUgPSB0aGlzLkNoYXJ0SW5zdGFuY2UubGVnZW5kLml0ZW1Db250YWluZXJzLnRlbXBsYXRlO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdUb3AgPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nLnRvcCA/PyAwO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdCb3R0b20gPSBzZXR0aW5ncy5MZWdlbmRQYWRkaW5nLmJvdHRvbSA/PyAwO1xyXG4gICAgICAgIHRlbXBsYXRlLnBhZGRpbmdMZWZ0ID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5sZWZ0ID8/IDA7XHJcbiAgICAgICAgdGVtcGxhdGUucGFkZGluZ1JpZ2h0ID0gc2V0dGluZ3MuTGVnZW5kUGFkZGluZy5yaWdodCA/PyAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHVibGljIHJlZnJlc2hEYXRhKGRhdGE6IFZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YSB8IGFueSkge1xyXG4gICAgLy9UT0RPOklNUExcclxuICB9XHJcblxyXG4gIC8qKiBAaWdub3JlICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVTZXJpZXNTdGFja2VkKGNoYXJ0LCBzZXR0aW5nczogVmVydGljYWxTdGFja2VkQ2hhcnRTZXR0aW5ncywgZmllbGQsIG5hbWUpIHtcclxuICAgIC8vIFNldCB1cCBzZXJpZXNcclxuICAgIGxldCBzZXJpZXMgPSBjaGFydC5zZXJpZXMucHVzaChuZXcgYW00Y2hhcnRzLkNvbHVtblNlcmllcygpKTtcclxuICAgIHNlcmllcy5uYW1lID0gbmFtZTtcclxuICAgIHNlcmllcy5kYXRhRmllbGRzLnZhbHVlWSA9IGZpZWxkO1xyXG4gICAgc2VyaWVzLmRhdGFGaWVsZHMuY2F0ZWdvcnlYID0gXCJrZXlcIjtcclxuICAgIHNlcmllcy5zZXF1ZW5jZWRJbnRlcnBvbGF0aW9uID0gdHJ1ZTtcclxuICAgIHNlcmllcy5jb2x1bW5zLnRlbXBsYXRlLnRvb2x0aXBUZXh0ID0gXCJ7bmFtZX0ge2NhdGVnb3J5WH06IFtib2xkXXt2YWx1ZVl9Wy9dXCI7XHJcbiAgICBzZXJpZXMuY29sdW1ucy50ZW1wbGF0ZS5maWxsT3BhY2l0eSA9IC44O1xyXG4gICAgc2VyaWVzLmNvbHVtbnMudGVtcGxhdGUud2lkdGggPSBhbTRjb3JlLnBlcmNlbnQoc2V0dGluZ3MuQ29sdW1uV2lkdGhQZXJjZW50YWdlID8/IHRoaXMuRGVmYXVsdENvbHVtbldpZHRoUGVyY2VudGFnZSk7XHJcblxyXG4gICAgLy8gTWFrZSBpdCBzdGFja2VkXHJcbiAgICBzZXJpZXMuc3RhY2tlZCA9IHRydWU7XHJcblxyXG4gICAgcmV0dXJuIHNlcmllcztcclxuICB9XHJcbn0iXX0=
|
package/esm2015/public-api.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of es-charts
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib/adapters/classes/BaseAdapter';
|
|
5
|
-
export * from './lib/adapters/classes/IBaseAdapter';
|
|
6
|
-
export * from './lib/models/data/classes/LineChartData';
|
|
7
|
-
export * from './lib/models/data/classes/PieChartData';
|
|
8
|
-
export * from './lib/models/data/classes/AreaChartData';
|
|
9
|
-
export * from './lib/models/data/classes/Vertical2DChartData';
|
|
10
|
-
export * from './lib/models/data/classes/VerticalChartData';
|
|
11
|
-
export * from './lib/models/data/classes/VerticalStackedChartData';
|
|
12
|
-
export * from './lib/models/settings/classes/AreaChartSettings';
|
|
13
|
-
export * from './lib/models/settings/classes/LineChartSettings';
|
|
14
|
-
export * from './lib/models/settings/classes/PieChartSettings';
|
|
15
|
-
export * from './lib/models/settings/classes/Vertical2DChartSettings';
|
|
16
|
-
export * from './lib/models/settings/classes/VerticalChartSettings';
|
|
17
|
-
export * from './lib/models/settings/classes/VerticalStackedChartSettings';
|
|
18
|
-
export * from './lib/models/settings/classes/base/BaseSettings';
|
|
19
|
-
export * from './lib/models/settings/classes/base/BaseInterval';
|
|
20
|
-
export * from './lib/models/settings/classes/base/LegendPad';
|
|
21
|
-
export * from './lib/models/data/classes/base/Limit';
|
|
22
|
-
export * from './lib/models/data/classes/base/DateValue';
|
|
23
|
-
export * from './lib/models/data/classes/base/KeyValue';
|
|
24
|
-
export * from './lib/models/data/classes/base/KeyValueColor';
|
|
25
|
-
export * from './lib/models/data/classes/base/LineSerie';
|
|
26
|
-
export * from './lib/components/specializations/es-chart.component';
|
|
27
|
-
export * from './lib/components/specializations/es-area-chart.component';
|
|
28
|
-
export * from './lib/components/specializations/es-line-chart.component';
|
|
29
|
-
export * from './lib/components/specializations/es-pie-chart.component';
|
|
30
|
-
export * from './lib/components/specializations/es-vertical-2d-chart.component';
|
|
31
|
-
export * from './lib/components/specializations/es-vertical-chart.component';
|
|
32
|
-
export * from './lib/components/specializations/es-vertical-stacked-chart.component';
|
|
33
|
-
export * from './lib/models/core/classes/ChartThemes';
|
|
34
|
-
export * from './lib/models/data/classes/PagedChartData';
|
|
35
|
-
export * from './lib/es-charts.module';
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2VzLWNoYXJ0cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBlcy1jaGFydHNcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZGFwdGVycy9jbGFzc2VzL0Jhc2VBZGFwdGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYWRhcHRlcnMvY2xhc3Nlcy9JQmFzZUFkYXB0ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0YS9jbGFzc2VzL0xpbmVDaGFydERhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0YS9jbGFzc2VzL1BpZUNoYXJ0RGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhL2NsYXNzZXMvQXJlYUNoYXJ0RGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhL2NsYXNzZXMvVmVydGljYWwyRENoYXJ0RGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhL2NsYXNzZXMvVmVydGljYWxDaGFydERhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0YS9jbGFzc2VzL1ZlcnRpY2FsU3RhY2tlZENoYXJ0RGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9jbGFzc2VzL0FyZWFDaGFydFNldHRpbmdzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NldHRpbmdzL2NsYXNzZXMvTGluZUNoYXJ0U2V0dGluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3MvY2xhc3Nlcy9QaWVDaGFydFNldHRpbmdzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NldHRpbmdzL2NsYXNzZXMvVmVydGljYWwyRENoYXJ0U2V0dGluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3MvY2xhc3Nlcy9WZXJ0aWNhbENoYXJ0U2V0dGluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3MvY2xhc3Nlcy9WZXJ0aWNhbFN0YWNrZWRDaGFydFNldHRpbmdzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3NldHRpbmdzL2NsYXNzZXMvYmFzZS9CYXNlU2V0dGluZ3MnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2V0dGluZ3MvY2xhc3Nlcy9iYXNlL0Jhc2VJbnRlcnZhbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZXR0aW5ncy9jbGFzc2VzL2Jhc2UvTGVnZW5kUGFkJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGEvY2xhc3Nlcy9iYXNlL0xpbWl0JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGEvY2xhc3Nlcy9iYXNlL0RhdGVWYWx1ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhL2NsYXNzZXMvYmFzZS9LZXlWYWx1ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRhL2NsYXNzZXMvYmFzZS9LZXlWYWx1ZUNvbG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGEvY2xhc3Nlcy9iYXNlL0xpbmVTZXJpZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3BlY2lhbGl6YXRpb25zL2VzLWNoYXJ0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc3BlY2lhbGl6YXRpb25zL2VzLWFyZWEtY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtbGluZS1jaGFydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NwZWNpYWxpemF0aW9ucy9lcy1waWUtY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtdmVydGljYWwtMmQtY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtdmVydGljYWwtY2hhcnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9zcGVjaWFsaXphdGlvbnMvZXMtdmVydGljYWwtc3RhY2tlZC1jaGFydC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY29yZS9jbGFzc2VzL0NoYXJ0VGhlbWVzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGEvY2xhc3Nlcy9QYWdlZENoYXJ0RGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VzLWNoYXJ0cy5tb2R1bGUnOyJdfQ==
|