Vanessa 2025-09-29 12:01:19 +08:00
parent be3f57512a
commit ba42d4f34b

View file

@ -772,30 +772,22 @@ export class Gutter {
} }
document.execCommand("copy"); document.execCommand("copy");
} }
}, {
id: "duplicate",
iconHTML: "",
label: window.siyuan.languages.duplicate,
accelerator: window.siyuan.config.keymap.editor.general.duplicate.custom,
disabled: protyle.disabled,
click() {
duplicateBlock(selectsElement, protyle);
}
}]); }]);
copyMenu.splice(4, 1, {
id: "copyHPath",
iconHTML: "",
label: window.siyuan.languages.copyHPath,
accelerator: window.siyuan.config.keymap.editor.general.copyHPath.custom,
click: () => {
copyTextByType([selectsElement[0].getAttribute("data-node-id")], "hPath");
focusBlock(selectsElement[0]);
}
});
const copyTextRefMenu = this.genCopyTextRef(selectsElement); const copyTextRefMenu = this.genCopyTextRef(selectsElement);
if (copyTextRefMenu) { if (copyTextRefMenu) {
copyMenu.splice(7, 0, copyTextRefMenu); copyMenu.splice(7, 0, copyTextRefMenu);
} }
if (!protyle.disabled) {
copyMenu.push({
id: "duplicate",
iconHTML: "",
label: window.siyuan.languages.duplicate,
accelerator: window.siyuan.config.keymap.editor.general.duplicate.custom,
click() {
duplicateBlock(selectsElement, protyle);
}
});
}
window.siyuan.menus.menu.append(new MenuItem({ window.siyuan.menus.menu.append(new MenuItem({
id: "copy", id: "copy",
label: window.siyuan.languages.copy, label: window.siyuan.languages.copy,
@ -1291,16 +1283,11 @@ export class Gutter {
} }
document.execCommand("copy"); document.execCommand("copy");
} }
}, {
id: type === "NodeAttributeView" ? "duplicateMirror" : "duplicate",
iconHTML: "",
label: type === "NodeAttributeView" ? window.siyuan.languages.duplicateMirror : window.siyuan.languages.duplicate,
accelerator: window.siyuan.config.keymap.editor.general.duplicate.custom,
disabled: protyle.disabled,
click() {
duplicateBlock([nodeElement], protyle);
}
}]); }]);
const copyTextRefMenu = this.genCopyTextRef([nodeElement]);
if (copyTextRefMenu) {
copyMenu.splice(7, 0, copyTextRefMenu);
}
if (type === "NodeAttributeView") { if (type === "NodeAttributeView") {
copyMenu.splice(6, 0, { copyMenu.splice(6, 0, {
iconHTML: "", iconHTML: "",
@ -1309,21 +1296,37 @@ export class Gutter {
writeText(nodeElement.getAttribute("data-av-id")); writeText(nodeElement.getAttribute("data-av-id"));
} }
}); });
if (!protyle.disabled) {
copyMenu.push({
id: "duplicateMirror",
iconHTML: "",
label: window.siyuan.languages.duplicateMirror,
accelerator: window.siyuan.config.keymap.editor.general.duplicate.custom,
click() {
duplicateBlock([nodeElement], protyle);
}
});
copyMenu.push({
id: "duplicateCompletely",
iconHTML: "",
label: window.siyuan.languages.duplicateCompletely,
accelerator: window.siyuan.config.keymap.editor.general.duplicateCompletely.custom,
click() {
duplicateCompletely(protyle, nodeElement as HTMLElement);
}
});
}
} else if (!protyle.disabled) {
copyMenu.push({ copyMenu.push({
id: "duplicateCompletely", id: "duplicate",
iconHTML: "", iconHTML: "",
label: window.siyuan.languages.duplicateCompletely, label: window.siyuan.languages.duplicate,
accelerator: window.siyuan.config.keymap.editor.general.duplicateCompletely.custom, accelerator: window.siyuan.config.keymap.editor.general.duplicate.custom,
disabled: protyle.disabled,
click() { click() {
duplicateCompletely(protyle, nodeElement as HTMLElement); duplicateBlock([nodeElement], protyle);
} }
}); });
} }
const copyTextRefMenu = this.genCopyTextRef([nodeElement]);
if (copyTextRefMenu) {
copyMenu.splice(7, 0, copyTextRefMenu);
}
window.siyuan.menus.menu.append(new MenuItem({ window.siyuan.menus.menu.append(new MenuItem({
id: "copy", id: "copy",
icon: "iconCopy", icon: "iconCopy",