OpacitySlider.js 3.2 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 i}from"../../chunks/tslib.es6.js";import s from"../../Color.js";import{aliasOf as t}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as e}from"../../core/accessorSupport/decorators/cast.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{SmartMappingSliderBase as a}from"./SmartMappingSliderBase.js";import l from"./OpacitySlider/OpacitySliderViewModel.js";import"../support/widgetUtils.js";import{messageBundle as p}from"../support/decorators/messageBundle.js";import{tsx as d}from"../support/jsxFactory.js";var n;const c={base:"esri-opacity-slider",rampElement:"esri-opacity-slider__ramp",sliderContainer:"esri-opacity-slider__slider-container",histogramContainer:"esri-opacity-slider__histogram-container",track:"esri-opacity-slider--interactive-track",esriWidget:"esri-widget",esriWidgetPanel:"esri-widget--panel",widgetIcon:"esri-icon-edit",disabled:"esri-disabled"},m={trackFillColor:new s([0,121,193])};let g=n=class extends a{constructor(i,s){super(i,s),this._bgFillId=null,this._rampFillId=null,this.label=void 0,this.messages=null,this.stops=null,this.style={...m},this.viewModel=new l,this.zoomOptions=null,this._rampFillId=`${this.id}-ramp-fill`,this._bgFillId=`${this.id}-bg-fill`}castStyle(i){return{...m,...i}}static fromVisualVariableResult(i,s){const{visualVariable:{stops:t},statistics:e}=i,{avg:r,max:o,min:a,stddev:l}=e;return new n({max:o,min:a,stops:t,histogramConfig:{average:r,standardDeviation:l,bins:s?s.bins:[]}})}updateFromVisualVariableResult(i,s){const{visualVariable:{stops:t},statistics:e}=i,{avg:r,max:o,min:a,stddev:l}=e;this.set({max:o,min:a,stops:t,histogramConfig:{average:r,standardDeviation:l,bins:s?s.bins:[]}})}render(){const{state:i,label:s,visibleElements:t}=this,e="disabled"===i,r=this.classes(c.base,c.esriWidget,c.esriWidgetPanel,{[c.disabled]:e,[c.track]:t.interactiveTrack});return d("div",{"aria-label":s,class:r},e?null:this.renderContent(this.renderRamp(),c.sliderContainer,c.histogramContainer))}renderRamp(){const{_bgFillId:i,_rampFillId:s,style:{trackFillColor:t},viewModel:e,zoomOptions:r}=this,o=e.getStopInfo(t);return d("div",{class:c.rampElement},d("svg",{xmlns:"http://www.w3.org/2000/svg"},d("defs",null,this.renderRampFillDefinition(s,o),this.renderBackgroundFillDefinition(i)),d("rect",{x:"0",y:"0",fill:`url(#${i})`,height:"100%",width:"100%"}),d("rect",{x:"0",y:"0",fill:`url(#${s})`,height:"100%",width:"100%"})),r?this.renderZoomCaps():null)}};i([r({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],g.prototype,"label",void 0),i([r(),p("esri/widgets/smartMapping/OpacitySlider/t9n/OpacitySlider")],g.prototype,"messages",void 0),i([t("viewModel.stops")],g.prototype,"stops",void 0),i([r()],g.prototype,"style",void 0),i([e("style")],g.prototype,"castStyle",null),i([r()],g.prototype,"viewModel",void 0),i([t("viewModel.zoomOptions")],g.prototype,"zoomOptions",void 0),g=n=i([o("esri.widgets.smartMapping.OpacitySlider")],g);const u=g;export{u as default};