diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2021-10-30 15:29:59 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2021-10-30 15:29:59 -0400 |
commit | bdad596916185d89196b96e3b3d992254f6b1e87 (patch) | |
tree | a5aae063521ccde54482e2e38f8fd1823a5c2b8f /coverage/htmlfiles/coverage_html.js | |
parent | 1e04123c16c868d1ee826edf8333210b265a1674 (diff) | |
download | python-coveragepy-git-bdad596916185d89196b96e3b3d992254f6b1e87.tar.gz |
fix: sticky HTML header only worked with branch coverage
Diffstat (limited to 'coverage/htmlfiles/coverage_html.js')
-rw-r--r-- | coverage/htmlfiles/coverage_html.js | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/coverage/htmlfiles/coverage_html.js b/coverage/htmlfiles/coverage_html.js index d111289b..00e18488 100644 --- a/coverage/htmlfiles/coverage_html.js +++ b/coverage/htmlfiles/coverage_html.js @@ -209,15 +209,21 @@ coverage.pyfile_ready = function () { coverage.set_sel(0); } - document.querySelector(".button_toggle_run").addEventListener("click", coverage.toggle_lines); - document.querySelector(".button_toggle_mis").addEventListener("click", coverage.toggle_lines); - document.querySelector(".button_toggle_exc").addEventListener("click", coverage.toggle_lines); - document.querySelector(".button_toggle_par").addEventListener("click", coverage.toggle_lines); + const on_click = function(sel, fn) { + const elt = document.querySelector(sel); + if (elt) { + elt.addEventListener("click", fn); + } + } + on_click(".button_toggle_run", coverage.toggle_lines); + on_click(".button_toggle_mis", coverage.toggle_lines); + on_click(".button_toggle_exc", coverage.toggle_lines); + on_click(".button_toggle_par", coverage.toggle_lines); - document.querySelector(".button_next_chunk").addEventListener("click", coverage.to_next_chunk_nicely); - document.querySelector(".button_prev_chunk").addEventListener("click", coverage.to_prev_chunk_nicely); - document.querySelector(".button_top_of_page").addEventListener("click", coverage.to_top); - document.querySelector(".button_first_chunk").addEventListener("click", coverage.to_first_chunk); + on_click(".button_next_chunk", coverage.to_next_chunk_nicely); + on_click(".button_prev_chunk", coverage.to_prev_chunk_nicely); + on_click(".button_top_of_page", coverage.to_top); + on_click(".button_first_chunk", coverage.to_first_chunk); coverage.filters = undefined; try { @@ -258,13 +264,15 @@ coverage.toggle_lines = function (event) { coverage.set_line_visibilty = function (category, should_show) { const cls = "show_" + category; const btn = document.querySelector(".button_toggle_" + category); - if (should_show) { - document.querySelectorAll("#source ." + category).forEach(e => e.classList.add(cls)); - btn.classList.add(cls); - } - else { - document.querySelectorAll("#source ." + category).forEach(e => e.classList.remove(cls)); - btn.classList.remove(cls); + if (btn) { + if (should_show) { + document.querySelectorAll("#source ." + category).forEach(e => e.classList.add(cls)); + btn.classList.add(cls); + } + else { + document.querySelectorAll("#source ." + category).forEach(e => e.classList.remove(cls)); + btn.classList.remove(cls); + } } }; |