From a24c18743535fdbd2fe1f2b2b827cb6e18468ca8 Mon Sep 17 00:00:00 2001 From: Thomas Piccirello Date: Thu, 5 Jun 2025 20:40:40 -0700 Subject: [PATCH] WebUI: Reset filter selection when double clicking filter When double clicking on a filter, all other filters will be reset. For example, double clicking on a status filter will reset the categories, tags, and trackers filters to "All". --- src/webui/www/private/views/filters.html | 38 ++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/webui/www/private/views/filters.html b/src/webui/www/private/views/filters.html index ef7bc88dc..422da254e 100644 --- a/src/webui/www/private/views/filters.html +++ b/src/webui/www/private/views/filters.html @@ -256,6 +256,39 @@ } }); + document.getElementById("Filters_pad").addEventListener("dblclick", (event) => { + const filterItem = event.target.closest("li"); + if (!filterItem) + return; + + const { id: filterListID } = filterItem.closest("ul[id]"); + switch (filterListID) { + case "statusFilterList": + clearCategoryFilter(); + clearTagFilter(); + clearTrackerFilter(); + break; + case "categoryFilterList": + clearStatusFilter(); + clearTagFilter(); + clearTrackerFilter(); + break; + case "tagFilterList": + clearStatusFilter(); + clearCategoryFilter(); + clearTrackerFilter(); + break; + case "trackerFilterList": + clearStatusFilter(); + clearCategoryFilter(); + clearTagFilter(); + break; + default: + console.error(`Unexpected filterListID: ${filterListID}`); + break; + } + }); + document.getElementById("Filters_pad").addEventListener("click", (event) => { const filterTitle = event.target.closest(".filterTitle"); if (!filterTitle) @@ -281,6 +314,11 @@ toggleCategoryDisplay(filterItem.id); }); + const clearStatusFilter = () => { setStatusFilter("all"); }; + const clearCategoryFilter = () => { setCategoryFilter(CATEGORIES_ALL); }; + const clearTagFilter = () => { setTagFilter(TAGS_ALL); }; + const clearTrackerFilter = () => { setTrackerFilter(TRACKERS_ALL); }; + return exports(); })(); Object.freeze(window.qBittorrent.Filters);