Merge branch 'master' of github.com:webnotes/wnframework
This commit is contained in:
commit
6d11cfb6e9
4 changed files with 52 additions and 37 deletions
|
|
@ -726,36 +726,9 @@ wn.ui.form.ControlLink = wn.ui.form.ControlData.extend({
|
|||
callback(value);
|
||||
return;
|
||||
}
|
||||
|
||||
var fetch = '';
|
||||
if(me.frm && me.frm.fetch_dict[me.df.fieldname])
|
||||
fetch = me.frm.fetch_dict[me.df.fieldname].columns.join(', ');
|
||||
|
||||
wn.call({
|
||||
method:'webnotes.widgets.form.utils.validate_link',
|
||||
type: "GET",
|
||||
args: {
|
||||
'value': value,
|
||||
'options':me.df.options,
|
||||
'fetch': fetch
|
||||
},
|
||||
callback: function(r) {
|
||||
if(r.message=='Ok') {
|
||||
callback(value);
|
||||
if(r.fetch_values)
|
||||
me.set_fetch_values(r.fetch_values);
|
||||
} else {
|
||||
callback("")
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
this.frm.script_manager.validate_link_and_fetch(this.df, this.docname, value, callback);
|
||||
},
|
||||
set_fetch_values: function(fetch_values) {
|
||||
var fl = this.frm.fetch_dict[this.df.fieldname].fields;
|
||||
for(var i=0; i < fl.length; i++) {
|
||||
wn.model.set_value(this.doctype, this.docname, fl[i], fetch_values[i]);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
wn.ui.form.ControlCode = wn.ui.form.ControlInput.extend({
|
||||
|
|
|
|||
|
|
@ -18,9 +18,7 @@ wn.ui.form.Grid = Class.extend({
|
|||
</div>').appendTo(this.parent);
|
||||
|
||||
$(this.wrapper).find(".grid-add-row").click(function() {
|
||||
wn.model.add_child(me.frm.doc, me.df.options, me.df.fieldname);
|
||||
me.refresh();
|
||||
me.wrapper.find(".grid-row:last").data("grid_row").toggle_view(true);
|
||||
me.add_new_row();
|
||||
return false;
|
||||
})
|
||||
|
||||
|
|
@ -137,12 +135,17 @@ wn.ui.form.Grid = Class.extend({
|
|||
this.grid_rows_by_docname[doc.name].refresh_field(fieldname);
|
||||
},
|
||||
add_new_row: function(idx, callback) {
|
||||
wn.model.add_child(this.frm.doc, this.df.options, this.df.fieldname, idx);
|
||||
var d = wn.model.add_child(this.frm.doc, this.df.options, this.df.fieldname, idx);
|
||||
this.frm.script_manager.trigger(this.df.fieldname + "_add", d.doctype, d.name);
|
||||
this.refresh();
|
||||
// show
|
||||
|
||||
this.wrapper.find("[data-idx='"+idx+"']").data("grid_row")
|
||||
.toggle_view(true, callback);
|
||||
if(idx) {
|
||||
this.wrapper.find("[data-idx='"+idx+"']").data("grid_row")
|
||||
.toggle_view(true, callback);
|
||||
} else {
|
||||
this.wrapper.find(".grid-row:last").data("grid_row").toggle_view(true, callback);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -36,5 +36,44 @@ wn.ui.form.ScriptManager = Class.extend({
|
|||
console.trace && console.trace();
|
||||
console.log("----- end of error message -----");
|
||||
console.group && console.groupEnd();
|
||||
},
|
||||
validate_link_and_fetch: function(df, docname, value, callback) {
|
||||
var me = this;
|
||||
var fetch = '';
|
||||
if(this.frm && this.frm.fetch_dict[df.fieldname])
|
||||
fetch = this.frm.fetch_dict[df.fieldname].columns.join(', ');
|
||||
|
||||
wn.call({
|
||||
method:'webnotes.widgets.form.utils.validate_link',
|
||||
type: "GET",
|
||||
args: {
|
||||
'value': value,
|
||||
'options': df.options,
|
||||
'fetch': fetch
|
||||
},
|
||||
callback: function(r) {
|
||||
if(r.message=='Ok') {
|
||||
if(callback) callback(value);
|
||||
if(r.fetch_values)
|
||||
me.set_fetch_values(df, docname, r.fetch_values);
|
||||
} else {
|
||||
if(callback) callback("");
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
set_fetch_values: function(df, docname, fetch_values) {
|
||||
var fl = this.frm.fetch_dict[df.fieldname].fields;
|
||||
for(var i=0; i < fl.length; i++) {
|
||||
wn.model.set_value(df.parent, docname, fl[i], fetch_values[i]);
|
||||
}
|
||||
},
|
||||
copy_from_first_row: function(parentfield, current_row, fieldnames) {
|
||||
var doclist = wn.model.get_doclist(this.frm.doc.doctype, this.frm.doc.name, {parentfield: parentfield});
|
||||
if(doclist.length===1 || doclist[0]===current_row) return;
|
||||
|
||||
$.each(fieldnames, function(i, fieldname) {
|
||||
current_row[fieldname] = doclist[0][fieldname];
|
||||
});
|
||||
}
|
||||
})
|
||||
});
|
||||
|
|
@ -107,7 +107,7 @@ $.extend(wn.model, {
|
|||
idx !== cint(idx) &&
|
||||
wn.model.get_children(doctype, parent_doc.name, parentfield,
|
||||
parent_doc.doctype);
|
||||
|
||||
|
||||
return d;
|
||||
},
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue