mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-20 13:26:08 +00:00
notification and chat slow
This commit is contained in:
@@ -189,40 +189,38 @@ export class GroupContactsPage implements OnInit {
|
||||
|
||||
|
||||
async deleteMember(user: UserContacts) {
|
||||
this.showLoader = true;
|
||||
|
||||
// this.chatServiceService.removeMember({
|
||||
// roomId: this.roomId,
|
||||
// members: [ user.wxUserId]
|
||||
// })
|
||||
// if(this.currentMembers.length >= 3) {
|
||||
this.showLoader = true;
|
||||
|
||||
// this.currentMembers = this.currentMembers.filter( e => e.wxUserId != user.wxUserId)
|
||||
const result = await this.chatServiceService.removeMemberToRoom({
|
||||
id: this.roomId,
|
||||
members: [ user.wxUserId]
|
||||
})
|
||||
|
||||
const result = await this.chatServiceService.removeMemberToRoom({
|
||||
id: this.roomId,
|
||||
members: [ user.wxUserId]
|
||||
})
|
||||
if(result.isOk()) {
|
||||
this.currentMembers = this.currentMembers.filter( e => e.wxUserId != user.wxUserId)
|
||||
|
||||
if(result.isOk()) {
|
||||
this.currentMembers = this.currentMembers.filter( e => e.wxUserId != user.wxUserId)
|
||||
const firstLetter = user.wxFullName.charAt(0)
|
||||
|
||||
const firstLetter = user.wxFullName.charAt(0)
|
||||
if(!this.userContainer[firstLetter]) {
|
||||
user['isChecked'] = false
|
||||
this.userContainer[firstLetter] = [user as any]
|
||||
} else {
|
||||
user['isChecked'] = false
|
||||
this.userContainer[firstLetter].push(user as any)
|
||||
}
|
||||
|
||||
if(!this.userContainer[firstLetter]) {
|
||||
user['isChecked'] = false
|
||||
this.userContainer[firstLetter] = [user as any]
|
||||
} else {
|
||||
user['isChecked'] = false
|
||||
this.userContainer[firstLetter].push(user as any)
|
||||
} else if(result.error instanceof HttpRequest) {
|
||||
this.httpErrorHandle.httpStatusHandle(result.error)
|
||||
} else if(result.error instanceof ZodError) {
|
||||
console.log(result.error.issues)
|
||||
}
|
||||
|
||||
} else if(result.error instanceof HttpRequest) {
|
||||
this.httpErrorHandle.httpStatusHandle(result.error)
|
||||
} else if(result.error instanceof ZodError) {
|
||||
console.log(result.error.issues)
|
||||
}
|
||||
|
||||
this.showLoader = false;
|
||||
this.showLoader = false;
|
||||
//} else {
|
||||
// alert('---')
|
||||
//}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -59,6 +59,11 @@
|
||||
</div>
|
||||
|
||||
<div class="message-container rotate-div" *ngIf="message.showMessage">
|
||||
<div *ngIf="message.sender.wxUserId != SessionStore.user.UserId && roomType == RoomTypeEnum.Group">
|
||||
<b>
|
||||
{{ message.sender.wxFullName }}
|
||||
</b>
|
||||
</div>
|
||||
<div class="d-flex justify-content-between">
|
||||
<div>
|
||||
<div style="white-space: pre-line;">
|
||||
@@ -125,8 +130,8 @@
|
||||
<div class="message-item-options d-flex justify-content-end">
|
||||
<fa-icon [matMenuTriggerFor]="beforeMenu" icon="chevron-down" class="message-options-icon cursor-pointer"></fa-icon>
|
||||
<mat-menu class="d-block" #beforeMenu="matMenu" xPosition="before">
|
||||
<button (click)="messageDelete(message)" class="menuButton d-block py-2 px-10">Apagar mensagem</button>
|
||||
<button *ngIf="!message.hasAttachment" (click)="editMessage(message)" class="menuButton d-block py-2 px-10">Editar mensagem</button>
|
||||
<button *ngIf="message.sender.wxUserId == SessionStore.user.UserId" (click)="messageDelete(message)" class="menuButton d-block py-2 px-10">Apagar mensagem</button>
|
||||
<button *ngIf="!message.hasAttachment && message.sender.wxUserId == SessionStore.user.UserId" (click)="editMessage(message)" class="menuButton d-block py-2 px-10">Editar mensagem</button>
|
||||
<button (click)="toggleEmojiPicker(message)" class="menuButton d-block py-2 px-10">Reagir mensagem</button>
|
||||
</mat-menu>
|
||||
</div>
|
||||
|
||||
@@ -300,7 +300,7 @@ export class MessagesPage implements OnInit, OnChanges, AfterViewInit, OnDestroy
|
||||
return 'allViewed'
|
||||
} else if(this.allReceived(message)) {
|
||||
return 'allReceived'
|
||||
} else if (message.messageStatus == 'send') {
|
||||
} else if (message.messageHasId) {
|
||||
return 'enviado'
|
||||
} else {
|
||||
return 'enviar'
|
||||
|
||||
@@ -5,12 +5,17 @@ import { ThemeService } from 'src/app/services/theme.service'
|
||||
import { SetRoomOwnerPage } from 'src/app/ui/chat/modal/set-room-owner/set-room-owner.page';
|
||||
import { SessionStore } from 'src/app/store/session.service';
|
||||
import { ZodError } from 'zod';
|
||||
|
||||
import { MemberListLocalRepository } from 'src/app/module/chat/data/repository/member/member-list-local-repository.service'
|
||||
import { ChatServiceService } from 'src/app/module/chat/domain/chat-service.service'
|
||||
import { RoomInfoPage } from '../room-info/room-info.page';
|
||||
import { RoomType } from 'src/app/core/chat/entity/group';
|
||||
import { isHttpResponse } from 'src/app/infra/http/http.service';
|
||||
|
||||
|
||||
interface ISetRoomOwner {
|
||||
addAdminBeforeLeave: null | boolean
|
||||
}
|
||||
|
||||
@Component({
|
||||
selector: 'app-chat-popover',
|
||||
templateUrl: './chat-popover.page.html',
|
||||
@@ -31,7 +36,8 @@ export class ChatPopoverPage implements OnInit {
|
||||
private navParams: NavParams,
|
||||
private toastService: ToastService,
|
||||
public ThemeService: ThemeService,
|
||||
private ChatServiceService: ChatServiceService
|
||||
private ChatServiceService: ChatServiceService,
|
||||
private MemberListLocalRepository: MemberListLocalRepository
|
||||
) {
|
||||
this.roomId = this.navParams.get('roomId');
|
||||
this.isAdmin = this.navParams.get('isAdmin');
|
||||
@@ -55,7 +61,7 @@ export class ChatPopoverPage implements OnInit {
|
||||
//Top menu options
|
||||
//Close
|
||||
|
||||
async setRoomOwner() {
|
||||
async setRoomOwner({addAdminBeforeLeave = null}: ISetRoomOwner) {
|
||||
let classs;
|
||||
if (window.innerWidth < 701) {
|
||||
classs = 'modal modal-desktop'
|
||||
@@ -68,26 +74,36 @@ export class ChatPopoverPage implements OnInit {
|
||||
backdropDismiss: true,
|
||||
componentProps: {
|
||||
roomId: this.roomId,
|
||||
isAdmin: this.isAdmin
|
||||
isAdmin: this.isAdmin,
|
||||
addAdminBeforeLeave
|
||||
}
|
||||
});
|
||||
await modal.present();
|
||||
modal.onDidDismiss().then((res)=>{
|
||||
modal.onDidDismiss().then((res) => {
|
||||
if(res.data == 'success'){
|
||||
this.leaveGroup();
|
||||
//this.ChatSystemService.hidingRoom(this.roomId);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
setAdmin() {
|
||||
this.setRoomOwner();
|
||||
setAdmin(data:ISetRoomOwner) {
|
||||
this.setRoomOwner(data);
|
||||
}
|
||||
|
||||
async leaveGroup() {
|
||||
|
||||
//this.setRoomOwner();
|
||||
if(this.isAdmin) {
|
||||
const currentMemberToMap = await this.MemberListLocalRepository.getRoomMemberById(this.roomId)
|
||||
const adminCount = currentMemberToMap.filter(e => e.isAdmin);
|
||||
this.toastService._badRequest("É necessário adicionar um administrador");
|
||||
if(adminCount.length <= 1) {
|
||||
this.setAdmin({addAdminBeforeLeave: true});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this.showLoader = true
|
||||
const result = await this.ChatServiceService.leaveRoom({
|
||||
id: this.roomId,
|
||||
|
||||
@@ -68,6 +68,11 @@
|
||||
</div>
|
||||
|
||||
<div class="message-container rotate-div" *ngIf="message.showMessage">
|
||||
<div *ngIf="message.sender.wxUserId != SessionStore.user.UserId && RoomStore.room.roomType == RoomTypeEnum.Group">
|
||||
<b>
|
||||
{{ message.sender.wxFullName }}
|
||||
</b>
|
||||
</div>
|
||||
<div class="d-flex justify-content-between">
|
||||
<div>
|
||||
<div style="white-space: pre-line;">
|
||||
@@ -142,8 +147,8 @@
|
||||
<div class="message-item-options d-flex justify-content-end">
|
||||
<fa-icon [matMenuTriggerFor]="beforeMenu" icon="chevron-down" class="message-options-icon cursor-pointer"></fa-icon>
|
||||
<mat-menu class="custom-menu d-block" #beforeMenu="matMenu" xPosition="before">
|
||||
<button (click)="messageDelete(message)" class="menuButton d-block py-2 px-10">Apagar mensagem</button>
|
||||
<button *ngIf="!message.hasAttachment" (click)="editMessage(message)" class="menuButton d-block py-2 px-10">Editar mensagem</button>
|
||||
<button *ngIf="message.sender.wxUserId == SessionStore.user.UserId" (click)="messageDelete(message)" class="menuButton d-block py-2 px-10">Apagar mensagem</button>
|
||||
<button *ngIf="!message.hasAttachment && message.sender.wxUserId == SessionStore.user.UserId" (click)="editMessage(message)" class="menuButton d-block py-2 px-10">Editar mensagem</button>
|
||||
<button (click)="toggleEmojiPicker(message)" class="menuButton d-block py-2 px-10">Reagir mensagem</button>
|
||||
</mat-menu>
|
||||
</div>
|
||||
|
||||
@@ -149,7 +149,7 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy {
|
||||
return 'allViewed'
|
||||
} else if(this.allReceived(message)) {
|
||||
return 'allReceived'
|
||||
} else if (message.messageStatus == 'send') {
|
||||
} else if (message.messageHasId) {
|
||||
return 'enviado'
|
||||
} else {
|
||||
return 'enviar'
|
||||
|
||||
@@ -19,6 +19,7 @@ export class SetRoomOwnerPage implements OnInit {
|
||||
textSearch:string = "";
|
||||
roomId:any;
|
||||
members:any;
|
||||
addAdminBeforeLeave: boolean | null;
|
||||
roomMembers$!: DexieObservable<MemberTable[] | undefined>
|
||||
|
||||
constructor(
|
||||
@@ -31,6 +32,7 @@ export class SetRoomOwnerPage implements OnInit {
|
||||
) {
|
||||
this.roomId = this.navParams.get('roomId');
|
||||
this.members = this.navParams.get('members');
|
||||
this.addAdminBeforeLeave = this.navParams.get('addAdminBeforeLeave');
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
@@ -68,8 +70,10 @@ export class SetRoomOwnerPage implements OnInit {
|
||||
});
|
||||
|
||||
if(result.isOk()) {
|
||||
this.chatServiceService.getRoomById(this.roomId);
|
||||
// this.modalController.dismiss('success');
|
||||
await this.chatServiceService.getRoomById(this.roomId);
|
||||
if(this.addAdminBeforeLeave) {
|
||||
this.modalController.dismiss('success');
|
||||
}
|
||||
} else {
|
||||
this.toastService._badRequest('Não foi possível completar a ação, por favor tente novamente.');
|
||||
}
|
||||
|
||||
@@ -99,9 +99,11 @@ export class MessageViewModal {
|
||||
}
|
||||
|
||||
|
||||
get messageStatus() {
|
||||
get messageHasId() {
|
||||
if(this.id) {
|
||||
return 'send'
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user