mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-20 12:29:55 +08:00
Pull to refresh sucking
This commit is contained in:
@ -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'
|
||||||
|
@ -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')
|
||||||
}
|
}
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
@ -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
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user