diff --git a/src/app/models/envarioment.ts b/src/app/models/envarioment.ts index 1facb155f..18e003fbd 100644 --- a/src/app/models/envarioment.ts +++ b/src/app/models/envarioment.ts @@ -9,7 +9,7 @@ export interface Environment { defaultuser: string; defaultuserpwd: string; chatOffline: boolean; - presidencial: boolean; + presidential: boolean; version: version; sentryUrl: string; despachoLabel: string diff --git a/src/app/pages/agenda/agenda.page.html b/src/app/pages/agenda/agenda.page.html index 8688055b7..26f942a05 100644 --- a/src/app/pages/agenda/agenda.page.html +++ b/src/app/pages/agenda/agenda.page.html @@ -95,26 +95,51 @@ + +
+ + + + + + +
+
PR
+
MDGPR
+
Agenda do {{calendars.Fullname}}
+
+ +
+
{{ environment.agendaPR}}
+
{{ environment.agendaVP}}
+
Agenda do {{calendars.Fullname}}
+
Minha agenda
+
+ +
+ + + PR+MDGPR + + +
+
+ +
+ + - - - - - -
{{ environment.agendaPR}}
-
{{ environment.agendaVP}}
-
Agenda do {{calendars.Fullname}}
-
Minha agenda
-
- -
-
--> +
+ + @@ -166,7 +195,7 @@ - - - - - - - - Hoje,  {{ timelineDate }} - - -
{{timelineFilterState}}
- - - -
    -
  • Todos
  • -
  • Agenda Oficial
  • -
  • Agenda Pessoal
  • -
+
- - - -
-
- -
Minha agenda
+
+ Todos
-
-
- - -
{{ environment.agendaPR}}
-
{{ environment.agendaVP}}
-
Agenda do {{calendars.Fullname}}
- -
-
+
+ Pessoais +
+
+ Oficiais
@@ -262,16 +251,19 @@
-
-
-
+
+
+ Hoje,  {{ timelineDate }} +
+ +
-
- {{ TimelineDayEvent(events.key)}} +
+ {{ TimelineDay(events.key)}}
{{ viewTitle }}
@@ -310,94 +302,6 @@
-
-
- -
-
- {{ TimelineDayEvent(events.key) }} -
-
- -
- -
-
Início
-
Fim
- -
{{event.event.StartDate | date: 'HH:mm'}}
-
{{event.event.EndDate | date: 'HH:mm'}}
- -
Todo
-
o dia
- -
-
-
Todo
-
o dia
-
-
-
-

{{event.event.Subject}}

-
-
{{event.event.Location}}
-
{{SessionStore.user.FullName}}
- {{eventService.getCalendarOwnNameByCalendarId(event.event.CalendarId)}} -
-
-
-
- -
-
- - -
-
- -
- -
- {{ TimelineDayEvent(events.key)}} -
- -
- -
- -
-
Início
-
Fim
- -
{{event.event.StartDate | date: 'HH:mm'}}
-
{{event.event.EndDate | date: 'HH:mm'}}
- -
Todo
-
o dia
- -
-
-
Todo
-
o dia
-
-
-
-

{{event.event.Subject}}

-
-
{{event.event.Location}}
- -
{{SessionStore.user.FullName}}
- {{eventService.getCalendarOwnNameByCalendarId(event.event.CalendarId)}} -
-
- -
-
- -
-
-
diff --git a/src/app/pages/agenda/agenda.page.scss b/src/app/pages/agenda/agenda.page.scss index 0275b93d6..df5bbfc73 100644 --- a/src/app/pages/agenda/agenda.page.scss +++ b/src/app/pages/agenda/agenda.page.scss @@ -400,10 +400,6 @@ td.monthview-primary-with-event { .currente-date-timelien{ cursor: pointer; padding: 10px 20px; - .timeline-date{ - font-size: 15px; - font-weight: bold; - } .collaps{ font-size: 26px; padding-right: 8px; @@ -452,6 +448,11 @@ td.monthview-primary-with-event { } } +.timeline-date{ + font-size: 13px; + font-weight: 500; + color: gray; +} .showcalendar{ display: none; @@ -467,8 +468,8 @@ td.monthview-primary-with-event { .timeline-container{ .day { - font-weight: bold; - color: #2e2e2e !important; + font-weight: 500; + color: gray !important; font-size: 13px; } .EventListBoxBorder{ @@ -482,6 +483,7 @@ td.monthview-primary-with-event { } + .schedule-time{ margin-right: 10px; min-width: 33px; @@ -567,23 +569,6 @@ td.monthview-primary-with-event { margin: 0 !important; } - .content-pr-Pessoal{ - background-color: var(--white); - border-radius: 5px; - border-right: 5px solid #958bfc; - overflow: auto; - } - .content-mdgpr-Oficial{ - border-radius: 5px; - border-right: 5px solid #ffb703; - overflow: auto; - } - .content-mdgpr-Pessoal{ - border-radius: 5px; - border-right: 5px solid #f05d5e; - overflow: auto; - } - } @@ -924,4 +909,13 @@ $font-size: 11pt; .labelb { font-weight: 500; +} + + +.active{ + font-weight: bold !important; +} + +.ss-timeline > :nth-child(3) .dayShow { + display: none; } \ No newline at end of file diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts index 76c418d8f..8eb1b3170 100644 --- a/src/app/pages/agenda/agenda.page.ts +++ b/src/app/pages/agenda/agenda.page.ts @@ -33,6 +33,8 @@ import { ThemeService } from 'src/app/services/theme.service' import { SessionStore } from 'src/app/store/session.service'; import { PermissionService } from 'src/app/services/permission.service'; import { environment } from 'src/environments/environment'; +import { RoleIdService } from 'src/app/services/role-id.service' +import { EventListStore } from 'src/app/models/agenda/AgendaEventList'; @Component({ selector: 'app-agenda', @@ -72,9 +74,8 @@ export class AgendaPage implements OnInit { // for timeline events: CalendarEvent[] = []; TimelinePR: CalendarEvent[] = []; - TimelinePRList = {} TimelineMD: CalendarEvent[] = []; - TimelineMDList = {} + TimelineMDList = {}; showTimelinePR = false; showTimelineMD = false; @@ -161,7 +162,7 @@ export class AgendaPage implements OnInit { dropdownScrollWeal = false CalendarStore = CalendarStore - listToPresent + listToPresent: EventListStore[] = [] array = [] SessionStore = SessionStore; @@ -182,6 +183,7 @@ export class AgendaPage implements OnInit { public ThemeService: ThemeService, private storage:Storage, public p: PermissionService, + public RoleIdService: RoleIdService ) { this.dateAdapter.setLocale('es'); @@ -253,9 +255,13 @@ export class AgendaPage implements OnInit { }, 1000) } + + ngOnInit() { this.setCalendarByDefault() + const selectedCalendarIds = this.getSelectedAgendaCalendars(); + this.listToPresent = this.CalendarStore.getEventsByCalendarIds(selectedCalendarIds) setTimeout(() => { const pathname = window.location.pathname @@ -396,8 +402,6 @@ export class AgendaPage implements OnInit { this.myCal.loadEvents(); } catch (e) { } - this.updateEventListBox() - } // for calendar @@ -487,6 +491,11 @@ export class AgendaPage implements OnInit { return (day).padStart(2, '0') + ' ' + this.viewTitle } + + TimelineDay(day) { + return (day).padStart(2, '0') + } + get calendarDay(): string { return ((new Date(this.timelineDate)).getDate()).toString().padStart(2, '0') @@ -546,563 +555,251 @@ export class AgendaPage implements OnInit { return false } - this.array = []; this.rangeStartDate = startTime this.rangeEndDate = endTime this.showLoader = true; - if (window.innerWidth < 800) { + const selectedCalendarIds = this.getSelectedAgendaCalendars(); + this.listToPresent = this.CalendarStore.getEventsByCalendarIds(selectedCalendarIds) + this.updateEventListBox() - if (this.profile == "mdgpr" && this.loggeduser.Profile == 'MDGPR') { - this.eventService.getAllMdEvents(momentG(new Date(startTime), 'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime), 'yyyy-MM-dd 23:59:59')).then( + try { + this.myCal.update(); + this.myCal.loadEvents(); + } catch (error) { - (response: any) => { + } + - this.addEventToDB(response, "md"); + let load = 0; - // calendar - this.CalendarStore.removeRange(startTime, endTime, 'md') + for ( const selectedCalendar of selectedCalendarIds) { + this.eventService.getEventsByCalendarId(momentG(new Date(startTime), 'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime), 'yyyy-MM-dd 23:59:59'), selectedCalendar.calendarId).then((response: any) => { - // loop - this.CalendarStore.pushEvent(response, 'md'); + let label; - this.trasnformData(response, 'md'); - - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - - this.myCal.update(); - this.myCal.loadEvents(); - - this.showLoader = false; - this.showTimeline = true; - - }).catch((error) => { - console.error(error) - this.getFromDB(); - }).finally(() => { - this.showLoader = false; - this.deleteLoadRangeEvent(startTime, endTime) - this.updateEventListBox() - }) - - } - // view PR calendar with MDGPR profile - 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.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - - // - this.myCal.update(); - this.myCal.loadEvents(); - - this.showLoader = false; - this.showTimeline = true; - - }).catch((error) => { - this.getFromDB() - }) - .finally(() => { - this.deleteLoadRangeEvent(startTime, endTime) - this.showLoader = false; - this.updateEventListBox() - }) - - } - else if (this.loggeduser.Profile == 'PR') { - 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"); - - // clear the current month only - // response == september - // startTime = 1, endTime = 31 - this.CalendarStore.removeRange(startTime, endTime, 'pr') - this.CalendarStore.pushEvent(response, 'pr'); - - - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - - // - - this.myCal.update(); - this.myCal.loadEvents(); - - this.showLoader = false; - this.showTimeline = true; - - - }).catch((error) => { - console.error(error) - this.getFromDB() - }) - .finally(() => { - this.deleteLoadRangeEvent(startTime, endTime) - this.showLoader = false; - this.updateEventListBox() - }) - } else if (this.loggeduser.Profile != 'PR' && this.loggeduser.Profile != 'MDGPR'){ - if(this.profile == "mdgpr") { - - this.eventService.getAllOwnEvents(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"); - - // calendar - this.CalendarStore.removeRange(startTime, endTime, 'md') - - // loop - this.CalendarStore.pushEvent(response, 'md'); - - - this.trasnformData(response, 'md'); - - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - - // - this.myCal.update(); - this.myCal.loadEvents(); - - this.showLoader = false; - this.showTimeline = true; - - }).catch((error) => { - console.error(error) - this.getFromDB(); - }).finally(() => { - this.deleteLoadRangeEvent(startTime, endTime) - this.showLoader = false; - this.updateEventListBox() - }) - - } else if (this.profile == "pr" ) { - - this.eventService.genericGetAllSharedEvents(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.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - - // - this.myCal.update(); - this.myCal.loadEvents(); - - this.showLoader = false; - this.showTimeline = true; - - }).catch((error) => { - console.error(error) - this.getFromDB() - }).finally(() => { - this.deleteLoadRangeEvent(startTime, endTime) - this.showLoader = false; - this.updateEventListBox() - }) - - } - } - - } else { - // Desktop only - - let counter = 0; - - if (this.loggeduser.Profile == 'MDGPR') { - - 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.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - - // - this.myCal.update(); - this.myCal.loadEvents(); - - this.showTimelineMD = true; - - counter++; - if (counter == 2) { - this.showLoader = false; - } - - - }).catch((error) => { - console.error(error) - this.getFromDB() - }).finally(() => { - this.deleteLoadRangeEvent(startTime, endTime) - counter++; - if (counter == 2) { - this.showLoader = false; - } - this.updateEventListBox() - }) - - 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.TimelinePRList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - - // - - this.myCal.update(); - this.myCal.loadEvents(); - - this.showTimelinePR = true; - - counter++; - - if (counter == 2 || this.loggeduser.Profile == 'PR') { - this.showLoader = false; - } - - }).catch((error) => { - this.getFromDB() - }).finally(() => { - this.deleteLoadRangeEvent(startTime, endTime) - counter++; - if (counter == 2) { - this.showLoader = false; - } - this.updateEventListBox() - }) - - } else if(this.loggeduser.Profile == 'PR') { - - // view PR calendar with PR profile - if(this.loggeduser.OwnerCalendars.length != 0 ) { - - this.eventService.getAllOwnEvents(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; - - this.CalendarStore.removeRange(startTime, endTime, 'pr') - - // loop - this.CalendarStore.pushEvent(eventsList, 'pr'); - - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - - // console.log('this.TimelineMDList', this.TimelineMDList); - - this.myCal.update(); - this.myCal.loadEvents(); - - this.showTimelineMD = true; - - this.showLoader = false; - - - }).catch((error) => { - console.error(error) - this.getFromDB() - }).finally(() => { - this.deleteLoadRangeEvent(startTime, endTime) - this.showLoader = false; - this.updateEventListBox() - }) + if(SessionStore.user.OwnerCalendars.find(e => e.CalendarId == selectedCalendar.calendarId)) { + label = 'md' } else { - this.showLoader = false; + label = "pr" } - } else { + console.log('label', label) - const selectedCalendarUserId = this.selectedCalendarUserId(); - this.eventService.getEventsByRoleId(momentG(new Date(startTime), 'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime), 'yyyy-MM-dd 23:59:59'), selectedCalendarUserId).then((response: any) => { + // this.addEventToDB(response, label); + let eventsList = response; + this.CalendarStore.removeRangeForCalendar(startTime, endTime, label, selectedCalendar.calendarId) + this.CalendarStore.pushEvent(eventsList, label); + + this.listToPresent = this.CalendarStore.getEventsByCalendarIds(selectedCalendarIds) - let label; + this.TimelineMDList = this.listBoxService.list(this.listToPresent, label, this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - if(selectedCalendarUserId == SessionStore.user.UserId) { - label = 'md' - } else { - label = "pr" - } - this.addEventToDB(response, label); - let eventsList = response; - this.CalendarStore.removeRange(startTime, endTime, label) - this.CalendarStore.pushEvent(eventsList, label); - this.listToPresent = this.CalendarStore.eventSource - this.TimelinePRList = this.listBoxService.list(this.CalendarStore.eventSource, label, this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) + this.showTimelinePR = true; - this.myCal.update(); - this.myCal.loadEvents(); + }).finally(() => { + this.deleteLoadRangeEvent(startTime, endTime); - this.showTimelinePR = true; + load++ + if(load == selectedCalendarIds.length) { this.showLoader = false; - - }).finally(() => { - this.deleteLoadRangeEvent(startTime, endTime) - this.showLoader = false; - this.updateEventListBox() - }) - } - + } + + this.myCal.update(); + this.myCal.loadEvents(); + this.updateEventListBox() + }) } } + selectedAgenda = {} getSelectedAgendaCalendars () { - let Oficial = this.eventService.calendarNamesType[this.CalendarName]?.['Oficial'] - let Pessoal = this.eventService.calendarNamesType[this.CalendarName]?.['Pessoal'] + const calendar = this.eventService.calendarNamesType[this.CalendarName]; + let Oficial = calendar?.['OficialId'] + let Pessoal = calendar?.['PessoalId'] if(Oficial && Pessoal) { - return [Oficial, Pessoal] + return [ + { + calendarId : Oficial, + OwnerId: calendar.OwnerId, + CalendarName: calendar.CalendarName + }, + { + OwnerId: calendar.OwnerId, + calendarId : Pessoal, + CalendarName: calendar.CalendarName + } + ] } else if (Oficial) { - return [Oficial] - - } else if (Pessoal) { - return [Pessoal] + return [{ + OwnerId: calendar.OwnerId, + calendarId : Oficial, + CalendarName: calendar.CalendarName + }] } else { - return [Oficial, Pessoal] + return [{ + OwnerId: calendar.OwnerId, + calendarId : Pessoal, + CalendarName: calendar.CalendarName + }] + } } - trasnformData(response, profile) { + // trasnformData(response, profile) { - response.forEach(element => { - let event = { - startTime: new Date(element.StartDate), - endTime: new Date(element.EndDate), - allDay: false, - event: element, - calendarName: element.CalendarName, - profile: profile, - id: element.EventId, - } - this.array.push(event) - }); - this.listToPresent = this.array; + // response.forEach(element => { + // let event = { + // startTime: new Date(element.StartDate), + // endTime: new Date(element.EndDate), + // allDay: false, + // event: element, + // calendarName: element.CalendarName, + // profile: profile, + // id: element.EventId, + // } + // this.array.push(event) + // }); + // this.listToPresent = this.array; - } + // } - //Deve ser removido para ficar só um method transform - trasnformDataDB(response) { + // //Deve ser removido para ficar só um method transform + // trasnformDataDB(response) { - if(response) { + // if(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; + // 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; - } + // } - } + // } - addEventToDB(response, profile) { - if (this.platform.is('desktop') || this.platform.is('mobileweb')) { - let responseArray = []; - response.forEach(element => { - let event = { - CalendarId: element.CalendarId, - CalendarName: element.CalendarName, - EndDate: element.EndDate, - EventId: element.EventId, - HasAttachments: element.HasAttachments, - HumanDate: element.HumanDate, - IsAllDayEvent: element.IsAllDayEvent, - Location: element.Location, - StartDate: element.StartDate, - Subject: element.Subject, - Profile: profile - } - responseArray.push(event) + // addEventToDB(response, profile) { + // if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + // let responseArray = []; + // response.forEach(element => { + // let event = { + // CalendarId: element.CalendarId, + // CalendarName: element.CalendarName, + // EndDate: element.EndDate, + // EventId: element.EventId, + // HasAttachments: element.HasAttachments, + // HumanDate: element.HumanDate, + // IsAllDayEvent: element.IsAllDayEvent, + // Location: element.Location, + // StartDate: element.StartDate, + // Subject: element.Subject, + // Profile: profile + // } + // responseArray.push(event) - }); + // }); - this.storage.set('agendaResponse',responseArray).then(() => { + // this.storage.set('agendaResponse',responseArray).then(() => { - }) - } else { - if (response.length > 0) { + // }) + // } else { + // if (response.length > 0) { - response.forEach(element => { - let event = { - CalendarId: element.CalendarId, - CalendarName: element.CalendarName, - EndDate: element.EndDate, - EventId: element.EventId, - HasAttachments: element.HasAttachments, - HumanDate: element.HumanDate, - IsAllDayEvent: element.IsAllDayEvent, - Location: element.Location, - StartDate: element.StartDate, - Subject: element.Subject, - Profile: profile - } - this.sqliteservice.addEvent(event) + // response.forEach(element => { + // let event = { + // CalendarId: element.CalendarId, + // CalendarName: element.CalendarName, + // EndDate: element.EndDate, + // EventId: element.EventId, + // HasAttachments: element.HasAttachments, + // HumanDate: element.HumanDate, + // IsAllDayEvent: element.IsAllDayEvent, + // Location: element.Location, + // StartDate: element.StartDate, + // Subject: element.Subject, + // Profile: profile + // } + // this.sqliteservice.addEvent(event) - }); - } - } - } + // }); + // } + // } + // } - getFromDB() { + // getFromDB() { - if (this.platform.is('desktop') || this.platform.is('mobileweb')) { - this.storage.get('agendaResponse').then((events) => { - this.trasnformDataDB(events) - this.updateEventListBox() + // if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + // this.storage.get('agendaResponse').then((events) => { + // this.trasnformDataDB(events) + // this.updateEventListBox() - this.myCal.update(); - this.myCal.loadEvents(); + // this.myCal.update(); + // this.myCal.loadEvents(); - this.showLoader = false; - this.showTimeline = true; - }) - } else { - this.sqliteservice.getAllEvents().then((events: any[] = []) => { + // this.showLoader = false; + // this.showTimeline = true; + // }) + // } else { + // this.sqliteservice.getAllEvents().then((events: any[] = []) => { - let eventArray = []; + // let eventArray = []; - this.trasnformDataDB(events) - this.updateEventListBox() + // this.trasnformDataDB(events) + // this.updateEventListBox() - this.myCal.update(); - this.myCal.loadEvents(); + // this.myCal.update(); + // this.myCal.loadEvents(); - this.showLoader = false; - this.showTimeline = true; + // this.showLoader = false; + // this.showTimeline = true; - }) - } + // }) + // } - } + // } - getEventsFromDB () { + // getEventsFromDB () { - new Promise((resolve, reject) => { - if (this.platform.is('desktop') || this.platform.is('mobileweb')) { - this.storage.get('agendaResponse').then((events) => { - resolve(events) - }) - } else { - this.sqliteservice.getAllEvents().then((events: any[] = []) => { - resolve(events) - }) - } - }).catch ((error) => { - console.error(error); - }); + // new Promise((resolve, reject) => { + // if (this.platform.is('desktop') || this.platform.is('mobileweb')) { + // this.storage.get('agendaResponse').then((events) => { + // resolve(events) + // }) + // } else { + // this.sqliteservice.getAllEvents().then((events: any[] = []) => { + // resolve(events) + // }) + // } + // }).catch ((error) => { + // console.error(error); + // }); - } + // } updateEventListBox() { - if (window.innerWidth < 768) { + const selectedCalendarIds = this.getSelectedAgendaCalendars(); + this.listToPresent = this.CalendarStore.getEventsByCalendarIds(selectedCalendarIds) - switch (this.segment) { - case "Combinado": - - if (this.profile == "mdgpr" && this.loggeduser.Profile == 'MDGPR') { - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - - } - else if (this.profile == "pr" && this.loggeduser.Profile == 'MDGPR') { - - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - - } - else if (this.loggeduser.Profile == 'PR') { - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - } else { - - if(this.profile == "pr") { - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - } else if (this.profile == "mdgpr") { - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - } - - } - break; - - case "Pessoal": - //Inicializa o array eventSource - if (this.profile == "mdgpr" && this.loggeduser.Profile == 'MDGPR') { - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - - } - else if(this.loggeduser.Profile == 'PR') { - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - this.TimelinePRList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - } else { - if(this.profile == "pr") { - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - } else if (this.profile == "mdgpr") { - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - } - } - break; - - case "Oficial": - - if (this.profile == "mdgpr" && this.loggeduser.Profile == 'MDGPR') { - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'md', this.rangeStartDate, this.rangeEndDate, {segment: this.segment, selectedDate: this.eventSelectedDate}) - - } else if(this.loggeduser.Profile == 'PR') { - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - this.TimelinePRList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - - } else { - if(this.profile == "pr") { - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - } else if (this.profile == "mdgpr") { - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - } - } - break; - - } - } else { - - this.TimelinePRList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) - - } + this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) } @@ -1177,17 +874,17 @@ export class AgendaPage implements OnInit { } changeProfile() { - + if (this.profile == "mdgpr") { this.profile = "pr"; this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) + this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'pr', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) } else { this.profile = "mdgpr"; this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); - this.TimelineMDList = this.listBoxService.list(this.CalendarStore.eventSource, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) + this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate }) } } @@ -1455,6 +1152,11 @@ export class AgendaPage implements OnInit { } } + reloadCalendar() { + // + this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); + } + async EventToApproveGoBack() { } diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.html b/src/app/pages/gabinete-digital/gabinete-digital.page.html index e4d844d42..be7c96be9 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.html +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.html @@ -219,7 +219,7 @@ -
+
diff --git a/src/app/pages/search/search.page.ts b/src/app/pages/search/search.page.ts index f0bfa1c51..b907d1a19 100644 --- a/src/app/pages/search/search.page.ts +++ b/src/app/pages/search/search.page.ts @@ -638,7 +638,7 @@ export class SearchPage implements OnInit { res.Categories.forEach( e => { e['Active'] = false; - if(!environment.presidencial) { + if(!environment.presidential) { e['Name'] = "Publicações" } }); @@ -649,7 +649,7 @@ export class SearchPage implements OnInit { } for ( const a of this.sortArrayISODate(res.Documents)) { - if(!environment.presidencial) { + if(!environment.presidential) { a.DocTypeDesc = "Publicações" } this.searchDocuments.push(a); @@ -689,12 +689,12 @@ export class SearchPage implements OnInit { res.Categories.forEach( e => { e['Active'] = false; - if(!environment.presidencial) { + if(!environment.presidential) { e['Name'] = "Acções" } }); - if(!environment.presidencial) { + if(!environment.presidential) { // bind respose for ( const a of res.Categories) { this.searchCategories.push(a); @@ -704,7 +704,7 @@ export class SearchPage implements OnInit { for ( const a of this.sortArrayISODate(res.Documents)) { - if(!environment.presidencial) { + if(!environment.presidential) { a.DocTypeDesc = "Acções" this.searchDocuments.push(a); } diff --git a/src/app/services/agenda/list-box.service.ts b/src/app/services/agenda/list-box.service.ts index 888e41efc..3e04d7cc5 100644 --- a/src/app/services/agenda/list-box.service.ts +++ b/src/app/services/agenda/list-box.service.ts @@ -43,21 +43,17 @@ export class ListBoxService { // } - if(segment!='Combinado') { - eventSource = this.filterSegment(eventSource, segment) - } + // if(segment!='Combinado') { + // eventSource = this.filterSegment(eventSource, segment) + // } - if(profile != 'all') { - eventSource = this.filterProfile(eventSource, profile) - } + // if(profile != 'all') { + // eventSource = this.filterProfile(eventSource, profile) + // } let newStracture:CustomCalendarEvent[]; - if(profile == 'md') { - newStracture = this.encapsulation(eventSource, 'mdgpr'); - } else { - newStracture = this.encapsulation(eventSource, 'pr'); - } + newStracture = this.encapsulation(eventSource); return this.display(newStracture, profile, selectedDate) } @@ -97,7 +93,7 @@ export class ListBoxService { if (diffDays >= 1) { - const StartEvent = this.transForm(event, {startMany: true, endMany: false, middle: false, profile}) + const StartEvent = this.transForm(event, {startMany: true, endMany: false, middle: false}) if(this.CanPush(event, selectedDate)) days[day].push(StartEvent) @@ -124,12 +120,12 @@ export class ListBoxService { startDate.getDate() != endDate.getDate())) { // last push - const EndEvent = this.transForm(event, {startMany: false, endMany: true, middle: false, profile}) + const EndEvent = this.transForm(event, {startMany: false, endMany: true, middle: false}) if(this.CanPush(event, selectedDate)) days[otherDays].push(EndEvent) } else { - const EndEvent = this.transForm(event, {startMany: false,endMany: true, middle: true, profile}) + const EndEvent = this.transForm(event, {startMany: false,endMany: true, middle: true}) if(this.CanPush(event, selectedDate)) days[otherDays].push(EndEvent) } @@ -172,7 +168,7 @@ export class ListBoxService { new Date(event.start).getDate() >= selectedDate.getDate() } - encapsulation(eventsList:EventListStore[], profile): CustomCalendarEvent[] { + encapsulation(eventsList:EventListStore[]): CustomCalendarEvent[] { // remove all event let events: CustomCalendarEvent[] = []; @@ -184,7 +180,7 @@ export class ListBoxService { end: new Date(element.endTime), id: element.id, event: element.event, - profile: profile + profile: element.profile }); }); @@ -192,12 +188,12 @@ export class ListBoxService { return events; } - transForm(event: CustomCalendarEvent, {startMany, endMany, middle, profile}) { + transForm(event: CustomCalendarEvent, {startMany, endMany, middle}) { return Object.assign({}, { start: event.start, end: event.end, id: event.id, - profile: profile, + profile: event.profile, event: { Subject: event.event.Subject, StartDate: event.event.StartDate, diff --git a/src/app/services/events.service.ts b/src/app/services/events.service.ts index bdfefd65d..fc5fcd35c 100644 --- a/src/app/services/events.service.ts +++ b/src/app/services/events.service.ts @@ -277,6 +277,7 @@ export class EventsService { this.calendarNamesType[e.FullName][sharedCalendar.CalendarName] = true this.calendarNamesType[e.FullName][sharedCalendar.CalendarName+'Id'] = sharedCalendar.CalendarId this.calendarNamesType[e.FullName]['RoleId'] = sharedCalendar.CalendarRoleId + this.calendarNamesType[e.FullName]['OwnerId'] = sharedCalendar.OwnerUserId }) } @@ -295,6 +296,7 @@ export class EventsService { this.calendarNamesType['Meu calendario'][OwnerCalendar.CalendarName] = true this.calendarNamesType['Meu calendario'][OwnerCalendar.CalendarName+'Id'] = OwnerCalendar.CalendarId this.calendarNamesType['Meu calendario']['RoleId'] = OwnerCalendar.CalendarRoleId + this.calendarNamesType['Meu calendario']['OwnerId'] = OwnerCalendar.OwnerUserId || SessionStore.user.UserId } @@ -525,9 +527,10 @@ export class EventsService { return this.http.get(`${geturl}`, options) } - async getEventsByCalendarId( startdate: string, enddate: string, calendarIds: any[]) { + + async getEventsByCalendarId( startdate: string, enddate: string, calendarId: string) { const calendars = SessionStore.user.OwnerCalendars.concat(SessionStore.user.SharedCalendars) - const agendasCalendars = calendars.filter( e => calendarIds.includes(e.CalendarId)) + const agendasCalendars = calendars.filter( e => e.CalendarId == calendarId) let result = [] diff --git a/src/app/store/calendar.service.ts b/src/app/store/calendar.service.ts index c4205933c..22ac64ba1 100644 --- a/src/app/store/calendar.service.ts +++ b/src/app/store/calendar.service.ts @@ -62,6 +62,16 @@ export class CalendarService { }) } + removeRangeForCalendar(rangeStartDate, rangeEndDate, profile, calendarId) { + this._eventSource = this._eventSource.filter((e)=> { + if(new Date(rangeStartDate).getTime() <= new Date(e.startTime).getTime() && + new Date(rangeEndDate).getTime() >= new Date(e.endTime).getTime() && e.CalendarId == calendarId) { + return false + } + return true + }) + } + pushEvent(eventsList: EventList[], profile: 'pr' | 'md') { let news = [] @@ -95,6 +105,18 @@ export class CalendarService { }, 10) } + getEventsByCalendarIds(ids:any[]): EventListStore[] { + + let result = []; + for (const calendar of ids) { + const events = this._eventSource.filter(e => e.CalendarId == calendar.calendarId) + result = result.concat(events) + } + + return result + + } + delete() { this._eventSource = [] diff --git a/src/environments/suport/doneIt.ts b/src/environments/suport/doneIt.ts index d63b0e88e..514e3477c 100644 --- a/src/environments/suport/doneIt.ts +++ b/src/environments/suport/doneIt.ts @@ -11,7 +11,7 @@ export const doneITProd: Environment = { defaultuser: '', defaultuserpwd: '', chatOffline: true, - presidencial: false, + presidential: false, version: versionData, sentryUrl: 'https://9920cc36f1d740b987426ee8d80cf588@o4504340905525248.ingest.sentry.io/4504340946419712', logoLabel: 'doneIT', @@ -34,7 +34,7 @@ export const doneITDev: Environment = { defaultuser: 'evandre.dasilva@equilibrium.co.ao', defaultuserpwd: 'Luand@1112', chatOffline: true, - presidencial: false, + presidential: false, version: versionData, sentryUrl: 'https://9920cc36f1d740b987426ee8d80cf588@o4504340905525248.ingest.sentry.io/4504340946419712', logoLabel: 'doneIT', diff --git a/src/environments/suport/oapr.ts b/src/environments/suport/oapr.ts index acf6e5f33..d5994cd7b 100644 --- a/src/environments/suport/oapr.ts +++ b/src/environments/suport/oapr.ts @@ -15,7 +15,7 @@ export const oaprProd: Environment = { defaultuser: '', defaultuserpwd: '', chatOffline: true, - presidencial: true, + presidential: true, version: versionData, agendaPR: 'Agenda do PR', agendaVP: 'Agenda do MD', @@ -38,7 +38,7 @@ export const oaprDev: Environment = { defaultuser: 'gmanuel@oapr.gov.ao', defaultuserpwd: 'M@p#2023', chatOffline: true, - presidencial: true, + presidential: true, version: versionData, agendaPR: 'Agenda do PR', agendaVP: 'Agenda do MD', diff --git a/src/theme/variables.scss b/src/theme/variables.scss index de81024d7..3272eeb27 100644 --- a/src/theme/variables.scss +++ b/src/theme/variables.scss @@ -431,28 +431,34 @@ $app-theme: mat-light-theme( .content-PR-Oficial { width: 340px; border-radius: 5px; - border-right: 5px solid #99e47b; + border-left: 5px solid #99e47b; overflow: auto; + padding-left: 10px; } .content-pr-Pessoal, .content-PR-Pessoal { width: 340px; border-radius: 5px; - border-right: 5px solid #958bfc; + border-left: 5px solid #958bfc; overflow: auto; + padding-left: 10px; } .content-mdgpr-Oficial, -.content-MDGPR-Oficial { +.content-MDGPR-Oficial, +.content-md-Oficial { width: 340px; border-radius: 5px; - border-right: 5px solid #ffb703; + border-left: 5px solid #ffb703; overflow: auto; + padding-left: 10px; } .content-mdgpr-Pessoal, +.content-md-Pessoal, .content-MDGPR-Pessoal { width: 340px; border-radius: 5px; - border-right: 5px solid #f05d5e; + padding-left: 10px; + border-left: 5px solid #f05d5e; overflow: auto; } diff --git a/version/git-version.ts b/version/git-version.ts index 495ecd9bb..99ca2d99a 100644 --- a/version/git-version.ts +++ b/version/git-version.ts @@ -1,12 +1,12 @@ export let versionData = { - "shortSHA": "6f99c792d", - "SHA": "6f99c792dcb13965ba29278b58b374766f4fa8a4", + "shortSHA": "8deed4cf9", + "SHA": "8deed4cf9433d2aeaf3419039896cd7dd1855e24", "branch": "feature/agenda-layout", "lastCommitAuthor": "'Peter Maquiran'", - "lastCommitTime": "'Wed Mar 22 15:31:01 2023 +0100'", - "lastCommitMessage": "fix sayings", - "lastCommitNumber": "4884", + "lastCommitTime": "'Tue Mar 28 13:59:37 2023 +0100'", + "lastCommitMessage": "fix agenda", + "lastCommitNumber": "4885", "change": "", - "changeStatus": "On branch feature/agenda-layout\nChanges to be committed:\n (use \"git restore --staged ...\" to unstage)\n\tmodified: src/app/pages/agenda/agenda.module.ts\n\tmodified: src/app/pages/agenda/agenda.page.html\n\tmodified: src/app/pages/agenda/agenda.page.ts\n\tmodified: src/app/services/events.service.ts", + "changeStatus": "On branch feature/agenda-layout\nChanges to be committed:\n (use \"git restore --staged ...\" to unstage)\n\tmodified: src/app/models/envarioment.ts\n\tmodified: src/app/pages/agenda/agenda.page.html\n\tmodified: src/app/pages/agenda/agenda.page.scss\n\tmodified: src/app/pages/agenda/agenda.page.ts\n\tmodified: src/app/pages/gabinete-digital/gabinete-digital.page.html\n\tmodified: src/app/pages/search/search.page.ts\n\tmodified: src/app/services/agenda/list-box.service.ts\n\tmodified: src/app/services/events.service.ts\n\tmodified: src/app/store/calendar.service.ts\n\tmodified: src/environments/suport/doneIt.ts\n\tmodified: src/environments/suport/oapr.ts\n\tmodified: src/theme/variables.scss", "changeAuthor": "peter.maquiran" } \ No newline at end of file