diff -r 55366f5b7a9f -r a7e40cccdc9b web/views/tableview.py --- a/web/views/tableview.py Tue Jun 01 08:34:35 2010 +0200 +++ b/web/views/tableview.py Wed Jun 02 13:02:47 2010 +0200 @@ -118,7 +118,8 @@ def call(self, title=None, subvid=None, displayfilter=None, headers=None, displaycols=None, displayactions=None, actions=(), divid=None, - cellvids=None, cellattrs=None, mainindex=None): + cellvids=None, cellattrs=None, mainindex=None, + paginate=False, page_size=None): """Produces a table displaying a composite query :param title: title added before table @@ -178,6 +179,9 @@ if actions: self.render_actions(divid, actions) # render table + if paginate: + self.divid = divid # XXX iirk (see usage in page_navigation_url) + self.paginate(page_size=page_size, show_all_option=False) table = TableWidget(self) for column in self.get_columns(computed_labels, displaycols, headers, subvid, cellvids, cellattrs, mainindex): @@ -187,6 +191,16 @@ if not fromformfilter: self.w(u'\n') + def page_navigation_url(self, navcomp, path, params): + if hasattr(self, 'divid'): + divid = self.divid + else: + divid = params.get('divid', 'pageContent'), + rql = params.pop('rql', self.cw_rset.printable_rql()) + # latest 'true' used for 'swap' mode + return 'javascript: replacePageChunk(%s, %s, %s, %s, true)' % ( + dumps(divid), dumps(rql), dumps(self.__regid__), dumps(params)) + def show_hide_actions(self, divid, currentlydisplayed=False): showhide = u';'.join(toggle_action('%s%s' % (divid, what))[11:] for what in ('Form', 'Show', 'Hide', 'Actions'))