{# constants #} {% set prefix = grid_config.prefix %} {% set TABLE_ID = prefix~"viewgrid" %} {% set PAGE_PARAM = prefix~"page" %} {% set SEARCH_PARAM = prefix~"q" %} {% set SORT_PARAM = prefix~"sort" %} {% set SPINNER_ID = prefix~"spinner"%} {# state #} {% set q = request.args.get(SEARCH_PARAM, "") %} {% set page = request.args.get(PAGE_PARAM, 1)|int%} {% set sorts = request.args.getlist(SORT_PARAM)|map("partition", "asc")|list%} {% set records, total_pages = grid_config.get_records(page=page, sorts=sorts, q=q) %} {% set columns = grid_config.columns %} {% set search_args = request.args.copy() %} {% set _ = search_args.pop(SEARCH_PARAM,None) %} {% set _ = search_args.pop(PAGE_PARAM,None) %}
{% for column in columns %} {% endfor %} {% for column in columns %} {% endfor %} {% for record in records %} {% for column in columns %} {% endfor %} {% endfor %}
{% include "htmx_components_flask/sortlink.html" %}
{{column.render(record[column.attr])}}
Page {{page}} of {{total_pages}} {% include "htmx_components_flask/pager.html" %}