UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 3.44 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{_ as r}from"../../chunks/tslib.es6.js";import t from"../../core/Accessor.js";import e from"../../core/Error.js";import o from"../../core/Logger.js";import{watch as i}from"../../core/reactiveUtils.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as l}from"../../core/support/UpdatingHandles.js";let n=class extends t{constructor(r){super(r),this._updatingHandlesLoad=new l,this._updatingHandlesExecute=new l}initialize(){this.addHandles([i((()=>[this.utilityNetwork,this.view]),(()=>{this._setUp()}),{initial:!0})])}destroy(){this._updatingHandlesLoad.destroy(),this._updatingHandlesExecute.destroy()}get executionError(){return this._executionError}get loadError(){return this._loadError}get state(){return this._updatingHandlesLoad.updating?"loading":this.loadError?"disabled":this._updatingHandlesExecute.updating?"executing":this.executionError?"failed":"ready"}get utilityNetwork(){return this.utilityNetwork}set utilityNetwork(r){this._get("utilityNetwork")!==r&&this._set("utilityNetwork",r)}get view(){return this.view}set view(r){this._get("view")!==r&&this._set("view",r)}async executeNamedTraceConfiguration(r){return this._updatingHandlesExecute.addPromise(this._executeNamedTraceConfiguration(r))}async executeTraceConfiguration(r){return this._updatingHandlesExecute.addPromise(this._executeTraceConfiguration(r))}async _executeNamedTraceConfiguration(r){if("disabled"===this.state)throw this._logError("trace-analysis-view-model:load-error",this.loadError),new e("trace-analysis-view-model:load-error",this.loadError);this._executionError=null;return await this.utilityNetwork.trace(r).catch((r=>{throw this._executionError="trace-error",this._logError("trace-analysis-view-model:execution-error",this._executionError),r}))}async _executeTraceConfiguration(r){if("disabled"===this.state)throw this._logError("trace-analysis-view-model:load-error",this.loadError),new e("trace-analysis-view-model:load-error",this.loadError);this._executionError=null;return await this.utilityNetwork.trace(r).catch((r=>{throw this._executionError="trace-error",this._logError("trace-analysis-view-model:execution-error",this._executionError),r}))}_logError(r,t){o.getLogger(this).error(new e(r,t))}async _setUp(){const{utilityNetwork:r,view:t}=this;this._updatingHandlesLoad.addPromise((async()=>(this._loadError=null,t?"2d"!==t.type?(this._loadError="sceneView-not-supported",void this._logError("trace-analysis-view-model:load-error",this._loadError)):r?void 0:(this._loadError="no-utility-network",void this._logError("trace-analysis-view-model:load-error",this._loadError)):(this._loadError="no-view",void this._logError("trace-analysis-view-model:load-error",this._loadError))))())}};r([s()],n.prototype,"_executionError",void 0),r([s()],n.prototype,"_loadError",void 0),r([s()],n.prototype,"executionError",null),r([s()],n.prototype,"loadError",null),r([s({readOnly:!0})],n.prototype,"state",null),r([s()],n.prototype,"utilityNetwork",null),r([s()],n.prototype,"view",null),n=r([a("esri.widgets.UtilityNetworkTraceAnalysis.UtilityNetworkTraceAnalysisViewModel")],n);const d=n;export{d as default};