@vertigis/arcgis-extensions 35.2.0 → 35.3.2

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.
Files changed (98) hide show
  1. package/data/convert.js +1 -1
  2. package/docs/html/assets/search.js +1 -1
  3. package/docs/html/classes/data_FeatureStream.FeatureStream.html +1 -1
  4. package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerExtension.html +24 -21
  5. package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerSchema.html +1 -1
  6. package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtension.html +22 -19
  7. package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerSchema.html +1 -1
  8. package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtension.html +26 -23
  9. package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerSchema.html +2 -2
  10. package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtension.html +34 -31
  11. package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerReadOnlySchema.html +3 -3
  12. package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerExtension.html +31 -28
  13. package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerSchema.html +2 -2
  14. package/docs/html/classes/mapping_CSVLayerExtension.CSVLayerExtension.html +40 -40
  15. package/docs/html/classes/mapping_ElevationLayerExtension.ElevationLayerExtension.html +37 -34
  16. package/docs/html/classes/mapping_FeatureCollectionLayerExtension.FeatureCollectionLayerExtension.html +34 -31
  17. package/docs/html/classes/mapping_FeatureLayerExtension.FeatureLayerExtension.html +45 -45
  18. package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBase.html +37 -34
  19. package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerSchema.html +4 -4
  20. package/docs/html/classes/mapping_GeoRSSLayerExtension.GeoRSSLayerExtension.html +37 -34
  21. package/docs/html/classes/mapping_GraphicsLayerExtension.GraphicsLayerExtension.html +33 -30
  22. package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtension.html +34 -31
  23. package/docs/html/classes/mapping_ImageryLayerExtension.ImageryLayerExtension.html +37 -34
  24. package/docs/html/classes/mapping_ImageryTileLayerExtension.ImageryTileLayerExtension.html +35 -32
  25. package/docs/html/classes/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtension.html +38 -35
  26. package/docs/html/classes/mapping_KMLLayerExtension.KMLLayerExtension.html +35 -32
  27. package/docs/html/classes/mapping_KMLSublayerExtension.KMLSublayerExtension.html +28 -25
  28. package/docs/html/classes/mapping_MapImageLayerExtension.MapImageLayerExtension.html +36 -33
  29. package/docs/html/classes/mapping_MapImageSublayerExtension.MapImageSublayerExtension.html +22 -22
  30. package/docs/html/classes/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtension.html +39 -36
  31. package/docs/html/classes/mapping_PointCloudLayerExtension.PointCloudLayerExtension.html +37 -34
  32. package/docs/html/classes/mapping_SceneLayerExtension.SceneLayerExtension.html +40 -40
  33. package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerExtension.html +40 -40
  34. package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerSchema.html +7 -7
  35. package/docs/html/classes/mapping_TileLayerExtension.TileLayerExtension.html +33 -30
  36. package/docs/html/classes/mapping_TileSublayerExtension.TileSublayerExtension.html +23 -20
  37. package/docs/html/classes/mapping_UnsupportedLayerExtension.UnsupportedLayerExtension.html +38 -35
  38. package/docs/html/classes/mapping_VectorTileLayerExtension.VectorTileLayerExtension.html +36 -33
  39. package/docs/html/classes/mapping_WMSLayerExtension.WMSLayerExtension.html +35 -32
  40. package/docs/html/classes/mapping_WMSSublayerExtension.WMSSublayerExtension.html +27 -24
  41. package/docs/html/classes/mapping_WMTSLayerExtension.WMTSLayerExtension.html +34 -31
  42. package/docs/html/classes/mapping_WMTSSublayerExtension.WMTSSublayerExtension.html +28 -25
  43. package/docs/html/classes/mapping_WebTileLayerExtension.WebTileLayerExtension.html +39 -36
  44. package/docs/html/classes/mapping__LayerExtension.ArrayWrappedCollection.html +2 -2
  45. package/docs/html/classes/mapping__LayerExtension.LayerExtension.html +41 -38
  46. package/docs/html/classes/mapping__LayerExtension.LayerExtensionSchema.html +5 -5
  47. package/docs/html/classes/mapping__SublayerExtension.SubSublayerExtensionCollection.html +6 -6
  48. package/docs/html/classes/mapping__SublayerExtension.SublayerExtension.html +34 -31
  49. package/docs/html/classes/mapping__SublayerExtension.SublayerSchema.html +2 -2
  50. package/docs/html/classes/menus_MenuItem.MenuItem.html +3 -3
  51. package/docs/html/classes/utilities_asyncIterable.AsyncQueue.html +1 -1
  52. package/docs/html/enums/data_convert.GeometryFormat.html +7 -7
  53. package/docs/html/interfaces/data_convert.FromCsvOptions.html +13 -13
  54. package/docs/html/interfaces/data_convert.FromShapefileOptions.html +9 -9
  55. package/docs/html/interfaces/data_convert.FromXLSXOptions.html +12 -12
  56. package/docs/html/interfaces/data_convert.ToCsvOptions.html +13 -13
  57. package/docs/html/interfaces/data_convert.ToShapefileOptions.html +8 -8
  58. package/docs/html/interfaces/data_convert.ToXLSXOptions.html +10 -10
  59. package/docs/html/interfaces/portal_DrawingInfo.DrawingInfo-1.html +7 -7
  60. package/docs/html/interfaces/portal_LayerDefinition.FieldOverride.html +3 -3
  61. package/docs/html/interfaces/portal_LayerDefinition.LayerDefinition-1.html +48 -48
  62. package/docs/html/interfaces/portal_LayerDefinition.LayerDefinitionDefaults.html +8 -8
  63. package/docs/html/interfaces/portal_LayerDefinition.LayerTimeInfo.html +9 -9
  64. package/docs/html/interfaces/portal_LayerDefinition.OrderByClause.html +3 -3
  65. package/docs/html/interfaces/portal_LayerDefinition.TimeInfoExportOptions.html +4 -4
  66. package/docs/html/interfaces/portal_PointCloudLayer.PointCloudLayer-1.html +12 -4
  67. package/docs/html/modules/data_convert.html +6 -6
  68. package/docs/html/modules/mapping__LayerExtension.html +1 -1
  69. package/docs/html/modules/portal_DrawingInfo.DrawingInfo.html +3 -3
  70. package/docs/html/modules/portal_LayerDefinition.LayerDefinition.html +3 -3
  71. package/docs/html/modules/portal_LayerDefinition.LayerDefinitionCapabilities.html +6 -6
  72. package/docs/html/modules/portal_LayerDefinition.html +2 -2
  73. package/docs/html/modules/portal_PointCloudLayer.PointCloudLayer.html +4 -4
  74. package/docs/html/modules/version.html +1 -1
  75. package/mapping/CSVLayerExtension.d.ts +4 -0
  76. package/mapping/CSVLayerExtension.js +1 -1
  77. package/mapping/FeatureLayerExtension.d.ts +4 -0
  78. package/mapping/FeatureLayerExtension.js +1 -1
  79. package/mapping/MapImageSublayerExtension.d.ts +4 -0
  80. package/mapping/MapImageSublayerExtension.js +1 -1
  81. package/mapping/SceneLayerExtension.d.ts +4 -0
  82. package/mapping/SceneLayerExtension.js +1 -1
  83. package/mapping/StreamLayerExtension.d.ts +4 -0
  84. package/mapping/StreamLayerExtension.js +1 -1
  85. package/mapping/_LayerExtension.d.ts +5 -0
  86. package/mapping/_LayerExtension.js +1 -1
  87. package/mapping/_SublayerExtension.d.ts +5 -0
  88. package/mapping/_SublayerExtension.js +1 -1
  89. package/menus/MenuItem.d.ts +1 -1
  90. package/package.json +2 -3
  91. package/portal/DrawingInfo.d.ts +3 -1
  92. package/portal/DrawingInfo.js +1 -1
  93. package/portal/LayerDefinition.d.ts +2 -1
  94. package/portal/LayerDefinition.js +1 -1
  95. package/portal/PointCloudLayer.d.ts +17 -0
  96. package/portal/PointCloudLayer.js +1 -1
  97. package/version.d.ts +1 -1
  98. 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">&quot;35.2.0&quot;</span><span class="tsd-signature-symbol"> = &quot;35.2.0&quot;</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">
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">&quot;35.3.2&quot;</span><span class="tsd-signature-symbol"> = &quot;35.3.2&quot;</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>
@@ -31,6 +31,10 @@ export declare class CSVLayerExtension extends LayerExtension<CSVLayerExtensionP
31
31
  * The Esri CSVLayer object being extended.
