@vertigis/arcgis-extensions 52.1.1 → 53.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (402) hide show
  1. package/AppConfig.schema.json +1986 -330
  2. package/data/Feature.d.ts +1 -1
  3. package/data/FeatureList.d.ts +1 -1
  4. package/data/FeatureList.js +1 -1
  5. package/data/FeatureSet.d.ts +27 -4
  6. package/data/FeatureSet.js +1 -1
  7. package/data/FeatureSettings.d.ts +6 -1
  8. package/data/FeatureSettings.js +1 -1
  9. package/data/Schema.d.ts +32 -2
  10. package/data/Schema.js +1 -1
  11. package/data/TaskSettings.d.ts +6 -1
  12. package/data/_TableExtension.d.ts +1 -1
  13. package/data/support/_dxfConverters.d.ts +2 -1
  14. package/data/support/_dxfFunctions.d.ts +2 -1
  15. package/declarations/arcgis-js-api-extensions/index.d.ts +12 -217
  16. package/declarations/arcgis-js-api-extensions/modules.d.ts +99 -0
  17. package/docs/html/assets/highlight.css +16 -16
  18. package/docs/html/assets/navigation.js +1 -1
  19. package/docs/html/assets/search.js +1 -1
  20. package/docs/html/classes/Entity.EntityBase.html +7 -10
  21. package/docs/html/classes/data_ArcGISServiceTableExtension.ArcGISServiceTableExtension.html +7 -10
  22. package/docs/html/classes/data_Attachment.Attachment.html +7 -10
  23. package/docs/html/classes/data_Feature.Feature.html +7 -10
  24. package/docs/html/classes/data_FeatureList.FeatureList.html +56 -28
  25. package/docs/html/classes/data_FeatureSet.FeatureSet.html +6 -5
  26. package/docs/html/classes/data_FeatureSettings.FeatureSettings.html +6 -3
  27. package/docs/html/classes/data_FeatureSourceBase.FeatureSourceBase.html +7 -10
  28. package/docs/html/classes/data_FeatureSourceBase.RelationshipCollection.html +53 -25
  29. package/docs/html/classes/data_FeatureStream.FeatureStream.html +7 -10
  30. package/docs/html/classes/data_FieldExtension.FieldExtension.html +7 -10
  31. package/docs/html/classes/data_PopupContentExtension.PopupContentExtension.html +7 -10
  32. package/docs/html/classes/data_RelationshipBase.RelationshipBase.html +7 -10
  33. package/docs/html/classes/data_Schema.Schema.html +6 -3
  34. package/docs/html/classes/data_TaskSettings.TaskSettings.html +5 -2
  35. package/docs/html/classes/data__TableExtension.TableExtension.html +7 -10
  36. package/docs/html/classes/data__TableExtension.TableFeatureSettings.html +6 -3
  37. package/docs/html/classes/data__TableExtension.TableSchema.html +7 -4
  38. package/docs/html/classes/data_support__dxfConverters.DxfEntityProcessor.html +2 -2
  39. package/docs/html/classes/layer_preset_LayerPreset.LayerPreset.html +7 -10
  40. package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerExtension.html +12 -15
  41. package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerRelationshipCollection.html +54 -26
  42. package/docs/html/classes/mapping_BasemapExtension.BasemapExtension.html +8 -11
  43. package/docs/html/classes/mapping_Bookmark.Bookmark.html +7 -10
  44. package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtension.html +12 -15
  45. package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerSchema.html +5 -2
  46. package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtension.html +12 -15
  47. package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerSchema.html +5 -2
  48. package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtension.html +14 -17
  49. package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerReadOnlySchema.html +5 -2
  50. package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerExtension.html +12 -15
  51. package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerFeatureSettings.html +5 -2
  52. package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerSchema.html +5 -2
  53. package/docs/html/classes/mapping_CSVLayerExtension.CSVLayerExtension.html +12 -15
  54. package/docs/html/classes/mapping_ElevationLayerExtension.ElevationLayerExtension.html +14 -17
  55. package/docs/html/classes/mapping_FeatureCollectionLayerExtension.FeatureCollectionLayerExtension.html +14 -17
  56. package/docs/html/classes/mapping_FeatureLayerExtension.FeatureLayerExtension.html +12 -15
  57. package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBase.html +14 -17
  58. package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerReadOnlySchema.html +5 -2
  59. package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerSchema.html +5 -2
  60. package/docs/html/classes/mapping_GeoJSONLayerExtension.GeoJSONLayerExtension.html +12 -15
  61. package/docs/html/classes/mapping_GeoRSSLayerExtension.GeoRSSLayerExtension.html +14 -17
  62. package/docs/html/classes/mapping_GraphicsLayerExtension.GraphicsLayerExtension.html +14 -17
  63. package/docs/html/classes/mapping_GroundExtension.GroundExtension.html +8 -11
  64. package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtension.html +15 -18
  65. package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtensionCollection.html +76 -25
  66. package/docs/html/classes/mapping_ImageryLayerExtension.ImageryLayerExtension.html +14 -17
  67. package/docs/html/classes/mapping_ImageryTileLayerExtension.ImageryTileLayerExtension.html +14 -17
  68. package/docs/html/classes/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtension.html +14 -17
  69. package/docs/html/classes/mapping_KMLLayerExtension.KMLLayerExtension.html +14 -17
  70. package/docs/html/classes/mapping_KMLSublayerExtension.KMLSublayerExtension.html +12 -15
  71. package/docs/html/classes/mapping_MapConstraints.MapConstraints.html +5 -2
  72. package/docs/html/classes/mapping_MapExtension.MapExtension.html +7 -10
  73. package/docs/html/classes/mapping_MapImageLayerExtension.MapImageLayerExtension.html +14 -17
  74. package/docs/html/classes/mapping_MapImageSublayerExtension.MapImageSublayerExtension.html +12 -15
  75. package/docs/html/classes/mapping_MapNotesLayerExtension.MapNotesLayerExtension.html +14 -17
  76. package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtension.html +12 -15
  77. package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionSchema.html +5 -2
  78. package/docs/html/classes/mapping_MediaLayerExtension.MediaLayerExtension.html +14 -17
  79. package/docs/html/classes/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtension.html +14 -17
  80. package/docs/html/classes/mapping_PointCloudLayerExtension.PointCloudLayerExtension.html +14 -17
  81. package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtension.html +14 -17
  82. package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtensionSchema.html +5 -2
  83. package/docs/html/classes/mapping_SceneLayerExtension.SceneLayerExtension.html +14 -17
  84. package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerExtension.html +14 -17
  85. package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerSchema.html +5 -2
  86. package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtension.html +14 -17
  87. package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerRelationshipCollection.html +54 -26
  88. package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerSchema.html +5 -2
  89. package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerExtension.html +12 -15
  90. package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerRelationshipCollection.html +54 -26
  91. package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerSchema.html +5 -2
  92. package/docs/html/classes/mapping_TileLayerExtension.TileLayerExtension.html +14 -17
  93. package/docs/html/classes/mapping_TileSublayerExtension.TileSublayerExtension.html +12 -15
  94. package/docs/html/classes/mapping_UnsupportedLayerExtension.UnsupportedLayerExtension.html +14 -17
  95. package/docs/html/classes/mapping_VectorTileLayerExtension.VectorTileLayerExtension.html +14 -17
  96. package/docs/html/classes/mapping_WFSLayerExtension.WFSLayerExtension.html +14 -17
  97. package/docs/html/classes/mapping_WMSLayerExtension.WMSLayerExtension.html +14 -17
  98. package/docs/html/classes/mapping_WMSSublayerExtension.WMSSublayerExtension.html +12 -15
  99. package/docs/html/classes/mapping_WMTSLayerExtension.WMTSLayerExtension.html +14 -17
  100. package/docs/html/classes/mapping_WebTileLayerExtension.WebTileLayerExtension.html +14 -17
  101. package/docs/html/classes/mapping__LayerExtension.LayerExtension.html +14 -17
  102. package/docs/html/classes/mapping__LayerExtension.LayerExtensionReadOnlySchema.html +5 -2
  103. package/docs/html/classes/mapping__LayerExtension.LayerExtensionSchema.html +5 -2
  104. package/docs/html/classes/mapping__LayerExtensionCollectionImpl.LayerExtensionCollectionImpl.html +76 -25
  105. package/docs/html/classes/mapping__SublayerExtension.SubSublayerExtensionCollection.html +76 -25
  106. package/docs/html/classes/mapping__SublayerExtension.SublayerExtension.html +12 -15
  107. package/docs/html/classes/mapping__SublayerExtension.SublayerSchema.html +5 -2
  108. package/docs/html/classes/mapping_support_ArrayWrappedCollection.ArrayWrappedCollection.html +53 -25
  109. package/docs/html/classes/mapping_support__LayerExtensionCollection.LayerExtensionCollectionBase.html +76 -25
  110. package/docs/html/classes/mapping_support__SublayerExtensionCollection.SublayerExtensionCollectionBase.html +76 -25
  111. package/docs/html/classes/menus_Menu.Menu.html +7 -10
  112. package/docs/html/classes/menus_MenuItem.MenuItem.html +7 -10
  113. package/docs/html/classes/support_FormatSettings.FormatSettings.html +5 -2
  114. package/docs/html/classes/support_InitializableBase.InitializableBase.html +6 -9
  115. package/docs/html/classes/support_InitializableCollectionProxy.InitializableCollectionProxy.html +53 -25
  116. package/docs/html/classes/support_ReadOnlyInitializableCollection.ReadOnlyInitializableCollection.html +53 -25
  117. package/docs/html/classes/support_Settings.Settings.html +5 -2
  118. package/docs/html/classes/support__ArcGISRelationshipCollection.ArcGISRelationshipCollection.html +54 -26
  119. package/docs/html/classes/tasks_geocoding_ArcGISGeocoder.ArcGISGeocoder.html +7 -10
  120. package/docs/html/classes/tasks_geocoding_Geocoder.Geocoder.html +7 -10
  121. package/docs/html/classes/tasks_identify_IdentifyService.IdentifyService.html +7 -10
  122. package/docs/html/classes/tasks_identify_WMSLayerFeatureInfoIdentifyProvider.WMSLayerFeatureInfoIdentifyProvider.html +2 -2
  123. package/docs/html/classes/tasks_query_ArcGISRelationship.ArcGISRelationship.html +7 -10
  124. package/docs/html/classes/tasks_query_QueryBasedRelationship.QueryBasedRelationship.html +7 -10
  125. package/docs/html/classes/tasks_query_QueryService.QueryService.html +8 -11
  126. package/docs/html/classes/tasks_query_SubtypeSublayerQueryProvider.SubtypeSublayerQueryProvider.html +2 -2
  127. package/docs/html/classes/tasks_search_SearchService.SearchService.html +8 -11
  128. package/docs/html/classes/utilities_CaseInsensitiveObservableMap.CaseInsensitiveObservableMap.html +6 -5
  129. package/docs/html/classes/utilities_CollectionProxy.CollectionProxy.html +56 -29
  130. package/docs/html/classes/utilities_CopyOnWriteCollection.CopyOnWriteCollection.html +53 -25
  131. package/docs/html/classes/utilities_MapTransformCollection.MapTransformCollection.html +53 -25
  132. package/docs/html/classes/utilities_ObservableMap.ObservableMap.html +6 -5
  133. package/docs/html/classes/utilities_ObservableSet.ObservableSet.html +6 -5
  134. package/docs/html/classes/utilities_ReadOnlyCollection.ReadOnlyCollection.html +53 -25
  135. package/docs/html/classes/utilities_ReadOnlyMap.ReadOnlyMap.html +35 -9
  136. package/docs/html/classes/utilities__ReferenceCountedHandle.default.html +2 -2
  137. package/docs/html/enums/support_esri.WellKnownBasemap.html +9 -1
  138. package/docs/html/functions/json_BasemapJson.basemapToJson.html +4 -0
  139. package/docs/html/functions/json_BasemapJson.jsonToBasemap.html +1 -1
  140. package/docs/html/functions/mapping_support_LayerListSettings.fromLayerListMode.html +1 -1
  141. package/docs/html/functions/support_observableUtils.observable-1.html +3 -3
  142. package/docs/html/functions/support_observableUtils.onWatch.html +1 -1
  143. package/docs/html/functions/support_observableUtils.watch.html +1 -1
  144. package/docs/html/functions/support_observableUtils.watchEach.html +1 -1
  145. package/docs/html/functions/support_observableUtils.watchEvent.html +3 -3
  146. package/docs/html/functions/utilities_basemaps.basemapHas3DLayers.html +4 -0
  147. package/docs/html/functions/utilities_basemaps.getStandardBasemapThumbnailUrl.html +3 -0
  148. package/docs/html/functions/utilities_basemaps.isStandardBasemap2D.html +3 -0
  149. package/docs/html/functions/utilities_checkArg.checkArg.html +1 -1
  150. package/docs/html/functions/utilities_renderers.isClassBreaksRenderer.html +1 -1
  151. package/docs/html/functions/utilities_renderers.isDictionaryRenderer.html +1 -1
  152. package/docs/html/functions/utilities_renderers.isDotDensityRenderer.html +1 -1
  153. package/docs/html/functions/utilities_renderers.isHeatMapRenderer.html +1 -1
  154. package/docs/html/functions/utilities_renderers.isRenderer.html +2 -2
  155. package/docs/html/functions/utilities_renderers.isSimpleRenderer.html +1 -1
  156. package/docs/html/functions/utilities_renderers.isUniqueValueRenderer.html +1 -1
  157. package/docs/html/functions/utilities_symbol.isPolygonGeometrySymbol.html +2 -2
  158. package/docs/html/functions/utilities_watch.onCollectionPropertyChange.html +3 -3
  159. package/docs/html/functions/utilities_watch.onEach.html +4 -4
  160. package/docs/html/functions/utilities_watch.onOnce.html +5 -5
  161. package/docs/html/hierarchy.html +1 -1
  162. package/docs/html/interfaces/data_Feature.PresentableAttributes.html +36 -10
  163. package/docs/html/interfaces/data_FeatureSet.FeatureSetEvents.html +12 -0
  164. package/docs/html/interfaces/data_PopupContentExtension.ContentProperties.html +2 -2
  165. package/docs/html/interfaces/data_Schema.FieldCollection.html +1 -1
  166. package/docs/html/interfaces/data_Schema.SchemaEvents.html +16 -0
  167. package/docs/html/interfaces/data_support__dxfInterfaces.IDxfJsonComponentContext.html +2 -2
  168. package/docs/html/interfaces/data_support_attachments.AttachmentEnabledLayer.html +19 -6
  169. package/docs/html/interfaces/json_AnnotationLayerJson.AnnotationLayerJson.html +2 -2
  170. package/docs/html/interfaces/json_BasemapLayerJson.BasemapLayerJsonBase.html +1 -1
  171. package/docs/html/interfaces/json_BuildingSceneLayerJson.BuildingSceneLayerJson.html +2 -2
  172. package/docs/html/interfaces/json_BuildingSceneSublayerJson.BuildingSceneSublayerJson.html +2 -2
  173. package/docs/html/interfaces/json_CSVLayerJson.CSVLayerJson.html +2 -2
  174. package/docs/html/interfaces/json_EnvironmentJson.SnowyWeatherJson.html +2 -2
  175. package/docs/html/interfaces/json_FeatureLayerJson.FeatureLayerJson.html +2 -2
  176. package/docs/html/interfaces/json_GeoJSONLayerJson.GeoJSONLayerJson.html +2 -2
  177. package/docs/html/interfaces/json_GeoRSSLayerJson.GeoRSSLayerJson.html +2 -2
  178. package/docs/html/interfaces/json_GroupLayerJson.GroupLayerJson.html +2 -2
  179. package/docs/html/interfaces/json_ImageServiceLayerJson.ImageServiceLayerJson.html +2 -2
  180. package/docs/html/interfaces/json_ImageServiceVectorLayerJson.ImageServiceVectorLayerJson.html +2 -2
  181. package/docs/html/interfaces/json_IntegratedMeshLayerJson.IntegratedMeshLayerJson.html +2 -2
  182. package/docs/html/interfaces/json_KMLLayerJson.KMLLayerJson.html +2 -2
  183. package/docs/html/interfaces/json_MapServiceLayerJson.MapServiceLayerJson.html +2 -2
  184. package/docs/html/interfaces/json_MediaLayerJson.MediaLayerJson.html +2 -2
  185. package/docs/html/interfaces/json_OperationalLayerJson.OperationalLayerJsonBase.html +2 -2
  186. package/docs/html/interfaces/json_PointCloudLayerJson.PointCloudLayerJson.html +2 -2
  187. package/docs/html/interfaces/json_PopupInfoJson.PopupElementJson.html +2 -2
  188. package/docs/html/interfaces/json_RasterDataElevationLayerJson.RasterDataElevationLayerJson.html +2 -2
  189. package/docs/html/interfaces/json_RendererJson.SizeInfoJson.html +2 -2
  190. package/docs/html/interfaces/json_SceneLayerJson.SceneLayerJson.html +23 -13
  191. package/docs/html/interfaces/json_StreamLayerJson.StreamLayerJson.html +2 -2
  192. package/docs/html/interfaces/json_SubtypeGroupLayerJson.SubtypeGroupLayerJson.html +2 -2
  193. package/docs/html/interfaces/json_SubtypeGroupLayerJson.SubtypeSubtypeGroupLayerJson.html +2 -2
  194. package/docs/html/interfaces/json_SubtypeSublayerJson.SubtypeSublayerJson.html +2 -2
  195. package/docs/html/interfaces/json_TiledElevationServiceLayerJson.TiledElevationServiceLayerJson.html +2 -2
  196. package/docs/html/interfaces/json_TiledImageServiceLayerJson.TiledImageServiceLayerJson.html +2 -2
  197. package/docs/html/interfaces/json_TiledMapServiceLayerJson.TiledMapServiceLayerJson.html +2 -2
  198. package/docs/html/interfaces/json_VectorTileLayerJson.VectorTileLayerJson.html +2 -2
  199. package/docs/html/interfaces/json_WFSLayerJson.WFSLayerJson.html +2 -2
  200. package/docs/html/interfaces/json_WMSLayerJson.WMSLayerJson.html +2 -2
  201. package/docs/html/interfaces/json_WebSceneJson.HeightModelInfoJson.html +2 -2
  202. package/docs/html/interfaces/json_WebTileLayerJson.WebTileLayerJson.html +2 -2
  203. package/docs/html/interfaces/mapping_ArcGISSublayerExtension.ArcGISSublayerExtensionProperties.html +2 -2
  204. package/docs/html/interfaces/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtensionProperties.html +2 -2
  205. package/docs/html/interfaces/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtensionProperties.html +2 -2
  206. package/docs/html/interfaces/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtensionProperties.html +3 -3
  207. package/docs/html/interfaces/mapping_BuildingSceneLayerExtension.BuildingSceneLayerProperties.html +2 -2
  208. package/docs/html/interfaces/mapping_BuildingSublayerExtension.BuildingSublayerExtensionProperties.html +2 -2
  209. package/docs/html/interfaces/mapping_BuildingSublayerExtension.BuildingSublayerProperties.html +2 -2
  210. package/docs/html/interfaces/mapping_CSVLayerExtension.CSVLayerExtensionProperties.html +2 -2
  211. package/docs/html/interfaces/mapping_ElevationLayerExtension.ElevationLayerExtensionProperties.html +2 -2
  212. package/docs/html/interfaces/mapping_FeatureLayerExtension.FeatureLayerExtensionProperties.html +2 -2
  213. package/docs/html/interfaces/mapping_FeatureLayerExtension.FeatureLayerProperties.html +2 -2
  214. package/docs/html/interfaces/mapping_FeatureLayerExtensionBase.FeatureLayerBaseProperties.html +2 -2
  215. package/docs/html/interfaces/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBaseProperties.html +2 -2
  216. package/docs/html/interfaces/mapping_GeoJSONLayerExtension.GeoJSONLayerExtensionProperties.html +2 -2
  217. package/docs/html/interfaces/mapping_GeoRSSLayerExtension.GeoRSSLayerExtensionProperties.html +2 -2
  218. package/docs/html/interfaces/mapping_GraphicsLayerExtension.GraphicsLayerExtensionProperties.html +2 -2
  219. package/docs/html/interfaces/mapping_GroupLayerExtension.GroupLayerExtensionProperties.html +2 -2
  220. package/docs/html/interfaces/mapping_ImageryLayerExtension.ImageryLayerExtensionProperties.html +2 -2
  221. package/docs/html/interfaces/mapping_ImageryTileLayerExtension.ImageryTileLayerExtensionProperties.html +2 -2
  222. package/docs/html/interfaces/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtensionProperties.html +2 -2
  223. package/docs/html/interfaces/mapping_KMLLayerExtension.KMLLayerExtensionProperties.html +2 -2
  224. package/docs/html/interfaces/mapping_KMLSublayerExtension.KMLSublayerExtensionProperties.html +2 -2
  225. package/docs/html/interfaces/mapping_MapExtension.MapExtensionEvents.html +14 -0
  226. package/docs/html/interfaces/mapping_MapImageLayerExtension.MapImageLayerExtensionProperties.html +4 -4
  227. package/docs/html/interfaces/mapping_MapImageSublayerExtension.MapImageSublayerExtensionProperties.html +2 -2
  228. package/docs/html/interfaces/mapping_MapNotesLayerExtension.MapNotesLayerExtensionProperties.html +2 -2
  229. package/docs/html/interfaces/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionProperties.html +2 -2
  230. package/docs/html/interfaces/mapping_MediaLayerExtension.MediaLayerExtensionProperties.html +2 -2
  231. package/docs/html/interfaces/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtensionProperties.html +2 -2
  232. package/docs/html/interfaces/mapping_PointCloudLayerExtension.PointCloudLayerExtensionProperties.html +2 -2
  233. package/docs/html/interfaces/mapping_PointCloudLayerExtension.PointCloudLayerProperties.html +2 -2
  234. package/docs/html/interfaces/mapping_RouteLayerExtension.RouteLayerExtensionProperties.html +2 -2
  235. package/docs/html/interfaces/mapping_SceneLayerExtension.SceneLayerExtensionProperties.html +2 -2
  236. package/docs/html/interfaces/mapping_StreamLayerExtension.StreamLayerExtensionProperties.html +2 -2
  237. package/docs/html/interfaces/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtensionProperties.html +2 -2
  238. package/docs/html/interfaces/mapping_SubtypeSublayerExtension.SubtypeSublayerExtensionProperties.html +2 -2
  239. package/docs/html/interfaces/mapping_TileLayerExtension.TileLayerExtensionProperties.html +2 -2
  240. package/docs/html/interfaces/mapping_TileSublayerExtension.TileSublayerExtensionProperties.html +2 -2
  241. package/docs/html/interfaces/mapping_VectorTileLayerExtension.VectorTileLayerExtensionProperties.html +2 -2
  242. package/docs/html/interfaces/mapping_WFSLayerExtension.WFSLayerExtensionProperties.html +2 -2
  243. package/docs/html/interfaces/mapping_WMSLayerExtension.WMSLayerExtensionProperties.html +2 -2
  244. package/docs/html/interfaces/mapping_WMSSublayerExtension.WMSSublayerExtensionProperties.html +2 -2
  245. package/docs/html/interfaces/mapping_WMTSLayerExtension.WMTSLayerExtensionProperties.html +2 -2
  246. package/docs/html/interfaces/mapping_WebTileLayerExtension.WebTileLayerExtensionProperties.html +2 -2
  247. package/docs/html/interfaces/mapping__LayerExtension.LayerExtensionProperties.html +2 -2
  248. package/docs/html/interfaces/mapping__SublayerExtension.SublayerExtensionProperties.html +2 -2
  249. package/docs/html/interfaces/support_ArcGISRequestHelper.ArcGISRequestHelperResponse.html +1 -1
  250. package/docs/html/interfaces/support_ArcGISRequestHelper.ArcGISRequestOptions.html +2 -2
  251. package/docs/html/interfaces/support_InitializableBase.InitializableBaseEvents.html +7 -0
  252. package/docs/html/interfaces/support_InitializableCollectionProxy.InitializableCollection.html +1 -1
  253. package/docs/html/interfaces/support_Settings.SettingsEvents.html +7 -0
  254. package/docs/html/interfaces/support_esri.ChangeEvent.html +5 -5
  255. package/docs/html/interfaces/support_esri.LayerWithSublayers.html +1 -1
  256. package/docs/html/interfaces/support_esri.SublayerLike.html +2 -2
  257. package/docs/html/interfaces/support_observableUtils.WatchEachOptions.html +3 -3
  258. package/docs/html/interfaces/support_observableUtils.WatchOptions.html +3 -3
  259. package/docs/html/interfaces/utilities_ObservableMap.MapAfterItemEvent.html +4 -0
  260. package/docs/html/interfaces/utilities_ObservableMap.MapEvents.html +10 -0
  261. package/docs/html/interfaces/utilities_ObservableSet.SetAfterItemEvent.html +4 -0
  262. package/docs/html/interfaces/utilities_ObservableSet.SetChangeEvent.html +10 -0
  263. package/docs/html/interfaces/utilities_ObservableSet.SetEvents.html +10 -0
  264. package/docs/html/interfaces/utilities__layers.LayerWithLegendEnabledProperty.html +1 -1
  265. package/docs/html/interfaces/utilities__layers.TimeAwareLayer.html +1 -1
  266. package/docs/html/interfaces/utilities_collection.AfterItemChangeEvent.html +1 -1
  267. package/docs/html/modules/data_FeatureSet.html +2 -1
  268. package/docs/html/modules/data_Schema.html +1 -0
  269. package/docs/html/modules/json_BasemapJson.html +1 -0
  270. package/docs/html/modules/mapping_MapExtension.html +2 -1
  271. package/docs/html/modules/support_InitializableBase.html +1 -0
  272. package/docs/html/modules/support_Settings.html +1 -0
  273. package/docs/html/modules/support_esri.html +1 -6
  274. package/docs/html/modules/support_observableUtils.html +2 -1
  275. package/docs/html/modules/utilities_ObservableMap.html +3 -1
  276. package/docs/html/modules/utilities_ObservableSet.html +3 -0
  277. package/docs/html/modules/utilities_basemaps.html +4 -1
  278. package/docs/html/types/json_BasemapLayerJson.BasemapLayerJson.html +1 -1
  279. package/docs/html/types/json_SymbolJson.ColorJson.html +1 -1
  280. package/docs/html/types/support_observableUtils.EventTarget.html +2 -0
  281. package/docs/html/types/support_observableUtils.WhenOptions.html +1 -1
  282. package/docs/html/variables/support_esri.Collection.html +1 -1
  283. package/docs/html/variables/version.version.html +1 -1
  284. package/json/BasemapJson.d.ts +14 -2
  285. package/json/BasemapJson.js +1 -1
  286. package/json/BasemapLayerJson.d.ts +2 -1
  287. package/json/SceneLayerJson.d.ts +11 -1
  288. package/json/SymbolJson.d.ts +1 -1
  289. package/layer-preset/LayerPreset.js +1 -1
  290. package/mapping/ArcGISSublayerExtension.d.ts +2 -2
  291. package/mapping/BasemapExtension.d.ts +2 -1
  292. package/mapping/BasemapExtension.js +1 -1
  293. package/mapping/BuildingComponentSublayerExtension.d.ts +2 -2
  294. package/mapping/BuildingSceneLayerExtension.d.ts +2 -2
  295. package/mapping/CSVLayerExtension.d.ts +1 -1
  296. package/mapping/FeatureLayerExtension.d.ts +1 -1
  297. package/mapping/FeatureLayerExtensionBase.d.ts +2 -2
  298. package/mapping/GeoJSONLayerExtension.d.ts +1 -1
  299. package/mapping/GroundExtension.d.ts +2 -1
  300. package/mapping/MapExtension.d.ts +24 -4
  301. package/mapping/MapExtension.js +1 -1
  302. package/mapping/SceneLayerExtension.d.ts +2 -2
  303. package/mapping/StreamLayerExtension.d.ts +2 -2
  304. package/mapping/SubtypeSublayerExtension.d.ts +3 -3
  305. package/mapping/WFSLayerExtension.d.ts +2 -2
  306. package/mapping/_LayerExtension.d.ts +6 -5
  307. package/mapping/_LayerExtension.js +1 -1
  308. package/mapping/_SublayerExtension.d.ts +4 -2
  309. package/mapping/support/_LayerExtensionCollection.d.ts +3 -9
  310. package/mapping/support/_LayerExtensionCollection.js +1 -1
  311. package/mapping/support/_SublayerExtensionCollection.d.ts +4 -9
  312. package/mapping/support/_SublayerExtensionCollection.js +1 -1
  313. package/mapping/support/featureService.js +1 -1
  314. package/package.json +2 -2
  315. package/portal/CSVLayer.d.ts +1 -1
  316. package/portal/ElevationInfo.d.ts +4 -3
  317. package/portal/ElevationInfo.js +1 -1
  318. package/portal/LabelingInfo.js +1 -1
  319. package/portal/LayerDefinition.js +1 -1
  320. package/portal/MapServiceLayer.js +1 -1
  321. package/portal/Slide.js +1 -1
  322. package/portal/SubtypeGroupLayer.d.ts +2 -2
  323. package/portal/Symbol.d.ts +1 -1
  324. package/portal/Symbol.js +1 -1
  325. package/portal/TiledMapServiceLayer.d.ts +1 -1
  326. package/portal/TiledMapServiceLayer.js +1 -1
  327. package/portal/WMSLayer.d.ts +4 -3
  328. package/portal/WMTSInfo.d.ts +2 -2
  329. package/portal/WebMap.js +1 -1
  330. package/support/ArcGISRequestHelper.d.ts +2 -2
  331. package/support/FormatSettings.d.ts +6 -1
  332. package/support/InitializableBase.d.ts +17 -2
  333. package/support/InitializableBase.js +1 -1
  334. package/support/Serializable.d.ts +1 -1
  335. package/support/Serializable.js +1 -1
  336. package/support/Settings.d.ts +19 -0
  337. package/support/_esriInternal.d.ts +1 -3
  338. package/support/_esriInternal.js +1 -1
  339. package/support/esri.d.ts +10 -7
  340. package/support/esri.js +1 -1
  341. package/support/observableUtils.d.ts +8 -8
  342. package/support/observableUtils.js +1 -1
  343. package/tasks/identify/ArcGISSublayerIdentifyProvider.d.ts +1 -1
  344. package/tasks/identify/BuildingComponentSublayerHitTestIdentifyProvider.d.ts +1 -1
  345. package/tasks/identify/CSVLayer3DHitTestIdentifyProvider.d.ts +1 -1
  346. package/tasks/identify/CSVLayerClientSideQueryIdentifyProvider.d.ts +1 -1
  347. package/tasks/identify/FeatureLayer3DHitTestIdentifyProvider.d.ts +1 -1
  348. package/tasks/identify/FeatureLayerClientSideIdentifyProvider.d.ts +1 -1
  349. package/tasks/identify/FeatureLayerQueryIdentifyProvider.d.ts +1 -1
  350. package/tasks/identify/GeoJSONLayer3DHitTestIdentifyProvider.d.ts +1 -1
  351. package/tasks/identify/GeoJSONLayerClientSideQueryIdentifyProvider.d.ts +1 -1
  352. package/tasks/identify/GeoRSSLayerIdentifyProvider.d.ts +1 -1
  353. package/tasks/identify/GraphicsLayerQueryIdentifyProvider.d.ts +1 -1
  354. package/tasks/identify/HitTestIdentifyProvider.d.ts +1 -1
  355. package/tasks/identify/IdentifyProviderBase.d.ts +1 -1
  356. package/tasks/identify/IdentifyService.d.ts +1 -1
  357. package/tasks/identify/ImageryLayerIdentifyProvider.d.ts +1 -1
  358. package/tasks/identify/KMLLayerQueryIdentifyProvider.d.ts +1 -1
  359. package/tasks/identify/MapNotesSublayerQueryIdentifyProvider.d.ts +1 -1
  360. package/tasks/identify/PointCloudLayerHitTestIdentifyProvider.d.ts +1 -1
  361. package/tasks/identify/RouteLayerQueryIdentifyProvider.d.ts +1 -1
  362. package/tasks/identify/SceneLayerHitTestIdentifyProvider.d.ts +1 -1
  363. package/tasks/identify/SceneLayerQueryIdentifyProvider.d.ts +1 -1
  364. package/tasks/identify/SubtypeSublayerQueryIdentifyProvider.d.ts +1 -1
  365. package/tasks/identify/WMSLayerFeatureInfoIdentifyProvider.d.ts +1 -1
  366. package/tasks/identify/WMSSublayerIdentifyProvider.d.ts +1 -1
  367. package/tasks/query/QueryOptions.d.ts +1 -1
  368. package/tasks/query/SubtypeSublayerQueryProvider.d.ts +3 -2
  369. package/tasks/search/SearchOptions.d.ts +1 -1
  370. package/tasks/search/support/_querySearchProviderUtils.d.ts +1 -1
  371. package/utilities/CollectionProxy.d.ts +30 -22
  372. package/utilities/CollectionProxy.js +1 -1
  373. package/utilities/MapTransformCollection.js +1 -1
  374. package/utilities/ObservableMap.d.ts +30 -6
  375. package/utilities/ObservableMap.js +1 -1
  376. package/utilities/ObservableSet.d.ts +52 -7
  377. package/utilities/ObservableSet.js +1 -1
  378. package/utilities/ReadOnlyMap.d.ts +10 -8
  379. package/utilities/_ReferenceCountedHandle.d.ts +3 -2
  380. package/utilities/_geoJson.d.ts +1 -1
  381. package/utilities/_gml.d.ts +1 -1
  382. package/utilities/_layers.d.ts +1 -1
  383. package/utilities/_layers.js +1 -1
  384. package/utilities/_project.d.ts +1 -1
  385. package/utilities/_wkt.d.ts +1 -1
  386. package/utilities/basemaps.d.ts +20 -1
  387. package/utilities/basemaps.js +1 -1
  388. package/utilities/collection.d.ts +2 -1
  389. package/utilities/esri.d.ts +1 -1
  390. package/utilities/geometry.d.ts +1 -1
  391. package/utilities/query.d.ts +1 -1
  392. package/utilities/renderers.d.ts +8 -8
  393. package/utilities/symbol.d.ts +2 -2
  394. package/utilities/watch.d.ts +6 -6
  395. package/utilities/watch.js +1 -1
  396. package/version.d.ts +1 -1
  397. package/version.js +1 -1
  398. package/docs/html/types/support_esri.BuildingComponentSublayerCapabilities.html +0 -1
  399. package/docs/html/types/support_esri.BuildingComponentSublayerCapabilitiesData.html +0 -1
  400. package/docs/html/types/support_esri.CollectionAfterChangesEventHandler.html +0 -1
  401. package/docs/html/types/support_esri.CollectionBeforeChangesEventHandler.html +0 -1
  402. package/docs/html/types/support_esri.FeatureLayerElevationInfo.html +0 -1
