@arcgis/core 5.2.0-next.7 → 5.2.0-next.8

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 (446) hide show
  1. package/arcgisGlobal.d.ts +4 -0
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/07cc5743cb6a9fd68adb.js +1 -0
  4. package/assets/esri/core/workers/chunks/0cbd7f5fe24271942abd.js +1 -0
  5. package/assets/esri/core/workers/chunks/0ecc1bc1686844cdd60e.js +1 -0
  6. package/assets/esri/core/workers/chunks/0f75c19d8e296a32e329.js +1 -0
  7. package/assets/esri/core/workers/chunks/174cc2e69e5b5a13d880.js +1 -0
  8. package/assets/esri/core/workers/chunks/18f980465db5a86153d1.js +1 -0
  9. package/assets/esri/core/workers/chunks/1996f0a930abdd97b855.js +1 -0
  10. package/assets/esri/core/workers/chunks/1c8436b27a3d3cde5cfc.js +1 -0
  11. package/assets/esri/core/workers/chunks/1cb1f125dccbf8c8cac9.js +1 -0
  12. package/assets/esri/core/workers/chunks/1dd06335bb2d35c66339.js +1 -0
  13. package/assets/esri/core/workers/chunks/1f289aa69dd6b6be534a.js +1 -0
  14. package/assets/esri/core/workers/chunks/2185e8a52c5e29d46680.js +1 -0
  15. package/assets/esri/core/workers/chunks/{da29cf0e64065631a470.js → 24810c36ae09bb4e83dc.js} +1 -1
  16. package/assets/esri/core/workers/chunks/26583db2af1a1cc456e5.js +1 -0
  17. package/assets/esri/core/workers/chunks/274b82cb183ddd0042f3.js +1 -0
  18. package/assets/esri/core/workers/chunks/27c6def22c2b0791ce9e.js +1 -0
  19. package/assets/esri/core/workers/chunks/2c9ba638d1f31c82f9f5.js +1 -0
  20. package/assets/esri/core/workers/chunks/2d2895f1fdf44d212a4d.js +1 -0
  21. package/assets/esri/core/workers/chunks/2dbc2fd0f2dde505c465.js +1 -0
  22. package/assets/esri/core/workers/chunks/2dbcdfdf000226bfe746.js +1 -0
  23. package/assets/esri/core/workers/chunks/2e6382d50bf012064eae.js +1 -0
  24. package/assets/esri/core/workers/chunks/30f1909c5ef1835b8507.js +1 -0
  25. package/assets/esri/core/workers/chunks/31918a0d9886dedf385f.js +1 -0
  26. package/assets/esri/core/workers/chunks/{1c029b03ed836f393a50.js → 3248001d9dfb9153699e.js} +1 -1
  27. package/assets/esri/core/workers/chunks/3297658ccd8d4b9ce733.js +1 -0
  28. package/assets/esri/core/workers/chunks/{716a4d7e8b908b81870b.js → 32f26757e36704923286.js} +1 -1
  29. package/assets/esri/core/workers/chunks/3529afab0c2444275d91.js +1 -0
  30. package/assets/esri/core/workers/chunks/36dac6ab51d9dbdd091d.js +1 -0
  31. package/assets/esri/core/workers/chunks/390fda094fa8695d98cf.js +1 -0
  32. package/assets/esri/core/workers/chunks/39596715e84d0da2f803.js +30 -0
  33. package/assets/esri/core/workers/chunks/398eb3100a282e4736bb.js +1 -0
  34. package/assets/esri/core/workers/chunks/{b23009d9f8eb7c20ce45.js → 3b15933f65f59625a650.js} +1 -1
  35. package/assets/esri/core/workers/chunks/3b3f91a61e3f29af1fb2.js +1 -0
  36. package/assets/esri/core/workers/chunks/{f815106d439ff1f76e51.js → 3b837b512999e6ab24bc.js} +1 -1
  37. package/assets/esri/core/workers/chunks/3d20c86f1fe877bf884b.js +1 -0
  38. package/assets/esri/core/workers/chunks/3dc5fbecc427df1fd827.js +1 -0
  39. package/assets/esri/core/workers/chunks/3e65b4b18760bde8ceee.js +1 -0
  40. package/assets/esri/core/workers/chunks/3ff7aa216cd794d951e8.js +1 -0
  41. package/assets/esri/core/workers/chunks/{8e1865392681d390ab2e.js → 401ee7fa500adad77db1.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{60915a3708a34da1977e.js → 426156137f279d979ddd.js} +1 -1
  43. package/assets/esri/core/workers/chunks/4517630bf869205bab87.js +1 -0
  44. package/assets/esri/core/workers/chunks/48f1c3a7c9f16d6896f6.js +1 -0
  45. package/assets/esri/core/workers/chunks/{cfd28eba44cf5a296c6d.js → 49308bdc36373555f1af.js} +1 -1
  46. package/assets/esri/core/workers/chunks/5075e85e1eafd431a8c0.js +1 -0
  47. package/assets/esri/core/workers/chunks/5121768c70f1e03b685c.js +1 -0
  48. package/assets/esri/core/workers/chunks/5201105ca11a2d450460.js +1 -0
  49. package/assets/esri/core/workers/chunks/528ed0bd8dc149ead023.js +1 -0
  50. package/assets/esri/core/workers/chunks/52f354bf80ee5ab0379a.js +1 -0
  51. package/assets/esri/core/workers/chunks/538537f9bc866d9caa75.js +1 -0
  52. package/assets/esri/core/workers/chunks/58a7cdebc3d182c15ec6.js +1 -0
  53. package/assets/esri/core/workers/chunks/58ac245ff7fb57c1004f.js +1 -0
  54. package/assets/esri/core/workers/chunks/58acc18b92533166135d.js +1 -0
  55. package/assets/esri/core/workers/chunks/597aa39cdb5366ef9a74.js +1 -0
  56. package/assets/esri/core/workers/chunks/5bfae465872760e7af6d.js +1 -0
  57. package/assets/esri/core/workers/chunks/5cb274e5759f7ca0d4ed.js +1 -0
  58. package/assets/esri/core/workers/chunks/5d3ddbf94539cb4f493e.js +1 -0
  59. package/assets/esri/core/workers/chunks/{542f5469f7b42026b24f.js → 5d62d1920e3e35fc0192.js} +1 -1
  60. package/assets/esri/core/workers/chunks/5dd441db1e74dc9b56e9.js +1 -0
  61. package/assets/esri/core/workers/chunks/630ad47857de3cf726d1.js +1 -0
  62. package/assets/esri/core/workers/chunks/64114a7d2da162987958.js +1 -0
  63. package/assets/esri/core/workers/chunks/6821462e5c1e9c76010a.js +1 -0
  64. package/assets/esri/core/workers/chunks/684d3cb4fb233180b2d0.js +1 -0
  65. package/assets/esri/core/workers/chunks/686c51fd2144e132783e.js +1 -0
  66. package/assets/esri/core/workers/chunks/68f9b2da1fd08785320f.js +2 -0
  67. package/assets/esri/core/workers/chunks/69e98de578f467a35054.js +1 -0
  68. package/assets/esri/core/workers/chunks/6a3d207308b29651f397.js +1 -0
  69. package/assets/esri/core/workers/chunks/6aabde21b0b376d95888.js +1 -0
  70. package/assets/esri/core/workers/chunks/6c6396bfcdab12e68deb.js +1 -0
  71. package/assets/esri/core/workers/chunks/6d616b66fb32904b55a1.js +1 -0
  72. package/assets/esri/core/workers/chunks/{bcb021a167580bb1619f.js → 6ef3b8d67b498d655a99.js} +1 -1
  73. package/assets/esri/core/workers/chunks/6f125b4ed06c0022dee6.js +1 -0
  74. package/assets/esri/core/workers/chunks/6f4825c3ef1fe202ab82.js +1 -0
  75. package/assets/esri/core/workers/chunks/6f5d61f734ec40dafabb.js +1 -0
  76. package/assets/esri/core/workers/chunks/{fce7995c26953bfd8d3d.js → 70229007d594536ba6a3.js} +1 -1
  77. package/assets/esri/core/workers/chunks/71e55381fdff3fc2542e.js +1 -0
  78. package/assets/esri/core/workers/chunks/{90953a827bc89d0e6bd5.js → 72cfb186e50537bcdd19.js} +1 -1
  79. package/assets/esri/core/workers/chunks/72d67cc3a382e83bf1a2.js +1 -0
  80. package/assets/esri/core/workers/chunks/7748743d4be047094d67.js +1 -0
  81. package/assets/esri/core/workers/chunks/78c53aeb0a408ab3c80c.js +1 -0
  82. package/assets/esri/core/workers/chunks/7b5c1030a7cf0f382cc4.js +1 -0
  83. package/assets/esri/core/workers/chunks/7cee81c5aa1e6b7d2452.js +1 -0
  84. package/assets/esri/core/workers/chunks/7e89cb9ff615742e0894.js +1 -0
  85. package/assets/esri/core/workers/chunks/80f4f686ce403cb2693f.js +1 -0
  86. package/assets/esri/core/workers/chunks/{8477b5fdd99c6ac5c27b.js → 851705cf276eae8d4d37.js} +1 -1
  87. package/assets/esri/core/workers/chunks/89e09276086745aa21fa.js +1 -0
  88. package/assets/esri/core/workers/chunks/{4894997bfa438f66da36.js → 8a8c5e5ce457ca004687.js} +1 -1
  89. package/assets/esri/core/workers/chunks/{b79428c5093614174e76.js → 8b0a01ebc86ab226f01f.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{452c01cecbbd1e370098.js → 8f93e6fc11a158d4f1ee.js} +1 -1
  91. package/assets/esri/core/workers/chunks/93bd56396b8cd020f965.js +1 -0
  92. package/assets/esri/core/workers/chunks/{359d3acb3953e64e5a78.js → 93ceb74ac88ef460fe5f.js} +1 -1
  93. package/assets/esri/core/workers/chunks/957f7b8de4aecb6f644e.js +1 -0
  94. package/assets/esri/core/workers/chunks/{875cce0be4f6c89f80f3.js → 9629601de5e44ffe90ea.js} +2 -2
  95. package/assets/esri/core/workers/chunks/976ab2be6c244768c08a.js +1 -0
  96. package/assets/esri/core/workers/chunks/{e785f76c1a75cb1d1e1f.js → 99101789035f1787c630.js} +1 -1
  97. package/assets/esri/core/workers/chunks/99e5296192ab98fd0d99.js +1 -0
  98. package/assets/esri/core/workers/chunks/9d5f7573bfe3b051daf1.js +1 -0
  99. package/assets/esri/core/workers/chunks/a0c00c6fe60db49b3ab9.js +1 -0
  100. package/assets/esri/core/workers/chunks/a2247f4c3116efb16c4f.js +1 -0
  101. package/assets/esri/core/workers/chunks/a4245bd4e67a428fd835.js +1 -0
  102. package/assets/esri/core/workers/chunks/a442534ac0956a68b769.js +1 -0
  103. package/assets/esri/core/workers/chunks/a4e9a17dacbb52444d75.js +1 -0
  104. package/assets/esri/core/workers/chunks/{8bdca6f06c8b5fedd917.js → a5abba59e738c3240c22.js} +1 -1
  105. package/assets/esri/core/workers/chunks/{62dfbdc847be4800e833.js → a9a1293b1d5302fb3b54.js} +8 -12
  106. package/assets/esri/core/workers/chunks/a9fc53ae040320e49834.js +1 -0
  107. package/assets/esri/core/workers/chunks/aa118c1bcd922b8ac328.js +1 -0
  108. package/assets/esri/core/workers/chunks/aae0049c2c3e15a813e8.js +1 -0
  109. package/assets/esri/core/workers/chunks/ac33b10fe65f9e9e824f.js +1 -0
  110. package/assets/esri/core/workers/chunks/adc32f6b45ea3026fc34.js +1 -0
  111. package/assets/esri/core/workers/chunks/af31e62499d45bdab3c3.js +1 -0
  112. package/assets/esri/core/workers/chunks/b22a1c98271c2e4d8808.js +1 -0
  113. package/assets/esri/core/workers/chunks/{9f4681713f03365a2a53.js → b666027b9022fa346a79.js} +1 -1
  114. package/assets/esri/core/workers/chunks/b73c146d3e550eaf07eb.js +1 -0
  115. package/assets/esri/core/workers/chunks/c0cbc50e5afd68bd485c.js +1 -0
  116. package/assets/esri/core/workers/chunks/c2a65de34f6a6c89c652.js +1 -0
  117. package/assets/esri/core/workers/chunks/c357c0a08b99c1e7f290.js +1 -0
  118. package/assets/esri/core/workers/chunks/{4a23b27bfbcfa08fd9a7.js → c3cf9e6e91f71c9cc5f3.js} +1 -1
  119. package/assets/esri/core/workers/chunks/c3ff2ff0a86a9143d7a5.js +1 -0
  120. package/assets/esri/core/workers/chunks/{e545df5ea7c0ced92cee.js → c424a66f1546275e2bcb.js} +1 -1
  121. package/assets/esri/core/workers/chunks/c60b4f2dd5fccdf362a7.js +1 -0
  122. package/assets/esri/core/workers/chunks/c6d0b4875b6b8d6bc25a.js +1 -0
  123. package/assets/esri/core/workers/chunks/c911f0b5bdd43b66b731.js +1 -0
  124. package/assets/esri/core/workers/chunks/c9a4601073e1a3eee9d0.js +1 -0
  125. package/assets/esri/core/workers/chunks/ccffaba50674adba7a0f.js +1 -0
  126. package/assets/esri/core/workers/chunks/{24646a1176ce34039155.js → cdf6ad970dc1893dac58.js} +1 -1
  127. package/assets/esri/core/workers/chunks/d13e003c9293cb7e2852.js +1 -0
  128. package/assets/esri/core/workers/chunks/d24e027bb8b2c09f25c8.js +1 -0
  129. package/assets/esri/core/workers/chunks/d2df8c328054dc6cb7b7.js +1 -0
  130. package/assets/esri/core/workers/chunks/d5c35a75fd4c41def420.js +1 -0
  131. package/assets/esri/core/workers/chunks/{5e3e0d7b85dfd52d1c7d.js → d78b7cac322755e87eb8.js} +1 -1
  132. package/assets/esri/core/workers/chunks/d7be278aed1fb37ad5ec.js +1 -0
  133. package/assets/esri/core/workers/chunks/d9695794cfaa014a55b1.js +1 -0
  134. package/assets/esri/core/workers/chunks/da1e8b338ab9fe9e0a8e.js +1 -0
  135. package/assets/esri/core/workers/chunks/e1bf87077541da6853c6.js +1 -0
  136. package/assets/esri/core/workers/chunks/e279bcbe4f10e87bde6c.js +1 -0
  137. package/assets/esri/core/workers/chunks/e4406baf206b9e4c7e4f.js +1 -0
  138. package/assets/esri/core/workers/chunks/e499252cb52f7aed49a0.js +1 -0
  139. package/assets/esri/core/workers/chunks/{e178cd0e9178d6716410.js → e5837e5ac6ef761f26a2.js} +1 -1
  140. package/assets/esri/core/workers/chunks/e6a7272b59a4c2e34dca.js +1 -0
  141. package/assets/esri/core/workers/chunks/e912b515704e20313e53.js +1 -0
  142. package/assets/esri/core/workers/chunks/eac683a37339aa558455.js +1 -0
  143. package/assets/esri/core/workers/chunks/ec1841e6e498d54012eb.js +1 -0
  144. package/assets/esri/core/workers/chunks/ed3d16a5b4084ef61f8a.js +1 -0
  145. package/assets/esri/core/workers/chunks/ee07f54bc77fe9f8575a.js +1 -0
  146. package/assets/esri/core/workers/chunks/{e094364e54981c91e1b4.js → eeea5710275c967e8d51.js} +1 -1
  147. package/assets/esri/core/workers/chunks/ef46ef4f0ee9f2aeaa4a.js +1 -0
  148. package/assets/esri/core/workers/chunks/efb4aa5886730ea377bd.js +1 -0
  149. package/assets/esri/core/workers/chunks/{485d20152495c27b8074.js → f2a268c69f2a5566381b.js} +1 -1
  150. package/assets/esri/core/workers/chunks/f590db684d88e72bd79b.js +1 -0
  151. package/assets/esri/core/workers/chunks/f69df22a5c64389ebe28.js +1 -0
  152. package/assets/esri/core/workers/chunks/{f60292d97bcdbf19165b.js → f6d047358d14328f3622.js} +1 -1
  153. package/assets/esri/core/workers/chunks/f7fca88d120d45bb782a.js +1 -0
  154. package/assets/esri/core/workers/chunks/f819854098d63fe4ccdb.js +1 -0
  155. package/assets/esri/core/workers/chunks/f8f3579d0c1b65762902.js +1 -0
  156. package/assets/esri/core/workers/chunks/f98118127469449ca145.js +1 -0
  157. package/assets/esri/core/workers/chunks/f9ed05d4ad1f44d033bb.js +1 -0
  158. package/assets/esri/core/workers/chunks/fb6605be0c5e36785543.js +1 -0
  159. package/assets/esri/core/workers/chunks/fbe7dae0b4bf2d172487.js +1 -0
  160. package/assets/esri/core/workers/chunks/fc4d9be62cf5e9758842.js +1 -0
  161. package/assets/esri/core/workers/chunks/fd70a25ffdf2cc6c5be2.js +1 -0
  162. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  163. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  164. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  165. package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
  166. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +38 -8
  167. package/assets/esri/themes/dark/main.css +1 -1
  168. package/assets/esri/themes/light/main.css +1 -1
  169. package/assets/esri/themes/light/view.css +1 -1
  170. package/chunks/GlowComposition.glsl.js +2 -2
  171. package/chunks/bundle2.js +1 -1
  172. package/chunks/lyr3DMain.js +1 -1
  173. package/chunks/lyr3DWorker.js +1 -1
  174. package/chunks/vxlLayer.js +1 -1
  175. package/config.js +1 -1
  176. package/core/screenUtils.js +1 -1
  177. package/core/sql.d.ts +1 -1
  178. package/geometry/Extent.d.ts +0 -13
  179. package/geometry/Geometry.d.ts +10 -8
  180. package/geometry/Multipoint.d.ts +9 -0
  181. package/geometry/Multipoint.js +1 -1
  182. package/geometry/Point.d.ts +15 -71
  183. package/geometry/Polygon.js +1 -1
  184. package/geometry/support/geometryUtils.js +1 -1
  185. package/graphic/AnnotationGraphicOrigin.d.ts +34 -0
  186. package/graphic/AnnotationGraphicOrigin.js +2 -0
  187. package/graphic/DimensionFeatureGraphicOrigin.d.ts +34 -0
  188. package/graphic/DimensionFeatureGraphicOrigin.js +2 -0
  189. package/identity/IdentityManagerBase.js +1 -1
  190. package/interfaces.d.ts +10 -0
  191. package/kernel.js +1 -1
  192. package/layers/AnnotationLayer.d.ts +263 -32
  193. package/layers/AnnotationLayer.js +1 -1
  194. package/layers/DimensionFeatureLayer.d.ts +263 -32
  195. package/layers/DimensionFeatureLayer.js +1 -1
  196. package/layers/FeatureLayer.d.ts +1 -1
  197. package/layers/GeoJSONLayer.d.ts +7 -7
  198. package/layers/SceneLayer.d.ts +4 -2
  199. package/layers/VideoLayer.d.ts +7 -1
  200. package/layers/VideoLayer.js +1 -1
  201. package/layers/catalog/CatalogFootprintLayer.d.ts +40 -10
  202. package/layers/graphics/sources/parquet/FileProvider.js +1 -1
  203. package/layers/graphics/sources/parquet/ParquetFileInfo.js +2 -0
  204. package/layers/graphics/sources/parquet/ParquetFileStatistics.js +2 -0
  205. package/layers/graphics/sources/parquet/PortalParquetFileProvider.js +1 -1
  206. package/layers/graphics/sources/parquet/PortalParquetLayerFileProvider.js +1 -1
  207. package/layers/graphics/sources/parquet/UrlsFileProvider.js +1 -1
  208. package/layers/graphics/sources/parquet/createFileProvider.js +1 -1
  209. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  210. package/layers/mixins/FeatureLayerBase.d.ts +40 -16
  211. package/layers/mixins/TemporalLayer.d.ts +4 -2
  212. package/layers/support/AnnotationSublayer.d.ts +44 -0
  213. package/layers/support/AnnotationSublayer.js +2 -0
  214. package/layers/support/commonProperties.js +1 -1
  215. package/layers/support/featureLayerUtils.js +1 -1
  216. package/layers/support/layerUtils.js +1 -1
  217. package/layers/support/parquetUtils.js +1 -1
  218. package/layers/support/tiles3DUtils.js +1 -1
  219. package/layers/support/timeSeriesUtils.js +1 -1
  220. package/layers/video/types.d.ts +61 -1
  221. package/libs/parquet/parquet.js +1 -1
  222. package/package.json +1 -1
  223. package/request/types.d.ts +18 -20
  224. package/support/revision.js +1 -1
  225. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  226. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  227. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  228. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  229. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexOutlineFillShader.js +1 -1
  230. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
  231. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  232. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  233. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  234. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  235. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  236. package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
  237. package/views/2d/layers/GraphicsLayerView2D.js +1 -1
  238. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  239. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  240. package/views/2d/layers/KMLLayerView2D.js +1 -1
  241. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  242. package/views/2d/layers/MediaLayerView2D.js +1 -1
  243. package/views/2d/layers/RouteLayerView2D.js +1 -1
  244. package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
  245. package/views/2d/layers/features/layerAdapters/DimensionLayerAdapter.js +1 -1
  246. package/views/2d/layers/features/sources/strategies/ParquetSnapshotLoadStrategy.js +1 -1
  247. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  248. package/views/2d/layers/graphics/GraphicStore.js +1 -1
  249. package/views/2d/support/hitTestUtils.js +1 -1
  250. package/views/3d/analysis/LineOfSight/LineOfSightAggregateManipulatedObject3D.js +2 -0
  251. package/views/3d/analysis/LineOfSight/LineOfSightAuthoringUtils.js +1 -1
  252. package/views/3d/analysis/LineOfSight/LineOfSightConfiguration.js +1 -1
  253. package/views/3d/analysis/LineOfSight/LineOfSightManipulators.js +1 -1
  254. package/views/3d/analysis/LineOfSight/LineOfSightObserverPlugin.js +1 -1
  255. package/views/3d/analysis/LineOfSight/LineOfSightPlacementLeafPlugin.js +2 -0
  256. package/views/3d/analysis/LineOfSight/LineOfSightPlacementTool.js +1 -1
  257. package/views/3d/analysis/LineOfSight/LineOfSightReshapeTool3D.js +2 -0
  258. package/views/3d/analysis/LineOfSight/LineOfSightRootPlugin.js +1 -1
  259. package/views/3d/analysis/LineOfSight/LineOfSightTargetPlugin.js +1 -1
  260. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  261. package/views/3d/analysis/LineOfSight/LineOfSightTool2.js +1 -1
  262. package/views/3d/analysis/Viewshed/ViewshedSnappingController.js +1 -1
  263. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  264. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  265. package/views/3d/interactive/editingTools/reshape/ReshapeTool3D.js +1 -1
  266. package/views/3d/interactive/editingTools/reshape/isSupportedObject.js +1 -1
  267. package/views/3d/interactive/editingTools/reshape/reshapeTooltipUtils3D.js +1 -1
  268. package/views/3d/interactive/editingTools/visualElementUtils.js +1 -1
  269. package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
  270. package/views/3d/layers/FlowSubView3D.js +1 -1
  271. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  272. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  273. package/views/3d/terrain/OverlayManager.js +1 -1
  274. package/views/3d/webgl/RenderNode.d.ts +25 -4
  275. package/views/3d/webgl-engine/shaders/ToneMapping.glsl.js +6 -10
  276. package/views/draw/plugins/PolygonPlugin.js +1 -1
  277. package/views/interactive/interactiveToolUtils.js +1 -1
  278. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  279. package/views/interactive/snapping/LineSnapper.js +1 -1
  280. package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
  281. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  282. package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
  283. package/views/interactive/snapping/SnappingAlgorithm.js +1 -1
  284. package/views/interactive/snapping/SnappingManager.js +1 -1
  285. package/views/interactive/snapping/snappingUtils.js +1 -1
  286. package/views/layers/FeatureLikeLayerView.d.ts +25 -1
  287. package/views/layers/FeatureLikeLayerView.js +1 -1
  288. package/views/types.d.ts +4 -4
  289. package/webdoc/support/webdocSaveUtils.js +1 -1
  290. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +10 -2
  291. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  292. package/widgets/BatchAttributeForm/ReactiveContingentValuesManager.js +1 -1
  293. package/widgets/BatchAttributeForm/attachmentUtils.d.ts +14 -0
  294. package/widgets/BatchAttributeForm/attachmentUtils.js +1 -1
  295. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  296. package/widgets/BatchAttributeForm/css.js +1 -1
  297. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +8 -6
  298. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  299. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  300. package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.js +1 -1
  301. package/widgets/BatchAttributeForm/inputs/support/attachmentValidationCriteriaState.d.ts +5 -0
  302. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  303. package/widgets/BatchAttributeForm/inputs/types.d.ts +8 -1
  304. package/widgets/BatchAttributeForm/interfaceUtils.js +1 -1
  305. package/widgets/BatchAttributeForm/rendered-content/RelationshipDetails.js +1 -1
  306. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  307. package/widgets/BatchAttributeForm.d.ts +9 -1
  308. package/widgets/BatchAttributeForm.js +1 -1
  309. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  310. package/widgets/FeatureTable/Grid/Column.js +1 -1
  311. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  312. package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
  313. package/widgets/FeatureTable/Grid/GroupColumn.js +1 -1
  314. package/widgets/FeatureTable.js +1 -1
  315. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  316. package/widgets/Print/PrintViewModel.js +1 -1
  317. package/widgets/VideoPlayer/VideoPlayerViewModel.d.ts +7 -1
  318. package/widgets/VideoPlayer/VideoPlayerViewModel.js +1 -1
  319. package/widgets/support/ContingentValuesManager.js +1 -1
  320. package/assets/esri/core/workers/chunks/02aaeaa988e9e7d65a7f.js +0 -1
  321. package/assets/esri/core/workers/chunks/03354ad3d74d858173b4.js +0 -1
  322. package/assets/esri/core/workers/chunks/09a4139fc6d069ab6928.js +0 -1
  323. package/assets/esri/core/workers/chunks/0a510acf50915e00c62b.js +0 -1
  324. package/assets/esri/core/workers/chunks/0a780a883abfcdf0b900.js +0 -1
  325. package/assets/esri/core/workers/chunks/0fbf9bf52ecb4cd8293b.js +0 -1
  326. package/assets/esri/core/workers/chunks/119d352dd586f2bb61ec.js +0 -1
  327. package/assets/esri/core/workers/chunks/130784a27661de6b52a5.js +0 -1
  328. package/assets/esri/core/workers/chunks/145364aa20b4435294c2.js +0 -1
  329. package/assets/esri/core/workers/chunks/1595dc499a06b23b6a96.js +0 -1
  330. package/assets/esri/core/workers/chunks/16713986893adfbc9331.js +0 -1
  331. package/assets/esri/core/workers/chunks/179c9fe4ac83b42e5976.js +0 -1
  332. package/assets/esri/core/workers/chunks/19dcae83be0fc0aced02.js +0 -1
  333. package/assets/esri/core/workers/chunks/1c64e10f966e26af6fed.js +0 -1
  334. package/assets/esri/core/workers/chunks/1eabe746481e0b228498.js +0 -1
  335. package/assets/esri/core/workers/chunks/201007cf1a91e2b126fc.js +0 -1
  336. package/assets/esri/core/workers/chunks/20d0adc678f11981059c.js +0 -1
  337. package/assets/esri/core/workers/chunks/227eff8aa4a6f5f03bc2.js +0 -1
  338. package/assets/esri/core/workers/chunks/233ff588798c8a5eedf4.js +0 -1
  339. package/assets/esri/core/workers/chunks/238478cfe493fd4a6100.js +0 -1
  340. package/assets/esri/core/workers/chunks/24647e7424798dccdaf5.js +0 -1
  341. package/assets/esri/core/workers/chunks/249616ea2d90d40a8299.js +0 -1
  342. package/assets/esri/core/workers/chunks/24d9e4f1c7b8ff0d2cce.js +0 -1
  343. package/assets/esri/core/workers/chunks/2b36a54927f5a7281da3.js +0 -1
  344. package/assets/esri/core/workers/chunks/2bcd4d395bfe6a19ccc8.js +0 -1
  345. package/assets/esri/core/workers/chunks/2c8584ec1c3c9fd5aba2.js +0 -1
  346. package/assets/esri/core/workers/chunks/2d374cc8c54a722a7afe.js +0 -1
  347. package/assets/esri/core/workers/chunks/2e11b4e9d66474a60064.js +0 -1
  348. package/assets/esri/core/workers/chunks/2fa080539d039c92ce08.js +0 -1
  349. package/assets/esri/core/workers/chunks/3109b05fe4fc40d4f25b.js +0 -1
  350. package/assets/esri/core/workers/chunks/31442f25d550ead58fc4.js +0 -1
  351. package/assets/esri/core/workers/chunks/32323b0e0fcecd8f640e.js +0 -1
  352. package/assets/esri/core/workers/chunks/330da3828eefd8d72d3f.js +0 -1
  353. package/assets/esri/core/workers/chunks/33e0130e6a40fc768978.js +0 -1
  354. package/assets/esri/core/workers/chunks/343ba5ea459e96ba79c6.js +0 -1
  355. package/assets/esri/core/workers/chunks/388e71e8f2ec41bfa5a9.js +0 -1
  356. package/assets/esri/core/workers/chunks/3a5c1c501808352857bd.js +0 -1
  357. package/assets/esri/core/workers/chunks/3aacaa1be5efeac23a37.js +0 -1
  358. package/assets/esri/core/workers/chunks/3b765a8cac9e92f644f2.js +0 -1
  359. package/assets/esri/core/workers/chunks/3bf6d55511cd7722eb93.js +0 -1
  360. package/assets/esri/core/workers/chunks/3e012cd3ca4451f89f59.js +0 -1
  361. package/assets/esri/core/workers/chunks/3fbb6ff940156a981983.js +0 -1
  362. package/assets/esri/core/workers/chunks/40910c69307e2d2d3f28.js +0 -1
  363. package/assets/esri/core/workers/chunks/40c4e14e7bb505ef10a3.js +0 -1
  364. package/assets/esri/core/workers/chunks/4104fa1ede36bcee9be5.js +0 -1
  365. package/assets/esri/core/workers/chunks/423a9882abd4a6dadf86.js +0 -1
  366. package/assets/esri/core/workers/chunks/428561df7ba6f02e2d80.js +0 -1
  367. package/assets/esri/core/workers/chunks/45323491f9005629c602.js +0 -1
  368. package/assets/esri/core/workers/chunks/46d0a25d33b5b328cfce.js +0 -1
  369. package/assets/esri/core/workers/chunks/47dd2bfecc5c4b5f10f0.js +0 -1
  370. package/assets/esri/core/workers/chunks/4845df00f6ebcce6ea3e.js +0 -1
  371. package/assets/esri/core/workers/chunks/48fcc10768d93e95a04e.js +0 -1
  372. package/assets/esri/core/workers/chunks/4a9dd9f8aa98882218f3.js +0 -1
  373. package/assets/esri/core/workers/chunks/4bfffdfbe6d467f143a4.js +0 -1
  374. package/assets/esri/core/workers/chunks/518046d2b95a7590a092.js +0 -1
  375. package/assets/esri/core/workers/chunks/54dad475dc806a38c287.js +0 -1
  376. package/assets/esri/core/workers/chunks/552945a73a95cd2a9f54.js +0 -1
  377. package/assets/esri/core/workers/chunks/5553279998ae07b60f5f.js +0 -1
  378. package/assets/esri/core/workers/chunks/58155f24f8ed6aca7a21.js +0 -1
  379. package/assets/esri/core/workers/chunks/5838f46d341d2fde42ee.js +0 -1
  380. package/assets/esri/core/workers/chunks/592a599f514de373dead.js +0 -1
  381. package/assets/esri/core/workers/chunks/5aba23584e0b230c75f5.js +0 -1
  382. package/assets/esri/core/workers/chunks/5f9bacee6fbf9ac1bca0.js +0 -1
  383. package/assets/esri/core/workers/chunks/62206d5d497b95fc4caf.js +0 -1
  384. package/assets/esri/core/workers/chunks/624b1bb269744142b835.js +0 -1
  385. package/assets/esri/core/workers/chunks/62fc3c367f736c73b0d7.js +0 -1
  386. package/assets/esri/core/workers/chunks/643c33a98f2d30a92001.js +0 -1
  387. package/assets/esri/core/workers/chunks/64daa2a714e59d22bbd4.js +0 -1
  388. package/assets/esri/core/workers/chunks/65621650a53f69f7b05a.js +0 -1
  389. package/assets/esri/core/workers/chunks/6a5356ebed70e0f8f979.js +0 -1
  390. package/assets/esri/core/workers/chunks/6c9933f948efd7923aa1.js +0 -1
  391. package/assets/esri/core/workers/chunks/6cab67fc7044ee9b863b.js +0 -1
  392. package/assets/esri/core/workers/chunks/7014e73dfd3c8baa704c.js +0 -1
  393. package/assets/esri/core/workers/chunks/75839240022b280929f7.js +0 -1
  394. package/assets/esri/core/workers/chunks/76589434d573111a8fb4.js +0 -1
  395. package/assets/esri/core/workers/chunks/767ea5b455b3823afd09.js +0 -1
  396. package/assets/esri/core/workers/chunks/77859a61d059738d057f.js +0 -1
  397. package/assets/esri/core/workers/chunks/78aa5bc6af2758da20d0.js +0 -1
  398. package/assets/esri/core/workers/chunks/7b564226def99fcf79d8.js +0 -1
  399. package/assets/esri/core/workers/chunks/7bbffe07e62897928773.js +0 -1
  400. package/assets/esri/core/workers/chunks/7cadfd7444a2a05cf2fb.js +0 -1
  401. package/assets/esri/core/workers/chunks/7df94cb985db41815fad.js +0 -2
  402. package/assets/esri/core/workers/chunks/823789261ca3338f0fa8.js +0 -1
  403. package/assets/esri/core/workers/chunks/8419934bec7723b0feef.js +0 -1
  404. package/assets/esri/core/workers/chunks/84b0b6e099d949e0fea5.js +0 -1
  405. package/assets/esri/core/workers/chunks/9133c1b7cc1c9da27deb.js +0 -1
  406. package/assets/esri/core/workers/chunks/92ab5886aa2d8b9b179f.js +0 -1
  407. package/assets/esri/core/workers/chunks/9a6e62ef984e9c5babc4.js +0 -1
  408. package/assets/esri/core/workers/chunks/9b676606bf839b7aa433.js +0 -1
  409. package/assets/esri/core/workers/chunks/9d27cc631bab8aa7479e.js +0 -1
  410. package/assets/esri/core/workers/chunks/9dcfaca1f4fa8c8026ac.js +0 -1
  411. package/assets/esri/core/workers/chunks/9f23a61c60949459c14f.js +0 -30
  412. package/assets/esri/core/workers/chunks/a03c4c0bf138734a002e.js +0 -1
  413. package/assets/esri/core/workers/chunks/a0fa60a24e58f7a47e41.js +0 -1
  414. package/assets/esri/core/workers/chunks/a261f4c22224511fdfff.js +0 -1
  415. package/assets/esri/core/workers/chunks/a2ac139d0975085279a6.js +0 -1
  416. package/assets/esri/core/workers/chunks/a806ac351ef5da04c250.js +0 -1
  417. package/assets/esri/core/workers/chunks/ab94c9f62462d7a98f6a.js +0 -1
  418. package/assets/esri/core/workers/chunks/abdb05754c50776c3edd.js +0 -1
  419. package/assets/esri/core/workers/chunks/ad488985824fbb830ed6.js +0 -1
  420. package/assets/esri/core/workers/chunks/b0ac4b0b7aec70cfe6eb.js +0 -1
  421. package/assets/esri/core/workers/chunks/bfbd1ca28ed2f263e58f.js +0 -1
  422. package/assets/esri/core/workers/chunks/c1b6de0d728d25d7905a.js +0 -1
  423. package/assets/esri/core/workers/chunks/c44be4aaba829e6d149d.js +0 -1
  424. package/assets/esri/core/workers/chunks/ca6907e14b1dde4d5c07.js +0 -1
  425. package/assets/esri/core/workers/chunks/cbbd94c53e75efc99876.js +0 -1
  426. package/assets/esri/core/workers/chunks/ce0e627a5e1cb78adce8.js +0 -1
  427. package/assets/esri/core/workers/chunks/cf7acf5acb6d322fd996.js +0 -1
  428. package/assets/esri/core/workers/chunks/d21480b078ec9680d4c4.js +0 -1
  429. package/assets/esri/core/workers/chunks/d81291dac1932350eccd.js +0 -1
  430. package/assets/esri/core/workers/chunks/da3c54e27a808f4fcc18.js +0 -1
  431. package/assets/esri/core/workers/chunks/dc6d50e1097a920ff820.js +0 -1
  432. package/assets/esri/core/workers/chunks/dd58286dde3b20356f84.js +0 -1
  433. package/assets/esri/core/workers/chunks/dfeddb7b17fa9eaae64c.js +0 -1
  434. package/assets/esri/core/workers/chunks/e4e0c5a45cf32973d5d5.js +0 -1
  435. package/assets/esri/core/workers/chunks/e638391801ad83fe4a68.js +0 -1
  436. package/assets/esri/core/workers/chunks/e755477dc78e9d6038d4.js +0 -1
  437. package/assets/esri/core/workers/chunks/e7712467db46e1385cf4.js +0 -1
  438. package/assets/esri/core/workers/chunks/ed2cb60e4f17f46fb78d.js +0 -1
  439. package/assets/esri/core/workers/chunks/edb55329305becdb204f.js +0 -1
  440. package/assets/esri/core/workers/chunks/f02fe24177e56a7e42b2.js +0 -1
  441. package/assets/esri/core/workers/chunks/f1fb2f12371f4c562079.js +0 -1
  442. package/assets/esri/core/workers/chunks/f3dfe1bd1146a6927407.js +0 -1
  443. package/assets/esri/core/workers/chunks/ff48334528d2554db4fe.js +0 -1
  444. package/views/3d/analysis/LineOfSight/LineOfSightAuthoringStore.js +0 -2
  445. /package/assets/esri/core/workers/chunks/{7df94cb985db41815fad.js.LICENSE.txt → 68f9b2da1fd08785320f.js.LICENSE.txt} +0 -0
  446. /package/assets/esri/core/workers/chunks/{875cce0be4f6c89f80f3.js.LICENSE.txt → 9629601de5e44ffe90ea.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../AggregateGraphic.js";import r from"../../../Graphic.js";import s from"../../../TrackGraphic.js";import{isSome as i}from"../../../core/arrayUtils.js";import a from"../../../core/Collection.js";import o from"../../../core/Error.js";import{makeHandle as n,handlesGroup as l}from"../../../core/handleUtils.js";import has from"../../../core/has.js";import u from"../../../core/Logger.js";import{destroyMaybe as h}from"../../../core/maybe.js";import{notDeepEqual as c}from"../../../core/object.js";import{createAbortError as p,ignoreAbortErrors as d,throwIfNotAbortError as y,isAbortError as m}from"../../../core/promiseUtils.js";import{watch as g,sync as f}from"../../../core/reactiveUtils.js";import{isScreenRect as w}from"../../../core/screenUtils.js";import{sqlAnd as v}from"../../../core/sql.js";import{getMetersPerUnitForSR as _}from"../../../core/units.js";import{property as b,subclass as S}from"../../../core/accessorSupport/decorators.js";import{UpdatingHandles as A}from"../../../core/support/UpdatingHandles.js";import F from"../../../geometry/Extent.js";import{fromJSON as j}from"../../../geometry/support/jsonUtils.js";import x from"../../../geometry/support/rotate.js";import{isCurvedGeometry as E}from"../../../geometry/support/curves/curveUtils.js";import{densifyCurvedGeometry as I}from"../../../geometry/support/curves/densifyCurvedGeometry.js";import k from"../../../layers/effects/FeatureEffectView.js";import{convertFromFeature as O}from"../../../layers/graphics/featureConversionUtils.js";import U from"../../../layers/support/FeatureFilter.js";import{checkServiceCurrentUserSupport as R}from"../../../layers/support/featureLayerUtils.js";import{packFields as V}from"../../../layers/support/fieldUtils.js";import{getEffectiveLayerCapabilities as C}from"../../../layers/support/layerUtils.js";import{combineTimeExtent as Q}from"../../../layers/support/timeSupport.js";import q from"../../../rest/support/AggregateFeatureSet.js";import M from"../../../rest/support/AttributeBinsFeatureSet.js";import H from"../../../rest/support/AttributeBinsQuery.js";import P from"../../../rest/support/FeatureSet.js";import L from"../../../rest/support/Query.js";import{HittestDrawHelper as T}from"../../../symbols/cim/CIMSymbolDrawHelper.js";import{symbolToCIM as W}from"../../../symbols/cim/CIMSymbolHelper.js";import{getDisplayedSymbol as D}from"../../../symbols/support/symbolUtils.js";import{LayerView2D as G}from"./LayerView2D.js";import{FeatureContainer as N}from"./features/FeatureContainer.js";import{createFeaturePipelineWorkerProxy as J}from"./features/FeaturePipelineWorkerProxy.js";import{FeatureSourceEventLog as z}from"./features/FeatureSourceEventLog.js";import{AnnotationLayerAdapter as B}from"./features/layerAdapters/AnnotationLayerAdapter.js";import{CatalogFootprintLayerAdapter as Z}from"./features/layerAdapters/CatalogFootprintLayerAdapter.js";import{DimensionLayerAdapter as K}from"./features/layerAdapters/DimensionLayerAdapter.js";import{FeatureLayerAdapter as $}from"./features/layerAdapters/FeatureLayerAdapter.js";import{createFeatureIdInfo as X}from"./features/layerAdapters/featureServiceUtils.js";import{InMemoryLayerAdapter as Y}from"./features/layerAdapters/InMemoryLayerAdapter.js";import{KnowledgeGraphSublayerAdapter as ee}from"./features/layerAdapters/KnowledgeGraphSublayerAdapter.js";import{OGCFeatureLayerAdapter as te}from"./features/layerAdapters/OGCFeatureLayerAdapter.js";import{OrientedImageryLayerAdapter as re}from"./features/layerAdapters/OrientedImageryLayerAdapter.js";import{ParquetLayerAdapter as se}from"./features/layerAdapters/ParquetLayerAdapter.js";import{StreamLayerAdapter as ie}from"./features/layerAdapters/StreamLayerAdapter.js";import{SubtypeGroupLayerAdapter as ae}from"./features/layerAdapters/SubtypeGroupLayerAdapter.js";import{createComplexSymbolInstances as oe}from"./features/schema/processor/symbols/ComplexSymbolSchema.js";import{DebouncedFeatureOverride as ne}from"./support/DebouncedFeatureOverride.js";import{FeatureCommandQueue as le}from"./support/FeatureCommandQueue.js";import{handleNoEngineError as ue}from"./support/handleNoEngineError.js";import{toJSONGeometryType as he}from"./support/util.js";import{getMapPointsFromScreen as ce}from"../support/hitTestUtils.js";import{FeatureTileSubscriptionManager as pe}from"../tiling/FeatureTileSubscriptionManager.js";import{RefreshableLayerView as de}from"../../layers/RefreshableLayerView.js";import{getHighlightName as ye}from"../../support/highlightOptionsUtils.js";function me(e,t){const r=new Set;return e&&e.forEach(e=>r.add(e)),t&&t.forEach(e=>r.add(e)),r.has("*")?["*"]:Array.from(r)}const ge=4294967294;function fe(e,t){return l(e.map(e=>g(()=>{const t=e();return t&&"object"==typeof t?"getTime"in t&&"function"==typeof t.getTime?t.getTime():JSON.stringify(t):t},t,f)))}function we(e){if(!e.geometry)return e;if(!E(e.geometry))return e;const t=.001/_(e.geometry.spatialReference),r=100;return{geometry:I(e.geometry,{maxSegmentsPerCurve:12e3,maxSegmentLength:r*t,maxDeviation:0}),attributes:e.attributes}}const ve=l=>{const f=de(G(l));let _=class extends f{constructor(){super(...arguments),this._commandsQueue=new le({process:e=>{switch(e.type){case"override-batch":return this._doOverride(e);case"update":return this._doUpdate();case"highlight":return this._updateHighlights()}}}),this._visibilityOverrides=new Set,this._lastAvailableFields=[],this._lastTargetState=null,this.eventLog=new z,this._sourceRefreshVersion=1,this._displayRefreshVersion=1,this._pipelineUpdating=!1,this._editUpdatingHandles=new A,this._fields=null,this._hittestDrawHelper=null,this._sourceUpdating=!1,this.featureEffectView=new k}destroy(){this._editUpdatingHandles.destroy(),this._workerProxy?.destroy(),this._workerAttached.reject(p()),this._commandsQueue.destroy(),this._hittestDrawHelper?.destroy()}initialize(){this._workerAttached=Promise.withResolvers(),d(this._workerAttached.promise),this.addResolvingPromise(this._initProxy()),this.featureEffectView.featureEffect=this.featureEffect,this.featureEffectView.endTransition()}async _initProxy(){const e=this.layer;if("isTable"in e&&e.isTable)throw new o("featurelayerview:table-not-supported","table feature layer can't be displayed",{layer:e});if(("feature"===e.type||"subtype-group"===e.type)&&!1===C(e)?.operations.supportsQuery)throw new o("featurelayerview:query-not-supported","layer view requires a layer with query capability",{layer:e});this._workerProxy&&this._workerProxy.destroy();const t=this._createClientOptions();this._workerProxy=await J(t)}async _attachProxy(){const e=x(this.view.extent,this.view.rotation,this.view.center),t={tileInfoJSON:this.view?.featuresTilingScheme?.tileInfo?.toJSON(),initialViewExtent:e.toJSON()};try{await this._workerProxy.pipeline.onAttach(t),this._workerAttached.resolve()}catch(r){this._workerAttached.reject(p()),y(r)}}async _detachProxy(){return this._workerProxy.pipeline.onDetach()}async getWorker(){return await this._workerAttached.promise,this._workerProxy}get dataUpdating(){return this._sourceUpdating||this._editUpdatingHandles.updating}get hasAllFeatures(){return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&this.eventLog.willQueryAllFeatures}get hasAllFeaturesInView(){const e=this.effectiveDisplayFilter?.where||null,t=!this.eventLog.willQueryAllFeatures&&null!=e&&"1=1"!==e;return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&!t}get hasFullGeometries(){return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&this.eventLog.willQueryFullResolutionGeometry}get layerAdapter(){switch(this.layer.type){case"annotation":return new B(this.layer);case"dimension-feature":return new K(this.layer);case"feature":return"memory"===this.layer.source.type?new Y(this.layer):new $(this.layer);case"geojson":case"csv":case"wfs":return new Y(this.layer);case"parquet":return new se(this.layer);case"subtype-group":return new ae(this.layer);case"ogc-feature":return new te(this.layer);case"stream":return new ie(this.layer);case"oriented-imagery":return new re(this.layer);case"knowledge-graph-sublayer":return new ee(this.layer);case"catalog-footprint":return new Z(this.layer);default:this.layer}return null}get timeExtent(){return Q(this.layerAdapter.timeOptions,this.view?.timeExtent,this._get("timeExtent"))}get usedMemory(){return this.container.usedMemory+this.eventLog.pipelineStatistics.usedMemory}getDisplayStatistics(e,t){return this.featureContainer?.getDisplayStatistics(e,t)}highlight(e,t){let s;e instanceof r?s=[e.getObjectId()]:"number"==typeof e||"string"==typeof e?s=[e]:a.isCollection(e)&&e.length>0?s=e.map(e=>e?.getObjectId()).toArray():Array.isArray(e)&&e.length>0&&(s="number"==typeof e[0]||"string"==typeof e[0]?e:e.map(e=>e?.getObjectId()));const o=s?.filter(i);if(!o?.length)return n();const l=ye(t);return this._addHighlights(o,l),n(()=>!this.destroyed&&this._removeHighlights(o,l))}async hitTest(e,i){const a=w(i),{trueHitIds:o,candidateHitIds:n}=await this.featureContainer.hitTest(i),l=await this.getWorker(),[u,h]=await Promise.all([l.pipeline.getDisplayFeatures(n),l.pipeline.getDisplayFeatures(o)]),{features:c,aggregates:p,tracks:d}=u,{features:y,aggregates:g,tracks:f}=h,v=[];if(a&&this.hasRenderer()){const e=new Map,t=new r;for(const r of c){t.attributes=r.attributes,t.geometry=j(r.geometry),t.symbol=null;const s=this.layerAdapter.getRenderer(t);if(!s){v.push(r);continue}const i=await D(t,{renderer:s,scale:this.view.scale,resolution:this.view.resolution,spatialReference:this.view.spatialReference,viewingMode:"2d",timeZone:this.view.timeZone});if(!i)continue;let a=null;const o=W(i);if("web-style"===o.type)try{const e=W(await o.fetchSymbol({acceptedFormats:["cim","web"]}));a="web-style"===e.type?null:e.symbol}catch(E){m(E),0;continue}else a=o.symbol;a&&e.set(r,a)}e.size>0&&!this._hittestDrawHelper&&(this._hittestDrawHelper=new T(this.view.stage.painter.textureManager.resourceManager));const{resolution:s,rotation:a}=this.view.state,o=ce(this.view,i);for(const[r,i]of e){if(!r)continue;this._hittestDrawHelper.hitTest(o,i,r.geometry,null,a,s,0,"rect")&&v.push(r)}}else v.push(...c);const _=[...y,...v],b=[...g,...p],S=[...f,...d],A=this.featureContainer.getSortKeys(_.map(e=>e.displayId)),F=({displayId:e},{displayId:t})=>A.has(e)&&A.has(t)?A.get(e)-A.get(t):e-t;_.sort(F).reverse(),b.sort(F).reverse();const x=has("parquetlayer-hittest-max-feature-count")??1;return"parquet"===this.layer.type&&_.length>x&&(_.length=x),[...b.map(r=>this._createAggregateGraphicHit(e,t.fromJSON(r))),...S.map(t=>this._createTrackGraphicHit(e,s.fromJSON(t))),..._.map(t=>this._createFeatureGraphicHit(a?null:e,r.fromJSON(t)))]}async queryAggregateSummaryStatistics(e,t,r){const s={...t,scale:this.view.scale},i=(await this.getWorker()).aggregates.executeQueryForSummaryStatistics(this._cleanUpAggregateQuery(e),s,r);return ue(i,{})}async queryUniqueValues(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForUniqueValues(this._cleanUpQuery(e),i,r);return ue(a,{uniqueValueInfos:[]})}async queryAggregateUniqueValues(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.aggregates.executeQueryForUniqueValues(this._cleanUpAggregateQuery(e),i,r);return ue(a,{uniqueValueInfos:[]})}async queryAggregateClassBreaks(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.aggregates.executeQueryForClassBreaks(this._cleanUpAggregateQuery(e),i,r);return ue(a,{classBreakInfos:[]})}async queryHistogram(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForHistogram(this._cleanUpQuery(e),i,r);return ue(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}async queryAggregateCount(e,t){const r=(await this.getWorker()).aggregates.executeQueryForCount(this._cleanUpAggregateQuery(e),t);return ue(r,0)}async queryAggregateHistogram(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.aggregates.executeQueryForHistogram(this._cleanUpAggregateQuery(e),i,r);return ue(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}async queryAggregateIds(e,t){const r=(await this.getWorker()).aggregates.executeQueryForIds(this._cleanUpAggregateQuery(e),t);return ue(r,[])}async queryAggregateJSON(e,t){const r=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t);return ue(r,{features:[]})}async queryAttributeBins(e,t){const r=(await this.getWorker()).features.executeAttributeBinsQuery(this._cleanUpAttributeBinsQuery(e),t),s=await ue(r,{features:[]});return M.fromJSON(s)}async queryAggregates(e,t){const r=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t),s=await ue(r,{features:[]}),i=q.fromJSON(s);return i.features.forEach(e=>this.layerAdapter.setAggregateGraphicOrigin?.(e)),i}async queryClassBreaks(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForClassBreaks(this._cleanUpQuery(e),i,r);return ue(a,{classBreakInfos:[]})}async queryExtent(e,t){const r=(await this.getWorker()).features.executeQueryForExtent(this._cleanUpQuery(e),t),s=await ue(r,{count:0,extent:null});return{count:s.count,extent:F.fromJSON(s.extent)}}async queryFeatureCount(e,t){const r=(await this.getWorker()).features.executeQueryForCount(this._cleanUpQuery(e),t);return ue(r,0)}queryFeatures(e,t){return this.queryFeaturesJSON(e,t).then(e=>{const t=P.fromJSON(e);return t.features.forEach(e=>this._setOriginForFeature(e)),t})}async queryFeaturesJSON(e,t){const r=(await this.getWorker()).features.executeQuery(this._cleanUpQuery(e),t);return ue(r,{features:[]})}async queryHeatmapStatistics(e){return(await this.getWorker()).pipeline.queryHeatmapStatistics(e)}async queryObjectIds(e,t){const r=(await this.getWorker()).features.executeQueryForIds(this._cleanUpQuery(e),t);return ue(r,[])}async queryStatistics(){const e=await this.getWorker();return ue(e.pipeline.queryStatistics(),{featureCount:0,ringCount:0,vertexCount:0})}async querySummaryStatistics(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForSummaryStatistics(this._cleanUpQuery(e),i,r);return ue(a,{})}async queryVisibleFeatures(e,t){const r=(await this.getWorker()).pipeline.queryVisibleFeatures(this._cleanUpQuery(e),t),s=await ue(r,{features:[]}),i=P.fromJSON(s);return i.features.forEach(e=>this._setOriginForFeature(e)),i}async getSampleFeatures(e){return(await this.getWorker()).pipeline.getSampleFeatures(e)}setVisibility(e,t){t?this._visibilityOverrides.delete(e):this._visibilityOverrides.add(e),this._update()}update(e){if(!this._subscriptions)return;this.view.animation&&!this._lastTargetState&&(this._lastTargetState=e.state.clone()),!this.view.animation&&this._lastTargetState&&(this._lastTargetState=null);const t=this.featureContainer.getPresenting(),r=this._subscriptions.update(e.targetState,this._lastTargetState,t);r&&(this.featureContainer.updateSubscriptions(r),d(this._updatingHandles.addPromise(this.getWorker().then(e=>e.pipeline.updateSubscriptions(r))))),this._subscriptions.coverage&&this.featureContainer.setCoverage(this._subscriptions.coverage)}attach(){has("esri-2d-update-debug")&&console.debug("FeatureLayerView2D.attach"),d(this._updatingHandles.addPromise(this._workerAttached.promise)),d(this._attachProxy()),this.featureContainer=new N(this),this.container.addChild(this.featureContainer),this.view.timeline.record(`${this.layer.title} (FeatureLayer) Attach`),this._subscriptions=new pe(this.view.featuresTilingScheme),this.requestUpdate(),this.addAttachHandles([fe([()=>this._displayRefreshVersion,()=>"displayFilterInfo"in this.layer&&this.layer.displayFilterInfo,()=>this.timeExtent,()=>this.clips,()=>this.filter,()=>this.effectiveDisplayFilterClause,()=>this.featureEffect,()=>this._sourceRefreshVersion,()=>this.view.timeZone,()=>this.view.timeExtent,...this.layerAdapter.getUpdateHashProperties(this.view)],()=>this._update()),g(()=>this.updateSuspended,e=>{e||this._subscriptions.resume(this.featureContainer.getPresenting())}),g(()=>this.view.stationary,async e=>{if(e){const e=await this.getWorker(),t=x(this.view.extent,this.view.rotation,this.view.center);e.pipeline.updateStationaryExtent(t.toJSON(),this.featureContainer.requiresRefresh)}})]),this._update(),"stream"!==this.layer.type&&"parquet"!==this.layer.type&&"catalog-footprint"!==this.layer.type&&this.addAttachHandles(this.layer.on("edits",e=>this._editUpdatingHandles.addPromise(this._edit(e))))}detach(){has("esri-2d-update-debug")&&console.debug("FeatureLayerView2D.detach"),this._detachProxy(),this._fields=null,this.featureContainer.destroy(),this.featureContainer=null,this._commandsQueue.clear(),this.container.removeAllChildren(),this._subscriptions=h(this._subscriptions),this._workerProxy.pipeline.onDetach(),this._workerAttached=Promise.withResolvers(),d(this._workerAttached.promise),this._lastAvailableFields=[],this._lastSchema=null}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}addOverrides(e){return this._commandsQueue.push({type:"override",options:{...e,release:[]}})}removeOverrides(e){for(const r of e)if(null==r)throw new o("featurelayerview:bad-override","Tried to remove an override for an invalid objectId",{objectId:r});const t={added:[],updated:[],removed:[],release:e,isWeak:!1,historicMoment:null};return this._commandsQueue.push({type:"override",options:t})}onProxyClientEvent(e){}hasRenderer(){return"renderer"in this.layer&&null!=this.layer.renderer}isUpdating(){const e=this.hasRenderer(),t=this._commandsQueue.updateTracking.updating,r=null!=this._updatingRequiredPromise,s=this.featureContainer.updating;return this.updateRequested||e&&(t||r)||s||this._pipelineUpdating||this.dataUpdating}_createClientOptions(){const e=this;return{updateSchemaStart:()=>e.updateSchemaStart(),updateSchemaEnd:t=>e.updateSchemaEnd(t),openMemoryPorts:async()=>{if(this.layerAdapter?.openMessagePorts){const e=await this.layerAdapter.openMessagePorts();return{result:e,transferList:e}}throw new Error("InternalError: Layer adapter does not support opening message ports")},get container(){return e.featureContainer},setUpdating:e=>{this._set("_pipelineUpdating",e.pipeline),this._set("_sourceUpdating",e.source)},emitEvent:e=>{this.onProxyClientEvent(e)},get eventLog(){return e.eventLog},fetch:async t=>{if(has("esri-2d-stabilize-glyphs")){const r=[];for(const s of t)r.push(await e.view.stage.painter.textureManager.rasterizeItem(s));return r}return Promise.all(t.map(t=>e.view.stage.painter.textureManager.rasterizeItem(t)))},fetchDictionary:e=>Promise.all(e.map(e=>this._fetchDictionaryRequest(e))),fetchMesh:e=>Promise.all(e.map(e=>this._fetchMeshRequest(e)))}}async _fetchDictionaryRequest(e){try{if("subtype-group"===this.layer.type)throw new Error("InternalError: SubtypeGroupLayer does not support dictionary renderer");const t=this.layer.renderer;if(!t||"dictionary"!==t.type)throw new Error("InternalError: Expected layer to have a DictionaryRenderer");const r=this._lastSchema.processor.mesh.factory.symbology;if("dictionary"!==r.type)throw new Error("InternalError: Expected schema to be of type 'dictionary'");const s={cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,store:this.featureContainer.instanceStore,scaleExpression:r.scaleExpression};this._fields||(this._fields=this.layer.fields.map(e=>e.toJSON()));const i=r.visualVariableUniforms,a=he(this.layer.geometryType),o=await t.getSymbolForControlString(e.controlString,a,!1);if(!o||!o.data)return{type:"dictionary-response",meshes:[]};return{type:"dictionary-response",meshes:await oe({...o.data,hasTextStringTemplates:!0},{uniforms:i,path:"renderer",schemaOptions:s})}}catch(t){return{type:"dictionary-response",meshes:[]}}}async _fetchMeshRequest(e){const{layer:t}=this;try{const r={cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,store:this.featureContainer.instanceStore,scaleExpression:null};this._fields||(this._fields=t.fields.map(e=>e.toJSON()));return{type:"mesh-response",meshes:await oe({...e.symbolReference,hasTextStringTemplates:!0},{path:"anno-like",schemaOptions:r,uniforms:{visualVariableColor:null,visualVariableOpacity:null,visualVariableRotation:null,visualVariableSizeStops:null,visualVariableSizeScaleStops:null,visualVariableSizeOutlineScaleStops:null,visualVariableSizeUnitValue:null,visualVariableSizeMinMaxValue:null}})}}catch(r){return{type:"mesh-response",meshes:[]}}}_cleanUpQuery(e){const t=L.from(e)||this.createQuery();return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),"returnZ"in this.layer&&(t.returnZ??=this.layer.returnZ),"returnM"in this.layer&&(t.returnM??=this.layer.returnM),t.toJSON()}_cleanUpAttributeBinsQuery(e){const t=H.from(e);return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),t.toJSON()}_cleanUpAggregateQuery(e){const t=L.from(e)||this.createAggregateQuery();t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference);const r=t.objectIds??[];for(const s of t.aggregateIds??[])r.push(s);return t.objectIds=r,t.aggregateIds=[],t.toJSON()}async _update(){return this._commandsQueue.push({type:"update"})}_edit(e){return this._commandsQueue.push({type:"edit",event:e})}async doRefresh(e){this.attached&&(this.updateSuspended&&e||(e?this.incrementSourceRefreshVersion():this.incrementDisplayRefreshVersion()))}incrementSourceRefreshVersion(){this._sourceRefreshVersion=(this._sourceRefreshVersion+1)%ge+1}incrementDisplayRefreshVersion(){this._displayRefreshVersion=(this._displayRefreshVersion+1)%ge+1}async _resolveIdenifiers(e){const t=[],r=[];for(const a of e)null==a.objectId||-1===a.objectId?null==a.globalId?u.getLogger(this).warn("mapview-apply-edits","A feature identifier must contain either a GlobalId or ObjectId. Ignoring",{identifier:a}):r.push(a.globalId):t.push(a.objectId);const s="globalIdField"in this.layer&&this.layer.globalIdField,i=s&&this.availableFields.includes(s);if(r.length&&!i)return u.getLogger(this).error(new o("mapview-apply-edits",`Editing the specified service requires the layer's globalIdField, ${s} to be included the layer's outFields for updates to be reflected on the map`)),t;if(r.length){const e=await this._workerProxy.pipeline.getObjectIdsFromGlobalIds(r);for(const r of e)t.push(r)}return t}_resolveOverrides(e){const t=!1,r=!1,s=he(this.layer.geometryType),i=X(this.layer),a=[];for(const n of e.added){const e=O(we(n),s,t,r,i);if(null==e.objectId)throw new o("featurelayerview:bad-override","Feature does not have an objectId",{feature:n});a.push(e)}for(const n of e.updated){const e=O(we(n),s,t,r,i);if(null==e.objectId)throw new o("featurelayerview:bad-override","Feature does not have an objectId",{feature:n});a.push(e)}for(const n of e.removed)if(null==n)throw new o("featurelayerview:bad-override","Tried to remove an invalid objectId",{objectId:n});return{type:"override",updates:a,removed:e.removed,release:e.release,isWeak:e.isWeak??!1,historicMoment:e.historicMoment??null}}async _resolveEdit(e){const t=this.layer,r=e.historicMoment?.getTime()??null,s="layerId"in t&&e.editedFeatures?.find(e=>e.layerId===t.layerId);if(s&&this._canEditByFeature(s)){const{adds:e,deletes:t,updates:i}=s.editedFeatures,a=this.layer.objectIdField,o=i.map(e=>e.current),n=t.map(e=>"attributes"in e?{objectId:a?e.attributes[a]:null}:e),l=await this._resolveIdenifiers(n);return this._resolveOverrides({added:e,updated:o,removed:l,historicMoment:r,isWeak:!0,release:[]})}const[i,a,o]=await Promise.all([this._resolveIdenifiers(e.addedFeatures),this._resolveIdenifiers(e.updatedFeatures),this._resolveIdenifiers(e.deletedFeatures)]);return{type:"override-by-id",updates:[...i,...a],removed:o,historicMoment:r,isWeak:!0}}_canEditByFeature(e){const{adds:t,updates:r}=e.editedFeatures;return t.every(e=>this.view.spatialReference.equals(e.geometry?.spatialReference))&&r.every(e=>this.view.spatialReference.equals(e.current.geometry?.spatialReference))}async updateSchemaStart(){const e=this.layer;"featureReduction"in e&&e.featureReduction&&e.featureReduction!==this._lastFeatureReduction&&(e.featureReduction=e.featureReduction?.clone(),this._lastFeatureReduction=e.featureReduction);try{if(await Promise.allSettled([this._handleChange(),R(e)]),this.destroyed||!this.layerAdapter?.hasRequiredSupport||!this._subscriptions)return null;const t=this.featureContainer.updateStart("subtype-group"===e.type);this._lastFeatureEffect=this.featureEffect;const r={store:t,cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,scaleExpression:void 0},s=await this._createViewSchemaConfig(),i={source:await this.layerAdapter.createSourceSchema(s,this._sourceRefreshVersion),processor:await this.layerAdapter.createProcessorSchema(r,s,this._displayRefreshVersion)};return c(this._lastSchema?.source.strategy,i.source.strategy)||c(this._lastSchema?.processor,i.processor)?(this._lastSchema=i,this._fields=null,i):null}catch(t){}return null}async updateSchemaEnd(e){try{this.featureEffectView.featureEffect=this._lastFeatureEffect,e&&this.featureEffectView.endTransition(),await this.featureContainer.updateEnd(this._lastSchema.processor,this.layerAdapter.getLabelingDeconflictionInfo(),e),has("esri-2d-update-debug")&&console.debug("FeatureLayerView2D.updateEnd")}catch(t){}}async _doUpdate(){const e=Math.round(performance.now()),t=await this.getWorker();await t.pipeline.updateSchema(e),this.requestUpdate()}async _doOverride(e){const t=await this.getWorker();try{let r=new ne;for(const s of e.messages)switch(s.type){case"edit":r.tryAdd(await this._resolveEdit(s.event))||(await t.pipeline.onOverride(r.toMessage()),r=new ne,r.tryAdd(await this._resolveEdit(s.event)));break;case"override":r.tryAdd(this._resolveOverrides(s.options))||(await t.pipeline.onOverride(r.toMessage()),r=new ne,r.tryAdd(this._resolveOverrides(s.options)));break}await t.pipeline.onOverride(r.toMessage())}catch(r){m(r),0}}_getEffectiveAvailableFields(e){const t=me(this._lastAvailableFields,e);return this._lastAvailableFields=t,V(this.layer.fieldsIndex,t)}async _createViewSchemaConfig(){const e=this.requiresCurrentUser?await this.signedInUser:null,t=[E(this.view,this.layerAdapter,this.timeExtent,this._visibilityOverrides,this.filter,this.effectiveDisplayFilterClause),this.featureEffect?.filter?.toJSON()??null];return{availableFields:this._getEffectiveAvailableFields(this.availableFields),displayFilterEnabled:this.displayFilterEnabled,filters:t,scale:this.view.scale,timeZone:this.view.timeZone,timeExtent:this.view.timeExtent,currentUser:e,spatialReference:this.view.spatialReference,extent:this.view.extent,returnZ:this.hasZ,returnM:this.hasM}}_processHighlight(){this._commandsQueue.push({type:"highlight"})}async _updateHighlights(){const e=this._getHighlights(),t=await this.getWorker();if(this.destroyed)return;const r=t.pipeline.updateHighlight({highlights:e}).catch(e=>{m(e)||u.getLogger(this).error(e)});this._updatingHandles.consumePromise(r)}_setOriginForFeature(e){e.layer=e.sourceLayer=this.layer,this.layerAdapter.setGraphicOrigin(e)}_createFeatureGraphicHit(e,t){return this._setOriginForFeature(t),this._createGraphicHit(e,t)}_createTrackGraphicHit(e,t){return t.layer=t.sourceLayer=this.layer,this.layerAdapter.setTrackGraphicOrigin?.(t),this._createGraphicHit(e,t)}_createAggregateGraphicHit(e,t){return t.layer=t.sourceLayer=this.layer,this.layerAdapter.setAggregateGraphicOrigin?.(t),this._createGraphicHit(e,t)}_createGraphicHit(e,t){return null!=t.geometry&&(t.geometry.spatialReference=this.view.spatialReference),{type:"graphic",graphic:t,layer:this.layer,mapPoint:e}}};function E(e,t,r,s,i,a){i&&(i=i.clone());const o=null!=i?i.timeExtent:null,n=null!=r&&null!=o?r.intersection(o):r||o;n&&(i??=new U,i.timeExtent=n),i=t.addFilters?.(i,e)??i,a&&(i??=new U,i.where=v(i.where,a));let l=i?.toJSON()??null;return s.size&&(l??=(new U).toJSON(),l.hiddenIds=Array.from(s)),l}return e([b()],_.prototype,"_commandsQueue",void 0),e([b()],_.prototype,"_sourceRefreshVersion",void 0),e([b()],_.prototype,"_displayRefreshVersion",void 0),e([b({readOnly:!0})],_.prototype,"_pipelineUpdating",void 0),e([b()],_.prototype,"_sourceUpdating",void 0),e([b({readOnly:!0})],_.prototype,"dataUpdating",null),e([b({readOnly:!0})],_.prototype,"hasAllFeatures",null),e([b({readOnly:!0})],_.prototype,"hasAllFeaturesInView",null),e([b({readOnly:!0})],_.prototype,"hasFullGeometries",null),e([b()],_.prototype,"featureEffectView",void 0),e([b()],_.prototype,"layerAdapter",null),e([b({readOnly:!0})],_.prototype,"timeExtent",null),_=e([S("esri.views.2d.layers.FeatureLikeLayerView2D")],_),_};export{ve as FeatureLikeLayerView2D};
2
+ import{__decorate as e}from"tslib";import t from"../../../AggregateGraphic.js";import r from"../../../Graphic.js";import s from"../../../TrackGraphic.js";import{isSome as i}from"../../../core/arrayUtils.js";import a from"../../../core/Collection.js";import o from"../../../core/Error.js";import{makeHandle as n,handlesGroup as l}from"../../../core/handleUtils.js";import has from"../../../core/has.js";import u from"../../../core/Logger.js";import{destroyMaybe as h}from"../../../core/maybe.js";import{notDeepEqual as c}from"../../../core/object.js";import{createAbortError as p,ignoreAbortErrors as d,throwIfNotAbortError as y,isAbortError as m}from"../../../core/promiseUtils.js";import{watch as g,sync as f}from"../../../core/reactiveUtils.js";import{isScreenRect as w}from"../../../core/screenUtils.js";import{sqlAnd as v}from"../../../core/sql.js";import{getMetersPerUnitForSR as _}from"../../../core/units.js";import{property as b,subclass as S}from"../../../core/accessorSupport/decorators.js";import{UpdatingHandles as A}from"../../../core/support/UpdatingHandles.js";import F from"../../../geometry/Extent.js";import{fromJSON as j}from"../../../geometry/support/jsonUtils.js";import x from"../../../geometry/support/rotate.js";import{isCurvedGeometry as E}from"../../../geometry/support/curves/curveUtils.js";import{densifyCurvedGeometry as I}from"../../../geometry/support/curves/densifyCurvedGeometry.js";import k from"../../../layers/effects/FeatureEffectView.js";import{convertFromFeature as O}from"../../../layers/graphics/featureConversionUtils.js";import U from"../../../layers/support/FeatureFilter.js";import{checkServiceCurrentUserSupport as R}from"../../../layers/support/featureLayerUtils.js";import{packFields as V}from"../../../layers/support/fieldUtils.js";import{getEffectiveLayerCapabilities as C}from"../../../layers/support/layerUtils.js";import{combineTimeExtent as Q}from"../../../layers/support/timeSupport.js";import q from"../../../rest/support/AggregateFeatureSet.js";import M from"../../../rest/support/AttributeBinsFeatureSet.js";import H from"../../../rest/support/AttributeBinsQuery.js";import P from"../../../rest/support/FeatureSet.js";import L from"../../../rest/support/Query.js";import{HittestDrawHelper as T}from"../../../symbols/cim/CIMSymbolDrawHelper.js";import{symbolToCIM as W}from"../../../symbols/cim/CIMSymbolHelper.js";import{getDisplayedSymbol as D}from"../../../symbols/support/symbolUtils.js";import{LayerView2D as G}from"./LayerView2D.js";import{FeatureContainer as N}from"./features/FeatureContainer.js";import{createFeaturePipelineWorkerProxy as J}from"./features/FeaturePipelineWorkerProxy.js";import{FeatureSourceEventLog as z}from"./features/FeatureSourceEventLog.js";import{AnnotationLayerAdapter as B}from"./features/layerAdapters/AnnotationLayerAdapter.js";import{CatalogFootprintLayerAdapter as Z}from"./features/layerAdapters/CatalogFootprintLayerAdapter.js";import{DimensionLayerAdapter as K}from"./features/layerAdapters/DimensionLayerAdapter.js";import{FeatureLayerAdapter as $}from"./features/layerAdapters/FeatureLayerAdapter.js";import{createFeatureIdInfo as X}from"./features/layerAdapters/featureServiceUtils.js";import{InMemoryLayerAdapter as Y}from"./features/layerAdapters/InMemoryLayerAdapter.js";import{KnowledgeGraphSublayerAdapter as ee}from"./features/layerAdapters/KnowledgeGraphSublayerAdapter.js";import{OGCFeatureLayerAdapter as te}from"./features/layerAdapters/OGCFeatureLayerAdapter.js";import{OrientedImageryLayerAdapter as re}from"./features/layerAdapters/OrientedImageryLayerAdapter.js";import{ParquetLayerAdapter as se}from"./features/layerAdapters/ParquetLayerAdapter.js";import{StreamLayerAdapter as ie}from"./features/layerAdapters/StreamLayerAdapter.js";import{SubtypeGroupLayerAdapter as ae}from"./features/layerAdapters/SubtypeGroupLayerAdapter.js";import{createComplexSymbolInstances as oe}from"./features/schema/processor/symbols/ComplexSymbolSchema.js";import{DebouncedFeatureOverride as ne}from"./support/DebouncedFeatureOverride.js";import{FeatureCommandQueue as le}from"./support/FeatureCommandQueue.js";import{handleNoEngineError as ue}from"./support/handleNoEngineError.js";import{toJSONGeometryType as he}from"./support/util.js";import{getMapPointsFromScreen as ce}from"../support/hitTestUtils.js";import{FeatureTileSubscriptionManager as pe}from"../tiling/FeatureTileSubscriptionManager.js";import{RefreshableLayerView as de}from"../../layers/RefreshableLayerView.js";import{getHighlightName as ye}from"../../support/highlightOptionsUtils.js";function me(e,t){const r=new Set;return e&&e.forEach(e=>r.add(e)),t&&t.forEach(e=>r.add(e)),r.has("*")?["*"]:Array.from(r)}const ge=4294967294;function fe(e,t){return l(e.map(e=>g(()=>{const t=e();return t&&"object"==typeof t?"getTime"in t&&"function"==typeof t.getTime?t.getTime():JSON.stringify(t):t},t,f)))}function we(e){if(!e.geometry)return e;if(!E(e.geometry))return e;const t=.001/_(e.geometry.spatialReference),r=100;return{geometry:I(e.geometry,{maxSegmentsPerCurve:12e3,maxSegmentLength:r*t,maxDeviation:0}),attributes:e.attributes}}const ve=l=>{const f=de(G(l));let _=class extends f{constructor(){super(...arguments),this._commandsQueue=new le({process:e=>{switch(e.type){case"override-batch":return this._doOverride(e);case"update":return this._doUpdate();case"highlight":return this._updateHighlights()}}}),this._visibilityOverrides=new Set,this._lastAvailableFields=[],this._lastTargetState=null,this.eventLog=new z,this._sourceRefreshVersion=1,this._displayRefreshVersion=1,this._pipelineUpdating=!1,this._editUpdatingHandles=new A,this._fields=null,this._hittestDrawHelper=null,this._sourceUpdating=!1,this.featureEffectView=new k}destroy(){this._editUpdatingHandles.destroy(),this._workerProxy?.destroy(),this._workerAttached.reject(p()),this._commandsQueue.destroy(),this._hittestDrawHelper?.destroy()}initialize(){this._workerAttached=Promise.withResolvers(),d(this._workerAttached.promise),this.addResolvingPromise(this._initProxy()),this.featureEffectView.featureEffect=this.featureEffect,this.featureEffectView.endTransition()}async _initProxy(){const e=this.layer;if("isTable"in e&&e.isTable)throw new o("featurelayerview:table-not-supported","table feature layer can't be displayed",{layer:e});if(("feature"===e.type||"subtype-group"===e.type)&&!1===C(e)?.operations.supportsQuery)throw new o("featurelayerview:query-not-supported","layer view requires a layer with query capability",{layer:e});this._workerProxy&&this._workerProxy.destroy();const t=this._createClientOptions();this._workerProxy=await J(t)}async _attachProxy(){const e=x(this.view.extent,this.view.rotation,this.view.center),t={tileInfoJSON:this.view?.featuresTilingScheme?.tileInfo?.toJSON(),initialViewExtent:e.toJSON()};try{await this._workerProxy.pipeline.onAttach(t),this._workerAttached.resolve()}catch(r){this._workerAttached.reject(p()),y(r)}}async _detachProxy(){return this._workerProxy.pipeline.onDetach()}async getWorker(){return await this._workerAttached.promise,this._workerProxy}get dataUpdating(){return this._sourceUpdating||this._editUpdatingHandles.updating}get hasAllFeatures(){return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&this.eventLog.willQueryAllFeatures}get hasAllFeaturesInView(){const e=this.effectiveDisplayFilter?.where||null,t=!this.eventLog.willQueryAllFeatures&&null!=e&&"1=1"!==e;return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&!t}get hasFullGeometries(){return this.layer.visible&&!this.suspended&&this.eventLog.hasAllData&&this.eventLog.willQueryFullResolutionGeometry}get layerAdapter(){switch(this.layer.type){case"annotation":return new B(this.layer);case"dimension-feature":return new K(this.layer);case"feature":return"memory"===this.layer.source.type?new Y(this.layer):new $(this.layer);case"geojson":case"csv":case"wfs":return new Y(this.layer);case"parquet":return new se(this.layer);case"subtype-group":return new ae(this.layer);case"ogc-feature":return new te(this.layer);case"stream":return new ie(this.layer);case"oriented-imagery":return new re(this.layer);case"knowledge-graph-sublayer":return new ee(this.layer);case"catalog-footprint":return new Z(this.layer);default:this.layer}return null}get timeExtent(){return Q(this.layerAdapter.timeOptions,this.view?.timeExtent,this._get("timeExtent"))}get usedMemory(){return this.container.usedMemory+this.eventLog.pipelineStatistics.usedMemory}getDisplayStatistics(e,t){return this.featureContainer?.getDisplayStatistics(e,t)}highlight(e,t){let s;e instanceof r?s=[e.getObjectId()]:"number"==typeof e||"string"==typeof e?s=[e]:a.isCollection(e)&&e.length>0?s=e.map(e=>e?.getObjectId()).toArray():Array.isArray(e)&&e.length>0&&(s="number"==typeof e[0]||"string"==typeof e[0]?e:e.map(e=>e?.getObjectId()));const o=s?.filter(i);if(!o?.length)return n();const l=ye(t);return this._addHighlights(o,l),n(()=>!this.destroyed&&this._removeHighlights(o,l))}async hitTest(e,i){const a=w(i),{trueHitIds:o,candidateHitIds:n}=await this.featureContainer.hitTest(i),l=await this.getWorker(),[u,h]=await Promise.all([l.pipeline.getDisplayFeatures(n),l.pipeline.getDisplayFeatures(o)]),{features:c,aggregates:p,tracks:d}=u,{features:y,aggregates:g,tracks:f}=h,v=[];if(a&&this.hasRenderer()){const e=new Map,t=new r;for(const r of c){t.attributes=r.attributes,t.geometry=j(r.geometry),t.symbol=null;const s=this.layerAdapter.getRenderer(t);if(!s){v.push(r);continue}const i=await D(t,{renderer:s,scale:this.view.scale,resolution:this.view.resolution,spatialReference:this.view.spatialReference,viewingMode:"2d",timeZone:this.view.timeZone});if(!i)continue;let a=null;const o=W(i);if("web-style"===o.type)try{const e=W(await o.fetchSymbol({acceptedFormats:["cim","web"]}));a="web-style"===e.type?null:e}catch(E){m(E),0;continue}else a=o;const n=a?.symbol;if(!n)continue;const l=this.view.stage.cimAnalyzer.analyzeSymbolReference(a,!1).some(e=>"alignment"in e&&0===e.alignment);e.set(r,{cimSymbol:n,isScreenAligned:l})}e.size>0&&!this._hittestDrawHelper&&(this._hittestDrawHelper=new T(this.view.stage.painter.textureManager.resourceManager));const{resolution:s,rotation:a}=this.view.state,o=ce(this.view,i);for(const[r,{cimSymbol:i,isScreenAligned:n}]of e){if(!r)continue;const e={hittestType:"rect",textInfo:null,mapRotation:a,resolution:s,searchDist:0,isScreenAligned:n};this._hittestDrawHelper.hitTest(o,i,r.geometry,e)&&v.push(r)}}else v.push(...c);const _=[...y,...v],b=[...g,...p],S=[...f,...d],A=this.featureContainer.getSortKeys(_.map(e=>e.displayId)),F=({displayId:e},{displayId:t})=>A.has(e)&&A.has(t)?A.get(e)-A.get(t):e-t;_.sort(F).reverse(),b.sort(F).reverse();const x=has("parquetlayer-hittest-max-feature-count")??1;return"parquet"===this.layer.type&&_.length>x&&(_.length=x),[...b.map(r=>this._createAggregateGraphicHit(e,t.fromJSON(r))),...S.map(t=>this._createTrackGraphicHit(e,s.fromJSON(t))),..._.map(t=>this._createFeatureGraphicHit(a?null:e,r.fromJSON(t)))]}async queryAggregateSummaryStatistics(e,t,r){const s={...t,scale:this.view.scale},i=(await this.getWorker()).aggregates.executeQueryForSummaryStatistics(this._cleanUpAggregateQuery(e),s,r);return ue(i,{})}async queryUniqueValues(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForUniqueValues(this._cleanUpQuery(e),i,r);return ue(a,{uniqueValueInfos:[]})}async queryAggregateUniqueValues(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.aggregates.executeQueryForUniqueValues(this._cleanUpAggregateQuery(e),i,r);return ue(a,{uniqueValueInfos:[]})}async queryAggregateClassBreaks(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.aggregates.executeQueryForClassBreaks(this._cleanUpAggregateQuery(e),i,r);return ue(a,{classBreakInfos:[]})}async queryHistogram(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForHistogram(this._cleanUpQuery(e),i,r);return ue(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}async queryAggregateCount(e,t){const r=(await this.getWorker()).aggregates.executeQueryForCount(this._cleanUpAggregateQuery(e),t);return ue(r,0)}async queryAggregateHistogram(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.aggregates.executeQueryForHistogram(this._cleanUpAggregateQuery(e),i,r);return ue(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}async queryAggregateIds(e,t){const r=(await this.getWorker()).aggregates.executeQueryForIds(this._cleanUpAggregateQuery(e),t);return ue(r,[])}async queryAggregateJSON(e,t){const r=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t);return ue(r,{features:[]})}async queryAttributeBins(e,t){const r=(await this.getWorker()).features.executeAttributeBinsQuery(this._cleanUpAttributeBinsQuery(e),t),s=await ue(r,{features:[]});return M.fromJSON(s)}async queryAggregates(e,t){const r=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t),s=await ue(r,{features:[]}),i=q.fromJSON(s);return i.features.forEach(e=>this.layerAdapter.setAggregateGraphicOrigin?.(e)),i}async queryClassBreaks(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForClassBreaks(this._cleanUpQuery(e),i,r);return ue(a,{classBreakInfos:[]})}async queryExtent(e,t){const r=(await this.getWorker()).features.executeQueryForExtent(this._cleanUpQuery(e),t),s=await ue(r,{count:0,extent:null});return{count:s.count,extent:F.fromJSON(s.extent)}}async queryFeatureCount(e,t){const r=(await this.getWorker()).features.executeQueryForCount(this._cleanUpQuery(e),t);return ue(r,0)}queryFeatures(e,t){return this.queryFeaturesJSON(e,t).then(e=>{const t=P.fromJSON(e);return t.features.forEach(e=>this._setOriginForFeature(e)),t})}async queryFeaturesJSON(e,t){const r=(await this.getWorker()).features.executeQuery(this._cleanUpQuery(e),t);return ue(r,{features:[]})}async queryHeatmapStatistics(e){return(await this.getWorker()).pipeline.queryHeatmapStatistics(e)}async queryObjectIds(e,t){const r=(await this.getWorker()).features.executeQueryForIds(this._cleanUpQuery(e),t);return ue(r,[])}async queryStatistics(){const e=await this.getWorker();return ue(e.pipeline.queryStatistics(),{featureCount:0,ringCount:0,vertexCount:0})}async querySummaryStatistics(e,t,r){const s=await this.getWorker(),i={...t,scale:this.view.scale},a=s.features.executeQueryForSummaryStatistics(this._cleanUpQuery(e),i,r);return ue(a,{})}async queryVisibleFeatures(e,t){const r=(await this.getWorker()).pipeline.queryVisibleFeatures(this._cleanUpQuery(e),t),s=await ue(r,{features:[]}),i=P.fromJSON(s);return i.features.forEach(e=>this._setOriginForFeature(e)),i}async getSampleFeatures(e){return(await this.getWorker()).pipeline.getSampleFeatures(e)}setVisibility(e,t){t?this._visibilityOverrides.delete(e):this._visibilityOverrides.add(e),this._update()}update(e){if(!this._subscriptions)return;this.view.animation&&!this._lastTargetState&&(this._lastTargetState=e.state.clone()),!this.view.animation&&this._lastTargetState&&(this._lastTargetState=null);const t=this.featureContainer.getPresenting(),r=this._subscriptions.update(e.targetState,this._lastTargetState,t);r&&(this.featureContainer.updateSubscriptions(r),d(this._updatingHandles.addPromise(this.getWorker().then(e=>e.pipeline.updateSubscriptions(r))))),this._subscriptions.coverage&&this.featureContainer.setCoverage(this._subscriptions.coverage)}attach(){has("esri-2d-update-debug")&&console.debug("FeatureLayerView2D.attach"),d(this._updatingHandles.addPromise(this._workerAttached.promise)),d(this._attachProxy()),this.featureContainer=new N(this),this.container.addChild(this.featureContainer),this.view.timeline.record(`${this.layer.title} (FeatureLayer) Attach`),this._subscriptions=new pe(this.view.featuresTilingScheme),this.requestUpdate(),this.addAttachHandles([fe([()=>this._displayRefreshVersion,()=>"displayFilterInfo"in this.layer&&this.layer.displayFilterInfo,()=>this.timeExtent,()=>this.clips,()=>this.filter,()=>this.effectiveDisplayFilterClause,()=>this.featureEffect,()=>this._sourceRefreshVersion,()=>this.view.timeZone,()=>this.view.timeExtent,...this.layerAdapter.getUpdateHashProperties(this.view)],()=>this._update()),g(()=>this.updateSuspended,e=>{e||this._subscriptions.resume(this.featureContainer.getPresenting())}),g(()=>this.view.stationary,async e=>{if(e){const e=await this.getWorker(),t=x(this.view.extent,this.view.rotation,this.view.center);e.pipeline.updateStationaryExtent(t.toJSON(),this.featureContainer.requiresRefresh)}})]),this._update(),"stream"!==this.layer.type&&"parquet"!==this.layer.type&&"catalog-footprint"!==this.layer.type&&this.addAttachHandles(this.layer.on("edits",e=>this._editUpdatingHandles.addPromise(this._edit(e))))}detach(){has("esri-2d-update-debug")&&console.debug("FeatureLayerView2D.detach"),this._detachProxy(),this._fields=null,this.featureContainer.destroy(),this.featureContainer=null,this._commandsQueue.clear(),this.container.removeAllChildren(),this._subscriptions=h(this._subscriptions),this._workerProxy.pipeline.onDetach(),this._workerAttached=Promise.withResolvers(),d(this._workerAttached.promise),this._lastAvailableFields=[],this._lastSchema=null}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}addOverrides(e){return this._commandsQueue.push({type:"override",options:{...e,release:[]}})}removeOverrides(e){for(const r of e)if(null==r)throw new o("featurelayerview:bad-override","Tried to remove an override for an invalid objectId",{objectId:r});const t={added:[],updated:[],removed:[],release:e,isWeak:!1,historicMoment:null};return this._commandsQueue.push({type:"override",options:t})}onProxyClientEvent(e){}hasRenderer(){return"renderer"in this.layer&&null!=this.layer.renderer}isUpdating(){const e=this.hasRenderer(),t=this._commandsQueue.updateTracking.updating,r=null!=this._updatingRequiredPromise,s=this.featureContainer.updating;return this.updateRequested||e&&(t||r)||s||this._pipelineUpdating||this.dataUpdating}_createClientOptions(){const e=this;return{updateSchemaStart:()=>e.updateSchemaStart(),updateSchemaEnd:t=>e.updateSchemaEnd(t),openMemoryPorts:async()=>{if(this.layerAdapter?.openMessagePorts){const e=await this.layerAdapter.openMessagePorts();return{result:e,transferList:e}}throw new Error("InternalError: Layer adapter does not support opening message ports")},get container(){return e.featureContainer},setUpdating:e=>{this._set("_pipelineUpdating",e.pipeline),this._set("_sourceUpdating",e.source)},emitEvent:e=>{this.onProxyClientEvent(e)},get eventLog(){return e.eventLog},fetch:async t=>{if(has("esri-2d-stabilize-glyphs")){const r=[];for(const s of t)r.push(await e.view.stage.painter.textureManager.rasterizeItem(s));return r}return Promise.all(t.map(t=>e.view.stage.painter.textureManager.rasterizeItem(t)))},fetchDictionary:e=>Promise.all(e.map(e=>this._fetchDictionaryRequest(e))),fetchMesh:e=>Promise.all(e.map(e=>this._fetchMeshRequest(e)))}}async _fetchDictionaryRequest(e){try{if(!("renderer"in this.layer)||!this.layer.renderer||"dictionary"!==this.layer.renderer.type)throw new Error("InternalError: Expected renderer to be of type 'dictionary'");const t=this.layer.renderer,r=this._lastSchema.processor.mesh.factory.symbology;if("dictionary"!==r.type)throw new Error("InternalError: Expected schema to be of type 'dictionary'");const s={cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,store:this.featureContainer.instanceStore,scaleExpression:r.scaleExpression};this._fields||(this._fields=this.layer.fields.map(e=>e.toJSON()));const i=r.visualVariableUniforms,a=he(this.layer.geometryType),o=await t.getSymbolForControlString(e.controlString,a,!1);if(!o||!o.data)return{type:"dictionary-response",meshes:[]};return{type:"dictionary-response",meshes:await oe({...o.data,hasTextStringTemplates:!0},{uniforms:i,path:"renderer",schemaOptions:s})}}catch(t){return{type:"dictionary-response",meshes:[]}}}async _fetchMeshRequest(e){const{layer:t}=this;try{const r={cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,store:this.featureContainer.instanceStore,scaleExpression:null};this._fields||(this._fields=t.fields.map(e=>e.toJSON()));return{type:"mesh-response",meshes:await oe({...e.symbolReference,hasTextStringTemplates:!0},{path:"anno-like",schemaOptions:r,uniforms:{visualVariableColor:null,visualVariableOpacity:null,visualVariableRotation:null,visualVariableSizeStops:null,visualVariableSizeScaleStops:null,visualVariableSizeOutlineScaleStops:null,visualVariableSizeUnitValue:null,visualVariableSizeMinMaxValue:null}})}}catch(r){return{type:"mesh-response",meshes:[]}}}_cleanUpQuery(e){const t=L.from(e)||this.createQuery();return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),"returnZ"in this.layer&&(t.returnZ??=this.layer.returnZ),"returnM"in this.layer&&(t.returnM??=this.layer.returnM),t.toJSON()}_cleanUpAttributeBinsQuery(e){const t=H.from(e);return t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference),t.toJSON()}_cleanUpAggregateQuery(e){const t=L.from(e)||this.createAggregateQuery();t.outSpatialReference||(t.outSpatialReference=this.view.spatialReference);const r=t.objectIds??[];for(const s of t.aggregateIds??[])r.push(s);return t.objectIds=r,t.aggregateIds=[],t.toJSON()}async _update(){return this._commandsQueue.push({type:"update"})}_edit(e){return this._commandsQueue.push({type:"edit",event:e})}async doRefresh(e){this.attached&&(this.updateSuspended&&e||(e?this.incrementSourceRefreshVersion():this.incrementDisplayRefreshVersion()))}incrementSourceRefreshVersion(){this._sourceRefreshVersion=(this._sourceRefreshVersion+1)%ge+1}incrementDisplayRefreshVersion(){this._displayRefreshVersion=(this._displayRefreshVersion+1)%ge+1}async _resolveIdenifiers(e){const t=[],r=[];for(const a of e)null==a.objectId||-1===a.objectId?null==a.globalId?u.getLogger(this).warn("mapview-apply-edits","A feature identifier must contain either a GlobalId or ObjectId. Ignoring",{identifier:a}):r.push(a.globalId):t.push(a.objectId);const s="globalIdField"in this.layer&&this.layer.globalIdField,i=s&&this.availableFields.includes(s);if(r.length&&!i)return u.getLogger(this).error(new o("mapview-apply-edits",`Editing the specified service requires the layer's globalIdField, ${s} to be included the layer's outFields for updates to be reflected on the map`)),t;if(r.length){const e=await this._workerProxy.pipeline.getObjectIdsFromGlobalIds(r);for(const r of e)t.push(r)}return t}_resolveOverrides(e){const t=!1,r=!1,s=he(this.layer.geometryType),i=X(this.layer),a=[];for(const n of e.added){const e=O(we(n),s,t,r,i);if(null==e.objectId)throw new o("featurelayerview:bad-override","Feature does not have an objectId",{feature:n});a.push(e)}for(const n of e.updated){const e=O(we(n),s,t,r,i);if(null==e.objectId)throw new o("featurelayerview:bad-override","Feature does not have an objectId",{feature:n});a.push(e)}for(const n of e.removed)if(null==n)throw new o("featurelayerview:bad-override","Tried to remove an invalid objectId",{objectId:n});return{type:"override",updates:a,removed:e.removed,release:e.release,isWeak:e.isWeak??!1,historicMoment:e.historicMoment??null}}async _resolveEdit(e){const t=this.layer,r=e.historicMoment?.getTime()??null,s="layerId"in t&&e.editedFeatures?.find(e=>e.layerId===t.layerId);if(s&&this._canEditByFeature(s)){const{adds:e,deletes:t,updates:i}=s.editedFeatures,a=this.layer.objectIdField,o=i.map(e=>e.current),n=t.map(e=>"attributes"in e?{objectId:a?e.attributes[a]:null}:e),l=await this._resolveIdenifiers(n);return this._resolveOverrides({added:e,updated:o,removed:l,historicMoment:r,isWeak:!0,release:[]})}const[i,a,o]=await Promise.all([this._resolveIdenifiers(e.addedFeatures),this._resolveIdenifiers(e.updatedFeatures),this._resolveIdenifiers(e.deletedFeatures)]);return{type:"override-by-id",updates:[...i,...a],removed:o,historicMoment:r,isWeak:!0}}_canEditByFeature(e){const{adds:t,updates:r}=e.editedFeatures;return t.every(e=>this.view.spatialReference.equals(e.geometry?.spatialReference))&&r.every(e=>this.view.spatialReference.equals(e.current.geometry?.spatialReference))}async updateSchemaStart(){const e=this.layer;"featureReduction"in e&&e.featureReduction&&e.featureReduction!==this._lastFeatureReduction&&(e.featureReduction=e.featureReduction?.clone(),this._lastFeatureReduction=e.featureReduction);try{if(await Promise.allSettled([this._handleChange(),R(e)]),this.destroyed||!this.layerAdapter?.hasRequiredSupport||!this._subscriptions)return null;const t=this.featureContainer.updateStart("subtype-group"===e.type);this._lastFeatureEffect=this.featureEffect;const r={store:t,cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,scaleExpression:void 0},s=await this._createViewSchemaConfig(),i={source:await this.layerAdapter.createSourceSchema(s,this._sourceRefreshVersion),processor:await this.layerAdapter.createProcessorSchema(r,s,this._displayRefreshVersion)};return c(this._lastSchema?.source.strategy,i.source.strategy)||c(this._lastSchema?.processor,i.processor)?(this._lastSchema=i,this._fields=null,i):null}catch(t){}return null}async updateSchemaEnd(e){try{this.featureEffectView.featureEffect=this._lastFeatureEffect,e&&this.featureEffectView.endTransition(),await this.featureContainer.updateEnd(this._lastSchema.processor,this.layerAdapter.getLabelingDeconflictionInfo(),e),has("esri-2d-update-debug")&&console.debug("FeatureLayerView2D.updateEnd")}catch(t){}}async _doUpdate(){const e=Math.round(performance.now()),t=await this.getWorker();await t.pipeline.updateSchema(e),this.requestUpdate()}async _doOverride(e){const t=await this.getWorker();try{let r=new ne;for(const s of e.messages)switch(s.type){case"edit":r.tryAdd(await this._resolveEdit(s.event))||(await t.pipeline.onOverride(r.toMessage()),r=new ne,r.tryAdd(await this._resolveEdit(s.event)));break;case"override":r.tryAdd(this._resolveOverrides(s.options))||(await t.pipeline.onOverride(r.toMessage()),r=new ne,r.tryAdd(this._resolveOverrides(s.options)));break}await t.pipeline.onOverride(r.toMessage())}catch(r){m(r),0}}_getEffectiveAvailableFields(e){const t=me(this._lastAvailableFields,e);return this._lastAvailableFields=t,V(this.layer.fieldsIndex,t)}async _createViewSchemaConfig(){const e=this.requiresCurrentUser?await this.signedInUser:null,t=[E(this.view,this.layerAdapter,this.timeExtent,this._visibilityOverrides,this.filter,this.effectiveDisplayFilterClause),this.featureEffect?.filter?.toJSON()??null];return{availableFields:this._getEffectiveAvailableFields(this.availableFields),displayFilterEnabled:this.displayFilterEnabled,filters:t,scale:this.view.scale,timeZone:this.view.timeZone,timeExtent:this.view.timeExtent,currentUser:e,spatialReference:this.view.spatialReference,extent:this.view.extent,returnZ:this.hasZ,returnM:this.hasM}}_processHighlight(){this._commandsQueue.push({type:"highlight"})}async _updateHighlights(){const e=this._getHighlights(),t=await this.getWorker();if(this.destroyed)return;const r=t.pipeline.updateHighlight({highlights:e}).catch(e=>{m(e)||u.getLogger(this).error(e)});this._updatingHandles.consumePromise(r)}_setOriginForFeature(e){e.layer=e.sourceLayer=this.layer,this.layerAdapter.setGraphicOrigin(e)}_createFeatureGraphicHit(e,t){return this._setOriginForFeature(t),this._createGraphicHit(e,t)}_createTrackGraphicHit(e,t){return t.layer=t.sourceLayer=this.layer,this.layerAdapter.setTrackGraphicOrigin?.(t),this._createGraphicHit(e,t)}_createAggregateGraphicHit(e,t){return t.layer=t.sourceLayer=this.layer,this.layerAdapter.setAggregateGraphicOrigin?.(t),this._createGraphicHit(e,t)}_createGraphicHit(e,t){return null!=t.geometry&&(t.geometry.spatialReference=this.view.spatialReference),{type:"graphic",graphic:t,layer:this.layer,mapPoint:e}}};function E(e,t,r,s,i,a){i&&(i=i.clone());const o=null!=i?i.timeExtent:null,n=null!=r&&null!=o?r.intersection(o):r||o;n&&(i??=new U,i.timeExtent=n),i=t.addFilters?.(i,e)??i,a&&(i??=new U,i.where=v(i.where,a));let l=i?.toJSON()??null;return s.size&&(l??=(new U).toJSON(),l.hiddenIds=Array.from(s)),l}return e([b()],_.prototype,"_commandsQueue",void 0),e([b()],_.prototype,"_sourceRefreshVersion",void 0),e([b()],_.prototype,"_displayRefreshVersion",void 0),e([b({readOnly:!0})],_.prototype,"_pipelineUpdating",void 0),e([b()],_.prototype,"_sourceUpdating",void 0),e([b({readOnly:!0})],_.prototype,"dataUpdating",null),e([b({readOnly:!0})],_.prototype,"hasAllFeatures",null),e([b({readOnly:!0})],_.prototype,"hasAllFeaturesInView",null),e([b({readOnly:!0})],_.prototype,"hasFullGeometries",null),e([b()],_.prototype,"featureEffectView",void 0),e([b()],_.prototype,"layerAdapter",null),e([b({readOnly:!0})],_.prototype,"timeExtent",null),_=e([S("esri.views.2d.layers.FeatureLikeLayerView2D")],_),_};export{ve as FeatureLikeLayerView2D};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import r from"../../../PopupTemplate.js";import i from"../../../core/Collection.js";import{watch as s,initial as t}from"../../../core/reactiveUtils.js";import{subclass as o}from"../../../core/accessorSupport/decorators.js";import a from"../../../graphic/GeoRSSGraphicOrigin.js";import p from"../../../renderers/SimpleRenderer.js";import{fromJSON as l}from"../../../renderers/support/jsonUtils.js";import h from"../../../rest/support/FeatureSet.js";import{LayerView2D as n}from"./LayerView2D.js";import c from"./graphics/GraphicContainer.js";import m from"./graphics/GraphicsView2D.js";import y from"../../layers/GeoRSSLayerView.js";let g=class extends(n(y)){constructor(){super(...arguments),this._graphicsViewMap={},this.graphicsViews=[]}async hitTest(e,r){if(!this.graphicsViews.length)return null;const i=this.layer;return this.graphicsViews.reverse().flatMap(e=>e.hitTest(this.view,r)).map(r=>({type:"graphic",graphic:r,layer:i,mapPoint:e}))}update(e){if(this.graphicsViews)for(const r of this.graphicsViews)r.processUpdate(e)}attach(){this.addAttachHandles([s(()=>this.layer?.featureCollections,e=>{this._clear();const{layer:s}=this,t=new a(this.layer);for(const{popupInfo:o,featureSet:a,layerDefinition:p}of e){const e=h.fromJSON(a),n=new i(e.features),y=o?r.fromJSON(o):null;n.forEach(e=>{e.layer=s,e.sourceLayer=s,e.popupTemplate=y,e.origin=t});const g=p.drawingInfo,f=l(g.renderer),w=new m({requestUpdateCallback:()=>this.requestUpdate(),view:this.view,graphics:n,renderer:f,container:new c(this.view.featuresTilingScheme)});this._graphicsViewMap[e.geometryType]=w,"polygon"!==e.geometryType||this.layer.polygonSymbol?"polyline"!==e.geometryType||this.layer.lineSymbol?"point"!==e.geometryType||this.layer.pointSymbol||(this.layer.pointSymbol=f.symbol):this.layer.lineSymbol=f.symbol:this.layer.polygonSymbol=f.symbol,this.graphicsViews.push(w),this.container.addChild(w.container)}},t),s(()=>this.layer?.polygonSymbol,e=>{this._graphicsViewMap.polygon.renderer=new p({symbol:e})},t),s(()=>this.layer?.lineSymbol,e=>{this._graphicsViewMap.polyline.renderer=new p({symbol:e})},t),s(()=>this.layer?.pointSymbol,e=>{this._graphicsViewMap.point.renderer=new p({symbol:e})},t)])}detach(){this._clear()}moveEnd(){}viewChange(){for(const e of this.graphicsViews)e.viewChange()}_clear(){this.container.removeAllChildren();for(const e of this.graphicsViews)e.destroy();this._graphicsViewMap={},this.graphicsViews.length=0}};g=e([o("esri.views.2d.layers.GeoRSSLayerView2D")],g);const f=g;export{f as default};
2
+ import{__decorate as e}from"tslib";import r from"../../../PopupTemplate.js";import i from"../../../core/Collection.js";import{watch as s,initial as t}from"../../../core/reactiveUtils.js";import{isScreenRect as o}from"../../../core/screenUtils.js";import{subclass as a}from"../../../core/accessorSupport/decorators.js";import p from"../../../graphic/GeoRSSGraphicOrigin.js";import l from"../../../renderers/SimpleRenderer.js";import{fromJSON as n}from"../../../renderers/support/jsonUtils.js";import h from"../../../rest/support/FeatureSet.js";import{LayerView2D as c}from"./LayerView2D.js";import m from"./graphics/GraphicContainer.js";import y from"./graphics/GraphicsView2D.js";import g from"../../layers/GeoRSSLayerView.js";let f=class extends(c(g)){constructor(){super(...arguments),this._graphicsViewMap={},this.graphicsViews=[]}async hitTest(e,r){if(!this.graphicsViews.length)return null;const i=this.layer;return this.graphicsViews.reverse().flatMap(e=>e.hitTest(this.view,r)).map(s=>({type:"graphic",graphic:s,layer:i,mapPoint:o(r)?null:e}))}update(e){if(this.graphicsViews)for(const r of this.graphicsViews)r.processUpdate(e)}attach(){this.addAttachHandles([s(()=>this.layer?.featureCollections,e=>{this._clear();const{layer:s}=this,t=new p(this.layer);for(const{popupInfo:o,featureSet:a,layerDefinition:p}of e){const e=h.fromJSON(a),l=new i(e.features),c=o?r.fromJSON(o):null;l.forEach(e=>{e.layer=s,e.sourceLayer=s,e.popupTemplate=c,e.origin=t});const g=p.drawingInfo,f=n(g.renderer),w=new y({requestUpdateCallback:()=>this.requestUpdate(),view:this.view,graphics:l,renderer:f,container:new m(this.view.featuresTilingScheme)});this._graphicsViewMap[e.geometryType]=w,"polygon"!==e.geometryType||this.layer.polygonSymbol?"polyline"!==e.geometryType||this.layer.lineSymbol?"point"!==e.geometryType||this.layer.pointSymbol||(this.layer.pointSymbol=f.symbol):this.layer.lineSymbol=f.symbol:this.layer.polygonSymbol=f.symbol,this.graphicsViews.push(w),this.container.addChild(w.container)}},t),s(()=>this.layer?.polygonSymbol,e=>{this._graphicsViewMap.polygon.renderer=new l({symbol:e})},t),s(()=>this.layer?.lineSymbol,e=>{this._graphicsViewMap.polyline.renderer=new l({symbol:e})},t),s(()=>this.layer?.pointSymbol,e=>{this._graphicsViewMap.point.renderer=new l({symbol:e})},t)])}detach(){this._clear()}moveEnd(){}viewChange(){for(const e of this.graphicsViews)e.viewChange()}_clear(){this.container.removeAllChildren();for(const e of this.graphicsViews)e.destroy();this._graphicsViewMap={},this.graphicsViews.length=0}};f=e([a("esri.views.2d.layers.GeoRSSLayerView2D")],f);const w=f;export{w as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as i}from"tslib";import e from"../../../Graphic.js";import{isSome as t}from"../../../core/arrayUtils.js";import r from"../../../core/Collection.js";import{makeHandle as s}from"../../../core/handleUtils.js";import{destroyMaybe as h}from"../../../core/maybe.js";import{when as a}from"../../../core/reactiveUtils.js";import{property as p,subclass as o}from"../../../core/accessorSupport/decorators.js";import{LayerView2D as c}from"./LayerView2D.js";import g from"./graphics/GraphicContainer.js";import l from"./graphics/GraphicsView2D.js";import n from"../../layers/GraphicsLayerView.js";import{getHighlightName as m}from"../../support/highlightOptionsUtils.js";let d=class extends(c(n)){attach(){this.graphicsView=new l({requestUpdateCallback:()=>this.requestUpdate(),view:this.view,graphics:this.layer.graphics,container:new g(this.view.featuresTilingScheme),layerId:this.layer.id}),this.container.addChild(this.graphicsView.container),this.addAttachHandles([this.layer.on("graphic-update",this.graphicsView.graphicUpdateHandler),a(()=>this.layer?.visible,()=>{this.graphicsView.update({state:this.view.state}),this.graphicsView.pushUpdate()})]),this._processHighlight()}detach(){this.container.removeAllChildren(),this.graphicsView=h(this.graphicsView)}async hitTest(i,e){return this.graphicsView?this.graphicsView.hitTest(this.view,e).map(e=>({type:"graphic",graphic:e,mapPoint:i,layer:this.layer})):null}queryGraphics(){return Promise.resolve(this.graphicsView.graphics)}update(i){this.graphicsView.processUpdate(i)}viewChange(){this.graphicsView.viewChange()}moveEnd(){}isUpdating(){return!this.graphicsView||this.graphicsView.updating}highlight(i,h){let a;"number"==typeof i?a=[i]:i instanceof e?a=[i.uid]:Array.isArray(i)&&i.length>0?a="number"==typeof i[0]?i:i.map(i=>i&&i.uid):r.isCollection(i)&&i.length>0&&(a=i.map(i=>i&&i.uid).toArray());const p=a?.filter(t);if(!p?.length)return s();const o=m(h);return this._addHighlights(p,o),s(()=>!this.destroyed&&this._removeHighlights(p,o))}_processHighlight(){const i=this._getHighlights();this.graphicsView?.setHighlight(i)}};i([p()],d.prototype,"graphicsView",void 0),d=i([o("esri.views.2d.layers.GraphicsLayerView2D")],d);const w=d;export{w as default};
2
+ import{__decorate as i}from"tslib";import e from"../../../Graphic.js";import{isSome as r}from"../../../core/arrayUtils.js";import t from"../../../core/Collection.js";import{makeHandle as s}from"../../../core/handleUtils.js";import{destroyMaybe as h}from"../../../core/maybe.js";import{when as a}from"../../../core/reactiveUtils.js";import{isScreenRect as p}from"../../../core/screenUtils.js";import{property as o,subclass as c}from"../../../core/accessorSupport/decorators.js";import{LayerView2D as l}from"./LayerView2D.js";import g from"./graphics/GraphicContainer.js";import n from"./graphics/GraphicsView2D.js";import m from"../../layers/GraphicsLayerView.js";import{getHighlightName as d}from"../../support/highlightOptionsUtils.js";let w=class extends(l(m)){attach(){this.graphicsView=new n({requestUpdateCallback:()=>this.requestUpdate(),view:this.view,graphics:this.layer.graphics,container:new g(this.view.featuresTilingScheme),layerId:this.layer.id}),this.container.addChild(this.graphicsView.container),this.addAttachHandles([this.layer.on("graphic-update",this.graphicsView.graphicUpdateHandler),a(()=>this.layer?.visible,()=>{this.graphicsView.update({state:this.view.state}),this.graphicsView.pushUpdate()})]),this._processHighlight()}detach(){this.container.removeAllChildren(),this.graphicsView=h(this.graphicsView)}async hitTest(i,e){return this.graphicsView?this.graphicsView.hitTest(this.view,e).map(r=>({type:"graphic",graphic:r,mapPoint:p(e)?null:i,layer:this.layer})):null}queryGraphics(){return Promise.resolve(this.graphicsView.graphics)}update(i){this.graphicsView.processUpdate(i)}viewChange(){this.graphicsView.viewChange()}moveEnd(){}isUpdating(){return!this.graphicsView||this.graphicsView.updating}highlight(i,h){let a;"number"==typeof i?a=[i]:i instanceof e?a=[i.uid]:Array.isArray(i)&&i.length>0?a="number"==typeof i[0]?i:i.map(i=>i&&i.uid):t.isCollection(i)&&i.length>0&&(a=i.map(i=>i&&i.uid).toArray());const p=a?.filter(r);if(!p?.length)return s();const o=d(h);return this._addHighlights(p,o),s(()=>!this.destroyed&&this._removeHighlights(p,o))}_processHighlight(){const i=this._getHighlights();this.graphicsView?.setHighlight(i)}};i([o()],w.prototype,"graphicsView",void 0),w=i([c("esri.views.2d.layers.GraphicsLayerView2D")],w);const u=w;export{u as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import i from"../../../Graphic.js";import{isSome as e}from"../../../core/arrayUtils.js";import s from"../../../core/Collection.js";import{makeHandle as r}from"../../../core/handleUtils.js";import"../../../core/has.js";import{QueueProcessor as h}from"../../../core/QueueProcessor.js";import{watch as a,sync as o}from"../../../core/reactiveUtils.js";import{property as n,subclass as l}from"../../../core/accessorSupport/decorators.js";import{convertGeometryToMask as g}from"../../../layers/raster/functions/clipUtils.js";import{GraphicsCollection as p}from"../../../support/GraphicsCollection.js";import d from"../engine/flow/FlowView2D.js";import{LayerView2D as c}from"./LayerView2D.js";import u from"./graphics/GraphicsView2D.js";import m from"./graphics/HighlightGraphicContainer.js";import w from"./imagery/ImageryView2D.js";import y from"./imagery/VectorFieldView2D.js";import f from"../../layers/ImageryLayerView.js";import{RefreshableLayerView as v}from"../../layers/RefreshableLayerView.js";import{isPixelHighlightTarget as _,isEmptyPixelRanges as b}from"../../layers/support/highlightUtils.js";import{defaultColor as x}from"../../support/HighlightDefaults.js";import{getHighlightName as H}from"../../support/highlightOptionsUtils.js";let V=class extends(v(c(f))){constructor(){super(...arguments),this._exportImageVersion=-1,this._highlightGraphics=new p,this._highlightView=void 0,this._pixelHighlights=[],this.layer=null,this.subview=null}get pixelData(){const{subview:t}=this;return this.updating||!t?null:"getPixelData"in t?t.getPixelData():null}update(t){this.subview?.update(t)}attach(){this.layer.increaseRasterJobHandlerUsage(),this._setSubView(),this.view&&(this._highlightView=new u({view:this.view,graphics:this._highlightGraphics,requestUpdateCallback:()=>this.requestUpdate(),container:new m(this.view.featuresTilingScheme)}),this.container.addChild(this._highlightView.container)),this.addAttachHandles([a(()=>this.layer.exportImageServiceParameters.version,t=>{t&&this._exportImageVersion!==t&&(this._exportImageVersion=t,this.requestUpdate())},o),a(()=>this.timeExtent,t=>{const{subview:i}=this;i&&(i.timeExtent=t,"redraw"in i?this.requestUpdate():i.redrawOrRefetch())},o),this.layer.on("redraw",()=>{const{subview:t}=this;t&&("redraw"in t?t.redraw():t.redrawOrRefetch())}),a(()=>this.layer.renderer,()=>this._setSubView()),a(()=>this.view.highlights.items.map(({name:t,color:i})=>({name:t,color:i})),()=>this._updateHighlightOptions(this.subview))])}detach(){this.layer.decreaseRasterJobHandlerUsage(),this.container.removeAllChildren(),this._detachSubview(this.subview),this.subview?.destroy(),this.subview=null,this._highlightView?.destroy(),this._exportImageVersion=-1}viewChange(){}moveEnd(){this.requestUpdate()}async hitTest(t){const{layer:i,subview:e}=this;if(!i.loaded||!this.attached||!e?.attached)return null;const s=await e.hitTest(t);return null==s?null:[{type:"raster",layer:i,mapPoint:t,...s}]}highlight(t,h){if(_(t))return b(t)?r():this._highlightPixels(t,h);if("number"==typeof t||"string"==typeof t)return this._highlightByImageIds([t],h);const a=Array.isArray(t)||s.isCollection(t)?t.at(0):t;if("number"==typeof a||"string"==typeof a)return this._highlightByImageIds(t,h);if(!(a instanceof i))return r();let o=[];Array.isArray(t)||s.isCollection(t)?o=t.map(t=>t.clone()):t instanceof i&&(o=[t.clone()]);const n=o?.filter(e);if(!n?.length)return r();const l=H(h);return this._addHighlightGraphics(o,l),r(()=>!this.destroyed&&this._removeHighlightGraphics(o,l))}_highlightByImageIds(t,i){const e=H(i),s=new AbortController,{signal:a}=s,o=this.layer.sourceJSON.maxRecordCount??1e3,n=Math.ceil(t.length/o),l=[],g=[],p=new h({concurrency:4,process:t=>this.layer.queryFeatures({objectIds:t.ids,returnGeometry:!0,outSpatialReference:this.view.spatialReference},{signal:a}).then(t=>g.push(...t.features)).catch(()=>{})});for(let r=0;r<n;r++)l.push(p.push({ids:t.slice(r*o,(r+1)*o)}));return Promise.allSettled(l).then(()=>{g.length&&!a.aborted&&(this._addHighlightGraphics(g,e),a.addEventListener("abort",()=>{this._removeHighlightGraphics(g,e)}))}),r(()=>s.abort())}_highlightPixels(t,i){const e={target:t,options:i};return this._pixelHighlights.push(e),this._updateHighlightOptions(this.subview),r(()=>{const t=this._pixelHighlights.indexOf(e);t>-1&&(this._pixelHighlights.splice(t,1),this._updateHighlightOptions(this.subview))})}_addHighlightGraphics(t,i){this._highlightGraphics.addMany(t),this._addHighlights(t.map(t=>t.uid),i)}_removeHighlightGraphics(t,i){this._highlightGraphics.removeMany(t),this._removeHighlights(t.map(t=>t.uid),i)}async doRefresh(){this.requestUpdate()}isUpdating(){return!this.subview||this.subview.updating||!!this._highlightView?.updating}_processHighlight(){const t=this._getHighlights();this._highlightView?.setHighlight(t)}_setSubView(){if(!this.view)return;const t=this.layer.renderer?.type;let i="imagery";if("vector-field"===t?i="imageryVF":"flow"===t&&(i="flow"),this.subview){const{type:t}=this.subview;if(t===i)return this._attachSubview(this.subview),void("flow"===t?this.subview.redrawOrRefetch():"imagery"===t&&"lerc"===this.layer.format?this.subview.redraw():this.requestUpdate());this._detachSubview(this.subview),this.subview?.destroy()}"imagery"===i?(this.subview=new w({layer:this.layer,view:this.view,timeExtent:this.timeExtent,updatingHandles:this._updatingHandles}),this._updateHighlightOptions(this.subview)):this.subview="imageryVF"===i?new y({layer:this.layer,view:this.view,timeExtent:this.timeExtent}):new d({layer:this.layer,layerView:this}),this._attachSubview(this.subview),this.requestUpdate()}_attachSubview(t){t&&!t.attached&&(t.attach(),t.attached=!0,this.container.addChildAt(t.container,0))}_detachSubview(t){t?.attached&&(this.container.removeChild(t.container),t.detach(),t.attached=!1)}_updateHighlightOptions(t){const i=this.view.highlights;this._pixelHighlights.sort((t,e)=>i.findIndex(({name:t})=>t===H(e.options))-i.findIndex(({name:i})=>i===H(t.options)));const s=this._pixelHighlights.map(({target:t,options:e})=>I(t,i,e)).filter(e);"imagery"===t?.type&&(t.pixelHighlights=s,t.attached&&("lerc"===this.layer.format?t.redraw():this.requestUpdate()))}};function I(t,i,e){const s=H(e),r=(i.find(t=>t.name===s)?.color??x).toArray(),{pixelRanges:h}=t;if(Array.isArray(h))return{ranges:h,bandId:t.bandId??0,color:r};const a="extent"===h.type?h:h.extent;if(!a)return;const o=[a.xmin,a.xmax],n=[a.ymin,a.ymax],{xBandId:l,yBandId:p}=t,d=1024,c=1024;return{xBandId:l,yBandId:p,xBandRange:o,yBandRange:n,color:r,width:d,height:c,xyMask:"polygon"===h.type?g({srcExtent:a,geometry:h,size:[d,c]}):void 0}}t([n()],V.prototype,"pixelData",null),t([n()],V.prototype,"subview",void 0),V=t([l("esri.views.2d.layers.ImageryLayerView2D")],V);const j=V;export{j as default};
2
+ import{__decorate as t}from"tslib";import i from"../../../Graphic.js";import{isSome as e}from"../../../core/arrayUtils.js";import s from"../../../core/Collection.js";import{makeHandle as r}from"../../../core/handleUtils.js";import"../../../core/has.js";import{QueueProcessor as h}from"../../../core/QueueProcessor.js";import{watch as a,sync as o}from"../../../core/reactiveUtils.js";import{isScreenRect as n}from"../../../core/screenUtils.js";import{property as l,subclass as g}from"../../../core/accessorSupport/decorators.js";import{convertGeometryToMask as p}from"../../../layers/raster/functions/clipUtils.js";import{GraphicsCollection as c}from"../../../support/GraphicsCollection.js";import d from"../engine/flow/FlowView2D.js";import{LayerView2D as u}from"./LayerView2D.js";import m from"./graphics/GraphicsView2D.js";import w from"./graphics/HighlightGraphicContainer.js";import y from"./imagery/ImageryView2D.js";import f from"./imagery/VectorFieldView2D.js";import v from"../../layers/ImageryLayerView.js";import{RefreshableLayerView as _}from"../../layers/RefreshableLayerView.js";import{isPixelHighlightTarget as b,isEmptyPixelRanges as x}from"../../layers/support/highlightUtils.js";import{defaultColor as H}from"../../support/HighlightDefaults.js";import{getHighlightName as V}from"../../support/highlightOptionsUtils.js";let j=class extends(_(u(v))){constructor(){super(...arguments),this._exportImageVersion=-1,this._highlightGraphics=new c,this._highlightView=void 0,this._pixelHighlights=[],this.layer=null,this.subview=null}get pixelData(){const{subview:t}=this;return this.updating||!t?null:"getPixelData"in t?t.getPixelData():null}update(t){this.subview?.update(t)}attach(){this.layer.increaseRasterJobHandlerUsage(),this._setSubView(),this.view&&(this._highlightView=new m({view:this.view,graphics:this._highlightGraphics,requestUpdateCallback:()=>this.requestUpdate(),container:new w(this.view.featuresTilingScheme)}),this.container.addChild(this._highlightView.container)),this.addAttachHandles([a(()=>this.layer.exportImageServiceParameters.version,t=>{t&&this._exportImageVersion!==t&&(this._exportImageVersion=t,this.requestUpdate())},o),a(()=>this.timeExtent,t=>{const{subview:i}=this;i&&(i.timeExtent=t,"redraw"in i?this.requestUpdate():i.redrawOrRefetch())},o),this.layer.on("redraw",()=>{const{subview:t}=this;t&&("redraw"in t?t.redraw():t.redrawOrRefetch())}),a(()=>this.layer.renderer,()=>this._setSubView()),a(()=>this.view.highlights.items.map(({name:t,color:i})=>({name:t,color:i})),()=>this._updateHighlightOptions(this.subview))])}detach(){this.layer.decreaseRasterJobHandlerUsage(),this.container.removeAllChildren(),this._detachSubview(this.subview),this.subview?.destroy(),this.subview=null,this._highlightView?.destroy(),this._exportImageVersion=-1}viewChange(){}moveEnd(){this.requestUpdate()}async hitTest(t,i){const{layer:e,subview:s}=this;if(!e.loaded||!this.attached||!s?.attached)return null;n(i)&&(t=this.view.toMap({x:i.x+i.width/2,y:i.y+i.height/2}));const r=await s.hitTest(t);return null==r?null:[{type:"raster",layer:e,mapPoint:t,...r}]}highlight(t,h){if(b(t))return x(t)?r():this._highlightPixels(t,h);if("number"==typeof t||"string"==typeof t)return this._highlightByImageIds([t],h);const a=Array.isArray(t)||s.isCollection(t)?t.at(0):t;if("number"==typeof a||"string"==typeof a)return this._highlightByImageIds(t,h);if(!(a instanceof i))return r();let o=[];Array.isArray(t)||s.isCollection(t)?o=t.map(t=>t.clone()):t instanceof i&&(o=[t.clone()]);const n=o?.filter(e);if(!n?.length)return r();const l=V(h);return this._addHighlightGraphics(o,l),r(()=>!this.destroyed&&this._removeHighlightGraphics(o,l))}_highlightByImageIds(t,i){const e=V(i),s=new AbortController,{signal:a}=s,o=this.layer.sourceJSON.maxRecordCount??1e3,n=Math.ceil(t.length/o),l=[],g=[],p=new h({concurrency:4,process:t=>this.layer.queryFeatures({objectIds:t.ids,returnGeometry:!0,outSpatialReference:this.view.spatialReference},{signal:a}).then(t=>g.push(...t.features)).catch(()=>{})});for(let r=0;r<n;r++)l.push(p.push({ids:t.slice(r*o,(r+1)*o)}));return Promise.allSettled(l).then(()=>{g.length&&!a.aborted&&(this._addHighlightGraphics(g,e),a.addEventListener("abort",()=>{this._removeHighlightGraphics(g,e)}))}),r(()=>s.abort())}_highlightPixels(t,i){const e={target:t,options:i};return this._pixelHighlights.push(e),this._updateHighlightOptions(this.subview),r(()=>{const t=this._pixelHighlights.indexOf(e);t>-1&&(this._pixelHighlights.splice(t,1),this._updateHighlightOptions(this.subview))})}_addHighlightGraphics(t,i){this._highlightGraphics.addMany(t),this._addHighlights(t.map(t=>t.uid),i)}_removeHighlightGraphics(t,i){this._highlightGraphics.removeMany(t),this._removeHighlights(t.map(t=>t.uid),i)}async doRefresh(){this.requestUpdate()}isUpdating(){return!this.subview||this.subview.updating||!!this._highlightView?.updating}_processHighlight(){const t=this._getHighlights();this._highlightView?.setHighlight(t)}_setSubView(){if(!this.view)return;const t=this.layer.renderer?.type;let i="imagery";if("vector-field"===t?i="imageryVF":"flow"===t&&(i="flow"),this.subview){const{type:t}=this.subview;if(t===i)return this._attachSubview(this.subview),void("flow"===t?this.subview.redrawOrRefetch():"imagery"===t&&"lerc"===this.layer.format?this.subview.redraw():this.requestUpdate());this._detachSubview(this.subview),this.subview?.destroy()}"imagery"===i?(this.subview=new y({layer:this.layer,view:this.view,timeExtent:this.timeExtent,updatingHandles:this._updatingHandles}),this._updateHighlightOptions(this.subview)):this.subview="imageryVF"===i?new f({layer:this.layer,view:this.view,timeExtent:this.timeExtent}):new d({layer:this.layer,layerView:this}),this._attachSubview(this.subview),this.requestUpdate()}_attachSubview(t){t&&!t.attached&&(t.attach(),t.attached=!0,this.container.addChildAt(t.container,0))}_detachSubview(t){t?.attached&&(this.container.removeChild(t.container),t.detach(),t.attached=!1)}_updateHighlightOptions(t){const i=this.view.highlights;this._pixelHighlights.sort((t,e)=>i.findIndex(({name:t})=>t===V(e.options))-i.findIndex(({name:i})=>i===V(t.options)));const s=this._pixelHighlights.map(({target:t,options:e})=>I(t,i,e)).filter(e);"imagery"===t?.type&&(t.pixelHighlights=s,t.attached&&("lerc"===this.layer.format?t.redraw():this.requestUpdate()))}};function I(t,i,e){const s=V(e),r=(i.find(t=>t.name===s)?.color??H).toArray(),{pixelRanges:h}=t;if(Array.isArray(h))return{ranges:h,bandId:t.bandId??0,color:r};const a="extent"===h.type?h:h.extent;if(!a)return;const o=[a.xmin,a.xmax],n=[a.ymin,a.ymax],{xBandId:l,yBandId:g}=t,c=1024,d=1024;return{xBandId:l,yBandId:g,xBandRange:o,yBandRange:n,color:r,width:c,height:d,xyMask:"polygon"===h.type?p({srcExtent:a,geometry:h,size:[c,d]}):void 0}}t([l()],j.prototype,"pixelData",null),t([l()],j.prototype,"subview",void 0),j=t([g("esri.views.2d.layers.ImageryLayerView2D")],j);const U=j;export{U as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{makeHandle as i}from"../../../core/handleUtils.js";import t from"../../../core/Logger.js";import{isAbortError as s}from"../../../core/promiseUtils.js";import{watch as r,sync as o,initial as a}from"../../../core/reactiveUtils.js";import{property as n,subclass as h}from"../../../core/accessorSupport/decorators.js";import{hasExcludedVariableOrDimension as u}from"../../../layers/raster/datasets/multidimensionalUtils.js";import l from"../engine/flow/FlowView2D.js";import{LayerView2D as d}from"./LayerView2D.js";import p from"./imagery/ImageryTileView2D.js";import c from"./imagery/VectorFieldTileView2D.js";import{canUseMajorityInterpolationOnDataSource as g}from"./support/util.js";import v from"../../layers/ImageryTileLayerView.js";import{RefreshableLayerView as w}from"../../layers/RefreshableLayerView.js";import{isEmptyPixelRanges as b}from"../../layers/support/highlightUtils.js";let m=class extends(w(d(v))){constructor(){super(...arguments),this._useWebGLForProcessing=!0,this._useProgressiveUpdate=!0,this._pixelHighlights=[],this.subview=null}get useWebGLForProcessing(){return this._useWebGLForProcessing}set useWebGLForProcessing(e){this._useWebGLForProcessing=e,this.subview&&"useWebGLForProcessing"in this.subview&&(this.subview.useWebGLForProcessing=e)}get useProgressiveUpdate(){return this._useWebGLForProcessing}set useProgressiveUpdate(e){this._useProgressiveUpdate=e,this.subview&&"useProgressiveUpdate"in this.subview&&(this.subview.useProgressiveUpdate=e)}get displayParameters(){const{layer:e}=this,i=this._get("displayParameters");return e.renderer&&e.visible?{bandIds:e.bandIds,renderer:e.renderer,interpolation:e.interpolation,multidimensionalDefinition:e.multidimensionalDefinition,rasterFunction:"imagery-tile"===e.type?e.rasterFunction:null}:i}update(e){this.subview?.update(e),this.notifyChange("updating")}isUpdating(){return!this.subview||this.subview.updating}attach(){this.layer.increaseRasterJobHandlerUsage(),this._updateSubview(),this.addAttachHandles([r(()=>this.displayParameters,(e,i)=>{const r=e.interpolation!==i?.interpolation&&("majority"===e.interpolation||"majority"===i?.interpolation)&&g(this.layer),o=!!this.layer.serviceRasterInfo?.storageInfo?.isBsqTile&&e.bandIds?.join()!==i?.bandIds?.join(),a=e.renderer!==i?.renderer&&this._getSubviewType(i?.renderer)!==this._getSubviewType(e.renderer);a&&this._updateSubview();const n=e.multidimensionalDefinition!==i?.multidimensionalDefinition,h=e.rasterFunction!==i?.rasterFunction,u=h&&!this._useWebGLForProcessing,l=n||r||a||u||o;this.subview.redrawOrRefetch({refetch:l,reprocess:h}).catch(e=>{s(e)||t.getLogger(this).error(e)}),this.notifyChange("updating")}),r(()=>this.layer.multidimensionalSubset??null,(e,i)=>{const{multidimensionalDefinition:r}=this.layer;null!=r&&u(r,e)!==u(r,i)&&(this.subview.redrawOrRefetch({refetch:!0}).catch(e=>{s(e)||t.getLogger(this).error(e)}),this.notifyChange("updating"))},o),r(()=>this.timeExtent,()=>{this.subview.timeExtent=this.timeExtent,this.subview.redrawOrRefetch({refetch:!0}).catch(e=>{s(e)||t.getLogger(this).error(e)})},a),r(()=>this.view.highlights.items.map(({name:e,color:i})=>({name:e,color:i})),()=>this._updateHighlightOptions(this.subview),a)])}detach(){this.layer.decreaseRasterJobHandlerUsage(),this._detachSubview(this.subview),this.subview?.destroy(),this.subview=null}viewChange(){this.requestUpdate()}moveEnd(){this.subview.moveEnd()}highlight(e,t){if(!e.pixelRanges||b(e))return i();const s={target:{...e},options:{...t}};return this._pixelHighlights.push(s),this._updateHighlightOptions(this.subview),i(()=>{const e=this._pixelHighlights.indexOf(s);-1!==e&&(this._pixelHighlights.splice(e,1),this._updateHighlightOptions(this.subview))})}async hitTest(e){const{layer:i,subview:t}=this;if(!i.loaded||!this.attached||!t?.attached)return null;const s=await t.hitTest(e);return null==s?null:[{type:"raster",layer:i,mapPoint:e,...s}]}doRefresh(){return this.subview?this.subview.doRefresh():Promise.resolve()}_updateSubview(){const{renderer:e}=this.layer;if(!e)return;const i=this._getSubviewType(e);if(this.subview){if(this.subview.type===i)return void this._attachSubview(this.subview);this._detachSubview(this.subview),this.subview?.destroy(),this.subview=null}const{layer:t}=this;let s;if(s="rasterVF"===i?new c({layer:t,layerView:this,scheduler:this.scheduler}):"flow"===i?new l({layer:t,layerView:this,scheduler:this.scheduler}):new p({layer:t,layerView:this,scheduler:this.scheduler}),"useWebGLForProcessing"in s&&(s.useWebGLForProcessing=this._useWebGLForProcessing),"useProgressiveUpdate"in s&&(s.useProgressiveUpdate=this._useProgressiveUpdate),"previousLOD"in s){const{subview:e}=this;s.previousLOD=e&&"previousLOD"in e?e.previousLOD:null}this._attachSubview(s),this._updateHighlightOptions(s),this.subview=s,this.requestUpdate()}_attachSubview(e){e&&!e.attached&&(e.attach(),e.attached=!0,this.container.addChildAt(e.container,0))}_detachSubview(e){e?.attached&&(this.container.removeChild(e.container),e.detach(),e.attached=!1)}_getSubviewType(e){const i=e?.type;return"vector-field"===i?"rasterVF":"flow"===i?"flow":"raster"}_updateHighlightOptions(e){"raster"===e?.type&&e.updateHighlightOptions(this._pixelHighlights)}};e([n()],m.prototype,"subview",void 0),e([n()],m.prototype,"useWebGLForProcessing",null),e([n()],m.prototype,"useProgressiveUpdate",null),e([n({readOnly:!0})],m.prototype,"displayParameters",null),m=e([h("esri.views.2d.layers.ImageryTileLayerView2D")],m);const y=m;export{y as default};
2
+ import{__decorate as e}from"tslib";import{makeHandle as i}from"../../../core/handleUtils.js";import t from"../../../core/Logger.js";import{isAbortError as s}from"../../../core/promiseUtils.js";import{watch as r,sync as o,initial as a}from"../../../core/reactiveUtils.js";import{isScreenRect as h}from"../../../core/screenUtils.js";import{property as n,subclass as u}from"../../../core/accessorSupport/decorators.js";import{hasExcludedVariableOrDimension as l}from"../../../layers/raster/datasets/multidimensionalUtils.js";import d from"../engine/flow/FlowView2D.js";import{LayerView2D as p}from"./LayerView2D.js";import c from"./imagery/ImageryTileView2D.js";import g from"./imagery/VectorFieldTileView2D.js";import{canUseMajorityInterpolationOnDataSource as v}from"./support/util.js";import w from"../../layers/ImageryTileLayerView.js";import{RefreshableLayerView as m}from"../../layers/RefreshableLayerView.js";import{isEmptyPixelRanges as b}from"../../layers/support/highlightUtils.js";let y=class extends(m(p(w))){constructor(){super(...arguments),this._useWebGLForProcessing=!0,this._useProgressiveUpdate=!0,this._pixelHighlights=[],this.subview=null}get useWebGLForProcessing(){return this._useWebGLForProcessing}set useWebGLForProcessing(e){this._useWebGLForProcessing=e,this.subview&&"useWebGLForProcessing"in this.subview&&(this.subview.useWebGLForProcessing=e)}get useProgressiveUpdate(){return this._useWebGLForProcessing}set useProgressiveUpdate(e){this._useProgressiveUpdate=e,this.subview&&"useProgressiveUpdate"in this.subview&&(this.subview.useProgressiveUpdate=e)}get displayParameters(){const{layer:e}=this,i=this._get("displayParameters");return e.renderer&&e.visible?{bandIds:e.bandIds,renderer:e.renderer,interpolation:e.interpolation,multidimensionalDefinition:e.multidimensionalDefinition,rasterFunction:"imagery-tile"===e.type?e.rasterFunction:null}:i}update(e){this.subview?.update(e),this.notifyChange("updating")}isUpdating(){return!this.subview||this.subview.updating}attach(){this.layer.increaseRasterJobHandlerUsage(),this._updateSubview(),this.addAttachHandles([r(()=>this.displayParameters,(e,i)=>{const r=e.interpolation!==i?.interpolation&&("majority"===e.interpolation||"majority"===i?.interpolation)&&v(this.layer),o=!!this.layer.serviceRasterInfo?.storageInfo?.isBsqTile&&e.bandIds?.join()!==i?.bandIds?.join(),a=e.renderer!==i?.renderer&&this._getSubviewType(i?.renderer)!==this._getSubviewType(e.renderer);a&&this._updateSubview();const h=e.multidimensionalDefinition!==i?.multidimensionalDefinition,n=e.rasterFunction!==i?.rasterFunction,u=n&&!this._useWebGLForProcessing,l=h||r||a||u||o;this.subview.redrawOrRefetch({refetch:l,reprocess:n}).catch(e=>{s(e)||t.getLogger(this).error(e)}),this.notifyChange("updating")}),r(()=>this.layer.multidimensionalSubset??null,(e,i)=>{const{multidimensionalDefinition:r}=this.layer;null!=r&&l(r,e)!==l(r,i)&&(this.subview.redrawOrRefetch({refetch:!0}).catch(e=>{s(e)||t.getLogger(this).error(e)}),this.notifyChange("updating"))},o),r(()=>this.timeExtent,()=>{this.subview.timeExtent=this.timeExtent,this.subview.redrawOrRefetch({refetch:!0}).catch(e=>{s(e)||t.getLogger(this).error(e)})},a),r(()=>this.view.highlights.items.map(({name:e,color:i})=>({name:e,color:i})),()=>this._updateHighlightOptions(this.subview),a)])}detach(){this.layer.decreaseRasterJobHandlerUsage(),this._detachSubview(this.subview),this.subview?.destroy(),this.subview=null}viewChange(){this.requestUpdate()}moveEnd(){this.subview.moveEnd()}highlight(e,t){if(!e.pixelRanges||b(e))return i();const s={target:{...e},options:{...t}};return this._pixelHighlights.push(s),this._updateHighlightOptions(this.subview),i(()=>{const e=this._pixelHighlights.indexOf(s);-1!==e&&(this._pixelHighlights.splice(e,1),this._updateHighlightOptions(this.subview))})}async hitTest(e,i){const{layer:t,subview:s}=this;if(!t.loaded||!this.attached||!s?.attached)return null;h(i)&&(e=this.view.toMap({x:i.x+i.width/2,y:i.y+i.height/2}));const r=await s.hitTest(e);return null==r?null:[{type:"raster",layer:t,mapPoint:e,...r}]}doRefresh(){return this.subview?this.subview.doRefresh():Promise.resolve()}_updateSubview(){const{renderer:e}=this.layer;if(!e)return;const i=this._getSubviewType(e);if(this.subview){if(this.subview.type===i)return void this._attachSubview(this.subview);this._detachSubview(this.subview),this.subview?.destroy(),this.subview=null}const{layer:t}=this;let s;if(s="rasterVF"===i?new g({layer:t,layerView:this,scheduler:this.scheduler}):"flow"===i?new d({layer:t,layerView:this,scheduler:this.scheduler}):new c({layer:t,layerView:this,scheduler:this.scheduler}),"useWebGLForProcessing"in s&&(s.useWebGLForProcessing=this._useWebGLForProcessing),"useProgressiveUpdate"in s&&(s.useProgressiveUpdate=this._useProgressiveUpdate),"previousLOD"in s){const{subview:e}=this;s.previousLOD=e&&"previousLOD"in e?e.previousLOD:null}this._attachSubview(s),this._updateHighlightOptions(s),this.subview=s,this.requestUpdate()}_attachSubview(e){e&&!e.attached&&(e.attach(),e.attached=!0,this.container.addChildAt(e.container,0))}_detachSubview(e){e?.attached&&(this.container.removeChild(e.container),e.detach(),e.attached=!1)}_getSubviewType(e){const i=e?.type;return"vector-field"===i?"rasterVF":"flow"===i?"flow":"raster"}_updateHighlightOptions(e){"raster"===e?.type&&e.updateHighlightOptions(this._pixelHighlights)}};e([n()],y.prototype,"subview",void 0),e([n()],y.prototype,"useWebGLForProcessing",null),e([n()],y.prototype,"useProgressiveUpdate",null),e([n({readOnly:!0})],y.prototype,"displayParameters",null),y=e([u("esri.views.2d.layers.ImageryTileLayerView2D")],y);const f=y;export{f as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{version as i}from"../../../kernel.js";import t from"../../../core/Collection.js";import{abortMaybe as s,destroyMaybe as a}from"../../../core/maybe.js";import{watch as l}from"../../../core/reactiveUtils.js";import{queryToObject as o,objectToQuery as r}from"../../../core/urlUtils.js";import{property as n,subclass as h}from"../../../core/accessorSupport/decorators.js";import p from"../../../geometry/Extent.js";import{load as m,project as c}from"../../../geometry/projectionUtils.js";import d from"../../../geometry/SpatialReference.js";import y from"../../../layers/support/KMLMapImage.js";import{getGraphics as w,fetchService as g,parseKML as u}from"../../../layers/support/kmlUtils.js";import{parseUrl as _}from"../../../rest/utils.js";import{GraphicsCollection as V}from"../../../support/GraphicsCollection.js";import{Bitmap as f}from"../engine/Bitmap.js";import{BitmapContainer as b}from"../engine/BitmapContainer.js";import{LayerView2D as v}from"./LayerView2D.js";import S from"./graphics/GraphicContainer.js";import x from"./graphics/GraphicsView2D.js";import I from"../../layers/KMLLayerView.js";import{ImageReprojector as C}from"../../support/imageReprojection.js";class k{constructor(){this.allSublayers=new Map,this.allPoints=[],this.allPolylines=[],this.allPolygons=[],this.allMapImages=[]}}let P=class extends(v(I)){constructor(){super(...arguments),this._bitmapIndex=new Map,this._mapImageContainer=new b,this._kmlVisualData=new k,this._fetchController=null,this.allVisiblePoints=new V,this.allVisiblePolylines=new V,this.allVisiblePolygons=new V,this.allVisibleMapImages=new t}async hitTest(e,i){const t=this.layer;return[this._pointsView?.hitTest(this.view,i),this._polylinesView?.hitTest(this.view,i),this._polygonsView?.hitTest(this.view,i)].flat().filter(Boolean).map(i=>(i.layer=t,i.sourceLayer=t,{type:"graphic",graphic:i,layer:t,mapPoint:e}))}update(e){this._polygonsView&&this._polygonsView.processUpdate(e),this._polylinesView&&this._polylinesView.processUpdate(e),this._pointsView&&this._pointsView.processUpdate(e)}attach(){this._fetchController=new AbortController,this.container.addChild(this._mapImageContainer),this._polygonsView=new x({view:this.view,graphics:this.allVisiblePolygons,requestUpdateCallback:()=>this.requestUpdate(),container:new S(this.view.featuresTilingScheme)}),this.container.addChild(this._polygonsView.container),this._polylinesView=new x({view:this.view,graphics:this.allVisiblePolylines,requestUpdateCallback:()=>this.requestUpdate(),container:new S(this.view.featuresTilingScheme)}),this.container.addChild(this._polylinesView.container),this._pointsView=new x({view:this.view,graphics:this.allVisiblePoints,requestUpdateCallback:()=>this.requestUpdate(),container:new S(this.view.featuresTilingScheme)}),this.container.addChild(this._pointsView.container),this.addAttachHandles([this.allVisibleMapImages.on("change",e=>{e.added.forEach(e=>this._addMapImage(e)),e.removed.forEach(e=>this._removeMapImage(e))}),l(()=>this.layer.visibleSublayers,e=>{for(const i of this._kmlVisualData.allSublayers.values())i.visibility=0;for(const i of e){const e=this._kmlVisualData.allSublayers.get(i.id);e&&(e.visibility=1)}this._refreshCollections()})]),this._updatingHandles.consumePromise(this._fetchService(this._fetchController.signal)),this._imageReprojector=new C}detach(){this._fetchController=s(this._fetchController),this._mapImageContainer.removeAllChildren(),this.container.removeAllChildren(),this._bitmapIndex.clear(),this._polygonsView=a(this._polygonsView),this._polylinesView=a(this._polylinesView),this._pointsView=a(this._pointsView),this._imageReprojector=a(this._imageReprojector)}viewChange(){this._polygonsView.viewChange(),this._polylinesView.viewChange(),this._pointsView.viewChange()}moveEnd(){}isUpdating(){return this._pointsView.updating||this._polygonsView.updating||this._polylinesView.updating}_addMapImage(e){(this.view.spatialReference?.isWGS84||this.view.spatialReference?.isWebMercator)&&this._imageReprojector.loadAndReprojectBitmapData(e.href,e.extent,this.view.spatialReference).then(i=>{const t=new f(i.bitmapData);t.x=i.extent.xmin,t.y=i.extent.ymax,t.resolution=i.extent.width/i.bitmapData.width,t.rotation=e.rotation,this._mapImageContainer.addChild(t),this._bitmapIndex.set(e,t)})}async _getViewDependentUrl(e,t){const{viewFormat:s,viewBoundScale:a,httpQuery:l}=e;if(null!=s){if(null==t)throw new Error("Loading this network link requires a view state.");let n;if(await m(),null!=a&&1!==a){const e=new p(t.extent);e.expand(a),n=e}else n=t.extent;n=c(n,d.WGS84);const h=c(n,d.WebMercator),y=n.xmin,w=n.xmax,g=n.ymin,u=n.ymax,V=t.size[0]*t.pixelRatio,f=t.size[1]*t.pixelRatio,b=Math.max(h.width,h.height),v={"[bboxWest]":y.toString(),"[bboxEast]":w.toString(),"[bboxSouth]":g.toString(),"[bboxNorth]":u.toString(),"[lookatLon]":n.center.x.toString(),"[lookatLat]":n.center.y.toString(),"[lookatRange]":b.toString(),"[lookatTilt]":"0","[lookatHeading]":t.rotation.toString(),"[lookatTerrainLon]":n.center.x.toString(),"[lookatTerrainLat]":n.center.y.toString(),"[lookatTerrainAlt]":"0","[cameraLon]":n.center.x.toString(),"[cameraLat]":n.center.y.toString(),"[cameraAlt]":b.toString(),"[horizFov]":"60","[vertFov]":"60","[horizPixels]":V.toString(),"[vertPixels]":f.toString(),"[terrainEnabled]":"0","[clientVersion]":i,"[kmlVersion]":"2.2","[clientName]":"ArcGIS API for JavaScript","[language]":"en-US"},S=e=>{for(const i in e){let t;for(t in v)e[i]=e[i].replace(t,v[t])}},x=o(s);S(x);let I={};null!=l&&(I=o(l),S(I));const C=_(e.href);C.query={...C.query,...x,...I};return`${C.path}?${r(x)}`}return e.href}async _fetchService(e){const i=new k;await this._loadVisualData(this.layer.url,i,e),this._kmlVisualData=i,this._refreshCollections()}_refreshCollections(){this.allVisiblePoints.removeAll(),this.allVisiblePolylines.removeAll(),this.allVisiblePolygons.removeAll(),this.allVisibleMapImages.removeAll();const e=(e,i)=>{e.addMany(i.filter(e=>this._isSublayerVisible(e.sublayerId)).map(({item:e})=>e))};e(this.allVisiblePoints,this._kmlVisualData.allPoints),e(this.allVisiblePolylines,this._kmlVisualData.allPolylines),e(this.allVisiblePolygons,this._kmlVisualData.allPolygons),this.allVisibleMapImages.addMany(this._kmlVisualData.allMapImages.filter(e=>this._isSublayerVisible(e.sublayerId)).map(({item:e})=>e))}_isSublayerVisible(e){const i=this._kmlVisualData.allSublayers.get(e);return!!i?.visibility&&(-1===i.parentFolderId||this._isSublayerVisible(i.parentFolderId))}_loadVisualData(e,i,t){return this._fetchParsedKML(e,t).then(async e=>{for(const s of e.sublayers){i.allSublayers.set(s.id,s);const e=await w(s,"points",this.layer,s.id),a=await w(s,"polylines",this.layer,s.id),l=await w(s,"polygons",this.layer,s.id),o=s.mapImages?.map(e=>y.fromJSON(e))??[];if(i.allPoints.push(...e.map(e=>({item:e,sublayerId:s.id}))),i.allPolylines.push(...a.map(e=>({item:e,sublayerId:s.id}))),i.allPolygons.push(...l.map(e=>({item:e,sublayerId:s.id}))),i.allMapImages.push(...o.map(e=>({item:e,sublayerId:s.id}))),s.networkLink){const e=await this._getViewDependentUrl(s.networkLink,this.view.state);await this._loadVisualData(e,i,t)}}})}_fetchParsedKML(e,i){return g(e,this.layer.spatialReference,this.layer.refreshInterval,i).then(e=>u(e.data))}_removeMapImage(e){const i=this._bitmapIndex.get(e);i&&(this._mapImageContainer.removeChild(i),this._bitmapIndex.delete(e))}};e([n()],P.prototype,"_pointsView",void 0),e([n()],P.prototype,"_polylinesView",void 0),e([n()],P.prototype,"_polygonsView",void 0),P=e([h("esri.views.2d.layers.KMLLayerView2D")],P);const j=P;export{j as default};
2
+ import{__decorate as e}from"tslib";import{version as i}from"../../../kernel.js";import t from"../../../core/Collection.js";import{abortMaybe as s,destroyMaybe as a}from"../../../core/maybe.js";import{watch as l}from"../../../core/reactiveUtils.js";import{isScreenRect as o}from"../../../core/screenUtils.js";import{queryToObject as r,objectToQuery as n}from"../../../core/urlUtils.js";import{property as h,subclass as p}from"../../../core/accessorSupport/decorators.js";import m from"../../../geometry/Extent.js";import{load as c,project as d}from"../../../geometry/projectionUtils.js";import y from"../../../geometry/SpatialReference.js";import w from"../../../layers/support/KMLMapImage.js";import{getGraphics as g,fetchService as u,parseKML as _}from"../../../layers/support/kmlUtils.js";import{parseUrl as V}from"../../../rest/utils.js";import{GraphicsCollection as f}from"../../../support/GraphicsCollection.js";import{Bitmap as b}from"../engine/Bitmap.js";import{BitmapContainer as v}from"../engine/BitmapContainer.js";import{LayerView2D as S}from"./LayerView2D.js";import x from"./graphics/GraphicContainer.js";import I from"./graphics/GraphicsView2D.js";import C from"../../layers/KMLLayerView.js";import{ImageReprojector as k}from"../../support/imageReprojection.js";class j{constructor(){this.allSublayers=new Map,this.allPoints=[],this.allPolylines=[],this.allPolygons=[],this.allMapImages=[]}}let P=class extends(S(C)){constructor(){super(...arguments),this._bitmapIndex=new Map,this._mapImageContainer=new v,this._kmlVisualData=new j,this._fetchController=null,this.allVisiblePoints=new f,this.allVisiblePolylines=new f,this.allVisiblePolygons=new f,this.allVisibleMapImages=new t}async hitTest(e,i){const t=this.layer;return[this._pointsView?.hitTest(this.view,i),this._polylinesView?.hitTest(this.view,i),this._polygonsView?.hitTest(this.view,i)].flat().filter(Boolean).map(s=>(s.layer=t,s.sourceLayer=t,{type:"graphic",graphic:s,layer:t,mapPoint:o(i)?null:e}))}update(e){this._polygonsView&&this._polygonsView.processUpdate(e),this._polylinesView&&this._polylinesView.processUpdate(e),this._pointsView&&this._pointsView.processUpdate(e)}attach(){this._fetchController=new AbortController,this.container.addChild(this._mapImageContainer),this._polygonsView=new I({view:this.view,graphics:this.allVisiblePolygons,requestUpdateCallback:()=>this.requestUpdate(),container:new x(this.view.featuresTilingScheme)}),this.container.addChild(this._polygonsView.container),this._polylinesView=new I({view:this.view,graphics:this.allVisiblePolylines,requestUpdateCallback:()=>this.requestUpdate(),container:new x(this.view.featuresTilingScheme)}),this.container.addChild(this._polylinesView.container),this._pointsView=new I({view:this.view,graphics:this.allVisiblePoints,requestUpdateCallback:()=>this.requestUpdate(),container:new x(this.view.featuresTilingScheme)}),this.container.addChild(this._pointsView.container),this.addAttachHandles([this.allVisibleMapImages.on("change",e=>{e.added.forEach(e=>this._addMapImage(e)),e.removed.forEach(e=>this._removeMapImage(e))}),l(()=>this.layer.visibleSublayers,e=>{for(const i of this._kmlVisualData.allSublayers.values())i.visibility=0;for(const i of e){const e=this._kmlVisualData.allSublayers.get(i.id);e&&(e.visibility=1)}this._refreshCollections()})]),this._updatingHandles.consumePromise(this._fetchService(this._fetchController.signal)),this._imageReprojector=new k}detach(){this._fetchController=s(this._fetchController),this._mapImageContainer.removeAllChildren(),this.container.removeAllChildren(),this._bitmapIndex.clear(),this._polygonsView=a(this._polygonsView),this._polylinesView=a(this._polylinesView),this._pointsView=a(this._pointsView),this._imageReprojector=a(this._imageReprojector)}viewChange(){this._polygonsView.viewChange(),this._polylinesView.viewChange(),this._pointsView.viewChange()}moveEnd(){}isUpdating(){return this._pointsView.updating||this._polygonsView.updating||this._polylinesView.updating}_addMapImage(e){(this.view.spatialReference?.isWGS84||this.view.spatialReference?.isWebMercator)&&this._imageReprojector.loadAndReprojectBitmapData(e.href,e.extent,this.view.spatialReference).then(i=>{const t=new b(i.bitmapData);t.x=i.extent.xmin,t.y=i.extent.ymax,t.resolution=i.extent.width/i.bitmapData.width,t.rotation=e.rotation,this._mapImageContainer.addChild(t),this._bitmapIndex.set(e,t)})}async _getViewDependentUrl(e,t){const{viewFormat:s,viewBoundScale:a,httpQuery:l}=e;if(null!=s){if(null==t)throw new Error("Loading this network link requires a view state.");let o;if(await c(),null!=a&&1!==a){const e=new m(t.extent);e.expand(a),o=e}else o=t.extent;o=d(o,y.WGS84);const h=d(o,y.WebMercator),p=o.xmin,w=o.xmax,g=o.ymin,u=o.ymax,_=t.size[0]*t.pixelRatio,f=t.size[1]*t.pixelRatio,b=Math.max(h.width,h.height),v={"[bboxWest]":p.toString(),"[bboxEast]":w.toString(),"[bboxSouth]":g.toString(),"[bboxNorth]":u.toString(),"[lookatLon]":o.center.x.toString(),"[lookatLat]":o.center.y.toString(),"[lookatRange]":b.toString(),"[lookatTilt]":"0","[lookatHeading]":t.rotation.toString(),"[lookatTerrainLon]":o.center.x.toString(),"[lookatTerrainLat]":o.center.y.toString(),"[lookatTerrainAlt]":"0","[cameraLon]":o.center.x.toString(),"[cameraLat]":o.center.y.toString(),"[cameraAlt]":b.toString(),"[horizFov]":"60","[vertFov]":"60","[horizPixels]":_.toString(),"[vertPixels]":f.toString(),"[terrainEnabled]":"0","[clientVersion]":i,"[kmlVersion]":"2.2","[clientName]":"ArcGIS API for JavaScript","[language]":"en-US"},S=e=>{for(const i in e){let t;for(t in v)e[i]=e[i].replace(t,v[t])}},x=r(s);S(x);let I={};null!=l&&(I=r(l),S(I));const C=V(e.href);C.query={...C.query,...x,...I};return`${C.path}?${n(x)}`}return e.href}async _fetchService(e){const i=new j;await this._loadVisualData(this.layer.url,i,e),this._kmlVisualData=i,this._refreshCollections()}_refreshCollections(){this.allVisiblePoints.removeAll(),this.allVisiblePolylines.removeAll(),this.allVisiblePolygons.removeAll(),this.allVisibleMapImages.removeAll();const e=(e,i)=>{e.addMany(i.filter(e=>this._isSublayerVisible(e.sublayerId)).map(({item:e})=>e))};e(this.allVisiblePoints,this._kmlVisualData.allPoints),e(this.allVisiblePolylines,this._kmlVisualData.allPolylines),e(this.allVisiblePolygons,this._kmlVisualData.allPolygons),this.allVisibleMapImages.addMany(this._kmlVisualData.allMapImages.filter(e=>this._isSublayerVisible(e.sublayerId)).map(({item:e})=>e))}_isSublayerVisible(e){const i=this._kmlVisualData.allSublayers.get(e);return!!i?.visibility&&(-1===i.parentFolderId||this._isSublayerVisible(i.parentFolderId))}_loadVisualData(e,i,t){return this._fetchParsedKML(e,t).then(async e=>{for(const s of e.sublayers){i.allSublayers.set(s.id,s);const e=await g(s,"points",this.layer,s.id),a=await g(s,"polylines",this.layer,s.id),l=await g(s,"polygons",this.layer,s.id),o=s.mapImages?.map(e=>w.fromJSON(e))??[];if(i.allPoints.push(...e.map(e=>({item:e,sublayerId:s.id}))),i.allPolylines.push(...a.map(e=>({item:e,sublayerId:s.id}))),i.allPolygons.push(...l.map(e=>({item:e,sublayerId:s.id}))),i.allMapImages.push(...o.map(e=>({item:e,sublayerId:s.id}))),s.networkLink){const e=await this._getViewDependentUrl(s.networkLink,this.view.state);await this._loadVisualData(e,i,t)}}})}_fetchParsedKML(e,i){return u(e,this.layer.spatialReference,this.layer.refreshInterval,i).then(e=>_(e.data))}_removeMapImage(e){const i=this._bitmapIndex.get(e);i&&(this._mapImageContainer.removeChild(i),this._bitmapIndex.delete(e))}};e([h()],P.prototype,"_pointsView",void 0),e([h()],P.prototype,"_polylinesView",void 0),e([h()],P.prototype,"_polygonsView",void 0),P=e([p("esri.views.2d.layers.KMLLayerView2D")],P);const M=P;export{M as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import i from"../../../Graphic.js";import{isSome as s}from"../../../core/arrayUtils.js";import t from"../../../core/Collection.js";import{makeHandle as r}from"../../../core/handleUtils.js";import{watch as a,initial as o,on as h}from"../../../core/reactiveUtils.js";import{subclass as n}from"../../../core/accessorSupport/decorators.js";import{LayerView2D as l}from"./LayerView2D.js";import p from"./graphics/GraphicContainer.js";import c from"./graphics/GraphicsView2D.js";import g from"../../layers/LayerView.js";import{getHighlightName as d}from"../../support/highlightOptionsUtils.js";const u="sublayers",f="layerView";let w=class extends(l(g)){*graphicsViews(){null==this._graphicsViewsFeatureCollectionMap?null==this._graphicsViews?yield*[]:yield*this._graphicsViews:yield*this._graphicsViewsFeatureCollectionMap.keys()}async hitTest(e,i){return Array.from(this.graphicsViews(),e=>{const s=e.hitTest(this.view,i);if(null!=this._graphicsViewsFeatureCollectionMap){const i=this._graphicsViewsFeatureCollectionMap.get(e);for(const e of s)!e.popupTemplate&&i.popupTemplate&&(e.popupTemplate=i.popupTemplate),e.sourceLayer=e.layer=this.layer}return s}).flat().map(i=>({type:"graphic",graphic:i,layer:this.layer,mapPoint:e}))}highlight(e,a){let o;"number"==typeof e?o=[e]:e instanceof i?o=[e.uid]:Array.isArray(e)&&e.length>0?o="number"==typeof e[0]?e:e.map(e=>e&&e.uid):t.isCollection(e)&&(o=e.map(e=>e&&e.uid).toArray());const h=o?.filter(s);if(!h?.length)return r();const n=d(a);return this._addHighlights(h,n),r(()=>this._removeHighlights(h,n))}update(e){for(const i of this.graphicsViews())i.processUpdate(e)}attach(){const e=this.view,i=()=>this.requestUpdate(),s=this.layer.featureCollections;if(null!=s&&s.length){this._graphicsViewsFeatureCollectionMap=new Map;for(const t of s){const s=new p(this.view.featuresTilingScheme),r=new c({view:e,graphics:t.source,renderer:t.renderer,requestUpdateCallback:i,container:s});this._graphicsViewsFeatureCollectionMap.set(r,t),this.container.addChild(r.container),this.addHandles([a(()=>t.visible,e=>r.container.visible=e,o),a(()=>r.updating,()=>this.notifyChange("updating"),o)],f)}this._processHighlight()}else null!=this.layer.sublayers&&this.addHandles(h(()=>this.layer.sublayers,"change",()=>this._createGraphicsViews(),{onListenerAdd:()=>this._createGraphicsViews(),onListenerRemove:()=>this._destroyGraphicsViews()}),u)}detach(){this._destroyGraphicsViews(),this.removeHandles(u)}moveEnd(){}viewChange(){for(const e of this.graphicsViews())e.viewChange()}isUpdating(){for(const e of this.graphicsViews())if(e.updating)return!0;return!1}_destroyGraphicsViews(){this.container.removeAllChildren(),this.removeHandles(f);for(const e of this.graphicsViews())e.destroy();this._graphicsViews=null,this._graphicsViewsFeatureCollectionMap=null}_createGraphicsViews(){if(this._destroyGraphicsViews(),null==this.layer.sublayers)return;const e=[],i=this.view,s=()=>this.requestUpdate();for(const t of this.layer.sublayers){const r=new p(this.view.featuresTilingScheme);r.fadeTransitionEnabled=!0;const h=new c({view:i,graphics:t.graphics,requestUpdateCallback:s,container:r});this.addHandles([t.on("graphic-update",h.graphicUpdateHandler),a(()=>t.visible,e=>h.container.visible=e,o),a(()=>h.updating,()=>this.notifyChange("updating"),o)],f),this.container.addChild(h.container),e.push(h)}this._graphicsViews=e,this._processHighlight()}_processHighlight(){const e=this._getHighlights();for(const i of this._graphicsViews||[])i.setHighlight(e);this._graphicsViewsFeatureCollectionMap?.forEach((i,s)=>{s.setHighlight(e)})}};w=e([n("esri.views.2d.layers.MapNotesLayerView2D")],w);const m=w;export{m as default};
2
+ import{__decorate as e}from"tslib";import i from"../../../Graphic.js";import{isSome as s}from"../../../core/arrayUtils.js";import t from"../../../core/Collection.js";import{makeHandle as r}from"../../../core/handleUtils.js";import{watch as a,initial as o,on as h}from"../../../core/reactiveUtils.js";import{isScreenRect as n}from"../../../core/screenUtils.js";import{subclass as l}from"../../../core/accessorSupport/decorators.js";import{LayerView2D as c}from"./LayerView2D.js";import p from"./graphics/GraphicContainer.js";import g from"./graphics/GraphicsView2D.js";import d from"../../layers/LayerView.js";import{getHighlightName as u}from"../../support/highlightOptionsUtils.js";const f="sublayers",w="layerView";let m=class extends(c(d)){*graphicsViews(){null==this._graphicsViewsFeatureCollectionMap?null==this._graphicsViews?yield*[]:yield*this._graphicsViews:yield*this._graphicsViewsFeatureCollectionMap.keys()}async hitTest(e,i){return Array.from(this.graphicsViews(),e=>{const s=e.hitTest(this.view,i);if(null!=this._graphicsViewsFeatureCollectionMap){const i=this._graphicsViewsFeatureCollectionMap.get(e);for(const e of s)!e.popupTemplate&&i.popupTemplate&&(e.popupTemplate=i.popupTemplate),e.sourceLayer=e.layer=this.layer}return s}).flat().map(s=>({type:"graphic",graphic:s,layer:this.layer,mapPoint:n(i)?null:e}))}highlight(e,a){let o;"number"==typeof e?o=[e]:e instanceof i?o=[e.uid]:Array.isArray(e)&&e.length>0?o="number"==typeof e[0]?e:e.map(e=>e&&e.uid):t.isCollection(e)&&(o=e.map(e=>e&&e.uid).toArray());const h=o?.filter(s);if(!h?.length)return r();const n=u(a);return this._addHighlights(h,n),r(()=>this._removeHighlights(h,n))}update(e){for(const i of this.graphicsViews())i.processUpdate(e)}attach(){const e=this.view,i=()=>this.requestUpdate(),s=this.layer.featureCollections;if(null!=s&&s.length){this._graphicsViewsFeatureCollectionMap=new Map;for(const t of s){const s=new p(this.view.featuresTilingScheme),r=new g({view:e,graphics:t.source,renderer:t.renderer,requestUpdateCallback:i,container:s});this._graphicsViewsFeatureCollectionMap.set(r,t),this.container.addChild(r.container),this.addHandles([a(()=>t.visible,e=>r.container.visible=e,o),a(()=>r.updating,()=>this.notifyChange("updating"),o)],w)}this._processHighlight()}else null!=this.layer.sublayers&&this.addHandles(h(()=>this.layer.sublayers,"change",()=>this._createGraphicsViews(),{onListenerAdd:()=>this._createGraphicsViews(),onListenerRemove:()=>this._destroyGraphicsViews()}),f)}detach(){this._destroyGraphicsViews(),this.removeHandles(f)}moveEnd(){}viewChange(){for(const e of this.graphicsViews())e.viewChange()}isUpdating(){for(const e of this.graphicsViews())if(e.updating)return!0;return!1}_destroyGraphicsViews(){this.container.removeAllChildren(),this.removeHandles(w);for(const e of this.graphicsViews())e.destroy();this._graphicsViews=null,this._graphicsViewsFeatureCollectionMap=null}_createGraphicsViews(){if(this._destroyGraphicsViews(),null==this.layer.sublayers)return;const e=[],i=this.view,s=()=>this.requestUpdate();for(const t of this.layer.sublayers){const r=new p(this.view.featuresTilingScheme);r.fadeTransitionEnabled=!0;const h=new g({view:i,graphics:t.graphics,requestUpdateCallback:s,container:r});this.addHandles([t.on("graphic-update",h.graphicUpdateHandler),a(()=>t.visible,e=>h.container.visible=e,o),a(()=>h.updating,()=>this.notifyChange("updating"),o)],w),this.container.addChild(h.container),e.push(h)}this._graphicsViews=e,this._processHighlight()}_processHighlight(){const e=this._getHighlights();for(const i of this._graphicsViews||[])i.setHighlight(e);this._graphicsViewsFeatureCollectionMap?.forEach((i,s)=>{s.setHighlight(e)})}};m=e([l("esri.views.2d.layers.MapNotesLayerView2D")],m);const y=m;export{y as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import"../../../Graphic.js";import t from"../../../core/Collection.js";import i from"../../../core/Error.js";import"../../../core/has.js";import{some as r}from"../../../core/iteratorUtils.js";import s from"../../../core/Logger.js";import{getOrCreateMapValue as n}from"../../../core/MapUtils.js";import{isAbortError as o}from"../../../core/promiseUtils.js";import l from"../../../core/ReactiveMap.js";import{watch as a,syncAndInitial as m,on as c}from"../../../core/reactiveUtils.js";import{property as h,subclass as p}from"../../../core/accessorSupport/decorators.js";import d from"../../../geometry/Extent.js";import{create as u}from"../../../geometry/support/aaBoundingRect.js";import{ringsContainsCoords as g}from"../../../geometry/support/contains.js";import{extentIntersectsPolygon as f}from"../../../geometry/support/intersectsBase.js";import{MediaElementView as y}from"../../../layers/support/MediaElementView.js";import"../../../renderers/SimpleRenderer.js";import"../../../symbols/SimpleFillSymbol.js";import"../engine/Stage.js";import"../../../Color.js";import"../../../core/Accessor.js";import"../../../core/mathUtils.js";import"../../../core/libs/gl-matrix-2/factories/vec4f32.js";import"../../../geometry/Point.js";import"../../../chunks/pe.js";import"../../../core/units.js";import"../../../geometry/ellipsoidUtils.js";import"../../../geometry/support/spatialReferenceUtils.js";import"../../../core/RandomLCG.js";import"../engine/transitions/FadeTransition.js";import"../../webgl/BufferObject.js";import"../../webgl/FramebufferObject.js";import"../../webgl/Program.js";import"../../webgl/Renderbuffer.js";import"../../webgl/Texture.js";import"../../webgl/enums.js";import"../../webgl/Util.js";import"../engine/webgl/meshing/definitions.js";import"../engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js";import"../LabelManager.js";import"./graphics/GraphicsView2D.js";import"../../../layers/effects/EffectView.js";import"../engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js";import"../engine/webgl/AFeatureTile.js";import"../engine/webgl/DisplayEntity.js";import"../../../core/libs/gl-matrix-2/factories/vec2f32.js";import"../engine/webgl/number.js";import"../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"../engine/webgl/cpuMapped/GpuMeshState.js";import"../engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/TileStencilShader.js";import"../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import"../../../geometry/support/normalizeUtils.js";import"./support/util.js";import"../navigation/MapViewNavigation.js";import"../../../request.js";import"../../../core/asyncUtils.js";import"../../../core/support/UpdatingHandles.js";import"../../../core/urlUtils.js";import"../engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../../../geometry/Geometry.js";import"../../../geometry/Multipoint.js";import"../../../geometry/Polygon.js";import"../../../geometry/Polyline.js";import"../../../geometry/SpatialReference.js";import"../../../geometry/spatialReferenceEllipsoidUtils.js";import"../../../geometry/operators/support/GeographicTransformation.js";import"../../../geometry/projection/projectors.js";import"../engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../../../geometry/support/geodesicConstants.js";import"../../../geometry/support/Ellipsoid.js";import"../tiling/TileInfoView.js";import"../tiling/TileKey.js";import j from"../tiling/TileQueue.js";import _ from"../tiling/TileStrategy.js";import w from"../engine/webgl/Overlay.js";import v from"../engine/webgl/OverlayContainer.js";import{LayerView2D as b}from"./LayerView2D.js";import E from"../../layers/MediaLayerView.js";import{TaskPriority as S}from"../../support/Scheduler.js";let R=class extends(b(E)){constructor(){super(...arguments),this._overlayContainer=null,this._fetchQueue=null,this._tileStrategy=null,this._elementReferences=new l,this._debugGraphicsView=null,this._interaction=null,this.elements=new t}initialize(){this.addHandles([a(()=>[this.interactive,this.suspended],async()=>{if(this.interactive&&!this._interaction){const{MediaLayerInteraction:e}=await this._updatingHandles.addPromise(import("./support/MediaLayerInteraction.js"));if(this.destroyed)return;this._interaction=new e({view:this.view,layer:this.layer}),this.selectedElement!==this._interaction.selectedElement&&(this._interaction.selectedElement=this.selectedElement),this.interactionOptions!==this._interaction.options&&(this._interaction.options=this.interactionOptions)}this._interaction&&(this._interaction.enabled=!this.suspended&&this.interactive)},m),a(()=>this.interactionOptions,e=>{this._interaction&&(this._interaction.options=e)},m),a(()=>this.selectedElement,e=>{this._interaction&&(this._interaction.selectedElement=e)},m)])}isUpdating(){return!0===this._interaction?.updating||r(this._elementReferences.values(),({overlay:e})=>!e.isReady)}attach(){this.addAttachHandles([c(()=>this.layer.effectiveSource,"refresh",()=>{this._tileStrategy.refresh(e=>this._updateTile(e)),this.requestUpdate()}),c(()=>this.layer.effectiveSource,"change",({element:e})=>this._elementUpdateHandler(e))]),this._overlayContainer=new v,this.container.addChild(this._overlayContainer),this._fetchQueue=new j({tileInfoView:this.view.featuresTilingScheme,concurrency:10,process:(e,t)=>this._queryElements(e,t),scheduler:this.scheduler,priority:S.MAPVIEW_FETCH_QUEUE}),this._tileStrategy=new _({cachePolicy:"purge",resampling:!0,acquireTile:e=>this._acquireTile(e),releaseTile:e=>this._releaseTile(e),tileInfoView:this.view.featuresTilingScheme}),this.requestUpdate()}detach(){this.elements.removeAll(),this._tileStrategy.destroy(),this._fetchQueue.destroy(),this._overlayContainer.removeAllChildren(),this.container.removeAllChildren(),this._elementReferences.clear(),this._debugGraphicsView?.destroy()}supportsSpatialReference(e){return!0}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}update(e){this._tileStrategy.update(e),this._debugGraphicsView?.update(e)}async hitTest(e,t){const i=[],r=e.normalize(),s=[r.x,r.y];for(const{elementView:{normalizedCoords:n,element:o}}of this._elementReferences.values())null!=n&&g(n.rings,s)&&i.push({type:"media",element:o,layer:this.layer,mapPoint:e,sourcePoint:o.toSource(e)});return i.reverse()}canResume(){return null!=this.layer.source&&super.canResume()}async doRefresh(){this._fetchQueue.reset(),this._tileStrategy.refresh(e=>this._updateTile(e))}_acquireTile(e){const t=new C(e.clone());return this._updateTile(t),t}_updateTile(e){this._updatingHandles.consumePromise(this._fetchQueue.push(e.key).then(t=>{const[i,r]=e.setElements(t);this._referenceElements(e,i),this._dereferenceElements(e,r),this.requestUpdate()},e=>{o(e)||s.getLogger(this).error(e)}))}_releaseTile(e){this._fetchQueue.abort(e.key.id),e.elements&&this._dereferenceElements(e,e.elements),this.requestUpdate()}async _queryElements(e,t){const i=this.layer.effectiveSource;if(null==i)return[];this.view.featuresTilingScheme.getTileBounds(T,e,!0);const r=new d({xmin:T[0],ymin:T[1],xmax:T[2],ymax:T[3],spatialReference:this.view.spatialReference});return i.queryElements(r,t)}_referenceElements(e,t){if(null!=this.layer.source)for(const i of t)this._referenceElement(e,i)}_referenceElement(e,t){n(this._elementReferences,t.uid,()=>{const e=new y({element:t,spatialReference:this.view.spatialReference}),r=new w(e);return this._overlayContainer.addChild(r),this.elements.add(t),this._updatingHandles.consumePromise(t.load().catch(e=>{s.getLogger("esri.views.2d.layers.MediaLayerView2D").error(new i("element-load-error","Element cannot be displayed",{element:t,error:e}))})),{debugGraphic:null,elementView:e,overlay:r,tiles:new Set}}).tiles.add(e)}_dereferenceElements(e,t){for(const i of t)this._dereferenceElement(e,i)}_dereferenceElement(e,t){const i=this._elementReferences.get(t.uid);i.tiles.delete(e),i.tiles.size||(this._overlayContainer.removeChild(i.overlay),i.overlay.destroy(),i.elementView.destroy(),this._elementReferences.delete(t.uid),this.elements.remove(t),this._debugGraphicsView?.graphics.remove(i.debugGraphic))}_elementUpdateHandler(e){let t=this._elementReferences.get(e.uid);if(t){const i=t.elementView.normalizedCoords;if(null==i)return this._overlayContainer.removeChild(t.overlay),t.overlay.destroy(),t.elementView.destroy(),this._elementReferences.delete(e.uid),this.elements.remove(e),void this._debugGraphicsView?.graphics.remove(t.debugGraphic);const r=[],s=[];for(const e of this._tileStrategy.tiles){const n=U(this.view.featuresTilingScheme,e,i);t.tiles.has(e)?n||s.push(e):n&&r.push(e)}for(const t of r)this._referenceElement(t,e);for(const t of s)this._dereferenceElement(t,e);return t=this._elementReferences.get(e.uid),void(t?.debugGraphic&&(t.debugGraphic.geometry=t.elementView.normalizedCoords,this._debugGraphicsView.graphicUpdateHandler({graphic:t.debugGraphic,property:"geometry"})))}const i=new y({element:e,spatialReference:this.view.spatialReference}).normalizedCoords;if(null!=i)for(const r of this._tileStrategy.tiles){U(this.view.featuresTilingScheme,r,i)&&this._referenceElement(r,e)}}};e([h({readOnly:!0})],R.prototype,"elements",void 0),R=e([p("esri.views.2d.layers.MediaLayerView2D")],R);const T=u(),G={xmin:0,ymin:0,xmax:0,ymax:0};function U(e,t,i){return e.getTileBounds(T,t.key,!0),G.xmin=T[0],G.ymin=T[1],G.xmax=T[2],G.ymax=T[3],f(G,i)}class C{constructor(e){this.key=e,this.elements=null,this.isReady=!1,this.visible=!0}setElements(e){const t=[],i=new Set(this.elements);this.elements=e;for(const r of e)i.has(r)?i.delete(r):t.push(r);return this.isReady=!0,[t,Array.from(i)]}destroy(){}}const V=R;export{V as default};
2
+ import{__decorate as e}from"tslib";import"../../../Graphic.js";import t from"../../../core/Collection.js";import i from"../../../core/Error.js";import"../../../core/has.js";import{some as r}from"../../../core/iteratorUtils.js";import s from"../../../core/Logger.js";import{getOrCreateMapValue as n}from"../../../core/MapUtils.js";import{isAbortError as o}from"../../../core/promiseUtils.js";import l from"../../../core/ReactiveMap.js";import{watch as a,syncAndInitial as m,on as c}from"../../../core/reactiveUtils.js";import{isScreenRect as h}from"../../../core/screenUtils.js";import{property as p,subclass as d}from"../../../core/accessorSupport/decorators.js";import u from"../../../geometry/Extent.js";import{create as g}from"../../../geometry/support/aaBoundingRect.js";import{ringsContainsCoords as f}from"../../../geometry/support/contains.js";import{extentIntersectsPolygon as y}from"../../../geometry/support/intersectsBase.js";import{MediaElementView as j}from"../../../layers/support/MediaElementView.js";import"../../../renderers/SimpleRenderer.js";import"../../../symbols/SimpleFillSymbol.js";import"../engine/Stage.js";import"../../../Color.js";import"../../../core/Accessor.js";import"../../../core/mathUtils.js";import"../../../core/libs/gl-matrix-2/factories/vec4f32.js";import"../../../geometry/Point.js";import"../../../chunks/pe.js";import"../../../core/units.js";import"../../../geometry/ellipsoidUtils.js";import"../../../geometry/support/spatialReferenceUtils.js";import"../../../core/RandomLCG.js";import"../engine/transitions/FadeTransition.js";import"../../webgl/BufferObject.js";import"../../webgl/FramebufferObject.js";import"../../webgl/Program.js";import"../../webgl/Renderbuffer.js";import"../../webgl/Texture.js";import"../../webgl/enums.js";import"../../webgl/Util.js";import"../engine/webgl/meshing/definitions.js";import"../engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js";import"../LabelManager.js";import"./graphics/GraphicsView2D.js";import"../../../layers/effects/EffectView.js";import"../engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js";import"../engine/webgl/AFeatureTile.js";import"../engine/webgl/DisplayEntity.js";import"../../../core/libs/gl-matrix-2/factories/vec2f32.js";import"../engine/webgl/number.js";import"../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"../engine/webgl/cpuMapped/GpuMeshState.js";import"../engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/TileStencilShader.js";import"../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import"../../../geometry/support/normalizeUtils.js";import"./support/util.js";import"../navigation/MapViewNavigation.js";import"../../../request.js";import"../../../core/asyncUtils.js";import"../../../core/support/UpdatingHandles.js";import"../../../core/urlUtils.js";import"../engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../../../geometry/Geometry.js";import"../../../geometry/Multipoint.js";import"../../../geometry/Polygon.js";import"../../../geometry/Polyline.js";import"../../../geometry/SpatialReference.js";import"../../../geometry/spatialReferenceEllipsoidUtils.js";import"../../../geometry/operators/support/GeographicTransformation.js";import"../../../geometry/projection/projectors.js";import"../engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../../../geometry/support/geodesicConstants.js";import"../../../geometry/support/Ellipsoid.js";import"../tiling/TileInfoView.js";import"../tiling/TileKey.js";import _ from"../tiling/TileQueue.js";import w from"../tiling/TileStrategy.js";import v from"../engine/webgl/Overlay.js";import b from"../engine/webgl/OverlayContainer.js";import{LayerView2D as E}from"./LayerView2D.js";import S from"../../layers/MediaLayerView.js";import{TaskPriority as R}from"../../support/Scheduler.js";let T=class extends(E(S)){constructor(){super(...arguments),this._overlayContainer=null,this._fetchQueue=null,this._tileStrategy=null,this._elementReferences=new l,this._debugGraphicsView=null,this._interaction=null,this.elements=new t}initialize(){this.addHandles([a(()=>[this.interactive,this.suspended],async()=>{if(this.interactive&&!this._interaction){const{MediaLayerInteraction:e}=await this._updatingHandles.addPromise(import("./support/MediaLayerInteraction.js"));if(this.destroyed)return;this._interaction=new e({view:this.view,layer:this.layer}),this.selectedElement!==this._interaction.selectedElement&&(this._interaction.selectedElement=this.selectedElement),this.interactionOptions!==this._interaction.options&&(this._interaction.options=this.interactionOptions)}this._interaction&&(this._interaction.enabled=!this.suspended&&this.interactive)},m),a(()=>this.interactionOptions,e=>{this._interaction&&(this._interaction.options=e)},m),a(()=>this.selectedElement,e=>{this._interaction&&(this._interaction.selectedElement=e)},m)])}isUpdating(){return!0===this._interaction?.updating||r(this._elementReferences.values(),({overlay:e})=>!e.isReady)}attach(){this.addAttachHandles([c(()=>this.layer.effectiveSource,"refresh",()=>{this._tileStrategy.refresh(e=>this._updateTile(e)),this.requestUpdate()}),c(()=>this.layer.effectiveSource,"change",({element:e})=>this._elementUpdateHandler(e))]),this._overlayContainer=new b,this.container.addChild(this._overlayContainer),this._fetchQueue=new _({tileInfoView:this.view.featuresTilingScheme,concurrency:10,process:(e,t)=>this._queryElements(e,t),scheduler:this.scheduler,priority:R.MAPVIEW_FETCH_QUEUE}),this._tileStrategy=new w({cachePolicy:"purge",resampling:!0,acquireTile:e=>this._acquireTile(e),releaseTile:e=>this._releaseTile(e),tileInfoView:this.view.featuresTilingScheme}),this.requestUpdate()}detach(){this.elements.removeAll(),this._tileStrategy.destroy(),this._fetchQueue.destroy(),this._overlayContainer.removeAllChildren(),this.container.removeAllChildren(),this._elementReferences.clear(),this._debugGraphicsView?.destroy()}supportsSpatialReference(e){return!0}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}update(e){this._tileStrategy.update(e),this._debugGraphicsView?.update(e)}async hitTest(e,t){const i=[],r=e.normalize(),s=[r.x,r.y];for(const{elementView:{normalizedCoords:n,element:o}}of this._elementReferences.values())null!=n&&f(n.rings,s)&&i.push({type:"media",element:o,layer:this.layer,mapPoint:h(t)?null:e,sourcePoint:o.toSource(e)});return i.reverse()}canResume(){return null!=this.layer.source&&super.canResume()}async doRefresh(){this._fetchQueue.reset(),this._tileStrategy.refresh(e=>this._updateTile(e))}_acquireTile(e){const t=new V(e.clone());return this._updateTile(t),t}_updateTile(e){this._updatingHandles.consumePromise(this._fetchQueue.push(e.key).then(t=>{const[i,r]=e.setElements(t);this._referenceElements(e,i),this._dereferenceElements(e,r),this.requestUpdate()},e=>{o(e)||s.getLogger(this).error(e)}))}_releaseTile(e){this._fetchQueue.abort(e.key.id),e.elements&&this._dereferenceElements(e,e.elements),this.requestUpdate()}async _queryElements(e,t){const i=this.layer.effectiveSource;if(null==i)return[];this.view.featuresTilingScheme.getTileBounds(G,e,!0);const r=new u({xmin:G[0],ymin:G[1],xmax:G[2],ymax:G[3],spatialReference:this.view.spatialReference});return i.queryElements(r,t)}_referenceElements(e,t){if(null!=this.layer.source)for(const i of t)this._referenceElement(e,i)}_referenceElement(e,t){n(this._elementReferences,t.uid,()=>{const e=new j({element:t,spatialReference:this.view.spatialReference}),r=new v(e);return this._overlayContainer.addChild(r),this.elements.add(t),this._updatingHandles.consumePromise(t.load().catch(e=>{s.getLogger("esri.views.2d.layers.MediaLayerView2D").error(new i("element-load-error","Element cannot be displayed",{element:t,error:e}))})),{debugGraphic:null,elementView:e,overlay:r,tiles:new Set}}).tiles.add(e)}_dereferenceElements(e,t){for(const i of t)this._dereferenceElement(e,i)}_dereferenceElement(e,t){const i=this._elementReferences.get(t.uid);i.tiles.delete(e),i.tiles.size||(this._overlayContainer.removeChild(i.overlay),i.overlay.destroy(),i.elementView.destroy(),this._elementReferences.delete(t.uid),this.elements.remove(t),this._debugGraphicsView?.graphics.remove(i.debugGraphic))}_elementUpdateHandler(e){let t=this._elementReferences.get(e.uid);if(t){const i=t.elementView.normalizedCoords;if(null==i)return this._overlayContainer.removeChild(t.overlay),t.overlay.destroy(),t.elementView.destroy(),this._elementReferences.delete(e.uid),this.elements.remove(e),void this._debugGraphicsView?.graphics.remove(t.debugGraphic);const r=[],s=[];for(const e of this._tileStrategy.tiles){const n=C(this.view.featuresTilingScheme,e,i);t.tiles.has(e)?n||s.push(e):n&&r.push(e)}for(const t of r)this._referenceElement(t,e);for(const t of s)this._dereferenceElement(t,e);return t=this._elementReferences.get(e.uid),void(t?.debugGraphic&&(t.debugGraphic.geometry=t.elementView.normalizedCoords,this._debugGraphicsView.graphicUpdateHandler({graphic:t.debugGraphic,property:"geometry"})))}const i=new j({element:e,spatialReference:this.view.spatialReference}).normalizedCoords;if(null!=i)for(const r of this._tileStrategy.tiles){C(this.view.featuresTilingScheme,r,i)&&this._referenceElement(r,e)}}};e([p({readOnly:!0})],T.prototype,"elements",void 0),T=e([d("esri.views.2d.layers.MediaLayerView2D")],T);const G=g(),U={xmin:0,ymin:0,xmax:0,ymax:0};function C(e,t,i){return e.getTileBounds(G,t.key,!0),U.xmin=G[0],U.ymin=G[1],U.xmax=G[2],U.ymax=G[3],y(U,i)}class V{constructor(e){this.key=e,this.elements=null,this.isReady=!1,this.visible=!0}setElements(e){const t=[],i=new Set(this.elements);this.elements=e;for(const r of e)i.has(r)?i.delete(r):t.push(r);return this.isReady=!0,[t,Array.from(i)]}destroy(){}}const q=T;export{q as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{isSome as e}from"../../../core/arrayUtils.js";import r from"../../../core/Collection.js";import i from"../../../core/CollectionFlattener.js";import{makeHandle as s}from"../../../core/handleUtils.js";import{watch as o,syncAndInitial as a,initial as n}from"../../../core/reactiveUtils.js";import{property as h,subclass as p}from"../../../core/accessorSupport/decorators.js";import c from"../../../rest/support/DirectionLine.js";import l from"../../../rest/support/DirectionPoint.js";import u from"../../../rest/support/PointBarrier.js";import d from"../../../rest/support/PolygonBarrier.js";import _ from"../../../rest/support/PolylineBarrier.js";import m from"../../../rest/support/RouteInfo.js";import g from"../../../rest/support/Stop.js";import{LayerView2D as w}from"./LayerView2D.js";import y from"./graphics/GraphicContainer.js";import f from"./graphics/GraphicsView2D.js";import{RouteLayerInteractiveOptions as v}from"./support/RouteLayerInteractiveOptions.js";import k from"../../layers/LayerView.js";import{getHighlightName as M}from"../../support/highlightOptionsUtils.js";const F=["route-info","direction-line","direction-point","polygon-barrier","polyline-barrier","point-barrier","stop"],V={graphic:null,property:null,oldValue:null,newValue:null};function G(t){return t instanceof c||t instanceof l||t instanceof u||t instanceof d||t instanceof _||t instanceof m||t instanceof g}function I(t){return r.isCollection(t)&&t.length&&G(t.at(0))}function j(t){return Array.isArray(t)&&t.length>0&&G(t[0])}let P=class extends(w(k)){constructor(){super(...arguments),this._graphics=new r,this._networkFeatureMap=new Map,this._networkGraphicMap=new Map,this._interaction=null,this._loadInteractionPromise=null,this.interactive=!1,this.interactiveOptions=new v}get _routeItems(){return new i({getCollections:()=>this.layer&&!this.destroyed?[this.layer.routeInfo?new r([this.layer.routeInfo]):null,this.layer.directionLines,this.layer.directionPoints,this.layer.polygonBarriers,this.layer.polylineBarriers,this.layer.pointBarriers,this.layer.stops]:[]})}initialize(){this.addHandles(o(()=>{const{interactive:t,suspended:e}=this;return{interactive:t,suspended:e}},({interactive:t,suspended:e})=>{const r=t&&!e;r&&this._getInteractionLoadPromise().then(t=>{t.enabled=this.interactive&&!this.suspended}),this._interaction&&(this._interaction.enabled=r)},a)),this._updatingHandles.addOnCollectionChange(()=>this._routeItems,t=>this._routeItemsChanged(t),n)}destroy(){this._networkFeatureMap.clear(),this._networkGraphicMap.clear(),this._graphics.removeAll(),this._get("_routeItems")?.destroy()}attach(){this._createGraphicsView()}detach(){this._destroyGraphicsView(),this._interaction?.enabled&&(this._interaction.enabled=!1)}get selectedNetworkFeatures(){return this._interaction?.selectedNetworkFeatures??null}async create(t){return this._interaction?.create(t)}delete(){this._interaction?.delete()}async fetchPopupFeaturesAtTarget(t,e,r){return this._graphicsView.hitTest(this.view,t).filter(({popupTemplate:t})=>!!t)}highlight(t,r){let i;i=G(t)?[this._getNetworkFeatureUid(t)]:j(t)?t.map(t=>this._getNetworkFeatureUid(t)):I(t)?t.map(t=>this._getNetworkFeatureUid(t)).toArray():[t.uid];const o=i.filter(e);if(!o.length)return s();const a=M(r);return this._addHighlights(o,a),s(()=>this._removeHighlights(o,a))}async hitTest(t,r){if(this.suspended)return null;const i=this._graphicsView.hitTest(this.view,r).filter(e).map(t=>this._networkGraphicMap.get(t));if(!i.length)return null;const{layer:s}=this;return i.reverse().map(e=>({type:"route",layer:s,mapPoint:t,networkFeature:e}))}isUpdating(){return this._graphicsView.updating}moveEnd(){}remove(t){this._interaction?.remove(t)}update(t){this._graphicsView.processUpdate(t)}viewChange(){this._graphicsView.viewChange()}_createGraphic(t){const e=t.toGraphic();return e.layer=this.layer,e.sourceLayer=this.layer,e}_createGraphicsView(){const t=this.view,e=()=>this.requestUpdate(),r=new y(t.featuresTilingScheme);this._graphicsView=new f({container:r,graphics:this._graphics,requestUpdateCallback:e,view:t}),this.container.addChild(r),this._processHighlight()}_destroyGraphicsView(){this.container.removeChild(this._graphicsView.container),this._graphicsView.destroy()}_getDrawOrder(t){const e=this._networkGraphicMap.get(t);return F.indexOf(e.type)}_getInteractionLoadPromise(){return this._loadInteractionPromise||(this._loadInteractionPromise=this._loadInteraction(),this._updatingHandles.consumePromise(this._loadInteractionPromise)),this._loadInteractionPromise}_getNetworkFeatureUid(t){return this._networkFeatureMap.has(t)?this._networkFeatureMap.get(t).uid:null}async _loadInteraction(){const{interactiveOptions:t,layer:e,view:r}=this,{RouteLayerInteraction:i}=await import("./support/RouteLayerInteraction.js");return this._interaction=new i({interactiveOptions:t,layer:e,view:r}),this._interaction}_routeItemsChanged(t){if(t.removed.length){this._graphics.removeMany(t.removed.map(t=>{const e=this._networkFeatureMap.get(t);return this._networkFeatureMap.delete(t),this._networkGraphicMap.delete(e),e}));for(const e of t.removed)this.removeHandles(e)}if(t.added.length){this._graphics.addMany(t.added.map(t=>{const e=this._createGraphic(t);return null==e.symbol?null:(this._networkFeatureMap.set(t,e),this._networkGraphicMap.set(e,t),e)}).filter(e));for(const e of t.added)this.addHandles([o(()=>e.geometry,(t,r)=>{this._updateGraphic(e,"geometry",t,r)}),o(()=>e.symbol,(t,r)=>{this._updateGraphic(e,"symbol",t,r)}),o(()=>e.popupTemplate,t=>{this._networkFeatureMap.has(e)&&(this._networkFeatureMap.get(e).popupTemplate=t)}),o(()=>e.toGraphic().attributes,t=>{this._networkFeatureMap.has(e)&&(this._networkFeatureMap.get(e).attributes=t)})],e);this._graphics.sort((t,e)=>this._getDrawOrder(t)-this._getDrawOrder(e))}}_updateGraphic(t,e,r,i){if(!this._networkFeatureMap.has(t)){const e=this._createGraphic(t);return this._networkFeatureMap.set(t,e),this._networkGraphicMap.set(e,t),void this._graphics.add(e)}const s=this._networkFeatureMap.get(t);s[e]=r,V.graphic=s,V.property=e,V.oldValue=i,V.newValue=r,this._graphicsView.graphicUpdateHandler(V)}_processHighlight(){const t=this._getHighlights();this._graphicsView?.setHighlight(t)}};t([h()],P.prototype,"_routeItems",null),t([h()],P.prototype,"_interaction",void 0),t([h()],P.prototype,"interactive",void 0),t([h({readOnly:!0})],P.prototype,"interactiveOptions",void 0),t([h({readOnly:!0})],P.prototype,"selectedNetworkFeatures",null),P=t([p("esri.views.2d.layers.RouteLayerView2D")],P);const b=P;export{b as default};
2
+ import{__decorate as t}from"tslib";import{isSome as e}from"../../../core/arrayUtils.js";import r from"../../../core/Collection.js";import i from"../../../core/CollectionFlattener.js";import{makeHandle as s}from"../../../core/handleUtils.js";import{watch as o,syncAndInitial as a,initial as n}from"../../../core/reactiveUtils.js";import{isScreenRect as h}from"../../../core/screenUtils.js";import{property as p,subclass as c}from"../../../core/accessorSupport/decorators.js";import l from"../../../rest/support/DirectionLine.js";import u from"../../../rest/support/DirectionPoint.js";import d from"../../../rest/support/PointBarrier.js";import _ from"../../../rest/support/PolygonBarrier.js";import m from"../../../rest/support/PolylineBarrier.js";import g from"../../../rest/support/RouteInfo.js";import w from"../../../rest/support/Stop.js";import{LayerView2D as y}from"./LayerView2D.js";import f from"./graphics/GraphicContainer.js";import v from"./graphics/GraphicsView2D.js";import{RouteLayerInteractiveOptions as k}from"./support/RouteLayerInteractiveOptions.js";import M from"../../layers/LayerView.js";import{getHighlightName as F}from"../../support/highlightOptionsUtils.js";const V=["route-info","direction-line","direction-point","polygon-barrier","polyline-barrier","point-barrier","stop"],j={graphic:null,property:null,oldValue:null,newValue:null};function G(t){return t instanceof l||t instanceof u||t instanceof d||t instanceof _||t instanceof m||t instanceof g||t instanceof w}function I(t){return r.isCollection(t)&&t.length&&G(t.at(0))}function P(t){return Array.isArray(t)&&t.length>0&&G(t[0])}let b=class extends(y(M)){constructor(){super(...arguments),this._graphics=new r,this._networkFeatureMap=new Map,this._networkGraphicMap=new Map,this._interaction=null,this._loadInteractionPromise=null,this.interactive=!1,this.interactiveOptions=new k}get _routeItems(){return new i({getCollections:()=>this.layer&&!this.destroyed?[this.layer.routeInfo?new r([this.layer.routeInfo]):null,this.layer.directionLines,this.layer.directionPoints,this.layer.polygonBarriers,this.layer.polylineBarriers,this.layer.pointBarriers,this.layer.stops]:[]})}initialize(){this.addHandles(o(()=>{const{interactive:t,suspended:e}=this;return{interactive:t,suspended:e}},({interactive:t,suspended:e})=>{const r=t&&!e;r&&this._getInteractionLoadPromise().then(t=>{t.enabled=this.interactive&&!this.suspended}),this._interaction&&(this._interaction.enabled=r)},a)),this._updatingHandles.addOnCollectionChange(()=>this._routeItems,t=>this._routeItemsChanged(t),n)}destroy(){this._networkFeatureMap.clear(),this._networkGraphicMap.clear(),this._graphics.removeAll(),this._get("_routeItems")?.destroy()}attach(){this._createGraphicsView()}detach(){this._destroyGraphicsView(),this._interaction?.enabled&&(this._interaction.enabled=!1)}get selectedNetworkFeatures(){return this._interaction?.selectedNetworkFeatures??null}async create(t){return this._interaction?.create(t)}delete(){this._interaction?.delete()}async fetchPopupFeaturesAtTarget(t,e,r){return this._graphicsView.hitTest(this.view,t).filter(({popupTemplate:t})=>!!t)}highlight(t,r){let i;i=G(t)?[this._getNetworkFeatureUid(t)]:P(t)?t.map(t=>this._getNetworkFeatureUid(t)):I(t)?t.map(t=>this._getNetworkFeatureUid(t)).toArray():[t.uid];const o=i.filter(e);if(!o.length)return s();const a=F(r);return this._addHighlights(o,a),s(()=>this._removeHighlights(o,a))}async hitTest(t,r){if(this.suspended)return null;const i=this._graphicsView.hitTest(this.view,r).filter(e).map(t=>this._networkGraphicMap.get(t));if(!i.length)return null;const{layer:s}=this;return i.reverse().map(e=>({type:"route",layer:s,mapPoint:h(r)?null:t,networkFeature:e}))}isUpdating(){return this._graphicsView.updating}moveEnd(){}remove(t){this._interaction?.remove(t)}update(t){this._graphicsView.processUpdate(t)}viewChange(){this._graphicsView.viewChange()}_createGraphic(t){const e=t.toGraphic();return e.layer=this.layer,e.sourceLayer=this.layer,e}_createGraphicsView(){const t=this.view,e=()=>this.requestUpdate(),r=new f(t.featuresTilingScheme);this._graphicsView=new v({container:r,graphics:this._graphics,requestUpdateCallback:e,view:t}),this.container.addChild(r),this._processHighlight()}_destroyGraphicsView(){this.container.removeChild(this._graphicsView.container),this._graphicsView.destroy()}_getDrawOrder(t){const e=this._networkGraphicMap.get(t);return V.indexOf(e.type)}_getInteractionLoadPromise(){return this._loadInteractionPromise||(this._loadInteractionPromise=this._loadInteraction(),this._updatingHandles.consumePromise(this._loadInteractionPromise)),this._loadInteractionPromise}_getNetworkFeatureUid(t){return this._networkFeatureMap.has(t)?this._networkFeatureMap.get(t).uid:null}async _loadInteraction(){const{interactiveOptions:t,layer:e,view:r}=this,{RouteLayerInteraction:i}=await import("./support/RouteLayerInteraction.js");return this._interaction=new i({interactiveOptions:t,layer:e,view:r}),this._interaction}_routeItemsChanged(t){if(t.removed.length){this._graphics.removeMany(t.removed.map(t=>{const e=this._networkFeatureMap.get(t);return this._networkFeatureMap.delete(t),this._networkGraphicMap.delete(e),e}));for(const e of t.removed)this.removeHandles(e)}if(t.added.length){this._graphics.addMany(t.added.map(t=>{const e=this._createGraphic(t);return null==e.symbol?null:(this._networkFeatureMap.set(t,e),this._networkGraphicMap.set(e,t),e)}).filter(e));for(const e of t.added)this.addHandles([o(()=>e.geometry,(t,r)=>{this._updateGraphic(e,"geometry",t,r)}),o(()=>e.symbol,(t,r)=>{this._updateGraphic(e,"symbol",t,r)}),o(()=>e.popupTemplate,t=>{this._networkFeatureMap.has(e)&&(this._networkFeatureMap.get(e).popupTemplate=t)}),o(()=>e.toGraphic().attributes,t=>{this._networkFeatureMap.has(e)&&(this._networkFeatureMap.get(e).attributes=t)})],e);this._graphics.sort((t,e)=>this._getDrawOrder(t)-this._getDrawOrder(e))}}_updateGraphic(t,e,r,i){if(!this._networkFeatureMap.has(t)){const e=this._createGraphic(t);return this._networkFeatureMap.set(t,e),this._networkGraphicMap.set(e,t),void this._graphics.add(e)}const s=this._networkFeatureMap.get(t);s[e]=r,j.graphic=s,j.property=e,j.oldValue=i,j.newValue=r,this._graphicsView.graphicUpdateHandler(j)}_processHighlight(){const t=this._getHighlights();this._graphicsView?.setHighlight(t)}};t([p()],b.prototype,"_routeItems",null),t([p()],b.prototype,"_interaction",void 0),t([p()],b.prototype,"interactive",void 0),t([p({readOnly:!0})],b.prototype,"interactiveOptions",void 0),t([p({readOnly:!0})],b.prototype,"selectedNetworkFeatures",null),b=t([c("esri.views.2d.layers.RouteLayerView2D")],b);const C=b;export{C as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{clone as e}from"../../../../../core/lang.js";import{sqlAnd as t}from"../../../../../core/sql.js";import{isHostedAgolService as r}from"../../../../../layers/support/arcgisLayerUrl.js";import{createFeatureIdInfo as s}from"./featureServiceUtils.js";import{getServiceGeometryType as i}from"./geometryUtils.js";import{ExceedsLimitCache as a}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as o,createFeatureSourceSchema as n}from"../schema/SourceSchema.js";import{getSortKey as l}from"../schema/processor/SimpleProcessorSchema.js";import{createStorageSchema as c}from"../schema/processor/StorageSchema.js";import{getAnnotationMatcherSchema as p}from"../../support/annodime/annotationSchema.js";import{annotationRealFields as y,annotationVirtualFields as u}from"../../support/annodime/fields.js";import{getReferenceScale as d}from"../../support/annodime/utils.js";class m{constructor(e){this.layer=e,this._cache=new a}getLabelingDeconflictionInfo(){return[]}async createSourceSchema(e,r){const s=this._createServiceInfo(e),i=null!=this.layer.editingInfo?.lastEditDate,a=this.layer.refreshInterval>0,l=!i&&a,c=o("isSourceHosted"in s&&s.isSourceHosted,l,this.layer.capabilities,s.metadata.geometryType,e.extent,this.layer.fullExtent),p=null!=this.layer.subtypeCode?`${this.layer.subtypeField} = ${this.layer.subtypeCode}`:null,u=t(this.layer.definitionExpression,p);let d=[];return d=e.availableFields.concat(...y),n(s,c,{definitionExpression:u,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:this.layer.displayFilterInfo,customParameters:this.layer.customParameters,gdbVersion:this.layer.gdbVersion,historicMoment:this.layer.historicMoment,timeExtent:this.layer.timeExtent,apiKey:this.layer.apiKey,sourceRefreshVersion:r,availableFields:d,cache:this._cache,postQueryFilter:null,returnM:!1,returnZ:!1})}async createProcessorSchema(e,t,r){const{meshes:s,referenceScale:i}=await this._fetchAnnotationDataElementRequest(e,{type:"annotation-data-element-request"}),{orderBy:a,objectIdField:o}=this.layer,n=l(a,null,o);return{storage:c(null,t.filters),mesh:{properties:{sortKey:n,timeZone:t.timeZone,returnMeshObjectId:!1,displayRefreshVersion:r,currentUser:t.currentUser},strategy:{type:"feature"},factory:{symbology:s,labels:{type:"label",classes:[]},referenceScale:i}},expressionProperties:{timeExtent:null}}}get hasRequiredSupport(){return!0}get timeOptions(){return this.layer}addFilters(e){return e}getUpdateHashProperties(){return this.layer.destroyed?[]:[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>this.layer.gdbVersion,()=>this.layer.historicMoment,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>this.layer.orderBy,()=>this.layer.outFields,()=>this.layer.renderer,()=>this.layer.subtypeCode,()=>this.layer.trackInfo]}getRenderer(){return this.layer.renderer}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}setTrackGraphicOrigin(e){e.origin=this.layer.trackGraphicOrigin}_createServiceInfo(t){const a=this.layer,o=a.fieldsIndex.toJSON();if(o.fields.push(...u),"memory"===a.source.type)throw new Error(`InternalError: Memory source is not supported for ${this.layer.type}.`);const{capabilities:n,editingInfo:l,typeIdField:c,globalIdField:p,datesInUnknownTimezone:y,dateFieldsTimeZone:d,orderBy:m,subtypeField:h}=a,f=i(a),g=a.timeInfo?.toJSON(),S=a.spatialReference.toJSON(),b=a.types?.map(e=>e.toJSON()),F=e(this.layer.parsedUrl);this.layer.dynamicDataSource&&(F.query={layer:JSON.stringify({source:this.layer.dynamicDataSource})});let I=this.layer.objectIdField;if(m?.length){const e=!m[0].valueExpression&&m[0].field;e&&(I=e)}const R=r(F.path),x=t.spatialReference.toJSON();return{type:"feature-service",source:F,isSourceHosted:R,orderByFields:I,outSpatialReference:x,metadata:{typeIdField:c??void 0,types:b,timeReferenceUnknownClient:y,dateFieldsTimeZone:d,subtypeField:h,globalIdField:p,fieldsIndex:o,geometryType:f,featureIdInfo:s(a),timeInfo:g,spatialReference:S,outSpatialReference:x,subtypes:this.layer.subtypes?.map(e=>e.toJSON()),layerType:a.type,hasM:!1,hasZ:!1},queryMetadata:{supportsFormatPBF:!1,supportsQuantization:!1,maxRecordCount:n.query.maxRecordCount,tileMaxRecordCount:n.query.tileMaxRecordCount,supportsCompactGeometry:n.query.supportsCompactGeometry,supportsDefaultSpatialReference:n.query.supportsDefaultSpatialReference,supportsMaxRecordCountFactor:n.query.supportsMaxRecordCountFactor,supportsCentroidOnDegeneratedQuantizedGeometry:n.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:n.query.supportsDegeneratedQuantizedGeometry,lastEditDate:l?.lastEditDate?.getTime(),supportsReturnExceededLimitGeometries:n.query.supportsReturnExceededLimitGeometries}}}async _fetchAnnotationDataElementRequest(e,t){const r={cimAnalyzer:e.cimAnalyzer,cimResourceManager:e.cimResourceManager,store:e.store,scaleExpression:null},s=this.layer,i=await s.fetchDataElement(),a=d(i);return{type:"annotation-data-element-response",dataElement:i,meshes:await p(i,r),referenceScale:a}}}export{m as AnnotationLayerAdapter};
2
+ import{clone as e}from"../../../../../core/lang.js";import{sqlNotIn as t,sqlAnd as r}from"../../../../../core/sql.js";import{isHostedAgolService as s}from"../../../../../layers/support/arcgisLayerUrl.js";import i from"../../../../../layers/support/FeatureFilter.js";import{createFeatureIdInfo as a}from"./featureServiceUtils.js";import{addFloorFilter as o,hasFloorFilter as n}from"./floorFilterUtils.js";import{getServiceGeometryType as l}from"./geometryUtils.js";import{ExceedsLimitCache as p}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as c,createFeatureSourceSchema as u}from"../schema/SourceSchema.js";import{getSortKey as m}from"../schema/processor/SimpleProcessorSchema.js";import{createStorageSchema as y}from"../schema/processor/StorageSchema.js";import{getAnnotationMatcherSchema as d}from"../../support/annodime/annotationSchema.js";import{annotationRealFields as h,annotationVirtualFields as f}from"../../support/annodime/fields.js";import{getReferenceScale as g}from"../../support/annodime/utils.js";class S{constructor(e){this.layer=e,this._cache=new p}getLabelingDeconflictionInfo(){return[]}async createSourceSchema(e,t){const r=this._createServiceInfo(e),s=null!=this.layer.editingInfo?.lastEditDate,i=this.layer.refreshInterval>0,a=!s&&i,o=c("isSourceHosted"in r&&r.isSourceHosted,a,this.layer.capabilities,r.metadata.geometryType,e.extent,this.layer.fullExtent);let n=[];return n=e.availableFields.concat(...h),u(r,o,{definitionExpression:this.layer.definitionExpression,queryScaleRanges:[],displayFilterEnabled:!1,displayFilterInfo:null,customParameters:this.layer.customParameters,gdbVersion:this.layer.gdbVersion,historicMoment:this.layer.historicMoment,timeExtent:this.layer.timeExtent,apiKey:this.layer.apiKey,sourceRefreshVersion:t,availableFields:n,cache:this._cache,postQueryFilter:null,returnM:!1,returnZ:!1})}async createProcessorSchema(e,t,r){const{meshes:s,referenceScale:i}=await this._fetchAnnotationDataElementRequest(e,{type:"annotation-data-element-request"}),{objectIdField:a}=this.layer,o=m(null,null,a);return{storage:y(null,t.filters),mesh:{properties:{sortKey:o,timeZone:t.timeZone,returnMeshObjectId:!1,displayRefreshVersion:r,currentUser:t.currentUser},strategy:{type:"feature"},factory:{symbology:s,labels:{type:"label",classes:[]},referenceScale:i}},expressionProperties:{timeExtent:null}}}get hasRequiredSupport(){return!0}get timeOptions(){return this.layer}addFilters(e,s){e=o(this.layer,e,s);const a=this.layer.sublayers.filter(e=>!e.visible).map(e=>e.subtypeCode);if(!a.length)return e;e??=new i;const n=t(this.layer.subtypeField,a.toArray());return e.where=r(e.where,n),e}getUpdateHashProperties(e){return this.layer.destroyed?[]:[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>n(this.layer,e)?e.floors:null,()=>this.layer.gdbVersion,()=>this.layer.historicMoment,()=>this.layer.outFields,()=>this.layer.sublayers.map(({visible:e})=>({visible:e}))]}getRenderer(){return null}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}_createServiceInfo(t){const r=this.layer,i=r.fieldsIndex.toJSON();i.fields.push(...f);const{capabilities:o,editingInfo:n,globalIdField:p,datesInUnknownTimezone:c,dateFieldsTimeZone:u,subtypeField:m}=r,y=l(r),d=r.timeInfo?.toJSON(),h=r.spatialReference.toJSON(),g=e(this.layer.parsedUrl),S=this.layer.objectIdField,b=s(g.path),F=t.spatialReference.toJSON();return{type:"feature-service",source:g,isSourceHosted:b,orderByFields:S,outSpatialReference:F,metadata:{timeReferenceUnknownClient:c,dateFieldsTimeZone:u,subtypeField:m,globalIdField:p,fieldsIndex:i,geometryType:y,featureIdInfo:a(r),timeInfo:d,spatialReference:h,outSpatialReference:F,subtypes:this.layer.subtypes?.map(e=>e.toJSON()),typeIdField:null,types:null,layerType:r.type,hasM:!1,hasZ:!1},queryMetadata:{supportsFormatPBF:!1,supportsQuantization:!1,maxRecordCount:o.query.maxRecordCount,tileMaxRecordCount:o.query.tileMaxRecordCount,supportsCompactGeometry:o.query.supportsCompactGeometry,supportsDefaultSpatialReference:o.query.supportsDefaultSpatialReference,supportsMaxRecordCountFactor:o.query.supportsMaxRecordCountFactor,supportsCentroidOnDegeneratedQuantizedGeometry:o.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:o.query.supportsDegeneratedQuantizedGeometry,lastEditDate:n?.lastEditDate?.getTime(),supportsReturnExceededLimitGeometries:o.query.supportsReturnExceededLimitGeometries}}}async _fetchAnnotationDataElementRequest(e,t){const r={cimAnalyzer:e.cimAnalyzer,cimResourceManager:e.cimResourceManager,store:e.store,scaleExpression:null},s=this.layer,i=await s.fetchDataElement(),a=g(i);return{type:"annotation-data-element-response",dataElement:i,meshes:await d(i,r),referenceScale:a}}}export{S as AnnotationLayerAdapter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{clone as e}from"../../../../../core/lang.js";import{sqlAnd as t}from"../../../../../core/sql.js";import{isHostedAgolService as r}from"../../../../../layers/support/arcgisLayerUrl.js";import{createFeatureIdInfo as s}from"./featureServiceUtils.js";import{getServiceGeometryType as i}from"./geometryUtils.js";import{ExceedsLimitCache as a}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as o,createFeatureSourceSchema as n}from"../schema/SourceSchema.js";import{getSortKey as l}from"../schema/processor/SimpleProcessorSchema.js";import{createStorageSchema as c}from"../schema/processor/StorageSchema.js";import{getDimensionMatcherSchema as p}from"../../support/annodime/dimensionSchema.js";import{dimensionRealFields as y,dimensionVirtualFields as u}from"../../support/annodime/fields.js";import{getReferenceScale as d}from"../../support/annodime/utils.js";class m{constructor(e){this.layer=e,this._cache=new a}getLabelingDeconflictionInfo(){return[]}async createSourceSchema(e,r){const s=this._createServiceInfo(e),i=null!=this.layer.editingInfo?.lastEditDate,a=this.layer.refreshInterval>0,l=!i&&a,c=o("isSourceHosted"in s&&s.isSourceHosted,l,this.layer.capabilities,s.metadata.geometryType,e.extent,this.layer.fullExtent),p=null!=this.layer.subtypeCode?`${this.layer.subtypeField} = ${this.layer.subtypeCode}`:null,u=t(this.layer.definitionExpression,p);let d=[];return d=e.availableFields.concat(...y),n(s,c,{definitionExpression:u,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:this.layer.displayFilterInfo,customParameters:this.layer.customParameters,gdbVersion:this.layer.gdbVersion,historicMoment:this.layer.historicMoment,timeExtent:this.layer.timeExtent,apiKey:this.layer.apiKey,sourceRefreshVersion:r,availableFields:d,cache:this._cache,postQueryFilter:null,returnM:!1,returnZ:!1})}async createProcessorSchema(e,t,r){const{meshes:s,referenceScale:i}=await this._fetchDimensionDataElementRequest(e,{type:"dimension-data-element-request"}),{orderBy:a,objectIdField:o}=this.layer,n=l(a,null,o);return{storage:c(null,t.filters),mesh:{properties:{sortKey:n,timeZone:t.timeZone,returnMeshObjectId:!1,displayRefreshVersion:r,currentUser:t.currentUser},strategy:{type:"feature"},factory:{symbology:s,labels:{type:"label",classes:[]},referenceScale:i}},expressionProperties:{timeExtent:null}}}get hasRequiredSupport(){return!0}get timeOptions(){return this.layer}addFilters(e){return e}getUpdateHashProperties(){return this.layer.destroyed?[]:[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>this.layer.gdbVersion,()=>this.layer.historicMoment,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>this.layer.orderBy,()=>this.layer.outFields,()=>this.layer.renderer,()=>this.layer.subtypeCode,()=>this.layer.trackInfo]}getRenderer(){return this.layer.renderer}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}setTrackGraphicOrigin(e){e.origin=this.layer.trackGraphicOrigin}_createServiceInfo(t){const a=this.layer,o=a.fieldsIndex.toJSON();if(o.fields.push(...u),"memory"===a.source.type)throw new Error(`InternalError: Memory source is not supported for ${this.layer.type}.`);const{capabilities:n,editingInfo:l,typeIdField:c,globalIdField:p,datesInUnknownTimezone:y,dateFieldsTimeZone:d,orderBy:m,subtypeField:h}=a,f=i(a),g=a.timeInfo?.toJSON(),S=a.spatialReference.toJSON(),b=a.types?.map(e=>e.toJSON()),F=e(this.layer.parsedUrl);this.layer.dynamicDataSource&&(F.query={layer:JSON.stringify({source:this.layer.dynamicDataSource})});let I=this.layer.objectIdField;if(m?.length){const e=!m[0].valueExpression&&m[0].field;e&&(I=e)}const R=r(F.path),x=t.spatialReference.toJSON();return{type:"feature-service",source:F,isSourceHosted:R,orderByFields:I,outSpatialReference:x,metadata:{typeIdField:c??void 0,types:b,timeReferenceUnknownClient:y,dateFieldsTimeZone:d,subtypeField:h,globalIdField:p,fieldsIndex:o,geometryType:f,featureIdInfo:s(a),timeInfo:g,spatialReference:S,outSpatialReference:x,subtypes:this.layer.subtypes?.map(e=>e.toJSON()),layerType:a.type,hasM:!1,hasZ:!1},queryMetadata:{supportsFormatPBF:!1,supportsQuantization:!1,maxRecordCount:n.query.maxRecordCount,tileMaxRecordCount:n.query.tileMaxRecordCount,supportsCompactGeometry:n.query.supportsCompactGeometry,supportsDefaultSpatialReference:n.query.supportsDefaultSpatialReference,supportsMaxRecordCountFactor:n.query.supportsMaxRecordCountFactor,supportsCentroidOnDegeneratedQuantizedGeometry:n.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:n.query.supportsDegeneratedQuantizedGeometry,lastEditDate:l?.lastEditDate?.getTime(),supportsReturnExceededLimitGeometries:n.query.supportsReturnExceededLimitGeometries}}}async _fetchDimensionDataElementRequest(e,t){const r={cimAnalyzer:e.cimAnalyzer,cimResourceManager:e.cimResourceManager,store:e.store,scaleExpression:null},s=this.layer,i=await s.fetchDataElement(),a=d(i);return{type:"dimension-data-element-response",dataElement:i,meshes:await p(i,r),referenceScale:a}}}export{m as DimensionLayerAdapter};
2
+ import{clone as e}from"../../../../../core/lang.js";import{isHostedAgolService as t}from"../../../../../layers/support/arcgisLayerUrl.js";import{createFeatureIdInfo as r}from"./featureServiceUtils.js";import{getServiceGeometryType as s}from"./geometryUtils.js";import{ExceedsLimitCache as i}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as a,createFeatureSourceSchema as o}from"../schema/SourceSchema.js";import{getSortKey as n}from"../schema/processor/SimpleProcessorSchema.js";import{createStorageSchema as l}from"../schema/processor/StorageSchema.js";import{getDimensionMatcherSchema as c}from"../../support/annodime/dimensionSchema.js";import{dimensionRealFields as p,dimensionVirtualFields as u}from"../../support/annodime/fields.js";import{getReferenceScale as m}from"../../support/annodime/utils.js";class d{constructor(e){this.layer=e,this._cache=new i}getLabelingDeconflictionInfo(){return[]}async createSourceSchema(e,t){const r=this._createServiceInfo(e),s=null!=this.layer.editingInfo?.lastEditDate,i=this.layer.refreshInterval>0,n=!s&&i,l=a("isSourceHosted"in r&&r.isSourceHosted,n,this.layer.capabilities,r.metadata.geometryType,e.extent,this.layer.fullExtent);let c=[];return c=e.availableFields.concat(...p),o(r,l,{definitionExpression:this.layer.definitionExpression,queryScaleRanges:[],displayFilterEnabled:!1,displayFilterInfo:null,customParameters:this.layer.customParameters,gdbVersion:this.layer.gdbVersion,historicMoment:this.layer.historicMoment,timeExtent:this.layer.timeExtent,apiKey:this.layer.apiKey,sourceRefreshVersion:t,availableFields:c,cache:this._cache,postQueryFilter:null,returnM:!1,returnZ:!1})}async createProcessorSchema(e,t,r){const{meshes:s,referenceScale:i}=await this._fetchDimensionDataElementRequest(e,{type:"dimension-data-element-request"}),{objectIdField:a}=this.layer,o=n(null,null,a);return{storage:l(null,t.filters),mesh:{properties:{sortKey:o,timeZone:t.timeZone,returnMeshObjectId:!1,displayRefreshVersion:r,currentUser:t.currentUser},strategy:{type:"feature"},factory:{symbology:s,labels:{type:"label",classes:[]},referenceScale:i}},expressionProperties:{timeExtent:null}}}get hasRequiredSupport(){return!0}get timeOptions(){return this.layer}addFilters(e){return e}getUpdateHashProperties(){return this.layer.destroyed?[]:[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>this.layer.gdbVersion,()=>this.layer.historicMoment,()=>this.layer.outFields]}getRenderer(){return null}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}_createServiceInfo(i){const a=this.layer,o=a.fieldsIndex.toJSON();o.fields.push(...u);const{capabilities:n,editingInfo:l,globalIdField:c,datesInUnknownTimezone:p,dateFieldsTimeZone:m,subtypeField:d}=a,y=s(a),h=a.timeInfo?.toJSON(),f=a.spatialReference.toJSON(),g=e(this.layer.parsedUrl),S=this.layer.objectIdField,R=t(g.path),x=i.spatialReference.toJSON();return{type:"feature-service",source:g,isSourceHosted:R,orderByFields:S,outSpatialReference:x,metadata:{timeReferenceUnknownClient:p,dateFieldsTimeZone:m,subtypeField:d,globalIdField:c,fieldsIndex:o,geometryType:y,featureIdInfo:r(a),timeInfo:h,spatialReference:f,outSpatialReference:x,subtypes:this.layer.subtypes?.map(e=>e.toJSON()),typeIdField:null,types:null,layerType:a.type,hasM:!1,hasZ:!1},queryMetadata:{supportsFormatPBF:!1,supportsQuantization:!1,maxRecordCount:n.query.maxRecordCount,tileMaxRecordCount:n.query.tileMaxRecordCount,supportsCompactGeometry:n.query.supportsCompactGeometry,supportsDefaultSpatialReference:n.query.supportsDefaultSpatialReference,supportsMaxRecordCountFactor:n.query.supportsMaxRecordCountFactor,supportsCentroidOnDegeneratedQuantizedGeometry:n.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:n.query.supportsDegeneratedQuantizedGeometry,lastEditDate:l?.lastEditDate?.getTime(),supportsReturnExceededLimitGeometries:n.query.supportsReturnExceededLimitGeometries}}}async _fetchDimensionDataElementRequest(e,t){const r={cimAnalyzer:e.cimAnalyzer,cimResourceManager:e.cimResourceManager,store:e.store,scaleExpression:null},s=this.layer,i=await s.fetchDataElement(),a=m(i);return{type:"dimension-data-element-response",dataElement:i,meshes:await c(i,r),referenceScale:a}}}export{d as DimensionLayerAdapter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import t from"../../../../../../core/Error.js";import"../../../../../../core/has.js";import{notDeepEqual as e}from"../../../../../../core/object.js";import{throwIfAborted as s}from"../../../../../../core/promiseUtils.js";import{equals as i,difference as a}from"../../../../../../core/SetUtils.js";import{openWithPorts as r}from"../../../../../../core/workers/workers.js";import{loadParquetModule as o}from"../../../../../../libs/parquet/loadParquetModule.js";import{ALoadStrategy as l}from"./ALoadStrategy.js";import{ParquetSnapshotSourceChunk as n}from"./chunks/ParquetSnapshotSourceChunk.js";import{FeatureSetReaderParquet as h}from"../../support/FeatureSetReaderParquet.js";const d=8;class p extends l{constructor(t,e,s,i){super(t.metadata,e,s),this._service=t,this._fileIds=new Set,this._loaded=this._load(i)}destroy(){super.destroy(),this._loaded.finally(()=>{this._client.close(),this._client=null;for(const t of this._ports)t.close()}).catch(()=>{})}get about(){return{willQueryAllFeatures:!0,willQueryFullResolutionGeometry:!0}}get availableFields(){return this._schema.partial.availableFields}get definitionExpression(){return this._schema.full.definitionExpression}async tryUpdate(s,a){if(await this._loaded,e(this.availableFields,a.availableFields)&&await this._updateFields(a.availableFields),this._schema.partial.dataSourceHash!==a.dataSourceHash){const e=new Set(await this._proxy.getFilesIds());if(!i(e,this._fileIds)){for(const t of e)this._fileIds.has(t)||await this._loadFile(t);for(const s of this._fileIds)if(!e.has(s))throw new t("unsupported","Removing parquet files is not supported",{previous:this._fileIds,next:e})}}return this._schema.partial=a,!0}async load(t){return this._loaded}unload(t){}_onOverride(){}async _load(t){this._ports=await t.layerView.openMemoryPorts(),this._client=await r(this._ports,{maxNumberOfConcurrentJobs:20}),this._proxy=this._client.createInvokeProxy(),this._indexMap=await this._proxy.getIndexMap(),this._fileIds=new Set(await this._proxy.getFilesIds()),await this._download()}async _updateFields(t){const e=new Set(t),s=a(e,new Set(this.availableFields));if(null!=this._service.metadata.fieldsIndex&&s.size){const t=Array.from(this.store.insertedChunks()).map(t=>t.updateFields(this._proxy,Array.from(s),this._options));await Promise.all(t)}}async _loadFile(t){const e=await o();s(this._options);const i=await this._proxy.queryStream(t,{type:"snapshot",outFields:Array.from(this.availableFields),returnGeometry:!0,outSpatialReference:this.metadata.outSpatialReference.toJSON(),where:this.definitionExpression},this._options);let a=0;const r=[],l=async(r=0)=>{const o=await this._proxy.getStreamNext(t,i,this._options);if(s(this._options),null==o)return;const d=e.ParquetChunk.deserialize(new Uint8Array(o)),p=new h(this.metadata,this._indexMap,d,t),c=new n(this.metadata,p,a++,!1,t);return this.store.insert(c),l(r+1)};for(let s=0;s<d;s++)r.push(l());await Promise.all(r)}async _download(){try{await Promise.all(Array.from(this._fileIds.values()).map(t=>this._loadFile(t)));const t=new n(this.metadata,null,-1,!0,null);this.store.insert(t)}catch(t){throw console.error(t),t}}}export{p as ParquetSnapshotLoadStrategy};
2
+ import"../../../../../../core/has.js";import{notDeepEqual as t}from"../../../../../../core/object.js";import{throwIfAborted as e}from"../../../../../../core/promiseUtils.js";import{difference as s}from"../../../../../../core/SetUtils.js";import{openWithPorts as a}from"../../../../../../core/workers/workers.js";import{loadParquetModule as i}from"../../../../../../libs/parquet/loadParquetModule.js";import{ALoadStrategy as r}from"./ALoadStrategy.js";import{ParquetSnapshotSourceChunk as o}from"./chunks/ParquetSnapshotSourceChunk.js";import{FeatureSetReaderParquet as l}from"../../support/FeatureSetReaderParquet.js";class n extends r{constructor(t,e,s,a){super(t.metadata,e,s),this._service=t,this._loaded=this._load(a)}destroy(){super.destroy(),this._loaded.finally(()=>{this._client.close(),this._client=null;for(const t of this._ports)t.close()}).catch(()=>{})}get about(){return{willQueryAllFeatures:!0,willQueryFullResolutionGeometry:!0}}get availableFields(){return this._schema.partial.availableFields}get definitionExpression(){return this._schema.full.definitionExpression}async tryUpdate(e,s){await this._loaded;let a=!0;return t(this.availableFields,s.availableFields)&&await this._updateFields(s.availableFields),this._schema.partial.dataSourceHash!==s.dataSourceHash&&(a=!1),this._schema.partial=s,a}async load(t){return this._loaded}unload(t){}_onOverride(){}async _load(t){this._ports=await t.layerView.openMemoryPorts(),this._client=await a(this._ports,{maxNumberOfConcurrentJobs:20}),this._proxy=this._client.createInvokeProxy(),this._indexMap=await this._proxy.getIndexMap(),await this._download()}async _updateFields(t){const e=new Set(t),a=s(e,new Set(this.availableFields));if(null!=this._service.metadata.fieldsIndex&&a.size){const t=Array.from(this.store.insertedChunks()).map(t=>t.updateFields(this._proxy,Array.from(a),this._options));await Promise.all(t)}}async _downloadFiles(){const t=await i();e(this._options);const s=await this._proxy.queryStream({type:"snapshot",outFields:Array.from(this.availableFields),returnGeometry:!0,outSpatialReference:this.metadata.outSpatialReference.toJSON(),where:this.definitionExpression},this._options);let a=0;for(;;){const i=await this._proxy.getStreamNext(s,this._options);if(e(this._options),null==i)break;const{fileId:r,buffer:n}=i,d=t.ParquetChunk.deserialize(new Uint8Array(n)),h=new l(this.metadata,this._indexMap,d,r),p=new o(this.metadata,h,a++,!1,r);this.store.insert(p)}}async _download(){try{await this._downloadFiles();const t=new o(this.metadata,null,-1,!0,null);this.store.insert(t)}catch(t){throw console.error(t),t}}}export{n as ParquetSnapshotLoadStrategy};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import t from"../../../../../../core/Error.js";import{handlesGroup as e}from"../../../../../../core/handleUtils.js";import"../../../../../../core/has.js";import{getOrCreateMapValue as s}from"../../../../../../core/MapUtils.js";import{notDeepEqual as i}from"../../../../../../core/object.js";import{throwIfAborted as r,onAbort as a}from"../../../../../../core/promiseUtils.js";import{QueueProcessor as o}from"../../../../../../core/QueueProcessor.js";import{equals as l,difference as n}from"../../../../../../core/SetUtils.js";import{openWithPorts as d}from"../../../../../../core/workers/workers.js";import{loadParquetModule as h}from"../../../../../../libs/parquet/loadParquetModule.js";import{ALoadStrategy as c}from"./ALoadStrategy.js";import{fetchQueueConcurrency as u}from"./constants.js";import{ParquetSourceChunk as p}from"./chunks/ParquetSourceChunk.js";import{FeatureSetReaderParquet as m}from"../../support/FeatureSetReaderParquet.js";const _=2,f=4;class y{constructor(t,s){this.subscription=t,this.chunks=[],this.ids=[],this._controller=new AbortController,this._handles=e([a(t.signal,()=>this._controller.abort()),a(s,()=>this._controller.abort())])}destroy(){this._controller.abort(),this._handles.remove()}get options(){return{signal:this._controller.signal}}addBinaryData(t){this.chunks.push(t)}addSourceChunkId(t){this.ids.push(t)}}class w extends c{constructor(t,e,s,i){if(super(t.metadata,e,s),this._service=t,this._loadStates=new Map,this._fileIds=new Set,this._queue=new o({concurrency:u,process:t=>this._loadTile(t)}),!t.geometryInfo.displayOptimization)throw new Error("InternalError: ParquetTileLoadStrategy only supports XZ-enabled parquet files");this._loaded=this._load(i)}destroy(){super.destroy(),this._loaded.finally(()=>{this._client.close(),this._client=null;for(const t of this._ports)t.close()}).catch(()=>{})}get about(){return{willQueryAllFeatures:!0,willQueryFullResolutionGeometry:!0}}get availableFields(){return this._schema.partial.availableFields}get definitionExpression(){return this._schema.full.definitionExpression}async tryUpdate(e,s){await this._loaded;let r=!0;if(i(this.availableFields,s.availableFields)&&await this._updateFields(s.availableFields),this._schema.partial.dataSourceHash!==s.dataSourceHash){const e=new Set(await this._proxy.getFilesIds());if(!l(e,this._fileIds)){for(const t of e)this._fileIds.has(t)||(r=!1,this._insert(t));for(const s of this._fileIds.keys())if(!e.has(s))throw new t("unsupported","Removing parquet files is not supported",{previous:this._fileIds,next:e})}}return this._schema.partial=s,r}async load(t){return await this._loaded,s(this._loadStates,t.key.id,()=>new y(t,this._options)),this._queue.push(t)}unload(t){const e=this._loadStates.get(t.tile.id);if(null!=e){for(const t of e.ids)this.store.removeById(t);e.destroy(),this._loadStates.delete(t.tile.id)}}async _load(t){this._ports=await t.layerView.openMemoryPorts(),this._client=await d(this._ports,{maxNumberOfConcurrentJobs:20}),this._proxy=this._client.createInvokeProxy(),this._indexMap=await this._proxy.getIndexMap();const e=await this._proxy.getFilesIds();for(const s of e)this._insert(s)}_insert(t){this._fileIds.add(t)}_onOverride(){}async _updateFields(t){const e=new Set(t),s=n(e,new Set(this.availableFields));if(null!=this._service.metadata.fieldsIndex&&s.size){const t=Array.from(this.store.insertedChunks()).map(t=>t.updateFields(this._proxy,Array.from(s),this._options));await Promise.all(t)}}async _loadTile(t){const e=t.tile,s=t.signal,i=this._loadStates.get(e.id),a=new o({process:async e=>this._downloadFileData(t,e),concurrency:_});await Promise.allSettled(Array.from(this._fileIds.keys()).map(t=>a.push(t))),r(s);const l=new p(this.metadata,null,e,null,0,!0);i.addSourceChunkId(l.chunkId),this.store.insert(l)}async _downloadFileData(t,e){const s=await h(),i=t.tile,a=t.signal,o=this._loadStates.get(i.id),l=await this._proxy.queryStream(e,{type:"tile",extent:i.extent,transform:i.normalizedTransform,outFields:Array.from(this.availableFields),returnGeometry:!0,outSpatialReference:this.metadata.outSpatialReference.toJSON(),scale:i.scale,where:this.definitionExpression},{signal:a});let n=0;const d=[],c=async(t=0)=>{const d=await this._proxy.getStreamNext(e,l,{signal:a});if(r(a),null==d)return;const h=s.ParquetChunk.deserialize(new Uint8Array(d)),u=new m(this.metadata,this._indexMap,h,e,i.transform),_=new p(this.metadata,u,i,e,n++,!1);return o.addBinaryData({data:h,fileId:e}),o.addSourceChunkId(_.chunkId),this.store.insert(_),c(t+1)};for(let r=0;r<f;r++)d.push(c());await Promise.all(d)}}export{w as ParquetTileLoadStrategy};
2
+ import{handlesGroup as t}from"../../../../../../core/handleUtils.js";import"../../../../../../core/has.js";import{getOrCreateMapValue as e}from"../../../../../../core/MapUtils.js";import{notDeepEqual as s}from"../../../../../../core/object.js";import{throwIfAborted as a,onAbort as i}from"../../../../../../core/promiseUtils.js";import{QueueProcessor as r}from"../../../../../../core/QueueProcessor.js";import{difference as o}from"../../../../../../core/SetUtils.js";import{openWithPorts as l}from"../../../../../../core/workers/workers.js";import{loadParquetModule as n}from"../../../../../../libs/parquet/loadParquetModule.js";import{ALoadStrategy as d}from"./ALoadStrategy.js";import{fetchQueueConcurrency as h}from"./constants.js";import{ParquetSourceChunk as c}from"./chunks/ParquetSourceChunk.js";import{FeatureSetReaderParquet as u}from"../../support/FeatureSetReaderParquet.js";class p{constructor(e,s){this.subscription=e,this.chunks=[],this.ids=[],this._controller=new AbortController,this._handles=t([i(e.signal,()=>this._controller.abort()),i(s,()=>this._controller.abort())])}destroy(){this._controller.abort(),this._handles.remove()}get options(){return{signal:this._controller.signal}}addBinaryData(t){this.chunks.push(t)}addSourceChunkId(t){this.ids.push(t)}}class m extends d{constructor(t,e,s,a){if(super(t.metadata,e,s),this._service=t,this._loadStates=new Map,this._queue=new r({concurrency:h,process:t=>this._loadTile(t)}),!t.geometryInfo.displayOptimization)throw new Error("InternalError: ParquetTileLoadStrategy only supports XZ-enabled parquet files");this._loaded=this._load(a)}destroy(){super.destroy(),this._loaded.finally(()=>{this._client.close(),this._client=null;for(const t of this._ports)t.close()}).catch(()=>{})}get about(){return{willQueryAllFeatures:!0,willQueryFullResolutionGeometry:!0}}get availableFields(){return this._schema.partial.availableFields}get definitionExpression(){return this._schema.full.definitionExpression}async tryUpdate(t,e){await this._loaded;let a=!0;return s(this.availableFields,e.availableFields)&&await this._updateFields(e.availableFields),this._schema.partial.dataSourceHash!==e.dataSourceHash&&(a=!1),this._schema.partial=e,a}async load(t){return await this._loaded,e(this._loadStates,t.key.id,()=>new p(t,this._options)),this._queue.push(t)}unload(t){const e=this._loadStates.get(t.tile.id);if(null!=e){for(const t of e.ids)this.store.removeById(t);e.destroy(),this._loadStates.delete(t.tile.id)}}async _load(t){this._ports=await t.layerView.openMemoryPorts(),this._client=await l(this._ports,{maxNumberOfConcurrentJobs:20}),this._proxy=this._client.createInvokeProxy(),this._indexMap=await this._proxy.getIndexMap()}_onOverride(){}async _updateFields(t){const e=new Set(t),s=o(e,new Set(this.availableFields));if(null!=this._service.metadata.fieldsIndex&&s.size){const t=Array.from(this.store.insertedChunks()).map(t=>t.updateFields(this._proxy,Array.from(s),this._options));await Promise.all(t)}}async _loadTile(t){const e=t.tile,s=t.signal,i=this._loadStates.get(e.id);await this._downloadTileData(t),a(s);const r=new c(this.metadata,null,e,null,0,!0);i.addSourceChunkId(r.chunkId),this.store.insert(r)}async _downloadTileData(t){const e=await n(),s=t.tile,i=t.signal,r=this._loadStates.get(s.id),o=await this._proxy.queryStream({type:"tile",extent:s.extent,transform:s.normalizedTransform,outFields:Array.from(this.availableFields),returnGeometry:!0,outSpatialReference:this.metadata.outSpatialReference.toJSON(),scale:s.scale,where:this.definitionExpression},{signal:i});let l=0;for(;;){const t=await this._proxy.getStreamNext(o,{signal:i});if(a(i),null==t)break;const{fileId:n,buffer:d}=t,h=e.ParquetChunk.deserialize(new Uint8Array(d)),p=new u(this.metadata,this._indexMap,h,n,s.transform),m=new c(this.metadata,p,s,n,l++,!1);r.addBinaryData({data:h,fileId:n}),r.addSourceChunkId(m.chunkId),this.store.insert(m)}}}export{m as ParquetTileLoadStrategy};