diff --git a/src/public/app/widgets/note_tree.js b/src/public/app/widgets/note_tree.js index 61e3651af..ae57a20c7 100644 --- a/src/public/app/widgets/note_tree.js +++ b/src/public/app/widgets/note_tree.js @@ -624,6 +624,17 @@ export default class NoteTreeWidget extends TabAwareWidget { updateNode(node) { const note = treeCache.getNoteFromCache(node.data.noteId); const branch = treeCache.getBranch(node.data.branchId); + + if (!note) { + console.log(`Node update not possible because note ${node.data.noteId} was not found.`); + return; + } + + if (!branch) { + console.log(`Node update not possible because branch ${node.data.branchId} was not found.`); + return; + } + const title = (branch.prefix ? (branch.prefix + " - ") : "") + note.title; node.data.isProtected = note.isProtected; diff --git a/src/services/handlers.js b/src/services/handlers.js index 7947d90a1..473e5598d 100644 --- a/src/services/handlers.js +++ b/src/services/handlers.js @@ -148,19 +148,15 @@ eventService.subscribe(eventService.ENTITY_DELETED, ({ entityName, entity }) => processInverseRelations(entityName, entity, (definition, note, targetNote) => { // if one inverse attribute is deleted then the other should be deleted as well const relations = targetNote.getOwnedRelations(definition.inverseRelation); - let deletedSomething = false; for (const relation of relations) { if (relation.value === note.noteId) { + note.invalidateAttributeCache(); + targetNote.invalidateAttributeCache(); + relation.isDeleted = true; relation.save(); - - deletedSomething = true; } } - - if (deletedSomething) { - targetNote.invalidateAttributeCache(); - } }); });