@arcgis/core 5.1.0-next.84 → 5.1.0-next.86

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 (367) hide show
  1. package/assets/components/assets/icon/gpsReceiver16.json +1 -0
  2. package/assets/components/assets/icon/gpsReceiver24.json +1 -0
  3. package/assets/components/assets/icon/gpsReceiver32.json +1 -0
  4. package/assets/components/assets/icon/totalStation16.json +1 -0
  5. package/assets/components/assets/icon/totalStation24.json +1 -0
  6. package/assets/components/assets/icon/totalStation32.json +1 -0
  7. package/assets/esri/core/workers/RemoteClient.js +1 -1
  8. package/assets/esri/core/workers/chunks/{e89dc473f46a5584d2ef.js → 004af103a94d21cb4889.js} +3 -3
  9. package/assets/esri/core/workers/chunks/{67abbe81c16de26f61d8.js → 1bad4331a43169f3cc34.js} +1 -1
  10. package/assets/esri/core/workers/chunks/27f67a3828b78d4c1413.js +1 -0
  11. package/assets/esri/core/workers/chunks/2c916b93d8a6e6b9c0d7.js +1 -0
  12. package/assets/esri/core/workers/chunks/{db86a1119e4e58ecfbda.js → 2f8b173d1dac73ba0d9e.js} +1 -1
  13. package/assets/esri/core/workers/chunks/49e8144effc299dfcd66.js +1 -0
  14. package/assets/esri/core/workers/chunks/5166f204fd078dced5db.js +1 -0
  15. package/assets/esri/core/workers/chunks/{45c83eb7c2a06166e3b0.js → 56717ff315c6ec874142.js} +1 -1
  16. package/assets/esri/core/workers/chunks/577cbc131b21c351fae5.js +2 -0
  17. package/assets/esri/core/workers/chunks/{72691fe14024e35f85d0.js → 618106f5fbdf88ef2278.js} +1 -1
  18. package/assets/esri/core/workers/chunks/61fada8942b65fa0b5e1.js +1 -0
  19. package/assets/esri/core/workers/chunks/{05c5f68e117fc58ae801.js → 701b823763e941b71f4f.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{1e2c0c6d724f7639d4c1.js → 713ab619060bd5087479.js} +13 -13
  21. package/assets/esri/core/workers/chunks/{a9b5ce00323cd5574bf7.js → 7160e3e7340beb7fdb42.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{0219edb509e01270d42d.js → 99c6bd2125f4eb6796fe.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{ff713926985a284f5d81.js → a844547bf33a8527ee9f.js} +2 -2
  24. package/assets/esri/core/workers/chunks/aa6808146c76b2d49b64.js +1 -0
  25. package/assets/esri/core/workers/chunks/{9cac70164d8528c283af.js → add000f51c778114c028.js} +1 -1
  26. package/assets/esri/core/workers/chunks/b23e677c33db6f9bac8a.js +1 -0
  27. package/assets/esri/core/workers/chunks/{dfe1139124fda0d6c059.js → b575292013bceef9b015.js} +1 -1
  28. package/assets/esri/core/workers/chunks/bae8f2a5dfe0cfbc0688.js +1 -0
  29. package/assets/esri/core/workers/chunks/bb5f909a2f26fc6a21b0.js +2 -0
  30. package/assets/esri/core/workers/chunks/{28a45bd26eb5c9b3ec7c.js → ce66c551b7083913eee5.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{22bdea4ca52970c29504.js → d0aee7c80c5c7e23d216.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{f4220b6eab0865318033.js → d8de7fe49dba9ed589df.js} +1 -1
  33. package/assets/esri/core/workers/chunks/ded2f19a1685db2137f4.js +2 -0
  34. package/assets/esri/core/workers/chunks/{f77d23ee60c876b01e4b.js → e9a42f0262fc44a79d4b.js} +1 -1
  35. package/assets/esri/core/workers/chunks/edbdee69440dbfc05644.js +1 -0
  36. package/assets/esri/core/workers/chunks/ee057c85cdf6beb5b012.js +2 -0
  37. package/assets/esri/core/workers/chunks/f9fe3c9867b0bdb2aec6.js +596 -0
  38. package/assets/esri/core/workers/chunks/ff57a071156d8a7e47be.js +1 -0
  39. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  40. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  41. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +6 -0
  42. package/assets/esri/themes/dark/main.css +1 -1
  43. package/assets/esri/themes/light/main.css +1 -1
  44. package/assets/esri/themes/light/view.css +1 -1
  45. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis.json +1 -1
  46. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_en.json +1 -1
  47. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
  48. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
  49. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
  50. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
  51. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
  52. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
  53. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
  54. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
  55. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
  56. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
  57. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
  58. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
  59. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
  60. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
  61. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
  62. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
  63. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
  64. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
  65. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
  66. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
  67. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
  68. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
  69. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.json +1 -1
  70. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
  71. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
  72. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
  73. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
  74. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
  75. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
  76. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
  77. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
  78. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
  79. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
  80. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
  81. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
  82. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
  83. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
  84. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
  85. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
  86. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  87. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  88. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  89. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  90. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  91. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  92. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  93. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  94. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  95. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  96. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  97. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  98. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  99. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  100. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  101. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  102. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  103. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  104. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  105. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  106. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  107. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  108. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  109. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  110. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  111. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  112. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  113. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  114. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  115. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  116. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  117. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  118. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  119. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  120. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  121. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  122. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  123. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  124. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  125. package/chunks/EdgeShader.glsl.js +13 -9
  126. package/chunks/Fog.glsl.js +1 -1
  127. package/chunks/GlowBlur.glsl.js +9 -13
  128. package/chunks/GlowComposition.glsl.js +10 -10
  129. package/chunks/ShadowCastVisualize.glsl.js +10 -10
  130. package/config.js +1 -1
  131. package/core/arrayUtils.js +1 -1
  132. package/core/has.js +1 -1
  133. package/core/screenUtils.js +1 -1
  134. package/form/types.d.ts +1 -1
  135. package/geohash/GeohashCell.js +1 -1
  136. package/geohash/GeohashTree.js +1 -1
  137. package/interfaces.d.ts +14 -14
  138. package/kernel.js +1 -1
  139. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  140. package/layers/ParquetLayer.d.ts +10 -10
  141. package/layers/ParquetLayer.js +1 -1
  142. package/layers/StreamLayer.js +1 -1
  143. package/layers/graphics/sources/connections/FabricKustoConnection.js +2 -0
  144. package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
  145. package/layers/graphics/sources/connections/WebSocketConnection.js +1 -1
  146. package/layers/graphics/sources/connections/createConnection.js +1 -1
  147. package/layers/graphics/sources/connections/websocketUils.js +2 -0
  148. package/layers/scene/ModelFileInfo.js +1 -1
  149. package/layers/scene/modelQuerySupport.js +1 -1
  150. package/layers/support/ClientSideConnection.js +1 -1
  151. package/layers/support/FabricKustoSource.js +2 -0
  152. package/layers/support/{ParquetGeometryEncodingLocation.d.ts → GeometryEncodingLocation.d.ts} +9 -9
  153. package/layers/support/{ParquetGeometryEncodingLocation.js → GeometryEncodingLocation.js} +1 -1
  154. package/layers/support/{ParquetGeometryEncodingWkb.d.ts → GeometryEncodingWkb.d.ts} +8 -9
  155. package/layers/support/GeometryEncodingWkb.js +2 -0
  156. package/layers/support/kustoUtils.js +2 -0
  157. package/layers/support/parquetEncodingUtils.js +1 -1
  158. package/layers/support/parquetUtils.js +1 -1
  159. package/layers/support/types.d.ts +3 -3
  160. package/package.json +2 -2
  161. package/popup/Features.d.ts +10 -0
  162. package/popup/Features.js +1 -1
  163. package/rest/knowledgeGraph/GraphQueryStreamingResult.d.ts +4 -1
  164. package/support/revision.js +1 -1
  165. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  166. package/views/2d/FrameTask.js +1 -1
  167. package/views/2d/LabelManager.js +1 -1
  168. package/views/2d/ViewState.js +1 -1
  169. package/views/2d/engine/DisplayObject.js +1 -1
  170. package/views/2d/engine/Stage.js +1 -1
  171. package/views/2d/engine/flow/FlowContainer.js +1 -1
  172. package/views/2d/engine/flow/FlowView2D.js +1 -1
  173. package/views/2d/engine/flow/styles/AFlowResources.js +1 -1
  174. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  175. package/views/2d/engine/flow/styles/Particles.js +1 -1
  176. package/views/2d/engine/flow/styles/Stack.js +1 -1
  177. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  178. package/views/2d/engine/transitions/FadeTransition.js +1 -1
  179. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  180. package/views/2d/engine/vectorTiles/decluttering/SymbolDeclutterer.js +1 -1
  181. package/views/2d/engine/vectorTiles/decluttering/SymbolFader.js +1 -1
  182. package/views/2d/engine/vectorTiles/decluttering/SymbolRepository.js +1 -1
  183. package/views/2d/engine/webgl/AFeatureTile.js +1 -1
  184. package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
  185. package/views/2d/engine/webgl/FeatureTile.js +1 -1
  186. package/views/2d/engine/webgl/ResizableUint32Array.js +2 -0
  187. package/views/2d/engine/webgl/TileCpuState.js +2 -0
  188. package/views/2d/engine/webgl/TileGpuState.js +2 -0
  189. package/views/2d/engine/webgl/cpuMapped/CpuBuffer.js +2 -0
  190. package/views/2d/engine/webgl/cpuMapped/CpuMeshData.js +2 -0
  191. package/views/2d/engine/webgl/cpuMapped/GpuMeshState.js +2 -0
  192. package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
  193. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueDebugContainer.js +1 -1
  194. package/views/2d/engine/webgl/shaderGraph/techniques/TestDisplayObject.js +1 -1
  195. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileDebugInfoTechnique.js +1 -1
  196. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  197. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  198. package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
  199. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  200. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  201. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  202. package/views/2d/layers/KMLLayerView2D.js +1 -1
  203. package/views/2d/layers/LayerView2D.js +1 -1
  204. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  205. package/views/2d/layers/MediaLayerView2D.js +1 -1
  206. package/views/2d/layers/RouteLayerView2D.js +1 -1
  207. package/views/2d/layers/TileLayerView2D.js +1 -1
  208. package/views/2d/layers/features/FeatureContainer.js +1 -1
  209. package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
  210. package/views/2d/layers/features/FeatureTilePresentStrategy.js +2 -0
  211. package/views/2d/layers/features/Processor.js +1 -1
  212. package/views/2d/layers/features/RenderState.js +1 -1
  213. package/views/2d/layers/features/aggregation/AAggregateSpatialIndex.js +1 -1
  214. package/views/2d/layers/features/aggregation/GeohashSpatialIndex.js +1 -1
  215. package/views/2d/layers/features/aggregation/GridCell.js +1 -1
  216. package/views/2d/layers/features/aggregation/GridIndexCell.js +2 -0
  217. package/views/2d/layers/features/aggregation/GridSpatialIndex.js +1 -1
  218. package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
  219. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  220. package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
  221. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  222. package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
  223. package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
  224. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  225. package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
  226. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  227. package/views/2d/layers/features/processor/AProcessorStrategy.js +1 -1
  228. package/views/2d/layers/features/processor/BinningStrategy.js +1 -1
  229. package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
  230. package/views/2d/layers/features/processor/FeatureUpdateStrategy.js +1 -1
  231. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  232. package/views/2d/layers/features/sources/FeatureSourceMessage.js +1 -1
  233. package/views/2d/layers/features/sources/strategies/StreamLoadStrategy.js +1 -1
  234. package/views/2d/layers/features/sources/strategies/chunks/ASourceChunk.js +1 -1
  235. package/views/2d/layers/features/support/Hashed.js +2 -0
  236. package/views/2d/layers/graphics/AGraphicContainer.js +1 -1
  237. package/views/2d/layers/graphics/GraphicStore.js +1 -1
  238. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  239. package/views/2d/layers/imagery/ImageryView2D.js +1 -1
  240. package/views/2d/layers/support/vectorTileDebugUtils.js +1 -1
  241. package/views/2d/support/hitTestUtils.js +1 -1
  242. package/views/2d/tiling/FeatureTileSubscriptionManager.js +1 -1
  243. package/views/2d/tiling/TileCombinedCoverage.js +2 -0
  244. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  245. package/views/3d/analysis/LineOfSight/LineOfSightTool2.js +2 -0
  246. package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
  247. package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
  248. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  249. package/views/3d/analysis/Viewshed/ViewshedEditTool.js +2 -0
  250. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  251. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  252. package/views/3d/analysis/Viewshed/ViewshedTool2.js +2 -0
  253. package/views/3d/analysis/Viewshed/viewshedSubToolUtils.js +2 -0
  254. package/views/3d/analysis/Viewshed/viewshedToolUtils.js +1 -1
  255. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  256. package/views/3d/environment/CloudyWeather.js +1 -1
  257. package/views/3d/environment/FoggyWeather.js +1 -1
  258. package/views/3d/environment/RainyWeather.js +1 -1
  259. package/views/3d/environment/SnowyWeather.js +1 -1
  260. package/views/3d/environment/SunnyWeather.js +1 -1
  261. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  262. package/views/3d/layers/graphics/StreamController.js +1 -1
  263. package/views/3d/layers/graphics/tessellationUtils.js +1 -1
  264. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  265. package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +1 -1
  266. package/views/3d/webgl/ManagedColorAttachment.js +1 -1
  267. package/views/3d/webgl/ManagedDepthAttachment.js +1 -1
  268. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  269. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  270. package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
  271. package/views/3d/webgl-engine/core/FBOCacheUsage.js +1 -1
  272. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  273. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +11 -11
  274. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  275. package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
  276. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  277. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  278. package/views/3d/webgl-engine/effects/glow/Glow.js +2 -0
  279. package/views/3d/webgl-engine/effects/glow/GlowBlur.glsl.js +1 -1
  280. package/views/3d/webgl-engine/effects/glow/GlowComposition.glsl.js +1 -1
  281. package/views/3d/webgl-engine/effects/raymarching/{RayDistanceFalloff.glsl.js → DistanceFalloff.glsl.js} +2 -2
  282. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
  283. package/views/3d/webgl-engine/lib/CutFillVisualizationRenderNode.js +1 -1
  284. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  285. package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
  286. package/views/3d/webgl-engine/lib/ManagedTexture.js +1 -1
  287. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  288. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  289. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  290. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  291. package/views/3d/webgl-engine/lib/StencilUtils.js +1 -1
  292. package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
  293. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShader.glsl.js +1 -1
  294. package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
  295. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  296. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  297. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  298. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  299. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  300. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  301. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  302. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  303. package/views/3d/webgl-engine/shaders/MeasurementArrowTechniqueConfiguration.js +1 -1
  304. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  305. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  306. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  307. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  308. package/views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js +1 -7
  309. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  310. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechniqueConfiguration.js +1 -1
  311. package/views/VideoView.js +1 -1
  312. package/views/View2D.js +1 -1
  313. package/views/draw/support/GraphicMover.js +1 -1
  314. package/views/support/rasterHitTestUtils.js +1 -1
  315. package/views/support/waitForResources.js +1 -1
  316. package/views/video/VideoOperationalDataView.js +1 -1
  317. package/views/webgl/FramebufferObject.js +1 -1
  318. package/views/webgl/RenderingContext.js +1 -1
  319. package/views/webgl/Texture.js +1 -1
  320. package/views/webgl/textureUtils.js +1 -1
  321. package/widgets/BatchAttributeForm/css.js +1 -1
  322. package/widgets/BatchAttributeForm/inputs/UtilityNetworkAssociationsElementInput.d.ts +61 -0
  323. package/widgets/BatchAttributeForm/inputs/UtilityNetworkAssociationsElementInput.js +2 -0
  324. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  325. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  326. package/widgets/BatchAttributeForm/inputs/types.d.ts +9 -4
  327. package/widgets/BatchAttributeForm/templates/UtilityNetworkAssociationsElementTemplate.js +2 -0
  328. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  329. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  330. package/widgets/BatchAttributeForm/templates/support/templateUtils.js +1 -1
  331. package/widgets/BatchAttributeForm.js +1 -1
  332. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  333. package/widgets/FeatureTable/Grid/Column.d.ts +17 -2
  334. package/widgets/FeatureTable/Grid/Column.js +1 -1
  335. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  336. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  337. package/widgets/FeatureTable/Grid/GroupColumn.d.ts +7 -1
  338. package/widgets/FeatureTable/Grid/GroupColumn.js +1 -1
  339. package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +9 -1
  340. package/widgets/FeatureTable/support/ColumnTemplateBase.js +1 -1
  341. package/widgets/FeatureTable/support/types.d.ts +8 -0
  342. package/widgets/FeatureTable.js +1 -1
  343. package/assets/esri/core/workers/chunks/2171aaa147aa4d9fc5b5.js +0 -1
  344. package/assets/esri/core/workers/chunks/38f1a86b8dd9ee684ee5.js +0 -596
  345. package/assets/esri/core/workers/chunks/54d07eadf113f0e4e506.js +0 -1
  346. package/assets/esri/core/workers/chunks/5818f1f526577068d6ca.js +0 -2
  347. package/assets/esri/core/workers/chunks/5ec66e39e53c11e75179.js +0 -2
  348. package/assets/esri/core/workers/chunks/5f6fd20a7f4e80eafa25.js +0 -1
  349. package/assets/esri/core/workers/chunks/6d2abdb48e17b2b56599.js +0 -1
  350. package/assets/esri/core/workers/chunks/7cdd0492b2191df95102.js +0 -2
  351. package/assets/esri/core/workers/chunks/7e530e635325dba07864.js +0 -1
  352. package/assets/esri/core/workers/chunks/8f4cd30ce23e41c1a42c.js +0 -1
  353. package/assets/esri/core/workers/chunks/936f2b1332ece14d7c28.js +0 -2
  354. package/assets/esri/core/workers/chunks/983f6c8727fd9484718e.js +0 -1
  355. package/assets/esri/core/workers/chunks/bd8cb64b6e08839398f3.js +0 -1
  356. package/assets/esri/core/workers/chunks/cbf1a03f54bd8d2a2b47.js +0 -1
  357. package/layers/support/ParquetGeometryEncodingWkb.js +0 -2
  358. package/views/2d/engine/webgl/PooledUint32Array.js +0 -2
  359. package/views/2d/engine/webgl/cpuMapped/Buffer.js +0 -2
  360. package/views/2d/engine/webgl/cpuMapped/MappedMesh.js +0 -2
  361. package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +0 -2
  362. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/DistanceFalloff.glsl.js +0 -4
  363. /package/assets/esri/core/workers/chunks/{5ec66e39e53c11e75179.js.LICENSE.txt → 577cbc131b21c351fae5.js.LICENSE.txt} +0 -0
  364. /package/assets/esri/core/workers/chunks/{ff713926985a284f5d81.js.LICENSE.txt → a844547bf33a8527ee9f.js.LICENSE.txt} +0 -0
  365. /package/assets/esri/core/workers/chunks/{5818f1f526577068d6ca.js.LICENSE.txt → bb5f909a2f26fc6a21b0.js.LICENSE.txt} +0 -0
  366. /package/assets/esri/core/workers/chunks/{7cdd0492b2191df95102.js.LICENSE.txt → ded2f19a1685db2137f4.js.LICENSE.txt} +0 -0
  367. /package/assets/esri/core/workers/chunks/{936f2b1332ece14d7c28.js.LICENSE.txt → ee057c85cdf6beb5b012.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../../request.js";import r from"../../../../core/Error.js";import i from"../../../../core/Logger.js";import{addQueryParameters as o}from"../../../../core/urlUtils.js";import{subclass as s}from"../../../../core/accessorSupport/decorators.js";import n from"../../../../geometry/SpatialReference.js";import{fromJSON as a}from"../../../../geometry/support/jsonUtils.js";import{WebSocketConnection as c}from"./WebSocketConnection.js";import{executeQuery as u}from"../../../../rest/query/operations/query.js";import l from"../../../../rest/support/Query.js";const f=1e4,h={maxQueryDepth:5,maxRecordCountFactor:3};let d=class extends c{constructor(e){super({...h,...e}),this._buddyServicesQuery=null,this._relatedFeatures=null}async _open(){const e=await this._fetchServiceDefinition(this._config.source);e.timeInfo.trackIdField||i.getLogger(this).warn("GeoEvent service was configured without a TrackIdField. This may result in certain functionality being disabled. The purgeOptions.maxObservations property will have no effect.");const t=this._fetchWebSocketUrl(e.streamUrls,this._config.spatialReference);this._buddyServicesQuery||(this._buddyServicesQuery=this._queryBuddyServices()),await this._buddyServicesQuery,await this._tryCreateWebSocket(t);const{filter:r,outFields:o}=this._config;this.destroyed||this._setFilter(r,o)}_onMessage(e){if("attributes"in e){let o;try{o=this._enrich(e),null!=this._featureZScaler&&this._featureZScaler(o.geometry)}catch(t){return void i.getLogger(this).error(new r("geoevent-connection","Failed to parse message",t))}this.onFeature(o)}else this.onMessage(e)}async _fetchServiceDefinition(e){const r={f:"json",...this._config.customParameters},i=t(e.path,{query:r,responseType:"json"}),o=(await i).data;return this._serviceDefinition=o,o}_fetchWebSocketUrl(e,t){const r=e[0],{urls:i,token:s}=r,n=this._inferWebSocketBaseUrl(i);return o(`${n}/subscribe`,{outSR:""+t.wkid,token:s})}_inferWebSocketBaseUrl(e){if(1===e.length)return e[0];for(const t of e)if(t.includes("wss"))return t;return i.getLogger(this).error(new r("geoevent-connection","Unable to infer WebSocket url",e)),null}async _setFilter(e,t){const o=this._websocket;if(null==o||null==e&&null==t)return;const s=JSON.stringify({filter:this._serializeFilter(e,t)});let n=!1;const a=Promise.withResolvers(),c=()=>{n||(this.destroyed||this._websocket!==o||i.getLogger(this).error(new r("geoevent-connection","Server timed out when setting filter")),a.reject())},u=e=>{const t=JSON.parse(e.data);t.filter&&(t.error&&(i.getLogger(this).error(new r("geoevent-connection","Failed to set service filter",t.error)),this._set("errorString",`Could not set service filter - ${t.error}`),a.reject(t.error)),this._setWebSocketJSONParseHandler(o),n=!0,a.resolve())};return o.onmessage=u,o.send(s),setTimeout(c,f),a.promise}_serializeFilter(e,t){const o={};if(null==e&&null==t)return o;if(e?.geometry)try{const t=a(e.geometry);if("extent"!==t.type)throw new r("geoevent-connection",`Expected extent but found type ${t.type}`);o.geometry=JSON.stringify(t.shiftCentralMeridian())}catch(s){i.getLogger(this).error(new r("geoevent-connection","Encountered an error when setting connection geometryDefinition",s))}return e?.where&&"1 = 1"!==e.where&&"1=1"!==e.where&&(o.where=e.where),null!=t&&(o.outFields=t.join(",")),o}_enrich(e){if(!this._relatedFeatures)return e;const t=this._serviceDefinition.relatedFeatures.joinField,o=e.attributes[t],s=this._relatedFeatures.get(o);if(!s)return i.getLogger(this).warn("geoevent-connection","Feature join failed. Is the join field configured correctly?",e),e;const{attributes:n,geometry:a}=s;for(const r in n)e.attributes[r]=n[r];return a&&(e.geometry=a),e.geometry||e.centroid||i.getLogger(this).error(new r("geoevent-connection","Found malformed feature - no geometry found",e)),e}async _queryBuddyServices(){try{const{relatedFeatures:e,keepLatestArchive:t}=this._serviceDefinition,r=this._queryRelatedFeatures(e),i=this._queryArchive(t);await r;const o=await i;if(!o)return;for(const s of o.features)this.onFeature(this._enrich(s))}catch(e){i.getLogger(this).error(new r("geoevent-connection","Encountered an error when querying buddy services",{error:e}))}}async _queryRelatedFeatures(e){if(!e)return;const t=await this._queryBuddy(e.featuresUrl);this._addRelatedFeatures(t)}async _queryArchive(e){if(e)return this._queryBuddy(e.featuresUrl)}async _queryBuddy(e){const t=new((await import("../../../FeatureLayer.js")).default)({url:e}),{capabilities:r}=await t.load(),i=r.query.supportsMaxRecordCountFactor,o=r.query.supportsPagination,s=r.query.supportsCentroid,a=this._config.maxRecordCountFactor,c=t.capabilities.query.maxRecordCount,f=i?c*a:c,h=new l;if(h.outFields=this._config.outFields??["*"],h.where=this._config.filter?.where??"1=1",h.returnGeometry=!0,h.returnExceededLimitFeatures=!0,h.outSpatialReference=n.fromJSON(this._config.spatialReference),s&&(h.returnCentroid=!0),i&&(h.maxRecordCountFactor=a),o)return h.num=f,t.destroy(),this._queryPages(e,h);const d=await u(e,h,this._config.sourceSpatialReference);return t.destroy(),d}async _queryPages(e,t,r=[],i=0){t.start=null!=t.num?i*t.num:null;const o=await u(e,t,this._config.sourceSpatialReference);return o.exceededTransferLimit&&i<(this._config.maxQueryDepth??0)?(o.features.forEach(e=>r.push(e)),this._queryPages(e,t,r,i+1)):(r.forEach(e=>o.features.push(e)),o)}_addRelatedFeatures(e){const t=new Map,r=e.features,i=this._serviceDefinition.relatedFeatures.joinField;for(const o of r){const e=o.attributes[i];t.set(e,o)}this._relatedFeatures=t}};d=e([s("esri.layers.graphics.sources.connections.GeoEventConnection")],d);export{d as default};
2
+ import{__decorate as e}from"tslib";import t from"../../../../request.js";import r from"../../../../core/Error.js";import i from"../../../../core/Logger.js";import{addQueryParameters as o}from"../../../../core/urlUtils.js";import{subclass as s}from"../../../../core/accessorSupport/decorators.js";import n from"../../../../geometry/SpatialReference.js";import{fromJSON as a}from"../../../../geometry/support/jsonUtils.js";import{WebSocketConnection as c}from"./WebSocketConnection.js";import{serializeStreamServiceFilter as u}from"./websocketUils.js";import{executeQuery as l}from"../../../../rest/query/operations/query.js";import f from"../../../../rest/support/Query.js";const h=1e4,d={maxQueryDepth:5,maxRecordCountFactor:3};let g=class extends c{constructor(e,t){super({...d,...e},t),this._buddyServicesQuery=null,this._relatedFeatures=null}async _open(){const e=await this._fetchServiceDefinition(this._config.url);e.timeInfo.trackIdField||i.getLogger(this).warn("GeoEvent service was configured without a TrackIdField. This may result in certain functionality being disabled. The purgeOptions.maxObservations property will have no effect.");const t=this._fetchWebSocketUrl(e.streamUrls,this._outSpatialReference);this._buddyServicesQuery||(this._buddyServicesQuery=this._queryBuddyServices()),await this._buddyServicesQuery,await this._tryCreateWebSocket(t);const r=u(this._config.definitionExpression,this._config.geometryDefinition),{outFields:o}=this._config;this.destroyed||this._setFilter(r,o)}_onMessage(e){if("attributes"in e){let o;try{o=this._enrich(e),null!=this._featureZScaler&&this._featureZScaler(o.geometry)}catch(t){return void i.getLogger(this).error(new r("geoevent-connection","Failed to parse message",t))}this.onFeature(o)}else this.onMessage(e)}async _fetchServiceDefinition(e){const r={f:"json",...this._config.customParameters},i=t(e.path,{query:r,responseType:"json"}),o=(await i).data;return this._serviceDefinition=o,o}_fetchWebSocketUrl(e,t){const r=e[0],{urls:i,token:s}=r,n=this._inferWebSocketBaseUrl(i);return o(`${n}/subscribe`,{outSR:""+t.wkid,token:s})}_inferWebSocketBaseUrl(e){if(1===e.length)return e[0];for(const t of e)if(t.includes("wss"))return t;return i.getLogger(this).error(new r("geoevent-connection","Unable to infer WebSocket url",e)),null}async _setFilter(e,t){const o=this._websocket;if(null==o||null==e&&null==t)return;const s=JSON.stringify({filter:this._serializeFilter(e,t)});let n=!1;const a=Promise.withResolvers(),c=()=>{n||(this.destroyed||this._websocket!==o||i.getLogger(this).error(new r("geoevent-connection","Server timed out when setting filter")),a.reject())},u=e=>{const t=JSON.parse(e.data);t.filter&&(t.error&&(i.getLogger(this).error(new r("geoevent-connection","Failed to set service filter",t.error)),this._set("errorString",`Could not set service filter - ${t.error}`),a.reject(t.error)),this._setWebSocketJSONParseHandler(o),n=!0,a.resolve())};return o.onmessage=u,o.send(s),setTimeout(c,h),a.promise}_serializeFilter(e,t){const o={};if(null==e&&null==t)return o;if(e?.geometry)try{const t=a(e.geometry);if("extent"!==t.type)throw new r("geoevent-connection",`Expected extent but found type ${t.type}`);o.geometry=JSON.stringify(t.shiftCentralMeridian())}catch(s){i.getLogger(this).error(new r("geoevent-connection","Encountered an error when setting connection geometryDefinition",s))}return e?.where&&"1 = 1"!==e.where&&"1=1"!==e.where&&(o.where=e.where),null!=t&&(o.outFields=t.join(",")),o}_enrich(e){if(!this._relatedFeatures)return e;const t=this._serviceDefinition.relatedFeatures.joinField,o=e.attributes[t],s=this._relatedFeatures.get(o);if(!s)return i.getLogger(this).warn("geoevent-connection","Feature join failed. Is the join field configured correctly?",e),e;const{attributes:n,geometry:a}=s;for(const r in n)e.attributes[r]=n[r];return a&&(e.geometry=a),e.geometry||e.centroid||i.getLogger(this).error(new r("geoevent-connection","Found malformed feature - no geometry found",e)),e}async _queryBuddyServices(){try{const{relatedFeatures:e,keepLatestArchive:t}=this._serviceDefinition,r=this._queryRelatedFeatures(e),i=this._queryArchive(t);await r;const o=await i;if(!o)return;for(const s of o.features)this.onFeature(this._enrich(s))}catch(e){i.getLogger(this).error(new r("geoevent-connection","Encountered an error when querying buddy services",{error:e}))}}async _queryRelatedFeatures(e){if(!e)return;const t=await this._queryBuddy(e.featuresUrl);this._addRelatedFeatures(t)}async _queryArchive(e){if(e)return this._queryBuddy(e.featuresUrl)}async _queryBuddy(e){const t=new((await import("../../../FeatureLayer.js")).default)({url:e}),{capabilities:r}=await t.load(),i=r.query.supportsMaxRecordCountFactor,o=r.query.supportsPagination,s=r.query.supportsCentroid,a=this._config.maxRecordCountFactor,c=t.capabilities.query.maxRecordCount,u=i?c*a:c,h=new f;if(h.outFields=this._config.outFields??["*"],h.where=this._config.definitionExpression??"1=1",h.returnGeometry=!0,h.returnExceededLimitFeatures=!0,h.outSpatialReference=n.fromJSON(this._outSpatialReference),s&&(h.returnCentroid=!0),i&&(h.maxRecordCountFactor=a),o)return h.num=u,t.destroy(),this._queryPages(e,h);const d=await l(e,h,this._config.sourceSpatialReference);return t.destroy(),d}async _queryPages(e,t,r=[],i=0){t.start=null!=t.num?i*t.num:null;const o=await l(e,t,this._config.sourceSpatialReference);return o.exceededTransferLimit&&i<(this._config.maxQueryDepth??0)?(o.features.forEach(e=>r.push(e)),this._queryPages(e,t,r,i+1)):(r.forEach(e=>o.features.push(e)),o)}_addRelatedFeatures(e){const t=new Map,r=e.features,i=this._serviceDefinition.relatedFeatures.joinField;for(const o of r){const e=o.attributes[i];t.set(e,o)}this._relatedFeatures=t}};g=e([s("esri.layers.graphics.sources.connections.GeoEventConnection")],g);export{g as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../../core/Error.js";import o from"../../../../core/Logger.js";import{after as s}from"../../../../core/promiseUtils.js";import{addQueryParameters as r}from"../../../../core/urlUtils.js";import{property as n,subclass as i}from"../../../../core/accessorSupport/decorators.js";import{getGeometryZScaler as c}from"../../../../geometry/support/zscale.js";import a from"../../../support/StreamConnection.js";let l=class extends a{constructor(e){super({}),this._outstandingMessages=[],this.errorString=null;const{geometryType:t,spatialReference:o,sourceSpatialReference:s}=e;this._config=e,this._featureZScaler=c(t,s,o),this._open()}normalizeCtorArgs(){return{}}async _open(){await this._tryCreateWebSocket(),this.destroyed||await this._handshake()}destroy(){super.destroy(),null!=this._websocket&&(this._websocket.onopen=null,this._websocket.onclose=null,this._websocket.onerror=null,this._websocket.onmessage=null,this._websocket.close()),this._websocket=null}get connectionStatus(){if(null==this._websocket)return"disconnected";switch(this._websocket.readyState){case 0:case 1:return"connected";case 2:case 3:return"disconnected"}}sendMessageToSocket(e){null!=this._websocket?this._websocket.send(JSON.stringify(e)):this._outstandingMessages.push(e)}sendMessageToClient(e){this._onMessage(e)}updateCustomParameters(e){this._config.customParameters=e,null!=this._websocket&&this._websocket.close()}async _tryCreateWebSocket(e=this._config.source.path,n=1e3,i=0){try{if(this.destroyed)return;const t=r(e,this._config.customParameters??{});this._websocket=await this._createWebSocket(t),this.notifyChange("connectionStatus")}catch(c){const r=n/1e3;return this._config.maxReconnectionAttempts&&i>=this._config.maxReconnectionAttempts?(o.getLogger(this).error(new t("websocket-connection","Exceeded maxReconnectionAttempts attempts. No further attempts will be made")),void this.destroy()):(o.getLogger(this).error(new t("websocket-connection",`Failed to connect. Attempting to reconnect in ${r}s`,c)),await s(n),this._tryCreateWebSocket(e,Math.min(1.5*n,1e3*this._config.maxReconnectionInterval),i+1))}}_setWebSocketJSONParseHandler(e){e.onmessage=e=>{try{const t=JSON.parse(e.data);this._onMessage(t)}catch(s){return void o.getLogger(this).error(new t("websocket-connection","Failed to parse message, invalid JSON",{error:s}))}}}_createWebSocket(e){return new Promise((t,o)=>{const s=new WebSocket(e);s.onopen=()=>{if(s.onopen=null,this.destroyed)return s.onclose=null,void s.close();s.onclose=e=>this._onClose(e),s.onerror=e=>this._onError(e),this._setWebSocketJSONParseHandler(s),t(s)},s.onclose=e=>{s.onopen=s.onclose=null,o(e)}})}async _handshake(e=1e4){const s=this._websocket;if(null==s)return;const r=Promise.withResolvers(),n=s.onmessage,{filter:i,outFields:c,spatialReference:a}=this._config,l=setTimeout(()=>r.reject(),e),h=()=>{clearTimeout(l),r.reject()};return s.onmessage=e=>{let d=null;try{d=JSON.parse(e.data)}catch(g){}d&&"object"==typeof d||(o.getLogger(this).error(new t("websocket-connection","Protocol violation. Handshake failed - malformed message",e.data)),h(),this.destroy()),d.spatialReference?.wkid!==a?.wkid&&(o.getLogger(this).error(new t("websocket-connection",`Protocol violation. Handshake failed - expected wkid of ${a.wkid}`,e.data)),h(),this.destroy()),"json"!==d.format&&(o.getLogger(this).error(new t("websocket-connection","Protocol violation. Handshake failed - format is not set",e.data)),h(),this.destroy()),i&&d.filter!==i&&o.getLogger(this).error(new t("websocket-connection","Tried to set filter, but server doesn't support it")),c&&d.outFields!==c&&o.getLogger(this).error(new t("websocket-connection","Tried to set outFields, but server doesn't support it")),s.onmessage=n;for(const t of this._outstandingMessages)s.send(JSON.stringify(t));this._outstandingMessages=[],clearTimeout(l),r.resolve()},s.send(JSON.stringify({filter:i,outFields:c,format:"json",spatialReference:{wkid:a.wkid}})),r.promise}_onMessage(e){if(this.onMessage(e),"type"in e)switch(e.type){case"features":case"featureResult":for(const t of e.features)null!=this._featureZScaler&&this._featureZScaler(t.geometry),this.onFeature(t)}}_onError(e){const t="Encountered an error over WebSocket connection";this._set("errorString",t),o.getLogger(this).error("websocket-connection",t)}_onClose(e){this._websocket=null,this.notifyChange("connectionStatus"),1e3!==e.code&&o.getLogger(this).error("websocket-connection",`WebSocket closed unexpectedly with error code ${e.code}`),this.destroyed||this._open()}};e([n()],l.prototype,"connectionStatus",null),e([n()],l.prototype,"errorString",void 0),l=e([i("esri.layers.graphics.sources.connections.WebSocketConnection")],l);export{l as WebSocketConnection};
2
+ import{__decorate as e}from"tslib";import t from"../../../../core/Error.js";import o from"../../../../core/Logger.js";import{after as s}from"../../../../core/promiseUtils.js";import{addQueryParameters as r}from"../../../../core/urlUtils.js";import{property as n,subclass as i}from"../../../../core/accessorSupport/decorators.js";import{getGeometryZScaler as c}from"../../../../geometry/support/zscale.js";import{serializeStreamServiceFilter as a}from"./websocketUils.js";import l from"../../../support/StreamConnection.js";let h=class extends l{constructor(e,t){super({}),this._outSpatialReference=t,this._outstandingMessages=[],this.errorString=null;const{geometryType:o,sourceSpatialReference:s}=e;this._config=e,this._featureZScaler=c(o,s,this._outSpatialReference),this._open()}normalizeCtorArgs(){return{}}async _open(){await this._tryCreateWebSocket(),this.destroyed||await this._handshake()}destroy(){super.destroy(),null!=this._websocket&&(this._websocket.onopen=null,this._websocket.onclose=null,this._websocket.onerror=null,this._websocket.onmessage=null,this._websocket.close()),this._websocket=null}get connectionStatus(){if(null==this._websocket)return"disconnected";switch(this._websocket.readyState){case 0:case 1:return"connected";case 2:case 3:return"disconnected"}}sendMessageToSocket(e){null!=this._websocket?this._websocket.send(JSON.stringify(e)):this._outstandingMessages.push(e)}sendMessageToClient(e){this._onMessage(e)}updateCustomParameters(e){this._config.customParameters=e,null!=this._websocket&&this._websocket.close()}async _tryCreateWebSocket(e=this._config.url.path,n=1e3,i=0){try{if(this.destroyed)return;const t=r(e,this._config.customParameters??{});this._websocket=await this._createWebSocket(t),this.notifyChange("connectionStatus")}catch(c){const r=n/1e3;return this._config.maxReconnectionAttempts&&i>=this._config.maxReconnectionAttempts?(o.getLogger(this).error(new t("websocket-connection","Exceeded maxReconnectionAttempts attempts. No further attempts will be made")),void this.destroy()):(o.getLogger(this).error(new t("websocket-connection",`Failed to connect. Attempting to reconnect in ${r}s`,c)),await s(n),this._tryCreateWebSocket(e,Math.min(1.5*n,1e3*this._config.maxReconnectionInterval),i+1))}}_setWebSocketJSONParseHandler(e){e.onmessage=e=>{try{const t=JSON.parse(e.data);this._onMessage(t)}catch(s){return void o.getLogger(this).error(new t("websocket-connection","Failed to parse message, invalid JSON",{error:s}))}}}_createWebSocket(e){return new Promise((t,o)=>{const s=new WebSocket(e);s.onopen=()=>{if(s.onopen=null,this.destroyed)return s.onclose=null,void s.close();s.onclose=e=>this._onClose(e),s.onerror=e=>this._onError(e),this._setWebSocketJSONParseHandler(s),t(s)},s.onclose=e=>{s.onopen=s.onclose=null,o(e)}})}async _handshake(e=1e4){const s=this._websocket;if(null==s)return;const r=Promise.withResolvers(),n=s.onmessage,i=a(this._config.definitionExpression,this._config.geometryDefinition),{outFields:c}=this._config,l=setTimeout(()=>r.reject(),e),h=()=>{clearTimeout(l),r.reject()};return s.onmessage=e=>{let a=null;try{a=JSON.parse(e.data)}catch(d){}a&&"object"==typeof a||(o.getLogger(this).error(new t("websocket-connection","Protocol violation. Handshake failed - malformed message",e.data)),h(),this.destroy()),a.spatialReference?.wkid!==this._outSpatialReference?.wkid&&(o.getLogger(this).error(new t("websocket-connection",`Protocol violation. Handshake failed - expected wkid of ${this._outSpatialReference.wkid}`,e.data)),h(),this.destroy()),"json"!==a.format&&(o.getLogger(this).error(new t("websocket-connection","Protocol violation. Handshake failed - format is not set",e.data)),h(),this.destroy()),i&&a.filter!==i&&o.getLogger(this).error(new t("websocket-connection","Tried to set filter, but server doesn't support it")),c&&a.outFields!==c&&o.getLogger(this).error(new t("websocket-connection","Tried to set outFields, but server doesn't support it")),s.onmessage=n;for(const t of this._outstandingMessages)s.send(JSON.stringify(t));this._outstandingMessages=[],clearTimeout(l),r.resolve()},s.send(JSON.stringify({filter:i,outFields:c,format:"json",spatialReference:{wkid:this._outSpatialReference.wkid}})),r.promise}_onMessage(e){if(this.onMessage(e),"type"in e)switch(e.type){case"features":case"featureResult":for(const t of e.features)null!=this._featureZScaler&&this._featureZScaler(t.geometry),this.onFeature(t)}}_onError(e){const t="Encountered an error over WebSocket connection";this._set("errorString",t),o.getLogger(this).error("websocket-connection",t)}_onClose(e){this._websocket=null,this.notifyChange("connectionStatus"),1e3!==e.code&&o.getLogger(this).error("websocket-connection",`WebSocket closed unexpectedly with error code ${e.code}`),this.destroyed||this._open()}};e([n()],h.prototype,"connectionStatus",null),e([n()],h.prototype,"errorString",void 0),h=e([i("esri.layers.graphics.sources.connections.WebSocketConnection")],h);export{h as WebSocketConnection};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"./GeoEventConnection.js";import{WebSocketConnection as t}from"./WebSocketConnection.js";import{ClientSideConnection as n}from"../../../support/ClientSideConnection.js";function o(e,t){if(null==e&&null==t)return null;const n={};return null!=t&&(n.geometry=t),null!=e&&(n.where=e),n}function r(r,i,s,c,l,u,a,m,p){const f={source:r,sourceSpatialReference:i,spatialReference:s,geometryType:c,filter:o(l,u),maxReconnectionAttempts:a,maxReconnectionInterval:m,customParameters:p};if(!r)return new n(f);return r.path.startsWith("wss://")||r.path.startsWith("ws://")?new t(f):new e(f)}export{r as createConnection};
2
+ import{FabricKustoConnection as e}from"./FabricKustoConnection.js";import n from"./GeoEventConnection.js";import{WebSocketConnection as o}from"./WebSocketConnection.js";import{ClientSideConnection as t}from"../../../support/ClientSideConnection.js";function r(r,c){switch(r.type){case"client":return new t(r,c);case"custom":return new o(r,c);case"geoevent":return new n(r,c);case"kusto":return new e(r,c)}}export{r as createConnection};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ function l(l,n){if(null==l&&null==n)return null;const u={};return null!=n&&(u.geometry=n),null!=l&&(u.where=l),u}export{l as serializeStreamServiceFilter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as r}from"tslib";import o from"../../core/Accessor.js";import{property as e,subclass as t}from"../../core/accessorSupport/decorators.js";let s=class extends o{constructor(r){super(r),this.name="",this.size=0}arrayBuffer(r){return this.loadArrayBuffer(r)}};r([e({constructOnly:!0})],s.prototype,"loadArrayBuffer",void 0),r([e({constructOnly:!0})],s.prototype,"name",void 0),r([e({constructOnly:!0})],s.prototype,"size",void 0),s=r([t("esri.layers.scene.ModelFileInfo")],s);export{s as default};
2
+ import{__decorate as r}from"tslib";import o from"../../core/Accessor.js";import{property as t,subclass as e}from"../../core/accessorSupport/decorators.js";let s=class extends o{constructor(r){super(r),this.name="",this.size=0}arrayBuffer(r){return this.loadArrayBuffer(r)}};r([t({constructOnly:!0})],s.prototype,"flags",void 0),r([t({constructOnly:!0})],s.prototype,"loadArrayBuffer",void 0),r([t({constructOnly:!0})],s.prototype,"name",void 0),r([t({constructOnly:!0})],s.prototype,"size",void 0),s=r([e("esri.layers.scene.ModelFileInfo")],s);export{s as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"../../request.js";import{unique as t}from"../../core/arrayUtils.js";import o from"../../core/Error.js";import{getOrCreateMapValue as r}from"../../core/MapUtils.js";import{join as s}from"../../core/urlUtils.js";import n from"./ModelFileInfo.js";import a from"./ModelInfo.js";import{modelFormatFromFormatId as i,getFormatIdFormat as u,getFormatExtensions as l,formatIdFromModelFormat as c,getAssetMapTable as f}from"../support/infoFor3D.js";import{executeRawQueryJSON as d,executeQueryJSON as m}from"../../rest/query/executeQueryJSON.js";import p from"../../rest/support/Query.js";async function y(e,t,r,s){const n=e.infoFor3D;if(!n)throw new o("scenelayer:query-models-not-available","Model queries are not available without 3D object metadata",{layer:e});const{objectIdField:a,globalIdField:i}=t,{sourceHashField:u}=n;if(!a||!i||!u)throw new o("scenelayer:query-models-not-available","Missing required fields for model queries",{layer:e});const l=I(e,r,a,i,u),c=await t.queryFeatures(l,s);return await h(new H(e,t,w(c,u),n,s))}async function h(e){const{infoFor3D:t,associatedLayer:o,options:r}=e,s=o.globalIdField,n=o.parsedUrl;if(!s||!n)return new Map;const a=await b(e),c=t.sourceHashField,f=new Map,m=await Promise.all(a.map(async({formatId:n,objectIds:a})=>{const f=i(n,t.supportedFormats),m=o.parsedUrl;if(null==f||!m||!a.length)return null;const p=u(n,t.supportedFormats),y=l(p),h=o.createQuery();h.objectIds=a,h.outFields=[s,c],h.formatOf3DObjects=n,h.returnGeometry=!0;return{modelFormat:f,modelFileExtensions:y,featureSetJSON:await d(m.path,h,{query:e.requestQuery,signal:r?.signal},{uniqueIdFields:o.uniqueIdFields})}}));for(const i of m)i&&j(e,i.modelFormat,i.modelFileExtensions,i.featureSetJSON,f);return f}async function F(e,t,o,r){const s=r?.format;return((await y(e,t,{objectIds:[o]},{...r,requestedFormat:s,sourceOnly:null==s})).get(o)??[]).find(e=>s&&e.format===s||!s&&e.isSource)}function w(e,t){const o=new Map;for(const r of e.features){const e=r.getObjectId(),s=r.getGlobalId();null!=e&&null!=s&&o.set(e,{globalId:s,sourceHash:r.getAttribute(t)??null})}return o}async function b(e){const{options:o,infoFor3D:r,featureInfos:s}=e,n=[...s.keys()];if(o?.requestedFormat){const e=c(o.requestedFormat,r.supportedFormats);return e?[{formatId:e,objectIds:n}]:[]}const a=t([...r.queryFormats,...r.editFormats]);return await g(e,a)}async function g({options:e,infoFor3D:o,featureInfos:n,requestQuery:a,associatedLayer:i},u){const l=!!e?.sourceOnly,c=o.assetMapFieldRoles.parentGlobalId,d=o.assetMapFieldRoles.assetHash,y=o.assetMapFieldRoles.assetType,h=l?d:c,F=new Map;for(const[t,r]of n){const e=l?r.sourceHash:r.globalId;e&&F.set(t,e)}const w=t(F.values()),b=f(o);if(!b||!w.length)return[];const g=s(i.parsedUrl?.path??"",`../${b.id}`),I=new p({where:`${h} IN (${w.map(S).join(",")})`,outFields:[h,y],returnDistinctValues:!0,returnGeometry:!1}),q=await m(g,I,{query:a,signal:e?.signal}),j=new Set(u),M=new Map,D=new Set;for(const t of q.features){const e=t.getAttribute(h),o=t.getAttribute(y);o&&j.has(o)&&(e?r(M,e,()=>new Set).add(o):D.add(o))}if(!l&&!M.size&&D.size){const e=[...n.keys()];return u.filter(e=>D.has(e)).map(t=>({formatId:t,objectIds:e}))}const O=new Map;for(const[t,s]of F)for(const e of M.get(s)??[])r(O,e,()=>[]).push(t);return u.map(e=>({formatId:e,objectIds:O.get(e)??[]})).filter(({objectIds:e})=>e.length>0)}function I(e,t,o,r,s){const n=q(e,t);return n.outFields=[o,r,s],n.returnGeometry=!1,n}function q(e,t){const o=p.from(t)?.clone()??e.createQuery();return o.outFields=null,o.formatOf3DObjects=null,o.returnGeometry=!1,o}function j({featureInfos:e,requestQuery:t},o,s,n,i){const u=new Map;for(const a of n.assetMaps??[])r(u,a.parentGlobalId,()=>[]).push(a);for(const[l,c]of e){const e=u.get(c.globalId);if(!e?.length)continue;const n=M(e,t);if(!n.length)continue;const f=n.reduce((e,t)=>e+t.size,0),d=O(n,s),m=null!=c.sourceHash&&e.some(({assetHash:e})=>e===c.sourceHash);r(i,l,()=>[]).push(new a({name:d,size:f,format:o,isSource:m,files:n}))}}function M(e,t){const o=new Map;for(const n of e)r(o,n.assetName,()=>[]).push(n);const s=[];for(const[r,a]of o){a.sort((e,t)=>e.seqNo-t.seqNo);const e=a.reduce((e,t)=>e+t.size,0),o=a.map(({assetURL:e})=>e).filter(e=>!!e);o.length&&s.push(new n({name:r,size:e,loadArrayBuffer:e=>D(o,t,e)}))}return s}async function D(t,o,r){const s=await Promise.all(t.map(t=>e(t,{responseType:"array-buffer",query:o,signal:r?.signal}).then(({data:e})=>e)));return 1===s.length?s[0]:U(s)}function O(e,t){const o=e.find(({name:e})=>t.some(t=>e.toLowerCase().endsWith(`.${t}`)));return o?.name??e[0].name}function S(e){return`'${e.replaceAll("'","''")}'`}function U(e){const t=e.reduce((e,t)=>e+t.byteLength,0),o=new Uint8Array(t);let r=0;for(const s of e)o.set(new Uint8Array(s),r),r+=s.byteLength;return o.buffer}class H{constructor(e,t,o,r,s){this.layer=e,this.associatedLayer=t,this.featureInfos=o,this.infoFor3D=r,this.options=s,this.requestQuery={...t.parsedUrl?.query,...e.customParameters,...e.apiKey?{token:e.apiKey}:{}}}}export{F as queryModel,y as queryModels};
2
+ import e from"../../request.js";import{unique as t}from"../../core/arrayUtils.js";import o from"../../core/Error.js";import{getOrCreateMapValue as r}from"../../core/MapUtils.js";import{join as s}from"../../core/urlUtils.js";import n from"./ModelFileInfo.js";import a from"./ModelInfo.js";import{modelFormatFromFormatId as i,getFormatIdFormat as u,getFormatExtensions as l,formatIdFromModelFormat as f,getAssetMapTable as c}from"../support/infoFor3D.js";import{executeRawQueryJSON as d,executeQueryJSON as m}from"../../rest/query/executeQueryJSON.js";import p from"../../rest/support/Query.js";async function y(e,t,r,s){const n=e.infoFor3D;if(!n)throw new o("scenelayer:query-models-not-available","Model queries are not available without 3D object metadata",{layer:e});const{objectIdField:a,globalIdField:i}=t;if(!a||!i)throw new o("scenelayer:query-models-not-available","Missing required fields for model queries",{layer:e});const u=h(e,r,a,i),l=await t.queryFeatures(u,s);return await g(new S(e,t,w(l),n,s))}async function g(e){const{infoFor3D:t,associatedLayer:o,options:r}=e,s=o.globalIdField,n=o.parsedUrl;if(!s||!n)return new Map;const a=await I(e),f=new Map,c=await Promise.all(a.map(async({formatId:n,objectIds:a})=>{const f=i(n,t.supportedFormats),c=o.parsedUrl;if(null==f||!c||!a.length)return null;const m=u(n,t.supportedFormats),p=l(m),y=o.createQuery();y.objectIds=a,y.outFields=[s],y.formatOf3DObjects=n,y.returnGeometry=!0;return{modelFormat:f,modelFileExtensions:p,featureSetJSON:await d(c.path,y,{query:e.requestQuery,signal:r?.signal},{uniqueIdFields:o.uniqueIdFields})}}));for(const i of c)i&&j(e,i.modelFormat,i.modelFileExtensions,i.featureSetJSON,f);return f}async function F(e,t,o,r){const s=r?.format;return((await y(e,t,{objectIds:[o]},{...r,requestedFormat:s,sourceOnly:null==s})).get(o)??[]).find(e=>s&&e.format===s||!s&&e.isSource)}function w(e){const t=new Map;for(const o of e.features){const e=o.getObjectId(),r=o.getGlobalId();null!=e&&null!=r&&t.set(e,{globalId:r})}return t}async function I(e){const{options:o,infoFor3D:r,featureInfos:s}=e,n=[...s.keys()];if(o?.requestedFormat){const e=f(o.requestedFormat,r.supportedFormats);return e?[{formatId:e,objectIds:n}]:[]}const a=t([...r.queryFormats,...r.editFormats]);return await b(e,a)}async function b({options:e,infoFor3D:o,featureInfos:n,requestQuery:a,associatedLayer:i},u){const l=o.assetMapFieldRoles.parentGlobalId,f=o.assetMapFieldRoles.assetType,d=o.assetMapFieldRoles.flags,y=new Map;for(const[t,{globalId:r}]of n)r&&y.set(t,r);const g=t(y.values()),F=c(o);if(!F||!g.length)return[];const w=s(i.parsedUrl?.path??"",`../${F.id}`),I=!!e?.sourceOnly,b=new p({where:`${l} IN (${g.map(U).join(",")})`,outFields:I?[l,f,d]:[l,f],returnDistinctValues:!0,returnGeometry:!1}),{features:h}=await m(w,b,{query:a,signal:e?.signal}),q=new Set(u),j=new Map;for(const t of h){const e=t.getAttribute(l),o=t.getAttribute(f),s=t.getAttribute(d)??0;o&&q.has(o)&&e&&!(1&s)&&r(j,e,()=>new Set).add(o)}const D=new Map;for(const[t,s]of y)for(const e of j.get(s)??[])r(D,e,()=>[]).push(t);return u.map(e=>({formatId:e,objectIds:D.get(e)??[]})).filter(({objectIds:e})=>e.length>0)}function h(e,t,o,r){const s=q(e,t);return s.outFields=[o,r],s.returnGeometry=!1,s}function q(e,t){const o=p.from(t)?.clone()??e.createQuery();return o.outFields=null,o.formatOf3DObjects=null,o.returnGeometry=!1,o}function j({featureInfos:e,requestQuery:t,infoFor3D:o},s,n,i,u){const l=new Map;for(const a of i.assetMaps??[])r(l,a.parentGlobalId,()=>[]).push(a);for(const[f,c]of e){const e=l.get(c.globalId);if(!e?.length)continue;const i=D(e,t,o);if(!i.length)continue;const d=i.reduce((e,t)=>e+t.size,0),m=O(i,n),p=!m.flags.includes("DERIVED");r(u,f,()=>[]).push(new a({name:m.name,size:d,format:s,isSource:p,files:i}))}}function D(e,t,o){const s=new Map,a=({assetType:e})=>null!=i(e,o.supportedFormats),u=e.some(e=>a(e)&&!e.flags.includes("DERIVED"));for(const n of e)u&&a(n)&&n.flags.includes("DERIVED")||r(s,n.assetName,()=>[]).push(n);const l=[];for(const[r,i]of s){i.sort((e,t)=>e.seqNo-t.seqNo);const e=i.reduce((e,t)=>e+t.size,0),o=i.map(({assetURL:e})=>e).filter(e=>!!e);o.length&&l.push(new n({name:r,size:e,flags:i[0].flags,loadArrayBuffer:e=>M(o,t,e)}))}return l}async function M(t,o,r){const s=await Promise.all(t.map(t=>e(t,{responseType:"array-buffer",query:o,signal:r?.signal}).then(({data:e})=>e)));return 1===s.length?s[0]:E(s)}function O(e,t){return e.find(({name:e})=>t.some(t=>e.toLowerCase().endsWith(`.${t}`)))??e[0]}function U(e){return`'${e.replaceAll("'","''")}'`}function E(e){const t=e.reduce((e,t)=>e+t.byteLength,0),o=new Uint8Array(t);let r=0;for(const s of e)o.set(new Uint8Array(s),r),r+=s.byteLength;return o.buffer}class S{constructor(e,t,o,r,s){this.layer=e,this.associatedLayer=t,this.featureInfos=o,this.infoFor3D=r,this.options=s,this.requestQuery={...t.parsedUrl?.query,...e.customParameters,...e.apiKey?{token:e.apiKey}:{}}}}export{F as queryModel,y as queryModels};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{property as t}from"../../core/accessorSupport/decorators.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import{getGeometryZScaler as o}from"../../geometry/support/zscale.js";import s from"./StreamConnection.js";let a=class extends s{constructor(e){super({}),this.connectionStatus="connected",this.errorString=null;const{geometryType:t,spatialReference:r,sourceSpatialReference:s}=e;this._featureZScaler=o(t,s,r)}normalizeCtorArgs(){return{}}updateCustomParameters(e){}sendMessageToSocket(e){}sendMessageToClient(e){if("type"in e)switch(e.type){case"features":case"featureResult":for(const t of e.features)null!=this._featureZScaler&&this._featureZScaler(t.geometry),this.onFeature(t)}this.onMessage(e)}};e([t()],a.prototype,"connectionStatus",void 0),e([t()],a.prototype,"errorString",void 0),a=e([r("esri.layers.support.ClientSideConnection")],a);export{a as ClientSideConnection};
2
+ import{__decorate as e}from"tslib";import{property as t}from"../../core/accessorSupport/decorators.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import{getGeometryZScaler as o}from"../../geometry/support/zscale.js";import s from"./StreamConnection.js";let a=class extends s{constructor(e,t){super({}),this.connectionStatus="connected",this.errorString=null;const{geometryType:r,sourceSpatialReference:s}=e;this._featureZScaler=o(r,s,t)}normalizeCtorArgs(){return{}}updateCustomParameters(e){}sendMessageToSocket(e){}sendMessageToClient(e){if("type"in e)switch(e.type){case"features":case"featureResult":for(const t of e.features)null!=this._featureZScaler&&this._featureZScaler(t.geometry),this.onFeature(t)}this.onMessage(e)}};e([t()],a.prototype,"connectionStatus",void 0),e([t()],a.prototype,"errorString",void 0),a=e([r("esri.layers.support.ClientSideConnection")],a);export{a as ClientSideConnection};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{__decorate as r}from"tslib";import{Clonable as o}from"../../core/Clonable.js";import{JSONSupportMixin as e}from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import p from"./GeometryEncodingLocation.js";let s=class extends(e(o)){constructor(r){super(r),this.type="fabric",this.refreshInterval=5e3/6e4}};r([t({type:["fabric"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0}}})],s.prototype,"type",void 0),r([t({type:String,json:{read:!1,write:{ignoreOrigin:!0}}})],s.prototype,"workspace",void 0),r([t({type:String,json:{read:!1,write:{ignoreOrigin:!0}}})],s.prototype,"database",void 0),r([t({type:String,json:{read:!1,write:{ignoreOrigin:!0}}})],s.prototype,"table",void 0),r([t({type:p,json:{read:!1,write:{ignoreOrigin:!0}}})],s.prototype,"geometryEncoding",void 0),r([t({type:Number,json:{read:!1,write:{ignoreOrigin:!0}}})],s.prototype,"refreshInterval",void 0),s=r([i("esri.layers.support.FabricKustoSource")],s);export{s as default};
@@ -2,40 +2,40 @@ import type { ClonableMixin } from "../../core/Clonable.js";
2
2
  import type { JSONSupport } from "../../core/JSONSupport.js";
3
3
 
4
4
  /** @since 5.0 */
5
- export interface ParquetGeometryEncodingLocationProperties extends Partial<Pick<ParquetGeometryEncodingLocation, "xField" | "yField">> {}
5
+ export interface GeometryEncodingLocationProperties extends Partial<Pick<GeometryEncodingLocation, "xField" | "yField">> {}
6
6
 
7
7
  /**
8
- * The location format used to store geometries in Parquet files. Geometries are represented as x and y coordinate pairs, typically stored in two separate columns.
8
+ * The location format used to store geometries. Geometries are represented as x and y coordinate pairs, typically stored in two separate columns.
9
9
  * If the file contains coordinate fields named `"lng/lat"`, `"lon/lat"`, `"long/lat"`, `"longitude/latitude"`, `"x/y"`, `"xcenter/ycenter"`, `"longitude83/latitude83"`,
10
10
  * `"longdecdeg/latdecdeg"`, `"point-x/point-y"`, these are detected automatically. The field names are case insensitive.
11
- * For other coordinate field names, set the [xField](https://developers.arcgis.com/javascript/latest/references/core/layers/support/ParquetGeometryEncodingLocation/#xField) and [yField](https://developers.arcgis.com/javascript/latest/references/core/layers/support/ParquetGeometryEncodingLocation/#yField) properties to the names of the fields
11
+ * For other coordinate field names, set the [xField](https://developers.arcgis.com/javascript/latest/references/core/layers/support/GeometryEncodingLocation/#xField) and [yField](https://developers.arcgis.com/javascript/latest/references/core/layers/support/GeometryEncodingLocation/#yField) properties to the names of the fields
12
12
  * containing the latitude and longitude values respectively.
13
13
  *
14
14
  * @since 4.33
15
15
  * @see [ParquetLayer.geometryEncoding](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#geometryEncoding)
16
16
  * @see [getParquetLayerInfo()](https://developers.arcgis.com/javascript/latest/references/core/layers/support/parquetUtils/#getParquetLayerInfo)
17
17
  */
18
- export default class ParquetGeometryEncodingLocation extends ParquetGeometryEncodingLocationSuperclass {
18
+ export default class GeometryEncodingLocation extends GeometryEncodingLocationSuperclass {
19
19
  /** @since 5.0 */
20
- constructor(properties?: ParquetGeometryEncodingLocationProperties);
20
+ constructor(properties?: GeometryEncodingLocationProperties);
21
21
  /**
22
- * The type of encoding used for the geometries in the parquet file.
22
+ * The type of encoding used for the geometries.
23
23
  * This will always be "location" for this class.
24
24
  *
25
25
  * @since 5.0
26
26
  */
27
27
  get type(): "location";
28
28
  /**
29
- * The name of the field in the Parquet file that contains the x values.
29
+ * The name of the field that contains the x values.
30
30
  *
31
31
  * @since 5.0
32
32
  */
33
33
  accessor xField: string;
34
34
  /**
35
- * The name of the field in the Parquet file that contains the y values.
35
+ * The name of the field that contains the y values.
36
36
  *
37
37
  * @since 5.0
38
38
  */
39
39
  accessor yField: string;
40
40
  }
41
- declare const ParquetGeometryEncodingLocationSuperclass: typeof JSONSupport & typeof ClonableMixin
41
+ declare const GeometryEncodingLocationSuperclass: typeof JSONSupport & typeof ClonableMixin
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as o}from"tslib";import{ClonableMixin as e}from"../../core/Clonable.js";import{JSONSupport as t}from"../../core/JSONSupport.js";import{property as r,subclass as i}from"../../core/accessorSupport/decorators.js";let s=class extends(e(t)){constructor(o){super(o),this.type="location",this.xField=null,this.yField=null}};o([r({type:["location"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],s.prototype,"type",void 0),o([r({type:String,json:{write:{isRequired:!0}}})],s.prototype,"xField",void 0),o([r({type:String,json:{write:{isRequired:!0}}})],s.prototype,"yField",void 0),s=o([i("esri.layers.support.ParquetGeometryEncodingLocation")],s);export{s as default};
2
+ import{__decorate as o}from"tslib";import{ClonableMixin as e}from"../../core/Clonable.js";import{JSONSupport as t}from"../../core/JSONSupport.js";import{property as r,subclass as i}from"../../core/accessorSupport/decorators.js";let s=class extends(e(t)){constructor(o){super(o),this.type="location",this.xField=null,this.yField=null}};o([r({type:["location"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],s.prototype,"type",void 0),o([r({type:String,json:{write:{isRequired:!0}}})],s.prototype,"xField",void 0),o([r({type:String,json:{write:{isRequired:!0}}})],s.prototype,"yField",void 0),s=o([i("esri.layers.support.GeometryEncodingLocation")],s);export{s as default};
@@ -2,22 +2,21 @@ import type { ClonableMixin } from "../../core/Clonable.js";
2
2
  import type { JSONSupport } from "../../core/JSONSupport.js";
3
3
 
4
4
  /** @since 5.0 */
5
- export interface ParquetGeometryEncodingWkbProperties extends Partial<Pick<ParquetGeometryEncodingWkb, "field" | "orientation">> {}
5
+ export interface GeometryEncodingWkbProperties extends Partial<Pick<GeometryEncodingWkb, "field" | "orientation">> {}
6
6
 
7
7
  /**
8
- * Well-Known Binary (WKB) is a binary format used to encode geometries before storing them in parquet files.
8
+ * Well-Known Binary (WKB) is a binary format used to encode geometries in a column.
9
9
  *
10
10
  * @since 4.33
11
11
  * @see [ParquetLayer.geometryEncoding](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#geometryEncoding)
12
12
  * @see [getParquetLayerInfo()](https://developers.arcgis.com/javascript/latest/references/core/layers/support/parquetUtils/#getParquetLayerInfo)
13
13
  */
14
- export default class ParquetGeometryEncodingWkb extends ParquetGeometryEncodingWkbSuperclass {
14
+ export default class GeometryEncodingWkb extends GeometryEncodingWkbSuperclass {
15
15
  /** @since 5.0 */
16
- constructor(properties?: ParquetGeometryEncodingWkbProperties);
16
+ constructor(properties?: GeometryEncodingWkbProperties);
17
17
  /**
18
- * The name of the geometry column. When a parquet file contains multiple geometry fields,
19
- * set this property to specify which geometry column should be used by the ParquetLayer.
20
- * This field is used to set the [ParquetLayer.geometryType](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#geometryType) of the layer.
18
+ * The name of the geometry column. When columns contain multiple geometry fields,
19
+ * set this property to specify which geometry column should be used by the layer.
21
20
  *
22
21
  * @since 5.0
23
22
  */
@@ -30,11 +29,11 @@ export default class ParquetGeometryEncodingWkb extends ParquetGeometryEncodingW
30
29
  */
31
30
  accessor orientation: "counter-clockwise" | null | undefined;
32
31
  /**
33
- * The type of encoding used for the geometries in the parquet file.
32
+ * The type of encoding used for the geometries.
34
33
  * This will always be "wkb" for this class.
35
34
  *
36
35
  * @since 5.0
37
36
  */
38
37
  get type(): "wkb";
39
38
  }
40
- declare const ParquetGeometryEncodingWkbSuperclass: typeof JSONSupport & typeof ClonableMixin
39
+ declare const GeometryEncodingWkbSuperclass: typeof JSONSupport & typeof ClonableMixin
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{__decorate as o}from"tslib";import{ClonableMixin as e}from"../../core/Clonable.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{property as t,subclass as i}from"../../core/accessorSupport/decorators.js";let s=class extends(e(r)){constructor(o){super(o),this.type="wkb",this.field=null}};o([t({type:["wkb"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],s.prototype,"type",void 0),o([t({type:["counter-clockwise"],json:{write:!0}})],s.prototype,"orientation",void 0),o([t({type:String,json:{write:{isRequired:!0}}})],s.prototype,"field",void 0),s=o([i("esri.layers.support.GeometryEncodingWkb")],s);export{s as default};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import e from"../../request.js";import n from"../../core/Error.js";import t from"./FabricKustoSource.js";import s from"./Field.js";import o from"./GeometryEncodingLocation.js";import{inferLocationInfo as a}from"./locationUtils.js";async function r(t,s){const{data:o}=await e(`https://api.fabric.microsoft.com/v1/workspaces/${t}/kqlDatabases/${s}`,{responseType:"json"});if(null==o)throw new n("kusto:connection",`KQL database '${s}' was not found in workspace '${t}'`);return o}async function i(e,n,t,s={}){return c(e,n,t,{},s)}async function c(e,n,s,i,c={}){if(i.database||(i.database=await r(e,n)),i.fields?.length||(i.fields=await l(i.database,s,c)),i.source||(i.source=new t({workspace:e,database:n,table:s})),!i.source.geometryEncoding){const e=a(i.fields.map(e=>e.name));e.latitudeFieldName&&e.longitudeFieldName&&(i.source.geometryEncoding=new o({xField:e.longitudeFieldName,yField:e.latitudeFieldName}))}return i}async function l(e,n,t={}){const s=await u(e,n,t),o=[];for(const a of s.OrderedColumns){const e=d(a);e&&o.push(e)}return o}async function u(n,t,s={}){const o=n.properties.queryServiceUri;return p((await e(`${o}/v1/rest/mgmt`,{responseType:"json",method:"post",headers:{"Content-Type":"application/json"},body:JSON.stringify({db:n.displayName,csl:`.show table ${f(t)} schema as json`}),signal:s.signal})).data)}function d(e){const n=m(e.CslType);return n?new s({name:e.Name,type:n}):null}function m(e){switch(e){case"bool":return"small-integer";case"guid":case"string":return"string";case"int":return"integer";case"long":return"big-integer";case"real":return"double";case"dynamic":case"datetime":case"decimal":case"timespan":return null}}function p(e){const t=e.Tables[0];if(null==t||0===t.Rows.length)throw new n("kusto:invalid-schema-response","Kusto schema response did not include any rows");const[s,o]=t.Rows[0];if("string"!=typeof o)throw new n("kusto:invalid-schema-response","Kusto schema response did not include a schema string");return JSON.parse(o)}function f(e){return`['${e.replaceAll("'","''")}']`}function g(e){return e.replaceAll("'","''")}export{c as completeKustoStreamLayerInfo,f as escapeKustoIdentifier,g as escapeKustoStringLiteral,r as fetchKustoDatabaseDetails,i as getKustoStreamLayerInfo};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import o from"./ParquetGeometryEncodingLocation.js";import r from"./ParquetGeometryEncodingWkb.js";function t(t){switch(t.type){case"wkb":return r.fromJSON(t);case"location":return o.fromJSON(t)}}export{t as fromParquetGeometryEncodingJSON};
2
+ import o from"./GeometryEncodingLocation.js";import r from"./GeometryEncodingWkb.js";function t(t){switch(t.type){case"wkb":return r.fromJSON(t);case"location":return o.fromJSON(t)}}export{t as fromParquetGeometryEncodingJSON};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"../../core/Collection.js";import t from"../../core/Error.js";import{JSONMap as o}from"../../core/jsonMap.js";import n from"../../geometry/SpatialReference.js";import i from"./Field.js";import{isNumericField as r}from"./fieldUtils.js";import{inferLocationInfo as s}from"./locationUtils.js";import l from"./ParquetGeometryEncodingLocation.js";import c from"./ParquetGeometryEncodingWkb.js";import{createParquetFile as p,readGeoMetadata as a,readGeodisplayMetadata as u}from"../../libs/parquet/parquet.js";const m=new o({esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint"}),f=new Set(["uncompressed","snappy","gzip"]);function d(e){return m.toJSON(e)}function y(e){return m.fromJSON(e)}function g(t,o={}){return w({urls:new e(t)},o)}async function w(e,o={}){if(e.urls.length<1)throw new t("parquet:bad-input","At least one url must be specified",e);if(e.geometryType&&e.spatialReference&&e.geometryEncoding&&e.fields)return e;const s=await p(e.urls.getItemAt(0),{getCustomParameters:()=>o.customParameters});for(const n of s.compressionCodecs())if(!f.has(n))throw new t("parquet:unsupported",`Compression codec ${n} is unsupported. Must be of type ${Array.from(f).join(",")}`);const l=a(s),c={...e,file:s};if(null==c.fields&&(c.fields=s.fields(!1).map(e=>i.fromJSON({name:e.name,alias:e.name,type:e.type}))),null!=c.geometryEncoding){const e=c.geometryEncoding;switch(e.type){case"wkb":{const o=c.fields.find(t=>t.name===e.field);if(!o)throw new t("parquet:unsupported",`Geometry encoding references field ${e.field} which does not exist`);if("blob"!==o.type)throw new t("parquet:unsupported",`Invalid field type for geometry encoding. Found ${o.type} but expected 'blob'`);break}case"location":for(const o of[e.xField,e.yField])if(null!=o){const e=c.fields.find(e=>e.name===o);if(!e)throw new t("parquet:unsupported",`Geometry encoding references field ${o} which does not exist`);if(!r(e))throw new t("parquet:unsupported",`Invalid field type for location geometry encoding. Found ${e.type} but expected a numeric`)}}}null==c.geometryEncoding&&(c.geometryEncoding=b(l,c.fields));const m=u(s);if(m&&(c.displayOptimization=m),c.geometryEncoding)switch(c.geometryEncoding.type){case"location":null==c.spatialReference&&(c.spatialReference=n.WGS84),null==c.geometryType&&(c.geometryType="point");break;case"wkb":{if(!l)return c;const e=l.primary_column,t=l.columns[e];if(c.geometryType||(c.geometryType=j(t)),c.spatialReference||(c.spatialReference=k(t)),c.fields)for(const o of Object.keys(l.columns))c.fields=c.fields.filter(e=>e.name!==o)}}if(c.displayOptimization){const e=c.displayOptimization.index;if(!c.spatialReference&&e.wkid&&(c.spatialReference=new n({wkid:e.wkid})),!c.geometryType)switch(e.type){case"z":c.geometryType="point";break;case"xz":c.geometryType=e.geometryType}}return c}function b(e,t){if(null!=e){const t=e.primary_column,o=e.columns[t];return new c({field:t,orientation:"counterclockwise"===o.orientation?"counter-clockwise":null})}const o=t.filter(e=>r(e)).map(e=>e.name),n=s(o);return n.latitudeFieldName&&n.longitudeFieldName?new l({xField:n.longitudeFieldName,yField:n.latitudeFieldName}):null}function h(e){switch(e){case"Point":return"point";case"Polygon":case"MultiPolygon":return"polygon";case"LineString":return"polyline";case"MultiPoint":return"multipoint";default:return null}}function j(e){const{geometry_types:o}=e,n=new Set;for(const t of o){const e=h(t);e&&n.add(e)}if(n.size>1)throw new t("parquet:unsupported","Parquet mixed geometry types are not supported",{geometryTypes:n});return 1===n.size?n.values().next().value:void 0}function k(e){const t=e.crs?.id?.code;return t&&"number"==typeof t?new n({wkid:t}):void 0}export{w as completeParquetLayerInfo,y as fromParquetJSONGeometryType,g as getParquetLayerInfo,m as parquetGeometryTypeKebabDict,d as toParquetJSONGeometryType};
2
+ import e from"../../core/Collection.js";import t from"../../core/Error.js";import{JSONMap as o}from"../../core/jsonMap.js";import n from"../../geometry/SpatialReference.js";import i from"./Field.js";import{isNumericField as r}from"./fieldUtils.js";import s from"./GeometryEncodingLocation.js";import l from"./GeometryEncodingWkb.js";import{inferLocationInfo as c}from"./locationUtils.js";import{createParquetFile as p,readGeoMetadata as a,readGeodisplayMetadata as u}from"../../libs/parquet/parquet.js";const m=new o({esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint"}),f=new Set(["uncompressed","snappy","gzip"]);function d(e){return m.toJSON(e)}function y(e){return m.fromJSON(e)}function g(t,o={}){return w({urls:new e(t)},o)}async function w(e,o={}){if(e.urls.length<1)throw new t("parquet:bad-input","At least one url must be specified",e);if(e.geometryType&&e.spatialReference&&e.geometryEncoding&&e.fields)return e;const s=await p(e.urls.getItemAt(0),{getCustomParameters:()=>o.customParameters});for(const n of s.compressionCodecs())if(!f.has(n))throw new t("parquet:unsupported",`Compression codec ${n} is unsupported. Must be of type ${Array.from(f).join(",")}`);const l=a(s),c={...e,file:s};if(null==c.fields&&(c.fields=s.fields(!1).map(e=>i.fromJSON({name:e.name,alias:e.name,type:e.type}))),null!=c.geometryEncoding){const e=c.geometryEncoding;switch(e.type){case"wkb":{const o=c.fields.find(t=>t.name===e.field);if(!o)throw new t("parquet:unsupported",`Geometry encoding references field ${e.field} which does not exist`);if("blob"!==o.type)throw new t("parquet:unsupported",`Invalid field type for geometry encoding. Found ${o.type} but expected 'blob'`);break}case"location":for(const o of[e.xField,e.yField])if(null!=o){const e=c.fields.find(e=>e.name===o);if(!e)throw new t("parquet:unsupported",`Geometry encoding references field ${o} which does not exist`);if(!r(e))throw new t("parquet:unsupported",`Invalid field type for location geometry encoding. Found ${e.type} but expected a numeric`)}}}null==c.geometryEncoding&&(c.geometryEncoding=b(l,c.fields));const m=u(s);if(m&&(c.displayOptimization=m),c.geometryEncoding)switch(c.geometryEncoding.type){case"location":null==c.spatialReference&&(c.spatialReference=n.WGS84),null==c.geometryType&&(c.geometryType="point");break;case"wkb":{if(!l)return c;const e=l.primary_column,t=l.columns[e];if(c.geometryType||(c.geometryType=j(t)),c.spatialReference||(c.spatialReference=k(t)),c.fields)for(const o of Object.keys(l.columns))c.fields=c.fields.filter(e=>e.name!==o)}}if(c.displayOptimization){const e=c.displayOptimization.index;if(!c.spatialReference&&e.wkid&&(c.spatialReference=new n({wkid:e.wkid})),!c.geometryType)switch(e.type){case"z":c.geometryType="point";break;case"xz":c.geometryType=e.geometryType}}return c}function b(e,t){if(null!=e){const t=e.primary_column,o=e.columns[t];return new l({field:t,orientation:"counterclockwise"===o.orientation?"counter-clockwise":null})}const o=t.filter(e=>r(e)).map(e=>e.name),n=c(o);return n.latitudeFieldName&&n.longitudeFieldName?new s({xField:n.longitudeFieldName,yField:n.latitudeFieldName}):null}function h(e){switch(e){case"Point":return"point";case"Polygon":case"MultiPolygon":return"polygon";case"LineString":return"polyline";case"MultiPoint":return"multipoint";default:return null}}function j(e){const{geometry_types:o}=e,n=new Set;for(const t of o){const e=h(t);e&&n.add(e)}if(n.size>1)throw new t("parquet:unsupported","Parquet mixed geometry types are not supported",{geometryTypes:n});return 1===n.size?n.values().next().value:void 0}function k(e){const t=e.crs?.id?.code;return t&&"number"==typeof t?new n({wkid:t}):void 0}export{w as completeParquetLayerInfo,y as fromParquetJSONGeometryType,g as getParquetLayerInfo,m as parquetGeometryTypeKebabDict,d as toParquetJSONGeometryType};
@@ -5,10 +5,10 @@ import type IntegratedMesh3DTilesLayer from "../IntegratedMesh3DTilesLayer.js";
5
5
  import type CodedValueDomain from "./CodedValueDomain.js";
6
6
  import type ControlPoint from "./ControlPoint.js";
7
7
  import type DateTimeFieldFormat from "./DateTimeFieldFormat.js";
8
+ import type GeometryEncodingLocation from "./GeometryEncodingLocation.js";
9
+ import type GeometryEncodingWkb from "./GeometryEncodingWkb.js";
8
10
  import type InheritedDomain from "./InheritedDomain.js";
9
11
  import type NumberFieldFormat from "./NumberFieldFormat.js";
10
- import type ParquetGeometryEncodingLocation from "./ParquetGeometryEncodingLocation.js";
11
- import type ParquetGeometryEncodingWkb from "./ParquetGeometryEncodingWkb.js";
12
12
  import type RangeDomain from "./RangeDomain.js";
13
13
  import type { AbortOptions } from "../../core/promiseUtils.js";
14
14
  import type { ElevationLayerUnion, QueryRelatedCapabilities } from "../types.js";
@@ -635,7 +635,7 @@ export interface ExifTag {
635
635
  *
636
636
  * @since 5.0
637
637
  */
638
- export type ParquetGeometryEncodingUnion = ParquetGeometryEncodingWkb | ParquetGeometryEncodingLocation;
638
+ export type ParquetGeometryEncodingUnion = GeometryEncodingWkb | GeometryEncodingLocation;
639
639
 
640
640
  /**
641
641
  * Options for creating an elevation sampler.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/core",
3
- "version": "5.1.0-next.84",
3
+ "version": "5.1.0-next.86",
4
4
  "homepage": "https://js.arcgis.com",
5
5
  "description": "ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API",
6
6
  "keywords": [
@@ -21,7 +21,7 @@
21
21
  "@amcharts/amcharts5": "~5.17.2",
22
22
  "@arcgis/toolkit": "^5.1.0-next.83",
23
23
  "@esri/arcgis-html-sanitizer": "~4.1.0",
24
- "@esri/calcite-components": "^5.1.0-next.36",
24
+ "@esri/calcite-components": "^5.1.0-next.42",
25
25
  "@vaadin/grid": "~25.1.1",
26
26
  "@zip.js/zip.js": "~2.8.26",
27
27
  "luxon": "~3.7.2",
@@ -202,6 +202,16 @@ export default class Features extends FeaturesSuperclass {
202
202
  * @default false
203
203
  */
204
204
  accessor defaultPopupTemplateEnabled: boolean;
205
+ /**
206
+ * The heading currently displayed for the selected feature item.
207
+ *
208
+ * This value resolves to the selected feature item's heading when available,
209
+ * otherwise it falls back to [heading](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#heading).
210
+ *
211
+ * @see [heading](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#heading)
212
+ * @see [selectedFeatureItem](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#selectedFeatureItem)
213
+ */
214
+ get effectiveHeading(): string | null | undefined;
205
215
  /**
206
216
  * The number of selected [features](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#features) available.
207
217
  *
package/popup/Features.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{isSome as t}from"../core/arrayUtils.js";import i from"../core/Error.js";import{EventedAccessor as r}from"../core/Evented.js";import s from"../core/Logger.js";import{abortMaybe as o}from"../core/maybe.js";import{debounce as n,isAbortError as a}from"../core/promiseUtils.js";import l from"../core/ReactiveSet.js";import{watch as h,when as u,sync as c}from"../core/reactiveUtils.js";import{addMany as p}from"../core/SetUtils.js";import{property as d,subclass as g}from"../core/accessorSupport/decorators.js";import m from"../geometry/Point.js";import{initializeProjection as f,project as y}from"../geometry/projectionUtils.js";import _ from"../geometry/SpatialReference.js";import{geographicToWebMercator as F}from"../geometry/support/webMercatorUtils.js";import{getGraphicLayer as v}from"../graphic/graphicOriginUtils.js";import{fallbackObjectIDAttribute as w}from"../layers/LayerConstants.js";import{ActionsCollection as C,zoomToAggregatedFeatures as b,browseAggregatedFeatures as I,zoomToFeature as P}from"./actions.js";import{getSelectedTarget as A}from"./actionUtils.js";import L from"./Feature.js";import j from"./support/FeatureAbilities.js";import{getDisplayedSymbol as x}from"../symbols/support/symbolUtils.js";import{system as E}from"../time/constants.js";import{highlightsSupported as R}from"../views/support/layerViewUtils.js";import{GoTo as O}from"../widgets/support/GoTo.js";const U="location-scale-handle",S=()=>[P.clone()],T=()=>[b.clone(),I.clone()];let M=null;function H(e,t){switch(e){case"building-scene":case"map-image":case"tile":case"imagery":return!0;case"imagery-tile":return"2d"===t;default:return!1}}let D=class extends(O(r)){constructor(e){super(e),this._pendingPromises=new l,this._fetchFeaturesController=null,this._centerAtLocationController=null,this._locationUpdateController=null,this._highlightPromises={"highlight-active-feature":null,"highlight-selected-feature":null},this._defaultFeatureAbilities=new j,this.actions=new C,this.activeFeature=null,this.aggregatedFeaturesEnabled=!1,this.defaultPopupTemplateEnabled=!1,this.featurePage=null,this.featuresPerPage=20,this.featureMenuOpen=!1,this.featureItemAbilities=null,this.featureItems=[],this.heading=null,this.highlightEnabled=!0,this.includeDefaultActions=!0,this.open=!1,this.updateLocationEnabled=!1,this.view=null,this.zoomFactor=4,this._debouncedLocationUpdate=n(async e=>{this._cancelLocationUpdate();const t=new AbortController,{signal:i}=t;this._locationUpdateController=t,await this._locationUpdate(e,{signal:i}).catch(()=>{}).finally(()=>{this._locationUpdateController===t&&(this._locationUpdateController=null)})})}initialize(){this.addHandles([h(()=>[this.highlightEnabled,this.selectedFeature,this.open,this.view],()=>this._highlightSelectedFeature()),h(()=>[this.highlightEnabled,this.activeFeature,this.open,this.view],()=>this._highlightActiveFeature()),h(()=>this.location,e=>this._locationChange(e)),h(()=>this.selectedFeature,e=>this._selectedFeatureChange(e)),h(()=>[this.selectedFeatureIndex,this.featureCount,this.featuresPerPage],()=>this._selectedFeatureIndexChange()),h(()=>[this.featurePage,this.selectedFeatureIndex,this.featureCount,this.featuresPerPage,this.featureItems],()=>this._setGraphicOnFeatureItems()),h(()=>this.featureItems,()=>this._featureItemsChange()),h(()=>[this.featureItemAbilities?.attachmentsContent,this.featureItemAbilities?.chartAnimation,this.featureItemAbilities?.customContent,this.featureItemAbilities?.expressionContent,this.featureItemAbilities?.fieldsContent,this.featureItemAbilities?.mediaContent,this.featureItemAbilities?.relationshipContent,this.featureItemAbilities?.textContent,this.featureItemAbilities?.utilityNetworkAssociationsContent,this.features,this.map,this.spatialReference,this.timeZone],()=>this._updateFeatureItems()),u(()=>!this.waitingForResult,()=>this._waitingForResultChange(),c),u(()=>!this.open,()=>this.aggregatedFeaturesEnabled=!1)])}destroy(){this._cancelLocationUpdate(),this._cancelFetchingFeatures(),this._cancelCenterAtLocation(),this._pendingPromises.clear(),this.aggregatedFeaturesEnabled=!1,this.view=null,this.map=null,this.spatialReference=null,this.timeZone=null}get active(){return this.open&&!this.waitingForResult}get allActions(){const e=this._get("allActions")||new C;e.removeAll();const{actions:i,defaultActions:r,defaultPopupTemplateEnabled:s,includeDefaultActions:o,selectedFeature:n}=this,a=o?r.concat(i):i,l=n&&("function"==typeof n.getEffectivePopupTemplate&&n.getEffectivePopupTemplate(s)||n.popupTemplate),h=l?.actions,u=l?.overwriteActions?h:h?.concat(a)??a;return u?.filter(t).forEach(t=>e.add(t)),e}set content(e){this.promises=[],this._set("content",e)}get defaultActions(){const e=this._get("defaultActions")||new C;return e.removeAll(),e.addMany(this.selectedFeature?.isAggregate?T():S()),e}get featureCount(){return this.features.length}set features(e){if(this._get("features")===e)return;const t=e||[];this._set("features",t),this._syncSelectedFeatureIndex(t)}get initialDisplayMode(){return this._get("initialDisplayMode")||"feature"}set initialDisplayMode(e){this._set("initialDisplayMode",e),this._syncSelectedFeatureIndex(this.features)}set location(e){let t=e;const i=this.spatialReference?.isWebMercator,r=e?.spatialReference?.isWGS84;r&&i&&(t=F(e)),this._set("location",t)}get map(){return this.view?.map??null}set map(e){this._override("map",e)}get pendingPromisesCount(){return this._pendingPromises.size}get promiseCount(){return this.promises.length}get promises(){return this._get("promises")||[]}set promises(e){this._get("promises")!==e&&(this._pendingPromises.clear(),this.features=[],Array.isArray(e)&&e.length?(this._set("promises",e),e=e.slice(),p(this._pendingPromises,e),e.reduce((e,t)=>e.finally(()=>t.then(e=>{this._pendingPromises.has(t)&&this._updateFeatures(e)}).finally(()=>this._pendingPromises.delete(t)).catch(()=>{})),Promise.resolve())):this._set("promises",[]))}get selectedFeature(){const{features:e,selectedFeatureIndex:t}=this;if(-1===t)return null;return e[t]||null}get selectedFeatureIndex(){const e=this._get("selectedFeatureIndex");return"number"==typeof e?e:-1}set selectedFeatureIndex(e){const{featureCount:t}=this;(isNaN(e)||e<0||!t)&&(e=-1),this.activeFeature=null,this._set("selectedFeatureIndex",e)}get selectedFeatureItem(){return this.featureItems[this.selectedFeatureIndex]||null}get spatialReference(){return this.view?.spatialReference??null}set spatialReference(e){this._override("spatialReference",e)}get state(){const{view:e,map:t}=this;return e?e.ready?"ready":"disabled":t?"ready":"disabled"}get timeZone(){return this.view?.timeZone??E}set timeZone(e){this._overrideIfSome("timeZone",e)}get waitingForContents(){return this.featureItems.some(e=>e.waitingForContent)}get waitingForResult(){return(!!this._fetchFeaturesController||this.pendingPromisesCount>0)&&0===this.featureCount}zoomTo(e){return this.callGoTo(e)}clear(){this.set({promises:[],features:[],content:null,heading:null,location:null,activeFeature:null})}fetchFeatures(e,t){const{view:r}=this;if(!r||!e)throw new i("fetch-features:invalid-screenpoint-or-view","Cannot fetch features without a screenPoint and view.",{screenPoint:e,view:r});return r.fetchPopupFeatures(e,{pointerType:t?.event?.pointerType,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,signal:t?.signal})}next(){return this.selectedFeatureIndex=this._getRoundRobinIndex(this.selectedFeatureIndex+1,this.featureCount),this}previous(){return this.selectedFeatureIndex=this._getRoundRobinIndex(this.selectedFeatureIndex-1,this.featureCount),this}async handleViewClick(e){return this._fetchFeaturesAndOpen(e)}_syncSelectedFeatureIndex(e){const{pendingPromisesCount:t,promiseCount:i,selectedFeatureIndex:r}=this,s=i&&e.length;"list"!==this.initialDisplayMode?s&&t&&-1===r?this.selectedFeatureIndex=0:s&&-1!==r||(this.selectedFeatureIndex=e.length?0:-1):(!s||s&&t===i)&&(this.selectedFeatureIndex=-1)}_centerAtLocation(){const{view:e}=this,t=A(this);this._cancelCenterAtLocation();const r=new AbortController,{signal:o}=r;return this._centerAtLocationController=r,t&&e?this.callGoTo({target:{target:t,scale:e.scale},options:{signal:o}}).catch(e=>{a(e)||s.getLogger(this).error(e)}):Promise.reject(new i("center-at-location:invalid-target-or-view","Cannot center at a location without a target and view.",{target:t,view:e}))}_getRoundRobinIndex(e,t){return(e+t)%t}_locationChange(e){const{selectedFeature:t,updateLocationEnabled:i,view:r}=this;r&&!this._locationUpdateController&&i&&e&&(!t||t.geometry)&&this._centerAtLocation()}_selectedFeatureIndexChange(){"list"!==this.initialDisplayMode&&(this.featurePage=this.featureCount>0?Math.floor(this.selectedFeatureIndex/this.featuresPerPage)+1:null)}_featureItemsChange(){this.featurePage=this.featureCount>0?1:null}_setGraphicOnFeatureItems(){const{features:e,featureCount:t,featurePage:i,featuresPerPage:r,featureItems:s}=this;if(null==i)return;const o=((i-1)*r+t)%t,n=Math.min(o+r,s.length);for(let a=o;a<n;a++){const t=s[a];t&&(t.graphic??=e[a])}}async _selectedFeatureChange(e){const{location:t,updateLocationEnabled:i,view:r}=this;if(this.aggregatedFeaturesEnabled=!1,!e||!r)return;const s=v(e)?.type;if("map-image"!==s&&"imagery"!==s&&"imagery-tile"!==s||(e.symbol=await x(e)),(i||!t)&&e.geometry){if("point"===e.geometry.type)return void(this.location=e.geometry);const t=await import("../geometry/operators/labelPointOperator.js");return void(this.location=t.execute(e.geometry))}if(i&&!e.geometry){await this._centerAtLocation();const e=r.center?.clone();e&&(this.location=e)}}_waitingForResultChange(){!this.featureCount&&this.promises&&(this.open=!1)}_destroyFeatureItems(){this.featureItems.forEach(e=>e&&!e.destroyed&&e.destroy()),this._set("featureItems",[])}_updateFeatureItems(){const e=this.selectedFeature,t=this.features,i=this.featureItems,r=this.view,s=this.spatialReference,o=this.map,n=this.timeZone,a=this.location,l=this.featureItemAbilities??this._defaultFeatureAbilities;if(!t?.length)return void this._destroyFeatureItems();const h=[],u=new Map,c=new Set;i.forEach(e=>{const t=e?.graphic;e&&t&&u.set(t,e)}),t.forEach((t,p)=>{if(!t)return;const d=i[p];if(d&&!c.has(d)&&(null==d.graphic||d.graphic===t))return d.abilities=l,h[p]=d,void c.add(d);const g=u.get(t);if(g&&!c.has(g))return g.abilities=l,h[p]=g,void c.add(g);const m=new L({abilities:l,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,spatialReference:s,graphic:t===e?t:null,location:a,map:o,view:r,timeZone:n});h[p]=m,c.add(m)}),i.forEach(e=>{!e||c.has(e)||e.destroyed||e.destroy()}),this._set("featureItems",h)}async _getScreenPoint(e,t){const{spatialReference:i,view:r}=this;if(!r)return null;await r.when();const s=e?.spatialReference;return s&&i?(await f(s,i,null,t),r.toScreen(e)):null}_cancelCenterAtLocation(){this._centerAtLocationController=o(this._centerAtLocationController)}_cancelFetchingFeatures(){this._fetchFeaturesController=o(this._fetchFeaturesController)}async _projectScreenPointAndFetchFeatures({mapPoint:e,screenPoint:t,event:i,signal:r}){return this.fetchFeatures(t??await this._getScreenPoint(e??this.location,{signal:r}),{signal:r,event:i})}_fetchFeaturesWithController({mapPoint:e,screenPoint:t,event:i}){this._cancelFetchingFeatures();const r=new AbortController,{signal:s}=r;this._fetchFeaturesController=r;const o=this._projectScreenPointAndFetchFeatures({mapPoint:e,screenPoint:t,signal:s,event:i});return o.catch(()=>{}).finally(()=>{this._fetchFeaturesController===r&&(this._fetchFeaturesController=null)}),o}async _fetchFeaturesAndOpen(e){const{mapPoint:t,screenPoint:i}=e;this.removeHandles(U),this.addHandles([h(()=>this.view?.scale,()=>this._debouncedLocationUpdate(t).catch(e=>{a(e)||s.getLogger(this).error(e)})),u(()=>!this.open,()=>{this.removeHandles(U)},{once:!0})],U);const{pendingFeatures:r}=await this._fetchFeaturesWithController({mapPoint:t,screenPoint:i,event:e});return{location:t??void 0,promises:r}}async _locationUpdate(e,t){const{spatialReference:i}=this,r=this.selectedFeature?.geometry?.type,o=this.location??e;if(r&&"mesh"!==r&&i&&o&&this.selectedFeature){if("point"===r){const e=await import("../geometry/operators/labelPointOperator.js");return void(this.location=e.execute(this.selectedFeature.geometry))}try{const e=this.selectedFeature;let r=e.geometry;const s=this._getHighlightLayer(e),n=e.getObjectId();if(!s||!this.view)return;if(n){const e=this.view?.allLayerViews.find(e=>e.layer.uid===s.uid);if(!e||!("queryFeatures"in e))return;const o=e.createQuery();o.outSpatialReference=i,o.objectIds=[n],o.returnGeometry=!0;const{features:a}=await e.queryFeatures(o,t);r=a[0]?.geometry}if(!r||"mesh"===r.type)return;r=y(r,i),M??=await Promise.all([import("../geometry/operators/intersectsOperator.js"),import("../geometry/operators/proximityOperator.js")]);const[a,l]=M;if(!a.execute(r,o)){const t=l.getNearestCoordinate(r,o).coordinate??o;this.selectedFeature===e&&(this.location=t)}}catch(n){a(n)||s.getLogger(this).error(n)}}}_cancelLocationUpdate(){this._locationUpdateController=o(this._locationUpdateController)}async _getLayerView(e,t){return await e.when(),e.whenLayerView(t)}_getHighlightLayer(e){const t=v(e),{layer:i}=e;return t&&"layer"in t&&t.layer?t.layer:"map-notes"===t?.type||"subtype-group"===t?.type?t:i??t}_getHighlightLayerView(e,t){return"subtype-sublayer"===t.type&&t.parent&&this._mapIncludesLayer(t.parent)?this._getLayerView(e,t.parent):t&&this._mapIncludesLayer(t)?this._getLayerView(e,t):null}_getHighlightTarget(e,t,i){if(H(t.type,i))return e;const r=e.getObjectId();if(null!=r)return r;const s="imagery"===t.type?void 0:"objectIdField"in t?t.objectIdField||w:null,o=e.attributes;return o&&s&&o[s]||e}_mapIncludesLayer(e){return!!this.map?.allLayers?.includes(e)}async _highlightFeature(e,t){this.removeHandles(e);const i=this[t];if(!i)return;const{highlightEnabled:r,view:s,open:o}=this;if(!s||!r||!o)return;const n=this._getHighlightLayer(i);if(!n)return;const a=this._getHighlightLayerView(s,n);if(!a)return;this._highlightPromises[e]=a;const l=await a;if(!(l&&R(l)&&this._highlightPromises[e]===a&&this[t]&&this.highlightEnabled))return;const h=l.highlight(this._getHighlightTarget(i,n,s.type));this.addHandles(h,e)}async _highlightActiveFeature(){return this._highlightFeature("highlight-active-feature","activeFeature")}async _highlightSelectedFeature(){return this._highlightFeature("highlight-selected-feature","selectedFeature")}_updateFeatures(e){const{features:t}=this,i=new Set(t),r=e.filter(e=>!i.has(e));r?.length&&(this.features=t.concat(r))}};e([d()],D.prototype,"_fetchFeaturesController",void 0),e([d({type:C})],D.prototype,"actions",void 0),e([d({readOnly:!0})],D.prototype,"active",null),e([d()],D.prototype,"activeFeature",void 0),e([d({readOnly:!0})],D.prototype,"allActions",null),e([d()],D.prototype,"aggregatedFeaturesEnabled",void 0),e([d({value:null})],D.prototype,"content",null),e([d({type:C,readOnly:!0})],D.prototype,"defaultActions",null),e([d({type:Boolean})],D.prototype,"defaultPopupTemplateEnabled",void 0),e([d({readOnly:!0})],D.prototype,"featureCount",null),e([d()],D.prototype,"featurePage",void 0),e([d({value:[]})],D.prototype,"features",null),e([d()],D.prototype,"featuresPerPage",void 0),e([d()],D.prototype,"featureMenuOpen",void 0),e([d({type:j})],D.prototype,"featureItemAbilities",void 0),e([d({readOnly:!0})],D.prototype,"featureItems",void 0),e([d()],D.prototype,"heading",void 0),e([d()],D.prototype,"highlightEnabled",void 0),e([d()],D.prototype,"includeDefaultActions",void 0),e([d({value:"feature"})],D.prototype,"initialDisplayMode",null),e([d({type:m})],D.prototype,"location",null),e([d()],D.prototype,"map",null),e([d()],D.prototype,"open",void 0),e([d({readOnly:!0})],D.prototype,"pendingPromisesCount",null),e([d({readOnly:!0})],D.prototype,"promiseCount",null),e([d()],D.prototype,"promises",null),e([d({value:null,readOnly:!0})],D.prototype,"selectedFeature",null),e([d({value:-1})],D.prototype,"selectedFeatureIndex",null),e([d({readOnly:!0})],D.prototype,"selectedFeatureItem",null),e([d({type:_})],D.prototype,"spatialReference",null),e([d({readOnly:!0})],D.prototype,"state",null),e([d()],D.prototype,"timeZone",null),e([d()],D.prototype,"updateLocationEnabled",void 0),e([d()],D.prototype,"view",void 0),e([d({readOnly:!0})],D.prototype,"waitingForContents",null),e([d({readOnly:!0})],D.prototype,"waitingForResult",null),e([d()],D.prototype,"zoomFactor",void 0),D=e([g("esri.popup.Features")],D);const V=D;export{V as default};
2
+ import{__decorate as e}from"tslib";import{isSome as t}from"../core/arrayUtils.js";import i from"../core/Error.js";import{EventedAccessor as r}from"../core/Evented.js";import s from"../core/Logger.js";import{abortMaybe as n}from"../core/maybe.js";import{debounce as o,isAbortError as a}from"../core/promiseUtils.js";import l from"../core/ReactiveSet.js";import{watch as h,when as u,sync as c}from"../core/reactiveUtils.js";import{addMany as p}from"../core/SetUtils.js";import{property as d,subclass as g}from"../core/accessorSupport/decorators.js";import m from"../geometry/Point.js";import{initializeProjection as f,project as y}from"../geometry/projectionUtils.js";import _ from"../geometry/SpatialReference.js";import{geographicToWebMercator as F}from"../geometry/support/webMercatorUtils.js";import{getGraphicLayer as v}from"../graphic/graphicOriginUtils.js";import{fallbackObjectIDAttribute as w}from"../layers/LayerConstants.js";import{ActionsCollection as C,zoomToAggregatedFeatures as b,browseAggregatedFeatures as I,zoomToFeature as P}from"./actions.js";import{getSelectedTarget as A}from"./actionUtils.js";import L from"./Feature.js";import j from"./support/FeatureAbilities.js";import{getDisplayedSymbol as x}from"../symbols/support/symbolUtils.js";import{system as E}from"../time/constants.js";import{highlightsSupported as R}from"../views/support/layerViewUtils.js";import{GoTo as O}from"../widgets/support/GoTo.js";const U="location-scale-handle",S=()=>[P.clone()],T=()=>[b.clone(),I.clone()];let H=null;function M(e,t){switch(e){case"building-scene":case"map-image":case"tile":case"imagery":return!0;case"imagery-tile":return"2d"===t;default:return!1}}let D=class extends(O(r)){constructor(e){super(e),this._pendingPromises=new l,this._fetchFeaturesController=null,this._centerAtLocationController=null,this._locationUpdateController=null,this._highlightPromises={"highlight-active-feature":null,"highlight-selected-feature":null},this._defaultFeatureAbilities=new j,this.actions=new C,this.activeFeature=null,this.aggregatedFeaturesEnabled=!1,this.defaultPopupTemplateEnabled=!1,this.featurePage=null,this.featuresPerPage=20,this.featureMenuOpen=!1,this.featureItemAbilities=null,this.featureItems=[],this.heading=null,this.highlightEnabled=!0,this.includeDefaultActions=!0,this.open=!1,this.updateLocationEnabled=!1,this.view=null,this.zoomFactor=4,this._debouncedLocationUpdate=o(async e=>{this._cancelLocationUpdate();const t=new AbortController,{signal:i}=t;this._locationUpdateController=t,await this._locationUpdate(e,{signal:i}).catch(()=>{}).finally(()=>{this._locationUpdateController===t&&(this._locationUpdateController=null)})})}initialize(){this.addHandles([h(()=>[this.highlightEnabled,this.selectedFeature,this.open,this.view],()=>this._highlightSelectedFeature()),h(()=>[this.highlightEnabled,this.activeFeature,this.open,this.view],()=>this._highlightActiveFeature()),h(()=>this.location,e=>this._locationChange(e)),h(()=>this.selectedFeature,e=>this._selectedFeatureChange(e)),h(()=>[this.selectedFeatureIndex,this.featureCount,this.featuresPerPage],()=>this._selectedFeatureIndexChange()),h(()=>[this.featurePage,this.selectedFeatureIndex,this.featureCount,this.featuresPerPage,this.featureItems],()=>this._setGraphicOnFeatureItems()),h(()=>this.featureItems,()=>this._featureItemsChange()),h(()=>[this.featureItemAbilities?.attachmentsContent,this.featureItemAbilities?.chartAnimation,this.featureItemAbilities?.customContent,this.featureItemAbilities?.expressionContent,this.featureItemAbilities?.fieldsContent,this.featureItemAbilities?.mediaContent,this.featureItemAbilities?.relationshipContent,this.featureItemAbilities?.textContent,this.featureItemAbilities?.utilityNetworkAssociationsContent,this.features,this.map,this.spatialReference,this.timeZone],()=>this._updateFeatureItems()),u(()=>!this.waitingForResult,()=>this._waitingForResultChange(),c),u(()=>!this.open,()=>this.aggregatedFeaturesEnabled=!1)])}destroy(){this._cancelLocationUpdate(),this._cancelFetchingFeatures(),this._cancelCenterAtLocation(),this._pendingPromises.clear(),this.aggregatedFeaturesEnabled=!1,this.view=null,this.map=null,this.spatialReference=null,this.timeZone=null}get active(){return this.open&&!this.waitingForResult}get allActions(){const e=this._get("allActions")||new C;e.removeAll();const{actions:i,defaultActions:r,defaultPopupTemplateEnabled:s,includeDefaultActions:n,selectedFeature:o}=this,a=n?r.concat(i):i,l=o&&("function"==typeof o.getEffectivePopupTemplate&&o.getEffectivePopupTemplate(s)||o.popupTemplate),h=l?.actions,u=l?.overwriteActions?h:h?.concat(a)??a;return u?.filter(t).forEach(t=>e.add(t)),e}set content(e){this.promises=[],this._set("content",e)}get defaultActions(){const e=this._get("defaultActions")||new C;return e.removeAll(),e.addMany(this.selectedFeature?.isAggregate?T():S()),e}get effectiveHeading(){return this.selectedFeatureItem?.heading??this.heading}get featureCount(){return this.features.length}set features(e){if(this._get("features")===e)return;const t=e||[];this._set("features",t),this._syncSelectedFeatureIndex(t)}get initialDisplayMode(){return this._get("initialDisplayMode")||"feature"}set initialDisplayMode(e){this._set("initialDisplayMode",e),this._syncSelectedFeatureIndex(this.features)}set location(e){let t=e;const i=this.spatialReference?.isWebMercator,r=e?.spatialReference?.isWGS84;r&&i&&(t=F(e)),this._set("location",t)}get map(){return this.view?.map??null}set map(e){this._override("map",e)}get pendingPromisesCount(){return this._pendingPromises.size}get promiseCount(){return this.promises.length}get promises(){return this._get("promises")||[]}set promises(e){this._get("promises")!==e&&(this._pendingPromises.clear(),this.features=[],Array.isArray(e)&&e.length?(this._set("promises",e),e=e.slice(),p(this._pendingPromises,e),e.reduce((e,t)=>e.finally(()=>t.then(e=>{this._pendingPromises.has(t)&&this._updateFeatures(e)}).finally(()=>this._pendingPromises.delete(t)).catch(()=>{})),Promise.resolve())):this._set("promises",[]))}get selectedFeature(){const{features:e,selectedFeatureIndex:t}=this;if(-1===t)return null;return e[t]||null}get selectedFeatureIndex(){const e=this._get("selectedFeatureIndex");return"number"==typeof e?e:-1}set selectedFeatureIndex(e){const{featureCount:t}=this;(isNaN(e)||e<0||!t)&&(e=-1),this.activeFeature=null,this._set("selectedFeatureIndex",e)}get selectedFeatureItem(){return this.featureItems[this.selectedFeatureIndex]||null}get spatialReference(){return this.view?.spatialReference??null}set spatialReference(e){this._override("spatialReference",e)}get state(){const{view:e,map:t}=this;return e?e.ready?"ready":"disabled":t?"ready":"disabled"}get timeZone(){return this.view?.timeZone??E}set timeZone(e){this._overrideIfSome("timeZone",e)}get waitingForContents(){return this.featureItems.some(e=>e.waitingForContent)}get waitingForResult(){return(!!this._fetchFeaturesController||this.pendingPromisesCount>0)&&0===this.featureCount}zoomTo(e){return this.callGoTo(e)}clear(){this.set({promises:[],features:[],content:null,heading:null,location:null,activeFeature:null})}fetchFeatures(e,t){const{view:r}=this;if(!r||!e)throw new i("fetch-features:invalid-screenpoint-or-view","Cannot fetch features without a screenPoint and view.",{screenPoint:e,view:r});return r.fetchPopupFeatures(e,{pointerType:t?.event?.pointerType,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,signal:t?.signal})}next(){return this.selectedFeatureIndex=this._getRoundRobinIndex(this.selectedFeatureIndex+1,this.featureCount),this}previous(){return this.selectedFeatureIndex=this._getRoundRobinIndex(this.selectedFeatureIndex-1,this.featureCount),this}async handleViewClick(e){return this._fetchFeaturesAndOpen(e)}_syncSelectedFeatureIndex(e){const{pendingPromisesCount:t,promiseCount:i,selectedFeatureIndex:r}=this,s=i&&e.length;"list"!==this.initialDisplayMode?s&&t&&-1===r?this.selectedFeatureIndex=0:s&&-1!==r||(this.selectedFeatureIndex=e.length?0:-1):(!s||s&&t===i)&&(this.selectedFeatureIndex=-1)}_centerAtLocation(){const{view:e}=this,t=A(this);this._cancelCenterAtLocation();const r=new AbortController,{signal:n}=r;return this._centerAtLocationController=r,t&&e?this.callGoTo({target:{target:t,scale:e.scale},options:{signal:n}}).catch(e=>{a(e)||s.getLogger(this).error(e)}):Promise.reject(new i("center-at-location:invalid-target-or-view","Cannot center at a location without a target and view.",{target:t,view:e}))}_getRoundRobinIndex(e,t){return(e+t)%t}_locationChange(e){const{selectedFeature:t,updateLocationEnabled:i,view:r}=this;r&&!this._locationUpdateController&&i&&e&&(!t||t.geometry)&&this._centerAtLocation()}_selectedFeatureIndexChange(){"list"!==this.initialDisplayMode&&(this.featurePage=this.featureCount>0?Math.floor(this.selectedFeatureIndex/this.featuresPerPage)+1:null)}_featureItemsChange(){this.featurePage=this.featureCount>0?1:null}_setGraphicOnFeatureItems(){const{features:e,featureCount:t,featurePage:i,featuresPerPage:r,featureItems:s}=this;if(null==i)return;const n=((i-1)*r+t)%t,o=Math.min(n+r,s.length);for(let a=n;a<o;a++){const t=s[a];t&&(t.graphic??=e[a])}}async _selectedFeatureChange(e){const{location:t,updateLocationEnabled:i,view:r}=this;if(this.aggregatedFeaturesEnabled=!1,!e||!r)return;const s=v(e)?.type;if("map-image"!==s&&"imagery"!==s&&"imagery-tile"!==s||(e.symbol=await x(e)),(i||!t)&&e.geometry){if("point"===e.geometry.type)return void(this.location=e.geometry);const t=await import("../geometry/operators/labelPointOperator.js");return void(this.location=t.execute(e.geometry))}if(i&&!e.geometry){await this._centerAtLocation();const e=r.center?.clone();e&&(this.location=e)}}_waitingForResultChange(){!this.featureCount&&this.promises&&(this.open=!1)}_destroyFeatureItems(){this.featureItems.forEach(e=>e&&!e.destroyed&&e.destroy()),this._set("featureItems",[])}_updateFeatureItems(){const e=this.selectedFeature,t=this.features,i=this.featureItems,r=this.view,s=this.spatialReference,n=this.map,o=this.timeZone,a=this.location,l=this.featureItemAbilities??this._defaultFeatureAbilities;if(!t?.length)return void this._destroyFeatureItems();const h=[],u=new Map,c=new Set;i.forEach(e=>{const t=e?.graphic;e&&t&&u.set(t,e)}),t.forEach((t,p)=>{if(!t)return;const d=i[p];if(d&&!c.has(d)&&(null==d.graphic||d.graphic===t))return d.abilities=l,h[p]=d,void c.add(d);const g=u.get(t);if(g&&!c.has(g))return g.abilities=l,h[p]=g,void c.add(g);const m=new L({abilities:l,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,spatialReference:s,graphic:t===e?t:null,location:a,map:n,view:r,timeZone:o});h[p]=m,c.add(m)}),i.forEach(e=>{!e||c.has(e)||e.destroyed||e.destroy()}),this._set("featureItems",h)}async _getScreenPoint(e,t){const{spatialReference:i,view:r}=this;if(!r)return null;await r.when();const s=e?.spatialReference;return s&&i?(await f(s,i,null,t),r.toScreen(e)):null}_cancelCenterAtLocation(){this._centerAtLocationController=n(this._centerAtLocationController)}_cancelFetchingFeatures(){this._fetchFeaturesController=n(this._fetchFeaturesController)}async _projectScreenPointAndFetchFeatures({mapPoint:e,screenPoint:t,event:i,signal:r}){return this.fetchFeatures(t??await this._getScreenPoint(e??this.location,{signal:r}),{signal:r,event:i})}_fetchFeaturesWithController({mapPoint:e,screenPoint:t,event:i}){this._cancelFetchingFeatures();const r=new AbortController,{signal:s}=r;this._fetchFeaturesController=r;const n=this._projectScreenPointAndFetchFeatures({mapPoint:e,screenPoint:t,signal:s,event:i});return n.catch(()=>{}).finally(()=>{this._fetchFeaturesController===r&&(this._fetchFeaturesController=null)}),n}async _fetchFeaturesAndOpen(e){const{mapPoint:t,screenPoint:i}=e;this.removeHandles(U),this.addHandles([h(()=>this.view?.scale,()=>this._debouncedLocationUpdate(t).catch(e=>{a(e)||s.getLogger(this).error(e)})),u(()=>!this.open,()=>{this.removeHandles(U)},{once:!0})],U);const{pendingFeatures:r}=await this._fetchFeaturesWithController({mapPoint:t,screenPoint:i,event:e});return{location:t??void 0,promises:r}}async _locationUpdate(e,t){const{spatialReference:i}=this,r=this.selectedFeature?.geometry?.type,n=this.location??e;if(r&&"mesh"!==r&&i&&n&&this.selectedFeature){if("point"===r){const e=await import("../geometry/operators/labelPointOperator.js");return void(this.location=e.execute(this.selectedFeature.geometry))}try{const e=this.selectedFeature;let r=e.geometry;const s=this._getHighlightLayer(e),o=e.getObjectId();if(!s||!this.view)return;if(o){const e=this.view?.allLayerViews.find(e=>e.layer.uid===s.uid);if(!e||!("queryFeatures"in e))return;const n=e.createQuery();n.outSpatialReference=i,n.objectIds=[o],n.returnGeometry=!0;const{features:a}=await e.queryFeatures(n,t);r=a[0]?.geometry}if(!r||"mesh"===r.type)return;r=y(r,i),H??=await Promise.all([import("../geometry/operators/intersectsOperator.js"),import("../geometry/operators/proximityOperator.js")]);const[a,l]=H;if(!a.execute(r,n)){const t=l.getNearestCoordinate(r,n).coordinate??n;this.selectedFeature===e&&(this.location=t)}}catch(o){a(o)||s.getLogger(this).error(o)}}}_cancelLocationUpdate(){this._locationUpdateController=n(this._locationUpdateController)}async _getLayerView(e,t){return await e.when(),e.whenLayerView(t)}_getHighlightLayer(e){const t=v(e),{layer:i}=e;return t&&"layer"in t&&t.layer?t.layer:"map-notes"===t?.type||"subtype-group"===t?.type?t:i??t}_getHighlightLayerView(e,t){return"subtype-sublayer"===t.type&&t.parent&&this._mapIncludesLayer(t.parent)?this._getLayerView(e,t.parent):t&&this._mapIncludesLayer(t)?this._getLayerView(e,t):null}_getHighlightTarget(e,t,i){if(M(t.type,i))return e;const r=e.getObjectId();if(null!=r)return r;const s="imagery"===t.type?void 0:"objectIdField"in t?t.objectIdField||w:null,n=e.attributes;return n&&s&&n[s]||e}_mapIncludesLayer(e){return!!this.map?.allLayers?.includes(e)}async _highlightFeature(e,t){this.removeHandles(e);const i=this[t];if(!i)return;const{highlightEnabled:r,view:s,open:n}=this;if(!s||!r||!n)return;const o=this._getHighlightLayer(i);if(!o)return;const a=this._getHighlightLayerView(s,o);if(!a)return;this._highlightPromises[e]=a;const l=await a;if(!(l&&R(l)&&this._highlightPromises[e]===a&&this[t]&&this.highlightEnabled))return;const h=l.highlight(this._getHighlightTarget(i,o,s.type));this.addHandles(h,e)}async _highlightActiveFeature(){return this._highlightFeature("highlight-active-feature","activeFeature")}async _highlightSelectedFeature(){return this._highlightFeature("highlight-selected-feature","selectedFeature")}_updateFeatures(e){const{features:t}=this,i=new Set(t),r=e.filter(e=>!i.has(e));r?.length&&(this.features=t.concat(r))}};e([d()],D.prototype,"_fetchFeaturesController",void 0),e([d({type:C})],D.prototype,"actions",void 0),e([d({readOnly:!0})],D.prototype,"active",null),e([d()],D.prototype,"activeFeature",void 0),e([d({readOnly:!0})],D.prototype,"allActions",null),e([d()],D.prototype,"aggregatedFeaturesEnabled",void 0),e([d({value:null})],D.prototype,"content",null),e([d({type:C,readOnly:!0})],D.prototype,"defaultActions",null),e([d({type:Boolean})],D.prototype,"defaultPopupTemplateEnabled",void 0),e([d({readOnly:!0})],D.prototype,"effectiveHeading",null),e([d({readOnly:!0})],D.prototype,"featureCount",null),e([d()],D.prototype,"featurePage",void 0),e([d({value:[]})],D.prototype,"features",null),e([d()],D.prototype,"featuresPerPage",void 0),e([d()],D.prototype,"featureMenuOpen",void 0),e([d({type:j})],D.prototype,"featureItemAbilities",void 0),e([d({readOnly:!0})],D.prototype,"featureItems",void 0),e([d()],D.prototype,"heading",void 0),e([d()],D.prototype,"highlightEnabled",void 0),e([d()],D.prototype,"includeDefaultActions",void 0),e([d({value:"feature"})],D.prototype,"initialDisplayMode",null),e([d({type:m})],D.prototype,"location",null),e([d()],D.prototype,"map",null),e([d()],D.prototype,"open",void 0),e([d({readOnly:!0})],D.prototype,"pendingPromisesCount",null),e([d({readOnly:!0})],D.prototype,"promiseCount",null),e([d()],D.prototype,"promises",null),e([d({value:null,readOnly:!0})],D.prototype,"selectedFeature",null),e([d({value:-1})],D.prototype,"selectedFeatureIndex",null),e([d({readOnly:!0})],D.prototype,"selectedFeatureItem",null),e([d({type:_})],D.prototype,"spatialReference",null),e([d({readOnly:!0})],D.prototype,"state",null),e([d()],D.prototype,"timeZone",null),e([d()],D.prototype,"updateLocationEnabled",void 0),e([d()],D.prototype,"view",void 0),e([d({readOnly:!0})],D.prototype,"waitingForContents",null),e([d({readOnly:!0})],D.prototype,"waitingForResult",null),e([d()],D.prototype,"zoomFactor",void 0),D=e([g("esri.popup.Features")],D);const V=D;export{V as default};
@@ -1,6 +1,7 @@
1
1
  import type Accessor from "../../core/Accessor.js";
2
+ import type GraphQueryResultHeader from "./GraphQueryResultHeader.js";
2
3
 
3
- export interface GraphQueryStreamingResultProperties extends Partial<Pick<GraphQueryStreamingResult, "resultRowsStream">> {}
4
+ export interface GraphQueryStreamingResultProperties extends Partial<Pick<GraphQueryStreamingResult, "resultHeader" | "resultRowsStream">> {}
4
5
 
5
6
  /**
6
7
  * The result of a [executeSearchStreaming()](https://developers.arcgis.com/javascript/latest/references/core/rest/knowledgeGraphService/#executeSearchStreaming) or
@@ -127,6 +128,8 @@ export interface GraphQueryStreamingResultProperties extends Partial<Pick<GraphQ
127
128
  */
128
129
  export default class GraphQueryStreamingResult extends Accessor {
129
130
  constructor(properties?: GraphQueryStreamingResultProperties);
131
+ /** Metadata about a query result, including the column names of the result, spatial reference information, etc. */
132
+ accessor resultHeader: GraphQueryResultHeader;
130
133
  /**
131
134
  * Readable stream of objects matching [executeSearchStreaming()](https://developers.arcgis.com/javascript/latest/references/core/rest/knowledgeGraphService/#executeSearchStreaming)
132
135
  * or [executeQueryStreaming()](https://developers.arcgis.com/javascript/latest/references/core/rest/knowledgeGraphService/#executeQueryStreaming) criteria.
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- const c="20260427",f="0f3288abbbc018c5cc718e386198fb7ef23f9f70";export{c as buildDate,f as commitHash};
2
+ const c="20260428",e="56b84fa94df450e2cdd94c2b47a2510c76cebefe";export{c as buildDate,e as commitHash};