From 4261fefc6ed9f384e102b263b777f6a3f01c1068 Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Sun, 11 May 2014 20:55:41 +0200 Subject: [PATCH] Fix inline tag help for fields that handle multiple tags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some preset fields like the access-restriction field manage multiple tags at once (access=*, foot=*, bicycle=*, …). Then iD wasn't able to show inline help when clicking the ⓘ button. This introduces a new parameter for these kind of fields: `referenceKey` determines the tag key which should be used to search taginfo documentation for. Fixes #2222. --- data/presets/fields.json | 2 ++ data/presets/fields/access.json | 1 + data/presets/fields/address.json | 1 + data/presets/schema/field.json | 4 ++++ js/id/ui/preset.js | 3 ++- 5 files changed, 10 insertions(+), 1 deletion(-) diff --git a/data/presets/fields.json b/data/presets/fields.json index a4aec1559..bbd21905b 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -7,6 +7,7 @@ "bicycle", "horse" ], + "referenceKey": "access", "type": "access", "label": "Access", "placeholder": "Unknown", @@ -65,6 +66,7 @@ "addr:city", "addr:postcode" ], + "referenceKey": "addr", "icon": "address", "universal": true, "label": "Address", diff --git a/data/presets/fields/access.json b/data/presets/fields/access.json index 6a52ff22a..2994b957d 100644 --- a/data/presets/fields/access.json +++ b/data/presets/fields/access.json @@ -1,5 +1,6 @@ { "keys": ["access", "foot", "motor_vehicle", "bicycle", "horse"], + "referenceKey": "access", "type": "access", "label": "Access", "placeholder": "Unknown", diff --git a/data/presets/fields/address.json b/data/presets/fields/address.json index 9951d8280..fd0188fe4 100644 --- a/data/presets/fields/address.json +++ b/data/presets/fields/address.json @@ -6,6 +6,7 @@ "addr:city", "addr:postcode" ], + "referenceKey": "addr", "icon": "address", "universal": true, "label": "Address", diff --git a/data/presets/schema/field.json b/data/presets/schema/field.json index b54d44a17..b07430635 100644 --- a/data/presets/schema/field.json +++ b/data/presets/schema/field.json @@ -14,6 +14,10 @@ "type": "string" } }, + "referenceKey": { + "description": "Tag key which should be used to get taginfo documentation for (to be used when a field manages multiple tags)", + "type": "string" + }, "type": { "description": "Type of field", "type": "string", diff --git a/js/id/ui/preset.js b/js/id/ui/preset.js index 7b7ffff54..80eb1fa6a 100644 --- a/js/id/ui/preset.js +++ b/js/id/ui/preset.js @@ -134,7 +134,8 @@ iD.ui.preset = function(context) { return field.present(); }) .each(function(field) { - var reference = iD.ui.TagReference({key: field.key}); + var key = field.referenceKey || field.key, + reference = iD.ui.TagReference({key: key}); if (state === 'hover') { reference.showing(false);