aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/src
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files/src')
-rw-r--r--apps/files/src/sidebar.js8
-rw-r--r--apps/files/src/views/Sidebar.vue37
2 files changed, 40 insertions, 5 deletions
diff --git a/apps/files/src/sidebar.js b/apps/files/src/sidebar.js
index b508e8aee20..2f6b898f328 100644
--- a/apps/files/src/sidebar.js
+++ b/apps/files/src/sidebar.js
@@ -31,11 +31,13 @@ Vue.use(VueClipboard)
Vue.prototype.t = t
window.addEventListener('DOMContentLoaded', () => {
+
// Init Sidebar Service
- if (window.OCA && window.OCA.Files) {
- Object.assign(window.OCA.Files, { Sidebar: new Sidebar() })
- Object.assign(window.OCA.Files.Sidebar, { Tab })
+ if (!window.OCA.Files) {
+ window.OCA.Files = {}
}
+ Object.assign(window.OCA.Files, { Sidebar: new Sidebar() })
+ Object.assign(window.OCA.Files.Sidebar, { Tab })
// Make sure we have a proper layout
if (document.getElementById('content')) {
diff --git a/apps/files/src/views/Sidebar.vue b/apps/files/src/views/Sidebar.vue
index 47a2174b8cb..1758b510b17 100644
--- a/apps/files/src/views/Sidebar.vue
+++ b/apps/files/src/views/Sidebar.vue
@@ -199,6 +199,8 @@ export default {
defaultAction() {
return this.fileInfo
&& OCA.Files && OCA.Files.App && OCA.Files.App.fileList
+ && OCA.Files.App.fileList.fileActions
+ && OCA.Files.App.fileList.fileActions.getDefaultFileAction
&& OCA.Files.App.fileList
.fileActions.getDefaultFileAction(this.fileInfo.mimetype, this.fileInfo.type, OC.PERMISSION_READ)
@@ -239,7 +241,7 @@ export default {
})
} catch (error) {
this.error = t('files', 'Error while loading the file data')
- console.error('Error while loading the file data')
+ console.error('Error while loading the file data', error)
}
}
}
@@ -272,11 +274,42 @@ export default {
}
})
},
+
getPreviewIfAny(fileInfo) {
if (fileInfo.hasPreview) {
return OC.generateUrl(`/core/preview?fileId=${fileInfo.id}&x=${screen.width}&y=${screen.height}&a=true`)
}
- return OCA.Files.App.fileList._getIconUrl(fileInfo)
+ return this.getIconUrl(fileInfo)
+ },
+
+ /**
+ * Copied from https://github.com/nextcloud/server/blob/16e0887ec63591113ee3f476e0c5129e20180cde/apps/files/js/filelist.js#L1377
+ * TODO: We also need this as a standalone library
+ *
+ * @param {Object} fileInfo the fileinfo
+ * @returns {string} Url to the icon for mimeType
+ */
+ getIconUrl(fileInfo) {
+ var mimeType = fileInfo.mimetype || 'application/octet-stream'
+ if (mimeType === 'httpd/unix-directory') {
+ // use default folder icon
+ if (fileInfo.mountType === 'shared' || fileInfo.mountType === 'shared-root') {
+ return OC.MimeType.getIconUrl('dir-shared')
+ } else if (fileInfo.mountType === 'external-root') {
+ return OC.MimeType.getIconUrl('dir-external')
+ } else if (fileInfo.mountType !== undefined && fileInfo.mountType !== '') {
+ return OC.MimeType.getIconUrl('dir-' + fileInfo.mountType)
+ } else if (fileInfo.shareTypes && (
+ fileInfo.shareTypes.indexOf(OC.Share.SHARE_TYPE_LINK) > -1
+ || fileInfo.shareTypes.indexOf(OC.Share.SHARE_TYPE_EMAIL) > -1)
+ ) {
+ return OC.MimeType.getIconUrl('dir-public')
+ } else if (fileInfo.shareTypes && fileInfo.shareTypes.length > 0) {
+ return OC.MimeType.getIconUrl('dir-shared')
+ }
+ return OC.MimeType.getIconUrl('dir')
+ }
+ return OC.MimeType.getIconUrl(mimeType)
},
tabComponent(tab) {