changeset 94df93f62ead in sao:default
details: https://hg.tryton.org/sao?cmd=changeset&node=94df93f62ead
description:
        Use for...in to iterate over field names from the list of values

        The elements of list of values are objects.
        Also we can use a Set instead of an object to build the unique list of 
field
        names.

        issue11415
        review407291002
diffstat:

 src/model.js |  10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diffs (29 lines):

diff -r 2089f4eda8cc -r 94df93f62ead src/model.js
--- a/src/model.js      Tue Apr 19 23:17:51 2022 +0200
+++ b/src/model.js      Tue Apr 19 23:40:08 2022 +0200
@@ -2107,20 +2107,20 @@
             }
             if (mode == 'list values') {
                 var context = this.get_context(record);
-                var field_names = {};
+                let field_names = new Set();
                 for (const val of value) {
-                    for (var fieldname of val) {
+                    for (const fieldname in val) {
                         if (!(fieldname in group.model.fields) &&
                                 (!~fieldname.indexOf('.'))) {
-                            field_names[fieldname] = true;
+                            field_names.add(fieldname);
                         }
                     }
                 }
-                if (!jQuery.isEmptyObject(field_names)) {
+                if (field_names.size) {
                     var args = {
                         'method': 'model.' + this.description.relation +
                             '.fields_get',
-                        'params': [Object.keys(field_names), context]
+                        'params': [Array.from(field_names), context]
                     };
                     var fields;
                     try {

Reply via email to