@vertigis/arcgis-extensions 38.0.5 → 38.1.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 (748) hide show
  1. package/AccessDeniedError.js +1 -1
  2. package/AppConfig.schema.json +35 -39
  3. package/ArgumentMissingError.js +1 -1
  4. package/ArgumentOutOfRangeError.js +1 -1
  5. package/Entity.js +1 -1
  6. package/FailureMode.d.ts +1 -1
  7. package/Hyperlink.js +1 -1
  8. package/LanguageResources.d.ts +1 -3
  9. package/LanguageResources.js +1 -1
  10. package/NotFoundError.js +1 -1
  11. package/PortalUri.js +1 -1
  12. package/data/ArcGISServiceTableExtension.js +1 -1
  13. package/data/Attachment.js +1 -1
  14. package/data/Feature.js +1 -1
  15. package/data/FeatureList.d.ts +3 -3
  16. package/data/FeatureList.js +1 -1
  17. package/data/FeatureSaveError.js +1 -1
  18. package/data/FeatureSet.js +1 -1
  19. package/data/FeatureSettings.js +1 -1
  20. package/data/FeatureSourceBase.js +1 -1
  21. package/data/FeatureStream.js +1 -1
  22. package/data/FieldExtension.js +1 -1
  23. package/data/PopupContentExtension.js +1 -1
  24. package/data/Relationship.js +1 -1
  25. package/data/RelationshipBase.js +1 -1
  26. package/data/Schema.js +1 -1
  27. package/data/Table.js +1 -1
  28. package/data/TableExtension.js +1 -1
  29. package/data/TaskSettings.js +1 -1
  30. package/data/_Relationship.d.ts +3 -3
  31. package/data/_Relationship.js +1 -1
  32. package/data/_TableExtension.js +1 -1
  33. package/data/convert.js +1 -1
  34. package/data/support/DefaultRelationshipFactory.js +1 -1
  35. package/data/support/DefaultTableExtensionFactory.js +1 -1
  36. package/data/support/attachments.js +1 -1
  37. package/docs/html/assets/main.js +56 -52
  38. package/docs/html/assets/search.js +1 -1
  39. package/docs/html/assets/style.css +23 -0
  40. package/docs/html/classes/data_FeatureSet.FeatureSet.html +2 -2
  41. package/docs/html/classes/data_FeatureStream.FeatureStream.html +1 -1
  42. package/docs/html/classes/utilities_ObservableMap.ObservableMap.html +2 -2
  43. package/docs/html/classes/utilities_ObservableSet.ObservableSet.html +2 -2
  44. package/docs/html/classes/utilities_ObservableWeakSet.ObservableWeakSet.html +1 -1
  45. package/docs/html/classes/utilities_asyncIterable.AsyncQueue.html +1 -1
  46. package/docs/html/classes/utilities_date.DateFormatter.html +1 -1
  47. package/docs/html/classes/utilities_string.StringFormatter.html +6 -24
  48. package/docs/html/functions/utilities_string.format.html +2 -18
  49. package/docs/html/interfaces/LanguageResources.LanguageResourcesProperties.html +2 -7
  50. package/docs/html/interfaces/data_support_attachments.AttachmentEnabledLayer.html +4 -6
  51. package/docs/html/interfaces/mapping_BuildingSceneLayerExtension.BuildingSceneLayerProperties.html +1 -1
  52. package/docs/html/interfaces/mapping_FeatureLayerExtension.FeatureLayerProperties.html +1 -1
  53. package/docs/html/interfaces/mapping_FeatureLayerExtensionBase.FeatureLayerBaseProperties.html +1 -1
  54. package/docs/html/interfaces/mapping_PointCloudLayerExtension.PointCloudLayerProperties.html +1 -1
  55. package/docs/html/interfaces/portal_ApplicationProperties.ApplicationProperties.html +15 -12
  56. package/docs/html/interfaces/portal_Background.ColorBackground.html +3 -2
  57. package/docs/html/interfaces/portal_BaseMap.BaseMap-1.html +2 -1
  58. package/docs/html/interfaces/portal_BaseMapLayer.BaseMapLayerBase.html +2 -1
  59. package/docs/html/interfaces/portal_BingLayer.BingLayer.html +2 -1
  60. package/docs/html/interfaces/portal_Bookmark.Bookmark.html +2 -1
  61. package/docs/html/interfaces/portal_BuildingSceneLayer.BuildingSceneLayer-1.html +1 -1
  62. package/docs/html/interfaces/portal_CIMSymbol.CIMSymbol.html +2 -1
  63. package/docs/html/interfaces/portal_CSVLayer.CSVLayer-1.html +3 -2
  64. package/docs/html/interfaces/portal_Camera.Camera-1.html +2 -1
  65. package/docs/html/interfaces/portal_ClassBreaksRenderer.ClassBreakInfo.html +2 -1
  66. package/docs/html/interfaces/portal_ClassBreaksRenderer.ClassBreaksRenderer.html +2 -1
  67. package/docs/html/interfaces/portal_CodedValueDomain.CodedValue.html +1 -1
  68. package/docs/html/interfaces/portal_CodedValueDomain.CodedValueDomain-1.html +1 -1
  69. package/docs/html/interfaces/portal_ColorClassBreakInfo.ColorClassBreakInfo.html +2 -1
  70. package/docs/html/interfaces/portal_ColorUniqueValueInfos.ColorUniqueValueInfos.html +2 -1
  71. package/docs/html/interfaces/portal_DataSource.DataSourceBase.html +2 -2
  72. package/docs/html/interfaces/portal_DefinitionEditor.DefinitionEditor.html +2 -1
  73. package/docs/html/interfaces/portal_DefinitionEditor.Input.html +1 -1
  74. package/docs/html/interfaces/portal_DefinitionEditor.Parameter.html +1 -1
  75. package/docs/html/interfaces/portal_DrawingInfo.DrawingInfo-1.html +2 -1
  76. package/docs/html/interfaces/portal_DynamicDataLayer.DynamicDataLayer.html +2 -2
  77. package/docs/html/interfaces/portal_DynamicMapLayer.DynamicMapLayer.html +1 -1
  78. package/docs/html/interfaces/portal_ElevationInfo.ElevationInfo-1.html +1 -1
  79. package/docs/html/interfaces/portal_ElevationLayer.ElevationLayer-1.html +3 -2
  80. package/docs/html/interfaces/portal_Environment.Environment-1.html +2 -1
  81. package/docs/html/interfaces/portal_Extent.Extent.html +1 -1
  82. package/docs/html/interfaces/portal_ExtrudeSymbol3DLayer.ExtrudeSymbol3DLayer.html +2 -1
  83. package/docs/html/interfaces/portal_Feature.Feature-1.html +2 -1
  84. package/docs/html/interfaces/portal_FeatureCollection.FeatureCollection.html +2 -1
  85. package/docs/html/interfaces/portal_FeatureLayer.FeatureLayer-1.html +3 -2
  86. package/docs/html/interfaces/portal_FeatureSet.FeatureSet.html +2 -1
  87. package/docs/html/interfaces/portal_Field.Field-1.html +1 -1
  88. package/docs/html/interfaces/portal_FieldInfo.FieldInfo.html +2 -1
  89. package/docs/html/interfaces/portal_FillSymbol3DLayer.FillSymbol3DLayer.html +2 -1
  90. package/docs/html/interfaces/portal_FormInfo.FormAttachmentElement.html +1 -1
  91. package/docs/html/interfaces/portal_FormInfo.FormBarcodeScannerInput.html +1 -1
  92. package/docs/html/interfaces/portal_FormInfo.FormComboBoxInput.html +1 -1
  93. package/docs/html/interfaces/portal_FormInfo.FormDateTimePickerInput.html +1 -1
  94. package/docs/html/interfaces/portal_FormInfo.FormExpressionInfo.html +1 -1
  95. package/docs/html/interfaces/portal_FormInfo.FormFieldElement.html +1 -1
  96. package/docs/html/interfaces/portal_FormInfo.FormGroupElement.html +1 -1
  97. package/docs/html/interfaces/portal_FormInfo.FormInfo-1.html +1 -1
  98. package/docs/html/interfaces/portal_FormInfo.FormRadioButtonsInput.html +1 -1
  99. package/docs/html/interfaces/portal_FormInfo.FormRelationshipElement.html +1 -1
  100. package/docs/html/interfaces/portal_FormInfo.FormSwitchInput.html +1 -1
  101. package/docs/html/interfaces/portal_FormInfo.FormTextAreaInput.html +1 -1
  102. package/docs/html/interfaces/portal_FormInfo.FormTextBoxInput.html +1 -1
  103. package/docs/html/interfaces/portal_Format.Format.html +2 -1
  104. package/docs/html/interfaces/portal_GeoRSSLayer.GeoRSSLayer-1.html +3 -2
  105. package/docs/html/interfaces/portal_GroupLayer.GroupLayer-1.html +3 -2
  106. package/docs/html/interfaces/portal_HeatmapRenderer.ColorStop.html +2 -1
  107. package/docs/html/interfaces/portal_HeatmapRenderer.HeatmapRenderer.html +2 -1
  108. package/docs/html/interfaces/portal_IconSymbol3DLayer.IconSymbol3DLayer.html +2 -1
  109. package/docs/html/interfaces/portal_ImageServiceLayer.ImageServiceLayer-1.html +3 -2
  110. package/docs/html/interfaces/portal_ImageServiceVectorLayer.ImageServiceVectorLayer.html +3 -2
  111. package/docs/html/interfaces/portal_InheritedDomain.InheritedDomain-1.html +1 -1
  112. package/docs/html/interfaces/portal_InitialState.InitialState-1.html +2 -1
  113. package/docs/html/interfaces/portal_IntegratedMeshLayer.IntegratedMeshLayer-1.html +3 -2
  114. package/docs/html/interfaces/portal_Item.Item-1.html +3 -2
  115. package/docs/html/interfaces/portal_JoinTableDataSource.JoinTableDataSource.html +2 -2
  116. package/docs/html/interfaces/portal_KMLLayer.KMLLayer-1.html +3 -2
  117. package/docs/html/interfaces/portal_LabelSymbol3D.LabelSymbol3D.html +2 -1
  118. package/docs/html/interfaces/portal_LabelingInfo.LabelingInfo-1.html +3 -2
  119. package/docs/html/interfaces/portal_Layer.Layer-1.html +1 -1
  120. package/docs/html/interfaces/portal_LayerDefinition.FieldOverride.html +1 -1
  121. package/docs/html/interfaces/portal_LayerDefinition.LayerDefinition-1.html +4 -3
  122. package/docs/html/interfaces/portal_LayerDefinition.LayerTimeInfo.html +2 -2
  123. package/docs/html/interfaces/portal_Lighting.SunLighting.html +2 -1
  124. package/docs/html/interfaces/portal_Lighting.VirtualLighting.html +2 -1
  125. package/docs/html/interfaces/portal_LineSymbol3D.LineSymbol3D.html +2 -1
  126. package/docs/html/interfaces/portal_LineSymbol3DLayer.LineSymbol3DLayer.html +2 -1
  127. package/docs/html/interfaces/portal_LocationInfo.LocationInfo.html +2 -1
  128. package/docs/html/interfaces/portal_MapFloorInfo.FacilityLayerInfo.html +1 -1
  129. package/docs/html/interfaces/portal_MapFloorInfo.LevelLayerInfo.html +1 -1
  130. package/docs/html/interfaces/portal_MapFloorInfo.MapFloorInfo-1.html +1 -1
  131. package/docs/html/interfaces/portal_MapFloorInfo.SiteLayerInfo.html +1 -1
  132. package/docs/html/interfaces/portal_MapRangeInfo.MapRangeInfo.html +2 -1
  133. package/docs/html/interfaces/portal_MapServiceLayer.MapServiceLayer-1.html +3 -2
  134. package/docs/html/interfaces/portal_MeshSymbol3D.MeshSymbol3D.html +2 -1
  135. package/docs/html/interfaces/portal_MosaicRule.MosaicRule-1.html +2 -1
  136. package/docs/html/interfaces/portal_Multipoint.Multipoint.html +1 -1
  137. package/docs/html/interfaces/portal_ObjectSymbol3DLayer.ObjectSymbol3DLayer.html +2 -1
  138. package/docs/html/interfaces/portal_OpenStreetMapLayer.OpenStreetMapLayer-1.html +2 -1
  139. package/docs/html/interfaces/portal_OperationalLayer.OperationalLayerBase.html +1 -1
  140. package/docs/html/interfaces/portal_PathSymbol3DLayer.PathSymbol3DLayer.html +2 -1
  141. package/docs/html/interfaces/portal_PictureFillSymbol.PictureFillSymbol.html +2 -1
  142. package/docs/html/interfaces/portal_PictureMarkerSymbol.PictureMarkerSymbol.html +2 -1
  143. package/docs/html/interfaces/portal_Point.Point.html +2 -1
  144. package/docs/html/interfaces/portal_PointCloudBitfieldFilter.PointCloudBitfieldFilter.html +2 -1
  145. package/docs/html/interfaces/portal_PointCloudClassBreaksRenderer.PointCloudClassBreaksRenderer.html +4 -2
  146. package/docs/html/interfaces/portal_PointCloudFixedSizeAlgorithm.PointCloudFixedSizeAlgorithm.html +2 -1
  147. package/docs/html/interfaces/portal_PointCloudLayer.PointCloudLayer-1.html +3 -2
  148. package/docs/html/interfaces/portal_PointCloudRGBRenderer.PointCloudRGBRenderer.html +4 -2
  149. package/docs/html/interfaces/portal_PointCloudRenderer.PointCloudRendererBase.html +4 -2
  150. package/docs/html/interfaces/portal_PointCloudReturnFilter.PointCloudReturnFilter.html +2 -1
  151. package/docs/html/interfaces/portal_PointCloudSplatAlgorithm.PointCloudSplatAlgorithm.html +2 -1
  152. package/docs/html/interfaces/portal_PointCloudStretchRenderer.PointCloudStretchRenderer.html +4 -2
  153. package/docs/html/interfaces/portal_PointCloudUniqueValueRenderer.PointCloudUniqueValueRenderer.html +4 -2
  154. package/docs/html/interfaces/portal_PointCloudValueFilter.PointCloudValueFilter.html +2 -1
  155. package/docs/html/interfaces/portal_PointSymbol3D.PointSymbol3D.html +3 -2
  156. package/docs/html/interfaces/portal_Polygon.Polygon.html +1 -1
  157. package/docs/html/interfaces/portal_PolygonSymbol3D.PolygonSymbol3D.html +2 -1
  158. package/docs/html/interfaces/portal_Polyline.Polyline.html +1 -1
  159. package/docs/html/interfaces/portal_PopupExpressionInfo.PopupExpressionInfo.html +2 -1
  160. package/docs/html/interfaces/portal_PopupInfo.OrderByFields.html +2 -1
  161. package/docs/html/interfaces/portal_PopupInfo.RelatedRecordsInfo.html +2 -1
  162. package/docs/html/interfaces/portal_PredominanceRenderer.PredominanceRenderer.html +2 -1
  163. package/docs/html/interfaces/portal_Presentation.Presentation-1.html +2 -1
  164. package/docs/html/interfaces/portal_QueryTableDataSource.QueryTableDataSource.html +2 -2
  165. package/docs/html/interfaces/portal_RangeDomain.RangeDomain-1.html +1 -1
  166. package/docs/html/interfaces/portal_RangeInfo.RangeInfo.html +2 -1
  167. package/docs/html/interfaces/portal_RasterDataSource.RasterDataSource.html +2 -2
  168. package/docs/html/interfaces/portal_Renderer.AuthoringInfo.html +2 -1
  169. package/docs/html/interfaces/portal_Renderer.ColorRamp.html +1 -1
  170. package/docs/html/interfaces/portal_Renderer.RendererBase.html +2 -1
  171. package/docs/html/interfaces/portal_RenderingRule.RenderingRule-1.html +3 -2
  172. package/docs/html/interfaces/portal_SceneLayer.SceneLayer-1.html +3 -2
  173. package/docs/html/interfaces/portal_SimpleFillSymbol.SimpleFillSymbol.html +2 -1
  174. package/docs/html/interfaces/portal_SimpleLineSymbol.SimpleLineSymbol.html +2 -1
  175. package/docs/html/interfaces/portal_SimpleMarkerSymbol.SimpleMarkerSymbol.html +2 -1
  176. package/docs/html/interfaces/portal_SimpleRenderer.SimpleRenderer.html +2 -1
  177. package/docs/html/interfaces/portal_Slide.Slide-1.html +4 -4
  178. package/docs/html/interfaces/portal_SpatialReference.SpatialReference-1.html +2 -1
  179. package/docs/html/interfaces/portal_StreamLayer.StreamLayer-1.html +2 -2
  180. package/docs/html/interfaces/portal_StyleSymbolReference.StyleSymbolReference.html +2 -1
  181. package/docs/html/interfaces/portal_SubtypeGroupLayer.SubtypeGroupLayer-1.html +3 -2
  182. package/docs/html/interfaces/portal_SubtypeGroupLayer.SubtypeSubtypeGroupLayer.html +2 -2
  183. package/docs/html/interfaces/portal_SubtypeSublayer.SubtypeSublayer-1.html +3 -2
  184. package/docs/html/interfaces/portal_Symbol.Font.html +1 -1
  185. package/docs/html/interfaces/portal_Symbol3D.Material.html +2 -1
  186. package/docs/html/interfaces/portal_Symbol3D.Outline.html +2 -1
  187. package/docs/html/interfaces/portal_Symbol3D.ResourceIconSymbol.html +2 -1
  188. package/docs/html/interfaces/portal_Symbol3D.ResourceObjectSymbol.html +2 -1
  189. package/docs/html/interfaces/portal_Table.Table.html +1 -1
  190. package/docs/html/interfaces/portal_TableDataSource.TableDataSource.html +2 -2
  191. package/docs/html/interfaces/portal_Template.Template-1.html +2 -1
  192. package/docs/html/interfaces/portal_TemporalRenderer.TemporalRenderer.html +2 -1
  193. package/docs/html/interfaces/portal_TextSymbol.TextSymbol.html +2 -1
  194. package/docs/html/interfaces/portal_TextSymbol3DLayer.TextSymbol3DLayer.html +2 -1
  195. package/docs/html/interfaces/portal_TileInfo.TileInfo-1.html +3 -2
  196. package/docs/html/interfaces/portal_TiledImageServiceLayer.TiledImageServiceLayer-1.html +3 -2
  197. package/docs/html/interfaces/portal_TiledMapServiceLayer.TiledMapServiceLayer-1.html +4 -3
  198. package/docs/html/interfaces/portal_Type.Type-1.html +3 -8
  199. package/docs/html/interfaces/portal_UniqueValueFromStyle.UniqueValueFromStyle.html +2 -1
  200. package/docs/html/interfaces/portal_UniqueValueRenderer.UniqueValueInfo.html +2 -1
  201. package/docs/html/interfaces/portal_UniqueValueRenderer.UniqueValueRenderer.html +2 -1
  202. package/docs/html/interfaces/portal_UtilityNetwork.TraceConfiguration.html +1 -1
  203. package/docs/html/interfaces/portal_UtilityNetwork.UtilityNetwork-1.html +1 -1
  204. package/docs/html/interfaces/portal_Value.Value.html +1 -1
  205. package/docs/html/interfaces/portal_VectorTileLayer.VectorTileLayer-1.html +3 -2
  206. package/docs/html/interfaces/portal_VerticalOffset.VerticalOffset.html +1 -1
  207. package/docs/html/interfaces/portal_Viewpoint.Viewpoint-1.html +2 -1
  208. package/docs/html/interfaces/portal_VisualVariable.ColorInfo.html +3 -2
  209. package/docs/html/interfaces/portal_VisualVariable.RotationInfo.html +3 -2
  210. package/docs/html/interfaces/portal_VisualVariable.Size.html +2 -1
  211. package/docs/html/interfaces/portal_VisualVariable.SizeInfo.html +3 -2
  212. package/docs/html/interfaces/portal_VisualVariable.TransparencyInfo.html +2 -1
  213. package/docs/html/interfaces/portal_VisualVariable.VisualVariableBase.html +1 -1
  214. package/docs/html/interfaces/portal_WMSLayer.WMSLayer-1.html +3 -2
  215. package/docs/html/interfaces/portal_WMSSublayer.WMSSublayer-1.html +2 -1
  216. package/docs/html/interfaces/portal_WMTSInfo.WMTSInfo-1.html +1 -1
  217. package/docs/html/interfaces/portal_Weather.CloudyWeather.html +2 -1
  218. package/docs/html/interfaces/portal_Weather.FoggyWeather.html +2 -1
  219. package/docs/html/interfaces/portal_Weather.RainyWeather.html +2 -1
  220. package/docs/html/interfaces/portal_Weather.SnowyWeather.html +2 -1
  221. package/docs/html/interfaces/portal_Weather.SunnyWeather.html +2 -1
  222. package/docs/html/interfaces/portal_WebMap.WebMap-1.html +3 -3
  223. package/docs/html/interfaces/portal_WebScene.WebScene-1.html +5 -3
  224. package/docs/html/interfaces/portal_WebSceneBaseMap.WebSceneBaseMap-1.html +2 -1
  225. package/docs/html/interfaces/portal_WebTileLayer.WebTileLayer-1.html +3 -2
  226. package/docs/html/interfaces/portal_Widgets.FloorFilter.html +1 -1
  227. package/docs/html/interfaces/portal_Widgets.Range.html +1 -1
  228. package/docs/html/interfaces/portal_Widgets.TimeSlider.html +3 -2
  229. package/docs/html/interfaces/portal_Widgets.Widgets.html +2 -1
  230. package/docs/html/interfaces/support_Serializable.PropertyDef.html +2 -2
  231. package/docs/html/interfaces/tasks_identify_IdentifyOptions.IdentifyOptions-1.html +2 -2
  232. package/docs/html/interfaces/tasks_search_SearchOptions.SearchOptions-1.html +2 -2
  233. package/docs/html/interfaces/utilities_array.CompareOptions.html +8 -8
  234. package/docs/html/interfaces/utilities_geometry.GeographicTransformationJson.html +1 -1
  235. package/docs/html/types/portal_DataSource.DataSource.html +1 -0
  236. package/docs/html/types/portal_Domain.Domain-1.html +2 -1
  237. package/docs/html/types/portal_Geometry.Geometry.html +1 -1
  238. package/docs/html/types/portal_PointCloudFilter.PointCloudFilter.html +2 -1
  239. package/docs/html/types/portal_Symbol.Color.html +1 -1
  240. package/docs/html/types/portal_Symbol.Symbol.html +1 -1
  241. package/docs/html/types/portal_Symbol3D.Symbol3D.html +2 -1
  242. package/docs/html/types/portal_VisualVariable.VisualVariable.html +2 -1
  243. package/docs/html/variables/mapping_BasemapExtension.defaultBasemapExtensionFactory.html +2 -2
  244. package/docs/html/variables/version.version.html +1 -1
  245. package/forked-libs/dbf/src/fields.js +1 -1
  246. package/forked-libs/dbf/src/structure.js +1 -1
  247. package/forked-libs/shp-write/src/download.js +1 -1
  248. package/forked-libs/shp-write/src/fields.js +1 -1
  249. package/forked-libs/shp-write/src/geojson.js +1 -1
  250. package/forked-libs/shp-write/src/multipoint.js +1 -1
  251. package/forked-libs/shp-write/src/points.js +1 -1
  252. package/forked-libs/shp-write/src/poly.js +1 -1
  253. package/forked-libs/shp-write/src/write.js +1 -1
  254. package/forked-libs/shp-write/src/zip.js +1 -1
  255. package/layer-preset/LayerPreset.d.ts +1 -1
  256. package/layer-preset/LayerPreset.js +1 -1
  257. package/layer-preset/LayerPresetSettings.d.ts +1 -1
  258. package/layer-preset/LayerPresetSettings.js +1 -1
  259. package/locale/_registry.js +1 -1
  260. package/locale/af.js +1 -1
  261. package/locale/ar-MA.js +1 -1
  262. package/locale/ar-SA.js +1 -1
  263. package/locale/ar-TN.js +1 -1
  264. package/locale/ar.js +1 -1
  265. package/locale/az.js +1 -1
  266. package/locale/be.js +1 -1
  267. package/locale/bg.js +1 -1
  268. package/locale/bn.js +1 -1
  269. package/locale/bs.js +1 -1
  270. package/locale/ca.js +1 -1
  271. package/locale/cs.js +1 -1
  272. package/locale/cv.js +1 -1
  273. package/locale/cy.js +1 -1
  274. package/locale/da.js +1 -1
  275. package/locale/de-AT.js +1 -1
  276. package/locale/de.js +1 -1
  277. package/locale/el.js +1 -1
  278. package/locale/en-AU.js +1 -1
  279. package/locale/en-CA.js +1 -1
  280. package/locale/en-GB.js +1 -1
  281. package/locale/en.js +1 -1
  282. package/locale/es.js +1 -1
  283. package/locale/et.js +1 -1
  284. package/locale/eu.js +1 -1
  285. package/locale/fa.js +1 -1
  286. package/locale/fi.js +1 -1
  287. package/locale/fo.js +1 -1
  288. package/locale/fr-CA.js +1 -1
  289. package/locale/fr.js +1 -1
  290. package/locale/gl.js +1 -1
  291. package/locale/he.js +1 -1
  292. package/locale/hi.js +1 -1
  293. package/locale/hr.js +1 -1
  294. package/locale/hu.js +1 -1
  295. package/locale/hy.js +1 -1
  296. package/locale/id.js +1 -1
  297. package/locale/inv.js +1 -1
  298. package/locale/is.js +1 -1
  299. package/locale/it.js +1 -1
  300. package/locale/ja.js +1 -1
  301. package/locale/ka.js +1 -1
  302. package/locale/km.js +1 -1
  303. package/locale/ko.js +1 -1
  304. package/locale/language.js +1 -1
  305. package/locale/lt.js +1 -1
  306. package/locale/lv.js +1 -1
  307. package/locale/mk.js +1 -1
  308. package/locale/ml.js +1 -1
  309. package/locale/mr.js +1 -1
  310. package/locale/ms-MY.js +1 -1
  311. package/locale/ms.js +1 -1
  312. package/locale/my.js +1 -1
  313. package/locale/nb.js +1 -1
  314. package/locale/ne.js +1 -1
  315. package/locale/nl.js +1 -1
  316. package/locale/nn.js +1 -1
  317. package/locale/no.js +1 -1
  318. package/locale/pl.js +1 -1
  319. package/locale/pt-BR.js +1 -1
  320. package/locale/pt.js +1 -1
  321. package/locale/ro.js +1 -1
  322. package/locale/ru.js +1 -1
  323. package/locale/si.js +1 -1
  324. package/locale/sk.js +1 -1
  325. package/locale/sl.js +1 -1
  326. package/locale/sq.js +1 -1
  327. package/locale/sr-Cyrl.js +1 -1
  328. package/locale/sr-ME.js +1 -1
  329. package/locale/sr.js +1 -1
  330. package/locale/sv.js +1 -1
  331. package/locale/ta.js +1 -1
  332. package/locale/th.js +1 -1
  333. package/locale/tl.js +1 -1
  334. package/locale/tr.js +1 -1
  335. package/locale/tzm-Latn.js +1 -1
  336. package/locale/tzm.js +1 -1
  337. package/locale/uk.js +1 -1
  338. package/locale/uz.js +1 -1
  339. package/locale/vi.js +1 -1
  340. package/locale/zh-TW.js +1 -1
  341. package/locale/zh.js +1 -1
  342. package/locale.js +1 -1
  343. package/mapping/ArcGISSublayerExtension.js +1 -1
  344. package/mapping/BasemapExtension.js +1 -1
  345. package/mapping/Bookmark.d.ts +1 -1
  346. package/mapping/Bookmark.js +1 -1
  347. package/mapping/BuildingComponentSublayerExtension.js +1 -1
  348. package/mapping/BuildingGroupSublayerExtension.js +1 -1
  349. package/mapping/BuildingSceneLayerExtension.js +1 -1
  350. package/mapping/BuildingSublayerExtension.js +1 -1
  351. package/mapping/CSVLayerExtension.js +1 -1
  352. package/mapping/ElevationLayerExtension.js +1 -1
  353. package/mapping/FeatureCollectionLayerExtension.js +1 -1
  354. package/mapping/FeatureLayerExtension.js +1 -1
  355. package/mapping/FeatureLayerExtensionBase.js +1 -1
  356. package/mapping/GeoRSSLayerExtension.js +1 -1
  357. package/mapping/GraphicsLayerExtension.js +1 -1
  358. package/mapping/GroundExtension.d.ts +1 -1
  359. package/mapping/GroundExtension.js +1 -1
  360. package/mapping/GroupLayerExtension.js +1 -1
  361. package/mapping/ImageryLayerExtension.js +1 -1
  362. package/mapping/ImageryTileLayerExtension.js +1 -1
  363. package/mapping/IntegratedMeshLayerExtension.js +1 -1
  364. package/mapping/KMLLayerExtension.js +1 -1
  365. package/mapping/KMLSublayerExtension.js +1 -1
  366. package/mapping/LayerExtension.js +1 -1
  367. package/mapping/MapConstraints.js +1 -1
  368. package/mapping/MapExtension.d.ts +5 -5
  369. package/mapping/MapExtension.js +1 -1
  370. package/mapping/MapImageLayerExtension.d.ts +1 -1
  371. package/mapping/MapImageLayerExtension.js +1 -1
  372. package/mapping/MapImageSublayerExtension.js +1 -1
  373. package/mapping/OpenStreetMapLayerExtension.js +1 -1
  374. package/mapping/PointCloudLayerExtension.js +1 -1
  375. package/mapping/SceneLayerExtension.js +1 -1
  376. package/mapping/StreamLayerExtension.js +1 -1
  377. package/mapping/SublayerExtension.js +1 -1
  378. package/mapping/SubtypeGroupLayerExtension.js +1 -1
  379. package/mapping/SubtypeSublayerExtension.js +1 -1
  380. package/mapping/TileLayerExtension.js +1 -1
  381. package/mapping/TileSublayerExtension.js +1 -1
  382. package/mapping/UnsupportedLayerExtension.js +1 -1
  383. package/mapping/VectorTileLayerExtension.js +1 -1
  384. package/mapping/WMSLayerExtension.js +1 -1
  385. package/mapping/WMSSublayerExtension.js +1 -1
  386. package/mapping/WMTSLayerExtension.js +1 -1
  387. package/mapping/WMTSSublayerExtension.js +1 -1
  388. package/mapping/WebTileLayerExtension.js +1 -1
  389. package/mapping/_LayerExtension.d.ts +1 -1
  390. package/mapping/_LayerExtension.js +1 -1
  391. package/mapping/_SublayerExtension.d.ts +1 -1
  392. package/mapping/_SublayerExtension.js +1 -1
  393. package/mapping/convert.js +1 -1
  394. package/mapping/support/ArrayWrappedCollection.js +1 -1
  395. package/mapping/support/DefaultLayerExtensionFactory.js +1 -1
  396. package/mapping/support/DefaultSublayerExtensionFactory.js +1 -1
  397. package/mapping/support/LayerListSettings.js +1 -1
  398. package/mapping/support/PopupTemplateFeatureSettings.js +1 -1
  399. package/mapping/support/WfsCapabilities.js +1 -1
  400. package/mapping/support/WfsFeatureType.js +1 -1
  401. package/mapping/support/_LayerExtensionCollection.js +1 -1
  402. package/mapping/support/_SublayerExtensionCollection.js +1 -1
  403. package/mapping/support/_kml.js +1 -1
  404. package/mapping/support/ogc.js +1 -1
  405. package/menus/Menu.js +1 -1
  406. package/menus/MenuItem.js +1 -1
  407. package/package.json +36 -35
  408. package/portal/ApplicationProperties.d.ts +16 -13
  409. package/portal/Background.d.ts +3 -2
  410. package/portal/Background.js +1 -1
  411. package/portal/BaseMap.d.ts +1 -0
  412. package/portal/BaseMap.js +1 -1
  413. package/portal/BaseMapLayer.d.ts +3 -2
  414. package/portal/BingLayer.d.ts +1 -0
  415. package/portal/Bookmark.d.ts +1 -0
  416. package/portal/BuildingSceneLayer.d.ts +1 -1
  417. package/portal/BuildingSceneLayer.js +1 -1
  418. package/portal/BuildingSceneSublayer.js +1 -1
  419. package/portal/CIMSymbol.d.ts +1 -0
  420. package/portal/CSVLayer.d.ts +1 -0
  421. package/portal/CSVLayer.js +1 -1
  422. package/portal/Camera.d.ts +1 -0
  423. package/portal/Camera.js +1 -1
  424. package/portal/ClassBreaksRenderer.d.ts +4 -2
  425. package/portal/CodedValueDomain.d.ts +2 -2
  426. package/portal/CodedValueDomain.js +1 -1
  427. package/portal/ColorClassBreakInfo.d.ts +1 -0
  428. package/portal/ColorUniqueValueInfos.d.ts +1 -0
  429. package/portal/DataSource.d.ts +5 -4
  430. package/portal/DefinitionEditor.d.ts +3 -2
  431. package/portal/Domain.d.ts +3 -2
  432. package/portal/Domain.js +1 -1
  433. package/portal/DrawingInfo.d.ts +1 -0
  434. package/portal/DrawingInfo.js +1 -1
  435. package/portal/DynamicDataLayer.d.ts +2 -2
  436. package/portal/DynamicMapLayer.d.ts +1 -1
  437. package/portal/Edges.d.ts +1 -1
  438. package/portal/Edges.js +1 -1
  439. package/portal/Effect.d.ts +2 -2
  440. package/portal/ElevationInfo.d.ts +2 -2
  441. package/portal/ElevationInfo.js +1 -1
  442. package/portal/ElevationLayer.d.ts +1 -0
  443. package/portal/ElevationLayer.js +1 -1
  444. package/portal/Environment.d.ts +1 -0
  445. package/portal/Environment.js +1 -1
  446. package/portal/Extent.d.ts +1 -1
  447. package/portal/ExtrudeSymbol3DLayer.d.ts +1 -0
  448. package/portal/Feature.d.ts +1 -0
  449. package/portal/Feature.js +1 -1
  450. package/portal/FeatureCollection.d.ts +1 -0
  451. package/portal/FeatureLayer.d.ts +2 -1
  452. package/portal/FeatureLayer.js +1 -1
  453. package/portal/FeatureReduction.d.ts +1 -1
  454. package/portal/FeatureReduction.js +1 -1
  455. package/portal/FeatureSet.d.ts +1 -0
  456. package/portal/Field.d.ts +2 -2
  457. package/portal/Field.js +1 -1
  458. package/portal/FieldInfo.d.ts +2 -1
  459. package/portal/FillSymbol3DLayer.d.ts +1 -0
  460. package/portal/FormInfo.d.ts +13 -13
  461. package/portal/FormInfo.js +1 -1
  462. package/portal/Format.d.ts +2 -1
  463. package/portal/GeoRSSLayer.d.ts +1 -0
  464. package/portal/GeoRSSLayer.js +1 -1
  465. package/portal/Geometry.d.ts +3 -3
  466. package/portal/Geometry.js +1 -1
  467. package/portal/Ground.d.ts +1 -1
  468. package/portal/Ground.js +1 -1
  469. package/portal/GroupLayer.d.ts +2 -1
  470. package/portal/GroupLayer.js +1 -1
  471. package/portal/HeatmapRenderer.d.ts +2 -0
  472. package/portal/IconSymbol3DLayer.d.ts +1 -0
  473. package/portal/ImageServiceLayer.d.ts +1 -0
  474. package/portal/ImageServiceLayer.js +1 -1
  475. package/portal/ImageServiceVectorLayer.d.ts +1 -0
  476. package/portal/InheritedDomain.d.ts +1 -1
  477. package/portal/InheritedDomain.js +1 -1
  478. package/portal/InitialState.d.ts +1 -0
  479. package/portal/InitialState.js +1 -1
  480. package/portal/IntegratedMeshLayer.d.ts +1 -0
  481. package/portal/IntegratedMeshLayer.js +1 -1
  482. package/portal/Item.d.ts +2 -1
  483. package/portal/Item.js +1 -1
  484. package/portal/JoinTableDataSource.d.ts +2 -2
  485. package/portal/KMLLayer.d.ts +1 -0
  486. package/portal/KMLLayer.js +1 -1
  487. package/portal/LabelSymbol3D.d.ts +1 -0
  488. package/portal/LabelingInfo.d.ts +3 -2
  489. package/portal/LabelingInfo.js +1 -1
  490. package/portal/Layer.d.ts +1 -1
  491. package/portal/Layer.js +1 -1
  492. package/portal/LayerBase.js +1 -1
  493. package/portal/LayerDefinition.d.ts +8 -7
  494. package/portal/LayerDefinition.js +1 -1
  495. package/portal/Lighting.d.ts +3 -1
  496. package/portal/Lighting.js +1 -1
  497. package/portal/LineSymbol3D.d.ts +1 -0
  498. package/portal/LineSymbol3DLayer.d.ts +1 -0
  499. package/portal/LocationInfo.d.ts +1 -0
  500. package/portal/MapFloorInfo.d.ts +4 -4
  501. package/portal/MapFloorInfo.js +1 -1
  502. package/portal/MapRangeInfo.d.ts +1 -0
  503. package/portal/MapServiceLayer.d.ts +1 -0
  504. package/portal/MapServiceLayer.js +1 -1
  505. package/portal/MediaInfo.d.ts +1 -1
  506. package/portal/MediaInfo.js +1 -1
  507. package/portal/MeshSymbol3D.d.ts +1 -0
  508. package/portal/MosaicRule.d.ts +3 -2
  509. package/portal/MosaicRule.js +1 -1
  510. package/portal/Multipoint.d.ts +1 -1
  511. package/portal/ObjectSymbol3DLayer.d.ts +1 -0
  512. package/portal/OpenStreetMapLayer.d.ts +1 -0
  513. package/portal/OpenStreetMapLayer.js +1 -1
  514. package/portal/OperationalLayer.d.ts +3 -3
  515. package/portal/PathSymbol3DLayer.d.ts +1 -0
  516. package/portal/PictureFillSymbol.d.ts +1 -0
  517. package/portal/PictureMarkerSymbol.d.ts +1 -0
  518. package/portal/Point.d.ts +2 -1
  519. package/portal/PointCloudBitfieldFilter.d.ts +1 -0
  520. package/portal/PointCloudClassBreaksRenderer.d.ts +1 -0
  521. package/portal/PointCloudFilter.d.ts +2 -1
  522. package/portal/PointCloudFixedSizeAlgorithm.d.ts +1 -0
  523. package/portal/PointCloudLayer.d.ts +1 -0
  524. package/portal/PointCloudLayer.js +1 -1
  525. package/portal/PointCloudRGBRenderer.d.ts +1 -0
  526. package/portal/PointCloudRenderer.d.ts +3 -1
  527. package/portal/PointCloudRenderer.js +1 -1
  528. package/portal/PointCloudReturnFilter.d.ts +1 -0
  529. package/portal/PointCloudSplatAlgorithm.d.ts +1 -0
  530. package/portal/PointCloudStretchRenderer.d.ts +1 -0
  531. package/portal/PointCloudUniqueValueRenderer.d.ts +1 -0
  532. package/portal/PointCloudValueFilter.d.ts +1 -0
  533. package/portal/PointSymbol3D.d.ts +2 -1
  534. package/portal/Polygon.d.ts +1 -1
  535. package/portal/PolygonSymbol3D.d.ts +1 -0
  536. package/portal/Polyline.d.ts +1 -1
  537. package/portal/PopupExpressionInfo.d.ts +2 -1
  538. package/portal/PopupInfo.d.ts +3 -1
  539. package/portal/PopupInfo.js +1 -1
  540. package/portal/PredominanceRenderer.d.ts +1 -0
  541. package/portal/Presentation.d.ts +1 -0
  542. package/portal/Presentation.js +1 -1
  543. package/portal/QueryTableDataSource.d.ts +1 -1
  544. package/portal/RangeDomain.d.ts +1 -1
  545. package/portal/RangeDomain.js +1 -1
  546. package/portal/RangeInfo.d.ts +1 -0
  547. package/portal/RasterDataSource.d.ts +1 -1
  548. package/portal/Renderer.d.ts +8 -6
  549. package/portal/Renderer.js +1 -1
  550. package/portal/RenderingRule.d.ts +3 -2
  551. package/portal/RenderingRule.js +1 -1
  552. package/portal/SceneLayer.d.ts +1 -0
  553. package/portal/SceneLayer.js +1 -1
  554. package/portal/SimpleFillSymbol.d.ts +2 -1
  555. package/portal/SimpleLineSymbol.d.ts +2 -1
  556. package/portal/SimpleMarkerSymbol.d.ts +2 -1
  557. package/portal/SimpleRenderer.d.ts +1 -0
  558. package/portal/Slide.d.ts +4 -4
  559. package/portal/Slide.js +1 -1
  560. package/portal/SpatialReference.d.ts +1 -0
  561. package/portal/SpatialReference.js +1 -1
  562. package/portal/StreamLayer.d.ts +1 -1
  563. package/portal/StreamLayer.js +1 -1
  564. package/portal/StyleSymbolReference.d.ts +1 -0
  565. package/portal/SubtypeGroupLayer.d.ts +3 -2
  566. package/portal/SubtypeGroupLayer.js +1 -1
  567. package/portal/SubtypeSublayer.d.ts +1 -0
  568. package/portal/SubtypeSublayer.js +1 -1
  569. package/portal/Symbol.d.ts +11 -11
  570. package/portal/Symbol.js +1 -1
  571. package/portal/Symbol3D.d.ts +7 -2
  572. package/portal/Table.d.ts +3 -3
  573. package/portal/Table.js +1 -1
  574. package/portal/TableDataSource.d.ts +1 -1
  575. package/portal/Template.d.ts +2 -1
  576. package/portal/Template.js +1 -1
  577. package/portal/TemporalRenderer.d.ts +1 -0
  578. package/portal/TextSymbol.d.ts +1 -0
  579. package/portal/TextSymbol3DLayer.d.ts +1 -0
  580. package/portal/TileInfo.d.ts +2 -1
  581. package/portal/TileInfo.js +1 -1
  582. package/portal/TiledImageServiceLayer.d.ts +1 -0
  583. package/portal/TiledImageServiceLayer.js +1 -1
  584. package/portal/TiledMapServiceLayer.d.ts +2 -1
  585. package/portal/TiledMapServiceLayer.js +1 -1
  586. package/portal/Type.d.ts +2 -4
  587. package/portal/Type.js +1 -1
  588. package/portal/UniqueValueFromStyle.d.ts +1 -0
  589. package/portal/UniqueValueRenderer.d.ts +2 -0
  590. package/portal/UtilityNetwork.d.ts +2 -2
  591. package/portal/UtilityNetwork.js +1 -1
  592. package/portal/Value.d.ts +1 -1
  593. package/portal/VectorFieldRenderer.d.ts +1 -1
  594. package/portal/VectorTileLayer.d.ts +1 -0
  595. package/portal/VectorTileLayer.js +1 -1
  596. package/portal/VerticalOffset.d.ts +1 -1
  597. package/portal/Viewpoint.d.ts +1 -0
  598. package/portal/Viewpoint.js +1 -1
  599. package/portal/VisualVariable.d.ts +10 -4
  600. package/portal/WMSLayer.d.ts +1 -0
  601. package/portal/WMSLayer.js +1 -1
  602. package/portal/WMSSublayer.d.ts +1 -0
  603. package/portal/WMSSublayer.js +1 -1
  604. package/portal/WMTSInfo.d.ts +1 -1
  605. package/portal/WMTSInfo.js +1 -1
  606. package/portal/Weather.d.ts +6 -1
  607. package/portal/Weather.js +1 -1
  608. package/portal/WebMap.d.ts +3 -3
  609. package/portal/WebMap.js +1 -1
  610. package/portal/WebScene.d.ts +3 -1
  611. package/portal/WebScene.js +1 -1
  612. package/portal/WebSceneBaseMap.d.ts +1 -0
  613. package/portal/WebSceneBaseMap.js +1 -1
  614. package/portal/WebTileLayer.d.ts +1 -0
  615. package/portal/WebTileLayer.js +1 -1
  616. package/portal/Widgets.d.ts +6 -4
  617. package/portal/Widgets.js +1 -1
  618. package/portal/_LayerBase.d.ts +2 -2
  619. package/portal/_layerHelper.js +1 -1
  620. package/portal/_utils.js +1 -1
  621. package/support/Action.d.ts +4 -4
  622. package/support/ArcGISRequestHelper.js +1 -1
  623. package/support/Cancellable.d.ts +1 -1
  624. package/support/Cancellable.js +1 -1
  625. package/support/FormatSettings.js +1 -1
  626. package/support/InitializableBase.d.ts +1 -1
  627. package/support/InitializableBase.js +1 -1
  628. package/support/InitializableCollectionProxy.js +1 -1
  629. package/support/InitializeError.js +1 -1
  630. package/support/Observable.js +1 -1
  631. package/support/ReadOnlyInitializableCollection.js +1 -1
  632. package/support/Serializable.d.ts +4 -4
  633. package/support/Serializable.js +1 -1
  634. package/support/Settings.js +1 -1
  635. package/support/_ArcGISRelationshipCollection.js +1 -1
  636. package/support/_esriInternal.js +1 -1
  637. package/support/_graphicsQuery.js +1 -1
  638. package/support/_query.js +1 -1
  639. package/support/_requestCache.js +1 -1
  640. package/support/_restApiJson.d.ts +1 -1
  641. package/support/esri.d.ts +76 -76
  642. package/support/esri.js +1 -1
  643. package/tasks/geocoding/ArcGISGeocoder.js +1 -1
  644. package/tasks/geocoding/Geocoder.d.ts +1 -1
  645. package/tasks/geocoding/Geocoder.js +1 -1
  646. package/tasks/geocoding/utilities.js +1 -1
  647. package/tasks/identify/ArcGISSublayerQueryIdentifyProvider.js +1 -1
  648. package/tasks/identify/BuildingComponentSublayerClientSideIdentifyProvider.js +1 -1
  649. package/tasks/identify/BuildingComponentSublayerHitTestIdentifyProvider.js +1 -1
  650. package/tasks/identify/CSVLayer3DHitTestIdentifyProvider.js +1 -1
  651. package/tasks/identify/CSVLayerClientSideQueryIdentifyProvider.js +1 -1
  652. package/tasks/identify/ClientSideIdentifyProvider.d.ts +2 -2
  653. package/tasks/identify/ClientSideIdentifyProvider.js +1 -1
  654. package/tasks/identify/FeatureLayer3DHitTestIdentifyProvider.js +1 -1
  655. package/tasks/identify/FeatureLayerClientSideIdentifyProvider.js +1 -1
  656. package/tasks/identify/FeatureLayerQueryIdentifyProvider.js +1 -1
  657. package/tasks/identify/GeoRSSLayerIdentifyProvider.js +1 -1
  658. package/tasks/identify/GraphicsLayerQueryIdentifyProvider.js +1 -1
  659. package/tasks/identify/HitTestIdentifyProvider.d.ts +2 -2
  660. package/tasks/identify/HitTestIdentifyProvider.js +1 -1
  661. package/tasks/identify/IdentifyError.js +1 -1
  662. package/tasks/identify/IdentifyProviderBase.js +1 -1
  663. package/tasks/identify/IdentifyService.js +1 -1
  664. package/tasks/identify/ImageryLayerIdentifyProvider.js +1 -1
  665. package/tasks/identify/KMLLayerQueryIdentifyProvider.js +1 -1
  666. package/tasks/identify/PointCloudLayerHitTestIdentifyProvider.js +1 -1
  667. package/tasks/identify/SceneLayerClientSideIdentifyProvider.js +1 -1
  668. package/tasks/identify/SceneLayerHitTestIdentifyProvider.js +1 -1
  669. package/tasks/identify/SceneLayerQueryIdentifyProvider.js +1 -1
  670. package/tasks/identify/StreamLayerClientSideQueryIdentifyProvider.js +1 -1
  671. package/tasks/identify/StreamLayerQueryIdentifyProvider.js +1 -1
  672. package/tasks/identify/SubtypeSublayerClientSideIdentifyProvider.js +1 -1
  673. package/tasks/identify/SubtypeSublayerQueryIdentifyProvider.js +1 -1
  674. package/tasks/identify/WMSSublayerIdentifyProvider.js +1 -1
  675. package/tasks/query/ArcGISRelationship.js +1 -1
  676. package/tasks/query/ArcGISServiceTableQueryProvider.js +1 -1
  677. package/tasks/query/ArcGISSublayerQueryProvider.js +1 -1
  678. package/tasks/query/BuildingComponentSublayerClientSideQueryProvider.js +1 -1
  679. package/tasks/query/CSVLayerClientSideQueryProvider.js +1 -1
  680. package/tasks/query/CSVLayerQueryProvider.js +1 -1
  681. package/tasks/query/ClientSideQueryProvider.d.ts +2 -2
  682. package/tasks/query/ClientSideQueryProvider.js +1 -1
  683. package/tasks/query/FeatureLayerQueryProvider.js +1 -1
  684. package/tasks/query/GeoRSSLayerQueryProvider.js +1 -1
  685. package/tasks/query/GraphicsLayerQueryProvider.js +1 -1
  686. package/tasks/query/ImageryLayerQueryProvider.js +1 -1
  687. package/tasks/query/KMLLayerQueryProvider.js +1 -1
  688. package/tasks/query/QueryBasedRelationship.js +1 -1
  689. package/tasks/query/QueryError.js +1 -1
  690. package/tasks/query/QueryProviderBase.js +1 -1
  691. package/tasks/query/QueryService.js +1 -1
  692. package/tasks/query/SceneLayerClientSideQueryProvider.js +1 -1
  693. package/tasks/query/SceneLayerQueryProvider.js +1 -1
  694. package/tasks/query/StreamLayerClientSideQueryProvider.js +1 -1
  695. package/tasks/query/StreamLayerQueryProvider.js +1 -1
  696. package/tasks/query/SubtypeSublayerQueryProvider.js +1 -1
  697. package/tasks/search/ArcGISGeocoderSearchProvider.js +1 -1
  698. package/tasks/search/GeocoderSearchProvider.js +1 -1
  699. package/tasks/search/QuerySearchProvider.js +1 -1
  700. package/tasks/search/SearchError.js +1 -1
  701. package/tasks/search/SearchProviderBase.js +1 -1
  702. package/tasks/search/SearchService.js +1 -1
  703. package/tasks/search/_utilities.js +1 -1
  704. package/utilities/CollectionProxy.js +1 -1
  705. package/utilities/CopyOnWriteCollection.js +1 -1
  706. package/utilities/GeometryServiceError.js +1 -1
  707. package/utilities/MapTransformCollection.js +1 -1
  708. package/utilities/ObservableMap.js +1 -1
  709. package/utilities/ObservableSet.js +1 -1
  710. package/utilities/ObservableWeakSet.js +1 -1
  711. package/utilities/ReadOnlyCollection.js +1 -1
  712. package/utilities/ReadOnlyMap.js +1 -1
  713. package/utilities/_layers.js +1 -1
  714. package/utilities/_ogc.js +1 -1
  715. package/utilities/arcade.js +1 -1
  716. package/utilities/array.js +1 -1
  717. package/utilities/asyncIterable.d.ts +1 -1
  718. package/utilities/asyncIterable.js +1 -1
  719. package/utilities/basemaps.js +1 -1
  720. package/utilities/checkArg.js +1 -1
  721. package/utilities/collection.js +1 -1
  722. package/utilities/date.js +1 -1
  723. package/utilities/esri.js +1 -1
  724. package/utilities/extensions.js +1 -1
  725. package/utilities/geometry.d.ts +2 -2
  726. package/utilities/geometry.js +1 -1
  727. package/utilities/iterable.js +1 -1
  728. package/utilities/log.d.ts +1 -1
  729. package/utilities/log.js +1 -1
  730. package/utilities/mapping.js +1 -1
  731. package/utilities/math.js +1 -1
  732. package/utilities/number.js +1 -1
  733. package/utilities/object.js +1 -1
  734. package/utilities/portal.d.ts +3 -3
  735. package/utilities/portal.js +1 -1
  736. package/utilities/promise.d.ts +1 -1
  737. package/utilities/promise.js +1 -1
  738. package/utilities/query.js +1 -1
  739. package/utilities/relationships.js +1 -1
  740. package/utilities/scaleRanges.d.ts +1 -1
  741. package/utilities/set.js +1 -1
  742. package/utilities/string.d.ts +6 -21
  743. package/utilities/string.js +1 -1
  744. package/utilities/symbol.js +1 -1
  745. package/utilities/uri.js +1 -1
  746. package/utilities/watch.js +1 -1
  747. package/version.d.ts +1 -1
  748. package/version.js +1 -1
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{ArgumentError}from"../ArgumentError.js";import{EntityBase}from"../Entity.js";import{InvalidOperationError}from"../InvalidOperationError.js";import{isBasemapExtension,isBookmark,isGroundExtension,isLayerPreset,isMenu,isTableExtension,ItemType}from"../ItemType.js";import{TableExtension}from"../data/TableExtension.js";import{LayerPreset}from"../layer-preset/LayerPreset.js";import{Menu}from"../menus/Menu.js";import{WebMap as WebMapJson}from"../portal/WebMap.js";import{WebScene as WebSceneJson}from"../portal/WebScene.js";import{resolveRelativeHrefs}from"../portal/_utils.js";import{DefaultArcGISRequestHelper}from"../support/ArcGISRequestHelper.js";import{FormatSettings}from"../support/FormatSettings.js";import{InitializableCollectionProxy}from"../support/InitializableCollectionProxy.js";import{ReadOnlyInitializableCollection}from"../support/ReadOnlyInitializableCollection.js";import{serializable}from"../support/Serializable.js";import{WellKnownBasemap}from"../support/esri.js";import{ReadOnlyCollection}from"../utilities/ReadOnlyCollection.js";import{basemapsAreEquivalent,createStandardBasemap,isStandardBasemap}from"../utilities/basemaps.js";import{checkArg}from"../utilities/checkArg.js";import{Collection,compare}from"../utilities/collection.js";import{load}from"../utilities/esri.js";import{isGroupLayerExtension}from"../utilities/extensions.js";import{project}from"../utilities/geometry.js";import{find}from"../utilities/iterable.js";import{layersAreEquivalent}from"../utilities/layers.js";import{getLogger}from"../utilities/log.js";import{getMapSpatialReference,isMap,isWebMap,isWebScene}from"../utilities/mapping.js";import{toPortalItem as toPortalItemBase}from"../utilities/portal.js";import{parallelEach}from"../utilities/promise.js";import{onCollectionPropertyChange,onEach}from"../utilities/watch.js";import{BasemapExtension}from"./BasemapExtension.js";import{Bookmark}from"./Bookmark.js";import{GroundExtension}from"./GroundExtension.js";import{MapConstraints}from"./MapConstraints.js";import{UnsupportedLayerExtension}from"./UnsupportedLayerExtension.js";import{_assignLayerExtensions,LayerExtension}from"./_LayerExtension.js";import{LayerExtensionCollectionBase}from"./support/_LayerExtensionCollection.js";const log=getLogger("MapExtension");let MapExtension=class extends EntityBase{constructor(e){super(e),this.isSwitchingMap=!1,this._layerViews=new Collection,this._itemType=ItemType.MAP_EXTENSION,this._skipBasemapOptions=!1;let t={...e};this._basemapOptions=new BasemapExtensionCollection(this),this._groundExtensions=new WeakMap,this._layerExtensions=this._createLayerExtensionCollection(),this.tableExtensions=this._createTableExtensionCollection(),this.formatSettings=this._createFormatSettings(),this._bookmarks=new Collection,this.constraints=new MapConstraints,this.watch(["_map","_scene"],(e=>{e&&(onEach(e.layers,"layerview-create",(e=>{this._layerViews.add(e.layerView)})),onEach(e.layers,"layerview-destroy",(e=>{this._layerViews.remove(e.layerView)})))}));const{webMap:i,webScene:s,initialViewMode:a,map:n,basemapOptions:r}=t;if(this._webMap=i,this._webScene=s,this._webMapItem=toPortalItem(i),this._webSceneItem=toPortalItem(s),this.initialViewMode=a,isWebScene(n)&&s)throw new ArgumentError("Cannot specify webScene property if map is initialized to a WebScene instance.");if(isMap(n)&&i)throw new ArgumentError("Cannot specify webMap property if map is initialized to a 2D Map instance.");if(isWebScene(n)||isWebMap(n)||isMap(n))this.assignProperties({basemapOptions:r}),this._skipBasemapOptions=!!r;else{const{map:e,layerExtensions:i,tableExtensions:s,groundExtension:a,basemapOptions:n,basemapExtension:r,...o}=t;this._deferredProperties={map:e,layerExtensions:i,tableExtensions:s,groundExtension:a,basemapOptions:n,basemapExtension:r},t=o,n&&(this._skipBasemapOptions=!0)}this._initMapFromProperties(t),this.watch("map.basemap",(()=>this._onBasemapChange()),!0),this.watch("map.ground",(()=>this._onGroundChange()),!0),this.allLayerExtensions=new AllLayerExtensionCollectionImpl(this),this.map?.basemap&&this._onBasemapChange()}get webMap(){return this._webMap}get webScene(){return this._webScene}get map(){return this._currentMap}get viewMode(){return this.map?isWebScene(this.map)?"scene":"map":this.initialViewMode}get initialViewMode(){return this.webMap&&this.webScene?this._initialViewMode||"map":isWebScene(this.map)||this.webScene&&!this.webMap?"scene":"map"}set initialViewMode(e){this._initialViewMode=e}get requestHelper(){return this._requestHelper||(this._requestHelper=new DefaultArcGISRequestHelper),this._requestHelper}set requestHelper(e){this._requestHelper=e}get basemapExtension(){return this._basemapExtension}set basemapExtension(e){const t=this._basemapExtension;if(t!==e)if(t&&t._setMapExtension(void 0),e){if(e._setMapExtension(this),this.isInitialized&&!e.basemap){if(e.isInitialized)throw e._setMapExtension(void 0),new InvalidOperationError("Cannot set MapExtension.basemapExtension without a valid Esri Basemap object");e.initialize()}this._ensureIsBasemapOption(e),this.map&&e.basemap&&e.basemap!==this.map.basemap?this.map.basemap=e.basemap:this._basemapExtension=e}else this.map.basemap=void 0,this._basemapExtension=void 0}get groundExtension(){return this._groundExtension||(this.groundExtension=new GroundExtension({ground:this.map?.ground})),this._groundExtension}set groundExtension(e){if(!e)throw new InvalidOperationError("Cannot set map.ground to undefined");const t=this._groundExtension;t!==e&&(t&&t._setMapExtension(void 0),e._setMapExtension(this),e._resolveGround(),e.ground?(this._groundExtensions.set(e.ground,e),this.map&&e.ground!==this.map.ground?this.map.ground=e.ground:this._groundExtension=e):this._groundExtension=e)}get basemapOptions(){return this._basemapOptions}get bookmarks(){return this._bookmarks}get initialBasemapExtension(){return this._initialBasemapExtension}get initialLayerPreset(){return this._initialLayerPreset}set initialLayerPreset(e){if(!e)return void(this._initialLayerPreset=void 0);const t=isLayerPreset(e)?e:new LayerPreset(e);this._initialLayerPreset=t}get _spatialReference(){return getMapSpatialReference(this.map)}get webMapItemTitle(){if(this._webMapItem)return this._webMapItem.title}get webSceneItemTitle(){if(this._webSceneItem)return this._webSceneItem.title}get title(){return this._title?this._title:this._webMapItem&&"map"===this.viewMode?this.webMapItemTitle:this._webSceneItem&&"scene"===this.viewMode?this.webSceneItemTitle:void 0}set title(e){this._title=e}get contextMenu(){return this._contextMenu}set contextMenu(e){this._contextMenu=e,e&&this.isInitialized&&!e.isInitialized&&(async()=>{try{await e.initialize()}catch(e){e instanceof Error&&log.error({message:"An error occurred while initializing context menu.",error:e})}})()}get _allLayerViews(){const e=t=>{const i=[t];return Collection.isCollection(t.sublayerViews)?i.push(...t.sublayerViews.toArray().flatMap(e)):Collection.isCollection(t.layerViews)&&i.push(...t.layerViews.toArray().flatMap(e)),i};return this._layerViews.toArray().flatMap(e)}get layerExtensions(){return this._layerExtensions}getAllFeatureSources(e=(()=>!0)){const t=[],i=a=>{a.hasFeatures&&t.push(a);for(const t of a.sublayerExtensions.initializedItems.filter(e).toArray())s(t);if(isGroupLayerExtension(a))for(const t of a.layerExtensions.initializedItems.filter(e).toArray())i(t)},s=i=>{t.push(i);for(const t of i.sublayerExtensions.initializedItems.filter(e).toArray())s(t)};for(const t of this.layerExtensions.initializedItems.filter(e).toArray())i(t);for(const i of this.tableExtensions.initializedItems.filter(e).toArray())t.push(i);if(this.basemapExtension){for(const t of this.basemapExtension.baseLayerExtensions.initializedItems.filter(e).toArray())i(t);for(const t of this.basemapExtension.referenceLayerExtensions.initializedItems.filter(e).toArray())i(t)}return t}isSupportedViewMode(e){return e===this.viewMode||!(!this.webMap&&!this.webScene)&&("scene"===e?!!this.webScene:!!this.webMap)}async switchViewMode(e){if(checkArg("viewMode",e).isNotMissing().satisfies((e=>this.isSupportedViewMode(e)),"Unsupported view mode."),this.viewMode===e)return;let t;"scene"===e?(await this._createScene(),t=this._scene):(await this._createMap(),t=this._map),t.basemap=this.map.basemap,await this.switchMap(t),this.notifyChange("viewMode"),this.notifyChange("title")}async switchMap(e){if(checkArg("newMap",e).isNotMissing(),e===this.map)return;if(!this.map)return void this._setMap(e);this.isSwitchingMap=!0,this.isInitialized&&await load(e);const t=new Map;this.map.layers.forEach((e=>t.set(e,this.layerExtensions.forLayer(e))));const{basemapExtension:i}=this;this._setMap(e),this._updateBookmarks();const s=[];for(const e of this.map.layers.toArray()){const i=find(t.entries(),(([t])=>layersAreEquivalent(t,e)));if(i)s.push((async()=>{const t=i[1];await t._switchLayer(e),this._layerExtensions._register(t)})());else{const t=this._layerExtensions._forLayer(e);t?.layer!==e&&s.push(t._switchLayer(e))}}this.map.basemap&&i&&basemapsAreEquivalent(this.map.basemap,i.basemap)&&s.push((async()=>{await i._switchBasemap(this.map.basemap),this.basemapExtension=i})()),this.isInitialized&&s.push(this._initializeChildren()),await Promise.all(s),this.isSwitchingMap=!1}async setWebMap(e){if(!e&&this.webMap&&!this.webScene)throw new InvalidOperationError("Cannot unset both webMap and webScene.");this._webMap=e,this._map=void 0,this._createMapPromise=void 0,this._webMapItem=toPortalItem(e),await load(this._webMapItem),"map"===this.viewMode&&(e?(this._basemapOptions.isExplicitlyModified||this._basemapOptions.removeAllInternal(),await this._createMap(),await this.switchMap(this._map),await this._createStandardBasemapOptions(),this._basemapOptions.reorderInternal(this.basemapExtension,0),this._initialBasemapExtension=this.basemapExtension):await this.switchViewMode("scene")),this.notifyChange("webMap"),this.notifyChange("initialViewMode"),this.notifyChange("title")}async setWebScene(e){if(!e&&this.webScene&&!this.webMap)throw new InvalidOperationError("Cannot unset both webMap and webScene.");this._webScene=e,this._scene=void 0,this._createScenePromise=void 0,this._webSceneItem=toPortalItem(e),await load(this._webSceneItem),"scene"===this.viewMode&&(e?(this._basemapOptions.isExplicitlyModified||this._basemapOptions.removeAllInternal(),await this._createScene(),await this.switchMap(this._scene),await this._createStandardBasemapOptions(),this._basemapOptions.reorderInternal(this.basemapExtension,0),this._initialBasemapExtension=this.basemapExtension):await this.switchViewMode("map")),this.notifyChange("webScene"),this.notifyChange("initialViewMode"),this.notifyChange("title")}getDefaults(){const e=super.getDefaults();return e.initialViewMode="map",e}async _createScene(){if(!this._scene&&this.webScene)return this._createScenePromise=this._createScenePromise??(async()=>{if(isPortalItem(this.webScene)){const e=new((await import("@arcgis/core/WebScene")).default);await this._loadAndApplyPortalItemData(this._webSceneItem,e),this._scene=e}else this._scene=await WebSceneJson.toEsriApiWebScene(this.webScene)})()}async _createMap(){if(!this._map&&this.webMap)return this._createMapPromise=this._createMapPromise??(async()=>{if(isPortalItem(this.webMap)){const e=new((await import("@arcgis/core/WebMap")).default);await this._loadAndApplyPortalItemData(this._webMapItem,e),this._map=e}else this._map=await WebMapJson.toEsriApiWebMap(this.webMap)})()}_getSerializableProperties(){return{...super._getSerializableProperties(),layerExtensions:{serializeModes:["initial","project"],deserialize:e=>{if(this.map&&e){const t=("map"===this.viewMode?this._scene:this._map)?.layers.toArray()??[],i=e.filter((e=>!t.includes(e.layer)&&!t.some((t=>e.layer&&(LayerExtension._matchesRef(t,e.layer)||layersAreEquivalent(t,e.layer))))));_assignLayerExtensions(this.layerExtensions,i)}},serialize:e=>{if(this._deferredProperties?.layerExtensions)return this._deferredProperties.layerExtensions;{const t="map"===this.viewMode,i=(t?this._map:this._scene)?.layers.toArray();let s=(t?this._scene:this._map)?.layers.toArray()??[];return s=s.filter((e=>!i.find((t=>layersAreEquivalent(t,e))))),this.layerExtensions.concat(s.map((e=>this._layerExtensions._forLayer(e)))).filter((t=>!(t instanceof UnsupportedLayerExtension||"initial"===e)||!t.dynamicallyAddedLayer)).toArray()}}},tableExtensions:{serializeModes:["initial","project"],deserialize:e=>{this.map?compare(this.tableExtensions,e,{onNew:(e,t)=>{this.tableExtensions.add(isTableExtension(e)?e:TableExtension.create(e),t)},onMatch:(e,t,i,s)=>{isTableExtension(t)||e.assignProperties(t),i!==s&&this.tableExtensions.reorder(e,s)},equals:(e,t)=>isTableExtension(t)?t===e:!!TableExtension._matchesRef(e,t.table)||e.id===t.id}):this._deferredProperties={...this._deferredProperties,tableExtensions:e}},serialize:()=>this._deferredProperties?.tableExtensions?this._deferredProperties?.tableExtensions:this.tableExtensions.toArray()},basemapExtension:{serializeModes:["project"],deserialize:e=>{this.map?e?isBasemapExtension(e)?this.basemapExtension=e:this.basemapExtension?this.basemapExtension.assignProperties(e):this.basemapExtension=BasemapExtension.create(e):this.basemapExtension=void 0:this._deferredProperties={...this._deferredProperties,basemapExtension:e}},serialize:()=>this._deferredProperties?.basemapExtension?this._deferredProperties?.basemapExtension:this.basemapExtension},basemapOptions:{serializeModes:["initial"],deserialize:e=>{this._skipBasemapOptions?this._skipBasemapOptions=!1:(compare(this.basemapOptions,e,{onNew:(e,t)=>{this.basemapOptions.add(isBasemapExtension(e)?e:BasemapExtension.create(e),t)},onMatch:(e,t,i,s)=>{isBasemapExtension(t)||e.assignProperties(t),i!==s&&this.basemapOptions.reorder(e,s)},onMissing:e=>{this.basemapOptions.remove(e)},equals:(e,t)=>{if(isBasemapExtension(t))return t===e;if(e.id&&t.id)return e.id===t.id;{const i=e.toJSON();return basemapsAreEquivalent(i.basemap,t.basemap||t.baseMap)}}}),this.basemapExtension&&this._ensureIsBasemapOption(this.basemapExtension),this.isInitialized&&parallelEach(this.basemapOptions.toArray(),(e=>e._createBackingBasemap())))},serialize:()=>this._deferredProperties?.basemapOptions?this._deferredProperties?.basemapOptions:this.basemapOptions.toArray()},groundExtension:{serializeModes:["initial"],deserialize:e=>{this.map?isGroundExtension(e)?this.groundExtension=e:this.groundExtension.assignProperties(e):this._deferredProperties={...this._deferredProperties,groundExtension:e}},serialize:()=>this._deferredProperties?.groundExtension?this._deferredProperties?.groundExtension:this.groundExtension},bookmarks:{serialize:()=>this.bookmarks.map((e=>e.toJSON())).toArray(),deserialize:e=>{this.bookmarks.addMany(e.map((e=>isBookmark(e)?e:new Bookmark(e))))}},webMap:{serializeModes:["initial"],deserialize:!1},webScene:{serializeModes:["initial"],deserialize:!1},initialLayerPreset:"initial",initialViewMode:{serializeModes:["initial","project"],serialize:e=>"project"===e?this.viewMode:"scene"!==this.initialViewMode||!this.webScene&&this.webMap?"map":"scene",deserialize:e=>{this.viewMode!==e&&(this._deserializedViewMode=e),this._initialViewMode=e},isDefault:(e,t)=>"project"!==t&&"map"===e},formatSettings:"initial",constraints:"initial",title:"initial",onClick:"initial",onHover:"initial",onHoverEnd:"initial",onInitialized:"initial",onViewpointChanged:"initial",contextMenu:{serializeModes:["initial"],deserialize:e=>{e?isMenu(e)?this.contextMenu=e:this.contextMenu?this.contextMenu.assignProperties(e):this.contextMenu=Menu.create(e):this.contextMenu=void 0}},map:{serializeModes:["project"],serialize:()=>({operationalLayers:this.layerExtensions.toArray().filter((e=>e.layer)).map((e=>e._getProjectWebmapJSON())),tables:this.tableExtensions.toArray().filter((e=>e.table)).map((e=>({id:e.table.id,title:e.table.title})))}),deserialize:e=>{if(this.map)if(isMap(e)||isWebMap(e)||isWebScene(e)){if(e!==this.map)throw new ArgumentError("properties.map","Property 'map' is read-only.")}else this._deserializedMapPromise=(async()=>{this._deserializedViewMode&&this.webMap&&this.webScene&&(this._deserializedViewModePromise=this.switchViewMode(this._deserializedViewMode),await this._deserializedViewModePromise,this._deserializedViewMode=void 0,this._deserializedViewModePromise=void 0),await this._applyMapProperties(e,this.map),this._deserializedMapPromise=void 0})();else this._deferredProperties={...this._deferredProperties,map:e}}},requestHelper:{serialize:!1}}}async _applyMapProperties(e,t,i){await parallelEach(this.basemapOptions.toArray(),(e=>e._createBackingBasemap()));let s=e;const a=this.basemapOptions.find((e=>basemapsAreEquivalent(e.basemap,s.baseMap)));a&&(t.basemap=a.basemap,s={...s,baseMap:{...s.baseMap,title:t.basemap.title}}),isWebScene(t)?await WebSceneJson.applyToEsriApiWebScene(s,t,i):await WebMapJson.applyToEsriApiMap(s,t,i)}_createFormatSettings(){return new FormatSettings}_createLayerExtensionCollection(){return new LayerExtensionCollectionImpl(this)}_createTableExtensionCollection(){return new TableExtensionCollectionImpl(this)}async _onInitialize(){await super._onInitialize();const{basemapExtension:e,basemapOptions:t,groundExtension:i,webMap:s,webScene:a,map:n,...r}=this._deferredProperties??{};if(t&&this.assignProperties({basemapOptions:t}),this.map||("scene"===this.initialViewMode?this._setMap(new((await import("@arcgis/core/WebScene")).default)):this._setMap(new((await import("@arcgis/core/WebMap")).default))),this.map.basemap&&this._onBasemapChange(),(s||a)&&await this._applyMapProperties("scene"===this.initialViewMode?a:s,this.map),e&&(this.assignProperties({basemapExtension:e}),await this.basemapExtension._createBackingBasemap()),i&&this.assignProperties({groundExtension:i}),this._webMapItem||this._webSceneItem){await Promise.all([load(this.map),load(this._webMapItem),load(this._webSceneItem)]),validatePortalItem(this._webMapItem,"webMap","Web Map"),validatePortalItem(this._webSceneItem,"webScene","Web Scene");const e=isWebScene(this.map)?this._webSceneItem:this._webMapItem;await this._loadAndApplyPortalItemData(e)}else await load(this.map);n&&await this._applyMapProperties(n,this.map),this.assignProperties(r),this._deferredProperties=void 0,this._initialBasemapExtension=this.basemapExtension,this._updateBookmarks(),this.contextMenu&&await this.contextMenu.initialize();for(const e of this.layerExtensions.toArray())await e._createBackingLayer();await Promise.all(this.tableExtensions.map((e=>e._createBackingTable())).toArray())}async _postInitialize(){await super._postInitialize(),await this._createStandardBasemapOptions(),await parallelEach(this.basemapOptions.toArray(),(e=>e._createBackingBasemap())),this.initialLayerPreset&&await this.initialLayerPreset.applyTo(this)}*_initializableChildCollections(){yield*super._initializableChildCollections();const e=new Collection(this.layerExtensions.filter((e=>!!e.layer)));e.remove=e=>{this.layerExtensions.remove(e)};const t=new Collection(this.tableExtensions.filter((e=>!!e.table)));if(t.remove=e=>{this.tableExtensions.remove(e)},yield e,yield t,this.basemapExtension){const e=new Collection;e.add(this.basemapExtension),yield e}const i=new Collection;i.add(this.groundExtension),yield i}_initMapFromProperties(e){const t=e.map;isMap(t)||isWebMap(t)||isWebScene(t)?this._setMap(t):"scene"===this.initialViewMode?e.webScene&&!isPortalItem(e.webScene)&&(this._deferredProperties={webScene:e.webScene,...this._deferredProperties}):e.webMap&&!isPortalItem(e.webMap)&&(this._deferredProperties={webMap:e.webMap,...this._deferredProperties})}_setMap(e){isWebScene(e)?this._scene=e:this._map=e,this._currentMap=e,this.basemapExtension?.basemap&&!e.basemap&&(e.basemap=this.basemapExtension.basemap),this.groundExtension?.ground&&!e.ground&&(e.ground=this.groundExtension.ground),this.notifyChange("map")}async _loadAndApplyPortalItemData(e,t){await load(e);const i=await e.fetchData();resolveRelativeHrefs(i,e),await this._inferLayerTypes(i),this.basemapExtension?.basemap&&!t&&delete i.baseMap,GroundExtension.isDefaultGround(this.groundExtension.ground)||t||delete i.ground;const s=t||this.map;await load(s),await this._applyMapProperties(i,s,e),s.portalItem=e;const{viewpoint:a,spatialReference:n}=s.initialViewProperties;a&&a.targetGeometry&&!a.targetGeometry.spatialReference.equals(n)&&(s.initialViewProperties.viewpoint.targetGeometry=(await project([a.targetGeometry],n))[0]),a&&a.camera&&(a.camera.position.spatialReference=n.clone())}_onBasemapChange(){if(this._basemapExtension){if(this.basemapExtension.basemap==this.map.basemap)return;this._basemapExtension._setMapExtension(void 0)}if(this.map.basemap){let e=this.basemapOptions.find((e=>e.basemap===this.map.basemap));e||(e=BasemapExtension.create({basemap:this.map.basemap}),this._basemapOptions.addInternal(e,0)),e.mapExtension!==this&&e._setMapExtension(this),this._basemapExtension=e}else this._basemapExtension=void 0;this.notifyChange("basemapExtension")}_onGroundChange(){if(this._groundExtension){if(this.groundExtension.ground===this.map.ground)return void(this._groundExtensions.has(this.map.ground)||this._groundExtensions.set(this.map.ground,this.groundExtension));this.groundExtension._setMapExtension(void 0)}this._groundExtensions.has(this.map.ground)||this._groundExtensions.set(this.map.ground,new GroundExtension({ground:this.map.ground}));const e=this._groundExtensions.get(this.map.ground);e.mapExtension!==this&&e._setMapExtension(this),this._groundExtension=e,this.notifyChange("groundExtension")}async _inferLayerTypes(e){const t=[];if(e.operationalLayers)for(const i of e.operationalLayers)t.push(this._inferLayerType(i));if(e.baseMap&&t.push(this._inferBasemapLayerTypes(e.baseMap)),e.hasOwnProperty("ground")&&t.push(this._inferGroundLayerTypes(e.ground)),e.presentation?.slides)for(const i of e.presentation.slides)i.baseMap&&"string"!=typeof i.baseMap&&t.push(this._inferBasemapLayerTypes(i.baseMap));await Promise.all(t)}async _inferBasemapLayerTypes(e){const t=[];if(e.baseMapLayers)for(const i of e.baseMapLayers)t.push(this._inferLayerType(i));await Promise.all(t)}async _inferGroundLayerTypes(e){const t=[];if(e.layers)for(const i of e.layers)t.push(this._inferLayerType(i));await Promise.all(t)}async _inferLayerType(e){if(!e.layerType)if(e.type)e.layerType=e.type;else if(e.url){const t=e.url;if(t.match(".*MapServer/\\d{1,}/?$")||t.match(".*FeatureServer/\\d{1,}/?$"))e.layerType="ArcGISFeatureLayer";else if(t.match(".*StreamServer/?$"))e.layerType="ArcGISStreamLayer";else if(t.match(".*ImageServer/?$")){const i=await this._getLayerData(t);i.cacheType?"Map"===i.cacheType?e.layerType="ArcGISTiledImageServiceLayer":"Elevation"===i.cacheType&&(e.layerType="ArcGISTiledElevationServiceLayer"):e.layerType="ArcGISImageServiceLayer"}else if(t.match(".*MapServer/?$")){const i=await this._getLayerData(t);e.layerType=i.tileInfo?"ArcGISTiledMapServiceLayer":"ArcGISMapServiceLayer"}else if(t.match(".*\\.(csv|txt)$"))e.layerType="CSV";else if(t.match(".*\\.kml$"))e.layerType="KML";else if(t.match(".*SceneServer/layers/\\d{1,}/?$")){const i=await this._getLayerData(t);"3DObject"===i.layerType?e.layerType="ArcGISSceneServiceLayer":"IntegratedMesh"===i.layerType?e.layerType="IntegratedMeshLayer":"PointCloud"===i.layerType&&(e.layerType="PointCloudLayer")}else t.match(".*(\\.xml|rss/?)$")&&(e.layerType="GeoRSS")}else if(e.layers){e.layerType="GroupLayer";const t=[];for(const i of e.layers)t.push(this._inferLayerType(i));await Promise.all(t)}else e.templateUrl&&e.tileInfo?e.layerType="WebTiledLayer":e.featureCollection?e.layerType="ArcGISFeatureLayer":e.styleUrl?e.layerType="VectorTileLayer":e.mapUrl&&(e.layerType="WMS")}async _getLayerData(e){const t=await this.requestHelper.request(e,{query:{f:"json"}});if(!t||!t.data)throw new Error(`Response to request for url ${e} was invalid.`);return t.data}async _createStandardBasemapOptions(){const e=this._spatialReference;!this._basemapOptions.isExplicitlyModified&&e&&e.isWebMercator&&await parallelEach([WellKnownBasemap.SATELLITE,WellKnownBasemap.HYBRID_VECTOR,WellKnownBasemap.STREETS_VECTOR,WellKnownBasemap.TOPO_VECTOR,WellKnownBasemap.STREETS_NAVIGATION_VECTOR,WellKnownBasemap.STREETS_NIGHT_VECTOR,WellKnownBasemap.TERRAIN_VECTOR,WellKnownBasemap.DARK_GRAY_VECTOR,WellKnownBasemap.GRAY_VECTOR,WellKnownBasemap.OCEANS_VECTOR,WellKnownBasemap.OPEN_STREET_MAP_VECTOR],(async e=>{const t=await createStandardBasemap(e);basemapsAreEquivalent(this.map.basemap,t)?this._basemapOptions.addInternal(this.basemapExtension):this._basemapOptions.addInternal(BasemapExtension.create({basemap:t}),void 0,!1)}))}_ensureIsBasemapOption(e){const t=this.basemapOptions.findIndex((t=>t.basemap===e.basemap));t>=0?this._basemapOptions.getItemAt(t)!==e&&(this._basemapOptions.removeAtInternal(t),this._basemapOptions.addInternal(e,t)):this._basemapOptions.addInternal(e,0)}_updateBookmarks(){this.bookmarks.removeMany(this.bookmarks.filter((e=>"map"===e.source))),isWebMap(this.map)&&this.map.bookmarks?.length>0?this.map.bookmarks.forEach((e=>{this.bookmarks.add(new Bookmark({source:"map",title:e.name,viewpoint:e.viewpoint}))})):isWebScene(this.map)&&this.map.presentation?.slides?.length>0&&this.map.presentation.slides.forEach((e=>{const t={source:"map",title:e.title.text,viewpoint:e.viewpoint},i=new Bookmark(t);this.bookmarks.add(i)}))}};MapExtension=__decorate([serializable],MapExtension);export{MapExtension};class LayerExtensionCollectionImpl extends LayerExtensionCollectionBase{constructor(e){super(e,"map.layers")}get _mapExtension(){return this._parent}toJSON(){const e=[];return this.forEach((t=>{e.push(`item://${encodeURIComponent(ItemType.LAYER_EXTENSION)}/${encodeURIComponent(t.id)}`)})),e}}class BasemapExtensionCollection extends InitializableCollectionProxy{constructor(e){super(new Collection),this.isExplicitlyModified=!1,this._mapExtension=e}add(e,t){return super.add(e,t),this.isExplicitlyModified=!0,1===this.length&&this._mapExtension.map&&!this._mapExtension.basemapExtension&&(this._mapExtension.basemapExtension=e),this}addMany(e,t){return super.addMany(e,t),this.isExplicitlyModified=!0,this}addInternal(e,t,i=!0){const s=e=>{const t="-vector";return e?.endsWith(t)?e.substring(0,e.length-t.length):e};let a;if(e.basemap){const t=s(e.basemap.id);if(a=this.findIndex((e=>s(e.basemap?.id)===t)),isStandardBasemap(e.basemap)&&a>=0){if(!i)return;super.removeAt(a)}}super.add(e,t??(a>=0?a:void 0))}removeAt(e){const t=super.removeAt(e);return t&&(this.isExplicitlyModified=!0,t===this._mapExtension.basemapExtension&&(e<this.length?this._mapExtension.basemapExtension=this.getItemAt(e):this.length?this._mapExtension.basemapExtension=this.getItemAt(e-1):this._mapExtension.basemapExtension=void 0)),t}removeAll(){this._mapExtension.basemapExtension=void 0,super.removeAll()}removeAtInternal(e){return super.removeAt(e)}removeAllInternal(){for(;this.length;)this.removeAtInternal(this.length-1)}reorder(e,t){return super.reorder(e,t),this.isExplicitlyModified=!0,e}reorderInternal(e,t){return super.reorder(e,t)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.basemap}}class TableExtensionCollectionImpl extends InitializableCollectionProxy{constructor(e){super(),this._tableExtensionMap=new WeakMap,this._uninitializedTableExtensions=new Set,this._mapExtension=e,onCollectionPropertyChange(this._mapExtension,"map.tables",(e=>{const t={added:(e.added||[]).map((e=>this._forTable(e))),moved:(e.moved||[]).map((e=>this._forTable(e))),removed:(e.removed||[]).map((e=>this._forTable(e))),target:this};this.emit("change",t)})),this._mapExtension.watch("map.tables.length",(()=>this.notifyChange("length")))}get _collection(){return this._tables.map((e=>this._forTable(e))).concat(Array.from(this._uninitializedTableExtensions))}get _tables(){return this._mapExtension.map?.tables??new ReadOnlyCollection(new Collection)}toJSON(){const e=[];return this.forEach((t=>{e.push(`item://${encodeURIComponent(ItemType.TABLE_EXTENSION)}/${encodeURIComponent(t.id)}`)})),e}clone(){const e=new TableExtensionCollectionImpl(this._mapExtension);return e._tableExtensionMap=this._tableExtensionMap,e}findById(e){return checkArg("id",e).isNotMissing(),this.find((t=>t.id===e))}findByTableId(e){return checkArg("id",e).isNotMissing(),this.find((t=>t.table.id===e))}forTable(e){if(checkArg("table",e).isNotMissing(),this._tables.includes(e))return this._forTable(e)}add(e,t){if(checkArg("tableX",e).isNotMissing(),e.mapExtension&&e.mapExtension.tableExtensions.remove(e),e._setMapExtension(this._mapExtension),e.table){const i=this._tableExtensionMap.get(e.table);if(this._tableExtensionMap.set(e.table,e),i&&i!==e&&this._onRemoved(i),this._tables.includes(e.table))if(void 0===t){const t={added:[e],moved:[],removed:i?[i]:[],target:this};this.emit("change",t)}else this._tables.reorder(e.table,t);else this._tables.add(e.table,t)}else{this._uninitializedTableExtensions.add(e);const t={added:[e],moved:[],removed:[],target:this};this.emit("change",t)}return this._onAdded(e),this}removeAt(e){const t=this.getItemAt(e);if(void 0!==t){if(this._uninitializedTableExtensions.has(t)){this._uninitializedTableExtensions.delete(t);const e={added:[],moved:[],removed:[t],target:this};this.emit("change",e)}else this._tables.remove(t.table);return this._onRemoved(t),t}}reorder(e,t){if(e&&this._tables.includes(e.table))return this._tables.reorder(e.table,t),e}sort(e){return this._tables.sort(((t,i)=>e(this._forTable(t),this._forTable(i)))),this}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.table}_onAdded(e){}_onRemoved(e){e._setMapExtension(void 0)}_forTable(e){for(const e of this._uninitializedTableExtensions)e._resolveTable(),e.table&&(this._tableExtensionMap.set(e.table,e),this._uninitializedTableExtensions.delete(e));if(!this._tableExtensionMap.has(e)){const t=TableExtension.create({table:e});this._tableExtensionMap.set(e,t),t._setMapExtension(this._mapExtension),this._onAdded(t)}return this._tableExtensionMap.get(e)}}class AllLayerExtensionCollectionImpl extends ReadOnlyInitializableCollection{constructor(e){super(),this._mapExtension=e}get _collection(){let e=this._mapExtension.layerExtensions.flatten((e=>isGroupLayerExtension(e)?e.layerExtensions:[]));return this._mapExtension.basemapExtension&&(e=e.concat(this._mapExtension.basemapExtension.baseLayerExtensions.toArray()).concat(this._mapExtension.basemapExtension.referenceLayerExtensions.toArray())),e=e.concat(this._mapExtension.groundExtension.layerExtensions.toArray()),e}findById(e){return checkArg("id",e).isNotMissing(),this.find((t=>t.id===e))}findByLayerId(e){return checkArg("id",e).isNotMissing(),this.find((t=>t.layer.id===e))}forLayer(e){return checkArg("layer",e).isNotMissing(),this.findByLayerId(e.id)}emit(e,t){if("change"===e){const i=new Collection;i.addMany(t.added);const s=i.flatten((e=>isGroupLayerExtension(e)?e.layerExtensions:[])).toArray(),a=new Collection;a.addMany(t.removed);const n=a.flatten((e=>isGroupLayerExtension(e)?e.layerExtensions:[])).toArray(),r=new Collection;r.addMany(t.moved);const o=r.flatten((e=>isGroupLayerExtension(e)?e.layerExtensions:[])).toArray();super.emit(e,{added:s,removed:n,moved:o,target:this})}return super.emit(e,t)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.layer}}function toPortalItem(e){if("object"!=typeof e||!e||!e.baseMap)return toPortalItemBase(e)}function isPortalItem(e){return"object"!=typeof e||e&&!e.baseMap}function validatePortalItem(e,t,i){if(e?.type&&e.type!==i)throw new Error(`Invalid portal item type "${e.type}" for property ${t}.`)}
1
+ import{__decorate as e}from"tslib";import{ArgumentError as t}from"../ArgumentError.js";import{EntityBase as i}from"../Entity.js";import{InvalidOperationError as s}from"../InvalidOperationError.js";import{isBasemapExtension as a,isBookmark as n,isGroundExtension as r,isLayerPreset as o,isMenu as p,isTableExtension as h,ItemType as l}from"../ItemType.js";import{TableExtension as m}from"../data/TableExtension.js";import{LayerPreset as d}from"../layer-preset/LayerPreset.js";import{Menu as c}from"../menus/Menu.js";import{WebMap as b}from"../portal/WebMap.js";import{WebScene as _}from"../portal/WebScene.js";import{resolveRelativeHrefs as y}from"../portal/_utils.js";import{DefaultArcGISRequestHelper as u}from"../support/ArcGISRequestHelper.js";import{FormatSettings as f}from"../support/FormatSettings.js";import{InitializableCollectionProxy as w}from"../support/InitializableCollectionProxy.js";import{ReadOnlyInitializableCollection as E}from"../support/ReadOnlyInitializableCollection.js";import{serializable as x}from"../support/Serializable.js";import{WellKnownBasemap as M}from"../support/esri.js";import{ReadOnlyCollection as g}from"../utilities/ReadOnlyCollection.js";import{basemapsAreEquivalent as I,createStandardBasemap as S,isStandardBasemap as v}from"../utilities/basemaps.js";import{checkArg as T}from"../utilities/checkArg.js";import{Collection as A,compare as P}from"../utilities/collection.js";import{load as z}from"../utilities/esri.js";import{isGroupLayerExtension as O}from"../utilities/extensions.js";import{project as L}from"../utilities/geometry.js";import{find as C}from"../utilities/iterable.js";import{layersAreEquivalent as V}from"../utilities/layers.js";import{getLogger as j}from"../utilities/log.js";import{getMapSpatialReference as k,isMap as B,isWebMap as R,isWebScene as N}from"../utilities/mapping.js";import{toPortalItem as G}from"../utilities/portal.js";import{parallelEach as W}from"../utilities/promise.js";import{onCollectionPropertyChange as D,onEach as $}from"../utilities/watch.js";import{BasemapExtension as q}from"./BasemapExtension.js";import{Bookmark as H}from"./Bookmark.js";import{GroundExtension as F}from"./GroundExtension.js";import{MapConstraints as U}from"./MapConstraints.js";import{UnsupportedLayerExtension as J}from"./UnsupportedLayerExtension.js";import{_assignLayerExtensions as X,LayerExtension as Y}from"./_LayerExtension.js";import{LayerExtensionCollectionBase as K}from"./support/_LayerExtensionCollection.js";const Q=j("MapExtension");let Z=class extends i{get webMap(){return this._webMap}get webScene(){return this._webScene}get map(){return this._currentMap}get viewMode(){return this.map?N(this.map)?"scene":"map":this.initialViewMode}get initialViewMode(){return this.webMap&&this.webScene?this._initialViewMode||"map":N(this.map)||this.webScene&&!this.webMap?"scene":"map"}set initialViewMode(e){this._initialViewMode=e}get requestHelper(){return this._requestHelper||(this._requestHelper=new u),this._requestHelper}set requestHelper(e){this._requestHelper=e}get basemapExtension(){return this._basemapExtension}set basemapExtension(e){const t=this._basemapExtension;if(t!==e)if(t&&t._setMapExtension(void 0),e){if(e._setMapExtension(this),this.isInitialized&&!e.basemap){if(e.isInitialized)throw e._setMapExtension(void 0),new s("Cannot set MapExtension.basemapExtension without a valid Esri Basemap object");e.initialize()}this._ensureIsBasemapOption(e),this.map&&e.basemap&&e.basemap!==this.map.basemap?this.map.basemap=e.basemap:this._basemapExtension=e}else this.map.basemap=void 0,this._basemapExtension=void 0}get groundExtension(){return this._groundExtension||(this.groundExtension=new F({ground:this.map?.ground})),this._groundExtension}set groundExtension(e){if(!e)throw new s("Cannot set map.ground to undefined");const t=this._groundExtension;t!==e&&(t&&t._setMapExtension(void 0),e._setMapExtension(this),e._resolveGround(),e.ground?(this._groundExtensions.set(e.ground,e),this.map&&e.ground!==this.map.ground?this.map.ground=e.ground:this._groundExtension=e):this._groundExtension=e)}get basemapOptions(){return this._basemapOptions}get bookmarks(){return this._bookmarks}get initialBasemapExtension(){return this._initialBasemapExtension}get initialLayerPreset(){return this._initialLayerPreset}set initialLayerPreset(e){if(!e)return void(this._initialLayerPreset=void 0);const t=o(e)?e:new d(e);this._initialLayerPreset=t}get _spatialReference(){return k(this.map)}get webMapItemTitle(){if(this._webMapItem)return this._webMapItem.title}get webSceneItemTitle(){if(this._webSceneItem)return this._webSceneItem.title}get title(){return this._title?this._title:this._webMapItem&&"map"===this.viewMode?this.webMapItemTitle:this._webSceneItem&&"scene"===this.viewMode?this.webSceneItemTitle:void 0}set title(e){this._title=e}get contextMenu(){return this._contextMenu}set contextMenu(e){this._contextMenu=e,e&&this.isInitialized&&!e.isInitialized&&(async()=>{try{await e.initialize()}catch(e){e instanceof Error&&Q.error({message:"An error occurred while initializing context menu.",error:e})}})()}get _allLayerViews(){const e=t=>{const i=[t];return A.isCollection(t.sublayerViews)?i.push(...t.sublayerViews.toArray().flatMap(e)):A.isCollection(t.layerViews)&&i.push(...t.layerViews.toArray().flatMap(e)),i};return this._layerViews.toArray().flatMap(e)}get layerExtensions(){return this._layerExtensions}constructor(e){super(e),this.isSwitchingMap=!1,this._layerViews=new A,this._itemType=l.MAP_EXTENSION,this._skipBasemapOptions=!1;let i={...e};this._basemapOptions=new te(this),this._groundExtensions=new WeakMap,this._layerExtensions=this._createLayerExtensionCollection(),this.tableExtensions=this._createTableExtensionCollection(),this.formatSettings=this._createFormatSettings(),this._bookmarks=new A,this.constraints=new U,this.watch(["_map","_scene"],(e=>{e&&($(e.layers,"layerview-create",(e=>{this._layerViews.add(e.layerView)})),$(e.layers,"layerview-destroy",(e=>{this._layerViews.remove(e.layerView)})))}));const{webMap:s,webScene:a,initialViewMode:n,map:r,basemapOptions:o}=i;if(this._webMap=s,this._webScene=a,this._webMapItem=ae(s),this._webSceneItem=ae(a),this.initialViewMode=n,N(r)&&a)throw new t("Cannot specify webScene property if map is initialized to a WebScene instance.");if(B(r)&&s)throw new t("Cannot specify webMap property if map is initialized to a 2D Map instance.");if(N(r)||R(r)||B(r))this.assignProperties({basemapOptions:o}),this._skipBasemapOptions=!!o;else{const{map:e,layerExtensions:t,tableExtensions:s,groundExtension:a,basemapOptions:n,basemapExtension:r,...o}=i;this._deferredProperties={map:e,layerExtensions:t,tableExtensions:s,groundExtension:a,basemapOptions:n,basemapExtension:r},i=o,n&&(this._skipBasemapOptions=!0)}this._initMapFromProperties(i),this.watch("map.basemap",(()=>this._onBasemapChange()),!0),this.watch("map.ground",(()=>this._onGroundChange()),!0),this.allLayerExtensions=new se(this),this.map?.basemap&&this._onBasemapChange()}getAllFeatureSources(e=(()=>!0)){const t=[],i=a=>{a.hasFeatures&&t.push(a);for(const t of a.sublayerExtensions.initializedItems.filter(e).toArray())s(t);if(O(a))for(const t of a.layerExtensions.initializedItems.filter(e).toArray())i(t)},s=i=>{t.push(i);for(const t of i.sublayerExtensions.initializedItems.filter(e).toArray())s(t)};for(const t of this.layerExtensions.initializedItems.filter(e).toArray())i(t);for(const i of this.tableExtensions.initializedItems.filter(e).toArray())t.push(i);if(this.basemapExtension){for(const t of this.basemapExtension.baseLayerExtensions.initializedItems.filter(e).toArray())i(t);for(const t of this.basemapExtension.referenceLayerExtensions.initializedItems.filter(e).toArray())i(t)}return t}isSupportedViewMode(e){return e===this.viewMode||!(!this.webMap&&!this.webScene)&&("scene"===e?!!this.webScene:!!this.webMap)}async switchViewMode(e){if(T("viewMode",e).isNotMissing().satisfies((e=>this.isSupportedViewMode(e)),"Unsupported view mode."),this.viewMode===e)return;let t;"scene"===e?(await this._createScene(),t=this._scene):(await this._createMap(),t=this._map),t.basemap=this.map.basemap,await this.switchMap(t),this.notifyChange("viewMode"),this.notifyChange("title")}async switchMap(e){if(T("newMap",e).isNotMissing(),e===this.map)return;if(!this.map)return void this._setMap(e);this.isSwitchingMap=!0,this.isInitialized&&await z(e);const t=new Map;this.map.layers.forEach((e=>t.set(e,this.layerExtensions.forLayer(e))));const{basemapExtension:i}=this;this._setMap(e),this._updateBookmarks();const s=[];for(const e of this.map.layers.toArray()){const i=C(t.entries(),(([t])=>V(t,e)));if(i)s.push((async()=>{const t=i[1];await t._switchLayer(e),this._layerExtensions._register(t)})());else{const t=this._layerExtensions._forLayer(e);t?.layer!==e&&s.push(t._switchLayer(e))}}this.map.basemap&&i&&I(this.map.basemap,i.basemap)&&s.push((async()=>{await i._switchBasemap(this.map.basemap),this.basemapExtension=i})()),this.isInitialized&&s.push(this._initializeChildren()),await Promise.all(s),this.isSwitchingMap=!1}async setWebMap(e){if(!e&&this.webMap&&!this.webScene)throw new s("Cannot unset both webMap and webScene.");this._webMap=e,this._map=void 0,this._createMapPromise=void 0,this._webMapItem=ae(e),await z(this._webMapItem),"map"===this.viewMode&&(e?(this._basemapOptions.isExplicitlyModified||this._basemapOptions.removeAllInternal(),await this._createMap(),await this.switchMap(this._map),await this._createStandardBasemapOptions(),this._basemapOptions.reorderInternal(this.basemapExtension,0),this._initialBasemapExtension=this.basemapExtension):await this.switchViewMode("scene")),this.notifyChange("webMap"),this.notifyChange("initialViewMode"),this.notifyChange("title")}async setWebScene(e){if(!e&&this.webScene&&!this.webMap)throw new s("Cannot unset both webMap and webScene.");this._webScene=e,this._scene=void 0,this._createScenePromise=void 0,this._webSceneItem=ae(e),await z(this._webSceneItem),"scene"===this.viewMode&&(e?(this._basemapOptions.isExplicitlyModified||this._basemapOptions.removeAllInternal(),await this._createScene(),await this.switchMap(this._scene),await this._createStandardBasemapOptions(),this._basemapOptions.reorderInternal(this.basemapExtension,0),this._initialBasemapExtension=this.basemapExtension):await this.switchViewMode("map")),this.notifyChange("webScene"),this.notifyChange("initialViewMode"),this.notifyChange("title")}getDefaults(){const e=super.getDefaults();return e.initialViewMode="map",e}async _createScene(){if(!this._scene&&this.webScene)return this._createScenePromise=this._createScenePromise??(async()=>{if(ne(this.webScene)){const e=new((await import("@arcgis/core/WebScene")).default);await this._loadAndApplyPortalItemData(this._webSceneItem,e),this._scene=e}else this._scene=await _.toEsriApiWebScene(this.webScene)})()}async _createMap(){if(!this._map&&this.webMap)return this._createMapPromise=this._createMapPromise??(async()=>{if(ne(this.webMap)){const e=new((await import("@arcgis/core/WebMap")).default);await this._loadAndApplyPortalItemData(this._webMapItem,e),this._map=e}else this._map=await b.toEsriApiWebMap(this.webMap)})()}_getSerializableProperties(){return{...super._getSerializableProperties(),layerExtensions:{serializeModes:["initial","project"],deserialize:e=>{if(this.map&&e){const t=("map"===this.viewMode?this._scene:this._map)?.layers.toArray()??[],i=e.filter((e=>!t.includes(e.layer)&&!t.some((t=>e.layer&&(Y._matchesRef(t,e.layer)||V(t,e.layer))))));X(this.layerExtensions,i)}},serialize:e=>{if(this._deferredProperties?.layerExtensions)return this._deferredProperties.layerExtensions;{const t="map"===this.viewMode,i=(t?this._map:this._scene)?.layers.toArray();let s=(t?this._scene:this._map)?.layers.toArray()??[];return s=s.filter((e=>!i.find((t=>V(t,e))))),this.layerExtensions.concat(s.map((e=>this._layerExtensions._forLayer(e)))).filter((t=>!(t instanceof J||"initial"===e)||!t.dynamicallyAddedLayer)).toArray()}}},tableExtensions:{serializeModes:["initial","project"],deserialize:e=>{this.map?P(this.tableExtensions,e,{onNew:(e,t)=>{this.tableExtensions.add(h(e)?e:m.create(e),t)},onMatch:(e,t,i,s)=>{h(t)||e.assignProperties(t),i!==s&&this.tableExtensions.reorder(e,s)},equals:(e,t)=>h(t)?t===e:!!m._matchesRef(e,t.table)||e.id===t.id}):this._deferredProperties={...this._deferredProperties,tableExtensions:e}},serialize:()=>this._deferredProperties?.tableExtensions?this._deferredProperties?.tableExtensions:this.tableExtensions.toArray()},basemapExtension:{serializeModes:["project"],deserialize:e=>{this.map?e?a(e)?this.basemapExtension=e:this.basemapExtension?this.basemapExtension.assignProperties(e):this.basemapExtension=q.create(e):this.basemapExtension=void 0:this._deferredProperties={...this._deferredProperties,basemapExtension:e}},serialize:()=>this._deferredProperties?.basemapExtension?this._deferredProperties?.basemapExtension:this.basemapExtension},basemapOptions:{serializeModes:["initial"],deserialize:e=>{this._skipBasemapOptions?this._skipBasemapOptions=!1:(P(this.basemapOptions,e,{onNew:(e,t)=>{this.basemapOptions.add(a(e)?e:q.create(e),t)},onMatch:(e,t,i,s)=>{a(t)||e.assignProperties(t),i!==s&&this.basemapOptions.reorder(e,s)},onMissing:e=>{this.basemapOptions.remove(e)},equals:(e,t)=>{if(a(t))return t===e;if(e.id&&t.id)return e.id===t.id;{const i=e.toJSON();return I(i.basemap,t.basemap||t.baseMap)}}}),this.basemapExtension&&this._ensureIsBasemapOption(this.basemapExtension),this.isInitialized&&W(this.basemapOptions.toArray(),(e=>e._createBackingBasemap())))},serialize:()=>this._deferredProperties?.basemapOptions?this._deferredProperties?.basemapOptions:this.basemapOptions.toArray()},groundExtension:{serializeModes:["initial"],deserialize:e=>{this.map?r(e)?this.groundExtension=e:this.groundExtension.assignProperties(e):this._deferredProperties={...this._deferredProperties,groundExtension:e}},serialize:()=>this._deferredProperties?.groundExtension?this._deferredProperties?.groundExtension:this.groundExtension},bookmarks:{serialize:()=>this.bookmarks.map((e=>e.toJSON())).toArray(),deserialize:e=>{this.bookmarks.addMany(e.map((e=>n(e)?e:new H(e))))}},webMap:{serializeModes:["initial"],deserialize:!1},webScene:{serializeModes:["initial"],deserialize:!1},initialLayerPreset:"initial",initialViewMode:{serializeModes:["initial","project"],serialize:e=>"project"===e?this.viewMode:"scene"!==this.initialViewMode||!this.webScene&&this.webMap?"map":"scene",deserialize:e=>{this.viewMode!==e&&(this._deserializedViewMode=e),this._initialViewMode=e},isDefault:(e,t)=>"project"!==t&&"map"===e},formatSettings:"initial",constraints:"initial",title:"initial",onClick:"initial",onHover:"initial",onHoverEnd:"initial",onInitialized:"initial",onViewpointChanged:"initial",contextMenu:{serializeModes:["initial"],deserialize:e=>{e?p(e)?this.contextMenu=e:this.contextMenu?this.contextMenu.assignProperties(e):this.contextMenu=c.create(e):this.contextMenu=void 0}},map:{serializeModes:["project"],serialize:()=>({operationalLayers:this.layerExtensions.toArray().filter((e=>e.layer)).map((e=>e._getProjectWebmapJSON())),tables:this.tableExtensions.toArray().filter((e=>e.table)).map((e=>({id:e.table.id,title:e.table.title})))}),deserialize:e=>{if(this.map)if(B(e)||R(e)||N(e)){if(e!==this.map)throw new t("properties.map","Property 'map' is read-only.")}else this._deserializedMapPromise=(async()=>{this._deserializedViewMode&&this.webMap&&this.webScene&&(this._deserializedViewModePromise=this.switchViewMode(this._deserializedViewMode),await this._deserializedViewModePromise,this._deserializedViewMode=void 0,this._deserializedViewModePromise=void 0),await this._applyMapProperties(e,this.map),this._deserializedMapPromise=void 0})();else this._deferredProperties={...this._deferredProperties,map:e}}},requestHelper:{serialize:!1}}}async _applyMapProperties(e,t,i){await W(this.basemapOptions.toArray(),(e=>e._createBackingBasemap()));let s=e;const a=this.basemapOptions.find((e=>I(e.basemap,s.baseMap)));a&&(t.basemap=a.basemap,s={...s,baseMap:{...s.baseMap,title:t.basemap.title}}),N(t)?await _.applyToEsriApiWebScene(s,t,i):await b.applyToEsriApiMap(s,t,i)}_createFormatSettings(){return new f}_createLayerExtensionCollection(){return new ee(this)}_createTableExtensionCollection(){return new ie(this)}async _onInitialize(){await super._onInitialize();const{basemapExtension:e,basemapOptions:t,groundExtension:i,webMap:s,webScene:a,map:n,...r}=this._deferredProperties??{};if(t&&this.assignProperties({basemapOptions:t}),this.map||("scene"===this.initialViewMode?this._setMap(new((await import("@arcgis/core/WebScene")).default)):this._setMap(new((await import("@arcgis/core/WebMap")).default))),this.map.basemap&&this._onBasemapChange(),(s||a)&&await this._applyMapProperties("scene"===this.initialViewMode?a:s,this.map),e&&(this.assignProperties({basemapExtension:e}),await this.basemapExtension._createBackingBasemap()),i&&this.assignProperties({groundExtension:i}),this._webMapItem||this._webSceneItem){await Promise.all([z(this.map),z(this._webMapItem),z(this._webSceneItem)]),re(this._webMapItem,"webMap","Web Map"),re(this._webSceneItem,"webScene","Web Scene");const e=N(this.map)?this._webSceneItem:this._webMapItem;await this._loadAndApplyPortalItemData(e)}else await z(this.map);n&&await this._applyMapProperties(n,this.map),this.assignProperties(r),this._deferredProperties=void 0,this._initialBasemapExtension=this.basemapExtension,this._updateBookmarks(),this.contextMenu&&await this.contextMenu.initialize();for(const e of this.layerExtensions.toArray())await e._createBackingLayer();await Promise.all(this.tableExtensions.map((e=>e._createBackingTable())).toArray())}async _postInitialize(){await super._postInitialize(),await this._createStandardBasemapOptions(),await W(this.basemapOptions.toArray(),(e=>e._createBackingBasemap())),this.initialLayerPreset&&await this.initialLayerPreset.applyTo(this)}*_initializableChildCollections(){yield*super._initializableChildCollections();const e=new A(this.layerExtensions.filter((e=>!!e.layer)));e.remove=e=>{this.layerExtensions.remove(e)};const t=new A(this.tableExtensions.filter((e=>!!e.table)));if(t.remove=e=>{this.tableExtensions.remove(e)},yield e,yield t,this.basemapExtension){const e=new A;e.add(this.basemapExtension),yield e}const i=new A;i.add(this.groundExtension),yield i}_initMapFromProperties(e){const t=e.map;B(t)||R(t)||N(t)?this._setMap(t):"scene"===this.initialViewMode?e.webScene&&!ne(e.webScene)&&(this._deferredProperties={webScene:e.webScene,...this._deferredProperties}):e.webMap&&!ne(e.webMap)&&(this._deferredProperties={webMap:e.webMap,...this._deferredProperties})}_setMap(e){N(e)?this._scene=e:this._map=e,this._currentMap=e,this.basemapExtension?.basemap&&!e.basemap&&(e.basemap=this.basemapExtension.basemap),this.groundExtension?.ground&&!e.ground&&(e.ground=this.groundExtension.ground),this.notifyChange("map")}async _loadAndApplyPortalItemData(e,t){await z(e);const i=await e.fetchData();y(i,e),await this._inferLayerTypes(i),this.basemapExtension?.basemap&&!t&&delete i.baseMap,F.isDefaultGround(this.groundExtension.ground)||t||delete i.ground;const s=t||this.map;await z(s),await this._applyMapProperties(i,s,e),s.portalItem=e;const{viewpoint:a,spatialReference:n}=s.initialViewProperties;a&&a.targetGeometry&&!a.targetGeometry.spatialReference.equals(n)&&(s.initialViewProperties.viewpoint.targetGeometry=(await L([a.targetGeometry],n))[0]),a&&a.camera&&(a.camera.position.spatialReference=n.clone())}_onBasemapChange(){if(this._basemapExtension){if(this.basemapExtension.basemap==this.map.basemap)return;this._basemapExtension._setMapExtension(void 0)}if(this.map.basemap){let e=this.basemapOptions.find((e=>e.basemap===this.map.basemap));e||(e=q.create({basemap:this.map.basemap}),this._basemapOptions.addInternal(e,0)),e.mapExtension!==this&&e._setMapExtension(this),this._basemapExtension=e}else this._basemapExtension=void 0;this.notifyChange("basemapExtension")}_onGroundChange(){if(this._groundExtension){if(this.groundExtension.ground===this.map.ground)return void(this._groundExtensions.has(this.map.ground)||this._groundExtensions.set(this.map.ground,this.groundExtension));this.groundExtension._setMapExtension(void 0)}this._groundExtensions.has(this.map.ground)||this._groundExtensions.set(this.map.ground,new F({ground:this.map.ground}));const e=this._groundExtensions.get(this.map.ground);e.mapExtension!==this&&e._setMapExtension(this),this._groundExtension=e,this.notifyChange("groundExtension")}async _inferLayerTypes(e){const t=[];if(e.operationalLayers)for(const i of e.operationalLayers)t.push(this._inferLayerType(i));if(e.baseMap&&t.push(this._inferBasemapLayerTypes(e.baseMap)),e.hasOwnProperty("ground")&&t.push(this._inferGroundLayerTypes(e.ground)),e.presentation?.slides)for(const i of e.presentation.slides)i.baseMap&&"string"!=typeof i.baseMap&&t.push(this._inferBasemapLayerTypes(i.baseMap));await Promise.all(t)}async _inferBasemapLayerTypes(e){const t=[];if(e.baseMapLayers)for(const i of e.baseMapLayers)t.push(this._inferLayerType(i));await Promise.all(t)}async _inferGroundLayerTypes(e){const t=[];if(e.layers)for(const i of e.layers)t.push(this._inferLayerType(i));await Promise.all(t)}async _inferLayerType(e){if(!e.layerType)if(e.type)e.layerType=e.type;else if(e.url){const t=e.url;if(t.match(".*MapServer/\\d{1,}/?$")||t.match(".*FeatureServer/\\d{1,}/?$"))e.layerType="ArcGISFeatureLayer";else if(t.match(".*StreamServer/?$"))e.layerType="ArcGISStreamLayer";else if(t.match(".*ImageServer/?$")){const i=await this._getLayerData(t);i.cacheType?"Map"===i.cacheType?e.layerType="ArcGISTiledImageServiceLayer":"Elevation"===i.cacheType&&(e.layerType="ArcGISTiledElevationServiceLayer"):e.layerType="ArcGISImageServiceLayer"}else if(t.match(".*MapServer/?$")){const i=await this._getLayerData(t);e.layerType=i.tileInfo?"ArcGISTiledMapServiceLayer":"ArcGISMapServiceLayer"}else if(t.match(".*\\.(csv|txt)$"))e.layerType="CSV";else if(t.match(".*\\.kml$"))e.layerType="KML";else if(t.match(".*SceneServer/layers/\\d{1,}/?$")){const i=await this._getLayerData(t);"3DObject"===i.layerType?e.layerType="ArcGISSceneServiceLayer":"IntegratedMesh"===i.layerType?e.layerType="IntegratedMeshLayer":"PointCloud"===i.layerType&&(e.layerType="PointCloudLayer")}else t.match(".*(\\.xml|rss/?)$")&&(e.layerType="GeoRSS")}else if(e.layers){e.layerType="GroupLayer";const t=[];for(const i of e.layers)t.push(this._inferLayerType(i));await Promise.all(t)}else e.templateUrl&&e.tileInfo?e.layerType="WebTiledLayer":e.featureCollection?e.layerType="ArcGISFeatureLayer":e.styleUrl?e.layerType="VectorTileLayer":e.mapUrl&&(e.layerType="WMS")}async _getLayerData(e){const t=await this.requestHelper.request(e,{query:{f:"json"}});if(!t?.data)throw new Error(`Response to request for url ${e} was invalid.`);return t.data}async _createStandardBasemapOptions(){const e=this._spatialReference;!this._basemapOptions.isExplicitlyModified&&e&&e.isWebMercator&&await W([M.SATELLITE,M.HYBRID_VECTOR,M.STREETS_VECTOR,M.TOPO_VECTOR,M.STREETS_NAVIGATION_VECTOR,M.STREETS_NIGHT_VECTOR,M.TERRAIN_VECTOR,M.DARK_GRAY_VECTOR,M.GRAY_VECTOR,M.OCEANS_VECTOR,M.OPEN_STREET_MAP_VECTOR],(async e=>{const t=await S(e);I(this.map.basemap,t)?this._basemapOptions.addInternal(this.basemapExtension):this._basemapOptions.addInternal(q.create({basemap:t}),void 0,!1)}))}_ensureIsBasemapOption(e){const t=this.basemapOptions.findIndex((t=>t.basemap===e.basemap));t>=0?this._basemapOptions.getItemAt(t)!==e&&(this._basemapOptions.removeAtInternal(t),this._basemapOptions.addInternal(e,t)):this._basemapOptions.addInternal(e,0)}_updateBookmarks(){this.bookmarks.removeMany(this.bookmarks.filter((e=>"map"===e.source))),R(this.map)&&this.map.bookmarks?.length>0?this.map.bookmarks.forEach((e=>{this.bookmarks.add(new H({source:"map",title:e.name,viewpoint:e.viewpoint}))})):N(this.map)&&this.map.presentation?.slides?.length>0&&this.map.presentation.slides.forEach((e=>{const t={source:"map",title:e.title.text,viewpoint:e.viewpoint},i=new H(t);this.bookmarks.add(i)}))}};Z=e([x],Z);export{Z as MapExtension};class ee extends K{get _mapExtension(){return this._parent}constructor(e){super(e,"map.layers")}toJSON(){const e=[];return this.forEach((t=>{e.push(`item://${encodeURIComponent(l.LAYER_EXTENSION)}/${encodeURIComponent(t.id)}`)})),e}}class te extends w{constructor(e){super(new A),this.isExplicitlyModified=!1,this._mapExtension=e}add(e,t){return super.add(e,t),this.isExplicitlyModified=!0,1===this.length&&this._mapExtension.map&&!this._mapExtension.basemapExtension&&(this._mapExtension.basemapExtension=e),this}addMany(e,t){return super.addMany(e,t),this.isExplicitlyModified=!0,this}addInternal(e,t,i=!0){const s=e=>{const t="-vector";return e?.endsWith(t)?e.substring(0,e.length-t.length):e};let a;if(e.basemap){const t=s(e.basemap.id);if(a=this.findIndex((e=>s(e.basemap?.id)===t)),v(e.basemap)&&a>=0){if(!i)return;super.removeAt(a)}}super.add(e,t??(a>=0?a:void 0))}removeAt(e){const t=super.removeAt(e);return t&&(this.isExplicitlyModified=!0,t===this._mapExtension.basemapExtension&&(e<this.length?this._mapExtension.basemapExtension=this.getItemAt(e):this.length?this._mapExtension.basemapExtension=this.getItemAt(e-1):this._mapExtension.basemapExtension=void 0)),t}removeAll(){this._mapExtension.basemapExtension=void 0,super.removeAll()}removeAtInternal(e){return super.removeAt(e)}removeAllInternal(){for(;this.length;)this.removeAtInternal(this.length-1)}reorder(e,t){return super.reorder(e,t),this.isExplicitlyModified=!0,e}reorderInternal(e,t){return super.reorder(e,t)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.basemap}}class ie extends w{get _collection(){return this._tables.map((e=>this._forTable(e))).concat(Array.from(this._uninitializedTableExtensions))}get _tables(){return this._mapExtension.map?.tables??new g(new A)}constructor(e){super(),this._tableExtensionMap=new WeakMap,this._uninitializedTableExtensions=new Set,this._mapExtension=e,D(this._mapExtension,"map.tables",(e=>{const t={added:(e.added||[]).map((e=>this._forTable(e))),moved:(e.moved||[]).map((e=>this._forTable(e))),removed:(e.removed||[]).map((e=>this._forTable(e))),target:this};this.emit("change",t)})),this._mapExtension.watch("map.tables.length",(()=>this.notifyChange("length")))}toJSON(){const e=[];return this.forEach((t=>{e.push(`item://${encodeURIComponent(l.TABLE_EXTENSION)}/${encodeURIComponent(t.id)}`)})),e}clone(){const e=new ie(this._mapExtension);return e._tableExtensionMap=this._tableExtensionMap,e}findById(e){return T("id",e).isNotMissing(),this.find((t=>t.id===e))}findByTableId(e){return T("id",e).isNotMissing(),this.find((t=>t.table.id===e))}forTable(e){if(T("table",e).isNotMissing(),this._tables.includes(e))return this._forTable(e)}add(e,t){if(T("tableX",e).isNotMissing(),e.mapExtension&&e.mapExtension.tableExtensions.remove(e),e._setMapExtension(this._mapExtension),e.table){const i=this._tableExtensionMap.get(e.table);if(this._tableExtensionMap.set(e.table,e),i&&i!==e&&this._onRemoved(i),this._tables.includes(e.table))if(void 0===t){const t={added:[e],moved:[],removed:i?[i]:[],target:this};this.emit("change",t)}else this._tables.reorder(e.table,t);else this._tables.add(e.table,t)}else{this._uninitializedTableExtensions.add(e);const t={added:[e],moved:[],removed:[],target:this};this.emit("change",t)}return this._onAdded(e),this}removeAt(e){const t=this.getItemAt(e);if(void 0!==t){if(this._uninitializedTableExtensions.has(t)){this._uninitializedTableExtensions.delete(t);const e={added:[],moved:[],removed:[t],target:this};this.emit("change",e)}else this._tables.remove(t.table);return this._onRemoved(t),t}}reorder(e,t){if(e&&this._tables.includes(e.table))return this._tables.reorder(e.table,t),e}sort(e){return this._tables.sort(((t,i)=>e(this._forTable(t),this._forTable(i)))),this}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.table}_onAdded(e){}_onRemoved(e){e._setMapExtension(void 0)}_forTable(e){for(const e of this._uninitializedTableExtensions)e._resolveTable(),e.table&&(this._tableExtensionMap.set(e.table,e),this._uninitializedTableExtensions.delete(e));if(!this._tableExtensionMap.has(e)){const t=m.create({table:e});this._tableExtensionMap.set(e,t),t._setMapExtension(this._mapExtension),this._onAdded(t)}return this._tableExtensionMap.get(e)}}class se extends E{get _collection(){let e=this._mapExtension.layerExtensions.flatten((e=>O(e)?e.layerExtensions:[]));return this._mapExtension.basemapExtension&&(e=e.concat(this._mapExtension.basemapExtension.baseLayerExtensions.toArray()).concat(this._mapExtension.basemapExtension.referenceLayerExtensions.toArray())),e=e.concat(this._mapExtension.groundExtension.layerExtensions.toArray()),e}constructor(e){super(),this._mapExtension=e}findById(e){return T("id",e).isNotMissing(),this.find((t=>t.id===e))}findByLayerId(e){return T("id",e).isNotMissing(),this.find((t=>t.layer.id===e))}forLayer(e){return T("layer",e).isNotMissing(),this.findByLayerId(e.id)}emit(e,t){if("change"===e){const i=new A;i.addMany(t.added);const s=i.flatten((e=>O(e)?e.layerExtensions:[])).toArray(),a=new A;a.addMany(t.removed);const n=a.flatten((e=>O(e)?e.layerExtensions:[])).toArray(),r=new A;r.addMany(t.moved);const o=r.flatten((e=>O(e)?e.layerExtensions:[])).toArray();super.emit(e,{added:s,removed:n,moved:o,target:this})}return super.emit(e,t)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.layer}}function ae(e){if("object"!=typeof e||!e||!e.baseMap)return G(e)}function ne(e){return"object"!=typeof e||e&&!e.baseMap}function re(e,t,i){if(e?.type&&e.type!==i)throw new Error(`Invalid portal item type "${e.type}" for property ${t}.`)}
@@ -11,7 +11,7 @@ import { LayerExtension, LayerExtensionProperties, LayerProperties } from "./_La
11
11
  * Properties that can be specified for the
