{% import "macros/form.html" as form %} {% macro filters(title="Filters", accept="Apply filters", cancel="Clear all filters", down=false, right=false, instant=false, count=false, id=null, cancel_url=null, submit_on_change=false) %}
{% if down or right %}
{% endif %}
{% if right %}
{% endif %}
{{ title }}
{{ caller() }}
{% if accept %}
{% endif %} {% if cancel %}
{% if cancel_url %} {{ cancel }} {% else %} {% endif %}
{% endif %}
{% endmacro %} {% macro filter(button_label) %}
{% if button_label %} {% endif %}
{{ caller() }}
{% endmacro %} {% macro facet(name, values, labels=[], visible=5, title=null, show_all_label="Show all", empty_label=null) %} {% if not labels %} {% set labels = values %} {% endif %} {% call filter() %} {% set selected = request.args.getlist(name) %} {% set main = values[:visible] %} {% set rest = values[visible:] %}
{{ title or name }} {% for val in main %} {{ form.checkbox( name, id="filter-" ~ name ~ "-main-" ~ loop.index0, label=labels[loop.index0], value=val, checked=val in selected, )}} {% else %} {{ empty_label }} {% endfor %} {% if rest %} {% endif %}
{% endcall %} {% endmacro %}