Show correct icon per type of file in document tool

pull/4715/head
Daniel Gayoso González 2 years ago
parent c513b8a6ea
commit c7bf437b2c
  1. 1
      assets/vue/components/basecomponents/ChamiloIcons.js
  2. 12
      assets/vue/components/documents/DocumentEntry.vue
  3. 7
      assets/vue/components/documents/ResourceFileLink.vue
  4. 16
      assets/vue/components/documents/ResourceIcon.vue

@ -54,6 +54,7 @@ export const chamiloIconToClass = {
"file-image": "mdi mdi-file-image",
"file-video": "mdi mdi-file-video",
"file-pdf": "mdi mdi-file-pdf-box",
"file-text": "mdi mdi-file-document",
"folder-generic": "mdi mdi-folder",
"folder-multiple-plus": "mdi mdi-folder-multiple-plus",
"folder-plus": "mdi mdi-folder-plus",

@ -6,7 +6,7 @@
:href="data.contentUrl"
:data-type="dataType"
>
<ResourceIcon class="mr-2" :file-type="data.filetype" />
<ResourceIcon class="mr-2" :resource-data="data" />
{{ data.title }}
</a>
</div>
@ -19,7 +19,7 @@
query: folderParams,
}"
>
<ResourceIcon class="mr-2" file-type="folder"/>
<ResourceIcon class="mr-2" :resource-data="data"/>
<b>{{ data.resourceNode.title }}</b>
</RouterLink>
</div>
@ -37,10 +37,14 @@ const props = defineProps({
});
const dataType = computed(() => {
if (props.data.resourceNode.resourceFile.image) {
let resourceFile = props.data.resourceNode.resourceFile;
if (resourceFile === null) {
return '';
}
if (resourceFile.image) {
return 'image';
}
if (props.data.resourceNode.resourceFile.video) {
if (resourceFile.video) {
return 'video';
}

@ -4,7 +4,7 @@
:href="resource.contentUrl"
:data-type="getDataType"
>
<ResourceIcon :file="resource.resourceNode.resourceFile" />
<ResourceIcon :resource-data="resource" />
{{ resource.title }}
</a>
</template>
@ -29,7 +29,10 @@ export default {
}
},
props: {
resource: Object
resource: {
type: Object,
required: true,
}
},
};
</script>

@ -1,18 +1,22 @@
<template>
<BaseIcon
v-if="fileType === 'image'"
v-if="resourceData.filetype === 'folder'"
icon="folder-generic"
/>
<BaseIcon
v-else-if="resourceData.resourceNode.resourceFile.image"
icon="file-image"
/>
<BaseIcon
v-else-if="fileType === 'video'"
v-else-if="resourceData.resourceNode.resourceFile.video"
icon="file-video"
/>
<BaseIcon
v-else-if="fileType === 'folder'"
icon="folder-generic"
v-else-if="resourceData.resourceNode.resourceFile.text"
icon="file-text"
/>
<BaseIcon
v-else-if="'application/pdf' === fileType.mimeType"
v-else-if="'application/pdf' === resourceData.resourceNode.resourceFile.mimeType"
icon="file-pdf"
/>
<BaseIcon
@ -25,7 +29,7 @@
import BaseIcon from "../basecomponents/BaseIcon.vue";
defineProps({
fileType: {
resourceData: {
type: Object,
required: true,
},

Loading…
Cancel
Save