UNPKG

vue-cesium

Version:
1 lines 6.8 kB
{"version":3,"file":"print-view.mjs","sources":["../../../../../../packages/components/controls/print/print-view.ts"],"sourcesContent":["import { defineComponent, getCurrentInstance, onMounted, onUnmounted, ref, h, createCommentVNode, VNode } from 'vue'\nimport { AnyFunction, VcComponentInternalInstance } from '@vue-cesium/utils/types'\nimport { useLocale } from '@vue-cesium/composables'\n\nconst VcPrintView = defineComponent({\n name: 'VcPrintView',\n props: {\n options: Object\n },\n setup(props) {\n // state\n const ready = ref(false)\n const printingStarted = ref(false)\n const instance = getCurrentInstance() as VcComponentInternalInstance\n instance.cesiumClass = 'VcPrintView'\n const { t } = useLocale()\n // methods\n const checkForImagesReady = () => {\n if (ready.value) {\n return\n }\n\n const imageTags = props.options?.printWindow.document.getElementsByTagName('img')\n if (imageTags.length === 0) {\n return\n }\n\n let allImagesReady = true\n for (let i = 0; allImagesReady && i < imageTags.length; ++i) {\n allImagesReady = imageTags[i].complete\n }\n\n if (allImagesReady) {\n stopCheckingForImages()\n ready.value = allImagesReady\n\n if (ready.value && !printingStarted.value) {\n if (props.options?.readyCallback) {\n props.options.readyCallback(props.options.printWindow)\n }\n printingStarted.value = true\n }\n }\n }\n\n let _stopCheckingForImages: AnyFunction<void>\n\n const stopCheckingForImages = () => {\n if (_stopCheckingForImages) {\n _stopCheckingForImages()\n }\n }\n\n onMounted(() => {\n const printWindow = props.options?.printWindow\n const mainWindow = window\n\n const printWindowIntervalId = printWindow?.setInterval(checkForImagesReady, 200)\n const mainWindowIntervalId = mainWindow.setInterval(checkForImagesReady, 200)\n\n _stopCheckingForImages = () => {\n printWindow.clearInterval(printWindowIntervalId)\n mainWindow.clearInterval(mainWindowIntervalId)\n ;(_stopCheckingForImages as any) = undefined\n }\n })\n\n onUnmounted(() => {\n stopCheckingForImages()\n })\n\n return () => {\n const child: Array<VNode> = []\n child.push(\n h(\n 'p',\n {},\n h('img', {\n src: props.options?.image,\n alt: t('vc.navigation.screenshot'),\n class: 'vc-map-image'\n })\n )\n )\n if (props.options?.credits.length && props.options?.showCredit) {\n child.push(h('h1', {}, t('vc.navigation.credit')))\n } else {\n child.push(createCommentVNode('v-if'))\n }\n if (props.options?.credits.length && props.options?.showCredit) {\n const inner: Array<VNode> = []\n props.options?.credits.forEach(credit => {\n inner.push(\n h('li', {\n innerHTML: credit\n })\n )\n })\n child.push(h('ul', {}, inner))\n } else {\n child.push(createCommentVNode('v-if'))\n }\n return h('div', {}, child)\n }\n }\n})\n\nexport default VcPrintView\n"],"names":[],"mappings":"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"}