From 5ca3c9e9b1bf37c3ec270beaa2ad35b342532028 Mon Sep 17 00:00:00 2001 From: ievavold <ievavold@wisc.edu> Date: Tue, 11 Jun 2019 15:58:08 -0500 Subject: [PATCH] load degree plans into dars view --- src/app/core/models/degree-plan.ts | 8 ++++---- src/app/dars/store/effects.ts | 4 +++- src/app/dars/store/selectors.ts | 5 +++++ src/app/dars/store/state.ts | 3 +++ 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/app/core/models/degree-plan.ts b/src/app/core/models/degree-plan.ts index 0238487..830d700 100644 --- a/src/app/core/models/degree-plan.ts +++ b/src/app/core/models/degree-plan.ts @@ -1,6 +1,6 @@ export interface DegreePlan { - roadmapId: number; - pvi: string; - name: string; - primary: boolean; + roadmapId: number; + pvi: string; + name: string; + primary: boolean; } diff --git a/src/app/dars/store/effects.ts b/src/app/dars/store/effects.ts index 6e19407..1feb061 100644 --- a/src/app/dars/store/effects.ts +++ b/src/app/dars/store/effects.ts @@ -36,13 +36,14 @@ export class DARSEffects { flatMap(() => { return forkJoinWithKeys({ + degreePlans: this.degreeAPI.getAllDegreePlans(), degreePrograms: this.api.getStudentDegreePrograms(), metadata: this.api.getAudits(), userPreferences: this.degreeAPI.getUserPreferences(), }); }), - map(({ degreePrograms, metadata, userPreferences }) => { + map(({ degreePlans, degreePrograms, metadata, userPreferences }) => { const alerts: Alert[] = []; if (userPreferences.darsHasDismissedDisclaimer !== true) { alerts.push( @@ -68,6 +69,7 @@ export class DARSEffects { }); return new darsActions.PopulateDarsState({ + degreePlans, metadata: { status: 'Loaded', programMetadata, diff --git a/src/app/dars/store/selectors.ts b/src/app/dars/store/selectors.ts index 37792d1..c8c3d7b 100644 --- a/src/app/dars/store/selectors.ts +++ b/src/app/dars/store/selectors.ts @@ -11,6 +11,11 @@ export const alerts = createSelector( (state: DARSState) => state.alerts, ); +export const degreePlans = createSelector( + getDARSState, + (state: DARSState) => state.degreePlans, +); + export const metadataStatus = createSelector( getDARSState, (state: DARSState) => state.metadata.status, diff --git a/src/app/dars/store/state.ts b/src/app/dars/store/state.ts index d46c390..8adfeb8 100644 --- a/src/app/dars/store/state.ts +++ b/src/app/dars/store/state.ts @@ -1,8 +1,10 @@ import { Alert } from './../../core/models/alert'; import { AuditMetadata } from '../models/audit-metadata'; import { Audit } from '../models/audit'; +import { DegreePlan } from '@app/core/models/degree-plan'; export interface DARSState { + degreePlans: DegreePlan[]; metadata: | { status: 'Error'; message: string } | { status: 'Loading' } @@ -20,6 +22,7 @@ export interface DARSState { } export const INITIAL_DARS_STATE: DARSState = { + degreePlans: [], metadata: { status: 'Loading' }, visibleAudit: { status: 'NotLoaded' }, alerts: [], -- GitLab