commit 0a5202bdc4a2e8e20a100f7bb1654a9e3666fa39
parent 1f3c2d424b1576707c50ec7775a7eb77a2bf2108
Author: MTRNord <mtrnord1@gmail.com>
Date: Mon, 19 Feb 2018 19:51:40 +0100
Implement Paper API
Diffstat:
3 files changed, 21 insertions(+), 8 deletions(-)
diff --git a/src/app/api.service.ts b/src/app/api.service.ts
@@ -51,4 +51,8 @@ export class ApiService {
getPapers(): Observable<Paper[]> {
return this.http.get<Paper[]>(`${this.url}/papers`);
}
+
+ getPaper(uuid: string): Observable<Paper> {
+ return this.http.get<Paper>(`${this.url}/paper/${uuid}`);
+ }
}
diff --git a/src/app/paper/paper.component.html b/src/app/paper/paper.component.html
@@ -21,9 +21,9 @@
<div class="view intro hm-purple-light" style="">
<div class="full-bg-img flex-center">
<div class="container text-center white-text wow fadeInUp">
- <h2>{{paperTitle}}</h2>
+ <h2>{{data.name}}</h2>
<br>
- <h5>{{paperSubtitle}}</h5>
+ <h5>{{data.description}}</h5>
</div>
</div>
</div>
diff --git a/src/app/paper/paper.component.ts b/src/app/paper/paper.component.ts
@@ -1,6 +1,7 @@
-import {Component, Inject, PLATFORM_ID, ViewEncapsulation} from '@angular/core';
+import {Component, Inject, OnInit, PLATFORM_ID, ViewEncapsulation} from '@angular/core';
import {isPlatformBrowser} from '@angular/common';
import {ActivatedRoute} from '@angular/router';
+import {ApiService, Paper} from '../api.service';
@Component({
selector: 'app-paper',
@@ -8,17 +9,25 @@ import {ActivatedRoute} from '@angular/router';
styleUrls: ['./paper.component.scss'],
encapsulation: ViewEncapsulation.None
})
-export class PaperComponent {
- paperTitle = 'Test Paper';
- paperSubtitle = 'Something to test';
+export class PaperComponent implements OnInit {
private uuid: string;
- private testData: Array<object> = [{title: 'Simon Wüllhorst', userLink: 'https://twitter.com/des_cilla', text: 'Yaay, neue LTE-Antennen sind da. Es gibt bald endlich wieder schnelles Internet auf dem Dorf. :) #Freifunk', imageURL: 'https://pbs.twimg.com/media/DVmb2UCWsAA8oTD.jpg', createdAt: '09.02.2018', replies: 0, favs: 2, retweets: 1}, {title: 'Jason Scott', retweet: true, 'userLink': 'https://twitter.com/textfiles', imageURL: 'https://pbs.twimg.com/media/DVZ5gw0U0AA_mOu.jpg', createdAt: '07.02.2018', replies: 75, favs: 8003, retweets: 2813}, {title: 'Christian Dresel', 'userLink': 'https://twitter.com/DreselChristian', text: 'Soviel Richtfunk (blaue Linien)... soooo geiiiilllll :) @freifunk @FreifunkFranken #freifunk', imageURL: 'https://pbs.twimg.com/media/DViJcIRX0AAk1TT.jpg:large', createdAt: '08.02.2018', replies: 1, favs: 3, retweets: 0}];
isBrowser: boolean;
+ data: Paper;
- constructor(@Inject(PLATFORM_ID) platformId: Object, private route: ActivatedRoute) {
+ constructor(@Inject(PLATFORM_ID) platformId: Object, private route: ActivatedRoute, private apiService: ApiService) {
this.isBrowser = isPlatformBrowser(platformId);
this.uuid = this.route.snapshot.params.paperUUID;
}
+ ngOnInit() { this.getPaper(this.uuid); }
+
+ getPaper(uuid: string) {
+ this.apiService.getPaper(uuid)
+ .subscribe(
+ data => { this.data = data; },
+ err => console.error('API ERR: ', err),
+ () => console.log('done loading Paper Data')
+ );
+ }
}