@arcgis/core 5.1.0-next.63 → 5.1.0-next.65

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 (346) hide show
  1. package/Camera.d.ts +1 -1
  2. package/Ground.d.ts +7 -7
  3. package/PopupTemplate.d.ts +8 -8
  4. package/WebDocument2D.js +1 -1
  5. package/WebScene.d.ts +1 -1
  6. package/WebScene.js +1 -1
  7. package/analysis/AreaMeasurementAnalysis.d.ts +1 -1
  8. package/analysis/DirectLineMeasurementAnalysis.d.ts +1 -1
  9. package/analysis/LengthDimension.d.ts +4 -4
  10. package/analysis/ShadowCastAnalysis.d.ts +3 -3
  11. package/analysis/SliceAnalysis.d.ts +1 -1
  12. package/analysis/SlicePlane.d.ts +1 -1
  13. package/applications/Components/featureUtils.d.ts +24 -0
  14. package/applications/Components/featureUtils.js +1 -1
  15. package/arcade/geometry/wkt.js +1 -1
  16. package/assets/esri/core/workers/RemoteClient.js +1 -1
  17. package/assets/esri/core/workers/chunks/{8166ad6bbd7d7a8f91cf.js → 0f3b8a08f843a080af0d.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{354351ab3fc79dedf9a8.js → 4eca871ca51a59f6540a.js} +1 -1
  19. package/assets/esri/core/workers/chunks/7e97684e851274efd11f.js +1 -0
  20. package/assets/esri/core/workers/chunks/86f1aa2c108f5224d8b5.js +1 -0
  21. package/assets/esri/core/workers/chunks/b8acb6c2538053c01cc6.js +1 -0
  22. package/assets/esri/core/workers/chunks/d9d69cf2496ebe76eade.js +1 -0
  23. package/assets/esri/core/workers/chunks/{6c72dbd5275bffde1583.js → e622a23034f055de8b55.js} +1 -1
  24. package/assets/esri/core/workers/chunks/ec9d5dcf2a0a11c85341.js +1 -0
  25. package/config.js +1 -1
  26. package/effects/FocusAreas.d.ts +1 -1
  27. package/form/elements/FieldElement.d.ts +1 -1
  28. package/form/elements/GroupElement.d.ts +1 -1
  29. package/form/elements/TextElement.d.ts +1 -1
  30. package/form/elements/inputs/ComboBoxInput.d.ts +1 -1
  31. package/form/elements/inputs/RadioButtonsInput.d.ts +1 -1
  32. package/form/elements/inputs/SwitchInput.d.ts +1 -1
  33. package/geometry/Mesh.d.ts +7 -7
  34. package/geometry/operators/alphaShapeOperator.d.ts +1 -1
  35. package/geometry/operators/areaOperator.d.ts +1 -1
  36. package/geometry/operators/bufferOperator.d.ts +1 -1
  37. package/geometry/operators/centroidOperator.d.ts +1 -1
  38. package/geometry/operators/clipOperator.d.ts +1 -1
  39. package/geometry/operators/containsOperator.d.ts +1 -1
  40. package/geometry/operators/convexHullOperator.d.ts +1 -1
  41. package/geometry/operators/crossesOperator.d.ts +1 -1
  42. package/geometry/operators/cutOperator.d.ts +1 -1
  43. package/geometry/operators/densifyOperator.d.ts +1 -1
  44. package/geometry/operators/differenceOperator.d.ts +1 -1
  45. package/geometry/operators/disjointOperator.d.ts +1 -1
  46. package/geometry/operators/distanceOperator.d.ts +1 -1
  47. package/geometry/operators/generalizeOperator.d.ts +1 -1
  48. package/geometry/operators/geodesicProximityOperator.d.ts +1 -1
  49. package/geometry/operators/geodeticDistanceOperator.d.ts +1 -1
  50. package/geometry/operators/geodeticUtilsOperator.d.ts +2 -2
  51. package/geometry/operators/graphicBufferOperator.d.ts +1 -1
  52. package/geometry/operators/intersectionOperator.d.ts +1 -1
  53. package/geometry/operators/intersectsOperator.d.ts +1 -1
  54. package/geometry/operators/isNearOperator.d.ts +1 -1
  55. package/geometry/operators/lengthOperator.d.ts +1 -1
  56. package/geometry/operators/locateBetweenOperator.d.ts +1 -1
  57. package/geometry/operators/multiPartToSinglePartOperator.d.ts +1 -1
  58. package/geometry/operators/offsetOperator.d.ts +5 -5
  59. package/geometry/operators/overlapsOperator.d.ts +1 -1
  60. package/geometry/operators/proximityOperator.d.ts +1 -1
  61. package/geometry/operators/simplifyOGCOperator.d.ts +1 -1
  62. package/geometry/operators/simplifyOperator.d.ts +1 -1
  63. package/geometry/operators/support/Transformation.d.ts +6 -6
  64. package/geometry/operators/symmetricDifferenceOperator.d.ts +1 -1
  65. package/geometry/operators/touchesOperator.d.ts +1 -1
  66. package/geometry/operators/unionOperator.d.ts +1 -1
  67. package/geometry/operators/withinOperator.d.ts +1 -1
  68. package/geometry/support/MeshMaterialMetallicRoughness.d.ts +1 -1
  69. package/geometry/support/vcsData.js +2 -0
  70. package/geometry/support/vcsLookup.js +2 -0
  71. package/kernel.js +1 -1
  72. package/layers/BuildingSceneLayer.d.ts +4 -4
  73. package/layers/CSVLayer.d.ts +2 -2
  74. package/layers/CatalogLayer.d.ts +2 -2
  75. package/layers/ElevationLayer.d.ts +1 -1
  76. package/layers/FeatureLayer.d.ts +2 -2
  77. package/layers/GeoJSONLayer.d.ts +2 -2
  78. package/layers/GeoRSSLayer.d.ts +1 -1
  79. package/layers/GraphicsLayer.d.ts +2 -2
  80. package/layers/ImageryLayer.d.ts +3 -3
  81. package/layers/ImageryTileLayer.d.ts +2 -2
  82. package/layers/IntegratedMesh3DTilesLayer.d.ts +6 -6
  83. package/layers/IntegratedMeshLayer.d.ts +7 -7
  84. package/layers/MapImageLayer.d.ts +1 -1
  85. package/layers/MediaLayer.d.ts +1 -1
  86. package/layers/OGCFeatureLayer.d.ts +2 -2
  87. package/layers/PointCloudLayer.d.ts +1 -1
  88. package/layers/SceneLayer.d.ts +9 -9
  89. package/layers/StreamLayer.d.ts +2 -2
  90. package/layers/VectorTileLayer.d.ts +2 -2
  91. package/layers/VideoLayer.d.ts +1 -1
  92. package/layers/VoxelLayer.d.ts +8 -8
  93. package/layers/WFSLayer.d.ts +6 -6
  94. package/layers/catalog/CatalogFootprintLayer.d.ts +1 -1
  95. package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
  96. package/layers/graphics/sources/support/MemorySourceWorker.js +1 -1
  97. package/layers/mixins/ArcGISImageService.js +1 -1
  98. package/layers/mixins/BlendLayer.d.ts +6 -6
  99. package/layers/pointCloudFilters/PointCloudReturnFilter.d.ts +1 -1
  100. package/layers/pointCloudFilters/PointCloudValueFilter.d.ts +1 -1
  101. package/layers/support/DimensionalDefinition.d.ts +2 -2
  102. package/layers/support/FeatureEffect.d.ts +4 -4
  103. package/layers/support/FeatureFilter.d.ts +17 -17
  104. package/layers/support/FeatureReductionBinning.d.ts +1 -1
  105. package/layers/support/FeatureReductionCluster.d.ts +9 -9
  106. package/layers/support/FeatureReductionSelection.d.ts +1 -1
  107. package/layers/support/LabelClass.d.ts +2 -2
  108. package/layers/support/RasterFunction.d.ts +1 -1
  109. package/layers/support/SceneFilter.d.ts +2 -2
  110. package/layers/support/SceneModification.d.ts +3 -3
  111. package/layers/support/capabilities.js +1 -1
  112. package/layers/support/featureLayerUtils.js +1 -1
  113. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  114. package/layers/types.d.ts +6 -0
  115. package/package.json +1 -1
  116. package/popup/Feature.d.ts +6 -6
  117. package/popup/Feature.js +1 -1
  118. package/popup/Features.d.ts +3 -14
  119. package/popup/Features.js +1 -1
  120. package/popup/content/AttachmentsContent.d.ts +1 -1
  121. package/popup/content/BarChartMediaInfo.d.ts +1 -1
  122. package/popup/content/ColumnChartMediaInfo.d.ts +1 -1
  123. package/popup/content/FieldsContent.d.ts +1 -1
  124. package/popup/content/ImageMediaInfo.d.ts +1 -1
  125. package/popup/content/LineChartMediaInfo.d.ts +1 -1
  126. package/popup/content/MediaContent.d.ts +1 -1
  127. package/popup/content/PieChartMediaInfo.d.ts +1 -1
  128. package/popup/content/RelationshipContent.d.ts +1 -1
  129. package/popup/content/TextContent.d.ts +1 -1
  130. package/popup/support/featureUtils.js +1 -1
  131. package/popup/types.d.ts +193 -8
  132. package/portal/schemas/definitions.js +1 -1
  133. package/renderers/ClassBreaksRenderer.d.ts +1 -1
  134. package/renderers/DictionaryRenderer.d.ts +1 -1
  135. package/renderers/DotDensityRenderer.d.ts +3 -3
  136. package/renderers/FlowRenderer.d.ts +5 -5
  137. package/renderers/HeatmapRenderer.d.ts +3 -3
  138. package/renderers/PieChartRenderer.d.ts +1 -1
  139. package/renderers/RasterShadedReliefRenderer.d.ts +1 -1
  140. package/renderers/Renderer.d.ts +4 -4
  141. package/renderers/SimpleRenderer.d.ts +2 -2
  142. package/renderers/UniqueValueRenderer.d.ts +2 -2
  143. package/renderers/VectorFieldRenderer.d.ts +1 -1
  144. package/renderers/mixins/VisualVariablesMixin.d.ts +12 -12
  145. package/renderers/visualVariables/ColorVariable.d.ts +1 -1
  146. package/renderers/visualVariables/OpacityVariable.d.ts +1 -1
  147. package/renderers/visualVariables/RotationVariable.d.ts +1 -1
  148. package/renderers/visualVariables/SizeVariable.d.ts +1 -1
  149. package/renderers/visualVariables/VisualVariable.d.ts +1 -1
  150. package/rest/query/support/AttachmentInfo.d.ts +1 -1
  151. package/rest/support/AttributeBinsQuery.d.ts +8 -8
  152. package/rest/support/AutoIntervalBinParameters.d.ts +1 -1
  153. package/rest/support/DateBinParameters.d.ts +1 -1
  154. package/rest/support/FixedBoundariesBinParameters.d.ts +1 -1
  155. package/rest/support/FixedIntervalBinParameters.d.ts +1 -1
  156. package/rest/support/Query.d.ts +8 -8
  157. package/rest/support/TopFeaturesQuery.d.ts +8 -8
  158. package/smartMapping/labels/clusters.d.ts +1 -1
  159. package/smartMapping/popup/clusters.d.ts +2 -2
  160. package/smartMapping/popup/templates.d.ts +1 -1
  161. package/smartMapping/raster/renderers/flow.d.ts +2 -2
  162. package/smartMapping/renderers/color.d.ts +12 -12
  163. package/smartMapping/renderers/predominance.d.ts +3 -3
  164. package/smartMapping/renderers/relationship.d.ts +15 -15
  165. package/smartMapping/renderers/univariateColorSize.d.ts +4 -4
  166. package/smartMapping/symbology/color.d.ts +4 -4
  167. package/smartMapping/symbology/flow.d.ts +2 -2
  168. package/smartMapping/symbology/types.d.ts +18 -18
  169. package/support/actions/ActionButton.d.ts +1 -1
  170. package/support/revision.js +1 -1
  171. package/symbols/CIMSymbol.d.ts +1 -1
  172. package/symbols/ExtrudeSymbol3DLayer.d.ts +1 -1
  173. package/symbols/FillSymbol3DLayer.d.ts +3 -3
  174. package/symbols/IconSymbol3DLayer.d.ts +1 -1
  175. package/symbols/LabelSymbol3D.d.ts +2 -2
  176. package/symbols/LineStyleMarker3D.d.ts +7 -7
  177. package/symbols/LineSymbol3D.d.ts +2 -2
  178. package/symbols/LineSymbol3DLayer.d.ts +7 -7
  179. package/symbols/LineSymbolMarker.d.ts +6 -6
  180. package/symbols/MarkerSymbol.d.ts +1 -1
  181. package/symbols/MeshSymbol3D.d.ts +2 -2
  182. package/symbols/ObjectSymbol3DLayer.d.ts +1 -1
  183. package/symbols/PathSymbol3DLayer.d.ts +14 -14
  184. package/symbols/PictureFillSymbol.d.ts +1 -1
  185. package/symbols/PictureMarkerSymbol.d.ts +1 -1
  186. package/symbols/PointSymbol3D.d.ts +3 -3
  187. package/symbols/PolygonSymbol3D.d.ts +5 -5
  188. package/symbols/SimpleFillSymbol.d.ts +8 -8
  189. package/symbols/SimpleLineSymbol.d.ts +20 -20
  190. package/symbols/SimpleMarkerSymbol.d.ts +7 -7
  191. package/symbols/Symbol3DLayer.d.ts +16 -16
  192. package/symbols/TextSymbol.d.ts +1 -1
  193. package/symbols/TextSymbol3DLayer.d.ts +1 -1
  194. package/symbols/WaterSymbol3DLayer.d.ts +3 -3
  195. package/symbols/WebStyleSymbol.d.ts +12 -12
  196. package/symbols/callouts/Callout3D.d.ts +1 -1
  197. package/symbols/callouts/LineCallout3D.d.ts +3 -3
  198. package/symbols/cim/types.d.ts +23 -23
  199. package/symbols/edges/Edges3D.d.ts +1 -1
  200. package/symbols/edges/SolidEdges3D.d.ts +1 -1
  201. package/symbols/patterns/LineStylePattern3D.d.ts +11 -11
  202. package/symbols/patterns/StylePattern3D.d.ts +8 -8
  203. package/symbols/support/ElevationInfo.d.ts +2 -2
  204. package/symbols/support/IconSymbol3DLayerResource.d.ts +6 -6
  205. package/symbols/support/ObjectSymbol3DLayerResource.d.ts +7 -7
  206. package/symbols/support/Symbol3DEmissive.d.ts +2 -2
  207. package/symbols/support/Symbol3DVerticalOffset.d.ts +2 -2
  208. package/views/2d/engine/flow/FlowStrategy.js +1 -1
  209. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  210. package/views/2d/engine/flow/styles/Particles.js +1 -1
  211. package/views/2d/engine/flow/styles/Stack.js +1 -1
  212. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  213. package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
  214. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  215. package/views/2d/layers/BaseLayerViewGL2D.d.ts +1 -1
  216. package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
  217. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  218. package/views/2d/types.d.ts +3 -3
  219. package/views/3d/FocusAreasView.js +1 -1
  220. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  221. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  222. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  223. package/views/3d/environment/CloudyWeather.d.ts +1 -1
  224. package/views/3d/environment/Environment.d.ts +4 -4
  225. package/views/3d/environment/FoggyWeather.d.ts +1 -1
  226. package/views/3d/environment/RainyWeather.d.ts +1 -1
  227. package/views/3d/environment/SnowyWeather.d.ts +1 -1
  228. package/views/3d/environment/SunLighting.d.ts +1 -1
  229. package/views/3d/environment/SunnyWeather.d.ts +1 -1
  230. package/views/3d/environment/VirtualLighting.d.ts +1 -1
  231. package/views/3d/layers/graphics/extrudeUtils.js +1 -1
  232. package/views/3d/support/renderInfoUtils/polygon.js +1 -1
  233. package/views/3d/webgl/RenderNode.d.ts +2 -2
  234. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  235. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
  236. package/views/3d/webgl-engine/lib/CutFillVisualizationRenderNode.js +1 -1
  237. package/views/3d/webgl.d.ts +1 -1
  238. package/views/Magnifier.d.ts +3 -3
  239. package/views/MapView.d.ts +7 -7
  240. package/views/SceneView.d.ts +16 -16
  241. package/views/View.d.ts +17 -3
  242. package/views/View.js +1 -1
  243. package/views/interactive/sketch/SketchLabelOptions.d.ts +1 -1
  244. package/views/interactive/sketch/SketchTooltipOptions.d.ts +1 -1
  245. package/views/interactive/snapping/SnappingOptions.d.ts +7 -7
  246. package/views/layers/LineOfSightLayerView.d.ts +3 -2
  247. package/views/support/HighlightOptions.d.ts +1 -1
  248. package/views/types.d.ts +59 -2
  249. package/views/ui/DefaultUI.d.ts +2 -2
  250. package/webscene/Environment.d.ts +10 -10
  251. package/webscene/Glow.d.ts +1 -1
  252. package/webscene/background/ColorBackground.d.ts +1 -1
  253. package/widgets/AreaMeasurement2D.d.ts +1 -1
  254. package/widgets/AreaMeasurement3D.d.ts +2 -2
  255. package/widgets/Attachments.d.ts +1 -1
  256. package/widgets/Attribution.d.ts +1 -1
  257. package/widgets/BasemapGallery.d.ts +1 -1
  258. package/widgets/BasemapLayerList.d.ts +3 -3
  259. package/widgets/BasemapToggle.d.ts +1 -1
  260. package/widgets/Bookmarks/BookmarksVisibleElements.d.ts +1 -1
  261. package/widgets/Bookmarks.d.ts +2 -2
  262. package/widgets/BuildingExplorer.d.ts +1 -1
  263. package/widgets/CatalogLayerList.d.ts +3 -3
  264. package/widgets/Compass.d.ts +2 -2
  265. package/widgets/CoordinateConversion.d.ts +1 -1
  266. package/widgets/Daylight.d.ts +5 -5
  267. package/widgets/DirectLineMeasurement3D.d.ts +2 -2
  268. package/widgets/Directions.d.ts +4 -4
  269. package/widgets/DistanceMeasurement2D.d.ts +1 -1
  270. package/widgets/Editor/CreateFeaturesWorkflow.d.ts +1 -1
  271. package/widgets/Editor.d.ts +8 -8
  272. package/widgets/ElevationProfile/ElevationProfileLineGround.d.ts +1 -1
  273. package/widgets/ElevationProfile/ElevationProfileLineInput.d.ts +1 -1
  274. package/widgets/ElevationProfile/ElevationProfileLineView.d.ts +1 -1
  275. package/widgets/ElevationProfile.d.ts +3 -3
  276. package/widgets/Expand.d.ts +1 -1
  277. package/widgets/FeatureForm.d.ts +1 -1
  278. package/widgets/FeatureTable/ActionColumn.d.ts +2 -2
  279. package/widgets/FeatureTable/AttachmentsColumn.d.ts +1 -1
  280. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +3 -3
  281. package/widgets/FeatureTable/Grid/GroupColumn.d.ts +1 -1
  282. package/widgets/FeatureTable/RelationshipColumn.d.ts +1 -1
  283. package/widgets/FeatureTable/VisibleElements.d.ts +1 -1
  284. package/widgets/FeatureTable.d.ts +10 -10
  285. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +5 -5
  286. package/widgets/FeatureTemplates.d.ts +8 -8
  287. package/widgets/Features/FeaturesViewModel.d.ts +2 -2
  288. package/widgets/Features/FeaturesVisibleElements.d.ts +2 -2
  289. package/widgets/Features.d.ts +1 -1
  290. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  291. package/widgets/FloorFilter.d.ts +2 -2
  292. package/widgets/Histogram.d.ts +2 -2
  293. package/widgets/HistogramRangeSlider.d.ts +1 -1
  294. package/widgets/Home.d.ts +1 -1
  295. package/widgets/LayerList/ListItemPanel.d.ts +1 -1
  296. package/widgets/LayerList.d.ts +4 -4
  297. package/widgets/Legend.d.ts +8 -8
  298. package/widgets/LineOfSight.d.ts +1 -1
  299. package/widgets/Locate.d.ts +2 -2
  300. package/widgets/Measurement.d.ts +1 -1
  301. package/widgets/NavigationToggle/NavigationToggleViewModel.d.ts +1 -1
  302. package/widgets/NavigationToggle.d.ts +3 -3
  303. package/widgets/Popup/PopupVisibleElements.d.ts +2 -2
  304. package/widgets/Popup.d.ts +5 -5
  305. package/widgets/Print/CustomTemplate.d.ts +1 -1
  306. package/widgets/Print/TemplateOptions.d.ts +4 -4
  307. package/widgets/ScaleRangeSlider.d.ts +1 -1
  308. package/widgets/Search/SearchViewModel.d.ts +4 -4
  309. package/widgets/Search.d.ts +5 -5
  310. package/widgets/ShadowCast.d.ts +3 -3
  311. package/widgets/Sketch/SketchViewModel.d.ts +39 -39
  312. package/widgets/Sketch.d.ts +43 -43
  313. package/widgets/Slice.d.ts +2 -2
  314. package/widgets/Slider/SliderViewModel.d.ts +2 -2
  315. package/widgets/Slider.d.ts +9 -9
  316. package/widgets/Swipe/SwipeViewModel.d.ts +1 -1
  317. package/widgets/Swipe.d.ts +2 -2
  318. package/widgets/TableList/ListItemPanel.d.ts +1 -1
  319. package/widgets/TableList.d.ts +1 -1
  320. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +10 -10
  321. package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
  322. package/widgets/TimeSlider/types.d.ts +1 -1
  323. package/widgets/TimeSlider.d.ts +13 -13
  324. package/widgets/Track.d.ts +2 -2
  325. package/widgets/UtilityNetworkAssociations.d.ts +3 -3
  326. package/widgets/UtilityNetworkTrace.d.ts +4 -4
  327. package/widgets/UtilityNetworkValidateTopology.d.ts +1 -1
  328. package/widgets/ValuePicker.d.ts +5 -5
  329. package/widgets/VideoPlayer.d.ts +1 -1
  330. package/widgets/smartMapping/ClassedColorSlider.d.ts +1 -1
  331. package/widgets/smartMapping/ClassedSizeSlider.d.ts +1 -1
  332. package/widgets/smartMapping/ColorSizeSlider.d.ts +2 -2
  333. package/widgets/smartMapping/ColorSlider.d.ts +1 -1
  334. package/widgets/smartMapping/HeatmapSlider.d.ts +1 -1
  335. package/widgets/smartMapping/OpacitySlider.d.ts +1 -1
  336. package/widgets/smartMapping/SizeSlider.d.ts +1 -1
  337. package/widgets/smartMapping/SmartMappingSliderBase.d.ts +4 -4
  338. package/widgets/smartMapping/SmartMappingSliderViewModel.d.ts +6 -6
  339. package/widgets/support/GridControls.d.ts +1 -1
  340. package/widgets/support/SnappingControls/VisibleElements.d.ts +1 -1
  341. package/widgets/support/SnappingControls.d.ts +6 -6
  342. package/assets/esri/core/workers/chunks/2aaeaf022af8493281dc.js +0 -1
  343. package/assets/esri/core/workers/chunks/2d92ba11781a3cfc3a78.js +0 -1
  344. package/assets/esri/core/workers/chunks/5c6e5f22450dd0583074.js +0 -1
  345. package/assets/esri/core/workers/chunks/75f7c1f600c4051bc905.js +0 -1
  346. package/assets/esri/core/workers/chunks/ee8cd91c27e9cdfc3b2e.js +0 -1
@@ -182,11 +182,11 @@ export default class GraphicsLayer extends GraphicsLayerSuperclass {
182
182
  *
183
183
  * `layer.screenSizePerspectiveEnabled = true`
184
184
  *
185
- * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-screenSize-perspective.png)
185
+ * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-screenSize-perspective.avif)
186
186
  *
