@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
1 lines • 12.5 kB
JavaScript
;(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3937],{62577(e,t,r){function n(e){return e?{originPosition:"upper-left"===e.originPosition?"upperLeft":"lower-left"===e.originPosition?"lowerLeft":e.originPosition,scale:e.tolerance?[e.tolerance,e.tolerance,1,1]:[1,1,1,1],translate:null!=e.extent?[e.extent.xmin,e.extent.ymax,e.extent.zmin??0,e.extent.mmin??0]:[0,0,0,0]}:null}function o(e){if(function(e){return"lowerLeft"===e.originPosition&&4===e.scale.length&&4===e.translate.length}(e))return e;const{originPosition:t,scale:r,translate:n}=e,o=r[0]??1,i=r[1]??1;return{originPosition:"lowerLeft",scale:[o,"lowerLeft"===t?i:-i,r[2]??1,r[3]??1],translate:[n[0]??0,n[1]??0,n[2]??0,n[3]??0]}}function i({scale:e,translate:t},r){return Math.round((r-t[0])/e[0])}function s({scale:e,translate:t},r){return Math.round((r-t[1])/e[1])}function a({scale:e,translate:t},r){return r*e[0]+t[0]}function c({scale:e,translate:t},r){return r*e[1]+t[1]}function l({scale:e,translate:t},r){return(r??0)*e[2]+t[2]}function f({scale:e,translate:t},r){return r?r*e[3]+t[3]:0}function u(e,t){return e&&t?y:e&&!t?m:!e&&t?h:p}r.d(t,{$X:()=>v,B2:()=>s,Gy:()=>M,IE:()=>i,P5:()=>x,Q1:()=>o,SW:()=>g,Tr:()=>b,VV:()=>n});const p=(e,t)=>{const r=new Array(t.length);if(!t.length)return r;const n=t[0];let o=a(e,n[0]),i=c(e,n[1]);r[0]=[o,i];const{scale:s,originPosition:l}=e,f=s[0],u="lowerLeft"===l?s[1]:-s[1];for(let e=1;e<t.length;e++){const[n,s]=t[e];o+=f*n,i+=u*s,r[e]=[o,i]}return r},m=(e,t)=>{const r=new Array(t.length);if(!t.length)return r;const n=t[0];let o=a(e,n[0]),i=c(e,n[1]);r[0]=[o,i,l(e,n[2])];const{scale:s,originPosition:f}=e,u=s[0],p="lowerLeft"===f?s[1]:-s[1];for(let n=1;n<t.length;n++){const[s,a,c]=t[n];o+=u*s,i+=p*a,r[n]=[o,i,l(e,c)]}return r},h=(e,t)=>{const r=new Array(t.length);if(!t.length)return r;const n=t[0];let o=a(e,n[0]),i=c(e,n[1]);r[0]=[o,i,f(e,n[2])];const{scale:s,originPosition:l}=e,u=s[0],p="lowerLeft"===l?s[1]:-s[1];for(let n=1;n<t.length;n++){const[s,a,c]=t[n];o+=u*s,i+=p*a,r[n]=[o,i,f(e,c)]}return r},y=(e,t)=>{const r=new Array(t.length);if(!t.length)return r;const n=t[0];let o=a(e,n[0]),i=c(e,n[1]);r[0]=[o,i,l(e,n[2]),f(e,n[3])];const{scale:s,originPosition:u}=e,p=s[0],m="lowerLeft"===u?s[1]:-s[1];for(let n=1;n<t.length;n++){const[s,a,c,u]=t[n];o+=p*s,i+=m*a,r[n]=[o,i,l(e,c),f(e,u)]}return r};function d(e,t,r){const n=new Array(r.length);for(let o=0;o<r.length;o++)n[o]=t(e,r[o]);return n}function M(e,t,r){const n=o(e);return t.x=i(n,r.x),t.y=s(n,r.y),null!=r.z&&(t.z=function({scale:e,translate:t},r){return Math.round(((r??0)-t[2])/e[2])}(n,r.z)),null!=r.m&&(t.m=function({scale:e,translate:t},r){return r?Math.round((r-t[3])/e[3]):0}(n,r.m)),t}function g(e,t,r,n=r?.hasZ??!1,i=r?.hasM??!1){if(null!=r){const s=o(e);t.points=u(n,i)(s,r.points),t.hasZ=n,t.hasM=i}return t}function b(e,t,r,n=null!=r?.z,i=null!=r?.m){if(null==r)return t;const s=o(e);return t.x=a(s,r.x),t.y=c(s,r.y),n&&(t.z=l(s,r.z)),i&&(t.m=f(s,r.m)),t}function v(e,t,r,n=r?.hasZ??!1,i=r?.hasM??!1){if(null!=r){const s=o(e);t.rings=d(s,u(n,i),r.rings),t.hasZ=n,t.hasM=i}return t}function x(e,t,r,n=r?.hasZ??!1,i=r?.hasM??!1){if(null!=r){const s=o(e);t.paths=d(s,u(n,i),r.paths),t.hasZ=n,t.hasM=i}return t}},73937(e,t,r){r.d(t,{OverrideHelper:()=>d});var n=r(68197),o=r(85334),i=r(4718),s=r(95466),a=r(55674),c=r(93397),l=r(49186),f=r(53966),u=r(62577);function p(e,t,r,n,o,i){if(null==e)return null;const s=e.references("geometry")&&i?h(t,n,i):t,a=e.repurposeFeature(s,o);try{return e.evaluate(a,r)}catch(e){return f.A.getLogger("esri.views.2d.support.arcadeOnDemand").warn("Feature arcade evaluation failed:",e),null}}const m=new Map;function h(e,t,r){const{transform:n,hasZ:o,hasM:i}=r;m.has(t)||m.set(t,function(e){const t={};switch(e){case"esriGeometryPoint":return(e,r,n,o)=>(0,u.Tr)(r,t,e,n,o);case"esriGeometryPolygon":return(e,r,n,o)=>(0,u.$X)(r,t,e,n,o);case"esriGeometryPolyline":return(e,r,n,o)=>(0,u.P5)(r,t,e,n,o);case"esriGeometryMultipoint":return(e,r,n,o)=>(0,u.SW)(r,t,e,n,o);default:return f.A.getLogger("esri.views.2d.support.arcadeOnDemand").error(new l.A("mapview-arcade",`Unable to handle geometryType: ${e}`)),e=>e}}(t));const s=m.get(t)(e.geometry,n,o,i);return{...e,geometry:s}}const y=e=>{if(!e)return[0,0,0,0];const{r:t,g:r,b:n,a:o}=e;return[t,r,n,255*o]};class d{static findApplicableOverrides(e,t,r){if(e&&t){if(e.primitiveName){let n=!1;for(const t of r)if(t.primitiveName===e.primitiveName){n=!0;break}if(!n)for(const n of t)n.primitiveName===e.primitiveName&&r.push(n)}switch(e.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":if(e.effects)for(const n of e.effects)d.findApplicableOverrides(n,t,r);if(e.symbolLayers)for(const n of e.symbolLayers)d.findApplicableOverrides(n,t,r);break;case"CIMTextSymbol":break;case"CIMSolidStroke":case"CIMPictureStroke":case"CIMGradientStroke":case"CIMSolidFill":case"CIMPictureFill":case"CIMHatchFill":case"CIMGradientFill":case"CIMVectorMarker":case"CIMCharacterMarker":case"CIMPictureMarker":if(e.effects)for(const n of e.effects)d.findApplicableOverrides(n,t,r);if(e.markerPlacement&&d.findApplicableOverrides(e.markerPlacement,t,r),"CIMVectorMarker"===e.type){if(e.markerGraphics)for(const n of e.markerGraphics)d.findApplicableOverrides(n,t,r),d.findApplicableOverrides(n.symbol,t,r)}else"CIMCharacterMarker"===e.type?d.findApplicableOverrides(e.symbol,t,r):"CIMHatchFill"===e.type?d.findApplicableOverrides(e.lineSymbol,t,r):"CIMPictureMarker"===e.type&&d.findApplicableOverrides(e.animatedSymbolProperties,t,r)}}}static findEffectOverrides(e,t){if(!e)return null;if("CIMGeometricEffectDashes"===e.type&&(0,c.FH)(e),!t||!e.primitiveName)return{type:"cim-effect-param",effect:e,overrides:[]};const r=(0,c.rB)(e),n=e.primitiveName,o=[];for(const e of t)e.primitiveName===n&&o.push((0,c.rB)(e));return{type:"cim-effect-param",effect:r,overrides:(0,c.pk)(o)}}static async resolveSymbolOverrides(e,t,r,n,o,a,l){if(!e?.symbol)return null;let{symbol:f,primitiveOverrides:u}=e;const p=!!u;if(!p&&!n)return f;f=(0,i.o8)(f),u=(0,i.o8)(u);let m=!0;if(t||(t={attributes:{}},m=!1),p){if(m||(u=u.filter(e=>!e.valueExpressionInfo?.expression.includes("$feature"))),l||(u=u.filter(e=>!e.valueExpressionInfo?.expression.includes("$view"))),u.length>0){const e=(0,c.O2)(t.attributes),n={spatialReference:r,fields:e,geometryType:o};await d.createRenderExpressions(u,n),d.evaluateOverrides(u,t,o??"esriGeometryPoint",a,l,new s.A(e))}d.applyOverrides(f,u)}return n&&d.applyDictionaryTextOverrides(f,t,n,null),f}static{this._expressionToRenderExpression=new Map}static async createRenderExpressions(e,t){const r=[];for(const n of e){const e=n.valueExpressionInfo;if(!e||d._expressionToRenderExpression.has(e.expression))continue;const o=(0,a.Ad)(e.expression,t.spatialReference);r.push(o),o.then(t=>d._expressionToRenderExpression.set(e.expression,t))}r.length>0&&await Promise.all(r)}static evaluateOverrides(e,t,r,n,i,s){const a={$view:{scale:i?.scale}};for(const i of e){i.value&&"object"==typeof i.value&&(0,o.IB)(i.value)&&("Color"===i.propertyName||"StrokeColor"===i.propertyName)&&(i.value=y(i.value));const e=i.valueExpressionInfo;if(!e)continue;const c=d._expressionToRenderExpression.get(e.expression);c&&(i.value=p(c,t,a,r,s,n))}}static applyDictionaryTextOverrides(e,t,r,n,o="Normal"){if(e?.type)switch(e.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":case"CIMTextSymbol":{const i=e.symbolLayers;if(!i)return;for(const s of i)s&&"CIMVectorMarker"===s.type&&d.applyDictionaryTextOverrides(s,t,r,n,"CIMTextSymbol"===e.type?e.textCase:o)}break;case"CIMVectorMarker":{const o=e.markerGraphics;if(!o)return;for(const e of o)e&&d.applyDictionaryTextOverrides(e,t,r,n)}break;case"CIMMarkerGraphic":{const i=e.textString;if(i&&i.includes("[")){const s=(0,c.gQ)(i,r);e.textString=(0,c.FM)(t,s,n,o)}}}}static applyOverrides(e,t,r,n){if(e.primitiveName)for(const o of t)if(o.primitiveName===e.primitiveName){const t=(0,c.YF)(o.propertyName);if(n&&n.push({cim:e,nocapPropertyName:t,value:e[t]}),r){let t=!1;for(const n of r)n.primitiveName===e.primitiveName&&(t=!0);t||r.push(o)}null!=o.value&&(e[t]=o.value)}switch(e.type){case"CIMPointSymbol":case"CIMLineSymbol":case"CIMPolygonSymbol":if(e.effects)for(const o of e.effects)d.applyOverrides(o,t,r,n);if(e.symbolLayers)for(const o of e.symbolLayers)d.applyOverrides(o,t,r,n);break;case"CIMTextSymbol":break;case"CIMSolidStroke":case"CIMSolidFill":case"CIMVectorMarker":if(e.effects)for(const o of e.effects)d.applyOverrides(o,t,r,n);if("CIMVectorMarker"===e.type&&e.markerGraphics)for(const o of e.markerGraphics)d.applyOverrides(o,t,r,n),d.applyOverrides(o.symbol,t,r,n)}}static restoreOverrides(e){for(const t of e)t.cim[t.nocapPropertyName]=t.value}static buildOverrideKey(e){let t="";for(const r of e)void 0!==r.value&&(t+=`${r.primitiveName}${r.propertyName}${JSON.stringify(r.value)}`);return t}static toValue(e,t){if("DashTemplate"===e)return t.split(" ").map(e=>Number(e));if("Color"===e){const e=new n.A(t).toRgba();return e[3]*=255,e}return t}}},85334(e,t,r){r.d(t,{$:()=>M,IB:()=>s,Iy:()=>x,N2:()=>g,RH:()=>v,ZD:()=>b});var n=r(68197),o=r(4576),i=r(4718);function s(e){return"r"in e&&"g"in e&&"b"in e}function a(e){return"h"in e&&"s"in e&&"v"in e}function c(e){return"l"in e&&"a"in e&&"b"in e}function l(e){return"l"in e&&"c"in e&&"h"in e}r(34727),r(78955),r(91829);const f=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],u=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]];function p(e,t){const r=[];let n,o;if(e[0].length!==t.length)throw new Error("dimensions do not match");const i=e.length,s=e[0].length;let a=0;for(n=0;n<i;n++){for(a=0,o=0;o<s;o++)a+=e[n][o]*t[o];r.push(a)}return r}function m(e){const t=[e.r/255,e.g/255,e.b/255].map(e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4),r=p(f,t);return{x:100*r[0],y:100*r[1],z:100*r[2]}}function h(e){const t=p(u,[e.x/100,e.y/100,e.z/100]).map(e=>{const t=e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055;return Math.min(1,Math.max(t,0))});return{r:Math.round(255*t[0]),g:Math.round(255*t[1]),b:Math.round(255*t[2])}}function y(e){const t=[e.x/95.047,e.y/100,e.z/108.883].map(e=>e>(6/29)**3?e**(1/3):1/3*(29/6)**2*e+4/29);return{l:116*t[1]-16,a:500*(t[0]-t[1]),b:200*(t[1]-t[2])}}function d(e){const t=e.l,r=[(t+16)/116+e.a/500,(t+16)/116,(t+16)/116-e.b/200].map(e=>e>6/29?e**3:3*(6/29)**2*(e-4/29));return{x:95.047*r[0],y:100*r[1],z:108.883*r[2]}}function M(e){return s(e)?e:l(e)?function(e){return h(d(function(e){const t=e.l,r=e.c,n=e.h;return{l:t,a:r*Math.cos(n),b:r*Math.sin(n)}}(e)))}(e):c(e)?function(e){return h(d(e))}(e):function(e){return"x"in e&&"y"in e&&"z"in e}(e)?h(e):a(e)?function(e){const t=(e.h+360)%360/60,r=e.s/100,n=e.v/100*255,o=n*r,i=o*(1-Math.abs(t%2-1));let s;switch(Math.floor(t)){case 0:s={r:o,g:i,b:0};break;case 1:s={r:i,g:o,b:0};break;case 2:s={r:0,g:o,b:i};break;case 3:s={r:0,g:i,b:o};break;case 4:s={r:i,g:0,b:o};break;case 5:case 6:s={r:o,g:0,b:i};break;default:s={r:0,g:0,b:0}}return s.r=Math.round(s.r+n-o),s.g=Math.round(s.g+n-o),s.b=Math.round(s.b+n-o),s}(e):e}function g(e){return a(e)?e:function(e){const t=e.r,r=e.g,n=e.b,o=Math.max(t,r,n),i=o-Math.min(t,r,n);let s=o,a=0===i?0:o===t?(r-n)/i%6:o===r?(n-t)/i+2:(t-r)/i+4,c=0===i?0:i/s;return a<0&&(a+=6),a*=60,c*=100,s*=100/255,{h:a,s:c,v:s}}(M(e))}function b(e){return c(e)?e:function(e){return y(m(e))}(M(e))}function v(e){return l(e)?e:function(e){return function(e){const t=e.l,r=e.a,n=e.b,o=Math.sqrt(r*r+n*n);let i=Math.atan2(n,r);return i=i>0?i:i+2*Math.PI,{l:t,c:o,h:i}}(y(m(e)))}(M(e))}function x(e,t,r={}){if(0===e.length||t<=0)return[];if(1===(e=e.map(e=>"string"==typeof e?new n.A(e):e)).length||1===t){const r=[],n=e[0];for(let e=0;e<t;e++)r.push(n.clone());return r}if(r.shuffle&&(e=(0,o.k4)((0,i.o8)(e),r.seed)),e.length>=t){const r=[],n=(e.length-1)/(t-1);for(let o=0;o<t;o++){const t=Math.round(o*n);r.push(e[t].clone())}return r}return function(e,t,r={}){const n=[],i=e.length-1,s=Math.ceil((t-e.length)/i);e:for(let o=0;o<i;o++){const i=e[o],a=e[o+1];for(let o=1;o<=s;o++){const c=o/(s+1);if(n.push(k(i,a,c,r)),n.length+e.length===t)break e}}return[...e.map(e=>e.clone()),...(0,o.k4)(n,r.seed??1)]}(e,t,r)}const C=(e,t)=>{const r=Math.floor(10*t())-5;return Math.min(255,Math.max(0,e+r))};function k(e,t,r,i={}){const s=e.r,a=e.g,c=e.b,l=t.r,f=t.g,u=t.b,p=Math.round(s+(l-s)*r),m=Math.round(a+(f-a)*r),h=Math.round(c+(u-c)*r);if(!i.offset)return new n.A([p,m,h]);const y=(0,o.Mo)(i.seed);return new n.A([C(p,y),C(m,y),C(h,y)])}}}]);