function chartDefinition(panel, numberOfSeries) {
const definition = {
title: panel.title,
format: panel.format,
legendValues: panel.legendValues,
series: []
}
if (panel.yMin) {
definition.yMin = panel.yMinValue;
}
if (panel.yMax) {
definition.yMax = panel.yMaxValue;
}
let cnt = 0;
for (let i=1; i<=numberOfSeries; i++) {
const prefix = `s${i}-`;
if (panel[prefix + "metric"] !== "disabled") {
definition.series.push(
{
label: panel[prefix + "label"],
metric: panel[prefix + "metric"],
legend: panel[prefix + "legend"],
tooltip: panel[prefix + "tooltip"],
negativeY: panel[prefix + "negativeY"]
}
);
if (panel[prefix + "line"]) {
definition.series[cnt].lineColor = panel[prefix + "lineColor"]
+ panel[prefix + "lineAlpha"].toString(16).padStart(2, "0");
}
if (panel[prefix + "fill"] !== "disabled") {
definition.series[cnt].fillColor = panel[prefix + "fillColor"]
+ panel[prefix + "fillAlpha"].toString(16).padStart(2, "0");
if (panel[prefix + "fill"] === "zero") {
definition.series[cnt].fillToZero = true;
}
else if (panel[prefix + "fill"] !== "bottom") {
definition.series[cnt].fillToMetric = panel[prefix + "fill"];
}
}
cnt++;
}
}
return definition;
}