From 68a8d4328f39739f6e65143e4235deb4e18be811 Mon Sep 17 00:00:00 2001 From: j264415 Date: Tue, 20 Feb 2024 11:07:10 +0000 Subject: [PATCH] added deselect and select of checkbox by Enter key --- src/web/Manager.mjs | 1 + src/web/waiters/ControlsWaiter.mjs | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/web/Manager.mjs b/src/web/Manager.mjs index b02a7eee..3fabc774 100755 --- a/src/web/Manager.mjs +++ b/src/web/Manager.mjs @@ -129,6 +129,7 @@ class Manager { // Controls document.getElementById("bake").addEventListener("click", this.controls.bakeClick.bind(this.controls)); document.getElementById("auto-bake").addEventListener("change", this.controls.autoBakeChange.bind(this.controls)); + document.getElementById("auto-bake").addEventListener("keydown", this.controls.keyboardCheckAutoBake.bind(this.controls)); document.getElementById("step").addEventListener("click", this.controls.stepClick.bind(this.controls)); document.getElementById("clr-recipe").addEventListener("click", this.controls.clearRecipeClick.bind(this.controls)); document.getElementById("save").addEventListener("click", this.controls.saveClick.bind(this.controls)); diff --git a/src/web/waiters/ControlsWaiter.mjs b/src/web/waiters/ControlsWaiter.mjs index 6a0ef6f2..7fac5339 100755 --- a/src/web/waiters/ControlsWaiter.mjs +++ b/src/web/waiters/ControlsWaiter.mjs @@ -51,6 +51,27 @@ class ControlsWaiter { } } + /** + * Handles the Auto Bake checkbox based on keyboard. + * + */ + keyboardCheckAutoBake() { + const autoBakeId = document.getElementById("auto-bake"); + autoBakeId.addEventListener("keydown", this.autoBakeKeyboardHandler, false); + } + + /** + * Checks or unchecks the Auto Bake checkbox with "Enter" + * @param {Event} ev + */ + autoBakeKeyboardHandler(ev) { + const checkBox = document.getElementById("auto-bake"); + ev.preventDefault(); + if (ev.key === "Enter" || ev.key === " ") { + checkBox.checked = !checkBox.checked; + } + } + /** * Handler to trigger baking.