From d2bc31d1cd067e8463d1ea51abcbd7b6883a868f Mon Sep 17 00:00:00 2001 From: Maxim Devaev Date: Sun, 12 May 2024 03:43:57 +0300 Subject: [PATCH] pikvm/pikvm#1312: Option to close GPIO menu after click --- kvmd/apps/kvmd/ugpio.py | 6 +++++- web/share/js/kvm/gpio.js | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/kvmd/apps/kvmd/ugpio.py b/kvmd/apps/kvmd/ugpio.py index 74ed204f..872d5f6c 100644 --- a/kvmd/apps/kvmd/ugpio.py +++ b/kvmd/apps/kvmd/ugpio.py @@ -383,15 +383,19 @@ class UserGpio: def __make_item_output(self, parts: list[str]) -> dict: assert len(parts) >= 1 confirm = False + hide = False text = "Click" if len(parts) == 2: text = parts[1] elif len(parts) == 3: - confirm = (parts[1] == "confirm") + opts = parts[1].split(",") + confirm = ("confirm" in opts) + hide = ("hide" in opts) text = parts[2] return { "type": UserGpioModes.OUTPUT, "channel": parts[0], "confirm": confirm, + "hide": hide, "text": text, } diff --git a/web/share/js/kvm/gpio.js b/web/share/js/kvm/gpio.js index db259cee..4bee901a 100644 --- a/web/share/js/kvm/gpio.js +++ b/web/share/js/kvm/gpio.js @@ -150,7 +150,10 @@ export function Gpio(__recorder) { if (item.scheme.pulse.delay) { controls.push(` + ${item.hide ? "data-force-hide-menu" : ""} + data-channel="${item.channel}" data-confirm="${confirm}"> + ${(item.hide ? "• " : "") + item.text} + `); } return `${controls.join("")}
   
`;