| 1234567891011121314151617181920212223242526272829303132333435 |
- {# Render an HTMX-enabled table with paginator #}
- {% load helpers %}
- {% load buttons %}
- {% load render_table from django_tables2 %}
- <div class="htmx-container table-responsive">
- {% with preferences|get_key:"pagination.placement" as paginator_placement %}
- {% if paginator_placement == 'top' or paginator_placement == 'both' %}
- {% include 'inc/paginator.html' with htmx=True table=table paginator=table.paginator page=table.page placement='top' %}
- {% endif %}
- {% render_table table 'inc/table_htmx.html' %}
- {% if paginator_placement != 'top' %}
- {% include 'inc/paginator.html' with htmx=True table=table paginator=table.paginator page=table.page %}
- {% endif %}
- {% endwith %}
- </div>
- {% if request.htmx %}
- {# Include the updated object count for display elsewhere on the page #}
- {% if not table.embedded %}
- <div hx-swap-oob="innerHTML:.total-object-count">{{ table.rows|length }}</div>
- {% endif %}
- {# Include the updated "save" link for the table configuration #}
- {% if table.config_params and not table.embedded %}
- <a class="dropdown-item" hx-swap-oob="outerHTML:#table_save_link" href="{% url 'extras:tableconfig_add' %}?{{ table.config_params }}&return_url={{ request.path }}" id="table_save_link">Save</a>
- {% endif %}
- {# Update the bulk action buttons with new query parameters #}
- {% if actions and not table.embedded %}
- <div class="bulk-action-buttons" hx-swap-oob="outerHTML:.bulk-action-buttons">
- {% action_buttons actions model multi=True %}
- </div>
- {% endif %}
- {% endif %}
|