Skip to content
Snippets Groups Projects
Commit cf252e84 authored by Wesley Szamotula's avatar Wesley Szamotula
Browse files

ROENROLL-1262 Display subject name for courses

parent 38ab4717
No related branches found
No related tags found
No related merge requests found
Showing
with 33 additions and 6 deletions
...@@ -19,7 +19,7 @@ works great with typescript ecosystem. ...@@ -19,7 +19,7 @@ works great with typescript ecosystem.
## Development server ## Development server
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. Run `ng serve --proxy-config proxy.json` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files.
## Code scaffolding ## Code scaffolding
......
...@@ -45,6 +45,11 @@ export class DataService { ...@@ -45,6 +45,11 @@ export class DataService {
.pipe(catchError(this.errorHandler)); .pipe(catchError(this.errorHandler));
} }
getSubjectsMap(): Observable<Object> {
return this.http.get(this.searchApiUrl + '/subjectsMap/0000', httpOptions)
.pipe(catchError(this.errorHandler));
}
getFavoriteCourses(): Observable<FavoriteCourse[]> { getFavoriteCourses(): Observable<FavoriteCourse[]> {
return this.http.get<FavoriteCourse[]>(this.plannerApiUrl + '/favorites') return this.http.get<FavoriteCourse[]>(this.plannerApiUrl + '/favorites')
.pipe(catchError(this.errorHandler)); .pipe(catchError(this.errorHandler));
......
<mat-sidenav-container id="plans-container"> <mat-sidenav-container id="plans-container">
<!-- Menu side nav --> <!-- Menu side nav -->
<mat-sidenav #rightSideNav position="end" mode="side" [opened]="true" disableClose> <mat-sidenav #rightSideNav position="end" mode="side" [opened]="true" disableClose>
<cse-sidenav-menu-item [favoriteDropZone]="getTermDropZone()"></cse-sidenav-menu-item> <cse-sidenav-menu-item [favoriteDropZone]="getTermDropZone()" [subjectsMap]="subjectsMap"></cse-sidenav-menu-item>
</mat-sidenav> </mat-sidenav>
<!-- Add course sidenav --> <!-- Add course sidenav -->
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
[courses]="termsByAcademicYear[year.key].terms[term.key]['courses']" [courses]="termsByAcademicYear[year.key].terms[term.key]['courses']"
[termCodes]="getTermDropZone()" [termCodes]="getTermDropZone()"
[termsByAcademicYear]="termsByAcademicYear" [termsByAcademicYear]="termsByAcademicYear"
[subjectsMap]="subjectsMap"
fxFlex="33%" fxFlex="33%"
></cse-term-container> ></cse-term-container>
</div> </div>
......
...@@ -17,6 +17,8 @@ export class DegreePlannerComponent { ...@@ -17,6 +17,8 @@ export class DegreePlannerComponent {
selectedDegreePlan: number; selectedDegreePlan: number;
terms: Term[]; terms: Term[];
termsByAcademicYear: Object; termsByAcademicYear: Object;
subjectsMap: Object;
constructor(private dataService: DataService) { constructor(private dataService: DataService) {
this.dataService.getDegreePlans() this.dataService.getDegreePlans()
...@@ -51,6 +53,11 @@ export class DegreePlannerComponent { ...@@ -51,6 +53,11 @@ export class DegreePlannerComponent {
} }
}); });
this.dataService.getSubjectsMap()
.subscribe( subjectsMap => {
this.subjectsMap = subjectsMap;
});
this.dataService.getTerms() this.dataService.getTerms()
.subscribe(terms => {}); .subscribe(terms => {});
} }
......
...@@ -8,7 +8,12 @@ ...@@ -8,7 +8,12 @@
(cdkDropListDropped)="drop($event)"> (cdkDropListDropped)="drop($event)">
<div class="course-wrapper" [cdkDragData]="course" *ngFor="let course of favoriteCourses" cdkDrag> <div class="course-wrapper" [cdkDragData]="course" *ngFor="let course of favoriteCourses" cdkDrag>
<div class="course-wrapper-inner"> <div class="course-wrapper-inner">
<cse-course-item [course]="course" [status]="'favorite'" class="course-favorite"></cse-course-item> <cse-course-item
[course]="course"
[status]="'favorite'"
[subject]="subjectsMap[course.subjectCode]"
class="course-favorite"
></cse-course-item>
</div> </div>
</div> </div>
<p *ngIf="!favoriteCourses || favoriteCourses.length === 0" class="no-courses text-center semi-bold">No Favorite Courses</p> <p *ngIf="!favoriteCourses || favoriteCourses.length === 0" class="no-courses text-center semi-bold">No Favorite Courses</p>
......
...@@ -12,6 +12,7 @@ import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/dr ...@@ -12,6 +12,7 @@ import { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/dr
export class FavoritesContainerComponent implements OnInit { export class FavoritesContainerComponent implements OnInit {
favoriteCourses: FavoriteCourse[]; favoriteCourses: FavoriteCourse[];
favoriteCourse: FavoriteCourse; favoriteCourse: FavoriteCourse;
@Input() subjectsMap: Object;
@Input() favoriteDropZone: []; @Input() favoriteDropZone: [];
constructor(private dataService: DataService) { constructor(private dataService: DataService) {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="course-row course-info"> <div class="course-row course-info">
<div class="icon-number-wrapper"> <div class="icon-number-wrapper">
<p class="course-number"> <p class="course-number">
{{course.subjectCode}} {{course.catalogNumber}} {{subject}} {{course.catalogNumber}}
</p> </p>
<div [ngSwitch]="status"> <div [ngSwitch]="status">
<i *ngSwitchCase="'complete'" class="material-icons complete-icon">check_circle</i> <i *ngSwitchCase="'complete'" class="material-icons complete-icon">check_circle</i>
......
...@@ -9,6 +9,7 @@ import { Course } from '../../../core/models/course'; ...@@ -9,6 +9,7 @@ import { Course } from '../../../core/models/course';
export class CourseItemComponent { export class CourseItemComponent {
@Input() course: Course; @Input() course: Course;
@Input() status: string; @Input() status: string;
@Input() subject: string;
constructor() {} constructor() {}
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<h3>Favorites</h3> <h3>Favorites</h3>
</mat-panel-title> </mat-panel-title>
</mat-expansion-panel-header> </mat-expansion-panel-header>
<cse-favorites-container [favoriteDropZone]='favoriteDropZone'></cse-favorites-container> <cse-favorites-container [favoriteDropZone]='favoriteDropZone' [subjectsMap]="subjectsMap"></cse-favorites-container>
</mat-expansion-panel> </mat-expansion-panel>
<mat-expansion-panel id="menu-items-container" expanded="true"> <mat-expansion-panel id="menu-items-container" expanded="true">
......
...@@ -9,6 +9,7 @@ export class SidenavMenuItemComponent implements OnInit { ...@@ -9,6 +9,7 @@ export class SidenavMenuItemComponent implements OnInit {
events: string[] = []; events: string[] = [];
opened: boolean; opened: boolean;
@Input() favoriteDropZone: []; @Input() favoriteDropZone: [];
@Input() subjectsMap: Object;
constructor() { } constructor() { }
......
...@@ -11,7 +11,12 @@ ...@@ -11,7 +11,12 @@
(cdkDropListDropped)="drop($event)"> (cdkDropListDropped)="drop($event)">
<div class="course-wrapper" [cdkDragData]="course" *ngFor="let course of courses" cdkDrag> <div class="course-wrapper" [cdkDragData]="course" *ngFor="let course of courses" cdkDrag>
<div class="course-wrapper-inner"> <div class="course-wrapper-inner">
<cse-course-item [course]="course" [status]="'in-progress'" (click)="openCourseDetailsDialog(course)"></cse-course-item> <cse-course-item
[course]="course"
[status]="'in-progress'"
[subject]="subjectsMap[course.subjectCode]"
(click)="openCourseDetailsDialog(course)"
></cse-course-item>
</div> </div>
</div> </div>
<p *ngIf="!courses || courses.length === 0" class="no-courses text-center semi-bold">No Courses Taken</p> <p *ngIf="!courses || courses.length === 0" class="no-courses text-center semi-bold">No Courses Taken</p>
......
...@@ -19,6 +19,7 @@ export class TermContainerComponent { ...@@ -19,6 +19,7 @@ export class TermContainerComponent {
@Input() termCodes: String[]; @Input() termCodes: String[];
@Input() termsByAcademicYear: Object; @Input() termsByAcademicYear: Object;
@Input() course: CourseDetails; @Input() course: CourseDetails;
@Input() subjectsMap: Object;
terms: any[]; terms: any[];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment