Attendees funcionality.

This commit is contained in:
Paulo Pinto
2020-08-26 09:42:16 +01:00
parent fcbdcab219
commit 9ba1802bed
10 changed files with 116 additions and 56 deletions
@@ -22,14 +22,12 @@
<ion-label position="stacked">Localização</ion-label>
<ion-input [(ngModel)]='loadedEvent.Location'></ion-input>
</ion-item>
<ion-item>
<ion-label position="stacked">Intervenientes</ion-label>
<ion-list>
<ion-item *ngFor="let inter of loadedEvent.RequiredAttendees">
<ion-input [(ngModel)]='inter.Name'></ion-input>
</ion-item>
</ion-list>
</ion-item>
<ion-item-sliding>
<ion-item
[routerLink]="['/home/attendees']">
<ion-label position="stacked">Pessoas</ion-label>
</ion-item>
</ion-item-sliding>
<ion-item>
<ion-label position="stacked">Calendário</ion-label>
<ion-input [(ngModel)]='loadedEvent.CalendarName'></ion-input>
@@ -46,13 +44,12 @@
<ion-label position="stacked">Data Fim</ion-label>
<ion-input [(ngModel)]='loadedEvent.EndDate'></ion-input>
</ion-item>
<ion-list>
<ion-list-header>Anexos</ion-list-header>
<ion-item>
<ion-icon name="attach" slot="start"></ion-icon>
<ion-label>Lei do orçamento geral do Estado</ion-label>
<ion-item-sliding>
<ion-item
[routerLink]="['/home/attachments', loadedEvent.EventId]">
<ion-label position="stacked">Anexos</ion-label>
</ion-item>
</ion-list>
</ion-item-sliding>
</ion-item-group>
<div class="event-detail-buttons">
<ion-button fill="outline" class="ion-button-left" (click)="deleteConfirm()">Apagar</ion-button>
@@ -1,11 +1,11 @@
import { Component, OnInit } from '@angular/core';
import { Component, OnInit, Injectable } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { EventsService } from 'src/app/services/events.service';
import { Router } from '@angular/router';
import { Event } from '../../../models/event.model';
import { Observable } from 'rxjs';
import { EventBody } from 'src/app/models/eventbody.model';
import { AlertController } from '@ionic/angular';
import { EventPerson } from 'src/app/models/eventperson.model';
@Component({
selector: 'app-event-detail',
@@ -15,7 +15,6 @@ import { AlertController } from '@ionic/angular';
export class EventDetailPage implements OnInit {
loadedEvent: Event;
eventItem: Observable<Event>;
constructor(public alertController: AlertController, private router: Router, private activatedRoute: ActivatedRoute, private eventsService: EventsService) {
this.loadedEvent = new Event();
@@ -23,29 +22,42 @@ export class EventDetailPage implements OnInit {
}
ngOnInit() {
/* Emit new data when something changes */
this.activatedRoute.paramMap.subscribe(paramMap =>{
if(!paramMap.has('eventId')){
//Redirect
return;
}
const eventId = paramMap.get('eventId');
this.loadEvent();
}
/* Load my event detail */
/* this.loadedEvent = this.eventsService.getEvent(eventId); */
this.eventItem = this.eventsService.getEvent(eventId);
/* console.log(this.eventItem); */
this.eventsService.getEvent(eventId).subscribe(response =>
loadEvent()
{
this.activatedRoute.paramMap.subscribe(paramMap =>
{
if (!paramMap.has("eventId"))
{
this.loadedEvent = response;
});
});
return;
}
this.eventsService.getEvent(paramMap.get('eventId')).subscribe(response =>
{
this.loadedEvent = response;
this.eventsService.lastloadedevent = this.loadedEvent;
});
}
);
}
getEventAttendees(): EventPerson[]
{
return this.loadedEvent.Attendees;
}
setEventAttendees(newattendes: EventPerson[])
{
this.loadedEvent.Attendees = newattendes;
}
async deleteConfirm()
{
console.log(this.loadedEvent.Attendees);
console.log(this.loadedEvent.CalendarName);
const alert = await this.alertController.create({
cssClass: 'my-custom-class',
header: 'Apagar evento!',
@@ -55,7 +67,7 @@ export class EventDetailPage implements OnInit {
text: 'Não',
role: 'cancel',
cssClass: 'secondary',
handler: (blah) => { }
handler: () => { }
}, {
text: 'Sim',
handler: () => {
@@ -70,7 +82,7 @@ export class EventDetailPage implements OnInit {
Delete()
{
this.eventsService.deleteEvent(this.loadedEvent.EventId, 0).subscribe(async response =>
this.eventsService.deleteEvent(this.loadedEvent.EventId, 0).subscribe(async () =>
{
const alert = await this.alertController.create({
cssClass: 'my-custom-class',
@@ -86,7 +98,7 @@ export class EventDetailPage implements OnInit {
Save()
{
this.eventsService.putEvent(this.loadedEvent, 2, 3).subscribe(async response =>
this.eventsService.putEvent(this.loadedEvent, 2, 3).subscribe(async () =>
{
const alert = await this.alertController.create({
cssClass: 'my-custom-class',