AthensFramework/core

View on GitHub
templates/filter/hard-pagination.twig

Summary

Maintainability
Test Coverage
{#
    Hard pagination occurs when the server only generates a single
    table-page at a time, on the browser's request. See comment
    in soft-pagination.twig
#}

<div class="pagination-container" data-handle-for="{{ id }}">
    <span class="pagination-arrow-container">
        <a class="pagination-arrow back first" data-page-for="{{ options|first }}">&laquo;</a>&nbsp;
        <a class="pagination-arrow back previous" data-page-for="{{ options|first }}">&lsaquo;</a>&nbsp;
    </span>
    <select class="pagination-filter {{ id }}">
        {% for option in options %}
        <option value="{{ option }}">{{ option }}</option>
        {% endfor %}
    </select>

    <span class="pagination-arrow-container">
        &nbsp;<a class="pagination-arrow forward next" data-page-for="{{ options|last }}">&rsaquo;</a>
        &nbsp;<a class="pagination-arrow forward last" data-page-for="{{ options|last }}">&raquo;</a>
    </span>
</div>
<script>
    $(function() {
        athens.filter.setupFilter(athens.pagination.setupPaginationFilter, "{{ id }}");
    });
</script>