mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-12 18:08:57 -04:00
112 lines
3.7 KiB
HTML
112 lines
3.7 KiB
HTML
{% macro format_item_name(name, separators=True) -%}
|
|
{%- if name is string -%}
|
|
{{- name -}}
|
|
{%- else -%}
|
|
{%- for part in name -%}
|
|
{{- format_item_name(part, separators) -}}
|
|
{%- if not loop.last -%}
|
|
{%- if separators %}
|
|
<span class="message-name-separator"></span>{%- else %} {% endif -%}
|
|
{% endif -%}
|
|
{%- endfor -%}
|
|
{% endif %}
|
|
{%- endmacro %}
|
|
|
|
{% if template_list.template_folder_id and not template_list.templates_to_show %}
|
|
<p class="template-list-empty">
|
|
{% if template_list.folder_is_empty %}
|
|
This folder is empty
|
|
{% else %}
|
|
There are no {{ 1|message_count_label(template_type, suffix='') }} templates in this folder
|
|
{% endif %}
|
|
</p>
|
|
{% else %}
|
|
<nav id="template-list">
|
|
{% set checkboxes_data = [] %}
|
|
|
|
{% if not current_user.has_permissions('manage_templates') %}
|
|
<ul>
|
|
{% endif %}
|
|
|
|
{% set label_content %}
|
|
<span class="usa-sr-only">
|
|
{%- for ancestor in item.ancestors %}{{ format_item_name(ancestor.name, separators=False) }} {% endfor -%}
|
|
{{ format_item_name(item.name, separators=False) -}}
|
|
</span>
|
|
{% endset %}
|
|
|
|
{% for item in template_list %}
|
|
|
|
{% set item_link_content %}
|
|
{% if item.is_folder %}
|
|
<a href="{{ url_for('.choose_template', service_id=current_service.id, template_type=template_type, template_folder_id=item.id) }}"
|
|
class="usa-link template-list-folder">
|
|
<span class="live-search-relevant">{{- format_item_name(item.name) -}}</span>
|
|
</a>
|
|
{% elif not item.ancestors %}
|
|
<a href="{{ url_for('.view_template', service_id=current_service.id, template_id=item.id) }}"
|
|
class="usa-link template-list-template">
|
|
<span class="live-search-relevant">
|
|
{%- if current_service.api_keys -%}
|
|
<span class="display-none">{{ item.id }} </span>
|
|
{%- endif -%}
|
|
{{- format_item_name(item.name) -}}
|
|
</span>
|
|
</a>
|
|
{% endif %}
|
|
{% endset %}
|
|
|
|
{% set label_content %}
|
|
<span class="usa-sr-only">
|
|
{%- for ancestor in item.ancestors %}{{ format_item_name(ancestor.name, separators=False) }} {% endfor -%}
|
|
{{ format_item_name(item.name, separators=False) -}}
|
|
</span>
|
|
{% endset %}
|
|
|
|
{% set item_meta %}
|
|
{% if not item.ancestors %}
|
|
<span id="{{ item.id }}-item-hint" class="usa-hint usa-checkbox__label-description template-list-item-hint">
|
|
{{ item.hint }}
|
|
</span>
|
|
{% endif %}
|
|
{% endset %}
|
|
|
|
{# create the item config now to include the label content -#}
|
|
{# TODO: "attributes": { "aria-describedby": item.id ~ "-hint" } needs to be added but govuk-frontend-jinja doesn't
|
|
currently support this -#}
|
|
{% set checkbox_config = {
|
|
"html": label_content,
|
|
"label": {
|
|
"classes": "template-list-item-label margin-top-05",
|
|
},
|
|
"id": "templates-or-folder-" ~ item.id,
|
|
"classes": "template-list-item template-list-item-with-checkbox {}".format(
|
|
"template-list-item-hidden-by-default" if item.ancestors else "template-list-item-without-ancestors"),
|
|
"after": item_link_content ~ item_meta
|
|
} %}
|
|
{% set _ = checkboxes_data.append(checkbox_config) %}
|
|
|
|
{% if not current_user.has_permissions('manage_templates') %}
|
|
<li
|
|
class="template-list-item {%- if item.ancestors %} template-list-item-hidden-by-default {%- else %} template-list-item-without-ancestors{%- endif %}">
|
|
{{ item_link_content }}
|
|
<p class="template-list-item-hint">
|
|
{{ item.hint }}
|
|
</p>
|
|
</li>
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{% if not current_user.has_permissions('manage_templates') %}
|
|
</ul>
|
|
{% endif %}
|
|
|
|
{% if current_user.has_permissions('manage_templates') %}
|
|
{{ templates_and_folders_form.templates_and_folders(param_extensions={
|
|
"items": checkboxes_data,
|
|
"formGroup": False
|
|
}) }}
|
|
{% endif %}
|
|
</nav>
|
|
{% endif %}
|