Discofy/src/app/prompt-evento/prompt-evento.page.ts

91 lines
2.6 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms';
import { Tab1Service } from '../tab1/tab1.service';
import { Evento } from '../evento';
import { Router } from '@angular/router';
@Component({
selector: 'app-prompt-evento',
templateUrl: './prompt-evento.page.html',
styleUrls: ['./prompt-evento.page.scss'],
})
export class PromptEventoPage implements OnInit{
submitted = false;
editarEvento = false;
eventoForm = new FormGroup({
nombre: new FormControl('', Validators.required),
fecha: new FormControl('', Validators.required),
precio1: new FormControl('', Validators.required),
precio2: new FormControl('', Validators.required),
descripcion: new FormControl('', Validators.required),
});
eventos: Evento[];
constructor(private tab1Service: Tab1Service, private router: Router) {
}
ngOnInit(){
if (this.tab1Service.editarEvento==true){
this.eventoForm = this.tab1Service.eventoForms[this.tab1Service.eventoIndex];
}
}
onSubmit(){
this.submitted = true;
if (this.eventoForm.valid){
let evento = new Evento();
this.asignarEvento(evento);
this.router.navigate(['/tabs']);
}
}
asignarEvento(evento: Evento){
evento.setNombre(this.eventoForm.get('nombre').value);
evento.setDesc(this.eventoForm.get('descripcion').value);
evento.setFecha(this.eventoForm.get('fecha').value);
evento.setPrecio1(this.eventoForm.get('precio1').value);
evento.setPrecio2(this.eventoForm.get('precio2').value);
//evento.setDia(evento.getFecha()); el datetime de Ion devuelve un String, no se puede
//evento.setHora(evento.getFecha()); transformar en dia y hora
if (!this.tab1Service.eventos){
this.tab1Service.initEventos();}
if(!this.tab1Service.eventoForms){
this.tab1Service.initEventoForms();}
if(this.tab1Service.editarEvento==true){
this.tab1Service.eventos[this.tab1Service.eventoIndex] = evento;
this.tab1Service.eventoForms[this.tab1Service.eventoIndex] = this.eventoForm;
}
else{
this.tab1Service.eventos.push(evento);
this.tab1Service.eventoForms.push(this.eventoForm);}
}
get nombre(){
return this.eventoForm.get('nombre');
}
get fecha(){
return this.eventoForm.get('fecha');
}
get hora(){
return this.eventoForm.get('hora');
}
get precio1() {
return this.eventoForm.get('precio1');
}
get precio2() {
return this.eventoForm.get('precio2');
}
get descripcion(){
return this.eventoForm.get('descripcion');
}
}