From e49f7aae9e93a2cc8765a5e6793a03fa04759d31 Mon Sep 17 00:00:00 2001
From: ievavold <ievavold@wisc.edu>
Date: Tue, 12 Feb 2019 14:37:55 -0600
Subject: [PATCH] ROENROLL-1385

---
 src/app/degree-planner/degree-planner.component.html | 2 +-
 src/app/degree-planner/degree-planner.component.ts   | 3 +++
 src/app/degree-planner/store/selectors.ts            | 5 +++++
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/app/degree-planner/degree-planner.component.html b/src/app/degree-planner/degree-planner.component.html
index 87796ef..6aec034 100644
--- a/src/app/degree-planner/degree-planner.component.html
+++ b/src/app/degree-planner/degree-planner.component.html
@@ -1,4 +1,4 @@
-<mat-sidenav-container id="plans-container">
+<mat-sidenav-container id="plans-container" *ngIf="hasLoadedDegreePlan$ | async">
 	<!-- Menu side nav -->
 	<mat-sidenav #rightMenu position="end" [mode]="mobileView.matches ? 'over' : 'side'" [opened]="mobileView.matches ? false : true">
 		<cse-sidenav-menu-item></cse-sidenav-menu-item>
diff --git a/src/app/degree-planner/degree-planner.component.ts b/src/app/degree-planner/degree-planner.component.ts
index 6dc3a5f..ebfa23d 100644
--- a/src/app/degree-planner/degree-planner.component.ts
+++ b/src/app/degree-planner/degree-planner.component.ts
@@ -20,6 +20,7 @@ import {
   firstActiveTermCode,
   getAllVisibleTermsByYear,
   getVisibleDegreePlan,
+  hasLoadedDegreePlan,
 } from '@app/degree-planner/store/selectors';
 
 // Actions
@@ -40,6 +41,7 @@ export class DegreePlannerComponent implements OnInit {
   public mobileView: MediaQueryList;
   public coursesData$: any;
 
+  public hasLoadedDegreePlan$: Observable<boolean>;
   public visibleRoadmapId$: Observable<number | undefined>;
   public visibleDegreePlan$: Observable<DegreePlan | undefined>;
   public allDegreePlans$: Observable<DegreePlan[]>;
@@ -55,6 +57,7 @@ export class DegreePlannerComponent implements OnInit {
   }
 
   public ngOnInit() {
+    this.hasLoadedDegreePlan$ = this.store.pipe(select(hasLoadedDegreePlan));
     this.visibleRoadmapId$ = this.store.pipe(select(getVisibleRoadmapId));
     this.visibleDegreePlan$ = this.store.pipe(select(getVisibleDegreePlan));
     this.allDegreePlans$ = this.store.pipe(select(getAllDegreePlans));
diff --git a/src/app/degree-planner/store/selectors.ts b/src/app/degree-planner/store/selectors.ts
index 67ba809..0ff6c63 100644
--- a/src/app/degree-planner/store/selectors.ts
+++ b/src/app/degree-planner/store/selectors.ts
@@ -13,6 +13,11 @@ export const getDegreePlannerState = ({ degreePlanner }: GlobalState) => {
   return degreePlanner;
 };
 
+export const hasLoadedDegreePlan = createSelector(
+  getDegreePlannerState,
+  state => state.visibleDegreePlan !== undefined,
+);
+
 export const getSavedForLaterCourses = createSelector(
   getDegreePlannerState,
   state => state.savedForLaterCourses,
-- 
GitLab