@arcgis/core 6.0.0-next.20 → 6.0.0-next.22

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 (235) hide show
  1. package/arcgisGlobal.d.ts +1 -0
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/0049b66ccbfb168caa76.js +1 -0
  4. package/assets/esri/core/workers/chunks/092e311cb7aea92a6a26.js +1 -0
  5. package/assets/esri/core/workers/chunks/0df9a906f7823c23d426.js +1 -0
  6. package/assets/esri/core/workers/chunks/17c6d66b47aa690df0d4.js +1 -0
  7. package/assets/esri/core/workers/chunks/{3704b4e7efc3abc1a7b1.js → 242a77066ac5cdb5b7d7.js} +1 -1
  8. package/assets/esri/core/workers/chunks/2ad69cc496235702bbf2.js +1 -0
  9. package/assets/esri/core/workers/chunks/2f91fd61019d2a37476d.js +1 -0
  10. package/assets/esri/core/workers/chunks/3cd04d23b73beaf79650.js +1 -0
  11. package/assets/esri/core/workers/chunks/434a8ba841a59e0deab9.js +1 -0
  12. package/assets/esri/core/workers/chunks/{60f92eb03c6e17ab4747.js → 435b90168f79c5587a07.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{f00458654c7c34c369ef.js → 45ba4aa87a4732198596.js} +1 -1
  14. package/assets/esri/core/workers/chunks/504184828048310a052c.js +1 -0
  15. package/assets/esri/core/workers/chunks/{eca44e53bcee9b08d70a.js → 5046214dd32029cb733d.js} +1 -1
  16. package/assets/esri/core/workers/chunks/53ff68d4f9e365fc15cd.js +1 -0
  17. package/assets/esri/core/workers/chunks/542e5640ea1b80ef801a.js +1 -0
  18. package/assets/esri/core/workers/chunks/58865772bed48141a56a.js +1 -0
  19. package/assets/esri/core/workers/chunks/5a9b7eb26f936f03d02e.js +1 -0
  20. package/assets/esri/core/workers/chunks/5d76f4d97beee494bbbf.js +1 -0
  21. package/assets/esri/core/workers/chunks/5f07f52bb8b7721f08d3.js +1 -0
  22. package/assets/esri/core/workers/chunks/67f54efc817b241f8746.js +1 -0
  23. package/assets/esri/core/workers/chunks/6d41444b46677aa762a7.js +1 -0
  24. package/assets/esri/core/workers/chunks/6dfe96b056bec30068df.js +1 -0
  25. package/assets/esri/core/workers/chunks/7159d9c36869cd82599e.js +29 -0
  26. package/assets/esri/core/workers/chunks/792d2b62356a1d953c88.js +1 -0
  27. package/assets/esri/core/workers/chunks/{00d66e3fba5ab4d2aa3c.js → 84940d8e14caf5a27e04.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{9401cc22373566e1171e.js → 8a7b02037151767542f1.js} +1 -1
  29. package/assets/esri/core/workers/chunks/95b82cbbe355266c65d7.js +1 -0
  30. package/assets/esri/core/workers/chunks/a64446a3328a7323e307.js +1 -0
  31. package/assets/esri/core/workers/chunks/a65951f1d5702cfd996e.js +1 -0
  32. package/assets/esri/core/workers/chunks/{7bbfe9ff352afc566367.js → a679207c3458cc0b1fec.js} +1 -1
  33. package/assets/esri/core/workers/chunks/a6f969851d4278865cc5.js +1 -0
  34. package/assets/esri/core/workers/chunks/aa4f3751f0d830113bed.js +1 -0
  35. package/assets/esri/core/workers/chunks/b0ca81a07cff25df19d2.js +1 -0
  36. package/assets/esri/core/workers/chunks/b1d989b72203113a06fe.js +1 -0
  37. package/assets/esri/core/workers/chunks/{9fab290090ef2ccae810.js → b3273f847405799e3362.js} +1 -1
  38. package/assets/esri/core/workers/chunks/b4c3ec081874b49ff89b.js +1 -0
  39. package/assets/esri/core/workers/chunks/b6d71a4ab788a09714f3.js +1 -0
  40. package/assets/esri/core/workers/chunks/{597db9c90f19092d8d66.js → baed828b7846c0863289.js} +14 -14
  41. package/assets/esri/core/workers/chunks/{28b74bc77f7c13080074.js → be97a629e2ae4d13ceb3.js} +1 -1
  42. package/assets/esri/core/workers/chunks/c0d7ae314ebfad1e3791.js +1 -0
  43. package/assets/esri/core/workers/chunks/c82daefb193aae895bc0.js +1 -0
  44. package/assets/esri/core/workers/chunks/d8a7eba588d374b2f961.js +1 -0
  45. package/assets/esri/core/workers/chunks/db9921fbda556f142c4a.js +1 -0
  46. package/assets/esri/core/workers/chunks/ee08ae5b73439a1ff666.js +1 -0
  47. package/assets/esri/core/workers/chunks/{a34b3d2e11a777e1ff3f.js → f28b63c1179366dac8a2.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{557671c897ca5563be6c.js → f6bd7b52745b82ba73dc.js} +1 -1
  49. package/assets/esri/core/workers/chunks/fcaf9450642fcef83286.js +1 -0
  50. package/assets/esri/core/workers/chunks/feb41abc03d677df6f73.js +1 -0
  51. package/assets/esri/core/workers/chunks/ffcb99693182a621a93e.js +1 -0
  52. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +4 -0
  53. package/assets/esri/themes/dark/main.css +1 -1
  54. package/assets/esri/themes/light/main.css +1 -1
  55. package/assets/esri/themes/light/view.css +1 -1
  56. package/chunks/CloudsComposition.glsl.js +2 -2
  57. package/chunks/DefaultMaterial.glsl.js +1 -1
  58. package/chunks/RealisticTree.glsl.js +1 -1
  59. package/chunks/RibbonLine.glsl.js +113 -121
  60. package/config.d.ts +47 -38
  61. package/config.js +1 -1
  62. package/core/accessorSupport/trackingUtils.js +1 -1
  63. package/core/accessorSupport/watch.js +1 -1
  64. package/core/workers/Connection.d.ts +58 -89
  65. package/core/workers/workerFactory.js +1 -1
  66. package/core/workers.d.ts +61 -53
  67. package/geometry/support/MeshComponent.d.ts +1 -1
  68. package/geometry/support/vcsData.js +1 -1
  69. package/kernel.js +1 -1
  70. package/layers/FeatureLayer.d.ts +39 -19
  71. package/layers/FeatureLayer.js +1 -1
  72. package/layers/GeospatialPDFLayer.js +1 -1
  73. package/layers/MapImageLayer.d.ts +10 -3
  74. package/layers/MapNotesLayer.d.ts +2 -2
  75. package/layers/SubtypeGroupLayer.d.ts +64 -1
  76. package/layers/SubtypeGroupLayer.js +1 -1
  77. package/layers/geospatialPDF/GeospatialPDFLayerWorker.js +1 -1
  78. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  79. package/layers/graphics/sources/support/QueryTask.js +1 -1
  80. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +16 -16
  81. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  82. package/layers/mixins/ArcGISMapService.js +1 -1
  83. package/layers/ogc/ogcFeatureUtils.js +1 -1
  84. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  85. package/layers/support/LabelClass.d.ts +20 -2
  86. package/layers/support/Sublayer.d.ts +61 -17
  87. package/layers/support/Sublayer.js +1 -1
  88. package/layers/support/TimeInformation.js +2 -0
  89. package/layers/support/commonProperties.js +1 -1
  90. package/libs/basisu/textureMetadata.js +2 -0
  91. package/package.json +4 -4
  92. package/rest/layerSources/DynamicDataLayer.d.ts +4 -2
  93. package/rest/layerSources/DynamicDataLayer.js +1 -1
  94. package/rest/layerSources/DynamicMapLayer.d.ts +1 -1
  95. package/rest/layerSources/DynamicWorkspaceLayer.d.ts +49 -0
  96. package/rest/layerSources/DynamicWorkspaceLayer.js +2 -0
  97. package/rest/layerSources/typeUtils.js +2 -0
  98. package/rest/print.js +1 -1
  99. package/rest/query/operations/queryRelatedRecords.js +1 -1
  100. package/rest/query/operations/queryUtils.js +1 -1
  101. package/rest/support/Query.js +1 -1
  102. package/rest/support/RelationshipQuery.js +1 -1
  103. package/rest/support/timeUtils.js +2 -0
  104. package/symbols/LineSymbol3D.d.ts +5 -3
  105. package/symbols/TextSymbol.d.ts +27 -2
  106. package/time/legacyTimeZoneMap.js +1 -1
  107. package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
  108. package/views/2d/analysis/AreaMeasurementAnalysisView2D.js +1 -1
  109. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
  110. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.js +1 -1
  111. package/views/2d/analysis/ElevationProfileAnalysisView2D.d.ts +6 -0
  112. package/views/2d/analysis/ElevationProfileAnalysisView2D.js +1 -1
  113. package/views/2d/layers/AnnotationFeatureLayerView2D.js +1 -1
  114. package/views/2d/layers/CSVLayerView2D.js +1 -1
  115. package/views/2d/layers/CatalogFootprintLayerView2D.js +1 -1
  116. package/views/2d/layers/DimensionFeatureLayerView2D.js +1 -1
  117. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  118. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  119. package/views/2d/layers/GeoJSONLayerView2D.js +1 -1
  120. package/views/2d/layers/KnowledgeGraphSublayerView2D.js +1 -1
  121. package/views/2d/layers/OGCFeatureLayerView2D.js +1 -1
  122. package/views/2d/layers/OrientedImageryLayerView2D.js +1 -1
  123. package/views/2d/layers/ParquetLayerView2D.js +1 -1
  124. package/views/2d/layers/StreamLayerView2D.js +1 -1
  125. package/views/2d/layers/SubtypeGroupLayerView2D.js +1 -1
  126. package/views/2d/layers/WFSLayerView2D.js +1 -1
  127. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  128. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  129. package/views/3d/GroundView3D.js +1 -1
  130. package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
  131. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  132. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  133. package/views/3d/analysis/ElevationProfileAnalysisView3D.d.ts +6 -0
  134. package/views/3d/analysis/ElevationProfileAnalysisView3D.js +1 -1
  135. package/views/3d/analysis/LineOfSight/LineOfSightObserverPlugin.js +1 -1
  136. package/views/3d/analysis/LineOfSight/LineOfSightTargetPlugin.js +1 -1
  137. package/views/3d/analysis/Viewshed/ViewshedFieldOfViewManipulation.js +1 -1
  138. package/views/3d/analysis/Viewshed/ViewshedPlacementPointPlugin.js +1 -1
  139. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  140. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementController.js +1 -1
  141. package/views/3d/environment/SunLighting.d.ts +17 -1
  142. package/views/3d/environment/SunLighting.js +1 -1
  143. package/views/3d/environment/VirtualLighting.d.ts +17 -1
  144. package/views/3d/environment/VirtualLighting.js +1 -1
  145. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  146. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  147. package/views/3d/interactive/manipulators/ResizeManipulator.js +1 -1
  148. package/views/3d/interactive/manipulators/RotateManipulator.js +1 -1
  149. package/views/3d/interactive/manipulators/ShiftManipulator.js +1 -1
  150. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  151. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  152. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  153. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  154. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  155. package/views/3d/layers/FlowSubView3D.js +1 -1
  156. package/views/3d/layers/I3SMeshView3D.js +1 -1
  157. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  158. package/views/3d/layers/TiledLayerView3D.js +1 -1
  159. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  160. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  161. package/views/3d/support/elevationUpdateUtils.js +1 -1
  162. package/views/3d/terrain/TerrainData.js +1 -1
  163. package/views/3d/terrain/TerrainSurface.js +1 -1
  164. package/views/3d/terrain/TileAgent.js +1 -1
  165. package/views/3d/terrain/terrainUtils.js +1 -1
  166. package/views/3d/terrain/tileUtils.js +1 -1
  167. package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +2 -2
  168. package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +3 -3
  169. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js +2 -2
  170. package/views/3d/webgl-engine/core/shaderLibrary/output/getEmissions.glsl.js +2 -2
  171. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js +2 -2
  172. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +1 -1
  173. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +1 -1
  174. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +6 -6
  175. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
  176. package/views/3d/webgl-engine/lib/BasisUtil.js +1 -1
  177. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  178. package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
  179. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  180. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  181. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  182. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  183. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  184. package/views/BasemapView.js +1 -1
  185. package/views/BreakpointsOwner.d.ts +6 -0
  186. package/views/GroundView.d.ts +1 -1
  187. package/views/GroundView.js +1 -1
  188. package/views/SceneView.js +1 -1
  189. package/views/analysis/ElevationProfile/ElevationProfileTool.js +1 -1
  190. package/views/types.d.ts +3 -0
  191. package/views/ui/UI.js +1 -1
  192. package/views/webgl/ShaderBuilder.js +1 -1
  193. package/widgets/Daylight/DaylightViewModel.js +1 -1
  194. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  195. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  196. package/widgets/OrientedImageryViewer.js +2 -2
  197. package/widgets/PanoramicViewer/PanoramicVideoViewerViewModel.js +1 -1
  198. package/widgets/Sketch/SketchViewModel.d.ts +61 -2
  199. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +3 -2
  200. package/widgets/TimeSlider.d.ts +5 -4
  201. package/assets/esri/core/workers/chunks/0bd5012da287469b17d5.js +0 -1
  202. package/assets/esri/core/workers/chunks/1e40a26dcce4d1dadc28.js +0 -1
  203. package/assets/esri/core/workers/chunks/2d13a22f7b2427927fdc.js +0 -1
  204. package/assets/esri/core/workers/chunks/34e0a8a3a2beea50f4f5.js +0 -1
  205. package/assets/esri/core/workers/chunks/370aad23df597db80d65.js +0 -1
  206. package/assets/esri/core/workers/chunks/42fd2a7b22b03dacc6a7.js +0 -1
  207. package/assets/esri/core/workers/chunks/494bd434fee9032e1d02.js +0 -1
  208. package/assets/esri/core/workers/chunks/4e350d6c76957f5beb70.js +0 -1
  209. package/assets/esri/core/workers/chunks/4fe34da1c5d63e66ce98.js +0 -1
  210. package/assets/esri/core/workers/chunks/501c6e14ab119785252b.js +0 -1
  211. package/assets/esri/core/workers/chunks/510502a4c9a2ba8d3f7b.js +0 -1
  212. package/assets/esri/core/workers/chunks/564565246dae080f5e6c.js +0 -1
  213. package/assets/esri/core/workers/chunks/612104dff305ff062dfa.js +0 -29
  214. package/assets/esri/core/workers/chunks/6ad309154fe84210d23c.js +0 -1
  215. package/assets/esri/core/workers/chunks/6c255c029d67423e4dac.js +0 -1
  216. package/assets/esri/core/workers/chunks/6c9266120d46e8c69dbf.js +0 -1
  217. package/assets/esri/core/workers/chunks/6c9acd9e4e201dc380e9.js +0 -1
  218. package/assets/esri/core/workers/chunks/74c866e0b66e61751861.js +0 -1
  219. package/assets/esri/core/workers/chunks/939942b00ba380e2957e.js +0 -1
  220. package/assets/esri/core/workers/chunks/95dbbddac6581b9d671f.js +0 -1
  221. package/assets/esri/core/workers/chunks/9d61740ef8bdcc162be1.js +0 -1
  222. package/assets/esri/core/workers/chunks/a49fe94933b65b4b64f8.js +0 -1
  223. package/assets/esri/core/workers/chunks/aa1ac7954e4f0fefe15b.js +0 -1
  224. package/assets/esri/core/workers/chunks/b48952e1fb4cb7360dd0.js +0 -1
  225. package/assets/esri/core/workers/chunks/b5df193c93e9c19f9700.js +0 -1
  226. package/assets/esri/core/workers/chunks/befa32b9e7b3fbdd431e.js +0 -1
  227. package/assets/esri/core/workers/chunks/c2c1f51a4668055c2838.js +0 -1
  228. package/assets/esri/core/workers/chunks/d0f5bee9db1ad51ae687.js +0 -1
  229. package/assets/esri/core/workers/chunks/d678828726371243d5eb.js +0 -1
  230. package/assets/esri/core/workers/chunks/dd0310184fe4832755a8.js +0 -1
  231. package/assets/esri/core/workers/chunks/de5ecb567bd69c613e9d.js +0 -1
  232. package/assets/esri/core/workers/chunks/e1f5d00878f27e1d413e.js +0 -1
  233. package/assets/esri/core/workers/chunks/e8bf653376a607f00897.js +0 -1
  234. package/assets/esri/core/workers/chunks/fb70ab267a08e24b710f.js +0 -1
  235. package/assets/esri/core/workers/chunks/fc44d45598a7476bc606.js +0 -1
@@ -38,6 +38,8 @@ export interface TextSymbolProperties extends SymbolProperties, Partial<Pick<Tex
38
38
  /**
39
39
  * The [Font](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/) used to style the text.
40
40
  * This property allows the developer to set the font's family, decoration, size, style, and weight properties.
41
+ * The font can also be defined using [formatting tags](https://doc.esri.com/en/arcgis-pro/latest/help/mapping/text/text-formatting-tags.html)
42
+ * in the [text](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol/#text) if the associated [Font.family](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#family) supports it.
41
43
  *
42
44
  * See the [Labeling guide page](https://developers.arcgis.com/javascript/latest/labeling/) for more information and known limitations.
43
45
  *
@@ -48,7 +50,6 @@ export interface TextSymbolProperties extends SymbolProperties, Partial<Pick<Tex
48
50
  * > The available [Font.family](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#family) property values depend on whether you are
49
51
  * > working with a 2D [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/) or a 3D [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).
50
52
  *
51
- * @see [Labeling Guide](https://developers.arcgis.com/javascript/latest/labeling/)
52
53
  * @example
53
54
  * let textSymbol = {
54
55
  * type: "text", // autocasts as new TextSymbol()
@@ -60,6 +61,15 @@ export interface TextSymbolProperties extends SymbolProperties, Partial<Pick<Tex
60
61
  * weight: "bold"
61
62
  * }
62
63
  * };
64
+ * @example
65
+ * ```js
66
+ * // same example but using formatting tags
67
+ *
68
+ * let textSymbol = {
69
+ * type: "text", // autocasts as new TextSymbol()
70
+ * text: "<BOL><ITA><FNT name='Merriweather' size='12'>Science of Where</FNT></ITA></BOL>",
71
+ * };
72
+ * ```
63
73
  */
64
74
  font?: FontProperties;
65
75
  /**
@@ -303,6 +313,8 @@ export default class TextSymbol extends Symbol {
303
313
  /**
304
314
  * The [Font](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/) used to style the text.
305
315
  * This property allows the developer to set the font's family, decoration, size, style, and weight properties.
316
+ * The font can also be defined using [formatting tags](https://doc.esri.com/en/arcgis-pro/latest/help/mapping/text/text-formatting-tags.html)
317
+ * in the [text](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol/#text) if the associated [Font.family](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#family) supports it.
306
318
  *
307
319
  * See the [Labeling guide page](https://developers.arcgis.com/javascript/latest/labeling/) for more information and known limitations.
308
320
  *
@@ -313,7 +325,6 @@ export default class TextSymbol extends Symbol {
313
325
  * > The available [Font.family](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#family) property values depend on whether you are
314
326
  * > working with a 2D [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/) or a 3D [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).
315
327
  *
316
- * @see [Labeling Guide](https://developers.arcgis.com/javascript/latest/labeling/)
317
328
  * @example
318
329
  * let textSymbol = {
319
330
  * type: "text", // autocasts as new TextSymbol()
@@ -325,6 +336,15 @@ export default class TextSymbol extends Symbol {
325
336
  * weight: "bold"
326
337
  * }
327
338
  * };
339
+ * @example
340
+ * ```js
341
+ * // same example but using formatting tags
342
+ *
343
+ * let textSymbol = {
344
+ * type: "text", // autocasts as new TextSymbol()
345
+ * text: "<BOL><ITA><FNT name='Merriweather' size='12'>Science of Where</FNT></ITA></BOL>",
346
+ * };
347
+ * ```
328
348
  */
329
349
  get font(): Font;
330
350
  set font(value: FontProperties);
@@ -468,6 +488,10 @@ export default class TextSymbol extends Symbol {
468
488
  * The length of the line is controlled by the [lineWidth](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol/#lineWidth) property.
469
489
  * To manually create a new line, use the `\n` escape character.
470
490
  *
491
+ * This property supports [formatting tags](https://doc.esri.com/en/arcgis-pro/latest/help/mapping/text/text-formatting-tags.html) if
492
+ * the associated [Font.family](https://developers.arcgis.com/javascript/latest/references/core/symbols/Font/#family) supports it. See the [Labeling guide](https://developers.arcgis.com/javascript/latest/labeling/#formatting-tags)
493
+ * for more details.
494
+ *
471
495
  * > [!WARNING]
472
496
  * >
473
497
  * > **Known Limitations**
@@ -478,6 +502,7 @@ export default class TextSymbol extends Symbol {
478
502
  * @see [lineWidth](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol/#lineWidth)
479
503
  * @example symbol.text = "You are here";
480
504
  * @example symbol.text = "Wish you were \n here";
505
+ * @example symbol.text = "Wish you were <BOL>Bold</BOL> and <UND>Underlined</UND>";
481
506
  */
482
507
  accessor text: string;
483
508
  /** The symbol type. */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- const e=new Map([[`AUS Central Standard Time`,`Australia/Darwin`],[`AUS Eastern Standard Time`,`Australia/Sydney`],[`Afghanistan Standard Time`,`Asia/Kabul`],[`Alaskan Standard Time`,`America/Anchorage`],[`Aleutian Standard Time`,`America/Adak`],[`Altai Standard Time`,`Asia/Barnaul`],[`Arab Standard Time`,`Asia/Riyadh`],[`Arabian Standard Time`,`Asia/Dubai`],[`Arabic Standard Time`,`Asia/Baghdad`],[`Argentina Standard Time`,`America/Buenos_Aires`],[`Astrakhan Standard Time`,`Europe/Astrakhan`],[`Atlantic Standard Time`,`America/Halifax`],[`Aus Central W. Standard Time`,`Australia/Eucla`],[`Azerbaijan Standard Time`,`Asia/Baku`],[`Azores Standard Time`,`Atlantic/Azores`],[`Bahia Standard Time`,`America/Bahia`],[`Bangladesh Standard Time`,`Asia/Dhaka`],[`Belarus Standard Time`,`Europe/Minsk`],[`Bougainville Standard Time`,`Pacific/Bougainville`],[`Canada Central Standard Time`,`America/Regina`],[`Cape Verde Standard Time`,`Atlantic/Cape_Verde`],[`Caucasus Standard Time`,`Asia/Yerevan`],[`Cen. Australia Standard Time`,`Australia/Adelaide`],[`Central America Standard Time`,`America/Guatemala`],[`Central Asia Standard Time`,`Asia/Bishkek`],[`Central Brazilian Standard Time`,`America/Cuiaba`],[`Central Europe Standard Time`,`Europe/Budapest`],[`Central European Standard Time`,`Europe/Warsaw`],[`Central Pacific Standard Time`,`Pacific/Guadalcanal`],[`Central Standard Time`,`America/Chicago`],[`Central Standard Time (Mexico)`,`America/Mexico_City`],[`Chatham Islands Standard Time`,`Pacific/Chatham`],[`China Standard Time`,`Asia/Shanghai`],[`Cuba Standard Time`,`America/Havana`],[`Dateline Standard Time`,`Etc/GMT+12`],[`E. Africa Standard Time`,`Africa/Nairobi`],[`E. Australia Standard Time`,`Australia/Brisbane`],[`E. Europe Standard Time`,`Europe/Chisinau`],[`E. South America Standard Time`,`America/Sao_Paulo`],[`Easter Island Standard Time`,`Pacific/Easter`],[`Eastern Standard Time`,`America/New_York`],[`Eastern Standard Time (Mexico)`,`America/Cancun`],[`Egypt Standard Time`,`Africa/Cairo`],[`Ekaterinburg Standard Time`,`Asia/Yekaterinburg`],[`FLE Standard Time`,`Europe/Kiev`],[`Fiji Standard Time`,`Pacific/Fiji`],[`GMT Standard Time`,`Europe/London`],[`GTB Standard Time`,`Europe/Bucharest`],[`Georgian Standard Time`,`Asia/Tbilisi`],[`Greenland Standard Time`,`America/Godthab`],[`Greenwich Standard Time`,`Atlantic/Reykjavik`],[`Haiti Standard Time`,`America/Port-au-Prince`],[`Hawaiian Standard Time`,`Pacific/Honolulu`],[`India Standard Time`,`Asia/Calcutta`],[`Iran Standard Time`,`Asia/Tehran`],[`Israel Standard Time`,`Asia/Jerusalem`],[`Jordan Standard Time`,`Asia/Amman`],[`Kaliningrad Standard Time`,`Europe/Kaliningrad`],[`Korea Standard Time`,`Asia/Seoul`],[`Libya Standard Time`,`Africa/Tripoli`],[`Line Islands Standard Time`,`Pacific/Kiritimati`],[`Lord Howe Standard Time`,`Australia/Lord_Howe`],[`Magadan Standard Time`,`Asia/Magadan`],[`Magallanes Standard Time`,`America/Punta_Arenas`],[`Marquesas Standard Time`,`Pacific/Marquesas`],[`Mauritius Standard Time`,`Indian/Mauritius`],[`Middle East Standard Time`,`Asia/Beirut`],[`Montevideo Standard Time`,`America/Montevideo`],[`Morocco Standard Time`,`Africa/Casablanca`],[`Mountain Standard Time`,`America/Denver`],[`Mountain Standard Time (Mexico)`,`America/Mazatlan`],[`Myanmar Standard Time`,`Asia/Rangoon`],[`N. Central Asia Standard Time`,`Asia/Novosibirsk`],[`Namibia Standard Time`,`Africa/Windhoek`],[`Nepal Standard Time`,`Asia/Katmandu`],[`New Zealand Standard Time`,`Pacific/Auckland`],[`Newfoundland Standard Time`,`America/St_Johns`],[`Norfolk Standard Time`,`Pacific/Norfolk`],[`North Asia East Standard Time`,`Asia/Irkutsk`],[`North Asia Standard Time`,`Asia/Krasnoyarsk`],[`North Korea Standard Time`,`Asia/Pyongyang`],[`Omsk Standard Time`,`Asia/Omsk`],[`Pacific SA Standard Time`,`America/Santiago`],[`Pacific Standard Time`,`America/Los_Angeles`],[`Pacific Standard Time (Mexico)`,`America/Tijuana`],[`Pakistan Standard Time`,`Asia/Karachi`],[`Paraguay Standard Time`,`America/Asuncion`],[`Qyzylorda Standard Time`,`Asia/Qyzylorda`],[`Romance Standard Time`,`Europe/Paris`],[`Russia Time Zone 10`,`Asia/Srednekolymsk`],[`Russia Time Zone 11`,`Asia/Kamchatka`],[`Russia Time Zone 3`,`Europe/Samara`],[`Russian Standard Time`,`Europe/Moscow`],[`SA Eastern Standard Time`,`America/Cayenne`],[`SA Pacific Standard Time`,`America/Bogota`],[`SA Western Standard Time`,`America/La_Paz`],[`SE Asia Standard Time`,`Asia/Bangkok`],[`Saint Pierre Standard Time`,`America/Miquelon`],[`Sakhalin Standard Time`,`Asia/Sakhalin`],[`Samoa Standard Time`,`Pacific/Apia`],[`Sao Tome Standard Time`,`Africa/Sao_Tome`],[`Saratov Standard Time`,`Europe/Saratov`],[`Singapore Standard Time`,`Asia/Singapore`],[`South Africa Standard Time`,`Africa/Johannesburg`],[`South Sudan Standard Time`,`Africa/Juba`],[`Sri Lanka Standard Time`,`Asia/Colombo`],[`Sudan Standard Time`,`Africa/Khartoum`],[`Syria Standard Time`,`Asia/Damascus`],[`Taipei Standard Time`,`Asia/Taipei`],[`Tasmania Standard Time`,`Australia/Hobart`],[`Tocantins Standard Time`,`America/Araguaina`],[`Tokyo Standard Time`,`Asia/Tokyo`],[`Tomsk Standard Time`,`Asia/Tomsk`],[`Tonga Standard Time`,`Pacific/Tongatapu`],[`Transbaikal Standard Time`,`Asia/Chita`],[`Turkey Standard Time`,`Europe/Istanbul`],[`Turks And Caicos Standard Time`,`America/Grand_Turk`],[`US Eastern Standard Time`,`America/Indianapolis`],[`US Mountain Standard Time`,`America/Phoenix`],[`UTC`,`Etc/GMT`],[`UTC+01`,`Etc/GMT-1`],[`UTC+02`,`Etc/GMT-2`],[`UTC+03`,`Etc/GMT-3`],[`UTC+04`,`Etc/GMT-4`],[`UTC+05`,`Etc/GMT-5`],[`UTC+06`,`Etc/GMT-6`],[`UTC+07`,`Etc/GMT-7`],[`UTC+08`,`Etc/GMT-8`],[`UTC+09`,`Etc/GMT-9`],[`UTC+10`,`Etc/GMT-10`],[`UTC+11`,`Etc/GMT-11`],[`UTC+12`,`Etc/GMT-12`],[`UTC+13`,`Etc/GMT-13`],[`UTC+14`,`Etc/GMT-14`],[`UTC-01`,`Etc/GMT+1`],[`UTC-02`,`Etc/GMT+2`],[`UTC-03`,`Etc/GMT+3`],[`UTC-04`,`Etc/GMT+4`],[`UTC-05`,`Etc/GMT+5`],[`UTC-06`,`Etc/GMT+6`],[`UTC-07`,`Etc/GMT+7`],[`UTC-08`,`Etc/GMT+8`],[`UTC-09`,`Etc/GMT+9`],[`UTC-10`,`Etc/GMT+10`],[`UTC-11`,`Etc/GMT+11`],[`UTC-12`,`Etc/GMT+12`],[`Ulaanbaatar Standard Time`,`Asia/Ulaanbaatar`],[`Venezuela Standard Time`,`America/Caracas`],[`Vladivostok Standard Time`,`Asia/Vladivostok`],[`Volgograd Standard Time`,`Europe/Volgograd`],[`W. Australia Standard Time`,`Australia/Perth`],[`W. Central Africa Standard Time`,`Africa/Lagos`],[`W. Europe Standard Time`,`Europe/Berlin`],[`W. Mongolia Standard Time`,`Asia/Hovd`],[`West Asia Standard Time`,`Asia/Tashkent`],[`West Bank Standard Time`,`Asia/Hebron`],[`West Pacific Standard Time`,`Pacific/Port_Moresby`],[`Yakutsk Standard Time`,`Asia/Yakutsk`],[`Yukon Standard Time`,`America/Whitehorse`]]);export{e as legacyTimeZoneMap};
2
+ const e=new Map([[`AUS Central Standard Time`,`Australia/Darwin`],[`AUS Eastern Standard Time`,`Australia/Sydney`],[`Afghanistan Standard Time`,`Asia/Kabul`],[`Alaskan Standard Time`,`America/Anchorage`],[`Alberta Standard Time`,`America/Edmonton`],[`Aleutian Standard Time`,`America/Adak`],[`Altai Standard Time`,`Asia/Barnaul`],[`Arab Standard Time`,`Asia/Riyadh`],[`Arabian Standard Time`,`Asia/Dubai`],[`Arabic Standard Time`,`Asia/Baghdad`],[`Argentina Standard Time`,`America/Buenos_Aires`],[`Astrakhan Standard Time`,`Europe/Astrakhan`],[`Atlantic Standard Time`,`America/Halifax`],[`Aus Central W. Standard Time`,`Australia/Eucla`],[`Azerbaijan Standard Time`,`Asia/Baku`],[`Azores Standard Time`,`Atlantic/Azores`],[`Bahia Standard Time`,`America/Bahia`],[`Bangladesh Standard Time`,`Asia/Dhaka`],[`Belarus Standard Time`,`Europe/Minsk`],[`Bougainville Standard Time`,`Pacific/Bougainville`],[`British Columbia Standard Time`,`America/Vancouver`],[`Canada Central Standard Time`,`America/Regina`],[`Cape Verde Standard Time`,`Atlantic/Cape_Verde`],[`Caucasus Standard Time`,`Asia/Yerevan`],[`Cen. Australia Standard Time`,`Australia/Adelaide`],[`Central America Standard Time`,`America/Guatemala`],[`Central Asia Standard Time`,`Asia/Bishkek`],[`Central Brazilian Standard Time`,`America/Cuiaba`],[`Central Europe Standard Time`,`Europe/Budapest`],[`Central European Standard Time`,`Europe/Warsaw`],[`Central Pacific Standard Time`,`Pacific/Guadalcanal`],[`Central Standard Time`,`America/Chicago`],[`Central Standard Time (Mexico)`,`America/Mexico_City`],[`Chatham Islands Standard Time`,`Pacific/Chatham`],[`China Standard Time`,`Asia/Shanghai`],[`Cuba Standard Time`,`America/Havana`],[`Dateline Standard Time`,`Etc/GMT+12`],[`E. Africa Standard Time`,`Africa/Nairobi`],[`E. Australia Standard Time`,`Australia/Brisbane`],[`E. Europe Standard Time`,`Europe/Chisinau`],[`E. South America Standard Time`,`America/Sao_Paulo`],[`Easter Island Standard Time`,`Pacific/Easter`],[`Eastern Standard Time`,`America/New_York`],[`Eastern Standard Time (Mexico)`,`America/Cancun`],[`Egypt Standard Time`,`Africa/Cairo`],[`Ekaterinburg Standard Time`,`Asia/Yekaterinburg`],[`FLE Standard Time`,`Europe/Kiev`],[`Fiji Standard Time`,`Pacific/Fiji`],[`GMT Standard Time`,`Europe/London`],[`GTB Standard Time`,`Europe/Bucharest`],[`Georgian Standard Time`,`Asia/Tbilisi`],[`Greenland Standard Time`,`America/Godthab`],[`Greenwich Standard Time`,`Atlantic/Reykjavik`],[`Haiti Standard Time`,`America/Port-au-Prince`],[`Hawaiian Standard Time`,`Pacific/Honolulu`],[`India Standard Time`,`Asia/Calcutta`],[`Iran Standard Time`,`Asia/Tehran`],[`Israel Standard Time`,`Asia/Jerusalem`],[`Jordan Standard Time`,`Asia/Amman`],[`Kaliningrad Standard Time`,`Europe/Kaliningrad`],[`Korea Standard Time`,`Asia/Seoul`],[`Libya Standard Time`,`Africa/Tripoli`],[`Line Islands Standard Time`,`Pacific/Kiritimati`],[`Lord Howe Standard Time`,`Australia/Lord_Howe`],[`Magadan Standard Time`,`Asia/Magadan`],[`Magallanes Standard Time`,`America/Punta_Arenas`],[`Manitoba Standard Time`,`America/Winnipeg`],[`Marquesas Standard Time`,`Pacific/Marquesas`],[`Mauritius Standard Time`,`Indian/Mauritius`],[`Middle East Standard Time`,`Asia/Beirut`],[`Montevideo Standard Time`,`America/Montevideo`],[`Morocco Standard Time`,`Africa/Casablanca`],[`Mountain Standard Time`,`America/Denver`],[`Mountain Standard Time (Mexico)`,`America/Mazatlan`],[`Myanmar Standard Time`,`Asia/Rangoon`],[`N. Central Asia Standard Time`,`Asia/Novosibirsk`],[`Namibia Standard Time`,`Africa/Windhoek`],[`Nepal Standard Time`,`Asia/Katmandu`],[`New Zealand Standard Time`,`Pacific/Auckland`],[`Newfoundland Standard Time`,`America/St_Johns`],[`Norfolk Standard Time`,`Pacific/Norfolk`],[`North Asia East Standard Time`,`Asia/Irkutsk`],[`North Asia Standard Time`,`Asia/Krasnoyarsk`],[`North Korea Standard Time`,`Asia/Pyongyang`],[`Omsk Standard Time`,`Asia/Omsk`],[`Pacific SA Standard Time`,`America/Santiago`],[`Pacific Standard Time`,`America/Los_Angeles`],[`Pacific Standard Time (Mexico)`,`America/Tijuana`],[`Pakistan Standard Time`,`Asia/Karachi`],[`Paraguay Standard Time`,`America/Asuncion`],[`Qyzylorda Standard Time`,`Asia/Qyzylorda`],[`Romance Standard Time`,`Europe/Paris`],[`Russia Time Zone 10`,`Asia/Srednekolymsk`],[`Russia Time Zone 11`,`Asia/Kamchatka`],[`Russia Time Zone 3`,`Europe/Samara`],[`Russian Standard Time`,`Europe/Moscow`],[`SA Eastern Standard Time`,`America/Cayenne`],[`SA Pacific Standard Time`,`America/Bogota`],[`SA Western Standard Time`,`America/La_Paz`],[`SE Asia Standard Time`,`Asia/Bangkok`],[`Saint Pierre Standard Time`,`America/Miquelon`],[`Sakhalin Standard Time`,`Asia/Sakhalin`],[`Samoa Standard Time`,`Pacific/Apia`],[`Sao Tome Standard Time`,`Africa/Sao_Tome`],[`Saratov Standard Time`,`Europe/Saratov`],[`Singapore Standard Time`,`Asia/Singapore`],[`South Africa Standard Time`,`Africa/Johannesburg`],[`South Sudan Standard Time`,`Africa/Juba`],[`Sri Lanka Standard Time`,`Asia/Colombo`],[`Sudan Standard Time`,`Africa/Khartoum`],[`Syria Standard Time`,`Asia/Damascus`],[`Taipei Standard Time`,`Asia/Taipei`],[`Tasmania Standard Time`,`Australia/Hobart`],[`Tocantins Standard Time`,`America/Araguaina`],[`Tokyo Standard Time`,`Asia/Tokyo`],[`Tomsk Standard Time`,`Asia/Tomsk`],[`Tonga Standard Time`,`Pacific/Tongatapu`],[`Transbaikal Standard Time`,`Asia/Chita`],[`Turkey Standard Time`,`Europe/Istanbul`],[`Turks And Caicos Standard Time`,`America/Grand_Turk`],[`US Eastern Standard Time`,`America/Indianapolis`],[`US Mountain Standard Time`,`America/Phoenix`],[`UTC`,`Etc/GMT`],[`UTC+01`,`Etc/GMT-1`],[`UTC+02`,`Etc/GMT-2`],[`UTC+03`,`Etc/GMT-3`],[`UTC+04`,`Etc/GMT-4`],[`UTC+05`,`Etc/GMT-5`],[`UTC+06`,`Etc/GMT-6`],[`UTC+07`,`Etc/GMT-7`],[`UTC+08`,`Etc/GMT-8`],[`UTC+09`,`Etc/GMT-9`],[`UTC+10`,`Etc/GMT-10`],[`UTC+11`,`Etc/GMT-11`],[`UTC+12`,`Etc/GMT-12`],[`UTC+13`,`Etc/GMT-13`],[`UTC+14`,`Etc/GMT-14`],[`UTC-01`,`Etc/GMT+1`],[`UTC-02`,`Etc/GMT+2`],[`UTC-03`,`Etc/GMT+3`],[`UTC-04`,`Etc/GMT+4`],[`UTC-05`,`Etc/GMT+5`],[`UTC-06`,`Etc/GMT+6`],[`UTC-07`,`Etc/GMT+7`],[`UTC-08`,`Etc/GMT+8`],[`UTC-09`,`Etc/GMT+9`],[`UTC-10`,`Etc/GMT+10`],[`UTC-11`,`Etc/GMT+11`],[`UTC-12`,`Etc/GMT+12`],[`Ulaanbaatar Standard Time`,`Asia/Ulaanbaatar`],[`Venezuela Standard Time`,`America/Caracas`],[`Vladivostok Standard Time`,`Asia/Vladivostok`],[`Volgograd Standard Time`,`Europe/Volgograd`],[`W. Australia Standard Time`,`Australia/Perth`],[`W. Central Africa Standard Time`,`Africa/Lagos`],[`W. Europe Standard Time`,`Europe/Berlin`],[`W. Mongolia Standard Time`,`Asia/Hovd`],[`West Asia Standard Time`,`Asia/Tashkent`],[`West Bank Standard Time`,`Asia/Hebron`],[`West Pacific Standard Time`,`Pacific/Port_Moresby`],[`Yakutsk Standard Time`,`Asia/Yakutsk`],[`Yukon Standard Time`,`America/Whitehorse`]]);export{e as legacyTimeZoneMap};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{multiplyOpacity as n}from"../../../../core/colorUtils.js";import{makeHandle as r}from"../../../../core/handleUtils.js";import{isAborted as i,ignoreAbortErrors as a}from"../../../../core/promiseUtils.js";import{watch as o,initial as s}from"../../../../core/reactiveUtils.js";import{property as c,subclass as l}from"../../../../core/accessorSupport/decorators.js";import{UpdatingHandles as u}from"../../../../core/support/UpdatingHandles.js";import d from"../../../../symbols/SimpleFillSymbol.js";import f from"../../../../symbols/SimpleLineSymbol.js";import{ExclusiveOperationManager as p}from"../../../analysis/ExclusiveOperationManager.js";import{bindViewToolOptions as m}from"../../../interactive/options/bindViewToolOptions.js";import h from"../../../../widgets/Sketch/SketchViewModel.js";function g(e){return e?.type===`polygon`}let _=class extends t{constructor(e){super(e),this._invisibleAreaSymbol=new d({color:null,outline:null}),this._invisibleLineSymbol=new f({color:null,width:0}),this._operationManager=new p,this._updatingHandles=new u}initialize(){this._sketchViewModel=new h({defaultCreateOptions:{mode:`click`},defaultUpdateOptions:{enableMoveAllGraphics:!1,enableRotation:!1,enableScaling:!1,enableZ:!1,highlightOptions:{enabled:!1},multipleSelectionEnabled:!1,reshapeOptions:{edgeOperation:`none`,shapeOperation:`none`},toggleToolOnClick:!1,tool:`reshape`},updateOnGraphicClick:!1,cancelUpdateOnClickAway:!1,view:this.view}),this.addHandles([o(()=>({interactive:this.measurementViewData.interactive,visible:this.measurementViewData.visible}),({interactive:e,visible:t})=>{!t||!e?this._operationManager.stop():this._analysis.geometry&&this._operationManager.currentOperationType!==`place`&&this.reshape().catch(()=>{})}),o(()=>this.measurementViewData.analysis.geometry,e=>{e||(this._operationManager.stop(),this._sketchViewModel?.cancel(),this.measurementViewData.sketchGraphicsLayer?.removeAll())}),o(()=>this.measurementViewData.snappingOptions,e=>{this._sketchViewModel&&(this._sketchViewModel.snappingOptions=e)},s),m(this._sketchViewModel.sketchOptions,()=>this.view.options,()=>({values:{displayUnits:{area:this._analysis.unit}}})),o(()=>this.view.effectiveTheme.accentColor,e=>{this._areaSymbol=new d({color:n(e,.3),outline:new f({color:e,width:2})})},s)])}destroy(){this._areaSymbol?.destroy(),this._invisibleAreaSymbol.destroy(),this._invisibleLineSymbol.destroy(),this._operationManager.destroy(),this._sketchViewModel?.destroy(),this._updatingHandles.destroy()}get state(){if(!this.measurementViewData.visible||!this._operationManager.currentOperationType)return`idle`;switch(this._operationManager.currentOperationType){case`place`:return`placing`;case`reshape`:return`reshaping`}}get updating(){return!this._sketchViewModel||this._sketchViewModel.updating||this._updatingHandles.updating}async place(e){return this._operationManager.start(`place`,async t=>{if(!this._sketchViewModel||!this.measurementViewData.sketchGraphicsLayer)return;let n=this._analysis.clone(),o=this._sketchViewModel.on([`create`,`undo`,`redo`],e=>{let n=`state`in e?e.state:`active`,r=`graphic`in e?e.graphic:e.graphics?.at(0);switch(n){case`start`:case`active`:{let e=r?.geometry;e?.type===`polygon`&&(this._analysis.geometry=e);break}case`cancel`:case`complete`:t.stop(),a(this.reshape())}});t.handles.push(o,r(()=>{o.remove(),this._sketchViewModel?.cancel(),this.measurementViewData.sketchGraphicsLayer?.removeAll();let r=this._analysis;if(!r.valid)return r.clear(),t.reject();if(i(e)||n.equals(r))return t.reject();t.resolve({})})),this._sketchViewModel.activeLineSymbol=this._invisibleLineSymbol,this._sketchViewModel.polygonSymbol=this._invisibleAreaSymbol,this._sketchViewModel.layer=this.measurementViewData.sketchGraphicsLayer,this._updatingHandles.consumePromise(a(this._sketchViewModel.create(`polygon`)))},e)}async reshape(e){return this._operationManager.start(`reshape`,async t=>{if(!this._sketchViewModel)return;let n=()=>!this._areaSymbol||!this._sketchViewModel||!this.measurementViewData.manipulatorGraphic||!this.measurementViewData.manipulatorGraphicsLayer?Promise.resolve():(this._sketchViewModel.activeLineSymbol=null,this._sketchViewModel.polygonSymbol=this._areaSymbol,this._sketchViewModel.layer=this.measurementViewData.manipulatorGraphicsLayer,this._updatingHandles.addPromise(a(this._sketchViewModel.update(this.measurementViewData.manipulatorGraphic,{tool:`reshape`})))),o=this._sketchViewModel.on(`update`,e=>{let r=e.graphics[0]?.geometry;this._analysis.geometry=g(r)?r:null,e.state===`complete`&&(this.measurementViewData.interactive?n():t.stop())});t.handles.push(o,r(()=>{if(o.remove(),this._sketchViewModel?.cancel(),i(e))return t.reject();t.resolve()})),await n()},e)}get _analysis(){return this.measurementViewData.analysis}};e([c()],_.prototype,`_sketchViewModel`,void 0),e([c()],_.prototype,`measurementViewData`,void 0),e([c()],_.prototype,`state`,null),e([c()],_.prototype,`updating`,null),e([c()],_.prototype,`view`,void 0),_=e([l(`esri.views.2d.analysis.AreaMeasurement.AreaMeasurementTool`)],_);export{_ as AreaMeasurementTool};
2
+ import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{multiplyOpacity as n}from"../../../../core/colorUtils.js";import{makeHandle as r}from"../../../../core/handleUtils.js";import"../../../../core/has.js";import{isAborted as i,ignoreAbortErrors as a}from"../../../../core/promiseUtils.js";import{watch as o,initial as s}from"../../../../core/reactiveUtils.js";import{property as c,subclass as l}from"../../../../core/accessorSupport/decorators.js";import{UpdatingHandles as u}from"../../../../core/support/UpdatingHandles.js";import d from"../../../../symbols/SimpleFillSymbol.js";import f from"../../../../symbols/SimpleLineSymbol.js";import{ExclusiveOperationManager as p}from"../../../analysis/ExclusiveOperationManager.js";import{bindViewToolOptions as m}from"../../../interactive/options/bindViewToolOptions.js";import h from"../../../../widgets/Sketch/SketchViewModel.js";function g(e){return e?.type===`polygon`}let _=class extends t{constructor(e){super(e),this._invisibleAreaSymbol=new d({color:null,outline:null}),this._invisibleLineSymbol=new f({color:null,width:0}),this._operationManager=new p,this._updatingHandles=new u}initialize(){this._sketchViewModel=new h({defaultCreateOptions:{mode:`click`},defaultUpdateOptions:{enableMoveAllGraphics:!1,enableRotation:!1,enableScaling:!1,enableZ:!1,highlightOptions:{enabled:!1},multipleSelectionEnabled:!1,reshapeOptions:{edgeOperation:`none`,shapeOperation:`none`},toggleToolOnClick:!1,tool:`reshape`},updateOnGraphicClick:!1,cancelUpdateOnClickAway:!1,view:this.view}),this.addHandles([o(()=>({interactive:this.measurementViewData.interactive,visible:this.measurementViewData.visible}),({interactive:e,visible:t})=>{!t||!e?this._operationManager.stop():this._analysis.geometry&&this._operationManager.currentOperationType!==`place`&&this.reshape().catch(()=>{})}),o(()=>this.measurementViewData.analysis.geometry,e=>{e||(this._operationManager.stop(),this._sketchViewModel?.cancel(),this.measurementViewData.sketchGraphicsLayer?.removeAll())}),o(()=>this.measurementViewData.snappingOptions,e=>{this._sketchViewModel&&(this._sketchViewModel.snappingOptions=e)},s),m(this._sketchViewModel.sketchOptions,()=>this.view.options,()=>({values:{displayUnits:{area:this._analysis.unit}}})),o(()=>this.view.effectiveTheme.accentColor,e=>{this._areaSymbol=new d({color:n(e,.3),outline:new f({color:e,width:2})})},s)])}destroy(){this._areaSymbol?.destroy(),this._invisibleAreaSymbol.destroy(),this._invisibleLineSymbol.destroy(),this._operationManager.destroy(),this._sketchViewModel?.destroy(),this._updatingHandles.destroy()}get state(){if(!this.measurementViewData.visible||!this._operationManager.currentOperationType)return`idle`;switch(this._operationManager.currentOperationType){case`place`:return`placing`;case`reshape`:return`reshaping`}}get updating(){return!this._sketchViewModel||this._sketchViewModel.updating||this._updatingHandles.updating}async place(e){return this._operationManager.start(`place`,async t=>{let n=this._sketchViewModel;if(!n||!this.measurementViewData.sketchGraphicsLayer)return;let o=this._analysis.clone(),s,c=n.on([`create`,`undo`,`redo`],e=>{let n=`state`in e?e.state:`active`,r=`graphic`in e?e.graphic:e.graphics?.at(0);r&&(s=r);let i=r?.geometry;switch(n){case`start`:case`active`:i?.type===`polygon`&&(this._analysis.geometry=i);break;case`cancel`:case`complete`:n===`complete`&&i?.type===`polygon`&&(this._analysis.geometry=i),t.stop(),a(this.reshape())}});t.handles.push(c,r(()=>{c.remove(),n.cancel(),s&&this._analysis.geometry&&(this._analysis.geometry=g(s.geometry)?s.geometry:null),this.measurementViewData.sketchGraphicsLayer?.removeAll();let r=this._analysis;if(!r.valid)return r.clear(),t.reject();if(i(e)||o.equals(r))return t.reject();t.resolve({})})),n.activeLineSymbol=this._invisibleLineSymbol,n.polygonSymbol=this._invisibleAreaSymbol,n.layer=this.measurementViewData.sketchGraphicsLayer,this._updatingHandles.consumePromise(a(n.create(`polygon`)))},e)}async reshape(e){return this._operationManager.start(`reshape`,async t=>{if(!this._sketchViewModel)return;let n=()=>!this._areaSymbol||!this._sketchViewModel||!this.measurementViewData.manipulatorGraphic||!this.measurementViewData.manipulatorGraphicsLayer?Promise.resolve():(this._sketchViewModel.activeLineSymbol=null,this._sketchViewModel.polygonSymbol=this._areaSymbol,this._sketchViewModel.layer=this.measurementViewData.manipulatorGraphicsLayer,this._updatingHandles.addPromise(a(this._sketchViewModel.update(this.measurementViewData.manipulatorGraphic,{tool:`reshape`})))),o=this._sketchViewModel.on(`update`,e=>{let r=e.graphics[0]?.geometry;this._analysis.geometry=g(r)?r:null,e.state===`complete`&&(this.measurementViewData.interactive?n():t.stop())});t.handles.push(o,r(()=>{if(o.remove(),this._sketchViewModel?.cancel(),i(e))return t.reject();t.resolve()})),await n()},e)}get _analysis(){return this.measurementViewData.analysis}get test(){}};e([c()],_.prototype,`_sketchViewModel`,void 0),e([c()],_.prototype,`measurementViewData`,void 0),e([c()],_.prototype,`state`,null),e([c()],_.prototype,`updating`,null),e([c()],_.prototype,`view`,void 0),_=e([l(`esri.views.2d.analysis.AreaMeasurement.AreaMeasurementTool`)],_);export{_ as AreaMeasurementTool};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{toAdaptiveLengthUnitForArea as t,toAdaptiveAreaUnit as n}from"../../../core/quantity.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import{getDefaultUnitForView as a}from"../../../support/getDefaultUnitForView.js";import o from"./AnalysisView2D.js";import{AreaMeasurementAreaVisualization as s}from"./AreaMeasurement/AreaMeasurementAreaVisualization.js";import{AreaMeasurementController as c}from"./AreaMeasurement/AreaMeasurementController.js";import{AreaMeasurementManipulatorVisualization as l}from"./AreaMeasurement/AreaMeasurementManipulatorVisualization.js";import{AreaMeasurementSketchVisualization as u}from"./AreaMeasurement/AreaMeasurementSketchVisualization.js";import{AreaMeasurementTool as d}from"./AreaMeasurement/AreaMeasurementTool.js";import f from"../../interactive/snapping/SnappingOptions.js";let p=class extends o{constructor(e){super(e),this.analysis=null,this.snappingOptions=new f,this.type=`area-measurement-view-2d`}initialize(){let{view:e}=this;this._areaVisualization=new s({view:e,measurementViewData:this}),this._controller=new c({view:e,measurementViewData:this}),this._manipulatorVisualization=new l({view:e,measurementViewData:this}),this._sketchVisualization=new u({view:e,measurementViewData:this}),this._tool=new d({view:e,measurementViewData:this})}destroy(){this._areaVisualization?.destroy(),this._controller?.destroy(),this._manipulatorVisualization?.destroy(),this._sketchVisualization?.destroy(),this._tool?.destroy()}get manipulatorGraphic(){return this._manipulatorVisualization?.graphic}get manipulatorGraphicsLayer(){return this._manipulatorVisualization?.graphicsLayer}get sketchGraphicsLayer(){return this._sketchVisualization?.graphicsLayer}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get result(){let e=this._controller?.result;if(!e)return e;let{unit:r}=this,{area:i,display:a,mode:o,perimeter:s}=e;return{area:i?n(i,r):null,display:a,mode:o,perimeter:s?t(s,r):null}}get unit(){return this.analysis.unit??this.view.options.displayUnits.area??a(this.view)}get updating(){return(this._areaVisualization?.updating??!0)||(this._controller?.updating??!0)||(this._sketchVisualization?.updating??!0)||(this._tool?.updating??!0)}get visible(){return super.visible}set visible(e){super.visible=e}async place(e){return this.interactive=!0,this._tool.place(e)}};e([r()],p.prototype,`_areaVisualization`,void 0),e([r()],p.prototype,`_controller`,void 0),e([r()],p.prototype,`_manipulatorVisualization`,void 0),e([r()],p.prototype,`_sketchVisualization`,void 0),e([r()],p.prototype,`_tool`,void 0),e([r({constructOnly:!0})],p.prototype,`analysis`,void 0),e([r()],p.prototype,`manipulatorGraphic`,null),e([r()],p.prototype,`manipulatorGraphicsLayer`,null),e([r()],p.prototype,`sketchGraphicsLayer`,null),e([r({readOnly:!0})],p.prototype,`result`,null),e([r({type:f,nonNullable:!0})],p.prototype,`snappingOptions`,void 0),e([r({readOnly:!0})],p.prototype,`type`,void 0),e([r({readOnly:!0})],p.prototype,`unit`,null),e([r({readOnly:!0})],p.prototype,`updating`,null),p=e([i(`esri.views.2d.analysis.AreaMeasurementAnalysisView2D`)],p);const m=p;export{m as default};
2
+ import{__decorate as e}from"tslib";import"../../../core/has.js";import{toAdaptiveLengthUnitForArea as t,toAdaptiveAreaUnit as n}from"../../../core/quantity.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import{getDefaultUnitForView as a}from"../../../support/getDefaultUnitForView.js";import o from"./AnalysisView2D.js";import{AreaMeasurementAreaVisualization as s}from"./AreaMeasurement/AreaMeasurementAreaVisualization.js";import{AreaMeasurementController as c}from"./AreaMeasurement/AreaMeasurementController.js";import{AreaMeasurementManipulatorVisualization as l}from"./AreaMeasurement/AreaMeasurementManipulatorVisualization.js";import{AreaMeasurementSketchVisualization as u}from"./AreaMeasurement/AreaMeasurementSketchVisualization.js";import{AreaMeasurementTool as d}from"./AreaMeasurement/AreaMeasurementTool.js";import f from"../../interactive/snapping/SnappingOptions.js";let p=class extends o{constructor(e){super(e),this.analysis=null,this.snappingOptions=new f,this.type=`area-measurement-view-2d`}initialize(){let{view:e}=this;this._areaVisualization=new s({view:e,measurementViewData:this}),this._controller=new c({view:e,measurementViewData:this}),this._manipulatorVisualization=new l({view:e,measurementViewData:this}),this._sketchVisualization=new u({view:e,measurementViewData:this}),this._tool=new d({view:e,measurementViewData:this})}destroy(){this._areaVisualization?.destroy(),this._controller?.destroy(),this._manipulatorVisualization?.destroy(),this._sketchVisualization?.destroy(),this._tool?.destroy()}get manipulatorGraphic(){return this._manipulatorVisualization?.graphic}get manipulatorGraphicsLayer(){return this._manipulatorVisualization?.graphicsLayer}get sketchGraphicsLayer(){return this._sketchVisualization?.graphicsLayer}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get result(){let e=this._controller?.result;if(!e)return e;let{unit:r}=this,{area:i,display:a,mode:o,perimeter:s}=e;return{area:i?n(i,r):null,display:a,mode:o,perimeter:s?t(s,r):null}}get unit(){return this.analysis.unit??this.view.options.displayUnits.area??a(this.view)}get updating(){return(this._areaVisualization?.updating??!0)||(this._controller?.updating??!0)||(this._sketchVisualization?.updating??!0)||(this._tool?.updating??!0)}get visible(){return super.visible}set visible(e){super.visible=e}async place(e){return this.interactive=!0,this._tool.place(e)}get test(){}};e([r()],p.prototype,`_areaVisualization`,void 0),e([r()],p.prototype,`_controller`,void 0),e([r()],p.prototype,`_manipulatorVisualization`,void 0),e([r()],p.prototype,`_sketchVisualization`,void 0),e([r()],p.prototype,`_tool`,void 0),e([r({constructOnly:!0})],p.prototype,`analysis`,void 0),e([r()],p.prototype,`manipulatorGraphic`,null),e([r()],p.prototype,`manipulatorGraphicsLayer`,null),e([r()],p.prototype,`sketchGraphicsLayer`,null),e([r({readOnly:!0})],p.prototype,`result`,null),e([r({type:f,nonNullable:!0})],p.prototype,`snappingOptions`,void 0),e([r({readOnly:!0})],p.prototype,`type`,void 0),e([r({readOnly:!0})],p.prototype,`unit`,null),e([r({readOnly:!0})],p.prototype,`updating`,null),p=e([i(`esri.views.2d.analysis.AreaMeasurementAnalysisView2D`)],p);const m=p;export{m as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{multiplyOpacity as n}from"../../../../core/colorUtils.js";import{makeHandle as r}from"../../../../core/handleUtils.js";import{ignoreAbortErrors as i,isAborted as a}from"../../../../core/promiseUtils.js";import{watch as o,initial as s}from"../../../../core/reactiveUtils.js";import{property as c,subclass as l}from"../../../../core/accessorSupport/decorators.js";import{UpdatingHandles as u}from"../../../../core/support/UpdatingHandles.js";import d from"../../../../symbols/SimpleLineSymbol.js";import{ExclusiveOperationManager as f}from"../../../analysis/ExclusiveOperationManager.js";import{bindViewToolOptions as p}from"../../../interactive/options/bindViewToolOptions.js";import m from"../../../../widgets/Sketch/SketchViewModel.js";function h(e){return e?.type===`polyline`}let g=class extends t{constructor(e){super(e),this._invisibleLineSymbol=new d({color:null,width:0}),this._operationManager=new f,this._updatingHandles=new u}initialize(){this._sketchViewModel=new m({defaultCreateOptions:{mode:`click`},defaultUpdateOptions:{enableMoveAllGraphics:!1,enableRotation:!1,enableScaling:!1,enableZ:!1,highlightOptions:{enabled:!1},multipleSelectionEnabled:!1,reshapeOptions:{edgeOperation:`none`,shapeOperation:`none`},toggleToolOnClick:!1,tool:`reshape`},updateOnGraphicClick:!1,view:this.view}),this.addHandles([o(()=>({interactive:this.measurementViewData.interactive,visible:this.measurementViewData.visible}),({interactive:e,visible:t})=>{!t||!e?this._operationManager.stop():this._analysis.geometry&&this._operationManager.currentOperationType!==`place`&&this.reshape().catch(()=>{})}),o(()=>this.measurementViewData.analysis.geometry,e=>{e||(this._operationManager.stop(),this._sketchViewModel?.cancel(),this.measurementViewData.sketchGraphicsLayer?.removeAll())}),o(()=>this.measurementViewData.snappingOptions,e=>{this._sketchViewModel&&(this._sketchViewModel.snappingOptions=e)},s),p(this._sketchViewModel.sketchOptions,()=>this.view.options,()=>({values:{displayUnits:{length:this._analysis.unit}}})),o(()=>this.view.effectiveTheme.accentColor,e=>{this._lineSymbol=new d({color:n(e,.3),width:2})},s)])}destroy(){this._invisibleLineSymbol.destroy(),this._lineSymbol?.destroy(),this._operationManager.destroy(),this._sketchViewModel?.destroy(),this._updatingHandles.destroy()}get state(){if(!this.measurementViewData.visible||!this._operationManager.currentOperationType)return`idle`;switch(this._operationManager.currentOperationType){case`place`:return`placing`;case`reshape`:return`reshaping`}}get updating(){return!this._sketchViewModel||this._sketchViewModel.updating||this._updatingHandles.updating}async place(e){return this._operationManager.start(`place`,async t=>{if(!this._sketchViewModel||!this.measurementViewData.sketchGraphicsLayer)return;let n=this._analysis.clone(),o=this._sketchViewModel.on(`create`,e=>{switch(e.state){case`start`:case`active`:{let t=e.graphic?.geometry;t?.type===`polyline`&&(this._analysis.geometry=t);break}case`cancel`:case`complete`:t.stop(),i(this.reshape())}});t.handles.push(o,r(()=>{o.remove(),this._sketchViewModel?.cancel(),this.measurementViewData.sketchGraphicsLayer?.removeAll();let r=this._analysis;if(!r.valid)return r.clear(),t.reject();if(a(e)||n.equals(r))return t.reject();t.resolve({})})),this._sketchViewModel.activeLineSymbol=this._invisibleLineSymbol,this._sketchViewModel.polylineSymbol=this._invisibleLineSymbol,this._sketchViewModel.layer=this.measurementViewData.sketchGraphicsLayer,this._updatingHandles.consumePromise(i(this._sketchViewModel.create(`polyline`)))},e)}async reshape(e){return this._operationManager.start(`reshape`,async t=>{if(!this._sketchViewModel)return;let n=()=>!this._lineSymbol||!this._sketchViewModel||!this.measurementViewData.manipulatorGraphic||!this.measurementViewData.manipulatorGraphicsLayer?Promise.resolve():(this._sketchViewModel.activeLineSymbol=null,this._sketchViewModel.polylineSymbol=this._lineSymbol,this._sketchViewModel.layer=this.measurementViewData.manipulatorGraphicsLayer,this._updatingHandles.addPromise(i(this._sketchViewModel.update(this.measurementViewData.manipulatorGraphic,{tool:`reshape`})))),o=this._sketchViewModel.on(`update`,e=>{let r=e.graphics[0]?.geometry;this._analysis.geometry=h(r)?r:null,e.state===`complete`&&(this.measurementViewData.interactive?n():t.stop())});t.handles.push(o,r(()=>{if(o.remove(),this._sketchViewModel?.cancel(),a(e))return t.reject();t.resolve()})),await n()},e)}get _analysis(){return this.measurementViewData.analysis}};e([c()],g.prototype,`_sketchViewModel`,void 0),e([c()],g.prototype,`measurementViewData`,void 0),e([c()],g.prototype,`state`,null),e([c()],g.prototype,`updating`,null),e([c()],g.prototype,`view`,void 0),g=e([l(`esri.views.2d.analysis.DistanceMeasurement.DistanceMeasurementTool`)],g);export{g as DistanceMeasurementTool};
2
+ import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{multiplyOpacity as n}from"../../../../core/colorUtils.js";import{makeHandle as r}from"../../../../core/handleUtils.js";import"../../../../core/has.js";import{isAborted as i,ignoreAbortErrors as a}from"../../../../core/promiseUtils.js";import{watch as o,initial as s}from"../../../../core/reactiveUtils.js";import{property as c,subclass as l}from"../../../../core/accessorSupport/decorators.js";import{UpdatingHandles as u}from"../../../../core/support/UpdatingHandles.js";import d from"../../../../symbols/SimpleLineSymbol.js";import{ExclusiveOperationManager as f}from"../../../analysis/ExclusiveOperationManager.js";import{bindViewToolOptions as p}from"../../../interactive/options/bindViewToolOptions.js";import m from"../../../../widgets/Sketch/SketchViewModel.js";function h(e){return e?.type===`polyline`}let g=class extends t{constructor(e){super(e),this._invisibleLineSymbol=new d({color:null,width:0}),this._operationManager=new f,this._updatingHandles=new u}initialize(){this._sketchViewModel=new m({defaultCreateOptions:{mode:`click`},defaultUpdateOptions:{enableMoveAllGraphics:!1,enableRotation:!1,enableScaling:!1,enableZ:!1,highlightOptions:{enabled:!1},multipleSelectionEnabled:!1,reshapeOptions:{edgeOperation:`none`,shapeOperation:`none`},toggleToolOnClick:!1,tool:`reshape`},updateOnGraphicClick:!1,view:this.view}),this.addHandles([o(()=>({interactive:this.measurementViewData.interactive,visible:this.measurementViewData.visible}),({interactive:e,visible:t})=>{!t||!e?this._operationManager.stop():this._analysis.geometry&&this._operationManager.currentOperationType!==`place`&&this.reshape().catch(()=>{})}),o(()=>this.measurementViewData.analysis.geometry,e=>{e||(this._operationManager.stop(),this._sketchViewModel?.cancel(),this.measurementViewData.sketchGraphicsLayer?.removeAll())}),o(()=>this.measurementViewData.snappingOptions,e=>{this._sketchViewModel&&(this._sketchViewModel.snappingOptions=e)},s),p(this._sketchViewModel.sketchOptions,()=>this.view.options,()=>({values:{displayUnits:{length:this._analysis.unit}}})),o(()=>this.view.effectiveTheme.accentColor,e=>{this._lineSymbol=new d({color:n(e,.3),width:2})},s)])}destroy(){this._invisibleLineSymbol.destroy(),this._lineSymbol?.destroy(),this._operationManager.destroy(),this._sketchViewModel?.destroy(),this._updatingHandles.destroy()}get state(){if(!this.measurementViewData.visible||!this._operationManager.currentOperationType)return`idle`;switch(this._operationManager.currentOperationType){case`place`:return`placing`;case`reshape`:return`reshaping`}}get updating(){return!this._sketchViewModel||this._sketchViewModel.updating||this._updatingHandles.updating}async place(e){return this._operationManager.start(`place`,async t=>{let n=this._sketchViewModel;if(!n||!this.measurementViewData.sketchGraphicsLayer)return;let o=this._analysis.clone(),s,c=n.on([`create`,`undo`,`redo`],e=>{let n=`state`in e?e.state:`active`,r=`graphic`in e?e.graphic:e.graphics?.at(0);r&&(s=r);let i=r?.geometry;switch(n){case`start`:case`active`:i?.type===`polyline`&&(this._analysis.geometry=i);break;case`cancel`:case`complete`:n===`complete`&&i?.type===`polyline`&&(this._analysis.geometry=i),t.stop(),a(this.reshape())}});t.handles.push(c,r(()=>{c.remove(),n.cancel(),s&&this._analysis.geometry&&(this._analysis.geometry=h(s.geometry)?s.geometry:null),this.measurementViewData.sketchGraphicsLayer?.removeAll();let r=this._analysis;if(!r.valid)return r.clear(),t.reject();if(i(e)||o.equals(r))return t.reject();t.resolve({})})),n.activeLineSymbol=this._invisibleLineSymbol,n.polylineSymbol=this._invisibleLineSymbol,n.layer=this.measurementViewData.sketchGraphicsLayer,this._updatingHandles.consumePromise(a(n.create(`polyline`)))},e)}async reshape(e){return this._operationManager.start(`reshape`,async t=>{if(!this._sketchViewModel)return;let n=()=>!this._lineSymbol||!this._sketchViewModel||!this.measurementViewData.manipulatorGraphic||!this.measurementViewData.manipulatorGraphicsLayer?Promise.resolve():(this._sketchViewModel.activeLineSymbol=null,this._sketchViewModel.polylineSymbol=this._lineSymbol,this._sketchViewModel.layer=this.measurementViewData.manipulatorGraphicsLayer,this._updatingHandles.addPromise(a(this._sketchViewModel.update(this.measurementViewData.manipulatorGraphic,{tool:`reshape`})))),o=this._sketchViewModel.on(`update`,e=>{let r=e.graphics[0]?.geometry;this._analysis.geometry=h(r)?r:null,e.state===`complete`&&(this.measurementViewData.interactive?n():t.stop())});t.handles.push(o,r(()=>{if(o.remove(),this._sketchViewModel?.cancel(),i(e))return t.reject();t.resolve()})),await n()},e)}get _analysis(){return this.measurementViewData.analysis}get test(){}};e([c()],g.prototype,`_sketchViewModel`,void 0),e([c()],g.prototype,`measurementViewData`,void 0),e([c()],g.prototype,`state`,null),e([c()],g.prototype,`updating`,null),e([c()],g.prototype,`view`,void 0),g=e([l(`esri.views.2d.analysis.DistanceMeasurement.DistanceMeasurementTool`)],g);export{g as DistanceMeasurementTool};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{toAdaptiveLengthUnit as t}from"../../../core/quantity.js";import{property as n,subclass as r}from"../../../core/accessorSupport/decorators.js";import{getDefaultUnitForView as i}from"../../../support/getDefaultUnitForView.js";import a from"./AnalysisView2D.js";import{DistanceMeasurementController as o}from"./DistanceMeasurement/DistanceMeasurementController.js";import{DistanceMeasurementLineVisualization as s}from"./DistanceMeasurement/DistanceMeasurementLineVisualization.js";import{DistanceMeasurementManipulatorVisualization as c}from"./DistanceMeasurement/DistanceMeasurementManipulatorVisualization.js";import{DistanceMeasurementSketchVisualization as l}from"./DistanceMeasurement/DistanceMeasurementSketchVisualization.js";import{DistanceMeasurementTool as u}from"./DistanceMeasurement/DistanceMeasurementTool.js";import d from"../../interactive/snapping/SnappingOptions.js";let f=class extends a{constructor(e){super(e),this.analysis=null,this.snappingOptions=new d,this.type=`distance-measurement-view-2d`}initialize(){let{view:e}=this;this._lineVisualization=new s({view:e,measurementViewData:this}),this._controller=new o({view:e,measurementViewData:this}),this._manipulatorVisualization=new c({view:e,measurementViewData:this}),this._sketchVisualization=new l({view:e,measurementViewData:this}),this._tool=new u({view:e,measurementViewData:this})}destroy(){this._lineVisualization?.destroy(),this._controller?.destroy(),this._manipulatorVisualization?.destroy(),this._sketchVisualization?.destroy(),this._tool?.destroy()}get manipulatorGraphic(){return this._manipulatorVisualization?.graphic}get manipulatorGraphicsLayer(){return this._manipulatorVisualization?.graphicsLayer}get sketchGraphicsLayer(){return this._sketchVisualization?.graphicsLayer}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get result(){let e=this._controller?.result;return e&&{...e,length:t(e.length,this.unit)}}get unit(){return this.analysis.unit??this.view.options.displayUnits.length??i(this.view)}get updating(){return(this._controller?.updating??!0)||(this._lineVisualization?.updating??!0)||(this._sketchVisualization?.updating??!0)||(this._tool?.updating??!0)}get visible(){return super.visible}set visible(e){super.visible=e}async place(e){return this.interactive=!0,this._tool.place(e)}};e([n()],f.prototype,`_lineVisualization`,void 0),e([n()],f.prototype,`_controller`,void 0),e([n()],f.prototype,`_manipulatorVisualization`,void 0),e([n()],f.prototype,`_sketchVisualization`,void 0),e([n()],f.prototype,`_tool`,void 0),e([n({constructOnly:!0})],f.prototype,`analysis`,void 0),e([n()],f.prototype,`manipulatorGraphic`,null),e([n()],f.prototype,`manipulatorGraphicsLayer`,null),e([n()],f.prototype,`sketchGraphicsLayer`,null),e([n({readOnly:!0})],f.prototype,`result`,null),e([n({type:d,nonNullable:!0})],f.prototype,`snappingOptions`,void 0),e([n({readOnly:!0})],f.prototype,`type`,void 0),e([n({readOnly:!0})],f.prototype,`unit`,null),e([n({readOnly:!0})],f.prototype,`updating`,null),f=e([r(`esri.views.2d.analysis.DistanceMeasurementAnalysisView2D`)],f);const p=f;export{p as default};
2
+ import{__decorate as e}from"tslib";import"../../../core/has.js";import{toAdaptiveLengthUnit as t}from"../../../core/quantity.js";import{property as n,subclass as r}from"../../../core/accessorSupport/decorators.js";import{getDefaultUnitForView as i}from"../../../support/getDefaultUnitForView.js";import a from"./AnalysisView2D.js";import{DistanceMeasurementController as o}from"./DistanceMeasurement/DistanceMeasurementController.js";import{DistanceMeasurementLineVisualization as s}from"./DistanceMeasurement/DistanceMeasurementLineVisualization.js";import{DistanceMeasurementManipulatorVisualization as c}from"./DistanceMeasurement/DistanceMeasurementManipulatorVisualization.js";import{DistanceMeasurementSketchVisualization as l}from"./DistanceMeasurement/DistanceMeasurementSketchVisualization.js";import{DistanceMeasurementTool as u}from"./DistanceMeasurement/DistanceMeasurementTool.js";import d from"../../interactive/snapping/SnappingOptions.js";let f=class extends a{constructor(e){super(e),this.analysis=null,this.snappingOptions=new d,this.type=`distance-measurement-view-2d`}initialize(){let{view:e}=this;this._lineVisualization=new s({view:e,measurementViewData:this}),this._controller=new o({view:e,measurementViewData:this}),this._manipulatorVisualization=new c({view:e,measurementViewData:this}),this._sketchVisualization=new l({view:e,measurementViewData:this}),this._tool=new u({view:e,measurementViewData:this})}destroy(){this._lineVisualization?.destroy(),this._controller?.destroy(),this._manipulatorVisualization?.destroy(),this._sketchVisualization?.destroy(),this._tool?.destroy()}get manipulatorGraphic(){return this._manipulatorVisualization?.graphic}get manipulatorGraphicsLayer(){return this._manipulatorVisualization?.graphicsLayer}get sketchGraphicsLayer(){return this._sketchVisualization?.graphicsLayer}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get result(){let e=this._controller?.result;return e&&{...e,length:t(e.length,this.unit)}}get unit(){return this.analysis.unit??this.view.options.displayUnits.length??i(this.view)}get updating(){return(this._controller?.updating??!0)||(this._lineVisualization?.updating??!0)||(this._sketchVisualization?.updating??!0)||(this._tool?.updating??!0)}get visible(){return super.visible}set visible(e){super.visible=e}async place(e){return this.interactive=!0,this._tool.place(e)}get test(){}};e([n()],f.prototype,`_lineVisualization`,void 0),e([n()],f.prototype,`_controller`,void 0),e([n()],f.prototype,`_manipulatorVisualization`,void 0),e([n()],f.prototype,`_sketchVisualization`,void 0),e([n()],f.prototype,`_tool`,void 0),e([n({constructOnly:!0})],f.prototype,`analysis`,void 0),e([n()],f.prototype,`manipulatorGraphic`,null),e([n()],f.prototype,`manipulatorGraphicsLayer`,null),e([n()],f.prototype,`sketchGraphicsLayer`,null),e([n({readOnly:!0})],f.prototype,`result`,null),e([n({type:d,nonNullable:!0})],f.prototype,`snappingOptions`,void 0),e([n({readOnly:!0})],f.prototype,`type`,void 0),e([n({readOnly:!0})],f.prototype,`unit`,null),e([n({readOnly:!0})],f.prototype,`updating`,null),f=e([r(`esri.views.2d.analysis.DistanceMeasurementAnalysisView2D`)],f);const p=f;export{p as default};
@@ -37,6 +37,12 @@ import type { ElevationProfileStatistics, ElevationProfileEffectiveDisplayUnits,
37
37
  export default abstract class ElevationProfileAnalysisView2D extends AnalysisView2D {
38
38
  /** The elevation profile analysis associated with the analysis view. */
39
39
  get analysis(): ElevationProfileAnalysis;
40
+ /**
41
+ * Whether placement has at least two committed vertices and can be stopped.
42
+ *
43
+ * @internal
44
+ */
45
+ get canStopPlacing(): boolean;
40
46
  /**
41
47
  * Units used for all the [results](https://developers.arcgis.com/javascript/latest/references/core/views/2d/analysis/ElevationProfileAnalysisView2D/#results) and [statistics](https://developers.arcgis.com/javascript/latest/references/core/views/2d/analysis/ElevationProfileAnalysisView2D/#statistics) of the elevation profile analysis.
42
48
  *
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Collection.js";import n from"../../../core/Error.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import a from"./AnalysisView2D.js";import{ElevationProfileVisualization2D as o}from"./ElevationProfile/ElevationProfileVisualization2D.js";import{ElevationProfileController as s}from"../../analysis/ElevationProfile/ElevationProfileController.js";import{ElevationProfileLineGroundComputation as c}from"../../analysis/ElevationProfile/ElevationProfileLineGroundComputation.js";import{ElevationProfileLineInputComputation as l}from"../../analysis/ElevationProfile/ElevationProfileLineInputComputation.js";import{ElevationProfileLineQueryComputation as u}from"../../analysis/ElevationProfile/ElevationProfileLineQueryComputation.js";import{ElevationProfileTool as d}from"../../analysis/ElevationProfile/ElevationProfileTool.js";let f=class extends a{constructor(e){super(e),this.type=`elevation-profile-view-2d`,this.analysis=null,this.indicatorRelativePosition=null}initialize(){let{analysis:e,view:t}=this;this._controller=new s({analysis:e,analysisViewData:this,view:t,computationFactory:{create:e=>{switch(e.profile.type){case`ground`:return new c(e);case`input`:return new l(e);case`query`:return new u(e);case`scene`:throw new n(`elevation-profile-analysis-view-2d:unsupported`,`The scene profile line type is not supported in 2D views.`)}}}}),this._visualization=new o({view:t,analysisViewData:this}),this._sketchTool=new d({view:t,analysisViewData:this})}destroy(){this._controller?.destroy(),this._visualization?.destroy(),this._sketchTool?.destroy()}get effectiveDisplayUnits(){return this._controller?.effectiveDisplayUnits??{distance:`meters`,elevation:`meters`}}get error(){return this._controller?.error}get flatProfiles(){return this._controller?.flatProfiles??m}get indicatorPoints(){return this._controller?.indicatorPoints??[]}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get progress(){return this._controller?.progress??0}get results(){return this._controller?.results??[]}get statistics(){return this._controller?.statistics}get updating(){return this._controller?.updating===!0||this._visualization?.updating===!0||this._sketchTool?.updating===!0}get visible(){return super.visible}set visible(e){super.visible=e}get sketchGraphic(){return this._sketchTool?.sketchGraphic}get toolState(){return this._sketchTool?.state??`idle`}place(e){return this._sketchTool.place(e)}pickFeature(e){return this._sketchTool.pickFeature(e)}};e([r({readOnly:!0})],f.prototype,`type`,void 0),e([r({constructOnly:!0,nonNullable:!0})],f.prototype,`analysis`,void 0),e([r({readOnly:!0})],f.prototype,`effectiveDisplayUnits`,null),e([r({readOnly:!0})],f.prototype,`error`,null),e([r()],f.prototype,`flatProfiles`,null),e([r()],f.prototype,`indicatorRelativePosition`,void 0),e([r()],f.prototype,`indicatorPoints`,null),e([r({readOnly:!0})],f.prototype,`progress`,null),e([r({readOnly:!0})],f.prototype,`results`,null),e([r({readOnly:!0})],f.prototype,`statistics`,null),e([r({readOnly:!0})],f.prototype,`updating`,null),e([r()],f.prototype,`sketchGraphic`,null),e([r()],f.prototype,`toolState`,null),e([r()],f.prototype,`_controller`,void 0),e([r()],f.prototype,`_visualization`,void 0),e([r()],f.prototype,`_sketchTool`,void 0),f=e([i(`esri.views.2d.analysis.ElevationProfileAnalysisView2D`)],f);const p=f,m=new t;export{p as default};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Collection.js";import n from"../../../core/Error.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import a from"./AnalysisView2D.js";import{ElevationProfileVisualization2D as o}from"./ElevationProfile/ElevationProfileVisualization2D.js";import{ElevationProfileController as s}from"../../analysis/ElevationProfile/ElevationProfileController.js";import{ElevationProfileLineGroundComputation as c}from"../../analysis/ElevationProfile/ElevationProfileLineGroundComputation.js";import{ElevationProfileLineInputComputation as l}from"../../analysis/ElevationProfile/ElevationProfileLineInputComputation.js";import{ElevationProfileLineQueryComputation as u}from"../../analysis/ElevationProfile/ElevationProfileLineQueryComputation.js";import{ElevationProfileTool as d}from"../../analysis/ElevationProfile/ElevationProfileTool.js";let f=class extends a{constructor(e){super(e),this.type=`elevation-profile-view-2d`,this.analysis=null,this.indicatorRelativePosition=null}initialize(){let{analysis:e,view:t}=this;this._controller=new s({analysis:e,analysisViewData:this,view:t,computationFactory:{create:e=>{switch(e.profile.type){case`ground`:return new c(e);case`input`:return new l(e);case`query`:return new u(e);case`scene`:throw new n(`elevation-profile-analysis-view-2d:unsupported`,`The scene profile line type is not supported in 2D views.`)}}}}),this._visualization=new o({view:t,analysisViewData:this}),this._sketchTool=new d({view:t,analysisViewData:this})}destroy(){this._controller?.destroy(),this._visualization?.destroy(),this._sketchTool?.destroy()}get effectiveDisplayUnits(){return this._controller?.effectiveDisplayUnits??{distance:`meters`,elevation:`meters`}}get error(){return this._controller?.error}get flatProfiles(){return this._controller?.flatProfiles??m}get indicatorPoints(){return this._controller?.indicatorPoints??[]}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get progress(){return this._controller?.progress??0}get results(){return this._controller?.results??[]}get statistics(){return this._controller?.statistics}get updating(){return this._controller?.updating===!0||this._visualization?.updating===!0||this._sketchTool?.updating===!0}get visible(){return super.visible}set visible(e){super.visible=e}get sketchGraphic(){return this._sketchTool?.sketchGraphic}get toolState(){return this._sketchTool?.state??`idle`}get canStopPlacing(){return this._sketchTool?.canStopPlacing??!1}place(e){return this._sketchTool.place(e)}pickFeature(e){return this._sketchTool.pickFeature(e)}};e([r({readOnly:!0})],f.prototype,`type`,void 0),e([r({constructOnly:!0,nonNullable:!0})],f.prototype,`analysis`,void 0),e([r({readOnly:!0})],f.prototype,`effectiveDisplayUnits`,null),e([r({readOnly:!0})],f.prototype,`error`,null),e([r()],f.prototype,`flatProfiles`,null),e([r()],f.prototype,`indicatorRelativePosition`,void 0),e([r()],f.prototype,`indicatorPoints`,null),e([r({readOnly:!0})],f.prototype,`progress`,null),e([r({readOnly:!0})],f.prototype,`results`,null),e([r({readOnly:!0})],f.prototype,`statistics`,null),e([r({readOnly:!0})],f.prototype,`updating`,null),e([r()],f.prototype,`sketchGraphic`,null),e([r()],f.prototype,`toolState`,null),e([r()],f.prototype,`canStopPlacing`,null),e([r()],f.prototype,`_controller`,void 0),e([r()],f.prototype,`_visualization`,void 0),e([r()],f.prototype,`_sketchTool`,void 0),f=e([i(`esri.views.2d.analysis.ElevationProfileAnalysisView2D`)],f);const p=f,m=new t;export{p as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{watch as t,initial as n}from"../../../core/reactiveUtils.js";import{subclass as r}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as i}from"./FeatureLikeLayerView2D.js";import a from"../../layers/AnnotationFeatureLayerView.js";let o=class extends i(a){initialize(){this.addHandles([t(()=>this.view.scale,()=>this._update(),n)],`constructor`)}hasRenderer(){return!0}};o=e([r(`esri.views.2d.layers.AnnotationFeatureLayerView2D`)],o);const s=o;export{s as default};
2
+ import{__decorate as e}from"tslib";import{watch as t,initial as n}from"../../../core/reactiveUtils.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as a}from"./FeatureLikeLayerView2D.js";import{AnnotationLayerAdapter as o}from"./features/layerAdapters/AnnotationLayerAdapter.js";import s from"../../layers/AnnotationFeatureLayerView.js";let c=class extends a(s){initialize(){this.addHandles([t(()=>this.view.scale,()=>this._update(),n)],`constructor`)}get layerAdapter(){return new o(this.layer)}hasRenderer(){return!0}};e([r()],c.prototype,`layerAdapter`,null),c=e([i(`esri.views.2d.layers.AnnotationFeatureLayerView2D`)],c);const l=c;export{l as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as n}from"./FeatureLikeLayerView2D.js";import r from"../../layers/CSVLayerView.js";let i=class extends n(r){};i=e([t(`esri.views.2d.layers.CSVLayerView2D`)],i);const a=i;export{a as default};
2
+ import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as r}from"./FeatureLikeLayerView2D.js";import{InMemoryLayerAdapter as i}from"./features/layerAdapters/InMemoryLayerAdapter.js";import a from"../../layers/CSVLayerView.js";let o=class extends r(a){get layerAdapter(){return new i(this.layer)}};e([t()],o.prototype,`layerAdapter`,null),o=e([n(`esri.views.2d.layers.CSVLayerView2D`)],o);const s=o;export{s as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as n}from"./FeatureLikeLayerView2D.js";import r from"../../layers/CatalogFootprintLayerView.js";let i=class extends n(r){};i=e([t(`esri.views.2d.layers.CatalogFootprintLayerView2D`)],i);const a=i;export{a as default};
2
+ import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as r}from"./FeatureLikeLayerView2D.js";import{CatalogFootprintLayerAdapter as i}from"./features/layerAdapters/CatalogFootprintLayerAdapter.js";import a from"../../layers/CatalogFootprintLayerView.js";let o=class extends r(a){get layerAdapter(){return new i(this.layer)}};e([t()],o.prototype,`layerAdapter`,null),o=e([n(`esri.views.2d.layers.CatalogFootprintLayerView2D`)],o);const s=o;export{s as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as n}from"./FeatureLikeLayerView2D.js";import r from"../../layers/FeatureLayerView.js";let i=class extends n(r){};i=e([t(`esri.views.2d.layers.DimensionFeatureLayerView2D`)],i);const a=i;export{a as default};
2
+ import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as r}from"./FeatureLikeLayerView2D.js";import{DimensionLayerAdapter as i}from"./features/layerAdapters/DimensionLayerAdapter.js";import a from"../../layers/DimensionFeatureLayerView.js";let o=class extends r(a){get layerAdapter(){return new i(this.layer)}};e([t()],o.prototype,`layerAdapter`,null),o=e([n(`esri.views.2d.layers.DimensionFeatureLayerView2D`)],o);const s=o;export{s as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as n}from"./FeatureLikeLayerView2D.js";import r from"../../layers/FeatureLayerView.js";let i=class extends n(r){};i=e([t(`esri.views.2d.layers.FeatureLayerView2D`)],i);const a=i;export{a as default};
2
+ import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as r}from"./FeatureLikeLayerView2D.js";import{FeatureLayerAdapter as i}from"./features/layerAdapters/FeatureLayerAdapter.js";import{InMemoryLayerAdapter as a}from"./features/layerAdapters/InMemoryLayerAdapter.js";import o from"../../layers/FeatureLayerView.js";let s=class extends r(o){get layerAdapter(){return this.layer.source.type===`memory`?new a(this.layer):new i(this.layer)}};e([t()],s.prototype,`layerAdapter`,null),s=e([n(`esri.views.2d.layers.FeatureLayerView2D`)],s);const c=s;export{c as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../AggregateGraphic.js";import n from"../../../Graphic.js";import r 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 s,handlesGroup as c}from"../../../core/handleUtils.js";import has from"../../../core/has.js";import l from"../../../core/Logger.js";import{destroyMaybe as u}from"../../../core/maybe.js";import{notDeepEqual as d}from"../../../core/object.js";import{createAbortError as f,ignoreAbortErrors as p,throwIfNotAbortError as m,isAbortError as h}from"../../../core/promiseUtils.js";import{watch as g,sync as _}from"../../../core/reactiveUtils.js";import{sqlAnd as v}from"../../../core/sql.js";import{getMetersPerUnitForSR as y}from"../../../core/units.js";import{property as b,subclass as x}from"../../../core/accessorSupport/decorators.js";import{UpdatingHandles as S}from"../../../core/support/UpdatingHandles.js";import C from"../../../geometry/Extent.js";import{fromJSON as w,getJsonType as T}from"../../../geometry/support/jsonUtils.js";import E from"../../../geometry/support/rotate.js";import{isCurvedGeometry as D}from"../../../geometry/support/curves/curveUtils.js";import{densifyCurvedGeometry as O}from"../../../geometry/support/curves/densifyCurvedGeometry.js";import ee from"../../../layers/effects/FeatureEffectView.js";import{convertFromFeature as k}from"../../../layers/graphics/featureConversionUtils.js";import A from"../../../layers/support/FeatureFilter.js";import{checkServiceCurrentUserSupport as te}from"../../../layers/support/featureLayerUtils.js";import{packFields as ne}from"../../../layers/support/fieldUtils.js";import{getEffectiveLayerCapabilities as re}from"../../../layers/support/layerUtils.js";import{combineTimeExtent as ie}from"../../../layers/support/timeSupport.js";import ae from"../../../rest/support/AggregateFeatureSet.js";import oe from"../../../rest/support/AttributeBinsFeatureSet.js";import se from"../../../rest/support/AttributeBinsQuery.js";import j from"../../../rest/support/FeatureSet.js";import M from"../../../rest/support/Query.js";import{HittestDrawHelper as N}from"../../../symbols/cim/CIMSymbolDrawHelper.js";import{resolveSymbolToCIM as P}from"../../../symbols/cim/CIMSymbolHelper.js";import{getDisplayedSymbol as F}from"../../../symbols/support/symbolUtils.js";import{LayerView2D as I}from"./LayerView2D.js";import{FeatureContainer as L}from"./features/FeatureContainer.js";import{createFeaturePipelineWorkerProxy as R}from"./features/FeaturePipelineWorkerProxy.js";import{FeatureSourceEventLog as z}from"./features/FeatureSourceEventLog.js";import{AnnotationLayerAdapter as B}from"./features/layerAdapters/AnnotationLayerAdapter.js";import{CatalogFootprintLayerAdapter as V}from"./features/layerAdapters/CatalogFootprintLayerAdapter.js";import{DimensionLayerAdapter as H}from"./features/layerAdapters/DimensionLayerAdapter.js";import{FeatureLayerAdapter as U}from"./features/layerAdapters/FeatureLayerAdapter.js";import{createFeatureIdInfo as W}from"./features/layerAdapters/featureServiceUtils.js";import{InMemoryLayerAdapter as G}from"./features/layerAdapters/InMemoryLayerAdapter.js";import{KnowledgeGraphSublayerAdapter as K}from"./features/layerAdapters/KnowledgeGraphSublayerAdapter.js";import{OGCFeatureLayerAdapter as ce}from"./features/layerAdapters/OGCFeatureLayerAdapter.js";import{OrientedImageryLayerAdapter as le}from"./features/layerAdapters/OrientedImageryLayerAdapter.js";import{ParquetLayerAdapter as ue}from"./features/layerAdapters/ParquetLayerAdapter.js";import{StreamLayerAdapter as de}from"./features/layerAdapters/StreamLayerAdapter.js";import{SubtypeGroupLayerAdapter as fe}from"./features/layerAdapters/SubtypeGroupLayerAdapter.js";import{createComplexSymbolInstances as q}from"./features/schema/processor/symbols/ComplexSymbolSchema.js";import{DebouncedFeatureOverride as J}from"./support/DebouncedFeatureOverride.js";import{FeatureCommandQueue as pe}from"./support/FeatureCommandQueue.js";import{createFilterSchemas as me}from"./support/FilterSchema.js";import{handleNoEngineError as Y}from"./support/handleNoEngineError.js";import{toJSONGeometryType as X}from"./support/util.js";import{getMapPointsFromScreen as he,getHittestType as Z}from"../support/hitTestUtils.js";import{FeatureTileSubscriptionManager as ge}from"../tiling/FeatureTileSubscriptionManager.js";import{RefreshableLayerView as _e}from"../../layers/RefreshableLayerView.js";import{getHighlightName as ve}from"../../support/highlightOptionsUtils.js";function ye(e,t){let n=new Set;return e&&e.forEach(e=>n.add(e)),t&&t.forEach(e=>n.add(e)),n.has(`*`)?[`*`]:Array.from(n)}const Q=4294967294;function be(e,t){return c(e.map(e=>g(()=>{let t=e();return t&&typeof t==`object`?`getTime`in t&&typeof t.getTime==`function`?t.getTime():JSON.stringify(t):t},t,_)))}function $(e){if(!e.geometry||!D(e.geometry))return e;let t=.001/y(e.geometry.spatialReference);return{geometry:O(e.geometry,{maxSegmentsPerCurve:12e3,maxSegmentLength:100*t,maxDeviation:0}),attributes:e.attributes}}const xe=c=>{let _=_e(I(c)),y=class extends _{constructor(){super(...arguments),this._commandsQueue=new pe({process:e=>{switch(e.type){case`override-batch`:return this._doOverride(e);case`update`:return this._doUpdate()}}}),this._visibilityOverrides=new Set,this._lastAvailableFields=[],this._lastTargetState=null,this._stationaryRotation=0,this._lastSnappingComplexityExceeded=!0,this.eventLog=new z,this._sourceRefreshVersion=1,this._displayRefreshVersion=1,this._pipelineUpdating=!1,this._editUpdatingHandles=new S,this._fields=null,this._hittestDrawHelper=null,this._sourceUpdating=!1,this.featureEffectView=new ee}destroy(){this._editUpdatingHandles.destroy(),this._workerProxy?.destroy(),this._workerAttached.reject(f()),this._commandsQueue.destroy(),this._hittestDrawHelper?.destroy()}initialize(){this._workerAttached=Promise.withResolvers(),p(this._workerAttached.promise),this.addResolvingPromise(this._initProxy()),this.featureEffectView.featureEffect=this.featureEffect,this.featureEffectView.endTransition()}async _initProxy(){let 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((e.type===`feature`||e.type===`subtype-group`)&&re(e)?.operations.supportsQuery===!1)throw new o(`featurelayerview:query-not-supported`,`layer view requires a layer with query capability`,{layer:e});this._workerProxy&&this._workerProxy.destroy();let t=this._createClientOptions();this._workerProxy=await R(t)}async _attachProxy(){let e=E(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(e){this._workerAttached.reject(f()),m(e)}}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(){let e=this.effectiveDisplayFilter?.where||null,t=!this.eventLog.willQueryAllFeatures&&e!=null&&e!==`1=1`;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 snappingComplexityExceeded(){if(this.eventLog.willQueryAllFeatures)return!1;let e=this.view.featuresTilingScheme.getClosestInfoForScale(this.view.scale).level,t=this.eventLog.getGeometryDensity(e),n=t?.sampleCount??0;return this.updating&&(this._lastSnappingComplexityExceeded||n<100)||(this._lastSnappingComplexityExceeded=t!=null&&n>0&&t.densePairCount/n>.95),this._lastSnappingComplexityExceeded}get layerAdapter(){switch(this.layer.type){case`annotation-feature`:return new B(this.layer);case`dimension-feature`:return new H(this.layer);case`feature`:return this.layer.source.type===`memory`?new G(this.layer):new U(this.layer);case`geojson`:case`csv`:case`wfs`:return new G(this.layer);case`parquet`:return new ue(this.layer);case`subtype-group`:return new fe(this.layer);case`ogc-feature`:return new ce(this.layer);case`stream`:return new de(this.layer);case`oriented-imagery`:return new le(this.layer);case`knowledge-graph-sublayer`:return new K(this.layer);case`catalog-footprint`:return new V(this.layer);default:this.layer}return null}get timeExtent(){return ie(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 r=ve(t),o;if(e instanceof A)o=e;else{let t;e instanceof n?t=[e.getObjectId()]:typeof e==`number`||typeof e==`string`?t=[e]:a.isCollection(e)&&e.length>0?t=e.map(e=>e?.getObjectId()).toArray():Array.isArray(e)&&e.length>0&&(t=typeof e[0]==`number`||typeof e[0]==`string`?e:e.map(e=>e?.getObjectId()));let r=t?.filter(i);if(!r?.length)return s();o=new A({objectIds:r})}let c=this._addHighlightFilter(o,r);return s(()=>!this.destroyed&&this._removeHighlight(c))}async hitTest(e,i,a){let o=Z(i);if(!o)return null;let s=o===`point`,{trueHitIds:c,candidateHitIds:l}=await this.featureContainer.hitTest(i,a??null),u=await this.getWorker(),[d,f]=await Promise.all([u.pipeline.getDisplayFeatures(l),u.pipeline.getDisplayFeatures(c)]),{features:p,aggregates:m,tracks:h}=d,{features:g,aggregates:_,tracks:v}=f,y=s?p:this.hasRenderer()?await this._filterCandidateHits(p,i,o):[],b=[...g,...y],x=[..._,...m],S=[...v,...h],C=this.featureContainer.getSortKeys(b.map(e=>e.displayId)),w=({displayId:e},{displayId:t})=>C.has(e)&&C.has(t)?C.get(e)-C.get(t):e-t;return b.sort(w).reverse(),x.sort(w).reverse(),[...x.map(n=>this._createAggregateGraphicHit(e,t.fromJSON(n))),...S.map(t=>this._createTrackGraphicHit(e,r.fromJSON(t))),...b.map(t=>this._createFeatureGraphicHit(s?e:null,n.fromJSON(t)))]}async _filterCandidateHits(e,t,r){let i=[],a=new n,{resolution:o,rotation:s}=this.view.state,c=he(this.view,t);for(let t of e){a.attributes=t.attributes,a.geometry=w(t.geometry),a.symbol=null;let e=this.layerAdapter.getRenderer(a);if(!e){i.push(t);continue}let n=await F(a,{renderer:e,scale:this.view.scale,resolution:this.view.resolution,spatialReference:this.view.spatialReference,viewingMode:`2d`,timeZone:this.view.timeZone});if(!n)continue;let l=await P(n,null,this.view.spatialReference,T(t.geometry),{scale:this.view.scale,viewingMode:`2d`});if(!l)continue;let u=this.view.stage.cimAnalyzer.analyzeSymbolReference({type:`CIMSymbolReference`,symbol:l},!1).some(e=>`alignment`in e&&e.alignment===0);this._hittestDrawHelper??=new N(this.view.stage.painter.textureManager.resourceManager);let d={hittestType:r,textInfo:null,mapRotation:s,resolution:o,searchDist:0,isScreenAligned:u};this._hittestDrawHelper.hitTest(c,l,t.geometry,d)&&i.push(t)}return i}async queryAggregateSummaryStatistics(e,t,n){let r={...t,scale:this.view.scale},i=(await this.getWorker()).aggregates.executeQueryForSummaryStatistics(this._cleanUpAggregateQuery(e),r,n);return Y(i,{})}async queryUniqueValues(e,t,n){let r=await this.getWorker(),i={...t,scale:this.view.scale},a=r.features.executeQueryForUniqueValues(this._cleanUpQuery(e),i,n);return Y(a,{uniqueValueInfos:[]})}async queryAggregateUniqueValues(e,t,n){let r=await this.getWorker(),i={...t,scale:this.view.scale},a=r.aggregates.executeQueryForUniqueValues(this._cleanUpAggregateQuery(e),i,n);return Y(a,{uniqueValueInfos:[]})}async queryAggregateClassBreaks(e,t,n){let r=await this.getWorker(),i={...t,scale:this.view.scale},a=r.aggregates.executeQueryForClassBreaks(this._cleanUpAggregateQuery(e),i,n);return Y(a,{classBreakInfos:[]})}async queryHistogram(e,t,n){let r=await this.getWorker(),i={...t,scale:this.view.scale},a=r.features.executeQueryForHistogram(this._cleanUpQuery(e),i,n);return Y(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}async queryAggregateCount(e,t){let n=(await this.getWorker()).aggregates.executeQueryForCount(this._cleanUpAggregateQuery(e),t);return Y(n,0)}async queryAggregateHistogram(e,t,n){let r=await this.getWorker(),i={...t,scale:this.view.scale},a=r.aggregates.executeQueryForHistogram(this._cleanUpAggregateQuery(e),i,n);return Y(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}async queryAggregateIds(e,t){let n=(await this.getWorker()).aggregates.executeQueryForIds(this._cleanUpAggregateQuery(e),t);return Y(n,[])}async queryAggregateJSON(e,t){let n=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t);return Y(n,{features:[]})}async queryAttributeBins(e,t){let n=(await this.getWorker()).features.executeAttributeBinsQuery(this._cleanUpAttributeBinsQuery(e),t),r=await Y(n,{features:[]});return oe.fromJSON(r)}async queryAggregates(e,t){let n=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t),r=await Y(n,{features:[]}),i=ae.fromJSON(r);return i.features.forEach(e=>this.layerAdapter.setAggregateGraphicOrigin?.(e)),i}async queryClassBreaks(e,t,n){let r=await this.getWorker(),i={...t,scale:this.view.scale},a=r.features.executeQueryForClassBreaks(this._cleanUpQuery(e),i,n);return Y(a,{classBreakInfos:[]})}async queryExtent(e,t){let n=(await this.getWorker()).features.executeQueryForExtent(this._cleanUpQuery(e),t),r=await Y(n,{count:0,extent:null});return{count:r.count,extent:C.fromJSON(r.extent)}}async queryFeatureCount(e,t){let n=(await this.getWorker()).features.executeQueryForCount(this._cleanUpQuery(e),t);return Y(n,0)}queryFeatures(e,t){return this.queryFeaturesJSON(e,t).then(e=>{let t=j.fromJSON(e);return t.features.forEach(e=>this._setOriginForFeature(e)),t})}async queryFeaturesJSON(e,t){let n=(await this.getWorker()).features.executeQuery(this._cleanUpQuery(e),t);return Y(n,{features:[]})}async queryHeatmapStatistics(e){return(await this.getWorker()).pipeline.queryHeatmapStatistics(e)}async queryObjectIds(e,t){let n=(await this.getWorker()).features.executeQueryForIds(this._cleanUpQuery(e),t);return Y(n,[])}async queryStatistics(){let e=await this.getWorker();return Y(e.pipeline.queryStatistics(),{featureCount:0,ringCount:0,vertexCount:0})}async querySummaryStatistics(e,t,n){let r=await this.getWorker(),i={...t,scale:this.view.scale},a=r.features.executeQueryForSummaryStatistics(this._cleanUpQuery(e),i,n);return Y(a,{})}async queryVisibleFeatures(e,t){let n=(await this.getWorker()).pipeline.queryVisibleFeatures(this._cleanUpQuery(e),t),r=await Y(n,{features:[]}),i=j.fromJSON(r);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);let t=this.featureContainer.getPresenting(),n=this._subscriptions.update(e.targetState,this._lastTargetState,t);n&&(this.featureContainer.updateSubscriptions(n),p(this._updatingHandles.addPromise(this.getWorker().then(e=>e.pipeline.updateSubscriptions(n))))),this._subscriptions.coverage&&this.featureContainer.setCoverage(this._subscriptions.coverage)}attach(){has(`esri-2d-update-debug`)&&console.debug(`FeatureLayerView2D.attach`),p(this._updatingHandles.addPromise(this._workerAttached.promise)),p(this._attachProxy()),this.featureContainer=new L(this),this.container.addChild(this.featureContainer),this.view.timeline.record(`${this.layer.title} (FeatureLayer) Attach`),this._subscriptions=new ge(this.view.featuresTilingScheme),this._stationaryRotation=this.view.rotation,this.requestUpdate(),this.addAttachHandles([be([()=>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,e=>{if(!e)return;let t=this.view.rotation;t!==this._stationaryRotation&&(this._stationaryRotation=t,this._update()),this.getWorker().then(e=>{if(this.destroyed)return;let t=E(this.view.extent,this.view.rotation,this.view.center);return e.pipeline.updateViewExtent(t.toJSON(),this.featureContainer.requiresRefresh)}).catch(()=>{})})]),this._update(),this.layer.type!==`stream`&&this.layer.type!==`parquet`&&this.layer.type!==`catalog-footprint`&&this.addAttachHandles(this.layer.on(`edits`,e=>this._editUpdatingHandles.addPromise(this._edit(e))))}emitFirstDraw(e){this.emit(`first-draw`,{timestamp: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=u(this._subscriptions),this._workerProxy.pipeline.onDetach(),this._workerAttached=Promise.withResolvers(),p(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(let t of e)if(t==null)throw new o(`featurelayerview:bad-override`,`Tried to remove an override for an invalid objectId`,{objectId:t});let 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&&this.layer.renderer!=null}isUpdating(){let e=this.hasRenderer(),t=this._commandsQueue.updateTracking.updating,n=this._updatingRequiredPromise!=null,r=this.featureContainer.updating;return this.updateRequested||e&&(t||n)||r||this._pipelineUpdating||this.dataUpdating}_createClientOptions(){let e=this;return{updateSchemaStart(){return e.updateSchemaStart()},updateSchemaEnd(t){return e.updateSchemaEnd(t)},openMemoryPorts:async()=>{if(this.layerAdapter?.openMessagePorts){let e=await this.layerAdapter.openMessagePorts();return{result:e,transferList:e}}throw Error(`InternalError: Layer adapter does not support opening message ports`)},openGlyphPorts:async()=>{let t=await e.container.stage.textureManager.openMessagePorts();return{result:t,transferList:t}},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`)){let n=[];for(let r of t)n.push(await e.view.stage.painter.textureManager.rasterizeItem(r));return n}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||this.layer.renderer.type!==`dictionary`)throw Error(`InternalError: Expected renderer to be of type 'dictionary'`);let t=this.layer.renderer,n=this._lastSchema.processor.mesh.factory.symbology;if(n.type!==`dictionary`)throw Error(`InternalError: Expected schema to be of type 'dictionary'`);let r={cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,store:this.featureContainer.instanceStore,scaleExpression:n.scaleExpression,viewRotation:this._stationaryRotation};this._fields||=this.layer.fields.map(e=>e.toJSON());let i=n.visualVariableUniforms,a=X(this.layer.geometryType),o=await t.getSymbolForControlString(e.controlString,a,!1);return!o||!o.data?{type:`dictionary-response`,meshes:[]}:{type:`dictionary-response`,meshes:await q({...o.data,hasTextStringTemplates:!0},{uniforms:i,path:`renderer`,schemaOptions:r})}}catch{return{type:`dictionary-response`,meshes:[]}}}async _fetchMeshRequest(e){let{layer:t}=this;try{let n={cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,store:this.featureContainer.instanceStore,scaleExpression:null,viewRotation:this._stationaryRotation};return this._fields||=t.fields.map(e=>e.toJSON()),{type:`mesh-response`,meshes:await q({...e.symbolReference,hasTextStringTemplates:!0},{path:`anno-like`,schemaOptions:n,uniforms:{visualVariableColor:null,visualVariableOpacity:null,visualVariableRotation:null,visualVariableSizeStops:null,visualVariableSizeScaleStops:null,visualVariableSizeOutlineScaleStops:null,visualVariableSizeUnitValue:null,visualVariableSizeMinMaxValue:null}})}}catch{return{type:`mesh-response`,meshes:[]}}}_cleanUpQuery(e){let t=M.from(e)||this.createQuery();return 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){let t=se.from(e);return t.outSpatialReference||=this.view.spatialReference,t.toJSON()}_cleanUpAggregateQuery(e){let t=M.from(e)||this.createAggregateQuery();t.outSpatialReference||=this.view.spatialReference;let n=t.objectIds??[];for(let e of t.aggregateIds??[])n.push(e);return t.objectIds=n,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)%Q+1}incrementDisplayRefreshVersion(){this._displayRefreshVersion=(this._displayRefreshVersion+1)%Q+1}async _resolveIdenifiers(e){let t=[],n=[];for(let r of e)r.objectId!=null&&r.objectId!==-1?t.push(r.objectId):r.globalId==null?l.getLogger(this).warn(`mapview-apply-edits`,`A feature identifier must contain either a GlobalId or ObjectId. Ignoring`,{identifier:r}):n.push(r.globalId);let r=`globalIdField`in this.layer&&this.layer.globalIdField,i=r&&this.availableFields.includes(r);if(n.length&&!i)return l.getLogger(this).error(new o(`mapview-apply-edits`,`Editing the specified service requires the layer's globalIdField, ${r} to be included the layer's outFields for updates to be reflected on the map`)),t;if(n.length){let e=await this._workerProxy.pipeline.getObjectIdsFromGlobalIds(n);for(let n of e)t.push(n)}return t}_resolveOverrides(e){let t=X(this.layer.geometryType),n=W(this.layer),r=[];for(let i of e.added){let e=k($(i),t,!1,!1,n);if(e.objectId==null)throw new o(`featurelayerview:bad-override`,`Feature does not have an objectId`,{feature:i});r.push(e)}for(let i of e.updated){let e=k($(i),t,!1,!1,n);if(e.objectId==null)throw new o(`featurelayerview:bad-override`,`Feature does not have an objectId`,{feature:i});r.push(e)}for(let t of e.removed)if(t==null)throw new o(`featurelayerview:bad-override`,`Tried to remove an invalid objectId`,{objectId:t});return{type:`override`,updates:r,removed:e.removed,release:e.release,isWeak:e.isWeak??!1,historicMoment:e.historicMoment??null}}async _resolveEdit(e){let t=this.layer,n=e.historicMoment?.getTime()??null,r=`layerId`in t&&e.editedFeatures?.find(e=>e.layerId===t.layerId);if(r&&this._canEditByFeature(r)){let{adds:e,deletes:t,updates:i}=r.editedFeatures,a=this.layer.objectIdField,o=i.map(e=>e.current),s=t.map(e=>`attributes`in e?{objectId:a?e.attributes[a]:null}:e),c=await this._resolveIdenifiers(s);return this._resolveOverrides({added:e,updated:o,removed:c,historicMoment:n,isWeak:!0,release:[]})}let[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:n,isWeak:!0}}_canEditByFeature(e){let{adds:t,updates:n}=e.editedFeatures;return t.every(e=>this.view.spatialReference.equals(e.geometry?.spatialReference))&&n.every(e=>this.view.spatialReference.equals(e.current.geometry?.spatialReference))}async updateSchemaStart(){let 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(),te(e)]),this.destroyed||!this.layerAdapter?.hasRequiredSupport||!this._subscriptions)return null;let t=this.featureContainer.updateStart(e.type===`subtype-group`);this._lastFeatureEffect=this.featureEffect;let n={store:t,cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,scaleExpression:void 0,viewRotation:this._stationaryRotation},r=await this._createViewSchemaConfig(),i={source:await this.layerAdapter.createSourceSchema(r,this._sourceRefreshVersion),processor:await this.layerAdapter.createProcessorSchema(n,r,this._displayRefreshVersion)};return d(this._lastSchema?.source.strategy,i.source.strategy)||d(this._lastSchema?.processor,i.processor)?(this._lastSchema=i,this._fields=null,i):null}catch{}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{}}async _doUpdate(){let e=Math.round(performance.now());await(await this.getWorker()).pipeline.updateSchema(e),this.requestUpdate()}async _doOverride(e){let t=await this.getWorker();try{let n=new J;for(let r of e.messages)switch(r.type){case`edit`:n.tryAdd(await this._resolveEdit(r.event))||(await t.pipeline.onOverride(n.toMessage()),n=new J,n.tryAdd(await this._resolveEdit(r.event)));break;case`override`:n.tryAdd(this._resolveOverrides(r.options))||(await t.pipeline.onOverride(n.toMessage()),n=new J,n.tryAdd(this._resolveOverrides(r.options)))}await t.pipeline.onOverride(n.toMessage())}catch(e){h(e)}}_getEffectiveAvailableFields(e){let t=ye(this._lastAvailableFields,e);return this._lastAvailableFields=t,ne(this.layer.fieldsIndex,t)}async _createViewSchemaConfig(){let e=this.requiresCurrentUser?await this.signedInUser:null,t=D(this.view,this.layerAdapter,this.timeExtent,this._visibilityOverrides,this.filter,this.effectiveDisplayFilterClause),n=this.featureEffect?.filter?.toJSON()??null,r=this._getHighlightFilterGroups().map(({order:e,filters:t})=>({order:e,filters:t.map(e=>e.toJSON())})),i=me({layerFilter:t,effectFilter:n,highlightFilters:r});return{availableFields:this._getEffectiveAvailableFields(this.availableFields),displayFilterEnabled:this.displayFilterEnabled,filters:i,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}}_onHighlightChange(){this._commandsQueue.push({type:`update`})}_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 t.geometry!=null&&(t.geometry.spatialReference=this.view.spatialReference),{type:`graphic`,graphic:t,layer:this.layer,mapPoint:e}}};e([b()],y.prototype,`_commandsQueue`,void 0),e([b()],y.prototype,`_sourceRefreshVersion`,void 0),e([b()],y.prototype,`_displayRefreshVersion`,void 0),e([b({readOnly:!0})],y.prototype,`_pipelineUpdating`,void 0),e([b()],y.prototype,`_sourceUpdating`,void 0),e([b({readOnly:!0})],y.prototype,`dataUpdating`,null),e([b({readOnly:!0})],y.prototype,`hasAllFeatures`,null),e([b({readOnly:!0})],y.prototype,`hasAllFeaturesInView`,null),e([b({readOnly:!0})],y.prototype,`hasFullGeometries`,null),e([b({readOnly:!0})],y.prototype,`snappingComplexityExceeded`,null),e([b()],y.prototype,`featureEffectView`,void 0),e([b()],y.prototype,`layerAdapter`,null),e([b({readOnly:!0})],y.prototype,`timeExtent`,null),y=e([x(`esri.views.2d.layers.FeatureLikeLayerView2D`)],y);function D(e,t,n,r,i,a){i&&=i.clone();let o=i==null?null:i.timeExtent,s=n!=null&&o!=null?n.intersection(o):n||o;s&&(i??=new A,i.timeExtent=s),i=t.addFilters?.(i,e)??i,a&&(i??=new A,i.where=v(i.where,a));let c=i?.toJSON()??null;return r.size&&(c??=new A().toJSON(),c.hiddenIds=Array.from(r)),c}return y};export{xe as FeatureLikeLayerView2D};
2
+ import{__decorate as e}from"tslib";import t from"../../../AggregateGraphic.js";import n from"../../../Graphic.js";import r 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 s,handlesGroup as c}from"../../../core/handleUtils.js";import has from"../../../core/has.js";import l from"../../../core/Logger.js";import{destroyMaybe as u}from"../../../core/maybe.js";import{notDeepEqual as d}from"../../../core/object.js";import{createAbortError as f,ignoreAbortErrors as p,throwIfNotAbortError as m,isAbortError as h}from"../../../core/promiseUtils.js";import{watch as g,sync as _}from"../../../core/reactiveUtils.js";import{sqlAnd as v}from"../../../core/sql.js";import{getMetersPerUnitForSR as y}from"../../../core/units.js";import{property as b,subclass as x}from"../../../core/accessorSupport/decorators.js";import{UpdatingHandles as S}from"../../../core/support/UpdatingHandles.js";import C from"../../../geometry/Extent.js";import{fromJSON as w,getJsonType as T}from"../../../geometry/support/jsonUtils.js";import E from"../../../geometry/support/rotate.js";import{isCurvedGeometry as D}from"../../../geometry/support/curves/curveUtils.js";import{densifyCurvedGeometry as O}from"../../../geometry/support/curves/densifyCurvedGeometry.js";import k from"../../../layers/effects/FeatureEffectView.js";import{convertFromFeature as A}from"../../../layers/graphics/featureConversionUtils.js";import j from"../../../layers/support/FeatureFilter.js";import{checkServiceCurrentUserSupport as M}from"../../../layers/support/featureLayerUtils.js";import{packFields as N}from"../../../layers/support/fieldUtils.js";import{getEffectiveLayerCapabilities as ee}from"../../../layers/support/layerUtils.js";import{combineTimeExtent as te}from"../../../layers/support/timeSupport.js";import ne from"../../../rest/support/AggregateFeatureSet.js";import re from"../../../rest/support/AttributeBinsFeatureSet.js";import P from"../../../rest/support/AttributeBinsQuery.js";import F from"../../../rest/support/FeatureSet.js";import I from"../../../rest/support/Query.js";import{HittestDrawHelper as L}from"../../../symbols/cim/CIMSymbolDrawHelper.js";import{resolveSymbolToCIM as R}from"../../../symbols/cim/CIMSymbolHelper.js";import{getDisplayedSymbol as z}from"../../../symbols/support/symbolUtils.js";import{LayerView2D as B}from"./LayerView2D.js";import{FeatureContainer as V}from"./features/FeatureContainer.js";import{createFeaturePipelineWorkerProxy as H}from"./features/FeaturePipelineWorkerProxy.js";import{FeatureSourceEventLog as U}from"./features/FeatureSourceEventLog.js";import{createFeatureIdInfo as W}from"./features/layerAdapters/featureServiceUtils.js";import{createComplexSymbolInstances as G}from"./features/schema/processor/symbols/ComplexSymbolSchema.js";import{DebouncedFeatureOverride as K}from"./support/DebouncedFeatureOverride.js";import{FeatureCommandQueue as q}from"./support/FeatureCommandQueue.js";import{createFilterSchemas as J}from"./support/FilterSchema.js";import{handleNoEngineError as Y}from"./support/handleNoEngineError.js";import{toJSONGeometryType as X}from"./support/util.js";import{getMapPointsFromScreen as ie,getHittestType as ae}from"../support/hitTestUtils.js";import{FeatureTileSubscriptionManager as oe}from"../tiling/FeatureTileSubscriptionManager.js";import{RefreshableLayerView as se}from"../../layers/RefreshableLayerView.js";import{getHighlightName as ce}from"../../support/highlightOptionsUtils.js";function Z(e,t){let n=new Set;return e&&e.forEach(e=>n.add(e)),t&&t.forEach(e=>n.add(e)),n.has(`*`)?[`*`]:Array.from(n)}const Q=4294967294;function le(e,t){return c(e.map(e=>g(()=>{let t=e();return t&&typeof t==`object`?`getTime`in t&&typeof t.getTime==`function`?t.getTime():JSON.stringify(t):t},t,_)))}function $(e){if(!e.geometry||!D(e.geometry))return e;let t=.001/y(e.geometry.spatialReference);return{geometry:O(e.geometry,{maxSegmentsPerCurve:12e3,maxSegmentLength:100*t,maxDeviation:0}),attributes:e.attributes}}const ue=c=>{let _=se(B(c)),y=class extends _{constructor(){super(...arguments),this._commandsQueue=new q({process:e=>{switch(e.type){case`override-batch`:return this._doOverride(e);case`update`:return this._doUpdate()}}}),this._visibilityOverrides=new Set,this._lastAvailableFields=[],this._lastTargetState=null,this._stationaryRotation=0,this._lastSnappingComplexityExceeded=!0,this.eventLog=new U,this._sourceRefreshVersion=1,this._displayRefreshVersion=1,this._pipelineUpdating=!1,this._editUpdatingHandles=new S,this._fields=null,this._hittestDrawHelper=null,this._sourceUpdating=!1,this.featureEffectView=new k}destroy(){this._editUpdatingHandles.destroy(),this._workerProxy?.destroy(),this._workerAttached.reject(f()),this._commandsQueue.destroy(),this._hittestDrawHelper?.destroy()}initialize(){this._workerAttached=Promise.withResolvers(),p(this._workerAttached.promise),this.addResolvingPromise(this._initProxy()),this.featureEffectView.featureEffect=this.featureEffect,this.featureEffectView.endTransition()}async _initProxy(){let 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((e.type===`feature`||e.type===`subtype-group`)&&ee(e)?.operations.supportsQuery===!1)throw new o(`featurelayerview:query-not-supported`,`layer view requires a layer with query capability`,{layer:e});this._workerProxy&&this._workerProxy.destroy();let t=this._createClientOptions();this._workerProxy=await H(t)}async _attachProxy(){let e=E(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(e){this._workerAttached.reject(f()),m(e)}}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(){let e=this.effectiveDisplayFilter?.where||null,t=!this.eventLog.willQueryAllFeatures&&e!=null&&e!==`1=1`;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 snappingComplexityExceeded(){if(this.eventLog.willQueryAllFeatures)return!1;let e=this.view.featuresTilingScheme.getClosestInfoForScale(this.view.scale).level,t=this.eventLog.getGeometryDensity(e),n=t?.sampleCount??0;return this.updating&&(this._lastSnappingComplexityExceeded||n<100)||(this._lastSnappingComplexityExceeded=t!=null&&n>0&&t.densePairCount/n>.95),this._lastSnappingComplexityExceeded}get timeExtent(){return te(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 r=ce(t),o;if(e instanceof j)o=e;else{let t;e instanceof n?t=[e.getObjectId()]:typeof e==`number`||typeof e==`string`?t=[e]:a.isCollection(e)&&e.length>0?t=e.map(e=>e?.getObjectId()).toArray():Array.isArray(e)&&e.length>0&&(t=typeof e[0]==`number`||typeof e[0]==`string`?e:e.map(e=>e?.getObjectId()));let r=t?.filter(i);if(!r?.length)return s();o=new j({objectIds:r})}let c=this._addHighlightFilter(o,r);return s(()=>!this.destroyed&&this._removeHighlight(c))}async hitTest(e,i,a){let o=ae(i);if(!o)return null;let s=o===`point`,{trueHitIds:c,candidateHitIds:l}=await this.featureContainer.hitTest(i,a??null),u=await this.getWorker(),[d,f]=await Promise.all([u.pipeline.getDisplayFeatures(l),u.pipeline.getDisplayFeatures(c)]),{features:p,aggregates:m,tracks:h}=d,{features:g,aggregates:_,tracks:v}=f,y=s?p:this.hasRenderer()?await this._filterCandidateHits(p,i,o):[],b=[...g,...y],x=[..._,...m],S=[...v,...h],C=this.featureContainer.getSortKeys(b.map(e=>e.displayId)),w=({displayId:e},{displayId:t})=>C.has(e)&&C.has(t)?C.get(e)-C.get(t):e-t;return b.sort(w).reverse(),x.sort(w).reverse(),[...x.map(n=>this._createAggregateGraphicHit(e,t.fromJSON(n))),...S.map(t=>this._createTrackGraphicHit(e,r.fromJSON(t))),...b.map(t=>this._createFeatureGraphicHit(s?e:null,n.fromJSON(t)))]}async _filterCandidateHits(e,t,r){let i=[],a=new n,{resolution:o,rotation:s}=this.view.state,c=ie(this.view,t);for(let t of e){a.attributes=t.attributes,a.geometry=w(t.geometry),a.symbol=null;let e=this.layerAdapter.getRenderer(a);if(!e){i.push(t);continue}let n=await z(a,{renderer:e,scale:this.view.scale,resolution:this.view.resolution,spatialReference:this.view.spatialReference,viewingMode:`2d`,timeZone:this.view.timeZone});if(!n)continue;let l=await R(n,null,this.view.spatialReference,T(t.geometry),{scale:this.view.scale,viewingMode:`2d`});if(!l)continue;let u=this.view.stage.cimAnalyzer.analyzeSymbolReference({type:`CIMSymbolReference`,symbol:l},!1).some(e=>`alignment`in e&&e.alignment===0);this._hittestDrawHelper??=new L(this.view.stage.painter.textureManager.resourceManager);let d={hittestType:r,textInfo:null,mapRotation:s,resolution:o,searchDist:0,isScreenAligned:u};this._hittestDrawHelper.hitTest(c,l,t.geometry,d)&&i.push(t)}return i}async queryAggregateSummaryStatistics(e,t,n){let r={...t,scale:this.view.scale},i=(await this.getWorker()).aggregates.executeQueryForSummaryStatistics(this._cleanUpAggregateQuery(e),r,n);return Y(i,{})}async queryUniqueValues(e,t,n){let r=await this.getWorker(),i={...t,scale:this.view.scale},a=r.features.executeQueryForUniqueValues(this._cleanUpQuery(e),i,n);return Y(a,{uniqueValueInfos:[]})}async queryAggregateUniqueValues(e,t,n){let r=await this.getWorker(),i={...t,scale:this.view.scale},a=r.aggregates.executeQueryForUniqueValues(this._cleanUpAggregateQuery(e),i,n);return Y(a,{uniqueValueInfos:[]})}async queryAggregateClassBreaks(e,t,n){let r=await this.getWorker(),i={...t,scale:this.view.scale},a=r.aggregates.executeQueryForClassBreaks(this._cleanUpAggregateQuery(e),i,n);return Y(a,{classBreakInfos:[]})}async queryHistogram(e,t,n){let r=await this.getWorker(),i={...t,scale:this.view.scale},a=r.features.executeQueryForHistogram(this._cleanUpQuery(e),i,n);return Y(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}async queryAggregateCount(e,t){let n=(await this.getWorker()).aggregates.executeQueryForCount(this._cleanUpAggregateQuery(e),t);return Y(n,0)}async queryAggregateHistogram(e,t,n){let r=await this.getWorker(),i={...t,scale:this.view.scale},a=r.aggregates.executeQueryForHistogram(this._cleanUpAggregateQuery(e),i,n);return Y(a,{bins:[],maxValue:null,minValue:null,normalizationTotal:null})}async queryAggregateIds(e,t){let n=(await this.getWorker()).aggregates.executeQueryForIds(this._cleanUpAggregateQuery(e),t);return Y(n,[])}async queryAggregateJSON(e,t){let n=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t);return Y(n,{features:[]})}async queryAttributeBins(e,t){let n=(await this.getWorker()).features.executeAttributeBinsQuery(this._cleanUpAttributeBinsQuery(e),t),r=await Y(n,{features:[]});return re.fromJSON(r)}async queryAggregates(e,t){let n=(await this.getWorker()).aggregates.executeQuery(this._cleanUpAggregateQuery(e),t),r=await Y(n,{features:[]}),i=ne.fromJSON(r);return i.features.forEach(e=>this.layerAdapter.setAggregateGraphicOrigin?.(e)),i}async queryClassBreaks(e,t,n){let r=await this.getWorker(),i={...t,scale:this.view.scale},a=r.features.executeQueryForClassBreaks(this._cleanUpQuery(e),i,n);return Y(a,{classBreakInfos:[]})}async queryExtent(e,t){let n=(await this.getWorker()).features.executeQueryForExtent(this._cleanUpQuery(e),t),r=await Y(n,{count:0,extent:null});return{count:r.count,extent:C.fromJSON(r.extent)}}async queryFeatureCount(e,t){let n=(await this.getWorker()).features.executeQueryForCount(this._cleanUpQuery(e),t);return Y(n,0)}queryFeatures(e,t){return this.queryFeaturesJSON(e,t).then(e=>{let t=F.fromJSON(e);return t.features.forEach(e=>this._setOriginForFeature(e)),t})}async queryFeaturesJSON(e,t){let n=(await this.getWorker()).features.executeQuery(this._cleanUpQuery(e),t);return Y(n,{features:[]})}async queryHeatmapStatistics(e){return(await this.getWorker()).pipeline.queryHeatmapStatistics(e)}async queryObjectIds(e,t){let n=(await this.getWorker()).features.executeQueryForIds(this._cleanUpQuery(e),t);return Y(n,[])}async queryStatistics(){let e=await this.getWorker();return Y(e.pipeline.queryStatistics(),{featureCount:0,ringCount:0,vertexCount:0})}async querySummaryStatistics(e,t,n){let r=await this.getWorker(),i={...t,scale:this.view.scale},a=r.features.executeQueryForSummaryStatistics(this._cleanUpQuery(e),i,n);return Y(a,{})}async queryVisibleFeatures(e,t){let n=(await this.getWorker()).pipeline.queryVisibleFeatures(this._cleanUpQuery(e),t),r=await Y(n,{features:[]}),i=F.fromJSON(r);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);let t=this.featureContainer.getPresenting(),n=this._subscriptions.update(e.targetState,this._lastTargetState,t);n&&(this.featureContainer.updateSubscriptions(n),p(this._updatingHandles.addPromise(this.getWorker().then(e=>e.pipeline.updateSubscriptions(n))))),this._subscriptions.coverage&&this.featureContainer.setCoverage(this._subscriptions.coverage)}attach(){has(`esri-2d-update-debug`)&&console.debug(`FeatureLayerView2D.attach`),p(this._updatingHandles.addPromise(this._workerAttached.promise)),p(this._attachProxy()),this.featureContainer=new V(this),this.container.addChild(this.featureContainer),this.view.timeline.record(`${this.layer.title} (FeatureLayer) Attach`),this._subscriptions=new oe(this.view.featuresTilingScheme),this._stationaryRotation=this.view.rotation,this.requestUpdate(),this.addAttachHandles([le([()=>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,e=>{if(!e)return;let t=this.view.rotation;t!==this._stationaryRotation&&(this._stationaryRotation=t,this._update()),this.getWorker().then(e=>{if(this.destroyed)return;let t=E(this.view.extent,this.view.rotation,this.view.center);return e.pipeline.updateViewExtent(t.toJSON(),this.featureContainer.requiresRefresh)}).catch(()=>{})})]),this._update(),this.layer.type!==`stream`&&this.layer.type!==`parquet`&&this.layer.type!==`catalog-footprint`&&this.addAttachHandles(this.layer.on(`edits`,e=>this._editUpdatingHandles.addPromise(this._edit(e))))}emitFirstDraw(e){this.emit(`first-draw`,{timestamp: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=u(this._subscriptions),this._workerProxy.pipeline.onDetach(),this._workerAttached=Promise.withResolvers(),p(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(let t of e)if(t==null)throw new o(`featurelayerview:bad-override`,`Tried to remove an override for an invalid objectId`,{objectId:t});let 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&&this.layer.renderer!=null}isUpdating(){let e=this.hasRenderer(),t=this._commandsQueue.updateTracking.updating,n=this._updatingRequiredPromise!=null,r=this.featureContainer.updating;return this.updateRequested||e&&(t||n)||r||this._pipelineUpdating||this.dataUpdating}_createClientOptions(){let e=this;return{updateSchemaStart(){return e.updateSchemaStart()},updateSchemaEnd(t){return e.updateSchemaEnd(t)},openMemoryPorts:async()=>{if(this.layerAdapter?.openMessagePorts){let e=await this.layerAdapter.openMessagePorts();return{result:e,transferList:e}}throw Error(`InternalError: Layer adapter does not support opening message ports`)},openGlyphPorts:async()=>{let t=await e.container.stage.textureManager.openMessagePorts();return{result:t,transferList:t}},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`)){let n=[];for(let r of t)n.push(await e.view.stage.painter.textureManager.rasterizeItem(r));return n}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||this.layer.renderer.type!==`dictionary`)throw Error(`InternalError: Expected renderer to be of type 'dictionary'`);let t=this.layer.renderer,n=this._lastSchema.processor.mesh.factory.symbology;if(n.type!==`dictionary`)throw Error(`InternalError: Expected schema to be of type 'dictionary'`);let r={cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,store:this.featureContainer.instanceStore,scaleExpression:n.scaleExpression,viewRotation:this._stationaryRotation};this._fields||=this.layer.fields.map(e=>e.toJSON());let i=n.visualVariableUniforms,a=X(this.layer.geometryType),o=await t.getSymbolForControlString(e.controlString,a,!1);return!o||!o.data?{type:`dictionary-response`,meshes:[]}:{type:`dictionary-response`,meshes:await G({...o.data,hasTextStringTemplates:!0},{uniforms:i,path:`renderer`,schemaOptions:r})}}catch{return{type:`dictionary-response`,meshes:[]}}}async _fetchMeshRequest(e){let{layer:t}=this;try{let n={cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,store:this.featureContainer.instanceStore,scaleExpression:null,viewRotation:this._stationaryRotation};return this._fields||=t.fields.map(e=>e.toJSON()),{type:`mesh-response`,meshes:await G({...e.symbolReference,hasTextStringTemplates:!0},{path:`anno-like`,schemaOptions:n,uniforms:{visualVariableColor:null,visualVariableOpacity:null,visualVariableRotation:null,visualVariableSizeStops:null,visualVariableSizeScaleStops:null,visualVariableSizeOutlineScaleStops:null,visualVariableSizeUnitValue:null,visualVariableSizeMinMaxValue:null}})}}catch{return{type:`mesh-response`,meshes:[]}}}_cleanUpQuery(e){let t=I.from(e)||this.createQuery();return 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){let t=P.from(e);return t.outSpatialReference||=this.view.spatialReference,t.toJSON()}_cleanUpAggregateQuery(e){let t=I.from(e)||this.createAggregateQuery();t.outSpatialReference||=this.view.spatialReference;let n=t.objectIds??[];for(let e of t.aggregateIds??[])n.push(e);return t.objectIds=n,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)%Q+1}incrementDisplayRefreshVersion(){this._displayRefreshVersion=(this._displayRefreshVersion+1)%Q+1}async _resolveIdenifiers(e){let t=[],n=[];for(let r of e)r.objectId!=null&&r.objectId!==-1?t.push(r.objectId):r.globalId==null?l.getLogger(this).warn(`mapview-apply-edits`,`A feature identifier must contain either a GlobalId or ObjectId. Ignoring`,{identifier:r}):n.push(r.globalId);let r=`globalIdField`in this.layer&&this.layer.globalIdField,i=r&&this.availableFields.includes(r);if(n.length&&!i)return l.getLogger(this).error(new o(`mapview-apply-edits`,`Editing the specified service requires the layer's globalIdField, ${r} to be included the layer's outFields for updates to be reflected on the map`)),t;if(n.length){let e=await this._workerProxy.pipeline.getObjectIdsFromGlobalIds(n);for(let n of e)t.push(n)}return t}_resolveOverrides(e){let t=X(this.layer.geometryType),n=W(this.layer),r=[];for(let i of e.added){let e=A($(i),t,!1,!1,n);if(e.objectId==null)throw new o(`featurelayerview:bad-override`,`Feature does not have an objectId`,{feature:i});r.push(e)}for(let i of e.updated){let e=A($(i),t,!1,!1,n);if(e.objectId==null)throw new o(`featurelayerview:bad-override`,`Feature does not have an objectId`,{feature:i});r.push(e)}for(let t of e.removed)if(t==null)throw new o(`featurelayerview:bad-override`,`Tried to remove an invalid objectId`,{objectId:t});return{type:`override`,updates:r,removed:e.removed,release:e.release,isWeak:e.isWeak??!1,historicMoment:e.historicMoment??null}}async _resolveEdit(e){let t=this.layer,n=e.historicMoment?.getTime()??null,r=`layerId`in t&&e.editedFeatures?.find(e=>e.layerId===t.layerId);if(r&&this._canEditByFeature(r)){let{adds:e,deletes:t,updates:i}=r.editedFeatures,a=this.layer.objectIdField,o=i.map(e=>e.current),s=t.map(e=>`attributes`in e?{objectId:a?e.attributes[a]:null}:e),c=await this._resolveIdenifiers(s);return this._resolveOverrides({added:e,updated:o,removed:c,historicMoment:n,isWeak:!0,release:[]})}let[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:n,isWeak:!0}}_canEditByFeature(e){let{adds:t,updates:n}=e.editedFeatures;return t.every(e=>this.view.spatialReference.equals(e.geometry?.spatialReference))&&n.every(e=>this.view.spatialReference.equals(e.current.geometry?.spatialReference))}async updateSchemaStart(){let 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(),M(e)]),this.destroyed||!this.layerAdapter?.hasRequiredSupport||!this._subscriptions)return null;let t=this.featureContainer.updateStart(e.type===`subtype-group`);this._lastFeatureEffect=this.featureEffect;let n={store:t,cimAnalyzer:this.view.stage.cimAnalyzer,cimResourceManager:this.view.stage.painter.textureManager.resourceManager,scaleExpression:void 0,viewRotation:this._stationaryRotation},r=await this._createViewSchemaConfig(),i={source:await this.layerAdapter.createSourceSchema(r,this._sourceRefreshVersion),processor:await this.layerAdapter.createProcessorSchema(n,r,this._displayRefreshVersion)};return d(this._lastSchema?.source.strategy,i.source.strategy)||d(this._lastSchema?.processor,i.processor)?(this._lastSchema=i,this._fields=null,i):null}catch{}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{}}async _doUpdate(){let e=Math.round(performance.now());await(await this.getWorker()).pipeline.updateSchema(e),this.requestUpdate()}async _doOverride(e){let t=await this.getWorker();try{let n=new K;for(let r of e.messages)switch(r.type){case`edit`:n.tryAdd(await this._resolveEdit(r.event))||(await t.pipeline.onOverride(n.toMessage()),n=new K,n.tryAdd(await this._resolveEdit(r.event)));break;case`override`:n.tryAdd(this._resolveOverrides(r.options))||(await t.pipeline.onOverride(n.toMessage()),n=new K,n.tryAdd(this._resolveOverrides(r.options)))}await t.pipeline.onOverride(n.toMessage())}catch(e){h(e)}}_getEffectiveAvailableFields(e){let t=Z(this._lastAvailableFields,e);return this._lastAvailableFields=t,N(this.layer.fieldsIndex,t)}async _createViewSchemaConfig(){let e=this.requiresCurrentUser?await this.signedInUser:null,t=D(this.view,this.layerAdapter,this.timeExtent,this._visibilityOverrides,this.filter,this.effectiveDisplayFilterClause),n=this.featureEffect?.filter?.toJSON()??null,r=this._getHighlightFilterGroups().map(({order:e,filters:t})=>({order:e,filters:t.map(e=>e.toJSON())})),i=J({layerFilter:t,effectFilter:n,highlightFilters:r});return{availableFields:this._getEffectiveAvailableFields(this.availableFields),displayFilterEnabled:this.displayFilterEnabled,filters:i,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}}_onHighlightChange(){this._commandsQueue.push({type:`update`})}_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 t.geometry!=null&&(t.geometry.spatialReference=this.view.spatialReference),{type:`graphic`,graphic:t,layer:this.layer,mapPoint:e}}};e([b()],y.prototype,`_commandsQueue`,void 0),e([b()],y.prototype,`_sourceRefreshVersion`,void 0),e([b()],y.prototype,`_displayRefreshVersion`,void 0),e([b({readOnly:!0})],y.prototype,`_pipelineUpdating`,void 0),e([b()],y.prototype,`_sourceUpdating`,void 0),e([b({readOnly:!0})],y.prototype,`dataUpdating`,null),e([b({readOnly:!0})],y.prototype,`hasAllFeatures`,null),e([b({readOnly:!0})],y.prototype,`hasAllFeaturesInView`,null),e([b({readOnly:!0})],y.prototype,`hasFullGeometries`,null),e([b({readOnly:!0})],y.prototype,`snappingComplexityExceeded`,null),e([b()],y.prototype,`featureEffectView`,void 0),e([b({readOnly:!0})],y.prototype,`timeExtent`,null),y=e([x(`esri.views.2d.layers.FeatureLikeLayerView2D`)],y);function D(e,t,n,r,i,a){i&&=i.clone();let o=i==null?null:i.timeExtent,s=n!=null&&o!=null?n.intersection(o):n||o;s&&(i??=new j,i.timeExtent=s),i=t.addFilters?.(i,e)??i,a&&(i??=new j,i.where=v(i.where,a));let c=i?.toJSON()??null;return r.size&&(c??=new j().toJSON(),c.hiddenIds=Array.from(r)),c}return y};export{ue as FeatureLikeLayerView2D};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as n}from"./FeatureLikeLayerView2D.js";import r from"../../layers/GeoJSONLayerView.js";let i=class extends n(r){};i=e([t(`esri.views.2d.layers.GeoJSONLayerView2D`)],i);const a=i;export{a as default};
2
+ import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as r}from"./FeatureLikeLayerView2D.js";import{InMemoryLayerAdapter as i}from"./features/layerAdapters/InMemoryLayerAdapter.js";import a from"../../layers/GeoJSONLayerView.js";let o=class extends r(a){get layerAdapter(){return new i(this.layer)}};e([t()],o.prototype,`layerAdapter`,null),o=e([n(`esri.views.2d.layers.GeoJSONLayerView2D`)],o);const s=o;export{s as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as n}from"./FeatureLikeLayerView2D.js";import r from"../../layers/KnowledgeGraphSublayerView.js";let i=class extends n(r){};i=e([t(`esri.views.2d.layers.KnowledgeGraphSublayerView2D`)],i);const a=i;export{a as default};
2
+ import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as r}from"./FeatureLikeLayerView2D.js";import{KnowledgeGraphSublayerAdapter as i}from"./features/layerAdapters/KnowledgeGraphSublayerAdapter.js";import a from"../../layers/KnowledgeGraphSublayerView.js";let o=class extends r(a){get layerAdapter(){return new i(this.layer)}};e([t()],o.prototype,`layerAdapter`,null),o=e([n(`esri.views.2d.layers.KnowledgeGraphSublayerView2D`)],o);const s=o;export{s as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as n}from"./FeatureLikeLayerView2D.js";import r from"../../layers/OGCFeatureLayerView.js";let i=class extends n(r){supportsSpatialReference(e){return this.layer.serviceSupportsSpatialReference(e)}};i=e([t(`esri.views.2d.layers.OGCFeatureLayerView2D`)],i);const a=i;export{a as default};
2
+ import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as r}from"./FeatureLikeLayerView2D.js";import{OGCFeatureLayerAdapter as i}from"./features/layerAdapters/OGCFeatureLayerAdapter.js";import a from"../../layers/OGCFeatureLayerView.js";let o=class extends r(a){get layerAdapter(){return new i(this.layer)}supportsSpatialReference(e){return this.layer.serviceSupportsSpatialReference(e)}};e([t()],o.prototype,`layerAdapter`,null),o=e([n(`esri.views.2d.layers.OGCFeatureLayerView2D`)],o);const s=o;export{s as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as n}from"./FeatureLikeLayerView2D.js";import r from"../../layers/OrientedImageryLayerView.js";let i=class extends n(r){};i=e([t(`esri.views.2d.layers.OrientedImageryLayerView2D`)],i);const a=i;export{a as default};
2
+ import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as r}from"./FeatureLikeLayerView2D.js";import{OrientedImageryLayerAdapter as i}from"./features/layerAdapters/OrientedImageryLayerAdapter.js";import a from"../../layers/OrientedImageryLayerView.js";let o=class extends r(a){get layerAdapter(){return new i(this.layer)}};e([t()],o.prototype,`layerAdapter`,null),o=e([n(`esri.views.2d.layers.OrientedImageryLayerView2D`)],o);const s=o;export{s as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as n}from"./FeatureLikeLayerView2D.js";import r from"../../layers/ParquetLayerView.js";let i=class extends n(r){};i=e([t(`esri.views.2d.layers.ParquetLayerView2D`)],i);const a=i;export{a as default};
2
+ import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as r}from"./FeatureLikeLayerView2D.js";import{ParquetLayerAdapter as i}from"./features/layerAdapters/ParquetLayerAdapter.js";import a from"../../layers/ParquetLayerView.js";let o=class extends r(a){get layerAdapter(){return new i(this.layer)}};e([t()],o.prototype,`layerAdapter`,null),o=e([n(`esri.views.2d.layers.ParquetLayerView2D`)],o);const s=o;export{s as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Error.js";import{handlesGroup as n,makeHandle as r}from"../../../core/handleUtils.js";import{watch as i}from"../../../core/reactiveUtils.js";import{property as a,subclass as o}from"../../../core/accessorSupport/decorators.js";import s from"../../../rest/support/FeatureSet.js";import{isNumber as c}from"../../../support/guards.js";import{FeatureLikeLayerView2D as l}from"./FeatureLikeLayerView2D.js";import{handleNoEngineError as u}from"./support/handleNoEngineError.js";import d from"../../layers/StreamLayerView.js";let f=class extends l(d){constructor(){super(...arguments),this.pipelineConnectionStatus=`disconnected`,this.pipelineErrorString=null}initialize(){this.addHandles([i(()=>this.layer.customParameters,async e=>{(await this.getWorker()).streamMessenger.updateCustomParameters(e)}),this.layer.on(`send-message-to-socket`,async e=>{(await this.getWorker()).streamMessenger.sendMessageToSocket(e)}),this.layer.on(`send-message-to-client`,async e=>{(await this.getWorker()).streamMessenger.sendMessageToClient(e),this._isUserPaused&&`type`in e&&e.type===`clear`&&this.incrementSourceRefreshVersion()}),i(()=>this.layer.purgeOptions,()=>this._update()),i(()=>this.suspended,this._onSuspendedChange.bind(this))],`constructor`),this._doResume()}destroy(){this._doPause()}get connectionError(){return this.pipelineErrorString?new t(`stream-controller`,this.pipelineErrorString):null}on(e,t){if(Array.isArray(e))return n(e.map(e=>this.on(e,t)));let i=[`data-received`,`message-received`].includes(e);i&&this.getWorker().then(t=>t.streamMessenger.enableEvent(e,!0));let a=super.on(e,t),o=this;return r(()=>{a.remove(),i&&!o._workerProxy.closed&&!o.hasEventListener(e)&&o.getWorker().then(t=>t.streamMessenger.enableEvent(e,!1))})}async queryLatestObservations(e,n){if(!(this.layer.timeInfo?.endField||this.layer.timeInfo?.startField||this.layer.timeInfo?.trackIdField))throw new t(`streamlayer-no-timeField`,`queryLatestObservation can only be used with services that define a TrackIdField`);let r=await this.getWorker();return u(r.features.executeQueryForLatestObservations(this._cleanUpQuery(e),n).then(e=>{let t=s.fromJSON(e);return t.features.forEach(e=>{e.layer=this.layer,e.sourceLayer=this.layer,e.origin=this.layer.graphicOrigin}),t}),new s({features:[]}))}detach(){super.detach(),this.pipelineConnectionStatus=`disconnected`}onProxyClientEvent(e){this.emit(e.name,e.event)}async queryObjectIds(e,t){return(await super.queryObjectIds(e,t)).filter(c)}get _streamConnectionStatus(){return this.pipelineConnectionStatus}_doPause(){this._refreshInterval!=null&&(clearInterval(this._refreshInterval),this._refreshInterval=null)}_doResume(){this._refreshInterval??=setInterval(()=>this.incrementSourceRefreshVersion(),this.layer.updateInterval)}_doDisconnect(){this.getWorker().then(e=>e.streamMessenger.disconnect()),this._doPause()}_doConnect(){this.getWorker().then(e=>e.streamMessenger.connect()),this.resume()}_doClear(){this.getWorker().then(e=>e.streamMessenger.clear()),this._refreshInterval??this.incrementSourceRefreshVersion()}_createClientOptions(){let e=super._createClientOptions(),t=this;return{...e,get container(){return t.featureContainer},setProperty:e=>{this.set(e.propertyName,e.value)}}}};e([a()],f.prototype,`pipelineConnectionStatus`,void 0),e([a()],f.prototype,`pipelineErrorString`,void 0),e([a({readOnly:!0})],f.prototype,`connectionError`,null),e([a({readOnly:!0})],f.prototype,`_streamConnectionStatus`,null),f=e([o(`esri.views.2d.layers.StreamLayerView2D`)],f);const p=f;export{p as default};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Error.js";import{handlesGroup as n,makeHandle as r}from"../../../core/handleUtils.js";import{watch as i}from"../../../core/reactiveUtils.js";import{property as a,subclass as o}from"../../../core/accessorSupport/decorators.js";import s from"../../../rest/support/FeatureSet.js";import{isNumber as c}from"../../../support/guards.js";import{FeatureLikeLayerView2D as l}from"./FeatureLikeLayerView2D.js";import{StreamLayerAdapter as u}from"./features/layerAdapters/StreamLayerAdapter.js";import{handleNoEngineError as d}from"./support/handleNoEngineError.js";import f from"../../layers/StreamLayerView.js";let p=class extends l(f){constructor(){super(...arguments),this.pipelineConnectionStatus=`disconnected`,this.pipelineErrorString=null}initialize(){this.addHandles([i(()=>this.layer.customParameters,async e=>{(await this.getWorker()).streamMessenger.updateCustomParameters(e)}),this.layer.on(`send-message-to-socket`,async e=>{(await this.getWorker()).streamMessenger.sendMessageToSocket(e)}),this.layer.on(`send-message-to-client`,async e=>{(await this.getWorker()).streamMessenger.sendMessageToClient(e),this._isUserPaused&&`type`in e&&e.type===`clear`&&this.incrementSourceRefreshVersion()}),i(()=>this.layer.purgeOptions,()=>this._update()),i(()=>this.suspended,this._onSuspendedChange.bind(this))],`constructor`),this._doResume()}destroy(){this._doPause()}get connectionError(){return this.pipelineErrorString?new t(`stream-controller`,this.pipelineErrorString):null}get layerAdapter(){return new u(this.layer)}on(e,t){if(Array.isArray(e))return n(e.map(e=>this.on(e,t)));let i=[`data-received`,`message-received`].includes(e);i&&this.getWorker().then(t=>t.streamMessenger.enableEvent(e,!0));let a=super.on(e,t),o=this;return r(()=>{a.remove(),i&&!o._workerProxy.closed&&!o.hasEventListener(e)&&o.getWorker().then(t=>t.streamMessenger.enableEvent(e,!1))})}async queryLatestObservations(e,n){if(!(this.layer.timeInfo?.endField||this.layer.timeInfo?.startField||this.layer.timeInfo?.trackIdField))throw new t(`streamlayer-no-timeField`,`queryLatestObservation can only be used with services that define a TrackIdField`);let r=await this.getWorker();return d(r.features.executeQueryForLatestObservations(this._cleanUpQuery(e),n).then(e=>{let t=s.fromJSON(e);return t.features.forEach(e=>{e.layer=this.layer,e.sourceLayer=this.layer,e.origin=this.layer.graphicOrigin}),t}),new s({features:[]}))}detach(){super.detach(),this.pipelineConnectionStatus=`disconnected`}onProxyClientEvent(e){this.emit(e.name,e.event)}async queryObjectIds(e,t){return(await super.queryObjectIds(e,t)).filter(c)}get _streamConnectionStatus(){return this.pipelineConnectionStatus}_doPause(){this._refreshInterval!=null&&(clearInterval(this._refreshInterval),this._refreshInterval=null)}_doResume(){this._refreshInterval??=setInterval(()=>this.incrementSourceRefreshVersion(),this.layer.updateInterval)}_doDisconnect(){this.getWorker().then(e=>e.streamMessenger.disconnect()),this._doPause()}_doConnect(){this.getWorker().then(e=>e.streamMessenger.connect()),this.resume()}_doClear(){this.getWorker().then(e=>e.streamMessenger.clear()),this._refreshInterval??this.incrementSourceRefreshVersion()}_createClientOptions(){let e=super._createClientOptions(),t=this;return{...e,get container(){return t.featureContainer},setProperty:e=>{this.set(e.propertyName,e.value)}}}};e([a({readOnly:!0})],p.prototype,`connectionError`,null),e([a()],p.prototype,`layerAdapter`,null),e([a()],p.prototype,`pipelineConnectionStatus`,void 0),e([a()],p.prototype,`pipelineErrorString`,void 0),e([a({readOnly:!0})],p.prototype,`_streamConnectionStatus`,null),p=e([o(`esri.views.2d.layers.StreamLayerView2D`)],p);const m=p;export{m as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{watch as t,initial as n}from"../../../core/reactiveUtils.js";import{subclass as r}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as i}from"./FeatureLikeLayerView2D.js";import a from"../../layers/SubtypeGroupLayerView.js";let o=class extends i(a){initialize(){this.addHandles([t(()=>this.view.scale,()=>this._update(),n)],`constructor`)}hasRenderer(){return this.layer.sublayers.some(e=>e.renderer!=null)}};o=e([r(`esri.views.2d.layers.SubtypeGroupLayerView2D`)],o);const s=o;export{s as default};
2
+ import{__decorate as e}from"tslib";import{watch as t,initial as n}from"../../../core/reactiveUtils.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as a}from"./FeatureLikeLayerView2D.js";import{SubtypeGroupLayerAdapter as o}from"./features/layerAdapters/SubtypeGroupLayerAdapter.js";import s from"../../layers/SubtypeGroupLayerView.js";let c=class extends a(s){initialize(){this.addHandles([t(()=>this.view.scale,()=>this._update(),n)],`constructor`)}get layerAdapter(){return new o(this.layer)}hasRenderer(){return this.layer.sublayers.some(e=>e.renderer!=null)}};e([r()],c.prototype,`layerAdapter`,null),c=e([i(`esri.views.2d.layers.SubtypeGroupLayerView2D`)],c);const l=c;export{l as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as n}from"./FeatureLikeLayerView2D.js";import r from"../../layers/WFSLayerView.js";let i=class extends n(r){};i=e([t(`esri.views.2d.layers.WFSLayerView2D`)],i);const a=i;export{a as default};
2
+ import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../../core/accessorSupport/decorators.js";import{FeatureLikeLayerView2D as r}from"./FeatureLikeLayerView2D.js";import{InMemoryLayerAdapter as i}from"./features/layerAdapters/InMemoryLayerAdapter.js";import a from"../../layers/WFSLayerView.js";let o=class extends r(a){get layerAdapter(){return new i(this.layer)}};e([t()],o.prototype,`layerAdapter`,null),o=e([n(`esri.views.2d.layers.WFSLayerView2D`)],o);const s=o;export{s as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{clone as e}from"../../../../../core/lang.js";import{sqlAnd as t}from"../../../../../core/sql.js";import{isHostedAgolService as n}from"../../../../../layers/support/arcgisLayerUrl.js";import{canConvertSqlRelativeTime as r,sqlRelativeTimeToAbsolute as i}from"../../../../../layers/support/relativeTimeQueryUtils.js";import{getUtilityNetworkFields as a}from"../../../../../networks/support/networkFieldUtils.js";import{getEffectiveFeatureReduction as o}from"./featureReductionUtils.js";import{createFeatureIdInfo as s}from"./featureServiceUtils.js";import{addFloorFilter as c,hasFloorFilter as l}from"./floorFilterUtils.js";import{getServiceGeometryType as u}from"./geometryUtils.js";import{createLabelVVEvaluator as d}from"./labelingUtils.js";import{ExceedsLimitCache as f}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as p,createFeatureSourceSchema as m}from"../schema/SourceSchema.js";import{createServiceTimeSchema as h}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as g}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as _}from"../support/rendererUtils.js";class v{constructor(e){this.layer=e,this._cache=new f}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:d(this.layer.renderer)}}]}async createSourceSchema(e,n){let a=this._createServiceInfo(e),o=this.layer.editingInfo?.lastEditDate!=null,s=this.layer.refreshInterval>0,c=!o&&s,l=p(a.isSourceHosted,c,this.layer.capabilities,a.metadata.geometryType,e.extent,this.layer.fullExtent),u=this.layer.subtypeCode==null?null:`${this.layer.subtypeField} = ${this.layer.subtypeCode}`,d=t(this.layer.definitionExpression,u),f=r(d)?await i(this.layer.fieldsIndex,d,this.layer.capabilities.query.relativeTimeBinWindow):d,h=d===f?null:{where:d},{gdbVersion:g,apiKey:_,historicMoment:v,timeExtent:y,customParameters:b,displayFilterInfo:x}=this.layer;return m(a,l,{definitionExpression:f,returnZ:e.returnZ,returnM:e.returnM,postQueryFilter:h,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:x,customParameters:b,gdbVersion:g,historicMoment:v,timeExtent:y,apiKey:_,sourceRefreshVersion:n,availableFields:e.availableFields,cache:this._cache})}createProcessorSchema(e,t,n){let{fields:r,renderer:i,geometryType:a,labelingInfo:s,labelsVisible:c,orderBy:l,objectIdField:u,trackInfo:d,symbolLayerDrawing:f}=this.layer,p={fields:r.map(e=>e.toJSON()),renderer:i?.clone(),labelingInfoSource:this.layer.id,featureReduction:o(this.layer,t),geometryType:a,labelingInfo:s,labelsVisible:c,objectIdField:u,orderBy:l??`default`,trackInfo:d,symbolLayerDrawing:f};return g(e,t,p,n)}get hasRequiredSupport(){return _(this.layer.renderer)}get timeOptions(){return this.layer}addFilters(e,t){return c(this.layer,e,t)}getUpdateHashProperties(e){return this.layer.destroyed?[]:[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>o(this.layer,e),()=>l(this.layer,e)?e.floors:null,()=>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,()=>this.layer.symbolLayerDrawing?.drawOrder,()=>this.layer.symbolLayerDrawing?.enabled,()=>e?.requiredFieldsOptions?.featureTitleFields&&this.layer.featureTitleFields,()=>e?.requiredFieldsOptions?.utilityNetworkFields&&a(e,this.layer)]}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){let r=this.layer,{capabilities:i,editingInfo:a,typeIdField:o,globalIdField:c,datesInUnknownTimezone:l,dateFieldsTimeZone:d,orderBy:f,subtypeField:p}=r,m=r.fieldsIndex.toJSON(),g=u(r),{hasZ:_,hasM:v}=r,y=h(r.timeInfo),b=r.spatialReference.toJSON(),x=r.types?.map(e=>e.toJSON()),S=e(this.layer.parsedUrl);this.layer.dynamicDataSource&&(S.query={layer:JSON.stringify({source:this.layer.dynamicDataSource})});let C=this.layer.objectIdField;if(f?.length){let e=!f[0].valueExpression&&f[0].field;e&&(C=e)}let w=n(S.path),T=t.spatialReference.toJSON();return{type:`feature-service`,source:S,isSourceHosted:w,orderByFields:C,outSpatialReference:T,metadata:{typeIdField:o??void 0,types:x,timeReferenceUnknownClient:l,dateFieldsTimeZone:d,subtypeField:p,globalIdField:c,fieldsIndex:m,geometryType:g,hasZ:_,hasM:v,featureIdInfo:s(r),timeInfo:y,spatialReference:b,outSpatialReference:T,attributeSpatialReference:null,subtypes:this.layer.subtypes?.map(e=>e.toJSON())},queryMetadata:{supportsCacheHint:i.query.supportsCacheHint,maxRecordCount:i.query.maxRecordCount,tileMaxRecordCount:i.query.tileMaxRecordCount,supportsCompactGeometry:i.query.supportsCompactGeometry,supportsDefaultSpatialReference:i.query.supportsDefaultSpatialReference,supportsFormatPBF:i.query.supportsFormatPBF,supportsMaxRecordCountFactor:i.query.supportsMaxRecordCountFactor,supportsQuantization:i.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:i.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:i.query.supportsDegeneratedQuantizedGeometry,supportsReturnExceededLimitGeometries:i.query.supportsReturnExceededLimitGeometries,lastEditDate:a?.lastEditDate?.getTime()}}}}export{v as FeatureLayerAdapter};
2
+ import{clone as e}from"../../../../../core/lang.js";import{sqlAnd as t}from"../../../../../core/sql.js";import{isHostedAgolService as n}from"../../../../../layers/support/arcgisLayerUrl.js";import{canConvertSqlRelativeTime as r,sqlRelativeTimeToAbsolute as i}from"../../../../../layers/support/relativeTimeQueryUtils.js";import{getUtilityNetworkFields as a}from"../../../../../networks/support/networkFieldUtils.js";import{getEffectiveFeatureReduction as o}from"./featureReductionUtils.js";import{createFeatureIdInfo as s}from"./featureServiceUtils.js";import{addFloorFilter as c,hasFloorFilter as l}from"./floorFilterUtils.js";import{getServiceGeometryType as u}from"./geometryUtils.js";import{createLabelVVEvaluator as d}from"./labelingUtils.js";import{ExceedsLimitCache as f}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as p,createFeatureSourceSchema as m}from"../schema/SourceSchema.js";import{createServiceTimeSchema as h}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as g}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as _}from"../support/rendererUtils.js";class v{constructor(e){this.layer=e,this._cache=new f}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:d(this.layer.renderer)}}]}async createSourceSchema(e,n){let a=this._createServiceInfo(e),o=this.layer.editingInfo?.lastEditDate!=null,s=this.layer.refreshInterval>0,c=!o&&s,l=p(a.isSourceHosted,c,this.layer.capabilities,a.metadata.geometryType,e.extent,this.layer.fullExtent),u=this.layer.subtypeCode==null?null:`${this.layer.subtypeField} = ${this.layer.subtypeCode}`,d=t(this.layer.definitionExpression,u),f=r(d)?await i(this.layer.fieldsIndex,d,this.layer.capabilities.query.relativeTimeBinWindow):d,h=d===f?null:{where:d},{gdbVersion:g,apiKey:_,historicMoment:v,timeExtent:y,customParameters:b,displayFilterInfo:x}=this.layer;return m(a,l,{definitionExpression:f,returnZ:e.returnZ,returnM:e.returnM,postQueryFilter:h,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:x,customParameters:b,gdbVersion:g,historicMoment:v,timeExtent:y,apiKey:_,sourceRefreshVersion:n,availableFields:e.availableFields,cache:this._cache})}createProcessorSchema(e,t,n){let{fields:r,renderer:i,geometryType:a,labelingInfo:s,labelsVisible:c,orderBy:l,objectIdField:u,trackInfo:d,symbolLayerDrawing:f}=this.layer,p={fields:r.map(e=>e.toJSON()),renderer:i?.clone(),labelingInfoSource:this.layer.id,featureReduction:o(this.layer,t),geometryType:a,labelingInfo:s,labelsVisible:c,objectIdField:u,orderBy:l??`default`,trackInfo:d,symbolLayerDrawing:f};return g(e,t,p,n)}get hasRequiredSupport(){return _(this.layer.renderer)}get timeOptions(){return this.layer}addFilters(e,t){return c(this.layer,e,t)}getUpdateHashProperties(e){return this.layer.destroyed?[]:[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>o(this.layer,e),()=>l(this.layer,e)?e.floors:null,()=>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,()=>this.layer.symbolLayerDrawing?.drawOrder,()=>this.layer.symbolLayerDrawing?.enabled,()=>e?.requiredFieldsOptions?.featureTitleFields&&this.layer.featureTitleFields,()=>e?.requiredFieldsOptions?.utilityNetworkFields&&a(e,this.layer)]}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){let r=this.layer,{capabilities:i,editingInfo:a,typeIdField:o,globalIdField:c,datesInUnknownTimezone:l,dateFieldsTimeZone:d,orderBy:f,subtypeField:p}=r,m=r.fieldsIndex.toJSON(),g=u(r),{hasZ:_,hasM:v}=r,y=h(r.timeInfo),b=r.spatialReference.toJSON(),x=r.types?.map(e=>e.toJSON()),S=e(this.layer.parsedUrl);this.layer.dynamicDataSource&&(S.query={layer:JSON.stringify(this.layer.dynamicDataSource.toLayerSourceJSON())});let C=this.layer.objectIdField;if(f?.length){let e=!f[0].valueExpression&&f[0].field;e&&(C=e)}let w=n(S.path),T=t.spatialReference.toJSON();return{type:`feature-service`,source:S,isSourceHosted:w,orderByFields:C,outSpatialReference:T,metadata:{typeIdField:o??void 0,types:x,timeReferenceUnknownClient:l,dateFieldsTimeZone:d,subtypeField:p,globalIdField:c,fieldsIndex:m,geometryType:g,hasZ:_,hasM:v,featureIdInfo:s(r),timeInfo:y,spatialReference:b,outSpatialReference:T,attributeSpatialReference:null,subtypes:this.layer.subtypes?.map(e=>e.toJSON())},queryMetadata:{supportsCacheHint:i.query.supportsCacheHint,maxRecordCount:i.query.maxRecordCount,tileMaxRecordCount:i.query.tileMaxRecordCount,supportsCompactGeometry:i.query.supportsCompactGeometry,supportsDefaultSpatialReference:i.query.supportsDefaultSpatialReference,supportsFormatPBF:i.query.supportsFormatPBF,supportsMaxRecordCountFactor:i.query.supportsMaxRecordCountFactor,supportsQuantization:i.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:i.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:i.query.supportsDegeneratedQuantizedGeometry,supportsReturnExceededLimitGeometries:i.query.supportsReturnExceededLimitGeometries,lastEditDate:a?.lastEditDate?.getTime()}}}}export{v as FeatureLayerAdapter};