Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1#!/usr/local/bin/python
2# encoding: utf-8
3"""
4*Dropdown to select the numnber of objects to be displayed on a page*
6:Author:
7 David Young
8"""
9import sys
10import os
11import re
12import khufu
14def number_of_objects_dropdown(
15 log,
16 request,
17 limit,
18 tableView
19):
20 """number_of_objects_dropdown
22 **Key Arguments**
24 - ``log`` -- the logger
25 - ``request`` -- the request
26 - ``limit`` -- current limit of objects per page
27 - ``tableView`` -- the current tableView
30 **Return**
32 - ``objectsPerPageDropdown``
34 """
35 routename = request.matched_route.name
36 if "elementId" in request.matchdict:
37 elementId = request.matchdict["elementId"]
38 else:
39 elementId = False
41 theseParams = dict(request.params)
43 alist = ["limit", "pageStart"]
44 for i in alist:
45 if i in theseParams:
46 del theseParams[i]
48 # DETERMINE WHICH ICON TO USE:
49 if tableView == "table":
50 icon = """<i class="icon-reorder"></i>"""
51 else:
52 icon = """<i class="icon-ticket2"></i>"""
54 numbers = ["10", "25", "50", "100"]
55 listItems = []
56 for number in numbers:
57 theseParams["limit"] = number
58 theseParams["pageStart"] = 0
59 item = request.route_path(
60 routename, elementId=elementId, _query=theseParams)
61 item = khufu.a(
62 content="""%(icon)s x %(number)s""" % locals(),
63 href=item,
64 )
65 item = khufu.li(
66 content=item,
67 )
68 listItems.append(item)
70 popover = khufu.popover(
71 tooltip=True,
72 placement="left", # [ top | bottom | left | right ]
73 trigger="hover", # [ False | click | hover | focus | manual ]
74 title="set the number of objects to be displayed on each page",
75 content=False,
76 delay=20
77 )
79 objectsPerPageDropdown = khufu.dropdown(
80 buttonSize='default',
81 buttonColor='default', # [ default | sucess | error | warning | info ]
82 menuTitle="""%(icon)s x %(limit)s""" % locals(),
83 linkList=listItems,
84 pull="right",
85 direction='down', # [ down | up ]
86 htmlId="objectsPerPageDropdown",
87 popover=popover
88 )
90 return objectsPerPageDropdown