import {Component, OnDestroy, OnInit} from '@angular/core'; import {LecturerDataService} from 'src/app/services/lecturer-data.service'; import {LecturerInfoService} from 'src/app/services/lecturer-info.service'; import {Router} from '@angular/router'; import {QuestionDao} from 'src/app/dao/question.dao'; import {AnswerSetDao} from 'src/app/dao/answer-set.dao'; import {ViewClassesButtonComponent} from '../../GridComponents/ViewClassesButton/view-classes-button.component'; import {GridOptions} from 'ag-grid-community'; @Component({ selector: 'app-lecturer-submissionsview', templateUrl: './lecturer-submissions-view.component.html', styleUrls: ['./lecturer-submissions-view.component.css'] }) export class LecturerSubmissionsViewComponent implements OnInit, OnDestroy { public lecturerId; public classCode; public paperId; public questions: QuestionDao[]; public answers: AnswerSetDao[]; public rowData: any; public gridOptions: GridOptions; public columnDefs = [ {headerName: 'Class Code', field: 'classCode', sortable: true, lockPosition: true}, {headerName: 'Class Name', field: 'classname', sortable: true, lockPosition: true}, {headerName: 'Year', field: 'year', sortable: true, lockPosition: true}, {headerName: 'View', field: '', cellRendererFramework: ViewClassesButtonComponent, lockPosition: true}, ]; constructor(private lecturerDataService: LecturerDataService, private lecturerInfoService: LecturerInfoService, private router: Router) { } ngOnInit(): void { this.questions = []; this.answers = []; this.lecturerId = this.lecturerDataService.lecturerId; this.classCode = this.lecturerDataService.classCode; this.paperId = this.lecturerDataService.currentPaper.paperId; this.getPaperQuestions(); this.getPaperSubmissions(); } ngOnDestroy(): void { this.questions = []; this.answers = []; } public goToResponse(set: AnswerSetDao): void { this.lecturerDataService.currentAnswerSet = set; this.lecturerDataService.currentQuestions = this.questions; this.router.navigate(['response-view']); this.ngOnDestroy(); } private getPaperQuestions(): void { this.lecturerInfoService.getPaperQuestions(this.paperId).subscribe((data: QuestionDao[]) => { data.forEach(e => this.questions.push(e)); }); } private getPaperSubmissions(): void { this.lecturerInfoService.getPaperAnswers(this.paperId).subscribe((data: AnswerSetDao[]) => { data.forEach(e => this.answers.push(e)); }); } }