From 257d3e07df8b1a1c5138fdd7cf105e32ce870e0f Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Fri, 13 Jun 2014 10:34:28 -0700 Subject: [PATCH] number -> housenumber --- css/app.css | 2 +- data/address-formats.json | 6 ++-- data/presets.yaml | 3 +- data/presets/fields.json | 4 ++- data/presets/fields/address.json | 2 +- dist/locales/en.json | 3 +- js/id/ui/preset/address.js | 55 +++++++++++++------------------- 7 files changed, 34 insertions(+), 41 deletions(-) diff --git a/css/app.css b/css/app.css index 7884d6ee1..8ddefddf3 100644 --- a/css/app.css +++ b/css/app.css @@ -1526,7 +1526,7 @@ input[type=number] { width: 100%; } -.form-field .addr-number { +.form-field .addr-housenumber { width: 33.3333%; } diff --git a/data/address-formats.json b/data/address-formats.json index 5627800b3..04b0e3ae7 100644 --- a/data/address-formats.json +++ b/data/address-formats.json @@ -1,13 +1,13 @@ [ { - "format": [["number", "street"], ["city", "postcode"]] + "format": [["housenumber", "street"], ["city", "postcode"]] }, { "countryCodes": ["gb"], - "format": [["housename"], ["number", "street"], ["city", "postcode"]] + "format": [["housename"], ["housenumber", "street"], ["city", "postcode"]] }, { "countryCodes": ["at", "ch", "de"], - "format": [["street", "number"], ["postcode", "city"]] + "format": [["street", "housenumber"], ["postcode", "city"]] } ] diff --git a/data/presets.yaml b/data/presets.yaml index eadcd62ba..d9527b25d 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -55,7 +55,8 @@ en: address: label: Address placeholders: - number: "123" + housename: Housename + housenumber: "123" street: Street city: City postcode: Postal code diff --git a/data/presets/fields.json b/data/presets/fields.json index a40cfb894..e01101f13 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -63,6 +63,7 @@ "address": { "type": "address", "keys": [ + "addr:housename", "addr:housenumber", "addr:street", "addr:city", @@ -76,7 +77,8 @@ "label": "Address", "strings": { "placeholders": { - "number": "123", + "housename": "Housename", + "housenumber": "123", "street": "Street", "city": "City", "postcode": "Postal code" diff --git a/data/presets/fields/address.json b/data/presets/fields/address.json index 3ff722820..618545c8f 100644 --- a/data/presets/fields/address.json +++ b/data/presets/fields/address.json @@ -14,7 +14,7 @@ "strings": { "placeholders": { "housename": "Housename", - "number": "123", + "housenumber": "123", "street": "Street", "city": "City", "postcode": "Postal code" diff --git a/dist/locales/en.json b/dist/locales/en.json index 61fe5ce3a..1b8f526e7 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -488,7 +488,8 @@ "address": { "label": "Address", "placeholders": { - "number": "123", + "housename": "Housename", + "housenumber": "123", "street": "Street", "city": "City", "postcode": "Postal code" diff --git a/js/id/ui/preset/address.js b/js/id/ui/preset/address.js index b1743766c..455c8b0de 100644 --- a/js/id/ui/preset/address.js +++ b/js/id/ui/preset/address.js @@ -1,10 +1,6 @@ iD.ui.preset.address = function(field, context) { var event = d3.dispatch('init', 'change'), - housename, - housenumber, - street, - city, - postcode, + wrap, entity, isInitialized; @@ -91,15 +87,15 @@ iD.ui.preset.address = function(field, context) { } function address(selection) { - selection.selectAll('.preset-input-wrap').remove(); + selection.selectAll('.preset-input-wrap') + .remove(); - var wrap = selection.selectAll('.preset-input-wrap').data([0]), - center = entity.extent(context.graph()).center(), + var center = entity.extent(context.graph()).center(), addressFormat; // Enter - var enter = wrap.enter().append('div') + var enter = wrap = selection.append('div') .attr('class', 'preset-input-wrap'); iD.countryCode().search(center, function (err, countryCode) { @@ -122,25 +118,19 @@ iD.ui.preset.address = function(field, context) { // Update - housename = wrap.select('.addr-housename'); - housenumber = wrap.select('.addr-number'); - street = wrap.select('.addr-street'); - city = wrap.select('.addr-city'); - postcode = wrap.select('.addr-postcode'); - - street + wrap.selectAll('.addr-street') .call(d3.combobox() .fetcher(function(value, callback) { callback(getStreets()); })); - city + wrap.selectAll('.addr-city') .call(d3.combobox() .fetcher(function(value, callback) { callback(getCities()); })); - postcode + wrap.selectAll('.addr-postcode') .call(d3.combobox() .fetcher(function(value, callback) { callback(getPostCodes()); @@ -156,21 +146,21 @@ iD.ui.preset.address = function(field, context) { } function change() { - event.change({ - 'addr:housename': housename.value() || undefined, - 'addr:housenumber': housenumber.value() || undefined, - 'addr:street': street.value() || undefined, - 'addr:city': city.value() || undefined, - 'addr:postcode': postcode.value() || undefined - }); + var tags = {}; + + wrap.selectAll('input') + .each(function (field) { + tags['addr:' + field] = this.value || undefined; + }); + + event.change(tags); } function updateTags(tags) { - housename.value(tags['addr:housename'] || ''); - housenumber.value(tags['addr:housenumber'] || ''); - street.value(tags['addr:street'] || ''); - city.value(tags['addr:city'] || ''); - postcode.value(tags['addr:postcode'] || ''); + wrap.selectAll('input') + .value(function (field) { + return tags['addr:' + field] || ''; + }); } address.entity = function(_) { @@ -182,8 +172,7 @@ iD.ui.preset.address = function(field, context) { address.tags = function(tags) { if (isInitialized) { updateTags(tags); - } - else { + } else { event.on('init', function () { updateTags(tags); }); @@ -191,7 +180,7 @@ iD.ui.preset.address = function(field, context) { }; address.focus = function() { - housenumber.node().focus(); + wrap.selectAll('input').node().focus(); }; return d3.rebind(address, event, 'on');