mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-15 21:48:20 +02:00
Fix handling of semicolon delimited values in numeric field
(closes #5438)
This commit is contained in:
@@ -98,7 +98,12 @@ export function uiFieldText(field, context) {
|
||||
.merge(buttons)
|
||||
.on('click', function(d) {
|
||||
d3_event.preventDefault();
|
||||
input.node().value = parsed(input.node().value) + d;
|
||||
var vals = input.node().value.split(';');
|
||||
vals = vals.map(function(v) {
|
||||
var num = parseFloat(v.trim(), 10);
|
||||
return isFinite(num) ? clamped(num + d) : v.trim();
|
||||
});
|
||||
input.node().value = vals.join(';');
|
||||
change()();
|
||||
});
|
||||
|
||||
@@ -117,12 +122,6 @@ export function uiFieldText(field, context) {
|
||||
}
|
||||
|
||||
|
||||
// parse as a number
|
||||
function parsed(val) {
|
||||
return parseFloat(val || 0, 10) || 0;
|
||||
}
|
||||
|
||||
|
||||
// clamp number to min/max
|
||||
function clamped(num) {
|
||||
if (field.minValue !== undefined) {
|
||||
@@ -142,7 +141,12 @@ export function uiFieldText(field, context) {
|
||||
|
||||
if (!onInput) {
|
||||
if (field.type === 'number' && val !== undefined) {
|
||||
val = clamped(parsed(val)) + '';
|
||||
var vals = val.split(';');
|
||||
vals = vals.map(function(v) {
|
||||
var num = parseFloat(v.trim(), 10);
|
||||
return isFinite(num) ? clamped(num) : v.trim();
|
||||
});
|
||||
val = vals.join(';');
|
||||
}
|
||||
utilGetSetValue(input, val || '');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user