瀏覽代碼

[fix] dont call setup twice

version-14
Rushabh Mehta 8 年之前
父節點
當前提交
b14a625153
共有 3 個檔案被更改,包括 22 行新增6 行删除
  1. +11
    -3
      frappe/public/js/frappe/ui/page.js
  2. +3
    -3
      frappe/public/js/legacy/form.js
  3. +8
    -0
      frappe/tests/ui/test_lib.js

+ 11
- 3
frappe/public/js/frappe/ui/page.js 查看文件

@@ -253,13 +253,21 @@ frappe.ui.Page = Class.extend({
add_inner_button: function(label, action, group) {
let _action = function() {
let btn = $(this);
let promise = action();
if (promise && promise.then) {
let _ret = action();
if (_ret && _ret.then) {
// returns a promise
btn.attr('disabled', true);
promise.then(() => {
_ret.then(() => {
btn.attr('disabled', false);
})
}
if (_ret && _ret.always) {
// returns frappe.call ($.ajax)
btn.attr('disabled', true);
_ret.always(() => {
btn.attr('disabled', false);
});
}
}
if(group) {
var $group = this.get_inner_group_button(group);


+ 3
- 3
frappe/public/js/legacy/form.js 查看文件

@@ -20,7 +20,6 @@ frappe.provide('frappe.ui.form');
frappe.ui.form.Controller = Class.extend({
init: function(opts) {
$.extend(this, opts);
this.setup && this.setup();
}
});

@@ -77,7 +76,6 @@ _f.Frm.prototype.check_doctype_conflict = function(docname) {
};

_f.Frm.prototype.setup = function() {

var me = this;
this.fields = [];
this.fields_dict = {};
@@ -413,7 +411,9 @@ _f.Frm.prototype.refresh = function(docname) {
}

// do setup
if(!this.setup_done) this.setup();
if(!this.setup_done) {
this.setup();
}

// load the record for the first time, if not loaded (call 'onload')
this.cscript.is_onload = false;


+ 8
- 0
frappe/tests/ui/test_lib.js 查看文件

@@ -89,5 +89,13 @@ frappe.tests = {

return frappe.run_serially(tasks);
});
},
click_button: function(text) {
$(`.btn:contains("${text}"):visible`).click();
return frappe.timeout(0.3);
},
click_link: function(text) {
$(`a:contains("${text}"):visible`).click();
return frappe.timeout(0.3);
}
};

Loading…
取消
儲存