[web/js] replace callAddOrDeleteThenReload with more generic callAjaxFuncThenReload
That's going to be a more useful replacement for callUserCallbackThenReload.
Closes #4178566.
--- a/web/component.py Tue Jul 22 17:45:38 2014 +0200
+++ b/web/component.py Wed Jul 23 12:07:50 2014 +0200
@@ -513,10 +513,10 @@
"""builds HTML link to edit relation between `entity` and `etarget`"""
args = {role(self) : entity.eid, target(self): etarget.eid}
# for each target, provide a link to edit the relation
- jscall = unicode(js.cw.utils.callAddOrDeleteThenReload(fname,
- self.rtype,
- args['subject'],
- args['object']))
+ jscall = unicode(js.cw.utils.callAjaxFuncThenReload(fname,
+ self.rtype,
+ args['subject'],
+ args['object']))
return u'[<a href="javascript: %s" class="action">%s</a>] %s' % (
xml_escape(jscall), label, etarget.view('incontext'))
--- a/web/data/cubicweb.js Tue Jul 22 17:45:38 2014 +0200
+++ b/web/data/cubicweb.js Wed Jul 23 12:07:50 2014 +0200
@@ -390,14 +390,14 @@
);
},
- callAddOrDeleteThenReload: function (add_or_delete, rtype, subjeid, objeid) {
- var d = asyncRemoteExec(add_or_delete, rtype, subjeid, objeid);
- d.addCallback(function() {
+ callAjaxFuncThenReload: function callAjaxFuncThenReload (/*...*/) {
+ var d = asyncRemoteExec.apply(null, arguments);
+ d.addCallback(function(msg) {
window.location.reload();
+ if (msg)
+ updateMessage(msg);
});
}
-
-
});
/** DOM factories ************************************************************/