home.ts 1.2 KB

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