casc-cesium
Version:
Vue 3.x components for CesiumJS.
1 lines • 6.96 kB
Source Map (JSON)
{"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 'casc-cesium-utils/types'\nimport { useLocale } from 'casc-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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"}