@vertigis/arcgis-extensions 35.6.0 → 35.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/declarations/arcgis-js-api-extensions/index.d.ts +11 -0
- package/docs/html/assets/search.js +1 -1
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerExtension.html +22 -20
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerSchema.html +1 -1
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtension.html +20 -18
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerSchema.html +1 -1
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtension.html +24 -22
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerSchema.html +2 -2
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtension.html +34 -32
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerReadOnlySchema.html +3 -3
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerExtension.html +29 -27
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerSchema.html +2 -2
- package/docs/html/classes/mapping_CSVLayerExtension.CSVLayerExtension.html +39 -37
- package/docs/html/classes/mapping_ElevationLayerExtension.ElevationLayerExtension.html +37 -35
- package/docs/html/classes/mapping_FeatureCollectionLayerExtension.FeatureCollectionLayerExtension.html +34 -32
- package/docs/html/classes/mapping_FeatureLayerExtension.FeatureLayerExtension.html +35 -33
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBase.html +37 -35
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerSchema.html +4 -4
- package/docs/html/classes/mapping_GeoRSSLayerExtension.GeoRSSLayerExtension.html +37 -35
- package/docs/html/classes/mapping_GraphicsLayerExtension.GraphicsLayerExtension.html +33 -31
- package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtension.html +34 -32
- package/docs/html/classes/mapping_ImageryLayerExtension.ImageryLayerExtension.html +37 -35
- package/docs/html/classes/mapping_ImageryTileLayerExtension.ImageryTileLayerExtension.html +35 -33
- package/docs/html/classes/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtension.html +38 -36
- package/docs/html/classes/mapping_KMLLayerExtension.KMLLayerExtension.html +35 -33
- package/docs/html/classes/mapping_KMLSublayerExtension.KMLSublayerExtension.html +26 -24
- package/docs/html/classes/mapping_MapImageLayerExtension.MapImageLayerExtension.html +35 -33
- package/docs/html/classes/mapping_MapImageSublayerExtension.MapImageSublayerExtension.html +21 -19
- package/docs/html/classes/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtension.html +39 -37
- package/docs/html/classes/mapping_PointCloudLayerExtension.PointCloudLayerExtension.html +37 -35
- package/docs/html/classes/mapping_SceneLayerExtension.SceneLayerExtension.html +37 -35
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerExtension.html +38 -36
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerSchema.html +4 -4
- package/docs/html/classes/mapping_TileLayerExtension.TileLayerExtension.html +33 -31
- package/docs/html/classes/mapping_TileSublayerExtension.TileSublayerExtension.html +21 -19
- package/docs/html/classes/mapping_UnsupportedLayerExtension.UnsupportedLayerExtension.html +38 -36
- package/docs/html/classes/mapping_VectorTileLayerExtension.VectorTileLayerExtension.html +36 -34
- package/docs/html/classes/mapping_WMSLayerExtension.WMSLayerExtension.html +35 -33
- package/docs/html/classes/mapping_WMSSublayerExtension.WMSSublayerExtension.html +26 -24
- package/docs/html/classes/mapping_WMTSLayerExtension.WMTSLayerExtension.html +34 -32
- package/docs/html/classes/mapping_WMTSSublayerExtension.WMTSSublayerExtension.html +27 -25
- package/docs/html/classes/mapping_WebTileLayerExtension.WebTileLayerExtension.html +39 -37
- package/docs/html/classes/mapping__LayerExtension.ArrayWrappedCollection.html +2 -2
- package/docs/html/classes/mapping__LayerExtension.LayerExtension.html +41 -39
- package/docs/html/classes/mapping__LayerExtension.LayerExtensionSchema.html +5 -5
- package/docs/html/classes/mapping__SublayerExtension.SubSublayerExtensionCollection.html +6 -6
- package/docs/html/classes/mapping__SublayerExtension.SublayerExtension.html +32 -30
- package/docs/html/classes/mapping__SublayerExtension.SublayerSchema.html +2 -2
- package/docs/html/interfaces/portal_DrawingInfo.DrawingInfo-1.html +7 -7
- package/docs/html/interfaces/portal_UtilityNetwork.TraceConfiguration.html +3 -3
- package/docs/html/interfaces/{portal_UtilityNetwork.UtilityNetwork.html → portal_UtilityNetwork.UtilityNetwork-1.html} +6 -6
- package/docs/html/interfaces/portal_WebMap.WebMap-1.html +16 -16
- package/docs/html/modules/mapping__LayerExtension.html +1 -1
- package/docs/html/modules/portal_DrawingInfo.DrawingInfo.html +1 -1
- package/docs/html/modules/portal_Renderer.Renderer.html +2 -2
- package/docs/html/modules/portal_UtilityNetwork.UtilityNetwork.html +11 -0
- package/docs/html/modules/portal_UtilityNetwork.html +1 -1
- package/docs/html/modules/portal_WebMap.WebMap.html +1 -1
- package/docs/html/modules/support__esriInternal.html +1 -1
- package/docs/html/modules/version.html +1 -1
- package/mapping/_LayerExtension.d.ts +5 -0
- package/mapping/_LayerExtension.js +1 -1
- package/mapping/_SublayerExtension.d.ts +5 -0
- package/mapping/_SublayerExtension.js +1 -1
- package/package.json +1 -1
- package/portal/DrawingInfo.js +1 -1
- package/portal/Renderer.d.ts +1 -1
- package/portal/UtilityNetwork.d.ts +18 -0
- package/portal/UtilityNetwork.js +1 -1
- package/portal/WebMap.d.ts +1 -1
- package/portal/WebMap.js +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>version | @vertigis/arcgis-extensions</title><meta name="description" content="Documentation for @vertigis/arcgis-extensions"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vertigis/arcgis-extensions</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@vertigis/arcgis-extensions</a></li><li><a href="version.html">version</a></li></ul><h1>Module version </h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Variables</h3><ul class="tsd-index-list"><li class="tsd-kind-variable tsd-parent-kind-module"><a href="version.html#version-1" class="tsd-kind-icon">version</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Variables</h2><section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module"><a id="version-1" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagConst">Const</span> version<a href="#version-1" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">version<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"35.
|
|
1
|
+
<!DOCTYPE html><html class="default"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>version | @vertigis/arcgis-extensions</title><meta name="description" content="Documentation for @vertigis/arcgis-extensions"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script async src="../assets/search.js" id="search-script"></script></head><body><script>document.body.classList.add(localStorage.getItem("tsd-theme") || "os")</script><header><div class="tsd-page-toolbar"><div class="container"><div class="table-wrap"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget search no-caption">Search</label><input type="text" id="tsd-search-field"/></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@vertigis/arcgis-extensions</a></div><div class="table-cell" id="tsd-widgets"><div id="tsd-filter"><a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a><div class="tsd-filter-group"><div class="tsd-select" id="tsd-filter-visibility"><span class="tsd-select-label">All</span><ul class="tsd-select-list"><li data-value="public">Public</li><li data-value="protected">Public/Protected</li><li data-value="private" class="selected">All</li></ul></div> <input type="checkbox" id="tsd-filter-inherited" checked/><label class="tsd-widget" for="tsd-filter-inherited">Inherited</label></div></div><a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a></div></div></div></div><div class="tsd-page-title"><div class="container"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@vertigis/arcgis-extensions</a></li><li><a href="version.html">version</a></li></ul><h1>Module version </h1></div></div></header><div class="container container-main"><div class="row"><div class="col-8 col-content"><section class="tsd-panel-group tsd-index-group"><h2>Index</h2><section class="tsd-panel tsd-index-panel"><div class="tsd-index-content"><section class="tsd-index-section "><h3>Variables</h3><ul class="tsd-index-list"><li class="tsd-kind-variable tsd-parent-kind-module"><a href="version.html#version-1" class="tsd-kind-icon">version</a></li></ul></section></div></section></section><section class="tsd-panel-group tsd-member-group "><h2>Variables</h2><section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-module"><a id="version-1" class="tsd-anchor"></a><h3 class="tsd-anchor-link"><span class="tsd-flag ts-flagConst">Const</span> version<a href="#version-1" aria-label="Permalink" class="tsd-anchor-icon"><svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5"></path></svg></a></h3><div class="tsd-signature tsd-kind-icon">version<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"35.8.0"</span><span class="tsd-signature-symbol"> = "35.8.0"</span></div><aside class="tsd-sources"><ul><li>Defined in src/version.ts:4</li></ul></aside><div class="tsd-comment tsd-typography"><div class="lead">
|
|
2
2
|
<p>The current version of the Geocortex ArcGIS Extensions API.</p>
|
|
3
3
|
</div></div></section></section></div><div class="col-4 col-menu menu-sticky-wrap menu-highlight"><nav class="tsd-navigation primary"><ul><li class=""><a href="../modules.html">Modules</a></li><li class=" tsd-kind-module"><a href="AccessDeniedError.html">Access<wbr/>Denied<wbr/>Error</a></li><li class=" tsd-kind-module"><a href="ArgumentError.html">Argument<wbr/>Error</a></li><li class=" tsd-kind-module"><a href="ArgumentMissingError.html">Argument<wbr/>Missing<wbr/>Error</a></li><li class=" tsd-kind-module"><a href="ArgumentOutOfRangeError.html">Argument<wbr/>Out<wbr/>Of<wbr/>Range<wbr/>Error</a></li><li class=" tsd-kind-module"><a href="Entity.html">Entity</a></li><li class=" tsd-kind-module"><a href="ErrorBase.html">Error<wbr/>Base</a></li><li class=" tsd-kind-module"><a href="FailureMode.html">Failure<wbr/>Mode</a></li><li class=" tsd-kind-module"><a href="Hyperlink.html">Hyperlink</a></li><li class=" tsd-kind-module"><a href="InvalidOperationError.html">Invalid<wbr/>Operation<wbr/>Error</a></li><li class=" tsd-kind-module"><a href="ItemType.html">Item<wbr/>Type</a></li><li class=" tsd-kind-module"><a href="LanguageResources.html">Language<wbr/>Resources</a></li><li class=" tsd-kind-module"><a href="NotFoundError.html">Not<wbr/>Found<wbr/>Error</a></li><li class=" tsd-kind-module"><a href="PortalUri.html">Portal<wbr/>Uri</a></li><li class=" tsd-kind-module"><a href="config.html">config</a></li><li class=" tsd-kind-module"><a href="data_ArcGISServiceTableExtension.html">data/<wbr/>ArcGISService<wbr/>Table<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="data_Attachment.html">data/<wbr/>Attachment</a></li><li class=" tsd-kind-module"><a href="data_Capabilities.html">data/<wbr/>Capabilities</a></li><li class=" tsd-kind-module"><a href="data_Feature.html">data/<wbr/>Feature</a></li><li class=" tsd-kind-module"><a href="data_FeatureList.html">data/<wbr/>Feature<wbr/>List</a></li><li class=" tsd-kind-module"><a href="data_FeatureSaveError.html">data/<wbr/>Feature<wbr/>Save<wbr/>Error</a></li><li class=" tsd-kind-module"><a href="data_FeatureSet.html">data/<wbr/>Feature<wbr/>Set</a></li><li class=" tsd-kind-module"><a href="data_FeatureSettings.html">data/<wbr/>Feature<wbr/>Settings</a></li><li class=" tsd-kind-module"><a href="data_FeatureSource.html">data/<wbr/>Feature<wbr/>Source</a></li><li class=" tsd-kind-module"><a href="data_FeatureSourceBase.html">data/<wbr/>Feature<wbr/>Source<wbr/>Base</a></li><li class=" tsd-kind-module"><a href="data_FeatureStream.html">data/<wbr/>Feature<wbr/>Stream</a></li><li class=" tsd-kind-module"><a href="data_FieldExtension.html">data/<wbr/>Field<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="data_QuerySourceCapabilities.html">data/<wbr/>Query<wbr/>Source<wbr/>Capabilities</a></li><li class=" tsd-kind-module"><a href="data_Relationship.html">data/<wbr/>Relationship</a></li><li class=" tsd-kind-module"><a href="data_RelationshipBase.html">data/<wbr/>Relationship<wbr/>Base</a></li><li class=" tsd-kind-module"><a href="data_Schema.html">data/<wbr/>Schema</a></li><li class=" tsd-kind-module"><a href="data_Table.html">data/<wbr/>Table</a></li><li class=" tsd-kind-module"><a href="data_TableExtension.html">data/<wbr/>Table<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="data_TaskSettings.html">data/<wbr/>Task<wbr/>Settings</a></li><li class=" tsd-kind-module"><a href="data__Relationship.html">data/_<wbr/>Relationship</a></li><li class=" tsd-kind-module"><a href="data__TableExtension.html">data/_<wbr/>Table<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="data_convert.html">data/convert</a></li><li class=" tsd-kind-module"><a href="data_support_DefaultRelationshipFactory.html">data/support/<wbr/>Default<wbr/>Relationship<wbr/>Factory</a></li><li class=" tsd-kind-module"><a href="data_support_DefaultTableExtensionFactory.html">data/support/<wbr/>Default<wbr/>Table<wbr/>Extension<wbr/>Factory</a></li><li class=" tsd-kind-module"><a href="data_support_RelationshipFactory.html">data/support/<wbr/>Relationship<wbr/>Factory</a></li><li class=" tsd-kind-module"><a href="data_support_TableExtensionFactory.html">data/support/<wbr/>Table<wbr/>Extension<wbr/>Factory</a></li><li class=" tsd-kind-module"><a href="data_support_attachments.html">data/support/attachments</a></li><li class=" tsd-kind-module"><a href="layer_preset_LayerPreset.html">layer-<wbr/>preset/<wbr/>Layer<wbr/>Preset</a></li><li class=" tsd-kind-module"><a href="layer_preset_LayerPresetSettings.html">layer-<wbr/>preset/<wbr/>Layer<wbr/>Preset<wbr/>Settings</a></li><li class=" tsd-kind-module"><a href="locale.html">locale</a></li><li class=" tsd-kind-module"><a href="mapping_ArcGISSublayerExtension.html">mapping/<wbr/>ArcGISSublayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_BasemapExtension.html">mapping/<wbr/>Basemap<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_Bookmark.html">mapping/<wbr/>Bookmark</a></li><li class=" tsd-kind-module"><a href="mapping_BuildingComponentSublayerExtension.html">mapping/<wbr/>Building<wbr/>Component<wbr/>Sublayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_BuildingGroupSublayerExtension.html">mapping/<wbr/>Building<wbr/>Group<wbr/>Sublayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_BuildingSceneLayerExtension.html">mapping/<wbr/>Building<wbr/>Scene<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_BuildingSublayerExtension.html">mapping/<wbr/>Building<wbr/>Sublayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_CSVLayerExtension.html">mapping/CSVLayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_ElevationLayerExtension.html">mapping/<wbr/>Elevation<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_FeatureCollectionLayerExtension.html">mapping/<wbr/>Feature<wbr/>Collection<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_FeatureLayerExtension.html">mapping/<wbr/>Feature<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_FeatureLayerExtensionBase.html">mapping/<wbr/>Feature<wbr/>Layer<wbr/>Extension<wbr/>Base</a></li><li class=" tsd-kind-module"><a href="mapping_GeoRSSLayerExtension.html">mapping/<wbr/>GeoRSSLayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_GraphicsLayerExtension.html">mapping/<wbr/>Graphics<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_GroundExtension.html">mapping/<wbr/>Ground<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_GroupLayerExtension.html">mapping/<wbr/>Group<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_ImageryLayerExtension.html">mapping/<wbr/>Imagery<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_ImageryTileLayerExtension.html">mapping/<wbr/>Imagery<wbr/>Tile<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_IntegratedMeshLayerExtension.html">mapping/<wbr/>Integrated<wbr/>Mesh<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_KMLLayerExtension.html">mapping/KMLLayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_KMLSublayerExtension.html">mapping/KMLSublayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_LayerExtension.html">mapping/<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_MapConstraints.html">mapping/<wbr/>Map<wbr/>Constraints</a></li><li class=" tsd-kind-module"><a href="mapping_MapExtension.html">mapping/<wbr/>Map<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_MapImageLayerExtension.html">mapping/<wbr/>Map<wbr/>Image<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_MapImageSublayerExtension.html">mapping/<wbr/>Map<wbr/>Image<wbr/>Sublayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_OpenStreetMapLayerExtension.html">mapping/<wbr/>Open<wbr/>Street<wbr/>Map<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_PointCloudLayerExtension.html">mapping/<wbr/>Point<wbr/>Cloud<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_SceneLayerExtension.html">mapping/<wbr/>Scene<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_StreamLayerExtension.html">mapping/<wbr/>Stream<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_SublayerExtension.html">mapping/<wbr/>Sublayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_TileLayerExtension.html">mapping/<wbr/>Tile<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_TileSublayerExtension.html">mapping/<wbr/>Tile<wbr/>Sublayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_UnsupportedLayerExtension.html">mapping/<wbr/>Unsupported<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_VectorTileLayerExtension.html">mapping/<wbr/>Vector<wbr/>Tile<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_WMSLayerExtension.html">mapping/WMSLayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_WMSSublayerExtension.html">mapping/WMSSublayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_WMTSLayerExtension.html">mapping/WMTSLayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_WMTSSublayerExtension.html">mapping/WMTSSublayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_WebTileLayerExtension.html">mapping/<wbr/>Web<wbr/>Tile<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping__LayerExtension.html">mapping/_<wbr/>Layer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping__SublayerExtension.html">mapping/_<wbr/>Sublayer<wbr/>Extension</a></li><li class=" tsd-kind-module"><a href="mapping_convert.html">mapping/convert</a></li><li class=" tsd-kind-module"><a href="mapping_support_BasemapExtensionFactory.html">mapping/support/<wbr/>Basemap<wbr/>Extension<wbr/>Factory</a></li><li class=" tsd-kind-module"><a href="mapping_support_DefaultLayerExtensionFactory.html">mapping/support/<wbr/>Default<wbr/>Layer<wbr/>Extension<wbr/>Factory</a></li><li class=" tsd-kind-module"><a href="mapping_support_DefaultSublayerExtensionFactory.html">mapping/support/<wbr/>Default<wbr/>Sublayer<wbr/>Extension<wbr/>Factory</a></li><li class=" tsd-kind-module"><a href="mapping_support_LayerExtensionFactory.html">mapping/support/<wbr/>Layer<wbr/>Extension<wbr/>Factory</a></li><li class=" tsd-kind-module"><a href="mapping_support_LayerListSettings.html">mapping/support/<wbr/>Layer<wbr/>List<wbr/>Settings</a></li><li class=" tsd-kind-module"><a href="mapping_support_PopupTemplateFeatureSettings.html">mapping/support/<wbr/>Popup<wbr/>Template<wbr/>Feature<wbr/>Settings</a></li><li class=" tsd-kind-module"><a href="mapping_support_SublayerExtensionFactory.html">mapping/support/<wbr/>Sublayer<wbr/>Extension<wbr/>Factory</a></li><li class=" tsd-kind-module"><a href="mapping_support_WfsCapabilities.html">mapping/support/<wbr/>Wfs<wbr/>Capabilities</a></li><li class=" tsd-kind-module"><a href="mapping_support_WfsFeatureType.html">mapping/support/<wbr/>Wfs<wbr/>Feature<wbr/>Type</a></li><li class=" tsd-kind-module"><a href="mapping_support__LayerExtensionCollection.html">mapping/support/_<wbr/>Layer<wbr/>Extension<wbr/>Collection</a></li><li class=" tsd-kind-module"><a href="mapping_support__SublayerExtensionCollection.html">mapping/support/_<wbr/>Sublayer<wbr/>Extension<wbr/>Collection</a></li><li class=" tsd-kind-module"><a href="mapping_support__kml.html">mapping/support/_<wbr/>kml</a></li><li class=" tsd-kind-module"><a href="mapping_support_layers.html">mapping/support/layers</a></li><li class=" tsd-kind-module"><a href="mapping_support_ogc.html">mapping/support/ogc</a></li><li class=" tsd-kind-module"><a href="menus_Menu.html">menus/<wbr/>Menu</a></li><li class=" tsd-kind-module"><a href="menus_MenuItem.html">menus/<wbr/>Menu<wbr/>Item</a></li><li class=" tsd-kind-module"><a href="menus_MenuItemState.html">menus/<wbr/>Menu<wbr/>Item<wbr/>State</a></li><li class=" tsd-kind-module"><a href="menus_support_MenuFactory.html">menus/support/<wbr/>Menu<wbr/>Factory</a></li><li class=" tsd-kind-module"><a href="menus_support_MenuItemFactory.html">menus/support/<wbr/>Menu<wbr/>Item<wbr/>Factory</a></li><li class=" tsd-kind-module"><a href="portal_ApplicationProperties.html">portal/<wbr/>Application<wbr/>Properties</a></li><li class=" tsd-kind-module"><a href="portal_BaseMap.html">portal/<wbr/>Base<wbr/>Map</a></li><li class=" tsd-kind-module"><a href="portal_BaseMapLayer.html">portal/<wbr/>Base<wbr/>Map<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_BingLayer.html">portal/<wbr/>Bing<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_Bookmark.html">portal/<wbr/>Bookmark</a></li><li class=" tsd-kind-module"><a href="portal_BuildingSceneLayer.html">portal/<wbr/>Building<wbr/>Scene<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_BuildingSceneSublayer.html">portal/<wbr/>Building<wbr/>Scene<wbr/>Sublayer</a></li><li class=" tsd-kind-module"><a href="portal_CIMSymbol.html">portal/CIMSymbol</a></li><li class=" tsd-kind-module"><a href="portal_CSVLayer.html">portal/CSVLayer</a></li><li class=" tsd-kind-module"><a href="portal_Callout.html">portal/<wbr/>Callout</a></li><li class=" tsd-kind-module"><a href="portal_Camera.html">portal/<wbr/>Camera</a></li><li class=" tsd-kind-module"><a href="portal_ClassBreaksRenderer.html">portal/<wbr/>Class<wbr/>Breaks<wbr/>Renderer</a></li><li class=" tsd-kind-module"><a href="portal_CodedValueDomain.html">portal/<wbr/>Coded<wbr/>Value<wbr/>Domain</a></li><li class=" tsd-kind-module"><a href="portal_ColorClassBreakInfo.html">portal/<wbr/>Color<wbr/>Class<wbr/>Break<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_ColorUniqueValueInfos.html">portal/<wbr/>Color<wbr/>Unique<wbr/>Value<wbr/>Infos</a></li><li class=" tsd-kind-module"><a href="portal_DataSource.html">portal/<wbr/>Data<wbr/>Source</a></li><li class=" tsd-kind-module"><a href="portal_DefinitionEditor.html">portal/<wbr/>Definition<wbr/>Editor</a></li><li class=" tsd-kind-module"><a href="portal_Domain.html">portal/<wbr/>Domain</a></li><li class=" tsd-kind-module"><a href="portal_DrawingInfo.html">portal/<wbr/>Drawing<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_DynamicDataLayer.html">portal/<wbr/>Dynamic<wbr/>Data<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_DynamicMapLayer.html">portal/<wbr/>Dynamic<wbr/>Map<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_Edges.html">portal/<wbr/>Edges</a></li><li class=" tsd-kind-module"><a href="portal_ElevationInfo.html">portal/<wbr/>Elevation<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_ElevationLayer.html">portal/<wbr/>Elevation<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_Environment.html">portal/<wbr/>Environment</a></li><li class=" tsd-kind-module"><a href="portal_Extent.html">portal/<wbr/>Extent</a></li><li class=" tsd-kind-module"><a href="portal_ExtrudeSymbol3DLayer.html">portal/<wbr/>Extrude<wbr/>Symbol3DLayer</a></li><li class=" tsd-kind-module"><a href="portal_Feature.html">portal/<wbr/>Feature</a></li><li class=" tsd-kind-module"><a href="portal_FeatureCollection.html">portal/<wbr/>Feature<wbr/>Collection</a></li><li class=" tsd-kind-module"><a href="portal_FeatureLayer.html">portal/<wbr/>Feature<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_FeatureReduction.html">portal/<wbr/>Feature<wbr/>Reduction</a></li><li class=" tsd-kind-module"><a href="portal_FeatureSet.html">portal/<wbr/>Feature<wbr/>Set</a></li><li class=" tsd-kind-module"><a href="portal_Field.html">portal/<wbr/>Field</a></li><li class=" tsd-kind-module"><a href="portal_FieldInfo.html">portal/<wbr/>Field<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_FillSymbol3DLayer.html">portal/<wbr/>Fill<wbr/>Symbol3DLayer</a></li><li class=" tsd-kind-module"><a href="portal_FormInfo.html">portal/<wbr/>Form<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_Format.html">portal/<wbr/>Format</a></li><li class=" tsd-kind-module"><a href="portal_GeoRSSLayer.html">portal/<wbr/>GeoRSSLayer</a></li><li class=" tsd-kind-module"><a href="portal_Geometry.html">portal/<wbr/>Geometry</a></li><li class=" tsd-kind-module"><a href="portal_Ground.html">portal/<wbr/>Ground</a></li><li class=" tsd-kind-module"><a href="portal_GroupLayer.html">portal/<wbr/>Group<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_HeatmapRenderer.html">portal/<wbr/>Heatmap<wbr/>Renderer</a></li><li class=" tsd-kind-module"><a href="portal_HeightModelInfo.html">portal/<wbr/>Height<wbr/>Model<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_IconSymbol3DLayer.html">portal/<wbr/>Icon<wbr/>Symbol3DLayer</a></li><li class=" tsd-kind-module"><a href="portal_ImageServiceLayer.html">portal/<wbr/>Image<wbr/>Service<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_ImageServiceVectorLayer.html">portal/<wbr/>Image<wbr/>Service<wbr/>Vector<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_InheritedDomain.html">portal/<wbr/>Inherited<wbr/>Domain</a></li><li class=" tsd-kind-module"><a href="portal_InitialState.html">portal/<wbr/>Initial<wbr/>State</a></li><li class=" tsd-kind-module"><a href="portal_IntegratedMeshLayer.html">portal/<wbr/>Integrated<wbr/>Mesh<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_Item.html">portal/<wbr/>Item</a></li><li class=" tsd-kind-module"><a href="portal_JoinTableDataSource.html">portal/<wbr/>Join<wbr/>Table<wbr/>Data<wbr/>Source</a></li><li class=" tsd-kind-module"><a href="portal_KMLLayer.html">portal/KMLLayer</a></li><li class=" tsd-kind-module"><a href="portal_LabelSymbol3D.html">portal/<wbr/>Label<wbr/>Symbol3D</a></li><li class=" tsd-kind-module"><a href="portal_LabelingInfo.html">portal/<wbr/>Labeling<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_Layer.html">portal/<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_LayerBase.html">portal/<wbr/>Layer<wbr/>Base</a></li><li class=" tsd-kind-module"><a href="portal_LayerDefinition.html">portal/<wbr/>Layer<wbr/>Definition</a></li><li class=" tsd-kind-module"><a href="portal_Lighting.html">portal/<wbr/>Lighting</a></li><li class=" tsd-kind-module"><a href="portal_LineSymbol3D.html">portal/<wbr/>Line<wbr/>Symbol3D</a></li><li class=" tsd-kind-module"><a href="portal_LineSymbol3DLayer.html">portal/<wbr/>Line<wbr/>Symbol3DLayer</a></li><li class=" tsd-kind-module"><a href="portal_LocationInfo.html">portal/<wbr/>Location<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_MapFloorInfo.html">portal/<wbr/>Map<wbr/>Floor<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_MapRangeInfo.html">portal/<wbr/>Map<wbr/>Range<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_MapServiceLayer.html">portal/<wbr/>Map<wbr/>Service<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_MediaInfo.html">portal/<wbr/>Media<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_MeshSymbol3D.html">portal/<wbr/>Mesh<wbr/>Symbol3D</a></li><li class=" tsd-kind-module"><a href="portal_MosaicRule.html">portal/<wbr/>Mosaic<wbr/>Rule</a></li><li class=" tsd-kind-module"><a href="portal_Multipoint.html">portal/<wbr/>Multipoint</a></li><li class=" tsd-kind-module"><a href="portal_ObjectSymbol3DLayer.html">portal/<wbr/>Object<wbr/>Symbol3DLayer</a></li><li class=" tsd-kind-module"><a href="portal_OpenStreetMapLayer.html">portal/<wbr/>Open<wbr/>Street<wbr/>Map<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_OperationalLayer.html">portal/<wbr/>Operational<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_PathSymbol3DLayer.html">portal/<wbr/>Path<wbr/>Symbol3DLayer</a></li><li class=" tsd-kind-module"><a href="portal_PictureFillSymbol.html">portal/<wbr/>Picture<wbr/>Fill<wbr/>Symbol</a></li><li class=" tsd-kind-module"><a href="portal_PictureMarkerSymbol.html">portal/<wbr/>Picture<wbr/>Marker<wbr/>Symbol</a></li><li class=" tsd-kind-module"><a href="portal_Point.html">portal/<wbr/>Point</a></li><li class=" tsd-kind-module"><a href="portal_PointCloudBitfieldFilter.html">portal/<wbr/>Point<wbr/>Cloud<wbr/>Bitfield<wbr/>Filter</a></li><li class=" tsd-kind-module"><a href="portal_PointCloudClassBreaksRenderer.html">portal/<wbr/>Point<wbr/>Cloud<wbr/>Class<wbr/>Breaks<wbr/>Renderer</a></li><li class=" tsd-kind-module"><a href="portal_PointCloudFilter.html">portal/<wbr/>Point<wbr/>Cloud<wbr/>Filter</a></li><li class=" tsd-kind-module"><a href="portal_PointCloudFixedSizeAlgorithm.html">portal/<wbr/>Point<wbr/>Cloud<wbr/>Fixed<wbr/>Size<wbr/>Algorithm</a></li><li class=" tsd-kind-module"><a href="portal_PointCloudLayer.html">portal/<wbr/>Point<wbr/>Cloud<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_PointCloudRGBRenderer.html">portal/<wbr/>Point<wbr/>CloudRGBRenderer</a></li><li class=" tsd-kind-module"><a href="portal_PointCloudRenderer.html">portal/<wbr/>Point<wbr/>Cloud<wbr/>Renderer</a></li><li class=" tsd-kind-module"><a href="portal_PointCloudReturnFilter.html">portal/<wbr/>Point<wbr/>Cloud<wbr/>Return<wbr/>Filter</a></li><li class=" tsd-kind-module"><a href="portal_PointCloudSplatAlgorithm.html">portal/<wbr/>Point<wbr/>Cloud<wbr/>Splat<wbr/>Algorithm</a></li><li class=" tsd-kind-module"><a href="portal_PointCloudStretchRenderer.html">portal/<wbr/>Point<wbr/>Cloud<wbr/>Stretch<wbr/>Renderer</a></li><li class=" tsd-kind-module"><a href="portal_PointCloudUniqueValueRenderer.html">portal/<wbr/>Point<wbr/>Cloud<wbr/>Unique<wbr/>Value<wbr/>Renderer</a></li><li class=" tsd-kind-module"><a href="portal_PointCloudValueFilter.html">portal/<wbr/>Point<wbr/>Cloud<wbr/>Value<wbr/>Filter</a></li><li class=" tsd-kind-module"><a href="portal_PointSymbol3D.html">portal/<wbr/>Point<wbr/>Symbol3D</a></li><li class=" tsd-kind-module"><a href="portal_Polygon.html">portal/<wbr/>Polygon</a></li><li class=" tsd-kind-module"><a href="portal_PolygonSymbol3D.html">portal/<wbr/>Polygon<wbr/>Symbol3D</a></li><li class=" tsd-kind-module"><a href="portal_Polyline.html">portal/<wbr/>Polyline</a></li><li class=" tsd-kind-module"><a href="portal_PopupExpressionInfo.html">portal/<wbr/>Popup<wbr/>Expression<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_PopupInfo.html">portal/<wbr/>Popup<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_PredominanceRenderer.html">portal/<wbr/>Predominance<wbr/>Renderer</a></li><li class=" tsd-kind-module"><a href="portal_Presentation.html">portal/<wbr/>Presentation</a></li><li class=" tsd-kind-module"><a href="portal_QueryTableDataSource.html">portal/<wbr/>Query<wbr/>Table<wbr/>Data<wbr/>Source</a></li><li class=" tsd-kind-module"><a href="portal_RangeDomain.html">portal/<wbr/>Range<wbr/>Domain</a></li><li class=" tsd-kind-module"><a href="portal_RangeInfo.html">portal/<wbr/>Range<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_RasterDataSource.html">portal/<wbr/>Raster<wbr/>Data<wbr/>Source</a></li><li class=" tsd-kind-module"><a href="portal_Renderer.html">portal/<wbr/>Renderer</a></li><li class=" tsd-kind-module"><a href="portal_RenderingRule.html">portal/<wbr/>Rendering<wbr/>Rule</a></li><li class=" tsd-kind-module"><a href="portal_SceneLayer.html">portal/<wbr/>Scene<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_SimpleFillSymbol.html">portal/<wbr/>Simple<wbr/>Fill<wbr/>Symbol</a></li><li class=" tsd-kind-module"><a href="portal_SimpleLineSymbol.html">portal/<wbr/>Simple<wbr/>Line<wbr/>Symbol</a></li><li class=" tsd-kind-module"><a href="portal_SimpleMarkerSymbol.html">portal/<wbr/>Simple<wbr/>Marker<wbr/>Symbol</a></li><li class=" tsd-kind-module"><a href="portal_SimpleRenderer.html">portal/<wbr/>Simple<wbr/>Renderer</a></li><li class=" tsd-kind-module"><a href="portal_Slide.html">portal/<wbr/>Slide</a></li><li class=" tsd-kind-module"><a href="portal_SpatialReference.html">portal/<wbr/>Spatial<wbr/>Reference</a></li><li class=" tsd-kind-module"><a href="portal_StreamLayer.html">portal/<wbr/>Stream<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_StyleSymbolReference.html">portal/<wbr/>Style<wbr/>Symbol<wbr/>Reference</a></li><li class=" tsd-kind-module"><a href="portal_Symbol.html">portal/<wbr/>Symbol</a></li><li class=" tsd-kind-module"><a href="portal_Symbol3D.html">portal/<wbr/>Symbol3D</a></li><li class=" tsd-kind-module"><a href="portal_Table.html">portal/<wbr/>Table</a></li><li class=" tsd-kind-module"><a href="portal_TableDataSource.html">portal/<wbr/>Table<wbr/>Data<wbr/>Source</a></li><li class=" tsd-kind-module"><a href="portal_Template.html">portal/<wbr/>Template</a></li><li class=" tsd-kind-module"><a href="portal_TemporalRenderer.html">portal/<wbr/>Temporal<wbr/>Renderer</a></li><li class=" tsd-kind-module"><a href="portal_TextSymbol.html">portal/<wbr/>Text<wbr/>Symbol</a></li><li class=" tsd-kind-module"><a href="portal_TextSymbol3DLayer.html">portal/<wbr/>Text<wbr/>Symbol3DLayer</a></li><li class=" tsd-kind-module"><a href="portal_TileInfo.html">portal/<wbr/>Tile<wbr/>Info</a></li><li class=" tsd-kind-module"><a href="portal_TiledImageServiceLayer.html">portal/<wbr/>Tiled<wbr/>Image<wbr/>Service<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_TiledMapServiceLayer.html">portal/<wbr/>Tiled<wbr/>Map<wbr/>Service<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_Type.html">portal/<wbr/>Type</a></li><li class=" tsd-kind-module"><a href="portal_UniqueValueFromStyle.html">portal/<wbr/>Unique<wbr/>Value<wbr/>From<wbr/>Style</a></li><li class=" tsd-kind-module"><a href="portal_UniqueValueRenderer.html">portal/<wbr/>Unique<wbr/>Value<wbr/>Renderer</a></li><li class=" tsd-kind-module"><a href="portal_UtilityNetwork.html">portal/<wbr/>Utility<wbr/>Network</a></li><li class=" tsd-kind-module"><a href="portal_Value.html">portal/<wbr/>Value</a></li><li class=" tsd-kind-module"><a href="portal_VectorFieldRenderer.html">portal/<wbr/>Vector<wbr/>Field<wbr/>Renderer</a></li><li class=" tsd-kind-module"><a href="portal_VectorTileLayer.html">portal/<wbr/>Vector<wbr/>Tile<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_VerticalOffset.html">portal/<wbr/>Vertical<wbr/>Offset</a></li><li class=" tsd-kind-module"><a href="portal_Viewpoint.html">portal/<wbr/>Viewpoint</a></li><li class=" tsd-kind-module"><a href="portal_VisualVariable.html">portal/<wbr/>Visual<wbr/>Variable</a></li><li class=" tsd-kind-module"><a href="portal_WMSLayer.html">portal/WMSLayer</a></li><li class=" tsd-kind-module"><a href="portal_WMSSublayer.html">portal/WMSSublayer</a></li><li class=" tsd-kind-module"><a href="portal_WMTSInfo.html">portal/WMTSInfo</a></li><li class=" tsd-kind-module"><a href="portal_WebMap.html">portal/<wbr/>Web<wbr/>Map</a></li><li class=" tsd-kind-module"><a href="portal_WebScene.html">portal/<wbr/>Web<wbr/>Scene</a></li><li class=" tsd-kind-module"><a href="portal_WebSceneBaseMap.html">portal/<wbr/>Web<wbr/>Scene<wbr/>Base<wbr/>Map</a></li><li class=" tsd-kind-module"><a href="portal_WebTileLayer.html">portal/<wbr/>Web<wbr/>Tile<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal_Widgets.html">portal/<wbr/>Widgets</a></li><li class=" tsd-kind-module"><a href="portal__FeatureLayer.html">portal/_<wbr/>Feature<wbr/>Layer</a></li><li class=" tsd-kind-module"><a href="portal__LayerBase.html">portal/_<wbr/>Layer<wbr/>Base</a></li><li class=" tsd-kind-module"><a href="portal__layerHelper.html">portal/_<wbr/>layer<wbr/>Helper</a></li><li class=" tsd-kind-module"><a href="portal__utils.html">portal/_<wbr/>utils</a></li><li class=" tsd-kind-module"><a href="support_Action.html">support/<wbr/>Action</a></li><li class=" tsd-kind-module"><a href="support_ArcGISRequestHelper.html">support/<wbr/>ArcGISRequest<wbr/>Helper</a></li><li class=" tsd-kind-module"><a href="support_Cancellable.html">support/<wbr/>Cancellable</a></li><li class=" tsd-kind-module"><a href="support_FormatSettings.html">support/<wbr/>Format<wbr/>Settings</a></li><li class=" tsd-kind-module"><a href="support_InitializableBase.html">support/<wbr/>Initializable<wbr/>Base</a></li><li class=" tsd-kind-module"><a href="support_InitializableCollectionProxy.html">support/<wbr/>Initializable<wbr/>Collection<wbr/>Proxy</a></li><li class=" tsd-kind-module"><a href="support_InitializeError.html">support/<wbr/>Initialize<wbr/>Error</a></li><li class=" tsd-kind-module"><a href="support_Observable.html">support/<wbr/>Observable</a></li><li class=" tsd-kind-module"><a href="support_ReadOnlyInitializableCollection.html">support/<wbr/>Read<wbr/>Only<wbr/>Initializable<wbr/>Collection</a></li><li class=" tsd-kind-module"><a href="support_Serializable.html">support/<wbr/>Serializable</a></li><li class=" tsd-kind-module"><a href="support_Settings.html">support/<wbr/>Settings</a></li><li class=" tsd-kind-module"><a href="support__ArcGISRelationshipCollection.html">support/_<wbr/>ArcGISRelationship<wbr/>Collection</a></li><li class=" tsd-kind-module"><a href="support__esriInternal.html">support/_<wbr/>esri<wbr/>Internal</a></li><li class=" tsd-kind-module"><a href="support__graphicsQuery.html">support/_<wbr/>graphics<wbr/>Query</a></li><li class=" tsd-kind-module"><a href="support__query.html">support/_<wbr/>query</a></li><li class=" tsd-kind-module"><a href="support__requestCache.html">support/_<wbr/>request<wbr/>Cache</a></li><li class=" tsd-kind-module"><a href="support__restApiJson.html">support/_<wbr/>rest<wbr/>Api<wbr/>Json</a></li><li class=" tsd-kind-module"><a href="support_esri.html">support/esri</a></li><li class=" tsd-kind-module"><a href="support_utilities.html">support/utilities</a></li><li class=" tsd-kind-module"><a href="tasks_CountResult.html">tasks/<wbr/>Count<wbr/>Result</a></li><li class=" tsd-kind-module"><a href="tasks_geocoding_ArcGISGeocoder.html">tasks/geocoding/<wbr/>ArcGISGeocoder</a></li><li class=" tsd-kind-module"><a href="tasks_geocoding_Geocoder.html">tasks/geocoding/<wbr/>Geocoder</a></li><li class=" tsd-kind-module"><a href="tasks_geocoding_utilities.html">tasks/geocoding/utilities</a></li><li class=" tsd-kind-module"><a href="tasks_identify_ArcGISSublayerQueryIdentifyProvider.html">tasks/identify/<wbr/>ArcGISSublayer<wbr/>Query<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_BuildingComponentSublayerClientSideIdentifyProvider.html">tasks/identify/<wbr/>Building<wbr/>Component<wbr/>Sublayer<wbr/>Client<wbr/>Side<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_BuildingComponentSublayerHitTestIdentifyProvider.html">tasks/identify/<wbr/>Building<wbr/>Component<wbr/>Sublayer<wbr/>Hit<wbr/>Test<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_CSVLayer3DHitTestIdentifyProvider.html">tasks/identify/CSVLayer3DHit<wbr/>Test<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_CSVLayerClientSideQueryIdentifyProvider.html">tasks/identify/CSVLayer<wbr/>Client<wbr/>Side<wbr/>Query<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_ClientSideIdentifyProvider.html">tasks/identify/<wbr/>Client<wbr/>Side<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_FeatureLayer3DHitTestIdentifyProvider.html">tasks/identify/<wbr/>Feature<wbr/>Layer3DHit<wbr/>Test<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_FeatureLayerClientSideIdentifyProvider.html">tasks/identify/<wbr/>Feature<wbr/>Layer<wbr/>Client<wbr/>Side<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_FeatureLayerQueryIdentifyProvider.html">tasks/identify/<wbr/>Feature<wbr/>Layer<wbr/>Query<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_GeoRSSLayerIdentifyProvider.html">tasks/identify/<wbr/>GeoRSSLayer<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_GraphicsLayerQueryIdentifyProvider.html">tasks/identify/<wbr/>Graphics<wbr/>Layer<wbr/>Query<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_HitTestIdentifyProvider.html">tasks/identify/<wbr/>Hit<wbr/>Test<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_IdentifyError.html">tasks/identify/<wbr/>Identify<wbr/>Error</a></li><li class=" tsd-kind-module"><a href="tasks_identify_IdentifyOptions.html">tasks/identify/<wbr/>Identify<wbr/>Options</a></li><li class=" tsd-kind-module"><a href="tasks_identify_IdentifyProvider.html">tasks/identify/<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_IdentifyProviderBase.html">tasks/identify/<wbr/>Identify<wbr/>Provider<wbr/>Base</a></li><li class=" tsd-kind-module"><a href="tasks_identify_IdentifyService.html">tasks/identify/<wbr/>Identify<wbr/>Service</a></li><li class=" tsd-kind-module"><a href="tasks_identify_ImageryLayerIdentifyProvider.html">tasks/identify/<wbr/>Imagery<wbr/>Layer<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_KMLLayerQueryIdentifyProvider.html">tasks/identify/KMLLayer<wbr/>Query<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_PointCloudLayerHitTestIdentifyProvider.html">tasks/identify/<wbr/>Point<wbr/>Cloud<wbr/>Layer<wbr/>Hit<wbr/>Test<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_SceneLayerClientSideIdentifyProvider.html">tasks/identify/<wbr/>Scene<wbr/>Layer<wbr/>Client<wbr/>Side<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_SceneLayerHitTestIdentifyProvider.html">tasks/identify/<wbr/>Scene<wbr/>Layer<wbr/>Hit<wbr/>Test<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_SceneLayerQueryIdentifyProvider.html">tasks/identify/<wbr/>Scene<wbr/>Layer<wbr/>Query<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_StreamLayerClientSideQueryIdentifyProvider.html">tasks/identify/<wbr/>Stream<wbr/>Layer<wbr/>Client<wbr/>Side<wbr/>Query<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_StreamLayerQueryIdentifyProvider.html">tasks/identify/<wbr/>Stream<wbr/>Layer<wbr/>Query<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify_WMSSublayerIdentifyProvider.html">tasks/identify/WMSSublayer<wbr/>Identify<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_identify__utilities.html">tasks/identify/_<wbr/>utilities</a></li><li class=" tsd-kind-module"><a href="tasks_query_ArcGISRelationship.html">tasks/query/<wbr/>ArcGISRelationship</a></li><li class=" tsd-kind-module"><a href="tasks_query_ArcGISServiceTableQueryProvider.html">tasks/query/<wbr/>ArcGISService<wbr/>Table<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_ArcGISSublayerQueryProvider.html">tasks/query/<wbr/>ArcGISSublayer<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_BuildingComponentSublayerClientSideQueryProvider.html">tasks/query/<wbr/>Building<wbr/>Component<wbr/>Sublayer<wbr/>Client<wbr/>Side<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_CSVLayerClientSideQueryProvider.html">tasks/query/CSVLayer<wbr/>Client<wbr/>Side<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_CSVLayerQueryProvider.html">tasks/query/CSVLayer<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_ClientSideQueryProvider.html">tasks/query/<wbr/>Client<wbr/>Side<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_FeatureLayerQueryProvider.html">tasks/query/<wbr/>Feature<wbr/>Layer<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_GeoRSSLayerQueryProvider.html">tasks/query/<wbr/>GeoRSSLayer<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_GraphicsLayerQueryProvider.html">tasks/query/<wbr/>Graphics<wbr/>Layer<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_ImageryLayerQueryProvider.html">tasks/query/<wbr/>Imagery<wbr/>Layer<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_KMLLayerQueryProvider.html">tasks/query/KMLLayer<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_QueryBasedRelationship.html">tasks/query/<wbr/>Query<wbr/>Based<wbr/>Relationship</a></li><li class=" tsd-kind-module"><a href="tasks_query_QueryError.html">tasks/query/<wbr/>Query<wbr/>Error</a></li><li class=" tsd-kind-module"><a href="tasks_query_QueryOptions.html">tasks/query/<wbr/>Query<wbr/>Options</a></li><li class=" tsd-kind-module"><a href="tasks_query_QueryProvider.html">tasks/query/<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_QueryProviderBase.html">tasks/query/<wbr/>Query<wbr/>Provider<wbr/>Base</a></li><li class=" tsd-kind-module"><a href="tasks_query_QueryService.html">tasks/query/<wbr/>Query<wbr/>Service</a></li><li class=" tsd-kind-module"><a href="tasks_query_SceneLayerClientSideQueryProvider.html">tasks/query/<wbr/>Scene<wbr/>Layer<wbr/>Client<wbr/>Side<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_SceneLayerQueryProvider.html">tasks/query/<wbr/>Scene<wbr/>Layer<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_StreamLayerClientSideQueryProvider.html">tasks/query/<wbr/>Stream<wbr/>Layer<wbr/>Client<wbr/>Side<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_query_StreamLayerQueryProvider.html">tasks/query/<wbr/>Stream<wbr/>Layer<wbr/>Query<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_search_ArcGISGeocoderSearchProvider.html">tasks/search/<wbr/>ArcGISGeocoder<wbr/>Search<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_search_GeocoderSearchProvider.html">tasks/search/<wbr/>Geocoder<wbr/>Search<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_search_QuerySearchProvider.html">tasks/search/<wbr/>Query<wbr/>Search<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_search_SearchError.html">tasks/search/<wbr/>Search<wbr/>Error</a></li><li class=" tsd-kind-module"><a href="tasks_search_SearchOptions.html">tasks/search/<wbr/>Search<wbr/>Options</a></li><li class=" tsd-kind-module"><a href="tasks_search_SearchProvider.html">tasks/search/<wbr/>Search<wbr/>Provider</a></li><li class=" tsd-kind-module"><a href="tasks_search_SearchProviderBase.html">tasks/search/<wbr/>Search<wbr/>Provider<wbr/>Base</a></li><li class=" tsd-kind-module"><a href="tasks_search_SearchService.html">tasks/search/<wbr/>Search<wbr/>Service</a></li><li class=" tsd-kind-module"><a href="tasks_search_SearchSuggestion.html">tasks/search/<wbr/>Search<wbr/>Suggestion</a></li><li class=" tsd-kind-module"><a href="tasks_search__utilities.html">tasks/search/_<wbr/>utilities</a></li><li class=" tsd-kind-module"><a href="utilities_CollectionProxy.html">utilities/<wbr/>Collection<wbr/>Proxy</a></li><li class=" tsd-kind-module"><a href="utilities_CopyOnWriteCollection.html">utilities/<wbr/>Copy<wbr/>On<wbr/>Write<wbr/>Collection</a></li><li class=" tsd-kind-module"><a href="utilities_FormatSettings.html">utilities/<wbr/>Format<wbr/>Settings</a></li><li class=" tsd-kind-module"><a href="utilities_GeometryServiceError.html">utilities/<wbr/>Geometry<wbr/>Service<wbr/>Error</a></li><li class=" tsd-kind-module"><a href="utilities_MapTransformCollection.html">utilities/<wbr/>Map<wbr/>Transform<wbr/>Collection</a></li><li class=" tsd-kind-module"><a href="utilities_ObservableMap.html">utilities/<wbr/>Observable<wbr/>Map</a></li><li class=" tsd-kind-module"><a href="utilities_ObservableSet.html">utilities/<wbr/>Observable<wbr/>Set</a></li><li class=" tsd-kind-module"><a href="utilities_ObservableWeakSet.html">utilities/<wbr/>Observable<wbr/>Weak<wbr/>Set</a></li><li class=" tsd-kind-module"><a href="utilities_ReadOnlyCollection.html">utilities/<wbr/>Read<wbr/>Only<wbr/>Collection</a></li><li class=" tsd-kind-module"><a href="utilities_ReadOnlyMap.html">utilities/<wbr/>Read<wbr/>Only<wbr/>Map</a></li><li class=" tsd-kind-module"><a href="utilities_RequestHelper.html">utilities/<wbr/>Request<wbr/>Helper</a></li><li class=" tsd-kind-module"><a href="utilities__layers.html">utilities/_<wbr/>layers</a></li><li class=" tsd-kind-module"><a href="utilities__number.html">utilities/_<wbr/>number</a></li><li class=" tsd-kind-module"><a href="utilities__ogc.html">utilities/_<wbr/>ogc</a></li><li class=" tsd-kind-module"><a href="utilities_arcade.html">utilities/arcade</a></li><li class=" tsd-kind-module"><a href="utilities_array.html">utilities/array</a></li><li class=" tsd-kind-module"><a href="utilities_asyncIterable.html">utilities/async<wbr/>Iterable</a></li><li class=" tsd-kind-module"><a href="utilities_basemaps.html">utilities/basemaps</a></li><li class=" tsd-kind-module"><a href="utilities_checkArg.html">utilities/check<wbr/>Arg</a></li><li class=" tsd-kind-module"><a href="utilities_collection.html">utilities/collection</a></li><li class=" tsd-kind-module"><a href="utilities_date.html">utilities/date</a></li><li class=" tsd-kind-module"><a href="utilities_enum.html">utilities/enum</a></li><li class=" tsd-kind-module"><a href="utilities_esri.html">utilities/esri</a></li><li class=" tsd-kind-module"><a href="utilities_extensions.html">utilities/extensions</a></li><li class=" tsd-kind-module"><a href="utilities_field.html">utilities/field</a></li><li class=" tsd-kind-module"><a href="utilities_geometry.html">utilities/geometry</a></li><li class=" tsd-kind-module"><a href="utilities_iterable.html">utilities/iterable</a></li><li class=" tsd-kind-module"><a href="utilities_layers.html">utilities/layers</a></li><li class=" tsd-kind-module"><a href="utilities_log.html">utilities/log</a></li><li class=" tsd-kind-module"><a href="utilities_mapping.html">utilities/mapping</a></li><li class=" tsd-kind-module"><a href="utilities_math.html">utilities/math</a></li><li class=" tsd-kind-module"><a href="utilities_number.html">utilities/number</a></li><li class=" tsd-kind-module"><a href="utilities_object.html">utilities/object</a></li><li class=" tsd-kind-module"><a href="utilities_portal.html">utilities/portal</a></li><li class=" tsd-kind-module"><a href="utilities_promise.html">utilities/promise</a></li><li class=" tsd-kind-module"><a href="utilities_query.html">utilities/query</a></li><li class=" tsd-kind-module"><a href="utilities_relationships.html">utilities/relationships</a></li><li class=" tsd-kind-module"><a href="utilities_renderers.html">utilities/renderers</a></li><li class=" tsd-kind-module"><a href="utilities_scaleRanges.html">utilities/scale<wbr/>Ranges</a></li><li class=" tsd-kind-module"><a href="utilities_set.html">utilities/set</a></li><li class=" tsd-kind-module"><a href="utilities_string.html">utilities/string</a></li><li class=" tsd-kind-module"><a href="utilities_symbol.html">utilities/symbol</a></li><li class=" tsd-kind-module"><a href="utilities_transformation.html">utilities/transformation</a></li><li class=" tsd-kind-module"><a href="utilities_uri.html">utilities/uri</a></li><li class=" tsd-kind-module"><a href="utilities_uuid.html">utilities/uuid</a></li><li class=" tsd-kind-module"><a href="utilities_watch.html">utilities/watch</a></li><li class="current tsd-kind-module"><a href="version.html">version</a></li></ul></nav><nav class="tsd-navigation secondary menu-sticky"><ul><li class="tsd-kind-variable tsd-parent-kind-module"><a href="version.html#version-1" class="tsd-kind-icon">version</a></li></ul></nav></div></div></div><footer class=""><div class="container"><h2>Legend</h2><div class="tsd-legend-group"><ul class="tsd-legend"><li class="tsd-kind-namespace"><span class="tsd-kind-icon">Namespace</span></li><li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li><li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li><li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li><li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li><li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li><li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li><li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li></ul><ul class="tsd-legend"><li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li></ul></div><h2>Settings</h2><p>Theme <select id="theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></p></div></footer><div class="overlay"></div><script src="../assets/main.js"></script></body></html>
|
|
@@ -186,6 +186,10 @@ export declare abstract class LayerExtension<TProperties extends LayerExtensionP
|
|
|
186
186
|
* labels. Default is false.
|
|
187
187
|
*/
|
|
188
188
|
get canChangeLabels(): boolean;
|
|
189
|
+
/**
|
|
190
|
+
* Indicates the initial layer visibility.
|
|
191
|
+
*/
|
|
192
|
+
get initialVisibility(): boolean;
|
|
189
193
|
/**
|
|
190
194
|
* The layer's sublayers.
|
|
191
195
|
*/
|
|
@@ -241,6 +245,7 @@ export declare abstract class LayerExtension<TProperties extends LayerExtensionP
|
|
|
241
245
|
private _deferredLayerProperties;
|
|
242
246
|
private _originalRef;
|
|
243
247
|
private _requestHelper;
|
|
248
|
+
private _initialVisibility;
|
|
244
249
|
private _visibilityMode;
|
|
245
250
|
private readonly _portalItem;
|
|
246
251
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate}from"tslib";import{ArgumentError}from"../ArgumentError.js";import{InvalidOperationError}from"../InvalidOperationError.js";import{ItemType}from"../ItemType.js";import{FeatureSourceBase}from"../data/FeatureSourceBase.js";import{Schema}from"../data/Schema.js";import{LayerBase as PortalLayerBase}from"../portal/LayerBase.js";import{ERR_LAYER_TYPE_MISMATCH}from"../portal/_layerHelper.js";import{DefaultArcGISRequestHelper}from"../support/ArcGISRequestHelper.js";import{ReadOnlyInitializableCollection}from"../support/ReadOnlyInitializableCollection.js";import{serializable}from"../support/Serializable.js";import{CollectionProxy}from"../utilities/CollectionProxy.js";import{isLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{Collection,compare}from"../utilities/collection.js";import{load}from"../utilities/esri.js";import{isGroupLayerExtension}from"../utilities/extensions.js";import{hasMmapLayer}from"../utilities/layers.js";import{getLogger}from"../utilities/log.js";import{deepClone}from"../utilities/object.js";import{toPortalItem}from"../utilities/portal.js";import{onCollectionPropertyChange,watchEach}from"../utilities/watch.js";import{_assignSublayerExtensions}from"./_SublayerExtension.js";import{ExtensionBaseLayerListSettings,fromLayerListMode}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase}from"./support/_SublayerExtensionCollection.js";const ERR_INVALID_LAYER_TYPE="Invalid type of layer for this type of layer extension.",ERR_FEATURES_NOT_SUPPORTED="This type of layer does not have features.",ERR_ADD_SUBLAYERX_NOT_SUPPORTED="This type of layer cannot have sublayers.",ERR_SCHEMA_READ_ONLY="This schema property is read-only.",DEFAULT_CAPABILITIES=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1});export class LayerExtension extends FeatureSourceBase{constructor(e){super(e),this._itemType=ItemType.LAYER_EXTENSION,this._watchHandles=[],this._dynamicallyAddedLayer=!1,this._visibilityMode="independent",this._onSublayerAddedPostInitialize=async e=>{try{await e.initialize()}catch(t){getLayerXLogger().error({message:`Error occurred while initializing sublayer extension for sublayer '${e.title??e.sublayer.id??e.id}'.`,error:t})}},this._onVisibleChanged=e=>{if("inherited"===this.visibilityMode&&this.supportsSublayers&&this._sublayers)for(const t of this._sublayers.toArray())t.visible=e;this.notifyChange("isEffectivelyVisible")},this._onSublayersSublayerVisibleChanged=(e,t,r,i)=>{e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(i)},this._onSublayersChange=e=>{e.added?.length&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(e.added[e.added.length-1])};const t={...this.getDefaults(),...e};checkArg("properties.layer",t.layer).isNotMissing();const{layer:r}=t;let i;if(r?.hasOwnProperty("listMode")&&(i=fromLayerListMode(r.listMode)),this.layerListSettings=this._createLayerListSettings({...i,...t.layerListSettings}),isLayer(r))checkArg("properties.layer",r).satisfies((e=>this._isSupportedLayer(e)),ERR_INVALID_LAYER_TYPE),this._setLayer(r);else if(r){if(r.$portalItem){const e=r.$portalItem;this._portalItem=toPortalItem(e)}this._deferredLayerProperties=r}this._sublayerExtensions=this._createSublayerExtensionCollection(),this.allSublayerExtensions=new AllSublayerExtensionCollectionImpl(this),this.watch("parentLayerExtension.isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible"))),this.watch("layer.sublayers",(()=>this.notifyChange("_sublayers")))}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 DefaultArcGISRequestHelper),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 _layerSupportsHideChildren(){return this.supportsSublayers}get _sublayers(){if(this.supportsSublayers)return this.layer?this.layer.sublayers:void 0}get dynamicallyAddedLayer(){return this._dynamicallyAddedLayer}set dynamicallyAddedLayer(e){this._dynamicallyAddedLayer=e}get sublayersAreReadOnly(){return!0}static create(e){if(!LayerExtension.factory)throw new InvalidOperationError("Cannot create layer extension: no layer extension factory has been registered.");return LayerExtension.factory.create(e)}static async fromPortalItem(e,t){checkArg("portalItemLike",e).isNotMissing();const r=t??{};checkArg("layerExtensionProperties.layer",r.layer).satisfies((e=>!isLayer(e)));const i={...r.layer};checkArg("layerExtensionProperties.layer.$ref",i.$ref).satisfies((e=>null==e));const s=new DefaultArcGISRequestHelper,a=toPortalItem(e);let n;await load(a);const o=a.typeKeywords??"";if("Map Service"===a.type)n=o.includes("Tiled")||o.includes("Hosted Service")?"ArcGISTiledMapServiceLayer":"ArcGISMapServiceLayer";else if("Feature Service"===a.type)n="ArcGISFeatureLayer";else if("Image Service"===a.type){const e=await LayerExtension._getLayerData(a.url,s);e.cacheType?"Map"===e.cacheType?n="ArcGISTiledImageServiceLayer":("Elevation"===e.cacheType||o.includes("Elevation 3D Layer"))&&(n="ArcGISTiledElevationServiceLayer"):n=e.singleFusedMapCache||e.tileInfo||o.includes("Hosted Service")?"ArcGISTiledImageServiceLayer":"ArcGISImageServiceLayer"}else if("CSV"===a.type)n="CSV";else if("KML"===a.type)n="KML";else if("Scene Service"===a.type)o.includes("3DObject")||o.includes("Point")?n="ArcGISSceneServiceLayer":o.includes("IntegratedMesh")?n="IntegratedMeshLayer":o.includes("PointCloud")?n="PointCloudLayer":o.includes("Building")&&(n="BuildingSceneLayer");else if("Stream Service"===a.type)n="ArcGISStreamLayer";else if("Vector Tile Service"===a.type)n="VectorTileLayer";else if("Feature Collection"===a.type){n="ArcGISFeatureLayer";const e=await a.fetchData();i.featureCollection=e}else if("WMTS"===a.type){n="WebTiledLayer";const e=await a.fetchData();Object.assign(i,e)}else if("WMS"===a.type){n="WMS";const e=await a.fetchData();Object.assign(i,e)}if(!n)throw new ArgumentError("portalItem","Could not determine correct type of LayerExtension to create from portal item");if(i.layerType&&i.layerType!==n)throw new ArgumentError("layerExtensionProperties.layer.layerType","Layer type defined in layer properties does not match layer type from portal item");return i.layerType=n,i.$portalItem=a,r.layer=i,LayerExtension.create(r)}static _matchesRef(e,t){if(!e||!t)return!1;const r=t.$ref;return"string"==typeof r?e.id===r||e.title===r:!!r&&(e.id===r.id||e.title===r.title&&!r.path)}static async _getLayerData(e,t){const r=await t.request(e,{query:{f:"json"}});if(!r||!r.data)throw new Error(`Response to request for url ${e} was invalid.`);return r.data}getFeatures(e,t){if(!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);return super.getFeatures(e,t)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.addFeatures(e,t)}async updateFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.updateFeatures(e,t)}async deleteFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.deleteFeatures(e,t)}async _createBackingLayer(){this._portalItem||this.layer||this._deferredLayerProperties&&this._deferredLayerProperties.$ref?!this.layer&&this._portalItem&&this._setLayer(await this._createLayer(this.getDefaults().layer)):(this._setLayer(await this._createLayer(this._deferredLayerProperties)),checkArg("properties.layer",this._layer).satisfies((e=>this._isSupportedLayer(e)),ERR_INVALID_LAYER_TYPE),this._deferredLayerProperties=void 0)}_setMapExtension(e){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(),this.notifyChange("mapExtension")}_setBasemapExtension(e){this._basemapExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),this.notifyChange("basemapExtension")}_setGroundExtension(e){this._groundExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),this.notifyChange("groundExtension")}_setParentLayerExtension(e){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(),this.notifyChange("parentLayerExtension")}_resolveLayer(e){if(this.layer||!this._deferredLayerProperties)return;const t=e=>LayerExtension._matchesRef(e,this._deferredLayerProperties);let r;e?r=e.find(t):this.basemapExtension?.basemap?(r=this.basemapExtension.basemap.baseLayers.find(t),r=r||this.basemapExtension.basemap.referenceLayers.find(t)):this.groundExtension?.ground?r=this.groundExtension.ground.layers.find(t):this.parentLayerExtension?.layer?r=this.parentLayerExtension.layer.layers.find(t):this.mapExtension&&(r=this.mapExtension.map.layers.find(t)),r&&this._isSupportedLayer(r)&&(this._setLayer(r),this._originalRef=this._deferredLayerProperties.$ref,this._deferredLayerProperties.$portalItem&&getLayerXLogger().warn("LayerExtension defined with both $ref and $portalItem. Ignoring $portalItem."))}async _switchLayer(e){if(e===this.layer)return;checkArg("newLayer",e).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),ERR_INVALID_LAYER_TYPE),this.isInitialized&&await load(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),this._setLayer(e);const r=[];if(this._sublayers){const e=this._sublayers.filter((e=>t.has(e.id))).toArray();r.push(...e.map((async e=>{const r=t.get(e.id);await r._switchSublayer(e),this._sublayerExtensions._register(r)})))}this.isInitialized&&r.push(this._initializeChildren()),await Promise.all(r)}_getProjectWebmapJSON(){if(!this.layer)return;let e=PortalLayerBase.fromEsriApiLayer(this.layer);if(!this.dynamicallyAddedLayer){const{id:t,title:r,layerType:i,visibility:s,opacity:a}=e;e={id:t,title:r,layerType:i,visibility:s,opacity:a}}return e}async _onDestroy(){this._watchHandles.forEach((e=>e?.remove())),await Promise.all(this.sublayerExtensions.toArray().map((e=>e.destroy()))),await super._onDestroy()}_getSerializableProperties(){return{...super._getSerializableProperties(),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=>{_assignSublayerExtensions(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=PortalLayerBase.getLayerType(this._layer),t=this._getSerializableRefLayerProperties();return{$ref:this._originalRef||{id:this._layer.id,title:this._layer.title,subtype:this._getSerializableLayerType()},layerType:e,...t}}return PortalLayerBase.fromEsriApiLayer(this.layer)}return this._deferredLayerProperties?deepClone(this._deferredLayerProperties):void 0},isDefault:()=>{throw new Error("Missing implementation for _getSerializableProperties() > layer > default. Subclasses of LayerExtension must implement this.")},deserialize:e=>{if(isLayer(e)){if(e!==this.layer)throw new Error("Property 'layer' is read-only.")}else e&&(this._layer?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 InvalidOperationError(ERR_ADD_SUBLAYERX_NOT_SUPPORTED);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 load(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 InvalidOperationError(`No layer found matching reference "${"string"==typeof e?e:JSON.stringify(e)}".`):new InvalidOperationError("Cannot resolve layer reference: missing parent.")}this._deferredLayerProperties&&(await this._applyLayerProperties(this._deferredLayerProperties,this.layer),this._deferredLayerProperties=void 0),await this._initializeLayer(),await load(this.layer),this.supportsSublayers&&!this.layer.sublayers&&this.layer._set("sublayers",new Collection),this._sublayerExtensions.onParentInitialized()}async _postInitialize(){await super._postInitialize(),this.layerListSettings.onLayerExtensionInitialized(),this._watchHandles.push(onCollectionPropertyChange(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 InvalidOperationError("Cannot use this type of layer extension with a PortalItem.")}async _initializeLayer(){}_createLayerListSettings(e){return new LayerExtensionLayerListSettings(e,this)}_createSublayerExtensionCollection(){return new SublayerExtensionCollectionImpl(this)}_capabilities(){return DEFAULT_CAPABILITIES}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}async _createLayer(e){return PortalLayerBase.toEsriApiLayer(e)}_applyLayerProperties(e,t){checkArg("layerJson",e).isNotMissing();const r=e.layerType||e.type;return checkArg("layerJson.layerType",r).satisfies((e=>!e||e===this.getDefault("layer")?.layerType),ERR_LAYER_TYPE_MISMATCH),checkArg("layer",t).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),ERR_LAYER_TYPE_MISMATCH),PortalLayerBase.applyToEsriApiLayer(e,t)}_setLayer(e){if(this._layer=e,e.watch("visible",this._onVisibleChanged),this.layer.watch("minScale",(()=>this.notifyChange("effectiveMinScale"))),this.layer.watch("maxScale",(()=>this.notifyChange("effectiveMaxScale"))),this.layer.watch("title",(()=>this.notifyChange("title"))),this.supportsSublayers)if(this._sublayers)this._setupSublayersHandles();else{const t=e.watch("sublayers",(()=>{this._setupSublayersHandles(),t.remove()}),!0)}this.notifyChange("layer"),this.notifyChange("title"),this.notifyChange("effectiveMinScale"),this.notifyChange("effectiveMaxScale"),this.notifyChange("isEffectivelyVisible")}_setupSublayersHandles(){this._sublayers.on("change",this._onSublayersChange),watchEach(this._sublayers,"visible",this._onSublayersSublayerVisibleChanged)}_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 SublayerExtensionCollectionImpl extends SublayerExtensionCollectionBase{constructor(e){super(e,"_sublayers"),this._layerExtension=e}add(e,t){if(checkArg("sublayerX",e).isNotMissing(),!this._layerExtension.supportsSublayers)throw new InvalidOperationError(ERR_ADD_SUBLAYERX_NOT_SUPPORTED);const r=e.sublayer?e.sublayer.layer:void 0;r&&r!==this._layerExtension.layer&&r.sublayers.remove(e.sublayer),super.add(e,t)}}class AllSublayerExtensionCollectionImpl extends ReadOnlyInitializableCollection{constructor(e){super(),this._layerExtension=e}get _collection(){return this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions))}findById(e){return checkArg("id",e).isNotMissing(),this.find((t=>t.id===e))}findBySublayerId(e){return checkArg("id",e).isNotMissing(),this.find((t=>t.sublayer.id===e))}forSublayer(e){return checkArg("sublayer",e).isNotMissing(),this.findBySublayerId(e.id)}emit(e,t){if("change"===e){const r=new Collection;r.addMany(t.added);const i=r.flatten((e=>e.sublayerExtensions)).toArray(),s=new Collection;s.addMany(t.removed);const a=s.flatten((e=>e.sublayerExtensions)).toArray(),n=new Collection;n.addMany(t.moved);const o=n.flatten((e=>e.sublayerExtensions)).toArray();return super.emit(e,{added:i,removed:a,moved:o,target:this})}return super.emit(e,t)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.sublayer}}let LayerExtensionLayerListSettings=class extends ExtensionBaseLayerListSettings{get _esriLayer(){return this._extension.layer}get _listModePath(){return"layer.listMode"}get _supportsChildren(){return this._extension.supportsSublayers}};LayerExtensionLayerListSettings=__decorate([serializable],LayerExtensionLayerListSettings);export{LayerExtensionLayerListSettings};let LayerExtensionSchema=class extends Schema{constructor(e){if(super(),this._layerBindings=new Map,this._layerExtension=e,this._bindSettingsToLayerProperties(),e.layer)this._onLayerResolved(e.layer);else{const t=e.watch("layer",(()=>{this._onLayerResolved(e.layer),t.remove()}),!0)}}_getPropertyBindings(){return{}}_getSetting(e,t){if(this._layerBindings.has(e)){let t=this._layerBindings.get(e);if("string"==typeof t&&(t={property:t}),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)){let r=this._layerBindings.get(e);if("string"==typeof r&&(r={property:r}),r.readonly||r.hasOwnProperty("value"))throw new InvalidOperationError(ERR_SCHEMA_READ_ONLY);if(this._layerExtension.layer)return void(this._layerExtension.layer[r.property]=t)}super._setSetting(e,t)}_bindSettingsToLayerProperties(){const e=this._getPropertyBindings();for(const t of Object.keys(e)){let r=e[t];"string"==typeof r&&(r={property:r}),this._layerBindings.set(t,r),r.hasOwnProperty("value")||this._layerExtension.watch(`layer.${r.property}`,(()=>this.notifyChange(t)),!r.hasOwnProperty("sync")||r.sync)}}_onLayerResolved(e){for(const t of this._layerBindings.keys())this.isModified(t)&&(e[t]=this[t],this.reset(t))}};LayerExtensionSchema=__decorate([serializable],LayerExtensionSchema);export{LayerExtensionSchema};export class ArrayWrappedCollection extends CollectionProxy{constructor(e,t){if(super(),this._layerExtension=e,this._property=t,this._layerProperty=e instanceof LayerExtension?"layer":"sublayer",e[this._layerProperty])this._onLayerResolved(e[this._layerProperty]);else{this._collection=new Collection;const t=e.watch(this._layerProperty,(()=>{const r=e[this._layerProperty];this.length&&(r[this._property]=this.toArray()),this._onLayerResolved(r),t.remove()}),!0)}}add(e,t){const r=this._layerExtension[this._layerProperty];r&&!r[this._property]&&(r[this._property]=[],this._collection=wrapArrayWithCollection(r[this._property])),super.add(e,t)}_onLayerResolved(e){this._collection=wrapArrayWithCollection(e[this._property]||[]),e.watch(this._property,(()=>{this._collection=wrapArrayWithCollection(e[this._property]||[])}),!0)}}export function _assignLayerExtensions(e,t){return compare(e,t,{onNew:(t,r)=>{e.add(t instanceof LayerExtension?t:LayerExtension.create(t),isLayerRef(t)?void 0:r)},onMatch:(t,r,i,s)=>{r instanceof LayerExtension||t.assignProperties(r),i===s||isLayerRef(r)||e.reorder(t,s)},onMissing:t=>{(hasMmapLayer([t])||isGroupLayerExtension(t)&&0===t.layerExtensions.toArray().length)&&e.remove(t)},equals:(e,t)=>t instanceof LayerExtension?t===e:!!LayerExtension._matchesRef(e.layer,t.layer)||e.id===t.id})}function wrapArrayWithCollection(e){const t=new Collection;return Object.defineProperty(t,"_items",{get:()=>e}),Object.defineProperty(t,"length",{get:()=>e.length,set:t=>e.length=t}),t}function getLayerXLogger(){return getLogger("geocortex.api.mapping.LayerExtension")}function isLayerRef(e){return e instanceof LayerExtension?!!e._deferredLayerProperties?.$ref:!isLayer(e.layer)&&!!e.layer?.$ref}
|
|
1
|
+
import{__decorate}from"tslib";import{ArgumentError}from"../ArgumentError.js";import{InvalidOperationError}from"../InvalidOperationError.js";import{ItemType}from"../ItemType.js";import{FeatureSourceBase}from"../data/FeatureSourceBase.js";import{Schema}from"../data/Schema.js";import{LayerBase as PortalLayerBase}from"../portal/LayerBase.js";import{ERR_LAYER_TYPE_MISMATCH}from"../portal/_layerHelper.js";import{DefaultArcGISRequestHelper}from"../support/ArcGISRequestHelper.js";import{ReadOnlyInitializableCollection}from"../support/ReadOnlyInitializableCollection.js";import{serializable}from"../support/Serializable.js";import{CollectionProxy}from"../utilities/CollectionProxy.js";import{isLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{Collection,compare}from"../utilities/collection.js";import{load}from"../utilities/esri.js";import{isGroupLayerExtension}from"../utilities/extensions.js";import{hasMmapLayer}from"../utilities/layers.js";import{getLogger}from"../utilities/log.js";import{deepClone}from"../utilities/object.js";import{toPortalItem}from"../utilities/portal.js";import{onCollectionPropertyChange,watchEach}from"../utilities/watch.js";import{_assignSublayerExtensions}from"./_SublayerExtension.js";import{ExtensionBaseLayerListSettings,fromLayerListMode}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase}from"./support/_SublayerExtensionCollection.js";const ERR_INVALID_LAYER_TYPE="Invalid type of layer for this type of layer extension.",ERR_FEATURES_NOT_SUPPORTED="This type of layer does not have features.",ERR_ADD_SUBLAYERX_NOT_SUPPORTED="This type of layer cannot have sublayers.",ERR_SCHEMA_READ_ONLY="This schema property is read-only.",DEFAULT_CAPABILITIES=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1});export class LayerExtension extends FeatureSourceBase{constructor(e){super(e),this._itemType=ItemType.LAYER_EXTENSION,this._watchHandles=[],this._dynamicallyAddedLayer=!1,this._visibilityMode="independent",this._onSublayerAddedPostInitialize=async e=>{try{await e.initialize()}catch(t){getLayerXLogger().error({message:`Error occurred while initializing sublayer extension for sublayer '${e.title??e.sublayer.id??e.id}'.`,error:t})}},this._onVisibleChanged=e=>{if("inherited"===this.visibilityMode&&this.supportsSublayers&&this._sublayers)for(const t of this._sublayers.toArray())t.visible=e;this.notifyChange("isEffectivelyVisible")},this._onSublayersSublayerVisibleChanged=(e,t,i,r)=>{e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(r)},this._onSublayersChange=e=>{e.added?.length&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(e.added[e.added.length-1])};const t={...this.getDefaults(),...e};checkArg("properties.layer",t.layer).isNotMissing();const{layer:i}=t;let r;if(i?.hasOwnProperty("listMode")&&(r=fromLayerListMode(i.listMode)),this.layerListSettings=this._createLayerListSettings({...r,...t.layerListSettings}),isLayer(i))checkArg("properties.layer",i).satisfies((e=>this._isSupportedLayer(e)),ERR_INVALID_LAYER_TYPE),this._setLayer(i);else if(i){if(i.$portalItem){const e=i.$portalItem;this._portalItem=toPortalItem(e)}this._deferredLayerProperties=i}this._sublayerExtensions=this._createSublayerExtensionCollection(),this.allSublayerExtensions=new AllSublayerExtensionCollectionImpl(this),this.watch("parentLayerExtension.isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible"))),this.watch("layer.sublayers",(()=>this.notifyChange("_sublayers")))}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 DefaultArcGISRequestHelper),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 initialVisibility(){return this._initialVisibility??this.layer?.visible??!1}get _layerSupportsHideChildren(){return this.supportsSublayers}get _sublayers(){if(this.supportsSublayers)return this.layer?this.layer.sublayers:void 0}get dynamicallyAddedLayer(){return this._dynamicallyAddedLayer}set dynamicallyAddedLayer(e){this._dynamicallyAddedLayer=e}get sublayersAreReadOnly(){return!0}static create(e){if(!LayerExtension.factory)throw new InvalidOperationError("Cannot create layer extension: no layer extension factory has been registered.");return LayerExtension.factory.create(e)}static async fromPortalItem(e,t){checkArg("portalItemLike",e).isNotMissing();const i=t??{};checkArg("layerExtensionProperties.layer",i.layer).satisfies((e=>!isLayer(e)));const r={...i.layer};checkArg("layerExtensionProperties.layer.$ref",r.$ref).satisfies((e=>null==e));const s=new DefaultArcGISRequestHelper,a=toPortalItem(e);let n;await load(a);const o=a.typeKeywords??"";if("Map Service"===a.type)n=o.includes("Tiled")||o.includes("Hosted Service")?"ArcGISTiledMapServiceLayer":"ArcGISMapServiceLayer";else if("Feature Service"===a.type)n="ArcGISFeatureLayer";else if("Image Service"===a.type){const e=await LayerExtension._getLayerData(a.url,s);e.cacheType?"Map"===e.cacheType?n="ArcGISTiledImageServiceLayer":("Elevation"===e.cacheType||o.includes("Elevation 3D Layer"))&&(n="ArcGISTiledElevationServiceLayer"):n=e.singleFusedMapCache||e.tileInfo||o.includes("Hosted Service")?"ArcGISTiledImageServiceLayer":"ArcGISImageServiceLayer"}else if("CSV"===a.type)n="CSV";else if("KML"===a.type)n="KML";else if("Scene Service"===a.type)o.includes("3DObject")||o.includes("Point")?n="ArcGISSceneServiceLayer":o.includes("IntegratedMesh")?n="IntegratedMeshLayer":o.includes("PointCloud")?n="PointCloudLayer":o.includes("Building")&&(n="BuildingSceneLayer");else if("Stream Service"===a.type)n="ArcGISStreamLayer";else if("Vector Tile Service"===a.type)n="VectorTileLayer";else if("Feature Collection"===a.type){n="ArcGISFeatureLayer";const e=await a.fetchData();r.featureCollection=e}else if("WMTS"===a.type){n="WebTiledLayer";const e=await a.fetchData();Object.assign(r,e)}else if("WMS"===a.type){n="WMS";const e=await a.fetchData();Object.assign(r,e)}if(!n)throw new ArgumentError("portalItem","Could not determine correct type of LayerExtension to create from portal item");if(r.layerType&&r.layerType!==n)throw new ArgumentError("layerExtensionProperties.layer.layerType","Layer type defined in layer properties does not match layer type from portal item");return r.layerType=n,r.$portalItem=a,i.layer=r,LayerExtension.create(i)}static _matchesRef(e,t){if(!e||!t)return!1;const i=t.$ref;return"string"==typeof i?e.id===i||e.title===i:!!i&&(e.id===i.id||e.title===i.title&&!i.path)}static async _getLayerData(e,t){const i=await t.request(e,{query:{f:"json"}});if(!i||!i.data)throw new Error(`Response to request for url ${e} was invalid.`);return i.data}getFeatures(e,t){if(!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);return super.getFeatures(e,t)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.addFeatures(e,t)}async updateFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.updateFeatures(e,t)}async deleteFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.deleteFeatures(e,t)}async _createBackingLayer(){this._portalItem||this.layer||this._deferredLayerProperties&&this._deferredLayerProperties.$ref?!this.layer&&this._portalItem&&this._setLayer(await this._createLayer(this.getDefaults().layer)):(this._setLayer(await this._createLayer(this._deferredLayerProperties)),checkArg("properties.layer",this._layer).satisfies((e=>this._isSupportedLayer(e)),ERR_INVALID_LAYER_TYPE),this._deferredLayerProperties=void 0)}_setMapExtension(e){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(),this.notifyChange("mapExtension")}_setBasemapExtension(e){this._basemapExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),this.notifyChange("basemapExtension")}_setGroundExtension(e){this._groundExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),this.notifyChange("groundExtension")}_setParentLayerExtension(e){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(),this.notifyChange("parentLayerExtension")}_resolveLayer(e){if(this.layer||!this._deferredLayerProperties)return;const t=e=>LayerExtension._matchesRef(e,this._deferredLayerProperties);let i;e?i=e.find(t):this.basemapExtension?.basemap?(i=this.basemapExtension.basemap.baseLayers.find(t),i=i||this.basemapExtension.basemap.referenceLayers.find(t)):this.groundExtension?.ground?i=this.groundExtension.ground.layers.find(t):this.parentLayerExtension?.layer?i=this.parentLayerExtension.layer.layers.find(t):this.mapExtension&&(i=this.mapExtension.map.layers.find(t)),i&&this._isSupportedLayer(i)&&(this._setLayer(i),this._originalRef=this._deferredLayerProperties.$ref,this._deferredLayerProperties.$portalItem&&getLayerXLogger().warn("LayerExtension defined with both $ref and $portalItem. Ignoring $portalItem."))}async _switchLayer(e){if(e===this.layer)return;checkArg("newLayer",e).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),ERR_INVALID_LAYER_TYPE),this.isInitialized&&await load(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),this._setLayer(e);const i=[];if(this._sublayers){const e=this._sublayers.filter((e=>t.has(e.id))).toArray();i.push(...e.map((async e=>{const i=t.get(e.id);await i._switchSublayer(e),this._sublayerExtensions._register(i)})))}this.isInitialized&&i.push(this._initializeChildren()),await Promise.all(i)}_getProjectWebmapJSON(){if(!this.layer)return;let e=PortalLayerBase.fromEsriApiLayer(this.layer);if(!this.dynamicallyAddedLayer){const{id:t,title:i,layerType:r,visibility:s,opacity:a}=e;e={id:t,title:i,layerType:r,visibility:s,opacity:a}}return e}async _onDestroy(){this._watchHandles.forEach((e=>e?.remove())),await Promise.all(this.sublayerExtensions.toArray().map((e=>e.destroy()))),await super._onDestroy()}_getSerializableProperties(){return{...super._getSerializableProperties(),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=>{_assignSublayerExtensions(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=PortalLayerBase.getLayerType(this._layer),t=this._getSerializableRefLayerProperties();return{$ref:this._originalRef||{id:this._layer.id,title:this._layer.title,subtype:this._getSerializableLayerType()},layerType:e,...t}}return PortalLayerBase.fromEsriApiLayer(this.layer)}return this._deferredLayerProperties?deepClone(this._deferredLayerProperties):void 0},isDefault:()=>{throw new Error("Missing implementation for _getSerializableProperties() > layer > default. Subclasses of LayerExtension must implement this.")},deserialize:e=>{if(isLayer(e)){if(e!==this.layer)throw new Error("Property 'layer' is read-only.")}else e&&(this._layer?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 InvalidOperationError(ERR_ADD_SUBLAYERX_NOT_SUPPORTED);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 load(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 InvalidOperationError(`No layer found matching reference "${"string"==typeof e?e:JSON.stringify(e)}".`):new InvalidOperationError("Cannot resolve layer reference: missing parent.")}this._deferredLayerProperties&&(await this._applyLayerProperties(this._deferredLayerProperties,this.layer),this._deferredLayerProperties=void 0),await this._initializeLayer(),await load(this.layer),this.supportsSublayers&&!this.layer.sublayers&&this.layer._set("sublayers",new Collection),this._initialVisibility=this.layer.visible,this._sublayerExtensions.onParentInitialized()}async _postInitialize(){await super._postInitialize(),this.layerListSettings.onLayerExtensionInitialized(),this._watchHandles.push(onCollectionPropertyChange(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 InvalidOperationError("Cannot use this type of layer extension with a PortalItem.")}async _initializeLayer(){}_createLayerListSettings(e){return new LayerExtensionLayerListSettings(e,this)}_createSublayerExtensionCollection(){return new SublayerExtensionCollectionImpl(this)}_capabilities(){return DEFAULT_CAPABILITIES}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}async _createLayer(e){return PortalLayerBase.toEsriApiLayer(e)}_applyLayerProperties(e,t){checkArg("layerJson",e).isNotMissing();const i=e.layerType||e.type;return checkArg("layerJson.layerType",i).satisfies((e=>!e||e===this.getDefault("layer")?.layerType),ERR_LAYER_TYPE_MISMATCH),checkArg("layer",t).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),ERR_LAYER_TYPE_MISMATCH),PortalLayerBase.applyToEsriApiLayer(e,t)}_setLayer(e){if(this._layer=e,e.watch("visible",this._onVisibleChanged),this.layer.watch("minScale",(()=>this.notifyChange("effectiveMinScale"))),this.layer.watch("maxScale",(()=>this.notifyChange("effectiveMaxScale"))),this.layer.watch("title",(()=>this.notifyChange("title"))),this.supportsSublayers)if(this._sublayers)this._setupSublayersHandles();else{const t=e.watch("sublayers",(()=>{this._setupSublayersHandles(),t.remove()}),!0)}this.notifyChange("layer"),this.notifyChange("title"),this.notifyChange("effectiveMinScale"),this.notifyChange("effectiveMaxScale"),this.notifyChange("isEffectivelyVisible")}_setupSublayersHandles(){this._sublayers.on("change",this._onSublayersChange),watchEach(this._sublayers,"visible",this._onSublayersSublayerVisibleChanged)}_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 SublayerExtensionCollectionImpl extends SublayerExtensionCollectionBase{constructor(e){super(e,"_sublayers"),this._layerExtension=e}add(e,t){if(checkArg("sublayerX",e).isNotMissing(),!this._layerExtension.supportsSublayers)throw new InvalidOperationError(ERR_ADD_SUBLAYERX_NOT_SUPPORTED);const i=e.sublayer?e.sublayer.layer:void 0;i&&i!==this._layerExtension.layer&&i.sublayers.remove(e.sublayer),super.add(e,t)}}class AllSublayerExtensionCollectionImpl extends ReadOnlyInitializableCollection{constructor(e){super(),this._layerExtension=e}get _collection(){return this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions))}findById(e){return checkArg("id",e).isNotMissing(),this.find((t=>t.id===e))}findBySublayerId(e){return checkArg("id",e).isNotMissing(),this.find((t=>t.sublayer.id===e))}forSublayer(e){return checkArg("sublayer",e).isNotMissing(),this.findBySublayerId(e.id)}emit(e,t){if("change"===e){const i=new Collection;i.addMany(t.added);const r=i.flatten((e=>e.sublayerExtensions)).toArray(),s=new Collection;s.addMany(t.removed);const a=s.flatten((e=>e.sublayerExtensions)).toArray(),n=new Collection;n.addMany(t.moved);const o=n.flatten((e=>e.sublayerExtensions)).toArray();return super.emit(e,{added:r,removed:a,moved:o,target:this})}return super.emit(e,t)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.sublayer}}let LayerExtensionLayerListSettings=class extends ExtensionBaseLayerListSettings{get _esriLayer(){return this._extension.layer}get _listModePath(){return"layer.listMode"}get _supportsChildren(){return this._extension.supportsSublayers}};LayerExtensionLayerListSettings=__decorate([serializable],LayerExtensionLayerListSettings);export{LayerExtensionLayerListSettings};let LayerExtensionSchema=class extends Schema{constructor(e){if(super(),this._layerBindings=new Map,this._layerExtension=e,this._bindSettingsToLayerProperties(),e.layer)this._onLayerResolved(e.layer);else{const t=e.watch("layer",(()=>{this._onLayerResolved(e.layer),t.remove()}),!0)}}_getPropertyBindings(){return{}}_getSetting(e,t){if(this._layerBindings.has(e)){let t=this._layerBindings.get(e);if("string"==typeof t&&(t={property:t}),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)){let i=this._layerBindings.get(e);if("string"==typeof i&&(i={property:i}),i.readonly||i.hasOwnProperty("value"))throw new InvalidOperationError(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 Object.keys(e)){let i=e[t];"string"==typeof i&&(i={property:i}),this._layerBindings.set(t,i),i.hasOwnProperty("value")||this._layerExtension.watch(`layer.${i.property}`,(()=>this.notifyChange(t)),!i.hasOwnProperty("sync")||i.sync)}}_onLayerResolved(e){for(const t of this._layerBindings.keys())this.isModified(t)&&(e[t]=this[t],this.reset(t))}};LayerExtensionSchema=__decorate([serializable],LayerExtensionSchema);export{LayerExtensionSchema};export class ArrayWrappedCollection extends CollectionProxy{constructor(e,t){if(super(),this._layerExtension=e,this._property=t,this._layerProperty=e instanceof LayerExtension?"layer":"sublayer",e[this._layerProperty])this._onLayerResolved(e[this._layerProperty]);else{this._collection=new Collection;const t=e.watch(this._layerProperty,(()=>{const i=e[this._layerProperty];this.length&&(i[this._property]=this.toArray()),this._onLayerResolved(i),t.remove()}),!0)}}add(e,t){const i=this._layerExtension[this._layerProperty];i&&!i[this._property]&&(i[this._property]=[],this._collection=wrapArrayWithCollection(i[this._property])),super.add(e,t)}_onLayerResolved(e){this._collection=wrapArrayWithCollection(e[this._property]||[]),e.watch(this._property,(()=>{this._collection=wrapArrayWithCollection(e[this._property]||[])}),!0)}}export function _assignLayerExtensions(e,t){return compare(e,t,{onNew:(t,i)=>{e.add(t instanceof LayerExtension?t:LayerExtension.create(t),isLayerRef(t)?void 0:i)},onMatch:(t,i,r,s)=>{i instanceof LayerExtension||t.assignProperties(i),r===s||isLayerRef(i)||e.reorder(t,s)},onMissing:t=>{(hasMmapLayer([t])||isGroupLayerExtension(t)&&0===t.layerExtensions.toArray().length)&&e.remove(t)},equals:(e,t)=>t instanceof LayerExtension?t===e:!!LayerExtension._matchesRef(e.layer,t.layer)||e.id===t.id})}function wrapArrayWithCollection(e){const t=new Collection;return Object.defineProperty(t,"_items",{get:()=>e}),Object.defineProperty(t,"length",{get:()=>e.length,set:t=>e.length=t}),t}function getLayerXLogger(){return getLogger("geocortex.api.mapping.LayerExtension")}function isLayerRef(e){return e instanceof LayerExtension?!!e._deferredLayerProperties?.$ref:!isLayer(e.layer)&&!!e.layer?.$ref}
|
|
@@ -216,6 +216,10 @@ export declare abstract class SublayerExtension<TProperties extends SublayerExte
|
|
|
216
216
|
* The effective full extent of this sublayer extension.
|
|
217
217
|
*/
|
|
218
218
|
get effectiveFullExtent(): Extent;
|
|
219
|
+
/**
|
|
220
|
+
* Indicates the initial layer visibility.
|
|
221
|
+
*/
|
|
222
|
+
get initialVisibility(): boolean;
|
|
219
223
|
/**
|
|
220
224
|
* See {@link SublayerExtension.effectiveFullExtent}.
|
|
221
225
|
*/
|
|
@@ -231,6 +235,7 @@ export declare abstract class SublayerExtension<TProperties extends SublayerExte
|
|
|
231
235
|
private readonly _sublayerExtensions;
|
|
232
236
|
private _layerExtension;
|
|
233
237
|
private _parentSublayerExtension;
|
|
238
|
+
private _initialVisibility;
|
|
234
239
|
private _sublayer;
|
|
235
240
|
private _visibilityMode;
|
|
236
241
|
private _deferredSublayerProperties;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{isSublayerExtension,ItemType}from"../ItemType.js";import{FeatureSourceBase}from"../data/FeatureSourceBase.js";import{Schema}from"../data/Schema.js";import{serializable}from"../support/Serializable.js";import{isBuildingComponentSublayer,isBuildingGroupSublayer,isKMLSublayer,isMapImageSublayer,isTileLayer,isWMSSublayer,isWMTSSublayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{compare}from"../utilities/collection.js";import{load}from"../utilities/esri.js";import{getLogger}from"../utilities/log.js";import{parse}from"../utilities/number.js";import{deepClone}from"../utilities/object.js";import{onCollectionPropertyChange,watchCollectionPropertyEach}from"../utilities/watch.js";import{fromLayerListMode,LayerListSettings}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase}from"./support/_SublayerExtensionCollection.js";const log=getLogger("SublayerExtension"),ERR_INVALID_SUBLAYER_TYPE="Invalid type of sublayer for this type of sublayer extension.",ERR_FEATURES_NOT_SUPPORTED="This type of layer does not have features.",ERR_SUBLAYERX_NOT_SUPPORTED="This type of sublayer extension cannot have child sublayer extensions.",DEFAULT_CAPABILITIES=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1});export function getSublayerType(e){if(isMapImageSublayer(e))return isTileLayer(e?.layer)?"ArcGISTiledSublayer":"ArcGISMapServiceSublayer";if(isKMLSublayer(e))return"KMLSublayer";if(isWMTSSublayer(e))return"WMTSSublayer";if(isWMSSublayer(e))return"WMSSublayer";if(isBuildingComponentSublayer(e))return"BuildingComponentSublayer";if(isBuildingGroupSublayer(e))return"BuildingGroupSublayer";throw new Error(`Unknown sublayer type for ESRI sublayer: ${e}`)}export class SublayerExtension extends FeatureSourceBase{constructor(e){super(e),this._itemType=ItemType.SUBLAYER_EXTENSION,this._watchHandles=[],this._onSublayerAddedPostInitialize=async e=>{try{await e.initialize()}catch(t){log.error({message:`Error occurred while initializing sublayer extension for sublayer '${e.title??e.sublayer.id??e.id}'.`,error:t})}},this._onSetSublayerVisible=e=>{if("inherited"===this.visibilityMode&&this.supportsSublayers&&this.sublayerExtensions)for(const t of this.sublayerExtensions.toArray())t.sublayer&&t.canToggleVisibility&&(t.sublayer.visible=e);this.notifyChange("isEffectivelyVisible")},this._onSetSublayersSublayerVisible=(e,t,i,s)=>{e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(s)},this._onSublayersChange=e=>{e.added?.length&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(e.added[e.added.length-1])};const t=e||{};this._visibilityMode=this.canToggleVisibility?"independent":"inherited",this._sublayerExtensions=this._createSublayerExtensionCollection();const i=t.sublayer;let s;i?.hasOwnProperty("listMode")&&(s=fromLayerListMode(i.listMode)),this.layerListSettings=this._createLayerListSettings({...s,...t.layerListSettings}),isSublayer(i)?(checkArg("properties.sublayer",i).satisfies((e=>this._isSupportedSublayer(e)),ERR_INVALID_SUBLAYER_TYPE),this._setSublayer(i)):i&&(this._deferredSublayerProperties=i),this.watch("parentSublayerExtension.isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible")))}get sublayer(){return this._sublayer}get layerExtension(){return this._layerExtension}get parentSublayerExtension(){return this._parentSublayerExtension}get hasFeatures(){return!1}get sublayerExtensions(){return this._sublayerExtensions}get renderer(){}get visibilityMode(){return this.canToggleVisibility?this._visibilityMode:"inherited"}set visibilityMode(e){checkArg("visibilityMode",e).satisfies((e=>this.canToggleVisibility||"inherited"===e),'Sublayers of this type only support a visibility mode of "inherited".'),this._visibilityMode=e,"exclusive"===e&&this._ensureAtMostOneChildSublayerVisible()}get capabilities(){return this._capabilities()}get effectiveMinScale(){const e=this.sublayer?this.sublayer.minScale:0;if(this.parentSublayerExtension){const t=this.parentSublayerExtension.effectiveMinScale||1/0;if(t<(e||1/0))return t}if(this.layerExtension){const t=this.layerExtension.effectiveMinScale||1/0;if(t<(e||1/0))return t}return e}get effectiveMaxScale(){const e=this.sublayer?this.sublayer.maxScale:0;return this.parentSublayerExtension&&this.parentSublayerExtension.effectiveMaxScale>e?this.parentSublayerExtension.effectiveMaxScale:this.layerExtension&&this.layerExtension.effectiveMaxScale>e?this.layerExtension.effectiveMaxScale:e}get isEffectivelyVisible(){const e=!!this.sublayer&&this.sublayer.visible;return this.parentSublayerExtension?this.parentSublayerExtension.isEffectivelyVisible&&e:this.layerExtension?this.layerExtension.isEffectivelyVisible&&e:e}get title(){return this.sublayer?.title??("string"==typeof this._deferredSublayerProperties?.$ref||"number"==typeof this._deferredSublayerProperties?.$ref?this._deferredSublayerProperties?.$ref.toString():this._deferredSublayerProperties?.$ref?.title??this._deferredSublayerProperties?.$ref?.id.toString())??"Sublayer"}get supportsSublayers(){return!1}get canToggleVisibility(){return!0}get canChangeOpacity(){return!0}get canChangeScale(){return!0}get canChangeRenderer(){return!1}get canChangeLabels(){return!1}get _layerSupportsHideChildren(){return!1}get _sublayers(){if(this.supportsSublayers)return this.sublayer?.sublayers}get effectiveFullExtent(){return this._effectiveFullExtent?this._effectiveFullExtent:this.parentSublayerExtension?this.parentSublayerExtension.effectiveFullExtent:this.layerExtension?this.layerExtension.effectiveFullExtent:void 0}static create(e){if(!SublayerExtension.factory)throw new InvalidOperationError("Cannot create sublayer extension: no sublayer extension factory has been registered.");return SublayerExtension.factory.create(e)}static _matchesRef(e,t,i){if(!e||!t)return!1;let s=t.$ref;if("string"==typeof s){const e=parse(s);s={id:isNaN(e)?s:e,title:s}}else"number"==typeof s&&(s={id:s});return"both"===i?e.id===s.id&&e.title===s.title:"by-id"===i?e.id===s.id:"by-title"===i&&e.title===s.title}getFeatures(e,t){if(!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);return super.getFeatures(e,t)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.addFeatures(e,t)}async updateFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.updateFeatures(e,t)}async deleteFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.deleteFeatures(e,t)}_resolveSublayer(){if(this._sublayer||!this._deferredSublayerProperties||!this.layerExtension||!this.layerExtension.layer||!this.layerExtension.layer.sublayers)return;const e=e=>t=>SublayerExtension._matchesRef(t,this._deferredSublayerProperties,e),t=this.layerExtension.layer.sublayers.flatten((e=>e.sublayers));let i=t.find(e("both"));if(i||(i=t.find(e("by-title"))),i||(i=t.find(e("by-id"))),i&&this._isSupportedSublayer(i)){this._setSublayer(i);const e={sublayer:this._deferredSublayerProperties};this.assignProperties(e),this._originalRef=this._deferredSublayerProperties.$ref,this._deferredSublayerProperties=void 0}}_setLayerExtension(e){const t=this.layerExtension;this._layerExtension=e,this.layerExtension&&(this.layerExtension.watch("effectiveMinScale",(()=>this.notifyChange("effectiveMinScale"))),this.layerExtension.watch("effectiveMaxScale",(()=>this.notifyChange("effectiveMaxScale"))),this.layerExtension.watch("isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible")))),this._parentSublayerExtension||(t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=void 0)),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),this.taskSettings.parent||(this.taskSettings.parent=e.taskSettings))),this._resolveSublayer(),this.notifyChange("layerExtension"),this._sublayerExtensions.onLayerExtensionChanged()}_setParentSublayerExtension(e){const t=this._parentSublayerExtension;this._parentSublayerExtension=e,this.parentSublayerExtension&&(this.parentSublayerExtension.watch("effectiveMinScale",(()=>this.notifyChange("effectiveMinScale"))),this.parentSublayerExtension.watch("effectiveMaxScale",(()=>this.notifyChange("effectiveMaxScale")))),t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=this.layerExtension?this.layerExtension.featureSettings.formatSettings:void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=this.layerExtension?this.layerExtension.taskSettings:void 0)),e&&((!this.featureSettings.formatSettings.parent||this.layerExtension&&this.featureSettings.formatSettings.parent===this.layerExtension.featureSettings.formatSettings)&&(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),(!this.taskSettings.parent||this.layerExtension&&this.taskSettings.parent===this.layerExtension.taskSettings)&&(this.taskSettings.parent=e.taskSettings)),this._resolveSublayer(),this.notifyChange("parentSublayerExtension")}async _switchSublayer(e){if(e===this.sublayer)return;checkArg("newSublayer",e).isNotMissing().satisfies((e=>e.id===this.sublayer.id),"Sublayer ID must match existing sublayer.").satisfies((e=>this._isSupportedSublayer(e)),ERR_INVALID_SUBLAYER_TYPE),this.isInitialized&&await load(e);const t=new Map;if(this.sublayer?.sublayers)for(const e of this.sublayer.sublayers.toArray())t.set(e.id,this.sublayerExtensions.forSublayer(e));this.canToggleVisibility&&(e.visible=this.sublayer.visible),this.canChangeOpacity&&(e.opacity=this.sublayer.opacity),this._setSublayer(e);const i=[];if(this.sublayer.sublayers){const e=this.sublayer.sublayers.filter((e=>t.has(e.id))).toArray();i.push(...e.map((async e=>{const i=t.get(e.id);await i._switchSublayer(e),this._sublayerExtensions._register(i)})))}this.isInitialized&&i.push(this._initializeChildren()),await Promise.all(i)}async _postInitialize(){await super._postInitialize(),this._watchHandles.push(onCollectionPropertyChange(this,"sublayer.sublayers",(async e=>{const t=(e.added??[]).map((e=>this.sublayerExtensions.forSublayer(e)));await Promise.all(t.map(this._onSublayerAddedPostInitialize))})))}async _onDestroy(){this._watchHandles.forEach((e=>e?.remove())),await Promise.all(this.sublayerExtensions.toArray().map((e=>e.destroy()))),await super._onDestroy()}_getSerializableProperties(){return{...super._getSerializableProperties(),iconUrl:"initial",visibilityMode:{serializeModes:["initial"],default:this.canToggleVisibility?"independent":"inherited"},layerListSettings:"initial",sublayerExtensions:{serializeModes:["initial","project"],serialize:()=>this.sublayerExtensions.map((e=>e.toItemUri())).toArray(),deserialize:e=>{_assignSublayerExtensions(this.sublayerExtensions,e,(e=>this._createSublayerExtension(e)))}},sublayer:{serializeModes:["initial","project"],serialize:()=>{if(this.sublayer){if(!this._layerExtension)return this._serializeSublayer(this._sublayer);{const e=getSublayerType(this._sublayer);if(this._originalRef)return{$ref:this._originalRef,$sublayerType:e};if(this._sublayer.title||this._sublayer.id)return{...this._createSublayerRef(),$sublayerType:e}}}else if(this._deferredSublayerProperties)return deepClone(this._deferredSublayerProperties)},deserialize:e=>{if(isSublayer(e)){if(e!==this.sublayer)throw new Error("Property 'sublayer' is read-only.")}else this._sublayer?this._applySublayerProperties(e,this._sublayer):this._deferredSublayerProperties&&(this._deferredSublayerProperties={...this._deferredSublayerProperties,...e})}},requestHelper:{serialize:!1}}}_createSublayerExtension(e){throw new InvalidOperationError(ERR_SUBLAYERX_NOT_SUPPORTED)}_createSchema(){return new SublayerSchema(this)}_createLayerListSettings(e){return new LayerListSettings(e)}_capabilities(){return DEFAULT_CAPABILITIES}async _onInitialize(){if(await super._onInitialize(),this._sublayer||this._deferredSublayerProperties&&this._deferredSublayerProperties?.$ref||(this._setSublayer(await this._createSublayer(this._deferredSublayerProperties)),this._deferredSublayerProperties=void 0),this._resolveSublayer(),!this._sublayer){const e=this._deferredSublayerProperties?.$ref;if(!this._layerExtension)throw new InvalidOperationError("Cannot resolve sublayer reference: missing parent layer extension.");throw new InvalidOperationError(`No sublayer found matching reference "${e}".`)}this._sublayerExtensions.onParentInitialized()}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}_createSublayerRef(){return{$ref:{id:this._sublayer.id,title:this._sublayer.title}}}_createSublayerExtensionCollection(){return new SubSublayerExtensionCollection(this)}_watchSublayerProperties(){this._watchHandles.push(this.sublayer.watch("minScale",(()=>this._notifyChange("effectiveMinScale")),!0),this.sublayer.watch("maxScale",(()=>this._notifyChange("effectiveMaxScale")),!0))}_setSublayer(e){this._sublayer=e,this._watchHandles.push(e.watch("visible",this._onSetSublayerVisible,!0)),this.supportsSublayers&&this._watchHandles.push(onCollectionPropertyChange(e,"sublayers",this._onSublayersChange,!0),watchCollectionPropertyEach(e,"sublayers","visible",this._onSetSublayersSublayerVisible,!0)),this._onSetSublayerVisible(this.sublayer.visible),"exclusive"===this.visibilityMode&&this._ensureAtMostOneChildSublayerVisible(),this._watchSublayerProperties(),this.notifyChange("sublayer"),this.notifyChange("title"),this.notifyChange("effectiveMinScale"),this.notifyChange("effectiveMaxScale"),this.notifyChange("isEffectivelyVisible")}_ensureAChildSublayerVisible(e){for(const t of this._sublayers.toArray())t!==e&&(t.visible=!1)}_ensureAtMostOneChildSublayerVisible(){this.sublayer&&this._sublayers&&this._ensureAChildSublayerVisible(this._sublayers.find((e=>e.visible)))}}let SublayerSchema=class extends Schema{constructor(e){super(),this._sublayerExtension=e}get spatialReference(){if(this._sublayerExtension.layerExtension)return this._sublayerExtension.layerExtension.schema.spatialReference}set spatialReference(e){throw new InvalidOperationError("Cannot set sublayer schema spatial reference.")}};SublayerSchema=__decorate([serializable],SublayerSchema);export{SublayerSchema};export class SubSublayerExtensionCollection extends SublayerExtensionCollectionBase{constructor(e){super(e,"sublayer.sublayers")}get _layerExtension(){return this._parent.layerExtension}add(e,t){if(checkArg("sublayerX",e).isNotMissing(),!this._parent.supportsSublayers)throw new InvalidOperationError(ERR_SUBLAYERX_NOT_SUPPORTED);e.sublayer&&this._parent.sublayer&&!this._parent.sublayer.sublayers&&(this._parent.sublayer.sublayers=[]),e.parentSublayerExtension&&e.parentSublayerExtension.sublayerExtensions.remove(e),super.add(e,t)}_onAdded(e){super._onAdded(e),e._setParentSublayerExtension(this._parent)}_onRemoved(e){super._onRemoved(e),e._setParentSublayerExtension(void 0)}}export function _assignSublayerExtensions(e,t,i){compare(e,t,{onNew:(t,s)=>{e.add(isSublayerExtension(t)?t:i(t),isSublayerRef(t)?void 0:s)},onMatch:(t,i,s,r)=>{isSublayerExtension(i)||t.assignProperties(i),s===r||isSublayerRef(i)||e.reorder(t,r)},equals:(e,t)=>isSublayerExtension(t)?t===e:!!SublayerExtension._matchesRef(e.sublayer,t.sublayer,"both")||e.id===t.id})}function isSublayer(e){return e&&"function"==typeof e.get}function isSublayerRef(e){return isSublayerExtension(e)?!!e._deferredSublayerProperties?.$ref:!isSublayer(e.sublayer)&&!!e.sublayer?.$ref}
|
|
1
|
+
import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{isSublayerExtension,ItemType}from"../ItemType.js";import{FeatureSourceBase}from"../data/FeatureSourceBase.js";import{Schema}from"../data/Schema.js";import{serializable}from"../support/Serializable.js";import{isBuildingComponentSublayer,isBuildingGroupSublayer,isKMLSublayer,isMapImageSublayer,isTileLayer,isWMSSublayer,isWMTSSublayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{compare}from"../utilities/collection.js";import{load}from"../utilities/esri.js";import{getLogger}from"../utilities/log.js";import{parse}from"../utilities/number.js";import{deepClone}from"../utilities/object.js";import{onCollectionPropertyChange,watchCollectionPropertyEach}from"../utilities/watch.js";import{fromLayerListMode,LayerListSettings}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase}from"./support/_SublayerExtensionCollection.js";const log=getLogger("SublayerExtension"),ERR_INVALID_SUBLAYER_TYPE="Invalid type of sublayer for this type of sublayer extension.",ERR_FEATURES_NOT_SUPPORTED="This type of layer does not have features.",ERR_SUBLAYERX_NOT_SUPPORTED="This type of sublayer extension cannot have child sublayer extensions.",DEFAULT_CAPABILITIES=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1});export function getSublayerType(e){if(isMapImageSublayer(e))return isTileLayer(e?.layer)?"ArcGISTiledSublayer":"ArcGISMapServiceSublayer";if(isKMLSublayer(e))return"KMLSublayer";if(isWMTSSublayer(e))return"WMTSSublayer";if(isWMSSublayer(e))return"WMSSublayer";if(isBuildingComponentSublayer(e))return"BuildingComponentSublayer";if(isBuildingGroupSublayer(e))return"BuildingGroupSublayer";throw new Error(`Unknown sublayer type for ESRI sublayer: ${e}`)}export class SublayerExtension extends FeatureSourceBase{constructor(e){super(e),this._itemType=ItemType.SUBLAYER_EXTENSION,this._watchHandles=[],this._onSublayerAddedPostInitialize=async e=>{try{await e.initialize()}catch(t){log.error({message:`Error occurred while initializing sublayer extension for sublayer '${e.title??e.sublayer.id??e.id}'.`,error:t})}},this._onSetSublayerVisible=e=>{if("inherited"===this.visibilityMode&&this.supportsSublayers&&this.sublayerExtensions)for(const t of this.sublayerExtensions.toArray())t.sublayer&&t.canToggleVisibility&&(t.sublayer.visible=e);this.notifyChange("isEffectivelyVisible")},this._onSetSublayersSublayerVisible=(e,t,i,s)=>{e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(s)},this._onSublayersChange=e=>{e.added?.length&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(e.added[e.added.length-1])};const t=e||{};this._visibilityMode=this.canToggleVisibility?"independent":"inherited",this._sublayerExtensions=this._createSublayerExtensionCollection();const i=t.sublayer;let s;i?.hasOwnProperty("listMode")&&(s=fromLayerListMode(i.listMode)),this.layerListSettings=this._createLayerListSettings({...s,...t.layerListSettings}),isSublayer(i)?(checkArg("properties.sublayer",i).satisfies((e=>this._isSupportedSublayer(e)),ERR_INVALID_SUBLAYER_TYPE),this._setSublayer(i)):i&&(this._deferredSublayerProperties=i),this.watch("parentSublayerExtension.isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible")))}get sublayer(){return this._sublayer}get layerExtension(){return this._layerExtension}get parentSublayerExtension(){return this._parentSublayerExtension}get hasFeatures(){return!1}get sublayerExtensions(){return this._sublayerExtensions}get renderer(){}get visibilityMode(){return this.canToggleVisibility?this._visibilityMode:"inherited"}set visibilityMode(e){checkArg("visibilityMode",e).satisfies((e=>this.canToggleVisibility||"inherited"===e),'Sublayers of this type only support a visibility mode of "inherited".'),this._visibilityMode=e,"exclusive"===e&&this._ensureAtMostOneChildSublayerVisible()}get capabilities(){return this._capabilities()}get effectiveMinScale(){const e=this.sublayer?this.sublayer.minScale:0;if(this.parentSublayerExtension){const t=this.parentSublayerExtension.effectiveMinScale||1/0;if(t<(e||1/0))return t}if(this.layerExtension){const t=this.layerExtension.effectiveMinScale||1/0;if(t<(e||1/0))return t}return e}get effectiveMaxScale(){const e=this.sublayer?this.sublayer.maxScale:0;return this.parentSublayerExtension&&this.parentSublayerExtension.effectiveMaxScale>e?this.parentSublayerExtension.effectiveMaxScale:this.layerExtension&&this.layerExtension.effectiveMaxScale>e?this.layerExtension.effectiveMaxScale:e}get isEffectivelyVisible(){const e=!!this.sublayer&&this.sublayer.visible;return this.parentSublayerExtension?this.parentSublayerExtension.isEffectivelyVisible&&e:this.layerExtension?this.layerExtension.isEffectivelyVisible&&e:e}get title(){return this.sublayer?.title??("string"==typeof this._deferredSublayerProperties?.$ref||"number"==typeof this._deferredSublayerProperties?.$ref?this._deferredSublayerProperties?.$ref.toString():this._deferredSublayerProperties?.$ref?.title??this._deferredSublayerProperties?.$ref?.id.toString())??"Sublayer"}get supportsSublayers(){return!1}get canToggleVisibility(){return!0}get canChangeOpacity(){return!0}get canChangeScale(){return!0}get canChangeRenderer(){return!1}get canChangeLabels(){return!1}get _layerSupportsHideChildren(){return!1}get _sublayers(){if(this.supportsSublayers)return this.sublayer?.sublayers}get effectiveFullExtent(){return this._effectiveFullExtent?this._effectiveFullExtent:this.parentSublayerExtension?this.parentSublayerExtension.effectiveFullExtent:this.layerExtension?this.layerExtension.effectiveFullExtent:void 0}get initialVisibility(){return this._initialVisibility??this.sublayer?.visible??!1}static create(e){if(!SublayerExtension.factory)throw new InvalidOperationError("Cannot create sublayer extension: no sublayer extension factory has been registered.");return SublayerExtension.factory.create(e)}static _matchesRef(e,t,i){if(!e||!t)return!1;let s=t.$ref;if("string"==typeof s){const e=parse(s);s={id:isNaN(e)?s:e,title:s}}else"number"==typeof s&&(s={id:s});return"both"===i?e.id===s.id&&e.title===s.title:"by-id"===i?e.id===s.id:"by-title"===i&&e.title===s.title}getFeatures(e,t){if(!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);return super.getFeatures(e,t)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.addFeatures(e,t)}async updateFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.updateFeatures(e,t)}async deleteFeatures(e,t){if(checkArg("features",e).isNotMissing(),!this.hasFeatures)throw new InvalidOperationError(ERR_FEATURES_NOT_SUPPORTED);await super.deleteFeatures(e,t)}_resolveSublayer(){if(this._sublayer||!this._deferredSublayerProperties||!this.layerExtension||!this.layerExtension.layer||!this.layerExtension.layer.sublayers)return;const e=e=>t=>SublayerExtension._matchesRef(t,this._deferredSublayerProperties,e),t=this.layerExtension.layer.sublayers.flatten((e=>e.sublayers));let i=t.find(e("both"));if(i||(i=t.find(e("by-title"))),i||(i=t.find(e("by-id"))),i&&this._isSupportedSublayer(i)){this._setSublayer(i);const e={sublayer:this._deferredSublayerProperties};this.assignProperties(e),this._originalRef=this._deferredSublayerProperties.$ref,this._deferredSublayerProperties=void 0}}_setLayerExtension(e){const t=this.layerExtension;this._layerExtension=e,this.layerExtension&&(this.layerExtension.watch("effectiveMinScale",(()=>this.notifyChange("effectiveMinScale"))),this.layerExtension.watch("effectiveMaxScale",(()=>this.notifyChange("effectiveMaxScale"))),this.layerExtension.watch("isEffectivelyVisible",(()=>this.notifyChange("isEffectivelyVisible")))),this._parentSublayerExtension||(t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=void 0)),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),this.taskSettings.parent||(this.taskSettings.parent=e.taskSettings))),this._resolveSublayer(),this.notifyChange("layerExtension"),this._sublayerExtensions.onLayerExtensionChanged()}_setParentSublayerExtension(e){const t=this._parentSublayerExtension;this._parentSublayerExtension=e,this.parentSublayerExtension&&(this.parentSublayerExtension.watch("effectiveMinScale",(()=>this.notifyChange("effectiveMinScale"))),this.parentSublayerExtension.watch("effectiveMaxScale",(()=>this.notifyChange("effectiveMaxScale")))),t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=this.layerExtension?this.layerExtension.featureSettings.formatSettings:void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=this.layerExtension?this.layerExtension.taskSettings:void 0)),e&&((!this.featureSettings.formatSettings.parent||this.layerExtension&&this.featureSettings.formatSettings.parent===this.layerExtension.featureSettings.formatSettings)&&(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),(!this.taskSettings.parent||this.layerExtension&&this.taskSettings.parent===this.layerExtension.taskSettings)&&(this.taskSettings.parent=e.taskSettings)),this._resolveSublayer(),this.notifyChange("parentSublayerExtension")}async _switchSublayer(e){if(e===this.sublayer)return;checkArg("newSublayer",e).isNotMissing().satisfies((e=>e.id===this.sublayer.id),"Sublayer ID must match existing sublayer.").satisfies((e=>this._isSupportedSublayer(e)),ERR_INVALID_SUBLAYER_TYPE),this.isInitialized&&await load(e);const t=new Map;if(this.sublayer?.sublayers)for(const e of this.sublayer.sublayers.toArray())t.set(e.id,this.sublayerExtensions.forSublayer(e));this.canToggleVisibility&&(e.visible=this.sublayer.visible),this.canChangeOpacity&&(e.opacity=this.sublayer.opacity),this._setSublayer(e);const i=[];if(this.sublayer.sublayers){const e=this.sublayer.sublayers.filter((e=>t.has(e.id))).toArray();i.push(...e.map((async e=>{const i=t.get(e.id);await i._switchSublayer(e),this._sublayerExtensions._register(i)})))}this.isInitialized&&i.push(this._initializeChildren()),await Promise.all(i)}async _postInitialize(){await super._postInitialize(),this._watchHandles.push(onCollectionPropertyChange(this,"sublayer.sublayers",(async e=>{const t=(e.added??[]).map((e=>this.sublayerExtensions.forSublayer(e)));await Promise.all(t.map(this._onSublayerAddedPostInitialize))})))}async _onDestroy(){this._watchHandles.forEach((e=>e?.remove())),await Promise.all(this.sublayerExtensions.toArray().map((e=>e.destroy()))),await super._onDestroy()}_getSerializableProperties(){return{...super._getSerializableProperties(),iconUrl:"initial",visibilityMode:{serializeModes:["initial"],default:this.canToggleVisibility?"independent":"inherited"},layerListSettings:"initial",sublayerExtensions:{serializeModes:["initial","project"],serialize:()=>this.sublayerExtensions.map((e=>e.toItemUri())).toArray(),deserialize:e=>{_assignSublayerExtensions(this.sublayerExtensions,e,(e=>this._createSublayerExtension(e)))}},sublayer:{serializeModes:["initial","project"],serialize:()=>{if(this.sublayer){if(!this._layerExtension)return this._serializeSublayer(this._sublayer);{const e=getSublayerType(this._sublayer);if(this._originalRef)return{$ref:this._originalRef,$sublayerType:e};if(this._sublayer.title||this._sublayer.id)return{...this._createSublayerRef(),$sublayerType:e}}}else if(this._deferredSublayerProperties)return deepClone(this._deferredSublayerProperties)},deserialize:e=>{if(isSublayer(e)){if(e!==this.sublayer)throw new Error("Property 'sublayer' is read-only.")}else this._sublayer?this._applySublayerProperties(e,this._sublayer):this._deferredSublayerProperties&&(this._deferredSublayerProperties={...this._deferredSublayerProperties,...e})}},requestHelper:{serialize:!1}}}_createSublayerExtension(e){throw new InvalidOperationError(ERR_SUBLAYERX_NOT_SUPPORTED)}_createSchema(){return new SublayerSchema(this)}_createLayerListSettings(e){return new LayerListSettings(e)}_capabilities(){return DEFAULT_CAPABILITIES}async _onInitialize(){if(await super._onInitialize(),this._sublayer||this._deferredSublayerProperties&&this._deferredSublayerProperties?.$ref||(this._setSublayer(await this._createSublayer(this._deferredSublayerProperties)),this._deferredSublayerProperties=void 0),this._resolveSublayer(),!this._sublayer){const e=this._deferredSublayerProperties?.$ref;if(!this._layerExtension)throw new InvalidOperationError("Cannot resolve sublayer reference: missing parent layer extension.");throw new InvalidOperationError(`No sublayer found matching reference "${e}".`)}this._initialVisibility=this.sublayer.visible,this._sublayerExtensions.onParentInitialized()}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}_createSublayerRef(){return{$ref:{id:this._sublayer.id,title:this._sublayer.title}}}_createSublayerExtensionCollection(){return new SubSublayerExtensionCollection(this)}_watchSublayerProperties(){this._watchHandles.push(this.sublayer.watch("minScale",(()=>this._notifyChange("effectiveMinScale")),!0),this.sublayer.watch("maxScale",(()=>this._notifyChange("effectiveMaxScale")),!0))}_setSublayer(e){this._sublayer=e,this._watchHandles.push(e.watch("visible",this._onSetSublayerVisible,!0)),this.supportsSublayers&&this._watchHandles.push(onCollectionPropertyChange(e,"sublayers",this._onSublayersChange,!0),watchCollectionPropertyEach(e,"sublayers","visible",this._onSetSublayersSublayerVisible,!0)),this._onSetSublayerVisible(this.sublayer.visible),"exclusive"===this.visibilityMode&&this._ensureAtMostOneChildSublayerVisible(),this._watchSublayerProperties(),this.notifyChange("sublayer"),this.notifyChange("title"),this.notifyChange("effectiveMinScale"),this.notifyChange("effectiveMaxScale"),this.notifyChange("isEffectivelyVisible")}_ensureAChildSublayerVisible(e){for(const t of this._sublayers.toArray())t!==e&&(t.visible=!1)}_ensureAtMostOneChildSublayerVisible(){this.sublayer&&this._sublayers&&this._ensureAChildSublayerVisible(this._sublayers.find((e=>e.visible)))}}let SublayerSchema=class extends Schema{constructor(e){super(),this._sublayerExtension=e}get spatialReference(){if(this._sublayerExtension.layerExtension)return this._sublayerExtension.layerExtension.schema.spatialReference}set spatialReference(e){throw new InvalidOperationError("Cannot set sublayer schema spatial reference.")}};SublayerSchema=__decorate([serializable],SublayerSchema);export{SublayerSchema};export class SubSublayerExtensionCollection extends SublayerExtensionCollectionBase{constructor(e){super(e,"sublayer.sublayers")}get _layerExtension(){return this._parent.layerExtension}add(e,t){if(checkArg("sublayerX",e).isNotMissing(),!this._parent.supportsSublayers)throw new InvalidOperationError(ERR_SUBLAYERX_NOT_SUPPORTED);e.sublayer&&this._parent.sublayer&&!this._parent.sublayer.sublayers&&(this._parent.sublayer.sublayers=[]),e.parentSublayerExtension&&e.parentSublayerExtension.sublayerExtensions.remove(e),super.add(e,t)}_onAdded(e){super._onAdded(e),e._setParentSublayerExtension(this._parent)}_onRemoved(e){super._onRemoved(e),e._setParentSublayerExtension(void 0)}}export function _assignSublayerExtensions(e,t,i){compare(e,t,{onNew:(t,s)=>{e.add(isSublayerExtension(t)?t:i(t),isSublayerRef(t)?void 0:s)},onMatch:(t,i,s,r)=>{isSublayerExtension(i)||t.assignProperties(i),s===r||isSublayerRef(i)||e.reorder(t,r)},equals:(e,t)=>isSublayerExtension(t)?t===e:!!SublayerExtension._matchesRef(e.sublayer,t.sublayer,"both")||e.id===t.id})}function isSublayer(e){return e&&"function"==typeof e.get}function isSublayerRef(e){return isSublayerExtension(e)?!!e._deferredSublayerProperties?.$ref:!isSublayer(e.sublayer)&&!!e.sublayer?.$ref}
|
package/package.json
CHANGED
package/portal/DrawingInfo.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import stableStringify from"safe-stable-stringify";import{Warning as EsriWarning}from"../support/_esriInternal.js";import{isCSVLayer,isFeatureLayer,isMapImageSublayer as isEsriSublayer,isPointCloudLayer,isSceneLayer,isStreamLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{LabelingInfo}from"./LabelingInfo.js";import{PointCloudRenderer}from"./PointCloudRenderer.js";import{Renderer}from"./Renderer.js";export var DrawingInfo;!function(e){e.applyToEsriApiLayer=async function(e,r){checkArg("json",e).isNotMissing(),checkArg("layer",r).isNotMissing(),(isFeatureLayer(r)||isSceneLayer(r)||isCSVLayer(r)||isStreamLayer(r)||isEsriSublayer(r))&&(e.hasOwnProperty("labelingInfo")&&e.labelingInfo&&(r.labelingInfo=[],e.labelingInfo.forEach((e=>{r.labelingInfo.push(LabelingInfo.toEsriApiLabelClass(e))}))),e.hasOwnProperty("showLabels")&&(r.labelsVisible=e.showLabels)),e.hasOwnProperty("renderer")
|
|
1
|
+
import stableStringify from"safe-stable-stringify";import{Warning as EsriWarning}from"../support/_esriInternal.js";import{isCSVLayer,isFeatureLayer,isMapImageSublayer as isEsriSublayer,isPointCloudLayer,isSceneLayer,isStreamLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{LabelingInfo}from"./LabelingInfo.js";import{PointCloudRenderer}from"./PointCloudRenderer.js";import{Renderer}from"./Renderer.js";export var DrawingInfo;!function(e){e.applyToEsriApiLayer=async function(e,r){if(checkArg("json",e).isNotMissing(),checkArg("layer",r).isNotMissing(),(isFeatureLayer(r)||isSceneLayer(r)||isCSVLayer(r)||isStreamLayer(r)||isEsriSublayer(r))&&(e.hasOwnProperty("labelingInfo")&&e.labelingInfo&&(r.labelingInfo=[],e.labelingInfo.forEach((e=>{r.labelingInfo.push(LabelingInfo.toEsriApiLabelClass(e))}))),e.hasOwnProperty("showLabels")&&(r.labelsVisible=e.showLabels)),e.hasOwnProperty("renderer")){let i=!0;if(e.renderer)if(isPointCloudLayer(r))r.renderer=await PointCloudRenderer.toEsriApiPointCloudRenderer(e.renderer);else{const n=Renderer.toEsriApiRenderer(e.renderer);n?r.renderer=n:i=!1}else r.renderer=void 0;i||r.loadWarnings.push(new EsriWarning("renderer:unsupported",`Renderers of type '${e.renderer.type||"unknown"}' are not supported`,{definition:e.renderer}))}e.hasOwnProperty("transparency")&&(r.opacity=1-e.transparency/100)},e.fromEsriApiLayer=function(e){checkArg("layer",e).isNotMissing();const r={};return isEsriSublayer(e)&&!e.layer?.capabilities?.exportMap?.supportsDynamicLayers||(e.renderer&&(isEsriSublayer(e)&&"map-layer"===e.source.type&&e.sourceJSON?.drawingInfo?.renderer&&stableStringify(e.renderer?.toJSON())===stableStringify(Renderer.toEsriApiRenderer(e.sourceJSON?.drawingInfo?.renderer).toJSON())||(r.renderer=Renderer.fromEsriApiRenderer(e.renderer))),void 0!==e.opacity&&isEsriSublayer(e)&&(r.transparency=100*(1-e.opacity)),e.labelingInfo&&e.labelingInfo.length&&(r.labelingInfo=[],e.labelingInfo.forEach((e=>{r.labelingInfo.push(LabelingInfo.fromEsriApiLabelClass(e))}))),void 0!==e.labelsVisible&&null!==e.labelsVisible&&(r.showLabels=e.labelsVisible)),r}}(DrawingInfo||(DrawingInfo={}));
|
package/portal/Renderer.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export declare namespace Renderer {
|
|
|
17
17
|
*
|
|
18
18
|
* @param rendererJson The renderer JSON to convert.
|
|
19
19
|
*/
|
|
20
|
-
function toEsriApiRenderer(rendererJson: Renderer): EsriRenderer;
|
|
20
|
+
function toEsriApiRenderer(rendererJson: Renderer): EsriRenderer | undefined;
|
|
21
21
|
/**
|
|
22
22
|
* Converts an Esri JavaScript API Renderer object to its ArcGIS Portal JSON
|
|
23
23
|
* representation.
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
/// <reference types="arcgis-js-api-extensions" />
|
|
2
|
+
import type EsriApiUtilityNetwork from "@arcgis/core/networks/UtilityNetwork";
|
|
3
|
+
export declare namespace UtilityNetwork {
|
|
4
|
+
/**
|
|
5
|
+
* Converts an ArcGIS Portal JSON representation of a UtilityNetwork object
|
|
6
|
+
* to its Esri JavaScript API equivalent.
|
|
7
|
+
*
|
|
8
|
+
* @param utilityNetwork The UtilityNetwork JSON to convert.
|
|
9
|
+
*/
|
|
10
|
+
function toEsriApiUtilityNetwork(utilityNetwork: UtilityNetwork): Promise<EsriApiUtilityNetwork>;
|
|
11
|
+
/**
|
|
12
|
+
* Converts an Esri JavaScript API UtilityNetwork object to its ArcGIS
|
|
13
|
+
* Portal JSON representation.
|
|
14
|
+
*
|
|
15
|
+
* @param utilityNetwork The UtilityNetwork object to convert.
|
|
16
|
+
*/
|
|
17
|
+
function fromEsriApiUtilityNetwork(utilityNetwork: EsriApiUtilityNetwork): UtilityNetwork;
|
|
18
|
+
}
|
|
1
19
|
/**
|
|
2
20
|
* Identifies the central object for utility network schema information to
|
|
3
21
|
* access utility-related functionality, such as tracing and querying
|
package/portal/UtilityNetwork.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{};
|
|
1
|
+
import{checkArg}from"../utilities/checkArg.js";export var UtilityNetwork;!function(t){t.toEsriApiUtilityNetwork=async function(t){checkArg("utilityNetworks",t).isNotMissing();const i=new(0,(await import("@arcgis/core/networks/UtilityNetwork")).default);return await i.read(t,{origin:"web-map"}),i},t.fromEsriApiUtilityNetwork=function(t){return checkArg("utilityNetworks",t).isNotMissing(),t.toJSON()}}(UtilityNetwork||(UtilityNetwork={}));
|
package/portal/WebMap.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ import type { OperationalLayer } from "./OperationalLayer.js";
|
|
|
12
12
|
import type { Presentation } from "./Presentation.js";
|
|
13
13
|
import { SpatialReference } from "./SpatialReference.js";
|
|
14
14
|
import type { Table } from "./Table.js";
|
|
15
|
-
import
|
|
15
|
+
import { UtilityNetwork } from "./UtilityNetwork.js";
|
|
16
16
|
import { Viewpoint as PortalViewpoint } from "./Viewpoint.js";
|
|
17
17
|
import { Widgets } from "./Widgets.js";
|
|
18
18
|
export declare namespace WebMap {
|
package/portal/WebMap.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import Viewpoint from"@arcgis/core/Viewpoint";import EsriWebMap from"@arcgis/core/WebMap";import EsriSpatialReference from"@arcgis/core/geometry/SpatialReference";import{geographicToWebMercator}from"@arcgis/core/geometry/support/webMercatorUtils";import EsriBookmark from"@arcgis/core/webmap/Bookmark";import InitialViewProperties from"@arcgis/core/webmap/InitialViewProperties";import{applyToEsriTable,toEsriApiTable}from"../data/Table.js";import{WellKnownBasemap}from"../support/esri.js";import{basemapsAreEquivalent,standardBasemaps}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{Collection,compareAsync}from"../utilities/collection.js";import{isPortalItem}from"../utilities/esri.js";import{isWebMap}from"../utilities/mapping.js";import{BaseMap}from"./BaseMap.js";import{toEsriApiGeometry}from"./Geometry.js";import{Item}from"./Item.js";import{LayerBase}from"./LayerBase.js";import{MapFloorInfo}from"./MapFloorInfo.js";import{SpatialReference}from"./SpatialReference.js";import{Viewpoint as PortalViewpoint}from"./Viewpoint.js";import{applyToEsriApiWidgetsObject,fromEsriApiWidgetsObject}from"./Widgets.js";export var WebMap;function readSourceVersion(e){const i=e.split("."),r=i[1];return{major:parseInt(i[0],10),minor:parseInt(r,10)}}function getInitialExtent(e,i){let r;const
|
|
1
|
+
import Viewpoint from"@arcgis/core/Viewpoint";import EsriWebMap from"@arcgis/core/WebMap";import EsriSpatialReference from"@arcgis/core/geometry/SpatialReference";import{geographicToWebMercator}from"@arcgis/core/geometry/support/webMercatorUtils";import EsriBookmark from"@arcgis/core/webmap/Bookmark";import InitialViewProperties from"@arcgis/core/webmap/InitialViewProperties";import{applyToEsriTable,toEsriApiTable}from"../data/Table.js";import{WellKnownBasemap}from"../support/esri.js";import{basemapsAreEquivalent,standardBasemaps}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{Collection,compareAsync}from"../utilities/collection.js";import{isPortalItem}from"../utilities/esri.js";import{isWebMap}from"../utilities/mapping.js";import{BaseMap}from"./BaseMap.js";import{toEsriApiGeometry}from"./Geometry.js";import{Item}from"./Item.js";import{LayerBase}from"./LayerBase.js";import{MapFloorInfo}from"./MapFloorInfo.js";import{SpatialReference}from"./SpatialReference.js";import{UtilityNetwork}from"./UtilityNetwork.js";import{Viewpoint as PortalViewpoint}from"./Viewpoint.js";import{applyToEsriApiWidgetsObject,fromEsriApiWidgetsObject}from"./Widgets.js";export var WebMap;function readSourceVersion(e){const i=e.split("."),r=i[1];return{major:parseInt(i[0],10),minor:parseInt(r,10)}}function getInitialExtent(e,i){let r;const t=e.initialViewProperties?.spatialReference,o=i?.extent||e.portalItem?.extent;return t&&o&&(r=r=t.isWebMercator?geographicToWebMercator(o):o.clone()),r}function processEsriApiLayers(e,i){i.operationalLayers=[];for(let r=0;r<e.length;r++)i.operationalLayers.push(LayerBase.fromEsriApiLayer(e.getItemAt(r)))}!function(e){async function i(e,i,r){if(checkArg("json",e).isNotMissing(),checkArg("map",i).isNotMissing(),isWebMap(i)){const t=i;if(e.hasOwnProperty("authoringApp")&&(t.authoringApp=e.authoringApp),e.hasOwnProperty("authoringAppVersion")&&(t.authoringAppVersion=e.authoringAppVersion),e.hasOwnProperty("bookmarks")&&(t.bookmarks.removeAll(),t.bookmarks.addMany((e.bookmarks??[]).map((e=>new EsriBookmark({name:e.name,thumbnail:e.thumbnail,viewpoint:(e.viewpoint&&Viewpoint.fromJSON(e.viewpoint))??new Viewpoint({targetGeometry:toEsriApiGeometry(e.extent)})}))))),e.hasOwnProperty("presentation"),i.initialViewProperties||(i.initialViewProperties=new InitialViewProperties),e.hasOwnProperty("spatialReference")?i.initialViewProperties.spatialReference=SpatialReference.toEsriApiSpatialReference(e.spatialReference):null===i.initialViewProperties.spatialReference&&(i.initialViewProperties.spatialReference=EsriSpatialReference.WebMercator),e.initialState?.viewpoint)i.initialViewProperties.viewpoint=PortalViewpoint.toEsriApiViewpoint(e.initialState.viewpoint);else if(e.hasOwnProperty("$initialViewpoint"))console.warn("The '$initialViewpoint' property has been deprecated as of August 2020 and will be removed in a future release. Use WebMap.initialState.viewpoint"),i.initialViewProperties.viewpoint=PortalViewpoint.toEsriApiViewpoint(e.$initialViewpoint);else{const e=getInitialExtent(t,r);e&&(i.initialViewProperties.viewpoint=new Viewpoint({targetGeometry:e}))}e.hasOwnProperty("mapFloorInfo")&&e.mapFloorInfo&&(i.floorInfo=MapFloorInfo.toEsriApiFloorInfo(e.mapFloorInfo)),e.hasOwnProperty("tables")&&e.tables&&await compareAsync(i.tables,e.tables,{onNew:async(e,r)=>{i.tables.add(await toEsriApiTable(e),r)},onMatch:async(e,r,t,o)=>{t!==o&&i.tables.reorder(e,o),await applyToEsriTable(r,e)},onMissing:e=>{i.tables.remove(e)},equals:(e,i)=>e.id===i.id||e.title===i.title}),e.hasOwnProperty("version")&&t._set("sourceVersion",readSourceVersion(e.version)),e.hasOwnProperty("widgets")&&(t.widgets=applyToEsriApiWidgetsObject(e.widgets,t.widgets)),e.hasOwnProperty("utilityNetworks")&&(t.utilityNetworks=t.utilityNetworks??new Collection,t.utilityNetworks.addMany(await Promise.all(e.utilityNetworks.map(UtilityNetwork.toEsriApiUtilityNetwork))))}const t=r?r.portal:void 0;e.hasOwnProperty("baseMap")&&(i.basemap&&basemapsAreEquivalent(i.basemap,e.baseMap)?await BaseMap.applyToEsriApiBasemap(e.baseMap,i.basemap,t):i.basemap=await BaseMap.toEsriApiBasemap(e.baseMap,t)),e.hasOwnProperty("operationalLayers")&&await LayerBase.applyToEsriApiLayers(i.layers,e.operationalLayers,t)}e.toEsriApiWebMap=async function(e,r){checkArg("json",e).isNotMissing();const t=new EsriWebMap,o={...e},a=[];let s;return o.version||(a.push("'version' -- assuming '2.8'"),o.version="2.8"),o.baseMap||(a.push("'baseMap' -- assuming 'topo-vector'"),o.baseMap=standardBasemaps[WellKnownBasemap.TOPO_VECTOR]),o.spatialReference||a.push("'spatialReference' -- assuming 'Web Mercator'"),a.length&&console.warn(`WebMap JSON is missing the following required properties: ${a.join(", ")}`),r&&(s=isPortalItem(r)?r:Item.toEsriApiPortalItem(r),await s.load()),await i(o,t,s),t},e.applyToEsriApiMap=i,e.fromEsriApiMap=function(e){checkArg("map",e).isNotMissing();const i={};if(isWebMap(e)){const r=e;r.hasOwnProperty("authoringApp")&&(i.authoringApp=r.authoringApp),r.hasOwnProperty("authoringAppVersion")&&(i.authoringAppVersion=r.authoringAppVersion),Collection.isCollection(r.bookmarks)&&(i.bookmarks=r.bookmarks.toArray().map((e=>({name:e.name,extent:e.extent?.toJSON(),viewpoint:e.viewpoint?.toJSON(),thumbnail:e.thumbnail})))),r.hasOwnProperty("sourceVersion")&&r.sourceVersion&&(i.version=`${r.sourceVersion.major}.${r.sourceVersion.minor}`),r.initialViewProperties?.spatialReference&&(i.spatialReference=SpatialReference.fromEsriApiSpatialReference(r.initialViewProperties.spatialReference)),r.initialViewProperties?.viewpoint&&(i.initialState={viewpoint:PortalViewpoint.fromEsriApiViewpoint(r.initialViewProperties.viewpoint)}),r.hasOwnProperty("floorInfo")&&r.floorInfo&&(i.mapFloorInfo=MapFloorInfo.fromEsriApiFloorInfo(r.floorInfo)),r.hasOwnProperty("tables")&&r.tables&&(i.tables=r.tables.toArray().map((e=>{const i=LayerBase.fromEsriApiLayer(e);return delete i.layerType,i}))),r.hasOwnProperty("widgets")&&(i.widgets=fromEsriApiWidgetsObject(r.widgets,i.widgets)),Collection.isCollection(r.utilityNetworks)&&(i.utilityNetworks=r.utilityNetworks.map(UtilityNetwork.fromEsriApiUtilityNetwork).toArray()),i.version=isNaN(r.version)?"2.6":r.version}return e.hasOwnProperty("basemap")&&e.basemap&&(i.baseMap=BaseMap.fromEsriApiBasemap(e.basemap)),processEsriApiLayers(e.layers,i),i}}(WebMap||(WebMap={}));
|
package/version.d.ts
CHANGED
package/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version="35.
|
|
1
|
+
export const version="35.8.0";
|