in viz-lib/src/visualizations/counter/utils.js [69:116]
export function getCounterData(rows, options, visualizationName) {
const result = {};
const rowsCount = rows.length;
if (rowsCount > 0 || options.countRow) {
const counterColName = options.counterColName;
const targetColName = options.targetColName;
result.counterLabel = options.counterLabel || visualizationName;
if (options.countRow) {
result.counterValue = rowsCount;
} else if (counterColName) {
const rowNumber = getRowNumber(options.rowNumber, rowsCount);
result.counterValue = rows[rowNumber][counterColName];
}
result.showTrend = false;
if (targetColName) {
const targetRowNumber = getRowNumber(options.targetRowNumber, rowsCount);
result.targetValue = rows[targetRowNumber][targetColName];
if (Number.isFinite(result.counterValue) && isFinite(result.targetValue)) {
const delta = result.counterValue - result.targetValue;
result.showTrend = true;
result.trendPositive = delta >= 0;
}
} else {
result.targetValue = null;
}
result.counterValueTooltip = formatTooltip(result.counterValue, options.tooltipFormat);
result.targetValueTooltip = formatTooltip(result.targetValue, options.tooltipFormat);
result.counterValue = formatValue(result.counterValue, options);
if (options.formatTargetValue) {
result.targetValue = formatValue(result.targetValue, options);
} else {
if (isFinite(result.targetValue)) {
result.targetValue = numeral(result.targetValue).format("0[.]00[0]");
}
}
}
return result;
}