mirror of
https://github.com/zadam/trilium.git
synced 2025-06-06 18:08:33 +02:00
fixed corner cases in becca updates from sync
This commit is contained in:
parent
89d28ef27c
commit
f9cfd134b7
@ -60,25 +60,31 @@ eventService.subscribe([eventService.ENTITY_CHANGED, eventService.ENTITY_CHANGE_
|
||||
}
|
||||
});
|
||||
|
||||
eventService.subscribe([eventService.ENTITY_DELETED, eventService.ENTITY_DELETE_SYNCED], ({entityName, entity}) => {
|
||||
eventService.subscribe([eventService.ENTITY_DELETED, eventService.ENTITY_DELETE_SYNCED], ({entityName, entityId}) => {
|
||||
if (!becca.loaded) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (entityName === 'notes') {
|
||||
noteDeleted(entity);
|
||||
noteDeleted(entityId);
|
||||
} else if (entityName === 'branches') {
|
||||
branchDeleted(entity);
|
||||
branchDeleted(entityId);
|
||||
} else if (entityName === 'attributes') {
|
||||
attributeDeleted(entity);
|
||||
attributeDeleted(entityId);
|
||||
}
|
||||
});
|
||||
|
||||
function noteDeleted(note) {
|
||||
delete becca.notes[note.noteId];
|
||||
function noteDeleted(noteId) {
|
||||
delete becca.notes[noteId];
|
||||
}
|
||||
|
||||
function branchDeleted(branch) {
|
||||
function branchDeleted(branchId) {
|
||||
const branch = becca.branches[branchId];
|
||||
|
||||
if (!branch) {
|
||||
return;
|
||||
}
|
||||
|
||||
const childNote = becca.notes[branch.noteId];
|
||||
|
||||
if (childNote) {
|
||||
@ -110,7 +116,13 @@ function branchUpdated(branch) {
|
||||
}
|
||||
}
|
||||
|
||||
function attributeDeleted(attribute) {
|
||||
function attributeDeleted(attributeId) {
|
||||
const attribute = becca.attributes[attributeId];
|
||||
|
||||
if (!attribute) {
|
||||
return;
|
||||
}
|
||||
|
||||
const note = becca.notes[attribute.noteId];
|
||||
|
||||
if (note) {
|
||||
|
@ -110,7 +110,7 @@ class AbstractEntity {
|
||||
|
||||
this.addEntityChange(true);
|
||||
|
||||
eventService.emit(eventService.ENTITY_DELETED, { entityName, entity: this });
|
||||
eventService.emit(eventService.ENTITY_DELETED, { entityName, entityId, entity: this });
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -26,14 +26,14 @@ function updateEntity(entityChange, entity) {
|
||||
? updateNoteReordering(entityChange, entity)
|
||||
: updateNormalEntity(entityChange, entity);
|
||||
|
||||
if (updated && !entityChange.isErased) {
|
||||
if (updated) {
|
||||
if (entity.isDeleted) {
|
||||
eventService.emit(eventService.ENTITY_DELETE_SYNCED, {
|
||||
entityName: entityChange.entityName,
|
||||
entityId: entityChange.entityId
|
||||
});
|
||||
}
|
||||
else {
|
||||
else if (!entityChange.isErased) {
|
||||
eventService.emit(eventService.ENTITY_CHANGE_SYNCED, {
|
||||
entityName: entityChange.entityName,
|
||||
entity
|
||||
|
Loading…
x
Reference in New Issue
Block a user