mirror of
https://github.com/zadam/trilium.git
synced 2025-06-06 09:58:32 +02:00
fix order of pasted notes when doing multi-select operations
This commit is contained in:
parent
fcd11c341c
commit
f42835e083
@ -6,20 +6,18 @@ const contextMenu = (function() {
|
||||
let clipboardIds = [];
|
||||
let clipboardMode = null;
|
||||
|
||||
function pasteAfter(node) {
|
||||
async function pasteAfter(node) {
|
||||
if (clipboardMode === 'cut') {
|
||||
for (const nodeKey of clipboardIds) {
|
||||
const subjectNode = treeUtils.getNodeByKey(nodeKey);
|
||||
const nodes = clipboardIds.map(nodeKey => treeUtils.getNodeByKey(nodeKey));
|
||||
|
||||
treeChanges.moveAfterNode([subjectNode], node);
|
||||
}
|
||||
await treeChanges.moveAfterNode(nodes, node);
|
||||
|
||||
clipboardIds = [];
|
||||
clipboardMode = null;
|
||||
}
|
||||
else if (clipboardMode === 'copy') {
|
||||
for (const noteId of clipboardIds) {
|
||||
cloning.cloneNoteAfter(noteId, node.data.note_tree_id);
|
||||
await cloning.cloneNoteAfter(noteId, node.data.note_tree_id);
|
||||
}
|
||||
|
||||
// copy will keep clipboardIds and clipboardMode so it's possible to paste into multiple places
|
||||
@ -32,20 +30,18 @@ const contextMenu = (function() {
|
||||
}
|
||||
}
|
||||
|
||||
function pasteInto(node) {
|
||||
async function pasteInto(node) {
|
||||
if (clipboardMode === 'cut') {
|
||||
for (const nodeKey of clipboardIds) {
|
||||
const subjectNode = treeUtils.getNodeByKey(nodeKey);
|
||||
const nodes = clipboardIds.map(nodeKey => treeUtils.getNodeByKey(nodeKey));
|
||||
|
||||
treeChanges.moveToNode([subjectNode], node);
|
||||
}
|
||||
await treeChanges.moveToNode(nodes, node);
|
||||
|
||||
clipboardIds = [];
|
||||
clipboardMode = null;
|
||||
}
|
||||
else if (clipboardMode === 'copy') {
|
||||
for (const noteId of clipboardIds) {
|
||||
cloning.cloneNoteTo(noteId, node.data.note_id);
|
||||
await cloning.cloneNoteTo(noteId, node.data.note_id);
|
||||
}
|
||||
// copy will keep clipboardIds and clipboardMode so it's possible to paste into multiple places
|
||||
}
|
||||
|
@ -15,6 +15,8 @@ const treeChanges = (function() {
|
||||
}
|
||||
|
||||
async function moveAfterNode(nodesToMove, afterNode) {
|
||||
nodesToMove.reverse(); // need to reverse to keep the note order
|
||||
|
||||
for (const nodeToMove of nodesToMove) {
|
||||
const resp = await server.put('tree/' + nodeToMove.data.note_tree_id + '/move-after/' + afterNode.data.note_tree_id);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user