@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 2.9 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
*/
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../intl.js";import{property as t}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as r}from"../../../core/accessorSupport/decorators/subclass.js";import{copyToClipboard as s,getConvertedArea as a,getConvertedDistance as n,getConvertedHeight as i}from"../imageMeasurementUtils.js";import{substitute as c}from"../../../intl/substitute.js";const u=u=>{let o=class extends u{constructor(){super(...arguments),this.messages=null,this.pixelMeasurementUnit="meters",this.pixelAreaMeasurementUnit="square-meters"}copyMeasurementResult(e){let t,r;switch(e){case"area":t={measurement:this.getConvertedAreaString("measurement"),accuracy:this.getConvertedAreaString("accuracy")},r="{measurement} ± {accuracy}";break;case"distance":t={measurement:this.getConvertedDistanceString("measurement"),accuracy:this.getConvertedDistanceString("accuracy")},r="{measurement} ± {accuracy}";break;case"height":t={measurement:this.getConvertedHeightString("measurement"),accuracy:this.getConvertedHeightString("accuracy")},r="{measurement} ± {accuracy}"}const a=c(r,t);s(a)}getConvertedAreaString(e){const{oiViewModel:t,measurementUnitMessages:r,pixelAreaMeasurementUnit:s,messages:n}=this,{areaMeasurementResult:i,areaMeasurementAccuracy:c}=t;return a(e,i,c,r,s)??n.startMeasurement}getConvertedDistanceString(e){const{oiViewModel:t,measurementUnitMessages:r,pixelMeasurementUnit:s,messages:a}=this,{distanceAccuracyArray:i,distanceMeasurementResult:c}=t;return n(e,c,i,r,s)??a.startMeasurement}getAccuracy(e){let t,r;switch(e){case"area":return t={accuracy:this.getConvertedAreaString("accuracy")},r="± {accuracy}",c(r,t);case"distance":return t={accuracy:this.getConvertedDistanceString("accuracy")},r="± {accuracy}",c(r,t);case"height":return t={accuracy:this.getConvertedHeightString("accuracy")},r="± {accuracy}",c(r,t)}}getConvertedHeightString(e){const{oiViewModel:t,measurementUnitMessages:r,pixelMeasurementUnit:s,messages:a}=this,{heightMeasurementAccuracy:n,heightMeasurementResult:c}=t;return i(e,c,n,r,s)??a.startMeasurement}handleLengthMeasurementUnitChange(e){this.pixelMeasurementUnit=e}handleAreaMeasurementUnitChange(e){this.pixelAreaMeasurementUnit=e}};return e([t()],o.prototype,"messages",void 0),e([t()],o.prototype,"measurementUnitMessages",void 0),e([t()],o.prototype,"measurementType",void 0),e([t()],o.prototype,"pixelMeasurementUnit",void 0),e([t()],o.prototype,"pixelAreaMeasurementUnit",void 0),e([t()],o.prototype,"oiViewModel",void 0),o=e([r("esri.widgets.OrientedImageryViewer.mixins.ImageMeasurementMixin")],o),o};export{u as ImageMeasurementMixin};