{# List region — UX-035 adopter #2 (after grid). #} {% from 'macros/status_badge.html' import render_status_badge %} {% from 'macros/region_wrapper.html' import region_card %} {% call region_card(None) %} {# Header row: title + region actions + CSV export #}
{# Filter bar — per-column dropdowns #} {% if filter_columns %} {% endif %} {% if date_range %} {% endif %} {% if items %}| {% if col.sortable %} {{ col.label }} {% if sort_field == col.key %}{{ "▼" if sort_dir == "desc" else "▲" }}{% endif %} {% else %} {{ col.label }} {% endif %} | {% endfor %}
|---|
| {% if col.type == "badge" %} {{ render_status_badge(value=item[col.key]) }} {% elif col.type == "bool" %} {{ item[col.key] | bool_icon }} {% elif col.type == "date" %} {{ item[col.key] | timeago }} {% elif col.type == "currency" %} {{ item[col.key] | currency }} {% elif col.type == "ref" %} {% set ref = item[col.key] %} {% set display_name = item.get(col.key ~ "_display", "") %} {% if ref is mapping %} {% set display_name = display_name or (ref | ref_display) %} {% if col.ref_route and ref.get("id") %} {{ display_name }} {% else %}{{ display_name }}{% endif %} {% elif display_name %}{{ display_name }}{% else %}-{% endif %} {% else %} {{ item[col.key] | default("") | truncate_text }} {% endif %} | {% endfor %}
Showing {{ items | length }} of {{ total }}
{% endif %} {% else %} {% include "fragments/empty_state.html" %} {% endif %} {% endcall %}