diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2021-10-16 20:27:10 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2021-10-17 11:05:45 -0400 |
commit | b2ca5af1e1811d2ac00a552df4703e8f318582b8 (patch) | |
tree | 3ab5141576774065b67090fe7039ae91eab39c06 /coverage/htmlfiles/coverage_html.js | |
parent | e0775064500aad4a8b51e50db80587be62607e3d (diff) | |
download | python-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.js | 20 |
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); }; |