// All material copyright ESRI, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.7/esri/copyright.txt for details. //>>built define("require exports ../core/tsSupport/assignHelper ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/tsSupport/paramHelper dojo/_base/lang ../Graphic ../PopupTemplate ../request ../core/Collection ../core/Error ../core/Handles ../core/kebabDictionary ../core/lang ../core/Logger ../core/MultiOriginJSONSupport ../core/promiseUtils ../core/urlUtils ../core/accessorSupport/decorators ../geometry/Extent ../geometry/HeightModelInfo ../geometry/SpatialReference ../geometry/support/normalizeUtils ./Layer ./graphics/sources/MemorySource ./mixins/ArcGISService ./mixins/OperationalLayer ./mixins/PortalLayer ./mixins/RefreshableLayer ./mixins/ScaleRangeLayer ./support/arcgisLayerUrl ./support/commonProperties ./support/FeatureProcessing ./support/FeatureReduction ./support/FeatureReductionSelection ./support/FeatureTemplate ./support/FeatureType ./support/Field ./support/fieldUtils ./support/LabelClass ./support/labelingInfo ./support/Relationship ../renderers/SimpleRenderer ../renderers/UniqueValueRenderer ../renderers/support/jsonUtils ../renderers/support/styleUtils ../renderers/support/typeUtils ../symbols/SimpleFillSymbol ../symbols/SimpleLineSymbol ../symbols/SimpleMarkerSymbol ../symbols/support/ElevationInfo ../symbols/support/jsonUtils ../tasks/support/FeatureSet ../tasks/support/Query".split(" "), function(k,ra,L,M,e,q,u,A,N,B,C,g,O,P,Q,R,S,h,v,d,T,U,D,V,W,w,X,Y,Z,aa,ba,l,x,ca,da,ea,E,F,fa,y,ga,G,ha,H,ia,ja,ka,la,ma,na,oa,pa,z,qa,m){function I(d){return d&&null!=d.applyEdits}function r(d){return d&&d.isInstanceOf&&d.isInstanceOf(w)}function f(d,c,a){return!(d&&d.hasOwnProperty(c)?!d[c]:!a)}var K=P({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryMultiPatch:"multipatch"}),t=R.getLogger("esri.layers.FeatureLayer"); return function(J){function c(a){a=J.call(this)||this;a._handles=new O;a.featureReduction=null;a.copyright=null;a.displayField=null;a.definitionExpression=null;a.dynamicDataSource=null;a.editFieldsInfo=null;a.elevationInfo=null;a.fields=null;a.fullExtent=null;a.gdbVersion=null;a.geometryType=null;a.hasM=!1;a.hasZ=!1;a.heightModelInfo=null;a.historicMoment=null;a.isTable=!1;a.labelsVisible=!1;a.labelingInfo=null;a.layerId=void 0;a.legendEnabled=!0;a.maxRecordCount=void 0;a.minScale=0;a.maxScale=0; a.objectIdField=null;a.operationalLayerType="ArcGISFeatureLayer";a.popupEnabled=!0;a.popupTemplate=null;a.relationships=null;a.returnM=!1;a.returnZ=!1;a.screenSizePerspectiveEnabled=!0;a.serviceDefinitionExpression=null;a.spatialReference=D.WGS84;a.templates=null;a.timeInfo=null;a.title=null;a.sublayerTitleMode="item-title";a.trackIdField=null;a.type="feature";a.typeIdField=null;a.types=null;a.userIsAdmin=!1;a.version=void 0;a.visible=!0;return a}M(c,J);c.prototype.normalizeCtorArgs=function(a,b){return"string"=== typeof a?u.mixin({},{url:a},b):a};c.prototype.load=function(){var a=this,b=this.source&&(Array.isArray(this.source)||r(this.source));if(this.portalItem&&b)this.addResolvingPromise(h.resolve());else return b=this.loadFromPortal({supportedTypes:["Feature Service","Feature Collection"]}).always(function(){if(a.url&&null==a.layerId&&/FeatureServer\/*$/i.test(a.url))return a._fetchFirstLayerId().then(function(b){null!=b&&(a.layerId=b)})}).then(function(){if(!a.url&&!a._hasMemorySource())throw new g("feature-layer:missing-url-or-source", "Feature layer must be created with either a url or a source");return a.createGraphicsSource().then(a._initLayerProperties.bind(a))}),this.addResolvingPromise(b),this.when()};Object.defineProperty(c.prototype,"allRenderers",{get:function(){return this._getAllRenderers(this.renderer)},enumerable:!0,configurable:!0});Object.defineProperty(c.prototype,"capabilities",{get:function(){var a=this._get("capabilities");return a||!this.loaded||this.hasService?a:{data:{supportsAttachment:!1,supportsM:!1,supportsZ:!1}, operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!0,supportsDelete:!0,supportsEditing:!0,supportsQuery:!0,supportsResizeAttachments:!1,supportsUpdate:!0},query:{supportsStatistics:!1,supportsCentroid:!1,supportsDistance:!1,supportsDistinct:!1,supportsExtent:!0,supportsGeometryProperties:!1,supportsOrderBy:!1,supportsPagination:!1,supportsQuantization:!1,supportsResultType:!1,supportsSqlExpression:!1,supportsStandardizedQueriesOnly:!1,supportsQueryByOthers:!1, supportsHistoricMoment:!1},queryRelated:{supportsPagination:!1,supportsCount:!1,supportsOrderBy:!1},editing:{supportsGeometryUpdate:!0,supportsGlobalId:!1,supportsRollbackOnFailure:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1}}},enumerable:!0,configurable:!0});c.prototype.readCapabilities=function(a,b){b=b.layerDefinition||b;return{data:this._readDataCapabilities(b),operations:this._readOperationsCapabilities(b.capabilities|| a,b),query:this._readQueryCapabilities(b),queryRelated:this._readQueryRelatedCapabilities(b),editing:this._readEditingCapabilities(b)}};Object.defineProperty(c.prototype,"hasAttachments",{get:function(){return this.hasService&&this._get("hasAttachments")||!1},enumerable:!0,configurable:!0});c.prototype.readIsTable=function(a,b){b=b&&b.layerDefinition||b;return"Table"===b.type};Object.defineProperty(c.prototype,"hasService",{get:function(){return!this._hasMemorySource()},enumerable:!0,configurable:!0}); c.prototype.readMinScale=function(a,b){return b.effectiveMinScale||a||0};c.prototype.readMaxScale=function(a,b){return b.effectiveMaxScale||a||0};c.prototype.readObjectIdFieldFromService=function(a,b){b=b.layerDefinition||b;if(b.objectIdField)return b.objectIdField;if(b.fields)for(a=0,b=b.fields;a