diff options
Diffstat (limited to 'bitbake/lib/toaster/toastergui/templates/detail_pagination_bottom.html')
-rw-r--r-- | bitbake/lib/toaster/toastergui/templates/detail_pagination_bottom.html | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/bitbake/lib/toaster/toastergui/templates/detail_pagination_bottom.html b/bitbake/lib/toaster/toastergui/templates/detail_pagination_bottom.html new file mode 100644 index 0000000000..355ae9073c --- /dev/null +++ b/bitbake/lib/toaster/toastergui/templates/detail_pagination_bottom.html @@ -0,0 +1,60 @@ +{% 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 cookie for number of entries to be displayed on page + if ({{request.GET.count}} != "") { + pagesize = {{request.GET.count}}; + } else { + pagesize = $.cookie('_count'); + } + + $('.pagesize option').prop('selected', false) + .filter('[value="' + pagesize + '"]') + .attr('selected', true); + + $(".pagesize").change(function () { + // save cookie with pagesize + $.cookie("_count", $(this).val(), { path : $(location).attr('pathname') }); + reload_params({"count":$(this).val()}); + }); +}); +</script> +{% endif %} + |