-
diff --git a/addons/mrp/static/src/components/bom_overview_display_filter/mrp_bom_overview_display_filter.js b/addons/mrp/static/src/components/bom_overview_display_filter/mrp_bom_overview_display_filter.js
index 387122f9a34..807632cac54 100644
--- a/addons/mrp/static/src/components/bom_overview_display_filter/mrp_bom_overview_display_filter.js
+++ b/addons/mrp/static/src/components/bom_overview_display_filter/mrp_bom_overview_display_filter.js
@@ -13,11 +13,6 @@ export class BomOverviewDisplayFilter extends Component {
operations: this.env._t('Operations'),
};
}
- //---- Handlers ----
-
- onClickDisplay(optionKey) {
- this.props.bus.trigger("change-display", { type: optionKey, value: !this.props.showOptions[optionKey] });
- }
//---- Getters ----
@@ -36,7 +31,6 @@ BomOverviewDisplayFilter.components = {
DropdownItem,
}
BomOverviewDisplayFilter.props = {
- bus: Object,
showOptions: {
type: Object,
shape: {
@@ -48,4 +42,5 @@ BomOverviewDisplayFilter.props = {
attachments: Boolean,
},
},
+ changeDisplay: Function,
};
diff --git a/addons/mrp/static/src/components/bom_overview_display_filter/mrp_bom_overview_display_filter.xml b/addons/mrp/static/src/components/bom_overview_display_filter/mrp_bom_overview_display_filter.xml
index b5b6bcb6fb8..0adf1c31b0c 100644
--- a/addons/mrp/static/src/components/bom_overview_display_filter/mrp_bom_overview_display_filter.xml
+++ b/addons/mrp/static/src/components/bom_overview_display_filter/mrp_bom_overview_display_filter.xml
@@ -8,7 +8,7 @@
Display:
-
+
diff --git a/addons/mrp/static/src/components/bom_overview_extra_block/mrp_bom_overview_extra_block.js b/addons/mrp/static/src/components/bom_overview_extra_block/mrp_bom_overview_extra_block.js
index 80aed88fab6..b67cb0aa54f 100644
--- a/addons/mrp/static/src/components/bom_overview_extra_block/mrp_bom_overview_extra_block.js
+++ b/addons/mrp/static/src/components/bom_overview_extra_block/mrp_bom_overview_extra_block.js
@@ -1,9 +1,10 @@
/** @odoo-module **/
+import { useBus } from "@web/core/utils/hooks";
import { BomOverviewLine } from "../bom_overview_line/mrp_bom_overview_line";
import { BomOverviewSpecialLine } from "../bom_overview_special_line/mrp_bom_overview_special_line";
-const { Component, onMounted, onWillUnmount, onWillUpdateProps, useState } = owl;
+const { Component, onWillUnmount, onWillUpdateProps, useState } = owl;
export class BomOverviewExtraBlock extends Component {
setup() {
@@ -11,13 +12,10 @@ export class BomOverviewExtraBlock extends Component {
isFolded: !this.props.unfoldAll,
});
if (this.props.unfoldAll) {
- this.props.bus.trigger("change-fold", { ids: [this.identifier], isFolded: false });
+ this.props.changeFolded({ ids: [this.identifier], isFolded: false });
}
- onMounted(() => {
- this.props.bus.addEventListener(`toggle-fold-${this.identifier}`, () => this._onToggleFolded());
- this.props.bus.addEventListener("unfold-all", () => this._unfold());
- });
+ useBus(this.env.overviewBus, "unfold-all", () => this._unfold());
onWillUpdateProps(newProps => {
if (this.props.data.product_id != newProps.data.product_id) {
@@ -26,23 +24,22 @@ export class BomOverviewExtraBlock extends Component {
});
onWillUnmount(() => {
- this.props.bus.trigger("change-fold", { ids: [this.identifier], isFolded: true });
- this.props.bus.removeEventListener(`toggle-fold-${this.identifier}`, () => this._onToggleFolded());
- this.props.bus.removeEventListener("unfold-all", () => this._unfold());
+ // Need to notify main component that the block was folded so it doesn't appear on the PDF.
+ this.changeFolded({ ids: [this.identifier], isFolded: true });
});
}
//---- Handlers ----
- _onToggleFolded() {
+ onToggleFolded() {
const newState = !this.state.isFolded;
this.state.isFolded = newState;
- this.props.bus.trigger("change-fold", { ids: [this.identifier], isFolded: newState });
+ this.props.changeFolded({ ids: [this.identifier], isFolded: newState });
}
_unfold() {
this.state.isFolded = false;
- this.props.bus.trigger("change-fold", { ids: [this.identifier], isFolded: false });
+ this.props.changeFolded({ ids: [this.identifier], isFolded: false })
}
//---- Getters ----
@@ -58,7 +55,6 @@ BomOverviewExtraBlock.components = {
BomOverviewSpecialLine,
};
BomOverviewExtraBlock.props = {
- bus: Object,
unfoldAll: { type: Boolean, optional: true },
type: {
type: String,
@@ -66,6 +62,7 @@ BomOverviewExtraBlock.props = {
},
showOptions: Object,
data: Object,
+ changeFolded: Function,
};
BomOverviewExtraBlock.defaultProps = {
showAvailabilities: false,
diff --git a/addons/mrp/static/src/components/bom_overview_extra_block/mrp_bom_overview_extra_block.xml b/addons/mrp/static/src/components/bom_overview_extra_block/mrp_bom_overview_extra_block.xml
index a8db935964a..1af635bd255 100644
--- a/addons/mrp/static/src/components/bom_overview_extra_block/mrp_bom_overview_extra_block.xml
+++ b/addons/mrp/static/src/components/bom_overview_extra_block/mrp_bom_overview_extra_block.xml
@@ -3,16 +3,14 @@
+ data="props.data"
+ toggleFolded.bind="onToggleFolded"/>
diff --git a/addons/mrp/static/src/components/bom_overview_line/mrp_bom_overview_line.js b/addons/mrp/static/src/components/bom_overview_line/mrp_bom_overview_line.js
index b5b763c1e43..db406be6950 100644
--- a/addons/mrp/static/src/components/bom_overview_line/mrp_bom_overview_line.js
+++ b/addons/mrp/static/src/components/bom_overview_line/mrp_bom_overview_line.js
@@ -63,12 +63,6 @@ export class BomOverviewLine extends Component {
});
}
- onToggleFolded() {
- if (this.props.parentId) {
- this.props.bus.trigger(`toggle-fold-${this.props.parentId}`, this.identifier);
- }
- }
-
//---- Getters ----
get data() {
@@ -152,9 +146,7 @@ export class BomOverviewLine extends Component {
BomOverviewLine.template = "mrp.BomOverviewLine";
BomOverviewLine.props = {
- bus: Object,
isFolded: { type: Boolean, optional: true },
- parentId: { type: String, optional: true },
showOptions: {
type: Object,
shape: {
@@ -168,7 +160,9 @@ BomOverviewLine.props = {
},
currentWarehouseId: { type: Number, optional: true },
data: Object,
+ toggleFolded: { type: Function, optional: true },
};
BomOverviewLine.defaultProps = {
isFolded: true,
+ toggleFolded: () => {},
};
diff --git a/addons/mrp/static/src/components/bom_overview_line/mrp_bom_overview_line.xml b/addons/mrp/static/src/components/bom_overview_line/mrp_bom_overview_line.xml
index 9e98ad11d83..9ff5b1cab74 100644
--- a/addons/mrp/static/src/components/bom_overview_line/mrp_bom_overview_line.xml
+++ b/addons/mrp/static/src/components/bom_overview_line/mrp_bom_overview_line.xml
@@ -5,7 +5,7 @@
-
diff --git a/addons/mrp/static/src/components/bom_overview_special_line/mrp_bom_overview_special_line.js b/addons/mrp/static/src/components/bom_overview_special_line/mrp_bom_overview_special_line.js
index 9b3547b6c09..69d4c10ef6a 100644
--- a/addons/mrp/static/src/components/bom_overview_special_line/mrp_bom_overview_special_line.js
+++ b/addons/mrp/static/src/components/bom_overview_special_line/mrp_bom_overview_special_line.js
@@ -11,14 +11,6 @@ export class BomOverviewSpecialLine extends Component {
this.formatMonetary = (val) => formatMonetary(val, { currencyId: this.data.currency_id });
}
- //---- Handlers ----
-
- onToggleFolded() {
- if (this.props.parentId) {
- this.props.bus.trigger(`toggle-fold-${this.props.parentId}`);
- }
- }
-
//---- Getters ----
get data() {
@@ -52,9 +44,7 @@ export class BomOverviewSpecialLine extends Component {
BomOverviewSpecialLine.template = "mrp.BomOverviewSpecialLine";
BomOverviewSpecialLine.props = {
- bus: Object,
type: String,
- parentId: { type: String, optional: true },
isFolded: { type: Boolean, optional: true },
showOptions: {
type: Object,
diff --git a/addons/mrp/static/src/components/bom_overview_special_line/mrp_bom_overview_special_line.xml b/addons/mrp/static/src/components/bom_overview_special_line/mrp_bom_overview_special_line.xml
index 2693bee2ccd..a1c4aba7182 100644
--- a/addons/mrp/static/src/components/bom_overview_special_line/mrp_bom_overview_special_line.xml
+++ b/addons/mrp/static/src/components/bom_overview_special_line/mrp_bom_overview_special_line.xml
@@ -4,7 +4,7 @@
|
-
+
Operations
By-Products
diff --git a/addons/mrp/static/src/components/bom_overview_table/mrp_bom_overview_table.js b/addons/mrp/static/src/components/bom_overview_table/mrp_bom_overview_table.js
index 082eba49415..fb2e10fb943 100644
--- a/addons/mrp/static/src/components/bom_overview_table/mrp_bom_overview_table.js
+++ b/addons/mrp/static/src/components/bom_overview_table/mrp_bom_overview_table.js
@@ -66,7 +66,6 @@ BomOverviewTable.components = {
BomOverviewComponentsBlock,
};
BomOverviewTable.props = {
- bus: Object,
showOptions: {
type: Object,
shape: {
@@ -81,4 +80,5 @@ BomOverviewTable.props = {
uomName: { type: String, optional: true },
currentWarehouseId: { type: Number, optional: true },
data: Object,
+ changeFolded: Function,
};
diff --git a/addons/mrp/static/src/components/bom_overview_table/mrp_bom_overview_table.xml b/addons/mrp/static/src/components/bom_overview_table/mrp_bom_overview_table.xml
index c572a12fa85..bcbf4a0750f 100644
--- a/addons/mrp/static/src/components/bom_overview_table/mrp_bom_overview_table.xml
+++ b/addons/mrp/static/src/components/bom_overview_table/mrp_bom_overview_table.xml
@@ -40,16 +40,15 @@
+ data="data"
+ changeFolded.bind="props.changeFolded"/>
diff --git a/addons/mrp_subcontracting/static/src/components/bom_overview_components_block/mrp_bom_overview_components_block.xml b/addons/mrp_subcontracting/static/src/components/bom_overview_components_block/mrp_bom_overview_components_block.xml
index c15bfbd7cc1..0ea7270d128 100644
--- a/addons/mrp_subcontracting/static/src/components/bom_overview_components_block/mrp_bom_overview_components_block.xml
+++ b/addons/mrp_subcontracting/static/src/components/bom_overview_components_block/mrp_bom_overview_components_block.xml
@@ -5,7 +5,6 @@
|