summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic/basic_renderer.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2017-10-02 16:44:17 +0200
committerChristophe Simonis <chs@odoo.com>2017-10-02 16:44:17 +0200
commit597ee1c58118bdba5238b4d25cd20467f73d02bd (patch)
treef9d908ae30ae13010232e18f5eb2ff3e364fd172 /addons/web/static/src/js/views/basic/basic_renderer.js
parent1512c1b22993ba66a2cfff36bb92b8babca4cc95 (diff)
parentafaf7cc7ccf305fd06920512e82f17aca092c01d (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.js9
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,