6 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses |
6 :license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses |
7 """ |
7 """ |
8 __docformat__ = "restructuredtext en" |
8 __docformat__ = "restructuredtext en" |
9 _ = unicode |
9 _ = unicode |
10 |
10 |
11 try: |
|
12 from json import dumps |
|
13 except ImportError: |
|
14 from simplejson import dumps |
|
15 |
|
16 from logilab.common.deprecation import class_renamed |
11 from logilab.common.deprecation import class_renamed |
17 from logilab.mtconverter import xml_escape |
12 from logilab.mtconverter import xml_escape |
18 |
13 |
19 from cubicweb import role |
14 from cubicweb import role |
|
15 from cubicweb.web import json |
20 from cubicweb.view import Component |
16 from cubicweb.view import Component |
21 from cubicweb.selectors import ( |
17 from cubicweb.selectors import ( |
22 paginated_rset, one_line_rset, primary_view, match_context_prop, |
18 paginated_rset, one_line_rset, primary_view, match_context_prop, |
23 partial_has_related_entities) |
19 partial_has_related_entities) |
24 |
20 |
123 self.stop_param : stop,}) |
119 self.stop_param : stop,}) |
124 if path == 'json': |
120 if path == 'json': |
125 rql = params.pop('rql', self.cw_rset.printable_rql()) |
121 rql = params.pop('rql', self.cw_rset.printable_rql()) |
126 # latest 'true' used for 'swap' mode |
122 # latest 'true' used for 'swap' mode |
127 url = 'javascript: replacePageChunk(%s, %s, %s, %s, true)' % ( |
123 url = 'javascript: replacePageChunk(%s, %s, %s, %s, true)' % ( |
128 dumps(params.get('divid', 'paginated-content')), |
124 json.dumps(params.get('divid', 'paginated-content')), |
129 dumps(rql), dumps(params.pop('vid', None)), dumps(params)) |
125 json.dumps(rql), json.dumps(params.pop('vid', None)), json.dumps(params)) |
130 else: |
126 else: |
131 url = self._cw.build_url(path, **params) |
127 url = self._cw.build_url(path, **params) |
132 return url |
128 return url |
133 |
129 |
134 def page_link(self, path, params, start, stop, content): |
130 def page_link(self, path, params, start, stop, content): |