[JS] Correctly format field with numbers (bug 1811694, bug 1811510)

In PR #15757, a value is automatically converted into a number when it's possible
but the case of numbers like "000123" has been overlooked and their format must
be preserved.
When a script is doing something like "foo.value + bar.value" and the values are
numbers then "foo.value" must return a number but the displayed value must be what
the user entered or what a script set, so this patch is just adding a a field
_orginalValue in order to track the value has it has defined.
Some people are used to use a comma as decimal separator, hence it must be considered
when a value is parsed into a number.
This patch is fixing a regression introduced by #15757.
This commit is contained in:
Calixte Denizet 2023-01-26 13:04:48 +01:00
parent 1b1ebf6a77
commit 6f4d037a8e
8 changed files with 95 additions and 9 deletions

View file

@ -346,7 +346,7 @@ describe("Scripting", function () {
expect(send_queue.has(refId)).toEqual(true);
expect(send_queue.get(refId)).toEqual({
id: refId,
value: 123,
value: "123",
});
});
@ -826,7 +826,7 @@ describe("Scripting", function () {
expect(send_queue.get(refId)).toEqual({
id: refId,
siblings: null,
value: 123456.789,
value: "123456.789",
formattedValue: null,
});
});
@ -1006,7 +1006,7 @@ describe("Scripting", function () {
expect(send_queue.get(refId)).toEqual({
id: refId,
siblings: null,
value: 321,
value: "321",
formattedValue: null,
});
});