move feed service from match component

This commit is contained in:
chsakell
2016-10-04 14:57:37 +03:00
parent fb6127d281
commit fdcae26d63
6 changed files with 34 additions and 16 deletions

View File

@@ -60,7 +60,7 @@ namespace LiveGameFeed.Core
FeedViewModel _feed = new FeedViewModel()
{
MatchId = match.Id,
Description = points + " points for " + (updateHost == true ? match.Host : match.Guest + "!"),
Description = points + " points for " + (updateHost == true ? match.Host : match.Guest) + "!",
CreatedAt = DateTime.Now
};
using (var client = new HttpClient())

View File

@@ -1,6 +1,6 @@
<div class="row">
<div class="col-md-4" *ngFor="let match of matches">
<match [match]="match"></match>
<match [match]="match" (updateSubscription)="updateSubscription($event)"></match>
</div>
<div class="col-md-4">
<chat [matches]="matches"></chat>

View File

@@ -73,4 +73,11 @@ export class HomeComponent implements OnInit {
console.log(error);
});
}
updateSubscription(subscription: any) {
if(<boolean>subscription.subscribe === true)
this.feedService.subscribeToFeed(<number>subscription.matchId);
else
this.feedService.unsubscribeFromFeed(<number>subscription.matchId);
}
}

View File

@@ -19,10 +19,10 @@
<span class="label label-success">{{match.Type}}</span>
</td>
<td>
<button type="button" class="btn btn-default btn-md" (click)="subscribe()" *ngIf="!subscribed">
<button type="button" class="btn btn-default btn-md" (click)="setSubscription(true)" *ngIf="!subscribed">
Subscribe to feed
</button>
<button type="button" class="btn btn-danger btn-md" (click)="unsubscribe()" *ngIf="subscribed">
<button type="button" class="btn btn-danger btn-md" (click)="unsubscribe(false)" *ngIf="subscribed">
Unubscribe
</button>
</td>

View File

@@ -1,4 +1,4 @@
import { Component, OnInit, Input } from '@angular/core';
import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
import { ChatMessage, Match } from '../interfaces';
import { FeedService } from '../services/feed.service';
@@ -11,23 +11,34 @@ import { DataService } from '../services/data.service';
export class MatchComponent implements OnInit {
@Input() match: Match;
@Output() updateSubscription = new EventEmitter();
subscribed: boolean;
chatMessage: string = '';
constructor(private feedService: FeedService,
private dataService: DataService) { }
constructor(private dataService: DataService) { }
ngOnInit() { }
subscribe() {
console.log(this.match.Id);
this.subscribed = true;
this.feedService.subscribeToFeed(this.match.Id);
//this.feedService.subscribeToFeed(this.match.Id);
}
unsubscribe() {
this.subscribed = false;
this.feedService.unsubscribeToFeed(this.match.Id);
//this.feedService.unsubscribeToFeed(this.match.Id);
}
setSubscription(val: boolean) {
this.subscribed = val;
let subscription =
{
subscribe: val,
matchId: this.match.Id
}
this.updateSubscription.emit(subscription);
}
addChatMessage() {

View File

@@ -131,7 +131,7 @@ export class FeedService {
this.server.subscribe(matchId);
}
public unsubscribeToFeed(matchId: number) {
public unsubscribeFromFeed(matchId: number) {
this.server.unsubscribe(matchId);
}
}