{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/measurements/src/index.ts"],"sourcesContent":["import { defineComponent, getCurrentInstance, ref, reactive, computed, VNode } from 'vue'\nimport { measurementsProps, defaultOptions, VcMeasurementsProps } from './defaultProps'\nimport { camelize } from 'casc-cesium-utils/util'\nimport { VcFabActionRef, VcFabProps, VcFabRef } from 'casc-cesium-components/ui'\nimport VcMeasurementDistance from './distance'\nimport VcMeasurementPolyline from './polyline'\nimport VcMeasurementHorizontal from './horizontal'\nimport VcMeasurementVertical from './vertical'\nimport VcMeasurementHeight from './height'\nimport VcMeasurementPoint from './point'\nimport VcMeasurementArea from './area'\nimport VcMeasurementRectangle from './rectangle'\nimport VcMeasurementRegular from './regular'\nimport type {\n  MeasurementActionCmpRef,\n  VcComponentDistanceMeasurementOpts,\n  VcDrawingActionInstance,\n  VcHorizontalMeasurementOpts,\n  VcMeasurementOpts,\n  VcPolylineMeasurementOpts,\n  VcRegularMeasurementOpts\n} from 'casc-cesium-utils/drawing-types'\nimport type { VcActionTooltipProps, VcComponentInternalInstance, VcComponentPublicInstance } from 'casc-cesium-utils/types'\nimport { useLocale } from 'casc-cesium-composables'\nimport useDrawingFab from 'casc-cesium-composables/use-drawing/use-drawing-fab'\nimport { drawingEmit } from 'casc-cesium-utils/emits'\n\nconst emits = {\n  ...drawingEmit,\n  fabUpdated: (value: boolean) => true\n}\nexport default defineComponent({\n  name: 'VcMeasurements',\n  props: measurementsProps,\n  emits: emits,\n  setup(props: VcMeasurementsProps, ctx) {\n    // state\n    const instance = getCurrentInstance() as VcComponentInternalInstance\n    instance.cesiumClass = 'VcMeasurements'\n    const { t } = useLocale()\n\n    const clearActionOpts = reactive<VcActionTooltipProps>(Object.assign({}, defaultOptions.clearActionOpts, props.clearActionOpts))\n    const mainFabOpts = reactive<VcActionTooltipProps & VcFabProps>(Object.assign({}, defaultOptions.mainFabOpts, props.mainFabOpts))\n\n    const distanceActionOpts = reactive<VcActionTooltipProps>(Object.assign({}, defaultOptions.distanceActionOpts, props.distanceActionOpts))\n    const distanceMeasurementOpts = reactive<VcMeasurementOpts>(\n      Object.assign({}, defaultOptions.distanceMeasurementOpts, props.distanceMeasurementOpts)\n    )\n\n    const componentDistanceActionOpts = reactive<VcActionTooltipProps>(\n      Object.assign({}, defaultOptions.componentDistanceActionOpts, props.componentDistanceActionOpts)\n    )\n    const componentDistanceMeasurementOpts = reactive<VcComponentDistanceMeasurementOpts>(\n      Object.assign({}, defaultOptions.componentDistanceMeasurementOpts, props.componentDistanceMeasurementOpts)\n    )\n\n    const polylineActionOpts = reactive<VcActionTooltipProps>(Object.assign({}, defaultOptions.polylineActionOpts, props.polylineActionOpts))\n    const polylineMeasurementOpts = reactive<VcPolylineMeasurementOpts>(\n      Object.assign({}, defaultOptions.polylineMeasurementOpts, props.polylineMeasurementOpts)\n    )\n\n    const horizontalActionOpts = reactive<VcActionTooltipProps>(Object.assign({}, defaultOptions.horizontalActionOpts, props.horizontalActionOpts))\n    const horizontalMeasurementOpts = reactive<VcHorizontalMeasurementOpts>(\n      Object.assign({}, defaultOptions.horizontalMeasurementOpts, props.horizontalMeasurementOpts)\n    )\n\n    const verticalActionOpts = reactive<VcActionTooltipProps>(Object.assign({}, defaultOptions.verticalActionOpts, props.verticalActionOpts))\n    const verticalMeasurementOpts = reactive<VcMeasurementOpts>(\n      Object.assign({}, defaultOptions.verticalMeasurementOpts, props.verticalMeasurementOpts)\n    )\n\n    const heightActionOpts = reactive<VcActionTooltipProps>(Object.assign({}, defaultOptions.heightActionOpts, props.heightActionOpts))\n    const heightMeasurementOpts = reactive<VcMeasurementOpts>(Object.assign({}, defaultOptions.heightMeasurementOpts, props.heightMeasurementOpts))\n\n    const areaActionOpts = reactive<VcActionTooltipProps>(Object.assign({}, defaultOptions.areaActionOpts, props.areaActionOpts))\n    const areaMeasurementOpts = reactive<VcPolylineMeasurementOpts>(Object.assign({}, defaultOptions.areaMeasurementOpts, props.areaMeasurementOpts))\n\n    const pointActionOpts = reactive<VcActionTooltipProps>(Object.assign({}, defaultOptions.pointActionOpts, props.pointActionOpts))\n    const pointMeasurementOpts = reactive<VcMeasurementOpts>(Object.assign({}, defaultOptions.pointMeasurementOpts, props.pointMeasurementOpts))\n\n    const rectangleActionOpts = reactive<VcActionTooltipProps>(Object.assign({}, defaultOptions.rectangleActionOpts, props.rectangleActionOpts))\n    const rectangleMeasurementOpts = reactive<VcRegularMeasurementOpts>(\n      Object.assign({}, defaultOptions.rectangleMeasurementOpts, props.rectangleMeasurementOpts)\n    )\n\n    const regularActionOpts = reactive<VcActionTooltipProps>(Object.assign({}, defaultOptions.regularActionOpts, props.regularActionOpts))\n    const regularMeasurementOpts = reactive<VcRegularMeasurementOpts>(\n      Object.assign({}, defaultOptions.regularMeasurementOpts, props.regularMeasurementOpts)\n    )\n\n    const circleActionOpts = reactive<VcActionTooltipProps>(Object.assign({}, defaultOptions.circleActionOpts, props.circleActionOpts))\n    const circleMeasurementOpts = reactive<VcRegularMeasurementOpts>(\n      Object.assign({}, defaultOptions.circleMeasurementOpts, props.circleMeasurementOpts)\n    )\n\n    const options: any = {}\n    options.distanceActionOpts = distanceActionOpts\n    options.distanceMeasurementOpts = distanceMeasurementOpts\n    options.componentDistanceActionOpts = componentDistanceActionOpts\n    options.componentDistanceMeasurementOpts = componentDistanceMeasurementOpts\n    options.polylineActionOpts = polylineActionOpts\n    options.polylineMeasurementOpts = polylineMeasurementOpts\n    options.horizontalActionOpts = horizontalActionOpts\n    options.horizontalMeasurementOpts = horizontalMeasurementOpts\n    options.verticalActionOpts = verticalActionOpts\n    options.verticalMeasurementOpts = verticalMeasurementOpts\n    options.heightActionOpts = heightActionOpts\n    options.heightMeasurementOpts = heightMeasurementOpts\n    options.areaActionOpts = areaActionOpts\n    options.areaMeasurementOpts = areaMeasurementOpts\n    options.pointActionOpts = pointActionOpts\n    options.pointMeasurementOpts = pointMeasurementOpts\n    options.rectangleActionOpts = rectangleActionOpts\n    options.rectangleMeasurementOpts = rectangleMeasurementOpts\n    options.regularActionOpts = regularActionOpts\n    options.regularMeasurementOpts = regularMeasurementOpts\n    options.circleActionOpts = circleActionOpts\n    options.circleMeasurementOpts = circleMeasurementOpts\n    options.clearActionOpts = clearActionOpts\n\n    const drawingActionInstances = computed<Array<VcDrawingActionInstance>>(() => {\n      return props.measurements.map(measurement => ({\n        name: measurement,\n        type: 'measurement',\n        actionStyle: {\n          background: options[`${camelize(measurement)}ActionOpts`].color,\n          color: options[`${camelize(measurement)}ActionOpts`].textColor\n        },\n        actionClass: `vc-measure-${measurement} vc-measure-button`,\n        actionRef: ref<VcFabActionRef>(null),\n        actionOpts: options[`${camelize(measurement)}ActionOpts`] as VcActionTooltipProps,\n        cmp: getMeasurementCmp(measurement),\n        cmpRef: ref<MeasurementActionCmpRef>(null!),\n        cmpOpts: options[`${camelize(measurement)}MeasurementOpts`] as VcMeasurementOpts,\n        tip: options[`${camelize(measurement)}ActionOpts`].tooltip.tip || t(`vc.measurement.${measurement}.tip`),\n        isActive: false\n      }))\n    })\n\n    function getMeasurementCmp(name) {\n      switch (name) {\n        case 'distance':\n        case 'component-distance':\n          return VcMeasurementDistance\n        case 'polyline':\n          return VcMeasurementPolyline\n        case 'horizontal':\n          return VcMeasurementHorizontal\n        case 'vertical':\n          return VcMeasurementVertical\n        case 'height':\n          return VcMeasurementHeight\n        case 'point':\n          return VcMeasurementPoint\n        case 'area':\n          return VcMeasurementArea\n        case 'rectangle':\n          return VcMeasurementRectangle\n        case 'regular':\n        case 'circle':\n          return VcMeasurementRegular\n        default:\n          return undefined\n      }\n    }\n\n    return useDrawingFab(props, ctx, instance, drawingActionInstances, mainFabOpts, clearActionOpts, 'measurement')?.renderContent\n  }\n})\n\nexport {\n  VcMeasurementDistance,\n  VcMeasurementPolyline,\n  VcMeasurementHorizontal,\n  VcMeasurementVertical,\n  VcMeasurementHeight,\n  VcMeasurementPoint,\n  VcMeasurementArea,\n  VcMeasurementRectangle,\n  VcMeasurementRegular,\n  measurementsProps\n}\n\nexport type { VcMeasurementsProps } from './defaultProps'\nexport type VcMeasurementsEmits = typeof emits\nexport type VcMeasurementsSlots = {\n  /**\n   * body slot content of the component\n   */\n  body: (drawingActionInstances: Array<VcDrawingActionInstance>) => VNode[]\n}\n\nexport interface VcMeasurementsRef extends VcComponentPublicInstance<VcMeasurementsProps> {\n  /**\n   * Get or set the editingActionName.\n   */\n  editingActionName?: string\n  /**\n   * Get the drawing action instances.\n   */\n  drawingActionInstances: Array<VcDrawingActionInstance>\n  /**\n   * Get the selected drawing action instance.\n   */\n  selectedDrawingActionInstance: VcDrawingActionInstance\n  /**\n   * Clear all drawing results.\n   */\n  clearAll: () => void\n  /**\n   * End listening for the ScreenSpaceEventHandler event.\n   */\n  deactivate: () => void\n  /**\n   * Start listening for ScreenSpaceEventHandler events.\n   */\n  activate: () => void\n  /**\n   * Toggle drawing instance.\n   * @param drawingOption drawing instance or drawing instance name.\n   */\n  toggleAction: (drawingOption: VcDrawingActionInstance | string) => void\n  /**\n   * Get the float action button template reference.\n   */\n  getFabRef: () => VcFabRef\n  /**\n   * Get the drawingActionInstance.\n   */\n  getDrawingActionInstance: (actionName: string) => VcDrawingActionInstance\n  /**\n   * Get the drawing action instances.\n   */\n  getDrawingActionInstances: () => Array<VcDrawingActionInstance>\n  /**\n   * Get the selected drawing action instance.\n   */\n  getSelectedDrawingActionInstance: () => VcDrawingActionInstance\n}\n"],"names":[],"mappings":"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"}