187
187
  * `layer.screenSizePerspectiveEnabled = false`
188
188
  *
189
- * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-no-screenSize-perspective.png)
189
+ * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-no-screenSize-perspective.avif)
190
190
  *
191
191
  * > [!WARNING]
192
192
  * >
@@ -70,7 +70,7 @@ export interface ImageryLayerEvents extends RefreshableLayerEvents, LayerEvents
70
70
  * rasters in the catalog. An image service supports dynamic access and tiled access. Dynamic access provides more functionalities,
71
71
  * and tiled access provides faster and more scalable access to precooked tiles.
72
72
  *
73
- * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/imagery/layers-imagery.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-pixelvalues/)
73
+ * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/imagery/layers-imagery.avif)](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-pixelvalues/)
74
74
  *
75
75
  * If the image service is requested from a different domain, a [CORS enabled server](https://developers.arcgis.com/javascript/latest/cors/) or a
76
76
  * [proxy](https://developers.arcgis.com/javascript/latest/proxies/) is required.
@@ -133,7 +133,7 @@ export interface ImageryLayerEvents extends RefreshableLayerEvents, LayerEvents
133
133
  * As illustrated in the graphic below, multidimensional data can show sea temperature (variable) for a specific area at multiple time and depth dimensions.
134
134
  * This information is stored as slices, where the service has a slice for each unique combination of dimension values and variable names.
135
135
  *
136
- * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/imagery/multidimensional-data.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
136
+ * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/imagery/multidimensional-data.avif)](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
137
137
  *
138
138
  * <details>
139
139
  * <summary>Read More</summary>
@@ -221,7 +221,7 @@ export interface ImageryLayerEvents extends RefreshableLayerEvents, LayerEvents
221
221
  * purple borders are slices included in the layer's `multidimensionalSubset`. The slice with the red border is the `multidimensionalDefinition` of the layer and
222
222
  * what is visible on the map. The layer's `multidimensionalDefinition` must fall within the `multidimensionalSubset`, otherwise nothing will be displayed in the map.
223
223
  *
224
- * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/imagery/multidimensionalsubset.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-multidimensional/)
224
+ * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/imagery/multidimensionalsubset.avif)](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-multidimensional/)
225
225
  *
