summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic/basic_renderer.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-05-30 12:18:52 +0200
committerChristophe Simonis <chs@odoo.com>2018-05-30 12:18:52 +0200
commite008ef302a1b3fc584d4f0fb9956d237947f17d5 (patch)
tree7976948d25c1aa7aa23123ccabb37b5eaae8e8e3 /addons/web/static/src/js/views/basic/basic_renderer.js
parentf36e6917bd73a56dc0c7468b4849920df4088154 (diff)
parent53300648edef8f87bfd0bff6b52536efdd1cc82c (diff)
[MERGE] forward port branch saas-11.3 up to 53300648ede
Diffstat (limited to 'addons/web/static/src/js/views/basic/basic_renderer.js')
-rw-r--r--addons/web/static/src/js/views/basic/basic_renderer.js20
1 files changed, 14 insertions, 6 deletions
diff --git a/addons/web/static/src/js/views/basic/basic_renderer.js b/addons/web/static/src/js/views/basic/basic_renderer.js
index 24b053a7bbe..9834c9c18de 100644
--- a/addons/web/static/src/js/views/basic/basic_renderer.js
+++ b/addons/web/static/src/js/views/basic/basic_renderer.js
@@ -661,15 +661,23 @@ var BasicRenderer = AbstractRenderer.extend({
// Prepare widget rendering and save the related deferred
var def = widget._widgetRenderAndInsert(function () {});
- if (def.state() === 'pending') {
+ var async = def.state() === 'pending';
+ if (async) {
this.defs.push(def);
}
+ var $el = async ? $('<div>') : widget.$el;
- // handle other attributes/modifiers
- this._handleAttributes(widget.$el, node);
- this._registerModifiers(node, record, widget);
- widget.$el.addClass('o_widget');
- return widget.$el;
+ var self = this;
+ def.then(function () {
+ self._handleAttributes(widget.$el, node);
+ self._registerModifiers(node, record, widget);
+ widget.$el.addClass('o_widget');
+ if (async) {
+ $el.replaceWith(widget.$el);
+ }
+ });
+
+ return $el;
},
/**