From ee4179e0e759db9c03cae54ad7c95fe101bd5def Mon Sep 17 00:00:00 2001 From: Julian Rother <julianr@fsmpi.rwth-aachen.de> Date: Sat, 30 Jan 2021 13:37:56 +0100 Subject: [PATCH] Fixed navbar behaviour if bar is empty and collapsed --- uffd/navbar.py | 4 ++-- uffd/templates/base.html | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/uffd/navbar.py b/uffd/navbar.py index 10579e5f..dc46b763 100644 --- a/uffd/navbar.py +++ b/uffd/navbar.py @@ -3,7 +3,7 @@ navbarList = [] # pylint: enable=invalid-name def setup_navbar(app): - app.jinja_env.globals['navbar'] = navbarList + app.jinja_env.globals['getnavbar'] = lambda: [n for n in navbarList if n['visible']()] # iconlib can be 'bootstrap' # ( see: http://getbootstrap.com/components/#glyphicons ) @@ -27,7 +27,7 @@ def register_navbar(name, iconlib='fa', icon=None, group=None, endpoint=None, bl item['endpoint'] = urlendpoint item['name'] = name item['blueprint'] = blueprint - item['visible'] = visible + item['visible'] = visible or (lambda: True) navbarList.append(item) return func return wrapper diff --git a/uffd/templates/base.html b/uffd/templates/base.html index ac9e2af2..5ab3cba8 100644 --- a/uffd/templates/base.html +++ b/uffd/templates/base.html @@ -36,17 +36,18 @@ <nav class="navbar navbar-expand-md navbar-dark bg-dark static-top" > <a class="navbar-brand" href="{{ url_for('index') }}">uffd</a> + {% if getnavbar() %} <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#baseNavbar" aria-controls="baseNavbar" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="baseNavbar"> <ul class="navbar-nav mr-auto"> - {% for n in navbar if (not n.group) and (not n.visible or n.visible()) %} + {% for n in getnavbar() if not n.group %} {{ navbaricon(n) }} {% endfor %} - {% for grouper, list in navbar|rejectattr("group", "none")|groupby("group") %} + {% for grouper, list in getnavbar()|rejectattr("group", "none")|groupby("group") %} <li class="nav-item dropdown {% if request.endpoint in list|map(attribute='endpoint') %} active{% endif %}"> <a class="nav-link dropdown-toggle dropdow-clickable" @@ -76,9 +77,8 @@ </li> </ul> {% endif %} - - </div> + {% endif %} </nav> {% endblock navbar %} -- GitLab