@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 985 B
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import t from"../../request.js";import{pt2px as e}from"../../core/screenUtils.js";import{SymbolSizeDefaults as i}from"./previewUtils.js";import{defaultAcceptedFormats as n}from"./webStyleAcceptedFormats.js";async function o(e,i,o){const r=e.thumbnail?.url;if(r){const e=s((await t(r,{responseType:"image"})).data,o);return o?.node?(o.node.appendChild(e),o.node):e}const a=await e.fetchSymbol({acceptedFormats:n});return a?i(a,o):null}function s(t,n){const o=!/\\.svg$/i.test(t.src)&&n?.disableUpsampling,s=Math.max(t.width,t.height);let r=null!=n?.maxSize?e(n.maxSize):i.maxSize;o&&(r=Math.min(s,r));const a="number"==typeof n?.size?n?.size:null,h=Math.min(r,null!=a?e(a):s);if(h!==s){const e=0!==t.width&&0!==t.height?t.width/t.height:1;e>=1?(t.width=h,t.height=h/e):(t.width=h*e,t.height=h)}return t}export{o as previewWebStyleSymbol};