link map contains also backward references and tree map contains parents as well, closes #2270

This commit is contained in:
zadam 2021-11-01 21:11:16 +01:00
parent 21dedff9bf
commit a9df0c485f

View File

@ -31,8 +31,13 @@ function getNeighbors(note, depth) {
const retNoteIds = []; const retNoteIds = [];
function isIgnoredRelation(relation) {
return ['relationMapLink', 'template', 'image'].includes(relation.name);
}
// forward links
for (const relation of note.getRelations()) { for (const relation of note.getRelations()) {
if (['relationMapLink', 'template', 'image'].includes(relation.name)) { if (isIgnoredRelation(relation)) {
continue; continue;
} }
@ -44,6 +49,20 @@ function getNeighbors(note, depth) {
} }
} }
// backward links
for (const relation of note.getTargetRelations()) {
if (isIgnoredRelation(relation)) {
continue;
}
const sourceNote = relation.getNote();
retNoteIds.push(sourceNote.noteId);
for (const noteId of getNeighbors(sourceNote, depth - 1)) {
retNoteIds.push(noteId);
}
}
return retNoteIds; return retNoteIds;
} }
@ -125,6 +144,7 @@ function getTreeMap(req) {
return !note.getParentNotes().find(parentNote => parentNote.noteId === imageLinkRelation.noteId); return !note.getParentNotes().find(parentNote => parentNote.noteId === imageLinkRelation.noteId);
}) })
.concat(...mapRootNote.getParentNotes())
.map(note => [ .map(note => [
note.noteId, note.noteId,
note.isContentAvailable() ? note.title : '[protected]', note.isContentAvailable() ? note.title : '[protected]',