vue-files-preview
Version:
A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.
1 lines • 1.47 kB
Source Map (JSON)
{"version":3,"file":"index.vue2.mjs","sources":["../../../../../../packages/preview/supports/pdf-preview/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { watch } from 'vue'\nimport type { PreviewProps } from '../../preview.interface'\nimport { getFileRenderByFile } from '../../utils/utils'\n\nconst props = withDefaults(defineProps<PreviewProps>(), {\n url: () => null,\n file: () => null,\n})\n\nconst fileRender = ref(null)\nwatch(\n () => props.file,\n (file) => {\n if (file) {\n getFileRenderByFile(file).then(render => (fileRender.value = render))\n }\n },\n { immediate: true },\n)\n\nwatch(\n () => props.url,\n (url) => {\n if (url) {\n fileRender.value = url\n }\n },\n { immediate: true },\n)\n</script>\n\n<template>\n <div class=\"pdf-preview\">\n <iframe class=\"pdf-iframe\" :src=\"fileRender\" frameborder=\"0\" />\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n.pdf-iframe {\n width: 100%;\n height: 100vh;\n}\n</style>\n"],"names":["props","__props","fileRender","ref","watch","file","getFileRenderByFile","render","url"],"mappings":";;;;;;;;;;AAKA,UAAMA,IAAQC,GAKRC,IAAaC,EAAI,IAAI;AAC3B,WAAAC;AAAA,MACE,MAAMJ,EAAM;AAAA,MACZ,CAACK,MAAS;AACR,QAAIA,KACFC,EAAoBD,CAAI,EAAE,KAAK,CAAWE,MAAAL,EAAW,QAAQK,CAAO;AAAA,MAExE;AAAA,MACA,EAAE,WAAW,GAAK;AAAA,IAAA,GAGpBH;AAAA,MACE,MAAMJ,EAAM;AAAA,MACZ,CAACQ,MAAQ;AACP,QAAIA,MACFN,EAAW,QAAQM;AAAA,MAEvB;AAAA,MACA,EAAE,WAAW,GAAK;AAAA,IAAA;;;;;;;;;"}