in src/tooltipBuilder.ts [81:152]
export function createTooltipData(
dataView: DataView,
valuesSource: DataViewMetadataColumn,
seriesValues: TooltipSeriesDataItem[],
localizationManager: ILocalizationManager): VisualTooltipDataItem[] {
const items: VisualTooltipDataItem[] = [];
if (valuesSource) {
// Dynamic series value
let dynamicValue: string;
if (seriesValues.length > 0) {
const dynamicValueMetadata: DataViewMetadataColumn = seriesValues[0].metadata.source;
dynamicValue = getFormattedValue(
valuesSource,
dynamicValueMetadata.groupName);
}
items.push({
displayName: valuesSource.displayName,
value: dynamicValue
});
}
for (let index: number = 0; index < seriesValues.length; index++) {
const seriesData: TooltipSeriesDataItem = seriesValues[index];
if (seriesData && seriesData.metadata) {
const seriesMetadataColumn: DataViewMetadataColumn = seriesData.metadata.source,
value: any = seriesData.value,
highlightedValue: any = seriesData.highlightedValue;
if (value || value === 0) {
let formattedValue: string = getFormattedValue(
seriesMetadataColumn,
value);
items.push({
displayName: seriesMetadataColumn.displayName,
value: formattedValue
});
}
if (highlightedValue || highlightedValue === 0) {
let formattedHighlightedValue: string = getFormattedValue(
seriesMetadataColumn,
highlightedValue);
items.push({
displayName: localizationManager.getDisplayName(HighlightedValueDisplayName),
value: formattedHighlightedValue
});
}
if (seriesData.metadata.values) {
let valuesList: string;
if (seriesData.metadata.highlights)
valuesList = seriesData.metadata.highlights.filter(d => d === null ? false : true).join(" ");
else
valuesList = seriesData.metadata.values.join(" ");
items.push({
displayName: localizationManager.getDisplayName(VisualTooltipsValues),
value: valuesList
});
}
}
}
return items;
}