Skip to content

Commit d84d8a6

Browse files
committed
fix(tabs): regression in nav-controller-base
1 parent 5ad4c54 commit d84d8a6

File tree

3 files changed

+15
-11
lines changed

3 files changed

+15
-11
lines changed

src/components/item/test/sliding/main.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ <h2>HubStruck Notifications</h2>
3131
</a>
3232

3333
<ion-item-options side="left">
34-
<button ion-button icon-only (click)="noclose(item100)">
34+
<button ion-button (click)="noclose(item100)">
3535
No close
3636
</button>
3737
</ion-item-options>

src/navigation/nav-controller-base.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,14 @@ export class NavControllerBase extends Ion implements NavController {
521521
this._sbTrns = transition;
522522
}
523523

524+
// transition start has to be registered before attaching the view to the DOM!
525+
transition.registerStart(() => {
526+
this._trnsStart(transition, enteringView, leavingView, opts, resolve);
527+
if (transition.parent) {
528+
transition.parent.start();
529+
}
530+
});
531+
524532
if (enteringView && enteringView._state === ViewState.INITIALIZED) {
525533
// render the entering component in the DOM
526534
// this would also render new child navs/views
@@ -531,13 +539,6 @@ export class NavControllerBase extends Ion implements NavController {
531539
console.debug('enteringView state is not INITIALIZED', enteringView);
532540
}
533541

534-
transition.registerStart(() => {
535-
this._trnsStart(transition, enteringView, leavingView, opts, resolve);
536-
if (transition.parent) {
537-
transition.parent.start();
538-
}
539-
});
540-
541542
if (!transition.hasChildren) {
542543
// lowest level transition, so kick it off and let it bubble up to start all of them
543544
transition.start();
@@ -633,8 +634,9 @@ export class NavControllerBase extends Ion implements NavController {
633634
// mainly for testing
634635
let enteringName: string;
635636
let leavingName: string;
637+
let hasCompleted = transition.hasCompleted;
636638

637-
if (transition.hasCompleted) {
639+
if (hasCompleted) {
638640
// transition has completed (went from 0 to 1)
639641
if (transition.enteringView) {
640642
enteringName = transition.enteringView.name;
@@ -671,7 +673,7 @@ export class NavControllerBase extends Ion implements NavController {
671673
}
672674

673675
// congrats, we did it!
674-
resolve(transition.hasCompleted, true, enteringName, leavingName, opts.direction);
676+
resolve(hasCompleted, true, enteringName, leavingName, opts.direction);
675677
}
676678

677679
_insertViewAt(view: ViewController, index: number) {

src/util/util.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,11 +156,13 @@ export function reorderArray(array: any[], indexes: {from: number, to: number}):
156156
return array;
157157
}
158158

159+
160+
const ASSERT_ENABLED = true;
159161
/**
160162
* @private
161163
*/
162164
function _assert(actual: any, reason?: string) {
163-
if (!actual) {
165+
if (!actual && ASSERT_ENABLED === true) {
164166
let message = 'IONIC ASSERT: ' + reason;
165167
console.error(message);
166168
throw new Error(message);

0 commit comments

Comments
 (0)