flow.js 3.8 KB

12345
  1. /*
  2. All material copyright ESRI, All Rights Reserved, unless otherwise specified.
  3. See https://js.arcgis.com/4.25/esri/copyright.txt for details.
  4. */
  5. import e from"../../Color.js";import{seqColorSets2021 as r,seqColorSets2019 as t,seqColorSetsFromPortal as i}from"./color.js";import a from"./support/colors.js";import{createThemes as l,getThemesforBasemap as o,getRawSchemes as s,filterSchemesByName as n,filterSchemesByTag as g}from"./support/symbologyUtils.js";const h=r.concat(t).concat(i).concat(["seq-yellow-red-purple","seq-orange-red-light","seq-yellow-orange-red","seq-yellow-pink-purple","seq-yellow-purple-blue","seq-teal-lightgreen-bright","seq-green-lightgray-bright","seq-red-lightgray-bright","seq-blue-lightgray-bright","seq-orange-lightgray-bright","seq-blue-red-yellow-bright","seq-blue-tan-bright","seq-teal-lightbrown-bright","seq-reds-bright","seq-purples-bright","seq-blues-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-lightred-darkgray-bright"]),b=r.concat(t).concat(i).concat(["seq-blue-lightgray-bright","seq-gray-lightgreen-bright","seq-reds-bright","seq-purples-bright","seq-blues-bright","seq-greens-bright","seq-browns-bright","seq-dark-to-light-magenta-bright","seq-dark-to-light-purple-bright","seq-dark-to-light-blue-bright","seq-dark-to-light-green-bright","seq-brown-to-tan-bright","seq-lightgray-blue-bright","seq-lightgray-green-bright","seq-lightgray-darkmagenta-bright","seq-yellow-darkblue-bright","seq-teal-lightgreen-bright","seq-lightred-darkgray-bright","seq-lightmagenta-darkgray-bright","seq-lightblue-darkgray-bright"]),m={color:"#4c64c9",density:.8,layerEffect:"drop-shadow(1px, 1px, 3px, rgba(0,0,0,0.75))"},c={color:"#00ffff",density:.8,layerEffect:"bloom(1.4, 0.6px, 0)"},p={flowSpeed:10,trailLength:100,trailWidth:1,trailCap:"butt",minSize:1,maxSize:4},d={flowSpeed:3,trailLength:.7,trailWidth:8,trailCap:"butt",minSize:4,maxSize:16},q=l({themeDictionary:{"flow-line":{name:"flow-line",label:"TODO",description:"TODO",schemes:{default:{light:{common:{...p,...m},primary:"seq-lines-purple-brown",secondary:h.filter((e=>"seq-lines-purple-brown"!==e))},dark:{common:{...p,...c},primary:"seq-mentone-beach",secondary:b.filter((e=>"seq-mentone-beach"!==e))}}}},"wave-front":{name:"wave-front",label:"TODO",description:"TODO",schemes:{default:{light:{common:{...d,...m},primary:"seq-lines-purple-brown",secondary:h.filter((e=>"seq-lines-purple-brown"!==e))},dark:{common:{...d,...c},primary:"seq-mentone-beach",secondary:b.filter((e=>"seq-mentone-beach"!==e))}}}}}});function u(e){return o(q,e)}function y(e){const r=e.theme||"flow-line",t=s({basemap:e.basemap,basemapTheme:e.basemapTheme,theme:q.get(r)});if(!t)return;const{schemesInfo:i,basemapId:a,basemapTheme:l}=t,o=i.common;return{primaryScheme:S(e,i.primary,o),secondarySchemes:i.secondary.map((r=>S(e,r,o))).filter(Boolean),basemapId:a,basemapTheme:l}}function f(e){return n(e.name,y(e))}function w(e){return g(e.includedTags,e.excludedTags,y(e))}function k(r){if(!r)return;const t={...r};return t.colors=t.colors.map((r=>new e(r))),t.tags=[...t.tags],t.color&&(t.color=new e(t.color)),t}function S(r,t,i){const l=r.theme||"flow-line",o=a[t];if(!o)return;const s=o.stops;return{id:`${l}/${r.basemap}/${t}`,name:o.name,tags:[...o.tags],theme:l,color:new e(i.color),colors:s.map((r=>new e(r))),density:i.density,flowSpeed:i.flowSpeed,trailLength:"wave-front"===l&&r.hasSizeVariable?2*i.trailLength:i.trailLength,trailWidth:i.trailWidth,trailCap:i.trailCap,layerEffect:i.layerEffect,minSize:i.minSize,maxSize:i.maxSize,minOpacity:.25,maxOpacity:1}}export{k as cloneScheme,f as getSchemeByName,y as getSchemes,w as getSchemesByTag,u as getThemes};