import { Component, OnInit } from '@angular/core'; import { Title } from "@angular/platform-browser"; import { ActivatedRoute, Router } from "@angular/router"; import { Awardee } from "../shared/awardee"; import { AwardeeService } from "../shared/awardee.service"; @Component({ selector: 'app-awardee-editor', templateUrl: './awardee-editor.component.html', styleUrls: ['./awardee-editor.component.css'] }) export class AwardeeEditorComponent implements OnInit { public years: Array = []; public awardee: Awardee; constructor( private titleService: Title, private route: ActivatedRoute, private router: Router, private awardeeService: AwardeeService, ) {} ngOnInit() { this.titleService.setTitle('Edit awardee'); this.route.data.subscribe((data: { years: Array, awardee: Awardee, }) => { this.years = data.years ? data.years : []; this.awardee = data.awardee ? data.awardee : new Awardee(); }); } public saveAwardee() { if (this.canSave) { this.awardeeService.persist(this.awardee).subscribe(() => this.router.navigate(['/awardees'])); } } get canSave(): boolean { return [ this.awardee.name, this.awardee.text, this.awardee.imageLabel].every(textField => textField.length > 0) && this.awardee.year !== null; } }