소스 검색

wait for trigger promises to finish before save (#4488)

version-14
Prateeksha Singh 7 년 전
committed by Rushabh Mehta
부모
커밋
3ff990cf8e
1개의 변경된 파일10개의 추가작업 그리고 2개의 파일을 삭제
  1. +10
    -2
      frappe/public/js/legacy/form.js

+ 10
- 2
frappe/public/js/legacy/form.js 파일 보기

@@ -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);
});
};


불러오는 중...
취소
저장