@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 2.62 kB
JavaScript
import{_ as e}from"../../chunks/tslib.es6.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import"../support/widgetUtils.js";import{tsx as i}from"../support/jsxFactory.js";import o from"./ValuePickerBaseComponent.js";const l="esri-value-picker__combobox",r={combobox:`${l}-combobox`};let a=class extends o{constructor(e,t){super(e,t),this.items=null,this.placeholder=null,this.type="combobox"}loadDependencies(){return Promise.all([import("@esri/calcite-components/dist/components/calcite-combobox.js"),import("@esri/calcite-components/dist/components/calcite-combobox-item.js")])}get canNext(){return!(!this.items||!this.viewModel)&&this.items.findIndex((({value:e})=>e===this.viewModel.values?.[0]))!==this.items.length-1}get canPlay(){return null!=this.viewModel&&!!this.items?.length}get canPrevious(){return!(!this.items||null==this.viewModel)&&0!==this.items.findIndex((({value:e})=>e===this.viewModel.values?.[0]))}render(){if(null==this.viewModel)return i("div",null);const e=this.viewModel.values?.[0];return i("div",{class:l},i("calcite-combobox",{class:r.combobox,disabled:this.viewModel.disabled,label:this.label,maxItems:10,placeholder:this.placeholder??void 0,selectionMode:"single",onCalciteComboboxChange:e=>{Array.isArray(e.target.value)||(null!=this.viewModel.values?this.viewModel.values[0]!==e.target.value&&(this.viewModel.values=[e.target.value]):this.viewModel.values=[e.target.value])}},this.items?.map((({value:t,label:s},o)=>i("calcite-combobox-item",{key:o,selected:t===e,textLabel:s,value:t})))))}animate(){this._step(1)}next(){this._step(1)}previous(){this._step(-1)}_step(e){if(!this.items?.length||!this.viewModel)return;if(!this.viewModel.values)return void(this.viewModel.values=[this.items[0].value]);const t=this.items.findIndex((({value:e})=>e===this.viewModel.values[0]));if(-1===t)return void(this.viewModel.values=[this.items[0].value]);const s=t+e;s<0||s>=this.items.length?this.viewModel.loop?this.viewModel.values=[this.items[1===e?0:this.items.length-1].value]:"playing"===this.viewModel.state&&this.viewModel.pause():this.viewModel.values=[this.items[s].value]}};e([t()],a.prototype,"canNext",null),e([t()],a.prototype,"canPlay",null),e([t()],a.prototype,"canPrevious",null),e([t()],a.prototype,"items",void 0),e([t()],a.prototype,"placeholder",void 0),e([t()],a.prototype,"type",void 0),a=e([s("esri.widgets.ValuePicker.ValuePickerCombobox")],a);const c=a;export{c as default};