]> source.dussan.org Git - nextcloud-server.git/commitdiff
lazy load preview icons
authorGeorg Ehrke <developer@georgehrke.com>
Wed, 14 Aug 2013 11:25:07 +0000 (13:25 +0200)
committerGeorg Ehrke <developer@georgehrke.com>
Wed, 14 Aug 2013 11:27:01 +0000 (13:27 +0200)
apps/files/js/filelist.js
apps/files/js/files.js

index 288648693beecc998e724cacb02bf70ffbe27b89..138329940b4e1e101064abea376c23ddea2eee9a 100644 (file)
@@ -186,7 +186,7 @@ var FileList={
                        tr.attr('data-id', id);
                }
                var path = $('#dir').val()+'/'+name;
-               getPreviewIcon(path, function(previewpath){
+               lazyLoadPreview(path, mime, function(previewpath){
                        tr.find('td.filename').attr('style','background-image:url('+previewpath+')');
                });
                tr.find('td.filename').draggable(dragOptions);
index 180c23cbfa450879c1fbf7d6949470a23b5ecc40..7b01a5202da451ad0cc09b4e036a2a2f5dd454c6 100644 (file)
@@ -366,8 +366,8 @@ $(document).ready(function() {
                                                                var tr=$('tr').filterAttr('data-file',name);
                                                                tr.attr('data-mime',result.data.mime);
                                                                tr.attr('data-id', result.data.id);
-                                                               var path = $('#dir').val()+'/'+name;
-                                                               getPreviewIcon(path, function(previewpath){
+                                                               var path = $('#dir').val() + '/' + name;
+                                                               lazyLoadPreview(path, result.data.mime, function(previewpath){
                                                                        tr.find('td.filename').attr('style','background-image:url('+previewpath+')');
                                                                });
                                                        } else {
@@ -432,7 +432,7 @@ $(document).ready(function() {
                                                tr.data('mime',mime).data('id',id);
                                                tr.attr('data-id', id);
                                                var path = $('#dir').val()+'/'+localName;
-                                               getPreviewIcon(path, function(previewpath){
+                                               lazyLoadPreview(path, mime, function(previewpath){
                                                        tr.find('td.filename').attr('style','background-image:url('+previewpath+')');
                                                });
                                        });
@@ -639,7 +639,7 @@ var createDragShadow = function(event){
                        newtr.find('td.filename').attr('style','background-image:url('+OC.imagePath('core', 'filetypes/folder.png')+')');
                } else {
                        var path = $('#dir').val()+'/'+elem.name;
-                       getPreviewIcon(path, function(previewpath){
+                       lazyLoadPreview(path, elem.mime, function(previewpath){
                                newtr.find('td.filename').attr('style','background-image:url('+previewpath+')');
                        });
                }
@@ -824,10 +824,18 @@ function getMimeIcon(mime, ready){
 }
 getMimeIcon.cache={};
 
-function getPreviewIcon(path, ready){
+function lazyLoadPreview(path, mime, ready) {
+       getMimeIcon(mime,ready);
        var x = $('#filestable').data('preview-x');
        var y = $('#filestable').data('preview-y');
-       ready(OC.Router.generate('core_ajax_preview', {file: encodeURIComponent(path), x:x, y:y}));
+       var previewURL = OC.Router.generate('core_ajax_preview', {file: encodeURIComponent(path), x:x, y:y});
+       $.ajax({
+               url: previewURL,
+               type: 'GET',
+               success: function() {
+                       ready(previewURL);
+               }
+       });
 }
 
 function getUniqueName(name){