summaryrefslogtreecommitdiffstats
path: root/apps/files/js
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-10-29 15:40:15 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2015-10-29 15:40:15 +0100
commit774d069ff08e21ecdac1fceec80e162f5917105e (patch)
tree46344b8906afe533e629d46d3de7107a5629de94 /apps/files/js
parent1ce911d2f994d105660598ce518b02238502258f (diff)
parent9c9158e6b78c69835cb7280810819fb2cd6f84f7 (diff)
downloadnextcloud-server-774d069ff08e21ecdac1fceec80e162f5917105e.tar.gz
nextcloud-server-774d069ff08e21ecdac1fceec80e162f5917105e.zip
Merge pull request #20122 from owncloud/files-consolidateiconupdate
Fix icon update to be more consistent
Diffstat (limited to 'apps/files/js')
-rw-r--r--apps/files/js/filelist.js22
-rw-r--r--apps/files/js/mainfileinfodetailview.js4
2 files changed, 21 insertions, 5 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index c84d6c3c47d..99804b1b9be 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -767,7 +767,7 @@
*/
elementToFile: function($el){
$el = $($el);
- return {
+ var data = {
id: parseInt($el.attr('data-id'), 10),
name: $el.attr('data-file'),
mimetype: $el.attr('data-mime'),
@@ -777,6 +777,15 @@
etag: $el.attr('data-etag'),
permissions: parseInt($el.attr('data-permissions'), 10)
};
+ var icon = $el.attr('data-icon');
+ if (icon) {
+ data.icon = icon;
+ }
+ var mountType = $el.attr('data-mounttype');
+ if (mountType) {
+ data.mountType = mountType;
+ }
+ return data;
},
/**
@@ -899,11 +908,12 @@
mtime = parseInt(fileData.mtime, 10),
mime = fileData.mimetype,
path = fileData.path,
+ dataIcon = null,
linkUrl;
options = options || {};
if (isNaN(mtime)) {
- mtime = new Date().getTime()
+ mtime = new Date().getTime();
}
if (type === 'dir') {
@@ -911,6 +921,7 @@
if (fileData.mountType && fileData.mountType.indexOf('external') === 0) {
icon = OC.MimeType.getIconUrl('dir-external');
+ dataIcon = icon;
}
}
@@ -926,6 +937,11 @@
"data-permissions": fileData.permissions || this.getDirectoryPermissions()
});
+ if (dataIcon) {
+ // icon override
+ tr.attr('data-icon', dataIcon);
+ }
+
if (fileData.mountType) {
tr.attr('data-mounttype', fileData.mountType);
}
@@ -1177,7 +1193,7 @@
// display actions
this.fileActions.display(filenameTd, !options.silent, this);
- if (fileData.isPreviewAvailable) {
+ if (fileData.isPreviewAvailable && mime !== 'httpd/unix-directory') {
var iconDiv = filenameTd.find('.thumbnail');
// lazy load / newly inserted td ?
// the typeof check ensures that the default value of animate is true
diff --git a/apps/files/js/mainfileinfodetailview.js b/apps/files/js/mainfileinfodetailview.js
index abf7da52ff4..69c796e492f 100644
--- a/apps/files/js/mainfileinfodetailview.js
+++ b/apps/files/js/mainfileinfodetailview.js
@@ -128,8 +128,8 @@
$iconDiv.addClass('icon-loading icon-32');
this.loadPreview(this.model.getFullPath(), this.model.get('mimetype'), this.model.get('etag'), $iconDiv, $container, this.model.isImage());
} else {
- // TODO: special icons / shared / external
- $iconDiv.css('background-image', 'url("' + OC.MimeType.getIconUrl('dir') + '")');
+ var iconUrl = this.model.get('icon') || OC.MimeType.getIconUrl('dir');
+ $iconDiv.css('background-image', 'url("' + iconUrl + '")');
OC.Util.scaleFixForIE8($iconDiv);
}
this.$el.find('[title]').tooltip({placement: 'bottom'});