summaryrefslogtreecommitdiff
path: root/themes/okadmin/public/js/upload.js
blob: d9fd5ed43753d9fa9b39303f40ec2d01345e0659 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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
  },

}