add press gesture in messages itens to perfom message options such as delete message

This commit is contained in:
tiago.kayaya
2021-09-30 08:43:49 +01:00
parent 4e12e8d0fa
commit 9b8c60b573
10 changed files with 205 additions and 40 deletions
+19 -1
View File
@@ -1,5 +1,5 @@
import { AfterViewChecked, AfterViewInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';
import { AnimationController, ModalController, PopoverController } from '@ionic/angular';
import { AnimationController, GestureController, ModalController, PopoverController } from '@ionic/angular';
import { AlertService } from 'src/app/services/alert.service';
import { AuthService } from 'src/app/services/auth.service';
import { ChatService } from 'src/app/services/chat.service';
@@ -24,6 +24,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
showLoader: boolean;
@ViewChild('scrollMe') private myScrollContainer: ElementRef;
@ViewChild('message-item') messageContainer: ElementRef;
loggedUser: any;
@@ -52,6 +53,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
startPosition: number;
mesageItemDropdownOptions: boolean = false;
scrollToBottomBtn = false;
longPressActive = false;
constructor(
public popoverController: PopoverController,
@@ -65,6 +67,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
private route: Router,
private timeService: TimeService,
private fileService: FileService,
private gestureController: GestureController,
) {
this.loggedUser = authService.ValidatedUserChat['data'];
@@ -89,6 +92,21 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
this.setStatus('online');
}
onPressingMessage(){
const gesture = this.gestureController.create({
el: this.messageContainer.nativeElement,
gestureName: 'long-press',
onStart: ev =>{
this.longPressActive = true;
console.log('Pressing');
},
onEnd: ev => {
this.longPressActive = false;
console.log('Stop pressing');
}
});
}
setStatus(status:string){
let body = {
message: '',