Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 

44 строки
1.3 KiB

  1. import {Component, EventEmitter, Input, Output} from '@angular/core';
  2. import {ZoneJsonld, ZoneService} from "@app/core/api/v1";
  3. import {ModalStatus} from "@app/_helpers/modal.states";
  4. import {FormGroup} from "@angular/forms";
  5. import {zoneForm} from "@app/_forms/apiForms";
  6. import {AbstractCreateDataComponent} from "@app/_interfaces/AbstractCreateDataComponent";
  7. @Component({
  8. selector: 'app-zone-new',
  9. templateUrl: './zone-new.component.html',
  10. styleUrl: './zone-new.component.scss'
  11. })
  12. export class ZoneNewComponent extends AbstractCreateDataComponent<ZoneJsonld>{
  13. @Input() public override data!: ZoneJsonld;
  14. @Output() public override submit: EventEmitter<ModalStatus> = new EventEmitter<ModalStatus>();
  15. override form: FormGroup = zoneForm;
  16. constructor(
  17. private zoneService: ZoneService
  18. ) {
  19. super();
  20. }
  21. getInitialData(): ZoneJsonld {
  22. let zone: ZoneJsonld = {} as ZoneJsonld;
  23. return zone;
  24. }
  25. onSubmit() {
  26. if (this.form.valid) {
  27. this.zoneService.zonesPost(
  28. this.form.value as ZoneJsonld
  29. ).subscribe(
  30. data => {
  31. this.form.reset();
  32. this.submit.emit(ModalStatus.Submitted);
  33. }
  34. );
  35. }
  36. }
  37. }