226
226
  * </details>
227
227
  *
@@ -358,7 +358,7 @@ export interface ImageryTileLayerProperties extends LayerProperties, Refreshable
358
358
  * As illustrated in the graphic below, multidimensional data can show sea temperature (variable) for a specific area at multiple time and depth dimensions.
359
359
  * This information is stored as slices, where the service has a slice for each unique combination of dimension values and variable names.
360
360
  *
361
- * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/imagery/multidimensional-data.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
361
+ * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/imagery/multidimensional-data.avif)](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
362
362
  *
363
363
  * <details>
364
364
  * <summary>Read More</summary>
@@ -435,7 +435,7 @@ export interface ImageryTileLayerProperties extends LayerProperties, Refreshable
435
435
  * purple borders are slices included in the layer's `multidimensionalSubset`. The slice with the red border is the `multidimensionalDefinition` of the layer and
436
436
  * what is visible on the map. The layer's `multidimensionalDefinition` must fall within the `multidimensionalSubset`, otherwise nothing will be displayed in the map.
437
437
  *
438
- * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/imagery/multidimensionalsubset.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-multidimensional/)
438
+ * [![layers-imagery](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/imagery/multidimensionalsubset.avif)](https://developers.arcgis.com/javascript/latest/sample-code/layers-imagery-multidimensional/)
439
439
  *
440
440
  * </details>
441
441
  *
@@ -38,9 +38,9 @@ export interface IntegratedMesh3DTilesLayerProperties extends LayerProperties, A
38
38
  *
39
39
  * Illustration | Modification | Description
40
40
  * ------|------------|--------
41
- * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-clip.png" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
42
- * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-mask.png" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
43
- * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-replace.png" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
41
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-clip.avif" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
42
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-mask.avif" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
43
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-replace.avif" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
44
44
  *
45
45
  * > [!WARNING]
46
46
  * >
@@ -137,9 +137,9 @@ export default class IntegratedMesh3DTilesLayer extends IntegratedMesh3DTilesLay
137
137
  *
138
138
  * Illustration | Modification | Description
139
139
  * ------|------------|--------
140
- * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-clip.png" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
141
- * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-mask.png" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
142
- * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-replace.png" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
140
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-clip.avif" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
141
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-mask.avif" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
142
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-replace.avif" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
143
143
  *
144
144
  * > [!WARNING]
145
145
  * >
@@ -38,9 +38,9 @@ export interface IntegratedMeshLayerProperties extends LayerProperties, APIKeyMi
38
38
  *
39
39
  * Illustration | Modification | Description
40
40
  * ------|------------|--------
41
- * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-clip.png" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
42
- * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-mask.png" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
43
- * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-replace.png" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
41
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-clip.avif" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
42
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-mask.avif" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
43
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-replace.avif" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
44
44
  *
45
45
  * > [!WARNING]
46
46
  * >
@@ -91,7 +91,7 @@ export interface IntegratedMeshLayerProperties extends LayerProperties, APIKeyMi
91
91
  * include elevation information and 3D objects, such as buildings and trees. Integrated mesh layers are generally
92
92
  * created for citywide 3D mapping; they are often captured by drone and cannot be restyled.
93
93
  *
94
- * [![integratedmeshlayer](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/integratedmeshlayer.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-integratedmeshlayer/)
94
+ * [![integratedmeshlayer](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/integratedmeshlayer.avif)](https://developers.arcgis.com/javascript/latest/sample-code/layers-integratedmeshlayer/)
95
95
  *
96
96
  * The Scene Service is identified by the URL of the ArcGIS Server REST resource:
97
97
  *
@@ -135,9 +135,9 @@ export default class IntegratedMeshLayer extends IntegratedMeshLayerSuperclass {
135
135
  *
136
136
  * Illustration | Modification | Description
137
137
  * ------|------------|--------
138
- * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-clip.png" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
139
- * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-mask.png" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
140
- * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-replace.png" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
138
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-clip.avif" alt="modification-type-clip" style="width:100px;"/>| <b>clip</b> - removes selected area | Clip-out portions of the integrated mesh to see features below. For example, utility work on gas or water lines in an area. Planners can create a scene in which the integrated mesh is clipped out at a site to expose the water or gas lines below it.
139
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-mask.avif" alt="modification-type-mask" style="width:100px;"/> | <b>mask</b> - displays only selected area | Define an area of interest. Use a polygon and draw only parts of the integrated mesh inside that polygon. For example, if you want to show only a portion of an integrated mesh within the boundaries of a city.
140
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/modification-replace.avif" alt="modification-type-replace" style="width:100px;"/> | <b>replace</b> - flattens selected area |Replace an area of an integrated mesh based on a 3D polygon. For example, to add constructed buildings, flatten the integrated mesh at the footprint of a building so the new building can be visualized. Create different scenarios of the new construction area and share the scenarios as a web scene to discuss with stakeholders. The integrated mesh flattens to the minimum z-vertex of the modification polygon.
141
141
  *
142
142
  * > [!WARNING]
143
143
  * >
@@ -238,7 +238,7 @@ export interface MapImageLayerEvents extends RefreshableLayerEvents, LayerEvents
238
238
  * To learn more about working with sublayers, see the [Sublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/) API
239
239
  * documentation.
240
240
  *
241
- * [![mapimagelayer-renderer](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/mapimagelayer-renderer.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-mapimagelayer-renderers/)
241
+ * [![mapimagelayer-renderer](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/mapimagelayer-renderer.avif)](https://developers.arcgis.com/javascript/latest/sample-code/layers-mapimagelayer-renderers/)
242
242
  *
243
243
  * <span id="dynamic-layers"></span>
244
244
  * ## Dynamic layers
@@ -104,7 +104,7 @@ export interface MediaLayerProperties extends LayerProperties, PortalLayerProper
104
104
  * });
105
105
  * ```
106
106
  *
107
- * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/media-layer.gif)
107
+ * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/media-layer.webm)
108
108
  *
109
109
  * @since 4.24
110
110
  * @see [Sample - MediaLayer with images](https://developers.arcgis.com/javascript/latest/sample-code/layers-medialayer-images/)
@@ -376,11 +376,11 @@ export default class OGCFeatureLayer extends OGCFeatureLayerSuperclass {
376
376
  *
377
377
  * `layer.screenSizePerspectiveEnabled = true`
378
378
  *
379
- * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-screenSize-perspective.png)
379
+ * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-screenSize-perspective.avif)
380
380
  *
381
381
  * `layer.screenSizePerspectiveEnabled = false`
382
382
  *
383
- * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-no-screenSize-perspective.png)
383
+ * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-no-screenSize-perspective.avif)
384
384
  *
385
385
  * > [!WARNING]
386
386
  * >
@@ -148,7 +148,7 @@ export interface PointCloudLayerProperties extends LayerProperties, APIKeyMixinP
148
148
  * during the lidar survey make up the point cloud data. This layer type creates
149
149
  * fast visualizations of point cloud data in the browser.
150
150
  *
151
- * [![pointcloudlayer](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/pointcloudlayer.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-pointcloud-portal/)
151
+ * [![pointcloudlayer](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/pointcloudlayer.avif)](https://developers.arcgis.com/javascript/latest/sample-code/layers-pointcloud-portal/)
152
152
  *
153
153
  * The Scene Service is identified by the URL of the ArcGIS Server REST resource:
154
154
  *
@@ -100,7 +100,7 @@ export interface SceneLayerProperties extends LayerProperties, APIKeyMixinProper
100
100
  * This property is only supported for point scene layers with non-draped [Icon](https://developers.arcgis.com/javascript/latest/references/core/symbols/IconSymbol3DLayer/)
101
101
  * or [Text](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol3DLayer/) symbol layers.
102
102
  *
103
- * [![declutter](https://developers.arcgis.com/javascript/latest/assets/images/samples/city-points-declutter.gif)](https://developers.arcgis.com/javascript/latest/sample-code/visualization-point-styles/)
103
+ * [![declutter](https://developers.arcgis.com/javascript/latest/assets/images/samples/city-points-declutter.webm)](https://developers.arcgis.com/javascript/latest/sample-code/visualization-point-styles/)
104
104
  *
105
105
  * > [!WARNING]
106
106
  * >
@@ -340,12 +340,12 @@ export interface SceneLayerEvents extends EditBusLayerEvents, LayerEvents {}
340
340
  * amounts of data in a [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). SceneLayers support two geometry types:
341
341
  * [Point](https://developers.arcgis.com/javascript/latest/references/core/geometry/Point/) and 3D Objects (e.g. Buildings).
342
342
  *
343
- * [![san-francisco-buildings](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/scenelayer-buildings.png)](https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/SanFrancisco_Bldgs/SceneServer)
343
+ * [![san-francisco-buildings](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/scenelayer-buildings.avif)](https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/SanFrancisco_Bldgs/SceneServer)
344
344
  *
345
345
  * You can find many samples of SceneLayers in ArcGIS Online by
346
346
  * [searching the gallery](https://www.arcgis.com/home/search.html?start=1&sortOrder=desc&sortField=relevance&q=&focus=layers-weblayers-scenelayers).
347
347
  *
348
- * [![city-scene-layer-guide](https://developers.arcgis.com/javascript/latest/assets/images/guide/scene-layer/city-scene-layer-guide.png)](https://www.arcgis.com/home/search.html?start=1&sortOrder=desc&sortField=relevance&q=&focus=layers-weblayers-scenelayers)
348
+ * [![city-scene-layer-guide](https://developers.arcgis.com/javascript/latest/assets/images/guide/scene-layer/city-scene-layer-guide.avif)](https://www.arcgis.com/home/search.html?start=1&sortOrder=desc&sortField=relevance&q=&focus=layers-weblayers-scenelayers)
349
349
  *
350
350
  * <span id="publishing-a-scenelayer"></span>
351
351
  * ## Publishing a SceneLayer
@@ -359,7 +359,7 @@ export interface SceneLayerEvents extends EditBusLayerEvents, LayerEvents {}
359
359
  * <details>
360
360
  * <summary>Read More</summary>
361
361
  *
362
- * [![scenelayer-ny](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/scenelayer-ny.png)](https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/New_York_LoD2_3D_Buildings/SceneServer/layers/0)
362
+ * [![scenelayer-ny](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/scenelayer-ny.avif)](https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/New_York_LoD2_3D_Buildings/SceneServer/layers/0)
363
363
  *
364
364
  * Scene Services can be hosted on [ArcGIS Online](https://www.arcgis.com/home/) or [ArcGIS Enterprise](https://enterprise.arcgis.com/) by uploading a Scene Layer Package (.slpk) or by
365
365
  * publishing it from ArcGIS Pro. Depending on how you publish a SceneLayer, there are two types of layers: **SceneLayers with an associated feature layer** and **SceneLayers with cached attributes only**.
@@ -431,7 +431,7 @@ export interface SceneLayerEvents extends EditBusLayerEvents, LayerEvents {}
431
431
  * [sample](https://developers.arcgis.com/javascript/latest/sample-code/layers-scenelayer-edges/) to explore this example further, or read the
432
432
  * [visualization overview](https://developers.arcgis.com/javascript/latest/visualization-overview/) to learn more about data visualization techniques.
433
433
  *
434
- * [![scenelayer-edges](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbol3d-edges-solid-2.png)](https://developers.arcgis.com/javascript/latest/sample-code/layers-scenelayer-edges/)
434
+ * [![scenelayer-edges](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbol3d-edges-solid-2.avif)](https://developers.arcgis.com/javascript/latest/sample-code/layers-scenelayer-edges/)
435
435
  *
436
436
  * Attributes used in data-driven visualizations with [visual variables](https://developers.arcgis.com/javascript/latest/references/core/renderers/SimpleRenderer/#visualVariables) must be accessible to a
437
437
  * [SceneLayer's cache](https://pro.arcgis.com/en/pro-app/latest/help/sharing/overview/web-scene-layer.htm).
@@ -476,7 +476,7 @@ export interface SceneLayerEvents extends EditBusLayerEvents, LayerEvents {}
476
476
  * will query the associated feature layer for attributes. For a SceneLayer with cached attributes only, attributes come from the cache.
477
477
  * Arcade expressions for `expressionInfo` in a [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/#popupTemplate) are also supported.
478
478
  *
479
- * ![custom-popups](https://developers.arcgis.com/javascript/latest/assets/images/guide/scene-layer/custom-popups.png)
479
+ * ![custom-popups](https://developers.arcgis.com/javascript/latest/assets/images/guide/scene-layer/custom-popups.avif)
480
480
  *
481
481
  * <span id="querying"></span>
482
482
  * ## Querying
@@ -713,7 +713,7 @@ export default class SceneLayer extends SceneLayerSuperclass {
713
713
  * This property is only supported for point scene layers with non-draped [Icon](https://developers.arcgis.com/javascript/latest/references/core/symbols/IconSymbol3DLayer/)
714
714
  * or [Text](https://developers.arcgis.com/javascript/latest/references/core/symbols/TextSymbol3DLayer/) symbol layers.
715
715
  *
716
- * [![declutter](https://developers.arcgis.com/javascript/latest/assets/images/samples/city-points-declutter.gif)](https://developers.arcgis.com/javascript/latest/sample-code/visualization-point-styles/)
716
+ * [![declutter](https://developers.arcgis.com/javascript/latest/assets/images/samples/city-points-declutter.webm)](https://developers.arcgis.com/javascript/latest/sample-code/visualization-point-styles/)
717
717
  *
718
718
  * > [!WARNING]
719
719
  * >
@@ -952,11 +952,11 @@ export default class SceneLayer extends SceneLayerSuperclass {
952
952
  *
953
953
  * `layer.screenSizePerspectiveEnabled = true`
954
954
  *
955
- * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-screenSize-perspective.png)
955
+ * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-screenSize-perspective.avif)
956
956
  *
957
957
  * `layer.screenSizePerspectiveEnabled = false`
958
958
  *
959
- * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-no-screenSize-perspective.png)
959
+ * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-no-screenSize-perspective.avif)
960
960
  *
961
961
  * > [!WARNING]
962
962
  * >
@@ -711,11 +711,11 @@ export default class StreamLayer extends StreamLayerSuperclass {
711
711
  *
712
712
  * `layer.screenSizePerspectiveEnabled = true`
713
713
  *
714
- * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-screenSize-perspective.png)
714
+ * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-screenSize-perspective.avif)
715
715
  *
716
716
  * `layer.screenSizePerspectiveEnabled = false`
717
717
  *
718
- * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-no-screenSize-perspective.png)
718
+ * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-no-screenSize-perspective.avif)
719
719
  *
720
720
  * > [!WARNING]
721
721
  * >
@@ -297,7 +297,7 @@ export interface VectorTileLayerEvents extends RefreshableLayerEvents, LayerEven
297
297
  * "https://www.arcgis.com/sharing/rest/content/items/effe3475f05a4d608e66fd6eeb2113c0/resources/styles/root.json"
298
298
  * );
299
299
  * ```
300
- * ![vectortiles-loadstyle](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/layers-vectortiles-loadstyle.gif)
300
+ * ![vectortiles-loadstyle](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/layers-vectortiles-loadstyle.webm)
301
301
  *
302
302
  * ### Updating various properties of style layers
303
303
  * Properties of [style layers](https://maplibre.org/maplibre-style-spec/layers/) in the VectorTileLayer's [current style](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/#currentStyleInfo) can be changed
@@ -348,7 +348,7 @@ export interface VectorTileLayerEvents extends RefreshableLayerEvents, LayerEven
348
348
  * const styleLayer = { style layer json object}
349
349
  * layer.setStyleLayer(styleLayer, 0)
350
350
  * ```
351
- * [![vectortiles-setstylelayer](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/layers-vectortiles-setstylelayer.gif)](https://developers.arcgis.com/javascript/latest/sample-code/layers-vectortilelayer-style/)
351
+ * [![vectortiles-setstylelayer](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/layers-vectortiles-setstylelayer.webm)](https://developers.arcgis.com/javascript/latest/sample-code/layers-vectortilelayer-style/)
352
352
  *
353
353
  * </details>
354
354
  *
@@ -158,7 +158,7 @@ export interface VideoLayerProperties extends LayerProperties, CustomParametersM
158
158
  * > Not supported by the [Legend](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-legend/).
159
159
  * > Not supported on macOS and iOS devices.
160
160
  *
161
- * ![VideoLayer and VideoPlayer](https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/video-player.png)
161
+ * ![VideoLayer and VideoPlayer](https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/video-player.avif)
162
162
  *
163
163
  * @since 4.30
164
164
  * @example const videoLayer = new VideoLayer({ url });
@@ -119,7 +119,7 @@ export type VoxelRenderMode = "volume" | "surfaces";
119
119
  * For example, an underground model visualized as a voxel layer can be viewed together with buildings
120
120
  * or subterrain utilities to evaluate the underground for planned construction or maintenance.
121
121
  *
122
- * ![voxel-layer](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxel-layer.png)
122
+ * ![voxel-layer](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxel-layer.avif)
123
123
  *
124
124
  * > [!WARNING]
125
125
  * >
@@ -221,7 +221,7 @@ export type VoxelRenderMode = "volume" | "surfaces";
221
221
  * [VoxelSlice](https://developers.arcgis.com/javascript/latest/references/core/layers/voxel/VoxelSlice/) can be modified with
222
222
  * real-time rendering updates.
223
223
  *
224
- * ![voxellayer_voxelslice](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxellayer_voxelslice.png)
224
+ * ![voxellayer_voxelslice](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxellayer_voxelslice.avif)
225
225
  *
226
226
  * ### VoxelDynamicSection
227
227
  * A section is a plane which cuts through a voxel volume. Sections can reveal valuable information,
@@ -240,7 +240,7 @@ export type VoxelRenderMode = "volume" | "surfaces";
240
240
  * [VoxelDynamicSection](https://developers.arcgis.com/javascript/latest/references/core/layers/voxel/VoxelDynamicSection/) can be modified with
241
241
  * real-time rendering updates.
242
242
  *
243
- * ![voxellayer_dynamicsection](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxellayer_dynamicsection.png)
243
+ * ![voxellayer_dynamicsection](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxellayer_dynamicsection.avif)
244
244
  *
245
245
  * ### VoxelIsosurface
246
246
  * A [VoxelIsosurface](https://developers.arcgis.com/javascript/latest/references/core/layers/voxel/VoxelIsosurface/)
@@ -256,7 +256,7 @@ export type VoxelRenderMode = "volume" | "surfaces";
256
256
  * in [VoxelIsosurface](https://developers.arcgis.com/javascript/latest/references/core/layers/voxel/VoxelIsosurface/).
257
257
  * You can have up to four isosurfaces in a voxel layer.
258
258
  *
259
- * ![voxellayer_isosurface](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxellayer_isosurface.png)
259
+ * ![voxellayer_isosurface](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxellayer_isosurface.avif)
260
260
  *
261
261
  * ### Analysis Tool
262
262
  * The [Slice](https://developers.arcgis.com/javascript/latest/references/core/widgets/Slice/), [DirectLineMeasurement3D](https://developers.arcgis.com/javascript/latest/references/core/widgets/DirectLineMeasurement3D/)
@@ -295,7 +295,7 @@ export type VoxelRenderMode = "volume" | "surfaces";
295
295
  * Use the [fields](https://developers.arcgis.com/javascript/latest/references/core/layers/VoxelLayer/#fields) to list all available fields that can be used to customize the popup
296
296
  * of a VoxelLayer.
297
297
  *
298
- * ![voxellayer_popup.png](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxellayer_popup.png)
298
+ * ![voxellayer_popup.png](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxellayer_popup.avif)
299
299
  *
300
300
  * <span id="voxellayer-volume"></span>
301
301
  * ## VoxelLayer Volume
@@ -305,15 +305,15 @@ export type VoxelRenderMode = "volume" | "surfaces";
305
305
  *
306
306
  * * X, Y, Z in which each dimension represents a geographic coordinate
307
307
  *
308
- * ![voxellayer_xyz](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxellayer_xyz.png)
308
+ * ![voxellayer_xyz](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxellayer_xyz.avif)
309
309
  *
310
310
  * * X, Y, T in which X and Y represent a geographic coordinate and T represents time as a level
311
311
  *
312
- * ![voxellayer_xyt](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxellayer_xyt.png)
312
+ * ![voxellayer_xyt](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxellayer_xyt.avif)
313
313
  *
314
314
  * * X, Y, Z, T in which each dimension represents geographic coordinates and includes a fourth dimension representing time.
315
315
  *
316
- * ![voxellayer_xyzt](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxellayer_xyzt.png)
316
+ * ![voxellayer_xyzt](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/voxellayer_xyzt.avif)
317
317
  *
318
318
  * <span id="voxellayer-time"></span>
319
319
  * ## VoxelLayer and time
@@ -180,7 +180,7 @@ export interface WFSLayerProperties extends LayerProperties, PortalLayerProperti
180
180
  * The title of the layer used to identify it in places such as the [Legend](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-legend/)
181
181
  * and [LayerList](https://developers.arcgis.com/javascript/latest/references/core/widgets/LayerList/).
182
182
  *
183
- * ![wfs-title](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/wfslayer/title.png)
183
+ * ![wfs-title](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/wfslayer/title.avif)
184
184
  *
185
185
  * @default "WFS"
186
186
  */
@@ -449,7 +449,7 @@ export default class WFSLayer extends WFSLayerSuperclass {
449
449
  * The name of the layer in the WFS service to display, excluding the namespace.
450
450
  * If not specified, the first layer found in the GetCapabilities request will be used.
451
451
  *
452
- * ![wfs-name](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/wfslayer/name.png)
452
+ * ![wfs-name](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/wfslayer/name.avif)
453
453
  *
454
454
  * @see [namespaceUri](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/#namespaceUri)
455
455
  * @example
@@ -463,7 +463,7 @@ export default class WFSLayer extends WFSLayerSuperclass {
463
463
  * The namespace URI for the layer name.
464
464
  * If not specified, the first namespace associated with the first layer found with `name` will be used.
465
465
  *
466
- * ![wfs-namespace](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/wfslayer/namespaceUri.png)
466
+ * ![wfs-namespace](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/wfslayer/namespaceUri.avif)
467
467
  *
468
468
  * @see [name](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/#name)
469
469
  * @example
@@ -556,11 +556,11 @@ export default class WFSLayer extends WFSLayerSuperclass {
556
556
  *
557
557
  * `layer.screenSizePerspectiveEnabled = true`
558
558
  *
559
- * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-screenSize-perspective.png)
559
+ * ![screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-screenSize-perspective.avif)
560
560
  *
561
561
  * `layer.screenSizePerspectiveEnabled = false`
562
562
  *
563
- * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-no-screenSize-perspective.png)
563
+ * ![no-screen-size-perspective](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols-no-screenSize-perspective.avif)
564
564
  *
565
565
  * > [!WARNING]
566
566
  * >
@@ -588,7 +588,7 @@ export default class WFSLayer extends WFSLayerSuperclass {
588
588
  * The title of the layer used to identify it in places such as the [Legend](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-legend/)
589
589
  * and [LayerList](https://developers.arcgis.com/javascript/latest/references/core/widgets/LayerList/).
590
590
  *
591
- * ![wfs-title](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/wfslayer/title.png)
591
+ * ![wfs-title](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/wfslayer/title.avif)
592
592
  *
593
593
  * @default "WFS"
594
594
  */
@@ -148,7 +148,7 @@ export interface CatalogFootprintLayerProperties extends LayerProperties, BlendL
148
148
  * and [extruding](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#elevationInfo) the layer (in 3D). You can also [query](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#queryFeatures) the layer to get the footprints of the items in the CatalogLayer.
149
149
  *
150
150
  * <figure>
151
- * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/cataloglayer/catalog-layer.png" alt="footprint"/>
151
+ * <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/cataloglayer/catalog-layer.avif" alt="footprint"/>
152
152
  * <figcaption> This image shows CatalogLayer and its footprint layer legend in the CatalogLayerList.</figcaption>
153
153
  * </figure>
154
154
  *
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"../../../../request.js";import{createTask as t}from"../../../../core/asyncUtils.js";import s from"../../../../core/Error.js";import i from"../../../../core/Logger.js";import{isAbortError as r}from"../../../../core/promiseUtils.js";import{getJsonType as n}from"../../../../geometry/support/jsonTypeUtils.js";import{wgs84 as a,equals as o}from"../../../../geometry/support/spatialReferenceUtils.js";import{convertFromGeometry as u,convertToGeometry as l,convertFromFeatures as d,convertToFeature as p,convertFromFeature as c}from"../../featureConversionUtils.js";import y from"../../data/FeatureStore.js";import{checkProjectionSupport as m,project as h}from"../../data/projectionSupport.js";import{QueryEngine as f}from"../../data/QueryEngine.js";import{inferLayerProperties as g,createOptimizedFeatures as _,validateGeoJSON as I}from"./geojson.js";import{createDefaultTemplate as j,createDefaultAttributesFunction as E,createDrawingInfo as F}from"../support/clientSideDefaults.js";import{queryBinsCapabilities as b,loadGeometryEngineForSimplify as T,mixAttributes as w,createFeatureEditSuccessResult as q,createFeatureEditErrorResult as x,simplify as S}from"../support/sourceUtils.js";import R from"../../../support/FieldsIndex.js";import{kebabDict as C}from"../../../support/fieldType.js";import{getFieldDefaultValue as A,getFieldDefaultLength as O}from"../../../support/fieldUtils.js";import{utc as Q}from"../../../../time/constants.js";const k={hasAttachments:!1,capabilities:"query, editing, create, delete, update",useStandardizedQueries:!0,supportsCoordinatesQuantization:!0,supportsReturningQueryGeometry:!0,advancedQueryCapabilities:{supportsQueryAttachments:!1,supportsQueryAttachmentOrderByFields:!1,supportsQueryAttachmentWithTypeWildcard:!1,supportsQueryBins:!0,supportsQueryPivot:!1,supportsQueryWithCacheHint:!0,supportsQueryWithDistance:!0,supportsQueryWithResultType:!0,supportsSpatialAggregationStatistics:!0,supportedSpatialAggregationStatistics:["EnvelopeAggregate","CentroidAggregate","ConvexHullAggregate"],supportsStatistics:!0,supportsPercentileStatistics:!0,supportsReturningGeometryCentroid:!0,supportsDistinct:!0,supportsReturningQueryExtent:!0,supportsReturningGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsSqlExpression:!0,supportsDisjointSpatialRel:!0},queryBinsCapabilities:b};class D{constructor(){this._queryEngine=null,this._snapshotFeatures=async e=>{const t=await this._fetch(e);return this._createFeatures(t)}}destroy(){this._queryEngine?.destroy(),this._queryEngine=this._createDefaultAttributes=null}async load(e,t={}){this._loadOptions={url:e.url,customParameters:e.customParameters};const i=[],[r]=await Promise.all([e.url?this._fetch(t?.signal):null,this._checkProjection(e.spatialReference)]),n=g(r,{geometryType:e.geometryType}),o=e.fields||n.fields||[],u=null!=e.hasZ?e.hasZ:n.hasZ,l=n.geometryType;let d=e.objectIdField||n.objectIdFieldName||"__OBJECTID";const p=e.spatialReference||a;let c=e.timeInfo;o===n.fields&&n.unknownFields.length>0&&i.push({name:"geojson-layer:unknown-field-types",message:"Some fields types couldn't be inferred from the features and were dropped",details:{unknownFields:n.unknownFields}});const m=new R(o);let h=m.get(d);h?("esriFieldTypeString"!==h.type&&(h.type="esriFieldTypeOID"),h.editable=!1,h.nullable=!1,d=h.name):(h={alias:d,name:d,type:"string"===n.objectIdFieldType?"esriFieldTypeString":"esriFieldTypeOID",editable:!1,nullable:!1},o.unshift(h));const _={};for(const a of o){if(null==a.name&&(a.name=a.alias),null==a.alias&&(a.alias=a.name),!a.name)throw new s("geojson-layer:invalid-field-name","field name is missing",{field:a});if(!C.jsonValues.includes(a.type))throw new s("geojson-layer:invalid-field-type",`invalid type for field "${a.name}"`,{field:a});if(a.name!==h.name){const e=A(a);void 0!==e&&(_[a.name]=e)}null==a.length&&(a.length=O(a))}if(c){if(c.startTimeField){const e=m.get(c.startTimeField);e?(c.startTimeField=e.name,e.type="esriFieldTypeDate"):c.startTimeField=null}if(c.endTimeField){const e=m.get(c.endTimeField);e?(c.endTimeField=e.name,e.type="esriFieldTypeDate"):c.endTimeField=null}if(c.trackIdField){const e=m.get(c.trackIdField);e?c.trackIdField=e.name:(c.trackIdField=null,i.push({name:"geojson-layer:invalid-timeInfo-trackIdField",message:"trackIdField is missing",details:{timeInfo:c}}))}c.startTimeField||c.endTimeField||(i.push({name:"geojson-layer:invalid-timeInfo",message:"startTimeField and endTimeField are missing",details:{timeInfo:c}}),c=null)}const I=l?F(l):void 0,b=m.dateFields.length?{timeZoneIANA:Q}:null,T={warnings:i,featureErrors:[],layerDefinition:{...k,drawingInfo:I??void 0,templates:j(_),extent:void 0,geometryType:l,objectIdField:d,fields:o,hasZ:!!u,timeInfo:c,dateFieldsTimeReference:b}},w={type:"object-id",fieldName:d};this._queryEngine=new f({fieldsIndex:R.fromLayerJSON({fields:o,timeInfo:c,dateFieldsTimeReference:b}),geometryType:l,hasM:!1,hasZ:u,featureIdInfo:w,spatialReference:p,timeInfo:c,featureStore:new y({geometryType:l,hasM:!1,hasZ:u})});const q=this._queryEngine.fieldsIndex.requiredFields.indexOf(h);q>-1&&this._queryEngine.fieldsIndex.requiredFields.splice(q,1),this._createDefaultAttributes=E(_,d);const x=this._createFeatures(r);this._objectIdGenerator=this._createObjectIdGenerator(this._queryEngine,x);const S=this._normalizeFeatures(x,T.featureErrors);this._queryEngine.featureStore.addMany(S);const{fullExtent:D,timeExtent:v}=await this._queryEngine.fetchRecomputedExtents();if(T.layerDefinition.extent=D,v){const{start:e,end:t}=v;T.layerDefinition.timeInfo.timeExtent=[e,t]}return T}async applyEdits(e){const{spatialReference:t,geometryType:s}=this._queryEngine;return await Promise.all([T(t,s),m(e.adds,t),m(e.updates,t)]),await this._waitSnapshotComplete(),this._applyEdits(e)}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForIds(e,t.signal)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),await this._queryEngine.executeQueryForSnapping(e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){this._loadOptions.customParameters=e,this._snapshotTask?.abort(),this._snapshotTask=t(this._snapshotFeatures),this._snapshotTask.promise.then(e=>{this._queryEngine.featureStore.clear(),this._objectIdGenerator=this._createObjectIdGenerator(this._queryEngine,e);const t=this._normalizeFeatures(e);t&&this._queryEngine.featureStore.addMany(t)},e=>{this._queryEngine.featureStore.clear(),r(e)||i.getLogger("esri.layers.GeoJSONLayer").error(new s("geojson-layer:refresh","An error occurred during refresh",{error:e}))}),await this._waitSnapshotComplete();const{fullExtent:n,timeExtent:a}=await this._queryEngine.fetchRecomputedExtents();return{extent:n,timeExtent:a}}_createFeatures(e){if(null==e)return[];const{geometryType:t,hasZ:s,objectIdField:i}=this._queryEngine,r=_(e,{geometryType:t,hasZ:s,objectIdField:i});if(!o(this._queryEngine.spatialReference,a))for(const n of r)null!=n.geometry&&(n.geometry=u(h(l(n.geometry,this._queryEngine.geometryType,this._queryEngine.hasZ,!1),a,this._queryEngine.spatialReference)));return r}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _fetch(t){const{url:s,customParameters:i}=this._loadOptions,r=(await e(s??"",{responseType:"json",query:{...i},signal:t})).data;return I(r),r}_normalizeFeatures(e,t){const{objectIdField:s,fieldsIndex:i}=this._queryEngine,r=[];for(const n of e){const e=this._createDefaultAttributes(),a=w(i,e,n.attributes,!0);a?t?.push(a):(this._assignObjectId(e,n.attributes,!0),n.attributes=e,n.objectId=e[s],r.push(n))}return r}async _applyEdits(e){const{adds:t,updates:s,deletes:i}=e,r={addResults:[],deleteResults:[],updateResults:[],uidToObjectId:{}};if(t?.length&&this._applyAddEdits(r,t),s?.length&&this._applyUpdateEdits(r,s),i?.length){for(const e of i)r.deleteResults.push(q(e));this._queryEngine.featureStore.removeManyById(i)}const{fullExtent:n,timeExtent:a}=await this._queryEngine.fetchRecomputedExtents();return{extent:n,timeExtent:a,featureEditResults:r}}_applyAddEdits(e,t){const{addResults:s}=e,{geometryType:i,hasM:r,hasZ:a,objectIdField:o,spatialReference:u,featureStore:l,fieldsIndex:p}=this._queryEngine,c=[],y={type:"object-id",fieldName:o};for(const d of t){if(d.geometry&&i!==n(d.geometry)){s.push(x("Incorrect geometry type."));continue}const t=this._createDefaultAttributes(),r=w(p,t,d.attributes);if(r)s.push(r);else{if(this._assignObjectId(t,d.attributes),d.attributes=t,null!=d.uid){const t=d.attributes[o];e.uidToObjectId[d.uid]=t}if(null!=d.geometry){const e=d.geometry.spatialReference??u;d.geometry=h(S(d.geometry,e),e,u)}c.push(d),s.push(q(d.attributes[o]))}}l.addMany(d([],c,i,a,r,y))}_applyUpdateEdits({updateResults:e},t){const{geometryType:s,hasM:i,hasZ:r,objectIdField:a,spatialReference:o,featureStore:u,fieldsIndex:l}=this._queryEngine,d={type:"object-id",fieldName:a};for(const y of t){const{attributes:t,geometry:m}=y,f=t?.[a];if(null==f){e.push(x(`Identifier field ${a} missing`));continue}if(!u.has(f)){e.push(x(`Feature with object id ${f} missing`));continue}const g=p(u.getFeature(f),s,r,i);if(null!=m){if(s!==n(m)){e.push(x("Incorrect geometry type."));continue}const t=m.spatialReference??o;g.geometry=h(S(m,t),t,o)}if(t){const s=w(l,g.attributes,t);if(s){e.push(s);continue}}u.add(c(g,s,r,i,d)),e.push(q(f))}}_createObjectIdGenerator(e,t){const s=e.fieldsIndex.get(e.objectIdField);if("esriFieldTypeString"===s.type)return()=>s.name+"-"+Date.now().toString(16);let i=Number.NEGATIVE_INFINITY;for(const r of t)r.objectId&&(i=Math.max(i,r.objectId));return i=Math.max(0,i)+1,()=>i++}_assignObjectId(e,t,s=!1){const i=this._queryEngine.objectIdField;e[i]=s&&i in t?t[i]:this._objectIdGenerator()}async _checkProjection(e){try{await m(a,e)}catch{throw new s("geojson-layer","Projection not supported")}}}export{D as default};
2
+ import e from"../../../../request.js";import{createTask as t}from"../../../../core/asyncUtils.js";import s from"../../../../core/Error.js";import i from"../../../../core/Logger.js";import{isAbortError as r}from"../../../../core/promiseUtils.js";import{getJsonType as n}from"../../../../geometry/support/jsonTypeUtils.js";import{wgs84 as a,equals as o}from"../../../../geometry/support/spatialReferenceUtils.js";import{convertFromGeometry as u,convertToGeometry as l,convertFromFeatures as d,convertToFeature as p,convertFromFeature as c}from"../../featureConversionUtils.js";import y from"../../data/FeatureStore.js";import{checkProjectionSupport as m,project as h}from"../../data/projectionSupport.js";import{QueryEngine as f}from"../../data/QueryEngine.js";import{inferLayerProperties as g,createOptimizedFeatures as _,validateGeoJSON as I}from"./geojson.js";import{createDefaultTemplate as j,createDefaultAttributesFunction as E,createDrawingInfo as F}from"../support/clientSideDefaults.js";import{queryBinsCapabilities as b,loadGeometryEngineForSimplify as T,mixAttributes as w,createFeatureEditSuccessResult as q,createFeatureEditErrorResult as x,simplify as S}from"../support/sourceUtils.js";import R from"../../../support/FieldsIndex.js";import{kebabDict as C}from"../../../support/fieldType.js";import{getFieldDefaultValue as A,getFieldDefaultLength as O}from"../../../support/fieldUtils.js";import{utc as Q}from"../../../../time/constants.js";const k={hasAttachments:!1,capabilities:"query, editing, create, delete, update",useStandardizedQueries:!0,supportsCoordinatesQuantization:!0,supportsReturningQueryGeometry:!0,advancedQueryCapabilities:{supportsQueryAttachments:!1,supportsQueryAttachmentsCountOnly:!1,supportsQueryAttachmentOrderByFields:!1,supportsQueryAttachmentWithTypeWildcard:!1,supportsQueryBins:!0,supportsQueryPivot:!1,supportsQueryWithCacheHint:!0,supportsQueryWithDistance:!0,supportsQueryWithResultType:!0,supportsSpatialAggregationStatistics:!0,supportedSpatialAggregationStatistics:["EnvelopeAggregate","CentroidAggregate","ConvexHullAggregate"],supportsStatistics:!0,supportsPercentileStatistics:!0,supportsReturningGeometryCentroid:!0,supportsDistinct:!0,supportsReturningQueryExtent:!0,supportsReturningGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsSqlExpression:!0,supportsDisjointSpatialRel:!0},queryBinsCapabilities:b};class D{constructor(){this._queryEngine=null,this._snapshotFeatures=async e=>{const t=await this._fetch(e);return this._createFeatures(t)}}destroy(){this._queryEngine?.destroy(),this._queryEngine=this._createDefaultAttributes=null}async load(e,t={}){this._loadOptions={url:e.url,customParameters:e.customParameters};const i=[],[r]=await Promise.all([e.url?this._fetch(t?.signal):null,this._checkProjection(e.spatialReference)]),n=g(r,{geometryType:e.geometryType}),o=e.fields||n.fields||[],u=null!=e.hasZ?e.hasZ:n.hasZ,l=n.geometryType;let d=e.objectIdField||n.objectIdFieldName||"__OBJECTID";const p=e.spatialReference||a;let c=e.timeInfo;o===n.fields&&n.unknownFields.length>0&&i.push({name:"geojson-layer:unknown-field-types",message:"Some fields types couldn't be inferred from the features and were dropped",details:{unknownFields:n.unknownFields}});const m=new R(o);let h=m.get(d);h?("esriFieldTypeString"!==h.type&&(h.type="esriFieldTypeOID"),h.editable=!1,h.nullable=!1,d=h.name):(h={alias:d,name:d,type:"string"===n.objectIdFieldType?"esriFieldTypeString":"esriFieldTypeOID",editable:!1,nullable:!1},o.unshift(h));const _={};for(const a of o){if(null==a.name&&(a.name=a.alias),null==a.alias&&(a.alias=a.name),!a.name)throw new s("geojson-layer:invalid-field-name","field name is missing",{field:a});if(!C.jsonValues.includes(a.type))throw new s("geojson-layer:invalid-field-type",`invalid type for field "${a.name}"`,{field:a});if(a.name!==h.name){const e=A(a);void 0!==e&&(_[a.name]=e)}null==a.length&&(a.length=O(a))}if(c){if(c.startTimeField){const e=m.get(c.startTimeField);e?(c.startTimeField=e.name,e.type="esriFieldTypeDate"):c.startTimeField=null}if(c.endTimeField){const e=m.get(c.endTimeField);e?(c.endTimeField=e.name,e.type="esriFieldTypeDate"):c.endTimeField=null}if(c.trackIdField){const e=m.get(c.trackIdField);e?c.trackIdField=e.name:(c.trackIdField=null,i.push({name:"geojson-layer:invalid-timeInfo-trackIdField",message:"trackIdField is missing",details:{timeInfo:c}}))}c.startTimeField||c.endTimeField||(i.push({name:"geojson-layer:invalid-timeInfo",message:"startTimeField and endTimeField are missing",details:{timeInfo:c}}),c=null)}const I=l?F(l):void 0,b=m.dateFields.length?{timeZoneIANA:Q}:null,T={warnings:i,featureErrors:[],layerDefinition:{...k,drawingInfo:I??void 0,templates:j(_),extent:void 0,geometryType:l,objectIdField:d,fields:o,hasZ:!!u,timeInfo:c,dateFieldsTimeReference:b}},w={type:"object-id",fieldName:d};this._queryEngine=new f({fieldsIndex:R.fromLayerJSON({fields:o,timeInfo:c,dateFieldsTimeReference:b}),geometryType:l,hasM:!1,hasZ:u,featureIdInfo:w,spatialReference:p,timeInfo:c,featureStore:new y({geometryType:l,hasM:!1,hasZ:u})});const q=this._queryEngine.fieldsIndex.requiredFields.indexOf(h);q>-1&&this._queryEngine.fieldsIndex.requiredFields.splice(q,1),this._createDefaultAttributes=E(_,d);const x=this._createFeatures(r);this._objectIdGenerator=this._createObjectIdGenerator(this._queryEngine,x);const S=this._normalizeFeatures(x,T.featureErrors);this._queryEngine.featureStore.addMany(S);const{fullExtent:D,timeExtent:v}=await this._queryEngine.fetchRecomputedExtents();if(T.layerDefinition.extent=D,v){const{start:e,end:t}=v;T.layerDefinition.timeInfo.timeExtent=[e,t]}return T}async applyEdits(e){const{spatialReference:t,geometryType:s}=this._queryEngine;return await Promise.all([T(t,s),m(e.adds,t),m(e.updates,t)]),await this._waitSnapshotComplete(),this._applyEdits(e)}async queryFeatures(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQuery(e,t.signal)}async queryFeatureCount(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForCount(e,t.signal)}async queryObjectIds(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForIds(e,t.signal)}async queryExtent(e={},t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeQueryForExtent(e,t.signal)}async querySnapping(e,t={}){return await this._waitSnapshotComplete(),await this._queryEngine.executeQueryForSnapping(e,t.signal)}async queryAttributeBins(e,t={}){return await this._waitSnapshotComplete(),this._queryEngine.executeAttributeBinsQuery(e,t.signal)}async refresh(e){this._loadOptions.customParameters=e,this._snapshotTask?.abort(),this._snapshotTask=t(this._snapshotFeatures),this._snapshotTask.promise.then(e=>{this._queryEngine.featureStore.clear(),this._objectIdGenerator=this._createObjectIdGenerator(this._queryEngine,e);const t=this._normalizeFeatures(e);t&&this._queryEngine.featureStore.addMany(t)},e=>{this._queryEngine.featureStore.clear(),r(e)||i.getLogger("esri.layers.GeoJSONLayer").error(new s("geojson-layer:refresh","An error occurred during refresh",{error:e}))}),await this._waitSnapshotComplete();const{fullExtent:n,timeExtent:a}=await this._queryEngine.fetchRecomputedExtents();return{extent:n,timeExtent:a}}_createFeatures(e){if(null==e)return[];const{geometryType:t,hasZ:s,objectIdField:i}=this._queryEngine,r=_(e,{geometryType:t,hasZ:s,objectIdField:i});if(!o(this._queryEngine.spatialReference,a))for(const n of r)null!=n.geometry&&(n.geometry=u(h(l(n.geometry,this._queryEngine.geometryType,this._queryEngine.hasZ,!1),a,this._queryEngine.spatialReference)));return r}async _waitSnapshotComplete(){if(this._snapshotTask&&!this._snapshotTask.finished){try{await this._snapshotTask.promise}catch{}return this._waitSnapshotComplete()}}async _fetch(t){const{url:s,customParameters:i}=this._loadOptions,r=(await e(s??"",{responseType:"json",query:{...i},signal:t})).data;return I(r),r}_normalizeFeatures(e,t){const{objectIdField:s,fieldsIndex:i}=this._queryEngine,r=[];for(const n of e){const e=this._createDefaultAttributes(),a=w(i,e,n.attributes,!0);a?t?.push(a):(this._assignObjectId(e,n.attributes,!0),n.attributes=e,n.objectId=e[s],r.push(n))}return r}async _applyEdits(e){const{adds:t,updates:s,deletes:i}=e,r={addResults:[],deleteResults:[],updateResults:[],uidToObjectId:{}};if(t?.length&&this._applyAddEdits(r,t),s?.length&&this._applyUpdateEdits(r,s),i?.length){for(const e of i)r.deleteResults.push(q(e));this._queryEngine.featureStore.removeManyById(i)}const{fullExtent:n,timeExtent:a}=await this._queryEngine.fetchRecomputedExtents();return{extent:n,timeExtent:a,featureEditResults:r}}_applyAddEdits(e,t){const{addResults:s}=e,{geometryType:i,hasM:r,hasZ:a,objectIdField:o,spatialReference:u,featureStore:l,fieldsIndex:p}=this._queryEngine,c=[],y={type:"object-id",fieldName:o};for(const d of t){if(d.geometry&&i!==n(d.geometry)){s.push(x("Incorrect geometry type."));continue}const t=this._createDefaultAttributes(),r=w(p,t,d.attributes);if(r)s.push(r);else{if(this._assignObjectId(t,d.attributes),d.attributes=t,null!=d.uid){const t=d.attributes[o];e.uidToObjectId[d.uid]=t}if(null!=d.geometry){const e=d.geometry.spatialReference??u;d.geometry=h(S(d.geometry,e),e,u)}c.push(d),s.push(q(d.attributes[o]))}}l.addMany(d([],c,i,a,r,y))}_applyUpdateEdits({updateResults:e},t){const{geometryType:s,hasM:i,hasZ:r,objectIdField:a,spatialReference:o,featureStore:u,fieldsIndex:l}=this._queryEngine,d={type:"object-id",fieldName:a};for(const y of t){const{attributes:t,geometry:m}=y,f=t?.[a];if(null==f){e.push(x(`Identifier field ${a} missing`));continue}if(!u.has(f)){e.push(x(`Feature with object id ${f} missing`));continue}const g=p(u.getFeature(f),s,r,i);if(null!=m){if(s!==n(m)){e.push(x("Incorrect geometry type."));continue}const t=m.spatialReference??o;g.geometry=h(S(m,t),t,o)}if(t){const s=w(l,g.attributes,t);if(s){e.push(s);continue}}u.add(c(g,s,r,i,d)),e.push(q(f))}}_createObjectIdGenerator(e,t){const s=e.fieldsIndex.get(e.objectIdField);if("esriFieldTypeString"===s.type)return()=>s.name+"-"+Date.now().toString(16);let i=Number.NEGATIVE_INFINITY;for(const r of t)r.objectId&&(i=Math.max(i,r.objectId));return i=Math.max(0,i)+1,()=>i++}_assignObjectId(e,t,s=!1){const i=this._queryEngine.objectIdField;e[i]=s&&i in t?t[i]:this._objectIdGenerator()}async _checkProjection(e){try{await m(a,e)}catch{throw new s("geojson-layer","Projection not supported")}}}export{D as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"../../../../core/Error.js";import{getJsonType as t,isPoint as i}from"../../../../geometry/support/jsonTypeUtils.js";import{wgs84 as s}from"../../../../geometry/support/spatialReferenceUtils.js";import{convertFromFeatures as r,convertToFeature as n,convertFromFeature as a}from"../../featureConversionUtils.js";import{initialObjectId as o,findLastObjectIdFromFeatures as l}from"../../objectIdUtils.js";import u from"../../data/FeatureStore.js";import{checkProjectionSupport as d,project as p}from"../../data/projectionSupport.js";import{QueryEngine as f}from"../../data/QueryEngine.js";import{createDefaultAttributesFunction as c,createDefaultTemplate as y,createDrawingInfo as m}from"./clientSideDefaults.js";import{queryBinsCapabilities as g,loadGeometryEngineForSimplify as h,createFeatureEditErrorResult as I,mixAttributes as b,createFeatureEditSuccessResult as F,simplify as j}from"./sourceUtils.js";import E from"../../../support/FieldsIndex.js";import{kebabDict as T}from"../../../support/fieldType.js";import{getFieldDefaultLength as _,getFieldDefaultValue as x}from"../../../support/fieldUtils.js";import{utc as R}from"../../../../time/constants.js";const q=s,S={xmin:-180,ymin:-90,xmax:180,ymax:90,spatialReference:s},O={hasAttachments:!1,capabilities:"query, editing, create, delete, update",useStandardizedQueries:!0,supportsCoordinatesQuantization:!0,supportsReturningQueryGeometry:!0,advancedQueryCapabilities:{supportsQueryAttachments:!1,supportsQueryAttachmentOrderByFields:!1,supportsQueryAttachmentWithTypeWildcard:!1,supportsQueryBins:!0,supportsQueryPivot:!1,supportsSpatialAggregationStatistics:!0,supportedSpatialAggregationStatistics:["EnvelopeAggregate","CentroidAggregate","ConvexHullAggregate"],supportsStatistics:!0,supportsPercentileStatistics:!0,supportsReturningGeometryCentroid:!0,supportsQueryWithDistance:!0,supportsDistinct:!0,supportsReturningQueryExtent:!0,supportsReturningGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsQueryWithResultType:!0,supportsSqlExpression:!0,supportsDisjointSpatialRel:!0,supportsQueryWithCacheHint:!0},queryBinsCapabilities:g};function D(e){return i(e)?null!=e.z:!!e.hasZ}function Q(e){return i(e)?null!=e.m:!!e.hasM}class v{constructor(){this._queryEngine=null,this._nextObjectId=null}destroy(){this._queryEngine?.destroy(),this._queryEngine=this._createDefaultAttributes=null}async load(t){const i=[],{features:s}=t,r=this._inferLayerProperties(s,t.fields),n=t.fields||[],a=null!=t.hasM?t.hasM:!!r.hasM,p=null!=t.hasZ?t.hasZ:!!r.hasZ,g=!t.spatialReference&&!r.spatialReference,h=g?q:t.spatialReference||r.spatialReference,I=g?S:null,b=t.geometryType||r.geometryType,F=!b;let j=t.objectIdField||r.objectIdField,D=t.timeInfo;const Q=new E(n);if(!F&&(g&&i.push({name:"feature-layer:spatial-reference-not-found",message:"Spatial reference not provided or found in features. Defaults to WGS84"}),!b))throw new e("feature-layer:missing-property","geometryType not set and couldn't be inferred from the provided features");if(!j)throw new e("feature-layer:missing-property","objectIdField not set and couldn't be found in the provided fields");if(r.objectIdField&&j!==r.objectIdField&&(i.push({name:"feature-layer:duplicated-oid-field",message:`Provided objectIdField "${j}" doesn't match the field name "${r.objectIdField}", found in the provided fields`}),j=r.objectIdField),j&&!r.objectIdField){const e=Q.get(j);e?(j=e.name,e.type="esriFieldTypeOID",e.editable=!1,e.nullable=!1):n.unshift({alias:j,name:j,type:"esriFieldTypeOID",editable:!1,nullable:!1})}for(const o of n){if(null==o.name&&(o.name=o.alias),null==o.alias&&(o.alias=o.name),!o.name)throw new e("feature-layer:invalid-field-name","field name is missing",{field:o});if(o.name===j&&(o.type="esriFieldTypeOID"),!T.jsonValues.includes(o.type))throw new e("feature-layer:invalid-field-type",`invalid type for field "${o.name}"`,{field:o});null==o.length&&(o.length=_(o))}const v={};for(const e of n)if("esriFieldTypeOID"!==e.type&&"esriFieldTypeGlobalID"!==e.type){const t=x(e);void 0!==t&&(v[e.name]=t)}if(D){if(D.startTimeField){const e=Q.get(D.startTimeField);e?(D.startTimeField=e.name,e.type="esriFieldTypeDate"):D.startTimeField=null}if(D.endTimeField){const e=Q.get(D.endTimeField);e?(D.endTimeField=e.name,e.type="esriFieldTypeDate"):D.endTimeField=null}if(D.trackIdField){const e=Q.get(D.trackIdField);e?D.trackIdField=e.name:(D.trackIdField=null,i.push({name:"feature-layer:invalid-timeInfo-trackIdField",message:"trackIdField is missing",details:{timeInfo:D}}))}D.startTimeField||D.endTimeField||(i.push({name:"feature-layer:invalid-timeInfo",message:"startTimeField and endTimeField are missing or invalid",details:{timeInfo:D}}),D=null)}const w=Q.dateFields.length?{timeZoneIANA:t.dateFieldsTimeZone??R}:null;this._createDefaultAttributes=c(v,j);const A={warnings:i,featureErrors:[],layerDefinition:{...O,drawingInfo:m(b),templates:y(v),extent:I,geometryType:b,objectIdField:j,fields:n,hasZ:p,hasM:a,timeInfo:D,dateFieldsTimeReference:w},assignedObjectIds:{}},M={type:"object-id",fieldName:j};if(this._queryEngine=new f({fieldsIndex:E.fromLayerJSON({fields:n,timeInfo:D,dateFieldsTimeReference:w}),geometryType:b,hasM:a,hasZ:p,featureIdInfo:M,spatialReference:h,featureStore:new u({geometryType:b,hasM:a,hasZ:p}),timeInfo:D}),!s?.length)return this._nextObjectId=o,A;const Z=l(j,s);return this._nextObjectId=Z+1,await d(s,h),this._loadInitialFeatures(A,s)}async applyEdits(e){const{spatialReference:t,geometryType:i}=this._queryEngine;return await Promise.all([h(t,i),d(e.adds,t),d(e.updates,t)]),this._applyEdits(e)}queryFeatures(e,t={}){return this._queryEngine.executeQuery(e,t.signal)}queryFeatureCount(e,t={}){return this._queryEngine.executeQueryForCount(e,t.signal)}queryObjectIds(e,t={}){return this._queryEngine.executeQueryForIds(e,t.signal)}queryExtent(e,t={}){return this._queryEngine.executeQueryForExtent(e,t.signal)}querySnapping(e,t={}){return this._queryEngine.executeQueryForSnapping(e,t.signal)}queryAttributeBins(e,t={}){return this._queryEngine.executeAttributeBinsQuery(e,t.signal)}_inferLayerProperties(e,i){let s,r,n=null,a=null,o=null;for(const l of e){const e=l.geometry;if(null!=e&&(n||(n=t(e)),a||(a=e.spatialReference),null==s&&(s=D(e)),null==r&&(r=Q(e)),n&&a&&null!=s&&null!=r))break}if(i&&i.length){let e=null;i.some(t=>{const i="esriFieldTypeOID"===t.type,s=!t.type&&t.name&&"objectid"===t.name.toLowerCase();return e=t,i||s})&&(o=e.name)}return{geometryType:n,spatialReference:a,objectIdField:o,hasM:r,hasZ:s}}async _loadInitialFeatures(e,i){const{geometryType:s,hasM:n,hasZ:a,objectIdField:o,spatialReference:l,featureStore:u,fieldsIndex:d}=this._queryEngine,f=[],c={type:"object-id",fieldName:o};for(const r of i){if(null!=r.uid&&(e.assignedObjectIds[r.uid]=-1),r.geometry&&s!==t(r.geometry)){e.featureErrors.push(I("Incorrect geometry type."));continue}const i=this._createDefaultAttributes(),n=b(d,i,r.attributes,!0);n?e.featureErrors.push(n):(this._assignObjectId(i,r.attributes,!0),r.attributes=i,null!=r.uid&&(e.assignedObjectIds[r.uid]=r.attributes[o]),null!=r.geometry&&(r.geometry=p(r.geometry,r.geometry.spatialReference,l)),f.push(r))}u.addMany(r([],f,s,a,n,c));const{fullExtent:y,timeExtent:m}=await this._queryEngine.fetchRecomputedExtents();if(e.layerDefinition.extent=y,m){const{start:t,end:i}=m;e.layerDefinition.timeInfo.timeExtent=[t,i]}return e}async _applyEdits(e){const{adds:t,updates:i,deletes:s}=e,r={addResults:[],deleteResults:[],updateResults:[],uidToObjectId:{}};if(t?.length&&this._applyAddEdits(r,t),i?.length&&this._applyUpdateEdits(r,i),s?.length){for(const e of s)r.deleteResults.push(F(e));this._queryEngine.featureStore.removeManyById(s)}const{fullExtent:n,timeExtent:a}=await this._queryEngine.fetchRecomputedExtents();return{extent:n,timeExtent:a,featureEditResults:r}}_applyAddEdits(e,i){const{addResults:s}=e,{geometryType:n,hasM:a,hasZ:o,objectIdField:l,spatialReference:u,featureStore:d,featureIdInfo:f,fieldsIndex:c}=this._queryEngine,y=[];for(const r of i){if(r.geometry&&n!==t(r.geometry)){s.push(I("Incorrect geometry type."));continue}const i=this._createDefaultAttributes(),a=b(c,i,r.attributes);if(a)s.push(a);else{if(this._assignObjectId(i,r.attributes),r.attributes=i,null!=r.uid){const t=r.attributes[l];e.uidToObjectId[r.uid]=t}if(null!=r.geometry){const e=r.geometry.spatialReference??u;r.geometry=p(j(r.geometry,e),e,u)}y.push(r),s.push(F(r.attributes[l]))}}d.addMany(r([],y,n,o,a,f))}_applyUpdateEdits({updateResults:e},i){const{geometryType:s,hasM:r,hasZ:o,objectIdField:l,spatialReference:u,featureStore:d,fieldsIndex:f,featureIdInfo:c}=this._queryEngine;for(const y of i){const{attributes:i,geometry:m}=y,g=i?.[l];if(null==g){e.push(I(`Identifier field ${l} missing`));continue}if(!d.has(g)){e.push(I(`Feature with object id ${g} missing`));continue}const h=n(d.getFeature(g),s,o,r);if(null!=m){if(s!==t(m)){e.push(I("Incorrect geometry type."));continue}const i=m.spatialReference??u;h.geometry=p(j(m,i),i,u)}if(i){const t=b(f,h.attributes,i);if(t){e.push(t);continue}}d.add(a(h,s,o,r,c)),e.push(F(g))}}_assignObjectId(e,t,i=!1){const s=this._queryEngine.objectIdField;i&&t&&isFinite(t[s])?e[s]=t[s]:e[s]=this._nextObjectId++}}export{v as default};
2
+ import e from"../../../../core/Error.js";import{getJsonType as t,isPoint as i}from"../../../../geometry/support/jsonTypeUtils.js";import{wgs84 as s}from"../../../../geometry/support/spatialReferenceUtils.js";import{convertFromFeatures as r,convertToFeature as n,convertFromFeature as a}from"../../featureConversionUtils.js";import{initialObjectId as o,findLastObjectIdFromFeatures as l}from"../../objectIdUtils.js";import u from"../../data/FeatureStore.js";import{checkProjectionSupport as d,project as p}from"../../data/projectionSupport.js";import{QueryEngine as f}from"../../data/QueryEngine.js";import{createDefaultAttributesFunction as c,createDefaultTemplate as y,createDrawingInfo as m}from"./clientSideDefaults.js";import{queryBinsCapabilities as g,loadGeometryEngineForSimplify as h,createFeatureEditErrorResult as I,mixAttributes as b,createFeatureEditSuccessResult as F,simplify as j}from"./sourceUtils.js";import E from"../../../support/FieldsIndex.js";import{kebabDict as T}from"../../../support/fieldType.js";import{getFieldDefaultLength as _,getFieldDefaultValue as x}from"../../../support/fieldUtils.js";import{utc as R}from"../../../../time/constants.js";const q=s,O={xmin:-180,ymin:-90,xmax:180,ymax:90,spatialReference:s},S={hasAttachments:!1,capabilities:"query, editing, create, delete, update",useStandardizedQueries:!0,supportsCoordinatesQuantization:!0,supportsReturningQueryGeometry:!0,advancedQueryCapabilities:{supportsQueryAttachments:!1,supportsQueryAttachmentsCountOnly:!1,supportsQueryAttachmentOrderByFields:!1,supportsQueryAttachmentWithTypeWildcard:!1,supportsQueryBins:!0,supportsQueryPivot:!1,supportsSpatialAggregationStatistics:!0,supportedSpatialAggregationStatistics:["EnvelopeAggregate","CentroidAggregate","ConvexHullAggregate"],supportsStatistics:!0,supportsPercentileStatistics:!0,supportsReturningGeometryCentroid:!0,supportsQueryWithDistance:!0,supportsDistinct:!0,supportsReturningQueryExtent:!0,supportsReturningGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsQueryWithResultType:!0,supportsSqlExpression:!0,supportsDisjointSpatialRel:!0,supportsQueryWithCacheHint:!0},queryBinsCapabilities:g};function Q(e){return i(e)?null!=e.z:!!e.hasZ}function A(e){return i(e)?null!=e.m:!!e.hasM}class D{constructor(){this._queryEngine=null,this._nextObjectId=null}destroy(){this._queryEngine?.destroy(),this._queryEngine=this._createDefaultAttributes=null}async load(t){const i=[],{features:s}=t,r=this._inferLayerProperties(s,t.fields),n=t.fields||[],a=null!=t.hasM?t.hasM:!!r.hasM,p=null!=t.hasZ?t.hasZ:!!r.hasZ,g=!t.spatialReference&&!r.spatialReference,h=g?q:t.spatialReference||r.spatialReference,I=g?O:null,b=t.geometryType||r.geometryType,F=!b;let j=t.objectIdField||r.objectIdField,Q=t.timeInfo;const A=new E(n);if(!F&&(g&&i.push({name:"feature-layer:spatial-reference-not-found",message:"Spatial reference not provided or found in features. Defaults to WGS84"}),!b))throw new e("feature-layer:missing-property","geometryType not set and couldn't be inferred from the provided features");if(!j)throw new e("feature-layer:missing-property","objectIdField not set and couldn't be found in the provided fields");if(r.objectIdField&&j!==r.objectIdField&&(i.push({name:"feature-layer:duplicated-oid-field",message:`Provided objectIdField "${j}" doesn't match the field name "${r.objectIdField}", found in the provided fields`}),j=r.objectIdField),j&&!r.objectIdField){const e=A.get(j);e?(j=e.name,e.type="esriFieldTypeOID",e.editable=!1,e.nullable=!1):n.unshift({alias:j,name:j,type:"esriFieldTypeOID",editable:!1,nullable:!1})}for(const o of n){if(null==o.name&&(o.name=o.alias),null==o.alias&&(o.alias=o.name),!o.name)throw new e("feature-layer:invalid-field-name","field name is missing",{field:o});if(o.name===j&&(o.type="esriFieldTypeOID"),!T.jsonValues.includes(o.type))throw new e("feature-layer:invalid-field-type",`invalid type for field "${o.name}"`,{field:o});null==o.length&&(o.length=_(o))}const D={};for(const e of n)if("esriFieldTypeOID"!==e.type&&"esriFieldTypeGlobalID"!==e.type){const t=x(e);void 0!==t&&(D[e.name]=t)}if(Q){if(Q.startTimeField){const e=A.get(Q.startTimeField);e?(Q.startTimeField=e.name,e.type="esriFieldTypeDate"):Q.startTimeField=null}if(Q.endTimeField){const e=A.get(Q.endTimeField);e?(Q.endTimeField=e.name,e.type="esriFieldTypeDate"):Q.endTimeField=null}if(Q.trackIdField){const e=A.get(Q.trackIdField);e?Q.trackIdField=e.name:(Q.trackIdField=null,i.push({name:"feature-layer:invalid-timeInfo-trackIdField",message:"trackIdField is missing",details:{timeInfo:Q}}))}Q.startTimeField||Q.endTimeField||(i.push({name:"feature-layer:invalid-timeInfo",message:"startTimeField and endTimeField are missing or invalid",details:{timeInfo:Q}}),Q=null)}const v=A.dateFields.length?{timeZoneIANA:t.dateFieldsTimeZone??R}:null;this._createDefaultAttributes=c(D,j);const w={warnings:i,featureErrors:[],layerDefinition:{...S,drawingInfo:m(b),templates:y(D),extent:I,geometryType:b,objectIdField:j,fields:n,hasZ:p,hasM:a,timeInfo:Q,dateFieldsTimeReference:v},assignedObjectIds:{}},M={type:"object-id",fieldName:j};if(this._queryEngine=new f({fieldsIndex:E.fromLayerJSON({fields:n,timeInfo:Q,dateFieldsTimeReference:v}),geometryType:b,hasM:a,hasZ:p,featureIdInfo:M,spatialReference:h,featureStore:new u({geometryType:b,hasM:a,hasZ:p}),timeInfo:Q}),!s?.length)return this._nextObjectId=o,w;const C=l(j,s);return this._nextObjectId=C+1,await d(s,h),this._loadInitialFeatures(w,s)}async applyEdits(e){const{spatialReference:t,geometryType:i}=this._queryEngine;return await Promise.all([h(t,i),d(e.adds,t),d(e.updates,t)]),this._applyEdits(e)}queryFeatures(e,t={}){return this._queryEngine.executeQuery(e,t.signal)}queryFeatureCount(e,t={}){return this._queryEngine.executeQueryForCount(e,t.signal)}queryObjectIds(e,t={}){return this._queryEngine.executeQueryForIds(e,t.signal)}queryExtent(e,t={}){return this._queryEngine.executeQueryForExtent(e,t.signal)}querySnapping(e,t={}){return this._queryEngine.executeQueryForSnapping(e,t.signal)}queryAttributeBins(e,t={}){return this._queryEngine.executeAttributeBinsQuery(e,t.signal)}_inferLayerProperties(e,i){let s,r,n=null,a=null,o=null;for(const l of e){const e=l.geometry;if(null!=e&&(n||(n=t(e)),a||(a=e.spatialReference),null==s&&(s=Q(e)),null==r&&(r=A(e)),n&&a&&null!=s&&null!=r))break}if(i&&i.length){let e=null;i.some(t=>{const i="esriFieldTypeOID"===t.type,s=!t.type&&t.name&&"objectid"===t.name.toLowerCase();return e=t,i||s})&&(o=e.name)}return{geometryType:n,spatialReference:a,objectIdField:o,hasM:r,hasZ:s}}async _loadInitialFeatures(e,i){const{geometryType:s,hasM:n,hasZ:a,objectIdField:o,spatialReference:l,featureStore:u,fieldsIndex:d}=this._queryEngine,f=[],c={type:"object-id",fieldName:o};for(const r of i){if(null!=r.uid&&(e.assignedObjectIds[r.uid]=-1),r.geometry&&s!==t(r.geometry)){e.featureErrors.push(I("Incorrect geometry type."));continue}const i=this._createDefaultAttributes(),n=b(d,i,r.attributes,!0);n?e.featureErrors.push(n):(this._assignObjectId(i,r.attributes,!0),r.attributes=i,null!=r.uid&&(e.assignedObjectIds[r.uid]=r.attributes[o]),null!=r.geometry&&(r.geometry=p(r.geometry,r.geometry.spatialReference,l)),f.push(r))}u.addMany(r([],f,s,a,n,c));const{fullExtent:y,timeExtent:m}=await this._queryEngine.fetchRecomputedExtents();if(e.layerDefinition.extent=y,m){const{start:t,end:i}=m;e.layerDefinition.timeInfo.timeExtent=[t,i]}return e}async _applyEdits(e){const{adds:t,updates:i,deletes:s}=e,r={addResults:[],deleteResults:[],updateResults:[],uidToObjectId:{}};if(t?.length&&this._applyAddEdits(r,t),i?.length&&this._applyUpdateEdits(r,i),s?.length){for(const e of s)r.deleteResults.push(F(e));this._queryEngine.featureStore.removeManyById(s)}const{fullExtent:n,timeExtent:a}=await this._queryEngine.fetchRecomputedExtents();return{extent:n,timeExtent:a,featureEditResults:r}}_applyAddEdits(e,i){const{addResults:s}=e,{geometryType:n,hasM:a,hasZ:o,objectIdField:l,spatialReference:u,featureStore:d,featureIdInfo:f,fieldsIndex:c}=this._queryEngine,y=[];for(const r of i){if(r.geometry&&n!==t(r.geometry)){s.push(I("Incorrect geometry type."));continue}const i=this._createDefaultAttributes(),a=b(c,i,r.attributes);if(a)s.push(a);else{if(this._assignObjectId(i,r.attributes),r.attributes=i,null!=r.uid){const t=r.attributes[l];e.uidToObjectId[r.uid]=t}if(null!=r.geometry){const e=r.geometry.spatialReference??u;r.geometry=p(j(r.geometry,e),e,u)}y.push(r),s.push(F(r.attributes[l]))}}d.addMany(r([],y,n,o,a,f))}_applyUpdateEdits({updateResults:e},i){const{geometryType:s,hasM:r,hasZ:o,objectIdField:l,spatialReference:u,featureStore:d,fieldsIndex:f,featureIdInfo:c}=this._queryEngine;for(const y of i){const{attributes:i,geometry:m}=y,g=i?.[l];if(null==g){e.push(I(`Identifier field ${l} missing`));continue}if(!d.has(g)){e.push(I(`Feature with object id ${g} missing`));continue}const h=n(d.getFeature(g),s,o,r);if(null!=m){if(s!==t(m)){e.push(I("Incorrect geometry type."));continue}const i=m.spatialReference??u;h.geometry=p(j(m,i),i,u)}if(i){const t=b(f,h.attributes,i);if(t){e.push(t);continue}}d.add(a(h,s,o,r,c)),e.push(F(g))}}_assignObjectId(e,t,i=!1){const s=this._queryEngine.objectIdField;i&&t&&isFinite(t[s])?e[s]=t[s]:e[s]=this._nextObjectId++}}export{D as default};