|
- 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<ZoneJsonld>{
-
- @Input() public override data!: ZoneJsonld;
- @Output() public override submit: EventEmitter<ModalStatus> = new EventEmitter<ModalStatus>();
-
- 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);
- }
- );
- }
- }
- }
|