2 return document.getElementById(id);
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) ) };
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');
15 // Utility function to pull the JSON out of the <pre>-wrapped HTML that
16 // plupload irritatingly returns.
17 function parseResponse( resp ) {
18 return $.parseJSON($(resp).text() );
21 function create_uploader(upload_url) {
22 uploader = new plupload.Uploader({
24 browse_button : 'pick_uploadfile_button',
25 container: 'upload_container',
26 max_file_size : '10mb',
29 {title : "Tradition files", extensions : "txt,xls,xlsx,csv,xml"},
33 uploader.bind('BeforeUpload', function(up, file) {
34 var parameter_values = {};
35 $.each($('#new_tradition').serializeArray(), function(i, field) {
36 parameter_values[field.name] = field.value;
38 up.settings.multipart_params = parameter_values;
41 uploader.bind('Init', function(up, params) {
42 // $upl('filelist').innerHTML = "<div>Current runtime: " + params.runtime + "</div>";
45 uploader.bind('FilesAdded', function(up, files) {
46 //Needed because Pluploader needs some time to add the file to the queue.
47 setTimeout( function(){ limitFiles(up, files) }, 50 );
50 uploader.bind('UploadProgress', function(up, file) {
51 $upl(file.id).getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>";
54 uploader.bind('Error', function( up, args ) {
55 $('#upload_status').empty().append(
56 $('<span>').attr('class', 'error').append( 'A server error occurred' ) );
60 uploader.bind('FileUploaded', function(up, file, ret) {
61 var result = parseResponse( ret.response );
63 $('#upload-collation-dialog').dialog( 'option', 'buttons').cancel();
65 loadTradition( result.id, result.name, 1 );
66 } else if( result.error ) {
67 file.status = plupload.FAILED;
68 $('#upload_status').empty().append(
69 $('<span>').attr('class', 'error').append( result.error ) );
73 uploader.bind('Error', function(up, err) {
74 console.log( 'echt wel' );