32
32
  */
33
33
  get layer(): CSVLayer;
34
+ /**
35
+ * @inheritdoc
36
+ */
37
+ get canChangeLabels(): boolean;
34
38
  /**
35
39
  * @inheritdoc
36
40
  */
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{CSVLayer as PortalCSVLayer}from"../portal/CSVLayer.js";import{serializable}from"../support/Serializable.js";import{ReadOnlyCollection}from"../utilities/ReadOnlyCollection.js";import{isCSVLayer}from"../utilities/_layers.js";import{ArrayWrappedCollection,LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";import{PopupTemplateFeatureSettings}from"./support/PopupTemplateFeatureSettings.js";let CSVLayerExtension=class extends LayerExtension{get renderer(){return this.layer?.renderer}get hasFeatures(){return!0}get layer(){return super.layer}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{layerDefinition:r}=PortalCSVLayer.fromEsriApiCSVLayer(this.layer),{definitionExpression:t,drawingInfo:i}=r??{};return t&&(e.layerDefinition={...e.layerDefinition,definitionExpression:t}),i&&(e.layerDefinition={...e.layerDefinition,drawingInfo:i}),e}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"CSV"}}}}_isSupportedLayer(e){return isCSVLayer(e)}_createFeatureSettings(){return new PopupTemplateFeatureSettings(this)}_createSchema(){return new CSVLayerSchema(this)}};CSVLayerExtension=__decorate([serializable],CSVLayerExtension);export{CSVLayerExtension};let CSVLayerSchema=class extends LayerExtensionSchema{constructor(e){super(e),this._fieldsCollection=new ReadOnlyCollection(new ArrayWrappedCollection(e,"fields"))}get _fields(){return this._fieldsCollection}};CSVLayerSchema=__decorate([serializable],CSVLayerSchema);
1
+ import{__decorate}from"tslib";import{CSVLayer as PortalCSVLayer}from"../portal/CSVLayer.js";import{serializable}from"../support/Serializable.js";import{ReadOnlyCollection}from"../utilities/ReadOnlyCollection.js";import{isCSVLayer}from"../utilities/_layers.js";import{ArrayWrappedCollection,LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";import{PopupTemplateFeatureSettings}from"./support/PopupTemplateFeatureSettings.js";let CSVLayerExtension=class extends LayerExtension{get renderer(){return this.layer?.renderer}get hasFeatures(){return!0}get layer(){return super.layer}get canChangeLabels(){return!0}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{layerDefinition:r}=PortalCSVLayer.fromEsriApiCSVLayer(this.layer),{definitionExpression:t,drawingInfo:i}=r??{};return t&&(e.layerDefinition={...e.layerDefinition,definitionExpression:t}),i&&(e.layerDefinition={...e.layerDefinition,drawingInfo:i}),e}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"CSV"}}}}_isSupportedLayer(e){return isCSVLayer(e)}_createFeatureSettings(){return new PopupTemplateFeatureSettings(this)}_createSchema(){return new CSVLayerSchema(this)}};CSVLayerExtension=__decorate([serializable],CSVLayerExtension);export{CSVLayerExtension};let CSVLayerSchema=class extends LayerExtensionSchema{constructor(e){super(e),this._fieldsCollection=new ReadOnlyCollection(new ArrayWrappedCollection(e,"fields"))}get _fields(){return this._fieldsCollection}};CSVLayerSchema=__decorate([serializable],CSVLayerSchema);
@@ -67,6 +67,10 @@ export declare class FeatureLayerExtension<TProperties extends FeatureLayerExten
67
67
  * @inheritdoc
68
68
  */
69
69
  get renderer(): Renderer;
70
+ /**
71
+ * @inheritdoc
72
+ */
73
+ get canChangeLabels(): boolean;
70
74
  private _enableClientSideData;
71
75
  /**
72
76
  * @inheritdoc
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{config}from"../config.js";import{toAttachment}from"../data/Attachment.js";import{toGraphic}from"../data/Feature.js";import{FeatureSaveError}from"../data/FeatureSaveError.js";import{addAttachment,deleteAttachments}from"../data/support/attachments.js";import{FeatureLayer as FeatureLayerJson}from"../portal/FeatureLayer.js";import{Layer as PortalLayer}from"../portal/Layer.js";import{DefaultArcGISRequestHelper}from"../support/ArcGISRequestHelper.js";import{cancelify}from"../support/Cancellable.js";import{serializable}from"../support/Serializable.js";import{ArcGISRelationshipCollection}from"../support/_ArcGISRelationshipCollection.js";import{ReadOnlyCollection}from"../utilities/ReadOnlyCollection.js";import{Collection}from"../utilities/collection.js";import{isFeatureLayerExtension}from"../utilities/extensions.js";import{isFeatureLayer}from"../utilities/layers.js";import{isNumeric}from"../utilities/number.js";import{FeatureLayerExtensionBase,FeatureLayerSchema}from"./FeatureLayerExtensionBase.js";import{addOutFields}from"./support/layers.js";const ERR_INVALID_LAYER_TYPE="Cannot use feature layer that has a source collection and no url.",ERR_SCHEMA_READ_ONLY="This schema property is read-only.",ERR_HEATMAPS_NOT_SUPPORTED="Heatmap rendering has been disabled. They are not supported in this browser.";let FeatureLayerExtension=class extends FeatureLayerExtensionBase{get enableClientSideData(){return void 0===this._enableClientSideData?"cluster"===this.layer?.featureReduction?.type:this._enableClientSideData}set enableClientSideData(e){this._enableClientSideData=e,this._updateClientSideFields()}get renderer(){return this.layer?.renderer}async _addAttachment(e,r){return addAttachment(e,this.layer,r,{attachmentTypes:this.attachmentTypes})}async _deleteAttachments(e,r){return deleteAttachments(e,this.layer,r)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,attachmentTypes:["initial"],requestHelper:{...this._toPropertyDef(e.requestHelper),default:new DefaultArcGISRequestHelper({batchLayerRequests:!1})},enableClientSideData:{serializeModes:["initial"],isDefault:e=>e===!("cluster"!==this.layer?.featureReduction?.type)}}}_isSupportedLayer(e){return super._isSupportedLayer(e)&&!Collection.isCollection(e.source)}async _getAttachments(e){if(!this.layer?.capabilities?.data?.supportsAttachment)return[];const r=`${this._layerUrl}/${e.primaryKey}/attachments`,t=await this.requestHelper.request(r,{query:{f:"json"},ttl:0});return t?.data?.attachmentInfos?t.data.attachmentInfos.map((e=>toAttachment(e,r))):[]}async _addFeatures(e,r){const t=Array.from(e);if(0===t.length)return;const a=await this._applyEdits({addFeatures:t.map(toGraphic)},r);if(!a.addFeatureResults||a.addFeatureResults.length!==t.length)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");let i;if(a.addFeatureResults.forEach(((e,r)=>{if(e.error){i=i||new FeatureSaveError("Errors encountered when adding features.");const{primaryKey:a}=t[r];i.errors.set(a,new Error(`Failed to add feature with id ${a}. ${e.error.name} : ${e.error.message}`))}})),i)throw i}async _updateFeatures(e,r){const t=Array.from(e);if(0===t.length)return;const a=await this._applyEdits({updateFeatures:Array.from(e).map(toGraphic)},r);if(!a.updateFeatureResults||a.updateFeatureResults.length!==t.length)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");let i;if(a.updateFeatureResults.forEach(((e,r)=>{if(e.error){i=i||new FeatureSaveError("Errors encountered when updating features.");const{primaryKey:a}=t[r];i.errors.set(a,new Error(`Failed to update feature with id ${a}. ${e.error.name} : ${e.error.message}`))}})),i)throw i}async _deleteFeatures(e,r){if(0===e.length)return;const t=await this._applyEdits({deleteFeatures:e.map((e=>({objectId:e})))},r);if(!t.deleteFeatureResults)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");let a;if(t.deleteFeatureResults.forEach(((r,t)=>{if(r.error){a=a||new FeatureSaveError("Errors encountered when deleting features.");const i=e[t];a.errors.set(i,new Error(`Failed to delete feature with id ${i}. ${r.error.name} : ${r.error.message}`))}})),a)throw a}_createRelationships(){return new RelationshipCollection(this)}_createSchema(){return new FeatureLayerReadOnlySchema(this)}async _onInitialize(){if(this.layer&&!this._isSupportedLayer(this.layer))throw new InvalidOperationError(ERR_INVALID_LAYER_TYPE);if(await super._onInitialize(),await this.relationships.initialize(),this.layer.renderer&&"heatmap"===this.layer.renderer.type&&!config.heatmapsEnabled)throw new InvalidOperationError(ERR_HEATMAPS_NOT_SUPPORTED);this._updateClientSideFields(),this._watchHandles.push(this.watch("layer",(()=>{this._updateClientSideFields()}),!0)),this.notifyChange("capabilities")}_applyLayerProperties(e,r){if(FeatureLayerJson.isFeatureCollection(e))throw new InvalidOperationError(ERR_INVALID_LAYER_TYPE);return super._applyLayerProperties(e,r)}async _applyPortalItemProperties(e){if("Feature Service"!==e.type)throw new Error(`Cannot create Feature Layer from Portal item that has type: ${e.type}`);const r={layerType:"ArcGISFeatureLayer"};let{url:t}=e;t.match(".*MapServer/\\d{1,}/?$")||t.match(".*FeatureServer/\\d{1,}/?$")||(t=`${t}/0`),r.url=t,await FeatureLayerJson.applyToEsriApiLayer(r,this.layer);const a=await e.fetchData();if(a?.layers){const e=a.layers.find((e=>e.id===this.layer.layerId));e&&await PortalLayer.applyToEsriApiLayer(e,this.layer)}}_updateClientSideFields(){this.layer&&this._enableClientSideData&&addOutFields(this.layer,this.featureSettings.outFields)}async _applyEdits(e,r={}){const t=this.layer.applyEdits(e),a=await cancelify(t,r.cancelToken);if(!a)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");return a}get _layerUrl(){return isNumeric(this.layer.layerId)?`${this.layer.url}/${this.layer.layerId}`:this.layer.url}};FeatureLayerExtension=__decorate([serializable],FeatureLayerExtension);export{FeatureLayerExtension};let FeatureLayerReadOnlySchema=class extends FeatureLayerSchema{_setSetting(e,r){if(this._layerBindings.has(e))throw new InvalidOperationError(ERR_SCHEMA_READ_ONLY);super._setSetting(e,r)}_createFieldCollection(){return new ReadOnlyCollection(super._createFieldCollection())}_createTypeCollection(){return new ReadOnlyCollection(super._createTypeCollection())}};FeatureLayerReadOnlySchema=__decorate([serializable],FeatureLayerReadOnlySchema);class RelationshipCollection extends ArcGISRelationshipCollection{get _sourceUrl(){if(this._source.layer&&this._source.layer.url)return isNumeric(this._source.layer.layerId)?`${this._source.layer.url}/${this._source.layer.layerId}`:this._source.layer.url}get _sourceLayerId(){return this._source.layer?this._source.layer.layerId:void 0}_findRelatedSource(e){if(!this._source.mapExtension||!this._source.layer||!this._source.layer.url)return;const r=this._source.mapExtension.layerExtensions.initializedItems.find((r=>isFeatureLayerExtension(r)&&r.layer.url===this._source.layer.url&&r.layer.layerId===e));return r||this._source.mapExtension.tableExtensions.initializedItems.find((r=>isFeatureLayer(r.table)&&r.table.url===this._source.layer.url&&r.table.layerId===e))}}
1
+ import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{config}from"../config.js";import{toAttachment}from"../data/Attachment.js";import{toGraphic}from"../data/Feature.js";import{FeatureSaveError}from"../data/FeatureSaveError.js";import{addAttachment,deleteAttachments}from"../data/support/attachments.js";import{FeatureLayer as FeatureLayerJson}from"../portal/FeatureLayer.js";import{Layer as PortalLayer}from"../portal/Layer.js";import{DefaultArcGISRequestHelper}from"../support/ArcGISRequestHelper.js";import{cancelify}from"../support/Cancellable.js";import{serializable}from"../support/Serializable.js";import{ArcGISRelationshipCollection}from"../support/_ArcGISRelationshipCollection.js";import{ReadOnlyCollection}from"../utilities/ReadOnlyCollection.js";import{Collection}from"../utilities/collection.js";import{isFeatureLayerExtension}from"../utilities/extensions.js";import{isFeatureLayer}from"../utilities/layers.js";import{isNumeric}from"../utilities/number.js";import{FeatureLayerExtensionBase,FeatureLayerSchema}from"./FeatureLayerExtensionBase.js";import{addOutFields}from"./support/layers.js";const ERR_INVALID_LAYER_TYPE="Cannot use feature layer that has a source collection and no url.",ERR_SCHEMA_READ_ONLY="This schema property is read-only.",ERR_HEATMAPS_NOT_SUPPORTED="Heatmap rendering has been disabled. They are not supported in this browser.";let FeatureLayerExtension=class extends FeatureLayerExtensionBase{get enableClientSideData(){return void 0===this._enableClientSideData?"cluster"===this.layer?.featureReduction?.type:this._enableClientSideData}set enableClientSideData(e){this._enableClientSideData=e,this._updateClientSideFields()}get renderer(){return this.layer?.renderer}get canChangeLabels(){return!0}async _addAttachment(e,r){return addAttachment(e,this.layer,r,{attachmentTypes:this.attachmentTypes})}async _deleteAttachments(e,r){return deleteAttachments(e,this.layer,r)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,attachmentTypes:["initial"],requestHelper:{...this._toPropertyDef(e.requestHelper),default:new DefaultArcGISRequestHelper({batchLayerRequests:!1})},enableClientSideData:{serializeModes:["initial"],isDefault:e=>e===!("cluster"!==this.layer?.featureReduction?.type)}}}_isSupportedLayer(e){return super._isSupportedLayer(e)&&!Collection.isCollection(e.source)}async _getAttachments(e){if(!this.layer?.capabilities?.data?.supportsAttachment)return[];const r=`${this._layerUrl}/${e.primaryKey}/attachments`,t=await this.requestHelper.request(r,{query:{f:"json"},ttl:0});return t?.data?.attachmentInfos?t.data.attachmentInfos.map((e=>toAttachment(e,r))):[]}async _addFeatures(e,r){const t=Array.from(e);if(0===t.length)return;const a=await this._applyEdits({addFeatures:t.map(toGraphic)},r);if(!a.addFeatureResults||a.addFeatureResults.length!==t.length)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");let i;if(a.addFeatureResults.forEach(((e,r)=>{if(e.error){i=i||new FeatureSaveError("Errors encountered when adding features.");const{primaryKey:a}=t[r];i.errors.set(a,new Error(`Failed to add feature with id ${a}. ${e.error.name} : ${e.error.message}`))}})),i)throw i}async _updateFeatures(e,r){const t=Array.from(e);if(0===t.length)return;const a=await this._applyEdits({updateFeatures:Array.from(e).map(toGraphic)},r);if(!a.updateFeatureResults||a.updateFeatureResults.length!==t.length)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");let i;if(a.updateFeatureResults.forEach(((e,r)=>{if(e.error){i=i||new FeatureSaveError("Errors encountered when updating features.");const{primaryKey:a}=t[r];i.errors.set(a,new Error(`Failed to update feature with id ${a}. ${e.error.name} : ${e.error.message}`))}})),i)throw i}async _deleteFeatures(e,r){if(0===e.length)return;const t=await this._applyEdits({deleteFeatures:e.map((e=>({objectId:e})))},r);if(!t.deleteFeatureResults)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");let a;if(t.deleteFeatureResults.forEach(((r,t)=>{if(r.error){a=a||new FeatureSaveError("Errors encountered when deleting features.");const i=e[t];a.errors.set(i,new Error(`Failed to delete feature with id ${i}. ${r.error.name} : ${r.error.message}`))}})),a)throw a}_createRelationships(){return new RelationshipCollection(this)}_createSchema(){return new FeatureLayerReadOnlySchema(this)}async _onInitialize(){if(this.layer&&!this._isSupportedLayer(this.layer))throw new InvalidOperationError(ERR_INVALID_LAYER_TYPE);if(await super._onInitialize(),await this.relationships.initialize(),this.layer.renderer&&"heatmap"===this.layer.renderer.type&&!config.heatmapsEnabled)throw new InvalidOperationError(ERR_HEATMAPS_NOT_SUPPORTED);this._updateClientSideFields(),this._watchHandles.push(this.watch("layer",(()=>{this._updateClientSideFields()}),!0)),this.notifyChange("capabilities")}_applyLayerProperties(e,r){if(FeatureLayerJson.isFeatureCollection(e))throw new InvalidOperationError(ERR_INVALID_LAYER_TYPE);return super._applyLayerProperties(e,r)}async _applyPortalItemProperties(e){if("Feature Service"!==e.type)throw new Error(`Cannot create Feature Layer from Portal item that has type: ${e.type}`);const r={layerType:"ArcGISFeatureLayer"};let{url:t}=e;t.match(".*MapServer/\\d{1,}/?$")||t.match(".*FeatureServer/\\d{1,}/?$")||(t=`${t}/0`),r.url=t,await FeatureLayerJson.applyToEsriApiLayer(r,this.layer);const a=await e.fetchData();if(a?.layers){const e=a.layers.find((e=>e.id===this.layer.layerId));e&&await PortalLayer.applyToEsriApiLayer(e,this.layer)}}_updateClientSideFields(){this.layer&&this._enableClientSideData&&addOutFields(this.layer,this.featureSettings.outFields)}async _applyEdits(e,r={}){const t=this.layer.applyEdits(e),a=await cancelify(t,r.cancelToken);if(!a)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");return a}get _layerUrl(){return isNumeric(this.layer.layerId)?`${this.layer.url}/${this.layer.layerId}`:this.layer.url}};FeatureLayerExtension=__decorate([serializable],FeatureLayerExtension);export{FeatureLayerExtension};let FeatureLayerReadOnlySchema=class extends FeatureLayerSchema{_setSetting(e,r){if(this._layerBindings.has(e))throw new InvalidOperationError(ERR_SCHEMA_READ_ONLY);super._setSetting(e,r)}_createFieldCollection(){return new ReadOnlyCollection(super._createFieldCollection())}_createTypeCollection(){return new ReadOnlyCollection(super._createTypeCollection())}};FeatureLayerReadOnlySchema=__decorate([serializable],FeatureLayerReadOnlySchema);class RelationshipCollection extends ArcGISRelationshipCollection{get _sourceUrl(){if(this._source.layer&&this._source.layer.url)return isNumeric(this._source.layer.layerId)?`${this._source.layer.url}/${this._source.layer.layerId}`:this._source.layer.url}get _sourceLayerId(){return this._source.layer?this._source.layer.layerId:void 0}_findRelatedSource(e){if(!this._source.mapExtension||!this._source.layer||!this._source.layer.url)return;const r=this._source.mapExtension.layerExtensions.initializedItems.find((r=>isFeatureLayerExtension(r)&&r.layer.url===this._source.layer.url&&r.layer.layerId===e));return r||this._source.mapExtension.tableExtensions.initializedItems.find((r=>isFeatureLayer(r.table)&&r.table.url===this._source.layer.url&&r.table.layerId===e))}}
@@ -42,6 +42,10 @@ export declare class MapImageSublayerExtension extends ArcGISSublayerExtension<M
42
42
  * @inheritdoc
43
43
  */
44
44
  get canChangeRenderer(): boolean;
45
+ /**
46
+ * @inheritdoc
47
+ */
48
+ get canChangeLabels(): boolean;
45
49
  protected _onInitialize(): Promise<void>;
46
50
  /**
47
51
  * @inheritdoc
@@ -1 +1 @@
1
- var MapImageSublayerExtension_1;import{__decorate}from"tslib";import{serializable}from"../support/Serializable.js";import{ArcGISSublayerExtension}from"./ArcGISSublayerExtension.js";let MapImageSublayerExtension=MapImageSublayerExtension_1=class extends ArcGISSublayerExtension{get layerExtension(){return super.layerExtension}get sublayerExtensions(){return super.sublayerExtensions}get canChangeOpacity(){const e=this.layerExtension.layer.capabilities;return!(this.sublayerExtensions.length>0)&&e?.exportMap.supportsDynamicLayers}get canChangeRenderer(){return this.layerExtension.layer.capabilities?.exportMap.supportsDynamicLayers}async _onInitialize(){await super._onInitialize(),this.sublayer?.renderer&&"tile"!==this.sublayer?.layer?.type&&this.sublayer?.layer?.capabilities?.exportMap?.supportsDynamicLayers&&(this.sublayer.renderer=this.sublayer.renderer.clone())}_createSublayerExtension(e){return new MapImageSublayerExtension_1(e)}};MapImageSublayerExtension=MapImageSublayerExtension_1=__decorate([serializable],MapImageSublayerExtension);export{MapImageSublayerExtension};
1
+ var MapImageSublayerExtension_1;import{__decorate}from"tslib";import{serializable}from"../support/Serializable.js";import{ArcGISSublayerExtension}from"./ArcGISSublayerExtension.js";let MapImageSublayerExtension=MapImageSublayerExtension_1=class extends ArcGISSublayerExtension{get layerExtension(){return super.layerExtension}get sublayerExtensions(){return super.sublayerExtensions}get canChangeOpacity(){const e=this.layerExtension.layer.capabilities;return!(this.sublayerExtensions.length>0)&&e?.exportMap.supportsDynamicLayers}get canChangeRenderer(){return this.layerExtension.layer.capabilities?.exportMap.supportsDynamicLayers}get canChangeLabels(){return this.layerExtension.layer.capabilities?.exportMap.supportsDynamicLayers}async _switchSublayer(e){e.layer?.capabilities?.exportMap?.supportsDynamicLayers&&(e.labelsVisible=this.sublayer.labelsVisible),await super._switchSublayer(e)}async _onInitialize(){await super._onInitialize(),this.sublayer?.renderer&&"tile"!==this.sublayer?.layer?.type&&this.sublayer?.layer?.capabilities?.exportMap?.supportsDynamicLayers&&(this.sublayer.renderer=this.sublayer.renderer.clone())}_createSublayerExtension(e){return new MapImageSublayerExtension_1(e)}};MapImageSublayerExtension=MapImageSublayerExtension_1=__decorate([serializable],MapImageSublayerExtension);export{MapImageSublayerExtension};
@@ -47,6 +47,10 @@ export declare class SceneLayerExtension extends LayerExtension<SceneLayerExtens
47
47
  * @inheritdoc
48
48
  */
49
49
  get hasFeatures(): boolean;
50
+ /**
51
+ * @inheritdoc
52
+ */
53
+ get canChangeLabels(): boolean;
50
54
  protected _onInitialize(): Promise<void>;
51
55
  /**
52
56
  * @inheritdoc
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{SceneLayer as PortalSceneLayer}from"../portal/SceneLayer.js";import{serializable}from"../support/Serializable.js";import{ReadOnlyCollection}from"../utilities/ReadOnlyCollection.js";import{isSceneLayer}from"../utilities/_layers.js";import{ArrayWrappedCollection,LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";import{PopupTemplateFeatureSettings}from"./support/PopupTemplateFeatureSettings.js";import{addOutFields}from"./support/layers.js";let SceneLayerExtension=class extends LayerExtension{get layer(){return super.layer}get enableClientSideData(){return this._enableClientSideData}set enableClientSideData(e){this._enableClientSideData=e,this._updateClientSideFields()}get renderer(){return this.layer?.renderer}get hasFeatures(){return!0}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}async _onInitialize(){await super._onInitialize(),this._updateClientSideFields(),this._watchHandles.push(this.watch("layer",(()=>{this._updateClientSideFields()}),!0)),this.layer.associatedLayer||this.layer.outFields||(this.layer.outFields=this.layer.fields.map((e=>e.name)),this.layer.outFields&&!this.layer.outFields.includes(this.layer.objectIdField)&&this.layer.outFields.push(this.layer.objectIdField))}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISSceneServiceLayer"}},enableClientSideData:{serializeModes:["initial"],default:!1}}}_isSupportedLayer(e){return isSceneLayer(e)}_createSchema(){return new SceneLayerSchema(this)}_createFeatureSettings(){return new PopupTemplateFeatureSettings(this)}async _applyPortalItemProperties(e){if("Scene Service"!==e.type)throw new Error(`Cannot create Scene Layer from Portal item that has type: ${e.type}`);if(!e.typeKeywords.includes("3DObject")&&!e.typeKeywords.includes("Point"))throw new Error("Cannot create Scene Layer from Portal item that does not reference a Scene layer");const t={layerType:"ArcGISSceneServiceLayer",url:e.url};return PortalSceneLayer.applyToEsriApiLayer(t,this.layer)}_updateClientSideFields(){this.layer&&this._enableClientSideData&&addOutFields(this.layer,this.featureSettings.outFields)}};SceneLayerExtension=__decorate([serializable],SceneLayerExtension);export{SceneLayerExtension};let SceneLayerSchema=class extends LayerExtensionSchema{constructor(e){super(e),this._fieldsCollection=new ReadOnlyCollection(new ArrayWrappedCollection(e,"fields"))}_getPropertyBindings(){return{spatialReference:"spatialReference"}}get _fields(){return this._fieldsCollection}};SceneLayerSchema=__decorate([serializable],SceneLayerSchema);
1
+ import{__decorate}from"tslib";import{SceneLayer as PortalSceneLayer}from"../portal/SceneLayer.js";import{serializable}from"../support/Serializable.js";import{ReadOnlyCollection}from"../utilities/ReadOnlyCollection.js";import{isSceneLayer}from"../utilities/_layers.js";import{ArrayWrappedCollection,LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";import{PopupTemplateFeatureSettings}from"./support/PopupTemplateFeatureSettings.js";import{addOutFields}from"./support/layers.js";let SceneLayerExtension=class extends LayerExtension{get layer(){return super.layer}get enableClientSideData(){return this._enableClientSideData}set enableClientSideData(e){this._enableClientSideData=e,this._updateClientSideFields()}get renderer(){return this.layer?.renderer}get hasFeatures(){return!0}get canChangeLabels(){return!0}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}async _onInitialize(){await super._onInitialize(),this._updateClientSideFields(),this._watchHandles.push(this.watch("layer",(()=>{this._updateClientSideFields()}),!0)),this.layer.associatedLayer||this.layer.outFields||(this.layer.outFields=this.layer.fields.map((e=>e.name)),this.layer.outFields&&!this.layer.outFields.includes(this.layer.objectIdField)&&this.layer.outFields.push(this.layer.objectIdField))}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISSceneServiceLayer"}},enableClientSideData:{serializeModes:["initial"],default:!1}}}_isSupportedLayer(e){return isSceneLayer(e)}_createSchema(){return new SceneLayerSchema(this)}_createFeatureSettings(){return new PopupTemplateFeatureSettings(this)}async _applyPortalItemProperties(e){if("Scene Service"!==e.type)throw new Error(`Cannot create Scene Layer from Portal item that has type: ${e.type}`);if(!e.typeKeywords.includes("3DObject")&&!e.typeKeywords.includes("Point"))throw new Error("Cannot create Scene Layer from Portal item that does not reference a Scene layer");const t={layerType:"ArcGISSceneServiceLayer",url:e.url};return PortalSceneLayer.applyToEsriApiLayer(t,this.layer)}_updateClientSideFields(){this.layer&&this._enableClientSideData&&addOutFields(this.layer,this.featureSettings.outFields)}};SceneLayerExtension=__decorate([serializable],SceneLayerExtension);export{SceneLayerExtension};let SceneLayerSchema=class extends LayerExtensionSchema{constructor(e){super(e),this._fieldsCollection=new ReadOnlyCollection(new ArrayWrappedCollection(e,"fields"))}_getPropertyBindings(){return{spatialReference:"spatialReference"}}get _fields(){return this._fieldsCollection}};SceneLayerSchema=__decorate([serializable],SceneLayerSchema);
@@ -34,6 +34,10 @@ export declare class StreamLayerExtension extends LayerExtension<StreamLayerExte
34
34
  * @inheritdoc
35
35
  */
36
36
  get renderer(): Renderer;
37
+ /**
38
+ * @inheritdoc
39
+ */
40
+ get canChangeLabels(): boolean;
37
41
  /**
38
42
  * @inheritdoc
39
43
  */
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{Layer as PortalLayer}from"../portal/Layer.js";import{StreamLayer as StreamLayerJson}from"../portal/StreamLayer.js";import{serializable}from"../support/Serializable.js";import{ReadOnlyCollection}from"../utilities/ReadOnlyCollection.js";import{isStreamLayer}from"../utilities/_layers.js";import{ArrayWrappedCollection,LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";import{PopupTemplateFeatureSettings}from"./support/PopupTemplateFeatureSettings.js";let StreamLayerExtension=class extends LayerExtension{get layer(){return super.layer}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}get hasFeatures(){return!0}get renderer(){return this.layer.renderer}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{layerDefinition:r}=StreamLayerJson.fromEsriApiStreamLayer(this.layer),{definitionExpression:t,drawingInfo:a}=r;return t&&(e.layerDefinition={...e.layerDefinition,definitionExpression:t}),a&&(e.layerDefinition={...e.layerDefinition,drawingInfo:a}),e}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISStreamLayer"}}}}_createSchema(){return new StreamLayerSchema(this)}_isSupportedLayer(e){return isStreamLayer(e)}_createFeatureSettings(){return new StreamLayerFeatureSettings(this)}async _applyPortalItemProperties(e){if("Stream Service"!==e.type)throw new Error(`Cannot create Stream Layer from Portal item that has type: ${e.type}`);const r={layerType:"ArcGISStreamLayer",url:e.url};await StreamLayerJson.applyToEsriApiLayer(r,this.layer);const t=await e.fetchData();t&&Object.keys(t).length>0&&await PortalLayer.applyToEsriApiLayer(t,this.layer)}};StreamLayerExtension=__decorate([serializable],StreamLayerExtension);export{StreamLayerExtension};let StreamLayerSchema=class extends LayerExtensionSchema{constructor(e){super(e),this._fieldCollection=this._createFieldCollection()}get _fields(){return this._fieldCollection}_createFieldCollection(){return new ReadOnlyCollection(new ArrayWrappedCollection(this._layerExtension,"fields"))}_getPropertyBindings(){return{primaryKeyField:"objectIdField",geometryType:"geometryType",spatialReference:"spatialReference",displayField:"displayField"}}};StreamLayerSchema=__decorate([serializable],StreamLayerSchema);export{StreamLayerSchema};let StreamLayerFeatureSettings=class extends PopupTemplateFeatureSettings{get zoomScale(){const e="point"===this._layerExtension.schema.geometryType?this._layerExtension.layer.maxScale:void 0;return this._getSetting("zoomScale",e)}set zoomScale(e){this._setSetting("zoomScale",e)}};StreamLayerFeatureSettings=__decorate([serializable],StreamLayerFeatureSettings);
1
+ import{__decorate}from"tslib";import{Layer as PortalLayer}from"../portal/Layer.js";import{StreamLayer as StreamLayerJson}from"../portal/StreamLayer.js";import{serializable}from"../support/Serializable.js";import{ReadOnlyCollection}from"../utilities/ReadOnlyCollection.js";import{isStreamLayer}from"../utilities/_layers.js";import{ArrayWrappedCollection,LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";import{PopupTemplateFeatureSettings}from"./support/PopupTemplateFeatureSettings.js";let StreamLayerExtension=class extends LayerExtension{get layer(){return super.layer}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}get hasFeatures(){return!0}get renderer(){return this.layer.renderer}get canChangeLabels(){return!0}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{layerDefinition:r}=StreamLayerJson.fromEsriApiStreamLayer(this.layer),{definitionExpression:t,drawingInfo:a}=r;return t&&(e.layerDefinition={...e.layerDefinition,definitionExpression:t}),a&&(e.layerDefinition={...e.layerDefinition,drawingInfo:a}),e}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISStreamLayer"}}}}_createSchema(){return new StreamLayerSchema(this)}_isSupportedLayer(e){return isStreamLayer(e)}_createFeatureSettings(){return new StreamLayerFeatureSettings(this)}async _applyPortalItemProperties(e){if("Stream Service"!==e.type)throw new Error(`Cannot create Stream Layer from Portal item that has type: ${e.type}`);const r={layerType:"ArcGISStreamLayer",url:e.url};await StreamLayerJson.applyToEsriApiLayer(r,this.layer);const t=await e.fetchData();t&&Object.keys(t).length>0&&await PortalLayer.applyToEsriApiLayer(t,this.layer)}};StreamLayerExtension=__decorate([serializable],StreamLayerExtension);export{StreamLayerExtension};let StreamLayerSchema=class extends LayerExtensionSchema{constructor(e){super(e),this._fieldCollection=this._createFieldCollection()}get _fields(){return this._fieldCollection}_createFieldCollection(){return new ReadOnlyCollection(new ArrayWrappedCollection(this._layerExtension,"fields"))}_getPropertyBindings(){return{primaryKeyField:"objectIdField",geometryType:"geometryType",spatialReference:"spatialReference",displayField:"displayField"}}};StreamLayerSchema=__decorate([serializable],StreamLayerSchema);export{StreamLayerSchema};let StreamLayerFeatureSettings=class extends PopupTemplateFeatureSettings{get zoomScale(){const e="point"===this._layerExtension.schema.geometryType?this._layerExtension.layer.maxScale:void 0;return this._getSetting("zoomScale",e)}set zoomScale(e){this._setSetting("zoomScale",e)}};StreamLayerFeatureSettings=__decorate([serializable],StreamLayerFeatureSettings);
@@ -181,6 +181,11 @@ export declare abstract class LayerExtension<TProperties extends LayerExtensionP
181
181
  * Determines whether the type of layer being extended supports changing opacity.
182
182
  */
183
183
  get canChangeOpacity(): boolean;
184
+ /**
185
+ * Determines whether the type of layer being extended supports changing
186
+ * labels. Default is false.
187
+ */
188
+ get canChangeLabels(): boolean;
184
189
  /**
185
190
  * The layer's sublayers.
186
191
  */
@@ -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,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 _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}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,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._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}
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 _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}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._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}
@@ -203,6 +203,11 @@ export declare abstract class SublayerExtension<TProperties extends SublayerExte
203
203
  * its renderer.
204
204
  */
205
205
  get canChangeRenderer(): boolean;
206
+ /**
207
+ * Determines whether the type of sublayer being extended supports changing
208
+ * labels. Default is false.
209
+ */
210
+ get canChangeLabels(): boolean;
206
211
  /**
207
212
  * The sublayer's sublayers.
208
213
  */