{"ast":null,"code":"import _asyncToGenerator from \"C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./agenda.page.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./agenda.page.scss?ngResource\";\nimport { Component, ViewChild, Inject, LOCALE_ID } from '@angular/core';\nimport { CalendarComponent } from 'ionic2-calendar';\nimport { ModalController } from '@ionic/angular';\nimport { EventsService } from 'src/app/services/events.service';\nimport { Router, NavigationEnd } from '@angular/router';\nimport { momentG } from 'src/plugin/momentG';\nimport { removeDuplicate } from 'src/plugin/removeDuplicate.js';\n// showTimeline\nimport { setHours, setMinutes } from 'date-fns';\nimport { CalendarDateFormatter, CalendarView, DAYS_OF_WEEK } from 'angular-calendar';\nimport { CustomDateFormatter } from './custom-date-formatter.provider';\nimport { NewEventPage } from './new-event/new-event.page';\nimport { DateAdapter } from '@angular/material/core';\nimport { CalendarStore } from 'src/app/store/calendar.service';\nimport { ListBoxService } from 'src/app/services/agenda/list-box.service';\nimport { ChangeProfileService } from 'src/app/services/change-profile.service';\nimport { BackgroundService } from 'src/app/services/background.service';\nimport { ThemeService } from 'src/app/services/theme.service';\nimport { SessionStore } from 'src/app/store/session.service';\nimport { PermissionService } from 'src/app/services/permission.service';\nimport { environment } from 'src/environments/environment';\nimport { RoleIdService } from 'src/app/services/role-id.service';\nlet AgendaPage = class AgendaPage {\n constructor(locale, modalCtrl, eventService, router, dateAdapter, listBoxService, changeProfileService, backgroundservice, ThemeService, p, RoleIdService) {\n this.locale = locale;\n this.modalCtrl = modalCtrl;\n this.eventService = eventService;\n this.router = router;\n this.dateAdapter = dateAdapter;\n this.listBoxService = listBoxService;\n this.changeProfileService = changeProfileService;\n this.backgroundservice = backgroundservice;\n this.ThemeService = ThemeService;\n this.p = p;\n this.RoleIdService = RoleIdService;\n this.view = CalendarView.Day;\n this.viewDate = new Date();\n this.weekStartsOn = DAYS_OF_WEEK.MONDAY;\n this.weekendDays = [DAYS_OF_WEEK.FRIDAY, DAYS_OF_WEEK.SATURDAY];\n this.CalendarView = CalendarView;\n // for timeline\n this.events = [];\n this.TimelinePR = [];\n this.TimelineMD = [];\n this.TimelineMDList = {};\n this.showTimelinePR = false;\n this.showTimelineMD = false;\n // timeline filter\n this.timelineFilterState = 'Todos';\n this.showTimeline = true;\n /* List of events of our calendar */\n this.eventSource = [];\n this.calendar = {\n /* Se the view of the calendar to a month view */\n mode: 'month',\n currentDate: new Date()\n };\n this.eventSelectedDate = new Date();\n // temporary data\n this.taskParticipants = [];\n this.taskParticipantsCc = [];\n this.adding = \"intervenient\";\n this.segment = \"Combinado\";\n // this will make toggle add event and.\n this.showEventEditOrOpen = \"\";\n this.mobileComponent = {\n showAddNewEvent: false,\n showEditEvent: false,\n showEventDetails: false,\n showEventList: false,\n transparentEventList: false,\n transparentEventToApprove: false,\n showEventToApprove: false,\n showAttendees: false,\n showAttendeeModal: false,\n showEditEventToApprove: false\n };\n this.eventToaprove = {\n back: false,\n serialNumber: \"\",\n saveData: {}\n };\n this.dropdownScrollWeal = false;\n this.CalendarStore = CalendarStore;\n this.listToPresent = [];\n this.array = [];\n this.SessionStore = SessionStore;\n this.environment = environment;\n this.CalendarName = '';\n this.hasEventToday = false;\n this.isSelectedDayHasEvent = true;\n this.onCurrentChanged = ev => {\n // timeline change date\n this.timelineDate = momentG(new Date(ev), 'dd MMMM yyyy');\n this.monthNum = new Date(ev).getMonth();\n this.yearNum = new Date(ev).getFullYear();\n this.viewDate = new Date(ev);\n // calendar change date\n this.eventSelectedDate = new Date(ev);\n this.updateEventListBox();\n };\n this.onTimeSelected = ev => {\n this.eventSelectedDate2 = ev.selectedTime;\n };\n this.loadRequest = {};\n this.loadRequestHistory = {};\n this.selectedAgenda = {};\n this.changeYear = year => {\n const a = this.calendar.currentDate;\n const isInvalidDate = dateString => JSON.stringify(new Date(dateString)) === 'null';\n const newDate = new Date(year, a.getMonth(), a.getDay());\n if (!isInvalidDate(newDate)) {\n this.calendar.currentDate = newDate;\n try {\n this.myCal.update();\n this.myCal.loadEvents();\n this.onDropDownScrollWeal();\n } catch (e) {}\n this.updateEventListBox();\n } else {}\n };\n this.changeMonth = month => {\n const a = this.calendar.currentDate;\n const isInvalidDate = dateString => JSON.stringify(new Date(dateString)) === 'null';\n const newDate = new Date(a.getFullYear(), month, a.getDay());\n if (!isInvalidDate(newDate)) {\n this.calendar.currentDate = newDate;\n try {\n this.myCal.update();\n this.myCal.loadEvents();\n this.onDropDownScrollWeal();\n } catch (e) {}\n this.updateEventListBox();\n } else {}\n };\n this.dateAdapter.setLocale('es');\n this.locale = 'pt';\n this.loggeduser = SessionStore.user;\n this.changeProfileService.registerCallback(() => {\n this.tigerUpdate();\n if (this.loggeduser.Profile == 'MDGPR') {\n this.mobileComponent.showEventList = true;\n this.profile = \"mdgpr\";\n } else if (this.loggeduser.Profile == 'PR') {\n this.profile = \"pr\";\n } else {\n this.profile = \"mdgpr\";\n }\n this.CalendarStore.ResetList([]);\n this.listToPresent = [];\n });\n if (this.loggeduser.Profile == 'MDGPR') {\n this.mobileComponent.showEventList = true;\n this.profile = \"mdgpr\";\n } else if (this.loggeduser.Profile == 'PR') {\n this.profile = \"pr\";\n } else {\n if (this.eventService.usersCalendarIds.length >= 2) {\n this.profile = \"mdgpr\";\n } else if (this.eventService.hasOwnCalendar) {\n this.profile = \"mdgpr\";\n } else if (this.eventService.hasSharedCalendar) {\n this.profile = \"pr\";\n }\n }\n this.calendarHeight = \"356px\";\n this.showCalendar = true;\n this.timelineDate = momentG(new Date(), 'dd MMMM yyyy');\n this.showLoader = false;\n this.showTimelineFilterState = false;\n this.showTimeline = false;\n this.tigerUpdate();\n }\n setView(view) {\n this.view = view;\n }\n tigerUpdate() {\n setTimeout(() => {\n try {\n this.myCal.update();\n this.myCal.loadEvents();\n } catch (e) {}\n this.updateEventListBox();\n }, 1000);\n }\n ngOnInit() {\n this.setCalendarByDefault();\n const selectedCalendarIds = this.getSelectedAgendaCalendars();\n this.listToPresent = this.CalendarStore.getEventsByCalendarIds(selectedCalendarIds);\n setTimeout(() => {\n const pathname = window.location.pathname;\n let realoadCounter = 0;\n this.router.events.forEach(event => {\n if (event instanceof NavigationEnd && event.url == pathname) {\n if (this.segment == null) {\n this.segment = \"Combinado\";\n }\n if (realoadCounter != 0) {\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\n this.updateEventListBox();\n }\n realoadCounter++;\n }\n });\n this.backgroundservice.registerBackService('Online', () => {\n //this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\n });\n window.onresize = event => {\n // if not table remove all component\n if (window.innerWidth <= 1024) {\n this.cloneAllmobileComponent();\n }\n };\n }, 1000);\n }\n setCalendarByDefault() {\n if (!this.CalendarName) {\n if (this.eventService.calendarNamesAry.includes('Meu calendario')) {\n this.CalendarName = 'Meu calendario';\n } else {\n this.CalendarName = this.eventService.calendarNamesAry[0];\n }\n }\n }\n //Go to the next view of the calendar month/week/day\n next() {\n this.myCal.slideNext();\n this.myCal.loadEvents();\n this.myCal.update();\n }\n //Go to the previous view of the calendar\n back() {\n this.myCal.slidePrev();\n this.myCal.loadEvents();\n this.myCal.update();\n }\n //Shows the title of your view\n onViewTitleChanged(title) {\n this.viewTitle = title;\n }\n // show information about the clicked event in timeline\n eventClicked(event) {\n //clear\n this.setIntervenient([]);\n this.setIntervenientCC([]);\n this.clearPostEvent();\n this.IsEvent = \"view\";\n this.viewingEventObject = event;\n this.selectedEventId = event.id;\n this.selectedEventCalendarId = event?.['event']?.CalendarId;\n this.cloneAllmobileComponent();\n this.showEventEditOrOpen = 'edit';\n if (window.innerWidth <= 1024) {\n this.viewEventDetail(event.id);\n //this.router.navigate([\"/home/agenda\", event.id, 'agenda']);\n } else {\n this.cloneAllmobileComponent();\n this.mobileComponent.showEventDetails = true;\n }\n }\n //Show information of the event\n onEventSelected(ev) {\n var _this = this;\n return _asyncToGenerator(function* () {\n _this.router.navigate([\"/home/agenda\", ev.event.EventId, 'agenda']);\n })();\n }\n onDropDownScrollWeal() {\n setTimeout(() => {\n document.querySelector('.dropdown-scroll-weel').querySelectorAll('.active')[0].scrollIntoView({\n behavior: 'smooth',\n block: 'center'\n });\n setTimeout(() => {\n document.querySelector('.dropdown-scroll-weel').querySelectorAll('.active')[1].scrollIntoView({\n behavior: 'smooth',\n block: 'center'\n });\n }, 300);\n }, 10);\n }\n onRangeChanged(ev) {\n this.rangeStartDate = ev.startTime;\n this.rangeEndDate = ev.endTime;\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\n try {\n this.myCal.update();\n this.myCal.loadEvents();\n } catch (e) {}\n }\n // for calendar\n currentDayEventDisplayBorder(day, id) {\n const events = day[id].events;\n if (events.length == 0) {\n return \"\";\n } else if (events.length >= 1) {\n let classs = [];\n events.forEach(element => {\n const profile_ = element.profile == 'md' ? 'mdgpr' : 'pr';\n const eventtype = element.event.CalendarName;\n classs.push(`calendar-event-border calendar-${profile_}-event-type-${eventtype}`);\n });\n return classs.join(' ');\n }\n return \"\";\n }\n // for timeline\n get CalendarCurrentDay() {\n return this.viewDate.getDate();\n }\n momentG(date, formate, wgs) {\n return momentG(date, formate, wgs);\n }\n // for timeline\n timelineFilter(calendarName, eventsList, profile) {\n this.timelineFilterState = calendarName;\n // remove all event\n let events = [];\n this.showTimelineFilterState = false;\n eventsList.forEach((element, eventIndex) => {\n // timeline start\n const startHours = new Date(element.StartDate).getHours().toLocaleString();\n const EndHours = new Date(element.EndDate).getHours().toLocaleString();\n events.push({\n start: setHours(setMinutes(new Date(element.StartDate), 0), parseInt(startHours)),\n end: setHours(setMinutes(new Date(element.EndDate), 0), parseInt(EndHours)),\n color: {\n primary: '#0000',\n secondary: '#0000'\n },\n id: element.EventId,\n index: eventIndex,\n profile: profile,\n CalendarName: element.CalendarName,\n event: element,\n Subject: element.Subject\n });\n });\n return events;\n }\n eventFilter() {}\n TimelineDayEvent(day) {\n return day.padStart(2, '0') + ' ' + this.viewTitle;\n }\n TimelineDay(day) {\n return day.padStart(2, '0');\n }\n get calendarDay() {\n return new Date(this.timelineDate).getDate().toString().padStart(2, '0');\n }\n EventTretment({\n startTime,\n endTime\n }) {\n const startTimeSamp = new Date(startTime).toLocaleDateString();\n const endTimeSamp = new Date(endTime).toLocaleDateString();\n const endMinutes = new Date(endTime).getMinutes();\n const endHours = new Date(endTime).getHours();\n if (startTimeSamp < endTimeSamp && endMinutes + endHours == 0) {\n endTime = new Date(endTime);\n endTime.setSeconds(endTime.getSeconds() - 1);\n return new Date(endTime);\n } else {\n return new Date(endTime);\n }\n }\n loadRangeEvents(startTime, endTime) {\n if (!this.eventService.hasAnyCalendar) {\n return false;\n }\n this.array = [];\n this.rangeStartDate = startTime;\n this.rangeEndDate = endTime;\n this.showLoader = true;\n const index = `${startTime}${endTime}`;\n if (!this.loadRequest[index]) {\n this.loadRequest[index] = {\n startTime,\n endTime\n };\n this.loadRequestHistory[index] = {\n lastTimeUpdate: new Date()\n };\n this.loadRangeEventRun(startTime, endTime);\n } else {}\n }\n deleteLoadRangeEvent(startTime, endTime) {\n const index = `${startTime}${endTime}`;\n delete this.loadRequest[index];\n }\n loadRangeEventRun(startTime, endTime) {\n if (SessionStore.user.OwnerCalendars.length == 0 && SessionStore.user.SharedCalendars.length == 0) {\n return false;\n }\n this.rangeStartDate = startTime;\n this.rangeEndDate = endTime;\n this.showLoader = true;\n const selectedCalendarIds = this.getSelectedAgendaCalendars();\n this.listToPresent = this.CalendarStore.getEventsByCalendarIds(selectedCalendarIds);\n this.updateEventListBox();\n try {\n this.myCal.update();\n this.myCal.loadEvents();\n } catch (error) {}\n let load = 0;\n for (const selectedCalendar of selectedCalendarIds) {\n 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 => {\n let label;\n if (SessionStore.user.Profile == 'PR') {\n label = \"pr\";\n } else if (SessionStore.user.OwnerCalendars.find(e => e.CalendarId == selectedCalendar.CalendarId)) {\n label = 'md';\n } else {\n label = \"pr\";\n }\n let eventsList = response;\n this.CalendarStore.removeRangeForCalendar(startTime, endTime, label, selectedCalendar.CalendarId);\n this.CalendarStore.pushEvent(eventsList, label);\n this.listToPresent = this.CalendarStore.getEventsByCalendarIds(selectedCalendarIds);\n this.showTimelinePR = true;\n }).finally(() => {\n this.deleteLoadRangeEvent(startTime, endTime);\n load++;\n if (load == selectedCalendarIds.length) {\n this.showLoader = false;\n }\n this.myCal.update();\n this.myCal.loadEvents();\n this.updateEventListBox();\n });\n }\n }\n getSelectedAgendaCalendars() {\n if (this.CalendarName == 'PR+MDGPR') {\n let result = this.SessionStore.user.OwnerCalendars;\n const pr = this.SessionStore.user.SharedCalendars.filter(e => e.CalendarRoleId == this.RoleIdService.PRES.toString());\n const md = this.SessionStore.user.SharedCalendars.filter(e => e.CalendarRoleId == this.RoleIdService.PV.toString());\n const join = pr.concat(md);\n return result.concat(join);\n } else {\n const calendar = this.eventService.calendarNamesType[this.CalendarName];\n let Oficial = calendar?.['OficialId'];\n let Pessoal = calendar?.['PessoalId'];\n if (Oficial && Pessoal) {\n return [{\n CalendarId: Oficial,\n OwnerId: calendar.OwnerId,\n CalendarName: calendar.CalendarName\n }, {\n OwnerId: calendar.OwnerId,\n CalendarId: Pessoal,\n CalendarName: calendar.CalendarName\n }];\n } else if (Oficial) {\n return [{\n OwnerId: calendar.OwnerId,\n CalendarId: Oficial,\n CalendarName: calendar.CalendarName\n }];\n } else {\n return [{\n OwnerId: calendar.OwnerId,\n CalendarId: Pessoal,\n CalendarName: calendar.CalendarName\n }];\n }\n }\n }\n // trasnformData(response, profile) {\n // response.forEach(element => {\n // let event = {\n // startTime: new Date(element.StartDate),\n // endTime: new Date(element.EndDate),\n // allDay: false,\n // event: element,\n // calendarName: element.CalendarName,\n // profile: profile,\n // id: element.EventId,\n // }\n // this.array.push(event)\n // });\n // this.listToPresent = this.array;\n // }\n // //Deve ser removido para ficar só um method transform\n // trasnformDataDB(response) {\n // if(response) {\n // response.forEach(element => {\n // let event = {\n // startTime: new Date(element.StartDate),\n // endTime: new Date(element.EndDate),\n // allDay: false,\n // event: element,\n // calendarName: element.CalendarName,\n // profile: element.Profile,\n // id: element.EventId,\n // }\n // this.array.push(event)\n // });\n // this.listToPresent = this.array;\n // }\n // }\n // addEventToDB(response, profile) {\n // if (this.platform.is('desktop') || this.platform.is('mobileweb')) {\n // let responseArray = [];\n // response.forEach(element => {\n // let event = {\n // CalendarId: element.CalendarId,\n // CalendarName: element.CalendarName,\n // EndDate: element.EndDate,\n // EventId: element.EventId,\n // HasAttachments: element.HasAttachments,\n // HumanDate: element.HumanDate,\n // IsAllDayEvent: element.IsAllDayEvent,\n // Location: element.Location,\n // StartDate: element.StartDate,\n // Subject: element.Subject,\n // Profile: profile\n // }\n // responseArray.push(event)\n // });\n // this.storage.set('agendaResponse',responseArray).then(() => {\n // })\n // } else {\n // if (response.length > 0) {\n // response.forEach(element => {\n // let event = {\n // CalendarId: element.CalendarId,\n // CalendarName: element.CalendarName,\n // EndDate: element.EndDate,\n // EventId: element.EventId,\n // HasAttachments: element.HasAttachments,\n // HumanDate: element.HumanDate,\n // IsAllDayEvent: element.IsAllDayEvent,\n // Location: element.Location,\n // StartDate: element.StartDate,\n // Subject: element.Subject,\n // Profile: profile\n // }\n // this.sqliteservice.addEvent(event)\n // });\n // }\n // }\n // }\n // getFromDB() {\n // if (this.platform.is('desktop') || this.platform.is('mobileweb')) {\n // this.storage.get('agendaResponse').then((events) => {\n // this.trasnformDataDB(events)\n // this.updateEventListBox()\n // this.myCal.update();\n // this.myCal.loadEvents();\n // this.showLoader = false;\n // this.showTimeline = true;\n // })\n // } else {\n // this.sqliteservice.getAllEvents().then((events: any[] = []) => {\n // let eventArray = [];\n // this.trasnformDataDB(events)\n // this.updateEventListBox()\n // this.myCal.update();\n // this.myCal.loadEvents();\n // this.showLoader = false;\n // this.showTimeline = true;\n // })\n // }\n // }\n // getEventsFromDB () {\n // new Promise((resolve, reject) => {\n // if (this.platform.is('desktop') || this.platform.is('mobileweb')) {\n // this.storage.get('agendaResponse').then((events) => {\n // resolve(events)\n // })\n // } else {\n // this.sqliteservice.getAllEvents().then((events: any[] = []) => {\n // resolve(events)\n // })\n // }\n // }).catch ((error) => {\n // console.error(error);\n // });\n // }\n updateEventListBox() {\n const selectedCalendarIds = this.getSelectedAgendaCalendars();\n this.listToPresent = this.CalendarStore.getEventsByCalendarIds(selectedCalendarIds);\n this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'md', this.rangeStartDate, this.rangeEndDate, {\n segment: this.segment,\n selectedDate: this.eventSelectedDate\n });\n const selectedDay = momentG(this.eventSelectedDate, 'dd', 'pt');\n if (this.TimelineMDList[selectedDay]) {\n this.hasEventToday = true;\n } else {\n this.hasEventToday = false;\n }\n this.isSelectedDayHasEvent = momentG(new Date(), 'dd MMMM yyyy', 'pt') == momentG(this.eventSelectedDate, 'dd MMMM yyyy', 'pt');\n }\n get viewEventMonth() {\n return this.viewDate.getMonth();\n }\n dateMonth(event) {\n return new Date(event.start).getMonth();\n }\n eventListVisible(event) {\n return momentG(event, 'MMMM yyyy') == momentG(this.calendar.currentDate, 'MMMM yyyy');\n }\n actions() {}\n doRefresh(ev) {\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\n setTimeout(() => {\n ev.target.complete();\n }, 250);\n }\n changeProfile() {\n if (this.profile == \"mdgpr\") {\n this.profile = \"pr\";\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\n // this.updateEventListBox()\n } else {\n this.profile = \"mdgpr\";\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\n // this.updateEventListBox()\n }\n }\n\n openAddEvent() {\n var _this2 = this;\n return _asyncToGenerator(function* () {\n yield _this2.cloneAllmobileComponent();\n _this2.showEventEditOrOpen = 'add';\n _this2.IsEvent = 'add';\n if (window.innerWidth <= 1024) {\n let taskParticipants = [{\n EmailAddress: SessionStore.user.Email,\n IsRequired: true,\n Name: SessionStore.user.FullName\n }];\n const modal = yield _this2.modalCtrl.create({\n component: NewEventPage,\n componentProps: {\n segment: _this2.segment,\n profile: _this2.profile,\n eventSelectedDate: _this2.eventSelectedDate,\n attendees: taskParticipants,\n CalendarDate: _this2.viewDate\n },\n cssClass: 'modal modal-desktop',\n backdropDismiss: false\n });\n yield modal.present();\n modal.onDidDismiss().then(data => {\n if (data) {}\n _this2.openAddEventDismiss(data['data']);\n });\n } else {\n _this2.mobileComponent.showAddNewEvent = true;\n _this2.taskParticipants = [{\n EmailAddress: SessionStore.user.Email,\n IsRequired: true,\n Name: SessionStore.user.FullName\n }];\n }\n })();\n }\n openEditEvent() {\n this.showEventEditOrOpen = 'edit';\n }\n openAddEventDismiss(data) {\n try {\n let postEvent = data;\n if (postEvent.Subject != null) {\n // this.eventSource.push({\n // title: postEvent.Subject,\n // startTime: new Date(postEvent.StartDate),\n // endTime: new Date(postEvent.EndDate),\n // allDay: false,\n // event: postEvent\n // });\n this.myCal.update();\n this.myCal.loadEvents();\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\n }\n } catch (error) {}\n this.cloneAllmobileComponent();\n }\n // open component\n viewEventDetail(eventId) {\n var _this3 = this;\n return _asyncToGenerator(function* () {\n const CalendarId = _this3.selectedEventCalendarId;\n let navigationExtras = {\n queryParams: {\n CalendarId\n }\n };\n _this3.router.navigate(['/home/agenda/', eventId, 'agenda'], navigationExtras);\n })();\n }\n // open component\n viewEventDetailDismiss(data) {\n var _this4 = this;\n return _asyncToGenerator(function* () {\n yield _this4.cloneAllmobileComponent();\n if (data.type == 'edit') {\n _this4.selectedEvent = data.event;\n _this4.postEvent = data.event;\n _this4.mobileComponent.showEditEvent = true;\n } else if (data.type == 'delete') {}\n _this4.loadRangeEvents(_this4.rangeStartDate, _this4.rangeEndDate);\n setTimeout(() => {\n _this4.onCurrentChanged(_this4.eventSelectedDate);\n }, 500);\n })();\n }\n // called from this template and child event\n viewEventsToApprove() {\n var _this5 = this;\n return _asyncToGenerator(function* () {\n yield _this5.cloneAllmobileComponent();\n if (window.innerWidth <= 1023) {\n _this5.router.navigate(['/home/agenda/event-list']);\n } else {\n // hide all components\n _this5.cloneAllmobileComponent();\n _this5.mobileComponent.transparentEventList = false;\n _this5.mobileComponent.showEventList = true;\n }\n })();\n }\n approveEventDismissGoBack() {\n window['temp.path:/shared/agenda/edit-event-to-approve.ts'] = {};\n this.cloneAllmobileComponent();\n this.mobileComponent.showEventToApprove = true;\n this.mobileComponent.showEditEventToApprove = false;\n }\n approveEventDismiss({\n saveData,\n serialNumber,\n action\n }) {\n window['temp.path:/shared/agenda/edit-event-to-approve.ts'] = {};\n if (action == 'Aprovar') {\n this.eventToaprove = {\n back: true,\n saveData: saveData,\n serialNumber: serialNumber,\n action: action,\n InstanceId: saveData.workflowInstanceDataFields.InstanceId || \"\"\n };\n this.mobileComponent.showEventToApprove = true;\n this.mobileComponent.showEventList = false;\n }\n this.showEventEditOrOpen = \"eventoToApprove\";\n }\n closeEventToApprove() {\n if (this.eventToaprove.back == true && this.mobileComponent.showEventList == true) {\n this.mobileComponent.transparentEventList = false;\n this.mobileComponent.showEventToApprove = false;\n this.eventToaprove.back = false;\n } else {\n this.mobileComponent.showEventToApprove = false;\n this.mobileComponent.showEventList = false;\n }\n }\n closeEventToApproveGoBack() {\n if (window.innerWidth <= 801) {\n this.router.navigate(['/home/agenda/event-list']);\n } else {\n // hide all components\n this.cloneAllmobileComponent();\n this.mobileComponent.transparentEventList = false;\n this.mobileComponent.showEventList = true;\n }\n }\n // called from emitters\n /** @description open component to edit event to approve */\n EditApproveEventDismiss() {\n this.cloneAllmobileComponent();\n this.mobileComponent.showEditEventToApprove = true;\n this.taskParticipants = [];\n this.taskParticipantsCc = [];\n }\n cloneAllmobileComponent() {\n var _this6 = this;\n return _asyncToGenerator(function* () {\n _this6.mobileComponent.showAddNewEvent = false;\n _this6.mobileComponent.showEditEvent = false;\n _this6.mobileComponent.showEventDetails = false;\n _this6.mobileComponent.showEventList = false;\n _this6.mobileComponent.showEventToApprove = false;\n _this6.mobileComponent.showAttendees = false;\n _this6.mobileComponent.showAttendeeModal = false;\n _this6.mobileComponent.showEditEventToApprove = false;\n _this6.closeEventToApprove();\n })();\n }\n AproveEventEditEvent(data) {\n var _this7 = this;\n return _asyncToGenerator(function* () {\n _this7.postEvent = data;\n _this7.mobileComponent.transparentEventToApprove = true;\n _this7.mobileComponent.showAddNewEvent = true;\n })();\n }\n // open component\n openAttendeesComponent(data) {\n var _this8 = this;\n return _asyncToGenerator(function* () {\n _this8.adding = data.type;\n _this8.cloneAllmobileComponent();\n _this8.mobileComponent.showAttendees = true;\n })();\n }\n clearContact() {\n var _this9 = this;\n return _asyncToGenerator(function* () {\n _this9.contacts = [];\n })();\n }\n setContact(data) {\n var _this10 = this;\n return _asyncToGenerator(function* () {\n _this10.contacts = data;\n })();\n }\n openAttendeeModal() {\n var _this11 = this;\n return _asyncToGenerator(function* () {\n _this11.cloneAllmobileComponent();\n _this11.mobileComponent.showAttendeeModal = true;\n })();\n }\n GoBackEditOrAdd() {\n var _this12 = this;\n return _asyncToGenerator(function* () {\n if (_this12.showEventEditOrOpen == \"edit\") {\n _this12.cloneAllmobileComponent();\n _this12.mobileComponent.showEditEvent = true;\n } else if (_this12.showEventEditOrOpen == \"add\") {\n _this12.cloneAllmobileComponent();\n _this12.mobileComponent.showAddNewEvent = true;\n } else if (_this12.showEventEditOrOpen == \"eventoToApprove\") {\n _this12.cloneAllmobileComponent();\n _this12.mobileComponent.showEditEventToApprove = true;\n } else {\n // do Nothings\n }\n })();\n }\n closeComponentEditEventOrAdd() {\n var _this13 = this;\n return _asyncToGenerator(function* () {\n if (_this13.IsEvent = 'edit') {\n _this13.loadRangeEvents(_this13.rangeStartDate, _this13.rangeEndDate);\n _this13.eventClicked(_this13.viewingEventObject);\n } else if (_this13.IsEvent = 'add') {\n _this13.cloneAllmobileComponent();\n }\n })();\n }\n reloadCalendar() {\n // \n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\n }\n EventToApproveGoBack() {\n return _asyncToGenerator(function* () {})();\n }\n setIntervenient(data) {\n var _this14 = this;\n return _asyncToGenerator(function* () {\n setTimeout(() => {\n _this14.taskParticipants = removeDuplicate(data);\n }, 10);\n })();\n }\n setIntervenientCC(data) {\n var _this15 = this;\n return _asyncToGenerator(function* () {\n setTimeout(() => {\n _this15.taskParticipantsCc = removeDuplicate(data);\n }, 10);\n })();\n }\n // Emitters\n // adding\n setAdding(adding = \"intervenient\") {\n var _this16 = this;\n return _asyncToGenerator(function* () {\n _this16.adding = adding;\n })();\n }\n clearPostEvent() {\n var _this17 = this;\n return _asyncToGenerator(function* () {\n _this17.postEvent = false;\n })();\n }\n changeSegment(segments) {\n var _this18 = this;\n return _asyncToGenerator(function* () {\n _this18.segment = segments;\n if (segments == 'Combinado') {\n _this18.timelineFilterState = 'Todos';\n } else {\n _this18.timelineFilterState = segments;\n }\n _this18.showTimelineFilterState = false;\n // THIS LINE\n _this18.updateEventListBox();\n })();\n }\n shoeEventDay(events) {\n if (this.segment == 'Combinado') {\n return true;\n }\n const reuslt = events.filter(e => e.CalendarName == this.segment);\n return reuslt.length != 0;\n }\n checkRoleInArray(str) {\n return this.eventService.calendarRole.includes(str);\n }\n};\nAgendaPage.ctorParameters = () => [{\n type: String,\n decorators: [{\n type: Inject,\n args: [LOCALE_ID]\n }]\n}, {\n type: ModalController\n}, {\n type: EventsService\n}, {\n type: Router\n}, {\n type: DateAdapter\n}, {\n type: ListBoxService\n}, {\n type: ChangeProfileService\n}, {\n type: BackgroundService\n}, {\n type: ThemeService\n}, {\n type: PermissionService\n}, {\n type: RoleIdService\n}];\nAgendaPage.propDecorators = {\n myCal: [{\n type: ViewChild,\n args: [CalendarComponent]\n }]\n};\nAgendaPage = __decorate([Component({\n selector: 'app-agenda',\n template: __NG_CLI_RESOURCE__0,\n providers: [{\n provide: CalendarDateFormatter,\n useClass: CustomDateFormatter\n }],\n styles: [__NG_CLI_RESOURCE__1]\n})], AgendaPage);\nexport { AgendaPage };","map":{"version":3,"mappings":"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AQ,GAAG,WAAW,CAAC;MAErC,IAAGuK,OAAO,IAAKC,OAAO,EAAE;QAEtB,OAAO,CACL;UACE9F,UAAU,EAAG6F,OAAO;UACpBE,OAAO,EAAEzK,QAAQ,CAACyK,OAAO;UACzBjH,YAAY,EAAExD,QAAQ,CAACwD;SACxB,EACD;UACEiH,OAAO,EAAEzK,QAAQ,CAACyK,OAAO;UACzB/F,UAAU,EAAG8F,OAAO;UACpBhH,YAAY,EAAExD,QAAQ,CAACwD;SACxB,CACJ;OAEA,MAAM,IAAI+G,OAAO,EAAE;QAClB,OAAO,CAAC;UACNE,OAAO,EAAEzK,QAAQ,CAACyK,OAAO;UACzB/F,UAAU,EAAG6F,OAAO;UACpB/G,YAAY,EAAExD,QAAQ,CAACwD;SACxB,CAAC;OAEH,MAAM;QACL,OAAO,CAAC;UACNiH,OAAO,EAAEzK,QAAQ,CAACyK,OAAO;UACzB/F,UAAU,EAAG8F,OAAO;UACpBhH,YAAY,EAAExD,QAAQ,CAACwD;SACxB,CAAC;;;EAQN;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA;EAEA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EAEA;EACA;EAEA;EACA;EAEA;EACA;EAGA;EACA;EAEA;EAGA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EAEA7D,kBAAkBA;IAEhB,MAAM0C,mBAAmB,GAAG,IAAI,CAACC,0BAA0B,EAAE;IAC7D,IAAI,CAAChB,aA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","names":["Component","ViewChild","Inject","LOCALE_ID","CalendarComponent","ModalController","EventsService","Router","NavigationEnd","momentG","removeDuplicate","setHours","setMinutes","CalendarDateFormatter","CalendarView","DAYS_OF_WEEK","CustomDateFormatter","NewEventPage","DateAdapter","CalendarStore","ListBoxService","ChangeProfileService","BackgroundService","ThemeService","SessionStore","PermissionService","environment","RoleIdService","AgendaPage","constructor","locale","modalCtrl","eventService","router","dateAdapter","listBoxService","changeProfileService","backgroundservice","p","Day","Date","MONDAY","FRIDAY","SATURDAY","mode","currentDate","showAddNewEvent","showEditEvent","showEventDetails","showEventList","transparentEventList","transparentEventToApprove","showEventToApprove","showAttendees","showAttendeeModal","showEditEventToApprove","back","serialNumber","saveData","ev","timelineDate","monthNum","getMonth","yearNum","getFullYear","viewDate","eventSelectedDate","updateEventListBox","eventSelectedDate2","selectedTime","year","a","calendar","isInvalidDate","dateString","JSON","stringify","newDate","getDay","myCal","update","loadEvents","onDropDownScrollWeal","e","month","setLocale","loggeduser","user","registerCallback","tigerUpdate","Profile","mobileComponent","profile","ResetList","listToPresent","usersCalendarIds","length","hasOwnCalendar","hasSharedCalendar","calendarHeight","showCalendar","showLoader","showTimelineFilterState","showTimeline","setView","view","setTimeout","ngOnInit","setCalendarByDefault","selectedCalendarIds","getSelectedAgendaCalendars","getEventsByCalendarIds","pathname","window","location","realoadCounter","events","forEach","event","url","segment","loadRangeEvents","rangeStartDate","rangeEndDate","registerBackService","onresize","innerWidth","cloneAllmobileComponent","CalendarName","calendarNamesAry","includes","next","slideNext","slidePrev","onViewTitleChanged","title","viewTitle","eventClicked","setIntervenient","setIntervenientCC","clearPostEvent","IsEvent","viewingEventObject","selectedEventId","id","selectedEventCalendarId","CalendarId","showEventEditOrOpen","viewEventDetail","onEventSelected","_this","navigate","EventId","document","querySelector","querySelectorAll","scrollIntoView","behavior","block","onRangeChanged","startTime","endTime","currentDayEventDisplayBorder","day","classs","element","profile_","eventtype","push","join","CalendarCurrentDay","getDate","date","formate","wgs","timelineFilter","calendarName","eventsList","timelineFilterState","eventIndex","startHours","StartDate","getHours","toLocaleString","EndHours","EndDate","start","parseInt","end","color","primary","secondary","index","Subject","eventFilter","TimelineDayEvent","padStart","TimelineDay","calendarDay","toString","EventTretment","startTimeSamp","toLocaleDateString","endTimeSamp","endMinutes","getMinutes","endHours","setSeconds","getSeconds","hasAnyCalendar","array","loadRequest","loadRequestHistory","lastTimeUpdate","loadRangeEventRun","deleteLoadRangeEvent","OwnerCalendars","SharedCalendars","error","load","selectedCalendar","getEventsByCalendarId","then","response","label","find","removeRangeForCalendar","pushEvent","showTimelinePR","finally","result","pr","filter","CalendarRoleId","PRES","md","PV","concat","calendarNamesType","Oficial","Pessoal","OwnerId","TimelineMDList","list","selectedDate","selectedDay","hasEventToday","isSelectedDayHasEvent","viewEventMonth","dateMonth","eventListVisible","actions","doRefresh","target","complete","changeProfile","openAddEvent","_this2","taskParticipants","EmailAddress","Email","IsRequired","Name","FullName","modal","create","component","componentProps","attendees","CalendarDate","cssClass","backdropDismiss","present","onDidDismiss","data","openAddEventDismiss","openEditEvent","postEvent","eventId","_this3","navigationExtras","queryParams","viewEventDetailDismiss","_this4","type","selectedEvent","onCurrentChanged","viewEventsToApprove","_this5","approveEventDismissGoBack","approveEventDismiss","action","eventToaprove","InstanceId","workflowInstanceDataFields","closeEventToApprove","closeEventToApproveGoBack","EditApproveEventDismiss","taskParticipantsCc","_this6","AproveEventEditEvent","_this7","openAttendeesComponent","_this8","adding","clearContact","_this9","contacts","setContact","_this10","openAttendeeModal","_this11","GoBackEditOrAdd","_this12","closeComponentEditEventOrAdd","_this13","reloadCalendar","EventToApproveGoBack","_this14","_this15","setAdding","_this16","_this17","changeSegment","segments","_this18","shoeEventDay","reuslt","checkRoleInArray","str","calendarRole","args","selector","template","providers","provide","useClass"],"sourceRoot":"","sources":["C:\\Users\\eudes.inacio\\GabineteDigital\\gabinete-digital-fo\\src\\app\\pages\\agenda\\agenda.page.ts"],"sourcesContent":["import { Component, OnInit, ViewChild, Inject, LOCALE_ID } from '@angular/core';\r\nimport { CalendarComponent } from 'ionic2-calendar';\r\nimport { ModalController } from '@ionic/angular';\r\nimport { EventsService } from 'src/app/services/events.service';\r\nimport { Event } from '../../models/event.model';\r\nimport { Router, NavigationEnd, NavigationExtras } from '@angular/router';\r\nimport { momentG } from 'src/plugin/momentG';\r\n\r\nimport { EventPerson } from 'src/app/models/eventperson.model';\r\nimport { removeDuplicate } from 'src/plugin/removeDuplicate.js';\r\n\r\n// showTimeline\r\nimport { setHours, setMinutes } from 'date-fns';\r\nimport {\r\n CalendarDateFormatter,\r\n CalendarEvent,\r\n CalendarView,\r\n DAYS_OF_WEEK,\r\n} from 'angular-calendar';\r\nimport { CustomDateFormatter } from './custom-date-formatter.provider';\r\nimport { NewEventPage } from './new-event/new-event.page';\r\nimport { LoginUserRespose } from 'src/app/models/user.model';\r\nimport { DateAdapter } from '@angular/material/core';\r\nimport { eventSource } from 'src/app/models/agenda/eventSource';\r\nimport { CalendarStore } from 'src/app/store/calendar.service';\r\nimport { ListBoxService } from 'src/app/services/agenda/list-box.service';\r\nimport { ChangeProfileService } from 'src/app/services/change-profile.service';\r\n\r\nimport { BackgroundService } from 'src/app/services/background.service';\r\nimport { ThemeService } from 'src/app/services/theme.service'\r\nimport { SessionStore } from 'src/app/store/session.service';\r\nimport { PermissionService } from 'src/app/services/permission.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { RoleIdService } from 'src/app/services/role-id.service'\r\nimport { EventListStore } from 'src/app/models/agenda/AgendaEventList';\r\n\r\n@Component({\r\n selector: 'app-agenda',\r\n templateUrl: './agenda.page.html',\r\n styleUrls: ['./agenda.page.scss'],\r\n providers: [\r\n {\r\n provide: CalendarDateFormatter,\r\n useClass: CustomDateFormatter,\r\n },\r\n ],\r\n})\r\nexport class AgendaPage implements OnInit {\r\n\r\n view: CalendarView = CalendarView.Day;\r\n\r\n viewDate: Date = new Date();\r\n\r\n weekStartsOn: number = DAYS_OF_WEEK.MONDAY;\r\n\r\n weekendDays: number[] = [DAYS_OF_WEEK.FRIDAY, DAYS_OF_WEEK.SATURDAY];\r\n\r\n CalendarView = CalendarView;\r\n\r\n timelineDate: string;\r\n\r\n contacts: EventPerson[]\r\n\r\n setView(view: CalendarView) {\r\n this.view = view;\r\n }\r\n\r\n // calendar\r\n showCalendar: boolean;\r\n calendarHeight: string;\r\n\r\n // for timeline\r\n events: CalendarEvent[] = [];\r\n TimelinePR: CalendarEvent[] = [];\r\n TimelineMD: CalendarEvent[] = [];\r\n TimelineMDList = {};\r\n\r\n showTimelinePR = false;\r\n showTimelineMD = false;\r\n\r\n // timeline filter\r\n timelineFilterState: string = 'Todos';\r\n showTimelineFilterState: boolean;\r\n showTimeline = true;\r\n\r\n /* List of events of our calendar */\r\n eventSource: eventSource[] = []\r\n\r\n /* The title of the calendar */\r\n viewTitle: string;\r\n\r\n calendar = {\r\n /* Se the view of the calendar to a month view */\r\n mode: 'month',\r\n currentDate: new Date(),\r\n };\r\n\r\n selectedDate: Date;\r\n eventSelectedDate: Date = new Date();\r\n eventSelectedDate2: Date;\r\n\r\n rangeStartDate: Date;\r\n rangeEndDate: Date;\r\n\r\n selectedEvent: Event;\r\n selectedEventId: string | number;\r\n selectedEventCalendarId : string | number;\r\n postEvent: any;\r\n\r\n // temporary data\r\n taskParticipants: EventPerson[] = [];\r\n taskParticipantsCc: EventPerson[] = [];\r\n adding: \"intervenient\" | \"CC\" = \"intervenient\";\r\n\r\n @ViewChild(CalendarComponent) myCal: CalendarComponent;\r\n\r\n segment: \"Combinado\" | \"Pessoal\" | \"Oficial\" = \"Combinado\";\r\n timelineSedment: \"Combinado\" | \"Pessoal\" | \"Oficial\";\r\n\r\n profile: 'mdgpr' | 'pr';\r\n\r\n // this will make toggle add event and.\r\n showEventEditOrOpen: \"edit\" | \"add\" | \"\" | \"eventoToApprove\" = \"\"\r\n prEventList: Event[];\r\n mdEventList: Event[];\r\n\r\n showLoader: boolean;\r\n\r\n startTime: Date;\r\n endTime: Date;\r\n\r\n mobileComponent = {\r\n showAddNewEvent: false,\r\n showEditEvent: false,\r\n showEventDetails: false,\r\n showEventList: false,\r\n transparentEventList: false,\r\n transparentEventToApprove: false,\r\n showEventToApprove: false,\r\n showAttendees: false,\r\n showAttendeeModal: false,\r\n showEditEventToApprove: false,\r\n }\r\n\r\n eventToaprove: any = {\r\n back: false,\r\n serialNumber: \"\",\r\n saveData: {}\r\n }\r\n\r\n /**\r\n * @description determinant if edit or add event component is open\r\n */\r\n IsEvent: \"edit\" | \"add\" | \"view\";\r\n viewingEventObject: CalendarEvent;\r\n loggeduser: LoginUserRespose;\r\n\r\n monthNum;\r\n yearNum;\r\n\r\n dropdownScrollWeal = false\r\n CalendarStore = CalendarStore\r\n listToPresent: EventListStore[] = []\r\n array = []\r\n\r\n SessionStore = SessionStore;\r\n environment = environment\r\n CalendarName = ''\r\n hasEventToday = false\r\n isSelectedDayHasEvent = true\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) private locale: string,\r\n private modalCtrl: ModalController,\r\n public eventService: EventsService,\r\n private router: Router,\r\n private dateAdapter: DateAdapter,\r\n private listBoxService: ListBoxService,\r\n private changeProfileService: ChangeProfileService,\r\n private backgroundservice: BackgroundService,\r\n public ThemeService: ThemeService,\r\n public p: PermissionService,\r\n public RoleIdService: RoleIdService\r\n ) {\r\n\r\n this.dateAdapter.setLocale('es');\r\n this.locale = 'pt'\r\n\r\n this.loggeduser = SessionStore.user;\r\n\r\n this.changeProfileService.registerCallback(() => {\r\n this.tigerUpdate()\r\n if (this.loggeduser.Profile == 'MDGPR') {\r\n this.mobileComponent.showEventList = true;\r\n this.profile = \"mdgpr\";\r\n } else if (this.loggeduser.Profile == 'PR') {\r\n this.profile = \"pr\";\r\n } else {\r\n this.profile = \"mdgpr\";\r\n }\r\n\r\n this.CalendarStore.ResetList([])\r\n\r\n this.listToPresent = []\r\n\r\n\r\n })\r\n\r\n if (this.loggeduser.Profile == 'MDGPR') {\r\n this.mobileComponent.showEventList = true;\r\n this.profile = \"mdgpr\";\r\n } else if (this.loggeduser.Profile == 'PR') {\r\n this.profile = \"pr\";\r\n } else {\r\n if(this.eventService.usersCalendarIds.length >= 2) {\r\n this.profile = \"mdgpr\";\r\n } else if (this.eventService.hasOwnCalendar) {\r\n this.profile = \"mdgpr\";\r\n } else if (this.eventService.hasSharedCalendar) {\r\n this.profile = \"pr\";\r\n }\r\n \r\n }\r\n\r\n this.calendarHeight = \"356px\";\r\n this.showCalendar = true;\r\n this.timelineDate = momentG(new Date(), 'dd MMMM yyyy');\r\n\r\n this.showLoader = false;\r\n this.showTimelineFilterState = false;\r\n this.showTimeline = false;\r\n\r\n\r\n this.tigerUpdate()\r\n\r\n\r\n }\r\n\r\n tigerUpdate() {\r\n setTimeout(() => {\r\n try {\r\n this.myCal.update();\r\n this.myCal.loadEvents();\r\n } catch (e) { }\r\n\r\n this.updateEventListBox()\r\n\r\n }, 1000)\r\n }\r\n\r\n \r\n\r\n ngOnInit() {\r\n\r\n this.setCalendarByDefault()\r\n const selectedCalendarIds = this.getSelectedAgendaCalendars();\r\n this.listToPresent = this.CalendarStore.getEventsByCalendarIds(selectedCalendarIds)\r\n\r\n setTimeout(() => {\r\n const pathname = window.location.pathname\r\n let realoadCounter = 0\r\n this.router.events.forEach((event) => {\r\n if (event instanceof NavigationEnd && event.url == pathname) {\r\n if (this.segment == null) {\r\n this.segment = \"Combinado\";\r\n }\r\n if (realoadCounter != 0) {\r\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\r\n this.updateEventListBox()\r\n }\r\n realoadCounter++;\r\n }\r\n });\r\n \r\n this.backgroundservice.registerBackService('Online', () => {\r\n //this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\r\n });\r\n \r\n window.onresize = (event) => {\r\n // if not table remove all component\r\n if (window.innerWidth <= 1024) {\r\n this.cloneAllmobileComponent();\r\n }\r\n };\r\n }, 1000)\r\n }\r\n\r\n\r\n setCalendarByDefault() {\r\n if(!this.CalendarName) {\r\n if(this.eventService.calendarNamesAry.includes('Meu calendario')) {\r\n this.CalendarName = 'Meu calendario';\r\n } else {\r\n this.CalendarName = this.eventService.calendarNamesAry[0]\r\n }\r\n }\r\n }\r\n\r\n //Go to the next view of the calendar month/week/day\r\n next() {\r\n this.myCal.slideNext();\r\n this.myCal.loadEvents();\r\n this.myCal.update();\r\n }\r\n //Go to the previous view of the calendar\r\n back() {\r\n this.myCal.slidePrev();\r\n this.myCal.loadEvents();\r\n this.myCal.update();\r\n }\r\n\r\n //Shows the title of your view\r\n onViewTitleChanged(title) {\r\n this.viewTitle = title;\r\n }\r\n\r\n // show information about the clicked event in timeline\r\n eventClicked(event: CalendarEvent): void {\r\n //clear\r\n\r\n this.setIntervenient([]);\r\n this.setIntervenientCC([]);\r\n this.clearPostEvent();\r\n\r\n this.IsEvent = \"view\";\r\n\r\n this.viewingEventObject = event;\r\n\r\n this.selectedEventId = event.id;\r\n this.selectedEventCalendarId = event?.['event']?.CalendarId;\r\n\r\n this.cloneAllmobileComponent();\r\n\r\n\r\n this.showEventEditOrOpen = 'edit';\r\n\r\n if (window.innerWidth <= 1024) {\r\n this.viewEventDetail(event.id)\r\n //this.router.navigate([\"/home/agenda\", event.id, 'agenda']);\r\n } else {\r\n this.cloneAllmobileComponent();\r\n\r\n this.mobileComponent.showEventDetails = true;\r\n }\r\n\r\n }\r\n\r\n\r\n //Show information of the event\r\n async onEventSelected(ev: { event: Event }) {\r\n\r\n this.router.navigate([\"/home/agenda\", ev.event.EventId, 'agenda']);\r\n }\r\n\r\n onCurrentChanged = (ev: Date) => {\r\n // timeline change date\r\n this.timelineDate = momentG(new Date(ev), 'dd MMMM yyyy');\r\n\r\n this.monthNum = new Date(ev).getMonth()\r\n this.yearNum = new Date(ev).getFullYear()\r\n\r\n this.viewDate = new Date(ev);\r\n // calendar change date\r\n this.eventSelectedDate = new Date(ev);\r\n\r\n this.updateEventListBox();\r\n\r\n };\r\n\r\n onDropDownScrollWeal() {\r\n\r\n setTimeout(() => {\r\n document.querySelector('.dropdown-scroll-weel').querySelectorAll('.active')[0].scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n setTimeout(() => {\r\n document.querySelector('.dropdown-scroll-weel').querySelectorAll('.active')[1].scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n }, 300)\r\n }, 10)\r\n\r\n }\r\n\r\n\r\n onTimeSelected = (ev: { selectedTime: Date, events: any[] }) => {\r\n this.eventSelectedDate2 = ev.selectedTime;\r\n }\r\n\r\n onRangeChanged(ev: { startTime: Date, endTime: Date }) {\r\n this.rangeStartDate = ev.startTime;\r\n this.rangeEndDate = ev.endTime;\r\n\r\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\r\n\r\n\r\n try {\r\n this.myCal.update();\r\n this.myCal.loadEvents();\r\n } catch (e) { }\r\n\r\n }\r\n\r\n // for calendar\r\n currentDayEventDisplayBorder(day: any, id: any) {\r\n\r\n const events = day[id].events;\r\n\r\n if (events.length == 0) {\r\n\r\n return \"\";\r\n\r\n } else if (events.length >= 1) {\r\n\r\n let classs = [];\r\n\r\n events.forEach(element => {\r\n\r\n const profile_ = element.profile == 'md' ? 'mdgpr' : 'pr';\r\n const eventtype = element.event.CalendarName;\r\n\r\n classs.push(`calendar-event-border calendar-${profile_}-event-type-${eventtype}`);\r\n\r\n });\r\n\r\n return classs.join(' ');\r\n }\r\n\r\n return \"\";\r\n }\r\n\r\n // for timeline\r\n\r\n get CalendarCurrentDay(): any {\r\n\r\n return this.viewDate.getDate()\r\n }\r\n\r\n momentG(date, formate, wgs) {\r\n return momentG(date, formate, wgs)\r\n }\r\n\r\n\r\n // for timeline\r\n timelineFilter(calendarName, eventsList, profile) {\r\n\r\n this.timelineFilterState = calendarName;\r\n\r\n // remove all event\r\n let events = [];\r\n\r\n this.showTimelineFilterState = false;\r\n\r\n eventsList.forEach((element, eventIndex) => {\r\n\r\n // timeline start\r\n const startHours = new Date(element.StartDate).getHours().toLocaleString();\r\n const EndHours = new Date(element.EndDate).getHours().toLocaleString();\r\n\r\n events.push({\r\n start: setHours(setMinutes(new Date(element.StartDate), 0), parseInt(startHours)),\r\n end: setHours(setMinutes(new Date(element.EndDate), 0), parseInt(EndHours)),\r\n color: {\r\n primary: '#0000',\r\n secondary: '#0000'\r\n },\r\n id: element.EventId,\r\n index: eventIndex,\r\n profile: profile,\r\n CalendarName: element.CalendarName,\r\n event: element,\r\n Subject: element.Subject\r\n });\r\n\r\n });\r\n\r\n return events;\r\n }\r\n\r\n eventFilter() { }\r\n\r\n TimelineDayEvent(day): string {\r\n return (day).padStart(2, '0') + ' ' + this.viewTitle\r\n }\r\n\r\n\r\n TimelineDay(day) {\r\n return (day).padStart(2, '0')\r\n }\r\n\r\n get calendarDay(): string {\r\n\r\n return ((new Date(this.timelineDate)).getDate()).toString().padStart(2, '0')\r\n }\r\n\r\n EventTretment({ startTime, endTime }) {\r\n\r\n const startTimeSamp = new Date(startTime).toLocaleDateString()\r\n const endTimeSamp = new Date(endTime).toLocaleDateString()\r\n\r\n const endMinutes = new Date(endTime).getMinutes()\r\n const endHours = new Date(endTime).getHours()\r\n\r\n\r\n if (startTimeSamp < endTimeSamp && (endMinutes + endHours) == 0) {\r\n endTime = new Date(endTime);\r\n endTime.setSeconds(endTime.getSeconds() - 1);\r\n return new Date(endTime)\r\n } else {\r\n return new Date(endTime)\r\n }\r\n\r\n }\r\n\r\n loadRequest: any = {}\r\n loadRequestHistory: any = {}\r\n\r\n loadRangeEvents(startTime: Date, endTime: Date) {\r\n if(!this.eventService.hasAnyCalendar) {\r\n return false\r\n }\r\n\r\n this.array = [];\r\n this.rangeStartDate = startTime\r\n this.rangeEndDate = endTime\r\n this.showLoader = true;\r\n\r\n const index = `${startTime}${endTime}`\r\n if(!this.loadRequest[index]) {\r\n this.loadRequest[index] = {startTime, endTime}\r\n this.loadRequestHistory[index] = {lastTimeUpdate: new Date()}\r\n\r\n this.loadRangeEventRun(startTime, endTime)\r\n } else {\r\n\r\n }\r\n }\r\n\r\n deleteLoadRangeEvent(startTime: Date, endTime: Date) {\r\n const index = `${startTime}${endTime}`\r\n delete this.loadRequest[index]\r\n }\r\n\r\n loadRangeEventRun(startTime: Date, endTime: Date) {\r\n\r\n if(SessionStore.user.OwnerCalendars.length == 0 && SessionStore.user.SharedCalendars.length == 0) {\r\n return false\r\n }\r\n\r\n this.rangeStartDate = startTime\r\n this.rangeEndDate = endTime\r\n\r\n this.showLoader = true;\r\n const selectedCalendarIds = this.getSelectedAgendaCalendars();\r\n this.listToPresent = this.CalendarStore.getEventsByCalendarIds(selectedCalendarIds)\r\n this.updateEventListBox()\r\n\r\n try {\r\n this.myCal.update();\r\n this.myCal.loadEvents();\r\n } catch (error) {\r\n\r\n }\r\n \r\n\r\n let load = 0;\r\n\r\n for ( const selectedCalendar of selectedCalendarIds) {\r\n 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) => {\r\n\r\n let label;\r\n\r\n if(SessionStore.user.Profile == 'PR') {\r\n label = \"pr\"\r\n } else if(SessionStore.user.OwnerCalendars.find(e => e.CalendarId == selectedCalendar.CalendarId)) {\r\n label = 'md'\r\n } else {\r\n label = \"pr\"\r\n }\r\n\r\n let eventsList = response;\r\n this.CalendarStore.removeRangeForCalendar(startTime, endTime, label, selectedCalendar.CalendarId)\r\n this.CalendarStore.pushEvent(eventsList, label);\r\n \r\n this.listToPresent = this.CalendarStore.getEventsByCalendarIds(selectedCalendarIds)\r\n\r\n this.showTimelinePR = true;\r\n\r\n }).finally(() => {\r\n this.deleteLoadRangeEvent(startTime, endTime);\r\n\r\n load++\r\n if(load == selectedCalendarIds.length) {\r\n this.showLoader = false;\r\n }\r\n \r\n this.myCal.update();\r\n this.myCal.loadEvents();\r\n this.updateEventListBox()\r\n })\r\n }\r\n }\r\n\r\n selectedAgenda = {}\r\n\r\n getSelectedAgendaCalendars () {\r\n\r\n if(this.CalendarName == 'PR+MDGPR') {\r\n\r\n let result = this.SessionStore.user.OwnerCalendars\r\n\r\n const pr = this.SessionStore.user.SharedCalendars.filter(e => e.CalendarRoleId == this.RoleIdService.PRES.toString())\r\n const md = this.SessionStore.user.SharedCalendars.filter(e => e.CalendarRoleId == this.RoleIdService.PV.toString())\r\n const join = pr.concat(md)\r\n\r\n return result.concat(join)\r\n } else {\r\n \r\n const calendar = this.eventService.calendarNamesType[this.CalendarName];\r\n let Oficial = calendar?.['OficialId']\r\n let Pessoal = calendar?.['PessoalId']\r\n \r\n if(Oficial && Pessoal) {\r\n \r\n return [\r\n {\r\n CalendarId : Oficial,\r\n OwnerId: calendar.OwnerId,\r\n CalendarName: calendar.CalendarName\r\n }, \r\n {\r\n OwnerId: calendar.OwnerId,\r\n CalendarId : Pessoal,\r\n CalendarName: calendar.CalendarName\r\n }\r\n ]\r\n\r\n } else if (Oficial) {\r\n return [{\r\n OwnerId: calendar.OwnerId,\r\n CalendarId : Oficial,\r\n CalendarName: calendar.CalendarName\r\n }]\r\n\r\n } else {\r\n return [{\r\n OwnerId: calendar.OwnerId,\r\n CalendarId : Pessoal,\r\n CalendarName: calendar.CalendarName\r\n }]\r\n\r\n }\r\n\r\n }\r\n \r\n\r\n\r\n }\r\n\r\n // trasnformData(response, profile) {\r\n \r\n // response.forEach(element => {\r\n // let event = {\r\n // startTime: new Date(element.StartDate),\r\n // endTime: new Date(element.EndDate),\r\n // allDay: false,\r\n // event: element,\r\n // calendarName: element.CalendarName,\r\n // profile: profile,\r\n // id: element.EventId,\r\n // }\r\n // this.array.push(event)\r\n // });\r\n // this.listToPresent = this.array;\r\n \r\n // }\r\n\r\n // //Deve ser removido para ficar só um method transform\r\n // trasnformDataDB(response) {\r\n\r\n // if(response) {\r\n \r\n // response.forEach(element => {\r\n // let event = {\r\n // startTime: new Date(element.StartDate),\r\n // endTime: new Date(element.EndDate),\r\n // allDay: false,\r\n // event: element,\r\n // calendarName: element.CalendarName,\r\n // profile: element.Profile,\r\n // id: element.EventId,\r\n // }\r\n // this.array.push(event)\r\n // });\r\n // this.listToPresent = this.array;\r\n \r\n // }\r\n\r\n // }\r\n\r\n // addEventToDB(response, profile) {\r\n // if (this.platform.is('desktop') || this.platform.is('mobileweb')) {\r\n // let responseArray = [];\r\n // response.forEach(element => {\r\n // let event = {\r\n // CalendarId: element.CalendarId,\r\n // CalendarName: element.CalendarName,\r\n // EndDate: element.EndDate,\r\n // EventId: element.EventId,\r\n // HasAttachments: element.HasAttachments,\r\n // HumanDate: element.HumanDate,\r\n // IsAllDayEvent: element.IsAllDayEvent,\r\n // Location: element.Location,\r\n // StartDate: element.StartDate,\r\n // Subject: element.Subject,\r\n // Profile: profile\r\n // }\r\n // responseArray.push(event)\r\n\r\n // });\r\n\r\n // this.storage.set('agendaResponse',responseArray).then(() => {\r\n \r\n // })\r\n // } else {\r\n // if (response.length > 0) {\r\n\r\n // response.forEach(element => {\r\n // let event = {\r\n // CalendarId: element.CalendarId,\r\n // CalendarName: element.CalendarName,\r\n // EndDate: element.EndDate,\r\n // EventId: element.EventId,\r\n // HasAttachments: element.HasAttachments,\r\n // HumanDate: element.HumanDate,\r\n // IsAllDayEvent: element.IsAllDayEvent,\r\n // Location: element.Location,\r\n // StartDate: element.StartDate,\r\n // Subject: element.Subject,\r\n // Profile: profile\r\n // }\r\n // this.sqliteservice.addEvent(event)\r\n\r\n // });\r\n // }\r\n // }\r\n // }\r\n\r\n // getFromDB() {\r\n \r\n // if (this.platform.is('desktop') || this.platform.is('mobileweb')) {\r\n // this.storage.get('agendaResponse').then((events) => {\r\n // this.trasnformDataDB(events)\r\n // this.updateEventListBox()\r\n\r\n // this.myCal.update();\r\n // this.myCal.loadEvents();\r\n\r\n // this.showLoader = false;\r\n // this.showTimeline = true;\r\n // })\r\n // } else {\r\n // this.sqliteservice.getAllEvents().then((events: any[] = []) => {\r\n \r\n // let eventArray = [];\r\n\r\n // this.trasnformDataDB(events)\r\n // this.updateEventListBox()\r\n\r\n // this.myCal.update();\r\n // this.myCal.loadEvents();\r\n\r\n // this.showLoader = false;\r\n // this.showTimeline = true;\r\n\r\n\r\n // })\r\n // }\r\n\r\n // }\r\n\r\n\r\n // getEventsFromDB () {\r\n\r\n // new Promise((resolve, reject) => {\r\n // if (this.platform.is('desktop') || this.platform.is('mobileweb')) {\r\n // this.storage.get('agendaResponse').then((events) => {\r\n // resolve(events)\r\n // })\r\n // } else {\r\n // this.sqliteservice.getAllEvents().then((events: any[] = []) => {\r\n // resolve(events)\r\n // })\r\n // }\r\n // }).catch ((error) => {\r\n // console.error(error);\r\n // });\r\n \r\n // }\r\n\r\n updateEventListBox() {\r\n\r\n const selectedCalendarIds = this.getSelectedAgendaCalendars();\r\n this.listToPresent = this.CalendarStore.getEventsByCalendarIds(selectedCalendarIds)\r\n\r\n this.TimelineMDList = this.listBoxService.list(this.listToPresent, 'md', this.rangeStartDate, this.rangeEndDate, { segment: this.segment, selectedDate: this.eventSelectedDate })\r\n\r\n const selectedDay = momentG(this.eventSelectedDate, 'dd', 'pt');\r\n if(this.TimelineMDList[selectedDay]) {\r\n this.hasEventToday = true\r\n } else {\r\n this.hasEventToday = false\r\n }\r\n\r\n\r\n this.isSelectedDayHasEvent = momentG(new Date(), 'dd MMMM yyyy', 'pt') == momentG(this.eventSelectedDate, 'dd MMMM yyyy', 'pt');\r\n\r\n }\r\n\r\n changeYear = (year) => {\r\n const a = this.calendar.currentDate\r\n\r\n const isInvalidDate = (dateString) => JSON.stringify(new Date(dateString)) === 'null';\r\n\r\n const newDate = new Date(year, a.getMonth(), a.getDay());\r\n\r\n if (!(isInvalidDate(newDate))) {\r\n this.calendar.currentDate = newDate\r\n\r\n try {\r\n this.myCal.update();\r\n this.myCal.loadEvents();\r\n this.onDropDownScrollWeal()\r\n } catch (e) { }\r\n\r\n this.updateEventListBox()\r\n } else {\r\n \r\n }\r\n\r\n\r\n }\r\n\r\n changeMonth = (month) => {\r\n const a = this.calendar.currentDate;\r\n \r\n\r\n const isInvalidDate = (dateString) => JSON.stringify(new Date(dateString)) === 'null';\r\n\r\n const newDate = new Date(a.getFullYear(), month, a.getDay());\r\n\r\n if (!(isInvalidDate(newDate))) {\r\n this.calendar.currentDate = newDate\r\n\r\n try {\r\n this.myCal.update();\r\n this.myCal.loadEvents();\r\n this.onDropDownScrollWeal()\r\n } catch (e) { }\r\n\r\n this.updateEventListBox()\r\n } else {\r\n \r\n }\r\n }\r\n\r\n\r\n get viewEventMonth() {\r\n return this.viewDate.getMonth()\r\n }\r\n\r\n dateMonth(event: any) {\r\n return new Date(event.start).getMonth()\r\n }\r\n\r\n eventListVisible(event) {\r\n return momentG(event, 'MMMM yyyy') == momentG(this.calendar.currentDate, 'MMMM yyyy')\r\n }\r\n\r\n\r\n actions() { }\r\n\r\n doRefresh(ev: any) {\r\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\r\n setTimeout(() => {\r\n ev.target.complete();\r\n }, 250)\r\n }\r\n\r\n changeProfile() {\r\n \r\n if (this.profile == \"mdgpr\") {\r\n this.profile = \"pr\";\r\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\r\n // this.updateEventListBox()\r\n\r\n }\r\n else {\r\n this.profile = \"mdgpr\";\r\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\r\n // this.updateEventListBox()\r\n }\r\n\r\n }\r\n\r\n async openAddEvent() {\r\n\r\n await this.cloneAllmobileComponent();\r\n\r\n this.showEventEditOrOpen = 'add';\r\n this.IsEvent = 'add';\r\n\r\n if (window.innerWidth <= 1024) {\r\n let taskParticipants = [{\r\n EmailAddress: SessionStore.user.Email,\r\n IsRequired: true,\r\n Name: SessionStore.user.FullName\r\n }]\r\n const modal = await this.modalCtrl.create({\r\n component: NewEventPage,\r\n componentProps: {\r\n segment: this.segment,\r\n profile: this.profile,\r\n eventSelectedDate: this.eventSelectedDate,\r\n attendees: taskParticipants,\r\n CalendarDate: this.viewDate\r\n },\r\n cssClass: 'modal modal-desktop',\r\n backdropDismiss: false\r\n });\r\n await modal.present();\r\n modal.onDidDismiss().then((data) => {\r\n if (data) {\r\n\r\n }\r\n this.openAddEventDismiss(data['data'])\r\n });\r\n } else {\r\n this.mobileComponent.showAddNewEvent = true;\r\n this.taskParticipants = [{\r\n EmailAddress: SessionStore.user.Email,\r\n IsRequired: true,\r\n Name: SessionStore.user.FullName\r\n }]\r\n }\r\n }\r\n\r\n\r\n openEditEvent() {\r\n this.showEventEditOrOpen = 'edit';\r\n\r\n }\r\n\r\n openAddEventDismiss(data) {\r\n\r\n try {\r\n \r\n let postEvent: Event = data;\r\n if (postEvent.Subject != null) {\r\n // this.eventSource.push({\r\n // title: postEvent.Subject,\r\n // startTime: new Date(postEvent.StartDate),\r\n // endTime: new Date(postEvent.EndDate),\r\n // allDay: false,\r\n // event: postEvent\r\n // });\r\n this.myCal.update();\r\n this.myCal.loadEvents();\r\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\r\n }\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n this.cloneAllmobileComponent();\r\n }\r\n\r\n // open component\r\n async viewEventDetail(eventId: any) {\r\n\r\n const CalendarId = this.selectedEventCalendarId\r\n\r\n let navigationExtras: NavigationExtras = { queryParams: { CalendarId } }\r\n\r\n this.router.navigate(['/home/agenda/',eventId,'agenda'], navigationExtras);\r\n \r\n }\r\n\r\n // open component\r\n async viewEventDetailDismiss(data) {\r\n\r\n await this.cloneAllmobileComponent()\r\n\r\n if (data.type == 'edit') {\r\n\r\n this.selectedEvent = data.event;\r\n this.postEvent = data.event;\r\n\r\n this.mobileComponent.showEditEvent = true;\r\n } else if(data.type == 'delete') {\r\n\r\n }\r\n\r\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\r\n\r\n setTimeout(()=>{\r\n this.onCurrentChanged(this.eventSelectedDate)\r\n }, 500)\r\n \r\n }\r\n\r\n\r\n // called from this template and child event\r\n async viewEventsToApprove() {\r\n await this.cloneAllmobileComponent();\r\n\r\n if (window.innerWidth <= 1023) {\r\n this.router.navigate(['/home/agenda/event-list']);\r\n } else {\r\n // hide all components\r\n this.cloneAllmobileComponent();\r\n this.mobileComponent.transparentEventList = false;\r\n this.mobileComponent.showEventList = true;\r\n }\r\n }\r\n\r\n approveEventDismissGoBack() {\r\n\r\n window['temp.path:/shared/agenda/edit-event-to-approve.ts'] = {}\r\n\r\n this.cloneAllmobileComponent()\r\n\r\n this.mobileComponent.showEventToApprove = true;\r\n this.mobileComponent.showEditEventToApprove = false\r\n\r\n }\r\n\r\n approveEventDismiss({ saveData, serialNumber, action }) {\r\n\r\n window['temp.path:/shared/agenda/edit-event-to-approve.ts'] = {}\r\n\r\n if (action == 'Aprovar') {\r\n this.eventToaprove = {\r\n back: true,\r\n saveData: saveData,\r\n serialNumber: serialNumber,\r\n action: action,\r\n InstanceId: saveData.workflowInstanceDataFields.InstanceId || \"\"\r\n }\r\n\r\n this.mobileComponent.showEventToApprove = true;\r\n this.mobileComponent.showEventList = false\r\n\r\n }\r\n\r\n this.showEventEditOrOpen = \"eventoToApprove\"\r\n }\r\n\r\n closeEventToApprove() {\r\n if (this.eventToaprove.back == true && this.mobileComponent.showEventList == true) {\r\n this.mobileComponent.transparentEventList = false;\r\n this.mobileComponent.showEventToApprove = false;\r\n this.eventToaprove.back = false;\r\n\r\n }\r\n else {\r\n\r\n this.mobileComponent.showEventToApprove = false;\r\n this.mobileComponent.showEventList = false;\r\n }\r\n\r\n }\r\n\r\n closeEventToApproveGoBack() {\r\n if (window.innerWidth <= 801) {\r\n this.router.navigate(['/home/agenda/event-list']);\r\n } else {\r\n // hide all components\r\n this.cloneAllmobileComponent();\r\n this.mobileComponent.transparentEventList = false;\r\n this.mobileComponent.showEventList = true;\r\n }\r\n }\r\n\r\n // called from emitters\r\n /** @description open component to edit event to approve */\r\n EditApproveEventDismiss() {\r\n this.cloneAllmobileComponent();\r\n this.mobileComponent.showEditEventToApprove = true;\r\n\r\n this.taskParticipants = []\r\n this.taskParticipantsCc = []\r\n }\r\n\r\n async cloneAllmobileComponent() {\r\n\r\n this.mobileComponent.showAddNewEvent = false;\r\n this.mobileComponent.showEditEvent = false;\r\n this.mobileComponent.showEventDetails = false;\r\n this.mobileComponent.showEventList = false;\r\n this.mobileComponent.showEventToApprove = false;\r\n this.mobileComponent.showAttendees = false;\r\n this.mobileComponent.showAttendeeModal = false;\r\n this.mobileComponent.showEditEventToApprove = false;\r\n\r\n this.closeEventToApprove();\r\n }\r\n\r\n async AproveEventEditEvent(data) {\r\n this.postEvent = data;\r\n this.mobileComponent.transparentEventToApprove = true;\r\n this.mobileComponent.showAddNewEvent = true;\r\n }\r\n\r\n // open component\r\n async openAttendeesComponent(data) {\r\n\r\n this.adding = data.type\r\n\r\n this.cloneAllmobileComponent();\r\n this.mobileComponent.showAttendees = true;\r\n }\r\n\r\n async clearContact() {\r\n this.contacts = [];\r\n }\r\n\r\n async setContact(data: EventPerson[]) {\r\n this.contacts = data;\r\n }\r\n\r\n async openAttendeeModal() {\r\n this.cloneAllmobileComponent();\r\n this.mobileComponent.showAttendeeModal = true;\r\n }\r\n\r\n\r\n async GoBackEditOrAdd() {\r\n\r\n if (this.showEventEditOrOpen == \"edit\") {\r\n this.cloneAllmobileComponent();\r\n\r\n this.mobileComponent.showEditEvent = true;\r\n } else if (this.showEventEditOrOpen == \"add\") {\r\n this.cloneAllmobileComponent();\r\n\r\n this.mobileComponent.showAddNewEvent = true;\r\n } else if (this.showEventEditOrOpen == \"eventoToApprove\") {\r\n this.cloneAllmobileComponent();\r\n this.mobileComponent.showEditEventToApprove = true\r\n }\r\n else {\r\n // do Nothings\r\n }\r\n\r\n }\r\n\r\n async closeComponentEditEventOrAdd() {\r\n\r\n if (this.IsEvent = 'edit') {\r\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\r\n this.eventClicked(this.viewingEventObject);\r\n } else if (this.IsEvent = 'add') {\r\n this.cloneAllmobileComponent();\r\n }\r\n }\r\n\r\n reloadCalendar() {\r\n // \r\n this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);\r\n }\r\n\r\n async EventToApproveGoBack() {\r\n\r\n }\r\n\r\n async setIntervenient(data) {\r\n\r\n setTimeout(() => {\r\n this.taskParticipants = removeDuplicate(data)\r\n }, 10)\r\n\r\n }\r\n\r\n async setIntervenientCC(data) {\r\n setTimeout(() => {\r\n this.taskParticipantsCc = removeDuplicate(data)\r\n }, 10)\r\n\r\n }\r\n\r\n // Emitters\r\n // adding\r\n async setAdding(adding: \"intervenient\" | \"CC\" = \"intervenient\") {\r\n this.adding = adding;\r\n }\r\n\r\n async clearPostEvent() {\r\n this.postEvent = false;\r\n }\r\n\r\n async changeSegment(segments: \"Combinado\" | \"Pessoal\" | \"Oficial\") {\r\n this.segment = segments;\r\n\r\n if (segments == 'Combinado') {\r\n this.timelineFilterState = 'Todos'\r\n } else {\r\n this.timelineFilterState = segments\r\n }\r\n this.showTimelineFilterState = false;\r\n\r\n // THIS LINE\r\n this.updateEventListBox();\r\n\r\n\r\n }\r\n\r\n\r\n shoeEventDay(events: any[]) {\r\n\r\n if (this.segment == 'Combinado') {\r\n return true;\r\n }\r\n\r\n const reuslt = events.filter((e) => e.CalendarName == this.segment)\r\n\r\n return reuslt.length != 0\r\n }\r\n\r\n\r\n checkRoleInArray(str) {\r\n return this.eventService.calendarRole.includes(str);\r\n }\r\n\r\n}\r\n"]},"metadata":{},"sourceType":"module"}