private onCurrentDataPointIndexChange()

in src/visualComponent/sparkline/svgComponent.ts [165:199]


    private onCurrentDataPointIndexChange(index: number): void {
        if (this.renderOptions
            && this.renderOptions.series
            && this.renderOptions.current
            && index !== undefined
            && index !== null
            && !isNaN(index)
        ) {
            const points: IDataRepresentationPoint[] = [];

            this.renderOptions.series.forEach((series: IDataRepresentationSeries) => {
                const point: IDataRepresentationPoint = this.getClosestValidPoint(
                    series.smoothedPoints,
                    index,
                );

                if (point) {
                    points.push(point);
                }
            });

            this.forEach(
                this.dynamicComponents,
                (component: IVisualComponent<IDotsComponentRenderOptions>) => {
                    component.render({
                        points,
                        settings: this.renderOptions.current.settings.sparklineChart,
                        viewport: this.renderOptions.viewport,
                        x: this.renderOptions.current.x,
                        y: this.renderOptions.current.ySparkline,
                    });
                },
            );
        }
    }