WebUI: Add Escape event handler to iframed modals

This commit is contained in:
Stiliyan Tonev (Bark) 2025-06-25 15:01:39 +03:00
commit 90966cd538
6 changed files with 49 additions and 0 deletions

View file

@ -11,6 +11,14 @@
"use strict"; "use strict";
window.addEventListener("DOMContentLoaded", (event) => { window.addEventListener("DOMContentLoaded", (event) => {
window.addEventListener("keydown", (event) => {
switch (event.key) {
case "Escape":
event.preventDefault();
window.parent.qBittorrent.Client.closeFrameWindow(window);
break;
}
});
document.getElementById("cancelBtn").focus(); document.getElementById("cancelBtn").focus();
document.getElementById("cancelBtn").addEventListener("click", (e) => { document.getElementById("cancelBtn").addEventListener("click", (e) => {
e.preventDefault(); e.preventDefault();

View file

@ -11,6 +11,14 @@
"use strict"; "use strict";
window.addEventListener("DOMContentLoaded", (event) => { window.addEventListener("DOMContentLoaded", (event) => {
window.addEventListener("keydown", (event) => {
switch (event.key) {
case "Escape":
event.preventDefault();
window.parent.qBittorrent.Client.closeFrameWindow(window);
break;
}
});
document.getElementById("cancelBtn").focus(); document.getElementById("cancelBtn").focus();
document.getElementById("cancelBtn").addEventListener("click", (e) => { document.getElementById("cancelBtn").addEventListener("click", (e) => {
e.preventDefault(); e.preventDefault();

View file

@ -11,6 +11,14 @@
"use strict"; "use strict";
window.addEventListener("DOMContentLoaded", (event) => { window.addEventListener("DOMContentLoaded", (event) => {
window.addEventListener("keydown", (event) => {
switch (event.key) {
case "Escape":
event.preventDefault();
window.parent.qBittorrent.Client.closeFrameWindow(window);
break;
}
});
document.getElementById("cancelBtn").focus(); document.getElementById("cancelBtn").focus();
document.getElementById("cancelBtn").addEventListener("click", (e) => { document.getElementById("cancelBtn").addEventListener("click", (e) => {
e.preventDefault(); e.preventDefault();

View file

@ -11,6 +11,14 @@
"use strict"; "use strict";
window.addEventListener("DOMContentLoaded", (event) => { window.addEventListener("DOMContentLoaded", (event) => {
window.addEventListener("keydown", (event) => {
switch (event.key) {
case "Escape":
event.preventDefault();
window.parent.qBittorrent.Client.closeFrameWindow(window);
break;
}
});
const searchParams = new URLSearchParams(window.location.search); const searchParams = new URLSearchParams(window.location.search);
const host = searchParams.get("host"); const host = searchParams.get("host");

View file

@ -14,6 +14,14 @@
"use strict"; "use strict";
window.addEventListener("DOMContentLoaded", (event) => { window.addEventListener("DOMContentLoaded", (event) => {
window.addEventListener("keydown", (event) => {
switch (event.key) {
case "Escape":
event.preventDefault();
window.parent.qBittorrent.Client.closeFrameWindow(window);
break;
}
});
const encodedUrls = new URLSearchParams(window.location.search).get("urls"); const encodedUrls = new URLSearchParams(window.location.search).get("urls");
if (encodedUrls !== null) { if (encodedUrls !== null) {
const urls = encodedUrls.split("|").map(decodeURIComponent); const urls = encodedUrls.split("|").map(decodeURIComponent);

View file

@ -14,6 +14,15 @@
"use strict"; "use strict";
window.addEventListener("DOMContentLoaded", (event) => { window.addEventListener("DOMContentLoaded", (event) => {
window.addEventListener("keydown", (event) => {
switch (event.key) {
case "Escape":
event.preventDefault();
window.parent.qBittorrent.Client.closeFrameWindow(window);
break;
}
});
let submitted = false; let submitted = false;
document.getElementById("uploadForm").addEventListener("submit", (event) => { document.getElementById("uploadForm").addEventListener("submit", (event) => {