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