From 8dea502689b47bde923e8bd1f4418aae2e218209 Mon Sep 17 00:00:00 2001 From: llama <100429699+iamllama@users.noreply.github.com> Date: Thu, 6 Feb 2025 15:26:44 +0800 Subject: [PATCH] add cut handler in TagInput (#3791) --- ts/lib/tag-editor/TagInput.svelte | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/ts/lib/tag-editor/TagInput.svelte b/ts/lib/tag-editor/TagInput.svelte index 848b2c1f6..a8d76bcee 100644 --- a/ts/lib/tag-editor/TagInput.svelte +++ b/ts/lib/tag-editor/TagInput.svelte @@ -213,6 +213,18 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html ); } + async function onCut(event: ClipboardEvent): Promise { + onCopy(event); + + const s = input.selectionStart!; + const e = input.selectionEnd!; + name = name.slice(0, s) + name.slice(e); + + await tick(); + setPosition(s); + dispatch("taginput"); + } + function onPaste(event: ClipboardEvent): void { if (!event.clipboardData) { return; @@ -283,6 +295,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html on:keyup on:input={() => dispatch("taginput")} on:copy|preventDefault={onCopy} + on:cut|preventDefault={onCut} on:paste|preventDefault={onPaste} use:updateCurrent />