in src/tooltipBuilder.ts [57:117]
export function createTooltipInfo(
dataViewCat: DataViewCategorical,
categoryValue: any,
localizationManager,
value?: any,
seriesIndex?: number): VisualTooltipDataItem[] {
let categorySource: TooltipCategoryDataItem,
seriesSource: TooltipSeriesDataItem[] = [],
valuesSource: DataViewMetadataColumn = undefined;
seriesIndex = seriesIndex | DefaultSeriesIndex;
let categoriesData: DataViewCategoricalColumn[] = dataViewCat && dataViewCat.categories;
if (categoriesData && categoriesData.length > 0) {
if (categoriesData.length > 1) {
let compositeCategoriesData: DataViewMetadataColumn[] = [];
for (let i: number = 0, ilen: number = categoriesData.length; i < ilen; i++) {
compositeCategoriesData.push(categoriesData[i].source);
}
categorySource = {
value: categoryValue,
metadata: compositeCategoriesData
};
}
else {
categorySource = {
value: categoryValue,
metadata: [categoriesData[0].source]
};
}
}
if (dataViewCat && dataViewCat.values) {
if (!categorySource || !(categorySource.metadata[0] === dataViewCat.values.source)) {
valuesSource = dataViewCat.values.source;
}
if (dataViewCat.values.length > 0) {
let valueColumn: DataViewValueColumn = dataViewCat.values[seriesIndex],
isAutoGeneratedColumn: boolean = !!(valueColumn
&& valueColumn.source
&& (<any>valueColumn.source).isAutoGeneratedColumn);
if (!isAutoGeneratedColumn) {
seriesSource.push({
value: value,
metadata: valueColumn
});
}
}
}
return createTooltipData(
categorySource,
valuesSource,
seriesSource,
localizationManager);
}