diff --git a/vendor/assets/iD/iD.js b/vendor/assets/iD/iD.js index 9e36a035ea..6cc2008081 100644 --- a/vendor/assets/iD/iD.js +++ b/vendor/assets/iD/iD.js @@ -54819,6 +54819,8 @@ var loc = extent.center(); context.map().centerEase(loc); + // we could enter the mode multiple times, so reset follow for next time + _follow = false; } @@ -89867,7 +89869,7 @@ _base = context.graph(); _coalesceChanges = false; - loadActivePresets(); + loadActivePresets(true); return entityEditor .modified(false); @@ -89881,7 +89883,7 @@ }; - function loadActivePresets() { + function loadActivePresets(isForNewSelection) { var graph = context.graph(); @@ -89903,11 +89905,14 @@ return _mainPresetIndex.item(pID); }); - // A "weak" preset doesn't set any tags. (e.g. "Address") - var weakPreset = _activePresets.length === 1 && - Object.keys(_activePresets[0].addTags || {}).length === 0; - // Don't replace a weak preset with a fallback preset (e.g. "Point") - if (weakPreset && matches.length === 1 && matches[0].isFallback()) { return; } + if (!isForNewSelection) { + // A "weak" preset doesn't set any tags. (e.g. "Address") + var weakPreset = _activePresets.length === 1 && + !_activePresets[0].isFallback() && + Object.keys(_activePresets[0].addTags || {}).length === 0; + // Don't replace a weak preset with a fallback preset (e.g. "Point") + if (weakPreset && matches.length === 1 && matches[0].isFallback()) { return; } + } entityEditor.presets(matches); } @@ -117386,10 +117391,14 @@ // some targets have default click events we don't want to override var isOkayTarget = event.composedPath().some(function(node) { - // clicking