diff options
| author | Mohammed Shekha <msh@openerp.com> | 2018-01-18 18:55:27 +0530 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2018-01-19 14:31:05 +0100 |
| commit | 7faecb6fe43d5fc42e43aa7080952c186dcf3804 (patch) | |
| tree | b4a74cf968de4f6a6f871a70f947042f56801f03 /addons/web/static | |
| parent | a4a54ab8387b68b4477ba3b22bc974ebd349b0d3 (diff) | |
[FIX] web: WebClient: notify the ActionManager it's in the DOM
Before this rev., on_attach_callback of the ActionManager wasn't
called at init, because the WebClient didn't use the append
function of dom_utils.
Diffstat (limited to 'addons/web/static')
| -rw-r--r-- | addons/web/static/src/js/chrome/abstract_web_client.js | 12 | ||||
| -rw-r--r-- | addons/web/static/src/js/chrome/web_client.js | 3 |
2 files changed, 10 insertions, 5 deletions
diff --git a/addons/web/static/src/js/chrome/abstract_web_client.js b/addons/web/static/src/js/chrome/abstract_web_client.js index c491297abfc..58c068fecb1 100644 --- a/addons/web/static/src/js/chrome/abstract_web_client.js +++ b/addons/web/static/src/js/chrome/abstract_web_client.js @@ -18,6 +18,7 @@ var config = require('web.config'); var crash_manager = require('web.crash_manager'); var data_manager = require('web.data_manager'); var Dialog = require('web.Dialog'); +var dom = require('web.dom'); var Loading = require('web.Loading'); var mixins = require('web.mixins'); var NotificationManager = require('web.NotificationManager'); @@ -46,7 +47,7 @@ var AbstractWebClient = Widget.extend(mixins.ServiceProvider, { // notifications, warnings and effects notification: function (e) { - if(this.notification_manager) { + if (this.notification_manager) { this.notification_manager.notify(e.data.title, e.data.message, e.data.sticky); } }, @@ -201,8 +202,15 @@ var AbstractWebClient = Widget.extend(mixins.ServiceProvider, { }; }, set_action_manager: function () { + var self = this; this.action_manager = new ActionManager(this, session.user_context); - return this.action_manager.appendTo(this.$('.o_main_content')); + var fragment = document.createDocumentFragment(); + return this.action_manager.appendTo(fragment).then(function () { + dom.append(self.$('.o_main_content'), fragment, { + in_DOM: true, + callbacks: [{widget: self.action_manager}], + }); + }); }, set_notification_manager: function () { this.notification_manager = new NotificationManager(this); diff --git a/addons/web/static/src/js/chrome/web_client.js b/addons/web/static/src/js/chrome/web_client.js index c39917d5118..d824e3e4176 100644 --- a/addons/web/static/src/js/chrome/web_client.js +++ b/addons/web/static/src/js/chrome/web_client.js @@ -23,9 +23,6 @@ return AbstractWebClient.extend({ show_application: function() { var self = this; - // Allow to call `on_attach_callback` and `on_detach_callback` when needed - this.action_manager.is_in_DOM = true; - this.toggle_bars(true); this.set_title(); this.update_logo(); |
