import {Component} from "@angular/core"; import {ActivatedRoute} from "@angular/router"; import {CampaignPlayer} from "../../models/model-interfaces"; import {PlayerService} from "../../services/player-service/player.service"; import {ChartUtils} from "../../utils/chart-utils"; @Component({ selector: 'campaign-player-detail', templateUrl: './campaign-player-detail.component.html', styleUrls: ['./campaign-player-detail.component.css'] }) export class CampaignPlayerDetailComponent { campaignPlayer: CampaignPlayer = {campaign: {}, players: []}; killData: any[] = []; colorScheme = { domain: ['#00ce12'] }; showRefLines = true; showRefLabels = true; refLines = []; gradient = false; xAxis = true; yAxis = true; legend = false; legendTitle = ''; showXAxisLabel = true; showYAxisLabel = true; autoscale = false; timeline = false; roundDomains = true; constructor(private route: ActivatedRoute, private playerService: PlayerService) { } ngOnInit() { this.route.params .map(params => [params['id'], params['playerName']]) .flatMap(id => this.playerService.getCampaignPlayer(id[0], id[1])) .subscribe(campaignPlayer => { this.campaignPlayer = campaignPlayer; this.assignKillData(); }); } private assignKillData() { let killObj = { "name": "Kills", "series": [] }; let total = 0; for (let i = 0; i < this.campaignPlayer.players.length; i++) { const warDateString = ChartUtils.getShortDateString(this.campaignPlayer.players[i].warId.date); const warKills = this.campaignPlayer.players[i].kill; killObj.series.push({ name: warDateString, value: warKills }); total += warKills; } this.killData = [killObj]; Object.assign(this, this.killData); this.refLines.push({value: total / this.campaignPlayer.players.length, name: 'Durchschnitt'}); } }