import { Component, OnInit } from '@angular/core'; import { ModalController, NavParams, PopoverController } from '@ionic/angular'; import { EventPerson } from 'src/app/models/eventperson.model'; import { SearchList } from 'src/app/models/search-document'; import { NewEventPage } from 'src/app/pages/agenda/new-event/new-event.page'; import { SearchPage } from 'src/app/pages/search/search.page'; import { AlertService } from 'src/app/services/alert.service'; import { ChatService } from 'src/app/services/chat.service'; import { FileLoaderService } from 'src/app/services/file/file-loader.service'; import { FileToBase64Service } from 'src/app/services/file/file-to-base64.service'; import { environment } from 'src/environments/environment'; @Component({ selector: 'app-chat-options-features', templateUrl: './chat-options-features.page.html', styleUrls: ['./chat-options-features.page.scss'], }) export class ChatOptionsFeaturesPage implements OnInit { documents:SearchList[] = []; members: any; attendees: EventPerson[] = []; capturedImage:any; capturedImageTitle:any; constructor( private popoverController: PopoverController, private modalController: ModalController, private alertService: AlertService, private navParams: NavParams, private fileLoaderService: FileLoaderService, private fileToBase64Service: FileToBase64Service, private chatService: ChatService, ) { this.members = this.navParams.get('members'); console.log(this.members); this.attendees = this.members.map((val)=>{ return { Name: val.name, EmailAddress: val.username+"@"+environment.domain, IsRequired: "true", } }); } ngOnInit() { console.log(this.attendees); } notImplemented(){ this.alertService.presentAlert('Funcionalidade em desenvolvimento'); } close(){ if( window.innerWidth < 701){ this.popoverController.dismiss(); } else{ this.modalController.dismiss(); } } attachDocument(){ console.log('Anexar Documento'); } anexarFoto(){ this.modalController.dismiss('picture'); } addDocGestaoDocumental(){ this.modalController.dismiss('documentoGestaoDocumental'); } laodPicture() { const input = this.fileLoaderService.createInput({ accept: ['image/apng', 'image/jpeg', 'image/png'] }) input.onchange = async () => { const file = this.fileLoaderService.getFirstFile(input) console.log(file); const imageData = await this.fileToBase64Service.convert(file) this.capturedImage = imageData; this.capturedImageTitle = file.name; let body = { "message": { "rid": "J5WDHyrYWHQrybbno", "msg": "this.message", "attachments": [{ "title": this.capturedImageTitle , "text": "description", "title_link_download": false, "image_url": this.capturedImage, }] } } this.chatService.sendMessage(body).subscribe(res=> { console.log(res); },(error) => { }); //console.log(this.capturedImage) }; } sendMessage(){ let body = { "message": { "rid": "J5WDHyrYWHQrybbno", "msg": "this.message", /* "attachments": [{ "color": "#ff0000", "text": "Yay for gruggy!", "title": "Attachment Example", "title_link": "https://youtube.com", "title_link_download": false, "image_url": "https://upload.wikimedia.org/wikipedia/commons/e/ee/Chain_link_icon.png", }] */ } } this.chatService.sendMessage(body).subscribe(res=> { console.log(res); },(error) => { }); } /* getGroupContacts(room:any){ this.showLoader = true; //If group is private call getGroupMembers if(this.room.t === 'p'){ this.chatService.getGroupMembers(this.roomId).subscribe(res=>{ console.log(res); this.members = res['members']; this.showLoader = false; }); } //Otherwise call getChannelMembers for públic groups else{ this.chatService.getChannelMembers(this.roomId).subscribe(res=>{ console.log(res); this.members = res['members']; this.showLoader = false; }); } } */ async getDoc(){ const modal = await this.modalController.create({ component: SearchPage, cssClass: 'group-messages modal-desktop search-modal search-modal-to-desktop', componentProps: { type: 'AccoesPresidenciais & ArquivoDespachoElect', select: true, showSearchInput: true, } }); await modal.present(); modal.onDidDismiss().then((res)=>{ if(res){ const data = res.data; this.documents.push(data.selected); console.log(res.data); } }); } async bookMeeting() { console.log(this.attendees); if( window.innerWidth <= 800){ this.popoverController.dismiss(); const modal = await this.modalController.create({ component: NewEventPage, componentProps:{ attendees: this.attendees, }, cssClass: 'modal modal-desktop', backdropDismiss: false }); await modal.present(); modal.onDidDismiss().then((data) => { if(data){ } }); } else{ this.modalController.dismiss('meeting'); } } }