import {Component, EventEmitter, Input, Output} from '@angular/core'; import {ZoneJsonld, ZoneService} from "@app/core/api/v1"; import {ModalStatus} from "@app/_helpers/modal.states"; import {FormGroup} from "@angular/forms"; import {zoneForm} from "@app/_forms/apiForms"; import {AbstractCreateDataComponent} from "@app/_interfaces/AbstractCreateDataComponent"; @Component({ selector: 'app-zone-new', templateUrl: './zone-new.component.html', styleUrl: './zone-new.component.scss' }) export class ZoneNewComponent extends AbstractCreateDataComponent{ @Input() public override data!: ZoneJsonld; @Output() public override submit: EventEmitter = new EventEmitter(); override form: FormGroup = zoneForm; constructor( private zoneService: ZoneService ) { super(); } getInitialData(): ZoneJsonld { let zone: ZoneJsonld = {} as ZoneJsonld; return zone; } onSubmit() { if (this.form.valid) { this.zoneService.zonesPost( this.form.value as ZoneJsonld ).subscribe( data => { this.form.reset(); this.submit.emit(ModalStatus.Submitted); } ); } } }