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(): |