{% import "macros/icons.html" as icons %} {% import "macros/pagination.html" as pagination %} {% macro datatable(data, count, query_parameters, title, columns) %}
{{ title }} {{ count }}
{% for column in columns | selectattr('slug', 'in', query_parameters.columns) %} {% endfor %} {% for row in data %} {% for column in columns | selectattr('slug', 'in', query_parameters.columns) %} {% endfor %} {% endfor %}
{% if column.ordering %} {{ column.title }} {% if query_parameters.is_ordered(column.ordering, "asc") %} {{ icons.arrow_down('ml-1 w-2 h-2 fill-current') }} {% elif query_parameters.is_ordered(column.ordering, "desc") %} {{ icons.arrow_up('ml-1 w-2 h-2 fill-current') }} {% endif %} {% else %} {{ column.title }} {% endif %}
{{ column.renderer_macro(row, **column.renderer_macro_kwargs) }}
{{ pagination.pagination(count, query_parameters) }}
{% endmacro %}