diff --git a/addons/web/static/src/js/chrome.js b/addons/web/static/src/js/chrome.js index 62c73f7d419..bd68f4ad7a8 100644 --- a/addons/web/static/src/js/chrome.js +++ b/addons/web/static/src/js/chrome.js @@ -958,6 +958,20 @@ instance.web.Client = instance.web.Widget.extend({ has_uncommitted_changes: function() { return false; }, + trigger_children: function(events) { + // TODO: In the future, if we have more valid use cases in other objects, let's + // put this back in the EventDispatcherMixin as an option of trigger() + var children = this.getChildren(); + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (child.__eventDispatcherMixin) { + child.__edispatcherEvents.trigger.apply(child.__edispatcherEvents, arguments); + instance.webclient // Yuck! + .trigger_children.apply(child, arguments); + } + } + return this; + }, }); instance.web.WebClient = instance.web.Client.extend({ diff --git a/addons/web/static/src/js/corelib.js b/addons/web/static/src/js/corelib.js index 7ef00b420e3..c74c2d5dc03 100644 --- a/addons/web/static/src/js/corelib.js +++ b/addons/web/static/src/js/corelib.js @@ -359,26 +359,6 @@ instance.web.EventDispatcherMixin = _.extend({}, instance.web.ParentedMixin, { this.__edispatcherEvents.trigger.apply(this.__edispatcherEvents, arguments); return this; }, - trigger_children: function(events) { - var children = this.getChildren(); - for (var i = 0; i < children.length; i++) { - var child = children[i]; - if (child.__eventDispatcherMixin) { - child.__edispatcherEvents.trigger.apply(child.__edispatcherEvents, arguments); - child.trigger_children.apply(child, arguments); - } - } - return this; - }, - trigger_ancestors: function(events) { - var parent = this; - while (parent = parent.getParent()) { - parent.__edispatcherEvents.trigger.apply(parent.__edispatcherEvents, arguments); - parent.trigger_ancestors.apply(parent, arguments); - - } - return this; - }, destroy: function() { var self = this; _.each(this.__edispatcherRegisteredEvents, function(event) {