further improvements

This commit is contained in:
tiago.kayaya
2021-09-23 12:13:20 +01:00
parent ccd211140a
commit 07cbb237e4
20 changed files with 249 additions and 111 deletions
@@ -12,17 +12,18 @@ import { SharedModule } from 'src/app/shared/shared.module';
import { ChatPopoverPageModule } from '../../popover/chat-popover/chat-popover.module';
import { NewEventPageModule } from '../../agenda/new-event/new-event.module';
import { PdfViewerModule } from 'ng2-pdf-viewer';
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
FontAwesomeModule,
PdfViewerModule,
ChatPopoverPageModule,
GroupMessagesPageRoutingModule,
//
PdfViewerModule,
],
exports: [GroupMessagesPage],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
@@ -50,23 +50,25 @@
<div *ngFor="let file of msg.attachments">
<img *ngIf="file.image_url" src="{{file.image_url}}" alt="image">
<div>
<div class="file d-flex">
<ion-thumbnail *ngIf="file.thumb_url" slot="start">
<img src="{{file.thumb_url}}" alt="image">
</ion-thumbnail>
<!-- <canvas id="pdf_canvas"></canvas> -->
<ion-label class="file-details">
<h3 (click)="viewDocument(file.title_link)" class="file-title cursor-pointer">{{file.title}}</h3>
<p *ngIf="file.text">{{file.text}}</p>
</ion-label>
<!-- <pdf-viewer
[src]="file.title_link"
[render-text]="true"
style="display: block;"
original-size="true"
show-all="true">
</pdf-viewer> -->
<div>
<div class="file">
<!-- <canvas id="pdf_canvas"></canvas> -->
<ion-label class="file-details" *ngIf="msg.file">
<span (click)="viewDocument(file.title_link)" class="file-title cursor-pointer">
<fa-icon *ngIf="msg.file.type == 'application/pdf'" icon="file-pdf" class="pdf-icon"></fa-icon>
<fa-icon *ngIf="msg.file.type == 'application/word'" icon="file-word" class="word-icon"></fa-icon>
<ion-icon *ngIf="msg.file.type == 'application/webtrix'" src="assets/icon/webtrix.svg"></ion-icon>
{{file.title}}
</span>
</ion-label>
</div>
<div class="file-details-optional">
<ion-label *ngIf="msg.file">
<span *ngIf="file.description">{{file.description}}</span>
<span *ngIf="file.description && msg.file.type != 'application/webtrix'"></span>
<span *ngIf="msg.file.type != 'application/webtrix'">{{msg.file.type.replace('application/','').toUpperCase()}}</span>
</ion-label>
</div>
</div>
</div>
</div>
@@ -1,4 +1,7 @@
@import '~src/function.scss';
div{
overflow: auto;
}
.header-toolbar{
--background:transparent;
--opacity: 1;
@@ -632,57 +632,67 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewInit, OnDe
}
this.openNewEventPage.emit(data);
}
else if(res['data'] == 'take-picture'){
this.fileService.addCameraPictureToChat(this.roomId);
//this.loadPicture();
}
else if(res['data'] == 'add-picture'){
this.loadPicture();
this.fileService.addPictureToChat(this.roomId);
//this.loadPicture();
}
else if(res['data'] == 'add-document'){
this.loadDocument();
}
else if(res['data'] == 'documentoGestaoDocumental'){
this.addDocGestaoDocumental();
this.fileService.addDocGestaoDocumentalToChat(this.roomId);
//this.addDocGestaoDocumental();
}
});
}
async serverLongPull(){
this.chatService.getPrivateGroupMessages(this.roomId).subscribe(async res => {
if (res == 502) {
// Connection timeout
// happens when the connection was pending for too long
// let's reconnect
await this.serverLongPull();
} else if (res != 200) {
// Show Error
//showMessage(response.statusText);
//this.loadMessages()
let msgOnly = res['messages'].filter(data => data.t != 'au');
this.messages = msgOnly.reverse();
console.log(this.messages);
// Reconnect in one second
if(this.route.url != "/home/chat"){
//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')
}
else{
}
}
} else {
// Got message
//let message = await response.text();
//this.loadMessages()
await this.serverLongPull();
if(this.route.url != "/home/chat" && document.querySelector('app-group-messages')){
console.log("Timer message stop")
}
else
{
this.chatService.getPrivateGroupMessages(this.roomId).subscribe(async res =>
{
if(res['success'] == true) {
// Show Error
//showMessage(response.statusText);
//this.loadMessages()
let msgOnly = res['messages'].filter(data => data.t != 'au');
this.messages = msgOnly.reverse();
console.log(this.messages);
// Reconnect in one second
if(document.querySelector('app-group-messages')){
await new Promise(resolve => setTimeout(resolve,5000));
this.getGroups.emit();
console.log('Timer message running')
await this.serverLongPull();
}
}
else {
alert('HEY2')
// Got message
//let message = await response.text();
//this.loadMessages()
await this.serverLongPull();
}
}, (error)=>{
console.log(error);
this.serverLongPull();
});
}
});
}
}