@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
1 lines • 16.6 kB
JavaScript
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3116],{83116:(e,t,r)=>{r.r(t),r.d(t,{default:()=>Z});var a=r(90237),n=r(78888),s=r(5503),i=r(62885),o=r(25482),l=r(4718),c=r(92474),u=r(81583),p=r(53966),d=r(97768),y=r(74887),f=r(84952),h=r(10107),m=(r(44208),r(40608)),w=r(43937),b=r(16930),g=r(20655),v=r(80812),L=r(43281),_=(r(47566),r(69622)),A=(r(87811),r(73444)),I=r(10838);let M=class extends _.A{constructor(e){super(e),this.apiKey=null,this.id=null,this.language=null,this.places=null,this.serviceUrl="https://basemapstyles-api.arcgis.com/arcgis/rest/services/styles/v2",this.worldview=null}get languageParameter(){const e=this.language;let t="local"===e||"global"===e?e:(0,I.xO)(e??(0,A.JK)())??"global";return t="no"===t?"nb":t,t}};(0,a._)([(0,h.MZ)()],M.prototype,"apiKey",void 0),(0,a._)([(0,h.MZ)()],M.prototype,"id",void 0),(0,a._)([(0,h.MZ)()],M.prototype,"language",void 0),(0,a._)([(0,h.MZ)()],M.prototype,"places",void 0),(0,a._)([(0,h.MZ)()],M.prototype,"serviceUrl",void 0),(0,a._)([(0,h.MZ)()],M.prototype,"worldview",void 0),M=(0,a._)([(0,m.$)("esri.support.BasemapStyle")],M);const S=M;var x,$=r(751);let k=0,C=x=class extends(o.A.JSONSupportMixin(c.A)){constructor(e){super(e),this.id=null,this.portalItem=null,this.spatialReference=null,this.style=null,this.thumbnailUrl=null,this.title="Basemap",this.id=Date.now().toString(16)+"-basemap-"+k++,this.baseLayers=new s.A,this.referenceLayers=new s.A;const t=e=>{e.parent&&e.parent!==this&&"remove"in e.parent&&e.parent.remove(e),e.parent=this,"elevation"===e.type&&p.A.getLogger(this).error(`Layer '${e.title}, id:${e.id}' of type '${e.type}' is not supported as a basemap layer and will therefore be ignored.`)},r=e=>{e.parent=null};this.addHandles([this.baseLayers.on("after-add",(e=>t(e.item))),this.referenceLayers.on("after-add",(e=>t(e.item))),this.baseLayers.on("after-remove",(e=>r(e.item))),this.referenceLayers.on("after-remove",(e=>r(e.item)))])}initialize(){this.when().catch((e=>{p.A.getLogger(this).error("#load()",`Failed to load basemap (title: '${this.title}', id: '${this.id}')`,e)})),this.resourceInfo&&this.read(this.resourceInfo.data,this.resourceInfo.context)}destroy(){const e=this.baseLayers.toArray();for(const t of e)t.destroy();const t=this.referenceLayers.toArray();for(const e of t)e.destroy();this.baseLayers.destroy(),this.referenceLayers.destroy(),this.portalItem=(0,d.pR)(this.portalItem)}normalizeCtorArgs(e){return e&&"resourceInfo"in e&&(this._set("resourceInfo",e.resourceInfo),delete(e={...e}).resourceInfo),e}set baseLayers(e){this._set("baseLayers",(0,i.V)(e,this._get("baseLayers")))}_writeBaseLayers(e,t,r){const a=[];e?(r={...r,layerContainerType:"basemap"},this.baseLayers.forEach((e=>{const t=(0,$.CJ)(e,r.webmap?r.webmap.getLayerJSONFromResourceInfo(e):null,r);null!=t&&a.push(t)})),this.referenceLayers.forEach((e=>{const t=(0,$.CJ)(e,r.webmap?r.webmap.getLayerJSONFromResourceInfo(e):null,r);null!=t&&("scene"!==e.type&&(t.isReference=!0),a.push(t))})),t.baseMapLayers=a):t.baseMapLayers=a}set referenceLayers(e){this._set("referenceLayers",(0,i.V)(e,this._get("referenceLayers")))}writeTitle(e,t){t.title=e||"Basemap"}load(e){return this.addResolvingPromise(this._loadFromSource(e)),Promise.resolve(this)}loadAll(){return(0,u.g)(this,(e=>{e(this.baseLayers,this.referenceLayers)}))}clone(){const e={id:this.id,title:this.title,portalItem:this.portalItem,baseLayers:this.baseLayers.map((e=>(0,l.Nb)(e)?e.clone():e)),referenceLayers:this.referenceLayers.map((e=>(0,l.Nb)(e)?e.clone():e))};return this.loaded&&(e.loadStatus="loaded"),new x({resourceInfo:this.resourceInfo}).set(e)}read(e,t){this.resourceInfo||this._set("resourceInfo",{data:e,context:t}),super.read(e,t)}write(e,t){return e=e||{},t?.origin||(t={origin:"web-map",...t}),super.write(e,t),!this.loaded&&this.resourceInfo?.data.baseMapLayers&&(e.baseMapLayers=this.resourceInfo.data.baseMapLayers.map((e=>{const t=(0,l.o8)(e);return t.url&&(0,f.BQ)(t.url)&&(t.url=`https:${t.url}`),t.templateUrl&&(0,f.BQ)(t.templateUrl)&&(t.templateUrl=`https:${t.templateUrl}`),t}))),e}async _loadFromSource(e){const{resourceInfo:t,portalItem:r,style:a}=this;(0,y.Te)(e);const n=[];if(t){const r=t.context?t.context.url:null;if(n.push(this._loadLayersFromJSON(t.data,r,e)),t.data.id&&!t.data.title){const e=t.data.id;n.push((0,L.q)(e).then((e=>{e&&this.read({title:e},t.context)})))}}else r?n.push(this._loadFromItem(r,e)):a&&n.push(this._loadFromStylesService(a,e));await Promise.all(n)}async _loadLayersFromJSON(e,t,a){const n=this.resourceInfo?.context,s=this.portalItem?.portal||n?.portal||null,i=O[n?.origin||""]??"web-map",{populateOperationalLayers:o}=await Promise.all([r.e(7251),r.e(5356)]).then(r.bind(r,75356)),l=[];if((0,y.Te)(a),e.baseMapLayers&&Array.isArray(e.baseMapLayers)){const r={context:{...n,origin:i,url:t,portal:s,layerContainerType:"basemap"},defaultLayerType:"DefaultTileLayer"},a=e=>"web-scene"===i&&"ArcGISSceneServiceLayer"===e.layerType||e.isReference,c=o(this.baseLayers,e.baseMapLayers.filter((e=>!a(e))),r);l.push(c);const u=o(this.referenceLayers,e.baseMapLayers.filter(a),r);l.push(u)}await Promise.allSettled(l)}async _loadFromItem(e,t){const r=await e.load(t),a=await r.fetchData("json",t),n=(0,f.An)(e.itemUrl??"");return this._set("resourceInfo",{data:a.baseMap??{},context:{origin:U[e.type||""]??"web-map",portal:e.portal||g.A.getDefault(),url:n}}),this.read(this.resourceInfo.data,this.resourceInfo.context),this.read({spatialReference:a.spatialReference},this.resourceInfo.context),this.read({title:e.title,thumbnailUrl:e.thumbnailUrl},{origin:"portal-item",portal:e.portal||g.A.getDefault(),url:n}),this._loadLayersFromJSON(this.resourceInfo.data,n,t)}async _loadFromStylesService(e,t){const r=e.serviceUrl.endsWith("/webmaps")?e.serviceUrl.slice(0,-8):e.serviceUrl,a=`${r}/styles/${e.id}/self`,s=`${r}/webmaps/${e.id}`,[i,o]=await Promise.all([(await(0,n.A)(a,{query:{token:e.apiKey},signal:t?.signal})).data,(await(0,n.A)(s,{query:{language:e.languageParameter,places:e.places,worldview:e.worldview,token:e.apiKey},signal:t?.signal})).data]);this.thumbnailUrl??=i.thumbnailUrl;const l=(0,f.An)(s);if(this._set("resourceInfo",{data:o.baseMap??{},context:{origin:"web-map",url:l}}),this.read(this.resourceInfo.data,this.resourceInfo.context),this.read({spatialReference:o.spatialReference},this.resourceInfo.context),await this._loadLayersFromJSON(this.resourceInfo.data,l,t),e.apiKey)for(const t of[...this.baseLayers,...this.referenceLayers])"apiKey"in t&&(t.apiKey=e.apiKey)}static fromId(e){const t=L.H[e];return t?t.itemId?new x({portalItem:{id:t.itemId,portal:{url:"https://www.arcgis.com"}}}):x.fromJSON(t,{origin:t.is3d?"web-scene":"web-map"}):null}};(0,a._)([(0,h.MZ)({json:{write:{ignoreOrigin:!0,target:"baseMapLayers",writer(e,t,r,a){this._writeBaseLayers(e,t,a)}},origins:{"web-scene":{write:{ignoreOrigin:!0,target:{baseMapLayers:{type:s.A}},writer(e,t,r,a){this._writeBaseLayers(e,t,a)}}}}}})],C.prototype,"baseLayers",null),(0,a._)([(0,h.MZ)({type:String,json:{origins:{"web-scene":{write:!0}}}})],C.prototype,"id",void 0),(0,a._)([(0,h.MZ)({type:v.default})],C.prototype,"portalItem",void 0),(0,a._)([(0,h.MZ)()],C.prototype,"referenceLayers",null),(0,a._)([(0,h.MZ)({readOnly:!0})],C.prototype,"resourceInfo",void 0),(0,a._)([(0,h.MZ)({type:b.A})],C.prototype,"spatialReference",void 0),(0,a._)([(0,h.MZ)({type:S})],C.prototype,"style",void 0),(0,a._)([(0,h.MZ)()],C.prototype,"thumbnailUrl",void 0),(0,a._)([(0,h.MZ)({type:String,json:{origins:{"web-scene":{write:{isRequired:!0}}}}})],C.prototype,"title",void 0),(0,a._)([(0,w.K)("title")],C.prototype,"writeTitle",null),C=x=(0,a._)([(0,m.$)("esri.Basemap")],C);const U={"Web Scene":"web-scene","Web Map":"web-map","Link Chart":"link-chart"},O={"web-scene":"web-scene","web-map":"web-map","link-chart":"link-chart"},Z=C},60999:(e,t,r)=>{r.d(t,{DZ:()=>f,Ke:()=>y,Tj:()=>u,UT:()=>h,jJ:()=>c});var a=r(90237),n=r(69622),s=r(97768),i=r(74887),o=r(10107),l=r(40608);function c(e,t,r){return(0,i.Lx)(e.map(((e,a)=>t.apply(r,[e,a]))))}async function u(e,t,r){return(await(0,i.Lx)(e.map(((e,a)=>t.apply(r,[e,a]))))).map((e=>e.value))}function p(e){return{ok:!0,value:e}}function d(e){return{ok:!1,error:e}}async function y(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return p(await e)}catch(e){return d(e)}}async function f(e){try{return p(await e)}catch(e){return(0,i.QP)(e),d(e)}}function h(e,t){return new m(e,t)}let m=class extends n.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:r}=this._abortController;this.promise=e(r),this.promise.then((e=>{this._result=p(e),this._cleanup()}),(e=>{this._result=d(e),this._cleanup()})),this._abortHandle=(0,i.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,a._)([(0,o.MZ)()],m.prototype,"value",null),(0,a._)([(0,o.MZ)()],m.prototype,"error",null),(0,a._)([(0,o.MZ)()],m.prototype,"finished",null),(0,a._)([(0,o.MZ)()],m.prototype,"promise",void 0),(0,a._)([(0,o.MZ)()],m.prototype,"_result",void 0),m=(0,a._)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],m)},62885:(e,t,r)=>{r.d(t,{H:()=>s,V:()=>n});var a=r(5503);function n(e,t,r=a.A){return t||(t=new r),t===e||(t.removeAll(),(n=e)&&(Array.isArray(n)||"items"in n&&Array.isArray(n.items))?t.addMany(e):e&&t.add(e)),t;var n}function s(e){return e}},81583:(e,t,r)=>{r.d(t,{L:()=>o,g:()=>i});var a=r(60999),n=r(5503),s=r(92474);async function i(e,t){return await e.load(),o(e,t)}async function o(e,t){const r=[],i=(...e)=>{for(const t of e)null!=t&&(Array.isArray(t)?i(...t):n.A.isCollection(t)?t.forEach((e=>i(e))):s.A.isLoadable(t)&&r.push(t))};t(i);let o=null;if(await(0,a.Tj)(r,(async e=>{const t=await(0,a.Ke)(function(e){return"loadAll"in e&&"function"==typeof e.loadAll}(e)?e.loadAll():e.load());!1!==t.ok||o||(o=t)})),o)throw o.error;return e}},47566:(e,t,r)=>{r(97770),r(18047),r(71754),r(73444);var a=r(10838),n=r(78888),s=r(49186);async function i(e){if(null!=o.fetchBundleAsset)return o.fetchBundleAsset(e);const t=await(0,n.A)(e,{responseType:"text"});return JSON.parse(t.data)}const o={};var l,c=r(2741);(0,a.ao)((l={pattern:"esri/",location:c.s},new class{constructor({base:e="",pattern:t,location:r=new URL(window.location.href)}){let a;a="string"==typeof r?e=>new URL(e,new URL(r,window.location.href)).href:r instanceof URL?e=>new URL(e,r).href:r,this.pattern="string"==typeof t?new RegExp(`^${t}`):t,this.getAssetUrl=a,e=e?e.endsWith("/")?e:e+"/":"",this.matcher=new RegExp(`^${e}(?:(.*)\\/)?(.*)$`)}fetchMessageBundle(e,t){return async function(e,t,r,n){const o=t.exec(r);if(!o)throw new s.A("esri-intl:invalid-bundle",`Bundle id "${r}" is not compatible with the pattern "${t}"`);const l=o[1]?`${o[1]}/`:"",c=o[2],u=(0,a.xO)(n),p=`${l}${c}.json`,d=u?`${l}${c}_${u}.json`:p;let y;try{y=await i(e(d))}catch(t){if(d===p)throw new s.A("intl:unknown-bundle",`Bundle "${r}" cannot be loaded`,{error:t});try{y=await i(e(p))}catch(e){throw new s.A("intl:unknown-bundle",`Bundle "${r}" cannot be loaded`,{error:e})}}return y}(this.getAssetUrl,this.matcher,e,t)}}(l)))},18047:(e,t,r)=>{r.d(t,{ZV:()=>l,yx:()=>o});var a=r(73444);const n={ar:"ar-u-nu-latn"};let s=new WeakMap,i={};function o(e={}){const t={};return null!=e.digitSeparator&&(t.useGrouping=e.digitSeparator),null!=e.places&&(t.minimumFractionDigits=t.maximumFractionDigits=e.places),t}function l(e,t){return Object.is(e,-0)&&(e=0),function(e){const t=e||i;if(!s.has(t)){const r=(0,a.JK)(),i=n[(0,a.JK)()]||r;s.set(t,new Intl.NumberFormat(i,e))}return s.get(t)}(t).format(e)}(0,a.Ml)((()=>{s=new WeakMap,i={}})),new Map},71754:(e,t,r)=>{r.d(t,{V:()=>c});var a=r(53966),n=r(93637),s=r(799),i=r(97770),o=r(18047);const l=()=>a.A.getLogger("esri.intl.substitute");function c(e,t,r={}){const{format:a={}}=r;return(0,s.HC)(e,(e=>function(e,t,r){let a,s;const i=e.indexOf(":");if(-1===i?a=e.trim():(a=e.slice(0,i).trim(),s=e.slice(i+1).trim()),!a)return"";const o=(0,n.wc)(a,t);if(null==o)return"";const l=(s?r?.[s]:null)??r?.[a];return l?u(o,l):s?p(o,s):d(o)}(e,t,a)))}function u(e,t){switch(t.type){case"date":return(0,i.Yq)(e,t.intlOptions);case"number":return(0,o.ZV)(e,t.intlOptions);default:return l().warn("missing format descriptor for key {key}"),d(e)}}function p(e,t){switch(t.toLowerCase()){case"dateformat":return(0,i.Yq)(e);case"numberformat":return(0,o.ZV)(e);default:return l().warn(`inline format is unsupported since 4.12: ${t}`),/^(dateformat|datestring)/i.test(t)?(0,i.Yq)(e):/^numberformat/i.test(t)?(0,o.ZV)(e):d(e)}}function d(e){switch(typeof e){case"string":return e;case"number":return(0,o.ZV)(e);case"boolean":return""+e;default:return e instanceof Date?(0,i.Yq)(e):""}}},83531:(e,t,r)=>{r.d(t,{BR:()=>u,Ov:()=>o,TU:()=>i,W_:()=>l,XX:()=>s,tk:()=>p,wI:()=>c});var a=r(70333),n=r(78888);const s={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};function i(e){const t=e?.type;return"building-scene"===t||"integrated-mesh"===t||"point-cloud"===t||"scene"===t}function o(e){return"feature"===e?.type&&!e.url&&"memory"===e.source?.type}function l(e){const t=e?.type;return("feature"===t||"subtype-group"===t||"oriented-imagery"===t)&&"feature-layer"===e?.source?.type}async function c(e,t){const r=a.id?.findServerInfo(e);if(null!=r?.currentVersion)return r.owningSystemUrl||null;const s=e.toLowerCase().indexOf("/rest/services");if(-1===s)return null;const i=`${e.slice(0,s)}/rest/info`,o=null!=t?t.signal:null,{data:l}=await(0,n.A)(i,{query:{f:"json"},responseType:"json",signal:o});return l?.owningSystemUrl||null}function u(e){return function(e){if(!("capabilities"in e))return!1;switch(e.type){case"catalog":case"catalog-footprint":case"csv":case"feature":case"geojson":case"imagery":case"knowledge-graph-sublayer":case"ogc-feature":case"oriented-imagery":case"scene":case"sublayer":case"subtype-group":case"subtype-sublayer":case"wfs":return!0;default:return!1}}(e)?"effectiveCapabilities"in e?e.effectiveCapabilities:e.capabilities:null}function p(e){return!!function(e){if(!("editingEnabled"in e))return!1;switch(e.type){case"csv":case"feature":case"geojson":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":return!0;default:return!1}}(e)&&("effectiveEditingEnabled"in e?e.effectiveEditingEnabled:e.editingEnabled)}},751:(e,t,r)=>{r.d(t,{CJ:()=>y});var a=r(49186),n=r(4718),s=r(93637),i=r(67124),o=r(83531);const l=new Set(["bing-maps","imagery","imagery-tile","map-image","open-street-map","tile","unknown","unsupported","vector-tile","web-tile","wcs","wms","wmts"]),c=new Set(["catalog","csv","feature","geo-rss","geojson","group","imagery","imagery-tile","kml","knowledge-graph","map-image","map-notes","media","ogc-feature","oriented-imagery","route","stream","subtype-group","tile","unknown","unsupported","vector-tile","web-tile","wcs","wfs","wms","wmts"]),u=new Set([...c,"link-chart"]);function p(e,t){if(t.restrictedWebMapWriting){const r=function(e){switch(e.layerContainerType){case"basemap":return l;case"operational-layers":return"link-chart"===e.origin?u:c;default:return null}}(t);return null==r||r.has(e.type)&&!(0,o.Ov)(e)}return!0}function d(e,t){"maxScale"in e&&(t.maxScale=(0,i.B)(e.maxScale)??void 0),"minScale"in e&&(t.minScale=(0,i.B)(e.minScale)??void 0)}function y(e,t,r){if(!e.persistenceEnabled)return null;if(!("write"in e)||!e.write)return r?.messages&&r.messages.push(new a.A("layer:unsupported",`Layers (${e.title}, ${e.id}) of type '${e.declaredClass}' cannot be persisted`,{layer:e})),null;if((0,o.Ov)(e)&&!e.isTable)t=e.resourceInfo;else if(p(e,r)){const t={};return e.write(t,r)?t:null}return null!=t&&function(e,t){if(function(e,t){if(t)if((0,o.Ov)(e)){const r=(0,s.wc)("featureCollection.layers",t),a=r?.[0]?.layerDefinition;a&&d(e,a)}else"group"!==e.type&&d(e,t)}(e,t),t&&(t.id=e.id,"blendMode"in e&&(t.blendMode=e.blendMode,"normal"===t.blendMode&&delete t.blendMode),t.opacity=(0,i.B)(e.opacity)??void 0,t.title=e.title||"Layer",t.visibility=e.visible,"legendEnabled"in e&&"wmts"!==e.type))if((0,o.Ov)(e)){const r=t.featureCollection;r&&(r.showLegend=e.legendEnabled)}else t.showLegend=e.legendEnabled}(e,t=(0,n.o8)(t)),t}}}]);