import { DegreePlannerDataService } from './../../../core/service/degree-planner-data.service'; import { ActivatedRoute } from '@angular/router'; import { Component, Input, ChangeDetectorRef, OnInit } from '@angular/core'; import { Course } from '../../../core/models/course'; import { Subject } from '@app/core/models/course-details'; import { Term } from '../../../core/models/term'; import { DegreePlan } from '../../../core/models/degree-plan'; import { SavedForLaterCourse } from '../../../core/models/saved-for-later-course'; import { DataService } from '../../../core/data.service'; import { CourseDetailsDialogComponent } from '../../dialogs/course-details-dialog/course-details-dialog.component'; // tslint:disable-next-line:max-line-length import { RemoveCourseConfirmDialogComponent } from '../../dialogs/remove-course-confirm-dialog/remove-course-confirm-dialog.component'; import { MatDialog } from '@angular/material'; @Component({ selector: 'cse-course-item', templateUrl: './course-item.component.html', styleUrls: ['./course-item.component.scss'] }) export class CourseItemComponent implements OnInit { termsInAcademicYear: []; // favoriteCourse: FavoriteCourse; degreePlans: DegreePlan[]; degreePlanCourses: any[]; selectedDegreePlan: number; termCodes: any; subjects: Object; @Input() course: Course; @Input() courses: Course[]; @Input() status: string; @Input() disabled: string; @Input() type: 'saved' | 'course' | 'search'; @Input() savedForLater: Boolean; @Input() favoriteCourses: SavedForLaterCourse[]; constructor( private dataService: DataService, public dialog: MatDialog, private route: ActivatedRoute, private degreePlannerDataSvc: DegreePlannerDataService, private cdRef: ChangeDetectorRef) { this.degreePlans = route.snapshot.data.requiredData.degreePlans; this.selectedDegreePlan = this.degreePlans[0].roadmapId; this.subjects = route.snapshot.data.requiredData.subjects; this.termCodes = this.degreePlannerDataSvc.getAllTerms(); } ngOnInit() { } openCourseDetailsDialog(course) { this.dataService.getCourseDetails(course.termCode, course.subjectCode, course.courseId) .subscribe(courseDetails => { const dialogRef = this.dialog.open(CourseDetailsDialogComponent, { data: { courseDetails: courseDetails } }); }); } openRemoveConfirmationDialog() { const dialogRef = this.dialog.open(RemoveCourseConfirmDialogComponent, { data: { course: this.course, type: this.type } }); } }