UNPKG

@arcgis/core

Version:

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

1 lines • 35.7 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3600],{13600:(e,t,i)=>{i.r(t),i.d(t,{default:()=>Pe});var r=i(90237),s=i(13874),o=i(78888),n=i(69540),a=i(5503),l=i(49186),u=i(4718),p=i(53966),d=i(97768),y=i(92071),c=i(93637),h=i(74887),f=i(39516),m=i(84952),b=i(10107),g=i(79901),w=i(36005),_=i(40608),v=i(43937),T=i(89317),F=i(38141),M=i(16930),S=i(4146),I=i(52106),E=i(44208),A=i(92474),Z=i(61893),j=i(29953),D=i(56507),O=(i(87811),i(7695)),C=i(5443),q=i(39829),x=i(50498),L=i(96520),P=i(58501),R=i(22671);let G=0,k=class extends(A.A.LoadableMixin(Z.A.EsriPromiseMixin(a.A))){constructor(e){super(e),this._idToClientGraphic=null,this.type="memory"}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this._startWorker(t)),Promise.resolve(this)}destroy(){this._connection?.close(),this._connection=null}get _workerGeometryType(){const e=this.layer?.geometryType;return e?this._geometryTypeRequiresClientGraphicMapping(e)?"polygon":e:null}applyEdits(e){return this.load().then((()=>this._applyEdits(e)))}openPorts(){return this.load().then((()=>this._connection.openPorts()))}async queryFeatures(e,t={}){await this.load(t);const i=await this._connection.invoke("queryFeatures",e?e.toJSON():null,t);(0,P.q)(e,this.layer.spatialReference,i);const r=R.A.fromJSON(i);if(!this._requiresClientGraphicMapping())return r;const s=this.layer.objectIdField;for(const e of r.features){const t=e.attributes[s],i=this._idToClientGraphic.get(t);i&&(e.geometry=i.geometry)}return r.geometryType=this.layer.geometryType,r}async queryFeaturesJSON(e,t={}){if(this._requiresClientGraphicMapping())throw new l.A("query-features-json:unsupported","Cannot query in JSON format for client only geometry types (mesh and extent)");await this.load(t);const i=await this._connection.invoke("queryFeatures",e?e.toJSON():null,t);return(0,P.q)(e,this.layer.spatialReference,i),i}queryFeatureCount(e,t={}){return this.load(t).then((()=>this._connection.invoke("queryFeatureCount",e?e.toJSON():null,t)))}queryObjectIds(e,t={}){return this.load(t).then((()=>this._connection.invoke("queryObjectIds",e?e.toJSON():null,t)))}queryExtent(e,t={}){return this.load(t).then((()=>this._connection.invoke("queryExtent",e?e.toJSON():null,t))).then((e=>({count:e.count,extent:C.A.fromJSON(e.extent)})))}querySnapping(e,t={}){return this.load(t).then((()=>this._connection.invoke("querySnapping",e,t)))}async queryAttributeBins(e,t={}){return await this.load(),this._connection.invoke("queryAttributeBins",e?.toJSON(),t)}async _applyEdits(e){if(!this._connection)throw new l.A("feature-layer-source:edit-failure","Memory source not loaded");const t=this.layer.objectIdField;let i=null;const r=[],s=[];await Promise.all([this._prepareClientMapping(e.addFeatures,null),this._prepareClientMapping(e.updateFeatures,null)]);const o=e=>"objectId"in e&&null!=e.objectId?e.objectId:"attributes"in e&&null!=e.attributes[t]?e.attributes[t]:null;if(e.addFeatures&&(i=this._prepareAddFeatures(e.addFeatures)),e.deleteFeatures)for(const t of e.deleteFeatures){const e=o(t);null!=e&&r.push(e)}const n=e.updateFeatures&&this._idToClientGraphic?new Map:null;if(e.updateFeatures)for(const t of e.updateFeatures)if(s.push(this._serializeFeature(t)),n){const e=o(t);null!=e&&n.set(e,t)}(0,L.u)(i?i.features:null,s,this.layer.spatialReference);const{fullExtent:a,featureEditResults:u}=await this._connection.invoke("applyEdits",{adds:i?i.features:[],updates:s,deletes:r});return this.fullExtent=a,i&&i.finish(u.uidToObjectId),this._updateClientGraphicIds(n,u),this._createEditsResult(u)}async _prepareClientMapping(e,t){if("mesh"!==this._layerOrSourceGeometryType||null==e)return;const i=[];for(const{geometry:r}of e)null==r||"mesh"!==r.type||r.hasExtent||r.loaded||i.push(r.load({signal:t}));i.length&&await Promise.all(i)}_updateClientGraphicIds(e,t){if(this._idToClientGraphic){if(e)for(const i of t.updateResults){if(!i.success)continue;const t=e.get(i.objectId);null!=t&&this._addIdToClientGraphic(t)}for(const e of t.deleteResults)e.success&&this._idToClientGraphic.delete(e.objectId)}}_createEditsResult(e){return{addFeatureResults:e.addResults?e.addResults.map(this._createFeatureEditResult,this):[],updateFeatureResults:e.updateResults?e.updateResults.map(this._createFeatureEditResult,this):[],deleteFeatureResults:e.deleteResults?e.deleteResults.map(this._createFeatureEditResult,this):[],addAttachmentResults:[],updateAttachmentResults:[],deleteAttachmentResults:[]}}_createFeatureEditResult(e){const t=!0===e.success?null:e.error||{code:void 0,description:void 0};return{objectId:e.objectId,globalId:e.globalId,error:t?new l.A("feature-layer-source:edit-failure",t.description,{code:t.code}):null}}_prepareAddFeatures(e){const t=new Map,i=new Array(e.length);let r=null;for(let s=0;s<e.length;s++){const o=e[s],n=this._serializeFeature(o);r||null==o.geometry||(r=o.geometry.type),i[s]=n,t.set(`${n.uid}`,o)}const s=this;return{features:i,inferredGeometryType:r,finish(e){const i=s.sourceJSON.objectIdField;for(const r in e){const o=e[r],n=t.get(r);n&&(n.attributes||(n.attributes={}),-1===o?delete n.attributes[i]:n.attributes[i]=o,s._addIdToClientGraphic(n))}}}}_addIdToClientGraphic(e){if(!this._idToClientGraphic)return;const t=this.sourceJSON.objectIdField,i=e.attributes?.[t];null!=i&&this._idToClientGraphic.set(i,e)}get _layerOrSourceGeometryType(){return this.layer?.geometryType??this.sourceJSON?.geometryType}_requiresClientGraphicMapping(){return this._geometryTypeRequiresClientGraphicMapping(this._layerOrSourceGeometryType)}_geometryRequiresClientGraphicMapping(e){return this._geometryTypeRequiresClientGraphicMapping(e.type)}_geometryTypeRequiresClientGraphicMapping(e){return"mesh"===e||"multipatch"===e||"extent"===e}_serializeFeature(e){const{attributes:t}=e,i=this._geometryForSerialization(e),r=(G++).toString();return i?{uid:r,geometry:i.toJSON(),attributes:t}:{uid:r,attributes:t}}_geometryForSerialization(e){const{geometry:t}=e;return null==t?null:this._geometryRequiresClientGraphicMapping(t)?t.extent?q.A.fromExtent(t.extent):null:t}async _startWorker(e){this._connection=await(0,j.ho)("MemorySourceWorker",{strategy:(0,E.A)("feature-layers-workers")?"dedicated":"local",signal:e,registryTarget:this});const{fields:t,spatialReference:i,objectIdField:r,hasM:s,hasZ:o,timeInfo:n,dateFieldsTimeZone:a}=this.layer,l="defaults"===this.layer.originOf("spatialReference");await this._prepareClientMapping(this.items,e);const u=this._prepareAddFeatures(this.items);this.addHandles(this.on("before-changes",(e=>{p.A.getLogger(this).error("Source modifications will not propagate after layer has been loaded. Please use .applyEdits() instead"),e.preventDefault()})));const d={features:u.features,fields:t?.map((e=>e.toJSON())),geometryType:x.Ye.toJSON(this._workerGeometryType),hasM:"mesh"!==this._layerOrSourceGeometryType&&s,hasZ:"mesh"===this._layerOrSourceGeometryType||o,objectIdField:r,spatialReference:l?null:i&&i.toJSON(),timeInfo:n?.toJSON()??null,dateFieldsTimeZone:a},y=await this._connection.invoke("load",d,{signal:e});for(const e of y.warnings)p.A.getLogger(this.layer).warn("#load()",`${e.message} (title: '${this.layer.title||"no title"}', id: '${this.layer.id??"no id"}')`,{warning:e});y.featureErrors.length&&p.A.getLogger(this.layer).warn("#load()",`Encountered ${y.featureErrors.length} validation errors while loading features. (title: '${this.layer.title||"no title"}', id: '${this.layer.id??"no id"}')`,{errors:y.featureErrors});const c=y.layerDefinition;this._geometryTypeRequiresClientGraphicMapping(u.inferredGeometryType)&&(c.geometryType=x.Ye.toJSON(u.inferredGeometryType)),this.sourceJSON=c,this._requiresClientGraphicMapping()&&(this._idToClientGraphic=new Map),u.finish(y.assignedObjectIds)}};(0,r._)([(0,O.u)({Type:I.A,ensureType:(0,D.dp)(I.A)})],k.prototype,"itemType",void 0),(0,r._)([(0,b.MZ)()],k.prototype,"type",void 0),(0,r._)([(0,b.MZ)({constructOnly:!0})],k.prototype,"layer",void 0),(0,r._)([(0,b.MZ)({readOnly:!0})],k.prototype,"_workerGeometryType",null),(0,r._)([(0,b.MZ)()],k.prototype,"sourceJSON",void 0),k=(0,r._)([(0,_.$)("esri.layers.graphics.sources.MemorySource")],k);var J=i(52136),N=i(18768),V=i(63074),$=i(69208),Q=i(6455),B=i(47685),z=i(87718),K=i(87796),W=i(76294),X=i(16131),H=i(32756),U=i(8303),Y=i(69622);let ee=class extends Y.A{constructor(){super(...arguments),this.updating=!1,this.status="unknown"}};(0,r._)([(0,b.MZ)()],ee.prototype,"updating",void 0),(0,r._)([(0,b.MZ)()],ee.prototype,"status",void 0),ee=(0,r._)([(0,_.$)("esri.layers.support.PublishingInfo")],ee);const te=ee,ie=Symbol(),re=e=>{var t;let i=class extends e{constructor(){super(...arguments),this[t]=!0}get publishingInfo(){if(this.destroyed)return null;const e=this._get("publishingInfo");if(e)return e;const t=new te;return this._checkPublishingStatus(t),t}_checkPublishingStatus(e){let t=0;const i=async s=>{let o;e.updating=!0;try{o=await this.fetchPublishingStatus()}catch(e){o="unavailable"}"published"!==o&&"unavailable"!==o||("publishing"===e.status&&this.refresh(),r.remove()),e.status=o,e.updating=!1,r.removed||(t=setTimeout(i,s,s+125))},r={removed:!1,remove(){this.removed=!0,clearTimeout(t)}};this.when().catch((()=>r.remove())),i(250),this.addHandles(r)}};return t=ie,(0,r._)([(0,b.MZ)({readOnly:!0,clonable:!1})],i.prototype,"publishingInfo",null),i=(0,r._)([(0,_.$)("esri.layers.mixins.PublishableLayer")],i),i};var se=i(54310),oe=i(25036),ne=i(82935),ae=i(68109),le=i(60694),ue=i(10873),pe=i(15426),de=i(29005),ye=i(33143),ce=i(17036),he=i(30524),fe=i(46499),me=i(39383),be=i(22453),ge=i(96184),we=i(17311),_e=i(91908),ve=i(27733),Te=i(65494),Fe=i(8947),Me=i(13112),Se=i(61956),Ie=i(54218),Ee=i(30291),Ae=i(33910),Ze=i(92935),je=i(78553);const De="FeatureLayer";function Oe(e,t){return new l.A("layer:unsupported",`Layer (${e.title}, ${e.id}) of type '${e.declaredClass}' ${t}`,{layer:e})}function Ce(e){return e&&e instanceof a.A}const qe=(0,ce.p)();function xe(e,t,i){const r=!!i?.writeLayerSchema;return{enabled:r,ignoreOrigin:r}}let Le=class extends((0,K.j)((0,W.J)((0,z.F)(re((0,B.w6)((0,Q.FJ)((0,V.dM)((0,H.fY)((0,ne.e)((0,ae.d)((0,oe.j)((0,se.J)((0,N.b)((0,X.q)((0,U.A)((0,y.P)((0,$.d)((0,J.p)(n.A.ClonableMixin(S.A)))))))))))))))))))){constructor(...e){super(...e),this.attributeTableTemplate=null,this.charts=null,this.copyright=null,this.displayField=null,this.dynamicDataSource=null,this.fields=null,this.fieldsIndex=null,this.formTemplate=null,this.fullExtent=null,this.geometryType=null,this.hasM=void 0,this.hasZ=void 0,this.infoFor3D=null,this.isTable=!1,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.objectIdField=null,this.operationalLayerType="ArcGISFeatureLayer",this.outFields=null,this.path=null,this.popupEnabled=!0,this.popupTemplate=null,this.resourceInfo=null,this.screenSizePerspectiveEnabled=!0,this.spatialReference=M.A.WGS84,this.subtypeCode=null,this.supportedSourceTypes=new Set(["Feature Layer","Oriented Imagery Layer","Table","Catalog Layer"]),this.templates=null,this.timeInfo=null,this.title=null,this.sublayerTitleMode="item-title",this.type="feature",this.typeIdField=null,this.types=null,this.visible=!0,this._debouncedSaveOperations=(0,h.sg)((async(e,t,r)=>{const{save:s,saveAs:o}=await i.e(3359).then(i.bind(i,33359));switch(e){case Ze.X.SAVE:return s(this,t);case Ze.X.SAVE_AS:return o(this,r,t)}}))}destroy(){this.source?.destroy()}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null;if(this.portalItem?.loaded&&this.source)return this.addResolvingPromise(this.createGraphicsSource(t).then((e=>this.initLayerProperties(e)))),Promise.resolve(this);const i=this.loadFromPortal({supportedTypes:["Feature Service","Feature Collection","Scene Service"]},e).catch(h.QP).then((async()=>{if(this.url&&null==this.layerId&&/FeatureServer|MapServer\/*$/i.test(this.url)){const e=await this._fetchFirstValidLayerId(t);null!=e&&(this.layerId=e)}if(!this.url&&!this._hasMemorySource())throw new l.A("feature-layer:missing-url-or-source","Feature layer must be created with either a url or a source");return this.initLayerProperties(await this.createGraphicsSource(t))})).then((()=>(0,pe.VA)(this,"load",e)));return this.addResolvingPromise(i),Promise.resolve(this)}get _titleCreator(){const e=this._get("_titleCreator");return(0,d.pR)(e),new we.A({fieldsIndex:this.fieldsIndex,objectIdField:this.objectIdField,fields:this.fields,displayField:this.displayField,effectivePopupTemplate:this.popupTemplate??this.defaultPopupTemplate})}readCapabilities(e,t){return t=t.layerDefinition||t,(0,be.S)(t,this.url)}get createQueryVersion(){return this.commitProperty("definitionExpression"),this.commitProperty("dynamicDataSource"),this.commitProperty("timeExtent"),this.commitProperty("timeOffset"),this.commitProperty("geometryType"),this.commitProperty("gdbVersion"),this.commitProperty("historicMoment"),this.commitProperty("returnZ"),this.commitProperty("capabilities"),this.commitProperty("returnM"),(this._get("createQueryVersion")??0)+1}get editingEnabled(){return!(this.loaded&&!this.capabilities?.operations.supportsEditing)&&(this._isOverridden("editingEnabled")?this._get("editingEnabled"):this._hasMemorySource()||this.userHasEditingPrivileges)}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}readEditingEnabled(e,t){return this._readEditingEnabled(t,!1)}readEditingEnabledFromWebMap(e,t,i){return this._readEditingEnabled(t,!0,i)}writeEditingEnabled(e,t){this._writeEditingEnabled(e,t,!1)}writeEditingEnabledToWebMap(e,t,i,r){this._writeEditingEnabled(e,t,!0,r)}get effectiveEditingEnabled(){return(0,pe.C$)(this)}get featureTitleFields(){return[...this._titleCreator.requiredFields]}readIsTable(e,t){return"Table"===(t=t?.layerDefinition??t).type||!t.geometryType}writeIsTable(e,t,i,r){r?.writeLayerSchema&&(0,c.sM)(i,e?"Table":"Feature Layer",t)}readGlobalIdField(e,t){return(0,pe.jD)(t.layerDefinition||t)}readObjectIdField(e,t){return(0,pe.Zm)(t.layerDefinition||t)}get parsedUrl(){const e=(0,m.An)(this.url);return null!=e&&(null!=this.dynamicDataSource?e.path=(0,m.fj)(e.path,"dynamicLayer"):null!=this.layerId&&(e.path=(0,m.fj)(e.path,this.layerId.toString()))),e}get defaultPopupTemplate(){return this.createPopupTemplate()}set renderer(e){(0,he.yp)(e,this.fieldsIndex),this._set("renderer",e)}readRenderer(e,t,i){t=t.layerDefinition||t;const r=t.drawingInfo?.renderer;if(r){const e=(0,Te.L)(r,t,i)??void 0;return e||p.A.getLogger(this).error("Failed to create renderer",{rendererDefinition:t.drawingInfo.renderer,layer:this,context:i}),e}return(0,pe.PD)(t,i)}set source(e){const t=this._get("source");t!==e&&(Ce(t)&&this._resetMemorySource(t),Ce(e)&&this._initMemorySource(e),this._set("source",e))}castSource(e){return e?Array.isArray(e)||e instanceof a.A?new k({layer:this,items:e}):e:null}readSource(e,t){const i=R.A.fromJSON(t.featureSet);return new k({layer:this,items:i?.features??[]})}readTemplates(e,t){const i=t.editFieldsInfo,r=i?.creatorField,s=i?.editorField;return e=e?.map((e=>de.A.fromJSON(e))),this._fixTemplates(e,r),this._fixTemplates(e,s),e}readTitle(e,t){const i=t.layerDefinition?.name??t.name,r=t.title||t.layerDefinition?.title;if(i){const e=this.portalItem?.title;if("item-title"===this.sublayerTitleMode)return this.url?(0,le.yG)(this.url,i):i;let t=i;if(!t&&this.url){const e=(0,le.qg)(this.url);null!=e&&(t=e.title)}if(!t)return;return"item-title-and-service-name"===this.sublayerTitleMode&&e&&e!==t&&(t=e+" - "+t),(0,le.cr)(t)}if("item-title"===this.sublayerTitleMode&&r)return r}readTitleFromWebMap(e,t){return t.title||t.layerDefinition?.name}readTypeIdField(e,t){let i=(t=t.layerDefinition||t).typeIdField;if(i&&t.fields){i=i.toLowerCase();const e=t.fields.find((e=>e.name.toLowerCase()===i));e&&(i=e.name)}return i}readTypes(e,t){e=(t=t.layerDefinition||t).types;const i=t.editFieldsInfo,r=i?.creatorField,s=i?.editorField;return e?.map((e=>(e=ye.A.fromJSON(e),this._fixTemplates(e.templates,r),this._fixTemplates(e.templates,s),e)))}readVisible(e,t){return null!=t.layerDefinition?.defaultVisibility?!!t.layerDefinition.defaultVisibility:null!=t.visibility?!!t.visibility:void 0}async addAttachment(e,t){const i=await(0,pe.Xl)(this,e,t,De);return this.lastEditsEventDate=new Date,i}async updateAttachment(e,t,i){const r=await(0,pe.bt)(this,e,t,i,De);return this.lastEditsEventDate=new Date,r}async applyEdits(e,t){return(0,pe.ct)(this,e,t)}async uploadAssets(e,t){return(0,pe.rn)(this,e,t)}on(e,t){return super.on(e,t)}createPopupTemplate(e){return(0,Ee.tn)(this,e)}async createGraphicsSource(e){if(this._hasMemorySource()&&this.source)return this.source.load({signal:e});const{default:t}=await(0,h.qr)(Promise.all([i.e(364),i.e(8628),i.e(2593)]).then(i.bind(i,72593)),e);return new t({layer:this,supportedSourceTypes:this.supportedSourceTypes}).load({signal:e})}createQuery(){const e=(0,pe.VZ)(this);e.dynamicDataSource=this.dynamicDataSource;const t=null!=this.subtypeCode?`${this.subtypeField} = ${this.subtypeCode}`:null,i=(0,f.mA)(this.definitionExpression,t);return e.where=i||"1=1",e}async deleteAttachments(e,t){const i=await(0,pe.mm)(this,e,t,De);return this.lastEditsEventDate=new Date,i}async fetchRecomputedExtents(e){return(0,pe.WP)(this,e,De)}getFeatureTitle(e,t={timeZone:"system",fetchMissingFields:!1}){return this._titleCreator.getTitle(this,e,t)}getFeatureType(e){return(0,pe.xd)(this.types,this.typeIdField,e)}getFieldDomain(e,t){return(0,pe.Vq)(this,e,t,this.getField(e)?.domain??null)}async queryAttachments(e,t){return(0,pe.lV)(this,e,t,De)}async queryFeatures(e,t){const i=await this.load(),r=await i.source.queryFeatures(Se.A.from(e)??i.createQuery(),t);if(r?.features)for(const e of r.features)e.layer=e.sourceLayer=i;return r}async queryObjectIds(e,t){return(await(0,pe.sg)(this,e,t,De)).filter(Ie.Et)}async queryFeatureCount(e,t){return(0,pe.Ye)(this,e,t,De)}async queryExtent(e,t){return(0,pe.B5)(this,e,t,De)}async queryRelatedFeatures(e,t){return(0,pe.hM)(this,e,t,De)}async queryRelatedFeaturesCount(e,t){return(0,pe.S2)(this,e,t,De)}async queryTopFeatures(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryTopFeatures||!s?.query?.supportsTopFeaturesQuery)throw new l.A(De,"Layer source does not support queryTopFeatures capability");const o=await i.e(7561).then(i.bind(i,57561)),n=await r.queryTopFeatures(o.default.from(e),t);if(n?.features)for(const e of n.features)e.layer=e.sourceLayer=this;return n}async queryAttributeBins(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryAttributeBins||!s?.operations?.supportsQueryBins)throw new l.A(De,"Layer source does not support queryAttributeBins capability");(0,pe.ZJ)(e,s,De);const o=await Promise.all([i.e(4575),i.e(7136)]).then(i.bind(i,14575)),n=await r.queryAttributeBins(o.default.from(e),t);if(n.features)for(const e of n.features)e.layer=e.sourceLayer=this;return n}async queryTopObjectIds(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryTopObjectIds||!s?.query.supportsTopFeaturesQuery)throw new l.A(De,"Layer source does not support queryTopObjectIds capability");const o=await i.e(7561).then(i.bind(i,57561));return(await r.queryTopObjectIds(o.default.from(e),t)).filter(Ie.Et)}async queryTopFeaturesExtent(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryTopExtents||!s?.query?.supportsTopFeaturesQuery)throw new l.A(De,"Layer source does not support queryTopExtents capability");const o=await i.e(7561).then(i.bind(i,57561));return r.queryTopExtents(o.default.from(e),t)}async queryTopFeatureCount(e,t){const{source:r,capabilities:s}=await this.load();if(!r.queryTopCount||!s?.query?.supportsTopFeaturesQuery)throw new l.A(De,"Layer source does not support queryFeatureCount capability");const o=await i.e(7561).then(i.bind(i,57561));return r.queryTopCount(o.default.from(e),t)}read(e,t){const i=e.featureCollection;if((i||"Feature Collection"===e.type)&&(this.resourceInfo=e),i){const e=i.layers;e&&1===e.length&&(super.read(e[0],t),null!=i.showLegend&&super.read({showLegend:i.showLegend},t))}super.read(e,t),t&&"service"===t.origin&&(this.revert(["objectIdField","fields","timeInfo","dateFieldsTimeZone"],"service"),this.spatialReference||this.revert(["spatialReference"],"service"))}write(e,t){t={...t,origin:t?.origin??void 0,writeLayerSchema:t?.writeLayerSchema??this._hasMemorySource()};const{origin:i,layerContainerType:r,messages:s}=t;if(this.dynamicDataSource)return s?.push(Oe(this,"using a dynamic data source cannot be written to web scenes, web maps and feature service items")),null;if(this.isTable){if(("web-map"===i||"web-scene"===i)&&"tables"!==r)return s?.push(Oe(this,`a table source can only be written to tables, not ${r}`)),null;if(this._hasMemorySource())return s?.push(Oe(this,"using an in-memory table source cannot be written to web scenes and web maps")),null}else if(this.loaded&&("web-map"===i||"web-scene"===i)&&"tables"===r)return s?.push(Oe(this,"using a non-table source cannot be written to tables in web maps or web scenes")),null;return super.write(e,t)}clone(){if(this._hasMemorySource())throw new l.A(De,`FeatureLayer (title: ${this.title}, id: ${this.id}) created using in-memory source cannot be cloned`);return super.clone()}serviceSupportsSpatialReference(e){return!!this.loaded&&("memory"===this.source?.type||(0,_e.D)(this,e))}async save(e){return this._debouncedSaveOperations(Ze.X.SAVE,e)}async saveAs(e,t){return this._debouncedSaveOperations(Ze.X.SAVE_AS,t,e)}_readEditingEnabled(e,t,i){let r=e.layerDefinition?.capabilities;return r?this._hasEditingCapability(r):(r=e.capabilities,t&&"web-map"===i?.origin&&!this._hasMemorySource()&&r?this._hasEditingCapability(r):void 0)}_hasEditingCapability(e){return e.toLowerCase().split(",").map((e=>e.trim())).includes("editing")}_writeEditingEnabled(e,t,i,r){if(!e){const e=this.capabilities?.operations?.supportsSync?"Query,Sync":"Query";(0,c.sM)("layerDefinition.capabilities",e,t),i&&!r?.writeLayerSchema&&(t.capabilities=e)}}_fetchFirstValidLayerId(e){return(0,o.A)(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then((e=>{const t=e.data;if(t)return this.findFirstValidLayerId(t)}))}async initLayerProperties(e){return this._set("source",e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),this._verifySource(),this._verifyFields(),(0,he.yp)(this.renderer,this.fieldsIndex),(0,he.sv)(this.timeInfo,this.fieldsIndex),this._hasMemorySource()&&"mesh"===this.geometryType&&(this.capabilities.query.supportsReturnMesh=!0),(0,Fe.L)(this,{origin:"service"})}async hasDataChanged(){return(0,pe.jp)(this)}async fetchPublishingStatus(){const e=this.source;return e?.fetchPublishingStatus?e.fetchPublishingStatus():"unavailable"}_verifyFields(){const e=this.parsedUrl?.path??"undefined";this.objectIdField||console.log("FeatureLayer: 'objectIdField' property is not defined (url: "+e+")"),this.isTable||this._hasMemorySource()||-1!==e.search(/\/FeatureServer\//i)||this.fields?.some((e=>"geometry"===e.type))||console.log("FeatureLayer: unable to find field of type 'geometry' in the layer 'fields' list. If you are using a map service layer, features will not have geometry (url: "+e+")")}_fixTemplates(e,t){e&&e.forEach((e=>{const i=e.prototype?.attributes;i&&t&&delete i[t]}))}_verifySource(){if(this._hasMemorySource()){if(this.url)throw new l.A("feature-layer:mixed-source-and-url","FeatureLayer cannot be created with both an in-memory source and a url")}else if(!this.url)throw new l.A("feature-layer:source-or-url-required","FeatureLayer requires either a url, a valid portal item or a source")}_initMemorySource(e){e.forEach((e=>{e.layer=this,e.sourceLayer=this})),this.addHandles([e.on("after-add",(e=>{e.item.layer=this,e.item.sourceLayer=this})),e.on("after-remove",(e=>{e.item.layer=null,e.item.sourceLayer=null}))],"fl-source")}_resetMemorySource(e){e.forEach((e=>{e.layer=null,e.sourceLayer=null})),this.removeHandles("fl-source")}_hasMemorySource(){return!(this.url||!this.source)}findFirstValidLayerId(e){return Array.isArray(e.layers)&&e.layers.length>0?e.layers[0].id:Array.isArray(e.tables)&&e.tables.length>0?e.tables[0].id:void 0}};(0,r._)([(0,b.MZ)({clonable:!1,readOnly:!0})],Le.prototype,"_titleCreator",null),(0,r._)([(0,b.MZ)(ue.zQ)],Le.prototype,"attributeTableTemplate",void 0),(0,r._)([(0,w.w)("service","capabilities")],Le.prototype,"readCapabilities",null),(0,r._)([(0,b.MZ)({json:{origins:{"web-scene":{write:!1}},write:!0}})],Le.prototype,"charts",void 0),(0,r._)([(0,b.MZ)({readOnly:!0})],Le.prototype,"createQueryVersion",null),(0,r._)([(0,b.MZ)({json:{read:{source:"layerDefinition.copyrightText"}}})],Le.prototype,"copyright",void 0),(0,r._)([(0,b.MZ)({json:{read:{source:"layerDefinition.displayField"}}})],Le.prototype,"displayField",void 0),(0,r._)([(0,b.MZ)({types:Ae.Es,readOnly:!0})],Le.prototype,"defaultSymbol",void 0),(0,r._)([(0,b.MZ)({type:ve.L})],Le.prototype,"dynamicDataSource",void 0),(0,r._)([(0,b.MZ)({type:Boolean})],Le.prototype,"editingEnabled",null),(0,r._)([(0,w.w)(["portal-item","web-scene"],"editingEnabled",["layerDefinition.capabilities"])],Le.prototype,"readEditingEnabled",null),(0,r._)([(0,w.w)("web-map","editingEnabled",["capabilities","layerDefinition.capabilities"])],Le.prototype,"readEditingEnabledFromWebMap",null),(0,r._)([(0,v.K)(["portal-item","web-scene"],"editingEnabled",{"layerDefinition.capabilities":{type:String}})],Le.prototype,"writeEditingEnabled",null),(0,r._)([(0,v.K)("web-map","editingEnabled",{capabilities:{type:String},"layerDefinition.capabilities":{type:String}})],Le.prototype,"writeEditingEnabledToWebMap",null),(0,r._)([(0,b.MZ)({readOnly:!0})],Le.prototype,"effectiveEditingEnabled",null),(0,r._)([(0,b.MZ)({clonable:!1,readOnly:!0})],Le.prototype,"featureTitleFields",null),(0,r._)([(0,b.MZ)({...qe.fields,json:{read:{source:"layerDefinition.fields"},origins:{service:{name:"fields"},"web-map":{write:{target:"layerDefinition.fields",overridePolicy:xe}}}}})],Le.prototype,"fields",void 0),(0,r._)([(0,b.MZ)(qe.fieldsIndex)],Le.prototype,"fieldsIndex",void 0),(0,r._)([(0,b.MZ)({type:F.A,json:{name:"formInfo",write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],Le.prototype,"formTemplate",void 0),(0,r._)([(0,b.MZ)({json:{read:{source:"layerDefinition.extent"}}})],Le.prototype,"fullExtent",void 0),(0,r._)([(0,b.MZ)({json:{origins:{"web-map":{write:{target:"layerDefinition.geometryType",overridePolicy:xe,writer(e,t,i){const r=e?pe.iX.toJSON(e):null;r&&(0,c.sM)(i,r,t)}}}},read:{source:"layerDefinition.geometryType",reader:pe.iX.read}}})],Le.prototype,"geometryType",void 0),(0,r._)([(0,b.MZ)({json:{read:{source:"layerDefinition.hasM"}}})],Le.prototype,"hasM",void 0),(0,r._)([(0,b.MZ)({json:{read:{source:"layerDefinition.hasZ"}}})],Le.prototype,"hasZ",void 0),(0,r._)([(0,b.MZ)(ue.id)],Le.prototype,"id",void 0),(0,r._)([(0,b.MZ)({readOnly:!0,json:{origins:{service:{read:!0}},read:!1}})],Le.prototype,"infoFor3D",void 0),(0,r._)([(0,b.MZ)({json:{origins:{"web-map":{write:{target:"layerDefinition.type"}}}}})],Le.prototype,"isTable",void 0),(0,r._)([(0,w.w)("service","isTable",["type","geometryType"]),(0,w.w)("isTable",["layerDefinition.type","layerDefinition.geometryType"])],Le.prototype,"readIsTable",null),(0,r._)([(0,v.K)("web-map","isTable")],Le.prototype,"writeIsTable",null),(0,r._)([(0,b.MZ)(ue.kF)],Le.prototype,"labelsVisible",void 0),(0,r._)([(0,b.MZ)({type:[fe.A],json:{origins:{service:{name:"drawingInfo.labelingInfo",read:me.w,write:!1},"web-scene":{name:"layerDefinition.drawingInfo.labelingInfo",read:me.w,write:{enabled:!0,layerContainerTypes:T.K}}},name:"layerDefinition.drawingInfo.labelingInfo",read:me.w,write:!0}})],Le.prototype,"labelingInfo",void 0),(0,r._)([(0,b.MZ)((()=>{const e=(0,u.o8)(ue.Ih);return e.json.origins["portal-item"]={write:{target:"layerDefinition.drawingInfo.transparency",writer(e,t,i){(0,c.sM)(i,(0,je.p)(e),t)}}},e})())],Le.prototype,"opacity",void 0),(0,r._)([(0,b.MZ)(ue.fV)],Le.prototype,"legendEnabled",void 0),(0,r._)([(0,b.MZ)({type:["show","hide"],json:(()=>{const e=(0,u.o8)(ue.C1.json);return e.origins["portal-item"]={read:!1,write:!1},e})()})],Le.prototype,"listMode",void 0),(0,r._)([(0,w.w)("globalIdField",["layerDefinition.globalIdField","layerDefinition.fields"])],Le.prototype,"readGlobalIdField",null),(0,r._)([(0,b.MZ)({json:{origins:{"web-map":{write:{target:"layerDefinition.objectIdField",overridePolicy:xe}}}}})],Le.prototype,"objectIdField",void 0),(0,r._)([(0,w.w)("objectIdField",["layerDefinition.objectIdField","layerDefinition.fields"])],Le.prototype,"readObjectIdField",null),(0,r._)([(0,b.MZ)({type:["ArcGISFeatureLayer"],json:{write:{target:"layerType",ignoreOrigin:!0,layerContainerTypes:T.K}}})],Le.prototype,"operationalLayerType",void 0),(0,r._)([(0,b.MZ)(qe.outFields)],Le.prototype,"outFields",void 0),(0,r._)([(0,b.MZ)({readOnly:!0})],Le.prototype,"parsedUrl",null),(0,r._)([(0,b.MZ)({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],Le.prototype,"path",void 0),(0,r._)([(0,b.MZ)(ue.M6)],Le.prototype,"popupEnabled",void 0),(0,r._)([(0,b.MZ)({type:s.A,json:{name:"popupInfo",write:!0}})],Le.prototype,"popupTemplate",void 0),(0,r._)([(0,b.MZ)({readOnly:!0})],Le.prototype,"defaultPopupTemplate",null),(0,r._)([(0,b.MZ)({types:Me.Hg,json:{origins:{service:{write:{target:"drawingInfo.renderer",enabled:!1}},"web-scene":{types:Me.XJ,name:"layerDefinition.drawingInfo.renderer",write:{layerContainerTypes:T.K,overridePolicy:(e,t,i)=>({ignoreOrigin:i?.writeLayerSchema})}}},write:{target:"layerDefinition.drawingInfo.renderer",overridePolicy:(e,t,i)=>({ignoreOrigin:i?.writeLayerSchema})}}})],Le.prototype,"renderer",null),(0,r._)([(0,w.w)("service","renderer",["drawingInfo.renderer","defaultSymbol"]),(0,w.w)("renderer",["layerDefinition.drawingInfo.renderer","layerDefinition.defaultSymbol"])],Le.prototype,"readRenderer",null),(0,r._)([(0,b.MZ)()],Le.prototype,"resourceInfo",void 0),(0,r._)([(0,b.MZ)((()=>{const e=(0,u.o8)(ue.PY);return e.json.origins["portal-item"]={read:!1,write:!1},e})())],Le.prototype,"screenSizePerspectiveEnabled",void 0),(0,r._)([(0,b.MZ)({clonable:!1})],Le.prototype,"source",null),(0,r._)([(0,g.w)("source")],Le.prototype,"castSource",null),(0,r._)([(0,w.w)("portal-item","source",["featureSet"]),(0,w.w)("web-map","source",["featureSet"])],Le.prototype,"readSource",null),(0,r._)([(0,b.MZ)({json:{read:{source:"layerDefinition.extent.spatialReference"}}})],Le.prototype,"spatialReference",void 0),(0,r._)([(0,b.MZ)({type:Number})],Le.prototype,"subtypeCode",void 0),(0,r._)([(0,b.MZ)({type:[de.A]})],Le.prototype,"templates",void 0),(0,r._)([(0,w.w)("templates",["editFieldsInfo","creatorField","editorField","templates"])],Le.prototype,"readTemplates",null),(0,r._)([(0,b.MZ)({type:ge.A})],Le.prototype,"timeInfo",void 0),(0,r._)([(0,b.MZ)()],Le.prototype,"title",void 0),(0,r._)([(0,w.w)("service","title",["name"]),(0,w.w)("portal-item","title",["layerDefinition.title","layerDefinition.name","title"])],Le.prototype,"readTitle",null),(0,r._)([(0,w.w)("web-map","title",["layerDefinition.name","title"])],Le.prototype,"readTitleFromWebMap",null),(0,r._)([(0,b.MZ)({type:String})],Le.prototype,"sublayerTitleMode",void 0),(0,r._)([(0,b.MZ)({json:{read:!1}})],Le.prototype,"type",void 0),(0,r._)([(0,b.MZ)({type:String})],Le.prototype,"typeIdField",void 0),(0,r._)([(0,w.w)("service","typeIdField"),(0,w.w)("typeIdField",["layerDefinition.typeIdField"])],Le.prototype,"readTypeIdField",null),(0,r._)([(0,b.MZ)({type:[ye.A]})],Le.prototype,"types",void 0),(0,r._)([(0,w.w)("service","types",["types"]),(0,w.w)("types",["layerDefinition.types"])],Le.prototype,"readTypes",null),(0,r._)([(0,b.MZ)({type:Boolean,json:{origins:{"portal-item":{write:{target:"layerDefinition.defaultVisibility"}}}}})],Le.prototype,"visible",void 0),(0,r._)([(0,w.w)("portal-item","visible",["visibility","layerDefinition.defaultVisibility"])],Le.prototype,"readVisible",null),Le=(0,r._)([(0,_.$)("esri.layers.FeatureLayer")],Le);const Pe=Le},68109:(e,t,i)=>{i.d(t,{d:()=>T});var r=i(90237),s=i(10107),o=(i(44208),i(53966),i(87811),i(40608)),n=i(13874),a=i(69540),l=i(25482),u=i(93637),p=i(43937),d=i(50820),y=i(10873),c=i(46499),h=i(13112);let f=class extends(a.A.ClonableMixin(l.A)){constructor(e){super(e),this.labelingInfo=null,this.labelsVisible=!0,this.renderer=null,this.visible=!0}};(0,r._)([(0,s.MZ)({type:[c.A],json:{write:!0}})],f.prototype,"labelingInfo",void 0),(0,r._)([(0,s.MZ)(y.kF)],f.prototype,"labelsVisible",void 0),(0,r._)([(0,s.MZ)({types:h.Hg,json:{write:!0}})],f.prototype,"renderer",void 0),(0,r._)([(0,s.MZ)({type:Boolean,json:{write:!0}})],f.prototype,"visible",void 0),f=(0,r._)([(0,o.$)("esri.layers.support.TrackPartInfo")],f);const m=f;var b=i(96576),g=i(59868),w=i(10184);let _=class extends(a.A.ClonableMixin(l.A)){constructor(e){super(e),this.enabled=!0,this.fields=[],this.latestObservations=new m({renderer:new b.A({symbol:g.UK.clone()})}),this.maxDisplayDuration=null,this.maxDisplayObservationsPerTrack=0,this.popupEnabled=!0,this.popupTemplate=null,this.previousObservations=new m({renderer:new b.A({symbol:g.UK.clone()})}),this.trackLines=new m({renderer:new b.A({symbol:g.A7.clone()})}),this.timeField="startTimeField"}writeFields(e,t,i){const r=e.filter((e=>"avg_angle"!==e.statisticType)).map((e=>e.toJSON()));(0,u.sM)(i,r,t)}};(0,r._)([(0,s.MZ)({type:Boolean,json:{write:!0}})],_.prototype,"enabled",void 0),(0,r._)([(0,s.MZ)({type:[d.A],json:{write:!0}})],_.prototype,"fields",void 0),(0,r._)([(0,p.K)("fields")],_.prototype,"writeFields",null),(0,r._)([(0,s.MZ)({type:m,json:{write:!0}})],_.prototype,"latestObservations",void 0),(0,r._)([(0,s.MZ)({type:w.A,json:{write:!0}})],_.prototype,"maxDisplayDuration",void 0),(0,r._)([(0,s.MZ)({type:Number,json:{write:!0}})],_.prototype,"maxDisplayObservationsPerTrack",void 0),(0,r._)([(0,s.MZ)(y.M6)],_.prototype,"popupEnabled",void 0),(0,r._)([(0,s.MZ)({type:n.A,json:{name:"popupInfo",write:!0}})],_.prototype,"popupTemplate",void 0),(0,r._)([(0,s.MZ)({type:m,json:{write:!0}})],_.prototype,"previousObservations",void 0),(0,r._)([(0,s.MZ)({type:m,json:{write:!0}})],_.prototype,"trackLines",void 0),(0,r._)([(0,s.MZ)({type:["timeReceived","startTimeField","endTimeField"],json:{read:!0,write:!0}})],_.prototype,"timeField",void 0),_=(0,r._)([(0,o.$)("esri.layers.support.TrackInfo")],_);const v=_,T=e=>{let t=class extends e{constructor(){super(...arguments),this.trackInfo=null}};return(0,r._)([(0,s.MZ)({type:v})],t.prototype,"trackInfo",void 0),t=(0,r._)([(0,o.$)("esri.layers.mixins.TrackableLayer")],t),t}},8947:(e,t,i)=>{i.d(t,{L:()=>n});var r=i(60999),s=i(74887),o=i(67076);async function n(e,t,i){const n=e&&e.getAtOrigin&&e.getAtOrigin("renderer",t.origin);if(n&&"unique-value"===n.type&&n.styleOrigin){const a=await(0,r.Ke)(n.populateFromStyle());if((0,s.Te)(i),!1===a.ok){const i=a.error;t?.messages&&t.messages.push(new o.A("renderer:style-reference",`Failed to create unique value renderer from style reference: ${i.message}`,{error:i,context:t})),e.clear("renderer",t?.origin)}}}},96520:(e,t,i)=>{i.d(t,{u:()=>n});var r=i(83047),s=i(21325);function o(e,t,i){if(null==e.hasM||e.hasZ)for(const e of t)for(const t of e)t.length>2&&(t[2]*=i)}function n(e,t,i){if(!e&&!t||!i)return;const s=(0,r.G9)(i);a(e,i,s),a(t,i,s)}function a(e,t,i){if(e)for(const r of e)l(r.geometry,t,i)}function l(e,t,i){if(!e?.spatialReference||(0,s.aI)(e.spatialReference,t))return;const n=(0,r.G9)(e.spatialReference)/i;if(1!==n)if("x"in e)null!=e.z&&(e.z*=n);else if("rings"in e)o(e,e.rings,n);else if("paths"in e)o(e,e.paths,n);else if("points"in e&&(null==e.hasM||e.hasZ))for(const t of e.points)t.length>2&&(t[2]*=n)}}}]);