From c5d5421c0fea07884d50be81bcdd2b6c63d6cac3 Mon Sep 17 00:00:00 2001 From: V Shankar Date: Tue, 1 Oct 2024 12:55:32 +0530 Subject: [PATCH] feat: search attribute value in multiple variant creation dialog (#43408) * feat: search attr value in multiple variant creation dialog * fix: pre commit --- erpnext/stock/doctype/item/item.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/erpnext/stock/doctype/item/item.js b/erpnext/stock/doctype/item/item.js index 81eeb914af0..a18767c6ccf 100644 --- a/erpnext/stock/doctype/item/item.js +++ b/erpnext/stock/doctype/item/item.js @@ -550,6 +550,24 @@ $.extend(erpnext.item, { fields.push({ fieldtype: "Section Break" }); } fields.push({ fieldtype: "Column Break", label: name }); + fields.push({ + fieldtype: "Data", + placeholder: "Search", + fieldname: `search_${frappe.scrub(name)}`, + onchange: function (e) { + let value = e.target.value; + let result = attr_dict[name].filter((attr_value) => + attr_value.toString().toLowerCase().includes(value.toLowerCase()) + ); + attr_dict[name].forEach((attr_value) => { + if (result.includes(attr_value)) { + me.multiple_variant_dialog.set_df_property(attr_value, "hidden", 0); + } else { + me.multiple_variant_dialog.set_df_property(attr_value, "hidden", 1); + } + }); + }, + }); attr_dict[name].forEach((value) => { fields.push({ fieldtype: "Check", @@ -643,6 +661,10 @@ $.extend(erpnext.item, { me.multiple_variant_dialog.disable_primary_action(); me.multiple_variant_dialog.clear(); me.multiple_variant_dialog.show(); + me.multiple_variant_dialog.$wrapper + .find("div[data-fieldname^='search_']") + .find(".clearfix") + .hide(); } function get_selected_attributes() {