1
0
mirror of https://github.com/falk-werner/webfuse-provider synced 2024-10-01 04:50:45 +00:00
falk-werner_webfuse-provider/example/daemon/www/js/connection_view.js
2019-02-19 21:26:06 +01:00

45 lines
1.4 KiB
JavaScript

/* exported ConnectionView */
class ConnectionView {
constructor(connection) {
this.connection = connection;
this.connection.onclose = () => { this.onConnectionClosed(); };
this.connection.onopen = () => { this.onConnectionOpened(); };
this.element = document.createElement("div");
let urlLabel = document.createElement("span");
urlLabel.textContent = "URL:";
this.element.appendChild(urlLabel);
this.urlTextbox = document.createElement("input");
this.urlTextbox.type = "text";
this.urlTextbox.value = window.location.href.replace(/^http/, "ws");
this.element.appendChild(this.urlTextbox);
this.connectButton = document.createElement("input");
this.connectButton.type = "button";
this.connectButton.value = "connect";
this.connectButton.addEventListener("click", () => { this.onConnectButtonClicked(); });
this.element.appendChild(this.connectButton);
}
onConnectButtonClicked() {
if (!this.connection.isConnected) {
let url = this.urlTextbox.value;
this.connection.connectTo(url);
}
else {
this.connection.close();
}
}
onConnectionOpened() {
this.connectButton.value = "disconnect";
}
onConnectionClosed() {
this.connectButton.value = "connect";
}
}