web/views/navigation.py
changeset 588 f37ee42cd0e9
parent 445 18cc518d5e33
child 692 800592b8d39b
equal deleted inserted replaced
564:8b48724d4c2b 588:f37ee42cd0e9
    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&nbsp;' % self.previous_link(params))
    42         w(u'%s&nbsp;' % self.previous_link(params))
    43         w(u'[&nbsp;%s&nbsp;]' % u'&nbsp;| '.join(blocklist))
    43         w(u'[&nbsp;%s&nbsp;]' % u'&nbsp;| '.join(blocklist))
    44         w(u'&nbsp;%s' % self.next_link(params))
    44         w(u'&nbsp;%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'[&nbsp;%s&nbsp;]' % u'&nbsp;| '.join(blocklist))
   142         self.w(u'[&nbsp;%s&nbsp;]' % u'&nbsp;| '.join(blocklist))
   141         self.w(u'&nbsp;%s' % self.next_link(params))
   143         self.w(u'&nbsp;%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)