Skip to content
This repository was archived by the owner on Apr 17, 2021. It is now read-only.

Commit 62d3946

Browse files
committed
Merge pull request #42 from richardbrockie/master
show_index_range option
2 parents 1744207 + 2998ec6 commit 62d3946

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

bootstrap_pagination/templates/bootstrap_pagination/pagination.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@
1010
<a title="Previous Page" href="{{ previous_page_url|default:"#" }}">{{ previous_label }}</a>
1111
</li>
1212
{% endif %}
13-
{% for pagenum, url in page_urls %}
13+
{% for pagenum, index_range, url in page_urls %}
1414
{% if page.number == pagenum %}
1515
<li class="active">
16-
<a title="Current Page" href="#">{{ pagenum }}</a>
16+
<a title="Current Page" href="#">{% if show_index_range %} {{ index_range }} {% else %} {{ pagenum }} {%endif %}</a>
1717
</li>
1818
{% else %}
1919
<li>
20-
<a title="Page {{ pagenum }} of {{ page.paginator.num_pages }}" href="{{ url }}">{{ pagenum }}</a>
20+
<a title="Page {{ pagenum }} of {{ page.paginator.num_pages }}" href="{{ url }}">{% if show_index_range %} {{ index_range }} {% else %} {{ pagenum }} {%endif %}</a>
2121
</li>
2222
{% endif %}
2323
{% endfor %}
@@ -31,4 +31,4 @@
3131
<a title="Last Page" href="{{ last_page_url|default:"#" }}">{{last_label}}</a>
3232
</li>
3333
{% endif %}
34-
</ul>
34+
</ul>

bootstrap_pagination/templatetags/bootstrap_pagination.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ def render(self, context):
141141
show_first_last = strToBool(kwargs.get("show_first_last", "false"))
142142
first_label = str(kwargs.get("first_label", "&laquo;"))
143143
last_label = str(kwargs.get("last_label", "&raquo;"))
144+
show_index_range = strToBool(kwargs.get("show_index_range", "false"))
144145

145146
url_view_name = kwargs.get("url_view_name", None)
146147
if url_view_name is not None:
@@ -181,8 +182,13 @@ def render(self, context):
181182
# Generate our URLs (page range + special urls for first, previous, next, and last)
182183
page_urls = []
183184
for curpage in page_range:
185+
if curpage == page.paginator.num_pages:
186+
index_range = "%s-%s" % (1 + (curpage - 1) * page.paginator.per_page, len(page.paginator.object_list), )
187+
else:
188+
index_range = "%s-%s" % (1 + (curpage - 1) * page.paginator.per_page, curpage * page.paginator.per_page, )
189+
184190
url = get_page_url(curpage, context.current_app, url_view_name, url_extra_args, url_extra_kwargs, url_param_name, url_get_params, url_anchor)
185-
page_urls.append((curpage, url))
191+
page_urls.append((curpage, index_range, url))
186192

187193
first_page_url = None
188194
if current_page >= 1:
@@ -204,6 +210,7 @@ def render(self, context):
204210
Context({
205211
'page': page,
206212
'size': size,
213+
'show_index_range': show_index_range,
207214
'show_prev_next': show_prev_next,
208215
'show_first_last': show_first_last,
209216
'previous_label': previous_label,

0 commit comments

Comments
 (0)