<template> <div class="grid-view__cell grid-field-file__cell active"> <div v-if="value" class="grid-field-file__item"> <a class="grid-field-file__link" @click.prevent="onClick"> <img v-if="value.is_image" class="grid-field-file__image" :src="value?.thumbnails?.tiny?.url" /> <i v-else class="grid-field-file__icon" :class="getIconClass(value.mime_type)" ></i> </a> <SingleFileArrayModal ref="modal" :value="[value]"></SingleFileArrayModal> </div> </div> </template> <script> import { mimetype2icon } from '@baserow/modules/core/utils/fileTypeToIcon' import SingleFileArrayModal from '@baserow/modules/database/components/view/grid/fields/SingleFileArrayModal' import gridField from '@baserow/modules/database/mixins/gridField' export default { name: 'GridViewSingleFile', components: { SingleFileArrayModal }, mixins: [gridField], props: { value: { type: Object, required: false, default: null, }, }, methods: { getIconClass(mimeType) { return mimetype2icon(mimeType) }, onClick() { this.$refs?.modal?.show(0) }, }, } </script>