{% macro filtersInputs(selectName, inputName, label='', options='', filters={}) %}
{% for field in filters %} {% for value in filters[field] %} {{ selectAndInput(selectName, inputName, selectOptions=options, selected=field, inputValue=value, attrs=attrs) }} {% endfor %} {% endfor %}
{{ _('Add Filter') }} {% endmacro %} {% macro selectAndInput(selectName, inputName, selectOptions='', selected='', inputValue='') %}
{{ ui.select(name=selectName, options=selectOptions, selected=selected) }} {{ ui.input(name=inputName, value=inputValue) }} {{ ui.button(ui.icon("times"), aria={"label": _('Remove Filter')}, data={"filter-action": "remove"}) }}
{% endmacro %} {% set fields = h.resource_view_get_fields(resource) %} {% set templateFilterInputs = selectAndInput('filter_fields', 'filter_values', selectOptions=fields) %} {% set filters = resource_view['filters'] %}
{{filtersInputs('filter_fields', 'filter_values', label=_('Filters'), options=fields, filters=filters)}}