home.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { Component } from '@angular/core';
  2. import { IonicPage, NavController, MenuController, InfiniteScroll } from 'ionic-angular';
  3. import { TwitterApiProvider } from '../../providers/twitter-api/twitter-api';
  4. import { WriteTweetPage } from '../write-tweet/write-tweet';
  5. @IonicPage()
  6. @Component({
  7. selector: 'page-home',
  8. templateUrl: 'home.html'
  9. })
  10. export class HomePage {
  11. menuController: MenuController;
  12. data: any[] = [];
  13. constructor(
  14. public navCtrl: NavController,
  15. private twitter: TwitterApiProvider,
  16. private menuCtrl: MenuController) {
  17. }
  18. ionViewDidLoad() {
  19. this.menuCtrl.enable(true, 'sideNav');
  20. }
  21. ionViewDidEnter() {
  22. this.twitter.fetchHomeFeed()
  23. .then(res => {
  24. this.data = res.data;
  25. });
  26. }
  27. doRefresh(refresher) {
  28. this.twitter.fetchHomeFeed()
  29. .then(res => {
  30. this.data = res.data;
  31. refresher.complete();
  32. })
  33. }
  34. loadMore(infiniteScroll: InfiniteScroll) {
  35. this.twitter.fetchHomeFeedSince(this.data[this.data.length - 1].id)
  36. .then(res => {
  37. this.data = this.data.concat(res.data);
  38. infiniteScroll.complete();
  39. })
  40. }
  41. writeTweet() {
  42. this.navCtrl.push(WriteTweetPage);
  43. }
  44. }