diff -r e85042d18b48 -r 1a23781534a2 web/component.py --- a/web/component.py Wed Feb 11 18:46:14 2009 +0100 +++ b/web/component.py Wed Feb 11 18:47:12 2009 +0100 @@ -73,6 +73,19 @@ selected_page_link_templ = u'%s' previous_page_link_templ = next_page_link_templ = page_link_templ no_previous_page_link = no_next_page_link = u'' + + @classmethod + def selected(cls, req, rset, row=None, col=None, page_size=None, **kwargs): + """by default web app objects are usually instantiated on + selection according to a request, a result set, and optional + row and col + """ + instance = super(NavigationComponent, cls).selected(req, rset, row, col, **kwargs) + if page_size is not None: + instance.page_size = page_size + elif 'page_size' in req.form: + instance.page_size = int(req.form['page_size']) + return instance def __init__(self, req, rset): super(NavigationComponent, self).__init__(req, rset)