BasemapToggle.js 3.7 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 e}from"../chunks/tslib.es6.js";import{aliasOf as s}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import{cast as t}from"../core/accessorSupport/decorators/cast.js";import{property as a}from"../core/accessorSupport/decorators/property.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import o from"./Widget.js";import l from"./BasemapToggle/BasemapToggleViewModel.js";import{accessibleHandler as r}from"./support/decorators/accessibleHandler.js";import{messageBundle as n}from"./support/decorators/messageBundle.js";import{vmEvent as m}from"./support/decorators/vmEvent.js";import{tsx as c}from"./support/jsxFactory.js";import"./support/widgetUtils.js";const p={base:"esri-basemap-toggle esri-widget",secondaryBasemapImage:"esri-basemap-toggle__image--secondary",container:"esri-basemap-thumbnail esri-basemap-toggle__container",image:"esri-basemap-thumbnail__image esri-basemap-toggle__image",imageLoading:"esri-basemap-toggle__image--loading",overlay:"esri-basemap-thumbnail__overlay esri-basemap-toggle__image-overlay",title:"esri-basemap-thumbnail__title esri-basemap-toggle__title",overlayScrim:"esri-basemap-thumbnail__overlay-scrim",disabled:"esri-disabled",loaderAnimation:"esri-widget__loader-animation"};function d(e){const s=l.getThumbnailUrl(e);return s?{backgroundImage:"url("+s+")"}:{backgroundImage:""}}const g={title:!1};let u=class extends o{constructor(e,s){super(e,s),this.activeBasemap=null,this.label=void 0,this.messages=null,this.nextBasemap=null,this.view=null,this.viewModel=new l,this.visibleElements={...g}}loadDependencies(){return Promise.all([import("@esri/calcite-components/dist/components/calcite-icon.js"),import("@esri/calcite-components/dist/components/calcite-scrim.js")])}castVisibleElements(e){return{...g,...e}}toggle(){return null}render(){const e=this.viewModel,s="disabled"===e.state?null:e.activeBasemap,t="disabled"===e.state?null:e.nextBasemap,a="loading"===e.state,i="incompatible-next-basemap"===e.state,o=t?t.title:"",l=t&&"loaded"!==t.loadStatus;let r;const n=this.visibleElements.title&&o,m=i;return(n||m)&&(r=c("div",{class:p.overlay,key:"overlay"},n?c("span",{class:p.title,title:o},o):null,m?c("calcite-scrim",{class:p.overlayScrim,title:this.messages.incompatibleSpatialReference},c("calcite-icon",{icon:"exclamation-mark-triangle"})):null)),c("div",{class:this.classes(p.base,i?p.disabled:null),role:"button","data-basemap-id":t?t.id:"",bind:this,onclick:this._toggle,onkeydown:this._toggle,tabIndex:i?-1:0,title:this.label},c("div",{class:this.classes(p.container,p.secondaryBasemapImage)},c("div",{class:p.image,styles:d(s)})),c("div",{class:p.container},c("div",{class:this.classes(p.image,l?p.imageLoading:null),styles:d(t)},l||a?c("calcite-scrim",null,c("span",{"aria-hidden":"true",role:"presentation",class:p.loaderAnimation})):null),r))}_toggle(){this.toggle()}};e([s("viewModel.activeBasemap")],u.prototype,"activeBasemap",void 0),e([a({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],u.prototype,"label",void 0),e([a(),n("esri/widgets/BasemapToggle/t9n/BasemapToggle")],u.prototype,"messages",void 0),e([s("viewModel.nextBasemap")],u.prototype,"nextBasemap",void 0),e([s("viewModel.view")],u.prototype,"view",void 0),e([m("toggle"),a({type:l})],u.prototype,"viewModel",void 0),e([a()],u.prototype,"visibleElements",void 0),e([t("visibleElements")],u.prototype,"castVisibleElements",null),e([s("viewModel.toggle")],u.prototype,"toggle",null),e([r()],u.prototype,"_toggle",null),u=e([i("esri.widgets.BasemapToggle")],u);const b=u;export{b as default};