summaryrefslogtreecommitdiff
path: root/web/share/js/kvm/wol.js
diff options
context:
space:
mode:
authorDevaev Maxim <[email protected]>2019-11-30 02:25:02 +0300
committerDevaev Maxim <[email protected]>2019-11-30 02:25:02 +0300
commitf23d009d0c1228bc901866fe017eb3bec252df1a (patch)
tree412b2b1db11ce7bddc49df3e62e674d17fead998 /web/share/js/kvm/wol.js
parentf6fab6415e86daa4e4372412968d70ca6bdf8620 (diff)
wol ui
Diffstat (limited to 'web/share/js/kvm/wol.js')
-rw-r--r--web/share/js/kvm/wol.js67
1 files changed, 67 insertions, 0 deletions
diff --git a/web/share/js/kvm/wol.js b/web/share/js/kvm/wol.js
new file mode 100644
index 00000000..574fc371
--- /dev/null
+++ b/web/share/js/kvm/wol.js
@@ -0,0 +1,67 @@
+/*****************************************************************************
+# #
+# KVMD - The main Pi-KVM daemon. #
+# #
+# Copyright (C) 2018 Maxim Devaev <[email protected]> #
+# #
+# This program is free software: you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <https://www.gnu.org/licenses/>. #
+# #
+*****************************************************************************/
+
+
+"use strict";
+
+
+import {tools, $} from "../tools.js";
+import {wm} from "../wm.js";
+
+
+export function WakeOnLan() {
+ var self = this;
+
+ /************************************************************************/
+
+ var __target = {};
+
+ var __init__ = function() {
+ tools.setOnClick($("wol-wakeup-button"), __clickWakeupButton);
+ };
+
+ /************************************************************************/
+
+ self.setState = function(state) {
+ if (state) {
+ $("wol").classList.toggle("feature-disabled", !state.enabled);
+ __target = state.target;
+ }
+ wm.switchEnabled($("wol-wakeup-button"), (state && state.enabled));
+ };
+
+ var __clickWakeupButton = function() {
+ let msg = `Are you sure to send Wake-on-LAN packet to the server?<br>Target: <b>${__target.mac}</b> (${__target.ip}:${__target.port})?`;
+ wm.confirm(msg).then(function(ok) {
+ if (ok) {
+ let http = tools.makeRequest("POST", "/api/wol/wakeup", function() {
+ if (http.readyState === 4) {
+ if (http.status !== 200) {
+ wm.error("Wakeup error:<br>", http.responseText);
+ }
+ }
+ });
+ }
+ });
+ };
+
+ __init__();
+}