diff --git a/src/app/home/home.module.ts b/src/app/home/home.module.ts index 4194c05aa..d08ad6d08 100644 --- a/src/app/home/home.module.ts +++ b/src/app/home/home.module.ts @@ -16,7 +16,6 @@ import { HomePage } from './home.page'; FormsModule, IonicModule, HomePageRoutingModule, - /* IonicSelectableModule */ ], declarations: [HomePage] }) diff --git a/src/app/pages/events/event-detail/event-detail.module.ts b/src/app/pages/events/event-detail/event-detail.module.ts index d5bd9e98c..96baa24e9 100644 --- a/src/app/pages/events/event-detail/event-detail.module.ts +++ b/src/app/pages/events/event-detail/event-detail.module.ts @@ -1,6 +1,6 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; +import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { IonicModule } from '@ionic/angular'; @@ -8,11 +8,13 @@ import { EventDetailPageRoutingModule } from './event-detail-routing.module'; import { EventDetailPage } from './event-detail.page'; + @NgModule({ imports: [ CommonModule, FormsModule, IonicModule, + ReactiveFormsModule, EventDetailPageRoutingModule ], declarations: [EventDetailPage] diff --git a/src/app/pages/events/event-detail/event-detail.page.html b/src/app/pages/events/event-detail/event-detail.page.html index 3789286db..77867a15d 100644 --- a/src/app/pages/events/event-detail/event-detail.page.html +++ b/src/app/pages/events/event-detail/event-detail.page.html @@ -13,110 +13,116 @@ -
- - - - Assunto - - - - Descrição - - - - Localização - - - - Calendário - - Pessoal - Oficial - - - - Tipo do evento - - Reunião - Viagem - Conferência - Encontro - - - - Data Início - - - - - Data Fim - + + +
+ + Assunto + + + + + Campo obrigatório + +
+ + Descrição + + + + Localização + + + + Calendário + + Pessoal + Oficial + + + + Tipo do evento + + Reunião + Viagem + Conferência + Encontro + + + + Data Início + - -
- - - -
- -
-
-
- - Intervenientes - -
- - - -
- -
-
-
- - Anexos - -
-
- - - Anexos + Data Fim + -
- - - - Lei do orçamento geral do Estado - +
+ + + +
+ +
+
+
+ + Intervenientes + +
+ + + +
+ +
+
+
+ + Anexos + +
+
+ -
-
-
+
+ + + + Lei do orçamento geral do Estado + + + + +
+ + + Anexos + +
+ + + + Lei do orçamento geral do Estado + + + +
--> + + +
@@ -180,11 +186,7 @@ - - -
-
diff --git a/src/app/pages/events/event-detail/event-detail.page.scss b/src/app/pages/events/event-detail/event-detail.page.scss index ea56dd1bc..91ef2ba43 100644 --- a/src/app/pages/events/event-detail/event-detail.page.scss +++ b/src/app/pages/events/event-detail/event-detail.page.scss @@ -74,4 +74,10 @@ ion-card{ color: red; background-color: white; padding-right: 5px; +} +.error{ + color:red; + font-size: 12px; + font-weight: bold; + padding-bottom: 20px; } \ No newline at end of file diff --git a/src/app/pages/events/event-detail/event-detail.page.ts b/src/app/pages/events/event-detail/event-detail.page.ts index d18355177..4c52f2037 100644 --- a/src/app/pages/events/event-detail/event-detail.page.ts +++ b/src/app/pages/events/event-detail/event-detail.page.ts @@ -7,6 +7,7 @@ import { EventBody } from 'src/app/models/eventbody.model'; import { AlertController, ModalController } from '@ionic/angular'; import { EventPerson } from 'src/app/models/eventperson.model'; import { AttendeesPage } from 'src/app/pages/events/attendees/attendees.page'; +import { FormGroup, FormBuilder, Validators } from "@angular/forms"; @Component({ selector: 'app-event-detail', @@ -17,16 +18,25 @@ export class EventDetailPage implements OnInit { loadedEvent: Event; backURL: string; + ionicForm: FormGroup; + isSubmitted = false; minDate: Date; - constructor(public alertController: AlertController, private router: Router, private activatedRoute: ActivatedRoute, private eventsService: EventsService, private modalCtrl: ModalController) { + constructor(public formBuilder: FormBuilder, public alertController: AlertController, private router: Router, private activatedRoute: ActivatedRoute, private eventsService: EventsService, private modalCtrl: ModalController) { this.loadedEvent = new Event(); this.loadedEvent.Body = new EventBody(); } ngOnInit() { this.loadEvent(); + this.ionicForm = this.formBuilder.group({ + subject: ['', [Validators.required]] + }) + } + + get errorControl() { + return this.ionicForm.controls; } loadEvent() @@ -131,16 +141,19 @@ export class EventDetailPage implements OnInit { Save() { - this.eventsService.putEvent(this.loadedEvent, 2, 3).subscribe(async () => + if (this.ionicForm.valid) + { + this.eventsService.putEvent(this.loadedEvent, 2, 3).subscribe(async () => { const alert = await this.alertController.create({ cssClass: 'my-custom-class', header: 'Evento actualizado', buttons: ['OK'] }); - + await alert.present(); - }); + }); + } } back() diff --git a/src/app/pages/view-event/view-event.page.html b/src/app/pages/view-event/view-event.page.html index 8273fae97..41cb67fad 100644 --- a/src/app/pages/view-event/view-event.page.html +++ b/src/app/pages/view-event/view-event.page.html @@ -10,15 +10,15 @@ Assunto - + Descrição - + Localização - + Intervenientes