+
@@ -336,6 +335,7 @@
[selectedSegment]=segment
[selectedDate]="eventSelectedDate"
(onAddEvent)="openAddEventDismiss($event)"
+ (openAttendeesComponent)="openAttendeesComponent($event)"
>
@@ -344,11 +344,10 @@
[selectedSegment]="segment"
[postEvent]="postEvent"
(cloneAllmobileComponent)="cloneAllmobileComponent($event)"
-
>
-
+
+
+
-
+
+
diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts
index 684046dbc..b3db977cb 100644
--- a/src/app/pages/agenda/agenda.page.ts
+++ b/src/app/pages/agenda/agenda.page.ts
@@ -110,11 +110,13 @@ export class AgendaPage implements OnInit {
mobileComponent: any = {
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 +131,7 @@ export class AgendaPage implements OnInit {
private modalCtrl: ModalController,
private eventService: EventsService,
private router: Router,
- private alertCrontroller: AlertService,
+ private alertController: AlertService,
private sanitizer: DomSanitizer
) {
@@ -204,7 +206,7 @@ export class AgendaPage implements OnInit {
this.router.navigate(["/home/agenda", event.id, 'agenda']);
} else {
this.cloneAllmobileComponent();
- this.mobileComponent.showEventDitails = true;
+ this.mobileComponent.showEventDetails = true;
}
}
@@ -369,7 +371,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);
@@ -382,16 +384,17 @@ export class AgendaPage implements OnInit {
if(ele.className.indexOf(`timeline-box-event-${eventIndex}`)>=0){
ele.setAttribute('style',`height:${minutes}px`);
}
- if(`timeline-box-event-${eventIndex}` == `timeline-box-event-3`){
+ // 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']);
@@ -632,11 +635,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),
@@ -646,13 +652,12 @@ export class AgendaPage implements OnInit {
profile: 'md'
});
});
-
-
- this.TimelineMD = this.timelineFilter(this.timelineFilterState, this.eventsList, 'md');
- // this.eventSource = this.TimelineMD;
this.events = this.timelineFilter(this.timelineFilterState, this.eventsList, 'md');
+ this.TimelineMD = this.timelineFilter(this.timelineFilterState, this.eventsList, 'md');
+
+
this.myCal.update();
this.myCal.loadEvents();
@@ -665,10 +670,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),
@@ -710,7 +719,7 @@ export class AgendaPage implements OnInit {
}, 250)
}
showAlert(){
- this.alertCrontroller.presentAlert("Funcionalidade em desenvolvimento.");
+ this.alertController.presentAlert("Funcionalidade em desenvolvimento.");
}
changeProfile(){
@@ -777,6 +786,7 @@ export class AgendaPage implements OnInit {
this.cloneAllmobileComponent();
}
+ // open component
async viewEventDetail(eventId:any) {
console.log(this.profile);
@@ -796,6 +806,7 @@ export class AgendaPage implements OnInit {
});
}
+ // open component
async viewEventDetailDismiss(data){
await this.cloneAllmobileComponent()
@@ -835,7 +846,7 @@ export class AgendaPage implements OnInit {
this.mobileComponent.showEventList = true;
}
- }
+ }
approveEventDismiss({saveData, serialNumber, action}){
@@ -871,7 +882,7 @@ export class AgendaPage implements OnInit {
this.mobileComponent= {
showAddNewEvent: false,
showEditEvent: false,
- showEventDitails: false,
+ showEventDetails: false,
showEventList: false,
showEventToApprove: false
}
@@ -887,4 +898,18 @@ export class AgendaPage implements OnInit {
this.mobileComponent.showAddNewEvent = true;
}
+ // open component
+ async openAttendeesComponent(data){
+ console.log('open attendees component');
+
+ this.cloneAllmobileComponent();
+ this.mobileComponent.showAttendees = true;
+
+ }
+
+ async openAttendeeModal(){
+ this.cloneAllmobileComponent();
+ this.mobileComponent.showAttendeeModal = true;
+ }
+
}
\ No newline at end of file
diff --git a/src/app/shared/agenda/new-event/new-event.component.ts b/src/app/shared/agenda/new-event/new-event.component.ts
index 27c4dc584..c54128976 100644
--- a/src/app/shared/agenda/new-event/new-event.component.ts
+++ b/src/app/shared/agenda/new-event/new-event.component.ts
@@ -23,12 +23,12 @@ export class NewEventPage implements OnInit {
@Input() selectedDate: Date;
@Output() onAddEvent = new EventEmitter
();
+ @Output() openAttendeesComponent = new EventEmitter();
minDate: string;
constructor(
private modalController: ModalController,
- //private navParams: NavParams,
private eventService: EventsService,
) {
this.postEvent = new Event();
@@ -104,26 +104,10 @@ export class NewEventPage implements OnInit {
this.onAddEvent.emit(this.postEvent);
}
- async openAttendees()
+ async openAttendees(data: any)
{
- const modal = await this.modalController.create({
- component: AttendeesPage,
- componentProps: {
- eventAttendees: this.postEvent.Attendees
- },
- cssClass: 'attendee',
- backdropDismiss: false
- });
- await modal.present();
-
- modal.onDidDismiss().then((data) => {
- if (data['data'] != null)
- {
- let newattendees: EventPerson[] = data['data'];
- this.postEvent.Attendees = newattendees;
- }
- });
-}
+ this.openAttendeesComponent.emit();
+ }
}
diff --git a/src/app/shared/agenda/view-event/view-event.page.ts b/src/app/shared/agenda/view-event/view-event.page.ts
index 29e1e7e2f..c742ad4c1 100644
--- a/src/app/shared/agenda/view-event/view-event.page.ts
+++ b/src/app/shared/agenda/view-event/view-event.page.ts
@@ -36,6 +36,7 @@ export class ViewEventPage implements OnInit {
@Output() viewEventDetailDismiss = new EventEmitter();
+
constructor(
private eventsService: EventsService,
private attachmentsService: AttachmentsService,
diff --git a/src/app/shared/event/attendee-modal/attendee-modal-routing.module.ts b/src/app/shared/event/attendee-modal/attendee-modal-routing.module.ts
new file mode 100644
index 000000000..384a9efd2
--- /dev/null
+++ b/src/app/shared/event/attendee-modal/attendee-modal-routing.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+import { AttendeeModalPage } from './attendee-modal.page';
+
+const routes: Routes = [
+ {
+ path: '',
+ component: AttendeeModalPage
+ }
+];
+
+@NgModule({
+ imports: [RouterModule.forChild(routes)],
+ exports: [RouterModule],
+})
+export class AttendeeModalPageRoutingModule {}
diff --git a/src/app/shared/event/attendee-modal/attendee-modal.module.ts b/src/app/shared/event/attendee-modal/attendee-modal.module.ts
new file mode 100644
index 000000000..e97fd7610
--- /dev/null
+++ b/src/app/shared/event/attendee-modal/attendee-modal.module.ts
@@ -0,0 +1,20 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IonicModule } from '@ionic/angular';
+
+import { AttendeeModalPageRoutingModule } from './attendee-modal-routing.module';
+
+import { AttendeeModalPage } from './attendee-modal.page';
+
+@NgModule({
+ imports: [
+ CommonModule,
+ FormsModule,
+ IonicModule,
+ AttendeeModalPageRoutingModule
+ ],
+ declarations: [AttendeeModalPage]
+})
+export class AttendeeModalPageModule {}
diff --git a/src/app/shared/event/attendee-modal/attendee-modal.page.html b/src/app/shared/event/attendee-modal/attendee-modal.page.html
new file mode 100644
index 000000000..d8fe8f3c3
--- /dev/null
+++ b/src/app/shared/event/attendee-modal/attendee-modal.page.html
@@ -0,0 +1,39 @@
+
+
+ Adicionar intervenientes
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ attendee.Name }}
+ {{ attendee.EmailAddress }}
+
+
+
+
+
+
+
+
+
+
+ Cancelar
+
+
+
+
+
+ Adicionar
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/shared/event/attendee-modal/attendee-modal.page.scss b/src/app/shared/event/attendee-modal/attendee-modal.page.scss
new file mode 100644
index 000000000..9cee55e1d
--- /dev/null
+++ b/src/app/shared/event/attendee-modal/attendee-modal.page.scss
@@ -0,0 +1,6 @@
+ion-item-group{
+ margin: 15px;
+ }
+ion-searchbar{
+ --border-radius: 20px;
+}
\ No newline at end of file
diff --git a/src/app/shared/event/attendee-modal/attendee-modal.page.spec.ts b/src/app/shared/event/attendee-modal/attendee-modal.page.spec.ts
new file mode 100644
index 000000000..f247abe63
--- /dev/null
+++ b/src/app/shared/event/attendee-modal/attendee-modal.page.spec.ts
@@ -0,0 +1,24 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+import { IonicModule } from '@ionic/angular';
+
+import { AttendeeModalPage } from './attendee-modal.page';
+
+describe('AttendeeModalPage', () => {
+ let component: AttendeeModalPage;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ AttendeeModalPage ],
+ imports: [IonicModule.forRoot()]
+ }).compileComponents();
+
+ fixture = TestBed.createComponent(AttendeeModalPage);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ }));
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/shared/event/attendee-modal/attendee-modal.page.ts b/src/app/shared/event/attendee-modal/attendee-modal.page.ts
new file mode 100644
index 000000000..fd15c7fe2
--- /dev/null
+++ b/src/app/shared/event/attendee-modal/attendee-modal.page.ts
@@ -0,0 +1,70 @@
+import { Component, EventEmitter, OnInit, Output } from '@angular/core';
+import { ModalController } from '@ionic/angular';
+import { ContactsService } from 'src/app/services/contacts.service';
+import { EventPerson } from 'src/app/models/eventperson.model';
+import { ThrowStmt, removeSummaryDuplicates } from '@angular/compiler';
+
+@Component({
+ selector: 'app-attendee-modal',
+ templateUrl: './attendee-modal.page.html',
+ styleUrls: ['./attendee-modal.page.scss'],
+})
+export class AttendeeModalPage implements OnInit {
+
+ contacts: EventPerson[];
+ showLoader: boolean = false;
+ eventPersons: EventPerson[];
+
+ constructor(private modalCtrl: ModalController, private contactsService: ContactsService) { }
+
+ @Output() openAttendeesComponent = new EventEmitter();
+
+
+ ngOnInit() {
+ this.fetchContacts("");
+ }
+
+ save(){
+ this.modalCtrl.dismiss(
+ this.contacts.filter(function(contact) {
+ return contact.IsRequired == true;
+ })
+ );
+ }
+
+ close(){
+ // this.modalCtrl.dismiss(null);
+ this.openAttendeesComponent.emit();
+ }
+
+ onChange(evt: any) {
+ this.fetchContacts(evt.detail.value);
+ }
+
+ selectContact(itm: EventPerson){
+ itm.IsRequired = !itm.IsRequired;
+ }
+
+ async fetchContacts(filter: string) {
+ this.showLoader = true;
+
+ this.contactsService.getContacts(filter).subscribe(result =>
+ {
+ if (this.eventPersons != null)
+ {
+ this.eventPersons.forEach(attendee => {
+ const index: number = result.findIndex((cont) => {
+ return cont.EmailAddress == attendee.EmailAddress
+ });
+
+ result.splice(index, 1);
+ });
+ }
+
+ this.contacts = result;
+ this.showLoader = false;
+ }
+ );
+ }
+
+}
diff --git a/src/app/shared/event/attendees/attendees.page.html b/src/app/shared/event/attendees/attendees.page.html
index 380e808b5..4a71dcbc8 100644
--- a/src/app/shared/event/attendees/attendees.page.html
+++ b/src/app/shared/event/attendees/attendees.page.html
@@ -39,7 +39,7 @@
-
+
Cancelar
diff --git a/src/app/shared/event/attendees/attendees.page.ts b/src/app/shared/event/attendees/attendees.page.ts
index 381044836..a0d432afc 100644
--- a/src/app/shared/event/attendees/attendees.page.ts
+++ b/src/app/shared/event/attendees/attendees.page.ts
@@ -1,8 +1,8 @@
-import { Component, OnInit } from '@angular/core';
+import { Component, EventEmitter, OnInit, Output } from '@angular/core';
import { EventPerson } from 'src/app/models/eventperson.model';
import { EventsService } from 'src/app/services/events.service';
import { ModalController, NavController } from '@ionic/angular';
-import { AttendeeModalPage } from '../attendee-modal/attendee-modal.page';
+// import { AttendeeModalPage } from '../attendee-modal/attendee-modal.page';
@Component({
selector: 'app-attendees',
@@ -17,6 +17,9 @@ export class AttendeesPage implements OnInit {
searchCountryString = ''; // initialize your searchCountryString string empty
+ @Output() openAttendeeModal = new EventEmitter();
+
+
constructor(private eventService: EventsService, private modalCtrl: ModalController,
private navCtrl: NavController) {
}
@@ -26,11 +29,11 @@ export class AttendeesPage implements OnInit {
}
save(){
- this.modalCtrl.dismiss(this.eventAttendees);
+ // this.modalCtrl.dismiss(this.eventAttendees);
}
close(){
- this.modalCtrl.dismiss(null);
+ // this.modalCtrl.dismiss(null);
}
removeAttendee(attendee: EventPerson)
@@ -42,9 +45,12 @@ export class AttendeesPage implements OnInit {
this.eventAttendees.splice(index, 1);
}
- async addAttendees()
- {
- const modal = await this.modalCtrl.create({
+ async addAttendees() {
+
+ console.log('Event Intervenient');
+ this.openAttendeeModal.emit();
+
+ /* const modal = await this.modalCtrl.create({
component: AttendeeModalPage,
componentProps: {
eventPersons: this.eventAttendees
@@ -73,7 +79,8 @@ export class AttendeesPage implements OnInit {
this.eventAttendees.push(att);
});
}
- });
+ }); */
+
}
}
\ No newline at end of file