@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 2.35 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{_ as e}from"../chunks/tslib.es6.js";import{property as t}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import"../core/RandomLCG.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import s from"./Widget.js";import r from"./Compass/CompassViewModel.js";import{css as i}from"./Compass/css.js";import{loadCalciteComponents as n}from"./support/componentsUtils.js";import{globalCss as a}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as l}from"./support/decorators/messageBundle.js";import{tsx as p}from"./support/jsxFactory.js";let c=class extends s{constructor(e,t){super(e,t),this.messages=null,this.viewModel=new r,this._reset=()=>{this.viewModel.reset()},this._toRotationTransform=e=>({transform:`rotateZ(${e.z}deg)`})}loadDependencies(){return n({button:()=>import("@esri/calcite-components/dist/components/calcite-button"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon")})}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get icon(){return"rotation"===this.viewModel.state?"arrow-up":"compass-needle"}set icon(e){this._overrideIfSome("icon",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:t}=this.viewModel,{messages:o}=this;return p("div",{class:this.classes(i.base,a.widget)},p("calcite-button",{class:a.widgetButton,disabled:"disabled"===t,kind:"neutral",label:o.reset,onclick:this._reset,round:!0,scale:"s",title:o.reset},p("div",{"aria-hidden":"true",class:i.iconContainer,title:o.reset},p("calcite-icon",{icon:this.icon,styles:this._toRotationTransform(e)}))))}};e([t()],c.prototype,"goToOverride",null),e([t()],c.prototype,"icon",null),e([t()],c.prototype,"label",null),e([t(),l("esri/widgets/Compass/t9n/Compass")],c.prototype,"messages",void 0),e([t()],c.prototype,"view",null),e([t({type:r})],c.prototype,"viewModel",void 0),c=e([o("esri.widgets.Compass")],c);const d=c;export{d as default};