summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic/basic_renderer.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-02-12 13:15:06 +0100
committerChristophe Simonis <chs@odoo.com>2018-02-12 13:15:06 +0100
commitc69d00157ed2162b873a07a9f317016f109f802a (patch)
treeb9cc57497ed42805c115e2ff3ac2cd5deec9313e /addons/web/static/src/js/views/basic/basic_renderer.js
parent09923c7bf6f3200d7a6edcd008ef7e03ef42283a (diff)
parent169f899e291520411ce539f10c8b6b9b7d681c3f (diff)
[MERGE] forward port branch 11.0 up to 169f899e291
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.js6
1 files changed, 6 insertions, 0 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 58a5cb7a70e..8db747f308d 100644
--- a/addons/web/static/src/js/views/basic/basic_renderer.js
+++ b/addons/web/static/src/js/views/basic/basic_renderer.js
@@ -30,6 +30,7 @@ var BasicRenderer = AbstractRenderer.extend({
this.activeActions = params.activeActions;
this.viewType = params.viewType;
this.mode = params.mode || 'readonly';
+ this.widgets = [];
},
/**
* This method has two responsabilities: find every invalid fields in the
@@ -95,6 +96,9 @@ var BasicRenderer = AbstractRenderer.extend({
return this._render().then(_.constant([]));
}
+ // reset all widgets (from the <widget> tag) if any:
+ _.invoke(this.widgets, 'updateState', state);
+
var defs = [];
// Reset all the field widgets that are marked as changed and the ones
@@ -613,6 +617,8 @@ var BasicRenderer = AbstractRenderer.extend({
var Widget = widgetRegistry.get(node.attrs.name);
var widget = new Widget(this, record);
+ this.widgets.push(widget);
+
// Prepare widget rendering and save the related deferred
var def = widget._widgetRenderAndInsert(function () {});
if (def.state() === 'pending') {