casc-cesium
Version:
Vue 3.x components for CesiumJS.
1 lines • 30 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: 2022-06-24 16:56:16\n * @LastEditors: zouyaoji\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\components\\measurements\\src\\defaultProps.ts\n */\nimport { getDefaultOptionByProps } from 'casc-cesium-utils/util'\nimport type { PropType } from 'vue'\nimport { MeasureUnits } from 'casc-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 'casc-cesium-composables/use-drawing/defaultOpts'\nimport { useDrawingFabProps } from 'casc-cesium-composables/use-drawing/props'\nimport type { VcFabProps } from '../../ui'\nimport type { VcActionTooltipProps, VcComponentInternalInstance, VcReadyObject } from 'casc-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 'casc-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 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 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 * 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"],"names":[],"mappings":"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"}