]> de.git.xonotic.org Git - xonotic/xonstat.git/blobdiff - xonstat/templates/navlinks.mako
That was a bad idea. Remove it.
[xonotic/xonstat.git] / xonstat / templates / navlinks.mako
index 9fb0db88486ec3e4bdfe78363c573bd57d991bb3..222157cf5219d32d2370aea2e533a97be566887b 100644 (file)
@@ -1,29 +1,74 @@
-<%def name="navlinks(view, curr, last)">
-
+<%def name="navlinks(view, curr, last, **kwargs)">
 <%
-if (curr+4) > last:
-    last_linked_page = last
-else:
-    last_linked_page = curr+4
+kwargs['_query'] = {'page': None}
 
-pages_to_link = range(curr+1, last_linked_page+1)
+if 'search_query' in kwargs.keys():
+    kwargs['_query'] = dict(kwargs['_query'].items() + kwargs['search_query'].items())
 %>
 
-<a class="pagination" href="${request.route_url(view, page=1)}" name="First Page"><<</a>
-
-% if curr != 1:
-<a class="pagination" href="${request.route_url(view, page=curr-1)}" name="Previous Page"><</a>
+% if not last:
+    <% last = 1 %>
 % endif
 
-% for page_num in pages_to_link:
-<a class="pagination" href="${request.route_url(view, page=page_num)}" name="Go to page ${page_num}">${page_num}</a>
-% endfor
+% if not (curr == last and curr == 1):
+<div class="row">
+<div class="small-12 columns text-center">
+<ul class="pagination">
+    % if curr != 1:
+            <% kwargs['_query']['page'] = curr-1 %>
+            <li><a href="${request.route_url(view, **kwargs)}" name="Previous Page"><i class="fa fa-arrow-left"></i></a></li>
+    % endif
 
-% if curr != last:
-<a class="pagination" href="${request.route_url(view, page=curr+1)}" name="Next Page">></a>
-% endif
+    % if last < 8:
+        % for i in range(1, last+1):
+        ${link_page(view, i, curr, **kwargs)}
+        % endfor
+    % else:
+        % if curr < 5:
+            % for i in range(1,7):
+            ${link_page(view, i, curr, **kwargs)}
+            % endfor
+            <li><span>...<span></li>
+            <% kwargs['_query']['page'] = last %>
+            <li><a  href="${request.route_url(view, **kwargs)}" name="Last Page">${last}</a></li>
+
+        % elif last-curr < 6:
+            <% kwargs['_query']['page'] = 1 %>
+            <li><a  href="${request.route_url(view, **kwargs)}" name="First Page">1</a></li>
+            <li><span >...</span></li>
+            % for i in range(last-5, last+1):
+            ${link_page(view, i, curr, **kwargs)}
+            % endfor
+        % else:
+            <% kwargs['_query']['page'] = 1 %>
+            <li><a  href="${request.route_url(view, **kwargs)}" name="First Page">1</a></li>
+
+            <li><span >...</span></li>
+            % for i in range(curr-2, curr+3):
+            ${link_page(view, i, curr, **kwargs)}
+            % endfor
+            <li><span >...</span></li>
+            <% kwargs['_query']['page'] = last %>
+            <li><a  href="${request.route_url(view, **kwargs)}" name="Last Page">${last}</a></li>
 
-<a class="pagination" href="${request.route_url(view, page=last)}" name="Last Page">>></a>
+        % endif
+    % endif
 
-(Page <a href="${request.route_url(view, page=curr)}" name="Go to page ${curr}">${curr}</a> of <a href="${request.route_url(view, page=last)}" name="Last Page">${last}</a>)
+    % if curr != last:
+            <% kwargs['_query']['page'] = curr+1 %>
+        <li><a  href="${request.route_url(view, **kwargs)}" name="Next Page"><i class="fa fa-arrow-right"></i></a></li>
+    % endif
+</ul>
+</div> <!-- end span12 -->
+</div> <!-- end row -->
+% endif
+</%def>
+
+<%def name="link_page(view, page_num, curr_page, **kwargs)">
+% if page_num == curr_page:
+<li>${page_num}</li>
+% else:
+    <% kwargs['_query']['page'] = page_num %>
+    <li><a  href="${request.route_url(view, **kwargs)}" name="Go to page ${page_num}">${page_num}</a></li>
+% endif
 </%def>