@arcgis/map-components
Version:
ArcGIS Map Components
5 lines (4 loc) • 2.86 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 M}from"./NYXWVKGC.js";import{a as f}from"./QKQNYHUC.js";import{a as r}from"./KWBN5CHV.js";import{d as s}from"./JM4XJJFL.js";import"./AX2MGWNF.js";import{A as m,B as v,C as o,E as u,G as w,a as h,g as d,q as g,r as p,s as e}from"./NIZJVZRG.js";var T=await $arcgis.l("widgets/Track/TrackViewModel");var $=p` {arcgis-track{display:block}}`,O={base:"esri-track"},D=M(T),a=class extends v{constructor(){super(...arguments),this.messages=f(),this.viewModel=D(this),this.autoDestroyDisabled=!1,this.error=this.viewModel.error,this.geolocationOptions=this.viewModel.geolocationOptions,this.goToOverride=this.viewModel.goToOverride,this.goToLocationDisabled=this.viewModel.goToLocationEnabled,this.graphic=this.viewModel.graphic,this.icon="compass-north-circle",this.position="top-left",this.positionFilterFunction=this.viewModel.positionFilterFunction,this.scale=this.viewModel.scale,this.state=this.viewModel.state,this.tracking=this.viewModel.tracking,this.arcgisComplete=s(()=>this.viewModel,"track"),this.arcgisError=s(()=>this.viewModel,"track-error"),this.arcgisPropertyChange=g()("state"),this.arcgisReady=m()}static{this.properties={autoDestroyDisabled:5,error:1,geolocationOptions:1,goToOverride:0,goToLocationDisabled:7,graphic:0,icon:3,label:1,messageOverrides:0,position:3,positionFilterFunction:0,referenceElement:1,scale:9,state:0,tracking:4}}static{this.shadowRootOptions=d}static{this.styles=$}async destroy(){await this.manager.destroy()}async start(){this.viewModel.start()}async stop(){this.viewModel.stop()}_localizeError(i){if(i instanceof GeolocationPositionError)return i.code===GeolocationPositionError.PERMISSION_DENIED?this.messages?.permissionError:i.code===GeolocationPositionError.TIMEOUT?this.messages?.timeoutError:this.messages?.positionUnavailable;if(i instanceof Error)return i.message}_toggleTracking(){if(!this.viewModel)return;let{state:i}=this.viewModel;if(!(i==="feature-unsupported"||i==="disabled")){if(i==="tracking"||i==="waiting"){this.viewModel.stop();return}this.viewModel.start()}}render(){let{viewModel:i,messages:n,icon:E}=this,t=i?.state,k=t==="tracking",c=this._localizeError(this.viewModel?.error),l=(k?n?.stopTracking:n?.startTracking)??"",b=t==="feature-unsupported",y=(t==="tracking"?"pause":void 0)??E??void 0;return e`<div class=${o(h(O.base,r.widget))}>${!b&&e`<calcite-button class=${o(r.widgetButton)} .disabled=${t==="disabled"} .iconStart=${y} kind=neutral .label=${l} .loading=${t==="waiting"} =${this._toggleTracking} title=${l??u}></calcite-button>`||""}${c?e`<calcite-tooltip open overlay-positioning=fixed .referenceElement=${this.el}>${c}</calcite-tooltip>`:null}</div>`}};w("arcgis-track",a);export{a as ArcgisTrack};