diff --git a/src/app/shared/event/attendees/attendees-routing.module.ts b/src/app/shared/event/attendees/attendees-routing.module.ts new file mode 100644 index 000000000..9f8738216 --- /dev/null +++ b/src/app/shared/event/attendees/attendees-routing.module.ts @@ -0,0 +1,12 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { AttendeesPage } from './attendees.page'; + +const routes: Routes = []; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class AttendeesPageRoutingModule {} diff --git a/src/app/shared/event/attendees/attendees.module.ts b/src/app/shared/event/attendees/attendees.module.ts new file mode 100644 index 000000000..63a655038 --- /dev/null +++ b/src/app/shared/event/attendees/attendees.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 { AttendeesPageRoutingModule } from './attendees-routing.module'; + +import { AttendeesPage } from './attendees.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + AttendeesPageRoutingModule + ], + declarations: [AttendeesPage] +}) +export class AttendeesPageModule {} diff --git a/src/app/shared/event/attendees/attendees.page.html b/src/app/shared/event/attendees/attendees.page.html new file mode 100644 index 000000000..380e808b5 --- /dev/null +++ b/src/app/shared/event/attendees/attendees.page.html @@ -0,0 +1,57 @@ + + + Participantes + + + + + Intervenientes + + + Com Conhecimento + + + + + + + + Adicionar participantes + + + + + + + Apagar + + + + +

{{ attendee.Name }}

+

{{ attendee.EmailAddress }}

+
+
+
+
+
+
+ + + + + + + Cancelar + + + + + + + OK + + + + + \ No newline at end of file diff --git a/src/app/shared/event/attendees/attendees.page.scss b/src/app/shared/event/attendees/attendees.page.scss new file mode 100644 index 000000000..30cc9ce83 --- /dev/null +++ b/src/app/shared/event/attendees/attendees.page.scss @@ -0,0 +1,6 @@ +ion-item-group{ + margin: 15px; +} +ion-item{ + border-bottom:1px solid #ccc; +} diff --git a/src/app/shared/event/attendees/attendees.page.spec.ts b/src/app/shared/event/attendees/attendees.page.spec.ts new file mode 100644 index 000000000..d2cb216ae --- /dev/null +++ b/src/app/shared/event/attendees/attendees.page.spec.ts @@ -0,0 +1,24 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { AttendeesPage } from './attendees.page'; + +describe('AttendeesPage', () => { + let component: AttendeesPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ AttendeesPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(AttendeesPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/shared/event/attendees/attendees.page.ts b/src/app/shared/event/attendees/attendees.page.ts new file mode 100644 index 000000000..381044836 --- /dev/null +++ b/src/app/shared/event/attendees/attendees.page.ts @@ -0,0 +1,79 @@ +import { Component, OnInit } 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'; + +@Component({ + selector: 'app-attendees', + templateUrl: './attendees.page.html', + styleUrls: ['./attendees.page.scss'], +}) +export class AttendeesPage implements OnInit { + + eventAttendees: EventPerson[]; + segment:string = "true"; + shouldShowCancel:boolean = true; + + searchCountryString = ''; // initialize your searchCountryString string empty + + constructor(private eventService: EventsService, private modalCtrl: ModalController, + private navCtrl: NavController) { + } + + + ngOnInit() { + } + + save(){ + this.modalCtrl.dismiss(this.eventAttendees); + } + + close(){ + this.modalCtrl.dismiss(null); + } + + removeAttendee(attendee: EventPerson) + { + let index: number = this.eventAttendees.findIndex((att) => { + return att.EmailAddress == attendee.EmailAddress + }); + + this.eventAttendees.splice(index, 1); + } + + async addAttendees() + { + const modal = await this.modalCtrl.create({ + component: AttendeeModalPage, + componentProps: { + eventPersons: this.eventAttendees + }, + cssClass: 'attendee-modal', + backdropDismiss: false + }); + + await modal.present(); + + modal.onDidDismiss().then((data) => { + let newattendees: EventPerson[] = data['data']; + + if (newattendees != null) + { + newattendees.forEach(newattendee => { + let att = { + "EmailAddress": newattendee.EmailAddress, + "Name": newattendee.Name, + "IsRequired": (this.segment == "true") + }; + if (this.eventAttendees == null) + { + this.eventAttendees = new Array(); + } + this.eventAttendees.push(att); + }); + } + }); + } + +} \ No newline at end of file