diff --git a/htmlreport/cppcheck-htmlreport b/htmlreport/cppcheck-htmlreport
index b33699ca2ed..ddf5e1709c9 100755
--- a/htmlreport/cppcheck-htmlreport
+++ b/htmlreport/cppcheck-htmlreport
@@ -356,6 +356,57 @@ HTML_HEAD = """
}
}
+ function reapplyFilters() {
+ // Reapply ID filters
+ var idToggles = document.querySelectorAll(".idToggle");
+ for (var i = 1; i < idToggles.length; i++) {
+ var cb = idToggles[i];
+ var elements = document.querySelectorAll("." + cb.id);
+ for (var j = 0; j < elements.length; j++) {
+ elements[j].classList.toggle("id-filtered", !cb.checked);
+ }
+ }
+
+ // Reapply severity filters
+ var sevToggles = document.querySelectorAll(".sev_toggle");
+ for (var i = 0; i < sevToggles.length; i++) {
+ var cb = sevToggles[i];
+ var elements = document.querySelectorAll(".sev_" + cb.id);
+ for (var j = 0; j < elements.length; j++) {
+ elements[j].classList.toggle("severity-filtered", !cb.checked);
+ }
+ }
+
+ // Reapply classification filters
+ var classToggles = document.querySelectorAll(".class_toggle");
+ for (var i = 0; i < classToggles.length; i++) {
+ var cb = classToggles[i];
+ var elements = document.querySelectorAll(".class_" + cb.id);
+ for (var j = 0; j < elements.length; j++) {
+ elements[j].classList.toggle("classification-filtered", !cb.checked);
+ }
+ }
+
+ // Reapply tool filters
+ var toolToggles = document.querySelectorAll(".tool_toggle");
+ for (var i = 0; i < toolToggles.length; i++) {
+ var cb = toolToggles[i];
+ var elements;
+ if (cb.id == "clang-tidy")
+ elements = document.querySelectorAll("[class^=clang-tidy-]");
+ else
+ elements = document.querySelectorAll(".issue:not([class^=clang-tidy-])");
+
+ for (var j = 0; j < elements.length; j++) {
+ elements[j].classList.toggle("tool-filtered", !cb.checked);
+ }
+ }
+
+ // Update file rows
+ updateFileRows();
+ }
+
+ window.addEventListener("pageshow", reapplyFilters);
window.addEventListener("load", initExpandables);