vue-cesium
Version:
Vue 3.x components for CesiumJS.
1 lines • 30.3 kB
Source Map (JSON)
{"version":3,"file":"defaultProps.mjs","sources":["../../../../../../packages/components/measurements/src/defaultProps.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2021-10-13 09:21:13\n * @LastEditTime: 2023-02-09 17:59:27\n * @LastEditors: XIAOLIJUN\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\components\\measurements\\src\\defaultProps.ts\n */\nimport { getDefaultOptionByProps } from '@vue-cesium/utils/util'\nimport type { PropType } from 'vue'\nimport { MeasureUnits } from '@vue-cesium/shared'\nimport {\n actionOptions,\n circleDrawingActionDefault,\n editorOptsDefault,\n labelOptsDefault,\n pointDrawingDefault,\n pointOptsDefault,\n polygonDrawingDefault,\n polylineDrawingDefault,\n polylineOptsDefault,\n polylinePrimitiveOptsDefault,\n regularDrawingActionDefault,\n segmentDrawingDefault\n} from '@vue-cesium/composables/use-drawing/defaultOpts'\nimport { useDrawingFabProps } from '@vue-cesium/composables/use-drawing/props'\nimport type { VcFabProps } from '../../ui'\nimport type { VcActionTooltipProps, VcComponentInternalInstance, VcReadyObject } from '@vue-cesium/utils/types'\nimport type { VcLabelProps } from '../../primitive-collections'\nimport type {\n VcComponentDistanceMeasurementOpts,\n VcDrawingActiveEvt,\n VcDrawingDrawEvt,\n VcDrawingEditorEvt,\n VcDrawingMouseEvt,\n VcHorizontalMeasurementOpts,\n VcMeasurementOpts,\n VcPointDrawing,\n VcPolylineDrawing,\n VcPolylineMeasurementOpts,\n VcRegularMeasurementOpts,\n VcSegmentDrawing\n} from '@vue-cesium/utils/drawing-types'\n\nconst distanceMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n icon: 'vc-icons-measure-distance'\n})\n\nconst distanceMeasurementDefault: VcMeasurementOpts = Object.assign({}, segmentDrawingDefault, {\n labelOpts: Object.assign({}, labelOptsDefault, {\n horizontalOrigin: 1, // left\n verticalOrigin: -1, // top\n pixelOffset: [10, 10]\n }) as VcLabelProps,\n measureUnits: new MeasureUnits(),\n decimals: {\n distance: 2,\n angle: 2\n },\n locale: undefined,\n autoUpdateLabelPosition: true\n})\n\nconst componentDistanceMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n icon: 'vc-icons-measure-component-distance'\n})\n\nconst componentDistanceMeasurementDefault: VcComponentDistanceMeasurementOpts = Object.assign({}, distanceMeasurementDefault, {\n showComponentLines: true,\n xLabelOpts: labelOptsDefault,\n xAngleLabelOpts: Object.assign({}, labelOptsDefault, {\n horizontalOrigin: 1, // left\n verticalOrigin: 0, // center\n pixelOffset: [9, 0]\n }),\n yLabelOpts: Object.assign({}, labelOptsDefault, {\n horizontalOrigin: -1, // right\n pixelOffset: [-9, 0]\n }),\n yAngleLabelOpts: Object.assign({}, labelOptsDefault, {\n verticalOrigin: -1, // top\n pixelOffset: [0, 9]\n })\n})\n\nconst polylineMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n icon: 'vc-icons-measure-polyline-distance'\n})\n\nconst polylineMeasurementDefault: VcPolylineMeasurementOpts = Object.assign({}, polylineDrawingDefault, {\n measureUnits: new MeasureUnits(),\n labelOpts: labelOptsDefault,\n labelsOpts: Object.assign({}, labelOptsDefault, {\n scale: 0.8,\n horizontalOrigin: 1, // left\n verticalOrigin: -1, // tOP,\n pixelOffset: [5, 5]\n }),\n decimals: {\n distance: 2,\n angle: 2\n },\n showLabel: true,\n showAngleLabel: true,\n showDistanceLabel: true,\n locale: undefined,\n loop: false,\n autoUpdateLabelPosition: true\n})\n\nconst horizontalMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n icon: 'vc-icons-measure-horizontal-distance'\n})\n\nconst horizontalMeasurementDefault: VcHorizontalMeasurementOpts = Object.assign({}, polylineMeasurementDefault, {\n dashLineOpts: {\n width: 2\n },\n dashLinePrimitiveOpts: Object.assign({}, polylinePrimitiveOptsDefault, {\n appearance: {\n type: 'PolylineMaterialAppearance',\n options: {\n material: {\n fabric: {\n type: 'PolylineDash',\n uniforms: {\n color: [255, 255, 0, 255]\n }\n }\n }\n }\n },\n depthFailAppearance: {\n type: 'PolylineMaterialAppearance',\n options: {\n material: {\n fabric: {\n type: 'PolylineDash',\n uniforms: {\n color: [255, 255, 0, 255]\n }\n }\n }\n }\n }\n }),\n labelOpts: Object.assign({}, labelOptsDefault, {\n horizontalOrigin: 1,\n verticalOrigin: 1,\n pixelOffset: [10, -10]\n }),\n labelsOpts: Object.assign({}, labelOptsDefault, {\n scale: 0.8,\n horizontalOrigin: 1, // left\n verticalOrigin: -1, // tOP,\n pixelOffset: [5, 5]\n }),\n showDashedLine: true\n})\n\nconst verticalMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n icon: 'vc-icons-measure-vertical-distance'\n})\n\nconst verticalMeasurementDefault: VcMeasurementOpts = Object.assign({}, segmentDrawingDefault, {\n labelOpts: Object.assign({}, labelOptsDefault, {\n horizontalOrigin: 1, // left\n verticalOrigin: -1, // top\n pixelOffset: [10, 10]\n }),\n measureUnits: new MeasureUnits(),\n decimals: {\n distance: 2,\n angle: 2\n },\n locale: undefined,\n autoUpdateLabelPosition: true\n})\n\nconst heightMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n icon: 'vc-icons-measure-height-from-terrain'\n})\n\nconst heightMeasurementDefault: VcMeasurementOpts = Object.assign({}, pointDrawingDefault, {\n polylineOpts: polylineOptsDefault,\n labelOpts: Object.assign({}, labelOptsDefault, {\n horizontalOrigin: 1, // left\n verticalOrigin: -1, // top\n pixelOffset: [10, 10]\n }),\n editorOpts: {\n pixelOffset: [16, -8],\n delay: 1000,\n hideDelay: 1000,\n move: Object.assign({}, editorOptsDefault),\n removeAll: Object.assign({}, editorOptsDefault, {\n icon: 'vc-icons-delete'\n })\n },\n measureUnits: new MeasureUnits(),\n decimals: {\n distance: 2\n },\n locale: undefined,\n primitiveOpts: polylinePrimitiveOptsDefault\n})\n\nconst areaMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n icon: 'vc-icons-measure-area'\n})\n\nconst areaMeasurementDefault: VcPolylineMeasurementOpts = Object.assign({}, polygonDrawingDefault, {\n labelOpts: labelOptsDefault,\n labelsOpts: Object.assign({}, labelOptsDefault, {\n scale: 0.8,\n horizontalOrigin: 1, // left\n verticalOrigin: -1, // tOP,\n pixelOffset: [5, 5]\n }),\n showDistanceLabel: true,\n showAngleLabel: true,\n showLabel: true,\n measureUnits: new MeasureUnits(),\n decimals: {\n area: 2,\n distance: 2,\n angle: 2\n },\n loop: true,\n locale: undefined,\n autoUpdateLabelPosition: true\n})\n\nconst pointMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n icon: 'vc-icons-measure-point-coordinates'\n})\n\nconst pointMeasurementDefault: VcMeasurementOpts = Object.assign({}, pointDrawingDefault, {\n heightReference: 1, // 0: NONE, 1: CLAMP_TO_GROUND\n measureUnits: new MeasureUnits(),\n drawtip: {\n show: true,\n pixelOffset: [32, 48]\n },\n labelOpts: Object.assign({}, labelOptsDefault, {\n horizontalOrigin: 1, // left\n verticalOrigin: 0, // center\n pixelOffset: [10, 0]\n }),\n decimals: {\n lng: 6,\n lat: 6,\n height: 2,\n slope: 3\n },\n locale: undefined,\n showLabel: true\n})\n\nconst rectangleMeasurementActionDefault: VcActionTooltipProps = Object.assign({}, actionOptions, {\n icon: 'vc-icons-drawing-rectangle'\n})\n\nconst rectangleMeasurementDefault: VcRegularMeasurementOpts = Object.assign({}, areaMeasurementDefault, {\n pointOpts: Object.assign({}, pointOptsDefault, {\n show: false\n }),\n drawtip: {\n show: true,\n pixelOffset: [32, 32]\n },\n editorOpts: {\n pixelOffset: [16, -8],\n delay: 1000,\n hideDelay: 1000,\n move: Object.assign({}, editorOptsDefault),\n removeAll: Object.assign({}, editorOptsDefault, {\n icon: 'vc-icons-delete'\n })\n },\n edge: 4,\n loop: false,\n showAngleLabel: false\n})\n\nconst regularMeasurementDefault: VcRegularMeasurementOpts = Object.assign({}, rectangleMeasurementDefault, {\n edge: 6,\n loop: true\n})\n\nconst circleMeasurementDefault: VcRegularMeasurementOpts = Object.assign({}, rectangleMeasurementDefault, {\n edge: 360,\n loop: true,\n showDistanceLabel: false,\n showAngleLabel: false\n})\n\nconst fabActionOptsDefault: VcActionTooltipProps = Object.assign({}, {})\n\nconst mainFabDefault = Object.assign({}, actionOptions, {\n direction: 'right',\n icon: 'vc-icons-measurement-button',\n activeIcon: 'vc-icons-measurement-button',\n verticalActionsAlign: 'center',\n hideIcon: false,\n persistent: false,\n modelValue: true,\n hideActionOnClick: false,\n color: 'info'\n} as VcFabProps)\n\nexport const measurementType = [\n 'distance',\n 'component-distance',\n 'polyline',\n 'horizontal',\n 'vertical',\n 'height',\n 'area',\n 'point',\n 'rectangle',\n 'regular',\n 'circle'\n]\nconst isValidMeasurementType = (measurements: string[]) => {\n let flag = true\n measurements.forEach(measurement => {\n if (!measurementType.includes(measurement)) {\n console.error(`VueCesium: unknown measurement type: ${measurement}`)\n flag = false\n }\n })\n return flag\n}\n\nconst measurementsProps = {\n ...useDrawingFabProps,\n measurements: {\n type: Array as PropType<\n Array<\n 'distance' | 'component-distance' | 'polyline' | 'horizontal' | 'vertical' | 'height' | 'area' | 'point' | 'rectangle' | 'regular' | 'circle'\n >\n >,\n default: () => measurementType,\n validator: isValidMeasurementType\n },\n mainFabOpts: {\n type: Object as PropType<VcActionTooltipProps & VcFabProps>,\n default: () => mainFabDefault\n },\n fabActionOpts: {\n type: Object as PropType<VcActionTooltipProps>,\n default: () => fabActionOptsDefault\n },\n distanceActionOpts: {\n type: Object as PropType<VcActionTooltipProps>,\n default: () => distanceMeasurementActionDefault\n },\n distanceMeasurementOpts: {\n type: Object as PropType<VcMeasurementOpts>,\n default: () => distanceMeasurementDefault\n },\n componentDistanceActionOpts: {\n type: Object as PropType<VcActionTooltipProps>,\n default: () => componentDistanceMeasurementActionDefault\n },\n componentDistanceMeasurementOpts: {\n type: Object as PropType<VcComponentDistanceMeasurementOpts>,\n default: () => componentDistanceMeasurementDefault\n },\n polylineActionOpts: {\n type: Object as PropType<VcActionTooltipProps>,\n default: () => polylineMeasurementActionDefault\n },\n polylineMeasurementOpts: {\n type: Object as PropType<VcPolylineMeasurementOpts>,\n default: () => polylineMeasurementDefault\n },\n horizontalActionOpts: {\n type: Object as PropType<VcActionTooltipProps>,\n default: () => horizontalMeasurementActionDefault\n },\n horizontalMeasurementOpts: {\n type: Object as PropType<VcHorizontalMeasurementOpts>,\n default: () => horizontalMeasurementDefault\n },\n verticalActionOpts: {\n type: Object as PropType<VcActionTooltipProps>,\n default: () => verticalMeasurementActionDefault\n },\n verticalMeasurementOpts: {\n type: Object as PropType<VcMeasurementOpts>,\n default: () => verticalMeasurementDefault\n },\n heightActionOpts: {\n type: Object as PropType<VcActionTooltipProps>,\n default: () => heightMeasurementActionDefault\n },\n heightMeasurementOpts: {\n type: Object as PropType<VcMeasurementOpts>,\n default: () => heightMeasurementDefault\n },\n areaActionOpts: {\n type: Object as PropType<VcActionTooltipProps>,\n default: () => areaMeasurementActionDefault\n },\n areaMeasurementOpts: {\n type: Object as PropType<VcPolylineMeasurementOpts>,\n default: () => areaMeasurementDefault\n },\n pointActionOpts: {\n type: Object as PropType<VcActionTooltipProps>,\n default: () => pointMeasurementActionDefault\n },\n pointMeasurementOpts: {\n type: Object as PropType<VcMeasurementOpts>,\n default: () => pointMeasurementDefault\n },\n rectangleActionOpts: {\n type: Object as PropType<VcActionTooltipProps>,\n default: () => rectangleMeasurementActionDefault\n },\n rectangleMeasurementOpts: {\n type: Object as PropType<VcRegularMeasurementOpts>,\n default: () => rectangleMeasurementDefault\n },\n regularActionOpts: {\n type: Object as PropType<VcActionTooltipProps>,\n default: () => regularDrawingActionDefault\n },\n regularMeasurementOpts: {\n type: Object as PropType<VcRegularMeasurementOpts>,\n default: () => regularMeasurementDefault\n },\n circleActionOpts: {\n type: Object as PropType<VcActionTooltipProps>,\n default: () => circleDrawingActionDefault\n },\n circleMeasurementOpts: {\n type: Object as PropType<VcRegularMeasurementOpts>,\n default: () => circleMeasurementDefault\n }\n}\n\nconst defaultOptions = getDefaultOptionByProps<VcMeasurementsProps>(measurementsProps)\n\nexport {\n measurementsProps,\n defaultOptions,\n distanceMeasurementActionDefault,\n distanceMeasurementDefault,\n componentDistanceMeasurementActionDefault,\n componentDistanceMeasurementDefault,\n polylineMeasurementActionDefault,\n polylineMeasurementDefault,\n horizontalMeasurementActionDefault,\n horizontalMeasurementDefault,\n verticalMeasurementActionDefault,\n verticalMeasurementDefault,\n heightMeasurementActionDefault,\n heightMeasurementDefault,\n areaMeasurementActionDefault,\n areaMeasurementDefault,\n pointMeasurementActionDefault,\n pointMeasurementDefault,\n rectangleMeasurementActionDefault,\n rectangleMeasurementDefault,\n regularMeasurementDefault,\n circleMeasurementDefault,\n mainFabDefault\n}\n\nexport type VcMeasurementsProps = {\n /**\n * Specify the position of the VcMeasurements.\n * Default value: bottom-left\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 VcMeasurements horizontally and vertically in pixels.\n * Default value: [0, 0]\n */\n offset?: [number, number]\n /**\n * Specify whether the measurement result is visible.\n * Default value: true\n */\n show?: boolean\n /**\n * Specify the interactive drawing mode, 0 means continuous drawing, and 1 means drawing ends once.\n * Default value: 1\n */\n mode?: number\n /**\n * Specify which measurement instances to load.\n * Default value: ['distance', 'component-distance', 'polyline', 'horizontal', 'vertical', 'height', 'area', 'point', 'rectangle', 'regular', 'circle']\n */\n measurements?: Array<\n 'distance' | 'component-distance' | 'polyline' | 'horizontal' | 'vertical' | 'height' | 'area' | 'point' | 'rectangle' | 'regular' | 'circle'\n >\n /**\n * Specify the color when the measurement instance is activated.\n * Default value: positive\n */\n activeColor?: string\n /**\n * Specify whether the measurement result can be edited.\n * Default value: false\n */\n editable?: boolean\n /**\n * Specify whether the drawing result object is attached to the ground or 3dtiles. Only polyline and polygon objects work.\n * Default value: false\n */\n clampToGround?: boolean\n /**\n * Specify the style options of the floating action button of the VcMeasurements component.\n */\n mainFabOpts?: VcActionTooltipProps & VcFabProps\n /**\n * Style options for other action buttons.\n */\n fabActionOpts?: VcActionTooltipProps\n /**\n * Specify the style options of the distance measurement action button.\n */\n distanceActionOpts?: VcActionTooltipProps\n /**\n * Specify distance measurement options.\n */\n distanceMeasurementOpts?: VcMeasurementOpts\n /**\n * Specify the style options of the component distance measurement action button.\n */\n componentDistanceActionOpts?: VcActionTooltipProps\n /**\n * Specify the component distance measurement options.\n */\n componentDistanceMeasurementOpts?: VcMeasurementOpts\n /**\n * Specify the style options of the polyline distance measurement action button.\n */\n polylineActionOpts?: VcActionTooltipProps\n /**\n * Specify the polyline distance measurement options.\n */\n polylineMeasurementOpts?: VcMeasurementOpts\n /**\n * Specify the style options of the horizontal distance measurement action button.\n */\n horizontalActionOpts?: VcActionTooltipProps\n /**\n * Specify the horizontal distance measurement options.\n */\n horizontalMeasurementOpts?: VcMeasurementOpts\n /**\n * Specify the style options of the vertical distance measurement action button.\n */\n verticalActionOpts?: VcActionTooltipProps\n /**\n * Specify the vertical distance measurement options.\n */\n verticalMeasurementOpts?: VcMeasurementOpts\n /**\n * Specify the style options of the height measurement action button.\n */\n heightActionOpts?: VcActionTooltipProps\n /**\n * Specify the height measurement options.\n */\n heightMeasurementOpts?: VcMeasurementOpts\n /**\n * Specify the style options of the area measurement action button.\n */\n areaActionOpts?: VcActionTooltipProps\n /**\n * Specify the area measurement options.\n */\n areaMeasurementOpts?: VcMeasurementOpts\n /**\n * Specify the style options of the point measurement action button.\n */\n pointActionOpts?: VcActionTooltipProps\n /**\n * Specify the point measurement options.\n */\n pointMeasurementOpts?: VcMeasurementOpts\n /**\n * Specify the style options of the rectangle measurement action button.\n */\n rectangleActionOpts?: VcActionTooltipProps\n /**\n * Specify the rectangle measurement options.\n */\n rectangleMeasurementOpts?: VcMeasurementOpts\n /**\n * Specify the style options of the circle measurement action button.\n */\n circleActionOpts?: VcActionTooltipProps\n /**\n * Specify the circle measurement options.\n */\n circleMeasurementOpts?: VcMeasurementOpts\n /**\n * Specify the style options of the regular measurement action button.\n */\n regularActionOpts?: VcActionTooltipProps\n /**\n * Specify the regular measurement options.\n */\n regularMeasurementOpts?: VcMeasurementOpts\n /**\n * Specify the style options of the clear action button.\n */\n clearActionOpts?: VcActionTooltipProps\n /**\n * Triggers before the VcMeasurements is loaded.\n */\n onBeforeLoad?: (instance: VcComponentInternalInstance) => void\n /**\n * Triggers when the VcMeasurements 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 VcMeasurements is destroyed.\n */\n onDestroyed?: (instance: VcComponentInternalInstance) => void\n /**\n * Triggers when the measurement action is actived.\n */\n onActiveEvt?: (evt: VcDrawingActiveEvt, viewer: Cesium.Viewer) => void\n /**\n * \tTriggers when drawing.\n */\n onDrawEvt?: (evt: VcDrawingDrawEvt<VcPolylineDrawing | VcSegmentDrawing | VcPointDrawing>, viewer: Cesium.Viewer) => void\n /**\n * Triggers when the editor button is clicked.\n */\n onEditorEvt?: (evt: VcDrawingEditorEvt, viewer: Cesium.Viewer) => void\n /**\n * Triggers when the mouse is over or out on the drawing point.\n */\n onMouseEvt?: (evt: VcDrawingMouseEvt, viewer: Cesium.Viewer) => void\n /**\n * Triggers when the floating button is expanded or collapsed.\n */\n onFabUpdated?: (value: boolean) => void\n /**\n * Triggers when the clear button is clicked.\n */\n onClearEvt?: (\n evt: {\n type: 'clear'\n option: VcActionTooltipProps\n },\n viewer: Cesium.Viewer\n ) => void\n}\n"],"names":[],"mappings":"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"}