several improvements

This commit is contained in:
tiago.kayaya
2021-09-21 14:05:59 +01:00
parent afb7c42e9f
commit 2e209711bb
22 changed files with 603 additions and 74 deletions
@@ -18,6 +18,15 @@ import { SearchList } from 'src/app/models/search-document';
import { ProcessesService } from 'src/app/services/processes.service';
import { FileService } from 'src/app/services/functions/file.service';
/*
import * as pdfjsLib from 'pdfjs-dist';
if( pdfjsLib !== undefined ){
console.log( "set worker...");
pdfjsLib.GlobalWorkerOptions.workerSrc = "https://npmcdn.com/pdfjs-dist@2.4.456/build/pdf.worker.js";
}
*/
@Component({
selector: 'app-group-messages',
templateUrl: './group-messages.page.html',
@@ -56,6 +65,8 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
@ViewChild('scrollMe') private myScrollContainer: ElementRef;
pdfurl = "http://www.africau.edu/images/default/sample.pdf";
constructor(
private menu: MenuController,
private modalController: ModalController,
@@ -74,6 +85,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
) {
this.loggedUserChat = authService.ValidatedUserChat['data'];
this.isGroupCreated = true;
}
ngOnChanges(changes: SimpleChanges): void {
//this.getRoomInfo();
@@ -87,15 +99,54 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
console.log(this.roomId);
this.setStatus('online');
this.getChatMembers();
/* pdfjs.Lib.getDocument('sample.pdf').promise.then((doc)=>{
console.log(doc);
}) */
//this.loadPDF();
}
/* loadPDF() {
const loadingTask = pdfjsLib.getDocument( this.pdfurl );
loadingTask.promise.then((pdf) => {
console.log( "pdf: ", pdf );
console.log('PDF loaded');
// Fetch the first page
var pageNumber = 1;
pdf.getPage(pageNumber).then(function(page) {
console.log('Page loaded');
var scale = 1.5;
var viewport = page.getViewport({scale: scale});
// Prepare canvas using PDF page dimensions
var canvas: any = document.getElementById('pdf_canvas');
var context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
// Render PDF page into canvas context
var renderContext = {
canvasContext: context,
viewport: viewport
};
var renderTask = page.render(renderContext);
renderTask.promise.then(function () {
console.log('Page rendered');
});
});
});
} */
setStatus(status:string){
let body = {
message: '',
status: status,
}
this.chatService.setUserStatus(body).subscribe(res => {
console.log(res);
//console.log(res);
})
}
@@ -132,10 +183,10 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
async getChatMembers(){
//return await this.chatService.getMembers(roomId).toPromise();
this.chatService.getAllUsers().subscribe(res=> {
console.log(res);
//console.log(res);
this.allUsers = res['users'].filter(data => data.username != this.loggedUserChat.me.username);
console.log(this.allUsers);
//console.log(this.allUsers);
});
}
@@ -187,7 +238,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
//If group is private call getGroupMembers
if(room.t === 'p'){
this.chatService.getGroupMembers(this.roomId).subscribe(res=>{
console.log(res);
//console.log(res);
this.members = res['members'];
this.showLoader = false;
});
@@ -214,7 +265,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
console.log(res);
let msgOnly = res['messages'].filter(data => data.t != 'au');
this.messages = msgOnly.reverse();
console.log(res);
//console.log(res);
this.showLoader = false;
});
@@ -438,6 +489,49 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
};
}
loadDocument() {
const input = this.fileLoaderService.createInput({
accept: ['.doc', '.docx', '.pdf']
})
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": this.roomId,
"msg": "",
"attachments": [{
"title": this.capturedImageTitle,
"text": "",
"title_link": this.capturedImage,
"title_link_download": true,
"thumb_url": "https://static.ichimura.ed.jp/uploads/2017/10/pdf-icon.png",
"message_link": this.capturedImage,
}],
"file":{
"name": this.capturedImageTitle,
"type": "application/pdf",
}
}
}
this.chatService.sendMessage(body).subscribe(res=> {
//console.log(res);
},(error) => {
});
//console.log(this.capturedImage)
};
}
async addDocGestaoDocumental(){
const modal = await this.modalController.create({
component: SearchPage,
@@ -529,7 +623,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
await modal.present();
modal.onDidDismiss().then((res)=>{
console.log(res['data']);
//console.log(res['data']);
if(res['data'] == 'meeting'){
//this.closeAllDesktopComponents.emit();
let data = {
@@ -538,9 +632,12 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
}
this.openNewEventPage.emit(data);
}
else if(res['data'] == 'picture'){
else if(res['data'] == 'add-picture'){
this.loadPicture();
}
else if(res['data'] == 'add-document'){
this.loadDocument();
}
else if(res['data'] == 'documentoGestaoDocumental'){
this.addDocGestaoDocumental();
}
@@ -565,13 +662,13 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
console.log(this.messages);
// Reconnect in one second
if(this.route.url != "/home/chat"){
console.log("Timer message stop")
//console.log("Timer message stop")
} else {
if(document.querySelector('app-group-messages')){
await new Promise(resolve => setTimeout(resolve,3000));
await this.serverLongPull();
this.getGroups.emit();
console.log('Timer message running')
//console.log('Timer message running')
}
else{