# HG changeset patch # User Julien Cristau # Date 1392123029 -3600 # Node ID 8f3e963501e2b945be35c0faca92b8ecdc98faf5 # Parent c4581bc582e106020e4b18726e48b866c7f8d596 [navigation] use add_onload instead of inline javascript href This way our javascript code isn't thrown out by the html cleaner e.g. when using the rql rest directive and a table view. Closes #3501626 diff -r c4581bc582e1 -r 8f3e963501e2 web/component.py --- a/web/component.py Wed Feb 05 15:50:36 2014 +0100 +++ b/web/component.py Tue Feb 11 13:50:29 2014 +0100 @@ -122,9 +122,9 @@ def ajax_page_url(self, **params): divid = params.setdefault('divid', 'pageContent') + params['fname'] = 'view' params['rql'] = self.cw_rset.printable_rql() - return js_href("$(%s).loadxhtml(AJAX_PREFIX_URL, %s, 'get', 'swap')" % ( - json_dumps('#'+divid), js.ajaxFuncArgs('view', params))) + return self._cw.build_url('ajax', **params) def page_link(self, path, params, start, stop, content): url = xml_escape(self.page_url(path, params, start, stop)) diff -r c4581bc582e1 -r 8f3e963501e2 web/views/navigation.py --- a/web/views/navigation.py Wed Feb 05 15:50:36 2014 +0100 +++ b/web/views/navigation.py Tue Feb 11 13:50:29 2014 +0100 @@ -55,6 +55,7 @@ from logilab.mtconverter import xml_escape from logilab.common.deprecation import deprecated +from cubicweb.utils import json_dumps from cubicweb.predicates import (paginated_rset, sorted_rset, adaptable, implements) from cubicweb.uilib import cut @@ -281,6 +282,13 @@ nav = req.vreg['components'].select_or_none( 'navigation', req, rset=rset, page_size=page_size, view=view) if nav: + domid = getattr(view, 'domid', 'pageContent') + view._cw.add_onload(''' + jQuery('div.displayAllLink a, div.pagination a').click(function() { + cw.jqNode(%s).loadxhtml(this.href, null, 'get', 'swap'); + return false; + }); + ''' % json_dumps(domid)) if w is None: w = view.w if req.form.get('__force_display'):