@arcgis/map-components
Version:
ArcGIS Map Components
5 lines (4 loc) • 2.9 kB
JavaScript
/*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
v4.32.13 */
import{a as y}from"./OSIT5PIM.js";import"./JM4XJJFL.js";import{d as w}from"./AX2MGWNF.js";import{A as d,B as n,G as l,g as o,q as r,r as h}from"./NIZJVZRG.js";var[{watch:c},m,u]=await $arcgis.l(["core/reactiveUtils","layers/RouteLayer","widgets/Directions"]);var g=h` {arcgis-directions{display:block}}`,p=y(u),i="map-components:arcgis-directions",s=class extends n{constructor(){super(...arguments),this.widget=p(this),this.viewModel=this.widget.viewModel,this.apiKey=this.widget.apiKey,this.autoDestroyDisabled=!1,this.headingLevel=this.widget.headingLevel,this.hideLayerDetails=this.widget.visibleElements.layerDetails,this.hideSaveAsButton=this.widget.visibleElements.saveAsButton,this.hideSaveButton=this.widget.visibleElements.saveButton,this.icon=this.widget.icon,this.label=this.widget.label,this.lastRoute=this.widget.lastRoute,this.layer=this.widget.layer,this.maxStops=this.widget.maxStops,this.position="bottom-left",this.searchProperties=this.widget.searchProperties,this.state=this.viewModel.state,this.unit=this.widget.unit,this.useDefaultRouteLayer=!1,this.arcgisPropertyChange=r()("lastRoute","state"),this.arcgisReady=d()}static{this.properties={apiKey:1,autoDestroyDisabled:5,headingLevel:9,hideLayerDetails:5,hideSaveAsButton:5,hideSaveButton:5,icon:1,label:1,lastRoute:0,layer:0,maxStops:9,position:1,referenceElement:1,routeLayerItemId:1,searchProperties:0,state:0,unit:1,useDefaultRouteLayer:5}}static{this.shadowRootOptions=o}static{this.styles=g}async destroy(){await this.manager.destroy()}async getDirections(){if(this.widget?.viewModel?.state!=="ready")throw new Error(`${i} - component not ready to get directions`);return await this.widget?.getDirections()}async save(){if(this.widget?.viewModel?.state!=="ready")throw new Error(`${i} - component not ready to save directions`);return await this.widget?.save()}async saveAs(e,t){if(this.widget?.viewModel?.state!=="ready")throw new Error(`${i} - component not ready to save directions as a Portal Item`);return await this.widget?.saveAs(e,t)}async zoomToRoute(){if(this.widget?.viewModel?.state!=="ready")throw new Error(`${i} - component not ready to zoom to route`);this.widget?.zoomToRoute()}willUpdate(e){if(e.has("routeLayerItemId")){let t=this.routeLayerItemId;if(w(t)&&!this.useDefaultRouteLayer){let{layer:a}=this;a&&this.widget.view?.map.remove(a),this._setDefaultLayer()}else t&&this.widget&&(this.layer=new m({portalItem:{id:t}}),this.widget.view?.map.add(this.layer))}e.has("useDefaultRouteLayer")&&this._setDefaultLayer()}_setDefaultLayer(){this.useDefaultRouteLayer&&!this.routeLayerItemId&&(this.layer=new m,c(()=>this.widget.view,()=>this.widget.view?.map.add(this.layer),{once:!0}))}};l("arcgis-directions",s);export{s as ArcgisDirections};