byceps/byceps

View on GitHub
byceps/blueprints/common/core/templates/macros/pagination.html

Summary

Maintainability
Test Coverage
{% from 'macros/icons.html' import render_icon %}


{% macro render_pagination_nav(pagination, endpoint, url_args=None) %}
  {%- if pagination.pages > 1 %}
    <nav class="pagination is-hcentered">
      <ol>
      {%- if pagination.has_prev %}
        <li class="pagination-item"><a href="{{ url_for(endpoint, **add_page_arg(url_args, pagination.prev_num)) }}" title="{{ _('Previous page') }}">{{ render_icon('arrow-left') }}</a></li>
      {%- endif %}
      {%- for page in pagination.iter_pages(left_edge=2, left_current=1, right_current=2, right_edge=2) %}
        {%- if page %}
          {%- if page != pagination.page %}
        <li class="pagination-item"><a href="{{ url_for(endpoint, **add_page_arg(url_args, page)) }}">{{ page }}</a></li>
          {%- else %}
        <li class="pagination-item pagination--current"><span>{{ page }}</span></li>
          {%- endif %}
        {%- else %}
        <li>…</li>
        {%- endif %}
      {%- endfor %}
      {%- if pagination.has_next %}
        <li class="pagination-item"><a href="{{ url_for(endpoint, **add_page_arg(url_args, pagination.next_num)) }}" title="{{ _('Next page') }}">{{ render_icon('arrow-right') }}</a></li>
      {%- endif %}
      </ol>
    </nav>
  {%- endif %}
{% endmacro %}