From e4e2298ad69fef344a56eb4c71a9f370c6d297b3 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 25 Oct 2016 10:17:58 -0400 Subject: [PATCH] Fix TagReference not updating (closes #3521) --- modules/ui/entity_editor.js | 21 +++++++++++++++------ modules/ui/tag_reference.js | 12 +++++++----- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/modules/ui/entity_editor.js b/modules/ui/entity_editor.js index a57dffab6..ad10e4768 100644 --- a/modules/ui/entity_editor.js +++ b/modules/ui/entity_editor.js @@ -34,9 +34,11 @@ export function uiEntityEditor(context) { var entity = context.entity(id), tags = _.clone(entity.tags); + // Header var header = selection.selectAll('.header') .data([0]); + // Enter var enter = header.enter() .append('div') .attr('class', 'header fillL cf'); @@ -44,7 +46,6 @@ export function uiEntityEditor(context) { enter .append('button') .attr('class', 'fl preset-reset preset-choose') - .on('click', function() { dispatch.call('choose', this, activePreset); }) .append('span') .html((textDirection === 'rtl') ? '►' : '◄'); @@ -58,10 +59,19 @@ export function uiEntityEditor(context) { .append('h3') .text(t('inspector.edit')); + // Update + header = header + .merge(enter); + header.selectAll('.preset-reset') + .on('click', function() { dispatch.call('choose', this, activePreset); }); + + + // Body var body = selection.selectAll('.inspector-body') .data([0]); + // Enter enter = body.enter() .append('div') .attr('class', 'inspector-body'); @@ -73,10 +83,7 @@ export function uiEntityEditor(context) { .attr('class', 'preset-list-button-wrap') .append('button') .attr('class', 'preset-list-button preset-reset') - .on('click', function() { dispatch.call('choose', this, activePreset); }) - .call(tooltip() - .title(t('inspector.back_tooltip')) - .placement('bottom')) + .call(tooltip().title(t('inspector.back_tooltip')).placement('bottom')) .append('div') .attr('class', 'label'); @@ -96,7 +103,6 @@ export function uiEntityEditor(context) { .append('div') .attr('class', 'raw-membership-editor inspector-inner'); - // Update body = body .merge(enter); @@ -107,6 +113,9 @@ export function uiEntityEditor(context) { body.selectAll('.preset-list-item') .call(reference.body); + body.selectAll('.preset-reset') + .on('click', function() { dispatch.call('choose', this, activePreset); }); + body.select('.preset-list-item button') .call(uiPresetIcon() .geometry(context.geometry(id)) diff --git a/modules/ui/tag_reference.js b/modules/ui/tag_reference.js index 6598e095f..3efa40954 100644 --- a/modules/ui/tag_reference.js +++ b/modules/ui/tag_reference.js @@ -122,6 +122,12 @@ export function uiTagReference(tag) { button = button.enter() .append('button') + .attr('class', 'tag-reference-button') + .attr('tabindex', -1) + .call(svgIcon('#icon-inspect')) + .merge(button); + + button .on('click', function () { d3.event.stopPropagation(); d3.event.preventDefault(); @@ -132,11 +138,7 @@ export function uiTagReference(tag) { } else { load(tag); } - }) - .attr('class', 'tag-reference-button') - .attr('tabindex', -1) - .call(svgIcon('#icon-inspect')) - .merge(button); + }); };