Add component in aganda

This commit is contained in:
Peter Maquiran
2021-03-24 15:10:46 +01:00
parent f5ec384100
commit 35102b380d
15 changed files with 266 additions and 58 deletions
@@ -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<any>();
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;
}
);
}
}