in src/tooltipBuilder.ts [119:210]
export function createTooltipData(
categoryValue: TooltipCategoryDataItem,
valuesSource: DataViewMetadataColumn,
seriesValues: TooltipSeriesDataItem[],
localizationManager: ILocalizationManager): VisualTooltipDataItem[] {
let items: VisualTooltipDataItem[] = [];
if (categoryValue) {
if (categoryValue.metadata.length > 1) {
let displayName: string = DefaultDisplayName;
for (let i = 0, ilen = categoryValue.metadata.length; i < ilen; i++) {
if (i !== 0) {
displayName += DisplayNameSeparator;
}
displayName += categoryValue.metadata[i].displayName;
}
let categoryFormattedValue: string = getFormattedValue(
categoryValue.metadata[0],
categoryValue.value);
items.push({
displayName,
value: categoryFormattedValue
});
}
else {
let categoryFormattedValue: string = getFormattedValue(
categoryValue.metadata[0],
categoryValue.value);
items.push({
displayName: categoryValue.metadata[0].displayName,
value: categoryFormattedValue
});
}
}
if (valuesSource) {
// Dynamic series value
let dynamicValue: string;
if (seriesValues.length > 0) {
let dynamicValueMetadata: DataViewMetadataColumn = seriesValues[0].metadata.source;
dynamicValue = getFormattedValue(
valuesSource,
dynamicValueMetadata.groupName);
}
items.push({
displayName: valuesSource.displayName,
value: dynamicValue
});
}
for (let i = 0; i < seriesValues.length; i++) {
let seriesData: TooltipSeriesDataItem = seriesValues[i];
if (seriesData && seriesData.metadata) {
let 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("Visual_Hightlighted"),
value: formattedHighlightedValue
});
}
}
}
return items;
}