in src/TornadoChart.ts [295:352]
public static PARSE_SERIES(
dataView: DataView,
dataViewValueColumns: DataViewValueColumns,
hostService: IVisualHost,
index: number,
isGrouped: boolean,
columnGroup: DataViewValueColumnGroup,
colors: IColorPalette): TornadoChartSeries {
if (!dataView) {
return;
}
let dataViewValueColumn: DataViewValueColumn = dataViewValueColumns ? dataViewValueColumns[index] : null,
source: DataViewMetadataColumn = dataViewValueColumn ? dataViewValueColumn.source : null,
identity: any = columnGroup ? columnGroup.identity : null,
queryName: string = source ? source.queryName : null;
let selectionId: ISelectionId = hostService.createSelectionIdBuilder()
.withSeries(dataViewValueColumns, columnGroup)
.withMeasure(queryName)
.createSelectionId();
let sourceGroupName: string = null;
if (source.groupName !== undefined && source.groupName !== null) {
sourceGroupName = "" + source.groupName;
}
let objects: DataViewObjects,
categoryAxisObject: DataViewObject | DataViewObjectWithId[],
displayName: PrimitiveValue = source ? sourceGroupName
? sourceGroupName : source.displayName
: null;
if (isGrouped && columnGroup && columnGroup.objects) {
categoryAxisObject = columnGroup.objects ? columnGroup.objects["categoryAxis"] : null;
objects = columnGroup.objects;
} else if (source && source.objects) {
objects = source.objects;
categoryAxisObject = objects ? objects["categoryAxis"] : null;
} else if (dataView && dataView.metadata && dataView.metadata.objects) {
objects = dataView.metadata.objects;
}
let fillColor: string = TornadoChart.getColor(
tornadoChartProperties.dataPoint.fill,
["purple", "teal"][index],
objects, colors);
let categoryAxisEnd: number = categoryAxisObject ? categoryAxisObject["end"] : null;
return <TornadoChartSeries>{
fill: fillColor,
name: displayName,
selectionId: selectionId,
categoryAxisEnd: categoryAxisEnd,
};
}