aboutsummaryrefslogtreecommitdiff
path: root/web/js/local.js
diff options
context:
space:
mode:
Diffstat (limited to 'web/js/local.js')
-rw-r--r--web/js/local.js23
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: {
nihil fit ex nihilo