[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.
This commit is contained in:
Carlos Lopez
2025-02-06 09:36:47 -05:00
parent bcdf468b70
commit f74971b5f1

View File

@@ -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,
});