@arcgis/map-components
Version:
ArcGIS Map Components
3 lines (2 loc) • 2.19 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
import{a as o}from"./HZFVK34O.js";import{h as n}from"./AKBXFBDL.js";import"./LMBRORN7.js";import"./PBSJQPB2.js";import{O as r,U as l,a as c,b as i}from"./WUJCCZQC.js";import"./3TTFCHAA.js";var h=c`:host{align-items:center;display:flex;flex:auto;min-width:300px;padding-inline:var(--calcite-space-sm);--calcite-color-border-input: var(--calcite-color-border-3)}calcite-combobox{flex:auto;width:var(--calcite-space-none)}`,a=class extends r{constructor(){super(...arguments),this.messages=o({blocking:!0}),this.autoDestroyDisabled=!1,this.disabled=!1,this.canNext=!1,this.canPlay=!1,this.canPrevious=!1,this.arcgisPropertyChange=n()("canNext","canPlay","canPrevious","currentValue")}static{this.properties={autoDestroyDisabled:5,disabled:5,items:0,currentValue:0,canNext:5,canPlay:5,canPrevious:5}}static{this.styles=h}async destroy(){await this.manager.destroy()}reset(){this.currentValue=this.items?.[0]}step(e){if(!this.items||!this.currentValue)return;let t=this.items.findIndex(({value:s})=>s===this.currentValue?.value)+(e==="next"?1:-1);t>=this.items.length||t<0||(this.currentValue=this.items[t],this._checkState())}connectedCallback(){super.connectedCallback(),this.el.hidden=!0}willUpdate(e){(e.has("currentValue")||e.has("items"))&&this.items?.length&&(this.currentValue??=this.items[0]),this.el.hidden=!this.items?.length,this._checkState()}_checkState(){if(!this.items?.length){this.canPlay=!1,this.canNext=!1,this.canPrevious=!1;return}this.canPlay=!0;let e=this.items.findIndex(({value:t})=>t===this.currentValue?.value);this.canNext=e<this.items.length-1,this.canPrevious=e>0}render(){return i`<calcite-combobox .disabled=${this.disabled} selection-mode=single .label=${this.messages.comboboxLabel} =${({currentTarget:e})=>{let t=e.selectedItems[0]?.value;this.currentValue=this.items?.find(({value:s})=>s===t),this._checkState()}}>${this.items?.map(e=>i`<calcite-combobox-item .value=${e.value} .heading=${e.label} .selected=${e.value===this.currentValue?.value}></calcite-combobox-item>`)}</calcite-combobox>`}};l("arcgis-value-picker-combobox",a);export{a as ArcgisValuePickerCombobox};