Commit 60d9b7a34adeb94f051cb7a10cd720ce54e874d8
1 parent
57f6e57b
Exists in
master
and in
34 other branches
Improve menu links from plugins
-Use OrderedDict to use the config order -If only one link, don't make dropdown menu Signed-off-by: Gustavo Jaruga <darksshades@gmail.com> Signed-off-by: Alexandre Barbosa <alexandreab@live.com>
Showing
2 changed files
with
16 additions
and
7 deletions
Show diff stats
colab/proxy/templates/proxy/menu_template.html
1 | {% for title, links in menu_links.items %} | 1 | {% for title, links in menu_links.items %} |
2 | -<li class="dropdown"> | ||
3 | - <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ title }} <b class="caret"></b></a> | ||
4 | - <ul class="dropdown-menu"> | 2 | + {% if links|length == 1 %} |
5 | {% for text, link in links %} | 3 | {% for text, link in links %} |
6 | - <li><a href="{{ link }}">{{ text }}</a></li> | 4 | + <li> |
5 | + <a href="{{ link }}">{{ title }}</a> | ||
6 | + </li> | ||
7 | {% endfor %} | 7 | {% endfor %} |
8 | - </ul> | ||
9 | -</li> | 8 | + {% else %} |
9 | + <li class="dropdown"> | ||
10 | + <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ title }} <b class="caret"></b></a> | ||
11 | + <ul class="dropdown-menu"> | ||
12 | + {% for text, link in links %} | ||
13 | + <li><a href="{{ link }}">{{ text }}</a></li> | ||
14 | + {% endfor %} | ||
15 | + </ul> | ||
16 | + </li> | ||
17 | + {% endif %} | ||
10 | {% endfor %} | 18 | {% endfor %} |
colab/proxy/templatetags/proxy.py
1 | +from collections import OrderedDict | ||
1 | 2 | ||
2 | from django.core.urlresolvers import reverse | 3 | from django.core.urlresolvers import reverse |
3 | from django import template | 4 | from django import template |
@@ -19,7 +20,7 @@ def proxy_menu(context): | @@ -19,7 +20,7 @@ def proxy_menu(context): | ||
19 | if menu_from_cache: | 20 | if menu_from_cache: |
20 | return menu_from_cache | 21 | return menu_from_cache |
21 | 22 | ||
22 | - menu_links = {} | 23 | + menu_links = OrderedDict() |
23 | proxied_apps = context.get('proxy', {}) | 24 | proxied_apps = context.get('proxy', {}) |
24 | 25 | ||
25 | for app_name, app in proxied_apps.items(): | 26 | for app_name, app in proxied_apps.items(): |