12345 |
- /*
- All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- See https://js.arcgis.com/4.24/esri/copyright.txt for details.
- */
- import{_ as o}from"../chunks/tslib.es6.js";import{aliasOf as e}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as t}from"../core/accessorSupport/decorators/property.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import s from"./Widget.js";import{accessibleHandler as r}from"./support/decorators/accessibleHandler.js";import{messageBundle as a}from"./support/decorators/messageBundle.js";import{vmEvent as n}from"./support/decorators/vmEvent.js";import{tsx as l}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import c from"./Track/TrackViewModel.js";const d={base:"esri-track esri-widget--button esri-widget",text:"esri-icon-font-fallback-text",icon:"esri-icon",loading:"esri-icon-loading-indicator",rotating:"esri-rotating",startTrackingIcon:"esri-icon-tracking",stopTrackingIcon:"esri-icon-pause",widgetIcon:"esri-icon-tracking",disabled:"esri-disabled",hidden:"esri-hidden"};let p=class extends s{constructor(o,e){super(o,e),this.geolocationOptions=null,this.goToLocationEnabled=null,this.goToOverride=null,this.graphic=null,this.iconClass=d.widgetIcon,this.label=void 0,this.messages=null,this.scale=null,this.tracking=null,this.useHeadingEnabled=null,this.view=null,this.viewModel=new c}start(){}stop(){}render(){const o=this.get("viewModel.state"),e={[d.disabled]:"disabled"===o,[d.hidden]:"feature-unsupported"===o},t="tracking"===o,i={[d.startTrackingIcon]:!t&&"waiting"!==o,[d.stopTrackingIcon]:t,[d.rotating]:"waiting"===o,[d.loading]:"waiting"===o},{messages:s}=this,r=t?s.stopTracking:s.startTracking;return l("div",{bind:this,class:this.classes(d.base,e),hidden:"feature-unsupported"===o,onclick:this._toggleTracking,onkeydown:this._toggleTracking,role:"button",tabIndex:0,"aria-label":r,title:r},l("span",{"aria-hidden":"true",class:this.classes(d.icon,i)}),l("span",{class:d.text},r))}_toggleTracking(){const o=this.viewModel;o&&"feature-unsupported"!==o.state&&"disabled"!==o.state&&("tracking"!==o.state&&"waiting"!==o.state?this.viewModel.start():this.viewModel.stop())}};o([e("viewModel.geolocationOptions")],p.prototype,"geolocationOptions",void 0),o([e("viewModel.goToLocationEnabled")],p.prototype,"goToLocationEnabled",void 0),o([e("viewModel.goToOverride")],p.prototype,"goToOverride",void 0),o([e("viewModel.graphic")],p.prototype,"graphic",void 0),o([t()],p.prototype,"iconClass",void 0),o([t({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],p.prototype,"label",void 0),o([t(),a("esri/widgets/Track/t9n/Track")],p.prototype,"messages",void 0),o([e("viewModel.scale")],p.prototype,"scale",void 0),o([e("viewModel.tracking")],p.prototype,"tracking",void 0),o([e("viewModel.useHeadingEnabled")],p.prototype,"useHeadingEnabled",void 0),o([e("viewModel.view")],p.prototype,"view",void 0),o([t({type:c}),n(["track","track-error"])],p.prototype,"viewModel",void 0),o([e("viewModel.start")],p.prototype,"start",null),o([e("viewModel.stop")],p.prototype,"stop",null),o([r()],p.prototype,"_toggleTracking",null),p=o([i("esri.widgets.Track")],p);const g=p;export{g as default};
|