summaryrefslogtreecommitdiff
path: root/addons/web/static
diff options
context:
space:
mode:
authorRomeo Fragomeli <rfr@odoo.com>2019-01-31 12:56:48 +0000
committerRomeo Fragomeli <rfr@odoo.com>2019-02-01 09:55:31 +0000
commite6e206b14e3c3f0274b9d8e723ab1f40c53efe68 (patch)
tree573efd554f392cb56925635f349b86f12a36359b /addons/web/static
parent969705fa2ae8bfd5e2d2cfce0241fcd56bebf01f (diff)
[IMP] web: control panel add on_detach_callback
Adding event listener in on_attach_callback need to be removed in on_detach_callback. Before this commit on_detach_callback was not implemented in control panel. After this commit we can use on_detach_callback. Needed for task ID: 1934261 closes odoo/odoo#30758
Diffstat (limited to 'addons/web/static')
-rw-r--r--addons/web/static/src/js/views/abstract_controller.js3
-rw-r--r--addons/web/static/src/js/views/control_panel/control_panel_controller.js6
-rw-r--r--addons/web/static/src/js/views/control_panel/control_panel_renderer.js5
3 files changed, 14 insertions, 0 deletions
diff --git a/addons/web/static/src/js/views/abstract_controller.js b/addons/web/static/src/js/views/abstract_controller.js
index ba00b4dbab7..b5d7c8fe8b3 100644
--- a/addons/web/static/src/js/views/abstract_controller.js
+++ b/addons/web/static/src/js/views/abstract_controller.js
@@ -104,6 +104,9 @@ var AbstractController = mvc.Controller.extend(ActionMixin, {
* Called each time the controller is detached from the DOM.
*/
on_detach_callback: function () {
+ if (this._controlPanel) {
+ this._controlPanel.on_detach_callback();
+ }
this.renderer.on_detach_callback();
},
diff --git a/addons/web/static/src/js/views/control_panel/control_panel_controller.js b/addons/web/static/src/js/views/control_panel/control_panel_controller.js
index 10413e725ab..40b1c45b9c7 100644
--- a/addons/web/static/src/js/views/control_panel/control_panel_controller.js
+++ b/addons/web/static/src/js/views/control_panel/control_panel_controller.js
@@ -35,6 +35,12 @@ var ControlPanelController = mvc.Controller.extend({
on_attach_callback: function () {
this.renderer.on_attach_callback();
},
+ /**
+ * Called when the control panel is remove form the DOM.
+ */
+ on_detach_callback: function () {
+ this.renderer.on_detach_callback();
+ },
//--------------------------------------------------------------------------
// Public
diff --git a/addons/web/static/src/js/views/control_panel/control_panel_renderer.js b/addons/web/static/src/js/views/control_panel/control_panel_renderer.js
index 665fe73bf7d..fd9037cdf6f 100644
--- a/addons/web/static/src/js/views/control_panel/control_panel_renderer.js
+++ b/addons/web/static/src/js/views/control_panel/control_panel_renderer.js
@@ -96,6 +96,11 @@ var ControlPanelRenderer = Renderer.extend({
on_attach_callback: function () {
this._focusSearchInput();
},
+ /**
+ * @override
+ */
+ on_detach_callback: function () {
+ },
//--------------------------------------------------------------------------
// Public