@vertigis/arcgis-extensions 34.5.0 → 34.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/data/support/attachments.js +1 -1
  2. package/declarations/arcgis-js-api-extensions/index.d.ts +1 -0
  3. package/docs/html/assets/search.js +1 -1
  4. package/docs/html/classes/data_FeatureStream.FeatureStream.html +1 -1
  5. package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerReadOnlySchema.html +3 -3
  6. package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerSchema.html +4 -4
  7. package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerSchema.html +4 -4
  8. package/docs/html/classes/mapping_TileLayerExtension.TileLayerExtension.html +13 -13
  9. package/docs/html/classes/mapping_WMTSLayerExtension.WMTSLayerExtension.html +12 -12
  10. package/docs/html/classes/mapping__LayerExtension.ArrayWrappedCollection.html +2 -2
  11. package/docs/html/classes/mapping__LayerExtension.LayerExtensionSchema.html +5 -5
  12. package/docs/html/classes/mapping_support_LayerListSettings.ExtensionBaseLayerListSettings.html +9 -9
  13. package/docs/html/classes/utilities_asyncIterable.AsyncQueue.html +1 -1
  14. package/docs/html/enums/support_esri.WellKnownBasemap.html +1 -1
  15. package/docs/html/interfaces/data__TableExtension.TableProperties.html +1 -1
  16. package/docs/html/interfaces/data_support_attachments.AttachmentEnabledLayer.html +4 -2
  17. package/docs/html/interfaces/mapping_FeatureLayerExtension.FeatureLayerProperties.html +1 -1
  18. package/docs/html/interfaces/mapping_FeatureLayerExtensionBase.FeatureLayerBaseProperties.html +1 -1
  19. package/docs/html/interfaces/mapping_TileLayerExtension.TileLayerExtensionProperties.html +1 -1
  20. package/docs/html/interfaces/mapping_TileLayerExtension.TileLayerProperties.html +1 -1
  21. package/docs/html/interfaces/mapping_WMTSLayerExtension.WMTSLayerExtensionProperties.html +2 -2
  22. package/docs/html/interfaces/mapping_WMTSLayerExtension.WMTSSublayerExtensionCollection.html +3 -3
  23. package/docs/html/interfaces/portal_FeatureLayer.FeatureLayer-1.html +1 -1
  24. package/docs/html/interfaces/portal_FormInfo.FormAttachmentElement.html +8 -8
  25. package/docs/html/interfaces/portal_FormInfo.FormBarcodeScannerInput.html +4 -4
  26. package/docs/html/interfaces/portal_FormInfo.FormComboBoxInput.html +4 -4
  27. package/docs/html/interfaces/portal_FormInfo.FormDateTimePickerInput.html +5 -5
  28. package/docs/html/interfaces/portal_FormInfo.FormExpressionInfo.html +5 -5
  29. package/docs/html/interfaces/portal_FormInfo.FormFieldElement.html +10 -10
  30. package/docs/html/interfaces/portal_FormInfo.FormGroupElement.html +7 -7
  31. package/docs/html/interfaces/portal_FormInfo.FormInfo-1.html +13 -0
  32. package/docs/html/interfaces/portal_FormInfo.FormRadioButtonsInput.html +4 -4
  33. package/docs/html/interfaces/portal_FormInfo.FormRelationshipElement.html +8 -8
  34. package/docs/html/interfaces/portal_FormInfo.FormSwitchInput.html +4 -4
  35. package/docs/html/interfaces/portal_FormInfo.FormTextAreaInput.html +4 -4
  36. package/docs/html/interfaces/portal_FormInfo.FormTextBoxInput.html +4 -4
  37. package/docs/html/interfaces/portal_MapServiceLayer.MapServiceLayer-1.html +7 -7
  38. package/docs/html/interfaces/portal_StreamLayer.StreamLayer-1.html +1 -1
  39. package/docs/html/interfaces/portal_Table.Table.html +1 -1
  40. package/docs/html/interfaces/support_esri.AccessorLike.html +4 -4
  41. package/docs/html/interfaces/support_esri.ChangeEvent.html +4 -4
  42. package/docs/html/interfaces/support_esri.LayerWithSublayers.html +1 -1
  43. package/docs/html/interfaces/support_esri.PointCloudLayerCachedStatistics.html +1 -1
  44. package/docs/html/interfaces/support_esri.PointCloudLayerCachedStatisticsFrequentValues.html +1 -1
  45. package/docs/html/interfaces/support_esri.PointCloudLayerCachedStatisticsHistogram.html +1 -1
  46. package/docs/html/interfaces/support_esri.PointCloudLayerCachedStatisticsLabel.html +1 -1
  47. package/docs/html/interfaces/support_esri.PointCloudLayerCachedStatisticsLabels.html +1 -1
  48. package/docs/html/interfaces/support_esri.PointCloudLayerCachedStatisticsStats.html +1 -1
  49. package/docs/html/interfaces/support_esri.SublayerLike.html +14 -14
  50. package/docs/html/modules/mapping__LayerExtension.html +1 -1
  51. package/docs/html/modules/mapping_support_LayerListSettings.html +1 -1
  52. package/docs/html/modules/portal_FormInfo.FormInfo.html +11 -0
  53. package/docs/html/modules/portal_FormInfo.html +1 -1
  54. package/docs/html/modules/support_esri.html +10 -10
  55. package/docs/html/modules/version.html +1 -1
  56. package/mapping/TileLayerExtension.d.ts +5 -0
  57. package/mapping/TileLayerExtension.js +1 -1
  58. package/mapping/WMTSLayerExtension.d.ts +5 -0
  59. package/mapping/WMTSLayerExtension.js +1 -1
  60. package/mapping/_LayerExtension.js +1 -1
  61. package/mapping/support/LayerListSettings.d.ts +12 -1
  62. package/mapping/support/LayerListSettings.js +1 -1
  63. package/package.json +1 -1
  64. package/portal/FeatureLayer.d.ts +1 -1
  65. package/portal/FeatureLayer.js +1 -1
  66. package/portal/FormInfo.d.ts +17 -0
  67. package/portal/FormInfo.js +1 -1
  68. package/portal/MapServiceLayer.js +1 -1
  69. package/support/esri.d.ts +1 -0
  70. package/version.d.ts +1 -1
  71. package/version.js +1 -1
  72. package/docs/html/interfaces/portal_FormInfo.FormInfo.html +0 -13
@@ -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;34.5.0&quot;</span><span class="tsd-signature-symbol"> = &quot;34.5.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;34.6.0&quot;</span><span class="tsd-signature-symbol"> = &quot;34.6.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">
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_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>
@@ -6,6 +6,7 @@ import { TiledMapServiceLayer as PortalTiledMapServiceLayer } from "../portal/Ti
6
6
  import { PropertyDefs } from "../support/Serializable.js";
7
7
  import { TileSublayerExtension, TileSublayerExtensionProperties } from "./TileSublayerExtension.js";
8
8
  import { LayerExtension, LayerExtensionProperties, LayerProperties } from "./_LayerExtension.js";
9
+ import type { LayerListSettings, LayerListSettingsProperties } from "./support/LayerListSettings.js";
9
10
  /**
10
11
  * Properties that can be passed into the constructor for {@link TileLayerExtension}.
11
12
  */
@@ -41,6 +42,10 @@ export declare class TileLayerExtension extends LayerExtension<TileLayerExtensio
41
42
  */
42
43
  protected _createSublayerExtension(properties?: TileSublayerExtensionProperties): TileSublayerExtension;
43
44
  protected _applyLayerProperties(properties: LayerProperties, layer: Layer): Promise<void>;
