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.78 kB
{"version":3,"file":"index.vue2.mjs","sources":["../../../../../../packages/preview/supports/xlsx-preview/index.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport VueOfficeExcel from '@vue-office/excel/lib/v3/index.js'\nimport '@vue-office/excel/lib/v3/index.css'\nimport {ref, watch} from 'vue'\nimport type {PreviewProps} from '../../preview.interface'\nimport {getFileRenderByFile, getFileRenderByUrl} from '../../utils/utils'\n\nexport interface ExcelOptions {\n minColLength?: number\n minRowLength?: number\n showContextmenu?: boolean\n}\n\nconst props = withDefaults(\n defineProps<\n PreviewProps & {\n width?: string\n height?: string\n options?: ExcelOptions\n requestOptions?: Record<string, any>\n }\n >(),\n {\n url: () => null,\n file: () => null,\n options: () => ({}),\n requestOptions: () => ({}),\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 && !props.file) {\n getFileRenderByUrl(url).then(render => (fileRender.value = render))\n }\n },\n {immediate: true},\n)\n\nconst emit = defineEmits<{\n rendered: []\n error: [error: Error]\n}>()\n\nfunction renderedHandler(): void {\n emit('rendered')\n}\n\nfunction errorHandler(e: Error): void {\n emit('error', e)\n}\n</script>\n\n<template>\n <div class=\"xlsx-preview\">\n <VueOfficeExcel :src=\"fileRender\" :options=\"options\" :requestOptions=\"requestOptions\" @rendered=\"renderedHandler\" @error=\"errorHandler\"/>\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n.xlsx-preview {\n width: 100%;\n height: 100%;\n}\n</style>\n"],"names":["props","__props","fileRender","ref","watch","file","getFileRenderByFile","render","url","getFileRenderByUrl","emit","__emit","renderedHandler","errorHandler","_openBlock","_createElementBlock","_hoisted_1","_createVNode","_unref","VueOfficeExcel"],"mappings":";;;;;;;;;;;;;;;;;AAaA,UAAMA,IAAQC,GAgBRC,IAAaC,EAAI,IAAI;AAC3B,IAAAC;AAAA,MACE,MAAMJ,EAAM;AAAA,MACZ,CAACK,MAAS;AACR,QAAIA,KACFC,EAAoBD,CAAI,EAAE,KAAK,CAAAE,MAAWL,EAAW,QAAQK,CAAO;AAAA,MAExE;AAAA,MACA,EAAC,WAAW,GAAA;AAAA,IAAI,GAGlBH;AAAA,MACE,MAAMJ,EAAM;AAAA,MACZ,CAACQ,MAAQ;AACP,QAAIA,KAAO,CAACR,EAAM,QAChBS,EAAmBD,CAAG,EAAE,KAAK,CAAAD,MAAWL,EAAW,QAAQK,CAAO;AAAA,MAEtE;AAAA,MACA,EAAC,WAAW,GAAA;AAAA,IAAI;AAGlB,UAAMG,IAAOC;AAKb,aAASC,IAAwB;AAC/B,MAAAF,EAAK,UAAU;AAAA,IACjB;AAEA,aAASG,EAAa,GAAgB;AACpC,MAAAH,EAAK,SAAS,CAAC;AAAA,IACjB;sBAIEI,EAAA,GAAAC,EAEM,OAFNC,GAEM;AAAA,MADJC,EAAyIC,EAAAC,CAAA,GAAA;AAAA,QAAxH,KAAKjB,EAAA;AAAA,QAAa,SAASD,EAAA;AAAA,QAAU,gBAAgBA,EAAA;AAAA,QAAiB,YAAUW;AAAA,QAAkB,SAAOC;AAAA,MAAA;;;;"}