mirror of
https://github.com/zadam/trilium.git
synced 2025-06-05 01:18:44 +02:00
fix clipboard operation for single nodes
This commit is contained in:
parent
288b3077b2
commit
ee89111bfb
@ -303,6 +303,15 @@ function getSelectedNodes(stopOnParents = false) {
|
||||
return getTree().getSelectedNodes(stopOnParents);
|
||||
}
|
||||
|
||||
function getSelectedOrActiveNodes(node) {
|
||||
let notes = getSelectedNodes(true);
|
||||
|
||||
if (notes.length === 0) {
|
||||
notes.push(node);
|
||||
}
|
||||
return notes;
|
||||
}
|
||||
|
||||
function clearSelectedNodes() {
|
||||
for (const selectedNode of getSelectedNodes()) {
|
||||
selectedNode.setSelected(false);
|
||||
@ -805,6 +814,7 @@ export default {
|
||||
createNote,
|
||||
createNoteInto,
|
||||
getSelectedNodes,
|
||||
getSelectedOrActiveNodes,
|
||||
clearSelectedNodes,
|
||||
sortAlphabetically,
|
||||
showTree,
|
||||
|
@ -111,10 +111,10 @@ class TreeContextMenu {
|
||||
protectedSessionService.protectSubtree(this.node.data.noteId, false);
|
||||
}
|
||||
else if (cmd === "copy") {
|
||||
clipboard.copy(treeService.getSelectedNodes());
|
||||
clipboard.copy(treeService.getSelectedOrActiveNodes(this.node));
|
||||
}
|
||||
else if (cmd === "cut") {
|
||||
clipboard.cut(treeService.getSelectedNodes());
|
||||
clipboard.cut(treeService.getSelectedOrActiveNodes(this.node));
|
||||
}
|
||||
else if (cmd === "pasteAfter") {
|
||||
clipboard.pasteAfter(this.node);
|
||||
@ -123,13 +123,7 @@ class TreeContextMenu {
|
||||
clipboard.pasteInto(this.node);
|
||||
}
|
||||
else if (cmd === "delete") {
|
||||
let notesToDelete = treeService.getSelectedNodes(true);
|
||||
|
||||
if (notesToDelete.length === 0) {
|
||||
notesToDelete.push(this.node);
|
||||
}
|
||||
|
||||
treeChangesService.deleteNodes(notesToDelete);
|
||||
treeChangesService.deleteNodes(treeService.getSelectedOrActiveNodes(this.node));
|
||||
}
|
||||
else if (cmd === "export") {
|
||||
exportDialog.showDialog("subtree");
|
||||
|
@ -7,13 +7,7 @@ import clipboard from "./clipboard.js";
|
||||
|
||||
const keyBindings = {
|
||||
"del": node => {
|
||||
let notesToDelete = treeService.getSelectedNodes(true);
|
||||
|
||||
if (notesToDelete.length === 0) {
|
||||
notesToDelete.push(node);
|
||||
}
|
||||
|
||||
treeChangesService.deleteNodes(notesToDelete);
|
||||
treeChangesService.deleteNodes(treeService.getSelectedOrActiveNodes(node));
|
||||
},
|
||||
"ctrl+up": node => {
|
||||
const beforeNode = node.getPrevSibling();
|
||||
@ -110,13 +104,13 @@ const keyBindings = {
|
||||
|
||||
return false;
|
||||
},
|
||||
"ctrl+c": () => {
|
||||
clipboard.copy(treeService.getSelectedNodes());
|
||||
"ctrl+c": node => {
|
||||
clipboard.copy(treeService.getSelectedOrActiveNodes(node));
|
||||
|
||||
return false;
|
||||
},
|
||||
"ctrl+x": () => {
|
||||
clipboard.cut(treeService.getSelectedNodes());
|
||||
"ctrl+x": node => {
|
||||
clipboard.cut(treeService.getSelectedOrActiveNodes(node));
|
||||
|
||||
return false;
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user