@@ -1 +1 @@
1
- import{__decorate as e}from"tslib";import t from"@arcgis/core/core/Collection";import{ArgumentError as i}from"../ArgumentError.js";import{InvalidOperationError as s}from"../InvalidOperationError.js";import{ItemType as r}from"../ItemType.js";import{FeatureSourceBase as a}from"../data/FeatureSourceBase.js";import{FieldExtension as n}from"../data/FieldExtension.js";import{PopupContentExtension as o}from"../data/PopupContentExtension.js";import{Schema as l}from"../data/Schema.js";import{layerToJson as y,getLayerJsonType as h,jsonToLayer as d,applyJsonToLayer as u}from"../json/LayerJson.js";import{DefaultArcGISRequestHelper as p}from"../support/ArcGISRequestHelper.js";import{ReadOnlyInitializableCollection as c}from"../support/ReadOnlyInitializableCollection.js";import{serializable as f}from"../support/Serializable.js";import{createIHandle as _,notifyChange as b,onWatch as m,watch as g,watchEach as E}from"../support/observableUtils.js";import x from"../utilities/_ReferenceCountedHandle.js";import{getEquivalencyTypeForLayers as S,getLayerUrl as L,isLayer as v}from"../utilities/_layers.js";import{checkArg as w}from"../utilities/checkArg.js";import{compare as M}from"../utilities/collection.js";import{load as I}from"../utilities/esri.js";import{isGroupLayerExtension as P}from"../utilities/extensions.js";import{hasMmapLayer as A}from"../utilities/layers.js";import{getLogger as C}from"../utilities/log.js";import{deepClone as j,objectKeys as z}from"../utilities/object.js";import{toPortalItem as H}from"../utilities/portal.js";import{onCollectionPropertyChange as T}from"../utilities/watch.js";import{_assignSublayerExtensions as R}from"./_SublayerExtension.js";import{ExtensionBaseLayerListSettings as V,fromLayerListMode as D}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase as F}from"./support/_SublayerExtensionCollection.js";const O="Invalid type of layer for this type of layer extension.",$="This type of layer does not have features.",N="This type of layer cannot have sublayers.",k=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1,supportsStandardizedQueries:!1});export class LayerExtension extends a{get layer(){return this._layer}get mapExtension(){return this._mapExtension}get basemapExtension(){return this._basemapExtension}get groundExtension(){return this._groundExtension}get parentLayerExtension(){return this._parentLayerExtension}get hasFeatures(){return!1}get capabilities(){return this._capabilities()}get renderer(){}get visibilityMode(){return this._visibilityMode}set visibilityMode(e){this._visibilityMode=e,"exclusive"===e&&this._ensureAtMostOneChildSublayerVisible()}get sublayerExtensions(){return this._sublayerExtensions}get requestHelper(){return this._requestHelper||(this._requestHelper=new p),this._requestHelper}set requestHelper(e){this._requestHelper=e}get title(){return this.layer?.title??this._deferredLayerProperties?.title??("string"==typeof this._deferredLayerProperties?.$ref?this._deferredLayerProperties?.$ref:this._deferredLayerProperties?.$ref?.title??this._deferredLayerProperties?.$ref?.id)??"Layer"}get supportsSublayers(){return!1}get effectiveMinScale(){return this.layer&&this.layer.minScale||0}get effectiveMaxScale(){return this.layer&&this.layer.maxScale||0}get isEffectivelyVisible(){const e=!!this.layer&&this.layer.visible;return this.parentLayerExtension?this.parentLayerExtension.isEffectivelyVisible&&e:e}get effectiveFullExtent(){return this.layer?this.layer.fullExtent:void 0}get canChangeScale(){return!0}get canChangeOpacity(){return!0}get canChangeLabels(){return!1}get canChangeRenderer(){return!1}get canChangeDefinitionExpression(){return!1}get initialDefinitionExpression(){return this._initialDefinitionExpression}get initialRenderer(){return this._initialRenderer}get initialVisibility(){return this._initialVisibility??this.layer?.visible??!1}get _layerId(){return this.layer?.id??this._deferredLayerProperties?.$ref?.id}get _layerSupportsHideChildren(){return this.supportsSublayers}get _sublayers(){if(this.supportsSublayers)return this.layer?this.layer.sublayers:void 0}static factory;get dynamicallyAddedLayer(){return this._dynamicallyAddedLayer}set dynamicallyAddedLayer(e){this._dynamicallyAddedLayer=e}tpkSource;layerListSettings;allSublayerExtensions;get sublayersAreReadOnly(){return!0}_itemType=r.LAYER_EXTENSION;_watchHandles=[];_layerWatchHandles=[];_mapExtension;_basemapExtension;_groundExtension;_parentLayerExtension;_sublayerExtensions;_layer;_dynamicallyAddedLayer=!1;_deferredLayerProperties;_requestHelper;_initialDefinitionExpression;_initialRenderer;_initialVisibility;_visibilityMode="independent";_portalItem;constructor(e){super(e);const t={...this.getDefaults(),...e};w("properties.layer",t.layer).isNotMissing();const{layer:i}=t;let s;if(i?.hasOwnProperty("listMode")&&(s=D(i.listMode)),this.layerListSettings=this._createLayerListSettings({...s,...t.layerListSettings}),v(i))w("properties.layer",i).satisfies((e=>this._isSupportedLayer(e)),O),this._setLayer(i);else if(i){if(i.$portalItem){const e=i.$portalItem;this._portalItem=H(e)}this._deferredLayerProperties=i}this._sublayerExtensions=this._createSublayerExtensionCollection(),this.allSublayerExtensions=new W(this),m(this,"isEffectivelyVisible",(()=>g(this,"parentLayerExtension.isEffectivelyVisible",(()=>b(this,"isEffectivelyVisible")),{sync:!0}))),m(this,"_sublayers",(()=>g(this,"layer.sublayers",(()=>b(this,"_sublayers")),{sync:!0})))}static create(e){if(!LayerExtension.factory)throw new s("Cannot create layer extension: no layer extension factory has been registered.");return LayerExtension.factory.create(e)}static async fromPortalItem(e,t){w("portalItemLike",e).isNotMissing();const s=t??{};w("layerExtensionProperties.layer",s.layer).satisfies((e=>!v(e)));const r={...s.layer};w("layerExtensionProperties.layer.$ref",r.$ref).satisfies((e=>null==e));const a=new p,n=H(e);let o;await I(n);const l=n.typeKeywords??"";if("Map Service"===n.type)o=l.includes("Tiled")||l.includes("Hosted Service")?"ArcGISTiledMapServiceLayer":"ArcGISMapServiceLayer";else if("Feature Service"===n.type)o=l.includes("SubtypeGroupLayer")?"SubtypeGroupLayer":"ArcGISFeatureLayer";else if("Image Service"===n.type){const e=await LayerExtension._getLayerData(n.url,a);e.cacheType?"Map"===e.cacheType||l.includes("Tiled Imagery")?o="ArcGISTiledImageServiceLayer":"Elevation"===e.cacheType||l.includes("Elevation 3D Layer")?o="ArcGISTiledElevationServiceLayer":"Raster"===e.cacheType&&(o="ArcGISImageServiceLayer"):o=e.singleFusedMapCache||e.tileInfo||l.includes("Hosted Service")?"ArcGISTiledImageServiceLayer":"ArcGISImageServiceLayer"}else if("CSV"===n.type)o="CSV";else if("KML"===n.type)o="KML";else if("Scene Service"===n.type)l.includes("3DObject")||l.includes("Point")?o="ArcGISSceneServiceLayer":l.includes("IntegratedMesh")?o="IntegratedMeshLayer":l.includes("PointCloud")?o="PointCloudLayer":l.includes("Building")&&(o="BuildingSceneLayer");else if("Stream Service"===n.type)o="ArcGISStreamLayer";else if("Vector Tile Service"===n.type)o="VectorTileLayer";else if("Feature Collection"===n.type){o="ArcGISFeatureLayer";const e=await n.fetchData();r.featureCollection=e}else if("WFS"===n.type){o="WFS";const e=await n.fetchData();Object.assign(r,e)}else if("WMTS"===n.type){o="WebTiledLayer";const e=await n.fetchData();Object.assign(r,e)}else if("WMS"===n.type){o="WMS";const e=await n.fetchData();Object.assign(r,e)}if(!o)throw new i("portalItem","Could not determine correct type of LayerExtension to create from portal item");if(r.layerType&&r.layerType!==o)throw new i("layerExtensionProperties.layer.layerType","Layer type defined in layer properties does not match layer type from portal item");return r.layerType=o,r.$portalItem=n,s.layer=r,LayerExtension.create(s)}static async _getLayerData(e,t){const i=await t.request(e,{query:{f:"json"}});if(!i?.data)throw new Error(`Response to request for url ${e} was invalid.`);return i.data}getFeatures(e,t){if(!this.hasFeatures)throw new s($);return super.getFeatures(e,t)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s($);await super.addFeatures(e,t)}async updateFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s($);await super.updateFeatures(e,t)}async deleteFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s($);await super.deleteFeatures(e,t)}async _createBackingLayer(){this._portalItem||this.layer||this._deferredLayerProperties?.$ref?!this.layer&&this._portalItem&&this._setLayer(await this._createLayer(this.getDefaults().layer)):(this._setLayer(await this._createLayer(this._deferredLayerProperties)),w("properties.layer",this._layer).satisfies((e=>this._isSupportedLayer(e)),O),this._deferredLayerProperties=void 0)}_setMapExtension(e){if(this.mapExtension===e)return;const t=this.mapExtension;this._mapExtension=e,t&&this.featureSettings.formatSettings.parent===t.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.formatSettings)),this._resolveLayer(),b(this,"mapExtension")}_setBasemapExtension(e){this.basemapExtension!==e&&(this._basemapExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),b(this,"basemapExtension"))}_setGroundExtension(e){this.groundExtension!==e&&(this._groundExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),b(this,"groundExtension"))}_setParentLayerExtension(e){if(this.parentLayerExtension===e)return;const t=this._parentLayerExtension;this._parentLayerExtension=e,t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=this.mapExtension?this.mapExtension.formatSettings:void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=void 0)),e&&((!this.featureSettings.formatSettings.parent||this.mapExtension&&this.featureSettings.formatSettings.parent===this.mapExtension.formatSettings)&&(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),this.taskSettings.parent||(this.taskSettings.parent=e.taskSettings)),this._resolveLayer(),b(this,"parentLayerExtension")}_resolveLayer(e){if(this.layer||!this._deferredLayerProperties)return;const t=e??this.basemapExtension?.basemap?.baseLayers??this.groundExtension?.ground?.layers??this.parentLayerExtension?.layer?.layers??this.mapExtension?.map.layers;if(!t)return;const i=[];let s;for(const e of t){const t=S(e,this._deferredLayerProperties);if("none"!==t){if("solid"===t){s=e;break}i.push(e)}}s||1!==i.length||(s=i[0]),s&&this._isSupportedLayer(s)&&(this._setLayer(s),this._deferredLayerProperties.$portalItem&&J().warn("LayerExtension defined with both $ref and $portalItem. Ignoring $portalItem."))}async _switchLayer(e){if(e===this.layer)return;w("newLayer",e).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),O),this.isInitialized&&await I(e);const t=new Map;if(this._sublayers)for(const e of this._sublayers.toArray())t.set(e.id,this.sublayerExtensions.forSublayer(e));e.visible=this.layer.visible,e.opacity=this.layer.opacity,e.listMode=this.layer.listMode,e.hasOwnProperty("labelsVisible")&&this.layer.hasOwnProperty("labelsVisible")&&(e.labelsVisible=this.layer.labelsVisible);const i=this.schema.fieldExtensions.toArray(),s=this.featureSettings.popupContentExtensions.toArray();this._setLayer(e),i.forEach((e=>{const t=this.schema.fields.find((t=>n.matchesRef(e,{$ref:t.name})));t&&e._switchField(t)})),s.forEach(((e,t)=>{const i=this.featureSettings.popupContentExtensions.find((e=>o.matchesRef(s,t,e.toJSON().content)));i&&e._switchContent(i.content)}));const r=[];if(this._sublayers){const e=this._sublayers.filter((e=>t.has(e.id))).toArray();r.push(...e.map((async e=>{const i=t.get(e.id);await i._switchSublayer(e),this._sublayerExtensions._register(i)})))}this.isInitialized&&r.push(this._initializeChildren()),await Promise.all(r)}_getProjectWebmapJSON(){if(!this.layer)return;let e=y(this.layer);if(!this.dynamicallyAddedLayer){const{id:t,title:i,layerType:s,opacity:r}=e;e={id:t,title:i,layerType:s,visibility:this.layer.visible,opacity:r}}return e}_onSublayerAddedPostInitialize=async e=>{try{await e.initialize()}catch(t){J().error({message:`Error occurred while initializing sublayer extension for sublayer '${e.title??e.sublayer.id??e.id}'.`,error:t})}};async _onDestroy(){this._watchHandles.forEach((e=>e?.remove())),this._layerWatchHandles.forEach((e=>e?.remove())),await Promise.all(this.sublayerExtensions.toArray().map((e=>e.destroy()))),await super._onDestroy()}_getSerializableProperties(){return{...super._getSerializableProperties(),iconUrl:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.iconUrl:this.getDefault("iconUrl")},visibilityMode:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.visibilityMode:this.getDefault("visibilityMode"),default:"independent"},tpkSource:{serializeModes:["initial"]},layerListSettings:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.layerListSettings:this.getDefault("layerListSettings")},sublayerExtensions:{serializeModes:["initial","project"],serialize:e=>this.sublayerExtensions.map((e=>e.toItemUri())).toArray(),deserialize:e=>{R(this.sublayerExtensions,e,(e=>this._createSublayerExtension(e)))}},layer:{serializeModes:["initial","project"],serialize:e=>{if(this.layer){if((this._mapExtension||this._parentLayerExtension||this._basemapExtension||this._groundExtension)&&(this._layer.id||this._layer.title)){const e=h(this._layer),t=this._getSerializableRefLayerProperties(),i=L(this._layer),s=i?{url:i}:{};return{$ref:{id:this._layer.id,title:this._layer.title,subtype:this._getSerializableLayerType(),...s},layerType:e,...t}}return y(this.layer)}return this._deferredLayerProperties?j(this._deferredLayerProperties):void 0},isDefault:()=>{throw new Error("Missing implementation for _getSerializableProperties() > layer > default. Subclasses of LayerExtension must implement this.")},deserialize:e=>{if(v(e)){if(e!==this.layer)throw new Error("Property 'layer' is read-only.")}else if(e){if(this._layer)return this._applyLayerProperties(e,this.layer);this._deferredLayerProperties&&(this._deferredLayerProperties={...this._deferredLayerProperties,...e})}}},dynamicallyAddedLayer:{serializeModes:["project"],default:!1},requestHelper:{serialize:!1}}}_getSerializableLayerType(){}_getSerializableRefLayerProperties(){return{}}_createSublayerExtension(e){if(!this.supportsSublayers)throw new s(N);throw new Error("Missing implementation for _createSublayerExtension(). Subclasses of LayerExtension that support sublayers must implement this.")}async _onInitialize(){if(await super._onInitialize(),await this._createBackingLayer(),this._portalItem&&(await I(this._portalItem),await this._applyPortalItemProperties(this._portalItem),this.layer.title=this._portalItem.title,this.layer.portalItem=this._portalItem,this.iconUrl||(this.iconUrl=this._portalItem.thumbnailUrl),await this._applyLayerProperties(this._deferredLayerProperties,this.layer),this._deferredLayerProperties=void 0),this._resolveLayer(),!this.layer){const e=this._deferredLayerProperties.$ref;throw this._mapExtension||this._parentLayerExtension||this._basemapExtension||this._groundExtension?new s(`No layer found matching reference "${"string"==typeof e?e:JSON.stringify(e)}".`):new s("Cannot resolve layer reference: missing parent.")}this._deferredLayerProperties&&(await this._applyLayerProperties(this._deferredLayerProperties,this.layer),this._deferredLayerProperties=void 0),await this._initializeLayer(),await I(this.layer),this.supportsSublayers&&!this.layer.sublayers&&this.layer._set("sublayers",new t),this._initialDefinitionExpression="definitionExpression"in this.layer?this.layer.definitionExpression:void 0,this._initialRenderer=this.renderer?.clone(),this._initialVisibility=this.layer.visible,this._sublayerExtensions.onParentInitialized()}async _postInitialize(){await super._postInitialize(),this.layerListSettings.onLayerExtensionInitialized(),this.supportsSublayers&&this._watchHandles.push(T(this,"layer.sublayers",(async e=>{const t=(e.added??[]).map((e=>this.sublayerExtensions.forSublayer(e)));await Promise.all(t.map(this._onSublayerAddedPostInitialize))})))}_applyPortalItemProperties(e){throw new s("Cannot use this type of layer extension with a PortalItem.")}async _initializeLayer(){}_createLayerListSettings(e){return new G(e,this)}_createSublayerExtensionCollection(){return new B(this)}_capabilities(){return k}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}async _createLayer(e){return d(e)}_applyLayerProperties(e,t){w("layerJson",e).isNotMissing();const i=e.layerType||e.type;return w("layerJson.layerType",i).satisfies((e=>!e||e===this.getDefault("layer")?.layerType)),w("layer",t).isNotMissing().satisfies((e=>this._isSupportedLayer(e))),u(e,t)}_setLayer(e){if(this._layer=e,this._layerWatchHandles.forEach((e=>e.remove())),this._layerWatchHandles.length=0,this._layerWatchHandles.push(g(e,"visible",((e,t,i)=>{this._onVisibleChanged(e),this.mapExtension?.emit("layer-visibility-change",i)})),m(this,"effectiveMinScale",(()=>g(this.layer,"minScale",(()=>b(this,"effectiveMinScale")),{sync:!0}))),m(this,"effectiveMaxScale",(()=>g(this.layer,"maxScale",(()=>b(this,"effectiveMaxScale")),{sync:!0}))),m(this,"title",(()=>g(this.layer,"title",(()=>b(this,"title")),{sync:!0})))),"definitionExpression"in e&&this._watchHandles.push(g(e,"definitionExpression",((e,t,i)=>{this.mapExtension?.emit("layer-definition-expression-change",i)}))),this.supportsSublayers)if(this._sublayers)this._setupSublayersHandles();else{const t=g(e,"sublayers",(()=>{this._setupSublayersHandles()}),{sync:!0,once:!0});this._layerWatchHandles.push(t)}b(this,"layer"),b(this,"title"),b(this,"effectiveMinScale"),b(this,"effectiveMaxScale"),b(this,"isEffectivelyVisible")}_setupSublayersHandles(){this._layerWatchHandles.push(this._sublayers.on("after-add",this._onSublayersAfterAdd),this._sublayers.on("after-remove",this._onSublayersAfterRemove),E(this._sublayers,"[].visible",this._onSublayersSublayerVisibleChanged,{sync:!0}))}_onVisibleChanged=e=>{if("inherited"===this.visibilityMode&&this.supportsSublayers&&this._sublayers)for(const t of this._sublayers.toArray())t.visible=e;b(this,"isEffectivelyVisible")};_onSublayersSublayerVisibleChanged=(e,t,i)=>{e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(i)};_onSublayersAfterAdd=e=>{1!==this._sublayers.length||e.item.visible||"exclusive"!==this.visibilityMode?e.item.visible&&"exclusive"===this.visibilityMode&&(e.item.visible=!1):e.item.visible=!0};_onSublayersAfterRemove=e=>{0!==this._sublayers.length&&"exclusive"===this.visibilityMode&&e.item.visible&&this._ensureAChildSublayerVisible(this._sublayers.getItemAt(0))};_ensureAChildSublayerVisible(e){for(const t of this._sublayers.toArray())t!==e&&(t.visible=!1)}_ensureAtMostOneChildSublayerVisible(){this.layer&&this._sublayers&&this._ensureAChildSublayerVisible(this._sublayers.find((e=>e.visible)))}}class B extends F{constructor(e){super(e,"_sublayers"),this._layerExtension=e}add(e,t){if(w("sublayerX",e).isNotMissing(),!this._layerExtension.supportsSublayers)throw new s(N);const i=e.sublayer?e.sublayer.layer:void 0;return i&&i!==this._layerExtension.layer&&i.sublayers.remove(e.sublayer),super.add(e,t)}}class W extends c{get _collection(){return this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions))}_layerExtension;_onChangeLayerExtensionsHandle=new x((()=>{const e=new WeakMap,i=new Set,s=r=>{const a=new t(r.added).flatten((e=>e.sublayerExtensions)),n=new t(r.moved).flatten((e=>e.sublayerExtensions)),o=new t(r.removed).flatten((e=>e.sublayerExtensions));for(const t of a)if(!e.has(t)){const r=t.sublayerExtensions.on("change",s);e.set(t,r),i.add(r)}for(const t of o){const s=e.get(t);s&&(s.remove(),e.delete(t),i.delete(s))}this.emit("change",{added:a.toArray(),moved:n.toArray(),removed:o.toArray(),target:this})};i.add(this._layerExtension.sublayerExtensions.on("change",s));const r=this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const t of r){const r=t.sublayerExtensions.on("change",s);e.set(t,r),i.add(r)}return _(i)}));_onAfterAddLayerExtensionsHandle=new x((()=>{const e=new WeakMap,t=new Set,i=i=>{const s=e.get(i);s&&(s.remove(),e.delete(i),t.delete(s))},s=e=>{const t=e.item,s=t.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const e of s)i(e);i(t)},r=i=>{this.emit("after-add",{...i,target:this});const a=i.item.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const n of a)if(this.emit("after-add",{...i,item:n,target:this}),!e.has(n)){const i=n.sublayerExtensions.on("after-add",r),a=n.sublayerExtensions.on("after-remove",s),o=_([i,a]);e.set(n,o),t.add(o)}};t.add(this._layerExtension.sublayerExtensions.on("after-add",r)),t.add(this._layerExtension.sublayerExtensions.on("after-remove",s));const a=this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const i of a){const a=i.sublayerExtensions.on("after-add",r),n=i.sublayerExtensions.on("after-remove",s),o=_([a,n]);e.set(i,o),t.add(o)}return _(t)}));_onAfterRemoveLayerExtensionsHandle=new x((()=>{const e=new WeakMap,t=new Set,i=i=>{const s=e.get(i);s&&(s.remove(),e.delete(i),t.delete(s))},s=e=>{this.emit("after-remove",{...e,target:this});const t=e.item,s=t.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const t of s)this.emit("after-remove",{...e,item:t,target:this}),i(t);i(t)},r=i=>{const a=i.item,n=a.sublayerExtensions.on("after-add",r),o=a.sublayerExtensions.on("after-remove",s),l=_([n,o]);e.set(a,l),t.add(l)};t.add(this._layerExtension.sublayerExtensions.on("after-remove",s)),t.add(this._layerExtension.sublayerExtensions.on("after-add",r));const a=this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const i of a){const a=i.sublayerExtensions.on("after-add",r),n=i.sublayerExtensions.on("after-remove",s),o=_([a,n]);e.set(i,o),t.add(o)}return _(t)}));constructor(e){super(),this._layerExtension=e}on(e,t){const i=[];return"change"===e?i.push(this._onChangeLayerExtensionsHandle.add()):"after-add"===e?i.push(this._onAfterAddLayerExtensionsHandle.add()):"after-remove"===e&&i.push(this._onAfterRemoveLayerExtensionsHandle.add()),i.push(super.on(e,t)),_(i)}findById(e){return w("id",e).isNotMissing(),this.find((t=>t.id===e))}findBySublayerId(e){return w("id",e).isNotMissing(),this.find((t=>t._sublayerId===e))}forSublayer(e){return w("sublayer",e).isNotMissing(),this.findBySublayerId(e.id)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.sublayer}}let G=class extends V{get _esriLayer(){return this._extension.layer}get _listModePath(){return"layer.listMode"}get _supportsChildren(){return this._extension.supportsSublayers}};G=e([f],G);export{G as LayerExtensionLayerListSettings};function q(e){return"object"==typeof e?e:{property:e}}let U=class extends l{_layerExtension;_layerBindings=new Map;constructor(e){super(),this._layerExtension=e,this._bindSettingsToLayerProperties(),e.layer?this._onLayerResolved(e.layer):g(e,"layer",(()=>{this._onLayerResolved(e.layer)}),{sync:!0,once:!0})}_getPropertyBindings(){return{}}_hasSettingIncludingAncestor(e){return!(!this._layerBindings.has(e)||!this._layerExtension.layer)||super._hasSettingIncludingAncestor(e)}_getSetting(e,t){if(this._layerBindings.has(e)){const t=q(this._layerBindings.get(e));if(t.hasOwnProperty("value"))return t.value;if(this._layerExtension.layer)return this._layerExtension.layer[t.property]}return super._getSetting(e,t)}_setSetting(e,t){if(this._layerBindings.has(e)){const i=q(this._layerBindings.get(e));if(i.readonly||i.hasOwnProperty("value"))throw new s(ERR_SCHEMA_READ_ONLY);if(this._layerExtension.layer)return void(this._layerExtension.layer[i.property]=t)}super._setSetting(e,t)}_bindSettingsToLayerProperties(){const e=this._getPropertyBindings();for(const t of z(e)){const i=q(e[t]);this._layerBindings.set(t,i),i.hasOwnProperty("value")||m(this,t,(()=>g(this._layerExtension,`layer.${String(i.property)}`,(()=>b(this,t)),{sync:!i.hasOwnProperty("sync")||i.sync})))}}_onLayerResolved(e){for(const t of this._layerBindings.keys())this.isModified(t)&&(e[t]=this[t],this.reset(t))}};U=e([f],U);export{U as LayerExtensionSchema};export function _assignLayerExtensions(e,t){return M(e,t,{onNew:(t,i)=>{e.add(t instanceof LayerExtension?t:LayerExtension.create(t),Y(t)?void 0:i)},onMatch:(t,i,s,r)=>{i instanceof LayerExtension||t.assignProperties(i),s===r||Y(i)||e.reorder(t,r)},onMissing:t=>{(A([t])||P(t)&&0===t.layerExtensions.toArray().length)&&e.remove(t)},equals:(e,t)=>{const i="solid"===S(e.layer,t.layer);return t instanceof LayerExtension?e===t||i:i||e.id===t.id}})}function J(){return C("geocortex.api.mapping.LayerExtension")}function Y(e){return e instanceof LayerExtension?!!e._deferredLayerProperties?.$ref:!v(e.layer)&&!!e.layer?.$ref}let K=class extends U{_setSetting(e,t){if(this._layerBindings.has(e))throw new s(ERR_SCHEMA_READ_ONLY);super._setSetting(e,t)}};K=e([f],K);export{K as LayerExtensionReadOnlySchema};export const ERR_SCHEMA_READ_ONLY="This schema property is read-only.";
1
+ import{__decorate as e}from"tslib";import t from"@arcgis/core/core/Collection";import{ArgumentError as i}from"../ArgumentError.js";import{InvalidOperationError as s}from"../InvalidOperationError.js";import{ItemType as r}from"../ItemType.js";import{FeatureSourceBase as a}from"../data/FeatureSourceBase.js";import{FieldExtension as n}from"../data/FieldExtension.js";import{PopupContentExtension as o}from"../data/PopupContentExtension.js";import{Schema as l}from"../data/Schema.js";import{layerToJson as y,getLayerJsonType as h,jsonToLayer as d,applyJsonToLayer as u}from"../json/LayerJson.js";import{DefaultArcGISRequestHelper as p}from"../support/ArcGISRequestHelper.js";import{ReadOnlyInitializableCollection as c}from"../support/ReadOnlyInitializableCollection.js";import{serializable as f}from"../support/Serializable.js";import{createIHandle as _,notifyChange as b,onWatch as m,watch as g,watchEach as E}from"../support/observableUtils.js";import x from"../utilities/_ReferenceCountedHandle.js";import{getEquivalencyTypeForLayers as S,getLayerUrl as L,isLayer as v}from"../utilities/_layers.js";import{checkArg as w}from"../utilities/checkArg.js";import{compare as M}from"../utilities/collection.js";import{load as I}from"../utilities/esri.js";import{isGroupLayerExtension as P}from"../utilities/extensions.js";import{hasMmapLayer as A}from"../utilities/layers.js";import{getLogger as C}from"../utilities/log.js";import{deepClone as j,objectKeys as z}from"../utilities/object.js";import{toPortalItem as H}from"../utilities/portal.js";import{onCollectionPropertyChange as T}from"../utilities/watch.js";import{_assignSublayerExtensions as R}from"./_SublayerExtension.js";import{ExtensionBaseLayerListSettings as V,fromLayerListMode as D}from"./support/LayerListSettings.js";import{SublayerExtensionCollectionBase as F}from"./support/_SublayerExtensionCollection.js";const O="Invalid type of layer for this type of layer extension.",$="This type of layer does not have features.",N="This type of layer cannot have sublayers.",k=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1,supportsStandardizedQueries:!1});export class LayerExtension extends a{get layer(){return this._layer}get mapExtension(){return this._mapExtension}get basemapExtension(){return this._basemapExtension}get groundExtension(){return this._groundExtension}get parentLayerExtension(){return this._parentLayerExtension}get hasFeatures(){return!1}get capabilities(){return this._capabilities()}get renderer(){}get visibilityMode(){return this._visibilityMode}set visibilityMode(e){this._visibilityMode=e,"exclusive"===e&&this._ensureAtMostOneChildSublayerVisible()}get sublayerExtensions(){return this._sublayerExtensions}get requestHelper(){return this._requestHelper||(this._requestHelper=new p),this._requestHelper}set requestHelper(e){this._requestHelper=e}get title(){return this.layer?.title??this._deferredLayerProperties?.title??("string"==typeof this._deferredLayerProperties?.$ref?this._deferredLayerProperties?.$ref:this._deferredLayerProperties?.$ref?.title??this._deferredLayerProperties?.$ref?.id)??"Layer"}get supportsSublayers(){return!1}get effectiveMinScale(){return this.layer&&this.layer.minScale||0}get effectiveMaxScale(){return this.layer&&this.layer.maxScale||0}get isEffectivelyVisible(){const e=!!this.layer&&this.layer.visible;return this.parentLayerExtension?this.parentLayerExtension.isEffectivelyVisible&&e:e}get effectiveFullExtent(){return this.layer?this.layer.fullExtent:void 0}get canChangeScale(){return!0}get canChangeOpacity(){return!0}get canChangeLabels(){return!1}get canChangeRenderer(){return!1}get canChangeDefinitionExpression(){return!1}get initialDefinitionExpression(){return this._initialDefinitionExpression}get initialRenderer(){return this._initialRenderer}get initialVisibility(){return this._initialVisibility??this.layer?.visible??!1}get _layerId(){return this.layer?.id??this._deferredLayerProperties?.$ref?.id}get _layerSupportsHideChildren(){return this.supportsSublayers}get _sublayers(){if(this.supportsSublayers)return this.layer?this.layer.sublayers:void 0}static factory;get dynamicallyAddedLayer(){return this._dynamicallyAddedLayer}set dynamicallyAddedLayer(e){this._dynamicallyAddedLayer=e}tpkSource;layerListSettings;allSublayerExtensions;get sublayersAreReadOnly(){return!0}_itemType=r.LAYER_EXTENSION;_watchHandles=[];_layerWatchHandles=[];_mapExtension;_basemapExtension;_groundExtension;_parentLayerExtension;_sublayerExtensions;_layer;_dynamicallyAddedLayer=!1;_deferredLayerProperties;_requestHelper;_initialDefinitionExpression;_initialRenderer;_initialVisibility;_visibilityMode="independent";_portalItem;constructor(e){super(e);const t={...this.getDefaults(),...e};w("properties.layer",t.layer).isNotMissing();const{layer:i}=t;let s;if(i?.hasOwnProperty("listMode")&&(s=D(i.listMode)),this.layerListSettings=this._createLayerListSettings({...s,...t.layerListSettings}),v(i))w("properties.layer",i).satisfies((e=>this._isSupportedLayer(e)),O),this._setLayer(i);else if(i){if(i.$portalItem){const e=i.$portalItem;this._portalItem=H(e)}this._deferredLayerProperties=i}this._sublayerExtensions=this._createSublayerExtensionCollection(),this.allSublayerExtensions=new W(this),m(this,"isEffectivelyVisible",(()=>g(this,"parentLayerExtension.isEffectivelyVisible",(()=>b(this,"isEffectivelyVisible")),{sync:!0}))),m(this,"_sublayers",(()=>g(this,"layer.sublayers",(()=>b(this,"_sublayers")),{sync:!0})))}static create(e){if(!LayerExtension.factory)throw new s("Cannot create layer extension: no layer extension factory has been registered.");return LayerExtension.factory.create(e)}static async fromPortalItem(e,t){w("portalItemLike",e).isNotMissing();const s=t??{};w("layerExtensionProperties.layer",s.layer).satisfies((e=>!v(e)));const r={...s.layer};w("layerExtensionProperties.layer.$ref",r.$ref).satisfies((e=>null==e));const a=new p,n=H(e);let o;await I(n);const l=n.typeKeywords??"";if("Map Service"===n.type)o=l.includes("Tiled")||l.includes("Hosted Service")?"ArcGISTiledMapServiceLayer":"ArcGISMapServiceLayer";else if("Feature Service"===n.type)o=l.includes("SubtypeGroupLayer")?"SubtypeGroupLayer":"ArcGISFeatureLayer";else if("Image Service"===n.type){const e=await LayerExtension._getLayerData(n.url,a);e.cacheType?"Map"===e.cacheType||l.includes("Tiled Imagery")?o="ArcGISTiledImageServiceLayer":"Elevation"===e.cacheType||l.includes("Elevation 3D Layer")?o="ArcGISTiledElevationServiceLayer":"Raster"===e.cacheType&&(o="ArcGISImageServiceLayer"):o=e.singleFusedMapCache||e.tileInfo||l.includes("Hosted Service")?"ArcGISTiledImageServiceLayer":"ArcGISImageServiceLayer"}else if("CSV"===n.type)o="CSV";else if("KML"===n.type)o="KML";else if("Scene Service"===n.type)l.includes("3DObject")||l.includes("Point")?o="ArcGISSceneServiceLayer":l.includes("IntegratedMesh")?o="IntegratedMeshLayer":l.includes("PointCloud")?o="PointCloudLayer":l.includes("Building")&&(o="BuildingSceneLayer");else if("Stream Service"===n.type)o="ArcGISStreamLayer";else if("Vector Tile Service"===n.type)o="VectorTileLayer";else if("Feature Collection"===n.type){o="ArcGISFeatureLayer";const e=await n.fetchData();r.featureCollection=e}else if("WFS"===n.type){o="WFS";const e=await n.fetchData();Object.assign(r,e)}else if("WMTS"===n.type){o="WebTiledLayer";const e=await n.fetchData();Object.assign(r,e)}else if("WMS"===n.type){o="WMS";const e=await n.fetchData();Object.assign(r,e)}if(!o)throw new i("portalItem","Could not determine correct type of LayerExtension to create from portal item");if(r.layerType&&r.layerType!==o)throw new i("layerExtensionProperties.layer.layerType","Layer type defined in layer properties does not match layer type from portal item");return r.layerType=o,r.$portalItem=n,s.layer=r,LayerExtension.create(s)}static async _getLayerData(e,t){const i=await t.request(e,{query:{f:"json"}});if(!i?.data)throw new Error(`Response to request for url ${e} was invalid.`);return i.data}getFeatures(e,t){if(!this.hasFeatures)throw new s($);return super.getFeatures(e,t)}getFullExtent(){return this.effectiveFullExtent}async addFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s($);await super.addFeatures(e,t)}async updateFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s($);await super.updateFeatures(e,t)}async deleteFeatures(e,t){if(w("features",e).isNotMissing(),!this.hasFeatures)throw new s($);await super.deleteFeatures(e,t)}async _createBackingLayer(){this._portalItem||this.layer||this._deferredLayerProperties?.$ref?!this.layer&&this._portalItem&&this._setLayer(await this._createLayer(this.getDefaults().layer)):(this._setLayer(await this._createLayer(this._deferredLayerProperties)),w("properties.layer",this._layer).satisfies((e=>this._isSupportedLayer(e)),O),this._deferredLayerProperties=void 0)}_setMapExtension(e){if(this.mapExtension===e)return;const t=this.mapExtension;this._mapExtension=e,t&&this.featureSettings.formatSettings.parent===t.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.formatSettings)),this._resolveLayer(),b(this,"mapExtension")}_setBasemapExtension(e){this.basemapExtension!==e&&(this._basemapExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),b(this,"basemapExtension"))}_setGroundExtension(e){this.groundExtension!==e&&(this._groundExtension=e,this._resolveLayer(),e&&(this.taskSettings.parent=e.taskSettings),b(this,"groundExtension"))}_setParentLayerExtension(e){if(this.parentLayerExtension===e)return;const t=this._parentLayerExtension;this._parentLayerExtension=e,t&&(this.featureSettings.formatSettings.parent===t.featureSettings.formatSettings&&(this.featureSettings.formatSettings.parent=this.mapExtension?this.mapExtension.formatSettings:void 0),this.taskSettings.parent===t.taskSettings&&(this.taskSettings.parent=void 0)),e&&((!this.featureSettings.formatSettings.parent||this.mapExtension&&this.featureSettings.formatSettings.parent===this.mapExtension.formatSettings)&&(this.featureSettings.formatSettings.parent=e.featureSettings.formatSettings),this.taskSettings.parent||(this.taskSettings.parent=e.taskSettings)),this._resolveLayer(),b(this,"parentLayerExtension")}_resolveLayer(e){if(this.layer||!this._deferredLayerProperties)return;const t=e??this.basemapExtension?.basemap?.baseLayers??this.groundExtension?.ground?.layers??this.parentLayerExtension?.layer?.layers??this.mapExtension?.map.layers;if(!t)return;const i=[];let s;for(const e of t){const t=S(e,this._deferredLayerProperties);if("none"!==t){if("solid"===t){s=e;break}i.push(e)}}s||1!==i.length||(s=i[0]),s&&this._isSupportedLayer(s)&&(this._setLayer(s),this._deferredLayerProperties.$portalItem&&J().warn("LayerExtension defined with both $ref and $portalItem. Ignoring $portalItem."))}async _switchLayer(e){if(e===this.layer)return;w("newLayer",e).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),O),this.isInitialized&&await I(e);const t=new Map;if(this._sublayers)for(const e of this._sublayers.toArray())t.set(e.id,this.sublayerExtensions.forSublayer(e));e.visible=this.layer.visible,e.opacity=this.layer.opacity,e.listMode=this.layer.listMode,e.hasOwnProperty("labelsVisible")&&this.layer.hasOwnProperty("labelsVisible")&&(e.labelsVisible=this.layer.labelsVisible);const i=this.schema.fieldExtensions.toArray(),s=this.featureSettings.popupContentExtensions.toArray();this._setLayer(e),i.forEach((e=>{const t=this.schema.fields.find((t=>n.matchesRef(e,{$ref:t.name})));t&&e._switchField(t)})),s.forEach(((e,t)=>{const i=this.featureSettings.popupContentExtensions.find((e=>o.matchesRef(s,t,e.toJSON().content)));i&&e._switchContent(i.content)}));const r=[];if(this._sublayers){const e=this._sublayers.filter((e=>t.has(e.id))).toArray();r.push(...e.map((async e=>{const i=t.get(e.id);await i._switchSublayer(e),this._sublayerExtensions._register(i)})))}this.isInitialized&&r.push(this._initializeChildren()),await Promise.all(r)}_getProjectWebmapJSON(){if(!this.layer)return;let e=y(this.layer);if(!this.dynamicallyAddedLayer){const{id:t,title:i,layerType:s,opacity:r}=e;e={id:t,title:i,layerType:s,visibility:this.layer.visible,opacity:r}}return e}_onSublayerAddedPostInitialize=async e=>{try{await e.initialize()}catch(t){J().error({message:`Error occurred while initializing sublayer extension for sublayer '${e.title??e.sublayer.id??e.id}'.`,error:t})}};async _onDestroy(){this._watchHandles.forEach((e=>e?.remove())),this._layerWatchHandles.forEach((e=>e?.remove())),await Promise.all(this.sublayerExtensions.toArray().map((e=>e.destroy()))),await super._onDestroy()}_getSerializableProperties(){return{...super._getSerializableProperties(),iconUrl:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.iconUrl:this.getDefault("iconUrl")},visibilityMode:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.visibilityMode:this.getDefault("visibilityMode"),default:"independent"},tpkSource:{serializeModes:["initial"]},layerListSettings:{serializeModes:["initial","project"],serialize:e=>"project"!==e||this.dynamicallyAddedLayer?this.layerListSettings:this.getDefault("layerListSettings")},sublayerExtensions:{serializeModes:["initial","project"],serialize:e=>this.sublayerExtensions.map((e=>e.toItemUri())).toArray(),deserialize:e=>{R(this.sublayerExtensions,e,(e=>this._createSublayerExtension(e)))}},layer:{serializeModes:["initial","project"],serialize:e=>{if(this.layer){if((this._mapExtension||this._parentLayerExtension||this._basemapExtension||this._groundExtension)&&(this._layer.id||this._layer.title)){const e=h(this._layer),t=this._getSerializableRefLayerProperties(),i=L(this._layer),s=i?{url:i}:{};return{$ref:{id:this._layer.id,title:this._layer.title,subtype:this._getSerializableLayerType(),...s},layerType:e,...t}}return y(this.layer)}return this._deferredLayerProperties?j(this._deferredLayerProperties):void 0},isDefault:()=>{throw new Error("Missing implementation for _getSerializableProperties() > layer > default. Subclasses of LayerExtension must implement this.")},deserialize:e=>{if(v(e)){if(e!==this.layer)throw new Error("Property 'layer' is read-only.")}else if(e){if(this._layer)return this._applyLayerProperties(e,this.layer);this._deferredLayerProperties&&(this._deferredLayerProperties={...this._deferredLayerProperties,...e})}}},dynamicallyAddedLayer:{serializeModes:["project"],default:!1},requestHelper:{serialize:!1}}}_getSerializableLayerType(){}_getSerializableRefLayerProperties(){return{}}_createSublayerExtension(e){if(!this.supportsSublayers)throw new s(N);throw new Error("Missing implementation for _createSublayerExtension(). Subclasses of LayerExtension that support sublayers must implement this.")}async _onInitialize(){if(await super._onInitialize(),await this._createBackingLayer(),this._portalItem&&(await I(this._portalItem),await this._applyPortalItemProperties(this._portalItem),this.layer.title=this._portalItem.title,this.layer.portalItem=this._portalItem,this.iconUrl||(this.iconUrl=this._portalItem.thumbnailUrl),await this._applyLayerProperties(this._deferredLayerProperties,this.layer),this._deferredLayerProperties=void 0),this._resolveLayer(),!this.layer){const e=this._deferredLayerProperties.$ref;throw this._mapExtension||this._parentLayerExtension||this._basemapExtension||this._groundExtension?new s(`No layer found matching reference "${"string"==typeof e?e:JSON.stringify(e)}".`):new s("Cannot resolve layer reference: missing parent.")}this._deferredLayerProperties&&(await this._applyLayerProperties(this._deferredLayerProperties,this.layer),this._deferredLayerProperties=void 0),await this._initializeLayer(),await I(this.layer),this.supportsSublayers&&!this.layer.sublayers&&this.layer._set("sublayers",new t),this._initialDefinitionExpression="definitionExpression"in this.layer?this.layer.definitionExpression:void 0,this._initialRenderer=this.renderer?.clone(),this._initialVisibility=this.layer.visible,this._sublayerExtensions.onParentInitialized()}async _postInitialize(){await super._postInitialize(),this.layerListSettings.onLayerExtensionInitialized(),this.supportsSublayers&&this._watchHandles.push(T(this,"layer.sublayers",(async e=>{const t=(e.added??[]).map((e=>this.sublayerExtensions.forSublayer(e)));await Promise.all(t.map(this._onSublayerAddedPostInitialize))})))}_applyPortalItemProperties(e){throw new s("Cannot use this type of layer extension with a PortalItem.")}async _initializeLayer(){}_createLayerListSettings(e){return new G(e,this)}_createSublayerExtensionCollection(){return new B(this)}_capabilities(){return k}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.sublayerExtensions}async _createLayer(e){return d(e)}_applyLayerProperties(e,t){w("layerJson",e).isNotMissing();const i=e.layerType||e.type;return w("layerJson.layerType",i).satisfies((e=>!e||e===this.getDefault("layer")?.layerType)),w("layer",t).isNotMissing().satisfies((e=>this._isSupportedLayer(e))),u(e,t)}_setLayer(e){if(this._layer=e,this._layerWatchHandles.forEach((e=>e.remove())),this._layerWatchHandles.length=0,this._layerWatchHandles.push(g(e,"visible",((e,t,i)=>{this._onVisibleChanged(e),this.mapExtension?.emit("layer-visibility-change",i)})),m(this,"effectiveMinScale",(()=>g(this.layer,"minScale",(()=>b(this,"effectiveMinScale")),{sync:!0}))),m(this,"effectiveMaxScale",(()=>g(this.layer,"maxScale",(()=>b(this,"effectiveMaxScale")),{sync:!0}))),m(this,"title",(()=>g(this.layer,"title",(()=>b(this,"title")),{sync:!0})))),"definitionExpression"in e&&this._watchHandles.push(g(e,"definitionExpression",((e,t,i)=>{this.mapExtension?.emit("layer-definition-expression-change",i)}))),this.supportsSublayers)if(this._sublayers)this._setupSublayersHandles();else{const t=g(e,"sublayers",(()=>{this._setupSublayersHandles()}),{sync:!0,once:!0});this._layerWatchHandles.push(t)}b(this,"layer"),b(this,"title"),b(this,"effectiveMinScale"),b(this,"effectiveMaxScale"),b(this,"isEffectivelyVisible")}_setupSublayersHandles(){this._layerWatchHandles.push(this._sublayers.on("after-add",this._onSublayersAfterAdd),this._sublayers.on("after-remove",this._onSublayersAfterRemove),E(this._sublayers,"[].visible",this._onSublayersSublayerVisibleChanged,{sync:!0}))}_onVisibleChanged=e=>{if("inherited"===this.visibilityMode&&this.supportsSublayers&&this._sublayers)for(const t of this._sublayers.toArray())t.visible=e;b(this,"isEffectivelyVisible")};_onSublayersSublayerVisibleChanged=(e,t,i)=>{e&&"exclusive"===this.visibilityMode&&this._ensureAChildSublayerVisible(i)};_onSublayersAfterAdd=e=>{1!==this._sublayers.length||e.item.visible||"exclusive"!==this.visibilityMode?e.item.visible&&"exclusive"===this.visibilityMode&&(e.item.visible=!1):e.item.visible=!0};_onSublayersAfterRemove=e=>{0!==this._sublayers.length&&"exclusive"===this.visibilityMode&&e.item.visible&&this._ensureAChildSublayerVisible(this._sublayers.getItemAt(0))};_ensureAChildSublayerVisible(e){for(const t of this._sublayers.toArray())t!==e&&(t.visible=!1)}_ensureAtMostOneChildSublayerVisible(){this.layer&&this._sublayers&&this._ensureAChildSublayerVisible(this._sublayers.find((e=>e.visible)))}}class B extends F{constructor(e){super(e,"_sublayers"),this._layerExtension=e}add(e,t){if(w("sublayerX",e).isNotMissing(),!this._layerExtension.supportsSublayers)throw new s(N);const i=e.sublayer?e.sublayer.layer:void 0;return i&&i!==this._layerExtension.layer&&i.sublayers.remove(e.sublayer),super.add(e,t)}}class W extends c{get _collection(){return this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions))}_layerExtension;_onChangeLayerExtensionsHandle=new x((()=>{const e=new WeakMap,i=new Set,s=r=>{const a=new t(r.added).flatten((e=>e.sublayerExtensions)),n=new t(r.moved).flatten((e=>e.sublayerExtensions)),o=new t(r.removed).flatten((e=>e.sublayerExtensions));for(const t of a)if(!e.has(t)){const r=t.sublayerExtensions.on("change",s);e.set(t,r),i.add(r)}for(const t of o){const s=e.get(t);s&&(s.remove(),e.delete(t),i.delete(s))}this.emit("change",{added:a.toArray(),moved:n.toArray(),removed:o.toArray()})};i.add(this._layerExtension.sublayerExtensions.on("change",s));const r=this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const t of r){const r=t.sublayerExtensions.on("change",s);e.set(t,r),i.add(r)}return _(i)}));_onAfterAddLayerExtensionsHandle=new x((()=>{const e=new WeakMap,t=new Set,i=i=>{const s=e.get(i);s&&(s.remove(),e.delete(i),t.delete(s))},s=e=>{const t=e.item,s=t.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const e of s)i(e);i(t)},r=i=>{this.emit("after-add",{...i});const a=i.item.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const n of a)if(this.emit("after-add",{...i,item:n}),!e.has(n)){const i=n.sublayerExtensions.on("after-add",r),a=n.sublayerExtensions.on("after-remove",s),o=_([i,a]);e.set(n,o),t.add(o)}};t.add(this._layerExtension.sublayerExtensions.on("after-add",r)),t.add(this._layerExtension.sublayerExtensions.on("after-remove",s));const a=this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const i of a){const a=i.sublayerExtensions.on("after-add",r),n=i.sublayerExtensions.on("after-remove",s),o=_([a,n]);e.set(i,o),t.add(o)}return _(t)}));_onAfterRemoveLayerExtensionsHandle=new x((()=>{const e=new WeakMap,t=new Set,i=i=>{const s=e.get(i);s&&(s.remove(),e.delete(i),t.delete(s))},s=e=>{this.emit("after-remove",{...e});const t=e.item,s=t.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const t of s)this.emit("after-remove",{...e,item:t}),i(t);i(t)},r=i=>{const a=i.item,n=a.sublayerExtensions.on("after-add",r),o=a.sublayerExtensions.on("after-remove",s),l=_([n,o]);e.set(a,l),t.add(l)};t.add(this._layerExtension.sublayerExtensions.on("after-remove",s)),t.add(this._layerExtension.sublayerExtensions.on("after-add",r));const a=this._layerExtension.sublayerExtensions.flatten((e=>e.sublayerExtensions));for(const i of a){const a=i.sublayerExtensions.on("after-add",r),n=i.sublayerExtensions.on("after-remove",s),o=_([a,n]);e.set(i,o),t.add(o)}return _(t)}));constructor(e){super(),this._layerExtension=e}on(e,t){const i=[];return"change"===e?i.push(this._onChangeLayerExtensionsHandle.add()):"after-add"===e?i.push(this._onAfterAddLayerExtensionsHandle.add()):"after-remove"===e&&i.push(this._onAfterRemoveLayerExtensionsHandle.add()),i.push(super.on(e,t)),_(i)}findById(e){return w("id",e).isNotMissing(),this.find((t=>t.id===e))}findBySublayerId(e){return w("id",e).isNotMissing(),this.find((t=>t._sublayerId===e))}forSublayer(e){return w("sublayer",e).isNotMissing(),this.findBySublayerId(e.id)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.sublayer}}let G=class extends V{get _esriLayer(){return this._extension.layer}get _listModePath(){return"layer.listMode"}get _supportsChildren(){return this._extension.supportsSublayers}};G=e([f],G);export{G as LayerExtensionLayerListSettings};function q(e){return"object"==typeof e?e:{property:e}}let U=class extends l{_layerExtension;_layerBindings=new Map;constructor(e){super(),this._layerExtension=e,this._bindSettingsToLayerProperties(),e.layer?this._onLayerResolved(e.layer):g(e,"layer",(()=>{this._onLayerResolved(e.layer)}),{sync:!0,once:!0})}_getPropertyBindings(){return{}}_hasSettingIncludingAncestor(e){return!(!this._layerBindings.has(e)||!this._layerExtension.layer)||super._hasSettingIncludingAncestor(e)}_getSetting(e,t){if(this._layerBindings.has(e)){const t=q(this._layerBindings.get(e));if(t.hasOwnProperty("value"))return t.value;if(this._layerExtension.layer)return this._layerExtension.layer[t.property]}return super._getSetting(e,t)}_setSetting(e,t){if(this._layerBindings.has(e)){const i=q(this._layerBindings.get(e));if(i.readonly||i.hasOwnProperty("value"))throw new s(ERR_SCHEMA_READ_ONLY);if(this._layerExtension.layer)return void(this._layerExtension.layer[i.property]=t)}super._setSetting(e,t)}_bindSettingsToLayerProperties(){const e=this._getPropertyBindings();for(const t of z(e)){const i=q(e[t]);this._layerBindings.set(t,i),i.hasOwnProperty("value")||m(this,t,(()=>g(this._layerExtension,`layer.${String(i.property)}`,(()=>b(this,t)),{sync:!i.hasOwnProperty("sync")||i.sync})))}}_onLayerResolved(e){for(const t of this._layerBindings.keys())this.isModified(t)&&(e[t]=this[t],this.reset(t))}};U=e([f],U);export{U as LayerExtensionSchema};export function _assignLayerExtensions(e,t){return M(e,t,{onNew:(t,i)=>{e.add(t instanceof LayerExtension?t:LayerExtension.create(t),Y(t)?void 0:i)},onMatch:(t,i,s,r)=>{i instanceof LayerExtension||t.assignProperties(i),s===r||Y(i)||e.reorder(t,r)},onMissing:t=>{(A([t])||P(t)&&0===t.layerExtensions.toArray().length)&&e.remove(t)},equals:(e,t)=>{const i="solid"===S(e.layer,t.layer);return t instanceof LayerExtension?e===t||i:i||e.id===t.id}})}function J(){return C("geocortex.api.mapping.LayerExtension")}function Y(e){return e instanceof LayerExtension?!!e._deferredLayerProperties?.$ref:!v(e.layer)&&!!e.layer?.$ref}let K=class extends U{_setSetting(e,t){if(this._layerBindings.has(e))throw new s(ERR_SCHEMA_READ_ONLY);super._setSetting(e,t)}};K=e([f],K);export{K as LayerExtensionReadOnlySchema};export const ERR_SCHEMA_READ_ONLY="This schema property is read-only.";
@@ -1,7 +1,9 @@
1
1
  import Collection from "@arcgis/core/core/Collection";
