no need to reload whole subtree while moving notes

This commit is contained in:
zadam 2020-06-05 00:07:45 +02:00
parent e817acba4e
commit ad48b59893

View file

@ -970,7 +970,9 @@ export default class NoteTreeWidget extends TabAwareWidget {
const found = (parentNode.getChildren() || []).find(child => child.data.noteId === branch.noteId);
if (!found) {
noteIdsToReload.add(branch.parentNoteId);
parentNode.addChildren([await this.prepareNode(branch)]);
this.sortChildren(parentNode);
}
}
}
@ -992,16 +994,7 @@ export default class NoteTreeWidget extends TabAwareWidget {
for (const parentNoteId of loadResults.getNoteReorderings()) {
for (const node of this.getNodesByNoteId(parentNoteId)) {
if (node.isLoaded()) {
node.sortChildren((nodeA, nodeB) => {
const branchA = treeCache.branches[nodeA.data.branchId];
const branchB = treeCache.branches[nodeB.data.branchId];
if (!branchA || !branchB) {
return 0;
}
return branchA.notePosition - branchB.notePosition;
});
this.sortChildren(node);
}
}
}
@ -1047,6 +1040,19 @@ export default class NoteTreeWidget extends TabAwareWidget {
}
}
sortChildren(node) {
node.sortChildren((nodeA, nodeB) => {
const branchA = treeCache.branches[nodeA.data.branchId];
const branchB = treeCache.branches[nodeB.data.branchId];
if (!branchA || !branchB) {
return 0;
}
return branchA.notePosition - branchB.notePosition;
});
}
async setExpanded(branchId, isExpanded) {
utils.assertArguments(branchId);