34 self.clean_params(params) |
34 self.clean_params(params) |
35 basepath = req.relative_path(includeparams=False) |
35 basepath = req.relative_path(includeparams=False) |
36 while start < rset.rowcount: |
36 while start < rset.rowcount: |
37 stop = min(start + page_size - 1, rset.rowcount - 1) |
37 stop = min(start + page_size - 1, rset.rowcount - 1) |
38 blocklist.append(self.page_link(basepath, params, start, stop, |
38 blocklist.append(self.page_link(basepath, params, start, stop, |
39 u'%s - %s' % (start+1, stop+1))) |
39 self.index_display(start, stop))) |
40 start = stop + 1 |
40 start = stop + 1 |
41 w(u'<div class="pagination">') |
41 w(u'<div class="pagination">') |
42 w(u'%s ' % self.previous_link(params)) |
42 w(u'%s ' % self.previous_link(params)) |
43 w(u'[ %s ]' % u' | '.join(blocklist)) |
43 w(u'[ %s ]' % u' | '.join(blocklist)) |
44 w(u' %s' % self.next_link(params)) |
44 w(u' %s' % self.next_link(params)) |
45 w(u'</div>') |
45 w(u'</div>') |
46 |
46 |
47 |
47 def index_display(self, start, stop): |
|
48 return u'%s - %s' % (start+1, stop+1) |
|
49 |
48 class SortedNavigation(NavigationComponent): |
50 class SortedNavigation(NavigationComponent): |
49 """sorted navigation apply if navigation is needed (according to page size) |
51 """sorted navigation apply if navigation is needed (according to page size) |
50 and if the result set is sorted |
52 and if the result set is sorted |
51 """ |
53 """ |
52 __selectors__ = (paginated_rset, sorted_rset) |
54 __selectors__ = (paginated_rset, sorted_rset) |
140 self.w(u'[ %s ]' % u' | '.join(blocklist)) |
142 self.w(u'[ %s ]' % u' | '.join(blocklist)) |
141 self.w(u' %s' % self.next_link(params)) |
143 self.w(u' %s' % self.next_link(params)) |
142 self.w(u'</div>') |
144 self.w(u'</div>') |
143 |
145 |
144 |
146 |
145 def limit_rset_using_paged_nav(self, req, rset, w, forcedisplay=False, show_all_option=True): |
147 def limit_rset_using_paged_nav(self, req, rset, w, forcedisplay=False, |
|
148 show_all_option=True, page_size = None): |
146 showall = forcedisplay or req.form.get('__force_display') is not None |
149 showall = forcedisplay or req.form.get('__force_display') is not None |
147 nav = not showall and self.vreg.select_component('navigation', req, rset) |
150 nav = not showall and self.vreg.select_component('navigation', req, rset, |
|
151 page_size=page_size) |
148 if nav: |
152 if nav: |
149 # get boundaries before component rendering |
153 # get boundaries before component rendering |
150 start, stop = nav.page_boundaries() |
154 start, stop = nav.page_boundaries() |
151 nav.dispatch(w=w) |
155 nav.dispatch(w=w) |
152 params = dict(req.form) |
156 params = dict(req.form) |