summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/fields
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-11-06 16:40:07 +0100
committerChristophe Simonis <chs@odoo.com>2018-11-06 16:40:07 +0100
commitb106b7ce0bfac5d4f955dc98be9a35d79e0947ff (patch)
tree48bb187b80b2b10f7a1d76bf5116bf3ea16669a2 /addons/web/static/src/js/fields
parent478691b95de9eb0d03c145e547a773de40ca9a4d (diff)
parentdd70c684268b538f02ea4fa0425f9b70136b3300 (diff)
[MERGE] forward port branch 12.0 up to dd70c684268
Diffstat (limited to 'addons/web/static/src/js/fields')
-rw-r--r--addons/web/static/src/js/fields/relational_fields.js7
-rw-r--r--addons/web/static/src/js/fields/special_fields.js19
2 files changed, 26 insertions, 0 deletions
diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js
index bf46c538c23..d9e15dab302 100644
--- a/addons/web/static/src/js/fields/relational_fields.js
+++ b/addons/web/static/src/js/fields/relational_fields.js
@@ -1106,6 +1106,13 @@ var FieldX2Many = AbstractField.extend({
}
return def.then(function () {
self.pager.updateState({ size: self.value.count });
+ var newEval = self._evalColumnInvisibleFields();
+ if (!_.isEqual(self.currentColInvisibleFields, newEval)) {
+ self.currentColInvisibleFields = newEval;
+ self.renderer.updateState(self.value, {
+ columnInvisibleFields: self.currentColInvisibleFields,
+ });
+ }
});
},
/**
diff --git a/addons/web/static/src/js/fields/special_fields.js b/addons/web/static/src/js/fields/special_fields.js
index 5a6aa8cfd28..90c4f589989 100644
--- a/addons/web/static/src/js/fields/special_fields.js
+++ b/addons/web/static/src/js/fields/special_fields.js
@@ -100,6 +100,25 @@ var FieldTimezoneMismatch = FieldSelection.extend({
this._renderDateTimeTimezone();
}
},
+ /**
+ * @override
+ * @private
+ * this.$el can have other elements than select
+ * that should not be touched
+ */
+ _renderEdit: function () {
+ // FIXME: hack to handle multiple root elements
+ // in this.$el , which is a bad idea
+ // In master we should make this.$el a wrapper
+ // around multiple subelements
+ var $otherEl = this.$el.not('select');
+ this.$el = this.$el.first();
+
+ this._super.apply(this, arguments);
+
+ $otherEl.insertAfter(this.$el);
+ this.$el = this.$el.add($otherEl);
+ },
});
var FieldReportLayout = relational_fields.FieldMany2One.extend({