From 2360bb8cc9fae3e517c0fd5235229f446a3f7813 Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Thu, 28 May 2015 22:50:48 -0500 Subject: [PATCH] ngZone.runOutsideAngular navbar title --- ionic/components/nav-bar/nav-bar.js | 10 ++++++---- ionic/components/nav/nav-base.js | 10 +++------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/ionic/components/nav-bar/nav-bar.js b/ionic/components/nav-bar/nav-bar.js index b34ae0c8ac..2bfdd027b2 100644 --- a/ionic/components/nav-bar/nav-bar.js +++ b/ionic/components/nav-bar/nav-bar.js @@ -2,6 +2,7 @@ import {Component, Directive} from 'angular2/src/core/annotations_impl/annotatio import {View} from 'angular2/src/core/annotations_impl/view'; import {ElementRef} from 'angular2/src/core/compiler/element_ref'; import {ProtoViewRef} from 'angular2/src/core/compiler/view_ref'; +import {NgZone} from 'angular2/src/core/zone/ng_zone'; import * as dom from '../../util/dom'; import {Platform} from 'ionic/platform/platform'; @@ -32,13 +33,14 @@ import {BackButton} from './back-button'; directives: [BackButton] }) export class Navbar { - constructor(navItem: NavItem, elementRef: ElementRef) { + constructor(navItem:NavItem, elementRef:ElementRef, ngZone:NgZone) { this.navItem = navItem; this.domElement = elementRef.domElement; - // http://davidwalsh.name/detect-node-insertion - dom.animationStart(this.domElement, 'nodeInserted').then(() => { - this.alignTitle(); + ngZone.runOutsideAngular(() => { + setTimeout(() => { + this.alignTitle(); + }, 32); }); } diff --git a/ionic/components/nav/nav-base.js b/ionic/components/nav/nav-base.js index 73c3f82155..c09884388a 100644 --- a/ionic/components/nav/nav-base.js +++ b/ionic/components/nav/nav-base.js @@ -104,9 +104,6 @@ export class NavBase { opts.isAnimated = opts.animation !== 'none'; - // block possible clicks during transition - ClickBlock(opts.isAnimated, 520); - this.transitionStart(opts); // wait for the new item to complete setup @@ -175,9 +172,6 @@ export class NavBase { let enteringItem = this.getPrevious(leavingItem); enteringItem.shouldDestroy = false; - // block possible clicks during transition - ClickBlock(true); - // start the transition this.transitionStart({ isAnimated: true }); @@ -265,6 +259,8 @@ export class NavBase { transitionStart(opts) { if (opts.isAnimated) { + // block possible clicks during transition + ClickBlock(true, 520); this.getNavElement().classList.add('transitioning'); } } @@ -290,7 +286,7 @@ export class NavBase { } isTransitioning() { - var state; + let state; for (let i = 0, ii = this.items.length; i < ii; i++) { state = this.items[i].state; if (state === ACTIVELY_ENTERING_STATE ||