diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 9c8f211..f2cdb80 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -3,13 +3,18 @@ import {CommonModule} from '@angular/common'; import {RouterModule, Routes} from '@angular/router'; import {TierComponent} from './content/tier/tier.component'; import {ChampionshipComponent} from './championship/championship.component'; +import {PouleComponent} from './content/poule/poule.component'; const routes: Routes = [ { path: 'championship/:idchampionship', component: ChampionshipComponent, children: [ - {path: 'tier/:tier', component: TierComponent}, + { + path: 'tier/:tier', component: TierComponent, children: [ + {path: 'poule/:poule', component: PouleComponent} + ] + }, ] }, ]; diff --git a/src/app/app.component.scss b/src/app/app.component.scss index 2182069..123ba9c 100644 --- a/src/app/app.component.scss +++ b/src/app/app.component.scss @@ -6,7 +6,7 @@ "topmenu" "content" "reclame"; - grid-template-rows: auto 1fr 200px; + grid-template-rows: auto 1fr 50px; } app-reclamespinner { diff --git a/src/app/content/poule/poule.component.scss b/src/app/content/poule/poule.component.scss index a02cb14..5287b5b 100644 --- a/src/app/content/poule/poule.component.scss +++ b/src/app/content/poule/poule.component.scss @@ -19,3 +19,4 @@ .timecell { font-family: monospace; } + diff --git a/src/app/content/poule/poule.component.ts b/src/app/content/poule/poule.component.ts index eb6910e..0df523b 100644 --- a/src/app/content/poule/poule.component.ts +++ b/src/app/content/poule/poule.component.ts @@ -1,20 +1,18 @@ import {Component, Input, OnChanges, OnInit, SimpleChanges} from '@angular/core'; import {ChampionshipService} from '../../championship.service'; +import {ActivatedRoute} from '@angular/router'; +import {map} from 'rxjs/operators'; +import {combineLatest} from 'rxjs'; @Component({ selector: 'app-poule', templateUrl: './poule.component.html', styleUrls: ['./poule.component.scss'] }) -export class PouleComponent implements OnInit, OnChanges { +export class PouleComponent implements OnInit { - @Input() poule: number; - - @Input() idChampionship: number; - - @Input() tier: number; protected teams: any[] = []; @@ -23,11 +21,25 @@ export class PouleComponent implements OnInit, OnChanges { private timesIndexed: {}; protected maxLaps = 0; - constructor(private championshipService: ChampionshipService) { + constructor(private championshipService: ChampionshipService, private route: ActivatedRoute) { } ngOnInit() { - this.loadData(); + const tier$ = this.route.parent.params.pipe(map(v => v['tier'])); + const poule$ = this.route.params.pipe(map(v => v['poule'])); + const championship$ = this.route.parent.parent.params.pipe(map(v => v['idchampionship'])); + + combineLatest(tier$, poule$, championship$).subscribe(([tier, poule, championship]) => { + console.log('tier/poule/champ changed'); + console.log(tier); + console.log(poule); + console.log(championship); + this.tier = tier; + this.poule = poule; + this.idChampionship = championship; + this.loadData(); + }); + } private loadData() { @@ -145,9 +157,4 @@ export class PouleComponent implements OnInit, OnChanges { return null; } } - - ngOnChanges(changes: SimpleChanges): void { - this.loadData(); - } - } diff --git a/src/app/content/tier/tier.component.html b/src/app/content/tier/tier.component.html index 48a9147..30035b5 100644 --- a/src/app/content/tier/tier.component.html +++ b/src/app/content/tier/tier.component.html @@ -1,3 +1,9 @@ -
- +
+ +
+ + + diff --git a/src/app/content/tier/tier.component.scss b/src/app/content/tier/tier.component.scss index d4f0f18..713174d 100644 --- a/src/app/content/tier/tier.component.scss +++ b/src/app/content/tier/tier.component.scss @@ -8,3 +8,7 @@ app-poule { #poulecontainer { display: grid; } + +button.active { + background-color: #1dd21d; +}