Merge "Enhance changing page button of list in monasca-ui"
This commit is contained in:
commit
dd1e54e66e
|
@ -44,8 +44,11 @@
|
||||||
|
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
<span class="step-links">
|
<span class="step-links">
|
||||||
|
{% if prev_page_offset != None %}
|
||||||
|
<a href="?page_offset={{ prev_page_offset }}" class="btn btn-default btn-sm" style="position:relative;top:-35px;">Previous Page</a>
|
||||||
|
{% endif %}
|
||||||
{% if page_offset %}
|
{% if page_offset %}
|
||||||
<a href="?page_offset={{ page_offset}}" class="btn btn-default btn-sm" style="position:relative;top:-35px;">Next Page</a>
|
<a href="?page_offset={{ page_offset }}" class="btn btn-default btn-sm" style="position:relative;top:-35px;">Next Page</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -317,13 +317,20 @@ class AlarmHistoryView(tables.DataTableView):
|
||||||
context['alarm'] = alarm
|
context['alarm'] = alarm
|
||||||
|
|
||||||
contacts = []
|
contacts = []
|
||||||
|
prev_page_stack = []
|
||||||
page_offset = self.request.GET.get('page_offset')
|
page_offset = self.request.GET.get('page_offset')
|
||||||
|
|
||||||
if page_offset == None:
|
if self.request.session.has_key('prev_page_stack'):
|
||||||
|
prev_page_stack = self.request.session['prev_page_stack']
|
||||||
|
|
||||||
|
if page_offset is None:
|
||||||
page_offset = 0
|
page_offset = 0
|
||||||
|
prev_page_stack = []
|
||||||
try:
|
try:
|
||||||
|
# To judge whether there is next page, get LIMIT + 1
|
||||||
results = api.monitor.alarm_history(self.request, object_id, page_offset,
|
results = api.monitor.alarm_history(self.request, object_id, page_offset,
|
||||||
LIMIT)
|
LIMIT + 1)
|
||||||
|
num_results = len(results)
|
||||||
paginator = Paginator(results, LIMIT)
|
paginator = Paginator(results, LIMIT)
|
||||||
contacts = paginator.page(1)
|
contacts = paginator.page(1)
|
||||||
except EmptyPage:
|
except EmptyPage:
|
||||||
|
@ -334,13 +341,26 @@ class AlarmHistoryView(tables.DataTableView):
|
||||||
return context
|
return context
|
||||||
|
|
||||||
context["contacts"] = contacts
|
context["contacts"] = contacts
|
||||||
if len(contacts.object_list) < LIMIT:
|
context['timestamp_formats'] = alarm_history_ts_formats
|
||||||
|
context['timestamp_selected'] = ts_mode or ''
|
||||||
|
|
||||||
|
if num_results < LIMIT + 1:
|
||||||
context["page_offset"] = None
|
context["page_offset"] = None
|
||||||
else:
|
else:
|
||||||
context["page_offset"] = contacts.object_list[-1]["id"]
|
context["page_offset"] = contacts.object_list[-1]["id"]
|
||||||
|
|
||||||
context['timestamp_formats'] = alarm_history_ts_formats
|
if page_offset in prev_page_stack:
|
||||||
context['timestamp_selected'] = ts_mode or ''
|
index = prev_page_stack.index(page_offset)
|
||||||
|
prev_page_stack = prev_page_stack[0:index]
|
||||||
|
|
||||||
|
prev_page_offset = prev_page_stack[-1] if prev_page_stack else None
|
||||||
|
if prev_page_offset is not None:
|
||||||
|
context["prev_page_offset"] = prev_page_offset
|
||||||
|
|
||||||
|
if len(prev_page_stack) > PREV_PAGE_LIMIT:
|
||||||
|
del prev_page_stack[0]
|
||||||
|
prev_page_stack.append(str(page_offset))
|
||||||
|
self.request.session['prev_page_stack'] = prev_page_stack
|
||||||
|
|
||||||
return context
|
return context
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue