Fix switch view selection on stats page (CC-50)
parent
e23ed09b25
commit
06123a2301
|
@ -6,9 +6,9 @@
|
||||||
(campaignDelete)="deleteCampaign($event)">
|
(campaignDelete)="deleteCampaign($event)">
|
||||||
</campaign-navigation>
|
</campaign-navigation>
|
||||||
|
|
||||||
<div *ngIf="selectedCampaign._id !== 'all'"
|
<div class="side-bar"
|
||||||
class="side-bar"
|
[ngClass]="{collapsed: collapsed}"
|
||||||
[ngClass]="{collapsed: collapsed}">
|
[style.display]="selectedCampaign._id === 'all' ? 'none' : 'block'">
|
||||||
<war-list
|
<war-list
|
||||||
[collapsed]="collapsed"
|
[collapsed]="collapsed"
|
||||||
[campaign]="selectedCampaign">
|
[campaign]="selectedCampaign">
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import {AfterViewInit, Component, Input, OnChanges, SimpleChanges} from '@angular/core';
|
import {AfterViewInit, Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core';
|
||||||
import {ActivatedRoute, Router} from '@angular/router';
|
import {ActivatedRoute, Router} from '@angular/router';
|
||||||
import {Campaign, War} from '../../../models/model-interfaces';
|
import {Campaign, War} from '../../../models/model-interfaces';
|
||||||
import {WarService} from '../../../services/logs/war.service';
|
import {WarService} from '../../../services/logs/war.service';
|
||||||
|
@ -11,7 +11,7 @@ import {RouteConfig} from '../../../app.config';
|
||||||
templateUrl: './war-list.component.html',
|
templateUrl: './war-list.component.html',
|
||||||
styleUrls: ['./war-list.component.css']
|
styleUrls: ['./war-list.component.css']
|
||||||
})
|
})
|
||||||
export class WarListComponent implements OnChanges, AfterViewInit {
|
export class WarListComponent implements OnChanges {
|
||||||
|
|
||||||
@Input() campaign: Campaign;
|
@Input() campaign: Campaign;
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ export class WarListComponent implements OnChanges, AfterViewInit {
|
||||||
|
|
||||||
selectedWarId: string | number;
|
selectedWarId: string | number;
|
||||||
|
|
||||||
initialized = false;
|
changeCount = 0;
|
||||||
|
|
||||||
public readonly highscore = 'HIGHSCORE';
|
public readonly highscore = 'HIGHSCORE';
|
||||||
|
|
||||||
|
@ -30,12 +30,9 @@ export class WarListComponent implements OnChanges, AfterViewInit {
|
||||||
private route: ActivatedRoute) {
|
private route: ActivatedRoute) {
|
||||||
}
|
}
|
||||||
|
|
||||||
ngAfterViewInit() {
|
|
||||||
this.initialized = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
ngOnChanges(changes: SimpleChanges) {
|
ngOnChanges(changes: SimpleChanges) {
|
||||||
if (this.initialized && changes.campaign) {
|
if (this.changeCount <= 1) {
|
||||||
|
this.changeCount++;
|
||||||
const url = this.router.url;
|
const url = this.router.url;
|
||||||
const subPathWar = 'war/';
|
const subPathWar = 'war/';
|
||||||
const subPathHighscore = 'highscore/';
|
const subPathHighscore = 'highscore/';
|
||||||
|
@ -54,6 +51,8 @@ export class WarListComponent implements OnChanges, AfterViewInit {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (changes.campaign) {
|
||||||
|
this.selectOverview(this.campaign._id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,9 +71,6 @@ export class WarListComponent implements OnChanges, AfterViewInit {
|
||||||
selectOverview(campaignId) {
|
selectOverview(campaignId) {
|
||||||
if (this.selectedWarId !== campaignId) {
|
if (this.selectedWarId !== campaignId) {
|
||||||
this.selectedWarId = campaignId;
|
this.selectedWarId = campaignId;
|
||||||
setTimeout(_ => {
|
|
||||||
window.dispatchEvent(new Event('resize'));
|
|
||||||
});
|
|
||||||
this.router.navigate([{outlets: {'right': ['overview', campaignId]}}], {relativeTo: this.route});
|
this.router.navigate([{outlets: {'right': ['overview', campaignId]}}], {relativeTo: this.route});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -99,12 +95,12 @@ export class WarListComponent implements OnChanges, AfterViewInit {
|
||||||
deleteWar(war: War) {
|
deleteWar(war: War) {
|
||||||
if (confirm('Soll die Schlacht ' + war.title + ' wirklich gelöscht werden?')) {
|
if (confirm('Soll die Schlacht ' + war.title + ' wirklich gelöscht werden?')) {
|
||||||
this.warService.deleteWar(war._id)
|
this.warService.deleteWar(war._id)
|
||||||
.subscribe((res) => {
|
.subscribe((res) => {
|
||||||
if (this.selectedWarId === war._id) {
|
if (this.selectedWarId === war._id) {
|
||||||
this.selectOverview('all');
|
this.selectOverview('all');
|
||||||
}
|
}
|
||||||
this.campaign.wars.splice(this.campaign.wars.indexOf(war), 1);
|
this.campaign.wars.splice(this.campaign.wars.indexOf(war), 1);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue