Files

42 lines
1.2 KiB
TypeScript

import { CORE_ANIMATION_DEFAULTS } from '../../utils/common';
import type { Transition as TransitionType } from '.';
let transitionId = 0;
export class Transition implements TransitionType {
static AndroidTransitionType = {};
id: number;
private _duration: number;
private _curve: UIViewAnimationCurve;
constructor(duration: number = 350, nativeCurve: UIViewAnimationCurve = UIViewAnimationCurve.EaseInOut) {
this._duration = duration ? duration / 1000 : CORE_ANIMATION_DEFAULTS.duration;
this._curve = nativeCurve;
transitionId++;
this.id = transitionId;
}
public getDuration(): number {
return this._duration;
}
public setDuration(value: number) {
this._duration = value;
}
public getCurve(): UIViewAnimationCurve {
return this._curve;
}
public animateIOSTransition(transitionContext: UIViewControllerContextTransitioning, fromViewCtrl: UIViewController, toViewCtrl: UIViewController, operation: UINavigationControllerOperation): void {
throw new Error('Abstract method call');
}
public createAndroidAnimator(transitionType: string): any {
throw new Error('Abstract method call');
}
public toString(): string {
return `Transition@${this.id}`;
}
}