Files
poky/bitbake/lib/toaster/toastergui/templates/detail_pagination_bottom.html
Alexandru DAMIAN fea4a82a2b bitbake: toasterui: replace cookie-based preferences with session data
We switch from storing the user preferences using cookies
to saving them in the server-side session.

Patch for "count/pagesize" and "orderby" fields in the table-based
pages.

This patch will solve two problems:
* the browser-side race between the GET header data and the cookie data
* page breakages when field names chances in orderby statements.

(Bitbake rev: 125d0e05805247450be0675e281a21bd6146d108)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-29 11:59:45 +01:00

56 lines
1.8 KiB
HTML

{% 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}}})">&laquo;</a></li>
{%else%}
<li class="disabled"><a href="#">&laquo;</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}}})">&raquo;</a></li>
{%else%}
<li class="disabled"><a href="#">&raquo;</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}};
}
$('.pagesize option').prop('selected', false)
.filter('[value="' + pagesize + '"]')
.attr('selected', true);
$(".pagesize").change(function () {
reload_params({"count":$(this).val()});
});
});
</script>
{% endif %}