summaryrefslogtreecommitdiffstats
path: root/files
diff options
context:
space:
mode:
authorRobin Appelman <icewind1991@gmail.com>2011-10-08 21:18:47 +0200
committerRobin Appelman <icewind1991@gmail.com>2011-10-13 16:33:39 +0200
commitd7fa2a0f7770acb36c49ea60348bb583e53b04e7 (patch)
tree8bbbc87c3b5c03944ed7605543ebcb796d96f274 /files
parent8da00e2d9aef5b77832a8d05a87c6b7cfbc5940a (diff)
downloadnextcloud-server-d7fa2a0f7770acb36c49ea60348bb583e53b04e7.tar.gz
nextcloud-server-d7fa2a0f7770acb36c49ea60348bb583e53b04e7.zip
mimetype icon improvements
Diffstat (limited to 'files')
-rw-r--r--files/ajax/mimeicon.php8
-rw-r--r--files/js/filelist.js12
-rw-r--r--files/js/files.js15
3 files changed, 25 insertions, 10 deletions
diff --git a/files/ajax/mimeicon.php b/files/ajax/mimeicon.php
new file mode 100644
index 00000000000..8724016b3a1
--- /dev/null
+++ b/files/ajax/mimeicon.php
@@ -0,0 +1,8 @@
+<?php
+
+// Init owncloud
+require_once('../../lib/base.php');
+
+print OC_Helper::mimetypeIcon($_GET['mime']);
+
+?>
diff --git a/files/js/filelist.js b/files/js/filelist.js
index 84762bb561d..e6da922700d 100644
--- a/files/js/filelist.js
+++ b/files/js/filelist.js
@@ -101,10 +101,14 @@ FileList={
$('.file_upload_filename').removeClass('highlight');
},
loadingDone:function(name){
- $('tr[data-file="'+name+'"]').data('loading',false);
- var mime=$('tr[data-file="'+name+'"]').data('mime');
- $('tr[data-file="'+name+'"] td.filename').attr('style','background-image:url('+getMimeIcon(mime)+')');
- $('tr[data-file="'+name+'"] td.filename').draggable(dragOptions);
+ var tr=$('tr[data-file="'+name+'"]');
+ tr.data('loading',false);
+ var mime=tr.data('mime');
+ tr.attr('data-mime',mime);
+ getMimeIcon(mime,function(path){
+ tr.find('td.filename').attr('style','background-image:url('+path+')');
+ });
+ tr.find('td.filename').draggable(dragOptions);
},
isLoading:function(name){
return $('tr[data-file="'+name+'"]').data('loading');
diff --git a/files/js/files.js b/files/js/files.js
index 9342642b4ff..079646070d4 100644
--- a/files/js/files.js
+++ b/files/js/files.js
@@ -473,11 +473,14 @@ function relative_modified_date(timestamp) {
else { return diffyears+' '+t('files','years ago'); }
}
-function getMimeIcon(mime){
- mime=mime.substr(0,mime.indexOf('/'));
- var knownMimes=['image','audio'];
- if(knownMimes.indexOf(mime)==-1){
- mime='file';
+function getMimeIcon(mime, ready){
+ if(getMimeIcon.cache[mime]){
+ ready(getMimeIcon.cache[mime]);
+ }else{
+ $.get( OC.filePath('files','ajax','mimeicon.php')+'?mime='+mime, function(path){
+ getMimeIcon.cache[mime]=path;
+ ready(getMimeIcon.cache[mime]);
+ });
}
- return OC.imagePath('core','filetypes/'+mime);
}
+getMimeIcon.cache={};