chore: update apis with update_docfield_property
This commit is contained in:
parent
e84748f850
commit
8c873b7bc1
4 changed files with 12 additions and 42 deletions
|
|
@ -1363,12 +1363,6 @@ frappe.ui.form.Form = class FrappeForm {
|
|||
|
||||
set_df_property(fieldname, property, value, docname, table_field, table_row_name=null) {
|
||||
let df;
|
||||
let override_depends_on_properties_map = {
|
||||
"reqd": "override_mandatory_depends_on",
|
||||
"read_only": "override_read_only_depends_on",
|
||||
"hidden": "override_depends_on"
|
||||
};
|
||||
let override_property = override_depends_on_properties_map[property];
|
||||
|
||||
if (!docname || !table_field) {
|
||||
df = this.get_docfield(fieldname);
|
||||
|
|
@ -1382,7 +1376,6 @@ frappe.ui.form.Form = class FrappeForm {
|
|||
|
||||
if (df && df[property] != value) {
|
||||
df[property] = value;
|
||||
if (override_property) df[override_property] = true;
|
||||
|
||||
if (table_field && table_row_name) {
|
||||
if (this.fields_dict[fieldname].grid.grid_rows_by_docname[table_row_name]) {
|
||||
|
|
@ -1397,21 +1390,18 @@ frappe.ui.form.Form = class FrappeForm {
|
|||
toggle_enable(fnames, enable) {
|
||||
this.field_map(fnames, function(field) {
|
||||
field.read_only = enable ? 0 : 1;
|
||||
field.override_read_only_depends_on = true;
|
||||
});
|
||||
}
|
||||
|
||||
toggle_reqd(fnames, mandatory) {
|
||||
this.field_map(fnames, function(field) {
|
||||
field.reqd = mandatory ? true : false;
|
||||
field.override_mandatory_depends_on = true;
|
||||
});
|
||||
}
|
||||
|
||||
toggle_display(fnames, show) {
|
||||
this.field_map(fnames, function(field) {
|
||||
field.hidden = show ? 0 : 1;
|
||||
field.override_hidden_depends_on = true;
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -368,7 +368,6 @@ export default class Grid {
|
|||
if (this.grid_rows[ri] && !append_row) {
|
||||
var grid_row = this.grid_rows[ri];
|
||||
grid_row.doc = d;
|
||||
grid_row.set_docfields(this.docfields);
|
||||
grid_row.refresh();
|
||||
} else {
|
||||
var grid_row = new GridRow({
|
||||
|
|
@ -503,10 +502,9 @@ export default class Grid {
|
|||
|
||||
set_column_disp(fieldname, show) {
|
||||
if ($.isArray(fieldname)) {
|
||||
for (var i = 0, l = fieldname.length; i < l; i++) {
|
||||
var fname = fieldname[i];
|
||||
this.get_docfield(fname).hidden = show ? 0 : 1;
|
||||
this.set_editable_grid_column_disp(fname, show);
|
||||
for (let field of fieldname) {
|
||||
this.update_docfield_property(field, "hidden", show)
|
||||
this.set_editable_grid_column_disp(field, show);
|
||||
}
|
||||
} else {
|
||||
this.get_docfield(fieldname).hidden = show ? 0 : 1;
|
||||
|
|
@ -556,23 +554,17 @@ export default class Grid {
|
|||
}
|
||||
|
||||
toggle_reqd(fieldname, reqd) {
|
||||
let field = this.get_docfield(fieldname);
|
||||
field.reqd = reqd;
|
||||
field.override_mandatory_depends_on = true;
|
||||
this.update_docfield_property(fieldname, "reqd", reqd);
|
||||
this.debounced_refresh();
|
||||
}
|
||||
|
||||
toggle_enable(fieldname, enable) {
|
||||
let field = this.get_docfield(fieldname);
|
||||
field.read_only = enable ? 0 : 1;
|
||||
field.override_read_only_depends_on = true;
|
||||
this.update_docfield_property(fieldname, "read_only", enable ? 0 : 1);
|
||||
this.debounced_refresh();
|
||||
}
|
||||
|
||||
toggle_display(fieldname, show) {
|
||||
let field = this.get_docfield(fieldname);
|
||||
field.hidden = show ? 0 : 1;
|
||||
field.override_hidden_depends_on = true;
|
||||
this.update_docfield_property(fieldname, "hidden", show ? 0 : 1);
|
||||
this.debounced_refresh();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,9 @@ export default class GridRow {
|
|||
this.on_grid_fields = [];
|
||||
$.extend(this, opts);
|
||||
if (this.doc && this.parent_df.options) {
|
||||
this.set_docfields();
|
||||
frappe.meta.make_docfield_copy_for(this.parent_df.options, this.doc.name, this.docfields);
|
||||
const docfields = frappe.meta.get_docfields(this.parent_df.options, this.doc.name);
|
||||
this.docfields = docfields.length ? docfields : opts.docfields;
|
||||
}
|
||||
this.columns = {};
|
||||
this.columns_list = [];
|
||||
|
|
@ -39,13 +41,6 @@ export default class GridRow {
|
|||
this.set_data();
|
||||
}
|
||||
}
|
||||
set_docfields(_docfields) {
|
||||
if (_docfields) this.docfields = _docfields;
|
||||
|
||||
frappe.meta.make_docfield_copy_for(this.parent_df.options, this.doc.name, this.docfields);
|
||||
const docfields = frappe.meta.get_docfields(this.parent_df.options, this.doc.name);
|
||||
this.docfields = docfields.length ? docfields : this.docfields;
|
||||
}
|
||||
set_data() {
|
||||
this.wrapper.data({
|
||||
"doc": this.doc
|
||||
|
|
|
|||
|
|
@ -550,13 +550,6 @@ frappe.ui.form.Layout = class Layout {
|
|||
/**
|
||||
Resolve "depends_on" and show / hide accordingly
|
||||
build dependants' dictionary
|
||||
|
||||
Allows to override depends_on, mandatory_depends_on and read_only_depends_on
|
||||
if either of the override_depends_on, override_mandatory_depends_on and override_read_only_depends_on
|
||||
flags are set in df.
|
||||
|
||||
The override flag is set in in grid and form js when we try and override df property.
|
||||
|
||||
*/
|
||||
|
||||
let has_dep = false;
|
||||
|
|
@ -575,7 +568,7 @@ frappe.ui.form.Layout = class Layout {
|
|||
for (let i = this.fields_list.length - 1; i >= 0; i--) {
|
||||
let f = this.fields_list[i];
|
||||
f.guardian_has_value = true;
|
||||
if (f.df.depends_on && !f.df.override_hidden_depends_on) {
|
||||
if (f.df.depends_on) {
|
||||
// evaluate guardian
|
||||
|
||||
f.guardian_has_value = this.evaluate_depends_on_value(f.df.depends_on);
|
||||
|
|
@ -594,11 +587,11 @@ frappe.ui.form.Layout = class Layout {
|
|||
}
|
||||
}
|
||||
|
||||
if (f.df.mandatory_depends_on && !f.df.override_mandatory_depends_on) {
|
||||
if (f.df.mandatory_depends_on) {
|
||||
this.set_dependant_property(f.df.mandatory_depends_on, f.df.fieldname, 'reqd');
|
||||
}
|
||||
|
||||
if (f.df.read_only_depends_on && !f.df.override_read_only_depends_on) {
|
||||
if (f.df.read_only_depends_on) {
|
||||
this.set_dependant_property(f.df.read_only_depends_on, f.df.fieldname, 'read_only');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue