]> source.dussan.org Git - nextcloud-server.git/commitdiff
add getSelectedFiles() to files.js
authorRobin Appelman <icewind1991@gmail.com>
Mon, 25 Jul 2011 18:24:59 +0000 (20:24 +0200)
committerRobin Appelman <icewind1991@gmail.com>
Mon, 25 Jul 2011 18:25:53 +0000 (20:25 +0200)
files/js/files.js

index d4191215972bb6dc7237505af63d9985c2a0445b..7750842dd5a151e12239fef20d34f72f35b381c2 100644 (file)
@@ -108,11 +108,7 @@ $(document).ready(function() {
        });
        
        $('.download').live('click',function(event) {
-               var files='';
-               $('td.selection input:checkbox:checked').parent().parent().each(function(i,element){
-                       files+=';'+$(element).attr('data-file');
-               });
-               files=files.substr(1);//remove leading ;
+               var files=getSelectedFiles('name').join(';');
                
                //send the browser to the download location
                var dir=$('#dir').val()||'/';
@@ -122,11 +118,7 @@ $(document).ready(function() {
        });
        
        $('.delete').live('click',function(event) {
-               var files='';
-               $('td.selection input:checkbox:checked').parent().parent().each(function(i,element){
-                       files+=';'+$(element).attr('data-file');
-               });
-               files=files.substr(1);//remove leading ;
+               var files=getSelectedFiles('name').join(';');
                
                $.ajax({
                        url: 'ajax/delete.php',
@@ -282,4 +274,30 @@ var folderDropOptions={
                });}
                });
        }
+}
+
+/**
+ * @brief get a list of selected files
+ * @param string property (option) the property of the file requested
+ * @return array
+ *
+ * possible values for property: name, mime
+ * if property is set, an array with that property for each file is returnd
+ * if it's ommited an array of objects with all properties is returned
+ */
+function getSelectedFiles(property){
+       var elements=$('td.selection input:checkbox:checked').parent().parent();
+       var files=[];
+       elements.each(function(i,element){
+               var file={
+                       name:$(element).attr('data-file'),
+                                 mime:$(element).attr('data-mime')
+               };
+               if(property){
+                       files.push(file[property]);
+               }else{
+                       files.push();
+               }
+       });
+       return files;
 }
\ No newline at end of file