diff --git a/src/app/pages/chat/chat.page.ts b/src/app/pages/chat/chat.page.ts
index 059636dc6..dd4ade5b2 100644
--- a/src/app/pages/chat/chat.page.ts
+++ b/src/app/pages/chat/chat.page.ts
@@ -67,10 +67,10 @@ export class ChatPage implements OnInit {
this.doRefresh();
}
doRefresh(){
- setInterval(()=>{
+ //setInterval(()=>{
this.getDirectMessages();
this.getGroups();
- }, 2000);
+ //}, 2000);
}
getGroups(){
this.showLoader = true;
@@ -88,7 +88,7 @@ export class ChatPage implements OnInit {
this.result = this.chatService.getAllDirectMessages().subscribe((res:any)=>{
this.userDirectMessages = res.ims;
- console.log(this.userDirectMessages);
+ console.log(res);
this.showLoader = false;
});
@@ -96,8 +96,8 @@ export class ChatPage implements OnInit {
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);
+ /* console.log(res);
+ console.log(this.dmUsers); */
});
}
/* getConnectedChannels(){
@@ -163,6 +163,8 @@ export class ChatPage implements OnInit {
modal.onDidDismiss();
}
async openMessages(dm:any){
+ console.log(dm);
+
const modal = await this.modalController.create({
component: MessagesPage,
cssClass: 'group-messages',
diff --git a/src/app/pages/chat/messages/contacts/contacts.page.html b/src/app/pages/chat/messages/contacts/contacts.page.html
index 739f723c0..b2f8e9705 100644
--- a/src/app/pages/chat/messages/contacts/contacts.page.html
+++ b/src/app/pages/chat/messages/contacts/contacts.page.html
@@ -13,7 +13,7 @@
-
+
@@ -32,10 +32,10 @@
{{header}}
-
+
diff --git a/src/app/pages/chat/messages/contacts/contacts.page.scss b/src/app/pages/chat/messages/contacts/contacts.page.scss
index ff8bf0bca..1eb104bdb 100644
--- a/src/app/pages/chat/messages/contacts/contacts.page.scss
+++ b/src/app/pages/chat/messages/contacts/contacts.page.scss
@@ -61,6 +61,8 @@
border: 1px solid #ebebeb;
margin: 5px 20px 5px 20px;
border-radius: 5px;
+ height: auto;
+ padding: 0 !important;
}
.search ion-searchbar{
/* border: 1px solid green; */
@@ -69,7 +71,7 @@
padding: 0 !important;
--border-radius: 5px;
--box-shadow: none;
- overflow: auto;
+ overflow: hidden;
--icon-color:#0d89d1;
}
@@ -111,12 +113,24 @@
}
.item-user .icon{
width: 10%;
+ font-size: 10px;
display: block;
text-align: right;
overflow: auto;
}
- .icon ion-icon{
- font-size: 10px;
- color:#99e47b;
- }
+ .online{
+ color:#99e47b;
+ }
+ .offline{
+ color:#cbced1;
+ }
+ .away{
+ color:#ffd21f;
+ }
+ .invisible{
+ color:#cbced1;
+ }
+ .busy{
+ color:#f5455c;
+ }
}
\ No newline at end of file
diff --git a/src/app/pages/chat/messages/contacts/contacts.page.ts b/src/app/pages/chat/messages/contacts/contacts.page.ts
index dfae3aab5..ff86e8d5b 100644
--- a/src/app/pages/chat/messages/contacts/contacts.page.ts
+++ b/src/app/pages/chat/messages/contacts/contacts.page.ts
@@ -20,6 +20,8 @@ export class ContactsPage implements OnInit {
options:any;
contacts:any;
textSearch:string;
+ room:any;
+ dm:any;
constructor(
private modalController: ModalController,
@@ -32,6 +34,8 @@ export class ContactsPage implements OnInit {
this.loggedUser=res;
});
this.textSearch="";
+ this.dm=null;
+ this.room=null;
}
ngOnInit() {
@@ -46,10 +50,8 @@ export class ContactsPage implements OnInit {
this.options = {
headers: this.headers,
};
-
this.chatService.getAllUsers().subscribe((res:any)=>{
console.log(res.users);
-
this.contacts = res.users.filter(data => data.username != this.loggedUser.me.username);
this.users = this.contacts.sort((a,b) => {
if(a.name < b.name){
@@ -60,11 +62,8 @@ export class ContactsPage implements OnInit {
}
return 0;
});
-
this.showLoader = false;
});
-
-
}
separateLetter(record, recordIndex, records){
@@ -90,17 +89,65 @@ export class ContactsPage implements OnInit {
clicked(){
console.log('clicked');
-
}
- async openMessages(){
+
+ createRoom(username:string){
+ let body = {
+ username: username,
+ }
+ this.chatService.createRoom(body).subscribe(res => {
+ console.log(res);
+ this.room = res['room'];
+ this.getDirectMessage(this.room._id);
+ });
+ }
+ getDirectMessage(roomId:any){
+ console.log(roomId);
+
+ this.chatService.getAllDirectMessages().subscribe(res=>{
+ let result = res['ims'].filter(data => data._id == roomId);
+ this.dm = result[0];
+ console.log(this.dm);
+ this.openModal(this.dm);
+ });
+ }
+ async openModal(dm:any){
this.close();
+ console.log(dm);
+
const modal = await this.modalController.create({
component: MessagesPage,
cssClass: 'group-messages',
backdropDismiss: false,
+ componentProps: {
+ dm: dm,
+ },
});
await modal.present();
modal.onDidDismiss();
}
+ async openMessages(username:string){
+ /* this.close(); */
+
+ let dm:any;
+ //Create new room
+ this.createRoom(username);
+ //Get direct messages (dm)
+ /* this.getDirectMessage(this.room._id); */
+ console.log(this.dm);
+
+
+ /* const modal = await this.modalController.create({
+ component: MessagesPage,
+ cssClass: 'group-messages',
+ backdropDismiss: false,
+ componentProps: {
+ dm: dm,
+ },
+ });
+ await modal.present();
+ modal.onDidDismiss(); */
+ }
+
}
diff --git a/src/app/pages/chat/messages/messages.page.ts b/src/app/pages/chat/messages/messages.page.ts
index 203ca265e..d11c68f3f 100644
--- a/src/app/pages/chat/messages/messages.page.ts
+++ b/src/app/pages/chat/messages/messages.page.ts
@@ -44,12 +44,12 @@ export class MessagesPage implements OnInit, AfterViewChecked {
console.log(this.loggedUser);
});
- console.log(this.dm);
+ /* console.log(this.dm); */
- setInterval(()=>{
+ //setInterval(()=>{
this.checkUserPresence();
this.loadMessages();
- }, 2000);
+ //}, 2000);
this.getChatMembers();
@@ -93,7 +93,7 @@ export class MessagesPage implements OnInit, AfterViewChecked {
loadMessages(){
this.chatService.getRoomMessages(this.dm._id).subscribe(res => {
- console.log(res);
+ /* console.log(res); */
this.messages = res['messages'].reverse();
})
}
diff --git a/src/app/pipes/filter.pipe.ts b/src/app/pipes/filter.pipe.ts
index a6a6398c9..68440de14 100644
--- a/src/app/pipes/filter.pipe.ts
+++ b/src/app/pipes/filter.pipe.ts
@@ -5,15 +5,15 @@ import { Pipe, PipeTransform } from '@angular/core';
})
export class FilterPipe implements PipeTransform {
- transform(contatcs: any[], text:string, column:string): any {
-
+ transform(array: any[], text:string, column:string): any {
+
if(text === ''){
- return contatcs;
+ return array;
}
text = text.toLowerCase();
- return contatcs.filter(item =>{
+ return array.filter(item =>{
return item[column].toLowerCase().includes(text);
});
}
diff --git a/src/app/services/chat.service.ts b/src/app/services/chat.service.ts
index 109084a6e..f400ca1ca 100644
--- a/src/app/services/chat.service.ts
+++ b/src/app/services/chat.service.ts
@@ -132,7 +132,20 @@ export class ChatService {
let opts = {
headers: this.headers,
}
- return this.http.post(environment.apiChatUrl+'im.close', body, opts);
+ return this.http.post(environment.apiChatUrl+'im.close', body, this.options);
+ }
+ createRoom(body:any){
+ return this.http.post(environment.apiChatUrl+'im.create', body, this.options);
+ }
+ getDirectMessage(roomId:string){
+ let params = new HttpParams();
+ params = params.set("roomId", roomId);
+
+ let opts = {
+ headers: this.headers,
+ params: params
+ }
+ return this.http.get(environment.apiChatUrl+'im.messages', opts);
}
}