diff --git a/web/src/app/pages/settings/settings.component.html b/web/src/app/pages/settings/settings.component.html index 037d0dae..d1c2fb02 100644 --- a/web/src/app/pages/settings/settings.component.html +++ b/web/src/app/pages/settings/settings.component.html @@ -1,5 +1,5 @@
\ No newline at end of file diff --git a/web/src/app/pages/settings/settings.component.ts b/web/src/app/pages/settings/settings.component.ts index 6dd22648..7d280030 100644 --- a/web/src/app/pages/settings/settings.component.ts +++ b/web/src/app/pages/settings/settings.component.ts @@ -7,10 +7,42 @@ import { WebsocketHandlerService } from './../../services/websocket-handler/webs styleUrls: ['./settings.component.scss'] }) export class SettingsComponent implements OnInit { + private settings:any = null; + private ws: WebsocketHandlerService; - constructor() { } + constructor(private websocketHandler: WebsocketHandlerService) { + this.ws = websocketHandler; + this.ws.messages.subscribe(msg => { + if(msg.Event == "GetConfig") { + this.settings = msg.data; + } else if (msg.Event == "SaveConfig") { + //something! + } + }); + } ngOnInit() { + this.getSettings(); + } + + private getSettingsMessage = { + Event:'GetConfig', + data:null + }; + + private getSettings():void { + console.log('new message from client to websocket: ', this.getSettingsMessage); + this.ws.messages.next(this.getSettingsMessage); + this.resendMessageIfPageRefreshed(); + } + + private resendMessageIfPageRefreshed():void { + setInterval(()=> { + if(this.settings === null) { + console.log('Settings hasnt been set. Trying again'); + this.getSettings(); + } + }, 1000); } } diff --git a/web/src/app/services/websocket-handler/websocket-handler.service.ts b/web/src/app/services/websocket-handler/websocket-handler.service.ts index 0e91b901..7a142ee0 100644 --- a/web/src/app/services/websocket-handler/websocket-handler.service.ts +++ b/web/src/app/services/websocket-handler/websocket-handler.service.ts @@ -10,30 +10,20 @@ export interface Message { data:object, } - @Injectable() export class WebsocketHandlerService { public messages: Subject{{settings?.Name}}
\ No newline at end of file diff --git a/web/src/app/shared/chatbutton/chatbutton.component.ts b/web/src/app/shared/chatbutton/chatbutton.component.ts index 11298fef..7009dc47 100644 --- a/web/src/app/shared/chatbutton/chatbutton.component.ts +++ b/web/src/app/shared/chatbutton/chatbutton.component.ts @@ -10,25 +10,22 @@ export class ChatbuttonComponent implements OnInit { constructor(private chatService: WebsocketHandlerService) { chatService.messages.subscribe(msg => { + if(msg.Event == "GetConfig") { + this.settings = msg.data; + } }); } ngOnInit() { } + private settings:any; + private getSettingsMessage = { Event:'GetConfig', data:null, - } - private authenticateMessage = { - Event:'auth', - data:{"username":"Username","password":"16f78a7d6317f102bbd95fc9a4f3ff2e3249287690b8bdad6b7810f82b34ace3"}, - } - - authenticate():void { - console.log('new message from client to websocket: ', this.authenticateMessage); - this.chatService.messages.next(this.authenticateMessage); - } + }; + getSettings():void { console.log('new message from client to websocket: ', this.getSettingsMessage);