diff --git a/src/app/degree-planner/store/effects/plan.effects.ts b/src/app/degree-planner/store/effects/plan.effects.ts index b387a80ffe1971cfdd766de072223beecb8b4d89..cf46847a1b537f147a0c4101620cf4de2d1cb733 100644 --- a/src/app/degree-planner/store/effects/plan.effects.ts +++ b/src/app/degree-planner/store/effects/plan.effects.ts @@ -57,9 +57,14 @@ export class DegreePlanEffects { return forkJoin( this.loadTermsForPlan(stdin), this.api.getSavedForLaterCourses(), + this.api.getAllSubjects(), ).pipe( - map(([planDetails, savedForLaterCourses]) => { - return { ...planDetails, savedForLaterCourses }; + map(([planDetails, savedForLater, subjects]) => { + const savedForLaterCourses = savedForLater.map(course => { + course.subject = subjects[course.subjectCode]; + return course; + }); + return { ...planDetails, savedForLaterCourses, subjects }; }), ); }), diff --git a/src/app/degree-planner/store/selectors.ts b/src/app/degree-planner/store/selectors.ts index ba2171f023b8efb56a3dd4dd7c4da21698de929f..9ae5c24dc82566df18c65d391763a31903997781 100644 --- a/src/app/degree-planner/store/selectors.ts +++ b/src/app/degree-planner/store/selectors.ts @@ -67,7 +67,11 @@ export const getAllVisibleTermsByYear = createSelector( const allCourses = state.visibleTerms .map(term => term.courses) - .reduce((flat, nested) => flat.concat(nested), []); + .reduce((flat, nested) => flat.concat(nested), []) + .map(course => { + course.subject = state.subjects[course.subjectCode]; + return course; + }); return unqiueYears.map<Year>(year => { const century = year[0] === '0' ? 0 : 1; diff --git a/src/app/degree-planner/store/state.ts b/src/app/degree-planner/store/state.ts index 4268f9bb7818ff7fcfac47defd12c9d1961a0ffa..fc13fc4b0ec4809c99e3a822b25edb89904549ac 100644 --- a/src/app/degree-planner/store/state.ts +++ b/src/app/degree-planner/store/state.ts @@ -9,6 +9,7 @@ export interface DegreePlannerState { savedForLaterCourses: SavedForLaterCourse[]; activeTermCodes: string[]; allDegreePlans: DegreePlan[]; + subjects: Object; } export const INITIAL_DEGREE_PLANNER_STATE: DegreePlannerState = { @@ -17,4 +18,5 @@ export const INITIAL_DEGREE_PLANNER_STATE: DegreePlannerState = { savedForLaterCourses: [], activeTermCodes: [], allDegreePlans: [], + subjects: {}, };