diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2024-07-24 13:34:52 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-07-24 14:39:45 +0000 |
| commit | bd8900c38af45bfa8f8e451267d0e3548b68e295 (patch) | |
| tree | 95e5a7f686335b89e64dca4e8f4060995cdfed77 /pkg/stat/set.go | |
| parent | 339edef584b68d656e2c5202d85eb705ee88874e (diff) | |
pkg/stat: preserve vertical scroll position on page reloads
The stats page is frequently reloaded to observe live data.
Currently vertical scroll jumps to random positions after reload,
it's super inconvinient. Preserve the position.
Diffstat (limited to 'pkg/stat/set.go')
| -rw-r--r-- | pkg/stat/set.go | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/pkg/stat/set.go b/pkg/stat/set.go index 4bcf2d2c6..4f8f75375 100644 --- a/pkg/stat/set.go +++ b/pkg/stat/set.go @@ -467,14 +467,10 @@ var htmlTemplate = pages.Create(` <head> <title>syzkaller stats</title> <script type="text/javascript" src="https://www.google.com/jsapi"></script> - {{HEAD}} -</head> -<body> -{{range $g := .}} - <div id="div_{{$g.ID}}"></div> <script type="text/javascript"> google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(function() { + {{range $g := .}} new google.visualization. {{if $g.Stacked}} AreaChart {{else}} LineChart {{end}} ( document.getElementById('div_{{$g.ID}}')). draw(google.visualization.arrayToDataTable([ @@ -494,8 +490,18 @@ var htmlTemplate = pages.Create(` hAxis: {minValue: 1, textPosition: 'out', maxAlternation: 1, gridlines: {multiple: 1}, minorGridlines: {multiple: 1}}, }) + {{end}} + + {{/* Preserve vertical scroll position after page reloads. Otherwise it's random. */}} + window.scroll(0, window.location.hash.substring(1)); + document.onscroll = function(e) { window.location.hash = Math.round(window.scrollY); }; }); </script> + {{HEAD}} +</head> +<body> +{{range $g := .}} + <div id="div_{{$g.ID}}"></div> {{end}} </body> </html> |
