UNPKG

@doegis/core

Version:

DOE GIS API

3 lines (1 loc) 3.43 kB
import{_ as e}from"../../chunks/tslib.es6.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import{SmartMappingSliderBase as s}from"./SmartMappingSliderBase.js";import t from"./ColorSlider/ColorSliderViewModel.js";import"../support/widgetUtils.js";import{messageBundle as a}from"../support/decorators/messageBundle.js";import{tsx as l}from"../support/jsxFactory.js";var o;const n="esri-color-slider",d={base:n,rampElement:`${n}__ramp`,sliderContainer:`${n}__slider-container`,histogramContainer:`${n}__histogram-container`,primaryHandle:`${n}--primary-handle`,track:`${n}--interactive-track`,esriWidget:"esri-widget",esriWidgetPanel:"esri-widget--panel",widgetIcon:"esri-icon-edit",disabled:"esri-disabled"};let p=o=class extends s{constructor(e,r){super(e,r),this._bgFillId=null,this._rampFillId=null,this.messages=null,this.viewModel=new t,this._bgFillId=`${this.id}-bg-fill`,this._rampFillId=`${this.id}-linear-gradient`}get handlesSyncedToPrimary(){return this.viewModel.handlesSyncedToPrimary}set handlesSyncedToPrimary(e){this.viewModel.handlesSyncedToPrimary=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get primaryHandleEnabled(){return this.viewModel.primaryHandleEnabled}set primaryHandleEnabled(e){this.viewModel.primaryHandleEnabled=e}get stops(){return this.viewModel.stops}set stops(e){this.viewModel.stops=e}static fromRendererResult(e,r){const{visualVariable:{stops:i},statistics:s}=e,{avg:t,stddev:a}=s,l=e.renderer.authoringInfo.visualVariables.find((e=>"color"===e.type)),n=l.minSliderValue,d=l.maxSliderValue;return new o({max:d,min:n,stops:i,histogramConfig:{average:t,standardDeviation:a,bins:r?r.bins:[]},primaryHandleEnabled:"high-to-low"!==l.theme})}updateFromRendererResult(e,r){const{visualVariable:{stops:i},statistics:s}=e,{avg:t,stddev:a}=s,l=e.renderer.authoringInfo.visualVariables.find((e=>"color"===e.type)),o=l.minSliderValue,n=l.maxSliderValue;this.set({max:n,min:o,stops:i,histogramConfig:{average:t,standardDeviation:a,bins:r?r.bins:[]},primaryHandleEnabled:"high-to-low"!==l.theme})}render(){const{label:e,primaryHandleEnabled:r,state:i,visibleElements:s}=this,t="disabled"===i,a=this.classes(d.base,d.esriWidget,d.esriWidgetPanel,{[d.disabled]:t,[d.primaryHandle]:r,[d.track]:s.interactiveTrack});return l("div",{"aria-label":e,class:a},t?null:this.renderContent(this.renderRamp(),d.sliderContainer,d.histogramContainer))}renderRamp(){const{_bgFillId:e,_rampFillId:r,viewModel:i,zoomOptions:s}=this,t=i.getStopInfo();return l("div",{class:d.rampElement},l("svg",{xmlns:"http://www.w3.org/2000/svg"},l("defs",null,this.renderRampFillDefinition(r,t),this.renderBackgroundFillDefinition(e)),l("rect",{x:"0",y:"0",fill:`url(#${e})`,height:"100%",width:"100%"}),l("rect",{x:"0",y:"0",fill:`url(#${r})`,height:"100%",width:"100%"})),s?this.renderZoomCaps():null)}};e([r()],p.prototype,"handlesSyncedToPrimary",null),e([r()],p.prototype,"label",null),e([r(),a("esri/widgets/smartMapping/ColorSlider/t9n/ColorSlider")],p.prototype,"messages",void 0),e([r()],p.prototype,"primaryHandleEnabled",null),e([r()],p.prototype,"stops",null),e([r()],p.prototype,"viewModel",void 0),p=o=e([i("esri.widgets.smartMapping.ColorSlider")],p);const m=p;export{m as default};