UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 2.96 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{_ as o}from"../../../chunks/tslib.es6.js";import"../../../core/has.js";import{destroyMaybe as e}from"../../../core/maybe.js";import{watch as s,syncAndInitial as r}from"../../../core/reactiveUtils.js";import{convertTime as t}from"../../../core/timeUtils.js";import{generateUUID as i}from"../../../core/uuid.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as a}from"../../../core/accessorSupport/decorators/subclass.js";import{formatNumber as m}from"../../../intl/number.js";import c from"../../Slider.js";import n from"../../Widget.js";import{thresholdConfiguratorCss as p}from"../css.js";import{Label as u}from"./Label.js";import{LabeledColorPicker as d}from"./LabeledColorPicker.js";import{loadCalciteComponents as h}from"../../support/componentsUtils.js";import"../../support/widgetUtils.js";import{messageBundle as v}from"../../support/decorators/messageBundle.js";import{tsx as b}from"../../support/jsxFactory.js";let j=class extends n{constructor(o){super(o),this.colorPickerVisible=!0,this._valueSliderId=`value-slider-${i()}`,this._colorPickerId=`color-picker-${i()}`,this._valueSlider=new c({visibleElements:{labels:!1,rangeLabels:!1},steps:t(30,"minutes","milliseconds"),labelFormatFunction:(o,e)=>{const s=t(o,"milliseconds","hours");return"tick"===e?m(s,{maximumFractionDigits:0}):""}}),this._onColorChange=o=>{this.options.color=o}}initialize(){const o=({value:o})=>{this.options.value=o};this.addHandles([s((()=>{const{value:o,minValue:e,maxValue:s}=this.options;return{value:o,minValue:e,maxValue:s}}),(({value:o,minValue:e,maxValue:s})=>{const r=this._valueSlider;r.min=e,r.max=s,r.values=[o];const i=s-e,l=Math.floor(t(i,"milliseconds","hours"));r.tickConfigs=[{mode:"count",values:2*l+1,labelsVisible:!1},{mode:"count",values:l+1,labelsVisible:!0}]}),r),this._valueSlider.on("thumb-change",o),this._valueSlider.on("thumb-drag",o)])}loadDependencies(){return h({label:()=>import("@esri/calcite-components/dist/components/calcite-label")})}destroy(){this._valueSlider=e(this._valueSlider)}render(){const o=this._messages.threshold,{color:e}=this.options;return b("div",{class:p.base},b(u,{class:p.valueLabel,for:this._valueSliderId,label:o.valueLabel},this._valueSlider.render()),this.colorPickerVisible?b(d,{id:this._colorPickerId,label:o.colorLabel,value:e,onChange:this._onColorChange}):null)}get testData(){}};o([l()],j.prototype,"options",void 0),o([l()],j.prototype,"colorPickerVisible",void 0),o([l()],j.prototype,"testData",null),o([l()],j.prototype,"_valueSlider",void 0),o([l(),v("esri/widgets/ShadowCast/t9n/ShadowCast")],j.prototype,"_messages",void 0),j=o([a("esri.widgets.ShadowCast.components.ThresholdConfigurator")],j);export{j as ThresholdConfigurator};