UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

1 lines • 18 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1214],{41214:(e,t,i)=>{i.d(t,{Hg:()=>ye,XJ:()=>ce});var s=i(53966),r=i(86162),o=i(90237),n=i(78888),l=i(4718),a=i(10107),u=(i(44208),i(40608)),p=i(43937),y=i(30524),c=i(92438),d=i(63988),h=i(66344),m=i(65864),f=i(68197);class b{static parse(e,t,i){const s=[],r=[],o=e.split(";");for(let e=0;e<o.length;e++){const n=o[e];if(n)if(n.includes("po:")){const e=n.slice(3).split("|");if(3===e.length){const[t,i,s]=e,o=v(t,i,s);o&&r.push(o)}}else if(n.includes("|")){for(const e of n.split("|"))if(t.has(e)){s.push(e);break}}else if(t.has(n))s.push(n);else if(0===e){s.length=0,s.push(w(i));break}}return new b(s,r)}constructor(e,t){this.partNames=e,this.overrides=t}}function g(e,t){if("DashTemplate"===e)return t.split(" ").map((e=>Number(e)));if("Color"===e){const e=new f.A(t).toRgba();return[e[0],e[1],e[2],255*e[3]]}return Number(t)}function v(e,t,i){return{primitiveName:e,propertyName:t,value:g(t,i),defaultValue:null}}function w(e){switch(e){case"esriGeometryPolyline":return"Invalid_L";case"esriGeometryPolygon":return"Invalid_A";default:return"Invalid_P"}}var _=i(73681),x=i(55674),S=i(40863),M=i(93397);const A={type:"CIMSimpleLineCallout",lineSymbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",width:.5,color:[0,0,0,255]}]}};class j{constructor(e,t,i,s){this.url=e,this.fieldMap=i,this.dictionaryInfo=s,this._symbolPartCache=new h.q(100),this._evaluator=(async()=>_.n.from(await s,t,i))()}async getSymbolAsync(e,t,i=!0){const s=await this._evaluator,r=t?.fields??(0,x.lL)(e.attributes),o=s.createDictionaryFieldsIndex(r),n=s.evaluate(e,t?.scale??0,o,t?.spatialReference);if(null==n)return null;const l=(0,m.$B)(e.geometry),a=b.parse(n,s.itemNames,l),u="esriGeometryPoint"===l&&!e.geometry?.hasZ;return await this._cimPartsToCIMSymbol(e,a.partNames,a.overrides,u,t,i,o)}async getSymbolForControlString(e,t,i){const s=await this._evaluator,r=b.parse(e,s.itemNames,t),o="esriGeometryPoint"===t&&!i,n=Z(await Promise.all(r.partNames.map((e=>this._getSymbolPart(e)))),r.overrides,o);return new S.A({data:n})}async _cimPartsToCIMSymbol(e,t,s,r,o,n,a){const u=t.map((e=>this._getSymbolPart(e,o)));let p=await Promise.all(u);if(n&&this.fieldMap&&p.length>0){const{OverrideHelper:t}=await i.e(3937).then(i.bind(i,73937));p=(0,l.o8)(p);for(const i of p)t.applyDictionaryTextOverrides(i,e,this.fieldMap,a,(0,M.bs)(i))}const y=Z(p,s,r);return new S.A({data:y})}async _fetchSymbolPart(e,t){const i=await this.dictionaryInfo,s=(this.url+"/"+i.cimRefTemplateUrl).replaceAll(/\{itemName\}/gi,e),{data:r}=await(0,n.A)(s,{responseType:"json",query:{f:"json"},...t});return r}async _getSymbolPart(e,t){let i=this._symbolPartCache.get(e);return i||(i=this._fetchSymbolPart(e,t),this._symbolPartCache.put(e,i)),i}}function Z(e,t,i){if(!e||0===e.length)return null;const s={...e[0]};if(e.length>1){s.effects=null,s.symbolLayers=[];for(const t of e){const e=t;if(null!=e.effects)for(const t of e.symbolLayers)null==t.effects?t.effects=e.effects:t.effects.unshift(...e.effects);s.symbolLayers.unshift(...e.symbolLayers)}}return i&&(s.callout=A),{type:"CIMSymbolReference",symbol:s,primitiveOverrides:t}}var I;let D=I=class extends((0,d.h)(c.A)){constructor(e){super(e),this.config=null,this.fieldMap=null,this.scaleExpression=null,this.scaleExpressionTitle=null,this.url=null,this.type="dictionary"}get _loader(){const e=this.getDictionaryInfo();return new j(this.url,this.config,this.fieldMap??{},e)}writeData(e,t){e&&(t.scalingExpressionInfo={expression:e,returnType:"number"})}writeVisualVariables(e,t,i,s){s?.origin||super.writeVisualVariables(e,t,i,s)}clone(){return new I({config:(0,l.o8)(this.config),scaleExpression:this.scaleExpression,scaleExpressionTitle:this.scaleExpressionTitle,fieldMap:(0,l.o8)(this.fieldMap),url:(0,l.o8)(this.url),visualVariables:(0,l.o8)(this.visualVariables)})}async getSymbolAsync(e,t,i=!0){return this._loader.getSymbolAsync(e,t,i)}async getSymbolForControlString(e,t,i){return this._loader.getSymbolForControlString(e,t,i)}getDictionaryInfo(){return this._dictionaryInfoPromise||(this._dictionaryInfoPromise=this._fetchDictionaryInfo()),this._dictionaryInfoPromise}async collectRequiredFields(e,t){await this.collectVVRequiredFields(e,t),this.scaleExpression&&await(0,y.Dx)(e,t,this.scaleExpression);for(const i in this.fieldMap){const s=this.fieldMap[i];t.has(s)&&e.add(s)}}get arcadeRequired(){return!0}getSymbol(){return null}get symbols(){return[]}getAttributeHash(){return this.visualVariables?.reduce(((e,t)=>e+t.getAttributeHash()),"")??""}getMeshHash(){return`${this.url}-${JSON.stringify(this.fieldMap)}`}async _fetchDictionaryInfo(){const{data:e}=await(0,n.A)(this.url+"/resources/styles/dictionary-info.json",{responseType:"json",query:{f:"json"}});return e}};(0,o._)([(0,a.MZ)({type:j})],D.prototype,"_loader",null),(0,o._)([(0,a.MZ)({type:Object,json:{read:{source:"configuration"},write:{target:"configuration"}}})],D.prototype,"config",void 0),(0,o._)([(0,a.MZ)({type:Object,json:{write:!0}})],D.prototype,"fieldMap",void 0),(0,o._)([(0,a.MZ)({type:String,json:{read:{source:"scalingExpressionInfo.expression"},write:!0}})],D.prototype,"scaleExpression",void 0),(0,o._)([(0,p.K)("scaleExpression")],D.prototype,"writeData",null),(0,o._)([(0,a.MZ)({type:String,json:{read:{source:"scalingExpressionInfo.title"},write:{target:"scalingExpressionInfo.title",overridePolicy(e){return{enabled:!!e&&!!this.scaleExpression}}}}})],D.prototype,"scaleExpressionTitle",void 0),(0,o._)([(0,a.MZ)({type:String,json:{write:!0}})],D.prototype,"url",void 0),(0,o._)([(0,p.K)("visualVariables")],D.prototype,"writeVisualVariables",null),D=I=(0,o._)([(0,u.$)("esri.renderers.DictionaryRenderer")],D);var E,C=i(93223),P=i(25482),N=i(79901),R=(i(87811),i(56507));let V=E=class extends P.A{constructor(e){super(e),this.color=null,this.field=null,this.label=null,this.valueExpression=null,this.valueExpressionTitle=null}castField(e){return null==e?e:"function"==typeof e?(s.A.getLogger(this).error(".field: field must be a string value"),null):(0,R.GX)(e)}getAttributeHash(){return`${this.field}-${this.valueExpression}`}clone(){return new E({color:this.color?.clone(),field:this.field,label:this.label,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle})}};(0,o._)([(0,a.MZ)({type:f.A,json:{type:[Number],write:!0}})],V.prototype,"color",void 0),(0,o._)([(0,a.MZ)({type:String,json:{write:!0}})],V.prototype,"field",void 0),(0,o._)([(0,N.w)("field")],V.prototype,"castField",null),(0,o._)([(0,a.MZ)({type:String,json:{write:!0}})],V.prototype,"label",void 0),(0,o._)([(0,a.MZ)({type:String,json:{write:!0}})],V.prototype,"valueExpression",void 0),(0,o._)([(0,a.MZ)({type:String,json:{write:!0}})],V.prototype,"valueExpressionTitle",void 0),V=E=(0,o._)([(0,u.$)("esri.renderers.support.AttributeColorInfo")],V);const T=V;var O;let k=O=class extends P.A{constructor(){super(...arguments),this.unit=null}clone(){return new O({unit:this.unit})}};(0,o._)([(0,a.MZ)({type:String,json:{write:!0}})],k.prototype,"unit",void 0),k=O=(0,o._)([(0,u.$)("esri.renderers.support.DotDensityLegendOptions")],k);const $=k;var q,L=i(94985),H=i(31593);let F=q=class extends((0,d.h)(c.A)){constructor(e){super(e),this.attributes=null,this.backgroundColor=new f.A([0,0,0,0]),this.dotBlendingEnabled=!0,this.dotShape="square",this.dotSize=1,this.legendOptions=null,this.outline=new H.A,this.dotValue=null,this.referenceScale=null,this.seed=1,this.type="dot-density"}calculateDotValue(e){if(null==this.referenceScale)return this.dotValue;const t=e/this.referenceScale*this.dotValue;return t<1?1:t}getSymbol(){return new L.A({outline:this.outline})}async getSymbolAsync(){return this.getSymbol()}get symbols(){return[this.getSymbol()]}getAttributeHash(){return this.attributes?.reduce(((e,t)=>e+t.getAttributeHash()),"")??""}getMeshHash(){return JSON.stringify(this.outline)}clone(){return new q({attributes:(0,l.o8)(this.attributes),backgroundColor:(0,l.o8)(this.backgroundColor),dotBlendingEnabled:(0,l.o8)(this.dotBlendingEnabled),dotShape:(0,l.o8)(this.dotShape),dotSize:(0,l.o8)(this.dotSize),dotValue:(0,l.o8)(this.dotValue),legendOptions:(0,l.o8)(this.legendOptions),outline:(0,l.o8)(this.outline),referenceScale:(0,l.o8)(this.referenceScale),seed:(0,l.o8)(this.seed),visualVariables:(0,l.o8)(this.visualVariables),authoringInfo:(0,l.o8)(this.authoringInfo)})}getControllerHash(){const e=this.attributes?.map((e=>e.field||e.valueExpression||""));return`${e}-${this.outline&&JSON.stringify(this.outline.toJSON())||""}`}async collectRequiredFields(e,t){await this.collectVVRequiredFields(e,t);for(const i of this.attributes??[])i.valueExpression&&await(0,y.Dx)(e,t,i.valueExpression),i.field&&e.add(i.field)}};(0,o._)([(0,a.MZ)({type:[T],json:{write:!0}})],F.prototype,"attributes",void 0),(0,o._)([(0,a.MZ)({type:f.A,json:{write:!0}})],F.prototype,"backgroundColor",void 0),(0,o._)([(0,a.MZ)({type:Boolean,json:{write:!0}})],F.prototype,"dotBlendingEnabled",void 0),(0,o._)([(0,a.MZ)({type:String,json:{write:!1}})],F.prototype,"dotShape",void 0),(0,o._)([(0,a.MZ)({type:Number,json:{write:!0}})],F.prototype,"dotSize",void 0),(0,o._)([(0,a.MZ)({type:$,json:{write:!0}})],F.prototype,"legendOptions",void 0),(0,o._)([(0,a.MZ)({type:H.A,json:{default:null,write:!0}})],F.prototype,"outline",void 0),(0,o._)([(0,a.MZ)({type:Number,json:{write:!0}})],F.prototype,"dotValue",void 0),(0,o._)([(0,a.MZ)({type:Number,json:{write:!0}})],F.prototype,"referenceScale",void 0),(0,o._)([(0,a.MZ)({type:Number,json:{write:!0}})],F.prototype,"seed",void 0),(0,o._)([(0,C.e)({dotDensity:"dot-density"})],F.prototype,"type",void 0),F=q=(0,o._)([(0,u.$)("esri.renderers.DotDensityRenderer")],F);var z,B=i(90629),J=i(30943);let G=z=class extends P.A{constructor(e){super(e),this.color=null,this.ratio=null}clone(){return new z({color:this.color&&this.color.clone(),ratio:this.ratio})}};(0,o._)([(0,a.MZ)({type:f.A,json:{type:[R.jz],default:null,write:{isRequired:!0}}})],G.prototype,"color",void 0),(0,o._)([(0,a.MZ)({type:Number,json:{write:{isRequired:!0}}})],G.prototype,"ratio",void 0),G=z=(0,o._)([(0,u.$)("esri.renderers.support.HeatmapColorStop")],G);var K=i(69540);let U=class extends(K.A.ClonableMixin(P.A)){constructor(){super(...arguments),this.minLabel=null,this.maxLabel=null,this.title=null}};(0,o._)([(0,a.MZ)({type:String,json:{write:!0}})],U.prototype,"minLabel",void 0),(0,o._)([(0,a.MZ)({type:String,json:{write:!0}})],U.prototype,"maxLabel",void 0),(0,o._)([(0,a.MZ)({type:String,json:{write:!0}})],U.prototype,"title",void 0),U=(0,o._)([(0,u.$)("esri.renderers.support.HeatmapLegendOptions")],U);var X,Q=i(61760),W=i(53930);function Y(e){if(null!=e){const{maxDensity:t,minDensity:i,radius:s}=e;if(null!=t||null!=i||null!=s){const{blurRadius:t,maxPixelIntensity:i,minPixelIntensity:s,...r}=e;return r}}return e}let ee=X=class extends c.A{constructor(e){super(e),this.authoringInfo=null,this.colorStops=[new G({ratio:0,color:new f.A("rgba(255, 140, 0, 0)")}),new G({ratio:.75,color:new f.A("rgba(255, 140, 0, 1)")}),new G({ratio:.9,color:new f.A("rgba(255, 0, 0, 1)")})],this.field=null,this.legendOptions=null,this.maxDensity=.04,this.minDensity=0,this.radius=18,this.referenceScale=0,this.type="heatmap",this.valueExpression=null,this.valueExpressionTitle=null}normalizeCtorArgs(e){return Y(e)}get blurRadius(){return(0,Q.PU)(this.radius)}set blurRadius(e){const t=this.maxPixelIntensity,i=this.minPixelIntensity;this._set("radius",(0,Q.zp)(e)),this._set("maxDensity",t*this._pixelIntensityToDensity),this._set("minDensity",i*this._pixelIntensityToDensity)}get maxPixelIntensity(){return this.maxDensity/this._pixelIntensityToDensity}set maxPixelIntensity(e){this._set("maxDensity",e*this._pixelIntensityToDensity)}get minPixelIntensity(){return this.minDensity/this._pixelIntensityToDensity}set minPixelIntensity(e){this._set("minDensity",e*this._pixelIntensityToDensity)}get _pixelIntensityToDensity(){return 24/(Q.ex**2*this.blurRadius**4)}read(e,t){e=Y(e),super.read(e,t)}getSymbol(){return new W.A}async getSymbolAsync(){return this.getSymbol()}get symbols(){return[this.getSymbol()]}async collectRequiredFields(e,t){const i=this.field,s=this.valueExpression;i&&"string"==typeof i&&(0,y.rq)(e,t,i),s&&"string"==typeof s&&await(0,y.Dx)(e,t,s)}getAttributeHash(){return""}getMeshHash(){return`${JSON.stringify(this.colorStops)}.${this.blurRadius}.${this.field}`}clone(){return new X({authoringInfo:this.authoringInfo&&this.authoringInfo.clone(),colorStops:(0,l.o8)(this.colorStops),field:this.field,legendOptions:(0,l.o8)(this.legendOptions),maxDensity:this.maxDensity,minDensity:this.minDensity,radius:this.radius,referenceScale:this.referenceScale,valueExpression:this.valueExpression,valueExpressionTitle:this.valueExpressionTitle})}};(0,o._)([(0,a.MZ)({type:J.A,json:{write:!0,origins:{"web-scene":{write:!1,read:!1}}}})],ee.prototype,"authoringInfo",void 0),(0,o._)([(0,a.MZ)({type:Number,json:{origins:{"portal-item":{write:!0},"web-map":{write:!0}}}})],ee.prototype,"blurRadius",null),(0,o._)([(0,a.MZ)({type:[G],json:{write:{isRequired:!0}}})],ee.prototype,"colorStops",void 0),(0,o._)([(0,a.MZ)({type:String,json:{write:!0}})],ee.prototype,"field",void 0),(0,o._)([(0,a.MZ)({type:U,json:{write:!0}})],ee.prototype,"legendOptions",void 0),(0,o._)([(0,a.MZ)({type:Number,json:{write:!0}})],ee.prototype,"maxDensity",void 0),(0,o._)([(0,a.MZ)({type:Number,json:{origins:{"portal-item":{write:!0},"web-map":{write:!0}}}})],ee.prototype,"maxPixelIntensity",null),(0,o._)([(0,a.MZ)({type:Number,json:{write:!0}})],ee.prototype,"minDensity",void 0),(0,o._)([(0,a.MZ)({type:Number,json:{origins:{"portal-item":{write:!0},"web-map":{write:!0}}}})],ee.prototype,"minPixelIntensity",null),(0,o._)([(0,a.MZ)({type:Number,cast:B.cr,json:{write:!0}})],ee.prototype,"radius",void 0),(0,o._)([(0,a.MZ)({type:Number,range:{min:0},json:{default:0,write:!0}})],ee.prototype,"referenceScale",void 0),(0,o._)([(0,C.e)({heatmap:"heatmap"})],ee.prototype,"type",void 0),(0,o._)([(0,a.MZ)({type:String,json:{write:!0,origins:{"web-document":{write:!1},"portal-item":{write:!1}}}})],ee.prototype,"valueExpression",void 0),(0,o._)([(0,a.MZ)({type:String})],ee.prototype,"valueExpressionTitle",void 0),(0,o._)([(0,a.MZ)({readOnly:!0})],ee.prototype,"_pixelIntensityToDensity",null),ee=X=(0,o._)([(0,u.$)("esri.renderers.HeatmapRenderer")],ee);var te=i(4576),ie=i(49849);let se=class extends(K.A.ClonableMixin(P.A)){constructor(){super(...arguments),this.color=new f.A([0,0,0,0]),this.label=null,this.threshold=0}};(0,o._)([(0,a.MZ)({type:f.A,json:{write:!0}})],se.prototype,"color",void 0),(0,o._)([(0,a.MZ)({type:String,json:{write:!0}})],se.prototype,"label",void 0),(0,o._)([(0,a.MZ)({type:Number,range:{min:0,max:1},json:{write:!0}})],se.prototype,"threshold",void 0),se=(0,o._)([(0,u.$)("esri.renderers.support.OthersCategory")],se);var re=i(20061),oe=i(62724),ne=i(48940);const le={base:i(2795).A,key:"type",typeMap:{size:ne.A,opacity:oe.A}};let ae=class extends((0,d.h)(K.A.ClonableMixin(c.A))){constructor(e){super(e),this.attributes=null,this.backgroundFillSymbol=null,this.defaultColor=new f.A([0,0,0,0]),this.defaultLabel=null,this.holePercentage=0,this.othersCategory=new se,this.legendOptions=null,this.outline=null,this.size=12,this.type="pie-chart",this.visualVariables=null}getSymbol(){return new W.A({size:this.size?this.size/2+(this.outline?.width||0):0})}async getSymbolAsync(){return this.getSymbol()}get symbols(){return[this.getSymbol(),this.backgroundFillSymbol].filter(te.Ru)}getAttributeHash(){return this.visualVariables?.reduce(((e,t)=>e+t.getAttributeHash()),"")??""}getMeshHash(){return this.symbols.reduce(((e,t)=>e+JSON.stringify(t)),"")}async collectRequiredFields(e,t){await this.collectVVRequiredFields(e,t);for(const i of this.attributes)i.valueExpression&&await(0,y.Dx)(e,t,i.valueExpression),i.field&&e.add(i.field)}};(0,o._)([(0,a.MZ)({type:[T],json:{write:!0}})],ae.prototype,"attributes",void 0),(0,o._)([(0,a.MZ)(ie.As)],ae.prototype,"backgroundFillSymbol",void 0),(0,o._)([(0,a.MZ)({type:f.A,json:{write:!0}})],ae.prototype,"defaultColor",void 0),(0,o._)([(0,a.MZ)({type:String,json:{write:!0}})],ae.prototype,"defaultLabel",void 0),(0,o._)([(0,a.MZ)({type:Number,range:{min:0,max:1},json:{write:!0}})],ae.prototype,"holePercentage",void 0),(0,o._)([(0,a.MZ)({type:se,json:{write:!0}})],ae.prototype,"othersCategory",void 0),(0,o._)([(0,a.MZ)({type:re.A,json:{write:!0}})],ae.prototype,"legendOptions",void 0),(0,o._)([(0,a.MZ)({type:H.A,json:{default:null,write:!0}})],ae.prototype,"outline",void 0),(0,o._)([(0,a.MZ)({type:Number,cast:B.cr,json:{write:!0}})],ae.prototype,"size",void 0),(0,o._)([(0,C.e)({pieChart:"pie-chart"})],ae.prototype,"type",void 0),(0,o._)([(0,a.MZ)({types:[le]})],ae.prototype,"visualVariables",void 0),ae=(0,o._)([(0,u.$)("esri.renderers.PieChartRenderer")],ae);var ue=i(96576),pe=i(93618);const ye={key:"type",base:c.A,typeMap:{heatmap:ee,simple:ue.A,"unique-value":pe.A,"class-breaks":r.A,"dot-density":F,dictionary:D,"pie-chart":ae},errorContext:"renderer"},ce={key:"type",base:c.A,typeMap:{simple:ue.A,"unique-value":pe.A,"class-breaks":r.A,heatmap:ee},errorContext:"renderer",validate:function(e){switch(e.type){case"simple":return function(e){if(e.symbol)return e;s.A.getLogger("esri.renderers.support.types").error("Removed invalid 'simple' renderer without a symbol from web scene.")}(e);case"unique-value":return function(e){const t=e.uniqueValueInfos,i=t?.filter((({symbol:e,label:t},i)=>(e||s.A.getLogger("esri.renderers.support.types").error(`Removed invalid unique value info ([${i}] ${t}) without a symbol from web scene.`),!!e)));return i?.length!==t?.length&&(e.uniqueValueInfos=i),e}(e);case"class-breaks":return function(e){const t=e.classBreakInfos,i=t?.filter((({symbol:e,label:t},i)=>(e||s.A.getLogger("esri.renderers.support.types").error(`Removed invalid class break info ([${i}] ${t}) without a symbol from web scene.`),!!e)));return i?.length!==t?.length&&(e.classBreakInfos=i),e}(e);case"heatmap":return e}}}}}]);