@vertigis/arcgis-extensions 54.7.2 → 54.8.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/data/ArcGISServiceTableExtension.js +1 -1
- package/data/QuerySourceCapabilities.d.ts +4 -0
- package/data/Schema.js +1 -1
- package/data/_TableExtension.d.ts +4 -0
- package/data/_TableExtension.js +1 -1
- package/docs/html/assets/hierarchy.js +1 -1
- package/docs/html/assets/search.js +1 -1
- package/docs/html/classes/data_RelationshipBase.RelationshipBase.html +1 -1
- package/docs/html/classes/data_Schema.Schema.html +1 -1
- package/docs/html/classes/data_TaskSettings.TaskSettings.html +1 -1
- package/docs/html/classes/data__TableExtension.TableExtension.html +1 -1
- package/docs/html/classes/data__TableExtension.TableFeatureSettings.html +1 -1
- package/docs/html/classes/data__TableExtension.TableSchema.html +1 -1
- package/docs/html/classes/layer-preset_LayerPreset.LayerPreset.html +1 -1
- package/docs/html/classes/layer-preset_LayerPresetSettings.LayerPresetSetting.html +1 -1
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerExtension.html +1 -1
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerRelationshipCollection.html +1 -1
- package/docs/html/classes/mapping_BasemapExtension.BasemapExtension.html +1 -1
- package/docs/html/classes/mapping_Bookmark.Bookmark.html +1 -1
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtension.html +1 -1
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerSchema.html +1 -1
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtension.html +1 -1
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerSchema.html +1 -1
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtension.html +1 -1
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerReadOnlySchema.html +1 -1
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerExtension.html +1 -1
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerSchema.html +1 -1
- package/docs/html/classes/mapping_CSVLayerExtension.CSVLayerExtension.html +1 -1
- package/docs/html/classes/mapping_ElevationLayerExtension.ElevationLayerExtension.html +1 -1
- package/docs/html/classes/mapping_FeatureCollectionLayerExtension.FeatureCollectionLayerExtension.html +1 -1
- package/docs/html/classes/mapping_FeatureLayerExtension.FeatureLayerExtension.html +1 -1
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBase.html +1 -1
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerReadOnlySchema.html +1 -1
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerSchema.html +1 -1
- package/docs/html/classes/mapping_GeoJSONLayerExtension.GeoJSONLayerExtension.html +1 -1
- package/docs/html/classes/mapping_GeoRSSLayerExtension.GeoRSSLayerExtension.html +1 -1
- package/docs/html/classes/mapping_GraphicsLayerExtension.GraphicsLayerExtension.html +1 -1
- package/docs/html/classes/mapping_GroundExtension.GroundExtension.html +1 -1
- package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtension.html +1 -1
- package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtensionCollection.html +1 -1
- package/docs/html/classes/mapping_ImageryLayerExtension.ImageryLayerExtension.html +1 -1
- package/docs/html/classes/mapping_ImageryTileLayerExtension.ImageryTileLayerExtension.html +1 -1
- package/docs/html/classes/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtension.html +1 -1
- package/docs/html/classes/mapping_KMLLayerExtension.KMLLayerExtension.html +1 -1
- package/docs/html/classes/mapping_KMLSublayerExtension.KMLSublayerExtension.html +1 -1
- package/docs/html/classes/mapping_MapConstraints.MapConstraints.html +1 -1
- package/docs/html/classes/mapping_MapExtension.MapExtension.html +1 -1
- package/docs/html/classes/mapping_MapImageLayerExtension.MapImageLayerExtension.html +1 -1
- package/docs/html/classes/mapping_MapImageSublayerExtension.MapImageSublayerExtension.html +1 -1
- package/docs/html/classes/mapping_MapNotesLayerExtension.MapNotesLayerExtension.html +1 -1
- package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtension.html +1 -1
- package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionSchema.html +1 -1
- package/docs/html/classes/mapping_MediaLayerExtension.MediaLayerExtension.html +1 -1
- package/docs/html/classes/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtension.html +1 -1
- package/docs/html/classes/mapping_PointCloudLayerExtension.PointCloudLayerExtension.html +1 -1
- package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtension.html +1 -1
- package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtensionSchema.html +1 -1
- package/docs/html/classes/mapping_SceneLayerExtension.SceneLayerExtension.html +1 -1
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerExtension.html +1 -1
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerSchema.html +1 -1
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtension.html +1 -1
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerRelationshipCollection.html +1 -1
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerSchema.html +1 -1
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerExtension.html +1 -1
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerRelationshipCollection.html +1 -1
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerSchema.html +1 -1
- package/docs/html/classes/mapping_TileLayerExtension.TileLayerExtension.html +1 -1
- package/docs/html/classes/mapping_TileSublayerExtension.TileSublayerExtension.html +1 -1
- package/docs/html/classes/mapping_UnsupportedLayerExtension.UnsupportedLayerExtension.html +1 -1
- package/docs/html/classes/mapping_VectorTileLayerExtension.VectorTileLayerExtension.html +1 -1
- package/docs/html/classes/mapping_WFSLayerExtension.WFSLayerExtension.html +1 -1
- package/docs/html/classes/mapping_WMSLayerExtension.WMSLayerExtension.html +1 -1
- package/docs/html/classes/mapping_WMSSublayerExtension.WMSSublayerExtension.html +1 -1
- package/docs/html/classes/mapping_WMTSLayerExtension.WMTSLayerExtension.html +1 -1
- package/docs/html/classes/mapping_WebTileLayerExtension.WebTileLayerExtension.html +1 -1
- package/docs/html/classes/mapping__LayerExtension.LayerExtension.html +1 -1
- package/docs/html/classes/mapping__LayerExtension.LayerExtensionReadOnlySchema.html +1 -1
- package/docs/html/classes/mapping__LayerExtension.LayerExtensionSchema.html +1 -1
- package/docs/html/classes/mapping__LayerExtensionCollectionImpl.LayerExtensionCollectionImpl.html +1 -1
- package/docs/html/classes/mapping__SublayerExtension.SubSublayerExtensionCollection.html +1 -1
- package/docs/html/classes/mapping__SublayerExtension.SublayerExtension.html +1 -1
- package/docs/html/classes/mapping__SublayerExtension.SublayerSchema.html +1 -1
- package/docs/html/classes/mapping_support_ArrayWrappedCollection.ArrayWrappedCollection.html +1 -1
- package/docs/html/classes/mapping_support_LayerListSettings.ExtensionBaseLayerListSettings.html +1 -1
- package/docs/html/classes/mapping_support_LayerListSettings.LayerListSettings.html +1 -1
- package/docs/html/classes/mapping_support__LayerExtensionCollection.LayerExtensionCollectionBase.html +1 -1
- package/docs/html/classes/mapping_support__SublayerExtensionCollection.SublayerExtensionCollectionBase.html +1 -1
- package/docs/html/classes/menus_Menu.Menu.html +1 -1
- package/docs/html/classes/menus_MenuItem.MenuItem.html +1 -1
- package/docs/html/classes/support_FormatSettings.FormatSettings.html +1 -1
- package/docs/html/classes/support_InitializableBase.InitializableBase.html +1 -1
- package/docs/html/classes/support_InitializableCollectionProxy.InitializableCollectionProxy.html +1 -1
- package/docs/html/classes/support_InitializeError.InitializeError.html +1 -1
- package/docs/html/classes/support_ReadOnlyInitializableCollection.ReadOnlyInitializableCollection.html +1 -1
- package/docs/html/classes/support_Serializable.SerializableBase.html +1 -1
- package/docs/html/classes/support_Settings.Settings.html +1 -1
- package/docs/html/classes/support__ArcGISRelationshipCollection.ArcGISRelationshipCollection.html +1 -1
- package/docs/html/classes/support_observableUtils.ObservableMixin.html +1 -1
- package/docs/html/classes/tasks_geocoding_ArcGISGeocoder.ArcGISGeocoder.html +1 -1
- package/docs/html/classes/tasks_geocoding_Geocoder.Geocoder.html +1 -1
- package/docs/html/classes/tasks_identify_ArcGISSublayerIdentifyProvider.ArcGISSublayerIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_ArcGISSublayerQueryIdentifyProvider.ArcGISSublayerQueryIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_BuildingComponentSublayerClientSideIdentifyProvider.BuildingComponentSublayerClientSideIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_BuildingComponentSublayerHitTestIdentifyProvider.BuildingComponentSublayerHitTestIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_CSVLayer3DHitTestIdentifyProvider.CSVLayer3DHitTestIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_CSVLayerClientSideQueryIdentifyProvider.CSVLayerClientSideQueryIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_ClientSideIdentifyProvider.ClientSideIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_FeatureLayer3DHitTestIdentifyProvider.FeatureLayer3DHitTestIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_FeatureLayerClientSideIdentifyProvider.FeatureLayerClientSideIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_FeatureLayerQueryIdentifyProvider.FeatureLayerQueryIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_GeoJSONLayer3DHitTestIdentifyProvider.GeoJSONLayer3DHitTestIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_GeoJSONLayerClientSideQueryIdentifyProvider.GeoJSONLayerClientSideQueryIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_GeoRSSLayerIdentifyProvider.GeoRSSLayerIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_GraphicsLayerQueryIdentifyProvider.GraphicsLayerQueryIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_HitTestIdentifyProvider.HitTestIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_IdentifyError.IdentifyError.html +1 -1
- package/docs/html/classes/tasks_identify_IdentifyProviderBase.IdentifyProviderBase.html +1 -1
- package/docs/html/classes/tasks_identify_IdentifyService.IdentifyService.html +1 -1
- package/docs/html/classes/tasks_identify_ImageryLayerIdentifyProvider.ImageryLayerIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_KMLLayerQueryIdentifyProvider.KMLLayerQueryIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_MapNotesSublayerQueryIdentifyProvider.MapNotesSublayerQueryIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_PointCloudLayerHitTestIdentifyProvider.PointCloudLayerHitTestIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_RouteLayerQueryIdentifyProvider.RouteLayerQueryIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_SceneLayerClientSideIdentifyProvider.SceneLayerClientSideIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_SceneLayerHitTestIdentifyProvider.SceneLayerHitTestIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_SceneLayerQueryIdentifyProvider.SceneLayerQueryIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_StreamLayerClientSideQueryIdentifyProvider.StreamLayerClientSideQueryIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_SubtypeSublayerClientSideIdentifyProvider.SubtypeSublayerClientSideIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_SubtypeSublayerQueryIdentifyProvider.SubtypeSublayerQueryIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_WFSLayerClientSideIdentifyProvider.WFSLayerClientSideIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_WFSLayerQueryIdentifyProvider.WFSLayerQueryIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_WMSLayerFeatureInfoIdentifyProvider.WMSLayerFeatureInfoIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_identify_WMSSublayerIdentifyProvider.WMSSublayerIdentifyProvider.html +1 -1
- package/docs/html/classes/tasks_query_ArcGISRelationship.ArcGISRelationship.html +1 -1
- package/docs/html/classes/tasks_query_ArcGISServiceTableQueryProvider.ArcGISServiceTableQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_ArcGISSublayerQueryProvider.ArcGISSublayerQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_BuildingComponentSublayerClientSideQueryProvider.BuildingComponentSublayerClientSideQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_CSVLayerClientSideQueryProvider.CSVLayerClientSideQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_ClientSideQueryProvider.ClientSideQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_FeatureLayerQueryProvider.FeatureLayerQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_GeoJSONLayerClientSideQueryProvider.GeoJSONLayerClientSideQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_GeoRSSLayerQueryProvider.GeoRSSLayerQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_GraphicsLayerQueryProvider.GraphicsLayerQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_ImageryLayerQueryProvider.ImageryLayerQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_KMLLayerQueryProvider.KMLLayerQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_MapNotesSublayerQueryProvider.MapNotesSublayerQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_QueryBasedRelationship.QueryBasedRelationship.html +1 -1
- package/docs/html/classes/tasks_query_QueryError.QueryError.html +1 -1
- package/docs/html/classes/tasks_query_QueryProviderBase.QueryProviderBase.html +1 -1
- package/docs/html/classes/tasks_query_QueryService.QueryService.html +1 -1
- package/docs/html/classes/tasks_query_RouteLayerQueryProvider.RouteLayerQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_SceneLayerClientSideQueryProvider.SceneLayerClientSideQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_SceneLayerQueryProvider.SceneLayerQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_StreamLayerClientSideQueryProvider.StreamLayerClientSideQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_SubtypeSublayerQueryProvider.SubtypeSublayerQueryProvider.html +1 -1
- package/docs/html/classes/tasks_query_WFSLayerQueryProvider.WFSLayerQueryProvider.html +1 -1
- package/docs/html/classes/tasks_search_ArcGISGeocoderSearchProvider.ArcGISGeocoderSearchProvider.html +1 -1
- package/docs/html/classes/tasks_search_GeocoderSearchProvider.GeocoderSearchProvider.html +1 -1
- package/docs/html/classes/tasks_search_QuerySearchProvider.QuerySearchProvider.html +1 -1
- package/docs/html/classes/tasks_search_SearchError.SearchError.html +1 -1
- package/docs/html/classes/tasks_search_SearchProviderBase.SearchProviderBase.html +1 -1
- package/docs/html/classes/tasks_search_SearchService.SearchService.html +1 -1
- package/docs/html/classes/tasks_search_SubtypeSublayerQuerySearchProvider.SubtypeSublayerQuerySearchProvider.html +1 -1
- package/docs/html/classes/utilities_CaseInsensitiveObservableMap.CaseInsensitiveObservableMap.html +1 -1
- package/docs/html/classes/utilities_CollectionProxy.CollectionProxy.html +1 -1
- package/docs/html/classes/utilities_CopyOnWriteCollection.CopyOnWriteCollection.html +1 -1
- package/docs/html/classes/utilities_GeometryServiceError.GeometryServiceError.html +1 -1
- package/docs/html/classes/utilities_MapTransformCollection.MapTransformCollection.html +1 -1
- package/docs/html/classes/utilities_ObservableMap.ObservableMap.html +1 -1
- package/docs/html/classes/utilities_ObservableSet.ObservableSet.html +1 -1
- package/docs/html/classes/utilities_ReadOnlyCollection.ReadOnlyCollection.html +1 -1
- package/docs/html/classes/utilities_ReadOnlyMap.ReadOnlyMap.html +1 -1
- package/docs/html/classes/utilities_format_date.DateFormatter.html +1 -1
- package/docs/html/classes/utilities_format_number.NumberFormatter.html +1 -1
- package/docs/html/classes/utilities_format_time.TimeFormatter.html +1 -1
- package/docs/html/classes/utilities_log.ConsoleLogger.html +1 -1
- package/docs/html/classes/utilities_log.LoggerBase.html +1 -1
- package/docs/html/hierarchy.html +1 -1
- package/docs/html/interfaces/data_QuerySourceCapabilities.QuerySourceCapabilities.html +5 -3
- package/docs/html/interfaces/data_Schema.FieldCollection.html +1 -1
- package/docs/html/interfaces/data_Schema.FieldExtensionCollection.html +1 -1
- package/docs/html/interfaces/data_Schema.SchemaEvents.html +1 -1
- package/docs/html/interfaces/data__Relationship.Relationship.html +1 -1
- package/docs/html/interfaces/data__Relationship.RelationshipProperties.html +1 -1
- package/docs/html/interfaces/data__TableExtension.TableExtensionProperties.html +1 -1
- package/docs/html/interfaces/data__TableExtension.TableProperties.html +1 -1
- package/docs/html/interfaces/data_convert.FromCsvOptions.html +1 -1
- package/docs/html/interfaces/data_convert.FromShapefileOptions.html +1 -1
- package/docs/html/interfaces/data_convert.FromXLSXOptions.html +1 -1
- package/docs/html/interfaces/data_convert.ToCsvOptions.html +1 -1
- package/docs/html/interfaces/data_convert.ToShapefileOptions.html +1 -1
- package/docs/html/interfaces/data_convert.ToXLSXOptions.html +1 -1
- package/docs/html/interfaces/data_convert.UploadDataOptions.html +1 -1
- package/docs/html/interfaces/data_support__dxfInterfaces.IAttDefEntity.html +1 -1
- package/docs/html/interfaces/data_support__dxfInterfaces.IBaseTable.html +1 -1
- package/docs/html/interfaces/data_support__dxfInterfaces.ILayerTypesTable.html +1 -1
- package/docs/html/interfaces/data_support__dxfInterfaces.ILayersTable.html +1 -1
- package/docs/html/interfaces/data_support__dxfInterfaces.ILineEntityExtended.html +1 -1
- package/docs/html/interfaces/data_support__dxfInterfaces.ILwpolylineEntityExtended.html +1 -1
- package/docs/html/interfaces/data_support__dxfInterfaces.IMTextEntity.html +1 -1
- package/docs/html/interfaces/data_support__dxfInterfaces.IPolylineEntityExtended.html +1 -1
- package/docs/html/interfaces/data_support__dxfInterfaces.ITextEntityExtended.html +1 -1
- package/docs/html/interfaces/data_support__dxfInterfaces.IViewPortTable.html +1 -1
- package/docs/html/interfaces/json_AnnotationLayerJson.AnnotationLayerJson.html +1 -1
- package/docs/html/interfaces/json_BasemapJson.BasemapJson.html +1 -1
- package/docs/html/interfaces/json_BasemapLayerJson.BasemapLayerJsonBase.html +1 -1
- package/docs/html/interfaces/json_BingLayerJson.BingLayerJson.html +1 -1
- package/docs/html/interfaces/json_BuildingSceneLayerJson.BuildingSceneLayerJson.html +1 -1
- package/docs/html/interfaces/json_BuildingSceneSublayerJson.BuildingSceneSublayerJson.html +1 -1
- package/docs/html/interfaces/json_CSVLayerJson.CSVLayerJson.html +1 -1
- package/docs/html/interfaces/json_DomainJson.CodedValueDomainJson.html +1 -1
- package/docs/html/interfaces/json_DomainJson.DomainJsonBase.html +1 -1
- package/docs/html/interfaces/json_DomainJson.InheritedDomainJson.html +1 -1
- package/docs/html/interfaces/json_DomainJson.RangeDomainJson.html +1 -1
- package/docs/html/interfaces/json_FeatureLayerJson.FeatureLayerJson.html +1 -1
- package/docs/html/interfaces/json_GeoJSONLayerJson.GeoJSONLayerJson.html +1 -1
- package/docs/html/interfaces/json_GeoRSSLayerJson.GeoRSSLayerJson.html +1 -1
- package/docs/html/interfaces/json_GeometryJson.ExtentJson.html +1 -1
- package/docs/html/interfaces/json_GeometryJson.GeometryJsonBase.html +1 -1
- package/docs/html/interfaces/json_GeometryJson.MultipointJson.html +1 -1
- package/docs/html/interfaces/json_GeometryJson.PointJson.html +1 -1
- package/docs/html/interfaces/json_GeometryJson.PolygonJson.html +1 -1
- package/docs/html/interfaces/json_GeometryJson.PolylineJson.html +1 -1
- package/docs/html/interfaces/json_GroundJson.GroundJson.html +1 -1
- package/docs/html/interfaces/json_GroupLayerJson.GroupLayerJson.html +1 -1
- package/docs/html/interfaces/json_ImageServiceLayerJson.ImageServiceLayerJson.html +1 -1
- package/docs/html/interfaces/json_ImageServiceVectorLayerJson.ImageServiceVectorLayerJson.html +1 -1
- package/docs/html/interfaces/json_IntegratedMeshLayerJson.IntegratedMeshLayerJson.html +1 -1
- package/docs/html/interfaces/json_KMLLayerJson.KMLLayerJson.html +1 -1
- package/docs/html/interfaces/json_LayerDefinitionJson.DataSourceJsonBase.html +1 -1
- package/docs/html/interfaces/json_LayerDefinitionJson.JoinTableDataSourceJson.html +1 -1
- package/docs/html/interfaces/json_LayerDefinitionJson.QueryTableDataSourceJson.html +1 -1
- package/docs/html/interfaces/json_LayerDefinitionJson.RasterDataSourceJson.html +1 -1
- package/docs/html/interfaces/json_LayerDefinitionJson.TableDataSourceJson.html +1 -1
- package/docs/html/interfaces/json_LayerJson.BrightnessEffectFunctionJson.html +1 -1
- package/docs/html/interfaces/json_LayerJson.ContrastEffectFunctionJson.html +1 -1
- package/docs/html/interfaces/json_LayerJson.GrayscaleEffectFunctionJson.html +1 -1
- package/docs/html/interfaces/json_LayerJson.InvertEffectFunctionJson.html +1 -1
- package/docs/html/interfaces/json_LayerJson.LayerJsonBase.html +1 -1
- package/docs/html/interfaces/json_LayerJson.OpacityEffectFunctionJson.html +1 -1
- package/docs/html/interfaces/json_LayerJson.SaturateEffectFunctionJson.html +1 -1
- package/docs/html/interfaces/json_LayerJson.SepiaEffectFunctionJson.html +1 -1
- package/docs/html/interfaces/json_MapServiceLayerJson.MapServiceLayerJson.html +1 -1
- package/docs/html/interfaces/json_MediaLayerJson.MediaLayerJson.html +1 -1
- package/docs/html/interfaces/json_OpenStreetMapLayerJson.OpenStreetMapLayerJson.html +1 -1
- package/docs/html/interfaces/json_OperationalLayerJson.OperationalLayerJsonBase.html +1 -1
- package/docs/html/interfaces/json_PointCloudLayerJson.PointCloudLayerJson.html +1 -1
- package/docs/html/interfaces/json_PopupInfoJson.PopupElementJson.html +1 -1
- package/docs/html/interfaces/json_RasterDataElevationLayerJson.RasterDataElevationLayerJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.ClassBreaksRendererJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.ColorInfoJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.HeatmapRendererJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.PointCloudClassBreaksRendererJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.PointCloudRGBRendererJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.PointCloudRendererJsonBase.html +1 -1
- package/docs/html/interfaces/json_RendererJson.PointCloudStretchRendererJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.PointCloudUniqueValueRendererJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.PredominanceRendererJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.RendererJsonBase.html +1 -1
- package/docs/html/interfaces/json_RendererJson.RotationInfoJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.SimpleRendererJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.SizeInfoJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.TemporalRendererJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.TransparencyInfoJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.UniqueValueFromStyleRendererJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.UniqueValueRendererJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.VectorFieldRendererJson.html +1 -1
- package/docs/html/interfaces/json_RendererJson.VisualVariableJsonBase.html +1 -1
- package/docs/html/interfaces/json_SceneLayerJson.SceneLayerJson.html +1 -1
- package/docs/html/interfaces/json_StreamLayerJson.StreamLayerJson.html +1 -1
- package/docs/html/interfaces/json_SublayerJson.SublayerJson.html +1 -1
- package/docs/html/interfaces/json_SubtypeGroupLayerJson.SubtypeGroupLayerJson.html +1 -1
- package/docs/html/interfaces/json_SubtypeGroupLayerJson.SubtypeSubtypeGroupLayerJson.html +1 -1
- package/docs/html/interfaces/json_SubtypeSublayerJson.SubtypeSublayerJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.CIMSymbolJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.CIMSymbolReferenceJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.ExtrudeSymbol3DLayerJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.FillSymbol3DLayerJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.IconSymbol3DLayerJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.LabelSymbol3DJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.LineSymbol3DJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.LineSymbol3DLayerJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.MeshSymbol3DJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.ObjectSymbol3DLayerJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.PathSymbol3DLayerJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.PictureFillSymbolJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.PictureMarkerSymbolJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.PointSymbol3DJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.PolygonSymbol3DJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.SimpleFillSymbolJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.SimpleLineSymbolJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.SimpleMarkerSymbolJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.SketchEdgesJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.SolidEdgesJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.Symbol3DJsonBase.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.Symbol3DLayerJsonBase.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.SymbolJsonBase.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.TextSymbol3DLayerJson.html +1 -1
- package/docs/html/interfaces/json_SymbolJson.TextSymbolJson.html +1 -1
- package/docs/html/interfaces/json_TableJson.TableJson.html +1 -1
- package/docs/html/interfaces/json_TiledElevationServiceLayerJson.TiledElevationServiceLayerJson.html +1 -1
- package/docs/html/interfaces/json_TiledImageServiceLayerJson.TiledImageServiceLayerJson.html +1 -1
- package/docs/html/interfaces/json_TiledMapServiceLayerJson.TiledMapServiceLayerJson.html +1 -1
- package/docs/html/interfaces/json_VectorTileLayerJson.VectorTileLayerJson.html +1 -1
- package/docs/html/interfaces/json_WFSLayerJson.WFSLayerJson.html +1 -1
- package/docs/html/interfaces/json_WMSLayerJson.WMSLayerJson.html +1 -1
- package/docs/html/interfaces/json_WMSSublayerJson.WMSSublayerJson.html +1 -1
- package/docs/html/interfaces/json_WebMapJson.WebMapJson.html +1 -1
- package/docs/html/interfaces/json_WebMapJson.WebMapJsonBase.html +1 -1
- package/docs/html/interfaces/json_WebSceneJson.WebSceneJson.html +1 -1
- package/docs/html/interfaces/json_WebTileLayerJson.WebTileLayerJson.html +1 -1
- package/docs/html/interfaces/layer-preset_LayerPreset.LayerPresetProperties.html +1 -1
- package/docs/html/interfaces/mapping_ArcGISSublayerExtension.ArcGISSublayerExtensionCollection.html +1 -1
- package/docs/html/interfaces/mapping_ArcGISSublayerExtension.ArcGISSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_ArcGISSublayerExtension.ArcGISSublayerProperties.html +1 -1
- package/docs/html/interfaces/mapping_BasemapExtension.BasemapExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_BasemapExtension.BasemapProperties.html +1 -1
- package/docs/html/interfaces/mapping_Bookmark.BookmarkProperties.html +1 -1
- package/docs/html/interfaces/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_BuildingSceneLayerExtension.BuildingSceneLayerProperties.html +1 -1
- package/docs/html/interfaces/mapping_BuildingSceneLayerExtension.BuildingSublayerExtensionCollection.html +1 -1
- package/docs/html/interfaces/mapping_BuildingSublayerExtension.BuildingSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_BuildingSublayerExtension.BuildingSublayerProperties.html +1 -1
- package/docs/html/interfaces/mapping_CSVLayerExtension.CSVLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_ElevationLayerExtension.ElevationLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_FeatureLayerExtension.FeatureLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_FeatureLayerExtension.FeatureLayerProperties.html +1 -1
- package/docs/html/interfaces/mapping_FeatureLayerExtensionBase.FeatureLayerBaseProperties.html +1 -1
- package/docs/html/interfaces/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBaseProperties.html +1 -1
- package/docs/html/interfaces/mapping_GeoJSONLayerExtension.GeoJSONLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_GeoRSSLayerExtension.GeoRSSLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_GraphicsLayerExtension.GraphicsLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_GroundExtension.GroundExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_GroundExtension.GroundProperties.html +1 -1
- package/docs/html/interfaces/mapping_GroupLayerExtension.GroupLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_ImageryLayerExtension.ImageryLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_ImageryTileLayerExtension.ImageryTileLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_KMLLayerExtension.KMLLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_KMLSublayerExtension.KMLSublayerExtensionCollection.html +1 -1
- package/docs/html/interfaces/mapping_KMLSublayerExtension.KMLSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_MapExtension.MapExtensionEvents.html +1 -1
- package/docs/html/interfaces/mapping_MapExtension.MapExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_MapExtension.TableExtensionCollection.html +1 -1
- package/docs/html/interfaces/mapping_MapImageLayerExtension.MapImageLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_MapImageSublayerExtension.MapImageSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_MapImageSublayerExtension.MapImageSublayerProperties.html +1 -1
- package/docs/html/interfaces/mapping_MapNotesLayerExtension.MapNotesLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionCollection.html +1 -1
- package/docs/html/interfaces/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_MediaLayerExtension.MediaLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_PointCloudLayerExtension.PointCloudLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_PointCloudLayerExtension.PointCloudLayerProperties.html +1 -1
- package/docs/html/interfaces/mapping_RouteLayerExtension.RouteLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_SceneLayerExtension.SceneLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_StreamLayerExtension.StreamLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_SubtypeSublayerExtension.SubtypeSublayerExtensionCollection.html +1 -1
- package/docs/html/interfaces/mapping_SubtypeSublayerExtension.SubtypeSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_SubtypeSublayerExtension.SubtypeSublayerProperties.html +1 -1
- package/docs/html/interfaces/mapping_TileLayerExtension.TileLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_TileSublayerExtension.TileSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_TileSublayerExtension.TileSublayerProperties.html +1 -1
- package/docs/html/interfaces/mapping_VectorTileLayerExtension.VectorTileLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WFSLayerExtension.WFSLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WMSLayerExtension.WMSLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WMSSublayerExtension.WMSSublayerExtensionCollection.html +1 -1
- package/docs/html/interfaces/mapping_WMSSublayerExtension.WMSSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WMSSublayerExtension.WMSSublayerProperties.html +1 -1
- package/docs/html/interfaces/mapping_WMTSLayerExtension.WMTSLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WebTileLayerExtension.WebTileLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping__LayerExtension.LayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping__SublayerExtension.SublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping__SublayerExtension.SublayerProperties.html +1 -1
- package/docs/html/interfaces/mapping_support__LayerExtensionCollection.LayerExtensionCollection.html +1 -1
- package/docs/html/interfaces/mapping_support__SublayerExtensionCollection.SublayerExtensionCollection.html +1 -1
- package/docs/html/interfaces/menus_Menu.MenuProperties.html +1 -1
- package/docs/html/interfaces/menus_MenuItem.MenuItemProperties.html +1 -1
- package/docs/html/interfaces/support_ArcGISRequestHelper.ArcGISRequestHelperResponse.html +1 -1
- package/docs/html/interfaces/support_InitializableBase.Initializable.html +1 -1
- package/docs/html/interfaces/support_InitializableBase.InitializableBaseEvents.html +1 -1
- package/docs/html/interfaces/support_InitializableBase.InitializableBaseProperties.html +1 -1
- package/docs/html/interfaces/support_InitializableCollectionProxy.InitializableCollection.html +1 -1
- package/docs/html/interfaces/support_Serializable.Serializable.html +1 -1
- package/docs/html/interfaces/support_Settings.SettingsEvents.html +1 -1
- package/docs/html/interfaces/support__restApiJson.RestApiMapServiceTimeInfo.html +1 -1
- package/docs/html/interfaces/support__restApiJson.RestApiServiceTimeInfo.html +1 -1
- package/docs/html/interfaces/support_esri.LayerWithSublayers.html +1 -1
- package/docs/html/interfaces/support_esri.SublayerLike.html +1 -1
- package/docs/html/interfaces/support_observableUtils.WatchEachOptions.html +1 -1
- package/docs/html/interfaces/support_observableUtils.WatchOptions.html +1 -1
- package/docs/html/interfaces/tasks_geocoding_ArcGISGeocoder.ArcGISGeocoderProperties.html +1 -1
- package/docs/html/interfaces/tasks_geocoding_Geocoder.GeocoderCapabilities.html +1 -1
- package/docs/html/interfaces/tasks_geocoding_Geocoder.GeocoderProperties.html +1 -1
- package/docs/html/interfaces/tasks_query_ArcGISRelationship.ArcGISRelationshipProperties.html +1 -1
- package/docs/html/interfaces/tasks_query_QueryBasedRelationship.QueryBasedRelationshipProperties.html +1 -1
- package/docs/html/interfaces/tasks_query_QueryOptions.QueryOptions.html +8 -2
- package/docs/html/interfaces/utilities_ObservableMap.MapAfterItemEvent.html +1 -1
- package/docs/html/interfaces/utilities_ObservableSet.SetAfterItemEvent.html +1 -1
- package/docs/html/interfaces/utilities__layers.LayerWithLegendEnabledProperty.html +1 -1
- package/docs/html/interfaces/utilities__layers.TimeAwareLayer.html +1 -1
- package/docs/html/interfaces/utilities_collection.AfterItemChangeEvent.html +1 -1
- package/docs/html/interfaces/utilities_format_FormatSettings.FormatSettings.html +1 -1
- package/docs/html/interfaces/utilities_format_date.DateFormatterProperties.html +1 -1
- package/docs/html/interfaces/utilities_format_date.DateSettings.html +1 -1
- package/docs/html/interfaces/utilities_format_number.NumberFormatterProperties.html +1 -1
- package/docs/html/interfaces/utilities_format_number.NumberSettings.html +1 -1
- package/docs/html/interfaces/utilities_format_string.FormatOptions.html +1 -1
- package/docs/html/interfaces/utilities_format_time.TimeFormatterProperties.html +1 -1
- package/docs/html/interfaces/utilities_format_time.TimeSettings.html +1 -1
- package/docs/html/interfaces/utilities_log.LogMessageOptions.html +1 -1
- package/docs/html/interfaces/utilities_log.LogMessageResourceOptions.html +1 -1
- package/docs/html/variables/version.version.html +1 -1
- package/mapping/ArcGISSublayerExtension.js +1 -1
- package/mapping/BuildingComponentSublayerExtension.js +1 -1
- package/mapping/FeatureCollectionLayerExtension.js +1 -1
- package/mapping/FeatureLayerExtensionBase.js +1 -1
- package/mapping/GeoRSSLayerExtension.js +1 -1
- package/mapping/GraphicsLayerExtension.js +1 -1
- package/mapping/ImageryLayerExtension.js +1 -1
- package/mapping/MapNotesLayerExtension.js +1 -1
- package/mapping/MapNotesSublayerExtension.js +1 -1
- package/mapping/RouteLayerExtension.js +1 -1
- package/mapping/SceneLayerExtension.js +1 -1
- package/mapping/SubtypeGroupLayerExtension.js +1 -1
- package/mapping/WFSLayerExtension.js +1 -1
- package/mapping/_LayerExtension.js +1 -1
- package/mapping/_SublayerExtension.js +1 -1
- package/package.json +1 -1
- package/tasks/query/ArcGISServiceTableQueryProvider.js +1 -1
- package/tasks/query/ArcGISSublayerQueryProvider.js +1 -1
- package/tasks/query/CSVLayerClientSideQueryProvider.js +1 -1
- package/tasks/query/ClientSideQueryProvider.js +1 -1
- package/tasks/query/FeatureLayerQueryProvider.js +1 -1
- package/tasks/query/GeoJSONLayerClientSideQueryProvider.js +1 -1
- package/tasks/query/ImageryLayerQueryProvider.js +1 -1
- package/tasks/query/QueryOptions.d.ts +21 -10
- package/tasks/query/QueryOptions.js +1 -1
- package/tasks/query/SceneLayerQueryProvider.js +1 -1
- package/tasks/query/SubtypeSublayerQueryProvider.js +1 -1
- package/tasks/query/WFSLayerQueryProvider.js +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import t from"@arcgis/core/core/Collection";import{ArgumentError as i}from"../ArgumentError.js";import{InvalidOperationError as s}from"../InvalidOperationError.js";import{ItemType as r}from"../ItemType.js";import{FeatureSourceBase as a}from"../data/FeatureSourceBase.js";import{FieldExtension as n}from"../data/FieldExtension.js";import{PopupContentExtension as o}from"../data/PopupContentExtension.js";import{Schema as l}from"../data/Schema.js";import{applyJsonToLayer as y,getLayerJsonType as h,jsonToLayer as d,layerToJson as u}from"../json/LayerJson.js";import{DefaultArcGISRequestHelper as p}from"../support/ArcGISRequestHelper.js";import{ReadOnlyInitializableCollection as c}from"../support/ReadOnlyInitializableCollection.js";import{serializable as f}from"../support/Serializable.js";import{createIHandle as _,notifyChange as b,onWatch as m,watch as g,watchEach as x}from"../support/observableUtils.js";import E from"../utilities/_ReferenceCountedHandle.js";import{getEquivalencyTypeForLayers as S,getLayerUrl as L,isLayer as v}from"../utilities/_layers.js";import{checkArg as w}from"../utilities/checkArg.js";import{compare as M}from"../utilities/collection.js";import{load as I}from"../utilities/esri.js";import{isGroupLayerExtension as P}from"../utilities/extensions.js";import{hasMmapLayer as A}from"../utilities/layers.js";import{getLogger as C}from"../utilities/log.js";import{deepClone as j,objectKeys as z}from"../utilities/object.js";import{toPortalItem as H}from"../utilities/portal.js";import{onCollectionPropertyChange as T}from"../utilities/watch.js";import{_assignSublayerExtensions as R}from"./_SublayerExtension.js";import{ExtensionBaseLayerListSettings as O,fromLayerListMode as V}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase as D}from"./support/_SublayerExtensionCollection.js";import{dynamicallyAddedLayerPropertyName as F,isProjectLayer as B,setLayerProjectId as $}from"./support/_projectLayerUtils.js";const N="Invalid type of layer for this type of layer extension.",k="This type of layer does not have features.",W="This type of layer cannot have sublayers.",G=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1,supportsStandardizedQueries:!1});export class LayerExtension extends a{get layer(){return this._layer}get mapExtension(){return this._mapExtension}get basemapExtension(){return this._basemapExtension}get groundExtension(){return this._groundExtension}get parentLayerExtension(){return this._parentLayerExtension}get hasFeatures(){return!1}get capabilities(){return this._capabilities()}get renderer(){}get visibilityMode(){return this._visibilityMode}set visibilityMode(e){this._visibilityMode=e,"exclusive"===e&&this._ensureAtMostOneChildSublayerVisible()}get sublayerExtensions(){return this._sublayerExtensions}get requestHelper(){return this._requestHelper||(this._requestHelper=new p),this._requestHelper}set requestHelper(e){this._requestHelper=e}get title(){return this.layer?.title??this._deferredLayerProperties?.title??("string"==typeof this._deferredLayerProperties?.$ref?this._deferredLayerProperties?.$ref:this._deferredLayerProperties?.$ref?.title??this._deferredLayerProperties?.$ref?.id)??"Layer"}get supportsSublayers(){return!1}get effectiveMinScale(){const e=this.parentLayerExtension?.effectiveMinScale??0,t=this.layer?.minScale??0;return e&&t?Math.min(e,t):Math.max(e,t)}get effectiveMaxScale(){const e=this.parentLayerExtension?.effectiveMaxScale??0,t=this.layer?.maxScale??0;return Math.max(e,t)}get isEffectivelyVisible(){const e=!!this.layer&&this.layer.visible;return this.parentLayerExtension?this.parentLayerExtension.isEffectivelyVisible&&e:e}get effectiveFullExtent(){return this.layer?this.layer.fullExtent:void 0}get canChangeScale(){return!0}get canChangeOpacity(){return!0}get canChangeLabels(){return!1}get canChangeRenderer(){return!1}get canChangeDefinitionExpression(){return!1}get initialDefinitionExpression(){return this._initialDefinitionExpression}get initialRenderer(){return this._initialRenderer}get initialVisibility(){return this._initialVisibility??this.layer?.visible??!1}get _layerId(){return this.layer?.id??this._deferredLayerProperties?.$ref?.id}get _layerSupportsHideChildren(){return this.supportsSublayers}get _sublayers(){if(this.supportsSublayers)return this.layer?this.layer.sublayers:void 0}static factory;get dynamicallyAddedLayer(){return this._dynamicallyAddedLayer}set dynamicallyAddedLayer(e){this._dynamicallyAddedLayer=e,this._layer?$(this._layer,e?this.id:void 0):this._deferredLayerProperties&&(e?this._deferredLayerProperties={...this._deferredLayerProperties,[F]:this.id}:delete this._deferredLayerProperties[F])}static _layerWatchHandlesKey="layer-extension-layer-watch-handles";tpkSource;layerListSettings;allSublayerExtensions;get sublayersAreReadOnly(){return!0}_itemType=r.LAYER_EXTENSION;_mapExtension;_basemapExtension;_groundExtension;_parentLayerExtension;_sublayerExtensions;_layer;_dynamicallyAddedLayer=!1;_isSwitchingLayer=!1;_deferredLayerProperties;_requestHelper;_initialDefinitionExpression;_initialRenderer;_initialVisibility;_visibilityMode="independent";_portalItem;constructor(e){super(e);const t={...this.getDefaults(),...e};w("properties.layer",t.layer).isNotMissing();const{layer:i}=t;let s;if(i?.hasOwnProperty("listMode")&&(s=V(i.listMode)),this.layerListSettings=this._createLayerListSettings({...s,...t.layerListSettings}),v(i))w("properties.layer",i).satisfies((e=>this._isSupportedLayer(e)),N),this._setLayer(i);else if(i){if(i.$portalItem){const e=i.$portalItem;this._portalItem=H(e)}this._deferredLayerProperties=i}this._sublayerExtensions=this._createSublayerExtensionCollection(),this.allSublayerExtensions=new U(this),this._handles.add([m(this,"isEffectivelyVisible",(()=>g(this,"parentLayerExtension.isEffectivelyVisible",(()=>b(this,"isEffectivelyVisible")),{sync:!0}))),m(this,"_sublayers",(()=>g(this,"layer.sublayers",(()=>b(this,"_sublayers")),{sync:!0})))])}static create(e){if(!LayerExtension.factory)throw new s("Cannot create layer extension: no layer extension factory has been registered.");return LayerExtension.factory.create(e)}static async fromPortalItem(e,t){w("portalItemLike",e).isNotMissing();const s=t??{};w("layerExtensionProperties.layer",s.layer).satisfies((e=>!v(e)));const r={...s.layer};w("layerExtensionProperties.layer.$ref",r.$ref).satisfies((e=>null==e));const a=new p,n=H(e);let o;await I(n);const l=n.typeKeywords??"";if("Map Service"===n.type){const e=await LayerExtension._getLayerData(n.url,a);o=l.includes("Tiled")||l.includes("Hosted Service")||e.tileInfo?"ArcGISTiledMapServiceLayer":"ArcGISMapServiceLayer"}else if("Feature Service"===n.type)o=l.includes("SubtypeGroupLayer")?"SubtypeGroupLayer":"ArcGISFeatureLayer";else if("Image Service"===n.type){const e=await LayerExtension._getLayerData(n.url,a);e.cacheType?"Map"===e.cacheType||l.includes("Tiled Imagery")?o="ArcGISTiledImageServiceLayer":"Elevation"===e.cacheType||l.includes("Elevation 3D Layer")?o="ArcGISTiledElevationServiceLayer":"Raster"===e.cacheType&&(o="ArcGISImageServiceLayer"):o=e.singleFusedMapCache||e.tileInfo||l.includes("Hosted Service")?"ArcGISTiledImageServiceLayer":"ArcGISImageServiceLayer"}else if("CSV"===n.type)o="CSV";else if("KML"===n.type)o="KML";else if("Scene Service"===n.type)l.includes("3DObject")||l.includes("Point")?o="ArcGISSceneServiceLayer":l.includes("IntegratedMesh")?o="IntegratedMeshLayer":l.includes("PointCloud")?o="PointCloudLayer":l.includes("Building")&&(o="BuildingSceneLayer");else if("Stream Service"===n.type)o="ArcGISStreamLayer";else if("Vector Tile Service"===n.type)o="VectorTileLayer";else if("Feature Collection"===n.type){o="ArcGISFeatureLayer";const e=await n.fetchData();r.featureCollection=e}else if("WFS"===n.type){o="WFS";const e=await n.fetchData();Object.assign(r,e)}else if("WMTS"===n.type){o="WebTiledLayer";const e=await n.fetchData();Object.assign(r,e)}else if("WMS"===n.type){o="WMS";const e=await n.fetchData();Object.assign(r,e)}if(!o)throw new i("portalItem","Could not determine correct type of LayerExtension to create from portal item");if(r.layerType&&r.layerType!==o)throw new i("layerExtensionProperties.layer.layerType","Layer type defined in layer properties does not match layer type from portal item");return r.layerType=o,r.$portalItem=n,s.layer=r,LayerExtension.create(s)}static async _getLayerData(e,t){const i=await t.request(e,{query:{f:"json"}});if(!i?.data)throw new Error(`Response to request for url ${e} was invalid.`);return i.data}getFeatures(e,t){if(!this.hasFeatures)throw new s(k);return super.getFeatures(e,t)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s(k);await super.addFeatures(e,t)}async updateFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s(k);await super.updateFeatures(e,t)}async deleteFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s(k);await super.deleteFeatures(e,t)}async _createBackingLayer(){this._portalItem||this.layer||this._deferredLayerProperties?.$ref?!this.layer&&this._portalItem&&this._setLayer(await this._createLayer(this.getDefaults().layer)):(this._setLayer(await this._createLayer(this._deferredLayerProperties)),w("properties.layer",this._layer).satisfies((e=>this._isSupportedLayer(e)),N),this._deferredLayerProperties=void 0)}_setMapExtension(e){if(this.mapExtension===e)return;const t=this.mapExtension;this._mapExtension=e,t&&this.featureSettings.formatSettings.parent===t.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.formatSettings)),this._resolveLayer(),b(this,"mapExtension")}_setBasemapExtension(e){this.basemapExtension!==e&&(this._basemapExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),b(this,"basemapExtension"))}_setGroundExtension(e){this.groundExtension!==e&&(this._groundExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),b(this,"groundExtension"))}_setParentLayerExtension(e){if(this.parentLayerExtension===e)return;const t=this._parentLayerExtension;this._parentLayerExtension=e,t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=this.mapExtension?this.mapExtension.formatSettings:void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=void 0)),e&&(this.featureSettings.formatSettings.parent&&this.featureSettings.formatSettings.parent!==this.mapExtension?.formatSettings||(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),this.taskSettings.parent||(this.taskSettings.parent=e.taskSettings)),this._resolveLayer(),b(this,"parentLayerExtension")}_resolveLayer(e){if(this.layer||!this._deferredLayerProperties)return;const t=e??this.basemapExtension?.basemap?.baseLayers??this.groundExtension?.ground?.layers??this.parentLayerExtension?.layer?.layers??this.mapExtension?.map.layers;if(!t)return;const i=[];let s;for(const e of t){if(B(e)&&this.id!==e[F])continue;const t=S(e,this._deferredLayerProperties);if("none"!==t){if("solid"===t){s=e;break}i.push(e)}}s||1!==i.length||(s=i[0]),s&&this._isSupportedLayer(s)&&(this._setLayer(s),this._deferredLayerProperties.$portalItem&&Y().warn("LayerExtension defined with both $ref and $portalItem. Ignoring $portalItem."))}async _switchLayer(e){if(e===this.layer)return;w("newLayer",e).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),N),this._isSwitchingLayer=!0,this.isInitialized&&await I(e);const t=new Map;if(this._sublayers)for(const e of this._sublayers.toArray())t.set(e.id,this.sublayerExtensions.forSublayer(e));e.visible=this.layer.visible,e.opacity=this.layer.opacity,e.listMode=this.layer.listMode,e.hasOwnProperty("labelsVisible")&&this.layer.hasOwnProperty("labelsVisible")&&(e.labelsVisible=this.layer.labelsVisible);const i=this.schema.fieldExtensions.toArray(),s=this.featureSettings.popupContentExtensions.toArray();this._setLayer(e);const r=[];i.forEach((e=>{const t=this.schema.fields.find((t=>n.matchesRef(e,{$ref:t.name})));t?e._switchField(t):(e._setSchema(void 0),r.push(e.destroy()))})),s.forEach(((e,t)=>{const i=this.featureSettings.popupContentExtensions.find((e=>o.matchesRef(s,t,e.toJSON().content)));i?e._switchContent(i.content):(e._setFeatureSettings(void 0),r.push(e.destroy()))}));const a=new Set;if(this._sublayers){const e=this._sublayers.filter((e=>t.has(e.id))).toArray();r.push(...e.map((async e=>{const i=t.get(e.id);i&&(a.add(i),await i._switchSublayer(e),this._sublayerExtensions._register(i))})))}const l=[];for(const e of t.values())e&&!a.has(e)&&l.push(e);r.push(...l.map((async e=>{this._sublayerExtensions._detach(e),await e.destroy()}))),await Promise.all(r),this.isInitialized&&await this._initializeChildren(),this._isSwitchingLayer=!1}_getProjectWebmapJSON(){if(!this.layer)return;const e=u(this.layer);if(!this.dynamicallyAddedLayer){const{id:t,title:i,layerType:s,opacity:r}=e;return{id:t,title:i,layerType:s,visibility:this.layer.visible,opacity:r}}return{...e,[F]:this.id}}_onSublayerAddedPostInitialize=async e=>{if(!this._isSwitchingLayer)try{await e.initialize()}catch(t){Y().error({message:`Error occurred while initializing sublayer extension for sublayer '${e.title??e.sublayer.id??e.id}'.`,error:t})}};async _onDestroy(){await Promise.all(this.sublayerExtensions.map((e=>e.destroy()))),this._sublayerExtensions.destroy(),this.allSublayerExtensions.destroy(),await super._onDestroy()}_getSerializableProperties(){return{...super._getSerializableProperties(),iconUrl:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.iconUrl:this.getDefault("iconUrl")},visibilityMode:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.visibilityMode:this.getDefault("visibilityMode"),default:"independent"},tpkSource:{serializeModes:["initial"]},layerListSettings:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.layerListSettings:this.getDefault("layerListSettings")},sublayerExtensions:{serializeModes:["initial","project"],serialize:e=>this.sublayerExtensions.map((e=>e.toItemUri())).toArray(),deserialize:e=>{R(this.sublayerExtensions,e,(e=>this._createSublayerExtension(e)))}},layer:{serializeModes:["initial","project"],serialize:e=>{if(this.layer){if((this._mapExtension||this._parentLayerExtension||this._basemapExtension||this._groundExtension)&&(this._layer.id||this._layer.title)){const e=h(this._layer),t=this._getSerializableRefLayerProperties(),i=L(this._layer),s=i?{url:i}:{};return{$ref:{id:this._layer.id,title:this._layer.title,subtype:this._getSerializableLayerType(),...s},layerType:e,...t}}return u(this.layer)}return this._deferredLayerProperties?j(this._deferredLayerProperties):void 0},isDefault:()=>{throw new Error("Missing implementation for _getSerializableProperties() > layer > default. Subclasses of LayerExtension must implement this.")},deserialize:e=>{if(v(e)){if(e!==this.layer)throw new Error("Property 'layer' is read-only.")}else if(e){if(this._layer)return this._applyLayerProperties(e,this.layer);this._deferredLayerProperties&&(this._deferredLayerProperties={...this._deferredLayerProperties,...e})}}},dynamicallyAddedLayer:{serializeModes:["project"],default:!1},requestHelper:{serialize:!1}}}_getSerializableLayerType(){}_getSerializableRefLayerProperties(){return{}}_createSublayerExtension(e){if(!this.supportsSublayers)throw new s(W);throw new Error("Missing implementation for _createSublayerExtension(). Subclasses of LayerExtension that support sublayers must implement this.")}async _onInitialize(){if(await super._onInitialize(),await this._createBackingLayer(),this._portalItem&&(await I(this._portalItem),await this._applyPortalItemProperties(this._portalItem),this.layer.title=this._portalItem.title,this.layer.portalItem=this._portalItem,this.iconUrl||(this.iconUrl=this._portalItem.thumbnailUrl),await this._applyLayerProperties(this._deferredLayerProperties,this.layer),this._deferredLayerProperties=void 0),this._resolveLayer(),!this.layer){const e=this._deferredLayerProperties.$ref;throw this._mapExtension||this._parentLayerExtension||this._basemapExtension||this._groundExtension?new s(`No layer found matching reference "${"string"==typeof e?e:JSON.stringify(e)}".`):new s("Cannot resolve layer reference: missing parent.")}this._deferredLayerProperties&&(await this._applyLayerProperties(this._deferredLayerProperties,this.layer),this._deferredLayerProperties=void 0),await this._initializeLayer(),await I(this.layer),this.supportsSublayers&&!this.layer.sublayers&&this.layer._set("sublayers",new t),this._initialDefinitionExpression="definitionExpression"in this.layer?this.layer.definitionExpression:void 0,this._initialRenderer=this.renderer?.clone(),this._initialVisibility=this.layer.visible,this._sublayerExtensions.onParentInitialized()}async _postInitialize(){await super._postInitialize(),this.layerListSettings.onLayerExtensionInitialized(),this.supportsSublayers&&this._handles.add(T(this,"layer.sublayers",(async e=>{if(this._isSwitchingLayer)return;const t=(e.added??[]).map((e=>this.sublayerExtensions.forSublayer(e)));await Promise.all(t.map(this._onSublayerAddedPostInitialize))})))}_applyPortalItemProperties(e){throw new s("Cannot use this type of layer extension with a PortalItem.")}async _initializeLayer(){}_createLayerListSettings(e){return new K(e,this)}_createSublayerExtensionCollection(){return new q(this)}_capabilities(){return G}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}async _createLayer(e){return d(e)}_applyLayerProperties(e,t){w("layerJson",e).isNotMissing();const i=e.layerType||e.type;return w("layerJson.layerType",i).satisfies((e=>!e||e===this.getDefault("layer")?.layerType)),w("layer",t).isNotMissing().satisfies((e=>this._isSupportedLayer(e))),y(e,t)}_setLayer(e){if(this._layer=e,this._handles.remove(LayerExtension._layerWatchHandlesKey),this._handles.add([g(e,"visible",((e,t,i)=>{this._onVisibleChanged(e),this.mapExtension?.emit("layer-visibility-change",i)})),m(this,"effectiveMinScale",(()=>g(this.layer,"minScale",(()=>b(this,"effectiveMinScale")),{sync:!0}))),m(this,"effectiveMaxScale",(()=>g(this.layer,"maxScale",(()=>b(this,"effectiveMaxScale")),{sync:!0}))),m(this,"title",(()=>g(this.layer,"title",(()=>b(this,"title")),{sync:!0})))],LayerExtension._layerWatchHandlesKey),"definitionExpression"in e&&this._handles.add(g(e,"definitionExpression",((e,t,i)=>{this.mapExtension?.emit("layer-definition-expression-change",i)})),LayerExtension._layerWatchHandlesKey),this.supportsSublayers)if(this._sublayers)this._setupSublayersHandles();else{const t=g(e,"sublayers",(()=>{this._setupSublayersHandles()}),{sync:!0,once:!0});this._handles.add(t,LayerExtension._layerWatchHandlesKey)}b(this,"layer"),b(this,"title"),b(this,"effectiveMinScale"),b(this,"effectiveMaxScale"),b(this,"isEffectivelyVisible")}_setupSublayersHandles(){this._handles.add([this._sublayers.on("after-add",this._onSublayersAfterAdd),this._sublayers.on("after-remove",this._onSublayersAfterRemove),x(this._sublayers,"[].visible",this._onSublayersSublayerVisibleChanged,{sync:!0})],LayerExtension._layerWatchHandlesKey)}_onVisibleChanged=e=>{if("inherited"===this.visibilityMode&&this.supportsSublayers&&this._sublayers)for(const t of this._sublayers.toArray())t.visible=e;b(this,"isEffectivelyVisible")};_onSublayersSublayerVisibleChanged=(e,t,i)=>{e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(i)};_onSublayersAfterAdd=e=>{1!==this._sublayers.length||e.item.visible||"exclusive"!==this.visibilityMode?e.item.visible&&"exclusive"===this.visibilityMode&&(e.item.visible=!1):e.item.visible=!0};_onSublayersAfterRemove=e=>{0!==this._sublayers.length&&"exclusive"===this.visibilityMode&&e.item.visible&&this._ensureAChildSublayerVisible(this._sublayers.getItemAt(0))};_ensureAChildSublayerVisible(e){for(const t of this._sublayers.toArray())t!==e&&(t.visible=!1)}_ensureAtMostOneChildSublayerVisible(){this.layer&&this._sublayers&&this._ensureAChildSublayerVisible(this._sublayers.find((e=>e.visible)))}}class q extends D{constructor(e){super(e,"_sublayers"),this._layerExtension=e}add(e,t){if(w("sublayerX",e).isNotMissing(),!this._layerExtension.supportsSublayers)throw new s(W);const i=e.sublayer?e.sublayer.layer:void 0;return i&&i!==this._layerExtension.layer&&i.sublayers.remove(e.sublayer),super.add(e,t)}}class U extends c{get _collection(){return this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions))}_layerExtension;_onChangeLayerExtensionsHandle=new E((()=>{const e=new WeakMap,i=new Set,s=r=>{const a=new t(r.added).flatten((e=>e.sublayerExtensions)),n=new t(r.moved).flatten((e=>e.sublayerExtensions)),o=new t(r.removed).flatten((e=>e.sublayerExtensions));for(const t of a)if(!e.has(t)){const r=t.sublayerExtensions.on("change",s);e.set(t,r),i.add(r)}for(const t of o){const s=e.get(t);s&&(s.remove(),e.delete(t),i.delete(s))}this.emit("change",{added:a.toArray(),moved:n.toArray(),removed:o.toArray()})};i.add(this._layerExtension.sublayerExtensions.on("change",s));const r=this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const t of r){const r=t.sublayerExtensions.on("change",s);e.set(t,r),i.add(r)}return _(i)}));_onAfterAddLayerExtensionsHandle=new E((()=>{const e=new WeakMap,t=new Set,i=i=>{const s=e.get(i);s&&(s.remove(),e.delete(i),t.delete(s))},s=e=>{const t=e.item,s=t.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const e of s)i(e);i(t)},r=i=>{this.emit("after-add",{...i});const a=i.item.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const n of a)if(this.emit("after-add",{...i,item:n}),!e.has(n)){const i=n.sublayerExtensions.on("after-add",r),a=n.sublayerExtensions.on("after-remove",s),o=_([i,a]);e.set(n,o),t.add(o)}};t.add(this._layerExtension.sublayerExtensions.on("after-add",r)),t.add(this._layerExtension.sublayerExtensions.on("after-remove",s));const a=this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const i of a){const a=i.sublayerExtensions.on("after-add",r),n=i.sublayerExtensions.on("after-remove",s),o=_([a,n]);e.set(i,o),t.add(o)}return _(t)}));_onAfterRemoveLayerExtensionsHandle=new E((()=>{const e=new WeakMap,t=new Set,i=i=>{const s=e.get(i);s&&(s.remove(),e.delete(i),t.delete(s))},s=e=>{this.emit("after-remove",{...e});const t=e.item,s=t.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const t of s)this.emit("after-remove",{...e,item:t}),i(t);i(t)},r=i=>{const a=i.item,n=a.sublayerExtensions.on("after-add",r),o=a.sublayerExtensions.on("after-remove",s),l=_([n,o]);e.set(a,l),t.add(l)};t.add(this._layerExtension.sublayerExtensions.on("after-remove",s)),t.add(this._layerExtension.sublayerExtensions.on("after-add",r));const a=this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const i of a){const a=i.sublayerExtensions.on("after-add",r),n=i.sublayerExtensions.on("after-remove",s),o=_([a,n]);e.set(i,o),t.add(o)}return _(t)}));constructor(e){super(),this._layerExtension=e}destroy(){this._onChangeLayerExtensionsHandle.destroy(),this._onAfterAddLayerExtensionsHandle.destroy(),this._onAfterRemoveLayerExtensionsHandle.destroy(),super.destroy()}on(e,t){const i=[];return"change"===e?i.push(this._onChangeLayerExtensionsHandle.add()):"after-add"===e?i.push(this._onAfterAddLayerExtensionsHandle.add()):"after-remove"===e&&i.push(this._onAfterRemoveLayerExtensionsHandle.add()),i.push(super.on(e,t)),_(i)}findById(e){return w("id",e).isNotMissing(),this.find((t=>t.id===e))}findBySublayerId(e){return w("id",e).isNotMissing(),this.find((t=>t._sublayerId===e))}forSublayer(e){return w("sublayer",e).isNotMissing(),this.findBySublayerId(e.id)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.sublayer}}let K=class extends O{get _esriLayer(){return this._extension.layer}get _listModePath(){return"layer.listMode"}get _supportsChildren(){return this._extension.supportsSublayers}};K=e([f],K);export{K as LayerExtensionLayerListSettings};export function toBindingOptions(e){return"object"==typeof e?e:{property:e}}let J=class extends l{_layerExtension;_layerBindings=new Map;constructor(e){super(),this._layerExtension=e,this._bindSettingsToLayerProperties(),e.layer?this._onLayerResolved(e.layer):this._handles.add(g(e,"layer",(()=>{this._onLayerResolved(e.layer)}),{sync:!0,once:!0}))}_getPropertyBindings(){return{}}_hasSettingIncludingAncestor(e){return!(!this._layerBindings.has(e)||!this._layerExtension.layer)||super._hasSettingIncludingAncestor(e)}_getSetting(e,t){if(this._layerBindings.has(e)){const t=toBindingOptions(this._layerBindings.get(e));if(t.hasOwnProperty("value"))return t.value;if(this._layerExtension.layer)return this._layerExtension.layer[t.property]}return super._getSetting(e,t)}_setSetting(e,t){if(this._layerBindings.has(e)){const i=toBindingOptions(this._layerBindings.get(e));if(i.readonly||i.hasOwnProperty("value"))throw new s(ERR_SCHEMA_READ_ONLY);if(this._layerExtension.layer)return void(this._layerExtension.layer[i.property]=t)}super._setSetting(e,t)}_bindSettingsToLayerProperties(){const e=this._getPropertyBindings();for(const t of z(e)){const i=toBindingOptions(e[t]);this._layerBindings.set(t,i),i.hasOwnProperty("value")||this._handles.add(m(this,t,(()=>g(this._layerExtension,`layer.${String(i.property)}`,(()=>b(this,t)),{sync:!i.hasOwnProperty("sync")||i.sync}))))}}_onLayerResolved(e){for(const t of this._layerBindings.keys())this.isModified(t)&&(e[t]=this[t],this.reset(t))}};J=e([f],J);export{J as LayerExtensionSchema};export function _assignLayerExtensions(e,t){return M(e,t,{onNew:(t,i)=>{e.add(t instanceof LayerExtension?t:LayerExtension.create(t),Q(t)?void 0:i)},onMatch:(t,i,s,r)=>{i instanceof LayerExtension||t.assignProperties(i),s===r||Q(i)||e.reorder(t,r)},onMissing:t=>{(A([t])||P(t)&&0===t.layerExtensions.toArray().length)&&e.remove(t)},equals:(e,t)=>{const i="solid"===S(e.layer,t.layer);return t instanceof LayerExtension?e===t||i:i||e.id===t.id}})}function Y(){return C("geocortex.api.mapping.LayerExtension")}function Q(e){return e instanceof LayerExtension?!!e._deferredLayerProperties?.$ref:!v(e.layer)&&!!e.layer?.$ref}let X=class extends J{_setSetting(e,t){if(this._layerBindings.has(e))throw new s(ERR_SCHEMA_READ_ONLY);super._setSetting(e,t)}};X=e([f],X);export{X as LayerExtensionReadOnlySchema};export const ERR_SCHEMA_READ_ONLY="This schema property is read-only.";
|
|
1
|
+
import{__decorate as e}from"tslib";import t from"@arcgis/core/core/Collection";import{ArgumentError as i}from"../ArgumentError.js";import{InvalidOperationError as s}from"../InvalidOperationError.js";import{ItemType as r}from"../ItemType.js";import{FeatureSourceBase as a}from"../data/FeatureSourceBase.js";import{FieldExtension as n}from"../data/FieldExtension.js";import{PopupContentExtension as o}from"../data/PopupContentExtension.js";import{Schema as l}from"../data/Schema.js";import{applyJsonToLayer as y,getLayerJsonType as h,jsonToLayer as d,layerToJson as u}from"../json/LayerJson.js";import{DefaultArcGISRequestHelper as p}from"../support/ArcGISRequestHelper.js";import{ReadOnlyInitializableCollection as c}from"../support/ReadOnlyInitializableCollection.js";import{serializable as f}from"../support/Serializable.js";import{createIHandle as _,notifyChange as b,onWatch as m,watch as g,watchEach as x}from"../support/observableUtils.js";import E from"../utilities/_ReferenceCountedHandle.js";import{getEquivalencyTypeForLayers as S,getLayerUrl as L,isLayer as v}from"../utilities/_layers.js";import{checkArg as w}from"../utilities/checkArg.js";import{compare as M}from"../utilities/collection.js";import{load as I}from"../utilities/esri.js";import{isGroupLayerExtension as P}from"../utilities/extensions.js";import{hasMmapLayer as A}from"../utilities/layers.js";import{getLogger as C}from"../utilities/log.js";import{deepClone as j,objectKeys as z}from"../utilities/object.js";import{toPortalItem as H}from"../utilities/portal.js";import{onCollectionPropertyChange as T}from"../utilities/watch.js";import{_assignSublayerExtensions as R}from"./_SublayerExtension.js";import{ExtensionBaseLayerListSettings as O,fromLayerListMode as V}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase as D}from"./support/_SublayerExtensionCollection.js";import{dynamicallyAddedLayerPropertyName as F,isProjectLayer as B,setLayerProjectId as $}from"./support/_projectLayerUtils.js";const N="Invalid type of layer for this type of layer extension.",k="This type of layer does not have features.",W="This type of layer cannot have sublayers.",G=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1,supportsStandardizedQueries:!1,supportsOrderBy:!1});export class LayerExtension extends a{get layer(){return this._layer}get mapExtension(){return this._mapExtension}get basemapExtension(){return this._basemapExtension}get groundExtension(){return this._groundExtension}get parentLayerExtension(){return this._parentLayerExtension}get hasFeatures(){return!1}get capabilities(){return this._capabilities()}get renderer(){}get visibilityMode(){return this._visibilityMode}set visibilityMode(e){this._visibilityMode=e,"exclusive"===e&&this._ensureAtMostOneChildSublayerVisible()}get sublayerExtensions(){return this._sublayerExtensions}get requestHelper(){return this._requestHelper||(this._requestHelper=new p),this._requestHelper}set requestHelper(e){this._requestHelper=e}get title(){return this.layer?.title??this._deferredLayerProperties?.title??("string"==typeof this._deferredLayerProperties?.$ref?this._deferredLayerProperties?.$ref:this._deferredLayerProperties?.$ref?.title??this._deferredLayerProperties?.$ref?.id)??"Layer"}get supportsSublayers(){return!1}get effectiveMinScale(){const e=this.parentLayerExtension?.effectiveMinScale??0,t=this.layer?.minScale??0;return e&&t?Math.min(e,t):Math.max(e,t)}get effectiveMaxScale(){const e=this.parentLayerExtension?.effectiveMaxScale??0,t=this.layer?.maxScale??0;return Math.max(e,t)}get isEffectivelyVisible(){const e=!!this.layer&&this.layer.visible;return this.parentLayerExtension?this.parentLayerExtension.isEffectivelyVisible&&e:e}get effectiveFullExtent(){return this.layer?this.layer.fullExtent:void 0}get canChangeScale(){return!0}get canChangeOpacity(){return!0}get canChangeLabels(){return!1}get canChangeRenderer(){return!1}get canChangeDefinitionExpression(){return!1}get initialDefinitionExpression(){return this._initialDefinitionExpression}get initialRenderer(){return this._initialRenderer}get initialVisibility(){return this._initialVisibility??this.layer?.visible??!1}get _layerId(){return this.layer?.id??this._deferredLayerProperties?.$ref?.id}get _layerSupportsHideChildren(){return this.supportsSublayers}get _sublayers(){if(this.supportsSublayers)return this.layer?this.layer.sublayers:void 0}static factory;get dynamicallyAddedLayer(){return this._dynamicallyAddedLayer}set dynamicallyAddedLayer(e){this._dynamicallyAddedLayer=e,this._layer?$(this._layer,e?this.id:void 0):this._deferredLayerProperties&&(e?this._deferredLayerProperties={...this._deferredLayerProperties,[F]:this.id}:delete this._deferredLayerProperties[F])}static _layerWatchHandlesKey="layer-extension-layer-watch-handles";tpkSource;layerListSettings;allSublayerExtensions;get sublayersAreReadOnly(){return!0}_itemType=r.LAYER_EXTENSION;_mapExtension;_basemapExtension;_groundExtension;_parentLayerExtension;_sublayerExtensions;_layer;_dynamicallyAddedLayer=!1;_isSwitchingLayer=!1;_deferredLayerProperties;_requestHelper;_initialDefinitionExpression;_initialRenderer;_initialVisibility;_visibilityMode="independent";_portalItem;constructor(e){super(e);const t={...this.getDefaults(),...e};w("properties.layer",t.layer).isNotMissing();const{layer:i}=t;let s;if(i?.hasOwnProperty("listMode")&&(s=V(i.listMode)),this.layerListSettings=this._createLayerListSettings({...s,...t.layerListSettings}),v(i))w("properties.layer",i).satisfies((e=>this._isSupportedLayer(e)),N),this._setLayer(i);else if(i){if(i.$portalItem){const e=i.$portalItem;this._portalItem=H(e)}this._deferredLayerProperties=i}this._sublayerExtensions=this._createSublayerExtensionCollection(),this.allSublayerExtensions=new U(this),this._handles.add([m(this,"isEffectivelyVisible",(()=>g(this,"parentLayerExtension.isEffectivelyVisible",(()=>b(this,"isEffectivelyVisible")),{sync:!0}))),m(this,"_sublayers",(()=>g(this,"layer.sublayers",(()=>b(this,"_sublayers")),{sync:!0})))])}static create(e){if(!LayerExtension.factory)throw new s("Cannot create layer extension: no layer extension factory has been registered.");return LayerExtension.factory.create(e)}static async fromPortalItem(e,t){w("portalItemLike",e).isNotMissing();const s=t??{};w("layerExtensionProperties.layer",s.layer).satisfies((e=>!v(e)));const r={...s.layer};w("layerExtensionProperties.layer.$ref",r.$ref).satisfies((e=>null==e));const a=new p,n=H(e);let o;await I(n);const l=n.typeKeywords??"";if("Map Service"===n.type){const e=await LayerExtension._getLayerData(n.url,a);o=l.includes("Tiled")||l.includes("Hosted Service")||e.tileInfo?"ArcGISTiledMapServiceLayer":"ArcGISMapServiceLayer"}else if("Feature Service"===n.type)o=l.includes("SubtypeGroupLayer")?"SubtypeGroupLayer":"ArcGISFeatureLayer";else if("Image Service"===n.type){const e=await LayerExtension._getLayerData(n.url,a);e.cacheType?"Map"===e.cacheType||l.includes("Tiled Imagery")?o="ArcGISTiledImageServiceLayer":"Elevation"===e.cacheType||l.includes("Elevation 3D Layer")?o="ArcGISTiledElevationServiceLayer":"Raster"===e.cacheType&&(o="ArcGISImageServiceLayer"):o=e.singleFusedMapCache||e.tileInfo||l.includes("Hosted Service")?"ArcGISTiledImageServiceLayer":"ArcGISImageServiceLayer"}else if("CSV"===n.type)o="CSV";else if("KML"===n.type)o="KML";else if("Scene Service"===n.type)l.includes("3DObject")||l.includes("Point")?o="ArcGISSceneServiceLayer":l.includes("IntegratedMesh")?o="IntegratedMeshLayer":l.includes("PointCloud")?o="PointCloudLayer":l.includes("Building")&&(o="BuildingSceneLayer");else if("Stream Service"===n.type)o="ArcGISStreamLayer";else if("Vector Tile Service"===n.type)o="VectorTileLayer";else if("Feature Collection"===n.type){o="ArcGISFeatureLayer";const e=await n.fetchData();r.featureCollection=e}else if("WFS"===n.type){o="WFS";const e=await n.fetchData();Object.assign(r,e)}else if("WMTS"===n.type){o="WebTiledLayer";const e=await n.fetchData();Object.assign(r,e)}else if("WMS"===n.type){o="WMS";const e=await n.fetchData();Object.assign(r,e)}if(!o)throw new i("portalItem","Could not determine correct type of LayerExtension to create from portal item");if(r.layerType&&r.layerType!==o)throw new i("layerExtensionProperties.layer.layerType","Layer type defined in layer properties does not match layer type from portal item");return r.layerType=o,r.$portalItem=n,s.layer=r,LayerExtension.create(s)}static async _getLayerData(e,t){const i=await t.request(e,{query:{f:"json"}});if(!i?.data)throw new Error(`Response to request for url ${e} was invalid.`);return i.data}getFeatures(e,t){if(!this.hasFeatures)throw new s(k);return super.getFeatures(e,t)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s(k);await super.addFeatures(e,t)}async updateFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s(k);await super.updateFeatures(e,t)}async deleteFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s(k);await super.deleteFeatures(e,t)}async _createBackingLayer(){this._portalItem||this.layer||this._deferredLayerProperties?.$ref?!this.layer&&this._portalItem&&this._setLayer(await this._createLayer(this.getDefaults().layer)):(this._setLayer(await this._createLayer(this._deferredLayerProperties)),w("properties.layer",this._layer).satisfies((e=>this._isSupportedLayer(e)),N),this._deferredLayerProperties=void 0)}_setMapExtension(e){if(this.mapExtension===e)return;const t=this.mapExtension;this._mapExtension=e,t&&this.featureSettings.formatSettings.parent===t.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.formatSettings)),this._resolveLayer(),b(this,"mapExtension")}_setBasemapExtension(e){this.basemapExtension!==e&&(this._basemapExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),b(this,"basemapExtension"))}_setGroundExtension(e){this.groundExtension!==e&&(this._groundExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),b(this,"groundExtension"))}_setParentLayerExtension(e){if(this.parentLayerExtension===e)return;const t=this._parentLayerExtension;this._parentLayerExtension=e,t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=this.mapExtension?this.mapExtension.formatSettings:void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=void 0)),e&&(this.featureSettings.formatSettings.parent&&this.featureSettings.formatSettings.parent!==this.mapExtension?.formatSettings||(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),this.taskSettings.parent||(this.taskSettings.parent=e.taskSettings)),this._resolveLayer(),b(this,"parentLayerExtension")}_resolveLayer(e){if(this.layer||!this._deferredLayerProperties)return;const t=e??this.basemapExtension?.basemap?.baseLayers??this.groundExtension?.ground?.layers??this.parentLayerExtension?.layer?.layers??this.mapExtension?.map.layers;if(!t)return;const i=[];let s;for(const e of t){if(B(e)&&this.id!==e[F])continue;const t=S(e,this._deferredLayerProperties);if("none"!==t){if("solid"===t){s=e;break}i.push(e)}}s||1!==i.length||(s=i[0]),s&&this._isSupportedLayer(s)&&(this._setLayer(s),this._deferredLayerProperties.$portalItem&&Y().warn("LayerExtension defined with both $ref and $portalItem. Ignoring $portalItem."))}async _switchLayer(e){if(e===this.layer)return;w("newLayer",e).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),N),this._isSwitchingLayer=!0,this.isInitialized&&await I(e);const t=new Map;if(this._sublayers)for(const e of this._sublayers.toArray())t.set(e.id,this.sublayerExtensions.forSublayer(e));e.visible=this.layer.visible,e.opacity=this.layer.opacity,e.listMode=this.layer.listMode,e.hasOwnProperty("labelsVisible")&&this.layer.hasOwnProperty("labelsVisible")&&(e.labelsVisible=this.layer.labelsVisible);const i=this.schema.fieldExtensions.toArray(),s=this.featureSettings.popupContentExtensions.toArray();this._setLayer(e);const r=[];i.forEach((e=>{const t=this.schema.fields.find((t=>n.matchesRef(e,{$ref:t.name})));t?e._switchField(t):(e._setSchema(void 0),r.push(e.destroy()))})),s.forEach(((e,t)=>{const i=this.featureSettings.popupContentExtensions.find((e=>o.matchesRef(s,t,e.toJSON().content)));i?e._switchContent(i.content):(e._setFeatureSettings(void 0),r.push(e.destroy()))}));const a=new Set;if(this._sublayers){const e=this._sublayers.filter((e=>t.has(e.id))).toArray();r.push(...e.map((async e=>{const i=t.get(e.id);i&&(a.add(i),await i._switchSublayer(e),this._sublayerExtensions._register(i))})))}const l=[];for(const e of t.values())e&&!a.has(e)&&l.push(e);r.push(...l.map((async e=>{this._sublayerExtensions._detach(e),await e.destroy()}))),await Promise.all(r),this.isInitialized&&await this._initializeChildren(),this._isSwitchingLayer=!1}_getProjectWebmapJSON(){if(!this.layer)return;const e=u(this.layer);if(!this.dynamicallyAddedLayer){const{id:t,title:i,layerType:s,opacity:r}=e;return{id:t,title:i,layerType:s,visibility:this.layer.visible,opacity:r}}return{...e,[F]:this.id}}_onSublayerAddedPostInitialize=async e=>{if(!this._isSwitchingLayer)try{await e.initialize()}catch(t){Y().error({message:`Error occurred while initializing sublayer extension for sublayer '${e.title??e.sublayer.id??e.id}'.`,error:t})}};async _onDestroy(){await Promise.all(this.sublayerExtensions.map((e=>e.destroy()))),this._sublayerExtensions.destroy(),this.allSublayerExtensions.destroy(),await super._onDestroy()}_getSerializableProperties(){return{...super._getSerializableProperties(),iconUrl:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.iconUrl:this.getDefault("iconUrl")},visibilityMode:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.visibilityMode:this.getDefault("visibilityMode"),default:"independent"},tpkSource:{serializeModes:["initial"]},layerListSettings:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.layerListSettings:this.getDefault("layerListSettings")},sublayerExtensions:{serializeModes:["initial","project"],serialize:e=>this.sublayerExtensions.map((e=>e.toItemUri())).toArray(),deserialize:e=>{R(this.sublayerExtensions,e,(e=>this._createSublayerExtension(e)))}},layer:{serializeModes:["initial","project"],serialize:e=>{if(this.layer){if((this._mapExtension||this._parentLayerExtension||this._basemapExtension||this._groundExtension)&&(this._layer.id||this._layer.title)){const e=h(this._layer),t=this._getSerializableRefLayerProperties(),i=L(this._layer),s=i?{url:i}:{};return{$ref:{id:this._layer.id,title:this._layer.title,subtype:this._getSerializableLayerType(),...s},layerType:e,...t}}return u(this.layer)}return this._deferredLayerProperties?j(this._deferredLayerProperties):void 0},isDefault:()=>{throw new Error("Missing implementation for _getSerializableProperties() > layer > default. Subclasses of LayerExtension must implement this.")},deserialize:e=>{if(v(e)){if(e!==this.layer)throw new Error("Property 'layer' is read-only.")}else if(e){if(this._layer)return this._applyLayerProperties(e,this.layer);this._deferredLayerProperties&&(this._deferredLayerProperties={...this._deferredLayerProperties,...e})}}},dynamicallyAddedLayer:{serializeModes:["project"],default:!1},requestHelper:{serialize:!1}}}_getSerializableLayerType(){}_getSerializableRefLayerProperties(){return{}}_createSublayerExtension(e){if(!this.supportsSublayers)throw new s(W);throw new Error("Missing implementation for _createSublayerExtension(). Subclasses of LayerExtension that support sublayers must implement this.")}async _onInitialize(){if(await super._onInitialize(),await this._createBackingLayer(),this._portalItem&&(await I(this._portalItem),await this._applyPortalItemProperties(this._portalItem),this.layer.title=this._portalItem.title,this.layer.portalItem=this._portalItem,this.iconUrl||(this.iconUrl=this._portalItem.thumbnailUrl),await this._applyLayerProperties(this._deferredLayerProperties,this.layer),this._deferredLayerProperties=void 0),this._resolveLayer(),!this.layer){const e=this._deferredLayerProperties.$ref;throw this._mapExtension||this._parentLayerExtension||this._basemapExtension||this._groundExtension?new s(`No layer found matching reference "${"string"==typeof e?e:JSON.stringify(e)}".`):new s("Cannot resolve layer reference: missing parent.")}this._deferredLayerProperties&&(await this._applyLayerProperties(this._deferredLayerProperties,this.layer),this._deferredLayerProperties=void 0),await this._initializeLayer(),await I(this.layer),this.supportsSublayers&&!this.layer.sublayers&&this.layer._set("sublayers",new t),this._initialDefinitionExpression="definitionExpression"in this.layer?this.layer.definitionExpression:void 0,this._initialRenderer=this.renderer?.clone(),this._initialVisibility=this.layer.visible,this._sublayerExtensions.onParentInitialized()}async _postInitialize(){await super._postInitialize(),this.layerListSettings.onLayerExtensionInitialized(),this.supportsSublayers&&this._handles.add(T(this,"layer.sublayers",(async e=>{if(this._isSwitchingLayer)return;const t=(e.added??[]).map((e=>this.sublayerExtensions.forSublayer(e)));await Promise.all(t.map(this._onSublayerAddedPostInitialize))})))}_applyPortalItemProperties(e){throw new s("Cannot use this type of layer extension with a PortalItem.")}async _initializeLayer(){}_createLayerListSettings(e){return new K(e,this)}_createSublayerExtensionCollection(){return new q(this)}_capabilities(){return G}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}async _createLayer(e){return d(e)}_applyLayerProperties(e,t){w("layerJson",e).isNotMissing();const i=e.layerType||e.type;return w("layerJson.layerType",i).satisfies((e=>!e||e===this.getDefault("layer")?.layerType)),w("layer",t).isNotMissing().satisfies((e=>this._isSupportedLayer(e))),y(e,t)}_setLayer(e){if(this._layer=e,this._handles.remove(LayerExtension._layerWatchHandlesKey),this._handles.add([g(e,"visible",((e,t,i)=>{this._onVisibleChanged(e),this.mapExtension?.emit("layer-visibility-change",i)})),m(this,"effectiveMinScale",(()=>g(this.layer,"minScale",(()=>b(this,"effectiveMinScale")),{sync:!0}))),m(this,"effectiveMaxScale",(()=>g(this.layer,"maxScale",(()=>b(this,"effectiveMaxScale")),{sync:!0}))),m(this,"title",(()=>g(this.layer,"title",(()=>b(this,"title")),{sync:!0})))],LayerExtension._layerWatchHandlesKey),"definitionExpression"in e&&this._handles.add(g(e,"definitionExpression",((e,t,i)=>{this.mapExtension?.emit("layer-definition-expression-change",i)})),LayerExtension._layerWatchHandlesKey),this.supportsSublayers)if(this._sublayers)this._setupSublayersHandles();else{const t=g(e,"sublayers",(()=>{this._setupSublayersHandles()}),{sync:!0,once:!0});this._handles.add(t,LayerExtension._layerWatchHandlesKey)}b(this,"layer"),b(this,"title"),b(this,"effectiveMinScale"),b(this,"effectiveMaxScale"),b(this,"isEffectivelyVisible")}_setupSublayersHandles(){this._handles.add([this._sublayers.on("after-add",this._onSublayersAfterAdd),this._sublayers.on("after-remove",this._onSublayersAfterRemove),x(this._sublayers,"[].visible",this._onSublayersSublayerVisibleChanged,{sync:!0})],LayerExtension._layerWatchHandlesKey)}_onVisibleChanged=e=>{if("inherited"===this.visibilityMode&&this.supportsSublayers&&this._sublayers)for(const t of this._sublayers.toArray())t.visible=e;b(this,"isEffectivelyVisible")};_onSublayersSublayerVisibleChanged=(e,t,i)=>{e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(i)};_onSublayersAfterAdd=e=>{1!==this._sublayers.length||e.item.visible||"exclusive"!==this.visibilityMode?e.item.visible&&"exclusive"===this.visibilityMode&&(e.item.visible=!1):e.item.visible=!0};_onSublayersAfterRemove=e=>{0!==this._sublayers.length&&"exclusive"===this.visibilityMode&&e.item.visible&&this._ensureAChildSublayerVisible(this._sublayers.getItemAt(0))};_ensureAChildSublayerVisible(e){for(const t of this._sublayers.toArray())t!==e&&(t.visible=!1)}_ensureAtMostOneChildSublayerVisible(){this.layer&&this._sublayers&&this._ensureAChildSublayerVisible(this._sublayers.find((e=>e.visible)))}}class q extends D{constructor(e){super(e,"_sublayers"),this._layerExtension=e}add(e,t){if(w("sublayerX",e).isNotMissing(),!this._layerExtension.supportsSublayers)throw new s(W);const i=e.sublayer?e.sublayer.layer:void 0;return i&&i!==this._layerExtension.layer&&i.sublayers.remove(e.sublayer),super.add(e,t)}}class U extends c{get _collection(){return this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions))}_layerExtension;_onChangeLayerExtensionsHandle=new E((()=>{const e=new WeakMap,i=new Set,s=r=>{const a=new t(r.added).flatten((e=>e.sublayerExtensions)),n=new t(r.moved).flatten((e=>e.sublayerExtensions)),o=new t(r.removed).flatten((e=>e.sublayerExtensions));for(const t of a)if(!e.has(t)){const r=t.sublayerExtensions.on("change",s);e.set(t,r),i.add(r)}for(const t of o){const s=e.get(t);s&&(s.remove(),e.delete(t),i.delete(s))}this.emit("change",{added:a.toArray(),moved:n.toArray(),removed:o.toArray()})};i.add(this._layerExtension.sublayerExtensions.on("change",s));const r=this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const t of r){const r=t.sublayerExtensions.on("change",s);e.set(t,r),i.add(r)}return _(i)}));_onAfterAddLayerExtensionsHandle=new E((()=>{const e=new WeakMap,t=new Set,i=i=>{const s=e.get(i);s&&(s.remove(),e.delete(i),t.delete(s))},s=e=>{const t=e.item,s=t.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const e of s)i(e);i(t)},r=i=>{this.emit("after-add",{...i});const a=i.item.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const n of a)if(this.emit("after-add",{...i,item:n}),!e.has(n)){const i=n.sublayerExtensions.on("after-add",r),a=n.sublayerExtensions.on("after-remove",s),o=_([i,a]);e.set(n,o),t.add(o)}};t.add(this._layerExtension.sublayerExtensions.on("after-add",r)),t.add(this._layerExtension.sublayerExtensions.on("after-remove",s));const a=this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const i of a){const a=i.sublayerExtensions.on("after-add",r),n=i.sublayerExtensions.on("after-remove",s),o=_([a,n]);e.set(i,o),t.add(o)}return _(t)}));_onAfterRemoveLayerExtensionsHandle=new E((()=>{const e=new WeakMap,t=new Set,i=i=>{const s=e.get(i);s&&(s.remove(),e.delete(i),t.delete(s))},s=e=>{this.emit("after-remove",{...e});const t=e.item,s=t.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const t of s)this.emit("after-remove",{...e,item:t}),i(t);i(t)},r=i=>{const a=i.item,n=a.sublayerExtensions.on("after-add",r),o=a.sublayerExtensions.on("after-remove",s),l=_([n,o]);e.set(a,l),t.add(l)};t.add(this._layerExtension.sublayerExtensions.on("after-remove",s)),t.add(this._layerExtension.sublayerExtensions.on("after-add",r));const a=this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const i of a){const a=i.sublayerExtensions.on("after-add",r),n=i.sublayerExtensions.on("after-remove",s),o=_([a,n]);e.set(i,o),t.add(o)}return _(t)}));constructor(e){super(),this._layerExtension=e}destroy(){this._onChangeLayerExtensionsHandle.destroy(),this._onAfterAddLayerExtensionsHandle.destroy(),this._onAfterRemoveLayerExtensionsHandle.destroy(),super.destroy()}on(e,t){const i=[];return"change"===e?i.push(this._onChangeLayerExtensionsHandle.add()):"after-add"===e?i.push(this._onAfterAddLayerExtensionsHandle.add()):"after-remove"===e&&i.push(this._onAfterRemoveLayerExtensionsHandle.add()),i.push(super.on(e,t)),_(i)}findById(e){return w("id",e).isNotMissing(),this.find((t=>t.id===e))}findBySublayerId(e){return w("id",e).isNotMissing(),this.find((t=>t._sublayerId===e))}forSublayer(e){return w("sublayer",e).isNotMissing(),this.findBySublayerId(e.id)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.sublayer}}let K=class extends O{get _esriLayer(){return this._extension.layer}get _listModePath(){return"layer.listMode"}get _supportsChildren(){return this._extension.supportsSublayers}};K=e([f],K);export{K as LayerExtensionLayerListSettings};export function toBindingOptions(e){return"object"==typeof e?e:{property:e}}let J=class extends l{_layerExtension;_layerBindings=new Map;constructor(e){super(),this._layerExtension=e,this._bindSettingsToLayerProperties(),e.layer?this._onLayerResolved(e.layer):this._handles.add(g(e,"layer",(()=>{this._onLayerResolved(e.layer)}),{sync:!0,once:!0}))}_getPropertyBindings(){return{}}_hasSettingIncludingAncestor(e){return!(!this._layerBindings.has(e)||!this._layerExtension.layer)||super._hasSettingIncludingAncestor(e)}_getSetting(e,t){if(this._layerBindings.has(e)){const t=toBindingOptions(this._layerBindings.get(e));if(t.hasOwnProperty("value"))return t.value;if(this._layerExtension.layer)return this._layerExtension.layer[t.property]}return super._getSetting(e,t)}_setSetting(e,t){if(this._layerBindings.has(e)){const i=toBindingOptions(this._layerBindings.get(e));if(i.readonly||i.hasOwnProperty("value"))throw new s(ERR_SCHEMA_READ_ONLY);if(this._layerExtension.layer)return void(this._layerExtension.layer[i.property]=t)}super._setSetting(e,t)}_bindSettingsToLayerProperties(){const e=this._getPropertyBindings();for(const t of z(e)){const i=toBindingOptions(e[t]);this._layerBindings.set(t,i),i.hasOwnProperty("value")||this._handles.add(m(this,t,(()=>g(this._layerExtension,`layer.${String(i.property)}`,(()=>b(this,t)),{sync:!i.hasOwnProperty("sync")||i.sync}))))}}_onLayerResolved(e){for(const t of this._layerBindings.keys())this.isModified(t)&&(e[t]=this[t],this.reset(t))}};J=e([f],J);export{J as LayerExtensionSchema};export function _assignLayerExtensions(e,t){return M(e,t,{onNew:(t,i)=>{e.add(t instanceof LayerExtension?t:LayerExtension.create(t),Q(t)?void 0:i)},onMatch:(t,i,s,r)=>{i instanceof LayerExtension||t.assignProperties(i),s===r||Q(i)||e.reorder(t,r)},onMissing:t=>{(A([t])||P(t)&&0===t.layerExtensions.toArray().length)&&e.remove(t)},equals:(e,t)=>{const i="solid"===S(e.layer,t.layer);return t instanceof LayerExtension?e===t||i:i||e.id===t.id}})}function Y(){return C("geocortex.api.mapping.LayerExtension")}function Q(e){return e instanceof LayerExtension?!!e._deferredLayerProperties?.$ref:!v(e.layer)&&!!e.layer?.$ref}let X=class extends J{_setSetting(e,t){if(this._layerBindings.has(e))throw new s(ERR_SCHEMA_READ_ONLY);super._setSetting(e,t)}};X=e([f],X);export{X as LayerExtensionReadOnlySchema};export const ERR_SCHEMA_READ_ONLY="This schema property is read-only.";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import t from"@arcgis/core/core/Collection";import{InvalidOperationError as i}from"../InvalidOperationError.js";import{isSublayerExtension as s,ItemType as r}from"../ItemType.js";import{FeatureSourceBase as a}from"../data/FeatureSourceBase.js";import{FieldExtension as n}from"../data/FieldExtension.js";import{PopupContentExtension as l}from"../data/PopupContentExtension.js";import{Schema as o}from"../data/Schema.js";import{serializable as u}from"../support/Serializable.js";import{createIHandle as y,notifyChange as h,onWatch as b,watch as f,watchEach as d}from"../support/observableUtils.js";import{isBuildingComponentSublayer as c,isBuildingGroupSublayer as S,isKMLSublayer as p,isMapImageSublayer as _,isMapNotesSublayer as x,isSubtypeSublayer as g,isTileLayer as E,isWMSSublayer as m,isWMTSSublayer as v}from"../utilities/_layers.js";import{checkArg as w}from"../utilities/checkArg.js";import{compare as M}from"../utilities/collection.js";import{load as P}from"../utilities/esri.js";import{parse as C}from"../utilities/format/number.js";import{getLogger as V}from"../utilities/log.js";import{deepClone as A,objectKeys as z}from"../utilities/object.js";import{onCollectionPropertyChange as $}from"../utilities/watch.js";import{toBindingOptions as F}from"./_LayerExtension.js";import{fromLayerListMode as R,LayerListSettings as j}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase as I}from"./support/_SublayerExtensionCollection.js";const T=V("SublayerExtension"),k="Invalid type of sublayer for this type of sublayer extension.",L="This type of layer does not have features.",H="This type of sublayer extension cannot have child sublayer extensions.",N=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1,supportsStandardizedQueries:!1});export function getSublayerType(e){if(_(e))return E(e?.layer)?"ArcGISTiledSublayer":"ArcGISMapServiceSublayer";if(p(e))return"KMLSublayer";if(v(e))return"WMTSSublayer";if(m(e))return"WMSSublayer";if(c(e))return"BuildingComponentSublayer";if(S(e))return"BuildingGroupSublayer";if(g(e))return"SubtypeSublayer";if(x(e))return"MapNotesSublayer";throw new Error(`Unknown sublayer type for sublayer: "${e?.title}"`)}export class SublayerExtension extends a{static factory;static _sublayerWatchHandlesKey="sublayer-extension-sublayer-watch-handles";static _layerExtensionWatchHandlesKey="sublayer-extension-layer-extension-watch-handles";static _parentSublayerWatchHandlesKey="sublayer-extension-parent-sublayer-watch-handles";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){w("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 initialDefinitionExpression(){return this._initialDefinitionExpression}get initialRenderer(){return this._initialRenderer}get initialVisibility(){return this._initialVisibility??this.sublayer?.visible??!1}_effectiveFullExtent;_itemType=r.SUBLAYER_EXTENSION;_sublayerExtensions;_layerExtension;_parentSublayerExtension;_initialDefinitionExpression;_initialRenderer;_initialVisibility;_sublayer;_isSwitchingSublayer=!1;_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=R(i.listMode)),this.layerListSettings=this._createLayerListSettings({...s,...t.layerListSettings}),W(i)?(w("properties.sublayer",i).satisfies((e=>this._isSupportedSublayer(e)),k),this._setSublayer(i)):i&&(this._deferredSublayerProperties=i),this._handles.add(b(this,"isEffectivelyVisible",(()=>f(this,"parentSublayerExtension.isEffectivelyVisible",(()=>h(this,"isEffectivelyVisible")),{sync:!0}))))}static create(e){if(!SublayerExtension.factory)throw new i("Cannot create sublayer extension: no sublayer extension factory has been registered.");return SublayerExtension.factory.create(e)}static _matchesRef(e,t,i){if(!e||!t?.$ref)return!1;let s=t.$ref;if("string"==typeof s){const e=C(s);s={id:isNaN(e)?s:e,title:s}}else"number"==typeof s&&(s={id:s});const r=g(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,t){if(!this.hasFeatures)throw new i(L);return super.getFeatures(e,t)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new i(L);await super.addFeatures(e,t)}async updateFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new i(L);await super.updateFeatures(e,t)}async deleteFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new i(L);await super.deleteFeatures(e,t)}_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._handles.remove(SublayerExtension._layerExtensionWatchHandlesKey),this._layerExtension=e,this.layerExtension&&this._handles.add([b(this,"effectiveMinScale",(()=>f(this.layerExtension,"effectiveMinScale",(()=>h(this,"effectiveMinScale")),{sync:!0}))),b(this,"effectiveMaxScale",(()=>f(this.layerExtension,"effectiveMaxScale",(()=>h(this,"effectiveMaxScale")),{sync:!0}))),b(this,"isEffectivelyVisible",(()=>f(this.layerExtension,"isEffectivelyVisible",(()=>h(this,"isEffectivelyVisible")),{sync:!0})))],SublayerExtension._layerExtensionWatchHandlesKey),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(),h(this,"layerExtension"),this.supportsSublayers&&this._sublayerExtensions.onLayerExtensionChanged()}_setParentSublayerExtension(e){if(this._parentSublayerExtension===e)return;const t=this._parentSublayerExtension;this._handles.remove(SublayerExtension._parentSublayerWatchHandlesKey),this._parentSublayerExtension=e,this.parentSublayerExtension&&this._handles.add([b(this,"effectiveMinScale",(()=>f(this.parentSublayerExtension,"effectiveMinScale",(()=>h(this,"effectiveMinScale")),{sync:!0}))),b(this,"effectiveMaxScale",(()=>f(this.parentSublayerExtension,"effectiveMaxScale",(()=>h(this,"effectiveMaxScale")),{sync:!0})))],SublayerExtension._parentSublayerWatchHandlesKey),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.featureSettings.formatSettings.parent!==this.layerExtension?.featureSettings.formatSettings||(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),this.taskSettings.parent&&this.taskSettings.parent!==this.layerExtension?.taskSettings||(this.taskSettings.parent=e.taskSettings)),this._resolveSublayer(),h(this,"parentSublayerExtension")}async _switchSublayer(e){if(e===this.sublayer)return;w("newSublayer",e).isNotMissing().satisfies((e=>e.id===this.sublayer.id),"Sublayer ID must match existing sublayer.").satisfies((e=>this._isSupportedSublayer(e)),k),this._isSwitchingSublayer=!0,this.isInitialized&&await P(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));const i=this.schema.fieldExtensions.toArray(),s=this.featureSettings.popupContentExtensions.toArray();this.canToggleVisibility&&(e.visible=this.sublayer.visible),this.canChangeOpacity&&(e.opacity=this.sublayer.opacity),this._setSublayer(e);const r=[],a=new Set;i.forEach((e=>{const t=this.schema.fields.find((t=>n.matchesRef(e,{$ref:t.name})));t&&(e._switchField(t),a.add(e))})),r.push(...i.filter((e=>!a.has(e))).map((async e=>{e._setSchema(void 0),await e.destroy()})));const o=new Set;s.forEach(((e,t)=>{const i=this.featureSettings.popupContentExtensions.find((e=>l.matchesRef(s,t,e.toJSON().content)));i&&(e._switchContent(i.content),o.add(e))})),r.push(...s.filter((e=>!o.has(e))).map((async e=>{e._setFeatureSettings(void 0),await e.destroy()})));const u=new Set;if(this.supportsSublayers&&this.sublayer.sublayers){const e=this.sublayer.sublayers.filter((e=>t.has(e.id))).toArray();r.push(...e.map((async e=>{const i=t.get(e.id);i&&(u.add(i),await i._switchSublayer(e),this._sublayerExtensions._register(i))})))}const y=[];for(const e of t.values())e&&!u.has(e)&&y.push(e);r.push(...y.map((async e=>{this._sublayerExtensions._detach(e),await e.destroy()}))),await Promise.all(r),this.isInitialized&&await this._initializeChildren(),this._isSwitchingSublayer=!1}async _postInitialize(){await super._postInitialize(),this.supportsSublayers&&this._handles.add($(this,"sublayer.sublayers",(async e=>{if(this._isSwitchingSublayer)return;const t=(e.added??[]).map((e=>this.sublayerExtensions.forSublayer(e)));await Promise.all(t.map(this._onSublayerAddedPostInitialize))})))}_onSublayerAddedPostInitialize=async e=>{if(!this._isSwitchingSublayer)try{await e.initialize()}catch(t){T.error({message:`Error occurred while initializing sublayer extension for sublayer '${e.title??e.sublayer.id??e.id}'.`,error:t})}};async _onDestroy(){await Promise.all(this.sublayerExtensions.map((e=>e.destroy()))),this._sublayerExtensions.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 A(this._deferredSublayerProperties)},deserialize:e=>{if(W(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 i(H)}_createSchema(){return new O(this)}_createLayerListSettings(e){return new j(e)}_capabilities(){return N}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 i("Cannot resolve sublayer reference: missing parent layer extension.");throw new i(`No sublayer found matching reference "${"string"==typeof e?e:JSON.stringify(e)}".`)}this._initialDefinitionExpression="definitionExpression"in this.sublayer?this.sublayer.definitionExpression:void 0,this._initialRenderer=this.renderer?.clone(),this._initialVisibility=this.sublayer.visible,this.supportsSublayers&&this._sublayerExtensions.onParentInitialized()}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}_createSublayerRef(){return{$ref:{id:g(this._sublayer)?this._sublayer.subtypeCode:this._sublayer.id,title:this._sublayer.title}}}_createSublayerExtensionCollection(){return new SubSublayerExtensionCollection(this)}_watchSublayerProperties(){this._handles.add([b(this,"effectiveMinScale",(()=>f(this.sublayer,"minScale",(()=>h(this,"effectiveMinScale")),{sync:!0}))),b(this,"effectiveMaxScale",(()=>f(this.sublayer,"maxScale",(()=>h(this,"effectiveMaxScale")),{sync:!0}))),b(this,"title",(()=>f(this.sublayer,"title",(()=>h(this,"title")),{sync:!0})))],SublayerExtension._sublayerWatchHandlesKey)}_setSublayer(e){if(this._handles.remove(SublayerExtension._sublayerWatchHandlesKey),this._sublayer=e,this._handles.add(f(e,"visible",((e,t,i)=>{this._onSetSublayerVisible(e),this.layerExtension?.mapExtension?.emit("layer-visibility-change",i)}),{sync:!0}),SublayerExtension._sublayerWatchHandlesKey),"definitionExpression"in e&&this._handles.add(f(e,"definitionExpression",((e,t,i)=>{this.layerExtension?.mapExtension?.emit("layer-definition-expression-change",i)})),SublayerExtension._sublayerWatchHandlesKey),this.supportsSublayers){let t;this._handles.add([f(e,"sublayers",(e=>{t?.remove(),t=y([e.on("after-add",this._onSublayersAfterAdd),e.on("after-remove",this._onSublayersAfterRemove)]),this._ensureAtMostOneChildSublayerVisible()}),{sync:!0}),{remove:()=>{t?.remove(),t=void 0}},d(e,"sublayers.[].visible",this._onSetSublayersSublayerVisible,{sync:!0})],SublayerExtension._sublayerWatchHandlesKey)}this._onSetSublayerVisible(this.sublayer.visible),"exclusive"===this.visibilityMode&&this._ensureAtMostOneChildSublayerVisible(),this._watchSublayerProperties(),h(this,"sublayer"),h(this,"title"),h(this,"effectiveMinScale"),h(this,"effectiveMaxScale"),h(this,"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);h(this,"isEffectivelyVisible")};_onSetSublayersSublayerVisible=(e,t,i)=>{e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(i)};_onSublayersAfterAdd=e=>{1!==this._sublayers.length||e.item.visible||"exclusive"!==this.visibilityMode?e.item.visible&&"exclusive"===this.visibilityMode&&(e.item.visible=!1):e.item.visible=!0};_onSublayersAfterRemove=e=>{0!==this._sublayers.length&&"exclusive"===this.visibilityMode&&e.item.visible&&this._ensureAChildSublayerVisible(this._sublayers.getItemAt(0))};_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 O=class extends o{_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 i("Cannot set sublayer schema spatial reference.")}destroy(){return this._sublayerBindings.clear(),super.destroy()}_getPropertyBindings(){return{}}_hasSettingIncludingAncestor(e){return!(!this._sublayerBindings.has(e)||!this._sublayerExtension.sublayer)||super._hasSettingIncludingAncestor(e)}_bindSettingsToSublayerProperties(){const e=this._getPropertyBindings();for(const t of z(e)){const i=F(e[t]);this._sublayerBindings.set(t,i),i.hasOwnProperty("value")||this._handles.add(b(this,t,(()=>f(this._sublayerExtension,`sublayer.${String(i.property)}`,(()=>h(this,t)),{sync:!i.hasOwnProperty("sync")||i.sync}))))}}};O=e([u],O);export{O as SublayerSchema};export class SubSublayerExtensionCollection extends I{get _layerExtension(){return this._parent.layerExtension}constructor(e,t){super(e,t??"sublayer.sublayers")}add(e,s){if(w("sublayerX",e).isNotMissing(),!this._parent.supportsSublayers)throw new i(H);return e.sublayer&&this._parent.sublayer&&!this._parent.sublayer.sublayers&&(this._parent.sublayer.sublayers=new t),e.parentSublayerExtension&&e.parentSublayerExtension.sublayerExtensions.remove(e),super.add(e,s)}_onAdded(e){super._onAdded(e),e._setParentSublayerExtension(this._parent)}_onRemoved(e){super._onRemoved(e),e._setParentSublayerExtension(void 0)}}export function _assignSublayerExtensions(e,t,i){M(e,t,{onNew:(t,r)=>{try{e.add(s(t)?t:i(t),K(t)?void 0:r)}catch(e){T.warn({message:`Error occurred while adding sublayer extension for sublayer '${t.title??t.sublayer?.id??t.id}'.`,error:e})}},onMatch:(t,i,r,a)=>{try{s(i)||t.assignProperties(i),r===a||K(i)||e.reorder(t,a)}catch(e){T.warn({message:`Error occurred while assigning sublayer extension properties for sublayer '${t.title??t.sublayer?.id??t.id}'.`,error:e})}},equals:(e,t)=>{if(s(t)){if(e===t)return!0;const i=g(t.sublayer)?t.sublayer.subtypeCode:t.sublayer?.id;return SublayerExtension._matchesRef(e.sublayer,{$ref:{id:i,title:t.sublayer?.title}},"both")}return SublayerExtension._matchesRef(e.sublayer,t.sublayer,"both")||e.id===t.id}})}function W(e){return e&&"function"==typeof e.set}function K(e){return s(e)?!!e._deferredSublayerProperties?.$ref:!W(e.sublayer)&&!!e.sublayer?.$ref}
|
|
1
|
+
import{__decorate as e}from"tslib";import t from"@arcgis/core/core/Collection";import{InvalidOperationError as i}from"../InvalidOperationError.js";import{isSublayerExtension as s,ItemType as r}from"../ItemType.js";import{FeatureSourceBase as a}from"../data/FeatureSourceBase.js";import{FieldExtension as n}from"../data/FieldExtension.js";import{PopupContentExtension as l}from"../data/PopupContentExtension.js";import{Schema as o}from"../data/Schema.js";import{serializable as u}from"../support/Serializable.js";import{createIHandle as y,notifyChange as h,onWatch as b,watch as f,watchEach as d}from"../support/observableUtils.js";import{isBuildingComponentSublayer as c,isBuildingGroupSublayer as S,isKMLSublayer as p,isMapImageSublayer as _,isMapNotesSublayer as x,isSubtypeSublayer as g,isTileLayer as E,isWMSSublayer as m,isWMTSSublayer as v}from"../utilities/_layers.js";import{checkArg as w}from"../utilities/checkArg.js";import{compare as M}from"../utilities/collection.js";import{load as P}from"../utilities/esri.js";import{parse as C}from"../utilities/format/number.js";import{getLogger as V}from"../utilities/log.js";import{deepClone as A,objectKeys as z}from"../utilities/object.js";import{onCollectionPropertyChange as $}from"../utilities/watch.js";import{toBindingOptions as F}from"./_LayerExtension.js";import{fromLayerListMode as R,LayerListSettings as j}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase as I}from"./support/_SublayerExtensionCollection.js";const T=V("SublayerExtension"),k="Invalid type of sublayer for this type of sublayer extension.",L="This type of layer does not have features.",O="This type of sublayer extension cannot have child sublayer extensions.",H=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1,supportsStandardizedQueries:!1,supportsOrderBy:!1});export function getSublayerType(e){if(_(e))return E(e?.layer)?"ArcGISTiledSublayer":"ArcGISMapServiceSublayer";if(p(e))return"KMLSublayer";if(v(e))return"WMTSSublayer";if(m(e))return"WMSSublayer";if(c(e))return"BuildingComponentSublayer";if(S(e))return"BuildingGroupSublayer";if(g(e))return"SubtypeSublayer";if(x(e))return"MapNotesSublayer";throw new Error(`Unknown sublayer type for sublayer: "${e?.title}"`)}export class SublayerExtension extends a{static factory;static _sublayerWatchHandlesKey="sublayer-extension-sublayer-watch-handles";static _layerExtensionWatchHandlesKey="sublayer-extension-layer-extension-watch-handles";static _parentSublayerWatchHandlesKey="sublayer-extension-parent-sublayer-watch-handles";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){w("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 initialDefinitionExpression(){return this._initialDefinitionExpression}get initialRenderer(){return this._initialRenderer}get initialVisibility(){return this._initialVisibility??this.sublayer?.visible??!1}_effectiveFullExtent;_itemType=r.SUBLAYER_EXTENSION;_sublayerExtensions;_layerExtension;_parentSublayerExtension;_initialDefinitionExpression;_initialRenderer;_initialVisibility;_sublayer;_isSwitchingSublayer=!1;_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=R(i.listMode)),this.layerListSettings=this._createLayerListSettings({...s,...t.layerListSettings}),W(i)?(w("properties.sublayer",i).satisfies((e=>this._isSupportedSublayer(e)),k),this._setSublayer(i)):i&&(this._deferredSublayerProperties=i),this._handles.add(b(this,"isEffectivelyVisible",(()=>f(this,"parentSublayerExtension.isEffectivelyVisible",(()=>h(this,"isEffectivelyVisible")),{sync:!0}))))}static create(e){if(!SublayerExtension.factory)throw new i("Cannot create sublayer extension: no sublayer extension factory has been registered.");return SublayerExtension.factory.create(e)}static _matchesRef(e,t,i){if(!e||!t?.$ref)return!1;let s=t.$ref;if("string"==typeof s){const e=C(s);s={id:isNaN(e)?s:e,title:s}}else"number"==typeof s&&(s={id:s});const r=g(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,t){if(!this.hasFeatures)throw new i(L);return super.getFeatures(e,t)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new i(L);await super.addFeatures(e,t)}async updateFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new i(L);await super.updateFeatures(e,t)}async deleteFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new i(L);await super.deleteFeatures(e,t)}_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._handles.remove(SublayerExtension._layerExtensionWatchHandlesKey),this._layerExtension=e,this.layerExtension&&this._handles.add([b(this,"effectiveMinScale",(()=>f(this.layerExtension,"effectiveMinScale",(()=>h(this,"effectiveMinScale")),{sync:!0}))),b(this,"effectiveMaxScale",(()=>f(this.layerExtension,"effectiveMaxScale",(()=>h(this,"effectiveMaxScale")),{sync:!0}))),b(this,"isEffectivelyVisible",(()=>f(this.layerExtension,"isEffectivelyVisible",(()=>h(this,"isEffectivelyVisible")),{sync:!0})))],SublayerExtension._layerExtensionWatchHandlesKey),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(),h(this,"layerExtension"),this.supportsSublayers&&this._sublayerExtensions.onLayerExtensionChanged()}_setParentSublayerExtension(e){if(this._parentSublayerExtension===e)return;const t=this._parentSublayerExtension;this._handles.remove(SublayerExtension._parentSublayerWatchHandlesKey),this._parentSublayerExtension=e,this.parentSublayerExtension&&this._handles.add([b(this,"effectiveMinScale",(()=>f(this.parentSublayerExtension,"effectiveMinScale",(()=>h(this,"effectiveMinScale")),{sync:!0}))),b(this,"effectiveMaxScale",(()=>f(this.parentSublayerExtension,"effectiveMaxScale",(()=>h(this,"effectiveMaxScale")),{sync:!0})))],SublayerExtension._parentSublayerWatchHandlesKey),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.featureSettings.formatSettings.parent!==this.layerExtension?.featureSettings.formatSettings||(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),this.taskSettings.parent&&this.taskSettings.parent!==this.layerExtension?.taskSettings||(this.taskSettings.parent=e.taskSettings)),this._resolveSublayer(),h(this,"parentSublayerExtension")}async _switchSublayer(e){if(e===this.sublayer)return;w("newSublayer",e).isNotMissing().satisfies((e=>e.id===this.sublayer.id),"Sublayer ID must match existing sublayer.").satisfies((e=>this._isSupportedSublayer(e)),k),this._isSwitchingSublayer=!0,this.isInitialized&&await P(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));const i=this.schema.fieldExtensions.toArray(),s=this.featureSettings.popupContentExtensions.toArray();this.canToggleVisibility&&(e.visible=this.sublayer.visible),this.canChangeOpacity&&(e.opacity=this.sublayer.opacity),this._setSublayer(e);const r=[],a=new Set;i.forEach((e=>{const t=this.schema.fields.find((t=>n.matchesRef(e,{$ref:t.name})));t&&(e._switchField(t),a.add(e))})),r.push(...i.filter((e=>!a.has(e))).map((async e=>{e._setSchema(void 0),await e.destroy()})));const o=new Set;s.forEach(((e,t)=>{const i=this.featureSettings.popupContentExtensions.find((e=>l.matchesRef(s,t,e.toJSON().content)));i&&(e._switchContent(i.content),o.add(e))})),r.push(...s.filter((e=>!o.has(e))).map((async e=>{e._setFeatureSettings(void 0),await e.destroy()})));const u=new Set;if(this.supportsSublayers&&this.sublayer.sublayers){const e=this.sublayer.sublayers.filter((e=>t.has(e.id))).toArray();r.push(...e.map((async e=>{const i=t.get(e.id);i&&(u.add(i),await i._switchSublayer(e),this._sublayerExtensions._register(i))})))}const y=[];for(const e of t.values())e&&!u.has(e)&&y.push(e);r.push(...y.map((async e=>{this._sublayerExtensions._detach(e),await e.destroy()}))),await Promise.all(r),this.isInitialized&&await this._initializeChildren(),this._isSwitchingSublayer=!1}async _postInitialize(){await super._postInitialize(),this.supportsSublayers&&this._handles.add($(this,"sublayer.sublayers",(async e=>{if(this._isSwitchingSublayer)return;const t=(e.added??[]).map((e=>this.sublayerExtensions.forSublayer(e)));await Promise.all(t.map(this._onSublayerAddedPostInitialize))})))}_onSublayerAddedPostInitialize=async e=>{if(!this._isSwitchingSublayer)try{await e.initialize()}catch(t){T.error({message:`Error occurred while initializing sublayer extension for sublayer '${e.title??e.sublayer.id??e.id}'.`,error:t})}};async _onDestroy(){await Promise.all(this.sublayerExtensions.map((e=>e.destroy()))),this._sublayerExtensions.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 A(this._deferredSublayerProperties)},deserialize:e=>{if(W(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 i(O)}_createSchema(){return new N(this)}_createLayerListSettings(e){return new j(e)}_capabilities(){return H}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 i("Cannot resolve sublayer reference: missing parent layer extension.");throw new i(`No sublayer found matching reference "${"string"==typeof e?e:JSON.stringify(e)}".`)}this._initialDefinitionExpression="definitionExpression"in this.sublayer?this.sublayer.definitionExpression:void 0,this._initialRenderer=this.renderer?.clone(),this._initialVisibility=this.sublayer.visible,this.supportsSublayers&&this._sublayerExtensions.onParentInitialized()}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}_createSublayerRef(){return{$ref:{id:g(this._sublayer)?this._sublayer.subtypeCode:this._sublayer.id,title:this._sublayer.title}}}_createSublayerExtensionCollection(){return new SubSublayerExtensionCollection(this)}_watchSublayerProperties(){this._handles.add([b(this,"effectiveMinScale",(()=>f(this.sublayer,"minScale",(()=>h(this,"effectiveMinScale")),{sync:!0}))),b(this,"effectiveMaxScale",(()=>f(this.sublayer,"maxScale",(()=>h(this,"effectiveMaxScale")),{sync:!0}))),b(this,"title",(()=>f(this.sublayer,"title",(()=>h(this,"title")),{sync:!0})))],SublayerExtension._sublayerWatchHandlesKey)}_setSublayer(e){if(this._handles.remove(SublayerExtension._sublayerWatchHandlesKey),this._sublayer=e,this._handles.add(f(e,"visible",((e,t,i)=>{this._onSetSublayerVisible(e),this.layerExtension?.mapExtension?.emit("layer-visibility-change",i)}),{sync:!0}),SublayerExtension._sublayerWatchHandlesKey),"definitionExpression"in e&&this._handles.add(f(e,"definitionExpression",((e,t,i)=>{this.layerExtension?.mapExtension?.emit("layer-definition-expression-change",i)})),SublayerExtension._sublayerWatchHandlesKey),this.supportsSublayers){let t;this._handles.add([f(e,"sublayers",(e=>{t?.remove(),t=y([e.on("after-add",this._onSublayersAfterAdd),e.on("after-remove",this._onSublayersAfterRemove)]),this._ensureAtMostOneChildSublayerVisible()}),{sync:!0}),{remove:()=>{t?.remove(),t=void 0}},d(e,"sublayers.[].visible",this._onSetSublayersSublayerVisible,{sync:!0})],SublayerExtension._sublayerWatchHandlesKey)}this._onSetSublayerVisible(this.sublayer.visible),"exclusive"===this.visibilityMode&&this._ensureAtMostOneChildSublayerVisible(),this._watchSublayerProperties(),h(this,"sublayer"),h(this,"title"),h(this,"effectiveMinScale"),h(this,"effectiveMaxScale"),h(this,"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);h(this,"isEffectivelyVisible")};_onSetSublayersSublayerVisible=(e,t,i)=>{e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(i)};_onSublayersAfterAdd=e=>{1!==this._sublayers.length||e.item.visible||"exclusive"!==this.visibilityMode?e.item.visible&&"exclusive"===this.visibilityMode&&(e.item.visible=!1):e.item.visible=!0};_onSublayersAfterRemove=e=>{0!==this._sublayers.length&&"exclusive"===this.visibilityMode&&e.item.visible&&this._ensureAChildSublayerVisible(this._sublayers.getItemAt(0))};_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 N=class extends o{_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 i("Cannot set sublayer schema spatial reference.")}destroy(){return this._sublayerBindings.clear(),super.destroy()}_getPropertyBindings(){return{}}_hasSettingIncludingAncestor(e){return!(!this._sublayerBindings.has(e)||!this._sublayerExtension.sublayer)||super._hasSettingIncludingAncestor(e)}_bindSettingsToSublayerProperties(){const e=this._getPropertyBindings();for(const t of z(e)){const i=F(e[t]);this._sublayerBindings.set(t,i),i.hasOwnProperty("value")||this._handles.add(b(this,t,(()=>f(this._sublayerExtension,`sublayer.${String(i.property)}`,(()=>h(this,t)),{sync:!i.hasOwnProperty("sync")||i.sync}))))}}};N=e([u],N);export{N as SublayerSchema};export class SubSublayerExtensionCollection extends I{get _layerExtension(){return this._parent.layerExtension}constructor(e,t){super(e,t??"sublayer.sublayers")}add(e,s){if(w("sublayerX",e).isNotMissing(),!this._parent.supportsSublayers)throw new i(O);return e.sublayer&&this._parent.sublayer&&!this._parent.sublayer.sublayers&&(this._parent.sublayer.sublayers=new t),e.parentSublayerExtension&&e.parentSublayerExtension.sublayerExtensions.remove(e),super.add(e,s)}_onAdded(e){super._onAdded(e),e._setParentSublayerExtension(this._parent)}_onRemoved(e){super._onRemoved(e),e._setParentSublayerExtension(void 0)}}export function _assignSublayerExtensions(e,t,i){M(e,t,{onNew:(t,r)=>{try{e.add(s(t)?t:i(t),K(t)?void 0:r)}catch(e){T.warn({message:`Error occurred while adding sublayer extension for sublayer '${t.title??t.sublayer?.id??t.id}'.`,error:e})}},onMatch:(t,i,r,a)=>{try{s(i)||t.assignProperties(i),r===a||K(i)||e.reorder(t,a)}catch(e){T.warn({message:`Error occurred while assigning sublayer extension properties for sublayer '${t.title??t.sublayer?.id??t.id}'.`,error:e})}},equals:(e,t)=>{if(s(t)){if(e===t)return!0;const i=g(t.sublayer)?t.sublayer.subtypeCode:t.sublayer?.id;return SublayerExtension._matchesRef(e.sublayer,{$ref:{id:i,title:t.sublayer?.title}},"both")}return SublayerExtension._matchesRef(e.sublayer,t.sublayer,"both")||e.id===t.id}})}function W(e){return e&&"function"==typeof e.set}function K(e){return s(e)?!!e._deferredSublayerProperties?.$ref:!W(e.sublayer)&&!!e.sublayer?.$ref}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"@arcgis/core/rest/support/Query";import{executeQuery as r,executeCountByQuery as t}from"../../support/_query.js";import{isFeatureLayer as s}from"../../utilities/layers.js";import{QueryProviderBase as o}from"./QueryProviderBase.js";export class ArcGISServiceTableQueryProvider extends o{isSupported(e){const{table:r}=e;return s(r)&&e.capabilities.supportsQuery}_query(e,t,s){const{table:o}=e,i=o.createQuery();return i.where=t,i.outFields=s.outFields,o.capabilities?.query?.supportsPagination&&(i.num=s.maxResults),r(i,e,o,s.cancelToken)}_count(r,s,o){const{table:i}=r,u=new e({returnGeometry:!1});return u.where=s,i.capabilities?.query?.supportsPagination&&(u.num=o.maxResults),t(u,r,i,o.cancelToken)}}
|
|
1
|
+
import e from"@arcgis/core/rest/support/Query";import{executeQuery as r,executeCountByQuery as t}from"../../support/_query.js";import{isFeatureLayer as s}from"../../utilities/layers.js";import{QueryProviderBase as o}from"./QueryProviderBase.js";export class ArcGISServiceTableQueryProvider extends o{isSupported(e){const{table:r}=e;return s(r)&&e.capabilities.supportsQuery}_query(e,t,s){const{table:o}=e,i=o.createQuery();return i.where=t,i.orderByFields=s.orderByFields,i.outFields=s.outFields,i.start=s.start,o.capabilities?.query?.supportsPagination&&(i.num=s.maxResults),r(i,e,o,s.cancelToken)}_count(r,s,o){const{table:i}=r,u=new e({returnGeometry:!1});return u.where=s,i.capabilities?.query?.supportsPagination&&(u.num=o.maxResults),t(u,r,i,o.cancelToken)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{executeQuery as e,executeCountByQuery as r}from"../../support/_query.js";import{isMapImageSublayerExtension as t}from"../../utilities/extensions.js";import{QueryProviderBase as s}from"./QueryProviderBase.js";export class ArcGISSublayerQueryProvider extends s{isSupported(e){return t(e)&&e.capabilities.supportsQuery}_query(r,t,s){const{sublayer:a}=r,o=a.createQuery();return o.where=t,o.
|
|
1
|
+
import{executeQuery as e,executeCountByQuery as r}from"../../support/_query.js";import{isMapImageSublayerExtension as t}from"../../utilities/extensions.js";import{QueryProviderBase as s}from"./QueryProviderBase.js";export class ArcGISSublayerQueryProvider extends s{isSupported(e){return t(e)&&e.capabilities.supportsQuery}_query(r,t,s){const{sublayer:a}=r,o=a.createQuery();return o.where=t,o.maxAllowableOffset=s.maxAllowableOffset,o.orderByFields=s.orderByFields,o.outFields=s.outFields,o.outSpatialReference=s.outSpatialReference,o.returnGeometry=s.returnGeometry??o.returnGeometry,o.start=s.start,o.returnZ=a.layer?.sourceJSON?.hasZ,s.spatialFilter&&(o.spatialRelationship="intersects",o.geometry=s.spatialFilter),r.supportsPagination&&(o.num=s.maxResults),e(o,r,a,s.cancelToken)}_count(e,t,s){const{sublayer:a}=e,o=a.createQuery();return o.where=t,o.returnGeometry=s.returnGeometry??o.returnGeometry,o.outFields=s.outFields,s.spatialFilter&&(o.spatialRelationship="intersects",o.geometry=s.spatialFilter),o.num=s.maxResults,r(o,e,a,s.cancelToken)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{executeQuery as e,executeCount as t}from"../../support/_query.js";import{isCSVLayer as r}from"../../utilities/_layers.js";import{removeZValues as s}from"../../utilities/geometry.js";import{QueryProviderBase as i}from"./QueryProviderBase.js";export class CSVLayerClientSideQueryProvider extends i{isSupported(e){const{layer:t}=e;return r(t)}_query(t,r,i){const{layer:o}=t,a=o.createQuery();a.where=r,a.
|
|
1
|
+
import{executeQuery as e,executeCount as t}from"../../support/_query.js";import{isCSVLayer as r}from"../../utilities/_layers.js";import{removeZValues as s}from"../../utilities/geometry.js";import{QueryProviderBase as i}from"./QueryProviderBase.js";export class CSVLayerClientSideQueryProvider extends i{isSupported(e){const{layer:t}=e;return r(t)}_query(t,r,i){const{layer:o}=t,a=o.createQuery();a.where=r,a.maxAllowableOffset=i.maxAllowableOffset,a.orderByFields=i.orderByFields,a.outFields=i.outFields,a.outSpatialReference=i.outSpatialReference,a.returnGeometry=i.returnGeometry??a.returnGeometry,a.start=i.start,a.returnZ="scene"===t.mapExtension?.viewMode;let l=i.spatialFilter;return l&&(a.spatialRelationship="intersects",o.capabilities?.data?.supportsZ||(l=s(l.clone())),a.geometry=l),o.capabilities.query.supportsPagination&&(a.num=i.maxResults),e(a,t,o,i.cancelToken)}async _count(e,r,i){const{layer:o}=e,a=o.createQuery();a.where=r,a.outFields=i.outFields,a.returnGeometry=i.returnGeometry??a.returnGeometry;let l=i.spatialFilter;return l&&(a.spatialRelationship="intersects",l&&!o.capabilities?.data?.supportsZ&&(l=s(l.clone())),a.geometry=l),a.num=i.maxResults,t(a,e,o,i.cancelToken)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{toFeature as e}from"../../data/Feature.js";import{cancelify as t,cancelifyWithAbortSignal as r}from"../../support/Cancellable.js";import{watch as i}from"../../support/observableUtils.js";import*as
|
|
1
|
+
import{toFeature as e}from"../../data/Feature.js";import{cancelify as t,cancelifyWithAbortSignal as r}from"../../support/Cancellable.js";import{watch as i}from"../../support/observableUtils.js";import*as s from"../../utilities/asyncIterable.js";import{isSubtypeSublayerExtension as a}from"../../utilities/extensions.js";import{isBuildingComponentSublayer as n}from"../../utilities/layers.js";import{QueryProviderBase as o}from"./QueryProviderBase.js";export class ClientSideQueryProvider extends o{get _waitForUpdatingFinished(){return!0}_query(t,r,i){const a=this;return async function*(){const n=await a._getClientSideLayerGraphics(t,r,i);n?.length?yield*n.map((r=>e(r,{source:t}))):yield*s.empty()}()}async _count(e,t,r){const i=await this._getClientSideLayerGraphics(e,t,r);return{source:e,count:i?i.length:0}}_createQuery(e,t,r){const i=a(e)?e.layerExtension:e,{_layerView:s,featureSettings:o}=i,l=n(i.sublayer)?e.layerExtension?.mapExtension:e.mapExtension,u=s.createQuery();return u.where=t,u.geometry=r.spatialFilter,u.orderByFields=r.orderByFields,u.outFields=o.outFields,u.returnGeometry=r.returnGeometry??u.returnGeometry,u.outSpatialReference=r.outSpatialReference,u.maxAllowableOffset=r.maxAllowableOffset,u.num=r.maxResults,u.start=r.start,u.returnZ="scene"===l?.viewMode,u}async _getClientSideLayerGraphics(e,s,n){const o=a(e)?e.layerExtension:e,{_layerView:l}=o;if(!l)return;this._waitForUpdatingFinished&&await t(new Promise(((e,t)=>{l.updating||e();const r=i(l,"updating",(t=>{t||(r.remove(),e())}))})),n.cancelToken);const u=await r((async t=>l.queryFeatures(this._createQuery(e,s,n),{signal:t})),n.cancelToken);return u?.features}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{executeQuery as e,executeCount as t}from"../../support/_query.js";import{isFeatureLayer as r}from"../../utilities/_layers.js";import{removeZValues as s}from"../../utilities/geometry.js";import{QueryProviderBase as a}from"./QueryProviderBase.js";export class FeatureLayerQueryProvider extends a{isSupported(e){const{layer:t}=e;return r(t)&&e.capabilities.supportsQuery}_query(t,r,a){const{layer:i}=t,o=i.createQuery();o.where=r,o.
|
|
1
|
+
import{executeQuery as e,executeCount as t}from"../../support/_query.js";import{isFeatureLayer as r}from"../../utilities/_layers.js";import{removeZValues as s}from"../../utilities/geometry.js";import{QueryProviderBase as a}from"./QueryProviderBase.js";export class FeatureLayerQueryProvider extends a{isSupported(e){const{layer:t}=e;return r(t)&&e.capabilities.supportsQuery}_query(t,r,a){const{layer:i}=t,o=i.createQuery();o.where=r,o.maxAllowableOffset=a.maxAllowableOffset,o.orderByFields=a.orderByFields,o.outFields=a.outFields,o.outSpatialReference=a.outSpatialReference,o.returnGeometry=a.returnGeometry??o.returnGeometry,o.start=a.start,o.returnZ=i.hasZ;let l=a.spatialFilter;return l&&(o.spatialRelationship="intersects",!l||i.hasZ&&i.capabilities?.data?.supportsZ||(l=s(l.clone())),o.geometry=l),i.capabilities.query.supportsPagination&&(o.num=a.maxResults),e(o,t,i,a.cancelToken)}_count(e,r,a){const{layer:i}=e,o=i.createQuery();o.where=r,o.outFields=a.outFields,o.returnGeometry=a.returnGeometry??o.returnGeometry;let l=a.spatialFilter;return l&&(o.spatialRelationship="intersects",!l||i.hasZ&&i.capabilities?.data?.supportsZ||(l=s(l.clone())),o.geometry=l),o.num=a.maxResults,t(o,e,i,a.cancelToken)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{executeQuery as e,executeCount as t}from"../../support/_query.js";import{isGeoJSONLayer as r}from"../../utilities/_layers.js";import{removeZValues as s}from"../../utilities/geometry.js";import{QueryProviderBase as a}from"./QueryProviderBase.js";export class GeoJSONLayerClientSideQueryProvider extends a{isSupported(e){const{layer:t}=e;return r(t)}_query(t,r,a){const{layer:o}=t,i=o.createQuery();i.where=r,i.
|
|
1
|
+
import{executeQuery as e,executeCount as t}from"../../support/_query.js";import{isGeoJSONLayer as r}from"../../utilities/_layers.js";import{removeZValues as s}from"../../utilities/geometry.js";import{QueryProviderBase as a}from"./QueryProviderBase.js";export class GeoJSONLayerClientSideQueryProvider extends a{isSupported(e){const{layer:t}=e;return r(t)}_query(t,r,a){const{layer:o}=t,i=o.createQuery();i.where=r,i.maxAllowableOffset=a.maxAllowableOffset,i.orderByFields=a.orderByFields,i.outFields=a.outFields,i.outSpatialReference=a.outSpatialReference,i.returnGeometry=a.returnGeometry??i.returnGeometry,i.start=a.start,i.returnZ=o.hasZ;let l=a.spatialFilter;return l&&(i.spatialRelationship="intersects",o.capabilities?.data?.supportsZ||(l=s(l.clone())),i.geometry=l),o.capabilities.query.supportsPagination&&(i.num=a.maxResults),e(i,t,o,a.cancelToken)}async _count(e,r,a){const{layer:o}=e,i=o.createQuery();i.where=r,i.outFields=a.outFields,i.returnGeometry=a.returnGeometry??i.returnGeometry;let l=a.spatialFilter;return l&&(i.spatialRelationship="intersects",l&&!o.capabilities?.data?.supportsZ&&(l=s(l.clone())),i.geometry=l),i.num=a.maxResults,t(i,e,o,a.cancelToken)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{executeQueryJSON as r,executeForCount as e}from"@arcgis/core/rest/query";import t from"@arcgis/core/rest/support/Query";import{InvalidOperationError as
|
|
1
|
+
import{executeQueryJSON as r,executeForCount as e}from"@arcgis/core/rest/query";import t from"@arcgis/core/rest/support/Query";import{InvalidOperationError as s}from"../../InvalidOperationError.js";import{executeQuery as u,executeCount as o}from"../../support/_query.js";import{isImageryLayer as i}from"../../utilities/_layers.js";import{QueryProviderBase as n}from"./QueryProviderBase.js";export class ImageryLayerQueryProvider extends n{isSupported(r){const{layer:e}=r;return i(e)&&r.capabilities.supportsQuery}_query(r,e,t){const s=this._getQueryable(r),o=a();return o.where=e,o.num=t.maxResults,o.orderByFields=t.orderByFields,o.outFields=t.outFields,o.start=t.start,u(o,r,s,t.cancelToken)}async _count(r,e,t){const s=this._getQueryable(r),u=a();return u.where=e,u.outFields=t.outFields,u.num=t.maxResults,o(u,r,s,t.cancelToken)}_getQueryable(t){return{queryFeatures(e,u){const o=r(t.layer.url,e??a(),u);if(!t.capabilities.supportsQuery)throw new s("Querying features not supported");return o},queryFeatureCount(r,u){const o=e(t.layer.url,r??a(),u);if(!t.capabilities.supportsQuery)throw new s("Querying features not supported");return o}}}}function a(){return new t({where:"1=1",outFields:["*"],returnGeometry:!0})}
|
|
@@ -13,14 +13,18 @@ export interface QueryOptions {
|
|
|
13
13
|
*/
|
|
14
14
|
cancelToken?: CancelToken;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* The maximum allowable offset used for generalizing geometries returned by
|
|
17
|
+
* the query operation.
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
maxAllowableOffset?: number;
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* The maximum number of results to return.
|
|
22
22
|
*/
|
|
23
|
-
|
|
23
|
+
maxResults?: number;
|
|
24
|
+
/**
|
|
25
|
+
* The fields to order results by.
|
|
26
|
+
*/
|
|
27
|
+
orderByFields?: string[];
|
|
24
28
|
/**
|
|
25
29
|
* Fields that should be returned for each feature.
|
|
26
30
|
*/
|
|
@@ -30,14 +34,21 @@ export interface QueryOptions {
|
|
|
30
34
|
*/
|
|
31
35
|
outSpatialReference?: SpatialReference | undefined;
|
|
32
36
|
/**
|
|
33
|
-
*
|
|
34
|
-
* the query operation.
|
|
37
|
+
* Whether geometry for features should be returned.
|
|
35
38
|
*/
|
|
36
|
-
|
|
39
|
+
returnGeometry?: boolean;
|
|
37
40
|
/**
|
|
38
|
-
*
|
|
41
|
+
* Spatial filter used to filter search results. If specified, results are
|
|
42
|
+
* limited to features that intersect the geometry.
|
|
39
43
|
*/
|
|
40
|
-
|
|
44
|
+
spatialFilter?: GeometryUnion | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* The zero-based index indicating where to begin retrieving features.
|
|
47
|
+
* Features are sorted ascending by object ID by default.
|
|
48
|
+
*
|
|
49
|
+
* {@link https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#start}.
|
|
50
|
+
*/
|
|
51
|
+
start?: number;
|
|
41
52
|
}
|
|
42
53
|
export declare namespace QueryOptions {
|
|
43
54
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"@arcgis/core/geometry/operators/equalsOperator";import{caseInsensitiveEquals as
|
|
1
|
+
import*as e from"@arcgis/core/geometry/operators/equalsOperator";import{caseInsensitiveEquals as l}from"../../utilities/string.js";export var QueryOptions;!function(t){t.DEFAULTS={returnGeometry:!0,outFields:["*"]},t.fromFeatureSource=function(e){return{outFields:e.featureSettings.outFields,returnGeometry:e.featureSettings.returnGeometry,outSpatialReference:e.featureSettings.outSpatialReference,maxAllowableOffset:e.featureSettings.maxAllowableOffset}},t.areSameOptions=async function(t,r){return t===r||t.cancelToken===r.cancelToken&&(t.returnGeometry===r.returnGeometry&&t.maxAllowableOffset===r.maxAllowableOffset&&t.maxResults===r.maxResults&&t.start===r.start&&(!(null==t.outSpatialReference&&null!=r.outSpatialReference||null!=t.outSpatialReference&&null==r.outSpatialReference)&&(!(null!=t.outSpatialReference&&null!=r.outSpatialReference&&!t.outSpatialReference.equals(r.outSpatialReference))&&(!(null==t.outFields&&null!=r.outFields||null!=t.outFields&&null==r.outFields)&&(!!(null==t.outFields||null==r.outFields||t.outFields.length===r.outFields.length&&t.outFields.every((e=>r.outFields.some((t=>l(e,t))))))&&(!(null==t.orderByFields&&null!=r.orderByFields||null!=t.orderByFields&&null==r.orderByFields)&&(!!(null==t.orderByFields||null==r.orderByFields||t.orderByFields.length===r.orderByFields.length&&t.orderByFields.every((e=>r.orderByFields.some((t=>l(e,t))))))&&(!(null==t.spatialFilter&&null!=r.spatialFilter||null!=t.spatialFilter&&null==r.spatialFilter)&&!(null!=t.spatialFilter&&null!=r.spatialFilter&&!e.execute(t.spatialFilter,r.spatialFilter))))))))))}}(QueryOptions||(QueryOptions={}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{executeQuery as e,executeCount as r,concatenateWhereClauses as t}from"../../support/_query.js";import{isSceneLayer as a}from"../../utilities/_layers.js";import{QueryProviderBase as s}from"./QueryProviderBase.js";export class SceneLayerQueryProvider extends s{isSupported(e){const{layer:r}=e;return a(r)&&!!r.associatedLayer}_query(r,a,s){const{layer:o}=r,i=o.associatedLayer.createQuery();return i.where=t(a,o.definitionExpression),i.
|
|
1
|
+
import{executeQuery as e,executeCount as r,concatenateWhereClauses as t}from"../../support/_query.js";import{isSceneLayer as a}from"../../utilities/_layers.js";import{QueryProviderBase as s}from"./QueryProviderBase.js";export class SceneLayerQueryProvider extends s{isSupported(e){const{layer:r}=e;return a(r)&&!!r.associatedLayer}_query(r,a,s){const{layer:o}=r,i=o.associatedLayer.createQuery();return i.where=t(a,o.definitionExpression),i.maxAllowableOffset=s.maxAllowableOffset,i.num=s.maxResults,i.orderByFields=s.orderByFields,i.outFields=s.outFields,i.outSpatialReference=s.outSpatialReference,i.returnGeometry=s.returnGeometry??i.returnGeometry,s.spatialFilter&&(i.spatialRelationship="intersects",i.geometry=s.spatialFilter),i.start=s.start,i.returnZ=!0,e(i,r,o.associatedLayer,s.cancelToken)}async _count(e,t,a){const{layer:s}=e,o=s.associatedLayer.createQuery();return o.where=t,o.outFields=a.outFields,o.returnGeometry=a.returnGeometry??o.returnGeometry,a.spatialFilter&&(o.spatialRelationship="intersects",o.geometry=a.spatialFilter),o.num=a.maxResults,r(o,e,s.associatedLayer,a.cancelToken)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{executeQuery as e,executeCount as t,concatenateWhereClauses as r,constrainQueryTimeExtentToView as s}from"../../support/_query.js";import{isSubtypeSublayer as o}from"../../utilities/_layers.js";import{AsyncQueue as u}from"../../utilities/asyncIterable.js";import{removeZValues as i}from"../../utilities/geometry.js";import{caseInsensitiveEquals as a}from"../../utilities/string.js";import{QueryOptions as l}from"./QueryOptions.js";import{QueryProviderBase as n}from"./QueryProviderBase.js";export class SubtypeSublayerQueryProvider extends n{isSupported(e){const{sublayer:t}=e;return o(t)&&t.layer&&e.layerExtension?.capabilities.supportsQuery}_query(t,s,o){const{sublayer:u}=t,i=this._createQuery(u.layer,o,o.outFields??t.featureSettings.outFields);return i.where=r(`${u.layer.subtypeField}=${u.subtypeCode}`,s),e(i,t,u.layer,o.cancelToken)}_queryMany(t,o,i){if(1===t.length){const e={...l.DEFAULTS,...l.fromFeatureSource(t[0]),...i};return this._query(t[0],o,e)}const n=new u,y=t.length;let c=0;const p=t.reduce(((e,t)=>{const r=t,s={...l.DEFAULTS,...l.fromFeatureSource(r),...i},o=s.outFields??r.featureSettings.outFields;if(e.has(r.sublayer.layer)){const t=e.get(r.sublayer.layer);let i=!1;for(const{sources:e,queryOptions:l,outFields:y}of t)if(n=s,(u=l).returnGeometry===n.returnGeometry&&(u.outSpatialReference===n.outSpatialReference||u.outSpatialReference?.equals(n.outSpatialReference))&&u.maxAllowableOffset===n.maxAllowableOffset&&o.length===y.length&&o.every((e=>y.some((t=>a(e,t)))))){e.push(r),i=!0;break}i||t.push({sources:[r],queryOptions:s,outFields:o})}else e.set(r.sublayer.layer,[{sources:[r],queryOptions:s,outFields:o}]);var u,n;return e}),new Map);for(const[t,u]of p)for(const{sources:i,queryOptions:l,outFields:p}of u)(async()=>{if(n.isDone)return;const u=new Map,f=[];for(const e of i)u.set(e.sublayer.subtypeCode,e),f.push(e.sublayer.subtypeCode);const d=this._createQuery(t,l,p);let b=!1;d.outFields.some((e=>"*"===e||a(e,t.subtypeField)))||(b=!0,d.outFields=[...d.outFields,t.subtypeField]),d.where="1=1"===o?"":o,d.where=r(`${t.subtypeField} IN (${f.join(",")})`,d.where),s(d,i[0]);try{for await(const r of e(d,(e=>{const r=e.attributes;let s=r[t.subtypeField];if(void 0===s){s=r[Object.keys(r).find((e=>a(e,t.subtypeField)))]}return u.get(s)}),t,l.cancelToken)){if(n.isDone)return;b&&r.attributes.delete(t.subtypeField),n.add(r)}}catch(e){n.reject(e)}finally{c+=i.length,c===y&&n.done()}})();return n}_count(e,s,o){const{sublayer:u}=e,i=this._createBasicQuery(u.layer,o,o.outFields??e.featureSettings.outFields);return i.where=r(`${u.layer.subtypeField}=${u.subtypeCode}`,s),t(i,e,u.layer,o.cancelToken)}_createQuery(e,t,r){const s=this._createBasicQuery(e,t,r);return s.outSpatialReference=t.outSpatialReference,s.
|
|
1
|
+
import{executeQuery as e,executeCount as t,concatenateWhereClauses as r,constrainQueryTimeExtentToView as s}from"../../support/_query.js";import{isSubtypeSublayer as o}from"../../utilities/_layers.js";import{AsyncQueue as u}from"../../utilities/asyncIterable.js";import{removeZValues as i}from"../../utilities/geometry.js";import{caseInsensitiveEquals as a}from"../../utilities/string.js";import{QueryOptions as l}from"./QueryOptions.js";import{QueryProviderBase as n}from"./QueryProviderBase.js";export class SubtypeSublayerQueryProvider extends n{isSupported(e){const{sublayer:t}=e;return o(t)&&t.layer&&e.layerExtension?.capabilities.supportsQuery}_query(t,s,o){const{sublayer:u}=t,i=this._createQuery(u.layer,o,o.outFields??t.featureSettings.outFields);return i.where=r(`${u.layer.subtypeField}=${u.subtypeCode}`,s),e(i,t,u.layer,o.cancelToken)}_queryMany(t,o,i){if(1===t.length){const e={...l.DEFAULTS,...l.fromFeatureSource(t[0]),...i};return this._query(t[0],o,e)}const n=new u,y=t.length;let c=0;const p=t.reduce(((e,t)=>{const r=t,s={...l.DEFAULTS,...l.fromFeatureSource(r),...i},o=s.outFields??r.featureSettings.outFields;if(e.has(r.sublayer.layer)){const t=e.get(r.sublayer.layer);let i=!1;for(const{sources:e,queryOptions:l,outFields:y}of t)if(n=s,(u=l).returnGeometry===n.returnGeometry&&(u.outSpatialReference===n.outSpatialReference||u.outSpatialReference?.equals(n.outSpatialReference))&&u.maxAllowableOffset===n.maxAllowableOffset&&o.length===y.length&&o.every((e=>y.some((t=>a(e,t)))))){e.push(r),i=!0;break}i||t.push({sources:[r],queryOptions:s,outFields:o})}else e.set(r.sublayer.layer,[{sources:[r],queryOptions:s,outFields:o}]);var u,n;return e}),new Map);for(const[t,u]of p)for(const{sources:i,queryOptions:l,outFields:p}of u)(async()=>{if(n.isDone)return;const u=new Map,f=[];for(const e of i)u.set(e.sublayer.subtypeCode,e),f.push(e.sublayer.subtypeCode);const d=this._createQuery(t,l,p);let b=!1;d.outFields.some((e=>"*"===e||a(e,t.subtypeField)))||(b=!0,d.outFields=[...d.outFields,t.subtypeField]),d.where="1=1"===o?"":o,d.where=r(`${t.subtypeField} IN (${f.join(",")})`,d.where),s(d,i[0]);try{for await(const r of e(d,(e=>{const r=e.attributes;let s=r[t.subtypeField];if(void 0===s){s=r[Object.keys(r).find((e=>a(e,t.subtypeField)))]}return u.get(s)}),t,l.cancelToken)){if(n.isDone)return;b&&r.attributes.delete(t.subtypeField),n.add(r)}}catch(e){n.reject(e)}finally{c+=i.length,c===y&&n.done()}})();return n}_count(e,s,o){const{sublayer:u}=e,i=this._createBasicQuery(u.layer,o,o.outFields??e.featureSettings.outFields);return i.where=r(`${u.layer.subtypeField}=${u.subtypeCode}`,s),t(i,e,u.layer,o.cancelToken)}_createQuery(e,t,r){const s=this._createBasicQuery(e,t,r);return s.maxAllowableOffset=t.maxAllowableOffset,s.orderByFields=t.orderByFields,s.outSpatialReference=t.outSpatialReference,s.start=t.start,s.returnZ=e.hasZ,s}_createBasicQuery(e,t,r){const s=e.createQuery();s.outFields=r,s.returnGeometry=t.returnGeometry??s.returnGeometry;let o=t.spatialFilter;return o&&(s.spatialRelationship="intersects",!o||e.hasZ&&e.capabilities?.data?.supportsZ||(o=i(o.clone())),s.geometry=o),e.capabilities.query.supportsPagination&&(s.num=t.maxResults),s}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{executeQuery as e,executeCount as
|
|
1
|
+
import{executeQuery as e,executeCount as r}from"../../support/_query.js";import{isWFSLayerExtension as t}from"../../utilities/extensions.js";import{QueryProviderBase as s}from"./QueryProviderBase.js";export class WFSLayerQueryProvider extends s{isSupported(e){return t(e)&&e.capabilities.supportsQuery}_query(r,t,s){const{layer:o}=r,i=o.createQuery();i.where=t,i.maxAllowableOffset=s.maxAllowableOffset,i.orderByFields=s.orderByFields,i.outFields=s.outFields,i.outSpatialReference=s.outSpatialReference,i.returnGeometry=s.returnGeometry??i.returnGeometry,i.start=s.start;const a=s.spatialFilter;return a&&(i.spatialRelationship="intersects",i.geometry=a),o.capabilities.query.supportsPagination&&(i.num=s.maxResults),e(i,r,o,s.cancelToken)}_count(e,t,s){const{layer:o}=e,i=o.createQuery();i.where=t,i.outFields=s.outFields,i.returnGeometry=s.returnGeometry??i.returnGeometry;const a=s.spatialFilter;return a&&(i.spatialRelationship="intersects",i.geometry=a),i.num=s.maxResults,r(i,e,o,s.cancelToken)}}
|
package/version.d.ts
CHANGED
package/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version="54.
|
|
1
|
+
export const version="54.8.0";
|