Add folder-style navigation even if you don’t have folders

This commit is contained in:
Chris Hill-Scott
2019-04-30 16:32:20 +01:00
parent d0d6421a91
commit 69b1ecb57c
6 changed files with 63 additions and 65 deletions

View File

@@ -3,38 +3,30 @@
service_id,
template_type,
current_user,
fallback_page_title=None,
show_fallback_page_title=False,
link_current_item=False
) %}
{% if show_fallback_page_title %}
<h1 class="heading-medium">
{{ fallback_page_title }}
</h1>
{% else %}
<h1 class="heading-medium folder-heading">
{% for folder in folders %}
{% if loop.last and not link_current_item %}
{% if folder.template_type or not folder.id %}
<span class="folder-heading-template">{{ folder.name }}</span>
<h1 class="heading-medium folder-heading">
{% for folder in folders %}
{% if loop.last and not link_current_item %}
{% if folder.template_type or not folder.id %}
<span class="folder-heading-template">{{ folder.name }}</span>
{% else %}
<span class="folder-heading-folder">{{ folder.name }}</span>
{% endif %}
{% else %}
{% if folder.id %}
{% if current_user.has_template_folder_permission(folder) %}
<a href="{{ url_for('.choose_template', service_id=service_id, template_type=template_type, template_folder_id=folder.id) }}" class="folder-heading-folder {% if loop.index < (loop.length - 1) %}folder-heading-folder-truncated{% endif %}" title="{{ folder.name }}">{{ folder.name }}</a>
{% else %}
<span class="folder-heading-folder">{{ folder.name }}</span>
{% endif %}
{% else %}
{% if folder.id %}
{% if current_user.has_template_folder_permission(folder) %}
<a href="{{ url_for('.choose_template', service_id=service_id, template_type=template_type, template_folder_id=folder.id) }}" class="folder-heading-folder {% if loop.index < (loop.length - 1) %}folder-heading-folder-truncated{% endif %}" title="{{ folder.name }}">{{ folder.name }}</a>
{% else %}
<span class="folder-heading-folder">{{ folder.name }}</span>
{% endif %}
{% else %}
<a href="{{ url_for('.choose_template', service_id=service_id, template_type=template_type) }}" title="Templates" class="{% if loop.length > 2 %}folder-heading-folder-root-truncated{% endif %}">Templates</a>
{% endif %}
{% if not loop.last %}{{ folder_path_separator() }}{% endif %}
<a href="{{ url_for('.choose_template', service_id=service_id, template_type=template_type) }}" title="Templates" class="{% if loop.length > 2 %}folder-heading-folder-root-truncated{% endif %}">Templates</a>
{% endif %}
{% endfor %}
</h1>
{% endif %}
{% if not loop.last %}{{ folder_path_separator() }}{% endif %}
{% endif %}
{% endfor %}
</h1>
{% endmacro %}
@@ -75,21 +67,13 @@
{% endmacro %}
{% macro page_title_folder_path(
folders,
fallback_page_title=None,
show_fallback_page_title=False
) %}
{% if show_fallback_page_title %}
{{ fallback_page_title }}
{% else %}
{% for folder in folders|reverse %}
{{ folder.name }}
{% if not loop.last %}
{% endif %}
{% endfor %}
{% endif %}
{% macro page_title_folder_path(folders) %}
{% for folder in folders|reverse %}
{{ folder.name }}
{% if not loop.last %}
{% endif %}
{% endfor %}
{% endmacro %}

View File

@@ -4,7 +4,6 @@
{% from "components/textbox.html" import textbox %}
{% from "components/live-search.html" import live_search %}
{% from "components/form.html" import form_wrapper %}
{% from "components/page-footer.html" import page_header %}
{% from "components/page-footer.html" import page_footer %}
{% extends "withnav_template.html" %}
@@ -50,9 +49,7 @@
folders=template_folder_path,
service_id=current_service.id,
template_type=template_type,
current_user=current_user,
fallback_page_title=page_title,
show_fallback_page_title=not current_service.all_template_folders
current_user=current_user
) }}
</div>
{% if current_user.has_permissions('manage_templates') and current_template_folder_id and user_has_template_folder_permission %}

View File

@@ -1,12 +1,12 @@
{% extends "withnav_template.html" %}
{% from "components/banner.html" import banner_wrapper %}
{% from "components/folder-path.html" import folder_path %}
{% from "components/folder-path.html" import folder_path, page_title_folder_path %}
{% from "components/page-footer.html" import page_footer %}
{% from "components/textbox.html" import textbox %}
{% from "components/api-key.html" import api_key %}
{% block service_page_title %}
{{ template.name }}
{{ page_title_folder_path(current_service.get_template_path(template._template)) }}
{% endblock %}
{% block maincolumn_content %}
@@ -35,9 +35,7 @@
folders=current_service.get_template_path(template._template),
service_id=current_service.id,
template_type='all',
current_user=current_user,
fallback_page_title=template.name,
show_fallback_page_title=not current_service.all_template_folders
current_user=current_user
) }}
</div>
</div>