Newer
Older
import { Injectable } from '@angular/core';
import { Resolve } from '@angular/router';
import { Observable, forkJoin } from 'rxjs';
import { map } from 'rxjs/operators';
import { DataService } from './../core/data.service';
@Injectable({
providedIn: 'root'
})
export class DegreePlannerResolver implements Resolve<Observable<string>> {
constructor(private dataService: DataService) { }
resolve(): Observable<any> {
return forkJoin(
this.dataService.getSubjectsMap(),
this.dataService.getTerms(),
this.dataService.getFavoriteCourses(),
this.dataService.getDegreePlans()
).pipe(
map((allResponses) => {
return {
subjects: allResponses[0],
terms: allResponses[1],
favorites: allResponses[2],
degreePlans: allResponses[3]