1 | $(function() { |
---|
2 | if ($('#fileupload').length==0) { |
---|
3 | return; |
---|
4 | } |
---|
5 | |
---|
6 | $('.button.add').click(function(e) { |
---|
7 | // Use the native click() of the file input. |
---|
8 | $('#upfile').click(); |
---|
9 | e.preventDefault(); |
---|
10 | }); |
---|
11 | |
---|
12 | $('.button.cancel', '#fileupload').click(function(e) { |
---|
13 | $(this).hide(); |
---|
14 | }); |
---|
15 | |
---|
16 | $('.button.clean', '#fileupload').click(function(e) { |
---|
17 | $('.fileupload-ctrl .files .upload-file', '#fileupload').slideUp(500, function() { |
---|
18 | $(this).remove(); |
---|
19 | }); |
---|
20 | $(this).hide(); |
---|
21 | $('.button.cancel','#fileupload').hide(); |
---|
22 | e.preventDefault(); |
---|
23 | }); |
---|
24 | |
---|
25 | $('#fileupload').fileupload({ |
---|
26 | url: $('#fileupload').attr('action'), |
---|
27 | autoUpload: false, |
---|
28 | disabled: true |
---|
29 | }).bind('fileuploadadd', function(e, data) { |
---|
30 | $('.button.cancel').show(); |
---|
31 | }).bind('fileuploaddone', function(e, data) { |
---|
32 | if (data.result.files[0].html !==undefined) { |
---|
33 | $('.media-list p.clear').before(data.result.files[0].html); |
---|
34 | } |
---|
35 | $('.button.clean','#fileupload').show(); |
---|
36 | }); |
---|
37 | |
---|
38 | var $container = $('#fileupload').parent().parent(); |
---|
39 | var $msg,label; |
---|
40 | |
---|
41 | if ($container.hasClass('enhanced_uploader')) { |
---|
42 | $msg = dotclear.msg.enhanced_uploader_disable; |
---|
43 | label = dotclear.jsUpload.msg.choose_files; |
---|
44 | $('#fileupload').fileupload({disabled:false}); |
---|
45 | } else { |
---|
46 | $msg = dotclear.msg.enhanced_uploader_activate; |
---|
47 | label = dotclear.jsUpload.msg.choose_file; |
---|
48 | } |
---|
49 | |
---|
50 | $('<p class="clear"><a href="#">' + $msg + '</a></p>').click( function() { |
---|
51 | if ($container.hasClass('enhanced_uploader')) { |
---|
52 | $msg = dotclear.msg.enhanced_uploader_activate; |
---|
53 | label = dotclear.jsUpload.msg.choose_file; |
---|
54 | $('#upfile').attr('multiple', false); |
---|
55 | |
---|
56 | // when a user has clicked enhanced_uploader, and has added files |
---|
57 | // We must remove files in table |
---|
58 | $('.files .upload-file', '#fileupload').remove(); |
---|
59 | $('#fileupload').fileupload({disabled:true}); |
---|
60 | } else { |
---|
61 | $msg = dotclear.msg.enhanced_uploader_disable; |
---|
62 | label = dotclear.jsUpload.msg.choose_files; |
---|
63 | $('#upfile').attr('multiple', true); |
---|
64 | $('#fileupload').fileupload({disabled:false}); |
---|
65 | } |
---|
66 | $(this).find('a').text($msg); |
---|
67 | $('.add-label', '#fileupload').text(label); |
---|
68 | |
---|
69 | $container.toggleClass('enhanced_uploader'); |
---|
70 | }).appendTo($('#fileupload')); |
---|
71 | |
---|
72 | // Replace remove links by a POST on hidden form |
---|
73 | fileRemoveAct(); |
---|
74 | |
---|
75 | function fileRemoveAct() { |
---|
76 | $('a.media-remove').live('click', function() { |
---|
77 | var m_name = $(this).parents('ul').find('li:first>a').text(); |
---|
78 | if (window.confirm(dotclear.msg.confirm_delete_media.replace('%s',m_name))) { |
---|
79 | var f = $('#media-remove-hide').get(0); |
---|
80 | f.elements['remove'].value = this.href.replace(/^(.*)&remove=(.*?)(&|$)/,'$2'); |
---|
81 | this.href = ''; |
---|
82 | f.submit(); |
---|
83 | } |
---|
84 | return false; |
---|
85 | }); |
---|
86 | } |
---|
87 | }); |
---|