summaryrefslogtreecommitdiffstats
path: root/static/upload.js
blob: 48f5581e4d68f9650115fe2b19742e7de0688a76 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
var fileUploader = {};

fileUploader.init = function() {
  var uploader = new plupload.Uploader({
    runtimes : 'html5,flash,html4,silverlight',
    browse_button : 'pickfiles',
    container : 'container',
    max_file_size : '10mb',
    url : '/',
    flash_swf_url : '/static/plupload/js/plupload.flash.swf',
    silverlight_xap_url : '/static/plupload/js/plupload.silverlight.xap',
    multipart_params: {},
    filters : [
      {title : "Image files", extensions : "jpg,gif,png"},
      {title : "Data Compression", extensions : "zip,tar.gz"},
      {title : "Additional", extensions : "pdf,gs"}
    ],
  });

  uploader.bind('Init', function(up, params) {
    console.log("using runtime: " + params.runtime);
    $('#upload-form').html('<p id="modern-form">'+
     '  <a id="pickfiles" href="#">Add files</a> |'+
     '  <a id="uploadfiles" href="#">Upload</a>'+
     '</p>');
    $('#filelist').html('<li id="no-files">No Files Added</li>');

  });

  $('#uploadfiles').live('click', function(e) {
    uploader.start();
    e.preventDefault();
  });

  uploader.init();

  uploader.bind('BeforeUpload', function(up, file) {
    uploader.settings.multipart_params.tags = $('input[name='+file.id +']').val();
  });

  uploader.bind('FilesAdded', function(up, files) {
    $('#no-files').remove()
    $.each(files, function(i, file) {
      $('#filelist').append(
        '<li id="' + file.id + '">' +
        '<label for="">' +
        file.name + ' (' + plupload.formatSize(file.size) + ')' +
        '</label>' +
        '<input type="text" placeholder="Tags (comma-separated)" name="'+file.id+'" />' +
        '<b></b>' +
      '</li>');
    });

    up.refresh(); // Reposition Flash/Silverlight
  });

  uploader.bind('UploadProgress', function(up, file) {
    $('#' + file.id + " input").attr('disabled', true);
    $('#' + file.id + " b").html(file.percent + "%");
  });

  uploader.bind('Error', function(up, err) {
    $('#filelist').append("<div>Error: " + err.code +
      ", Message: " + err.message +
      (err.file ? ", File: " + err.file.name : "") +
      "</div>"
    );

    up.refresh(); // Reposition Flash/Silverlight
  });

  uploader.bind('FileUploaded', function(up, file) {
    console.log(file);
  });
};