in src/visualComponent/table/cell/sparkline/dynamic/tooltipComponent.ts [64:141]
public render(options: IDynamicComponentRenderOptions): void {
if (!options) {
return;
}
const {
series,
position,
metadata,
} = options;
const baseDataItems: IVisualTooltipDataItem[] = [];
if (NumericValueUtils.isValueDefined(series.axisValue)) {
const asOfDateFormatter: valueFormatter.IValueFormatter = FormattingUtils.getFormatterOfAxisValue(
series.x.min,
series.x.max,
series.x.scale.type,
metadata,
series.settings.asOfDate,
);
baseDataItems.push({
color: this.transparentColor,
displayName: "",
markerShape: this.getTooltipMarkerShape(TooltipMarkerShapeEnum.circle),
value: asOfDateFormatter.format(series.axisValue),
});
}
this.addValueTooltip(
baseDataItems,
this.getVarianceTooltip(
series.varianceSet && series.varianceSet[0],
series.settings.kpiIndicatorValue,
series.points[0] && series.points[0].kpiIndicatorIndexes,
series.settings.kpiIndicator,
),
);
this.addValueTooltip(
baseDataItems,
this.getVarianceTooltip(
series.varianceSet && series.varianceSet[1],
series.settings.secondKPIIndicatorValue,
null,
null,
),
);
const additionalDataItems: IVisualTooltipDataItem[] = [];
series.points.forEach((pointSet: IDataRepresentationPointSet) => {
this.addValueTooltip(
additionalDataItems,
this.getValueTooltip(pointSet),
);
});
if (additionalDataItems && additionalDataItems.length) {
baseDataItems.push(
this.getTooltipSeparator(),
this.getTooltipSeparator(),
);
baseDataItems.push(...additionalDataItems);
}
const coordinates: [number, number] = this.getCoordinates(
position.x,
position.y,
);
this.renderTooltip(
baseDataItems,
coordinates,
);
}