UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 3.14 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 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/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import o from"./Widget.js";import r from"./AreaMeasurement3D/AreaMeasurement3DViewModel.js";import{globalCss as n}from"./support/globalCss.js";import{MeasurementWidgetContent as a}from"./support/MeasurementWidgetContent.js";import"./support/widgetUtils.js";import{messageBundle as l}from"./support/decorators/messageBundle.js";import{tsx as p}from"./support/jsxFactory.js";const u="esri-area-measurement-3d",m={base:u,newMeasurementButton:`${u}__clear-button`};let d=class extends o{constructor(e,t){super(e,t),this.messages=null,this.messagesCommon=null,this.messagesUnits=null,this.viewModel=new r}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}get active(){return this.viewModel.active}get analysis(){return this.viewModel.analysis}set analysis(e){this.viewModel.analysis=e}get icon(){return"measure-area"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get unitOptions(){return this.viewModel.unitOptions}set unitOptions(e){this.viewModel.unitOptions=e}get unit(){return this.viewModel.unit}set unit(e){this.viewModel.unit=e}render(){const{messages:e,messagesCommon:s,messagesUnits:i,unit:o,unitOptions:r,viewModel:l}=this,{active:u,measurement:d,state:v,supported:g}=l;return p("div",{"aria-label":this.messages.widgetLabel,class:this.classes(m.base,n.widget,n.panel),key:this,role:"presentation"},this.visible?p(a,{active:u,measurementItems:[{key:"direct",title:i.measures.area,value:c(d?.area)},{key:"perimeter",title:e.perimeterLength,value:c(d?.perimeterLength)}],messages:{...e,notApplicable:s.notApplicable},newMeasurementButtonClass:m.newMeasurementButton,state:v,supported:g,unit:o,unitOptions:r,onNewMeasurementClick:()=>{t(this.viewModel.start())},onUnitChange:e=>{this.unit=e}}):null)}};function c(e){return"available"===e?.state?e.text:null}e([s()],d.prototype,"view",null),e([s()],d.prototype,"visible",null),e([s()],d.prototype,"active",null),e([s({constructOnly:!0,nonNullable:!0})],d.prototype,"analysis",null),e([s()],d.prototype,"icon",null),e([s()],d.prototype,"label",null),e([s(),l("esri/widgets/AreaMeasurement3D/t9n/AreaMeasurement3D")],d.prototype,"messages",void 0),e([s(),l("esri/t9n/common")],d.prototype,"messagesCommon",void 0),e([s(),l("esri/core/t9n/Units")],d.prototype,"messagesUnits",void 0),e([s()],d.prototype,"uiStrings",void 0),e([s({type:r})],d.prototype,"viewModel",void 0),e([s()],d.prototype,"unitOptions",null),e([s()],d.prototype,"unit",null),d=e([i("esri.widgets.AreaMeasurement3D")],d);const v=d;export{v as default};