diff options
author | Devaev Maxim <[email protected]> | 2018-07-16 05:16:53 +0300 |
---|---|---|
committer | Devaev Maxim <[email protected]> | 2018-07-16 05:16:53 +0300 |
commit | 211401b52c1d334b50dede28bab0a3a6e056992e (patch) | |
tree | cb2389d5b9a061ae1b2eb4919e0195374e043513 /kvmd/web | |
parent | 52bf4f38e42852818354ca7f182b589a2f09631d (diff) |
minor js fixes
Diffstat (limited to 'kvmd/web')
-rw-r--r-- | kvmd/web/js/atx.js | 22 | ||||
-rw-r--r-- | kvmd/web/js/mouse.js | 6 | ||||
-rw-r--r-- | kvmd/web/js/session.js | 11 | ||||
-rw-r--r-- | kvmd/web/js/tools.js | 3 |
4 files changed, 27 insertions, 15 deletions
diff --git a/kvmd/web/js/atx.js b/kvmd/web/js/atx.js index 6e753bdf..d0c8f3af 100644 --- a/kvmd/web/js/atx.js +++ b/kvmd/web/js/atx.js @@ -5,11 +5,20 @@ var atx = new function() { }; this.clearLeds = function() { - atx.setLedsState(false, false); + [ + "atx-power-led", + "atx-hdd-led", + ].forEach(function(name) { + $(name).className = "led-off"; + }); }; - this.clickButton = function(el_button) { - switch (el_button.id) { + this.clickButton = function(el) { + var button = null; + var confirm_msg = null; + var timeout = null; + + switch (el.id) { case "atx-power-button": var button = "power"; var confirm_msg = "Are you sure to click the power button?"; @@ -17,15 +26,12 @@ var atx = new function() { case "atx-power-button-long": var button = "power_long"; var confirm_msg = "Are you sure to perform the long press of the power button?"; + var timeout = 15000; break; case "atx-reset-button": var button = "reset"; var confirm_msg = "Are you sure to reboot the server?"; break; - default: - var button = null; - var confirm_msg = null; - break; } if (button && confirm(confirm_msg)) { @@ -39,7 +45,7 @@ var atx = new function() { } __setButtonsBusy(false); } - }); + }, timeout); } }; diff --git a/kvmd/web/js/mouse.js b/kvmd/web/js/mouse.js index f906e146..468c9449 100644 --- a/kvmd/web/js/mouse.js +++ b/kvmd/web/js/mouse.js @@ -35,9 +35,9 @@ var mouse = new function() { var __buttonHandler = function(ws, event, state) { // https://www.w3schools.com/jsref/event_button.asp switch (event.button) { - case 0: var button = "Left"; break; - case 2: var button = "Right"; break; - default: var button = null; break + case 0: var button = "left"; break; + case 2: var button = "right"; break; + default: var button = null; break; } if (button) { tools.debug("Mouse button", (state ? "pressed:" : "released:"), button); diff --git a/kvmd/web/js/session.js b/kvmd/web/js/session.js index c46d228e..b4642b62 100644 --- a/kvmd/web/js/session.js +++ b/kvmd/web/js/session.js @@ -32,8 +32,11 @@ var session = new function() { var __wsErrorHandler = function(event) { tools.error("WebSocket error:", event); - __ws.close(); - __ws = null; + if (__ws) { + __ws.onclose = null; + __ws.close(); + __wsCloseHandler(null); + } }; var __wsCloseHandler = function(event) { @@ -44,6 +47,7 @@ var session = new function() { } hid.clearCapture(); atx.clearLeds(); + __ws = null; setTimeout(session.startPoller, 1000); }; @@ -57,8 +61,9 @@ var session = new function() { } catch (err) { tools.error("Ping error:", err.message); if (__ws) { + __ws.onclose = null; __ws.close(); - __ws = null; + __wsCloseHandler(null); } } }; diff --git a/kvmd/web/js/tools.js b/kvmd/web/js/tools.js index c8d492e2..d9fe8357 100644 --- a/kvmd/web/js/tools.js +++ b/kvmd/web/js/tools.js @@ -1,8 +1,9 @@ var tools = new function() { - this.makeRequest = function(method, url, callback) { + this.makeRequest = function(method, url, callback, timeout=null) { var http = new XMLHttpRequest(); http.open(method, url, true) http.onreadystatechange = callback; + http.timeout = timeout ? timeout : 5000; http.send(); return http; }; |