in src/visualComponent/sparkline/svgComponent.ts [114:155]
public render(options: ISparklineComponentRenderOptions): void {
const maxThickness: number = !options || !options.series
? 0
: options.series.reduce((previousValue: number, series: IDataRepresentationSeries) => {
return Math.max(previousValue, series.settings.sparklineChart.getRadius());
}, 0);
const margin: IMargin = this.getMarginByThickness(maxThickness);
const viewport: powerbiVisualsApi.IViewport = {
height: Math.max(0, options.viewport.height - margin.top - margin.bottom),
width: Math.max(0, options.viewport.width - margin.left - margin.right),
};
this.renderOptions = {
...options,
viewport,
};
this.updateSize(
options.viewport.width,
options.viewport.height,
);
this.updateMargin(this.element, margin);
this.multiLineComponent.render(this.renderOptions);
this.axisComponent.render({
series: this.renderOptions.current,
settings: this.renderOptions.current.settings.sparklineYAxis,
viewport: this.renderOptions.viewport,
y: this.renderOptions.current.ySparkline,
});
this.onCurrentDataPointIndexChange(
this.renderOptions
&& this.renderOptions.current
&& this.renderOptions.current.current
&& this.renderOptions.current.current.index,
);
}