New Room dialog added
This commit is contained in:
parent
5f6535e7c9
commit
fcf88e3cde
2 changed files with 63 additions and 19 deletions
|
|
@ -1,12 +1,17 @@
|
|||
<div class="container col-xl-12 col-lg-12 col-md-12 col-sm-12 col-12">
|
||||
<div class="row">
|
||||
<div class="col-xl-4 col-lg-4 col-md-4 col-sm-3 col-3">
|
||||
<div #userList class="user-list-card" (click)="selectRoom($event)">
|
||||
<input *ngIf="privateRoomActivate === false" class="btn btn-sm btn-primary" name="button-change-private" (click)="changeListPrivate()" type="submit" value="Private Room">
|
||||
<input *ngIf="privateRoomActivate === false" class="btn btn-sm btn-primary" name="button-change-private" (click)="changeListGeneral()" type="submit" value="Actualiser">
|
||||
<input *ngIf="privateRoomActivate === true" class="btn btn-sm btn-primary" name="button-change-private" (click)="changeListGeneral()" type="submit" value="Home Room">
|
||||
<input *ngIf="privateRoomActivate === true" class="btn btn-sm btn-primary" name="button-change-private" (click)="newRoom()" type="submit" value="New Room">
|
||||
<input *ngIf="privateRoomActivate === true" class="btn btn-sm btn-primary" name="button-change-private" (click)="changeListPrivate()" type="submit" value="Actualiser">
|
||||
<div #userList class="user-list-card" id="userList" (click)="selectRoom($event)">
|
||||
<div class="user-card"><p class="username">General</p></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xl-8 col-lg-8 col-md-8 col-sm-9 col-9">
|
||||
<app-message [room]="roomSelected"></app-message>
|
||||
<app-message [room]="roomSelected" [typeRoom]="privateRoomActivate"></app-message>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ import {Component, ElementRef, OnInit, ViewChild} from '@angular/core';
|
|||
import {environment} from "../../environments/environment";
|
||||
import {ChatService} from "../services/chat/chat.service";
|
||||
import {MessageService} from "../services/message/message.service";
|
||||
import {CreateRoomDialogComponent} from "../create-room-dialog/create-room-dialog.component";
|
||||
import {MatDialog} from "@angular/material/dialog";
|
||||
|
||||
@Component({
|
||||
selector: 'app-private',
|
||||
|
|
@ -12,29 +14,15 @@ export class PrivateComponent implements OnInit {
|
|||
|
||||
public username = sessionStorage.getItem('login');
|
||||
public roomSelected = 'general';
|
||||
public privateRoomActivate = false;
|
||||
|
||||
// @ts-ignore
|
||||
@ViewChild('userList') userList: ElementRef;
|
||||
|
||||
constructor(private chatservice: ChatService, private messageservice: MessageService) {}
|
||||
constructor(private chatservice: ChatService, private messageservice: MessageService, public dialog: MatDialog) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this.messageservice.sendMessage(environment.urlCL,'getUsers', {username: this.username}).subscribe(
|
||||
data => {
|
||||
if (data.status !== 'ok'){
|
||||
console.log(data.data.reason);
|
||||
}
|
||||
else{
|
||||
//console.log(data.data);
|
||||
//data.data = data.data.concat(data.data).concat(data.data).concat(data.data).concat(data.data).concat(data.data).concat(data.data).concat(data.data).concat(data.data);
|
||||
for(let user of data.data){
|
||||
if(user !== undefined && user.login !== undefined){
|
||||
this.userList.nativeElement.insertAdjacentHTML('beforeend', '<div class="user-card" [id]="'+user.login+'"><img src="../../assets/image/user.png" height="25" width="25"/><p class="username">'+user.login+'</p></div>');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
this.changeListGeneral();
|
||||
}
|
||||
|
||||
selectRoom(event: Event): void {
|
||||
|
|
@ -47,4 +35,55 @@ export class PrivateComponent implements OnInit {
|
|||
}
|
||||
}
|
||||
|
||||
changeListPrivate(): void{
|
||||
this.privateRoomActivate = true;
|
||||
// @ts-ignore
|
||||
document.getElementById('userList').innerHTML = '';
|
||||
this.messageservice.sendMessage(environment.urlCPR,'conversations/getRooms', {member: this.username}).subscribe(
|
||||
data => {
|
||||
if (data.status !== 'ok'){
|
||||
console.log(data.data.reason);
|
||||
}
|
||||
else{
|
||||
console.log(data.data);
|
||||
for(let user of data.data){
|
||||
if(user !== undefined && user.roomName !== undefined){
|
||||
this.userList.nativeElement.insertAdjacentHTML('beforeend', '<div class="user-card" [id]="'+user.roomName+'"><img src="../../assets/image/room.png" height="25" width="25"/><p class="username">'+user.roomName+'</p></div>');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
changeListGeneral(): void{
|
||||
this.privateRoomActivate = false;
|
||||
// @ts-ignore
|
||||
document.getElementById('userList').innerHTML = '<div class="user-card"><p class="username">General</p></div>';
|
||||
this.messageservice.sendMessage(environment.urlCL,'getUsers', {username: this.username}).subscribe(
|
||||
data => {
|
||||
if (data.status !== 'ok'){
|
||||
console.log(data.data.reason);
|
||||
}
|
||||
else{
|
||||
for(let user of data.data){
|
||||
if(user !== undefined && user.login !== undefined){
|
||||
this.userList.nativeElement.insertAdjacentHTML('beforeend', '<div class="user-card" [id]="'+user.login+'"><img src="../../assets/image/user.png" height="25" width="25"/><p class="username">'+user.login+'</p></div>');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
newRoom(): void{
|
||||
const dialogRef = this.dialog.open(CreateRoomDialogComponent, {
|
||||
width: '50%',
|
||||
data: {owner: this.username}
|
||||
});
|
||||
dialogRef.afterClosed().subscribe(data => {
|
||||
console.log(data);
|
||||
this.changeListPrivate();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Reference in a new issue