WebUI: Eliminate unnecessary torrents table updates

Only update the torrents table when torrents are added, edited, or removed.

PR #21656.
This commit is contained in:
Thomas Piccirello 2024-10-31 13:34:17 -07:00 committed by GitHub
parent 72cbc83569
commit 8991d994c2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -752,12 +752,14 @@ window.addEventListener("DOMContentLoaded", () => {
let update_categories = false;
let updateTags = false;
let updateTrackers = false;
let updateTorrents = false;
const full_update = (response["full_update"] === true);
if (full_update) {
torrentsTableSelectedRows = torrentsTable.selectedRowsIds();
update_categories = true;
updateTags = true;
updateTrackers = true;
updateTorrents = true;
torrentsTable.clear();
category_list.clear();
tagList.clear();
@ -864,6 +866,7 @@ window.addEventListener("DOMContentLoaded", () => {
update_categories = true;
if (addTorrentToTagList(response["torrents"][key]))
updateTags = true;
updateTorrents = true;
}
}
if (response["torrents_removed"]) {
@ -874,8 +877,13 @@ window.addEventListener("DOMContentLoaded", () => {
removeTorrentFromTagList(hash);
updateTags = true; // Always to update All tag
});
updateTorrents = true;
}
torrentsTable.updateTable(full_update);
// don't update the table unnecessarily
if (updateTorrents)
torrentsTable.updateTable(full_update);
if (response["server_state"]) {
const tmp = response["server_state"];
for (const k in tmp) {