in src/converter/data/dataConverter.ts [523:681]
protected applyDataToCurrentSeries(data: ICurrentSeriesData): void {
if (!data) {
return;
}
const {
dataRepresentation,
series,
series: { settings },
axisValue,
currentValue,
currentFormat,
currentValueColumnName,
comparisonValue,
comparisonFormat,
comparisonValueColumnName,
isComparisonValueSpecified,
kpiIndicatorIndex,
isKPIIndicatorIndexSpecified,
kpiIndicatorValue,
kpiIndicatorValueFormat,
isKPIIndicatorValueSpecified,
secondComparisonValue,
secondComparisonValueFormat,
isSecondComparisonValueSpecified,
isSecondKPIIndicatorValueSpecified,
secondComparisonValueColumnName,
secondKPIIndicatorValue,
secondKPIIndicatorValueFormat,
} = data;
const isCurrentValueValid: boolean = settings.currentValue.shouldTreatZeroValuesAsNulls
? NumericValueUtils.isValueValid(currentValue)
: NumericValueUtils.isValueFinite(currentValue);
if (axisValue !== undefined && axisValue !== null && isCurrentValueValid) {
this.applyXArguments(series, axisValue, dataRepresentation.type);
series.axisValue = axisValue;
series.axisValues.push(axisValue);
series.currentValue = currentValue;
series.points[0] = this.updatePointSet(
series.points[0],
currentValueColumnName,
series.settings.currentValue,
settings.sparklineSettings.isActualVisible,
axisValue,
currentValue,
series.settings.sparklineSettings.actualColor,
series.settings.sparklineSettings.actualThickness,
series.settings.sparklineSettings.actualLineStyle,
dataRepresentation.y,
);
series.comparisonValue = NumericValueUtils.isValueValid(comparisonValue)
? comparisonValue
: NaN;
if (isComparisonValueSpecified) {
series.points[1] = this.updatePointSet(
series.points[1],
comparisonValueColumnName,
series.settings.comparisonValue,
settings.sparklineSettings.isTargetVisible,
axisValue,
series.comparisonValue,
series.settings.sparklineSettings.targetColor,
series.settings.sparklineSettings.targetThickness,
series.settings.sparklineSettings.targetLineStyle,
dataRepresentation.y,
);
}
series.secondComparisonValue = NumericValueUtils.isValueValid(secondComparisonValue)
? secondComparisonValue
: NaN;
if (isSecondComparisonValueSpecified) {
series.points[2] = this.updatePointSet(
series.points[2],
secondComparisonValueColumnName,
series.settings.secondComparisonValue,
settings.sparklineSettings.isSecondComparisonValueVisible,
axisValue,
series.secondComparisonValue,
series.settings.sparklineSettings.secondComparisonValueColor,
series.settings.sparklineSettings.secondComparisonValueThickness,
series.settings.sparklineSettings.secondComparisonValueLineStyle,
dataRepresentation.y,
);
}
if (settings.sparklineSettings.isActualVisible) {
DataConverter.applyYArguments(series.y, series.currentValue);
}
if (settings.sparklineSettings.isTargetVisible) {
DataConverter.applyYArguments(series.y, series.comparisonValue);
}
if (settings.sparklineSettings.isSecondComparisonValueVisible) {
DataConverter.applyYArguments(series.y, series.secondComparisonValue);
}
series.kpiIndicatorIndex = NumericValueUtils.isValueFinite(kpiIndicatorIndex)
? kpiIndicatorIndex
: NaN;
if (isKPIIndicatorIndexSpecified) {
series.points[0].kpiIndicatorIndexes.push(kpiIndicatorIndex);
if (series.settings.sparklineSettings.isActualVisible
&& series.settings.sparklineSettings.shouldActualUseKPIColors
&& series.points[0]
) {
const currentKPI: IKPIIndicatorSettings = settings
.kpiIndicator
.getCurrentKPI(kpiIndicatorIndex);
const color: string = currentKPI && currentKPI.color
|| series.points[0].color;
series.points[0].colors.push(color);
}
}
series.kpiIndicatorValue = this.getVariance(
isKPIIndicatorValueSpecified,
kpiIndicatorValue,
series.currentValue,
series.comparisonValue,
);
series.secondKPIIndicatorValue = this.getVariance(
isSecondKPIIndicatorValueSpecified,
secondKPIIndicatorValue,
series.currentValue,
series.secondComparisonValue,
);
series.varianceSet[0] = this.updateVariance(
series.varianceSet[0],
series.kpiIndicatorValue,
);
series.varianceSet[1] = this.updateVariance(
series.varianceSet[1],
series.secondKPIIndicatorValue,
);
}
settings.currentValue.setColumnFormat(currentFormat);
settings.comparisonValue.setColumnFormat(comparisonFormat);
settings.kpiIndicatorValue.setColumnFormat(kpiIndicatorValueFormat);
settings.secondComparisonValue.setColumnFormat(secondComparisonValueFormat);
settings.secondKPIIndicatorValue.setColumnFormat(secondKPIIndicatorValueFormat);
}