Merge branch 'alpha40'

This commit is contained in:
Adam Bradley
2015-10-09 00:19:31 -05:00
4 changed files with 19 additions and 10 deletions

View File

@ -1,4 +1,4 @@
import {ComponentRef, Compiler, ElementRef, Injector, bind, NgZone, DynamicComponentLoader, AppViewManager} from 'angular2/angular2'; import {Compiler, ElementRef, Injector, bind, NgZone, DynamicComponentLoader, AppViewManager} from 'angular2/angular2';
import {Ion} from '../ion'; import {Ion} from '../ion';
import {makeComponent} from '../../config/decorators'; import {makeComponent} from '../../config/decorators';
@ -305,7 +305,7 @@ export class NavController extends Ion {
* @param opts extra animation options * @param opts extra animation options
*/ */
popToRoot(opts = {}) { popToRoot(opts = {}) {
this.popTo(this._views[0]); this._popTo(this.first());
} }
/** /**
@ -542,7 +542,14 @@ export class NavController extends Ion {
viewContainer.remove(index); viewContainer.remove(index);
} }
}; };
return new ComponentRef(newLocation, component, type, null, dispose);
// TODO: make-shift ComponentRef_, this is pretty much going to
// break in future versions of ng2, keep an eye on it
return {
location: newLocation,
instance: component,
dispose: dispose
};
} }
/** /**

View File

@ -146,7 +146,7 @@ export class Tabs extends NavController {
* TODO * TODO
*/ */
addTab(tab) { addTab(tab) {
this.add(tab.viewCtrl); this._add(tab.viewCtrl);
// return true/false if it's the initial tab // return true/false if it's the initial tab
return (this.length() === 1); return (this.length() === 1);

View File

@ -125,17 +125,19 @@ export function App(args={}) {
// get current annotations // get current annotations
let annotations = Reflect.getMetadata('annotations', cls) || []; let annotations = Reflect.getMetadata('annotations', cls) || [];
// create @Component // default to select <ion-app>
args.selector = args.selector || 'ion-app'; args.selector = args.selector || 'ion-app';
annotations.push(new Component(args));
// create @View // auto add Ionic directives
// if no template was provided, default so it has a root ion-nav args.directives = args.directives ? args.directives.concat(IONIC_DIRECTIVES) : IONIC_DIRECTIVES;
// if no template was provided, default so it has a root <ion-nav>
if (!args.templateUrl && !args.template) { if (!args.templateUrl && !args.template) {
args.template = '<ion-nav></ion-nav>'; args.template = '<ion-nav></ion-nav>';
} }
annotations.push(new PageImpl(args)); // create @Component
annotations.push(new Component(args));
// redefine with added annotations // redefine with added annotations
Reflect.defineMetadata('annotations', annotations, cls); Reflect.defineMetadata('annotations', annotations, cls);

View File

@ -11,7 +11,7 @@
"link": "npm install && gulp src && npm link" "link": "npm install && gulp src && npm link"
}, },
"dependencies": { "dependencies": {
"angular2": "2.0.0-alpha.39", "angular2": "2.0.0-alpha.40",
"@reactivex/rxjs": "0.0.0-prealpha.3", "@reactivex/rxjs": "0.0.0-prealpha.3",
"reflect-metadata": "0.1.1", "reflect-metadata": "0.1.1",
"zone.js": "0.5.8" "zone.js": "0.5.8"