wait for trigger promises to finish before save (#4488)
This commit is contained in:
parent
b4001046d5
commit
3ff990cf8e
1 changed files with 10 additions and 2 deletions
|
|
@ -205,7 +205,11 @@ _f.Frm.prototype.watch_model_updates = function() {
|
|||
&& me.fields_dict[fieldname].refresh(fieldname);
|
||||
|
||||
me.layout.refresh_dependency();
|
||||
return me.script_manager.trigger(fieldname, doc.doctype, doc.name);
|
||||
let object = me.script_manager.trigger(fieldname, doc.doctype, doc.name);
|
||||
if(object instanceof Promise) {
|
||||
me.promises.push(object);
|
||||
}
|
||||
return object;
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -586,6 +590,8 @@ _f.Frm.prototype.setnewdoc = function() {
|
|||
// this.check_doctype_conflict(docname);
|
||||
var me = this;
|
||||
|
||||
this.promises = [];
|
||||
|
||||
// hide any open grid
|
||||
this.script_manager.trigger("before_load", this.doctype, this.docname)
|
||||
.then(() => {
|
||||
|
|
@ -696,7 +702,9 @@ _f.Frm.prototype.save = function(save_action, callback, btn, on_error) {
|
|||
|
||||
// let any pending js process finish
|
||||
setTimeout(function() {
|
||||
me._save(save_action, callback, btn, on_error, resolve);
|
||||
Promise.all(me.promises).then(() => {
|
||||
me._save(save_action, callback, btn, on_error, resolve);
|
||||
});
|
||||
}, 100);
|
||||
});
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue