@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
1 lines • 9.37 kB
JavaScript
;(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5740],{26121:(e,t,r)=>{r.d(t,{ci:()=>s,dL:()=>n});var a=r(49186);async function n(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)}r(77548);const o=new Set(["layer:unsupported","property:unsupported","symbol:unsupported","symbol-layer:unsupported","url:unsupported"]);function s(e,t,r){let n=(e.messages??[]).filter((({type:e})=>"error"===e)).map((({name:e,message:t,details:r})=>new a.A(e,t,r)));if(e.blockedRelativeUrls&&(n=n.concat(e.blockedRelativeUrls.map((e=>new a.A("url:unsupported",`Relative url '${e}' is not supported`))))),r){const{ignoreUnsupported:e,supplementalUnsupportedErrors:t=[],requiredPropertyChecksDisabled:a}=r;e&&(n=n.filter((({name:e})=>!(o.has(e)||t.includes(e))))),a&&(n=n.filter((e=>"web-document-write:property-required"!==e.name)))}if(n.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:n})}},33359:(e,t,r)=>{r.d(t,{save:()=>N,saveAs:()=>R});var a=r(4576),n=(r(44208),r(49186),r(71530)),o=r(60694),s=r(23154),i=r(77548),l=r(88788),u=r(10407);const c="Feature Service",p="feature-layer-utils",d=`${p}-save`,y=`${p}-save-as`;function m(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 f(e,t){const r=(0,l.m)(e,"portal-item");return t?.isTable&&(r.layerContainerType="tables"),r}function w(e){const t=[],r=[];for(const{layer:a,layerJSON:n}of e)h(a)?r.push(n):t.push(n);return{layers:t,tables:r}}function h(e,t){return e.isTable}function b(e){return w([e])}async function v(e,t){return/\/\d+\/?$/.test(e.url)?b(t[0]):async function(e,t){if(e.reverse(),!t)return w(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,u.Y)(e,u.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:u}=await(0,s.Q)(n,{customParameters:o,apiKey:i}),c=I(e.layers,l.layers,a),p=I(e.tables,l.tables,a);e.layers=c.itemResources,e.tables=p.itemResources;const d=[...c.added,...p.added],y=u?[...u.layers,...u.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(708),r.e(364),r.e(8628),r.e(2593),r.e(1419)]).then(r.bind(r,79003)).then((e=>e.default)));break;case"FeatureLayer":t.push(Promise.all([r.e(1214),r.e(9953),r.e(3029),r.e(3600),r.e(3447)]).then(r.bind(r,13600)).then((e=>e.default)));break;case"OrientedImageryLayer":t.push(Promise.all([r.e(1214),r.e(9953),r.e(3029),r.e(3600),r.e(8373)]).then(r.bind(r,97927)).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()};P(t,"ArcGISFeatureLayer"===t.operationalLayerType?o:{...o,layerType:t.operationalLayerType},e)}))}(e,d,n,y)}(a,{url:n??"",customParameters:o,apiKey:i},t.map((e=>e.layer.layerId))),a}(t,e);for(const t of e)P(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 I(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 P(e,t,r){e.isTable?A(r.tables,t):A(r.layers,t)}function A(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,u.Sm)(e,u.mm.ORIENTED_IMAGERY_LAYER,r>0),(0,u.Sm)(e,u.mm.SUBTYPE_GROUP_LAYER,a>0),(0,u.Sm)(e,u.mm.SUBTYPE_GROUP_TABLE,n>0),(0,u.Sm)(e,u.mm.CHARTS,o>0)}async function E(e,t,r){O(t,r)}async function L(e,t,r){const{url:a,layerId:n,title:s,fullExtent:i,isTable:l}=e,c=(0,o.qg)(a);t.url=("FeatureServer"===c?.serverType?a:`${a}/${n}`)??null,t.title||=s,t.extent=null,l||null==i||(t.extent=await(0,u.sQ)(i)),function(e,t,r){(0,u.OM)(t,u.mm.METADATA),(0,u.Sm)(t,u.mm.MULTI_LAYER,e.length>1),(0,u.Sm)(t,u.mm.SINGLE_LAYER,1===e.length),(0,u.Sm)(t,u.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:c,validateLayer:m,createJSONContext:t=>f(t,e),createItemData:(e,t)=>v(t,[e]),errorNamePrefix:d,setItemProperties:E},t)}async function R(e,t,r){return(0,n.Uh)({layer:e,itemType:c,validateLayer:m,createJSONContext:t=>f(t,e),createItemData:(e,t)=>Promise.resolve(b(e)),errorNamePrefix:y,newItem:t,setItemProperties:L},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),u=r(26121);async function c(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 p(e,t){return`Layer (title: ${e.title}, id: ${e.id}) of type '${e.declaredClass}' ${t}`}function d(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 y(e){const{layer:t,errorNamePrefix:r}=e,{portalItem:n}=t;if(!n)throw new a.A(`${r}:portal-item-not-set`,p(t,"requires the portalItem property to be set"));if(!n.loaded)throw new a.A(`${r}:portal-item-not-loaded`,p(t,"cannot be saved to a portal item that does not exist or is inaccessible"));d({...e,item:n})}function m(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(),d({...e,item:a}),a}function f(e){return(0,i.m)(e,"portal-item")}async function w(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,u.ci)(t,{errorName:"layer-write:unsupported"},r),a}function h(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 c(e),y(e);const u=r.portalItem,p=o?o(u):f(u),d=await w(r,p,{...t,supplementalUnsupportedErrors:l}),m=await a({layer:r,layerJSON:d},u);return await(s?.(r,u,m)),h(u),await u.update({data:m}),(0,n.v)(p),await(i?.(u,p)),u}async function v(e,t){const{layer:r,createItemData:a,createJSONContext:o,setItemProperties:s,saveResources:i,supplementalUnsupportedErrors:l}=e;await c(e);const u=m(e),p=o?o(u):f(u),d=await w(r,p,{...t,supplementalUnsupportedErrors:l}),y=await a({layer:r,layerJSON:d},u);return await s(r,u,y),h(u),await async function(e,t,r){const a=e.portal;await a.signIn(),await a.user.addItem({item:e,data:t,folder:r?.folder})}(u,y,t),r.portalItem=u,(0,n.v)(p),await(i?.(u,p)),u}},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}}}}]);