diff --git a/app/javascript/controllers/form_controller.js b/app/javascript/controllers/form_controller.js index d291de2bb..af4d5148e 100644 --- a/app/javascript/controllers/form_controller.js +++ b/app/javascript/controllers/form_controller.js @@ -11,6 +11,31 @@ export default class extends Controller { this.cancelTarget?.click() } + pasteFiles(event) { + const editor = event.target.closest("house-md") + if (!editor) return + + const files = event.clipboardData?.files + if (!files?.length) return + + event.preventDefault() + + for (const file of files) { + const uploadEvent = new CustomEvent("house-md:before-upload", { + bubbles: true, + detail: { file }, + cancelable: true + }) + + if (editor.dispatchEvent(uploadEvent)) { + const upload = document.createElement("house-md-upload") + upload.file = file + upload.uploadsURL = editor.dataset.uploadsUrl + editor.appendChild(upload) + } + } + } + preventAttachment(event) { event.preventDefault() } diff --git a/app/views/comments/_new.html.erb b/app/views/comments/_new.html.erb index 87e50e99f..70428f946 100644 --- a/app/views/comments/_new.html.erb +++ b/app/views/comments/_new.html.erb @@ -2,7 +2,8 @@