21 _ = unicode |
21 _ = unicode |
22 |
22 |
23 from cStringIO import StringIO |
23 from cStringIO import StringIO |
24 from warnings import warn |
24 from warnings import warn |
25 |
25 |
26 from cubicweb.utils import json |
|
27 from logilab.common.deprecation import deprecated |
26 from logilab.common.deprecation import deprecated |
28 from logilab.mtconverter import xml_escape |
27 from logilab.mtconverter import xml_escape |
29 |
28 |
30 from rql import nodes |
29 from rql import nodes |
31 |
30 |
32 from cubicweb import NotAnEntity |
31 from cubicweb import NotAnEntity |
33 from cubicweb.selectors import yes, non_final_entity, nonempty_rset, none_rset |
32 from cubicweb.selectors import yes, non_final_entity, nonempty_rset, none_rset |
34 from cubicweb.appobject import AppObject |
33 from cubicweb.appobject import AppObject |
35 from cubicweb.utils import UStringIO, HTMLStream |
34 from cubicweb.utils import UStringIO, HTMLStream |
|
35 from cubicweb.uilib import domid, js |
36 from cubicweb.schema import display_name |
36 from cubicweb.schema import display_name |
37 from cubicweb.vregistry import classid |
37 from cubicweb.vregistry import classid |
38 |
38 |
39 # robots control |
39 # robots control |
40 NOINDEX = u'<meta name="ROBOTS" content="NOINDEX" />' |
40 NOINDEX = u'<meta name="ROBOTS" content="NOINDEX" />' |
504 cbname = self._cw.register_onetime_callback(cb, *args) |
504 cbname = self._cw.register_onetime_callback(cb, *args) |
505 return self.build_js(cbname, xml_escape(msg or '')) |
505 return self.build_js(cbname, xml_escape(msg or '')) |
506 |
506 |
507 def build_update_js_call(self, cbname, msg): |
507 def build_update_js_call(self, cbname, msg): |
508 rql = self.cw_rset.printable_rql() |
508 rql = self.cw_rset.printable_rql() |
509 return "javascript:userCallbackThenUpdateUI('%s', '%s', %s, %s, '%s', '%s')" % ( |
509 return "javascript: %s" % js.userCallbackThenUpdateUI( |
510 cbname, self.id, json.dumps(rql), json.dumps(msg), |
510 cbname, self.__regid__, rql, msg, self.__registry__, self.domid) |
511 self.__registry__, self.div_id()) |
|
512 |
511 |
513 def build_reload_js_call(self, cbname, msg): |
512 def build_reload_js_call(self, cbname, msg): |
514 return "javascript:userCallbackThenReloadPage('%s', %s)" % (cbname, json.dumps(msg)) |
513 return "javascript: %s" % js.userCallbackThenReloadPage(cbname, msg) |
515 |
514 |
516 build_js = build_update_js_call # expect updatable component by default |
515 build_js = build_update_js_call # expect updatable component by default |
517 |
516 |
518 def div_id(self): |
517 def div_id(self): |
519 return '' |
518 return '' |