{"version":3,"file":"use-drawing-action.mjs","sources":["../../../../../packages/composables/use-drawing/use-drawing-action.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2021-10-15 09:47:36\n * @LastEditTime: 2022-07-25 17:36:49\n * @LastEditors: zouyaoji\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\composables\\use-drawing\\use-drawing-action.ts\n */\n// import { enableMouseEvent } from '@vue-cesium/utils/cesium-props'\nimport type { VcReadyObject, VcComponentInternalInstance, VcComponentPublicInstance, VcDrawingProvider, VcPickEvent } from '@vue-cesium/utils/types'\nimport { ref, computed } from 'vue'\nimport { useLocale } from '../use-locale'\nimport { DrawStatus } from '@vue-cesium/shared'\nimport useTimeout from '@vue-cesium/composables/private/use-timeout'\nimport { kebabCase } from '@vue-cesium/utils/util'\nimport { VcDrawTipOpts } from '@vue-cesium/utils/drawing-types'\n\nexport default function (props, ctx, instance: VcComponentInternalInstance, cmpName: string, $services: VcDrawingProvider) {\n  instance.cesiumClass = cmpName\n  instance.cesiumEvents = []\n  const { t } = useLocale()\n  const { emit } = ctx\n  const tips = kebabCase(cmpName).split('-')\n  if (cmpName === 'VcMeasurementDistance' && props.showComponentLines) {\n    tips[2] = 'component-distance'\n  }\n  if (cmpName === 'VcDrawingRegular' || cmpName === 'VcMeasurementRegular') {\n    if (props.edge === 4) {\n      tips[2] = 'rectangle'\n    }\n    if (props.edge === 360) {\n      tips[2] = 'circle'\n    }\n  }\n  let drawingType = tips[2]\n\n  tips[3] && (drawingType = `${tips[2]}-${tips[3]}`)\n\n  const drawTip = ref('')\n  const drawTipOpts = computed<VcDrawTipOpts>(() => {\n    return {\n      drawingTipStart: props.drawtip.drawingTipStart || t(`${tips[0]}.${tips[1]}.${tips[2]}.drawingTipStart`),\n      drawingTipEnd: props.drawtip.drawingTipEnd || t(`${tips[0]}.${tips[1]}.${tips[2]}.drawingTipEnd`),\n      drawingTipEditing: props.drawtip.drawingTipEditing || t(`${tips[0]}.${tips[1]}.${tips[2]}.drawingTipEditing`)\n    }\n  })\n\n  const drawStatus = ref(DrawStatus.BeforeDraw)\n  const canShowDrawTip = ref(false)\n  const drawTipPosition = ref<Array<number> | Cesium.Cartesian3>([0, 0, 0])\n  const showEditor = ref(false)\n  const editorPosition = ref<Array<number> | Cesium.Cartesian3>([0, 0, 0])\n  const mouseoverPoint = ref<any>(null)\n  const editingPoint = ref<any>(null)\n  const primitiveCollectionRef = ref<VcComponentPublicInstance>(null!)\n  const editorType = ref('')\n\n  const { registerTimeout, removeTimeout } = useTimeout()\n\n  // methods\n  instance.createCesiumObject = async () => {\n    return primitiveCollectionRef\n  }\n\n  const onMouseoverPoints = (e: VcPickEvent) => {\n    const { drawingHandlerActive, viewer } = $services\n    if (props.editable && drawStatus.value !== DrawStatus.Drawing && drawingHandlerActive) {\n      e.pickedFeature.primitive.pixelSize = props.pointOpts?.pixelSize * 1.5\n      removeTimeout()\n      registerTimeout(() => {\n        mouseoverPoint.value = e.pickedFeature.primitive\n        editorPosition.value = e.pickedFeature.primitive.position\n        showEditor.value = true\n        canShowDrawTip.value = false\n        drawTipPosition.value = [0, 0, 0]\n      }, props.editorOpts?.delay)\n    }\n\n    emit(\n      'mouseEvt',\n      {\n        type: e.type,\n        name: drawingType,\n        target: e\n      },\n      viewer\n    )\n  }\n\n  const onMouseoutPoints = (e: VcPickEvent) => {\n    const { viewer, selectedDrawingActionInstance } = $services\n    if (props.editable) {\n      e.pickedFeature.primitive.pixelSize = props.pointOpts?.pixelSize * 1.0\n      removeTimeout()\n      registerTimeout(() => {\n        editorPosition.value = [0, 0, 0]\n        mouseoverPoint.value = undefined\n        showEditor.value = false\n      }, props.editorOpts?.hideDelay)\n      selectedDrawingActionInstance && (canShowDrawTip.value = true)\n    }\n\n    emit(\n      'mouseEvt',\n      {\n        type: e.type,\n        name: drawingType,\n        target: e\n      },\n      viewer\n    )\n  }\n\n  const onMouseenterEditor = evt => {\n    removeTimeout()\n  }\n\n  const onMouseleaveEditor = evt => {\n    removeTimeout()\n    registerTimeout(() => {\n      editorPosition.value = [0, 0, 0]\n      mouseoverPoint.value.pixelSize = props.pointOpts?.pixelSize * 1.0\n      mouseoverPoint.value = undefined\n      showEditor.value = false\n    }, props.editorOpts?.hideDelay)\n  }\n\n  const onPrimitiveCollectionReady = (readyObj: VcReadyObject) => {\n    ;(readyObj.cesiumObject as any)._vcId = cmpName\n  }\n\n  const onVcCollectionPointReady = function (e: VcReadyObject) {\n    const { cesiumObject: pointPrimitiveCollection } = e as any\n    const originalUpdate = pointPrimitiveCollection.update\n\n    pointPrimitiveCollection.update = function (frameState) {\n      const originalLength = frameState.commandList.length\n      originalUpdate.call(this, frameState)\n      const endLength = frameState.commandList.length\n      for (let i = originalLength; i < endLength; ++i) {\n        frameState.commandList[i].pass = Cesium['Pass'].TRANSLUCENT\n        frameState.commandList[i].renderState = Cesium['RenderState'].fromCache({\n          depthTest: {\n            enabled: false\n          },\n          depthMask: false\n        })\n      }\n    }\n  }\n\n  const onVcCollectionLabelReady = (e: VcReadyObject) => {\n    if (props.disableDepthTest) return\n    const labelCollection = e.cesiumObject as any\n    const originalUpdate = labelCollection.update\n\n    labelCollection.update = function (frameState) {\n      const originalLength = frameState.commandList.length\n      originalUpdate.call(this, frameState)\n      const endLength = frameState.commandList.length\n      for (let i = originalLength; i < endLength; ++i) {\n        frameState.commandList[i].pass = Cesium['Pass'].OVERLAY\n        frameState.commandList[i].renderState = Cesium['RenderState'].fromCache({\n          depthTest: {\n            enabled: false\n          },\n          depthMask: false,\n          blending: Cesium.BlendingState.ALPHA_BLEND\n        })\n      }\n    }\n  }\n\n  const onVcPrimitiveReady = (e: VcReadyObject) => {\n    if (props.disableDepthTest) return\n\n    const primitive = e.cesiumObject as any\n    const originalPrimitiveUpdate = primitive.update\n\n    primitive.update = function (frameState) {\n      const originalLength = frameState.commandList.length\n      originalPrimitiveUpdate.call(this, frameState)\n      const endLength = frameState.commandList.length\n      for (let i = originalLength; i < endLength; ++i) {\n        if (frameState.commandList[i].pass !== Cesium['Pass'].TRANSLUCENT) {\n          continue\n        }\n        frameState.commandList[i].pass = Cesium['Pass'].OPAQUE\n        frameState.commandList[i].renderState = Cesium['RenderState'].fromCache({\n          depthTest: {\n            enabled: false\n          },\n          depthMask: false,\n          blending: Cesium.BlendingState.ALPHA_BLEND\n        })\n      }\n    }\n  }\n\n  return {\n    drawingType,\n    drawTip,\n    drawTipOpts,\n    drawStatus,\n    canShowDrawTip,\n    drawTipPosition,\n    showEditor,\n    editorPosition,\n    mouseoverPoint,\n    editingPoint,\n    primitiveCollectionRef,\n    editorType,\n    onMouseoverPoints,\n    onMouseoutPoints,\n    onMouseenterEditor,\n    onMouseleaveEditor,\n    onPrimitiveCollectionReady,\n    onVcCollectionPointReady,\n    onVcPrimitiveReady,\n    onVcCollectionLabelReady\n  }\n}\n"],"names":["_a"],"mappings":"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"}