浏览代码

refac: copy behaviour

Timothy Jaeryang Baek 1 周之前
父节点
当前提交
7bae9053ac
共有 1 个文件被更改,包括 13 次插入0 次删除
  1. 13 0
      src/lib/components/common/RichTextInput.svelte

+ 13 - 0
src/lib/components/common/RichTextInput.svelte

@@ -1030,6 +1030,19 @@
 						// For all other cases, let ProseMirror perform its default paste behavior.
 						// For all other cases, let ProseMirror perform its default paste behavior.
 						view.dispatch(view.state.tr.scrollIntoView());
 						view.dispatch(view.state.tr.scrollIntoView());
 						return false;
 						return false;
+					},
+					copy: (view, event: ClipboardEvent) => {
+						if (!event.clipboardData) return false;
+						if (richText) return false; // Let ProseMirror handle normal copy in rich text mode
+
+						const plain = editor.getText();
+						const html = editor.getHTML();
+
+						event.clipboardData.setData('text/plain', plain.replaceAll('\n\n', '\n'));
+						event.clipboardData.setData('text/html', html);
+
+						event.preventDefault();
+						return true;
 					}
 					}
 				}
 				}
 			},
 			},