Beispiel #1
0
 def pager(self, q=None):
     '''Returns pager html - for navigating between the pages.
        e.g. Something like this:
          <div class='pager'>
              <span class="pager_curpage">A</span>
              <a class="pager_link" href="/package/list?page=B">B</a>
              <a class="pager_link" href="/package/list?page=C">C</a>
                 ...
              <a class="pager_link" href="/package/list?page=Z">Z</a
              <a class="pager_link" href="/package/list?page=Other">Other</a
          </div>
     '''
     if self.item_count < self.paging_threshold:
         return ''
     pages = []
     page = q or self.page
     letters = [char for char in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'] + [self.other_text]
     for letter in letters:
         if letter != page:
             if self.available.get(letter, 0):
                 page_element = HTML.a(class_='pager_link', href=url_for(controller=self.controller_name, action='index', page=letter),c=letter)
             else:
                 page_element = HTML.span(class_="pager_empty", c=letter)
         else:
             page_element = HTML.span(class_='pager_curpage', c=letter)
         pages.append(page_element)
     div = HTML.tag('div', class_='pager', *pages)
     return div
Beispiel #2
0
 def pager(self, q=None):
     '''Returns pager html - for navigating between the pages.
        e.g. Something like this:
          <div class='pager'>
              <span class="pager_curpage">A</span>
              <a class="pager_link" href="/package/list?page=B">B</a>
              <a class="pager_link" href="/package/list?page=C">C</a>
                 ...
              <a class="pager_link" href="/package/list?page=Z">Z</a
              <a class="pager_link" href="/package/list?page=Other">Other</a
          </div>
     '''
     if self.item_count < self.paging_threshold:
         return ''
     pages = []
     page = q or self.page
     letters = [char for char in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
                ] + [self.other_text]
     for letter in letters:
         if letter != page:
             if self.available.get(letter, 0):
                 page_element = HTML.a(class_='pager_link',
                                       href=url_for(
                                           controller=self.controller_name,
                                           action='index',
                                           page=letter),
                                       c=letter)
             else:
                 page_element = HTML.span(class_="pager_empty", c=letter)
         else:
             page_element = HTML.span(class_='pager_curpage', c=letter)
         pages.append(page_element)
     div = HTML.tag('div', class_='pager', *pages)
     return div