import {Injectable} from "@angular/core"; import {Http, Headers} from "@angular/http"; import {Config} from "../config"; import {RssFeed} from "./rssfeed"; import {RssFeedItem} from "./rssfeed-item"; import {Observable} from "rxjs/Rx"; import "rxjs/add/operator/map"; import moment = require('moment'); @Injectable() export class ##SERVICE## { private rssFeedItems: Array; constructor(private _http: Http) {} load() { this.rssFeedItems = new Array(); let headers = new Headers(); return this._http.get(Config.##RSSFEEDURL##, { headers: headers }) .map(res => res.json()) .map(data => { data.items.forEach((item) => { let dateTime = moment(item.pubDate, "YYYY-MM-DD HH:mm:ss").format("DD-MM-YYYY"); this.rssFeedItems.push( new RssFeedItem( item.title, dateTime, item.link, item.content, )); }); return new RssFeed(data.feed.title, this.rssFeedItems); }) .catch(this.handleErrors); } getRssFeedItem(index: number) { return this.rssFeedItems[index]; } handleErrors(error: Response) { console.log("ERROR at RSSFeedService: " + JSON.stringify(error.json())); return Observable.throw(error); } }