diff --git a/packages/core/src/navigation/nav-controller-functions.ts b/packages/core/src/navigation/nav-controller-functions.ts index cbb178aa88..1f75757e79 100644 --- a/packages/core/src/navigation/nav-controller-functions.ts +++ b/packages/core/src/navigation/nav-controller-functions.ts @@ -1,4 +1,4 @@ -import { Animation, AnimationOptions } from '../components/animation-controller/animation-interface'; +import { Animation, AnimationOptions, Config } from '..'; import { ComponentDataPair, FrameworkDelegate, @@ -173,6 +173,10 @@ export function setPages(nav: Nav, delegate: FrameworkDelegate, animation: Anima + + + + // private api, exported for testing export function queueTransaction(ti: TransitionInstruction, done: () => void): Promise { const promise = new Promise((resolve, reject) => { @@ -312,8 +316,10 @@ export function loadViewAndTransition(nav: Nav, enteringView: ViewController, le ev: ti.opts.event, }; + + const emptyTransition = transitionFactory(ti.animation); - transition = getHydratedTransition(animationOpts.animation, nav.config, nav.transitionId, emptyTransition, enteringView, leavingView, animationOpts, buildMdTransition); + transition = getHydratedTransition(animationOpts.animation, nav.config, nav.transitionId, emptyTransition, enteringView, leavingView, animationOpts, getDefaultTransition(nav.config)); if (nav.swipeToGoBackTransition) { nav.swipeToGoBackTransition.destroy(); @@ -777,6 +783,10 @@ export function getTopTransaction(id: number) { return toReturn; } +export function getDefaultTransition(config: Config) { + return config.get('mode') === 'md' ? buildMdTransition : buildIOSTransition; +} + let viewIds = VIEW_ID_START; const DISABLE_APP_MINIMUM_DURATION = 64; \ No newline at end of file