@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
3 lines (2 loc) • 26.6 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */
import{__decorate as e}from"tslib";import t from"../PopupTemplate.js";import r from"../request.js";import{ClonableMixin as i}from"../core/Clonable.js";import o from"../core/Collection.js";import s from"../core/Error.js";import{clone as a}from"../core/lang.js";import n from"../core/Logger.js";import{destroyMaybe as l}from"../core/maybe.js";import{MultiOriginJSONSupportMixin as p}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as u}from"../core/object.js";import{debounce as d,throwIfAbortError as y,whenOrAbort as c}from"../core/promiseUtils.js";import{sqlAnd as m}from"../core/sql.js";import{property as f,subclass as h}from"../core/accessorSupport/decorators.js";import{excludeTables as b}from"../core/accessorSupport/layerContainerType.js";import g from"../form/FormTemplate.js";import w from"../geometry/SpatialReference.js";import v from"../graphic/FeatureGraphicOrigin.js";import T from"./Layer.js";import{MemorySource as F}from"./graphics/sources/MemorySource.js";import{APIKeyMixin as j}from"./mixins/APIKeyMixin.js";import{ArcGISService as S}from"./mixins/ArcGISService.js";import{BlendLayer as I}from"./mixins/BlendLayer.js";import{CustomParametersMixin as E}from"./mixins/CustomParametersMixin.js";import{DisplayFilteredLayer as L}from"./mixins/DisplayFilteredLayer.js";import{EditBusLayer as D}from"./mixins/EditBusLayer.js";import{FeatureEffectLayer as _}from"./mixins/FeatureEffectLayer.js";import{FeatureLayerBase as C}from"./mixins/FeatureLayerBase.js";import{FeatureReductionLayer as P}from"./mixins/FeatureReductionLayer.js";import{OperationalLayer as x}from"./mixins/OperationalLayer.js";import{OrderedLayer as O}from"./mixins/OrderedLayer.js";import{PortalLayer as q}from"./mixins/PortalLayer.js";import{PublishableLayer as M}from"./mixins/PublishableLayer.js";import{RefreshableLayer as A}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as Q}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as R}from"./mixins/TemporalLayer.js";import{TrackableLayer as U}from"./mixins/TrackableLayer.js";import{titleFromUrlAndName as V,parse as N,cleanTitle as B}from"./support/arcgisLayerUrl.js";import{attributeTableTemplate as G,id as J,labelsVisible as W,opacityDrawingInfo as Z,legendEnabled as $,listMode as H,popupEnabled as z,screenSizePerspectiveEnabled as k}from"./support/commonProperties.js";import{ensureLayerCredential as K,computeEffectiveEditingEnabled as X,readGlobalIdField as Y,readObjectIdField as ee,createDefaultRenderer as te,addAttachment as re,updateAttachment as ie,applyEdits as oe,uploadAssets as se,createQuery as ae,deleteAttachments as ne,fetchRecomputedExtents as le,getFeatureType as pe,getFieldDomain as ue,queryAttachments as de,queryObjectIds as ye,queryFeatureCount as ce,queryExtent as me,queryRelatedFeatures as fe,queryRelatedFeaturesCount as he,validateBinsQuery as be,hasDataChanged as ge,geometryTypeKebabDict as we}from"./support/featureLayerUtils.js";import ve from"./support/FeatureTemplate.js";import Te from"./support/FeatureType.js";import Fe from"./support/FieldConfiguration.js";import{popupTemplateWithFieldConfigurations as je,fieldConfigurationsFromPopupTemplate as Se,fieldConfigurationsFromFields as Ie}from"./support/fieldConfigUtils.js";import{defineFieldProperties as Ee}from"./support/fieldProperties.js";import{fixRendererFields as Le,fixTimeInfoFields as De}from"./support/fieldUtils.js";import _e from"./support/LabelClass.js";import{reader as Ce}from"./support/labelingInfo.js";import{getFeatureLayerCapabilities as Pe}from"./support/serviceCapabilitiesUtils.js";import xe from"./support/TimeInfo.js";import Oe from"./support/TitleCreator.js";import{serviceSupportsSpatialReference as qe}from"./support/versionUtils.js";import{read as Me}from"../renderers/support/jsonUtils.js";import{loadStyleRenderer as Ae}from"../renderers/support/styleUtils.js";import{webSceneRendererTypes as Qe,rendererTypes as Re}from"../renderers/support/typeUtils.js";import Ue from"../rest/layerSources/DynamicDataLayer.js";import Ve from"../rest/support/FeatureSet.js";import Ne from"../rest/support/Query.js";import{isNumber as Be}from"../support/guards.js";import{createPopupTemplate as Ge}from"../support/popupUtils.js";import{symbolTypes as Je}from"../symbols/support/typeUtils.js";import{opacityToTransparency as We}from"../webdoc/support/opacityUtils.js";import{addLayerUnsupportedError as Ze}from"../webdoc/support/unsupportedErrors.js";import{reader as $e}from"../core/accessorSupport/decorators/reader.js";import{writer as He}from"../core/accessorSupport/decorators/writer.js";const ze="FeatureLayer";function ke(e){return e&&e instanceof o}const Ke=Ee();function Xe(e,t,r){const i=!!r?.writeLayerSchema;return{enabled:i,ignoreOrigin:i}}let Ye=class extends(C(P(_(M(D(L(I(O(R(U(Q(A(S(x(q(p(E(j(i(T)))))))))))))))))))){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.graphicOrigin=new v(this),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=w.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=d(async(e,t,r)=>{const{save:i,saveAs:o}=await import("./save/featureLayerUtils.js");switch(e){case 0:return i(this,t);case 1: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 r=this.loadFromPortal({supportedTypes:["Feature Service","Feature Collection","Scene Service"]},e).catch(y).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 s("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(()=>K(this,"load",e));return this.addResolvingPromise(r),Promise.resolve(this)}get _titleCreator(){const e=this._get("_titleCreator");return l(e),new Oe({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,Pe(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,r){return this._readEditingEnabled(t,!0,r)}writeEditingEnabled(e,t){this._writeEditingEnabled(e,t,!1)}writeEditingEnabledToWebMap(e,t,r,i){this._writeEditingEnabled(e,t,!0,i)}get effectiveEditingEnabled(){return X(this)}get featureTitleFields(){return[...this._titleCreator.requiredFields]}set fieldConfigurations(e){if(this._hasMemorySource())return;if(this._override("fieldConfigurations",e),!this.loaded)return;const t=je(this,e);t&&this._set("popupTemplate",t)}get fieldConfigurations(){if(!this._hasMemorySource())return this._isOverridden("fieldConfigurations")?this._get("fieldConfigurations"):Se(this)||null}readIsTable(e,t){return"Table"===(t=t?.layerDefinition??t).type||!t.geometryType}writeIsTable(e,t,r,i){i?.writeLayerSchema&&u(r,e?"Table":"Feature Layer",t)}readGlobalIdField(e,t){return Y(t.layerDefinition||t)}readObjectIdField(e,t){return ee(t.layerDefinition||t)}writePopupTemplate(e,t,r,i){e&&(t[r]=e.toJSON({...i,writeFieldFormat:!i?.writeLayerSchema}))}get defaultPopupTemplate(){return this.createPopupTemplate()}set renderer(e){Le(e,this.fieldsIndex),this._set("renderer",e)}readRenderer(e,t,r){t=t.layerDefinition||t;const i=t.drawingInfo?.renderer;if(i){const e=Me(i,t,r)??void 0;return e||n.getLogger(this).error("Failed to create renderer",{rendererDefinition:t.drawingInfo.renderer,layer:this,context:r}),e}return te(t,r)}get source(){return this._get("source")}set source(e){e||(e=null);const t=this._get("source");t!==e&&((Array.isArray(e)||e instanceof o)&&(e=new F({layer:this,items:e})),ke(t)&&this._resetMemorySource(t),ke(e)&&this._initMemorySource(e),this._set("source",e))}readSource(e,t){const r=Ve.fromJSON(t.featureSet);return new F({layer:this,items:r?.features??[]})}readTemplates(e,t){const r=t.editFieldsInfo,i=r?.creatorField,o=r?.editorField;return e=e?.map(e=>ve.fromJSON(e)),this._fixTemplates(e,i),this._fixTemplates(e,o),e}readTitle(e,t){const r=t.layerDefinition?.name??t.name,i=t.title||t.layerDefinition?.title;if(r){if("item-title"===this.sublayerTitleMode)return this.url?V(this.url,r):r;let e=r;if(!e&&this.url){const t=N(this.url);null!=t&&(e=t.title)}if(!e)return;const t=this.portalItem?.title;return"item-title-and-service-name"===this.sublayerTitleMode&&t&&t!==e&&(e=t+" - "+e),B(e)}if("item-title"===this.sublayerTitleMode&&i)return i}readTitleFromWebMap(e,t){return t.title||t.layerDefinition?.name}readTypeIdField(e,t){let r=(t=t.layerDefinition||t).typeIdField;if(r&&t.fields){r=r.toLowerCase();const e=t.fields.find(e=>e.name.toLowerCase()===r);e&&(r=e.name)}return r}readTypes(e,t){e=(t=t.layerDefinition||t).types;const r=t.editFieldsInfo,i=r?.creatorField,o=r?.editorField;return e?.map(e=>(e=Te.fromJSON(e),this._fixTemplates(e.templates,i),this._fixTemplates(e.templates,o),e))}readVisible(e,t){return null!=t.layerDefinition?.defaultVisibility?!!t.layerDefinition.defaultVisibility:null!=t.visibility?!!t.visibility:void 0}async addAttachment(e,t){const r=await re(this,e,t,ze);return this.lastEditsEventDate=new Date,r}async updateAttachment(e,t,r){const i=await ie(this,e,t,r,ze);return this.lastEditsEventDate=new Date,i}async applyEdits(e,t){return oe(this,e,t)}async uploadAssets(e,t){return se(this,e,t)}createFieldConfigurations(){return Ie(this)}createPopupTemplate(e){return Ge(this,e)}async createGraphicsSource(e){if(this._hasMemorySource()&&this.source)return this.source.load({signal:e});const{default:t}=await c(import("./graphics/sources/FeatureLayerSource.js"),e);return new t({layer:this,supportedSourceTypes:this.supportedSourceTypes}).load({signal:e})}createQuery(){const e=ae(this);e.dynamicDataSource=this.dynamicDataSource;const t=null!=this.subtypeCode?`${this.subtypeField} = ${this.subtypeCode}`:null,r=m(this.definitionExpression,t);return e.where=r||"1=1",e}async deleteAttachments(e,t){const r=await ne(this,e,t,ze);return this.lastEditsEventDate=new Date,r}async fetchRecomputedExtents(e){return le(this,e,ze)}async getFeatureTitle(e,t){return this._titleCreator.getTitle(this,e,t)}async getFeatureTitles(e,t){return this._titleCreator.getTitles(this,e,t)}getFeatureType(e){return pe(this.types,this.typeIdField,e)}getFieldAlias(e){const t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}getFieldDomain(e,t){return ue(this,e,t,this.getField(e)?.domain??null)}async queryAttachments(e,t){return de(this,e,t,ze)}async queryFeatures(e,t){const r=await this.load(),i=await r.source.queryFeatures(Ne.from(e)??r.createQuery(),t),o=this.graphicOrigin;if(i?.features)for(const s of i.features)s.layer=s.sourceLayer=r,s.origin=o;return i}async queryObjectIds(e,t){return await ye(this,e,t,ze)}async queryFeatureCount(e,t){return ce(this,e,t,ze)}async queryExtent(e,t){return me(this,e,t,ze)}async queryRelatedFeatures(e,t){return fe(this,e,t,ze)}async queryRelatedFeaturesCount(e,t){return he(this,e,t,ze)}async queryPivot(e,t){const{source:r,capabilities:i}=await this.load();if(!r.queryPivot||!i?.operations?.supportsQueryPivot)throw new s(ze,"Layer source does not support queryPivot capability");const o=await import("../rest/support/PivotQuery.js"),a=await r.queryPivot(o.default.from(e),t),n=this.graphicOrigin;if(a?.features)for(const s of a.features)s.layer=s.sourceLayer=this,s.origin=n;return a}async queryTopFeatures(e,t){const{source:r,capabilities:i}=await this.load();if(!r.queryTopFeatures||!i?.query?.supportsTopFeaturesQuery)throw new s(ze,"Layer source does not support queryTopFeatures capability");const o=await import("../rest/support/TopFeaturesQuery.js"),a=await r.queryTopFeatures(o.default.from(e),t),n=this.graphicOrigin;if(a?.features)for(const s of a.features)s.layer=s.sourceLayer=this,s.origin=n;return a}async queryAttributeBins(e,t){const{source:r,capabilities:i}=await this.load();if(!r.queryAttributeBins)throw new s(ze,"Layer source does not support queryAttributeBins capability");be(e,i,ze);const o=await import("../rest/support/AttributeBinsQuery.js"),a=await r.queryAttributeBins(o.default.from(e),t),n=this.graphicOrigin;if(a.features)for(const s of a.features)s.layer=s.sourceLayer=this,s.origin=n;return a}async queryTopObjectIds(e,t){const{source:r,capabilities:i}=await this.load();if(!r.queryTopObjectIds||!i?.query.supportsTopFeaturesQuery)throw new s(ze,"Layer source does not support queryTopObjectIds capability");const o=await import("../rest/support/TopFeaturesQuery.js");return(await r.queryTopObjectIds(o.default.from(e),t)).filter(Be)}async queryTopFeaturesExtent(e,t){const{source:r,capabilities:i}=await this.load();if(!r.queryTopExtents||!i?.query?.supportsTopFeaturesQuery)throw new s(ze,"Layer source does not support queryTopExtents capability");const o=await import("../rest/support/TopFeaturesQuery.js");return r.queryTopExtents(o.default.from(e),t)}async queryTopFeatureCount(e,t){const{source:r,capabilities:i}=await this.load();if(!r.queryTopCount||!i?.query?.supportsTopFeaturesQuery)throw new s(ze,"Layer source does not support queryFeatureCount capability");const o=await import("../rest/support/TopFeaturesQuery.js");return r.queryTopCount(o.default.from(e),t)}read(e,t){const r=e.featureCollection;if((r||"Feature Collection"===e.type)&&(this.resourceInfo=e),r){const{layers:e,showLegend:i}=r;1===e?.length&&(super.read(e[0],t),null!=i&&super.read({showLegend:i},t))}super.read(e,t),"service"===t?.origin&&(["objectIdField","fields","timeInfo","dateFieldsTimeZone"].forEach(e=>this.revertToOrigin(e,"service")),this.spatialReference||this.revertToOrigin("spatialReference","service"))}write(e,t){t={...t,origin:t?.origin??void 0,writeLayerSchema:t?.writeLayerSchema??this._hasMemorySource()};const{origin:r,layerContainerType:i}=t;if(this.dynamicDataSource)return Ze(t,this,"a dynamic data source cannot be written to web scenes, web maps and feature service items"),null;if(this.isTable){if(("web-map"===r||"web-scene"===r)&&"tables"!==i)return Ze(t,this,"a table source can only be written to tables"),null;if(this._hasMemorySource())return Ze(t,this,"an in-memory table source cannot be written to web scenes and web maps"),null}else if(this.loaded&&("web-map"===r||"web-scene"===r)&&"tables"===i)return Ze(t,this,"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 s(ze,`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||qe(this,e))}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}_readEditingEnabled(e,t,r){let i=e.layerDefinition?.capabilities;return i?this._hasEditingCapability(i):(i=e.capabilities,t&&"web-map"===r?.origin&&!this._hasMemorySource()&&i?this._hasEditingCapability(i):void 0)}_hasEditingCapability(e){return e.toLowerCase().split(",").map(e=>e.trim()).includes("editing")}_writeEditingEnabled(e,t,r,i){if(!e){const e=this.capabilities?.operations?.supportsSync?"Query,Sync":"Query";u("layerDefinition.capabilities",e,t),r&&!i?.writeLayerSchema&&(t.capabilities=e)}}_fetchFirstValidLayerId(e){return r(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then(e=>{const t=e.data;if(t)return this.applyPreferredHost(t),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(),Le(this.renderer,this.fieldsIndex),De(this.timeInfo,this.fieldsIndex),this._hasMemorySource()&&"mesh"===this.geometryType&&(this.capabilities.query.supportsReturnMesh=!0),Ae(this,{origin:"service"})}async hasDataChanged(){return ge(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 r=e.prototype?.attributes;r&&t&&delete r[t]})}_verifySource(){if(this._hasMemorySource()){if(this.url)throw new s("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 s("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){const t=[...e.layers||[],...e.tables||[]];return t.find(({type:e})=>!e||this.supportedSourceTypes.has(e))?.id}};e([f({clonable:!1,readOnly:!0})],Ye.prototype,"_titleCreator",null),e([f(G)],Ye.prototype,"attributeTableTemplate",void 0),e([$e("service","capabilities")],Ye.prototype,"readCapabilities",null),e([f({json:{origins:{"web-scene":{write:!1}},write:!0}})],Ye.prototype,"charts",void 0),e([f({readOnly:!0})],Ye.prototype,"createQueryVersion",null),e([f({json:{read:{source:"layerDefinition.copyrightText"}}})],Ye.prototype,"copyright",void 0),e([f({json:{read:{source:"layerDefinition.displayField"}}})],Ye.prototype,"displayField",void 0),e([f({types:Je,readOnly:!0})],Ye.prototype,"defaultSymbol",void 0),e([f({type:Ue})],Ye.prototype,"dynamicDataSource",void 0),e([f({type:Boolean})],Ye.prototype,"editingEnabled",null),e([$e(["portal-item","web-scene"],"editingEnabled",["layerDefinition.capabilities"])],Ye.prototype,"readEditingEnabled",null),e([$e("web-map","editingEnabled",["capabilities","layerDefinition.capabilities"])],Ye.prototype,"readEditingEnabledFromWebMap",null),e([He(["portal-item","web-scene"],"editingEnabled",{"layerDefinition.capabilities":{type:String}})],Ye.prototype,"writeEditingEnabled",null),e([He("web-map","editingEnabled",{capabilities:{type:String},"layerDefinition.capabilities":{type:String}})],Ye.prototype,"writeEditingEnabledToWebMap",null),e([f({readOnly:!0})],Ye.prototype,"effectiveEditingEnabled",null),e([f({clonable:!1,readOnly:!0})],Ye.prototype,"featureTitleFields",null),e([f({type:[Fe],json:{name:"layerDefinition.fieldConfigurations",write:{overridePolicy(e,t,r){return{enabled:!r?.writeLayerSchema,ignoreOrigin:1===this.originIdOf(t)}}}}})],Ye.prototype,"fieldConfigurations",null),e([f({...Ke.fields,json:{read:{source:"layerDefinition.fields"},origins:{service:{name:"fields"},"web-map":{write:{target:"layerDefinition.fields",overridePolicy:Xe}}}}})],Ye.prototype,"fields",void 0),e([f(Ke.fieldsIndex)],Ye.prototype,"fieldsIndex",void 0),e([f({type:g,json:{name:"formInfo",write:!0,origins:{"web-scene":{read:!1,write:!1}}}})],Ye.prototype,"formTemplate",void 0),e([f({json:{read:{source:"layerDefinition.extent"}}})],Ye.prototype,"fullExtent",void 0),e([f({json:{origins:{"web-map":{write:{target:"layerDefinition.geometryType",overridePolicy:Xe,writer(e,t,r){const i=e?we.toJSON(e):null;i&&u(r,i,t)}}}},read:{source:"layerDefinition.geometryType",reader:we.read}}})],Ye.prototype,"geometryType",void 0),e([f({readOnly:!0,clonable:!1})],Ye.prototype,"graphicOrigin",void 0),e([f({json:{read:{source:"layerDefinition.hasM"}}})],Ye.prototype,"hasM",void 0),e([f({json:{read:{source:"layerDefinition.hasZ"}}})],Ye.prototype,"hasZ",void 0),e([f(J)],Ye.prototype,"id",void 0),e([f({readOnly:!0,json:{origins:{service:{read:!0}},read:!1}})],Ye.prototype,"infoFor3D",void 0),e([f({json:{origins:{"web-map":{write:{target:"layerDefinition.type"}}}}})],Ye.prototype,"isTable",void 0),e([$e("service","isTable",["type","geometryType"]),$e("isTable",["layerDefinition.type","layerDefinition.geometryType"])],Ye.prototype,"readIsTable",null),e([He("web-map","isTable")],Ye.prototype,"writeIsTable",null),e([f(W)],Ye.prototype,"labelsVisible",void 0),e([f({type:[_e],json:{origins:{service:{name:"drawingInfo.labelingInfo",read:Ce,write:!1}},name:"layerDefinition.drawingInfo.labelingInfo",read:Ce,write:{layerContainerTypes:b}}})],Ye.prototype,"labelingInfo",void 0),e([f((()=>{const e=a(Z);return e.json.origins["portal-item"]={write:{target:"layerDefinition.drawingInfo.transparency",writer(e,t,r){u(r,We(e),t)}}},e})())],Ye.prototype,"opacity",void 0),e([f($)],Ye.prototype,"legendEnabled",void 0),e([f({type:["show","hide"],json:(()=>{const e=a(H.json);return e.origins["portal-item"]={read:!1,write:!1},e})()})],Ye.prototype,"listMode",void 0),e([$e("globalIdField",["layerDefinition.globalIdField","layerDefinition.fields"])],Ye.prototype,"readGlobalIdField",null),e([f({json:{origins:{"web-map":{write:{target:"layerDefinition.objectIdField",overridePolicy:Xe}}}}})],Ye.prototype,"objectIdField",void 0),e([$e("objectIdField",["layerDefinition.objectIdField","layerDefinition.fields"])],Ye.prototype,"readObjectIdField",null),e([f({type:["ArcGISFeatureLayer"],json:{write:{target:"layerType",ignoreOrigin:!0,layerContainerTypes:b}}})],Ye.prototype,"operationalLayerType",void 0),e([f(Ke.outFields)],Ye.prototype,"outFields",void 0),e([f({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],Ye.prototype,"path",void 0),e([f(z)],Ye.prototype,"popupEnabled",void 0),e([f({type:t,json:{name:"popupInfo",write:!0}})],Ye.prototype,"popupTemplate",void 0),e([He("popupTemplate")],Ye.prototype,"writePopupTemplate",null),e([f({readOnly:!0})],Ye.prototype,"defaultPopupTemplate",null),e([f({types:Re,json:{origins:{service:{write:{target:"drawingInfo.renderer",enabled:!1}},"web-scene":{types:Qe,name:"layerDefinition.drawingInfo.renderer",write:{layerContainerTypes:b,overridePolicy:(e,t,r)=>({ignoreOrigin:r?.writeLayerSchema,layerContainerTypes:b})}}},write:{target:"layerDefinition.drawingInfo.renderer",overridePolicy:(e,t,r)=>({ignoreOrigin:r?.writeLayerSchema,layerContainerTypes:b})}}})],Ye.prototype,"renderer",null),e([$e("service","renderer",["drawingInfo.renderer","defaultSymbol"]),$e("renderer",["layerDefinition.drawingInfo.renderer","layerDefinition.defaultSymbol"])],Ye.prototype,"readRenderer",null),e([f()],Ye.prototype,"resourceInfo",void 0),e([f((()=>{const e=a(k);return e.json.origins["portal-item"]={read:!1,write:!1},e})())],Ye.prototype,"screenSizePerspectiveEnabled",void 0),e([f({clonable:!1})],Ye.prototype,"source",null),e([$e("portal-item","source",["featureSet"]),$e("web-map","source",["featureSet"])],Ye.prototype,"readSource",null),e([f({json:{read:{source:"layerDefinition.extent.spatialReference"}}})],Ye.prototype,"spatialReference",void 0),e([f({type:Number})],Ye.prototype,"subtypeCode",void 0),e([f({type:[ve]})],Ye.prototype,"templates",void 0),e([$e("templates",["editFieldsInfo","creatorField","editorField","templates"])],Ye.prototype,"readTemplates",null),e([f({type:xe})],Ye.prototype,"timeInfo",void 0),e([f()],Ye.prototype,"title",void 0),e([$e("service","title",["name"]),$e("portal-item","title",["layerDefinition.title","layerDefinition.name","title"])],Ye.prototype,"readTitle",null),e([$e("web-map","title",["layerDefinition.name","title"])],Ye.prototype,"readTitleFromWebMap",null),e([f({type:String})],Ye.prototype,"sublayerTitleMode",void 0),e([f({json:{read:!1}})],Ye.prototype,"type",void 0),e([f({type:String})],Ye.prototype,"typeIdField",void 0),e([$e("service","typeIdField"),$e("typeIdField",["layerDefinition.typeIdField"])],Ye.prototype,"readTypeIdField",null),e([f({type:[Te]})],Ye.prototype,"types",void 0),e([$e("service","types",["types"]),$e("types",["layerDefinition.types"])],Ye.prototype,"readTypes",null),e([f({type:Boolean,json:{origins:{"portal-item":{write:{target:"layerDefinition.defaultVisibility",layerContainerTypes:b}}}}})],Ye.prototype,"visible",void 0),e([$e("portal-item","visible",["visibility","layerDefinition.defaultVisibility"])],Ye.prototype,"readVisible",null),Ye=e([h("esri.layers.FeatureLayer")],Ye);export{Ye as default};