diff options
| author | Jules Laplace <jules@okfoc.us> | 2015-04-08 23:41:43 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2015-04-08 23:41:43 -0400 |
| commit | f8f9c515cd9c413323f64692fd0528877a8fceed (patch) | |
| tree | e3d35d452d9555f2b0082a6f7577bb660dc33ab1 /themes/okadmin/public/js/upload.js | |
| parent | 2a4266fd00a0b1327a7b24ee9807b94f0060a118 (diff) | |
uploads working
Diffstat (limited to 'themes/okadmin/public/js/upload.js')
| -rw-r--r-- | themes/okadmin/public/js/upload.js | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/themes/okadmin/public/js/upload.js b/themes/okadmin/public/js/upload.js new file mode 100644 index 0000000..d9fd5ed --- /dev/null +++ b/themes/okadmin/public/js/upload.js @@ -0,0 +1,56 @@ + +var OKUpload = { + action: "/_services/image", + + bind: function(){ + var el = document.getElementById("file") + if (! el) return + el.addEventListener("change", OKUpload.handleFileSelect) + }, + + handleFileSelect: function(e) { + e.stopPropagation(); + e.preventDefault(); + + var files = e.dataTransfer ? e.dataTransfer.files : e.target.files; + + for (var i = 0, f; f = files[i]; i++) { + if ( ! f.type.match('image.*')) { + continue; + } + OKUpload.upload(f) + } + }, + + upload: function(f){ + var fd = new FormData() + fd.append('image', f) + + var request = $.ajax({ + url: OKUpload.action, + type: "post", + data: fd, + dataType: "json", + processData: false, + contentType: false, + }) + request.done(OKUpload.success) + }, + + success: function(media){ + if (media.error) { + console.log(media.error) + return + } + OKUpload.add(media) + }, + + add: function(media){ + console.log(media) + }, + + error: function(error){ + throw error + }, + +} |
