summaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to 'web')
-rw-r--r--web/kvm/index.html10
-rw-r--r--web/kvm/navbar-system.pug2
-rw-r--r--web/kvm/navbar.pug4
-rw-r--r--web/share/js/kvm/gpio.js60
-rw-r--r--web/share/js/tools.js2
5 files changed, 40 insertions, 38 deletions
diff --git a/web/kvm/index.html b/web/kvm/index.html
index c0a9a6dd..3bac7104 100644
--- a/web/kvm/index.html
+++ b/web/kvm/index.html
@@ -154,7 +154,7 @@
<button class="small" data-force-hide-menu id="open-log-button">&bull; Log</button>
</td>
<td class="feature-disabled" id="system-tool-wol">
- <button class="gpio-button-__wol__ gpio-button small" data-force-hide-menu data-channel="__wol__" data-confirm="Are you sure to send Wake-on-LAN packet to the server?">&bull; WoL</button>
+ <button class="__gpio-button-__wol__ __gpio-button small" data-force-hide-menu data-channel="__wol__" data-confirm="Are you sure to send Wake-on-LAN packet to the server?">&bull; WoL</button>
</td>
</tr>
</table>
@@ -396,8 +396,8 @@
<td>Connect main USB to Server:</td>
<td align="right">
<div class="switch-box">
- <input class="gpio-switch-__v3_usb_breaker__ gpio-switch" disabled type="checkbox" id="gpio-switch-__v3_usb_breaker__" data-channel="__v3_usb_breaker__" data-confirm-off="Turning off this switch will disconnect the main USB&lt;br&gt;from the server. Are you sure you want to continue?">
- <label for="gpio-switch-__v3_usb_breaker__"><span class="switch-inner"></span><span class="switch"></span></label>
+ <input class="__gpio-switch-__v3_usb_breaker__ gpio-switch" disabled type="checkbox" id="__gpio-switch-__v3_usb_breaker__" data-channel="__v3_usb_breaker__" data-confirm-off="Turning off this switch will disconnect the main USB&lt;br&gt;from the server. Are you sure you want to continue?">
+ <label for="__gpio-switch-__v3_usb_breaker__"><span class="switch-inner"></span><span class="switch"></span></label>
</div>
</td>
</tr>
@@ -405,8 +405,8 @@
<td>Enable locator LED:</td>
<td align="right">
<div class="switch-box">
- <input class="gpio-switch-__v4_locator__ gpio-switch" disabled type="checkbox" id="gpio-switch-__v4_locator__" data-channel="__v4_locator__" data-confirm-off="">
- <label for="gpio-switch-__v4_locator__"><span class="switch-inner"></span><span class="switch"></span></label>
+ <input class="__gpio-switch-__v4_locator__ gpio-switch" disabled type="checkbox" id="__gpio-switch-__v4_locator__" data-channel="__v4_locator__" data-confirm-off="">
+ <label for="__gpio-switch-__v4_locator__"><span class="switch-inner"></span><span class="switch"></span></label>
</div>
</td>
</tr>
diff --git a/web/kvm/navbar-system.pug b/web/kvm/navbar-system.pug
index d6cb31d5..d10dbee0 100644
--- a/web/kvm/navbar-system.pug
+++ b/web/kvm/navbar-system.pug
@@ -13,7 +13,7 @@ li(id="system-dropdown" class="right")
td(id="system-tool-about") #[button(data-force-hide-menu data-show-window="about-window" class="small") &bull; About]
td(id="system-tool-log") #[button(data-force-hide-menu id="open-log-button" class="small") &bull; Log]
td(id="system-tool-wol" class="feature-disabled")
- button(data-force-hide-menu class="gpio-button-__wol__ gpio-button small" data-channel="__wol__"
+ button(data-force-hide-menu class="__gpio-button-__wol__ __gpio-button small" data-channel="__wol__"
data-confirm="Are you sure to send Wake-on-LAN packet to the server?") &bull; WoL
hr
div(id="stream-message-no-webrtc" class="hidden")
diff --git a/web/kvm/navbar.pug b/web/kvm/navbar.pug
index 381fc067..b1c6b5eb 100644
--- a/web/kvm/navbar.pug
+++ b/web/kvm/navbar.pug
@@ -17,9 +17,9 @@ mixin menu_switch_notable_gpio(channel, title, confirm_off="")
td !{title}:
td(align="right")
div(class="switch-box")
- input(disabled type="checkbox" id=`gpio-switch-${channel}` class=`gpio-switch-${channel} gpio-switch`
+ input(disabled type="checkbox" id=`__gpio-switch-${channel}` class=`__gpio-switch-${channel} gpio-switch`
data-channel=channel data-confirm-off=confirm_off)
- label(for=`gpio-switch-${channel}`)
+ label(for=`__gpio-switch-${channel}`)
span(class="switch-inner")
span(class="switch")
diff --git a/web/share/js/kvm/gpio.js b/web/share/js/kvm/gpio.js
index 293561b3..fea1af32 100644
--- a/web/share/js/kvm/gpio.js
+++ b/web/share/js/kvm/gpio.js
@@ -38,26 +38,26 @@ export function Gpio(__recorder) {
self.setState = function(state) {
if (state) {
- for (let channel in state.inputs) {
- for (let el of $$(`gpio-led-${channel}`)) {
- __setLedState(el, state.inputs[channel].state);
+ for (let ch in state.inputs) {
+ for (let el of $$(`__gpio-led-${ch}`)) {
+ __setLedState(el, state.inputs[ch].state);
}
}
- for (let channel in state.outputs) {
+ for (let ch in state.outputs) {
for (let type of ["switch", "button"]) {
- for (let el of $$(`gpio-${type}-${channel}`)) {
- tools.el.setEnabled(el, state.outputs[channel].online && !state.outputs[channel].busy);
+ for (let el of $$(`__gpio-${type}-${ch}`)) {
+ tools.el.setEnabled(el, state.outputs[ch].online && !state.outputs[ch].busy);
}
}
- for (let el of $$(`gpio-switch-${channel}`)) {
- el.checked = state.outputs[channel].state;
+ for (let el of $$(`__gpio-switch-${ch}`)) {
+ el.checked = state.outputs[ch].state;
}
}
} else {
- for (let el of $$("gpio-led")) {
+ for (let el of $$("__gpio-led")) {
__setLedState(el, false);
}
- for (let selector of ["gpio-switch", "gpio-button"]) {
+ for (let selector of ["__gpio-switch", "__gpio-button"]) {
for (let el of $$(selector)) {
tools.el.setEnabled(el, false);
}
@@ -99,12 +99,12 @@ export function Gpio(__recorder) {
content += "</table>";
$("gpio-menu").innerHTML = content;
- for (let channel in model.scheme.outputs) {
- for (let el of $$(`gpio-switch-${channel}`)) {
- tools.el.setOnClick(el, tools.makeClosure(__switchChannel, el));
+ for (let ch in model.scheme.outputs) {
+ for (let el of $$(`__gpio-switch-${ch}`)) {
+ tools.el.setOnClick(el, tools.partial(__switchChannel, el));
}
- for (let el of $$(`gpio-button-${channel}`)) {
- tools.el.setOnClick(el, tools.makeClosure(__pulseChannel, el));
+ for (let el of $$(`__gpio-button-${ch}`)) {
+ tools.el.setOnClick(el, tools.partial(__pulseChannel, el));
}
}
@@ -121,7 +121,7 @@ export function Gpio(__recorder) {
} else if (item.type === "input") {
return `
<img
- class="gpio-led gpio-led-${item.channel} inline-lamp-big led-gray"
+ class="__gpio-led __gpio-led-${item.channel} inline-lamp-big led-gray"
src="/share/svg/led-circle.svg"
data-color="${item.color}"
/>
@@ -136,12 +136,12 @@ export function Gpio(__recorder) {
<input
disabled
type="checkbox"
- id="gpio-switch-${id}"
- class="gpio-switch gpio-switch-${item.channel}"
+ id="__gpio-switch-${id}"
+ class="__gpio-switch __gpio-switch-${item.channel}"
data-channel="${item.channel}"
data-confirm="${confirm}"
/>
- <label for="gpio-switch-${id}">
+ <label for="__gpio-switch-${id}">
<span class="switch-inner"></span>
<span class="switch"></span>
</label>
@@ -152,7 +152,7 @@ export function Gpio(__recorder) {
controls.push(`
<td><button
disabled
- class="gpio-button gpio-button-${item.channel}"
+ class="__gpio-button __gpio-button-${item.channel}"
${item.hide ? "data-force-hide-menu" : ""}
data-channel="${item.channel}"
data-confirm="${confirm}"
@@ -179,22 +179,20 @@ export function Gpio(__recorder) {
};
var __switchChannel = function(el) {
- let channel = el.getAttribute("data-channel");
+ let ch = el.getAttribute("data-channel");
let confirm = el.getAttribute("data-confirm");
let to = (el.checked ? "1" : "0");
if (to === "0" && el.hasAttribute("data-confirm-off")) {
confirm = el.getAttribute("data-confirm-off");
}
let act = () => {
- __sendPost("/api/gpio/switch", {"channel": channel, "state": to});
- __recorder.recordGpioSwitchEvent(channel, to);
+ __sendPost("/api/gpio/switch", {"channel": ch, "state": to});
+ __recorder.recordGpioSwitchEvent(ch, to);
};
if (confirm) {
wm.confirm(tools.escape(confirm)).then(function(ok) {
if (ok) {
act();
- } else {
- self.setState(__state); // Switch back
}
});
} else {
@@ -203,14 +201,18 @@ export function Gpio(__recorder) {
};
var __pulseChannel = function(el) {
- let channel = el.getAttribute("data-channel");
+ let ch = el.getAttribute("data-channel");
let confirm = el.getAttribute("data-confirm");
let act = () => {
- __sendPost("/api/gpio/pulse", {"channel": channel});
- __recorder.recordGpioPulseEvent(channel);
+ __sendPost("/api/gpio/pulse", {"channel": ch});
+ __recorder.recordGpioPulseEvent(ch);
};
if (confirm) {
- wm.confirm(tools.escape(confirm)).then(function(ok) { if (ok) act(); });
+ wm.confirm(tools.escape(confirm)).then(function(ok) {
+ if (ok) {
+ act();
+ }
+ });
} else {
act();
}
diff --git a/web/share/js/tools.js b/web/share/js/tools.js
index ee3bc187..604f9711 100644
--- a/web/share/js/tools.js
+++ b/web/share/js/tools.js
@@ -77,7 +77,7 @@ export var tools = new function() {
);
};
- self.makeClosure = function(func, ...args) {
+ self.partial = function(func, ...args) {
return () => func(...args);
};