{% macro render_table(headers, rows, entry_route=None, title=None) %}
{% if title %} {% endif %} {% for h in headers %} {% endfor %} {% for row in rows %} {% for cell in row.cells %} {% endfor %} {% endfor %}
{{ title }}
{{ h }}
{% if cell.type == 'bool' %} {{ cell.html | safe }} {% elif cell.url %} {{ cell.text }} {% else %} {{ cell.text or '-' }} {% endif %}
{% endmacro %} {% macro render_pagination(endpoint, page, has_prev, has_next, total_pages, page_variable='page', extra_args={}) %} {% set prev_args = extra_args.copy() %} {% set next_args = extra_args.copy() %} {% set first_args = extra_args.copy() %} {% set last_args = extra_args.copy() %} {% set _ = prev_args.update({page_variable: page - 1}) %} {% set _ = next_args.update({page_variable: page + 1}) %} {% set _ = first_args.update({page_variable: 1}) %} {% set _ = last_args.update({page_variable: total_pages}) %}
« First < Prev
Page {{ page }} of {{ total_pages }}
{% for number in range(page - 2, page + 3) if number > 0 and number <= total_pages %} {% set args=extra_args.copy() %} {% set _=args.update({page_variable: number}) %} {{ number }} {% endfor %}
Next > Last »
{% endmacro %}