Add pager to property page
This commit is contained in:
parent
19c6d3b81c
commit
8e606499c9
15
app.py
15
app.py
|
@ -187,10 +187,17 @@ def property_query_page(property_id):
|
||||||
.group_by(Triple.object_id)
|
.group_by(Triple.object_id)
|
||||||
.order_by(desc('c')))
|
.order_by(desc('c')))
|
||||||
|
|
||||||
labels = get_labels_db({f'Q{object_id}' for object_id, c in q})
|
page = utils.get_int_arg('page') or 1
|
||||||
|
total = q.count()
|
||||||
|
page_size = 50
|
||||||
|
pager = Pagination(page, page_size, total)
|
||||||
|
|
||||||
|
page_hits = pager.slice(q)
|
||||||
|
|
||||||
|
labels = get_labels_db({f'Q{object_id}' for object_id, c in page_hits})
|
||||||
|
|
||||||
hits = []
|
hits = []
|
||||||
for object_id, count in q:
|
for object_id, count in page_hits:
|
||||||
qid = f'Q{object_id}'
|
qid = f'Q{object_id}'
|
||||||
hits.append({'qid': qid,
|
hits.append({'qid': qid,
|
||||||
'label': labels.get(qid) or '[item missing]',
|
'label': labels.get(qid) or '[item missing]',
|
||||||
|
@ -200,6 +207,8 @@ def property_query_page(property_id):
|
||||||
label=g.title,
|
label=g.title,
|
||||||
order=('name' if sort_by_name else 'count'),
|
order=('name' if sort_by_name else 'count'),
|
||||||
pid=pid,
|
pid=pid,
|
||||||
|
page=page,
|
||||||
|
pager=pager,
|
||||||
hits=hits)
|
hits=hits)
|
||||||
|
|
||||||
@app.route('/')
|
@app.route('/')
|
||||||
|
@ -833,7 +842,7 @@ def browse_page():
|
||||||
cache_refreshed = True
|
cache_refreshed = True
|
||||||
item.image = detail[image_filename]
|
item.image = detail[image_filename]
|
||||||
|
|
||||||
return render_template('new_find_more.html',
|
return render_template('find_more.html',
|
||||||
page=page,
|
page=page,
|
||||||
label=g.title,
|
label=g.title,
|
||||||
pager=pager,
|
pager=pager,
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
{% from "macro.html" import render_pagination %}
|
||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block title %}{{ label }}{% endblock %}
|
{% block title %}{{ label }}{% endblock %}
|
||||||
|
@ -16,7 +17,9 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>Total: {{ hits | length }}</p>
|
<p>Total: {{ '{:,d}'.format(pager.total_count) }}</p>
|
||||||
|
|
||||||
|
{{ render_pagination(pager) }}
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
{% for hit in hits %}
|
{% for hit in hits %}
|
||||||
|
@ -31,6 +34,9 @@
|
||||||
</li>
|
</li>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
{{ render_pagination(pager) }}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
Loading…
Reference in a new issue