Compare commits

..

No commits in common. "5d94be1c097568c458646034f8c02169991c1ddf" and "55c59612a6574fdca68d4f5c47e486c13cad5c14" have entirely different histories.

9 changed files with 111 additions and 125 deletions

View File

@ -26,7 +26,6 @@ campaignPlayer.route('/ranking/:campaignId')
const warIds = wars.map((obj) => {
return obj._id;
});
WarModel.findOne({campaign: req.params.campaignId}, {}, {sort: {'date': -1}}, (err, latestWar) => {
PlayerModel.find({warId: {'$in': warIds}}, (err, items) => {
if (err) return next(err);
if (!items || items.length === 0) {
@ -77,13 +76,7 @@ campaignPlayer.route('/ranking/:campaignId')
}
}
resItem.warCount = playerInstances.length;
const latestPlayerFraction = playerInstances[playerInstances.length - 1].fraction;
resItem.fraction =
(latestPlayerFraction === 'OPFOR') ?
latestWar.fractionMappingOpfor :
latestWar.fractionMappingBlufor;
resItem.fraction = playerInstances[playerInstances.length - 1].fraction;
rankingItems.push(resItem);
});
@ -121,7 +114,6 @@ campaignPlayer.route('/ranking/:campaignId')
next();
});
});
});
})
.all(

View File

@ -60,8 +60,8 @@ export interface War {
endDate?: string;
ptBlufor?: number;
ptOpfor?: number;
fractionMappingBlufor?: Fraction.SWORD | Fraction.ARF | 'BLUFOR' | 'OPFOR';
fractionMappingOpfor?: Fraction.SWORD | Fraction.ARF | 'BLUFOR' | 'OPFOR';
fractionMappingBlufor?: Fraction.SWORD | Fraction.ARF | "BLUFOR" | "OPFOR";
fractionMappingOpfor?: Fraction.SWORD | Fraction.ARF | "BLUFOR" | "OPFOR";
playersBlufor?: number;
playersOpfor?: number;
budgetBlufor?: number;

View File

@ -28,7 +28,7 @@
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef>{{'stats.highscore.header.name' | translate}}</th>
<td mat-cell *matCellDef="let element"
[style.color]="fractionHelpers.getFractionColor(element['fraction'])">
[style.color]="element['fraction'] === 'BLUFOR' ? fraction.COLOR_BLUFOR : fraction.COLOR_OPFOR">
{{element.name}}
</td>
</ng-container>

View File

@ -1,11 +1,11 @@
import {Component, OnInit} from '@angular/core';
import {ActivatedRoute} from '@angular/router';
import {PlayerService} from '../../../services/logs/player.service';
import {Fraction} from '../../../utils/fraction.enum';
import {FormControl} from '@angular/forms';
import {Observable} from 'rxjs/Observable';
import {Player} from '../../../models/model-interfaces';
import {PlayerUtils} from '../../../utils/player-utils';
import {FractionHelpers} from '../../../utils/global.helpers';
@Component({
@ -25,7 +25,7 @@ export class StatisticHighScoreComponent implements OnInit {
playerAttributeDisplayNames = PlayerUtils.attributeDisplayNames.slice(2, PlayerUtils.attributeDisplayNames.length);
readonly fractionHelpers = FractionHelpers;
readonly fraction = Fraction;
constructor(private route: ActivatedRoute,
private playerService: PlayerService) {

View File

@ -1,5 +1,6 @@
import {Component, ElementRef, Input, OnChanges, OnInit, SimpleChanges, ViewChild} from '@angular/core';
import {ChartUtils} from '../../../utils/chart-utils';
import {Fraction} from '../../../utils/fraction.enum';
import {War} from '../../../models/model-interfaces';
import {TranslateService} from '@ngx-translate/core';
import {FractionHelpers} from '../../../utils/global.helpers';
@ -74,18 +75,18 @@ export class FractionStatsComponent implements OnInit, OnChanges {
ngOnChanges(changes: SimpleChanges) {
if (changes.war || changes.logData) {
this.fractionNameBlufor = FractionHelpers.getFractionName(this.war, 'BLUFOR');
this.fractionNameOpfor = FractionHelpers.getFractionName(this.war, 'OPFOR');
this.fractionNameBlufor = FractionHelpers.getFractionName(this.war, "BLUFOR");
this.fractionNameOpfor = FractionHelpers.getFractionName(this.war, "OPFOR");
this.colorScheme = {
domain: [
FractionHelpers.getFractionColor('BLUFOR', this.war),
FractionHelpers.getFractionColor('OPFOR', this.war),
FractionHelpers.getFractionColor('BLUFOR', this.war, 'LIGHT'),
FractionHelpers.getFractionColor('OPFOR', this.war, 'LIGHT'),
FractionHelpers.getFractionColor('BLUFOR', this.war, 'DARK'),
FractionHelpers.getFractionColor('OPFOR', this.war, 'DARK'),
FractionHelpers.getFractionColor('BLUFOR', this.war, 'GREY'),
FractionHelpers.getFractionColor('OPFOR', this.war, 'GREY'),
FractionHelpers.getFractionColor(this.war, "BLUFOR"),
FractionHelpers.getFractionColor(this.war, "OPFOR"),
FractionHelpers.getFractionColor(this.war, "BLUFOR", 'LIGHT'),
FractionHelpers.getFractionColor(this.war, "OPFOR", 'LIGHT'),
FractionHelpers.getFractionColor(this.war, "BLUFOR", 'DARK'),
FractionHelpers.getFractionColor(this.war, "OPFOR", 'DARK'),
FractionHelpers.getFractionColor(this.war, "BLUFOR", 'GREY'),
FractionHelpers.getFractionColor(this.war, "OPFOR", 'GREY'),
]
};

View File

@ -8,7 +8,7 @@
<mat-header-cell *matHeaderCellDef
mat-sort-header="{{tableHead[0].prop}}">{{tableHead[0].head | translate}}</mat-header-cell>
<mat-cell *matCellDef="let element"
[style.color]="fractionHelpers.getFractionColor(element['fraction'],war)">
[style.color]="fractionHelpers.getFractionColor(war, element['fraction'])">
{{element.name}}
</mat-cell>
</ng-container>

View File

@ -2,12 +2,12 @@
<div class="war-header-container">
<div class="pull-left head-field">
<h4>{{'stats.scoreboard.standings' | translate}}</h4>
<span [style.color]="fractionHelpers.getFractionColor('BLUFOR',war)"
<span [style.color]="fractionHelpers.getFractionColor(war, 'BLUFOR')"
style="font-weight: bold; margin-right: 10px">
{{fractionHelpers.getFractionName(war, 'BLUFOR')}} {{war.ptBlufor}}
</span>
<span style="font-size: x-large">|</span>
<span [style.color]="fractionHelpers.getFractionColor('OPFOR',war)"
<span [style.color]="fractionHelpers.getFractionColor(war, 'OPFOR')"
style="font-weight: bold; margin-left: 10px;">
{{war.ptOpfor}} {{fractionHelpers.getFractionName(war, 'OPFOR')}}
</span>
@ -15,12 +15,12 @@
<div class="pull-left head-field" style="margin-top:0" *ngIf="isSmallLayout">
<h4>{{'stats.scoreboard.participants' | translate}}</h4>
<span [style.color]="fractionHelpers.getFractionColor('BLUFOR',war)"
<span [style.color]="fractionHelpers.getFractionColor(war, 'BLUFOR')"
style="font-weight: bold; margin-right: 10px">
{{fractionHelpers.getFractionName(war, 'BLUFOR')}} {{war.playersBlufor}}
</span>
<span style="font-size: 13px;font-weight: bold;">vs</span>
<span [style.color]="fractionHelpers.getFractionColor('OPFOR',war)"
<span [style.color]="fractionHelpers.getFractionColor(war, 'OPFOR')"
style="font-weight: bold; margin-left: 10px;">
{{war.playersOpfor}} {{fractionHelpers.getFractionName(war, 'OPFOR')}}
</span>

View File

@ -67,8 +67,8 @@ export class WarHeaderComponent implements OnInit {
this.colorScheme = {
domain: [
FractionHelpers.getFractionColor('OPFOR', war),
FractionHelpers.getFractionColor('BLUFOR', war)
FractionHelpers.getFractionColor(war, 'OPFOR'),
FractionHelpers.getFractionColor(war, 'BLUFOR')
]
};

View File

@ -13,15 +13,8 @@ export const CSSHelpers = {
};
export const FractionHelpers = {
getFractionColor: (fraction, war?: War, style?) => {
let switchInput;
if (war) {
switchInput = (fraction === 'BLUFOR' ? war.fractionMappingBlufor : war.fractionMappingOpfor);
} else {
switchInput = fraction;
}
switch (switchInput) {
getFractionColor: (war: War, fraction, style?) => {
switch (fraction === 'BLUFOR' ? war.fractionMappingBlufor : war.fractionMappingOpfor) {
case Fraction.ARF:
switch (style) {
case 'LIGHT':
@ -33,7 +26,7 @@ export const FractionHelpers = {
default:
return Fraction.COLOR_ARF;
}
case 'BLUFOR':
case "BLUFOR":
switch (style) {
case 'LIGHT':
return Fraction.COLOR_BLUFOR_LIGHT;
@ -44,7 +37,7 @@ export const FractionHelpers = {
default:
return Fraction.COLOR_BLUFOR;
}
case 'OPFOR':
case "OPFOR":
switch (style) {
case 'LIGHT':
return Fraction.COLOR_OPFOR_LIGHT;
@ -73,9 +66,9 @@ export const FractionHelpers = {
switch (fraction === 'BLUFOR' ? war.fractionMappingBlufor : war.fractionMappingOpfor) {
case Fraction.ARF:
return Fraction.COLOR_ARF;
case 'BLUFOR':
case "BLUFOR":
return Fraction.COLOR_BLUFOR;
case 'OPFOR':
case "OPFOR":
return Fraction.COLOR_OPFOR;
case Fraction.SWORD:
return Fraction.COLOR_SWORD;
@ -86,9 +79,9 @@ export const FractionHelpers = {
switch (fraction === 'BLUFOR' ? war.fractionMappingBlufor : war.fractionMappingOpfor) {
case Fraction.ARF:
return Fraction.ARF;
case 'BLUFOR':
case "BLUFOR":
return Fraction.BLUFOR;
case 'OPFOR':
case "OPFOR":
return Fraction.OPFOR;
case Fraction.SWORD:
return Fraction.SWORD;