From 7235632a6304ce1916c4b60e56a61518e4842a7c Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Fri, 1 Feb 2013 15:13:44 -0500 Subject: [PATCH] Update logic for multi-select --- js/id/modes/select.js | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/js/id/modes/select.js b/js/id/modes/select.js index 36066d7d0..02db6a57f 100644 --- a/js/id/modes/select.js +++ b/js/id/modes/select.js @@ -82,21 +82,22 @@ iD.modes.Select = function(context, selection, initial) { inspector .on('changeTags', changeTags) .on('close', function() { context.enter(iD.modes.Browse(context)); }); + } - context.history().on('change.select', function() { + context.history().on('change.select', function() { + context.surface().call(radialMenu.close); + + if (_.any(selection, function (id) { return !context.entity(id); })) { // Exit mode if selected entity gets undone - var oldEntity = entity, - newEntity = context.entity(selection[0]); + context.enter(iD.modes.Browse(context)); - if (!newEntity) { - context.enter(iD.modes.Browse(context)); - } else if (!_.isEqual(oldEntity.tags, newEntity.tags)) { + } else if (entity) { + var newEntity = context.entity(selection[0]); + if (!_.isEqual(entity.tags, newEntity.tags)) { inspector.tags(newEntity.tags); } - - context.surface().call(radialMenu.close); - }); - } + } + }); context.map().on('move.select', function() { context.surface().call(radialMenu.close);