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