diff options
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 |
