WebUI: Replace Mootools class list manipulation methods

All `addClass()`, `removeClass()` and `hasClass()` instances were changed to use `classList` equivalent:
https://developer.mozilla.org/en-US/docs/Web/API/Element/classList

PR #21946.

---------

Co-authored-by: Chocobo1 <Chocobo1@users.noreply.github.com>
This commit is contained in:
skomerko 2024-12-08 09:12:57 +01:00 committed by GitHub
parent 9f0fa4c215
commit 7080f85b59
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 143 additions and 167 deletions

View file

@ -185,7 +185,7 @@ window.addEventListener("DOMContentLoaded", () => {
window.addEventListener("resize", window.qBittorrent.Misc.createDebounceHandler(500, (e) => {
// only save sizes if the columns are visible
if (!$("mainColumn").hasClass("invisible"))
if (!$("mainColumn").classList.contains("invisible"))
saveColumnSizes();
}));
@ -218,7 +218,7 @@ window.addEventListener("DOMContentLoaded", () => {
});
// start off hidden
$("searchTabColumn").addClass("invisible");
$("searchTabColumn").classList.add("invisible");
};
const buildRssTab = () => {
@ -229,7 +229,7 @@ window.addEventListener("DOMContentLoaded", () => {
});
// start off hidden
$("rssTabColumn").addClass("invisible");
$("rssTabColumn").classList.add("invisible");
};
const buildLogTab = () => {
@ -240,7 +240,7 @@ window.addEventListener("DOMContentLoaded", () => {
});
// start off hidden
$("logTabColumn").addClass("invisible");
$("logTabColumn").classList.add("invisible");
};
buildTransfersTab();
@ -340,22 +340,22 @@ window.addEventListener("DOMContentLoaded", () => {
let showTopToolbar = LocalPreferences.get("show_top_toolbar", "true") === "true";
if (!showTopToolbar) {
$("showTopToolbarLink").firstElementChild.style.opacity = "0";
$("mochaToolbar").addClass("invisible");
$("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").addClass("invisible");
$("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").addClass("invisible");
$("filtersColumn_handle").addClass("invisible");
$("filtersColumn").classList.add("invisible");
$("filtersColumn_handle").classList.add("invisible");
}
let speedInTitle = LocalPreferences.get("speed_in_browser_title_bar") === "true";
@ -1054,20 +1054,20 @@ window.addEventListener("DOMContentLoaded", () => {
torrentsTable.columns["priority"].force_hide = !queueing_enabled;
torrentsTable.updateColumn("priority");
if (queueing_enabled) {
$("topQueuePosItem").removeClass("invisible");
$("increaseQueuePosItem").removeClass("invisible");
$("decreaseQueuePosItem").removeClass("invisible");
$("bottomQueuePosItem").removeClass("invisible");
$("queueingButtons").removeClass("invisible");
$("queueingMenuItems").removeClass("invisible");
$("topQueuePosItem").classList.remove("invisible");
$("increaseQueuePosItem").classList.remove("invisible");
$("decreaseQueuePosItem").classList.remove("invisible");
$("bottomQueuePosItem").classList.remove("invisible");
$("queueingButtons").classList.remove("invisible");
$("queueingMenuItems").classList.remove("invisible");
}
else {
$("topQueuePosItem").addClass("invisible");
$("increaseQueuePosItem").addClass("invisible");
$("decreaseQueuePosItem").addClass("invisible");
$("bottomQueuePosItem").addClass("invisible");
$("queueingButtons").addClass("invisible");
$("queueingMenuItems").addClass("invisible");
$("topQueuePosItem").classList.add("invisible");
$("increaseQueuePosItem").classList.add("invisible");
$("decreaseQueuePosItem").classList.add("invisible");
$("bottomQueuePosItem").classList.add("invisible");
$("queueingButtons").classList.add("invisible");
$("queueingMenuItems").classList.add("invisible");
}
}
@ -1123,11 +1123,11 @@ window.addEventListener("DOMContentLoaded", () => {
LocalPreferences.set("show_top_toolbar", showTopToolbar.toString());
if (showTopToolbar) {
$("showTopToolbarLink").firstElementChild.style.opacity = "1";
$("mochaToolbar").removeClass("invisible");
$("mochaToolbar").classList.remove("invisible");
}
else {
$("showTopToolbarLink").firstElementChild.style.opacity = "0";
$("mochaToolbar").addClass("invisible");
$("mochaToolbar").classList.add("invisible");
}
MochaUI.Desktop.setDesktopSize();
});
@ -1137,11 +1137,11 @@ window.addEventListener("DOMContentLoaded", () => {
LocalPreferences.set("show_status_bar", showStatusBar.toString());
if (showStatusBar) {
$("showStatusBarLink").firstElementChild.style.opacity = "1";
$("desktopFooterWrapper").removeClass("invisible");
$("desktopFooterWrapper").classList.remove("invisible");
}
else {
$("showStatusBarLink").firstElementChild.style.opacity = "0";
$("desktopFooterWrapper").addClass("invisible");
$("desktopFooterWrapper").classList.add("invisible");
}
MochaUI.Desktop.setDesktopSize();
});
@ -1175,13 +1175,13 @@ window.addEventListener("DOMContentLoaded", () => {
LocalPreferences.set("show_filters_sidebar", showFiltersSidebar.toString());
if (showFiltersSidebar) {
$("showFiltersSidebarLink").firstElementChild.style.opacity = "1";
$("filtersColumn").removeClass("invisible");
$("filtersColumn_handle").removeClass("invisible");
$("filtersColumn").classList.remove("invisible");
$("filtersColumn_handle").classList.remove("invisible");
}
else {
$("showFiltersSidebarLink").firstElementChild.style.opacity = "0";
$("filtersColumn").addClass("invisible");
$("filtersColumn_handle").addClass("invisible");
$("filtersColumn").classList.add("invisible");
$("filtersColumn_handle").classList.add("invisible");
}
MochaUI.Desktop.setDesktopSize();
});
@ -1217,49 +1217,49 @@ window.addEventListener("DOMContentLoaded", () => {
const updateTabDisplay = () => {
if (window.qBittorrent.Client.isShowRssReader()) {
$("showRssReaderLink").firstElementChild.style.opacity = "1";
$("mainWindowTabs").removeClass("invisible");
$("rssTabLink").removeClass("invisible");
$("mainWindowTabs").classList.remove("invisible");
$("rssTabLink").classList.remove("invisible");
if (!MochaUI.Panels.instances.RssPanel)
addRssPanel();
}
else {
$("showRssReaderLink").firstElementChild.style.opacity = "0";
$("rssTabLink").addClass("invisible");
if ($("rssTabLink").hasClass("selected"))
$("rssTabLink").classList.add("invisible");
if ($("rssTabLink").classList.contains("selected"))
$("transfersTabLink").click();
}
if (window.qBittorrent.Client.isShowSearchEngine()) {
$("showSearchEngineLink").firstElementChild.style.opacity = "1";
$("mainWindowTabs").removeClass("invisible");
$("searchTabLink").removeClass("invisible");
$("mainWindowTabs").classList.remove("invisible");
$("searchTabLink").classList.remove("invisible");
if (!MochaUI.Panels.instances.SearchPanel)
addSearchPanel();
}
else {
$("showSearchEngineLink").firstElementChild.style.opacity = "0";
$("searchTabLink").addClass("invisible");
if ($("searchTabLink").hasClass("selected"))
$("searchTabLink").classList.add("invisible");
if ($("searchTabLink").classList.contains("selected"))
$("transfersTabLink").click();
}
if (window.qBittorrent.Client.isShowLogViewer()) {
$("showLogViewerLink").firstElementChild.style.opacity = "1";
$("mainWindowTabs").removeClass("invisible");
$("logTabLink").removeClass("invisible");
$("mainWindowTabs").classList.remove("invisible");
$("logTabLink").classList.remove("invisible");
if (!MochaUI.Panels.instances.LogPanel)
addLogPanel();
}
else {
$("showLogViewerLink").firstElementChild.style.opacity = "0";
$("logTabLink").addClass("invisible");
if ($("logTabLink").hasClass("selected"))
$("logTabLink").classList.add("invisible");
if ($("logTabLink").classList.contains("selected"))
$("transfersTabLink").click();
}
// display no tabs
if (!window.qBittorrent.Client.isShowRssReader() && !window.qBittorrent.Client.isShowSearchEngine() && !window.qBittorrent.Client.isShowLogViewer())
$("mainWindowTabs").addClass("invisible");
$("mainWindowTabs").classList.add("invisible");
};
$("StatisticsLink").addEventListener("click", () => { StatisticsLinkFN(); });
@ -1269,11 +1269,11 @@ window.addEventListener("DOMContentLoaded", () => {
const showTransfersTab = () => {
const showFiltersSidebar = LocalPreferences.get("show_filters_sidebar", "true") === "true";
if (showFiltersSidebar) {
$("filtersColumn").removeClass("invisible");
$("filtersColumn_handle").removeClass("invisible");
$("filtersColumn").classList.remove("invisible");
$("filtersColumn_handle").classList.remove("invisible");
}
$("mainColumn").removeClass("invisible");
$("torrentsFilterToolbar").removeClass("invisible");
$("mainColumn").classList.remove("invisible");
$("torrentsFilterToolbar").classList.remove("invisible");
customSyncMainDataInterval = null;
syncData(100);
@ -1286,10 +1286,10 @@ window.addEventListener("DOMContentLoaded", () => {
};
const hideTransfersTab = () => {
$("filtersColumn").addClass("invisible");
$("filtersColumn_handle").addClass("invisible");
$("mainColumn").addClass("invisible");
$("torrentsFilterToolbar").addClass("invisible");
$("filtersColumn").classList.add("invisible");
$("filtersColumn_handle").classList.add("invisible");
$("mainColumn").classList.add("invisible");
$("torrentsFilterToolbar").classList.add("invisible");
MochaUI.Desktop.resizePanels();
};
@ -1312,7 +1312,7 @@ window.addEventListener("DOMContentLoaded", () => {
searchTabInitialized = true;
}
$("searchTabColumn").removeClass("invisible");
$("searchTabColumn").classList.remove("invisible");
customSyncMainDataInterval = 30000;
hideTransfersTab();
hideRssTab();
@ -1323,7 +1323,7 @@ window.addEventListener("DOMContentLoaded", () => {
})();
const hideSearchTab = () => {
$("searchTabColumn").addClass("invisible");
$("searchTabColumn").classList.add("invisible");
MochaUI.Desktop.resizePanels();
};
@ -1349,7 +1349,7 @@ window.addEventListener("DOMContentLoaded", () => {
window.qBittorrent.Rss.load();
}
$("rssTabColumn").removeClass("invisible");
$("rssTabColumn").classList.remove("invisible");
customSyncMainDataInterval = 30000;
hideTransfersTab();
hideSearchTab();
@ -1360,7 +1360,7 @@ window.addEventListener("DOMContentLoaded", () => {
})();
const hideRssTab = () => {
$("rssTabColumn").addClass("invisible");
$("rssTabColumn").classList.add("invisible");
window.qBittorrent.Rss && window.qBittorrent.Rss.unload();
MochaUI.Desktop.resizePanels();
};
@ -1387,7 +1387,7 @@ window.addEventListener("DOMContentLoaded", () => {
window.qBittorrent.Log.load();
}
$("logTabColumn").removeClass("invisible");
$("logTabColumn").classList.remove("invisible");
customSyncMainDataInterval = 30000;
hideTransfersTab();
hideSearchTab();
@ -1398,7 +1398,7 @@ window.addEventListener("DOMContentLoaded", () => {
})();
const hideLogTab = () => {
$("logTabColumn").addClass("invisible");
$("logTabColumn").classList.add("invisible");
MochaUI.Desktop.resizePanels();
window.qBittorrent.Log && window.qBittorrent.Log.unload();
};

View file

@ -92,7 +92,7 @@ window.qBittorrent.ContextMenu ??= (() => {
const scrollableMenuMaxHeight = document.documentElement.clientHeight * 0.75;
if (this.menu.hasClass("scrollableMenu"))
if (this.menu.classList.contains("scrollableMenu"))
this.menu.style.maxHeight = `${scrollableMenuMaxHeight}px`;
// draw the menu off-screen to know the menu dimensions
@ -119,7 +119,7 @@ window.qBittorrent.ContextMenu ??= (() => {
const uls = this.menu.getElementsByTagName("ul");
for (let i = 0; i < uls.length; ++i) {
const ul = uls[i];
if (ul.hasClass("scrollableMenu"))
if (ul.classList.contains("scrollableMenu"))
ul.style.maxHeight = `${scrollableMenuMaxHeight}px`;
const rectParent = ul.parentNode.getBoundingClientRect();
const xPosOrigin = rectParent.left;
@ -257,13 +257,13 @@ window.qBittorrent.ContextMenu ??= (() => {
// hide an item
hideItem(item) {
this.menu.getElement("a[href$=" + item + "]").parentNode.addClass("invisible");
this.menu.getElement("a[href$=" + item + "]").parentNode.classList.add("invisible");
return this;
}
// show an item
showItem(item) {
this.menu.getElement("a[href$=" + item + "]").parentNode.removeClass("invisible");
this.menu.getElement("a[href$=" + item + "]").parentNode.classList.remove("invisible");
return this;
}
@ -405,7 +405,7 @@ window.qBittorrent.ContextMenu ??= (() => {
if (all_are_downloaded) {
this.hideItem("downloadLimit");
this.menu.getElement("a[href$=uploadLimit]").parentNode.addClass("separator");
this.menu.getElement("a[href$=uploadLimit]").parentNode.classList.add("separator");
this.hideItem("sequentialDownload");
this.hideItem("firstLastPiecePrio");
this.showItem("superSeeding");
@ -415,10 +415,7 @@ window.qBittorrent.ContextMenu ??= (() => {
const show_seq_dl = (all_are_seq_dl || !there_are_seq_dl);
const show_f_l_piece_prio = (all_are_f_l_piece_prio || !there_are_f_l_piece_prio);
if (!show_seq_dl && show_f_l_piece_prio)
this.menu.getElement("a[href$=firstLastPiecePrio]").parentNode.addClass("separator");
else
this.menu.getElement("a[href$=firstLastPiecePrio]").parentNode.removeClass("separator");
this.menu.getElement("a[href$=firstLastPiecePrio]").parentNode.classList.toggle("separator", (!show_seq_dl && show_f_l_piece_prio));
if (show_seq_dl)
this.showItem("sequentialDownload");
@ -434,7 +431,7 @@ window.qBittorrent.ContextMenu ??= (() => {
this.setItemChecked("firstLastPiecePrio", all_are_f_l_piece_prio);
this.showItem("downloadLimit");
this.menu.getElement("a[href$=uploadLimit]").parentNode.removeClass("separator");
this.menu.getElement("a[href$=uploadLimit]").parentNode.classList.remove("separator");
this.hideItem("superSeeding");
}
@ -525,7 +522,7 @@ window.qBittorrent.ContextMenu ??= (() => {
const setCategoryItem = document.createElement("li");
setCategoryItem.appendChild(anchor);
if (first) {
setCategoryItem.addClass("separator");
setCategoryItem.classList.add("separator");
first = false;
}
@ -583,7 +580,7 @@ window.qBittorrent.ContextMenu ??= (() => {
const setTagItem = document.createElement("li");
setTagItem.appendChild(anchor);
if (i === 0)
setTagItem.addClass("separator");
setTagItem.classList.add("separator");
contextTagList.appendChild(setTagItem);
}
@ -661,11 +658,11 @@ window.qBittorrent.ContextMenu ??= (() => {
class RssFeedContextMenu extends ContextMenu {
updateMenuItems() {
const selectedRows = window.qBittorrent.Rss.rssFeedTable.selectedRowsIds();
this.menu.getElement("a[href$=newSubscription]").parentNode.addClass("separator");
this.menu.getElement("a[href$=newSubscription]").parentNode.classList.add("separator");
switch (selectedRows.length) {
case 0:
// remove separator on top of newSubscription entry to avoid double line
this.menu.getElement("a[href$=newSubscription]").parentNode.removeClass("separator");
this.menu.getElement("a[href$=newSubscription]").parentNode.classList.remove("separator");
// menu when nothing selected
this.hideItem("update");
this.hideItem("markRead");

View file

@ -597,11 +597,8 @@ window.qBittorrent.DynamicTable ??= (() => {
th.textContent = this.columns[i].caption;
th.setAttribute("style", "width: " + this.columns[i].width + "px;" + this.columns[i].style);
th.columnName = this.columns[i].name;
th.addClass("column_" + th.columnName);
if ((this.columns[i].visible === "0") || this.columns[i].force_hide)
th.addClass("invisible");
else
th.removeClass("invisible");
th.classList.add("column_" + th.columnName);
th.classList.toggle("invisible", ((this.columns[i].visible === "0") || this.columns[i].force_hide));
}
},
@ -625,16 +622,16 @@ window.qBittorrent.DynamicTable ??= (() => {
fths[pos].setAttribute("style", style);
if (visible) {
ths[pos].removeClass("invisible");
fths[pos].removeClass("invisible");
ths[pos].classList.remove("invisible");
fths[pos].classList.remove("invisible");
for (let i = 0; i < trs.length; ++i)
trs[i].getElements("td")[pos].removeClass("invisible");
trs[i].getElements("td")[pos].classList.remove("invisible");
}
else {
ths[pos].addClass("invisible");
fths[pos].addClass("invisible");
ths[pos].classList.add("invisible");
fths[pos].classList.add("invisible");
for (let j = 0; j < trs.length; ++j)
trs[j].getElements("td")[pos].addClass("invisible");
trs[j].getElements("td")[pos].classList.add("invisible");
}
if (this.columns[pos].onResize !== null)
this.columns[pos].onResize(columnName);
@ -675,16 +672,13 @@ window.qBittorrent.DynamicTable ??= (() => {
const colElem = getCol(this.dynamicTableFixedHeaderDivId, newColumn);
if (colElem !== null) {
colElem.addClass("sorted");
if (isReverse)
colElem.addClass("reverse");
else
colElem.removeClass("reverse");
colElem.classList.add("sorted");
colElem.classList.toggle("reverse", isReverse);
}
const oldColElem = getCol(this.dynamicTableFixedHeaderDivId, oldColumn);
if (oldColElem !== null) {
oldColElem.removeClass("sorted");
oldColElem.removeClass("reverse");
oldColElem.classList.remove("sorted");
oldColElem.classList.remove("reverse");
}
},
@ -711,8 +705,7 @@ window.qBittorrent.DynamicTable ??= (() => {
for (let i = 0; i < trs.length; ++i) {
const tr = trs[i];
this.selectedRows.push(tr.rowId);
if (!tr.hasClass("selected"))
tr.addClass("selected");
tr.classList.add("selected");
}
},
@ -759,18 +752,13 @@ window.qBittorrent.DynamicTable ??= (() => {
this.selectedRows = rowIds.slice();
this.tableBody.getElements("tr").each((tr) => {
if (rowIds.includes(tr.rowId))
tr.addClass("selected");
tr.classList.add("selected");
});
},
setRowClass: function() {
const that = this;
this.tableBody.getElements("tr").each((tr) => {
if (that.isRowSelected(tr.rowId))
tr.addClass("selected");
else
tr.removeClass("selected");
});
for (const tr of this.tableBody.querySelectorAll("tr"))
tr.classList.toggle("selected", this.isRowSelected(tr.rowId));
},
onSelectedRowChanged: () => {},
@ -874,7 +862,7 @@ window.qBittorrent.DynamicTable ??= (() => {
for (let k = 0; k < this.columns.length; ++k) {
const td = new Element("td");
if ((this.columns[k].visible === "0") || this.columns[k].force_hide)
td.addClass("invisible");
td.classList.add("invisible");
td.injectInside(tr);
}
@ -1959,14 +1947,14 @@ window.qBittorrent.DynamicTable ??= (() => {
if (value) {
td.textContent = "QBT_TR(Yes)QBT_TR[CONTEXT=SearchPluginsTable]";
td.title = "QBT_TR(Yes)QBT_TR[CONTEXT=SearchPluginsTable]";
td.getParent("tr").addClass("green");
td.getParent("tr").removeClass("red");
td.getParent("tr").classList.add("green");
td.getParent("tr").classList.remove("red");
}
else {
td.textContent = "QBT_TR(No)QBT_TR[CONTEXT=SearchPluginsTable]";
td.title = "QBT_TR(No)QBT_TR[CONTEXT=SearchPluginsTable]";
td.getParent("tr").addClass("red");
td.getParent("tr").removeClass("green");
td.getParent("tr").classList.add("red");
td.getParent("tr").classList.remove("green");
}
};
},
@ -2967,7 +2955,7 @@ window.qBittorrent.DynamicTable ??= (() => {
if (row.rowId === rowId) {
articleId = row.full_data.dataId;
feedUid = row.full_data.feedUid;
this.tableBody.rows[row.rowId].removeClass("unreadArticle");
this.tableBody.rows[row.rowId].classList.remove("unreadArticle");
break;
}
}
@ -2987,10 +2975,7 @@ window.qBittorrent.DynamicTable ??= (() => {
updateRow: function(tr, fullUpdate) {
const row = this.rows.get(tr.rowId);
const data = row[fullUpdate ? "full_data" : "data"];
if (!row.full_data.isRead)
tr.addClass("unreadArticle");
else
tr.removeClass("unreadArticle");
tr.classList.toggle("unreadArticle", !row.full_data.isRead);
const tds = tr.getElements("td");
for (let i = 0; i < this.columns.length; ++i) {
@ -3260,12 +3245,12 @@ window.qBittorrent.DynamicTable ??= (() => {
const data = row[fullUpdate ? "full_data" : "data"];
if (row.full_data.isFeed) {
tr.addClass("articleTableFeed");
tr.removeClass("articleTableArticle");
tr.classList.add("articleTableFeed");
tr.classList.remove("articleTableArticle");
}
else {
tr.removeClass("articleTableFeed");
tr.addClass("articleTableArticle");
tr.classList.remove("articleTableFeed");
tr.classList.add("articleTableArticle");
}
const tds = tr.getElements("td");

View file

@ -179,7 +179,7 @@ window.qBittorrent.PropFiles ??= (() => {
select.id = "comboPrio" + id;
select.setAttribute("data-id", id);
select.setAttribute("data-file-id", fileId);
select.addClass("combo_priority");
select.classList.add("combo_priority");
select.addEventListener("change", fileComboboxChanged);
select.appendChild(createOption(FilePriority.Ignored, (FilePriority.Ignored === selectedPriority), "QBT_TR(Do not download)QBT_TR[CONTEXT=PropListDelegate]"));
@ -335,8 +335,8 @@ window.qBittorrent.PropFiles ??= (() => {
let loadTorrentFilesDataTimer = -1;
const loadTorrentFilesData = () => {
if ($("propFiles").hasClass("invisible")
|| $("propertiesPanel_collapseToggle").hasClass("panel-expand")) {
if ($("propFiles").classList.contains("invisible")
|| $("propertiesPanel_collapseToggle").classList.contains("panel-expand")) {
// Tab changed, don't do anything
return;
}
@ -668,10 +668,7 @@ window.qBittorrent.PropFiles ??= (() => {
if (span === null)
return;
const rowElem = span.parentElement.parentElement;
if (shouldHide)
rowElem.addClass("invisible");
else
rowElem.removeClass("invisible");
rowElem.classList.toggle("invisible", shouldHide);
};
/**
@ -689,10 +686,7 @@ window.qBittorrent.PropFiles ??= (() => {
// rotate the collapse icon
const collapseIcon = td.getElementsByClassName("filesTableCollapseIcon")[0];
if (isCollapsed)
collapseIcon.addClass("rotate");
else
collapseIcon.removeClass("rotate");
collapseIcon.classList.toggle("rotate", isCollapsed);
};
const _isCollapsed = (node) => {

View file

@ -76,8 +76,8 @@ window.qBittorrent.PropGeneral ??= (() => {
let loadTorrentDataTimer = -1;
const loadTorrentData = () => {
if ($("propGeneral").hasClass("invisible")
|| $("propertiesPanel_collapseToggle").hasClass("panel-expand")) {
if ($("propGeneral").classList.contains("invisible")
|| $("propertiesPanel_collapseToggle").classList.contains("panel-expand")) {
// Tab changed, don't do anything
return;
}

View file

@ -43,8 +43,8 @@ window.qBittorrent.PropPeers ??= (() => {
let show_flags = true;
const loadTorrentPeersData = () => {
if ($("propPeers").hasClass("invisible")
|| $("propertiesPanel_collapseToggle").hasClass("panel-expand")) {
if ($("propPeers").classList.contains("invisible")
|| $("propertiesPanel_collapseToggle").classList.contains("panel-expand")) {
syncTorrentPeersLastResponseId = 0;
torrentPeersTable.clear();
return;

View file

@ -43,8 +43,8 @@ window.qBittorrent.PropTrackers ??= (() => {
let loadTrackersDataTimer = -1;
const loadTrackersData = () => {
if ($("propTrackers").hasClass("invisible")
|| $("propertiesPanel_collapseToggle").hasClass("panel-expand")) {
if ($("propTrackers").classList.contains("invisible")
|| $("propertiesPanel_collapseToggle").classList.contains("panel-expand")) {
// Tab changed, don't do anything
return;
}

View file

@ -43,8 +43,8 @@ window.qBittorrent.PropWebseeds ??= (() => {
let loadWebSeedsDataTimer = -1;
const loadWebSeedsData = () => {
if ($("propWebSeeds").hasClass("invisible")
|| $("propertiesPanel_collapseToggle").hasClass("panel-expand")) {
if ($("propWebSeeds").classList.contains("invisible")
|| $("propertiesPanel_collapseToggle").classList.contains("panel-expand")) {
// Tab changed, don't do anything
return;
}

View file

@ -238,7 +238,7 @@ window.qBittorrent.Search ??= (() => {
return;
const searchId = getSearchIdFromTab(tab);
const isTabSelected = tab.hasClass("selected");
const isTabSelected = tab.classList.contains("selected");
const newTabToSelect = isTabSelected ? (tab.nextSibling || tab.previousSibling) : null;
const currentSearchId = getSelectedSearchId();

View file

@ -17,33 +17,33 @@
MochaUI.initializeTabs("aboutTabs");
$("aboutAboutLink").addEventListener("click", () => {
$$(".aboutTabContent").addClass("invisible");
$("aboutAboutContent").removeClass("invisible");
$$(".aboutTabContent").forEach(tab => { tab.classList.add("invisible"); });
$("aboutAboutContent").classList.remove("invisible");
});
$("aboutAuthorLink").addEventListener("click", () => {
$$(".aboutTabContent").addClass("invisible");
$("aboutAuthorContent").removeClass("invisible");
$$(".aboutTabContent").forEach(tab => { tab.classList.add("invisible"); });
$("aboutAuthorContent").classList.remove("invisible");
});
$("aboutSpecialThanksLink").addEventListener("click", () => {
$$(".aboutTabContent").addClass("invisible");
$("aboutSpecialThanksContent").removeClass("invisible");
$$(".aboutTabContent").forEach(tab => { tab.classList.add("invisible"); });
$("aboutSpecialThanksContent").classList.remove("invisible");
});
$("aboutTranslatorsLink").addEventListener("click", () => {
$$(".aboutTabContent").addClass("invisible");
$("aboutTranslatorsContent").removeClass("invisible");
$$(".aboutTabContent").forEach(tab => { tab.classList.add("invisible"); });
$("aboutTranslatorsContent").classList.remove("invisible");
});
$("aboutLicenseLink").addEventListener("click", () => {
$$(".aboutTabContent").addClass("invisible");
$("aboutLicenseContent").removeClass("invisible");
$$(".aboutTabContent").forEach(tab => { tab.classList.add("invisible"); });
$("aboutLicenseContent").classList.remove("invisible");
});
$("aboutSoftwareUsedLink").addEventListener("click", () => {
$$(".aboutTabContent").addClass("invisible");
$("aboutSoftwareUsedContent").removeClass("invisible");
$$(".aboutTabContent").forEach(tab => { tab.classList.add("invisible"); });
$("aboutSoftwareUsedContent").classList.remove("invisible");
});
})();
</script>

View file

@ -108,7 +108,7 @@
};
const save = () => {
const rows = [...document.querySelectorAll("#manageCookiesTable tbody tr")].filter(e => !e.hasClass("invisible"));
const rows = [...document.querySelectorAll("#manageCookiesTable tbody tr")].filter(e => !e.classList.contains("invisible"));
const cookies = rows.map(row => {
const expDateValue = row.querySelector("td.expDate input").valueAsNumber;
// remove ms from string

View file

@ -306,14 +306,14 @@
currentSelectedTab = tab;
if (currentSelectedTab === "main") {
selectBox.enable();
$("logMessageView").removeClass("invisible");
$("logPeerView").addClass("invisible");
$("logMessageView").classList.remove("invisible");
$("logPeerView").classList.add("invisible");
resetTableTimer("peer");
}
else {
selectBox.disable();
$("logMessageView").addClass("invisible");
$("logPeerView").removeClass("invisible");
$("logMessageView").classList.add("invisible");
$("logPeerView").classList.remove("invisible");
resetTableTimer("main");
}
@ -370,7 +370,7 @@
onSuccess: (response) => {
$("error_div").textContent = "";
if ($("logTabColumn").hasClass("invisible"))
if ($("logTabColumn").classList.contains("invisible"))
return;
if (response.length > 0) {

View file

@ -37,36 +37,36 @@
MochaUI.initializeTabs("preferencesTabs");
$("PrefBehaviorLink").addEventListener("click", (e) => {
$$(".PrefTab").addClass("invisible");
$("BehaviorTab").removeClass("invisible");
$$(".PrefTab").forEach(tab => { tab.classList.add("invisible"); });
$("BehaviorTab").classList.remove("invisible");
});
$("PrefDownloadsLink").addEventListener("click", (e) => {
$$(".PrefTab").addClass("invisible");
$("DownloadsTab").removeClass("invisible");
$$(".PrefTab").forEach(tab => { tab.classList.add("invisible"); });
$("DownloadsTab").classList.remove("invisible");
});
$("PrefConnectionLink").addEventListener("click", (e) => {
$$(".PrefTab").addClass("invisible");
$("ConnectionTab").removeClass("invisible");
$$(".PrefTab").forEach(tab => { tab.classList.add("invisible"); });
$("ConnectionTab").classList.remove("invisible");
});
$("PrefSpeedLink").addEventListener("click", (e) => {
$$(".PrefTab").addClass("invisible");
$("SpeedTab").removeClass("invisible");
$$(".PrefTab").forEach(tab => { tab.classList.add("invisible"); });
$("SpeedTab").classList.remove("invisible");
});
$("PrefBittorrentLink").addEventListener("click", (e) => {
$$(".PrefTab").addClass("invisible");
$("BittorrentTab").removeClass("invisible");
$$(".PrefTab").forEach(tab => { tab.classList.add("invisible"); });
$("BittorrentTab").classList.remove("invisible");
});
$("PrefRSSLink").addEventListener("click", (e) => {
$$(".PrefTab").addClass("invisible");
$("RSSTab").removeClass("invisible");
$$(".PrefTab").forEach(tab => { tab.classList.add("invisible"); });
$("RSSTab").classList.remove("invisible");
});
$("PrefWebUILink").addEventListener("click", (e) => {
$$(".PrefTab").addClass("invisible");
$("WebUITab").removeClass("invisible");
$$(".PrefTab").forEach(tab => { tab.classList.add("invisible"); });
$("WebUITab").classList.remove("invisible");
});
$("PrefAdvancedLink").addEventListener("click", (e) => {
$$(".PrefTab").addClass("invisible");
$("AdvancedTab").removeClass("invisible");
$$(".PrefTab").forEach(tab => { tab.classList.add("invisible"); });
$("AdvancedTab").classList.remove("invisible");
});
})();
</script>

View file

@ -215,7 +215,7 @@
const pref = window.parent.qBittorrent.Cache.preferences.get();
if (!pref.rss_processing_enabled)
$("rssFetchingDisabled").removeClass("invisible");
$("rssFetchingDisabled").classList.remove("invisible");
const rssFeedContextMenu = new window.qBittorrent.ContextMenu.RssFeedContextMenu({
targets: "#rssFeedTableDiv tr",

View file

@ -370,7 +370,7 @@ Supports the formats: S01E01, 1x1, 2017.12.31 and 31.12.2017 (Date formats also
const pref = window.parent.qBittorrent.Cache.preferences.get();
if (!pref.rss_auto_downloading_enabled)
$("rssDownloaderDisabled").removeClass("invisible");
$("rssDownloaderDisabled").classList.remove("invisible");
// recalculate height
const warningHeight = $("rssDownloaderDisabled").getBoundingClientRect().height;