web/component.py
branchstable
changeset 5389 809d3b5b3d31
parent 5377 84d14ddfae13
child 5408 120db445c179
child 5421 8167de96c523
equal deleted inserted replaced
5388:9167751463d4 5389:809d3b5b3d31
     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):