mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-22 21:48:42 +08:00
fix(tabs): regression in nav-controller-base
This commit is contained in:
@ -31,7 +31,7 @@
|
||||
</a>
|
||||
|
||||
<ion-item-options side="left">
|
||||
<button ion-button icon-only (click)="noclose(item100)">
|
||||
<button ion-button (click)="noclose(item100)">
|
||||
No close
|
||||
</button>
|
||||
</ion-item-options>
|
||||
|
@ -521,6 +521,14 @@ export class NavControllerBase extends Ion implements NavController {
|
||||
this._sbTrns = transition;
|
||||
}
|
||||
|
||||
// transition start has to be registered before attaching the view to the DOM!
|
||||
transition.registerStart(() => {
|
||||
this._trnsStart(transition, enteringView, leavingView, opts, resolve);
|
||||
if (transition.parent) {
|
||||
transition.parent.start();
|
||||
}
|
||||
});
|
||||
|
||||
if (enteringView && enteringView._state === ViewState.INITIALIZED) {
|
||||
// render the entering component in the DOM
|
||||
// this would also render new child navs/views
|
||||
@ -531,13 +539,6 @@ export class NavControllerBase extends Ion implements NavController {
|
||||
console.debug('enteringView state is not INITIALIZED', enteringView);
|
||||
}
|
||||
|
||||
transition.registerStart(() => {
|
||||
this._trnsStart(transition, enteringView, leavingView, opts, resolve);
|
||||
if (transition.parent) {
|
||||
transition.parent.start();
|
||||
}
|
||||
});
|
||||
|
||||
if (!transition.hasChildren) {
|
||||
// lowest level transition, so kick it off and let it bubble up to start all of them
|
||||
transition.start();
|
||||
@ -633,8 +634,9 @@ export class NavControllerBase extends Ion implements NavController {
|
||||
// mainly for testing
|
||||
let enteringName: string;
|
||||
let leavingName: string;
|
||||
let hasCompleted = transition.hasCompleted;
|
||||
|
||||
if (transition.hasCompleted) {
|
||||
if (hasCompleted) {
|
||||
// transition has completed (went from 0 to 1)
|
||||
if (transition.enteringView) {
|
||||
enteringName = transition.enteringView.name;
|
||||
@ -671,7 +673,7 @@ export class NavControllerBase extends Ion implements NavController {
|
||||
}
|
||||
|
||||
// congrats, we did it!
|
||||
resolve(transition.hasCompleted, true, enteringName, leavingName, opts.direction);
|
||||
resolve(hasCompleted, true, enteringName, leavingName, opts.direction);
|
||||
}
|
||||
|
||||
_insertViewAt(view: ViewController, index: number) {
|
||||
|
@ -156,11 +156,13 @@ export function reorderArray(array: any[], indexes: {from: number, to: number}):
|
||||
return array;
|
||||
}
|
||||
|
||||
|
||||
const ASSERT_ENABLED = true;
|
||||
/**
|
||||
* @private
|
||||
*/
|
||||
function _assert(actual: any, reason?: string) {
|
||||
if (!actual) {
|
||||
if (!actual && ASSERT_ENABLED === true) {
|
||||
let message = 'IONIC ASSERT: ' + reason;
|
||||
console.error(message);
|
||||
throw new Error(message);
|
||||
|
Reference in New Issue
Block a user