@vertigis/arcgis-extensions 48.9.1 → 49.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AppConfig.schema.json +63 -47
- package/data/Feature.d.ts +4 -4
- package/data/Feature.js +1 -1
- package/data/_TableExtension.d.ts +1 -1
- package/data/support/attachments.js +1 -1
- package/declarations/arcgis-js-api-extensions/index.d.ts +4 -6
- package/docs/html/assets/navigation.js +1 -1
- package/docs/html/assets/search.js +1 -1
- package/docs/html/classes/Entity.EntityBase.html +3 -3
- package/docs/html/classes/data_ArcGISServiceTableExtension.ArcGISServiceTableExtension.html +3 -3
- package/docs/html/classes/data_Attachment.Attachment.html +3 -3
- package/docs/html/classes/data_Feature.Feature.html +5 -5
- package/docs/html/classes/data_FeatureList.FeatureList.html +3 -9
- package/docs/html/classes/data_FeatureSet.FeatureSet.html +0 -1
- package/docs/html/classes/data_FeatureSourceBase.FeatureSourceBase.html +3 -3
- package/docs/html/classes/data_FeatureSourceBase.RelationshipCollection.html +3 -9
- package/docs/html/classes/data_FeatureStream.FeatureStream.html +3 -3
- package/docs/html/classes/data_FieldExtension.FieldExtension.html +3 -3
- package/docs/html/classes/data_PopupContentExtension.PopupContentExtension.html +3 -3
- package/docs/html/classes/data_RelationshipBase.RelationshipBase.html +3 -3
- package/docs/html/classes/data__TableExtension.TableExtension.html +3 -3
- package/docs/html/classes/data__TableExtension.TableSchema.html +2 -2
- package/docs/html/classes/layer_preset_LayerPreset.LayerPreset.html +3 -3
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerExtension.html +3 -3
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerRelationshipCollection.html +3 -9
- package/docs/html/classes/mapping_BasemapExtension.BasemapExtension.html +3 -3
- package/docs/html/classes/mapping_Bookmark.Bookmark.html +3 -3
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtension.html +3 -3
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtension.html +3 -3
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtension.html +3 -3
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerExtension.html +3 -3
- package/docs/html/classes/mapping_CSVLayerExtension.CSVLayerExtension.html +5 -5
- package/docs/html/classes/mapping_ElevationLayerExtension.ElevationLayerExtension.html +3 -3
- package/docs/html/classes/mapping_FeatureCollectionLayerExtension.FeatureCollectionLayerExtension.html +3 -3
- package/docs/html/classes/mapping_FeatureLayerExtension.FeatureLayerExtension.html +5 -5
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBase.html +3 -3
- package/docs/html/classes/mapping_GeoJSONLayerExtension.GeoJSONLayerExtension.html +5 -5
- package/docs/html/classes/mapping_GeoRSSLayerExtension.GeoRSSLayerExtension.html +3 -3
- package/docs/html/classes/mapping_GraphicsLayerExtension.GraphicsLayerExtension.html +3 -3
- package/docs/html/classes/mapping_GroundExtension.GroundExtension.html +3 -3
- package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtension.html +3 -3
- package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtensionCollection.html +7 -11
- package/docs/html/classes/mapping_ImageryLayerExtension.ImageryLayerExtension.html +3 -3
- package/docs/html/classes/mapping_ImageryTileLayerExtension.ImageryTileLayerExtension.html +3 -3
- package/docs/html/classes/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtension.html +3 -3
- package/docs/html/classes/mapping_KMLLayerExtension.KMLLayerExtension.html +3 -3
- package/docs/html/classes/mapping_KMLSublayerExtension.KMLSublayerExtension.html +3 -3
- package/docs/html/classes/mapping_MapExtension.MapExtension.html +3 -3
- package/docs/html/classes/mapping_MapImageLayerExtension.MapImageLayerExtension.html +3 -3
- package/docs/html/classes/mapping_MapImageSublayerExtension.MapImageSublayerExtension.html +3 -3
- package/docs/html/classes/mapping_MapNotesLayerExtension.MapNotesLayerExtension.html +3 -3
- package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtension.html +3 -3
- package/docs/html/classes/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtension.html +3 -3
- package/docs/html/classes/mapping_PointCloudLayerExtension.PointCloudLayerExtension.html +3 -3
- package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtension.html +3 -3
- package/docs/html/classes/mapping_SceneLayerExtension.SceneLayerExtension.html +3 -3
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerExtension.html +3 -3
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtension.html +3 -3
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerRelationshipCollection.html +3 -9
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerExtension.html +3 -3
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerRelationshipCollection.html +3 -9
- package/docs/html/classes/mapping_TileLayerExtension.TileLayerExtension.html +3 -3
- package/docs/html/classes/mapping_TileSublayerExtension.TileSublayerExtension.html +3 -3
- package/docs/html/classes/mapping_UnsupportedLayerExtension.UnsupportedLayerExtension.html +3 -3
- package/docs/html/classes/mapping_VectorTileLayerExtension.VectorTileLayerExtension.html +3 -3
- package/docs/html/classes/mapping_WFSLayerExtension.WFSLayerExtension.html +3 -3
- package/docs/html/classes/mapping_WMSLayerExtension.WMSLayerExtension.html +3 -3
- package/docs/html/classes/mapping_WMSSublayerExtension.WMSSublayerExtension.html +3 -3
- package/docs/html/classes/mapping_WMTSLayerExtension.WMTSLayerExtension.html +3 -3
- package/docs/html/classes/mapping_WebTileLayerExtension.WebTileLayerExtension.html +3 -3
- package/docs/html/classes/mapping__LayerExtension.LayerExtension.html +3 -3
- package/docs/html/classes/mapping__LayerExtensionCollectionImpl.LayerExtensionCollectionImpl.html +7 -11
- package/docs/html/classes/mapping__SublayerExtension.SubSublayerExtensionCollection.html +7 -11
- package/docs/html/classes/mapping__SublayerExtension.SublayerExtension.html +3 -3
- package/docs/html/classes/mapping_support_ArrayWrappedCollection.ArrayWrappedCollection.html +3 -9
- package/docs/html/classes/mapping_support__LayerExtensionCollection.LayerExtensionCollectionBase.html +7 -11
- package/docs/html/classes/mapping_support__SublayerExtensionCollection.SublayerExtensionCollectionBase.html +7 -11
- package/docs/html/classes/menus_Menu.Menu.html +3 -3
- package/docs/html/classes/menus_MenuItem.MenuItem.html +3 -3
- package/docs/html/classes/support_InitializableBase.InitializableBase.html +3 -3
- package/docs/html/classes/support_InitializableCollectionProxy.InitializableCollectionProxy.html +3 -9
- package/docs/html/classes/support_ReadOnlyInitializableCollection.ReadOnlyInitializableCollection.html +3 -9
- package/docs/html/classes/support__ArcGISRelationshipCollection.ArcGISRelationshipCollection.html +3 -9
- package/docs/html/classes/tasks_geocoding_ArcGISGeocoder.ArcGISGeocoder.html +3 -3
- package/docs/html/classes/tasks_geocoding_Geocoder.Geocoder.html +3 -3
- package/docs/html/classes/tasks_identify_ArcGISSublayerQueryIdentifyProvider.ArcGISSublayerQueryIdentifyProvider.html +6 -6
- package/docs/html/classes/tasks_identify_BuildingComponentSublayerClientSideIdentifyProvider.BuildingComponentSublayerClientSideIdentifyProvider.html +6 -6
- package/docs/html/classes/tasks_identify_BuildingComponentSublayerHitTestIdentifyProvider.BuildingComponentSublayerHitTestIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_CSVLayer3DHitTestIdentifyProvider.CSVLayer3DHitTestIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_CSVLayerClientSideQueryIdentifyProvider.CSVLayerClientSideQueryIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_ClientSideIdentifyProvider.ClientSideIdentifyProvider.html +8 -8
- package/docs/html/classes/tasks_identify_FeatureLayer3DHitTestIdentifyProvider.FeatureLayer3DHitTestIdentifyProvider.html +10 -10
- package/docs/html/classes/tasks_identify_FeatureLayerClientSideIdentifyProvider.FeatureLayerClientSideIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_FeatureLayerQueryIdentifyProvider.FeatureLayerQueryIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_GeoJSONLayer3DHitTestIdentifyProvider.GeoJSONLayer3DHitTestIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_GeoJSONLayerClientSideQueryIdentifyProvider.GeoJSONLayerClientSideQueryIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_GeoRSSLayerIdentifyProvider.GeoRSSLayerIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_GraphicsLayerQueryIdentifyProvider.GraphicsLayerQueryIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_HitTestIdentifyProvider.HitTestIdentifyProvider.html +10 -10
- package/docs/html/classes/tasks_identify_IdentifyProviderBase.IdentifyProviderBase.html +9 -9
- package/docs/html/classes/tasks_identify_IdentifyService.IdentifyService.html +10 -10
- package/docs/html/classes/tasks_identify_ImageryLayerIdentifyProvider.ImageryLayerIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_KMLLayerQueryIdentifyProvider.KMLLayerQueryIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_MapNotesSublayerQueryIdentifyProvider.MapNotesSublayerQueryIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_PointCloudLayerHitTestIdentifyProvider.PointCloudLayerHitTestIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_RouteLayerQueryIdentifyProvider.RouteLayerQueryIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_SceneLayerClientSideIdentifyProvider.SceneLayerClientSideIdentifyProvider.html +6 -6
- package/docs/html/classes/tasks_identify_SceneLayerHitTestIdentifyProvider.SceneLayerHitTestIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_SceneLayerQueryIdentifyProvider.SceneLayerQueryIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_StreamLayerClientSideQueryIdentifyProvider.StreamLayerClientSideQueryIdentifyProvider.html +6 -6
- package/docs/html/classes/tasks_identify_SubtypeSublayerClientSideIdentifyProvider.SubtypeSublayerClientSideIdentifyProvider.html +6 -6
- package/docs/html/classes/tasks_identify_SubtypeSublayerQueryIdentifyProvider.SubtypeSublayerQueryIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_WFSLayerClientSideIdentifyProvider.WFSLayerClientSideIdentifyProvider.html +7 -7
- package/docs/html/classes/tasks_identify_WFSLayerQueryIdentifyProvider.WFSLayerQueryIdentifyProvider.html +6 -6
- package/docs/html/classes/tasks_identify_WMSLayerFeatureInfoIdentifyProvider.WMSLayerFeatureInfoIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_identify_WMSSublayerIdentifyProvider.WMSSublayerIdentifyProvider.html +9 -9
- package/docs/html/classes/tasks_query_ArcGISRelationship.ArcGISRelationship.html +3 -3
- package/docs/html/classes/tasks_query_QueryBasedRelationship.QueryBasedRelationship.html +3 -3
- package/docs/html/classes/tasks_query_QueryService.QueryService.html +3 -3
- package/docs/html/classes/tasks_search_SearchService.SearchService.html +3 -3
- package/docs/html/classes/utilities_CaseInsensitiveObservableMap.CaseInsensitiveObservableMap.html +0 -1
- package/docs/html/classes/utilities_CollectionProxy.CollectionProxy.html +3 -9
- package/docs/html/classes/utilities_CopyOnWriteCollection.CopyOnWriteCollection.html +3 -9
- package/docs/html/classes/utilities_MapTransformCollection.MapTransformCollection.html +3 -9
- package/docs/html/classes/utilities_ObservableMap.ObservableMap.html +0 -1
- package/docs/html/classes/utilities_ObservableSet.ObservableSet.html +0 -1
- package/docs/html/classes/utilities_ObservableWeakSet.ObservableWeakSet.html +0 -1
- package/docs/html/classes/utilities_ReadOnlyCollection.ReadOnlyCollection.html +3 -9
- package/docs/html/classes/utilities_ReadOnlyMap.ReadOnlyMap.html +4 -3
- package/docs/html/functions/utilities__geoJson.esriToGeoJSON.html +1 -1
- package/docs/html/functions/utilities__geoJson.geoJSONToEsri.html +2 -2
- package/docs/html/functions/utilities__gml.esriToGml.html +1 -1
- package/docs/html/functions/utilities__gml.gmlToEsri.html +2 -2
- package/docs/html/functions/utilities__project.project.html +4 -4
- package/docs/html/functions/utilities__wkt.esriToWKT.html +1 -1
- package/docs/html/functions/utilities__wkt.wktToEsri.html +2 -2
- package/docs/html/functions/utilities_esri.isGeometry.html +2 -2
- package/docs/html/functions/utilities_geometry.buffer.html +2 -2
- package/docs/html/functions/utilities_geometry.createCrossTypeUnion.html +3 -3
- package/docs/html/functions/utilities_geometry.esriToGeoJSON.html +1 -1
- package/docs/html/functions/utilities_geometry.esriToGml.html +1 -1
- package/docs/html/functions/utilities_geometry.esriToWKT.html +1 -1
- package/docs/html/functions/utilities_geometry.geoJSONToEsri.html +2 -2
- package/docs/html/functions/utilities_geometry.getScreenExtent.html +1 -1
- package/docs/html/functions/utilities_geometry.gmlToEsri.html +2 -2
- package/docs/html/functions/utilities_geometry.project.html +4 -4
- package/docs/html/functions/utilities_geometry.removeZValues.html +3 -3
- package/docs/html/functions/utilities_geometry.wktToEsri.html +2 -2
- package/docs/html/functions/utilities_query.spatialFilter.html +1 -1
- package/docs/html/functions/utilities_symbol.isPointGeometrySymbol.html +2 -2
- package/docs/html/functions/utilities_symbol.isPolygonGeometrySymbol.html +2 -2
- package/docs/html/functions/utilities_symbol.isPolylineGeometrySymbol.html +2 -2
- package/docs/html/functions/utilities_symbol.isSymbol.html +2 -2
- package/docs/html/functions/utilities_symbol.isVolumetric.html +1 -1
- package/docs/html/interfaces/data_Feature.FeatureProperties.html +2 -2
- package/docs/html/interfaces/data_Feature.PresentableAttributes.html +4 -3
- package/docs/html/interfaces/data_support_attachments.AttachmentEnabledLayer.html +8 -4
- package/docs/html/interfaces/json_RendererJson.SizeInfoJson.html +3 -3
- package/docs/html/interfaces/json_SymbolJson.ObjectSymbol3DLayerJson.html +2 -2
- package/docs/html/interfaces/json_WebSceneJson.WebSceneJson.html +2 -2
- package/docs/html/interfaces/support_ArcGISRequestHelper.ArcGISRequestOptions.html +2 -2
- package/docs/html/interfaces/tasks_query_QueryOptions.QueryOptions-1.html +2 -2
- package/docs/html/interfaces/tasks_search_SearchOptions.SearchOptions-1.html +2 -2
- package/docs/html/interfaces/tasks_search_support__querySearchProviderUtils.ExpandSearchAreaResult.html +2 -2
- package/docs/html/interfaces/utilities_transformation.Transformation.html +2 -2
- package/docs/html/modules/support_esri.html +5 -2
- package/docs/html/types/support_esri.FeatureIdentifier.html +1 -0
- package/docs/html/types/support_esri.FeatureLayerApplyEdits.html +1 -1
- package/docs/html/types/support_esri.FeatureLayerApplyEditsEdits.html +1 -0
- package/docs/html/types/support_esri.FeatureLayerApplyEditsOptions.html +1 -0
- package/docs/html/types/support_esri.ItemCallback.html +1 -1
- package/docs/html/types/support_esri.ItemTestCallback.html +1 -1
- package/docs/html/types/support_esri.LengthUnit.html +3 -0
- package/docs/html/types/support_esri.LinearUnits.html +4 -0
- package/docs/html/variables/version.version.html +1 -1
- package/json/GeometryJson.d.ts +1 -1
- package/json/LayerJson.js +1 -1
- package/mapping/CSVLayerExtension.d.ts +2 -2
- package/mapping/FeatureLayerExtension.d.ts +2 -2
- package/mapping/GeoJSONLayerExtension.d.ts +2 -2
- package/mapping/ImageryLayerExtension.js +1 -1
- package/mapping/_SublayerExtension.js +1 -1
- package/mapping/support/featureService.js +1 -1
- package/package.json +2 -2
- package/portal/FeatureLayer.js +1 -1
- package/portal/FeatureReduction.d.ts +1 -1
- package/portal/FeatureReduction.js +1 -1
- package/portal/Lighting.d.ts +1 -1
- package/portal/Symbol.d.ts +2 -1
- package/portal/Widgets.d.ts +1 -1
- package/support/esri.d.ts +21 -6
- package/tasks/identify/BuildingComponentSublayerHitTestIdentifyProvider.d.ts +2 -2
- package/tasks/identify/CSVLayer3DHitTestIdentifyProvider.d.ts +2 -2
- package/tasks/identify/CSVLayer3DHitTestIdentifyProvider.js +1 -1
- package/tasks/identify/CSVLayerClientSideQueryIdentifyProvider.d.ts +4 -4
- package/tasks/identify/ClientSideIdentifyProvider.d.ts +1 -1
- package/tasks/identify/FeatureLayer3DHitTestIdentifyProvider.d.ts +2 -2
- package/tasks/identify/FeatureLayer3DHitTestIdentifyProvider.js +1 -1
- package/tasks/identify/FeatureLayerClientSideIdentifyProvider.d.ts +3 -3
- package/tasks/identify/FeatureLayerClientSideIdentifyProvider.js +1 -1
- package/tasks/identify/FeatureLayerQueryIdentifyProvider.d.ts +4 -4
- package/tasks/identify/GeoJSONLayer3DHitTestIdentifyProvider.d.ts +2 -2
- package/tasks/identify/GeoJSONLayer3DHitTestIdentifyProvider.js +1 -1
- package/tasks/identify/GeoJSONLayerClientSideQueryIdentifyProvider.d.ts +4 -4
- package/tasks/identify/GeoRSSLayerIdentifyProvider.d.ts +4 -4
- package/tasks/identify/GraphicsLayerQueryIdentifyProvider.d.ts +4 -4
- package/tasks/identify/HitTestIdentifyProvider.d.ts +6 -8
- package/tasks/identify/IdentifyProviderBase.d.ts +8 -8
- package/tasks/identify/IdentifyService.d.ts +8 -8
- package/tasks/identify/ImageryLayerIdentifyProvider.d.ts +4 -4
- package/tasks/identify/ImageryLayerIdentifyProvider.js +1 -1
- package/tasks/identify/KMLLayerQueryIdentifyProvider.d.ts +4 -4
- package/tasks/identify/MapNotesSublayerQueryIdentifyProvider.d.ts +4 -4
- package/tasks/identify/PointCloudLayerHitTestIdentifyProvider.d.ts +2 -2
- package/tasks/identify/RouteLayerQueryIdentifyProvider.d.ts +4 -4
- package/tasks/identify/SceneLayerHitTestIdentifyProvider.d.ts +2 -2
- package/tasks/identify/SceneLayerQueryIdentifyProvider.d.ts +4 -4
- package/tasks/identify/StreamLayerClientSideQueryIdentifyProvider.js +1 -1
- package/tasks/identify/SubtypeSublayerQueryIdentifyProvider.d.ts +5 -5
- package/tasks/identify/WMSLayerFeatureInfoIdentifyProvider.d.ts +4 -4
- package/tasks/identify/WMSSublayerIdentifyProvider.d.ts +4 -4
- package/tasks/identify/_utilities.js +1 -1
- package/tasks/query/QueryOptions.d.ts +3 -3
- package/tasks/query/StreamLayerClientSideQueryProvider.js +1 -1
- package/tasks/search/QuerySearchProvider.js +1 -1
- package/tasks/search/SearchOptions.d.ts +3 -3
- package/tasks/search/SubtypeSublayerQuerySearchProvider.js +1 -1
- package/tasks/search/support/_querySearchProviderUtils.d.ts +2 -2
- package/utilities/CollectionProxy.d.ts +9 -9
- package/utilities/CollectionProxy.js +1 -1
- package/utilities/CopyOnWriteCollection.d.ts +2 -2
- package/utilities/_geoJson.d.ts +3 -3
- package/utilities/_gml.d.ts +3 -3
- package/utilities/_project.d.ts +2 -2
- package/utilities/_wkt.d.ts +3 -3
- package/utilities/arcade.js +1 -1
- package/utilities/basemaps.js +1 -1
- package/utilities/esri.d.ts +2 -2
- package/utilities/geometry.d.ts +13 -14
- package/utilities/geometry.js +1 -1
- package/utilities/query.d.ts +2 -2
- package/utilities/query.js +1 -1
- package/utilities/symbol.d.ts +3 -3
- package/utilities/watch.d.ts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/docs/html/types/support_esri.FeatureLayerBaseApplyEditsEdits.html +0 -1
- package/docs/html/types/support_esri.FeatureLayerBaseApplyEditsOptions.html +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import{InvalidOperationError as t}from"../InvalidOperationError.js";import{isSublayerExtension as i,ItemType as s}from"../ItemType.js";import{FeatureSourceBase as r}from"../data/FeatureSourceBase.js";import{Schema as a}from"../data/Schema.js";import{serializable as n}from"../support/Serializable.js";import{isBuildingComponentSublayer as l,isBuildingGroupSublayer as o,isKMLSublayer as u,isMapImageSublayer as y,isMapNotesSublayer as h,isSubtypeSublayer as b,isTileLayer as f,isWMSSublayer as p,isWMTSSublayer as S}from"../utilities/_layers.js";import{checkArg as c}from"../utilities/checkArg.js";import{compare as d}from"../utilities/collection.js";import{load as _}from"../utilities/esri.js";import{parse as g}from"../utilities/format/number.js";import{getLogger as x}from"../utilities/log.js";import{deepClone as E,objectKeys as m}from"../utilities/object.js";import{onCollectionPropertyChange as v,watchCollectionPropertyEach as w}from"../utilities/watch.js";import{fromLayerListMode as M,LayerListSettings as C}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase as P}from"./support/_SublayerExtensionCollection.js";const V=x("SublayerExtension"),z="Invalid type of sublayer for this type of sublayer extension.",$="This type of layer does not have features.",A="This type of sublayer extension cannot have child sublayer extensions.",F=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1,supportsStandardizedQueries:!1});export function getSublayerType(e){if(y(e))return f(e?.layer)?"ArcGISTiledSublayer":"ArcGISMapServiceSublayer";if(u(e))return"KMLSublayer";if(S(e))return"WMTSSublayer";if(p(e))return"WMSSublayer";if(l(e))return"BuildingComponentSublayer";if(o(e))return"BuildingGroupSublayer";if(b(e))return"SubtypeSublayer";if(h(e))return"MapNotesSublayer";throw new Error(`Unknown sublayer type for sublayer: "${e?.title}"`)}export class SublayerExtension extends r{static factory;get sublayer(){return this._sublayer}get layerExtension(){return this._layerExtension}get parentSublayerExtension(){return this._parentSublayerExtension}get hasFeatures(){return!1}get sublayerExtensions(){return this._sublayerExtensions}get renderer(){}layerListSettings;get visibilityMode(){return this.canToggleVisibility?this._visibilityMode:"inherited"}set visibilityMode(e){c("visibilityMode",e).satisfies((e=>this.canToggleVisibility||"inherited"===e),'Sublayers of this type only support a visibility mode of "inherited".'),this._visibilityMode=e,"exclusive"===e&&this._ensureAtMostOneChildSublayerVisible()}get capabilities(){return this._capabilities()}get effectiveMinScale(){const e=this.sublayer?this.sublayer.minScale:0;if(this.parentSublayerExtension){const t=this.parentSublayerExtension.effectiveMinScale||1/0;if(t<(e||1/0))return t}if(this.layerExtension){const t=this.layerExtension.effectiveMinScale||1/0;if(t<(e||1/0))return t}return e}get effectiveMaxScale(){const e=this.sublayer?this.sublayer.maxScale:0;return this.parentSublayerExtension&&this.parentSublayerExtension.effectiveMaxScale>e?this.parentSublayerExtension.effectiveMaxScale:this.layerExtension&&this.layerExtension.effectiveMaxScale>e?this.layerExtension.effectiveMaxScale:e}get isEffectivelyVisible(){const e=!!this.sublayer&&this.sublayer.visible;return this.parentSublayerExtension?this.parentSublayerExtension.isEffectivelyVisible&&e:this.layerExtension?this.layerExtension.isEffectivelyVisible&&e:e}get title(){return this.sublayer?.title??("string"==typeof this._deferredSublayerProperties?.$ref||"number"==typeof this._deferredSublayerProperties?.$ref?this._deferredSublayerProperties?.$ref.toString():this._deferredSublayerProperties?.$ref?.title??this._deferredSublayerProperties?.$ref?.id.toString())??"Sublayer"}get supportsSublayers(){return!1}get canToggleVisibility(){return!0}get canChangeOpacity(){return!0}get canChangeScale(){return!0}get canChangeRenderer(){return!1}get canChangeLabels(){return!1}get canChangeDefinitionExpression(){return!1}get _layerSupportsHideChildren(){return!1}get _sublayerId(){return this.sublayer?.id??("number"==typeof this._deferredSublayerProperties?.$ref?this._deferredSublayerProperties?.$ref:this._deferredSublayerProperties?.$ref?.id)}get _sublayers(){if(this.supportsSublayers)return this.sublayer?.sublayers}get effectiveFullExtent(){return this._effectiveFullExtent?this._effectiveFullExtent:this.parentSublayerExtension?this.parentSublayerExtension.effectiveFullExtent:this.layerExtension?this.layerExtension.effectiveFullExtent:void 0}get initialVisibility(){return this._initialVisibility??this.sublayer?.visible??!1}_effectiveFullExtent;_itemType=s.SUBLAYER_EXTENSION;_watchHandles=[];_sublayerExtensions;_layerExtension;_parentSublayerExtension;_initialVisibility;_sublayer;_visibilityMode;_deferredSublayerProperties;_originalRef;constructor(e){super(e);const t=e||{};this._visibilityMode=this.canToggleVisibility?"independent":"inherited",this._sublayerExtensions=this._createSublayerExtensionCollection();const i=t.sublayer;let s;i?.hasOwnProperty("listMode")&&(s=M(i.listMode)),this.layerListSettings=this._createLayerListSettings({...s,...t.layerListSettings}),j(i)?(c("properties.sublayer",i).satisfies((e=>this._isSupportedSublayer(e)),z),this._setSublayer(i)):i&&(this._deferredSublayerProperties=i),this.watch("parentSublayerExtension.isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible")))}static create(e){if(!SublayerExtension.factory)throw new t("Cannot create sublayer extension: no sublayer extension factory has been registered.");return SublayerExtension.factory.create(e)}static _matchesRef(e,t,i){if(!e||!t)return!1;let s=t.$ref;if("string"==typeof s){const e=g(s);s={id:isNaN(e)?s:e,title:s}}else"number"==typeof s&&(s={id:s});const r=b(e)?e.subtypeCode:e.id;return"both"===i?r===s.id&&e.title===s.title:"by-id"===i?r===s.id:"by-title"===i&&e.title===s.title}getFeatures(e,i){if(!this.hasFeatures)throw new t($);return super.getFeatures(e,i)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,i){if(c("features",e).isNotMissing(),!this.hasFeatures)throw new t($);await super.addFeatures(e,i)}async updateFeatures(e,i){if(c("features",e).isNotMissing(),!this.hasFeatures)throw new t($);await super.updateFeatures(e,i)}async deleteFeatures(e,i){if(c("features",e).isNotMissing(),!this.hasFeatures)throw new t($);await super.deleteFeatures(e,i)}_resolveSublayer(){if(this._sublayer||!this._deferredSublayerProperties||!this.layerExtension?.layer||!this.layerExtension.layer.sublayers)return;const e=e=>t=>SublayerExtension._matchesRef(t,this._deferredSublayerProperties,e),t=this.layerExtension.layer.sublayers.flatten((e=>e.sublayers));let i=t.find(e("both"));if(i||(i=t.find(e("by-title"))),i||(i=t.find(e("by-id"))),i&&this._isSupportedSublayer(i)){this._setSublayer(i);const e={sublayer:{title:this.title,...this._deferredSublayerProperties}};this.assignProperties(e),this._originalRef=this._deferredSublayerProperties.$ref,this._deferredSublayerProperties=void 0}}_setLayerExtension(e){const t=this.layerExtension;this._layerExtension=e,this.layerExtension&&(this.layerExtension.watch("effectiveMinScale",(()=>this.notifyChange("effectiveMinScale"))),this.layerExtension.watch("effectiveMaxScale",(()=>this.notifyChange("effectiveMaxScale"))),this.layerExtension.watch("isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible")))),this._parentSublayerExtension||(t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=void 0)),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),this.taskSettings.parent||(this.taskSettings.parent=e.taskSettings))),this._resolveSublayer(),this.notifyChange("layerExtension"),this.supportsSublayers&&this._sublayerExtensions.onLayerExtensionChanged()}_setParentSublayerExtension(e){const t=this._parentSublayerExtension;this._parentSublayerExtension=e,this.parentSublayerExtension&&(this.parentSublayerExtension.watch("effectiveMinScale",(()=>this.notifyChange("effectiveMinScale"))),this.parentSublayerExtension.watch("effectiveMaxScale",(()=>this.notifyChange("effectiveMaxScale")))),t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=this.layerExtension?this.layerExtension.featureSettings.formatSettings:void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=this.layerExtension?this.layerExtension.taskSettings:void 0)),e&&((!this.featureSettings.formatSettings.parent||this.layerExtension&&this.featureSettings.formatSettings.parent===this.layerExtension.featureSettings.formatSettings)&&(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),(!this.taskSettings.parent||this.layerExtension&&this.taskSettings.parent===this.layerExtension.taskSettings)&&(this.taskSettings.parent=e.taskSettings)),this._resolveSublayer(),this.notifyChange("parentSublayerExtension")}async _switchSublayer(e){if(e===this.sublayer)return;c("newSublayer",e).isNotMissing().satisfies((e=>e.id===this.sublayer.id),"Sublayer ID must match existing sublayer.").satisfies((e=>this._isSupportedSublayer(e)),z),this.isInitialized&&await _(e);const t=new Map;if(this.sublayer?.sublayers)for(const e of this.sublayer.sublayers.toArray())t.set(e.id,this.sublayerExtensions.forSublayer(e));this.canToggleVisibility&&(e.visible=this.sublayer.visible),this.canChangeOpacity&&(e.opacity=this.sublayer.opacity),this._setSublayer(e);const i=[];if(this.supportsSublayers&&this.sublayer.sublayers){const e=this.sublayer.sublayers.filter((e=>t.has(e.id))).toArray();i.push(...e.map((async e=>{const i=t.get(e.id);await i._switchSublayer(e),this._sublayerExtensions._register(i)})))}this.isInitialized&&i.push(this._initializeChildren()),await Promise.all(i)}async _postInitialize(){await super._postInitialize(),this.supportsSublayers&&this._watchHandles.push(v(this,"sublayer.sublayers",(async e=>{const t=(e.added??[]).map((e=>this.sublayerExtensions.forSublayer(e)));await Promise.all(t.map(this._onSublayerAddedPostInitialize))})))}_onSublayerAddedPostInitialize=async e=>{try{await e.initialize()}catch(t){V.error({message:`Error occurred while initializing sublayer extension for sublayer '${e.title??e.sublayer.id??e.id}'.`,error:t})}};async _onDestroy(){this._watchHandles.forEach((e=>e?.remove())),await Promise.all(this.sublayerExtensions.toArray().map((e=>e.destroy()))),await super._onDestroy()}_getSerializableProperties(){return{...super._getSerializableProperties(),visibilityMode:{serializeModes:["initial"],default:this.canToggleVisibility?"independent":"inherited"},layerListSettings:"initial",sublayerExtensions:{serializeModes:["initial","project"],serialize:()=>this.sublayerExtensions.map((e=>e.toItemUri())).toArray(),deserialize:e=>{_assignSublayerExtensions(this.sublayerExtensions,e,(e=>this._createSublayerExtension(e)))}},sublayer:{serializeModes:["initial","project"],serialize:()=>{if(this.sublayer){if(!this._layerExtension)return this._serializeSublayer(this._sublayer);{const e=getSublayerType(this._sublayer);if(this._originalRef)return{$ref:this._originalRef,$sublayerType:e};if(this._sublayer.title||this._sublayer.id)return{...this._createSublayerRef(),$sublayerType:e}}}else if(this._deferredSublayerProperties)return E(this._deferredSublayerProperties)},deserialize:e=>{if(j(e)){if(e!==this.sublayer)throw new Error("Property 'sublayer' is read-only.")}else{if(this._sublayer)return this._applySublayerProperties(e,this._sublayer);this._deferredSublayerProperties&&(this._deferredSublayerProperties={...this._deferredSublayerProperties,...e})}}},requestHelper:{serialize:!1}}}_createSublayerExtension(e){throw new t(A)}_createSchema(){return new T(this)}_createLayerListSettings(e){return new C(e)}_capabilities(){return F}async _onInitialize(){if(await super._onInitialize(),this._sublayer||this._deferredSublayerProperties?.$ref||(this._setSublayer(await this._createSublayer(this._deferredSublayerProperties)),this._deferredSublayerProperties=void 0),this._resolveSublayer(),!this._sublayer){const e=this._deferredSublayerProperties?.$ref;if(!this._layerExtension)throw new t("Cannot resolve sublayer reference: missing parent layer extension.");throw new t(`No sublayer found matching reference "${"string"==typeof e?e:JSON.stringify(e)}".`)}this._initialVisibility=this.sublayer.visible,this.supportsSublayers&&this._sublayerExtensions.onParentInitialized()}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}_createSublayerRef(){return{$ref:{id:b(this._sublayer)?this._sublayer.subtypeCode:this._sublayer.id,title:this._sublayer.title}}}_createSublayerExtensionCollection(){return new SubSublayerExtensionCollection(this)}_watchSublayerProperties(){this._watchHandles.push(this.sublayer.watch("minScale",(()=>this.notifyChange("effectiveMinScale")),!0),this.sublayer.watch("maxScale",(()=>this.notifyChange("effectiveMaxScale")),!0))}_setSublayer(e){this._sublayer=e,this._watchHandles.push(e.watch("visible",this._onSetSublayerVisible,!0)),this.supportsSublayers&&this._watchHandles.push(v(e,"sublayers",this._onSublayersChange,!0),w(e,"sublayers","visible",this._onSetSublayersSublayerVisible,!0)),this._onSetSublayerVisible(this.sublayer.visible),"exclusive"===this.visibilityMode&&this._ensureAtMostOneChildSublayerVisible(),this._watchSublayerProperties(),this.notifyChange("sublayer"),this.notifyChange("title"),this.notifyChange("effectiveMinScale"),this.notifyChange("effectiveMaxScale"),this.notifyChange("isEffectivelyVisible")}_onSetSublayerVisible=e=>{if("inherited"===this.visibilityMode&&this.supportsSublayers&&this.sublayerExtensions)for(const t of this.sublayerExtensions.toArray())t.sublayer&&t.canToggleVisibility&&(t.sublayer.visible=e);this.notifyChange("isEffectivelyVisible")};_onSetSublayersSublayerVisible=(e,t,i,s)=>{e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(s)};_onSublayersChange=e=>{e.added?.length&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(e.added[e.added.length-1])};_ensureAChildSublayerVisible(e){for(const t of this._sublayers.toArray())t!==e&&(t.visible=!1)}_ensureAtMostOneChildSublayerVisible(){this.sublayer&&this._sublayers&&this._ensureAChildSublayerVisible(this._sublayers.find((e=>e.visible)))}}let T=class extends a{_sublayerExtension;_sublayerBindings=new Map;constructor(e){super(),this._sublayerExtension=e,this._bindSettingsToSublayerProperties()}get spatialReference(){if(this._sublayerExtension.layerExtension)return this._sublayerExtension.layerExtension.schema.spatialReference}set spatialReference(e){throw new t("Cannot set sublayer schema spatial reference.")}_getPropertyBindings(){return{}}_bindSettingsToSublayerProperties(){const e=this._getPropertyBindings();for(const t of m(e)){let i=e[t];"string"==typeof i&&(i={property:i}),this._sublayerBindings.set(t,i),i.hasOwnProperty("value")||this._sublayerExtension.watch(`sublayer.${i.property}`,(()=>this.notifyChange(t)),!i.hasOwnProperty("sync")||i.sync)}}};T=e([n],T);export{T as SublayerSchema};export class SubSublayerExtensionCollection extends P{get _layerExtension(){return this._parent.layerExtension}constructor(e,t){super(e,t??"sublayer.sublayers")}add(e,i){if(c("sublayerX",e).isNotMissing(),!this._parent.supportsSublayers)throw new t(A);return e.sublayer&&this._parent.sublayer&&!this._parent.sublayer.sublayers&&(this._parent.sublayer.sublayers=[]),e.parentSublayerExtension&&e.parentSublayerExtension.sublayerExtensions.remove(e),super.add(e,i)}_onAdded(e){super._onAdded(e),e._setParentSublayerExtension(this._parent)}_onRemoved(e){super._onRemoved(e),e._setParentSublayerExtension(void 0)}}export function _assignSublayerExtensions(e,t,s){d(e,t,{onNew:(t,r)=>{try{e.add(i(t)?t:s(t),I(t)?void 0:r)}catch(e){V.warn({message:`Error occurred while adding sublayer extension for sublayer '${t.title??t.sublayer?.id??t.id}'.`,error:e})}},onMatch:(t,s,r,a)=>{try{i(s)||t.assignProperties(s),r===a||I(s)||e.reorder(t,a)}catch(e){V.warn({message:`Error occurred while assigning sublayer extension properties for sublayer '${t.title??t.sublayer?.id??t.id}'.`,error:e})}},equals:(e,t)=>i(t)?t===e:!!SublayerExtension._matchesRef(e.sublayer,t.sublayer,"both")||e.id===t.id})}function j(e){return e&&"function"==typeof e.get}function I(e){return i(e)?!!e._deferredSublayerProperties?.$ref:!j(e.sublayer)&&!!e.sublayer?.$ref}
|
|
1
|
+
import{__decorate as e}from"tslib";import{InvalidOperationError as t}from"../InvalidOperationError.js";import{isSublayerExtension as i,ItemType as s}from"../ItemType.js";import{FeatureSourceBase as r}from"../data/FeatureSourceBase.js";import{Schema as a}from"../data/Schema.js";import{serializable as n}from"../support/Serializable.js";import{isBuildingComponentSublayer as l,isBuildingGroupSublayer as o,isKMLSublayer as u,isMapImageSublayer as y,isMapNotesSublayer as h,isSubtypeSublayer as b,isTileLayer as f,isWMSSublayer as p,isWMTSSublayer as S}from"../utilities/_layers.js";import{checkArg as c}from"../utilities/checkArg.js";import{compare as d}from"../utilities/collection.js";import{load as _}from"../utilities/esri.js";import{parse as g}from"../utilities/format/number.js";import{getLogger as x}from"../utilities/log.js";import{deepClone as E,objectKeys as m}from"../utilities/object.js";import{onCollectionPropertyChange as v,watchCollectionPropertyEach as w}from"../utilities/watch.js";import{fromLayerListMode as M,LayerListSettings as C}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase as P}from"./support/_SublayerExtensionCollection.js";const V=x("SublayerExtension"),z="Invalid type of sublayer for this type of sublayer extension.",$="This type of layer does not have features.",A="This type of sublayer extension cannot have child sublayer extensions.",F=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1,supportsStandardizedQueries:!1});export function getSublayerType(e){if(y(e))return f(e?.layer)?"ArcGISTiledSublayer":"ArcGISMapServiceSublayer";if(u(e))return"KMLSublayer";if(S(e))return"WMTSSublayer";if(p(e))return"WMSSublayer";if(l(e))return"BuildingComponentSublayer";if(o(e))return"BuildingGroupSublayer";if(b(e))return"SubtypeSublayer";if(h(e))return"MapNotesSublayer";throw new Error(`Unknown sublayer type for sublayer: "${e?.title}"`)}export class SublayerExtension extends r{static factory;get sublayer(){return this._sublayer}get layerExtension(){return this._layerExtension}get parentSublayerExtension(){return this._parentSublayerExtension}get hasFeatures(){return!1}get sublayerExtensions(){return this._sublayerExtensions}get renderer(){}layerListSettings;get visibilityMode(){return this.canToggleVisibility?this._visibilityMode:"inherited"}set visibilityMode(e){c("visibilityMode",e).satisfies((e=>this.canToggleVisibility||"inherited"===e),'Sublayers of this type only support a visibility mode of "inherited".'),this._visibilityMode=e,"exclusive"===e&&this._ensureAtMostOneChildSublayerVisible()}get capabilities(){return this._capabilities()}get effectiveMinScale(){const e=this.sublayer?this.sublayer.minScale:0;if(this.parentSublayerExtension){const t=this.parentSublayerExtension.effectiveMinScale||1/0;if(t<(e||1/0))return t}if(this.layerExtension){const t=this.layerExtension.effectiveMinScale||1/0;if(t<(e||1/0))return t}return e}get effectiveMaxScale(){const e=this.sublayer?this.sublayer.maxScale:0;return this.parentSublayerExtension&&this.parentSublayerExtension.effectiveMaxScale>e?this.parentSublayerExtension.effectiveMaxScale:this.layerExtension&&this.layerExtension.effectiveMaxScale>e?this.layerExtension.effectiveMaxScale:e}get isEffectivelyVisible(){const e=!!this.sublayer&&this.sublayer.visible;return this.parentSublayerExtension?this.parentSublayerExtension.isEffectivelyVisible&&e:this.layerExtension?this.layerExtension.isEffectivelyVisible&&e:e}get title(){return this.sublayer?.title??("string"==typeof this._deferredSublayerProperties?.$ref||"number"==typeof this._deferredSublayerProperties?.$ref?this._deferredSublayerProperties?.$ref.toString():this._deferredSublayerProperties?.$ref?.title??this._deferredSublayerProperties?.$ref?.id.toString())??"Sublayer"}get supportsSublayers(){return!1}get canToggleVisibility(){return!0}get canChangeOpacity(){return!0}get canChangeScale(){return!0}get canChangeRenderer(){return!1}get canChangeLabels(){return!1}get canChangeDefinitionExpression(){return!1}get _layerSupportsHideChildren(){return!1}get _sublayerId(){return this.sublayer?.id??("number"==typeof this._deferredSublayerProperties?.$ref?this._deferredSublayerProperties?.$ref:this._deferredSublayerProperties?.$ref?.id)}get _sublayers(){if(this.supportsSublayers)return this.sublayer?.sublayers}get effectiveFullExtent(){return this._effectiveFullExtent?this._effectiveFullExtent:this.parentSublayerExtension?this.parentSublayerExtension.effectiveFullExtent:this.layerExtension?this.layerExtension.effectiveFullExtent:void 0}get initialVisibility(){return this._initialVisibility??this.sublayer?.visible??!1}_effectiveFullExtent;_itemType=s.SUBLAYER_EXTENSION;_watchHandles=[];_sublayerExtensions;_layerExtension;_parentSublayerExtension;_initialVisibility;_sublayer;_visibilityMode;_deferredSublayerProperties;_originalRef;constructor(e){super(e);const t=e||{};this._visibilityMode=this.canToggleVisibility?"independent":"inherited",this._sublayerExtensions=this._createSublayerExtensionCollection();const i=t.sublayer;let s;i?.hasOwnProperty("listMode")&&(s=M(i.listMode)),this.layerListSettings=this._createLayerListSettings({...s,...t.layerListSettings}),j(i)?(c("properties.sublayer",i).satisfies((e=>this._isSupportedSublayer(e)),z),this._setSublayer(i)):i&&(this._deferredSublayerProperties=i),this.watch("parentSublayerExtension.isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible")))}static create(e){if(!SublayerExtension.factory)throw new t("Cannot create sublayer extension: no sublayer extension factory has been registered.");return SublayerExtension.factory.create(e)}static _matchesRef(e,t,i){if(!e||!t)return!1;let s=t.$ref;if("string"==typeof s){const e=g(s);s={id:isNaN(e)?s:e,title:s}}else"number"==typeof s&&(s={id:s});const r=b(e)?e.subtypeCode:e.id;return"both"===i?r===s.id&&e.title===s.title:"by-id"===i?r===s.id:"by-title"===i&&e.title===s.title}getFeatures(e,i){if(!this.hasFeatures)throw new t($);return super.getFeatures(e,i)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,i){if(c("features",e).isNotMissing(),!this.hasFeatures)throw new t($);await super.addFeatures(e,i)}async updateFeatures(e,i){if(c("features",e).isNotMissing(),!this.hasFeatures)throw new t($);await super.updateFeatures(e,i)}async deleteFeatures(e,i){if(c("features",e).isNotMissing(),!this.hasFeatures)throw new t($);await super.deleteFeatures(e,i)}_resolveSublayer(){if(this._sublayer||!this._deferredSublayerProperties||!this.layerExtension?.layer||!this.layerExtension.layer.sublayers)return;const e=e=>t=>SublayerExtension._matchesRef(t,this._deferredSublayerProperties,e),t=this.layerExtension.layer.sublayers.flatten((e=>e.sublayers));let i=t.find(e("both"));if(i||(i=t.find(e("by-title"))),i||(i=t.find(e("by-id"))),i&&this._isSupportedSublayer(i)){this._setSublayer(i);const e={sublayer:{title:this.title,...this._deferredSublayerProperties}};this.assignProperties(e),this._originalRef=this._deferredSublayerProperties.$ref,this._deferredSublayerProperties=void 0}}_setLayerExtension(e){const t=this.layerExtension;this._layerExtension=e,this.layerExtension&&(this.layerExtension.watch("effectiveMinScale",(()=>this.notifyChange("effectiveMinScale"))),this.layerExtension.watch("effectiveMaxScale",(()=>this.notifyChange("effectiveMaxScale"))),this.layerExtension.watch("isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible")))),this._parentSublayerExtension||(t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=void 0)),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),this.taskSettings.parent||(this.taskSettings.parent=e.taskSettings))),this._resolveSublayer(),this.notifyChange("layerExtension"),this.supportsSublayers&&this._sublayerExtensions.onLayerExtensionChanged()}_setParentSublayerExtension(e){const t=this._parentSublayerExtension;this._parentSublayerExtension=e,this.parentSublayerExtension&&(this.parentSublayerExtension.watch("effectiveMinScale",(()=>this.notifyChange("effectiveMinScale"))),this.parentSublayerExtension.watch("effectiveMaxScale",(()=>this.notifyChange("effectiveMaxScale")))),t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=this.layerExtension?this.layerExtension.featureSettings.formatSettings:void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=this.layerExtension?this.layerExtension.taskSettings:void 0)),e&&((!this.featureSettings.formatSettings.parent||this.layerExtension&&this.featureSettings.formatSettings.parent===this.layerExtension.featureSettings.formatSettings)&&(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),(!this.taskSettings.parent||this.layerExtension&&this.taskSettings.parent===this.layerExtension.taskSettings)&&(this.taskSettings.parent=e.taskSettings)),this._resolveSublayer(),this.notifyChange("parentSublayerExtension")}async _switchSublayer(e){if(e===this.sublayer)return;c("newSublayer",e).isNotMissing().satisfies((e=>e.id===this.sublayer.id),"Sublayer ID must match existing sublayer.").satisfies((e=>this._isSupportedSublayer(e)),z),this.isInitialized&&await _(e);const t=new Map;if(this.sublayer?.sublayers)for(const e of this.sublayer.sublayers.toArray())t.set(e.id,this.sublayerExtensions.forSublayer(e));this.canToggleVisibility&&(e.visible=this.sublayer.visible),this.canChangeOpacity&&(e.opacity=this.sublayer.opacity),this._setSublayer(e);const i=[];if(this.supportsSublayers&&this.sublayer.sublayers){const e=this.sublayer.sublayers.filter((e=>t.has(e.id))).toArray();i.push(...e.map((async e=>{const i=t.get(e.id);await i._switchSublayer(e),this._sublayerExtensions._register(i)})))}this.isInitialized&&i.push(this._initializeChildren()),await Promise.all(i)}async _postInitialize(){await super._postInitialize(),this.supportsSublayers&&this._watchHandles.push(v(this,"sublayer.sublayers",(async e=>{const t=(e.added??[]).map((e=>this.sublayerExtensions.forSublayer(e)));await Promise.all(t.map(this._onSublayerAddedPostInitialize))})))}_onSublayerAddedPostInitialize=async e=>{try{await e.initialize()}catch(t){V.error({message:`Error occurred while initializing sublayer extension for sublayer '${e.title??e.sublayer.id??e.id}'.`,error:t})}};async _onDestroy(){this._watchHandles.forEach((e=>e?.remove())),await Promise.all(this.sublayerExtensions.toArray().map((e=>e.destroy()))),await super._onDestroy()}_getSerializableProperties(){return{...super._getSerializableProperties(),visibilityMode:{serializeModes:["initial"],default:this.canToggleVisibility?"independent":"inherited"},layerListSettings:"initial",sublayerExtensions:{serializeModes:["initial","project"],serialize:()=>this.sublayerExtensions.map((e=>e.toItemUri())).toArray(),deserialize:e=>{_assignSublayerExtensions(this.sublayerExtensions,e,(e=>this._createSublayerExtension(e)))}},sublayer:{serializeModes:["initial","project"],serialize:()=>{if(this.sublayer){if(!this._layerExtension)return this._serializeSublayer(this._sublayer);{const e=getSublayerType(this._sublayer);if(this._originalRef)return{$ref:this._originalRef,$sublayerType:e};if(this._sublayer.title||this._sublayer.id)return{...this._createSublayerRef(),$sublayerType:e}}}else if(this._deferredSublayerProperties)return E(this._deferredSublayerProperties)},deserialize:e=>{if(j(e)){if(e!==this.sublayer)throw new Error("Property 'sublayer' is read-only.")}else{if(this._sublayer)return this._applySublayerProperties(e,this._sublayer);this._deferredSublayerProperties&&(this._deferredSublayerProperties={...this._deferredSublayerProperties,...e})}}},requestHelper:{serialize:!1}}}_createSublayerExtension(e){throw new t(A)}_createSchema(){return new T(this)}_createLayerListSettings(e){return new C(e)}_capabilities(){return F}async _onInitialize(){if(await super._onInitialize(),this._sublayer||this._deferredSublayerProperties?.$ref||(this._setSublayer(await this._createSublayer(this._deferredSublayerProperties)),this._deferredSublayerProperties=void 0),this._resolveSublayer(),!this._sublayer){const e=this._deferredSublayerProperties?.$ref;if(!this._layerExtension)throw new t("Cannot resolve sublayer reference: missing parent layer extension.");throw new t(`No sublayer found matching reference "${"string"==typeof e?e:JSON.stringify(e)}".`)}this._initialVisibility=this.sublayer.visible,this.supportsSublayers&&this._sublayerExtensions.onParentInitialized()}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}_createSublayerRef(){return{$ref:{id:b(this._sublayer)?this._sublayer.subtypeCode:this._sublayer.id,title:this._sublayer.title}}}_createSublayerExtensionCollection(){return new SubSublayerExtensionCollection(this)}_watchSublayerProperties(){this._watchHandles.push(this.sublayer.watch("minScale",(()=>this.notifyChange("effectiveMinScale")),!0),this.sublayer.watch("maxScale",(()=>this.notifyChange("effectiveMaxScale")),!0))}_setSublayer(e){this._sublayer=e,this._watchHandles.push(e.watch("visible",this._onSetSublayerVisible,!0)),this.supportsSublayers&&this._watchHandles.push(v(e,"sublayers",this._onSublayersChange,!0),w(e,"sublayers","visible",this._onSetSublayersSublayerVisible,!0)),this._onSetSublayerVisible(this.sublayer.visible),"exclusive"===this.visibilityMode&&this._ensureAtMostOneChildSublayerVisible(),this._watchSublayerProperties(),this.notifyChange("sublayer"),this.notifyChange("title"),this.notifyChange("effectiveMinScale"),this.notifyChange("effectiveMaxScale"),this.notifyChange("isEffectivelyVisible")}_onSetSublayerVisible=e=>{if("inherited"===this.visibilityMode&&this.supportsSublayers&&this.sublayerExtensions)for(const t of this.sublayerExtensions.toArray())t.sublayer&&t.canToggleVisibility&&(t.sublayer.visible=e);this.notifyChange("isEffectivelyVisible")};_onSetSublayersSublayerVisible=(e,t,i,s)=>{e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(s)};_onSublayersChange=e=>{e.added?.length&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(e.added[e.added.length-1])};_ensureAChildSublayerVisible(e){for(const t of this._sublayers.toArray())t!==e&&(t.visible=!1)}_ensureAtMostOneChildSublayerVisible(){this.sublayer&&this._sublayers&&this._ensureAChildSublayerVisible(this._sublayers.find((e=>e.visible)))}}let T=class extends a{_sublayerExtension;_sublayerBindings=new Map;constructor(e){super(),this._sublayerExtension=e,this._bindSettingsToSublayerProperties()}get spatialReference(){if(this._sublayerExtension.layerExtension)return this._sublayerExtension.layerExtension.schema.spatialReference}set spatialReference(e){throw new t("Cannot set sublayer schema spatial reference.")}_getPropertyBindings(){return{}}_bindSettingsToSublayerProperties(){const e=this._getPropertyBindings();for(const t of m(e)){let i=e[t];"string"==typeof i&&(i={property:i}),this._sublayerBindings.set(t,i),i.hasOwnProperty("value")||this._sublayerExtension.watch(`sublayer.${i.property}`,(()=>this.notifyChange(t)),!i.hasOwnProperty("sync")||i.sync)}}};T=e([n],T);export{T as SublayerSchema};export class SubSublayerExtensionCollection extends P{get _layerExtension(){return this._parent.layerExtension}constructor(e,t){super(e,t??"sublayer.sublayers")}add(e,i){if(c("sublayerX",e).isNotMissing(),!this._parent.supportsSublayers)throw new t(A);return e.sublayer&&this._parent.sublayer&&!this._parent.sublayer.sublayers&&(this._parent.sublayer.sublayers=[]),e.parentSublayerExtension&&e.parentSublayerExtension.sublayerExtensions.remove(e),super.add(e,i)}_onAdded(e){super._onAdded(e),e._setParentSublayerExtension(this._parent)}_onRemoved(e){super._onRemoved(e),e._setParentSublayerExtension(void 0)}}export function _assignSublayerExtensions(e,t,s){d(e,t,{onNew:(t,r)=>{try{e.add(i(t)?t:s(t),I(t)?void 0:r)}catch(e){V.warn({message:`Error occurred while adding sublayer extension for sublayer '${t.title??t.sublayer?.id??t.id}'.`,error:e})}},onMatch:(t,s,r,a)=>{try{i(s)||t.assignProperties(s),r===a||I(s)||e.reorder(t,a)}catch(e){V.warn({message:`Error occurred while assigning sublayer extension properties for sublayer '${t.title??t.sublayer?.id??t.id}'.`,error:e})}},equals:(e,t)=>i(t)?t===e:!!SublayerExtension._matchesRef(e.sublayer,t.sublayer,"both")||e.id===t.id})}function j(e){return e&&"function"==typeof e.set}function I(e){return i(e)?!!e._deferredSublayerProperties?.$ref:!j(e.sublayer)&&!!e.sublayer?.$ref}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createFeatureServices as e}from"@arcgis/core/rest/featureService/utils";import{FeatureSaveError as t}from"../../data/FeatureSaveError.js";import{applyEditsProcessEditedFeatures as a,applyEditsProcessResults as s}from"../../support/_featureEdit.js";import{getGdbVersion as r}from"../../utilities/_version.js";import{isFeatureLayerExtension as d,isSubtypeGroupLayerExtension as u,isSubtypeSublayerExtension as i}from"../../utilities/extensions.js";import{map as o}from"../../utilities/iterable.js";import{getGlobalIdField as l,isGlobalIdUsed as n}from"./layers.js";export async function applyEdits(c){const{addFeatures:p=[],updateFeatures:F=[],deleteFeatures:m=[]}=c,f=new Map,h=new WeakMap,g=new WeakMap,y=new WeakMap,E=(e,t)=>{const a=(e=>d(e.source)||u(e.source)?e.source.layer:i(e.source)?e.source.layerExtension.layer:e.source.table)(e),s=l(a),{objectIdField:r}=a;f.has(a)||f.set(a,{id:a.layerId,identifierFields:{globalIdField:s,objectIdField:r},addFeatures:[],updateFeatures:[],deleteFeatures:[],addAttachments:void 0,updateAttachments:void 0,deleteAttachments:void 0});const o=f.get(a),n=e.toGraphic();"updateFeatures"===t&&e.source?.schema.fieldExtensions.forEach((e=>{e.field.editable||e.field.name===r||e.field.name===s||delete n.attributes[e.field.name]})),o[t].push(n);let c=h;"updateFeatures"===t?c=g:"deleteFeatures"===t&&(c=y),c.has(a)||c.set(a,[]),c.get(a).push(e)};p.forEach((e=>E(e,"addFeatures"))),F.forEach((e=>E(e,"updateFeatures"))),m.forEach((e=>E(e,"deleteFeatures")));const
|
|
1
|
+
import{createFeatureServices as e}from"@arcgis/core/rest/featureService/utils";import{FeatureSaveError as t}from"../../data/FeatureSaveError.js";import{applyEditsProcessEditedFeatures as a,applyEditsProcessResults as s}from"../../support/_featureEdit.js";import{getGdbVersion as r}from"../../utilities/_version.js";import{isFeatureLayerExtension as d,isSubtypeGroupLayerExtension as u,isSubtypeSublayerExtension as i}from"../../utilities/extensions.js";import{map as o}from"../../utilities/iterable.js";import{getGlobalIdField as l,isGlobalIdUsed as n}from"./layers.js";export async function applyEdits(c){const{addFeatures:p=[],updateFeatures:F=[],deleteFeatures:m=[]}=c,f=new Map,h=new WeakMap,g=new WeakMap,y=new WeakMap,E=(e,t)=>{const a=(e=>d(e.source)||u(e.source)?e.source.layer:i(e.source)?e.source.layerExtension.layer:e.source.table)(e),s=l(a),{objectIdField:r}=a;f.has(a)||f.set(a,{id:a.layerId,identifierFields:{globalIdField:s,objectIdField:r},addFeatures:[],updateFeatures:[],deleteFeatures:[],addAttachments:void 0,updateAttachments:void 0,deleteAttachments:void 0});const o=f.get(a),n=e.toGraphic();"updateFeatures"===t&&e.source?.schema.fieldExtensions.forEach((e=>{e.field.editable||e.field.name===r||e.field.name===s||delete n.attributes[e.field.name]})),o[t].push(n);let c=h;"updateFeatures"===t?c=g:"deleteFeatures"===t&&(c=y),c.has(a)||c.set(a,[]),c.get(a).push(e)};p.forEach((e=>E(e,"addFeatures"))),F.forEach((e=>E(e,"updateFeatures"))),m.forEach((e=>E(e,"deleteFeatures")));const b=e([...f.keys()]),w=new t("Errors encountered when applying edits."),v=await Promise.all(o(b.values(),(async({featureService:e,layers:t})=>{await e.load();const d=[];t.forEach((e=>{d.push(f.get(e))}));try{const u=await e.applyEdits(d,{globalIdUsed:t.every((e=>n(e,f.get(e)))),gdbVersion:t[0].gdbVersion??r(t[0].customParameters)});for(const e of u){const r=t.find((t=>t.layerId===e.id));null!=r&&(s(r,h.get(r),e.addFeatureResults,"add",w),s(r,g.get(r),e.updateFeatureResults,"update",w),s(r,y.get(r),e.deleteFeatureResults,"delete",w),null!=e.editedFeatures&&a(r,{adds:h.get(r),updates:g.get(r)},e.editedFeatures),r.emit("edits",{deletedFeatures:e.deleteFeatureResults??[],updatedFeatures:e.updateFeatureResults??[],addedFeatures:e.addFeatureResults??[],deletedAttachments:[],updatedAttachments:[]}))}return u}catch(e){return w.errors.set("",e),[]}})));if(w.errors.size>0)throw w;return v}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vertigis/arcgis-extensions",
|
|
3
3
|
"license": "SEE LICENSE IN LICENSE",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "49.0.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://dev.azure.com/vertigis/Studio/_git/arcgis-extensions-ts"
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
"whatwg-fetch": "3.6.20"
|
|
113
113
|
},
|
|
114
114
|
"peerDependencies": {
|
|
115
|
-
"@arcgis/core": "4.
|
|
115
|
+
"@arcgis/core": "4.32.10",
|
|
116
116
|
"tslib": "^2.6.2"
|
|
117
117
|
},
|
|
118
118
|
"overrides": {
|
package/portal/FeatureLayer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"@arcgis/core/core/Collection";import r from"@arcgis/core/layers/support/Field";import t from"@arcgis/core/portal/Portal";import o from"@arcgis/core/portal/PortalItem";import i from"@arcgis/core/rest/support/DirectionLine";import a from"@arcgis/core/rest/support/DirectionPoint";import s from"@arcgis/core/rest/support/PointBarrier";import n from"@arcgis/core/rest/support/PolygonBarrier";import l from"@arcgis/core/rest/support/PolylineBarrier";import p from"@arcgis/core/rest/support/RouteInfo";import y from"@arcgis/core/rest/support/Stop";import{isCSVLayer as f,isFeatureLayer as u,isGraphicsLayer as c,isStreamLayer as m,isMapNotesLayer as d,isRouteLayer as g}from"../utilities/_layers.js";import{groupBy as P}from"../utilities/array.js";import{checkArg as h}from"../utilities/checkArg.js";import{isGraphic as L}from"../utilities/esri.js";import{isNumeric as T}from"../utilities/number.js";import{caseInsensitiveEquals as b}from"../utilities/string.js";import{Feature as E}from"./Feature.js";import{Field as I}from"./Field.js";import{FormInfo as A}from"./FormInfo.js";import{GeometryType as w}from"./Geometry.js";import{LayerDefinition as D}from"./LayerDefinition.js";import{PopupInfo as G}from"./PopupInfo.js";import{defaultLineRenderer as O,defaultPointRenderer as F,defaultPolygonRenderer as _}from"./Renderer.js";import{toEsriApiSymbol as C}from"./Symbol.js";import{Type as S}from"./Type.js";import{GRAPHICS_LAYER_ID as v}from"./_FeatureLayer.js";import{ERR_LAYER_TYPE_MISMATCH as M,applyLayerBaseToEsriApiLayer as N,applyOperationalLayerToEsriApiLayer as R,fromEsriApiLayerToLayerBase as j,fromEsriApiLayerToOperationalLayer as x}from"./_layerHelper.js";const V="Feature layer graphics must have the same geometry types.",k="graphic-id";export const POLYGON_LAYER_TITLE_3X="Areas";export const POLYGON_LAYER_TITLE_4X="Polygons";export const POLYLINE_LAYER_TITLE_3X="Lines";export const POLYLINE_LAYER_TITLE_4X="Polylines";export const MULTIPOINTS_LAYER_TITLE="Multipoints";export const POINTS_LAYER_TITLE="Points";export const TEXT_LAYER_TITLE="Text";const J=[{layerProperty:"polygonLayer",title:"Areas",geometryType:"esriGeometryPolygon",version:3},{layerProperty:"polygonLayer",title:"Polygons",geometryType:"esriGeometryPolygon",version:4},{layerProperty:"polylineLayer",title:"Lines",geometryType:"esriGeometryPolyline",version:3},{layerProperty:"polylineLayer",title:"Polylines",geometryType:"esriGeometryPolyline",version:4},{layerProperty:"multipointLayer",title:"Multipoints",geometryType:"esriGeometryMultipoint",version:4},{layerProperty:"pointLayer",title:"Points",geometryType:"esriGeometryPoint",version:4},{layerProperty:"textLayer",title:"Text",geometryType:"esriGeometryPoint",version:4}],B=[{layerProperty:"routeInfo",title:"RouteInfo",geometryType:"esriGeometryPolyline"},{layerProperty:"directionLines",title:"DirectionLines",geometryType:"esriGeometryPolyline"},{layerProperty:"directionPoints",title:"DirectionPoints",geometryType:"esriGeometryPoint"},{layerProperty:"stops",title:"Stops",geometryType:"esriGeometryPoint"},{layerProperty:"pointBarriers",title:"PointBarriers",geometryType:"esriGeometryPoint",updateConfigProperty:"readPointBarriers"},{layerProperty:"polylineBarriers",title:"PolylineBarriers",geometryType:"esriGeometryPolyline"},{layerProperty:"polygonBarriers",title:"PolygonBarriers",geometryType:"esriGeometryPolygon"}];export var FeatureLayer;!function(i){async function a(i,a,p){h("layerJson",i).isNotMissing(),h("layerJson.layerType",i.layerType).satisfies((e=>!e||"ArcGISFeatureLayer"===e||"ArcGISStreamLayer"===e||"CSV"===e),M),h("layer",a).isNotMissing().satisfies((e=>u(e)||m(e)||f(e)||c(e)||d(e)||g(e)),M),u(a)||m(a)||f(a)?(h("layerJson",i).satisfies((e=>!s(e))),i.hasOwnProperty("disablePopup")&&(a.popupEnabled=!i.disablePopup),i.hasOwnProperty("screenSizePerspective")&&(a.screenSizePerspectiveEnabled=i.screenSizePerspective),i.hasOwnProperty("showLabels")&&(a.labelsVisible=i.showLabels),i.hasOwnProperty("featureCollection")?(h("layerJson.url",i).satisfies((e=>!e.url)),h("layerJson.featureCollection.layers",i.featureCollection?.layers).isNotMissing(),h("layerJson.featureCollection.layers",i.featureCollection?.layers).satisfies((e=>1===e.length)),await async function(r,t){const o=r.featureCollection.layers[0];if(N(r,t),R(r,t),t.legendEnabled=r.featureCollection.showLegend,o.hasOwnProperty("layerDefinition")){const e=o.layerDefinition;await D.applyToEsriApiLayer(e,t),t.version=U(e),e.hasOwnProperty("types")&&(t.types=e.types.map((e=>S.toEsriApiFeatureType(e))))}o.hasOwnProperty("popupInfo")&&(t.popupTemplate=G.toEsriApiPopupTemplate(o.popupInfo));o.hasOwnProperty("formInfo")&&(t.formTemplate=A.toEsriApiFormTemplate(o.formInfo));t.source||(t.source=new e);o.hasOwnProperty("featureSet")&&o.featureSet.geometryType&&(t.geometryType=w.toEsriApiGeometryType(o.featureSet.geometryType),o.featureSet.features&&!t.loaded&&(t.source.removeAll(),t.source.addMany(o.featureSet.features.map(E.toEsriApiGraphic))))}(i,a)):(h("layerJson.source",i).satisfies((e=>!e.featureCollection)),await async function(e,r,i){N(e,r),R(e,r),e.hasOwnProperty("url")&&(r.url=e.url);u(r)&&(e.hasOwnProperty("itemId")&&(r.portalItem?r.portalItem.id=e.itemId:r.portalItem=new o({id:e.itemId,portal:i||t.getDefault()})),e.hasOwnProperty("formInfo")&&(r.formTemplate=A.toEsriApiFormTemplate(e.formInfo)));e.hasOwnProperty("popupInfo")&&(r.popupTemplate=G.toEsriApiPopupTemplate(e.popupInfo));e.hasOwnProperty("mode")&&(r.mode=e.mode);e.hasOwnProperty("layerDefinition")&&(await D.applyToEsriApiLayer(e.layerDefinition,r),r.version=U(e.layerDefinition))}(i,a,p))):c(a)?(i.hasOwnProperty("featureCollection")&&h("layerJson",i).satisfies(s),function(e,r){N(e,r),r.id=r.id.replace(v,"");const t=r;t._fields||(t._fields=[]);e.featureCollectionType&&(r.featureCollectionType=e.featureCollectionType);if(e.featureCollection?.layers){const o=e.featureCollection.layers.filter((e=>!!e.featureSet?.features)),i=Y(o);t._fields=[...$(o,t._fields)];const a=e=>e.attributes[k];i.every((e=>"number"==typeof a(e)))&&i.sort(((e,r)=>a(e)>a(r)?1:a(e)<a(r)?-1:0));for(const e of i.toArray())delete e.attributes[k];r.graphics.removeAll(),r.graphics.addMany(i)}}(i,a)):d(a)?(i.hasOwnProperty("featureCollection")&&h("layerJson",i).satisfies(n),function(e,r){N(e,r),R(e,r);const t=r;t._fields||(t._fields=[]);let o=0;for(const t of J){const i=r[t.layerProperty],a=e.featureCollection?.layers.find((e=>e.layerDefinition?.name===t.title));if(i&&a){e.visibleLayers&&(i.visible=e.visibleLayers.includes(o));const r=Y([a]);i.graphics.addMany(r),o++}}t._fields=$(e.featureCollection?.layers??[],t._fields)}(i,a)):g(a)&&(i.hasOwnProperty("featureCollection")&&h("layerJson",i).satisfies(l),function(e,t){N(e,t),R(e,t);const o=t;o._fields||(o._fields=[]);const i={};let a=1;for(const o of B){const s=e.featureCollection?.layers.find((e=>e.layerDefinition?.name===o.title));if(s){let e=t._fields?.find((e=>"global-id"===e.type))?.name;if(!e){const o=new r({type:"global-id",name:"globalid"});t._fields.push(o),s.layerDefinition.fields=(s.layerDefinition.fields??[]).concat(I.fromEsriApiField(o)),e=o.name}let n=Y([s]);switch(n.forEach((r=>r.setAttribute(e,a++))),o.layerProperty){case"routeInfo":n=n.map((e=>fromRouteLayerGraphic(e,"route-info"))).getItemAt(0);break;case"directionLines":n=n.map((e=>fromRouteLayerGraphic(e,"direction-line")));break;case"directionPoints":n=n.map((e=>fromRouteLayerGraphic(e,"direction-point")));break;case"stops":n=n.map((e=>fromRouteLayerGraphic(e,"stop")));break;case"pointBarriers":n=n.map((e=>fromRouteLayerGraphic(e,"barrier-point")));break;case"polylineBarriers":n=n.map((e=>fromRouteLayerGraphic(e,"barrier-line")));break;case"polygonBarriers":n=n.map((e=>fromRouteLayerGraphic(e,"barrier-area")))}i[o.updateConfigProperty??o.layerProperty]=n}}i.routeInfo&&t.update(i);o._fields=$(e.featureCollection?.layers??[],o._fields)}(i,a)),u(a)&&i.customParameters?.hasOwnProperty("gdbVersion")&&(a.gdbVersion=i.customParameters.gdbVersion);const y=i.capabilities??i.layerDefinition?.capabilities;null!=y&&u(a)&&(a.editingEnabled=y.toLowerCase().split(",").includes("editing"))}function s(e){return e.id?.startsWith(v)||e.$ref&&"graphics-layer"===e.$ref.subtype||"ArcGISFeatureLayer"===e.layerType&&e.featureCollection?.layers?.length>1}function n(e){return"notes"===e.featureCollectionType||e.$ref&&"map-notes-layer"===e.$ref.subtype}function l(e){return"route"===e.featureCollectionType||e.$ref&&"route-layer"===e.$ref.subtype}i.esriFeatureLayerDefaults={labelsVisible:!0,legendEnabled:!0,popupEnabled:!0,hasM:!1,hasZ:!1,visible:!0,opacity:1,wkid:4326,minScale:0,maxScale:0,screenSizePerspective:!0},i.toEsriApiLayer=async function(e,r){let t;return h("layerJson",e).isNotMissing(),h("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISFeatureLayer"===e),M),t=n(e)?new((await import("@arcgis/core/layers/MapNotesLayer")).default):l(e)?new((await import("@arcgis/core/layers/RouteLayer")).default):s(e)?new((await import("@arcgis/core/layers/GraphicsLayer")).default):new((await import("@arcgis/core/layers/FeatureLayer")).default),function(e){if(!e.featureCollection?.layers)return;for(const r of e.featureCollection.layers)if(r.layerDefinition?.geometryType){r.layerDefinition.drawingInfo=r.layerDefinition.drawingInfo||{};let{renderer:e}=r.layerDefinition.drawingInfo;if(!e)switch(r.layerDefinition.geometryType){case"esriGeometryPoint":case"esriGeometryMultipoint":e=F;break;case"esriGeometryPolyline":e=O;break;case"esriGeometryPolygon":case"esriGeometryEnvelope":e=_}r.layerDefinition.drawingInfo.renderer=e}}(e),await a(e,t,r),t},i.applyToEsriApiLayer=a,i.fromEsriApiFeatureLayer=function(r){h("layer",r).isNotMissing(),h("layer.source",r).satisfies((r=>!(e.isCollection(r.source)&&r.url)),"Feature layer must have a URL or a source, but not both.");const t={...j(r,i.esriFeatureLayerDefaults),...x(r),layerType:"ArcGISFeatureLayer"};return r.popupEnabled!==i.esriFeatureLayerDefaults.popupEnabled&&(t.disablePopup=!r.popupEnabled),r.screenSizePerspectiveEnabled!==i.esriFeatureLayerDefaults.screenSizePerspective&&(t.screenSizePerspective=r.screenSizePerspectiveEnabled),r.labelsVisible!==i.esriFeatureLayerDefaults.labelsVisible&&(t.showLabels=r.labelsVisible),u(r)&&r.gdbVersion&&(t.customParameters={...t.customParameters,gdbVersion:r.gdbVersion}),u(r)&&e.isCollection(r.source)?function(e,r){h("layer",e).isNotMissing(),h("featureLayer",r).isNotMissing(),h("layer.geometryType",e.geometryType).isNotMissing(),h("layer.source",e).satisfies(q,V);const t={featureSet:{features:e.source.map(E.fromEsriApiGraphic).toArray(),geometryType:w.fromEsriApiGeometryType(e.geometryType)},layerDefinition:D.fromEsriApiLayer(e)};e.types&&(t.layerDefinition.types=e.types.map((e=>S.fromEsriApiFeatureType(e))));e.typeIdField&&(t.layerDefinition.typeIdField=e.typeIdField);e.popupTemplate&&(t.popupInfo=G.fromEsriApiPopupTemplate(e.popupTemplate));e.formTemplate&&(r.formInfo=A.fromEsriApiFormTemplate(e.formTemplate));r.featureCollection={layers:[t],showLegend:e.legendEnabled}}(r,t):X(r,t),t},i.fromEsriApiMapNotesLayer=function(e){h("layer",e).isNotMissing();const r={...j(e,i.esriFeatureLayerDefaults),layerType:"ArcGISFeatureLayer",featureCollectionType:"notes",visibleLayers:[],featureCollection:{layers:[],showLegend:!1}};let t=-1;for(const o of J.filter((e=>4===e.version))){t++;const{layerProperty:i,geometryType:a}=o,s=e[i];if(!s)continue;const{graphics:n}=s,l=H({layer:e,geometryType:a,graphics:n,layerDefinition:D.fromEsriApiLayer(s),includeAllFields:!0});r.featureCollection.layers.push(l),s.visible&&r.visibleLayers.push(t)}return r},i.fromEsriApiRouteLayer=function(e){h("layer",e).isNotMissing();const r={...j(e,i.esriFeatureLayerDefaults),layerType:"ArcGISFeatureLayer",featureCollectionType:"route",visibleLayers:[],featureCollection:{layers:[],showLegend:!1}},t=D.fromEsriApiLayer(e);for(const o of B){const{layerProperty:i,geometryType:a}=o,s="routeInfo"===i?e[i]&&[toRouteLayerGraphic(e[i])]:e[i]?.toArray().map(toRouteLayerGraphic);if(!s?.length)continue;const n=H({layer:e,geometryType:a,graphics:s,layerDefinition:{...t,name:o.title,type:"Feature Layer"}});r.featureCollection.layers.push(n),r.visibleLayers.push(r.visibleLayers.length)}return r},i.fromEsriApiGraphicsLayer=function(e){h("layer",e).isNotMissing();const r={...j(e,i.esriFeatureLayerDefaults),layerType:"ArcGISFeatureLayer",featureCollection:{layers:[],showLegend:!1}};if(r.id=v+r.id,!e.graphics)return r;const t=P(e.graphics.toArray(),(e=>w.fromEsriApiGeometryType(e.geometry.type))),o=D.fromEsriApiLayer(e);for(const[i,a]of t.entries()){const t=H({layer:e,geometryType:i,graphics:a.map((r=>({graphic:r,attributes:{[k]:e.graphics.indexOf(r)}}))),layerDefinition:o});r.featureCollection.layers.push(t)}return r},i.isGraphicsLayerJson=s,i.isFeatureCollection=function(e){return!e.id?.startsWith(v)&&e.$ref&&"feature-collection-layer"===e.$ref.subtype||1===e.featureCollection?.layers?.length},i.isMapNotesLayerJson=n,i.isRouteLayerJson=l}(FeatureLayer||(FeatureLayer={}));export var FeatureLayerMode;function Y(r){const t=new e;for(const e of r){if(!e.featureSet?.features)return t;t.addMany(e.featureSet.features.map(E.toEsriApiGraphic)),t.forEach((r=>{null===r.symbol&&(r.symbol=z(r,e.layerDefinition))})),e.popupInfo&&t.forEach((r=>{null===r.popupTemplate&&(r.popupTemplate=G.toEsriApiPopupTemplate(e.popupInfo))}))}return t}function $(e,r=[]){const t=new Map;r.forEach((e=>t.set(e.name,e)));for(const r of e)r.layerDefinition?.fields?.forEach((e=>{t.set(e.name,I.toEsriApiField(e))}));return[...t.values()]}function z(e,r){let t;if(r?.drawingInfo?.renderer)if("uniqueValue"===r.drawingInfo.renderer.type&&r.drawingInfo.renderer.uniqueValueInfos.length>0){const{uniqueValueInfos:o}=r.drawingInfo.renderer,i=o.find((r=>r.value===e.attributes.TYPEID.toString()));i&&(t=C(i.symbol))}else"simple"===r.drawingInfo.renderer.type&&(t=C(r.drawingInfo.renderer.symbol));return t}function X(e,r){h("layer",e).isNotMissing(),h("featureLayer",r).isNotMissing(),u(e)?(r.url=T(e.layerId)?`${e.url}/${e.layerId}`:e.url,e.portalItem&&(r.itemId=e.portalItem.id),e.formTemplate&&(r.formInfo=A.fromEsriApiFormTemplate(e.formTemplate))):r.url=e.url,r.layerDefinition=D.fromEsriApiLayer(e,FeatureLayer.esriFeatureLayerDefaults),e.popupTemplate&&(r.popupInfo=G.fromEsriApiPopupTemplate(e.popupTemplate)),isNaN(e.mode)||(r.mode=e.mode)}function U(e){return e.currentVersion?e.currentVersion:e.hasOwnProperty("capabilities")||e.hasOwnProperty("drawingInfo")||e.hasOwnProperty("hasAttachments")||e.hasOwnProperty("htmlPopupType")||e.hasOwnProperty("relationships")||e.hasOwnProperty("timeInfo")||e.hasOwnProperty("typeIdField")||e.hasOwnProperty("types")?10:void 0}function q(e){return!(e.source&&e.source.length>0)||e.source.every((r=>r.geometry.type===e.geometryType))}function H(e){const{geometryType:r,graphics:t,layerDefinition:o,layer:i,includeAllFields:a}=e,s=i?._fields?.map((e=>I.fromEsriApiField(e)))??[],n=new Set(a?s:[]),l={featureSet:{features:[],geometryType:r},layerDefinition:{geometryType:r,fields:[],...o}};for(const e of t){const[r,t]=L(e)?[e,void 0]:[e.graphic,e.attributes];if(t){r.attributes||(r.attributes={});for(const[e,o]of Object.entries(t))r.attributes[e]=o}const o=E.fromEsriApiGraphic(r);for(const[e,t]of Object.entries(r.attributes??{})){let r=s.find((r=>b(r.name,e)));r?n.add(r):(r={name:e,alias:e,editable:!0,nullable:!0},"number"==typeof t?r.type="esriFieldTypeDouble":t instanceof Date?r.type="esriFieldTypeDate":r.type="esriFieldTypeString",s.push(r),n.add(r))}l.featureSet.features.push(o)}return l.layerDefinition.fields=[...n],l.layerDefinition.objectIdField=l.layerDefinition.fields.find((e=>"esriFieldTypeOID"===e.type))?.name,l}!function(e){e[e.MODE_SNAPSHOT=0]="MODE_SNAPSHOT",e[e.MODE_ONDEMAND=1]="MODE_ONDEMAND",e[e.MODE_SELECTION=2]="MODE_SELECTION",e[e.MODE_AUTO=6]="MODE_AUTO"}(FeatureLayerMode||(FeatureLayerMode={}));const W="__gcxGlobalId";export function fromRouteLayerGraphic(e,r){let t;switch(r){case"polygon-barrier":t=n.fromGraphic(e);break;case"polyline-barrier":t=l.fromGraphic(e);break;case"point-barrier":t=s.fromGraphic(e);break;case"direction-line":t=i.fromGraphic(e);break;case"direction-point":t=a.fromGraphic(e);break;case"route-info":t=p.fromGraphic(e);break;case"stop":t=y.fromGraphic(e)}return t[W]=e.getAttribute("globalid"),t}export function toRouteLayerGraphic(e){const r=e.toGraphic();return e[W]&&r.setAttribute("globalid",e[W]),r}
|
|
1
|
+
import e from"@arcgis/core/core/Collection";import r from"@arcgis/core/layers/support/Field";import t from"@arcgis/core/portal/Portal";import o from"@arcgis/core/portal/PortalItem";import i from"@arcgis/core/rest/support/DirectionLine";import a from"@arcgis/core/rest/support/DirectionPoint";import s from"@arcgis/core/rest/support/PointBarrier";import n from"@arcgis/core/rest/support/PolygonBarrier";import l from"@arcgis/core/rest/support/PolylineBarrier";import p from"@arcgis/core/rest/support/RouteInfo";import y from"@arcgis/core/rest/support/Stop";import{isCSVLayer as f,isFeatureLayer as u,isGraphicsLayer as c,isStreamLayer as m,isMapNotesLayer as d,isRouteLayer as g}from"../utilities/_layers.js";import{groupBy as P}from"../utilities/array.js";import{checkArg as L}from"../utilities/checkArg.js";import{isGraphic as h}from"../utilities/esri.js";import{isNumeric as T}from"../utilities/number.js";import{caseInsensitiveEquals as b}from"../utilities/string.js";import{Feature as E}from"./Feature.js";import{Field as I}from"./Field.js";import{FormInfo as w}from"./FormInfo.js";import{GeometryType as A}from"./Geometry.js";import{LayerDefinition as D}from"./LayerDefinition.js";import{PopupInfo as G}from"./PopupInfo.js";import{defaultLineRenderer as O,defaultPointRenderer as F,defaultPolygonRenderer as _}from"./Renderer.js";import{toEsriApiSymbol as C}from"./Symbol.js";import{Type as S}from"./Type.js";import{GRAPHICS_LAYER_ID as v}from"./_FeatureLayer.js";import{ERR_LAYER_TYPE_MISMATCH as M,applyLayerBaseToEsriApiLayer as N,applyOperationalLayerToEsriApiLayer as R,fromEsriApiLayerToLayerBase as j,fromEsriApiLayerToOperationalLayer as x}from"./_layerHelper.js";const V="Feature layer graphics must have the same geometry types.",k="graphic-id";export const POLYGON_LAYER_TITLE_3X="Areas";export const POLYGON_LAYER_TITLE_4X="Polygons";export const POLYLINE_LAYER_TITLE_3X="Lines";export const POLYLINE_LAYER_TITLE_4X="Polylines";export const MULTIPOINTS_LAYER_TITLE="Multipoints";export const POINTS_LAYER_TITLE="Points";export const TEXT_LAYER_TITLE="Text";const B=[{layerProperty:"polygonLayer",title:"Areas",geometryType:"esriGeometryPolygon",version:3},{layerProperty:"polygonLayer",title:"Polygons",geometryType:"esriGeometryPolygon",version:4},{layerProperty:"polylineLayer",title:"Lines",geometryType:"esriGeometryPolyline",version:3},{layerProperty:"polylineLayer",title:"Polylines",geometryType:"esriGeometryPolyline",version:4},{layerProperty:"multipointLayer",title:"Multipoints",geometryType:"esriGeometryMultipoint",version:4},{layerProperty:"pointLayer",title:"Points",geometryType:"esriGeometryPoint",version:4},{layerProperty:"textLayer",title:"Text",geometryType:"esriGeometryPoint",version:4}],J=[{layerProperty:"routeInfo",title:"RouteInfo",geometryType:"esriGeometryPolyline"},{layerProperty:"directionLines",title:"DirectionLines",geometryType:"esriGeometryPolyline"},{layerProperty:"directionPoints",title:"DirectionPoints",geometryType:"esriGeometryPoint"},{layerProperty:"stops",title:"Stops",geometryType:"esriGeometryPoint"},{layerProperty:"pointBarriers",title:"PointBarriers",geometryType:"esriGeometryPoint",updateConfigProperty:"readPointBarriers"},{layerProperty:"polylineBarriers",title:"PolylineBarriers",geometryType:"esriGeometryPolyline"},{layerProperty:"polygonBarriers",title:"PolygonBarriers",geometryType:"esriGeometryPolygon"}];export var FeatureLayer;!function(i){async function a(i,a,p){L("layerJson",i).isNotMissing(),L("layerJson.layerType",i.layerType).satisfies((e=>!e||"ArcGISFeatureLayer"===e||"ArcGISStreamLayer"===e||"CSV"===e),M),L("layer",a).isNotMissing().satisfies((e=>u(e)||m(e)||f(e)||c(e)||d(e)||g(e)),M),u(a)||m(a)||f(a)?(L("layerJson",i).satisfies((e=>!s(e))),i.hasOwnProperty("disablePopup")&&(a.popupEnabled=!i.disablePopup),i.hasOwnProperty("screenSizePerspective")&&(a.screenSizePerspectiveEnabled=i.screenSizePerspective),i.hasOwnProperty("showLabels")&&(a.labelsVisible=i.showLabels),i.hasOwnProperty("featureCollection")?(L("layerJson.url",i).satisfies((e=>!e.url)),L("layerJson.featureCollection.layers",i.featureCollection?.layers).isNotMissing(),L("layerJson.featureCollection.layers",i.featureCollection?.layers).satisfies((e=>1===e.length)),await async function(r,t){const o=r.featureCollection.layers[0];if(N(r,t),R(r,t),t.legendEnabled=r.featureCollection.showLegend,o.hasOwnProperty("layerDefinition")){const e=o.layerDefinition;await D.applyToEsriApiLayer(e,t),t.version=U(e),e.hasOwnProperty("types")&&(t.types=e.types.map((e=>S.toEsriApiFeatureType(e))))}o.hasOwnProperty("popupInfo")&&(t.popupTemplate=G.toEsriApiPopupTemplate(o.popupInfo));o.hasOwnProperty("formInfo")&&(t.formTemplate=w.toEsriApiFormTemplate(o.formInfo));t.source||(t.source=new e);o.hasOwnProperty("featureSet")&&o.featureSet.geometryType&&(t.geometryType=A.toEsriApiGeometryType(o.featureSet.geometryType),o.featureSet.features&&!t.loaded&&(t.source.removeAll(),t.source.addMany(o.featureSet.features.map(E.toEsriApiGraphic))))}(i,a)):(L("layerJson.source",i).satisfies((e=>!e.featureCollection)),await async function(e,r,i){N(e,r),R(e,r),e.hasOwnProperty("url")&&(r.url=e.url);u(r)&&(e.hasOwnProperty("itemId")&&(r.portalItem?r.portalItem.id=e.itemId:r.portalItem=new o({id:e.itemId,portal:i||t.getDefault()})),e.hasOwnProperty("formInfo")&&(r.formTemplate=w.toEsriApiFormTemplate(e.formInfo)));e.hasOwnProperty("popupInfo")&&(r.popupTemplate=G.toEsriApiPopupTemplate(e.popupInfo));e.hasOwnProperty("mode")&&(r.mode=e.mode);e.hasOwnProperty("layerDefinition")&&(await D.applyToEsriApiLayer(e.layerDefinition,r),r.version=U(e.layerDefinition))}(i,a,p))):c(a)?(i.hasOwnProperty("featureCollection")&&L("layerJson",i).satisfies(s),function(e,r){N(e,r),r.id=r.id.replace(v,"");const t=r;t._fields||(t._fields=[]);e.featureCollectionType&&(r.featureCollectionType=e.featureCollectionType);if(e.featureCollection?.layers){const o=e.featureCollection.layers.filter((e=>!!e.featureSet?.features)),i=Y(o);t._fields=[...$(o,t._fields)];const a=e=>e.attributes[k];i.every((e=>"number"==typeof a(e)))&&i.sort(((e,r)=>a(e)>a(r)?1:a(e)<a(r)?-1:0));for(const e of i.toArray())delete e.attributes[k];r.graphics.removeAll(),r.graphics.addMany(i)}}(i,a)):d(a)?(i.hasOwnProperty("featureCollection")&&L("layerJson",i).satisfies(n),function(e,r){N(e,r),R(e,r);const t=r;t._fields||(t._fields=[]);let o=0;for(const t of B){const i=r[t.layerProperty],a=e.featureCollection?.layers.find((e=>e.layerDefinition?.name===t.title));if(i&&a){e.visibleLayers&&(i.visible=e.visibleLayers.includes(o));const r=Y([a]);i.graphics.addMany(r),o++}}t._fields=$(e.featureCollection?.layers??[],t._fields)}(i,a)):g(a)&&(i.hasOwnProperty("featureCollection")&&L("layerJson",i).satisfies(l),function(t,o){N(t,o),R(t,o);const i=o;i._fields||(i._fields=[]);const a={directionLines:new e,directionPoints:new e,pointBarriers:new e,polygonBarriers:new e,polylineBarriers:new e,stops:new e};let s=1;for(const e of J){const i=t.featureCollection?.layers.find((r=>r.layerDefinition?.name===e.title));if(i){let t=o._fields?.find((e=>"global-id"===e.type))?.name;if(!t){const e=new r({type:"global-id",name:"globalid"});o._fields.push(e),i.layerDefinition.fields=(i.layerDefinition.fields??[]).concat(I.fromEsriApiField(e)),t=e.name}let n=Y([i]);switch(n.forEach((e=>e.setAttribute(t,s++))),e.layerProperty){case"routeInfo":n=n.map((e=>fromRouteLayerGraphic(e,"route-info"))).getItemAt(0);break;case"directionLines":n=n.map((e=>fromRouteLayerGraphic(e,"direction-line")));break;case"directionPoints":n=n.map((e=>fromRouteLayerGraphic(e,"direction-point")));break;case"stops":n=n.map((e=>fromRouteLayerGraphic(e,"stop")));break;case"pointBarriers":n=n.map((e=>fromRouteLayerGraphic(e,"barrier-point")));break;case"polylineBarriers":n=n.map((e=>fromRouteLayerGraphic(e,"barrier-line")));break;case"polygonBarriers":n=n.map((e=>fromRouteLayerGraphic(e,"barrier-area")))}a[e.updateConfigProperty??e.layerProperty]=n}}a.routeInfo&&o.update(a);i._fields=$(t.featureCollection?.layers??[],i._fields)}(i,a)),u(a)&&i.customParameters?.hasOwnProperty("gdbVersion")&&(a.gdbVersion=i.customParameters.gdbVersion);const y=i.capabilities??i.layerDefinition?.capabilities;null!=y&&u(a)&&(a.editingEnabled=y.toLowerCase().split(",").includes("editing"))}function s(e){return e.id?.startsWith(v)||e.$ref&&"graphics-layer"===e.$ref.subtype||"ArcGISFeatureLayer"===e.layerType&&e.featureCollection?.layers?.length>1}function n(e){return"notes"===e.featureCollectionType||e.$ref&&"map-notes-layer"===e.$ref.subtype}function l(e){return"route"===e.featureCollectionType||e.$ref&&"route-layer"===e.$ref.subtype}i.esriFeatureLayerDefaults={labelsVisible:!0,legendEnabled:!0,popupEnabled:!0,hasM:!1,hasZ:!1,visible:!0,opacity:1,wkid:4326,minScale:0,maxScale:0,screenSizePerspective:!0},i.toEsriApiLayer=async function(e,r){let t;return L("layerJson",e).isNotMissing(),L("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISFeatureLayer"===e),M),t=n(e)?new((await import("@arcgis/core/layers/MapNotesLayer")).default):l(e)?new((await import("@arcgis/core/layers/RouteLayer")).default):s(e)?new((await import("@arcgis/core/layers/GraphicsLayer")).default):new((await import("@arcgis/core/layers/FeatureLayer")).default),function(e){if(!e.featureCollection?.layers)return;for(const r of e.featureCollection.layers)if(r.layerDefinition?.geometryType){r.layerDefinition.drawingInfo=r.layerDefinition.drawingInfo||{};let{renderer:e}=r.layerDefinition.drawingInfo;if(!e)switch(r.layerDefinition.geometryType){case"esriGeometryPoint":case"esriGeometryMultipoint":e=F;break;case"esriGeometryPolyline":e=O;break;case"esriGeometryPolygon":case"esriGeometryEnvelope":e=_}r.layerDefinition.drawingInfo.renderer=e}}(e),await a(e,t,r),t},i.applyToEsriApiLayer=a,i.fromEsriApiFeatureLayer=function(r){L("layer",r).isNotMissing(),L("layer.source",r).satisfies((r=>!(e.isCollection(r.source)&&r.url)),"Feature layer must have a URL or a source, but not both.");const t={...j(r,i.esriFeatureLayerDefaults),...x(r),layerType:"ArcGISFeatureLayer"};return r.popupEnabled!==i.esriFeatureLayerDefaults.popupEnabled&&(t.disablePopup=!r.popupEnabled),r.screenSizePerspectiveEnabled!==i.esriFeatureLayerDefaults.screenSizePerspective&&(t.screenSizePerspective=r.screenSizePerspectiveEnabled),r.labelsVisible!==i.esriFeatureLayerDefaults.labelsVisible&&(t.showLabels=r.labelsVisible),u(r)&&r.gdbVersion&&(t.customParameters={...t.customParameters,gdbVersion:r.gdbVersion}),u(r)&&e.isCollection(r.source)?function(e,r){L("layer",e).isNotMissing(),L("featureLayer",r).isNotMissing(),L("layer.geometryType",e.geometryType).isNotMissing(),L("layer.source",e).satisfies(q,V);const t={featureSet:{features:e.source.map(E.fromEsriApiGraphic).toArray(),geometryType:A.fromEsriApiGeometryType(e.geometryType)},layerDefinition:D.fromEsriApiLayer(e)};e.types&&(t.layerDefinition.types=e.types.map((e=>S.fromEsriApiFeatureType(e))));e.typeIdField&&(t.layerDefinition.typeIdField=e.typeIdField);e.popupTemplate&&(t.popupInfo=G.fromEsriApiPopupTemplate(e.popupTemplate));e.formTemplate&&(r.formInfo=w.fromEsriApiFormTemplate(e.formTemplate));r.featureCollection={layers:[t],showLegend:e.legendEnabled}}(r,t):X(r,t),t},i.fromEsriApiMapNotesLayer=function(e){L("layer",e).isNotMissing();const r={...j(e,i.esriFeatureLayerDefaults),layerType:"ArcGISFeatureLayer",featureCollectionType:"notes",visibleLayers:[],featureCollection:{layers:[],showLegend:!1}};let t=-1;for(const o of B.filter((e=>4===e.version))){t++;const{layerProperty:i,geometryType:a}=o,s=e[i];if(!s)continue;const{graphics:n}=s,l=H({layer:e,geometryType:a,graphics:n,layerDefinition:D.fromEsriApiLayer(s),includeAllFields:!0});r.featureCollection.layers.push(l),s.visible&&r.visibleLayers.push(t)}return r},i.fromEsriApiRouteLayer=function(e){L("layer",e).isNotMissing();const r={...j(e,i.esriFeatureLayerDefaults),layerType:"ArcGISFeatureLayer",featureCollectionType:"route",visibleLayers:[],featureCollection:{layers:[],showLegend:!1}},t=D.fromEsriApiLayer(e);for(const o of J){const{layerProperty:i,geometryType:a}=o,s="routeInfo"===i?e[i]&&[toRouteLayerGraphic(e[i])]:e[i]?.toArray().map(toRouteLayerGraphic);if(!s?.length)continue;const n=H({layer:e,geometryType:a,graphics:s,layerDefinition:{...t,name:o.title,type:"Feature Layer"}});r.featureCollection.layers.push(n),r.visibleLayers.push(r.visibleLayers.length)}return r},i.fromEsriApiGraphicsLayer=function(e){L("layer",e).isNotMissing();const r={...j(e,i.esriFeatureLayerDefaults),layerType:"ArcGISFeatureLayer",featureCollection:{layers:[],showLegend:!1}};if(r.id=v+r.id,!e.graphics)return r;const t=P(e.graphics.toArray(),(e=>A.fromEsriApiGeometryType(e.geometry.type))),o=D.fromEsriApiLayer(e);for(const[i,a]of t.entries()){const t=H({layer:e,geometryType:i,graphics:a.map((r=>({graphic:r,attributes:{[k]:e.graphics.indexOf(r)}}))),layerDefinition:o});r.featureCollection.layers.push(t)}return r},i.isGraphicsLayerJson=s,i.isFeatureCollection=function(e){return!e.id?.startsWith(v)&&e.$ref&&"feature-collection-layer"===e.$ref.subtype||1===e.featureCollection?.layers?.length},i.isMapNotesLayerJson=n,i.isRouteLayerJson=l}(FeatureLayer||(FeatureLayer={}));export var FeatureLayerMode;function Y(r){const t=new e;for(const e of r){if(!e.featureSet?.features)return t;t.addMany(e.featureSet.features.map(E.toEsriApiGraphic)),t.forEach((r=>{null===r.symbol&&(r.symbol=z(r,e.layerDefinition))})),e.popupInfo&&t.forEach((r=>{null===r.popupTemplate&&(r.popupTemplate=G.toEsriApiPopupTemplate(e.popupInfo))}))}return t}function $(e,r=[]){const t=new Map;r.forEach((e=>t.set(e.name,e)));for(const r of e)r.layerDefinition?.fields?.forEach((e=>{t.set(e.name,I.toEsriApiField(e))}));return[...t.values()]}function z(e,r){let t;if(r?.drawingInfo?.renderer)if("uniqueValue"===r.drawingInfo.renderer.type&&r.drawingInfo.renderer.uniqueValueInfos.length>0){const{uniqueValueInfos:o}=r.drawingInfo.renderer,i=o.find((r=>r.value===e.attributes.TYPEID.toString()));i&&(t=C(i.symbol))}else"simple"===r.drawingInfo.renderer.type&&(t=C(r.drawingInfo.renderer.symbol));return t}function X(e,r){L("layer",e).isNotMissing(),L("featureLayer",r).isNotMissing(),u(e)?(r.url=T(e.layerId)?`${e.url}/${e.layerId}`:e.url,e.portalItem&&(r.itemId=e.portalItem.id),e.formTemplate&&(r.formInfo=w.fromEsriApiFormTemplate(e.formTemplate))):r.url=e.url,r.layerDefinition=D.fromEsriApiLayer(e,FeatureLayer.esriFeatureLayerDefaults),e.popupTemplate&&(r.popupInfo=G.fromEsriApiPopupTemplate(e.popupTemplate)),isNaN(e.mode)||(r.mode=e.mode)}function U(e){return e.currentVersion?e.currentVersion:e.hasOwnProperty("capabilities")||e.hasOwnProperty("drawingInfo")||e.hasOwnProperty("hasAttachments")||e.hasOwnProperty("htmlPopupType")||e.hasOwnProperty("relationships")||e.hasOwnProperty("timeInfo")||e.hasOwnProperty("typeIdField")||e.hasOwnProperty("types")?10:void 0}function q(e){return!(e.source&&e.source.length>0)||e.source.every((r=>r.geometry.type===e.geometryType))}function H(e){const{geometryType:r,graphics:t,layerDefinition:o,layer:i,includeAllFields:a}=e,s=i?._fields?.map((e=>I.fromEsriApiField(e)))??[],n=new Set(a?s:[]),l={featureSet:{features:[],geometryType:r},layerDefinition:{geometryType:r,fields:[],...o}};for(const e of t){const[r,t]=h(e)?[e,void 0]:[e.graphic,e.attributes];if(t){r.attributes||(r.attributes={});for(const[e,o]of Object.entries(t))r.attributes[e]=o}const o=E.fromEsriApiGraphic(r);for(const[e,t]of Object.entries(r.attributes??{})){let r=s.find((r=>b(r.name,e)));r?n.add(r):(r={name:e,alias:e,editable:!0,nullable:!0},"number"==typeof t?r.type="esriFieldTypeDouble":t instanceof Date?r.type="esriFieldTypeDate":r.type="esriFieldTypeString",s.push(r),n.add(r))}l.featureSet.features.push(o)}return l.layerDefinition.fields=[...n],l.layerDefinition.objectIdField=l.layerDefinition.fields.find((e=>"esriFieldTypeOID"===e.type))?.name,l}!function(e){e[e.MODE_SNAPSHOT=0]="MODE_SNAPSHOT",e[e.MODE_ONDEMAND=1]="MODE_ONDEMAND",e[e.MODE_SELECTION=2]="MODE_SELECTION",e[e.MODE_AUTO=6]="MODE_AUTO"}(FeatureLayerMode||(FeatureLayerMode={}));const W="__gcxGlobalId";export function fromRouteLayerGraphic(e,r){let t;switch(r){case"polygon-barrier":t=n.fromGraphic(e);break;case"polyline-barrier":t=l.fromGraphic(e);break;case"point-barrier":t=s.fromGraphic(e);break;case"direction-line":t=i.fromGraphic(e);break;case"direction-point":t=a.fromGraphic(e);break;case"route-info":t=p.fromGraphic(e);break;case"stop":t=y.fromGraphic(e)}return t[W]=e.getAttribute("globalid"),t}export function toRouteLayerGraphic(e){const r=e.toGraphic();return e[W]&&r.setAttribute("globalid",e[W]),r}
|
|
@@ -19,7 +19,7 @@ export declare namespace FeatureReduction {
|
|
|
19
19
|
* @deprecated Use "json/*" modules instead.
|
|
20
20
|
* @param layer The Layer object to convert.
|
|
21
21
|
*/
|
|
22
|
-
function fromEsriApiLayer(layer: EsriFeatureLayer | EsriCSVLayer | EsriSceneLayer): FeatureReduction;
|
|
22
|
+
function fromEsriApiLayer(layer: EsriFeatureLayer | EsriCSVLayer | EsriSceneLayer): FeatureReduction | undefined;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
25
|
* Feature reductions declutter the screen by hiding features that would
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{checkArg as e}from"../utilities/checkArg.js";export var FeatureReduction;!function(t){t.applyToEsriApiLayer=async function(t,i){e("json",t).isNotMissing(),e("layer",i).isNotMissing(),i.featureReduction="selection"===t.type?(await import("@arcgis/core/layers/support/FeatureReductionSelection")).default.fromJSON(t):(await import("@arcgis/core/layers/support/FeatureReductionCluster")).default.fromJSON(t)},t.fromEsriApiLayer=function(t){return e("layer",t).isNotMissing(),t.featureReduction
|
|
1
|
+
import{checkArg as e}from"../utilities/checkArg.js";export var FeatureReduction;!function(t){t.applyToEsriApiLayer=async function(t,i){e("json",t).isNotMissing(),e("layer",i).isNotMissing(),i.featureReduction="selection"===t.type?(await import("@arcgis/core/layers/support/FeatureReductionSelection")).default.fromJSON(t):(await import("@arcgis/core/layers/support/FeatureReductionCluster")).default.fromJSON(t)},t.fromEsriApiLayer=function(t){return e("layer",t).isNotMissing(),t.featureReduction?.toJSON()}}(FeatureReduction||(FeatureReduction={}));
|
package/portal/Lighting.d.ts
CHANGED
package/portal/Symbol.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type EsriSymbol from "@arcgis/core/symbols/Symbol";
|
|
2
|
+
import type { SymbolUnion } from "@arcgis/core/unionTypes.js";
|
|
2
3
|
import type { SymbolType as EsriApiSymbolType } from "../support/esri.js";
|
|
3
4
|
import type { CIMSymbol } from "./CIMSymbol.js";
|
|
4
5
|
import type { PictureFillSymbol } from "./PictureFillSymbol.js";
|
|
@@ -36,7 +37,7 @@ export interface SymbolBase {
|
|
|
36
37
|
* @deprecated Use "json/*" modules instead.
|
|
37
38
|
* @param symbolJson The symbol json to convert.
|
|
38
39
|
*/
|
|
39
|
-
export declare function toEsriApiSymbol(symbolJson: Symbol | Symbol3D):
|
|
40
|
+
export declare function toEsriApiSymbol(symbolJson: Symbol | Symbol3D): SymbolUnion | undefined;
|
|
40
41
|
/**
|
|
41
42
|
* Converts an Esri JavaScript API symbol object to its Portal JSON
|
|
42
43
|
* representation.
|
package/portal/Widgets.d.ts
CHANGED
package/support/esri.d.ts
CHANGED
|
@@ -32,7 +32,7 @@ export type EsriError = __esri.Error;
|
|
|
32
32
|
export type EsriErrorDetails = __esri.EsriErrorDetails;
|
|
33
33
|
export type EventHandler = __esri.EventHandler;
|
|
34
34
|
export type FeatureEditResult = __esri.FeatureEditResult;
|
|
35
|
-
export type FeatureLayerApplyEdits = __esri.
|
|
35
|
+
export type FeatureLayerApplyEdits = __esri.FeatureLayerApplyEditsEdits;
|
|
36
36
|
export type FeatureLayerCapabilities = __esri.Capabilities;
|
|
37
37
|
export type FeatureLayerElevationInfo = __esri.FeatureLayerBaseElevationInfo;
|
|
38
38
|
export type FeatureLayerProperties = __esri.FeatureLayerProperties;
|
|
@@ -74,10 +74,11 @@ export type MapNotesSublayer = __esri.MapNotesSublayer;
|
|
|
74
74
|
export type FeatureLayerBase = __esri.FeatureLayerBase;
|
|
75
75
|
export type EditedFeatureResult = __esri.EditedFeatureResult;
|
|
76
76
|
export type EditedFeatureResultEditedFeatures = __esri.EditedFeatureResultEditedFeatures;
|
|
77
|
-
export type
|
|
77
|
+
export type FeatureLayerApplyEditsEdits = __esri.FeatureLayerApplyEditsEdits;
|
|
78
78
|
export type locatorAddressToLocationsParams = __esri.locatorAddressToLocationsParams;
|
|
79
79
|
export type locatorAddressesToLocationsParams = __esri.locatorAddressesToLocationsParams;
|
|
80
80
|
export type locatorSuggestLocationsParams = __esri.locatorSuggestLocationsParams;
|
|
81
|
+
export type FeatureIdentifier = __esri.FeatureIdentifier;
|
|
81
82
|
export type TimeIntervalUnits = __esri.TimeIntervalProperties["unit"];
|
|
82
83
|
export type WebMapTimeSliderObject = __esri.TimeSlider;
|
|
83
84
|
export type WebMapWidgetsObject = __esri.Widgets;
|
|
@@ -86,7 +87,7 @@ export type FeatureEditResultError = __esri.FeatureEditResultError;
|
|
|
86
87
|
export type Domain = __esri.CodedValueDomain | __esri.InheritedDomain | __esri.RangeDomain;
|
|
87
88
|
export type ServiceEditsResult = __esri.ServiceEditsResult;
|
|
88
89
|
export type FeatureServiceApplyEditsEdits = __esri.FeatureServiceApplyEditsEdits;
|
|
89
|
-
export type
|
|
90
|
+
export type FeatureLayerApplyEditsOptions = __esri.FeatureLayerApplyEditsOptions;
|
|
90
91
|
export type FeatureService = __esri.FeatureService;
|
|
91
92
|
export type FeatureServiceResourcesBundle = __esri.FeatureServiceResourcesBundle;
|
|
92
93
|
export interface PointCloudLayerCachedStatistics {
|
|
@@ -220,11 +221,11 @@ export type ChangeEventCallback<T> = (event: ChangeEvent<T>) => void;
|
|
|
220
221
|
/**
|
|
221
222
|
* A callback that is invoked for an item..
|
|
222
223
|
*/
|
|
223
|
-
export type ItemCallback<T> =
|
|
224
|
+
export type ItemCallback<T> = __esri.ItemCallback<T>;
|
|
224
225
|
/**
|
|
225
226
|
* A callback that is invoked when testing an item for a condition.
|
|
226
227
|
*/
|
|
227
|
-
export type ItemTestCallback<T> =
|
|
228
|
+
export type ItemTestCallback<T> = __esri.ItemTestCallback<T>;
|
|
228
229
|
/**
|
|
229
230
|
* A callback that is invoked when mapping an item to another item.
|
|
230
231
|
*/
|
|
@@ -252,7 +253,7 @@ export interface SublayerLike extends AccessorLike {
|
|
|
252
253
|
/**
|
|
253
254
|
* A collection of child sublayers. Not all sublayer types support this.
|
|
254
255
|
*/
|
|
255
|
-
sublayers?: Collection<SublayerLike
|
|
256
|
+
sublayers?: Collection<SublayerLike> | undefined;
|
|
256
257
|
/**
|
|
257
258
|
* The human readable title of the sublayer.
|
|
258
259
|
*/
|
|
@@ -323,6 +324,20 @@ export declare const wellKnownBasemapTitles: Record<WellKnownBasemap, string>;
|
|
|
323
324
|
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-support-BufferParameters.html#unit}.
|
|
324
325
|
*/
|
|
325
326
|
export type DistanceUnit = __esri.DistanceParameters["distanceUnit"];
|
|
327
|
+
/**
|
|
328
|
+
* Units for linear measurements.
|
|
329
|
+
*
|
|
330
|
+
* @deprecated Since version 4.32. Use 'LengthUnit' instead.
|
|
331
|
+
*
|
|
332
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-geometryEngine.html#LinearUnits Read more...}.
|
|
333
|
+
*/
|
|
334
|
+
export type LinearUnits = __esri.LinearUnits;
|
|
335
|
+
/**
|
|
336
|
+
* Units for lengths.
|
|
337
|
+
*
|
|
338
|
+
* {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-core-units.html#LengthUnit Read more...}.
|
|
339
|
+
*/
|
|
340
|
+
export type LengthUnit = __esri.LengthUnit;
|
|
326
341
|
/**
|
|
327
342
|
* Esri JS API sublayer types.
|
|
328
343
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
|
|
2
2
|
import type { FeatureSource } from "../../data/FeatureSource.js";
|
|
3
3
|
import type { BuildingComponentSublayerExtension } from "../../mapping/BuildingComponentSublayerExtension.js";
|
|
4
4
|
import { HitTestIdentifyProvider } from "./HitTestIdentifyProvider.js";
|
|
@@ -8,6 +8,6 @@ import type { IdentifyOptions } from "./IdentifyOptions.js";
|
|
|
8
8
|
* volumetric 3D graphics rendered on the map.
|
|
9
9
|
*/
|
|
10
10
|
export declare class BuildingComponentSublayerHitTestIdentifyProvider extends HitTestIdentifyProvider {
|
|
11
|
-
isSupported(source: FeatureSource, geometry:
|
|
11
|
+
isSupported(source: FeatureSource, geometry: GeometryUnion, options?: IdentifyOptions): boolean;
|
|
12
12
|
protected _supportsQuery(featureSource: BuildingComponentSublayerExtension): boolean;
|
|
13
13
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
|
|
2
2
|
import type { FeatureSource } from "../../data/FeatureSource.js";
|
|
3
3
|
import { HitTestIdentifyProvider } from "./HitTestIdentifyProvider.js";
|
|
4
4
|
import type { IdentifyOptions } from "./IdentifyOptions.js";
|
|
@@ -7,6 +7,6 @@ import type { IdentifyOptions } from "./IdentifyOptions.js";
|
|
|
7
7
|
* rendered on the map.
|
|
8
8
|
*/
|
|
9
9
|
export declare class CSVLayer3DHitTestIdentifyProvider extends HitTestIdentifyProvider {
|
|
10
|
-
isSupported(source: FeatureSource, geometry:
|
|
10
|
+
isSupported(source: FeatureSource, geometry: GeometryUnion, options?: IdentifyOptions): boolean;
|
|
11
11
|
protected _supportsQuery(): boolean;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isCSVLayerExtension as e}from"../../utilities/extensions.js";import{isVolumetric as r}from"../../utilities/symbol.js";import{HitTestIdentifyProvider as s}from"./HitTestIdentifyProvider.js";export class CSVLayer3DHitTestIdentifyProvider extends s{isSupported(s,t
|
|
1
|
+
import{isCSVLayerExtension as e}from"../../utilities/extensions.js";import{isVolumetric as r}from"../../utilities/symbol.js";import{HitTestIdentifyProvider as s}from"./HitTestIdentifyProvider.js";export class CSVLayer3DHitTestIdentifyProvider extends s{isSupported(s,i,t){return super.isSupported(s,i,t)&&e(s)&&"scene"===s.mapExtension?.viewMode&&!!s._layerView?.view&&(s.layer.capabilities?.data?.supportsZ||(o=s.layer.renderer??void 0,"simple"===o?.type&&r(o.symbol))||function(e){return"class-breaks"===e?.type&&e.classBreakInfos.map((e=>e.symbol)).some(r)}(s.renderer)||function(e){return("unique-value"===e?.type&&e.uniqueValueInfos?.map((e=>e.symbol)).some(r))??!1}(s.layer.renderer??void 0));var o}_supportsQuery(){return!1}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
|
|
2
2
|
import type { Feature } from "../../data/Feature.js";
|
|
3
3
|
import type { FeatureSource } from "../../data/FeatureSource.js";
|
|
4
4
|
import type { CountResult } from "../CountResult.js";
|
|
@@ -11,13 +11,13 @@ export declare class CSVLayerClientSideQueryIdentifyProvider extends IdentifyPro
|
|
|
11
11
|
/**
|
|
12
12
|
* @inheritDoc
|
|
13
13
|
*/
|
|
14
|
-
isSupported(source: FeatureSource, geometry:
|
|
14
|
+
isSupported(source: FeatureSource, geometry: GeometryUnion, options?: IdentifyOptions): boolean;
|
|
15
15
|
/**
|
|
16
16
|
* @inheritDoc
|
|
17
17
|
*/
|
|
18
|
-
protected _identify(source: FeatureSource, geometry:
|
|
18
|
+
protected _identify(source: FeatureSource, geometry: GeometryUnion, options: IdentifyOptions, geometryType: string): AsyncIterable<Feature>;
|
|
19
19
|
/**
|
|
20
20
|
* @inheritDoc
|
|
21
21
|
*/
|
|
22
|
-
protected _count(source: FeatureSource, geometry:
|
|
22
|
+
protected _count(source: FeatureSource, geometry: GeometryUnion, options: IdentifyOptions, geometryType: string): Promise<CountResult>;
|
|
23
23
|
}
|
|
@@ -44,6 +44,6 @@ export declare abstract class ClientSideIdentifyProvider extends IdentifyProvide
|
|
|
44
44
|
* @param options Options for the query.
|
|
45
45
|
* @param aggregateIds The ObjectIds of cluster features to query with.
|
|
46
46
|
*/
|
|
47
|
-
protected _createQuery(source: ClientSideIdentifiableLayerExtension | ClientSideQueryableSublayerExtension, geometry: Geometry | undefined, options: IdentifyOptions, aggregateIds?: number[]): Query;
|
|
47
|
+
protected _createQuery(source: ClientSideIdentifiableLayerExtension | ClientSideQueryableSublayerExtension, geometry: Geometry | undefined, options: IdentifyOptions, aggregateIds?: (string | number | undefined)[]): Query;
|
|
48
48
|
protected _getClientSideLayerGraphics(source: ClientSideIdentifiableLayerExtension | ClientSideQueryableSublayerExtension, geometry: Geometry, options: IdentifyOptions, geometryType?: string): Promise<Graphic[] | undefined>;
|
|
49
49
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
|
|
2
2
|
import type { FeatureSource } from "../../data/FeatureSource.js";
|
|
3
3
|
import { FeatureLayerQueryProvider } from "../query/FeatureLayerQueryProvider.js";
|
|
4
4
|
import { HitTestIdentifyProvider } from "./HitTestIdentifyProvider.js";
|
|
@@ -9,5 +9,5 @@ import type { IdentifyOptions } from "./IdentifyOptions.js";
|
|
|
9
9
|
*/
|
|
10
10
|
export declare class FeatureLayer3DHitTestIdentifyProvider extends HitTestIdentifyProvider {
|
|
11
11
|
queryProvider: FeatureLayerQueryProvider;
|
|
12
|
-
isSupported(source: FeatureSource, geometry:
|
|
12
|
+
isSupported(source: FeatureSource, geometry: GeometryUnion, options?: IdentifyOptions): boolean;
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isPoint as e}from"../../utilities/esri.js";import{isFeatureLayerExtension as r}from"../../utilities/extensions.js";import{isVolumetric as t}from"../../utilities/symbol.js";import{FeatureLayerQueryProvider as
|
|
1
|
+
import{isPoint as e}from"../../utilities/esri.js";import{isFeatureLayerExtension as r}from"../../utilities/extensions.js";import{isVolumetric as t}from"../../utilities/symbol.js";import{FeatureLayerQueryProvider as i}from"../query/FeatureLayerQueryProvider.js";import{HitTestIdentifyProvider as s}from"./HitTestIdentifyProvider.js";export class FeatureLayer3DHitTestIdentifyProvider extends s{queryProvider=new i;isSupported(i,s,o){return super.isSupported(i,s,o)&&r(i)&&"scene"===i.mapExtension?.viewMode&&(i.layer.hasZ||(n=i.layer.renderer??void 0,"simple"===n?.type&&t(n.symbol))||function(e){return"class-breaks"===e?.type&&e.classBreakInfos.map((e=>e.symbol)).some(t)}(i.renderer)||function(e){return("unique-value"===e?.type&&e.uniqueValueInfos?.map((e=>e.symbol)).some(t))??!1}(i.layer.renderer??void 0))&&s&&!!i._layerView?.view?.extent?.intersects(e(s)?s:s.extent);var n}}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type Graphic from "@arcgis/core/Graphic";
|
|
2
|
-
import type
|
|
2
|
+
import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
|
|
3
3
|
import type { FeatureSource } from "../../data/FeatureSource.js";
|
|
4
4
|
import type { FeatureLayerExtension } from "../../mapping/FeatureLayerExtension.js";
|
|
5
5
|
import { ClientSideIdentifyProvider } from "./ClientSideIdentifyProvider.js";
|
|
@@ -12,6 +12,6 @@ export declare class FeatureLayerClientSideIdentifyProvider extends ClientSideId
|
|
|
12
12
|
/**
|
|
13
13
|
* @inheritDoc
|
|
14
14
|
*/
|
|
15
|
-
isSupported(source: FeatureSource, geometry:
|
|
16
|
-
protected _getClientSideLayerGraphics(source: FeatureLayerExtension, geometry:
|
|
15
|
+
isSupported(source: FeatureSource, geometry: GeometryUnion, options?: IdentifyOptions): boolean;
|
|
16
|
+
protected _getClientSideLayerGraphics(source: FeatureLayerExtension, geometry: GeometryUnion, options: IdentifyOptions, geometryType?: string): Promise<Graphic[] | undefined>;
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{cancelifyWithAbortSignal as e}from"../../support/Cancellable.js";import{isPoint as t}from"../../utilities/esri.js";import{isFeatureLayer as i}from"../../utilities/layers.js";import{ClientSideIdentifyProvider as r}from"./ClientSideIdentifyProvider.js";import{hitTestForClusterFeatures as a}from"./_utilities.js";export class FeatureLayerClientSideIdentifyProvider extends r{isSupported(e,r,a){return i(e.layer)&&e.enableClientSideData&&r&&!!e._layerView?.view?.extent?.intersects(t(r)?r:r.extent)&&0!==e._layerView.availableFields.length&&(a?.outFields??e.featureSettings.outFields).every((t=>e._layerView.availableFields.includes(t)))}async _getClientSideLayerGraphics(t,i,r,l){let s=[];if("cluster"===t.layer?.featureReduction?.type&&"point"===l&&(s=await a(t,i)),s.length>0){const{_layerView:i}=t,a=await e((async e=>i.queryFeatures(super._createQuery(t,void 0,r,s.map((e=>e.getObjectId()))))),r.cancelToken);if(a?.features.length>0)return a.features}return super._getClientSideLayerGraphics(t,i,r)}}
|
|
1
|
+
import{cancelifyWithAbortSignal as e}from"../../support/Cancellable.js";import{isPoint as t}from"../../utilities/esri.js";import{isFeatureLayer as i}from"../../utilities/layers.js";import{ClientSideIdentifyProvider as r}from"./ClientSideIdentifyProvider.js";import{hitTestForClusterFeatures as a}from"./_utilities.js";export class FeatureLayerClientSideIdentifyProvider extends r{isSupported(e,r,a){return i(e.layer)&&e.enableClientSideData&&r&&!!e._layerView?.view?.extent?.intersects(t(r)?r:r.extent)&&0!==e._layerView.availableFields.length&&(a?.outFields??e.featureSettings.outFields).every((t=>e._layerView.availableFields.includes(t)))}async _getClientSideLayerGraphics(t,i,r,l){let s=[];if("cluster"===t.layer?.featureReduction?.type&&"point"===l&&(s=await a(t,i)),s.length>0){const{_layerView:i}=t,a=await e((async e=>i.queryFeatures(super._createQuery(t,void 0,r,s.map((e=>e.getObjectId()??void 0))))),r.cancelToken);if(a?.features.length>0)return a.features}return super._getClientSideLayerGraphics(t,i,r)}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
|
|
2
2
|
import type { Feature } from "../../data/Feature.js";
|
|
3
3
|
import type { FeatureSource } from "../../data/FeatureSource.js";
|
|
4
4
|
import type { CountResult } from "../CountResult.js";
|
|
@@ -11,13 +11,13 @@ export declare class FeatureLayerQueryIdentifyProvider extends IdentifyProviderB
|
|
|
11
11
|
/**
|
|
12
12
|
* @inheritDoc
|
|
13
13
|
*/
|
|
14
|
-
isSupported(source: FeatureSource, geometry:
|
|
14
|
+
isSupported(source: FeatureSource, geometry: GeometryUnion, options?: IdentifyOptions): boolean;
|
|
15
15
|
/**
|
|
16
16
|
* @inheritDoc
|
|
17
17
|
*/
|
|
18
|
-
protected _identify(source: FeatureSource, geometry:
|
|
18
|
+
protected _identify(source: FeatureSource, geometry: GeometryUnion, options: IdentifyOptions): AsyncIterable<Feature>;
|
|
19
19
|
/**
|
|
20
20
|
* @inheritDoc
|
|
21
21
|
*/
|
|
22
|
-
protected _count(source: FeatureSource, geometry:
|
|
22
|
+
protected _count(source: FeatureSource, geometry: GeometryUnion, options: IdentifyOptions): Promise<CountResult>;
|
|
23
23
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
|
|
2
2
|
import type { FeatureSource } from "../../data/FeatureSource.js";
|
|
3
3
|
import { GeoJSONLayerClientSideQueryProvider } from "../query/GeoJSONLayerClientSideQueryProvider.js";
|
|
4
4
|
import { HitTestIdentifyProvider } from "./HitTestIdentifyProvider.js";
|
|
@@ -9,6 +9,6 @@ import type { IdentifyOptions } from "./IdentifyOptions.js";
|
|
|
9
9
|
*/
|
|
10
10
|
export declare class GeoJSONLayer3DHitTestIdentifyProvider extends HitTestIdentifyProvider {
|
|
11
11
|
queryProvider: GeoJSONLayerClientSideQueryProvider;
|
|
12
|
-
isSupported(source: FeatureSource, geometry:
|
|
12
|
+
isSupported(source: FeatureSource, geometry: GeometryUnion, options?: IdentifyOptions): boolean;
|
|
13
13
|
protected _supportsQuery(): boolean;
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isGeoJSONLayerExtension as e}from"../../utilities/extensions.js";import{isVolumetric as r}from"../../utilities/symbol.js";import{GeoJSONLayerClientSideQueryProvider as
|
|
1
|
+
import{isGeoJSONLayerExtension as e}from"../../utilities/extensions.js";import{isVolumetric as r}from"../../utilities/symbol.js";import{GeoJSONLayerClientSideQueryProvider as i}from"../query/GeoJSONLayerClientSideQueryProvider.js";import{HitTestIdentifyProvider as s}from"./HitTestIdentifyProvider.js";export class GeoJSONLayer3DHitTestIdentifyProvider extends s{queryProvider=new i;isSupported(i,s,o){return super.isSupported(i,s,o)&&e(i)&&"scene"===i.mapExtension?.viewMode&&!!i._layerView?.view&&(i.layer.capabilities?.data?.supportsZ||(t=i.layer.renderer??void 0,("simple"===t?.type&&r(t.symbol))??!1)||function(e){return("class-breaks"===e?.type&&e.classBreakInfos.map((e=>e.symbol)).some(r))??!1}(i.renderer)||function(e){return("unique-value"===e?.type&&e.uniqueValueInfos?.map((e=>e.symbol)).some(r))??!1}(i.layer.renderer??void 0));var t}_supportsQuery(){return!0}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
|
|
2
2
|
import type { Feature } from "../../data/Feature.js";
|
|
3
3
|
import type { FeatureSource } from "../../data/FeatureSource.js";
|
|
4
4
|
import type { CountResult } from "../CountResult.js";
|
|
@@ -11,13 +11,13 @@ export declare class GeoJSONLayerClientSideQueryIdentifyProvider extends Identif
|
|
|
11
11
|
/**
|
|
12
12
|
* @inheritDoc
|
|
13
13
|
*/
|
|
14
|
-
isSupported(source: FeatureSource, geometry:
|
|
14
|
+
isSupported(source: FeatureSource, geometry: GeometryUnion, options?: IdentifyOptions): boolean;
|
|
15
15
|
/**
|
|
16
16
|
* @inheritDoc
|
|
17
17
|
*/
|
|
18
|
-
protected _identify(source: FeatureSource, geometry:
|
|
18
|
+
protected _identify(source: FeatureSource, geometry: GeometryUnion, options: IdentifyOptions, geometryType: string): AsyncIterable<Feature>;
|
|
19
19
|
/**
|
|
20
20
|
* @inheritDoc
|
|
21
21
|
*/
|
|
22
|
-
protected _count(source: FeatureSource, geometry:
|
|
22
|
+
protected _count(source: FeatureSource, geometry: GeometryUnion, options: IdentifyOptions, geometryType: string): Promise<CountResult>;
|
|
23
23
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
|
|
2
2
|
import type { Feature } from "../../data/Feature.js";
|
|
3
3
|
import type { FeatureSource } from "../../data/FeatureSource.js";
|
|
4
4
|
import type { CountResult } from "../CountResult.js";
|
|
@@ -13,13 +13,13 @@ export declare class GeoRSSLayerIdentifyProvider extends IdentifyProviderBase {
|
|
|
13
13
|
/**
|
|
14
14
|
* @inheritDoc
|
|
15
15
|
*/
|
|
16
|
-
isSupported(source: FeatureSource, geometry:
|
|
16
|
+
isSupported(source: FeatureSource, geometry: GeometryUnion, options?: IdentifyOptions): boolean;
|
|
17
17
|
/**
|
|
18
18
|
* @inheritDoc
|
|
19
19
|
*/
|
|
20
|
-
protected _identify(source: FeatureSource, geometry:
|
|
20
|
+
protected _identify(source: FeatureSource, geometry: GeometryUnion, options: IdentifyOptions): AsyncIterable<Feature>;
|
|
21
21
|
/**
|
|
22
22
|
* @inheritDoc
|
|
23
23
|
*/
|
|
24
|
-
protected _count(source: FeatureSource, geometry:
|
|
24
|
+
protected _count(source: FeatureSource, geometry: GeometryUnion, options: IdentifyOptions): Promise<CountResult>;
|
|
25
25
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import type { GeometryUnion } from "@arcgis/core/unionTypes.js";
|
|
2
2
|
import type { Feature } from "../../data/Feature.js";
|
|
3
3
|
import type { FeatureSource } from "../../data/FeatureSource.js";
|
|
4
4
|
import type { CountResult } from "../CountResult.js";
|
|
@@ -11,13 +11,13 @@ export declare class GraphicsLayerQueryIdentifyProvider extends IdentifyProvider
|
|
|
11
11
|
/**
|
|
12
12
|
* @inheritDoc
|
|
13
13
|
*/
|
|
14
|
-
isSupported(source: FeatureSource, geometry:
|
|
14
|
+
isSupported(source: FeatureSource, geometry: GeometryUnion, options?: IdentifyOptions): boolean;
|
|
15
15
|
/**
|
|
16
16
|
* @inheritDoc
|
|
17
17
|
*/
|
|
18
|
-
protected _identify(source: FeatureSource, geometry:
|
|
18
|
+
protected _identify(source: FeatureSource, geometry: GeometryUnion, options: IdentifyOptions): AsyncIterable<Feature>;
|
|
19
19
|
/**
|
|
20
20
|
* @inheritDoc
|
|
21
21
|
*/
|
|
22
|
-
protected _count(source: FeatureSource, geometry:
|
|
22
|
+
protected _count(source: FeatureSource, geometry: GeometryUnion, options: IdentifyOptions): Promise<CountResult>;
|
|
23
23
|
}
|