From 70127346c4f56042dc38b2ab11fbe8faea837767 Mon Sep 17 00:00:00 2001 From: "Manu Mtz.-Almeida" Date: Fri, 16 Sep 2016 17:26:09 +0200 Subject: [PATCH] fix(nav): setRoot() and setPages() should not animate This commit also refactors both methods to avoid deduplicate code, --- src/navigation/nav-controller-base.ts | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/navigation/nav-controller-base.ts b/src/navigation/nav-controller-base.ts index 90c542d09b..635e6318a3 100644 --- a/src/navigation/nav-controller-base.ts +++ b/src/navigation/nav-controller-base.ts @@ -146,19 +146,26 @@ export class NavControllerBase extends Ion implements NavController { } setRoot(pageOrViewCtrl: any, params?: any, opts?: NavOptions, done?: Function): Promise { - return this._queueTrns({ - insertStart: 0, - insertViews: [convertToView(this._linker, pageOrViewCtrl, params)], - removeStart: 0, - removeCount: -1, - opts: opts - }, done); + let viewControllers = [convertToView(this._linker, pageOrViewCtrl, params)]; + return this._setPages(viewControllers, opts, done); } setPages(pages: any[], opts?: NavOptions, done?: Function): Promise { + let viewControllers = convertToViews(this._linker, pages); + return this._setPages(viewControllers, opts, done); + } + + _setPages(viewControllers: ViewController[], opts?: NavOptions, done?: Function): Promise { + if (isBlank(opts)) { + opts = {}; + } + // if animation wasn't set to true then default it to NOT animate + if (opts.animate !== true) { + opts.animate = false; + } return this._queueTrns({ insertStart: 0, - insertViews: convertToViews(this._linker, pages), + insertViews: viewControllers, removeStart: 0, removeCount: -1, opts: opts