diff options
Diffstat (limited to 'web')
-rw-r--r-- | web/kvm/index.html | 14 | ||||
-rw-r--r-- | web/kvm/navbar-atx.pug | 4 | ||||
-rw-r--r-- | web/share/js/kvm/atx.js | 38 |
3 files changed, 42 insertions, 14 deletions
diff --git a/web/kvm/index.html b/web/kvm/index.html index 622f2d29..9d5df1cf 100644 --- a/web/kvm/index.html +++ b/web/kvm/index.html @@ -235,9 +235,21 @@ </div> </li> <li class="right feature-disabled" id="atx-dropdown"><a class="menu-button" href="#"><img class="led-gray" data-dont-hide-menu id="atx-power-led" src="/share/svg/led-atx-power.svg"><img class="led-gray" data-dont-hide-menu id="atx-hdd-led" src="/share/svg/led-atx-hdd.svg">ATX</a> - <div class="menu"> + <div class="menu" data-dont-hide-menu> <div class="text"><b>Control the server's power<br></b><sub>Use the short click for ACPI shutdown</sub></div> <hr> + <table class="kv"> + <tr> + <td>Ask click confirmation:</td> + <td align="right"> + <div class="switch-box"> + <input checked type="checkbox" id="atx-ask-switch"> + <label for="atx-ask-switch"><span class="switch-inner"></span><span class="switch"></span></label> + </div> + </td> + </tr> + </table> + <hr> <div class="buttons"> <button disabled id="atx-power-button">• Click Power <sup><i>short</i></sup></button> <button disabled id="atx-power-button-long">• Click Power <sup><i>long</i></sup></button> diff --git a/web/kvm/navbar-atx.pug b/web/kvm/navbar-atx.pug index 903ea916..b5c16a72 100644 --- a/web/kvm/navbar-atx.pug +++ b/web/kvm/navbar-atx.pug @@ -3,11 +3,13 @@ li(id="atx-dropdown" class="right feature-disabled") +navbar_led("atx-power-led", "led-atx-power") +navbar_led("atx-hdd-led", "led-atx-hdd") | ATX - div(class="menu") + div(data-dont-hide-menu class="menu") div(class="text") b Control the server's power#[br] sub Use the short click for ACPI shutdown hr + +menu_switch("atx-ask-switch", "Ask click confirmation", true, true) + hr div(class="buttons") button(disabled id="atx-power-button") • Click Power #[sup #[i short]] button(disabled id="atx-power-button-long") • Click Power #[sup #[i long]] diff --git a/web/share/js/kvm/atx.js b/web/share/js/kvm/atx.js index b787eccf..380dfb51 100644 --- a/web/share/js/kvm/atx.js +++ b/web/share/js/kvm/atx.js @@ -36,6 +36,12 @@ export function Atx() { $("atx-power-led").title = "Power Led"; $("atx-hdd-led").title = "Disk Activity Led"; + $("atx-ask-switch").checked = parseInt(tools.storage.get("atx.ask", "1")); + tools.el.setOnClick($("atx-ask-switch"), function() { + tools.storage.set("atx.ask", ($("atx-ask-switch").checked ? 1 : 0)); + }, false); + + for (let args of [ ["atx-power-button", "power", "Are you sure you want to press the power button?"], ["atx-power-button-long", "power_long", ` @@ -70,19 +76,27 @@ export function Atx() { }; var __clickButton = function(button, confirm_msg) { - wm.confirm(confirm_msg).then(function(ok) { - if (ok) { - let http = tools.makeRequest("POST", `/api/atx/click?button=${button}`, function() { - if (http.readyState === 4) { - if (http.status === 409) { - wm.error("Performing another ATX operation for other client.<br>Please try again later"); - } else if (http.status !== 200) { - wm.error("Click error:<br>", http.responseText); - } + let click_button = function() { + let http = tools.makeRequest("POST", `/api/atx/click?button=${button}`, function() { + if (http.readyState === 4) { + if (http.status === 409) { + wm.error("Performing another ATX operation for other client.<br>Please try again later"); + } else if (http.status !== 200) { + wm.error("Click error:<br>", http.responseText); } - }); - } - }); + } + }); + }; + + if ($("atx-ask-switch").checked) { + wm.confirm(confirm_msg).then(function(ok) { + if (ok) { + click_button(); + } + }); + } else { + click_button(); + } }; __init__(); |