From 533cb1255963924c6470b791c6504c0e58dfae6a Mon Sep 17 00:00:00 2001 From: Adam Bradley Date: Wed, 13 May 2015 11:56:35 -0500 Subject: [PATCH] toolbar kinda workin --- ionic/components/nav/nav-item.js | 28 ++++++++++++++++----------- ionic/components/toolbar/toolbar.js | 9 ++++++--- ionic/components/toolbar/toolbar.scss | 6 ++++++ 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/ionic/components/nav/nav-item.js b/ionic/components/nav/nav-item.js index 908d25ec14..8157ead331 100644 --- a/ionic/components/nav/nav-item.js +++ b/ionic/components/nav/nav-item.js @@ -13,24 +13,25 @@ export class NavItem { this.params = params; this.id = util.nextUid(); this.headers = []; - this.created = false; } setup() { if (!this.created) { return this.create(); } - return Promise.resolve(); } create() { + this.created = true; + let resolve; let promise = new Promise((res) => { resolve = res; }); let injector = this.nav.injector.resolveAndCreateChild([ bind(NavController).toValue(this.nav.navCtrl), - bind(NavParams).toValue(new NavParams(this.params)) + bind(NavParams).toValue(new NavParams(this.params)), + bind(NavItem).toValue(this) ]); this.nav.loader.loadNextToExistingLocation(this.Class, this.nav.itemContent.elementRef, injector).then((componentRef) => { @@ -41,21 +42,26 @@ export class NavItem { this.domElement.classList.add('nav-item'); this.domElement.setAttribute('data-nav-item-id', this.id); - this.created = true; + for (let i = 0; i < this.headers.length; i++) { + this.createToolbar(this.headers[i], injector); + } + resolve(); }); - // let vc = new ViewContainerRef(this.nav.viewManager, this.nav.elementRef); - - // debugger - // let view = vc.create(this.Class, -1, this.nav.itemContent.elementRef, injector); - - return promise; } + createToolbar(ToolbarClass, injector) { + let vc = new ViewContainerRef(this.nav.viewManager, this.nav.itemHeader.elementRef); + + let protoViewRef = ToolbarClass.protoViewRef; + + let view = vc.create(protoViewRef, -1, this.nav.itemHeader.elementRef, injector); + } + addToolbar(position, toolbar) { - headers.push(toolbar); + this.headers.push(toolbar); } destroy() { diff --git a/ionic/components/toolbar/toolbar.js b/ionic/components/toolbar/toolbar.js index caac6f0119..0d0184e125 100644 --- a/ionic/components/toolbar/toolbar.js +++ b/ionic/components/toolbar/toolbar.js @@ -1,6 +1,7 @@ import {Component, Directive} from 'angular2/src/core/annotations_impl/annotations'; import {ElementRef} from 'angular2/src/core/compiler/element_ref'; -import {ViewContainerRef} from 'angular2/angular2'; +import {ViewContainerRef} from 'angular2/src/core/compiler/view_container_ref'; +import {ProtoViewRef} from 'angular2/src/core/compiler/view_ref'; import * as dom from 'ionic/util/dom' import {IonicComponent} from 'ionic/config/component'; @@ -17,11 +18,13 @@ import {Platform} from 'ionic/platform/platform'; export class Toolbar { constructor( - viewContainer: ViewContainerRef, + viewContainerRef: ViewContainerRef, + protoViewRef: ProtoViewRef, elementRef: ElementRef, navItem: NavItem ) { - this.viewContainer = viewContainer; + this.viewContainerRef = viewContainerRef; + this.protoViewRef = protoViewRef; this.elementRef = elementRef; this.navItem = navItem; diff --git a/ionic/components/toolbar/toolbar.scss b/ionic/components/toolbar/toolbar.scss index f411521a01..1e4a333790 100644 --- a/ionic/components/toolbar/toolbar.scss +++ b/ionic/components/toolbar/toolbar.scss @@ -1,4 +1,10 @@ +/// HACK +header { + background: white; +} + + // Toolbar // --------------------------------------------------