got championships load and current champ working
This commit is contained in:
parent
310e1ccd2d
commit
3be83bf725
15
src/app/championship.service.spec.ts
Normal file
15
src/app/championship.service.spec.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { TestBed, inject } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { ChampionshipService } from './championship.service';
|
||||||
|
|
||||||
|
describe('ChampionshipService', () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
providers: [ChampionshipService]
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should be created', inject([ChampionshipService], (service: ChampionshipService) => {
|
||||||
|
expect(service).toBeTruthy();
|
||||||
|
}));
|
||||||
|
});
|
||||||
68
src/app/championship.service.ts
Normal file
68
src/app/championship.service.ts
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
import {Injectable, OnInit} from '@angular/core';
|
||||||
|
import {HttpClient, HttpHeaders} from '@angular/common/http';
|
||||||
|
import {ActivatedRoute} from '@angular/router';
|
||||||
|
import {BehaviorSubject} from 'rxjs';
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root'
|
||||||
|
})
|
||||||
|
export class ChampionshipService implements OnInit {
|
||||||
|
|
||||||
|
protected httpOptions = {
|
||||||
|
headers: new HttpHeaders({
|
||||||
|
'Content-Type': 'application/json',
|
||||||
|
}),
|
||||||
|
withCredentials: true
|
||||||
|
};
|
||||||
|
|
||||||
|
protected baseUrl = 'http://localhost:8080/';
|
||||||
|
private championships: any[] = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* What's the current championship? Could be null if not loaded yet.
|
||||||
|
*/
|
||||||
|
private idChampionship = new BehaviorSubject<number>(null);
|
||||||
|
|
||||||
|
|
||||||
|
constructor(private http: HttpClient,
|
||||||
|
private route: ActivatedRoute) {
|
||||||
|
|
||||||
|
// load the champs from the DB
|
||||||
|
this.loadChampionships();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private loadChampionships() {
|
||||||
|
this.http.get<any[]>(`${this.baseUrl}championship`, this.httpOptions).subscribe(val => {
|
||||||
|
console.log('loaded championships');
|
||||||
|
this.championships = val;
|
||||||
|
console.log(val);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the currently visible championship.
|
||||||
|
* @param idChampionship
|
||||||
|
*/
|
||||||
|
setChampionship(idChampionship: number) {
|
||||||
|
this.idChampionship.next(idChampionship);
|
||||||
|
}
|
||||||
|
|
||||||
|
getChampionships() {
|
||||||
|
return this.championships;
|
||||||
|
}
|
||||||
|
|
||||||
|
getCurrentChampionship() {
|
||||||
|
console.log(this.championships);
|
||||||
|
const theOne = this.championships.filter(val => val.idchampionship === this.idChampionship.value);
|
||||||
|
console.log(theOne);
|
||||||
|
if (theOne && theOne.length > 0) {
|
||||||
|
return theOne[0];
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user