summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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