@arcgis/core 5.2.0-next.27 → 5.2.0-next.28

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 (266) hide show
  1. package/WebLinkChart.js +1 -1
  2. package/arcade/Dictionary.js +1 -1
  3. package/arcade/Feature.js +1 -1
  4. package/arcade/Pixel.js +1 -1
  5. package/arcade/deepClone.js +1 -1
  6. package/arcade/featureset/support/FeatureSet.js +1 -1
  7. package/arcade/functions/geometry.js +1 -1
  8. package/arcade/languageUtils.js +1 -1
  9. package/assets/esri/core/libs/libtess/libtess-f32.wasm +0 -0
  10. package/assets/esri/core/libs/libtess/libtess-f64.wasm +0 -0
  11. package/assets/esri/core/workers/RemoteClient.js +1 -1
  12. package/assets/esri/core/workers/chunks/{5ee887fc6e1e0e70e02f.js → 1664434dc7a67c8ce453.js} +1 -1
  13. package/assets/esri/core/workers/chunks/1837f97f720d255a1694.js +1 -0
  14. package/assets/esri/core/workers/chunks/1893a4b344aa9b57aa8d.js +1 -0
  15. package/assets/esri/core/workers/chunks/209460f8aae3f9f8c9b8.js +1 -0
  16. package/assets/esri/core/workers/chunks/{316a3d5c7842b445e29e.js → 24704e70d1ce01ca4081.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{bf9eca7dd107bdb06614.js → 2665337e1b665e7e2b70.js} +1 -1
  18. package/assets/esri/core/workers/chunks/29a7321fd069253c2521.js +1 -0
  19. package/assets/esri/core/workers/chunks/{31c4128b23968575feca.js → 31d92ba9089617aa59ab.js} +1 -1
  20. package/assets/esri/core/workers/chunks/390f2beee8e3f2a302e4.js +1 -0
  21. package/assets/esri/core/workers/chunks/3eee32db0e9a5086b9a8.js +1 -0
  22. package/assets/esri/core/workers/chunks/{511b9c12a7479d39dac0.js → 409bc7d69b95f7a1634c.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{4e16d7fa2e6f11d082b5.js → 4ba4fd8fa31169760fee.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{268ee59800e64baa9682.js → 4be0c64bbf2449d57ea5.js} +1 -1
  25. package/assets/esri/core/workers/chunks/4fc32e60e63a9c8429b9.js +1 -0
  26. package/assets/esri/core/workers/chunks/{e8e7cd26c43f231cdea2.js → 5189413a83faf3480e29.js} +1 -1
  27. package/assets/esri/core/workers/chunks/5363c622a0571134cadd.js +1 -0
  28. package/assets/esri/core/workers/chunks/{88b08b386926ec889573.js → 548842f8ba9224b15ee4.js} +1 -1
  29. package/assets/esri/core/workers/chunks/5c63b38160c7d063b8af.js +1 -0
  30. package/assets/esri/core/workers/chunks/6183a26837dc087663ad.js +1 -0
  31. package/assets/esri/core/workers/chunks/{a9d477f90e5046400dd5.js → 654a6dc13ff5be88c8b9.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{1f03e34520746e432719.js → 67f44cab103d4411dcc5.js} +1 -1
  33. package/assets/esri/core/workers/chunks/697e0ce10d77b90d4fee.js +1 -0
  34. package/assets/esri/core/workers/chunks/{8f93e6fc11a158d4f1ee.js → 7335a762412bc8c15a2f.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{b2b342b06d502fc61ea5.js → 76789f46b2c65d219cf9.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{fae147d03ed723ab234d.js → 78f68f7534716956f5bc.js} +1 -1
  37. package/assets/esri/core/workers/chunks/7b290ac2e8a567ecae4a.js +1 -0
  38. package/assets/esri/core/workers/chunks/7c344c339743295d11d7.js +1 -0
  39. package/assets/esri/core/workers/chunks/{0098544169e429dd98d2.js → 7f1babbb7ead78201ab3.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{dadf85890961bcc205eb.js → 7fcf4f3b9131c7516524.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{292498a9c7d462d215c6.js → 86e61841df12dbe20a19.js} +1 -1
  42. package/assets/esri/core/workers/chunks/8aba35305368234c94f8.js +1 -0
  43. package/assets/esri/core/workers/chunks/{d670e134348954ce465d.js → 8b452383ba972b638a0c.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{a3ecde3794a7db3cf283.js → 8d90bef1091204fba0f1.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{a18cb809dd56c5537b3b.js → 8dbf9b1d8bb6817b19c1.js} +1 -1
  46. package/assets/esri/core/workers/chunks/8f16a358ed83d2264415.js +1 -0
  47. package/assets/esri/core/workers/chunks/{a454df829a72ab02c860.js → 8fd63cb38036f331a803.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{bbcad2fde838819ffc7b.js → 906f4c0fa8135e6c2f03.js} +1 -1
  49. package/assets/esri/core/workers/chunks/989937c120bdd676ec1e.js +1 -0
  50. package/assets/esri/core/workers/chunks/9ba705a6ddabca0f77b1.js +1 -0
  51. package/assets/esri/core/workers/chunks/a2357aae79bfbb91f125.js +1 -0
  52. package/assets/esri/core/workers/chunks/a3ca0649edb646da0918.js +1 -0
  53. package/assets/esri/core/workers/chunks/a9db775210ebeee41738.js +1 -0
  54. package/assets/esri/core/workers/chunks/acbc14395c31f6da509e.js +1 -0
  55. package/assets/esri/core/workers/chunks/{8bd4c43c34aacf3b07da.js → b10f36658aa77bc3a6cf.js} +1 -1
  56. package/assets/esri/core/workers/chunks/b18b6bb85e52b03b85e3.js +680 -0
  57. package/assets/esri/core/workers/chunks/b7458bd3a2f590f32111.js +1 -0
  58. package/assets/esri/core/workers/chunks/{d374cb2d17a2d11c500f.js → c46500cc95a84e2a5f7a.js} +1 -1
  59. package/assets/esri/core/workers/chunks/cc46261e01a985df5aab.js +1 -0
  60. package/assets/esri/core/workers/chunks/{de0c94defb90e1805081.js → d07261f3fb67b9a99369.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{04070767356c12026369.js → d61294dcc3ba41060d44.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{f3d331da3c61af5c5a2f.js → d8ae5b61b5ae71f4796c.js} +1 -1
  63. package/assets/esri/core/workers/chunks/e181d0f5562878b3dc01.js +1 -0
  64. package/assets/esri/core/workers/chunks/{d07068c44d560e4ce02e.js → e5d2fab228d54b18a8a8.js} +1 -1
  65. package/assets/esri/core/workers/chunks/f1d211904d5a1de93cb3.js +1 -0
  66. package/assets/esri/core/workers/chunks/{928b18e13e015330d44b.js → f68b84df093f2894210b.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{3a35779cae6a11cde51b.js → f74b6952c888d92e479e.js} +1 -1
  68. package/assets/esri/core/workers/chunks/f847a4846c427f671455.js +1 -0
  69. package/assets/esri/core/workers/chunks/{66392ff750c28064040a.js → fe20683f442294eb111b.js} +1 -1
  70. package/assets/esri/images/portal/gaussiansplatlayer16.png +0 -0
  71. package/assets/esri/images/portal/knowledgegraphlayer16.png +0 -0
  72. package/assets/esri/images/portal/propresentation16.png +0 -0
  73. package/assets/esri/images/portal/urbanproject16.png +0 -0
  74. package/assets/esri/images/support/loading-throb.gif +0 -0
  75. package/assets/esri/layers/raster/formats/lerc-wasm.wasm +0 -0
  76. package/assets/esri/libs/basisu/basis_encoder.wasm +0 -0
  77. package/assets/esri/libs/dxtEncoder/dxt_encoder.wasm +0 -0
  78. package/assets/esri/themes/base/icons/style.scss +0 -0
  79. package/assets/esri/themes/base/icons/variables.scss +0 -0
  80. package/assets/esri/themes/base/images/files/archive-32.svg +0 -0
  81. package/assets/esri/themes/base/images/files/cad-32.svg +0 -0
  82. package/assets/esri/themes/base/images/files/code-32.svg +0 -0
  83. package/assets/esri/themes/base/images/files/csv-32.svg +0 -0
  84. package/assets/esri/themes/base/images/files/excel-32.svg +0 -0
  85. package/assets/esri/themes/base/images/files/generic-32.svg +0 -0
  86. package/assets/esri/themes/base/images/files/gpx-32.svg +0 -0
  87. package/assets/esri/themes/base/images/files/image-32.svg +0 -0
  88. package/assets/esri/themes/base/images/files/pdf-32.svg +0 -0
  89. package/assets/esri/themes/base/images/files/report-32.svg +0 -0
  90. package/assets/esri/themes/base/images/files/sound-32.svg +0 -0
  91. package/assets/esri/themes/base/images/files/text-32.svg +0 -0
  92. package/assets/esri/themes/base/images/files/video-32.svg +0 -0
  93. package/assets/esri/themes/base/images/files/word-32.svg +0 -0
  94. package/assets/esri/themes/base/images/files/zip-32.svg +0 -0
  95. package/assets/esri/themes/base/images/loading-throb.gif +0 -0
  96. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +24 -0
  97. package/assets/esri/themes/base/widgets/_Bookmarks.scss +0 -0
  98. package/assets/esri/themes/dark/main.css +1 -1
  99. package/assets/esri/themes/light/main.css +1 -1
  100. package/assets/esri/themes/light/view.css +1 -1
  101. package/chunks/OITBlend.glsl.js +1 -1
  102. package/chunks/languageUtils.js +1 -1
  103. package/config.js +1 -1
  104. package/core/Loadable.js +1 -1
  105. package/core/colorUtils.js +1 -1
  106. package/core/has.js +1 -1
  107. package/core/workers/WorkerHandle.js +1 -1
  108. package/editing/sharedTemplates/SharedTemplateProvider.js +1 -1
  109. package/geometry/Mesh.js +1 -1
  110. package/geometry/support/meshUtils/loadExternal.js +1 -1
  111. package/identity/OAuthCredential.js +1 -1
  112. package/kernel.js +1 -1
  113. package/layers/AnnotationFeatureLayer.d.ts +2 -2
  114. package/layers/AnnotationFeatureLayer.js +1 -1
  115. package/layers/LinkChartLayer.js +1 -1
  116. package/layers/ParquetLayer.js +1 -1
  117. package/layers/PointCloudLayer.js +1 -1
  118. package/layers/SceneLayer.js +1 -1
  119. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  120. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  121. package/layers/graphics/editingSupport.js +1 -1
  122. package/layers/graphics/sources/MemorySource.js +1 -1
  123. package/layers/graphics/sources/ParquetSource.js +1 -1
  124. package/layers/mixins/EditBusLayer.js +1 -1
  125. package/layers/mixins/SceneService.js +1 -1
  126. package/layers/support/KMLSublayer.js +1 -1
  127. package/layers/support/ParquetFilesData.js +1 -1
  128. package/layers/support/TitleCreator.js +1 -1
  129. package/package.json +3 -3
  130. package/rest/knowledgeGraph/ReplicaDefinition.d.ts +62 -6
  131. package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +1 -1
  132. package/support/ArcadeExpression.js +1 -1
  133. package/support/basemapUtils.js +1 -1
  134. package/support/revision.js +1 -1
  135. package/versionManagement/VersionManagementService.js +1 -1
  136. package/versionManagement/VersionManager.js +1 -1
  137. package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
  138. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
  139. package/views/2d/engine/ParentChildStage.js +1 -1
  140. package/views/2d/engine/Stage.js +1 -1
  141. package/views/2d/engine/ThrottledCanvas.js +2 -0
  142. package/views/2d/engine/webgl/Profiler.js +1 -1
  143. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  144. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  145. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  146. package/views/2d/layers/LayerView2D.js +1 -1
  147. package/views/2d/layers/MediaLayerView2D.js +1 -1
  148. package/views/2d/layers/TileLayerView2D.js +1 -1
  149. package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
  150. package/views/2d/layers/features/layerAdapters/DimensionLayerAdapter.js +1 -1
  151. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  152. package/views/2d/layers/features/layerAdapters/featureLayerAdapterUtils.js +2 -0
  153. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  154. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  155. package/views/3d/camera/constraintUtils/surfaceCollision.js +1 -1
  156. package/views/3d/camera/constraintUtils.js +1 -1
  157. package/views/3d/glTF/internal/Resource.js +1 -1
  158. package/views/3d/glTF/loader.js +1 -1
  159. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  160. package/views/3d/layers/I3SMeshView3D.js +1 -1
  161. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  162. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  163. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  164. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  165. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  166. package/views/3d/layers/graphics/tessellationUtils.js +1 -1
  167. package/views/3d/state/GoToOperation.js +1 -1
  168. package/views/3d/state/SurfaceCollisionConstraint.js +1 -1
  169. package/views/3d/state/ViewState.js +1 -1
  170. package/views/3d/state/ViewStateManager.js +1 -1
  171. package/views/3d/state/controllers/PointToPointAnimationController.js +1 -1
  172. package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
  173. package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
  174. package/views/3d/support/renderInfoUtils/polygon.js +1 -1
  175. package/views/3d/webgl/ManagedFBO.js +1 -1
  176. package/views/3d/webgl/RenderCamera.js +1 -1
  177. package/views/3d/webgl/RenderNode.js +1 -1
  178. package/views/3d/webgl-engine/effects/RenderNodes.js +1 -1
  179. package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.js +1 -1
  180. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
  181. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  182. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  183. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  184. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  185. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  186. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  187. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  188. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  189. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  190. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  191. package/views/3d/webgl-engine/effects/transparency/OITBlendTechniqueConfiguration.js +1 -1
  192. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
  193. package/views/3d/webgl-engine/lib/CutFillVisualizationRenderNode.js +1 -1
  194. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  195. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  196. package/views/3d/webgl.js +1 -1
  197. package/views/VideoView.js +1 -1
  198. package/views/View2D.js +1 -1
  199. package/views/Viewport2DBaseMixin.js +1 -1
  200. package/views/analysis/ElevationProfile/ElevationProfileLineGroundComputation.js +1 -1
  201. package/views/draw/support/editingSessionUtils.js +1 -1
  202. package/views/popupAdapter.js +1 -1
  203. package/views/webgl/BufferObject.js +1 -1
  204. package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
  205. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  206. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  207. package/widgets/BatchAttributeForm/css.js +1 -1
  208. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  209. package/widgets/BatchAttributeForm/interfaceUtils.js +1 -1
  210. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  211. package/widgets/BatchAttributeForm.js +1 -1
  212. package/widgets/Directions/DirectionsViewModel.js +1 -1
  213. package/widgets/Directions.js +1 -1
  214. package/widgets/Editor/EditorViewModel.d.ts +1 -1
  215. package/widgets/Editor.d.ts +11 -1
  216. package/widgets/Editor.js +1 -1
  217. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  218. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  219. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  220. package/widgets/FeatureTable.js +1 -1
  221. package/widgets/Features/FeaturesViewModel.js +1 -1
  222. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.js +1 -1
  223. package/widgets/Locate/LocateViewModel.js +1 -1
  224. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  225. package/widgets/OrientedImageryViewer/adapters/sketch/DataCaptureAdapter.js +1 -1
  226. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  227. package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
  228. package/widgets/OrientedImageryViewer/services/SuperimposeService.js +1 -1
  229. package/widgets/OrientedImageryViewer/support/MediaPrefetcher.js +1 -1
  230. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  231. package/widgets/Print/PrintViewModel.js +1 -1
  232. package/widgets/Print.js +1 -1
  233. package/widgets/TableList/ListItem.js +1 -1
  234. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  235. package/widgets/VersionManagement/VersionManagementViewModel.js +1 -1
  236. package/widgets/Widget.js +1 -1
  237. package/widgets/support/geolocationUtils.js +1 -1
  238. package/widgets/support/tests.js +1 -1
  239. package/assets/esri/core/workers/chunks/045f178fecc23839bfa8.js +0 -680
  240. package/assets/esri/core/workers/chunks/073ee52705ea326fecfb.js +0 -1
  241. package/assets/esri/core/workers/chunks/0e81b6aa64d5491870b2.js +0 -1
  242. package/assets/esri/core/workers/chunks/126a8c26618425790804.js +0 -1
  243. package/assets/esri/core/workers/chunks/1cb1f125dccbf8c8cac9.js +0 -1
  244. package/assets/esri/core/workers/chunks/2ed81f1e490cb7e73405.js +0 -1
  245. package/assets/esri/core/workers/chunks/32f26757e36704923286.js +0 -1
  246. package/assets/esri/core/workers/chunks/33e86dd1a54e447fa0e3.js +0 -1
  247. package/assets/esri/core/workers/chunks/35c87b0a4d4ee7ce302d.js +0 -1
  248. package/assets/esri/core/workers/chunks/36b904912cea1744d1c6.js +0 -1
  249. package/assets/esri/core/workers/chunks/3df5394b17e9659ecb8f.js +0 -1
  250. package/assets/esri/core/workers/chunks/4adfe7f8a8efe2cd8e80.js +0 -1
  251. package/assets/esri/core/workers/chunks/5396a894e6f8030ca088.js +0 -1
  252. package/assets/esri/core/workers/chunks/6849282c4a5cd733779d.js +0 -1
  253. package/assets/esri/core/workers/chunks/6adc17e6e287a365ad8d.js +0 -1
  254. package/assets/esri/core/workers/chunks/76ed8e455f6bd79e561c.js +0 -1
  255. package/assets/esri/core/workers/chunks/831455798b177678720c.js +0 -1
  256. package/assets/esri/core/workers/chunks/8ca88cfc0b9f84dc5832.js +0 -1
  257. package/assets/esri/core/workers/chunks/93b40245378ced43ca08.js +0 -1
  258. package/assets/esri/core/workers/chunks/98dfe31e8ed9b522eaff.js +0 -1
  259. package/assets/esri/core/workers/chunks/a40ede4d3375184f21fe.js +0 -1
  260. package/assets/esri/core/workers/chunks/af96cbc4fb7bef726635.js +0 -1
  261. package/assets/esri/core/workers/chunks/e73bb7c8de7412d9975c.js +0 -1
  262. package/assets/esri/core/workers/chunks/f23351a04643c464be84.js +0 -1
  263. package/assets/esri/core/workers/chunks/f912c173c58ae4299cbe.js +0 -1
  264. package/assets/esri/core/workers/chunks/f93facf47aba9b128fcc.js +0 -1
  265. package/views/2d/engine/ManagedCanvas.js +0 -2
  266. package/views/3d/state/controllers/SurfaceCollisionCorrectionController.js +0 -2
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{id as t}from"../../kernel.js";import r from"../../core/Collection.js";import{deprecatedModule as s}from"../../core/deprecate.js";import i from"../../core/Error.js";import{EventedAccessor as a}from"../../core/Evented.js";import l from"../../core/Logger.js";import{whenOnce as o,once as n}from"../../core/reactiveUtils.js";import{property as c,subclass as u}from"../../core/accessorSupport/decorators.js";import{ensureArray as h}from"../../core/accessorSupport/ensureType.js";import{isPoint as p,isMultipoint as d}from"../../geometry/support/jsonTypeUtils.js";import{fetchMessageBundle as g}from"../../intl/messages.js";import y from"../../layers/FeatureLayer.js";import m from"../../layers/GraphicsLayer.js";import f from"../../layers/support/CodedValueDomain.js";import{isFeatureLayer as w,isSubtypeSublayer as b,getOwningPortalUrl as _}from"../../layers/support/layerUtils.js";import A from"../../networks/UtilityNetwork.js";import{getFeaturesFromLayers as v}from"../../networks/support/utils.js";import k from"../../portal/Portal.js";import{hasUserTypeExtension as I}from"../../portal/support/utils.js";import{trace as F}from"../../rest/networks/trace.js";import G from"../../rest/networks/support/TraceLocation.js";import R from"../../rest/networks/support/TraceParameters.js";import{addUniqueLayer as T}from"../../views/draw/support/layerUtils.js";import{GeometryHandler as L}from"./support/GeometryHandler.js";import{GraphicHandler as H,barrierColor as N,startingPointColor as S}from"./support/GraphicHandler.js";import{ResultAreaHandler as P}from"./support/ResultAreaHandler.js";import{UtilityHelper as U}from"./support/UtilityHelper.js";const B=()=>g("esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace"),j=()=>g("esri/core/t9n/Units"),V=`utility-network-trace-flags-${Date.now()}`,C=`utility-network-trace-results-${Date.now()}`,E=`utility-network-trace-sketch-${Date.now()}`;function O(e){return e instanceof f}function D(e){return"feature"===e.layer.type||"subtype-group"===e.layer.type}function M(e){return"layer"in e}function x(e){return void 0!==e.layerViews}function q(e){return"graphics"===e.type}function $(e){return"feature"===e.type||"subtype-group"===e.type||"group"===e.type}async function z(e){const t=new y({url:e.networkSystemLayers.dirtyAreasLayerUrl});await t.load();const r=t.version;if(Number(r)<=11.1){const t=await _(e.layerUrl),r=new k({url:t});await r.load();const s=r?.user?.username;return!!s&&I(r,s,"utilityNetwork")}return!0}s(l.getLogger("esri.widgets.UtilityNetworkTrace.UtilityNetworkTraceViewModel"),"UtilityNetworkTraceViewModel",{replacement:"Use esri/networks/UtilityNetworkTraceAnalysis instead",version:"5.0",warnOnce:!0});let Q=class extends a{constructor(e){super(e),this._activeProgress=!1,this._clickHandler=null,this._flags=[],this._flagId=0,this._geometryHandler=null,this._highlightHandler=[],this._resultAreaHandler=null,this._sketchViewModel=null,this._traceTimeout=6e5,this._utilityHelper=new U,this._validUNLayers=[],this._watchHandler=null,this.traces=[],this.graphicHandler=null,this.defaultGraphicColor={color:[255,255,0,.6],haloOpacity:.9,fillOpacity:.2,hex:"#FFFF00"},this.enableResultArea=!1,this.flags=[],this.messages=null,this.messagesUnits=null,this.defaultResultAreaProperties={type:"convexhull",distance:10,unit:"meters",areaUnit:"square-meters",color:{color:[255,165,0,.5],haloOpacity:.9,fillOpacity:.2,hex:"#ffa500"},show:!1},this.selectedTraces=[],this.selectOnComplete=!0,this.showGraphicsOnComplete=!0,this.showSelectionAttributes=!0,this.traceResults=[],this.utilityNetwork=null}initialize(){this._geometryHandler=new L,this.graphicHandler=new H,this._resultAreaHandler=new P;(async()=>{const[e,t]=await Promise.all([B(),j()]);this.set({messages:e,messagesUnits:t})})()}destroy(){this.view=null}get resultAreaProperties(){return this.defaultResultAreaProperties}set resultAreaProperties(e){this._set("resultAreaProperties",{...this.defaultResultAreaProperties,...e}),this.graphicHandler.addCustomColor(this.resultAreaProperties.color),this.traceResults.forEach(t=>{const r=t.resultArea?.show;t.resultArea={...this.defaultResultAreaProperties,...e},this.removeResultAreaFromMap(t),this.enableResultArea&&this.createResultAreaGraphic(t).then(s=>{if(s){t.resultAreaGraphic=s;const i=e?.show??r;t.resultArea&&(t.resultArea.show=i),i&&this.addResultAreaToMap(t,s)}})})}get state(){return this.view?.ready?"ready":"loading"}get view(){return this._get("view")}set view(e){e&&"2d"!==e.type&&l.getLogger(this).error(new i("view:invalid-view","SceneView is not supported",{view:e})),this._set("view",e),this.utilityNetwork&&this.reset(),this.utilityNetwork=null,this.loadUtilityNetwork().then(e=>{e&&this.selectTracesOnLoad()})}addFlagByHit(e,t){const r=!!this.view&&this.view.popupEnabled,s=e=>{this.view?.popup&&(this.view.popupEnabled=e)};return new Promise((i,a)=>{r&&s(!1),this._clickHandler?.remove(),this._clickHandler=this._sketchViewModel.on("create",l=>{if("complete"===l.state){const o=this._getGraphicLayer(E);o&&l.graphic&&o.remove(l.graphic),this.queryFlagByHitTest(l,e,t).then(r=>{this.emit("add-flag-complete",{type:e,symbol:t}),i(r)}).catch(r=>{this.emit("add-flag-error",{type:e,symbol:t}),a(r)}).finally(()=>{r&&s(!0),this._clickHandler?.remove()})}}),this._sketchViewModel.create("point"),this.emit("add-flag",{type:e})})}addNonspatialTraceLocation(e,t){const r=this._getDisplayField(e),s=this.utilityNetwork?.getTerminalConfiguration(e),i={terminalId:null,isFilterBarrier:!1,allTerminals:s,selectedTerminals:[s?s.terminals[0].id||null:1],displayValue:r};e.attributes={...e.attributes,...i};const a=e.attributes.hasOwnProperty("GLOBALID")?e.attributes.GLOBALID:e.attributes.globalid;if(!this._flags.some(e=>e.globalId===a&&e.type===t)){const r=this._createFlagProperty(e,t,null);this._flags.push(r),this.emit("add-flag-complete",{type:t})}this.emit("add-flag",{type:t})}async addFlagsOnLoad(){if(this._flags.length>0)return[];await o(()=>null!=this.view&&!this.view.updating);return(await Promise.all(this.flags.map(async e=>{if(!e.mapPoint)return null;const{type:t}=e,r=e.mapPoint.clone(),s="barrier"===t?N:S,i={graphic:this.graphicHandler.makeGraphic(r,s),state:"complete",tool:"point",toolEventInfo:null,type:"create"};try{return await this.queryFlagByHitTest(i,e.type,null),this.emit("add-flag-complete",{type:t}),null}catch(a){return this.emit("add-flag-error",{type:t}),"barrier"===t?"barrier":"starting-point"}}))).filter(e=>!e)}async addResultAreaToMap(e,t){if(this.view)if(e.resultArea.show=!0,t)this._resultAreaHandler?.addResultAreaToMap(t,this.view.map),this.emit("add-result-area",{graphic:t});else if(e.results){const t=await this.createResultAreaGraphic(e);t&&(e.resultAreaGraphic=t,this._resultAreaHandler?.addResultAreaToMap(t,this.view.map),this.emit("add-result-area",{graphic:t}))}}async addResultGraphicToView(e,t){const{view:r}=this,{results:s}=e;if(r&&s&&this.utilityNetwork)for(const i in s.aggregatedGeometry)if("line,multipoint,polygon".includes(i)){const a=i,l=s.aggregatedGeometry[a];if(null!=l){l.spatialReference=this.utilityNetwork.spatialReference,e.graphicEnabled=!0;const s=await this._geometryHandler.projectGeometry(l,r.spatialReference),i={globalid:e.trace.globalId};if(null!==s){const e=this.graphicHandler.makeGraphic(s,t.color,i,r.spatialReference);this._getGraphicLayer(C)?.add(e)}}}}addTerminal(e,t){const r=[...this._flags];r.forEach(r=>{r.globalId===t.globalId&&(t.selectedTerminals?.includes(parseInt(e,10))||r.selectedTerminals?.push(parseInt(e,10)))}),this._flags=r}async callTrace(){const e=this.traces.filter(e=>e.selected);return!!e.length&&(this.traceResults.length>0&&this.traceResults.forEach(e=>{this.removeResultGraphicFromView(e)}),this.traceResults=[],this.removeSelection(),await Promise.all(e.map(async(e,t)=>{const r=e,s=new R({gdbVersion:this.utilityNetwork?.gdbVersion,moment:this.utilityNetwork?.historicMoment,namedTraceConfigurationGlobalId:r.globalId,outSpatialReference:null,resultTypes:null,traceType:r.traceType,traceLocations:h(G,this._flags),traceConfiguration:null});await this.executeTrace(r,this.utilityNetwork?.networkServiceUrl,s).then(async e=>{if(e.hasOwnProperty("results")){const r={...e};if(null!==r.results){r.resultArea={...this.resultAreaProperties};const e=[...r.results.elements];r.results.elements.length=0;const s=new Map;for(const t of e)s.has(t.globalId)||(s.set(t.globalId,!0),r.results.elements.push(t));const i=[...this.traceResults];if(i.splice(t,0,r),this.traceResults=i,null!==r.results&&(this.selectOnComplete&&this.mergeSelection(!0,r.trace),this.showGraphicsOnComplete&&await this.addResultGraphicToView(r,r.graphicColor),this.enableResultArea)){const e=await this.createResultAreaGraphic(r);e&&(r.resultAreaGraphic=e,r.resultArea?.show&&await this.addResultAreaToMap(r,r.resultAreaGraphic))}}else{const r=[...this.traceResults];r.splice(t,0,e),this.traceResults=r}this._activeProgress=!1}else{this._activeProgress=!1;const r=[...this.traceResults];r.splice(t,0,e),this.traceResults=r}}).catch(e=>{throw this._activeProgress=!1,e})})),!0)}cancelAddFlagByHit(){this._sketchViewModel.cancel()}changeResultAreaColor(e,t){if(!e.resultArea)return;e.resultArea.color=t;const r=this._resultAreaHandler?.changeResultAreaColor(e.trace.globalId,t,this.view.map);e.resultAreaGraphic&&(e.resultAreaGraphic.symbol=r)}changeResultGraphicColor(e,t){const r=[...this.traceResults];r.length>0&&r.forEach(r=>{r.trace.globalId===t.trace.globalId&&(r.graphicColor=e,r.graphicEnabled=!0)}),this.traceResults=r,this.removeResultGraphicFromView(t),this.addResultGraphicToView(t,e)}changeFlagSymbol(e,t){this._flags.length>0&&this._flags.forEach(r=>{r.type===e&&t&&r.mapGraphic&&(r.mapGraphic.symbol=t)})}checkCanTrace(){const e={status:!0,issues:[]},t=this.traces.filter(e=>e.selected);t.length||(e.status=!1,e.issues.push("noTracesSelected"));this._flags.some(e=>"starting-point"===e.type)||(e.status=!1,e.issues.push("noStartingPoints"));return this._flags.filter(e=>null!==e.allTerminals).some(e=>!e.selectedTerminals.length)&&(e.status=!1,e.issues.push("noTerminalSelected")),e}checkSelectionExist(){return this._highlightHandler.some(e=>e)}clearResult(e){if(!this.view)return;let t=this.traceResults;if(t.length>0){const r=t.filter(t=>t.trace.globalId===e.globalId);r.length>0&&(this.removeResultGraphicFromView(r[0]),this.removeResultAreaFromMap(r[0])),t=t.filter(t=>t.trace.globalId!==e.globalId)}this.traceResults=t,0===t.length?(this.removeAllResultAreaGraphics(),this.removeSelection(),this.emit("clear-selection",{resultSet:[]})):this.mergeSelection(!1,e)}createResultAreaGeometries(e,t,r){if(!this.view||!this.resultAreaProperties)return;let s;if(s="convexhull"===this.resultAreaProperties?.type?1===t.length&&(p(t[0])||d(t[0])&&1===t[0].points.length)?this._resultAreaHandler?.createBuffer(t,r,e.resultArea?.unit,!0):this._resultAreaHandler?.createConvexHull(t,e.resultArea?.distance,e.resultArea?.unit):this._resultAreaHandler?.createBuffer(t,r,e.resultArea?.unit,!0),!s)return;if(Array.isArray(s)){for(const t of s){const r=this.getResultAreaAttributes(e,t),s=this._resultAreaHandler?.createResultAreaGraphic(t,r,e.resultArea?.areaUnit,this.messages,this.messagesUnits,e.resultArea?.color);if(s)return s}return}const i=this.getResultAreaAttributes(e,s);return this._resultAreaHandler?.createResultAreaGraphic(s,i,e.resultArea?.areaUnit,this.messages,this.messagesUnits,e.resultArea?.color)}async createResultAreaGraphic(e){if(e.results){const t=await this._createResultAreaInputGeometry(e.results);if(t.length>0){const r=Array(t.length).fill(e.resultArea?.distance),s=this.createResultAreaGeometries(e,t,r);return this.emit("create-result-area",{graphic:s}),s}}}executeTrace(e,t,r){const s=this._processFlags(r.traceLocations);return r.traceLocations=s,F(t,r,{timeout:this._traceTimeout}).then(t=>({trace:e,results:t,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:"success",date:new Date})).catch(t=>({trace:e,results:null,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:t.message,date:new Date}))}async getNonspatialTraceLocationInitialFeature(){return new Promise((e,t)=>{this._clickHandler?.remove(),this._clickHandler=this._sketchViewModel.on("create",async r=>{if("complete"!==r.state)return;const s=this._getGraphicLayer(E);s&&r.graphic&&s.remove(r.graphic);const i=this.view?.toScreen(r.graphic?.geometry);if(!i)return;const a=await(this.view?.hitTest(i));if(a?.results.length){const r=a.results.find(e=>"graphic"===e.type&&this.utilityNetwork?.isUtilityLayer(e.layer));r?e(r):t(null)}}),this._sketchViewModel.create("point")})}getResultAreaAttributes(e,r){const{messages:s}=this,i=[],a=[];this._flags.forEach(e=>{const t=e.displayValue?.field+":"+e.displayValue?.value+";"+s.attributeStrings.globalid+":"+e.globalId+";"+s.attributeStrings.terminalid+":"+e.terminalId+";"+s.attributeStrings.x+":"+e.mapPoint?.x+";"+s.attributeStrings.y+":"+e.mapPoint?.y;"starting-point"===e.type?i.push(t):a.push(t)});const l=this.utilityNetwork?.gdbVersion;return{traceId:e.trace.globalId,traceName:e.trace.title,traceDescription:e.trace.description??"",startingPoints:i.toString(),barriers:a.toString(),version:l??void 0,username:t?.credentials[0]?.userId,date:e.date,elementCount:e.results?.elements.length,functionResult:JSON.stringify(e.results?.globalFunctionResults),areaStatistic:r?this._geometryHandler.calculateArea(r,e.resultArea?.areaUnit):0}}getValidSources(){let e=[];const t=this.utilityNetwork?.dataElement?.domainNetworks??[];for(const r of t)e=e.concat(r.junctionSources),e=e.concat(r.edgeSources);return e}groupResultsByNetworkSource(e){return 0===e.length?[]:this._groupBy(e,"networkSourceId")}async loadUtilityNetwork(){const{view:e}=this;if(!e)return null;if(await e.when(),this.utilityNetwork){if(this.utilityNetwork.loaded||await this.utilityNetwork.load(),this.utilityNetwork instanceof A){try{const t=e.map;await t.loadAll()}catch(s){if("layer:unsupported-layer-type"!==s.name&&"subtype-grouplayer:missing-subtypes"!==s.name)throw s;console.error(s)}finally{this._loadUNSupportItems()}return this.utilityNetwork}return null}const t=e.map,r=t.utilityNetworks?.at(0);if(r){if(await r.load(),this.utilityNetwork=r,!await z(r))throw new i("utility-network:no-user-type-extension","User type extension not found");try{await t.loadAll()}catch(s){if("layer:unsupported-layer-type"!==s.name&&"subtype-grouplayer:missing-subtypes"!==s.name)throw s;console.error(s)}finally{this._loadUNSupportItems()}return r}return null}manageFilterBarrier(e,t){const r=[...this._flags];r.forEach(r=>{r.globalId===t.globalId&&"barrier"===t.type&&r.id===t.id&&(r.isFilterBarrier=e)}),this._flags=r}mergeSelection(e,t){let r=[];const s=[...this.traceResults],i=t.globalId;s.forEach(t=>{i===t.trace.globalId&&(t.selectionEnabled=e),t.selectionEnabled&&null!==t.results?.elements&&(r=[...r,...t.results?.elements??[]])}),this.selectResults([...new Set(r)])}async queryFeaturesById(e){const{view:t}=this;if(!t||!this.utilityNetwork)return null;const s=this.utilityNetwork.getObjectIdsFromElements(e),i={layerUrl:s[0].layerUrl,objectIds:s[0].objectIds,outFields:["*"]},a=t.map?.allTables.toArray().filter(e=>e?.parsedUrl?.path===s[0].layerUrl).filter(w)??[];this._getUniqueMapLayerViews(t).filter(({layer:e})=>e?.parsedUrl?.path===s[0].layerUrl).forEach(({layer:e})=>{"feature"!==e.type&&"subtype-group"!==e.type||a.push(e)});const l=(await Promise.all(a.map(async e=>{const s={layers:new r([e]),layerInfos:[i],returnGeometry:!0,outSpatialReference:t.spatialReference},[a]=await v(s,!1);return a}))).filter(({featureSet:e})=>e.features.length>0);return l.length>0?l:null}queryFlagByHitTest(e,t,r){return this._lookupFlagByHit(e).then(e=>{const{view:s}=this;if(!s)return!1;if(e.length>0){const s=[...this._flags],i=r;return e.forEach(e=>{const r=e.graphic,a=r.attributes.hasOwnProperty("GLOBALID")?r.attributes.GLOBALID:r.attributes.globalid;if(s.filter(e=>e.globalId===a).length<=0){const e=this.graphicHandler.getFlagGraphic(r.attributes.mapPoint,t,r,i);this._getGraphicLayer(V)?.add(e);const a=this._createFlagProperty(r,t,e);s.push(a)}else if(null!==r.attributes.percentAlong){const e=this.graphicHandler.getFlagGraphic(r.attributes.mapPoint,t,r,i);this._getGraphicLayer(V)?.add(e);const a=this._createFlagProperty(r,t,e);s.push(a)}}),this._flags=s,!0}return!1})}removeResultGraphicFromView(e){const{view:t}=this;if(!t)return;const r=this._getGraphicLayer(C)?.graphics;e.graphicEnabled=!1;const s=r?.filter(t=>t.attributes[t.attributes.hasOwnProperty("GLOBALID")?"GLOBALID":"globalid"]===e.trace.globalId);s?.forEach(e=>{this._getGraphicLayer(C)?.remove(e)})}removeFlag(e){const t=this._flags.filter(t=>{if(t.id!==e.id)return t});this._removeGraphic(e),this._flags=t}removeAllResultAreaGraphics(){this._resultAreaHandler?.removeAllResultAreaGraphics(this.view.map)}removeResultAreaFromMap(e){if(e.resultArea){e.resultArea.show=!1;const t=this._resultAreaHandler?.removeResultArea(e.trace.globalId,this.view?.map);t&&this.emit("remove-result-area",{graphic:t})}}removeSelection(){this._highlightHandler.forEach(e=>{e&&e.remove()}),this._highlightHandler=[]}removeTerminal(e,t){const r=[...this._flags];r.forEach(r=>{if(r.globalId===t.globalId&&t.selectedTerminals?.includes(parseInt(e,10))){const s=t.selectedTerminals.indexOf(parseInt(e,10));r.selectedTerminals?.splice(s,1)}}),this._flags=r}removeFlagsOnLoadWatcher(){this._watchHandler&&null!==this._watchHandler&&this._watchHandler.remove()}removeClickHandler(){this._clickHandler&&(this._sketchViewModel.cancel(),this._clickHandler.remove())}reset(){this._flags=[],this.traceResults=[];const e=[...this.traces];e.forEach(e=>{e.selected=!1}),this.traces=e,this.view&&(this._getGraphicLayer(E)?.removeAll(),this._getGraphicLayer(V)?.removeAll(),this._getGraphicLayer(C)?.removeAll(),this.removeAllResultAreaGraphics(),this.removeSelection(),this.emit("clear-selection",{resultSet:[]}),this.emit("reset"))}selectFeaturesById(e){const{view:t}=this;if(!t||!this.utilityNetwork)return;const r=this.utilityNetwork.getObjectIdsFromElements(e);this._getUniqueMapLayerViews(t).forEach(e=>{M(e)&&e.layer?.parsedUrl?.path===r[0].layerUrl&&D(e)&&this._highlightHandler.push(e.highlight(r[0].objectIds))})}selectResults(e){if(e.length>0){this.removeSelection();const t=this.groupResultsByNetworkSource(e),r=[];for(const e in t)this.selectFeaturesById(t[e]),r.push(this.queryFeaturesById(t[e]));Promise.all(r).then(e=>{this.emit("select-features",{resultSet:e})})}else this.removeSelection(),this.emit("clear-selection",{resultSet:[]})}selectTraces(e,t){const r=[...this.traces];r.forEach(r=>{t===r.globalId&&(r.selected=e)}),this.traces=r}selectTracesOnLoad(){this.utilityNetwork?.hasOwnProperty("sharedNamedTraceConfigurations")&&(this.traces=[...this.utilityNetwork.sharedNamedTraceConfigurations],this.traces.forEach(e=>{e.selected=!1,this.selectedTraces.includes(e.globalId)&&(e.selected=!0)}))}zoomToAsset(e){this.view?.goTo(e).catch(e=>console.error(e))}async _createResultAreaInputGeometry(e){if(null!=e.aggregatedGeometry)return this._geometryHandler.mergeAggregatedToGeometries(e.aggregatedGeometry);const t=this.groupResultsByNetworkSource(e.elements),r=[];for(const s in t)r.push(this.queryFeaturesById(t[s]));try{const e=await Promise.all(r),t=[];for(const r of e)if(r)for(const e of r)for(const r of e.featureSet.features)r.geometry&&t.push(r.geometry);return t}catch{return[]}}_loadUNSupportItems(){if(!this.utilityNetwork)return;const{map:e}=this.view,{messages:t}=this;this._populateOutfields(),this._createGraphicLayer(E),this._createGraphicLayer(V),this._createGraphicLayer(C),this._resultAreaHandler?.createGraphicLayer(e,t?.alertsStrings.genericResultHeader),this._validUNLayers=this._utilityHelper.getValidUtilityNetworkLayers(e,this.utilityNetwork),this._sketchViewModel=this.graphicHandler.initializeSketch(this.view,this._getGraphicLayer(E),this._validUNLayers)}_getUniqueMapLayerViews(e){const t=[],r=e.layerViews.filter(({layer:{type:e}})=>"feature"===e||"group"===e||"subtype-group"===e).toArray(),s=e=>{for(const r of e.layerViews)x(r)?s(r):t.push(r)};return r.forEach(e=>{switch(e.layer.type){case"group":x(e)&&s(e);break;case"subtype-group":t.push(e);break;default:t.some(t=>t.layer.id===e.layer.id)||t.push(e)}}),t}_processFlags(e){const t=[];return e.forEach(e=>{if(null!==e.selectedTerminals&&e.selectedTerminals.length>0)e.selectedTerminals.forEach(r=>{const s=new G({globalId:e.globalId,percentAlong:e.percentAlong,terminalId:r,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(s)});else{const r=new G({globalId:e.globalId,percentAlong:e.percentAlong,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(r)}}),t}_getDisplayField(e){return b(e?.sourceLayer)?this._getDisplayFieldBySublayer(e):this._getDisplayFieldByFeatureLayer(e)}_getDisplayFieldBySublayer(e){let t="",r="";const s=e.sourceLayer;t=this._checkParentForData(s,"displayField");for(const i in e.attributes){const a=i.toLowerCase();a===t?.toLowerCase()?(r=e.attributes[i],"assetgroup"===a||"assettype"===a?r=this._checkSubtype(s,s.subtypeCode):(r=this._checkDomain(s.fields,i,r),"string"==typeof r&&(r=this._defaultDisplayField(r,s)))):(r=this._checkDomain(s.fields,i,r),"string"==typeof r&&(r=this._defaultDisplayField(r,s)))}return{field:t,value:r?.toString()??s.title}}_getDisplayFieldByFeatureLayer(e){const t=e.sourceLayer;let r=t.displayField,s="";for(const i in e.attributes){const a=i.toLowerCase();if(a===r?.toLowerCase())if(s=e.attributes[i],"assetgroup"===a||"assettype"===a){let a=e.attributes[t.typeIdField.toUpperCase()];a||(a=e.attributes[t.typeIdField.toLowerCase()]),r=t.typeIdField,s=this._checkSubtype(t,a),""===r&&(t.templates&&t.templates.length>0?(r=t.templates[0]?.name,s=t.templates[0]?.name):(r=t.displayField,s=e.attributes[i]))}else s=this._checkDomain(t.fields,i,s),"string"==typeof s&&(s=this._defaultDisplayField(s,t));else s=this._checkDomain(t.fields,i,s),"string"==typeof s&&(s=this._defaultDisplayField(s,t))}return{field:r,value:s?s.toString():""}}_checkSubtype(e,t){let r=t;if("subtype-sublayer"===e.type){const s=this._checkParentForData(e,"subtypes");s?.length>0&&s.forEach(e=>{e.code===t&&(r=e.name)})}else if(null!=e.types&&e.types.length>0){const s=e.types.filter(e=>e.id===t);s.length>0&&(r=s[0].name)}return r}_checkDomain(e,t,r){let s=r;const i=e.filter(e=>e.name.toLowerCase()===t.toLowerCase());if(i.length>0&&O(i[0].domain)&&i[0].domain?.codedValues){const e=i[0].domain.codedValues.filter(({code:e})=>e===r);e.length>0&&(s=e[0].name)}return s}_checkParentForData(e,t){return e.parent?.[t]??null}_defaultDisplayField(e,t){return e.trim()?e:t.templates&&t.templates?.length>0?t.templates[0].name:t.title}get _uniqueFlagId(){return this._flagId++}_groupBy(e,t){return e.reduce((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e),{})}async _lookupFlagByHit(e){const t=[];let r={};const s=e.graphic?.geometry,i=this.view?.toScreen(s),a=await(this.view?.hitTest(i,{include:this._validUNLayers}));if(!a?.results.length)return[];const l=a?.results.find(e=>null!==e.layer),o=l,c=o.graphic.geometry?.type,u=l?.layer,h=u.globalIdField??"globalid",p=u.objectIdField??"objectid";if(h&&!!o.graphic.attributes[h])r=o.graphic.attributes;else{const e=await(this.view?.whenLayerView(u)),t=e.createQuery();t.outFields=["assetgroup","assettype","globalid","objectid"],t.where=`${p} = ${o.graphic.attributes[p]}`,await n(()=>!e?.updating&&!e?.dataUpdating);const s=await(e?.queryFeatures(t)),i=s?.features[0],a=i?.attributes;r=a}const d=this._getDisplayField(o.graphic),g=o.mapPoint;let y={};if("point"===c||"polygon"===c){if(this.utilityNetwork){const e=this.utilityNetwork.getTerminalConfiguration(o.graphic);y={terminalId:e?e.terminals[0].id||null:1,isFilterBarrier:!1,allTerminals:e??null,selectedTerminals:[e?e.terminals[0].id||null:1],percentAlong:null,displayValue:d,mapPoint:g}}}else if("polyline"===c){const t=o.graphic,r=t.layer,s=t.getObjectId(),i=r.createQuery();i.objectIds=[s];const a=await r.queryFeatures(i),l=a?.features[0],n=l?.geometry;await this._geometryHandler.loadProjector();const c=this._geometryHandler.getPercentageAlong(n,e.graphic?.geometry,n.spatialReference);if(c[0]<0)return[];y={terminalId:null,isFilterBarrier:!1,allTerminals:null,selectedTerminals:null,percentAlong:c,displayValue:d,mapPoint:g}}return o.graphic.attributes={...r,...y},t.push(o),t}_createFlagProperty(e,t,r){const s=new G;s.terminalId=e.attributes.terminalId,s.isFilterBarrier=e.attributes.isFilterBarrier,s.percentAlong=e.attributes.percentAlong,s.globalId=e.attributes.globalid||e.attributes.GLOBALID,s.type=t;const i=s;return i.details=e,i.mapGraphic=r,i.id=this._uniqueFlagId,i.allTerminals=e.attributes.allTerminals,i.selectedTerminals=e.attributes.selectedTerminals,i.displayValue=e.attributes.displayValue,i.mapPoint=e.attributes.mapPoint,i}_populateOutfields(){if(!this.view)return;const{map:e}=this.view,t=this.getValidSources(),r=e=>{"group"===e.type?e.layers.forEach(e=>{$(e)&&r(e)}):t.some(t=>t.layerId===e.layerId)&&e.fields.some(e=>"assetgroup"===e.name.toLowerCase())&&(e.outFields=["assetgroup","assettype","globalid","objectid"])};for(const s of e.layers)$(s)&&r(s)}_removeGraphic(e){this._getGraphicLayer(V)?.remove(e.mapGraphic)}_createGraphicLayer(e){const{map:t}=this.view;if(!t.findLayerById(e)){const t=new m({id:e,internal:!0,listMode:"hide",title:e});T(this.view,t)}}_getGraphicLayer(e){const{map:t}=this.view;if(t){const r=t.findLayerById(e);if(r&&q(r))return r}return null}};e([c()],Q.prototype,"_activeProgress",void 0),e([c()],Q.prototype,"_flags",void 0),e([c()],Q.prototype,"traces",void 0),e([c()],Q.prototype,"defaultGraphicColor",void 0),e([c()],Q.prototype,"enableResultArea",void 0),e([c()],Q.prototype,"flags",void 0),e([c()],Q.prototype,"messages",void 0),e([c()],Q.prototype,"messagesUnits",void 0),e([c()],Q.prototype,"resultAreaProperties",null),e([c()],Q.prototype,"selectedTraces",void 0),e([c()],Q.prototype,"selectOnComplete",void 0),e([c()],Q.prototype,"showGraphicsOnComplete",void 0),e([c()],Q.prototype,"showSelectionAttributes",void 0),e([c({readOnly:!0})],Q.prototype,"state",null),e([c()],Q.prototype,"traceResults",void 0),e([c()],Q.prototype,"utilityNetwork",void 0),e([c({value:null})],Q.prototype,"view",null),Q=e([u("esri.widgets.UtilityNetworkTrace.UtilityNetworkTraceViewModel")],Q);const J=Q;export{J as default};
2
+ import{__decorate as e}from"tslib";import{id as t}from"../../kernel.js";import r from"../../core/Collection.js";import{deprecatedModule as s}from"../../core/deprecate.js";import i from"../../core/Error.js";import{EventedAccessor as a}from"../../core/Evented.js";import l from"../../core/Logger.js";import{whenOnce as o,once as n}from"../../core/reactiveUtils.js";import{property as c,subclass as u}from"../../core/accessorSupport/decorators.js";import{ensureArray as h}from"../../core/accessorSupport/ensureType.js";import{isPoint as p,isMultipoint as d}from"../../geometry/support/jsonTypeUtils.js";import{fetchMessageBundle as g}from"../../intl/messages.js";import y from"../../layers/FeatureLayer.js";import m from"../../layers/GraphicsLayer.js";import f from"../../layers/support/CodedValueDomain.js";import{isFeatureLayer as w,isSubtypeSublayer as b,getOwningPortalUrl as _}from"../../layers/support/layerUtils.js";import A from"../../networks/UtilityNetwork.js";import{getFeaturesFromLayers as v}from"../../networks/support/utils.js";import k from"../../portal/Portal.js";import{hasUserTypeExtension as I}from"../../portal/support/utils.js";import{trace as F}from"../../rest/networks/trace.js";import G from"../../rest/networks/support/TraceLocation.js";import R from"../../rest/networks/support/TraceParameters.js";import{addUniqueLayer as T}from"../../views/draw/support/layerUtils.js";import{GeometryHandler as L}from"./support/GeometryHandler.js";import{GraphicHandler as H,barrierColor as N,startingPointColor as S}from"./support/GraphicHandler.js";import{ResultAreaHandler as P}from"./support/ResultAreaHandler.js";import{UtilityHelper as U}from"./support/UtilityHelper.js";const B=()=>g("esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace"),j=()=>g("esri/core/t9n/Units"),V=`utility-network-trace-flags-${Date.now()}`,C=`utility-network-trace-results-${Date.now()}`,E=`utility-network-trace-sketch-${Date.now()}`;function O(e){return e instanceof f}function D(e){return"feature"===e.layer.type||"subtype-group"===e.layer.type}function M(e){return"layer"in e}function x(e){return void 0!==e.layerViews}function q(e){return"graphics"===e.type}function $(e){return"feature"===e.type||"subtype-group"===e.type||"group"===e.type}async function z(e){const t=new y({url:e.networkSystemLayers.dirtyAreasLayerUrl});await t.load();const r=t.version;if(Number(r)<=11.1){const t=await _(e.layerUrl),r=new k({url:t});await r.load();const s=r?.user?.username;return!!s&&I(r,s,"utilityNetwork")}return!0}s(l.getLogger("esri.widgets.UtilityNetworkTrace.UtilityNetworkTraceViewModel"),"UtilityNetworkTraceViewModel",{replacement:"Use esri/networks/UtilityNetworkTraceAnalysis instead",version:"5.0",warnOnce:!0});let Q=class extends a{constructor(e){super(e),this._activeProgress=!1,this._clickHandler=null,this._flags=[],this._flagId=0,this._geometryHandler=null,this._highlightHandler=[],this._resultAreaHandler=null,this._sketchViewModel=null,this._traceTimeout=6e5,this._utilityHelper=new U,this._validUNLayers=[],this._watchHandler=null,this.traces=[],this.graphicHandler=null,this.defaultGraphicColor={color:[255,255,0,.6],haloOpacity:.9,fillOpacity:.2,hex:"#FFFF00"},this.enableResultArea=!1,this.flags=[],this.messages=null,this.messagesUnits=null,this.defaultResultAreaProperties={type:"convexhull",distance:10,unit:"meters",areaUnit:"square-meters",color:{color:[255,165,0,.5],haloOpacity:.9,fillOpacity:.2,hex:"#ffa500"},show:!1},this.selectedTraces=[],this.selectOnComplete=!0,this.showGraphicsOnComplete=!0,this.showSelectionAttributes=!0,this.traceResults=[],this.utilityNetwork=null}initialize(){this._geometryHandler=new L,this.graphicHandler=new H,this._resultAreaHandler=new P;(async()=>{const[e,t]=await Promise.all([B(),j()]);this.set({messages:e,messagesUnits:t})})()}destroy(){this.view=null}get resultAreaProperties(){return this.defaultResultAreaProperties}set resultAreaProperties(e){this._set("resultAreaProperties",{...this.defaultResultAreaProperties,...e}),this.graphicHandler.addCustomColor(this.resultAreaProperties.color),this.traceResults.forEach(t=>{const r=t.resultArea?.show;t.resultArea={...this.defaultResultAreaProperties,...e},this.removeResultAreaFromMap(t),this.enableResultArea&&this.createResultAreaGraphic(t).then(s=>{if(s){t.resultAreaGraphic=s;const i=e?.show??r;t.resultArea&&(t.resultArea.show=i),i&&this.addResultAreaToMap(t,s)}})})}get state(){return this.view?.ready?"ready":"loading"}get view(){return this._get("view")}set view(e){e&&"2d"!==e.type&&l.getLogger(this).error(new i("view:invalid-view","SceneView is not supported",{view:e})),this._set("view",e),this.utilityNetwork&&this.reset(),this.utilityNetwork=null,this.loadUtilityNetwork().then(e=>{e&&this.selectTracesOnLoad()},()=>{})}addFlagByHit(e,t){const r=!!this.view&&this.view.popupEnabled,s=e=>{this.view?.popup&&(this.view.popupEnabled=e)};return new Promise((i,a)=>{r&&s(!1),this._clickHandler?.remove(),this._clickHandler=this._sketchViewModel.on("create",l=>{if("complete"===l.state){const o=this._getGraphicLayer(E);o&&l.graphic&&o.remove(l.graphic),this.queryFlagByHitTest(l,e,t).then(r=>{this.emit("add-flag-complete",{type:e,symbol:t}),i(r)}).catch(r=>{this.emit("add-flag-error",{type:e,symbol:t}),a(r)}).finally(()=>{r&&s(!0),this._clickHandler?.remove()})}}),this._sketchViewModel.create("point"),this.emit("add-flag",{type:e})})}addNonspatialTraceLocation(e,t){const r=this._getDisplayField(e),s=this.utilityNetwork?.getTerminalConfiguration(e),i={terminalId:null,isFilterBarrier:!1,allTerminals:s,selectedTerminals:[s?s.terminals[0].id||null:1],displayValue:r};e.attributes={...e.attributes,...i};const a=e.attributes.hasOwnProperty("GLOBALID")?e.attributes.GLOBALID:e.attributes.globalid;if(!this._flags.some(e=>e.globalId===a&&e.type===t)){const r=this._createFlagProperty(e,t,null);this._flags.push(r),this.emit("add-flag-complete",{type:t})}this.emit("add-flag",{type:t})}async addFlagsOnLoad(){if(this._flags.length>0)return[];await o(()=>null!=this.view&&!this.view.updating);return(await Promise.all(this.flags.map(async e=>{if(!e.mapPoint)return null;const{type:t}=e,r=e.mapPoint.clone(),s="barrier"===t?N:S,i={graphic:this.graphicHandler.makeGraphic(r,s),state:"complete",tool:"point",toolEventInfo:null,type:"create"};try{return await this.queryFlagByHitTest(i,e.type,null),this.emit("add-flag-complete",{type:t}),null}catch(a){return this.emit("add-flag-error",{type:t}),"barrier"===t?"barrier":"starting-point"}}))).filter(e=>!e)}async addResultAreaToMap(e,t){if(this.view)if(e.resultArea.show=!0,t)this._resultAreaHandler?.addResultAreaToMap(t,this.view.map),this.emit("add-result-area",{graphic:t});else if(e.results){const t=await this.createResultAreaGraphic(e);t&&(e.resultAreaGraphic=t,this._resultAreaHandler?.addResultAreaToMap(t,this.view.map),this.emit("add-result-area",{graphic:t}))}}async addResultGraphicToView(e,t){const{view:r}=this,{results:s}=e;if(r&&s&&this.utilityNetwork)for(const i in s.aggregatedGeometry)if("line,multipoint,polygon".includes(i)){const a=i,l=s.aggregatedGeometry[a];if(null!=l){l.spatialReference=this.utilityNetwork.spatialReference,e.graphicEnabled=!0;const s=await this._geometryHandler.projectGeometry(l,r.spatialReference),i={globalid:e.trace.globalId};if(null!==s){const e=this.graphicHandler.makeGraphic(s,t.color,i,r.spatialReference);this._getGraphicLayer(C)?.add(e)}}}}addTerminal(e,t){const r=[...this._flags];r.forEach(r=>{r.globalId===t.globalId&&(t.selectedTerminals?.includes(parseInt(e,10))||r.selectedTerminals?.push(parseInt(e,10)))}),this._flags=r}async callTrace(){const e=this.traces.filter(e=>e.selected);return!!e.length&&(this.traceResults.length>0&&this.traceResults.forEach(e=>{this.removeResultGraphicFromView(e)}),this.traceResults=[],this.removeSelection(),await Promise.all(e.map(async(e,t)=>{const r=e,s=new R({gdbVersion:this.utilityNetwork?.gdbVersion,moment:this.utilityNetwork?.historicMoment,namedTraceConfigurationGlobalId:r.globalId,outSpatialReference:null,resultTypes:null,traceType:r.traceType,traceLocations:h(G,this._flags),traceConfiguration:null});await this.executeTrace(r,this.utilityNetwork?.networkServiceUrl,s).then(async e=>{if(e.hasOwnProperty("results")){const r={...e};if(null!==r.results){r.resultArea={...this.resultAreaProperties};const e=[...r.results.elements];r.results.elements.length=0;const s=new Map;for(const t of e)s.has(t.globalId)||(s.set(t.globalId,!0),r.results.elements.push(t));const i=[...this.traceResults];if(i.splice(t,0,r),this.traceResults=i,null!==r.results&&(this.selectOnComplete&&this.mergeSelection(!0,r.trace),this.showGraphicsOnComplete&&await this.addResultGraphicToView(r,r.graphicColor),this.enableResultArea)){const e=await this.createResultAreaGraphic(r);e&&(r.resultAreaGraphic=e,r.resultArea?.show&&await this.addResultAreaToMap(r,r.resultAreaGraphic))}}else{const r=[...this.traceResults];r.splice(t,0,e),this.traceResults=r}this._activeProgress=!1}else{this._activeProgress=!1;const r=[...this.traceResults];r.splice(t,0,e),this.traceResults=r}}).catch(e=>{throw this._activeProgress=!1,e})})),!0)}cancelAddFlagByHit(){this._sketchViewModel.cancel()}changeResultAreaColor(e,t){if(!e.resultArea)return;e.resultArea.color=t;const r=this._resultAreaHandler?.changeResultAreaColor(e.trace.globalId,t,this.view.map);e.resultAreaGraphic&&(e.resultAreaGraphic.symbol=r)}changeResultGraphicColor(e,t){const r=[...this.traceResults];r.length>0&&r.forEach(r=>{r.trace.globalId===t.trace.globalId&&(r.graphicColor=e,r.graphicEnabled=!0)}),this.traceResults=r,this.removeResultGraphicFromView(t),this.addResultGraphicToView(t,e)}changeFlagSymbol(e,t){this._flags.length>0&&this._flags.forEach(r=>{r.type===e&&t&&r.mapGraphic&&(r.mapGraphic.symbol=t)})}checkCanTrace(){const e={status:!0,issues:[]},t=this.traces.filter(e=>e.selected);t.length||(e.status=!1,e.issues.push("noTracesSelected"));this._flags.some(e=>"starting-point"===e.type)||(e.status=!1,e.issues.push("noStartingPoints"));return this._flags.filter(e=>null!==e.allTerminals).some(e=>!e.selectedTerminals.length)&&(e.status=!1,e.issues.push("noTerminalSelected")),e}checkSelectionExist(){return this._highlightHandler.some(e=>e)}clearResult(e){if(!this.view)return;let t=this.traceResults;if(t.length>0){const r=t.filter(t=>t.trace.globalId===e.globalId);r.length>0&&(this.removeResultGraphicFromView(r[0]),this.removeResultAreaFromMap(r[0])),t=t.filter(t=>t.trace.globalId!==e.globalId)}this.traceResults=t,0===t.length?(this.removeAllResultAreaGraphics(),this.removeSelection(),this.emit("clear-selection",{resultSet:[]})):this.mergeSelection(!1,e)}createResultAreaGeometries(e,t,r){if(!this.view||!this.resultAreaProperties)return;let s;if(s="convexhull"===this.resultAreaProperties?.type?1===t.length&&(p(t[0])||d(t[0])&&1===t[0].points.length)?this._resultAreaHandler?.createBuffer(t,r,e.resultArea?.unit,!0):this._resultAreaHandler?.createConvexHull(t,e.resultArea?.distance,e.resultArea?.unit):this._resultAreaHandler?.createBuffer(t,r,e.resultArea?.unit,!0),!s)return;if(Array.isArray(s)){for(const t of s){const r=this.getResultAreaAttributes(e,t),s=this._resultAreaHandler?.createResultAreaGraphic(t,r,e.resultArea?.areaUnit,this.messages,this.messagesUnits,e.resultArea?.color);if(s)return s}return}const i=this.getResultAreaAttributes(e,s);return this._resultAreaHandler?.createResultAreaGraphic(s,i,e.resultArea?.areaUnit,this.messages,this.messagesUnits,e.resultArea?.color)}async createResultAreaGraphic(e){if(e.results){const t=await this._createResultAreaInputGeometry(e.results);if(t.length>0){const r=Array(t.length).fill(e.resultArea?.distance),s=this.createResultAreaGeometries(e,t,r);return this.emit("create-result-area",{graphic:s}),s}}}executeTrace(e,t,r){const s=this._processFlags(r.traceLocations);return r.traceLocations=s,F(t,r,{timeout:this._traceTimeout}).then(t=>({trace:e,results:t,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:"success",date:new Date})).catch(t=>({trace:e,results:null,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:t.message,date:new Date}))}async getNonspatialTraceLocationInitialFeature(){return new Promise((e,t)=>{this._clickHandler?.remove(),this._clickHandler=this._sketchViewModel.on("create",async r=>{if("complete"!==r.state)return;const s=this._getGraphicLayer(E);s&&r.graphic&&s.remove(r.graphic);const i=this.view?.toScreen(r.graphic?.geometry);if(!i)return;const a=await(this.view?.hitTest(i));if(a?.results.length){const r=a.results.find(e=>"graphic"===e.type&&this.utilityNetwork?.isUtilityLayer(e.layer));r?e(r):t(null)}}),this._sketchViewModel.create("point")})}getResultAreaAttributes(e,r){const{messages:s}=this,i=[],a=[];this._flags.forEach(e=>{const t=e.displayValue?.field+":"+e.displayValue?.value+";"+s.attributeStrings.globalid+":"+e.globalId+";"+s.attributeStrings.terminalid+":"+e.terminalId+";"+s.attributeStrings.x+":"+e.mapPoint?.x+";"+s.attributeStrings.y+":"+e.mapPoint?.y;"starting-point"===e.type?i.push(t):a.push(t)});const l=this.utilityNetwork?.gdbVersion;return{traceId:e.trace.globalId,traceName:e.trace.title,traceDescription:e.trace.description??"",startingPoints:i.toString(),barriers:a.toString(),version:l??void 0,username:t?.credentials[0]?.userId,date:e.date,elementCount:e.results?.elements.length,functionResult:JSON.stringify(e.results?.globalFunctionResults),areaStatistic:r?this._geometryHandler.calculateArea(r,e.resultArea?.areaUnit):0}}getValidSources(){let e=[];const t=this.utilityNetwork?.dataElement?.domainNetworks??[];for(const r of t)e=e.concat(r.junctionSources),e=e.concat(r.edgeSources);return e}groupResultsByNetworkSource(e){return 0===e.length?[]:this._groupBy(e,"networkSourceId")}async loadUtilityNetwork(){const{view:e}=this;if(!e)return null;if(await e.when(),this.utilityNetwork){if(this.utilityNetwork.loaded||await this.utilityNetwork.load(),this.utilityNetwork instanceof A){try{const t=e.map;await t.loadAll()}catch(s){if("layer:unsupported-layer-type"!==s.name&&"subtype-grouplayer:missing-subtypes"!==s.name)throw s;console.error(s)}finally{this._loadUNSupportItems()}return this.utilityNetwork}return null}const t=e.map,r=t.utilityNetworks?.at(0);if(r){if(await r.load(),this.utilityNetwork=r,!await z(r))throw new i("utility-network:no-user-type-extension","User type extension not found");try{await t.loadAll()}catch(s){if("layer:unsupported-layer-type"!==s.name&&"subtype-grouplayer:missing-subtypes"!==s.name)throw s;console.error(s)}finally{this._loadUNSupportItems()}return r}return null}manageFilterBarrier(e,t){const r=[...this._flags];r.forEach(r=>{r.globalId===t.globalId&&"barrier"===t.type&&r.id===t.id&&(r.isFilterBarrier=e)}),this._flags=r}mergeSelection(e,t){let r=[];const s=[...this.traceResults],i=t.globalId;s.forEach(t=>{i===t.trace.globalId&&(t.selectionEnabled=e),t.selectionEnabled&&null!==t.results?.elements&&(r=[...r,...t.results?.elements??[]])}),this.selectResults([...new Set(r)])}async queryFeaturesById(e){const{view:t}=this;if(!t||!this.utilityNetwork)return null;const s=this.utilityNetwork.getObjectIdsFromElements(e),i={layerUrl:s[0].layerUrl,objectIds:s[0].objectIds,outFields:["*"]},a=t.map?.allTables.toArray().filter(e=>e?.parsedUrl?.path===s[0].layerUrl).filter(w)??[];this._getUniqueMapLayerViews(t).filter(({layer:e})=>e?.parsedUrl?.path===s[0].layerUrl).forEach(({layer:e})=>{"feature"!==e.type&&"subtype-group"!==e.type||a.push(e)});const l=(await Promise.all(a.map(async e=>{const s={layers:new r([e]),layerInfos:[i],returnGeometry:!0,outSpatialReference:t.spatialReference},[a]=await v(s,!1);return a}))).filter(({featureSet:e})=>e.features.length>0);return l.length>0?l:null}queryFlagByHitTest(e,t,r){return this._lookupFlagByHit(e).then(e=>{const{view:s}=this;if(!s)return!1;if(e.length>0){const s=[...this._flags],i=r;return e.forEach(e=>{const r=e.graphic,a=r.attributes.hasOwnProperty("GLOBALID")?r.attributes.GLOBALID:r.attributes.globalid;if(s.filter(e=>e.globalId===a).length<=0){const e=this.graphicHandler.getFlagGraphic(r.attributes.mapPoint,t,r,i);this._getGraphicLayer(V)?.add(e);const a=this._createFlagProperty(r,t,e);s.push(a)}else if(null!==r.attributes.percentAlong){const e=this.graphicHandler.getFlagGraphic(r.attributes.mapPoint,t,r,i);this._getGraphicLayer(V)?.add(e);const a=this._createFlagProperty(r,t,e);s.push(a)}}),this._flags=s,!0}return!1})}removeResultGraphicFromView(e){const{view:t}=this;if(!t)return;const r=this._getGraphicLayer(C)?.graphics;e.graphicEnabled=!1;const s=r?.filter(t=>t.attributes[t.attributes.hasOwnProperty("GLOBALID")?"GLOBALID":"globalid"]===e.trace.globalId);s?.forEach(e=>{this._getGraphicLayer(C)?.remove(e)})}removeFlag(e){const t=this._flags.filter(t=>{if(t.id!==e.id)return t});this._removeGraphic(e),this._flags=t}removeAllResultAreaGraphics(){this._resultAreaHandler?.removeAllResultAreaGraphics(this.view.map)}removeResultAreaFromMap(e){if(e.resultArea){e.resultArea.show=!1;const t=this._resultAreaHandler?.removeResultArea(e.trace.globalId,this.view?.map);t&&this.emit("remove-result-area",{graphic:t})}}removeSelection(){this._highlightHandler.forEach(e=>{e&&e.remove()}),this._highlightHandler=[]}removeTerminal(e,t){const r=[...this._flags];r.forEach(r=>{if(r.globalId===t.globalId&&t.selectedTerminals?.includes(parseInt(e,10))){const s=t.selectedTerminals.indexOf(parseInt(e,10));r.selectedTerminals?.splice(s,1)}}),this._flags=r}removeFlagsOnLoadWatcher(){this._watchHandler&&null!==this._watchHandler&&this._watchHandler.remove()}removeClickHandler(){this._clickHandler&&(this._sketchViewModel.cancel(),this._clickHandler.remove())}reset(){this._flags=[],this.traceResults=[];const e=[...this.traces];e.forEach(e=>{e.selected=!1}),this.traces=e,this.view&&(this._getGraphicLayer(E)?.removeAll(),this._getGraphicLayer(V)?.removeAll(),this._getGraphicLayer(C)?.removeAll(),this.removeAllResultAreaGraphics(),this.removeSelection(),this.emit("clear-selection",{resultSet:[]}),this.emit("reset"))}selectFeaturesById(e){const{view:t}=this;if(!t||!this.utilityNetwork)return;const r=this.utilityNetwork.getObjectIdsFromElements(e);this._getUniqueMapLayerViews(t).forEach(e=>{M(e)&&e.layer?.parsedUrl?.path===r[0].layerUrl&&D(e)&&this._highlightHandler.push(e.highlight(r[0].objectIds))})}selectResults(e){if(e.length>0){this.removeSelection();const t=this.groupResultsByNetworkSource(e),r=[];for(const e in t)this.selectFeaturesById(t[e]),r.push(this.queryFeaturesById(t[e]));Promise.all(r).then(e=>{this.emit("select-features",{resultSet:e})})}else this.removeSelection(),this.emit("clear-selection",{resultSet:[]})}selectTraces(e,t){const r=[...this.traces];r.forEach(r=>{t===r.globalId&&(r.selected=e)}),this.traces=r}selectTracesOnLoad(){this.utilityNetwork?.hasOwnProperty("sharedNamedTraceConfigurations")&&(this.traces=[...this.utilityNetwork.sharedNamedTraceConfigurations],this.traces.forEach(e=>{e.selected=!1,this.selectedTraces.includes(e.globalId)&&(e.selected=!0)}))}zoomToAsset(e){this.view?.goTo(e).catch(e=>console.error(e))}async _createResultAreaInputGeometry(e){if(null!=e.aggregatedGeometry)return this._geometryHandler.mergeAggregatedToGeometries(e.aggregatedGeometry);const t=this.groupResultsByNetworkSource(e.elements),r=[];for(const s in t)r.push(this.queryFeaturesById(t[s]));try{const e=await Promise.all(r),t=[];for(const r of e)if(r)for(const e of r)for(const r of e.featureSet.features)r.geometry&&t.push(r.geometry);return t}catch{return[]}}_loadUNSupportItems(){if(!this.utilityNetwork)return;const{map:e}=this.view,{messages:t}=this;this._populateOutfields(),this._createGraphicLayer(E),this._createGraphicLayer(V),this._createGraphicLayer(C),this._resultAreaHandler?.createGraphicLayer(e,t?.alertsStrings.genericResultHeader),this._validUNLayers=this._utilityHelper.getValidUtilityNetworkLayers(e,this.utilityNetwork),this._sketchViewModel=this.graphicHandler.initializeSketch(this.view,this._getGraphicLayer(E),this._validUNLayers)}_getUniqueMapLayerViews(e){const t=[],r=e.layerViews.filter(({layer:{type:e}})=>"feature"===e||"group"===e||"subtype-group"===e).toArray(),s=e=>{for(const r of e.layerViews)x(r)?s(r):t.push(r)};return r.forEach(e=>{switch(e.layer.type){case"group":x(e)&&s(e);break;case"subtype-group":t.push(e);break;default:t.some(t=>t.layer.id===e.layer.id)||t.push(e)}}),t}_processFlags(e){const t=[];return e.forEach(e=>{if(null!==e.selectedTerminals&&e.selectedTerminals.length>0)e.selectedTerminals.forEach(r=>{const s=new G({globalId:e.globalId,percentAlong:e.percentAlong,terminalId:r,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(s)});else{const r=new G({globalId:e.globalId,percentAlong:e.percentAlong,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(r)}}),t}_getDisplayField(e){return b(e?.sourceLayer)?this._getDisplayFieldBySublayer(e):this._getDisplayFieldByFeatureLayer(e)}_getDisplayFieldBySublayer(e){let t="",r="";const s=e.sourceLayer;t=this._checkParentForData(s,"displayField");for(const i in e.attributes){const a=i.toLowerCase();a===t?.toLowerCase()?(r=e.attributes[i],"assetgroup"===a||"assettype"===a?r=this._checkSubtype(s,s.subtypeCode):(r=this._checkDomain(s.fields,i,r),"string"==typeof r&&(r=this._defaultDisplayField(r,s)))):(r=this._checkDomain(s.fields,i,r),"string"==typeof r&&(r=this._defaultDisplayField(r,s)))}return{field:t,value:r?.toString()??s.title}}_getDisplayFieldByFeatureLayer(e){const t=e.sourceLayer;let r=t.displayField,s="";for(const i in e.attributes){const a=i.toLowerCase();if(a===r?.toLowerCase())if(s=e.attributes[i],"assetgroup"===a||"assettype"===a){let a=e.attributes[t.typeIdField.toUpperCase()];a||(a=e.attributes[t.typeIdField.toLowerCase()]),r=t.typeIdField,s=this._checkSubtype(t,a),""===r&&(t.templates&&t.templates.length>0?(r=t.templates[0]?.name,s=t.templates[0]?.name):(r=t.displayField,s=e.attributes[i]))}else s=this._checkDomain(t.fields,i,s),"string"==typeof s&&(s=this._defaultDisplayField(s,t));else s=this._checkDomain(t.fields,i,s),"string"==typeof s&&(s=this._defaultDisplayField(s,t))}return{field:r,value:s?s.toString():""}}_checkSubtype(e,t){let r=t;if("subtype-sublayer"===e.type){const s=this._checkParentForData(e,"subtypes");s?.length>0&&s.forEach(e=>{e.code===t&&(r=e.name)})}else if(null!=e.types&&e.types.length>0){const s=e.types.filter(e=>e.id===t);s.length>0&&(r=s[0].name)}return r}_checkDomain(e,t,r){let s=r;const i=e.filter(e=>e.name.toLowerCase()===t.toLowerCase());if(i.length>0&&O(i[0].domain)&&i[0].domain?.codedValues){const e=i[0].domain.codedValues.filter(({code:e})=>e===r);e.length>0&&(s=e[0].name)}return s}_checkParentForData(e,t){return e.parent?.[t]??null}_defaultDisplayField(e,t){return e.trim()?e:t.templates&&t.templates?.length>0?t.templates[0].name:t.title}get _uniqueFlagId(){return this._flagId++}_groupBy(e,t){return e.reduce((e,r)=>((e[r[t]]=e[r[t]]||[]).push(r),e),{})}async _lookupFlagByHit(e){const t=[];let r={};const s=e.graphic?.geometry,i=this.view?.toScreen(s),a=await(this.view?.hitTest(i,{include:this._validUNLayers}));if(!a?.results.length)return[];const l=a?.results.find(e=>null!==e.layer),o=l,c=o.graphic.geometry?.type,u=l?.layer,h=u.globalIdField??"globalid",p=u.objectIdField??"objectid";if(h&&!!o.graphic.attributes[h])r=o.graphic.attributes;else{const e=await(this.view?.whenLayerView(u)),t=e.createQuery();t.outFields=["assetgroup","assettype","globalid","objectid"],t.where=`${p} = ${o.graphic.attributes[p]}`,await n(()=>!e?.updating&&!e?.dataUpdating);const s=await(e?.queryFeatures(t)),i=s?.features[0],a=i?.attributes;r=a}const d=this._getDisplayField(o.graphic),g=o.mapPoint;let y={};if("point"===c||"polygon"===c){if(this.utilityNetwork){const e=this.utilityNetwork.getTerminalConfiguration(o.graphic);y={terminalId:e?e.terminals[0].id||null:1,isFilterBarrier:!1,allTerminals:e??null,selectedTerminals:[e?e.terminals[0].id||null:1],percentAlong:null,displayValue:d,mapPoint:g}}}else if("polyline"===c){const t=o.graphic,r=t.layer,s=t.getObjectId(),i=r.createQuery();i.objectIds=[s];const a=await r.queryFeatures(i),l=a?.features[0],n=l?.geometry;await this._geometryHandler.loadProjector();const c=this._geometryHandler.getPercentageAlong(n,e.graphic?.geometry,n.spatialReference);if(c[0]<0)return[];y={terminalId:null,isFilterBarrier:!1,allTerminals:null,selectedTerminals:null,percentAlong:c,displayValue:d,mapPoint:g}}return o.graphic.attributes={...r,...y},t.push(o),t}_createFlagProperty(e,t,r){const s=new G;s.terminalId=e.attributes.terminalId,s.isFilterBarrier=e.attributes.isFilterBarrier,s.percentAlong=e.attributes.percentAlong,s.globalId=e.attributes.globalid||e.attributes.GLOBALID,s.type=t;const i=s;return i.details=e,i.mapGraphic=r,i.id=this._uniqueFlagId,i.allTerminals=e.attributes.allTerminals,i.selectedTerminals=e.attributes.selectedTerminals,i.displayValue=e.attributes.displayValue,i.mapPoint=e.attributes.mapPoint,i}_populateOutfields(){if(!this.view)return;const{map:e}=this.view,t=this.getValidSources(),r=e=>{"group"===e.type?e.layers.forEach(e=>{$(e)&&r(e)}):t.some(t=>t.layerId===e.layerId)&&e.fields.some(e=>"assetgroup"===e.name.toLowerCase())&&(e.outFields=["assetgroup","assettype","globalid","objectid"])};for(const s of e.layers)$(s)&&r(s)}_removeGraphic(e){this._getGraphicLayer(V)?.remove(e.mapGraphic)}_createGraphicLayer(e){const{map:t}=this.view;if(!t.findLayerById(e)){const t=new m({id:e,internal:!0,listMode:"hide",title:e});T(this.view,t)}}_getGraphicLayer(e){const{map:t}=this.view;if(t){const r=t.findLayerById(e);if(r&&q(r))return r}return null}};e([c()],Q.prototype,"_activeProgress",void 0),e([c()],Q.prototype,"_flags",void 0),e([c()],Q.prototype,"traces",void 0),e([c()],Q.prototype,"defaultGraphicColor",void 0),e([c()],Q.prototype,"enableResultArea",void 0),e([c()],Q.prototype,"flags",void 0),e([c()],Q.prototype,"messages",void 0),e([c()],Q.prototype,"messagesUnits",void 0),e([c()],Q.prototype,"resultAreaProperties",null),e([c()],Q.prototype,"selectedTraces",void 0),e([c()],Q.prototype,"selectOnComplete",void 0),e([c()],Q.prototype,"showGraphicsOnComplete",void 0),e([c()],Q.prototype,"showSelectionAttributes",void 0),e([c({readOnly:!0})],Q.prototype,"state",null),e([c()],Q.prototype,"traceResults",void 0),e([c()],Q.prototype,"utilityNetwork",void 0),e([c({value:null})],Q.prototype,"view",null),Q=e([u("esri.widgets.UtilityNetworkTrace.UtilityNetworkTraceViewModel")],Q);const J=Q;export{J as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import r from"../../core/Accessor.js";import o from"../../core/Collection.js";import{deprecatedModule as t}from"../../core/deprecate.js";import i from"../../core/Error.js";import s from"../../core/Logger.js";import{watch as n,on as a}from"../../core/reactiveUtils.js";import{removeTrailingSlash as d}from"../../core/urlUtils.js";import{property as l,subclass as u}from"../../core/accessorSupport/decorators.js";import{UpdatingHandles as h}from"../../core/support/UpdatingHandles.js";import{getOwningPortalUrl as p}from"../../layers/support/layerUtils.js";import v from"../../portal/Portal.js";import{hasPrivilege as m}from"../../portal/support/utils.js";import c from"../../rest/featureService/FeatureService.js";import{createFeatureServices as g}from"../../rest/featureService/utils.js";import{getVersioningStates as w}from"../../versionManagement/utils.js";import f from"../../versionManagement/VersioningState.js";import _ from"../../versionManagement/VersionManagementService.js";import{createVersionAdapters as E}from"../../versionManagement/versionAdapters/utils.js";t(s.getLogger("esri.widgets.VersionManagement.VersionManagementViewModel"),"VersionManagementViewModel",{replacement:"Use esri/versionManagement/VersionManager instead",version:"5.0",warnOnce:!0});let L=class extends r{constructor(e){super(e),this._portalLookup=new Map,this._updatingHandlesLoad=new h,this._updatingHandlesExecute=new h,this.executionError=void 0,this.featureServiceLookup=new Map,this.loadError=void 0,this.serverVersionLookup=new Map,this.serviceNameLookup=new Map,this.userLookup=new Map,this.versionAdministratorLookup=new Map,this.versioningStateLookup=new Map,this.view=null,this.versioningStates=null}initialize(){this._viewChangeHandle(),this.addHandles([n(()=>this.view,()=>{this._resetAllLookupProperties(),this._viewChangeHandle()}),n(()=>this.versioningStates,()=>{this._resetVersioningLookupProperties(),this._setVersioningStatesLookups()})])}destroy(){this._updatingHandlesLoad.destroy(),this._updatingHandlesExecute.destroy()}get state(){return this._updatingHandlesLoad.updating?"loading":this.loadError?"disabled":this._updatingHandlesExecute.updating?"executing":this.executionError?"failed":"ready"}async alterVersion(e){return this._updatingHandlesExecute.addPromise(this._alterVersionInternal(e))}async changeVersion(e,r,o){return this._updatingHandlesExecute.addPromise(this._changeVersionInternal(e,r,o))}async createVersion(e){return this._updatingHandlesExecute.addPromise(this._createVersionInternal(e))}async deleteVersion(e,r,o){return this._updatingHandlesExecute.addPromise(this._deleteVersionInternal(e,r,o))}async getVersionInfos(e){return this._updatingHandlesExecute.addPromise(this._getVersionInfosInternal(e))}async _alterVersionInternal(e){if("disabled"===this.state)throw this._logError("version-management-view-model:load-error",this.loadError),new i("version-management-view-model:load-error",this.loadError??"");this._setExecutionError();const r=this.versioningStateLookup.get(e.featureServerUrl);if(!r)throw this._logError("version-management-view-model:execution-error","no-versioning-state-found"),new i("version-management-view-model:execution-error",this.executionError??"");if(!this.serverVersionLookup.has(e.featureServerUrl)||this.serverVersionLookup.get(e.featureServerUrl)<=11.1)throw this._logError("version-management-view-model:execution-error","no-valid-enterprise-version"),new i("version-management-view-model:execution-error",this.executionError??"");const{featureServerUrl:o,versionIdentifier:t,...s}=e,n=await r.alterVersion(t,s).catch(e=>{throw this._logExecutionError(e),e});return await this.getVersionInfos(o),n}async _changeVersionInternal(e,r,o){if("disabled"===this.state)throw this._logError("version-management-view-model:load-error",this.loadError),new i("version-management-view-model:load-error",this.loadError??"");this._setExecutionError();const t=this.versioningStateLookup.get(e);if(!t)throw this._logError("version-management-view-model:execution-error","no-versioning-state-found"),new i("version-management-view-model:execution-error",this.executionError??"");const s={name:r,guid:o};return await t.changeVersion(s).catch(e=>{throw this._logExecutionError(e),e})}_updateVersionableItems(e){this._updatingHandlesLoad.consumePromise((async()=>{E(e.added).forEach(e=>{const r=e.featureServiceUrl,o=this.versioningStateLookup.get(r);o&&(o.versionableItems.find(r=>r.versionableItem===e.versionableItem)||o.versionableItems.add(e))});E(e.removed).forEach(e=>{const{allLayers:r,allTables:o}=this.view.map,t=e.featureServiceUrl,i=this.versioningStateLookup.get(t);if(!i)return void this._logError("version-management-view-model:execution-error","no-version-management-service-found");const s=e=>("feature"===e.type||"subtype-group"===e.type)&&(e.url?.includes(t)??!1);[...r.filter(s),...o.filter(s)].length||(this.featureServiceLookup.delete(t),this.serviceNameLookup.delete(t),this.versioningStateLookup.delete(t),this.versioningStates.remove(i));const n=i.versionableItems.find(r=>r.versionableItem===e.versionableItem);n&&i.versionableItems.remove(n)})})())}async _createVersionInternal(e){if("disabled"===this.state)throw this._logError("version-management-view-model:load-error",this.loadError),new i("version-management-view-model:load-error",this.loadError??"");this._setExecutionError();const r=e.featureServerUrl,o=this.versioningStateLookup.get(r);if(!o)throw this._logError("version-management-view-model:execution-error","no-versioning-state-found"),new i("version-management-view-model:execution-error",this.executionError??"");const t=this.userLookup.get(r).toUpperCase(),s=this._isEmptyString(e.ownerName)?t:e.ownerName?.trim().toUpperCase();if(s!==t&&this.serverVersionLookup.get(r)<=11.1)throw this._logError("version-management-view-model:execution-error","versioning-api-error"),new i("version-management-view-model:execution-error",this.executionError??"");let n=await(this.versioningStateLookup.get(r)?.getVersionInfos());if("SDE"===s?.toUpperCase()&&"DEFAULT"===e.versionName.toUpperCase()||n?.find(r=>r.versionIdentifier.name.toUpperCase()===(s+"."+e.versionName).toUpperCase()||r.versionIdentifier.name.toUpperCase()===(t+"."+e.versionName).toUpperCase()))throw this._logError("version-management-view-model:execution-error","no-valid-version-name"),new i("version-management-view-model:execution-error",this.executionError??"");const a=await o.versionManagementService.createVersion({versionName:e.versionName,access:s!==t?"public":e.access,description:e.description}).catch(e=>{throw this._logExecutionError(e),e});if(s!==t){const{guid:o,name:i}=a.versionIdentifier,n={featureServerUrl:r,versionIdentifier:{guid:o,name:i},access:e.access,ownerName:s};await this.alterVersion(n)||this.deleteVersion(r,t+"."+e.versionName,a.versionIdentifier.guid)}return await this.getVersionInfos(r),n=await(this.versioningStateLookup.get(r)?.getVersionInfos()),n?.find(e=>e.versionIdentifier.guid===a.versionIdentifier.guid)}async _deleteVersionInternal(e,r,o){if("disabled"===this.state)throw this._logError("version-management-view-model:load-error",this.loadError),new i("version-management-view-model:load-error",this.loadError??"");this._setExecutionError();const t=this.versioningStateLookup.get(e);if(!t)throw this._logError("version-management-view-model:execution-error","no-versioning-state-found"),new i("version-management-view-model:execution-error",this.executionError??"");if(this.serverVersionLookup.get(e)<=11.1)throw this._logError("version-management-view-model:execution-error","versioning-api-error"),new i("version-management-view-model:execution-error",this.executionError??"");const s={name:r,guid:o};return await t.deleteVersion(s).catch(e=>{throw this._logExecutionError(e),new i("version-management-view-model:execution-error",this.executionError??"")})}async _getVersionInfosInternal(e){if("disabled"===this.state)throw this._logError("version-management-view-model:load-error",this.loadError),new i("version-management-view-model:load-error",this.loadError??"");this._setExecutionError();const r=this.featureServiceLookup.get(e)?.featureService;if(!r)throw this._logError("version-management-view-model:execution-error","no-feature-service-found"),new i("version-management-view-model:execution-error",this.executionError??"");r.loaded||await r.load().catch(e=>{throw this._logExecutionError(e),e});const o=r.url;this.serverVersionLookup.set(o,r.sourceJSON?.currentVersion??0);const t=this.userLookup.get(e);this._portalLookup.get(e)&&t?this.versionAdministratorLookup.set(o,await m(this._portalLookup.get(e),t,"features:user:manageVersions")):this.versionAdministratorLookup.set(o,!1);const s=this.versioningStateLookup.get(e);if(!s)throw this._logError("version-management-view-model:execution-error","no-versioning-state-found"),new i("version-management-view-model:execution-error",this.executionError??"");s.loaded||await s.load().catch(e=>{throw this._logExecutionError(e),e});return await s.getVersionInfos(!0).catch(e=>{throw this._logExecutionError(e),e})}_isEmptyString(e){return!e||0===e.trim().length}_logError(e,r){switch(s.getLogger(this).error(new i(e,r??"")),e){case"version-management-view-model:load-error":this._setLoadError(r);break;case"version-management-view-model:execution-error":this._setExecutionError(r)}}_logExecutionError(e){this._logError("version-management-view-model:execution-error",e.message)}async _viewChangeHandle(){this._updatingHandlesLoad.consumePromise((async()=>{if(this._setLoadError(),!this.view)return void this._setLoadError("no-view-property");if(this.view&&"2d"!==this.view.type)return void this._logError("version-management-view-model:load-error","sceneView-not-supported");this.removeHandles("map-change-handle"),this.addHandles([n(()=>this.view?.map,()=>{this._resetAllLookupProperties(),this._mapChangeHandle(this.versioningStates)})],"map-change-handle");const e=await this._getVersioningStates();await this._mapChangeHandle(e)})())}async _mapChangeHandle(e){this._updatingHandlesLoad.consumePromise((async()=>{this._setLoadError(),this.removeHandles("map-layers-tables-change-handle"),this.addHandles([a(()=>this.view?.map.allLayers,"change",e=>{(e.added.some(({type:e})=>"feature"===e)||e.removed.some(({type:e})=>"feature"===e)||e.added.some(({type:e})=>"subtype-group"===e)||e.removed.some(({type:e})=>"subtype-group"===e))&&(this._resetServiceRelatedLookupProperties(),this._propertiesChangeInternal(this.versioningStates),this._updateVersionableItems(e))}),a(()=>this.view?.map.allTables,"change",e=>{(e.added.some(({type:e})=>"feature"===e)||e.removed.some(({type:e})=>"feature"===e)||e.added.some(({type:e})=>"subtype-group"===e)||e.removed.some(({type:e})=>"subtype-group"===e))&&(this._resetServiceRelatedLookupProperties(),this._propertiesChangeInternal(this.versioningStates),this._updateVersionableItems(e))})],"map-layers-tables-change-handle"),await this._propertiesChangeInternal(e)})())}async _propertiesChangeInternal(e){this._updatingHandlesLoad.consumePromise((async()=>{const r=e=>"feature"===e.type||"subtype-group"===e.type,{allLayers:o,allTables:t}=this.view.map;if(this._setLoadError(),this.featureServiceLookup=g([...o.filter(r),...t.filter(r)]),this.featureServiceLookup.size){this._updateFeatureServiceLookup(e),this.serviceNameLookup=new Map;for(const e of this.featureServiceLookup.values()){const{featureService:r,featureService:{url:o}}=e;if(!this.serviceNameLookup.has(o)){if(r.loaded||await r.load().catch(e=>{s.getLogger(this).error(e)}),!r.versionManagementServiceUrl){this.featureServiceLookup.delete(o);continue}const e=await p(o),t=new v({authMode:"immediate",url:e});await t.load().catch(e=>{s.getLogger(this).error(e)});const i=t.user?.username;if(!r.loaded||!t.loaded||!i)continue;this.serviceNameLookup.set(d(o),o.split("/").at(-2)),this.userLookup.set(o,i),this._portalLookup.set(o,t)}}e.forEach(e=>this._handleVersioningStateLookupUpdate(e)),await this._updateVersioningStates(e),this.versioningStates=e}else this._logError("version-management-view-model:load-error","no-feature-services")})())}_updateFeatureServiceLookup(e){for(const r of e){const e=r.featureServiceUrl;if(!this.featureServiceLookup.has(e)){const o=new c({url:e}),t=r.versionableItems.toArray().flatMap(e=>"network"===e.type?null:e.versionableItem).filter(e=>!!e);this.featureServiceLookup.set(e,{featureService:o,layers:t})}}}async _updateVersioningStates(e){for(const r of this.featureServiceLookup.values()){const t=r.featureService;if(!t.versionManagementServiceUrl)continue;if(!e.find(e=>e.featureServiceUrl===t.url)&&t.versionManagementServiceUrl){const i=new o(E(r.layers)),s=new f({versionManagementService:new _({url:t.versionManagementServiceUrl}),versionableItems:i});e.add(s),this._handleVersioningStateLookupUpdate(s)}await this.getVersionInfos(t.url)}}async _getVersioningStates(){return this.versioningStates&&this.versioningStates.length?this.versioningStates:this.view?await w(this.view,!1):(this._logError("version-management-view-model:load-error","no-view-property"),new o)}_handleVersioningStateLookupUpdate(e){this.versioningStateLookup.set(e.featureServiceUrl,e)}async _setVersioningStatesLookups(){this._updatingHandlesLoad.consumePromise((async()=>{this.versioningStates&&(this._updateFeatureServiceLookup(this.versioningStates),this.versioningStates.forEach(e=>this._handleVersioningStateLookupUpdate(e)),await this._updateVersioningStates(this.versioningStates))})())}_resetVersioningLookupProperties(){this.versioningStateLookup=new Map}_resetAllLookupProperties(){this._portalLookup=new Map,this.serverVersionLookup=new Map,this.userLookup=new Map,this.versioningStates=new o,this._resetVersioningLookupProperties(),this._resetServiceRelatedLookupProperties()}_resetServiceRelatedLookupProperties(){this.featureServiceLookup=new Map,this.serviceNameLookup=new Map}_setExecutionError(e){this._set("executionError",e)}_setLoadError(e){this._set("loadError",e)}};e([l()],L.prototype,"_portalLookup",void 0),e([l({readOnly:!0})],L.prototype,"executionError",void 0),e([l()],L.prototype,"featureServiceLookup",void 0),e([l({readOnly:!0})],L.prototype,"loadError",void 0),e([l()],L.prototype,"serverVersionLookup",void 0),e([l()],L.prototype,"serviceNameLookup",void 0),e([l({readOnly:!0})],L.prototype,"state",null),e([l()],L.prototype,"userLookup",void 0),e([l()],L.prototype,"versionAdministratorLookup",void 0),e([l()],L.prototype,"versioningStateLookup",void 0),e([l()],L.prototype,"view",void 0),e([l()],L.prototype,"versioningStates",void 0),L=e([u("esri.widgets.VersionManagement.VersionManagementViewModel")],L);const S=L;export{S as default};
2
+ import{__decorate as e}from"tslib";import r from"../../core/Accessor.js";import o from"../../core/Collection.js";import{deprecatedModule as t}from"../../core/deprecate.js";import i from"../../core/Error.js";import s from"../../core/Logger.js";import{watch as n,on as a}from"../../core/reactiveUtils.js";import{removeTrailingSlash as d}from"../../core/urlUtils.js";import{property as l,subclass as u}from"../../core/accessorSupport/decorators.js";import{UpdatingHandles as h}from"../../core/support/UpdatingHandles.js";import{getOwningPortalUrl as p}from"../../layers/support/layerUtils.js";import v from"../../portal/Portal.js";import{hasPrivilege as m}from"../../portal/support/utils.js";import c from"../../rest/featureService/FeatureService.js";import{createFeatureServices as g}from"../../rest/featureService/utils.js";import{getVersioningStates as w}from"../../versionManagement/utils.js";import f from"../../versionManagement/VersioningState.js";import _ from"../../versionManagement/VersionManagementService.js";import{createVersionAdapters as E}from"../../versionManagement/versionAdapters/utils.js";t(s.getLogger("esri.widgets.VersionManagement.VersionManagementViewModel"),"VersionManagementViewModel",{replacement:"Use esri/versionManagement/VersionManager instead",version:"5.0",warnOnce:!0});let L=class extends r{constructor(e){super(e),this._portalLookup=new Map,this._updatingHandlesLoad=new h,this._updatingHandlesExecute=new h,this.executionError=void 0,this.featureServiceLookup=new Map,this.loadError=void 0,this.serverVersionLookup=new Map,this.serviceNameLookup=new Map,this.userLookup=new Map,this.versionAdministratorLookup=new Map,this.versioningStateLookup=new Map,this.view=null,this.versioningStates=null}initialize(){this._viewChangeHandle(),this.addHandles([n(()=>this.view,()=>{this._resetAllLookupProperties(),this._viewChangeHandle()}),n(()=>this.versioningStates,()=>{this._resetVersioningLookupProperties(),this._setVersioningStatesLookups()})])}destroy(){this._updatingHandlesLoad.destroy(),this._updatingHandlesExecute.destroy()}get state(){return this._updatingHandlesLoad.updating?"loading":this.loadError?"disabled":this._updatingHandlesExecute.updating?"executing":this.executionError?"failed":"ready"}async alterVersion(e){return this._updatingHandlesExecute.addPromise(this._alterVersionInternal(e))}async changeVersion(e,r,o){return this._updatingHandlesExecute.addPromise(this._changeVersionInternal(e,r,o))}async createVersion(e){return this._updatingHandlesExecute.addPromise(this._createVersionInternal(e))}async deleteVersion(e,r,o){return this._updatingHandlesExecute.addPromise(this._deleteVersionInternal(e,r,o))}async getVersionInfos(e){return this._updatingHandlesExecute.addPromise(this._getVersionInfosInternal(e))}async _alterVersionInternal(e){if("disabled"===this.state)throw this._logError("version-management-view-model:load-error",this.loadError),new i("version-management-view-model:load-error",this.loadError??"");this._setExecutionError();const r=this.versioningStateLookup.get(e.featureServerUrl);if(!r)throw this._logError("version-management-view-model:execution-error","no-versioning-state-found"),new i("version-management-view-model:execution-error",this.executionError??"");if(!this.serverVersionLookup.has(e.featureServerUrl)||this.serverVersionLookup.get(e.featureServerUrl)<=11.1)throw this._logError("version-management-view-model:execution-error","no-valid-enterprise-version"),new i("version-management-view-model:execution-error",this.executionError??"");const{featureServerUrl:o,versionIdentifier:t,...s}=e,n=await r.alterVersion(t,s).catch(e=>{throw this._logExecutionError(e),e});return await this.getVersionInfos(o),n}async _changeVersionInternal(e,r,o){if("disabled"===this.state)throw this._logError("version-management-view-model:load-error",this.loadError),new i("version-management-view-model:load-error",this.loadError??"");this._setExecutionError();const t=this.versioningStateLookup.get(e);if(!t)throw this._logError("version-management-view-model:execution-error","no-versioning-state-found"),new i("version-management-view-model:execution-error",this.executionError??"");const s={name:r,guid:o};return await t.changeVersion(s).catch(e=>{throw this._logExecutionError(e),e})}_updateVersionableItems(e){this._updatingHandlesLoad.consumePromise((async()=>{E(e.added).forEach(e=>{const r=e.featureServiceUrl,o=this.versioningStateLookup.get(r);o&&(o.versionableItems.find(r=>r.versionableItem===e.versionableItem)||o.versionableItems.add(e))});E(e.removed).forEach(e=>{const{allLayers:r,allTables:o}=this.view.map,t=e.featureServiceUrl,i=this.versioningStateLookup.get(t);if(!i)return void this._logError("version-management-view-model:execution-error","no-version-management-service-found");const s=e=>("feature"===e.type||"subtype-group"===e.type)&&(e.url?.includes(t)??!1);[...r.filter(s),...o.filter(s)].length||(this.featureServiceLookup.delete(t),this.serviceNameLookup.delete(t),this.versioningStateLookup.delete(t),this.versioningStates.remove(i));const n=i.versionableItems.find(r=>r.versionableItem===e.versionableItem);n&&i.versionableItems.remove(n)})})())}async _createVersionInternal(e){if("disabled"===this.state)throw this._logError("version-management-view-model:load-error",this.loadError),new i("version-management-view-model:load-error",this.loadError??"");this._setExecutionError();const r=e.featureServerUrl,o=this.versioningStateLookup.get(r);if(!o)throw this._logError("version-management-view-model:execution-error","no-versioning-state-found"),new i("version-management-view-model:execution-error",this.executionError??"");const t=this.userLookup.get(r).toUpperCase(),s=this._isEmptyString(e.ownerName)?t:e.ownerName?.trim().toUpperCase();if(s!==t&&this.serverVersionLookup.get(r)<=11.1)throw this._logError("version-management-view-model:execution-error","versioning-api-error"),new i("version-management-view-model:execution-error",this.executionError??"");let n=await(this.versioningStateLookup.get(r)?.getVersionInfos());if("SDE"===s?.toUpperCase()&&"DEFAULT"===e.versionName.toUpperCase()||n?.find(r=>r.versionIdentifier.name.toUpperCase()===(s+"."+e.versionName).toUpperCase()||r.versionIdentifier.name.toUpperCase()===(t+"."+e.versionName).toUpperCase()))throw this._logError("version-management-view-model:execution-error","no-valid-version-name"),new i("version-management-view-model:execution-error",this.executionError??"");const a=await o.versionManagementService.createVersion({versionName:e.versionName,access:s!==t?"public":e.access,description:e.description}).catch(e=>{throw this._logExecutionError(e),e});if(s!==t){const{guid:o,name:i}=a.versionIdentifier,n={featureServerUrl:r,versionIdentifier:{guid:o,name:i},access:e.access,ownerName:s};await this.alterVersion(n)||this.deleteVersion(r,t+"."+e.versionName,a.versionIdentifier.guid).catch(()=>{})}return await this.getVersionInfos(r),n=await(this.versioningStateLookup.get(r)?.getVersionInfos()),n?.find(e=>e.versionIdentifier.guid===a.versionIdentifier.guid)}async _deleteVersionInternal(e,r,o){if("disabled"===this.state)throw this._logError("version-management-view-model:load-error",this.loadError),new i("version-management-view-model:load-error",this.loadError??"");this._setExecutionError();const t=this.versioningStateLookup.get(e);if(!t)throw this._logError("version-management-view-model:execution-error","no-versioning-state-found"),new i("version-management-view-model:execution-error",this.executionError??"");if(this.serverVersionLookup.get(e)<=11.1)throw this._logError("version-management-view-model:execution-error","versioning-api-error"),new i("version-management-view-model:execution-error",this.executionError??"");const s={name:r,guid:o};return await t.deleteVersion(s).catch(e=>{throw this._logExecutionError(e),new i("version-management-view-model:execution-error",this.executionError??"")})}async _getVersionInfosInternal(e){if("disabled"===this.state)throw this._logError("version-management-view-model:load-error",this.loadError),new i("version-management-view-model:load-error",this.loadError??"");this._setExecutionError();const r=this.featureServiceLookup.get(e)?.featureService;if(!r)throw this._logError("version-management-view-model:execution-error","no-feature-service-found"),new i("version-management-view-model:execution-error",this.executionError??"");r.loaded||await r.load().catch(e=>{throw this._logExecutionError(e),e});const o=r.url;this.serverVersionLookup.set(o,r.sourceJSON?.currentVersion??0);const t=this.userLookup.get(e);this._portalLookup.get(e)&&t?this.versionAdministratorLookup.set(o,await m(this._portalLookup.get(e),t,"features:user:manageVersions")):this.versionAdministratorLookup.set(o,!1);const s=this.versioningStateLookup.get(e);if(!s)throw this._logError("version-management-view-model:execution-error","no-versioning-state-found"),new i("version-management-view-model:execution-error",this.executionError??"");s.loaded||await s.load().catch(e=>{throw this._logExecutionError(e),e});return await s.getVersionInfos(!0).catch(e=>{throw this._logExecutionError(e),e})}_isEmptyString(e){return!e||0===e.trim().length}_logError(e,r){switch(s.getLogger(this).error(new i(e,r??"")),e){case"version-management-view-model:load-error":this._setLoadError(r);break;case"version-management-view-model:execution-error":this._setExecutionError(r)}}_logExecutionError(e){this._logError("version-management-view-model:execution-error",e.message)}async _viewChangeHandle(){this._updatingHandlesLoad.consumePromise((async()=>{if(this._setLoadError(),!this.view)return void this._setLoadError("no-view-property");if(this.view&&"2d"!==this.view.type)return void this._logError("version-management-view-model:load-error","sceneView-not-supported");this.removeHandles("map-change-handle"),this.addHandles([n(()=>this.view?.map,()=>{this._resetAllLookupProperties(),this._mapChangeHandle(this.versioningStates)})],"map-change-handle");const e=await this._getVersioningStates();await this._mapChangeHandle(e)})())}async _mapChangeHandle(e){this._updatingHandlesLoad.consumePromise((async()=>{this._setLoadError(),this.removeHandles("map-layers-tables-change-handle"),this.addHandles([a(()=>this.view?.map.allLayers,"change",e=>{(e.added.some(({type:e})=>"feature"===e)||e.removed.some(({type:e})=>"feature"===e)||e.added.some(({type:e})=>"subtype-group"===e)||e.removed.some(({type:e})=>"subtype-group"===e))&&(this._resetServiceRelatedLookupProperties(),this._propertiesChangeInternal(this.versioningStates),this._updateVersionableItems(e))}),a(()=>this.view?.map.allTables,"change",e=>{(e.added.some(({type:e})=>"feature"===e)||e.removed.some(({type:e})=>"feature"===e)||e.added.some(({type:e})=>"subtype-group"===e)||e.removed.some(({type:e})=>"subtype-group"===e))&&(this._resetServiceRelatedLookupProperties(),this._propertiesChangeInternal(this.versioningStates),this._updateVersionableItems(e))})],"map-layers-tables-change-handle"),await this._propertiesChangeInternal(e)})())}async _propertiesChangeInternal(e){this._updatingHandlesLoad.consumePromise((async()=>{const r=e=>"feature"===e.type||"subtype-group"===e.type,{allLayers:o,allTables:t}=this.view.map;if(this._setLoadError(),this.featureServiceLookup=g([...o.filter(r),...t.filter(r)]),this.featureServiceLookup.size){this._updateFeatureServiceLookup(e),this.serviceNameLookup=new Map;for(const e of this.featureServiceLookup.values()){const{featureService:r,featureService:{url:o}}=e;if(!this.serviceNameLookup.has(o)){if(r.loaded||await r.load().catch(e=>{s.getLogger(this).error(e)}),!r.versionManagementServiceUrl){this.featureServiceLookup.delete(o);continue}const e=await p(o),t=new v({authMode:"immediate",url:e});await t.load().catch(e=>{s.getLogger(this).error(e)});const i=t.user?.username;if(!r.loaded||!t.loaded||!i)continue;this.serviceNameLookup.set(d(o),o.split("/").at(-2)),this.userLookup.set(o,i),this._portalLookup.set(o,t)}}e.forEach(e=>this._handleVersioningStateLookupUpdate(e)),await this._updateVersioningStates(e),this.versioningStates=e}else this._logError("version-management-view-model:load-error","no-feature-services")})())}_updateFeatureServiceLookup(e){for(const r of e){const e=r.featureServiceUrl;if(!this.featureServiceLookup.has(e)){const o=new c({url:e}),t=r.versionableItems.toArray().flatMap(e=>"network"===e.type?null:e.versionableItem).filter(e=>!!e);this.featureServiceLookup.set(e,{featureService:o,layers:t})}}}async _updateVersioningStates(e){for(const r of this.featureServiceLookup.values()){const t=r.featureService;if(!t.versionManagementServiceUrl)continue;if(!e.find(e=>e.featureServiceUrl===t.url)&&t.versionManagementServiceUrl){const i=new o(E(r.layers)),s=new f({versionManagementService:new _({url:t.versionManagementServiceUrl}),versionableItems:i});e.add(s),this._handleVersioningStateLookupUpdate(s)}await this.getVersionInfos(t.url)}}async _getVersioningStates(){return this.versioningStates&&this.versioningStates.length?this.versioningStates:this.view?await w(this.view,!1):(this._logError("version-management-view-model:load-error","no-view-property"),new o)}_handleVersioningStateLookupUpdate(e){this.versioningStateLookup.set(e.featureServiceUrl,e)}async _setVersioningStatesLookups(){this._updatingHandlesLoad.consumePromise((async()=>{this.versioningStates&&(this._updateFeatureServiceLookup(this.versioningStates),this.versioningStates.forEach(e=>this._handleVersioningStateLookupUpdate(e)),await this._updateVersioningStates(this.versioningStates))})())}_resetVersioningLookupProperties(){this.versioningStateLookup=new Map}_resetAllLookupProperties(){this._portalLookup=new Map,this.serverVersionLookup=new Map,this.userLookup=new Map,this.versioningStates=new o,this._resetVersioningLookupProperties(),this._resetServiceRelatedLookupProperties()}_resetServiceRelatedLookupProperties(){this.featureServiceLookup=new Map,this.serviceNameLookup=new Map}_setExecutionError(e){this._set("executionError",e)}_setLoadError(e){this._set("loadError",e)}};e([l()],L.prototype,"_portalLookup",void 0),e([l({readOnly:!0})],L.prototype,"executionError",void 0),e([l()],L.prototype,"featureServiceLookup",void 0),e([l({readOnly:!0})],L.prototype,"loadError",void 0),e([l()],L.prototype,"serverVersionLookup",void 0),e([l()],L.prototype,"serviceNameLookup",void 0),e([l({readOnly:!0})],L.prototype,"state",null),e([l()],L.prototype,"userLookup",void 0),e([l()],L.prototype,"versionAdministratorLookup",void 0),e([l()],L.prototype,"versioningStateLookup",void 0),e([l()],L.prototype,"view",void 0),e([l()],L.prototype,"versioningStates",void 0),L=e([u("esri.widgets.VersionManagement.VersionManagementViewModel")],L);const S=L;export{S as default};
package/widgets/Widget.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{fetchMessageBundle as t,onLocaleChange as r}from"../intl.js";import{byId as s}from"../core/domUtils.js";import{EventedAccessor as o}from"../core/Evented.js";import{isEventedOrEventTarget as i,on as n}from"../core/events.js";import"../core/has.js";import{clone as d}from"../core/lang.js";import a from"../core/Logger.js";import{destroyMaybe as l}from"../core/maybe.js";import{EsriPromiseMixin as c}from"../core/Promise.js";import{debounce as h,throwIfNotAbortError as p}from"../core/promiseUtils.js";import{watch as u,syncAndInitial as m,when as g}from"../core/reactiveUtils.js";import{generateUUID as y}from"../core/uuid.js";import{property as v,subclass as _}from"../core/accessorSupport/decorators.js";import{runTracked as f}from"../core/accessorSupport/tracking.js";import{SimpleTrackingTarget as j}from"../core/accessorSupport/tracking/SimpleTrackingTarget.js";import{createAdvancedProjector as b}from"../libs/maquette-advanced-projector/projector.js";import{commitAssetPath as w}from"./support/componentsUtils.js";import{isWidgetConstructor as R,processWidgets as S}from"./support/jsxWidgetSupport.js";import{widgetSymbol as L,widgetTestDataSymbol as P}from"./support/symbols.js";import{registerAlive as k,registerLoading as C}from"./support/tests.js";import{getVNodeCache as E,setVNodeCache as F,deleteVNodeCache as T,clearVNodeCache as I}from"./support/vnodeCache.js";import{classes as N}from"./support/widget.js";var H,$;let D=0;function U(e,t){const r=Object.prototype.hasOwnProperty;for(const s in t)r.call(t,s)&&r.call(e,s)&&(null!=e[s]&&null!=t[s]&&"object"==typeof e[s]&&"object"==typeof t[s]?U(e[s],t[s]):e[s]=t[s]);return e}const z=b({postProcessProjectionOptions(e){const t=e.eventHandlerInterceptor,r=/capture$/i;e.eventHandlerInterceptor=(e,s,o,i)=>{const n=t?.(e,s,o,i),d=r.test(e);if(!((e=e.replace(r,"")).toLowerCase()in o)||d){const t=e[2].toLowerCase()+e.slice(3),r=e=>n?.call(o,e);o.addEventListener(t,r,d);const s=()=>o.removeEventListener(t,r,d),a=i.afterRemoved;i.afterRemoved=e=>{a?.(e),s()}}return n}},handleInterceptedEvent(e,t,r,s){const{eventPhase:o,type:i}=s,n=o===Event.CAPTURING_PHASE;let d=`on${i}${n?"capture":""}`;const a=t.properties;(a&&d in a||(d=`on${i[0].toUpperCase()}${i.slice(1)}${n?"Capture":""}`,a&&d in a))&&(I(),e.scheduleRender(),a[d].call(a.bind||r,s))}});let x=!1,O=class extends(c(o)){static{this[H]=!0}constructor(e,r){super(e,r),this[$]=!0,this._attached=!1,this._projector=z,this._readyForTrueRender=!1,this.key=this,this.autoRenderingEnabled=!0,this.topLayerDisabled=!1,this._loadLocale=h(async()=>{if(this._messageBundleProps?.length){const e=await Promise.allSettled(this._messageBundleProps.map(async({bundlePath:e,propertyName:r})=>{if(this.destroyed)return;let s=await t(e);this.destroyed||(this.uiStrings&&Object.keys(this.uiStrings)&&(s=U(d(s),this.uiStrings)),this[r]=s)}));if(this.destroyed)return;for(const t of e)"rejected"===t.status&&a.getLogger(this).error("widget-intl:locale-error",this.declaredClass,t.reason)}await this.loadLocale()}),this.addHandles(k()),w();const s="esri-widget-uid-"+y(),o=this.render.bind(this);this._trackingTarget=new j(()=>{this.autoRenderingEnabled&&this.scheduleRender()});const i=()=>({vnodeSelector:"div",properties:{key:`${s}-hidden`,class:"",styles:{display:"none"}},domNode:null,children:void 0,text:void 0}),n=()=>{if(!this._readyForTrueRender||this.destroyed)return null;const e=o()??i(),t=e.properties??={};if(t.key??=s,R(e.vnodeSelector)){if(!this.visible)return i()}else this.visible?t.styles||(t.styles={}):(t.class="",t.styles={display:"none"}),t.styles.display??="";let r=0;return e.children?.forEach(e=>{R(e.vnodeSelector)||(e.properties??={},e.properties.key??=`${this.id}--${r++}`)}),S(this,e)};this.render=()=>{if(x)return n();let e=E(this)??null;if(e)return e;this._trackingTarget.clear(),x=!0;try{e=f(this._trackingTarget,n)}catch(t){throw a.getLogger(this).error(t),t}finally{x=!1}return e&&F(this,e),e};const l=this.beforeFirstRender();l?this._resourcesFetch=l.then(()=>{this.destroyed||(this._readyForTrueRender=!0,this._postInitialize())}):(this._resourcesFetch=Promise.resolve().then(()=>{this.destroyed||this._postInitialize()}),this._readyForTrueRender=!0),this.addResolvingPromise(this._resourcesFetch),C(this._resourcesFetch)}normalizeCtorArgs(e,t){const r={...e};return t&&(r.container=t),r}postInitialize(){}beforeFirstRender(){const e=this.loadDependencies();return this._messageBundleProps?.length||e?Promise.all([e,this._loadLocale()]).then(()=>{}).catch(p):null}loadDependencies(){return null}loadLocale(){return null}destroy(){this.destroyed||(l(this._trackingTarget),l(this.viewModel),this._detach(this.container),this._set("container",null),this.render=()=>null,this._projector=null,T(this))}get container(){return this._get("container")}set container(e){this._get("container")||this._set("container",s(e))}get destroyed(){return super.destroyed}get domNode(){return this.container}set domNode(e){this.container=e}get icon(){return null}set icon(e){this._overrideIfSome("icon",e)}get id(){return this._get("id")||this.container?.id||Date.now().toString(16)+"-widget-"+D++}set id(e){e&&this._set("id",e)}get label(){return this.declaredClass.split(".").pop()}set label(e){this._overrideIfSome("label",e)}get renderable(){return this._resourcesFetch}get visible(){return this._get("visible")}set visible(e){this._set("visible",e)}get[(H=L,$=L,P)](){return{projector:this._projector}}static{this.vnodeSelector="div"}render(){throw new Error("not implemented")}removeContainer(){this._set("container",null)}scheduleRender(){this.destroyed||(T(this),this._projector.scheduleRender())}classes(...e){return N.apply(this,e)}renderNow(){T(this),this._projector.renderNow()}_postInitialize(){if(this.destroyed)return;this.scheduleRender(),this._delegatedEventNames?.length&&this.addHandles(u(()=>this.viewModel,(e,t)=>{t&&this.removeHandles("delegated-events"),e&&i(e)&&this.addHandles(this._delegatedEventNames.map(t=>n(e,t,e=>{this.emit(t,e)})),"delegated-events")},m)),this.postInitialize();const e=async()=>{await this._loadLocale().catch(p),this.scheduleRender()};this.addHandles([r(e),u(()=>this.uiStrings,e)]),this.addHandles(g(()=>this.container,e=>{this.destroyed||(e.closest("[arcgis-widget-wrapped]")||(this.topLayerDisabled=!0,this.announceDeprecation?.()),this._attach(e))},{initial:!0,once:!0}))}_attach(e){e&&(this._projector.merge(e,this.render),this._attached=!0)}_detach(e){this._attached&&(this._projector.detach(this.render),this._attached=!1),e?.parentNode?.removeChild(e)}};e([v()],O.prototype,"_readyForTrueRender",void 0),e([v({value:null})],O.prototype,"container",null),e([v()],O.prototype,"icon",null),e([v()],O.prototype,"id",null),e([v()],O.prototype,"label",null),e([v()],O.prototype,"renderable",null),e([v()],O.prototype,"uiStrings",void 0),e([v()],O.prototype,"viewModel",void 0),e([v({value:!0})],O.prototype,"visible",null),e([v()],O.prototype,"key",void 0),e([v()],O.prototype,"children",void 0),e([v()],O.prototype,"afterCreate",void 0),e([v()],O.prototype,"afterUpdate",void 0),e([v()],O.prototype,"afterRemoved",void 0),e([v()],O.prototype,"topLayerDisabled",void 0),O=e([_("esri.widgets.Widget")],O);const A=O;export{A as default};
2
+ import{__decorate as e}from"tslib";import{fetchMessageBundle as t,onLocaleChange as r}from"../intl.js";import{byId as s}from"../core/domUtils.js";import{EventedAccessor as o}from"../core/Evented.js";import{isEventedOrEventTarget as i,on as n}from"../core/events.js";import"../core/has.js";import{clone as d}from"../core/lang.js";import a from"../core/Logger.js";import{destroyMaybe as l}from"../core/maybe.js";import{EsriPromiseMixin as c}from"../core/Promise.js";import{debounce as h,throwIfNotAbortError as p}from"../core/promiseUtils.js";import{watch as u,syncAndInitial as m,when as y}from"../core/reactiveUtils.js";import{generateUUID as g}from"../core/uuid.js";import{property as v,subclass as _}from"../core/accessorSupport/decorators.js";import{runTracked as f}from"../core/accessorSupport/tracking.js";import{SimpleTrackingTarget as j}from"../core/accessorSupport/tracking/SimpleTrackingTarget.js";import{createAdvancedProjector as b}from"../libs/maquette-advanced-projector/projector.js";import{commitAssetPath as w}from"./support/componentsUtils.js";import{isWidgetConstructor as R,processWidgets as S}from"./support/jsxWidgetSupport.js";import{widgetSymbol as L,widgetTestDataSymbol as P}from"./support/symbols.js";import{registerAlive as k,registerLoading as C}from"./support/tests.js";import{getVNodeCache as E,setVNodeCache as F,deleteVNodeCache as T,clearVNodeCache as I}from"./support/vnodeCache.js";import{classes as N}from"./support/widget.js";var H,$;let D=0;function U(e,t){const r=Object.prototype.hasOwnProperty;for(const s in t)r.call(t,s)&&r.call(e,s)&&(null!=e[s]&&null!=t[s]&&"object"==typeof e[s]&&"object"==typeof t[s]?U(e[s],t[s]):e[s]=t[s]);return e}const z=b({postProcessProjectionOptions(e){const t=e.eventHandlerInterceptor,r=/capture$/i;e.eventHandlerInterceptor=(e,s,o,i)=>{const n=t?.(e,s,o,i),d=r.test(e);if(!((e=e.replace(r,"")).toLowerCase()in o)||d){const t=e[2].toLowerCase()+e.slice(3),r=e=>n?.call(o,e);o.addEventListener(t,r,d);const s=()=>o.removeEventListener(t,r,d),a=i.afterRemoved;i.afterRemoved=e=>{a?.(e),s()}}return n}},handleInterceptedEvent(e,t,r,s){const{eventPhase:o,type:i}=s,n=o===Event.CAPTURING_PHASE;let d=`on${i}${n?"capture":""}`;const a=t.properties;(a&&d in a||(d=`on${i[0].toUpperCase()}${i.slice(1)}${n?"Capture":""}`,a&&d in a))&&(I(),e.scheduleRender(),a[d].call(a.bind||r,s))}});let M=!1,x=class extends(c(o)){static{this[H]=!0}constructor(e,r){super(e,r),this[$]=!0,this._attached=!1,this._projector=z,this._readyForTrueRender=!1,this.key=this,this.autoRenderingEnabled=!0,this.topLayerDisabled=!1,this._loadLocale=h(async()=>{if(this._messageBundleProps?.length){const e=await Promise.allSettled(this._messageBundleProps.map(async({bundlePath:e,propertyName:r})=>{if(this.destroyed)return;let s=await t(e);this.destroyed||(this.uiStrings&&Object.keys(this.uiStrings)&&(s=U(d(s),this.uiStrings)),this[r]=s)}));if(this.destroyed)return;for(const t of e)"rejected"===t.status&&a.getLogger(this).error("widget-intl:locale-error",this.declaredClass,t.reason)}await this.loadLocale()}),this.addHandles(k()),w();const s="esri-widget-uid-"+g(),o=this.render.bind(this);this._trackingTarget=new j(()=>{this.autoRenderingEnabled&&this.scheduleRender()});const i=()=>({vnodeSelector:"div",properties:{key:`${s}-hidden`,class:"",styles:{display:"none"}},domNode:null,children:void 0,text:void 0}),n=()=>{if(!this._readyForTrueRender||this.destroyed)return null;const e=o()??i(),t=e.properties??={};if(t.key??=s,R(e.vnodeSelector)){if(!this.visible)return i()}else this.visible?t.styles||(t.styles={}):(t.class="",t.styles={display:"none"}),t.styles.display??="";let r=0;return e.children?.forEach(e=>{R(e.vnodeSelector)||(e.properties??={},e.properties.key??=`${this.id}--${r++}`)}),S(this,e)};this.render=()=>{if(M)return n();let e=E(this)??null;if(e)return e;this._trackingTarget.clear(),M=!0;try{e=f(this._trackingTarget,n)}catch(t){throw a.getLogger(this).error(t),t}finally{M=!1}return e&&F(this,e),e};const l=this.beforeFirstRender();l?this._resourcesFetch=l.then(()=>{this.destroyed||(this._readyForTrueRender=!0,this._postInitialize())}):(this._resourcesFetch=Promise.resolve().then(()=>{this.destroyed||this._postInitialize()}),this._readyForTrueRender=!0),this.addResolvingPromise(this._resourcesFetch),C(this._resourcesFetch)}normalizeCtorArgs(e,t){const r={...e};return t&&(r.container=t),r}postInitialize(){}beforeFirstRender(){const e=this.loadDependencies();return this._messageBundleProps?.length||e?Promise.all([e,this._loadLocale()]).then(()=>{}).catch(p):null}loadDependencies(){return null}loadLocale(){return null}destroy(){this.destroyed||(l(this._trackingTarget),this.viewModel?.destroyed||this.viewModel?.destroying||l(this.viewModel),this._detach(this.container),this._set("container",null),this.render=()=>null,this._projector=null,T(this))}get container(){return this._get("container")}set container(e){this._get("container")||this._set("container",s(e))}get destroyed(){return super.destroyed}get domNode(){return this.container}set domNode(e){this.container=e}get icon(){return null}set icon(e){this._overrideIfSome("icon",e)}get id(){return this._get("id")||this.container?.id||Date.now().toString(16)+"-widget-"+D++}set id(e){e&&this._set("id",e)}get label(){return this.declaredClass.split(".").pop()}set label(e){this._overrideIfSome("label",e)}get renderable(){return this._resourcesFetch}get visible(){return this._get("visible")}set visible(e){this._set("visible",e)}get[(H=L,$=L,P)](){return{projector:this._projector}}static{this.vnodeSelector="div"}render(){throw new Error("not implemented")}removeContainer(){this._set("container",null)}scheduleRender(){this.destroyed||(T(this),this._projector.scheduleRender())}classes(...e){return N.apply(this,e)}renderNow(){T(this),this._projector.renderNow()}_postInitialize(){if(this.destroyed)return;this.scheduleRender(),this._delegatedEventNames?.length&&this.addHandles(u(()=>this.viewModel,(e,t)=>{t&&this.removeHandles("delegated-events"),e&&i(e)&&this.addHandles(this._delegatedEventNames.map(t=>n(e,t,e=>{this.emit(t,e)})),"delegated-events")},m)),this.postInitialize();const e=async()=>{await this._loadLocale().catch(p),this.scheduleRender()};this.addHandles([r(e),u(()=>this.uiStrings,e)]),this.addHandles(y(()=>this.container,e=>{this.destroyed||(e.closest("[arcgis-widget-wrapped]")||(this.topLayerDisabled=!0,this.announceDeprecation?.()),this._attach(e))},{initial:!0,once:!0}))}_attach(e){e&&(this._projector.merge(e,this.render),this._attached=!0)}_detach(e){this._attached&&(this._projector.detach(this.render),this._attached=!1),e?.parentNode?.removeChild(e)}};e([v()],x.prototype,"_readyForTrueRender",void 0),e([v({value:null})],x.prototype,"container",null),e([v()],x.prototype,"icon",null),e([v()],x.prototype,"id",null),e([v()],x.prototype,"label",null),e([v()],x.prototype,"renderable",null),e([v()],x.prototype,"uiStrings",void 0),e([v()],x.prototype,"viewModel",void 0),e([v({value:!0})],x.prototype,"visible",null),e([v()],x.prototype,"key",void 0),e([v()],x.prototype,"children",void 0),e([v()],x.prototype,"afterCreate",void 0),e([v()],x.prototype,"afterUpdate",void 0),e([v()],x.prototype,"afterRemoved",void 0),e([v()],x.prototype,"topLayerDisabled",void 0),x=e([_("esri.widgets.Widget")],x);const O=x;export{O as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../config.js";import t from"../../core/Error.js";import has from"../../core/has.js";import o from"../../core/Logger.js";import r from"../../geometry/Point.js";import{geographicToWebMercator as i}from"../../geometry/support/webMercatorUtils.js";import n from"../../portal/Portal.js";import{project as c}from"../../rest/geometryService/project.js";import s from"../../rest/support/ProjectParameters.js";const u=()=>o.getLogger("esri.widgets.support.geolocationUtils"),a={maximumAge:0,timeout:15e3,enableHighAccuracy:!0};function m(){const e=!!has("esri-geolocation");return e||u().warn("geolocation-unsupported","Geolocation unsupported."),e}function l(){const e=window.isSecureContext;return e||u().warnOnce("insecure-context","Geolocation requires a secure origin."),e}function g(){return m()&&l()}function p(e){const o=15e3;return e??=a,new Promise((r,i)=>{setTimeout(()=>i(new t("geolocation:timeout","getting the current geolocation position timed out")),o),navigator.geolocation.getCurrentPosition(r,i,e??void 0)})}let d;function f(e,o){if(d)return d(e,o);const{position:r,view:i}=e,n=v(r),c=n?.coords;if(!c)throw new t("geometry-service:no-coords","Geolocation has no coordinates");return h(y(c),i,o)}function w(e){d=e}function v(e){const t=e&&e.coords||{},o={accuracy:t.accuracy,altitude:t.altitude,altitudeAccuracy:t.altitudeAccuracy,heading:t.heading,latitude:t.latitude,longitude:t.longitude,speed:t.speed,toJSON:()=>({})};return e?{coords:o,timestamp:e.timestamp,toJSON:()=>({})}:e}function y({longitude:e,latitude:t,altitude:o}){return new r({longitude:e,latitude:t,z:o||void 0,spatialReference:{wkid:4326}})}function h(e,o,r){if(!o)return Promise.resolve(e);const n=o.spatialReference;return n.isWGS84?Promise.resolve(e):n.isWebMercator?Promise.resolve(i(e)):j(r).then(o=>{if(!o)throw new t("geometry-service:missing-url","Geometry service URL is missing");const i=new s({geometries:[e],outSpatialReference:n});return c(o,i,r).then(e=>e[0])})}function j(t){if(e.geometryServiceUrl)return Promise.resolve(e.geometryServiceUrl);const o=n.getDefault();return o.load(t).catch(()=>{}).then(()=>o.helperServices?.geometry?.url)}export{p as getCurrentPosition,w as overridePositionToPoint,f as positionToPoint,g as supported};
2
+ import e from"../../config.js";import o from"../../core/Error.js";import has from"../../core/has.js";import t from"../../core/Logger.js";import{whenOrTimeout as r}from"../../core/promiseUtils.js";import i from"../../geometry/Point.js";import{geographicToWebMercator as n}from"../../geometry/support/webMercatorUtils.js";import s from"../../portal/Portal.js";import{project as c}from"../../rest/geometryService/project.js";import u from"../../rest/support/ProjectParameters.js";const a=()=>t.getLogger("esri.widgets.support.geolocationUtils"),m={maximumAge:0,timeout:15e3,enableHighAccuracy:!0};function l(){const e=!!has("esri-geolocation");return e||a().warn("geolocation-unsupported","Geolocation unsupported."),e}function g(){const e=window.isSecureContext;return e||a().warnOnce("insecure-context","Geolocation requires a secure origin."),e}function p(){return l()&&g()}function d(e){const o=15e3;return e??=m,r(new Promise((o,t)=>navigator.geolocation.getCurrentPosition(o,t,e??void 0)),o,"getting the current geolocation position timed out")}let f;function v(e,t){if(f)return f(e,t);const{position:r,view:i}=e,n=y(r),s=n?.coords;if(!s)throw new o("geometry-service:no-coords","Geolocation has no coordinates");return j(h(s),i,t)}function w(e){f=e}function y(e){const o=e&&e.coords||{},t={accuracy:o.accuracy,altitude:o.altitude,altitudeAccuracy:o.altitudeAccuracy,heading:o.heading,latitude:o.latitude,longitude:o.longitude,speed:o.speed,toJSON:()=>({})};return e?{coords:t,timestamp:e.timestamp,toJSON:()=>({})}:e}function h({longitude:e,latitude:o,altitude:t}){return new i({longitude:e,latitude:o,z:t||void 0,spatialReference:{wkid:4326}})}function j(e,t,r){if(!t)return Promise.resolve(e);const i=t.spatialReference;return i.isWGS84?Promise.resolve(e):i.isWebMercator?Promise.resolve(n(e)):P(r).then(t=>{if(!t)throw new o("geometry-service:missing-url","Geometry service URL is missing");const n=new u({geometries:[e],outSpatialReference:i});return c(t,n,r).then(e=>e[0])})}function P(o){if(e.geometryServiceUrl)return Promise.resolve(e.geometryServiceUrl);const t=s.getDefault();return t.load(o).catch(()=>{}).then(()=>t.helperServices?.geometry?.url)}export{d as getCurrentPosition,w as overridePositionToPoint,v as positionToPoint,p as supported};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{makeHandle as e}from"../../core/handleUtils.js";import"../../core/has.js";const t=new Set;function n(e){t.add(e),e.finally(()=>t.delete(e))}function r(){return t.size>0}const i=new Map;function o(t){return e()}function s(){const e=Array.from(i.values())[0],t=i.size;if(i.clear(),0!==t)throw new Error(`Still ${t} alive widget instances.${e?` For example:\n${e}`:" Set enableLiveTracing in esri/widgets/support/tests.ts to include a stack trace."}`)}export{s as assertNoAlive,r as hasPendingLoading,o as registerAlive,n as registerLoading};
2
+ import{makeHandle as e}from"../../core/handleUtils.js";import"../../core/has.js";const t=new Set;function n(e){t.add(e),e.finally(()=>t.delete(e)).catch(()=>{})}function r(){return t.size>0}const i=new Map;function o(t){return e()}function s(){const e=Array.from(i.values())[0],t=i.size;if(i.clear(),0!==t)throw new Error(`Still ${t} alive widget instances.${e?` For example:\n${e}`:" Set enableLiveTracing in esri/widgets/support/tests.ts to include a stack trace."}`)}export{s as assertNoAlive,r as hasPendingLoading,o as registerAlive,n as registerLoading};