diff options
| author | Christophe Simonis <chs@odoo.com> | 2017-10-02 16:44:17 +0200 |
|---|---|---|
| committer | Christophe Simonis <chs@odoo.com> | 2017-10-02 16:44:17 +0200 |
| commit | 597ee1c58118bdba5238b4d25cd20467f73d02bd (patch) | |
| tree | f9d908ae30ae13010232e18f5eb2ff3e364fd172 /addons/web/static/src/js/views/basic/basic_renderer.js | |
| parent | 1512c1b22993ba66a2cfff36bb92b8babca4cc95 (diff) | |
| parent | afaf7cc7ccf305fd06920512e82f17aca092c01d (diff) | |
[MERGE] forward port branch saas-18 up to afaf7cc7ccf
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 | 9 |
1 files changed, 5 insertions, 4 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 24922622a42..d335999582e 100644 --- a/addons/web/static/src/js/views/basic/basic_renderer.js +++ b/addons/web/static/src/js/views/basic/basic_renderer.js @@ -101,8 +101,9 @@ var BasicRenderer = AbstractRenderer.extend({ // which are configured to always be reset on any change var resetWidgets = []; _.each(this.allFieldWidgets[id], function (widget) { - if (_.contains(fields, widget.name) || widget.resetOnAnyFieldChange) { - defs.push(widget.reset(record, ev)); + var fieldChanged = _.contains(fields, widget.name); + if (fieldChanged || widget.resetOnAnyFieldChange) { + defs.push(widget.reset(record, ev, fieldChanged)); resetWidgets.push(widget); } }); @@ -127,7 +128,7 @@ var BasicRenderer = AbstractRenderer.extend({ this.editRecord(id); if (typeof offset === "number") { var field = _.findWhere(this.allFieldWidgets[id], {name: fieldName}); - dom.setCursor(field.getFocusableElement(), offset); + dom.setSelectionRange(field.getFocusableElement().get(0), {start: offset, end: offset}); } }, @@ -406,7 +407,7 @@ var BasicRenderer = AbstractRenderer.extend({ // If not, check the modifiers to see if it needs registration var modifiersData = this._getModifiersData(node); if (!modifiersData) { - var modifiers = JSON.parse(node.attrs.modifiers || "{}"); // FIXME parsed multiple times (record switching, no modifiers, ...) + var modifiers = node.attrs.modifiers || {}; modifiersData = { node: node, modifiers: modifiers, |
