From 7299ccdcb584826327e13ff01fbece42ab02ceec Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Fri, 22 Mar 2013 15:08:24 -0700 Subject: [PATCH] Inline reference for preset fields (#256) --- js/id/ui/preset.js | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/js/id/ui/preset.js b/js/id/ui/preset.js index 062a94b8c..2333771c3 100644 --- a/js/id/ui/preset.js +++ b/js/id/ui/preset.js @@ -68,20 +68,33 @@ iD.ui.preset = function(context, entity) { return 'preset-field preset-field-' + field.id + ' fillL inspector-inner col12'; }); - sections.append('label') + var label = sections.append('label') .attr('class', 'preset-label') .attr('for', function(field) { return 'preset-input-' + field.id; }) - .text(function(field) { return field.label(); }) - .append('button') - .attr('class', 'fr icon undo modified-icon') - .on('click', function(field) { - var original = context.graph().base().entities[entity.id]; - var t = {}; - (field.keys || [field.key]).forEach(function(key) { - t[key] = original ? original.tags[key] : undefined; - }); - event.change(t); + .text(function(field) { return field.label(); }); + + label.append('button') + .attr('class', 'fr icon undo modified-icon') + .on('click', function(field) { + var original = context.graph().base().entities[entity.id]; + var t = {}; + (field.keys || [field.key]).forEach(function(key) { + t[key] = original ? original.tags[key] : undefined; }); + event.change(t); + }); + + label.append('button') + .attr('class', 'fr icon inspect') + .on('click', function(field) { + selection.selectAll('div.tag-help') + .style('display', 'none'); + + d3.select(d3.select(this).node().parentNode.parentNode) + .select('div.tag-help') + .style('display', 'block') + .call(iD.ui.TagReference(entity, {key: field.key})); + }); sections.transition() .style('opacity', 1); @@ -101,6 +114,9 @@ iD.ui.preset = function(context, entity) { d3.select(this).call(i); }); + + sections.append('div') + .attr('class', 'tag-help'); } presets.rendered = function() {