diff options
author | TrueDoctor <d-kobert@web.de> | 2018-09-30 00:00:06 +0200 |
---|---|---|
committer | TrueDoctor <d-kobert@web.de> | 2018-09-30 00:00:06 +0200 |
commit | 7db0e121521733273a8ca3977e91e6f88756f38a (patch) | |
tree | af132ad3652163f323118601b9d196b207360f0a /WebInterface/NodeJSServer/src/modules/server-client.js | |
parent | 632781d1adf54287ecfe7cbcbc17074e14a769b2 (diff) | |
parent | f97f25ea54a0f888d2195d6868346854a2a005e0 (diff) |
Merge branch 'WebApi' of https://github.com/TrueDoctor/DiscoBot into WebApi
Diffstat (limited to 'WebInterface/NodeJSServer/src/modules/server-client.js')
-rw-r--r-- | WebInterface/NodeJSServer/src/modules/server-client.js | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/WebInterface/NodeJSServer/src/modules/server-client.js b/WebInterface/NodeJSServer/src/modules/server-client.js new file mode 100644 index 0000000..e550bb7 --- /dev/null +++ b/WebInterface/NodeJSServer/src/modules/server-client.js @@ -0,0 +1,68 @@ +import * as signalR from '@aspnet/signalr'; +import ServerListing from './ui/server-listing.js'; +import ServerCreator from './ui/server-creator.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, "<") + .replace(/>/g, ">"); + let encodedMsg = user + " sagt: " + msg; + }); + } +} + + + +// connection.on('ReceiveMessage', (user, message) => { +// let msg = message.replace(/&/g, "&").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); +// }); |