summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Sirgo Rica <asirgo@soleta.eu>2024-06-13 12:29:21 +0200
committerAlejandro Sirgo Rica <asirgo@soleta.eu>2024-06-14 09:25:17 +0200
commit37ae1bc5a218d0901431f6ab319f766b105c0773 (patch)
tree3568f928658cbf5bd9c3a6fdbf6b5180d84f3a9f
parent272a5067ad6bc4a9b5e4a401ea7625e71d6914af (diff)
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.
-rw-r--r--ogcp/static/css/soleta.css15
-rw-r--r--ogcp/static/js/ogcp.js2
-rw-r--r--ogcp/templates/base.html2
-rw-r--r--ogcp/templates/macros.html3
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 @@
<link rel="stylesheet" href="{{ url_for('static', filename='AdminLTE/plugins/fontawesome-free/css/all.min.css') }}">
<!-- Theme style -->
<link rel="stylesheet" href="{{ url_for('static', filename='AdminLTE/dist/css/adminlte.min.css') }}">
- <link rel="stylesheet" href="{{ url_for('static', filename='css/soleta.css') }}" />
+ <link rel="stylesheet" href="{{ url_for('static', filename='css/soleta.css') }}?v=1" />
{% endblock %}
</head>
<body>
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" %}
<input id="{{ input_id }}" class="form-check-input" type="checkbox" form="scopesForm"
value="{{ scope["id"] }}"
{% if state %}style="filter: grayscale(100%);" onclick="return false;"{% endif %}
{% if scope.get("selected", False) %}checked{% endif %}
+ {% if selection_mode == "commands" %}disabled="disabled"{% endif %}
name="scope-center" />
- {% endif %}
{% elif scope["type"] == "room" %}
{% set parent_room = scope.name + "-" + scope.id|string %}
<input id="{{ input_id }}" class="form-check-input" type="checkbox" form="scopesForm"