Custom Gis Application with Arcgis Javascript API with modern layouting
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

23 lines
10 KiB

// All material copyright Esri, All Rights Reserved, unless otherwise specified.
// See https://js.arcgis.com/4.30/esri/copyright.txt for details.
//>>built
define("exports ../../Color ../../core/has ../../core/maybe ../../core/libs/gl-matrix-2/factories/mat2df32 ../../core/libs/gl-matrix-2/math/mat2d ./gfxUtils ../../widgets/support/widgetUtils ../../widgets/support/jsxFactory".split(" "),function(w,C,K,D,L,r,V,E,l){function z(a,b){a*=W/180;return Math.abs(b*Math.sin(a))+Math.abs(b*Math.cos(a))}function M(a){return a.map(b=>`${b.command} ${b.values.join(" ")}`).join(" ").trim()}function F(a,b,c,d,h){if(a){if("circle"===a.type)return l.tsx("circle",{cx:a.cx,
cy:a.cy,fill:b,"fill-rule":"evenodd",r:a.r,stroke:c.color,"stroke-dasharray":c.dashArray,"stroke-dashoffset":c.dashOffset,"stroke-linecap":c.cap,"stroke-linejoin":c.join,"stroke-miterlimit":"4","stroke-width":c.width});if("ellipse"===a.type)return l.tsx("ellipse",{cx:a.cx,cy:a.cy,fill:b,"fill-rule":"evenodd",rx:a.rx,ry:a.ry,stroke:c.color,"stroke-dasharray":c.dashArray,"stroke-linecap":c.cap,"stroke-linejoin":c.join,"stroke-miterlimit":"4","stroke-width":c.width});if("rect"===a.type)return l.tsx("rect",
{fill:b,"fill-rule":"evenodd",height:a.height,stroke:c.color,"stroke-dasharray":c.dashArray,"stroke-linecap":c.cap,"stroke-linejoin":c.join,"stroke-miterlimit":"4","stroke-width":c.width,width:a.width,x:a.x,y:a.y});if("image"===a.type)return l.tsx("image",{alt:h||"image",height:a.height,href:a.src,preserveAspectRatio:"none",width:a.width,x:a.x,y:a.y});if("path"===a.type)return a="string"!==typeof a.path?M(a.path):a.path,l.tsx("path",{d:a,fill:b,"fill-rule":"evenodd",stroke:c.color,"stroke-dasharray":c.dashArray,
"stroke-linecap":c.cap,"stroke-linejoin":c.join,"stroke-miterlimit":"4","stroke-width":c.width});if("text"===a.type)return D.assertIsSome(d),l.tsx("text",{"dominant-baseline":d.dominantBaseline,fill:b,"fill-rule":"evenodd","font-family":d.font.family,"font-size":d.font.size,"font-style":d.font.style,"font-variant":d.font.variant,"font-weight":d.font.weight,kerning:d.kerning,rotate:d.rotate,stroke:c.color,"stroke-dasharray":c.dashArray,"stroke-linecap":c.cap,"stroke-linejoin":c.join,"stroke-miterlimit":"4",
"stroke-width":c.width,"text-anchor":d.align,"text-decoration":d.decoration,"text-rendering":X,x:a.x,y:a.y},a.text)}return null}function G(a){const b={fill:"none",pattern:null,linearGradient:null};if(a)if("type"in a&&"pattern"===a.type){var c=`patternId-${++Y}`;b.fill=`url(#${c})`;b.pattern={id:c,x:a.x,y:a.y,width:a.width,height:a.height,image:{x:0,y:0,width:a.width,height:a.height,href:a.src}}}else"type"in a&&"linear"===a.type?(c=`linearGradientId-${++Z}`,b.fill=`url(#${c})`,b.linearGradient={id:c,
x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2,stops:a.colors.map(d=>({offset:d.offset,color:d.color&&(new C(d.color)).toString()}))}):a&&(a=new C(a),b.fill=a.toString());return b}function H(a){const b={color:"none",width:1,cap:"butt",join:"4",dashArray:"none",dashOffset:"0"};a&&(null!=a.width&&(b.width=a.width),a.cap&&(b.cap=a.cap),a.join&&(b.join=a.join.toString()),a.color&&(b.color=(new C(a.color)).toString()),a.dashArray&&(b.dashArray=a.dashArray),a.dashoffset&&(b.dashOffset=a.dashoffset),a.style&&!a.dashArray&&
(b.dashArray=V.getDashArray(a).join(",")||"none"));return b}function I(a,b){const c={align:null,decoration:null,kerning:null,rotate:null,font:{style:null,variant:null,weight:null,size:null,family:null}};if(a){const d=a.alignBaseline;c.align=a.align;c.dominantBaseline="baseline"===d?"auto":"top"===d?"text-top":"bottom"===d?"hanging":d;c.decoration=a.decoration;c.kerning=a.kerning?"auto":"0";c.rotate=a.rotated?"90":"0";D.assertIsSome(b);c.font.style=b.style||"normal";c.font.variant=b.variant||"normal";
c.font.weight=b.weight||"normal";c.font.size=b.size&&b.size.toString()||"10pt";c.font.family=b.family||"serif"}return c}function N(a){const {pattern:b,linearGradient:c}=a;return b?l.tsx("pattern",{height:b.height,id:b.id,patternUnits:"userSpaceOnUse",width:b.width,x:b.x,y:b.y},l.tsx("image",{height:b.image.height,href:b.image.href,width:b.image.width,x:b.image.x,y:b.image.y})):c?(a=c.stops.map((d,h)=>l.tsx("stop",{key:`${h}-stop`,offset:d.offset,"stop-color":d.color})),l.tsx("linearGradient",{gradientUnits:"userSpaceOnUse",
id:c.id,x1:c.x1,x2:c.x2,y1:c.y1,y2:c.y2},a)):null}function aa(a,b){if(!a||0===a.length)return null;const c=[];for(const d of a){const {shape:h,fill:f,stroke:k,font:q}=d;a=G(f);const g=H(k),t="text"===h.type?I(h,q):null;(a=F(h,a.fill,g,t))&&c.push(a)}return l.tsx("mask",{id:b,maskUnits:"userSpaceOnUse"},l.tsx("g",null,c))}function O(a,b,c,d,h){r.scale(a,r.identity(a),[b,c]);a[4]=a[4]*b-d*b+d;a[5]=a[5]*c-h*c+h;return a}function v(a,b){if(m&&"left"in m){null!=m.left&&m.left>a&&(m.left=a);if(null==m.right||
m.right<a)m.right=a;if(null==m.top||m.top>b)m.top=b;if(null==m.bottom||m.bottom<b)m.bottom=b}else m={left:a,bottom:b,right:a,top:b}}function P(a){const b=a.args,c=b.length;switch(a.action){case "M":case "L":case "C":case "S":case "Q":case "T":for(a=0;a<c;a+=2)v(b[a],b[a+1]);e.x=b[c-2];e.y=b[c-1];break;case "H":for(a=0;a<c;++a)v(b[a],e.y);e.x=b[c-1];break;case "V":for(a=0;a<c;++a)v(e.x,b[a]);e.y=b[c-1];break;case "m":a=0;"x"in e||(v(e.x=b[0],e.y=b[1]),a=2);for(;a<c;a+=2)v(e.x+=b[a],e.y+=b[a+1]);break;
case "l":case "t":for(a=0;a<c;a+=2)v(e.x+=b[a],e.y+=b[a+1]);break;case "h":for(a=0;a<c;++a)v(e.x+=b[a],e.y);break;case "v":for(a=0;a<c;++a)v(e.x,e.y+=b[a]);break;case "c":for(a=0;a<c;a+=6)v(e.x+b[a],e.y+b[a+1]),v(e.x+b[a+2],e.y+b[a+3]),v(e.x+=b[a+4],e.y+=b[a+5]);break;case "s":case "q":for(a=0;a<c;a+=4)v(e.x+b[a],e.y+b[a+1]),v(e.x+=b[a+2],e.y+=b[a+3]);break;case "A":for(a=0;a<c;a+=7)v(b[a+5],b[a+6]);e.x=b[c-2];e.y=b[c-1];break;case "a":for(a=0;a<c;a+=7)v(e.x+=b[a+5],e.y+=b[a+6])}}function Q(a,b,c){const d=
ba[a.toLowerCase()];"number"===typeof d&&(d?b.length>=d&&(a={action:a,args:b.slice(0,b.length-b.length%d)},c.push(a),P(a)):(a={action:a,args:[]},c.push(a),P(a)))}function R(a){const b={x:0,y:0,width:0,height:0};if("circle"===a.type)b.x=a.cx-a.r,b.y=a.cy-a.r,b.width=2*a.r,b.height=2*a.r;else if("ellipse"===a.type)b.x=a.cx-a.rx,b.y=a.cy-a.ry,b.width=2*a.rx,b.height=2*a.ry;else if("image"===a.type||"rect"===a.type)b.x=a.x,b.y=a.y,b.width=a.width,b.height=a.height;else if("path"===a.type){{const h=("string"!==
typeof a.path?M(a.path):a.path).match(ca),f=[];m={};e={};if(h){a="";var c=[],d=h.length;for(let k=0;k<d;++k){const q=h[k],g=parseFloat(q);isNaN(g)?(a&&Q(a,c,f),c=[],a=q):c.push(g)}Q(a,c,f);a={x:0,y:0,width:0,height:0};m&&"left"in m&&(a.x=m.left,a.y=m.top,a.width=m.right-m.left,a.height=m.bottom-m.top)}else a=null}b.x=a.x;b.y=a.y;b.width=a.width;b.height=a.height}return b}function S(a){const b={x:0,y:0,width:0,height:0};let c=null,d=Number.NEGATIVE_INFINITY,h=Number.NEGATIVE_INFINITY;for(const f of a)c?
(c.x=Math.min(c.x,f.x),c.y=Math.min(c.y,f.y),d=Math.max(d,f.x+f.width),h=Math.max(h,f.y+f.height)):(c=b,c.x=f.x,c.y=f.y,d=f.x+f.width,h=f.y+f.height);c&&(c.width=d-c.x,c.height=h-c.y);return c}function T(a,b,c,d,h,f,k,q,g){var t=(k&&f?z(f,b):b)/2,x=(k&&f?z(f,c):c)/2;if(g){var p=g[0];g=g[1];t=(k&&f?z(f,p):p)/2;x=(k&&f?z(f,g):g)/2}p=a.width+d;var n=a.height+d;g=L.create();k=L.create();var u=!1;if(h&&0!==p&&0!==n){h=b!==c?b/c:p/n;u=b>c?b:c;let y=1,A=1;isNaN(u)||(1<h?(y=u/p,A=u/h/n):(A=u/n,y=u*h/p));
r.multiply(k,k,O(g,y,A,t,x));u=!0}h=a.x+(p-d)/2;a=a.y+(n-d)/2;d=r.multiply;t-=h;x-=a;t=r.translate(g,r.identity(g),[t,x]);d.call(r,k,k,t);!u&&(p>b||n>c)&&(t=p/b>n/c,b=(t?b:c)/(t?p:n),r.multiply(k,k,O(g,b,b,h,a)));f&&(b=r.multiply,c=f%360*Math.PI/180,r.rotate(g,r.identity(g),c),f=Math.cos(c),c=Math.sin(c),p=g[4],n=g[5],g[4]=p*f-n*c+a*c-h*f+h,g[5]=n*f+p*c-h*c-a*f+a,b.call(r,k,k,g));q&&(f=r.multiply,b=q[0],q=q[1],q=r.translate(g,r.identity(g),[b,q]),f.call(r,k,k,q));return`matrix(${k[0]},${k[1]},${k[2]},${k[3]},${k[4]},${k[5]})`}
function da(a,b,c){a=a?.effects.find(q=>"bloom"===q.type);if(!a)return null;const {strength:d,radius:h}=a;a=0<d?h:0;const f=(d+a)*b,k=4*d+1;return l.tsx("filter",{filterUnits:"userSpaceOnUse",height:"300%",id:`bloom${c}`,width:"300%",x:"-100%",y:"-100%"},l.tsx("feMorphology",{in:"SourceGraphic",operator:"dilate",radius:(d+.5*a)*5**(b/100)*(.4+b/100),result:"dilate"}),l.tsx("feGaussianBlur",{in:"dilate",result:"blur",stdDeviation:f/25}),l.tsx("feGaussianBlur",{in:"blur",result:"intensityBlur",stdDeviation:f/
50}),l.tsx("feComponentTransfer",{in:"SourceGraphic",result:"intensityBrightness"},l.tsx("feFuncR",{slope:k,type:"linear"}),l.tsx("feFuncG",{slope:k,type:"linear"}),l.tsx("feFuncB",{slope:k,type:"linear"})),l.tsx("feMerge",null,l.tsx("feMergeNode",{in:"intensityBlur"}),l.tsx("feMergeNode",{in:"intensityBrightness"}),l.tsx("feGaussianBlur",{stdDeviation:d/10})))}let Y=0,Z=0;E=K("android");const X=K("chrome")||E&&4<=E?"auto":"optimizeLegibility",ba={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7,z:0},ca=/([A-DF-Za-df-z])|([-+]?\d*[.]?\d+(?:[eE][-+]?\d+)?)/g;
let m={},e={};const W=Math.PI;let ea=1;w.computeBBox=S;w.generateFillAttributes=G;w.generateStrokeAttributes=H;w.generateTextAttributes=I;w.getBoundingBox=R;w.getTransformMatrix=T;w.renderDef=N;w.renderSVG=function(a,b,c,d={}){const h=[],f=[],k=++ea,q=da(d.effectView,b,k);var g=null;q&&(g=d.effectView?.effects.find(u=>"bloom"===u.type),g=(g.strength?g.strength+g.radius/2:0)/3,g=[Math.max(b+b*g,10),Math.max(c+c*g,10)]);for(let u=0;u<a.length;u++){var t=a[u];const y=[];var x=[],p=0,n=0;let A=0;for(const fa of t){const {shape:B,
fill:ha,stroke:U,font:ia,offset:J}=fa;d.ignoreStrokeWidth||"text"===B.type||(p+=U?.width||0);t=G(ha);const ja=H(U),ka="text"===B.type?I(B,ia):null;h.push(N(t));y.push(F(B,t.fill,ja,ka,d.ariaLabel));x.push(R(B));J&&(n+=J[0],A+=J[1])}x=S(x);p=T(x,b,c,p,d.scale??!1,d.rotation,d.useRotationSize??!1,[n,A],g);n=null;d.masking&&(n=`mask-${u}`,h.push(aa(d.masking[u],n)),n=`url(#${n})`);f.push(n?l.tsx("g",{mask:n},l.tsx("g",{transform:p},y)):l.tsx("g",{transform:p},y))}d.useRotationSize&&d.rotation&&(b=z(d.rotation,
b),c=z(d.rotation,c));q&&(D.assertIsSome(g),b=g[0],c=g[1]);return l.tsx("svg",{"aria-label":d.ariaLabel,focusable:!1,height:c,role:"img",style:"display: block;",width:b,xmlns:"http://www.w3.org/2000/svg"},q,l.tsx("defs",null,h),q?l.tsx("g",{filter:`url(#bloom${k})`},f):f)};w.renderShape=F;Object.defineProperty(w,Symbol.toStringTag,{value:"Module"})});