83 lines
1.9 KiB
TypeScript
83 lines
1.9 KiB
TypeScript
|
import {Component} from "@angular/core";
|
||
|
import {WarService} from "../../services/war-service/war.service";
|
||
|
|
||
|
|
||
|
@Component({
|
||
|
selector: 'stats-overview',
|
||
|
templateUrl: './stats-overview.component.html',
|
||
|
styleUrls: ['./stats-overview.component.css']
|
||
|
})
|
||
|
export class StatisticOverviewComponent {
|
||
|
|
||
|
pointData: any[] = [];
|
||
|
playerData: any[] = [];
|
||
|
|
||
|
colorScheme = {
|
||
|
domain: ['#0000FF', '#B22222']
|
||
|
};
|
||
|
|
||
|
constructor(private warService: WarService) {
|
||
|
}
|
||
|
|
||
|
ngOnInit() {
|
||
|
this.warService.getAllWars().subscribe(items => {
|
||
|
this.initChart(items);
|
||
|
})
|
||
|
}
|
||
|
|
||
|
initChart(wars: any[]) {
|
||
|
let pointsObj = [
|
||
|
{
|
||
|
"name": "NATO",
|
||
|
"series": []
|
||
|
},
|
||
|
{
|
||
|
"name": "CSAT",
|
||
|
"series": []
|
||
|
}];
|
||
|
let playersObj = [
|
||
|
{
|
||
|
"name": "NATO",
|
||
|
"series": []
|
||
|
},
|
||
|
{
|
||
|
"name": "CSAT",
|
||
|
"series": []
|
||
|
}
|
||
|
];
|
||
|
for (let i = wars.length - 1; i >= 0; i--) {
|
||
|
const isoDate = wars[i].date.slice(0, 10);
|
||
|
const dayDate = parseInt(isoDate.slice(8, 10)) + 1;
|
||
|
const warDateString = (dayDate < 10 ? "0" + dayDate : dayDate) + '.'
|
||
|
+ isoDate.slice(5, 7) + '.' + isoDate.slice(0, 4);
|
||
|
|
||
|
const bluforData = {
|
||
|
name: warDateString,
|
||
|
value: wars[i].ptBlufor
|
||
|
};
|
||
|
const opforData = {
|
||
|
name: warDateString,
|
||
|
value: wars[i].ptOpfor
|
||
|
};
|
||
|
const bluforPlayers = {
|
||
|
name: warDateString,
|
||
|
value: wars[i].playersBlufor
|
||
|
};
|
||
|
const opforPlayers = {
|
||
|
name: warDateString,
|
||
|
value: wars[i].playersOpfor
|
||
|
};
|
||
|
|
||
|
playersObj[0].series.push(bluforData);
|
||
|
playersObj[1].series.push(opforData);
|
||
|
pointsObj[0].series.push(bluforPlayers);
|
||
|
pointsObj[1].series.push(opforPlayers);
|
||
|
}
|
||
|
|
||
|
this.pointData = pointsObj;
|
||
|
this.playerData = playersObj;
|
||
|
Object.assign(this, [this.playerData, this.pointData])
|
||
|
}
|
||
|
|
||
|
}
|