summaryrefslogtreecommitdiff
path: root/coverage/htmlfiles/coverage_html.js
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2021-10-16 20:27:10 -0400
committerNed Batchelder <ned@nedbatchelder.com>2021-10-17 11:05:45 -0400
commitb2ca5af1e1811d2ac00a552df4703e8f318582b8 (patch)
tree3ab5141576774065b67090fe7039ae91eab39c06 /coverage/htmlfiles/coverage_html.js
parente0775064500aad4a8b51e50db80587be62607e3d (diff)
downloadpython-coveragepy-git-b2ca5af1e1811d2ac00a552df4703e8f318582b8.tar.gz
feat(html): sticky header on pyfile
Diffstat (limited to 'coverage/htmlfiles/coverage_html.js')
-rw-r--r--coverage/htmlfiles/coverage_html.js20
1 files changed, 19 insertions, 1 deletions
diff --git a/coverage/htmlfiles/coverage_html.js b/coverage/htmlfiles/coverage_html.js
index 30d3a067..514103c7 100644
--- a/coverage/htmlfiles/coverage_html.js
+++ b/coverage/htmlfiles/coverage_html.js
@@ -276,9 +276,27 @@ coverage.pyfile_ready = function ($) {
coverage.assign_shortkeys();
coverage.wire_up_help_panel();
-
coverage.init_scroll_markers();
+ const sticky = document.querySelector('#sticky_header');
+ const header = document.querySelector('header');
+ const header_bottom = document.querySelector('header .content .stats').getBoundingClientRect().top;
+
+ function updateHeader() {
+ if (window.scrollY > header_bottom) {
+ sticky.classList.add('visible');
+ header.classList.add('hidden');
+ } else {
+ sticky.classList.remove('visible');
+ header.classList.remove('hidden');
+ }
+ }
+
+ updateHeader();
+ window.addEventListener('scroll', function() {
+ updateHeader();
+ });
+
// Rebuild scroll markers when the window height changes.
$(window).resize(coverage.build_scroll_markers);
};