New Room dialog added

This commit is contained in:
NyxiumYuuki 2021-06-01 22:37:37 +02:00
parent 5f6535e7c9
commit fcf88e3cde
2 changed files with 63 additions and 19 deletions

View file

@ -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>

View file

@ -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();
});
}
}