diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-02-03 17:49:15 -0800 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-02-03 17:49:15 -0800 |
commit | cb2093fb61c60f7d1977b08013bd9fb59e36b691 (patch) | |
tree | 6b0defef46ccc79c551011301eb3729ed4147c03 | |
parent | 704922c855a9741b5495db56ac266788a9c25c33 (diff) | |
parent | 7b3fd03155eb757b07f53fdee37ce355d2234d89 (diff) | |
download | gitlab-ce-cb2093fb61c60f7d1977b08013bd9fb59e36b691.tar.gz |
Merge pull request #8702 from m-a-r-c-o/raw-image-paste-fix
Fix raw image paste from clipboard
-rw-r--r-- | CHANGELOG | 2 | ||||
-rw-r--r-- | app/assets/javascripts/dropzone_input.js.coffee | 31 |
2 files changed, 14 insertions, 19 deletions
diff --git a/CHANGELOG b/CHANGELOG index 9ce9caa503f..8e054cec7c5 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 a0f0d98a8dc..abb5bf519ee 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 "<div class=\"div-dropzone\"></div>" + 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) -> "" - 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 |