vue-files-preview-inno
Version:
A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.
42 lines (41 loc) • 1.06 kB
JavaScript
import { defineComponent as a, ref as c, watch as l, openBlock as m, createElementBlock as s, createElementVNode as f, unref as u } from "vue";
import { getFileRenderByFile as p } from "../../utils/utils.mjs";
const _ = { class: "pdf-preview" }, h = ["src"], B = /* @__PURE__ */ a({
__name: "index",
props: {
file: { default: () => null },
url: { default: () => null },
name: {}
},
emits: ["rendered", "error"],
setup(o, { emit: d }) {
const i = o, t = d, n = c(null);
return l(
() => i.file,
(e) => {
e && p(e).then((r) => {
n.value = r, t("rendered");
}).catch((r) => {
t("error", r);
});
},
{ immediate: !0 }
), l(
() => i.url,
(e) => {
e && (n.value = e, t("rendered"));
},
{ immediate: !0 }
), (e, r) => (m(), s("div", _, [
f("iframe", {
class: "pdf-iframe",
src: u(n),
frameborder: "0"
}, null, 8, h)
]));
}
});
export {
B as default
};
//# sourceMappingURL=index.vue2.mjs.map