HeatmapSlider.js 2.4 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"../../core/accessorSupport/ensureType.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as t}from"../../core/accessorSupport/decorators/subclass.js";import{SmartMappingSliderBase as i}from"./SmartMappingSliderBase.js";import a from"./HeatmapSlider/HeatmapSliderViewModel.js";import"../support/widgetUtils.js";import{messageBundle as o}from"../support/decorators/messageBundle.js";import{tsx as l}from"../support/jsxFactory.js";var p;const d={base:"esri-heatmap-slider",rampElement:"esri-heatmap-slider__ramp",sliderContainer:"esri-heatmap-slider__slider-container",track:"esri-heatmap-slider--interactive-track",esriWidget:"esri-widget",esriWidgetPanel:"esri-widget--panel",widgetIcon:"esri-icon-edit",disabled:"esri-disabled"};let n=p=class extends i{constructor(e,s){super(e,s),this._rampFillId=null,this.label=void 0,this.messages=null,this.stops=null,this.viewModel=new a,this.slider.set({visibleElements:{labels:!1,rangeLabels:!0},labelInputsEnabled:!1,rangeLabelInputsEnabled:!1}),this._rampFillId=`${this.id}-ramp-fill`}static fromHeatmapRendererResult(e){return new p({stops:e.renderer.colorStops})}render(){const{state:e,label:s,visibleElements:r}=this,t="disabled"===e,i=this.classes(d.base,d.esriWidget,d.esriWidgetPanel,{[d.disabled]:t,[d.track]:r.interactiveTrack});return l("div",{"aria-label":s,class:i},t?null:this.renderContent(this.renderRamp(),d.sliderContainer))}renderRamp(){const{_rampFillId:e,viewModel:s}=this,r=s.getStopInfo();return l("div",{class:d.rampElement},l("svg",{xmlns:"http://www.w3.org/2000/svg"},l("defs",null,this.renderRampFillDefinition(e,r)),l("rect",{x:"0",y:"0",fill:`url(#${e})`,height:"100%",width:"100%"})))}};e([r({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],n.prototype,"label",void 0),e([r(),o("esri/widgets/smartMapping/HeatmapSlider/t9n/HeatmapSlider")],n.prototype,"messages",void 0),e([s("viewModel.stops")],n.prototype,"stops",void 0),e([r()],n.prototype,"viewModel",void 0),n=p=e([t("esri.widgets.smartMapping.HeatmapSlider")],n);const m=n;export{m as default};