12345 |
- /*
- All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- See https://js.arcgis.com/4.25/esri/copyright.txt for details.
- */
- import{_ as e}from"../chunks/tslib.es6.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/accessorSupport/ensureType.js";import{subclass as t}from"../core/accessorSupport/decorators/subclass.js";import o from"./Widget.js";import r from"./Compass/CompassViewModel.js";import{accessibleHandler as i}from"./support/decorators/accessibleHandler.js";import{messageBundle as a}from"./support/decorators/messageBundle.js";import{tsx as n}from"./support/jsxFactory.js";import"./support/widgetUtils.js";const l={base:"esri-compass esri-widget--button esri-widget",text:"esri-icon-font-fallback-text",icon:"esri-compass__icon",rotationIcon:"esri-icon-dial",northIcon:"esri-icon-compass",widgetIcon:"esri-icon-locate-circled",interactive:"esri-interactive",disabled:"esri-disabled"};let c=class extends o{constructor(e,s){super(e,s),this.iconClass=l.widgetIcon,this.messages=null,this.viewModel=new r}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=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}reset(){return this.viewModel.reset()}render(){const{orientation:e,state:s}=this.viewModel,t="disabled"===s,o="compass"===("rotation"===s?"rotation":"compass"),r=t?-1:0,i={[l.disabled]:t,[l.interactive]:!t},a={[l.northIcon]:o,[l.rotationIcon]:!o},{messages:c}=this;return n("div",{bind:this,class:this.classes(l.base,i),onclick:this._reset,onkeydown:this._reset,role:"button",tabIndex:r,"aria-label":c.reset,title:c.reset},n("span",{"aria-hidden":"true",class:this.classes(l.icon,a),styles:this._toRotationTransform(e)}),n("span",{class:l.text},c.reset))}_reset(){this.viewModel.reset()}_toRotationTransform(e){return{transform:`rotateZ(${e.z}deg)`}}};e([s()],c.prototype,"goToOverride",null),e([s()],c.prototype,"iconClass",void 0),e([s()],c.prototype,"label",null),e([s(),a("esri/widgets/Compass/t9n/Compass")],c.prototype,"messages",void 0),e([s()],c.prototype,"view",null),e([s({type:r})],c.prototype,"viewModel",void 0),e([i()],c.prototype,"_reset",null),c=e([t("esri.widgets.Compass")],c);const p=c;export{p as default};
|