12345 |
- /*
- All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- See https://js.arcgis.com/4.25/esri/copyright.txt for details.
- */
- import e from"../../Color.js";import{getSchemes as o,cloneScheme as n}from"./size.js";import a from"./support/colors.js";import{createThemes as r,getThemesforBasemap as t,getRawSchemes as i,filterSchemesByName as c,filterSchemesByTag as m}from"./support/symbologyUtils.js";import{toWorldScale as s}from"./support/utils.js";const p={light:{color:[153,153,153,.25],width:"1px"},dark:{color:[153,153,153,.25],width:"1px"},darker:{color:[26,26,26,.25],width:"1px"}},l="#aaaaaa",d=["tropical-bliss","desert-blooms","under-the-sea","vibrant-rainbow","ocean-bay","prairie-summer","pastel-chalk"],u=["cat-symbols-strong","cat-symbols-autumnal","cat-symbols-bright","cat-symbols-midrange","cat-symbols-subdued","cat-symbols-pastel","cat-symbols-red","cat-symbols-blue","cat-symbols-green","cat-symbols-gray"],y=r({themeDictionary:{default:{name:"default",label:"Default",description:"Default theme for visualizing features by their predominant category.",schemes:{point:{light:{common:{noDataColor:l,outline:p.light,size:"8px"},primary:"predominant-v1",secondary:["predominant-v2","predominant-v3","predominant-v4","predominant-v5","predominance-race","predominance-money","predominance-race-ethnic","predominance-rainbow","predominance-sequence"].concat(u).concat(d)},dark:{common:{noDataColor:l,outline:p.darker,size:"8px"},primary:"predominant-v2",secondary:["predominant-v1","predominant-v3","predominant-v4","predominant-v5","predominance-race","predominance-money","predominance-race-ethnic","predominance-rainbow","predominance-sequence"].concat(u).concat(d)}},polyline:{light:{common:{noDataColor:l,width:"2px"},primary:"predominant-v1",secondary:["predominant-v2","predominant-v3","predominant-v4","predominant-v5","predominance-race","predominance-money","predominance-race-ethnic","predominance-rainbow","predominance-sequence"].concat(u).concat(d)},dark:{common:{noDataColor:l,width:"2px"},primary:"predominant-v2",secondary:["predominant-v1","predominant-v3","predominant-v4","predominant-v5","predominance-race","predominance-money","predominance-race-ethnic","predominance-rainbow","predominance-sequence"].concat(u).concat(d)}},polygon:{light:{common:{noDataColor:l,outline:p.light,fillOpacity:.8,markerSize:"8px"},primary:"predominant-v1",secondary:["predominant-v2","predominant-v3","predominant-v4","predominant-v5","predominance-race","predominance-money","predominance-race-ethnic","predominance-rainbow","predominance-sequence"].concat(u).concat(d)},dark:{common:{noDataColor:l,outline:p.dark,fillOpacity:.8,markerSize:"8px"},primary:"predominant-v2",secondary:["predominant-v1","predominant-v3","predominant-v4","predominant-v5","predominance-race","predominance-money","predominance-race-ethnic","predominance-rainbow","predominance-sequence"].concat(u).concat(d)}}}}}});function h(e){return t(y,e)}function g(e){const n="default",a=i({basemap:e.basemap,geometryType:e.geometryType,basemapTheme:e.basemapTheme,theme:y.get(n)});if(!a)return;const{schemesInfo:r,basemapId:t,basemapTheme:c}=a,m=r.common,s=o({basemap:e.basemap,geometryType:e.geometryType,worldScale:e.worldScale,view:e.view}),p=s&&s.primaryScheme;return{primaryScheme:f(e,r.primary,m,p),secondarySchemes:r.secondary.map((o=>f(e,o,m,p))).filter(Boolean),basemapId:t,basemapTheme:c}}function w(e){return c(e.name,g(e))}function b(e){return m(e.includedTags,e.excludedTags,g(e))}function v(o){if(!o)return;const a={...o};return a.colors=a.colors.map((o=>new e(o))),a.tags=[...a.tags],a.noDataColor&&(a.noDataColor=new e(a.noDataColor)),"outline"in a&&a.outline&&(a.outline={color:a.outline.color&&new e(a.outline.color),width:a.outline.width}),"sizeScheme"in a&&a.sizeScheme&&(a.sizeScheme=n(a.sizeScheme)),a}function f(e,o,n,r){const t=a[o];if(!t)return;const i=t[e.numColors]||t.stops,c="mesh"!==e.geometryType&&e.worldScale?e.view:null;switch(e.geometryType){case"point":case"multipoint":{const e=n;return z({name:t.name,tags:t.tags,colors:i,noDataColor:e.noDataColor,opacity:1,sizeScheme:r,outline:e.outline,size:e.size},c)}case"polyline":{const e=n;return D({name:t.name,tags:t.tags,colors:i,noDataColor:e.noDataColor,opacity:1,sizeScheme:r,width:e.width},c)}case"polygon":{const e=n,o=r;o&&o.marker&&null!=e.markerSize&&(o.marker.size=e.markerSize);return C({name:t.name,tags:t.tags,colors:i,noDataColor:e.noDataColor,opacity:e.fillOpacity,outline:e.outline,sizeScheme:o},c)}case"mesh":{const e=n;return S({name:t.name,tags:t.tags,colors:i,noDataColor:e.noDataColor,opacity:e.fillOpacity})}default:return}}function z(o,n){return{name:o.name,tags:[...o.tags],colors:o.colors.map((o=>new e(o))),noDataColor:new e(o.noDataColor),outline:{color:new e(o.outline.color),width:o.outline.width},size:n?s(o.size,n):o.size,sizeScheme:o.sizeScheme,opacity:o.opacity}}function D(o,n){return{name:o.name,tags:[...o.tags],colors:o.colors.map((o=>new e(o))),noDataColor:new e(o.noDataColor),width:n?s(o.width,n):o.width,sizeScheme:o.sizeScheme,opacity:o.opacity}}function C(o,n){const{sizeScheme:a}=o;return a.marker.size=n?s(a.marker.size,n):a.marker.size,{name:o.name,tags:[...o.tags],colors:o.colors.map((o=>new e(o))),noDataColor:new e(o.noDataColor),outline:{color:new e(o.outline.color),width:o.outline.width},sizeScheme:a,opacity:o.opacity}}function S(o){return{name:o.name,tags:[...o.tags],colors:o.colors.map((o=>new e(o))),noDataColor:new e(o.noDataColor),opacity:o.opacity}}export{v as cloneScheme,w as getSchemeByName,g as getSchemes,b as getSchemesByTag,h as getThemes};
|