Changeset 1724:4cc223c99439 for admin/js/_media.js
- Timestamp:
- 09/04/13 21:55:21 (12 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/js/_media.js
r1723 r1724 1 (function($) { 2 $.fn.enhancedUploader = function() { 3 return this.each(function() { 4 var me = $(this); 5 6 function enableButton(button) { 7 button.prop('disabled',false).removeClass('disabled'); 8 } 9 10 function disableButton(button) { 11 button.prop('disabled',true).addClass('disabled'); 12 } 13 14 function displayMessageInQueue(n) { 15 var msg = ''; 16 if (n==1) { 17 msg = dotclear.jsUpload.msg.file_in_queue; 18 } else if (n>1) { 19 msg = dotclear.jsUpload.msg.files_in_queue; 20 msg = msg.replace(/%d/,n); 21 } else { 22 msg = dotclear.jsUpload.msg.no_file_in_queue; 23 } 24 $('.queue-message',me).html(msg); 25 } 26 27 $('.button.add').click(function(e) { 28 // Use the native click() of the file input. 29 $('#upfile').click(); 30 e.preventDefault(); 31 }); 32 33 $('.button.cancel', '#fileupload .fileupload-buttonbar').click(function(e) { 34 $('.button.cancel','#fileupload .fileupload-buttonbar').hide(); 35 disableButton($('.button.start','#fileupload .fileupload-buttonbar')); 36 displayMessageInQueue(0); 37 }); 38 39 $('.cancel').live('click', function(e) { 40 if ($('.fileupload-ctrl .files .template-upload', me).length==0) { 41 $('.button.cancel','#fileupload .fileupload-buttonbar').hide(); 42 disableButton($('.button.start','#fileupload .fileupload-buttonbar')); 43 } 44 displayMessageInQueue($('.files .template-upload',me).length); 45 }); 46 47 $('.button.clean', me).click(function(e) { 48 $('.fileupload-ctrl .files .template-download', me).slideUp(500, function() { 49 $(this).remove(); 50 }); 51 $(this).hide(); 52 e.preventDefault(); 53 }); 54 55 $(me).fileupload({ 56 url: $(me).attr('action'), 57 autoUpload: false, 58 sequentialUploads: true, 59 uploadTemplateId: null, 60 downloadTemplateId: null, 61 uploadTemplate: template_upload, 62 downloadTemplate: template_download 63 }).bind('fileuploadadd', function(e, data) { 64 $('.button.cancel','#fileupload .fileupload-buttonbar').show(); 65 enableButton($('.button.start','#fileupload .fileupload-buttonbar')); 66 }).bind('fileuploadadded', function(e, data) { 67 displayMessageInQueue($('.files .template-upload',me).length); 68 }).bind('fileuploaddone', function(e, data) { 69 if (data.result.files[0].html !==undefined) { 70 $('.media-list p.clear').before(data.result.files[0].html); 71 } 72 $('.button.clean',me).show(); 73 }).bind('fileuploadalways', function(e, data) { 74 displayMessageInQueue($('.files .template-upload',me).length); 75 if ($('.fileupload-ctrl .files .template-upload',me).length==0) { 76 $('.button.cancel','#fileupload .fileupload-buttonbar').hide(); 77 disableButton($('.button.start','#fileupload .fileupload-buttonbar')); 78 } 79 }); 80 81 var $container = $(me).parent(); 82 var $msg,label; 83 84 if ($container.hasClass('enhanced_uploader')) { 85 $msg = dotclear.msg.enhanced_uploader_disable; 86 label = dotclear.jsUpload.msg.choose_files; 87 $(me).fileupload({disabled:false}); 88 displayMessageInQueue(0); 89 disableButton($('.button.start','#fileupload .fileupload-buttonbar')); 90 } else { 91 $msg = dotclear.msg.enhanced_uploader_activate; 92 label = dotclear.jsUpload.msg.choose_file; 93 } 94 95 $('<p class="clear"><a class="enhanced-toggle" href="#">' + $msg + '</a></p>').click(function() { 96 if ($container.hasClass('enhanced_uploader')) { 97 $msg = dotclear.msg.enhanced_uploader_activate; 98 label = dotclear.jsUpload.msg.choose_file; 99 $('#upfile').attr('multiple', false); 100 enableButton($('.button.start','#fileupload .fileupload-buttonbar')); 101 102 // when a user has clicked enhanced_uploader, and has added files 103 // We must remove files in table 104 $('.files .upload-file', me).remove(); 105 $('.button.cancel,.button.clean','#fileupload .fileupload-buttonbar').hide(); 106 $(me).fileupload({disabled:true}); 107 $('.queue-message',me).html('').hide(); 108 } else { 109 $msg = dotclear.msg.enhanced_uploader_disable; 110 label = dotclear.jsUpload.msg.choose_files; 111 $('#upfile').attr('multiple', true); 112 var startButton = $('.button.start','#fileupload .fileupload-buttonbar'); 113 disableButton(startButton); 114 startButton.show(); 115 $(me).fileupload({disabled:false}); 116 $('.queue-message',me).show(); 117 displayMessageInQueue(0); 118 } 119 $(this).find('a').text($msg); 120 $('.add-label', me).text(label); 121 122 $container.toggleClass('enhanced_uploader'); 123 }).appendTo(me); 124 }); 125 }; 126 })(jQuery); 127 128 1 129 $(function() { 2 if ($('#fileupload').length==0) { 3 return; 4 } 5 6 function enableButton(button) { 7 button.prop('disabled',false).removeClass('disabled'); 8 } 9 10 function disableButton(button) { 11 button.prop('disabled',true).addClass('disabled'); 12 } 13 14 function displayMessageInQueue(n) { 15 var msg = ''; 16 if (n==1) { 17 msg = dotclear.jsUpload.msg.file_in_queue; 18 } else if (n>1) { 19 msg = dotclear.jsUpload.msg.files_in_queue; 20 msg = msg.replace(/%d/,n); 21 } else { 22 msg = dotclear.jsUpload.msg.no_file_in_queue; 23 } 24 $('.queue-message','#fileupload').html(msg); 25 } 26 27 $('.button.add').click(function(e) { 28 // Use the native click() of the file input. 29 $('#upfile').click(); 30 e.preventDefault(); 31 }); 32 33 $('.button.cancel', '#fileupload .fileupload-buttonbar').click(function(e) { 34 $('.button.cancel','#fileupload .fileupload-buttonbar').hide(); 35 disableButton($('.button.start','#fileupload .fileupload-buttonbar')); 36 displayMessageInQueue(0); 37 }); 38 39 $('.cancel').live('click', function(e) { 40 if ($('.fileupload-ctrl .files .template-upload', '#fileupload').length==0) { 41 $('.button.cancel','#fileupload .fileupload-buttonbar').hide(); 42 disableButton($('.button.start','#fileupload .fileupload-buttonbar')); 43 } 44 displayMessageInQueue($('.files .template-upload','#fileupload').length); 45 }); 46 47 $('.button.clean', '#fileupload').click(function(e) { 48 $('.fileupload-ctrl .files .template-download', '#fileupload').slideUp(500, function() { 49 $(this).remove(); 50 }); 51 $(this).hide(); 52 e.preventDefault(); 53 }); 54 55 $('#fileupload').fileupload({ 56 url: $('#fileupload').attr('action'), 57 autoUpload: false, 58 sequentialUploads: true, 59 uploadTemplateId: null, 60 downloadTemplateId: null, 61 uploadTemplate: template_upload, 62 downloadTemplate: template_download 63 }).bind('fileuploadadd', function(e, data) { 64 $('.button.cancel','#fileupload .fileupload-buttonbar').show(); 65 enableButton($('.button.start','#fileupload .fileupload-buttonbar')); 66 }).bind('fileuploadadded', function(e, data) { 67 displayMessageInQueue($('.files .template-upload','#fileupload').length); 68 }).bind('fileuploaddone', function(e, data) { 69 if (data.result.files[0].html !==undefined) { 70 $('.media-list p.clear').before(data.result.files[0].html); 71 } 72 $('.button.clean','#fileupload').show(); 73 }).bind('fileuploadalways', function(e, data) { 74 displayMessageInQueue($('.files .template-upload','#fileupload').length); 75 if ($('.fileupload-ctrl .files .template-upload','#fileupload').length==0) { 76 $('.button.cancel','#fileupload .fileupload-buttonbar').hide(); 77 disableButton($('.button.start','#fileupload .fileupload-buttonbar')); 78 } 79 }); 80 81 var $container = $('#fileupload').parent(); 82 var $msg,label; 83 84 if ($container.hasClass('enhanced_uploader')) { 85 $msg = dotclear.msg.enhanced_uploader_disable; 86 label = dotclear.jsUpload.msg.choose_files; 87 $('#fileupload').fileupload({disabled:false}); 88 displayMessageInQueue(0); 89 disableButton($('.button.start','#fileupload .fileupload-buttonbar')); 90 } else { 91 $msg = dotclear.msg.enhanced_uploader_activate; 92 label = dotclear.jsUpload.msg.choose_file; 93 } 94 95 $('<p class="clear"><a class="enhanced-toggle" href="#">' + $msg + '</a></p>').click( function() { 96 if ($container.hasClass('enhanced_uploader')) { 97 $msg = dotclear.msg.enhanced_uploader_activate; 98 label = dotclear.jsUpload.msg.choose_file; 99 $('#upfile').attr('multiple', false); 100 enableButton($('.button.start','#fileupload .fileupload-buttonbar')); 101 102 // when a user has clicked enhanced_uploader, and has added files 103 // We must remove files in table 104 $('.files .upload-file', '#fileupload').remove(); 105 $('.button.cancel,.button.clean','#fileupload .fileupload-buttonbar').hide(); 106 $('#fileupload').fileupload({disabled:true}); 107 $('.queue-message','#fileupload').html('').hide(); 108 } else { 109 $msg = dotclear.msg.enhanced_uploader_disable; 110 label = dotclear.jsUpload.msg.choose_files; 111 $('#upfile').attr('multiple', true); 112 var startButton = $('.button.start','#fileupload .fileupload-buttonbar'); 113 disableButton(startButton); 114 startButton.show(); 115 $('#fileupload').fileupload({disabled:false}); 116 $('.queue-message','#fileupload').show(); 117 displayMessageInQueue(0); 118 } 119 $(this).find('a').text($msg); 120 $('.add-label', '#fileupload').text(label); 121 122 $container.toggleClass('enhanced_uploader'); 123 }).appendTo($('#fileupload')); 130 $('#fileupload').enhancedUploader(); 124 131 125 132 // Replace remove links by a POST on hidden form
Note: See TracChangeset
for help on using the changeset viewer.