[rhmessaging-commits] rhmessaging commits: r1543 - mgmt/cumin/python/cumin.
rhmessaging-commits at lists.jboss.org
rhmessaging-commits at lists.jboss.org
Wed Jan 9 14:31:42 EST 2008
Author: justi9
Date: 2008-01-09 14:31:42 -0500 (Wed, 09 Jan 2008)
New Revision: 1543
Modified:
mgmt/cumin/python/cumin/widgets.py
Log:
Adds logic to advance the pager window with the current page.
Modified: mgmt/cumin/python/cumin/widgets.py
===================================================================
--- mgmt/cumin/python/cumin/widgets.py 2008-01-09 17:06:55 UTC (rev 1542)
+++ mgmt/cumin/python/cumin/widgets.py 2008-01-09 19:31:42 UTC (rev 1543)
@@ -268,10 +268,20 @@
self.page_size = 15
self.pageset_size = 5
+ # Another name for this would be get_page_bounds
def get_bounds(self, session):
page = self.__page.get(session)
return (self.page_size * page, self.page_size * (page + 1))
+ def get_pageset_bounds(self, session):
+ pageset = self.__pageset.get(session)
+
+ start = self.pageset_size * pageset
+ end = self.pageset_size * (pageset + 1)
+ page_count = self.get_page_count(session)
+
+ return start, min(end, page_count)
+
def set_count(self, session, count):
return self.__count.set(session, count)
@@ -292,8 +302,13 @@
if page < 1:
html = fmt_link(session.marshal(), "<", "pagenav disabled")
else:
+ page -= 1
+ pageset_start = self.get_pageset_bounds(session)[0]
+
branch = session.branch()
- self.__page.set(branch, page - 1)
+ self.__page.set(branch, page)
+ if page < pageset_start:
+ self.__pageset.set(branch, self.__pageset.get(session) - 1)
html = fmt_link(branch.marshal(), "<", "pagenav")
return html
@@ -301,13 +316,16 @@
def render_next_page_link(self, session, object):
page = self.__page.get(session)
- print "page", page, self.get_page_count(session)
-
if page >= self.get_page_count(session) - 1:
html = fmt_link(session.marshal(), ">", "pagenav disabled")
else:
+ page += 1
+ pageset_end = self.get_pageset_bounds(session)[1]
+
branch = session.branch()
- self.__page.set(branch, page + 1)
+ self.__page.set(branch, page)
+ if page >= pageset_end: # XXX should be >? bounds func is funny
+ self.__pageset.set(branch, self.__pageset.get(session) + 1)
html = fmt_link(branch.marshal(), ">", "pagenav")
return html
@@ -338,12 +356,10 @@
def do_get_items(self, session, object):
count = self.__count.get(session)
- pageset = self.__pageset.get(session)
- start = self.pageset_size * pageset
- pend = self.pageset_size * (pageset + 1)
+ start, end = self.get_pageset_bounds(session)
- return range(start, min(pend, self.get_page_count(session)))
+ return range(start, end)
def render_item_class_attr(self, session, page):
if self.__page.get(session) == page:
More information about the rhmessaging-commits
mailing list