diff --git a/CHANGELOG b/CHANGELOG index 9ce9caa503f98f4623fbb071af1854d24e04ce2a..8e054cec7c5118fad372c8df0678668764703d8f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -42,7 +42,7 @@ v 7.8.0 - Password reset token validity increased from 2 hours to 2 days since it is also send on account creation. - - - - + - Enable raw image paste from clipboard, currently Chrome only (Marco Cyriacks) - - - Add action property to merge request hook (Julien Bianchi) diff --git a/app/assets/javascripts/dropzone_input.js.coffee b/app/assets/javascripts/dropzone_input.js.coffee index a0f0d98a8dc6f877e877dd01520c62b490a5d094..abb5bf519ee54d54fc23c83213f40d40b902da5c 100644 --- a/app/assets/javascripts/dropzone_input.js.coffee +++ b/app/assets/javascripts/dropzone_input.js.coffee @@ -13,6 +13,8 @@ class @DropzoneInput form_textarea = $(form).find("textarea.markdown-area") form_textarea.wrap "
" + form_textarea.bind 'paste', (event) => + handlePaste(event) form_dropzone = $(form).find('.div-dropzone') form_dropzone.parent().addClass "div-dropzone-wrapper" @@ -133,24 +135,17 @@ class @DropzoneInput formatLink = (str) -> "![" + str.alt + "](" + str.url + ")" - handlePaste = (e) -> - e.preventDefault() - my_event = e.originalEvent - - if my_event.clipboardData and my_event.clipboardData.items - processItem(my_event) - - processItem = (e) -> - image = isImage(e) - if image - filename = getFilename(e) or "image.png" - text = "{{" + filename + "}}" - pasteText(text) - uploadFile image.getAsFile(), filename - - else - text = e.clipboardData.getData("text/plain") - pasteText(text) + handlePaste = (event) -> + pasteEvent = event.originalEvent + if pasteEvent.clipboardData and pasteEvent.clipboardData.items + image = isImage(pasteEvent) + if image + event.preventDefault() + + filename = getFilename(pasteEvent) or "image.png" + text = "{{" + filename + "}}" + pasteText(text) + uploadFile image.getAsFile(), filename isImage = (data) -> i = 0