subjects.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import {Component, OnInit} from '@angular/core';
  2. import {SubjectService} from "../services/subject";
  3. import {Subject} from "../models/subject";
  4. import {FormsModule} from '@angular/forms';
  5. import {RouterLink} from '@angular/router';
  6. import {NgForOf, NgIf} from '@angular/common';
  7. @Component({
  8. selector: 'app-subject',
  9. templateUrl: './subjects.html',
  10. imports: [
  11. FormsModule,
  12. RouterLink,
  13. NgForOf,
  14. NgIf
  15. ],
  16. styleUrls: ['./subjects.css']
  17. })
  18. export class Subjects implements OnInit{
  19. form: any = {};
  20. subjectList?: Subject[];
  21. subject?: Subject;
  22. subjectToAdd?: Subject;
  23. isAddFailed = false;
  24. errorMessage = '';
  25. constructor(private subjectService: SubjectService ) { }
  26. ngOnInit() { this.getSubjects(); }
  27. getSubjects(): void {
  28. this.subjectService.getTeachersSubjects()
  29. .subscribe(subjectList => this.subjectList = subjectList);
  30. }
  31. addSubject(): void {
  32. this.subjectToAdd = new Subject(this.form.name);
  33. this.subjectService.addSubject(this.subjectToAdd).subscribe(
  34. data => {
  35. console.log(data);
  36. this.isAddFailed = false;
  37. this.errorMessage = '';
  38. this.reloadPage();
  39. },
  40. error => {
  41. console.log(error);
  42. this.isAddFailed = true;
  43. this.errorMessage = error.error.message;
  44. }
  45. );
  46. }
  47. reloadPage(): void {
  48. window.location.reload();
  49. }
  50. }