diff --git a/ionic/components/app/test/barkpark/main.js b/ionic/components/app/test/barkpark/main.js index d04df3883c..fd73f1eeca 100644 --- a/ionic/components/app/test/barkpark/main.js +++ b/ionic/components/app/test/barkpark/main.js @@ -1,8 +1,8 @@ -import {Router} from 'ionic/routing/router' +//import {Router} from 'ionic/routing/router' import {For, Component, View as NgView, Parent, bootstrap} from 'angular2/angular2' import {FormBuilder, Validators, FormDirectives, ControlGroup} from 'angular2/forms'; import {Log} from 'ionic/util' -import {List, Item, Nav, View, Button, Input, Tabs, Tab, Content, NavPane, Aside} from 'ionic/ionic' +import {Router, List, Item, Nav, View, Button, Input, Tabs, Tab, Content, Aside} from 'ionic/ionic' @Component({ selector: 'login-page' @@ -94,8 +94,9 @@ export class AppPage { directives: [For, View, Content, List, Item] }) class StreamTab { - constructor(navPane: NavPane) { - this.navPane = navPane; + constructor(@Parent() viewport: Nav) { + //this.navPane = navPane; + this.navPane = viewport; this.posts = [ {'title': 'Just barked my first bark'}, {'title': 'Went poopy' } @@ -117,8 +118,8 @@ class StreamTab { directives: [View, Content] }) class PostDetail { - constructor(navPane: NavPane) { - this.navPane = navPane + constructor(@Parent() viewport: Nav) { + this.navPane = viewport; this.title = 'Hello' } selectItem() { @@ -132,8 +133,9 @@ class PostDetail { directives: [View, Content] }) class SplashPage { - constructor(navPane: NavPane) { - window.navPane = navPane; + constructor(@Parent() viewport: Nav) { + this.navPane = viewport; + window.navPane = viewport; } } @@ -151,29 +153,22 @@ class IonicApp { this.firstPage = SplashPage//AppPage//LoginPage setTimeout(function() { - // TODO: HACK var nav = window.navPane; var route = new Router() - route.on('/login', (e) => { - console.log('ROUTE: Login page') - nav.push(LoginPage, { - sync: true + route.on('/login', (data) => { + nav.push(LoginPage, null, { + animate: false }) }) - route.on('/post/:id', (match) => { - console.log('ROUTE: Post page', match) - nav.push(PostDetail); + + route.on('/post/:id', (data) => { + console.log('ROUTE: Post page', data) + nav.push(PostDetail, data); }) - /* - route.on('/signup', (e) => { - console.log('ROUTE: Signup page') - nav.push(SignupPage) - }) - */ - }, 2000); + }, 200); } } diff --git a/ionic/components/app/test/hn/hn.js b/ionic/components/app/test/hn/hn.js index 49fc815369..af7902f8c9 100644 --- a/ionic/components/app/test/hn/hn.js +++ b/ionic/components/app/test/hn/hn.js @@ -1,13 +1,33 @@ -export class HackerNews { +import {Promise} from 'angular2/src/facade/async'; +console.log(Promise); + +var APIUrl = 'https://hacker-news.firebaseio.com/v0'; +export class HackerNewsClient { constructor() { - this.fb = new Firebase('https://hacker-news.firebaseio.com/v0'); - this.getPosts(); + this.fb = new Firebase(APIUrl); } - getPosts() { - console.log('GETTING POSTS'); - this.fb.child('topstories').on('value', function(snapshot) { - console.log(snapshot.val()); + getTopStories(cb) { + console.log('GETTING TOP STORIES'); + + this.fb.child('topstories').on('value', (snapshot) => { + + let items = snapshot.val(); + + console.log('Fetched', items.length, 'items'); + + for(var itemID of items) { + + this.fb.child("item").child(itemID).on('value', (data) => { + + cb(data.val()); + + //console.log(data.val()); + }); + } }); } } + +var HackerNews = new HackerNewsClient(); +export { HackerNews }; diff --git a/ionic/components/app/test/hn/main.js b/ionic/components/app/test/hn/main.js index 6ac6d4fad4..52514019bb 100644 --- a/ionic/components/app/test/hn/main.js +++ b/ionic/components/app/test/hn/main.js @@ -1,28 +1,24 @@ import {Descendent, NgElement, Component, View as NgView, bootstrap} from 'angular2/angular2'; +import {bind} from 'angular2/di'; import {View, Content, Nav, NavPane} from 'ionic/ionic'; import {HackerNews} from 'hn'; -import {HNSplashPage} from 'pages/splash'; +import {HNTopStories} from 'pages/top'; @Component({ selector: '[ion-app]' }) @NgView({ templateUrl: 'main.html', directives: [View, Content, Nav, NavPane] }) -class IonicApp { +export class HNApp { constructor( @NgElement() element:NgElement ) { - console.log('IonicApp start: HackerNews') + console.log('IonicApp start: HackerNews', HackerNews) - this.splashPage = HNSplashPage - - // Timeout so Firebase can be resolved - setTimeout(() => { - this.hn = new HackerNews(); - }); + this.splashPage = HNTopStories } } -bootstrap(IonicApp) +bootstrap(HNApp); diff --git a/ionic/components/app/test/hn/pages/splash.html b/ionic/components/app/test/hn/pages/splash.html deleted file mode 100644 index 03ef0c60f6..0000000000 --- a/ionic/components/app/test/hn/pages/splash.html +++ /dev/null @@ -1,3 +0,0 @@ -