diff --git a/src/webui/www/private/addpeers.html b/src/webui/www/private/addpeers.html index ad645b3d9..cfca9c026 100644 --- a/src/webui/www/private/addpeers.html +++ b/src/webui/www/private/addpeers.html @@ -26,13 +26,13 @@ if (hash === null) return; - $("peers").focus(); + document.getElementById("peers").focus(); - $("addPeersOk").addEventListener("click", (e) => { + document.getElementById("addPeersOk").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); - const peers = $("peers").value.trim().split(/[\r\n]+/); + const peers = document.getElementById("peers").value.trim().split(/[\r\n]+/); if (peers.length === 0) return; diff --git a/src/webui/www/private/addtrackers.html b/src/webui/www/private/addtrackers.html index 818f20f09..b11adf195 100644 --- a/src/webui/www/private/addtrackers.html +++ b/src/webui/www/private/addtrackers.html @@ -22,8 +22,8 @@ } }); - $("trackersUrls").focus(); - $("addTrackersButton").addEventListener("click", (e) => { + document.getElementById("trackersUrls").focus(); + document.getElementById("addTrackersButton").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); @@ -31,7 +31,7 @@ method: "POST", body: new URLSearchParams({ hash: new URLSearchParams(window.location.search).get("hash"), - urls: $("trackersUrls").value + urls: document.getElementById("trackersUrls").value }) }) .then((response) => { diff --git a/src/webui/www/private/addwebseeds.html b/src/webui/www/private/addwebseeds.html index c87c17146..e43b10fb3 100644 --- a/src/webui/www/private/addwebseeds.html +++ b/src/webui/www/private/addwebseeds.html @@ -22,15 +22,15 @@ } }); - $("urls").focus(); - $("addWebSeedsButton").addEventListener("click", (e) => { + document.getElementById("urls").focus(); + document.getElementById("addWebSeedsButton").addEventListener("click", (e) => { e.stopPropagation(); fetch("api/v2/torrents/addWebSeeds", { method: "POST", body: new URLSearchParams({ hash: new URLSearchParams(window.location.search).get("hash"), - urls: $("urls").value.split("\n").map(w => encodeURIComponent(w.trim())).filter(w => (w.length > 0)).join("|") + urls: document.getElementById("urls").value.split("\n").map(w => encodeURIComponent(w.trim())).filter(w => (w.length > 0)).join("|") }) }) .then((response) => { diff --git a/src/webui/www/private/confirmfeeddeletion.html b/src/webui/www/private/confirmfeeddeletion.html index b0f2abe5c..b4f209b36 100644 --- a/src/webui/www/private/confirmfeeddeletion.html +++ b/src/webui/www/private/confirmfeeddeletion.html @@ -13,13 +13,13 @@ "use strict"; window.addEventListener("DOMContentLoaded", () => { - $("cancelBtn").focus(); - $("cancelBtn").addEventListener("click", (e) => { + document.getElementById("cancelBtn").focus(); + document.getElementById("cancelBtn").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); window.parent.qBittorrent.Client.closeFrameWindow(window); }); - $("confirmBtn").addEventListener("click", (e) => { + document.getElementById("confirmBtn").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); diff --git a/src/webui/www/private/confirmruleclear.html b/src/webui/www/private/confirmruleclear.html index 9817d3c1d..57c3deb6b 100644 --- a/src/webui/www/private/confirmruleclear.html +++ b/src/webui/www/private/confirmruleclear.html @@ -13,13 +13,13 @@ "use strict"; window.addEventListener("DOMContentLoaded", () => { - $("cancelBtn").focus(); - $("cancelBtn").addEventListener("click", (e) => { + document.getElementById("cancelBtn").focus(); + document.getElementById("cancelBtn").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); window.parent.qBittorrent.Client.closeFrameWindow(window); }); - $("confirmBtn").addEventListener("click", (e) => { + document.getElementById("confirmBtn").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); diff --git a/src/webui/www/private/confirmruledeletion.html b/src/webui/www/private/confirmruledeletion.html index cf9f7d874..728c7defc 100644 --- a/src/webui/www/private/confirmruledeletion.html +++ b/src/webui/www/private/confirmruledeletion.html @@ -13,13 +13,13 @@ "use strict"; window.addEventListener("DOMContentLoaded", () => { - $("cancelBtn").focus(); - $("cancelBtn").addEventListener("click", (e) => { + document.getElementById("cancelBtn").focus(); + document.getElementById("cancelBtn").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); window.parent.qBittorrent.Client.closeFrameWindow(window); }); - $("confirmBtn").addEventListener("click", (e) => { + document.getElementById("confirmBtn").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); diff --git a/src/webui/www/private/confirmtrackerdeletion.html b/src/webui/www/private/confirmtrackerdeletion.html index 4324f528f..46ea918e8 100644 --- a/src/webui/www/private/confirmtrackerdeletion.html +++ b/src/webui/www/private/confirmtrackerdeletion.html @@ -16,14 +16,14 @@ const searchParams = new URLSearchParams(window.location.search); const host = searchParams.get("host"); - $("confirmDeleteTrackerText").textContent = "QBT_TR(Are you sure you want to remove tracker %1 from all torrents?)QBT_TR[CONTEXT=TrackersFilterWidget]".replace("%1", host); + document.getElementById("confirmDeleteTrackerText").textContent = "QBT_TR(Are you sure you want to remove tracker %1 from all torrents?)QBT_TR[CONTEXT=TrackersFilterWidget]".replace("%1", host); - $("cancelBtn").focus(); - $("cancelBtn").addEventListener("click", (e) => { + document.getElementById("cancelBtn").focus(); + document.getElementById("cancelBtn").addEventListener("click", (e) => { e.stopPropagation(); window.parent.qBittorrent.Client.closeFrameWindow(window); }); - $("confirmBtn").addEventListener("click", (e) => { + document.getElementById("confirmBtn").addEventListener("click", (e) => { e.stopPropagation(); fetch("api/v2/torrents/removeTrackers", { diff --git a/src/webui/www/private/download.html b/src/webui/www/private/download.html index ecd1bb6bb..ca9a63b79 100644 --- a/src/webui/www/private/download.html +++ b/src/webui/www/private/download.html @@ -167,22 +167,22 @@ if (encodedUrls !== null) { const urls = encodedUrls.split("|").map(decodeURIComponent); if (urls.length > 0) - $("urls").value = urls.join("\n"); + document.getElementById("urls").value = urls.join("\n"); } let submitted = false; - $("downloadForm").addEventListener("submit", () => { - $("startTorrentHidden").value = $("startTorrent").checked ? "false" : "true"; + document.getElementById("downloadForm").addEventListener("submit", () => { + document.getElementById("startTorrentHidden").value = document.getElementById("startTorrent").checked ? "false" : "true"; - $("dlLimitHidden").value = Number($("dlLimitText").value) * 1024; - $("upLimitHidden").value = Number($("upLimitText").value) * 1024; + document.getElementById("dlLimitHidden").value = Number(document.getElementById("dlLimitText").value) * 1024; + document.getElementById("upLimitHidden").value = Number(document.getElementById("upLimitText").value) * 1024; - $("download_spinner").style.display = "block"; + document.getElementById("download_spinner").style.display = "block"; submitted = true; }); - $("download_frame").addEventListener("load", () => { + document.getElementById("download_frame").addEventListener("load", () => { if (submitted) window.parent.qBittorrent.Client.closeFrameWindow(window); }); diff --git a/src/webui/www/private/downloadlimit.html b/src/webui/www/private/downloadlimit.html index d703cf79e..3cc02ebfa 100644 --- a/src/webui/www/private/downloadlimit.html +++ b/src/webui/www/private/downloadlimit.html @@ -37,7 +37,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("applyButton").click(); + document.getElementById("applyButton").click(); break; case "Escape": event.preventDefault(); @@ -48,7 +48,7 @@ const hashes = new URLSearchParams(window.location.search).get("hashes").split("|"); const setDlLimit = () => { - const limit = Number($("dllimitUpdatevalue").value) * 1024; + const limit = Number(document.getElementById("dllimitUpdatevalue").value) * 1024; if (hashes[0] === "global") { fetch("api/v2/transfer/setDownloadLimit", { method: "POST", @@ -81,7 +81,7 @@ } }; - $("dllimitUpdatevalue").focus(); + document.getElementById("dllimitUpdatevalue").focus(); MochaUI.addDlLimitSlider(hashes); diff --git a/src/webui/www/private/editfeedurl.html b/src/webui/www/private/editfeedurl.html index 83618a0b5..c92a0b48f 100644 --- a/src/webui/www/private/editfeedurl.html +++ b/src/webui/www/private/editfeedurl.html @@ -18,7 +18,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("submitButton").click(); + document.getElementById("submitButton").click(); break; case "Escape": event.preventDefault(); @@ -30,16 +30,16 @@ const searchParams = new URLSearchParams(window.location.search); const currentUrl = searchParams.get("url"); - $("url").value = currentUrl; - $("url").focus(); - $("url").setSelectionRange(0, currentUrl.length); + document.getElementById("url").value = currentUrl; + document.getElementById("url").focus(); + document.getElementById("url").setSelectionRange(0, currentUrl.length); - $("submitButton").addEventListener("click", (e) => { + document.getElementById("submitButton").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); // check field - const newUrl = $("url").value.trim(); + const newUrl = document.getElementById("url").value.trim(); if (newUrl === "") { alert("QBT_TR(URL cannot be empty)QBT_TR[CONTEXT=RSSWidget]"); return; @@ -50,7 +50,7 @@ return; } - $("submitButton").disabled = true; + document.getElementById("submitButton").disabled = true; fetch("api/v2/rss/setFeedURL", { method: "POST", @@ -64,7 +64,7 @@ alert((response.status === 409) ? await response.text() : "QBT_TR(Unable to update URL)QBT_TR[CONTEXT=RSSWidget]"); - $("submitButton").disabled = false; + document.getElementById("submitButton").disabled = false; return; } diff --git a/src/webui/www/private/edittracker.html b/src/webui/www/private/edittracker.html index 2b4ff2553..fd14c8217 100644 --- a/src/webui/www/private/edittracker.html +++ b/src/webui/www/private/edittracker.html @@ -17,7 +17,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("editTrackerButton").click(); + document.getElementById("editTrackerButton").click(); break; case "Escape": event.preventDefault(); @@ -31,10 +31,10 @@ if (currentUrl === null) return; - $("trackerUrl").value = currentUrl; - $("trackerUrl").focus(); + document.getElementById("trackerUrl").value = currentUrl; + document.getElementById("trackerUrl").focus(); - $("editTrackerButton").addEventListener("click", (e) => { + document.getElementById("editTrackerButton").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); @@ -43,7 +43,7 @@ body: new URLSearchParams({ hash: searchParams.get("hash"), origUrl: currentUrl, - newUrl: $("trackerUrl").value + newUrl: document.getElementById("trackerUrl").value }) }) .then((response) => { diff --git a/src/webui/www/private/editwebseed.html b/src/webui/www/private/editwebseed.html index ef6b70998..3b4ef53e5 100644 --- a/src/webui/www/private/editwebseed.html +++ b/src/webui/www/private/editwebseed.html @@ -17,7 +17,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("editWebSeedButton").click(); + document.getElementById("editWebSeedButton").click(); break; case "Escape": event.preventDefault(); @@ -28,10 +28,10 @@ const searchParams = new URLSearchParams(window.location.search); const origUrl = searchParams.get("url"); - $("url").value = decodeURIComponent(origUrl); - $("url").focus(); + document.getElementById("url").value = decodeURIComponent(origUrl); + document.getElementById("url").focus(); - $("editWebSeedButton").addEventListener("click", (e) => { + document.getElementById("editWebSeedButton").addEventListener("click", (e) => { e.stopPropagation(); fetch("api/v2/torrents/editWebSeed", { @@ -39,7 +39,7 @@ body: new URLSearchParams({ hash: searchParams.get("hash"), origUrl: origUrl, - newUrl: encodeURIComponent($("url").value.trim()) + newUrl: encodeURIComponent(document.getElementById("url").value.trim()) }) }) .then((response) => { diff --git a/src/webui/www/private/newcategory.html b/src/webui/www/private/newcategory.html index b2ec949fa..ceda85359 100644 --- a/src/webui/www/private/newcategory.html +++ b/src/webui/www/private/newcategory.html @@ -19,7 +19,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("categoryNameButton").click(); + document.getElementById("categoryNameButton").click(); break; case "Escape": event.preventDefault(); @@ -38,25 +38,25 @@ if (!uriCategoryName) return; - $("categoryName").disabled = true; - $("categoryName").value = window.qBittorrent.Misc.escapeHtml(uriCategoryName); - $("savePath").value = window.qBittorrent.Misc.escapeHtml(uriSavePath); - $("savePath").focus(); + document.getElementById("categoryName").disabled = true; + document.getElementById("categoryName").value = window.qBittorrent.Misc.escapeHtml(uriCategoryName); + document.getElementById("savePath").value = window.qBittorrent.Misc.escapeHtml(uriSavePath); + document.getElementById("savePath").focus(); } else if (uriAction === "createSubcategory") { - $("categoryName").value = window.qBittorrent.Misc.escapeHtml(uriCategoryName); - $("categoryName").focus(); + document.getElementById("categoryName").value = window.qBittorrent.Misc.escapeHtml(uriCategoryName); + document.getElementById("categoryName").focus(); } else { - $("categoryName").focus(); + document.getElementById("categoryName").focus(); } - $("categoryNameButton").addEventListener("click", (e) => { + document.getElementById("categoryNameButton").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); - const savePath = $("savePath").value.trim(); - const categoryName = $("categoryName").value.trim(); + const savePath = document.getElementById("savePath").value.trim(); + const categoryName = document.getElementById("categoryName").value.trim(); const verifyCategoryName = (name) => { if ((name === null) || (name === "")) diff --git a/src/webui/www/private/newfeed.html b/src/webui/www/private/newfeed.html index b3815a63e..c126ca068 100644 --- a/src/webui/www/private/newfeed.html +++ b/src/webui/www/private/newfeed.html @@ -18,7 +18,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("submitButton").click(); + document.getElementById("submitButton").click(); break; case "Escape": event.preventDefault(); @@ -27,19 +27,19 @@ } }); - $("feedURL").focus(); - $("submitButton").addEventListener("click", (e) => { + document.getElementById("feedURL").focus(); + document.getElementById("submitButton").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); // check field - const feedURL = $("feedURL").value.trim(); + const feedURL = document.getElementById("feedURL").value.trim(); if (feedURL === "") { alert("QBT_TR(Name cannot be empty)QBT_TR[CONTEXT=HttpServer]"); return; } - $("submitButton").disabled = true; + document.getElementById("submitButton").disabled = true; const path = new URLSearchParams(window.location.search).get("path"); fetch("api/v2/rss/addFeed", { @@ -53,7 +53,7 @@ if (!response.ok) { if (response.status === 409) alert(await response.text()); - $("submitButton").disabled = false; + document.getElementById("submitButton").disabled = false; return; } diff --git a/src/webui/www/private/newfolder.html b/src/webui/www/private/newfolder.html index 30db4c450..c567a7c55 100644 --- a/src/webui/www/private/newfolder.html +++ b/src/webui/www/private/newfolder.html @@ -19,7 +19,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("submitButton").click(); + document.getElementById("submitButton").click(); break; case "Escape": event.preventDefault(); @@ -28,19 +28,19 @@ } }); - $("folderName").focus(); - $("submitButton").addEventListener("click", (e) => { + document.getElementById("folderName").focus(); + document.getElementById("submitButton").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); // check field - const folderName = $("folderName").value.trim(); + const folderName = document.getElementById("folderName").value.trim(); if (folderName === "") { alert("QBT_TR(Name cannot be empty)QBT_TR[CONTEXT=HttpServer]"); return; } - $("submitButton").disabled = true; + document.getElementById("submitButton").disabled = true; const path = new URLSearchParams(window.location.search).get("path"); fetch("api/v2/rss/addFolder", { @@ -53,7 +53,7 @@ if (!response.ok) { if (response.status === 409) alert(await response.text()); - $("submitButton").disabled = false; + document.getElementById("submitButton").disabled = false; return; } diff --git a/src/webui/www/private/newrule.html b/src/webui/www/private/newrule.html index 18f03a154..dc419e112 100644 --- a/src/webui/www/private/newrule.html +++ b/src/webui/www/private/newrule.html @@ -18,7 +18,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("submitButton").click(); + document.getElementById("submitButton").click(); break; case "Escape": event.preventDefault(); @@ -27,18 +27,18 @@ } }); - $("name").focus(); - $("submitButton").addEventListener("click", (e) => { + document.getElementById("name").focus(); + document.getElementById("submitButton").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); // check field - const name = $("name").value.trim(); + const name = document.getElementById("name").value.trim(); if (name === "") { alert("QBT_TR(Name cannot be empty)QBT_TR[CONTEXT=HttpServer]"); return; } - $("submitButton").disabled = true; + document.getElementById("submitButton").disabled = true; fetch("api/v2/rss/setRule", { method: "POST", diff --git a/src/webui/www/private/newtag.html b/src/webui/www/private/newtag.html index a8067fecc..cab3b26cf 100644 --- a/src/webui/www/private/newtag.html +++ b/src/webui/www/private/newtag.html @@ -18,7 +18,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("tagNameButton").click(); + document.getElementById("tagNameButton").click(); break; case "Escape": event.preventDefault(); @@ -31,15 +31,15 @@ const uriAction = window.qBittorrent.Misc.safeTrim(searchParams.get("action")); if (uriAction === "create") - $("legendText").textContent = "QBT_TR(Tag:)QBT_TR[CONTEXT=TagFilterWidget]"; + document.getElementById("legendText").textContent = "QBT_TR(Tag:)QBT_TR[CONTEXT=TagFilterWidget]"; - $("tagName").focus(); + document.getElementById("tagName").focus(); - $("tagNameButton").addEventListener("click", (e) => { + document.getElementById("tagNameButton").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); - const tagName = $("tagName").value.trim(); + const tagName = document.getElementById("tagName").value.trim(); const verifyTagName = (name) => { if ((name === null) || (name === "")) diff --git a/src/webui/www/private/rename.html b/src/webui/www/private/rename.html index f3f1d119f..e4debb24b 100644 --- a/src/webui/www/private/rename.html +++ b/src/webui/www/private/rename.html @@ -18,7 +18,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("renameButton").click(); + document.getElementById("renameButton").click(); break; case "Escape": event.preventDefault(); @@ -31,15 +31,15 @@ const name = searchParams.get("name"); // set text field to current value if (name !== null) - $("rename").value = name; + document.getElementById("rename").value = name; - $("rename").focus(); - $("renameButton").addEventListener("click", (e) => { + document.getElementById("rename").focus(); + document.getElementById("renameButton").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); // check field - const name = $("rename").value.trim(); + const name = document.getElementById("rename").value.trim(); if ((name === null) || (name === "")) return; diff --git a/src/webui/www/private/rename_feed.html b/src/webui/www/private/rename_feed.html index d11f41935..356ca9dd1 100644 --- a/src/webui/www/private/rename_feed.html +++ b/src/webui/www/private/rename_feed.html @@ -18,7 +18,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("renameButton").click(); + document.getElementById("renameButton").click(); break; case "Escape": event.preventDefault(); @@ -29,16 +29,16 @@ const oldPath = new URLSearchParams(window.location.search).get("oldPath"); - $("rename").value = oldPath; - $("rename").focus(); - $("rename").setSelectionRange(0, oldPath.length); + document.getElementById("rename").value = oldPath; + document.getElementById("rename").focus(); + document.getElementById("rename").setSelectionRange(0, oldPath.length); - $("renameButton").addEventListener("click", (e) => { + document.getElementById("renameButton").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); // check field - const newPath = $("rename").value.trim(); + const newPath = document.getElementById("rename").value.trim(); if (newPath === "") { alert("QBT_TR(Name cannot be empty)QBT_TR[CONTEXT=HttpServer]"); return; @@ -49,7 +49,7 @@ return; } - $("renameButton").disabled = true; + document.getElementById("renameButton").disabled = true; fetch("api/v2/rss/moveItem", { method: "POST", @@ -62,7 +62,7 @@ if (!response.ok) { if (response.status === 409) alert(await response.text()); - $("renameButton").disabled = false; + document.getElementById("renameButton").disabled = false; return; } diff --git a/src/webui/www/private/rename_file.html b/src/webui/www/private/rename_file.html index 8cddc935b..dfe5d0cdb 100644 --- a/src/webui/www/private/rename_file.html +++ b/src/webui/www/private/rename_file.html @@ -19,7 +19,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("renameButton").click(); + document.getElementById("renameButton").click(); break; case "Escape": event.preventDefault(); @@ -34,17 +34,17 @@ const isFolder = ((searchParams.get("isFolder")) === "true"); const oldName = window.qBittorrent.Filesystem.fileName(oldPath); - $("rename").value = oldName; - $("rename").focus(); + document.getElementById("rename").value = oldName; + document.getElementById("rename").focus(); if (!isFolder) - $("rename").setSelectionRange(0, oldName.lastIndexOf(".")); + document.getElementById("rename").setSelectionRange(0, oldName.lastIndexOf(".")); - $("renameButton").addEventListener("click", (e) => { + document.getElementById("renameButton").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); // check field - const newName = $("rename").value.trim(); + const newName = document.getElementById("rename").value.trim(); if (newName === "") { alert("QBT_TR(Name cannot be empty)QBT_TR[CONTEXT=HttpServer]"); return; @@ -55,7 +55,7 @@ return; } - $("renameButton").disabled = true; + document.getElementById("renameButton").disabled = true; const parentPath = window.qBittorrent.Filesystem.folderName(oldPath); const newPath = parentPath @@ -72,7 +72,7 @@ .then((response) => { if (!response.ok) { alert("QBT_TR(Failed to update name)QBT_TR[CONTEXT=HttpServer]"); - $("renameButton").disabled = false; + document.getElementById("renameButton").disabled = false; return; } diff --git a/src/webui/www/private/rename_files.html b/src/webui/www/private/rename_files.html index 37a15b3a7..55f461b6f 100644 --- a/src/webui/www/private/rename_files.html +++ b/src/webui/www/private/rename_files.html @@ -80,50 +80,50 @@ // Load Multi Rename Preferences const multiRenamePrefChecked = LocalPreferences.get("multirename_rememberPreferences", "true") === "true"; - $("multirename_rememberprefs_checkbox").checked = multiRenamePrefChecked; + document.getElementById("multirename_rememberprefs_checkbox").checked = multiRenamePrefChecked; if (multiRenamePrefChecked) { const multirename_search = LocalPreferences.get("multirename_search", ""); fileRenamer.setSearch(multirename_search); - $("multiRenameSearch").value = multirename_search; + document.getElementById("multiRenameSearch").value = multirename_search; const multirename_useRegex = LocalPreferences.get("multirename_useRegex", false); fileRenamer.useRegex = multirename_useRegex === "true"; - $("use_regex_search").checked = fileRenamer.useRegex; + document.getElementById("use_regex_search").checked = fileRenamer.useRegex; const multirename_matchAllOccurrences = LocalPreferences.get("multirename_matchAllOccurrences", false); fileRenamer.matchAllOccurrences = multirename_matchAllOccurrences === "true"; - $("match_all_occurrences").checked = fileRenamer.matchAllOccurrences; + document.getElementById("match_all_occurrences").checked = fileRenamer.matchAllOccurrences; const multirename_caseSensitive = LocalPreferences.get("multirename_caseSensitive", false); fileRenamer.caseSensitive = multirename_caseSensitive === "true"; - $("case_sensitive").checked = fileRenamer.caseSensitive; + document.getElementById("case_sensitive").checked = fileRenamer.caseSensitive; const multirename_replace = LocalPreferences.get("multirename_replace", ""); fileRenamer.setReplacement(multirename_replace); - $("multiRenameReplace").value = multirename_replace; + document.getElementById("multiRenameReplace").value = multirename_replace; const multirename_appliesTo = LocalPreferences.get("multirename_appliesTo", window.qBittorrent.MultiRename.AppliesTo.FilenameExtension); fileRenamer.appliesTo = window.qBittorrent.MultiRename.AppliesTo[multirename_appliesTo]; - $("applies_to_option").value = fileRenamer.appliesTo; + document.getElementById("applies_to_option").value = fileRenamer.appliesTo; const multirename_includeFiles = LocalPreferences.get("multirename_includeFiles", true); fileRenamer.includeFiles = multirename_includeFiles === "true"; - $("include_files").checked = fileRenamer.includeFiles; + document.getElementById("include_files").checked = fileRenamer.includeFiles; const multirename_includeFolders = LocalPreferences.get("multirename_includeFolders", false); fileRenamer.includeFolders = multirename_includeFolders === "true"; - $("include_folders").checked = fileRenamer.includeFolders; + document.getElementById("include_folders").checked = fileRenamer.includeFolders; const multirename_fileEnumerationStart = LocalPreferences.get("multirename_fileEnumerationStart", 0); fileRenamer.fileEnumerationStart = Number(multirename_fileEnumerationStart); - $("file_counter").value = fileRenamer.fileEnumerationStart; + document.getElementById("file_counter").value = fileRenamer.fileEnumerationStart; const multirename_replaceAll = LocalPreferences.get("multirename_replaceAll", false); fileRenamer.replaceAll = multirename_replaceAll === "true"; const renameButtonValue = fileRenamer.replaceAll ? "Replace All" : "Replace"; - $("renameOptions").value = renameButtonValue; - $("renameButton").value = renameButtonValue; + document.getElementById("renameOptions").value = renameButtonValue; + document.getElementById("renameButton").value = renameButtonValue; } // Fires every time a row's selection changes @@ -133,26 +133,26 @@ }; // Setup Search Events that control renaming - $("multiRenameSearch").addEventListener("input", (e) => { + document.getElementById("multiRenameSearch").addEventListener("input", (e) => { const sanitized = e.target.value.replace(/\n/g, ""); - $("multiRenameSearch").value = sanitized; + document.getElementById("multiRenameSearch").value = sanitized; // Search input has changed - $("multiRenameSearch").style["border-color"] = ""; + document.getElementById("multiRenameSearch").style["border-color"] = ""; LocalPreferences.set("multirename_search", sanitized); fileRenamer.setSearch(sanitized); }); - $("use_regex_search").addEventListener("change", (e) => { + document.getElementById("use_regex_search").addEventListener("change", (e) => { fileRenamer.useRegex = e.target.checked; LocalPreferences.set("multirename_useRegex", e.target.checked); fileRenamer.update(); }); - $("match_all_occurrences").addEventListener("change", (e) => { + document.getElementById("match_all_occurrences").addEventListener("change", (e) => { fileRenamer.matchAllOccurrences = e.target.checked; LocalPreferences.set("multirename_matchAllOccurrences", e.target.checked); fileRenamer.update(); }); - $("case_sensitive").addEventListener("change", (e) => { + document.getElementById("case_sensitive").addEventListener("change", (e) => { fileRenamer.caseSensitive = e.target.checked; LocalPreferences.set("multirename_caseSensitive", e.target.checked); fileRenamer.update(); @@ -179,35 +179,35 @@ } }; fileRenamer.onInvalidRegex = (err) => { - $("multiRenameSearch").style["border-color"] = "#CC0033"; + document.getElementById("multiRenameSearch").style["border-color"] = "#CC0033"; }; // Setup Replace Events that control renaming - $("multiRenameReplace").addEventListener("input", (e) => { + document.getElementById("multiRenameReplace").addEventListener("input", (e) => { const sanitized = e.target.value.replace(/\n/g, ""); - $("multiRenameReplace").value = sanitized; + document.getElementById("multiRenameReplace").value = sanitized; // Replace input has changed - $("multiRenameReplace").style["border-color"] = ""; + document.getElementById("multiRenameReplace").style["border-color"] = ""; LocalPreferences.set("multirename_replace", sanitized); fileRenamer.setReplacement(sanitized); }); - $("applies_to_option").addEventListener("change", (e) => { + document.getElementById("applies_to_option").addEventListener("change", (e) => { fileRenamer.appliesTo = e.target.value; LocalPreferences.set("multirename_appliesTo", e.target.value); fileRenamer.update(); }); - $("include_files").addEventListener("change", (e) => { + document.getElementById("include_files").addEventListener("change", (e) => { fileRenamer.includeFiles = e.target.checked; LocalPreferences.set("multirename_includeFiles", e.target.checked); fileRenamer.update(); }); - $("include_folders").addEventListener("change", (e) => { + document.getElementById("include_folders").addEventListener("change", (e) => { fileRenamer.includeFolders = e.target.checked; LocalPreferences.set("multirename_includeFolders", e.target.checked); fileRenamer.update(); }); - $("file_counter").addEventListener("input", (e) => { + document.getElementById("file_counter").addEventListener("input", (e) => { let value = e.target.valueAsNumber; if (!value) value = 0; @@ -216,46 +216,46 @@ if (value > 99999999) value = 99999999; fileRenamer.fileEnumerationStart = value; - $("file_counter").value = value; + document.getElementById("file_counter").value = value; LocalPreferences.set("multirename_fileEnumerationStart", value); fileRenamer.update(); }); // Setup Rename Operation Events - $("renameButton").addEventListener("click", (e) => { + document.getElementById("renameButton").addEventListener("click", (e) => { // Disable Search Options - $("multiRenameSearch").disabled = true; - $("use_regex_search").disabled = true; - $("match_all_occurrences").disabled = true; - $("case_sensitive").disabled = true; + document.getElementById("multiRenameSearch").disabled = true; + document.getElementById("use_regex_search").disabled = true; + document.getElementById("match_all_occurrences").disabled = true; + document.getElementById("case_sensitive").disabled = true; // Disable Replace Options - $("multiRenameReplace").disabled = true; - $("applies_to_option").disabled = true; - $("include_files").disabled = true; - $("include_folders").disabled = true; - $("file_counter").disabled = true; + document.getElementById("multiRenameReplace").disabled = true; + document.getElementById("applies_to_option").disabled = true; + document.getElementById("include_files").disabled = true; + document.getElementById("include_folders").disabled = true; + document.getElementById("file_counter").disabled = true; // Disable Rename Buttons - $("renameButton").disabled = true; - $("renameOptions").disabled = true; + document.getElementById("renameButton").disabled = true; + document.getElementById("renameOptions").disabled = true; // Clear error text - $("rename_error").textContent = ""; + document.getElementById("rename_error").textContent = ""; fileRenamer.rename(); }); fileRenamer.onRenamed = (rows) => { // Disable Search Options - $("multiRenameSearch").disabled = false; - $("use_regex_search").disabled = false; - $("match_all_occurrences").disabled = false; - $("case_sensitive").disabled = false; + document.getElementById("multiRenameSearch").disabled = false; + document.getElementById("use_regex_search").disabled = false; + document.getElementById("match_all_occurrences").disabled = false; + document.getElementById("case_sensitive").disabled = false; // Disable Replace Options - $("multiRenameReplace").disabled = false; - $("applies_to_option").disabled = false; - $("include_files").disabled = false; - $("include_folders").disabled = false; - $("file_counter").disabled = false; + document.getElementById("multiRenameReplace").disabled = false; + document.getElementById("applies_to_option").disabled = false; + document.getElementById("include_files").disabled = false; + document.getElementById("include_folders").disabled = false; + document.getElementById("file_counter").disabled = false; // Disable Rename Buttons - $("renameButton").disabled = false; - $("renameOptions").disabled = false; + document.getElementById("renameButton").disabled = false; + document.getElementById("renameOptions").disabled = false; // Recreate table let selectedRows = bulkRenameFilesTable.getSelectedRows().map(row => row.rowId.toString()); @@ -266,15 +266,15 @@ // Adjust file enumeration count by 1 when replacing single files to prevent naming conflicts if (!fileRenamer.replaceAll) { fileRenamer.fileEnumerationStart++; - $("file_counter").value = fileRenamer.fileEnumerationStart; + document.getElementById("file_counter").value = fileRenamer.fileEnumerationStart; } setupTable(selectedRows); }; fileRenamer.onRenameError = (response, row) => { if (response.status === 409) - $("rename_error").textContent = `QBT_TR(Rename failed: file or folder already exists)QBT_TR[CONTEXT=PropertiesWidget] \`${row.renamed}\``; + document.getElementById("rename_error").textContent = `QBT_TR(Rename failed: file or folder already exists)QBT_TR[CONTEXT=PropertiesWidget] \`${row.renamed}\``; }; - $("renameOptions").addEventListener("change", (e) => { + document.getElementById("renameOptions").addEventListener("change", (e) => { const combobox = e.target; const replaceOperation = combobox.value; if (replaceOperation === "Replace") @@ -284,9 +284,9 @@ else fileRenamer.replaceAll = false; LocalPreferences.set("multirename_replaceAll", fileRenamer.replaceAll); - $("renameButton").value = replaceOperation; + document.getElementById("renameButton").value = replaceOperation; }); - $("closeButton").addEventListener("click", (event) => { + document.getElementById("closeButton").addEventListener("click", (event) => { event.preventDefault(); window.qBittorrent.Client.closeWindow(windowEl); }); diff --git a/src/webui/www/private/rename_rule.html b/src/webui/www/private/rename_rule.html index dc0c39b75..c67d81026 100644 --- a/src/webui/www/private/rename_rule.html +++ b/src/webui/www/private/rename_rule.html @@ -18,7 +18,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("renameButton").click(); + document.getElementById("renameButton").click(); break; case "Escape": event.preventDefault(); @@ -29,16 +29,16 @@ const oldName = new URLSearchParams(window.location.search).get("rule"); - $("rename").value = oldName; - $("rename").focus(); - $("rename").setSelectionRange(0, oldName.length); + document.getElementById("rename").value = oldName; + document.getElementById("rename").focus(); + document.getElementById("rename").setSelectionRange(0, oldName.length); - $("renameButton").addEventListener("click", (e) => { + document.getElementById("renameButton").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); // check field - const newName = $("rename").value.trim(); + const newName = document.getElementById("rename").value.trim(); if (newName === "") { alert("QBT_TR(Name cannot be empty)QBT_TR[CONTEXT=HttpServer]"); return; @@ -49,7 +49,7 @@ return; } - $("renameButton").disabled = true; + document.getElementById("renameButton").disabled = true; fetch("api/v2/rss/renameRule", { method: "POST", diff --git a/src/webui/www/private/scripts/client.js b/src/webui/www/private/scripts/client.js index 15e7af365..382b09a26 100644 --- a/src/webui/www/private/scripts/client.js +++ b/src/webui/www/private/scripts/client.js @@ -180,15 +180,15 @@ window.addEventListener("DOMContentLoaded", () => { let isRssPanelLoaded = false; const saveColumnSizes = () => { - const filters_width = $("Filters").getSize().x; + const filters_width = document.getElementById("Filters").getSize().x; LocalPreferences.set("filters_width", filters_width); - const properties_height_rel = $("propertiesPanel").getSize().y / Window.getSize().y; + const properties_height_rel = document.getElementById("propertiesPanel").getSize().y / Window.getSize().y; LocalPreferences.set("properties_height_rel", properties_height_rel); }; window.addEventListener("resize", window.qBittorrent.Misc.createDebounceHandler(500, (e) => { // only save sizes if the columns are visible - if (!$("mainColumn").classList.contains("invisible")) + if (!document.getElementById("mainColumn").classList.contains("invisible")) saveColumnSizes(); })); @@ -221,7 +221,7 @@ window.addEventListener("DOMContentLoaded", () => { }); // start off hidden - $("searchTabColumn").classList.add("invisible"); + document.getElementById("searchTabColumn").classList.add("invisible"); }; const buildRssTab = () => { @@ -232,7 +232,7 @@ window.addEventListener("DOMContentLoaded", () => { }); // start off hidden - $("rssTabColumn").classList.add("invisible"); + document.getElementById("rssTabColumn").classList.add("invisible"); }; const buildLogTab = () => { @@ -243,7 +243,7 @@ window.addEventListener("DOMContentLoaded", () => { }); // start off hidden - $("logTabColumn").classList.add("invisible"); + document.getElementById("logTabColumn").classList.add("invisible"); }; buildTransfersTab(); @@ -342,28 +342,28 @@ window.addEventListener("DOMContentLoaded", () => { // Show Top Toolbar is enabled by default let showTopToolbar = LocalPreferences.get("show_top_toolbar", "true") === "true"; if (!showTopToolbar) { - $("showTopToolbarLink").firstElementChild.style.opacity = "0"; - $("mochaToolbar").classList.add("invisible"); + document.getElementById("showTopToolbarLink").firstElementChild.style.opacity = "0"; + document.getElementById("mochaToolbar").classList.add("invisible"); } // Show Status Bar is enabled by default let showStatusBar = LocalPreferences.get("show_status_bar", "true") === "true"; if (!showStatusBar) { - $("showStatusBarLink").firstElementChild.style.opacity = "0"; - $("desktopFooterWrapper").classList.add("invisible"); + document.getElementById("showStatusBarLink").firstElementChild.style.opacity = "0"; + document.getElementById("desktopFooterWrapper").classList.add("invisible"); } // Show Filters Sidebar is enabled by default let showFiltersSidebar = LocalPreferences.get("show_filters_sidebar", "true") === "true"; if (!showFiltersSidebar) { - $("showFiltersSidebarLink").firstElementChild.style.opacity = "0"; - $("filtersColumn").classList.add("invisible"); - $("filtersColumn_handle").classList.add("invisible"); + document.getElementById("showFiltersSidebarLink").firstElementChild.style.opacity = "0"; + document.getElementById("filtersColumn").classList.add("invisible"); + document.getElementById("filtersColumn_handle").classList.add("invisible"); } let speedInTitle = LocalPreferences.get("speed_in_browser_title_bar") === "true"; if (!speedInTitle) - $("speedInBrowserTitleBarLink").firstElementChild.style.opacity = "0"; + document.getElementById("speedInBrowserTitleBarLink").firstElementChild.style.opacity = "0"; // After showing/hiding the toolbar + status bar window.qBittorrent.Client.showSearchEngine(LocalPreferences.get("show_search_engine") !== "false"); @@ -614,7 +614,7 @@ window.addEventListener("DOMContentLoaded", () => { }; const updateTagList = () => { - const tagFilterList = $("tagFilterList"); + const tagFilterList = document.getElementById("tagFilterList"); if (tagFilterList === null) return; @@ -667,7 +667,7 @@ window.addEventListener("DOMContentLoaded", () => { }; const updateTrackerList = () => { - const trackerFilterList = $("trackerFilterList"); + const trackerFilterList = document.getElementById("trackerFilterList"); if (trackerFilterList === null) return; @@ -763,7 +763,7 @@ window.addEventListener("DOMContentLoaded", () => { }) .then(async (response) => { if (response.ok) { - $("error_div").textContent = ""; + document.getElementById("error_div").textContent = ""; const responseJSON = await response.json(); @@ -933,7 +933,7 @@ window.addEventListener("DOMContentLoaded", () => { syncData(window.qBittorrent.Client.getSyncMainDataInterval()); }, (error) => { - const errorDiv = $("error_div"); + const errorDiv = document.getElementById("error_div"); if (errorDiv) errorDiv.textContent = "QBT_TR(qBittorrent client is not reachable)QBT_TR[CONTEXT=HttpServer]"; syncRequestInProgress = false; @@ -964,12 +964,12 @@ window.addEventListener("DOMContentLoaded", () => { if (serverState.dl_rate_limit > 0) transfer_info += ` [${window.qBittorrent.Misc.friendlyUnit(serverState.dl_rate_limit, true)}]`; transfer_info += ` (${window.qBittorrent.Misc.friendlyUnit(serverState.dl_info_data, false)})`; - $("DlInfos").textContent = transfer_info; + document.getElementById("DlInfos").textContent = transfer_info; transfer_info = window.qBittorrent.Misc.friendlyUnit(serverState.up_info_speed, true); if (serverState.up_rate_limit > 0) transfer_info += ` [${window.qBittorrent.Misc.friendlyUnit(serverState.up_rate_limit, true)}]`; transfer_info += ` (${window.qBittorrent.Misc.friendlyUnit(serverState.up_info_data, false)})`; - $("UpInfos").textContent = transfer_info; + document.getElementById("UpInfos").textContent = transfer_info; document.title = (speedInTitle ? (`QBT_TR([D: %1, U: %2])QBT_TR[CONTEXT=MainWindow] ` @@ -978,7 +978,7 @@ window.addEventListener("DOMContentLoaded", () => { : "") + window.qBittorrent.Client.mainTitle(); - $("freeSpaceOnDisk").textContent = "QBT_TR(Free space: %1)QBT_TR[CONTEXT=HttpServer]".replace("%1", window.qBittorrent.Misc.friendlyUnit(serverState.free_space_on_disk)); + document.getElementById("freeSpaceOnDisk").textContent = "QBT_TR(Free space: %1)QBT_TR[CONTEXT=HttpServer]".replace("%1", window.qBittorrent.Misc.friendlyUnit(serverState.free_space_on_disk)); const externalIPsElement = document.getElementById("externalIPs"); if (window.qBittorrent.Cache.preferences.get().status_bar_external_ip) { @@ -1015,35 +1015,35 @@ window.addEventListener("DOMContentLoaded", () => { // Statistics dialog if (document.getElementById("statisticsContent")) { - $("AlltimeDL").textContent = window.qBittorrent.Misc.friendlyUnit(serverState.alltime_dl, false); - $("AlltimeUL").textContent = window.qBittorrent.Misc.friendlyUnit(serverState.alltime_ul, false); - $("TotalWastedSession").textContent = window.qBittorrent.Misc.friendlyUnit(serverState.total_wasted_session, false); - $("GlobalRatio").textContent = serverState.global_ratio; - $("TotalPeerConnections").textContent = serverState.total_peer_connections; - $("ReadCacheHits").textContent = `${serverState.read_cache_hits}%`; - $("TotalBuffersSize").textContent = window.qBittorrent.Misc.friendlyUnit(serverState.total_buffers_size, false); - $("WriteCacheOverload").textContent = `${serverState.write_cache_overload}%`; - $("ReadCacheOverload").textContent = `${serverState.read_cache_overload}%`; - $("QueuedIOJobs").textContent = serverState.queued_io_jobs; - $("AverageTimeInQueue").textContent = `${serverState.average_time_queue} ms`; - $("TotalQueuedSize").textContent = window.qBittorrent.Misc.friendlyUnit(serverState.total_queued_size, false); + document.getElementById("AlltimeDL").textContent = window.qBittorrent.Misc.friendlyUnit(serverState.alltime_dl, false); + document.getElementById("AlltimeUL").textContent = window.qBittorrent.Misc.friendlyUnit(serverState.alltime_ul, false); + document.getElementById("TotalWastedSession").textContent = window.qBittorrent.Misc.friendlyUnit(serverState.total_wasted_session, false); + document.getElementById("GlobalRatio").textContent = serverState.global_ratio; + document.getElementById("TotalPeerConnections").textContent = serverState.total_peer_connections; + document.getElementById("ReadCacheHits").textContent = `${serverState.read_cache_hits}%`; + document.getElementById("TotalBuffersSize").textContent = window.qBittorrent.Misc.friendlyUnit(serverState.total_buffers_size, false); + document.getElementById("WriteCacheOverload").textContent = `${serverState.write_cache_overload}%`; + document.getElementById("ReadCacheOverload").textContent = `${serverState.read_cache_overload}%`; + document.getElementById("QueuedIOJobs").textContent = serverState.queued_io_jobs; + document.getElementById("AverageTimeInQueue").textContent = `${serverState.average_time_queue} ms`; + document.getElementById("TotalQueuedSize").textContent = window.qBittorrent.Misc.friendlyUnit(serverState.total_queued_size, false); } switch (serverState.connection_status) { case "connected": - $("connectionStatus").src = "images/connected.svg"; - $("connectionStatus").alt = "QBT_TR(Connection status: Connected)QBT_TR[CONTEXT=MainWindow]"; - $("connectionStatus").title = "QBT_TR(Connection status: Connected)QBT_TR[CONTEXT=MainWindow]"; + document.getElementById("connectionStatus").src = "images/connected.svg"; + document.getElementById("connectionStatus").alt = "QBT_TR(Connection status: Connected)QBT_TR[CONTEXT=MainWindow]"; + document.getElementById("connectionStatus").title = "QBT_TR(Connection status: Connected)QBT_TR[CONTEXT=MainWindow]"; break; case "firewalled": - $("connectionStatus").src = "images/firewalled.svg"; - $("connectionStatus").alt = "QBT_TR(Connection status: Firewalled)QBT_TR[CONTEXT=MainWindow]"; - $("connectionStatus").title = "QBT_TR(Connection status: Firewalled)QBT_TR[CONTEXT=MainWindow]"; + document.getElementById("connectionStatus").src = "images/firewalled.svg"; + document.getElementById("connectionStatus").alt = "QBT_TR(Connection status: Firewalled)QBT_TR[CONTEXT=MainWindow]"; + document.getElementById("connectionStatus").title = "QBT_TR(Connection status: Firewalled)QBT_TR[CONTEXT=MainWindow]"; break; default: - $("connectionStatus").src = "images/disconnected.svg"; - $("connectionStatus").alt = "QBT_TR(Connection status: Disconnected)QBT_TR[CONTEXT=MainWindow]"; - $("connectionStatus").title = "QBT_TR(Connection status: Disconnected)QBT_TR[CONTEXT=MainWindow]"; + document.getElementById("connectionStatus").src = "images/disconnected.svg"; + document.getElementById("connectionStatus").alt = "QBT_TR(Connection status: Disconnected)QBT_TR[CONTEXT=MainWindow]"; + document.getElementById("connectionStatus").title = "QBT_TR(Connection status: Disconnected)QBT_TR[CONTEXT=MainWindow]"; break; } @@ -1052,20 +1052,20 @@ window.addEventListener("DOMContentLoaded", () => { torrentsTable.columns["priority"].force_hide = !queueing_enabled; torrentsTable.updateColumn("priority"); if (queueing_enabled) { - $("topQueuePosItem").classList.remove("invisible"); - $("increaseQueuePosItem").classList.remove("invisible"); - $("decreaseQueuePosItem").classList.remove("invisible"); - $("bottomQueuePosItem").classList.remove("invisible"); - $("queueingButtons").classList.remove("invisible"); - $("queueingMenuItems").classList.remove("invisible"); + document.getElementById("topQueuePosItem").classList.remove("invisible"); + document.getElementById("increaseQueuePosItem").classList.remove("invisible"); + document.getElementById("decreaseQueuePosItem").classList.remove("invisible"); + document.getElementById("bottomQueuePosItem").classList.remove("invisible"); + document.getElementById("queueingButtons").classList.remove("invisible"); + document.getElementById("queueingMenuItems").classList.remove("invisible"); } else { - $("topQueuePosItem").classList.add("invisible"); - $("increaseQueuePosItem").classList.add("invisible"); - $("decreaseQueuePosItem").classList.add("invisible"); - $("bottomQueuePosItem").classList.add("invisible"); - $("queueingButtons").classList.add("invisible"); - $("queueingMenuItems").classList.add("invisible"); + document.getElementById("topQueuePosItem").classList.add("invisible"); + document.getElementById("increaseQueuePosItem").classList.add("invisible"); + document.getElementById("decreaseQueuePosItem").classList.add("invisible"); + document.getElementById("bottomQueuePosItem").classList.add("invisible"); + document.getElementById("queueingButtons").classList.add("invisible"); + document.getElementById("queueingMenuItems").classList.add("invisible"); } } @@ -1084,18 +1084,18 @@ window.addEventListener("DOMContentLoaded", () => { const updateAltSpeedIcon = (enabled) => { if (enabled) { - $("alternativeSpeedLimits").src = "images/slow.svg"; - $("alternativeSpeedLimits").alt = "QBT_TR(Alternative speed limits: On)QBT_TR[CONTEXT=MainWindow]"; - $("alternativeSpeedLimits").title = "QBT_TR(Alternative speed limits: On)QBT_TR[CONTEXT=MainWindow]"; + document.getElementById("alternativeSpeedLimits").src = "images/slow.svg"; + document.getElementById("alternativeSpeedLimits").alt = "QBT_TR(Alternative speed limits: On)QBT_TR[CONTEXT=MainWindow]"; + document.getElementById("alternativeSpeedLimits").title = "QBT_TR(Alternative speed limits: On)QBT_TR[CONTEXT=MainWindow]"; } else { - $("alternativeSpeedLimits").src = "images/slow_off.svg"; - $("alternativeSpeedLimits").alt = "QBT_TR(Alternative speed limits: Off)QBT_TR[CONTEXT=MainWindow]"; - $("alternativeSpeedLimits").title = "QBT_TR(Alternative speed limits: Off)QBT_TR[CONTEXT=MainWindow]"; + document.getElementById("alternativeSpeedLimits").src = "images/slow_off.svg"; + document.getElementById("alternativeSpeedLimits").alt = "QBT_TR(Alternative speed limits: Off)QBT_TR[CONTEXT=MainWindow]"; + document.getElementById("alternativeSpeedLimits").title = "QBT_TR(Alternative speed limits: Off)QBT_TR[CONTEXT=MainWindow]"; } }; - $("alternativeSpeedLimits").addEventListener("click", () => { + document.getElementById("alternativeSpeedLimits").addEventListener("click", () => { // Change icon immediately to give some feedback updateAltSpeedIcon(!alternativeSpeedLimits); @@ -1114,33 +1114,33 @@ window.addEventListener("DOMContentLoaded", () => { }); }); - $("DlInfos").addEventListener("click", () => { globalDownloadLimitFN(); }); - $("UpInfos").addEventListener("click", () => { globalUploadLimitFN(); }); + document.getElementById("DlInfos").addEventListener("click", () => { globalDownloadLimitFN(); }); + document.getElementById("UpInfos").addEventListener("click", () => { globalUploadLimitFN(); }); - $("showTopToolbarLink").addEventListener("click", (e) => { + document.getElementById("showTopToolbarLink").addEventListener("click", (e) => { showTopToolbar = !showTopToolbar; LocalPreferences.set("show_top_toolbar", showTopToolbar.toString()); if (showTopToolbar) { - $("showTopToolbarLink").firstElementChild.style.opacity = "1"; - $("mochaToolbar").classList.remove("invisible"); + document.getElementById("showTopToolbarLink").firstElementChild.style.opacity = "1"; + document.getElementById("mochaToolbar").classList.remove("invisible"); } else { - $("showTopToolbarLink").firstElementChild.style.opacity = "0"; - $("mochaToolbar").classList.add("invisible"); + document.getElementById("showTopToolbarLink").firstElementChild.style.opacity = "0"; + document.getElementById("mochaToolbar").classList.add("invisible"); } MochaUI.Desktop.setDesktopSize(); }); - $("showStatusBarLink").addEventListener("click", (e) => { + document.getElementById("showStatusBarLink").addEventListener("click", (e) => { showStatusBar = !showStatusBar; LocalPreferences.set("show_status_bar", showStatusBar.toString()); if (showStatusBar) { - $("showStatusBarLink").firstElementChild.style.opacity = "1"; - $("desktopFooterWrapper").classList.remove("invisible"); + document.getElementById("showStatusBarLink").firstElementChild.style.opacity = "1"; + document.getElementById("desktopFooterWrapper").classList.remove("invisible"); } else { - $("showStatusBarLink").firstElementChild.style.opacity = "0"; - $("desktopFooterWrapper").classList.add("invisible"); + document.getElementById("showStatusBarLink").firstElementChild.style.opacity = "0"; + document.getElementById("desktopFooterWrapper").classList.add("invisible"); } MochaUI.Desktop.setDesktopSize(); }); @@ -1164,49 +1164,49 @@ window.addEventListener("DOMContentLoaded", () => { navigator.registerProtocolHandler("magnet", templateUrl, "qBittorrent WebUI magnet handler"); }; - $("registerMagnetHandlerLink").addEventListener("click", (e) => { + document.getElementById("registerMagnetHandlerLink").addEventListener("click", (e) => { registerMagnetHandler(); }); - $("showFiltersSidebarLink").addEventListener("click", (e) => { + document.getElementById("showFiltersSidebarLink").addEventListener("click", (e) => { showFiltersSidebar = !showFiltersSidebar; LocalPreferences.set("show_filters_sidebar", showFiltersSidebar.toString()); if (showFiltersSidebar) { - $("showFiltersSidebarLink").firstElementChild.style.opacity = "1"; - $("filtersColumn").classList.remove("invisible"); - $("filtersColumn_handle").classList.remove("invisible"); + document.getElementById("showFiltersSidebarLink").firstElementChild.style.opacity = "1"; + document.getElementById("filtersColumn").classList.remove("invisible"); + document.getElementById("filtersColumn_handle").classList.remove("invisible"); } else { - $("showFiltersSidebarLink").firstElementChild.style.opacity = "0"; - $("filtersColumn").classList.add("invisible"); - $("filtersColumn_handle").classList.add("invisible"); + document.getElementById("showFiltersSidebarLink").firstElementChild.style.opacity = "0"; + document.getElementById("filtersColumn").classList.add("invisible"); + document.getElementById("filtersColumn_handle").classList.add("invisible"); } MochaUI.Desktop.setDesktopSize(); }); - $("speedInBrowserTitleBarLink").addEventListener("click", (e) => { + document.getElementById("speedInBrowserTitleBarLink").addEventListener("click", (e) => { speedInTitle = !speedInTitle; LocalPreferences.set("speed_in_browser_title_bar", speedInTitle.toString()); if (speedInTitle) - $("speedInBrowserTitleBarLink").firstElementChild.style.opacity = "1"; + document.getElementById("speedInBrowserTitleBarLink").firstElementChild.style.opacity = "1"; else - $("speedInBrowserTitleBarLink").firstElementChild.style.opacity = "0"; + document.getElementById("speedInBrowserTitleBarLink").firstElementChild.style.opacity = "0"; processServerState(); }); - $("showSearchEngineLink").addEventListener("click", (e) => { + document.getElementById("showSearchEngineLink").addEventListener("click", (e) => { window.qBittorrent.Client.showSearchEngine(!window.qBittorrent.Client.isShowSearchEngine()); LocalPreferences.set("show_search_engine", window.qBittorrent.Client.isShowSearchEngine().toString()); updateTabDisplay(); }); - $("showRssReaderLink").addEventListener("click", (e) => { + document.getElementById("showRssReaderLink").addEventListener("click", (e) => { window.qBittorrent.Client.showRssReader(!window.qBittorrent.Client.isShowRssReader()); LocalPreferences.set("show_rss_reader", window.qBittorrent.Client.isShowRssReader().toString()); updateTabDisplay(); }); - $("showLogViewerLink").addEventListener("click", (e) => { + document.getElementById("showLogViewerLink").addEventListener("click", (e) => { window.qBittorrent.Client.showLogViewer(!window.qBittorrent.Client.isShowLogViewer()); LocalPreferences.set("show_log_viewer", window.qBittorrent.Client.isShowLogViewer().toString()); updateTabDisplay(); @@ -1214,64 +1214,64 @@ window.addEventListener("DOMContentLoaded", () => { const updateTabDisplay = () => { if (window.qBittorrent.Client.isShowRssReader()) { - $("showRssReaderLink").firstElementChild.style.opacity = "1"; - $("mainWindowTabs").classList.remove("invisible"); - $("rssTabLink").classList.remove("invisible"); + document.getElementById("showRssReaderLink").firstElementChild.style.opacity = "1"; + document.getElementById("mainWindowTabs").classList.remove("invisible"); + document.getElementById("rssTabLink").classList.remove("invisible"); if (!MochaUI.Panels.instances.RssPanel) addRssPanel(); } else { - $("showRssReaderLink").firstElementChild.style.opacity = "0"; - $("rssTabLink").classList.add("invisible"); - if ($("rssTabLink").classList.contains("selected")) - $("transfersTabLink").click(); + document.getElementById("showRssReaderLink").firstElementChild.style.opacity = "0"; + document.getElementById("rssTabLink").classList.add("invisible"); + if (document.getElementById("rssTabLink").classList.contains("selected")) + document.getElementById("transfersTabLink").click(); } if (window.qBittorrent.Client.isShowSearchEngine()) { - $("showSearchEngineLink").firstElementChild.style.opacity = "1"; - $("mainWindowTabs").classList.remove("invisible"); - $("searchTabLink").classList.remove("invisible"); + document.getElementById("showSearchEngineLink").firstElementChild.style.opacity = "1"; + document.getElementById("mainWindowTabs").classList.remove("invisible"); + document.getElementById("searchTabLink").classList.remove("invisible"); if (!MochaUI.Panels.instances.SearchPanel) addSearchPanel(); } else { - $("showSearchEngineLink").firstElementChild.style.opacity = "0"; - $("searchTabLink").classList.add("invisible"); - if ($("searchTabLink").classList.contains("selected")) - $("transfersTabLink").click(); + document.getElementById("showSearchEngineLink").firstElementChild.style.opacity = "0"; + document.getElementById("searchTabLink").classList.add("invisible"); + if (document.getElementById("searchTabLink").classList.contains("selected")) + document.getElementById("transfersTabLink").click(); } if (window.qBittorrent.Client.isShowLogViewer()) { - $("showLogViewerLink").firstElementChild.style.opacity = "1"; - $("mainWindowTabs").classList.remove("invisible"); - $("logTabLink").classList.remove("invisible"); + document.getElementById("showLogViewerLink").firstElementChild.style.opacity = "1"; + document.getElementById("mainWindowTabs").classList.remove("invisible"); + document.getElementById("logTabLink").classList.remove("invisible"); if (!MochaUI.Panels.instances.LogPanel) addLogPanel(); } else { - $("showLogViewerLink").firstElementChild.style.opacity = "0"; - $("logTabLink").classList.add("invisible"); - if ($("logTabLink").classList.contains("selected")) - $("transfersTabLink").click(); + document.getElementById("showLogViewerLink").firstElementChild.style.opacity = "0"; + document.getElementById("logTabLink").classList.add("invisible"); + if (document.getElementById("logTabLink").classList.contains("selected")) + document.getElementById("transfersTabLink").click(); } // display no tabs if (!window.qBittorrent.Client.isShowRssReader() && !window.qBittorrent.Client.isShowSearchEngine() && !window.qBittorrent.Client.isShowLogViewer()) - $("mainWindowTabs").classList.add("invisible"); + document.getElementById("mainWindowTabs").classList.add("invisible"); }; - $("StatisticsLink").addEventListener("click", () => { StatisticsLinkFN(); }); + document.getElementById("StatisticsLink").addEventListener("click", () => { StatisticsLinkFN(); }); // main window tabs const showTransfersTab = () => { const showFiltersSidebar = LocalPreferences.get("show_filters_sidebar", "true") === "true"; if (showFiltersSidebar) { - $("filtersColumn").classList.remove("invisible"); - $("filtersColumn_handle").classList.remove("invisible"); + document.getElementById("filtersColumn").classList.remove("invisible"); + document.getElementById("filtersColumn_handle").classList.remove("invisible"); } - $("mainColumn").classList.remove("invisible"); - $("torrentsFilterToolbar").classList.remove("invisible"); + document.getElementById("mainColumn").classList.remove("invisible"); + document.getElementById("torrentsFilterToolbar").classList.remove("invisible"); customSyncMainDataInterval = null; syncData(100); @@ -1284,10 +1284,10 @@ window.addEventListener("DOMContentLoaded", () => { }; const hideTransfersTab = () => { - $("filtersColumn").classList.add("invisible"); - $("filtersColumn_handle").classList.add("invisible"); - $("mainColumn").classList.add("invisible"); - $("torrentsFilterToolbar").classList.add("invisible"); + document.getElementById("filtersColumn").classList.add("invisible"); + document.getElementById("filtersColumn_handle").classList.add("invisible"); + document.getElementById("mainColumn").classList.add("invisible"); + document.getElementById("torrentsFilterToolbar").classList.add("invisible"); MochaUI.Desktop.resizePanels(); }; @@ -1310,7 +1310,7 @@ window.addEventListener("DOMContentLoaded", () => { searchTabInitialized = true; } - $("searchTabColumn").classList.remove("invisible"); + document.getElementById("searchTabColumn").classList.remove("invisible"); customSyncMainDataInterval = 30000; hideTransfersTab(); hideRssTab(); @@ -1321,7 +1321,7 @@ window.addEventListener("DOMContentLoaded", () => { })(); const hideSearchTab = () => { - $("searchTabColumn").classList.add("invisible"); + document.getElementById("searchTabColumn").classList.add("invisible"); MochaUI.Desktop.resizePanels(); }; @@ -1347,7 +1347,7 @@ window.addEventListener("DOMContentLoaded", () => { window.qBittorrent.Rss.load(); } - $("rssTabColumn").classList.remove("invisible"); + document.getElementById("rssTabColumn").classList.remove("invisible"); customSyncMainDataInterval = 30000; hideTransfersTab(); hideSearchTab(); @@ -1358,7 +1358,7 @@ window.addEventListener("DOMContentLoaded", () => { })(); const hideRssTab = () => { - $("rssTabColumn").classList.add("invisible"); + document.getElementById("rssTabColumn").classList.add("invisible"); window.qBittorrent.Rss && window.qBittorrent.Rss.unload(); MochaUI.Desktop.resizePanels(); }; @@ -1385,7 +1385,7 @@ window.addEventListener("DOMContentLoaded", () => { window.qBittorrent.Log.load(); } - $("logTabColumn").classList.remove("invisible"); + document.getElementById("logTabColumn").classList.remove("invisible"); customSyncMainDataInterval = 30000; hideTransfersTab(); hideSearchTab(); @@ -1396,7 +1396,7 @@ window.addEventListener("DOMContentLoaded", () => { })(); const hideLogTab = () => { - $("logTabColumn").classList.add("invisible"); + document.getElementById("logTabColumn").classList.add("invisible"); MochaUI.Desktop.resizePanels(); window.qBittorrent.Log && window.qBittorrent.Log.unload(); }; @@ -1472,11 +1472,11 @@ window.addEventListener("DOMContentLoaded", () => { tabsOnload: () => { MochaUI.initializeTabs("panelTabs"); - $("logMessageLink").addEventListener("click", (e) => { + document.getElementById("logMessageLink").addEventListener("click", (e) => { window.qBittorrent.Log.setCurrentTab("main"); }); - $("logPeerLink").addEventListener("click", (e) => { + document.getElementById("logPeerLink").addEventListener("click", (e) => { window.qBittorrent.Log.setCurrentTab("peer"); }); }, @@ -1618,7 +1618,7 @@ window.addEventListener("DOMContentLoaded", () => { // listen for changes to torrentsFilterInput let torrentsFilterInputTimer = -1; - $("torrentsFilterInput").addEventListener("input", () => { + document.getElementById("torrentsFilterInput").addEventListener("input", () => { clearTimeout(torrentsFilterInputTimer); torrentsFilterInputTimer = setTimeout(() => { torrentsFilterInputTimer = -1; @@ -1628,24 +1628,24 @@ window.addEventListener("DOMContentLoaded", () => { document.getElementById("torrentsFilterToolbar").addEventListener("change", (e) => { torrentsTable.updateTable(); }); - $("transfersTabLink").addEventListener("click", () => { showTransfersTab(); }); - $("searchTabLink").addEventListener("click", () => { showSearchTab(); }); - $("rssTabLink").addEventListener("click", () => { showRssTab(); }); - $("logTabLink").addEventListener("click", () => { showLogTab(); }); + document.getElementById("transfersTabLink").addEventListener("click", () => { showTransfersTab(); }); + document.getElementById("searchTabLink").addEventListener("click", () => { showSearchTab(); }); + document.getElementById("rssTabLink").addEventListener("click", () => { showRssTab(); }); + document.getElementById("logTabLink").addEventListener("click", () => { showLogTab(); }); updateTabDisplay(); const registerDragAndDrop = () => { - $("desktop").addEventListener("dragover", (ev) => { + document.getElementById("desktop").addEventListener("dragover", (ev) => { if (ev.preventDefault) ev.preventDefault(); }); - $("desktop").addEventListener("dragenter", (ev) => { + document.getElementById("desktop").addEventListener("dragenter", (ev) => { if (ev.preventDefault) ev.preventDefault(); }); - $("desktop").addEventListener("drop", (ev) => { + document.getElementById("desktop").addEventListener("drop", (ev) => { if (ev.preventDefault) ev.preventDefault(); @@ -1679,7 +1679,7 @@ window.addEventListener("DOMContentLoaded", () => { saveWindowSize(id); }), onContentLoaded: () => { - const fileInput = $(`${id}_iframe`).contentDocument.getElementById("fileselect"); + const fileInput = document.getElementById(`${id}_iframe`).contentDocument.getElementById("fileselect"); fileInput.files = droppedFiles; } }); @@ -1801,22 +1801,22 @@ window.addEventListener("load", async () => { switch (previouslyUsedTab) { case "search": if (window.qBittorrent.Client.isShowSearchEngine()) - $("searchTabLink").click(); + document.getElementById("searchTabLink").click(); break; case "rss": if (window.qBittorrent.Client.isShowRssReader()) - $("rssTabLink").click(); + document.getElementById("rssTabLink").click(); break; case "log": if (window.qBittorrent.Client.isShowLogViewer()) - $("logTabLink").click(); + document.getElementById("logTabLink").click(); break; case "transfers": - $("transfersTabLink").click(); + document.getElementById("transfersTabLink").click(); break; default: console.error(`Unexpected 'selected_window_tab' value: ${previouslyUsedTab}`); - $("transfersTabLink").click(); + document.getElementById("transfersTabLink").click(); break; }; }); diff --git a/src/webui/www/private/scripts/contextmenu.js b/src/webui/www/private/scripts/contextmenu.js index 7831461bf..c56f1712f 100644 --- a/src/webui/www/private/scripts/contextmenu.js +++ b/src/webui/www/private/scripts/contextmenu.js @@ -66,7 +66,7 @@ window.qBittorrent.ContextMenu ??= (() => { }; // option diffs menu - this.menu = $(this.options.menu); + this.menu = document.getElementById(this.options.menu); // fx this.fx = new Fx.Tween(this.menu, { @@ -190,7 +190,7 @@ window.qBittorrent.ContextMenu ??= (() => { e.stopPropagation(); } // record this as the trigger - this.options.element = $(el); + this.options.element = el; this.adjustMenuPosition(e); // show the menu this.show(); @@ -219,7 +219,7 @@ window.qBittorrent.ContextMenu ??= (() => { }); // hide on body click - $(document.body).addEventListener("click", () => { + document.body.addEventListener("click", () => { this.hide(); this.options.element = null; }); @@ -457,7 +457,7 @@ window.qBittorrent.ContextMenu ??= (() => { this.setEnabled("copyInfohash1", thereAreV1Hashes); this.setEnabled("copyInfohash2", thereAreV2Hashes); - const contextTagList = $("contextTagList"); + const contextTagList = document.getElementById("contextTagList"); for (const tag of tagMap.keys()) { const checkbox = contextTagList.querySelector(`a[href="#Tag/${tag}"] input[type="checkbox"]`); const count = tagCount.get(tag); @@ -477,7 +477,7 @@ window.qBittorrent.ContextMenu ??= (() => { } updateCategoriesSubMenu(categories) { - const contextCategoryList = $("contextCategoryList"); + const contextCategoryList = document.getElementById("contextCategoryList"); [...contextCategoryList.children].forEach((el) => { el.destroy(); }); const createMenuItem = (text, imgURL, clickFn) => { @@ -527,7 +527,7 @@ window.qBittorrent.ContextMenu ??= (() => { } updateTagsSubMenu(tags) { - const contextTagList = $("contextTagList"); + const contextTagList = document.getElementById("contextTagList"); contextTagList.replaceChildren(); const createMenuItem = (text, imgURL, clickFn) => { @@ -727,8 +727,8 @@ window.qBittorrent.ContextMenu ??= (() => { this.menu.style.left = "-999em"; this.menu.style.top = "-999em"; // position the menu - let xPosMenu = e.pageX + this.options.offsets.x - $("rssdownloaderpage").offsetLeft; - let yPosMenu = e.pageY + this.options.offsets.y - $("rssdownloaderpage").offsetTop; + let xPosMenu = e.pageX + this.options.offsets.x - document.getElementById("rssdownloaderpage").offsetLeft; + let yPosMenu = e.pageY + this.options.offsets.y - document.getElementById("rssdownloaderpage").offsetTop; if ((xPosMenu + this.menu.offsetWidth) > document.documentElement.clientWidth) xPosMenu -= this.menu.offsetWidth; if ((yPosMenu + this.menu.offsetHeight) > document.documentElement.clientHeight) diff --git a/src/webui/www/private/scripts/download.js b/src/webui/www/private/scripts/download.js index e79d97978..2b6df21ad 100644 --- a/src/webui/www/private/scripts/download.js +++ b/src/webui/www/private/scripts/download.js @@ -55,7 +55,7 @@ window.qBittorrent.Download ??= (() => { const option = document.createElement("option"); option.value = category.name; option.textContent = category.name; - $("categorySelect").appendChild(option); + document.getElementById("categorySelect").appendChild(option); } }); }; @@ -64,31 +64,31 @@ window.qBittorrent.Download ??= (() => { const pref = window.parent.qBittorrent.Cache.preferences.get(); defaultSavePath = pref.save_path; - $("savepath").value = defaultSavePath; - $("startTorrent").checked = !pref.add_stopped_enabled; - $("addToTopOfQueue").checked = pref.add_to_top_of_queue; + document.getElementById("savepath").value = defaultSavePath; + document.getElementById("startTorrent").checked = !pref.add_stopped_enabled; + document.getElementById("addToTopOfQueue").checked = pref.add_to_top_of_queue; if (pref.auto_tmm_enabled) { - $("autoTMM").selectedIndex = 1; - $("savepath").disabled = true; + document.getElementById("autoTMM").selectedIndex = 1; + document.getElementById("savepath").disabled = true; } else { - $("autoTMM").selectedIndex = 0; + document.getElementById("autoTMM").selectedIndex = 0; } if (pref.torrent_stop_condition === "MetadataReceived") - $("stopCondition").selectedIndex = 1; + document.getElementById("stopCondition").selectedIndex = 1; else if (pref.torrent_stop_condition === "FilesChecked") - $("stopCondition").selectedIndex = 2; + document.getElementById("stopCondition").selectedIndex = 2; else - $("stopCondition").selectedIndex = 0; + document.getElementById("stopCondition").selectedIndex = 0; if (pref.torrent_content_layout === "Subfolder") - $("contentLayout").selectedIndex = 1; + document.getElementById("contentLayout").selectedIndex = 1; else if (pref.torrent_content_layout === "NoSubfolder") - $("contentLayout").selectedIndex = 2; + document.getElementById("contentLayout").selectedIndex = 2; else - $("contentLayout").selectedIndex = 0; + document.getElementById("contentLayout").selectedIndex = 0; }; const changeCategorySelect = (item) => { @@ -97,41 +97,41 @@ window.qBittorrent.Download ??= (() => { item.nextElementSibling.value = ""; item.nextElementSibling.select(); - if ($("autoTMM").selectedIndex === 1) - $("savepath").value = defaultSavePath; + if (document.getElementById("autoTMM").selectedIndex === 1) + document.getElementById("savepath").value = defaultSavePath; } else { item.nextElementSibling.hidden = true; const text = item.options[item.selectedIndex].textContent; item.nextElementSibling.value = text; - if ($("autoTMM").selectedIndex === 1) { + if (document.getElementById("autoTMM").selectedIndex === 1) { const categoryName = item.value; const category = categories[categoryName]; let savePath = defaultSavePath; if (category !== undefined) savePath = (category["savePath"] !== "") ? category["savePath"] : `${defaultSavePath}/${categoryName}`; - $("savepath").value = savePath; + document.getElementById("savepath").value = savePath; } } }; const changeTMM = (item) => { if (item.selectedIndex === 1) { - $("savepath").disabled = true; + document.getElementById("savepath").disabled = true; - const categorySelect = $("categorySelect"); + const categorySelect = document.getElementById("categorySelect"); const categoryName = categorySelect.options[categorySelect.selectedIndex].value; const category = categories[categoryName]; - $("savepath").value = (category === undefined) ? "" : category["savePath"]; + document.getElementById("savepath").value = (category === undefined) ? "" : category["savePath"]; } else { - $("savepath").disabled = false; - $("savepath").value = defaultSavePath; + document.getElementById("savepath").disabled = false; + document.getElementById("savepath").value = defaultSavePath; } }; - $(window).addEventListener("load", async () => { + window.addEventListener("load", async () => { // user might load this page directly (via browser magnet handler) // so wait for crucial initialization to complete await window.parent.qBittorrent.Client.initializeCaches(); diff --git a/src/webui/www/private/scripts/dynamicTable.js b/src/webui/www/private/scripts/dynamicTable.js index d05cd8c53..ea9d46d41 100644 --- a/src/webui/www/private/scripts/dynamicTable.js +++ b/src/webui/www/private/scripts/dynamicTable.js @@ -1762,8 +1762,8 @@ window.qBittorrent.DynamicTable ??= (() => { getFilteredAndSortedRows: function() { const filteredRows = []; - const useRegex = $("torrentsFilterRegexBox").checked; - const filterText = $("torrentsFilterInput").value.trim().toLowerCase(); + const useRegex = document.getElementById("torrentsFilterRegexBox").checked; + const filterText = document.getElementById("torrentsFilterInput").value.trim().toLowerCase(); let filterTerms; try { filterTerms = (filterText.length > 0) @@ -2021,7 +2021,7 @@ window.qBittorrent.DynamicTable ??= (() => { const filterTerms = window.qBittorrent.Search.searchText.filterPattern.toLowerCase().split(" "); const sizeFilters = getSizeFilters(); const seedsFilters = getSeedsFilters(); - const searchInTorrentName = $("searchInTorrentName").value === "names"; + const searchInTorrentName = document.getElementById("searchInTorrentName").value === "names"; if (searchInTorrentName || (filterTerms.length > 0) || (window.qBittorrent.Search.searchSizeFilter.min > 0.00) || (window.qBittorrent.Search.searchSizeFilter.max > 0.00)) { for (const row of this.getRowValues()) { @@ -3263,7 +3263,7 @@ window.qBittorrent.DynamicTable ??= (() => { this.newColumn("name", "", "", -1, true); this.columns["checked"].updateTd = function(td, row) { - if ($(`cbRssDlRule${row.rowId}`) === null) { + if (document.getElementById(`cbRssDlRule${row.rowId}`) === null) { const checkbox = document.createElement("input"); checkbox.type = "checkbox"; checkbox.id = `cbRssDlRule${row.rowId}`; @@ -3281,7 +3281,7 @@ window.qBittorrent.DynamicTable ??= (() => { td.append(checkbox); } else { - $(`cbRssDlRule${row.rowId}`).checked = row.full_data.checked; + document.getElementById(`cbRssDlRule${row.rowId}`).checked = row.full_data.checked; } }; this.columns["checked"].staticWidth = 50; @@ -3361,7 +3361,7 @@ window.qBittorrent.DynamicTable ??= (() => { this.newColumn("name", "", "", -1, true); this.columns["checked"].updateTd = function(td, row) { - if ($(`cbRssDlFeed${row.rowId}`) === null) { + if (document.getElementById(`cbRssDlFeed${row.rowId}`) === null) { const checkbox = document.createElement("input"); checkbox.type = "checkbox"; checkbox.id = `cbRssDlFeed${row.rowId}`; @@ -3378,7 +3378,7 @@ window.qBittorrent.DynamicTable ??= (() => { td.append(checkbox); } else { - $(`cbRssDlFeed${row.rowId}`).checked = row.full_data.checked; + document.getElementById(`cbRssDlFeed${row.rowId}`).checked = row.full_data.checked; } }; this.columns["checked"].staticWidth = 50; diff --git a/src/webui/www/private/scripts/mocha-init.js b/src/webui/www/private/scripts/mocha-init.js index 52bba2d4d..314d84d22 100644 --- a/src/webui/www/private/scripts/mocha-init.js +++ b/src/webui/www/private/scripts/mocha-init.js @@ -151,7 +151,7 @@ let exportTorrentFN = () => {}; const initializeWindows = () => { saveWindowSize = (windowId) => { - const size = $(windowId).getSize(); + const size = document.getElementById(windowId).getSize(); LocalPreferences.set(`window_${windowId}_width`, size.x); LocalPreferences.set(`window_${windowId}_height`, size.y); }; @@ -166,8 +166,8 @@ const initializeWindows = () => { const addClickEvent = (el, fn) => { ["Link", "Button"].each((item) => { - if ($(el + item)) - $(el + item).addEventListener("click", fn); + if (document.getElementById(el + item)) + document.getElementById(el + item).addEventListener("click", fn); }); }; diff --git a/src/webui/www/private/scripts/piecesbar.js b/src/webui/www/private/scripts/piecesbar.js index 49d159cb1..803087f24 100644 --- a/src/webui/www/private/scripts/piecesbar.js +++ b/src/webui/www/private/scripts/piecesbar.js @@ -251,7 +251,7 @@ window.qBittorrent.PiecesBar ??= (() => { } const checkForParent = (id) => { - const obj = $(id); + const obj = document.getElementById(id); if (!obj) return; if (!obj.parentNode) diff --git a/src/webui/www/private/scripts/progressbar.js b/src/webui/www/private/scripts/progressbar.js index 5489b8877..0812024cf 100644 --- a/src/webui/www/private/scripts/progressbar.js +++ b/src/webui/www/private/scripts/progressbar.js @@ -142,7 +142,7 @@ window.qBittorrent.ProgressBar ??= (() => { } const ProgressBar_checkForParent = (id) => { - const obj = $(id); + const obj = document.getElementById(id); if (!obj) return; if (!obj.parentNode) diff --git a/src/webui/www/private/scripts/prop-files.js b/src/webui/www/private/scripts/prop-files.js index 1aa2665b9..0d9ce76b9 100644 --- a/src/webui/www/private/scripts/prop-files.js +++ b/src/webui/www/private/scripts/prop-files.js @@ -208,7 +208,7 @@ window.qBittorrent.PropFiles ??= (() => { const rowIds = []; const fileIds = []; let priority = FilePriority.Ignored; - const checkbox = $("tristate_cb"); + const checkbox = document.getElementById("tristate_cb"); if (checkbox.state === "checked") { setCheckboxUnchecked(checkbox); @@ -245,7 +245,7 @@ window.qBittorrent.PropFiles ??= (() => { }; const updateGlobalCheckbox = () => { - const checkbox = $("tristate_cb"); + const checkbox = document.getElementById("tristate_cb"); if (torrentFilesTable.isAllCheckboxesChecked()) setCheckboxChecked(checkbox); else if (torrentFilesTable.isAllCheckboxesUnchecked()) @@ -297,7 +297,7 @@ window.qBittorrent.PropFiles ??= (() => { ids.forEach((id) => { torrentFilesTable.setIgnored(id, ignore); - const combobox = $(`comboPrio${id}`); + const combobox = document.getElementById(`comboPrio${id}`); if (combobox !== null) selectComboboxPriority(combobox, priority); }); @@ -307,8 +307,8 @@ window.qBittorrent.PropFiles ??= (() => { const loadTorrentFilesData = () => { if (document.hidden) return; - if ($("propFiles").classList.contains("invisible") - || $("propertiesPanel_collapseToggle").classList.contains("panel-expand")) { + if (document.getElementById("propFiles").classList.contains("invisible") + || document.getElementById("propertiesPanel_collapseToggle").classList.contains("panel-expand")) { // Tab changed, don't do anything return; } @@ -586,10 +586,10 @@ window.qBittorrent.PropFiles ??= (() => { // listen for changes to torrentFilesFilterInput let torrentFilesFilterInputTimer = -1; - $("torrentFilesFilterInput").addEventListener("input", () => { + document.getElementById("torrentFilesFilterInput").addEventListener("input", () => { clearTimeout(torrentFilesFilterInputTimer); - const value = $("torrentFilesFilterInput").value; + const value = document.getElementById("torrentFilesFilterInput").value; torrentFilesTable.setFilter(value); torrentFilesFilterInputTimer = setTimeout(() => { diff --git a/src/webui/www/private/scripts/prop-general.js b/src/webui/www/private/scripts/prop-general.js index d93c9b746..fce3c84a6 100644 --- a/src/webui/www/private/scripts/prop-general.js +++ b/src/webui/www/private/scripts/prop-general.js @@ -40,37 +40,37 @@ window.qBittorrent.PropGeneral ??= (() => { const piecesBar = new window.qBittorrent.PiecesBar.PiecesBar([], { height: 18 }); - $("progress").appendChild(piecesBar); + document.getElementById("progress").appendChild(piecesBar); const clearData = () => { document.getElementById("progressPercentage").textContent = ""; - $("time_elapsed").textContent = ""; - $("eta").textContent = ""; - $("nb_connections").textContent = ""; - $("total_downloaded").textContent = ""; - $("total_uploaded").textContent = ""; - $("dl_speed").textContent = ""; - $("up_speed").textContent = ""; - $("dl_limit").textContent = ""; - $("up_limit").textContent = ""; - $("total_wasted").textContent = ""; - $("seeds").textContent = ""; - $("peers").textContent = ""; - $("share_ratio").textContent = ""; - $("popularity").textContent = ""; - $("reannounce").textContent = ""; - $("last_seen").textContent = ""; - $("total_size").textContent = ""; - $("pieces").textContent = ""; - $("created_by").textContent = ""; - $("addition_date").textContent = ""; - $("completion_date").textContent = ""; - $("creation_date").textContent = ""; - $("torrent_hash_v1").textContent = ""; - $("torrent_hash_v2").textContent = ""; - $("save_path").textContent = ""; - $("comment").textContent = ""; - $("private").textContent = ""; + document.getElementById("time_elapsed").textContent = ""; + document.getElementById("eta").textContent = ""; + document.getElementById("nb_connections").textContent = ""; + document.getElementById("total_downloaded").textContent = ""; + document.getElementById("total_uploaded").textContent = ""; + document.getElementById("dl_speed").textContent = ""; + document.getElementById("up_speed").textContent = ""; + document.getElementById("dl_limit").textContent = ""; + document.getElementById("up_limit").textContent = ""; + document.getElementById("total_wasted").textContent = ""; + document.getElementById("seeds").textContent = ""; + document.getElementById("peers").textContent = ""; + document.getElementById("share_ratio").textContent = ""; + document.getElementById("popularity").textContent = ""; + document.getElementById("reannounce").textContent = ""; + document.getElementById("last_seen").textContent = ""; + document.getElementById("total_size").textContent = ""; + document.getElementById("pieces").textContent = ""; + document.getElementById("created_by").textContent = ""; + document.getElementById("addition_date").textContent = ""; + document.getElementById("completion_date").textContent = ""; + document.getElementById("creation_date").textContent = ""; + document.getElementById("torrent_hash_v1").textContent = ""; + document.getElementById("torrent_hash_v2").textContent = ""; + document.getElementById("save_path").textContent = ""; + document.getElementById("comment").textContent = ""; + document.getElementById("private").textContent = ""; piecesBar.clear(); }; @@ -78,8 +78,8 @@ window.qBittorrent.PropGeneral ??= (() => { const loadTorrentData = () => { if (document.hidden) return; - if ($("propGeneral").classList.contains("invisible") - || $("propertiesPanel_collapseToggle").classList.contains("panel-expand")) { + if (document.getElementById("propGeneral").classList.contains("invisible") + || document.getElementById("propertiesPanel_collapseToggle").classList.contains("panel-expand")) { // Tab changed, don't do anything return; } @@ -100,13 +100,13 @@ window.qBittorrent.PropGeneral ??= (() => { }) .then(async (response) => { if (!response.ok) { - $("error_div").textContent = "QBT_TR(qBittorrent client is not reachable)QBT_TR[CONTEXT=HttpServer]"; + document.getElementById("error_div").textContent = "QBT_TR(qBittorrent client is not reachable)QBT_TR[CONTEXT=HttpServer]"; clearTimeout(loadTorrentDataTimer); loadTorrentDataTimer = loadTorrentData.delay(10000); return; } - $("error_div").textContent = ""; + document.getElementById("error_div").textContent = ""; const data = await response.json(); if (data) { @@ -119,70 +119,70 @@ window.qBittorrent.PropGeneral ??= (() => { .replace("%1", window.qBittorrent.Misc.friendlyDuration(data.time_elapsed)) .replace("%2", window.qBittorrent.Misc.friendlyDuration(data.seeding_time)) : window.qBittorrent.Misc.friendlyDuration(data.time_elapsed); - $("time_elapsed").textContent = timeElapsed; + document.getElementById("time_elapsed").textContent = timeElapsed; - $("eta").textContent = window.qBittorrent.Misc.friendlyDuration(data.eta, window.qBittorrent.Misc.MAX_ETA); + document.getElementById("eta").textContent = window.qBittorrent.Misc.friendlyDuration(data.eta, window.qBittorrent.Misc.MAX_ETA); const nbConnections = "QBT_TR(%1 (%2 max))QBT_TR[CONTEXT=PropertiesWidget]" .replace("%1", data.nb_connections) .replace("%2", ((data.nb_connections_limit < 0) ? "∞" : data.nb_connections_limit)); - $("nb_connections").textContent = nbConnections; + document.getElementById("nb_connections").textContent = nbConnections; const totalDownloaded = "QBT_TR(%1 (%2 this session))QBT_TR[CONTEXT=PropertiesWidget]" .replace("%1", window.qBittorrent.Misc.friendlyUnit(data.total_downloaded)) .replace("%2", window.qBittorrent.Misc.friendlyUnit(data.total_downloaded_session)); - $("total_downloaded").textContent = totalDownloaded; + document.getElementById("total_downloaded").textContent = totalDownloaded; const totalUploaded = "QBT_TR(%1 (%2 this session))QBT_TR[CONTEXT=PropertiesWidget]" .replace("%1", window.qBittorrent.Misc.friendlyUnit(data.total_uploaded)) .replace("%2", window.qBittorrent.Misc.friendlyUnit(data.total_uploaded_session)); - $("total_uploaded").textContent = totalUploaded; + document.getElementById("total_uploaded").textContent = totalUploaded; const dlSpeed = "QBT_TR(%1 (%2 avg.))QBT_TR[CONTEXT=PropertiesWidget]" .replace("%1", window.qBittorrent.Misc.friendlyUnit(data.dl_speed, true)) .replace("%2", window.qBittorrent.Misc.friendlyUnit(data.dl_speed_avg, true)); - $("dl_speed").textContent = dlSpeed; + document.getElementById("dl_speed").textContent = dlSpeed; const upSpeed = "QBT_TR(%1 (%2 avg.))QBT_TR[CONTEXT=PropertiesWidget]" .replace("%1", window.qBittorrent.Misc.friendlyUnit(data.up_speed, true)) .replace("%2", window.qBittorrent.Misc.friendlyUnit(data.up_speed_avg, true)); - $("up_speed").textContent = upSpeed; + document.getElementById("up_speed").textContent = upSpeed; const dlLimit = (data.dl_limit === -1) ? "∞" : window.qBittorrent.Misc.friendlyUnit(data.dl_limit, true); - $("dl_limit").textContent = dlLimit; + document.getElementById("dl_limit").textContent = dlLimit; const upLimit = (data.up_limit === -1) ? "∞" : window.qBittorrent.Misc.friendlyUnit(data.up_limit, true); - $("up_limit").textContent = upLimit; + document.getElementById("up_limit").textContent = upLimit; - $("total_wasted").textContent = window.qBittorrent.Misc.friendlyUnit(data.total_wasted); + document.getElementById("total_wasted").textContent = window.qBittorrent.Misc.friendlyUnit(data.total_wasted); const seeds = "QBT_TR(%1 (%2 total))QBT_TR[CONTEXT=PropertiesWidget]" .replace("%1", data.seeds) .replace("%2", data.seeds_total); - $("seeds").textContent = seeds; + document.getElementById("seeds").textContent = seeds; const peers = "QBT_TR(%1 (%2 total))QBT_TR[CONTEXT=PropertiesWidget]" .replace("%1", data.peers) .replace("%2", data.peers_total); - $("peers").textContent = peers; + document.getElementById("peers").textContent = peers; - $("share_ratio").textContent = data.share_ratio.toFixed(2); + document.getElementById("share_ratio").textContent = data.share_ratio.toFixed(2); - $("popularity").textContent = data.popularity.toFixed(2); + document.getElementById("popularity").textContent = data.popularity.toFixed(2); - $("reannounce").textContent = window.qBittorrent.Misc.friendlyDuration(data.reannounce); + document.getElementById("reannounce").textContent = window.qBittorrent.Misc.friendlyDuration(data.reannounce); const lastSeen = (data.last_seen >= 0) ? new Date(data.last_seen * 1000).toLocaleString() : "QBT_TR(Never)QBT_TR[CONTEXT=PropertiesWidget]"; - $("last_seen").textContent = lastSeen; + document.getElementById("last_seen").textContent = lastSeen; const totalSize = (data.total_size >= 0) ? window.qBittorrent.Misc.friendlyUnit(data.total_size) : ""; - $("total_size").textContent = totalSize; + document.getElementById("total_size").textContent = totalSize; const pieces = (data.pieces_num >= 0) ? "QBT_TR(%1 x %2 (have %3))QBT_TR[CONTEXT=PropertiesWidget]" @@ -190,40 +190,40 @@ window.qBittorrent.PropGeneral ??= (() => { .replace("%2", window.qBittorrent.Misc.friendlyUnit(data.piece_size)) .replace("%3", data.pieces_have) : ""; - $("pieces").textContent = pieces; + document.getElementById("pieces").textContent = pieces; - $("created_by").textContent = data.created_by; + document.getElementById("created_by").textContent = data.created_by; const additionDate = (data.addition_date >= 0) ? new Date(data.addition_date * 1000).toLocaleString() : "QBT_TR(Unknown)QBT_TR[CONTEXT=HttpServer]"; - $("addition_date").textContent = additionDate; + document.getElementById("addition_date").textContent = additionDate; const completionDate = (data.completion_date >= 0) ? new Date(data.completion_date * 1000).toLocaleString() : ""; - $("completion_date").textContent = completionDate; + document.getElementById("completion_date").textContent = completionDate; const creationDate = (data.creation_date >= 0) ? new Date(data.creation_date * 1000).toLocaleString() : ""; - $("creation_date").textContent = creationDate; + document.getElementById("creation_date").textContent = creationDate; const torrentHashV1 = (data.infohash_v1 !== "") ? data.infohash_v1 : "QBT_TR(N/A)QBT_TR[CONTEXT=PropertiesWidget]"; - $("torrent_hash_v1").textContent = torrentHashV1; + document.getElementById("torrent_hash_v1").textContent = torrentHashV1; const torrentHashV2 = (data.infohash_v2 !== "") ? data.infohash_v2 : "QBT_TR(N/A)QBT_TR[CONTEXT=PropertiesWidget]"; - $("torrent_hash_v2").textContent = torrentHashV2; + document.getElementById("torrent_hash_v2").textContent = torrentHashV2; - $("save_path").textContent = data.save_path; + document.getElementById("save_path").textContent = data.save_path; - $("comment").innerHTML = window.qBittorrent.Misc.parseHtmlLinks(window.qBittorrent.Misc.escapeHtml(data.comment)); + document.getElementById("comment").innerHTML = window.qBittorrent.Misc.parseHtmlLinks(window.qBittorrent.Misc.escapeHtml(data.comment)); - $("private").textContent = (data.has_metadata + document.getElementById("private").textContent = (data.has_metadata ? (data.private ? "QBT_TR(Yes)QBT_TR[CONTEXT=PropertiesWidget]" : "QBT_TR(No)QBT_TR[CONTEXT=PropertiesWidget]") @@ -246,13 +246,13 @@ window.qBittorrent.PropGeneral ??= (() => { }) .then(async (response) => { if (!response.ok) { - $("error_div").textContent = "QBT_TR(qBittorrent client is not reachable)QBT_TR[CONTEXT=HttpServer]"; + document.getElementById("error_div").textContent = "QBT_TR(qBittorrent client is not reachable)QBT_TR[CONTEXT=HttpServer]"; clearTimeout(loadTorrentDataTimer); loadTorrentDataTimer = loadTorrentData.delay(10000); return; } - $("error_div").textContent = ""; + document.getElementById("error_div").textContent = ""; const data = await response.json(); if (data) diff --git a/src/webui/www/private/scripts/prop-peers.js b/src/webui/www/private/scripts/prop-peers.js index 8ccb2cbd1..f718d04e6 100644 --- a/src/webui/www/private/scripts/prop-peers.js +++ b/src/webui/www/private/scripts/prop-peers.js @@ -45,8 +45,8 @@ window.qBittorrent.PropPeers ??= (() => { const loadTorrentPeersData = () => { if (document.hidden) return; - if ($("propPeers").classList.contains("invisible") - || $("propertiesPanel_collapseToggle").classList.contains("panel-expand")) { + if (document.getElementById("propPeers").classList.contains("invisible") + || document.getElementById("propertiesPanel_collapseToggle").classList.contains("panel-expand")) { syncTorrentPeersLastResponseId = 0; torrentPeersTable.clear(); return; @@ -73,7 +73,7 @@ window.qBittorrent.PropPeers ??= (() => { const responseJSON = await response.json(); - $("error_div").textContent = ""; + document.getElementById("error_div").textContent = ""; if (responseJSON) { const full_update = (responseJSON["full_update"] === true); if (full_update) diff --git a/src/webui/www/private/scripts/prop-trackers.js b/src/webui/www/private/scripts/prop-trackers.js index e75709724..05a5de700 100644 --- a/src/webui/www/private/scripts/prop-trackers.js +++ b/src/webui/www/private/scripts/prop-trackers.js @@ -45,8 +45,8 @@ window.qBittorrent.PropTrackers ??= (() => { const loadTrackersData = () => { if (document.hidden) return; - if ($("propTrackers").classList.contains("invisible") - || $("propertiesPanel_collapseToggle").classList.contains("panel-expand")) { + if (document.getElementById("propTrackers").classList.contains("invisible") + || document.getElementById("propertiesPanel_collapseToggle").classList.contains("panel-expand")) { // Tab changed, don't do anything return; } diff --git a/src/webui/www/private/scripts/prop-webseeds.js b/src/webui/www/private/scripts/prop-webseeds.js index 7fd517597..737642f69 100644 --- a/src/webui/www/private/scripts/prop-webseeds.js +++ b/src/webui/www/private/scripts/prop-webseeds.js @@ -45,8 +45,8 @@ window.qBittorrent.PropWebseeds ??= (() => { const loadWebSeedsData = () => { if (document.hidden) return; - if ($("propWebSeeds").classList.contains("invisible") - || $("propertiesPanel_collapseToggle").classList.contains("panel-expand")) { + if (document.getElementById("propWebSeeds").classList.contains("invisible") + || document.getElementById("propertiesPanel_collapseToggle").classList.contains("panel-expand")) { // Tab changed, don't do anything return; } diff --git a/src/webui/www/private/scripts/search.js b/src/webui/www/private/scripts/search.js index 3dc0b454b..5d9d8c946 100644 --- a/src/webui/www/private/scripts/search.js +++ b/src/webui/www/private/scripts/search.js @@ -107,7 +107,7 @@ window.qBittorrent.Search ??= (() => { const init = () => { // load "Search in" preference from local storage - $("searchInTorrentName").value = (LocalPreferences.get("search_in_filter") === "names") ? "names" : "everywhere"; + document.getElementById("searchInTorrentName").value = (LocalPreferences.get("search_in_filter") === "names") ? "names" : "everywhere"; const searchResultsTableContextMenu = new window.qBittorrent.ContextMenu.ContextMenu({ targets: "#searchResultsTableDiv tbody tr", menu: "searchResultsTableMenu", @@ -128,12 +128,12 @@ window.qBittorrent.Search ??= (() => { // listen for changes to searchInNameFilter let searchInNameFilterTimer = -1; - $("searchInNameFilter").addEventListener("input", () => { + document.getElementById("searchInNameFilter").addEventListener("input", () => { clearTimeout(searchInNameFilterTimer); searchInNameFilterTimer = setTimeout(() => { searchInNameFilterTimer = -1; - const value = $("searchInNameFilter").value; + const value = document.getElementById("searchInNameFilter").value; searchText.filterPattern = value; searchFilterChanged(); }, window.qBittorrent.Misc.FILTER_INPUT_DELAY); @@ -200,15 +200,15 @@ window.qBittorrent.Search ??= (() => { document.getElementById("startSearchButton").lastChild.textContent = "QBT_TR(Search)QBT_TR[CONTEXT=SearchEngineWidget]"; }); listItem.appendChild(tabElem); - $("searchTabs").appendChild(listItem); + document.getElementById("searchTabs").appendChild(listItem); searchResultsTabsContextMenu.addTarget(listItem); // unhide the results elements if (numSearchTabs() >= 1) { - $("searchResultsNoSearches").classList.add("invisible"); - $("searchResultsFilters").classList.remove("invisible"); - $("searchResultsTableContainer").classList.remove("invisible"); - $("searchTabsToolbar").classList.remove("invisible"); + document.getElementById("searchResultsNoSearches").classList.add("invisible"); + document.getElementById("searchResultsFilters").classList.remove("invisible"); + document.getElementById("searchResultsTableContainer").classList.remove("invisible"); + document.getElementById("searchTabsToolbar").classList.remove("invisible"); } // select new tab @@ -268,12 +268,12 @@ window.qBittorrent.Search ??= (() => { resetSearchState(); resetFilters(); - $("numSearchResultsVisible").textContent = 0; - $("numSearchResultsTotal").textContent = 0; - $("searchResultsNoSearches").classList.remove("invisible"); - $("searchResultsFilters").classList.add("invisible"); - $("searchResultsTableContainer").classList.add("invisible"); - $("searchTabsToolbar").classList.add("invisible"); + document.getElementById("numSearchResultsVisible").textContent = 0; + document.getElementById("numSearchResultsTotal").textContent = 0; + document.getElementById("searchResultsNoSearches").classList.remove("invisible"); + document.getElementById("searchResultsFilters").classList.add("invisible"); + document.getElementById("searchResultsTableContainer").classList.add("invisible"); + document.getElementById("searchTabsToolbar").classList.add("invisible"); } else if (isTabSelected && newTabToSelect) { setActiveTab(newTabToSelect); @@ -335,23 +335,23 @@ window.qBittorrent.Search ??= (() => { // restore filters searchText.pattern = state.searchPattern; searchText.filterPattern = state.filterPattern; - $("searchInNameFilter").value = state.filterPattern; + document.getElementById("searchInNameFilter").value = state.filterPattern; searchSeedsFilter.min = state.seedsFilter.min; searchSeedsFilter.max = state.seedsFilter.max; - $("searchMinSeedsFilter").value = state.seedsFilter.min; - $("searchMaxSeedsFilter").value = state.seedsFilter.max; + document.getElementById("searchMinSeedsFilter").value = state.seedsFilter.min; + document.getElementById("searchMaxSeedsFilter").value = state.seedsFilter.max; searchSizeFilter.min = state.sizeFilter.min; searchSizeFilter.minUnit = state.sizeFilter.minUnit; searchSizeFilter.max = state.sizeFilter.max; searchSizeFilter.maxUnit = state.sizeFilter.maxUnit; - $("searchMinSizeFilter").value = state.sizeFilter.min; - $("searchMinSizePrefix").value = state.sizeFilter.minUnit; - $("searchMaxSizeFilter").value = state.sizeFilter.max; - $("searchMaxSizePrefix").value = state.sizeFilter.maxUnit; + document.getElementById("searchMinSizeFilter").value = state.sizeFilter.min; + document.getElementById("searchMinSizePrefix").value = state.sizeFilter.minUnit; + document.getElementById("searchMaxSizeFilter").value = state.sizeFilter.max; + document.getElementById("searchMaxSizePrefix").value = state.sizeFilter.maxUnit; - const currentSearchPattern = $("searchPattern").value.trim(); + const currentSearchPattern = document.getElementById("searchPattern").value.trim(); if (state.running && (state.searchPattern === currentSearchPattern)) { // allow search to be stopped document.getElementById("startSearchButton").lastChild.textContent = "QBT_TR(Stop)QBT_TR[CONTEXT=SearchEngineWidget]"; @@ -360,7 +360,7 @@ window.qBittorrent.Search ??= (() => { searchResultsTable.setSortedColumn(state.sort.column, state.sort.reverse); - $("searchInTorrentName").value = state.searchIn; + document.getElementById("searchInTorrentName").value = state.searchIn; } // must restore all filters before calling updateTable @@ -370,8 +370,8 @@ window.qBittorrent.Search ??= (() => { if (rowsToSelect.length > 0) searchResultsTable.reselectRows(rowsToSelect); - $("numSearchResultsVisible").textContent = searchResultsTable.getFilteredAndSortedRows().length; - $("numSearchResultsTotal").textContent = searchResultsTable.getRowSize(); + document.getElementById("numSearchResultsVisible").textContent = searchResultsTable.getFilteredAndSortedRows().length; + document.getElementById("numSearchResultsTotal").textContent = searchResultsTable.getRowSize(); }; const getStatusIconElement = (text, image) => { @@ -386,7 +386,7 @@ window.qBittorrent.Search ??= (() => { }; const updateStatusIconElement = (searchId, text, image) => { - const searchTab = $(`${searchTabIdPrefix}${searchId}`); + const searchTab = document.getElementById(`${searchTabIdPrefix}${searchId}`); if (searchTab) { const statusIcon = searchTab.querySelector(".statusIcon"); statusIcon.alt = text; @@ -439,7 +439,7 @@ window.qBittorrent.Search ??= (() => { }; const getSelectedSearchId = () => { - const selectedTab = $("searchTabs").querySelector("li.selected"); + const selectedTab = document.getElementById("searchTabs").querySelector("li.selected"); return selectedTab ? getSearchIdFromTab(selectedTab) : null; }; @@ -448,9 +448,9 @@ window.qBittorrent.Search ??= (() => { const state = searchState.get(currentSearchId); const isSearchRunning = state && state.running; if (!isSearchRunning || searchPatternChanged) { - const pattern = $("searchPattern").value.trim(); - const category = $("categorySelect").value; - const plugins = $("pluginsSelect").value; + const pattern = document.getElementById("searchPattern").value.trim(); + const category = document.getElementById("categorySelect").value; + const plugins = document.getElementById("pluginsSelect").value; if (!pattern || !category || !plugins) return; @@ -506,7 +506,7 @@ window.qBittorrent.Search ??= (() => { const manageSearchPlugins = () => { const id = "searchPlugins"; - if (!$(id)) { + if (!document.getElementById(id)) { new MochaUI.Window({ id: id, title: "QBT_TR(Search plugins)QBT_TR[CONTEXT=PluginSelectDlg]", @@ -541,7 +541,7 @@ window.qBittorrent.Search ??= (() => { const onSearchPatternChanged = () => { const currentSearchId = getSelectedSearchId(); const state = searchState.get(currentSearchId); - const currentSearchPattern = $("searchPattern").value.trim(); + const currentSearchPattern = document.getElementById("searchPattern").value.trim(); // start a new search if pattern has changed, otherwise allow the search to be stopped if (state && (state.searchPattern === currentSearchPattern)) { searchPatternChanged = false; @@ -554,11 +554,11 @@ window.qBittorrent.Search ??= (() => { }; const categorySelected = () => { - selectedCategory = $("categorySelect").value; + selectedCategory = document.getElementById("categorySelect").value; }; const pluginSelected = () => { - selectedPlugin = $("pluginsSelect").value; + selectedPlugin = document.getElementById("pluginsSelect").value; if (selectedPlugin !== prevSelectedPlugin) { prevSelectedPlugin = selectedPlugin; @@ -567,18 +567,18 @@ window.qBittorrent.Search ??= (() => { }; const reselectCategory = () => { - for (let i = 0; i < $("categorySelect").options.length; ++i) { - if ($("categorySelect").options[i].get("value") === selectedCategory) - $("categorySelect").options[i].selected = true; + for (let i = 0; i < document.getElementById("categorySelect").options.length; ++i) { + if (document.getElementById("categorySelect").options[i].get("value") === selectedCategory) + document.getElementById("categorySelect").options[i].selected = true; } categorySelected(); }; const reselectPlugin = () => { - for (let i = 0; i < $("pluginsSelect").options.length; ++i) { - if ($("pluginsSelect").options[i].get("value") === selectedPlugin) - $("pluginsSelect").options[i].selected = true; + for (let i = 0; i < document.getElementById("pluginsSelect").options.length; ++i) { + if (document.getElementById("pluginsSelect").options[i].get("value") === selectedPlugin) + document.getElementById("pluginsSelect").options[i].selected = true; } pluginSelected(); @@ -614,10 +614,10 @@ window.qBittorrent.Search ??= (() => { categoryOptions.splice(1, 0, option); } - $("categorySelect").replaceChildren(...categoryOptions); + document.getElementById("categorySelect").replaceChildren(...categoryOptions); }; - const selectedPlugin = $("pluginsSelect").value; + const selectedPlugin = document.getElementById("pluginsSelect").value; if ((selectedPlugin === "all") || (selectedPlugin === "enabled")) { const uniqueCategories = {}; @@ -675,9 +675,9 @@ window.qBittorrent.Search ??= (() => { const searchPluginsEmpty = (searchPlugins.length === 0); if (!searchPluginsEmpty) { - $("searchResultsNoPlugins").classList.add("invisible"); + document.getElementById("searchResultsNoPlugins").classList.add("invisible"); if (numSearchTabs() === 0) - $("searchResultsNoSearches").classList.remove("invisible"); + document.getElementById("searchResultsNoSearches").classList.remove("invisible"); // sort plugins alphabetically const allPlugins = searchPlugins.sort((left, right) => { @@ -695,11 +695,11 @@ window.qBittorrent.Search ??= (() => { pluginOptions.splice(2, 0, createOption("──────────", undefined, true)); } - $("pluginsSelect").replaceChildren(...pluginOptions); + document.getElementById("pluginsSelect").replaceChildren(...pluginOptions); - $("searchPattern").disabled = searchPluginsEmpty; - $("categorySelect").disabled = searchPluginsEmpty; - $("pluginsSelect").disabled = searchPluginsEmpty; + document.getElementById("searchPattern").disabled = searchPluginsEmpty; + document.getElementById("categorySelect").disabled = searchPluginsEmpty; + document.getElementById("pluginsSelect").disabled = searchPluginsEmpty; document.getElementById("startSearchButton").disabled = searchPluginsEmpty; if (window.qBittorrent.SearchPlugins !== undefined) @@ -721,25 +721,25 @@ window.qBittorrent.Search ??= (() => { const resetFilters = () => { searchText.filterPattern = ""; - $("searchInNameFilter").value = ""; + document.getElementById("searchInNameFilter").value = ""; searchSeedsFilter.min = 0; searchSeedsFilter.max = 0; - $("searchMinSeedsFilter").value = searchSeedsFilter.min; - $("searchMaxSeedsFilter").value = searchSeedsFilter.max; + document.getElementById("searchMinSeedsFilter").value = searchSeedsFilter.min; + document.getElementById("searchMaxSeedsFilter").value = searchSeedsFilter.max; searchSizeFilter.min = 0.00; searchSizeFilter.minUnit = 2; // B = 0, KiB = 1, MiB = 2, GiB = 3, TiB = 4, PiB = 5, EiB = 6 searchSizeFilter.max = 0.00; searchSizeFilter.maxUnit = 3; - $("searchMinSizeFilter").value = searchSizeFilter.min; - $("searchMinSizePrefix").value = searchSizeFilter.minUnit; - $("searchMaxSizeFilter").value = searchSizeFilter.max; - $("searchMaxSizePrefix").value = searchSizeFilter.maxUnit; + document.getElementById("searchMinSizeFilter").value = searchSizeFilter.min; + document.getElementById("searchMinSizePrefix").value = searchSizeFilter.minUnit; + document.getElementById("searchMaxSizeFilter").value = searchSizeFilter.max; + document.getElementById("searchMaxSizePrefix").value = searchSizeFilter.maxUnit; }; const getSearchInTorrentName = () => { - return ($("searchInTorrentName").value === "names") ? "names" : "everywhere"; + return (document.getElementById("searchInTorrentName").value === "names") ? "names" : "everywhere"; }; const searchInTorrentName = () => { @@ -748,29 +748,29 @@ window.qBittorrent.Search ??= (() => { }; const searchSeedsFilterChanged = () => { - searchSeedsFilter.min = $("searchMinSeedsFilter").value; - searchSeedsFilter.max = $("searchMaxSeedsFilter").value; + searchSeedsFilter.min = document.getElementById("searchMinSeedsFilter").value; + searchSeedsFilter.max = document.getElementById("searchMaxSeedsFilter").value; searchFilterChanged(); }; const searchSizeFilterChanged = () => { - searchSizeFilter.min = $("searchMinSizeFilter").value; - searchSizeFilter.minUnit = $("searchMinSizePrefix").value; - searchSizeFilter.max = $("searchMaxSizeFilter").value; - searchSizeFilter.maxUnit = $("searchMaxSizePrefix").value; + searchSizeFilter.min = document.getElementById("searchMinSizeFilter").value; + searchSizeFilter.minUnit = document.getElementById("searchMinSizePrefix").value; + searchSizeFilter.max = document.getElementById("searchMaxSizeFilter").value; + searchSizeFilter.maxUnit = document.getElementById("searchMaxSizePrefix").value; searchFilterChanged(); }; const searchSizeFilterPrefixChanged = () => { - if ((Number($("searchMinSizeFilter").value) !== 0) || (Number($("searchMaxSizeFilter").value) !== 0)) + if ((Number(document.getElementById("searchMinSizeFilter").value) !== 0) || (Number(document.getElementById("searchMaxSizeFilter").value) !== 0)) searchSizeFilterChanged(); }; const searchFilterChanged = () => { searchResultsTable.updateTable(); - $("numSearchResultsVisible").textContent = searchResultsTable.getFilteredAndSortedRows().length; + document.getElementById("numSearchResultsVisible").textContent = searchResultsTable.getFilteredAndSortedRows().length; }; const loadSearchResultsData = function(searchId) { @@ -799,7 +799,7 @@ window.qBittorrent.Search ??= (() => { return; } - $("error_div").textContent = ""; + document.getElementById("error_div").textContent = ""; const state = searchState.get(searchId); // check if user stopped the search prior to receiving the response @@ -842,8 +842,8 @@ window.qBittorrent.Search ??= (() => { for (const row of newRows) searchResultsTable.updateRowData(row); - $("numSearchResultsVisible").textContent = searchResultsTable.getFilteredAndSortedRows().length; - $("numSearchResultsTotal").textContent = searchResultsTable.getRowSize(); + document.getElementById("numSearchResultsVisible").textContent = searchResultsTable.getFilteredAndSortedRows().length; + document.getElementById("numSearchResultsTotal").textContent = searchResultsTable.getRowSize(); searchResultsTable.updateTable(); } diff --git a/src/webui/www/private/scripts/speedslider.js b/src/webui/www/private/scripts/speedslider.js index 24544a8d1..f2c96f66a 100644 --- a/src/webui/www/private/scripts/speedslider.js +++ b/src/webui/www/private/scripts/speedslider.js @@ -30,7 +30,7 @@ MochaUI.extend({ addUpLimitSlider: (hashes) => { - if ($("uplimitSliderarea")) { + if (document.getElementById("uplimitSliderarea")) { // Get global upload limit fetch("api/v2/transfer/uploadLimit", { method: "GET", @@ -61,29 +61,29 @@ MochaUI.extend({ if (up_limit < 0) up_limit = 0; maximum = 10000; - new Slider($("uplimitSliderarea"), $("uplimitSliderknob"), { + new Slider(document.getElementById("uplimitSliderarea"), document.getElementById("uplimitSliderknob"), { steps: maximum, offset: 0, initialStep: Math.round(up_limit), onChange: (pos) => { if (pos > 0) { - $("uplimitUpdatevalue").value = pos; - $("upLimitUnit").style.visibility = "visible"; + document.getElementById("uplimitUpdatevalue").value = pos; + document.getElementById("upLimitUnit").style.visibility = "visible"; } else { - $("uplimitUpdatevalue").value = "∞"; - $("upLimitUnit").style.visibility = "hidden"; + document.getElementById("uplimitUpdatevalue").value = "∞"; + document.getElementById("upLimitUnit").style.visibility = "hidden"; } } }); // Set default value if (up_limit === 0) { - $("uplimitUpdatevalue").value = "∞"; - $("upLimitUnit").style.visibility = "hidden"; + document.getElementById("uplimitUpdatevalue").value = "∞"; + document.getElementById("upLimitUnit").style.visibility = "hidden"; } else { - $("uplimitUpdatevalue").value = Math.round(up_limit); - $("upLimitUnit").style.visibility = "visible"; + document.getElementById("uplimitUpdatevalue").value = Math.round(up_limit); + document.getElementById("upLimitUnit").style.visibility = "visible"; } } else { @@ -108,29 +108,29 @@ MochaUI.extend({ } if (up_limit < 0) up_limit = 0; - new Slider($("uplimitSliderarea"), $("uplimitSliderknob"), { + new Slider(document.getElementById("uplimitSliderarea"), document.getElementById("uplimitSliderknob"), { steps: maximum, offset: 0, initialStep: Math.round(up_limit / 1024), onChange: (pos) => { if (pos > 0) { - $("uplimitUpdatevalue").value = pos; - $("upLimitUnit").style.visibility = "visible"; + document.getElementById("uplimitUpdatevalue").value = pos; + document.getElementById("upLimitUnit").style.visibility = "visible"; } else { - $("uplimitUpdatevalue").value = "∞"; - $("upLimitUnit").style.visibility = "hidden"; + document.getElementById("uplimitUpdatevalue").value = "∞"; + document.getElementById("upLimitUnit").style.visibility = "hidden"; } } }); // Set default value if (up_limit === 0) { - $("uplimitUpdatevalue").value = "∞"; - $("upLimitUnit").style.visibility = "hidden"; + document.getElementById("uplimitUpdatevalue").value = "∞"; + document.getElementById("upLimitUnit").style.visibility = "hidden"; } else { - $("uplimitUpdatevalue").value = Math.round(up_limit / 1024); - $("upLimitUnit").style.visibility = "visible"; + document.getElementById("uplimitUpdatevalue").value = Math.round(up_limit / 1024); + document.getElementById("upLimitUnit").style.visibility = "visible"; } }); } @@ -139,7 +139,7 @@ MochaUI.extend({ }, addDlLimitSlider: (hashes) => { - if ($("dllimitSliderarea")) { + if (document.getElementById("dllimitSliderarea")) { // Get global upload limit fetch("api/v2/transfer/downloadLimit", { method: "GET", @@ -170,29 +170,29 @@ MochaUI.extend({ if (dl_limit < 0) dl_limit = 0; maximum = 10000; - new Slider($("dllimitSliderarea"), $("dllimitSliderknob"), { + new Slider(document.getElementById("dllimitSliderarea"), document.getElementById("dllimitSliderknob"), { steps: maximum, offset: 0, initialStep: Math.round(dl_limit), onChange: (pos) => { if (pos > 0) { - $("dllimitUpdatevalue").value = pos; - $("dlLimitUnit").style.visibility = "visible"; + document.getElementById("dllimitUpdatevalue").value = pos; + document.getElementById("dlLimitUnit").style.visibility = "visible"; } else { - $("dllimitUpdatevalue").value = "∞"; - $("dlLimitUnit").style.visibility = "hidden"; + document.getElementById("dllimitUpdatevalue").value = "∞"; + document.getElementById("dlLimitUnit").style.visibility = "hidden"; } } }); // Set default value if (dl_limit === 0) { - $("dllimitUpdatevalue").value = "∞"; - $("dlLimitUnit").style.visibility = "hidden"; + document.getElementById("dllimitUpdatevalue").value = "∞"; + document.getElementById("dlLimitUnit").style.visibility = "hidden"; } else { - $("dllimitUpdatevalue").value = Math.round(dl_limit); - $("dlLimitUnit").style.visibility = "visible"; + document.getElementById("dllimitUpdatevalue").value = Math.round(dl_limit); + document.getElementById("dlLimitUnit").style.visibility = "visible"; } } else { @@ -217,29 +217,29 @@ MochaUI.extend({ } if (dl_limit < 0) dl_limit = 0; - new Slider($("dllimitSliderarea"), $("dllimitSliderknob"), { + new Slider(document.getElementById("dllimitSliderarea"), document.getElementById("dllimitSliderknob"), { steps: maximum, offset: 0, initialStep: Math.round(dl_limit / 1024), onChange: (pos) => { if (pos > 0) { - $("dllimitUpdatevalue").value = pos; - $("dlLimitUnit").style.visibility = "visible"; + document.getElementById("dllimitUpdatevalue").value = pos; + document.getElementById("dlLimitUnit").style.visibility = "visible"; } else { - $("dllimitUpdatevalue").value = "∞"; - $("dlLimitUnit").style.visibility = "hidden"; + document.getElementById("dllimitUpdatevalue").value = "∞"; + document.getElementById("dlLimitUnit").style.visibility = "hidden"; } } }); // Set default value if (dl_limit === 0) { - $("dllimitUpdatevalue").value = "∞"; - $("dlLimitUnit").style.visibility = "hidden"; + document.getElementById("dllimitUpdatevalue").value = "∞"; + document.getElementById("dlLimitUnit").style.visibility = "hidden"; } else { - $("dllimitUpdatevalue").value = Math.round(dl_limit / 1024); - $("dlLimitUnit").style.visibility = "visible"; + document.getElementById("dllimitUpdatevalue").value = Math.round(dl_limit / 1024); + document.getElementById("dlLimitUnit").style.visibility = "visible"; } }); } diff --git a/src/webui/www/private/setlocation.html b/src/webui/www/private/setlocation.html index 1455340df..e9095fc83 100644 --- a/src/webui/www/private/setlocation.html +++ b/src/webui/www/private/setlocation.html @@ -18,7 +18,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("setLocationButton").click(); + document.getElementById("setLocationButton").click(); break; case "Escape": event.preventDefault(); @@ -32,17 +32,17 @@ // set text field to current value if (path !== null) - $("setLocation").value = decodeURIComponent(path); + document.getElementById("setLocation").value = decodeURIComponent(path); - $("setLocation").focus(); - $("setLocationButton").addEventListener("click", (e) => { + document.getElementById("setLocation").focus(); + document.getElementById("setLocationButton").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); // check field - const location = $("setLocation").value.trim(); + const location = document.getElementById("setLocation").value.trim(); if ((location === null) || (location === "")) { - $("error_div").textContent = "QBT_TR(Save path is empty)QBT_TR[CONTEXT=TorrentsController]"; + document.getElementById("error_div").textContent = "QBT_TR(Save path is empty)QBT_TR[CONTEXT=TorrentsController]"; return; } @@ -55,7 +55,7 @@ }) .then(async (response) => { if (!response.ok) { - $("error_div").textContent = await response.text(); + document.getElementById("error_div").textContent = await response.text(); return; } diff --git a/src/webui/www/private/shareratio.html b/src/webui/www/private/shareratio.html index b106e72b8..cf2993675 100644 --- a/src/webui/www/private/shareratio.html +++ b/src/webui/www/private/shareratio.html @@ -20,7 +20,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("save").click(); + document.getElementById("save").click(); break; case "Escape": event.preventDefault(); @@ -56,23 +56,23 @@ else { setSelectedRadioValue("shareLimit", "custom"); if (values.ratioLimit >= 0) { - $("setRatio").checked = true; - $("ratio").value = values.ratioLimit.toFixed(2); + document.getElementById("setRatio").checked = true; + document.getElementById("ratio").value = values.ratioLimit.toFixed(2); } if (values.seedingTimeLimit >= 0) { - $("setTotalMinutes").checked = true; - $("totalMinutes").value = values.seedingTimeLimit; + document.getElementById("setTotalMinutes").checked = true; + document.getElementById("totalMinutes").value = values.seedingTimeLimit; } if (values.inactiveSeedingTimeLimit >= 0) { - $("setInactiveMinutes").checked = true; - $("inactiveMinutes").value = values.inactiveSeedingTimeLimit; + document.getElementById("setInactiveMinutes").checked = true; + document.getElementById("inactiveMinutes").value = values.inactiveSeedingTimeLimit; } } shareLimitChanged(); - $("default").focus(); - $("save").addEventListener("click", (e) => { + document.getElementById("default").focus(); + document.getElementById("save").addEventListener("click", (e) => { e.preventDefault(); e.stopPropagation(); @@ -91,9 +91,9 @@ ratioLimitValue = seedingTimeLimitValue = inactiveSeedingTimeLimitValue = NoLimit; } else if (shareLimit === "custom") { - ratioLimitValue = $("setRatio").checked ? $("ratio").value : -1; - seedingTimeLimitValue = $("setTotalMinutes").checked ? $("totalMinutes").value : -1; - inactiveSeedingTimeLimitValue = $("setInactiveMinutes").checked ? $("inactiveMinutes").value : -1; + ratioLimitValue = document.getElementById("setRatio").checked ? document.getElementById("ratio").value : -1; + seedingTimeLimitValue = document.getElementById("setTotalMinutes").checked ? document.getElementById("totalMinutes").value : -1; + inactiveSeedingTimeLimitValue = document.getElementById("setInactiveMinutes").checked ? document.getElementById("inactiveMinutes").value : -1; } else { return; @@ -139,26 +139,26 @@ const shareLimitChanged = () => { const customShareLimit = getSelectedRadioValue("shareLimit") === "custom"; - $("setRatio").disabled = !customShareLimit; - $("setTotalMinutes").disabled = !customShareLimit; - $("setInactiveMinutes").disabled = !customShareLimit; + document.getElementById("setRatio").disabled = !customShareLimit; + document.getElementById("setTotalMinutes").disabled = !customShareLimit; + document.getElementById("setInactiveMinutes").disabled = !customShareLimit; enableInputBoxes(); - $("save").disabled = !isFormValid(); + document.getElementById("save").disabled = !isFormValid(); }; const enableInputBoxes = () => { - $("ratio").disabled = $("setRatio").disabled || !$("setRatio").checked; - $("totalMinutes").disabled = $("setTotalMinutes").disabled || !$("setTotalMinutes").checked; - $("inactiveMinutes").disabled = $("setInactiveMinutes").disabled || !$("setInactiveMinutes").checked; + document.getElementById("ratio").disabled = document.getElementById("setRatio").disabled || !document.getElementById("setRatio").checked; + document.getElementById("totalMinutes").disabled = document.getElementById("setTotalMinutes").disabled || !document.getElementById("setTotalMinutes").checked; + document.getElementById("inactiveMinutes").disabled = document.getElementById("setInactiveMinutes").disabled || !document.getElementById("setInactiveMinutes").checked; - $("save").disabled = !isFormValid(); + document.getElementById("save").disabled = !isFormValid(); }; const isFormValid = () => { - return !((getSelectedRadioValue("shareLimit") === "custom") && !$("setRatio").checked - && !$("setTotalMinutes").checked && !$("setInactiveMinutes").checked); + return !((getSelectedRadioValue("shareLimit") === "custom") && !document.getElementById("setRatio").checked + && !document.getElementById("setTotalMinutes").checked && !document.getElementById("setInactiveMinutes").checked); }; diff --git a/src/webui/www/private/upload.html b/src/webui/www/private/upload.html index d7a065a26..74c4c65e0 100644 --- a/src/webui/www/private/upload.html +++ b/src/webui/www/private/upload.html @@ -160,23 +160,23 @@ let submitted = false; - $("uploadForm").addEventListener("submit", () => { - $("startTorrentHidden").value = $("startTorrent").checked ? "false" : "true"; + document.getElementById("uploadForm").addEventListener("submit", () => { + document.getElementById("startTorrentHidden").value = document.getElementById("startTorrent").checked ? "false" : "true"; - $("dlLimitHidden").value = Number($("dlLimitText").value) * 1024; - $("upLimitHidden").value = Number($("upLimitText").value) * 1024; + document.getElementById("dlLimitHidden").value = Number(document.getElementById("dlLimitText").value) * 1024; + document.getElementById("upLimitHidden").value = Number(document.getElementById("upLimitText").value) * 1024; - $("upload_spinner").style.display = "block"; + document.getElementById("upload_spinner").style.display = "block"; submitted = true; }); - $("upload_frame").addEventListener("load", () => { + document.getElementById("upload_frame").addEventListener("load", () => { if (submitted) window.parent.qBittorrent.Client.closeFrameWindow(window); }); if ((Browser.platform === "ios") || ((Browser.platform === "mac") && (navigator.maxTouchPoints > 1))) - $("fileselect").accept = ".torrent"; + document.getElementById("fileselect").accept = ".torrent"; window.qBittorrent.pathAutofill.attachPathAutofill(); diff --git a/src/webui/www/private/uploadlimit.html b/src/webui/www/private/uploadlimit.html index ed672cd47..fb60da531 100644 --- a/src/webui/www/private/uploadlimit.html +++ b/src/webui/www/private/uploadlimit.html @@ -37,7 +37,7 @@ switch (event.key) { case "Enter": event.preventDefault(); - $("applyButton").click(); + document.getElementById("applyButton").click(); break; case "Escape": event.preventDefault(); @@ -48,7 +48,7 @@ const hashes = new URLSearchParams(window.location.search).get("hashes").split("|"); const setUpLimit = () => { - const limit = Number($("uplimitUpdatevalue").value) * 1024; + const limit = Number(document.getElementById("uplimitUpdatevalue").value) * 1024; if (hashes[0] === "global") { fetch("api/v2/transfer/setUploadLimit", { method: "POST", @@ -81,7 +81,7 @@ } }; - $("uplimitUpdatevalue").focus(); + document.getElementById("uplimitUpdatevalue").focus(); MochaUI.addUpLimitSlider(hashes); diff --git a/src/webui/www/private/views/about.html b/src/webui/www/private/views/about.html index cf265f585..c5a67ed83 100644 --- a/src/webui/www/private/views/about.html +++ b/src/webui/www/private/views/about.html @@ -855,12 +855,12 @@ const qbtVersion = window.parent.qBittorrent.Cache.qbtVersion.get(); const buildInfo = window.parent.qBittorrent.Cache.buildInfo.get(); - $("qbittorrentVersion").textContent = `qBittorrent ${qbtVersion} QBT_TR(WebUI)QBT_TR[CONTEXT=OptionsDialog]`; - $("qtVersion").textContent = buildInfo.qt; - $("libtorrentVersion").textContent = buildInfo.libtorrent; - $("boostVersion").textContent = buildInfo.boost; - $("opensslVersion").textContent = buildInfo.openssl; - $("zlibVersion").textContent = buildInfo.zlib; - $("qbittorrentVersion").textContent += ` (${buildInfo.bitness}-bit)`; + document.getElementById("qbittorrentVersion").textContent = `qBittorrent ${qbtVersion} QBT_TR(WebUI)QBT_TR[CONTEXT=OptionsDialog]`; + document.getElementById("qtVersion").textContent = buildInfo.qt; + document.getElementById("libtorrentVersion").textContent = buildInfo.libtorrent; + document.getElementById("boostVersion").textContent = buildInfo.boost; + document.getElementById("opensslVersion").textContent = buildInfo.openssl; + document.getElementById("zlibVersion").textContent = buildInfo.zlib; + document.getElementById("qbittorrentVersion").textContent += ` (${buildInfo.bitness}-bit)`; })(); diff --git a/src/webui/www/private/views/aboutToolbar.html b/src/webui/www/private/views/aboutToolbar.html index 3557a11e5..5e358890b 100644 --- a/src/webui/www/private/views/aboutToolbar.html +++ b/src/webui/www/private/views/aboutToolbar.html @@ -16,34 +16,34 @@ (() => { MochaUI.initializeTabs("aboutTabs"); - $("aboutAboutLink").addEventListener("click", () => { + document.getElementById("aboutAboutLink").addEventListener("click", () => { Array.prototype.forEach.call(document.querySelectorAll(".aboutTabContent"), (tab => tab.classList.add("invisible"))); - $("aboutAboutContent").classList.remove("invisible"); + document.getElementById("aboutAboutContent").classList.remove("invisible"); }); - $("aboutAuthorLink").addEventListener("click", () => { + document.getElementById("aboutAuthorLink").addEventListener("click", () => { Array.prototype.forEach.call(document.querySelectorAll(".aboutTabContent"), (tab => tab.classList.add("invisible"))); - $("aboutAuthorContent").classList.remove("invisible"); + document.getElementById("aboutAuthorContent").classList.remove("invisible"); }); - $("aboutSpecialThanksLink").addEventListener("click", () => { + document.getElementById("aboutSpecialThanksLink").addEventListener("click", () => { Array.prototype.forEach.call(document.querySelectorAll(".aboutTabContent"), (tab => tab.classList.add("invisible"))); - $("aboutSpecialThanksContent").classList.remove("invisible"); + document.getElementById("aboutSpecialThanksContent").classList.remove("invisible"); }); - $("aboutTranslatorsLink").addEventListener("click", () => { + document.getElementById("aboutTranslatorsLink").addEventListener("click", () => { Array.prototype.forEach.call(document.querySelectorAll(".aboutTabContent"), (tab => tab.classList.add("invisible"))); - $("aboutTranslatorsContent").classList.remove("invisible"); + document.getElementById("aboutTranslatorsContent").classList.remove("invisible"); }); - $("aboutLicenseLink").addEventListener("click", () => { + document.getElementById("aboutLicenseLink").addEventListener("click", () => { Array.prototype.forEach.call(document.querySelectorAll(".aboutTabContent"), (tab => tab.classList.add("invisible"))); - $("aboutLicenseContent").classList.remove("invisible"); + document.getElementById("aboutLicenseContent").classList.remove("invisible"); }); - $("aboutSoftwareUsedLink").addEventListener("click", () => { + document.getElementById("aboutSoftwareUsedLink").addEventListener("click", () => { Array.prototype.forEach.call(document.querySelectorAll(".aboutTabContent"), (tab => tab.classList.add("invisible"))); - $("aboutSoftwareUsedContent").classList.remove("invisible"); + document.getElementById("aboutSoftwareUsedContent").classList.remove("invisible"); }); })(); diff --git a/src/webui/www/private/views/installsearchplugin.html b/src/webui/www/private/views/installsearchplugin.html index de77a46e1..74e1b7aaa 100644 --- a/src/webui/www/private/views/installsearchplugin.html +++ b/src/webui/www/private/views/installsearchplugin.html @@ -61,11 +61,11 @@ } }); - $("newPluginPath").select(); + document.getElementById("newPluginPath").select(); }; const newPluginOk = () => { - const path = $("newPluginPath").value.trim(); + const path = document.getElementById("newPluginPath").value.trim(); if (path) { fetch("api/v2/search/installPlugin", { method: "POST", diff --git a/src/webui/www/private/views/log.html b/src/webui/www/private/views/log.html index bbafca8cc..b7944b784 100644 --- a/src/webui/www/private/views/log.html +++ b/src/webui/www/private/views/log.html @@ -188,7 +188,7 @@ let selectedLogLevels = JSON.parse(LocalPreferences.get("qbt_selected_log_levels")) || ["1", "2", "4", "8"]; const init = () => { - for (const option of $("logLevelSelect").options) + for (const option of document.getElementById("logLevelSelect").options) option.toggleAttribute("selected", selectedLogLevels.includes(option.value)); selectBox = new vanillaSelectBox("#logLevelSelect", { @@ -282,7 +282,7 @@ }; const filterTextChanged = () => { - const value = $("filterTextInput").value.trim(); + const value = document.getElementById("filterTextInput").value.trim(); if (inputtedFilterText !== value) { inputtedFilterText = value; logFilterChanged(); @@ -306,14 +306,14 @@ currentSelectedTab = tab; if (currentSelectedTab === "main") { selectBox.enable(); - $("logMessageView").classList.remove("invisible"); - $("logPeerView").classList.add("invisible"); + document.getElementById("logMessageView").classList.remove("invisible"); + document.getElementById("logPeerView").classList.add("invisible"); resetTableTimer("peer"); } else { selectBox.disable(); - $("logMessageView").classList.add("invisible"); - $("logPeerView").classList.remove("invisible"); + document.getElementById("logMessageView").classList.add("invisible"); + document.getElementById("logPeerView").classList.remove("invisible"); resetTableTimer("main"); } @@ -331,8 +331,8 @@ if (curTab === undefined) curTab = currentSelectedTab; - $("numFilteredLogs").textContent = tableInfo[curTab].instance.filteredLength; - $("numTotalLogs").textContent = tableInfo[curTab].instance.getRowSize(); + document.getElementById("numFilteredLogs").textContent = tableInfo[curTab].instance.filteredLength; + document.getElementById("numTotalLogs").textContent = tableInfo[curTab].instance.getRowSize(); }; const syncLogData = (curTab) => { @@ -368,7 +368,7 @@ }) .then(async (response) => { if (!response.ok) { - const errorDiv = $("error_div"); + const errorDiv = document.getElementById("error_div"); if (errorDiv) errorDiv.textContent = "QBT_TR(qBittorrent client is not reachable)QBT_TR[CONTEXT=HttpServer]"; tableInfo[curTab].progress = false; @@ -376,9 +376,9 @@ return; } - $("error_div").textContent = ""; + document.getElementById("error_div").textContent = ""; - if ($("logTabColumn").classList.contains("invisible")) + if (document.getElementById("logTabColumn").classList.contains("invisible")) return; const responseJSON = await response.json(); diff --git a/src/webui/www/private/views/preferences.html b/src/webui/www/private/views/preferences.html index 07109e68e..60903e70c 100644 --- a/src/webui/www/private/views/preferences.html +++ b/src/webui/www/private/views/preferences.html @@ -1801,32 +1801,32 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD }; const updateFileLogEnabled = () => { - const isFileLogEnabled = $("filelog_checkbox").checked; - $("filelog_save_path_input").disabled = !isFileLogEnabled; - $("filelog_backup_checkbox").disabled = !isFileLogEnabled; - $("filelog_delete_old_checkbox").disabled = !isFileLogEnabled; + const isFileLogEnabled = document.getElementById("filelog_checkbox").checked; + document.getElementById("filelog_save_path_input").disabled = !isFileLogEnabled; + document.getElementById("filelog_backup_checkbox").disabled = !isFileLogEnabled; + document.getElementById("filelog_delete_old_checkbox").disabled = !isFileLogEnabled; updateFileLogBackupEnabled(); updateFileLogDeleteEnabled(); }; const updateFileLogBackupEnabled = () => { - const pros = $("filelog_backup_checkbox").getProperties("disabled", "checked"); - $("filelog_max_size_input").disabled = pros.disabled || !pros.checked; + const pros = document.getElementById("filelog_backup_checkbox").getProperties("disabled", "checked"); + document.getElementById("filelog_max_size_input").disabled = pros.disabled || !pros.checked; }; const updateFileLogDeleteEnabled = () => { - const pros = $("filelog_delete_old_checkbox").getProperties("disabled", "checked"); - $("filelog_age_input").disabled = pros.disabled || !pros.checked; - $("filelog_age_type_select").disabled = pros.disabled || !pros.checked; + const pros = document.getElementById("filelog_delete_old_checkbox").getProperties("disabled", "checked"); + document.getElementById("filelog_age_input").disabled = pros.disabled || !pros.checked; + document.getElementById("filelog_age_type_select").disabled = pros.disabled || !pros.checked; }; // Downloads tab let watchedFoldersTable; const updateTempDirEnabled = () => { - const isTempDirEnabled = $("temppath_checkbox").checked; - $("temppath_text").disabled = !isTempDirEnabled; + const isTempDirEnabled = document.getElementById("temppath_checkbox").checked; + document.getElementById("temppath_text").disabled = !isTempDirEnabled; }; const changeWatchFolderSelect = (item) => { @@ -1843,7 +1843,7 @@ Use ';' to split multiple entries. Can use wildcard '*'.)QBT_TR[CONTEXT=OptionsD }; const addWatchFolder = (folder = "", sel = "default_folder", other = "") => { - const pos = $("watched_folders_tab").getChildren("tbody")[0].getChildren("tr").length; + const pos = document.getElementById("watched_folders_tab").getChildren("tbody")[0].getChildren("tr").length; const myinput = ``; const disableInput = (sel !== "other"); const mycb = `