]> source.dussan.org Git - nextcloud-server.git/commitdiff
Show loading icon for uploading files, and disable file actions and DnD for uploading...
authorRobin Appelman <icewind1991@gmail.com>
Tue, 19 Jul 2011 18:57:40 +0000 (20:57 +0200)
committerRobin Appelman <icewind1991@gmail.com>
Tue, 19 Jul 2011 18:57:40 +0000 (20:57 +0200)
files/js/filelist.js
files/js/files.js

index 290f062dae265c85234785056d9c0b22b2313959..2c662087ab28d0034bd30c415d0481629fc82ac6 100644 (file)
@@ -2,16 +2,21 @@ FileList={
        update:function(fileListHtml) {
                $('#fileList').empty().html(fileListHtml);
        },
-       addFile:function(name,size,lastModified){
+       addFile:function(name,size,lastModified,loading){
+               var img=(loading)?'img/loading.gif':'img/file.png';
                var html='<tr data-file="'+name+'" data-type="file">';
                html+='<td class="selection"><input type="checkbox" /></td>';
-               html+='<td class="filename"><a style="background-image:url(img/file.png)" href="download.php?file='+$('#dir').val()+'/'+name+'">'+name+'</a></td>';
+               html+='<td class="filename"><a style="background-image:url('+img+')" href="download.php?file='+$('#dir').val()+'/'+name+'">'+name+'</a></td>';
                html+='<td class="filesize">'+size+'</td>';
                html+='<td class="date">'+lastModified+'</td>';
                html+='<td class="fileaction"><a href="" title="+" class="dropArrow"></a></td>';
                html+='</tr>';
                FileList.insertElement(name,'file',$(html));
-               $('tr[data-file="'+name+'"] td.filename').draggable(dragOptions);
+               if(loading){
+                       $('tr[data-file="'+name+'"]').data('loading',true);
+               }else{
+                       $('tr[data-file="'+name+'"] td.filename').draggable(dragOptions);
+               }
        },
        addDir:function(name,size,lastModified){
                var html='<tr data-file="'+name+'" data-type="dir">';
@@ -58,5 +63,13 @@ FileList={
                }else{
                        $('#fileList').append(element);
                }
+       },
+       loadingDone:function(name){
+               $('tr[data-file="'+name+'"]').data('loading',false);
+               $('tr[data-file="'+name+'"] td.filename a').attr('style','background-image:url(img/file.png');
+               $('tr[data-file="'+name+'"] td.filename').draggable(dragOptions);
+       },
+       isLoading:function(name){
+               return $('tr[data-file="'+name+'"]').data('loading');
        }
 }
index 33573bfbbb9d283801b85c55ee32a843527df601..c8cef87eb942cfc333574ac6facd8b87f556f7f0 100644 (file)
@@ -40,11 +40,13 @@ $(document).ready(function() {
        $('td.filename a').live('click',function(event) {
                event.preventDefault();
                var filename=$(this).parent().parent().attr('data-file');
-               var mime=$(this).parent().parent().attr('data-mime');
-               var type=$(this).parent().parent().attr('data-type');
-               var action=FileActions.getDefault(mime,type);
-               if(action){
-                       action(filename);
+               if(!FileList.isLoading(filename)){
+                       var mime=$(this).parent().parent().attr('data-mime');
+                       var type=$(this).parent().parent().attr('data-type');
+                       var action=FileActions.getDefault(mime,type);
+                       if(action){
+                               action(filename);
+                       }
                }
        });
        
@@ -152,6 +154,7 @@ $(document).ready(function() {
                                if(size=='Pending'){
                                        $('tr[data-file='+file.name+'] td.filesize').text(file.size);
                                }
+                               FileList.loadingDone(file.name);
                        }
                });
                $('#file_upload_form').submit();
@@ -163,7 +166,7 @@ $(document).ready(function() {
                        }else{
                                var size='Pending';
                        }
-                       FileList.addFile(files[i].name,size,uploadTime);
+                       FileList.addFile(files[i].name,size,uploadTime,true);
                }
        });