summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/fields/relational_fields.js
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-01-10 20:35:53 +0100
committerChristophe Simonis <chs@odoo.com>2018-01-10 20:35:53 +0100
commit782154da11975b9db4620d7d39df3b567f3abcdc (patch)
tree8cfe110e53ccfcee7a06421d6367b88d51d60add /addons/web/static/src/js/fields/relational_fields.js
parent61bb46c82ba8113dddc0a95bd86cb029fbbf110e (diff)
parentf6ef0c776096774fc4c6821449ab42cfc2f53e62 (diff)
[MERGE] forward port branch saas-11.1 up to f6ef0c77609
Diffstat (limited to 'addons/web/static/src/js/fields/relational_fields.js')
-rw-r--r--addons/web/static/src/js/fields/relational_fields.js8
1 files changed, 8 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 677663a4967..1ee40bfccdb 100644
--- a/addons/web/static/src/js/fields/relational_fields.js
+++ b/addons/web/static/src/js/fields/relational_fields.js
@@ -1019,6 +1019,7 @@ var FieldX2Many = AbstractField.extend({
*/
_onEditLine: function (ev) {
ev.stopPropagation();
+ this.trigger_up('freeze_order', {id: this.value.id});
var editedRecord = this.value.data[ev.data.index];
this.renderer.setRowMode(editedRecord.id, 'edit')
.done(ev.data.onSuccess);
@@ -1105,6 +1106,7 @@ var FieldX2Many = AbstractField.extend({
*/
_onResequence: function (event) {
var self = this;
+ this.trigger_up('freeze_order', {id: this.value.id});
var rowIDs = event.data.rowIDs.slice();
var rowID = rowIDs.pop();
var defs = _.map(rowIDs, function (rowID, index) {
@@ -1124,6 +1126,11 @@ var FieldX2Many = AbstractField.extend({
operation: 'UPDATE',
id: rowID,
data: _.object([event.data.handleField], [event.data.offset + rowIDs.length]),
+ }).always(function () {
+ self.trigger_up('toggle_column_order', {
+ id: self.value.id,
+ name: event.data.handleField,
+ });
});
});
},
@@ -1230,6 +1237,7 @@ var FieldOne2Many = FieldX2Many.extend({
}
} else if (!this.creatingRecord) {
this.creatingRecord = true;
+ this.trigger_up('freeze_order', {id: this.value.id});
this._setValue({
operation: 'CREATE',
position: this.editable,