Dotclear

source: admin/js/_media.js @ 1234:9b21618db095

Revision 1234:9b21618db095, 3.1 KB checked in by franck <carnet.franck.paul@…>, 12 years ago (diff)

fieldset should be in form (a11y), fixes #1419

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

Sites map