refactor: simplify duplicate filter checking code

keeping track of `exists` variable is weird to read and prone to bugs...
what if next field makes exist = false, even if one filter already
exists?
This commit is contained in:
Ankush Menat 2023-12-28 14:50:16 +05:30
parent 3ee00cf1e4
commit acf032f607

View file

@ -252,24 +252,15 @@ frappe.ui.FilterGroup = class {
filter_exists(filter_value) {
// filter_value of form: [doctype, fieldname, condition, value]
let exists = false;
this.filters
return this.filters
.filter((f) => f.field)
.map((f) => {
.some((f) => {
let f_value = f.get_value();
if (filter_value.length === 2) {
exists = filter_value[0] === f_value[0] && filter_value[1] === f_value[1];
return;
}
let value = filter_value[3];
let equal = frappe.utils.arrays_equal;
if (equal(f_value.slice(0, 4), filter_value.slice(0, 4))) {
exists = true;
return filter_value[0] === f_value[0] && filter_value[1] === f_value[1];
}
return frappe.utils.arrays_equal(f_value.slice(0, 4), filter_value.slice(0, 4));
});
return exists;
}
get_filters() {
@ -278,7 +269,6 @@ frappe.ui.FilterGroup = class {
.map((f) => {
return f.get_value();
});
// {}: this.list.update_standard_filters(values);
}
update_filters() {