From acf032f6075bf9bab3e00a3d702658bf9f8f8251 Mon Sep 17 00:00:00 2001 From: Ankush Menat Date: Thu, 28 Dec 2023 14:50:16 +0530 Subject: [PATCH] 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? --- .../public/js/frappe/ui/filters/filter_list.js | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/frappe/public/js/frappe/ui/filters/filter_list.js b/frappe/public/js/frappe/ui/filters/filter_list.js index 3bc02861e4..69712caf3f 100644 --- a/frappe/public/js/frappe/ui/filters/filter_list.js +++ b/frappe/public/js/frappe/ui/filters/filter_list.js @@ -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() {