mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-08-14 18:12:09 +08:00
42 lines
1.2 KiB
TypeScript
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}`;
|
|
}
|
|
}
|