From 90b47ca723027aee4dffcc38f2ec3a88b439e931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Mon, 6 Dec 2021 13:15:15 +0100 Subject: [PATCH] Bug fix on agenda presenting events offline --- src/app/pages/agenda/agenda.page.ts | 87 +++++++++++++++++++---------- 1 file changed, 56 insertions(+), 31 deletions(-) diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts index 136a6a819..eae2f18df 100644 --- a/src/app/pages/agenda/agenda.page.ts +++ b/src/app/pages/agenda/agenda.page.ts @@ -233,7 +233,7 @@ export class AgendaPage implements OnInit { ngOnInit() { - this.getFromDB(); + //this.getFromDB(); const pathname = window.location.pathname let realoadCounter = 0 @@ -243,7 +243,7 @@ export class AgendaPage implements OnInit { this.segment = "Combinado"; } if (realoadCounter != 0) { - //this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); + this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); } realoadCounter++; } @@ -514,7 +514,7 @@ export class AgendaPage implements OnInit { this.CalendarStore.pushEvent(response, 'md'); console.log('CALENDAR STORE', this.CalendarStore.eventSource) - this.trasnformData(response,'md'); + this.trasnformData(response, 'md'); this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) @@ -537,11 +537,12 @@ export class AgendaPage implements OnInit { else if (this.profile == "pr" && this.loggeduser.Profile == 'MDGPR') { this.eventService.getAllSharedEvents(momentG(new Date(startTime), 'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime), 'yyyy-MM-dd 23:59:59')).then((response: any) => { + this.addEventToDB(response, "pr"); this.CalendarStore.removeRange(startTime, endTime, 'pr') // calendar this.CalendarStore.pushEvent(response, 'pr'); - this.trasnformData(response,'pr'); + this.trasnformData(response, 'pr'); this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) @@ -555,9 +556,9 @@ export class AgendaPage implements OnInit { }).catch((error) => { this.getFromDB() }) - .finally(() => { - this.showLoader = false; - }) + .finally(() => { + this.showLoader = false; + }) } else if (this.loggeduser.Profile == 'PR') { @@ -571,7 +572,7 @@ export class AgendaPage implements OnInit { // startTime = 1, endTime = 31 this.CalendarStore.removeRange(startTime, endTime, 'pr') this.CalendarStore.pushEvent(response, 'pr'); - this.trasnformData(response,'pr') + this.trasnformData(response, 'pr') this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) @@ -603,13 +604,14 @@ export class AgendaPage implements OnInit { this.eventService.getAllMdEvents(momentG(new Date(startTime), 'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime), 'yyyy-MM-dd 23:59:59')).then((response: any) => { + this.addEventToDB(response, "md"); let eventsList = response; this.CalendarStore.removeRange(startTime, endTime, 'md') // loop this.CalendarStore.pushEvent(eventsList, 'md'); - this.trasnformData(response,'md') + this.trasnformData(response, 'md') this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) @@ -628,22 +630,23 @@ export class AgendaPage implements OnInit { }).catch((error) => { this.getFromDB() }) - .finally(() => { - counter++; - if (counter == 2) { - this.showLoader = false; - } - }) + .finally(() => { + counter++; + if (counter == 2) { + this.showLoader = false; + } + }) this.eventService.getAllSharedEvents(momentG(new Date(startTime), 'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime), 'yyyy-MM-dd 23:59:59')).then((response: any) => { + this.addEventToDB(response, "pr"); let eventsList = response; // clear the current month only /* this.CalendarStore.removeRange(startTime, endTime, 'pr') this.CalendarStore.pushEvent(eventsList, 'pr'); */ - this.trasnformData(response,'pr') + this.trasnformData(response, 'pr') this.TimelinePRList = this.listBoxService.list(this.listToPresent, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) @@ -663,18 +666,19 @@ export class AgendaPage implements OnInit { }).catch((error) => { this.getFromDB() }) - .finally(() => { - counter++; - if (counter == 2) { - this.showLoader = false; - } - }) + .finally(() => { + counter++; + if (counter == 2) { + this.showLoader = false; + } + }) } else { // view PR calendar with PR profile this.eventService.getAllPrEvents(momentG(new Date(startTime), 'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime), 'yyyy-MM-dd 23:59:59')).then((response: any) => { + this.addEventToDB(response, "pr"); let eventsList; if (this.segment == 'Oficial') { eventsList = response.filter(data => data.CalendarName == "Oficial"); @@ -688,7 +692,7 @@ export class AgendaPage implements OnInit { this.CalendarStore.removeRange(startTime, endTime, 'pr') this.CalendarStore.pushEvent(eventsList, 'pr'); - this.trasnformData(eventsList,'pr') + this.trasnformData(eventsList, 'pr') this.TimelinePRList = this.listBoxService.list(this.listToPresent, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) @@ -708,18 +712,19 @@ export class AgendaPage implements OnInit { }).catch((error) => { this.getFromDB() }) - .finally(() => { - if (counter == 1 || this.loggeduser.Profile == 'PR') { - this.showLoader = false; - } - }) + .finally(() => { + if (counter == 1 || this.loggeduser.Profile == 'PR') { + this.showLoader = false; + } + }) } } } - trasnformData(response,profile) { + trasnformData(response, profile) { + console.log('Transform ', response) response.forEach(element => { let event = { startTime: new Date(element.StartDate), @@ -736,6 +741,25 @@ export class AgendaPage implements OnInit { console.log('LIST TO PRESET', this.listToPresent) } + //Deve ser removido para ficar só um method transform + trasnformDataDB(response) { + console.log('Transform ', response) + response.forEach(element => { + let event = { + startTime: new Date(element.StartDate), + endTime: new Date(element.EndDate), + allDay: false, + event: element, + calendarName: element.CalendarName, + profile: element.Profile, + id: element.EventId, + } + this.array.push(event) + }); + this.listToPresent = this.array; + console.log('LIST TO PRESET', this.listToPresent) + } + addEventToDB(response, profile) { if (this.platform.is('desktop') || this.platform.is('mobileweb')) { } else { @@ -756,7 +780,7 @@ export class AgendaPage implements OnInit { Profile: profile } this.sqliteservice.addEvent(event) - + }); } } @@ -767,7 +791,8 @@ export class AgendaPage implements OnInit { this.sqliteservice.getAllEvents().then((events: any[]) => { console.log('ALL EVENTS FROM DB', events) let eventArray = []; - this.trasnformData(events,this.profile) + + this.trasnformDataDB(events) this.updateEventListBox() this.myCal.update();