diff --git a/src/webui/www/private/rename_files.html b/src/webui/www/private/rename_files.html index 015c9a7e3cee..98aa94a2a937 100644 --- a/src/webui/www/private/rename_files.html +++ b/src/webui/www/private/rename_files.html @@ -39,7 +39,7 @@ // Setup the dynamic table for bulk renaming const bulkRenameFilesTable = new window.qBittorrent.DynamicTable.BulkRenameTorrentFilesTable(); - bulkRenameFilesTable.setup("bulkRenameFilesTableDiv", "bulkRenameFilesTableFixedHeaderDiv", bulkRenameFilesContextMenu, true); + bulkRenameFilesTable.setup("bulkRenameFilesTableDiv", "bulkRenameFilesTableFixedHeaderDiv", bulkRenameFilesContextMenu); // Inject checkbox into the first column of the table header const tableHeaders = document.querySelectorAll("#bulkRenameFilesTableFixedHeaderDiv .dynamicTableHeader th"); diff --git a/src/webui/www/private/scripts/dynamicTable.js b/src/webui/www/private/scripts/dynamicTable.js index c1cbce6cedd8..dbd5f94fef86 100644 --- a/src/webui/www/private/scripts/dynamicTable.js +++ b/src/webui/www/private/scripts/dynamicTable.js @@ -70,12 +70,13 @@ window.qBittorrent.DynamicTable ??= (() => { class DynamicTable { #DynamicTableHeaderContextMenuClass = null; + useVirtualList = true; - setup(dynamicTableDivId, dynamicTableFixedHeaderDivId, contextMenu, useVirtualList = false) { + setup(dynamicTableDivId, dynamicTableFixedHeaderDivId, contextMenu) { this.dynamicTableDivId = dynamicTableDivId; this.dynamicTableFixedHeaderDivId = dynamicTableFixedHeaderDivId; this.dynamicTableDiv = document.getElementById(dynamicTableDivId); - this.useVirtualList = useVirtualList && (clientData.get("use_virtual_list") === true); + this.useVirtualList = this.useVirtualList && (clientData.get("use_virtual_list") === true); this.fixedTableHeader = document.querySelector(`#${dynamicTableFixedHeaderDivId} thead tr`); this.hiddenTableHeader = this.dynamicTableDiv.querySelector("thead tr"); this.table = this.dynamicTableDiv.querySelector("table"); @@ -3071,6 +3072,8 @@ window.qBittorrent.DynamicTable ??= (() => { } class RssFeedTable extends DynamicTable { + useVirtualList = false; + initColumns() { this.newColumn("state_icon", "", "", 30, true); this.newColumn("name", "", "QBT_TR(RSS feeds)QBT_TR[CONTEXT=FeedListWidget]", -1, true); @@ -3173,6 +3176,8 @@ window.qBittorrent.DynamicTable ??= (() => { } class RssArticleTable extends DynamicTable { + useVirtualList = false; + initColumns() { this.newColumn("name", "", "QBT_TR(Torrents: (double-click to download))QBT_TR[CONTEXT=RSSWidget]", -1, true); } @@ -3217,6 +3222,8 @@ window.qBittorrent.DynamicTable ??= (() => { } class RssDownloaderRulesTable extends DynamicTable { + useVirtualList = false; + initColumns() { this.newColumn("checked", "", "", 30, true); this.newColumn("name", "", "", -1, true); @@ -3276,6 +3283,8 @@ window.qBittorrent.DynamicTable ??= (() => { } class RssDownloaderFeedSelectionTable extends DynamicTable { + useVirtualList = false; + initColumns() { this.newColumn("checked", "", "", 30, true); this.newColumn("name", "", "", -1, true); @@ -3312,6 +3321,8 @@ window.qBittorrent.DynamicTable ??= (() => { } class RssDownloaderArticlesTable extends DynamicTable { + useVirtualList = false; + initColumns() { this.newColumn("name", "", "", -1, true); } diff --git a/src/webui/www/private/scripts/prop-peers.js b/src/webui/www/private/scripts/prop-peers.js index 9c4061897048..428e2d7965bf 100644 --- a/src/webui/www/private/scripts/prop-peers.js +++ b/src/webui/www/private/scripts/prop-peers.js @@ -194,7 +194,7 @@ window.qBittorrent.PropPeers ??= (() => { await clipboardCopy(text); }); - torrentPeersTable.setup("torrentPeersTableDiv", "torrentPeersTableFixedHeaderDiv", torrentPeersContextMenu, true); + torrentPeersTable.setup("torrentPeersTableDiv", "torrentPeersTableFixedHeaderDiv", torrentPeersContextMenu); return exports(); })(); diff --git a/src/webui/www/private/scripts/prop-trackers.js b/src/webui/www/private/scripts/prop-trackers.js index e25f2e3b7d9e..f8d8d8349c73 100644 --- a/src/webui/www/private/scripts/prop-trackers.js +++ b/src/webui/www/private/scripts/prop-trackers.js @@ -338,7 +338,7 @@ window.qBittorrent.PropTrackers ??= (() => { await clipboardCopy(text); }); - torrentTrackersTable.setup("torrentTrackersTableDiv", "torrentTrackersTableFixedHeaderDiv", torrentTrackersContextMenu, true); + torrentTrackersTable.setup("torrentTrackersTableDiv", "torrentTrackersTableFixedHeaderDiv", torrentTrackersContextMenu); return exports(); })(); diff --git a/src/webui/www/private/scripts/prop-webseeds.js b/src/webui/www/private/scripts/prop-webseeds.js index 495fed0f4b13..4175a5210ced 100644 --- a/src/webui/www/private/scripts/prop-webseeds.js +++ b/src/webui/www/private/scripts/prop-webseeds.js @@ -224,7 +224,7 @@ window.qBittorrent.PropWebseeds ??= (() => { await clipboardCopy(text); }); - torrentWebseedsTable.setup("torrentWebseedsTableDiv", "torrentWebseedsTableFixedHeaderDiv", torrentWebseedsContextMenu, true); + torrentWebseedsTable.setup("torrentWebseedsTableDiv", "torrentWebseedsTableFixedHeaderDiv", torrentWebseedsContextMenu); return exports(); })(); diff --git a/src/webui/www/private/scripts/torrent-content.js b/src/webui/www/private/scripts/torrent-content.js index 7aa5ea577956..06de39594506 100644 --- a/src/webui/www/private/scripts/torrent-content.js +++ b/src/webui/www/private/scripts/torrent-content.js @@ -512,7 +512,7 @@ window.qBittorrent.TorrentContent ??= (() => { }, }); - torrentFilesTable.setup(tableId, "torrentFilesTableFixedHeaderDiv", torrentFilesContextMenu, true); + torrentFilesTable.setup(tableId, "torrentFilesTableFixedHeaderDiv", torrentFilesContextMenu); // inject checkbox into table header const tableHeaders = document.querySelectorAll("#torrentFilesTableFixedHeaderDiv .dynamicTableHeader th"); if (tableHeaders.length > 0) { diff --git a/src/webui/www/private/views/transferlist.html b/src/webui/www/private/views/transferlist.html index c6feebbb53ad..0692a06db83a 100644 --- a/src/webui/www/private/views/transferlist.html +++ b/src/webui/www/private/views/transferlist.html @@ -111,7 +111,7 @@ }); const setup = () => { - torrentsTable.setup("torrentsTableDiv", "torrentsTableFixedHeaderDiv", contextMenu, true); + torrentsTable.setup("torrentsTableDiv", "torrentsTableFixedHeaderDiv", contextMenu); }; return exports();