| {% comment %} |
| Show pagination controls as per search/pagination table detail spec. |
| Input: objects, setup for pagination using the standard method in views. |
| object_count, count for complete list of objects, (all pages, no pattern) |
| {% endcomment %} |
| |
| {# only paginate if 10 or more rows unfiltered, all pages #} |
| {% if object_count >= 10 %} |
| <div class="pagination"> |
| <ul> |
| {%if objects.has_previous %} |
| <li><a href="javascript:reload_params({'page':{{objects.previous_page_number}}})">«</a></li> |
| {%else%} |
| <li class="disabled"><a href="#">«</a></li> |
| {%endif%} |
| {% for i in objects.page_range %} |
| <li{%if i == objects.number %} class="active" {%endif%}><a href="javascript:reload_params({'page':{{i}}})">{{i}}</a></li> |
| {% endfor %} |
| {%if objects.has_next%} |
| <li><a href="javascript:reload_params({'page':{{objects.next_page_number}}})">»</a></li> |
| {%else%} |
| <li class="disabled"><a href="#">»</a></li> |
| {%endif%} |
| </ul> |
| |
| <div class="pull-right"> |
| <span class="help-inline" style="padding-bottom:10px;">Show rows:</span> |
| <select class="pagesize"> |
| {% with "10 25 50 100 150" as list%} |
| {% for i in list.split %} |
| <option value="{{i}}">{{i}}</option> |
| {% endfor %} |
| {% endwith %} |
| </select> |
| </div> |
| </div> |
| |
| <!-- Update page display settings --> |
| <script> |
| $(document).ready(function() { |
| // load data for number of entries to be displayed on page |
| if ({{request.GET.count}} != "") { |
| pagesize = {{request.GET.count}}; |
| } |
| $('.pagesize option').prop('selected', false) |
| .filter('[value="' + pagesize + '"]') |
| .attr('selected', true); |
| |
| $(".pagesize").change(function () { |
| reload_params({"count":$(this).val()}); |
| }); |
| }); |
| </script> |
| {% endif %} |
| |