in src/dataViewBuilder/dataViewBuilder.ts [213:256]
private fillData(dataViewValues: DataViewValueColumns) {
let categoryColumn = first(this.categories),
categoryLength = (categoryColumn && categoryColumn.values)
? categoryColumn.values.length
: 0;
if (this.hasDynamicSeries()) {
for (let seriesIndex = 0, seriesLength = this.dynamicSeriesMetadata.values.length;
seriesIndex < seriesLength;
seriesIndex++) {
let seriesMeasures = this.dynamicSeriesValues[seriesIndex];
for (let measureIndex = 0, measuresLen = this.dynamicMeasureColumns.length;
measureIndex < measuresLen;
measureIndex++) {
let groupIndex: number = seriesIndex * measuresLen + measureIndex;
applySeriesData(
dataViewValues[groupIndex],
seriesMeasures[measureIndex],
categoryLength);
}
}
}
if (this.hasStaticSeries()) {
// Note: when the target categorical has both dynamic and static series, append static measures at the end of the values array.
let staticColumnsStartingIndex = this.hasDynamicSeries()
? (this.dynamicSeriesValues.length * this.dynamicMeasureColumns.length)
: 0;
for (let measureIndex = 0, measuresLen = this.staticMeasureColumns.length;
measureIndex < measuresLen;
measureIndex++) {
applySeriesData(
dataViewValues[staticColumnsStartingIndex + measureIndex],
this.staticSeriesValues[measureIndex],
categoryLength);
}
}
}