NavigationToggle.js 2.5 KB

12345
  1. /*
  2. All material copyright ESRI, All Rights Reserved, unless otherwise specified.
  3. See https://js.arcgis.com/4.24/esri/copyright.txt for details.
  4. */
  5. import{_ as t}from"../chunks/tslib.es6.js";import{aliasOf as o}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as e}from"../core/accessorSupport/decorators/property.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import i from"./Widget.js";import a from"./NavigationToggle/NavigationToggleViewModel.js";import{accessibleHandler as r}from"./support/decorators/accessibleHandler.js";import{messageBundle as n}from"./support/decorators/messageBundle.js";import{tsx as l}from"./support/jsxFactory.js";import"./support/widgetUtils.js";const g={base:"esri-navigation-toggle esri-widget",button:"esri-navigation-toggle__button esri-widget--button",activeButton:"esri-navigation-toggle__button--active",panButton:"esri-navigation-toggle__button--pan",rotateButton:"esri-navigation-toggle__button--rotate",isLayoutHorizontal:"esri-navigation-toggle--horizontal",rotationIcon:"esri-icon-rotate",panIcon:"esri-icon-pan",widgetIcon:"esri-icon-pan2",disabled:"esri-disabled"};let p=class extends i{constructor(t,o){super(t,o),this.iconClass=g.widgetIcon,this.label=void 0,this.messages=null,this.view=null,this.viewModel=new a}set layout(t){"horizontal"!==t&&(t="vertical"),this._set("layout",t)}toggle(){return this.viewModel.toggle()}render(){const t="disabled"===this.get("viewModel.state"),o="pan"===this.get("viewModel.navigationMode"),e={[g.disabled]:t,[g.isLayoutHorizontal]:"horizontal"===this.layout},s={[g.activeButton]:o},i={[g.activeButton]:!o},a=t?-1:0,r=this.messages.toggle;return l("div",{bind:this,class:this.classes(g.base,e),onclick:this._toggle,onkeydown:this._toggle,tabIndex:a,"aria-label":r,title:r},l("div",{class:this.classes(g.button,g.panButton,s)},l("span",{class:g.panIcon})),l("div",{class:this.classes(g.button,g.rotateButton,i)},l("span",{class:g.rotationIcon})))}_toggle(){this.toggle()}};t([e()],p.prototype,"iconClass",void 0),t([e({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],p.prototype,"label",void 0),t([e({value:"vertical"})],p.prototype,"layout",null),t([e(),n("esri/widgets/NavigationToggle/t9n/NavigationToggle")],p.prototype,"messages",void 0),t([o("viewModel.view")],p.prototype,"view",void 0),t([e({type:a})],p.prototype,"viewModel",void 0),t([r()],p.prototype,"_toggle",null),p=t([s("esri.widgets.NavigationToggle")],p);const c=p;export{c as default};