private continueAnimation()

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);
    }