UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 2.24 kB
/* 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 o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as t}from"../../../core/accessorSupport/decorators/subclass.js";import r from"../../Slider.js";import{SliderWithDropdownViewModel as s}from"./SliderWithDropdownViewModel.js";import{TimezonePicker as i}from"../../support/TimezonePicker.js";import{onResize as n}from"../../support/widgetUtils.js";import{tsx as l}from"../../support/jsxFactory.js";const p="esri-slider-with-dropdown",d={label:"esri-slider__label",box:`${p}__box`,boxDropDownOn:`${p}__box--drop-down-on`,boxDropDownOff:`${p}__box--drop-down-off`};let h=class extends r{constructor(e,o){super(e,o),this.viewModel=new s,this.showDropDown=!0,this._labelWidth=0,this._onLabelAfterCreate=e=>{const o="label-size-observer";this.removeHandles(o),this.addHandles(n(e,(({contentRect:e})=>{this._labelWidth=e.width})),o)},this._getLabelStyles=()=>{if(!this.trackElement)return;const e=this._trackWidth,o=this._labelWidth/2,t=this.getCurrentPosition(),r=t-o,s=t+o;let i=-o;return r<0?i+=-r:s>e&&(i+=e-s),{left:`${i}px`}},this._onTimezoneChange=e=>{this.viewModel.utcOffset=e},this._onTimezonePickerOpen=()=>{this.viewModel.timezonePickerOpen=!0},this._onTimezonePickerClose=()=>{this.viewModel.timezonePickerOpen=!1}}renderThumbLabel(e){const{showDropDown:o,viewModel:t}=this;return l("div",{afterCreate:this._onLabelAfterCreate,class:this.classes({[d.box]:!0,[d.label]:!0,[d.boxDropDownOn]:o,[d.boxDropDownOff]:!o}),key:"thumb-label",styles:this._getLabelStyles()},super.renderThumbLabel(e),o?l(i,{disabled:this.disabled,open:t.timezonePickerOpen,value:t.utcOffset,onChange:this._onTimezoneChange,onClose:this._onTimezonePickerClose,onOpen:this._onTimezonePickerOpen}):null)}};e([o()],h.prototype,"viewModel",void 0),e([o()],h.prototype,"showDropDown",void 0),e([o()],h.prototype,"_labelWidth",void 0),h=e([t("esri.widgets.Daylight.support.SliderWithDropdown")],h);const a=h;export{a as default};