mirror of
https://github.com/zadam/trilium.git
synced 2025-03-01 14:22:32 +01:00
updating data model after change parent of the note
This commit is contained in:
parent
cf7ab2b8d6
commit
42dfbaa986
@ -93,6 +93,15 @@ const noteTree = (function() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function removeParentChildRelation(parentNoteId, childNoteId) {
|
||||||
|
const key = parentNoteId + "-" + childNoteId;
|
||||||
|
|
||||||
|
delete parentChildToNoteTreeId[key];
|
||||||
|
|
||||||
|
parentToChildren[parentNoteId] = parentToChildren[parentNoteId].filter(noteId => noteId !== childNoteId);
|
||||||
|
childToParents[childNoteId] = childToParents[childNoteId].filter(noteId => noteId !== parentNoteId);
|
||||||
|
}
|
||||||
|
|
||||||
function setParentChildRelation(noteTreeId, parentNoteId, childNoteId) {
|
function setParentChildRelation(noteTreeId, parentNoteId, childNoteId) {
|
||||||
const key = parentNoteId + "-" + childNoteId;
|
const key = parentNoteId + "-" + childNoteId;
|
||||||
|
|
||||||
@ -653,6 +662,8 @@ const noteTree = (function() {
|
|||||||
createNewTopLevelNote,
|
createNewTopLevelNote,
|
||||||
createNote,
|
createNote,
|
||||||
setPrefix,
|
setPrefix,
|
||||||
getNotePathTitle
|
getNotePathTitle,
|
||||||
|
removeParentChildRelation,
|
||||||
|
setParentChildRelation
|
||||||
};
|
};
|
||||||
})();
|
})();
|
@ -4,17 +4,13 @@ const treeChanges = (function() {
|
|||||||
async function moveBeforeNode(node, beforeNode) {
|
async function moveBeforeNode(node, beforeNode) {
|
||||||
await server.put('notes/' + node.data.note_tree_id + '/move-before/' + beforeNode.data.note_tree_id);
|
await server.put('notes/' + node.data.note_tree_id + '/move-before/' + beforeNode.data.note_tree_id);
|
||||||
|
|
||||||
node.moveTo(beforeNode, 'before');
|
changeNode(node, node => node.moveTo(beforeNode, 'before'));
|
||||||
|
|
||||||
noteTree.setCurrentNotePathToHash(node);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function moveAfterNode(node, afterNode) {
|
async function moveAfterNode(node, afterNode) {
|
||||||
await server.put('notes/' + node.data.note_tree_id + '/move-after/' + afterNode.data.note_tree_id);
|
await server.put('notes/' + node.data.note_tree_id + '/move-after/' + afterNode.data.note_tree_id);
|
||||||
|
|
||||||
node.moveTo(afterNode, 'after');
|
changeNode(node, node => node.moveTo(afterNode, 'after'));
|
||||||
|
|
||||||
noteTree.setCurrentNotePathToHash(node);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// beware that first arg is noteId and second is noteTreeId!
|
// beware that first arg is noteId and second is noteTreeId!
|
||||||
@ -32,14 +28,14 @@ const treeChanges = (function() {
|
|||||||
async function moveToNode(node, toNode) {
|
async function moveToNode(node, toNode) {
|
||||||
await server.put('notes/' + node.data.note_tree_id + '/move-to/' + toNode.data.note_id);
|
await server.put('notes/' + node.data.note_tree_id + '/move-to/' + toNode.data.note_id);
|
||||||
|
|
||||||
node.moveTo(toNode);
|
changeNode(node, node => {
|
||||||
|
node.moveTo(toNode);
|
||||||
|
|
||||||
toNode.setExpanded(true);
|
toNode.setExpanded(true);
|
||||||
|
|
||||||
toNode.folder = true;
|
toNode.folder = true;
|
||||||
toNode.renderTitle();
|
toNode.renderTitle();
|
||||||
|
});
|
||||||
noteTree.setCurrentNotePathToHash(node);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function cloneNoteTo(childNoteId, parentNoteId) {
|
async function cloneNoteTo(childNoteId, parentNoteId) {
|
||||||
@ -96,7 +92,17 @@ const treeChanges = (function() {
|
|||||||
node.getParent().renderTitle();
|
node.getParent().renderTitle();
|
||||||
}
|
}
|
||||||
|
|
||||||
node.moveTo(node.getParent(), 'after');
|
changeNode(node, node => node.moveTo(node.getParent(), 'after'));
|
||||||
|
}
|
||||||
|
|
||||||
|
function changeNode(node, func) {
|
||||||
|
noteTree.removeParentChildRelation(node.data.note_pid, node.data.note_id);
|
||||||
|
|
||||||
|
func(node);
|
||||||
|
|
||||||
|
node.data.note_pid = node.getParent() === null ? 'root' : node.getParent().data.note_id;
|
||||||
|
|
||||||
|
noteTree.setParentChildRelation(node.data.note_tree_id, node.data.note_pid, node.data.note_id);
|
||||||
|
|
||||||
noteTree.setCurrentNotePathToHash(node);
|
noteTree.setCurrentNotePathToHash(node);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user