import { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core'; import { TournamentBasicFormComponent } from '../../forms/tournament-basic-form/tournament-basic-form.component'; import { Tournament } from 'tournee.businesslogic'; @Component({ selector: 'app-tournament-builder-step-one', templateUrl: './tournament-builder-step-one.component.html', styleUrls: ['./tournament-builder-step-one.component.css'] }) export class TournamentBuilderStepOneComponent implements OnInit { @ViewChild('BasicForm') BasicForm: TournamentBasicFormComponent; display: boolean = false; @Output() OnStepped = new EventEmitter(); @Output() OnCancelled = new EventEmitter(); @Output() OnDone = new EventEmitter(); @Output() OnSave = new EventEmitter(); EditModel: Tournament; original_state: string; constructor() { } ngOnInit() { } enter(editModel: Tournament, original: string) { this.EditModel = editModel; this.original_state = original; this.display = true; } IsDirty() { return this.original_state != JSON.stringify(this.EditModel); } next() { if (this.BasicForm.single_day) { this.EditModel.setDates(this.BasicForm.date, this.BasicForm.date); } else { this.EditModel.setDates(this.BasicForm.dates[0], this.BasicForm.dates[1]); } this.OnStepped.emit(this.EditModel); this.display = false; } cancel() { this.OnCancelled.emit(); } save() { if (this.BasicForm.single_day) { this.EditModel.setDates(this.BasicForm.date, this.BasicForm.date); } else { this.EditModel.setDates(this.BasicForm.dates[0], this.BasicForm.dates[1]); } this.OnSave.emit(this.EditModel); } done() { if (this.BasicForm.single_day) { this.EditModel.setDates(this.BasicForm.date, this.BasicForm.date); } else { this.EditModel.setDates(this.BasicForm.dates[0], this.BasicForm.dates[1]); } this.OnDone.emit(this.EditModel); } }