improvements

This commit is contained in:
tiago.kayaya
2021-01-13 10:02:30 +01:00
parent 6596941cdd
commit 586651e95e
18 changed files with 591 additions and 205 deletions
+94 -16
View File
@@ -1,3 +1,4 @@
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Component, OnInit } from '@angular/core';
import { ModalController } from '@ionic/angular';
import { AuthService } from 'src/app/services/auth.service';
@@ -15,51 +16,122 @@ import { NewchatPage } from './newchat/newchat.page';
styleUrls: ['./chat.page.scss'],
})
export class ChatPage implements OnInit {
headers: HttpHeaders;
options:any;
X_User_Id:any;
X_Auth_Token:any;
showLoader: boolean;
loggedUser: any;
/* Set segment variable */
segment:string;
groupList: any[];
allGroups: any[];
privateGroups: any[];
publicGroups: any[];
userConnectedList: any[];
userRooms: any[];
userChannels: any[];
userDirectMessages: any[];
result:any;
dmUsers:any;
constructor(
private http:HttpClient,
private chatService: ChatService,
private modalController: ModalController,
private authService: AuthService
) { }
private authService: AuthService,
) {
this.headers = new HttpHeaders();
this.headers = this.headers.set('X-User-Id', 'GqjNWiLrGEHRna7Zn');
this.headers = this.headers.set('X-Auth-Token', 'SJwIgtlqfloPK696fpc2VBvyDluipuIHKB_0Q6-9ycJ');
}
ngOnInit() {
this.segment = "Contactos";
this.authService.userData$.subscribe((res:any)=>{
this.loggedUser=res;
console.log(this.loggedUser);
});
this.doRefresh();
/* this.authService.getUserData(); */
this.loadJoinedRooms();
}
loadJoinedRooms(){
this.chatService.loadJoinedRooms().subscribe(res => {
console.log(res);
});
}
onSegmentChange(){
this.doRefresh();
}
doRefresh(){
/* this.getGroups(); */
this.getConnectedUsers();
this.getDirectMessages();
/* this.getConnectedRooms(); */
/* this.getConnectedChannels(); */
this.getGroups();
/* this.getConnectedUsers(); */
}
/* getGroups(){
getGroups(){
this.showLoader = true;
this.result = this.chatService.getAllPrivateGroups().subscribe((res:any)=>{
this.groupList = res.groups;
this.privateGroups = res.groups;
this.result = this.chatService.getAllUserChannels().subscribe((res:any)=>{
this.publicGroups = res.channels;
this.allGroups = this.privateGroups.concat(this.publicGroups);
this.showLoader = false;
});
});
}
getDirectMessages(){
this.showLoader = true;
this.result = this.chatService.getAllDirectMessages().subscribe((res:any)=>{
this.userDirectMessages = res.ims;
console.log(this.userDirectMessages);
this.showLoader = false;
});
}
getChatMembers(){
this.chatService.getMembers(this.userDirectMessages[0]._id).subscribe(res=> {
this.dmUsers = res['members'].filter(data => data.username != this.loggedUser.me.username)
console.log(res);
console.log(this.dmUsers);
});
}
/* getConnectedChannels(){
this.showLoader = true;
this.result = this.chatService.getAllUserChannels().subscribe((res:any)=>{
this.userChannels = res.channels;
console.log(res);
this.showLoader = false;
});
} */
getConnectedUsers(){
/* getConnectedRooms(){
this.showLoader = true;
this.result = this.chatService.getAllRooms().subscribe((res:any)=>{
this.userRooms = res.update;
console.log(res.update);
this.showLoader = false;
});
} */
/* getConnectedUsers(){
this.showLoader = true;
this.result = this.chatService.getAllConnectedUsers().subscribe((res:any)=>{
/* this.userConnectedList = res.users; */
/* console.log(res); */
this.userConnectedList = res.users;
this.showLoader = false;
});
}
});
} */
async startConversation(selectedUser) {
const modal = await this.modalController.create({
@@ -91,20 +163,26 @@ export class ChatPage implements OnInit {
await modal.present();
modal.onDidDismiss();
}
async openMessages(){
async openMessages(dm:any){
const modal = await this.modalController.create({
component: MessagesPage,
cssClass: 'group-messages',
backdropDismiss: false,
componentProps: {
dm: dm,
},
});
await modal.present();
modal.onDidDismiss();
}
async openGroupMessages(){
async openGroupMessages(user:any){
const modal = await this.modalController.create({
component: GroupMessagesPage,
cssClass: 'group-messages',
backdropDismiss: false,
componentProps: {
user: user,
},
});
await modal.present();
modal.onDidDismiss();