in src/visual.ts [1479:1516]
private continueAnimation(position: AnimationPosition): void {
if (!this.data) {
return;
}
let dataPoint: DataPoint = this.getDatapointFromPosition(position);
let animationPlayingIndex: number = this.animationHandler.animationPlayingIndex;
let isLastDataPoint: boolean = this.animationHandler.isPlaying && this.isAnimationSeriesAndIndexLast(position);
if ((!dataPoint || !dataPoint.popupInfo) && (this.animationHandler.isPlaying)) {
if (isLastDataPoint && !this.isRepeat) {
setTimeout(() => this.animationHandler.toEnd(), 0);
} else {
this.animationHandler.play(0, true);
}
return;
}
if (isLastDataPoint) {
setTimeout(() => this.animationHandler.toEnd(), 0);
} else {
this.animationHandler.pause();
}
clearTimeout(this.handleSelectionTimeout);
this.handleSelectionTimeout = <any>setTimeout(() => {
if (this.animationHandler.animationPlayingIndex !== animationPlayingIndex) {
return;
}
if (isLastDataPoint || this.animationHandler.isPaused) {
this.onClearSelection();
}
if (!isLastDataPoint && this.animationHandler.isPaused) {
this.animationHandler.play();
}
}, this.pauseDuration);
}