2
+ import type { ResourceHandle } from "@arcgis/core/core/Handles.js";
2
3
  import type Extent from "@arcgis/core/geometry/Extent";
3
4
  import type SpatialReference from "@arcgis/core/geometry/SpatialReference";
4
5
  import type Renderer from "@arcgis/core/renderers/Renderer";
6
+ import type { RendererUnion } from "@arcgis/core/renderers/types.js";
5
7
  import type { Feature } from "../data/Feature.js";
6
8
  import type { FeatureSet } from "../data/FeatureSet.js";
7
9
  import type { FeatureReadOptions, FeatureWriteOptions } from "../data/FeatureSource.js";
@@ -163,7 +165,7 @@ export declare abstract class SublayerExtension<TProperties extends SublayerExte
163
165
  * The renderer, if any, that the ESRI sublayer uses to display data on the
164
166
  * map.
165
167
  */
166
- get renderer(): Renderer;
168
+ get renderer(): RendererUnion;
167
169
  /**
168
170
  * Settings that affect the behavior and presentation of the sublayer in the
169
171
  * layer list.
@@ -263,7 +265,7 @@ export declare abstract class SublayerExtension<TProperties extends SublayerExte
263
265
  * A set of watch handles that get cleaned up when the class instance is
264
266
  * destroyed.
265
267
  */
