From abd51697be6ca4580c15929ccb2569a1e984ef88 Mon Sep 17 00:00:00 2001 From: TrueKuehli Date: Sat, 29 Sep 2018 21:51:02 +0200 Subject: Did some code splitting and added Server Listing Split code into different modules Added method to fetch server list from remote server, and to populate this into the server list of the UI --- .../NodeJSServer/src/modules/server-client.js | 67 ++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 WebInterface/NodeJSServer/src/modules/server-client.js (limited to 'WebInterface/NodeJSServer/src/modules/server-client.js') diff --git a/WebInterface/NodeJSServer/src/modules/server-client.js b/WebInterface/NodeJSServer/src/modules/server-client.js new file mode 100644 index 0000000..8cf28f6 --- /dev/null +++ b/WebInterface/NodeJSServer/src/modules/server-client.js @@ -0,0 +1,67 @@ +import * as signalR from '@aspnet/signalr'; +import ServerListing from './ui/server-listing.js'; + +export default class ServerClient { + constructor(url, serverListingId, debug = false) { + const connectionBuilder = new signalR.HubConnectionBuilder() + .withUrl(url) + + if (debug) { + connectionBuilder.configureLogging(signalR.LogLevel.Debug); + } else { + connectionBuilder.configureLogging(signalR.LogLevel.Error); + } + + this.connection = connectionBuilder.build(); + this.connection.start() + .then(() => this.loadServers()) + .catch(() => err => console.error(err.toString())); + + this.refreshing = false; + + this.serverListing = new ServerListing(serverListingId); + } + + loadServers() { + if (this.refreshing) return; + this.connection.on('ListGroups', (groups) => { + console.log(groups) + this.serverListing.flushElements(); + this.serverListing.addElements(groups); + this.connection.off('ListGroups'); + + this.refreshing = false; + }); + + this.connection.invoke('GetGroups') + .catch(err => { + this.refreshing = false; + console.error(err.toString()) + }); + this.refreshing = true; + } + + createServer(){ + + } + + messageHandling(){ + this.connection.on('ReceiveMessage', (user, message) => { + let msg = message.replace(/&/g, "&") + .replace(//g, ">"); + let encodedMsg = user + " sagt: " + msg; + }); + } +} + + + +// connection.on('ReceiveMessage', (user, message) => { +// let msg = message.replace(/&/g, "&").replace(//g, ">"); +// let encodedMsg = user + " says " + msg; +// let li = document.createElement("div"); +// li.classList.add('server'); +// li.textContent = encodedMsg; +// document.getElementById('server-list').appendChild(li); +// }); -- cgit v1.2.3-54-g00ecf