UNPKG

vue-files-preview-inno

Version:

A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.

1 lines 2.02 kB
{"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 emit = defineEmits<{\n rendered: []\n error: [error: Error]\n}>()\n\nconst fileRender = ref(null)\nwatch(\n () => props.file,\n (file) => {\n if (file) {\n getFileRenderByFile(file).then((render) => {\n fileRender.value = render\n emit('rendered')\n }).catch((e: Error) => {\n emit('error', e)\n })\n }\n },\n { immediate: true },\n)\n\nwatch(\n () => props.url,\n (url) => {\n if (url) {\n fileRender.value = url\n emit('rendered')\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","emit","__emit","fileRender","ref","watch","file","getFileRenderByFile","render","e","url","_openBlock","_createElementBlock","_hoisted_1","_createElementVNode","_unref"],"mappings":";;;;;;;;;;;AAKA,UAAMA,IAAQC,GAKRC,IAAOC,GAKPC,IAAaC,EAAI,IAAI;AAC3B,WAAAC;AAAA,MACE,MAAMN,EAAM;AAAA,MACZ,CAACO,MAAS;AACR,QAAIA,KACFC,EAAoBD,CAAI,EAAE,KAAK,CAACE,MAAW;AACzC,UAAAL,EAAW,QAAQK,GACnBP,EAAK,UAAU;AAAA,QACjB,CAAC,EAAE,MAAM,CAACQ,MAAa;AACrB,UAAAR,EAAK,SAASQ,CAAC;AAAA,QACjB,CAAC;AAAA,MAEL;AAAA,MACA,EAAE,WAAW,GAAA;AAAA,IAAK,GAGpBJ;AAAA,MACE,MAAMN,EAAM;AAAA,MACZ,CAACW,MAAQ;AACP,QAAIA,MACFP,EAAW,QAAQO,GACnBT,EAAK,UAAU;AAAA,MAEnB;AAAA,MACA,EAAE,WAAW,GAAA;AAAA,IAAK,cAKlBU,EAAA,GAAAC,EAEM,OAFNC,GAEM;AAAA,MADJC,EAA+D,UAAA;AAAA,QAAvD,OAAM;AAAA,QAAc,KAAKC,EAAAZ,CAAA;AAAA,QAAY,aAAY;AAAA,MAAA;;;;"}