266
- protected readonly _watchHandles: IHandle[];
268
+ protected readonly _watchHandles: ResourceHandle[];
267
269
  private readonly _sublayerExtensions;
268
270
  private _layerExtension;
269
271
  private _parentSublayerExtension;
@@ -1,8 +1,9 @@
1
1
  import Collection from "@arcgis/core/core/Collection";
2
+ import type { EventedCallback, EventNames } from "@arcgis/core/core/Evented.js";
3
+ import type { ResourceHandle } from "@arcgis/core/core/Handles.js";
2
4
  import type Layer from "@arcgis/core/layers/Layer";
3
5
  import type { InitializableCollection } from "../../support/InitializableCollectionProxy.js";
4
6
  import { InitializableCollectionProxy } from "../../support/InitializableCollectionProxy.js";
5
- import type { CollectionAfterAddEventHandler, CollectionAfterChangesEventHandler, CollectionAfterRemoveEventHandler, CollectionBeforeAddEventHandler, CollectionBeforeChangesEventHandler, CollectionBeforeRemoveEventHandler, CollectionChangeEventHandler, EventHandler } from "../../support/esri.js";
6
7
  import { type Observable } from "../../support/observableUtils.js";
7
8
  import type { MapExtension } from "../MapExtension.js";
8
9
  import type { LayerExtensionProperties } from "../_LayerExtension.js";
@@ -81,14 +82,7 @@ export declare abstract class LayerExtensionCollectionBase extends Initializable
81
82
  * parent corresponding to the underlying collection of layers.
82
83
  */
83
84
  constructor(parent: Observable, layersProperty: string);
84
- on(type: "after-add", listener: CollectionAfterAddEventHandler<LayerExtension>): IHandle;
85
- on(type: "after-changes", listener: CollectionAfterChangesEventHandler): IHandle;
86
- on(type: "after-remove", listener: CollectionAfterRemoveEventHandler<LayerExtension>): IHandle;
87
- on(type: "before-add", listener: CollectionBeforeAddEventHandler<LayerExtension>): IHandle;
88
- on(type: "before-changes", listener: CollectionBeforeChangesEventHandler): IHandle;
89
- on(type: "before-remove", listener: CollectionBeforeRemoveEventHandler<LayerExtension>): IHandle;
90
- on(type: "change", listener: CollectionChangeEventHandler<LayerExtension>): IHandle;
91
- on(type: string, listener: EventHandler): IHandle;
85
+ on<Type extends EventNames<this>>(eventName: Type, listener: EventedCallback<this["@eventTypes"][Type]>): ResourceHandle;
92
86
  clone(): LayerExtensionCollectionBase;
