diff --git a/package.json b/package.json index d4d5367b1..bdbab333f 100644 --- a/package.json +++ b/package.json @@ -192,4 +192,4 @@ "url": "git+https://Kayaya@bitbucket.org/equilibriumito/gabinete-digital.git" }, "license": "ISC" -} +} \ No newline at end of file diff --git a/src/app/pages/chat/group-messages/group-messages.page.html b/src/app/pages/chat/group-messages/group-messages.page.html index da07a0d23..b028d4964 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.html +++ b/src/app/pages/chat/group-messages/group-messages.page.html @@ -40,7 +40,7 @@ A conversa original mantêm-se como chat individual
-
+
{{msg.u.name}} {{showDateDuration(msg._updatedAt)}} diff --git a/src/app/pages/chat/group-messages/group-messages.page.ts b/src/app/pages/chat/group-messages/group-messages.page.ts index 10e792fa3..4751ce45a 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.ts +++ b/src/app/pages/chat/group-messages/group-messages.page.ts @@ -13,6 +13,7 @@ import { EditGroupPage } from '../edit-group/edit-group.page'; import { TimeService } from 'src/app/services/functions/time.service'; import { FileLoaderService } from 'src/app/services/file/file-loader.service'; import { FileToBase64Service } from 'src/app/services/file/file-to-base64.service'; +import { FileService } from 'src/app/services/functions/file.service'; @Component({ selector: 'app-group-messages', @@ -59,6 +60,7 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { private timeService: TimeService, private fileLoaderService: FileLoaderService, private fileToBase64Service: FileToBase64Service, + private fileService: FileService, ) { this.loggedUserChat = authService.ValidatedUserChat['data']; this.isGroupCreated = true; @@ -328,9 +330,34 @@ export class GroupMessagesPage implements OnInit, AfterViewInit, OnDestroy { }); await popover.present(); await popover.onDidDismiss().then((res)=>{ - if(res['data'] == "picture"){ + if(res['data'] == "loadPicture"){ this.loadPicture(); } + else if(res['data'] == "takePicture"){ + let data = this.fileService.takePicture(); + alert(data); + alert(data.name); + + if(data.name != null){ + let body = { + "message": + { + "rid": this.roomId, + "msg": "", + "attachments": [{ + "title": data.name, + "title_link_download": false, + "image_url": data.image, + }] + } + } + this.chatService.sendMessage(body).subscribe(res=> { + console.log(res); + },(error) => { + + }); + } + } }); } diff --git a/src/app/services/functions/file.service.ts b/src/app/services/functions/file.service.ts index d0cd78eb2..e36efb620 100644 --- a/src/app/services/functions/file.service.ts +++ b/src/app/services/functions/file.service.ts @@ -1,6 +1,8 @@ import { Injectable } from '@angular/core'; import { FileLoaderService } from '../file/file-loader.service'; import { FileToBase64Service } from '../file/file-to-base64.service'; +//Cordova +import { Camera, CameraOptions } from '@ionic-native/camera/ngx'; @Injectable({ providedIn: 'root' @@ -11,10 +13,39 @@ export class FileService { capturedImageTitle:any; constructor( + private camera: Camera, private fileLoaderService: FileLoaderService, private fileToBase64Service: FileToBase64Service, ) { } + takePicture() { + const options: CameraOptions = { + quality: 50, + destinationType: this.camera.DestinationType.DATA_URL, + encodingType: this.camera.EncodingType.JPEG, + mediaType: this.camera.MediaType.PICTURE, + targetWidth: 720, + targetHeight: 720, + } + + this.camera.getPicture(options).then((imageData) => { + // imageData is either a base64 encoded string or a file URI + // If it's base64 (DATA_URL): m + //let base64Image = 'data:image/jpeg;base64,' + imageData; + + this.capturedImage = 'data:image/png;base64,'+imageData; + this.capturedImageTitle = new Date().getTime() + '.jpeg'; + }, (err) => { + /* console.log(err); */ + }); + let data = { + image:this.capturedImage, + name: this.capturedImageTitle + } + + return data; + } + loadPicture() { const input = this.fileLoaderService.createInput({ accept: ['image/apng', 'image/jpeg', 'image/png'] diff --git a/src/app/shared/chat/group-messages/group-messages.page.ts b/src/app/shared/chat/group-messages/group-messages.page.ts index 6c7d073fa..a830fe661 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.ts +++ b/src/app/shared/chat/group-messages/group-messages.page.ts @@ -398,32 +398,6 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe }); } - /* async actionSheet() { - const actionSheet = await this.actionSheetController.create({ - cssClass: 'my-custom-class', - buttons: [{ - text: 'Sair do grupo', - handler: () => { - console.log('Delete clicked'); - } - }, { - text: 'Alterar nome do grupo1', - handler: () => { - console.log('Alterar nome do grupo'); - this.openChangeGroupName() - } - }, { - text: 'Apagar o grupo', - handler: () => { - console.log('Play clicked'); - } - }, - ] - }); - await actionSheet.present(); - } - */ - loadPicture() { const input = this.fileLoaderService.createInput({ accept: ['image/apng', 'image/jpeg', 'image/png'] diff --git a/src/app/shared/popover/chat-options-popover/chat-options-popover.page.html b/src/app/shared/popover/chat-options-popover/chat-options-popover.page.html index 09684cf5c..733469865 100644 --- a/src/app/shared/popover/chat-options-popover/chat-options-popover.page.html +++ b/src/app/shared/popover/chat-options-popover/chat-options-popover.page.html @@ -5,7 +5,7 @@
- + diff --git a/src/app/shared/popover/chat-options-popover/chat-options-popover.page.ts b/src/app/shared/popover/chat-options-popover/chat-options-popover.page.ts index dba07a211..ef47957ae 100644 --- a/src/app/shared/popover/chat-options-popover/chat-options-popover.page.ts +++ b/src/app/shared/popover/chat-options-popover/chat-options-popover.page.ts @@ -45,12 +45,21 @@ export class ChatOptionsPopoverPage implements OnInit { this.alertService.presentAlert('Funcionalidade em desenvolvimento'); } - anexarFoto(){ + takePicture(){ if( window.innerWidth < 701){ - this.popoverController.dismiss('picture'); + this.popoverController.dismiss('takePicture'); } else{ - this.modalController.dismiss('picture'); + this.modalController.dismiss('takePicture'); + } + } + + anexarFoto(){ + if( window.innerWidth < 701){ + this.popoverController.dismiss('loadPicture'); + } + else{ + this.modalController.dismiss('loadPicture'); } }