Include relation members when forcing relations visible in all cases, not just selection (re: 6eeaf94076)

This commit is contained in:
Quincy Morgan
2019-05-01 11:08:52 -07:00
parent 21dc6fe500
commit 907df1c10e
2 changed files with 8 additions and 12 deletions

View File

@@ -233,18 +233,7 @@ export function modeSelect(context, selectedIDs) {
mode.enter = function() {
if (!checkSelectedIDs()) return;
var forceVisibleIDs = selectedIDs.slice();
selectedIDs.forEach(function(id) {
var entity = context.entity(id);
if (entity.type === 'relation') {
forceVisibleIDs = forceVisibleIDs.concat(entity.members.map(function(member) {
return member.id;
}));
}
});
context.features().forceVisible(forceVisibleIDs);
context.features().forceVisible(selectedIDs);
var operations = Object.values(Operations)
.map(function(o) { return o(selectedIDs, context); })

View File

@@ -511,6 +511,13 @@ export function rendererFeatures(context) {
_forceVisible = {};
for (var i = 0; i < entityIDs.length; i++) {
_forceVisible[entityIDs[i]] = true;
var entity = context.hasEntity(entityIDs[i]);
if (entity && entity.type === 'relation') {
// also show relation members (one level deep)
for (var j in entity.members) {
_forceVisible[entity.members[j].id] = true;
}
}
}
return features;
};