@vertigis/arcgis-extensions 52.1.1 → 53.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AppConfig.schema.json +1986 -330
- package/data/Feature.d.ts +1 -1
- package/data/FeatureList.d.ts +1 -1
- package/data/FeatureList.js +1 -1
- package/data/FeatureSet.d.ts +27 -4
- package/data/FeatureSet.js +1 -1
- package/data/FeatureSettings.d.ts +6 -1
- package/data/FeatureSettings.js +1 -1
- package/data/Schema.d.ts +32 -2
- package/data/Schema.js +1 -1
- package/data/TaskSettings.d.ts +6 -1
- package/data/_TableExtension.d.ts +1 -1
- package/data/support/_dxfConverters.d.ts +2 -1
- package/data/support/_dxfFunctions.d.ts +2 -1
- package/declarations/arcgis-js-api-extensions/index.d.ts +12 -217
- package/declarations/arcgis-js-api-extensions/modules.d.ts +99 -0
- package/docs/html/assets/highlight.css +16 -16
- package/docs/html/assets/navigation.js +1 -1
- package/docs/html/assets/search.js +1 -1
- package/docs/html/classes/Entity.EntityBase.html +7 -10
- package/docs/html/classes/data_ArcGISServiceTableExtension.ArcGISServiceTableExtension.html +7 -10
- package/docs/html/classes/data_Attachment.Attachment.html +7 -10
- package/docs/html/classes/data_Feature.Feature.html +7 -10
- package/docs/html/classes/data_FeatureList.FeatureList.html +56 -28
- package/docs/html/classes/data_FeatureSet.FeatureSet.html +6 -5
- package/docs/html/classes/data_FeatureSettings.FeatureSettings.html +6 -3
- package/docs/html/classes/data_FeatureSourceBase.FeatureSourceBase.html +7 -10
- package/docs/html/classes/data_FeatureSourceBase.RelationshipCollection.html +53 -25
- package/docs/html/classes/data_FeatureStream.FeatureStream.html +7 -10
- package/docs/html/classes/data_FieldExtension.FieldExtension.html +7 -10
- package/docs/html/classes/data_PopupContentExtension.PopupContentExtension.html +7 -10
- package/docs/html/classes/data_RelationshipBase.RelationshipBase.html +7 -10
- package/docs/html/classes/data_Schema.Schema.html +6 -3
- package/docs/html/classes/data_TaskSettings.TaskSettings.html +5 -2
- package/docs/html/classes/data__TableExtension.TableExtension.html +7 -10
- package/docs/html/classes/data__TableExtension.TableFeatureSettings.html +6 -3
- package/docs/html/classes/data__TableExtension.TableSchema.html +7 -4
- package/docs/html/classes/data_support__dxfConverters.DxfEntityProcessor.html +2 -2
- package/docs/html/classes/layer_preset_LayerPreset.LayerPreset.html +7 -10
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerExtension.html +12 -15
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerRelationshipCollection.html +54 -26
- package/docs/html/classes/mapping_BasemapExtension.BasemapExtension.html +8 -11
- package/docs/html/classes/mapping_Bookmark.Bookmark.html +7 -10
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtension.html +12 -15
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerSchema.html +5 -2
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtension.html +12 -15
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerSchema.html +5 -2
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtension.html +14 -17
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerReadOnlySchema.html +5 -2
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerExtension.html +12 -15
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerFeatureSettings.html +5 -2
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerSchema.html +5 -2
- package/docs/html/classes/mapping_CSVLayerExtension.CSVLayerExtension.html +12 -15
- package/docs/html/classes/mapping_ElevationLayerExtension.ElevationLayerExtension.html +14 -17
- package/docs/html/classes/mapping_FeatureCollectionLayerExtension.FeatureCollectionLayerExtension.html +14 -17
- package/docs/html/classes/mapping_FeatureLayerExtension.FeatureLayerExtension.html +12 -15
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBase.html +14 -17
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerReadOnlySchema.html +5 -2
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerSchema.html +5 -2
- package/docs/html/classes/mapping_GeoJSONLayerExtension.GeoJSONLayerExtension.html +12 -15
- package/docs/html/classes/mapping_GeoRSSLayerExtension.GeoRSSLayerExtension.html +14 -17
- package/docs/html/classes/mapping_GraphicsLayerExtension.GraphicsLayerExtension.html +14 -17
- package/docs/html/classes/mapping_GroundExtension.GroundExtension.html +8 -11
- package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtension.html +15 -18
- package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtensionCollection.html +76 -25
- package/docs/html/classes/mapping_ImageryLayerExtension.ImageryLayerExtension.html +14 -17
- package/docs/html/classes/mapping_ImageryTileLayerExtension.ImageryTileLayerExtension.html +14 -17
- package/docs/html/classes/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtension.html +14 -17
- package/docs/html/classes/mapping_KMLLayerExtension.KMLLayerExtension.html +14 -17
- package/docs/html/classes/mapping_KMLSublayerExtension.KMLSublayerExtension.html +12 -15
- package/docs/html/classes/mapping_MapConstraints.MapConstraints.html +5 -2
- package/docs/html/classes/mapping_MapExtension.MapExtension.html +7 -10
- package/docs/html/classes/mapping_MapImageLayerExtension.MapImageLayerExtension.html +14 -17
- package/docs/html/classes/mapping_MapImageSublayerExtension.MapImageSublayerExtension.html +12 -15
- package/docs/html/classes/mapping_MapNotesLayerExtension.MapNotesLayerExtension.html +14 -17
- package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtension.html +12 -15
- package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionSchema.html +5 -2
- package/docs/html/classes/mapping_MediaLayerExtension.MediaLayerExtension.html +14 -17
- package/docs/html/classes/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtension.html +14 -17
- package/docs/html/classes/mapping_PointCloudLayerExtension.PointCloudLayerExtension.html +14 -17
- package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtension.html +14 -17
- package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtensionSchema.html +5 -2
- package/docs/html/classes/mapping_SceneLayerExtension.SceneLayerExtension.html +14 -17
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerExtension.html +14 -17
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerSchema.html +5 -2
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtension.html +14 -17
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerRelationshipCollection.html +54 -26
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerSchema.html +5 -2
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerExtension.html +12 -15
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerRelationshipCollection.html +54 -26
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerSchema.html +5 -2
- package/docs/html/classes/mapping_TileLayerExtension.TileLayerExtension.html +14 -17
- package/docs/html/classes/mapping_TileSublayerExtension.TileSublayerExtension.html +12 -15
- package/docs/html/classes/mapping_UnsupportedLayerExtension.UnsupportedLayerExtension.html +14 -17
- package/docs/html/classes/mapping_VectorTileLayerExtension.VectorTileLayerExtension.html +14 -17
- package/docs/html/classes/mapping_WFSLayerExtension.WFSLayerExtension.html +14 -17
- package/docs/html/classes/mapping_WMSLayerExtension.WMSLayerExtension.html +14 -17
- package/docs/html/classes/mapping_WMSSublayerExtension.WMSSublayerExtension.html +12 -15
- package/docs/html/classes/mapping_WMTSLayerExtension.WMTSLayerExtension.html +14 -17
- package/docs/html/classes/mapping_WebTileLayerExtension.WebTileLayerExtension.html +14 -17
- package/docs/html/classes/mapping__LayerExtension.LayerExtension.html +14 -17
- package/docs/html/classes/mapping__LayerExtension.LayerExtensionReadOnlySchema.html +5 -2
- package/docs/html/classes/mapping__LayerExtension.LayerExtensionSchema.html +5 -2
- package/docs/html/classes/mapping__LayerExtensionCollectionImpl.LayerExtensionCollectionImpl.html +76 -25
- package/docs/html/classes/mapping__SublayerExtension.SubSublayerExtensionCollection.html +76 -25
- package/docs/html/classes/mapping__SublayerExtension.SublayerExtension.html +12 -15
- package/docs/html/classes/mapping__SublayerExtension.SublayerSchema.html +5 -2
- package/docs/html/classes/mapping_support_ArrayWrappedCollection.ArrayWrappedCollection.html +53 -25
- package/docs/html/classes/mapping_support__LayerExtensionCollection.LayerExtensionCollectionBase.html +76 -25
- package/docs/html/classes/mapping_support__SublayerExtensionCollection.SublayerExtensionCollectionBase.html +76 -25
- package/docs/html/classes/menus_Menu.Menu.html +7 -10
- package/docs/html/classes/menus_MenuItem.MenuItem.html +7 -10
- package/docs/html/classes/support_FormatSettings.FormatSettings.html +5 -2
- package/docs/html/classes/support_InitializableBase.InitializableBase.html +6 -9
- package/docs/html/classes/support_InitializableCollectionProxy.InitializableCollectionProxy.html +53 -25
- package/docs/html/classes/support_ReadOnlyInitializableCollection.ReadOnlyInitializableCollection.html +53 -25
- package/docs/html/classes/support_Settings.Settings.html +5 -2
- package/docs/html/classes/support__ArcGISRelationshipCollection.ArcGISRelationshipCollection.html +54 -26
- package/docs/html/classes/tasks_geocoding_ArcGISGeocoder.ArcGISGeocoder.html +7 -10
- package/docs/html/classes/tasks_geocoding_Geocoder.Geocoder.html +7 -10
- package/docs/html/classes/tasks_identify_IdentifyService.IdentifyService.html +7 -10
- package/docs/html/classes/tasks_identify_WMSLayerFeatureInfoIdentifyProvider.WMSLayerFeatureInfoIdentifyProvider.html +2 -2
- package/docs/html/classes/tasks_query_ArcGISRelationship.ArcGISRelationship.html +7 -10
- package/docs/html/classes/tasks_query_QueryBasedRelationship.QueryBasedRelationship.html +7 -10
- package/docs/html/classes/tasks_query_QueryService.QueryService.html +8 -11
- package/docs/html/classes/tasks_query_SubtypeSublayerQueryProvider.SubtypeSublayerQueryProvider.html +2 -2
- package/docs/html/classes/tasks_search_SearchService.SearchService.html +8 -11
- package/docs/html/classes/utilities_CaseInsensitiveObservableMap.CaseInsensitiveObservableMap.html +6 -5
- package/docs/html/classes/utilities_CollectionProxy.CollectionProxy.html +56 -29
- package/docs/html/classes/utilities_CopyOnWriteCollection.CopyOnWriteCollection.html +53 -25
- package/docs/html/classes/utilities_MapTransformCollection.MapTransformCollection.html +53 -25
- package/docs/html/classes/utilities_ObservableMap.ObservableMap.html +6 -5
- package/docs/html/classes/utilities_ObservableSet.ObservableSet.html +6 -5
- package/docs/html/classes/utilities_ReadOnlyCollection.ReadOnlyCollection.html +53 -25
- package/docs/html/classes/utilities_ReadOnlyMap.ReadOnlyMap.html +35 -9
- package/docs/html/classes/utilities__ReferenceCountedHandle.default.html +2 -2
- package/docs/html/enums/support_esri.WellKnownBasemap.html +9 -1
- package/docs/html/functions/json_BasemapJson.basemapToJson.html +4 -0
- package/docs/html/functions/json_BasemapJson.jsonToBasemap.html +1 -1
- package/docs/html/functions/mapping_support_LayerListSettings.fromLayerListMode.html +1 -1
- package/docs/html/functions/support_observableUtils.observable-1.html +3 -3
- package/docs/html/functions/support_observableUtils.onWatch.html +1 -1
- package/docs/html/functions/support_observableUtils.watch.html +1 -1
- package/docs/html/functions/support_observableUtils.watchEach.html +1 -1
- package/docs/html/functions/support_observableUtils.watchEvent.html +3 -3
- package/docs/html/functions/utilities_basemaps.basemapHas3DLayers.html +4 -0
- package/docs/html/functions/utilities_basemaps.getStandardBasemapThumbnailUrl.html +3 -0
- package/docs/html/functions/utilities_basemaps.isStandardBasemap2D.html +3 -0
- package/docs/html/functions/utilities_checkArg.checkArg.html +1 -1
- package/docs/html/functions/utilities_renderers.isClassBreaksRenderer.html +1 -1
- package/docs/html/functions/utilities_renderers.isDictionaryRenderer.html +1 -1
- package/docs/html/functions/utilities_renderers.isDotDensityRenderer.html +1 -1
- package/docs/html/functions/utilities_renderers.isHeatMapRenderer.html +1 -1
- package/docs/html/functions/utilities_renderers.isRenderer.html +2 -2
- package/docs/html/functions/utilities_renderers.isSimpleRenderer.html +1 -1
- package/docs/html/functions/utilities_renderers.isUniqueValueRenderer.html +1 -1
- package/docs/html/functions/utilities_symbol.isPolygonGeometrySymbol.html +2 -2
- package/docs/html/functions/utilities_watch.onCollectionPropertyChange.html +3 -3
- package/docs/html/functions/utilities_watch.onEach.html +4 -4
- package/docs/html/functions/utilities_watch.onOnce.html +5 -5
- package/docs/html/hierarchy.html +1 -1
- package/docs/html/interfaces/data_Feature.PresentableAttributes.html +36 -10
- package/docs/html/interfaces/data_FeatureSet.FeatureSetEvents.html +12 -0
- package/docs/html/interfaces/data_PopupContentExtension.ContentProperties.html +2 -2
- package/docs/html/interfaces/data_Schema.FieldCollection.html +1 -1
- package/docs/html/interfaces/data_Schema.SchemaEvents.html +16 -0
- package/docs/html/interfaces/data_support__dxfInterfaces.IDxfJsonComponentContext.html +2 -2
- package/docs/html/interfaces/data_support_attachments.AttachmentEnabledLayer.html +19 -6
- package/docs/html/interfaces/json_AnnotationLayerJson.AnnotationLayerJson.html +2 -2
- package/docs/html/interfaces/json_BasemapLayerJson.BasemapLayerJsonBase.html +1 -1
- package/docs/html/interfaces/json_BuildingSceneLayerJson.BuildingSceneLayerJson.html +2 -2
- package/docs/html/interfaces/json_BuildingSceneSublayerJson.BuildingSceneSublayerJson.html +2 -2
- package/docs/html/interfaces/json_CSVLayerJson.CSVLayerJson.html +2 -2
- package/docs/html/interfaces/json_EnvironmentJson.SnowyWeatherJson.html +2 -2
- package/docs/html/interfaces/json_FeatureLayerJson.FeatureLayerJson.html +2 -2
- package/docs/html/interfaces/json_GeoJSONLayerJson.GeoJSONLayerJson.html +2 -2
- package/docs/html/interfaces/json_GeoRSSLayerJson.GeoRSSLayerJson.html +2 -2
- package/docs/html/interfaces/json_GroupLayerJson.GroupLayerJson.html +2 -2
- package/docs/html/interfaces/json_ImageServiceLayerJson.ImageServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_ImageServiceVectorLayerJson.ImageServiceVectorLayerJson.html +2 -2
- package/docs/html/interfaces/json_IntegratedMeshLayerJson.IntegratedMeshLayerJson.html +2 -2
- package/docs/html/interfaces/json_KMLLayerJson.KMLLayerJson.html +2 -2
- package/docs/html/interfaces/json_MapServiceLayerJson.MapServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_MediaLayerJson.MediaLayerJson.html +2 -2
- package/docs/html/interfaces/json_OperationalLayerJson.OperationalLayerJsonBase.html +2 -2
- package/docs/html/interfaces/json_PointCloudLayerJson.PointCloudLayerJson.html +2 -2
- package/docs/html/interfaces/json_PopupInfoJson.PopupElementJson.html +2 -2
- package/docs/html/interfaces/json_RasterDataElevationLayerJson.RasterDataElevationLayerJson.html +2 -2
- package/docs/html/interfaces/json_RendererJson.SizeInfoJson.html +2 -2
- package/docs/html/interfaces/json_SceneLayerJson.SceneLayerJson.html +23 -13
- package/docs/html/interfaces/json_StreamLayerJson.StreamLayerJson.html +2 -2
- package/docs/html/interfaces/json_SubtypeGroupLayerJson.SubtypeGroupLayerJson.html +2 -2
- package/docs/html/interfaces/json_SubtypeGroupLayerJson.SubtypeSubtypeGroupLayerJson.html +2 -2
- package/docs/html/interfaces/json_SubtypeSublayerJson.SubtypeSublayerJson.html +2 -2
- package/docs/html/interfaces/json_TiledElevationServiceLayerJson.TiledElevationServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_TiledImageServiceLayerJson.TiledImageServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_TiledMapServiceLayerJson.TiledMapServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_VectorTileLayerJson.VectorTileLayerJson.html +2 -2
- package/docs/html/interfaces/json_WFSLayerJson.WFSLayerJson.html +2 -2
- package/docs/html/interfaces/json_WMSLayerJson.WMSLayerJson.html +2 -2
- package/docs/html/interfaces/json_WebSceneJson.HeightModelInfoJson.html +2 -2
- package/docs/html/interfaces/json_WebTileLayerJson.WebTileLayerJson.html +2 -2
- package/docs/html/interfaces/mapping_ArcGISSublayerExtension.ArcGISSublayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtensionProperties.html +3 -3
- package/docs/html/interfaces/mapping_BuildingSceneLayerExtension.BuildingSceneLayerProperties.html +2 -2
- package/docs/html/interfaces/mapping_BuildingSublayerExtension.BuildingSublayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_BuildingSublayerExtension.BuildingSublayerProperties.html +2 -2
- package/docs/html/interfaces/mapping_CSVLayerExtension.CSVLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_ElevationLayerExtension.ElevationLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_FeatureLayerExtension.FeatureLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_FeatureLayerExtension.FeatureLayerProperties.html +2 -2
- package/docs/html/interfaces/mapping_FeatureLayerExtensionBase.FeatureLayerBaseProperties.html +2 -2
- package/docs/html/interfaces/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBaseProperties.html +2 -2
- package/docs/html/interfaces/mapping_GeoJSONLayerExtension.GeoJSONLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_GeoRSSLayerExtension.GeoRSSLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_GraphicsLayerExtension.GraphicsLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_GroupLayerExtension.GroupLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_ImageryLayerExtension.ImageryLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_ImageryTileLayerExtension.ImageryTileLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_KMLLayerExtension.KMLLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_KMLSublayerExtension.KMLSublayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_MapExtension.MapExtensionEvents.html +14 -0
- package/docs/html/interfaces/mapping_MapImageLayerExtension.MapImageLayerExtensionProperties.html +4 -4
- package/docs/html/interfaces/mapping_MapImageSublayerExtension.MapImageSublayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_MapNotesLayerExtension.MapNotesLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_MediaLayerExtension.MediaLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_PointCloudLayerExtension.PointCloudLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_PointCloudLayerExtension.PointCloudLayerProperties.html +2 -2
- package/docs/html/interfaces/mapping_RouteLayerExtension.RouteLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_SceneLayerExtension.SceneLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_StreamLayerExtension.StreamLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_SubtypeSublayerExtension.SubtypeSublayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_TileLayerExtension.TileLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_TileSublayerExtension.TileSublayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_VectorTileLayerExtension.VectorTileLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_WFSLayerExtension.WFSLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_WMSLayerExtension.WMSLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_WMSSublayerExtension.WMSSublayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_WMTSLayerExtension.WMTSLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping_WebTileLayerExtension.WebTileLayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping__LayerExtension.LayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/mapping__SublayerExtension.SublayerExtensionProperties.html +2 -2
- package/docs/html/interfaces/support_ArcGISRequestHelper.ArcGISRequestHelperResponse.html +1 -1
- package/docs/html/interfaces/support_ArcGISRequestHelper.ArcGISRequestOptions.html +2 -2
- package/docs/html/interfaces/support_InitializableBase.InitializableBaseEvents.html +7 -0
- package/docs/html/interfaces/support_InitializableCollectionProxy.InitializableCollection.html +1 -1
- package/docs/html/interfaces/support_Settings.SettingsEvents.html +7 -0
- package/docs/html/interfaces/support_esri.ChangeEvent.html +5 -5
- package/docs/html/interfaces/support_esri.LayerWithSublayers.html +1 -1
- package/docs/html/interfaces/support_esri.SublayerLike.html +2 -2
- package/docs/html/interfaces/support_observableUtils.WatchEachOptions.html +3 -3
- package/docs/html/interfaces/support_observableUtils.WatchOptions.html +3 -3
- package/docs/html/interfaces/utilities_ObservableMap.MapAfterItemEvent.html +4 -0
- package/docs/html/interfaces/utilities_ObservableMap.MapEvents.html +10 -0
- package/docs/html/interfaces/utilities_ObservableSet.SetAfterItemEvent.html +4 -0
- package/docs/html/interfaces/utilities_ObservableSet.SetChangeEvent.html +10 -0
- package/docs/html/interfaces/utilities_ObservableSet.SetEvents.html +10 -0
- 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/modules/data_FeatureSet.html +2 -1
- package/docs/html/modules/data_Schema.html +1 -0
- package/docs/html/modules/json_BasemapJson.html +1 -0
- package/docs/html/modules/mapping_MapExtension.html +2 -1
- package/docs/html/modules/support_InitializableBase.html +1 -0
- package/docs/html/modules/support_Settings.html +1 -0
- package/docs/html/modules/support_esri.html +1 -6
- package/docs/html/modules/support_observableUtils.html +2 -1
- package/docs/html/modules/utilities_ObservableMap.html +3 -1
- package/docs/html/modules/utilities_ObservableSet.html +3 -0
- package/docs/html/modules/utilities_basemaps.html +4 -1
- package/docs/html/types/json_BasemapLayerJson.BasemapLayerJson.html +1 -1
- package/docs/html/types/json_SymbolJson.ColorJson.html +1 -1
- package/docs/html/types/support_observableUtils.EventTarget.html +2 -0
- package/docs/html/types/support_observableUtils.WhenOptions.html +1 -1
- package/docs/html/variables/support_esri.Collection.html +1 -1
- package/docs/html/variables/version.version.html +1 -1
- package/json/BasemapJson.d.ts +14 -2
- package/json/BasemapJson.js +1 -1
- package/json/BasemapLayerJson.d.ts +2 -1
- package/json/SceneLayerJson.d.ts +11 -1
- package/json/SymbolJson.d.ts +1 -1
- package/layer-preset/LayerPreset.js +1 -1
- package/mapping/ArcGISSublayerExtension.d.ts +2 -2
- package/mapping/BasemapExtension.d.ts +2 -1
- package/mapping/BasemapExtension.js +1 -1
- package/mapping/BuildingComponentSublayerExtension.d.ts +2 -2
- package/mapping/BuildingSceneLayerExtension.d.ts +2 -2
- package/mapping/CSVLayerExtension.d.ts +1 -1
- package/mapping/FeatureLayerExtension.d.ts +1 -1
- package/mapping/FeatureLayerExtensionBase.d.ts +2 -2
- package/mapping/GeoJSONLayerExtension.d.ts +1 -1
- package/mapping/GroundExtension.d.ts +2 -1
- package/mapping/MapExtension.d.ts +24 -4
- package/mapping/MapExtension.js +1 -1
- package/mapping/SceneLayerExtension.d.ts +2 -2
- package/mapping/StreamLayerExtension.d.ts +2 -2
- package/mapping/SubtypeSublayerExtension.d.ts +3 -3
- package/mapping/WFSLayerExtension.d.ts +2 -2
- package/mapping/_LayerExtension.d.ts +6 -5
- package/mapping/_LayerExtension.js +1 -1
- package/mapping/_SublayerExtension.d.ts +4 -2
- package/mapping/support/_LayerExtensionCollection.d.ts +3 -9
- package/mapping/support/_LayerExtensionCollection.js +1 -1
- package/mapping/support/_SublayerExtensionCollection.d.ts +4 -9
- package/mapping/support/_SublayerExtensionCollection.js +1 -1
- package/mapping/support/featureService.js +1 -1
- package/package.json +2 -2
- package/portal/CSVLayer.d.ts +1 -1
- package/portal/ElevationInfo.d.ts +4 -3
- package/portal/ElevationInfo.js +1 -1
- package/portal/LabelingInfo.js +1 -1
- package/portal/LayerDefinition.js +1 -1
- package/portal/MapServiceLayer.js +1 -1
- package/portal/Slide.js +1 -1
- package/portal/SubtypeGroupLayer.d.ts +2 -2
- package/portal/Symbol.d.ts +1 -1
- package/portal/Symbol.js +1 -1
- package/portal/TiledMapServiceLayer.d.ts +1 -1
- package/portal/TiledMapServiceLayer.js +1 -1
- package/portal/WMSLayer.d.ts +4 -3
- package/portal/WMTSInfo.d.ts +2 -2
- package/portal/WebMap.js +1 -1
- package/support/ArcGISRequestHelper.d.ts +2 -2
- package/support/FormatSettings.d.ts +6 -1
- package/support/InitializableBase.d.ts +17 -2
- package/support/InitializableBase.js +1 -1
- package/support/Serializable.d.ts +1 -1
- package/support/Serializable.js +1 -1
- package/support/Settings.d.ts +19 -0
- package/support/_esriInternal.d.ts +1 -3
- package/support/_esriInternal.js +1 -1
- package/support/esri.d.ts +10 -7
- package/support/esri.js +1 -1
- package/support/observableUtils.d.ts +8 -8
- package/support/observableUtils.js +1 -1
- package/tasks/identify/ArcGISSublayerIdentifyProvider.d.ts +1 -1
- package/tasks/identify/BuildingComponentSublayerHitTestIdentifyProvider.d.ts +1 -1
- package/tasks/identify/CSVLayer3DHitTestIdentifyProvider.d.ts +1 -1
- package/tasks/identify/CSVLayerClientSideQueryIdentifyProvider.d.ts +1 -1
- package/tasks/identify/FeatureLayer3DHitTestIdentifyProvider.d.ts +1 -1
- package/tasks/identify/FeatureLayerClientSideIdentifyProvider.d.ts +1 -1
- package/tasks/identify/FeatureLayerQueryIdentifyProvider.d.ts +1 -1
- package/tasks/identify/GeoJSONLayer3DHitTestIdentifyProvider.d.ts +1 -1
- package/tasks/identify/GeoJSONLayerClientSideQueryIdentifyProvider.d.ts +1 -1
- package/tasks/identify/GeoRSSLayerIdentifyProvider.d.ts +1 -1
- package/tasks/identify/GraphicsLayerQueryIdentifyProvider.d.ts +1 -1
- package/tasks/identify/HitTestIdentifyProvider.d.ts +1 -1
- package/tasks/identify/IdentifyProviderBase.d.ts +1 -1
- package/tasks/identify/IdentifyService.d.ts +1 -1
- package/tasks/identify/ImageryLayerIdentifyProvider.d.ts +1 -1
- package/tasks/identify/KMLLayerQueryIdentifyProvider.d.ts +1 -1
- package/tasks/identify/MapNotesSublayerQueryIdentifyProvider.d.ts +1 -1
- package/tasks/identify/PointCloudLayerHitTestIdentifyProvider.d.ts +1 -1
- package/tasks/identify/RouteLayerQueryIdentifyProvider.d.ts +1 -1
- package/tasks/identify/SceneLayerHitTestIdentifyProvider.d.ts +1 -1
- package/tasks/identify/SceneLayerQueryIdentifyProvider.d.ts +1 -1
- package/tasks/identify/SubtypeSublayerQueryIdentifyProvider.d.ts +1 -1
- package/tasks/identify/WMSLayerFeatureInfoIdentifyProvider.d.ts +1 -1
- package/tasks/identify/WMSSublayerIdentifyProvider.d.ts +1 -1
- package/tasks/query/QueryOptions.d.ts +1 -1
- package/tasks/query/SubtypeSublayerQueryProvider.d.ts +3 -2
- package/tasks/search/SearchOptions.d.ts +1 -1
- package/tasks/search/support/_querySearchProviderUtils.d.ts +1 -1
- package/utilities/CollectionProxy.d.ts +30 -22
- package/utilities/CollectionProxy.js +1 -1
- package/utilities/MapTransformCollection.js +1 -1
- package/utilities/ObservableMap.d.ts +30 -6
- package/utilities/ObservableMap.js +1 -1
- package/utilities/ObservableSet.d.ts +52 -7
- package/utilities/ObservableSet.js +1 -1
- package/utilities/ReadOnlyMap.d.ts +10 -8
- package/utilities/_ReferenceCountedHandle.d.ts +3 -2
- package/utilities/_geoJson.d.ts +1 -1
- package/utilities/_gml.d.ts +1 -1
- package/utilities/_layers.d.ts +1 -1
- package/utilities/_layers.js +1 -1
- package/utilities/_project.d.ts +1 -1
- package/utilities/_wkt.d.ts +1 -1
- package/utilities/basemaps.d.ts +20 -1
- package/utilities/basemaps.js +1 -1
- package/utilities/collection.d.ts +2 -1
- package/utilities/esri.d.ts +1 -1
- package/utilities/geometry.d.ts +1 -1
- package/utilities/query.d.ts +1 -1
- package/utilities/renderers.d.ts +8 -8
- package/utilities/symbol.d.ts +2 -2
- package/utilities/watch.d.ts +6 -6
- package/utilities/watch.js +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/docs/html/types/support_esri.BuildingComponentSublayerCapabilities.html +0 -1
- package/docs/html/types/support_esri.BuildingComponentSublayerCapabilitiesData.html +0 -1
- package/docs/html/types/support_esri.CollectionAfterChangesEventHandler.html +0 -1
- package/docs/html/types/support_esri.CollectionBeforeChangesEventHandler.html +0 -1
- package/docs/html/types/support_esri.FeatureLayerElevationInfo.html +0 -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{layerToJson as y,getLayerJsonType as h,jsonToLayer as d,applyJsonToLayer 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 E}from"../support/observableUtils.js";import x 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 V,fromLayerListMode as D}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase as F}from"./support/_SublayerExtensionCollection.js";const O="Invalid type of layer for this type of layer extension.",$="This type of layer does not have features.",N="This type of layer cannot have sublayers.",k=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(){return this.layer&&this.layer.minScale||0}get effectiveMaxScale(){return this.layer&&this.layer.maxScale||0}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}tpkSource;layerListSettings;allSublayerExtensions;get sublayersAreReadOnly(){return!0}_itemType=r.LAYER_EXTENSION;_watchHandles=[];_layerWatchHandles=[];_mapExtension;_basemapExtension;_groundExtension;_parentLayerExtension;_sublayerExtensions;_layer;_dynamicallyAddedLayer=!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=D(i.listMode)),this.layerListSettings=this._createLayerListSettings({...s,...t.layerListSettings}),v(i))w("properties.layer",i).satisfies((e=>this._isSupportedLayer(e)),O),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 W(this),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)o=l.includes("Tiled")||l.includes("Hosted Service")?"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($);return super.getFeatures(e,t)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s($);await super.addFeatures(e,t)}async updateFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s($);await super.updateFeatures(e,t)}async deleteFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s($);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)),O),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.mapExtension&&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){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&&J().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)),O),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),i.forEach((e=>{const t=this.schema.fields.find((t=>n.matchesRef(e,{$ref:t.name})));t&&e._switchField(t)})),s.forEach(((e,t)=>{const i=this.featureSettings.popupContentExtensions.find((e=>o.matchesRef(s,t,e.toJSON().content)));i&&e._switchContent(i.content)}));const r=[];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);await i._switchSublayer(e),this._sublayerExtensions._register(i)})))}this.isInitialized&&r.push(this._initializeChildren()),await Promise.all(r)}_getProjectWebmapJSON(){if(!this.layer)return;let e=y(this.layer);if(!this.dynamicallyAddedLayer){const{id:t,title:i,layerType:s,opacity:r}=e;e={id:t,title:i,layerType:s,visibility:this.layer.visible,opacity:r}}return e}_onSublayerAddedPostInitialize=async e=>{try{await e.initialize()}catch(t){J().error({message:`Error occurred while initializing sublayer extension for sublayer '${e.title??e.sublayer.id??e.id}'.`,error:t})}};async _onDestroy(){this._watchHandles.forEach((e=>e?.remove())),this._layerWatchHandles.forEach((e=>e?.remove())),await Promise.all(this.sublayerExtensions.toArray().map((e=>e.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 y(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(N);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._watchHandles.push(T(this,"layer.sublayers",(async e=>{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 G(e,this)}_createSublayerExtensionCollection(){return new B(this)}_capabilities(){return k}*_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))),u(e,t)}_setLayer(e){if(this._layer=e,this._layerWatchHandles.forEach((e=>e.remove())),this._layerWatchHandles.length=0,this._layerWatchHandles.push(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})))),"definitionExpression"in e&&this._watchHandles.push(g(e,"definitionExpression",((e,t,i)=>{this.mapExtension?.emit("layer-definition-expression-change",i)}))),this.supportsSublayers)if(this._sublayers)this._setupSublayersHandles();else{const t=g(e,"sublayers",(()=>{this._setupSublayersHandles()}),{sync:!0,once:!0});this._layerWatchHandles.push(t)}b(this,"layer"),b(this,"title"),b(this,"effectiveMinScale"),b(this,"effectiveMaxScale"),b(this,"isEffectivelyVisible")}_setupSublayersHandles(){this._layerWatchHandles.push(this._sublayers.on("after-add",this._onSublayersAfterAdd),this._sublayers.on("after-remove",this._onSublayersAfterRemove),E(this._sublayers,"[].visible",this._onSublayersSublayerVisibleChanged,{sync:!0}))}_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 B extends F{constructor(e){super(e,"_sublayers"),this._layerExtension=e}add(e,t){if(w("sublayerX",e).isNotMissing(),!this._layerExtension.supportsSublayers)throw new s(N);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 W extends c{get _collection(){return this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions))}_layerExtension;_onChangeLayerExtensionsHandle=new x((()=>{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(),target:this})};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 x((()=>{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,target:this});const a=i.item.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const n of a)if(this.emit("after-add",{...i,item:n,target:this}),!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 x((()=>{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,target:this});const t=e.item,s=t.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const t of s)this.emit("after-remove",{...e,item:t,target:this}),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}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 G=class extends V{get _esriLayer(){return this._extension.layer}get _listModePath(){return"layer.listMode"}get _supportsChildren(){return this._extension.supportsSublayers}};G=e([f],G);export{G as LayerExtensionLayerListSettings};function q(e){return"object"==typeof e?e:{property:e}}let U=class extends l{_layerExtension;_layerBindings=new Map;constructor(e){super(),this._layerExtension=e,this._bindSettingsToLayerProperties(),e.layer?this._onLayerResolved(e.layer):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=q(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=q(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=q(e[t]);this._layerBindings.set(t,i),i.hasOwnProperty("value")||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))}};U=e([f],U);export{U as LayerExtensionSchema};export function _assignLayerExtensions(e,t){return M(e,t,{onNew:(t,i)=>{e.add(t instanceof LayerExtension?t:LayerExtension.create(t),Y(t)?void 0:i)},onMatch:(t,i,s,r)=>{i instanceof LayerExtension||t.assignProperties(i),s===r||Y(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 J(){return C("geocortex.api.mapping.LayerExtension")}function Y(e){return e instanceof LayerExtension?!!e._deferredLayerProperties?.$ref:!v(e.layer)&&!!e.layer?.$ref}let K=class extends U{_setSetting(e,t){if(this._layerBindings.has(e))throw new s(ERR_SCHEMA_READ_ONLY);super._setSetting(e,t)}};K=e([f],K);export{K 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{layerToJson as y,getLayerJsonType as h,jsonToLayer as d,applyJsonToLayer 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 E}from"../support/observableUtils.js";import x 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 V,fromLayerListMode as D}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase as F}from"./support/_SublayerExtensionCollection.js";const O="Invalid type of layer for this type of layer extension.",$="This type of layer does not have features.",N="This type of layer cannot have sublayers.",k=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(){return this.layer&&this.layer.minScale||0}get effectiveMaxScale(){return this.layer&&this.layer.maxScale||0}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}tpkSource;layerListSettings;allSublayerExtensions;get sublayersAreReadOnly(){return!0}_itemType=r.LAYER_EXTENSION;_watchHandles=[];_layerWatchHandles=[];_mapExtension;_basemapExtension;_groundExtension;_parentLayerExtension;_sublayerExtensions;_layer;_dynamicallyAddedLayer=!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=D(i.listMode)),this.layerListSettings=this._createLayerListSettings({...s,...t.layerListSettings}),v(i))w("properties.layer",i).satisfies((e=>this._isSupportedLayer(e)),O),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 W(this),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)o=l.includes("Tiled")||l.includes("Hosted Service")?"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($);return super.getFeatures(e,t)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s($);await super.addFeatures(e,t)}async updateFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s($);await super.updateFeatures(e,t)}async deleteFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s($);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)),O),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.mapExtension&&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){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&&J().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)),O),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),i.forEach((e=>{const t=this.schema.fields.find((t=>n.matchesRef(e,{$ref:t.name})));t&&e._switchField(t)})),s.forEach(((e,t)=>{const i=this.featureSettings.popupContentExtensions.find((e=>o.matchesRef(s,t,e.toJSON().content)));i&&e._switchContent(i.content)}));const r=[];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);await i._switchSublayer(e),this._sublayerExtensions._register(i)})))}this.isInitialized&&r.push(this._initializeChildren()),await Promise.all(r)}_getProjectWebmapJSON(){if(!this.layer)return;let e=y(this.layer);if(!this.dynamicallyAddedLayer){const{id:t,title:i,layerType:s,opacity:r}=e;e={id:t,title:i,layerType:s,visibility:this.layer.visible,opacity:r}}return e}_onSublayerAddedPostInitialize=async e=>{try{await e.initialize()}catch(t){J().error({message:`Error occurred while initializing sublayer extension for sublayer '${e.title??e.sublayer.id??e.id}'.`,error:t})}};async _onDestroy(){this._watchHandles.forEach((e=>e?.remove())),this._layerWatchHandles.forEach((e=>e?.remove())),await Promise.all(this.sublayerExtensions.toArray().map((e=>e.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 y(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(N);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._watchHandles.push(T(this,"layer.sublayers",(async e=>{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 G(e,this)}_createSublayerExtensionCollection(){return new B(this)}_capabilities(){return k}*_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))),u(e,t)}_setLayer(e){if(this._layer=e,this._layerWatchHandles.forEach((e=>e.remove())),this._layerWatchHandles.length=0,this._layerWatchHandles.push(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})))),"definitionExpression"in e&&this._watchHandles.push(g(e,"definitionExpression",((e,t,i)=>{this.mapExtension?.emit("layer-definition-expression-change",i)}))),this.supportsSublayers)if(this._sublayers)this._setupSublayersHandles();else{const t=g(e,"sublayers",(()=>{this._setupSublayersHandles()}),{sync:!0,once:!0});this._layerWatchHandles.push(t)}b(this,"layer"),b(this,"title"),b(this,"effectiveMinScale"),b(this,"effectiveMaxScale"),b(this,"isEffectivelyVisible")}_setupSublayersHandles(){this._layerWatchHandles.push(this._sublayers.on("after-add",this._onSublayersAfterAdd),this._sublayers.on("after-remove",this._onSublayersAfterRemove),E(this._sublayers,"[].visible",this._onSublayersSublayerVisibleChanged,{sync:!0}))}_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 B extends F{constructor(e){super(e,"_sublayers"),this._layerExtension=e}add(e,t){if(w("sublayerX",e).isNotMissing(),!this._layerExtension.supportsSublayers)throw new s(N);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 W extends c{get _collection(){return this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions))}_layerExtension;_onChangeLayerExtensionsHandle=new x((()=>{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 x((()=>{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 x((()=>{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}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 G=class extends V{get _esriLayer(){return this._extension.layer}get _listModePath(){return"layer.listMode"}get _supportsChildren(){return this._extension.supportsSublayers}};G=e([f],G);export{G as LayerExtensionLayerListSettings};function q(e){return"object"==typeof e?e:{property:e}}let U=class extends l{_layerExtension;_layerBindings=new Map;constructor(e){super(),this._layerExtension=e,this._bindSettingsToLayerProperties(),e.layer?this._onLayerResolved(e.layer):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=q(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=q(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=q(e[t]);this._layerBindings.set(t,i),i.hasOwnProperty("value")||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))}};U=e([f],U);export{U as LayerExtensionSchema};export function _assignLayerExtensions(e,t){return M(e,t,{onNew:(t,i)=>{e.add(t instanceof LayerExtension?t:LayerExtension.create(t),Y(t)?void 0:i)},onMatch:(t,i,s,r)=>{i instanceof LayerExtension||t.assignProperties(i),s===r||Y(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 J(){return C("geocortex.api.mapping.LayerExtension")}function Y(e){return e instanceof LayerExtension?!!e._deferredLayerProperties?.$ref:!v(e.layer)&&!!e.layer?.$ref}let K=class extends U{_setSetting(e,t){if(this._layerBindings.has(e))throw new s(ERR_SCHEMA_READ_ONLY);super._setSetting(e,t)}};K=e([f],K);export{K as LayerExtensionReadOnlySchema};export const ERR_SCHEMA_READ_ONLY="This schema property is read-only.";
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import Collection from "@arcgis/core/core/Collection";
|
|
2
|
+
import type { ResourceHandle } from "@arcgis/core/core/Handles.js";
|
|
2
3
|
import type Extent from "@arcgis/core/geometry/Extent";
|
|
3
4
|
import type SpatialReference from "@arcgis/core/geometry/SpatialReference";
|
|
4
5
|
import type Renderer from "@arcgis/core/renderers/Renderer";
|
|
6
|
+
import type { RendererUnion } from "@arcgis/core/renderers/types.js";
|
|
5
7
|
import type { Feature } from "../data/Feature.js";
|
|
6
8
|
import type { FeatureSet } from "../data/FeatureSet.js";
|
|
7
9
|
import type { FeatureReadOptions, FeatureWriteOptions } from "../data/FeatureSource.js";
|
|
@@ -163,7 +165,7 @@ export declare abstract class SublayerExtension<TProperties extends SublayerExte
|
|
|
163
165
|
* The renderer, if any, that the ESRI sublayer uses to display data on the
|
|
164
166
|
* map.
|
|
165
167
|
*/
|
|
166
|
-
get renderer():
|
|
168
|
+
get renderer(): RendererUnion;
|
|
167
169
|
/**
|
|
168
170
|
* Settings that affect the behavior and presentation of the sublayer in the
|
|
169
171
|
* layer list.
|
|
@@ -263,7 +265,7 @@ export declare abstract class SublayerExtension<TProperties extends SublayerExte
|
|
|
263
265
|
* A set of watch handles that get cleaned up when the class instance is
|
|
264
266
|
* destroyed.
|
|
265
267
|
*/
|
|
266
|
-
protected readonly _watchHandles:
|
|
268
|
+
protected readonly _watchHandles: ResourceHandle[];
|
|
267
269
|
private readonly _sublayerExtensions;
|
|
268
270
|
private _layerExtension;
|
|
269
271
|
private _parentSublayerExtension;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import Collection from "@arcgis/core/core/Collection";
|
|
2
|
+
import type { EventedCallback, EventNames } from "@arcgis/core/core/Evented.js";
|
|
3
|
+
import type { ResourceHandle } from "@arcgis/core/core/Handles.js";
|
|
2
4
|
import type Layer from "@arcgis/core/layers/Layer";
|
|
3
5
|
import type { InitializableCollection } from "../../support/InitializableCollectionProxy.js";
|
|
4
6
|
import { InitializableCollectionProxy } from "../../support/InitializableCollectionProxy.js";
|
|
5
|
-
import type { CollectionAfterAddEventHandler, CollectionAfterChangesEventHandler, CollectionAfterRemoveEventHandler, CollectionBeforeAddEventHandler, CollectionBeforeChangesEventHandler, CollectionBeforeRemoveEventHandler, CollectionChangeEventHandler, EventHandler } from "../../support/esri.js";
|
|
6
7
|
import { type Observable } from "../../support/observableUtils.js";
|
|
7
8
|
import type { MapExtension } from "../MapExtension.js";
|
|
8
9
|
import type { LayerExtensionProperties } from "../_LayerExtension.js";
|
|
@@ -81,14 +82,7 @@ export declare abstract class LayerExtensionCollectionBase extends Initializable
|
|
|
81
82
|
* parent corresponding to the underlying collection of layers.
|
|
82
83
|
*/
|
|
83
84
|
constructor(parent: Observable, layersProperty: string);
|
|
84
|
-
on(
|
|
85
|
-
on(type: "after-changes", listener: CollectionAfterChangesEventHandler): IHandle;
|
|
86
|
-
on(type: "after-remove", listener: CollectionAfterRemoveEventHandler<LayerExtension>): IHandle;
|
|
87
|
-
on(type: "before-add", listener: CollectionBeforeAddEventHandler<LayerExtension>): IHandle;
|
|
88
|
-
on(type: "before-changes", listener: CollectionBeforeChangesEventHandler): IHandle;
|
|
89
|
-
on(type: "before-remove", listener: CollectionBeforeRemoveEventHandler<LayerExtension>): IHandle;
|
|
90
|
-
on(type: "change", listener: CollectionChangeEventHandler<LayerExtension>): IHandle;
|
|
91
|
-
on(type: string, listener: EventHandler): IHandle;
|
|
85
|
+
on<Type extends EventNames<this>>(eventName: Type, listener: EventedCallback<this["@eventTypes"][Type]>): ResourceHandle;
|
|
92
86
|
clone(): LayerExtensionCollectionBase;
|
|
93
87
|
/**
|
|
94
88
|
* @inheritDoc
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"@arcgis/core/core/Collection";import{InvalidOperationError as t}from"../../InvalidOperationError.js";import{InitializableCollectionProxy as i}from"../../support/InitializableCollectionProxy.js";import{createIHandle as r,notifyChange as s,onWatch as a,watch as n,watchEvent as o}from"../../support/observableUtils.js";import h from"../../utilities/_ReferenceCountedHandle.js";import{checkArg as d}from"../../utilities/checkArg.js";import{layersAreEquivalent as l}from"../../utilities/layers.js";import{getLogger as y}from"../../utilities/log.js";import{onCollectionPropertyChange as _}from"../../utilities/watch.js";import{UnsupportedLayerExtension as m}from"../UnsupportedLayerExtension.js";import{LayerExtension as f}from"../_LayerExtension.js";export class LayerExtensionCollectionBase extends i{_parent;get _collection(){return this._layers.map((e=>this._forLayer(e))).concat(this._uninitializedLayerExtensions).filter((e=>!(e instanceof m)))}get _layers(){const t=this._layersProperty.split(".");let i=this._parent;for(const e of t){if(null==i){i=void 0;break}i=i[e]}return i||(this._tempLayers||(this._tempLayers=new e),i=this._tempLayers),i}_layerExtensionMap=new WeakMap;_uninitializedLayerExtensions=new e;_layersProperty;_tempLayers;_onChangeLayersHandle=new h((()=>_(this._parent,this._layersProperty,(e=>{try{const t={added:(e.added||[]).map((e=>this._forLayer(e))),moved:(e.moved||[]).map((e=>this._forLayer(e))),removed:(e.removed||[]).map((e=>this._forLayer(e)))};this.emit("change",t)}catch(e){e instanceof Error&&y("geocortex.api.support.LayerExtensionCollection").error(e.message)}}))));_onBeforeAddLayersHandle=new h((()=>o(this._parent,this._layersProperty,["before-add",e=>this.emit("before-add",{...e,item:this._forLayer(e.item)
|
|
1
|
+
import e from"@arcgis/core/core/Collection";import{InvalidOperationError as t}from"../../InvalidOperationError.js";import{InitializableCollectionProxy as i}from"../../support/InitializableCollectionProxy.js";import{createIHandle as r,notifyChange as s,onWatch as a,watch as n,watchEvent as o}from"../../support/observableUtils.js";import h from"../../utilities/_ReferenceCountedHandle.js";import{checkArg as d}from"../../utilities/checkArg.js";import{layersAreEquivalent as l}from"../../utilities/layers.js";import{getLogger as y}from"../../utilities/log.js";import{onCollectionPropertyChange as _}from"../../utilities/watch.js";import{UnsupportedLayerExtension as m}from"../UnsupportedLayerExtension.js";import{LayerExtension as f}from"../_LayerExtension.js";export class LayerExtensionCollectionBase extends i{_parent;get _collection(){return this._layers.map((e=>this._forLayer(e))).concat(this._uninitializedLayerExtensions).filter((e=>!(e instanceof m)))}get _layers(){const t=this._layersProperty.split(".");let i=this._parent;for(const e of t){if(null==i){i=void 0;break}i=i[e]}return i||(this._tempLayers||(this._tempLayers=new e),i=this._tempLayers),i}_layerExtensionMap=new WeakMap;_uninitializedLayerExtensions=new e;_layersProperty;_tempLayers;_onChangeLayersHandle=new h((()=>_(this._parent,this._layersProperty,(e=>{try{const t={added:(e.added||[]).map((e=>this._forLayer(e))),moved:(e.moved||[]).map((e=>this._forLayer(e))),removed:(e.removed||[]).map((e=>this._forLayer(e)))};this.emit("change",t)}catch(e){e instanceof Error&&y("geocortex.api.support.LayerExtensionCollection").error(e.message)}}))));_onBeforeAddLayersHandle=new h((()=>o(this._parent,this._layersProperty,["before-add",e=>this.emit("before-add",{...e,item:this._forLayer(e.item)})])));_onBeforeRemoveLayersHandle=new h((()=>o(this._parent,this._layersProperty,["before-remove",e=>this.emit("before-remove",{...e,item:this._forLayer(e.item)})])));_onBeforeChangesLayersHandle=new h((()=>o(this._parent,this._layersProperty,["before-changes",e=>this.emit("before-changes",{...e})])));_onAfterAddLayersHandle=new h((()=>o(this._parent,this._layersProperty,["after-add",e=>this.emit("after-add",{...e,item:this._forLayer(e.item)})],(e=>{if(null!=e)for(const t of e)this.emit("after-add",{item:this._forLayer(t)})}))));_onAfterRemoveLayersHandle=new h((()=>o(this._parent,this._layersProperty,["after-remove",e=>this.emit("after-remove",{...e,item:this._forLayer(e.item)})],((e,t)=>{if(null!=t)for(const e of t)this.emit("after-remove",{item:this._forLayer(e)})}))));_onAfterChangesLayersHandle=new h((()=>o(this._parent,this._layersProperty,["after-changes",e=>this.emit("after-changes",{...e})],(()=>{this.emit("after-changes",{target:this})}))));constructor(e,t){super(),this._parent=e,this._layersProperty=t,a(this,"length",(()=>n(this._parent,`${this._layersProperty}.length`,(()=>s(this,"length")),{sync:!0})))}on(e,t){const i=[];return"change"===e?i.push(this._onChangeLayersHandle.add()):"before-add"===e?i.push(this._onBeforeAddLayersHandle.add()):"before-remove"===e?i.push(this._onBeforeRemoveLayersHandle.add()):"before-changes"===e?i.push(this._onBeforeChangesLayersHandle.add()):"after-add"===e?i.push(this._onAfterAddLayersHandle.add()):"after-remove"===e?i.push(this._onAfterRemoveLayersHandle.add()):"after-changes"===e&&i.push(this._onAfterChangesLayersHandle.add()),i.push(super.on(e,t)),r(i)}clone(){const e=super.clone();return e._layerExtensionMap=this._layerExtensionMap,e}findById(e){return d("id",e).isNotMissing(),this.find((t=>t.id===e))}findByLayerId(e){return d("id",e).isNotMissing(),this.find((t=>t.layer.id===e))}forLayer(e){if(d("layer",e).isNotMissing(),this._layers.includes(e))return this._forLayer(e)}add(e,t){return d("layerX",e).isNotMissing(),this._register(e),e.layer?this._layers.includes(e.layer)?void 0!==t&&this._layers.reorder(e.layer,t):this._layers.add(e.layer,t):e.isInitialized||n(e,"layer",(e=>{e&&(this._forLayer(e),this._layers.includes(e)||this._layers.add(e,t))}),{sync:!0,once:!0}),this}removeAt(e){const t=this.getItemAt(e);if(void 0!==t){if(this._uninitializedLayerExtensions.includes(t)){this._uninitializedLayerExtensions.remove(t);const e={added:[],moved:[],removed:[t],target:this};this.emit("after-remove",{item:t}),this.emit("after-changes"),this.emit("change",e)}else this._layers.remove(t.layer);return this._onRemoved(t),t}}reorder(e,i){if(this._uninitializedLayerExtensions.includes(e)){if(this._uninitializedLayerExtensions.some((e=>e.isInitialized)))throw new t("Unable to reorder a mix of initialized / uninitialized layers.");this._uninitializedLayerExtensions.reorder(e,i)}if(e?.layer&&this._layers.includes(e.layer))return this._layers.reorder(e.layer,i),e}sort(e){return this._layers.sort(((t,i)=>e(this._forLayer(t),this._forLayer(i)))),this}onParentInitialized(){this._tempLayers?.length&&(this.addMany(this._tempLayers.map((e=>this._forLayer(e)))),this._tempLayers=void 0)}onMapExtensionChanged(){for(const e of this.toArray())e._setMapExtension(this._mapExtension)}_forLayer(e){for(const e of this._uninitializedLayerExtensions)e.layer||e._resolveLayer(this._layers),e.layer&&(this._layerExtensionMap.set(e.layer,e),this._uninitializedLayerExtensions.remove(e),this._mapExtension&&!e.mapExtension&&e._setMapExtension(this._mapExtension));if(!this._layerExtensionMap.has(e)){const t=this._uninitializedLayerExtensions.find((t=>l(e,t._deferredLayerProperties)));if(t)return t;const i=("map"===this._mapExtension?.viewMode?this._mapExtension?._scene:this._mapExtension?._map)?.allLayers.find((t=>l(t,e))),r=this._layerExtensionMap.get(i),s={layer:e};r&&(s.layerListSettings=r.layerListSettings.toJSON());const a=f.create(s);this._register(a)}return this._layerExtensionMap.get(e)}_register(e){if(d("layerX",e).isNotMissing(),e._setMapExtension(this._mapExtension),e.layer||e._resolveLayer(this._layers),e.layer){const t=this._layerExtensionMap.get(e.layer);if(e===t)return;if(this._layerExtensionMap.set(e.layer,e),t&&(this._onRemoved(t),this._layers.includes(e.layer))){const i={added:[e],moved:[],removed:[t],target:this};this.emit("after-add",{item:e}),null!=t&&this.emit("after-remove",{item:t}),this.emit("after-changes"),this.emit("change",i)}}else{this._uninitializedLayerExtensions.add(e);const t={added:[e],moved:[],removed:[],target:this};this.emit("after-add",{item:e}),this.emit("after-changes"),this.emit("change",t)}this._onAdded(e)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.layer}_onAdded(e){}_onRemoved(e){e._setMapExtension(void 0)}}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import Collection from "@arcgis/core/core/Collection";
|
|
2
|
+
import type { EventedCallback, EventNames } from "@arcgis/core/core/Evented.js";
|
|
3
|
+
import type { ResourceHandle } from "@arcgis/core/core/Handles.js";
|
|
2
4
|
import type { InitializableCollection } from "../../support/InitializableCollectionProxy.js";
|
|
3
5
|
import { InitializableCollectionProxy } from "../../support/InitializableCollectionProxy.js";
|
|
4
|
-
import type {
|
|
6
|
+
import type { SublayerLike } from "../../support/esri.js";
|
|
5
7
|
import { type Observable } from "../../support/observableUtils.js";
|
|
6
8
|
import type { LayerExtension } from "../_LayerExtension.js";
|
|
7
9
|
import type { SublayerExtensionProperties } from "../_SublayerExtension.js";
|
|
@@ -80,14 +82,7 @@ export declare abstract class SublayerExtensionCollectionBase extends Initializa
|
|
|
80
82
|
* parent corresponding to the underlying collection of sublayers.
|
|
81
83
|
*/
|
|
82
84
|
constructor(parent: Observable, sublayersProperty: string);
|
|
83
|
-
on(
|
|
84
|
-
on(type: "after-changes", listener: CollectionAfterChangesEventHandler): IHandle;
|
|
85
|
-
on(type: "after-remove", listener: CollectionAfterRemoveEventHandler<LayerExtension>): IHandle;
|
|
86
|
-
on(type: "before-add", listener: CollectionBeforeAddEventHandler<LayerExtension>): IHandle;
|
|
87
|
-
on(type: "before-changes", listener: CollectionBeforeChangesEventHandler): IHandle;
|
|
88
|
-
on(type: "before-remove", listener: CollectionBeforeRemoveEventHandler<LayerExtension>): IHandle;
|
|
89
|
-
on(type: "change", listener: CollectionChangeEventHandler<LayerExtension>): IHandle;
|
|
90
|
-
on(type: string, listener: EventHandler): IHandle;
|
|
85
|
+
on<Type extends EventNames<this>>(eventName: Type, listener: EventedCallback<this["@eventTypes"][Type]>): ResourceHandle;
|
|
91
86
|
clone(): SublayerExtensionCollectionBase;
|
|
92
87
|
/**
|
|
93
88
|
* @inheritDoc
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"@arcgis/core/core/Collection";import{InitializableCollectionProxy as t}from"../../support/InitializableCollectionProxy.js";import{createIHandle as s,notifyChange as r,onWatch as i,watch as a,watchEvent as n}from"../../support/observableUtils.js";import o from"../../utilities/_ReferenceCountedHandle.js";import{checkArg as l}from"../../utilities/checkArg.js";import{onCollectionPropertyChange as h}from"../../utilities/watch.js";import{SublayerExtension as u}from"../_SublayerExtension.js";export class SublayerExtensionCollectionBase extends t{_parent;get _collection(){return this._sublayers.map((e=>this._forSublayer(e))).concat(Array.from(this._uninitializedSublayerExtensions))}get _sublayers(){const t=this._sublayersProperty.split(".");let s=this._parent;for(const e of t){if(null==s){s=void 0;break}s=s[e]}return s||(this._tempSublayers||(this._tempSublayers=new e),s=this._tempSublayers),s}_sublayersProperty;_tempSublayers;_sublayerExtensionMap=new WeakMap;_uninitializedSublayerExtensions=new Set;_onChangeSublayersHandle=new o((()=>h(this._parent,this._sublayersProperty,(e=>{const t={added:(e.added||[]).map((e=>this._forSublayer(e))),moved:(e.moved||[]).map((e=>this._forSublayer(e))),removed:(e.removed||[]).map((e=>this._forSublayer(e)))};this.emit("change",t)}))));_onBeforeAddSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["before-add",e=>this.emit("before-add",{...e,item:this._forSublayer(e.item)
|
|
1
|
+
import e from"@arcgis/core/core/Collection";import{InitializableCollectionProxy as t}from"../../support/InitializableCollectionProxy.js";import{createIHandle as s,notifyChange as r,onWatch as i,watch as a,watchEvent as n}from"../../support/observableUtils.js";import o from"../../utilities/_ReferenceCountedHandle.js";import{checkArg as l}from"../../utilities/checkArg.js";import{onCollectionPropertyChange as h}from"../../utilities/watch.js";import{SublayerExtension as u}from"../_SublayerExtension.js";export class SublayerExtensionCollectionBase extends t{_parent;get _collection(){return this._sublayers.map((e=>this._forSublayer(e))).concat(Array.from(this._uninitializedSublayerExtensions))}get _sublayers(){const t=this._sublayersProperty.split(".");let s=this._parent;for(const e of t){if(null==s){s=void 0;break}s=s[e]}return s||(this._tempSublayers||(this._tempSublayers=new e),s=this._tempSublayers),s}_sublayersProperty;_tempSublayers;_sublayerExtensionMap=new WeakMap;_uninitializedSublayerExtensions=new Set;_onChangeSublayersHandle=new o((()=>h(this._parent,this._sublayersProperty,(e=>{const t={added:(e.added||[]).map((e=>this._forSublayer(e))),moved:(e.moved||[]).map((e=>this._forSublayer(e))),removed:(e.removed||[]).map((e=>this._forSublayer(e)))};this.emit("change",t)}))));_onBeforeAddSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["before-add",e=>this.emit("before-add",{...e,item:this._forSublayer(e.item)})])));_onBeforeRemoveSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["before-remove",e=>this.emit("before-remove",{...e,item:this._forSublayer(e.item)})])));_onBeforeChangesSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["before-changes",e=>this.emit("before-changes",{...e})])));_onAfterAddSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["after-add",e=>this.emit("after-add",{...e,item:this._forSublayer(e.item)})],(e=>{if(null!=e)for(const t of e)this.emit("after-add",{item:this._forSublayer(t)})}))));_onAfterRemoveSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["after-remove",e=>this.emit("after-remove",{...e,item:this._forSublayer(e.item)})],((e,t)=>{if(null!=t)for(const e of t)this.emit("after-remove",{item:this._forSublayer(e)})}))));_onAfterChangesSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["after-changes",e=>this.emit("after-changes",{...e,target:this})],(()=>{this.emit("after-changes",{target:this})}))));constructor(e,t){super(),this._parent=e,this._sublayersProperty=t,i(this,"length",(()=>a(this._parent,`${this._sublayersProperty}.length`,(()=>r(this,"length")),{sync:!0})))}on(e,t){const r=[];return"change"===e?r.push(this._onChangeSublayersHandle.add()):"before-add"===e?r.push(this._onBeforeAddSublayersHandle.add()):"before-remove"===e?r.push(this._onBeforeRemoveSublayersHandle.add()):"before-changes"===e?r.push(this._onBeforeChangesSublayersHandle.add()):"after-add"===e?r.push(this._onAfterAddSublayersHandle.add()):"after-remove"===e?r.push(this._onAfterRemoveSublayersHandle.add()):"after-changes"===e&&r.push(this._onAfterChangesSublayersHandle.add()),r.push(super.on(e,t)),s(r)}clone(){const e=super.clone();return e._sublayerExtensionMap=this._sublayerExtensionMap,e}findById(e){return l("id",e).isNotMissing(),this.find((t=>t.id===e))}findBySublayerId(e){return l("id",e).isNotMissing(),this.find((t=>t._sublayerId===e))}forSublayer(e){if(l("sublayer",e).isNotMissing(),!(this._sublayers.indexOf(e)<0))return this._forSublayer(e)}add(e,t){return l("sublayerX",e).isNotMissing(),this._register(e),e.sublayer&&(this._sublayers.includes(e.sublayer)?void 0!==t&&this.reorder(e,t):this._sublayers.add(e.sublayer,t)),this}removeAt(e){const t=this.getItemAt(e);if(void 0!==t){if(this._uninitializedSublayerExtensions.has(t)){this._uninitializedSublayerExtensions.delete(t);const e={added:[],moved:[],removed:[t],target:this};this.emit("after-remove",{item:t}),this.emit("after-changes",{}),this.emit("change",e)}else this._sublayers.removeAt(e);return this._onRemoved(t),t}}reorder(e,t){if(!e)return;const s=this._sublayers.indexOf(e.sublayer);return s<0?void 0:(s!==t&&this._sublayers.reorder(e.sublayer,t),e)}sort(e){return this._sublayers.sort(((t,s)=>e(this._forSublayer(t),this._forSublayer(s)))),this}onParentInitialized(){this._tempSublayers?.length&&(this.addMany(this._tempSublayers.map((e=>this._forSublayer(e)))),this._tempSublayers=void 0)}onLayerExtensionChanged(){for(const e of this.toArray())e._setLayerExtension(this._layerExtension)}_register(e){if(l("sublayerX",e).isNotMissing(),e._setLayerExtension(this._layerExtension),e.sublayer||e._resolveSublayer(),e.sublayer){const t=this._sublayerExtensionMap.get(e.sublayer);if(e===t)return;if(this._sublayerExtensionMap.set(e.sublayer,e),t&&(this._onRemoved(t),this._sublayers.includes(e.sublayer))){const s={added:[e],moved:[],removed:[t],target:this};this.emit("after-add",{item:e}),null!=t&&this.emit("after-remove",{item:t}),this.emit("after-changes",{target:this}),this.emit("change",s)}}else{this._uninitializedSublayerExtensions.add(e);const t={added:[e],moved:[],removed:[],target:this};this.emit("after-add",{item:e}),this.emit("after-changes",{target:this}),this.emit("change",t)}this._onAdded(e)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.sublayer}_onAdded(e){}_onRemoved(e){e._setLayerExtension(void 0)}_forSublayer(e){for(const e of this._uninitializedSublayerExtensions)e._resolveSublayer(),e.sublayer&&(this._sublayerExtensionMap.set(e.sublayer,e),this._uninitializedSublayerExtensions.delete(e));if(!this._sublayerExtensionMap.has(e)){const t=u.create({sublayer:e});this._register(t)}return this._sublayerExtensionMap.get(e)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createFeatureServices as e}from"@arcgis/core/rest/featureService/utils";import{FeatureSaveError as t}from"../../data/FeatureSaveError.js";import{applyEditsProcessEditedFeatures as a,applyEditsProcessResults as s}from"../../support/_featureEdit.js";import{getGdbVersion as r}from"../../utilities/_version.js";import{isFeatureLayerExtension as d,isSubtypeGroupLayerExtension as u,isSubtypeSublayerExtension as i}from"../../utilities/extensions.js";import{map as o}from"../../utilities/iterable.js";import{getGlobalIdField as l,isGlobalIdUsed as n}from"./layers.js";export async function applyEdits(c){const{addFeatures:p=[],updateFeatures:
|
|
1
|
+
import{createFeatureServices as e}from"@arcgis/core/rest/featureService/utils";import{FeatureSaveError as t}from"../../data/FeatureSaveError.js";import{applyEditsProcessEditedFeatures as a,applyEditsProcessResults as s}from"../../support/_featureEdit.js";import{getGdbVersion as r}from"../../utilities/_version.js";import{isFeatureLayerExtension as d,isSubtypeGroupLayerExtension as u,isSubtypeSublayerExtension as i}from"../../utilities/extensions.js";import{map as o}from"../../utilities/iterable.js";import{getGlobalIdField as l,isGlobalIdUsed as n}from"./layers.js";export async function applyEdits(c){const{addFeatures:p=[],updateFeatures:m=[],deleteFeatures:F=[]}=c,f=new Map,h=new WeakMap,g=new WeakMap,y=new WeakMap,E=(e,t)=>{const a=(e=>d(e.source)||u(e.source)?e.source.layer:i(e.source)?e.source.layerExtension.layer:e.source.table)(e),s=l(a),{objectIdField:r}=a;f.has(a)||f.set(a,{id:a.layerId,identifierFields:{globalIdField:s,objectIdField:r},addFeatures:[],updateFeatures:[],deleteFeatures:[],addAttachments:void 0,updateAttachments:void 0,deleteAttachments:void 0});const o=f.get(a),n=e.toGraphic();"updateFeatures"===t&&e.source?.schema.fieldExtensions.forEach((e=>{e.field.editable||e.field.name===r||e.field.name===s||delete n.attributes[e.field.name]})),o[t].push(n);let c=h;"updateFeatures"===t?c=g:"deleteFeatures"===t&&(c=y),c.has(a)||c.set(a,[]),c.get(a).push(e)};p.forEach((e=>E(e,"addFeatures"))),m.forEach((e=>E(e,"updateFeatures"))),F.forEach((e=>E(e,"deleteFeatures")));const b=e([...f.keys()]),w=new t("Errors encountered when applying edits."),v=await Promise.all(o(b.values(),(async({featureService:e,layers:t})=>{await e.load();const d=[];t.forEach((e=>{d.push(f.get(e))}));try{const u=await e.applyEdits(d,{globalIdUsed:t.every((e=>n(e,f.get(e)))),gdbVersion:t[0].gdbVersion??r(t[0].customParameters)});for(const e of u){const r=t.find((t=>t.layerId===e.id));null!=r&&(s(r,h.get(r),e.addFeatureResults,"add",w),s(r,g.get(r),e.updateFeatureResults,"update",w),s(r,y.get(r),e.deleteFeatureResults,"delete",w),null!=e.editedFeatures&&a(r,{adds:h.get(r),updates:g.get(r)},e.editedFeatures),r.emit("edits",{deletedFeatures:e.deleteFeatureResults??[],updatedFeatures:e.updateFeatureResults??[],addedFeatures:e.addFeatureResults??[],deletedAttachments:[],updatedAttachments:[],addedAttachments:[],exceededTransferLimit:!1}))}return u}catch(e){return w.errors.set("",e),[]}})));if(w.errors.size>0)throw w;return v}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vertigis/arcgis-extensions",
|
|
3
3
|
"license": "SEE LICENSE IN LICENSE",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "53.0.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://dev.azure.com/vertigis/Studio/_git/arcgis-extensions-ts"
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
"whatwg-fetch": "3.6.20"
|
|
114
114
|
},
|
|
115
115
|
"peerDependencies": {
|
|
116
|
-
"@arcgis/core": "
|
|
116
|
+
"@arcgis/core": "^5.0.10",
|
|
117
117
|
"tslib": "^2.6.2"
|
|
118
118
|
},
|
|
119
119
|
"overrides": {
|
package/portal/CSVLayer.d.ts
CHANGED
|
@@ -62,7 +62,7 @@ export interface CSVLayer extends OperationalLayerBase {
|
|
|
62
62
|
* You can set this property using any of the following: ",", " ", ";", "|",
|
|
63
63
|
* "\t". Used with CSV layers only.
|
|
64
64
|
*/
|
|
65
|
-
columnDelimiter?:
|
|
65
|
+
columnDelimiter?: "," | " " | ";" | "|" | "\t";
|
|
66
66
|
/**
|
|
67
67
|
* Indicates whether to allow a client to ignore popups defined by the
|
|
68
68
|
* service item.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import EsriElevationInfo from "@arcgis/core/symbols/support/ElevationInfo.js";
|
|
2
|
+
import type { ElevationMode as EsriApiElevationMode } from "../support/esri.js";
|
|
2
3
|
export declare namespace ElevationInfo {
|
|
3
4
|
/**
|
|
4
5
|
* Converts an ArcGIS Portal JSON representation of elevation info to its
|
|
@@ -7,7 +8,7 @@ export declare namespace ElevationInfo {
|
|
|
7
8
|
* @deprecated Use "json/*" modules instead.
|
|
8
9
|
* @param json The elevation info JSON to convert.
|
|
9
10
|
*/
|
|
10
|
-
function toEsriApiElevationInfo(json: ElevationInfo):
|
|
11
|
+
function toEsriApiElevationInfo(json: ElevationInfo): EsriElevationInfo;
|
|
11
12
|
/**
|
|
12
13
|
* Converts an Esri JavaScript API ElevationInfo object to its ArcGIS Portal
|
|
13
14
|
* JSON representation.
|
|
@@ -15,7 +16,7 @@ export declare namespace ElevationInfo {
|
|
|
15
16
|
* @deprecated Use "json/*" modules instead.
|
|
16
17
|
* @param elevationInfo The elevationInfo object to convert.
|
|
17
18
|
*/
|
|
18
|
-
function fromEsriApiElevationInfo(elevationInfo:
|
|
19
|
+
function fromEsriApiElevationInfo(elevationInfo: EsriElevationInfo): ElevationInfo;
|
|
19
20
|
}
|
|
20
21
|
/**
|
|
21
22
|
* Defines how the graphic is placed with respect to the terrain surface.
|
package/portal/ElevationInfo.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import e from"@arcgis/core/symbols/support/ElevationInfo.js";import{assertNever as t,checkArg as o}from"../utilities/checkArg.js";export var ElevationInfo;!function(t){t.toEsriApiElevationInfo=function(t){o("json",t).isNotMissing();const{mode:n,unit:r,...i}=t,a=new e(i);if(t.hasOwnProperty("mode")&&null!=t.mode&&(a.mode=ElevationMode.toEsriApiElevationMode(t.mode)),t.hasOwnProperty("unit"))switch(t.unit){case"foot":a.unit="feet";break;case"kilometer":a.unit="kilometers";break;case"meter":a.unit="meters";break;case"mile":a.unit="miles";break;case"us-foot":a.unit="us-feet";break;case"yard":a.unit="yards"}return a},t.fromEsriApiElevationInfo=function(e){o("elevationInfo",e).isNotMissing();const t=e.toJSON();if(e.hasOwnProperty("mode")&&(t.mode=ElevationMode.fromEsriApiElevationMode(e.mode)),e.hasOwnProperty("unit"))switch(e.unit){case"feet":t.unit="foot";break;case"kilometers":t.unit="kilometer";break;case"meters":t.unit="meter";break;case"miles":t.unit="mile";break;case"us-feet":t.unit="us-foot";break;case"yards":t.unit="yard"}return t}}(ElevationInfo||(ElevationInfo={}));export var ElevationMode;function n(e,o){const n=e;switch(n){case"on-the-ground":return"onTheGround";case"relative-to-ground":return"relativeToGround";case"relative-to-scene":return"relativeToScene";case"absolute-height":return"absoluteHeight";default:return t(n,o)}}function r(e,o){const n=e;switch(n){case"onTheGround":return"on-the-ground";case"relativeToGround":return"relative-to-ground";case"relativeToScene":return"relative-to-scene";case"absoluteHeight":return"absolute-height";default:return t(n,o)}}!function(e){e.fromEsriApiElevationMode=function(e){return!!r(e)?e:n(e,new Error("Unrecognized elevation mode."))},e.toEsriApiElevationMode=function(e){return!!n(e)?e:r(e,new Error("Unrecognized elevation mode."))}}(ElevationMode||(ElevationMode={}));
|
package/portal/LabelingInfo.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"@arcgis/core/layers/support/LabelClass";import{assertNever as r,checkArg as n}from"../utilities/checkArg.js";export var LabelingInfo;!function(r){r.toEsriApiLabelClass=function(r){return n("labelingInfo",r).isNotMissing(),e.fromJSON(r)},r.fromEsriApiLabelClass=function(e){return n("labelClass",e).isNotMissing(),e.toJSON()}}(LabelingInfo||(LabelingInfo={}));export var LabelPlacement;function t(e,n){const t=e;switch(t){case"above-
|
|
1
|
+
import e from"@arcgis/core/layers/support/LabelClass";import{assertNever as r,checkArg as n}from"../utilities/checkArg.js";export var LabelingInfo;!function(r){r.toEsriApiLabelClass=function(r){return n("labelingInfo",r).isNotMissing(),e.fromJSON(r)},r.fromEsriApiLabelClass=function(e){return n("labelClass",e).isNotMissing(),e.toJSON()}}(LabelingInfo||(LabelingInfo={}));export var LabelPlacement;function t(e,n){const t=e;switch(t){case"above-along":return"esriServerLinePlacementAboveAlong";case"above-center":return"esriServerPointLabelPlacementAboveCenter";case"above-left":return"esriServerPointLabelPlacementAboveLeft";case"above-right":return"esriServerPointLabelPlacementAboveRight";case"always-horizontal":return"esriServerPolygonPlacementAlwaysHorizontal";case"below-along":return"esriServerLinePlacementBelowAlong";case"below-center":return"esriServerPointLabelPlacementBelowCenter";case"below-left":return"esriServerPointLabelPlacementBelowLeft";case"below-right":return"esriServerPointLabelPlacementBelowRight";case"center-along":return"esriServerLinePlacementCenterAlong";case"center-center":return"esriServerPointLabelPlacementCenterCenter";case"center-left":return"esriServerPointLabelPlacementCenterLeft";case"center-right":return"esriServerPointLabelPlacementCenterRight";default:return r(t,n)}}function a(e,n){const t=e;switch(t){case"esriServerLinePlacementAboveAfter":case"esriServerLinePlacementAboveEnd":case"esriServerPointLabelPlacementAboveRight":return"above-right";case"esriServerLinePlacementAboveAlong":return"above-along";case"esriServerLinePlacementAboveBefore":case"esriServerPointLabelPlacementAboveLeft":case"esriServerLinePlacementAboveStart":return"above-left";case"esriServerPointLabelPlacementAboveCenter":return"above-center";case"esriServerPolygonPlacementAlwaysHorizontal":return"always-horizontal";case"esriServerLinePlacementBelowAfter":case"esriServerLinePlacementBelowEnd":case"esriServerPointLabelPlacementBelowRight":return"below-right";case"esriServerLinePlacementBelowAlong":return"below-along";case"esriServerLinePlacementBelowBefore":case"esriServerPointLabelPlacementBelowLeft":case"esriServerLinePlacementBelowStart":return"below-left";case"esriServerPointLabelPlacementBelowCenter":return"below-center";case"esriServerLinePlacementCenterAfter":case"esriServerLinePlacementCenterEnd":case"esriServerPointLabelPlacementCenterRight":return"center-right";case"esriServerLinePlacementCenterAlong":return"center-along";case"esriServerLinePlacementCenterBefore":case"esriServerPointLabelPlacementCenterLeft":case"esriServerLinePlacementCenterStart":return"center-left";case"esriServerPointLabelPlacementCenterCenter":return"center-center";default:return r(t,n)}}!function(e){e.fromEsriApiLabelPlacement=function(e){return!!a(e)?e:t(e,new Error("Unrecognized label placement."))},e.toEsriApiLabelPlacement=function(e){return!!t(e)?e:a(e,new Error("Unrecognized label placement."))}}(LabelPlacement||(LabelPlacement={}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"@arcgis/core/geometry/Extent";import i from"@arcgis/core/layers/support/TimeInfo";import
|
|
1
|
+
import e from"@arcgis/core/geometry/Extent";import i from"@arcgis/core/layers/support/TimeInfo";import t from"@arcgis/core/rest/layerSources/DynamicDataLayer.js";import r from"@arcgis/core/rest/layerSources/DynamicMapLayer.js";import{isBuildingSceneLayer as o,isCSVLayer as a,isFeatureLayer as s,isFeatureLayerBase as n,isGeoJSONLayer as p,isMapImageSublayer as l,isMapNotesLayer as f,isMapNotesSublayer as c,isRouteLayer as m,isSubtypeSublayer as y,isSceneLayer as d,isStreamLayer as u,isTimeAwareLayer as h}from"../utilities/_layers.js";import{checkArg as E}from"../utilities/checkArg.js";import{isBuildingComponentSublayer as I,isGraphicsLayer as g,isLayer as x,isPointCloudLayer as b}from"../utilities/layers.js";import{isEmpty as w}from"../utilities/object.js";import{DrawingInfo as A}from"./DrawingInfo.js";import{ElevationInfo as O}from"./ElevationInfo.js";import{FeatureReduction as R}from"./FeatureReduction.js";import{Field as S}from"./Field.js";import{GeometryType as T}from"./Geometry.js";import{toEsriLayerFloorInfo as j,toPortalLayerFloorInfo as P}from"./LayerFloorInfo.js";import{SpatialReference as D}from"./SpatialReference.js";import{Template as L}from"./Template.js";import{Type as v}from"./Type.js";export var LayerDefinition;!function(F){F.applyToEsriApiLayer=async function(o,f){E("json",o).isNotMissing(),E("layer",f).isNotMissing();const c=f,m=f;if((n(c)||y(c))&&(o.hasOwnProperty("objectIdField")&&null!=o.objectIdField&&(u(c)?c.objectIdField="__esri_stream_id__":c.objectIdField=o.objectIdField),o.hasOwnProperty("geometryType")&&null!=o.geometryType&&(c.geometryType=T.toEsriApiGeometryType(o.geometryType)),o.hasOwnProperty("hasAttachments")&&m._set("capabilities.data.supportsAttachment",o.hasAttachments),o.hasOwnProperty("maxRecordCount")&&null!=o.maxRecordCount&&(m.maxRecordCount=o.maxRecordCount),o.hasOwnProperty("hasM")&&m._set("hasM",o.hasM),o.hasOwnProperty("hasZ")&&m._set("hasZ",o.hasZ),o.hasOwnProperty("types")&&s(c)&&(c.types=o.types?.map((e=>v.toEsriApiFeatureType(e)))),o.hasOwnProperty("templates")&&(c.templates=o.templates?.map((e=>L.toEsriApiFeatureTemplate(e)))),o.hasOwnProperty("floorInfo")&&o.floorInfo&&(c.floorInfo=await j(o.floorInfo))),(o.hasOwnProperty("orderBy")&&(s(c)||a(c))||p(c))&&(o.orderBy?c.orderBy=o.orderBy.map((e=>({field:e.field,order:"desc"===e.order?"descending":"ascending"}))):c.orderBy=void 0),o.hasOwnProperty("source")&&null!=o.source&&l(f)&&!f.layer?.loaded){const{type:e,...i}=o.source;"dataLayer"===e?m._set("source",t.fromJSON(i)):"mapLayer"===e&&m._set("source",r.fromJSON(i))}if(o.hasOwnProperty("copyrightText")&&(f.copyright=o.copyrightText),o.hasOwnProperty("defaultVisibility")&&null!=o.defaultVisibility&&(f.visible=o.defaultVisibility),o.hasOwnProperty("definitionExpression")&&(f.definitionExpression=o.definitionExpression),o.hasOwnProperty("elevationInfo")&&o.elevationInfo&&(f.elevationInfo=O.toEsriApiElevationInfo(o.elevationInfo)),o.hasOwnProperty("extent")&&(f.fullExtent=o.extent?e.fromJSON(o.extent):void 0),o.hasOwnProperty("fields")){const e=[];o.fields?.forEach((i=>{e.push(S.toEsriApiField(i))})),m._set("fields",e)}o.hasOwnProperty("maxScale")&&null!=o.maxScale&&(f.maxScale=o.maxScale),o.hasOwnProperty("minScale")&&null!=o.minScale&&(f.minScale=o.minScale),o.hasOwnProperty("name")&&!f.title&&(f.title=o.name);try{o.hasOwnProperty("spatialReference")&&null!=o.spatialReference?f.spatialReference=D.toEsriApiSpatialReference(o.spatialReference):f.fullExtent?.spatialReference&&f.spatialReference&&(f.spatialReference=f.fullExtent.spatialReference.clone())}catch{}o.hasOwnProperty("timeInfo")&&h(f)&&(f.timeInfo=i.fromJSON(o.timeInfo)),o.hasOwnProperty("featureReduction")&&o.featureReduction&&await R.applyToEsriApiLayer(o.featureReduction,f),o.hasOwnProperty("drawingInfo")&&null!=o.drawingInfo&&await A.applyToEsriApiLayer(o.drawingInfo,f)},F.fromEsriApiLayer=function(e,i={}){E("layer",e).isNotMissing();const t={},r=e,y=e;if(n(r)){const o=e;r.objectIdField&&(t.objectIdField=r.objectIdField),o.geometryType&&(t.geometryType=T.fromEsriApiGeometryType(o.geometryType)),r.capabilities&&r.capabilities.data.supportsAttachment!==i.hasAttachments&&(t.hasAttachments=r.capabilities.data.supportsAttachment),isNaN(y.maxRecordCount)||null==y.maxRecordCount||(t.maxRecordCount=y.maxRecordCount),r.capabilities&&(t.capabilities=LayerDefinitionCapabilities.fromEsriApiFeatureLayerCapabilities(r.capabilities),r.capabilities.query&&(t.supportsAdvancedQueries=r.capabilities.query.supportsOrderBy||r.capabilities.query.supportsDistinct,t.supportsStatistics=r.capabilities.query.supportsStatistics)),r.hasM!==i.hasM&&(t.hasM=r.hasM),r.hasZ!==i.hasZ&&(t.hasZ=r.hasZ),r.templates&&r.templates.length>0&&(t.templates=r.templates.map((e=>L.fromEsriApiFeatureTemplate(e)))),r.floorInfo&&(t.floorInfo=P(r.floorInfo))}if(e.featureReduction&&(t.featureReduction=R.fromEsriApiLayer(e)),l(e)&&e.source&&("data-layer"===e.source.type||"map-layer"===e.source.type)&&(t.source=e.source.toJSON()),e.copyright&&(t.copyrightText=e.copyright),e.visible===i.visible||l(e)||(t.defaultVisibility=e.visible),e.definitionExpression&&(t.definitionExpression=e.definitionExpression),t.drawingInfo=A.fromEsriApiLayer(e),w(t.drawingInfo)&&delete t.drawingInfo,(I(e)?!!e.layer?.elevationInfo:!!e.elevationInfo)&&(t.elevationInfo=O.fromEsriApiElevationInfo(e.elevationInfo)),(s(e)&&e.source||a(e)||g(e)||p(e)||u(e)||m(e)||f(e))&&(e.fullExtent&&!e.fullExtent.equals(i.fullExtent)&&(t.extent=e.fullExtent.toJSON()),e.fields?.length)){const i=[];e.fields.forEach((e=>{i.push(S.fromEsriApiField(e))})),t.fields=i}if((s(r)||a(r)||p(r))&&r.orderBy&&(t.orderBy=r.orderBy.map((e=>({field:e.field,order:"descending"===e.order?"desc":"asc"})))),s(r)||a(r)||u(r)||d(r)||o(r)||b(r)||f(r)||c(r)||m(r)||g(r)){const{maxScale:e}=r,{minScale:o}=r;isNaN(e)||null===e||e===i.maxScale&&e===o||(t.maxScale=e),isNaN(o)||null===o||o===i.minScale&&o===e||(t.minScale=o)}return h(r)&&(t.timeInfo=r.timeInfo?.toJSON()),t.name=e.title??void 0,x(e)&&e.spatialReference&&e.spatialReference.wkid!==i.wkid&&(t.spatialReference=D.fromEsriApiSpatialReference(e.spatialReference)),t}}(LayerDefinition||(LayerDefinition={}));export var LayerDefinitionCapabilities;!function(e){e.ADD="Add",e.DELETE="Delete",e.EDITING="Editing",e.QUERY="Query",e.UPDATE="Update",e.fromEsriApiFeatureLayerCapabilities=function(i){E("capabilities",i).isNotMissing();const t=[];return i.operations.supportsAdd&&t.push(e.ADD),i.operations.supportsDelete&&t.push(e.DELETE),i.operations.supportsEditing&&t.push(e.EDITING),i.operations.supportsQuery&&t.push(e.QUERY),i.operations.supportsUpdate&&t.push(e.UPDATE),t.join(",")}}(LayerDefinitionCapabilities||(LayerDefinitionCapabilities={}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"@arcgis/core/core/Collection";import r from"@arcgis/core/portal/Portal";import a from"@arcgis/core/portal/PortalItem";import{isMapImageLayer as i}from"../utilities/_layers.js";import{checkArg as s}from"../utilities/checkArg.js";import{compareAsync as o}from"../utilities/collection.js";import{deepClone as l}from"../utilities/object.js";import{Layer as n}from"./Layer.js";import{ERR_LAYER_TYPE_MISMATCH as t,applyLayerBaseToEsriApiLayer as y,applyBasemapLayerToEsriApiLayer as p,applyOperationalLayerToEsriApiLayer as c,fromEsriApiLayerToLayerBase as d,fromEsriApiLayerToOperationalLayer as f}from"./_layerHelper.js";export var MapServiceLayer;function u(e){if(e.layerDefinition){if(e.layerDefinition.source)return!0;const{drawingInfo:r}=e.layerDefinition;if(r&&(r.renderer||r.labelingInfo||void 0!==r.showLabels&&null!==r.showLabels))return!0}return!1}function m(e){const{layerDefinition:r}=e;if(r){r.source&&(delete r.source,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.source"));const{drawingInfo:e}=r;e&&(e.renderer&&(delete e.renderer,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.drawingInfo.renderer")),e.labelingInfo&&(delete e.labelingInfo,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.drawingInfo.labelingInfo")),void 0!==e.showLabels&&null!==e.showLabels&&(delete e.showLabels,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.showLabels.labelingInfo")))}}async function b(r,a){const i=a.capabilities?.exportMap?.supportsDynamicLayers;if(r.layers)if(i&&r.layers.some(u)){const i=[...r.layers].reverse(),s=new Map;await o(a.allSublayers,i,{equals:(e,r)=>e.id===+(r.id??NaN),onMatch:async(e,r)=>{await n.applyToEsriApiSublayer(r,e)},onMissing:e=>{a.sublayers?.remove(e)},onNew:async e=>{const r=await n.toEsriApiSublayer(e,"ArcGISMapServiceLayer");r.layer=a,s.set(r.id,r)}}),i.forEach(((r,o)=>{const l=+(r.id??NaN),n=s.get(l);if(n)if(null!=r.parentLayerId&&-1!==r.parentLayerId){const a=s.get(r.parentLayerId);a&&(a.sublayers=a.sublayers??new e,a.sublayers.add(n))}else a.sublayers?.add(n);else{const e=a.allSublayers.find((e=>e.id===l));if(e){let s,l=a.allSublayers.find((e=>e.id===r.parentLayerId));if(l){s=i.filter((e=>e.parentLayerId===l.id)).map((e=>i.indexOf(e))).indexOf(o)}else s=o,l=a;l.sublayers?.reorder(e,s)}}}))}else if(a.sublayers)for(const e of r.layers){if(void 0===e.id||null===e.id)continue;const r=a.allSublayers.find((r=>r.id===e.id));r&&(u(e)&&m(e),await n.applyToEsriApiSublayer(e,r))}if(r.visibleLayers&&a.allSublayers)for(const e of a.allSublayers.toArray())e.visible=r.visibleLayers.includes(e.id)}!function(e){async function o(e,o,n){s("layerJson",e).isNotMissing(),s("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISMapServiceLayer"===e),t),s("layer",o).isNotMissing().satisfies(i,t);const d=l(e);if(y(d,o),p(d,o),c(d,o),d.hasOwnProperty("url")&&(o.url=d.url),d.hasOwnProperty("itemId")&&(o.portalItem?o.portalItem.id=d.itemId:o.portalItem=new a({id:d.itemId,portal:n||r.getDefault()})),e.customParameters?.hasOwnProperty("gdbVersion")&&(o.gdbVersion=e.customParameters.gdbVersion),o.loaded)await b(d,o);else{const e=o.load;let r=!1;o.load=async(
|
|
1
|
+
import e from"@arcgis/core/core/Collection";import r from"@arcgis/core/portal/Portal";import a from"@arcgis/core/portal/PortalItem";import{isMapImageLayer as i}from"../utilities/_layers.js";import{checkArg as s}from"../utilities/checkArg.js";import{compareAsync as o}from"../utilities/collection.js";import{deepClone as l}from"../utilities/object.js";import{Layer as n}from"./Layer.js";import{ERR_LAYER_TYPE_MISMATCH as t,applyLayerBaseToEsriApiLayer as y,applyBasemapLayerToEsriApiLayer as p,applyOperationalLayerToEsriApiLayer as c,fromEsriApiLayerToLayerBase as d,fromEsriApiLayerToOperationalLayer as f}from"./_layerHelper.js";export var MapServiceLayer;function u(e){if(e.layerDefinition){if(e.layerDefinition.source)return!0;const{drawingInfo:r}=e.layerDefinition;if(r&&(r.renderer||r.labelingInfo||void 0!==r.showLabels&&null!==r.showLabels))return!0}return!1}function m(e){const{layerDefinition:r}=e;if(r){r.source&&(delete r.source,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.source"));const{drawingInfo:e}=r;e&&(e.renderer&&(delete e.renderer,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.drawingInfo.renderer")),e.labelingInfo&&(delete e.labelingInfo,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.drawingInfo.labelingInfo")),void 0!==e.showLabels&&null!==e.showLabels&&(delete e.showLabels,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.showLabels.labelingInfo")))}}async function b(r,a){const i=a.capabilities?.exportMap?.supportsDynamicLayers;if(r.layers)if(i&&r.layers.some(u)){const i=[...r.layers].reverse(),s=new Map;await o(a.allSublayers,i,{equals:(e,r)=>e.id===+(r.id??NaN),onMatch:async(e,r)=>{await n.applyToEsriApiSublayer(r,e)},onMissing:e=>{a.sublayers?.remove(e)},onNew:async e=>{const r=await n.toEsriApiSublayer(e,"ArcGISMapServiceLayer");r.layer=a,s.set(r.id,r)}}),i.forEach(((r,o)=>{const l=+(r.id??NaN),n=s.get(l);if(n)if(null!=r.parentLayerId&&-1!==r.parentLayerId){const a=s.get(r.parentLayerId);a&&(a.sublayers=a.sublayers??new e,a.sublayers.add(n))}else a.sublayers?.add(n);else{const e=a.allSublayers.find((e=>e.id===l));if(e){let s,l=a.allSublayers.find((e=>e.id===r.parentLayerId));if(l){s=i.filter((e=>e.parentLayerId===l.id)).map((e=>i.indexOf(e))).indexOf(o)}else s=o,l=a;l.sublayers?.reorder(e,s)}}}))}else if(a.sublayers)for(const e of r.layers){if(void 0===e.id||null===e.id)continue;const r=a.allSublayers.find((r=>r.id===e.id));r&&(u(e)&&m(e),await n.applyToEsriApiSublayer(e,r))}if(r.visibleLayers&&a.allSublayers)for(const e of a.allSublayers.toArray())e.visible=r.visibleLayers.includes(e.id)}!function(e){async function o(e,o,n){s("layerJson",e).isNotMissing(),s("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISMapServiceLayer"===e),t),s("layer",o).isNotMissing().satisfies(i,t);const d=l(e);if(y(d,o),p(d,o),c(d,o),d.hasOwnProperty("url")&&(o.url=d.url),d.hasOwnProperty("itemId")&&(o.portalItem?o.portalItem.id=d.itemId:o.portalItem=new a({id:d.itemId,portal:n||r.getDefault()})),e.customParameters?.hasOwnProperty("gdbVersion")&&(o.gdbVersion=e.customParameters.gdbVersion),o.loaded)await b(d,o);else{const e=o.load;let r=!1;o.load=async a=>(await e(a),r||(r=!0,await b(d,o)),o)}}e.esriMapImageLayerDefaults={legendEnabled:!0,visible:!0,opacity:1},e.toEsriApiLayer=async function(e){s("layerJson",e).isNotMissing(),s("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISMapServiceLayer"===e),t);const r=new((await import("@arcgis/core/layers/MapImageLayer")).default);return await o(e,r),r},e.applyToEsriApiLayer=o,e.fromEsriApiMapImageLayer=function(r){s("layer",r).isNotMissing();const a={...d(r,e.esriMapImageLayerDefaults),...f(r),layerType:"ArcGISMapServiceLayer",url:r.url??void 0};if(r.portalItem&&(a.itemId=r.portalItem.id??void 0),r.gdbVersion&&(a.customParameters={...a.customParameters,gdbVersion:r.gdbVersion}),r.sublayers){a.layers=[],a.visibleLayers=[];const e=i=>{i.visible&&a.visibleLayers.push(i.id),a.layers.push(n.fromEsriApiSublayer(i,r)),i.sublayers&&i.sublayers.toArray().reverse().forEach(e)};r.sublayers.toArray().reverse().forEach(e)}return a}}(MapServiceLayer||(MapServiceLayer={}));
|
package/portal/Slide.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import i
|
|
1
|
+
import i,{}from"@arcgis/core/webscene/Slide";import{checkArg as t}from"../utilities/checkArg.js";import{isBasemap as e}from"../utilities/mapping.js";import{deepClone as n}from"../utilities/object.js";import{Lighting as r}from"./Lighting.js";import{Viewpoint as s}from"./Viewpoint.js";import{WebSceneBaseMap as o}from"./WebSceneBaseMap.js";export var Slide;!function(p){p.toEsriApiSlide=async function(e){t("slideJson",e).isNotMissing();const p={};e.hasOwnProperty("visibleLayers")&&(p.visibleLayers=e.visibleLayers);const a=new i(p);return e.hasOwnProperty("baseMap")&&(a.basemap=await o.toEsriApiBasemap(e.baseMap)),e.hasOwnProperty("description")&&null!=e.description&&(a.description.text=e.description.text),e.hasOwnProperty("environment")&&null!=e.environment?.lighting&&(a.environment={lighting:r.toEsriApiLighting(e.environment.lighting)}),e.hasOwnProperty("thumbnail")&&e.thumbnail?.url&&(a.thumbnail.url=e.thumbnail.url),e.hasOwnProperty("title")&&null!=e.title&&(a.title=n(e.title)),e.hasOwnProperty("id")&&null!=e.id&&(a.id=e.id),e.hasOwnProperty("viewpoint")&&null!=e.viewpoint&&(a.viewpoint=s.toEsriApiViewpoint(e.viewpoint)),a},p.fromEsriApiSlide=function(i){t("slide",i).isNotMissing();const n={};return e(i.basemap)?n.baseMap=o.fromEsriApiBasemap(i.basemap):i.basemap&&(n.baseMap=i.basemap),i.description&&(n.description={text:i.description.text}),i.environment&&(n.environment={lighting:r.fromEsriApiLighting(i.environment.lighting)}),i.visibleLayers&&(n.visibleLayers=[],i.visibleLayers.forEach((i=>{n.visibleLayers.push({id:i.id})}))),i.thumbnail&&(n.thumbnail={url:i.thumbnail.url}),i.title&&(n.title={text:i.title.text}),i.id&&(n.id=i.id),i.viewpoint&&(n.viewpoint=s.fromEsriApiViewpoint(i.viewpoint)),n}}(Slide||(Slide={}));
|
|
@@ -47,7 +47,7 @@ export interface SubtypeGroupLayer extends OperationalLayerBase {
|
|
|
47
47
|
* A sequence of custom parameters appended to the URL of all requests
|
|
48
48
|
* related to supporting ArcGIS layer types.
|
|
49
49
|
*/
|
|
50
|
-
customParameters?: Record<string,
|
|
50
|
+
customParameters?: Record<string, string>;
|
|
51
51
|
/**
|
|
52
52
|
* A layerDefinition object defining the attribute schema and drawing
|
|
53
53
|
* information for the layer.
|
|
@@ -84,7 +84,7 @@ export interface SubtypeSubtypeGroupLayer extends Omit<SubtypeGroupLayer, "layer
|
|
|
84
84
|
* A sequence of custom parameters appended to the URL of all requests
|
|
85
85
|
* related to supporting ArcGIS layer types.
|
|
86
86
|
*/
|
|
87
|
-
customParameters?: Record<string,
|
|
87
|
+
customParameters?: Record<string, string>;
|
|
88
88
|
/**
|
|
89
89
|
* String indicating the layer type.
|
|
90
90
|
*/
|
package/portal/Symbol.d.ts
CHANGED
package/portal/Symbol.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import r from"@arcgis/core/symbols/CIMSymbol";import e from"@arcgis/core/symbols/LabelSymbol3D";import o from"@arcgis/core/symbols/LineSymbol3D";import s from"@arcgis/core/symbols/MeshSymbol3D";import
|
|
1
|
+
import r from"@arcgis/core/symbols/CIMSymbol";import e from"@arcgis/core/symbols/LabelSymbol3D";import o from"@arcgis/core/symbols/LineSymbol3D";import s from"@arcgis/core/symbols/MeshSymbol3D";import i from"@arcgis/core/symbols/PictureFillSymbol";import l from"@arcgis/core/symbols/PictureMarkerSymbol";import m from"@arcgis/core/symbols/PointSymbol3D";import t from"@arcgis/core/symbols/PolygonSymbol3D";import n from"@arcgis/core/symbols/SimpleFillSymbol";import c from"@arcgis/core/symbols/SimpleLineSymbol";import y from"@arcgis/core/symbols/SimpleMarkerSymbol";import S from"@arcgis/core/symbols/TextSymbol";import{assertNever as a}from"../utilities/checkArg.js";import{isIconSymbol3DLayer as b,isLineSymbol3D as u,isMeshSymbol3D as f,isObjectSymbol3DLayer as p,isPictureFillSymbol as g,isPictureMarkerSymbol as D,isPointSymbol3D as d,isPolygonSymbol3D as h,isSymbol as M}from"../utilities/symbol.js";export function toEsriApiSymbol(a){if(a){if(M(a))return a;switch(a.type){case"esriSMS":return y.fromJSON(a);case"esriSLS":return c.fromJSON(a);case"esriSFS":return n.fromJSON(a);case"esriPMS":return l.fromJSON(a);case"esriPFS":return i.fromJSON(a);case"esriTS":return S.fromJSON(a);case"MeshSymbol3D":return s.fromJSON(a);case"PointSymbol3D":return m.fromJSON(a);case"LineSymbol3D":return o.fromJSON(a);case"PolygonSymbol3D":return t.fromJSON(a);case"LabelSymbol3D":return e.fromJSON(a);case"CIMSymbolReference":return r.fromJSON(a);default:throw new Error("Unrecognized symbol type.")}}}export function fromEsriApiSymbol(r){const e=r.toJSON();return!D(r)&&!g(r)||e.imageData?(d(r)||u(r)||h(r)||f(r))&&r.styleOrigin?.styleUrl?e.styleOrigin.styleUrl=r.styleOrigin.styleUrl:r.symbolLayers&&r.symbolLayers.forEach(((r,o)=>{(b(r)||p(r))&&r.resource?.href&&(e.symbolLayers[o].resource.href=r.resource.href)})):e.url=r.url??void 0,e}export var SymbolType;function O(r,e){const o=r;switch(o){case"simple-marker":return"esriSMS";case"simple-line":return"esriSLS";case"simple-fill":return"esriSFS";case"picture-marker":return"esriPMS";case"picture-fill":return"esriPFS";case"text":return"esriTS";case"label-3d":return"LabelSymbol3D";case"line-3d":return"LineSymbol3D";case"mesh-3d":return"MeshSymbol3D";case"point-3d":return"PointSymbol3D";case"polygon-3d":return"PolygonSymbol3D";case"web-style":return"styleSymbolReference";case"cim":return"CIMSymbolReference";default:return a(o,e)}}function P(r,e){const o=r;switch(o){case"esriSMS":return"simple-marker";case"esriSLS":return"simple-line";case"esriSFS":return"simple-fill";case"esriPMS":return"picture-marker";case"esriPFS":return"picture-fill";case"esriTS":return"text";case"LabelSymbol3D":return"label-3d";case"LineSymbol3D":return"line-3d";case"MeshSymbol3D":return"mesh-3d";case"PointSymbol3D":return"point-3d";case"PolygonSymbol3D":return"polygon-3d";case"styleSymbolReference":return"web-style";case"CIMSymbolReference":return"cim";default:return a(o,e)}}!function(r){r.fromEsriApiSymbolType=function(r){return!!P(r)?r:O(r,new Error("Unrecognized symbol type."))},r.toEsriApiSymbolType=function(r){return!!O(r)||"cim"===r||"shield-label-symbol"===r?r:P(r,new Error("Symbol.toEsriApiSymbolType: Unrecognized symbol type."))}}(SymbolType||(SymbolType={}));
|
|
@@ -59,7 +59,7 @@ export interface TiledMapServiceLayer extends OperationalLayerBase, BaseMapLayer
|
|
|
59
59
|
* A sequence of custom parameters appended to the URL of all requests
|
|
60
60
|
* related to supporting ArcGIS layer types.
|
|
61
61
|
*/
|
|
62
|
-
customParameters?: Record<string,
|
|
62
|
+
customParameters?: Record<string, string> | null;
|
|
63
63
|
/**
|
|
64
64
|
* NOTE: Applicable if used as a baseMapLayer. Integer value(s) indicating
|
|
65
65
|
* the display levels of the basemap layer. Only applicable for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"@arcgis/core/portal/Portal";import r from"@arcgis/core/portal/PortalItem";import{isTileLayer as a}from"../utilities/_layers.js";import{checkArg as i}from"../utilities/checkArg.js";import{Layer as t}from"./Layer.js";import{ERR_LAYER_TYPE_MISMATCH as s,applyLayerBaseToEsriApiLayer as l,applyBasemapLayerToEsriApiLayer as o,applyOperationalLayerToEsriApiLayer as y,fromEsriApiLayerToLayerBase as n,fromEsriApiLayerToOperationalLayer as c}from"./_layerHelper.js";export var TiledMapServiceLayer;async function p(e,r){if(e.layers&&r.sublayers)for(const a of e.layers){if(void 0===a.id||null===a.id)continue;const e=r.allSublayers.find((e=>e.id===a.id));e&&await t.applyToEsriApiSublayer(a,e)}}!function(t){async function m(t,n,c){if(i("layerJson",t).isNotMissing(),i("layerJson.layerType",t.layerType).satisfies((e=>!e||"ArcGISTiledMapServiceLayer"===e),s),i("layer",n).isNotMissing().satisfies(a,s),l(t,n),o(t,n),y(t,n),t.hasOwnProperty("customParameters")&&(n.customParameters=t.customParameters),t.hasOwnProperty("url")&&(n.url=t.url),t.hasOwnProperty("itemId")&&(n.portalItem?n.portalItem.id=t.itemId:n.portalItem=new r({id:t.itemId,portal:c||e.getDefault()})),n.loaded)await p(t,n);else{const e=n.load;let r=!1;n.load=async(
|
|
1
|
+
import e from"@arcgis/core/portal/Portal";import r from"@arcgis/core/portal/PortalItem";import{isTileLayer as a}from"../utilities/_layers.js";import{checkArg as i}from"../utilities/checkArg.js";import{Layer as t}from"./Layer.js";import{ERR_LAYER_TYPE_MISMATCH as s,applyLayerBaseToEsriApiLayer as l,applyBasemapLayerToEsriApiLayer as o,applyOperationalLayerToEsriApiLayer as y,fromEsriApiLayerToLayerBase as n,fromEsriApiLayerToOperationalLayer as c}from"./_layerHelper.js";export var TiledMapServiceLayer;async function p(e,r){if(e.layers&&r.sublayers)for(const a of e.layers){if(void 0===a.id||null===a.id)continue;const e=r.allSublayers.find((e=>e.id===a.id));e&&await t.applyToEsriApiSublayer(a,e)}}!function(t){async function m(t,n,c){if(i("layerJson",t).isNotMissing(),i("layerJson.layerType",t.layerType).satisfies((e=>!e||"ArcGISTiledMapServiceLayer"===e),s),i("layer",n).isNotMissing().satisfies(a,s),l(t,n),o(t,n),y(t,n),t.hasOwnProperty("customParameters")&&(n.customParameters=t.customParameters),t.hasOwnProperty("url")&&(n.url=t.url),t.hasOwnProperty("itemId")&&(n.portalItem?n.portalItem.id=t.itemId:n.portalItem=new r({id:t.itemId,portal:c||e.getDefault()})),n.loaded)await p(t,n);else{const e=n.load;let r=!1;n.load=async a=>(await e(a),r||(r=!0,await p(t,n)),n)}}t.esriTileLayerDefaults={legendEnabled:!0,visible:!0,opacity:1,minScale:0,maxScale:0},t.toEsriApiLayer=async function(e){i("layerJson",e).isNotMissing(),i("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISTiledMapServiceLayer"===e),s);const r={};e?.url&&(r.url=e.url);const a=new((await import("@arcgis/core/layers/TileLayer")).default)(r);return await m(e,a),a},t.applyToEsriApiLayer=m,t.fromEsriApiTileLayer=function(e){i("layer",e).isNotMissing();const r={...n(e,t.esriTileLayerDefaults),...c(e),customParameters:e.customParameters,layerType:"ArcGISTiledMapServiceLayer",url:e.url??void 0};return e.portalItem&&(r.itemId=e.portalItem.id??void 0),r}}(TiledMapServiceLayer||(TiledMapServiceLayer={}));
|
package/portal/WMSLayer.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type EsriWMSLayer from "@arcgis/core/layers/WMSLayer";
|
|
2
|
+
import type { WMSLayerFormatType } from "@arcgis/core/layers/WMSLayer";
|
|
2
3
|
import Portal from "@arcgis/core/portal/Portal";
|
|
3
4
|
import type { BaseMapLayerBase } from "./BaseMapLayer.js";
|
|
4
5
|
import type { OperationalLayerBase } from "./OperationalLayer.js";
|
|
@@ -54,14 +55,14 @@ export interface WMSLayer extends OperationalLayerBase, BaseMapLayerBase {
|
|
|
54
55
|
* customLayerParameters property takes precedence if customParameters is
|
|
55
56
|
* also present.
|
|
56
57
|
*/
|
|
57
|
-
customLayerParameters?: Record<string,
|
|
58
|
+
customLayerParameters?: Record<string, string>;
|
|
58
59
|
/**
|
|
59
60
|
* A sequence of custom parameters to all WMS requests. These parameters are
|
|
60
61
|
* applied to GetCapabilities, GetMap, and GetFeatureInfo requests. If used
|
|
61
62
|
* with the customLayerParameters property, customParameters will not take
|
|
62
63
|
* precedence.
|
|
63
64
|
*/
|
|
64
|
-
customParameters?: Record<string,
|
|
65
|
+
customParameters?: Record<string, string>;
|
|
65
66
|
/**
|
|
66
67
|
* The rectangular map extent that should be requested from the service.
|
|
67
68
|
*/
|
|
@@ -77,7 +78,7 @@ export interface WMSLayer extends OperationalLayerBase, BaseMapLayerBase {
|
|
|
77
78
|
/**
|
|
78
79
|
* A string containing the image format to be requested from a WMS service.
|
|
79
80
|
*/
|
|
80
|
-
format?:
|
|
81
|
+
format?: WMSLayerFormatType;
|
|
81
82
|
/**
|
|
82
83
|
* Optional string containing the item ID of the service if it's registered
|
|
83
84
|
* on ArcGIS Online or your organization's portal.
|