93
87
  /**
94
88
  * @inheritDoc
@@ -1 +1 @@
1
- import e from"@arcgis/core/core/Collection";import{InvalidOperationError as t}from"../../InvalidOperationError.js";import{InitializableCollectionProxy as i}from"../../support/InitializableCollectionProxy.js";import{createIHandle as r,notifyChange as s,onWatch as a,watch as n,watchEvent as o}from"../../support/observableUtils.js";import h from"../../utilities/_ReferenceCountedHandle.js";import{checkArg as d}from"../../utilities/checkArg.js";import{layersAreEquivalent as l}from"../../utilities/layers.js";import{getLogger as y}from"../../utilities/log.js";import{onCollectionPropertyChange as _}from"../../utilities/watch.js";import{UnsupportedLayerExtension as m}from"../UnsupportedLayerExtension.js";import{LayerExtension as f}from"../_LayerExtension.js";export class LayerExtensionCollectionBase extends i{_parent;get _collection(){return this._layers.map((e=>this._forLayer(e))).concat(this._uninitializedLayerExtensions).filter((e=>!(e instanceof m)))}get _layers(){const t=this._layersProperty.split(".");let i=this._parent;for(const e of t){if(null==i){i=void 0;break}i=i[e]}return i||(this._tempLayers||(this._tempLayers=new e),i=this._tempLayers),i}_layerExtensionMap=new WeakMap;_uninitializedLayerExtensions=new e;_layersProperty;_tempLayers;_onChangeLayersHandle=new h((()=>_(this._parent,this._layersProperty,(e=>{try{const t={added:(e.added||[]).map((e=>this._forLayer(e))),moved:(e.moved||[]).map((e=>this._forLayer(e))),removed:(e.removed||[]).map((e=>this._forLayer(e)))};this.emit("change",t)}catch(e){e instanceof Error&&y("geocortex.api.support.LayerExtensionCollection").error(e.message)}}))));_onBeforeAddLayersHandle=new h((()=>o(this._parent,this._layersProperty,["before-add",e=>this.emit("before-add",{...e,item:this._forLayer(e.item),target:this})])));_onBeforeRemoveLayersHandle=new h((()=>o(this._parent,this._layersProperty,["before-remove",e=>this.emit("before-remove",{...e,item:this._forLayer(e.item),target:this})])));_onBeforeChangesLayersHandle=new h((()=>o(this._parent,this._layersProperty,["before-changes",e=>this.emit("before-changes",{...e,target:this})])));_onAfterAddLayersHandle=new h((()=>o(this._parent,this._layersProperty,["after-add",e=>this.emit("after-add",{...e,item:this._forLayer(e.item),target:this})],(e=>{if(null!=e)for(const t of e)this.emit("after-add",{item:this._forLayer(t),target:this})}))));_onAfterRemoveLayersHandle=new h((()=>o(this._parent,this._layersProperty,["after-remove",e=>this.emit("after-remove",{...e,item:this._forLayer(e.item),target:this})],((e,t)=>{if(null!=t)for(const e of t)this.emit("after-remove",{item:this._forLayer(e),target:this})}))));_onAfterChangesLayersHandle=new h((()=>o(this._parent,this._layersProperty,["after-changes",e=>this.emit("after-changes",{...e,target:this})],(()=>{this.emit("after-changes",{target:this})}))));constructor(e,t){super(),this._parent=e,this._layersProperty=t,a(this,"length",(()=>n(this._parent,`${this._layersProperty}.length`,(()=>s(this,"length")),{sync:!0})))}on(e,t){const i=[];return"change"===e?i.push(this._onChangeLayersHandle.add()):"before-add"===e?i.push(this._onBeforeAddLayersHandle.add()):"before-remove"===e?i.push(this._onBeforeRemoveLayersHandle.add()):"before-changes"===e?i.push(this._onBeforeChangesLayersHandle.add()):"after-add"===e?i.push(this._onAfterAddLayersHandle.add()):"after-remove"===e?i.push(this._onAfterRemoveLayersHandle.add()):"after-changes"===e&&i.push(this._onAfterChangesLayersHandle.add()),i.push(super.on(e,t)),r(i)}clone(){const e=super.clone();return e._layerExtensionMap=this._layerExtensionMap,e}findById(e){return d("id",e).isNotMissing(),this.find((t=>t.id===e))}findByLayerId(e){return d("id",e).isNotMissing(),this.find((t=>t.layer.id===e))}forLayer(e){if(d("layer",e).isNotMissing(),this._layers.includes(e))return this._forLayer(e)}add(e,t){return d("layerX",e).isNotMissing(),this._register(e),e.layer?this._layers.includes(e.layer)?void 0!==t&&this._layers.reorder(e.layer,t):this._layers.add(e.layer,t):e.isInitialized||n(e,"layer",(e=>{e&&(this._forLayer(e),this._layers.includes(e)||this._layers.add(e,t))}),{sync:!0,once:!0}),this}removeAt(e){const t=this.getItemAt(e);if(void 0!==t){if(this._uninitializedLayerExtensions.includes(t)){this._uninitializedLayerExtensions.remove(t);const e={added:[],moved:[],removed:[t],target:this};this.emit("after-remove",{item:t,target:this}),this.emit("after-changes"),this.emit("change",e)}else this._layers.remove(t.layer);return this._onRemoved(t),t}}reorder(e,i){if(this._uninitializedLayerExtensions.includes(e)){if(this._uninitializedLayerExtensions.some((e=>e.isInitialized)))throw new t("Unable to reorder a mix of initialized / uninitialized layers.");this._uninitializedLayerExtensions.reorder(e,i)}if(e?.layer&&this._layers.includes(e.layer))return this._layers.reorder(e.layer,i),e}sort(e){return this._layers.sort(((t,i)=>e(this._forLayer(t),this._forLayer(i)))),this}onParentInitialized(){this._tempLayers?.length&&(this.addMany(this._tempLayers.map((e=>this._forLayer(e)))),this._tempLayers=void 0)}onMapExtensionChanged(){for(const e of this.toArray())e._setMapExtension(this._mapExtension)}_forLayer(e){for(const e of this._uninitializedLayerExtensions)e.layer||e._resolveLayer(this._layers),e.layer&&(this._layerExtensionMap.set(e.layer,e),this._uninitializedLayerExtensions.remove(e),this._mapExtension&&!e.mapExtension&&e._setMapExtension(this._mapExtension));if(!this._layerExtensionMap.has(e)){const t=this._uninitializedLayerExtensions.find((t=>l(e,t._deferredLayerProperties)));if(t)return t;const i=("map"===this._mapExtension?.viewMode?this._mapExtension?._scene:this._mapExtension?._map)?.allLayers.find((t=>l(t,e))),r=this._layerExtensionMap.get(i),s={layer:e};r&&(s.layerListSettings=r.layerListSettings.toJSON());const a=f.create(s);this._register(a)}return this._layerExtensionMap.get(e)}_register(e){if(d("layerX",e).isNotMissing(),e._setMapExtension(this._mapExtension),e.layer||e._resolveLayer(this._layers),e.layer){const t=this._layerExtensionMap.get(e.layer);if(e===t)return;if(this._layerExtensionMap.set(e.layer,e),t&&(this._onRemoved(t),this._layers.includes(e.layer))){const i={added:[e],moved:[],removed:[t],target:this};this.emit("after-add",{item:e,target:this}),null!=t&&this.emit("after-remove",{item:t,target:this}),this.emit("after-changes"),this.emit("change",i)}}else{this._uninitializedLayerExtensions.add(e);const t={added:[e],moved:[],removed:[],target:this};this.emit("after-add",{item:e,target:this}),this.emit("after-changes"),this.emit("change",t)}this._onAdded(e)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.layer}_onAdded(e){}_onRemoved(e){e._setMapExtension(void 0)}}
1
+ import e from"@arcgis/core/core/Collection";import{InvalidOperationError as t}from"../../InvalidOperationError.js";import{InitializableCollectionProxy as i}from"../../support/InitializableCollectionProxy.js";import{createIHandle as r,notifyChange as s,onWatch as a,watch as n,watchEvent as o}from"../../support/observableUtils.js";import h from"../../utilities/_ReferenceCountedHandle.js";import{checkArg as d}from"../../utilities/checkArg.js";import{layersAreEquivalent as l}from"../../utilities/layers.js";import{getLogger as y}from"../../utilities/log.js";import{onCollectionPropertyChange as _}from"../../utilities/watch.js";import{UnsupportedLayerExtension as m}from"../UnsupportedLayerExtension.js";import{LayerExtension as f}from"../_LayerExtension.js";export class LayerExtensionCollectionBase extends i{_parent;get _collection(){return this._layers.map((e=>this._forLayer(e))).concat(this._uninitializedLayerExtensions).filter((e=>!(e instanceof m)))}get _layers(){const t=this._layersProperty.split(".");let i=this._parent;for(const e of t){if(null==i){i=void 0;break}i=i[e]}return i||(this._tempLayers||(this._tempLayers=new e),i=this._tempLayers),i}_layerExtensionMap=new WeakMap;_uninitializedLayerExtensions=new e;_layersProperty;_tempLayers;_onChangeLayersHandle=new h((()=>_(this._parent,this._layersProperty,(e=>{try{const t={added:(e.added||[]).map((e=>this._forLayer(e))),moved:(e.moved||[]).map((e=>this._forLayer(e))),removed:(e.removed||[]).map((e=>this._forLayer(e)))};this.emit("change",t)}catch(e){e instanceof Error&&y("geocortex.api.support.LayerExtensionCollection").error(e.message)}}))));_onBeforeAddLayersHandle=new h((()=>o(this._parent,this._layersProperty,["before-add",e=>this.emit("before-add",{...e,item:this._forLayer(e.item)})])));_onBeforeRemoveLayersHandle=new h((()=>o(this._parent,this._layersProperty,["before-remove",e=>this.emit("before-remove",{...e,item:this._forLayer(e.item)})])));_onBeforeChangesLayersHandle=new h((()=>o(this._parent,this._layersProperty,["before-changes",e=>this.emit("before-changes",{...e})])));_onAfterAddLayersHandle=new h((()=>o(this._parent,this._layersProperty,["after-add",e=>this.emit("after-add",{...e,item:this._forLayer(e.item)})],(e=>{if(null!=e)for(const t of e)this.emit("after-add",{item:this._forLayer(t)})}))));_onAfterRemoveLayersHandle=new h((()=>o(this._parent,this._layersProperty,["after-remove",e=>this.emit("after-remove",{...e,item:this._forLayer(e.item)})],((e,t)=>{if(null!=t)for(const e of t)this.emit("after-remove",{item:this._forLayer(e)})}))));_onAfterChangesLayersHandle=new h((()=>o(this._parent,this._layersProperty,["after-changes",e=>this.emit("after-changes",{...e})],(()=>{this.emit("after-changes",{target:this})}))));constructor(e,t){super(),this._parent=e,this._layersProperty=t,a(this,"length",(()=>n(this._parent,`${this._layersProperty}.length`,(()=>s(this,"length")),{sync:!0})))}on(e,t){const i=[];return"change"===e?i.push(this._onChangeLayersHandle.add()):"before-add"===e?i.push(this._onBeforeAddLayersHandle.add()):"before-remove"===e?i.push(this._onBeforeRemoveLayersHandle.add()):"before-changes"===e?i.push(this._onBeforeChangesLayersHandle.add()):"after-add"===e?i.push(this._onAfterAddLayersHandle.add()):"after-remove"===e?i.push(this._onAfterRemoveLayersHandle.add()):"after-changes"===e&&i.push(this._onAfterChangesLayersHandle.add()),i.push(super.on(e,t)),r(i)}clone(){const e=super.clone();return e._layerExtensionMap=this._layerExtensionMap,e}findById(e){return d("id",e).isNotMissing(),this.find((t=>t.id===e))}findByLayerId(e){return d("id",e).isNotMissing(),this.find((t=>t.layer.id===e))}forLayer(e){if(d("layer",e).isNotMissing(),this._layers.includes(e))return this._forLayer(e)}add(e,t){return d("layerX",e).isNotMissing(),this._register(e),e.layer?this._layers.includes(e.layer)?void 0!==t&&this._layers.reorder(e.layer,t):this._layers.add(e.layer,t):e.isInitialized||n(e,"layer",(e=>{e&&(this._forLayer(e),this._layers.includes(e)||this._layers.add(e,t))}),{sync:!0,once:!0}),this}removeAt(e){const t=this.getItemAt(e);if(void 0!==t){if(this._uninitializedLayerExtensions.includes(t)){this._uninitializedLayerExtensions.remove(t);const e={added:[],moved:[],removed:[t],target:this};this.emit("after-remove",{item:t}),this.emit("after-changes"),this.emit("change",e)}else this._layers.remove(t.layer);return this._onRemoved(t),t}}reorder(e,i){if(this._uninitializedLayerExtensions.includes(e)){if(this._uninitializedLayerExtensions.some((e=>e.isInitialized)))throw new t("Unable to reorder a mix of initialized / uninitialized layers.");this._uninitializedLayerExtensions.reorder(e,i)}if(e?.layer&&this._layers.includes(e.layer))return this._layers.reorder(e.layer,i),e}sort(e){return this._layers.sort(((t,i)=>e(this._forLayer(t),this._forLayer(i)))),this}onParentInitialized(){this._tempLayers?.length&&(this.addMany(this._tempLayers.map((e=>this._forLayer(e)))),this._tempLayers=void 0)}onMapExtensionChanged(){for(const e of this.toArray())e._setMapExtension(this._mapExtension)}_forLayer(e){for(const e of this._uninitializedLayerExtensions)e.layer||e._resolveLayer(this._layers),e.layer&&(this._layerExtensionMap.set(e.layer,e),this._uninitializedLayerExtensions.remove(e),this._mapExtension&&!e.mapExtension&&e._setMapExtension(this._mapExtension));if(!this._layerExtensionMap.has(e)){const t=this._uninitializedLayerExtensions.find((t=>l(e,t._deferredLayerProperties)));if(t)return t;const i=("map"===this._mapExtension?.viewMode?this._mapExtension?._scene:this._mapExtension?._map)?.allLayers.find((t=>l(t,e))),r=this._layerExtensionMap.get(i),s={layer:e};r&&(s.layerListSettings=r.layerListSettings.toJSON());const a=f.create(s);this._register(a)}return this._layerExtensionMap.get(e)}_register(e){if(d("layerX",e).isNotMissing(),e._setMapExtension(this._mapExtension),e.layer||e._resolveLayer(this._layers),e.layer){const t=this._layerExtensionMap.get(e.layer);if(e===t)return;if(this._layerExtensionMap.set(e.layer,e),t&&(this._onRemoved(t),this._layers.includes(e.layer))){const i={added:[e],moved:[],removed:[t],target:this};this.emit("after-add",{item:e}),null!=t&&this.emit("after-remove",{item:t}),this.emit("after-changes"),this.emit("change",i)}}else{this._uninitializedLayerExtensions.add(e);const t={added:[e],moved:[],removed:[],target:this};this.emit("after-add",{item:e}),this.emit("after-changes"),this.emit("change",t)}this._onAdded(e)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.layer}_onAdded(e){}_onRemoved(e){e._setMapExtension(void 0)}}
@@ -1,7 +1,9 @@
1
1
  import Collection from "@arcgis/core/core/Collection";
2
+ import type { EventedCallback, EventNames } from "@arcgis/core/core/Evented.js";
3
+ import type { ResourceHandle } from "@arcgis/core/core/Handles.js";
2
4
  import type { InitializableCollection } from "../../support/InitializableCollectionProxy.js";
3
5
  import { InitializableCollectionProxy } from "../../support/InitializableCollectionProxy.js";
4
- import type { CollectionAfterAddEventHandler, CollectionAfterChangesEventHandler, CollectionAfterRemoveEventHandler, CollectionBeforeAddEventHandler, CollectionBeforeChangesEventHandler, CollectionBeforeRemoveEventHandler, CollectionChangeEventHandler, EventHandler, SublayerLike } from "../../support/esri.js";
6
+ import type { SublayerLike } from "../../support/esri.js";
5
7
  import { type Observable } from "../../support/observableUtils.js";
6
8
  import type { LayerExtension } from "../_LayerExtension.js";
7
9
  import type { SublayerExtensionProperties } from "../_SublayerExtension.js";
@@ -80,14 +82,7 @@ export declare abstract class SublayerExtensionCollectionBase extends Initializa
80
82
  * parent corresponding to the underlying collection of sublayers.
81
83
  */
82
84
  constructor(parent: Observable, sublayersProperty: string);
83
- on(type: "after-add", listener: CollectionAfterAddEventHandler<LayerExtension>): IHandle;
84
- on(type: "after-changes", listener: CollectionAfterChangesEventHandler): IHandle;
85
- on(type: "after-remove", listener: CollectionAfterRemoveEventHandler<LayerExtension>): IHandle;
86
- on(type: "before-add", listener: CollectionBeforeAddEventHandler<LayerExtension>): IHandle;
87
- on(type: "before-changes", listener: CollectionBeforeChangesEventHandler): IHandle;
88
- on(type: "before-remove", listener: CollectionBeforeRemoveEventHandler<LayerExtension>): IHandle;
89
- on(type: "change", listener: CollectionChangeEventHandler<LayerExtension>): IHandle;
90
- on(type: string, listener: EventHandler): IHandle;
85
+ on<Type extends EventNames<this>>(eventName: Type, listener: EventedCallback<this["@eventTypes"][Type]>): ResourceHandle;
91
86
  clone(): SublayerExtensionCollectionBase;