45
+ /**
46
+ * @inheritdoc
47
+ */
48
+ protected _createLayerListSettings(properties?: LayerListSettingsProperties): LayerListSettings;
44
49
  /**
45
50
  * @inheritdoc
46
51
  */
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{LayerBase as PortalLayerBase}from"../portal/LayerBase.js";import{TiledMapServiceLayer as PortalTiledMapServiceLayer}from"../portal/TiledMapServiceLayer.js";import{ERR_LAYER_TYPE_MISMATCH}from"../portal/_layerHelper.js";import{DefaultArcGISRequestHelper}from"../support/ArcGISRequestHelper.js";import{serializable}from"../support/Serializable.js";import{isTileLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{TileSublayerExtension}from"./TileSublayerExtension.js";import{LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";let TileLayerExtension=class extends LayerExtension{get layer(){return super.layer}get supportsSublayers(){return!0}_createSublayerExtension(e){return new TileSublayerExtension(e)}_applyLayerProperties(e,r){checkArg("layerJson",e).isNotMissing();const a=e.layerType||e.type;return checkArg("layerJson.layerType",a).satisfies((e=>!e||"ArcGISTiledMapServiceLayer"===e),ERR_LAYER_TYPE_MISMATCH),checkArg("layer",r).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),ERR_LAYER_TYPE_MISMATCH),PortalLayerBase.applyToEsriApiLayer(e,r)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISTiledMapServiceLayer"}},layerListSettings:{...this._toPropertyDef(e.layerListSettings),default:{childrenIncluded:!1}}}}_isSupportedLayer(e){return isTileLayer(e)}_createSchema(){return new TileLayerSchema(this)}async _initializeLayer(){if(await super._initializeLayer(),!this.layer.url)throw new InvalidOperationError("Tile layer must have a URL.")}async _onInitialize(){if(await super._onInitialize(),!this.layer.tileInfo)throw new Error(`The layer at URL "${this.layer.url}" is not a tile layer or does not have a tiling scheme defined.`)}async _applyPortalItemProperties(e){if("Map Service"!==e.type)throw new Error(`Cannot create Tile Layer from Portal item that has type: ${e.type}`);const r=await LayerExtension._getLayerData(e.url,new DefaultArcGISRequestHelper);if("Elevation"===r.cacheType)throw new Error("Cannot create Tile Layer from Portal item that references an Elevation layer");if(!r.tileInfo)throw new Error("Cannot create Tile Layer from Portal item that does not reference a tiled map service");const a={layerType:"ArcGISTiledMapServiceLayer",url:e.url};await PortalTiledMapServiceLayer.applyToEsriApiLayer(a,this.layer)}};TileLayerExtension=__decorate([serializable],TileLayerExtension);export{TileLayerExtension};let TileLayerSchema=class extends LayerExtensionSchema{_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0}}}};TileLayerSchema=__decorate([serializable],TileLayerSchema);
1
+ import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{LayerBase as PortalLayerBase}from"../portal/LayerBase.js";import{TiledMapServiceLayer as PortalTiledMapServiceLayer}from"../portal/TiledMapServiceLayer.js";import{ERR_LAYER_TYPE_MISMATCH}from"../portal/_layerHelper.js";import{DefaultArcGISRequestHelper}from"../support/ArcGISRequestHelper.js";import{serializable}from"../support/Serializable.js";import{isTileLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{TileSublayerExtension}from"./TileSublayerExtension.js";import{LayerExtension,LayerExtensionLayerListSettings,LayerExtensionSchema}from"./_LayerExtension.js";let TileLayerExtension=class extends LayerExtension{get layer(){return super.layer}get supportsSublayers(){return!0}_createSublayerExtension(e){return new TileSublayerExtension(e)}_applyLayerProperties(e,r){checkArg("layerJson",e).isNotMissing();const a=e.layerType||e.type;return checkArg("layerJson.layerType",a).satisfies((e=>!e||"ArcGISTiledMapServiceLayer"===e),ERR_LAYER_TYPE_MISMATCH),checkArg("layer",r).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),ERR_LAYER_TYPE_MISMATCH),PortalLayerBase.applyToEsriApiLayer(e,r)}_createLayerListSettings(e){return new LayerExtensionLayerListSettings(e,this,!1)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISTiledMapServiceLayer"}}}}_isSupportedLayer(e){return isTileLayer(e)}_createSchema(){return new TileLayerSchema(this)}async _initializeLayer(){if(await super._initializeLayer(),!this.layer.url)throw new InvalidOperationError("Tile layer must have a URL.")}async _onInitialize(){if(await super._onInitialize(),!this.layer.tileInfo)throw new Error(`The layer at URL "${this.layer.url}" is not a tile layer or does not have a tiling scheme defined.`)}async _applyPortalItemProperties(e){if("Map Service"!==e.type)throw new Error(`Cannot create Tile Layer from Portal item that has type: ${e.type}`);const r=await LayerExtension._getLayerData(e.url,new DefaultArcGISRequestHelper);if("Elevation"===r.cacheType)throw new Error("Cannot create Tile Layer from Portal item that references an Elevation layer");if(!r.tileInfo)throw new Error("Cannot create Tile Layer from Portal item that does not reference a tiled map service");const a={layerType:"ArcGISTiledMapServiceLayer",url:e.url};await PortalTiledMapServiceLayer.applyToEsriApiLayer(a,this.layer)}};TileLayerExtension=__decorate([serializable],TileLayerExtension);export{TileLayerExtension};let TileLayerSchema=class extends LayerExtensionSchema{_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0}}}};TileLayerSchema=__decorate([serializable],TileLayerSchema);
@@ -7,6 +7,7 @@ import type { InitializableCollection } from "../support/InitializableCollection
7
7
  import { PropertyDefs, SerializeMode } from "../support/Serializable.js";
8
8
  import { WMTSSublayerExtension, WMTSSublayerExtensionProperties } from "./WMTSSublayerExtension.js";
9
9
  import { LayerExtension, LayerExtensionProperties, LayerProperties } from "./_LayerExtension.js";
10
+ import type { LayerListSettings, LayerListSettingsProperties } from "./support/LayerListSettings.js";
10
11
  import { SublayerExtensionCollectionBase } from "./support/_SublayerExtensionCollection.js";
11
12
  /**
12
13
  * Properties that can be passed into the constructor for {@link WMTSLayerExtension}.
@@ -69,6 +70,10 @@ export declare class WMTSLayerExtension extends LayerExtension<WMTSLayerExtensio
69
70
  * @inheritdoc
70
71
  */
71
72
  protected _getSerializableProperties(): PropertyDefs<WMTSLayerExtensionProperties>;
73
+ /**
74
+ * @inheritdoc
75
+ */
76
+ protected _createLayerListSettings(properties?: LayerListSettingsProperties): LayerListSettings;
72
77
  protected _onInitialize(): Promise<void>;
73
78
  /**
74
79
  * @inheritdoc
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{WebTileLayer as WebTileLayerJson}from"../portal/WebTileLayer.js";import{serializable}from"../support/Serializable.js";import{isWMTSLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{getLogger}from"../utilities/log.js";import{WMTSSublayerExtension}from"./WMTSSublayerExtension.js";import{LayerExtension}from"./_LayerExtension.js";import{SublayerExtensionCollectionBase}from"./support/_SublayerExtensionCollection.js";const log=getLogger("WMTSLayerExtension"),ERR_SUBLAYERX_COLLECTION_READONLY="SublayerExtension collection for WMTSLayerExtension is readonly";let WMTSLayerExtension=class extends LayerExtension{get supportsSublayers(){return!0}get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get _layerSupportsHideChildren(){return!1}_createSublayerExtension(e){return new WMTSSublayerExtension(e)}toJSON(e="all"){const r=super.toJSON(e);return r.layer.$ref&&(r.layer.wmtsInfo={}),r}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"WebTiledLayer",wmtsInfo:{}}},layerListSettings:{...this._toPropertyDef(e.layerListSettings),default:{childrenIncluded:!1}}}}async _onInitialize(){var e,r,t,i;try{await super._onInitialize()}catch(a){if("RESTful"!==this.layer.serviceMode)throw a;{log.warn(`WMTS Layer '${this.id}' failed to load with the 'RESTful' service mode. Now attempting to load the layer with the 'KVP' service mode...`);const{fromEsriApiLayer:a,toEsriApiLayer:o}=WebTileLayerJson,s=this.layer;await this._switchLayer(await o(a(s))),null===(r=null===(e=this.mapExtension)||void 0===e?void 0:e.map)||void 0===r||r.layers.remove(s),this.layer.serviceMode="KVP",null===(i=null===(t=this.mapExtension)||void 0===t?void 0:t.map)||void 0===i||i.layers.add(this.layer),await super._onInitialize()}}this.layer.watch("activeLayer",(e=>{this.layer.title=e.title,this.notifyChange("title")}),!0)}_isSupportedLayer(e){return isWMTSLayer(e)}_createSublayerExtensionCollection(){return new SublayerExtensionCollectionImpl(this)}async _applyPortalItemProperties(e){if("WMTS"!==e.type)throw new Error(`Cannot create WMTS layer from Portal item that has type: ${e.type}`);const r={layerType:"WebTiledLayer",...await e.fetchData()};return WebTileLayerJson.applyToEsriApiLayer(r,this.layer)}};WMTSLayerExtension=__decorate([serializable],WMTSLayerExtension);export{WMTSLayerExtension};class SublayerExtensionCollectionImpl extends SublayerExtensionCollectionBase{constructor(e){super(e,"layer.sublayers"),this._layerExtension=e}add(e,r){if(checkArg("sublayerX",e).isNotMissing(),e.sublayer&&this._parent.layer.sublayers&&!this._parent.layer.sublayers.includes(e.sublayer))throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY);super.add(e,r)}removeAt(e){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}reorder(e,r){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}reverse(){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}sort(e){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}splice(e,r,...t){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}_createSublayerExtension(e){return this._parent._createSublayerExtension(e)}}
1
+ import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{WebTileLayer as WebTileLayerJson}from"../portal/WebTileLayer.js";import{serializable}from"../support/Serializable.js";import{isWMTSLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{getLogger}from"../utilities/log.js";import{WMTSSublayerExtension}from"./WMTSSublayerExtension.js";import{LayerExtension,LayerExtensionLayerListSettings}from"./_LayerExtension.js";import{SublayerExtensionCollectionBase}from"./support/_SublayerExtensionCollection.js";const log=getLogger("WMTSLayerExtension"),ERR_SUBLAYERX_COLLECTION_READONLY="SublayerExtension collection for WMTSLayerExtension is readonly";let WMTSLayerExtension=class extends LayerExtension{get supportsSublayers(){return!0}get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get _layerSupportsHideChildren(){return!1}_createSublayerExtension(e){return new WMTSSublayerExtension(e)}toJSON(e="all"){const r=super.toJSON(e);return r.layer.$ref&&(r.layer.wmtsInfo={}),r}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"WebTiledLayer",wmtsInfo:{}}}}}_createLayerListSettings(e){return new LayerExtensionLayerListSettings(e,this,!1)}async _onInitialize(){var e,r,t,i;try{await super._onInitialize()}catch(a){if("RESTful"!==this.layer.serviceMode)throw a;{log.warn(`WMTS Layer '${this.id}' failed to load with the 'RESTful' service mode. Now attempting to load the layer with the 'KVP' service mode...`);const{fromEsriApiLayer:a,toEsriApiLayer:o}=WebTileLayerJson,n=this.layer;await this._switchLayer(await o(a(n))),null===(r=null===(e=this.mapExtension)||void 0===e?void 0:e.map)||void 0===r||r.layers.remove(n),this.layer.serviceMode="KVP",null===(i=null===(t=this.mapExtension)||void 0===t?void 0:t.map)||void 0===i||i.layers.add(this.layer),await super._onInitialize()}}this.layer.watch("activeLayer",(e=>{this.layer.title=e.title,this.notifyChange("title")}),!0)}_isSupportedLayer(e){return isWMTSLayer(e)}_createSublayerExtensionCollection(){return new SublayerExtensionCollectionImpl(this)}async _applyPortalItemProperties(e){if("WMTS"!==e.type)throw new Error(`Cannot create WMTS layer from Portal item that has type: ${e.type}`);const r={layerType:"WebTiledLayer",...await e.fetchData()};return WebTileLayerJson.applyToEsriApiLayer(r,this.layer)}};WMTSLayerExtension=__decorate([serializable],WMTSLayerExtension);export{WMTSLayerExtension};class SublayerExtensionCollectionImpl extends SublayerExtensionCollectionBase{constructor(e){super(e,"layer.sublayers"),this._layerExtension=e}add(e,r){if(checkArg("sublayerX",e).isNotMissing(),e.sublayer&&this._parent.layer.sublayers&&!this._parent.layer.sublayers.includes(e.sublayer))throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY);super.add(e,r)}removeAt(e){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}reorder(e,r){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}reverse(){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}sort(e){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}splice(e,r,...t){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}_createSublayerExtension(e){return this._parent._createSublayerExtension(e)}}
@@ -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=>{var t,i;try{await e.initialize()}catch(r){getLayerXLogger().error({message:`Error occurred while initializing sublayer extension for sublayer '${null!==(i=null!==(t=e.title)&&void 0!==t?t:e.sublayer.id)&&void 0!==i?i:e.id}'.`,error:r})}},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=>{var t;(null===(t=e.added)||void 0===t?void 0:t.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((null==i?void 0: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(){var e,t,i,r,s,a,n,o,l,y,h,p;return null!==(p=null!==(r=null!==(t=null===(e=this.layer)||void 0===e?void 0:e.title)&&void 0!==t?t:null===(i=this._deferredLayerProperties)||void 0===i?void 0:i.title)&&void 0!==r?r:"string"==typeof(null===(s=this._deferredLayerProperties)||void 0===s?void 0:s.$ref)?null===(a=this._deferredLayerProperties)||void 0===a?void 0:a.$ref:null!==(l=null===(o=null===(n=this._deferredLayerProperties)||void 0===n?void 0:n.$ref)||void 0===o?void 0:o.title)&&void 0!==l?l:null===(h=null===(y=this._deferredLayerProperties)||void 0===y?void 0:y.$ref)||void 0===h?void 0:h.id)&&void 0!==p?p:"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){var i;checkArg("portalItemLike",e).isNotMissing();const r=null!=t?t:{};checkArg("layerExtensionProperties.layer",r.layer).satisfies((e=>!isLayer(e)));const s={...r.layer};checkArg("layerExtensionProperties.layer.$ref",s.$ref).satisfies((e=>null==e));const a=new DefaultArcGISRequestHelper,n=toPortalItem(e);let o;await load(n);const l=null!==(i=n.typeKeywords)&&void 0!==i?i:"";if("Map Service"===n.type)o=l.includes("Tiled")||l.includes("Hosted Service")?"ArcGISTiledMapServiceLayer":"ArcGISMapServiceLayer";else if("Feature Service"===n.type)o="ArcGISFeatureLayer";else if("Image Service"===n.type){const e=await LayerExtension._getLayerData(n.url,a);e.cacheType?"Map"===e.cacheType?o="ArcGISTiledImageServiceLayer":("Elevation"===e.cacheType||l.includes("Elevation 3D Layer"))&&(o="ArcGISTiledElevationServiceLayer"):o=e.singleFusedMapCache||e.tileInfo||l.includes("Hosted Service")?"ArcGISTiledImageServiceLayer":"ArcGISImageServiceLayer"}else if("CSV"===n.type)o="CSV";else if("KML"===n.type)o="KML";else if("Scene Service"===n.type)l.includes("3DObject")||l.includes("Point")?o="ArcGISSceneServiceLayer":l.includes("IntegratedMesh")?o="IntegratedMeshLayer":l.includes("PointCloud")?o="PointCloudLayer":l.includes("Building")&&(o="BuildingSceneLayer");else if("Stream Service"===n.type)o="ArcGISStreamLayer";else if("Vector Tile Service"===n.type)o="VectorTileLayer";else if("Feature Collection"===n.type){o="ArcGISFeatureLayer";const e=await n.fetchData();s.featureCollection=e}else if("WMTS"===n.type){o="WebTiledLayer";const e=await n.fetchData();Object.assign(s,e)}else if("WMS"===n.type){o="WMS";const e=await n.fetchData();Object.assign(s,e)}if(!o)throw new ArgumentError("portalItem","Could not determine correct type of LayerExtension to create from portal item");if(s.layerType&&s.layerType!==o)throw new ArgumentError("layerExtensionProperties.layer.layerType","Layer type defined in layer properties does not match layer type from portal item");return s.layerType=o,s.$portalItem=n,r.layer=s,LayerExtension.create(r)}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){var t,i,r;if(this.layer||!this._deferredLayerProperties)return;const s=e=>LayerExtension._matchesRef(e,this._deferredLayerProperties);let a;e?a=e.find(s):(null===(t=this.basemapExtension)||void 0===t?void 0:t.basemap)?(a=this.basemapExtension.basemap.baseLayers.find(s),a=a||this.basemapExtension.basemap.referenceLayers.find(s)):(null===(i=this.groundExtension)||void 0===i?void 0:i.ground)?a=this.groundExtension.ground.layers.find(s):(null===(r=this.parentLayerExtension)||void 0===r?void 0:r.layer)?a=this.parentLayerExtension.layer.layers.find(s):this.mapExtension&&(a=this.mapExtension.map.layers.find(s)),a&&this._isSupportedLayer(a)&&(this._setLayer(a),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=>null==e?void 0: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=>{var t;const i=(null!==(t=e.added)&&void 0!==t?t:[]).map((e=>this.sublayerExtensions.forSublayer(e)));await Promise.all(i.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=>{var t;return!e||e===(null===(t=this.getDefault("layer"))||void 0===t?void 0:t.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);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){var t,i;return e instanceof LayerExtension?!!(null===(t=e._deferredLayerProperties)||void 0===t?void 0:t.$ref):!isLayer(e.layer)&&!!(null===(i=e.layer)||void 0===i?void 0:i.$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=>{var t,i;try{await e.initialize()}catch(r){getLayerXLogger().error({message:`Error occurred while initializing sublayer extension for sublayer '${null!==(i=null!==(t=e.title)&&void 0!==t?t:e.sublayer.id)&&void 0!==i?i:e.id}'.`,error:r})}},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=>{var t;(null===(t=e.added)||void 0===t?void 0:t.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((null==i?void 0: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(){var e,t,i,r,s,a,n,o,l,y,h,p;return null!==(p=null!==(r=null!==(t=null===(e=this.layer)||void 0===e?void 0:e.title)&&void 0!==t?t:null===(i=this._deferredLayerProperties)||void 0===i?void 0:i.title)&&void 0!==r?r:"string"==typeof(null===(s=this._deferredLayerProperties)||void 0===s?void 0:s.$ref)?null===(a=this._deferredLayerProperties)||void 0===a?void 0:a.$ref:null!==(l=null===(o=null===(n=this._deferredLayerProperties)||void 0===n?void 0:n.$ref)||void 0===o?void 0:o.title)&&void 0!==l?l:null===(h=null===(y=this._deferredLayerProperties)||void 0===y?void 0:y.$ref)||void 0===h?void 0:h.id)&&void 0!==p?p:"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){var i;checkArg("portalItemLike",e).isNotMissing();const r=null!=t?t:{};checkArg("layerExtensionProperties.layer",r.layer).satisfies((e=>!isLayer(e)));const s={...r.layer};checkArg("layerExtensionProperties.layer.$ref",s.$ref).satisfies((e=>null==e));const a=new DefaultArcGISRequestHelper,n=toPortalItem(e);let o;await load(n);const l=null!==(i=n.typeKeywords)&&void 0!==i?i:"";if("Map Service"===n.type)o=l.includes("Tiled")||l.includes("Hosted Service")?"ArcGISTiledMapServiceLayer":"ArcGISMapServiceLayer";else if("Feature Service"===n.type)o="ArcGISFeatureLayer";else if("Image Service"===n.type){const e=await LayerExtension._getLayerData(n.url,a);e.cacheType?"Map"===e.cacheType?o="ArcGISTiledImageServiceLayer":("Elevation"===e.cacheType||l.includes("Elevation 3D Layer"))&&(o="ArcGISTiledElevationServiceLayer"):o=e.singleFusedMapCache||e.tileInfo||l.includes("Hosted Service")?"ArcGISTiledImageServiceLayer":"ArcGISImageServiceLayer"}else if("CSV"===n.type)o="CSV";else if("KML"===n.type)o="KML";else if("Scene Service"===n.type)l.includes("3DObject")||l.includes("Point")?o="ArcGISSceneServiceLayer":l.includes("IntegratedMesh")?o="IntegratedMeshLayer":l.includes("PointCloud")?o="PointCloudLayer":l.includes("Building")&&(o="BuildingSceneLayer");else if("Stream Service"===n.type)o="ArcGISStreamLayer";else if("Vector Tile Service"===n.type)o="VectorTileLayer";else if("Feature Collection"===n.type){o="ArcGISFeatureLayer";const e=await n.fetchData();s.featureCollection=e}else if("WMTS"===n.type){o="WebTiledLayer";const e=await n.fetchData();Object.assign(s,e)}else if("WMS"===n.type){o="WMS";const e=await n.fetchData();Object.assign(s,e)}if(!o)throw new ArgumentError("portalItem","Could not determine correct type of LayerExtension to create from portal item");if(s.layerType&&s.layerType!==o)throw new ArgumentError("layerExtensionProperties.layer.layerType","Layer type defined in layer properties does not match layer type from portal item");return s.layerType=o,s.$portalItem=n,r.layer=s,LayerExtension.create(r)}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){var t,i,r;if(this.layer||!this._deferredLayerProperties)return;const s=e=>LayerExtension._matchesRef(e,this._deferredLayerProperties);let a;e?a=e.find(s):(null===(t=this.basemapExtension)||void 0===t?void 0:t.basemap)?(a=this.basemapExtension.basemap.baseLayers.find(s),a=a||this.basemapExtension.basemap.referenceLayers.find(s)):(null===(i=this.groundExtension)||void 0===i?void 0:i.ground)?a=this.groundExtension.ground.layers.find(s):(null===(r=this.parentLayerExtension)||void 0===r?void 0:r.layer)?a=this.parentLayerExtension.layer.layers.find(s):this.mapExtension&&(a=this.mapExtension.map.layers.find(s)),a&&this._isSupportedLayer(a)&&(this._setLayer(a),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=>null==e?void 0: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=>{var t;const i=(null!==(t=e.added)&&void 0!==t?t:[]).map((e=>this.sublayerExtensions.forSublayer(e)));await Promise.all(i.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=>{var t;return!e||e===(null===(t=this.getDefault("layer"))||void 0===t?void 0:t.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){var t,i;return e instanceof LayerExtension?!!(null===(t=e._deferredLayerProperties)||void 0===t?void 0:t.$ref):!isLayer(e.layer)&&!!(null===(i=e.layer)||void 0===i?void 0:i.$ref)}
@@ -92,7 +92,17 @@ export declare abstract class ExtensionBaseLayerListSettings extends LayerListSe
92
92
  * The path to the listMode property, relative to the extension.
93
93
  */
94
94
  protected abstract get _listModePath(): string;
95
- constructor(properties: LayerListSettingsProperties, extension: LayerExtension | SublayerExtension);
95
+ /**
96
+ * An optional default to use for the ChildrenIncluded setting if there is
97
+ * no layer and the setting has been explicitly set on instantiation.
98
+ */
99
+ private readonly _defaultChildrenIncluded;
100
+ /**
101
+ * The initial LayerListMode of the layer. Used for determining the default
102
+ * value for serialization.
103
+ */
104
+ private _initialEsriLayerListMode;
105
+ constructor(properties: LayerListSettingsProperties, extension: LayerExtension | SublayerExtension, defaultChildrenIncluded?: boolean);
96
106
  /**
97
107
  * @inheritdoc
98
108
  */
@@ -122,6 +132,7 @@ export declare abstract class ExtensionBaseLayerListSettings extends LayerListSe
122
132
  */
123
133
  onLayerExtensionInitialized(): void;
124
134
  protected _getSerializableProperties(): PropertyDefs<LayerListSettingsProperties>;
135
+ private _childrenIncludedSerializationDefault;
125
136
  /**
126
137
  * Set the layer's list mode to the closest matching value based on the
127
138
  * current values of included and childrenIncluded.
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{whenDefinedOnce}from"@arcgis/core/core/watchUtils";import{InvalidOperationError}from"../../InvalidOperationError.js";import{isLayerExtension}from"../../ItemType.js";import{serializable,SerializableBase}from"../../support/Serializable.js";import{checkArg}from"../../utilities/checkArg.js";export class LayerListSettingsProperties{}let LayerListSettings=class extends SerializableBase{get expanded(){return this._expanded}set expanded(e){this._expanded=e}get included(){return this._included}set included(e){this._included=e}get initialExpanded(){return this._initialExpanded}get initialChildrenIncluded(){return this._initialChildrenIncluded}get initialIncluded(){return this._initialIncluded}get childrenIncluded(){return this._childrenIncluded}set childrenIncluded(e){this._childrenIncluded=e}_getSerializableProperties(){return{expanded:{serializeModes:["initial"],default:!1},included:{serializeModes:["initial"],default:!0},childrenIncluded:{serializeModes:["initial"],default:!0}}}};LayerListSettings=__decorate([serializable],LayerListSettings);export{LayerListSettings};export class ExtensionBaseLayerListSettings extends LayerListSettings{constructor(e,i){var t;checkArg("extension",i).isNotMissing().isDefined(),super(e),this._extension=i;const n=isLayerExtension(i)?"layer":"sublayer";"included"in e?(this._initialIncluded=e.included,this._notifyChange("initialIncluded")):(whenDefinedOnce(i,n,(()=>{this._initialIncluded=this.included,this._notifyChange("initialIncluded")})),void 0===this._initialIncluded&&(this._initialIncluded=!0,this._notifyChange("initialIncluded"))),"childrenIncluded"in e?(this._initialChildrenIncluded=e.childrenIncluded,this._notifyChange("initialChildrenIncluded")):(whenDefinedOnce(i,n,(()=>{this._initialChildrenIncluded=this.childrenIncluded,this._notifyChange("initialChildrenIncluded")})),void 0===this._initialChildrenIncluded&&(this._initialChildrenIncluded=!0,this._notifyChange("initialChildrenIncluded"))),this._initialExpanded=null!==(t=e.expanded)&&void 0!==t&&t}get included(){return void 0!==super.included?super.included:!this._esriLayer||"hide"!==this._esriLayer.listMode}set included(e){checkArg("value",e).satisfies((e=>"boolean"==typeof e),"LayerListSettings must be set to boolean values"),super.included=e,this._setListMode()}get childrenIncluded(){return void 0!==super.childrenIncluded?super.childrenIncluded:this._esriLayer?this._supportsChildren&&"show"===this._esriLayer.listMode:this._supportsChildren}set childrenIncluded(e){if(checkArg("value",e).satisfies((e=>"boolean"==typeof e),"LayerListSettings must be set to boolean values"),!this._supportsChildren&&e)throw new InvalidOperationError("Cannot set 'childrenIncluded' to true on a layer that does not support sublayers.");super.childrenIncluded=e,this._setListMode()}get expanded(){return super.expanded}set expanded(e){if(checkArg("value",e).satisfies((e=>"boolean"==typeof e),"LayerListSettings must be set to boolean values"),!this._supportsChildren&&e)throw new InvalidOperationError("Cannot set 'expanded' to true on a layer that does not support sublayers.");super.expanded=e}onLayerExtensionInitialized(){this._setListMode(),this._extension.watch(this._listModePath,((e,i)=>{e!==i&&(super.childrenIncluded=void 0,super.included=void 0)}),!0)}_getSerializableProperties(){return{...super._getSerializableProperties(),included:{serializeModes:["initial"],isDefault:e=>!!e},childrenIncluded:{serializeModes:["initial"],isDefault:e=>e===this._supportsChildren}}}_setListMode(){const e=this._esriLayer;e&&(!this.childrenIncluded&&this._extension._layerSupportsHideChildren&&this.included?e.listMode="hide-children":this.childrenIncluded||this.included?e.listMode="show":e.listMode="hide")}}export function fromLayerListMode(e){const i={};return"hide"===e?i.included=!1:"show"===e?i.included=!0:"hide-children"===e&&(i.childrenIncluded=!1),i}
1
+ import{__decorate}from"tslib";import{whenDefinedOnce}from"@arcgis/core/core/watchUtils";import{InvalidOperationError}from"../../InvalidOperationError.js";import{isLayerExtension}from"../../ItemType.js";import{serializable,SerializableBase}from"../../support/Serializable.js";import{checkArg}from"../../utilities/checkArg.js";export class LayerListSettingsProperties{}let LayerListSettings=class extends SerializableBase{get expanded(){return this._expanded}set expanded(e){this._expanded=e}get included(){return this._included}set included(e){this._included=e}get initialExpanded(){return this._initialExpanded}get initialChildrenIncluded(){return this._initialChildrenIncluded}get initialIncluded(){return this._initialIncluded}get childrenIncluded(){return this._childrenIncluded}set childrenIncluded(e){this._childrenIncluded=e}_getSerializableProperties(){return{expanded:{serializeModes:["initial"],default:!1},included:{serializeModes:["initial"],default:!0},childrenIncluded:{serializeModes:["initial"],default:!0}}}};LayerListSettings=__decorate([serializable],LayerListSettings);export{LayerListSettings};export class ExtensionBaseLayerListSettings extends LayerListSettings{constructor(e,i,t){var d;checkArg("extension",i).isNotMissing().isDefined(),super(e),this._extension=i,this._defaultChildrenIncluded=t;const n=isLayerExtension(i)?"layer":"sublayer";"included"in e?(this._initialIncluded=e.included,this._notifyChange("initialIncluded")):(whenDefinedOnce(i,n,(()=>{this._initialIncluded=this.included,this._notifyChange("initialIncluded")})),void 0===this._initialIncluded&&(this._initialIncluded=!0,this._notifyChange("initialIncluded"))),"childrenIncluded"in e?(this._initialChildrenIncluded=e.childrenIncluded,this._notifyChange("initialChildrenIncluded")):(whenDefinedOnce(i,n,(()=>{this._initialChildrenIncluded=this.childrenIncluded,this._notifyChange("initialChildrenIncluded")})),void 0===this._initialChildrenIncluded&&(this._initialChildrenIncluded=!0,this._notifyChange("initialChildrenIncluded"))),whenDefinedOnce(i,n,(()=>{void 0===this._initialEsriLayerListMode&&(this._initialEsriLayerListMode=this._esriLayer.listMode)})),this._initialExpanded=null!==(d=e.expanded)&&void 0!==d&&d}get included(){return void 0!==super.included?super.included:!this._esriLayer||"hide"!==this._esriLayer.listMode}set included(e){checkArg("value",e).satisfies((e=>"boolean"==typeof e),"LayerListSettings must be set to boolean values"),super.included=e,this._setListMode()}get childrenIncluded(){var e;return void 0!==super.childrenIncluded?super.childrenIncluded:this._esriLayer?this._supportsChildren&&"show"===this._esriLayer.listMode:null!==(e=this._defaultChildrenIncluded)&&void 0!==e?e:this._supportsChildren}set childrenIncluded(e){if(checkArg("value",e).satisfies((e=>"boolean"==typeof e),"LayerListSettings must be set to boolean values"),!this._supportsChildren&&e)throw new InvalidOperationError("Cannot set 'childrenIncluded' to true on a layer that does not support sublayers.");super.childrenIncluded=e,this._setListMode()}get expanded(){return super.expanded}set expanded(e){if(checkArg("value",e).satisfies((e=>"boolean"==typeof e),"LayerListSettings must be set to boolean values"),!this._supportsChildren&&e)throw new InvalidOperationError("Cannot set 'expanded' to true on a layer that does not support sublayers.");super.expanded=e}onLayerExtensionInitialized(){this._setListMode(),this._extension.watch(this._listModePath,((e,i)=>{e!==i&&(super.childrenIncluded=void 0,super.included=void 0)}),!0)}_getSerializableProperties(){return{...super._getSerializableProperties(),included:{serializeModes:["initial"],isDefault:e=>!!e},childrenIncluded:{serializeModes:["initial"],isDefault:e=>e===this._childrenIncludedSerializationDefault()}}}_childrenIncludedSerializationDefault(){var e;return this._esriLayer?"show"===this._initialEsriLayerListMode:null!==(e=this._defaultChildrenIncluded)&&void 0!==e?e:this._supportsChildren}_setListMode(){const e=this._esriLayer;e&&(void 0===this._initialEsriLayerListMode&&(this._initialEsriLayerListMode=e.listMode),!this.childrenIncluded&&this._extension._layerSupportsHideChildren&&this.included?e.listMode="hide-children":this.childrenIncluded||this.included?e.listMode="show":e.listMode="hide")}}export function fromLayerListMode(e){const i={};return"hide"===e?i.included=!1:"show"===e?i.included=!0:"hide-children"===e&&(i.childrenIncluded=!1),i}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vertigis/arcgis-extensions",
3
3
  "license": "SEE LICENSE IN LICENSE",
4
- "version": "34.5.0",
4
+ "version": "34.6.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://geocortex.visualstudio.com/Geocortex/_git/geocortex-api-ts"
@@ -4,7 +4,7 @@ import type EsriStreamLayer from "@arcgis/core/layers/StreamLayer";
4
4
  import Portal from "@arcgis/core/portal/Portal";
5
5
  import type { DefinitionEditor } from "./DefinitionEditor.js";
6
6
  import type { FeatureCollection } from "./FeatureCollection.js";
7
- import type { FormInfo } from "./FormInfo.js";
7
+ import { FormInfo } from "./FormInfo.js";
8
8
  import { LayerDefinition } from "./LayerDefinition.js";
9
9
  import type { OperationalLayerBase } from "./OperationalLayer.js";
10
10
  import { PopupInfo } from "./PopupInfo.js";
@@ -1 +1 @@
1
- import Portal from"@arcgis/core/portal/Portal";import PortalItem from"@arcgis/core/portal/PortalItem";import{isCSVLayer,isFeatureLayer,isGraphicsLayer,isStreamLayer}from"../utilities/_layers.js";import{isNumeric}from"../utilities/_number.js";import{checkArg}from"../utilities/checkArg.js";import{Collection}from"../utilities/collection.js";import{Feature}from"./Feature.js";import{Field}from"./Field.js";import{GeometryType}from"./Geometry.js";import{LayerDefinition}from"./LayerDefinition.js";import{PopupInfo}from"./PopupInfo.js";import{defaultLineRenderer,defaultPointRenderer,defaultPolygonRenderer}from"./Renderer.js";import{toEsriApiSymbol}from"./Symbol.js";import{Type}from"./Type.js";import{GRAPHICS_LAYER_ID}from"./_FeatureLayer.js";import{ERR_LAYER_TYPE_MISMATCH,applyLayerBaseToEsriApiLayer,applyOperationalLayerToEsriApiLayer,fromEsriApiLayerToLayerBase,fromEsriApiLayerToOperationalLayer}from"./_layerHelper.js";const ERR_FEATURE_LAYER_GEOMETRY_TYPES="Feature layer graphics must have the same geometry types.",ERR_FEATURE_LAYER_SOURCE="Feature layer must have a URL or a source, but not both.",GRAPHIC_ID_FIELD="graphic-id",GRAPHICS_LAYER_TYPE="graphics-layer",FEATURE_COLLECTION_LAYER_TYPE="feature-collection-layer";export var FeatureLayer;!function(e){async function r(e,r,a){checkArg("layerJson",e).isNotMissing(),checkArg("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISFeatureLayer"===e||"ArcGISStreamLayer"===e||"CSV"===e),ERR_LAYER_TYPE_MISMATCH),checkArg("layer",r).isNotMissing().satisfies((e=>isFeatureLayer(e)||isStreamLayer(e)||isCSVLayer(e)||isGraphicsLayer(e)),ERR_LAYER_TYPE_MISMATCH),isFeatureLayer(r)||isStreamLayer(r)||isCSVLayer(r)?(checkArg("layerJson",e).satisfies((e=>!i(e))),e.hasOwnProperty("disablePopup")&&(r.popupEnabled=!e.disablePopup),e.hasOwnProperty("screenSizePerspective")&&(r.screenSizePerspectiveEnabled=e.screenSizePerspective),e.hasOwnProperty("showLabels")&&(r.labelsVisible=e.showLabels),e.hasOwnProperty("featureCollection")?(checkArg("layerJson.url",e).satisfies((e=>!e.url)),checkArg("layerJson.featureCollection.layers",e.featureCollection.layers).isNotMissing(),checkArg("layerJson.featureCollection.layers",e.featureCollection.layers).satisfies((e=>1===e.length)),await applyToEsriApiFeatureLayerWithSource(e,r)):(checkArg("layerJson.source",e).satisfies((e=>!e.featureCollection)),await applyToEsriApiFeatureLayerWithUrl(e,r,a))):isGraphicsLayer(r)&&(e.hasOwnProperty("featureCollection")&&checkArg("layerJson",e).satisfies(i),applyToEsriApiGraphicsLayer(e,r))}function i(e){var r;return(null===(r=e.id)||void 0===r?void 0:r.startsWith(GRAPHICS_LAYER_ID))||e.$ref&&"graphics-layer"===e.$ref.subtype||"ArcGISFeatureLayer"===e.layerType&&e.featureCollection&&e.featureCollection.layers&&e.featureCollection.layers.length>1}e.esriFeatureLayerDefaults={labelsVisible:!0,legendEnabled:!0,popupEnabled:!0,hasM:!1,hasZ:!1,visible:!0,opacity:1,wkid:4326,minScale:0,maxScale:0,screenSizePerspective:!0},e.toEsriApiLayer=async function(e,a){checkArg("layerJson",e).isNotMissing(),checkArg("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISFeatureLayer"===e),ERR_LAYER_TYPE_MISMATCH);const t=i(e)?new((await import("@arcgis/core/layers/GraphicsLayer")).default):new((await import("@arcgis/core/layers/FeatureLayer")).default);return setDefaultRenderer(e),await r(e,t,a),t},e.applyToEsriApiLayer=r,e.fromEsriApiFeatureLayer=function(r){checkArg("layer",r).isNotMissing(),checkArg("layer.source",r).satisfies((e=>!(Collection.isCollection(e.source)&&e.url)),ERR_FEATURE_LAYER_SOURCE);const i={...fromEsriApiLayerToLayerBase(r,e.esriFeatureLayerDefaults),...fromEsriApiLayerToOperationalLayer(r),layerType:"ArcGISFeatureLayer"};return r.popupEnabled!==e.esriFeatureLayerDefaults.popupEnabled&&(i.disablePopup=!r.popupEnabled),r.screenSizePerspectiveEnabled!==e.esriFeatureLayerDefaults.screenSizePerspective&&(i.screenSizePerspective=r.screenSizePerspectiveEnabled),r.labelsVisible!==e.esriFeatureLayerDefaults.labelsVisible&&(i.showLabels=r.labelsVisible),isFeatureLayer(r)&&Collection.isCollection(r.source)?fromEsriApiFeatureLayerWithSource(r,i):fromEsriApiFeatureLayerWithUrl(r,i),i},e.fromEsriApiGraphicsLayer=function(r){var i;checkArg("layer",r).isNotMissing();const a={...fromEsriApiLayerToLayerBase(r,e.esriFeatureLayerDefaults),layerType:"ArcGISFeatureLayer",featureCollection:{layers:[],showLegend:!1}};if(a.id=GRAPHICS_LAYER_ID+a.id,!r.graphics)return a;const t=r.graphics.toArray();for(const e of t){const o=GeometryType.fromEsriApiGeometryType(e.geometry.type);let s=a.featureCollection.layers.find((e=>e.layerDefinition.geometryType===o));s||(s={featureSet:{features:[],geometryType:o},layerDefinition:{geometryType:o,minScale:r.minScale,maxScale:r.maxScale,fields:[]}},a.featureCollection.layers.push(s));const n=Feature.fromEsriApiGraphic(e);n.attributes["graphic-id"]=t.indexOf(e);for(const[r,a]of Object.entries(null!==(i=e.attributes)&&void 0!==i?i:{})){let e=s.layerDefinition.fields.find((e=>e.name===r));e||(e={name:r,alias:r,editable:!0,nullable:!0},"number"==typeof a?e.type="esriFieldTypeDouble":a instanceof Date?e.type="esriFieldTypeDate":e.type="esriFieldTypeString",s.layerDefinition.fields.push(e))}s.featureSet.features.push(n)}return a},e.isGraphicsLayerJson=i,e.isFeatureCollection=function(e){var r,i;return!(null===(r=e.id)||void 0===r?void 0:r.startsWith(GRAPHICS_LAYER_ID))&&e.$ref&&"feature-collection-layer"===e.$ref.subtype||(null===(i=e.featureCollection)||void 0===i?void 0:i.layers)&&1===e.featureCollection.layers.length},e.isMapNotesLayer=function(e){return"notes"===e.featureCollectionType}}(FeatureLayer||(FeatureLayer={}));export var FeatureLayerMode;function setDefaultRenderer(e){var r,i;if(null===(r=e.featureCollection)||void 0===r?void 0:r.layers)for(const r of e.featureCollection.layers)if(null===(i=r.layerDefinition)||void 0===i?void 0:i.geometryType){r.layerDefinition.drawingInfo=r.layerDefinition.drawingInfo||{};let{renderer:e}=r.layerDefinition.drawingInfo;if(!e)switch(r.layerDefinition.geometryType){case"esriGeometryPoint":case"esriGeometryMultipoint":e=defaultPointRenderer;break;case"esriGeometryPolyline":e=defaultLineRenderer;break;case"esriGeometryPolygon":case"esriGeometryEnvelope":e=defaultPolygonRenderer}r.layerDefinition.drawingInfo.renderer=e}}async function applyToEsriApiFeatureLayerWithUrl(e,r,i){applyLayerBaseToEsriApiLayer(e,r),applyOperationalLayerToEsriApiLayer(e,r),e.hasOwnProperty("url")&&(r.url=e.url),isFeatureLayer(r)&&e.hasOwnProperty("itemId")&&(r.portalItem?r.portalItem.id=e.itemId:r.portalItem=new PortalItem({id:e.itemId,portal:i||Portal.getDefault()})),e.hasOwnProperty("popupInfo")&&(r.popupTemplate=PopupInfo.toEsriApiPopupTemplate(e.popupInfo)),e.hasOwnProperty("mode")&&(r.mode=e.mode),e.hasOwnProperty("layerDefinition")&&(await LayerDefinition.applyToEsriApiLayer(e.layerDefinition,r),r.version=_getLayerDefinitionVersion(e.layerDefinition))}async function applyToEsriApiFeatureLayerWithSource(e,r){const i=e.featureCollection.layers[0];if(applyLayerBaseToEsriApiLayer(e,r),applyOperationalLayerToEsriApiLayer(e,r),r.legendEnabled=e.featureCollection.showLegend,i.hasOwnProperty("layerDefinition")){const e=i.layerDefinition;await LayerDefinition.applyToEsriApiLayer(e,r),r.version=_getLayerDefinitionVersion(e),e.hasOwnProperty("types")&&(r.types=e.types.map((e=>Type.toEsriApiFeatureType(e))))}i.hasOwnProperty("popupInfo")&&(r.popupTemplate=PopupInfo.toEsriApiPopupTemplate(i.popupInfo)),r.source||(r.source=new Collection),i.hasOwnProperty("featureSet")&&i.featureSet.geometryType&&(r.geometryType=GeometryType.toEsriApiGeometryType(i.featureSet.geometryType),i.featureSet.features&&!r.loaded&&(r.source.removeAll(),r.source.addMany(i.featureSet.features.map(Feature.toEsriApiGraphic))))}function applyToEsriApiGraphicsLayer(e,r){var i,a,t;applyLayerBaseToEsriApiLayer(e,r),r.id=r.id.replace(GRAPHICS_LAYER_ID,"");const o=r;if(r&&(o._fields=null!==(i=o._fields)&&void 0!==i?i:[],e.featureCollectionType&&(r.featureCollectionType=e.featureCollectionType)),e.hasOwnProperty("featureCollection")&&e.featureCollection.layers){const i=new Collection;for(const r of e.featureCollection.layers){if(!r.featureSet||!r.featureSet.features)continue;const e=new Collection;e.addMany(r.featureSet.features.map(Feature.toEsriApiGraphic)),e.forEach((e=>{null===e.symbol&&(e.symbol=getGraphicSymbol(e,r.layerDefinition))})),r.popupInfo&&e.forEach((e=>{null===e.popupTemplate&&(e.popupTemplate=PopupInfo.toEsriApiPopupTemplate(r.popupInfo))})),(null===(t=null===(a=r.layerDefinition)||void 0===a?void 0:a.fields)||void 0===t?void 0:t.length)>0&&r.layerDefinition.fields.forEach((e=>{const r=Field.toEsriApiField(e);"oid"!==r.type&&(o._fields=o._fields.filter((e=>e.name!==r.name)),o._fields.push(r))})),i.addMany(e)}const s=e=>e.attributes["graphic-id"];i.every((e=>"number"==typeof s(e)))&&i.sort(((e,r)=>s(e)>s(r)?1:s(e)<s(r)?-1:0));for(const e of i.toArray())delete e.attributes["graphic-id"];r.graphics.removeAll(),r.graphics.addMany(i)}}function getGraphicSymbol(e,r){var i;let a;if(null===(i=null==r?void 0:r.drawingInfo)||void 0===i?void 0:i.renderer)if("uniqueValue"===r.drawingInfo.renderer.type&&r.drawingInfo.renderer.uniqueValueInfos.length>0){const{uniqueValueInfos:i}=r.drawingInfo.renderer,t=i.find((r=>r.value===e.attributes.TYPEID.toString()));t&&(a=toEsriApiSymbol(t.symbol))}else"simple"===r.drawingInfo.renderer.type&&(a=toEsriApiSymbol(r.drawingInfo.renderer.symbol));return a}function fromEsriApiFeatureLayerWithUrl(e,r){checkArg("layer",e).isNotMissing(),checkArg("featureLayer",r).isNotMissing(),isFeatureLayer(e)?(r.url=isNumeric(e.layerId)?`${e.url}/${e.layerId}`:e.url,e.portalItem&&(r.itemId=e.portalItem.id)):r.url=e.url,r.layerDefinition=LayerDefinition.fromEsriApiLayer(e,FeatureLayer.esriFeatureLayerDefaults),e.popupTemplate&&(r.popupInfo=PopupInfo.fromEsriApiPopupTemplate(e.popupTemplate)),isNaN(e.mode)||(r.mode=e.mode)}function fromEsriApiFeatureLayerWithSource(e,r){checkArg("layer",e).isNotMissing(),checkArg("featureLayer",r).isNotMissing(),checkArg("layer.geometryType",e.geometryType).isNotMissing(),checkArg("layer.source",e).satisfies(_hasSameGeometryType,ERR_FEATURE_LAYER_GEOMETRY_TYPES);const i={featureSet:{features:e.source.map(Feature.fromEsriApiGraphic).toArray(),geometryType:GeometryType.fromEsriApiGeometryType(e.geometryType)},layerDefinition:LayerDefinition.fromEsriApiLayer(e)};e.types&&(i.layerDefinition.types=e.types.map((e=>Type.fromEsriApiFeatureType(e)))),e.typeIdField&&(i.layerDefinition.typeIdField=e.typeIdField),e.popupTemplate&&(i.popupInfo=PopupInfo.fromEsriApiPopupTemplate(e.popupTemplate)),r.featureCollection={layers:[i],showLegend:e.legendEnabled}}function _getLayerDefinitionVersion(e){return e.currentVersion?e.currentVersion:e.hasOwnProperty("capabilities")||e.hasOwnProperty("drawingInfo")||e.hasOwnProperty("hasAttachments")||e.hasOwnProperty("htmlPopupType")||e.hasOwnProperty("relationships")||e.hasOwnProperty("timeInfo")||e.hasOwnProperty("typeIdField")||e.hasOwnProperty("types")?10:void 0}function _hasSameGeometryType(e){return!(e.source&&e.source.length>0)||e.source.every((r=>r.geometry.type===e.geometryType))}!function(e){e[e.MODE_SNAPSHOT=0]="MODE_SNAPSHOT",e[e.MODE_ONDEMAND=1]="MODE_ONDEMAND",e[e.MODE_SELECTION=2]="MODE_SELECTION",e[e.MODE_AUTO=6]="MODE_AUTO"}(FeatureLayerMode||(FeatureLayerMode={}));
1
+ import Portal from"@arcgis/core/portal/Portal";import PortalItem from"@arcgis/core/portal/PortalItem";import{isCSVLayer,isFeatureLayer,isGraphicsLayer,isStreamLayer}from"../utilities/_layers.js";import{isNumeric}from"../utilities/_number.js";import{checkArg}from"../utilities/checkArg.js";import{Collection}from"../utilities/collection.js";import{Feature}from"./Feature.js";import{Field}from"./Field.js";import{FormInfo}from"./FormInfo.js";import{GeometryType}from"./Geometry.js";import{LayerDefinition}from"./LayerDefinition.js";import{PopupInfo}from"./PopupInfo.js";import{defaultLineRenderer,defaultPointRenderer,defaultPolygonRenderer}from"./Renderer.js";import{toEsriApiSymbol}from"./Symbol.js";import{Type}from"./Type.js";import{GRAPHICS_LAYER_ID}from"./_FeatureLayer.js";import{ERR_LAYER_TYPE_MISMATCH,applyLayerBaseToEsriApiLayer,applyOperationalLayerToEsriApiLayer,fromEsriApiLayerToLayerBase,fromEsriApiLayerToOperationalLayer}from"./_layerHelper.js";const ERR_FEATURE_LAYER_GEOMETRY_TYPES="Feature layer graphics must have the same geometry types.",ERR_FEATURE_LAYER_SOURCE="Feature layer must have a URL or a source, but not both.",GRAPHIC_ID_FIELD="graphic-id",GRAPHICS_LAYER_TYPE="graphics-layer",FEATURE_COLLECTION_LAYER_TYPE="feature-collection-layer";export var FeatureLayer;!function(e){async function r(e,r,o){checkArg("layerJson",e).isNotMissing(),checkArg("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISFeatureLayer"===e||"ArcGISStreamLayer"===e||"CSV"===e),ERR_LAYER_TYPE_MISMATCH),checkArg("layer",r).isNotMissing().satisfies((e=>isFeatureLayer(e)||isStreamLayer(e)||isCSVLayer(e)||isGraphicsLayer(e)),ERR_LAYER_TYPE_MISMATCH),isFeatureLayer(r)||isStreamLayer(r)||isCSVLayer(r)?(checkArg("layerJson",e).satisfies((e=>!i(e))),e.hasOwnProperty("disablePopup")&&(r.popupEnabled=!e.disablePopup),e.hasOwnProperty("screenSizePerspective")&&(r.screenSizePerspectiveEnabled=e.screenSizePerspective),e.hasOwnProperty("showLabels")&&(r.labelsVisible=e.showLabels),e.hasOwnProperty("featureCollection")?(checkArg("layerJson.url",e).satisfies((e=>!e.url)),checkArg("layerJson.featureCollection.layers",e.featureCollection.layers).isNotMissing(),checkArg("layerJson.featureCollection.layers",e.featureCollection.layers).satisfies((e=>1===e.length)),await applyToEsriApiFeatureLayerWithSource(e,r)):(checkArg("layerJson.source",e).satisfies((e=>!e.featureCollection)),await applyToEsriApiFeatureLayerWithUrl(e,r,o))):isGraphicsLayer(r)&&(e.hasOwnProperty("featureCollection")&&checkArg("layerJson",e).satisfies(i),applyToEsriApiGraphicsLayer(e,r))}function i(e){var r;return(null===(r=e.id)||void 0===r?void 0:r.startsWith(GRAPHICS_LAYER_ID))||e.$ref&&"graphics-layer"===e.$ref.subtype||"ArcGISFeatureLayer"===e.layerType&&e.featureCollection&&e.featureCollection.layers&&e.featureCollection.layers.length>1}e.esriFeatureLayerDefaults={labelsVisible:!0,legendEnabled:!0,popupEnabled:!0,hasM:!1,hasZ:!1,visible:!0,opacity:1,wkid:4326,minScale:0,maxScale:0,screenSizePerspective:!0},e.toEsriApiLayer=async function(e,o){checkArg("layerJson",e).isNotMissing(),checkArg("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISFeatureLayer"===e),ERR_LAYER_TYPE_MISMATCH);const a=i(e)?new((await import("@arcgis/core/layers/GraphicsLayer")).default):new((await import("@arcgis/core/layers/FeatureLayer")).default);return setDefaultRenderer(e),await r(e,a,o),a},e.applyToEsriApiLayer=r,e.fromEsriApiFeatureLayer=function(r){checkArg("layer",r).isNotMissing(),checkArg("layer.source",r).satisfies((e=>!(Collection.isCollection(e.source)&&e.url)),ERR_FEATURE_LAYER_SOURCE);const i={...fromEsriApiLayerToLayerBase(r,e.esriFeatureLayerDefaults),...fromEsriApiLayerToOperationalLayer(r),layerType:"ArcGISFeatureLayer"};return r.popupEnabled!==e.esriFeatureLayerDefaults.popupEnabled&&(i.disablePopup=!r.popupEnabled),r.screenSizePerspectiveEnabled!==e.esriFeatureLayerDefaults.screenSizePerspective&&(i.screenSizePerspective=r.screenSizePerspectiveEnabled),r.labelsVisible!==e.esriFeatureLayerDefaults.labelsVisible&&(i.showLabels=r.labelsVisible),isFeatureLayer(r)&&Collection.isCollection(r.source)?fromEsriApiFeatureLayerWithSource(r,i):fromEsriApiFeatureLayerWithUrl(r,i),i},e.fromEsriApiGraphicsLayer=function(r){var i;checkArg("layer",r).isNotMissing();const o={...fromEsriApiLayerToLayerBase(r,e.esriFeatureLayerDefaults),layerType:"ArcGISFeatureLayer",featureCollection:{layers:[],showLegend:!1}};if(o.id=GRAPHICS_LAYER_ID+o.id,!r.graphics)return o;const a=r.graphics.toArray();for(const e of a){const t=GeometryType.fromEsriApiGeometryType(e.geometry.type);let s=o.featureCollection.layers.find((e=>e.layerDefinition.geometryType===t));s||(s={featureSet:{features:[],geometryType:t},layerDefinition:{geometryType:t,minScale:r.minScale,maxScale:r.maxScale,fields:[]}},o.featureCollection.layers.push(s));const n=Feature.fromEsriApiGraphic(e);n.attributes["graphic-id"]=a.indexOf(e);for(const[r,o]of Object.entries(null!==(i=e.attributes)&&void 0!==i?i:{})){let e=s.layerDefinition.fields.find((e=>e.name===r));e||(e={name:r,alias:r,editable:!0,nullable:!0},"number"==typeof o?e.type="esriFieldTypeDouble":o instanceof Date?e.type="esriFieldTypeDate":e.type="esriFieldTypeString",s.layerDefinition.fields.push(e))}s.featureSet.features.push(n)}return o},e.isGraphicsLayerJson=i,e.isFeatureCollection=function(e){var r,i;return!(null===(r=e.id)||void 0===r?void 0:r.startsWith(GRAPHICS_LAYER_ID))&&e.$ref&&"feature-collection-layer"===e.$ref.subtype||(null===(i=e.featureCollection)||void 0===i?void 0:i.layers)&&1===e.featureCollection.layers.length},e.isMapNotesLayer=function(e){return"notes"===e.featureCollectionType}}(FeatureLayer||(FeatureLayer={}));export var FeatureLayerMode;function setDefaultRenderer(e){var r,i;if(null===(r=e.featureCollection)||void 0===r?void 0:r.layers)for(const r of e.featureCollection.layers)if(null===(i=r.layerDefinition)||void 0===i?void 0:i.geometryType){r.layerDefinition.drawingInfo=r.layerDefinition.drawingInfo||{};let{renderer:e}=r.layerDefinition.drawingInfo;if(!e)switch(r.layerDefinition.geometryType){case"esriGeometryPoint":case"esriGeometryMultipoint":e=defaultPointRenderer;break;case"esriGeometryPolyline":e=defaultLineRenderer;break;case"esriGeometryPolygon":case"esriGeometryEnvelope":e=defaultPolygonRenderer}r.layerDefinition.drawingInfo.renderer=e}}async function applyToEsriApiFeatureLayerWithUrl(e,r,i){applyLayerBaseToEsriApiLayer(e,r),applyOperationalLayerToEsriApiLayer(e,r),e.hasOwnProperty("url")&&(r.url=e.url),isFeatureLayer(r)&&(e.hasOwnProperty("itemId")&&(r.portalItem?r.portalItem.id=e.itemId:r.portalItem=new PortalItem({id:e.itemId,portal:i||Portal.getDefault()})),e.hasOwnProperty("formInfo")&&(r.formTemplate=FormInfo.toEsriApiFormTemplate(e.formInfo))),e.hasOwnProperty("popupInfo")&&(r.popupTemplate=PopupInfo.toEsriApiPopupTemplate(e.popupInfo)),e.hasOwnProperty("mode")&&(r.mode=e.mode),e.hasOwnProperty("layerDefinition")&&(await LayerDefinition.applyToEsriApiLayer(e.layerDefinition,r),r.version=_getLayerDefinitionVersion(e.layerDefinition))}async function applyToEsriApiFeatureLayerWithSource(e,r){const i=e.featureCollection.layers[0];if(applyLayerBaseToEsriApiLayer(e,r),applyOperationalLayerToEsriApiLayer(e,r),r.legendEnabled=e.featureCollection.showLegend,i.hasOwnProperty("layerDefinition")){const e=i.layerDefinition;await LayerDefinition.applyToEsriApiLayer(e,r),r.version=_getLayerDefinitionVersion(e),e.hasOwnProperty("types")&&(r.types=e.types.map((e=>Type.toEsriApiFeatureType(e))))}i.hasOwnProperty("popupInfo")&&(r.popupTemplate=PopupInfo.toEsriApiPopupTemplate(i.popupInfo)),i.hasOwnProperty("formInfo")&&(r.formTemplate=FormInfo.toEsriApiFormTemplate(i.formInfo)),r.source||(r.source=new Collection),i.hasOwnProperty("featureSet")&&i.featureSet.geometryType&&(r.geometryType=GeometryType.toEsriApiGeometryType(i.featureSet.geometryType),i.featureSet.features&&!r.loaded&&(r.source.removeAll(),r.source.addMany(i.featureSet.features.map(Feature.toEsriApiGraphic))))}function applyToEsriApiGraphicsLayer(e,r){var i,o,a;applyLayerBaseToEsriApiLayer(e,r),r.id=r.id.replace(GRAPHICS_LAYER_ID,"");const t=r;if(r&&(t._fields=null!==(i=t._fields)&&void 0!==i?i:[],e.featureCollectionType&&(r.featureCollectionType=e.featureCollectionType)),e.hasOwnProperty("featureCollection")&&e.featureCollection.layers){const i=new Collection;for(const r of e.featureCollection.layers){if(!r.featureSet||!r.featureSet.features)continue;const e=new Collection;e.addMany(r.featureSet.features.map(Feature.toEsriApiGraphic)),e.forEach((e=>{null===e.symbol&&(e.symbol=getGraphicSymbol(e,r.layerDefinition))})),r.popupInfo&&e.forEach((e=>{null===e.popupTemplate&&(e.popupTemplate=PopupInfo.toEsriApiPopupTemplate(r.popupInfo))})),(null===(a=null===(o=r.layerDefinition)||void 0===o?void 0:o.fields)||void 0===a?void 0:a.length)>0&&r.layerDefinition.fields.forEach((e=>{const r=Field.toEsriApiField(e);"oid"!==r.type&&(t._fields=t._fields.filter((e=>e.name!==r.name)),t._fields.push(r))})),i.addMany(e)}const s=e=>e.attributes["graphic-id"];i.every((e=>"number"==typeof s(e)))&&i.sort(((e,r)=>s(e)>s(r)?1:s(e)<s(r)?-1:0));for(const e of i.toArray())delete e.attributes["graphic-id"];r.graphics.removeAll(),r.graphics.addMany(i)}}function getGraphicSymbol(e,r){var i;let o;if(null===(i=null==r?void 0:r.drawingInfo)||void 0===i?void 0:i.renderer)if("uniqueValue"===r.drawingInfo.renderer.type&&r.drawingInfo.renderer.uniqueValueInfos.length>0){const{uniqueValueInfos:i}=r.drawingInfo.renderer,a=i.find((r=>r.value===e.attributes.TYPEID.toString()));a&&(o=toEsriApiSymbol(a.symbol))}else"simple"===r.drawingInfo.renderer.type&&(o=toEsriApiSymbol(r.drawingInfo.renderer.symbol));return o}function fromEsriApiFeatureLayerWithUrl(e,r){checkArg("layer",e).isNotMissing(),checkArg("featureLayer",r).isNotMissing(),isFeatureLayer(e)?(r.url=isNumeric(e.layerId)?`${e.url}/${e.layerId}`:e.url,e.portalItem&&(r.itemId=e.portalItem.id),e.formTemplate&&(r.formInfo=FormInfo.fromEsriApiFormTemplate(e.formTemplate))):r.url=e.url,r.layerDefinition=LayerDefinition.fromEsriApiLayer(e,FeatureLayer.esriFeatureLayerDefaults),e.popupTemplate&&(r.popupInfo=PopupInfo.fromEsriApiPopupTemplate(e.popupTemplate)),isNaN(e.mode)||(r.mode=e.mode)}function fromEsriApiFeatureLayerWithSource(e,r){checkArg("layer",e).isNotMissing(),checkArg("featureLayer",r).isNotMissing(),checkArg("layer.geometryType",e.geometryType).isNotMissing(),checkArg("layer.source",e).satisfies(_hasSameGeometryType,ERR_FEATURE_LAYER_GEOMETRY_TYPES);const i={featureSet:{features:e.source.map(Feature.fromEsriApiGraphic).toArray(),geometryType:GeometryType.fromEsriApiGeometryType(e.geometryType)},layerDefinition:LayerDefinition.fromEsriApiLayer(e)};e.types&&(i.layerDefinition.types=e.types.map((e=>Type.fromEsriApiFeatureType(e)))),e.typeIdField&&(i.layerDefinition.typeIdField=e.typeIdField),e.popupTemplate&&(i.popupInfo=PopupInfo.fromEsriApiPopupTemplate(e.popupTemplate)),e.formTemplate&&(r.formInfo=FormInfo.fromEsriApiFormTemplate(e.formTemplate)),r.featureCollection={layers:[i],showLegend:e.legendEnabled}}function _getLayerDefinitionVersion(e){return e.currentVersion?e.currentVersion:e.hasOwnProperty("capabilities")||e.hasOwnProperty("drawingInfo")||e.hasOwnProperty("hasAttachments")||e.hasOwnProperty("htmlPopupType")||e.hasOwnProperty("relationships")||e.hasOwnProperty("timeInfo")||e.hasOwnProperty("typeIdField")||e.hasOwnProperty("types")?10:void 0}function _hasSameGeometryType(e){return!(e.source&&e.source.length>0)||e.source.every((r=>r.geometry.type===e.geometryType))}!function(e){e[e.MODE_SNAPSHOT=0]="MODE_SNAPSHOT",e[e.MODE_ONDEMAND=1]="MODE_ONDEMAND",e[e.MODE_SELECTION=2]="MODE_SELECTION",e[e.MODE_AUTO=6]="MODE_AUTO"}(FeatureLayerMode||(FeatureLayerMode={}));
@@ -1,4 +1,21 @@
1
+ import EsriFormTemplate from "@arcgis/core/form/FormTemplate";
1
2
  import type { Domain } from "./Domain.js";
3
+ export declare namespace FormInfo {
4
+ /**
5
+ * Converts an ArcGIS Portal JSON representation of a form template to its
6
+ * Esri JavaScript API equivalent.
7
+ *
8
+ * @param json The form template JSON to convert.
9
+ */
10
+ function toEsriApiFormTemplate(json: FormInfo): EsriFormTemplate;
11
+ /**
12
+ * Converts an Esri JavaScript API FormTemplate object to its ArcGIS Portal
13
+ * JSON representation.
14
+ *
15
+ * @param formTemplate The FormTemplate object to convert.
16
+ */
17
+ function fromEsriApiFormTemplate(formTemplate: EsriFormTemplate): FormInfo;
18
+ }
2
19
  /**
3
20
  * Defines the form configuration when a user edits a feature.
4
21
  * {@link https://developers.arcgis.com/web-map-specification/objects/formInfo/}.
@@ -1 +1 @@
1
- export{};
1
+ import EsriFormTemplate from"@arcgis/core/form/FormTemplate";import{checkArg}from"../utilities/checkArg.js";import{deepClone}from"../utilities/object.js";export var FormInfo;!function(e){e.toEsriApiFormTemplate=function(e){checkArg("json",e).isNotMissing();const o=deepClone(e),r=EsriFormTemplate.fromJSON(o);return r.elements||(r.elements=[]),r},e.fromEsriApiFormTemplate=function(e){return checkArg("formTemplate",e).isNotMissing(),e.toJSON()}}(FormInfo||(FormInfo={}));