luci-theme-bootstrap: dynamically adjust body margin
authorJo-Philipp Wich <jo@mein.io>
Fri, 27 Mar 2020 16:57:48 +0000 (17:57 +0100)
committerJo-Philipp Wich <jo@mein.io>
Fri, 27 Mar 2020 16:58:12 +0000 (17:58 +0100)
Fixes: #3722
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
themes/luci-theme-bootstrap/luasrc/view/themes/bootstrap/json-menu.htm

index 9d58ba2dba0f4d8a87d079617cf9a632d0f820a5..ea11cf2263af82b31501f4b5be18679cf53d660a 100644 (file)
                                ul.style.display = '';
                }
 
+               function adjust_body_margin(ev) {
+                       var body = document.querySelector('body'),
+                           head = document.querySelector('header');
+
+                       body.style.marginTop = head.offsetHeight + 'px';
+               }
+
                document.addEventListener('luci-loaded', function(ev) {
                        var tree = <%= luci.http.write_json(luci.dispatcher.menu_json() or {}) %>,
                            node = tree,
                                if (node)
                                        render_tabmenu(node, url);
                        }
+
+                       document.addEventListener('poll-start', adjust_body_margin);
+                       document.addEventListener('poll-stop', adjust_body_margin);
+                       document.addEventListener('uci-new-changes', adjust_body_margin);
+                       document.addEventListener('uci-clear-changes', adjust_body_margin);
+                       window.addEventListener('resize', adjust_body_margin);
+
+                       adjust_body_margin(ev);
                });
        })();
 </script>