diff --git a/package-lock.json b/package-lock.json index 47cdcaf0b..7e5f76dab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -592,9 +592,9 @@ } }, "@angular/language-service": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-11.2.2.tgz", - "integrity": "sha512-H09s5pivJq8lip206NrNJ0cXLge9CfthtT3tY+OGXn5Xiyvjxs+dOkVytoGauHE3mdge/Wn/rxoGmm/oYKejNQ==", + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-11.2.6.tgz", + "integrity": "sha512-jzIutEzUbfBZxLWftpi5oXusL3rwbe2P/6HnNd8NUeBos9+G859R7hCsstAQ61XPn41a2/Fbl+YOwYhdjoBQrw==", "dev": true }, "@angular/platform-browser": { diff --git a/package.json b/package.json index 3420375d5..e96404a36 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "@angular/cli": "11.2.1", "@angular/compiler": "~11.2.2", "@angular/compiler-cli": "^11.2.2", - "@angular/language-service": "~11.2.2", + "@angular/language-service": "^11.2.6", "@ionic/angular-toolkit": "^3.0.0", "@ionic/lab": "3.1.7", "@types/jasmine": "~3.6.0", diff --git a/src/app/home/home.page.html b/src/app/home/home.page.html index edb7dd2a0..2129a6732 100644 --- a/src/app/home/home.page.html +++ b/src/app/home/home.page.html @@ -1,33 +1,30 @@ + + + + + + {{totalEvent}} + Iníci1o + - - - - - - - {{totalEvent}} - Iníci1o - - - - - - Agenda - - - - - {{totalExpediente}} - Gabinete - - - - Acções - - - - Chat - - - - + + + + Agenda + + + + + {{totalExpediente}} + Gabinete + + + + Ações + + + + Chat + + + diff --git a/src/app/pages/agenda/agenda.module.ts b/src/app/pages/agenda/agenda.module.ts index b6b6ba256..d35cb5a23 100644 --- a/src/app/pages/agenda/agenda.module.ts +++ b/src/app/pages/agenda/agenda.module.ts @@ -18,6 +18,8 @@ import { EditEventComponent } from 'src/app/shared/agenda/edit-event/edit-event. import { ViewEventPage } from 'src/app/shared/agenda/view-event/view-event.page'; import { EventListComponent } from "src/app/shared/agenda/event-list/event-list.component"; import { ApproveEventComponent } from "src/app/shared/agenda/approve-event/approve-event.component"; +import { AttendeesPage } from 'src/app/shared/event/attendees/attendees.page'; +import { AttendeeModalPage } from 'src/app/shared/event/attendee-modal/attendee-modal.page'; registerLocaleData(localeDe); @@ -45,7 +47,9 @@ import { adapterFactory } from 'angular-calendar/date-adapters/date-fns'; EditEventComponent, ViewEventPage, EventListComponent, - ApproveEventComponent + ApproveEventComponent, + AttendeesPage, + AttendeeModalPage ], schemas: [CUSTOM_ELEMENTS_SCHEMA], providers: [ diff --git a/src/app/pages/agenda/agenda.page.html b/src/app/pages/agenda/agenda.page.html index 79b022ed1..504f5a2e4 100644 --- a/src/app/pages/agenda/agenda.page.html +++ b/src/app/pages/agenda/agenda.page.html @@ -45,7 +45,7 @@ - + @@ -283,29 +283,27 @@ *ngSwitchCase="'day'" [viewDate]="viewDate" [events]="events" - (eventClicked)="eventClicked($event)" + (eventClicked)="clearContact();eventClicked($event)" > -
+
-
+
@@ -321,12 +319,14 @@
+ class="text-black nothing-to-show"> Nenhum evento selecionado
@@ -336,6 +336,11 @@ [selectedSegment]=segment [selectedDate]="eventSelectedDate" (onAddEvent)="openAddEventDismiss($event)" + (openAttendeesComponent)="openAttendeesComponent($event)" + (cloneAllmobileComponent)="cloneAllmobileComponent()" + [eventAttendees]="contacts" + (clearContact)="clearContact()" + (setContact)="setContact()" > @@ -343,15 +348,18 @@ [profile]="profile" [selectedSegment]="segment" [postEvent]="postEvent" - (cloneAllmobileComponent)="cloneAllmobileComponent($event)" - + (cloneAllmobileComponent)="cloneAllmobileComponent()" + (clearContact)="clearContact()" + (openAttendeesComponent)="openAttendeesComponent($event)" + (setContact)="setContact()" > - @@ -366,13 +374,30 @@ + + + + - + +
diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts index 3fbb353a0..51c68b3aa 100644 --- a/src/app/pages/agenda/agenda.page.ts +++ b/src/app/pages/agenda/agenda.page.ts @@ -9,6 +9,8 @@ import { Router, NavigationEnd } from '@angular/router'; import { AlertService } from 'src/app/services/alert.service'; import { momentG } from 'src/plugin/momentG'; import { DomSanitizer } from "@angular/platform-browser"; +import { EventPerson } from 'src/app/models/eventperson.model'; + // showTimeline import { setHours, setMinutes } from 'date-fns'; @@ -48,6 +50,8 @@ export class AgendaPage implements OnInit { timelineDate: string; + contacts: EventPerson[] + setView(view: CalendarView) { this.view = view; } @@ -99,6 +103,9 @@ export class AgendaPage implements OnInit { eventsListPessoal: Event[]; eventsListOficial: Event[]; + // this will make toggle add event and. + showEventEditOrOpen: "edit" | "add" | "" = "" + prEventList: Event[]; mdEventList: Event[]; @@ -107,14 +114,16 @@ export class AgendaPage implements OnInit { startTime: Date; endTime: Date; - mobileComponent: any = { + mobileComponent = { showAddNewEvent: false, showEditEvent: false, - showEventDitails: false, + showEventDetails: false, showEventList: false, transparentEventList: false, transparentEventToApprove: false, - showEventToApprove: false + showEventToApprove: false, + showAttendees: false, + showAttendeeModal: false } eventToaprove: any = { @@ -129,7 +138,7 @@ export class AgendaPage implements OnInit { private modalCtrl: ModalController, private eventService: EventsService, private router: Router, - private alertCrontroller: AlertService, + private alertController: AlertService, private sanitizer: DomSanitizer ) { @@ -198,17 +207,24 @@ export class AgendaPage implements OnInit { // this.viewEventDetail(event.id); - this.cloneAllmobileComponent() + this.cloneAllmobileComponent(); + + + this.showEventEditOrOpen = 'edit'; if( window.innerWidth <= 1024){ - this.router.navigate(["/home/agenda", event.id, 'agenda']); + this.viewEventDetail(event.id) + //this.router.navigate(["/home/agenda", event.id, 'agenda']); } else { this.cloneAllmobileComponent(); - this.mobileComponent.showEventDitails = true; + + this.mobileComponent.showEventDetails = true; } } + + //Show information of the event async onEventSelected(ev: { event: Event}){ this.viewEventDetail(ev.event.EventId); @@ -369,7 +385,7 @@ export class AgendaPage implements OnInit { timelineBoxCorrectHeight(timeout){ setTimeout(()=>{ - this.eventSource.forEach((el, eventIndex)=>{ + this.eventSource.forEach((el:any, eventIndex)=>{ const startEvent = new Date(el.startTime); const endEvent = new Date(el.endTime); @@ -380,15 +396,23 @@ export class AgendaPage implements OnInit { document.querySelectorAll('.fs-timeline .timeline-box').forEach(ele => { if(ele.className.indexOf(`timeline-box-event-${eventIndex}`)>=0){ - ele.setAttribute('style',`height:${minutes}px`); + + if(ele['offsetHeight'] <= minutes){ + ele.setAttribute('style',`height:${minutes}px`); + } + } + // this event has an contraction time + // if(`timeline-box-event-${eventIndex}` == `timeline-box-event-3`){ + // alert(startEvent.toString()+' '+ endEvent.toString()); + // } }); }); },timeout) setTimeout(()=>{ - this.TimelinePR.forEach((el, eventIndex)=>{ + this.eventSource.forEach((el, eventIndex)=>{ const startEvent = new Date(el['startTime']); const endEvent = new Date(el['endTime']); @@ -629,11 +653,14 @@ export class AgendaPage implements OnInit { this.eventService.getAllMdEvents( momentG(new Date(startTime),'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime),'yyyy-MM-dd 23:59:59') ).subscribe( response => { + this.TimelineMD = []; + this.eventsList = response; // loop this.eventsList.forEach((element, eventIndex) => { this.eventSource.push({ + index: eventIndex, title: element.Subject, startTime: new Date(element.StartDate), endTime: new Date(element.EndDate), @@ -643,10 +670,11 @@ export class AgendaPage implements OnInit { profile: 'md' }); }); - + + this.events = this.timelineFilter(this.timelineFilterState, this.eventsList, 'md'); this.TimelineMD = this.timelineFilter(this.timelineFilterState, this.eventsList, 'md'); - this.events = this.timelineFilter(this.timelineFilterState, this.eventsList, 'md'); + this.myCal.update(); this.myCal.loadEvents(); @@ -660,10 +688,14 @@ export class AgendaPage implements OnInit { this.eventService.getAllPrEvents(momentG(new Date(startTime),'yyyy-MM-dd HH:mm:ss'), momentG(new Date(endTime),'yyyy-MM-dd 23:59:59')).subscribe( response => { - + + this.TimelinePR = []; + this.eventsList = response; this.eventsList.forEach((element, eventIndex) => { + this.eventSource.push({ + index: eventIndex, title: element.Subject, startTime: new Date(element.StartDate), endTime: new Date(element.EndDate), @@ -705,7 +737,7 @@ export class AgendaPage implements OnInit { }, 250) } showAlert(){ - this.alertCrontroller.presentAlert("Funcionalidade em desenvolvimento."); + this.alertController.presentAlert("Funcionalidade em desenvolvimento."); } changeProfile(){ @@ -727,7 +759,9 @@ export class AgendaPage implements OnInit { async openAddEvent() { - await this.cloneAllmobileComponent() + await this.cloneAllmobileComponent(); + + this.showEventEditOrOpen = 'add'; if( window.innerWidth <= 1024){ const modal = await this.modalCtrl.create({ @@ -752,6 +786,12 @@ export class AgendaPage implements OnInit { } } + + openEditEvent(){ + this.showEventEditOrOpen = 'edit'; + + } + openAddEventDismiss(data){ let postEvent: Event = data; @@ -772,6 +812,7 @@ export class AgendaPage implements OnInit { this.cloneAllmobileComponent(); } + // open component async viewEventDetail(eventId:any) { console.log(this.profile); @@ -791,6 +832,7 @@ export class AgendaPage implements OnInit { }); } + // open component async viewEventDetailDismiss(data){ await this.cloneAllmobileComponent() @@ -830,7 +872,7 @@ export class AgendaPage implements OnInit { this.mobileComponent.showEventList = true; } - } + } approveEventDismiss({saveData, serialNumber, action}){ @@ -862,17 +904,16 @@ export class AgendaPage implements OnInit { } async cloneAllmobileComponent(){ - - this.mobileComponent = { - showAddNewEvent: false, - showEditEvent: false, - showEventDitails: false, - showEventList: false, - showEventToApprove: false - } + + this.mobileComponent.showAddNewEvent = false; + this.mobileComponent.showEditEvent = false; + this.mobileComponent.showEventDetails = false; + this.mobileComponent.showEventList = false; + this.mobileComponent.showEventToApprove = false; + this.mobileComponent.showAttendees = false; + this.mobileComponent.showAttendeeModal = false; this.closeEventToApprove(); - } async AproveEventEditEvent(data){ @@ -882,4 +923,53 @@ export class AgendaPage implements OnInit { this.mobileComponent.showAddNewEvent = true; } + // open component + async openAttendeesComponent(data){ + + + if(Array.isArray(data)){ + if(data.length != 0){ + + console.log('save!!!',data.length); + console.log(data); + this.contacts = data ; + } + } + + this.cloneAllmobileComponent(); + this.mobileComponent.showAttendees = true; + + } + + async clearContact(){ + this.contacts = []; + } + + async setContact(data:EventPerson[]){ + this.contacts = data; + } + + async openAttendeeModal(){ + this.cloneAllmobileComponent(); + this.mobileComponent.showAttendeeModal = true; + } + + + async GoBackEditOrAdd(){ + + + if(this.showEventEditOrOpen == "edit"){ + this.cloneAllmobileComponent(); + + this.mobileComponent.showEditEvent = true; + } else if(this.showEventEditOrOpen == "add") { + this.cloneAllmobileComponent(); + + this.mobileComponent.showAddNewEvent = true; + } else { + // do Nothings + } + + } + } \ No newline at end of file diff --git a/src/app/pages/agenda/new-event/new-event.page.scss b/src/app/pages/agenda/new-event/new-event.page.scss index b3bfead35..2d1ca8abb 100644 --- a/src/app/pages/agenda/new-event/new-event.page.scss +++ b/src/app/pages/agenda/new-event/new-event.page.scss @@ -18,10 +18,9 @@ ion-content{ transform: translate3d(0, 1px, 0); .title-content{ - width: 360px; + padding: 0px 20px; margin: 0px auto; overflow: auto; - padding: 0 !important; background: #fff; .middle{ padding: 0!important; diff --git a/src/app/pages/agenda/view-event/view-event.page.scss b/src/app/pages/agenda/view-event/view-event.page.scss index e1adb2189..ba5e0870f 100644 --- a/src/app/pages/agenda/view-event/view-event.page.scss +++ b/src/app/pages/agenda/view-event/view-event.page.scss @@ -25,10 +25,9 @@ ion-menu{ transform: translate3d(0, 1px, 0); .title-content{ - width: 360px; + padding: 0px 20px; margin: 0px auto; overflow: auto; - padding: 0 !important; background: #fff; .left{ diff --git a/src/app/shared/agenda/edit-event/edit-event.component.html b/src/app/shared/agenda/edit-event/edit-event.component.html index ef7471556..13cacf4c7 100644 --- a/src/app/shared/agenda/edit-event/edit-event.component.html +++ b/src/app/shared/agenda/edit-event/edit-event.component.html @@ -16,11 +16,11 @@
-
+
-
+
@@ -29,14 +29,15 @@ Campo obrigatório --> +
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
Ver ou editar participantes @@ -143,20 +144,20 @@
-
+
-