@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 1.67 kB
JavaScript
import{_ as i}from"../../../chunks/tslib.es6.js";import o from"../../../core/Accessor.js";import{createTask as e}from"../../../core/asyncUtils.js";import s from"../../../core/Handles.js";import{isSome as t,applySome as r,destroyMaybe as l,abortMaybe as a}from"../../../core/maybe.js";import{whenOrAbort as n}from"../../../core/promiseUtils.js";import{watch as p,syncAndInitial as m}from"../../../core/reactiveUtils.js";import{property as h}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import{subclass as c}from"../../../core/accessorSupport/decorators/subclass.js";let d=class extends o{constructor(i){super(i),this._implementation=null,this._loadingTask=null,this._handles=new s}initialize(){this._handles.add(p((()=>({tool:this.tool,view:this.tool.viewModel.view,visible:this.tool.visible&&!!r(this.tool.viewModel.view,(i=>i.ready))})),(({tool:i,view:o,visible:e})=>{t(o)&&e?this._show(o,i):this._hide()}),m))}destroy(){this._handles=l(this._handles),this._hide()}_show(i,o){this._loadingTask=a(this._loadingTask),this._loadingTask=e((async e=>{if("2d"===i.type){const s=import("./ElevationProfileView2D.js"),t=(await n(s,e)).ElevationProfileView2D;this._implementation=new t(i,o)}else if("3d"===i.type){const s=import("./ElevationProfileView3D.js"),t=(await n(s,e)).ElevationProfileView3D;this._implementation=new t(i,o)}}))}_hide(){this._loadingTask=a(this._loadingTask),this._implementation=l(this._implementation)}};i([h()],d.prototype,"tool",void 0),d=i([c("esri.widgets.ElevationProfile.support.ElevationProfileView")],d);export{d as ElevationProfileView};