@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
3 lines (2 loc) • 2.31 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */
import{__decorate as t}from"tslib";import e from"../../../core/Accessor.js";import{watch as o,syncAndInitial as i}from"../../../core/reactiveUtils.js";import{property as r,subclass as s}from"../../../core/accessorSupport/decorators.js";import{projectOrLoad as n}from"../../../geometry/projectionUtils.js";import{getConfig as l}from"./constants.js";let a=class extends e{constructor(t){super(t),this.visible=!1,this._element=p()}initialize(){this.view.surface?.appendChild(this._element),this.addHandles([o(()=>this.visible&&!!this._screenPoint,t=>{this._element.style.display=t?"block":"none"},i),o(()=>({color:this.line.color.toCss(),zIndex:this._zIndex}),({color:t,zIndex:e})=>{Object.assign(this._element.style,{background:t,zIndex:e.toString()})},i),o(()=>this._screenPoint,t=>{t&&(this._element.style.transform=`translate(${t.x}px, ${t.y}px)`)},i)])}destroy(){this._element.remove()}get updating(){return!1}get _result(){return this.analysisViewData.results.find(t=>t.computation.profile===this.line)}get _zIndex(){const{profiles:t}=this.analysisViewData.analysis,e=t.indexOf(this.line);return t.length-(-1===e?0:e)}get _screenPoint(){const{view:t}=this;"3d"===t.type?(t.commitProperty("size"),t.commitProperty("camera")):t.commitProperty("center");const e=t?.spatialReference,o=e?n(this._result?.indicatorPoint,e).geometry:null;return o&&t?.ready?t.toScreen(o):null}};function p(){const t=document.createElement("div"),{size:e,borderStyle:o,borderColor:i,borderWidth:r,boxShadow:s}=l().indicatorPointStyle,{style:n}=t;return n.display="block",n.position="absolute",n.top="0",n.left="0",n.contain="strict",n.boxSizing="border-box",n.width=`${e}px`,n.height=`${e}px`,n.marginTop=`-${e/2}px`,n.marginLeft=`-${e/2}px`,n.border=`${o} ${r}px ${i}`,n.borderRadius=`${e}px`,n.boxShadow=s,t}t([r()],a.prototype,"view",void 0),t([r()],a.prototype,"analysisViewData",void 0),t([r()],a.prototype,"line",void 0),t([r()],a.prototype,"visible",void 0),t([r()],a.prototype,"updating",null),t([r()],a.prototype,"_result",null),t([r()],a.prototype,"_zIndex",null),t([r()],a.prototype,"_screenPoint",null),a=t([s("esri.views.analysis.ElevationProfile.ElevationProfileIndicatorPointVisualization")],a);export{a as ElevationProfileIndicatorPointVisualization};