@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
1 lines • 10.3 kB
JavaScript
;(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3359,5740],{7861(e,t,r){r.d(t,{L:()=>n});var a=r(11254);async function n(e,t){return(await(0,a.A)(e,{responseType:"json",query:{f:"json",...t?.customParameters,token:t?.apiKey}})).data}},23154(e,t,r){r.d(t,{K:()=>p,Q:()=>s});var a=r(77548),n=r(7861);const o=new Set(["Catalog Layer","Feature Layer","Oriented Imagery Layer"]);async function s(e,t){const{loadContext:r,...o}=t||{},s=r?await r.fetchServiceMetadata(e,o):await(0,n.L)(e,o),i=(0,a.G$)();f(s),c(s);const l={serviceJSON:s,preferredHost:i};if((s.currentVersion??0)<10.5)return l;const u=`${(0,a.$x)()??e}/layers`,y=r?await r.fetchServiceMetadata(u,o):await(0,n.L)(u,o);return f(y),c(y),l.layersJSON={layers:y.layers,tables:y.tables},l}function i(e){const{type:t}=e;return!!t&&o.has(t)}function l(e){return"Table"===e.type}function c(e){e.layers=e.layers?.filter(i),e.tables=e.tables?.filter(l)}function u(e){e.type||="Feature Layer"}function y(e){e.type||="Table"}function f(e){e.layers?.forEach(u),e.tables?.forEach(y)}function p(e){switch(e){case"Feature Layer":case"Table":return"FeatureLayer";case"Oriented Imagery Layer":return"OrientedImageryLayer";case"Catalog Layer":return"CatalogLayer"}return"FeatureLayer"}},26121(e,t,r){r.d(t,{ci:()=>s,dL:()=>o});var a=r(49186),n=(r(77548),r(59923));async function o(e){const t=[];for(const r of e.allLayers)if("beforeSave"in r&&"function"==typeof r.beforeSave){const e=r.beforeSave();e&&t.push(e)}await Promise.allSettled(t)}function s(e,t,r){let o=(e.messages??[]).filter(({type:e})=>"error"===e).map(({name:e,message:t,details:r})=>new a.A(e,t,r));if(e.blockedRelativeUrls&&(o=o.concat(e.blockedRelativeUrls.map(e=>(0,n.GL)("url",`Relative url '${e}' is not supported`)))),r){const{ignoreUnsupported:e,supplementalUnsupportedErrors:t=[],requiredPropertyChecksDisabled:a}=r;e&&(o=o.filter(({name:e})=>!(n.MG.has(e)||t.includes(e)))),a&&(o=o.filter(e=>"web-document-write:property-required"!==e.name))}if(o.length>0)throw new a.A(t.errorName,"Failed to save due to unsupported or invalid content. See 'details.errors' for more detailed information",{errors:o})}},33359(e,t,r){r.d(t,{save:()=>N,saveAs:()=>R});var a=r(4576),n=(r(49186),r(71530)),o=r(60694),s=r(23154),i=r(77548),l=r(88788),c=r(10407);const u="Feature Service",y="feature-layer-utils",f=`${y}-save`,p=`${y}-save-as`;function d(e){return{isValid:(0,i.W_)(e)&&(!("dynamicDataSource"in e)||!e.dynamicDataSource),errorMessage:"Feature layer should be a layer or table in a map or feature service"}}function m(e,t){const r=(0,l.m)(e,"portal-item");return t?.isTable&&(r.layerContainerType="tables"),r}function h(e){const t=[],r=[];for(const{layer:a,layerJSON:n}of e)w(a)?r.push(n):t.push(n);return{layers:t,tables:r}}function w(e,t){return e.isTable}function b(e){return h([e])}async function v(e,t){return/\/\d+\/?$/.test(e.url)?b(t[0]):async function(e,t){if(e.reverse(),!t)return h(e);const a=await async function(e,t){let a=await e.fetchData("json");if(function(e){return!!(e&&Array.isArray(e.layers)&&Array.isArray(e.tables))}(a)&&!(0,c.Y)(e,c.mm.HOSTED_SERVICE))return a;a||={},function(e){e.layers||=[],e.tables||=[]}(a);const{layer:{url:n,customParameters:o,apiKey:i}}=t[0];return await async function(e,t,a){const{url:n,customParameters:o,apiKey:i}=t,{serviceJSON:l,layersJSON:c}=await(0,s.Q)(n,{customParameters:o,apiKey:i}),u=L(e.layers,l.layers,a),y=L(e.tables,l.tables,a);e.layers=u.itemResources,e.tables=y.itemResources;const f=[...u.added,...y.added],p=c?[...c.layers,...c.tables]:[];await async function(e,t,a,n){const o=await async function(e){const t=[];e.forEach(({type:e})=>{switch((0,s.K)(e)){case"CatalogLayer":t.push(Promise.all([r.e(1214),r.e(893),r.e(3636),r.e(1072)]).then(r.bind(r,83508)).then(e=>e.default));break;case"FeatureLayer":t.push(Promise.all([r.e(9953),r.e(1214),r.e(1017),r.e(9784),r.e(3447)]).then(r.bind(r,29784)).then(e=>e.default));break;case"OrientedImageryLayer":t.push(Promise.all([r.e(9953),r.e(1214),r.e(1017),r.e(9784),r.e(8599)]).then(r.bind(r,16852)).then(e=>e.default))}});const a=await Promise.all(t),n=new Map;return e.forEach(({type:e},t)=>{n.set(e,a[t])}),n}(t),i=t.map(({id:e,type:t})=>new(o.get(t))({url:a,layerId:e,sourceJSON:n.find(({id:t})=>t===e)}));await Promise.allSettled(i.map(e=>e.load())),i.forEach(t=>{const{layerId:r,loaded:a,defaultPopupTemplate:n}=t;if(!a||null==n)return;const o={id:r,popupInfo:n.toJSON()};I(t,"ArcGISFeatureLayer"===t.operationalLayerType?o:{...o,layerType:t.operationalLayerType},e)})}(e,f,n,p)}(a,{url:n??"",customParameters:o,apiKey:i},t.map(e=>e.layer.layerId)),a}(t,e);for(const t of e)I(t.layer,t.layerJSON,a);return function(e,t){const r=[],a=[];for(const{layer:e}of t){const{isTable:t,layerId:n}=e;t?a.push(n):r.push(n)}S(e.layers,r),S(e.tables,a)}(a,e),a}(t,e)}function S(e,t){if(e.length<2)return;const r=[];for(const{id:t}of e)r.push(t);(0,a.aI)(r.sort(g),t.slice().sort(g))&&e.sort((e,r)=>{const a=t.indexOf(e.id),n=t.indexOf(r.id);return a<n?-1:a>n?1:0})}function g(e,t){return e<t?-1:e>t?1:0}function L(e,t,r){const n=(0,a.iv)(e,t,(e,t)=>e.id===t.id);e=e.filter(e=>!n.removed.some(t=>t.id===e.id));const o=n.added;return o.forEach(({id:t})=>{e.push({id:t})}),{itemResources:e,added:o.filter(({id:e})=>!r.includes(e))}}function I(e,t,r){e.isTable?P(r.tables,t):P(r.layers,t)}function P(e,t){const r=e.findIndex(({id:e})=>e===t.id);-1===r?e.push(t):e[r]=t}function T(e){if(!("layerType"in e))return!!e.charts?.length;switch(e.layerType){case"OrientedImageryLayer":return!!e.charts?.length;case"SubtypeGroupLayer":return!!e.layers.some(e=>!!e.charts?.length);case"SubtypeGroupTable":return!!e.tables.some(e=>!!e.charts?.length);case"CatalogLayer":return!!e.footprintLayer?.charts?.length}}function O(e,t){let r=0,a=0,n=0,o=0;for(const e of[...t.layers,...t.tables])if(T(e)&&o++,"layerType"in e)switch(e.layerType){case"OrientedImageryLayer":r++;break;case"SubtypeGroupLayer":a++;break;case"SubtypeGroupTable":n++}(0,c.Sm)(e,c.mm.ORIENTED_IMAGERY_LAYER,r>0),(0,c.Sm)(e,c.mm.SUBTYPE_GROUP_LAYER,a>0),(0,c.Sm)(e,c.mm.SUBTYPE_GROUP_TABLE,n>0),(0,c.Sm)(e,c.mm.CHARTS,o>0)}async function A(e,t,r){O(t,r)}async function E(e,t,r){const{url:a,layerId:n,title:s,fullExtent:i,isTable:l}=e,u=(0,o.qg)(a);t.url=("FeatureServer"===u?.serverType?a:`${a}/${n}`)??null,t.title||=s,t.extent=null,l||null==i||(t.extent=await(0,c.sQ)(i)),function(e,t,r){(0,c.OM)(t,c.mm.METADATA),(0,c.Sm)(t,c.mm.MULTI_LAYER,e.length>1),(0,c.Sm)(t,c.mm.SINGLE_LAYER,1===e.length),(0,c.Sm)(t,c.mm.TABLE,r.tables.length>0&&0===r.layers.length),O(t,r)}([e],t,r)}async function N(e,t){return(0,n.UN)({layer:e,itemType:u,validateLayer:d,createJSONContext:t=>m(t,e),createItemData:(e,t)=>v(t,[e]),errorNamePrefix:f,setItemProperties:A},t)}async function R(e,t,r){return(0,n.Uh)({layer:e,itemType:u,validateLayer:d,createJSONContext:t=>m(t,e),createItemData:(e,t)=>Promise.resolve(b(e)),errorNamePrefix:p,newItem:t,setItemProperties:E},r)}},46130(e,t,r){r.d(t,{v:()=>n});var a=r(76553);function n(e){e?.writtenProperties&&e.writtenProperties.forEach(({target:e,propName:t,newOrigin:r})=>{(0,a.H)(e)&&r&&e.originOf(t)!==r&&e.updateOrigin(t,r)})}},71530(e,t,r){r.d(t,{UN:()=>b,Uh:()=>v});var a=r(49186),n=r(46130),o=r(20655),s=r(80812),i=r(88788),l=r(10407),c=r(26121);async function u(e){const{layer:t,errorNamePrefix:r,validateLayer:n}=e;await t.load(),function(e,t,r){const n=r(e);if(!n.isValid)throw new a.A(`${t}:invalid-parameters`,n.errorMessage,{layer:e})}(t,r,n)}function y(e,t){return`Layer (title: ${e.title}, id: ${e.id}) of type '${e.declaredClass}' ${t}`}function f(e){const{item:t,errorNamePrefix:r,layer:n,validateItem:o}=e;if(function(e){const{item:t,itemType:r,additionalItemType:n,errorNamePrefix:o,layer:s}=e,i=[r];if(n&&i.push(n),!i.includes(t.type)){const e=i.map(e=>`'${e}'`).join(", ");throw new a.A(`${o}:portal-item-wrong-type`,`Portal item type should be one of: "${e}"`,{item:t,layer:s})}}(e),o){const e=o(t);if(!e.isValid)throw new a.A(`${r}:invalid-parameters`,e.errorMessage,{layer:n})}}function p(e){const{layer:t,errorNamePrefix:r}=e,{portalItem:n}=t;if(!n)throw new a.A(`${r}:portal-item-not-set`,y(t,"requires the portalItem property to be set"));if(!n.loaded)throw new a.A(`${r}:portal-item-not-loaded`,y(t,"cannot be saved to a portal item that does not exist or is inaccessible"));f({...e,item:n})}function d(e){const{newItem:t,itemType:r}=e;let a=s.default.from(t);return a.id&&(a=a.clone(),a.id=null),a.type??=r,a.portal??=o.A.getDefault(),f({...e,item:a}),a}function m(e){return(0,i.m)(e,"portal-item")}async function h(e,t,r){"beforeSave"in e&&"function"==typeof e.beforeSave&&await e.beforeSave();const a=e.write({},t);return await Promise.all(t.resources?.pendingOperations??[]),(0,c.ci)(t,{errorName:"layer-write:unsupported"},r),a}function w(e){(0,l.LG)(e,l.mm.JSAPI),e.typeKeywords&&(e.typeKeywords=e.typeKeywords.filter((e,t,r)=>r.indexOf(e)===t))}async function b(e,t){const{layer:r,createItemData:a,createJSONContext:o,setItemProperties:s,saveResources:i,supplementalUnsupportedErrors:l}=e;await u(e),p(e);const c=r.portalItem,y=o?o(c):m(c),f=await h(r,y,{...t,supplementalUnsupportedErrors:l}),d=await a({layer:r,layerJSON:f},c);return await(s?.(r,c,d)),w(c),await c.update({data:d}),(0,n.v)(y),await(i?.(c,y)),c}async function v(e,t){const{layer:r,createItemData:a,createJSONContext:o,setItemProperties:s,saveResources:i,supplementalUnsupportedErrors:l}=e;await u(e);const c=d(e),y=o?o(c):m(c),f=await h(r,y,{...t,supplementalUnsupportedErrors:l}),p=await a({layer:r,layerJSON:f},c);return await s(r,c,p),w(c),await async function(e,t,r){const a=e.portal;await a.signIn(),await a.user.addItem({item:e,data:t,folder:r?.folder})}(c,p,t),r.portalItem=c,(0,n.v)(y),await(i?.(c,y)),c}},76553(e,t,r){function a(e){return e&&"getAtOrigin"in e&&"originOf"in e}r.d(t,{H:()=>a})},88788(e,t,r){r.d(t,{m:()=>s,v:()=>o});var a=r(84952),n=r(20655);function o(e,t){return{...i(e,t),readResourcePaths:[]}}function s(e,t,r){const n=(0,a.An)(e.itemUrl);return{...i(e,t),messages:[],writtenProperties:[],blockedRelativeUrls:[],verifyItemRelativeUrls:n?{rootPath:n.path,writtenUrls:[]}:null,resources:r?{toAdd:[],toUpdate:[],toKeep:[],pendingOperations:[]}:null}}function i(e,t){return{origin:t,url:(0,a.An)(e.itemUrl),portal:e.portal||n.A.getDefault(),portalItem:e}}}}]);