fix: get value from filter lsit if base list doesn't exist

This commit is contained in:
prssanna 2020-07-21 20:45:27 +05:30
parent 502f0ebad5
commit 1d9903bfdd
2 changed files with 9 additions and 2 deletions

View file

@ -249,7 +249,9 @@ frappe.ui.Filter = class {
let args = {};
if (this.filters_config[condition].depends_on) {
const field_name = this.filters_config[condition].depends_on;
const filter_value = this.base_list.get_filter_value(field_name);
const filter_value = this.base_list
? this.base_list.get_filter_value(field_name)
: this.filter_list.get_filter_value(field_name);
args[field_name] = filter_value;
}
frappe

View file

@ -104,13 +104,18 @@ frappe.ui.FilterGroup = class {
filter_items: (doctype, fieldname) => {
return !this.filter_exists([doctype, fieldname]);
},
base_list: this.base_list
base_list: this.base_list,
filter_list: this,
};
let filter = new frappe.ui.Filter(args);
this.filters.push(filter);
return filter;
}
get_filter_value(fieldname) {
return this.filters.filter(f => f.fieldname == fieldname)[0].value;
}
filter_exists(filter_value) {
// filter_value of form: [doctype, fieldname, condition, value]
let exists = false;