details:   https://code.tryton.org/tryton/commit/376e7f11ecec
branch:    default
user:      Cédric Krier <[email protected]>
date:      Mon Aug 11 18:06:38 2025 +0200
description:
        Use the default digit values to calculate the width for float widget

        Closes #14153
diffstat:

 sao/src/view/form.js                                      |  16 +++++++-------
 tryton/tryton/gui/window/view_form/view/form_gtk/float.py |   7 +----
 2 files changed, 10 insertions(+), 13 deletions(-)

diffs (43 lines):

diff -r cd8a0670dd5c -r 376e7f11ecec sao/src/view/form.js
--- a/sao/src/view/form.js      Thu Nov 27 01:14:59 2025 +0100
+++ b/sao/src/view/form.js      Mon Aug 11 18:06:38 2025 +0200
@@ -2205,14 +2205,14 @@
             }
         },
         get width() {
-            var digits = this.digits;
-            if (digits && digits.every(d => d !== null)) {
-                return digits.reduce(function(acc, cur) {
-                    return acc + cur;
-                });
-            } else {
-                return this.attributes.width || 18;
-            }
+            let default_ = [16, 2];
+            let digits = this.digits || [null, null];
+            return digits.reduce((acc, cur, i) => {
+                if (cur === null) {
+                    cur = default_[i];
+                }
+                return acc + cur;
+            }, 0);
         },
         display: function() {
             var record = this.record;
diff -r cd8a0670dd5c -r 376e7f11ecec 
tryton/tryton/gui/window/view_form/view/form_gtk/float.py
--- a/tryton/tryton/gui/window/view_form/view/form_gtk/float.py Thu Nov 27 
01:14:59 2025 +0100
+++ b/tryton/tryton/gui/window/view_form/view/form_gtk/float.py Mon Aug 11 
18:06:38 2025 +0200
@@ -13,11 +13,8 @@
 
     @property
     def width(self):
-        digits = self.digits
-        if digits and all(d is not None for d in digits):
-            return sum(digits)
-        else:
-            return self.attrs.get('width', 18)
+        digits = self.digits or [None, None]
+        return sum(v if v is not None else d for v, d in zip(digits, [16, 2]))
 
     def display(self):
         self.entry.digits = self.digits

Reply via email to