feat(infiniteScroll): add infinite scroll

Closes #5415
This commit is contained in:
Adam Bradley
2016-02-29 11:13:27 -06:00
parent 3784f47cfa
commit 0480fa3b50
10 changed files with 583 additions and 10 deletions

View File

@ -0,0 +1,48 @@
import {Component, Input} from 'angular2/core'
import {NgIf} from 'angular2/common';
import {Config} from '../../config/config';
import {InfiniteScroll} from './infinite-scroll';
import {Spinner} from '../spinner/spinner';
/**
* @private
*/
@Component({
selector: 'ion-infinite-content',
template:
'<div class="infinite-loading">' +
'<div class="infinite-loading-spinner" *ngIf="loadingSpinner">' +
'<ion-spinner [name]="loadingSpinner"></ion-spinner>' +
'</div>' +
'<div class="infinite-loading-text" [innerHTML]="loadingText" *ngIf="loadingText"></div>' +
'</div>',
directives: [NgIf, Spinner],
host: {
'[attr.state]': 'inf.state'
}
})
export class InfiniteScrollContent {
/**
* @input {string} An animated SVG spinner that shows while loading.
*/
@Input() loadingSpinner: string;
/**
* @input {string} Optional text to display while loading.
*/
@Input() loadingText: string;
constructor(private inf: InfiniteScroll, private _config: Config) {}
/**
* @private
*/
ngOnInit() {
if (!this.loadingSpinner) {
this.loadingSpinner = this._config.get('infiniteLoadingSpinner', this._config.get('spinner', 'ios'));
}
}
}