diff options
Diffstat (limited to 'web/js/local.js')
| -rw-r--r-- | web/js/local.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/web/js/local.js b/web/js/local.js index e6dbb5c..aac60ca 100644 --- a/web/js/local.js +++ b/web/js/local.js @@ -17,6 +17,7 @@ 'use strict'; document.addEventListener('DOMContentLoaded', function () { + setupNavbarCollapse(); setVisible(document.getElementById('systems'), false); updateHostnames(); updateEventHistory(); @@ -34,6 +35,28 @@ document.addEventListener('DOMContentLoaded', function () { window.setInterval(updateEventHistory, 5000); }); +function setupNavbarCollapse() { + document.querySelectorAll('[data-toggle="collapse"][data-target]').forEach(function (button) { + var target = document.querySelector(button.getAttribute('data-target')); + if (!target) { + return; + } + + updateCollapseButton(button, target.classList.contains('show')); + + button.addEventListener('click', function () { + var expanded = !target.classList.contains('show'); + target.classList.toggle('show', expanded); + updateCollapseButton(button, expanded); + }); + }); +} + +function updateCollapseButton(button, expanded) { + button.setAttribute('aria-expanded', expanded ? 'true' : 'false'); + button.classList.toggle('collapsed', !expanded); +} + function fetchJSON(url) { return fetch(url, { headers: { |
