{% import "macros/form.html" as form %} {% macro facet(name, values, labels=[], visible=5, title=null, sub_text='', show_all_label="Show all", empty_label=null, collapsible=false, expanded=false, attrs={}, show_all_counter=none, add_search=false) %} {% if not labels %} {% set labels = values %} {% endif %} {% call filter(collapsible and title, expanded, collapsible=collapsible, sub_text=sub_text) %} {% set selected = request.args.getlist(name) %} {% set main = values[:visible] %} {% set rest = values[visible:] %}
{% if not collapsible %} {{ title or name }} {% endif %} {% if add_search and values|length > visible %} {% block facet_search_input scoped %} {% endblock %} {% endif %} {% for val in main %} {{ form.checkbox( name, id="filter-" ~ name ~ "-main-" ~ loop.index0, label=labels[loop.index0], value=val, checked=val in selected, attrs=attrs, )}} {% else %} {{ empty_label }} {% endfor %} {% if rest %}
{% for val in rest %} {{ form.checkbox( name, id="filter-" ~ name ~ "-rest-" ~ loop.index0, label=labels[loop.index0 + visible], value=val, checked=val in selected, attrs=attrs, )}} {% endfor %}
{% endif %}
{% endcall %} {% endmacro %}