Files
poky/bitbake/lib/toaster/toastergui/templates/detail_pagination_bottom.html
Alexandru DAMIAN afe06e313e bitbake: toaster: move project data typeahead to the REST API
This patch enables JSON requests on the project REST endpoint,
and replaces the universal queries "xhr_datatypeahead" with the
`project` type to the REST project endpoint.

The patch adds a decorator that takes a context returned by a view
and either renders the template specified as the decorator argument,
or converts the context to JSON.

Normal "search", "filter" and "order" options for view work as normal
on the JSON API format. To enable the JSON return, set the "format"
GET parameter to "json".

In order to demonstrate the functionality, the "New build" button
is switched from using the xhr_datatypeahead to the project
REST API with JSON formatting. Additionally, the XHR APIs that
perform actions with the project id passed as parameter are removed,
and the needed URLs are populated from the project JSON API returns after
the project has been selected.

(Bitbake rev: 15a2274eba13d19b864f337057d61c75ff7849cc)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-12 00:01:47 +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 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 %}