summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/views/basic/basic_renderer.js
diff options
context:
space:
mode:
authorfwi-odoo <fwi@odoo.com>2017-09-15 10:19:16 +0200
committerfwi-odoo <fwi@odoo.com>2017-09-29 16:49:20 +0200
commitda136d83bb4cd952dc0e2417d67679cfc5068f34 (patch)
treed149d19de2188ecd5f5aff05bea09c6201e78211 /addons/web/static/src/js/views/basic/basic_renderer.js
parenta7d1740e475c44b50d0cc6ce6f43e9f142e99334 (diff)
[IMP] web: x2m list: conditionnaly hide a column
This commit introduces a new way to hide a column in a x2m list view. The attribute 'tree_invisible' can be add in the field attrs in the x2m view definition. This attribute can use the 'parent' key to make a reference to the parent record (e.g. 'parent.id').
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.js7
1 files changed, 4 insertions, 3 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 93dd1f4fb73..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);
}
});
@@ -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,