summaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to 'web')
-rw-r--r--web/kvm/index.html14
-rw-r--r--web/kvm/navbar-atx.pug4
-rw-r--r--web/share/js/kvm/atx.js38
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">&bull; Click Power <sup><i>short</i></sup></button>
<button disabled id="atx-power-button-long">&bull; 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") &bull; Click Power #[sup #[i short]]
button(disabled id="atx-power-button-long") &bull; 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__();