92
87
  /**
93
88
  * @inheritDoc
@@ -1 +1 @@
1
- import e from"@arcgis/core/core/Collection";import{InitializableCollectionProxy as t}from"../../support/InitializableCollectionProxy.js";import{createIHandle as s,notifyChange as r,onWatch as i,watch as a,watchEvent as n}from"../../support/observableUtils.js";import o from"../../utilities/_ReferenceCountedHandle.js";import{checkArg as l}from"../../utilities/checkArg.js";import{onCollectionPropertyChange as h}from"../../utilities/watch.js";import{SublayerExtension as u}from"../_SublayerExtension.js";export class SublayerExtensionCollectionBase extends t{_parent;get _collection(){return this._sublayers.map((e=>this._forSublayer(e))).concat(Array.from(this._uninitializedSublayerExtensions))}get _sublayers(){const t=this._sublayersProperty.split(".");let s=this._parent;for(const e of t){if(null==s){s=void 0;break}s=s[e]}return s||(this._tempSublayers||(this._tempSublayers=new e),s=this._tempSublayers),s}_sublayersProperty;_tempSublayers;_sublayerExtensionMap=new WeakMap;_uninitializedSublayerExtensions=new Set;_onChangeSublayersHandle=new o((()=>h(this._parent,this._sublayersProperty,(e=>{const t={added:(e.added||[]).map((e=>this._forSublayer(e))),moved:(e.moved||[]).map((e=>this._forSublayer(e))),removed:(e.removed||[]).map((e=>this._forSublayer(e)))};this.emit("change",t)}))));_onBeforeAddSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["before-add",e=>this.emit("before-add",{...e,item:this._forSublayer(e.item),target:this})])));_onBeforeRemoveSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["before-remove",e=>this.emit("before-remove",{...e,item:this._forSublayer(e.item),target:this})])));_onBeforeChangesSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["before-changes",e=>this.emit("before-changes",{...e,target:this})])));_onAfterAddSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["after-add",e=>this.emit("after-add",{...e,item:this._forSublayer(e.item),target:this})],(e=>{if(null!=e)for(const t of e)this.emit("after-add",{item:this._forSublayer(t),target:this})}))));_onAfterRemoveSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["after-remove",e=>this.emit("after-remove",{...e,item:this._forSublayer(e.item),target:this})],((e,t)=>{if(null!=t)for(const e of t)this.emit("after-remove",{item:this._forSublayer(e),target:this})}))));_onAfterChangesSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["after-changes",e=>this.emit("after-changes",{...e,target:this})],(()=>{this.emit("after-changes",{target:this})}))));constructor(e,t){super(),this._parent=e,this._sublayersProperty=t,i(this,"length",(()=>a(this._parent,`${this._sublayersProperty}.length`,(()=>r(this,"length")),{sync:!0})))}on(e,t){const r=[];return"change"===e?r.push(this._onChangeSublayersHandle.add()):"before-add"===e?r.push(this._onBeforeAddSublayersHandle.add()):"before-remove"===e?r.push(this._onBeforeRemoveSublayersHandle.add()):"before-changes"===e?r.push(this._onBeforeChangesSublayersHandle.add()):"after-add"===e?r.push(this._onAfterAddSublayersHandle.add()):"after-remove"===e?r.push(this._onAfterRemoveSublayersHandle.add()):"after-changes"===e&&r.push(this._onAfterChangesSublayersHandle.add()),r.push(super.on(e,t)),s(r)}clone(){const e=super.clone();return e._sublayerExtensionMap=this._sublayerExtensionMap,e}findById(e){return l("id",e).isNotMissing(),this.find((t=>t.id===e))}findBySublayerId(e){return l("id",e).isNotMissing(),this.find((t=>t._sublayerId===e))}forSublayer(e){if(l("sublayer",e).isNotMissing(),!(this._sublayers.indexOf(e)<0))return this._forSublayer(e)}add(e,t){return l("sublayerX",e).isNotMissing(),this._register(e),e.sublayer&&(this._sublayers.includes(e.sublayer)?void 0!==t&&this.reorder(e,t):this._sublayers.add(e.sublayer,t)),this}removeAt(e){const t=this.getItemAt(e);if(void 0!==t){if(this._uninitializedSublayerExtensions.has(t)){this._uninitializedSublayerExtensions.delete(t);const e={added:[],moved:[],removed:[t],target:this};this.emit("after-remove",{item:t,target:this}),this.emit("after-changes",{target:this}),this.emit("change",e)}else this._sublayers.removeAt(e);return this._onRemoved(t),t}}reorder(e,t){if(!e)return;const s=this._sublayers.indexOf(e.sublayer);return s<0?void 0:(s!==t&&this._sublayers.reorder(e.sublayer,t),e)}sort(e){return this._sublayers.sort(((t,s)=>e(this._forSublayer(t),this._forSublayer(s)))),this}onParentInitialized(){this._tempSublayers?.length&&(this.addMany(this._tempSublayers.map((e=>this._forSublayer(e)))),this._tempSublayers=void 0)}onLayerExtensionChanged(){for(const e of this.toArray())e._setLayerExtension(this._layerExtension)}_register(e){if(l("sublayerX",e).isNotMissing(),e._setLayerExtension(this._layerExtension),e.sublayer||e._resolveSublayer(),e.sublayer){const t=this._sublayerExtensionMap.get(e.sublayer);if(e===t)return;if(this._sublayerExtensionMap.set(e.sublayer,e),t&&(this._onRemoved(t),this._sublayers.includes(e.sublayer))){const s={added:[e],moved:[],removed:[t],target:this};this.emit("after-add",{item:e,target:this}),null!=t&&this.emit("after-remove",{item:t,target:this}),this.emit("after-changes",{target:this}),this.emit("change",s)}}else{this._uninitializedSublayerExtensions.add(e);const t={added:[e],moved:[],removed:[],target:this};this.emit("after-add",{item:e,target:this}),this.emit("after-changes",{target:this}),this.emit("change",t)}this._onAdded(e)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.sublayer}_onAdded(e){}_onRemoved(e){e._setLayerExtension(void 0)}_forSublayer(e){for(const e of this._uninitializedSublayerExtensions)e._resolveSublayer(),e.sublayer&&(this._sublayerExtensionMap.set(e.sublayer,e),this._uninitializedSublayerExtensions.delete(e));if(!this._sublayerExtensionMap.has(e)){const t=u.create({sublayer:e});this._register(t)}return this._sublayerExtensionMap.get(e)}}
1
+ import e from"@arcgis/core/core/Collection";import{InitializableCollectionProxy as t}from"../../support/InitializableCollectionProxy.js";import{createIHandle as s,notifyChange as r,onWatch as i,watch as a,watchEvent as n}from"../../support/observableUtils.js";import o from"../../utilities/_ReferenceCountedHandle.js";import{checkArg as l}from"../../utilities/checkArg.js";import{onCollectionPropertyChange as h}from"../../utilities/watch.js";import{SublayerExtension as u}from"../_SublayerExtension.js";export class SublayerExtensionCollectionBase extends t{_parent;get _collection(){return this._sublayers.map((e=>this._forSublayer(e))).concat(Array.from(this._uninitializedSublayerExtensions))}get _sublayers(){const t=this._sublayersProperty.split(".");let s=this._parent;for(const e of t){if(null==s){s=void 0;break}s=s[e]}return s||(this._tempSublayers||(this._tempSublayers=new e),s=this._tempSublayers),s}_sublayersProperty;_tempSublayers;_sublayerExtensionMap=new WeakMap;_uninitializedSublayerExtensions=new Set;_onChangeSublayersHandle=new o((()=>h(this._parent,this._sublayersProperty,(e=>{const t={added:(e.added||[]).map((e=>this._forSublayer(e))),moved:(e.moved||[]).map((e=>this._forSublayer(e))),removed:(e.removed||[]).map((e=>this._forSublayer(e)))};this.emit("change",t)}))));_onBeforeAddSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["before-add",e=>this.emit("before-add",{...e,item:this._forSublayer(e.item)})])));_onBeforeRemoveSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["before-remove",e=>this.emit("before-remove",{...e,item:this._forSublayer(e.item)})])));_onBeforeChangesSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["before-changes",e=>this.emit("before-changes",{...e})])));_onAfterAddSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["after-add",e=>this.emit("after-add",{...e,item:this._forSublayer(e.item)})],(e=>{if(null!=e)for(const t of e)this.emit("after-add",{item:this._forSublayer(t)})}))));_onAfterRemoveSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["after-remove",e=>this.emit("after-remove",{...e,item:this._forSublayer(e.item)})],((e,t)=>{if(null!=t)for(const e of t)this.emit("after-remove",{item:this._forSublayer(e)})}))));_onAfterChangesSublayersHandle=new o((()=>n(this._parent,this._sublayersProperty,["after-changes",e=>this.emit("after-changes",{...e,target:this})],(()=>{this.emit("after-changes",{target:this})}))));constructor(e,t){super(),this._parent=e,this._sublayersProperty=t,i(this,"length",(()=>a(this._parent,`${this._sublayersProperty}.length`,(()=>r(this,"length")),{sync:!0})))}on(e,t){const r=[];return"change"===e?r.push(this._onChangeSublayersHandle.add()):"before-add"===e?r.push(this._onBeforeAddSublayersHandle.add()):"before-remove"===e?r.push(this._onBeforeRemoveSublayersHandle.add()):"before-changes"===e?r.push(this._onBeforeChangesSublayersHandle.add()):"after-add"===e?r.push(this._onAfterAddSublayersHandle.add()):"after-remove"===e?r.push(this._onAfterRemoveSublayersHandle.add()):"after-changes"===e&&r.push(this._onAfterChangesSublayersHandle.add()),r.push(super.on(e,t)),s(r)}clone(){const e=super.clone();return e._sublayerExtensionMap=this._sublayerExtensionMap,e}findById(e){return l("id",e).isNotMissing(),this.find((t=>t.id===e))}findBySublayerId(e){return l("id",e).isNotMissing(),this.find((t=>t._sublayerId===e))}forSublayer(e){if(l("sublayer",e).isNotMissing(),!(this._sublayers.indexOf(e)<0))return this._forSublayer(e)}add(e,t){return l("sublayerX",e).isNotMissing(),this._register(e),e.sublayer&&(this._sublayers.includes(e.sublayer)?void 0!==t&&this.reorder(e,t):this._sublayers.add(e.sublayer,t)),this}removeAt(e){const t=this.getItemAt(e);if(void 0!==t){if(this._uninitializedSublayerExtensions.has(t)){this._uninitializedSublayerExtensions.delete(t);const e={added:[],moved:[],removed:[t],target:this};this.emit("after-remove",{item:t}),this.emit("after-changes",{}),this.emit("change",e)}else this._sublayers.removeAt(e);return this._onRemoved(t),t}}reorder(e,t){if(!e)return;const s=this._sublayers.indexOf(e.sublayer);return s<0?void 0:(s!==t&&this._sublayers.reorder(e.sublayer,t),e)}sort(e){return this._sublayers.sort(((t,s)=>e(this._forSublayer(t),this._forSublayer(s)))),this}onParentInitialized(){this._tempSublayers?.length&&(this.addMany(this._tempSublayers.map((e=>this._forSublayer(e)))),this._tempSublayers=void 0)}onLayerExtensionChanged(){for(const e of this.toArray())e._setLayerExtension(this._layerExtension)}_register(e){if(l("sublayerX",e).isNotMissing(),e._setLayerExtension(this._layerExtension),e.sublayer||e._resolveSublayer(),e.sublayer){const t=this._sublayerExtensionMap.get(e.sublayer);if(e===t)return;if(this._sublayerExtensionMap.set(e.sublayer,e),t&&(this._onRemoved(t),this._sublayers.includes(e.sublayer))){const s={added:[e],moved:[],removed:[t],target:this};this.emit("after-add",{item:e}),null!=t&&this.emit("after-remove",{item:t}),this.emit("after-changes",{target:this}),this.emit("change",s)}}else{this._uninitializedSublayerExtensions.add(e);const t={added:[e],moved:[],removed:[],target:this};this.emit("after-add",{item:e}),this.emit("after-changes",{target:this}),this.emit("change",t)}this._onAdded(e)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.sublayer}_onAdded(e){}_onRemoved(e){e._setLayerExtension(void 0)}_forSublayer(e){for(const e of this._uninitializedSublayerExtensions)e._resolveSublayer(),e.sublayer&&(this._sublayerExtensionMap.set(e.sublayer,e),this._uninitializedSublayerExtensions.delete(e));if(!this._sublayerExtensionMap.has(e)){const t=u.create({sublayer:e});this._register(t)}return this._sublayerExtensionMap.get(e)}}
@@ -1 +1 @@
1
- import{createFeatureServices as e}from"@arcgis/core/rest/featureService/utils";import{FeatureSaveError as t}from"../../data/FeatureSaveError.js";import{applyEditsProcessEditedFeatures as a,applyEditsProcessResults as s}from"../../support/_featureEdit.js";import{getGdbVersion as r}from"../../utilities/_version.js";import{isFeatureLayerExtension as d,isSubtypeGroupLayerExtension as u,isSubtypeSublayerExtension as i}from"../../utilities/extensions.js";import{map as o}from"../../utilities/iterable.js";import{getGlobalIdField as l,isGlobalIdUsed as n}from"./layers.js";export async function applyEdits(c){const{addFeatures:p=[],updateFeatures:F=[],deleteFeatures:m=[]}=c,f=new Map,h=new WeakMap,g=new WeakMap,y=new WeakMap,E=(e,t)=>{const a=(e=>d(e.source)||u(e.source)?e.source.layer:i(e.source)?e.source.layerExtension.layer:e.source.table)(e),s=l(a),{objectIdField:r}=a;f.has(a)||f.set(a,{id:a.layerId,identifierFields:{globalIdField:s,objectIdField:r},addFeatures:[],updateFeatures:[],deleteFeatures:[],addAttachments:void 0,updateAttachments:void 0,deleteAttachments:void 0});const o=f.get(a),n=e.toGraphic();"updateFeatures"===t&&e.source?.schema.fieldExtensions.forEach((e=>{e.field.editable||e.field.name===r||e.field.name===s||delete n.attributes[e.field.name]})),o[t].push(n);let c=h;"updateFeatures"===t?c=g:"deleteFeatures"===t&&(c=y),c.has(a)||c.set(a,[]),c.get(a).push(e)};p.forEach((e=>E(e,"addFeatures"))),F.forEach((e=>E(e,"updateFeatures"))),m.forEach((e=>E(e,"deleteFeatures")));const b=e([...f.keys()]),w=new t("Errors encountered when applying edits."),v=await Promise.all(o(b.values(),(async({featureService:e,layers:t})=>{await e.load();const d=[];t.forEach((e=>{d.push(f.get(e))}));try{const u=await e.applyEdits(d,{globalIdUsed:t.every((e=>n(e,f.get(e)))),gdbVersion:t[0].gdbVersion??r(t[0].customParameters)});for(const e of u){const r=t.find((t=>t.layerId===e.id));null!=r&&(s(r,h.get(r),e.addFeatureResults,"add",w),s(r,g.get(r),e.updateFeatureResults,"update",w),s(r,y.get(r),e.deleteFeatureResults,"delete",w),null!=e.editedFeatures&&a(r,{adds:h.get(r),updates:g.get(r)},e.editedFeatures),r.emit("edits",{deletedFeatures:e.deleteFeatureResults??[],updatedFeatures:e.updateFeatureResults??[],addedFeatures:e.addFeatureResults??[],deletedAttachments:[],updatedAttachments:[]}))}return u}catch(e){return w.errors.set("",e),[]}})));if(w.errors.size>0)throw w;return v}
1
+ import{createFeatureServices as e}from"@arcgis/core/rest/featureService/utils";import{FeatureSaveError as t}from"../../data/FeatureSaveError.js";import{applyEditsProcessEditedFeatures as a,applyEditsProcessResults as s}from"../../support/_featureEdit.js";import{getGdbVersion as r}from"../../utilities/_version.js";import{isFeatureLayerExtension as d,isSubtypeGroupLayerExtension as u,isSubtypeSublayerExtension as i}from"../../utilities/extensions.js";import{map as o}from"../../utilities/iterable.js";import{getGlobalIdField as l,isGlobalIdUsed as n}from"./layers.js";export async function applyEdits(c){const{addFeatures:p=[],updateFeatures:m=[],deleteFeatures:F=[]}=c,f=new Map,h=new WeakMap,g=new WeakMap,y=new WeakMap,E=(e,t)=>{const a=(e=>d(e.source)||u(e.source)?e.source.layer:i(e.source)?e.source.layerExtension.layer:e.source.table)(e),s=l(a),{objectIdField:r}=a;f.has(a)||f.set(a,{id:a.layerId,identifierFields:{globalIdField:s,objectIdField:r},addFeatures:[],updateFeatures:[],deleteFeatures:[],addAttachments:void 0,updateAttachments:void 0,deleteAttachments:void 0});const o=f.get(a),n=e.toGraphic();"updateFeatures"===t&&e.source?.schema.fieldExtensions.forEach((e=>{e.field.editable||e.field.name===r||e.field.name===s||delete n.attributes[e.field.name]})),o[t].push(n);let c=h;"updateFeatures"===t?c=g:"deleteFeatures"===t&&(c=y),c.has(a)||c.set(a,[]),c.get(a).push(e)};p.forEach((e=>E(e,"addFeatures"))),m.forEach((e=>E(e,"updateFeatures"))),F.forEach((e=>E(e,"deleteFeatures")));const b=e([...f.keys()]),w=new t("Errors encountered when applying edits."),v=await Promise.all(o(b.values(),(async({featureService:e,layers:t})=>{await e.load();const d=[];t.forEach((e=>{d.push(f.get(e))}));try{const u=await e.applyEdits(d,{globalIdUsed:t.every((e=>n(e,f.get(e)))),gdbVersion:t[0].gdbVersion??r(t[0].customParameters)});for(const e of u){const r=t.find((t=>t.layerId===e.id));null!=r&&(s(r,h.get(r),e.addFeatureResults,"add",w),s(r,g.get(r),e.updateFeatureResults,"update",w),s(r,y.get(r),e.deleteFeatureResults,"delete",w),null!=e.editedFeatures&&a(r,{adds:h.get(r),updates:g.get(r)},e.editedFeatures),r.emit("edits",{deletedFeatures:e.deleteFeatureResults??[],updatedFeatures:e.updateFeatureResults??[],addedFeatures:e.addFeatureResults??[],deletedAttachments:[],updatedAttachments:[],addedAttachments:[],exceededTransferLimit:!1}))}return u}catch(e){return w.errors.set("",e),[]}})));if(w.errors.size>0)throw w;return v}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vertigis/arcgis-extensions",
3
3
  "license": "SEE LICENSE IN LICENSE",
4
- "version": "52.1.1",
4
+ "version": "53.0.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://dev.azure.com/vertigis/Studio/_git/arcgis-extensions-ts"
@@ -113,7 +113,7 @@
113
113
  "whatwg-fetch": "3.6.20"
114
114
  },
115
115
  "peerDependencies": {
116
- "@arcgis/core": "4.33.13",
116
+ "@arcgis/core": "^5.0.10",
117
117
  "tslib": "^2.6.2"
118
118
  },
119
119
  "overrides": {
@@ -62,7 +62,7 @@ export interface CSVLayer extends OperationalLayerBase {
62
62
  * You can set this property using any of the following: ",", " ", ";", "|",
63
63
  * "\t". Used with CSV layers only.
64
64
  */
65
- columnDelimiter?: string;
65
+ columnDelimiter?: "," | " " | ";" | "|" | "\t";
66
66
  /**
67
67
  * Indicates whether to allow a client to ignore popups defined by the
68
68
  * service item.
@@ -1,4 +1,5 @@
1
- import type { ElevationMode as EsriApiElevationMode, FeatureLayerElevationInfo as EsriFeatureLayerElevationInfo } from "../support/esri.js";
1
+ import EsriElevationInfo from "@arcgis/core/symbols/support/ElevationInfo.js";
2
+ import type { ElevationMode as EsriApiElevationMode } from "../support/esri.js";
2
3
  export declare namespace ElevationInfo {
3
4
  /**
4
5
  * Converts an ArcGIS Portal JSON representation of elevation info to its
@@ -7,7 +8,7 @@ export declare namespace ElevationInfo {
7
8
  * @deprecated Use "json/*" modules instead.
8
9
  * @param json The elevation info JSON to convert.
9
10
  */
10
- function toEsriApiElevationInfo(json: ElevationInfo): EsriFeatureLayerElevationInfo;
11
+ function toEsriApiElevationInfo(json: ElevationInfo): EsriElevationInfo;
11
12
  /**
12
13
  * Converts an Esri JavaScript API ElevationInfo object to its ArcGIS Portal
13
14
  * JSON representation.
@@ -15,7 +16,7 @@ export declare namespace ElevationInfo {
15
16
  * @deprecated Use "json/*" modules instead.
16
17
  * @param elevationInfo The elevationInfo object to convert.
17
18
  */
18
- function fromEsriApiElevationInfo(elevationInfo: EsriFeatureLayerElevationInfo): ElevationInfo;
19
+ function fromEsriApiElevationInfo(elevationInfo: EsriElevationInfo): ElevationInfo;
19
20
  }
