// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("require ../../../chunks/tslib.es6 ../../../core/asyncUtils ../../../core/Error ../../../core/maybe ../../../core/promiseUtils ../../../core/reactiveUtils ../../../core/accessorSupport/decorators/property ../../../core/accessorSupport/decorators/subclass ./LayerView3D ../../layers/LayerView".split(" "),function(l,e,m,g,h,n,k,f,p,c,q){c=class extends c.LayerView3D(q){constructor(a){super(a);this.type="line-of-sight-3d";this._analysisModule=null}initialize(){this.addHandles(k.watch(()=>this.layer.analysis, a=>{this._destroyAnalysisView();null!=a&&this._createAnalysisView(a)},k.syncAndInitial),"analysis-view-handles")}destroy(){this.removeHandles("analysis-view-handles");this._destroyAnalysisView()}async whenAnalysisView(){if(null!=this.analysisView)return this.analysisView;if(null!=this._createAnalysisViewTask)return this._createAnalysisViewTask.promise;throw new g("layerview:no-analysisview-for-analysis","The analysis has not been set on the LineOfSightLayer of this layer view");}isUpdating(){return null!= this._createAnalysisViewTask||null!=this.analysisView&&this.analysisView.updating}_createAnalysisView(a){const d=m.createTask(async b=>{this.analysisView=await this._createAnalysisViewPromise(a,b);this._createAnalysisViewTask===d&&(this._createAnalysisViewTask=null);return this.analysisView});this._createAnalysisViewTask=d}_destroyAnalysisView(){this.analysisView=h.destroyMaybe(this.analysisView);this._createAnalysisViewTask=h.abortMaybe(this._createAnalysisViewTask)}async _createAnalysisViewPromise(a, d){var b=this._analysisModule;null==b&&(this._analysisModule=b=await this._loadAnalysisModule());b=new b.default({analysis:a,view:this.view,parent:this});await b.when();if(n.isAborted(d))throw b.destroy(),new g("layerview:no-analysisview-for-analysis","The analysis has not been added to the LineOfSightLayer of this layer view",{analysis:a});return b}_loadAnalysisModule(){return new Promise((a,d)=>l(["../analysis/LineOfSightAnalysisView3D"],b=>a(Object.freeze(Object.defineProperty({__proto__:null, default:b},Symbol.toStringTag,{value:"Module"}))),d))}};e.__decorate([f.property()],c.prototype,"type",void 0);e.__decorate([f.property()],c.prototype,"layer",void 0);e.__decorate([f.property()],c.prototype,"analysisView",void 0);e.__decorate([f.property()],c.prototype,"_createAnalysisViewTask",void 0);return c=e.__decorate([p.subclass("esri.views.3d.layers.LineOfSightLayerView3D")],c)});