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