{% macro facet_filter(facets, name, label, icon=None, formatter=None) %} {% set terms = facets.get(name, []) %} {% if terms|length > 1 %}

{{ label }}

{% for term, count, active in terms %} {% if not active %} {{ count }} {{ formatter(term) if formatter else term }} {% endif %} {% else %} {{ _('No value to filter') }} {% endfor %}
{% endif %} {% endmacro %} {% macro tree_facet_filter(facets, name, label, icon=None, sep='/') %} {% set terms = facets.get(name, [])|treeize_facet(sep) %} {% if terms|length > 1 %}

{{ label }}

{% for term, count, active, subterms in terms %} {% if not active or subterms %} {{ count }} {{ formatter(term) if formatter else term }} {% for subterm, count, active in subterms %} {% if not active %} {{ count }} {{ formatter(subterm) if formatter else subterm }} {% endif %} {% endfor %} {% endif %} {% endfor %}
{% endif %} {% endmacro %} {% macro sorter_entries(field, label, type=None) %} {% set type = type or 'attributes' %} {% set orders = ['asc', 'desc'] if type == 'alphabet' else ['desc', 'asc'] %} {% for order in orders %} {% set suffix = '-alt' if order == 'desc' else '' %}
  • {{ label }}
  • {% endfor %} {% endmacro %} {% macro filter_label(name, label, icon=None, formatter=None) %} {% set values = request.args.getlist(name) or [] %} {% for value in values %} {% if icon %} {% endif %} {{ formatter(value) if formatter else value }} {% endfor %} {% endmacro %} {% macro paginator(page, page_size, total, nb=3) %} {% set pages = ((total|float) / page_size)|round(0, 'ceil')|int %} {% if pages > 1 %} {% set start = 1 if page <= nb else page - nb %} {% set end = pages if page + nb > pages else page + nb %}
    {% endif %} {% endmacro %}