From 12a5ffab0d752ae6f69461edaeb9613f6d3073d7 Mon Sep 17 00:00:00 2001 From: Aevann Date: Thu, 2 Mar 2023 00:11:17 +0200 Subject: [PATCH] super ugly hack to make pasting files with selection smoother --- files/assets/js/core.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/files/assets/js/core.js b/files/assets/js/core.js index c17fdd173..40a845b5e 100644 --- a/files/assets/js/core.js +++ b/files/assets/js/core.js @@ -486,12 +486,25 @@ function handle_files(input, newfiles) { ta.value += '\n' } + + const selection_end = ta.selectionEnd + const selected_text = ta.value.substring(ta.selectionStart, selection_end); + for (const file of newfiles) { oldfiles[ta.id].push(file) if (span.innerHTML != ' ') span.innerHTML += ', ' span.innerHTML += file.name.substr(0, 30); - if (location.pathname != '/chat') - ta.setRangeText(`[${file.name}]\n`); + if (location.pathname != '/chat') { + const file_entry = `[${file.name}]` + if (selected_text) { + let old_value = ta.value + ta.value = old_value.replace(selected_text, file_entry); + ta.selectionEnd = selection_end + ta.value.length - old_value.length; + } + else { + ta.setRangeText(`${file_entry}\n`); + } + } } autoExpand(ta)