mirror of https://github.com/OCA/web.git
[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.pull/3080/head
parent
bc4f109540
commit
65af83d508
|
@ -154,6 +154,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,
|
||||
});
|
||||
|
@ -203,8 +204,10 @@ export class ProductLabelSectionAndNoteField extends Many2OneField {
|
|||
window.removeEventListener("afterprint", this.onAfterPrint);
|
||||
});
|
||||
useRecordObserver(async (record) => {
|
||||
const label = record.data.name || "";
|
||||
this.isProductVisible.value = label.includes(this.productName);
|
||||
if (this.changeProductVisibility) {
|
||||
const label = record.data.name || "";
|
||||
this.isProductVisible.value = label.includes(this.productName);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -276,9 +279,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,
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue