Fix issue where inspector may not update correctly when switching between weak and fallback presets (close #7827)

This commit is contained in:
Quincy Morgan
2020-07-22 11:18:05 -04:00
parent 964c2e6b12
commit 293971da34
+10 -7
View File
@@ -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);
}