UNPKG

@arcgis/core

Version:

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

1 lines • 14.6 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9432],{67482:(e,t,s)=>{function n(e){return null!=u(e)||null!=o(e)}function i(e){return a.test(e)}function r(e){return u(e)??o(e)}function o(e){const t=new Date(e);return function(e,t){if(Number.isNaN(e.getTime()))return!1;let s=!0;if(d&&/\d+\W*$/.test(t)){const e=t.match(/[a-zA-Z]{2,}/);if(e){let t=!1,n=0;for(;!t&&n<=e.length;)t=!l.test(e[n]),n++;s=!t}}return s}(t,e)?Number.isNaN(t.getTime())?null:t.getTime()-6e4*t.getTimezoneOffset():null}function u(e){const t=a.exec(e);if(!t?.groups)return null;const s=t.groups,n=+s.year,i=+s.month-1,r=+s.day,o=+(s.hours??"0"),u=+(s.minutes??"0"),l=+(s.seconds??"0");if(o>23)return null;if(u>59)return null;if(l>59)return null;const d=s.ms??"0",p=d?+d.padEnd(3,"0").slice(0,3):0;let c;if(s.isUTC||!s.offsetSign)c=Date.UTC(n,i,r,o,u,l,p);else{const e=+s.offsetHours,t=+s.offsetMinutes;c=6e4*("+"===s.offsetSign?-1:1)*(60*e+t)+Date.UTC(n,i,r,o,u,l,p)}return Number.isNaN(c)?null:c}s.d(t,{Br:()=>i,Cq:()=>n,_U:()=>r});const a=/^(?:(?<year>-?\d{4,})-(?<month>\d{2})-(?<day>\d{2}))(?:T(?<hours>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?:\.(?<ms>\d+))?)?(?:(?<isUTC>Z)|(?:(?<offsetSign>\+|-)(?<offsetHours>\d{2}):(?<offsetMinutes>\d{2})))?$/,l=/^((jan(uary)?)|(feb(ruary)?)|(mar(ch)?)|(apr(il)?)|(may)|(jun(e)?)|(jul(y)?)|(aug(ust)?)|(sep(tember)?)|(oct(ober)?)|(nov(ember)?)|(dec(ember)?)|(am)|(pm)|(gmt)|(utc))$/i,d=!Number.isNaN(new Date("technology 10").getTime())},33032:(e,t,s)=>{s.d(t,{H:()=>i,L:()=>n});const n=1;function i(e,t){let s=0;for(const n of t){const t=n.attributes?.[e];"number"==typeof t&&isFinite(t)&&(s=Math.max(s,t))}return s}},29432:(e,t,s)=>{s.r(t),s.d(t,{default:()=>E});var n=s(49186),i=s(65864),r=s(21325),o=s(90708),u=s(33032),a=s(58376),l=s(83221),d=s(31464),p=s(19730),c=s(64714),y=s(82832),f=s(95466),m=s(98453),h=s(30524),g=s(98623);const b=r.KK,I={xmin:-180,ymin:-90,xmax:180,ymax:90,spatialReference:r.KK},F={hasAttachments:!1,capabilities:"query, editing, create, delete, update",useStandardizedQueries:!0,supportsCoordinatesQuantization:!0,supportsReturningQueryGeometry:!0,advancedQueryCapabilities:{supportsQueryAttachments:!1,supportsQueryAttachmentOrderByFields:!1,supportsQueryBins:!0,supportsStatistics:!0,supportsPercentileStatistics:!0,supportsReturningGeometryCentroid:!0,supportsQueryWithDistance:!0,supportsDistinct:!0,supportsReturningQueryExtent:!0,supportsReturningGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsQueryWithResultType:!0,supportsSqlExpression:!0,supportsDisjointSpatialRel:!0,supportsQueryWithCacheHint:!0},queryBinsCapabilities:y.PC};function S(e){return(0,i.fT)(e)?null!=e.z:!!e.hasZ}function T(e){return(0,i.fT)(e)?null!=e.m:!!e.hasM}class E{constructor(){this._queryEngine=null,this._nextObjectId=null}destroy(){this._queryEngine?.destroy(),this._queryEngine=this._createDefaultAttributes=null}async load(e){const t=[],{features:s}=e,i=this._inferLayerProperties(s,e.fields),r=e.fields||[],o=null!=e.hasM?e.hasM:!!i.hasM,a=null!=e.hasZ?e.hasZ:!!i.hasZ,y=!e.spatialReference&&!i.spatialReference,S=y?b:e.spatialReference||i.spatialReference,T=y?I:null,E=e.geometryType||i.geometryType,R=!E;let x=e.objectIdField||i.objectIdField,C=e.timeInfo;const A=new f.A(r);if(!R&&(y&&t.push({name:"feature-layer:spatial-reference-not-found",message:"Spatial reference not provided or found in features. Defaults to WGS84"}),!E))throw new n.A("feature-layer:missing-property","geometryType not set and couldn't be inferred from the provided features");if(!x)throw new n.A("feature-layer:missing-property","objectIdField not set and couldn't be found in the provided fields");if(i.objectIdField&&x!==i.objectIdField&&(t.push({name:"feature-layer:duplicated-oid-field",message:`Provided objectIdField "${x}" doesn't match the field name "${i.objectIdField}", found in the provided fields`}),x=i.objectIdField),x&&!i.objectIdField){const e=A.get(x);e?(x=e.name,e.type="esriFieldTypeOID",e.editable=!1,e.nullable=!1):r.unshift({alias:x,name:x,type:"esriFieldTypeOID",editable:!1,nullable:!1})}for(const e of r){if(null==e.name&&(e.name=e.alias),null==e.alias&&(e.alias=e.name),!e.name)throw new n.A("feature-layer:invalid-field-name","field name is missing",{field:e});if(e.name===x&&(e.type="esriFieldTypeOID"),!m.m.jsonValues.includes(e.type))throw new n.A("feature-layer:invalid-field-type",`invalid type for field "${e.name}"`,{field:e});null==e.length&&(e.length=(0,h._b)(e))}const _={};for(const e of r)if("esriFieldTypeOID"!==e.type&&"esriFieldTypeGlobalID"!==e.type){const t=(0,h.lD)(e);void 0!==t&&(_[e.name]=t)}if(C){if(C.startTimeField){const e=A.get(C.startTimeField);e?(C.startTimeField=e.name,e.type="esriFieldTypeDate"):C.startTimeField=null}if(C.endTimeField){const e=A.get(C.endTimeField);e?(C.endTimeField=e.name,e.type="esriFieldTypeDate"):C.endTimeField=null}if(C.trackIdField){const e=A.get(C.trackIdField);e?C.trackIdField=e.name:(C.trackIdField=null,t.push({name:"feature-layer:invalid-timeInfo-trackIdField",message:"trackIdField is missing",details:{timeInfo:C}}))}C.startTimeField||C.endTimeField||(t.push({name:"feature-layer:invalid-timeInfo",message:"startTimeField and endTimeField are missing or invalid",details:{timeInfo:C}}),C=null)}const w=A.dateFields.length?{timeZoneIANA:e.dateFieldsTimeZone??g.n$}:null;this._createDefaultAttributes=(0,c.Vx)(_,x);const j={warnings:t,featureErrors:[],layerDefinition:{...F,drawingInfo:(0,c.F0)(E),templates:(0,c.e2)(_),extent:T,geometryType:E,objectIdField:x,fields:r,hasZ:a,hasM:o,timeInfo:C,dateFieldsTimeReference:w},assignedObjectIds:{}};if(this._queryEngine=new p.do({fieldsIndex:f.A.fromLayerJSON({fields:r,timeInfo:C,dateFieldsTimeReference:w}),geometryType:E,hasM:o,hasZ:a,objectIdField:x,spatialReference:S,featureStore:new l.A({geometryType:E,hasM:o,hasZ:a}),timeInfo:C}),!s?.length)return this._nextObjectId=u.L,j;const q=(0,u.H)(x,s);return this._nextObjectId=q+1,await(0,d.Nk)(s,S),this._loadInitialFeatures(j,s)}async applyEdits(e){const{spatialReference:t,geometryType:s}=this._queryEngine;return await Promise.all([(0,y.$1)(t,s),(0,d.Nk)(e.adds,t),(0,d.Nk)(e.updates,t)]),this._applyEdits(e)}queryFeatures(e,t={}){return this._queryEngine.executeQuery(e,t.signal)}queryFeatureCount(e,t={}){return this._queryEngine.executeQueryForCount(e,t.signal)}queryObjectIds(e,t={}){return this._queryEngine.executeQueryForIds(e,t.signal)}queryExtent(e,t={}){return this._queryEngine.executeQueryForExtent(e,t.signal)}querySnapping(e,t={}){return(0,a.J)(this._queryEngine,e,t.signal)}queryAttributeBins(e,t={}){return this._queryEngine.executeAttributeBinsQuery(e,t.signal)}_inferLayerProperties(e,t){let s,n,r=null,o=null,u=null;for(const t of e){const e=t.geometry;if(null!=e&&(r||(r=(0,i.$B)(e)),o||(o=e.spatialReference),null==s&&(s=S(e)),null==n&&(n=T(e)),r&&o&&null!=s&&null!=n))break}if(t&&t.length){let e=null;t.some((t=>{const s="esriFieldTypeOID"===t.type,n=!t.type&&t.name&&"objectid"===t.name.toLowerCase();return e=t,s||n}))&&(u=e.name)}return{geometryType:r,spatialReference:o,objectIdField:u,hasM:n,hasZ:s}}async _loadInitialFeatures(e,t){const{geometryType:s,hasM:n,hasZ:r,objectIdField:u,spatialReference:a,featureStore:l,fieldsIndex:p}=this._queryEngine,c=[];for(const n of t){if(null!=n.uid&&(e.assignedObjectIds[n.uid]=-1),n.geometry&&s!==(0,i.$B)(n.geometry)){e.featureErrors.push((0,y.Yx)("Incorrect geometry type."));continue}const t=this._createDefaultAttributes(),r=(0,y.MB)(p,t,n.attributes,!0);r?e.featureErrors.push(r):(this._assignObjectId(t,n.attributes,!0),n.attributes=t,null!=n.uid&&(e.assignedObjectIds[n.uid]=n.attributes[u]),null!=n.geometry&&(n.geometry=(0,d.Cv)(n.geometry,n.geometry.spatialReference,a)),c.push(n))}l.addMany((0,o.Di)([],c,s,r,n,u));const{fullExtent:f,timeExtent:m}=await this._queryEngine.fetchRecomputedExtents();if(e.layerDefinition.extent=f,m){const{start:t,end:s}=m;e.layerDefinition.timeInfo.timeExtent=[t,s]}return e}async _applyEdits(e){const{adds:t,updates:s,deletes:n}=e,i={addResults:[],deleteResults:[],updateResults:[],uidToObjectId:{}};if(t?.length&&this._applyAddEdits(i,t),s?.length&&this._applyUpdateEdits(i,s),n?.length){for(const e of n)i.deleteResults.push((0,y.bP)(e));this._queryEngine.featureStore.removeManyById(n)}const{fullExtent:r,timeExtent:o}=await this._queryEngine.fetchRecomputedExtents();return{extent:r,timeExtent:o,featureEditResults:i}}_applyAddEdits(e,t){const{addResults:s}=e,{geometryType:n,hasM:r,hasZ:u,objectIdField:a,spatialReference:l,featureStore:p,fieldsIndex:c}=this._queryEngine,f=[];for(const r of t){if(r.geometry&&n!==(0,i.$B)(r.geometry)){s.push((0,y.Yx)("Incorrect geometry type."));continue}const t=this._createDefaultAttributes(),o=(0,y.MB)(c,t,r.attributes);if(o)s.push(o);else{if(this._assignObjectId(t,r.attributes),r.attributes=t,null!=r.uid){const t=r.attributes[a];e.uidToObjectId[r.uid]=t}if(null!=r.geometry){const e=r.geometry.spatialReference??l;r.geometry=(0,d.Cv)((0,y.CR)(r.geometry,e),e,l)}f.push(r),s.push((0,y.bP)(r.attributes[a]))}}p.addMany((0,o.Di)([],f,n,u,r,a))}_applyUpdateEdits({updateResults:e},t){const{geometryType:s,hasM:n,hasZ:r,objectIdField:u,spatialReference:a,featureStore:l,fieldsIndex:p}=this._queryEngine;for(const c of t){const{attributes:t,geometry:f}=c,m=t?.[u];if(null==m){e.push((0,y.Yx)(`Identifier field ${u} missing`));continue}if(!l.has(m)){e.push((0,y.Yx)(`Feature with object id ${m} missing`));continue}const h=(0,o.oN)(l.getFeature(m),s,r,n);if(null!=f){if(s!==(0,i.$B)(f)){e.push((0,y.Yx)("Incorrect geometry type."));continue}const t=f.spatialReference??a;h.geometry=(0,d.Cv)((0,y.CR)(f,t),t,a)}if(t){const s=(0,y.MB)(p,h.attributes,t);if(s){e.push(s);continue}}l.add((0,o.E2)(h,s,r,n,u)),e.push((0,y.bP)(m))}}_assignObjectId(e,t,s=!1){const n=this._queryEngine.objectIdField;s&&t&&isFinite(t[n])?e[n]=t[n]:e[n]=this._nextObjectId++}}},64714:(e,t,s)=>{s.d(t,{F0:()=>u,Vx:()=>d,e2:()=>c,f:()=>y});var n=s(44208),i=s(4718),r=s(99352),o=s(93470);function u(e){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===e||"esriGeometryMultipoint"===e?o.Cb:"esriGeometryPolyline"===e?o.yM:o.WR}}}const a=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let l=1;function d(e,t){if((0,n.A)("esri-csp-restrictions"))return()=>({[t]:null,...e});try{let s=`this${p(t)} = null;`;for(const t in e)s+=`this${p(t)} = ${JSON.stringify(e[t])};`;const n=new Function(`\n return class AttributesClass$${l++} {\n constructor() {\n ${s};\n }\n }\n `)();return()=>new n}catch(s){return()=>({[t]:null,...e})}}function p(e){return a.test(e)?`.${e}`:`["${e}"]`}function c(e={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,i.o8)(e)}}]}function y(e,t){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportsAttachment:!1,supportsM:!1,supportsZ:e},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:t,supportsDelete:t,supportsEditing:t,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:t,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:r.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:r.P,editing:{supportsGeometryUpdate:t,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},82832:(e,t,s)=>{s.d(t,{$1:()=>h,CR:()=>m,MB:()=>c,PC:()=>g,Yx:()=>a,bP:()=>d});var n=s(67482),i=s(21325),r=s(30524);class o{constructor(){this.code=null,this.description=null}}class u{constructor(e){this.error=new o,this.globalId=null,this.objectId=null,this.success=!1,this.uniqueId=null,this.error.description=e}}function a(e){return new u(e)}class l{constructor(e){this.globalId=null,this.success=!0,this.objectId=this.uniqueId=e}}function d(e){return new l(e)}const p=new Set;function c(e,t,s,n=!1){p.clear();for(const i in s){const o=e.get(i);if(!o)continue;const u=y(o,s[i]);if(p.add(o.name),o&&(n||o.editable)){const e=(0,r.CJ)(o,u);if(e)return a((0,r.uo)(e,o,u));t[o.name]=u}}for(const t of e.requiredFields??[])if(!p.has(t.name))return a(`missing required field "${t.name}"`);return null}function y(e,t){let s=t;return(0,r.WA)(e)&&"string"==typeof t?s=parseFloat(t):(0,r.yM)(e)&&null!=t&&"string"!=typeof t?s=String(t):(0,r.vE)(e)&&"string"==typeof t&&(s=(0,n._U)(t)),(0,r.WX)(s)}let f;function m(e,t){if(!e||!(0,i.fn)(t))return e;if("rings"in e||"paths"in e){if(null==f)throw new TypeError("geometry engine not loaded");return f.simplify(t,e)}return e}async function h(e,t){!(0,i.fn)(e)||"esriGeometryPolygon"!==t&&"esriGeometryPolyline"!==t||await async function(){return null==f&&(f=await Promise.all([s.e(9930),s.e(1275)]).then(s.bind(s,47559))),f}()}const g={supportsAutoIntervalBin:!0,supportsFixedIntervalBin:!0,supportsFixedBoundariesBin:!0,supportsDateBin:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsNormalization:!0,supportedStatisticTypes:["COUNT","SUM","AVG","VAR","STDDEV","MIN","MAX","PERCENTILE_CONT","PERCENTILE_DISC","CentroidAggregate","EnvelopeAggregate","ConvexHullAggregate"],supportedNormalizationTypes:["field","log","naturalLog","percentOfTotal","squareRoot"]}},93470:(e,t,s)=>{s.d(t,{Cb:()=>r,HW:()=>d,JR:()=>i,JZ:()=>a,WR:()=>u,b6:()=>p,fT:()=>n,nC:()=>l,yM:()=>o});const n=[252,146,31,255],i=[153,153,153,255],r={type:"esriSMS",style:"esriSMSCircle",size:6,color:n,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},o={type:"esriSLS",style:"esriSLSSolid",width:.75,color:n},u={type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},a={type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},l={type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},d={type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},p={type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null}}}]);