diff options
| author | Romeo Fragomeli <rfr@odoo.com> | 2019-01-31 12:56:48 +0000 |
|---|---|---|
| committer | Romeo Fragomeli <rfr@odoo.com> | 2019-02-01 09:55:31 +0000 |
| commit | e6e206b14e3c3f0274b9d8e723ab1f40c53efe68 (patch) | |
| tree | 573efd554f392cb56925635f349b86f12a36359b /addons/web/static | |
| parent | 969705fa2ae8bfd5e2d2cfce0241fcd56bebf01f (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')
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 |
