@arcgis/core 5.2.0-next.147 → 5.2.0-next.149

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 (317) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/03afeefb9d16b6f1d844.js +1 -0
  3. package/assets/esri/core/workers/chunks/09b9a886363bc1197785.js +1 -0
  4. package/assets/esri/core/workers/chunks/0ad0484ffcbe4ad21bd3.js +1 -0
  5. package/assets/esri/core/workers/chunks/{72019baeba520edb6bb0.js → 112befb3b5b406f29298.js} +1 -1
  6. package/assets/esri/core/workers/chunks/12a7997a40c77f5c9160.js +1 -0
  7. package/assets/esri/core/workers/chunks/18787aa685524b958561.js +1 -0
  8. package/assets/esri/core/workers/chunks/{776ae25a34352d3468bc.js → 19743dedaa40446259ec.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{6dd0b79fa3a629ab4f27.js → 1bca39e0e651426bdbb5.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{8b1c17cc52d989924313.js → 21f45a47708e6e43147f.js} +1 -1
  11. package/assets/esri/core/workers/chunks/2c626f525f3483c03477.js +1 -0
  12. package/assets/esri/core/workers/chunks/2d9a1f23ec6ce90723ac.js +1 -0
  13. package/assets/esri/core/workers/chunks/{7a05b18f655c1167ce0a.js → 2ef5237e4c876d6a4ee0.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{79c83f4e066682543ca1.js → 320e5942a098dd104366.js} +1 -1
  15. package/assets/esri/core/workers/chunks/407f1e8176f3b0af73b4.js +1 -0
  16. package/assets/esri/core/workers/chunks/{1ba0dfbe0958cdbd7c9f.js → 42fd2a7b22b03dacc6a7.js} +1 -1
  17. package/assets/esri/core/workers/chunks/444e5f214abce3d607cd.js +1 -0
  18. package/assets/esri/core/workers/chunks/45367aa8e5c5d574de94.js +1 -0
  19. package/assets/esri/core/workers/chunks/47d074136a7f8e551a9a.js +1 -0
  20. package/assets/esri/core/workers/chunks/4a6b92ecbb1f1c55cc43.js +1 -0
  21. package/assets/esri/core/workers/chunks/4fc337240e7cddd0e988.js +1 -0
  22. package/assets/esri/core/workers/chunks/{24cc7b6b5e307a89cdd5.js → 50036a323c2e7f155311.js} +1 -1
  23. package/assets/esri/core/workers/chunks/5116b569a8dbda4910c8.js +1 -0
  24. package/assets/esri/core/workers/chunks/54b18559280a7d2a8d93.js +1 -0
  25. package/assets/esri/core/workers/chunks/{b2737120c5999b2f3909.js → 55dcbf296d8d0092e473.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{5c855af73ee3c3e764fb.js → 5732fdf6d8b87739aeea.js} +1 -1
  27. package/assets/esri/core/workers/chunks/5924ec3167a2941ebb1f.js +1 -0
  28. package/assets/esri/core/workers/chunks/5fa1ec357c3ad1f91bc7.js +1 -0
  29. package/assets/esri/core/workers/chunks/606ea251075fe81a1206.js +1 -0
  30. package/assets/esri/core/workers/chunks/{ceb680688fe7e570a774.js → 608be1172a908e92b9f1.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{6f358116f79021ff9687.js → 612104dff305ff062dfa.js} +2 -2
  32. package/assets/esri/core/workers/chunks/6299be5e7e26bf3c6859.js +1 -0
  33. package/assets/esri/core/workers/chunks/68be3fb88ca61f82fb90.js +1 -0
  34. package/assets/esri/core/workers/chunks/6b04285726b803b82564.js +1 -0
  35. package/assets/esri/core/workers/chunks/6c9266120d46e8c69dbf.js +1 -0
  36. package/assets/esri/core/workers/chunks/6c9acd9e4e201dc380e9.js +1 -0
  37. package/assets/esri/core/workers/chunks/6eb5cc8ddf772c0062e6.js +1 -0
  38. package/assets/esri/core/workers/chunks/709e019885822b1f6f3e.js +1 -0
  39. package/assets/esri/core/workers/chunks/731018c0deffc41ffc97.js +1 -0
  40. package/assets/esri/core/workers/chunks/7320a4913b6cad7cc5d7.js +1 -0
  41. package/assets/esri/core/workers/chunks/7449568eb2305bf2d650.js +1 -0
  42. package/assets/esri/core/workers/chunks/7572c2bc5062e66f6330.js +1 -0
  43. package/assets/esri/core/workers/chunks/7d212c415f2709037408.js +1 -0
  44. package/assets/esri/core/workers/chunks/7f0f9dddc44b1f1600f0.js +1 -0
  45. package/assets/esri/core/workers/chunks/8293600f94553afc8c38.js +1 -0
  46. package/assets/esri/core/workers/chunks/{c18189710d6198516175.js → 830ab9b8d000169da675.js} +1 -1
  47. package/assets/esri/core/workers/chunks/8414ffd937c1099e0bbc.js +1 -0
  48. package/assets/esri/core/workers/chunks/{700b1d5bc67b7e1b3ff3.js → 8aa80b892fde552577e8.js} +1 -1
  49. package/assets/esri/core/workers/chunks/900181f68449d8f82eeb.js +1 -0
  50. package/assets/esri/core/workers/chunks/925271bb763607a326ae.js +1 -0
  51. package/assets/esri/core/workers/chunks/937824bc7948f7bc7845.js +1 -0
  52. package/assets/esri/core/workers/chunks/939942b00ba380e2957e.js +1 -0
  53. package/assets/esri/core/workers/chunks/97d6ef9e34a43ad2e556.js +1 -0
  54. package/assets/esri/core/workers/chunks/{c76c42c74eedd43263d3.js → 9dd1fc56eb1ea6eb705e.js} +1 -1
  55. package/assets/esri/core/workers/chunks/a07cb6a2f5b66d4e9f15.js +1 -0
  56. package/assets/esri/core/workers/chunks/a40b6d8b5c73e06e14d4.js +1 -0
  57. package/assets/esri/core/workers/chunks/a7f3576208f295b670d6.js +1 -0
  58. package/assets/esri/core/workers/chunks/a80e49acc827dbf3b524.js +1 -0
  59. package/assets/esri/core/workers/chunks/aeaaff7a4b1a99540f52.js +1 -0
  60. package/assets/esri/core/workers/chunks/af349c7bc8ef41a0e1bd.js +1 -0
  61. package/assets/esri/core/workers/chunks/afc3b2af20e9d1dfd260.js +1 -0
  62. package/assets/esri/core/workers/chunks/b19b6102ed2d6f67b43b.js +1 -0
  63. package/assets/esri/core/workers/chunks/b1b4066e8d1c0c9656e5.js +1 -0
  64. package/assets/esri/core/workers/chunks/b4334713bacdfe40ce3d.js +1 -0
  65. package/assets/esri/core/workers/chunks/{6883a5c6883eccaddf64.js → b6ba66a05030d3815dfd.js} +1 -1
  66. package/assets/esri/core/workers/chunks/bbec9d2e3b75a5c59681.js +1 -0
  67. package/assets/esri/core/workers/chunks/{9ab25ee06041f907b9a2.js → c2c1f51a4668055c2838.js} +1 -1
  68. package/assets/esri/core/workers/chunks/c337fc0e6dc69c233e6d.js +1 -0
  69. package/assets/esri/core/workers/chunks/c598b22f78ccc57f9d6d.js +1 -0
  70. package/assets/esri/core/workers/chunks/c5d85be6e16bc895e7fb.js +1 -0
  71. package/assets/esri/core/workers/chunks/c62738f84c914671b143.js +1 -0
  72. package/assets/esri/core/workers/chunks/c8d178a0c82fffd7fed5.js +1 -0
  73. package/assets/esri/core/workers/chunks/c8d6bb5cca49926a0214.js +1 -0
  74. package/assets/esri/core/workers/chunks/cde4b044e013b9e41591.js +1 -0
  75. package/assets/esri/core/workers/chunks/{a7985d20fa6e8d4878e7.js → d0f5bee9db1ad51ae687.js} +1 -1
  76. package/assets/esri/core/workers/chunks/d2347d6aa1c57fd57029.js +1 -0
  77. package/assets/esri/core/workers/chunks/dca35dbe427605ef6fcc.js +1 -0
  78. package/assets/esri/core/workers/chunks/e0351753f6b4d1adf11e.js +1 -0
  79. package/assets/esri/core/workers/chunks/{534186fc921a0ccf58dc.js → e1f5d00878f27e1d413e.js} +1 -1
  80. package/assets/esri/core/workers/chunks/f1df76f098a3cc924832.js +1 -0
  81. package/assets/esri/core/workers/chunks/f4f9d08b2df856e3b694.js +1 -0
  82. package/assets/esri/core/workers/chunks/{711cfb84659cb4437679.js → f528ac5c648ca6a98582.js} +1 -1
  83. package/assets/esri/core/workers/chunks/f8a83d447b7aef051876.js +1 -0
  84. package/assets/esri/core/workers/chunks/fc44227c1756f65b95df.js +1 -0
  85. package/assets/esri/core/workers/chunks/fdbf6208df5c58746d9d.js +1 -0
  86. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ar.json +1 -1
  87. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.bg.json +1 -1
  88. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.bs.json +1 -1
  89. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ca.json +1 -1
  90. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.cs.json +1 -1
  91. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.da.json +1 -1
  92. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.de.json +1 -1
  93. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.el.json +1 -1
  94. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.es.json +1 -1
  95. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.et.json +1 -1
  96. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.fi.json +1 -1
  97. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.fr.json +1 -1
  98. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.he.json +1 -1
  99. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.hr.json +1 -1
  100. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.hu.json +1 -1
  101. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.id.json +1 -1
  102. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.it.json +1 -1
  103. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ja.json +1 -1
  104. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ko.json +1 -1
  105. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.lt.json +1 -1
  106. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.lv.json +1 -1
  107. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.nl.json +1 -1
  108. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.no.json +1 -1
  109. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pl.json +1 -1
  110. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pt-BR.json +1 -1
  111. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pt-PT.json +1 -1
  112. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ro.json +1 -1
  113. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ru.json +1 -1
  114. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sk.json +1 -1
  115. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sl.json +1 -1
  116. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sr.json +1 -1
  117. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sv.json +1 -1
  118. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.th.json +1 -1
  119. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.tr.json +1 -1
  120. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.uk.json +1 -1
  121. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.vi.json +1 -1
  122. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-CN.json +1 -1
  123. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-HK.json +1 -1
  124. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-TW.json +1 -1
  125. package/config.js +1 -1
  126. package/core/Loadable.js +1 -1
  127. package/geometry/HeightModelInfo.js +1 -1
  128. package/geometry/support/TileClipper.js +1 -1
  129. package/geometry/support/meshUtils.d.ts +1 -1
  130. package/geometry/support/scaleUtils.js +1 -1
  131. package/kernel.js +1 -1
  132. package/layers/BaseDynamicLayer.d.ts +1 -0
  133. package/layers/BaseElevationLayer.d.ts +2 -0
  134. package/layers/BaseTileLayer.d.ts +12 -9
  135. package/layers/CSVLayer.d.ts +1 -16
  136. package/layers/CatalogLayer.d.ts +1 -1
  137. package/layers/FeatureLayer.d.ts +3 -16
  138. package/layers/GeoJSONLayer.d.ts +1 -53
  139. package/layers/GeoRSSLayer.d.ts +0 -44
  140. package/layers/OrientedImageryLayer.js +1 -1
  141. package/layers/ParquetLayer.d.ts +84 -5
  142. package/layers/ParquetLayer.js +1 -1
  143. package/layers/SceneLayer.d.ts +4 -5
  144. package/layers/SceneLayer.js +1 -1
  145. package/layers/SketchLayer.d.ts +0 -1
  146. package/layers/SubtypeGroupLayer.d.ts +1 -1
  147. package/layers/VectorTileLayer.d.ts +2 -12
  148. package/layers/WFSLayer.d.ts +1 -1
  149. package/layers/buildingSublayers/BuildingComponentSublayer.d.ts +1 -1
  150. package/layers/catalog/CatalogFootprintLayer.d.ts +1 -1
  151. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +1 -1
  152. package/layers/mixins/ArcGISImageService.d.ts +1 -1
  153. package/layers/mixins/PortalLayer.js +1 -1
  154. package/layers/mixins/RefreshableLayer.d.ts +1 -3
  155. package/layers/mixins/ScaleRangeLayer.js +1 -1
  156. package/layers/mixins/SublayersOwner.js +1 -1
  157. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  158. package/layers/orientedImagery/core/utils.js +1 -1
  159. package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
  160. package/layers/support/FeatureFilter.d.ts +1 -1
  161. package/layers/support/ParquetPortalItemData.js +1 -1
  162. package/layers/support/PortalItemData.js +1 -1
  163. package/layers/support/Sublayer.js +1 -1
  164. package/layers/support/SubtypeSublayer.d.ts +1 -1
  165. package/layers/support/SubtypeSublayer.js +1 -1
  166. package/layers/support/layersLoader.js +1 -1
  167. package/package.json +2 -2
  168. package/popup/FeaturesModel.d.ts +27 -6
  169. package/popup/FeaturesModel.js +1 -1
  170. package/portal/support/layersLoader.js +1 -1
  171. package/portal/support/portalLayers.js +1 -1
  172. package/renderers/VectorFieldRenderer.d.ts +4 -4
  173. package/rest/print.js +1 -1
  174. package/rest/support/printTaskUtils.js +1 -1
  175. package/smartMapping/renderers/color.js +1 -1
  176. package/smartMapping/renderers/dotDensity.js +1 -1
  177. package/smartMapping/renderers/heatmap.js +1 -1
  178. package/smartMapping/renderers/pieChart.js +1 -1
  179. package/smartMapping/renderers/type.js +1 -1
  180. package/smartMapping/statistics/heatmapStatistics.js +1 -1
  181. package/smartMapping/statistics/histogram.js +1 -1
  182. package/smartMapping/statistics/summaryStatistics.js +1 -1
  183. package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
  184. package/smartMapping/statistics/uniqueValues.js +1 -1
  185. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  186. package/smartMapping/types.d.ts +3 -1
  187. package/symbols/cim/CIMSymbolHelper.js +1 -1
  188. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  189. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  190. package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
  191. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  192. package/views/2d/layers/LayerView2D.js +1 -1
  193. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  194. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  195. package/views/3d/analysis/Viewshed/types.d.ts +3 -1
  196. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  197. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  198. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  199. package/views/3d/layers/FeatureLikeLayerViewBase3D.js +1 -1
  200. package/views/3d/layers/FlowSubView3D.js +1 -1
  201. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  202. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  203. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  204. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  205. package/views/3d/layers/MediaLayerView3D.js +1 -1
  206. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  207. package/views/3d/layers/RouteLayerView3D.js +1 -1
  208. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  209. package/views/3d/layers/SceneLayerView3D.js +1 -1
  210. package/views/3d/layers/TiledLayerView3D.js +1 -1
  211. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  212. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  213. package/views/3d/layers/graphics/Labeler.js +1 -1
  214. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  215. package/views/3d/support/popupHitTest.js +1 -1
  216. package/views/3d/terrain/TerrainData.js +1 -1
  217. package/views/3d/terrain/terrainUtils.js +1 -1
  218. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  219. package/views/DOMContainer.d.ts +27 -9
  220. package/views/DOMContainer.js +1 -1
  221. package/views/PopupView.d.ts +6 -0
  222. package/views/VideoView.d.ts +27 -9
  223. package/views/View.d.ts +16 -7
  224. package/views/View.js +1 -1
  225. package/views/View2D.d.ts +1 -1
  226. package/views/draw/support/InteractiveHandle.js +1 -1
  227. package/views/interactive/snapping/FeatureSnappingSourceInfo.js +1 -1
  228. package/views/interactive/snapping/SnappingManagerPool.js +1 -1
  229. package/views/interactive/snapping/SnappingOptions.d.ts +1 -1
  230. package/views/interactive/tooltip/components/ElevationModeSelect.js +1 -1
  231. package/views/layers/FeatureLikeLayerView.d.ts +2 -3
  232. package/views/layers/LayerView.js +1 -1
  233. package/views/layers/LineOfSightLayerView.d.ts +3 -4
  234. package/views/layers/ParquetLayerView.d.ts +15 -0
  235. package/views/layers/PointCloudLayerView.d.ts +1 -1
  236. package/views/layers/SceneLayerView.d.ts +1 -1
  237. package/views/layers/ViewshedLayerView.d.ts +5 -6
  238. package/views/support/layerViewUtils.js +1 -1
  239. package/webdoc/support/saveUtils.js +1 -1
  240. package/webdoc/support/unsupportedErrors.js +1 -1
  241. package/widgets/Editor.d.ts +10 -0
  242. package/widgets/Legend.d.ts +1 -0
  243. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  244. package/widgets/OrientedImageryViewer/adapters/draw/HeightMeasurementAdapter.js +1 -1
  245. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  246. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  247. package/widgets/OrientedImageryViewer/components/ImageLocationViewModel.js +1 -1
  248. package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
  249. package/widgets/support/SnappingControls.d.ts +1 -1
  250. package/assets/esri/core/workers/chunks/00a600c71ceebe7bfeee.js +0 -1
  251. package/assets/esri/core/workers/chunks/0193df3f9fb23633da87.js +0 -1
  252. package/assets/esri/core/workers/chunks/050c4b212f2b5691db34.js +0 -1
  253. package/assets/esri/core/workers/chunks/05963f57cbe5a5249496.js +0 -1
  254. package/assets/esri/core/workers/chunks/06e7400f5ebe0719b81c.js +0 -1
  255. package/assets/esri/core/workers/chunks/07aa6d36f1006b6ab7ff.js +0 -1
  256. package/assets/esri/core/workers/chunks/0bb11751efa2023ec937.js +0 -1
  257. package/assets/esri/core/workers/chunks/14a3808427deaaa85bf2.js +0 -1
  258. package/assets/esri/core/workers/chunks/1a6027f08893aba9e677.js +0 -1
  259. package/assets/esri/core/workers/chunks/2062d46f638eabfc9499.js +0 -1
  260. package/assets/esri/core/workers/chunks/2164fcaced72b0fda31f.js +0 -1
  261. package/assets/esri/core/workers/chunks/222af8522773c7dc80b1.js +0 -1
  262. package/assets/esri/core/workers/chunks/25b0885d3bc190b28c04.js +0 -1
  263. package/assets/esri/core/workers/chunks/303fde8f3459dde16555.js +0 -1
  264. package/assets/esri/core/workers/chunks/305a718719ef15fda90c.js +0 -1
  265. package/assets/esri/core/workers/chunks/347bf269c2b1583d2dca.js +0 -1
  266. package/assets/esri/core/workers/chunks/350540770781b281c39a.js +0 -1
  267. package/assets/esri/core/workers/chunks/392bcef780df52fb4cca.js +0 -1
  268. package/assets/esri/core/workers/chunks/3b017b718ea2d4ed498f.js +0 -1
  269. package/assets/esri/core/workers/chunks/3e81dfc9d621ece038fe.js +0 -1
  270. package/assets/esri/core/workers/chunks/4479a166b5ac8db1e12e.js +0 -1
  271. package/assets/esri/core/workers/chunks/46b2d4addfc73f9183a4.js +0 -1
  272. package/assets/esri/core/workers/chunks/4d82db661365daa513a6.js +0 -1
  273. package/assets/esri/core/workers/chunks/4ed8655770a3e018e366.js +0 -1
  274. package/assets/esri/core/workers/chunks/4f48d45baa8ada16f579.js +0 -1
  275. package/assets/esri/core/workers/chunks/50ca55ad2f5421acc492.js +0 -1
  276. package/assets/esri/core/workers/chunks/5450f339f97b2b042ee2.js +0 -1
  277. package/assets/esri/core/workers/chunks/55cc8581978c71b17998.js +0 -1
  278. package/assets/esri/core/workers/chunks/5ea8809b6519c05ad9f6.js +0 -1
  279. package/assets/esri/core/workers/chunks/62795a1573cbaa4b8e7a.js +0 -1
  280. package/assets/esri/core/workers/chunks/633a9051580c5302d2f7.js +0 -1
  281. package/assets/esri/core/workers/chunks/641d196a554bd07f729e.js +0 -1
  282. package/assets/esri/core/workers/chunks/655c3afda1eef01611dd.js +0 -1
  283. package/assets/esri/core/workers/chunks/6569797d3c22442e5e97.js +0 -1
  284. package/assets/esri/core/workers/chunks/70793967db45fb142962.js +0 -1
  285. package/assets/esri/core/workers/chunks/794e5a67a88cb10c1a19.js +0 -1
  286. package/assets/esri/core/workers/chunks/798a63653f82c0e842c5.js +0 -1
  287. package/assets/esri/core/workers/chunks/820f41d66b2056a3ebc8.js +0 -1
  288. package/assets/esri/core/workers/chunks/841f67baf6a1634ada48.js +0 -1
  289. package/assets/esri/core/workers/chunks/84fcbf7a1d04f01685d1.js +0 -1
  290. package/assets/esri/core/workers/chunks/8e511079918e2fd9261f.js +0 -1
  291. package/assets/esri/core/workers/chunks/8fcfd515ee1b18c902e5.js +0 -1
  292. package/assets/esri/core/workers/chunks/9001e9a1e81bce175ddd.js +0 -1
  293. package/assets/esri/core/workers/chunks/94c5f3bc07fe516dafbe.js +0 -1
  294. package/assets/esri/core/workers/chunks/956a40f40bde416efe93.js +0 -1
  295. package/assets/esri/core/workers/chunks/95b82cbbe355266c65d7.js +0 -1
  296. package/assets/esri/core/workers/chunks/97dbbedea9fe03bd1306.js +0 -1
  297. package/assets/esri/core/workers/chunks/9c0fd8baa00ee9733ba4.js +0 -1
  298. package/assets/esri/core/workers/chunks/9c1e69ac82e2bf746191.js +0 -1
  299. package/assets/esri/core/workers/chunks/a010d2e4e34eb7bc1fec.js +0 -1
  300. package/assets/esri/core/workers/chunks/a05790444115e4cf1bcc.js +0 -1
  301. package/assets/esri/core/workers/chunks/a52bf03bffb6ffac3b54.js +0 -1
  302. package/assets/esri/core/workers/chunks/a7edf7541569fef77cb3.js +0 -1
  303. package/assets/esri/core/workers/chunks/b2c29bc48c7b3b0c9357.js +0 -1
  304. package/assets/esri/core/workers/chunks/b7d77dd2abb255fd2e5a.js +0 -1
  305. package/assets/esri/core/workers/chunks/b8054adc45bca069b948.js +0 -1
  306. package/assets/esri/core/workers/chunks/ba46869e700ba1d2787f.js +0 -1
  307. package/assets/esri/core/workers/chunks/ba48045a81acc4cda927.js +0 -1
  308. package/assets/esri/core/workers/chunks/ca7fb75e2c62e7d37122.js +0 -1
  309. package/assets/esri/core/workers/chunks/d01381b548c204835509.js +0 -1
  310. package/assets/esri/core/workers/chunks/d21257d2e2a37266c0f7.js +0 -1
  311. package/assets/esri/core/workers/chunks/d270cc9807161033686e.js +0 -1
  312. package/assets/esri/core/workers/chunks/d4f038e04c42aed588c1.js +0 -1
  313. package/assets/esri/core/workers/chunks/e32b96c08cb272a59851.js +0 -1
  314. package/assets/esri/core/workers/chunks/e7c60bd85abbd36cdc64.js +0 -1
  315. package/assets/esri/core/workers/chunks/f05de08e194a3f9b96f2.js +0 -1
  316. package/assets/esri/core/workers/chunks/f0a68d2900d24f56afa0.js +0 -1
  317. package/assets/esri/core/workers/chunks/f511a304e9dea9eb3e01.js +0 -1
@@ -11,6 +11,7 @@ import type Query from "../rest/support/Query.js";
11
11
  import type { ClonableMixin } from "../core/Clonable.js";
12
12
  import type { MultiOriginJSONSupportMixin } from "../core/MultiOriginJSONSupport.js";
13
13
  import type { AbortOptions } from "../core/promiseUtils.js";
14
+ import type { LayerEvents, LayerProperties } from "./Layer.js";
14
15
  import type { FeatureLayerCapabilities, FieldDomainOptions } from "./types.js";
15
16
  import type { BlendLayer, BlendLayerProperties } from "./mixins/BlendLayer.js";
16
17
  import type { CustomParametersMixin, CustomParametersMixinProperties } from "./mixins/CustomParametersMixin.js";
@@ -19,7 +20,8 @@ import type { FeatureEffectLayer, FeatureEffectLayerProperties } from "./mixins/
19
20
  import type { FeatureReductionLayer, FeatureReductionLayerProperties } from "./mixins/FeatureReductionLayer.js";
20
21
  import type { OperationalLayer, OperationalLayerProperties } from "./mixins/OperationalLayer.js";
21
22
  import type { OrderedLayer, OrderedLayerProperties } from "./mixins/OrderedLayer.js";
22
- import type { RefreshableLayer, RefreshableLayerProperties } from "./mixins/RefreshableLayer.js";
23
+ import type { PortalLayer, PortalLayerProperties } from "./mixins/PortalLayer.js";
24
+ import type { RefreshableLayer, RefreshableLayerEvents, RefreshEvent, RefreshableLayerProperties } from "./mixins/RefreshableLayer.js";
23
25
  import type { ScaleRangeLayer, ScaleRangeLayerProperties } from "./mixins/ScaleRangeLayer.js";
24
26
  import type { ParquetGeometryType } from "./support/parquetUtils.js";
25
27
  import type { DomainUnion, ParquetDataUnion, ParquetGeometryEncodingUnion } from "./support/types.js";
@@ -45,9 +47,8 @@ import type { PortalItemDataProperties } from "./support/PortalItemData.js";
45
47
  import type { ParquetPortalItemDataProperties } from "./support/ParquetPortalItemData.js";
46
48
  import type { ParquetFilesDataProperties } from "./support/ParquetFilesData.js";
47
49
  import type { ReadonlyArrayOrCollection } from "../core/Collection.js";
48
- import type { LayerProperties } from "./Layer.js";
49
50
 
50
- export interface ParquetLayerProperties extends LayerProperties, CustomParametersMixinProperties, OperationalLayerProperties, RefreshableLayerProperties, ScaleRangeLayerProperties, DataSeriesLayerProperties, OrderedLayerProperties, BlendLayerProperties, FeatureEffectLayerProperties, FeatureReductionLayerProperties, Partial<Pick<ParquetLayer, "charts" | "copyright" | "definitionExpression" | "geometryType" | "labelsVisible" | "legendEnabled" | "outFields" | "popupEnabled">> {
51
+ export interface ParquetLayerProperties extends LayerProperties, CustomParametersMixinProperties, PortalLayerProperties, OperationalLayerProperties, RefreshableLayerProperties, ScaleRangeLayerProperties, DataSeriesLayerProperties, OrderedLayerProperties, BlendLayerProperties, FeatureEffectLayerProperties, FeatureReductionLayerProperties, Partial<Pick<ParquetLayer, "charts" | "copyright" | "definitionExpression" | "geometryType" | "hasM" | "hasZ" | "labelsVisible" | "legendEnabled" | "outFields" | "popupEnabled">> {
51
52
  /**
52
53
  * The data source for the ParquetLayer. Set this property to [parquet files](https://developers.arcgis.com/javascript/latest/references/core/layers/support/ParquetFilesData/)
53
54
  * or a [portal item](https://developers.arcgis.com/javascript/latest/references/core/layers/support/PortalItemData/) to define which Parquet content the layer loads.
@@ -187,6 +188,18 @@ export interface ParquetLayerProperties extends LayerProperties, CustomParameter
187
188
  * @see [View2D.popup](https://developers.arcgis.com/javascript/latest/references/core/views/View2D/#popup)
188
189
  */
189
190
  popupTemplate?: PopupTemplateProperties | null;
191
+ /**
192
+ * Refresh interval of the layer in minutes. Value of `0` indicates no refresh.
193
+ *
194
+ * @since 5.2
195
+ * @see [Sample - GeoJSONLayer with dynamic URL](https://developers.arcgis.com/javascript/latest/sample-code/layers-geojson-refresh/)
196
+ * @see [RefreshableLayer.refresh()](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refresh)
197
+ * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#event-refresh)
198
+ * @example
199
+ * // the layer will be refreshed every minute.
200
+ * layer.refreshInterval = 1;
201
+ */
202
+ refreshInterval?: number;
190
203
  /**
191
204
  * The renderer assigned to the layer. The renderer defines how to
192
205
  * visualize each feature in the layer. Depending on the renderer type,
@@ -226,6 +239,16 @@ export interface ParquetLayerProperties extends LayerProperties, CustomParameter
226
239
  urls?: ReadonlyArrayOrCollection<string> | string[] | null;
227
240
  }
228
241
 
242
+ export interface ParquetLayerEvents extends RefreshableLayerEvents, LayerEvents {
243
+ /**
244
+ * Fires when the layer is refreshed using [refreshInterval](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#refreshInterval) or
245
+ * [refresh()](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#refresh). The event payload indicates whether the layer's data has changed.
246
+ *
247
+ * @since 5.2
248
+ */
249
+ refresh: RefreshEvent;
250
+ }
251
+
229
252
  /**
230
253
  * The ParquetLayer enables visualization of [Parquet files](https://parquet.apache.org/docs/) on a map.
231
254
  * Parquet is a columnar storage format optimized for efficiently handling big data and distributed environments.
@@ -319,6 +342,12 @@ export interface ParquetLayerProperties extends LayerProperties, CustomParameter
319
342
  * @see [Geoparquet documentation](https://geoparquet.org/)
320
343
  */
321
344
  export default class ParquetLayer extends ParquetLayerSuperclass {
345
+ /**
346
+ * @deprecated
347
+ * Do not directly reference this property.
348
+ * Use EventNames and EventTypes helpers from \@arcgis/core/Evented
349
+ */
350
+ "@eventTypes": ParquetLayerEvents;
322
351
  /**
323
352
  * @example
324
353
  * const layer = new ParquetLayer({
@@ -480,6 +509,36 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
480
509
  set geometryEncoding(value: ((GeometryEncodingWkbProperties & { type: "wkb" }) | (GeometryEncodingLocationProperties & { type: "location" })) | null | undefined);
481
510
  /** The geometry type of features in the layer. All features must be of the same type. */
482
511
  accessor geometryType: ParquetGeometryType | null | undefined;
512
+ /**
513
+ * Indicates whether the layer has m aware geometries.
514
+ * Use the `supportsM` property in the layer's [DataCapabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/types/#DataCapabilities)
515
+ * to verify if m-values are supported by the layer.
516
+ *
517
+ * - When `true`: The layer has m aware features. M-values are part of the geometry.
518
+ * - When `false`: The layer does not have m aware features. M-values are not part of the geometry.
519
+ *
520
+ * @default false
521
+ * @since 5.2
522
+ * @see [returnM](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/FeatureLayerBase/#returnM) for details regarding fetching m-values with features from a layer
523
+ * @see [Linear referencing](https://pro.arcgis.com/en/pro-app/latest/help/data/linear-referencing/introduction-to-linear-referencing.htm)
524
+ */
525
+ accessor hasM: boolean;
526
+ /**
527
+ * Indicates whether the layer has z aware geometries. Use the `supportsZ` property in the layer's [DataCapabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/types/#DataCapabilities)
528
+ * to verify if z-values are supported by the layer.
529
+ *
530
+ * - When `true`: The layer has z aware features. Z-values are part of the geometry.
531
+ * - When `false`: The layer does not have z aware features. Z-values are not part of the geometry.
532
+ * > [!NOTE]
533
+ * > - Refer to [FeatureLayerBase.elevationInfo](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/FeatureLayerBase/#elevationInfo) for details regarding placement and rendering
534
+ * > of features with z-values in 3D [SceneViews](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).
535
+ *
536
+ * @default false
537
+ * @since 5.2
538
+ * @see [returnZ](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/FeatureLayerBase/#returnZ) for details regarding fetching z-values with features from a layer
539
+ * @see [Point.z](https://developers.arcgis.com/javascript/latest/references/core/geometry/Point/#z) for more information on how z-values are represented in geometries
540
+ */
541
+ accessor hasZ: boolean;
483
542
  /**
484
543
  * Returns `true` if the layer is loaded from a Parquet file without spatial data.
485
544
  * Non-spatial Parquet files do not have geometry object that represent geographic features.
@@ -588,6 +647,18 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
588
647
  */
589
648
  get popupTemplate(): PopupTemplate | null | undefined;
590
649
  set popupTemplate(value: PopupTemplateProperties | null | undefined);
650
+ /**
651
+ * Refresh interval of the layer in minutes. Value of `0` indicates no refresh.
652
+ *
653
+ * @since 5.2
654
+ * @see [Sample - GeoJSONLayer with dynamic URL](https://developers.arcgis.com/javascript/latest/sample-code/layers-geojson-refresh/)
655
+ * @see [RefreshableLayer.refresh()](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refresh)
656
+ * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#event-refresh)
657
+ * @example
658
+ * // the layer will be refreshed every minute.
659
+ * layer.refreshInterval = 1;
660
+ */
661
+ accessor refreshInterval: number;
591
662
  /**
592
663
  * The renderer assigned to the layer. The renderer defines how to
593
664
  * visualize each feature in the layer. Depending on the renderer type,
@@ -645,7 +716,7 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
645
716
  */
646
717
  createPopupTemplate(options?: CreatePopupTemplateOptions): PopupTemplate | null | undefined;
647
718
  /**
648
- * Creates query parameter object that can be used to fetch features from feature-based layers or
719
+ * Creates a query parameter object that can be used to fetch features from feature-based layers or
649
720
  * image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#definitionExpression).
650
721
  * It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#capabilities).
651
722
  * It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
@@ -925,5 +996,13 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
925
996
  * ```
926
997
  */
927
998
  queryObjectIds(query?: QueryProperties | null | undefined, options?: AbortOptions): Promise<ObjectId[]>;
999
+ /**
1000
+ * Fetches all the data for the layer.
1001
+ *
1002
+ * @since 5.2
1003
+ * @see [RefreshableLayer.refreshInterval](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refreshInterval)
1004
+ * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#event-refresh)
1005
+ */
1006
+ refresh(): void;
928
1007
  }
929
- declare const ParquetLayerSuperclass: typeof Layer & typeof ClonableMixin & typeof CustomParametersMixin & typeof MultiOriginJSONSupportMixin & typeof OperationalLayer & typeof RefreshableLayer & typeof ScaleRangeLayer & typeof DataSeriesLayer & typeof OrderedLayer & typeof BlendLayer & typeof FeatureEffectLayer & typeof FeatureReductionLayer
1008
+ declare const ParquetLayerSuperclass: typeof Layer & typeof ClonableMixin & typeof CustomParametersMixin & typeof MultiOriginJSONSupportMixin & typeof PortalLayer & typeof OperationalLayer & typeof RefreshableLayer & typeof ScaleRangeLayer & typeof DataSeriesLayer & typeof OrderedLayer & typeof BlendLayer & typeof FeatureEffectLayer & typeof FeatureReductionLayer
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../PopupTemplate.js";import{ClonableMixin as n}from"../core/Clonable.js";import r from"../core/Collection.js";import{deprecatedProperty as i}from"../core/deprecate.js";import a from"../core/Error.js";import has from"../core/has.js";import o from"../core/Logger.js";import{MultiOriginJSONSupportMixin as s}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as c}from"../core/object.js";import{on as l}from"../core/reactiveUtils.js";import{getFilename as u}from"../core/urlUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{subclass as f}from"../core/accessorSupport/decorators/subclass.js";import{writer as p}from"../core/accessorSupport/decorators/writer.js";import m from"../geometry/Extent.js";import h from"../geometry/SpatialReference.js";import g from"../graphic/ParquetGraphicOrigin.js";import _ from"./Layer.js";import{ParquetSource as v}from"./graphics/sources/ParquetSource.js";import{BlendLayer as y}from"./mixins/BlendLayer.js";import{CustomParametersMixin as b}from"./mixins/CustomParametersMixin.js";import{DataSeriesLayer as x}from"./mixins/DataSeriesLayer.js";import{FeatureEffectLayer as S}from"./mixins/FeatureEffectLayer.js";import{FeatureReductionLayer as C}from"./mixins/FeatureReductionLayer.js";import{OperationalLayer as w}from"./mixins/OperationalLayer.js";import{OrderedLayer as T}from"./mixins/OrderedLayer.js";import{RefreshableLayer as E}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as D}from"./mixins/ScaleRangeLayer.js";import{labelsVisible as O,legendEnabled as k,popupEnabled as A}from"./support/commonProperties.js";import j from"./support/FeatureTemplate.js";import M from"./support/Field.js";import{defineFieldProperties as N}from"./support/fieldProperties.js";import{fixRendererFields as P}from"./support/fieldUtils.js";import F from"./support/GeometryEncodingLocation.js";import I from"./support/GeometryEncodingWkb.js";import L from"./support/LabelClass.js";import{reader as R}from"./support/labelingInfo.js";import z from"./support/ParquetFilesData.js";import{parquetGeometryTypeKebabDict as B}from"./support/parquetUtils.js";import V from"./support/PortalItemData.js";import{rendererTypes as H}from"../renderers/support/typeUtils.js";import U from"../rest/support/Query.js";import{createPopupTemplate as W}from"../support/popupUtils.js";import{utc as G}from"../time/constants.js";const K=N(),q=`__OBJECTID`,J={types:{key:`type`,base:null,typeMap:{wkb:I,location:F}},json:{name:`layerDefinition.geometryEncoding`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryEncoding`}}}}};let Y=class extends C(S(y(T(x(D(E(w(s(b(n(_))))))))))){constructor(e){super(e),this._emptyUrls=new r,this.charts=null,this.copyright=null,this.definitionExpression=null,this.returnM=void 0,this.returnZ=void 0,this.displayOptimization=null,this.fields=null,this.fieldsIndex=null,this.geometryEncoding=null,this.fullExtent=null,this.geometryType=null,this.graphicOrigin=new g(this),this.hasM=!1,this.hasZ=!1,this.labelsVisible=!0,this.labelingInfo=null,this.objectIdField=q,this.operationalLayerType=`ParquetLayer`,this.outFields=null,this.persistenceEnabled=!!has(`parquetlayer-persistence-enabled`),this.popupTemplate=null,this.source=null,this.spatialReference=null,this.templates=null,this.type=`parquet`,this.data=null}initialize(){this.addHandles(l(()=>this.source,`source-changed`,()=>{this.emit(`refresh`,{dataChanged:!0})}))}destroy(){this.source?.destroy()}async load(e){return this.addResolvingPromise(this._load(e)),this}get capabilities(){return this.source?.capabilities}get dateFieldsTimeZone(){return G}get defaultPopupTemplate(){return this.createPopupTemplate()}writeFields(e,t,n,r){let i=e.filter(e=>e.name!==q||e.type!==`oid`).map(e=>e.toJSON(r));c(n,i,t)}get isTable(){return this.geometryEncoding==null&&this.displayOptimization==null}set renderer(e){P(e,this.fieldsIndex),this._set(`renderer`,e)}get title(){let e=this._get(`title`);if(e&&this.originOf(`title`)!==`defaults`)return e;switch(this.data?.type){case`files`:{let t=this.data.urls?.at(0);e=t?u(t,[`parquet`]):null;break}case`portal-item`:e=this.data.portalItem?.title}return e||`Parquet`}set title(e){this._set(`title`,e)}writeData(e,t,n,r){if(!e)return;if(e.type===`portal-item`&&e.portalItem?.type!==`Parquet Feature Layer`){r.messages?.push(new a(`parquet-layer:unsupported-data`,`Portal item with type '${e.portalItem?.type}' is not supported in web maps`,{layer:this,itemId:e.portalItem?.id}));return}let i=e.write({},r);i&&(t.source=i)}get urls(){return this.data?.type===`files`?this.data.urls:this._emptyUrls}set urls(e){i(o.getLogger(this),`urls`,{replacement:`data`,version:`5.1`,warnOnce:!0}),this.data=new z({urls:this._normalizeUrls(e)})}createPopupTemplate(e){return W(this,e)}createQuery(){let e=new U;return e.returnGeometry=!0,e.outFields=[`*`],e.where=this.definitionExpression||`1=1`,e}async createSource(e){let t=new v({layer:this});return await t.load(e),t}getFieldDomain(e,t){return null}getField(e){return this.fieldsIndex.get(e)}async queryFeatures(e,t){await this.load();let n=await this.source.queryFeatures(this._normalizeQuery(e),t),r=this.graphicOrigin;if(n?.features)for(let e of n.features)e.layer=e.sourceLayer=this,e.origin=r;return n}async queryObjectIds(e,t){return await this.load(),this.source.queryObjectIds(this._normalizeQuery(e),t)}async queryFeatureCount(e,t){return await this.load(),this.source.queryFeatureCount(this._normalizeQuery(e),t)}async queryExtent(e,t){return await this.load(),this.source.queryExtent(this._normalizeQuery(e),t)}async hasDataChanged(){if(this.data?.type===`portal-item`){let e=this.data.portalItem,t=e.modified?.getTime();if(await e.reload(),t===e.modified?.getTime())return!1}return await this.source.reload(null),!0}_normalizeQuery(e){return U.from(e)??this.createQuery()}_normalizeUrls(e){return Array.isArray(e)?new r(e):e??new r}async _load(e){this.data?.type===`portal-item`&&await this.data.portalItem.load();let t=await this.createSource(e);this._set(`source`,t),this.read(t.sourceJSON,{origin:`service`}),[`fields`].forEach(e=>this.revertToOrigin(e,`service`)),P(this.renderer,this.fieldsIndex),this.spatialReference??=h.WGS84}};e([d({readOnly:!0,json:{read:!1,write:!1}})],Y.prototype,`capabilities`,null),e([d({json:{origins:{"web-scene":{write:!1}},write:!0}})],Y.prototype,`charts`,void 0),e([d({type:String})],Y.prototype,`copyright`,void 0),e([d({readOnly:!0})],Y.prototype,`dateFieldsTimeZone`,null),e([d({readOnly:!0})],Y.prototype,`defaultPopupTemplate`,null),e([d({type:String,json:{name:`layerDefinition.definitionExpression`,write:{enabled:!0,allowNull:!0}}})],Y.prototype,`definitionExpression`,void 0),e([d({type:Boolean})],Y.prototype,`returnM`,void 0),e([d({type:Boolean})],Y.prototype,`returnZ`,void 0),e([d()],Y.prototype,`displayOptimization`,void 0),e([d({type:[M],json:{name:`layerDefinition.fields`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:`fields`}}}})],Y.prototype,`fields`,void 0),e([p(`fields`)],Y.prototype,`writeFields`,null),e([d(K.fieldsIndex)],Y.prototype,`fieldsIndex`,void 0),e([d(J)],Y.prototype,`geometryEncoding`,void 0),e([d({type:m,json:{name:`extent`}})],Y.prototype,`fullExtent`,void 0),e([d({type:B.apiValues,json:{name:`layerDefinition.geometryType`,read:{reader:B.read},write:{writer:B.write,ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryType`,reader:B.read}}}}})],Y.prototype,`geometryType`,void 0),e([d({readOnly:!0,clonable:!1})],Y.prototype,`graphicOrigin`,void 0),e([d({type:Boolean,json:{read:!1,write:!1,origins:{service:{read:!0}}}})],Y.prototype,`hasM`,void 0),e([d({type:Boolean,json:{read:!1,write:!1,origins:{service:{read:!0}}}})],Y.prototype,`hasZ`,void 0),e([d(O)],Y.prototype,`labelsVisible`,void 0),e([d({type:[L],json:{name:`layerDefinition.drawingInfo.labelingInfo`,read:{reader:R},write:!0}})],Y.prototype,`labelingInfo`,void 0),e([d(k)],Y.prototype,`legendEnabled`,void 0),e([d()],Y.prototype,`file`,void 0),e([d({type:String,readOnly:!0})],Y.prototype,`objectIdField`,void 0),e([d({type:[`ParquetLayer`]})],Y.prototype,`operationalLayerType`,void 0),e([d(K.outFields)],Y.prototype,`outFields`,void 0),e([d(A)],Y.prototype,`popupEnabled`,void 0),e([d({type:t,json:{name:`popupInfo`,write:!0}})],Y.prototype,`popupTemplate`,void 0),e([d({types:H,json:{name:`layerDefinition.drawingInfo.renderer`,write:!0,origins:{service:{read:{source:`drawingInfo.renderer`}}}}})],Y.prototype,`renderer`,null),e([d({type:v,readOnly:!0,cast:null,json:{read:!1}})],Y.prototype,`source`,void 0),e([d({type:h,json:{name:`layerDefinition.spatialReference`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`extent.spatialReference`}}}}})],Y.prototype,`spatialReference`,void 0),e([d({type:[j]})],Y.prototype,`templates`,void 0),e([d()],Y.prototype,`title`,null),e([d({json:{read:!1},readOnly:!0})],Y.prototype,`type`,void 0),e([d({types:{key:`type`,base:null,typeMap:{files:z,"portal-item":V}},json:{name:`source`,origins:{"web-map":{write:{target:`source`,ignoreOrigin:!0}}}}})],Y.prototype,`data`,void 0),e([p(`web-map`,`data`)],Y.prototype,`writeData`,null),e([d({type:r.ofType(String),json:{read:!1,write:!1}})],Y.prototype,`urls`,null),Y=e([f(`esri.layers.ParquetLayer`)],Y);export{Y as default};
2
+ import{__decorate as e}from"tslib";import t from"../PopupTemplate.js";import{ClonableMixin as n}from"../core/Clonable.js";import r from"../core/Collection.js";import{deprecatedProperty as i}from"../core/deprecate.js";import a from"../core/Error.js";import has from"../core/has.js";import o from"../core/Logger.js";import{MultiOriginJSONSupportMixin as ee}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as s}from"../core/object.js";import{throwIfAbortError as c}from"../core/promiseUtils.js";import{on as l}from"../core/reactiveUtils.js";import{getFilename as u}from"../core/urlUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{reader as f}from"../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../core/accessorSupport/decorators/subclass.js";import{writer as m}from"../core/accessorSupport/decorators/writer.js";import{createTypeReader as h}from"../core/accessorSupport/extensions/serializableProperty/reader.js";import g from"../geometry/Extent.js";import _ from"../geometry/SpatialReference.js";import v from"../graphic/ParquetGraphicOrigin.js";import y from"./Layer.js";import{ParquetSource as b}from"./graphics/sources/ParquetSource.js";import{BlendLayer as x}from"./mixins/BlendLayer.js";import{CustomParametersMixin as S}from"./mixins/CustomParametersMixin.js";import{DataSeriesLayer as C}from"./mixins/DataSeriesLayer.js";import{FeatureEffectLayer as w}from"./mixins/FeatureEffectLayer.js";import{FeatureReductionLayer as T}from"./mixins/FeatureReductionLayer.js";import{OperationalLayer as E}from"./mixins/OperationalLayer.js";import{OrderedLayer as D}from"./mixins/OrderedLayer.js";import{PortalLayer as O}from"./mixins/PortalLayer.js";import{RefreshableLayer as k}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as A}from"./mixins/ScaleRangeLayer.js";import{labelsVisible as j,legendEnabled as M,popupEnabled as N}from"./support/commonProperties.js";import te from"./support/FeatureTemplate.js";import P from"./support/Field.js";import{defineFieldProperties as F}from"./support/fieldProperties.js";import{fixRendererFields as I}from"./support/fieldUtils.js";import L from"./support/GeometryEncodingLocation.js";import R from"./support/GeometryEncodingWkb.js";import z from"./support/LabelClass.js";import{reader as B}from"./support/labelingInfo.js";import V from"./support/ParquetFilesData.js";import{parquetGeometryTypeKebabDict as H}from"./support/parquetUtils.js";import U from"./support/PortalItemData.js";import{rendererTypes as W}from"../renderers/support/typeUtils.js";import G from"../rest/support/Query.js";import{createPopupTemplate as K}from"../support/popupUtils.js";import{utc as q}from"../time/constants.js";const J=F(),Y=`__OBJECTID`,X={key:`type`,base:null,typeMap:{files:V,"portal-item":U},errorContext:`parquet-data`},Z=h({types:X}),Q={types:{key:`type`,base:null,typeMap:{wkb:R,location:L}},json:{name:`layerDefinition.geometryEncoding`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryEncoding`}}}}};let $=class extends T(w(x(D(C(A(k(E(O(ee(S(n(y)))))))))))){constructor(e){super(e),this._emptyUrls=new r,this.charts=null,this.copyright=null,this.definitionExpression=null,this.returnM=void 0,this.returnZ=void 0,this.displayOptimization=null,this.fields=null,this.fieldsIndex=null,this.geometryEncoding=null,this.fullExtent=null,this.geometryType=null,this.graphicOrigin=new v(this),this.hasM=!1,this.hasZ=!1,this.labelsVisible=!0,this.labelingInfo=null,this.objectIdField=Y,this.operationalLayerType=`ParquetLayer`,this.outFields=null,this.persistenceEnabled=!!has(`parquetlayer-persistence-enabled`),this.popupTemplate=null,this.source=null,this.spatialReference=null,this.templates=null,this.type=`parquet`,this.data=null}initialize(){this.addHandles(l(()=>this.source,`source-changed`,()=>{this.emit(`refresh`,{dataChanged:!0})}))}destroy(){this.source?.destroy()}async load(e){let t=this.loadFromPortal({supportedTypes:[`Parquet Feature Layer`],supportsData:!0},e).catch(c).then(()=>this._load(e));return this.addResolvingPromise(t),this}get capabilities(){return this.source?.capabilities}get dateFieldsTimeZone(){return q}get defaultPopupTemplate(){return this.createPopupTemplate()}writeFields(e,t,n,r){let i=e.filter(e=>e.name!==Y||e.type!==`oid`).map(e=>e.toJSON(r));s(n,i,t)}get isTable(){return this.geometryEncoding==null&&this.displayOptimization==null}set renderer(e){I(e,this.fieldsIndex),this._set(`renderer`,e)}get title(){let e=this._get(`title`);if(e&&this.originOf(`title`)!==`defaults`)return e;switch(this.data?.type){case`files`:{let t=this.data.urls?.at(0);e=t?u(t,[`parquet`]):null;break}case`portal-item`:e=this.data.portalItem?.title}return e||`Parquet`}set title(e){this._set(`title`,e)}readData(e,t,n){if(!(`itemId`in t&&t.itemId))return Z(e,t,n)}writeData(e,t,n,r){if(!e)return;if(e.type===`portal-item`&&e.portalItem?.type!==`Parquet Feature Layer`){r.messages?.push(new a(`parquet-layer:unsupported-data`,`Portal item with type '${e.portalItem?.type}' is not supported in web maps`,{layer:this,itemId:e.portalItem?.id}));return}let i=e.write({},r);i&&(t.source=i)}get urls(){return this.data?.type===`files`?this.data.urls:this._emptyUrls}set urls(e){i(o.getLogger(this),`urls`,{replacement:`data`,version:`5.1`,warnOnce:!0}),this.data=new V({urls:this._normalizeUrls(e)})}refresh(e){super.refresh(e)}createPopupTemplate(e){return K(this,e)}createQuery(){let e=new G;return e.returnGeometry=!0,e.outFields=[`*`],e.where=this.definitionExpression||`1=1`,e}async createSource(e){let t=new b({layer:this});return await t.load(e),t}getFieldDomain(e,t){return null}getField(e){return this.fieldsIndex.get(e)}async queryFeatures(e,t){await this.load();let n=await this.source.queryFeatures(this._normalizeQuery(e),t),r=this.graphicOrigin;if(n?.features)for(let e of n.features)e.layer=e.sourceLayer=this,e.origin=r;return n}async queryObjectIds(e,t){return await this.load(),this.source.queryObjectIds(this._normalizeQuery(e),t)}async queryFeatureCount(e,t){return await this.load(),this.source.queryFeatureCount(this._normalizeQuery(e),t)}async queryExtent(e,t){return await this.load(),this.source.queryExtent(this._normalizeQuery(e),t)}async hasDataChanged(){if(this.data?.type===`portal-item`){let e=this.data.portalItem,t=e.modified?.getTime();if(await e.reload(),t===e.modified?.getTime())return!1}return await this.source.reload(null),!0}_normalizeQuery(e){return G.from(e)??this.createQuery()}_normalizeUrls(e){return Array.isArray(e)?new r(e):e??new r}async _load(e){this.portalItem?.url&&(this.data=new U({portalItem:this.portalItem.clone()})),this.data?.type===`portal-item`&&await this.data.portalItem.load();let t=await this.createSource(e);this._set(`source`,t),this.read(t.sourceJSON,{origin:`service`}),[`fields`].forEach(e=>this.revertToOrigin(e,`service`)),I(this.renderer,this.fieldsIndex),this.spatialReference??=_.WGS84}};e([d({readOnly:!0,json:{read:!1,write:!1}})],$.prototype,`capabilities`,null),e([d({json:{origins:{"web-scene":{write:!1}},write:!0}})],$.prototype,`charts`,void 0),e([d({type:String})],$.prototype,`copyright`,void 0),e([d({readOnly:!0})],$.prototype,`dateFieldsTimeZone`,null),e([d({readOnly:!0})],$.prototype,`defaultPopupTemplate`,null),e([d({type:String,json:{name:`layerDefinition.definitionExpression`,write:{enabled:!0,allowNull:!0}}})],$.prototype,`definitionExpression`,void 0),e([d({type:Boolean})],$.prototype,`returnM`,void 0),e([d({type:Boolean})],$.prototype,`returnZ`,void 0),e([d()],$.prototype,`displayOptimization`,void 0),e([d({type:[P],json:{name:`layerDefinition.fields`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:`fields`}}}})],$.prototype,`fields`,void 0),e([m(`fields`)],$.prototype,`writeFields`,null),e([d(J.fieldsIndex)],$.prototype,`fieldsIndex`,void 0),e([d(Q)],$.prototype,`geometryEncoding`,void 0),e([d({type:g,json:{name:`extent`}})],$.prototype,`fullExtent`,void 0),e([d({type:H.apiValues,json:{name:`layerDefinition.geometryType`,read:{reader:H.read},write:{writer:H.write,ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryType`,reader:H.read}}}}})],$.prototype,`geometryType`,void 0),e([d({readOnly:!0,clonable:!1})],$.prototype,`graphicOrigin`,void 0),e([d({type:Boolean,json:{read:!1,write:!1,origins:{service:{read:!0}}}})],$.prototype,`hasM`,void 0),e([d({type:Boolean,json:{read:!1,write:!1,origins:{service:{read:!0}}}})],$.prototype,`hasZ`,void 0),e([d(j)],$.prototype,`labelsVisible`,void 0),e([d({type:[z],json:{name:`layerDefinition.drawingInfo.labelingInfo`,read:{reader:B},write:!0}})],$.prototype,`labelingInfo`,void 0),e([d(M)],$.prototype,`legendEnabled`,void 0),e([d()],$.prototype,`file`,void 0),e([d({type:String,readOnly:!0})],$.prototype,`objectIdField`,void 0),e([d({type:[`ParquetLayer`]})],$.prototype,`operationalLayerType`,void 0),e([d(J.outFields)],$.prototype,`outFields`,void 0),e([d(N)],$.prototype,`popupEnabled`,void 0),e([d({type:t,json:{name:`popupInfo`,write:!0}})],$.prototype,`popupTemplate`,void 0),e([d({types:W,json:{name:`layerDefinition.drawingInfo.renderer`,write:!0,origins:{service:{read:{source:`drawingInfo.renderer`}}}}})],$.prototype,`renderer`,null),e([d({type:b,readOnly:!0,cast:null,json:{read:!1}})],$.prototype,`source`,void 0),e([d({type:_,json:{name:`layerDefinition.spatialReference`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`extent.spatialReference`}}}}})],$.prototype,`spatialReference`,void 0),e([d({type:[te]})],$.prototype,`templates`,void 0),e([d()],$.prototype,`title`,null),e([d({json:{read:!1},readOnly:!0})],$.prototype,`type`,void 0),e([d({types:X,json:{name:`source`,origins:{"web-map":{read:{source:`source`},write:{target:`source`,ignoreOrigin:!0}}}}})],$.prototype,`data`,void 0),e([f(`web-map`,`data`)],$.prototype,`readData`,null),e([m(`web-map`,`data`)],$.prototype,`writeData`,null),e([d({type:r.ofType(String),json:{read:!1,write:!1}})],$.prototype,`urls`,null),$=e([p(`esri.layers.ParquetLayer`)],$);export{$ as default};
@@ -1191,12 +1191,11 @@ export default class SceneLayer extends SceneLayerSuperclass {
1191
1191
  */
1192
1192
  createPopupTemplate(options?: CreatePopupTemplateOptions): PopupTemplate | null | undefined;
1193
1193
  /**
1194
- * Creates a query object that can be used to fetch features that
1195
- * satisfy the layer's current definition expression. The query should
1196
- * only be used on the layer and not on the layer view.
1194
+ * Creates a query parameter object that can be used to fetch features that satisfy the layer's configurations such as
1195
+ * [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/#definitionExpression). It sets the query parameter's
1196
+ * [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
1197
1197
  *
1198
- * @returns The query object representing the layer's
1199
- * definition expression.
1198
+ * @returns The query parameter object representing the layer's definition expression and other configurations.
1200
1199
  * @since 4.3
1201
1200
  */
1202
1201
  createQuery(): Query;
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../Graphic.js";import n from"../PopupTemplate.js";import{ClonableMixin as r}from"../core/Clonable.js";import i from"../core/Collection.js";import a from"../core/Error.js";import{abortHandle as o}from"../core/handleUtils.js";import s from"../core/Logger.js";import{destroyMaybe as c}from"../core/maybe.js";import{MultiOriginJSONSupportMixin as l}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as u,throwIfAborted as d,isAbortError as f,throwIfNotAbortError as p}from"../core/promiseUtils.js";import{whenOnce as m}from"../core/reactiveUtils.js";import{property as h,subclass as g}from"../core/accessorSupport/decorators.js";import{getProperties as _}from"../core/accessorSupport/utils.js";import v from"../geometry/Point.js";import{projectAsync as y}from"../geometry/projectionUtils.js";import b from"../graphic/SceneGraphicOrigin.js";import x from"./Layer.js";import{NoModelError as ee,MultipleModelsError as S}from"./graphics/sources/support/uploadAssetErrors.js";import{APIKeyMixin as C}from"./mixins/APIKeyMixin.js";import{ArcGISService as w}from"./mixins/ArcGISService.js";import{CustomParametersMixin as te}from"./mixins/CustomParametersMixin.js";import{EditBusLayer as ne}from"./mixins/EditBusLayer.js";import{OperationalLayer as re}from"./mixins/OperationalLayer.js";import{PortalLayer as ie}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as ae}from"./mixins/ScaleRangeLayer.js";import{SceneService as oe}from"./mixins/SceneService.js";import{useViewTimeProperty as se}from"./mixins/TemporalLayer.js";import{isHostedAgolService as T}from"./support/arcgisLayerUrl.js";import{findAssociatedFeatureService as ce}from"./support/associatedFeatureServiceUtils.js";import{zeroCapabilities as le}from"./support/capabilities.js";import{elevationInfo as E,labelsVisible as D,legendEnabled as O,popupEnabled as k,attributeTableTemplate as A,screenSizePerspectiveEnabled as j,timeInfo as M}from"./support/commonProperties.js";import{getFieldDomain as N,computeEffectiveEditingEnabled as P,getGlobalIdToObjectIdMap as F}from"./support/featureLayerUtils.js";import I from"./support/FeatureReductionSelection.js";import{defineFieldProperties as L}from"./support/fieldProperties.js";import R from"./support/FieldsIndex.js";import{fixRendererFields as z,fixTimeInfoFields as B,unpackFieldNames as V}from"./support/fieldUtils.js";import{I3SNodePageDefinition as H,I3SMaterialDefinition as U,I3STextureSetDefinition as W,I3SGeometryDefinition as ue}from"./support/I3SLayerDefinitions.js";import{isFileEditFormat as de,isFileSupported as fe}from"./support/infoFor3D.js";import pe from"./support/LabelClass.js";import{reader as G}from"./support/labelingInfo.js";import me from"./support/LayerFloorInfo.js";import{layersLoaderMap as he}from"./support/layersLoader.js";import{getMeshTransformForMetersToSpatialReference as ge}from"./support/meshSpatialReferenceScaleUtils.js";import{RangeInfo as _e}from"./support/RangeInfo.js";import ve from"./support/SceneFilter.js";import{cacheIsOutOfSync as K}from"./support/sceneLayerCacheUtils.js";import{fetchStatistics as ye}from"./support/sceneLayerStatistics.js";import{SceneServiceTimeInfo as be}from"./support/SceneServiceTimeInfo.js";import xe from"./support/TimeInfo.js";import{loadStyleRenderer as Se}from"../renderers/support/styleUtils.js";import{webSceneRendererTypes as Ce}from"../renderers/support/typeUtils.js";import we from"../rest/support/Query.js";import{logInvalidElevationInfoWarning as q,elevationModeUnsupportedMessage as Te,featureExpressionUnsupportedMessage as Ee}from"../support/elevationInfoUtils.js";import{createPopupTemplate as De}from"../support/popupUtils.js";import{extractZipFiles as Oe}from"../support/zipUtils.js";import J from"../time/TimeExtent.js";import ke from"../time/TimeInterval.js";import{queryAttributesFromCachedAttributesId as Ae}from"../views/3d/layers/i3s/I3SUtil.js";import{getRequiredFields as je,getFetchPopupTemplate as Me}from"../views/layers/support/popupUtils.js";import{transparencyToOpacity as Ne}from"../webdoc/support/opacityUtils.js";import{reader as Y}from"../core/accessorSupport/decorators/reader.js";const X=new Set([`3DObject`,`Point`]),Z=L();let Q=class extends ne(oe(w(re(ie(ae(l(te(C(r(x)))))))))){constructor(...e){super(...e),this.featureReduction=null,this.rangeInfos=null,this.operationalLayerType=`ArcGISSceneServiceLayer`,this.type=`scene`,this.fields=null,this.graphicOrigin=new b(this),this.floorInfo=null,this.outFields=null,this.nodePages=null,this.materialDefinitions=null,this.textureSetDefinitions=null,this.geometryDefinitions=null,this.serviceUpdateTimeStamp=null,this.excludeObjectIds=new i,this.definitionExpression=null,this.filter=null,this.path=null,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.priority=null,this.semantic=null,this.cachedDrawingInfo={color:!1},this.popupEnabled=!0,this.popupTemplate=null,this.attributeTableTemplate=null,this.objectIdField=null,this.globalIdField=null,this._fieldUsageInfo={},this.screenSizePerspectiveEnabled=!0,this.serviceItemId=void 0,this.serviceTimeInfo=null}normalizeCtorArgs(e,t){return typeof e==`string`?{url:e,...t}:e}destroy(){this._set(`renderer`,null),this.associatedLayer=c(this.associatedLayer)}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e,t){let n=this.getField(e)?.domain??null;return this.associatedLayer?N(this.associatedLayer,e,t,n):n}getFeatureType(e){return e&&this.associatedLayer?this.associatedLayer.getFeatureType(e):null}get types(){return this.associatedLayer?.types??[]}get typeIdField(){return this.associatedLayer?.typeIdField??null}get templates(){return this.associatedLayer?.templates??null}get formTemplate(){return this.associatedLayer?.formTemplate??null}get fieldsIndex(){return new R(this.fields)}readNodePages(e,t,n){return t.layerType===`Point`&&(e=t.pointNodePages),typeof e!=`object`||!e?null:H.fromJSON(e,n)}set elevationInfo(e){this._set(`elevationInfo`,e),this.loaded&&this._validateElevationInfo()}get effectiveCapabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.effectiveCapabilities)}get effectiveEditingEnabled(){return this.associatedLayer!=null&&P(this.associatedLayer)}get geometryType(){return Pe[this.profile]||`mesh`}set renderer(e){z(e,this.fieldsIndex),this._set(`renderer`,e)}readCachedDrawingInfo(e){return(typeof e!=`object`||!e)&&(e={}),e.color??(e.color=!1),e}get capabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.capabilities)}_capabilitiesFromAssociatedFeatureLayer(e){e??=le;let{query:t,queryRelated:n,editing:{supportsGlobalId:r,supportsRollbackOnFailure:i,supportsUploadWithItemId:a,supportsGeometryUpdate:o,supportsReturnServiceEditsInSourceSpatialReference:s},data:{supportsZ:c,supportsM:l,isVersioned:u,supportsAttachment:d},operations:{supportsEditing:f,supportsAdd:p,supportsUpdate:m,supportsDelete:h,supportsQuery:g,supportsQueryAttachments:_,supportsAsyncConvert3D:v},attachment:y}=e,b=e.operations.supportsChangeTracking,x=!!this.associatedLayer?.infoFor3D;return{query:t,queryRelated:n,editing:{supportsGlobalId:r,supportsReturnServiceEditsInSourceSpatialReference:s,supportsRollbackOnFailure:i,supportsGeometryUpdate:x&&o,supportsUploadWithItemId:a},data:{supportsAttachment:d,supportsZ:c,supportsM:l,isVersioned:u,queryFormats:e.data.queryFormats,sourceFormats:e.data.sourceFormats},operations:{supportsQuery:g,supportsQueryAttachments:_,supportsEditing:f&&b,supportsAdd:x&&p&&b,supportsDelete:x&&h&&b,supportsUpdate:m&&b,supportsAsyncConvert3D:v},attachment:y}}get editingEnabled(){return this._isOverridden(`editingEnabled`)?this._get(`editingEnabled`):this.associatedLayer?.editingEnabled??!1}set editingEnabled(e){this._overrideIfSome(`editingEnabled`,e)}get infoFor3D(){return this.associatedLayer?.infoFor3D??null}get relationships(){return this.associatedLayer?.relationships}get defaultPopupTemplate(){return this.associatedLayer||this.attributeStorageInfo?this.createPopupTemplate():null}readObjectIdField(e,t){return!e&&t.fields&&t.fields.some(t=>(t.type===`esriFieldTypeOID`&&(e=t.name),!!e)),e||void 0}readGlobalIdField(e,t){return!e&&t.fields&&t.fields.some(t=>(t.type===`esriFieldTypeGlobalID`&&(e=t.name),!!e)),e||void 0}get displayField(){return this.associatedLayer?.displayField??null}readProfile(e,t){let n=t.store.profile;return n!=null&&$[n]?$[n]:(s.getLogger(this).error(`Unknown or missing profile`,{profile:n,layer:this}),`mesh-pyramids`)}get useViewTime(){return this.associatedLayer?.useViewTime??!0}set useViewTime(e){this._override(`useViewTime`,e)}get timeInfo(){let e=this.associatedLayer?.timeInfo;if(e==null)return null;let t=e.clone();return B(t,this.fieldsIndex),t}set timeInfo(e){B(e,this.fieldsIndex),this._override(`timeInfo`,e)}get timeExtent(){return this.associatedLayer?.timeExtent}set timeExtent(e){this._override(`timeExtent`,e)}get timeOffset(){return this.associatedLayer?.timeOffset}set timeOffset(e){this._override(`timeOffset`,e)}get datesInUnknownTimezone(){return this.associatedLayer?.datesInUnknownTimezone??!1}set datesInUnknownTimezone(e){this._override(`datesInUnknownTimezone`,e)}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}async _load(e){let t=e?.signal;await this.loadFromPortal({supportedTypes:[`Scene Service`]},e).catch(u),await this._fetchService(t),await Promise.all([this._fetchIndexAndUpdateExtent(this.nodePages,t),this._setAssociatedFeatureLayer(t),this._loadFilterGeometries()]),this._validateElevationInfo(),this._applyAssociatedLayerOverrides(),this._populateFieldUsageInfo(),await this.loadTimeInfoFromService(e),await Se(this,{origin:`service`},t),z(this.renderer,this.fieldsIndex),await this.finishLoadEditablePortalLayer(e)}async beforeSave(){this.filter!=null&&(this.filter=this.filter.clone(),await this.load())}async _loadFilterGeometries(){if(this.filter)try{await this.filter.loadGeometries(this.spatialReference)}catch(e){s.getLogger(this).error(`#_loadFilterGeometries()`,this,`Failed to load filter geometries. Geometry filter will not be applied for this layer.`,{error:e}),this.filter=null}}createQuery(){let e=new we;return this.geometryType===`mesh`?this.capabilities.query.supportsReturnMesh&&(e.returnGeometry=!0):(e.returnGeometry=!0,e.returnZ=!0),e.where=this.definitionExpression||`1=1`,e.sqlFormat=`standard`,e.outFields=[`*`],e}queryExtent(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryExtent(e||this.createQuery(),t))}queryFeatureCount(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryFeatureCount(e||this.createQuery(),t))}queryFeatures(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryFeatures(e||this.createQuery(),t)).then(e=>{if(e?.features)for(let t of e.features)t.layer=this,t.sourceLayer=this,t.origin=this.graphicOrigin;return e})}async queryModels(e,t){let[n,{queryModels:r}]=await Promise.all([this._getAssociatedLayerForQuery(),import(`./scene/modelQuerySupport.js`)]);return r(this,n,e,t)}async queryModel(e,t){let[n,{queryModel:r}]=await Promise.all([this._getAssociatedLayerForQuery(),import(`./scene/modelQuerySupport.js`)]);return r(this,n,e,t)}async queryRelatedFeatures(e,t){if(await this.load(),!this.associatedLayer)throw new a(`scenelayer:query-not-available`,`SceneLayer queries are not available without an associated feature layer`,{layer:this});return this.associatedLayer.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.associatedLayer)throw new a(`scenelayer:query-not-available`,`SceneLayer queries are not available without an associated feature layer`,{layer:this});return this.associatedLayer.queryRelatedFeaturesCount(e,t)}async queryCachedAttributes(e,t){let n=V(this.fieldsIndex,await je(this,Me(this)));return Ae(this.parsedUrl?.path??``,this.attributeStorageInfo??[],e,t,n,this.apiKey,this.customParameters)}async queryCachedFeature(e,n){let r=await this.queryCachedAttributes(e,[n]);if(!r||r.length===0)throw new a(`scenelayer:feature-not-in-cached-data`,`Feature not found in cached data`);let i=new t;return i.attributes=r[0],i.layer=this,i.sourceLayer=this,i.origin=this.graphicOrigin,i}queryObjectIds(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryObjectIds(e||this.createQuery(),t))}queryAttachments(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryAttachments(e,t))}getFieldUsageInfo(e){let t={supportsLabelingInfo:!1,supportsRenderer:!1,supportsPopupTemplate:!1,supportsLayerQuery:!1};return this.loaded?this._fieldUsageInfo[e]||t:(s.getLogger(this).error(`#getFieldUsageInfo()`,`Unavailable until layer is loaded`),t)}createPopupTemplate(e){return De(this,e)}_getAssociatedLayerForQuery(){let e=this.associatedLayer;return e?.loaded?Promise.resolve(e):this._loadAssociatedLayerForQuery()}async _loadAssociatedLayerForQuery(){if(await this.load(),!this.associatedLayer)throw new a(`scenelayer:query-not-available`,`SceneLayer queries are not available without an associated feature layer`,{layer:this});try{await this.associatedLayer.load()}catch(e){throw new a(`scenelayer:query-not-available`,`SceneLayer associated feature layer could not be loaded`,{layer:this,error:e})}return this.associatedLayer}hasCachedStatistics(e){return this.statisticsInfo!=null&&this.statisticsInfo.some(t=>t.name===e)}async queryCachedStatistics(e,t){return await this.load(t),await this.fetchStatistics(e,t)}async saveAs(e,t){return this._debouncedSaveOperations(1,{...t,getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:`scene`},e)}async save(){return this._debouncedSaveOperations(0,{getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:`scene`})}async applyEdits(e,t){let{applyEdits:n}=await import(`./graphics/editingSupport.js`),r=t;await this.load();let i=this.associatedLayer;if(!i)throw new a(`${this.type}-layer:not-editable`,`Service is not editable`);await i.load();let{globalIdField:o}=i,s=!!i.infoFor3D,c=r?.globalIdUsed??!0;if(s&&o==null)throw new a(`${this.type}-layer:not-editable`,`Valid globalIdField expected on editable SceneLayer`);if(s&&!c)throw new a(`${this.type}-layer:globalid-required`,`globalIdUsed must not be false for SceneLayer editing as globalIds are required.`);return T(i.url)&&s&&e.deleteFeatures!=null&&o!=null&&(r={...r,globalIdToObjectId:await F(i,e.deleteFeatures,o)}),n(this,i.source,e,r)}async uploadAssets(e,t){if(await this.load(),this.associatedLayer==null)throw new a(`${this.type}-layer:not-editable`,`Service is not editable`);return await this.associatedLayer.load(),this.associatedLayer.uploadAssets(e,t)}async convertMesh(e,t){t??={};let n=e=>{throw s.getLogger(this).error(`.convertMesh()`,e.message),e};await this.load(t),this.infoFor3D||n(new a(`invalid:layer`,`SceneLayer has no capability for mesh conversion`));let r=await this.extractAndFilterFiles(e);d(t);let i=r.reduce((e,t)=>de(this.infoFor3D,t)?e+1:e,0);i===0&&n(new ee),i>1&&n(new S);let o=this.spatialReference,c=t.origin,l=await y(c??t.defaultOrigin??new v({x:0,y:0,z:0,spatialReference:o}),o,t),u=o.isGeographic?`local`:`georeferenced`,{createWithExternalSource:f}=await import(`../geometry/support/meshUtils.js`);d(t);let p=f(l,{type:`client`,files:r},{vertexSpace:u,transform:ge(o),unitConversionDisabled:!0}),[m]=await this.uploadAssets([p],{...t,useAssetOrigin:!c});return m}async extractAndFilterFiles(e){await this.load();let t=this.infoFor3D;return t?(await Oe(e)).filter(e=>fe(t,e)):e}validateLayer(e){if(e.layerType&&!X.has(e.layerType))throw new a(`scenelayer:layer-type-not-supported`,`SceneLayer does not support this layer type`,{layerType:e.layerType});if(isNaN(this.version.major)||isNaN(this.version.minor))throw new a(`layer:service-version-not-supported`,`Service version is not supported.`,{serviceVersion:this.version.versionString,supportedVersions:`1.x, 2.x`});if(this.version.major>2)throw new a(`layer:service-version-too-new`,`Service version is too new.`,{serviceVersion:this.version.versionString,supportedVersions:`1.x, 2.x`});t(this.normalReferenceFrame,this.spatialReference);function t(e,t){let n=!1,r=!1;if(e==null)n=!0,r=!0;else{let i=t&&t.isGeographic;switch(e){case`east-north-up`:case`earth-centered`:n=!0,r=i;break;case`vertex-reference-frame`:n=!0,r=!i;break;default:n=!1}}if(!n)throw new a(`scenelayer:unsupported-normal-reference-frame`,`Normal reference frame is invalid.`);if(!r)throw new a(`scenelayer:incompatible-normal-reference-frame`,`Normal reference frame is incompatible with layer spatial reference.`)}}get isUsedAsGroundLayer(){return!1}_getTypeKeywords(){let e=[];if(this.profile===`points`)e.push(`Point`);else if(this.profile===`mesh-pyramids`)e.push(`3DObject`);else throw new a(`scenelayer:unknown-profile`,`SceneLayer:save() encountered an unknown SceneLayer profile: `+this.profile);return e}_populateFieldUsageInfo(){if(this._fieldUsageInfo={},this.fields)for(let e of this.fields){let t=!!this.attributeStorageInfo?.some(t=>t.name===e.name),n=!!this.associatedLayer?.fields?.some(t=>t&&e.name===t.name),r={supportsLabelingInfo:t,supportsRenderer:t,supportsPopupTemplate:t||n,supportsLayerQuery:n};this._fieldUsageInfo[e.name]=r}}_applyAssociatedLayerOverrides(){this._applyAssociatedLayerFieldsOverrides(),this._applyAssociatedLayerPropertyOverrides(),this._applyAssociatedLayerExtentOverride(),this._applyAssociatedLayerPrivileges()}_applyAssociatedLayerFieldsOverrides(){if(!this.associatedLayer?.fields)return;let e=null;for(let t of this.associatedLayer.fields){let n=this.getField(t.name);n?(!n.domain&&t.domain&&(n.domain=t.domain.clone()),n.editable=t.editable,n.nullable=t.nullable,n.length=t.length):(e||=this.fields?this.fields.slice():[],e.push(t.clone()))}e&&this._set(`fields`,e)}_applyAssociatedLayerPropertyOverrides(){if(!this.associatedLayer)return;let e=[`popupTemplate`,`popupEnabled`,`attributeTableTemplate`],t=_(this);for(let n=0;n<e.length;n++){let r=e[n],i=this.originIdOf(r),a=this.associatedLayer.originIdOf(r);i<a&&(a===2||a===3)&&t.setAtOrigin(r,this.associatedLayer[r],a)}}_applyAssociatedLayerExtentOverride(){let e=this.associatedLayer?.getAtOrigin(`fullExtent`,`service`);this.associatedLayer?.infoFor3D!=null&&e&&T(this.associatedLayer?.url)&&K(this)&&_(this).setAtOrigin(`fullExtent`,e.clone(),2)}_applyAssociatedLayerPrivileges(){let e=this.associatedLayer;e&&(this._set(`userHasEditingPrivileges`,e.userHasEditingPrivileges),this._set(`userHasFullEditingPrivileges`,e.userHasFullEditingPrivileges),this._set(`userHasUpdateItemPrivileges`,e.userHasUpdateItemPrivileges))}async _setAssociatedFeatureLayer(e){if([`mesh-pyramids`,`points`].includes(this.profile))try{let{serverUrl:t,layerId:n,portalItem:r}=await ce(`${this.url}/layers/${this.layerId}`,{sceneLayerItem:this.portalItem,customParameters:this.customParameters,apiKey:this.apiKey,signal:e}),i=await he.FeatureLayer();this.associatedLayer=new i({url:t,customParameters:this.customParameters,apiKey:this.apiKey,layerId:n,portalItem:r}),await this.associatedLayer.load()}catch(e){f(e)||this._logWarningOnPopupEnabled().catch(()=>{})}}async _logWarningOnPopupEnabled(){let e=new AbortController;this.addHandles(o(e));try{await m(()=>this.popupEnabled&&this.popupTemplate!=null,e.signal)}catch(e){p(e);return}let t=`this SceneLayer: ${this.title}`;this.attributeStorageInfo==null?s.getLogger(this).warn(`Associated FeatureLayer could not be loaded and no binary attributes found. Popups will not work on ${t}`):s.getLogger(this).info(`Associated FeatureLayer could not be loaded. Falling back to binary attributes for Popups on ${t}`)}_validateElevationInfo(){let e=this.elevationInfo;this.profile===`mesh-pyramids`&&q(s.getLogger(this),Te(`Mesh scene layers`,`relative-to-scene`,e)),q(s.getLogger(this),Ee(`Scene layers`,e))}async fetchStatistics(e,t){return await ye({fieldName:e,statisticsInfo:this.statisticsInfo,errorContext:`scenelayer`,fieldsIndex:this.fieldsIndex,path:this.parsedUrl?.path??``,customParameters:this.customParameters,apiKey:this.apiKey,signal:t?.signal})}async loadTimeInfoFromService(e){let{serviceTimeInfo:t}=this;if(t==null)return;let{startTimeField:n,endTimeField:r}=t;if(n==null&&r==null||K({associatedLayer:this.associatedLayer,serviceUpdateTimeStamp:this.serviceUpdateTimeStamp}))return;let i=async t=>{let r=null;try{r=(await this.fetchStatistics(t,e))?.stats}catch{}if(r==null)return null;let{minTimeStr:i,min:a,maxTimeStr:o,max:s}=r,c=t===n?i??a:o??s;return c==null?null:new Date(c)},[a,o]=await Promise.all([i(n),i(r)]);if(n!=null&&a==null||r!=null&&o==null)return;let s=new J({start:a,end:o});this.setAtOrigin(`timeInfo`,new xe({endField:r,startField:n,fullTimeExtent:s}),`service`)}};e([h({types:{key:`type`,base:null,typeMap:{selection:I}},json:{origins:{"web-scene":{name:`layerDefinition.featureReduction`,write:{allowNull:!0}},"portal-item":{name:`layerDefinition.featureReduction`,write:{allowNull:!0}}}}})],Q.prototype,`featureReduction`,void 0),e([h({type:[_e],json:{read:!1,origins:{"web-scene":{name:`layerDefinition.rangeInfos`,write:!0},"portal-item":{name:`layerDefinition.rangeInfos`,write:!0}}},clonable:!1})],Q.prototype,`rangeInfos`,void 0),e([h({json:{read:!1}})],Q.prototype,`associatedLayer`,void 0),e([h({type:[`show`,`hide`]})],Q.prototype,`listMode`,void 0),e([h({type:[`ArcGISSceneServiceLayer`]})],Q.prototype,`operationalLayerType`,void 0),e([h({json:{read:!1},readOnly:!0})],Q.prototype,`type`,void 0),e([h({...Z.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`fields`,void 0),e([h()],Q.prototype,`types`,null),e([h()],Q.prototype,`typeIdField`,null),e([h()],Q.prototype,`templates`,null),e([h()],Q.prototype,`formTemplate`,null),e([h({readOnly:!0})],Q.prototype,`graphicOrigin`,void 0),e([h({readOnly:!0,clonable:!1})],Q.prototype,`fieldsIndex`,null),e([h({type:me,json:{read:{source:`layerDefinition.floorInfo`},write:{target:`layerDefinition.floorInfo`}}})],Q.prototype,`floorInfo`,void 0),e([h(Z.outFields)],Q.prototype,`outFields`,void 0),e([h({type:H,readOnly:!0,json:{read:!1},clonable:!1})],Q.prototype,`nodePages`,void 0),e([Y(`service`,`nodePages`,[`nodePages`,`pointNodePages`])],Q.prototype,`readNodePages`,null),e([h({type:[U],readOnly:!0,clonable:!1})],Q.prototype,`materialDefinitions`,void 0),e([h({type:[W],readOnly:!0,clonable:!1})],Q.prototype,`textureSetDefinitions`,void 0),e([h({type:[ue],readOnly:!0,clonable:!1})],Q.prototype,`geometryDefinitions`,void 0),e([h({readOnly:!0})],Q.prototype,`serviceUpdateTimeStamp`,void 0),e([h({readOnly:!0})],Q.prototype,`attributeStorageInfo`,void 0),e([h({readOnly:!0})],Q.prototype,`statisticsInfo`,void 0),e([h({type:i.ofType(Number),nonNullable:!0,json:{origins:{service:{read:!1,write:!1}},name:`layerDefinition.excludeObjectIds`,write:{enabled:!0}}})],Q.prototype,`excludeObjectIds`,void 0),e([h({type:String,json:{origins:{service:{read:!1,write:!1}},name:`layerDefinition.definitionExpression`,write:{enabled:!0,allowNull:!0}}})],Q.prototype,`definitionExpression`,void 0),e([h({type:ve,json:{name:`layerDefinition.polygonFilter`,write:{enabled:!0,allowNull:!0},origins:{service:{read:!1,write:!1}}}})],Q.prototype,`filter`,void 0),e([h({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],Q.prototype,`path`,void 0),e([h(E)],Q.prototype,`elevationInfo`,null),e([h({readOnly:!0,json:{read:!1}})],Q.prototype,`effectiveCapabilities`,null),e([h({readOnly:!0})],Q.prototype,`effectiveEditingEnabled`,null),e([h({type:String})],Q.prototype,`geometryType`,null),e([h(D)],Q.prototype,`labelsVisible`,void 0),e([h({type:[pe],json:{origins:{service:{name:`drawingInfo.labelingInfo`,read:{reader:G},write:!1}},name:`layerDefinition.drawingInfo.labelingInfo`,read:{reader:G},write:!0}})],Q.prototype,`labelingInfo`,void 0),e([h(O)],Q.prototype,`legendEnabled`,void 0),e([h({type:Number,json:{origins:{"web-document":{default:1,write:{enabled:!0,target:{opacity:{type:Number},"layerDefinition.drawingInfo.transparency":{type:Number}}},read:{source:[`opacity`,`layerDefinition.drawingInfo.transparency`],reader(e,t){if(typeof e==`number`&&e>=0&&e<=1)return e;let n=t.layerDefinition?.drawingInfo?.transparency;return n===void 0?void 0:Ne(n)}}},"portal-item":{write:!0},service:{read:!1}}}})],Q.prototype,`opacity`,void 0),e([h({type:[`Low`,`High`],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`priority`,void 0),e([h({type:[`Labels`],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`semantic`,void 0),e([h({types:Ce,json:{origins:{service:{read:{source:`drawingInfo.renderer`}}},name:`layerDefinition.drawingInfo.renderer`,write:!0},value:null})],Q.prototype,`renderer`,null),e([h({json:{read:!1}})],Q.prototype,`cachedDrawingInfo`,void 0),e([Y(`service`,`cachedDrawingInfo`)],Q.prototype,`readCachedDrawingInfo`,null),e([h({readOnly:!0,json:{read:!1}})],Q.prototype,`capabilities`,null),e([h({type:Boolean,json:{read:!1}})],Q.prototype,`editingEnabled`,null),e([h({readOnly:!0,json:{write:!1,read:!1}})],Q.prototype,`infoFor3D`,null),e([h({readOnly:!0,json:{write:!1,read:!1}})],Q.prototype,`relationships`,null),e([h(k)],Q.prototype,`popupEnabled`,void 0),e([h({type:n,json:{name:`popupInfo`,write:!0}})],Q.prototype,`popupTemplate`,void 0),e([h({readOnly:!0,json:{read:!1}})],Q.prototype,`defaultPopupTemplate`,null),e([h(A)],Q.prototype,`attributeTableTemplate`,void 0),e([h({type:String,json:{read:!1}})],Q.prototype,`objectIdField`,void 0),e([Y(`service`,`objectIdField`,[`objectIdField`,`fields`])],Q.prototype,`readObjectIdField`,null),e([h({type:String,json:{read:!1}})],Q.prototype,`globalIdField`,void 0),e([Y(`service`,`globalIdField`,[`globalIdField`,`fields`])],Q.prototype,`readGlobalIdField`,null),e([h({readOnly:!0,type:String,json:{read:!1}})],Q.prototype,`displayField`,null),e([h({type:String,json:{read:!1}})],Q.prototype,`profile`,void 0),e([Y(`service`,`profile`,[`store.profile`])],Q.prototype,`readProfile`,null),e([h({readOnly:!0,type:String,json:{origins:{service:{read:{source:`store.normalReferenceFrame`}}},read:!1}})],Q.prototype,`normalReferenceFrame`,void 0),e([h(j)],Q.prototype,`screenSizePerspectiveEnabled`,void 0),e([h({json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`serviceItemId`,void 0),e([h(se)],Q.prototype,`useViewTime`,null),e([h(M({disableServiceOrigin:!0,webDocumentOrigin:`web-scene`}))],Q.prototype,`timeInfo`,null),e([h({type:J,json:{read:!1,write:!1}})],Q.prototype,`timeExtent`,null),e([h({type:ke,json:{read:!1,write:!1}})],Q.prototype,`timeOffset`,null),e([h({type:Boolean,nonNullable:!0,json:{read:!1,write:!1}})],Q.prototype,`datesInUnknownTimezone`,null),e([h({type:be,readOnly:!0,json:{read:{source:`timeInfo`}},clonable:!1})],Q.prototype,`serviceTimeInfo`,void 0),e([h()],Q.prototype,`isUsedAsGroundLayer`,null),Q=e([g(`esri.layers.SceneLayer`)],Q);const $={"mesh-pyramids":`mesh-pyramids`,meshpyramids:`mesh-pyramids`,"features-meshes":`mesh-pyramids`,points:`points`,"features-points":`points`,lines:`lines`,"features-lines":`lines`,polygons:`polygons`,"features-polygons":`polygons`},Pe={"mesh-pyramids":`mesh`,points:`point`},Fe=Q;export{Fe as default};
2
+ import{__decorate as e}from"tslib";import t from"../Graphic.js";import n from"../PopupTemplate.js";import{ClonableMixin as r}from"../core/Clonable.js";import i from"../core/Collection.js";import a from"../core/Error.js";import{abortHandle as o}from"../core/handleUtils.js";import s from"../core/Logger.js";import{destroyMaybe as c}from"../core/maybe.js";import{MultiOriginJSONSupportMixin as l}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as u,throwIfAborted as d,isAbortError as f,throwIfNotAbortError as p}from"../core/promiseUtils.js";import{whenOnce as m}from"../core/reactiveUtils.js";import{property as h,subclass as g}from"../core/accessorSupport/decorators.js";import{getProperties as _}from"../core/accessorSupport/utils.js";import v from"../geometry/Point.js";import{projectAsync as y}from"../geometry/projectionUtils.js";import b from"../graphic/SceneGraphicOrigin.js";import x from"./Layer.js";import{NoModelError as ee,MultipleModelsError as S}from"./graphics/sources/support/uploadAssetErrors.js";import{APIKeyMixin as C}from"./mixins/APIKeyMixin.js";import{ArcGISService as w}from"./mixins/ArcGISService.js";import{CustomParametersMixin as te}from"./mixins/CustomParametersMixin.js";import{EditBusLayer as ne}from"./mixins/EditBusLayer.js";import{OperationalLayer as re}from"./mixins/OperationalLayer.js";import{PortalLayer as ie}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as ae}from"./mixins/ScaleRangeLayer.js";import{SceneService as oe}from"./mixins/SceneService.js";import{useViewTimeProperty as se}from"./mixins/TemporalLayer.js";import{isHostedAgolService as T}from"./support/arcgisLayerUrl.js";import{findAssociatedFeatureService as ce}from"./support/associatedFeatureServiceUtils.js";import{zeroCapabilities as le}from"./support/capabilities.js";import{elevationInfo as E,labelsVisible as D,legendEnabled as O,popupEnabled as k,attributeTableTemplate as A,screenSizePerspectiveEnabled as j,timeInfo as M}from"./support/commonProperties.js";import{getFieldDomain as N,computeEffectiveEditingEnabled as P,getGlobalIdToObjectIdMap as F}from"./support/featureLayerUtils.js";import I from"./support/FeatureReductionSelection.js";import{defineFieldProperties as L}from"./support/fieldProperties.js";import R from"./support/FieldsIndex.js";import{fixRendererFields as z,fixTimeInfoFields as B,unpackFieldNames as V}from"./support/fieldUtils.js";import{I3SNodePageDefinition as H,I3SMaterialDefinition as U,I3STextureSetDefinition as W,I3SGeometryDefinition as ue}from"./support/I3SLayerDefinitions.js";import{isFileEditFormat as de,isFileSupported as fe}from"./support/infoFor3D.js";import pe from"./support/LabelClass.js";import{reader as G}from"./support/labelingInfo.js";import me from"./support/LayerFloorInfo.js";import{layersLoaderMap as he}from"./support/layersLoader.js";import{getMeshTransformForMetersToSpatialReference as ge}from"./support/meshSpatialReferenceScaleUtils.js";import{RangeInfo as _e}from"./support/RangeInfo.js";import ve from"./support/SceneFilter.js";import{cacheIsOutOfSync as K}from"./support/sceneLayerCacheUtils.js";import{fetchStatistics as ye}from"./support/sceneLayerStatistics.js";import{SceneServiceTimeInfo as be}from"./support/SceneServiceTimeInfo.js";import xe from"./support/TimeInfo.js";import{loadStyleRenderer as Se}from"../renderers/support/styleUtils.js";import{webSceneRendererTypes as Ce}from"../renderers/support/typeUtils.js";import we from"../rest/support/Query.js";import{logInvalidElevationInfoWarning as q,elevationModeUnsupportedMessage as Te,featureExpressionUnsupportedMessage as Ee}from"../support/elevationInfoUtils.js";import{createPopupTemplate as De}from"../support/popupUtils.js";import{extractZipFiles as Oe}from"../support/zipUtils.js";import J from"../time/TimeExtent.js";import ke from"../time/TimeInterval.js";import{queryAttributesFromCachedAttributesId as Ae}from"../views/3d/layers/i3s/I3SUtil.js";import{getRequiredFields as je,getFetchPopupTemplate as Me}from"../views/layers/support/popupUtils.js";import{transparencyToOpacity as Ne}from"../webdoc/support/opacityUtils.js";import{reader as Y}from"../core/accessorSupport/decorators/reader.js";const X=new Set([`3DObject`,`Point`]),Z=L();let Q=class extends ne(oe(w(re(ie(ae(l(te(C(r(x)))))))))){constructor(...e){super(...e),this.featureReduction=null,this.rangeInfos=null,this.operationalLayerType=`ArcGISSceneServiceLayer`,this.type=`scene`,this.fields=null,this.graphicOrigin=new b(this),this.floorInfo=null,this.outFields=null,this.nodePages=null,this.materialDefinitions=null,this.textureSetDefinitions=null,this.geometryDefinitions=null,this.serviceUpdateTimeStamp=null,this.excludeObjectIds=new i,this.definitionExpression=null,this.filter=null,this.path=null,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.priority=null,this.semantic=null,this.cachedDrawingInfo={color:!1},this.popupEnabled=!0,this.popupTemplate=null,this.attributeTableTemplate=null,this.objectIdField=null,this.globalIdField=null,this._fieldUsageInfo={},this.screenSizePerspectiveEnabled=!0,this.serviceItemId=void 0,this.serviceTimeInfo=null}normalizeCtorArgs(e,t){return typeof e==`string`?{url:e,...t}:e}destroy(){this._set(`renderer`,null),this.associatedLayer=c(this.associatedLayer)}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e,t){let n=this.getField(e)?.domain??null;return this.associatedLayer?N(this.associatedLayer,e,t,n):n}getFeatureType(e){return e&&this.associatedLayer?this.associatedLayer.getFeatureType(e):null}get types(){return this.associatedLayer?.types??[]}get typeIdField(){return this.associatedLayer?.typeIdField??null}get templates(){return this.associatedLayer?.templates??null}get formTemplate(){return this.associatedLayer?.formTemplate??null}get fieldsIndex(){return new R(this.fields)}readNodePages(e,t,n){return t.layerType===`Point`&&(e=t.pointNodePages),typeof e!=`object`||!e?null:H.fromJSON(e,n)}set elevationInfo(e){this._set(`elevationInfo`,e),this.loaded&&this._validateElevationInfo()}get effectiveCapabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.effectiveCapabilities)}get effectiveEditingEnabled(){return this.associatedLayer!=null&&P(this.associatedLayer)}get geometryType(){return Pe[this.profile]||`mesh`}set renderer(e){z(e,this.fieldsIndex),this._set(`renderer`,e)}readCachedDrawingInfo(e){return(typeof e!=`object`||!e)&&(e={}),e.color??(e.color=!1),e}get capabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.capabilities)}_capabilitiesFromAssociatedFeatureLayer(e){e??=le;let{query:t,queryRelated:n,editing:{supportsGlobalId:r,supportsRollbackOnFailure:i,supportsUploadWithItemId:a,supportsGeometryUpdate:o,supportsReturnServiceEditsInSourceSpatialReference:s},data:{supportsZ:c,supportsM:l,isVersioned:u,supportsAttachment:d},operations:{supportsEditing:f,supportsAdd:p,supportsUpdate:m,supportsDelete:h,supportsQuery:g,supportsQueryAttachments:_,supportsAsyncConvert3D:v},attachment:y}=e,b=e.operations.supportsChangeTracking,x=!!this.associatedLayer?.infoFor3D;return{query:t,queryRelated:n,editing:{supportsGlobalId:r,supportsReturnServiceEditsInSourceSpatialReference:s,supportsRollbackOnFailure:i,supportsGeometryUpdate:x&&o,supportsUploadWithItemId:a},data:{supportsAttachment:d,supportsZ:c,supportsM:l,isVersioned:u,queryFormats:e.data.queryFormats,sourceFormats:e.data.sourceFormats},operations:{supportsQuery:g,supportsQueryAttachments:_,supportsEditing:f&&b,supportsAdd:x&&p&&b,supportsDelete:x&&h&&b,supportsUpdate:m&&b,supportsAsyncConvert3D:v},attachment:y}}get editingEnabled(){return this._isOverridden(`editingEnabled`)?this._get(`editingEnabled`):this.associatedLayer?.editingEnabled??!1}set editingEnabled(e){this._overrideIfSome(`editingEnabled`,e)}get infoFor3D(){return this.associatedLayer?.infoFor3D??null}get relationships(){return this.associatedLayer?.relationships}get defaultPopupTemplate(){return this.associatedLayer||this.attributeStorageInfo?this.createPopupTemplate():null}readObjectIdField(e,t){return!e&&t.fields&&t.fields.some(t=>(t.type===`esriFieldTypeOID`&&(e=t.name),!!e)),e||void 0}readGlobalIdField(e,t){return!e&&t.fields&&t.fields.some(t=>(t.type===`esriFieldTypeGlobalID`&&(e=t.name),!!e)),e||void 0}get displayField(){return this.associatedLayer?.displayField??null}readProfile(e,t){let n=t.store.profile;return n!=null&&$[n]?$[n]:(s.getLogger(this).error(`Unknown or missing profile`,{profile:n,layer:this}),`mesh-pyramids`)}get useViewTime(){return this.associatedLayer?.useViewTime??!0}set useViewTime(e){this._override(`useViewTime`,e)}get timeInfo(){let e=this.associatedLayer?.timeInfo;if(e==null)return null;let t=e.clone();return B(t,this.fieldsIndex),t}set timeInfo(e){B(e,this.fieldsIndex),this._override(`timeInfo`,e)}get timeExtent(){return this.associatedLayer?.timeExtent}set timeExtent(e){this._override(`timeExtent`,e)}get timeOffset(){return this.associatedLayer?.timeOffset}set timeOffset(e){this._override(`timeOffset`,e)}get datesInUnknownTimezone(){return this.associatedLayer?.datesInUnknownTimezone??!1}set datesInUnknownTimezone(e){this._override(`datesInUnknownTimezone`,e)}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}async _load(e){let t=e?.signal;await this.loadFromPortal({supportedTypes:[`Scene Service`]},e).catch(u),await this._fetchService(t),await Promise.all([this._fetchIndexAndUpdateExtent(this.nodePages,t),this._setAssociatedFeatureLayer(t),this._loadFilterGeometries()]),this._validateElevationInfo(),this._applyAssociatedLayerOverrides(),this._populateFieldUsageInfo(),await this.loadTimeInfoFromService(e),await Se(this,{origin:`service`},t),z(this.renderer,this.fieldsIndex),await this.finishLoadEditablePortalLayer(e)}async beforeSave(){this.filter!=null&&(this.filter=this.filter.clone(),await this.load())}async _loadFilterGeometries(){if(this.filter)try{await this.filter.loadGeometries(this.spatialReference)}catch(e){s.getLogger(this).error(`#_loadFilterGeometries()`,this,`Failed to load filter geometries. Geometry filter will not be applied for this layer.`,{error:e}),this.filter=null}}createQuery(){let e=new we;this.geometryType===`mesh`?this.capabilities.query.supportsReturnMesh&&(e.returnGeometry=!0):(e.returnGeometry=!0,e.returnZ=!0);let{timeOffset:t,timeExtent:n}=this;return e.timeExtent=t!=null&&n!=null?n.offset(-t.value,t.unit):n||null,e.where=this.definitionExpression||`1=1`,e.sqlFormat=`standard`,e.outFields=[`*`],e}queryExtent(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryExtent(e||this.createQuery(),t))}queryFeatureCount(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryFeatureCount(e||this.createQuery(),t))}queryFeatures(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryFeatures(e||this.createQuery(),t)).then(e=>{if(e?.features)for(let t of e.features)t.layer=this,t.sourceLayer=this,t.origin=this.graphicOrigin;return e})}async queryModels(e,t){let[n,{queryModels:r}]=await Promise.all([this._getAssociatedLayerForQuery(),import(`./scene/modelQuerySupport.js`)]);return r(this,n,e,t)}async queryModel(e,t){let[n,{queryModel:r}]=await Promise.all([this._getAssociatedLayerForQuery(),import(`./scene/modelQuerySupport.js`)]);return r(this,n,e,t)}async queryRelatedFeatures(e,t){if(await this.load(),!this.associatedLayer)throw new a(`scenelayer:query-not-available`,`SceneLayer queries are not available without an associated feature layer`,{layer:this});return this.associatedLayer.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.associatedLayer)throw new a(`scenelayer:query-not-available`,`SceneLayer queries are not available without an associated feature layer`,{layer:this});return this.associatedLayer.queryRelatedFeaturesCount(e,t)}async queryCachedAttributes(e,t){let n=V(this.fieldsIndex,await je(this,Me(this)));return Ae(this.parsedUrl?.path??``,this.attributeStorageInfo??[],e,t,n,this.apiKey,this.customParameters)}async queryCachedFeature(e,n){let r=await this.queryCachedAttributes(e,[n]);if(!r||r.length===0)throw new a(`scenelayer:feature-not-in-cached-data`,`Feature not found in cached data`);let i=new t;return i.attributes=r[0],i.layer=this,i.sourceLayer=this,i.origin=this.graphicOrigin,i}queryObjectIds(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryObjectIds(e||this.createQuery(),t))}queryAttachments(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryAttachments(e,t))}getFieldUsageInfo(e){let t={supportsLabelingInfo:!1,supportsRenderer:!1,supportsPopupTemplate:!1,supportsLayerQuery:!1};return this.loaded?this._fieldUsageInfo[e]||t:(s.getLogger(this).error(`#getFieldUsageInfo()`,`Unavailable until layer is loaded`),t)}createPopupTemplate(e){return De(this,e)}_getAssociatedLayerForQuery(){let e=this.associatedLayer;return e?.loaded?Promise.resolve(e):this._loadAssociatedLayerForQuery()}async _loadAssociatedLayerForQuery(){if(await this.load(),!this.associatedLayer)throw new a(`scenelayer:query-not-available`,`SceneLayer queries are not available without an associated feature layer`,{layer:this});try{await this.associatedLayer.load()}catch(e){throw new a(`scenelayer:query-not-available`,`SceneLayer associated feature layer could not be loaded`,{layer:this,error:e})}return this.associatedLayer}hasCachedStatistics(e){return this.statisticsInfo!=null&&this.statisticsInfo.some(t=>t.name===e)}async queryCachedStatistics(e,t){return await this.load(t),await this.fetchStatistics(e,t)}async saveAs(e,t){return this._debouncedSaveOperations(1,{...t,getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:`scene`},e)}async save(){return this._debouncedSaveOperations(0,{getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:`scene`})}async applyEdits(e,t){let{applyEdits:n}=await import(`./graphics/editingSupport.js`),r=t;await this.load();let i=this.associatedLayer;if(!i)throw new a(`${this.type}-layer:not-editable`,`Service is not editable`);await i.load();let{globalIdField:o}=i,s=!!i.infoFor3D,c=r?.globalIdUsed??!0;if(s&&o==null)throw new a(`${this.type}-layer:not-editable`,`Valid globalIdField expected on editable SceneLayer`);if(s&&!c)throw new a(`${this.type}-layer:globalid-required`,`globalIdUsed must not be false for SceneLayer editing as globalIds are required.`);return T(i.url)&&s&&e.deleteFeatures!=null&&o!=null&&(r={...r,globalIdToObjectId:await F(i,e.deleteFeatures,o)}),n(this,i.source,e,r)}async uploadAssets(e,t){if(await this.load(),this.associatedLayer==null)throw new a(`${this.type}-layer:not-editable`,`Service is not editable`);return await this.associatedLayer.load(),this.associatedLayer.uploadAssets(e,t)}async convertMesh(e,t){t??={};let n=e=>{throw s.getLogger(this).error(`.convertMesh()`,e.message),e};await this.load(t),this.infoFor3D||n(new a(`invalid:layer`,`SceneLayer has no capability for mesh conversion`));let r=await this.extractAndFilterFiles(e);d(t);let i=r.reduce((e,t)=>de(this.infoFor3D,t)?e+1:e,0);i===0&&n(new ee),i>1&&n(new S);let o=this.spatialReference,c=t.origin,l=await y(c??t.defaultOrigin??new v({x:0,y:0,z:0,spatialReference:o}),o,t),u=o.isGeographic?`local`:`georeferenced`,{createWithExternalSource:f}=await import(`../geometry/support/meshUtils.js`);d(t);let p=f(l,{type:`client`,files:r},{vertexSpace:u,transform:ge(o),unitConversionDisabled:!0}),[m]=await this.uploadAssets([p],{...t,useAssetOrigin:!c});return m}async extractAndFilterFiles(e){await this.load();let t=this.infoFor3D;return t?(await Oe(e)).filter(e=>fe(t,e)):e}validateLayer(e){if(e.layerType&&!X.has(e.layerType))throw new a(`scenelayer:layer-type-not-supported`,`SceneLayer does not support this layer type`,{layerType:e.layerType});if(isNaN(this.version.major)||isNaN(this.version.minor))throw new a(`layer:service-version-not-supported`,`Service version is not supported.`,{serviceVersion:this.version.versionString,supportedVersions:`1.x, 2.x`});if(this.version.major>2)throw new a(`layer:service-version-too-new`,`Service version is too new.`,{serviceVersion:this.version.versionString,supportedVersions:`1.x, 2.x`});t(this.normalReferenceFrame,this.spatialReference);function t(e,t){let n=!1,r=!1;if(e==null)n=!0,r=!0;else{let i=t&&t.isGeographic;switch(e){case`east-north-up`:case`earth-centered`:n=!0,r=i;break;case`vertex-reference-frame`:n=!0,r=!i;break;default:n=!1}}if(!n)throw new a(`scenelayer:unsupported-normal-reference-frame`,`Normal reference frame is invalid.`);if(!r)throw new a(`scenelayer:incompatible-normal-reference-frame`,`Normal reference frame is incompatible with layer spatial reference.`)}}get isUsedAsGroundLayer(){return!1}_getTypeKeywords(){let e=[];if(this.profile===`points`)e.push(`Point`);else if(this.profile===`mesh-pyramids`)e.push(`3DObject`);else throw new a(`scenelayer:unknown-profile`,`SceneLayer:save() encountered an unknown SceneLayer profile: `+this.profile);return e}_populateFieldUsageInfo(){if(this._fieldUsageInfo={},this.fields)for(let e of this.fields){let t=!!this.attributeStorageInfo?.some(t=>t.name===e.name),n=!!this.associatedLayer?.fields?.some(t=>t&&e.name===t.name),r={supportsLabelingInfo:t,supportsRenderer:t,supportsPopupTemplate:t||n,supportsLayerQuery:n};this._fieldUsageInfo[e.name]=r}}_applyAssociatedLayerOverrides(){this._applyAssociatedLayerFieldsOverrides(),this._applyAssociatedLayerPropertyOverrides(),this._applyAssociatedLayerExtentOverride(),this._applyAssociatedLayerPrivileges()}_applyAssociatedLayerFieldsOverrides(){if(!this.associatedLayer?.fields)return;let e=null;for(let t of this.associatedLayer.fields){let n=this.getField(t.name);n?(!n.domain&&t.domain&&(n.domain=t.domain.clone()),n.editable=t.editable,n.nullable=t.nullable,n.length=t.length):(e||=this.fields?this.fields.slice():[],e.push(t.clone()))}e&&this._set(`fields`,e)}_applyAssociatedLayerPropertyOverrides(){if(!this.associatedLayer)return;let e=[`popupTemplate`,`popupEnabled`,`attributeTableTemplate`],t=_(this);for(let n=0;n<e.length;n++){let r=e[n],i=this.originIdOf(r),a=this.associatedLayer.originIdOf(r);i<a&&(a===2||a===3)&&t.setAtOrigin(r,this.associatedLayer[r],a)}}_applyAssociatedLayerExtentOverride(){let e=this.associatedLayer?.getAtOrigin(`fullExtent`,`service`);this.associatedLayer?.infoFor3D!=null&&e&&T(this.associatedLayer?.url)&&K(this)&&_(this).setAtOrigin(`fullExtent`,e.clone(),2)}_applyAssociatedLayerPrivileges(){let e=this.associatedLayer;e&&(this._set(`userHasEditingPrivileges`,e.userHasEditingPrivileges),this._set(`userHasFullEditingPrivileges`,e.userHasFullEditingPrivileges),this._set(`userHasUpdateItemPrivileges`,e.userHasUpdateItemPrivileges))}async _setAssociatedFeatureLayer(e){if([`mesh-pyramids`,`points`].includes(this.profile))try{let{serverUrl:t,layerId:n,portalItem:r}=await ce(`${this.url}/layers/${this.layerId}`,{sceneLayerItem:this.portalItem,customParameters:this.customParameters,apiKey:this.apiKey,signal:e}),i=await he.FeatureLayer();this.associatedLayer=new i({url:t,customParameters:this.customParameters,apiKey:this.apiKey,layerId:n,portalItem:r}),await this.associatedLayer.load()}catch(e){f(e)||this._logWarningOnPopupEnabled().catch(()=>{})}}async _logWarningOnPopupEnabled(){let e=new AbortController;this.addHandles(o(e));try{await m(()=>this.popupEnabled&&this.popupTemplate!=null,e.signal)}catch(e){p(e);return}let t=`this SceneLayer: ${this.title}`;this.attributeStorageInfo==null?s.getLogger(this).warn(`Associated FeatureLayer could not be loaded and no binary attributes found. Popups will not work on ${t}`):s.getLogger(this).info(`Associated FeatureLayer could not be loaded. Falling back to binary attributes for Popups on ${t}`)}_validateElevationInfo(){let e=this.elevationInfo;this.profile===`mesh-pyramids`&&q(s.getLogger(this),Te(`Mesh scene layers`,`relative-to-scene`,e)),q(s.getLogger(this),Ee(`Scene layers`,e))}async fetchStatistics(e,t){return await ye({fieldName:e,statisticsInfo:this.statisticsInfo,errorContext:`scenelayer`,fieldsIndex:this.fieldsIndex,path:this.parsedUrl?.path??``,customParameters:this.customParameters,apiKey:this.apiKey,signal:t?.signal})}async loadTimeInfoFromService(e){let{serviceTimeInfo:t}=this;if(t==null)return;let{startTimeField:n,endTimeField:r}=t;if(n==null&&r==null||K({associatedLayer:this.associatedLayer,serviceUpdateTimeStamp:this.serviceUpdateTimeStamp}))return;let i=async t=>{let r=null;try{r=(await this.fetchStatistics(t,e))?.stats}catch{}if(r==null)return null;let{minTimeStr:i,min:a,maxTimeStr:o,max:s}=r,c=t===n?i??a:o??s;return c==null?null:new Date(c)},[a,o]=await Promise.all([i(n),i(r)]);if(n!=null&&a==null||r!=null&&o==null)return;let s=new J({start:a,end:o});this.setAtOrigin(`timeInfo`,new xe({endField:r,startField:n,fullTimeExtent:s}),`service`)}};e([h({types:{key:`type`,base:null,typeMap:{selection:I}},json:{origins:{"web-scene":{name:`layerDefinition.featureReduction`,write:{allowNull:!0}},"portal-item":{name:`layerDefinition.featureReduction`,write:{allowNull:!0}}}}})],Q.prototype,`featureReduction`,void 0),e([h({type:[_e],json:{read:!1,origins:{"web-scene":{name:`layerDefinition.rangeInfos`,write:!0},"portal-item":{name:`layerDefinition.rangeInfos`,write:!0}}},clonable:!1})],Q.prototype,`rangeInfos`,void 0),e([h({json:{read:!1}})],Q.prototype,`associatedLayer`,void 0),e([h({type:[`show`,`hide`]})],Q.prototype,`listMode`,void 0),e([h({type:[`ArcGISSceneServiceLayer`]})],Q.prototype,`operationalLayerType`,void 0),e([h({json:{read:!1},readOnly:!0})],Q.prototype,`type`,void 0),e([h({...Z.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`fields`,void 0),e([h()],Q.prototype,`types`,null),e([h()],Q.prototype,`typeIdField`,null),e([h()],Q.prototype,`templates`,null),e([h()],Q.prototype,`formTemplate`,null),e([h({readOnly:!0})],Q.prototype,`graphicOrigin`,void 0),e([h({readOnly:!0,clonable:!1})],Q.prototype,`fieldsIndex`,null),e([h({type:me,json:{read:{source:`layerDefinition.floorInfo`},write:{target:`layerDefinition.floorInfo`}}})],Q.prototype,`floorInfo`,void 0),e([h(Z.outFields)],Q.prototype,`outFields`,void 0),e([h({type:H,readOnly:!0,json:{read:!1},clonable:!1})],Q.prototype,`nodePages`,void 0),e([Y(`service`,`nodePages`,[`nodePages`,`pointNodePages`])],Q.prototype,`readNodePages`,null),e([h({type:[U],readOnly:!0,clonable:!1})],Q.prototype,`materialDefinitions`,void 0),e([h({type:[W],readOnly:!0,clonable:!1})],Q.prototype,`textureSetDefinitions`,void 0),e([h({type:[ue],readOnly:!0,clonable:!1})],Q.prototype,`geometryDefinitions`,void 0),e([h({readOnly:!0})],Q.prototype,`serviceUpdateTimeStamp`,void 0),e([h({readOnly:!0})],Q.prototype,`attributeStorageInfo`,void 0),e([h({readOnly:!0})],Q.prototype,`statisticsInfo`,void 0),e([h({type:i.ofType(Number),nonNullable:!0,json:{origins:{service:{read:!1,write:!1}},name:`layerDefinition.excludeObjectIds`,write:{enabled:!0}}})],Q.prototype,`excludeObjectIds`,void 0),e([h({type:String,json:{origins:{service:{read:!1,write:!1}},name:`layerDefinition.definitionExpression`,write:{enabled:!0,allowNull:!0}}})],Q.prototype,`definitionExpression`,void 0),e([h({type:ve,json:{name:`layerDefinition.polygonFilter`,write:{enabled:!0,allowNull:!0},origins:{service:{read:!1,write:!1}}}})],Q.prototype,`filter`,void 0),e([h({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],Q.prototype,`path`,void 0),e([h(E)],Q.prototype,`elevationInfo`,null),e([h({readOnly:!0,json:{read:!1}})],Q.prototype,`effectiveCapabilities`,null),e([h({readOnly:!0})],Q.prototype,`effectiveEditingEnabled`,null),e([h({type:String})],Q.prototype,`geometryType`,null),e([h(D)],Q.prototype,`labelsVisible`,void 0),e([h({type:[pe],json:{origins:{service:{name:`drawingInfo.labelingInfo`,read:{reader:G},write:!1}},name:`layerDefinition.drawingInfo.labelingInfo`,read:{reader:G},write:!0}})],Q.prototype,`labelingInfo`,void 0),e([h(O)],Q.prototype,`legendEnabled`,void 0),e([h({type:Number,json:{origins:{"web-document":{default:1,write:{enabled:!0,target:{opacity:{type:Number},"layerDefinition.drawingInfo.transparency":{type:Number}}},read:{source:[`opacity`,`layerDefinition.drawingInfo.transparency`],reader(e,t){if(typeof e==`number`&&e>=0&&e<=1)return e;let n=t.layerDefinition?.drawingInfo?.transparency;return n===void 0?void 0:Ne(n)}}},"portal-item":{write:!0},service:{read:!1}}}})],Q.prototype,`opacity`,void 0),e([h({type:[`Low`,`High`],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`priority`,void 0),e([h({type:[`Labels`],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`semantic`,void 0),e([h({types:Ce,json:{origins:{service:{read:{source:`drawingInfo.renderer`}}},name:`layerDefinition.drawingInfo.renderer`,write:!0},value:null})],Q.prototype,`renderer`,null),e([h({json:{read:!1}})],Q.prototype,`cachedDrawingInfo`,void 0),e([Y(`service`,`cachedDrawingInfo`)],Q.prototype,`readCachedDrawingInfo`,null),e([h({readOnly:!0,json:{read:!1}})],Q.prototype,`capabilities`,null),e([h({type:Boolean,json:{read:!1}})],Q.prototype,`editingEnabled`,null),e([h({readOnly:!0,json:{write:!1,read:!1}})],Q.prototype,`infoFor3D`,null),e([h({readOnly:!0,json:{write:!1,read:!1}})],Q.prototype,`relationships`,null),e([h(k)],Q.prototype,`popupEnabled`,void 0),e([h({type:n,json:{name:`popupInfo`,write:!0}})],Q.prototype,`popupTemplate`,void 0),e([h({readOnly:!0,json:{read:!1}})],Q.prototype,`defaultPopupTemplate`,null),e([h(A)],Q.prototype,`attributeTableTemplate`,void 0),e([h({type:String,json:{read:!1}})],Q.prototype,`objectIdField`,void 0),e([Y(`service`,`objectIdField`,[`objectIdField`,`fields`])],Q.prototype,`readObjectIdField`,null),e([h({type:String,json:{read:!1}})],Q.prototype,`globalIdField`,void 0),e([Y(`service`,`globalIdField`,[`globalIdField`,`fields`])],Q.prototype,`readGlobalIdField`,null),e([h({readOnly:!0,type:String,json:{read:!1}})],Q.prototype,`displayField`,null),e([h({type:String,json:{read:!1}})],Q.prototype,`profile`,void 0),e([Y(`service`,`profile`,[`store.profile`])],Q.prototype,`readProfile`,null),e([h({readOnly:!0,type:String,json:{origins:{service:{read:{source:`store.normalReferenceFrame`}}},read:!1}})],Q.prototype,`normalReferenceFrame`,void 0),e([h(j)],Q.prototype,`screenSizePerspectiveEnabled`,void 0),e([h({json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`serviceItemId`,void 0),e([h(se)],Q.prototype,`useViewTime`,null),e([h(M({disableServiceOrigin:!0,webDocumentOrigin:`web-scene`}))],Q.prototype,`timeInfo`,null),e([h({type:J,json:{read:!1,write:!1}})],Q.prototype,`timeExtent`,null),e([h({type:ke,json:{read:!1,write:!1}})],Q.prototype,`timeOffset`,null),e([h({type:Boolean,nonNullable:!0,json:{read:!1,write:!1}})],Q.prototype,`datesInUnknownTimezone`,null),e([h({type:be,readOnly:!0,json:{read:{source:`timeInfo`}},clonable:!1})],Q.prototype,`serviceTimeInfo`,void 0),e([h()],Q.prototype,`isUsedAsGroundLayer`,null),Q=e([g(`esri.layers.SceneLayer`)],Q);const $={"mesh-pyramids":`mesh-pyramids`,meshpyramids:`mesh-pyramids`,"features-meshes":`mesh-pyramids`,points:`points`,"features-points":`points`,lines:`lines`,"features-lines":`lines`,polygons:`polygons`,"features-polygons":`polygons`},Pe={"mesh-pyramids":`mesh`,points:`point`},Fe=Q;export{Fe as default};
@@ -107,7 +107,6 @@ export interface SketchLayerProperties extends LayerProperties, PortalLayerPrope
107
107
  * @see [Map](https://developers.arcgis.com/javascript/latest/references/core/Map/)
108
108
  * @see [WebMap](https://developers.arcgis.com/javascript/latest/references/core/WebMap/)
109
109
  * @see [SketchViewModel](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/SketchViewModel/)
110
- * @see [Sample - MapNotesLayer](https://developers.arcgis.com/javascript/latest/sample-code/layers-mapnoteslayer/)
111
110
  */
112
111
  export default class SketchLayer extends SketchLayerSuperclass {
113
112
  constructor(properties?: SketchLayerProperties);
@@ -395,7 +395,7 @@ export default class SubtypeGroupLayer extends SubtypeGroupLayerSuperclass {
395
395
  */
396
396
  applyEdits(edits: Edits, options?: EditOptions): Promise<EditsResult>;
397
397
  /**
398
- * Creates query parameter object that can be used to fetch features from feature-based layers or
398
+ * Creates a query parameter object that can be used to fetch features from feature-based layers or
399
399
  * image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/SubtypeGroupLayer/#definitionExpression).
400
400
  * It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/SubtypeGroupLayer/#capabilities).
401
401
  * It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
@@ -119,11 +119,7 @@ export interface VectorTileLayerProperties extends LayerProperties, APIKeyMixinP
119
119
  *
120
120
  * @default 0
121
121
  * @since 4.31
122
- * @see [refresh()](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/#refresh)
123
- * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/#event-refresh)
124
- * @example
125
- * // the layer will be refreshed every 15 minutes.
126
- * layer.refreshInterval = 15;
122
+ * @see [Sample - GeoJSONLayer with dynamic URL](https://developers.arcgis.com/javascript/latest/sample-code/layers-geojson-refresh/)
127
123
  * @see [RefreshableLayer.refresh()](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refresh)
128
124
  * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#event-refresh)
129
125
  * @example
@@ -541,11 +537,7 @@ export default class VectorTileLayer extends VectorTileLayerSuperclass {
541
537
  *
542
538
  * @default 0
543
539
  * @since 4.31
544
- * @see [refresh()](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/#refresh)
545
- * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/#event-refresh)
546
- * @example
547
- * // the layer will be refreshed every 15 minutes.
548
- * layer.refreshInterval = 15;
540
+ * @see [Sample - GeoJSONLayer with dynamic URL](https://developers.arcgis.com/javascript/latest/sample-code/layers-geojson-refresh/)
549
541
  * @see [RefreshableLayer.refresh()](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refresh)
550
542
  * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#event-refresh)
551
543
  * @example
@@ -748,8 +740,6 @@ export default class VectorTileLayer extends VectorTileLayerSuperclass {
748
740
  * Fetches all the data for the layer. This method does not fetch the layer's style. User must call [loadStyle()](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/#loadStyle) to fetch the style.
749
741
  *
750
742
  * @since 4.31
751
- * @see [refreshInterval](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/#refreshInterval)
752
- * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/#event-refresh)
753
743
  * @see [RefreshableLayer.refreshInterval](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refreshInterval)
754
744
  * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#event-refresh)
755
745
  */
@@ -621,7 +621,7 @@ export default class WFSLayer extends WFSLayerSuperclass {
621
621
  */
622
622
  createPopupTemplate(options?: CreatePopupTemplateOptions): PopupTemplate | null | undefined;
623
623
  /**
624
- * Creates query parameter object that can be used to fetch features from feature-based layers or
624
+ * Creates a query parameter object that can be used to fetch features from feature-based layers or
625
625
  * image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/#definitionExpression).
626
626
  * It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/#capabilities).
627
627
  * It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
@@ -215,7 +215,7 @@ export default class BuildingComponentSublayer extends BuildingComponentSublayer
215
215
  * satisfy the component sublayer's current [definition expression](https://developers.arcgis.com/javascript/latest/references/core/layers/buildingSublayers/BuildingComponentSublayer/#definitionExpression).
216
216
  * The query should only be used on the layer and not on the layer view.
217
217
  *
218
- * @returns The query object representing the layer's
218
+ * @returns The query parameter object representing the layer's
219
219
  * definition expression.
220
220
  * @since 4.17
221
221
  */
@@ -648,7 +648,7 @@ export default class CatalogFootprintLayer extends CatalogFootprintLayerSupercla
648
648
  */
649
649
  createPopupTemplate(options?: CreatePopupTemplateOptions): PopupTemplate | null | undefined;
650
650
  /**
651
- * Creates query parameter object that can be used to fetch features from feature-based layers or
651
+ * Creates a query parameter object that can be used to fetch features from feature-based layers or
652
652
  * image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#definitionExpression).
653
653
  * It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#capabilities).
654
654
  * It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
@@ -549,7 +549,7 @@ export default class KnowledgeGraphSublayer extends KnowledgeGraphSublayerSuperc
549
549
  */
550
550
  createPopupTemplate(options?: CreatePopupTemplateOptions): PopupTemplate | null | undefined;
551
551
  /**
552
- * Creates query parameter object that can be used to fetch features from feature-based layers or
552
+ * Creates a query parameter object that can be used to fetch features from feature-based layers or
553
553
  * image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/knowledgeGraph/KnowledgeGraphSublayer/#definitionExpression).
554
554
  * It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/knowledgeGraph/KnowledgeGraphSublayer/#capabilities).
555
555
  * It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
@@ -836,7 +836,7 @@ export abstract class ArcGISImageService {
836
836
  */
837
837
  computeStatisticsHistograms(parameters: ImageHistogramParameters | ImageHistogramParametersProperties, requestOptions?: RequestOptions): Promise<ImageServiceStatisticsHistogramsResult>;
838
838
  /**
839
- * Creates query parameter object that can be used to fetch features from feature-based layers or
839
+ * Creates a query parameter object that can be used to fetch features from feature-based layers or
840
840
  * image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/ArcGISImageService/#definitionExpression).
841
841
  * It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/ArcGISImageService/#capabilities).
842
842
  * It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../config.js";import{id as n}from"../../kernel.js";import r from"../../request.js";import{result as i}from"../../core/asyncUtils.js";import a from"../../core/Error.js";import{abortHandle as o}from"../../core/handleUtils.js";import s from"../../core/Logger.js";import{destroyMaybe as c}from"../../core/maybe.js";import{throwIfAborted as l,isAbortError as u,throwIfAbortError as d}from"../../core/promiseUtils.js";import{hasSameCanonicalPortal as f,hasSamePortal as p,normalize as m}from"../../core/urlUtils.js";import{property as h,subclass as g}from"../../core/accessorSupport/decorators.js";import{getOwningPortalUrl as _}from"../support/layerUtils.js";import v from"../../portal/Portal.js";import y from"../../portal/PortalItem.js";import b from"../../portal/PortalUser.js";import{getUserPrivileges as x}from"../../portal/support/portalItemUtils.js";import{reader as S}from"../../core/accessorSupport/decorators/reader.js";import{writer as C}from"../../core/accessorSupport/decorators/writer.js";const w=w=>{let E=w,D=class extends E{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){super.destroy(),this.portalItem=c(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}get portalItem(){return this._get(`portalItem`)}set portalItem(e){e!==this._get(`portalItem`)&&(this.removeOrigin(`portal-item`),this._set(`portalItem`,e))}readPortalItem(e,t,n){if(t.itemId)return new y({id:t.itemId,portal:n?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{let{load:n}=await import(`../../portal/support/layersLoader.js`);return l(t),await n({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw u(e)||s.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async reloadFromPortal(e,t){if(!this.loaded||!this.portalItem?.id)return!1;let n=t?.signal?null:new AbortController;try{let{reload:r}=await import(`../../portal/support/layersLoader.js`);return n&&this.addHandles(o(n),`reloadFromPortal`),await r({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t?.signal?t:{signal:n.signal})}catch(e){throw u(e)||s.getLogger(this).warn(`Failed to reload layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}finally{n&&this.removeHandles(`reloadFromPortal`)}}async finishLoadEditablePortalLayer(e){this._set(`userHasEditingPrivileges`,await this._fetchUserHasEditingPrivileges(e).catch(e=>(d(e),!0)))}async setUserPrivileges(e,n){if(!t.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(n);if(this.url)try{let{features:{edit:t,fullEdit:r},content:{updateItem:i}}=await this._fetchUserPrivileges(e,n);this._set(`userHasEditingPrivileges`,t),this._set(`userHasFullEditingPrivileges`,r),this._set(`userHasUpdateItemPrivileges`,i)}catch(e){d(e)}}async _fetchUserPrivileges(e,t){let r=this.portalItem;if(!e||!r||!r.loaded||r.sourceUrl)return this._fetchFallbackUserPrivileges(t);let i=!n?.findCredential(this.url),a=e===r.id;if(a&&r.portal.user)return this._getUserPrivileges(r,i);let o;if(a)o=r.portal.url;else try{o=await _(this.url,t)}catch(e){d(e)}if(!o||!f(o,r.portal.url))return this._fetchFallbackUserPrivileges(t);let s;try{let e=t==null?null:t.signal;s=await n?.getCredential(`${o}/sharing`,{prompt:!1,signal:e})}catch(e){d(e)}if(!s)return{features:{edit:!0,fullEdit:!1},content:{updateItem:!1}};try{if(a?await r.reload():(r=new y({id:e,portal:{url:o}}),await r.load(t)),r.portal.user)return this._getUserPrivileges(r,i)}catch(e){d(e)}return{features:{edit:!0,fullEdit:!1},content:{updateItem:!1}}}_getUserPrivileges(e,t){let n=x(e);return t&&(n.features.edit=!0),n}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){d(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){let t=this.url?n?.findCredential(this.url):null;if(!t)return!0;let r=T.credential===t?T.user:await this._fetchEditingUser(e);return T.credential=t,T.user=r,r?.privileges==null||r.privileges.includes(`features:user:edit`)}async _fetchEditingUser(e){let t=this.portalItem?.portal?.user;if(t)return t;let a=n?.findServerInfo(this.url??``);if(!a?.owningSystemUrl)return null;let o=`${a.owningSystemUrl}/sharing/rest`,s=v.getDefault();if(s&&s.loaded&&m(s.restUrl)===m(o))return s.user;let c=`${o}/community/self`,l=e==null?null:e.signal,u=await i(r(c,{authMode:`no-prompt`,query:{f:`json`},signal:l}));return u.ok?b.fromJSON(u.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){let n=t?.portal,r=this.portalItem?.id&&(this.portalItem.portal||v.getDefault());return n&&r&&!p(r.restUrl,n.restUrl)?(t.messages&&t.messages.push(new a(`layer:cross-portal`,`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return e([h({type:y})],D.prototype,`portalItem`,null),e([S(`web-document`,`portalItem`,[`itemId`])],D.prototype,`readPortalItem`,null),e([C(`web-document`,`portalItem`,{itemId:{type:String}})],D.prototype,`writePortalItem`,null),e([h({clonable:!1})],D.prototype,`resourceReferences`,void 0),e([h({type:Boolean,readOnly:!0})],D.prototype,`userHasEditingPrivileges`,void 0),e([h({type:Boolean,readOnly:!0})],D.prototype,`userHasFullEditingPrivileges`,void 0),e([h({type:Boolean,readOnly:!0})],D.prototype,`userHasUpdateItemPrivileges`,void 0),D=e([g(`esri.layers.mixins.PortalLayer`)],D),D},T={credential:null,user:null};export{w as PortalLayer};
2
+ import{__decorate as e}from"tslib";import t from"../../config.js";import{id as n}from"../../kernel.js";import r from"../../request.js";import{result as i}from"../../core/asyncUtils.js";import a from"../../core/Error.js";import{abortHandle as o}from"../../core/handleUtils.js";import s from"../../core/Logger.js";import{destroyMaybe as c}from"../../core/maybe.js";import{throwIfAborted as l,isAbortError as u,throwIfAbortError as d}from"../../core/promiseUtils.js";import{hasSameCanonicalPortal as f,normalize as p}from"../../core/urlUtils.js";import{property as m,subclass as h}from"../../core/accessorSupport/decorators.js";import{getOwningPortalUrl as g}from"../support/layerUtils.js";import _ from"../../portal/Portal.js";import v from"../../portal/PortalItem.js";import y from"../../portal/PortalUser.js";import{getUserPrivileges as b}from"../../portal/support/portalItemUtils.js";import{isCrossPortalWrite as x}from"../../webdoc/support/saveUtils.js";import{reader as S}from"../../core/accessorSupport/decorators/reader.js";import{writer as C}from"../../core/accessorSupport/decorators/writer.js";const w=w=>{let E=w,D=class extends E{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){super.destroy(),this.portalItem=c(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}get portalItem(){return this._get(`portalItem`)}set portalItem(e){e!==this._get(`portalItem`)&&(this.removeOrigin(`portal-item`),this._set(`portalItem`,e))}readPortalItem(e,t,n){if(t.itemId)return new v({id:t.itemId,portal:n?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{let{load:n}=await import(`../../portal/support/layersLoader.js`);return l(t),await n({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw u(e)||s.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async reloadFromPortal(e,t){if(!this.loaded||!this.portalItem?.id)return!1;let n=t?.signal?null:new AbortController;try{let{reload:r}=await import(`../../portal/support/layersLoader.js`);return n&&this.addHandles(o(n),`reloadFromPortal`),await r({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t?.signal?t:{signal:n.signal})}catch(e){throw u(e)||s.getLogger(this).warn(`Failed to reload layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}finally{n&&this.removeHandles(`reloadFromPortal`)}}async finishLoadEditablePortalLayer(e){this._set(`userHasEditingPrivileges`,await this._fetchUserHasEditingPrivileges(e).catch(e=>(d(e),!0)))}async setUserPrivileges(e,n){if(!t.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(n);if(this.url)try{let{features:{edit:t,fullEdit:r},content:{updateItem:i}}=await this._fetchUserPrivileges(e,n);this._set(`userHasEditingPrivileges`,t),this._set(`userHasFullEditingPrivileges`,r),this._set(`userHasUpdateItemPrivileges`,i)}catch(e){d(e)}}async _fetchUserPrivileges(e,t){let r=this.portalItem;if(!e||!r||!r.loaded||r.sourceUrl)return this._fetchFallbackUserPrivileges(t);let i=!n?.findCredential(this.url),a=e===r.id;if(a&&r.portal.user)return this._getUserPrivileges(r,i);let o;if(a)o=r.portal.url;else try{o=await g(this.url,t)}catch(e){d(e)}if(!o||!f(o,r.portal.url))return this._fetchFallbackUserPrivileges(t);let s;try{let e=t==null?null:t.signal;s=await n?.getCredential(`${o}/sharing`,{prompt:!1,signal:e})}catch(e){d(e)}if(!s)return{features:{edit:!0,fullEdit:!1},content:{updateItem:!1}};try{if(a?await r.reload():(r=new v({id:e,portal:{url:o}}),await r.load(t)),r.portal.user)return this._getUserPrivileges(r,i)}catch(e){d(e)}return{features:{edit:!0,fullEdit:!1},content:{updateItem:!1}}}_getUserPrivileges(e,t){let n=b(e);return t&&(n.features.edit=!0),n}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){d(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){let t=this.url?n?.findCredential(this.url):null;if(!t)return!0;let r=T.credential===t?T.user:await this._fetchEditingUser(e);return T.credential=t,T.user=r,r?.privileges==null||r.privileges.includes(`features:user:edit`)}async _fetchEditingUser(e){let t=this.portalItem?.portal?.user;if(t)return t;let a=n?.findServerInfo(this.url??``);if(!a?.owningSystemUrl)return null;let o=`${a.owningSystemUrl}/sharing/rest`,s=_.getDefault();if(s&&s.loaded&&p(s.restUrl)===p(o))return s.user;let c=`${o}/community/self`,l=e==null?null:e.signal,u=await i(r(c,{authMode:`no-prompt`,query:{f:`json`},signal:l}));return u.ok?y.fromJSON(u.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){return x(this.portalItem,t)?(t?.messages?.push(new a(`layer:cross-portal`,`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(e,{...t,layer:this})}};return e([m({type:v})],D.prototype,`portalItem`,null),e([S(`web-document`,`portalItem`,[`itemId`])],D.prototype,`readPortalItem`,null),e([C(`web-document`,`portalItem`,{itemId:{type:String}})],D.prototype,`writePortalItem`,null),e([m({clonable:!1})],D.prototype,`resourceReferences`,void 0),e([m({type:Boolean,readOnly:!0})],D.prototype,`userHasEditingPrivileges`,void 0),e([m({type:Boolean,readOnly:!0})],D.prototype,`userHasFullEditingPrivileges`,void 0),e([m({type:Boolean,readOnly:!0})],D.prototype,`userHasUpdateItemPrivileges`,void 0),D=e([h(`esri.layers.mixins.PortalLayer`)],D),D},T={credential:null,user:null};export{w as PortalLayer};
@@ -10,7 +10,6 @@ export interface RefreshableLayerEvents {
10
10
  * Fires if the layer has the [refreshInterval](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refreshInterval) set or when [refresh()](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refresh) method is called.
11
11
  * The event payload indicates if the layer's data has changed.
12
12
  *
13
- * @since 4.21
14
13
  * @see [refreshInterval](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refreshInterval)
15
14
  * @see [refresh()](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refresh)
16
15
  * @see [Sample - GeoJSONLayer with dynamic URL](https://developers.arcgis.com/javascript/latest/sample-code/layers-geojson-refresh/)
@@ -76,7 +75,7 @@ export abstract class RefreshableLayer {
76
75
  * Refresh interval of the layer in minutes. Value of `0` indicates no refresh.
77
76
  *
78
77
  * @default 0
79
- * @since 4.6
78
+ * @see [Sample - GeoJSONLayer with dynamic URL](https://developers.arcgis.com/javascript/latest/sample-code/layers-geojson-refresh/)
80
79
  * @see [RefreshableLayer.refresh()](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refresh)
81
80
  * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#event-refresh)
82
81
  * @example
@@ -87,7 +86,6 @@ export abstract class RefreshableLayer {
87
86
  /**
88
87
  * Fetches all the data for the layer.
89
88
  *
90
- * @since 4.6
91
89
  * @see [RefreshableLayer.refreshInterval](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#refreshInterval)
92
90
  * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#event-refresh)
93
91
  */
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../core/accessorSupport/decorators.js";const r=r=>{let a=r,o=class extends a{constructor(){super(...arguments),this.minScale=0,this.maxScale=0}get effectiveScaleRange(){let e={minScale:this.minScale,maxScale:this.maxScale},t=this.parent;t?.effectiveScaleRange!==void 0&&i(e,t.effectiveScaleRange);let n=this._get(`effectiveScaleRange`);return n&&n.minScale===e.minScale&&n.maxScale===e.maxScale?n:e}};return e([t({type:Number,nonNullable:!0,json:{write:!0}})],o.prototype,`minScale`,void 0),e([t({type:Number,nonNullable:!0,json:{write:!0}})],o.prototype,`maxScale`,void 0),e([t({readOnly:!0})],o.prototype,`effectiveScaleRange`,null),o=e([n(`esri.layers.mixins.ScaleRangeLayer`)],o),o};function i(e,t){return e.minScale=e.minScale>0?t.minScale>0?Math.min(e.minScale,t.minScale):e.minScale:t.minScale,e.maxScale=e.maxScale>0?t.maxScale>0?Math.max(e.maxScale,t.maxScale):e.maxScale:t.maxScale,e}export{r as ScaleRangeLayer};
2
+ import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../core/accessorSupport/decorators.js";import{joinScaleRanges as r}from"../../geometry/support/scaleUtils.js";const i=i=>{let a=i,o=class extends a{constructor(){super(...arguments),this.minScale=0,this.maxScale=0}get effectiveScaleRange(){let e={minScale:this.minScale,maxScale:this.maxScale},t=this.parent;t?.effectiveScaleRange!==void 0&&r(e,t.effectiveScaleRange);let n=this._get(`effectiveScaleRange`);return n&&n.minScale===e.minScale&&n.maxScale===e.maxScale?n:e}};return e([t({type:Number,nonNullable:!0,json:{write:!0}})],o.prototype,`minScale`,void 0),e([t({type:Number,nonNullable:!0,json:{write:!0}})],o.prototype,`maxScale`,void 0),e([t({readOnly:!0})],o.prototype,`effectiveScaleRange`,null),o=e([n(`esri.layers.mixins.ScaleRangeLayer`)],o),o};export{i as ScaleRangeLayer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../core/Collection.js";import n from"../../core/CollectionFlattener.js";import r from"../../core/Error.js";import i from"../../core/Logger.js";import{watch as a,sync as o}from"../../core/reactiveUtils.js";import{property as s,subclass as c}from"../../core/accessorSupport/decorators.js";import{nameToId as l,idToName as u}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as d}from"../../core/accessorSupport/utils.js";import f from"../support/Sublayer.js";import{isSublayerOverhaul as p}from"../support/sublayerUtils.js";function m(e,t){let n=[],r={};return e&&e.forEach(e=>{let i=new f;if(i.read(e,t),r[i.id]=i,e.parentLayerId!=null&&e.parentLayerId!==-1){let t=r[e.parentLayerId];t.sublayers||=[],t.sublayers.unshift(i)}else n.unshift(i)}),n}const h=t.ofType(f);function g(e,t){e&&e.forEach(e=>{t(e),e.sublayers&&e.sublayers.length&&g(e.sublayers,t)})}const _=_=>{let v=_,y=class extends v{constructor(...e){super(...e),this.allSublayers=new n({getCollections:()=>[this.sublayers],getChildrenFunction(e){return e.sublayers}}),this.sublayersSourceJSON={2:{},3:{},4:{},5:{},6:{}},this.subtables=null,this.addHandles([a(()=>this.sublayers,(e,t)=>this._handleSublayersChange(e,t),o),a(()=>this.subtables,(e,t)=>this._handleSublayersChange(e,t),o)])}destroy(){this.allSublayers.destroy()}readSublayers(e,t){if(!t||!e)return;let{sublayersSourceJSON:n}=this,r=l(t.origin);if(r<2||(n[r]={context:t,visibleLayers:e.visibleLayers||n[r].visibleLayers,layers:e.layers||n[r].layers},r>2))return;this._set(`serviceSublayers`,this.createSublayersForOrigin(`service`).sublayers);let{sublayers:i,origin:a}=this.createSublayersForOrigin(`web-document`),o=d(this);o.setDefaultOrigin(a),this._set(`sublayers`,new h(i)),o.setDefaultOrigin(`user`)}findSublayerById(e){return this.allSublayers.find(t=>t.id===e)}createServiceSublayers(){return this.createSublayersForOrigin(`service`).sublayers}createSublayersForOrigin(e){let t,n=l(e===`web-document`?`web-map`:e),r=2,i=this.sublayersSourceJSON[2].layers,a=this.sublayersSourceJSON[2].context,o=null,s=[3,4,5].filter(e=>e<=n);for(let e of s){let t=this.sublayersSourceJSON[e];p(t.layers)&&(r=e,i=t.layers,a=t.context,t.visibleLayers&&(o={visibleLayers:t.visibleLayers,context:t.context}))}let c=[3,4,5].filter(e=>e>r&&e<=n),d=null;for(let e of c){let{layers:n,visibleLayers:r,context:i}=this.sublayersSourceJSON[e];n&&(d={layers:n,context:i},t??=e),r&&(o={visibleLayers:r,context:i})}let f=m(i,a),_=new Map,v=new Set;if(d)for(let e of d.layers)_.set(e.id,e);if(o?.visibleLayers)for(let e of o.visibleLayers)v.add(e);return g(f,e=>{d&&e.read(_.get(e.id),d.context),o&&e.read({defaultVisibility:v.has(e.id)},o.context)}),{origin:u(r),originWithPartialOverrides:t?u(t):null,sublayers:new h({items:f})}}read(e,t){super.read(e,t),this.readSublayers(e,t)}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null,e.layer=null}),this.removeHandles(`sublayers-owner`)),e&&(e.forEach(e=>{e.parent=this,e.layer=this}),this.addHandles([e.on(`after-add`,({item:e})=>{e.parent=this,e.layer=this}),e.on(`after-remove`,({item:e})=>{e.parent=null,e.layer=null})],`sublayers-owner`),this.type===`tile`&&this.addHandles(e.on(`before-changes`,e=>{i.getLogger(`esri.layers.TileLayer`).error(new r(`tilelayer:sublayers-non-modifiable`,`Sublayer can't be added, moved, or removed from the layer's sublayers`,{layer:this})),e.preventDefault()}),`sublayers-owner`))}};return e([s({readOnly:!0})],y.prototype,`allSublayers`,void 0),e([s({readOnly:!0,type:t.ofType(f)})],y.prototype,`serviceSublayers`,void 0),e([s({value:null,type:h,json:{read:!1,write:{allowNull:!0,ignoreOrigin:!0}}})],y.prototype,`sublayers`,void 0),e([s({readOnly:!0})],y.prototype,`sublayersSourceJSON`,void 0),e([s({type:h,json:{read:{source:`tables`}}})],y.prototype,`subtables`,void 0),y=e([c(`esri.layers.mixins.SublayersOwner`)],y),y};export{_ as SublayersOwner,g as forEachSublayer};
2
+ import{__decorate as e}from"tslib";import t from"../../core/Collection.js";import n from"../../core/CollectionFlattener.js";import r from"../../core/Error.js";import i from"../../core/Logger.js";import{watch as a,sync as o}from"../../core/reactiveUtils.js";import{property as s,subclass as c}from"../../core/accessorSupport/decorators.js";import{nameToId as l,idToName as u}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as d}from"../../core/accessorSupport/utils.js";import f from"../support/Sublayer.js";import{isSublayerOverhaul as p}from"../support/sublayerUtils.js";function m(e,t){let n=[],r={};return e&&e.forEach(e=>{let i=new f;if(i.read(e,t),r[i.id]=i,e.parentLayerId!=null&&e.parentLayerId!==-1){let t=r[e.parentLayerId];t.sublayers||=[],t.sublayers.unshift(i)}else n.unshift(i)}),n}const h=t.ofType(f);function g(e,t){e&&e.forEach(e=>{t(e),e.sublayers&&e.sublayers.length&&g(e.sublayers,t)})}const _=_=>{let v=_,y=class extends v{constructor(...e){super(...e),this.allSublayers=new n({getCollections:()=>[this.sublayers],getChildrenFunction(e){return e.sublayers}}),this.sublayersSourceJSON={2:{},3:{},4:{},5:{},6:{}},this.subtables=null,this.addHandles([a(()=>this.sublayers,(e,t)=>this._handleSublayersChange(e,t),o),a(()=>this.subtables,(e,t)=>this._handleSublayersChange(e,t),o)])}destroy(){this.allSublayers.destroy()}readSublayers(e,t){if(!t||!e)return;let{sublayersSourceJSON:n}=this,r=l(t.origin);if(r<2||(n[r]={context:t,visibleLayers:e.visibleLayers||n[r].visibleLayers,layers:e.layers||n[r].layers},r>2))return;this._set(`serviceSublayers`,this.createSublayersForOrigin(`service`).sublayers);let{sublayers:i,origin:a}=this.createSublayersForOrigin(`web-document`),o=d(this);o.setDefaultOrigin(a),this._set(`sublayers`,new h(i)),o.setDefaultOrigin(`user`)}findSublayerById(e){return this.allSublayers.find(t=>t.id===e)}createServiceSublayers(){return this.createSublayersForOrigin(`service`).sublayers}createSublayersForOrigin(e){let t,n=l(e===`web-document`?`web-map`:e),r=2,i=this.sublayersSourceJSON[2].layers,a=this.sublayersSourceJSON[2].context,o=null,s=[3,4,5].filter(e=>e<=n);for(let e of s){let t=this.sublayersSourceJSON[e];p(t.layers)&&(r=e,i=t.layers,a=t.context,t.visibleLayers&&(o={visibleLayers:t.visibleLayers,context:t.context}))}let c=[3,4,5].filter(e=>e>r&&e<=n),d=null;for(let e of c){let{layers:n,visibleLayers:r,context:i}=this.sublayersSourceJSON[e];n&&(d={layers:n,context:i},t??=e),r&&(o={visibleLayers:r,context:i})}let f=m(i,a),_=new Map,v=new Set;if(d)for(let e of d.layers)_.set(e.id,e);if(o?.visibleLayers)for(let e of o.visibleLayers)v.add(e);return g(f,e=>{d&&e.read(_.get(e.id),d.context),o&&e.read({defaultVisibility:v.has(e.id)},o.context)}),{origin:u(r),originWithPartialOverrides:t?u(t):null,sublayers:new h({items:f})}}read(e,t){super.read(e,t),this.readSublayers(e,t)}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null,e.layer=null}),this.removeHandles(`sublayers-owner`)),e&&(e.forEach(e=>{e.parent=this,e.layer=this}),this.addHandles([e.on(`after-add`,({item:e})=>{e.parent=this,e.layer=this}),e.on(`after-remove`,({item:e})=>{e.parent=null,e.layer=null})],`sublayers-owner`),this.type===`tile`&&this.addHandles(e.on(`before-changes`,e=>{i.getLogger(`esri.layers.TileLayer`).error(new r(`tilelayer:sublayers-non-modifiable`,`Sublayer can't be added, moved, or removed from the layer's sublayers`,{layer:this})),e.preventDefault()}),`sublayers-owner`))}};return e([s({readOnly:!0})],y.prototype,`allSublayers`,void 0),e([s({readOnly:!0})],y.prototype,`effectiveScaleRange`,void 0),e([s({readOnly:!0,type:t.ofType(f)})],y.prototype,`serviceSublayers`,void 0),e([s({value:null,type:h,json:{read:!1,write:{allowNull:!0,ignoreOrigin:!0}}})],y.prototype,`sublayers`,void 0),e([s({readOnly:!0})],y.prototype,`sublayersSourceJSON`,void 0),e([s({type:h,json:{read:{source:`tables`}}})],y.prototype,`subtables`,void 0),y=e([c(`esri.layers.mixins.SublayersOwner`)],y),y};export{_ as SublayersOwner,g as forEachSublayer};