paginate.html 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. {% macro paginate(pagination, endpoint,kw=None) %}
  2. <ul class="pagination" style="margin:0">
  3. {% if pagination.items and pagination.pages > 1 -%}
  4. {%- if pagination.has_prev -%}
  5. {%- if not kw -%}
  6. <li><a href="{{ url_for(endpoint,page=pagination.page-1)}}" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
  7. {%- else -%}
  8. <li><a href="{{ url_for(endpoint,page=pagination.page-1,**kw)}}" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a></li>
  9. {% endif -%}
  10. {%- else %}
  11. <li class="disabled"> <span><span aria-hidden="true">&laquo;</span></span></li>
  12. {% endif -%}
  13. {%- for page in pagination.iter_pages(left_edge=1, left_current=2, right_current=3, right_edge=1) %}
  14. {%- if page -%}
  15. {%- if page == pagination.page -%}
  16. <li class="active"><a >{{ page}}</a></li>
  17. {%- else -%}
  18. {%- if not kw %}
  19. <li> <a href="{{ url_for(endpoint, page=page) }}">{{ page }}</a> </li>
  20. {%- else -%}
  21. <li> <a href="{{ url_for(endpoint, page=page,**kw) }}">{{ page }}</a> </li>
  22. {%- endif -%}
  23. {%- endif -%}
  24. {% else -%}
  25. <li class="disabled"><a href="#">·····</a></li>
  26. {%- endif %}
  27. {%- endfor %}
  28. {%- if pagination.has_next -%}
  29. {%- if not kw %}
  30. <li> <a href="{{ url_for(endpoint,page=pagination.page + 1)}}" aria-label="Next"> <span aria-hidden="true">&raquo;</span> </a> </li>
  31. {%- else %}
  32. <li> <a href="{{ url_for(endpoint,page=pagination.page + 1,**kw)}}" aria-label="Next"> <span aria-hidden="true">&raquo;</span> </a> </li>
  33. {% endif -%}
  34. {%- else -%}
  35. <li class="disabled"> <span><span aria-hidden="true">&raquo;</span></span> </li>
  36. {% endif -%}
  37. {%- endif -%}
  38. </ul>
  39. {%- endmacro %}
  40. {% macro footer(pagination, endpoint,kw=None) %}
  41. {% if pagination.pages > 1 %}
  42. <div class="panel-footer">
  43. {{ paginate(pagination,endpoint,kw)}}
  44. </div>
  45. {% endif %}
  46. {%- endmacro %}