mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-13 01:30:31 +08:00
non-blocking click handle
This commit is contained in:
parent
6c2d8900f5
commit
fe4afd7623
@ -66,7 +66,13 @@ class Atx: # pylint: disable=too-many-instance-attributes
|
||||
get_logger().info("Clicked reset")
|
||||
|
||||
async def __click(self, pin: int, delay: float) -> None:
|
||||
with self.__region:
|
||||
self.__region.enter()
|
||||
asyncio.ensure_future(self.__inner_click(pin, delay))
|
||||
|
||||
async def __inner_click(self, pin: int, delay: float) -> None:
|
||||
try:
|
||||
for flag in (True, False):
|
||||
gpio.write(pin, flag)
|
||||
await asyncio.sleep(delay)
|
||||
finally:
|
||||
self.__region.exit()
|
||||
|
||||
@ -8,7 +8,7 @@ function Atx() {
|
||||
$("atx-hdd-led").title = "Disk Activity Led";
|
||||
|
||||
tools.setOnClick($("atx-power-button"), () => __clickButton("power", "Are you sure to click the power button?"));
|
||||
tools.setOnClick($("atx-power-button-long"), () => __clickButton("power_long", "Are you sure to perform the long press of the power button?", 15000));
|
||||
tools.setOnClick($("atx-power-button-long"), () => __clickButton("power_long", "Are you sure to perform the long press of the power button?"));
|
||||
tools.setOnClick($("atx-reset-button"), () => __clickButton("reset", "Are you sure to reboot the server?"));
|
||||
};
|
||||
|
||||
@ -28,7 +28,7 @@ function Atx() {
|
||||
$("atx-hdd-led").className = "led-gray";
|
||||
};
|
||||
|
||||
var __clickButton = function(button, confirm_msg, timeout=null) {
|
||||
var __clickButton = function(button, confirm_msg) {
|
||||
ui.confirm(confirm_msg).then(function(ok) {
|
||||
if (ok) {
|
||||
var http = tools.makeRequest("POST", "/kvmd/atx/click?button=" + button, function() {
|
||||
@ -39,7 +39,7 @@ function Atx() {
|
||||
ui.error("Click error:<br>", http.responseText);
|
||||
}
|
||||
}
|
||||
}, timeout);
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user