UNPKG

@doegis/core

Version:

DOE GIS API

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