20
21
  /**
21
22
  * Defines how the graphic is placed with respect to the terrain surface.
@@ -1 +1 @@
1
- import{assertNever as e,checkArg as t}from"../utilities/checkArg.js";import{deepClone as o}from"../utilities/object.js";export var ElevationInfo;!function(e){e.toEsriApiElevationInfo=function(e){t("json",e).isNotMissing();const n=o(e);if(e.hasOwnProperty("mode")&&null!=e.mode&&(n.mode=ElevationMode.toEsriApiElevationMode(e.mode)),e.hasOwnProperty("unit"))switch(e.unit){case"foot":n.unit="feet";break;case"kilometer":n.unit="kilometers";break;case"meter":n.unit="meters";break;case"mile":n.unit="miles";break;case"us-foot":n.unit="us-feet";break;case"yard":n.unit="yards"}return n},e.fromEsriApiElevationInfo=function(e){t("elevationInfo",e).isNotMissing();const n=o(e);if(e.hasOwnProperty("mode")&&(n.mode=ElevationMode.fromEsriApiElevationMode(e.mode)),e.hasOwnProperty("unit"))switch(e.unit){case"feet":n.unit="foot";break;case"kilometers":n.unit="kilometer";break;case"meters":n.unit="meter";break;case"miles":n.unit="mile";break;case"us-feet":n.unit="us-foot";break;case"yards":n.unit="yard"}return n}}(ElevationInfo||(ElevationInfo={}));export var ElevationMode;function n(t,o){const n=t;switch(n){case"on-the-ground":return"onTheGround";case"relative-to-ground":return"relativeToGround";case"relative-to-scene":return"relativeToScene";case"absolute-height":return"absoluteHeight";default:return e(n,o)}}function r(t,o){const n=t;switch(n){case"onTheGround":return"on-the-ground";case"relativeToGround":return"relative-to-ground";case"relativeToScene":return"relative-to-scene";case"absoluteHeight":return"absolute-height";default:return e(n,o)}}!function(e){e.fromEsriApiElevationMode=function(e){return!!r(e)?e:n(e,new Error("Unrecognized elevation mode."))},e.toEsriApiElevationMode=function(e){return!!n(e)?e:r(e,new Error("Unrecognized elevation mode."))}}(ElevationMode||(ElevationMode={}));
1
+ import e from"@arcgis/core/symbols/support/ElevationInfo.js";import{assertNever as t,checkArg as o}from"../utilities/checkArg.js";export var ElevationInfo;!function(t){t.toEsriApiElevationInfo=function(t){o("json",t).isNotMissing();const{mode:n,unit:r,...i}=t,a=new e(i);if(t.hasOwnProperty("mode")&&null!=t.mode&&(a.mode=ElevationMode.toEsriApiElevationMode(t.mode)),t.hasOwnProperty("unit"))switch(t.unit){case"foot":a.unit="feet";break;case"kilometer":a.unit="kilometers";break;case"meter":a.unit="meters";break;case"mile":a.unit="miles";break;case"us-foot":a.unit="us-feet";break;case"yard":a.unit="yards"}return a},t.fromEsriApiElevationInfo=function(e){o("elevationInfo",e).isNotMissing();const t=e.toJSON();if(e.hasOwnProperty("mode")&&(t.mode=ElevationMode.fromEsriApiElevationMode(e.mode)),e.hasOwnProperty("unit"))switch(e.unit){case"feet":t.unit="foot";break;case"kilometers":t.unit="kilometer";break;case"meters":t.unit="meter";break;case"miles":t.unit="mile";break;case"us-feet":t.unit="us-foot";break;case"yards":t.unit="yard"}return t}}(ElevationInfo||(ElevationInfo={}));export var ElevationMode;function n(e,o){const n=e;switch(n){case"on-the-ground":return"onTheGround";case"relative-to-ground":return"relativeToGround";case"relative-to-scene":return"relativeToScene";case"absolute-height":return"absoluteHeight";default:return t(n,o)}}function r(e,o){const n=e;switch(n){case"onTheGround":return"on-the-ground";case"relativeToGround":return"relative-to-ground";case"relativeToScene":return"relative-to-scene";case"absoluteHeight":return"absolute-height";default:return t(n,o)}}!function(e){e.fromEsriApiElevationMode=function(e){return!!r(e)?e:n(e,new Error("Unrecognized elevation mode."))},e.toEsriApiElevationMode=function(e){return!!n(e)?e:r(e,new Error("Unrecognized elevation mode."))}}(ElevationMode||(ElevationMode={}));
@@ -1 +1 @@
1
- import e from"@arcgis/core/layers/support/LabelClass";import{assertNever as r,checkArg as n}from"../utilities/checkArg.js";export var LabelingInfo;!function(r){r.toEsriApiLabelClass=function(r){return n("labelingInfo",r).isNotMissing(),e.fromJSON(r)},r.fromEsriApiLabelClass=function(e){return n("labelClass",e).isNotMissing(),e.toJSON()}}(LabelingInfo||(LabelingInfo={}));export var LabelPlacement;function t(e,n){const t=e;switch(t){case"above-after":return"esriServerLinePlacementAboveAfter";case"above-along":return"esriServerLinePlacementAboveAlong";case"above-before":return"esriServerLinePlacementAboveBefore";case"above-center":return"esriServerPointLabelPlacementAboveCenter";case"above-end":return"esriServerLinePlacementAboveEnd";case"above-left":return"esriServerPointLabelPlacementAboveLeft";case"above-right":return"esriServerPointLabelPlacementAboveRight";case"above-start":return"esriServerLinePlacementAboveStart";case"always-horizontal":return"esriServerPolygonPlacementAlwaysHorizontal";case"below-after":return"esriServerLinePlacementBelowAfter";case"below-along":return"esriServerLinePlacementBelowAlong";case"below-before":return"esriServerLinePlacementBelowBefore";case"below-center":return"esriServerPointLabelPlacementBelowCenter";case"below-end":return"esriServerLinePlacementBelowEnd";case"below-left":return"esriServerPointLabelPlacementBelowLeft";case"below-right":return"esriServerPointLabelPlacementBelowRight";case"below-start":return"esriServerLinePlacementBelowStart";case"center-after":return"esriServerLinePlacementCenterAfter";case"center-along":return"esriServerLinePlacementCenterAlong";case"center-before":return"esriServerLinePlacementCenterBefore";case"center-center":return"esriServerPointLabelPlacementCenterCenter";case"center-end":return"esriServerLinePlacementCenterEnd";case"center-left":return"esriServerPointLabelPlacementCenterLeft";case"center-right":return"esriServerPointLabelPlacementCenterRight";case"center-start":return"esriServerLinePlacementCenterStart";default:return r(t,n)}}function a(e,n){const t=e;switch(t){case"esriServerLinePlacementAboveAfter":return"above-after";case"esriServerLinePlacementAboveAlong":return"above-along";case"esriServerLinePlacementAboveBefore":return"above-before";case"esriServerPointLabelPlacementAboveCenter":return"above-center";case"esriServerLinePlacementAboveEnd":return"above-end";case"esriServerPointLabelPlacementAboveLeft":return"above-left";case"esriServerPointLabelPlacementAboveRight":return"above-right";case"esriServerLinePlacementAboveStart":return"above-start";case"esriServerPolygonPlacementAlwaysHorizontal":return"always-horizontal";case"esriServerLinePlacementBelowAfter":return"below-after";case"esriServerLinePlacementBelowAlong":return"below-along";case"esriServerLinePlacementBelowBefore":return"below-before";case"esriServerPointLabelPlacementBelowCenter":return"below-center";case"esriServerLinePlacementBelowEnd":return"below-end";case"esriServerPointLabelPlacementBelowLeft":return"below-left";case"esriServerPointLabelPlacementBelowRight":return"below-right";case"esriServerLinePlacementBelowStart":return"below-start";case"esriServerLinePlacementCenterAfter":return"center-after";case"esriServerLinePlacementCenterAlong":return"center-along";case"esriServerLinePlacementCenterBefore":return"center-before";case"esriServerPointLabelPlacementCenterCenter":return"center-center";case"esriServerLinePlacementCenterEnd":return"center-end";case"esriServerPointLabelPlacementCenterLeft":return"center-left";case"esriServerPointLabelPlacementCenterRight":return"center-right";case"esriServerLinePlacementCenterStart":return"center-start";default:return r(t,n)}}!function(e){e.fromEsriApiLabelPlacement=function(e){return!!a(e)?e:t(e,new Error("Unrecognized label placement."))},e.toEsriApiLabelPlacement=function(e){return!!t(e)?e:a(e,new Error("Unrecognized label placement."))}}(LabelPlacement||(LabelPlacement={}));
1
+ import e from"@arcgis/core/layers/support/LabelClass";import{assertNever as r,checkArg as n}from"../utilities/checkArg.js";export var LabelingInfo;!function(r){r.toEsriApiLabelClass=function(r){return n("labelingInfo",r).isNotMissing(),e.fromJSON(r)},r.fromEsriApiLabelClass=function(e){return n("labelClass",e).isNotMissing(),e.toJSON()}}(LabelingInfo||(LabelingInfo={}));export var LabelPlacement;function t(e,n){const t=e;switch(t){case"above-along":return"esriServerLinePlacementAboveAlong";case"above-center":return"esriServerPointLabelPlacementAboveCenter";case"above-left":return"esriServerPointLabelPlacementAboveLeft";case"above-right":return"esriServerPointLabelPlacementAboveRight";case"always-horizontal":return"esriServerPolygonPlacementAlwaysHorizontal";case"below-along":return"esriServerLinePlacementBelowAlong";case"below-center":return"esriServerPointLabelPlacementBelowCenter";case"below-left":return"esriServerPointLabelPlacementBelowLeft";case"below-right":return"esriServerPointLabelPlacementBelowRight";case"center-along":return"esriServerLinePlacementCenterAlong";case"center-center":return"esriServerPointLabelPlacementCenterCenter";case"center-left":return"esriServerPointLabelPlacementCenterLeft";case"center-right":return"esriServerPointLabelPlacementCenterRight";default:return r(t,n)}}function a(e,n){const t=e;switch(t){case"esriServerLinePlacementAboveAfter":case"esriServerLinePlacementAboveEnd":case"esriServerPointLabelPlacementAboveRight":return"above-right";case"esriServerLinePlacementAboveAlong":return"above-along";case"esriServerLinePlacementAboveBefore":case"esriServerPointLabelPlacementAboveLeft":case"esriServerLinePlacementAboveStart":return"above-left";case"esriServerPointLabelPlacementAboveCenter":return"above-center";case"esriServerPolygonPlacementAlwaysHorizontal":return"always-horizontal";case"esriServerLinePlacementBelowAfter":case"esriServerLinePlacementBelowEnd":case"esriServerPointLabelPlacementBelowRight":return"below-right";case"esriServerLinePlacementBelowAlong":return"below-along";case"esriServerLinePlacementBelowBefore":case"esriServerPointLabelPlacementBelowLeft":case"esriServerLinePlacementBelowStart":return"below-left";case"esriServerPointLabelPlacementBelowCenter":return"below-center";case"esriServerLinePlacementCenterAfter":case"esriServerLinePlacementCenterEnd":case"esriServerPointLabelPlacementCenterRight":return"center-right";case"esriServerLinePlacementCenterAlong":return"center-along";case"esriServerLinePlacementCenterBefore":case"esriServerPointLabelPlacementCenterLeft":case"esriServerLinePlacementCenterStart":return"center-left";case"esriServerPointLabelPlacementCenterCenter":return"center-center";default:return r(t,n)}}!function(e){e.fromEsriApiLabelPlacement=function(e){return!!a(e)?e:t(e,new Error("Unrecognized label placement."))},e.toEsriApiLabelPlacement=function(e){return!!t(e)?e:a(e,new Error("Unrecognized label placement."))}}(LabelPlacement||(LabelPlacement={}));
@@ -1 +1 @@
1
- import e from"@arcgis/core/geometry/Extent";import i from"@arcgis/core/layers/support/TimeInfo";import{DataLayerSource as t,MapLayerSource as r}from"../support/_esriInternal.js";import{isBuildingSceneLayer as o,isCSVLayer as a,isFeatureLayer as s,isFeatureLayerBase as n,isGeoJSONLayer as p,isMapImageSublayer as l,isMapNotesLayer as f,isMapNotesSublayer as c,isRouteLayer as m,isSubtypeSublayer as y,isSceneLayer as d,isStreamLayer as u,isTimeAwareLayer as h}from"../utilities/_layers.js";import{checkArg as E}from"../utilities/checkArg.js";import{isBuildingComponentSublayer as I,isGraphicsLayer as w,isLayer as x,isPointCloudLayer as b}from"../utilities/layers.js";import{isEmpty as g}from"../utilities/object.js";import{DrawingInfo as A}from"./DrawingInfo.js";import{ElevationInfo as R}from"./ElevationInfo.js";import{FeatureReduction as O}from"./FeatureReduction.js";import{Field as T}from"./Field.js";import{GeometryType as P}from"./Geometry.js";import{toEsriLayerFloorInfo as j,toPortalLayerFloorInfo as S}from"./LayerFloorInfo.js";import{SpatialReference as v}from"./SpatialReference.js";import{Template as D}from"./Template.js";import{Type as L}from"./Type.js";export var LayerDefinition;!function(F){F.applyToEsriApiLayer=async function(o,f){E("json",o).isNotMissing(),E("layer",f).isNotMissing();const c=f,m=f;if((n(c)||y(c))&&(o.hasOwnProperty("objectIdField")&&null!=o.objectIdField&&(u(c)?c.objectIdField="__esri_stream_id__":c.objectIdField=o.objectIdField),o.hasOwnProperty("geometryType")&&null!=o.geometryType&&(c.geometryType=P.toEsriApiGeometryType(o.geometryType)),o.hasOwnProperty("hasAttachments")&&m._set("capabilities.data.supportsAttachment",o.hasAttachments),o.hasOwnProperty("maxRecordCount")&&null!=o.maxRecordCount&&(m.maxRecordCount=o.maxRecordCount),o.hasOwnProperty("hasM")&&m._set("hasM",o.hasM),o.hasOwnProperty("hasZ")&&m._set("hasZ",o.hasZ),o.hasOwnProperty("types")&&s(c)&&(c.types=o.types?.map((e=>L.toEsriApiFeatureType(e)))),o.hasOwnProperty("templates")&&(c.templates=o.templates?.map((e=>D.toEsriApiFeatureTemplate(e)))),o.hasOwnProperty("floorInfo")&&o.floorInfo&&(c.floorInfo=await j(o.floorInfo))),(o.hasOwnProperty("orderBy")&&(s(c)||a(c))||p(c))&&(o.orderBy?c.orderBy=o.orderBy.map((e=>({field:e.field,order:"desc"===e.order?"descending":"ascending"}))):c.orderBy=void 0),o.hasOwnProperty("source")&&null!=o.source&&l(f)&&!f.layer?.loaded){const{type:e,...i}=o.source;"dataLayer"===e?m._set("source",new t(i)):"mapLayer"===e&&m._set("source",new r(i))}if(o.hasOwnProperty("copyrightText")&&(f.copyright=o.copyrightText),o.hasOwnProperty("defaultVisibility")&&null!=o.defaultVisibility&&(f.visible=o.defaultVisibility),o.hasOwnProperty("definitionExpression")&&(f.definitionExpression=o.definitionExpression),o.hasOwnProperty("elevationInfo")&&o.elevationInfo&&(f.elevationInfo=R.toEsriApiElevationInfo(o.elevationInfo)),o.hasOwnProperty("extent")&&(f.fullExtent=o.extent?e.fromJSON(o.extent):void 0),o.hasOwnProperty("fields")){const e=[];o.fields?.forEach((i=>{e.push(T.toEsriApiField(i))})),m._set("fields",e)}o.hasOwnProperty("maxScale")&&null!=o.maxScale&&(f.maxScale=o.maxScale),o.hasOwnProperty("minScale")&&null!=o.minScale&&(f.minScale=o.minScale),o.hasOwnProperty("name")&&!f.title&&(f.title=o.name);try{o.hasOwnProperty("spatialReference")&&null!=o.spatialReference?f.spatialReference=v.toEsriApiSpatialReference(o.spatialReference):f.fullExtent?.spatialReference&&f.spatialReference&&(f.spatialReference=f.fullExtent.spatialReference.clone())}catch{}o.hasOwnProperty("timeInfo")&&h(f)&&(f.timeInfo=i.fromJSON(o.timeInfo)),o.hasOwnProperty("featureReduction")&&o.featureReduction&&await O.applyToEsriApiLayer(o.featureReduction,f),o.hasOwnProperty("drawingInfo")&&null!=o.drawingInfo&&await A.applyToEsriApiLayer(o.drawingInfo,f)},F.fromEsriApiLayer=function(e,i={}){E("layer",e).isNotMissing();const t={},r=e,y=e;if(n(r)){const o=e;r.objectIdField&&(t.objectIdField=r.objectIdField),o.geometryType&&(t.geometryType=P.fromEsriApiGeometryType(o.geometryType)),r.capabilities&&r.capabilities.data.supportsAttachment!==i.hasAttachments&&(t.hasAttachments=r.capabilities.data.supportsAttachment),isNaN(y.maxRecordCount)||null==y.maxRecordCount||(t.maxRecordCount=y.maxRecordCount),r.capabilities&&(t.capabilities=LayerDefinitionCapabilities.fromEsriApiFeatureLayerCapabilities(r.capabilities),r.capabilities.query&&(t.supportsAdvancedQueries=r.capabilities.query.supportsOrderBy||r.capabilities.query.supportsDistinct,t.supportsStatistics=r.capabilities.query.supportsStatistics)),r.hasM!==i.hasM&&(t.hasM=r.hasM),r.hasZ!==i.hasZ&&(t.hasZ=r.hasZ),r.templates&&r.templates.length>0&&(t.templates=r.templates.map((e=>D.fromEsriApiFeatureTemplate(e)))),r.floorInfo&&(t.floorInfo=S(r.floorInfo))}if(e.featureReduction&&(t.featureReduction=O.fromEsriApiLayer(e)),l(e)&&e.source&&("data-layer"===e.source.type||"map-layer"===e.source.type)&&(t.source=e.source.toJSON()),e.copyright&&(t.copyrightText=e.copyright),e.visible===i.visible||l(e)||(t.defaultVisibility=e.visible),e.definitionExpression&&(t.definitionExpression=e.definitionExpression),t.drawingInfo=A.fromEsriApiLayer(e),g(t.drawingInfo)&&delete t.drawingInfo,(I(e)?!!e.layer?.elevationInfo:!!e.elevationInfo)&&(t.elevationInfo=R.fromEsriApiElevationInfo(e.elevationInfo)),(s(e)&&e.source||a(e)||w(e)||p(e)||u(e)||m(e)||f(e))&&(e.fullExtent&&!e.fullExtent.equals(i.fullExtent)&&(t.extent=e.fullExtent.toJSON()),e.fields?.length)){const i=[];e.fields.forEach((e=>{i.push(T.fromEsriApiField(e))})),t.fields=i}if((s(r)||a(r)||p(r))&&r.orderBy&&(t.orderBy=r.orderBy.map((e=>({field:e.field,order:"descending"===e.order?"desc":"asc"})))),s(r)||a(r)||u(r)||d(r)||o(r)||b(r)||f(r)||c(r)||m(r)||w(r)){const{maxScale:e}=r,{minScale:o}=r;isNaN(e)||null===e||e===i.maxScale&&e===o||(t.maxScale=e),isNaN(o)||null===o||o===i.minScale&&o===e||(t.minScale=o)}return h(r)&&(t.timeInfo=r.timeInfo?.toJSON()),t.name=e.title??void 0,x(e)&&e.spatialReference&&e.spatialReference.wkid!==i.wkid&&(t.spatialReference=v.fromEsriApiSpatialReference(e.spatialReference)),t}}(LayerDefinition||(LayerDefinition={}));export var LayerDefinitionCapabilities;!function(e){e.ADD="Add",e.DELETE="Delete",e.EDITING="Editing",e.QUERY="Query",e.UPDATE="Update",e.fromEsriApiFeatureLayerCapabilities=function(i){E("capabilities",i).isNotMissing();const t=[];return i.operations.supportsAdd&&t.push(e.ADD),i.operations.supportsDelete&&t.push(e.DELETE),i.operations.supportsEditing&&t.push(e.EDITING),i.operations.supportsQuery&&t.push(e.QUERY),i.operations.supportsUpdate&&t.push(e.UPDATE),t.join(",")}}(LayerDefinitionCapabilities||(LayerDefinitionCapabilities={}));
1
+ import e from"@arcgis/core/geometry/Extent";import i from"@arcgis/core/layers/support/TimeInfo";import t from"@arcgis/core/rest/layerSources/DynamicDataLayer.js";import r from"@arcgis/core/rest/layerSources/DynamicMapLayer.js";import{isBuildingSceneLayer as o,isCSVLayer as a,isFeatureLayer as s,isFeatureLayerBase as n,isGeoJSONLayer as p,isMapImageSublayer as l,isMapNotesLayer as f,isMapNotesSublayer as c,isRouteLayer as m,isSubtypeSublayer as y,isSceneLayer as d,isStreamLayer as u,isTimeAwareLayer as h}from"../utilities/_layers.js";import{checkArg as E}from"../utilities/checkArg.js";import{isBuildingComponentSublayer as I,isGraphicsLayer as g,isLayer as x,isPointCloudLayer as b}from"../utilities/layers.js";import{isEmpty as w}from"../utilities/object.js";import{DrawingInfo as A}from"./DrawingInfo.js";import{ElevationInfo as O}from"./ElevationInfo.js";import{FeatureReduction as R}from"./FeatureReduction.js";import{Field as S}from"./Field.js";import{GeometryType as T}from"./Geometry.js";import{toEsriLayerFloorInfo as j,toPortalLayerFloorInfo as P}from"./LayerFloorInfo.js";import{SpatialReference as D}from"./SpatialReference.js";import{Template as L}from"./Template.js";import{Type as v}from"./Type.js";export var LayerDefinition;!function(F){F.applyToEsriApiLayer=async function(o,f){E("json",o).isNotMissing(),E("layer",f).isNotMissing();const c=f,m=f;if((n(c)||y(c))&&(o.hasOwnProperty("objectIdField")&&null!=o.objectIdField&&(u(c)?c.objectIdField="__esri_stream_id__":c.objectIdField=o.objectIdField),o.hasOwnProperty("geometryType")&&null!=o.geometryType&&(c.geometryType=T.toEsriApiGeometryType(o.geometryType)),o.hasOwnProperty("hasAttachments")&&m._set("capabilities.data.supportsAttachment",o.hasAttachments),o.hasOwnProperty("maxRecordCount")&&null!=o.maxRecordCount&&(m.maxRecordCount=o.maxRecordCount),o.hasOwnProperty("hasM")&&m._set("hasM",o.hasM),o.hasOwnProperty("hasZ")&&m._set("hasZ",o.hasZ),o.hasOwnProperty("types")&&s(c)&&(c.types=o.types?.map((e=>v.toEsriApiFeatureType(e)))),o.hasOwnProperty("templates")&&(c.templates=o.templates?.map((e=>L.toEsriApiFeatureTemplate(e)))),o.hasOwnProperty("floorInfo")&&o.floorInfo&&(c.floorInfo=await j(o.floorInfo))),(o.hasOwnProperty("orderBy")&&(s(c)||a(c))||p(c))&&(o.orderBy?c.orderBy=o.orderBy.map((e=>({field:e.field,order:"desc"===e.order?"descending":"ascending"}))):c.orderBy=void 0),o.hasOwnProperty("source")&&null!=o.source&&l(f)&&!f.layer?.loaded){const{type:e,...i}=o.source;"dataLayer"===e?m._set("source",t.fromJSON(i)):"mapLayer"===e&&m._set("source",r.fromJSON(i))}if(o.hasOwnProperty("copyrightText")&&(f.copyright=o.copyrightText),o.hasOwnProperty("defaultVisibility")&&null!=o.defaultVisibility&&(f.visible=o.defaultVisibility),o.hasOwnProperty("definitionExpression")&&(f.definitionExpression=o.definitionExpression),o.hasOwnProperty("elevationInfo")&&o.elevationInfo&&(f.elevationInfo=O.toEsriApiElevationInfo(o.elevationInfo)),o.hasOwnProperty("extent")&&(f.fullExtent=o.extent?e.fromJSON(o.extent):void 0),o.hasOwnProperty("fields")){const e=[];o.fields?.forEach((i=>{e.push(S.toEsriApiField(i))})),m._set("fields",e)}o.hasOwnProperty("maxScale")&&null!=o.maxScale&&(f.maxScale=o.maxScale),o.hasOwnProperty("minScale")&&null!=o.minScale&&(f.minScale=o.minScale),o.hasOwnProperty("name")&&!f.title&&(f.title=o.name);try{o.hasOwnProperty("spatialReference")&&null!=o.spatialReference?f.spatialReference=D.toEsriApiSpatialReference(o.spatialReference):f.fullExtent?.spatialReference&&f.spatialReference&&(f.spatialReference=f.fullExtent.spatialReference.clone())}catch{}o.hasOwnProperty("timeInfo")&&h(f)&&(f.timeInfo=i.fromJSON(o.timeInfo)),o.hasOwnProperty("featureReduction")&&o.featureReduction&&await R.applyToEsriApiLayer(o.featureReduction,f),o.hasOwnProperty("drawingInfo")&&null!=o.drawingInfo&&await A.applyToEsriApiLayer(o.drawingInfo,f)},F.fromEsriApiLayer=function(e,i={}){E("layer",e).isNotMissing();const t={},r=e,y=e;if(n(r)){const o=e;r.objectIdField&&(t.objectIdField=r.objectIdField),o.geometryType&&(t.geometryType=T.fromEsriApiGeometryType(o.geometryType)),r.capabilities&&r.capabilities.data.supportsAttachment!==i.hasAttachments&&(t.hasAttachments=r.capabilities.data.supportsAttachment),isNaN(y.maxRecordCount)||null==y.maxRecordCount||(t.maxRecordCount=y.maxRecordCount),r.capabilities&&(t.capabilities=LayerDefinitionCapabilities.fromEsriApiFeatureLayerCapabilities(r.capabilities),r.capabilities.query&&(t.supportsAdvancedQueries=r.capabilities.query.supportsOrderBy||r.capabilities.query.supportsDistinct,t.supportsStatistics=r.capabilities.query.supportsStatistics)),r.hasM!==i.hasM&&(t.hasM=r.hasM),r.hasZ!==i.hasZ&&(t.hasZ=r.hasZ),r.templates&&r.templates.length>0&&(t.templates=r.templates.map((e=>L.fromEsriApiFeatureTemplate(e)))),r.floorInfo&&(t.floorInfo=P(r.floorInfo))}if(e.featureReduction&&(t.featureReduction=R.fromEsriApiLayer(e)),l(e)&&e.source&&("data-layer"===e.source.type||"map-layer"===e.source.type)&&(t.source=e.source.toJSON()),e.copyright&&(t.copyrightText=e.copyright),e.visible===i.visible||l(e)||(t.defaultVisibility=e.visible),e.definitionExpression&&(t.definitionExpression=e.definitionExpression),t.drawingInfo=A.fromEsriApiLayer(e),w(t.drawingInfo)&&delete t.drawingInfo,(I(e)?!!e.layer?.elevationInfo:!!e.elevationInfo)&&(t.elevationInfo=O.fromEsriApiElevationInfo(e.elevationInfo)),(s(e)&&e.source||a(e)||g(e)||p(e)||u(e)||m(e)||f(e))&&(e.fullExtent&&!e.fullExtent.equals(i.fullExtent)&&(t.extent=e.fullExtent.toJSON()),e.fields?.length)){const i=[];e.fields.forEach((e=>{i.push(S.fromEsriApiField(e))})),t.fields=i}if((s(r)||a(r)||p(r))&&r.orderBy&&(t.orderBy=r.orderBy.map((e=>({field:e.field,order:"descending"===e.order?"desc":"asc"})))),s(r)||a(r)||u(r)||d(r)||o(r)||b(r)||f(r)||c(r)||m(r)||g(r)){const{maxScale:e}=r,{minScale:o}=r;isNaN(e)||null===e||e===i.maxScale&&e===o||(t.maxScale=e),isNaN(o)||null===o||o===i.minScale&&o===e||(t.minScale=o)}return h(r)&&(t.timeInfo=r.timeInfo?.toJSON()),t.name=e.title??void 0,x(e)&&e.spatialReference&&e.spatialReference.wkid!==i.wkid&&(t.spatialReference=D.fromEsriApiSpatialReference(e.spatialReference)),t}}(LayerDefinition||(LayerDefinition={}));export var LayerDefinitionCapabilities;!function(e){e.ADD="Add",e.DELETE="Delete",e.EDITING="Editing",e.QUERY="Query",e.UPDATE="Update",e.fromEsriApiFeatureLayerCapabilities=function(i){E("capabilities",i).isNotMissing();const t=[];return i.operations.supportsAdd&&t.push(e.ADD),i.operations.supportsDelete&&t.push(e.DELETE),i.operations.supportsEditing&&t.push(e.EDITING),i.operations.supportsQuery&&t.push(e.QUERY),i.operations.supportsUpdate&&t.push(e.UPDATE),t.join(",")}}(LayerDefinitionCapabilities||(LayerDefinitionCapabilities={}));
@@ -1 +1 @@
1
- import e from"@arcgis/core/core/Collection";import r from"@arcgis/core/portal/Portal";import a from"@arcgis/core/portal/PortalItem";import{isMapImageLayer as i}from"../utilities/_layers.js";import{checkArg as s}from"../utilities/checkArg.js";import{compareAsync as o}from"../utilities/collection.js";import{deepClone as l}from"../utilities/object.js";import{Layer as n}from"./Layer.js";import{ERR_LAYER_TYPE_MISMATCH as t,applyLayerBaseToEsriApiLayer as y,applyBasemapLayerToEsriApiLayer as p,applyOperationalLayerToEsriApiLayer as c,fromEsriApiLayerToLayerBase as d,fromEsriApiLayerToOperationalLayer as f}from"./_layerHelper.js";export var MapServiceLayer;function u(e){if(e.layerDefinition){if(e.layerDefinition.source)return!0;const{drawingInfo:r}=e.layerDefinition;if(r&&(r.renderer||r.labelingInfo||void 0!==r.showLabels&&null!==r.showLabels))return!0}return!1}function m(e){const{layerDefinition:r}=e;if(r){r.source&&(delete r.source,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.source"));const{drawingInfo:e}=r;e&&(e.renderer&&(delete e.renderer,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.drawingInfo.renderer")),e.labelingInfo&&(delete e.labelingInfo,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.drawingInfo.labelingInfo")),void 0!==e.showLabels&&null!==e.showLabels&&(delete e.showLabels,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.showLabels.labelingInfo")))}}async function b(r,a){const i=a.capabilities?.exportMap?.supportsDynamicLayers;if(r.layers)if(i&&r.layers.some(u)){const i=[...r.layers].reverse(),s=new Map;await o(a.allSublayers,i,{equals:(e,r)=>e.id===+(r.id??NaN),onMatch:async(e,r)=>{await n.applyToEsriApiSublayer(r,e)},onMissing:e=>{a.sublayers?.remove(e)},onNew:async e=>{const r=await n.toEsriApiSublayer(e,"ArcGISMapServiceLayer");r.layer=a,s.set(r.id,r)}}),i.forEach(((r,o)=>{const l=+(r.id??NaN),n=s.get(l);if(n)if(null!=r.parentLayerId&&-1!==r.parentLayerId){const a=s.get(r.parentLayerId);a&&(a.sublayers=a.sublayers??new e,a.sublayers.add(n))}else a.sublayers?.add(n);else{const e=a.allSublayers.find((e=>e.id===l));if(e){let s,l=a.allSublayers.find((e=>e.id===r.parentLayerId));if(l){s=i.filter((e=>e.parentLayerId===l.id)).map((e=>i.indexOf(e))).indexOf(o)}else s=o,l=a;l.sublayers?.reorder(e,s)}}}))}else if(a.sublayers)for(const e of r.layers){if(void 0===e.id||null===e.id)continue;const r=a.allSublayers.find((r=>r.id===e.id));r&&(u(e)&&m(e),await n.applyToEsriApiSublayer(e,r))}if(r.visibleLayers&&a.allSublayers)for(const e of a.allSublayers.toArray())e.visible=r.visibleLayers.includes(e.id)}!function(e){async function o(e,o,n){s("layerJson",e).isNotMissing(),s("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISMapServiceLayer"===e),t),s("layer",o).isNotMissing().satisfies(i,t);const d=l(e);if(y(d,o),p(d,o),c(d,o),d.hasOwnProperty("url")&&(o.url=d.url),d.hasOwnProperty("itemId")&&(o.portalItem?o.portalItem.id=d.itemId:o.portalItem=new a({id:d.itemId,portal:n||r.getDefault()})),e.customParameters?.hasOwnProperty("gdbVersion")&&(o.gdbVersion=e.customParameters.gdbVersion),o.loaded)await b(d,o);else{const e=o.load;let r=!1;o.load=async()=>{await e(),r||(r=!0,await b(d,o))}}}e.esriMapImageLayerDefaults={legendEnabled:!0,visible:!0,opacity:1},e.toEsriApiLayer=async function(e){s("layerJson",e).isNotMissing(),s("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISMapServiceLayer"===e),t);const r=new((await import("@arcgis/core/layers/MapImageLayer")).default);return await o(e,r),r},e.applyToEsriApiLayer=o,e.fromEsriApiMapImageLayer=function(r){s("layer",r).isNotMissing();const a={...d(r,e.esriMapImageLayerDefaults),...f(r),layerType:"ArcGISMapServiceLayer",url:r.url??void 0};if(r.portalItem&&(a.itemId=r.portalItem.id??void 0),r.gdbVersion&&(a.customParameters={...a.customParameters,gdbVersion:r.gdbVersion}),r.sublayers){a.layers=[],a.visibleLayers=[];const e=i=>{i.visible&&a.visibleLayers.push(i.id),a.layers.push(n.fromEsriApiSublayer(i,r)),i.sublayers&&i.sublayers.toArray().reverse().forEach(e)};r.sublayers.toArray().reverse().forEach(e)}return a}}(MapServiceLayer||(MapServiceLayer={}));
1
+ import e from"@arcgis/core/core/Collection";import r from"@arcgis/core/portal/Portal";import a from"@arcgis/core/portal/PortalItem";import{isMapImageLayer as i}from"../utilities/_layers.js";import{checkArg as s}from"../utilities/checkArg.js";import{compareAsync as o}from"../utilities/collection.js";import{deepClone as l}from"../utilities/object.js";import{Layer as n}from"./Layer.js";import{ERR_LAYER_TYPE_MISMATCH as t,applyLayerBaseToEsriApiLayer as y,applyBasemapLayerToEsriApiLayer as p,applyOperationalLayerToEsriApiLayer as c,fromEsriApiLayerToLayerBase as d,fromEsriApiLayerToOperationalLayer as f}from"./_layerHelper.js";export var MapServiceLayer;function u(e){if(e.layerDefinition){if(e.layerDefinition.source)return!0;const{drawingInfo:r}=e.layerDefinition;if(r&&(r.renderer||r.labelingInfo||void 0!==r.showLabels&&null!==r.showLabels))return!0}return!1}function m(e){const{layerDefinition:r}=e;if(r){r.source&&(delete r.source,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.source"));const{drawingInfo:e}=r;e&&(e.renderer&&(delete e.renderer,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.drawingInfo.renderer")),e.labelingInfo&&(delete e.labelingInfo,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.drawingInfo.labelingInfo")),void 0!==e.showLabels&&null!==e.showLabels&&(delete e.showLabels,console.warn("The map service does not support dynamic layers. Ignoring property: layer.layerDefinition.showLabels.labelingInfo")))}}async function b(r,a){const i=a.capabilities?.exportMap?.supportsDynamicLayers;if(r.layers)if(i&&r.layers.some(u)){const i=[...r.layers].reverse(),s=new Map;await o(a.allSublayers,i,{equals:(e,r)=>e.id===+(r.id??NaN),onMatch:async(e,r)=>{await n.applyToEsriApiSublayer(r,e)},onMissing:e=>{a.sublayers?.remove(e)},onNew:async e=>{const r=await n.toEsriApiSublayer(e,"ArcGISMapServiceLayer");r.layer=a,s.set(r.id,r)}}),i.forEach(((r,o)=>{const l=+(r.id??NaN),n=s.get(l);if(n)if(null!=r.parentLayerId&&-1!==r.parentLayerId){const a=s.get(r.parentLayerId);a&&(a.sublayers=a.sublayers??new e,a.sublayers.add(n))}else a.sublayers?.add(n);else{const e=a.allSublayers.find((e=>e.id===l));if(e){let s,l=a.allSublayers.find((e=>e.id===r.parentLayerId));if(l){s=i.filter((e=>e.parentLayerId===l.id)).map((e=>i.indexOf(e))).indexOf(o)}else s=o,l=a;l.sublayers?.reorder(e,s)}}}))}else if(a.sublayers)for(const e of r.layers){if(void 0===e.id||null===e.id)continue;const r=a.allSublayers.find((r=>r.id===e.id));r&&(u(e)&&m(e),await n.applyToEsriApiSublayer(e,r))}if(r.visibleLayers&&a.allSublayers)for(const e of a.allSublayers.toArray())e.visible=r.visibleLayers.includes(e.id)}!function(e){async function o(e,o,n){s("layerJson",e).isNotMissing(),s("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISMapServiceLayer"===e),t),s("layer",o).isNotMissing().satisfies(i,t);const d=l(e);if(y(d,o),p(d,o),c(d,o),d.hasOwnProperty("url")&&(o.url=d.url),d.hasOwnProperty("itemId")&&(o.portalItem?o.portalItem.id=d.itemId:o.portalItem=new a({id:d.itemId,portal:n||r.getDefault()})),e.customParameters?.hasOwnProperty("gdbVersion")&&(o.gdbVersion=e.customParameters.gdbVersion),o.loaded)await b(d,o);else{const e=o.load;let r=!1;o.load=async a=>(await e(a),r||(r=!0,await b(d,o)),o)}}e.esriMapImageLayerDefaults={legendEnabled:!0,visible:!0,opacity:1},e.toEsriApiLayer=async function(e){s("layerJson",e).isNotMissing(),s("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISMapServiceLayer"===e),t);const r=new((await import("@arcgis/core/layers/MapImageLayer")).default);return await o(e,r),r},e.applyToEsriApiLayer=o,e.fromEsriApiMapImageLayer=function(r){s("layer",r).isNotMissing();const a={...d(r,e.esriMapImageLayerDefaults),...f(r),layerType:"ArcGISMapServiceLayer",url:r.url??void 0};if(r.portalItem&&(a.itemId=r.portalItem.id??void 0),r.gdbVersion&&(a.customParameters={...a.customParameters,gdbVersion:r.gdbVersion}),r.sublayers){a.layers=[],a.visibleLayers=[];const e=i=>{i.visible&&a.visibleLayers.push(i.id),a.layers.push(n.fromEsriApiSublayer(i,r)),i.sublayers&&i.sublayers.toArray().reverse().forEach(e)};r.sublayers.toArray().reverse().forEach(e)}return a}}(MapServiceLayer||(MapServiceLayer={}));
package/portal/Slide.js CHANGED
@@ -1 +1 @@
1
- import i from"@arcgis/core/webscene/Slide";import{checkArg as t}from"../utilities/checkArg.js";import{isBasemap as e}from"../utilities/mapping.js";import{deepClone as n}from"../utilities/object.js";import{Lighting as r}from"./Lighting.js";import{Viewpoint as s}from"./Viewpoint.js";import{WebSceneBaseMap as o}from"./WebSceneBaseMap.js";export var Slide;!function(p){p.toEsriApiSlide=async function(e){t("slideJson",e).isNotMissing();const p={};e.hasOwnProperty("visibleLayers")&&(p.visibleLayers=e.visibleLayers);const a=new i(p);return e.hasOwnProperty("baseMap")&&(a.basemap=await o.toEsriApiBasemap(e.baseMap)),e.hasOwnProperty("description")&&null!=e.description&&(a.description.text=e.description.text),e.hasOwnProperty("environment")&&null!=e.environment?.lighting&&(a.environment={lighting:r.toEsriApiLighting(e.environment.lighting)}),e.hasOwnProperty("thumbnail")&&e.thumbnail?.url&&(a.thumbnail.url=e.thumbnail.url),e.hasOwnProperty("title")&&null!=e.title&&(a.title=n(e.title)),e.hasOwnProperty("id")&&null!=e.id&&(a.id=e.id),e.hasOwnProperty("viewpoint")&&null!=e.viewpoint&&(a.viewpoint=s.toEsriApiViewpoint(e.viewpoint)),a},p.fromEsriApiSlide=function(i){t("slide",i).isNotMissing();const n={};return e(i.basemap)?n.baseMap=o.fromEsriApiBasemap(i.basemap):i.basemap&&(n.baseMap=i.basemap),i.description&&(n.description={text:i.description.text}),i.environment&&(n.environment={lighting:r.fromEsriApiLighting(i.environment.lighting)}),i.visibleLayers&&(n.visibleLayers=[],i.visibleLayers.forEach((i=>{n.visibleLayers.push({id:i.id})}))),i.thumbnail&&(n.thumbnail={url:i.thumbnail.url}),i.title&&(n.title={text:i.title.text}),i.id&&(n.id=i.id),i.viewpoint&&(n.viewpoint=s.fromEsriApiViewpoint(i.viewpoint)),n}}(Slide||(Slide={}));
1
+ import i,{}from"@arcgis/core/webscene/Slide";import{checkArg as t}from"../utilities/checkArg.js";import{isBasemap as e}from"../utilities/mapping.js";import{deepClone as n}from"../utilities/object.js";import{Lighting as r}from"./Lighting.js";import{Viewpoint as s}from"./Viewpoint.js";import{WebSceneBaseMap as o}from"./WebSceneBaseMap.js";export var Slide;!function(p){p.toEsriApiSlide=async function(e){t("slideJson",e).isNotMissing();const p={};e.hasOwnProperty("visibleLayers")&&(p.visibleLayers=e.visibleLayers);const a=new i(p);return e.hasOwnProperty("baseMap")&&(a.basemap=await o.toEsriApiBasemap(e.baseMap)),e.hasOwnProperty("description")&&null!=e.description&&(a.description.text=e.description.text),e.hasOwnProperty("environment")&&null!=e.environment?.lighting&&(a.environment={lighting:r.toEsriApiLighting(e.environment.lighting)}),e.hasOwnProperty("thumbnail")&&e.thumbnail?.url&&(a.thumbnail.url=e.thumbnail.url),e.hasOwnProperty("title")&&null!=e.title&&(a.title=n(e.title)),e.hasOwnProperty("id")&&null!=e.id&&(a.id=e.id),e.hasOwnProperty("viewpoint")&&null!=e.viewpoint&&(a.viewpoint=s.toEsriApiViewpoint(e.viewpoint)),a},p.fromEsriApiSlide=function(i){t("slide",i).isNotMissing();const n={};return e(i.basemap)?n.baseMap=o.fromEsriApiBasemap(i.basemap):i.basemap&&(n.baseMap=i.basemap),i.description&&(n.description={text:i.description.text}),i.environment&&(n.environment={lighting:r.fromEsriApiLighting(i.environment.lighting)}),i.visibleLayers&&(n.visibleLayers=[],i.visibleLayers.forEach((i=>{n.visibleLayers.push({id:i.id})}))),i.thumbnail&&(n.thumbnail={url:i.thumbnail.url}),i.title&&(n.title={text:i.title.text}),i.id&&(n.id=i.id),i.viewpoint&&(n.viewpoint=s.fromEsriApiViewpoint(i.viewpoint)),n}}(Slide||(Slide={}));
@@ -47,7 +47,7 @@ export interface SubtypeGroupLayer extends OperationalLayerBase {
47
47
  * A sequence of custom parameters appended to the URL of all requests
48
48
  * related to supporting ArcGIS layer types.
49
49
  */