12
12
  * {@link MapImageLayerExtensionProperties.layer} property.
13
13
  */
14
- export declare type MapImageLayerProperties = PortalMapServiceLayer & LayerProperties;
14
+ export type MapImageLayerProperties = PortalMapServiceLayer & LayerProperties;
15
15
  /**
16
16
  * Properties that can be passed into the constructor for
17
17
  * {@link MapImageLayerExtension}.
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{MapServiceLayer as PortalMapServiceLayer}from"../portal/MapServiceLayer.js";import{serializable}from"../support/Serializable.js";import{isMapImageLayer}from"../utilities/_layers.js";import{MapImageSublayerExtension}from"./MapImageSublayerExtension.js";import{LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";let MapImageLayerExtension=class extends LayerExtension{get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get supportsSublayers(){return!0}get sublayersAreReadOnly(){const e=this.layer?.capabilities;return!e||!e.exportMap.supportsDynamicLayers}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{visibleLayers:r,layers:a}=PortalMapServiceLayer.fromEsriApiMapImageLayer(this.layer);return e.visibleLayers=r,a&&(e.layers=a.map((e=>{const{id:r,layerDefinition:a,parentLayerId:t}=e,i={id:r,parentLayerId:t},{definitionExpression:s,drawingInfo:n}=a??{};return s&&(i.layerDefinition={...i.layerDefinition,definitionExpression:s}),n&&this.layer?.capabilities?.exportMap?.supportsDynamicLayers&&(i.layerDefinition={...i.layerDefinition,drawingInfo:n}),i}))),e}_createSublayerExtension(e){return new MapImageSublayerExtension(e)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISMapServiceLayer"}}}}_isSupportedLayer(e){return isMapImageLayer(e)}_createSchema(){return new MapImageLayerSchema(this)}async _applyPortalItemProperties(e){if("Map Service"!==e.type)throw new Error(`Cannot create Map Image Layer from Portal item that has type: ${e.type}`);if(e.typeKeywords.includes("Tiled"))throw new Error("Cannot create Map Image Layer from Portal item that references Tile Map Service");const r={layerType:"ArcGISMapServiceLayer",url:e.url},a=await e.fetchData();return a?.layers&&(r.layers=a.layers),PortalMapServiceLayer.applyToEsriApiLayer(r,this.layer)}};MapImageLayerExtension=__decorate([serializable],MapImageLayerExtension);export{MapImageLayerExtension};let MapImageLayerSchema=class extends LayerExtensionSchema{_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0}}}};MapImageLayerSchema=__decorate([serializable],MapImageLayerSchema);
1
+ import{__decorate as e}from"tslib";import{MapServiceLayer as r}from"../portal/MapServiceLayer.js";import{serializable as a}from"../support/Serializable.js";import{isMapImageLayer as t}from"../utilities/_layers.js";import{MapImageSublayerExtension as i}from"./MapImageSublayerExtension.js";import{LayerExtension as s,LayerExtensionSchema as n}from"./_LayerExtension.js";let o=class extends s{get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get supportsSublayers(){return!0}get sublayersAreReadOnly(){const e=this.layer?.capabilities;return!e||!e.exportMap.supportsDynamicLayers}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{visibleLayers:a,layers:t}=r.fromEsriApiMapImageLayer(this.layer);return e.visibleLayers=a,t&&(e.layers=t.map((e=>{const{id:r,layerDefinition:a,parentLayerId:t}=e,i={id:r,parentLayerId:t},{definitionExpression:s,drawingInfo:n}=a??{};return s&&(i.layerDefinition={...i.layerDefinition,definitionExpression:s}),n&&this.layer?.capabilities?.exportMap?.supportsDynamicLayers&&(i.layerDefinition={...i.layerDefinition,drawingInfo:n}),i}))),e}_createSublayerExtension(e){return new i(e)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISMapServiceLayer"}}}}_isSupportedLayer(e){return t(e)}_createSchema(){return new p(this)}async _applyPortalItemProperties(e){if("Map Service"!==e.type)throw new Error(`Cannot create Map Image Layer from Portal item that has type: ${e.type}`);if(e.typeKeywords.includes("Tiled"))throw new Error("Cannot create Map Image Layer from Portal item that references Tile Map Service");const a={layerType:"ArcGISMapServiceLayer",url:e.url},t=await e.fetchData();return t?.layers&&(a.layers=t.layers),r.applyToEsriApiLayer(a,this.layer)}};o=e([a],o);export{o as MapImageLayerExtension};let p=class extends n{_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0}}}};p=e([a],p);
@@ -1 +1 @@
1
- var MapImageSublayerExtension_1;import{__decorate}from"tslib";import{serializable}from"../support/Serializable.js";import{ArcGISSublayerExtension}from"./ArcGISSublayerExtension.js";let MapImageSublayerExtension=MapImageSublayerExtension_1=class extends ArcGISSublayerExtension{get layerExtension(){return super.layerExtension}get sublayerExtensions(){return super.sublayerExtensions}get canChangeOpacity(){const e=this.layerExtension.layer.capabilities;return!(this.sublayerExtensions.length>0)&&e?.exportMap.supportsDynamicLayers}get canChangeRenderer(){return this.layerExtension.layer.capabilities?.exportMap.supportsDynamicLayers}get canChangeLabels(){return this.layerExtension.layer.capabilities?.exportMap.supportsDynamicLayers}async _switchSublayer(e){e.layer?.capabilities?.exportMap?.supportsDynamicLayers&&(e.labelsVisible=this.sublayer.labelsVisible),await super._switchSublayer(e)}async _onInitialize(){await super._onInitialize(),this.sublayer?.renderer&&"tile"!==this.sublayer?.layer?.type&&this.sublayer?.layer?.capabilities?.exportMap?.supportsDynamicLayers&&(this.sublayer.renderer=this.sublayer.renderer.clone())}_createSublayerExtension(e){return new MapImageSublayerExtension_1(e)}};MapImageSublayerExtension=MapImageSublayerExtension_1=__decorate([serializable],MapImageSublayerExtension);export{MapImageSublayerExtension};
1
+ var e;import{__decorate as r}from"tslib";import{serializable as s}from"../support/Serializable.js";import{ArcGISSublayerExtension as a}from"./ArcGISSublayerExtension.js";let t=e=class extends a{get layerExtension(){return super.layerExtension}get sublayerExtensions(){return super.sublayerExtensions}get canChangeOpacity(){const e=this.layerExtension.layer.capabilities;return!(this.sublayerExtensions.length>0)&&e?.exportMap.supportsDynamicLayers}get canChangeRenderer(){return this.layerExtension.layer.capabilities?.exportMap.supportsDynamicLayers}get canChangeLabels(){return this.layerExtension.layer.capabilities?.exportMap.supportsDynamicLayers}async _switchSublayer(e){e.layer?.capabilities?.exportMap?.supportsDynamicLayers&&(e.labelsVisible=this.sublayer.labelsVisible),await super._switchSublayer(e)}async _onInitialize(){await super._onInitialize(),this.sublayer?.renderer&&"tile"!==this.sublayer?.layer?.type&&this.sublayer?.layer?.capabilities?.exportMap?.supportsDynamicLayers&&(this.sublayer.renderer=this.sublayer.renderer.clone())}_createSublayerExtension(r){return new e(r)}};t=e=r([s],t);export{t as MapImageSublayerExtension};
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{serializable}from"../support/Serializable.js";import{isOpenStreetMapLayer}from"../utilities/_layers.js";import{LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";let OpenStreetMapLayerExtension=class extends LayerExtension{get layer(){return super.layer}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"OpenStreetMap"}}}}_isSupportedLayer(e){return isOpenStreetMapLayer(e)}_createSchema(){return new OpenStreetMapLayerSchema(this)}};OpenStreetMapLayerExtension=__decorate([serializable],OpenStreetMapLayerExtension);export{OpenStreetMapLayerExtension};let OpenStreetMapLayerSchema=class extends LayerExtensionSchema{_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0}}}};OpenStreetMapLayerSchema=__decorate([serializable],OpenStreetMapLayerSchema);
1
+ import{__decorate as e}from"tslib";import{serializable as r}from"../support/Serializable.js";import{isOpenStreetMapLayer as t}from"../utilities/_layers.js";import{LayerExtension as a,LayerExtensionSchema as s}from"./_LayerExtension.js";let i=class extends a{get layer(){return super.layer}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"OpenStreetMap"}}}}_isSupportedLayer(e){return t(e)}_createSchema(){return new l(this)}};i=e([r],i);export{i as OpenStreetMapLayerExtension};let l=class extends s{_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0}}}};l=e([r],l);
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import CodedValueDomain from"@arcgis/core/layers/support/CodedValueDomain";import ExpressionInfo from"@arcgis/core/popup/ExpressionInfo";import FieldInfo from"@arcgis/core/popup/FieldInfo";import{serializable}from"../support/Serializable.js";import{ReadOnlyCollection}from"../utilities/ReadOnlyCollection.js";import{isPointCloudLayer}from"../utilities/_layers.js";import{LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";import{ArrayWrappedCollection}from"./support/ArrayWrappedCollection.js";import{PopupTemplateFeatureSettings}from"./support/PopupTemplateFeatureSettings.js";import{addOutFields}from"./support/layers.js";let PointCloudLayerExtension=class extends LayerExtension{get layer(){return super.layer}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}get hasFeatures(){return!0}get enableClientSideData(){return this._enableClientSideData}set enableClientSideData(e){this._enableClientSideData=e,this._updateClientSideFields()}get canChangeOpacity(){return!1}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();return e&&delete e.opacity,e}async _onInitialize(){await super._onInitialize(),this._updateClientSideFields(),this._watchHandles.push(this.watch("layer",(()=>{this._updateClientSideFields()}),!0))}async _postInitialize(){await super._postInitialize(),await this._setDecodedPopupFieldInfos()}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"PointCloudLayer"}},enableClientSideData:{serializeModes:["initial"],default:!0}}}_isSupportedLayer(e){return isPointCloudLayer(e)}_createSchema(){return new PointCloudLayerSchema(this)}_createFeatureSettings(){return new PopupTemplateFeatureSettings(this)}_updateClientSideFields(){this.layer&&this._enableClientSideData&&addOutFields(this.layer,this.featureSettings.outFields)}async _setDecodedPopupFieldInfos(){const e=this.schema.fields.find((e=>"CLASS_CODE"===e.name));if(e){const t=(await this.layer.queryCachedStatistics("CLASS_CODE"))?.labels?.labels;t&&(e.domain=new CodedValueDomain({codedValues:t.map((e=>({code:e.value,name:e.label})))}))}if(this.featureSettings.popupTemplate.expressionInfos=this.featureSettings.popupTemplate.expressionInfos??[],this.schema.fields.some((e=>"RGB"===e.name))){this.featureSettings.popupTemplate.fieldInfos.find((e=>"RGB"===e.fieldName)).visible=!1,this.featureSettings.popupTemplate.fieldInfos.push(new FieldInfo({fieldName:"expression/__gcx-rgb"})),this.featureSettings.popupTemplate.expressionInfos.push(new ExpressionInfo({expression:"var rgb = $feature.RGB; var red = Floor(rgb/65536,0); var green = Floor((rgb-(red*65536))/256,0); var blue = rgb-(red*65536)-(green*256); return 'rgb(' + red + ',' + green + ',' + blue + ')';",name:"__gcx-rgb",returnType:"string",title:"RGB"}))}if(this.schema.fields.some((e=>"RETURNS"===e.name))){this.featureSettings.popupTemplate.fieldInfos.find((e=>"RETURNS"===e.fieldName)).visible=!1,this.featureSettings.popupTemplate.fieldInfos.push(new FieldInfo({fieldName:"expression/__gcx-returns"})),this.featureSettings.popupTemplate.expressionInfos.push(new ExpressionInfo({expression:"var returnnumber = $feature.RETURNS % 16; var numberofreturns = Floor($feature.RETURNS / 16); return returnnumber + ' / ' + numberofreturns;",name:"__gcx-returns",returnType:"string",title:"RETURNS"}))}}};PointCloudLayerExtension=__decorate([serializable],PointCloudLayerExtension);export{PointCloudLayerExtension};let PointCloudLayerSchema=class extends LayerExtensionSchema{constructor(e){super(e),this._fieldCollection=new ReadOnlyCollection(new ArrayWrappedCollection({parent:e,targetProperty:"layer",arrayProperty:"fields"}))}get _fields(){return this._fieldCollection}_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0}}}};PointCloudLayerSchema=__decorate([serializable],PointCloudLayerSchema);
1
+ import{__decorate as e}from"tslib";import t from"@arcgis/core/layers/support/CodedValueDomain";import r from"@arcgis/core/popup/ExpressionInfo";import i from"@arcgis/core/popup/FieldInfo";import{serializable as s}from"../support/Serializable.js";import{ReadOnlyCollection as a}from"../utilities/ReadOnlyCollection.js";import{isPointCloudLayer as n}from"../utilities/_layers.js";import{LayerExtension as l,LayerExtensionSchema as o}from"./_LayerExtension.js";import{ArrayWrappedCollection as p}from"./support/ArrayWrappedCollection.js";import{PopupTemplateFeatureSettings as u}from"./support/PopupTemplateFeatureSettings.js";import{addOutFields as d}from"./support/layers.js";let f=class extends l{get layer(){return super.layer}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}get hasFeatures(){return!0}get enableClientSideData(){return this._enableClientSideData}set enableClientSideData(e){this._enableClientSideData=e,this._updateClientSideFields()}get canChangeOpacity(){return!1}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();return e&&delete e.opacity,e}async _onInitialize(){await super._onInitialize(),this._updateClientSideFields(),this._watchHandles.push(this.watch("layer",(()=>{this._updateClientSideFields()}),!0))}async _postInitialize(){await super._postInitialize(),await this._setDecodedPopupFieldInfos()}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"PointCloudLayer"}},enableClientSideData:{serializeModes:["initial"],default:!0}}}_isSupportedLayer(e){return n(e)}_createSchema(){return new m(this)}_createFeatureSettings(){return new u(this)}_updateClientSideFields(){this.layer&&this._enableClientSideData&&d(this.layer,this.featureSettings.outFields)}async _setDecodedPopupFieldInfos(){const e=this.schema.fields.find((e=>"CLASS_CODE"===e.name));if(e){const r=(await this.layer.queryCachedStatistics("CLASS_CODE"))?.labels?.labels;r&&(e.domain=new t({codedValues:r.map((e=>({code:e.value,name:e.label})))}))}if(this.featureSettings.popupTemplate.expressionInfos=this.featureSettings.popupTemplate.expressionInfos??[],this.schema.fields.some((e=>"RGB"===e.name))){this.featureSettings.popupTemplate.fieldInfos.find((e=>"RGB"===e.fieldName)).visible=!1,this.featureSettings.popupTemplate.fieldInfos.push(new i({fieldName:"expression/__gcx-rgb"})),this.featureSettings.popupTemplate.expressionInfos.push(new r({expression:"var rgb = $feature.RGB; var red = Floor(rgb/65536,0); var green = Floor((rgb-(red*65536))/256,0); var blue = rgb-(red*65536)-(green*256); return 'rgb(' + red + ',' + green + ',' + blue + ')';",name:"__gcx-rgb",returnType:"string",title:"RGB"}))}if(this.schema.fields.some((e=>"RETURNS"===e.name))){this.featureSettings.popupTemplate.fieldInfos.find((e=>"RETURNS"===e.fieldName)).visible=!1,this.featureSettings.popupTemplate.fieldInfos.push(new i({fieldName:"expression/__gcx-returns"})),this.featureSettings.popupTemplate.expressionInfos.push(new r({expression:"var returnnumber = $feature.RETURNS % 16; var numberofreturns = Floor($feature.RETURNS / 16); return returnnumber + ' / ' + numberofreturns;",name:"__gcx-returns",returnType:"string",title:"RETURNS"}))}}};f=e([s],f);export{f as PointCloudLayerExtension};let m=class extends o{constructor(e){super(e),this._fieldCollection=new a(new p({parent:e,targetProperty:"layer",arrayProperty:"fields"}))}get _fields(){return this._fieldCollection}_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0}}}};m=e([s],m);
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{SceneLayer as PortalSceneLayer}from"../portal/SceneLayer.js";import{serializable}from"../support/Serializable.js";import{ReadOnlyCollection}from"../utilities/ReadOnlyCollection.js";import{isSceneLayer}from"../utilities/_layers.js";import{LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";import{ArrayWrappedCollection}from"./support/ArrayWrappedCollection.js";import{PopupTemplateFeatureSettings}from"./support/PopupTemplateFeatureSettings.js";import{addOutFields}from"./support/layers.js";let SceneLayerExtension=class extends LayerExtension{get layer(){return super.layer}get enableClientSideData(){return this._enableClientSideData}set enableClientSideData(e){this._enableClientSideData=e,this._updateClientSideFields()}get renderer(){return this.layer?.renderer}get hasFeatures(){return!0}get canChangeLabels(){return!0}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}async _onInitialize(){await super._onInitialize(),this._updateClientSideFields(),this._watchHandles.push(this.watch("layer",(()=>{this._updateClientSideFields()}),!0)),this.layer.associatedLayer||this.layer.outFields||(this.layer.outFields=this.layer.fields.map((e=>e.name)),this.layer.outFields&&!this.layer.outFields.includes(this.layer.objectIdField)&&this.layer.outFields.push(this.layer.objectIdField))}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISSceneServiceLayer"}},enableClientSideData:{serializeModes:["initial"],default:!1}}}_isSupportedLayer(e){return isSceneLayer(e)}_createSchema(){return new SceneLayerSchema(this)}_createFeatureSettings(){return new PopupTemplateFeatureSettings(this)}async _applyPortalItemProperties(e){if("Scene Service"!==e.type)throw new Error(`Cannot create Scene Layer from Portal item that has type: ${e.type}`);if(!e.typeKeywords.includes("3DObject")&&!e.typeKeywords.includes("Point"))throw new Error("Cannot create Scene Layer from Portal item that does not reference a Scene layer");const t={layerType:"ArcGISSceneServiceLayer",url:e.url};return PortalSceneLayer.applyToEsriApiLayer(t,this.layer)}_updateClientSideFields(){this.layer&&this._enableClientSideData&&addOutFields(this.layer,this.featureSettings.outFields)}};SceneLayerExtension=__decorate([serializable],SceneLayerExtension);export{SceneLayerExtension};let SceneLayerSchema=class extends LayerExtensionSchema{constructor(e){super(e),this._fieldsCollection=new ReadOnlyCollection(new ArrayWrappedCollection({parent:e,targetProperty:"layer",arrayProperty:"fields"}))}_getPropertyBindings(){return{spatialReference:"spatialReference"}}get _fields(){return this._fieldsCollection}};SceneLayerSchema=__decorate([serializable],SceneLayerSchema);
1
+ import{__decorate as e}from"tslib";import{SceneLayer as t}from"../portal/SceneLayer.js";import{serializable as r}from"../support/Serializable.js";import{ReadOnlyCollection as i}from"../utilities/ReadOnlyCollection.js";import{isSceneLayer as a}from"../utilities/_layers.js";import{LayerExtension as s,LayerExtensionSchema as l}from"./_LayerExtension.js";import{ArrayWrappedCollection as n}from"./support/ArrayWrappedCollection.js";import{PopupTemplateFeatureSettings as o}from"./support/PopupTemplateFeatureSettings.js";import{addOutFields as p}from"./support/layers.js";let y=class extends s{get layer(){return super.layer}get enableClientSideData(){return this._enableClientSideData}set enableClientSideData(e){this._enableClientSideData=e,this._updateClientSideFields()}get renderer(){return this.layer?.renderer}get hasFeatures(){return!0}get canChangeLabels(){return!0}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}async _onInitialize(){await super._onInitialize(),this._updateClientSideFields(),this._watchHandles.push(this.watch("layer",(()=>{this._updateClientSideFields()}),!0)),this.layer.associatedLayer||this.layer.outFields||(this.layer.outFields=this.layer.fields.map((e=>e.name)),this.layer.outFields&&!this.layer.outFields.includes(this.layer.objectIdField)&&this.layer.outFields.push(this.layer.objectIdField))}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISSceneServiceLayer"}},enableClientSideData:{serializeModes:["initial"],default:!1}}}_isSupportedLayer(e){return a(e)}_createSchema(){return new d(this)}_createFeatureSettings(){return new o(this)}async _applyPortalItemProperties(e){if("Scene Service"!==e.type)throw new Error(`Cannot create Scene Layer from Portal item that has type: ${e.type}`);if(!e.typeKeywords.includes("3DObject")&&!e.typeKeywords.includes("Point"))throw new Error("Cannot create Scene Layer from Portal item that does not reference a Scene layer");const r={layerType:"ArcGISSceneServiceLayer",url:e.url};return t.applyToEsriApiLayer(r,this.layer)}_updateClientSideFields(){this.layer&&this._enableClientSideData&&p(this.layer,this.featureSettings.outFields)}};y=e([r],y);export{y as SceneLayerExtension};let d=class extends l{constructor(e){super(e),this._fieldsCollection=new i(new n({parent:e,targetProperty:"layer",arrayProperty:"fields"}))}_getPropertyBindings(){return{spatialReference:"spatialReference"}}get _fields(){return this._fieldsCollection}};d=e([r],d);
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{Layer as PortalLayer}from"../portal/Layer.js";import{StreamLayer as StreamLayerJson}from"../portal/StreamLayer.js";import{serializable}from"../support/Serializable.js";import{ReadOnlyCollection}from"../utilities/ReadOnlyCollection.js";import{isStreamLayer}from"../utilities/_layers.js";import{LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";import{ArrayWrappedCollection}from"./support/ArrayWrappedCollection.js";import{PopupTemplateFeatureSettings}from"./support/PopupTemplateFeatureSettings.js";let StreamLayerExtension=class extends LayerExtension{get layer(){return super.layer}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}get hasFeatures(){return!0}get renderer(){return this.layer.renderer}get canChangeLabels(){return!0}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{layerDefinition:r}=StreamLayerJson.fromEsriApiStreamLayer(this.layer),{definitionExpression:t,drawingInfo:a}=r;return t&&(e.layerDefinition={...e.layerDefinition,definitionExpression:t}),a&&(e.layerDefinition={...e.layerDefinition,drawingInfo:a}),e}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISStreamLayer"}}}}_createSchema(){return new StreamLayerSchema(this)}_isSupportedLayer(e){return isStreamLayer(e)}_createFeatureSettings(){return new StreamLayerFeatureSettings(this)}async _applyPortalItemProperties(e){if("Stream Service"!==e.type)throw new Error(`Cannot create Stream Layer from Portal item that has type: ${e.type}`);const r={layerType:"ArcGISStreamLayer",url:e.url};await StreamLayerJson.applyToEsriApiLayer(r,this.layer);const t=await e.fetchData();t&&Object.keys(t).length>0&&await PortalLayer.applyToEsriApiLayer(t,this.layer)}};StreamLayerExtension=__decorate([serializable],StreamLayerExtension);export{StreamLayerExtension};let StreamLayerSchema=class extends LayerExtensionSchema{constructor(e){super(e),this._fieldCollection=this._createFieldCollection()}get _fields(){return this._fieldCollection}_createFieldCollection(){return new ReadOnlyCollection(new ArrayWrappedCollection({parent:this._layerExtension,targetProperty:"layer",arrayProperty:"fields"}))}_getPropertyBindings(){return{primaryKeyField:"objectIdField",geometryType:"geometryType",spatialReference:"spatialReference",displayField:"displayField"}}};StreamLayerSchema=__decorate([serializable],StreamLayerSchema);export{StreamLayerSchema};let StreamLayerFeatureSettings=class extends PopupTemplateFeatureSettings{get zoomScale(){const e="point"===this._layerExtension.schema.geometryType?this._layerExtension.layer.maxScale:void 0;return this._getSetting("zoomScale",e)}set zoomScale(e){this._setSetting("zoomScale",e)}};StreamLayerFeatureSettings=__decorate([serializable],StreamLayerFeatureSettings);
1
+ import{__decorate as e}from"tslib";import{Layer as r}from"../portal/Layer.js";import{StreamLayer as t}from"../portal/StreamLayer.js";import{serializable as i}from"../support/Serializable.js";import{ReadOnlyCollection as a}from"../utilities/ReadOnlyCollection.js";import{isStreamLayer as o}from"../utilities/_layers.js";import{LayerExtension as s,LayerExtensionSchema as l}from"./_LayerExtension.js";import{ArrayWrappedCollection as n}from"./support/ArrayWrappedCollection.js";import{PopupTemplateFeatureSettings as y}from"./support/PopupTemplateFeatureSettings.js";let p=class extends s{get layer(){return super.layer}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}get hasFeatures(){return!0}get renderer(){return this.layer.renderer}get canChangeLabels(){return!0}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{layerDefinition:r}=t.fromEsriApiStreamLayer(this.layer),{definitionExpression:i,drawingInfo:a}=r;return i&&(e.layerDefinition={...e.layerDefinition,definitionExpression:i}),a&&(e.layerDefinition={...e.layerDefinition,drawingInfo:a}),e}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISStreamLayer"}}}}_createSchema(){return new m(this)}_isSupportedLayer(e){return o(e)}_createFeatureSettings(){return new c(this)}async _applyPortalItemProperties(e){if("Stream Service"!==e.type)throw new Error(`Cannot create Stream Layer from Portal item that has type: ${e.type}`);const i={layerType:"ArcGISStreamLayer",url:e.url};await t.applyToEsriApiLayer(i,this.layer);const a=await e.fetchData();a&&Object.keys(a).length>0&&await r.applyToEsriApiLayer(a,this.layer)}};p=e([i],p);export{p as StreamLayerExtension};let m=class extends l{constructor(e){super(e),this._fieldCollection=this._createFieldCollection()}get _fields(){return this._fieldCollection}_createFieldCollection(){return new a(new n({parent:this._layerExtension,targetProperty:"layer",arrayProperty:"fields"}))}_getPropertyBindings(){return{primaryKeyField:"objectIdField",geometryType:"geometryType",spatialReference:"spatialReference",displayField:"displayField"}}};m=e([i],m);export{m as StreamLayerSchema};let c=class extends y{get zoomScale(){const e="point"===this._layerExtension.schema.geometryType?this._layerExtension.layer.maxScale:void 0;return this._getSetting("zoomScale",e)}set zoomScale(e){this._setSetting("zoomScale",e)}};c=e([i],c);
@@ -1 +1 @@
1
- import{SublayerExtension,SublayerSchema,SubSublayerExtensionCollection,getSublayerType}from"./_SublayerExtension.js";import{DefaultSublayerExtensionFactory}from"./support/DefaultSublayerExtensionFactory.js";SublayerExtension.factory=DefaultSublayerExtensionFactory.instance;export{SublayerExtension,SublayerSchema,SubSublayerExtensionCollection,getSublayerType};
1
+ import{SublayerExtension as o,SublayerSchema as r,SubSublayerExtensionCollection as t,getSublayerType as e}from"./_SublayerExtension.js";import{DefaultSublayerExtensionFactory as a}from"./support/DefaultSublayerExtensionFactory.js";o.factory=a.instance;export{o as SublayerExtension,r as SublayerSchema,t as SubSublayerExtensionCollection,e as getSublayerType};
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import FeatureType from"@arcgis/core/layers/support/FeatureType.js";import AttachmentQuery from"@arcgis/core/rest/support/AttachmentQuery";import{toAttachment}from"../data/Attachment.js";import{toGraphic}from"../data/Feature.js";import{FeatureSaveError}from"../data/FeatureSaveError.js";import{addAttachment,deleteAttachments,supportsAttachmentEditing as layerSupportsAttachmentEditing}from"../data/support/attachments.js";import{SubtypeGroupLayer as SubtypeGroupLayerProperties}from"../portal/SubtypeGroupLayer.js";import{SubtypeSublayer}from"../portal/SubtypeSublayer.js";import{Template}from"../portal/Template.js";import{cancelify}from"../support/Cancellable.js";import{serializable}from"../support/Serializable.js";import{ArcGISRelationshipCollection}from"../support/_ArcGISRelationshipCollection.js";import{executeQuery}from"../support/_query.js";import{ReadOnlyCollection}from"../utilities/ReadOnlyCollection.js";import{isFeatureLayer,isSubtypeGroupLayer}from"../utilities/_layers.js";import{parse}from"../utilities/number.js";import{ArrayWrappedCollection}from"./LayerExtension.js";import{SubtypeSublayerExtension}from"./SubtypeSublayerExtension.js";import{LayerExtension,LayerExtensionReadOnlySchema}from"./_LayerExtension.js";import{addOutFields,getGlobalIdField,isGlobalIdUsed}from"./support/layers.js";let SubtypeGroupLayerExtension=class extends LayerExtension{get enableClientSideData(){return this._enableClientSideData}set enableClientSideData(e){this._enableClientSideData=e,this._updateClientSideFields()}get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get supportsSublayers(){return!0}get sublayersAreReadOnly(){return!1}get hasFeatures(){return!0}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();return!e||this.dynamicallyAddedLayer||(e.layers=this.sublayerExtensions.toArray().map((e=>{const{layerDefinition:t,visibility:r,subtypeCode:a,layerType:s}=SubtypeSublayer.fromEsriApiSubtypeSublayer(e.sublayer),i={layerType:s,visibility:r,subtypeCode:a};return t?.drawingInfo&&(i.layerDefinition={drawingInfo:t.drawingInfo}),i}))),e}_createRelationships(){return new SubtypeGroupLayerRelationshipCollection(this)}async _onInitialize(){await super._onInitialize(),await this.relationships.initialize();const e=this.layer.sourceJSON?.templates?.map((e=>Template.toEsriApiFeatureTemplate(e)));if(this.sublayerExtensions.filter((e=>!!e.sublayer)).forEach((t=>{let r=e;1!==e.length||1===this.sublayerExtensions.length||t.sublayer.templates?usesEsriDefaultTemplate(t)&&(t.sublayer.templates[0].name=t.sublayer.title):(r=e.map((e=>{const r=Template.toEsriApiFeatureTemplate(Template.fromEsriApiFeatureTemplate(e));r.name=t.title;const a=r.prototype?.attributes;return"number"==typeof a?.[this.layer.subtypeField]&&(a[this.layer.subtypeField]=t.sublayer.subtypeCode),r})),t.sublayer.templates=r)})),this.layer.subtypes){this._subtypes=this.layer.subtypes.map((e=>new FeatureType({id:e.code,name:e.name,domains:e.domains??{},templates:this.sublayerExtensions.map((e=>e.sublayer)).find((t=>t.subtypeCode===e.code)).templates})));for(const e of this._subtypes)for(const[t,r]of Object.entries(e.domains)){const e=this.layer.fields.find((e=>e.name===t));e&&!e.domain&&(e.domain=r)}}}async _postInitialize(){await super._postInitialize(),this._updateClientSideFields(),this._watchHandles.push(this.watch("layer",(()=>{this._updateClientSideFields()}),!0))}_capabilities(){const e=layerSupportsAttachmentEditing(this.layer);return this.layer?.capabilities?.operations?{...this.layer.capabilities.operations,supportsAttachmentEditing:e}:{...super._capabilities(),supportsAttachmentEditing:e}}_createSublayerExtension(e){return new SubtypeSublayerExtension(e)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"SubtypeGroupLayer"}},enableClientSideData:{serializeModes:["initial"],default:!1},attachmentTypes:["initial"]}}_isSupportedLayer(e){return isSubtypeGroupLayer(e)}_createSchema(){return new SubtypeGroupLayerSchema(this)}async _getAttachments(e){if(!this.layer?.capabilities?.data?.supportsAttachment)return[];const t=+e.primaryKey,r=new AttachmentQuery({objectIds:[t]}),a=await this.layer.queryAttachments(r);return a?.[t]?.length?a[t].map((e=>toAttachment(e,e.url))):[]}async _addAttachment(e,t){return addAttachment(e,this.layer,t,{attachmentTypes:this.attachmentTypes})}async _deleteAttachments(e,t){return deleteAttachments(e,this.layer,t)}async _applyPortalItemProperties(e){if("Feature Service"!==e.type)throw new Error(`Cannot create SubtypeGroupLayer from Portal item that has type: ${e.type}`);const t={layerType:"SubtypeGroupLayer"};let{url:r}=e;r.match(".*MapServer/\\d{1,}/?$")||r.match(".*FeatureServer/\\d{1,}/?$")||(r=`${r}/0`),t.url=r,await SubtypeGroupLayerProperties.applyToEsriApiLayer(t,this.layer);const a=await e.fetchData();a&&await SubtypeGroupLayerProperties.applyToEsriApiLayer(a,this.layer)}_getFeatures(e,t){if(!this.layer)return super._getFeatures(e,t);const r=this.layer.createQuery();return r.objectIds=e.map((e=>parse(e))),r.where=void 0,r.outFields=t.outFields,r.returnGeometry=t.returnGeometry,executeQuery(r,this,this.layer,t.cancelToken)}async _addFeatures(e,t){const r=Array.from(e);if(0===r.length||!this.layer)return;const a=await this._applyEdits({addFeatures:r.map(toGraphic)},t);if(!a.addFeatureResults||a.addFeatureResults.length!==r.length)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");let s;if(a.addFeatureResults.forEach(((e,t)=>{const{objectId:a,globalId:i,error:l}=e,o=r[t];if(l){s=s||new FeatureSaveError("Errors encountered when adding features.");const{title:r}=o;s.errors.set(`${r}-${t}`,new Error(`Failed to add feature '${r}'. ${e.error.name} : ${e.error.message}`))}else{const{primaryKeyField:e}=o.schema;o.attributes.set(e,a);const t=getGlobalIdField(this.layer);t&&i&&o.attributes.set(t,i)}})),s)throw s}async _updateFeatures(e,t){const r=Array.from(e);if(0===r.length)return;const a=await this._applyEdits({updateFeatures:Array.from(e).map(toGraphic)},t);if(!a.updateFeatureResults||a.updateFeatureResults.length!==r.length)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");let s;if(a.updateFeatureResults.forEach(((e,t)=>{if(e.error){s=s||new FeatureSaveError("Errors encountered when updating features.");const{primaryKey:a}=r[t];s.errors.set(a,new Error(`Failed to update feature with id ${a}. ${e.error.name} : ${e.error.message}`))}})),s)throw s}async _deleteFeatures(e,t){if(0===e.length)return;const r=await this._applyEdits({deleteFeatures:e.map((e=>({objectId:e})))},t);if(!r.deleteFeatureResults)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");let a;if(r.deleteFeatureResults.forEach(((t,r)=>{if(t.error){a=a||new FeatureSaveError("Errors encountered when deleting features.");const s=e[r];a.errors.set(s,new Error(`Failed to delete feature with id ${s}. ${t.error.name} : ${t.error.message}`))}})),a)throw a}async _applyEdits(e,t={}){const r=isGlobalIdUsed(this.layer,e),a=this.layer.applyEdits(e,{globalIdUsed:r}),s=await cancelify(a,t.cancelToken);if(!s)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");return s}_updateClientSideFields(){this.layer&&this._enableClientSideData&&(addOutFields(this.layer,this.featureSettings.outFields),this.allSublayerExtensions.forEach((e=>addOutFields(this.layer,e.featureSettings.outFields))))}};SubtypeGroupLayerExtension=__decorate([serializable],SubtypeGroupLayerExtension);export{SubtypeGroupLayerExtension};let SubtypeGroupLayerSchema=class extends LayerExtensionReadOnlySchema{constructor(e){super(e),this._fieldCollection=this._createFieldCollection(),this._typesCollection=this._createTypesCollection()}get types(){return this._typesCollection}get _types(){return this._typesCollection}get _fields(){return this._fieldCollection}_createFieldCollection(){return new ReadOnlyCollection(new ArrayWrappedCollection({parent:this._layerExtension,targetProperty:"layer",arrayProperty:"fields"}))}_createTypesCollection(){return new ReadOnlyCollection(new ArrayWrappedCollection({parent:this._layerExtension,arrayProperty:"_subtypes"}))}_getPropertyBindings(){return{primaryKeyField:"objectIdField",geometryType:"geometryType",spatialReference:"spatialReference",displayField:"displayField",typeIdField:"subtypeField"}}};SubtypeGroupLayerSchema=__decorate([serializable],SubtypeGroupLayerSchema);export{SubtypeGroupLayerSchema};export class SubtypeGroupLayerRelationshipCollection extends ArcGISRelationshipCollection{get _sourceUrl(){const e=this._source.layer;if(e)return`${e.url}/${e.layerId}`}get _sourceLayerId(){return this._source.layer?.layerId}_findRelatedSource(e){if(!this._source.mapExtension||!this._source.layer||!this._sourceUrl)return;const t=this._sourceUrl.slice(0,this._sourceUrl.length-`${this._sourceLayerId}`.length-1),r=this._source.mapExtension.allLayerExtensions.initializedItems.find((r=>(isFeatureLayer(r.layer)||isSubtypeGroupLayer(r.layer))&&r.layer.url===t&&r.layer.layerId===e));return r||this._source.mapExtension.tableExtensions.initializedItems.find((r=>isFeatureLayer(r.table)&&r.table.url===t&&r.table.layerId===e))}}function usesEsriDefaultTemplate(e){return 1===e.sublayer.templates.length&&"New Feature"===e.sublayer.templates[0].name}
1
+ import{__decorate as e}from"tslib";import t from"@arcgis/core/layers/support/FeatureType.js";import r from"@arcgis/core/rest/support/AttachmentQuery";import{toAttachment as a}from"../data/Attachment.js";import{toGraphic as s}from"../data/Feature.js";import{FeatureSaveError as i}from"../data/FeatureSaveError.js";import{addAttachment as l,deleteAttachments as o,supportsAttachmentEditing as n}from"../data/support/attachments.js";import{SubtypeGroupLayer as p}from"../portal/SubtypeGroupLayer.js";import{SubtypeSublayer as u}from"../portal/SubtypeSublayer.js";import{Template as y}from"../portal/Template.js";import{cancelify as d}from"../support/Cancellable.js";import{serializable as c}from"../support/Serializable.js";import{ArcGISRelationshipCollection as h}from"../support/_ArcGISRelationshipCollection.js";import{executeQuery as m}from"../support/_query.js";import{ReadOnlyCollection as f}from"../utilities/ReadOnlyCollection.js";import{isFeatureLayer as b,isSubtypeGroupLayer as _}from"../utilities/_layers.js";import{parse as g}from"../utilities/number.js";import{ArrayWrappedCollection as w}from"./LayerExtension.js";import{SubtypeSublayerExtension as F}from"./SubtypeSublayerExtension.js";import{LayerExtension as E,LayerExtensionReadOnlySchema as S}from"./_LayerExtension.js";import{addOutFields as C,getGlobalIdField as j,isGlobalIdUsed as x}from"./support/layers.js";let I=class extends E{get enableClientSideData(){return this._enableClientSideData}set enableClientSideData(e){this._enableClientSideData=e,this._updateClientSideFields()}get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get supportsSublayers(){return!0}get sublayersAreReadOnly(){return!1}get hasFeatures(){return!0}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();return!e||this.dynamicallyAddedLayer||(e.layers=this.sublayerExtensions.toArray().map((e=>{const{layerDefinition:t,visibility:r,subtypeCode:a,layerType:s}=u.fromEsriApiSubtypeSublayer(e.sublayer),i={layerType:s,visibility:r,subtypeCode:a};return t?.drawingInfo&&(i.layerDefinition={drawingInfo:t.drawingInfo}),i}))),e}_createRelationships(){return new SubtypeGroupLayerRelationshipCollection(this)}async _onInitialize(){await super._onInitialize(),await this.relationships.initialize();const e=this.layer.sourceJSON?.templates?.map((e=>y.toEsriApiFeatureTemplate(e)));if(this.sublayerExtensions.filter((e=>!!e.sublayer)).forEach((t=>{let r=e;1!==e.length||1===this.sublayerExtensions.length||t.sublayer.templates?function(e){return 1===e.sublayer.templates.length&&"New Feature"===e.sublayer.templates[0].name}(t)&&(t.sublayer.templates[0].name=t.sublayer.title):(r=e.map((e=>{const r=y.toEsriApiFeatureTemplate(y.fromEsriApiFeatureTemplate(e));r.name=t.title;const a=r.prototype?.attributes;return"number"==typeof a?.[this.layer.subtypeField]&&(a[this.layer.subtypeField]=t.sublayer.subtypeCode),r})),t.sublayer.templates=r)})),this.layer.subtypes){this._subtypes=this.layer.subtypes.map((e=>new t({id:e.code,name:e.name,domains:e.domains??{},templates:this.sublayerExtensions.map((e=>e.sublayer)).find((t=>t.subtypeCode===e.code)).templates})));for(const e of this._subtypes)for(const[t,r]of Object.entries(e.domains)){const e=this.layer.fields.find((e=>e.name===t));e&&!e.domain&&(e.domain=r)}}}async _postInitialize(){await super._postInitialize(),this._updateClientSideFields(),this._watchHandles.push(this.watch("layer",(()=>{this._updateClientSideFields()}),!0))}_capabilities(){const e=n(this.layer);return this.layer?.capabilities?.operations?{...this.layer.capabilities.operations,supportsAttachmentEditing:e}:{...super._capabilities(),supportsAttachmentEditing:e}}_createSublayerExtension(e){return new F(e)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"SubtypeGroupLayer"}},enableClientSideData:{serializeModes:["initial"],default:!1},attachmentTypes:["initial"]}}_isSupportedLayer(e){return _(e)}_createSchema(){return new A(this)}async _getAttachments(e){if(!this.layer?.capabilities?.data?.supportsAttachment)return[];const t=+e.primaryKey,s=new r({objectIds:[t]}),i=await this.layer.queryAttachments(s);return i?.[t]?.length?i[t].map((e=>a(e,e.url))):[]}async _addAttachment(e,t){return l(e,this.layer,t,{attachmentTypes:this.attachmentTypes})}async _deleteAttachments(e,t){return o(e,this.layer,t)}async _applyPortalItemProperties(e){if("Feature Service"!==e.type)throw new Error(`Cannot create SubtypeGroupLayer from Portal item that has type: ${e.type}`);const t={layerType:"SubtypeGroupLayer"};let{url:r}=e;r.match(".*MapServer/\\d{1,}/?$")||r.match(".*FeatureServer/\\d{1,}/?$")||(r=`${r}/0`),t.url=r,await p.applyToEsriApiLayer(t,this.layer);const a=await e.fetchData();a&&await p.applyToEsriApiLayer(a,this.layer)}_getFeatures(e,t){if(!this.layer)return super._getFeatures(e,t);const r=this.layer.createQuery();return r.objectIds=e.map((e=>g(e))),r.where=void 0,r.outFields=t.outFields,r.returnGeometry=t.returnGeometry,m(r,this,this.layer,t.cancelToken)}async _addFeatures(e,t){const r=Array.from(e);if(0===r.length||!this.layer)return;const a=await this._applyEdits({addFeatures:r.map(s)},t);if(!a.addFeatureResults||a.addFeatureResults.length!==r.length)throw new i("Received malformed response from server while saving feature(s).");let l;if(a.addFeatureResults.forEach(((e,t)=>{const{objectId:a,globalId:s,error:o}=e,n=r[t];if(o){l=l||new i("Errors encountered when adding features.");const{title:r}=n;l.errors.set(`${r}-${t}`,new Error(`Failed to add feature '${r}'. ${e.error.name} : ${e.error.message}`))}else{const{primaryKeyField:e}=n.schema;n.attributes.set(e,a);const t=j(this.layer);t&&s&&n.attributes.set(t,s)}})),l)throw l}async _updateFeatures(e,t){const r=Array.from(e);if(0===r.length)return;const a=await this._applyEdits({updateFeatures:Array.from(e).map(s)},t);if(!a.updateFeatureResults||a.updateFeatureResults.length!==r.length)throw new i("Received malformed response from server while saving feature(s).");let l;if(a.updateFeatureResults.forEach(((e,t)=>{if(e.error){l=l||new i("Errors encountered when updating features.");const{primaryKey:a}=r[t];l.errors.set(a,new Error(`Failed to update feature with id ${a}. ${e.error.name} : ${e.error.message}`))}})),l)throw l}async _deleteFeatures(e,t){if(0===e.length)return;const r=await this._applyEdits({deleteFeatures:e.map((e=>({objectId:e})))},t);if(!r.deleteFeatureResults)throw new i("Received malformed response from server while saving feature(s).");let a;if(r.deleteFeatureResults.forEach(((t,r)=>{if(t.error){a=a||new i("Errors encountered when deleting features.");const s=e[r];a.errors.set(s,new Error(`Failed to delete feature with id ${s}. ${t.error.name} : ${t.error.message}`))}})),a)throw a}async _applyEdits(e,t={}){const r=x(this.layer,e),a=this.layer.applyEdits(e,{globalIdUsed:r}),s=await d(a,t.cancelToken);if(!s)throw new i("Received malformed response from server while saving feature(s).");return s}_updateClientSideFields(){this.layer&&this._enableClientSideData&&(C(this.layer,this.featureSettings.outFields),this.allSublayerExtensions.forEach((e=>C(this.layer,e.featureSettings.outFields))))}};I=e([c],I);export{I as SubtypeGroupLayerExtension};let A=class extends S{constructor(e){super(e),this._fieldCollection=this._createFieldCollection(),this._typesCollection=this._createTypesCollection()}get types(){return this._typesCollection}get _types(){return this._typesCollection}get _fields(){return this._fieldCollection}_createFieldCollection(){return new f(new w({parent:this._layerExtension,targetProperty:"layer",arrayProperty:"fields"}))}_createTypesCollection(){return new f(new w({parent:this._layerExtension,arrayProperty:"_subtypes"}))}_getPropertyBindings(){return{primaryKeyField:"objectIdField",geometryType:"geometryType",spatialReference:"spatialReference",displayField:"displayField",typeIdField:"subtypeField"}}};A=e([c],A);export{A as SubtypeGroupLayerSchema};export class SubtypeGroupLayerRelationshipCollection extends h{get _sourceUrl(){const e=this._source.layer;if(e)return`${e.url}/${e.layerId}`}get _sourceLayerId(){return this._source.layer?.layerId}_findRelatedSource(e){if(!this._source.mapExtension||!this._source.layer||!this._sourceUrl)return;const t=this._sourceUrl.slice(0,this._sourceUrl.length-`${this._sourceLayerId}`.length-1),r=this._source.mapExtension.allLayerExtensions.initializedItems.find((r=>(b(r.layer)||_(r.layer))&&r.layer.url===t&&r.layer.layerId===e));return r||this._source.mapExtension.tableExtensions.initializedItems.find((r=>b(r.table)&&r.table.url===t&&r.table.layerId===e))}}
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import AttachmentQuery from"@arcgis/core/rest/support/AttachmentQuery";import{InvalidOperationError}from"../InvalidOperationError.js";import{toAttachment}from"../data/Attachment.js";import{toGraphic}from"../data/Feature.js";import{FeatureSaveError}from"../data/FeatureSaveError.js";import{addAttachment,deleteAttachments}from"../data/support/attachments.js";import{Layer as PortalLayer}from"../portal/Layer.js";import{cancelify}from"../support/Cancellable.js";import{serializable}from"../support/Serializable.js";import{ArcGISRelationshipCollection}from"../support/_ArcGISRelationshipCollection.js";import{executeQuery}from"../support/_query.js";import{Collection}from"../support/esri.js";import{ReadOnlyCollection}from"../utilities/ReadOnlyCollection.js";import{isFeatureLayer,isSubtypeGroupLayer,isSubtypeSublayer}from"../utilities/layers.js";import{parse}from"../utilities/number.js";import{SublayerExtension,SublayerSchema}from"./_SublayerExtension.js";import{ArrayWrappedCollection}from"./support/ArrayWrappedCollection.js";import{ExtensionBaseLayerListSettings}from"./support/LayerListSettings.js";import{PopupTemplateFeatureSettings}from"./support/PopupTemplateFeatureSettings.js";import{getGlobalIdField,isGlobalIdUsed}from"./support/layers.js";let SubtypeSublayerExtension=class extends SublayerExtension{get supportsSublayers(){return!1}get layerExtension(){return super.layerExtension}get renderer(){return this.sublayer?.renderer}get hasFeatures(){return!0}get sublayer(){return super.sublayer}get sublayerExtensions(){return super.sublayerExtensions}get attachmentTypes(){return this.layerExtension?.attachmentTypes}get canChangeRenderer(){return!0}get canChangeOpacity(){return!1}async _addAttachment(e,t){return addAttachment(e,this.sublayer.layer,t,{attachmentTypes:this.layerExtension?.attachmentTypes})}async _deleteAttachments(e,t){return deleteAttachments(e,this.sublayer.layer,t)}_isSupportedSublayer(e){return isSubtypeSublayer(e)}_createLayerListSettings(e){return new SubtypeSublayerExtensionLayerListSettings(e,this)}_createFeatureSettings(){return new SubtypeSublayerFeatureSettings(this)}_createSublayer(e){return PortalLayer.toEsriApiSublayer(e,"SubtypeGroupLayer")}_createSchema(){return new SubtypeSublayerSchema(this)}_createRelationships(){return new SubtypeSublayerRelationshipCollection(this)}async _applySublayerProperties(e,t){return PortalLayer.applyToEsriApiSublayer(e,t)}_capabilities(){return this.layerExtension?.capabilities}async _onInitialize(){await super._onInitialize(),await this.relationships.initialize(),this._watchHandles.push(this.watch("layerExtension.attachmentTypes",(()=>this.notifyChange("attachmentTypes"))))}async _postInitialize(){await super._postInitialize(),this.layerListSettings.onLayerExtensionInitialized()}_getFeatures(e,t){if(!this.sublayer?.layer)return super._getFeatures(e,t);const r=this.sublayer?.layer.createQuery();return r.objectIds=e.map((e=>parse(e))),r.where=void 0,r.outFields=t.outFields,r.returnGeometry=t.returnGeometry,executeQuery(r,this,this.sublayer.layer,t.cancelToken)}async _getAttachments(e){if(!this.sublayer?.layer?.capabilities?.data?.supportsAttachment)return[];const t=+e.primaryKey,r=new AttachmentQuery({objectIds:[t]}),a=await this.sublayer.layer.queryAttachments(r);return a?.[t]?.length?a[t].map((e=>toAttachment(e,e.url))):[]}async _addFeatures(e,t){const r=Array.from(e);if(0===r.length||!this.sublayer?.layer)return;const a=await this._applyEdits({addFeatures:r.map(toGraphic)},t);if(!a.addFeatureResults||a.addFeatureResults.length!==r.length)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");let s;if(a.addFeatureResults.forEach(((e,t)=>{const{objectId:a,globalId:i,error:n}=e,l=r[t];if(n){s=s||new FeatureSaveError("Errors encountered when adding features.");const{title:r}=l;s.errors.set(`${r}-${t}`,new Error(`Failed to add feature '${r}'. ${e.error.name} : ${e.error.message}`))}else{const{primaryKeyField:e}=l.schema;l.attributes.set(e,a);const t=getGlobalIdField(this.sublayer.layer);t&&i&&l.attributes.set(t,i)}})),s)throw s}async _updateFeatures(e,t){const r=Array.from(e);if(0===r.length)return;const a=await this._applyEdits({updateFeatures:Array.from(e).map(toGraphic)},t);if(!a.updateFeatureResults||a.updateFeatureResults.length!==r.length)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");let s;if(a.updateFeatureResults.forEach(((e,t)=>{if(e.error){s=s||new FeatureSaveError("Errors encountered when updating features.");const{primaryKey:a}=r[t];s.errors.set(a,new Error(`Failed to update feature with id ${a}. ${e.error.name} : ${e.error.message}`))}})),s)throw s}async _deleteFeatures(e,t){if(0===e.length)return;const r=await this._applyEdits({deleteFeatures:e.map((e=>({objectId:e})))},t);if(!r.deleteFeatureResults)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");let a;if(r.deleteFeatureResults.forEach(((t,r)=>{if(t.error){a=a||new FeatureSaveError("Errors encountered when deleting features.");const s=e[r];a.errors.set(s,new Error(`Failed to delete feature with id ${s}. ${t.error.name} : ${t.error.message}`))}})),a)throw a}_serializeSublayer(e){return PortalLayer.fromEsriApiSublayer(e)}async _applyEdits(e,t={}){const r=isGlobalIdUsed(this.sublayer.layer,e),a=this.sublayer.layer.applyEdits(e,{globalIdUsed:r}),s=await cancelify(a,t.cancelToken);if(!s)throw new FeatureSaveError("Received malformed response from server while saving feature(s).");return s}};SubtypeSublayerExtension=__decorate([serializable],SubtypeSublayerExtension);export{SubtypeSublayerExtension};const ERR_SCHEMA_READ_ONLY="This schema property is read-only.";let SubtypeSublayerSchema=class extends SublayerSchema{constructor(e){super(e),this._fieldCollection=this._createFieldCollection(),this._typesCollection=new Collection,this._readonlyTypesCollection=new ReadOnlyCollection(this._typesCollection);const t=()=>this._sublayerExtension.sublayer?.subtypeCode,r=()=>{const e=this._sublayerExtension.layerExtension?._subtypes?.find((e=>e.id===t()));return!!e&&(this._typesCollection.add(e),!0)};if(this._sublayerExtension.layerExtension?._subtypes?.some((e=>e.id===t())))r();else{const e=this._sublayerExtension.watch("layerExtension._subtypes",(()=>{r()&&e.remove()}),!0)}}get primaryKeyField(){return this._sublayerExtension.sublayer?.layer?.objectIdField}set primaryKeyField(e){throw new InvalidOperationError(ERR_SCHEMA_READ_ONLY)}get geometryType(){return this._sublayerExtension.sublayer?.layer?.geometryType}set geometryType(e){throw new InvalidOperationError(ERR_SCHEMA_READ_ONLY)}get displayField(){return this._sublayerExtension.sublayer?.layer?.displayField}set displayField(e){throw new InvalidOperationError(ERR_SCHEMA_READ_ONLY)}get typeIdField(){return this._sublayerExtension.sublayer?.layer?.subtypeField}set typeIdField(e){throw new InvalidOperationError(ERR_SCHEMA_READ_ONLY)}get types(){return this._readonlyTypesCollection}get _fields(){return this._fieldCollection}_createFieldCollection(){return new ReadOnlyCollection(new ArrayWrappedCollection({parent:this._sublayerExtension,targetProperty:"sublayer",arrayProperty:"layer.fields"}))}_getPropertyBindings(){return{primaryKeyField:"layer.objectIdField",geometryType:"layer.geometryType",spatialReference:"layer.spatialReference",displayField:"layer.displayField",typeIdField:"layer.typeIdField"}}};SubtypeSublayerSchema=__decorate([serializable],SubtypeSublayerSchema);export{SubtypeSublayerSchema};let SubtypeSublayerFeatureSettings=class extends PopupTemplateFeatureSettings{get zoomScale(){const e="point"===this._layerExtension.schema.geometryType?this._layerExtension.sublayer.maxScale:void 0;return this._getSetting("zoomScale",e)}set zoomScale(e){this._setSetting("zoomScale",e)}};SubtypeSublayerFeatureSettings=__decorate([serializable],SubtypeSublayerFeatureSettings);let SubtypeSublayerExtensionLayerListSettings=class extends ExtensionBaseLayerListSettings{get _layerSupportsHideChildren(){return!1}get _esriLayer(){return this._extension.sublayer}get _listModePath(){return"sublayer.listMode"}get _supportsChildren(){return!1}};SubtypeSublayerExtensionLayerListSettings=__decorate([serializable],SubtypeSublayerExtensionLayerListSettings);export class SubtypeSublayerRelationshipCollection extends ArcGISRelationshipCollection{get _sourceUrl(){const e=this._source.sublayer?.layer;if(e)return`${e.url}/${e.layerId}`}get _sourceLayerId(){const e=this._source.sublayer?.layer;return e?.layerId}_findRelatedSource(e){if(!this._source.layerExtension?.mapExtension||!this._source.sublayer||!this._sourceUrl)return;const t=this._sourceUrl.slice(0,this._sourceUrl.length-`${this._sourceLayerId}`.length-1),r=this._source.layerExtension.mapExtension.allLayerExtensions.initializedItems.find((r=>(isFeatureLayer(r.layer)||isSubtypeGroupLayer(r.layer))&&r.layer.url===t&&r.layer.layerId===e));return r||this._source.layerExtension.mapExtension.tableExtensions.initializedItems.find((r=>isFeatureLayer(r.table)&&r.table.url===t&&r.table.layerId===e))}}
1
+ import{__decorate as e}from"tslib";import t from"@arcgis/core/rest/support/AttachmentQuery";import{InvalidOperationError as r}from"../InvalidOperationError.js";import{toAttachment as s}from"../data/Attachment.js";import{toGraphic as a}from"../data/Feature.js";import{FeatureSaveError as i}from"../data/FeatureSaveError.js";import{addAttachment as n,deleteAttachments as l}from"../data/support/attachments.js";import{Layer as o}from"../portal/Layer.js";import{cancelify as u}from"../support/Cancellable.js";import{serializable as y}from"../support/Serializable.js";import{ArcGISRelationshipCollection as p}from"../support/_ArcGISRelationshipCollection.js";import{executeQuery as d}from"../support/_query.js";import{Collection as c}from"../support/esri.js";import{ReadOnlyCollection as h}from"../utilities/ReadOnlyCollection.js";import{isFeatureLayer as m,isSubtypeGroupLayer as b,isSubtypeSublayer as f}from"../utilities/layers.js";import{parse as _}from"../utilities/number.js";import{SublayerExtension as g,SublayerSchema as w}from"./_SublayerExtension.js";import{ArrayWrappedCollection as E}from"./support/ArrayWrappedCollection.js";import{ExtensionBaseLayerListSettings as F}from"./support/LayerListSettings.js";import{PopupTemplateFeatureSettings as x}from"./support/PopupTemplateFeatureSettings.js";import{getGlobalIdField as S,isGlobalIdUsed as I}from"./support/layers.js";let j=class extends g{get supportsSublayers(){return!1}get layerExtension(){return super.layerExtension}get renderer(){return this.sublayer?.renderer}get hasFeatures(){return!0}get sublayer(){return super.sublayer}get sublayerExtensions(){return super.sublayerExtensions}get attachmentTypes(){return this.layerExtension?.attachmentTypes}get canChangeRenderer(){return!0}get canChangeOpacity(){return!1}async _addAttachment(e,t){return n(e,this.sublayer.layer,t,{attachmentTypes:this.layerExtension?.attachmentTypes})}async _deleteAttachments(e,t){return l(e,this.sublayer.layer,t)}_isSupportedSublayer(e){return f(e)}_createLayerListSettings(e){return new v(e,this)}_createFeatureSettings(){return new T(this)}_createSublayer(e){return o.toEsriApiSublayer(e,"SubtypeGroupLayer")}_createSchema(){return new R(this)}_createRelationships(){return new SubtypeSublayerRelationshipCollection(this)}async _applySublayerProperties(e,t){return o.applyToEsriApiSublayer(e,t)}_capabilities(){return this.layerExtension?.capabilities}async _onInitialize(){await super._onInitialize(),await this.relationships.initialize(),this._watchHandles.push(this.watch("layerExtension.attachmentTypes",(()=>this.notifyChange("attachmentTypes"))))}async _postInitialize(){await super._postInitialize(),this.layerListSettings.onLayerExtensionInitialized()}_getFeatures(e,t){if(!this.sublayer?.layer)return super._getFeatures(e,t);const r=this.sublayer?.layer.createQuery();return r.objectIds=e.map((e=>_(e))),r.where=void 0,r.outFields=t.outFields,r.returnGeometry=t.returnGeometry,d(r,this,this.sublayer.layer,t.cancelToken)}async _getAttachments(e){if(!this.sublayer?.layer?.capabilities?.data?.supportsAttachment)return[];const r=+e.primaryKey,a=new t({objectIds:[r]}),i=await this.sublayer.layer.queryAttachments(a);return i?.[r]?.length?i[r].map((e=>s(e,e.url))):[]}async _addFeatures(e,t){const r=Array.from(e);if(0===r.length||!this.sublayer?.layer)return;const s=await this._applyEdits({addFeatures:r.map(a)},t);if(!s.addFeatureResults||s.addFeatureResults.length!==r.length)throw new i("Received malformed response from server while saving feature(s).");let n;if(s.addFeatureResults.forEach(((e,t)=>{const{objectId:s,globalId:a,error:l}=e,o=r[t];if(l){n=n||new i("Errors encountered when adding features.");const{title:r}=o;n.errors.set(`${r}-${t}`,new Error(`Failed to add feature '${r}'. ${e.error.name} : ${e.error.message}`))}else{const{primaryKeyField:e}=o.schema;o.attributes.set(e,s);const t=S(this.sublayer.layer);t&&a&&o.attributes.set(t,a)}})),n)throw n}async _updateFeatures(e,t){const r=Array.from(e);if(0===r.length)return;const s=await this._applyEdits({updateFeatures:Array.from(e).map(a)},t);if(!s.updateFeatureResults||s.updateFeatureResults.length!==r.length)throw new i("Received malformed response from server while saving feature(s).");let n;if(s.updateFeatureResults.forEach(((e,t)=>{if(e.error){n=n||new i("Errors encountered when updating features.");const{primaryKey:s}=r[t];n.errors.set(s,new Error(`Failed to update feature with id ${s}. ${e.error.name} : ${e.error.message}`))}})),n)throw n}async _deleteFeatures(e,t){if(0===e.length)return;const r=await this._applyEdits({deleteFeatures:e.map((e=>({objectId:e})))},t);if(!r.deleteFeatureResults)throw new i("Received malformed response from server while saving feature(s).");let s;if(r.deleteFeatureResults.forEach(((t,r)=>{if(t.error){s=s||new i("Errors encountered when deleting features.");const a=e[r];s.errors.set(a,new Error(`Failed to delete feature with id ${a}. ${t.error.name} : ${t.error.message}`))}})),s)throw s}_serializeSublayer(e){return o.fromEsriApiSublayer(e)}async _applyEdits(e,t={}){const r=I(this.sublayer.layer,e),s=this.sublayer.layer.applyEdits(e,{globalIdUsed:r}),a=await u(s,t.cancelToken);if(!a)throw new i("Received malformed response from server while saving feature(s).");return a}};j=e([y],j);export{j as SubtypeSublayerExtension};const C="This schema property is read-only.";let R=class extends w{get primaryKeyField(){return this._sublayerExtension.sublayer?.layer?.objectIdField}set primaryKeyField(e){throw new r(C)}get geometryType(){return this._sublayerExtension.sublayer?.layer?.geometryType}set geometryType(e){throw new r(C)}get displayField(){return this._sublayerExtension.sublayer?.layer?.displayField}set displayField(e){throw new r(C)}get typeIdField(){return this._sublayerExtension.sublayer?.layer?.subtypeField}set typeIdField(e){throw new r(C)}get types(){return this._readonlyTypesCollection}constructor(e){super(e),this._fieldCollection=this._createFieldCollection(),this._typesCollection=new c,this._readonlyTypesCollection=new h(this._typesCollection);const t=()=>this._sublayerExtension.sublayer?.subtypeCode,r=()=>{const e=this._sublayerExtension.layerExtension?._subtypes?.find((e=>e.id===t()));return!!e&&(this._typesCollection.add(e),!0)};if(this._sublayerExtension.layerExtension?._subtypes?.some((e=>e.id===t())))r();else{const e=this._sublayerExtension.watch("layerExtension._subtypes",(()=>{r()&&e.remove()}),!0)}}get _fields(){return this._fieldCollection}_createFieldCollection(){return new h(new E({parent:this._sublayerExtension,targetProperty:"sublayer",arrayProperty:"layer.fields"}))}_getPropertyBindings(){return{primaryKeyField:"layer.objectIdField",geometryType:"layer.geometryType",spatialReference:"layer.spatialReference",displayField:"layer.displayField",typeIdField:"layer.typeIdField"}}};R=e([y],R);export{R as SubtypeSublayerSchema};let T=class extends x{get zoomScale(){const e="point"===this._layerExtension.schema.geometryType?this._layerExtension.sublayer.maxScale:void 0;return this._getSetting("zoomScale",e)}set zoomScale(e){this._setSetting("zoomScale",e)}};T=e([y],T);let v=class extends F{get _layerSupportsHideChildren(){return!1}get _esriLayer(){return this._extension.sublayer}get _listModePath(){return"sublayer.listMode"}get _supportsChildren(){return!1}};v=e([y],v);export class SubtypeSublayerRelationshipCollection extends p{get _sourceUrl(){const e=this._source.sublayer?.layer;if(e)return`${e.url}/${e.layerId}`}get _sourceLayerId(){const e=this._source.sublayer?.layer;return e?.layerId}_findRelatedSource(e){if(!this._source.layerExtension?.mapExtension||!this._source.sublayer||!this._sourceUrl)return;const t=this._sourceUrl.slice(0,this._sourceUrl.length-`${this._sourceLayerId}`.length-1),r=this._source.layerExtension.mapExtension.allLayerExtensions.initializedItems.find((r=>(m(r.layer)||b(r.layer))&&r.layer.url===t&&r.layer.layerId===e));return r||this._source.layerExtension.mapExtension.tableExtensions.initializedItems.find((r=>m(r.table)&&r.table.url===t&&r.table.layerId===e))}}
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{LayerBase as PortalLayerBase}from"../portal/LayerBase.js";import{TiledMapServiceLayer as PortalTiledMapServiceLayer}from"../portal/TiledMapServiceLayer.js";import{ERR_LAYER_TYPE_MISMATCH}from"../portal/_layerHelper.js";import{DefaultArcGISRequestHelper}from"../support/ArcGISRequestHelper.js";import{serializable}from"../support/Serializable.js";import{isTileLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{TileSublayerExtension}from"./TileSublayerExtension.js";import{LayerExtension,LayerExtensionLayerListSettings,LayerExtensionSchema}from"./_LayerExtension.js";let TileLayerExtension=class extends LayerExtension{get layer(){return super.layer}get supportsSublayers(){return!0}_createSublayerExtension(e){return new TileSublayerExtension(e)}_applyLayerProperties(e,r){checkArg("layerJson",e).isNotMissing();const a=e.layerType||e.type;return checkArg("layerJson.layerType",a).satisfies((e=>!e||"ArcGISTiledMapServiceLayer"===e),ERR_LAYER_TYPE_MISMATCH),checkArg("layer",r).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),ERR_LAYER_TYPE_MISMATCH),PortalLayerBase.applyToEsriApiLayer(e,r)}_createLayerListSettings(e){return new LayerExtensionLayerListSettings(e,this,!1)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISTiledMapServiceLayer"}}}}_isSupportedLayer(e){return isTileLayer(e)}_createSchema(){return new TileLayerSchema(this)}async _initializeLayer(){if(await super._initializeLayer(),!this.layer.url)throw new InvalidOperationError("Tile layer must have a URL.")}async _onInitialize(){if(await super._onInitialize(),!this.layer.tileInfo)throw new Error(`The layer at URL "${this.layer.url}" is not a tile layer or does not have a tiling scheme defined.`)}async _applyPortalItemProperties(e){if("Map Service"!==e.type)throw new Error(`Cannot create Tile Layer from Portal item that has type: ${e.type}`);const r=await LayerExtension._getLayerData(e.url,new DefaultArcGISRequestHelper);if("Elevation"===r.cacheType)throw new Error("Cannot create Tile Layer from Portal item that references an Elevation layer");if(!r.tileInfo)throw new Error("Cannot create Tile Layer from Portal item that does not reference a tiled map service");const a={layerType:"ArcGISTiledMapServiceLayer",url:e.url};await PortalTiledMapServiceLayer.applyToEsriApiLayer(a,this.layer)}};TileLayerExtension=__decorate([serializable],TileLayerExtension);export{TileLayerExtension};let TileLayerSchema=class extends LayerExtensionSchema{_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0}}}};TileLayerSchema=__decorate([serializable],TileLayerSchema);
1
+ import{__decorate as e}from"tslib";import{InvalidOperationError as r}from"../InvalidOperationError.js";import{LayerBase as t}from"../portal/LayerBase.js";import{TiledMapServiceLayer as a}from"../portal/TiledMapServiceLayer.js";import{ERR_LAYER_TYPE_MISMATCH as i}from"../portal/_layerHelper.js";import{DefaultArcGISRequestHelper as s}from"../support/ArcGISRequestHelper.js";import{serializable as o}from"../support/Serializable.js";import{isTileLayer as l}from"../utilities/_layers.js";import{checkArg as n}from"../utilities/checkArg.js";import{TileSublayerExtension as p}from"./TileSublayerExtension.js";import{LayerExtension as y,LayerExtensionLayerListSettings as c,LayerExtensionSchema as m}from"./_LayerExtension.js";let u=class extends y{get layer(){return super.layer}get supportsSublayers(){return!0}_createSublayerExtension(e){return new p(e)}_applyLayerProperties(e,r){n("layerJson",e).isNotMissing();const a=e.layerType||e.type;return n("layerJson.layerType",a).satisfies((e=>!e||"ArcGISTiledMapServiceLayer"===e),i),n("layer",r).isNotMissing().satisfies((e=>this._isSupportedLayer(e)),i),t.applyToEsriApiLayer(e,r)}_createLayerListSettings(e){return new c(e,this,!1)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISTiledMapServiceLayer"}}}}_isSupportedLayer(e){return l(e)}_createSchema(){return new f(this)}async _initializeLayer(){if(await super._initializeLayer(),!this.layer.url)throw new r("Tile layer must have a URL.")}async _onInitialize(){if(await super._onInitialize(),!this.layer.tileInfo)throw new Error(`The layer at URL "${this.layer.url}" is not a tile layer or does not have a tiling scheme defined.`)}async _applyPortalItemProperties(e){if("Map Service"!==e.type)throw new Error(`Cannot create Tile Layer from Portal item that has type: ${e.type}`);const r=await y._getLayerData(e.url,new s);if("Elevation"===r.cacheType)throw new Error("Cannot create Tile Layer from Portal item that references an Elevation layer");if(!r.tileInfo)throw new Error("Cannot create Tile Layer from Portal item that does not reference a tiled map service");const t={layerType:"ArcGISTiledMapServiceLayer",url:e.url};await a.applyToEsriApiLayer(t,this.layer)}};u=e([o],u);export{u as TileLayerExtension};let f=class extends m{_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0}}}};f=e([o],f);
@@ -1 +1 @@
1
- var TileSublayerExtension_1;import{__decorate}from"tslib";import{serializable}from"../support/Serializable.js";import{getLogger}from"../utilities/log.js";import{ArcGISSublayerExtension}from"./ArcGISSublayerExtension.js";const log=getLogger("TileSublayerExtension");let TileSublayerExtension=TileSublayerExtension_1=class extends ArcGISSublayerExtension{get layerExtension(){return super.layerExtension}get sublayerExtensions(){return super.sublayerExtensions}get canToggleVisibility(){return!1}get canChangeOpacity(){return!1}get canChangeScale(){return!1}_createSublayerExtension(e){return new TileSublayerExtension_1(e)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,visibilityMode:{...this._toPropertyDef(e.visibilityMode),serialize:()=>"inherited",deserialize:e=>{"inherited"!==e&&log.error(`SublayerExtension (id: ${this.id}, title: ${this.title}) visibilityMode cannot be set to ${e}.`)},default:"inherited"}}}};TileSublayerExtension=TileSublayerExtension_1=__decorate([serializable],TileSublayerExtension);export{TileSublayerExtension};
1
+ var e;import{__decorate as i}from"tslib";import{serializable as t}from"../support/Serializable.js";import{getLogger as r}from"../utilities/log.js";import{ArcGISSublayerExtension as s}from"./ArcGISSublayerExtension.js";const n=r("TileSublayerExtension");let o=e=class extends s{get layerExtension(){return super.layerExtension}get sublayerExtensions(){return super.sublayerExtensions}get canToggleVisibility(){return!1}get canChangeOpacity(){return!1}get canChangeScale(){return!1}_createSublayerExtension(i){return new e(i)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,visibilityMode:{...this._toPropertyDef(e.visibilityMode),serialize:()=>"inherited",deserialize:e=>{"inherited"!==e&&n.error(`SublayerExtension (id: ${this.id}, title: ${this.title}) visibilityMode cannot be set to ${e}.`)},default:"inherited"}}}};o=e=i([t],o);export{o as TileSublayerExtension};
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{serializable}from"../support/Serializable.js";import{LayerExtension}from"./_LayerExtension.js";let UnsupportedLayerExtension=class extends LayerExtension{_isSupportedLayer(e){return!0}get dynamicallyAddedLayer(){return!0}set dynamicallyAddedLayer(e){}};UnsupportedLayerExtension=__decorate([serializable],UnsupportedLayerExtension);export{UnsupportedLayerExtension};
1
+ import{__decorate as e}from"tslib";import{serializable as r}from"../support/Serializable.js";import{LayerExtension as t}from"./_LayerExtension.js";let a=class extends t{_isSupportedLayer(e){return!0}get dynamicallyAddedLayer(){return!0}set dynamicallyAddedLayer(e){}};a=e([r],a);export{a as UnsupportedLayerExtension};
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{VectorTileLayer as PortalVectorTileLayer}from"../portal/VectorTileLayer.js";import{serializable}from"../support/Serializable.js";import{isVectorTileLayer}from"../utilities/_layers.js";import{LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";let VectorTileLayerExtension=class extends LayerExtension{get layer(){return super.layer}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"VectorTileLayer"}}}}_isSupportedLayer(e){return isVectorTileLayer(e)}_createSchema(){return new VectorTileLayerSchema(this)}async _initializeLayer(){if(await super._initializeLayer(),!this.layer.url)throw new InvalidOperationError("Vector tile layer must have a URL.")}async _onInitialize(){if(await super._onInitialize(),!this.layer.tileInfo)throw new Error(`The layer at URL "${this.layer.url}" is not a vector tile layer or does not have a tiling scheme defined.`)}async _applyPortalItemProperties(e){if("Vector Tile Service"!==e.type)throw new Error(`Cannot create Vector Tiled Layer from Portal item that has type: ${e.type}`);let r=`${e.itemUrl}/resources/styles/root.json`;try{await this.requestHelper.request(r,{query:{f:"json"}})}catch(t){r=e.url}const t={layerType:"VectorTileLayer",styleUrl:r};return PortalVectorTileLayer.applyToEsriApiLayer(t,this.layer)}};VectorTileLayerExtension=__decorate([serializable],VectorTileLayerExtension);export{VectorTileLayerExtension};let VectorTileLayerSchema=class extends LayerExtensionSchema{_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0,sync:!1}}}};VectorTileLayerSchema=__decorate([serializable],VectorTileLayerSchema);
1
+ import{__decorate as e}from"tslib";import{InvalidOperationError as r}from"../InvalidOperationError.js";import{VectorTileLayer as t}from"../portal/VectorTileLayer.js";import{serializable as a}from"../support/Serializable.js";import{isVectorTileLayer as i}from"../utilities/_layers.js";import{LayerExtension as l,LayerExtensionSchema as o}from"./_LayerExtension.js";let s=class extends l{get layer(){return super.layer}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"VectorTileLayer"}}}}_isSupportedLayer(e){return i(e)}_createSchema(){return new y(this)}async _initializeLayer(){if(await super._initializeLayer(),!this.layer.url)throw new r("Vector tile layer must have a URL.")}async _onInitialize(){if(await super._onInitialize(),!this.layer.tileInfo)throw new Error(`The layer at URL "${this.layer.url}" is not a vector tile layer or does not have a tiling scheme defined.`)}async _applyPortalItemProperties(e){if("Vector Tile Service"!==e.type)throw new Error(`Cannot create Vector Tiled Layer from Portal item that has type: ${e.type}`);let r=`${e.itemUrl}/resources/styles/root.json`;try{await this.requestHelper.request(r,{query:{f:"json"}})}catch(t){r=e.url}const a={layerType:"VectorTileLayer",styleUrl:r};return t.applyToEsriApiLayer(a,this.layer)}};s=e([a],s);export{s as VectorTileLayerExtension};let y=class extends o{_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0,sync:!1}}}};y=e([a],y);
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{WMSLayer as WMSLayerJson}from"../portal/WMSLayer.js";import{serializable}from"../support/Serializable.js";import{isWMSLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{WMSSublayerExtension}from"./WMSSublayerExtension.js";import{LayerExtension}from"./_LayerExtension.js";import{WfsCapabilities}from"./support/WfsCapabilities.js";import{SublayerExtensionCollectionBase}from"./support/_SublayerExtensionCollection.js";const ERR_SUBLAYERX_COLLECTION_READONLY="SublayerExtension collection for WMSLayerExtension is readonly";let WMSLayerExtension=class extends LayerExtension{get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get supportsSublayers(){return!0}get wfsUrl(){return this._wfsUrl}set wfsUrl(e){this._wfsUrl=e,this.wfsCapabilities=new WfsCapabilities({url:this._wfsUrl})}_createSublayerExtension(e){return new WMSSublayerExtension(e)}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{visibleLayers:r}=WMSLayerJson.fromEsriApiLayer(this.layer);return e.visibleLayers=r,e}async _onInitialize(){await super._onInitialize(),this._deferredSublayerProperties&&(this.assignProperties({layer:{layerType:"WMS",layers:this._deferredSublayerProperties}}),this._deferredSublayerProperties=void 0)}_isSupportedLayer(e){return isWMSLayer(e)}_createSublayerExtensionCollection(){return new SublayerExtensionCollectionImpl(this)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,wfsUrl:"initial",layer:{...this._toPropertyDef(e.layer),default:{layerType:"WMS"},deserialize:r=>{if(this._toPropertyDef(e.layer).deserialize(r),r&&!isWMSLayer(r)&&r.layers&&(!this.layer||!this.layer.sublayers)){this._deferredSublayerProperties=this._deferredSublayerProperties||[];for(const e of r.layers){const r=this._deferredSublayerProperties.findIndex((r=>r.name===e.name));r>=0?this._deferredSublayerProperties[r]={...this._deferredSublayerProperties[r],...e}:this._deferredSublayerProperties.push({...e})}}}}}}async _applyPortalItemProperties(e){if("WMS"!==e.type)throw new Error(`Cannot create WMS layer from Portal item that has type: ${e.type}`);const r={layerType:"WMS",...await e.fetchData()};return WMSLayerJson.applyToEsriApiLayer(r,this.layer)}};WMSLayerExtension=__decorate([serializable],WMSLayerExtension);export{WMSLayerExtension};class SublayerExtensionCollectionImpl extends SublayerExtensionCollectionBase{constructor(e){super(e,"layer.sublayers"),this._layerExtension=e}add(e,r){if(checkArg("sublayerX",e).isNotMissing(),e.sublayer&&this._parent.layer.sublayers&&!this._parent.layer.sublayers.includes(e.sublayer))throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY);return super.add(e,r)}removeAt(e){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}reorder(e,r){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}reverse(){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}sort(e){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}splice(e,r,...t){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}_createSublayerExtension(e){return this._parent._createSublayerExtension(e)}}
1
+ import{__decorate as e}from"tslib";import{InvalidOperationError as r}from"../InvalidOperationError.js";import{WMSLayer as t}from"../portal/WMSLayer.js";import{serializable as s}from"../support/Serializable.js";import{isWMSLayer as i}from"../utilities/_layers.js";import{checkArg as a}from"../utilities/checkArg.js";import{WMSSublayerExtension as o}from"./WMSSublayerExtension.js";import{LayerExtension as l}from"./_LayerExtension.js";import{WfsCapabilities as n}from"./support/WfsCapabilities.js";import{SublayerExtensionCollectionBase as y}from"./support/_SublayerExtensionCollection.js";const p="SublayerExtension collection for WMSLayerExtension is readonly";let u=class extends l{get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get supportsSublayers(){return!0}get wfsUrl(){return this._wfsUrl}set wfsUrl(e){this._wfsUrl=e,this.wfsCapabilities=new n({url:this._wfsUrl})}_createSublayerExtension(e){return new o(e)}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{visibleLayers:r}=t.fromEsriApiLayer(this.layer);return e.visibleLayers=r,e}async _onInitialize(){await super._onInitialize(),this._deferredSublayerProperties&&(this.assignProperties({layer:{layerType:"WMS",layers:this._deferredSublayerProperties}}),this._deferredSublayerProperties=void 0)}_isSupportedLayer(e){return i(e)}_createSublayerExtensionCollection(){return new f(this)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,wfsUrl:"initial",layer:{...this._toPropertyDef(e.layer),default:{layerType:"WMS"},deserialize:r=>{if(this._toPropertyDef(e.layer).deserialize(r),r&&!i(r)&&r.layers&&!this.layer?.sublayers){this._deferredSublayerProperties=this._deferredSublayerProperties||[];for(const e of r.layers){const r=this._deferredSublayerProperties.findIndex((r=>r.name===e.name));r>=0?this._deferredSublayerProperties[r]={...this._deferredSublayerProperties[r],...e}:this._deferredSublayerProperties.push({...e})}}}}}}async _applyPortalItemProperties(e){if("WMS"!==e.type)throw new Error(`Cannot create WMS layer from Portal item that has type: ${e.type}`);const r={layerType:"WMS",...await e.fetchData()};return t.applyToEsriApiLayer(r,this.layer)}};u=e([s],u);export{u as WMSLayerExtension};class f extends y{constructor(e){super(e,"layer.sublayers"),this._layerExtension=e}add(e,t){if(a("sublayerX",e).isNotMissing(),e.sublayer&&this._parent.layer.sublayers&&!this._parent.layer.sublayers.includes(e.sublayer))throw new r(p);return super.add(e,t)}removeAt(e){throw new r(p)}reorder(e,t){throw new r(p)}reverse(){throw new r(p)}sort(e){throw new r(p)}splice(e,t,...s){throw new r(p)}_createSublayerExtension(e){return this._parent._createSublayerExtension(e)}}
@@ -1 +1 @@
1
- var WMSSublayerExtension_1;import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{WMSSublayer as PortalWMSSublayer}from"../portal/WMSSublayer.js";import{serializable}from"../support/Serializable.js";import{isWMSSublayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{SublayerExtension,SubSublayerExtensionCollection}from"./_SublayerExtension.js";const ERR_SUBLAYERX_COLLECTION_READONLY="SublayerExtension collection for WMSLayerExtension is readonly";let WMSSublayerExtension=WMSSublayerExtension_1=class extends SublayerExtension{get sublayer(){return super.sublayer}get sublayerExtensions(){return super.sublayerExtensions}get layerExtension(){return super.layerExtension}get supportsSublayers(){return!0}get effectiveFullExtent(){return this.sublayer?this.sublayer.fullExtent:this.parentSublayerExtension?this.parentSublayerExtension.effectiveFullExtent:this.layerExtension?this.layerExtension.effectiveFullExtent:void 0}get hasFeatures(){return!0}get canChangeOpacity(){return!1}_createSublayerExtension(e){return new WMSSublayerExtension_1(e)}_isSupportedSublayer(e){return isWMSSublayer(e)}_createSublayer(e){return PortalWMSSublayer.toEsriApiWMSSublayer({...e})}async _applySublayerProperties(e,r){return PortalWMSSublayer.applyToEsriApiWMSSublayer(e,r)}_serializeSublayer(e){return PortalWMSSublayer.fromEsriApiWMSSublayer(e)}_createSublayerExtensionCollection(){return new SubSublayerExtensionCollectionImpl(this)}};WMSSublayerExtension=WMSSublayerExtension_1=__decorate([serializable],WMSSublayerExtension);export{WMSSublayerExtension};class SubSublayerExtensionCollectionImpl extends SubSublayerExtensionCollection{add(e,r){if(checkArg("sublayerX",e).isNotMissing(),e.sublayer&&this._parent.sublayer.sublayers&&!this._parent.sublayer.sublayers.includes(e.sublayer))throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY);return super.add(e,r)}removeAt(e){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}reorder(e,r){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}}
1
+ var e;import{__decorate as r}from"tslib";import{InvalidOperationError as t}from"../InvalidOperationError.js";import{WMSSublayer as s}from"../portal/WMSSublayer.js";import{serializable as n}from"../support/Serializable.js";import{isWMSSublayer as a}from"../utilities/_layers.js";import{checkArg as i}from"../utilities/checkArg.js";import{SublayerExtension as l,SubSublayerExtensionCollection as u}from"./_SublayerExtension.js";const o="SublayerExtension collection for WMSLayerExtension is readonly";let y=e=class extends l{get sublayer(){return super.sublayer}get sublayerExtensions(){return super.sublayerExtensions}get layerExtension(){return super.layerExtension}get supportsSublayers(){return!0}get effectiveFullExtent(){return this.sublayer?this.sublayer.fullExtent:this.parentSublayerExtension?this.parentSublayerExtension.effectiveFullExtent:this.layerExtension?this.layerExtension.effectiveFullExtent:void 0}get hasFeatures(){return!0}get canChangeOpacity(){return!1}_createSublayerExtension(r){return new e(r)}_isSupportedSublayer(e){return a(e)}_createSublayer(e){return s.toEsriApiWMSSublayer({...e})}async _applySublayerProperties(e,r){return s.applyToEsriApiWMSSublayer(e,r)}_serializeSublayer(e){return s.fromEsriApiWMSSublayer(e)}_createSublayerExtensionCollection(){return new p(this)}};y=e=r([n],y);export{y as WMSSublayerExtension};class p extends u{add(e,r){if(i("sublayerX",e).isNotMissing(),e.sublayer&&this._parent.sublayer.sublayers&&!this._parent.sublayer.sublayers.includes(e.sublayer))throw new t(o);return super.add(e,r)}removeAt(e){throw new t(o)}reorder(e,r){throw new t(o)}}
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{WebTileLayer as WebTileLayerJson}from"../portal/WebTileLayer.js";import{serializable}from"../support/Serializable.js";import{isWMTSLayer}from"../utilities/_layers.js";import{checkArg}from"../utilities/checkArg.js";import{getLogger}from"../utilities/log.js";import{WMTSSublayerExtension}from"./WMTSSublayerExtension.js";import{LayerExtension,LayerExtensionLayerListSettings}from"./_LayerExtension.js";import{SublayerExtensionCollectionBase}from"./support/_SublayerExtensionCollection.js";const log=getLogger("WMTSLayerExtension"),ERR_SUBLAYERX_COLLECTION_READONLY="SublayerExtension collection for WMTSLayerExtension is readonly";let WMTSLayerExtension=class extends LayerExtension{get supportsSublayers(){return!0}get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get _layerSupportsHideChildren(){return!1}_createSublayerExtension(e){return new WMTSSublayerExtension(e)}toJSON(e="all"){const r=super.toJSON(e);return r.layer.$ref&&(r.layer.wmtsInfo={}),r}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"WebTiledLayer",wmtsInfo:{}}}}}_createLayerListSettings(e){return new LayerExtensionLayerListSettings(e,this,!1)}async _onInitialize(){try{await super._onInitialize()}catch(e){if("RESTful"!==this.layer.serviceMode)throw e;{log.warn(`WMTS Layer '${this.id}' failed to load with the 'RESTful' service mode. Now attempting to load the layer with the 'KVP' service mode...`);const{fromEsriApiLayer:e,toEsriApiLayer:r}=WebTileLayerJson,t=this.layer;await this._switchLayer(await r(e(t))),this.mapExtension?.map?.layers.remove(t),this.layer.serviceMode="KVP",this.mapExtension?.map?.layers.add(this.layer),await super._onInitialize()}}this.layer.watch("activeLayer",(e=>{this.layer.title=e.title,this.notifyChange("title")}),!0)}_isSupportedLayer(e){return isWMTSLayer(e)}_createSublayerExtensionCollection(){return new SublayerExtensionCollectionImpl(this)}async _applyPortalItemProperties(e){if("WMTS"!==e.type)throw new Error(`Cannot create WMTS layer from Portal item that has type: ${e.type}`);const r={layerType:"WebTiledLayer",...await e.fetchData()};return WebTileLayerJson.applyToEsriApiLayer(r,this.layer)}};WMTSLayerExtension=__decorate([serializable],WMTSLayerExtension);export{WMTSLayerExtension};class SublayerExtensionCollectionImpl extends SublayerExtensionCollectionBase{constructor(e){super(e,"layer.sublayers"),this._layerExtension=e}add(e,r){if(checkArg("sublayerX",e).isNotMissing(),e.sublayer&&this._parent.layer.sublayers&&!this._parent.layer.sublayers.includes(e.sublayer))throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY);return super.add(e,r)}removeAt(e){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}reorder(e,r){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}reverse(){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}sort(e){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}splice(e,r,...t){throw new InvalidOperationError(ERR_SUBLAYERX_COLLECTION_READONLY)}_createSublayerExtension(e){return this._parent._createSublayerExtension(e)}}
1
+ import{__decorate as e}from"tslib";import{InvalidOperationError as r}from"../InvalidOperationError.js";import{WebTileLayer as t}from"../portal/WebTileLayer.js";import{serializable as i}from"../support/Serializable.js";import{isWMTSLayer as a}from"../utilities/_layers.js";import{checkArg as s}from"../utilities/checkArg.js";import{getLogger as o}from"../utilities/log.js";import{WMTSSublayerExtension as n}from"./WMTSSublayerExtension.js";import{LayerExtension as l,LayerExtensionLayerListSettings as y}from"./_LayerExtension.js";import{SublayerExtensionCollectionBase as p}from"./support/_SublayerExtensionCollection.js";const u=o("WMTSLayerExtension"),h="SublayerExtension collection for WMTSLayerExtension is readonly";let c=class extends l{get supportsSublayers(){return!0}get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get _layerSupportsHideChildren(){return!1}_createSublayerExtension(e){return new n(e)}toJSON(e="all"){const r=super.toJSON(e);return r.layer.$ref&&(r.layer.wmtsInfo={}),r}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"WebTiledLayer",wmtsInfo:{}}}}}_createLayerListSettings(e){return new y(e,this,!1)}async _onInitialize(){try{await super._onInitialize()}catch(e){if("RESTful"!==this.layer.serviceMode)throw e;{u.warn(`WMTS Layer '${this.id}' failed to load with the 'RESTful' service mode. Now attempting to load the layer with the 'KVP' service mode...`);const{fromEsriApiLayer:e,toEsriApiLayer:r}=t,i=this.layer;await this._switchLayer(await r(e(i))),this.mapExtension?.map?.layers.remove(i),this.layer.serviceMode="KVP",this.mapExtension?.map?.layers.add(this.layer),await super._onInitialize()}}this.layer.watch("activeLayer",(e=>{this.layer.title=e.title,this.notifyChange("title")}),!0)}_isSupportedLayer(e){return a(e)}_createSublayerExtensionCollection(){return new m(this)}async _applyPortalItemProperties(e){if("WMTS"!==e.type)throw new Error(`Cannot create WMTS layer from Portal item that has type: ${e.type}`);const r={layerType:"WebTiledLayer",...await e.fetchData()};return t.applyToEsriApiLayer(r,this.layer)}};c=e([i],c);export{c as WMTSLayerExtension};class m extends p{constructor(e){super(e,"layer.sublayers"),this._layerExtension=e}add(e,t){if(s("sublayerX",e).isNotMissing(),e.sublayer&&this._parent.layer.sublayers&&!this._parent.layer.sublayers.includes(e.sublayer))throw new r(h);return super.add(e,t)}removeAt(e){throw new r(h)}reorder(e,t){throw new r(h)}reverse(){throw new r(h)}sort(e){throw new r(h)}splice(e,t,...i){throw new r(h)}_createSublayerExtension(e){return this._parent._createSublayerExtension(e)}}
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{InvalidOperationError}from"../InvalidOperationError.js";import{serializable}from"../support/Serializable.js";import{isWMTSSublayer}from"../utilities/_layers.js";import{getLogger}from"../utilities/log.js";import{SublayerExtension}from"./_SublayerExtension.js";const log=getLogger("WMTSSublayerExtension"),ERR_CREATE_SUBLAYER_NOT_SUPPORTED="WMTS sublayers cannot be created or configured from JSON. They must be created with an ESRI WMTSSublayer object.";let WMTSSublayerExtension=class extends SublayerExtension{get sublayer(){return super.sublayer}get layerExtension(){return super.layerExtension}get canToggleVisibility(){return!1}get canChangeOpacity(){return!1}get canChangeScale(){return!1}get effectiveFullExtent(){return this.sublayer?this.sublayer.fullExtent:this.parentSublayerExtension?this.parentSublayerExtension.effectiveFullExtent:this.layerExtension?this.layerExtension.effectiveFullExtent:void 0}constructor(e){if(super(e),!this.sublayer&&!this._deferredSublayerProperties?.$ref)throw new InvalidOperationError(ERR_CREATE_SUBLAYER_NOT_SUPPORTED)}_isSupportedSublayer(e){return isWMTSSublayer(e)}_createSublayer(e){throw new InvalidOperationError(ERR_CREATE_SUBLAYER_NOT_SUPPORTED)}async _applySublayerProperties(e,r){}_serializeSublayer(e){return this._createSublayerRef()}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,visibilityMode:{...this._toPropertyDef(e.visibilityMode),serialize:()=>"inherited",deserialize:e=>{"inherited"!==e&&log.error(`SublayerExtension (id: ${this.id}, title: ${this.title}) visibilityMode cannot be set to ${e}.`)},default:"inherited"}}}};WMTSSublayerExtension=__decorate([serializable],WMTSSublayerExtension);export{WMTSSublayerExtension};
1
+ import{__decorate as e}from"tslib";import{InvalidOperationError as t}from"../InvalidOperationError.js";import{serializable as r}from"../support/Serializable.js";import{isWMTSSublayer as i}from"../utilities/_layers.js";import{getLogger as s}from"../utilities/log.js";import{SublayerExtension as l}from"./_SublayerExtension.js";const n=s("WMTSSublayerExtension"),a="WMTS sublayers cannot be created or configured from JSON. They must be created with an ESRI WMTSSublayer object.";let o=class extends l{get sublayer(){return super.sublayer}get layerExtension(){return super.layerExtension}get canToggleVisibility(){return!1}get canChangeOpacity(){return!1}get canChangeScale(){return!1}get effectiveFullExtent(){return this.sublayer?this.sublayer.fullExtent:this.parentSublayerExtension?this.parentSublayerExtension.effectiveFullExtent:this.layerExtension?this.layerExtension.effectiveFullExtent:void 0}constructor(e){if(super(e),!this.sublayer&&!this._deferredSublayerProperties?.$ref)throw new t(a)}_isSupportedSublayer(e){return i(e)}_createSublayer(e){throw new t(a)}async _applySublayerProperties(e,t){}_serializeSublayer(e){return this._createSublayerRef()}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,visibilityMode:{...this._toPropertyDef(e.visibilityMode),serialize:()=>"inherited",deserialize:e=>{"inherited"!==e&&n.error(`SublayerExtension (id: ${this.id}, title: ${this.title}) visibilityMode cannot be set to ${e}.`)},default:"inherited"}}}};o=e([r],o);export{o as WMTSSublayerExtension};
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{serializable}from"../support/Serializable.js";import{isWebTileLayer}from"../utilities/_layers.js";import{LayerExtension,LayerExtensionSchema}from"./_LayerExtension.js";let WebTileLayerExtension=class extends LayerExtension{get layer(){return super.layer}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"WebTiledLayer"}}}}_isSupportedLayer(e){return isWebTileLayer(e)}_createSchema(){return new WebTileLayerSchema(this)}};WebTileLayerExtension=__decorate([serializable],WebTileLayerExtension);export{WebTileLayerExtension};let WebTileLayerSchema=class extends LayerExtensionSchema{_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0}}}};WebTileLayerSchema=__decorate([serializable],WebTileLayerSchema);
1
+ import{__decorate as e}from"tslib";import{serializable as r}from"../support/Serializable.js";import{isWebTileLayer as t}from"../utilities/_layers.js";import{LayerExtension as a,LayerExtensionSchema as i}from"./_LayerExtension.js";let s=class extends a{get layer(){return super.layer}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"WebTiledLayer"}}}}_isSupportedLayer(e){return t(e)}_createSchema(){return new l(this)}};s=e([r],s);export{s as WebTileLayerExtension};let l=class extends i{_getPropertyBindings(){return{spatialReference:{property:"spatialReference",readonly:!0}}}};l=e([r],l);
@@ -417,7 +417,7 @@ export declare abstract class LayerExtension<TProperties extends LayerExtensionP
417
417
  /**
418
418
  * Represents a binding between a schema setting and a Layer property.
419
419
  */
420
- export declare type LayerExtensionSchemaPropertyBinding = string | {
420
+ export type LayerExtensionSchemaPropertyBinding = string | {
421
421
  /**
422
422
  * Value that will always be return for this binding.
423
423
  */