summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/chrome
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-04-16 19:50:50 +0200
committerChristophe Simonis <chs@odoo.com>2018-04-16 19:50:50 +0200
commit74033eb007749c88b84ea883b006a5877355306e (patch)
tree8f8b6cb22cc2bf6046ba04e388ea29855a33c597 /addons/web/static/src/js/chrome
parent71cdefd9f41881d9720433d5fc7732759098f9a4 (diff)
parent90f8f17fb4fc795c2c12d68d21900e81f3d7a223 (diff)
[MERGE] forward port branch saas-11.2 up to 90f8f17fb4f
Diffstat (limited to 'addons/web/static/src/js/chrome')
-rw-r--r--addons/web/static/src/js/chrome/action_manager.js15
-rw-r--r--addons/web/static/src/js/chrome/action_manager_act_window.js8
2 files changed, 15 insertions, 8 deletions
diff --git a/addons/web/static/src/js/chrome/action_manager.js b/addons/web/static/src/js/chrome/action_manager.js
index b97262079ef..b36e1b8eec9 100644
--- a/addons/web/static/src/js/chrome/action_manager.js
+++ b/addons/web/static/src/js/chrome/action_manager.js
@@ -839,12 +839,27 @@ var ActionManager = Widget.extend({
* is ready when it will be appended to the DOM. This allows to prevent
* flickering for widgets doing async stuff in willStart() or start().
*
+ * Also updates the control panel on any change of the title on controller's
+ * widget.
+ *
* @private
* @param {Object} controller
* @returns {Deferred<Object>} resolved with the controller when it is ready
*/
_startController: function (controller) {
+ var self = this;
var fragment = document.createDocumentFragment();
+ // AAB: change this logic to stop using the properties mixin
+ controller.widget.on("change:title", this, function () {
+ if (self.getCurrentController() !== controller) {
+ return;
+ }
+ var action = self.actions[controller.actionID];
+ if (!action.flags || !action.flags.headless) {
+ var breadcrumbs = self._getBreadcrumbs();
+ self.controlPanel.update({breadcrumbs: breadcrumbs}, {clear: false});
+ }
+ });
return controller.widget.appendTo(fragment).then(function () {
return controller;
});
diff --git a/addons/web/static/src/js/chrome/action_manager_act_window.js b/addons/web/static/src/js/chrome/action_manager_act_window.js
index 9dc0ff4c1c8..0ed909e2512 100644
--- a/addons/web/static/src/js/chrome/action_manager_act_window.js
+++ b/addons/web/static/src/js/chrome/action_manager_act_window.js
@@ -229,15 +229,7 @@ ActionManager.include({
// the action has been removed, so simply destroy the widget
widget.destroy();
} else {
- // AAB: change this logic to stop using the properties mixin
- widget.on("change:title", this, function () {
- if (!action.flags.headless) {
- var breadcrumbs = self._getBreadcrumbs();
- self.controlPanel.update({breadcrumbs: breadcrumbs}, {clear: false});
- }
- });
controller.widget = widget;
-
def.resolve(controller);
}
}).fail(def.reject.bind(def));