{"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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"}