From 37ae1bc5a218d0901431f6ab319f766b105c0773 Mon Sep 17 00:00:00 2001 From: Alejandro Sirgo Rica Date: Thu, 13 Jun 2024 12:29:21 +0200 Subject: ogcp: add disclosure widget to sidebar Add cache buster to soleta.css in base.html to have control over cache expirity. Bump soleta.css version to ensure browser does not used older (cached) version. Add CSS rules to show a disclosure widget in the sidebar. Show center checkboxes as disabled in the commands view sidebar for visual consistency. Add class "collapsed" to the proper HTML components to keep a proper state on page reload. --- ogcp/static/css/soleta.css | 15 +++++++++++++++ ogcp/static/js/ogcp.js | 2 ++ ogcp/templates/base.html | 2 +- ogcp/templates/macros.html | 3 +-- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/ogcp/static/css/soleta.css b/ogcp/static/css/soleta.css index 6a0a850..7009abb 100644 --- a/ogcp/static/css/soleta.css +++ b/ogcp/static/css/soleta.css @@ -61,3 +61,18 @@ html, body { #dhcpd_conf { height: 25rem; } + +a.nav-link.collapsed:not(.disabled)[data-toggle="collapse"]::before { + content: "▶"; + position: absolute; + left: -15px; + font-size: 0.7em; +} + +a.nav-link:not(.collapsed):not(.disabled)[data-toggle="collapse"]::before { + content: "▶"; + position: absolute; + left: -15px; + transform: rotate(90deg); + font-size: 0.7em; +} diff --git a/ogcp/static/js/ogcp.js b/ogcp/static/js/ogcp.js index a0bbed1..5c15b30 100644 --- a/ogcp/static/js/ogcp.js +++ b/ogcp/static/js/ogcp.js @@ -193,6 +193,8 @@ function keepScopesTreeState() { scopes_tree.each(function () { if (localStorage.getItem(this.id) == 'show') { $(this).collapse('show'); + } else { + $(this).siblings('a').addClass('collapsed'); } }); } diff --git a/ogcp/templates/base.html b/ogcp/templates/base.html index 3ac4f5d..30dc3bb 100644 --- a/ogcp/templates/base.html +++ b/ogcp/templates/base.html @@ -10,7 +10,7 @@ - + {% endblock %} diff --git a/ogcp/templates/macros.html b/ogcp/templates/macros.html index c6cd15e..4047e87 100644 --- a/ogcp/templates/macros.html +++ b/ogcp/templates/macros.html @@ -36,13 +36,12 @@ {% if scope.get("selected", False) %}checked{% endif %} name="scope-server" hidden/> {% elif scope["type"] == "center" %} - {% if selection_mode != "commands" %} - {% endif %} {% elif scope["type"] == "room" %} {% set parent_room = scope.name + "-" + scope.id|string %}