[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(), "&lt;", "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(), "&lt;", "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(), "&gt;", "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(), "&gt;", "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