@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 2.93 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{_ as e}from"../../../../chunks/tslib.es6.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as t}from"../../../../core/accessorSupport/decorators/subclass.js";import i from"../../../Widget.js";import{css as o}from"./css.js";import{getUnivariateAboveAndBelowRampElements as r,getUnivariateColorRampSize as l,getUnivariateColorRampPreview as a,getUnivariateColorRampMargin as p,univariateColorRampContainerStyles as n,univariateColorRampStyles as c,univariateRampContainerStyles as m}from"../support/univariateUtils.js";import{attachToNode as d}from"../../support/styleUtils.js";import"../../../support/widgetUtils.js";import{tsx as v}from"../../../support/jsxFactory.js";let y=class extends i{constructor(e,s){super(e,s),this.effectList=null,this.legendElement=null,this.opacity=1}render(){const{legendElement:e,opacity:s,effectList:t,key:i}=this,{sizeRampElement:y,colorRampElement:b}=r(e,s);if(!y)return null;const f=this.messages.previewColorRampAriaLabel,u=l(y,"above",!0),g=l(y,"below",!0),h=12,L=a(b,{width:h,height:u,rampAlignment:"vertical",opacity:s,type:"above",effectList:t,ariaLabel:f}),w=a(b,{width:h,height:g,rampAlignment:"vertical",opacity:s,type:"below",effectList:t,ariaLabel:f}),j=p(y),A=y.infos.map((e=>e.label)),$=A.map(((e,s)=>{const t=2===s;return 0===s?v("div",{class:e?L?o.univariateAboveAndBelowLabel:o.rampLabel:void 0,key:`${i}-color-ramp-above-label-${e??s}`},e):t?v("div",null):null})),C=A.length-1,R=Math.floor(A.length/2),k=A.map(((e,s)=>s===R||s===C?v("div",{class:e?L?o.univariateAboveAndBelowLabel:o.rampLabel:void 0,key:`${i}-color-ramp-below-label-${e??s}`},e):null)),x={display:"table-cell",verticalAlign:"middle"},E={marginTop:`${j}px`},B={height:`${u}px`},U={height:`${g}px`};return v("div",{key:`${i}-container`,styles:m},v("div",{class:o.layerBody},y.infos.map(((e,s)=>v("div",{class:this.classes(o.layerRow,o.sizeRamp),key:`${i}-row-${s}`},v("div",{afterCreate:d,bind:e.preview,class:o.symbol,styles:x}),L||s%2!=0?null:v("div",{class:o.layerInfo},A[s]))))),L?v("div",{styles:E},v("div",{styles:n},v("div",{styles:c},v("div",{afterCreate:d,bind:L,class:o.rampContainer})),v("div",{styles:c},v("div",{class:o.rampLabelsContainer,styles:B},$))),v("div",{styles:n},v("div",{styles:c},v("div",{afterCreate:d,bind:w,class:o.rampContainer})),v("div",{styles:c},v("div",{class:o.rampLabelsContainer,styles:U},k)))):null)}};e([s()],y.prototype,"effectList",void 0),e([s()],y.prototype,"legendElement",void 0),e([s()],y.prototype,"messages",void 0),e([s()],y.prototype,"opacity",void 0),y=e([t("esri.widgets.Legend.styles.classic.UnivariateAboveAndBelowRamp")],y);export{y as default};