Skip to content

Commit

Permalink
Merge pull request #11 from Caivan/Juan_Pablo_Salamanca
Browse files Browse the repository at this point in the history
Juan pablo salamanca
  • Loading branch information
jpsalamanca99 authored May 22, 2020
2 parents e69c411 + ad43460 commit d603028
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 33 deletions.
8 changes: 7 additions & 1 deletion Poliradio/src/app/services/word-press-connection.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { HttpClient, HttpHeaders, HttpResponse } from "@angular/common/http";
import { Observable } from 'rxjs';
import { news } from '../Model/news';
import { environment } from 'src/environments/environment';

import { shareReplay } from 'rxjs/operators';

@Injectable({
providedIn: 'root'
Expand All @@ -30,4 +30,10 @@ export class WordPressConnectionService {
observe: 'response'
});
}

public getNewsFromPage2(page): Observable<news[]> {
return this.http.get<news[]>(environment.ACCESS_POINT_POSTS + page).pipe(
shareReplay()
)
}
}
4 changes: 2 additions & 2 deletions Poliradio/src/app/tab1/tab1.page.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
<ion-content [fullscreen]="true">

<ion-list>
<ion-item *ngFor="let post of scrollArray">

<ion-item *ngFor="let post of news$ | async">
<ion-card class="card" (click)="openModal(post)">
<ion-card-title [innerHTML]="post.title.rendered" class="card-title"></ion-card-title>
<ion-card-content>
<div [innerHTML]="post.excerpt.rendered"></div>
</ion-card-content>

</ion-card>
</ion-item>
</ion-list>
Expand Down
40 changes: 10 additions & 30 deletions Poliradio/src/app/tab1/tab1.page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ import { IonInfiniteScroll } from '@ionic/angular';
import { ModalController } from '@ionic/angular';
import { NewsModalPage } from '../news-modal/news-modal.page';
import { news } from "../Model/news";
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';

@Component({
selector: 'app-tab1',
Expand All @@ -15,7 +17,8 @@ export class Tab1Page {

@ViewChild(IonInfiniteScroll, { static: true }) infiniteScroll2: IonInfiniteScroll;

scrollArray: any[];
newsArray: news[];
news$ : Observable<news[]>;
index = 1;
totalNews = 1;

Expand All @@ -36,39 +39,16 @@ export class Tab1Page {
}

ngOnInit() {
this.getNews(true, "");
this.getNews();
}

async getNews(isFirst, event) {
if (isFirst) {
this.wpConnection.getNewsFromPage(this.index).subscribe(resp => {
const keys = resp.headers.keys();
let headers = keys.map(key =>
`${key}: ${resp.headers.get(key)}`);
this.scrollArray = resp.body;
this.totalNews = Number(headers[5].substring(headers[5].length - 3, headers[5].length));
}, (err) => {
console.log(err);
});
} else {
this.wpConnection.getNewsFromPage(this.index).subscribe(resp => {
const keys = resp.headers.keys();
let headers = keys.map(key =>
`${key}: ${resp.headers.get(key)}`);
let arr: news[];
arr = resp.body;
arr.forEach(element => {
this.scrollArray.push(element);
});
}, (err) => {
console.log(err);
});
}
this.index++;
doInfinite(event) {
this.getNews();
}

doInfinite(event) {
this.getNews(false, event);

async getNews(){
this.news$ = this.wpConnection.getNewsFromPage2(this.index);
}

}

0 comments on commit d603028

Please sign in to comment.