Sha256: b9cb14a4fe1a0deaa12047e252f93c94fcd4901b7f955aa6dc6540d9514839ec
Contents?: true
Size: 1.43 KB
Versions: 17
Compression:
Stored size: 1.43 KB
Contents
document.addEventListener "trix-attachment-add", (event) -> attachment = event.attachment if attachment.file return uploadAttachment(event) document.addEventListener "trix-attachment-remove", (event) -> image_url = event.attachment.attachment.preloadedURL $("input[data-url='#{image_url}']").remove() uploadAttachment = (e) -> $element = $(e.srcElement) $form = $('form:first') host = $form.data('trix-url') attachment = e.attachment file = attachment.file formData = new FormData formData.append("parent_object_class", $form.data('parent-class')) formData.append("model", $element.data('uploader-class')) formData.append("file", file) xhr = new XMLHttpRequest xhr.open("POST", host, true) xhr.upload.onprogress = (event) -> progress = event.loaded / event.total * 100 return attachment.setUploadProgress(progress) xhr.onload = -> if (xhr.status is 204 || xhr.status is 200) response = JSON.parse(xhr.responseText) uploader = $element.data('uploader-name') console.log $element console.log uploader $form.append("<input type=\"hidden\" name=\"#{$form.data('params-key')}[#{uploader.slice(0, -1)}_ids][]\" value=\"#{response.id}\" />") return attachment.setAttributes({ url: response.image_url, href: response.image_url }) xhr.setRequestHeader( "X-CSRF-Token", $('meta[name="csrf-token"]').attr('content') ) return xhr.send(formData)
Version data entries
17 entries across 17 versions & 1 rubygems