commit 98450fa: [WebUI] Refine symbols score input boxes

moisseev moiseev at mezonplus.ru
Mon Jul 29 17:49:32 UTC 2024


Author: moisseev
Date: 2023-12-03 16:45:14 +0300
URL: https://github.com/rspamd/rspamd/commit/98450fac86ac23f420a3a19e4cefec71c34cc2ee

[WebUI] Refine symbols score input boxes
- reduce the minimum number of digits to appear after the decimal from 3 to 2
- remove useless dynamic step
- remove useless dynamic min/max restrictions

---
 .eslintrc.json              |  1 -
 interface/js/app/symbols.js | 24 ++++++++----------------
 2 files changed, 8 insertions(+), 17 deletions(-)

diff --git a/.eslintrc.json b/.eslintrc.json
index f76a38e21..49bb81dcf 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -66,7 +66,6 @@
         "max-lines": "off",
         "max-lines-per-function": "off",
         "no-invalid-this": "off",
-        "prefer-exponentiation-operator": "off",
         "sort-keys": "off",
 
         "@stylistic/function-paren-newline": "off"
diff --git a/interface/js/app/symbols.js b/interface/js/app/symbols.js
index 5c51c28f4..d35715188 100644
--- a/interface/js/app/symbols.js
+++ b/interface/js/app/symbols.js
@@ -53,10 +53,7 @@ define(["jquery", "app/rspamd", "footable"],
                 server: server
             });
         }
-        function decimalStep(number) {
-            const digits = Number(number).toFixed(20).replace(/^-?\d*\.?|0+$/g, "").length;
-            return (digits === 0 || digits > 4) ? 0.1 : 1.0 / Math.pow(10, digits);
-        }
+
         function process_symbols_data(data) {
             const items = [];
             const lookup = {};
@@ -66,15 +63,12 @@ define(["jquery", "app/rspamd", "footable"],
 
             data.forEach((group) => {
                 group.rules.forEach((item) => {
-                    let max = 20;
-                    let min = -20;
-                    if (item.weight > max) {
-                        max = item.weight * 2;
-                    }
+                    const formatter = new Intl.NumberFormat("en", {
+                        minimumFractionDigits: 2,
+                        maximumFractionDigits: 6,
+                        useGrouping: false
+                    });
                     item.group = group.group;
-                    if (item.weight < min) {
-                        min = item.weight * 2;
-                    }
                     let label_class = "";
                     if (item.weight < 0) {
                         label_class = "scorebar-ham";
@@ -82,10 +76,8 @@ define(["jquery", "app/rspamd", "footable"],
                         label_class = "scorebar-spam";
                     }
                     item.weight = "<input class=\"form-control input-sm mb-disabled " + label_class +
-                    "\" data-role=\"numerictextbox\" autocomplete=\"off\" type=\"number\" class=\"input\" min=\"" +
-                    min + "\" max=\"" +
-                    max + "\" step=\"" + decimalStep(item.weight) +
-                    "\" tabindex=\"1\" value=\"" + Number(item.weight).toFixed(3) +
+                    "\" data-role=\"numerictextbox\" autocomplete=\"off\" type=\"number\"" +
+                    " step=\"0.01\" tabindex=\"1\" value=\"" + formatter.format(item.weight) +
                     "\" id=\"_sym_" + item.symbol + "\"></input>";
                     if (!item.time) {
                         item.time = 0;


More information about the Commits mailing list