import {Component, OnInit} from '@angular/core'; import {SubjectService} from "../services/subject"; import {Subject} from "../models/subject"; import {FormsModule} from '@angular/forms'; import {RouterLink} from '@angular/router'; import {NgForOf, NgIf} from '@angular/common'; @Component({ selector: 'app-subject', templateUrl: './subjects.html', imports: [ FormsModule, RouterLink, NgForOf, NgIf ], styleUrls: ['./subjects.css'] }) export class Subjects implements OnInit{ form: any = {}; subjectList?: Subject[]; subject?: Subject; subjectToAdd?: Subject; isAddFailed = false; errorMessage = ''; constructor(private subjectService: SubjectService ) { } ngOnInit() { this.getSubjects(); } getSubjects(): void { this.subjectService.getTeachersSubjects() .subscribe(subjectList => this.subjectList = subjectList); } addSubject(): void { this.subjectToAdd = new Subject(this.form.name); this.subjectService.addSubject(this.subjectToAdd).subscribe( data => { console.log(data); this.isAddFailed = false; this.errorMessage = ''; this.reloadPage(); }, error => { console.log(error); this.isAddFailed = true; this.errorMessage = error.error.message; } ); } reloadPage(): void { window.location.reload(); } }