Newer
Older
import { DegreePlannerApiService } from './degree-planner/services/api.service';
import { FormBuilder, FormGroup } from '@angular/forms';
import { SidenavService } from './core/service/sidenav.service';
import { Component, ViewChild, OnInit } from '@angular/core';
import { MatSidenav } from '@angular/material';
import { ActivatedRoute } from '@angular/router';
import { Observable } from 'rxjs';
import { debounceTime, switchMap, tap } from 'rxjs/operators';
import { MatDialog } from '@angular/material';
import { CourseDetailsDialogComponent } from './degree-planner/dialogs/course-details-dialog/course-details-dialog.component';
import { ErrorStateMatcher } from '@angular/material/core';
import { FormControl, FormGroupDirective, NgForm, Validators } from '@angular/forms';
selector: 'cse-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
export class AppComponent implements OnInit {
coursesData$: any;
selectedDegreePlan: number;
courses: Observable<any>;
coursesForm: FormGroup;
@ViewChild('rightAddCourse') public rightAddCourse: MatSidenav;
constructor(
public dialog: MatDialog,
private route: ActivatedRoute,
private sidenavService: SidenavService,
private fb: FormBuilder,
private api: DegreePlannerApiService) {
this.coursesInput = new FormControl('', [Validators.required]);
this.selectedDegreePlan = 520224;
this.coursesForm = this.fb.group({
coursesInput: null
});
// Uncomment following code when working on Course Search form in +Add Course
// It will need to be modified to fix error: TS2531: Object is possibly 'null'
// this.courses = this.coursesForm.get('coursesInput').valueChanges
// .pipe(
// debounceTime(300),
// switchMap(value => this.api.autocomplete(value)),
// tap(x => console.log( x))
// );
ngOnInit() {
this.sidenavService.setSidenav(this.rightAddCourse);
}
this.api.getCourseDetails(course.payload.subject.subjectCode, course.payload.courseId)
.subscribe(courseDetails => {
const dialogRef = this.dialog.open(CourseDetailsDialogComponent, {
data: { courseDetails: courseDetails }
});
});
}
}
document.addEventListener('WebComponentsReady', function() {
const customEvent = new CustomEvent('myuw-login', {
detail: {
person: {
// 'firstName': 'Bucky'
}
}
});
document.dispatchEvent(customEvent);