mirror of
				https://github.com/NativeScript/NativeScript.git
				synced 2025-11-04 21:06:45 +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}`;
 | 
						|
	}
 | 
						|
}
 |