mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-15 13:38:26 +02:00
Fix issue where inspector may not update correctly when switching between weak and fallback presets (close #7827)
This commit is contained in:
@@ -295,7 +295,7 @@ export function uiEntityEditor(context) {
|
||||
_base = context.graph();
|
||||
_coalesceChanges = false;
|
||||
|
||||
loadActivePresets();
|
||||
loadActivePresets(true);
|
||||
|
||||
return entityEditor
|
||||
.modified(false);
|
||||
@@ -309,7 +309,7 @@ export function uiEntityEditor(context) {
|
||||
};
|
||||
|
||||
|
||||
function loadActivePresets() {
|
||||
function loadActivePresets(isForNewSelection) {
|
||||
|
||||
var graph = context.graph();
|
||||
|
||||
@@ -331,11 +331,14 @@ export function uiEntityEditor(context) {
|
||||
return presetManager.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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user