From adac85f1aec047617eb4e4de2148b29fce5f0b9a Mon Sep 17 00:00:00 2001 From: Paulo Pinto Date: Tue, 1 Sep 2020 15:25:37 +0100 Subject: [PATCH] =?UTF-8?q?Melhorias=20na=20op=C3=A7=C3=A3o=20Back=20do=20?= =?UTF-8?q?EventDetails.=20Melhorias=20na=20actualiza=C3=A7=C3=A3o=20de=20?= =?UTF-8?q?dados=20da=20Agenda.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/home/home-routing.module.ts | 27 +++++--- src/app/pages/agenda/agenda.page.ts | 67 ++++++++++++------- src/app/pages/cal-modal/cal-modal.page.ts | 5 +- .../event-detail/event-detail.page.html | 4 +- .../events/event-detail/event-detail.page.ts | 32 ++++++--- src/app/pages/events/events.page.html | 2 +- src/app/pages/events/events.page.ts | 1 - 7 files changed, 91 insertions(+), 47 deletions(-) diff --git a/src/app/home/home-routing.module.ts b/src/app/home/home-routing.module.ts index 5ab2ba87a..9eb9208a5 100644 --- a/src/app/home/home-routing.module.ts +++ b/src/app/home/home-routing.module.ts @@ -13,13 +13,22 @@ const routes: Routes = [ children: [ { path:'', - loadChildren: ()=> import('../pages/events/events.module').then(m => m.EventsPageModule) + loadChildren: ()=> import('../pages/events/events.module').then(m => m.EventsPageModule) }, { - path:':eventId', - loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule) + path:':eventId/:caller', + loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule), + // children: [ + // { + // path:'', + // loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule), + // }, + // { + // path:':caller', + // loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule), + // } + // ] }, - ] }, { @@ -41,9 +50,8 @@ const routes: Routes = [ children: [ { path:'', - loadChildren: ()=> import('../pages/events/attendees/attendees.module').then(m => m.AttendeesPageModule) + loadChildren: ()=> import('../pages/events/attendees/attendees.module').then(m => m.AttendeesPageModule) }, - ] }, { @@ -51,9 +59,8 @@ const routes: Routes = [ children: [ { path:'', - loadChildren: ()=> import('../pages/login/login.module').then(m => m.LoginPageModule) + loadChildren: ()=> import('../pages/login/login.module').then(m => m.LoginPageModule) }, - ] }, { @@ -62,6 +69,10 @@ const routes: Routes = [ { path:'', loadChildren: ()=> import('../pages/agenda/agenda.module').then(m => m.AgendaPageModule) + }, + { + path:':eventId/:caller', + loadChildren: ()=> import('../pages/events/event-detail/event-detail.module').then(m => m.EventDetailPageModule), } ] }, diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts index 1777ff88d..de90a30bf 100644 --- a/src/app/pages/agenda/agenda.page.ts +++ b/src/app/pages/agenda/agenda.page.ts @@ -27,6 +27,8 @@ export class AgendaPage implements OnInit { }; selectedDate: Date; + rangeStartDate: Date; + rangeEndDate: Date; @ViewChild(CalendarComponent) myCal: CalendarComponent; @@ -52,11 +54,16 @@ export class AgendaPage implements OnInit { ngOnInit() { //Inicializar segment - this.segment = "Combinada"; - this.router.events.forEach((event) => { - if(event instanceof NavigationEnd && event.url == this.router.url) { - /* this.loading(); */ + if(event instanceof NavigationEnd && event.url == "/home/agenda") { + if (this.segment == null) + { + this.segment = "Combinada"; + } + else + { + this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); + } } }); } @@ -75,11 +82,14 @@ export class AgendaPage implements OnInit { } //Show information of the event async onEventSelected(ev: { event: Event}){ - this.router.navigate(["/home/events", ev.event.EventId]); + this.router.navigate(["/home/agenda", ev.event.EventId, 'agenda']); } onRangeChanged (ev: { startTime: Date, endTime: Date }) { - this.loadRangeEvents(ev.startTime, ev.endTime); + this.rangeStartDate = ev.startTime; + this.rangeEndDate = ev.endTime; + + this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); }; async openCalModal() { @@ -88,14 +98,31 @@ export class AgendaPage implements OnInit { cssClass: 'cal-modal', backdropDismiss: false }); + await modal.present(); - modal.onDidDismiss(); + + modal.onDidDismiss().then((data) => { + let postEvent: Event = data['data']; + if (postEvent.Subject != null) + { + this.eventSource.push({ + title: postEvent.Subject, + startTime: new Date(postEvent.StartDate), + endTime: new Date(postEvent.EndDate), + allDay: false, + event: postEvent + }); + this.myCal.update(); + this.myCal.loadEvents(); + } + }); /* this.loading(); */ } async loadRangeEvents(startTime: Date, endTime: Date){ this.showLoader = true; + switch (this.segment) { case "Combinada": @@ -112,8 +139,9 @@ export class AgendaPage implements OnInit { allDay: false, event: element }); - this.loading(); }); + this.myCal.update(); + this.myCal.loadEvents(); this.showLoader = false; } ); @@ -133,8 +161,9 @@ export class AgendaPage implements OnInit { allDay: false, event: element }); - this.loading(); }); + this.myCal.update(); + this.myCal.loadEvents(); this.showLoader = false; } ); @@ -154,8 +183,9 @@ export class AgendaPage implements OnInit { allDay: false, event: element }); - this.loading(); }); + this.myCal.update(); + this.myCal.loadEvents(); this.showLoader = false; } ); @@ -163,25 +193,14 @@ export class AgendaPage implements OnInit { } } - RefreshEvents(ev: { startTime: Date, endTime: Date }){ - this.loadRangeEvents(ev.startTime, ev.endTime); - } - - loading(){ - this.myCal.loadEvents(); - } - - doRefresh(ev){ - this.loading(); + doRefresh(ev: any){ + this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); setTimeout(() => { ev.target.complete(); - }, 2000); + }, 250); } showAlert(){ this.alertCrontroller.presentAlert("Funcionalidade em desenvolvimento."); } - - - } diff --git a/src/app/pages/cal-modal/cal-modal.page.ts b/src/app/pages/cal-modal/cal-modal.page.ts index 4ea880732..579393d75 100644 --- a/src/app/pages/cal-modal/cal-modal.page.ts +++ b/src/app/pages/cal-modal/cal-modal.page.ts @@ -45,7 +45,7 @@ export class CalModalPage implements AfterViewInit { save(){ this.eventService.postEvent(this.postEvent, this.postEvent.CalendarName).subscribe(); - this.modalCtrl.dismiss(); + this.modalCtrl.dismiss(this.postEvent); } onViewTitleChanged(title){ @@ -58,7 +58,7 @@ export class CalModalPage implements AfterViewInit { } close(){ - this.modalCtrl.dismiss(); + this.modalCtrl.dismiss(this.postEvent); } @@ -97,7 +97,6 @@ export class CalModalPage implements AfterViewInit { }); } this.postEvent.Attendees = this.eventAttendees; - console.log(this.eventAttendees); }); } 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 f033611aa..3789286db 100644 --- a/src/app/pages/events/event-detail/event-detail.page.html +++ b/src/app/pages/events/event-detail/event-detail.page.html @@ -1,7 +1,7 @@ - + Visualizar Evento @@ -57,7 +57,7 @@ Data Fim
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 6b8deca1b..497630dc5 100644 --- a/src/app/pages/events/event-detail/event-detail.page.ts +++ b/src/app/pages/events/event-detail/event-detail.page.ts @@ -1,4 +1,4 @@ -import { Component, OnInit, Injectable } from '@angular/core'; +import { Component, OnInit, ViewChildren, ViewChild } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; import { EventsService } from 'src/app/services/events.service'; import { Router } from '@angular/router'; @@ -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 { DEFAULT_ENCODING } from 'crypto'; @Component({ selector: 'app-event-detail', @@ -16,6 +17,9 @@ import { AttendeesPage } from 'src/app/pages/events/attendees/attendees.page'; export class EventDetailPage implements OnInit { loadedEvent: Event; + backURL: string; + + minDate: Date; constructor(public alertController: AlertController, private router: Router, private activatedRoute: ActivatedRoute, private eventsService: EventsService, private modalCtrl: ModalController) { this.loadedEvent = new Event(); @@ -28,20 +32,30 @@ export class EventDetailPage implements OnInit { loadEvent() { + let eventid: string; + this.activatedRoute.paramMap.subscribe(paramMap => { if (!paramMap.has("eventId")) { return; } + else + { + eventid = paramMap.get('eventId'); + } - this.eventsService.getEvent(paramMap.get('eventId')).subscribe(response => - { - this.loadedEvent = response; - //this.eventsService.lastloadedevent = this.loadedEvent; - }); + if (paramMap.has("caller")) + { + this.backURL = "/home/" + paramMap.get('caller'); + } } ); + + this.eventsService.getEvent(eventid).subscribe(response => + { + this.loadedEvent = response; + }); } async openAttendees() @@ -127,9 +141,11 @@ export class EventDetailPage implements OnInit { }); await alert.present(); - - this.router.navigate(['/home/events']); }); } + back() + { + //this.back(); + } } diff --git a/src/app/pages/events/events.page.html b/src/app/pages/events/events.page.html index 170f6791c..c6d4ef337 100644 --- a/src/app/pages/events/events.page.html +++ b/src/app/pages/events/events.page.html @@ -79,7 +79,7 @@ + [routerLink]="['/home/events', event.EventId, 'events']">
diff --git a/src/app/pages/events/events.page.ts b/src/app/pages/events/events.page.ts index 6e4c71c64..c4293ffbf 100644 --- a/src/app/pages/events/events.page.ts +++ b/src/app/pages/events/events.page.ts @@ -77,7 +77,6 @@ export class EventsPage implements OnInit { .subscribe(response => { this.eventsList = response; this.showLoader = false; - console.log(response[0].HasAttachments) } ); break;