Pull to refresh sucking

This commit is contained in:
Max Lynch
2015-06-16 16:06:45 -05:00
parent fa3f27939e
commit d187150e7b
4 changed files with 29 additions and 26 deletions

View File

@ -21,6 +21,7 @@ export * from 'ionic/components/nav/nav-push'
export * from 'ionic/components/nav-bar/nav-bar' export * from 'ionic/components/nav-bar/nav-bar'
export * from 'ionic/components/slides/slides' export * from 'ionic/components/slides/slides'
export * from 'ionic/components/radio/radio' 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/search-bar/search-bar'
// export * from 'ionic/components/split-view/split-view' // export * from 'ionic/components/split-view/split-view'
export * from 'ionic/components/segment/segment' export * from 'ionic/components/segment/segment'

View File

@ -1,22 +1,20 @@
import {Descendent, NgElement, Component, View, bootstrap} from 'angular2/angular2'; import {bootstrap, NgFor, ProtoViewRef, ViewContainerRef} from 'angular2/angular2'
import {Content} from 'ionic/components/content/content'; import {Component, Directive} from 'angular2/src/core/annotations_impl/annotations';
import {Icon} from 'ionic/components/icon/icon'; import {View} from 'angular2/src/core/annotations_impl/view';
import {Checkbox} from 'ionic/components/checkbox/checkbox'; import {Parent} from 'angular2/src/core/annotations_impl/visibility';
import {List} from 'ionic/components/list/list';
import {Refresher} from 'ionic/components/scroll/pull-to-refresh'; import {Refresher, Content, List, Item} from 'ionic/ionic';
@Component({ selector: 'ion-app' }) @Component({ selector: 'ion-app' })
@View({ @View({
templateUrl: 'main.html', templateUrl: 'main.html',
directives: [Content, Icon, Checkbox, List, Refresher] directives: [Content, List, Item, Refresher]
}) })
class IonicApp { class IonicApp {
constructor( constructor() {
@NgElement() element:NgElement
) {
console.log('IonicApp Start') console.log('IonicApp Start')
} }
doRefresh() { doRefresh() {
console.log('DOREFRESH') console.log('DOREFRESH')
} }

View File

@ -1,6 +1,7 @@
<ion-view nav-title="Pull to refresh"> <ion-view nav-title="Pull to refresh">
<ion-content ion-refresher (refreshing)="doRefresh()"> <ion-content>
<ion-refresher (refreshing)="doRefresh($event, amt)"></ion-refresher>
<div id="counter"></div> <div id="counter"></div>

View File

@ -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 {Component, Directive} from 'angular2/src/core/annotations_impl/annotations';
import {View} from 'angular2/src/core/annotations_impl/view';
import {Content} from 'ionic/ionic';
@Directive({ @Component({
selector: '[ion-refresher]' selector: 'ion-refresher',
events: ['refreshing']
})
@View({
template: '<div class="refresher"></div>',
}) })
export class Refresher { export class Refresher {
constructor( constructor(
@NgElement() element:NgElement @Parent() content: Content,
element: ElementRef
) { ) {
this.domElement = element.domElement; this.domElement = element.domElement;
this.domElement.classList.add('content'); this.domElement.classList.add('content');
this.refreshEvent = new EventEmitter('refreshing'); //this.refreshEvent = new EventEmitter('refreshing');
console.log(this.domElement);
this.domElement.children[0].addEventListener('scroll', function(e) {
console.log('CONTENT: scroll', e.target.scrollTop);
});
setTimeout(() => { setTimeout(() => {
this.refresh() content.scrollElement.addEventListener('scroll', function(e) {
console.log('CONTENT: scroll', e.target.scrollTop);
});
}, 1000); }, 1000);
} }
refresh() { refresh() {
console.log('REFRESH'); console.log('REFRESH');
this.refreshEvent.next({ this.refreshEvent.next({
data: 'blah' amt: 0
}); });
} }
} }