- improved edit workflow

- add delete functionality
This commit is contained in:
tiago.kayaya
2021-01-31 01:40:19 +01:00
parent fefb6dcc37
commit 568ad6f06c
7 changed files with 202 additions and 45 deletions
@@ -1,11 +1,12 @@
import { Component, OnInit } from '@angular/core';
import { ModalController, NavParams } from '@ionic/angular';
import { AlertController, ModalController, NavParams } from '@ionic/angular';
import { AuthConnstants } from 'src/app/config/auth-constants';
import { Attachment } from 'src/app/models/attachment.model';
import { EventBody } from 'src/app/models/eventbody.model';
import { AttachmentsService } from 'src/app/services/attachments.service';
import { EventsService } from 'src/app/services/events.service';
import { Event } from '../../../models/event.model';
import { EditEventPage } from '../edit-event/edit-event.page';
@Component({
selector: 'app-view-event',
@@ -15,6 +16,7 @@ import { Event } from '../../../models/event.model';
export class ViewEventPage implements OnInit {
loadedEvent: Event;
isEventEdited: boolean;
eventBody: EventBody;
loadedAttachments:any;
loadedEventAttachments: Attachment[];
@@ -36,12 +38,15 @@ export class ViewEventPage implements OnInit {
private navParams: NavParams,
private eventsService: EventsService,
private attachmentsService: AttachmentsService,
) {
public alertController: AlertController,
)
{
this.isEventEdited = false;
this.loadedEvent = new Event();
this.eventBody = { BodyType : "1", Text : ""};
this.loadedEvent.Body = this.eventBody;
this.eventId = this.navParams.get('eventId');
}
}
ngOnInit() {
/* console.log(this.eventId); */
@@ -49,6 +54,10 @@ export class ViewEventPage implements OnInit {
this.getAttachments();
}
close(){
console.log(this.isEventEdited);
this.modalController.dismiss(this.isEventEdited);
}
loadEvent(){
this.eventsService.getEvent(this.eventId).subscribe(res => {
@@ -61,6 +70,19 @@ export class ViewEventPage implements OnInit {
this.customDate = this.days[this.today.getDay()]+ ", " + this.today.getDate() +" de " + ( this.months[this.today.getMonth()]);
});
}
deleteEvent(){
this.eventsService.deleteEvent(this.loadedEvent.EventId, 0).subscribe(async () =>
{
const alert = await this.alertController.create({
cssClass: 'my-custom-class',
header: 'Evento removido',
buttons: ['OK']
});
await alert.present();
this.close();
});
}
getAttachments(){
this.attachmentsService.getAttachmentsById(this.eventId).subscribe(res=>{
@@ -69,6 +91,33 @@ export class ViewEventPage implements OnInit {
});
}
async editEvent() {
/* this.close(); */
console.log(this.profile);
const modal = await this.modalController.create({
component: EditEventPage,
componentProps:{
event: this.loadedEvent,
profile: this.profile,
},
cssClass: 'modal',
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss().then((res) => {
console.log(res);
if(res){
setTimeout(() => {
/* this.loadEvent(); */
this.getAttachments();
}, 250);
this.isEventEdited = true;
}
});
}
}