changeset 0e779982f8ba in sao:default
details: https://hg.tryton.org/sao?cmd=changeset;node=0e779982f8ba
description:
Do not trigger trigger another on_change after setting it's result
issue9212
review311331002
diffstat:
src/model.js | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diffs (56 lines):
diff -r 2060bbe6cf44 -r 0e779982f8ba src/model.js
--- a/src/model.js Sat Apr 18 17:20:57 2020 +0200
+++ b/src/model.js Sun Apr 19 13:11:48 2020 +0200
@@ -181,10 +181,13 @@
}
return record;
};
- array.remove = function(record, remove, modified, force_remove) {
+ array.remove = function(record, remove, modified, force_remove,
signal) {
if (modified === undefined) {
modified = true;
}
+ if (signal === undefined) {
+ signal = true;
+ }
var idx = this.indexOf(record);
if (record.id >= 0) {
if (remove) {
@@ -210,7 +213,9 @@
if ((record.id < 0) || force_remove) {
this._remove(record);
}
- record.group.changed();
+ if (signal) {
+ record.group.changed();
+ }
};
array._remove = function(record) {
var idx = this.indexOf(record);
@@ -2059,7 +2064,7 @@
for (var i = 0, len = group.length; i < len; i++) {
var old_record = group[i];
if (!~value.indexOf(old_record.id)) {
- group.remove(old_record, true);
+ group.remove(old_record, true, true, false, false);
}
}
group.load(value, modified);
@@ -2239,7 +2244,7 @@
value.delete.forEach(function(record_id) {
var record2 = group.get(record_id);
if (record2) {
- group.remove(record2, false, true, false);
+ group.remove(record2, false, true, false, false);
}
}.bind(this));
}
@@ -2247,7 +2252,7 @@
value.remove.forEach(function(record_id) {
var record2 = group.get(record_id);
if (record2) {
- group.remove(record2, true, true, false);
+ group.remove(record2, true, true, false, false);
}
}.bind(this));
}