From 399707fdc533dfc790645f62ff31b37b46a22b48 Mon Sep 17 00:00:00 2001 From: Thomas Piccirello <8296030+Piccirello@users.noreply.github.com> Date: Mon, 7 Jul 2025 14:01:51 -0400 Subject: [PATCH] WebUI: Focus on filter field using Ctrl+F This supports the filters on the Transfers, Search, and Execution Log tabs. Closes #15482. PR #22946. --- src/webui/www/private/scripts/client.js | 28 ++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/webui/www/private/scripts/client.js b/src/webui/www/private/scripts/client.js index 805d91914..7d48a872b 100644 --- a/src/webui/www/private/scripts/client.js +++ b/src/webui/www/private/scripts/client.js @@ -1755,7 +1755,7 @@ window.addEventListener("DOMContentLoaded", (event) => { switch (event.key) { case "a": case "A": - if (event.ctrlKey) { + if (event.ctrlKey || event.metaKey) { if ((event.target.nodeName === "INPUT") || (event.target.nodeName === "TEXTAREA")) return; if (event.target.isContentEditable) @@ -1773,6 +1773,32 @@ window.addEventListener("DOMContentLoaded", (event) => { event.preventDefault(); deleteSelectedTorrentsFN(event.shiftKey); break; + + case "f": + case "F": + if (event.ctrlKey || event.metaKey) { + if ((event.target.nodeName === "INPUT") || (event.target.nodeName === "TEXTAREA")) + return; + if (event.target.isContentEditable) + return; + + const logsFilterElem = document.getElementById("filterTextInput"); + const searchFilterElem = document.getElementById("searchInNameFilter"); + const torrentsFilterElem = document.getElementById("torrentsFilterInput"); + if (logsFilterElem?.isVisible()) { + event.preventDefault(); + logsFilterElem.focus(); + } + else if (searchFilterElem?.isVisible()) { + event.preventDefault(); + searchFilterElem.focus(); + } + else if (torrentsFilterElem?.isVisible()) { + event.preventDefault(); + torrentsFilterElem.focus(); + } + } + break; } });