9 __docformat__ = "restructuredtext en" |
9 __docformat__ = "restructuredtext en" |
10 _ = unicode |
10 _ = unicode |
11 |
11 |
12 from cStringIO import StringIO |
12 from cStringIO import StringIO |
13 |
13 |
|
14 from simplejson import dumps |
|
15 |
14 from logilab.common.deprecation import deprecated |
16 from logilab.common.deprecation import deprecated |
15 from logilab.mtconverter import xml_escape |
17 from logilab.mtconverter import xml_escape |
|
18 |
16 from rql import nodes |
19 from rql import nodes |
17 |
20 |
18 from cubicweb import NotAnEntity |
21 from cubicweb import NotAnEntity |
19 from cubicweb.selectors import yes, non_final_entity, nonempty_rset, none_rset |
22 from cubicweb.selectors import yes, non_final_entity, nonempty_rset, none_rset |
20 from cubicweb.selectors import require_group_compat, accepts_compat |
23 from cubicweb.selectors import require_group_compat, accepts_compat |
458 cbname = self.req.register_onetime_callback(cb, *args) |
461 cbname = self.req.register_onetime_callback(cb, *args) |
459 return self.build_js(cbname, xml_escape(msg or '')) |
462 return self.build_js(cbname, xml_escape(msg or '')) |
460 |
463 |
461 def build_update_js_call(self, cbname, msg): |
464 def build_update_js_call(self, cbname, msg): |
462 rql = xml_escape(self.rset.printable_rql()) |
465 rql = xml_escape(self.rset.printable_rql()) |
463 return "javascript:userCallbackThenUpdateUI('%s', '%s', '%s', '%s', '%s', '%s')" % ( |
466 return "javascript:userCallbackThenUpdateUI('%s', '%s', %s, %s, '%s', '%s')" % ( |
464 cbname, self.id, rql, msg, self.__registry__, self.div_id()) |
467 cbname, self.__regid__, dumps(rql), dumps(msg), |
465 |
468 self.__registry__, self.div_id()) |
466 def build_reload_js_call(self, cbname, msg): |
469 |
467 return "javascript:userCallbackThenReloadPage('%s', '%s')" % (cbname, msg) |
470 def build_reload_js_call(self, cbname, msg): |
|
471 return "javascript:userCallbackThenReloadPage('%s', %s)" % (cbname, dumps(msg)) |
468 |
472 |
469 build_js = build_update_js_call # expect updatable component by default |
473 build_js = build_update_js_call # expect updatable component by default |
470 |
474 |
471 def div_id(self): |
475 def div_id(self): |
472 return '' |
476 return '' |