Dotclear

source: admin/js/_media.js @ 1166:5a63ea323db3

Revision 1166:5a63ea323db3, 2.9 KB checked in by Nicolas <nikrou77@…>, 12 years ago (diff)

[jsUpload] button clean only clean already upload files
button cancel and clean are hidden when they are not needed
button start is hidden by default

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

Sites map