casc-cesium
Version:
Vue 3.x components for CesiumJS.
1 lines • 19.6 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/controls/compass/index.ts"],"sourcesContent":["import type { VNode } from 'vue'\nimport { defineComponent, getCurrentInstance, ref, computed, nextTick, CSSProperties, watch, reactive, createCommentVNode, h } from 'vue'\nimport usePosition from 'casc-cesium-composables/private/use-position'\nimport type { VcCompassEvt, VcBtnTooltipProps, VcComponentInternalInstance, VcReadyObject, VcComponentPublicInstance } from 'casc-cesium-utils/types'\nimport { $, getVcParentInstance } from 'casc-cesium-utils/private/vm'\nimport { defaultProps, defaultOptions } from './defaultProps'\nimport { hMergeSlot } from 'casc-cesium-utils/private/render'\nimport { VcBtn, VcIcon, VcTooltip } from 'casc-cesium-components/ui'\nimport type { VcBtnRef } from 'casc-cesium-components/ui'\nimport { useCommon, useLocale } from 'casc-cesium-composables'\nimport useCompass from './use-compass'\nimport { commonEmits } from 'casc-cesium-utils/emits'\n\nconst emits = {\n ...commonEmits,\n compassEvt: (evt: VcCompassEvt) => true\n}\nexport const compassProps = defaultProps\nexport default defineComponent({\n name: 'VcCompass',\n props: compassProps,\n emits: emits,\n setup(props: VcCompassProps, ctx) {\n // state\n const instance = getCurrentInstance() as VcComponentInternalInstance\n instance.cesiumClass = 'VcCompass'\n const commonState = useCommon(props, ctx, instance)\n if (commonState === void 0) {\n return\n }\n const { t } = useLocale()\n const parentInstance = getVcParentInstance(instance)\n const { $services } = commonState\n const compassState = useCompass(props, ctx, instance)\n const positionState = usePosition(props, $services)\n const rootRef = ref<HTMLElement>(null)\n const outerRingRef = ref<VcBtnRef>(null)\n const hasVcNavigation = parentInstance.proxy?.$options.name === 'VcNavigation'\n const canRender = ref(hasVcNavigation)\n const rootStyle = reactive<CSSProperties>({})\n // watch\n watch(\n () => props,\n val => {\n nextTick(() => {\n if (!instance.mounted) {\n return\n }\n updateRootStyle()\n })\n },\n {\n deep: true\n }\n )\n // computed\n const innerOptions = computed(() => {\n return Object.assign({}, defaultOptions.innerOptions, props.innerOptions)\n })\n const outerOptions = computed(() => {\n return Object.assign({}, defaultOptions.outerOptions, props.outerOptions)\n })\n const markerOptions = computed(() => {\n return Object.assign({}, defaultOptions.markerOptions, props.markerOptions)\n })\n const outerCircleStyle = computed(() => {\n return {\n transform: 'translate(-50%,-50%) rotate(-' + compassState.heading.value + 'rad)',\n WebkitTransform: 'translate(-50%,-50%) rotate(-' + compassState.heading.value + 'rad)',\n // transform: 'rotate(-' + heading.value + 'rad)',\n // WebkitTransform: 'rotate(-' + heading.value + 'rad)',\n opacity: undefined,\n background: outerOptions.value.background,\n color: outerOptions.value.color\n }\n })\n const rotationMarkerStyle = computed(() => {\n return {\n transform: 'rotate(-' + compassState.orbitCursorAngle.value + 'rad)',\n WebkitTransform: 'rotate(-' + compassState.orbitCursorAngle.value + 'rad)',\n opacity: compassState.orbitCursorOpacity.value,\n color: markerOptions.value.color\n }\n })\n const innerRingStyle = computed(() => {\n const css: CSSProperties = {\n background: innerOptions.value.background,\n color: innerOptions.value.color\n }\n return css\n })\n\n // methods\n instance.createCesiumObject = async () => {\n canRender.value = true\n const { viewer } = $services\n return new Promise((resolve, reject) => {\n nextTick(() => {\n if (!hasVcNavigation && props.teleportToViewer) {\n const viewerElement = (viewer as any)._element\n viewerElement.appendChild($(rootRef))\n resolve($(rootRef))\n } else {\n resolve($(rootRef))\n }\n })\n })\n }\n instance.mount = async () => {\n updateRootStyle()\n const { viewer } = $services\n viewer.viewerWidgetResized?.raiseEvent({\n type: instance.cesiumClass,\n status: 'mounted',\n target: $(rootRef)\n })\n return compassState.load($services.viewer)\n }\n instance.unmount = async () => {\n const { viewer } = $services\n const viewerElement = (viewer as any)._element\n if (!hasVcNavigation) {\n viewerElement.contains($(rootRef)) && viewerElement.removeChild($(rootRef))\n }\n viewer.viewerWidgetResized?.raiseEvent({\n type: instance.cesiumClass,\n status: 'unmounted',\n target: $(rootRef)\n })\n return compassState.unload()\n }\n\n const updateRootStyle = () => {\n const css: CSSProperties = positionState.style.value\n const outerRingTarget = $(outerRingRef)?.$el as HTMLElement\n if (outerRingTarget !== void 0) {\n const clientRect = outerRingTarget.getBoundingClientRect()\n css.width = `${clientRect.width}px`\n css.height = `${clientRect.height}px`\n }\n\n if (typeof props.teleportToViewer === 'undefined' || props.teleportToViewer) {\n rootStyle.left = css.left\n rootStyle.top = css.top\n rootStyle.transform = css.transform\n const side = positionState.attach.value\n if (outerRingTarget !== void 0) {\n if ((side.bottom || side.top) && !side.left && !side.right) {\n css.left = '50%'\n css.transform = 'translate(-50%, 0)'\n }\n\n if ((side.left || side.right) && !side.top && !side.bottom) {\n css.top = '50%'\n css.transform = 'translate(0, -50%)'\n }\n }\n }\n\n Object.assign(rootStyle, css)\n }\n\n return () => {\n if (canRender.value) {\n let children: Array<VNode> = []\n children = hMergeSlot(ctx.slots.default, children)\n children.push(\n h(\n VcBtn,\n {\n ref: outerRingRef,\n class: 'vc-compass-outerRing absolute-center',\n style: outerCircleStyle.value,\n size: outerOptions.value.size,\n dense: true,\n round: true,\n disabled: !props.enableCompassOuterRing\n },\n () => [\n h(VcIcon, {\n size: outerOptions.value.size,\n name: outerOptions.value.icon\n }),\n outerOptions.value.tooltip\n ? h(\n VcTooltip,\n {\n ref: compassState.iconOuterTooltipRef,\n ...outerOptions.value.tooltip,\n onBeforeShow: compassState.onTooltipBeforeShow\n },\n () => h('strong', {}, outerOptions.value.tooltip.tip || t('vc.navigation.compass.outerTip'))\n )\n : createCommentVNode('v-if')\n ]\n )\n )\n\n children.push(\n h(\n VcBtn,\n {\n class: 'vc-compass-innerRing absolute-center',\n style: innerRingStyle.value,\n size: innerOptions.value.size,\n dense: true,\n round: true\n },\n () => [\n h(VcIcon, {\n size: innerOptions.value.size,\n name: innerOptions.value.icon\n }),\n innerOptions.value.tooltip\n ? h(\n VcTooltip,\n {\n ref: compassState.iconInnerTooltipRef,\n ...innerOptions.value.tooltip,\n onBeforeShow: compassState.onTooltipBeforeShow\n },\n () => h('strong', {}, innerOptions.value.tooltip.tip || t('vc.navigation.compass.innerTip'))\n )\n : createCommentVNode('v-if')\n ]\n )\n )\n\n children.push(\n rotationMarkerStyle.value.opacity\n ? h(\n VcBtn,\n {\n class: 'vc-compass-rotation-marker absolute-center',\n dense: true,\n round: true\n },\n () => [\n h(VcIcon, {\n size: markerOptions.value.size,\n name: markerOptions.value.icon,\n style: rotationMarkerStyle.value\n })\n ]\n )\n : createCommentVNode('v-if')\n )\n\n return h(\n 'div',\n {\n ref: rootRef,\n class: `vc-compass ${positionState.classes.value} ${props.customClass}`,\n style: rootStyle,\n onDblclick: compassState.handleDoubleClick,\n onMousedown: compassState.handleMouseDown,\n onMouseup: compassState.resetRotater,\n onTouchend: compassState.resetRotater,\n onTouchstart: compassState.handleMouseDown\n },\n children\n )\n } else {\n return createCommentVNode('v-if')\n }\n }\n }\n})\n\nexport type VcCompassEmits = typeof emits\nexport type VcCompassProps = {\n /**\n * Specify the position of the VcCompass.\n * Default value: top-right\n */\n position?: 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left' | 'top' | 'right' | 'bottom' | 'left'\n /**\n * An array of two numbers to offset the VcCompass horizontally and vertically in pixels.\n * Default value: [0, 0]\n */\n offset?: [number, number]\n /**\n * Specify whether the outer ring of the compass can be operated.\n */\n enableCompassOuterRing?: boolean\n /**\n * Specify the flight time to restore the camera, in seconds.\n */\n duration?: number\n /**\n * Specify the parameters of the compass outer ring.\n */\n outerOptions?: VcBtnTooltipProps\n /**\n * Specify the parameters of the inner ring.\n */\n innerOptions?: VcBtnTooltipProps\n /**\n * Specify the parameters of the maker when the compass rotates.\n */\n markerOptions?: VcBtnTooltipProps\n /**\n * Specify the customClass of the vc-compass.\n */\n customClass?: string\n /**\n * Specify whether to add to the cesium-viewer node.\n * Default value: true\n */\n teleportToViewer?: boolean\n /**\n * Triggers before the VcCompass is loaded.\n */\n onBeforeLoad?: (instance: VcComponentInternalInstance) => void\n /**\n * Triggers when the VcCompass is successfully loaded.\n */\n onReady?: (readyObject: VcReadyObject) => void\n /**\n * Triggers when the component load failed.\n */\n onUnready?: (e: any) => void\n /**\n * Triggers when the VcCompass is destroyed.\n */\n onDestroyed?: (instance: VcComponentInternalInstance) => void\n /**\n * Triggers when the VcCompass is operated.\n */\n onCompassEvt?: (evt: VcCompassEvt) => void\n}\n\nexport type VcCompassRef = VcComponentPublicInstance<VcCompassProps>\n"],"names":[],"mappings":"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"}