From d187150e7b4353a727eeacb8ef11c47c9252d6e6 Mon Sep 17 00:00:00 2001 From: Max Lynch Date: Tue, 16 Jun 2015 16:06:45 -0500 Subject: [PATCH] Pull to refresh sucking --- ionic/components.js | 1 + .../content/test/pull-to-refresh/index.js | 20 ++++++------ .../content/test/pull-to-refresh/main.html | 3 +- ionic/components/scroll/pull-to-refresh.js | 31 ++++++++++--------- 4 files changed, 29 insertions(+), 26 deletions(-) diff --git a/ionic/components.js b/ionic/components.js index 5dfa573413..6d220408f3 100644 --- a/ionic/components.js +++ b/ionic/components.js @@ -21,6 +21,7 @@ export * from 'ionic/components/nav/nav-push' export * from 'ionic/components/nav-bar/nav-bar' export * from 'ionic/components/slides/slides' export * from 'ionic/components/radio/radio' +export * from 'ionic/components/scroll/pull-to-refresh' export * from 'ionic/components/search-bar/search-bar' // export * from 'ionic/components/split-view/split-view' export * from 'ionic/components/segment/segment' diff --git a/ionic/components/content/test/pull-to-refresh/index.js b/ionic/components/content/test/pull-to-refresh/index.js index 7b78e35250..ce55ef4256 100644 --- a/ionic/components/content/test/pull-to-refresh/index.js +++ b/ionic/components/content/test/pull-to-refresh/index.js @@ -1,22 +1,20 @@ -import {Descendent, NgElement, Component, View, bootstrap} from 'angular2/angular2'; -import {Content} from 'ionic/components/content/content'; -import {Icon} from 'ionic/components/icon/icon'; -import {Checkbox} from 'ionic/components/checkbox/checkbox'; -import {List} from 'ionic/components/list/list'; -import {Refresher} from 'ionic/components/scroll/pull-to-refresh'; +import {bootstrap, NgFor, ProtoViewRef, ViewContainerRef} from 'angular2/angular2' +import {Component, Directive} from 'angular2/src/core/annotations_impl/annotations'; +import {View} from 'angular2/src/core/annotations_impl/view'; +import {Parent} from 'angular2/src/core/annotations_impl/visibility'; + +import {Refresher, Content, List, Item} from 'ionic/ionic'; + @Component({ selector: 'ion-app' }) @View({ templateUrl: 'main.html', - directives: [Content, Icon, Checkbox, List, Refresher] + directives: [Content, List, Item, Refresher] }) class IonicApp { - constructor( - @NgElement() element:NgElement - ) { + constructor() { console.log('IonicApp Start') } - doRefresh() { console.log('DOREFRESH') } diff --git a/ionic/components/content/test/pull-to-refresh/main.html b/ionic/components/content/test/pull-to-refresh/main.html index 213d8ac774..4905565088 100644 --- a/ionic/components/content/test/pull-to-refresh/main.html +++ b/ionic/components/content/test/pull-to-refresh/main.html @@ -1,6 +1,7 @@ - + +
diff --git a/ionic/components/scroll/pull-to-refresh.js b/ionic/components/scroll/pull-to-refresh.js index 61d196af81..9f281360f9 100644 --- a/ionic/components/scroll/pull-to-refresh.js +++ b/ionic/components/scroll/pull-to-refresh.js @@ -1,35 +1,38 @@ -import {NgElement, EventEmitter, PropertySetter} from 'angular2/angular2'; - +import {Renderer, ElementRef, EventEmitter} from 'angular2/angular2' +import {Parent} from 'angular2/src/core/annotations_impl/visibility'; import {Component, Directive} from 'angular2/src/core/annotations_impl/annotations'; +import {View} from 'angular2/src/core/annotations_impl/view'; +import {Content} from 'ionic/ionic'; -@Directive({ - selector: '[ion-refresher]' +@Component({ + selector: 'ion-refresher', + events: ['refreshing'] +}) +@View({ + template: '
', }) export class Refresher { constructor( - @NgElement() element:NgElement + @Parent() content: Content, + element: ElementRef ) { this.domElement = element.domElement; this.domElement.classList.add('content'); - this.refreshEvent = new EventEmitter('refreshing'); - - console.log(this.domElement); - - this.domElement.children[0].addEventListener('scroll', function(e) { - console.log('CONTENT: scroll', e.target.scrollTop); - }); + //this.refreshEvent = new EventEmitter('refreshing'); setTimeout(() => { - this.refresh() + content.scrollElement.addEventListener('scroll', function(e) { + console.log('CONTENT: scroll', e.target.scrollTop); + }); }, 1000); } refresh() { console.log('REFRESH'); this.refreshEvent.next({ - data: 'blah' + amt: 0 }); } }