mirror of
https://github.com/chsakell/aspnet-core-signalr-angular.git
synced 2025-12-22 17:27:48 +00:00
move feed service from match component
This commit is contained in:
@@ -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())
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
|
||||
@@ -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,31 +11,42 @@ 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() {
|
||||
let self = this;
|
||||
let messageToSend: ChatMessage = {
|
||||
MatchId : self.match.Id,
|
||||
Text : self.chatMessage,
|
||||
CreatedAt : new Date(Date.now())
|
||||
MatchId: self.match.Id,
|
||||
Text: self.chatMessage,
|
||||
CreatedAt: new Date(Date.now())
|
||||
};
|
||||
|
||||
this.dataService.addChatMessage(messageToSend)
|
||||
|
||||
@@ -131,7 +131,7 @@ export class FeedService {
|
||||
this.server.subscribe(matchId);
|
||||
}
|
||||
|
||||
public unsubscribeToFeed(matchId: number) {
|
||||
public unsubscribeFromFeed(matchId: number) {
|
||||
this.server.unsubscribe(matchId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user