diff options
| author | Christophe Simonis <chs@odoo.com> | 2018-02-12 13:15:06 +0100 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2018-02-12 13:15:06 +0100 |
| commit | c69d00157ed2162b873a07a9f317016f109f802a (patch) | |
| tree | b9cc57497ed42805c115e2ff3ac2cd5deec9313e /addons/web/static/src/js/views/basic/basic_renderer.js | |
| parent | 09923c7bf6f3200d7a6edcd008ef7e03ef42283a (diff) | |
| parent | 169f899e291520411ce539f10c8b6b9b7d681c3f (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.js | 6 |
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') { |
