mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-16 02:03:07 -07:00
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:
parent
9f0fa4c215
commit
7080f85b59
15 changed files with 143 additions and 167 deletions
|
@ -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();
|
||||
};
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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) => {
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue