From f74971b5f1485d95308e8ba627b9240efb49c5c7 Mon Sep 17 00:00:00 2001 From: Carlos Lopez Date: Thu, 6 Feb 2025 09:36:47 -0500 Subject: [PATCH] [FIX] web_widget_product_label_section_and_note: Use a flag to change the icon based on product visibility. Before this commit, when isProductVisible was disabled and the user changed the label, this caused isProductVisible to change its value. After this commit, changing the label no longer modifies isProductVisible. --- .../product_label_section_and_note_field.esm.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/web_widget_product_label_section_and_note/static/src/components/product_label_section_and_note_field/product_label_section_and_note_field.esm.js b/web_widget_product_label_section_and_note/static/src/components/product_label_section_and_note_field/product_label_section_and_note_field.esm.js index c90dbe63d..f35a6730c 100644 --- a/web_widget_product_label_section_and_note/static/src/components/product_label_section_and_note_field/product_label_section_and_note_field.esm.js +++ b/web_widget_product_label_section_and_note/static/src/components/product_label_section_and_note_field/product_label_section_and_note_field.esm.js @@ -135,6 +135,7 @@ export class ProductLabelSectionAndNoteField extends Many2OneField { this.labelVisibility = useState({value: false}); this.isProductVisible = useState({value: false}); this.switchToLabel = false; + this.changeProductVisibility = true; this.columnIsProductAndLabel = useState({ value: this.props.record.columnIsProductAndLabel, }); @@ -184,8 +185,10 @@ export class ProductLabelSectionAndNoteField extends Many2OneField { window.removeEventListener("afterprint", this.onAfterPrint); }); onWillUpdateProps((newProps) => { - const label = newProps.record.data.name || ""; - this.isProductVisible.value = label.includes(this.productName); + if (this.changeProductVisibility) { + const label = newProps.record.data.name || ""; + this.isProductVisible.value = label.includes(this.productName); + } }); } @@ -257,9 +260,12 @@ export class ProductLabelSectionAndNoteField extends Many2OneField { } updateLabel(value) { + this.changeProductVisibility = false; this.props.record.update({ name: - this.productName && this.productName !== value + this.productName && + this.productName !== value && + this.isProductVisible.value ? `${this.productName}\n${value}` : value, });