From 41ac9287d94c1690d596ed680b46f89805d76791 Mon Sep 17 00:00:00 2001 From: Andrew Date: Sat, 25 Apr 2015 12:57:38 -0500 Subject: [PATCH] update angular again --- gulpfile.js | 13 ++++++++++--- ionic/components/app/test/barkpark/main.js | 2 ++ ionic/components/aside/aside.js | 4 ++-- ionic/components/checkbox/checkbox.js | 4 ++-- ionic/components/nav-pane/nav-pane.js | 12 +++++++----- ionic/components/nav-viewport/nav-viewport.js | 2 +- ionic/components/search-bar/search-bar.js | 4 ++-- ionic/components/split-view/split-view.js | 2 +- ionic/components/switch/switch.js | 2 +- ionic/components/tabs/tab.js | 2 +- ionic/components/tabs/tabs.js | 4 ++-- ionic/components/toolbar/back-button.js | 2 +- ionic/components/toolbar/toolbar.js | 5 ++--- ionic/components/view/view.js | 2 +- ionic/config/component.js | 2 +- ionic/ionic.js | 8 ++++++++ 16 files changed, 44 insertions(+), 26 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 0eede26ee6..701511cb20 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -75,7 +75,7 @@ gulp.task('clean', function(done) { del([buildConfig.dist], done) }) -gulp.task('e2e', ['ionic-js', 'sass'], function() { +gulp.task('e2e', ['ionic-js', 'sass', 'ng2-copy'], function() { var indexContents = _.template( fs.readFileSync('scripts/e2e/index.template.html') )({ buildConfig: buildConfig }); @@ -118,9 +118,11 @@ gulp.task('e2e', ['ionic-js', 'sass'], function() { 'ionic/ionic': { build: false }, }, map: { - hammer: 'node_modules/hammerjs/hammer' + hammer: 'node_modules/hammerjs/hammer', + rx: 'node_modules/rx' }, paths: { + 'angular2/*': 'dist/lib/angular2/*.js', 'app/*': path.dirname(file.path) + '/*.js' }, }); @@ -162,7 +164,12 @@ gulp.task('e2e', ['ionic-js', 'sass'], function() { }) -gulp.task('ng2', ['lib'], function() { +gulp.task('ng2-copy', function() { + return gulp.src('node_modules/angular2/es6/prod/**/*.es6') + .pipe(rename({ extname: '.js' })) + .pipe(gulp.dest(path.join(buildConfig.distLib, 'angular2'))); +}); +gulp.task('ng2', ['lib', 'ng2-copy'], function() { var builder = new SystemJsBuilder({ paths: { "angular2/*": "node_modules/angular2/es6/prod/*.es6", diff --git a/ionic/components/app/test/barkpark/main.js b/ionic/components/app/test/barkpark/main.js index 27d443f204..99eb93f686 100644 --- a/ionic/components/app/test/barkpark/main.js +++ b/ionic/components/app/test/barkpark/main.js @@ -176,3 +176,5 @@ class IonicApp { }, 2000); } } + +bootstrap(IonicApp); diff --git a/ionic/components/aside/aside.js b/ionic/components/aside/aside.js index 917d83e0aa..9b54352cba 100644 --- a/ionic/components/aside/aside.js +++ b/ionic/components/aside/aside.js @@ -10,7 +10,7 @@ import {IonicComponent} from 'ionic/config/component' @Component({ selector: 'ion-aside', - bind: { + properties: { content: 'content', side: 'side', dragThreshold: 'dragThreshold' @@ -63,7 +63,7 @@ export class Aside { } new IonicComponent(Aside, { - bind: { + properties: { side: { value: 'left' }, diff --git a/ionic/components/checkbox/checkbox.js b/ionic/components/checkbox/checkbox.js index 203c84d6c0..02ef19cf53 100644 --- a/ionic/components/checkbox/checkbox.js +++ b/ionic/components/checkbox/checkbox.js @@ -4,7 +4,7 @@ import {IonicComponent} from 'ionic/config/component' @Component({ selector: 'ion-checkbox', - bind: { + properties: { checked: 'checked' }, events: { @@ -66,7 +66,7 @@ export class Checkbox { } new IonicComponent(Checkbox, { - bind: { + properties: { iconOff: { defaults: { ios: 'ion-ios-circle-outline', diff --git a/ionic/components/nav-pane/nav-pane.js b/ionic/components/nav-pane/nav-pane.js index d889959b27..fac691b151 100644 --- a/ionic/components/nav-pane/nav-pane.js +++ b/ionic/components/nav-pane/nav-pane.js @@ -3,22 +3,24 @@ import { Parent, NgElement, DynamicComponentLoader, - DynamicComponentLocation, - Optional + ElementRef } from 'angular2/angular2' +import {Optional} from 'angular2/src/di/annotations' import {NavViewport} from 'ionic/components/nav-viewport/nav-viewport' import {Tab} from 'ionic/components/tabs/tab' +console.log('names',DynamicComponent.name, Parent.name, NgElement.name, DynamicComponentLoader.name, ElementRef, Optional) + @DynamicComponent({ selector: '.nav-pane', - bind: { + properties: { item: 'item' } }) export class NavPane { constructor( loader: DynamicComponentLoader, - location: DynamicComponentLocation, + location: ElementRef, @NgElement() element: NgElement, // FIXME: this is temporary until ng2 lets us inject tabs as a NavViewport @@ -36,7 +38,7 @@ export class NavPane { this.initialized = true; this.Class = navItem.Class; - this._loader.load(navItem.Class, this._location).then(instance => { + this._loader.loadIntoExistingLocation(navItem.Class, this._location).then(instance => { this.instance = instance navItem.finishSetup(this, instance) }) diff --git a/ionic/components/nav-viewport/nav-viewport.js b/ionic/components/nav-viewport/nav-viewport.js index b85dc15969..a66209409e 100644 --- a/ionic/components/nav-viewport/nav-viewport.js +++ b/ionic/components/nav-viewport/nav-viewport.js @@ -22,7 +22,7 @@ class NavStack { @Component({ selector: 'ion-nav-viewport', - bind: { + properties: { initial: 'initial' }, services: [ diff --git a/ionic/components/search-bar/search-bar.js b/ionic/components/search-bar/search-bar.js index acdde0f5f2..24f3f313c6 100644 --- a/ionic/components/search-bar/search-bar.js +++ b/ionic/components/search-bar/search-bar.js @@ -4,7 +4,7 @@ import {IonicComponent} from 'ionic/config/component' @Component({ selector: 'ion-search-bar', - bind: { + properties: { cancelText: 'cancel-text', placeholderText: 'placeholder-text' } @@ -25,7 +25,7 @@ export class SearchBar { } new IonicComponent(SearchBar, { - bind: { + properties: { cancelText: { defaults: { ios: 'Cancel', diff --git a/ionic/components/split-view/split-view.js b/ionic/components/split-view/split-view.js index 4a3d8cbbd3..9b5147d051 100644 --- a/ionic/components/split-view/split-view.js +++ b/ionic/components/split-view/split-view.js @@ -24,7 +24,7 @@ class SplitViewportDecorator { @Component({ selector: 'ion-split-view', - bind: { + properties: { defaultView: 'defaultView', navTitle: 'navTitle' }, diff --git a/ionic/components/switch/switch.js b/ionic/components/switch/switch.js index 3375c9f588..95b0e942b7 100644 --- a/ionic/components/switch/switch.js +++ b/ionic/components/switch/switch.js @@ -4,7 +4,7 @@ import {IonicComponent} from 'ionic/config/component' @Component({ selector: 'ion-switch', - bind: { + properties: { checked: 'checked' }, events: { diff --git a/ionic/components/tabs/tab.js b/ionic/components/tabs/tab.js index 0d1974abdd..977548c3e2 100644 --- a/ionic/components/tabs/tab.js +++ b/ionic/components/tabs/tab.js @@ -15,7 +15,7 @@ import {IonicComponent} from 'ionic/config/component' @Component({ selector: 'ion-tab', - bind: { + properties: { title: 'tab-title', icon: 'tab-icon', initial: 'initial' diff --git a/ionic/components/tabs/tabs.js b/ionic/components/tabs/tabs.js index 5089c583c6..9b1e2eb64f 100644 --- a/ionic/components/tabs/tabs.js +++ b/ionic/components/tabs/tabs.js @@ -3,7 +3,7 @@ import {IonicComponent} from 'ionic/config/component' @Component({ selector: 'ion-tabs', - bind: { + properties: { tabBarPlacement: 'tab-bar-placement', tabBarIcons: 'tab-bar-icons' } @@ -74,7 +74,7 @@ export class Tabs { } new IonicComponent(Tabs, { - bind: { + properties: { tabBarPlacement: { defaults: { ios: 'bottom', diff --git a/ionic/components/toolbar/back-button.js b/ionic/components/toolbar/back-button.js index c78ea54511..ab65166f90 100644 --- a/ionic/components/toolbar/back-button.js +++ b/ionic/components/toolbar/back-button.js @@ -25,7 +25,7 @@ export class BackButton { } new IonicComponent(BackButton, { - bind: { + properties: { icon: { defaults: { ios: 'ion-ios-arrow-back', diff --git a/ionic/components/toolbar/toolbar.js b/ionic/components/toolbar/toolbar.js index 8677d3460b..1ff7f5d1a5 100644 --- a/ionic/components/toolbar/toolbar.js +++ b/ionic/components/toolbar/toolbar.js @@ -1,12 +1,11 @@ -import {NgElement, Component, View as NgView, Ancestor} from 'angular2/angular2' -import {Optional} from 'angular2/src/di/annotations' +import {NgElement, Component, View as NgView, Ancestor, Optional} from 'angular2/angular2' import {BackButton} from 'ionic/components/toolbar/back-button' import {IonicComponent} from 'ionic/config/component' import {raf} from 'ionic/util/dom' @Component({ selector: 'ion-toolbar', - bind: { + properties: { title: 'nav-title' } }) diff --git a/ionic/components/view/view.js b/ionic/components/view/view.js index fbe0167fc5..7f5dda2529 100644 --- a/ionic/components/view/view.js +++ b/ionic/components/view/view.js @@ -5,7 +5,7 @@ import {IonicComponent} from 'ionic/config/component' @Component({ selector: 'ion-view', - bind: { + properties: { title: 'nav-title' } }) diff --git a/ionic/config/component.js b/ionic/config/component.js index b0ef814dfa..7a32796fdf 100644 --- a/ionic/config/component.js +++ b/ionic/config/component.js @@ -106,7 +106,7 @@ export class IonicComponent { /* @IonicComponent({ selector: 'ion-back-button', - bind: { + properties: { icon: { ios: 'ion-back-ios', android: 'ion-back-android', diff --git a/ionic/ionic.js b/ionic/ionic.js index f956d8b5eb..8a29649ca7 100644 --- a/ionic/ionic.js +++ b/ionic/ionic.js @@ -1,3 +1,11 @@ +import {NgElement} from 'angular2/angular2' +Object.defineProperties(NgElement.prototype, { + domElement: { + get: function() { + return this._view.render.delegate.boundElements[this._boundElementIndex]; + } + } +}); export * from 'ionic/components' export * from 'ionic/platform/platform'