Commit | Line | Data |
5cc32d47 |
1 | function $upl(id) { |
2 | return document.getElementById(id); |
3 | } |
4 | |
5 | function limitFiles( up, files ) { |
6 | most_recent = files.slice(-1)[0]; |
7 | file_ids = $.map(up.files, function (item) { return item.id; }); |
8 | $.each(file_ids, function(index, file_id) { |
9 | if( file_id!=most_recent.id ) { uploader.removeFile( uploader.getFile(file_id) ) }; |
10 | }); |
11 | $('#filelist').empty().html( '<div class="uploadfile" id="' + most_recent.id + '"><span id="uploadfile_label">File selected:</span> ' + most_recent.name.substring(0,17) + ' <b></b></div>' ); |
12 | $('#upload_button').button('enable'); |
13 | } |
14 | |
15 | function create_uploader(upload_url) { |
16 | uploader = new plupload.Uploader({ |
17 | runtimes : 'html4', |
18 | browse_button : 'pick_uploadfile_button', |
19 | container: 'upload_container', |
20 | max_file_size : '10mb', |
21 | url : upload_url, |
22 | filters : [ |
23 | {title : "Tradition files", extensions : "txt,xls,xlsx,csv,xml"}, |
24 | ] |
25 | }); |
26 | |
27 | uploader.bind('BeforeUpload', function(up, file) { |
28 | var parameter_values = {}; |
29 | $.each($('#new_tradition').serializeArray(), function(i, field) { |
30 | parameter_values[field.name] = field.value; |
31 | }); |
32 | up.settings.multipart_params = parameter_values; |
33 | }); |
34 | |
35 | uploader.bind('Init', function(up, params) { |
36 | // $upl('filelist').innerHTML = "<div>Current runtime: " + params.runtime + "</div>"; |
37 | }); |
38 | |
39 | uploader.bind('FilesAdded', function(up, files) { |
40 | //Needed because Pluploader needs some time to add the file to the queue. |
41 | setTimeout( function(){ limitFiles(up, files) }, 50 ); |
42 | }); |
43 | |
44 | uploader.bind('UploadProgress', function(up, file) { |
45 | $upl(file.id).getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>"; |
46 | }); |
47 | |
48 | uploader.bind('FileUploaded', function(up, file, ret) { |
49 | //token = ret.response; |
50 | $('#upload-collation-dialog').dialog( 'option', 'buttons').cancel(); |
51 | }); |
52 | |
53 | uploader.init(); |
54 | |
55 | } |