50
- customParameters?: Record<string, unknown>;
50
+ customParameters?: Record<string, string>;
51
51
  /**
52
52
  * A layerDefinition object defining the attribute schema and drawing
53
53
  * information for the layer.
@@ -84,7 +84,7 @@ export interface SubtypeSubtypeGroupLayer extends Omit<SubtypeGroupLayer, "layer
84
84
  * A sequence of custom parameters appended to the URL of all requests
85
85
  * related to supporting ArcGIS layer types.
86
86
  */
87
- customParameters?: Record<string, unknown>;
87
+ customParameters?: Record<string, string>;
88
88
  /**
89
89
  * String indicating the layer type.
90
90
  */
@@ -85,7 +85,7 @@ export interface Font {
85
85
  *
86
86
  * @deprecated Use "json/*" modules instead.
87
87
  */
88
- export type Color = number[];
88
+ export type Color = [number, number, number, number] | [number, number, number];
89
89
  /**
90
90
  * The type of the Symbol.
91
91
  *
package/portal/Symbol.js CHANGED
@@ -1 +1 @@
1
- import r from"@arcgis/core/symbols/CIMSymbol";import e from"@arcgis/core/symbols/LabelSymbol3D";import o from"@arcgis/core/symbols/LineSymbol3D";import s from"@arcgis/core/symbols/MeshSymbol3D";import l from"@arcgis/core/symbols/PictureFillSymbol";import i from"@arcgis/core/symbols/PictureMarkerSymbol";import m from"@arcgis/core/symbols/PointSymbol3D";import t from"@arcgis/core/symbols/PolygonSymbol3D";import n from"@arcgis/core/symbols/SimpleFillSymbol";import c from"@arcgis/core/symbols/SimpleLineSymbol";import y from"@arcgis/core/symbols/SimpleMarkerSymbol";import S from"@arcgis/core/symbols/TextSymbol";import{assertNever as a}from"../utilities/checkArg.js";import{isIconSymbol3DLayer as b,isLineSymbol3D as u,isMeshSymbol3D as f,isObjectSymbol3DLayer as p,isPictureFillSymbol as g,isPictureMarkerSymbol as D,isPointSymbol3D as d,isPolygonSymbol3D as h,isSymbol as M}from"../utilities/symbol.js";export function toEsriApiSymbol(a){if(a){if(M(a))return a;switch(a.type){case"esriSMS":return y.fromJSON(a);case"esriSLS":return c.fromJSON(a);case"esriSFS":return n.fromJSON(a);case"esriPMS":return i.fromJSON(a);case"esriPFS":return l.fromJSON(a);case"esriTS":return S.fromJSON(a);case"MeshSymbol3D":return s.fromJSON(a);case"PointSymbol3D":return m.fromJSON(a);case"LineSymbol3D":return o.fromJSON(a);case"PolygonSymbol3D":return t.fromJSON(a);case"LabelSymbol3D":return e.fromJSON(a);case"CIMSymbolReference":return r.fromJSON(a);default:throw new Error("Unrecognized symbol type.")}}}export function fromEsriApiSymbol(r){const e=r.toJSON();return!D(r)&&!g(r)||e.imageData?(d(r)||u(r)||h(r)||f(r))&&r.styleOrigin?.styleUrl?e.styleOrigin.styleUrl=r.styleOrigin.styleUrl:r.symbolLayers&&r.symbolLayers.forEach(((r,o)=>{(b(r)||p(r))&&r.resource?.href&&(e.symbolLayers[o].resource.href=r.resource.href)})):e.url=r.url??void 0,e}export var SymbolType;function O(r,e){const o=r;switch(o){case"simple-marker":return"esriSMS";case"simple-line":return"esriSLS";case"simple-fill":return"esriSFS";case"picture-marker":return"esriPMS";case"picture-fill":return"esriPFS";case"text":return"esriTS";case"label-3d":return"LabelSymbol3D";case"line-3d":return"LineSymbol3D";case"mesh-3d":return"MeshSymbol3D";case"point-3d":return"PointSymbol3D";case"polygon-3d":return"PolygonSymbol3D";case"web-style":return"styleSymbolReference";case"cim":return"CIMSymbolReference";case"shield-label-symbol":if(e)throw e;return;default:return a(o,e)}}function P(r,e){const o=r;switch(o){case"esriSMS":return"simple-marker";case"esriSLS":return"simple-line";case"esriSFS":return"simple-fill";case"esriPMS":return"picture-marker";case"esriPFS":return"picture-fill";case"esriTS":return"text";case"LabelSymbol3D":return"label-3d";case"LineSymbol3D":return"line-3d";case"MeshSymbol3D":return"mesh-3d";case"PointSymbol3D":return"point-3d";case"PolygonSymbol3D":return"polygon-3d";case"styleSymbolReference":return"web-style";case"CIMSymbolReference":return"cim";default:return a(o,e)}}!function(r){r.fromEsriApiSymbolType=function(r){return!!P(r)?r:O(r,new Error("Unrecognized symbol type."))},r.toEsriApiSymbolType=function(r){return!!O(r)||"cim"===r||"shield-label-symbol"===r?r:P(r,new Error("Symbol.toEsriApiSymbolType: Unrecognized symbol type."))}}(SymbolType||(SymbolType={}));
1
+ import r from"@arcgis/core/symbols/CIMSymbol";import e from"@arcgis/core/symbols/LabelSymbol3D";import o from"@arcgis/core/symbols/LineSymbol3D";import s from"@arcgis/core/symbols/MeshSymbol3D";import i from"@arcgis/core/symbols/PictureFillSymbol";import l from"@arcgis/core/symbols/PictureMarkerSymbol";import m from"@arcgis/core/symbols/PointSymbol3D";import t from"@arcgis/core/symbols/PolygonSymbol3D";import n from"@arcgis/core/symbols/SimpleFillSymbol";import c from"@arcgis/core/symbols/SimpleLineSymbol";import y from"@arcgis/core/symbols/SimpleMarkerSymbol";import S from"@arcgis/core/symbols/TextSymbol";import{assertNever as a}from"../utilities/checkArg.js";import{isIconSymbol3DLayer as b,isLineSymbol3D as u,isMeshSymbol3D as f,isObjectSymbol3DLayer as p,isPictureFillSymbol as g,isPictureMarkerSymbol as D,isPointSymbol3D as d,isPolygonSymbol3D as h,isSymbol as M}from"../utilities/symbol.js";export function toEsriApiSymbol(a){if(a){if(M(a))return a;switch(a.type){case"esriSMS":return y.fromJSON(a);case"esriSLS":return c.fromJSON(a);case"esriSFS":return n.fromJSON(a);case"esriPMS":return l.fromJSON(a);case"esriPFS":return i.fromJSON(a);case"esriTS":return S.fromJSON(a);case"MeshSymbol3D":return s.fromJSON(a);case"PointSymbol3D":return m.fromJSON(a);case"LineSymbol3D":return o.fromJSON(a);case"PolygonSymbol3D":return t.fromJSON(a);case"LabelSymbol3D":return e.fromJSON(a);case"CIMSymbolReference":return r.fromJSON(a);default:throw new Error("Unrecognized symbol type.")}}}export function fromEsriApiSymbol(r){const e=r.toJSON();return!D(r)&&!g(r)||e.imageData?(d(r)||u(r)||h(r)||f(r))&&r.styleOrigin?.styleUrl?e.styleOrigin.styleUrl=r.styleOrigin.styleUrl:r.symbolLayers&&r.symbolLayers.forEach(((r,o)=>{(b(r)||p(r))&&r.resource?.href&&(e.symbolLayers[o].resource.href=r.resource.href)})):e.url=r.url??void 0,e}export var SymbolType;function O(r,e){const o=r;switch(o){case"simple-marker":return"esriSMS";case"simple-line":return"esriSLS";case"simple-fill":return"esriSFS";case"picture-marker":return"esriPMS";case"picture-fill":return"esriPFS";case"text":return"esriTS";case"label-3d":return"LabelSymbol3D";case"line-3d":return"LineSymbol3D";case"mesh-3d":return"MeshSymbol3D";case"point-3d":return"PointSymbol3D";case"polygon-3d":return"PolygonSymbol3D";case"web-style":return"styleSymbolReference";case"cim":return"CIMSymbolReference";default:return a(o,e)}}function P(r,e){const o=r;switch(o){case"esriSMS":return"simple-marker";case"esriSLS":return"simple-line";case"esriSFS":return"simple-fill";case"esriPMS":return"picture-marker";case"esriPFS":return"picture-fill";case"esriTS":return"text";case"LabelSymbol3D":return"label-3d";case"LineSymbol3D":return"line-3d";case"MeshSymbol3D":return"mesh-3d";case"PointSymbol3D":return"point-3d";case"PolygonSymbol3D":return"polygon-3d";case"styleSymbolReference":return"web-style";case"CIMSymbolReference":return"cim";default:return a(o,e)}}!function(r){r.fromEsriApiSymbolType=function(r){return!!P(r)?r:O(r,new Error("Unrecognized symbol type."))},r.toEsriApiSymbolType=function(r){return!!O(r)||"cim"===r||"shield-label-symbol"===r?r:P(r,new Error("Symbol.toEsriApiSymbolType: Unrecognized symbol type."))}}(SymbolType||(SymbolType={}));
@@ -59,7 +59,7 @@ export interface TiledMapServiceLayer extends OperationalLayerBase, BaseMapLayer
59
59
  * A sequence of custom parameters appended to the URL of all requests
60
60
  * related to supporting ArcGIS layer types.
61
61
  */
62
- customParameters?: Record<string, unknown>;
62
+ customParameters?: Record<string, string> | null;
63
63
  /**
64
64
  * NOTE: Applicable if used as a baseMapLayer. Integer value(s) indicating
65
65
  * the display levels of the basemap layer. Only applicable for
@@ -1 +1 @@
1
- import e from"@arcgis/core/portal/Portal";import r from"@arcgis/core/portal/PortalItem";import{isTileLayer as a}from"../utilities/_layers.js";import{checkArg as i}from"../utilities/checkArg.js";import{Layer as t}from"./Layer.js";import{ERR_LAYER_TYPE_MISMATCH as s,applyLayerBaseToEsriApiLayer as l,applyBasemapLayerToEsriApiLayer as o,applyOperationalLayerToEsriApiLayer as y,fromEsriApiLayerToLayerBase as n,fromEsriApiLayerToOperationalLayer as c}from"./_layerHelper.js";export var TiledMapServiceLayer;async function p(e,r){if(e.layers&&r.sublayers)for(const a of e.layers){if(void 0===a.id||null===a.id)continue;const e=r.allSublayers.find((e=>e.id===a.id));e&&await t.applyToEsriApiSublayer(a,e)}}!function(t){async function m(t,n,c){if(i("layerJson",t).isNotMissing(),i("layerJson.layerType",t.layerType).satisfies((e=>!e||"ArcGISTiledMapServiceLayer"===e),s),i("layer",n).isNotMissing().satisfies(a,s),l(t,n),o(t,n),y(t,n),t.hasOwnProperty("customParameters")&&(n.customParameters=t.customParameters),t.hasOwnProperty("url")&&(n.url=t.url),t.hasOwnProperty("itemId")&&(n.portalItem?n.portalItem.id=t.itemId:n.portalItem=new r({id:t.itemId,portal:c||e.getDefault()})),n.loaded)await p(t,n);else{const e=n.load;let r=!1;n.load=async()=>{await e(),r||(r=!0,await p(t,n))}}}t.esriTileLayerDefaults={legendEnabled:!0,visible:!0,opacity:1,minScale:0,maxScale:0},t.toEsriApiLayer=async function(e){i("layerJson",e).isNotMissing(),i("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISTiledMapServiceLayer"===e),s);const r={};e?.url&&(r.url=e.url);const a=new((await import("@arcgis/core/layers/TileLayer")).default)(r);return await m(e,a),a},t.applyToEsriApiLayer=m,t.fromEsriApiTileLayer=function(e){i("layer",e).isNotMissing();const r={...n(e,t.esriTileLayerDefaults),...c(e),customParameters:e.customParameters,layerType:"ArcGISTiledMapServiceLayer",url:e.url??void 0};return e.portalItem&&(r.itemId=e.portalItem.id??void 0),r}}(TiledMapServiceLayer||(TiledMapServiceLayer={}));
1
+ import e from"@arcgis/core/portal/Portal";import r from"@arcgis/core/portal/PortalItem";import{isTileLayer as a}from"../utilities/_layers.js";import{checkArg as i}from"../utilities/checkArg.js";import{Layer as t}from"./Layer.js";import{ERR_LAYER_TYPE_MISMATCH as s,applyLayerBaseToEsriApiLayer as l,applyBasemapLayerToEsriApiLayer as o,applyOperationalLayerToEsriApiLayer as y,fromEsriApiLayerToLayerBase as n,fromEsriApiLayerToOperationalLayer as c}from"./_layerHelper.js";export var TiledMapServiceLayer;async function p(e,r){if(e.layers&&r.sublayers)for(const a of e.layers){if(void 0===a.id||null===a.id)continue;const e=r.allSublayers.find((e=>e.id===a.id));e&&await t.applyToEsriApiSublayer(a,e)}}!function(t){async function m(t,n,c){if(i("layerJson",t).isNotMissing(),i("layerJson.layerType",t.layerType).satisfies((e=>!e||"ArcGISTiledMapServiceLayer"===e),s),i("layer",n).isNotMissing().satisfies(a,s),l(t,n),o(t,n),y(t,n),t.hasOwnProperty("customParameters")&&(n.customParameters=t.customParameters),t.hasOwnProperty("url")&&(n.url=t.url),t.hasOwnProperty("itemId")&&(n.portalItem?n.portalItem.id=t.itemId:n.portalItem=new r({id:t.itemId,portal:c||e.getDefault()})),n.loaded)await p(t,n);else{const e=n.load;let r=!1;n.load=async a=>(await e(a),r||(r=!0,await p(t,n)),n)}}t.esriTileLayerDefaults={legendEnabled:!0,visible:!0,opacity:1,minScale:0,maxScale:0},t.toEsriApiLayer=async function(e){i("layerJson",e).isNotMissing(),i("layerJson.layerType",e.layerType).satisfies((e=>!e||"ArcGISTiledMapServiceLayer"===e),s);const r={};e?.url&&(r.url=e.url);const a=new((await import("@arcgis/core/layers/TileLayer")).default)(r);return await m(e,a),a},t.applyToEsriApiLayer=m,t.fromEsriApiTileLayer=function(e){i("layer",e).isNotMissing();const r={...n(e,t.esriTileLayerDefaults),...c(e),customParameters:e.customParameters,layerType:"ArcGISTiledMapServiceLayer",url:e.url??void 0};return e.portalItem&&(r.itemId=e.portalItem.id??void 0),r}}(TiledMapServiceLayer||(TiledMapServiceLayer={}));
@@ -1,4 +1,5 @@
1
1
  import type EsriWMSLayer from "@arcgis/core/layers/WMSLayer";
2
+ import type { WMSLayerFormatType } from "@arcgis/core/layers/WMSLayer";
2
3
  import Portal from "@arcgis/core/portal/Portal";
3
4
  import type { BaseMapLayerBase } from "./BaseMapLayer.js";
4
5
  import type { OperationalLayerBase } from "./OperationalLayer.js";
@@ -54,14 +55,14 @@ export interface WMSLayer extends OperationalLayerBase, BaseMapLayerBase {
54
55
  * customLayerParameters property takes precedence if customParameters is
55
56
  * also present.
56
57
  */
57
- customLayerParameters?: Record<string, unknown>;
58
+ customLayerParameters?: Record<string, string>;
58
59
  /**
59
60
  * A sequence of custom parameters to all WMS requests. These parameters are
60
61
  * applied to GetCapabilities, GetMap, and GetFeatureInfo requests. If used
61
62
  * with the customLayerParameters property, customParameters will not take
62
63
  * precedence.
63
64
  */
64
- customParameters?: Record<string, unknown>;
65
+ customParameters?: Record<string, string>;
65
66
  /**
66
67
  * The rectangular map extent that should be requested from the service.
67
68
  */
@@ -77,7 +78,7 @@ export interface WMSLayer extends OperationalLayerBase, BaseMapLayerBase {
77
78
  /**
78
79
  * A string containing the image format to be requested from a WMS service.
79
80
  */
80
- format?: string;
81
+ format?: WMSLayerFormatType;
81
82
  /**
82
83
  * Optional string containing the item ID of the service if it's registered
83
84
  * on ArcGIS Online or your organization's portal.