mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-16 13:59:27 +02:00
accept raw number input also for roadspeed/roadheight fields
This commit is contained in:
@@ -19,9 +19,11 @@ export {
|
||||
uiFieldText as uiFieldIdentifier,
|
||||
uiFieldText as uiFieldNumber,
|
||||
uiFieldText as uiFieldTel,
|
||||
uiFieldText as uiFieldUrl
|
||||
uiFieldText as uiFieldUrl,
|
||||
likelyRawNumberFormat
|
||||
};
|
||||
|
||||
const likelyRawNumberFormat = /^-?(0\.\d*|\d*\.\d{0,2}(\d{4,})?|\d{4,}\.\d{3})$/;
|
||||
|
||||
export function uiFieldText(field, context) {
|
||||
var dispatch = d3_dispatch('change');
|
||||
@@ -36,7 +38,6 @@ export function uiFieldText(field, context) {
|
||||
const formatFloat = localizer.floatFormatter(localizer.languageCode());
|
||||
const parseLocaleFloat = localizer.floatParser(localizer.languageCode());
|
||||
const countDecimalPlaces = localizer.decimalPlaceCounter(localizer.languageCode());
|
||||
const likelyRawNumberFormat = /^-?(0\.\d*|\d*\.\d{0,2}(\d{4,})?|\d{4,}\.\d{3})$/;
|
||||
|
||||
if (field.type === 'tel') {
|
||||
fileFetcher.get('phone_formats')
|
||||
|
||||
@@ -5,6 +5,7 @@ import * as countryCoder from '@rapideditor/country-coder';
|
||||
import { uiCombobox } from '../combobox';
|
||||
import { t, localizer } from '../../core/localizer';
|
||||
import { utilGetSetValue, utilNoAuto, utilRebind, utilTotalExtent } from '../../util';
|
||||
import { likelyRawNumberFormat } from './input';
|
||||
|
||||
|
||||
export function uiFieldRoadheight(field, context) {
|
||||
@@ -132,9 +133,13 @@ export function uiFieldRoadheight(field, context) {
|
||||
if (!primaryValue && !secondaryValue) {
|
||||
tag[field.key] = undefined;
|
||||
} else {
|
||||
var rawPrimaryValue = parseLocaleFloat(primaryValue);
|
||||
var rawPrimaryValue = likelyRawNumberFormat.test(primaryValue)
|
||||
? parseFloat(primaryValue)
|
||||
: parseLocaleFloat(primaryValue);
|
||||
if (isNaN(rawPrimaryValue)) rawPrimaryValue = primaryValue;
|
||||
var rawSecondaryValue = parseLocaleFloat(secondaryValue);
|
||||
var rawSecondaryValue = likelyRawNumberFormat.test(secondaryValue)
|
||||
? parseFloat(secondaryValue)
|
||||
: parseLocaleFloat(secondaryValue);
|
||||
if (isNaN(rawSecondaryValue)) rawSecondaryValue = secondaryValue;
|
||||
|
||||
if (isNaN(rawPrimaryValue) || isNaN(rawSecondaryValue) || !_isImperial) {
|
||||
|
||||
@@ -5,6 +5,7 @@ import * as countryCoder from '@rapideditor/country-coder';
|
||||
import { uiCombobox } from '../combobox';
|
||||
import { t, localizer } from '../../core/localizer';
|
||||
import { utilGetSetValue, utilNoAuto, utilRebind, utilTotalExtent } from '../../util';
|
||||
import { likelyRawNumberFormat } from './input';
|
||||
|
||||
|
||||
export function uiFieldRoadspeed(field, context) {
|
||||
@@ -109,7 +110,9 @@ export function uiFieldRoadspeed(field, context) {
|
||||
if (!value) {
|
||||
tag[field.key] = undefined;
|
||||
} else {
|
||||
var rawValue = parseLocaleFloat(value);
|
||||
var rawValue = likelyRawNumberFormat.test(value)
|
||||
? parseFloat(value)
|
||||
: parseLocaleFloat(value);
|
||||
if (isNaN(rawValue)) rawValue = value;
|
||||
if (isNaN(rawValue) || !_isImperial) {
|
||||
tag[field.key] = context.cleanTagValue(rawValue);
|
||||
|
||||
Reference in New Issue
Block a user