Newer
Older
import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';
ywb16155
committed
import {takeWhile} from 'rxjs/operators';
import {OmpClassDao} from 'src/app/dao/omp-class.dao';
import {LecturerInfoService} from 'src/app/services/lecturer-info.service';
import {ActivatedRoute, Router} from '@angular/router';
import {LecturerDataService} from 'src/app/services/lecturer-data.service';
import {LecturerViewService} from 'src/app/services/lecturer-view.service';
ywb16155
committed
@Component({
selector: 'app-lecturer-dashboard',
templateUrl: './lecturer-dashboard.component.html',
styleUrls: ['./lecturer-dashboard.component.css']
})
export class LecturerDashboardComponent implements OnInit, OnDestroy {
@ViewChild('agGrid') agGrid: AgGridNg2;
public columnDefs = [
{headerName: 'Class Code', field: 'classCode', sortable: true},
{headerName: 'Class Name', field: 'classname', sortable: true},
{headerName: 'Year', field: 'year', sortable: true},
];
ywb16155
committed
private isAlive = true;
private lecturerId: String;
public classList: OmpClassDao[];
ywb16155
committed
constructor(private lecturerInfoService: LecturerInfoService,
private lecturerDataService: LecturerDataService,
ywb16155
committed
private lecturerViewService: LecturerViewService,
ywb16155
committed
private router: Router,
private route: ActivatedRoute) {
}
ngOnInit(): void {
this.route.params.subscribe(params => { this.lecturerId = params.id; }).add(takeWhile(() => this.isAlive));
this.lecturerDataService.lecturerId = this.lecturerId;
this.classList = [];
this.rowData = this.lecturerInfoService.getLecturerClasses(this.lecturerId);
ywb16155
committed
this.getClasses();
}
ngOnDestroy(): void {
ywb16155
committed
this.isAlive = false;
ywb16155
committed
}
private getClasses() {
this.lecturerInfoService.getLecturerClasses(this.lecturerId).subscribe((data: OmpClassDao[]) => {
data.forEach(c => this.classList.push(c));
});
}
ywb16155
committed
public goToPaperView(classCode: String) {
this.lecturerDataService.classCode = classCode;
ywb16155
committed
this.lecturerViewService.changeToDashboard(false);
this.router.navigate(['/paper-view']);
this.ngOnDestroy();
}
public goToTemplateView() {
this.lecturerViewService.changeToDashboard(false);
this.router.navigate(['/template-view']);
this.ngOnDestroy();
ywb16155
committed
}
public createPaperView() {
this.lecturerDataService.isTemplate = false;
this.lecturerViewService.changeToDashboard(false);
this.router.navigate(['/creation-view']);
this.ngOnDestroy();
}
public createTemplateView() {
this.lecturerDataService.isTemplate = true;
this.lecturerViewService.changeToDashboard(false);
this.router.navigate(['/creation-view']);
this.ngOnDestroy();