UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 3.78 kB
import{_ as e}from"../chunks/tslib.es6.js";import{ignoreAbortErrors as t}from"../core/promiseUtils.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import{subclass as n}from"../core/accessorSupport/decorators/subclass.js";import i from"./Widget.js";import o from"./LineOfSight/LineOfSightViewModel.js";import{accessibleHandler as r}from"./support/decorators/accessibleHandler.js";import{messageBundle as l}from"./support/decorators/messageBundle.js";import{tsx as a}from"./support/jsxFactory.js";import"./support/widgetUtils.js";const u="esri-line-of-sight",d={button:"esri-button",buttonDisabled:"esri-button--disabled",widgetIcon:"esri-icon-line-of-sight",base:`${u} esri-widget esri-widget--panel`,container:`${u}__container`,actionSection:`${u}__actions`,hint:`${u}__hint`,hintText:`${u}__hint-text`,panelError:`${u}__panel--error`,newAnalysisButton:`${u}__new-analysis-button esri-button--primary`,secondaryButton:`${u}__secondary-button esri-button--secondary`},p={newAnalysisButton:`${u}__new-button`,continueButton:`${u}__continue-button`,doneButton:`${u}__done-button`};let c=class extends i{constructor(e,t){super(e,t),this.iconClass=d.widgetIcon,this.messages=null,this.viewModel=new o}get active(){return this.viewModel.active}get analysis(){return this.viewModel.analysis}set analysis(e){this.viewModel.analysis=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}render(){return a("div",{class:d.base,role:"presentation"},this.renderContainerNode())}renderContainerNode(){if(!this.visible)return null;if(!this.viewModel.supported)return this._renderUnsupportedMessage();let e=null;const t=[this._renderNewAnalysisButton()];return"creating"===this.viewModel.state?(e=this._renderHint(),t.unshift(this._renderDoneButton())):"created"===this.viewModel.state&&this.viewModel.targets.length>0&&t.unshift(this._renderContinueButton()),a("div",{class:d.container},e,a("div",{class:d.actionSection},t))}_renderUnsupportedMessage(){return a("div",{class:d.panelError,key:"esri-line-of-sight__unsupported"},a("p",null,this.messages.unsupported))}_renderHint(){return a("div",{class:d.hint,key:"esri-line-of-sight__hint"},a("p",{class:d.hintText},this.messages.hint))}_renderNewAnalysisButton(){return this._renderButton(this._onNewAnalysis,this.messages.newAnalysis,d.newAnalysisButton,p.newAnalysisButton)}_renderDoneButton(){return this._renderButton(this._onDone,this.messages.done,d.secondaryButton,p.doneButton)}_renderContinueButton(){return this._renderButton(this._onContinue,this.messages.continueAnalysis,d.secondaryButton,p.newAnalysisButton)}_renderButton(e,t,s,n){const i="disabled"===this.viewModel.state;return a("button",{disabled:i,class:this.classes(s,d.button,i&&d.buttonDisabled),bind:this,onclick:e,key:n,type:"button","data-id":n},t)}_onNewAnalysis(){t(this.viewModel.start())}_onDone(){this.viewModel.stop()}_onContinue(){this.viewModel.continue()}get test(){return{IDS:p}}};e([s()],c.prototype,"active",null),e([s({constructOnly:!0,nonNullable:!0})],c.prototype,"analysis",null),e([s()],c.prototype,"iconClass",void 0),e([s()],c.prototype,"label",null),e([s(),l("esri/widgets/LineOfSight/t9n/LineOfSight")],c.prototype,"messages",void 0),e([s()],c.prototype,"view",null),e([s({type:o})],c.prototype,"viewModel",void 0),e([s()],c.prototype,"visible",null),e([r()],c.prototype,"_onNewAnalysis",null),e([r()],c.prototype,"_onDone",null),e([r()],c.prototype,"_onContinue",null),c=e([n("esri.widgets.LineOfSight")],c);const h=c;export{h as default};