summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js
diff options
context:
space:
mode:
authorRani Hod <rani.hod@gmail.com>2023-10-02 18:01:54 +0300
committerPaul Donald <newtwen@gmail.com>2023-12-04 16:35:15 +0100
commit8fcd52f5130acd1a0738ff47f9bba2c9cc42e662 (patch)
treee8d05099250e23e49980d7e5b9d10492deac73ba /applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js
parent1e84a03932455e79880e10abc88b92343db8d811 (diff)
luci-app-statistics: regenerate graphs on window resize
Currently graphs are redrawn only based on the refresh interval (never or every 5/30/60 seconds). Since the image size is calculated based on the window size, redraw graphs (once) also after resizing the window. This also captures window resize due to orientation change (e.g., for mobile). Since multiple resize events are fired when dragging the window border, there is a 250ms delay for debouncing. Signed-off-by: Rani Hod <rani.hod@gmail.com> Tested-by: Paul Donald <newtwen@gmail.com>
Diffstat (limited to 'applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js')
-rw-r--r--applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js4
1 files changed, 4 insertions, 0 deletions
diff --git a/applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js b/applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js
index db24d18592..4ac81ff826 100644
--- a/applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js
+++ b/applications/luci-app-statistics/htdocs/luci-static/resources/view/statistics/graphs.js
@@ -244,6 +244,10 @@ return view.extend({
requestAnimationFrame(L.bind(this.updateGraphs, this, hostSel, spanSel, timeSel, graphDiv));
+ var resizeTimeout;
+ var rgCallback = L.bind(this.refreshGraphs, this, hostSel, spanSel, timeSel, graphDiv);
+ addEventListener('resize', function() { clearTimeout(resizeTimeout); resizeTimeout = setTimeout(rgCallback, 250); });
+
return view;
},